diff --git a/BUILDING.txt b/BUILDING.txt index 85862fc..81722d3 100644 --- a/BUILDING.txt +++ b/BUILDING.txt @@ -16,11 +16,24 @@ REQUIREMENTS - Python [2.5.1, 2.6.1, 2.7] http://www.python.org/ - - Simplified Wrapper Interface Generator (SWIG) [2.0.12] - http://www.swig.org/ + - Simplified Wrapper Interface Generator (SWIG) + - if you intend to build for Python 2.x: [4.0.1] + - if you intend to build for Python 3.x: [4.0.1, with support for -py3-limited-api] + Hex-Rays cannot guarantee support for IDAPython versions built with other versions of SWIG. + If building for Python 3.x: + You can obtain the correct version of swig like so: + `git clone --branch py3-stable-abi https://github.com/idapython/swig.git swig-py3-stable-abi`, + and then compile it. + + On Windows, please refer to the following instructions: + `http://www.swig.org/Doc4.0/Windows.html#Windows_cygwin_mingw` + On Linux or OSX, + `sh autogen.sh`, then + `configure --prefix=/my/swig-4.0.1-py3-install && make && make install` + - Unix utilities (GNU patch on Windows): http://www.research.att.com/sw/tools/uwin/ or http://unxutils.sourceforge.net/ or @@ -40,7 +53,7 @@ BUILDING Make sure all the needed tools (compiler, swig) are on the PATH. 1. Unpack the IDA SDK into: - '.../idasdk69' + '.../idasdk74' Note: the path you unpack the IDA SDK into cannot contain white spaces, or special characters (such as '(', etc...) @@ -56,41 +69,21 @@ Note: the path you unpack the IDA SDK into cannot contain white spaces, 3. Place the IDAPython sources into the SDK directory, such that the file: - '.../idasdk69/plugins/idapython/BUILDING.txt' exists + '.../idasdk74/plugins/idapython/BUILDING.txt' exists -Note: To build with Hex-Rays decompiler support, you will need to copy - .../ida_install/plugins/hexrays_sdk/include/hexrays.hpp -> .../idasdk69/include/hexrays.hpp - -Note: on Windows, you will also have to - - copy .../idasdk69/lib/x86_win_vc_32 -> .../idasdk69/lib/x86_win_vc_32_opt - - copy .../idasdk69/lib/x86_win_vc_64 -> .../idasdk69/lib/x86_win_vc_64_opt - This is a kludge, which we will solve for the next version + Note: To build with Hex-Rays decompiler support, you will need to copy + .../ida_install/plugins/hexrays_sdk/include/hexrays.hpp -> .../idasdk74/include/hexrays.hpp + Note: If you want to build for Python3 (let's say you are building for Python 3.8), + please set the following environment variables: + - export PYTHON_VERSION_MAJOR=3 ('set PYTHON_VERSION_MAJOR=3' on Windows) + - export PYTHON_VERSION_MAJOR=8 ('set PYTHON_VERSION_MINOR=8 on Windows) 4. Build the plugin - python build.py + python build.py --swig-home /my/swig-4.0.1-py3-install --with-hexrays --idc /path/to/ida74_install/idc/idc.idc - It is possible to build the plugin for different Python versions by - running build.py with the corresponding Python binary. - - Run 'build.py --help' for more information. + You can also run 'build.py --help' for more information. 5. Install the components as described in README.md - - -MISC ----- - -On 64 bits distributions, you may need to compile Python to generate a 32bit -version of the interpreter: - -1. tar xvf Python-2.6.6.tar.bz2 -2. cd Python-2.6.6 -3. CC="gcc -m32" CXX="c++ -m32" ./configure --prefix=/path/to/py32 --enable-shared -4. make -5. make install -6. cd /path/to/py32/lib -7. ln -s libpython2.6.so.1.0 libpython2.6.so.1 -8. PYTHONHOME=/path/to/py32 LD_LIBRARY_PATH=/path/to/py32/lib idaq diff --git a/README_python3.txt b/README_python3.txt new file mode 100644 index 0000000..56ee6af --- /dev/null +++ b/README_python3.txt @@ -0,0 +1,43 @@ + +IDAPython comes in two flavors: + +* IDAPython-for-Python2 +* IDAPython-for-Python3 + +# Switching between Python 2 and Python 3. + +Depending on your choice at the install time, your "plugins" directory will have +one version of plugin installed as idapython.[dll|so|dylib] (and/or idapython64) and +the other will be present with the ".disabled" extension. To switch, just rename the +current version to .disabled and the disabled one back to the .dll/.so/.dylib +(depending on your OS) + +For example, to swith from Python 3 to Python 2 on Windows: + +1. rename idapython.dll to idapython.3.disabled and idapython64.dll to idapython64.3.disabled +2. rename idapython2.disabled to idapython.dll and idapython642.disabled to idapython64.dll + + +# Selecting a Python install to use + +The situation for IDAPython-for-Python2 is simple: it uses Python 2.7, +and will expect that [lib]python2.7.[dll|so|dylib] is present in the system +library path so that IDA can find it. + +When it comes to IDAPython-for-Python3, it gets more complex: because +different users might have different (and possibly multiple) versions +of Python3 installed, IDA comes with a tool called `idapyswitch`, that +can be run to select the desired Python3 runtime to tailor +IDAPython-for-Python3 to. + +If you selected IDAPython-for-Python3 at installation-time, +`idapyswitch` utility should already have been run, and selected +the most appropriate Python3 version. + +Should you want to switch to another Python3 install after installation, +please run `idapyswitch` from IDA's directory. It will scan for Python +installs present in the system's standard locations and offer you to choose one. +It also supports optional command-line switches to handle non-standard installs. +Run `idapyswitch -h` to see them. + + diff --git a/Scripts/FindInstructions.py b/Scripts/FindInstructions.py index 71223ea..51dc175 100644 --- a/Scripts/FindInstructions.py +++ b/Scripts/FindInstructions.py @@ -18,6 +18,7 @@ ALL RIGHTS RESERVED. """ from __future__ import print_function import re +import sys import ida_idaapi import ida_lines @@ -55,7 +56,7 @@ def FindInstructions(instr, asm_where=None): for line in lines: if re_opcode.match(line): # convert from hex string to a character list then join the list to form one string - buf = ''.join([chr(int(x, 16)) for x in line.split()]) + buf = bytes(bytearray([int(x, 16) for x in line.split()])) else: # assemble the instruction ret, buf = idautils.Assemble(asm_where, line) @@ -65,13 +66,13 @@ def FindInstructions(instr, asm_where=None): bufs.append(buf) # join the buffer into one string - buf = ''.join(bufs) + buf = b''.join(bufs) # take total assembled instructions length tlen = len(buf) # convert from binary string to space separated hex string - bin_str = ' '.join(["%02X" % ord(x) for x in buf]) + bin_str = ' '.join(["%02X" % (ord(x) if sys.version_info.major < 3 else x) for x in buf]) # find all binary strings print("Searching for: [%s]" % bin_str) diff --git a/Scripts/ImpRef.py b/Scripts/ImpRef.py index fc70f4f..0838ed0 100644 --- a/Scripts/ImpRef.py +++ b/Scripts/ImpRef.py @@ -23,7 +23,7 @@ def find_imported_funcs(dllname): imports = [] nimps = ida_nalt.get_import_module_qty() - for i in xrange(0, nimps): + for i in range(0, nimps): name = ida_nalt.get_import_module_name(i) if re.match(dllname, name, re.IGNORECASE) is None: continue @@ -37,14 +37,14 @@ def find_import_ref(dllname): imports = find_imported_funcs(dllname) R = dict() for i, (ea, name,_) in enumerate(imports): - #print "%x -> %s" % (ea, name) + #print("%x -> %s" % (ea, name)) for xref in idautils.XrefsTo(ea): # check if referrer is a thunk ea = xref.frm f = ida_funcs.get_func(ea) if f and (f.flags & ida_funcs.FUNC_THUNK) != 0: imports.append([f.start_ea, ida_funcs.get_func_name(f.start_ea), 0]) - #print "\t%x %s: from a thunk, parent added %x" % (ea, name, f.start_ea) + #print("\t%x %s: from a thunk, parent added %x" % (ea, name, f.start_ea)) continue # save results diff --git a/Scripts/ImportExportViewer.py b/Scripts/ImportExportViewer.py index 7baa1c4..df925e4 100644 --- a/Scripts/ImportExportViewer.py +++ b/Scripts/ImportExportViewer.py @@ -26,7 +26,7 @@ class ImpExpForm_t(PluginForm): tree = {} nimps = idaapi.get_import_module_qty() - for i in xrange(0, nimps): + for i in range(0, nimps): name = idaapi.get_import_module_name(i) if not name: continue diff --git a/Scripts/VirusTotal.py b/Scripts/VirusTotal.py index b627412..2177a31 100644 --- a/Scripts/VirusTotal.py +++ b/Scripts/VirusTotal.py @@ -266,7 +266,7 @@ Options: # Compile the form once if not self.Compiled(): _, args = self.Compile() - #print args[0] + #print(args[0]) # Populate the form self.txtApiKey.value = cfg.apikey diff --git a/Scripts/callstack_test.py b/Scripts/callstack_test.py index d9c0245..426a257 100644 --- a/Scripts/callstack_test.py +++ b/Scripts/callstack_test.py @@ -61,7 +61,7 @@ m = int(sys.argv[2]) func_params = {'n': 0, 'n1': 0, 'ident': '', 'pause' : ''} -for i in xrange(1, n + 1): +for i in range(1, n + 1): func_params['n'] = i func_params['n1'] = i+1 func_params['ident'] = " " * i @@ -82,11 +82,10 @@ f = file('src.cpp', 'w') f.write(body) f.close() - __sys(""" if exist src.exe del src.exe bcc32 src if exist src.exe move src.exe src_bcc.exe if exist src.obj del src.obj cl32 src.cpp /Zi /Od -""") \ No newline at end of file +""") diff --git a/api_contents.txt b/api_contents2.txt similarity index 99% rename from api_contents.txt rename to api_contents2.txt index 1e75cd5..d3bf300 100644 --- a/api_contents.txt +++ b/api_contents2.txt @@ -202,6 +202,7 @@ 'IDP_Hooks_ev_get_autocmt', 'IDP_Hooks_ev_get_bg_color', 'IDP_Hooks_ev_get_cc_regs', + 'IDP_Hooks_ev_get_code16_mode', 'IDP_Hooks_ev_get_dbr_opnum', 'IDP_Hooks_ev_get_default_enum_size', 'IDP_Hooks_ev_get_frame_retsize', @@ -255,6 +256,7 @@ 'IDP_Hooks_ev_realcvt', 'IDP_Hooks_ev_rename', 'IDP_Hooks_ev_replaying_undo', + 'IDP_Hooks_ev_set_code16_mode', 'IDP_Hooks_ev_set_idp_options', 'IDP_Hooks_ev_set_proc_options', 'IDP_Hooks_ev_setup_til', @@ -373,11 +375,11 @@ 'action_ctx_base_t_cur_value_set', 'action_ctx_base_t_focus_get', 'action_ctx_base_t_focus_set', + 'action_ctx_base_t_graph_selection_get', + 'action_ctx_base_t_graph_selection_set', 'action_ctx_base_t_has_flag', 'action_ctx_base_t_regname_get', 'action_ctx_base_t_regname_set', - 'action_ctx_base_t_reserved_get', - 'action_ctx_base_t_reserved_set', 'action_ctx_base_t_reset', 'action_ctx_base_t_widget_get', 'action_ctx_base_t_widget_set', @@ -529,6 +531,8 @@ 'argloc_t_is_rrel', 'argloc_t_is_scattered', 'argloc_t_is_stkoff', + 'argloc_t_justify_reg_high', + 'argloc_t_justify_stkoff_right', 'argloc_t_reg1', 'argloc_t_reg2', 'argloc_t_regoff', @@ -1421,6 +1425,23 @@ 'ccases_t___lt__', 'ccases_t___ne__', 'ccases_t_compare', + 'cdg_insn_iterator_t_dslot_get', + 'cdg_insn_iterator_t_dslot_insn_get', + 'cdg_insn_iterator_t_dslot_insn_set', + 'cdg_insn_iterator_t_dslot_set', + 'cdg_insn_iterator_t_dslot_with_xrefs', + 'cdg_insn_iterator_t_ea_get', + 'cdg_insn_iterator_t_ea_set', + 'cdg_insn_iterator_t_end_get', + 'cdg_insn_iterator_t_end_set', + 'cdg_insn_iterator_t_has_dslot', + 'cdg_insn_iterator_t_is_likely_dslot_get', + 'cdg_insn_iterator_t_is_likely_dslot_set', + 'cdg_insn_iterator_t_is_separate_dslot_get', + 'cdg_insn_iterator_t_is_separate_dslot_set', + 'cdg_insn_iterator_t_next', + 'cdg_insn_iterator_t_ok', + 'cdg_insn_iterator_t_start', 'cdo_t___eq__', 'cdo_t___ge__', 'cdo_t___gt__', @@ -1603,6 +1624,7 @@ 'cfunc_t_user_unions_set', 'cfunc_t_verify', 'cfuncptr_t___deref__', + 'cfuncptr_t___ptrval__', 'cfuncptr_t___ref__', 'cfuncptr_t___str__', 'cfuncptr_t_argidx_get', @@ -1743,6 +1765,7 @@ 'choose_get_widget', 'choose_idasgn', 'choose_local_tinfo', + 'choose_local_tinfo_and_delta', 'choose_name', 'choose_named_type', 'choose_refresh', @@ -1962,6 +1985,8 @@ 'codegen_t_gen_micro', 'codegen_t_ignore_micro_get', 'codegen_t_ignore_micro_set', + 'codegen_t_ii_get', + 'codegen_t_ii_set', 'codegen_t_insn_get', 'codegen_t_insn_set', 'codegen_t_load_operand', @@ -2394,6 +2419,7 @@ 'delete_cblock_t', 'delete_ccase_t', 'delete_ccases_t', + 'delete_cdg_insn_iterator_t', 'delete_cdo_t', 'delete_ceinsn_t', 'delete_cexpr_t', @@ -3535,13 +3561,13 @@ 'func_item_iterator_decode_prev_insn', 'func_item_iterator_next', 'func_item_iterator_prev', + 'func_item_iterator_t___next__', 'func_item_iterator_t_chunk', 'func_item_iterator_t_current', 'func_item_iterator_t_decode_preceding_insn', 'func_item_iterator_t_decode_prev_insn', 'func_item_iterator_t_first', 'func_item_iterator_t_last', - 'func_item_iterator_t_next', 'func_item_iterator_t_next_addr', 'func_item_iterator_t_next_code', 'func_item_iterator_t_next_data', @@ -3565,9 +3591,9 @@ 'func_md_diff_handler_t_on_score_changed', 'func_md_diff_handler_t_on_user_stkpnt_changed', 'func_parent_iterator_set', + 'func_parent_iterator_t___next__', 'func_parent_iterator_t_first', 'func_parent_iterator_t_last', - 'func_parent_iterator_t_next', 'func_parent_iterator_t_parent', 'func_parent_iterator_t_prev', 'func_parent_iterator_t_reset_fnt', @@ -3622,11 +3648,11 @@ 'func_t_tails_set', 'func_tail_iterator_set', 'func_tail_iterator_set_ea', + 'func_tail_iterator_t___next__', 'func_tail_iterator_t_chunk', 'func_tail_iterator_t_first', 'func_tail_iterator_t_last', 'func_tail_iterator_t_main', - 'func_tail_iterator_t_next', 'func_tail_iterator_t_prev', 'func_tail_iterator_t_set', 'func_tail_iterator_t_set_ea', @@ -3788,6 +3814,7 @@ 'get_compiler_abbr', 'get_compiler_name', 'get_compilers', + 'get_cp_validity', 'get_ctype_name', 'get_curline', 'get_current_idasgn', @@ -3805,6 +3832,7 @@ 'get_custom_data_types', 'get_custom_refinfo', 'get_custom_viewer_curline', + 'get_custom_viewer_location', 'get_custom_viewer_place', 'get_data_elsize', 'get_data_value', @@ -3855,6 +3883,7 @@ 'get_enum_member_serial', 'get_enum_member_value', 'get_enum_name', + 'get_enum_name2', 'get_enum_qty', 'get_enum_size', 'get_enum_type_ordinal', @@ -4525,6 +4554,7 @@ 'idc_parse_types', 'idc_print_type', 'idc_set_local_type', + 'idc_value_t___get_e', 'idc_value_t__create_empty_string', 'idc_value_t_c_str', 'idc_value_t_clear', @@ -4727,6 +4757,7 @@ 'inf_handle_rtti', 'inf_hide_comments', 'inf_hide_libfuncs', + 'inf_huge_arg_align', 'inf_inc_database_change_count', 'inf_is_32bit', 'inf_is_64bit', @@ -4759,6 +4790,7 @@ 'inf_prefix_show_funcoff', 'inf_prefix_show_segaddr', 'inf_prefix_show_stack', + 'inf_prefix_truncate_opcode_bytes', 'inf_propagate_regargs', 'inf_propagate_stkargs', 'inf_readonly_idb', @@ -4836,6 +4868,7 @@ 'inf_set_hide_comments', 'inf_set_hide_libfuncs', 'inf_set_highoff', + 'inf_set_huge_arg_align', 'inf_set_indent', 'inf_set_kernel_mode', 'inf_set_lenxref', @@ -4876,6 +4909,7 @@ 'inf_set_prefix_show_funcoff', 'inf_set_prefix_show_segaddr', 'inf_set_prefix_show_stack', + 'inf_set_prefix_truncate_opcode_bytes', 'inf_set_privrange', 'inf_set_privrange_end_ea', 'inf_set_privrange_start_ea', @@ -5236,6 +5270,7 @@ 'is_float', 'is_float0', 'is_float1', + 'is_floating_dtype', 'is_flow', 'is_fltnum', 'is_forced_operand', @@ -5503,7 +5538,7 @@ 'loader_input_t_close', 'loader_input_t_file2base', 'loader_input_t_filename', - 'loader_input_t_from_cobject', + 'loader_input_t_from_capsule', 'loader_input_t_from_fp', 'loader_input_t_from_linput', 'loader_input_t_get_char', @@ -5603,12 +5638,11 @@ 'lowertype_helper_t_func_has_stkframe_hole', 'lowertype_helper_t_get_func_purged_bytes', 'lumina_client_t_get_pop', + 'lumina_client_t_is_pattern_id', 'lumina_client_t_pull_md', 'lumina_client_t_pull_md__SWIG_0', 'lumina_client_t_pull_md__SWIG_1', 'lumina_client_t_push_md', - 'lumina_client_t_push_md__SWIG_0', - 'lumina_client_t_push_md__SWIG_1', 'lumina_client_t_set_pattern_id_md5', 'lumina_op_res_vec_t___eq__', 'lumina_op_res_vec_t___getitem__', @@ -5710,6 +5744,7 @@ 'lvar_saved_info_t___ne__', 'lvar_saved_info_t_clear_keep', 'lvar_saved_info_t_clr_forced_lvar', + 'lvar_saved_info_t_clr_nomap_lvar', 'lvar_saved_info_t_clr_noptr_lvar', 'lvar_saved_info_t_cmt_get', 'lvar_saved_info_t_cmt_set', @@ -5718,6 +5753,7 @@ 'lvar_saved_info_t_has_info', 'lvar_saved_info_t_is_forced_lvar', 'lvar_saved_info_t_is_kept', + 'lvar_saved_info_t_is_nomap_lvar', 'lvar_saved_info_t_is_noptr_lvar', 'lvar_saved_info_t_ll_get', 'lvar_saved_info_t_ll_set', @@ -5725,6 +5761,7 @@ 'lvar_saved_info_t_name_set', 'lvar_saved_info_t_set_forced_lvar', 'lvar_saved_info_t_set_keep', + 'lvar_saved_info_t_set_nomap_lvar', 'lvar_saved_info_t_set_noptr_lvar', 'lvar_saved_info_t_size_get', 'lvar_saved_info_t_size_set', @@ -5774,6 +5811,7 @@ 'lvar_t_append_list', 'lvar_t_clear_used', 'lvar_t_clr_arg_var', + 'lvar_t_clr_automapped', 'lvar_t_clr_dummy_arg', 'lvar_t_clr_fake_var', 'lvar_t_clr_floating_var', @@ -5804,6 +5842,7 @@ 'lvar_t_has_user_type', 'lvar_t_is_aliasable', 'lvar_t_is_arg_var', + 'lvar_t_is_automapped', 'lvar_t_is_dummy_arg', 'lvar_t_is_fake_var', 'lvar_t_is_floating_var', @@ -5820,6 +5859,7 @@ 'lvar_t_name_get', 'lvar_t_name_set', 'lvar_t_set_arg_var', + 'lvar_t_set_automapped', 'lvar_t_set_dummy_arg', 'lvar_t_set_fake_var', 'lvar_t_set_final_lvar_type', @@ -5987,7 +6027,6 @@ 'mbl_array_t_graph_insns', 'mbl_array_t_has_bad_sp', 'mbl_array_t_has_over_chains', - 'mbl_array_t_has_overvars', 'mbl_array_t_has_passregs', 'mbl_array_t_idaloc2vd', 'mbl_array_t_idb_node_get', @@ -6260,6 +6299,8 @@ 'mcallinfo_t_dstr', 'mcallinfo_t_flags_get', 'mcallinfo_t_flags_set', + 'mcallinfo_t_fti_attrs_get', + 'mcallinfo_t_fti_attrs_set', 'mcallinfo_t_get_type', 'mcallinfo_t_is_vararg', 'mcallinfo_t_lexcompare', @@ -6479,6 +6520,7 @@ 'minsn_t_is_ignlowsrc', 'minsn_t_is_inverted_jx', 'minsn_t_is_like_move', + 'minsn_t_is_mbarrier', 'minsn_t_is_memcpy', 'minsn_t_is_memset', 'minsn_t_is_mov', @@ -6515,6 +6557,7 @@ 'minsn_t_set_fpinsn', 'minsn_t_set_ignlowsrc', 'minsn_t_set_inverted_jx', + 'minsn_t_set_mbarrier', 'minsn_t_set_multimov', 'minsn_t_set_noret_icall', 'minsn_t_set_optional', @@ -6583,6 +6626,7 @@ 'mnumber_t_update_value', 'mnumber_t_value_get', 'mnumber_t_value_set', + 'modify_user_lvar_info', 'modify_user_lvars', 'modinfo_t_base_get', 'modinfo_t_base_set', @@ -6666,6 +6710,7 @@ 'mop_t_create_from_vdloc', 'mop_t_double_size', 'mop_t_dstr', + 'mop_t_empty', 'mop_t_equal_mops', 'mop_t_erase', 'mop_t_erase_but_keep_size', @@ -6678,6 +6723,7 @@ 'mop_t_get_stkvar', 'mop_t_has_side_effects', 'mop_t_is01', + 'mop_t_is_arglist', 'mop_t_is_bit_reg', 'mop_t_is_bit_reg__SWIG_0', 'mop_t_is_bit_reg__SWIG_1', @@ -7072,6 +7118,9 @@ 'new_cblock_t', 'new_ccase_t', 'new_ccases_t', + 'new_cdg_insn_iterator_t', + 'new_cdg_insn_iterator_t__SWIG_0', + 'new_cdg_insn_iterator_t__SWIG_1', 'new_cdo_t', 'new_ceinsn_t', 'new_cexpr_t', @@ -8097,6 +8146,7 @@ 'place_t_clone', 'place_t_compare', 'place_t_copyfrom', + 'place_t_deserialize', 'place_t_ending', 'place_t_enter', 'place_t_generate', @@ -8109,6 +8159,7 @@ 'place_t_next', 'place_t_prev', 'place_t_rebase', + 'place_t_serialize', 'place_t_toea', 'place_t_touval', 'plan_and_wait', @@ -8214,11 +8265,17 @@ 'print_tinfo', 'print_type', 'print_vdloc', + 'printop_t_aflags_get', + 'printop_t_aflags_set', + 'printop_t_features_get', + 'printop_t_features_set', 'printop_t_flags_get', 'printop_t_flags_set', 'printop_t_get_ti', - 'printop_t_is_ti_valid_get', - 'printop_t_is_ti_valid_set', + 'printop_t_is_aflags_initialized', + 'printop_t_is_ti_initialized', + 'printop_t_set_aflags_initialized', + 'printop_t_set_ti_initialized', 'printop_t_suspop_get', 'printop_t_suspop_set', 'printop_t_ti_get', @@ -8309,15 +8366,9 @@ 'pyg_select_node', 'pyg_show', 'pygc_create_groups', - 'pygc_del_nodes_infos', 'pygc_delete_groups', - 'pygc_get_current_renderer_type', - 'pygc_get_node_info', 'pygc_refresh', - 'pygc_set_current_renderer_type', 'pygc_set_groups_visibility', - 'pygc_set_node_info', - 'pygc_set_nodes_infos', 'pyidag_bind', 'pyidag_unbind', 'pyscv_add_line', @@ -8352,7 +8403,7 @@ 'qfile_t_close', 'qfile_t_filename', 'qfile_t_flush', - 'qfile_t_from_cobject', + 'qfile_t_from_capsule', 'qfile_t_from_fp', 'qfile_t_get_char', 'qfile_t_get_fp', @@ -8419,8 +8470,8 @@ 'qlist_cinsn_t_insert__SWIG_3', 'qlist_cinsn_t_iterator___eq__', 'qlist_cinsn_t_iterator___ne__', + 'qlist_cinsn_t_iterator___next__', 'qlist_cinsn_t_iterator_cur_get', - 'qlist_cinsn_t_iterator_next', 'qlist_cinsn_t_pop_back', 'qlist_cinsn_t_pop_front', 'qlist_cinsn_t_push_back', @@ -9504,7 +9555,6 @@ 'show_auto', 'show_name', 'show_wait_box', - 'show_wait_box__varargs__', 'simd_info_t_match_pattern', 'simd_info_t_memtype_get', 'simd_info_t_memtype_set', @@ -9847,6 +9897,7 @@ 'switch_info_t_regdtype_set', 'switch_info_t_regnum_get', 'switch_info_t_regnum_set', + 'switch_info_t_set_elbase', 'switch_info_t_set_expr', 'switch_info_t_set_jtable_element_size', 'switch_info_t_set_jtable_size', @@ -11131,4 +11182,4 @@ 'xreflist_t_swap', 'xreflist_t_truncate', 'yword_flag', - 'zword_flag']} + 'zword_flag']} \ No newline at end of file diff --git a/api_contents3.txt b/api_contents3.txt new file mode 100644 index 0000000..be68556 --- /dev/null +++ b/api_contents3.txt @@ -0,0 +1,11189 @@ +{'functions': ['AssembleLine', + 'DBG_Hooks_dbg_bpt', + 'DBG_Hooks_dbg_bpt_changed', + 'DBG_Hooks_dbg_exception', + 'DBG_Hooks_dbg_finished_loading_bpts', + 'DBG_Hooks_dbg_information', + 'DBG_Hooks_dbg_library_load', + 'DBG_Hooks_dbg_library_unload', + 'DBG_Hooks_dbg_process_attach', + 'DBG_Hooks_dbg_process_detach', + 'DBG_Hooks_dbg_process_exit', + 'DBG_Hooks_dbg_process_start', + 'DBG_Hooks_dbg_request_error', + 'DBG_Hooks_dbg_run_to', + 'DBG_Hooks_dbg_started_loading_bpts', + 'DBG_Hooks_dbg_step_into', + 'DBG_Hooks_dbg_step_over', + 'DBG_Hooks_dbg_step_until_ret', + 'DBG_Hooks_dbg_suspend_process', + 'DBG_Hooks_dbg_thread_exit', + 'DBG_Hooks_dbg_thread_start', + 'DBG_Hooks_dbg_trace', + 'DBG_Hooks_hook', + 'DBG_Hooks_unhook', + 'Hexrays_Hooks_close_pseudocode', + 'Hexrays_Hooks_cmt_changed', + 'Hexrays_Hooks_combine', + 'Hexrays_Hooks_create_hint', + 'Hexrays_Hooks_curpos', + 'Hexrays_Hooks_double_click', + 'Hexrays_Hooks_flowchart', + 'Hexrays_Hooks_func_printed', + 'Hexrays_Hooks_glbopt', + 'Hexrays_Hooks_hook', + 'Hexrays_Hooks_interr', + 'Hexrays_Hooks_keyboard', + 'Hexrays_Hooks_locopt', + 'Hexrays_Hooks_lvar_cmt_changed', + 'Hexrays_Hooks_lvar_mapping_changed', + 'Hexrays_Hooks_lvar_name_changed', + 'Hexrays_Hooks_lvar_type_changed', + 'Hexrays_Hooks_maturity', + 'Hexrays_Hooks_microcode', + 'Hexrays_Hooks_open_pseudocode', + 'Hexrays_Hooks_populating_popup', + 'Hexrays_Hooks_prealloc', + 'Hexrays_Hooks_preoptimized', + 'Hexrays_Hooks_print_func', + 'Hexrays_Hooks_prolog', + 'Hexrays_Hooks_refresh_pseudocode', + 'Hexrays_Hooks_resolve_stkaddrs', + 'Hexrays_Hooks_right_click', + 'Hexrays_Hooks_stkpnts', + 'Hexrays_Hooks_structural', + 'Hexrays_Hooks_switch_pseudocode', + 'Hexrays_Hooks_text_ready', + 'Hexrays_Hooks_unhook', + 'IDB_Hooks_allsegs_moved', + 'IDB_Hooks_auto_empty', + 'IDB_Hooks_auto_empty_finally', + 'IDB_Hooks_bookmark_changed', + 'IDB_Hooks_byte_patched', + 'IDB_Hooks_callee_addr_changed', + 'IDB_Hooks_changing_cmt', + 'IDB_Hooks_changing_enum_bf', + 'IDB_Hooks_changing_enum_cmt', + 'IDB_Hooks_changing_op_ti', + 'IDB_Hooks_changing_op_type', + 'IDB_Hooks_changing_range_cmt', + 'IDB_Hooks_changing_segm_class', + 'IDB_Hooks_changing_segm_end', + 'IDB_Hooks_changing_segm_name', + 'IDB_Hooks_changing_segm_start', + 'IDB_Hooks_changing_struc_align', + 'IDB_Hooks_changing_struc_cmt', + 'IDB_Hooks_changing_struc_member', + 'IDB_Hooks_changing_ti', + 'IDB_Hooks_closebase', + 'IDB_Hooks_cmt_changed', + 'IDB_Hooks_compiler_changed', + 'IDB_Hooks_deleting_enum', + 'IDB_Hooks_deleting_enum_member', + 'IDB_Hooks_deleting_func', + 'IDB_Hooks_deleting_func_tail', + 'IDB_Hooks_deleting_segm', + 'IDB_Hooks_deleting_struc', + 'IDB_Hooks_deleting_struc_member', + 'IDB_Hooks_deleting_tryblks', + 'IDB_Hooks_destroyed_items', + 'IDB_Hooks_determined_main', + 'IDB_Hooks_enum_bf_changed', + 'IDB_Hooks_enum_cmt_changed', + 'IDB_Hooks_enum_created', + 'IDB_Hooks_enum_deleted', + 'IDB_Hooks_enum_member_created', + 'IDB_Hooks_enum_member_deleted', + 'IDB_Hooks_enum_renamed', + 'IDB_Hooks_expanding_struc', + 'IDB_Hooks_extlang_changed', + 'IDB_Hooks_extra_cmt_changed', + 'IDB_Hooks_flow_chart_created', + 'IDB_Hooks_frame_deleted', + 'IDB_Hooks_func_added', + 'IDB_Hooks_func_noret_changed', + 'IDB_Hooks_func_tail_appended', + 'IDB_Hooks_func_tail_deleted', + 'IDB_Hooks_func_updated', + 'IDB_Hooks_hook', + 'IDB_Hooks_idasgn_loaded', + 'IDB_Hooks_item_color_changed', + 'IDB_Hooks_kernel_config_loaded', + 'IDB_Hooks_loader_finished', + 'IDB_Hooks_local_types_changed', + 'IDB_Hooks_make_code', + 'IDB_Hooks_make_data', + 'IDB_Hooks_op_ti_changed', + 'IDB_Hooks_op_type_changed', + 'IDB_Hooks_range_cmt_changed', + 'IDB_Hooks_renamed', + 'IDB_Hooks_renaming_enum', + 'IDB_Hooks_renaming_struc', + 'IDB_Hooks_renaming_struc_member', + 'IDB_Hooks_savebase', + 'IDB_Hooks_segm_added', + 'IDB_Hooks_segm_attrs_updated', + 'IDB_Hooks_segm_class_changed', + 'IDB_Hooks_segm_deleted', + 'IDB_Hooks_segm_end_changed', + 'IDB_Hooks_segm_moved', + 'IDB_Hooks_segm_name_changed', + 'IDB_Hooks_segm_start_changed', + 'IDB_Hooks_set_func_end', + 'IDB_Hooks_set_func_start', + 'IDB_Hooks_sgr_changed', + 'IDB_Hooks_sgr_deleted', + 'IDB_Hooks_stkpnts_changed', + 'IDB_Hooks_struc_align_changed', + 'IDB_Hooks_struc_cmt_changed', + 'IDB_Hooks_struc_created', + 'IDB_Hooks_struc_deleted', + 'IDB_Hooks_struc_expanded', + 'IDB_Hooks_struc_member_changed', + 'IDB_Hooks_struc_member_created', + 'IDB_Hooks_struc_member_deleted', + 'IDB_Hooks_struc_member_renamed', + 'IDB_Hooks_struc_renamed', + 'IDB_Hooks_tail_owner_changed', + 'IDB_Hooks_thunk_func_created', + 'IDB_Hooks_ti_changed', + 'IDB_Hooks_tryblks_updated', + 'IDB_Hooks_unhook', + 'IDB_Hooks_updating_tryblks', + 'IDB_Hooks_upgraded', + 'IDP_Hooks_ev_add_cref', + 'IDP_Hooks_ev_add_dref', + 'IDP_Hooks_ev_adjust_argloc', + 'IDP_Hooks_ev_adjust_libfunc_ea', + 'IDP_Hooks_ev_adjust_refinfo', + 'IDP_Hooks_ev_ana_insn', + 'IDP_Hooks_ev_analyze_prolog', + 'IDP_Hooks_ev_arg_addrs_ready', + 'IDP_Hooks_ev_assemble', + 'IDP_Hooks_ev_auto_queue_empty', + 'IDP_Hooks_ev_calc_arglocs', + 'IDP_Hooks_ev_calc_cdecl_purged_bytes', + 'IDP_Hooks_ev_calc_next_eas', + 'IDP_Hooks_ev_calc_purged_bytes', + 'IDP_Hooks_ev_calc_retloc', + 'IDP_Hooks_ev_calc_spdelta', + 'IDP_Hooks_ev_calc_step_over', + 'IDP_Hooks_ev_calc_switch_cases', + 'IDP_Hooks_ev_calc_varglocs', + 'IDP_Hooks_ev_calcrel', + 'IDP_Hooks_ev_can_have_type', + 'IDP_Hooks_ev_clean_tbit', + 'IDP_Hooks_ev_cmp_operands', + 'IDP_Hooks_ev_coagulate', + 'IDP_Hooks_ev_coagulate_dref', + 'IDP_Hooks_ev_create_flat_group', + 'IDP_Hooks_ev_create_func_frame', + 'IDP_Hooks_ev_create_switch_xrefs', + 'IDP_Hooks_ev_creating_segm', + 'IDP_Hooks_ev_decorate_name', + 'IDP_Hooks_ev_del_cref', + 'IDP_Hooks_ev_del_dref', + 'IDP_Hooks_ev_delay_slot_insn', + 'IDP_Hooks_ev_demangle_name', + 'IDP_Hooks_ev_emu_insn', + 'IDP_Hooks_ev_endbinary', + 'IDP_Hooks_ev_ending_undo', + 'IDP_Hooks_ev_equal_reglocs', + 'IDP_Hooks_ev_extract_address', + 'IDP_Hooks_ev_find_op_value', + 'IDP_Hooks_ev_find_reg_value', + 'IDP_Hooks_ev_func_bounds', + 'IDP_Hooks_ev_gen_asm_or_lst', + 'IDP_Hooks_ev_gen_map_file', + 'IDP_Hooks_ev_gen_regvar_def', + 'IDP_Hooks_ev_gen_src_file_lnnum', + 'IDP_Hooks_ev_gen_stkvar_def', + 'IDP_Hooks_ev_get_abi_info', + 'IDP_Hooks_ev_get_autocmt', + 'IDP_Hooks_ev_get_bg_color', + 'IDP_Hooks_ev_get_cc_regs', + 'IDP_Hooks_ev_get_code16_mode', + 'IDP_Hooks_ev_get_dbr_opnum', + 'IDP_Hooks_ev_get_default_enum_size', + 'IDP_Hooks_ev_get_frame_retsize', + 'IDP_Hooks_ev_get_macro_insn_head', + 'IDP_Hooks_ev_get_operand_string', + 'IDP_Hooks_ev_get_reg_info', + 'IDP_Hooks_ev_get_reg_name', + 'IDP_Hooks_ev_get_simd_types', + 'IDP_Hooks_ev_get_stkarg_offset', + 'IDP_Hooks_ev_get_stkvar_scale_factor', + 'IDP_Hooks_ev_getreg', + 'IDP_Hooks_ev_init', + 'IDP_Hooks_ev_insn_reads_tbit', + 'IDP_Hooks_ev_is_align_insn', + 'IDP_Hooks_ev_is_alloca_probe', + 'IDP_Hooks_ev_is_basic_block_end', + 'IDP_Hooks_ev_is_call_insn', + 'IDP_Hooks_ev_is_cond_insn', + 'IDP_Hooks_ev_is_far_jump', + 'IDP_Hooks_ev_is_indirect_jump', + 'IDP_Hooks_ev_is_insn_table_jump', + 'IDP_Hooks_ev_is_jump_func', + 'IDP_Hooks_ev_is_ret_insn', + 'IDP_Hooks_ev_is_sane_insn', + 'IDP_Hooks_ev_is_sp_based', + 'IDP_Hooks_ev_is_switch', + 'IDP_Hooks_ev_last_cb_before_loader', + 'IDP_Hooks_ev_loader', + 'IDP_Hooks_ev_lower_func_type', + 'IDP_Hooks_ev_max_ptr_size', + 'IDP_Hooks_ev_may_be_func', + 'IDP_Hooks_ev_may_show_sreg', + 'IDP_Hooks_ev_moving_segm', + 'IDP_Hooks_ev_newasm', + 'IDP_Hooks_ev_newbinary', + 'IDP_Hooks_ev_newfile', + 'IDP_Hooks_ev_newprc', + 'IDP_Hooks_ev_next_exec_insn', + 'IDP_Hooks_ev_oldfile', + 'IDP_Hooks_ev_out_assumes', + 'IDP_Hooks_ev_out_data', + 'IDP_Hooks_ev_out_footer', + 'IDP_Hooks_ev_out_header', + 'IDP_Hooks_ev_out_insn', + 'IDP_Hooks_ev_out_label', + 'IDP_Hooks_ev_out_mnem', + 'IDP_Hooks_ev_out_operand', + 'IDP_Hooks_ev_out_segend', + 'IDP_Hooks_ev_out_segstart', + 'IDP_Hooks_ev_out_special_item', + 'IDP_Hooks_ev_realcvt', + 'IDP_Hooks_ev_rename', + 'IDP_Hooks_ev_replaying_undo', + 'IDP_Hooks_ev_set_code16_mode', + 'IDP_Hooks_ev_set_idp_options', + 'IDP_Hooks_ev_set_proc_options', + 'IDP_Hooks_ev_setup_til', + 'IDP_Hooks_ev_shadow_args_size', + 'IDP_Hooks_ev_str2reg', + 'IDP_Hooks_ev_term', + 'IDP_Hooks_ev_treat_hindering_item', + 'IDP_Hooks_ev_undefine', + 'IDP_Hooks_ev_use_arg_types', + 'IDP_Hooks_ev_use_regarg_type', + 'IDP_Hooks_ev_use_stkarg_type', + 'IDP_Hooks_ev_validate_flirt_func', + 'IDP_Hooks_ev_verify_noreturn', + 'IDP_Hooks_ev_verify_sp', + 'IDP_Hooks_hook', + 'IDP_Hooks_unhook', + 'TPointDouble___eq__', + 'TPointDouble___ne__', + 'TPointDouble_add', + 'TPointDouble_negate', + 'TPointDouble_sub', + 'TPointDouble_x_get', + 'TPointDouble_x_set', + 'TPointDouble_y_get', + 'TPointDouble_y_set', + 'TWidget__from_ptrval__', + 'UI_Hooks_create_desktop_widget', + 'UI_Hooks_current_widget_changed', + 'UI_Hooks_database_inited', + 'UI_Hooks_debugger_menu_change', + 'UI_Hooks_finish_populating_widget_popup', + 'UI_Hooks_get_chooser_item_attrs', + 'UI_Hooks_get_custom_viewer_hint', + 'UI_Hooks_get_ea_hint', + 'UI_Hooks_get_item_hint', + 'UI_Hooks_get_widget_config', + 'UI_Hooks_hook', + 'UI_Hooks_idcstart', + 'UI_Hooks_idcstop', + 'UI_Hooks_plugin_loaded', + 'UI_Hooks_plugin_unloading', + 'UI_Hooks_populating_widget_popup', + 'UI_Hooks_postprocess_action', + 'UI_Hooks_preprocess_action', + 'UI_Hooks_range', + 'UI_Hooks_ready_to_run', + 'UI_Hooks_resume', + 'UI_Hooks_saved', + 'UI_Hooks_saving', + 'UI_Hooks_screen_ea_changed', + 'UI_Hooks_set_widget_config', + 'UI_Hooks_suspend', + 'UI_Hooks_term', + 'UI_Hooks_unhook', + 'UI_Hooks_updated_actions', + 'UI_Hooks_updating_actions', + 'UI_Hooks_widget_closing', + 'UI_Hooks_widget_invisible', + 'UI_Hooks_widget_visible', + 'View_Hooks_hook', + 'View_Hooks_unhook', + 'View_Hooks_view_activated', + 'View_Hooks_view_click', + 'View_Hooks_view_close', + 'View_Hooks_view_created', + 'View_Hooks_view_curpos', + 'View_Hooks_view_dblclick', + 'View_Hooks_view_deactivated', + 'View_Hooks_view_keydown', + 'View_Hooks_view_loc_changed', + 'View_Hooks_view_mouse_moved', + 'View_Hooks_view_mouse_over', + 'View_Hooks_view_switched', + '_ask_addr', + '_ask_addr__varargs__', + '_ask_long', + '_ask_long__varargs__', + '_ask_seg', + '_ask_seg__varargs__', + '_kludge_use_TPopupMenu', + '_ll_call_helper', + '_ll_call_helper__varargs__', + '_ll_create_helper', + '_ll_create_helper__varargs__', + '_ll_dereference', + '_ll_lnot', + '_ll_make_num', + '_ll_make_ref', + '_ll_new_block', + 'accepts_small_udts', + 'accepts_udts', + 'action_ctx_base_t__get_form', + 'action_ctx_base_t__get_form_title', + 'action_ctx_base_t__get_form_type', + 'action_ctx_base_t_action_get', + 'action_ctx_base_t_action_set', + 'action_ctx_base_t_chooser_selection_get', + 'action_ctx_base_t_chooser_selection_set', + 'action_ctx_base_t_cur_ea_get', + 'action_ctx_base_t_cur_ea_set', + 'action_ctx_base_t_cur_enum_get', + 'action_ctx_base_t_cur_enum_set', + 'action_ctx_base_t_cur_fchunk_get', + 'action_ctx_base_t_cur_fchunk_set', + 'action_ctx_base_t_cur_flags_get', + 'action_ctx_base_t_cur_flags_set', + 'action_ctx_base_t_cur_func_get', + 'action_ctx_base_t_cur_func_set', + 'action_ctx_base_t_cur_seg_get', + 'action_ctx_base_t_cur_seg_set', + 'action_ctx_base_t_cur_strmem_get', + 'action_ctx_base_t_cur_strmem_set', + 'action_ctx_base_t_cur_struc_get', + 'action_ctx_base_t_cur_struc_set', + 'action_ctx_base_t_cur_value_get', + 'action_ctx_base_t_cur_value_set', + 'action_ctx_base_t_focus_get', + 'action_ctx_base_t_focus_set', + 'action_ctx_base_t_graph_selection_get', + 'action_ctx_base_t_graph_selection_set', + 'action_ctx_base_t_has_flag', + 'action_ctx_base_t_regname_get', + 'action_ctx_base_t_regname_set', + 'action_ctx_base_t_reset', + 'action_ctx_base_t_widget_get', + 'action_ctx_base_t_widget_set', + 'action_ctx_base_t_widget_title_get', + 'action_ctx_base_t_widget_title_set', + 'action_ctx_base_t_widget_type_get', + 'action_ctx_base_t_widget_type_set', + 'action_desc_t_cb_get', + 'action_desc_t_cb_set', + 'action_desc_t_flags_get', + 'action_desc_t_flags_set', + 'action_desc_t_icon_get', + 'action_desc_t_icon_set', + 'action_desc_t_label_get', + 'action_desc_t_label_set', + 'action_desc_t_name_get', + 'action_desc_t_name_set', + 'action_desc_t_owner_get', + 'action_desc_t_owner_set', + 'action_desc_t_shortcut_get', + 'action_desc_t_shortcut_set', + 'action_desc_t_tooltip_get', + 'action_desc_t_tooltip_set', + 'activate_widget', + 'add_auto_stkpnt', + 'add_bpt', + 'add_bpt__SWIG_0', + 'add_bpt__SWIG_1', + 'add_byte', + 'add_cref', + 'add_dref', + 'add_dword', + 'add_encoding', + 'add_entry', + 'add_enum', + 'add_enum_member', + 'add_extra_cmt', + 'add_extra_cmt__varargs__', + 'add_extra_line', + 'add_extra_line__varargs__', + 'add_frame', + 'add_func', + 'add_func_ex', + 'add_hidden_range', + 'add_hotkey', + 'add_idc_class', + 'add_idc_gvar', + 'add_idc_hotkey', + 'add_mapping', + 'add_path_mapping', + 'add_pgm_cmt', + 'add_pgm_cmt__varargs__', + 'add_qword', + 'add_refinfo_dref', + 'add_regarg', + 'add_regvar', + 'add_segm', + 'add_segm_ex', + 'add_segment_translation', + 'add_sourcefile', + 'add_spaces', + 'add_struc', + 'add_struc_member', + 'add_til', + 'add_tryblk', + 'add_user_stkpnt', + 'add_virt_module', + 'add_word', + 'addon_count', + 'addon_info_t_cb_get', + 'addon_info_t_cb_set', + 'addon_info_t_custom_data_get', + 'addon_info_t_custom_data_set', + 'addon_info_t_custom_size_get', + 'addon_info_t_custom_size_set', + 'addon_info_t_freeform_get', + 'addon_info_t_freeform_set', + 'addon_info_t_id_get', + 'addon_info_t_id_set', + 'addon_info_t_name_get', + 'addon_info_t_name_set', + 'addon_info_t_producer_get', + 'addon_info_t_producer_set', + 'addon_info_t_url_get', + 'addon_info_t_url_set', + 'addon_info_t_version_get', + 'addon_info_t_version_set', + 'align_flag', + 'alloc_type_ordinal', + 'alloc_type_ordinals', + 'allocate_selector', + 'aloc_visitor_t_visit_location', + 'analyzer_options', + 'appcall', + 'append_abi_opts', + 'append_argloc', + 'append_cmt', + 'append_func_tail', + 'append_struct_fields', + 'append_tinfo_covered', + 'apply_callee_tinfo', + 'apply_cdecl', + 'apply_idasgn_to', + 'apply_metadata', + 'apply_named_type', + 'apply_once_tinfo_and_name', + 'apply_startup_sig', + 'apply_tinfo', + 'apply_tinfo_to_stkarg', + 'apply_type', + 'argloc_t___eq__', + 'argloc_t___ge__', + 'argloc_t___gt__', + 'argloc_t___le__', + 'argloc_t___lt__', + 'argloc_t___ne__', + 'argloc_t__consume_rrel', + 'argloc_t__consume_scattered', + 'argloc_t__set_badloc', + 'argloc_t__set_biggest', + 'argloc_t__set_custom', + 'argloc_t__set_ea', + 'argloc_t__set_reg1', + 'argloc_t__set_reg2', + 'argloc_t__set_stkoff', + 'argloc_t_advance', + 'argloc_t_atype', + 'argloc_t_calc_offset', + 'argloc_t_compare', + 'argloc_t_consume_rrel', + 'argloc_t_consume_scattered', + 'argloc_t_get_biggest', + 'argloc_t_get_custom', + 'argloc_t_get_ea', + 'argloc_t_get_reginfo', + 'argloc_t_get_rrel', + 'argloc_t_get_rrel__SWIG_0', + 'argloc_t_get_rrel__SWIG_1', + 'argloc_t_has_reg', + 'argloc_t_has_stkoff', + 'argloc_t_is_badloc', + 'argloc_t_is_custom', + 'argloc_t_is_ea', + 'argloc_t_is_fragmented', + 'argloc_t_is_mixed_scattered', + 'argloc_t_is_reg', + 'argloc_t_is_reg1', + 'argloc_t_is_reg2', + 'argloc_t_is_rrel', + 'argloc_t_is_scattered', + 'argloc_t_is_stkoff', + 'argloc_t_justify_reg_high', + 'argloc_t_justify_stkoff_right', + 'argloc_t_reg1', + 'argloc_t_reg2', + 'argloc_t_regoff', + 'argloc_t_scattered', + 'argloc_t_scattered__SWIG_0', + 'argloc_t_scattered__SWIG_1', + 'argloc_t_set_badloc', + 'argloc_t_set_ea', + 'argloc_t_set_reg1', + 'argloc_t_set_reg2', + 'argloc_t_set_stkoff', + 'argloc_t_stkoff', + 'argloc_t_swap', + 'arglocs_overlap', + 'argpart_t___lt__', + 'argpart_t_bad_offset', + 'argpart_t_bad_size', + 'argpart_t_off_get', + 'argpart_t_off_set', + 'argpart_t_size_get', + 'argpart_t_size_set', + 'argpart_t_swap', + 'argpartvec_t___eq__', + 'argpartvec_t___getitem__', + 'argpartvec_t___len__', + 'argpartvec_t___ne__', + 'argpartvec_t___setitem__', + 'argpartvec_t__del', + 'argpartvec_t_add_unique', + 'argpartvec_t_at', + 'argpartvec_t_begin', + 'argpartvec_t_begin__SWIG_0', + 'argpartvec_t_begin__SWIG_1', + 'argpartvec_t_capacity', + 'argpartvec_t_clear', + 'argpartvec_t_empty', + 'argpartvec_t_end', + 'argpartvec_t_end__SWIG_0', + 'argpartvec_t_end__SWIG_1', + 'argpartvec_t_erase', + 'argpartvec_t_erase__SWIG_0', + 'argpartvec_t_erase__SWIG_1', + 'argpartvec_t_extract', + 'argpartvec_t_find', + 'argpartvec_t_find__SWIG_0', + 'argpartvec_t_find__SWIG_1', + 'argpartvec_t_grow', + 'argpartvec_t_has', + 'argpartvec_t_inject', + 'argpartvec_t_insert', + 'argpartvec_t_pop_back', + 'argpartvec_t_push_back', + 'argpartvec_t_push_back__SWIG_0', + 'argpartvec_t_push_back__SWIG_1', + 'argpartvec_t_qclear', + 'argpartvec_t_reserve', + 'argpartvec_t_resize', + 'argpartvec_t_resize__SWIG_0', + 'argpartvec_t_resize__SWIG_1', + 'argpartvec_t_size', + 'argpartvec_t_swap', + 'argpartvec_t_truncate', + 'array_of_bitsets___eq__', + 'array_of_bitsets___getitem__', + 'array_of_bitsets___len__', + 'array_of_bitsets___ne__', + 'array_of_bitsets___setitem__', + 'array_of_bitsets__del', + 'array_of_bitsets_add_unique', + 'array_of_bitsets_at', + 'array_of_bitsets_begin', + 'array_of_bitsets_begin__SWIG_0', + 'array_of_bitsets_begin__SWIG_1', + 'array_of_bitsets_capacity', + 'array_of_bitsets_clear', + 'array_of_bitsets_empty', + 'array_of_bitsets_end', + 'array_of_bitsets_end__SWIG_0', + 'array_of_bitsets_end__SWIG_1', + 'array_of_bitsets_erase', + 'array_of_bitsets_erase__SWIG_0', + 'array_of_bitsets_erase__SWIG_1', + 'array_of_bitsets_extract', + 'array_of_bitsets_find', + 'array_of_bitsets_find__SWIG_0', + 'array_of_bitsets_find__SWIG_1', + 'array_of_bitsets_grow', + 'array_of_bitsets_has', + 'array_of_bitsets_inject', + 'array_of_bitsets_insert', + 'array_of_bitsets_pop_back', + 'array_of_bitsets_push_back', + 'array_of_bitsets_push_back__SWIG_0', + 'array_of_bitsets_push_back__SWIG_1', + 'array_of_bitsets_qclear', + 'array_of_bitsets_reserve', + 'array_of_bitsets_resize', + 'array_of_bitsets_resize__SWIG_0', + 'array_of_bitsets_resize__SWIG_1', + 'array_of_bitsets_size', + 'array_of_bitsets_swap', + 'array_of_bitsets_truncate', + 'array_of_ivlsets___eq__', + 'array_of_ivlsets___getitem__', + 'array_of_ivlsets___len__', + 'array_of_ivlsets___ne__', + 'array_of_ivlsets___setitem__', + 'array_of_ivlsets__del', + 'array_of_ivlsets_add_unique', + 'array_of_ivlsets_at', + 'array_of_ivlsets_begin', + 'array_of_ivlsets_begin__SWIG_0', + 'array_of_ivlsets_begin__SWIG_1', + 'array_of_ivlsets_capacity', + 'array_of_ivlsets_clear', + 'array_of_ivlsets_empty', + 'array_of_ivlsets_end', + 'array_of_ivlsets_end__SWIG_0', + 'array_of_ivlsets_end__SWIG_1', + 'array_of_ivlsets_erase', + 'array_of_ivlsets_erase__SWIG_0', + 'array_of_ivlsets_erase__SWIG_1', + 'array_of_ivlsets_extract', + 'array_of_ivlsets_find', + 'array_of_ivlsets_find__SWIG_0', + 'array_of_ivlsets_find__SWIG_1', + 'array_of_ivlsets_grow', + 'array_of_ivlsets_has', + 'array_of_ivlsets_inject', + 'array_of_ivlsets_insert', + 'array_of_ivlsets_pop_back', + 'array_of_ivlsets_push_back', + 'array_of_ivlsets_push_back__SWIG_0', + 'array_of_ivlsets_push_back__SWIG_1', + 'array_of_ivlsets_qclear', + 'array_of_ivlsets_reserve', + 'array_of_ivlsets_resize', + 'array_of_ivlsets_resize__SWIG_0', + 'array_of_ivlsets_resize__SWIG_1', + 'array_of_ivlsets_size', + 'array_of_ivlsets_swap', + 'array_of_ivlsets_truncate', + 'array_of_rangesets___eq__', + 'array_of_rangesets___getitem__', + 'array_of_rangesets___len__', + 'array_of_rangesets___ne__', + 'array_of_rangesets___setitem__', + 'array_of_rangesets__del', + 'array_of_rangesets_add_unique', + 'array_of_rangesets_at', + 'array_of_rangesets_begin', + 'array_of_rangesets_begin__SWIG_0', + 'array_of_rangesets_begin__SWIG_1', + 'array_of_rangesets_capacity', + 'array_of_rangesets_clear', + 'array_of_rangesets_empty', + 'array_of_rangesets_end', + 'array_of_rangesets_end__SWIG_0', + 'array_of_rangesets_end__SWIG_1', + 'array_of_rangesets_erase', + 'array_of_rangesets_erase__SWIG_0', + 'array_of_rangesets_erase__SWIG_1', + 'array_of_rangesets_extract', + 'array_of_rangesets_find', + 'array_of_rangesets_find__SWIG_0', + 'array_of_rangesets_find__SWIG_1', + 'array_of_rangesets_grow', + 'array_of_rangesets_has', + 'array_of_rangesets_inject', + 'array_of_rangesets_insert', + 'array_of_rangesets_pop_back', + 'array_of_rangesets_push_back', + 'array_of_rangesets_push_back__SWIG_0', + 'array_of_rangesets_push_back__SWIG_1', + 'array_of_rangesets_qclear', + 'array_of_rangesets_reserve', + 'array_of_rangesets_resize', + 'array_of_rangesets_resize__SWIG_0', + 'array_of_rangesets_resize__SWIG_1', + 'array_of_rangesets_size', + 'array_of_rangesets_swap', + 'array_of_rangesets_truncate', + 'array_parameters_t_alignment_get', + 'array_parameters_t_alignment_set', + 'array_parameters_t_flags_get', + 'array_parameters_t_flags_set', + 'array_parameters_t_lineitems_get', + 'array_parameters_t_lineitems_set', + 'array_type_data_t_base_get', + 'array_type_data_t_base_set', + 'array_type_data_t_elem_type_get', + 'array_type_data_t_elem_type_set', + 'array_type_data_t_nelems_get', + 'array_type_data_t_nelems_set', + 'array_type_data_t_swap', + 'asgop', + 'asgop_revert', + 'ask_buttons', + 'ask_buttons__varargs__', + 'ask_file', + 'ask_file__varargs__', + 'ask_for_feedback', + 'ask_for_feedback__varargs__', + 'ask_str', + 'ask_text', + 'ask_yn', + 'ask_yn__varargs__', + 'asm_t_a_align_get', + 'asm_t_a_align_set', + 'asm_t_a_ascii_get', + 'asm_t_a_ascii_set', + 'asm_t_a_band_get', + 'asm_t_a_band_set', + 'asm_t_a_bnot_get', + 'asm_t_a_bnot_set', + 'asm_t_a_bor_get', + 'asm_t_a_bor_set', + 'asm_t_a_bss_get', + 'asm_t_a_bss_set', + 'asm_t_a_byte_get', + 'asm_t_a_byte_set', + 'asm_t_a_comdef_get', + 'asm_t_a_comdef_set', + 'asm_t_a_curip_get', + 'asm_t_a_curip_set', + 'asm_t_a_double_get', + 'asm_t_a_double_set', + 'asm_t_a_dups_get', + 'asm_t_a_dups_set', + 'asm_t_a_dword_get', + 'asm_t_a_dword_set', + 'asm_t_a_equ_get', + 'asm_t_a_equ_set', + 'asm_t_a_extrn_get', + 'asm_t_a_extrn_set', + 'asm_t_a_float_get', + 'asm_t_a_float_set', + 'asm_t_a_include_fmt_get', + 'asm_t_a_include_fmt_set', + 'asm_t_a_mod_get', + 'asm_t_a_mod_set', + 'asm_t_a_oword_get', + 'asm_t_a_oword_set', + 'asm_t_a_packreal_get', + 'asm_t_a_packreal_set', + 'asm_t_a_public_get', + 'asm_t_a_public_set', + 'asm_t_a_qword_get', + 'asm_t_a_qword_set', + 'asm_t_a_rva_get', + 'asm_t_a_rva_set', + 'asm_t_a_seg_get', + 'asm_t_a_seg_set', + 'asm_t_a_shl_get', + 'asm_t_a_shl_set', + 'asm_t_a_shr_get', + 'asm_t_a_shr_set', + 'asm_t_a_sizeof_fmt_get', + 'asm_t_a_sizeof_fmt_set', + 'asm_t_a_tbyte_get', + 'asm_t_a_tbyte_set', + 'asm_t_a_vstruc_fmt_get', + 'asm_t_a_vstruc_fmt_set', + 'asm_t_a_weak_get', + 'asm_t_a_weak_set', + 'asm_t_a_word_get', + 'asm_t_a_word_set', + 'asm_t_a_xor_get', + 'asm_t_a_xor_set', + 'asm_t_a_yword_get', + 'asm_t_a_yword_set', + 'asm_t_accsep_get', + 'asm_t_accsep_set', + 'asm_t_ascsep_get', + 'asm_t_ascsep_set', + 'asm_t_cmnt2_get', + 'asm_t_cmnt2_set', + 'asm_t_cmnt_get', + 'asm_t_cmnt_set', + 'asm_t_end_get', + 'asm_t_end_set', + 'asm_t_esccodes_get', + 'asm_t_esccodes_set', + 'asm_t_flag2_get', + 'asm_t_flag2_set', + 'asm_t_flag_get', + 'asm_t_flag_set', + 'asm_t_header_get', + 'asm_t_header_set', + 'asm_t_help_get', + 'asm_t_help_set', + 'asm_t_high16_get', + 'asm_t_high16_set', + 'asm_t_high8_get', + 'asm_t_high8_set', + 'asm_t_lbrace_get', + 'asm_t_lbrace_set', + 'asm_t_low16_get', + 'asm_t_low16_set', + 'asm_t_low8_get', + 'asm_t_low8_set', + 'asm_t_name_get', + 'asm_t_name_set', + 'asm_t_origin_get', + 'asm_t_origin_set', + 'asm_t_rbrace_get', + 'asm_t_rbrace_set', + 'asm_t_uflag_get', + 'asm_t_uflag_set', + 'assemble', + 'attach_action_to_menu', + 'attach_action_to_popup', + 'attach_action_to_toolbar', + 'attach_custom_data_format', + 'attach_dynamic_action_to_popup', + 'attach_process', + 'auto_apply_tail', + 'auto_apply_type', + 'auto_cancel', + 'auto_display_t_ea_get', + 'auto_display_t_ea_set', + 'auto_display_t_state_get', + 'auto_display_t_state_set', + 'auto_display_t_type_get', + 'auto_display_t_type_set', + 'auto_get', + 'auto_is_ok', + 'auto_make_code', + 'auto_make_proc', + 'auto_mark', + 'auto_mark_range', + 'auto_recreate_insn', + 'auto_unmark', + 'auto_wait', + 'auto_wait_range', + 'backup_metadata', + 'banner', + 'base2file', + 'beep', + 'begin_type_updating', + 'bgcolors_t_epilog_color_get', + 'bgcolors_t_epilog_color_set', + 'bgcolors_t_prolog_color_get', + 'bgcolors_t_prolog_color_set', + 'bgcolors_t_switch_color_get', + 'bgcolors_t_switch_color_set', + 'bin_flag', + 'bin_search', + 'bit_bound_t_nbits_get', + 'bit_bound_t_nbits_set', + 'bit_bound_t_sbits_get', + 'bit_bound_t_sbits_set', + 'bitfield_type_data_t___eq__', + 'bitfield_type_data_t___ge__', + 'bitfield_type_data_t___gt__', + 'bitfield_type_data_t___le__', + 'bitfield_type_data_t___lt__', + 'bitfield_type_data_t___ne__', + 'bitfield_type_data_t_compare', + 'bitfield_type_data_t_is_unsigned_get', + 'bitfield_type_data_t_is_unsigned_set', + 'bitfield_type_data_t_nbytes_get', + 'bitfield_type_data_t_nbytes_set', + 'bitfield_type_data_t_swap', + 'bitfield_type_data_t_width_get', + 'bitfield_type_data_t_width_set', + 'bitset_t___eq__', + 'bitset_t___ge__', + 'bitset_t___gt__', + 'bitset_t___le__', + 'bitset_t___lt__', + 'bitset_t___ne__', + 'bitset_t_add', + 'bitset_t_add__SWIG_0', + 'bitset_t_add__SWIG_1', + 'bitset_t_add__SWIG_2', + 'bitset_t_back', + 'bitset_t_begin', + 'bitset_t_clear', + 'bitset_t_compare', + 'bitset_t_copy', + 'bitset_t_count', + 'bitset_t_count__SWIG_0', + 'bitset_t_count__SWIG_1', + 'bitset_t_cut_at', + 'bitset_t_dstr', + 'bitset_t_empty', + 'bitset_t_end', + 'bitset_t_fill_with_ones', + 'bitset_t_front', + 'bitset_t_has', + 'bitset_t_has_all', + 'bitset_t_has_any', + 'bitset_t_has_common', + 'bitset_t_inc', + 'bitset_t_includes', + 'bitset_t_intersect', + 'bitset_t_is_subset_of', + 'bitset_t_itat', + 'bitset_t_itv', + 'bitset_t_last', + 'bitset_t_shift_down', + 'bitset_t_sub', + 'bitset_t_sub__SWIG_0', + 'bitset_t_sub__SWIG_1', + 'bitset_t_sub__SWIG_2', + 'bitset_t_swap', + 'block_chains_begin', + 'block_chains_clear', + 'block_chains_end', + 'block_chains_erase', + 'block_chains_find', + 'block_chains_free', + 'block_chains_get', + 'block_chains_insert', + 'block_chains_iterator_t___eq__', + 'block_chains_iterator_t___ne__', + 'block_chains_iterator_t_x_get', + 'block_chains_iterator_t_x_set', + 'block_chains_new', + 'block_chains_next', + 'block_chains_prev', + 'block_chains_size', + 'block_chains_t__print', + 'block_chains_t_dstr', + 'block_chains_t_get_chain', + 'block_chains_t_get_chain__SWIG_0', + 'block_chains_t_get_chain__SWIG_1', + 'block_chains_t_get_chain__SWIG_2', + 'block_chains_t_get_chain__SWIG_3', + 'block_chains_t_get_reg_chain', + 'block_chains_t_get_reg_chain__SWIG_0', + 'block_chains_t_get_reg_chain__SWIG_1', + 'block_chains_t_get_stk_chain', + 'block_chains_t_get_stk_chain__SWIG_0', + 'block_chains_t_get_stk_chain__SWIG_1', + 'block_chains_vec_t___getitem__', + 'block_chains_vec_t___len__', + 'block_chains_vec_t___setitem__', + 'block_chains_vec_t_at', + 'block_chains_vec_t_begin', + 'block_chains_vec_t_begin__SWIG_0', + 'block_chains_vec_t_begin__SWIG_1', + 'block_chains_vec_t_capacity', + 'block_chains_vec_t_clear', + 'block_chains_vec_t_empty', + 'block_chains_vec_t_end', + 'block_chains_vec_t_end__SWIG_0', + 'block_chains_vec_t_end__SWIG_1', + 'block_chains_vec_t_erase', + 'block_chains_vec_t_erase__SWIG_0', + 'block_chains_vec_t_erase__SWIG_1', + 'block_chains_vec_t_extract', + 'block_chains_vec_t_grow', + 'block_chains_vec_t_inject', + 'block_chains_vec_t_insert', + 'block_chains_vec_t_pop_back', + 'block_chains_vec_t_push_back', + 'block_chains_vec_t_push_back__SWIG_0', + 'block_chains_vec_t_push_back__SWIG_1', + 'block_chains_vec_t_qclear', + 'block_chains_vec_t_reserve', + 'block_chains_vec_t_resize', + 'block_chains_vec_t_resize__SWIG_0', + 'block_chains_vec_t_resize__SWIG_1', + 'block_chains_vec_t_size', + 'block_chains_vec_t_swap', + 'block_chains_vec_t_truncate', + 'bookmarks_t_erase', + 'bookmarks_t_find_index', + 'bookmarks_t_get', + 'bookmarks_t_get_desc', + 'bookmarks_t_mark', + 'bookmarks_t_size', + 'boolvec_t___eq__', + 'boolvec_t___getitem__', + 'boolvec_t___len__', + 'boolvec_t___ne__', + 'boolvec_t___setitem__', + 'boolvec_t__del', + 'boolvec_t_add_unique', + 'boolvec_t_at', + 'boolvec_t_begin', + 'boolvec_t_begin__SWIG_0', + 'boolvec_t_begin__SWIG_1', + 'boolvec_t_capacity', + 'boolvec_t_clear', + 'boolvec_t_empty', + 'boolvec_t_end', + 'boolvec_t_end__SWIG_0', + 'boolvec_t_end__SWIG_1', + 'boolvec_t_erase', + 'boolvec_t_erase__SWIG_0', + 'boolvec_t_erase__SWIG_1', + 'boolvec_t_extract', + 'boolvec_t_find', + 'boolvec_t_find__SWIG_0', + 'boolvec_t_find__SWIG_1', + 'boolvec_t_grow', + 'boolvec_t_has', + 'boolvec_t_inject', + 'boolvec_t_insert', + 'boolvec_t_pop_back', + 'boolvec_t_push_back', + 'boolvec_t_push_back__SWIG_0', + 'boolvec_t_push_back__SWIG_1', + 'boolvec_t_qclear', + 'boolvec_t_reserve', + 'boolvec_t_resize', + 'boolvec_t_resize__SWIG_0', + 'boolvec_t_resize__SWIG_1', + 'boolvec_t_size', + 'boolvec_t_swap', + 'boolvec_t_truncate', + 'boundaries_begin', + 'boundaries_clear', + 'boundaries_end', + 'boundaries_erase', + 'boundaries_find', + 'boundaries_first', + 'boundaries_free', + 'boundaries_insert', + 'boundaries_iterator_t___eq__', + 'boundaries_iterator_t___ne__', + 'boundaries_iterator_t_x_get', + 'boundaries_iterator_t_x_set', + 'boundaries_new', + 'boundaries_next', + 'boundaries_prev', + 'boundaries_second', + 'boundaries_size', + 'boundaries_t_at', + 'boundaries_t_size', + 'bpt_location_t___eq__', + 'bpt_location_t___ge__', + 'bpt_location_t___gt__', + 'bpt_location_t___le__', + 'bpt_location_t___lt__', + 'bpt_location_t___ne__', + 'bpt_location_t_compare', + 'bpt_location_t_ea', + 'bpt_location_t_index_get', + 'bpt_location_t_index_set', + 'bpt_location_t_info_get', + 'bpt_location_t_info_set', + 'bpt_location_t_is_empty_path', + 'bpt_location_t_lineno', + 'bpt_location_t_loctype_get', + 'bpt_location_t_loctype_set', + 'bpt_location_t_offset', + 'bpt_location_t_path', + 'bpt_location_t_set_abs_bpt', + 'bpt_location_t_set_rel_bpt', + 'bpt_location_t_set_src_bpt', + 'bpt_location_t_set_sym_bpt', + 'bpt_location_t_symbol', + 'bpt_location_t_type', + 'bpt_t_badbpt', + 'bpt_t_cb_get', + 'bpt_t_cb_set', + 'bpt_t_cndidx_get', + 'bpt_t_cndidx_set', + 'bpt_t_condition_get', + 'bpt_t_condition_set', + 'bpt_t_ea_get', + 'bpt_t_ea_set', + 'bpt_t_elang_get', + 'bpt_t_elang_set', + 'bpt_t_enabled', + 'bpt_t_flags_get', + 'bpt_t_flags_set', + 'bpt_t_get_cnd_elang_idx', + 'bpt_t_get_size', + 'bpt_t_is_absbpt', + 'bpt_t_is_active', + 'bpt_t_is_compiled', + 'bpt_t_is_hwbpt', + 'bpt_t_is_inactive', + 'bpt_t_is_low_level', + 'bpt_t_is_page_bpt', + 'bpt_t_is_partially_active', + 'bpt_t_is_relbpt', + 'bpt_t_is_srcbpt', + 'bpt_t_is_symbpt', + 'bpt_t_is_tracemodebpt', + 'bpt_t_is_traceoffbpt', + 'bpt_t_is_traceonbpt', + 'bpt_t_listbpt', + 'bpt_t_loc_get', + 'bpt_t_loc_set', + 'bpt_t_pass_count_get', + 'bpt_t_pass_count_set', + 'bpt_t_pid_get', + 'bpt_t_pid_set', + 'bpt_t_props_get', + 'bpt_t_props_set', + 'bpt_t_set_abs_bpt', + 'bpt_t_set_rel_bpt', + 'bpt_t_set_src_bpt', + 'bpt_t_set_sym_bpt', + 'bpt_t_set_trace_action', + 'bpt_t_size_get', + 'bpt_t_size_set', + 'bpt_t_tid_get', + 'bpt_t_tid_set', + 'bpt_t_type_get', + 'bpt_t_type_set', + 'bpt_vec_t___getitem__', + 'bpt_vec_t___len__', + 'bpt_vec_t___setitem__', + 'bpt_vec_t_at', + 'bpt_vec_t_begin', + 'bpt_vec_t_begin__SWIG_0', + 'bpt_vec_t_begin__SWIG_1', + 'bpt_vec_t_capacity', + 'bpt_vec_t_clear', + 'bpt_vec_t_empty', + 'bpt_vec_t_end', + 'bpt_vec_t_end__SWIG_0', + 'bpt_vec_t_end__SWIG_1', + 'bpt_vec_t_erase', + 'bpt_vec_t_erase__SWIG_0', + 'bpt_vec_t_erase__SWIG_1', + 'bpt_vec_t_extract', + 'bpt_vec_t_grow', + 'bpt_vec_t_inject', + 'bpt_vec_t_insert', + 'bpt_vec_t_pop_back', + 'bpt_vec_t_push_back', + 'bpt_vec_t_push_back__SWIG_0', + 'bpt_vec_t_push_back__SWIG_1', + 'bpt_vec_t_qclear', + 'bpt_vec_t_reserve', + 'bpt_vec_t_resize', + 'bpt_vec_t_resize__SWIG_0', + 'bpt_vec_t_resize__SWIG_1', + 'bpt_vec_t_size', + 'bpt_vec_t_swap', + 'bpt_vec_t_truncate', + 'bptaddr_t_hea_get', + 'bptaddr_t_hea_set', + 'bptaddr_t_kea_get', + 'bptaddr_t_kea_set', + 'bring_debugger_to_front', + 'build_snapshot_tree', + 'build_stkvar_name', + 'build_stkvar_xrefs', + 'build_strlist', + 'byte_flag', + 'bytesize', + 'calc_basevalue', + 'calc_bg_color', + 'calc_c_cpp_name', + 'calc_dataseg', + 'calc_def_align', + 'calc_default_idaplace_flags', + 'calc_dflags', + 'calc_dist', + 'calc_fixup_size', + 'calc_func_metadata', + 'calc_func_size', + 'calc_idasgn_state', + 'calc_max_align', + 'calc_max_item_end', + 'calc_min_align', + 'calc_number_of_children', + 'calc_offset_base', + 'calc_prefix_color', + 'calc_probable_base_by_value', + 'calc_reference_data', + 'calc_stkvar_struc_offset', + 'calc_switch_cases', + 'calc_target', + 'calc_target__SWIG_0', + 'calc_target__SWIG_1', + 'calc_thunk_func_target', + 'calc_tinfo_gaps', + 'calc_type_size', + 'call_nav_colorizer', + 'call_stack_info_t___eq__', + 'call_stack_info_t___ne__', + 'call_stack_info_t_callea_get', + 'call_stack_info_t_callea_set', + 'call_stack_info_t_fp_get', + 'call_stack_info_t_fp_set', + 'call_stack_info_t_funcea_get', + 'call_stack_info_t_funcea_set', + 'call_stack_info_t_funcok_get', + 'call_stack_info_t_funcok_set', + 'call_stack_t___eq__', + 'call_stack_t___getitem__', + 'call_stack_t___len__', + 'call_stack_t___ne__', + 'call_stack_t___setitem__', + 'call_stack_t__del', + 'call_stack_t_add_unique', + 'call_stack_t_at', + 'call_stack_t_begin', + 'call_stack_t_begin__SWIG_0', + 'call_stack_t_begin__SWIG_1', + 'call_stack_t_capacity', + 'call_stack_t_clear', + 'call_stack_t_empty', + 'call_stack_t_end', + 'call_stack_t_end__SWIG_0', + 'call_stack_t_end__SWIG_1', + 'call_stack_t_erase', + 'call_stack_t_erase__SWIG_0', + 'call_stack_t_erase__SWIG_1', + 'call_stack_t_extract', + 'call_stack_t_find', + 'call_stack_t_find__SWIG_0', + 'call_stack_t_find__SWIG_1', + 'call_stack_t_grow', + 'call_stack_t_has', + 'call_stack_t_inject', + 'call_stack_t_insert', + 'call_stack_t_pop_back', + 'call_stack_t_push_back', + 'call_stack_t_push_back__SWIG_0', + 'call_stack_t_push_back__SWIG_1', + 'call_stack_t_qclear', + 'call_stack_t_reserve', + 'call_stack_t_resize', + 'call_stack_t_resize__SWIG_0', + 'call_stack_t_resize__SWIG_1', + 'call_stack_t_size', + 'call_stack_t_swap', + 'call_stack_t_truncate', + 'callregs_t_fpregs_get', + 'callregs_t_fpregs_set', + 'callregs_t_gpregs_get', + 'callregs_t_gpregs_set', + 'callregs_t_init_regs', + 'callregs_t_nregs_get', + 'callregs_t_nregs_set', + 'callregs_t_policy_get', + 'callregs_t_policy_set', + 'callregs_t_regcount', + 'callregs_t_reginds', + 'callregs_t_reset', + 'callregs_t_set', + 'can_be_off32', + 'can_decode', + 'can_define_item', + 'can_exc_continue', + 'cancel_exec_request', + 'carg_t___eq__', + 'carg_t___ge__', + 'carg_t___gt__', + 'carg_t___le__', + 'carg_t___lt__', + 'carg_t___ne__', + 'carg_t_compare', + 'carg_t_consume_cexpr', + 'carg_t_formal_type_get', + 'carg_t_formal_type_set', + 'carg_t_is_vararg_get', + 'carg_t_is_vararg_set', + 'carglist_t___eq__', + 'carglist_t___ge__', + 'carglist_t___gt__', + 'carglist_t___le__', + 'carglist_t___lt__', + 'carglist_t___ne__', + 'carglist_t_compare', + 'carglist_t_flags_get', + 'carglist_t_flags_set', + 'carglist_t_functype_get', + 'carglist_t_functype_set', + 'cases_and_targets_t_cases_get', + 'cases_and_targets_t_cases_set', + 'cases_and_targets_t_targets_get', + 'cases_and_targets_t_targets_set', + 'casevec_t___eq__', + 'casevec_t___getitem__', + 'casevec_t___len__', + 'casevec_t___ne__', + 'casevec_t___setitem__', + 'casevec_t__del', + 'casevec_t_add_unique', + 'casevec_t_at', + 'casevec_t_begin', + 'casevec_t_begin__SWIG_0', + 'casevec_t_begin__SWIG_1', + 'casevec_t_capacity', + 'casevec_t_clear', + 'casevec_t_empty', + 'casevec_t_end', + 'casevec_t_end__SWIG_0', + 'casevec_t_end__SWIG_1', + 'casevec_t_erase', + 'casevec_t_erase__SWIG_0', + 'casevec_t_erase__SWIG_1', + 'casevec_t_extract', + 'casevec_t_find', + 'casevec_t_find__SWIG_0', + 'casevec_t_find__SWIG_1', + 'casevec_t_grow', + 'casevec_t_has', + 'casevec_t_inject', + 'casevec_t_insert', + 'casevec_t_pop_back', + 'casevec_t_push_back', + 'casevec_t_push_back__SWIG_0', + 'casevec_t_push_back__SWIG_1', + 'casevec_t_qclear', + 'casevec_t_reserve', + 'casevec_t_resize', + 'casevec_t_resize__SWIG_0', + 'casevec_t_resize__SWIG_1', + 'casevec_t_size', + 'casevec_t_swap', + 'casevec_t_truncate', + 'casm_t___eq__', + 'casm_t___ge__', + 'casm_t___gt__', + 'casm_t___le__', + 'casm_t___lt__', + 'casm_t___ne__', + 'casm_t_compare', + 'casm_t_one_insn', + 'catch_t_obj_get', + 'catch_t_obj_set', + 'catch_t_type_id_get', + 'catch_t_type_id_set', + 'catchvec_t___eq__', + 'catchvec_t___getitem__', + 'catchvec_t___len__', + 'catchvec_t___ne__', + 'catchvec_t___setitem__', + 'catchvec_t__del', + 'catchvec_t_add_unique', + 'catchvec_t_at', + 'catchvec_t_begin', + 'catchvec_t_begin__SWIG_0', + 'catchvec_t_begin__SWIG_1', + 'catchvec_t_capacity', + 'catchvec_t_clear', + 'catchvec_t_empty', + 'catchvec_t_end', + 'catchvec_t_end__SWIG_0', + 'catchvec_t_end__SWIG_1', + 'catchvec_t_erase', + 'catchvec_t_erase__SWIG_0', + 'catchvec_t_erase__SWIG_1', + 'catchvec_t_extract', + 'catchvec_t_find', + 'catchvec_t_find__SWIG_0', + 'catchvec_t_find__SWIG_1', + 'catchvec_t_grow', + 'catchvec_t_has', + 'catchvec_t_inject', + 'catchvec_t_insert', + 'catchvec_t_pop_back', + 'catchvec_t_push_back', + 'catchvec_t_push_back__SWIG_0', + 'catchvec_t_push_back__SWIG_1', + 'catchvec_t_qclear', + 'catchvec_t_reserve', + 'catchvec_t_resize', + 'catchvec_t_resize__SWIG_0', + 'catchvec_t_resize__SWIG_1', + 'catchvec_t_size', + 'catchvec_t_swap', + 'catchvec_t_truncate', + 'cblock_t___eq__', + 'cblock_t___ge__', + 'cblock_t___gt__', + 'cblock_t___le__', + 'cblock_t___lt__', + 'cblock_t___ne__', + 'cblock_t__deregister', + 'cblock_t_compare', + 'ccase_t___eq__', + 'ccase_t___ge__', + 'ccase_t___gt__', + 'ccase_t___le__', + 'ccase_t___lt__', + 'ccase_t___ne__', + 'ccase_t_compare', + 'ccase_t_size', + 'ccase_t_value', + 'ccase_t_values_get', + 'ccase_t_values_set', + 'ccases_t___eq__', + 'ccases_t___ge__', + 'ccases_t___gt__', + 'ccases_t___le__', + 'ccases_t___lt__', + 'ccases_t___ne__', + 'ccases_t_compare', + 'cdg_insn_iterator_t_dslot_get', + 'cdg_insn_iterator_t_dslot_insn_get', + 'cdg_insn_iterator_t_dslot_insn_set', + 'cdg_insn_iterator_t_dslot_set', + 'cdg_insn_iterator_t_dslot_with_xrefs', + 'cdg_insn_iterator_t_ea_get', + 'cdg_insn_iterator_t_ea_set', + 'cdg_insn_iterator_t_end_get', + 'cdg_insn_iterator_t_end_set', + 'cdg_insn_iterator_t_has_dslot', + 'cdg_insn_iterator_t_is_likely_dslot_get', + 'cdg_insn_iterator_t_is_likely_dslot_set', + 'cdg_insn_iterator_t_is_separate_dslot_get', + 'cdg_insn_iterator_t_is_separate_dslot_set', + 'cdg_insn_iterator_t_next', + 'cdg_insn_iterator_t_ok', + 'cdg_insn_iterator_t_start', + 'cdo_t___eq__', + 'cdo_t___ge__', + 'cdo_t___gt__', + 'cdo_t___le__', + 'cdo_t___lt__', + 'cdo_t___ne__', + 'cdo_t_compare', + 'ceinsn_t_expr_get', + 'ceinsn_t_expr_set', + 'cexpr_t___eq__', + 'cexpr_t___ge__', + 'cexpr_t___gt__', + 'cexpr_t___le__', + 'cexpr_t___lt__', + 'cexpr_t___ne__', + 'cexpr_t__deregister', + 'cexpr_t__get_a', + 'cexpr_t__get_fpc', + 'cexpr_t__get_helper', + 'cexpr_t__get_insn', + 'cexpr_t__get_m', + 'cexpr_t__get_n', + 'cexpr_t__get_obj_ea', + 'cexpr_t__get_ptrsize', + 'cexpr_t__get_refwidth', + 'cexpr_t__get_string', + 'cexpr_t__get_x', + 'cexpr_t__get_y', + 'cexpr_t__get_z', + 'cexpr_t__register', + 'cexpr_t__replace_by', + 'cexpr_t__set_a', + 'cexpr_t__set_fpc', + 'cexpr_t__set_helper', + 'cexpr_t__set_insn', + 'cexpr_t__set_m', + 'cexpr_t__set_n', + 'cexpr_t__set_obj_ea', + 'cexpr_t__set_ptrsize', + 'cexpr_t__set_refwidth', + 'cexpr_t__set_string', + 'cexpr_t__set_x', + 'cexpr_t__set_y', + 'cexpr_t__set_z', + 'cexpr_t_assign', + 'cexpr_t_calc_type', + 'cexpr_t_cleanup', + 'cexpr_t_compare', + 'cexpr_t_contains_comma', + 'cexpr_t_contains_comma_or_insn_or_label', + 'cexpr_t_contains_insn', + 'cexpr_t_contains_insn_or_label', + 'cexpr_t_contains_operator', + 'cexpr_t_cpadone', + 'cexpr_t_equal_effect', + 'cexpr_t_exflags_get', + 'cexpr_t_exflags_set', + 'cexpr_t_find_num_op', + 'cexpr_t_find_num_op__SWIG_0', + 'cexpr_t_find_num_op__SWIG_1', + 'cexpr_t_find_op', + 'cexpr_t_find_op__SWIG_0', + 'cexpr_t_find_op__SWIG_1', + 'cexpr_t_get_1num_op', + 'cexpr_t_get_const_value', + 'cexpr_t_get_high_nbit_bound', + 'cexpr_t_get_low_nbit_bound', + 'cexpr_t_get_ptr_or_array', + 'cexpr_t_get_type_sign', + 'cexpr_t_get_v', + 'cexpr_t_has_side_effects', + 'cexpr_t_is_call_arg_of', + 'cexpr_t_is_call_object_of', + 'cexpr_t_is_child_of', + 'cexpr_t_is_const_value', + 'cexpr_t_is_cstr', + 'cexpr_t_is_fpop', + 'cexpr_t_is_jumpout', + 'cexpr_t_is_negative_const', + 'cexpr_t_is_nice_cond', + 'cexpr_t_is_nice_expr', + 'cexpr_t_is_non_negative_const', + 'cexpr_t_is_non_zero_const', + 'cexpr_t_is_odd_lvalue', + 'cexpr_t_is_type_signed', + 'cexpr_t_is_type_unsigned', + 'cexpr_t_is_undef_val', + 'cexpr_t_is_vftable', + 'cexpr_t_is_zero_const', + 'cexpr_t_maybe_ptr', + 'cexpr_t_numval', + 'cexpr_t_print1', + 'cexpr_t_put_number', + 'cexpr_t_requires_lvalue', + 'cexpr_t_set_cpadone', + 'cexpr_t_set_v', + 'cexpr_t_set_vftable', + 'cexpr_t_swap', + 'cexpr_t_theother', + 'cexpr_t_theother__SWIG_0', + 'cexpr_t_theother__SWIG_1', + 'cexpr_t_type_get', + 'cexpr_t_type_set', + 'cfg_get_cc_header_path', + 'cfg_get_cc_parm', + 'cfg_get_cc_predefined_macros', + 'cfor_t___eq__', + 'cfor_t___ge__', + 'cfor_t___gt__', + 'cfor_t___le__', + 'cfor_t___lt__', + 'cfor_t___ne__', + 'cfor_t_compare', + 'cfor_t_init_get', + 'cfor_t_init_set', + 'cfor_t_step_get', + 'cfor_t_step_set', + 'cfunc_parentee_t_calc_rvalue_type', + 'cfunc_parentee_t_func_get', + 'cfunc_parentee_t_func_set', + 'cfunc_t___str__', + 'cfunc_t_argidx_get', + 'cfunc_t_body_get', + 'cfunc_t_body_set', + 'cfunc_t_build_c_tree', + 'cfunc_t_del_orphan_cmts', + 'cfunc_t_entry_ea_get', + 'cfunc_t_entry_ea_set', + 'cfunc_t_find_item_coords', + 'cfunc_t_find_item_coords__SWIG_0', + 'cfunc_t_find_item_coords__SWIG_1', + 'cfunc_t_find_label', + 'cfunc_t_gather_derefs', + 'cfunc_t_get_boundaries', + 'cfunc_t_get_eamap', + 'cfunc_t_get_func_type', + 'cfunc_t_get_line_item', + 'cfunc_t_get_lvars', + 'cfunc_t_get_pseudocode', + 'cfunc_t_get_stkoff_delta', + 'cfunc_t_get_user_cmt', + 'cfunc_t_get_user_iflags', + 'cfunc_t_get_user_union_selection', + 'cfunc_t_get_warnings', + 'cfunc_t_has_orphan_cmts', + 'cfunc_t_hdrlines_get', + 'cfunc_t_hdrlines_set', + 'cfunc_t_maturity_get', + 'cfunc_t_maturity_set', + 'cfunc_t_mba_get', + 'cfunc_t_mba_set', + 'cfunc_t_numforms_get', + 'cfunc_t_numforms_set', + 'cfunc_t_print_dcl', + 'cfunc_t_print_func', + 'cfunc_t_refcnt_get', + 'cfunc_t_refcnt_set', + 'cfunc_t_refresh_func_ctext', + 'cfunc_t_release', + 'cfunc_t_remove_unused_labels', + 'cfunc_t_save_user_cmts', + 'cfunc_t_save_user_iflags', + 'cfunc_t_save_user_labels', + 'cfunc_t_save_user_numforms', + 'cfunc_t_save_user_unions', + 'cfunc_t_set_user_cmt', + 'cfunc_t_set_user_iflags', + 'cfunc_t_set_user_union_selection', + 'cfunc_t_statebits_get', + 'cfunc_t_statebits_set', + 'cfunc_t_treeitems_get', + 'cfunc_t_treeitems_set', + 'cfunc_t_user_cmts_get', + 'cfunc_t_user_cmts_set', + 'cfunc_t_user_iflags_get', + 'cfunc_t_user_iflags_set', + 'cfunc_t_user_labels_get', + 'cfunc_t_user_labels_set', + 'cfunc_t_user_unions_get', + 'cfunc_t_user_unions_set', + 'cfunc_t_verify', + 'cfuncptr_t___deref__', + 'cfuncptr_t___ptrval__', + 'cfuncptr_t___ref__', + 'cfuncptr_t___str__', + 'cfuncptr_t_argidx_get', + 'cfuncptr_t_body_get', + 'cfuncptr_t_body_set', + 'cfuncptr_t_build_c_tree', + 'cfuncptr_t_del_orphan_cmts', + 'cfuncptr_t_entry_ea_get', + 'cfuncptr_t_entry_ea_set', + 'cfuncptr_t_find_item_coords', + 'cfuncptr_t_find_item_coords__SWIG_0', + 'cfuncptr_t_find_item_coords__SWIG_1', + 'cfuncptr_t_find_label', + 'cfuncptr_t_gather_derefs', + 'cfuncptr_t_get_boundaries', + 'cfuncptr_t_get_eamap', + 'cfuncptr_t_get_func_type', + 'cfuncptr_t_get_line_item', + 'cfuncptr_t_get_lvars', + 'cfuncptr_t_get_pseudocode', + 'cfuncptr_t_get_stkoff_delta', + 'cfuncptr_t_get_user_cmt', + 'cfuncptr_t_get_user_iflags', + 'cfuncptr_t_get_user_union_selection', + 'cfuncptr_t_get_warnings', + 'cfuncptr_t_has_orphan_cmts', + 'cfuncptr_t_hdrlines_get', + 'cfuncptr_t_hdrlines_set', + 'cfuncptr_t_maturity_get', + 'cfuncptr_t_maturity_set', + 'cfuncptr_t_mba_get', + 'cfuncptr_t_mba_set', + 'cfuncptr_t_numforms_get', + 'cfuncptr_t_numforms_set', + 'cfuncptr_t_print_dcl', + 'cfuncptr_t_print_func', + 'cfuncptr_t_refcnt_get', + 'cfuncptr_t_refcnt_set', + 'cfuncptr_t_refresh_func_ctext', + 'cfuncptr_t_release', + 'cfuncptr_t_remove_unused_labels', + 'cfuncptr_t_reset', + 'cfuncptr_t_save_user_cmts', + 'cfuncptr_t_save_user_iflags', + 'cfuncptr_t_save_user_labels', + 'cfuncptr_t_save_user_numforms', + 'cfuncptr_t_save_user_unions', + 'cfuncptr_t_set_user_cmt', + 'cfuncptr_t_set_user_iflags', + 'cfuncptr_t_set_user_union_selection', + 'cfuncptr_t_statebits_get', + 'cfuncptr_t_statebits_set', + 'cfuncptr_t_treeitems_get', + 'cfuncptr_t_treeitems_set', + 'cfuncptr_t_user_cmts_get', + 'cfuncptr_t_user_cmts_set', + 'cfuncptr_t_user_iflags_get', + 'cfuncptr_t_user_iflags_set', + 'cfuncptr_t_user_labels_get', + 'cfuncptr_t_user_labels_set', + 'cfuncptr_t_user_unions_get', + 'cfuncptr_t_user_unions_set', + 'cfuncptr_t_verify', + 'cgoto_t___eq__', + 'cgoto_t___ge__', + 'cgoto_t___gt__', + 'cgoto_t___le__', + 'cgoto_t___lt__', + 'cgoto_t___ne__', + 'cgoto_t_compare', + 'cgoto_t_label_num_get', + 'cgoto_t_label_num_set', + 'chain_keeper_t_back', + 'chain_keeper_t_for_all_chains', + 'chain_keeper_t_front', + 'chain_t___lt__', + 'chain_t__print', + 'chain_t_append_list', + 'chain_t_clear_varnum', + 'chain_t_dstr', + 'chain_t_endoff', + 'chain_t_flags_get', + 'chain_t_flags_set', + 'chain_t_get_reg', + 'chain_t_get_stkoff', + 'chain_t_includes', + 'chain_t_is_fake', + 'chain_t_is_inited', + 'chain_t_is_overlapped', + 'chain_t_is_passreg', + 'chain_t_is_reg', + 'chain_t_is_replaced', + 'chain_t_is_stkoff', + 'chain_t_is_term', + 'chain_t_key', + 'chain_t_overlap', + 'chain_t_set_inited', + 'chain_t_set_overlapped', + 'chain_t_set_replaced', + 'chain_t_set_term', + 'chain_t_set_value', + 'chain_t_varnum_get', + 'chain_t_varnum_set', + 'chain_t_width_get', + 'chain_t_width_set', + 'chain_visitor_t_parent_get', + 'chain_visitor_t_parent_set', + 'chain_visitor_t_visit_chain', + 'change_segment_status', + 'change_storage_type', + 'channel_redir_t_fd_get', + 'channel_redir_t_fd_set', + 'channel_redir_t_file_get', + 'channel_redir_t_file_set', + 'channel_redir_t_flags_get', + 'channel_redir_t_flags_set', + 'channel_redir_t_is_append', + 'channel_redir_t_is_input', + 'channel_redir_t_is_output', + 'channel_redir_t_is_quoted', + 'channel_redir_t_length_get', + 'channel_redir_t_length_set', + 'channel_redir_t_start_get', + 'channel_redir_t_start_set', + 'char_flag', + 'check_bpt', + 'check_process_exit', + 'checkout_hexrays_license', + 'choose_activate', + 'choose_choose', + 'choose_close', + 'choose_create_embedded_chobj', + 'choose_entry', + 'choose_enum', + 'choose_enum_by_value', + 'choose_find', + 'choose_func', + 'choose_get_widget', + 'choose_idasgn', + 'choose_local_tinfo', + 'choose_local_tinfo_and_delta', + 'choose_name', + 'choose_named_type', + 'choose_refresh', + 'choose_segm', + 'choose_srcp', + 'choose_stkvar_xref', + 'choose_struc', + 'choose_til', + 'choose_trace_file', + 'choose_xref', + 'chooser_item_attrs_t_color_get', + 'chooser_item_attrs_t_color_set', + 'chooser_item_attrs_t_flags_get', + 'chooser_item_attrs_t_flags_set', + 'chooser_item_attrs_t_reset', + 'chunk_size', + 'chunk_start', + 'cif_t___eq__', + 'cif_t___ge__', + 'cif_t___gt__', + 'cif_t___le__', + 'cif_t___lt__', + 'cif_t___ne__', + 'cif_t_assign', + 'cif_t_cleanup', + 'cif_t_compare', + 'cif_t_ielse_get', + 'cif_t_ielse_set', + 'cif_t_ithen_get', + 'cif_t_ithen_set', + 'cinsn_t___eq__', + 'cinsn_t___ge__', + 'cinsn_t___gt__', + 'cinsn_t___le__', + 'cinsn_t___lt__', + 'cinsn_t___ne__', + 'cinsn_t__deregister', + 'cinsn_t__get_casm', + 'cinsn_t__get_cblock', + 'cinsn_t__get_cdo', + 'cinsn_t__get_cexpr', + 'cinsn_t__get_cfor', + 'cinsn_t__get_cgoto', + 'cinsn_t__get_cif', + 'cinsn_t__get_creturn', + 'cinsn_t__get_cswitch', + 'cinsn_t__get_cwhile', + 'cinsn_t__print', + 'cinsn_t__register', + 'cinsn_t__replace_by', + 'cinsn_t__set_casm', + 'cinsn_t__set_cblock', + 'cinsn_t__set_cdo', + 'cinsn_t__set_cexpr', + 'cinsn_t__set_cfor', + 'cinsn_t__set_cgoto', + 'cinsn_t__set_cif', + 'cinsn_t__set_creturn', + 'cinsn_t__set_cswitch', + 'cinsn_t__set_cwhile', + 'cinsn_t_assign', + 'cinsn_t_cleanup', + 'cinsn_t_collect_free_breaks', + 'cinsn_t_collect_free_continues', + 'cinsn_t_compare', + 'cinsn_t_contains_free_break', + 'cinsn_t_contains_free_continue', + 'cinsn_t_contains_insn', + 'cinsn_t_create_if', + 'cinsn_t_insn_is_epilog', + 'cinsn_t_is_ordinary_flow', + 'cinsn_t_new_insn', + 'cinsn_t_print1', + 'cinsn_t_swap', + 'cinsn_t_zero', + 'cinsnptrvec_t___eq__', + 'cinsnptrvec_t___getitem__', + 'cinsnptrvec_t___len__', + 'cinsnptrvec_t___ne__', + 'cinsnptrvec_t___setitem__', + 'cinsnptrvec_t__del', + 'cinsnptrvec_t_add_unique', + 'cinsnptrvec_t_at', + 'cinsnptrvec_t_begin', + 'cinsnptrvec_t_begin__SWIG_0', + 'cinsnptrvec_t_begin__SWIG_1', + 'cinsnptrvec_t_capacity', + 'cinsnptrvec_t_clear', + 'cinsnptrvec_t_empty', + 'cinsnptrvec_t_end', + 'cinsnptrvec_t_end__SWIG_0', + 'cinsnptrvec_t_end__SWIG_1', + 'cinsnptrvec_t_erase', + 'cinsnptrvec_t_erase__SWIG_0', + 'cinsnptrvec_t_erase__SWIG_1', + 'cinsnptrvec_t_extract', + 'cinsnptrvec_t_find', + 'cinsnptrvec_t_find__SWIG_0', + 'cinsnptrvec_t_find__SWIG_1', + 'cinsnptrvec_t_has', + 'cinsnptrvec_t_inject', + 'cinsnptrvec_t_insert', + 'cinsnptrvec_t_pop_back', + 'cinsnptrvec_t_push_back', + 'cinsnptrvec_t_push_back__SWIG_0', + 'cinsnptrvec_t_push_back__SWIG_1', + 'cinsnptrvec_t_qclear', + 'cinsnptrvec_t_reserve', + 'cinsnptrvec_t_resize', + 'cinsnptrvec_t_resize__SWIG_0', + 'cinsnptrvec_t_resize__SWIG_1', + 'cinsnptrvec_t_size', + 'cinsnptrvec_t_swap', + 'cinsnptrvec_t_truncate', + 'citem_cmt_t___str__', + 'citem_cmt_t_c_str', + 'citem_cmt_t_used_get', + 'citem_cmt_t_used_set', + 'citem_locator_t___eq__', + 'citem_locator_t___ge__', + 'citem_locator_t___gt__', + 'citem_locator_t___le__', + 'citem_locator_t___lt__', + 'citem_locator_t___ne__', + 'citem_locator_t_compare', + 'citem_locator_t_ea_get', + 'citem_locator_t_ea_set', + 'citem_locator_t_op_get', + 'citem_locator_t_op_set', + 'citem_t__get_op', + 'citem_t__obj_id', + 'citem_t__set_op', + 'citem_t_cexpr_get', + 'citem_t_cinsn_get', + 'citem_t_contains_expr', + 'citem_t_contains_label', + 'citem_t_ea_get', + 'citem_t_ea_set', + 'citem_t_find_closest_addr', + 'citem_t_find_parent_of', + 'citem_t_find_parent_of__SWIG_0', + 'citem_t_find_parent_of__SWIG_1', + 'citem_t_index_get', + 'citem_t_index_set', + 'citem_t_is_expr', + 'citem_t_label_num_get', + 'citem_t_label_num_set', + 'citem_t_print1', + 'citem_t_swap', + 'cleanup_appcall', + 'cleanup_name', + 'clear_bits', + 'clear_cached_cfuncs', + 'clear_refresh_request', + 'clear_requests_queue', + 'clear_strlist', + 'clear_tinfo_t', + 'clear_trace', + 'cloop_t_assign', + 'cloop_t_body_get', + 'cloop_t_body_set', + 'cloop_t_cleanup', + 'close_chooser', + 'close_linput', + 'close_pseudocode', + 'close_widget', + 'clr__bnot0', + 'clr__bnot1', + 'clr__invsign0', + 'clr__invsign1', + 'clr_abits', + 'clr_align_flow', + 'clr_cancelled', + 'clr_colored_item', + 'clr_database_flag', + 'clr_fixed_spd', + 'clr_has_lname', + 'clr_has_ti', + 'clr_has_ti0', + 'clr_has_ti1', + 'clr_libitem', + 'clr_lzero', + 'clr_lzero0', + 'clr_lzero1', + 'clr_node_info', + 'clr_noret', + 'clr_notcode', + 'clr_notproc', + 'clr_op_type', + 'clr_retfp', + 'clr_terse_struc', + 'clr_tilcmt', + 'clr_usemodsp', + 'clr_usersp', + 'clr_userti', + 'clr_zstroff', + 'cnumber_t___eq__', + 'cnumber_t___ge__', + 'cnumber_t___gt__', + 'cnumber_t___le__', + 'cnumber_t___lt__', + 'cnumber_t___ne__', + 'cnumber_t__print', + 'cnumber_t__value_get', + 'cnumber_t__value_set', + 'cnumber_t_assign', + 'cnumber_t_compare', + 'cnumber_t_nf_get', + 'cnumber_t_nf_set', + 'cnumber_t_value', + 'code_flag', + 'codegen_t_analyze_prolog', + 'codegen_t_emit', + 'codegen_t_emit__SWIG_0', + 'codegen_t_emit__SWIG_1', + 'codegen_t_emit_micro_mvm', + 'codegen_t_gen_micro', + 'codegen_t_ignore_micro_get', + 'codegen_t_ignore_micro_set', + 'codegen_t_ii_get', + 'codegen_t_ii_set', + 'codegen_t_insn_get', + 'codegen_t_insn_set', + 'codegen_t_load_operand', + 'codegen_t_mb_get', + 'codegen_t_mb_set', + 'codegen_t_mba_get', + 'codegen_t_mba_set', + 'collect_stack_trace', + 'compact_til', + 'compare_tinfo', + 'compile_idc_file', + 'compile_idc_snippet', + 'compile_idc_text', + 'compiler_info_t_cm_get', + 'compiler_info_t_cm_set', + 'compiler_info_t_defalign_get', + 'compiler_info_t_defalign_set', + 'compiler_info_t_id_get', + 'compiler_info_t_id_set', + 'compiler_info_t_size_b_get', + 'compiler_info_t_size_b_set', + 'compiler_info_t_size_e_get', + 'compiler_info_t_size_e_set', + 'compiler_info_t_size_i_get', + 'compiler_info_t_size_i_set', + 'compiler_info_t_size_l_get', + 'compiler_info_t_size_l_set', + 'compiler_info_t_size_ldbl_get', + 'compiler_info_t_size_ldbl_set', + 'compiler_info_t_size_ll_get', + 'compiler_info_t_size_ll_set', + 'compiler_info_t_size_s_get', + 'compiler_info_t_size_s_set', + 'const_aloc_visitor_t_visit_location', + 'construct_macro', + 'contains_fixups', + 'continue_process', + 'convert_pt_flags_to_hti', + 'convert_to_user_call', + 'copy_idcv', + 'copy_named_type', + 'copy_sreg_ranges', + 'copy_tinfo_t', + 'create_16bit_data', + 'create_32bit_data', + 'create_align', + 'create_byte', + 'create_bytearray_linput', + 'create_code_viewer', + 'create_custdata', + 'create_data', + 'create_disasm_graph', + 'create_disasm_graph__SWIG_0', + 'create_disasm_graph__SWIG_1', + 'create_double', + 'create_dword', + 'create_empty_widget', + 'create_encoding_helper', + 'create_field_name', + 'create_float', + 'create_generic_linput', + 'create_graph_viewer', + 'create_idcv_ref', + 'create_insn', + 'create_memory_linput', + 'create_menu', + 'create_mutable_graph', + 'create_numbered_type_name', + 'create_outctx', + 'create_oword', + 'create_packed_real', + 'create_qword', + 'create_simple_diff_handler', + 'create_simple_idb_diff_handler', + 'create_source_viewer', + 'create_strlit', + 'create_struct', + 'create_switch_table', + 'create_switch_xrefs', + 'create_tbyte', + 'create_tinfo', + 'create_toolbar', + 'create_typedef', + 'create_typedef__SWIG_0', + 'create_typedef__SWIG_1', + 'create_user_graph_place', + 'create_word', + 'create_yword', + 'create_zword', + 'creturn_t___eq__', + 'creturn_t___ge__', + 'creturn_t___gt__', + 'creturn_t___le__', + 'creturn_t___lt__', + 'creturn_t___ne__', + 'creturn_t_compare', + 'cswitch_t___eq__', + 'cswitch_t___ge__', + 'cswitch_t___gt__', + 'cswitch_t___le__', + 'cswitch_t___lt__', + 'cswitch_t___ne__', + 'cswitch_t_cases_get', + 'cswitch_t_cases_set', + 'cswitch_t_compare', + 'cswitch_t_mvnf_get', + 'cswitch_t_mvnf_set', + 'ctext_position_t___eq__', + 'ctext_position_t___ge__', + 'ctext_position_t___gt__', + 'ctext_position_t___le__', + 'ctext_position_t___lt__', + 'ctext_position_t___ne__', + 'ctext_position_t_compare', + 'ctext_position_t_in_ctree', + 'ctext_position_t_lnnum_get', + 'ctext_position_t_lnnum_set', + 'ctext_position_t_x_get', + 'ctext_position_t_x_set', + 'ctext_position_t_y_get', + 'ctext_position_t_y_set', + 'ctree_anchor_t_get_index', + 'ctree_anchor_t_get_itp', + 'ctree_anchor_t_is_blkcmt_anchor', + 'ctree_anchor_t_is_citem_anchor', + 'ctree_anchor_t_is_itp_anchor', + 'ctree_anchor_t_is_lvar_anchor', + 'ctree_anchor_t_is_valid_anchor', + 'ctree_anchor_t_value_get', + 'ctree_anchor_t_value_set', + 'ctree_item_t__get_e', + 'ctree_item_t__get_f', + 'ctree_item_t__get_i', + 'ctree_item_t__get_it', + 'ctree_item_t__get_l', + 'ctree_item_t_citype_get', + 'ctree_item_t_citype_set', + 'ctree_item_t_get_ea', + 'ctree_item_t_get_label_num', + 'ctree_item_t_get_lvar', + 'ctree_item_t_get_memptr', + 'ctree_item_t_is_citem', + 'ctree_item_t_loc_get', + 'ctree_items_t___eq__', + 'ctree_items_t___getitem__', + 'ctree_items_t___len__', + 'ctree_items_t___ne__', + 'ctree_items_t___setitem__', + 'ctree_items_t__del', + 'ctree_items_t_add_unique', + 'ctree_items_t_at', + 'ctree_items_t_begin', + 'ctree_items_t_begin__SWIG_0', + 'ctree_items_t_begin__SWIG_1', + 'ctree_items_t_capacity', + 'ctree_items_t_clear', + 'ctree_items_t_empty', + 'ctree_items_t_end', + 'ctree_items_t_end__SWIG_0', + 'ctree_items_t_end__SWIG_1', + 'ctree_items_t_erase', + 'ctree_items_t_erase__SWIG_0', + 'ctree_items_t_erase__SWIG_1', + 'ctree_items_t_extract', + 'ctree_items_t_find', + 'ctree_items_t_find__SWIG_0', + 'ctree_items_t_find__SWIG_1', + 'ctree_items_t_has', + 'ctree_items_t_inject', + 'ctree_items_t_insert', + 'ctree_items_t_pop_back', + 'ctree_items_t_push_back', + 'ctree_items_t_push_back__SWIG_0', + 'ctree_items_t_push_back__SWIG_1', + 'ctree_items_t_qclear', + 'ctree_items_t_reserve', + 'ctree_items_t_resize', + 'ctree_items_t_resize__SWIG_0', + 'ctree_items_t_resize__SWIG_1', + 'ctree_items_t_size', + 'ctree_items_t_swap', + 'ctree_items_t_truncate', + 'ctree_parentee_t_recalc_parent_types', + 'ctree_visitor_t_apply_to', + 'ctree_visitor_t_apply_to_exprs', + 'ctree_visitor_t_clr_prune', + 'ctree_visitor_t_clr_restart', + 'ctree_visitor_t_cv_flags_get', + 'ctree_visitor_t_cv_flags_set', + 'ctree_visitor_t_is_postorder', + 'ctree_visitor_t_leave_expr', + 'ctree_visitor_t_leave_insn', + 'ctree_visitor_t_maintain_parents', + 'ctree_visitor_t_must_prune', + 'ctree_visitor_t_must_restart', + 'ctree_visitor_t_only_insns', + 'ctree_visitor_t_parent_expr', + 'ctree_visitor_t_parent_insn', + 'ctree_visitor_t_parents_get', + 'ctree_visitor_t_parents_set', + 'ctree_visitor_t_prune_now', + 'ctree_visitor_t_set_restart', + 'ctree_visitor_t_visit_expr', + 'ctree_visitor_t_visit_insn', + 'cust_flag', + 'custfmt_flag', + 'custom_data_type_ids_fids_array___getitem__', + 'custom_data_type_ids_fids_array___len__', + 'custom_data_type_ids_fids_array___setitem__', + 'custom_data_type_ids_fids_array_data_get', + 'custom_data_type_ids_t___getFids', + 'custom_data_type_ids_t_dtid_get', + 'custom_data_type_ids_t_dtid_set', + 'custom_data_type_ids_t_fids_get', + 'custom_data_type_ids_t_fids_set', + 'custom_viewer_jump', + 'cwhile_t___eq__', + 'cwhile_t___ge__', + 'cwhile_t___gt__', + 'cwhile_t___le__', + 'cwhile_t___lt__', + 'cwhile_t___ne__', + 'cwhile_t_compare', + 'data_format_t___get_id', + 'data_format_t_hotkey_get', + 'data_format_t_hotkey_set', + 'data_format_t_is_present_in_menus', + 'data_format_t_menu_name_get', + 'data_format_t_menu_name_set', + 'data_format_t_name_get', + 'data_format_t_name_set', + 'data_format_t_props_get', + 'data_format_t_props_set', + 'data_format_t_text_width_get', + 'data_format_t_text_width_set', + 'data_format_t_value_size_get', + 'data_format_t_value_size_set', + 'data_type_t___get_id', + 'data_type_t_asm_keyword_get', + 'data_type_t_asm_keyword_set', + 'data_type_t_hotkey_get', + 'data_type_t_hotkey_set', + 'data_type_t_is_present_in_menus', + 'data_type_t_menu_name_get', + 'data_type_t_menu_name_set', + 'data_type_t_name_get', + 'data_type_t_name_set', + 'data_type_t_props_get', + 'data_type_t_props_set', + 'data_type_t_value_size_get', + 'data_type_t_value_size_set', + 'dbg_add_bpt_tev', + 'dbg_add_call_tev', + 'dbg_add_debug_event', + 'dbg_add_insn_tev', + 'dbg_add_many_tevs', + 'dbg_add_ret_tev', + 'dbg_add_tev', + 'dbg_add_thread', + 'dbg_appcall', + 'dbg_bin_search', + 'dbg_can_query', + 'dbg_del_thread', + 'dbg_get_input_path', + 'dbg_get_memory_info', + 'dbg_get_name', + 'dbg_get_registers', + 'dbg_get_thread_sreg_base', + 'dbg_is_loaded', + 'dbg_read_memory', + 'dbg_write_memory', + 'debapp_attrs_t_addrsize_get', + 'debapp_attrs_t_addrsize_set', + 'debapp_attrs_t_cbsize_get', + 'debapp_attrs_t_cbsize_set', + 'debapp_attrs_t_is_be_get', + 'debapp_attrs_t_is_be_set', + 'debapp_attrs_t_platform_get', + 'debapp_attrs_t_platform_set', + 'debug_event_t_bpt', + 'debug_event_t_bpt__SWIG_0', + 'debug_event_t_bpt__SWIG_1', + 'debug_event_t_bpt_ea', + 'debug_event_t_clear', + 'debug_event_t_clear_all', + 'debug_event_t_copy', + 'debug_event_t_ea_get', + 'debug_event_t_ea_set', + 'debug_event_t_eid', + 'debug_event_t_exc', + 'debug_event_t_exc__SWIG_0', + 'debug_event_t_exc__SWIG_1', + 'debug_event_t_exit_code', + 'debug_event_t_handled_get', + 'debug_event_t_handled_set', + 'debug_event_t_info', + 'debug_event_t_info__SWIG_0', + 'debug_event_t_info__SWIG_1', + 'debug_event_t_modinfo', + 'debug_event_t_modinfo__SWIG_0', + 'debug_event_t_modinfo__SWIG_1', + 'debug_event_t_pid_get', + 'debug_event_t_pid_set', + 'debug_event_t_set_bpt', + 'debug_event_t_set_eid', + 'debug_event_t_set_exception', + 'debug_event_t_set_exit_code', + 'debug_event_t_set_info', + 'debug_event_t_set_modinfo', + 'debug_event_t_tid_get', + 'debug_event_t_tid_set', + 'debug_hexrays_ctree', + 'dec_flag', + 'decode_insn', + 'decode_preceding_insn', + 'decode_prev_insn', + 'decompile', + 'decompile_func', + 'decompile_many', + 'deep_copy_idcv', + 'default_compiler', + 'define_exception', + 'define_stkvar', + 'del_absbase', + 'del_aflags', + 'del_alignment', + 'del_array_parameters', + 'del_bpt', + 'del_bpt__SWIG_0', + 'del_bpt__SWIG_1', + 'del_bptgrp', + 'del_cref', + 'del_custom_data_type_ids', + 'del_debug_names', + 'del_dref', + 'del_encoding', + 'del_enum', + 'del_enum_member', + 'del_extra_cmt', + 'del_fixup', + 'del_frame', + 'del_func', + 'del_global_name', + 'del_hidden_range', + 'del_hotkey', + 'del_idasgn', + 'del_idc_hotkey', + 'del_idcv_attr', + 'del_ind_purged', + 'del_item_color', + 'del_items', + 'del_local_name', + 'del_mapping', + 'del_member_tinfo', + 'del_named_type', + 'del_node_info', + 'del_numbered_type', + 'del_op_tinfo', + 'del_refinfo', + 'del_regvar', + 'del_segm', + 'del_segment_translations', + 'del_selector', + 'del_source_linnum', + 'del_sourcefile', + 'del_sreg_range', + 'del_stkpnt', + 'del_str_type', + 'del_struc', + 'del_struc_member', + 'del_struc_members', + 'del_switch_info', + 'del_switch_parent', + 'del_til', + 'del_tinfo', + 'del_tinfo_attr', + 'del_tryblks', + 'del_value', + 'del_virt_module', + 'delay_slot_insn', + 'delete_DBG_Hooks', + 'delete_Hexrays_Hooks', + 'delete_IDB_Hooks', + 'delete_IDP_Hooks', + 'delete_TPointDouble', + 'delete_UI_Hooks', + 'delete_View_Hooks', + 'delete___qmutex_t', + 'delete___qsemaphore_t', + 'delete___qthread_t', + 'delete___qtimer_t', + 'delete_action_ctx_base_t', + 'delete_action_desc_t', + 'delete_addon_info_t', + 'delete_aloc_visitor_t', + 'delete_argloc_t', + 'delete_argpart_t', + 'delete_argpartvec_t', + 'delete_array_of_bitsets', + 'delete_array_of_ivlsets', + 'delete_array_of_rangesets', + 'delete_array_parameters_t', + 'delete_array_type_data_t', + 'delete_asm_t', + 'delete_auto_display_t', + 'delete_bgcolors_t', + 'delete_bit_bound_t', + 'delete_bitfield_type_data_t', + 'delete_bitset_t', + 'delete_block_chains_iterator_t', + 'delete_block_chains_t', + 'delete_block_chains_vec_t', + 'delete_boolvec_t', + 'delete_boundaries_iterator_t', + 'delete_boundaries_t', + 'delete_bpt_location_t', + 'delete_bpt_t', + 'delete_bpt_vec_t', + 'delete_bptaddr_t', + 'delete_call_stack_info_t', + 'delete_call_stack_t', + 'delete_callregs_t', + 'delete_carg_t', + 'delete_carglist_t', + 'delete_cases_and_targets_t', + 'delete_casevec_t', + 'delete_casm_t', + 'delete_catch_t', + 'delete_catchvec_t', + 'delete_cblock_t', + 'delete_ccase_t', + 'delete_ccases_t', + 'delete_cdg_insn_iterator_t', + 'delete_cdo_t', + 'delete_ceinsn_t', + 'delete_cexpr_t', + 'delete_cfor_t', + 'delete_cfunc_parentee_t', + 'delete_cfunc_t', + 'delete_cfuncptr_t', + 'delete_cgoto_t', + 'delete_chain_keeper_t', + 'delete_chain_t', + 'delete_chain_visitor_t', + 'delete_channel_redir_t', + 'delete_chooser_item_attrs_t', + 'delete_cif_t', + 'delete_cinsn_t', + 'delete_cinsnptrvec_t', + 'delete_citem_cmt_t', + 'delete_citem_locator_t', + 'delete_citem_t', + 'delete_cloop_t', + 'delete_cnumber_t', + 'delete_codegen_t', + 'delete_compiler_info_t', + 'delete_const_aloc_visitor_t', + 'delete_creturn_t', + 'delete_cswitch_t', + 'delete_ctext_position_t', + 'delete_ctree_anchor_t', + 'delete_ctree_item_t', + 'delete_ctree_items_t', + 'delete_ctree_parentee_t', + 'delete_ctree_visitor_t', + 'delete_custom_data_type_ids_fids_array', + 'delete_custom_data_type_ids_t', + 'delete_cwhile_t', + 'delete_data_format_t', + 'delete_data_type_t', + 'delete_debapp_attrs_t', + 'delete_debug_event_t', + 'delete_disasm_line_t', + 'delete_disasm_text_t', + 'delete_ea_array', + 'delete_ea_name_t', + 'delete_ea_name_vec_t', + 'delete_ea_pointer', + 'delete_eamap_iterator_t', + 'delete_eamap_t', + 'delete_edge_info_t', + 'delete_edge_layout_point_t', + 'delete_edge_segment_t', + 'delete_edge_t', + 'delete_enum_const_t', + 'delete_enum_member_t', + 'delete_enum_member_vec_t', + 'delete_enum_member_visitor_t', + 'delete_enum_type_data_t', + 'delete_enumplace_t', + 'delete_eval_ctx_t', + 'delete_exception_info_t', + 'delete_excinfo_t', + 'delete_excvec_t', + 'delete_extra_cmt_t', + 'delete_extra_cmts', + 'delete_extra_cmts_t', + 'delete_fixup_data_t', + 'delete_fixup_info_t', + 'delete_fnum_array', + 'delete_fnumber_t', + 'delete_frame_desc_t', + 'delete_frame_mem_t', + 'delete_frame_mems_t', + 'delete_func_info_and_frequency_t', + 'delete_func_info_and_frequency_vec_t', + 'delete_func_info_and_pattern_t', + 'delete_func_info_and_pattern_vec_t', + 'delete_func_info_base_t', + 'delete_func_info_pattern_and_frequency_t', + 'delete_func_info_pattern_and_frequency_vec_t', + 'delete_func_info_t', + 'delete_func_info_vec_t', + 'delete_func_item_iterator_t', + 'delete_func_md_diff_handler_t', + 'delete_func_parent_iterator_t', + 'delete_func_t', + 'delete_func_tail_iterator_t', + 'delete_func_type_data_t', + 'delete_funcarg_t', + 'delete_funcargvec_t', + 'delete_gco_info_t', + 'delete_generic_linput_t', + 'delete_graph_chains_t', + 'delete_graph_item_t', + 'delete_graph_location_info_t', + 'delete_graph_node_visitor_t', + 'delete_graph_path_visitor_t', + 'delete_graph_visitor_t', + 'delete_group_crinfo_t', + 'delete_hexrays_failure_t', + 'delete_hexwarn_t', + 'delete_hexwarns_t', + 'delete_hidden_range_t', + 'delete_highlighter_cbs_t', + 'delete_history_entries_helper_t', + 'delete_history_item_t', + 'delete_history_t', + 'delete_ida_lowertype_helper_t', + 'delete_idaplace_t', + 'delete_idc_global_t', + 'delete_idc_value_t', + 'delete_idc_values_t', + 'delete_idp_desc_t', + 'delete_idp_name_t', + 'delete_imports', + 'delete_input_file_t', + 'delete_insn_cmt_t', + 'delete_insn_cmts_t', + 'delete_insn_ops_repr_t', + 'delete_insn_ops_reprs_t', + 'delete_insn_site_t', + 'delete_insn_t', + 'delete_instant_dbgopts_t', + 'delete_int_pointer', + 'delete_interval_t', + 'delete_intvec_t', + 'delete_ivl_t', + 'delete_ivl_with_name_t', + 'delete_ivlset_t', + 'delete_llabel_t', + 'delete_loader_input_t', + 'delete_loader_t', + 'delete_lochist_entry_t', + 'delete_lochist_t', + 'delete_lock_func', + 'delete_lock_segment', + 'delete_longlongvec_t', + 'delete_lowertype_helper_t', + 'delete_lumina_client_t', + 'delete_lumina_op_res_vec_t', + 'delete_lvar_locator_t', + 'delete_lvar_mapping_iterator_t', + 'delete_lvar_mapping_t', + 'delete_lvar_ref_t', + 'delete_lvar_saved_info_t', + 'delete_lvar_saved_infos_t', + 'delete_lvar_t', + 'delete_lvar_uservec_t', + 'delete_lvars_t', + 'delete_mba_range_iterator_t', + 'delete_mba_ranges_t', + 'delete_mbl_array_t', + 'delete_mblock_t', + 'delete_mcallarg_t', + 'delete_mcallargs_t', + 'delete_mcallinfo_t', + 'delete_mcases_t', + 'delete_md_type_parts_t', + 'delete_member_t', + 'delete_meminfo_vec_t', + 'delete_memory_info_t', + 'delete_memreg_info_t', + 'delete_memreg_infos_t', + 'delete_menu', + 'delete_metadata_iterator_t', + 'delete_microcode_filter_t', + 'delete_minsn_t', + 'delete_minsn_visitor_t', + 'delete_mlist_mop_visitor_t', + 'delete_mlist_t', + 'delete_mnumber_t', + 'delete_modinfo_t', + 'delete_mop_addr_t', + 'delete_mop_pair_t', + 'delete_mop_t', + 'delete_mop_visitor_t', + 'delete_mopvec_t', + 'delete_mutable_graph', + 'delete_mutable_graph_t', + 'delete_netnode', + 'delete_node_info_t', + 'delete_node_iterator', + 'delete_node_layout_t', + 'delete_node_ordering_t', + 'delete_number_format_t', + 'delete_op_parent_info_t', + 'delete_op_t', + 'delete_operand_locator_t', + 'delete_operands_array', + 'delete_operator_info_t', + 'delete_opinfo_t', + 'delete_oprepr_t', + 'delete_optblock_t', + 'delete_optinsn_t', + 'delete_pattern_id_t', + 'delete_pkt_clean_db_t', + 'delete_pkt_debugctl_t', + 'delete_pkt_dump_md_result_t', + 'delete_pkt_dump_md_t', + 'delete_pkt_get_pop_result_t', + 'delete_pkt_get_pop_t', + 'delete_pkt_helo_t', + 'delete_pkt_pull_md_result_t', + 'delete_pkt_pull_md_t', + 'delete_pkt_push_md_result_t', + 'delete_pkt_push_md_t', + 'delete_pkt_rpc_fail_t', + 'delete_pkt_rpc_notify_t', + 'delete_pkt_rpc_ok_t', + 'delete_place_t', + 'delete_plugin_info_t', + 'delete_point_t', + 'delete_pointseq_t', + 'delete_pointvec_t', + 'delete_pop_fun_t', + 'delete_predicate_t', + 'delete_printop_t', + 'delete_process_info_t', + 'delete_procinfo_vec_t', + 'delete_ptr_type_data_t', + 'delete_push_md_opts_t', + 'delete_push_md_result_t', + 'delete_qbasic_block_t', + 'delete_qfile_t', + 'delete_qflow_chart_t', + 'delete_qlist_cinsn_t', + 'delete_qlist_cinsn_t_iterator', + 'delete_qmutex_locker_t', + 'delete_qrefcnt_obj_t', + 'delete_qvector_carg_t', + 'delete_qvector_ccase_t', + 'delete_qvector_history_t', + 'delete_qvector_lvar_t', + 'delete_qvector_snapshotvec_t', + 'delete_range_array', + 'delete_range_t', + 'delete_rangeset_t', + 'delete_rangevec_base_t', + 'delete_rangevec_t', + 'delete_rect_t', + 'delete_refinfo_t', + 'delete_reg_info_t', + 'delete_regarg_t', + 'delete_reginfovec_t', + 'delete_register_info_t', + 'delete_regobj_t', + 'delete_regobjs_t', + 'delete_regobjvec_t', + 'delete_regval_t', + 'delete_regvar_array', + 'delete_regvar_t', + 'delete_renderer_info_pos_t', + 'delete_renderer_info_t', + 'delete_renderer_pos_info_t', + 'delete_rlist_t', + 'delete_row_info_t', + 'delete_rrel_t', + 'delete_scattered_aloc_t', + 'delete_scattered_segm_t', + 'delete_scif_t', + 'delete_scif_visitor_t', + 'delete_screen_graph_selection_base_t', + 'delete_screen_graph_selection_t', + 'delete_segm_move_info_t', + 'delete_segm_move_info_vec_t', + 'delete_segm_move_infos_t', + 'delete_segment_t', + 'delete_seh_t', + 'delete_sel_array', + 'delete_sel_pointer', + 'delete_selection_item_t', + 'delete_serialized_tinfo', + 'delete_simd_info_t', + 'delete_simple_diff_handler_t', + 'delete_simple_idb_diff_handler_t', + 'delete_simpleline_place_t', + 'delete_simpleline_t', + 'delete_sizevec_t', + 'delete_skipped_func_t', + 'delete_skipped_funcs_t', + 'delete_snapshot_t', + 'delete_sreg_range_t', + 'delete_stkpnt_array', + 'delete_stkpnt_t', + 'delete_stkpnts_t', + 'delete_stkvar_ref_t', + 'delete_strarray_t', + 'delete_string_info_t', + 'delete_strpath_ids_array', + 'delete_strpath_t', + 'delete_struc_t', + 'delete_struct_field_visitor_t', + 'delete_structplace_t', + 'delete_strvec_t', + 'delete_strwinsetup_t', + 'delete_sval_pointer', + 'delete_switch_info_t', + 'delete_switch_table', + 'delete_sync_source_t', + 'delete_tev_info_reg_t', + 'delete_tev_info_t', + 'delete_tev_reg_value_t', + 'delete_tev_reg_values_t', + 'delete_tevinforeg_vec_t', + 'delete_text_sink_t', + 'delete_thread_name_t', + 'delete_tid_array', + 'delete_til_symbol_t', + 'delete_til_t', + 'delete_tinfo_t', + 'delete_tinfo_visitor_t', + 'delete_toolbar', + 'delete_treeloc_t', + 'delete_try_handler_t', + 'delete_tryblk_t', + 'delete_tryblks_t', + 'delete_twinpos_t', + 'delete_type_attr_t', + 'delete_type_attrs_t', + 'delete_type_mods_t', + 'delete_typedef_type_data_t', + 'delete_uchar_array', + 'delete_udc_filter_t', + 'delete_udcall_map_iterator_t', + 'delete_udcall_t', + 'delete_udt_member_t', + 'delete_udt_type_data_t', + 'delete_udtmembervec_t', + 'delete_ui_requests_t', + 'delete_ui_stroff_applicator_t', + 'delete_ui_stroff_op_t', + 'delete_ui_stroff_ops_t', + 'delete_uintvec_t', + 'delete_ulonglongvec_t', + 'delete_unreferenced_stkvars', + 'delete_user_cmts_iterator_t', + 'delete_user_cmts_t', + 'delete_user_graph_place_t', + 'delete_user_identification_t', + 'delete_user_iflags_iterator_t', + 'delete_user_iflags_t', + 'delete_user_labels_iterator_t', + 'delete_user_labels_t', + 'delete_user_lvar_modifier_t', + 'delete_user_numforms_iterator_t', + 'delete_user_numforms_t', + 'delete_user_stkpnt_t', + 'delete_user_stkpnts_t', + 'delete_user_unions_iterator_t', + 'delete_user_unions_t', + 'delete_uval_array', + 'delete_uval_ivl_ivlset_t', + 'delete_uval_ivl_t', + 'delete_valrng_t', + 'delete_valstr_t', + 'delete_valstrs_t', + 'delete_valstrvec_t', + 'delete_var_ref_t', + 'delete_vc_printer_t', + 'delete_vd_failure_t', + 'delete_vd_interr_t', + 'delete_vd_printer_t', + 'delete_vdloc_t', + 'delete_vdui_t', + 'delete_view_mouse_event_location_t', + 'delete_view_mouse_event_t', + 'delete_vivl_t', + 'delete_voff_t', + 'delete_wrong_stkvar_ops', + 'delete_xrefblk_t', + 'delete_xreflist_entry_t', + 'delete_xreflist_t', + 'demangle_name', + 'deref_idcv', + 'deref_ptr', + 'deserialize_tinfo', + 'detach_action_from_menu', + 'detach_action_from_popup', + 'detach_action_from_toolbar', + 'detach_custom_data_format', + 'detach_process', + 'diff_metadata', + 'diff_trace_file', + 'disable_bblk_trace', + 'disable_bpt', + 'disable_bpt__SWIG_0', + 'disable_bpt__SWIG_1', + 'disable_flags', + 'disable_func_trace', + 'disable_insn_trace', + 'disable_script_timeout', + 'disable_step_trace', + 'disasm_line_t_at_get', + 'disasm_line_t_at_set', + 'disasm_line_t_bg_color_get', + 'disasm_line_t_bg_color_set', + 'disasm_line_t_is_default_get', + 'disasm_line_t_is_default_set', + 'disasm_line_t_line_get', + 'disasm_line_t_line_set', + 'disasm_line_t_prefix_color_get', + 'disasm_line_t_prefix_color_set', + 'disasm_text_t___getitem__', + 'disasm_text_t___len__', + 'disasm_text_t___setitem__', + 'disasm_text_t_at', + 'disasm_text_t_begin', + 'disasm_text_t_begin__SWIG_0', + 'disasm_text_t_begin__SWIG_1', + 'disasm_text_t_capacity', + 'disasm_text_t_clear', + 'disasm_text_t_empty', + 'disasm_text_t_end', + 'disasm_text_t_end__SWIG_0', + 'disasm_text_t_end__SWIG_1', + 'disasm_text_t_erase', + 'disasm_text_t_erase__SWIG_0', + 'disasm_text_t_erase__SWIG_1', + 'disasm_text_t_extract', + 'disasm_text_t_grow', + 'disasm_text_t_inject', + 'disasm_text_t_insert', + 'disasm_text_t_pop_back', + 'disasm_text_t_push_back', + 'disasm_text_t_push_back__SWIG_0', + 'disasm_text_t_push_back__SWIG_1', + 'disasm_text_t_qclear', + 'disasm_text_t_reserve', + 'disasm_text_t_resize', + 'disasm_text_t_resize__SWIG_0', + 'disasm_text_t_resize__SWIG_1', + 'disasm_text_t_size', + 'disasm_text_t_swap', + 'disasm_text_t_truncate', + 'disown_DBG_Hooks', + 'disown_Hexrays_Hooks', + 'disown_IDB_Hooks', + 'disown_IDP_Hooks', + 'disown_UI_Hooks', + 'disown_View_Hooks', + 'disown_aloc_visitor_t', + 'disown_cfunc_parentee_t', + 'disown_chain_visitor_t', + 'disown_codegen_t', + 'disown_const_aloc_visitor_t', + 'disown_ctree_parentee_t', + 'disown_ctree_visitor_t', + 'disown_enum_member_visitor_t', + 'disown_func_md_diff_handler_t', + 'disown_graph_node_visitor_t', + 'disown_graph_path_visitor_t', + 'disown_graph_visitor_t', + 'disown_highlighter_cbs_t', + 'disown_microcode_filter_t', + 'disown_minsn_visitor_t', + 'disown_mlist_mop_visitor_t', + 'disown_mop_visitor_t', + 'disown_mutable_graph_t', + 'disown_optblock_t', + 'disown_optinsn_t', + 'disown_predicate_t', + 'disown_scif_visitor_t', + 'disown_struct_field_visitor_t', + 'disown_text_sink_t', + 'disown_tinfo_visitor_t', + 'disown_udc_filter_t', + 'disown_ui_stroff_applicator_t', + 'disown_user_lvar_modifier_t', + 'disown_vc_printer_t', + 'disown_vd_printer_t', + 'display_copyright_warning', + 'display_gdl', + 'display_widget', + 'double_flag', + 'dstr', + 'dstr_tinfo', + 'dummy_ptrtype', + 'dump_func_type_data', + 'dword_flag', + 'ea2node', + 'ea2str', + 'ea_array___getitem__', + 'ea_array___setitem__', + 'ea_array_cast', + 'ea_array_frompointer', + 'ea_name_t_ea_get', + 'ea_name_t_ea_set', + 'ea_name_t_name_get', + 'ea_name_t_name_set', + 'ea_name_vec_t___getitem__', + 'ea_name_vec_t___len__', + 'ea_name_vec_t___setitem__', + 'ea_name_vec_t_at', + 'ea_name_vec_t_begin', + 'ea_name_vec_t_begin__SWIG_0', + 'ea_name_vec_t_begin__SWIG_1', + 'ea_name_vec_t_capacity', + 'ea_name_vec_t_clear', + 'ea_name_vec_t_empty', + 'ea_name_vec_t_end', + 'ea_name_vec_t_end__SWIG_0', + 'ea_name_vec_t_end__SWIG_1', + 'ea_name_vec_t_erase', + 'ea_name_vec_t_erase__SWIG_0', + 'ea_name_vec_t_erase__SWIG_1', + 'ea_name_vec_t_extract', + 'ea_name_vec_t_grow', + 'ea_name_vec_t_inject', + 'ea_name_vec_t_insert', + 'ea_name_vec_t_pop_back', + 'ea_name_vec_t_push_back', + 'ea_name_vec_t_push_back__SWIG_0', + 'ea_name_vec_t_push_back__SWIG_1', + 'ea_name_vec_t_qclear', + 'ea_name_vec_t_reserve', + 'ea_name_vec_t_resize', + 'ea_name_vec_t_resize__SWIG_0', + 'ea_name_vec_t_resize__SWIG_1', + 'ea_name_vec_t_size', + 'ea_name_vec_t_swap', + 'ea_name_vec_t_truncate', + 'ea_pointer_assign', + 'ea_pointer_cast', + 'ea_pointer_frompointer', + 'ea_pointer_value', + 'ea_to_ea64', + 'ea_viewer_history_push_and_jump', + 'eamap_begin', + 'eamap_clear', + 'eamap_end', + 'eamap_erase', + 'eamap_find', + 'eamap_first', + 'eamap_free', + 'eamap_insert', + 'eamap_iterator_t___eq__', + 'eamap_iterator_t___ne__', + 'eamap_iterator_t_x_get', + 'eamap_iterator_t_x_set', + 'eamap_new', + 'eamap_next', + 'eamap_prev', + 'eamap_second', + 'eamap_size', + 'eamap_t_at', + 'eamap_t_size', + 'eclose', + 'edge_info_t_color_get', + 'edge_info_t_color_set', + 'edge_info_t_dstoff_get', + 'edge_info_t_dstoff_set', + 'edge_info_t_layout_get', + 'edge_info_t_layout_set', + 'edge_info_t_reverse_layout', + 'edge_info_t_srcoff_get', + 'edge_info_t_srcoff_set', + 'edge_info_t_width_get', + 'edge_info_t_width_set', + 'edge_infos_wrapper_t_clear', + 'edge_infos_wrapper_t_ptr_get', + 'edge_infos_wrapper_t_ptr_set', + 'edge_layout_point_t___eq__', + 'edge_layout_point_t___ne__', + 'edge_layout_point_t_compare', + 'edge_layout_point_t_e_get', + 'edge_layout_point_t_e_set', + 'edge_layout_point_t_pidx_get', + 'edge_layout_point_t_pidx_set', + 'edge_segment_t___lt__', + 'edge_segment_t_e_get', + 'edge_segment_t_e_set', + 'edge_segment_t_length', + 'edge_segment_t_nseg_get', + 'edge_segment_t_nseg_set', + 'edge_segment_t_toright', + 'edge_segment_t_x0_get', + 'edge_segment_t_x0_set', + 'edge_segment_t_x1_get', + 'edge_segment_t_x1_set', + 'edge_t___eq__', + 'edge_t___lt__', + 'edge_t___ne__', + 'edge_t_dst_get', + 'edge_t_dst_set', + 'edge_t_src_get', + 'edge_t_src_set', + 'edit_manual_regions', + 'enable_auto', + 'enable_bblk_trace', + 'enable_bpt', + 'enable_bpt__SWIG_0', + 'enable_bpt__SWIG_1', + 'enable_chooser_item_attrs', + 'enable_extlang_python', + 'enable_flags', + 'enable_func_trace', + 'enable_insn_trace', + 'enable_manual_regions', + 'enable_python_cli', + 'enable_step_trace', + 'encoding_from_strtype', + 'end_type_updating', + 'enum_const_t_serial_get', + 'enum_const_t_serial_set', + 'enum_const_t_tid_get', + 'enum_const_t_tid_set', + 'enum_flag', + 'enum_import_names', + 'enum_member_t___eq__', + 'enum_member_t___ne__', + 'enum_member_t_cmt_get', + 'enum_member_t_cmt_set', + 'enum_member_t_name_get', + 'enum_member_t_name_set', + 'enum_member_t_swap', + 'enum_member_t_value_get', + 'enum_member_t_value_set', + 'enum_member_vec_t___eq__', + 'enum_member_vec_t___getitem__', + 'enum_member_vec_t___len__', + 'enum_member_vec_t___ne__', + 'enum_member_vec_t___setitem__', + 'enum_member_vec_t__del', + 'enum_member_vec_t_add_unique', + 'enum_member_vec_t_at', + 'enum_member_vec_t_begin', + 'enum_member_vec_t_begin__SWIG_0', + 'enum_member_vec_t_begin__SWIG_1', + 'enum_member_vec_t_capacity', + 'enum_member_vec_t_clear', + 'enum_member_vec_t_empty', + 'enum_member_vec_t_end', + 'enum_member_vec_t_end__SWIG_0', + 'enum_member_vec_t_end__SWIG_1', + 'enum_member_vec_t_erase', + 'enum_member_vec_t_erase__SWIG_0', + 'enum_member_vec_t_erase__SWIG_1', + 'enum_member_vec_t_extract', + 'enum_member_vec_t_find', + 'enum_member_vec_t_find__SWIG_0', + 'enum_member_vec_t_find__SWIG_1', + 'enum_member_vec_t_grow', + 'enum_member_vec_t_has', + 'enum_member_vec_t_inject', + 'enum_member_vec_t_insert', + 'enum_member_vec_t_pop_back', + 'enum_member_vec_t_push_back', + 'enum_member_vec_t_push_back__SWIG_0', + 'enum_member_vec_t_push_back__SWIG_1', + 'enum_member_vec_t_qclear', + 'enum_member_vec_t_reserve', + 'enum_member_vec_t_resize', + 'enum_member_vec_t_resize__SWIG_0', + 'enum_member_vec_t_resize__SWIG_1', + 'enum_member_vec_t_size', + 'enum_member_vec_t_swap', + 'enum_member_vec_t_truncate', + 'enum_member_visitor_t_visit_enum_member', + 'enum_type_data_t_bte_get', + 'enum_type_data_t_bte_set', + 'enum_type_data_t_calc_mask', + 'enum_type_data_t_calc_nbytes', + 'enum_type_data_t_group_sizes_get', + 'enum_type_data_t_group_sizes_set', + 'enum_type_data_t_is_64bit', + 'enum_type_data_t_is_char', + 'enum_type_data_t_is_hex', + 'enum_type_data_t_is_sdec', + 'enum_type_data_t_is_udec', + 'enum_type_data_t_swap', + 'enum_type_data_t_taenum_bits_get', + 'enum_type_data_t_taenum_bits_set', + 'enumerate_files', + 'enumplace_t_bmask_get', + 'enumplace_t_bmask_set', + 'enumplace_t_idx_get', + 'enumplace_t_idx_set', + 'enumplace_t_serial_get', + 'enumplace_t_serial_set', + 'enumplace_t_value_get', + 'enumplace_t_value_set', + 'equal_bytes', + 'error', + 'error__varargs__', + 'eval_ctx_t_ea_get', + 'eval_ctx_t_ea_set', + 'eval_expr', + 'eval_idc_expr', + 'exception_info_t_break_on', + 'exception_info_t_code_get', + 'exception_info_t_code_set', + 'exception_info_t_desc_get', + 'exception_info_t_desc_set', + 'exception_info_t_flags_get', + 'exception_info_t_flags_set', + 'exception_info_t_handle', + 'exception_info_t_name_get', + 'exception_info_t_name_set', + 'excinfo_t_can_cont_get', + 'excinfo_t_can_cont_set', + 'excinfo_t_code_get', + 'excinfo_t_code_set', + 'excinfo_t_ea_get', + 'excinfo_t_ea_set', + 'excinfo_t_info_get', + 'excinfo_t_info_set', + 'excvec_t___getitem__', + 'excvec_t___len__', + 'excvec_t___setitem__', + 'excvec_t_at', + 'excvec_t_begin', + 'excvec_t_begin__SWIG_0', + 'excvec_t_begin__SWIG_1', + 'excvec_t_capacity', + 'excvec_t_clear', + 'excvec_t_empty', + 'excvec_t_end', + 'excvec_t_end__SWIG_0', + 'excvec_t_end__SWIG_1', + 'excvec_t_erase', + 'excvec_t_erase__SWIG_0', + 'excvec_t_erase__SWIG_1', + 'excvec_t_extract', + 'excvec_t_grow', + 'excvec_t_inject', + 'excvec_t_insert', + 'excvec_t_pop_back', + 'excvec_t_push_back', + 'excvec_t_push_back__SWIG_0', + 'excvec_t_push_back__SWIG_1', + 'excvec_t_qclear', + 'excvec_t_reserve', + 'excvec_t_resize', + 'excvec_t_resize__SWIG_0', + 'excvec_t_resize__SWIG_1', + 'excvec_t_size', + 'excvec_t_swap', + 'excvec_t_truncate', + 'exec_idc_script', + 'exec_system_script', + 'execute_sync', + 'execute_ui_requests', + 'exist', + 'exist_bpt', + 'exists_fixup', + 'exit_process', + 'expand_struc', + 'extend_sign', + 'extra_cmt_t_next_get', + 'extra_cmt_t_next_set', + 'extra_cmt_t_prev_get', + 'extra_cmt_t_prev_set', + 'extra_cmts_t___getitem__', + 'extra_cmts_t___len__', + 'extra_cmts_t___setitem__', + 'extra_cmts_t_at', + 'extra_cmts_t_begin', + 'extra_cmts_t_begin__SWIG_0', + 'extra_cmts_t_begin__SWIG_1', + 'extra_cmts_t_capacity', + 'extra_cmts_t_clear', + 'extra_cmts_t_empty', + 'extra_cmts_t_end', + 'extra_cmts_t_end__SWIG_0', + 'extra_cmts_t_end__SWIG_1', + 'extra_cmts_t_erase', + 'extra_cmts_t_erase__SWIG_0', + 'extra_cmts_t_erase__SWIG_1', + 'extra_cmts_t_extract', + 'extra_cmts_t_grow', + 'extra_cmts_t_inject', + 'extra_cmts_t_insert', + 'extra_cmts_t_pop_back', + 'extra_cmts_t_push_back', + 'extra_cmts_t_push_back__SWIG_0', + 'extra_cmts_t_push_back__SWIG_1', + 'extra_cmts_t_qclear', + 'extra_cmts_t_reserve', + 'extra_cmts_t_resize', + 'extra_cmts_t_resize__SWIG_0', + 'extra_cmts_t_resize__SWIG_1', + 'extra_cmts_t_size', + 'extra_cmts_t_swap', + 'extra_cmts_t_truncate', + 'extract_argloc', + 'extract_extra_cmts_from_metadata', + 'extract_frame_desc_from_metadata', + 'extract_insn_cmts_from_metadata', + 'extract_insn_opreprs_from_metadata', + 'extract_module_from_archive', + 'extract_name', + 'extract_type_from_metadata', + 'extract_user_stkpnts_from_metadata', + 'f_any', + 'f_has_cmt', + 'f_has_dummy_name', + 'f_has_extra_cmts', + 'f_has_name', + 'f_has_user_name', + 'f_has_xref', + 'f_is_align', + 'f_is_byte', + 'f_is_code', + 'f_is_custom', + 'f_is_data', + 'f_is_double', + 'f_is_dword', + 'f_is_float', + 'f_is_head', + 'f_is_not_tail', + 'f_is_oword', + 'f_is_pack_real', + 'f_is_qword', + 'f_is_strlit', + 'f_is_struct', + 'f_is_tail', + 'f_is_tbyte', + 'f_is_word', + 'f_is_yword', + 'file2base', + 'find_binary', + 'find_bpt', + 'find_byte', + 'find_byter', + 'find_code', + 'find_custom_data_format', + 'find_custom_data_type', + 'find_custom_fixup', + 'find_custom_refinfo', + 'find_data', + 'find_defined', + 'find_error', + 'find_free_selector', + 'find_func_bounds', + 'find_idc_class', + 'find_idc_func', + 'find_idc_gvar', + 'find_imm', + 'find_not_func', + 'find_notype', + 'find_plugin', + 'find_regvar', + 'find_regvar__SWIG_0', + 'find_regvar__SWIG_1', + 'find_selector', + 'find_suspop', + 'find_syseh', + 'find_text', + 'find_tinfo_udt_member', + 'find_unknown', + 'find_widget', + 'first_idcv_attr', + 'first_named_type', + 'fixup_data_t_calc_size', + 'fixup_data_t_clr_extdef', + 'fixup_data_t_clr_unused', + 'fixup_data_t_displacement_get', + 'fixup_data_t_displacement_set', + 'fixup_data_t_get', + 'fixup_data_t_get_base', + 'fixup_data_t_get_desc', + 'fixup_data_t_get_flags', + 'fixup_data_t_get_handler', + 'fixup_data_t_get_type', + 'fixup_data_t_get_value', + 'fixup_data_t_has_base', + 'fixup_data_t_is_custom', + 'fixup_data_t_is_extdef', + 'fixup_data_t_is_unused', + 'fixup_data_t_off_get', + 'fixup_data_t_off_set', + 'fixup_data_t_patch_value', + 'fixup_data_t_sel_get', + 'fixup_data_t_sel_set', + 'fixup_data_t_set', + 'fixup_data_t_set_base', + 'fixup_data_t_set_extdef', + 'fixup_data_t_set_sel', + 'fixup_data_t_set_target_sel', + 'fixup_data_t_set_type', + 'fixup_data_t_set_type_and_flags', + 'fixup_data_t_set_unused', + 'fixup_data_t_was_created', + 'fixup_info_t_ea_get', + 'fixup_info_t_ea_set', + 'fixup_info_t_fd_get', + 'fixup_info_t_fd_set', + 'float_flag', + 'flt_flag', + 'flush_buffers', + 'fnum_array___getitem__', + 'fnum_array___len__', + 'fnum_array___setitem__', + 'fnum_array_data_get', + 'fnumber_t___eq__', + 'fnumber_t___ge__', + 'fnumber_t___get_fnum', + 'fnumber_t___gt__', + 'fnumber_t___le__', + 'fnumber_t___lt__', + 'fnumber_t___ne__', + 'fnumber_t__print', + 'fnumber_t_compare', + 'fnumber_t_dereference_const_uint16', + 'fnumber_t_dereference_uint16', + 'fnumber_t_fnum_get', + 'fnumber_t_fnum_set', + 'fnumber_t_nbytes_get', + 'fnumber_t_nbytes_set', + 'fopenA', + 'fopenM', + 'fopenRB', + 'fopenRT', + 'fopenWB', + 'fopenWT', + 'for_all_arglocs', + 'for_all_const_arglocs', + 'for_all_enum_members', + 'force_name', + 'forget_problem', + 'format_basestring', + 'formchgcbfa_close', + 'formchgcbfa_enable_field', + 'formchgcbfa_get_field_value', + 'formchgcbfa_get_focused_field', + 'formchgcbfa_move_field', + 'formchgcbfa_refresh_field', + 'formchgcbfa_set_field_value', + 'formchgcbfa_set_focused_field', + 'formchgcbfa_show_field', + 'frame_desc_t_argsize_get', + 'frame_desc_t_argsize_set', + 'frame_desc_t_frregs_get', + 'frame_desc_t_frregs_set', + 'frame_desc_t_frsize_get', + 'frame_desc_t_frsize_set', + 'frame_desc_t_members_get', + 'frame_desc_t_members_set', + 'frame_mem_t_cmt_get', + 'frame_mem_t_cmt_set', + 'frame_mem_t_info_get', + 'frame_mem_t_info_set', + 'frame_mem_t_name_get', + 'frame_mem_t_name_set', + 'frame_mem_t_nbytes_get', + 'frame_mem_t_nbytes_set', + 'frame_mem_t_offset_get', + 'frame_mem_t_offset_set', + 'frame_mem_t_rptcmt_get', + 'frame_mem_t_rptcmt_set', + 'frame_mem_t_type_get', + 'frame_mem_t_type_set', + 'frame_mems_t___getitem__', + 'frame_mems_t___len__', + 'frame_mems_t___setitem__', + 'frame_mems_t_at', + 'frame_mems_t_begin', + 'frame_mems_t_begin__SWIG_0', + 'frame_mems_t_begin__SWIG_1', + 'frame_mems_t_capacity', + 'frame_mems_t_clear', + 'frame_mems_t_empty', + 'frame_mems_t_end', + 'frame_mems_t_end__SWIG_0', + 'frame_mems_t_end__SWIG_1', + 'frame_mems_t_erase', + 'frame_mems_t_erase__SWIG_0', + 'frame_mems_t_erase__SWIG_1', + 'frame_mems_t_extract', + 'frame_mems_t_grow', + 'frame_mems_t_inject', + 'frame_mems_t_insert', + 'frame_mems_t_pop_back', + 'frame_mems_t_push_back', + 'frame_mems_t_push_back__SWIG_0', + 'frame_mems_t_push_back__SWIG_1', + 'frame_mems_t_qclear', + 'frame_mems_t_reserve', + 'frame_mems_t_resize', + 'frame_mems_t_resize__SWIG_0', + 'frame_mems_t_resize__SWIG_1', + 'frame_mems_t_size', + 'frame_mems_t_swap', + 'frame_mems_t_truncate', + 'frame_off_args', + 'frame_off_lvars', + 'frame_off_retaddr', + 'frame_off_savregs', + 'free_chunk', + 'free_custom_icon', + 'free_idcv', + 'free_til', + 'func_contains', + 'func_does_return', + 'func_has_stkframe_hole', + 'func_info_and_frequency_t_frequency_get', + 'func_info_and_frequency_t_frequency_set', + 'func_info_and_frequency_vec_t___getitem__', + 'func_info_and_frequency_vec_t___len__', + 'func_info_and_frequency_vec_t___setitem__', + 'func_info_and_frequency_vec_t_at', + 'func_info_and_frequency_vec_t_begin', + 'func_info_and_frequency_vec_t_begin__SWIG_0', + 'func_info_and_frequency_vec_t_begin__SWIG_1', + 'func_info_and_frequency_vec_t_capacity', + 'func_info_and_frequency_vec_t_clear', + 'func_info_and_frequency_vec_t_empty', + 'func_info_and_frequency_vec_t_end', + 'func_info_and_frequency_vec_t_end__SWIG_0', + 'func_info_and_frequency_vec_t_end__SWIG_1', + 'func_info_and_frequency_vec_t_erase', + 'func_info_and_frequency_vec_t_erase__SWIG_0', + 'func_info_and_frequency_vec_t_erase__SWIG_1', + 'func_info_and_frequency_vec_t_extract', + 'func_info_and_frequency_vec_t_grow', + 'func_info_and_frequency_vec_t_inject', + 'func_info_and_frequency_vec_t_insert', + 'func_info_and_frequency_vec_t_pop_back', + 'func_info_and_frequency_vec_t_push_back', + 'func_info_and_frequency_vec_t_push_back__SWIG_0', + 'func_info_and_frequency_vec_t_push_back__SWIG_1', + 'func_info_and_frequency_vec_t_qclear', + 'func_info_and_frequency_vec_t_reserve', + 'func_info_and_frequency_vec_t_resize', + 'func_info_and_frequency_vec_t_resize__SWIG_0', + 'func_info_and_frequency_vec_t_resize__SWIG_1', + 'func_info_and_frequency_vec_t_size', + 'func_info_and_frequency_vec_t_swap', + 'func_info_and_frequency_vec_t_truncate', + 'func_info_and_pattern_t_pattern_id_get', + 'func_info_and_pattern_t_pattern_id_set', + 'func_info_and_pattern_vec_t___getitem__', + 'func_info_and_pattern_vec_t___len__', + 'func_info_and_pattern_vec_t___setitem__', + 'func_info_and_pattern_vec_t_at', + 'func_info_and_pattern_vec_t_begin', + 'func_info_and_pattern_vec_t_begin__SWIG_0', + 'func_info_and_pattern_vec_t_begin__SWIG_1', + 'func_info_and_pattern_vec_t_capacity', + 'func_info_and_pattern_vec_t_clear', + 'func_info_and_pattern_vec_t_empty', + 'func_info_and_pattern_vec_t_end', + 'func_info_and_pattern_vec_t_end__SWIG_0', + 'func_info_and_pattern_vec_t_end__SWIG_1', + 'func_info_and_pattern_vec_t_erase', + 'func_info_and_pattern_vec_t_erase__SWIG_0', + 'func_info_and_pattern_vec_t_erase__SWIG_1', + 'func_info_and_pattern_vec_t_extract', + 'func_info_and_pattern_vec_t_grow', + 'func_info_and_pattern_vec_t_inject', + 'func_info_and_pattern_vec_t_insert', + 'func_info_and_pattern_vec_t_pop_back', + 'func_info_and_pattern_vec_t_push_back', + 'func_info_and_pattern_vec_t_push_back__SWIG_0', + 'func_info_and_pattern_vec_t_push_back__SWIG_1', + 'func_info_and_pattern_vec_t_qclear', + 'func_info_and_pattern_vec_t_reserve', + 'func_info_and_pattern_vec_t_resize', + 'func_info_and_pattern_vec_t_resize__SWIG_0', + 'func_info_and_pattern_vec_t_resize__SWIG_1', + 'func_info_and_pattern_vec_t_size', + 'func_info_and_pattern_vec_t_swap', + 'func_info_and_pattern_vec_t_truncate', + 'func_info_base_t_metadata_get', + 'func_info_base_t_metadata_set', + 'func_info_base_t_name_get', + 'func_info_base_t_name_set', + 'func_info_pattern_and_frequency_t_frequency_get', + 'func_info_pattern_and_frequency_t_frequency_set', + 'func_info_pattern_and_frequency_vec_t___getitem__', + 'func_info_pattern_and_frequency_vec_t___len__', + 'func_info_pattern_and_frequency_vec_t___setitem__', + 'func_info_pattern_and_frequency_vec_t_at', + 'func_info_pattern_and_frequency_vec_t_begin', + 'func_info_pattern_and_frequency_vec_t_begin__SWIG_0', + 'func_info_pattern_and_frequency_vec_t_begin__SWIG_1', + 'func_info_pattern_and_frequency_vec_t_capacity', + 'func_info_pattern_and_frequency_vec_t_clear', + 'func_info_pattern_and_frequency_vec_t_empty', + 'func_info_pattern_and_frequency_vec_t_end', + 'func_info_pattern_and_frequency_vec_t_end__SWIG_0', + 'func_info_pattern_and_frequency_vec_t_end__SWIG_1', + 'func_info_pattern_and_frequency_vec_t_erase', + 'func_info_pattern_and_frequency_vec_t_erase__SWIG_0', + 'func_info_pattern_and_frequency_vec_t_erase__SWIG_1', + 'func_info_pattern_and_frequency_vec_t_extract', + 'func_info_pattern_and_frequency_vec_t_grow', + 'func_info_pattern_and_frequency_vec_t_inject', + 'func_info_pattern_and_frequency_vec_t_insert', + 'func_info_pattern_and_frequency_vec_t_pop_back', + 'func_info_pattern_and_frequency_vec_t_push_back', + 'func_info_pattern_and_frequency_vec_t_push_back__SWIG_0', + 'func_info_pattern_and_frequency_vec_t_push_back__SWIG_1', + 'func_info_pattern_and_frequency_vec_t_qclear', + 'func_info_pattern_and_frequency_vec_t_reserve', + 'func_info_pattern_and_frequency_vec_t_resize', + 'func_info_pattern_and_frequency_vec_t_resize__SWIG_0', + 'func_info_pattern_and_frequency_vec_t_resize__SWIG_1', + 'func_info_pattern_and_frequency_vec_t_size', + 'func_info_pattern_and_frequency_vec_t_swap', + 'func_info_pattern_and_frequency_vec_t_truncate', + 'func_info_t_metadata_get', + 'func_info_t_metadata_set', + 'func_info_t_name_get', + 'func_info_t_name_set', + 'func_info_t_size_get', + 'func_info_t_size_set', + 'func_info_vec_t___getitem__', + 'func_info_vec_t___len__', + 'func_info_vec_t___setitem__', + 'func_info_vec_t_at', + 'func_info_vec_t_begin', + 'func_info_vec_t_begin__SWIG_0', + 'func_info_vec_t_begin__SWIG_1', + 'func_info_vec_t_capacity', + 'func_info_vec_t_clear', + 'func_info_vec_t_empty', + 'func_info_vec_t_end', + 'func_info_vec_t_end__SWIG_0', + 'func_info_vec_t_end__SWIG_1', + 'func_info_vec_t_erase', + 'func_info_vec_t_erase__SWIG_0', + 'func_info_vec_t_erase__SWIG_1', + 'func_info_vec_t_extract', + 'func_info_vec_t_grow', + 'func_info_vec_t_inject', + 'func_info_vec_t_insert', + 'func_info_vec_t_pop_back', + 'func_info_vec_t_push_back', + 'func_info_vec_t_push_back__SWIG_0', + 'func_info_vec_t_push_back__SWIG_1', + 'func_info_vec_t_qclear', + 'func_info_vec_t_reserve', + 'func_info_vec_t_resize', + 'func_info_vec_t_resize__SWIG_0', + 'func_info_vec_t_resize__SWIG_1', + 'func_info_vec_t_size', + 'func_info_vec_t_swap', + 'func_info_vec_t_truncate', + 'func_item_iterator_decode_preceding_insn', + 'func_item_iterator_decode_prev_insn', + 'func_item_iterator_next', + 'func_item_iterator_prev', + 'func_item_iterator_t___next__', + 'func_item_iterator_t_chunk', + 'func_item_iterator_t_current', + 'func_item_iterator_t_decode_preceding_insn', + 'func_item_iterator_t_decode_prev_insn', + 'func_item_iterator_t_first', + 'func_item_iterator_t_last', + 'func_item_iterator_t_next_addr', + 'func_item_iterator_t_next_code', + 'func_item_iterator_t_next_data', + 'func_item_iterator_t_next_head', + 'func_item_iterator_t_next_not_tail', + 'func_item_iterator_t_prev', + 'func_item_iterator_t_prev_addr', + 'func_item_iterator_t_prev_code', + 'func_item_iterator_t_prev_data', + 'func_item_iterator_t_prev_head', + 'func_item_iterator_t_prev_not_tail', + 'func_item_iterator_t_set', + 'func_item_iterator_t_set_range', + 'func_md_diff_handler_t_on_comment_changed', + 'func_md_diff_handler_t_on_extra_comment_changed', + 'func_md_diff_handler_t_on_frame_member_changed', + 'func_md_diff_handler_t_on_function_comment_changed', + 'func_md_diff_handler_t_on_insn_ops_repr_changed', + 'func_md_diff_handler_t_on_name_changed', + 'func_md_diff_handler_t_on_proto_changed', + 'func_md_diff_handler_t_on_score_changed', + 'func_md_diff_handler_t_on_user_stkpnt_changed', + 'func_parent_iterator_set', + 'func_parent_iterator_t___next__', + 'func_parent_iterator_t_first', + 'func_parent_iterator_t_last', + 'func_parent_iterator_t_parent', + 'func_parent_iterator_t_prev', + 'func_parent_iterator_t_reset_fnt', + 'func_parent_iterator_t_set', + 'func_t___get_points__', + 'func_t___get_regvars__', + 'func_t___get_tails__', + 'func_t__from_ptrval__', + 'func_t_analyzed_sp', + 'func_t_argsize_get', + 'func_t_argsize_set', + 'func_t_color_get', + 'func_t_color_set', + 'func_t_does_return', + 'func_t_flags_get', + 'func_t_flags_set', + 'func_t_fpd_get', + 'func_t_fpd_set', + 'func_t_frame_get', + 'func_t_frame_set', + 'func_t_frregs_get', + 'func_t_frregs_set', + 'func_t_frsize_get', + 'func_t_frsize_set', + 'func_t_is_far', + 'func_t_llabelqty_get', + 'func_t_llabelqty_set', + 'func_t_llabels_get', + 'func_t_llabels_set', + 'func_t_need_prolog_analysis', + 'func_t_owner_get', + 'func_t_owner_set', + 'func_t_pntqty_get', + 'func_t_pntqty_set', + 'func_t_points_get', + 'func_t_points_set', + 'func_t_referers_get', + 'func_t_referers_set', + 'func_t_refqty_get', + 'func_t_refqty_set', + 'func_t_regargqty_get', + 'func_t_regargqty_set', + 'func_t_regargs_get', + 'func_t_regargs_set', + 'func_t_regvarqty_get', + 'func_t_regvarqty_set', + 'func_t_regvars_get', + 'func_t_regvars_set', + 'func_t_tailqty_get', + 'func_t_tailqty_set', + 'func_t_tails_get', + 'func_t_tails_set', + 'func_tail_iterator_set', + 'func_tail_iterator_set_ea', + 'func_tail_iterator_t___next__', + 'func_tail_iterator_t_chunk', + 'func_tail_iterator_t_first', + 'func_tail_iterator_t_last', + 'func_tail_iterator_t_main', + 'func_tail_iterator_t_prev', + 'func_tail_iterator_t_set', + 'func_tail_iterator_t_set_ea', + 'func_tail_iterator_t_set_range', + 'func_type_data_t_cc_get', + 'func_type_data_t_cc_set', + 'func_type_data_t_dump', + 'func_type_data_t_flags_get', + 'func_type_data_t_flags_set', + 'func_type_data_t_get_call_method', + 'func_type_data_t_guess_cc', + 'func_type_data_t_is_high', + 'func_type_data_t_is_noret', + 'func_type_data_t_is_pure', + 'func_type_data_t_is_vararg_cc', + 'func_type_data_t_retloc_get', + 'func_type_data_t_retloc_set', + 'func_type_data_t_rettype_get', + 'func_type_data_t_rettype_set', + 'func_type_data_t_spoiled_get', + 'func_type_data_t_spoiled_set', + 'func_type_data_t_stkargs_get', + 'func_type_data_t_stkargs_set', + 'func_type_data_t_swap', + 'funcarg_t___eq__', + 'funcarg_t___ne__', + 'funcarg_t_argloc_get', + 'funcarg_t_argloc_set', + 'funcarg_t_cmt_get', + 'funcarg_t_cmt_set', + 'funcarg_t_flags_get', + 'funcarg_t_flags_set', + 'funcarg_t_name_get', + 'funcarg_t_name_set', + 'funcarg_t_type_get', + 'funcarg_t_type_set', + 'funcargvec_t___eq__', + 'funcargvec_t___getitem__', + 'funcargvec_t___len__', + 'funcargvec_t___ne__', + 'funcargvec_t___setitem__', + 'funcargvec_t__del', + 'funcargvec_t_add_unique', + 'funcargvec_t_at', + 'funcargvec_t_begin', + 'funcargvec_t_begin__SWIG_0', + 'funcargvec_t_begin__SWIG_1', + 'funcargvec_t_capacity', + 'funcargvec_t_clear', + 'funcargvec_t_empty', + 'funcargvec_t_end', + 'funcargvec_t_end__SWIG_0', + 'funcargvec_t_end__SWIG_1', + 'funcargvec_t_erase', + 'funcargvec_t_erase__SWIG_0', + 'funcargvec_t_erase__SWIG_1', + 'funcargvec_t_extract', + 'funcargvec_t_find', + 'funcargvec_t_find__SWIG_0', + 'funcargvec_t_find__SWIG_1', + 'funcargvec_t_grow', + 'funcargvec_t_has', + 'funcargvec_t_inject', + 'funcargvec_t_insert', + 'funcargvec_t_pop_back', + 'funcargvec_t_push_back', + 'funcargvec_t_push_back__SWIG_0', + 'funcargvec_t_push_back__SWIG_1', + 'funcargvec_t_qclear', + 'funcargvec_t_reserve', + 'funcargvec_t_resize', + 'funcargvec_t_resize__SWIG_0', + 'funcargvec_t_resize__SWIG_1', + 'funcargvec_t_size', + 'funcargvec_t_swap', + 'funcargvec_t_truncate', + 'gcc_layout', + 'gco_info_t_append_to_list', + 'gco_info_t_flags_get', + 'gco_info_t_flags_set', + 'gco_info_t_is_def', + 'gco_info_t_is_reg', + 'gco_info_t_is_use', + 'gco_info_t_name_get', + 'gco_info_t_name_set', + 'gco_info_t_size_get', + 'gco_info_t_size_set', + 'gen_complex_call_chart', + 'gen_decorate_name', + 'gen_disasm_text', + 'gen_exe_file', + 'gen_file', + 'gen_fix_fixups', + 'gen_flow_graph', + 'gen_gdl', + 'gen_idb_event', + 'gen_idb_event__varargs__', + 'gen_microcode', + 'gen_simple_call_chart', + 'gen_use_arg_tinfos', + 'generate_disasm_line', + 'generate_disassembly', + 'generic_linput_t_blocksize_get', + 'generic_linput_t_blocksize_set', + 'generic_linput_t_filesize_get', + 'generic_linput_t_filesize_set', + 'generic_linput_t_read', + 'get_16bit', + 'get_32bit', + 'get_64bit', + 'get_8bit', + 'get_abi_name', + 'get_absbase', + 'get_action_checkable', + 'get_action_checked', + 'get_action_icon', + 'get_action_label', + 'get_action_shortcut', + 'get_action_state', + 'get_action_tooltip', + 'get_action_visibility', + 'get_active_modal_widget', + 'get_addon_info', + 'get_addon_info_idx', + 'get_aflags', + 'get_alias_target', + 'get_alignment', + 'get_archive_path', + 'get_arg_addrs', + 'get_array_parameters', + 'get_asm_inc_file', + 'get_auto_display', + 'get_auto_state', + 'get_base_type', + 'get_basic_file_type', + 'get_bblk_trace_options', + 'get_best_fit_member', + 'get_bmask_cmt', + 'get_bmask_name', + 'get_bpt', + 'get_bpt_group', + 'get_bpt_qty', + 'get_bpt_tev_ea', + 'get_bptloc_string', + 'get_byte', + 'get_bytes', + 'get_bytes_and_mask', + 'get_c_header_path', + 'get_c_macros', + 'get_call_tev_callee', + 'get_chooser_data', + 'get_chooser_obj', + 'get_cmt', + 'get_colored_demangled_name', + 'get_colored_long_name', + 'get_colored_name', + 'get_colored_short_name', + 'get_comp', + 'get_compiler_abbr', + 'get_compiler_name', + 'get_compilers', + 'get_cp_validity', + 'get_ctype_name', + 'get_curline', + 'get_current_idasgn', + 'get_current_operand', + 'get_current_source_file', + 'get_current_source_line', + 'get_current_thread', + 'get_current_viewer', + 'get_current_widget', + 'get_cursor', + 'get_custom_data_format', + 'get_custom_data_formats', + 'get_custom_data_type', + 'get_custom_data_type_ids', + 'get_custom_data_types', + 'get_custom_refinfo', + 'get_custom_viewer_curline', + 'get_custom_viewer_location', + 'get_custom_viewer_place', + 'get_data_elsize', + 'get_data_value', + 'get_db_byte', + 'get_dbg_byte', + 'get_dbg_memory_info', + 'get_dbg_reg_info', + 'get_debug_event', + 'get_debug_name', + 'get_debug_name_ea', + 'get_debug_names', + 'get_debug_names__SWIG_0', + 'get_debug_names__SWIG_1', + 'get_debugger_event_cond', + 'get_default_encoding_idx', + 'get_default_radix', + 'get_default_reftype', + 'get_defsr', + 'get_demangled_name', + 'get_dtype_by_size', + 'get_dtype_flag', + 'get_dtype_size', + 'get_dword', + 'get_ea_name', + 'get_ea_viewer_history_info', + 'get_effective_spd', + 'get_elf_debug_file_directory', + 'get_encoding_bpu', + 'get_encoding_name', + 'get_encoding_qty', + 'get_entry', + 'get_entry_forwarder', + 'get_entry_name', + 'get_entry_ordinal', + 'get_entry_qty', + 'get_enum', + 'get_enum_cmt', + 'get_enum_flag', + 'get_enum_id', + 'get_enum_idx', + 'get_enum_member', + 'get_enum_member_bmask', + 'get_enum_member_by_name', + 'get_enum_member_cmt', + 'get_enum_member_enum', + 'get_enum_member_expr', + 'get_enum_member_name', + 'get_enum_member_serial', + 'get_enum_member_value', + 'get_enum_name', + 'get_enum_name2', + 'get_enum_qty', + 'get_enum_size', + 'get_enum_type_ordinal', + 'get_enum_width', + 'get_event_bpt_hea', + 'get_event_exc_code', + 'get_event_exc_ea', + 'get_event_exc_info', + 'get_event_info', + 'get_event_module_base', + 'get_event_module_name', + 'get_event_module_size', + 'get_extra_cmt', + 'get_fchunk', + 'get_fchunk_num', + 'get_fchunk_qty', + 'get_fchunk_referer', + 'get_file_type_name', + 'get_fileregion_ea', + 'get_fileregion_offset', + 'get_first_bmask', + 'get_first_cref_from', + 'get_first_cref_to', + 'get_first_dref_from', + 'get_first_dref_to', + 'get_first_enum_member', + 'get_first_fcref_from', + 'get_first_fcref_to', + 'get_first_fixup_ea', + 'get_first_free_extra_cmtidx', + 'get_first_hidden_range', + 'get_first_module', + 'get_first_seg', + 'get_first_serial_enum_member', + 'get_first_struc_idx', + 'get_fixup', + 'get_fixup_desc', + 'get_fixup_handler', + 'get_fixup_value', + 'get_fixups', + 'get_flags', + 'get_flags_by_size', + 'get_flags_ex', + 'get_float_type', + 'get_forced_operand', + 'get_frame', + 'get_frame__SWIG_0', + 'get_frame__SWIG_1', + 'get_frame_part', + 'get_frame_retsize', + 'get_frame_size', + 'get_full_data_elsize', + 'get_full_flags', + 'get_full_type', + 'get_func', + 'get_func_bitness', + 'get_func_bits', + 'get_func_by_frame', + 'get_func_bytes', + 'get_func_chunknum', + 'get_func_cmt', + 'get_func_name', + 'get_func_num', + 'get_func_qty', + 'get_func_ranges', + 'get_func_trace_options', + 'get_global_var', + 'get_gotea', + 'get_graph_viewer', + 'get_group_selector', + 'get_grp_bpts', + 'get_hexdump_ea', + 'get_hexrays_version', + 'get_hidden_range', + 'get_hidden_range_num', + 'get_hidden_range_qty', + 'get_highlight', + 'get_ida_subdirs', + 'get_idainfo_by_type', + 'get_idasgn_desc', + 'get_idasgn_desc_with_matches', + 'get_idasgn_qty', + 'get_idasgn_title', + 'get_idati', + 'get_idb_notifier_addr', + 'get_idb_notifier_ud_addr', + 'get_idc_filename', + 'get_idcv_attr', + 'get_idcv_class_name', + 'get_idcv_slice', + 'get_idp_name', + 'get_idp_notifier_addr', + 'get_idp_notifier_ud_addr', + 'get_ids_modnode', + 'get_imagebase', + 'get_immvals', + 'get_import_module_name', + 'get_import_module_qty', + 'get_ind_purged', + 'get_inf_structure', + 'get_input_file_path', + 'get_insn_tev_reg_mem', + 'get_insn_tev_reg_result', + 'get_insn_tev_reg_val', + 'get_insn_trace_options', + 'get_int_type_by_width_and_sign', + 'get_ip_val', + 'get_item_color', + 'get_item_end', + 'get_item_flag', + 'get_item_head', + 'get_item_size', + 'get_kernel_version', + 'get_key_code', + 'get_last_bmask', + 'get_last_enum_member', + 'get_last_hidden_range', + 'get_last_seg', + 'get_last_serial_enum_member', + 'get_last_struc_idx', + 'get_linput_type', + 'get_local_var', + 'get_local_vars', + 'get_long_name', + 'get_lookback', + 'get_lumina_rpc_packet_t_index_from_base', + 'get_manual_insn', + 'get_manual_regions', + 'get_manual_regions__SWIG_0', + 'get_manual_regions__SWIG_1', + 'get_mapping', + 'get_mappings_qty', + 'get_mark_comment', + 'get_marked_pos', + 'get_max_offset', + 'get_max_strlit_length', + 'get_member', + 'get_member_by_fullname', + 'get_member_by_id', + 'get_member_by_name', + 'get_member_cmt', + 'get_member_fullname', + 'get_member_id', + 'get_member_name', + 'get_member_size', + 'get_member_struc', + 'get_member_tinfo', + 'get_member_type', + 'get_merror_desc', + 'get_min_spd_ea', + 'get_module_info', + 'get_mreg_name', + 'get_name', + 'get_name_base_ea', + 'get_name_color', + 'get_name_ea', + 'get_name_expr', + 'get_name_value', + 'get_named_type', + 'get_named_type64', + 'get_navband_ea', + 'get_navband_pixel', + 'get_next_bmask', + 'get_next_cref_from', + 'get_next_cref_to', + 'get_next_dref_from', + 'get_next_dref_to', + 'get_next_enum_member', + 'get_next_fchunk', + 'get_next_fcref_from', + 'get_next_fcref_to', + 'get_next_fixup_ea', + 'get_next_func', + 'get_next_func_addr', + 'get_next_hidden_range', + 'get_next_member_idx', + 'get_next_module', + 'get_next_seg', + 'get_next_serial_enum_member', + 'get_next_struc_idx', + 'get_nice_colored_name', + 'get_nlist_ea', + 'get_nlist_idx', + 'get_nlist_name', + 'get_nlist_size', + 'get_node_info', + 'get_numbered_type', + 'get_numbered_type_name', + 'get_octet', + 'get_offbase', + 'get_offset_expr', + 'get_offset_expression', + 'get_op_signness', + 'get_op_tinfo', + 'get_opinfo', + 'get_opnum', + 'get_optype_flags0', + 'get_optype_flags1', + 'get_or_guess_member_tinfo', + 'get_ordinal_from_idb_type', + 'get_ordinal_qty', + 'get_original_byte', + 'get_original_dword', + 'get_original_qword', + 'get_original_word', + 'get_outfile_encoding_idx', + 'get_output_curline', + 'get_output_cursor', + 'get_output_selected_text', + 'get_path', + 'get_place_class', + 'get_place_class_id', + 'get_place_class_template', + 'get_plugin_options', + 'get_predef_insn_cmt', + 'get_prev_bmask', + 'get_prev_enum_member', + 'get_prev_fchunk', + 'get_prev_fixup_ea', + 'get_prev_func', + 'get_prev_func_addr', + 'get_prev_hidden_range', + 'get_prev_member_idx', + 'get_prev_seg', + 'get_prev_serial_enum_member', + 'get_prev_sreg_range', + 'get_prev_struc_idx', + 'get_printable_immvals', + 'get_problem', + 'get_problem_desc', + 'get_problem_name', + 'get_process_options', + 'get_process_state', + 'get_processes', + 'get_qword', + 'get_radix', + 'get_refinfo', + 'get_reftype_by_size', + 'get_reg_info', + 'get_reg_name', + 'get_reg_val', + 'get_reg_val__SWIG_0', + 'get_reg_val__SWIG_1', + 'get_reg_val__SWIG_2', + 'get_reg_vals', + 'get_registered_actions', + 'get_ret_tev_return', + 'get_root_filename', + 'get_running_notification', + 'get_running_request', + 'get_scalar_bt', + 'get_screen_ea', + 'get_segm_base', + 'get_segm_by_name', + 'get_segm_by_sel', + 'get_segm_class', + 'get_segm_name', + 'get_segm_num', + 'get_segm_para', + 'get_segm_qty', + 'get_segment_alignment', + 'get_segment_cmt', + 'get_segment_combination', + 'get_segment_translations', + 'get_selector_qty', + 'get_server_connection', + 'get_short_name', + 'get_signed_mcode', + 'get_source_linnum', + 'get_sourcefile', + 'get_sp_delta', + 'get_sp_val', + 'get_spd', + 'get_special_folder', + 'get_sptr', + 'get_srcinfo_provider', + 'get_sreg', + 'get_sreg_range', + 'get_sreg_range_num', + 'get_sreg_ranges_qty', + 'get_step_trace_options', + 'get_stkvar', + 'get_stock_tinfo', + 'get_str_encoding_idx', + 'get_str_term1', + 'get_str_term2', + 'get_str_type', + 'get_str_type_code', + 'get_strlist_item', + 'get_strlist_options', + 'get_strlist_qty', + 'get_strlit_contents', + 'get_stroff_path', + 'get_strtype_bpu', + 'get_struc', + 'get_struc_by_idx', + 'get_struc_cmt', + 'get_struc_first_offset', + 'get_struc_id', + 'get_struc_idx', + 'get_struc_last_offset', + 'get_struc_name', + 'get_struc_next_offset', + 'get_struc_prev_offset', + 'get_struc_qty', + 'get_struc_size', + 'get_struc_size__SWIG_0', + 'get_struc_size__SWIG_1', + 'get_switch_info', + 'get_switch_parent', + 'get_tab_size', + 'get_temp_regs', + 'get_tev_ea', + 'get_tev_event', + 'get_tev_info', + 'get_tev_memory_info', + 'get_tev_qty', + 'get_tev_tid', + 'get_tev_type', + 'get_thread_qty', + 'get_tinfo', + 'get_tinfo_attr', + 'get_tinfo_attrs', + 'get_tinfo_details', + 'get_tinfo_pdata', + 'get_tinfo_property', + 'get_tinfo_size', + 'get_trace_base_address', + 'get_trace_file_desc', + 'get_trace_platform', + 'get_tryblks', + 'get_type', + 'get_type_flags', + 'get_type_ordinal', + 'get_unk_type', + 'get_unsigned_mcode', + 'get_user_idadir', + 'get_user_strlist_options', + 'get_view_renderer_type', + 'get_viewer_graph', + 'get_viewer_place_type', + 'get_viewer_user_data', + 'get_visible_name', + 'get_visible_segm_name', + 'get_wide_byte', + 'get_wide_dword', + 'get_wide_word', + 'get_widget_title', + 'get_widget_type', + 'get_widget_vdui', + 'get_window_id', + 'get_word', + 'get_zero_ranges', + 'getb_reginsn', + 'getf_reginsn', + 'getn_bpt', + 'getn_enum', + 'getn_fchunk', + 'getn_func', + 'getn_hidden_range', + 'getn_selector', + 'getn_sreg_range', + 'getn_thread', + 'getn_thread_name', + 'getnode', + 'getnseg', + 'getseg', + 'getsysfile', + 'graph_chains_t_acquire', + 'graph_chains_t_for_all_chains', + 'graph_chains_t_is_locked', + 'graph_chains_t_release', + 'graph_chains_t_swap', + 'graph_item_t_b_get', + 'graph_item_t_b_set', + 'graph_item_t_e_get', + 'graph_item_t_e_set', + 'graph_item_t_elp_get', + 'graph_item_t_elp_set', + 'graph_item_t_is_edge', + 'graph_item_t_is_node', + 'graph_item_t_n_get', + 'graph_item_t_n_set', + 'graph_item_t_p_get', + 'graph_item_t_p_set', + 'graph_item_t_type_get', + 'graph_item_t_type_set', + 'graph_location_info_t___eq__', + 'graph_location_info_t___ne__', + 'graph_location_info_t_orgx_get', + 'graph_location_info_t_orgx_set', + 'graph_location_info_t_orgy_get', + 'graph_location_info_t_orgy_set', + 'graph_location_info_t_zoom_get', + 'graph_location_info_t_zoom_set', + 'graph_node_visitor_t_is_forbidden_edge', + 'graph_node_visitor_t_is_visited', + 'graph_node_visitor_t_reinit', + 'graph_node_visitor_t_set_visited', + 'graph_node_visitor_t_visit_node', + 'graph_path_visitor_t_path_get', + 'graph_path_visitor_t_path_set', + 'graph_path_visitor_t_prune_get', + 'graph_path_visitor_t_prune_set', + 'graph_path_visitor_t_walk_backward', + 'graph_path_visitor_t_walk_forward', + 'graph_trace', + 'graph_visitor_t_visit_edge', + 'graph_visitor_t_visit_node', + 'group_crinfo_t_nodes_get', + 'group_crinfo_t_nodes_set', + 'group_crinfo_t_text_get', + 'group_crinfo_t_text_set', + 'guess_func_cc', + 'guess_table_address', + 'guess_table_size', + 'guess_tinfo', + 'handle_debug_event', + 'has_any_name', + 'has_auto_name', + 'has_backup_metadata', + 'has_cached_cfunc', + 'has_cf_chg', + 'has_cf_use', + 'has_cmt', + 'has_dummy_name', + 'has_external_refs', + 'has_extra_cmts', + 'has_immd', + 'has_insn_feature', + 'has_lname', + 'has_name', + 'has_regvar', + 'has_ti', + 'has_ti0', + 'has_ti1', + 'has_user_name', + 'has_value', + 'has_xref', + 'hex_flag', + 'hexrays_alloc', + 'hexrays_failure_t_code_get', + 'hexrays_failure_t_code_set', + 'hexrays_failure_t_desc', + 'hexrays_failure_t_errea_get', + 'hexrays_failure_t_errea_set', + 'hexrays_failure_t_str_get', + 'hexrays_failure_t_str_set', + 'hexrays_free', + 'hexwarn_t___eq__', + 'hexwarn_t___ge__', + 'hexwarn_t___gt__', + 'hexwarn_t___le__', + 'hexwarn_t___lt__', + 'hexwarn_t___ne__', + 'hexwarn_t_compare', + 'hexwarn_t_ea_get', + 'hexwarn_t_ea_set', + 'hexwarn_t_id_get', + 'hexwarn_t_id_set', + 'hexwarn_t_text_get', + 'hexwarn_t_text_set', + 'hexwarns_t___eq__', + 'hexwarns_t___getitem__', + 'hexwarns_t___len__', + 'hexwarns_t___ne__', + 'hexwarns_t___setitem__', + 'hexwarns_t__del', + 'hexwarns_t_add_unique', + 'hexwarns_t_at', + 'hexwarns_t_begin', + 'hexwarns_t_begin__SWIG_0', + 'hexwarns_t_begin__SWIG_1', + 'hexwarns_t_capacity', + 'hexwarns_t_clear', + 'hexwarns_t_empty', + 'hexwarns_t_end', + 'hexwarns_t_end__SWIG_0', + 'hexwarns_t_end__SWIG_1', + 'hexwarns_t_erase', + 'hexwarns_t_erase__SWIG_0', + 'hexwarns_t_erase__SWIG_1', + 'hexwarns_t_extract', + 'hexwarns_t_find', + 'hexwarns_t_find__SWIG_0', + 'hexwarns_t_find__SWIG_1', + 'hexwarns_t_grow', + 'hexwarns_t_has', + 'hexwarns_t_inject', + 'hexwarns_t_insert', + 'hexwarns_t_pop_back', + 'hexwarns_t_push_back', + 'hexwarns_t_push_back__SWIG_0', + 'hexwarns_t_push_back__SWIG_1', + 'hexwarns_t_qclear', + 'hexwarns_t_reserve', + 'hexwarns_t_resize', + 'hexwarns_t_resize__SWIG_0', + 'hexwarns_t_resize__SWIG_1', + 'hexwarns_t_size', + 'hexwarns_t_swap', + 'hexwarns_t_truncate', + 'hidden_range_t_color_get', + 'hidden_range_t_color_set', + 'hidden_range_t_description_get', + 'hidden_range_t_description_set', + 'hidden_range_t_footer_get', + 'hidden_range_t_footer_set', + 'hidden_range_t_header_get', + 'hidden_range_t_header_set', + 'hidden_range_t_visible_get', + 'hidden_range_t_visible_set', + 'hide_all_bpts', + 'hide_border', + 'hide_item', + 'hide_name', + 'hide_wait_box', + 'highlighter_cbs_t_cur_block_state', + 'highlighter_cbs_t_prev_block_state', + 'highlighter_cbs_t_set_block_state', + 'highlighter_cbs_t_set_style', + 'history_entries_helper_t_next_entry', + 'history_entries_helper_t_next_entry_index', + 'history_entries_helper_t_res_get', + 'history_item_t_ea_get', + 'history_item_t_ea_set', + 'history_item_t_end_get', + 'history_item_t_end_set', + 'history_t_pop', + 'history_t_push', + 'history_t_top', + 'history_t_top__SWIG_0', + 'history_t_top__SWIG_1', + 'ida_lowertype_helper_t_func_has_stkframe_hole', + 'ida_lowertype_helper_t_get_func_purged_bytes', + 'idadir', + 'idainfo_abibits_get', + 'idainfo_abibits_set', + 'idainfo_af2_get', + 'idainfo_af2_set', + 'idainfo_af_get', + 'idainfo_af_set', + 'idainfo_appcall_options_get', + 'idainfo_appcall_options_set', + 'idainfo_apptype_get', + 'idainfo_apptype_set', + 'idainfo_asmtype_get', + 'idainfo_asmtype_set', + 'idainfo_baseaddr_get', + 'idainfo_baseaddr_set', + 'idainfo_bin_prefix_size_get', + 'idainfo_bin_prefix_size_set', + 'idainfo_cc_get', + 'idainfo_cc_set', + 'idainfo_comment_get', + 'idainfo_comment_set', + 'idainfo_database_change_count_get', + 'idainfo_database_change_count_set', + 'idainfo_datatypes_get', + 'idainfo_datatypes_set', + 'idainfo_demnames_get', + 'idainfo_demnames_set', + 'idainfo_filetype_get', + 'idainfo_filetype_set', + 'idainfo_get_abiname', + 'idainfo_get_maxEA', + 'idainfo_get_minEA', + 'idainfo_get_procName', + 'idainfo_highoff_get', + 'idainfo_highoff_set', + 'idainfo_indent_get', + 'idainfo_indent_set', + 'idainfo_lenxref_get', + 'idainfo_lenxref_set', + 'idainfo_lflags_get', + 'idainfo_lflags_set', + 'idainfo_listnames_get', + 'idainfo_listnames_set', + 'idainfo_long_demnames_get', + 'idainfo_long_demnames_set', + 'idainfo_lowoff_get', + 'idainfo_lowoff_set', + 'idainfo_main_get', + 'idainfo_main_set', + 'idainfo_margin_get', + 'idainfo_margin_set', + 'idainfo_max_autoname_len_get', + 'idainfo_max_autoname_len_set', + 'idainfo_max_ea_get', + 'idainfo_max_ea_set', + 'idainfo_maxref_get', + 'idainfo_maxref_set', + 'idainfo_min_ea_get', + 'idainfo_min_ea_set', + 'idainfo_nametype_get', + 'idainfo_nametype_set', + 'idainfo_omax_ea_get', + 'idainfo_omax_ea_set', + 'idainfo_omin_ea_get', + 'idainfo_omin_ea_set', + 'idainfo_ostype_get', + 'idainfo_ostype_set', + 'idainfo_outflags_get', + 'idainfo_outflags_set', + 'idainfo_procname_get', + 'idainfo_procname_set', + 'idainfo_refcmtnum_get', + 'idainfo_refcmtnum_set', + 'idainfo_s_cmtflg_get', + 'idainfo_s_cmtflg_set', + 'idainfo_s_genflags_get', + 'idainfo_s_genflags_set', + 'idainfo_s_limiter_get', + 'idainfo_s_limiter_set', + 'idainfo_s_prefflag_get', + 'idainfo_s_prefflag_set', + 'idainfo_s_xrefflag_get', + 'idainfo_s_xrefflag_set', + 'idainfo_set_maxEA', + 'idainfo_set_minEA', + 'idainfo_short_demnames_get', + 'idainfo_short_demnames_set', + 'idainfo_specsegs_get', + 'idainfo_specsegs_set', + 'idainfo_start_cs_get', + 'idainfo_start_cs_set', + 'idainfo_start_ea_get', + 'idainfo_start_ea_set', + 'idainfo_start_ip_get', + 'idainfo_start_ip_set', + 'idainfo_start_sp_get', + 'idainfo_start_sp_set', + 'idainfo_start_ss_get', + 'idainfo_start_ss_set', + 'idainfo_strlit_break_get', + 'idainfo_strlit_break_set', + 'idainfo_strlit_flags_get', + 'idainfo_strlit_flags_set', + 'idainfo_strlit_pref_get', + 'idainfo_strlit_pref_set', + 'idainfo_strlit_sernum_get', + 'idainfo_strlit_sernum_set', + 'idainfo_strlit_zeroes_get', + 'idainfo_strlit_zeroes_set', + 'idainfo_strtype_get', + 'idainfo_strtype_set', + 'idainfo_tag_get', + 'idainfo_tag_set', + 'idainfo_type_xrefnum_get', + 'idainfo_type_xrefnum_set', + 'idainfo_version_get', + 'idainfo_version_set', + 'idainfo_xrefnum_get', + 'idainfo_xrefnum_set', + 'idaplace_t_ea_get', + 'idaplace_t_ea_set', + 'idc_get_local_type', + 'idc_get_local_type_name', + 'idc_get_local_type_raw', + 'idc_get_type', + 'idc_get_type_raw', + 'idc_global_t_name_get', + 'idc_global_t_name_set', + 'idc_global_t_value_get', + 'idc_global_t_value_set', + 'idc_guess_type', + 'idc_parse_decl', + 'idc_parse_types', + 'idc_print_type', + 'idc_set_local_type', + 'idc_value_t___get_e', + 'idc_value_t__create_empty_string', + 'idc_value_t_c_str', + 'idc_value_t_clear', + 'idc_value_t_create_empty_string', + 'idc_value_t_e_get', + 'idc_value_t_e_set', + 'idc_value_t_funcidx_get', + 'idc_value_t_funcidx_set', + 'idc_value_t_i64_get', + 'idc_value_t_i64_set', + 'idc_value_t_is_convertible', + 'idc_value_t_is_integral', + 'idc_value_t_is_zero', + 'idc_value_t_num_get', + 'idc_value_t_num_set', + 'idc_value_t_obj_get', + 'idc_value_t_obj_set', + 'idc_value_t_pvoid_get', + 'idc_value_t_pvoid_set', + 'idc_value_t_qstr', + 'idc_value_t_qstr__SWIG_0', + 'idc_value_t_qstr__SWIG_1', + 'idc_value_t_reserve_get', + 'idc_value_t_reserve_set', + 'idc_value_t_set_float', + 'idc_value_t_set_int64', + 'idc_value_t_set_long', + 'idc_value_t_set_pvoid', + 'idc_value_t_set_string', + 'idc_value_t_set_string__SWIG_0', + 'idc_value_t_set_string__SWIG_1', + 'idc_value_t_swap', + 'idc_value_t_u_str', + 'idc_value_t_vtype_get', + 'idc_value_t_vtype_set', + 'idc_values_t___getitem__', + 'idc_values_t___len__', + 'idc_values_t___setitem__', + 'idc_values_t_at', + 'idc_values_t_begin', + 'idc_values_t_begin__SWIG_0', + 'idc_values_t_begin__SWIG_1', + 'idc_values_t_capacity', + 'idc_values_t_clear', + 'idc_values_t_empty', + 'idc_values_t_end', + 'idc_values_t_end__SWIG_0', + 'idc_values_t_end__SWIG_1', + 'idc_values_t_erase', + 'idc_values_t_erase__SWIG_0', + 'idc_values_t_erase__SWIG_1', + 'idc_values_t_extract', + 'idc_values_t_grow', + 'idc_values_t_inject', + 'idc_values_t_insert', + 'idc_values_t_pop_back', + 'idc_values_t_push_back', + 'idc_values_t_push_back__SWIG_0', + 'idc_values_t_push_back__SWIG_1', + 'idc_values_t_qclear', + 'idc_values_t_reserve', + 'idc_values_t_resize', + 'idc_values_t_resize__SWIG_0', + 'idc_values_t_resize__SWIG_1', + 'idc_values_t_size', + 'idc_values_t_swap', + 'idc_values_t_truncate', + 'idcv_float', + 'idcv_int64', + 'idcv_long', + 'idcv_num', + 'idcv_object', + 'idcv_string', + 'idp_desc_t_checked_get', + 'idp_desc_t_checked_set', + 'idp_desc_t_family_get', + 'idp_desc_t_family_set', + 'idp_desc_t_is_script_get', + 'idp_desc_t_is_script_set', + 'idp_desc_t_mtime_get', + 'idp_desc_t_mtime_set', + 'idp_desc_t_names_get', + 'idp_desc_t_names_set', + 'idp_desc_t_path_get', + 'idp_desc_t_path_set', + 'idp_name_t_hidden_get', + 'idp_name_t_hidden_set', + 'idp_name_t_lname_get', + 'idp_name_t_lname_set', + 'idp_name_t_sname_get', + 'idp_name_t_sname_set', + 'import_type', + 'inf_abi_set_by_user', + 'inf_allow_non_matched_ops', + 'inf_allow_sigmulti', + 'inf_append_sigcmt', + 'inf_big_arg_align', + 'inf_check_manual_ops', + 'inf_check_unicode_strlits', + 'inf_coagulate_code', + 'inf_coagulate_data', + 'inf_compress_idb', + 'inf_create_all_xrefs', + 'inf_create_func_from_call', + 'inf_create_func_from_ptr', + 'inf_create_func_tails', + 'inf_create_jump_tables', + 'inf_create_off_on_dref', + 'inf_create_off_using_fixup', + 'inf_create_strlit_on_xref', + 'inf_data_offset', + 'inf_dbg_no_store_path', + 'inf_decode_fpp', + 'inf_del_no_xref_insns', + 'inf_final_pass', + 'inf_full_sp_ana', + 'inf_gen_assume', + 'inf_gen_lzero', + 'inf_gen_null', + 'inf_gen_org', + 'inf_gen_tryblks', + 'inf_get_abibits', + 'inf_get_af', + 'inf_get_af2', + 'inf_get_af2_low', + 'inf_get_af_high', + 'inf_get_af_low', + 'inf_get_appcall_options', + 'inf_get_apptype', + 'inf_get_asmtype', + 'inf_get_baseaddr', + 'inf_get_bin_prefix_size', + 'inf_get_cc', + 'inf_get_cc_cm', + 'inf_get_cc_defalign', + 'inf_get_cc_id', + 'inf_get_cc_size_b', + 'inf_get_cc_size_e', + 'inf_get_cc_size_i', + 'inf_get_cc_size_l', + 'inf_get_cc_size_ldbl', + 'inf_get_cc_size_ll', + 'inf_get_cc_size_s', + 'inf_get_cmtflg', + 'inf_get_comment', + 'inf_get_database_change_count', + 'inf_get_datatypes', + 'inf_get_demname_form', + 'inf_get_demnames', + 'inf_get_filetype', + 'inf_get_genflags', + 'inf_get_highoff', + 'inf_get_indent', + 'inf_get_lenxref', + 'inf_get_lflags', + 'inf_get_limiter', + 'inf_get_listnames', + 'inf_get_long_demnames', + 'inf_get_lowoff', + 'inf_get_main', + 'inf_get_margin', + 'inf_get_max_autoname_len', + 'inf_get_max_ea', + 'inf_get_maxref', + 'inf_get_min_ea', + 'inf_get_nametype', + 'inf_get_netdelta', + 'inf_get_omax_ea', + 'inf_get_omin_ea', + 'inf_get_ostype', + 'inf_get_outflags', + 'inf_get_pack_mode', + 'inf_get_prefflag', + 'inf_get_privrange', + 'inf_get_privrange__SWIG_0', + 'inf_get_privrange__SWIG_1', + 'inf_get_privrange_end_ea', + 'inf_get_privrange_start_ea', + 'inf_get_procname', + 'inf_get_refcmtnum', + 'inf_get_short_demnames', + 'inf_get_specsegs', + 'inf_get_start_cs', + 'inf_get_start_ea', + 'inf_get_start_ip', + 'inf_get_start_sp', + 'inf_get_start_ss', + 'inf_get_strlit_break', + 'inf_get_strlit_flags', + 'inf_get_strlit_pref', + 'inf_get_strlit_sernum', + 'inf_get_strlit_zeroes', + 'inf_get_strtype', + 'inf_get_type_xrefnum', + 'inf_get_version', + 'inf_get_xrefflag', + 'inf_get_xrefnum', + 'inf_guess_func_type', + 'inf_handle_eh', + 'inf_handle_rtti', + 'inf_hide_comments', + 'inf_hide_libfuncs', + 'inf_huge_arg_align', + 'inf_inc_database_change_count', + 'inf_is_32bit', + 'inf_is_64bit', + 'inf_is_auto_enabled', + 'inf_is_be', + 'inf_is_dll', + 'inf_is_flat_off32', + 'inf_is_graph_view', + 'inf_is_hard_float', + 'inf_is_kernel_mode', + 'inf_is_limiter_empty', + 'inf_is_limiter_thick', + 'inf_is_limiter_thin', + 'inf_is_mem_aligned4', + 'inf_is_snapshot', + 'inf_is_wide_high_byte_first', + 'inf_like_binary', + 'inf_line_pref_with_seg', + 'inf_loading_idc', + 'inf_macros_enabled', + 'inf_map_stkargs', + 'inf_mark_code', + 'inf_no_store_user_info', + 'inf_noflow_to_data', + 'inf_noret_ana', + 'inf_op_offset', + 'inf_pack_idb', + 'inf_pack_stkargs', + 'inf_postinc_strlit_sernum', + 'inf_prefix_show_funcoff', + 'inf_prefix_show_segaddr', + 'inf_prefix_show_stack', + 'inf_prefix_truncate_opcode_bytes', + 'inf_propagate_regargs', + 'inf_propagate_stkargs', + 'inf_readonly_idb', + 'inf_rename_jumpfunc', + 'inf_rename_nullsub', + 'inf_set_32bit', + 'inf_set_64bit', + 'inf_set_abi_set_by_user', + 'inf_set_abibits', + 'inf_set_af', + 'inf_set_af2', + 'inf_set_af2_low', + 'inf_set_af_high', + 'inf_set_af_low', + 'inf_set_allow_non_matched_ops', + 'inf_set_allow_sigmulti', + 'inf_set_appcall_options', + 'inf_set_append_sigcmt', + 'inf_set_apptype', + 'inf_set_asmtype', + 'inf_set_auto_enabled', + 'inf_set_baseaddr', + 'inf_set_be', + 'inf_set_big_arg_align', + 'inf_set_bin_prefix_size', + 'inf_set_cc', + 'inf_set_cc_cm', + 'inf_set_cc_defalign', + 'inf_set_cc_id', + 'inf_set_cc_size_b', + 'inf_set_cc_size_e', + 'inf_set_cc_size_i', + 'inf_set_cc_size_l', + 'inf_set_cc_size_ldbl', + 'inf_set_cc_size_ll', + 'inf_set_cc_size_s', + 'inf_set_check_manual_ops', + 'inf_set_check_unicode_strlits', + 'inf_set_cmtflg', + 'inf_set_coagulate_code', + 'inf_set_coagulate_data', + 'inf_set_comment', + 'inf_set_compress_idb', + 'inf_set_create_all_xrefs', + 'inf_set_create_func_from_call', + 'inf_set_create_func_from_ptr', + 'inf_set_create_func_tails', + 'inf_set_create_jump_tables', + 'inf_set_create_off_on_dref', + 'inf_set_create_off_using_fixup', + 'inf_set_create_strlit_on_xref', + 'inf_set_data_offset', + 'inf_set_database_change_count', + 'inf_set_datatypes', + 'inf_set_dbg_no_store_path', + 'inf_set_decode_fpp', + 'inf_set_del_no_xref_insns', + 'inf_set_demnames', + 'inf_set_dll', + 'inf_set_filetype', + 'inf_set_final_pass', + 'inf_set_flat_off32', + 'inf_set_full_sp_ana', + 'inf_set_gen_assume', + 'inf_set_gen_lzero', + 'inf_set_gen_null', + 'inf_set_gen_org', + 'inf_set_gen_tryblks', + 'inf_set_genflags', + 'inf_set_graph_view', + 'inf_set_guess_func_type', + 'inf_set_handle_eh', + 'inf_set_handle_rtti', + 'inf_set_hard_float', + 'inf_set_hide_comments', + 'inf_set_hide_libfuncs', + 'inf_set_highoff', + 'inf_set_huge_arg_align', + 'inf_set_indent', + 'inf_set_kernel_mode', + 'inf_set_lenxref', + 'inf_set_lflags', + 'inf_set_limiter', + 'inf_set_limiter_empty', + 'inf_set_limiter_thick', + 'inf_set_limiter_thin', + 'inf_set_line_pref_with_seg', + 'inf_set_listnames', + 'inf_set_loading_idc', + 'inf_set_long_demnames', + 'inf_set_lowoff', + 'inf_set_macros_enabled', + 'inf_set_main', + 'inf_set_map_stkargs', + 'inf_set_margin', + 'inf_set_mark_code', + 'inf_set_max_autoname_len', + 'inf_set_max_ea', + 'inf_set_maxref', + 'inf_set_mem_aligned4', + 'inf_set_min_ea', + 'inf_set_nametype', + 'inf_set_netdelta', + 'inf_set_no_store_user_info', + 'inf_set_noflow_to_data', + 'inf_set_noret_ana', + 'inf_set_omax_ea', + 'inf_set_omin_ea', + 'inf_set_op_offset', + 'inf_set_ostype', + 'inf_set_outflags', + 'inf_set_pack_idb', + 'inf_set_pack_mode', + 'inf_set_pack_stkargs', + 'inf_set_prefflag', + 'inf_set_prefix_show_funcoff', + 'inf_set_prefix_show_segaddr', + 'inf_set_prefix_show_stack', + 'inf_set_prefix_truncate_opcode_bytes', + 'inf_set_privrange', + 'inf_set_privrange_end_ea', + 'inf_set_privrange_start_ea', + 'inf_set_procname', + 'inf_set_propagate_regargs', + 'inf_set_propagate_stkargs', + 'inf_set_readonly_idb', + 'inf_set_refcmtnum', + 'inf_set_rename_jumpfunc', + 'inf_set_rename_nullsub', + 'inf_set_short_demnames', + 'inf_set_should_create_stkvars', + 'inf_set_should_trace_sp', + 'inf_set_show_all_comments', + 'inf_set_show_auto', + 'inf_set_show_hidden_funcs', + 'inf_set_show_hidden_insns', + 'inf_set_show_hidden_segms', + 'inf_set_show_line_pref', + 'inf_set_show_repeatables', + 'inf_set_show_src_linnum', + 'inf_set_show_void', + 'inf_set_show_xref_fncoff', + 'inf_set_show_xref_seg', + 'inf_set_show_xref_tmarks', + 'inf_set_show_xref_val', + 'inf_set_snapshot', + 'inf_set_specsegs', + 'inf_set_stack_ldbl', + 'inf_set_stack_varargs', + 'inf_set_start_cs', + 'inf_set_start_ea', + 'inf_set_start_ip', + 'inf_set_start_sp', + 'inf_set_start_ss', + 'inf_set_strlit_autocmt', + 'inf_set_strlit_break', + 'inf_set_strlit_flags', + 'inf_set_strlit_name_bit', + 'inf_set_strlit_names', + 'inf_set_strlit_pref', + 'inf_set_strlit_savecase', + 'inf_set_strlit_serial_names', + 'inf_set_strlit_sernum', + 'inf_set_strlit_zeroes', + 'inf_set_strtype', + 'inf_set_test_mode', + 'inf_set_trace_flow', + 'inf_set_truncate_on_del', + 'inf_set_type_xrefnum', + 'inf_set_unicode_strlits', + 'inf_set_use_allasm', + 'inf_set_use_flirt', + 'inf_set_use_gcc_layout', + 'inf_set_version', + 'inf_set_wide_high_byte_first', + 'inf_set_xrefflag', + 'inf_set_xrefnum', + 'inf_should_create_stkvars', + 'inf_should_trace_sp', + 'inf_show_all_comments', + 'inf_show_auto', + 'inf_show_hidden_funcs', + 'inf_show_hidden_insns', + 'inf_show_hidden_segms', + 'inf_show_line_pref', + 'inf_show_repeatables', + 'inf_show_src_linnum', + 'inf_show_void', + 'inf_show_xref_fncoff', + 'inf_show_xref_seg', + 'inf_show_xref_tmarks', + 'inf_show_xref_val', + 'inf_stack_ldbl', + 'inf_stack_varargs', + 'inf_strlit_autocmt', + 'inf_strlit_name_bit', + 'inf_strlit_names', + 'inf_strlit_savecase', + 'inf_strlit_serial_names', + 'inf_test_mode', + 'inf_trace_flow', + 'inf_truncate_on_del', + 'inf_unicode_strlits', + 'inf_use_allasm', + 'inf_use_flirt', + 'inf_use_gcc_layout', + 'info', + 'info__varargs__', + 'init_hexrays_plugin', + 'input_file_t_md5_get', + 'input_file_t_md5_set', + 'input_file_t_path_get', + 'input_file_t_path_set', + 'insn_add_cref', + 'insn_add_dref', + 'insn_add_off_drefs', + 'insn_cmt_t_cmt_get', + 'insn_cmt_t_cmt_set', + 'insn_cmts_t___getitem__', + 'insn_cmts_t___len__', + 'insn_cmts_t___setitem__', + 'insn_cmts_t_at', + 'insn_cmts_t_begin', + 'insn_cmts_t_begin__SWIG_0', + 'insn_cmts_t_begin__SWIG_1', + 'insn_cmts_t_capacity', + 'insn_cmts_t_clear', + 'insn_cmts_t_empty', + 'insn_cmts_t_end', + 'insn_cmts_t_end__SWIG_0', + 'insn_cmts_t_end__SWIG_1', + 'insn_cmts_t_erase', + 'insn_cmts_t_erase__SWIG_0', + 'insn_cmts_t_erase__SWIG_1', + 'insn_cmts_t_extract', + 'insn_cmts_t_grow', + 'insn_cmts_t_inject', + 'insn_cmts_t_insert', + 'insn_cmts_t_pop_back', + 'insn_cmts_t_push_back', + 'insn_cmts_t_push_back__SWIG_0', + 'insn_cmts_t_push_back__SWIG_1', + 'insn_cmts_t_qclear', + 'insn_cmts_t_reserve', + 'insn_cmts_t_resize', + 'insn_cmts_t_resize__SWIG_0', + 'insn_cmts_t_resize__SWIG_1', + 'insn_cmts_t_size', + 'insn_cmts_t_swap', + 'insn_cmts_t_truncate', + 'insn_create_stkvar', + 'insn_ops_repr_t_flags_get', + 'insn_ops_repr_t_flags_set', + 'insn_ops_repr_t_op0_get', + 'insn_ops_repr_t_op0_set', + 'insn_ops_repr_t_op1_get', + 'insn_ops_repr_t_op1_set', + 'insn_ops_reprs_t___getitem__', + 'insn_ops_reprs_t___len__', + 'insn_ops_reprs_t___setitem__', + 'insn_ops_reprs_t_at', + 'insn_ops_reprs_t_begin', + 'insn_ops_reprs_t_begin__SWIG_0', + 'insn_ops_reprs_t_begin__SWIG_1', + 'insn_ops_reprs_t_capacity', + 'insn_ops_reprs_t_clear', + 'insn_ops_reprs_t_empty', + 'insn_ops_reprs_t_end', + 'insn_ops_reprs_t_end__SWIG_0', + 'insn_ops_reprs_t_end__SWIG_1', + 'insn_ops_reprs_t_erase', + 'insn_ops_reprs_t_erase__SWIG_0', + 'insn_ops_reprs_t_erase__SWIG_1', + 'insn_ops_reprs_t_extract', + 'insn_ops_reprs_t_grow', + 'insn_ops_reprs_t_inject', + 'insn_ops_reprs_t_insert', + 'insn_ops_reprs_t_pop_back', + 'insn_ops_reprs_t_push_back', + 'insn_ops_reprs_t_push_back__SWIG_0', + 'insn_ops_reprs_t_push_back__SWIG_1', + 'insn_ops_reprs_t_qclear', + 'insn_ops_reprs_t_reserve', + 'insn_ops_reprs_t_resize', + 'insn_ops_reprs_t_resize__SWIG_0', + 'insn_ops_reprs_t_resize__SWIG_1', + 'insn_ops_reprs_t_size', + 'insn_ops_reprs_t_swap', + 'insn_ops_reprs_t_truncate', + 'insn_site_t_fchunk_nr_get', + 'insn_site_t_fchunk_nr_set', + 'insn_site_t_fchunk_off_get', + 'insn_site_t_fchunk_off_set', + 'insn_site_t_toea', + 'insn_t___get_auxpref__', + 'insn_t___get_operand__', + 'insn_t___get_ops__', + 'insn_t___set_auxpref__', + 'insn_t__from_ptrval__', + 'insn_t_add_cref', + 'insn_t_add_dref', + 'insn_t_add_off_drefs', + 'insn_t_assign', + 'insn_t_create_op_data', + 'insn_t_create_op_data__SWIG_0', + 'insn_t_create_op_data__SWIG_1', + 'insn_t_create_stkvar', + 'insn_t_cs_get', + 'insn_t_cs_set', + 'insn_t_ea_get', + 'insn_t_ea_set', + 'insn_t_flags_get', + 'insn_t_flags_set', + 'insn_t_get_canon_feature', + 'insn_t_get_canon_mnem', + 'insn_t_get_next_byte', + 'insn_t_get_next_dword', + 'insn_t_get_next_qword', + 'insn_t_get_next_word', + 'insn_t_insnpref_get', + 'insn_t_insnpref_set', + 'insn_t_ip_get', + 'insn_t_ip_set', + 'insn_t_is_64bit', + 'insn_t_is_canon_insn', + 'insn_t_is_macro', + 'insn_t_itype_get', + 'insn_t_itype_set', + 'insn_t_ops_get', + 'insn_t_ops_set', + 'insn_t_segpref_get', + 'insn_t_segpref_set', + 'insn_t_size_get', + 'insn_t_size_set', + 'install_command_interpreter', + 'install_microcode_filter', + 'instant_dbgopts_t__pass_get', + 'instant_dbgopts_t__pass_set', + 'instant_dbgopts_t_attach_get', + 'instant_dbgopts_t_attach_set', + 'instant_dbgopts_t_debmod_get', + 'instant_dbgopts_t_debmod_set', + 'instant_dbgopts_t_env_get', + 'instant_dbgopts_t_env_set', + 'instant_dbgopts_t_event_id_get', + 'instant_dbgopts_t_event_id_set', + 'instant_dbgopts_t_host_get', + 'instant_dbgopts_t_host_set', + 'instant_dbgopts_t_pid_get', + 'instant_dbgopts_t_pid_set', + 'instant_dbgopts_t_port_get', + 'instant_dbgopts_t_port_set', + 'int_pointer_assign', + 'int_pointer_cast', + 'int_pointer_frompointer', + 'int_pointer_value', + 'internal_get_sreg_base', + 'internal_ioctl', + 'internal_register_place_class', + 'interval_t___eq__', + 'interval_t___ne__', + 'interval_t_contains', + 'interval_t_empty', + 'interval_t_intersect', + 'interval_t_length', + 'interval_t_make_union', + 'interval_t_move_by', + 'interval_t_x0_get', + 'interval_t_x0_set', + 'interval_t_x1_get', + 'interval_t_x1_set', + 'intvec_t___eq__', + 'intvec_t___getitem__', + 'intvec_t___len__', + 'intvec_t___ne__', + 'intvec_t___setitem__', + 'intvec_t__del', + 'intvec_t_add_unique', + 'intvec_t_at', + 'intvec_t_begin', + 'intvec_t_begin__SWIG_0', + 'intvec_t_begin__SWIG_1', + 'intvec_t_capacity', + 'intvec_t_clear', + 'intvec_t_empty', + 'intvec_t_end', + 'intvec_t_end__SWIG_0', + 'intvec_t_end__SWIG_1', + 'intvec_t_erase', + 'intvec_t_erase__SWIG_0', + 'intvec_t_erase__SWIG_1', + 'intvec_t_extract', + 'intvec_t_find', + 'intvec_t_find__SWIG_0', + 'intvec_t_find__SWIG_1', + 'intvec_t_has', + 'intvec_t_inject', + 'intvec_t_insert', + 'intvec_t_pop_back', + 'intvec_t_push_back', + 'intvec_t_push_back__SWIG_0', + 'intvec_t_push_back__SWIG_1', + 'intvec_t_qclear', + 'intvec_t_reserve', + 'intvec_t_resize', + 'intvec_t_resize__SWIG_0', + 'intvec_t_resize__SWIG_1', + 'intvec_t_size', + 'intvec_t_swap', + 'intvec_t_truncate', + 'invalidate_dbg_state', + 'invalidate_dbgmem_config', + 'invalidate_dbgmem_contents', + 'is__bnot0', + 'is__bnot1', + 'is__invsign0', + 'is__invsign1', + 'is_action_enabled', + 'is_additive', + 'is_align', + 'is_align_flow', + 'is_align_insn', + 'is_anonymous_member_name', + 'is_assignment', + 'is_attached_custom_data_format', + 'is_auto_enabled', + 'is_autosync', + 'is_autosync__SWIG_0', + 'is_autosync__SWIG_1', + 'is_basic_block_end', + 'is_bblk_trace_enabled', + 'is_bf', + 'is_binary', + 'is_bitop', + 'is_bnot', + 'is_bool_type', + 'is_break_consumer', + 'is_byte', + 'is_call_insn', + 'is_char', + 'is_char0', + 'is_char1', + 'is_chooser_widget', + 'is_code', + 'is_code_far', + 'is_colored_item', + 'is_commutative', + 'is_comp_unsure', + 'is_control_tty', + 'is_custfmt', + 'is_custfmt0', + 'is_custfmt1', + 'is_custom', + 'is_data', + 'is_data_far', + 'is_database_flag', + 'is_debugger_busy', + 'is_debugger_memory', + 'is_debugger_on', + 'is_defarg', + 'is_defarg0', + 'is_defarg1', + 'is_double', + 'is_dummy_member_name', + 'is_dword', + 'is_enum', + 'is_enum0', + 'is_enum1', + 'is_enum_fromtil', + 'is_enum_hidden', + 'is_filetype_like_binary', + 'is_finally_visible_func', + 'is_finally_visible_item', + 'is_finally_visible_segm', + 'is_fixed_spd', + 'is_fixup_custom', + 'is_float', + 'is_float0', + 'is_float1', + 'is_floating_dtype', + 'is_flow', + 'is_fltnum', + 'is_forced_operand', + 'is_func', + 'is_func_entry', + 'is_func_locked', + 'is_func_tail', + 'is_func_trace_enabled', + 'is_funcarg_off', + 'is_gcc', + 'is_gcc32', + 'is_gcc64', + 'is_ghost_enum', + 'is_head', + 'is_hidden_border', + 'is_hidden_item', + 'is_idaq', + 'is_ident', + 'is_ident_cp', + 'is_in_nlist', + 'is_indirect_jump_insn', + 'is_inplace_def', + 'is_insn_trace_enabled', + 'is_invsign', + 'is_kreg', + 'is_libitem', + 'is_loaded', + 'is_logical', + 'is_loop', + 'is_lvalue', + 'is_lzero', + 'is_lzero0', + 'is_lzero1', + 'is_main_thread', + 'is_manual', + 'is_manual_insn', + 'is_mapped', + 'is_may_access', + 'is_mcode_addsub', + 'is_mcode_call', + 'is_mcode_commutative', + 'is_mcode_convertible_to_jmp', + 'is_mcode_convertible_to_set', + 'is_mcode_divmod', + 'is_mcode_fpu', + 'is_mcode_j1', + 'is_mcode_jcond', + 'is_mcode_propagatable', + 'is_mcode_set', + 'is_mcode_set1', + 'is_mcode_shift', + 'is_mcode_xdsu', + 'is_member_id', + 'is_miniidb', + 'is_msg_inited', + 'is_multiplicative', + 'is_name_defined_locally', + 'is_nonbool_type', + 'is_noret', + 'is_noret_block', + 'is_not_tail', + 'is_notcode', + 'is_notproc', + 'is_numop', + 'is_numop0', + 'is_numop1', + 'is_off', + 'is_off0', + 'is_off1', + 'is_one_bit_mask', + 'is_ordinal_name', + 'is_oword', + 'is_pack_real', + 'is_paf', + 'is_pascal', + 'is_place_class_ea_capable', + 'is_prepost', + 'is_problem_present', + 'is_ptr_or_array', + 'is_public_name', + 'is_purging_cc', + 'is_qword', + 'is_refresh_requested', + 'is_reftype_target_optional', + 'is_reg_custom', + 'is_reg_float', + 'is_reg_integer', + 'is_relational', + 'is_request_running', + 'is_restype_enum', + 'is_restype_struct', + 'is_restype_struni', + 'is_restype_void', + 'is_ret_block', + 'is_ret_insn', + 'is_retfp', + 'is_same_data_type', + 'is_same_func', + 'is_sdacl_byte', + 'is_seg', + 'is_seg0', + 'is_seg1', + 'is_segm_locked', + 'is_signed_mcode', + 'is_small_udt', + 'is_spec_ea', + 'is_spec_segm', + 'is_special_member', + 'is_step_trace_enabled', + 'is_stkvar', + 'is_stkvar0', + 'is_stkvar1', + 'is_strlit', + 'is_strlit_cp', + 'is_stroff', + 'is_stroff0', + 'is_stroff1', + 'is_struct', + 'is_suspop', + 'is_tah_byte', + 'is_tail', + 'is_tbyte', + 'is_terse_struc', + 'is_tilcmt', + 'is_trusted_idb', + 'is_type_arithmetic', + 'is_type_array', + 'is_type_bitfld', + 'is_type_bool', + 'is_type_char', + 'is_type_complex', + 'is_type_const', + 'is_type_correct', + 'is_type_double', + 'is_type_enum', + 'is_type_ext_arithmetic', + 'is_type_ext_integral', + 'is_type_float', + 'is_type_floating', + 'is_type_func', + 'is_type_int', + 'is_type_int128', + 'is_type_int16', + 'is_type_int32', + 'is_type_int64', + 'is_type_integral', + 'is_type_ldouble', + 'is_type_paf', + 'is_type_partial', + 'is_type_ptr', + 'is_type_ptr_or_array', + 'is_type_struct', + 'is_type_struni', + 'is_type_sue', + 'is_type_tbyte', + 'is_type_typedef', + 'is_type_uchar', + 'is_type_uint', + 'is_type_uint128', + 'is_type_uint16', + 'is_type_uint32', + 'is_type_uint64', + 'is_type_union', + 'is_type_unknown', + 'is_type_void', + 'is_type_volatile', + 'is_typeid_last', + 'is_uname', + 'is_unary', + 'is_union', + 'is_unknown', + 'is_unsigned_mcode', + 'is_user_cc', + 'is_usersp', + 'is_userti', + 'is_valid_cp', + 'is_valid_trace_file', + 'is_valid_typename', + 'is_vararg_cc', + 'is_varmember', + 'is_varsize_item', + 'is_varstr', + 'is_visible_cp', + 'is_visible_func', + 'is_visible_item', + 'is_visible_segm', + 'is_weak_name', + 'is_word', + 'is_yword', + 'is_zstroff', + 'is_zword', + 'ivl_t___eq__', + 'ivl_t___ge__', + 'ivl_t___gt__', + 'ivl_t___le__', + 'ivl_t___lt__', + 'ivl_t___ne__', + 'ivl_t_clear', + 'ivl_t_compare', + 'ivl_t_contains', + 'ivl_t_dstr', + 'ivl_t_empty', + 'ivl_t_extend_to_cover', + 'ivl_t_includes', + 'ivl_t_intersect', + 'ivl_t_overlap', + 'ivl_with_name_t_ivl_get', + 'ivl_with_name_t_ivl_set', + 'ivl_with_name_t_part_get', + 'ivl_with_name_t_part_set', + 'ivl_with_name_t_whole_get', + 'ivl_with_name_t_whole_set', + 'ivlset_t___eq__', + 'ivlset_t___ge__', + 'ivlset_t___gt__', + 'ivlset_t___le__', + 'ivlset_t___lt__', + 'ivlset_t___ne__', + 'ivlset_t__print', + 'ivlset_t_add', + 'ivlset_t_add__SWIG_0', + 'ivlset_t_add__SWIG_1', + 'ivlset_t_add__SWIG_2', + 'ivlset_t_addmasked', + 'ivlset_t_compare', + 'ivlset_t_contains', + 'ivlset_t_count', + 'ivlset_t_dstr', + 'ivlset_t_has_common', + 'ivlset_t_has_common__SWIG_0', + 'ivlset_t_has_common__SWIG_1', + 'ivlset_t_includes', + 'ivlset_t_intersect', + 'ivlset_t_sub', + 'ivlset_t_sub__SWIG_0', + 'ivlset_t_sub__SWIG_1', + 'ivlset_t_sub__SWIG_2', + 'jcnd2set', + 'jobj_wrapper_t_get_dict', + 'jumpto', + 'jumpto__SWIG_0', + 'jumpto__SWIG_1', + 'last_idcv_attr', + 'leading_zero_important', + 'lexcompare', + 'lexcompare_tinfo', + 'list_bptgrps', + 'list_bptgrps__SWIG_0', + 'list_bptgrps__SWIG_1', + 'llabel_t_ea_get', + 'llabel_t_ea_set', + 'llabel_t_name_get', + 'llabel_t_name_set', + 'load_and_run_plugin', + 'load_binary_file', + 'load_dbg_dbginfo', + 'load_debugger', + 'load_ids_module', + 'load_plugin', + 'load_til', + 'load_til_header', + 'load_trace_file', + 'loader_input_t___idc_cvt_id___get', + 'loader_input_t___idc_cvt_id___set', + 'loader_input_t_close', + 'loader_input_t_file2base', + 'loader_input_t_filename', + 'loader_input_t_from_capsule', + 'loader_input_t_from_fp', + 'loader_input_t_from_linput', + 'loader_input_t_get_byte', + 'loader_input_t_get_linput', + 'loader_input_t_gets', + 'loader_input_t_getz', + 'loader_input_t_open', + 'loader_input_t_open_memory', + 'loader_input_t_opened', + 'loader_input_t_read', + 'loader_input_t_readbytes', + 'loader_input_t_seek', + 'loader_input_t_set_linput', + 'loader_input_t_size', + 'loader_input_t_tell', + 'loader_t_flags_get', + 'loader_t_flags_set', + 'loader_t_version_get', + 'loader_t_version_set', + 'lochist_entry_t___eq__', + 'lochist_entry_t___ne__', + 'lochist_entry_t_acquire_place', + 'lochist_entry_t_is_valid', + 'lochist_entry_t_place', + 'lochist_entry_t_place__SWIG_0', + 'lochist_entry_t_place__SWIG_1', + 'lochist_entry_t_plce_get', + 'lochist_entry_t_plce_set', + 'lochist_entry_t_renderer_info', + 'lochist_entry_t_renderer_info__SWIG_0', + 'lochist_entry_t_renderer_info__SWIG_1', + 'lochist_entry_t_rinfo_get', + 'lochist_entry_t_rinfo_set', + 'lochist_entry_t_set_place', + 'lochist_t_back', + 'lochist_t_clear', + 'lochist_t_current_index', + 'lochist_t_fwd', + 'lochist_t_get', + 'lochist_t_get_current', + 'lochist_t_get_place_id', + 'lochist_t_get_template_place', + 'lochist_t_init', + 'lochist_t_is_history_enabled', + 'lochist_t_jump', + 'lochist_t_netcode', + 'lochist_t_save', + 'lochist_t_seek', + 'lochist_t_set', + 'lochist_t_set_current', + 'lochist_t_size', + 'lock_func_range', + 'lock_segm', + 'log2ceil', + 'log2floor', + 'longlongvec_t___eq__', + 'longlongvec_t___getitem__', + 'longlongvec_t___len__', + 'longlongvec_t___ne__', + 'longlongvec_t___setitem__', + 'longlongvec_t__del', + 'longlongvec_t_add_unique', + 'longlongvec_t_at', + 'longlongvec_t_begin', + 'longlongvec_t_begin__SWIG_0', + 'longlongvec_t_begin__SWIG_1', + 'longlongvec_t_capacity', + 'longlongvec_t_clear', + 'longlongvec_t_empty', + 'longlongvec_t_end', + 'longlongvec_t_end__SWIG_0', + 'longlongvec_t_end__SWIG_1', + 'longlongvec_t_erase', + 'longlongvec_t_erase__SWIG_0', + 'longlongvec_t_erase__SWIG_1', + 'longlongvec_t_extract', + 'longlongvec_t_find', + 'longlongvec_t_find__SWIG_0', + 'longlongvec_t_find__SWIG_1', + 'longlongvec_t_has', + 'longlongvec_t_inject', + 'longlongvec_t_insert', + 'longlongvec_t_pop_back', + 'longlongvec_t_push_back', + 'longlongvec_t_push_back__SWIG_0', + 'longlongvec_t_push_back__SWIG_1', + 'longlongvec_t_qclear', + 'longlongvec_t_reserve', + 'longlongvec_t_resize', + 'longlongvec_t_resize__SWIG_0', + 'longlongvec_t_resize__SWIG_1', + 'longlongvec_t_size', + 'longlongvec_t_swap', + 'longlongvec_t_truncate', + 'lookup_key_code', + 'lower_type', + 'lowertype_helper_t_func_has_stkframe_hole', + 'lowertype_helper_t_get_func_purged_bytes', + 'lumina_client_t_get_pop', + 'lumina_client_t_is_pattern_id', + 'lumina_client_t_pull_md', + 'lumina_client_t_pull_md__SWIG_0', + 'lumina_client_t_pull_md__SWIG_1', + 'lumina_client_t_push_md', + 'lumina_client_t_set_pattern_id_md5', + 'lumina_op_res_vec_t___eq__', + 'lumina_op_res_vec_t___getitem__', + 'lumina_op_res_vec_t___len__', + 'lumina_op_res_vec_t___ne__', + 'lumina_op_res_vec_t___setitem__', + 'lumina_op_res_vec_t__del', + 'lumina_op_res_vec_t_add_unique', + 'lumina_op_res_vec_t_at', + 'lumina_op_res_vec_t_begin', + 'lumina_op_res_vec_t_begin__SWIG_0', + 'lumina_op_res_vec_t_begin__SWIG_1', + 'lumina_op_res_vec_t_capacity', + 'lumina_op_res_vec_t_clear', + 'lumina_op_res_vec_t_empty', + 'lumina_op_res_vec_t_end', + 'lumina_op_res_vec_t_end__SWIG_0', + 'lumina_op_res_vec_t_end__SWIG_1', + 'lumina_op_res_vec_t_erase', + 'lumina_op_res_vec_t_erase__SWIG_0', + 'lumina_op_res_vec_t_erase__SWIG_1', + 'lumina_op_res_vec_t_extract', + 'lumina_op_res_vec_t_find', + 'lumina_op_res_vec_t_find__SWIG_0', + 'lumina_op_res_vec_t_find__SWIG_1', + 'lumina_op_res_vec_t_grow', + 'lumina_op_res_vec_t_has', + 'lumina_op_res_vec_t_inject', + 'lumina_op_res_vec_t_insert', + 'lumina_op_res_vec_t_pop_back', + 'lumina_op_res_vec_t_push_back', + 'lumina_op_res_vec_t_push_back__SWIG_0', + 'lumina_op_res_vec_t_push_back__SWIG_1', + 'lumina_op_res_vec_t_qclear', + 'lumina_op_res_vec_t_reserve', + 'lumina_op_res_vec_t_resize', + 'lumina_op_res_vec_t_resize__SWIG_0', + 'lumina_op_res_vec_t_resize__SWIG_1', + 'lumina_op_res_vec_t_size', + 'lumina_op_res_vec_t_swap', + 'lumina_op_res_vec_t_truncate', + 'lvar_locator_t___eq__', + 'lvar_locator_t___ge__', + 'lvar_locator_t___gt__', + 'lvar_locator_t___le__', + 'lvar_locator_t___lt__', + 'lvar_locator_t___ne__', + 'lvar_locator_t_compare', + 'lvar_locator_t_defea_get', + 'lvar_locator_t_defea_set', + 'lvar_locator_t_get_reg1', + 'lvar_locator_t_get_reg2', + 'lvar_locator_t_get_scattered', + 'lvar_locator_t_get_scattered__SWIG_0', + 'lvar_locator_t_get_scattered__SWIG_1', + 'lvar_locator_t_get_stkoff', + 'lvar_locator_t_is_reg1', + 'lvar_locator_t_is_reg2', + 'lvar_locator_t_is_reg_var', + 'lvar_locator_t_is_scattered', + 'lvar_locator_t_is_stk_var', + 'lvar_locator_t_location_get', + 'lvar_locator_t_location_set', + 'lvar_mapping_begin', + 'lvar_mapping_clear', + 'lvar_mapping_end', + 'lvar_mapping_erase', + 'lvar_mapping_find', + 'lvar_mapping_first', + 'lvar_mapping_free', + 'lvar_mapping_insert', + 'lvar_mapping_iterator_t___eq__', + 'lvar_mapping_iterator_t___ne__', + 'lvar_mapping_iterator_t_x_get', + 'lvar_mapping_iterator_t_x_set', + 'lvar_mapping_new', + 'lvar_mapping_next', + 'lvar_mapping_prev', + 'lvar_mapping_second', + 'lvar_mapping_size', + 'lvar_mapping_t_at', + 'lvar_mapping_t_size', + 'lvar_off', + 'lvar_ref_t___eq__', + 'lvar_ref_t___ge__', + 'lvar_ref_t___gt__', + 'lvar_ref_t___le__', + 'lvar_ref_t___lt__', + 'lvar_ref_t___ne__', + 'lvar_ref_t_compare', + 'lvar_ref_t_idx_get', + 'lvar_ref_t_idx_set', + 'lvar_ref_t_mba_get', + 'lvar_ref_t_off_get', + 'lvar_ref_t_off_set', + 'lvar_ref_t_swap', + 'lvar_ref_t_var', + 'lvar_saved_info_t___eq__', + 'lvar_saved_info_t___ne__', + 'lvar_saved_info_t_clear_keep', + 'lvar_saved_info_t_clr_forced_lvar', + 'lvar_saved_info_t_clr_nomap_lvar', + 'lvar_saved_info_t_clr_noptr_lvar', + 'lvar_saved_info_t_cmt_get', + 'lvar_saved_info_t_cmt_set', + 'lvar_saved_info_t_flags_get', + 'lvar_saved_info_t_flags_set', + 'lvar_saved_info_t_has_info', + 'lvar_saved_info_t_is_forced_lvar', + 'lvar_saved_info_t_is_kept', + 'lvar_saved_info_t_is_nomap_lvar', + 'lvar_saved_info_t_is_noptr_lvar', + 'lvar_saved_info_t_ll_get', + 'lvar_saved_info_t_ll_set', + 'lvar_saved_info_t_name_get', + 'lvar_saved_info_t_name_set', + 'lvar_saved_info_t_set_forced_lvar', + 'lvar_saved_info_t_set_keep', + 'lvar_saved_info_t_set_nomap_lvar', + 'lvar_saved_info_t_set_noptr_lvar', + 'lvar_saved_info_t_size_get', + 'lvar_saved_info_t_size_set', + 'lvar_saved_info_t_type_get', + 'lvar_saved_info_t_type_set', + 'lvar_saved_infos_t___eq__', + 'lvar_saved_infos_t___getitem__', + 'lvar_saved_infos_t___len__', + 'lvar_saved_infos_t___ne__', + 'lvar_saved_infos_t___setitem__', + 'lvar_saved_infos_t__del', + 'lvar_saved_infos_t_add_unique', + 'lvar_saved_infos_t_at', + 'lvar_saved_infos_t_begin', + 'lvar_saved_infos_t_begin__SWIG_0', + 'lvar_saved_infos_t_begin__SWIG_1', + 'lvar_saved_infos_t_capacity', + 'lvar_saved_infos_t_clear', + 'lvar_saved_infos_t_empty', + 'lvar_saved_infos_t_end', + 'lvar_saved_infos_t_end__SWIG_0', + 'lvar_saved_infos_t_end__SWIG_1', + 'lvar_saved_infos_t_erase', + 'lvar_saved_infos_t_erase__SWIG_0', + 'lvar_saved_infos_t_erase__SWIG_1', + 'lvar_saved_infos_t_extract', + 'lvar_saved_infos_t_find', + 'lvar_saved_infos_t_find__SWIG_0', + 'lvar_saved_infos_t_find__SWIG_1', + 'lvar_saved_infos_t_grow', + 'lvar_saved_infos_t_has', + 'lvar_saved_infos_t_inject', + 'lvar_saved_infos_t_insert', + 'lvar_saved_infos_t_pop_back', + 'lvar_saved_infos_t_push_back', + 'lvar_saved_infos_t_push_back__SWIG_0', + 'lvar_saved_infos_t_push_back__SWIG_1', + 'lvar_saved_infos_t_qclear', + 'lvar_saved_infos_t_reserve', + 'lvar_saved_infos_t_resize', + 'lvar_saved_infos_t_resize__SWIG_0', + 'lvar_saved_infos_t_resize__SWIG_1', + 'lvar_saved_infos_t_size', + 'lvar_saved_infos_t_swap', + 'lvar_saved_infos_t_truncate', + 'lvar_t_accepts_type', + 'lvar_t_append_list', + 'lvar_t_clear_used', + 'lvar_t_clr_arg_var', + 'lvar_t_clr_automapped', + 'lvar_t_clr_dummy_arg', + 'lvar_t_clr_fake_var', + 'lvar_t_clr_floating_var', + 'lvar_t_clr_forced_var', + 'lvar_t_clr_mapdst_var', + 'lvar_t_clr_mreg_done', + 'lvar_t_clr_noptr_var', + 'lvar_t_clr_notarg', + 'lvar_t_clr_overlapped_var', + 'lvar_t_clr_spoiled_var', + 'lvar_t_clr_thisarg', + 'lvar_t_clr_unknown_width', + 'lvar_t_clr_user_info', + 'lvar_t_clr_user_name', + 'lvar_t_clr_user_type', + 'lvar_t_cmt_get', + 'lvar_t_cmt_set', + 'lvar_t_defblk_get', + 'lvar_t_defblk_set', + 'lvar_t_divisor_get', + 'lvar_t_divisor_set', + 'lvar_t_has_common', + 'lvar_t_has_common_bit', + 'lvar_t_has_nice_name', + 'lvar_t_has_regname', + 'lvar_t_has_user_info', + 'lvar_t_has_user_name', + 'lvar_t_has_user_type', + 'lvar_t_is_aliasable', + 'lvar_t_is_arg_var', + 'lvar_t_is_automapped', + 'lvar_t_is_dummy_arg', + 'lvar_t_is_fake_var', + 'lvar_t_is_floating_var', + 'lvar_t_is_forced_var', + 'lvar_t_is_mapdst_var', + 'lvar_t_is_noptr_var', + 'lvar_t_is_notarg', + 'lvar_t_is_overlapped_var', + 'lvar_t_is_result_var', + 'lvar_t_is_spoiled_var', + 'lvar_t_is_thisarg', + 'lvar_t_is_unknown_width', + 'lvar_t_mreg_done', + 'lvar_t_name_get', + 'lvar_t_name_set', + 'lvar_t_set_arg_var', + 'lvar_t_set_automapped', + 'lvar_t_set_dummy_arg', + 'lvar_t_set_fake_var', + 'lvar_t_set_final_lvar_type', + 'lvar_t_set_floating_var', + 'lvar_t_set_forced_var', + 'lvar_t_set_lvar_type', + 'lvar_t_set_mapdst_var', + 'lvar_t_set_mreg_done', + 'lvar_t_set_non_typed', + 'lvar_t_set_noptr_var', + 'lvar_t_set_notarg', + 'lvar_t_set_overlapped_var', + 'lvar_t_set_spoiled_var', + 'lvar_t_set_thisarg', + 'lvar_t_set_typed', + 'lvar_t_set_unknown_width', + 'lvar_t_set_used', + 'lvar_t_set_user_name', + 'lvar_t_set_user_type', + 'lvar_t_set_width', + 'lvar_t_tif_get', + 'lvar_t_tif_set', + 'lvar_t_type', + 'lvar_t_type__SWIG_0', + 'lvar_t_type__SWIG_1', + 'lvar_t_typed', + 'lvar_t_used', + 'lvar_t_width_get', + 'lvar_t_width_set', + 'lvar_uservec_t_clear', + 'lvar_uservec_t_find_info', + 'lvar_uservec_t_keep_info', + 'lvar_uservec_t_lmaps_get', + 'lvar_uservec_t_lmaps_set', + 'lvar_uservec_t_lvvec_get', + 'lvar_uservec_t_lvvec_set', + 'lvar_uservec_t_stkoff_delta_get', + 'lvar_uservec_t_stkoff_delta_set', + 'lvar_uservec_t_swap', + 'lvar_uservec_t_ulv_flags_get', + 'lvar_uservec_t_ulv_flags_set', + 'lvars_t_find', + 'lvars_t_find_input_lvar', + 'lvars_t_find_lvar', + 'lvars_t_find_stkvar', + 'make_name_auto', + 'make_name_non_public', + 'make_name_non_weak', + 'make_name_public', + 'make_name_user', + 'make_name_weak', + 'make_pointer', + 'map_code_ea', + 'map_code_ea__SWIG_0', + 'map_code_ea__SWIG_1', + 'map_data_ea', + 'map_data_ea__SWIG_0', + 'map_data_ea__SWIG_1', + 'map_ea', + 'map_ea__SWIG_0', + 'map_ea__SWIG_1', + 'mark_cfunc_dirty', + 'mark_position', + 'may_create_stkvars', + 'may_trace_sp', + 'mba_range_iterator_t_chunk', + 'mba_range_iterator_t_fii_get', + 'mba_range_iterator_t_fii_set', + 'mba_range_iterator_t_is_snippet', + 'mba_range_iterator_t_next', + 'mba_range_iterator_t_rii_get', + 'mba_range_iterator_t_rii_set', + 'mba_range_iterator_t_set', + 'mba_ranges_t_clear', + 'mba_ranges_t_empty', + 'mba_ranges_t_is_fragmented', + 'mba_ranges_t_is_snippet', + 'mba_ranges_t_pfn_get', + 'mba_ranges_t_pfn_set', + 'mba_ranges_t_ranges_get', + 'mba_ranges_t_ranges_set', + 'mba_ranges_t_start', + 'mbl_array_t__deregister', + 'mbl_array_t__print', + 'mbl_array_t__register', + 'mbl_array_t_aliased_args_get', + 'mbl_array_t_aliased_args_set', + 'mbl_array_t_aliased_memory_get', + 'mbl_array_t_aliased_memory_set', + 'mbl_array_t_aliased_vars_get', + 'mbl_array_t_aliased_vars_set', + 'mbl_array_t_alloc_lvars', + 'mbl_array_t_analyze_calls', + 'mbl_array_t_arg', + 'mbl_array_t_arg__SWIG_0', + 'mbl_array_t_arg__SWIG_1', + 'mbl_array_t_argbase', + 'mbl_array_t_argidx_get', + 'mbl_array_t_argidx_ok', + 'mbl_array_t_argidx_set', + 'mbl_array_t_bad_call_sp_detected', + 'mbl_array_t_blocks_get', + 'mbl_array_t_blocks_set', + 'mbl_array_t_build_graph', + 'mbl_array_t_calc_shins_flags', + 'mbl_array_t_callinfo_built', + 'mbl_array_t_cc_get', + 'mbl_array_t_cc_set', + 'mbl_array_t_chain_varnums_ok', + 'mbl_array_t_clr_cdtr', + 'mbl_array_t_clr_mba_flags', + 'mbl_array_t_clr_mba_flags2', + 'mbl_array_t_combine_blocks', + 'mbl_array_t_common_stkvars_stkargs', + 'mbl_array_t_consumed_argregs_get', + 'mbl_array_t_consumed_argregs_set', + 'mbl_array_t_copy_block', + 'mbl_array_t_deleted_pairs', + 'mbl_array_t_deserialize', + 'mbl_array_t_display_numaddrs', + 'mbl_array_t_display_valnums', + 'mbl_array_t_dump', + 'mbl_array_t_dump_mba', + 'mbl_array_t_dump_mba__varargs__', + 'mbl_array_t_entry_ea_get', + 'mbl_array_t_entry_ea_set', + 'mbl_array_t_error_ea_get', + 'mbl_array_t_error_ea_set', + 'mbl_array_t_error_strarg_get', + 'mbl_array_t_error_strarg_set', + 'mbl_array_t_final_type_get', + 'mbl_array_t_final_type_set', + 'mbl_array_t_find_mop', + 'mbl_array_t_first_epilog_ea_get', + 'mbl_array_t_first_epilog_ea_set', + 'mbl_array_t_for_all_insns', + 'mbl_array_t_for_all_ops', + 'mbl_array_t_for_all_topinsns', + 'mbl_array_t_fpd_get', + 'mbl_array_t_fpd_set', + 'mbl_array_t_frregs_get', + 'mbl_array_t_frregs_set', + 'mbl_array_t_frsize_get', + 'mbl_array_t_frsize_set', + 'mbl_array_t_fti_flags_get', + 'mbl_array_t_fti_flags_set', + 'mbl_array_t_fullsize_get', + 'mbl_array_t_fullsize_set', + 'mbl_array_t_generated_asserts', + 'mbl_array_t_get_args_region', + 'mbl_array_t_get_curfunc', + 'mbl_array_t_get_graph', + 'mbl_array_t_get_ida_argloc', + 'mbl_array_t_get_lvars_region', + 'mbl_array_t_get_mba_flags', + 'mbl_array_t_get_mba_flags2', + 'mbl_array_t_get_mblock', + 'mbl_array_t_get_mblock__SWIG_0', + 'mbl_array_t_get_mblock__SWIG_1', + 'mbl_array_t_get_shadow_region', + 'mbl_array_t_get_stack_region', + 'mbl_array_t_get_std_region', + 'mbl_array_t_gotoff_stkvars_get', + 'mbl_array_t_gotoff_stkvars_set', + 'mbl_array_t_graph_insns', + 'mbl_array_t_has_bad_sp', + 'mbl_array_t_has_over_chains', + 'mbl_array_t_has_passregs', + 'mbl_array_t_idaloc2vd', + 'mbl_array_t_idb_node_get', + 'mbl_array_t_idb_node_set', + 'mbl_array_t_idb_spoiled_get', + 'mbl_array_t_idb_spoiled_set', + 'mbl_array_t_idb_type_get', + 'mbl_array_t_idb_type_set', + 'mbl_array_t_inargoff_get', + 'mbl_array_t_inargoff_set', + 'mbl_array_t_insert_block', + 'mbl_array_t_is_cdtr', + 'mbl_array_t_is_ctr', + 'mbl_array_t_is_dtr', + 'mbl_array_t_is_pattern', + 'mbl_array_t_is_snippet', + 'mbl_array_t_is_stkarg', + 'mbl_array_t_is_thunk', + 'mbl_array_t_label_get', + 'mbl_array_t_label_set', + 'mbl_array_t_last_prolog_ea_get', + 'mbl_array_t_last_prolog_ea_set', + 'mbl_array_t_loaded_gdl', + 'mbl_array_t_lvar_names_ok', + 'mbl_array_t_lvars_allocated', + 'mbl_array_t_lvars_renamed', + 'mbl_array_t_mark_chains_dirty', + 'mbl_array_t_maturity_get', + 'mbl_array_t_maturity_set', + 'mbl_array_t_may_refine_rettype', + 'mbl_array_t_mbr_get', + 'mbl_array_t_mbr_set', + 'mbl_array_t_minargref_get', + 'mbl_array_t_minargref_set', + 'mbl_array_t_minstkref_ea_get', + 'mbl_array_t_minstkref_ea_set', + 'mbl_array_t_minstkref_get', + 'mbl_array_t_minstkref_set', + 'mbl_array_t_natural_get', + 'mbl_array_t_natural_set', + 'mbl_array_t_nodel_memory_get', + 'mbl_array_t_nodel_memory_set', + 'mbl_array_t_notes_get', + 'mbl_array_t_notes_set', + 'mbl_array_t_npurged_get', + 'mbl_array_t_npurged_set', + 'mbl_array_t_occurred_warns_get', + 'mbl_array_t_occurred_warns_set', + 'mbl_array_t_optimize_global', + 'mbl_array_t_optimize_local', + 'mbl_array_t_optimized', + 'mbl_array_t_pfn_flags_get', + 'mbl_array_t_pfn_flags_set', + 'mbl_array_t_precise_defeas', + 'mbl_array_t_propagated_asserts', + 'mbl_array_t_qty_get', + 'mbl_array_t_qty_set', + 'mbl_array_t_really_alloc', + 'mbl_array_t_regargs_is_not_aligned', + 'mbl_array_t_remove_block', + 'mbl_array_t_remove_empty_blocks', + 'mbl_array_t_reqmat_get', + 'mbl_array_t_reqmat_set', + 'mbl_array_t_restricted_memory_get', + 'mbl_array_t_restricted_memory_set', + 'mbl_array_t_retsize_get', + 'mbl_array_t_retsize_set', + 'mbl_array_t_returns_fpval', + 'mbl_array_t_retvaridx_get', + 'mbl_array_t_retvaridx_set', + 'mbl_array_t_rtype_refined', + 'mbl_array_t_saverest_done', + 'mbl_array_t_serialize', + 'mbl_array_t_set_mba_flags', + 'mbl_array_t_set_mba_flags2', + 'mbl_array_t_shadow_args_get', + 'mbl_array_t_shadow_args_set', + 'mbl_array_t_short_display', + 'mbl_array_t_should_beautify', + 'mbl_array_t_show_reduction', + 'mbl_array_t_spd_adjust_get', + 'mbl_array_t_spd_adjust_set', + 'mbl_array_t_spoiled_list_get', + 'mbl_array_t_spoiled_list_set', + 'mbl_array_t_stacksize_get', + 'mbl_array_t_stacksize_set', + 'mbl_array_t_std_ivls_get', + 'mbl_array_t_std_ivls_set', + 'mbl_array_t_stkoff_ida2vd', + 'mbl_array_t_stkoff_vd2ida', + 'mbl_array_t_term', + 'mbl_array_t_tmpstk_size_get', + 'mbl_array_t_tmpstk_size_set', + 'mbl_array_t_use_frame', + 'mbl_array_t_use_wingraph32', + 'mbl_array_t_valranges_done', + 'mbl_array_t_vars_get', + 'mbl_array_t_vars_set', + 'mbl_array_t_vd2idaloc', + 'mbl_array_t_vd2idaloc__SWIG_0', + 'mbl_array_t_vd2idaloc__SWIG_1', + 'mbl_array_t_verify', + 'mbl_array_t_write_to_const_detected', + 'mbl_graph_t_get_chain_stamp', + 'mbl_graph_t_get_du', + 'mbl_graph_t_get_mblock', + 'mbl_graph_t_get_ud', + 'mbl_graph_t_is_du_chain_dirty', + 'mbl_graph_t_is_redefined_globally', + 'mbl_graph_t_is_ud_chain_dirty', + 'mbl_graph_t_is_used_globally', + 'mblock_t__print', + 'mblock_t_append_def_list', + 'mblock_t_append_use_list', + 'mblock_t_build_def_list', + 'mblock_t_build_lists', + 'mblock_t_build_use_list', + 'mblock_t_dead_at_start_get', + 'mblock_t_dead_at_start_set', + 'mblock_t_dnu_get', + 'mblock_t_dnu_set', + 'mblock_t_dump', + 'mblock_t_dump_block', + 'mblock_t_dump_block__varargs__', + 'mblock_t_empty', + 'mblock_t_end_get', + 'mblock_t_end_set', + 'mblock_t_find_access', + 'mblock_t_find_def', + 'mblock_t_find_first_use', + 'mblock_t_find_redefinition', + 'mblock_t_find_use', + 'mblock_t_flags_get', + 'mblock_t_flags_set', + 'mblock_t_for_all_insns', + 'mblock_t_for_all_ops', + 'mblock_t_for_all_uses', + 'mblock_t_get_reginsn_qty', + 'mblock_t_get_valranges', + 'mblock_t_get_valranges__SWIG_0', + 'mblock_t_get_valranges__SWIG_1', + 'mblock_t_head_get', + 'mblock_t_head_set', + 'mblock_t_insert_into_block', + 'mblock_t_is_branch', + 'mblock_t_is_call_block', + 'mblock_t_is_nway', + 'mblock_t_is_redefined', + 'mblock_t_is_rhs_redefined', + 'mblock_t_is_simple_goto_block', + 'mblock_t_is_simple_jcnd_block', + 'mblock_t_is_unknown_call', + 'mblock_t_is_used', + 'mblock_t_lists_dirty', + 'mblock_t_lists_ready', + 'mblock_t_make_lists_ready', + 'mblock_t_make_nop', + 'mblock_t_mark_lists_dirty', + 'mblock_t_maxbsp_get', + 'mblock_t_maxbsp_set', + 'mblock_t_maybdef_get', + 'mblock_t_maybdef_set', + 'mblock_t_maybuse_get', + 'mblock_t_maybuse_set', + 'mblock_t_mba_get', + 'mblock_t_mba_set', + 'mblock_t_minbargref_get', + 'mblock_t_minbargref_set', + 'mblock_t_minbstkref_get', + 'mblock_t_minbstkref_set', + 'mblock_t_mustbdef_get', + 'mblock_t_mustbdef_set', + 'mblock_t_mustbuse_get', + 'mblock_t_mustbuse_set', + 'mblock_t_needs_propagation', + 'mblock_t_nextb_get', + 'mblock_t_nextb_set', + 'mblock_t_npred', + 'mblock_t_nsucc', + 'mblock_t_optimize_block', + 'mblock_t_optimize_insn', + 'mblock_t_optimize_useless_jump', + 'mblock_t_pred', + 'mblock_t_predset_get', + 'mblock_t_predset_set', + 'mblock_t_prevb_get', + 'mblock_t_prevb_set', + 'mblock_t_remove_from_block', + 'mblock_t_request_demote64', + 'mblock_t_request_propagation', + 'mblock_t_serial_get', + 'mblock_t_serial_set', + 'mblock_t_start_get', + 'mblock_t_start_set', + 'mblock_t_succ', + 'mblock_t_succset_get', + 'mblock_t_succset_set', + 'mblock_t_tail_get', + 'mblock_t_tail_set', + 'mblock_t_type_get', + 'mblock_t_type_set', + 'mcallarg_t__print', + 'mcallarg_t_argloc_get', + 'mcallarg_t_argloc_set', + 'mcallarg_t_copy_mop', + 'mcallarg_t_dstr', + 'mcallarg_t_ea_get', + 'mcallarg_t_ea_set', + 'mcallarg_t_make_int', + 'mcallarg_t_make_uint', + 'mcallarg_t_name_get', + 'mcallarg_t_name_set', + 'mcallarg_t_set_regarg', + 'mcallarg_t_set_regarg__SWIG_0', + 'mcallarg_t_set_regarg__SWIG_1', + 'mcallarg_t_set_regarg__SWIG_2', + 'mcallarg_t_type_get', + 'mcallarg_t_type_set', + 'mcallargs_t___eq__', + 'mcallargs_t___getitem__', + 'mcallargs_t___len__', + 'mcallargs_t___ne__', + 'mcallargs_t___setitem__', + 'mcallargs_t__del', + 'mcallargs_t_add_unique', + 'mcallargs_t_at', + 'mcallargs_t_begin', + 'mcallargs_t_begin__SWIG_0', + 'mcallargs_t_begin__SWIG_1', + 'mcallargs_t_capacity', + 'mcallargs_t_clear', + 'mcallargs_t_empty', + 'mcallargs_t_end', + 'mcallargs_t_end__SWIG_0', + 'mcallargs_t_end__SWIG_1', + 'mcallargs_t_erase', + 'mcallargs_t_erase__SWIG_0', + 'mcallargs_t_erase__SWIG_1', + 'mcallargs_t_extract', + 'mcallargs_t_find', + 'mcallargs_t_find__SWIG_0', + 'mcallargs_t_find__SWIG_1', + 'mcallargs_t_grow', + 'mcallargs_t_has', + 'mcallargs_t_inject', + 'mcallargs_t_insert', + 'mcallargs_t_pop_back', + 'mcallargs_t_push_back', + 'mcallargs_t_push_back__SWIG_0', + 'mcallargs_t_push_back__SWIG_1', + 'mcallargs_t_qclear', + 'mcallargs_t_reserve', + 'mcallargs_t_resize', + 'mcallargs_t_resize__SWIG_0', + 'mcallargs_t_resize__SWIG_1', + 'mcallargs_t_size', + 'mcallargs_t_swap', + 'mcallargs_t_truncate', + 'mcallinfo_t__print', + 'mcallinfo_t_args_get', + 'mcallinfo_t_args_set', + 'mcallinfo_t_call_spd_get', + 'mcallinfo_t_call_spd_set', + 'mcallinfo_t_callee_get', + 'mcallinfo_t_callee_set', + 'mcallinfo_t_cc_get', + 'mcallinfo_t_cc_set', + 'mcallinfo_t_dead_regs_get', + 'mcallinfo_t_dead_regs_set', + 'mcallinfo_t_dstr', + 'mcallinfo_t_flags_get', + 'mcallinfo_t_flags_set', + 'mcallinfo_t_fti_attrs_get', + 'mcallinfo_t_fti_attrs_set', + 'mcallinfo_t_get_type', + 'mcallinfo_t_is_vararg', + 'mcallinfo_t_lexcompare', + 'mcallinfo_t_pass_regs_get', + 'mcallinfo_t_pass_regs_set', + 'mcallinfo_t_retregs_get', + 'mcallinfo_t_retregs_set', + 'mcallinfo_t_return_argloc_get', + 'mcallinfo_t_return_argloc_set', + 'mcallinfo_t_return_regs_get', + 'mcallinfo_t_return_regs_set', + 'mcallinfo_t_return_type_get', + 'mcallinfo_t_return_type_set', + 'mcallinfo_t_role_get', + 'mcallinfo_t_role_set', + 'mcallinfo_t_set_type', + 'mcallinfo_t_solid_args_get', + 'mcallinfo_t_solid_args_set', + 'mcallinfo_t_spoiled_get', + 'mcallinfo_t_spoiled_set', + 'mcallinfo_t_stkargs_top_get', + 'mcallinfo_t_stkargs_top_set', + 'mcallinfo_t_visible_memory_get', + 'mcallinfo_t_visible_memory_set', + 'mcases_t___eq__', + 'mcases_t___ge__', + 'mcases_t___gt__', + 'mcases_t___le__', + 'mcases_t___lt__', + 'mcases_t___ne__', + 'mcases_t__print', + 'mcases_t_compare', + 'mcases_t_dstr', + 'mcases_t_empty', + 'mcases_t_resize', + 'mcases_t_size', + 'mcases_t_swap', + 'mcases_t_targets_get', + 'mcases_t_targets_set', + 'mcases_t_values_get', + 'mcases_t_values_set', + 'mcode_modifies_d', + 'md_type_parts_t___eq__', + 'md_type_parts_t___ne__', + 'md_type_parts_t_fields_get', + 'md_type_parts_t_fields_set', + 'md_type_parts_t_type_get', + 'md_type_parts_t_type_set', + 'md_type_parts_t_userti_get', + 'md_type_parts_t_userti_set', + 'mem2base', + 'member_t_by_til', + 'member_t_eoff_get', + 'member_t_eoff_set', + 'member_t_flag_get', + 'member_t_flag_set', + 'member_t_get_soff', + 'member_t_has_ti', + 'member_t_has_union', + 'member_t_id_get', + 'member_t_id_set', + 'member_t_is_baseclass', + 'member_t_is_destructor', + 'member_t_is_dupname', + 'member_t_props_get', + 'member_t_props_set', + 'member_t_soff_get', + 'member_t_soff_set', + 'member_t_unimem', + 'meminfo_vec_t___eq__', + 'meminfo_vec_t___getitem__', + 'meminfo_vec_t___len__', + 'meminfo_vec_t___ne__', + 'meminfo_vec_t___setitem__', + 'meminfo_vec_t__del', + 'meminfo_vec_t_add_unique', + 'meminfo_vec_t_at', + 'meminfo_vec_t_begin', + 'meminfo_vec_t_begin__SWIG_0', + 'meminfo_vec_t_begin__SWIG_1', + 'meminfo_vec_t_capacity', + 'meminfo_vec_t_clear', + 'meminfo_vec_t_empty', + 'meminfo_vec_t_end', + 'meminfo_vec_t_end__SWIG_0', + 'meminfo_vec_t_end__SWIG_1', + 'meminfo_vec_t_erase', + 'meminfo_vec_t_erase__SWIG_0', + 'meminfo_vec_t_erase__SWIG_1', + 'meminfo_vec_t_extract', + 'meminfo_vec_t_find', + 'meminfo_vec_t_find__SWIG_0', + 'meminfo_vec_t_find__SWIG_1', + 'meminfo_vec_t_grow', + 'meminfo_vec_t_has', + 'meminfo_vec_t_inject', + 'meminfo_vec_t_insert', + 'meminfo_vec_t_pop_back', + 'meminfo_vec_t_push_back', + 'meminfo_vec_t_push_back__SWIG_0', + 'meminfo_vec_t_push_back__SWIG_1', + 'meminfo_vec_t_qclear', + 'meminfo_vec_t_reserve', + 'meminfo_vec_t_resize', + 'meminfo_vec_t_resize__SWIG_0', + 'meminfo_vec_t_resize__SWIG_1', + 'meminfo_vec_t_size', + 'meminfo_vec_t_swap', + 'meminfo_vec_t_truncate', + 'memory_info_t___eq__', + 'memory_info_t___ne__', + 'memory_info_t_bitness_get', + 'memory_info_t_bitness_set', + 'memory_info_t_name_get', + 'memory_info_t_name_set', + 'memory_info_t_perm_get', + 'memory_info_t_perm_set', + 'memory_info_t_sbase_get', + 'memory_info_t_sbase_set', + 'memory_info_t_sclass_get', + 'memory_info_t_sclass_set', + 'memreg_info_t_ea_get', + 'memreg_info_t_ea_set', + 'memreg_info_t_get_bytes', + 'memreg_infos_t___getitem__', + 'memreg_infos_t___len__', + 'memreg_infos_t___setitem__', + 'memreg_infos_t_at', + 'memreg_infos_t_begin', + 'memreg_infos_t_begin__SWIG_0', + 'memreg_infos_t_begin__SWIG_1', + 'memreg_infos_t_capacity', + 'memreg_infos_t_clear', + 'memreg_infos_t_empty', + 'memreg_infos_t_end', + 'memreg_infos_t_end__SWIG_0', + 'memreg_infos_t_end__SWIG_1', + 'memreg_infos_t_erase', + 'memreg_infos_t_erase__SWIG_0', + 'memreg_infos_t_erase__SWIG_1', + 'memreg_infos_t_extract', + 'memreg_infos_t_grow', + 'memreg_infos_t_inject', + 'memreg_infos_t_insert', + 'memreg_infos_t_pop_back', + 'memreg_infos_t_push_back', + 'memreg_infos_t_push_back__SWIG_0', + 'memreg_infos_t_push_back__SWIG_1', + 'memreg_infos_t_qclear', + 'memreg_infos_t_reserve', + 'memreg_infos_t_resize', + 'memreg_infos_t_resize__SWIG_0', + 'memreg_infos_t_resize__SWIG_1', + 'memreg_infos_t_size', + 'memreg_infos_t_swap', + 'memreg_infos_t_truncate', + 'metadata_iterator_t_data_end', + 'metadata_iterator_t_data_get', + 'metadata_iterator_t_data_set', + 'metadata_iterator_t_key_get', + 'metadata_iterator_t_key_set', + 'metadata_iterator_t_next', + 'metadata_iterator_t_size_get', + 'metadata_iterator_t_size_set', + 'microcode_filter_t_apply', + 'microcode_filter_t_match', + 'minsn_t___dbg_get_meminfo', + 'minsn_t___dbg_get_registered_kind', + 'minsn_t___lt__', + 'minsn_t__deregister', + 'minsn_t__make_nop', + 'minsn_t__obj_id', + 'minsn_t__print', + 'minsn_t__register', + 'minsn_t_clr_assert', + 'minsn_t_clr_combinable', + 'minsn_t_clr_combined', + 'minsn_t_clr_fpinsn', + 'minsn_t_clr_ignlowsrc', + 'minsn_t_clr_multimov', + 'minsn_t_clr_noret_icall', + 'minsn_t_clr_propagatable', + 'minsn_t_clr_tailcall', + 'minsn_t_contains_call', + 'minsn_t_contains_opcode', + 'minsn_t_d_get', + 'minsn_t_d_set', + 'minsn_t_dstr', + 'minsn_t_ea_get', + 'minsn_t_ea_set', + 'minsn_t_equal_insns', + 'minsn_t_find_call', + 'minsn_t_find_ins_op', + 'minsn_t_find_num_op', + 'minsn_t_find_opcode', + 'minsn_t_find_opcode__SWIG_0', + 'minsn_t_find_opcode__SWIG_1', + 'minsn_t_for_all_insns', + 'minsn_t_for_all_ops', + 'minsn_t_get_role', + 'minsn_t_get_split_size', + 'minsn_t_has_side_effects', + 'minsn_t_iprops_get', + 'minsn_t_iprops_set', + 'minsn_t_is_after', + 'minsn_t_is_alloca', + 'minsn_t_is_assert', + 'minsn_t_is_between', + 'minsn_t_is_bswap', + 'minsn_t_is_cleaning_pop', + 'minsn_t_is_combinable', + 'minsn_t_is_combined', + 'minsn_t_is_extstx', + 'minsn_t_is_farcall', + 'minsn_t_is_fpinsn', + 'minsn_t_is_helper', + 'minsn_t_is_ignlowsrc', + 'minsn_t_is_inverted_jx', + 'minsn_t_is_like_move', + 'minsn_t_is_mbarrier', + 'minsn_t_is_memcpy', + 'minsn_t_is_memset', + 'minsn_t_is_mov', + 'minsn_t_is_multimov', + 'minsn_t_is_noret_call', + 'minsn_t_is_optional', + 'minsn_t_is_persistent', + 'minsn_t_is_propagatable', + 'minsn_t_is_readflags', + 'minsn_t_is_tailcall', + 'minsn_t_is_unknown_call', + 'minsn_t_is_wild_match', + 'minsn_t_l_get', + 'minsn_t_l_set', + 'minsn_t_lexcompare', + 'minsn_t_may_use_aliased_memory', + 'minsn_t_modifes_d', + 'minsn_t_modifies_pair_mop', + 'minsn_t_next_get', + 'minsn_t_next_set', + 'minsn_t_opcode_get', + 'minsn_t_opcode_set', + 'minsn_t_optimize_solo', + 'minsn_t_optimize_subtree', + 'minsn_t_prev_get', + 'minsn_t_prev_set', + 'minsn_t_r_get', + 'minsn_t_r_set', + 'minsn_t_set_assert', + 'minsn_t_set_cleaning_pop', + 'minsn_t_set_combinable', + 'minsn_t_set_extstx', + 'minsn_t_set_farcall', + 'minsn_t_set_fpinsn', + 'minsn_t_set_ignlowsrc', + 'minsn_t_set_inverted_jx', + 'minsn_t_set_mbarrier', + 'minsn_t_set_multimov', + 'minsn_t_set_noret_icall', + 'minsn_t_set_optional', + 'minsn_t_set_persistent', + 'minsn_t_set_split_size', + 'minsn_t_set_tailcall', + 'minsn_t_set_wild_match', + 'minsn_t_setaddr', + 'minsn_t_swap', + 'minsn_t_was_noret_icall', + 'minsn_t_was_split', + 'minsn_visitor_t_visit_minsn', + 'mlist_mop_visitor_t_changed_get', + 'mlist_mop_visitor_t_changed_set', + 'mlist_mop_visitor_t_curins_get', + 'mlist_mop_visitor_t_curins_set', + 'mlist_mop_visitor_t_list_get', + 'mlist_mop_visitor_t_list_set', + 'mlist_mop_visitor_t_topins_get', + 'mlist_mop_visitor_t_topins_set', + 'mlist_mop_visitor_t_visit_mop', + 'mlist_t___eq__', + 'mlist_t___ge__', + 'mlist_t___gt__', + 'mlist_t___le__', + 'mlist_t___lt__', + 'mlist_t___ne__', + 'mlist_t__print', + 'mlist_t_add', + 'mlist_t_add__SWIG_0', + 'mlist_t_add__SWIG_1', + 'mlist_t_add__SWIG_2', + 'mlist_t_add__SWIG_3', + 'mlist_t_addmem', + 'mlist_t_clear', + 'mlist_t_compare', + 'mlist_t_count', + 'mlist_t_dstr', + 'mlist_t_empty', + 'mlist_t_has', + 'mlist_t_has_all', + 'mlist_t_has_any', + 'mlist_t_has_common', + 'mlist_t_has_memory', + 'mlist_t_includes', + 'mlist_t_intersect', + 'mlist_t_is_subset_of', + 'mlist_t_mem_get', + 'mlist_t_mem_set', + 'mlist_t_reg_get', + 'mlist_t_reg_set', + 'mlist_t_sub', + 'mlist_t_sub__SWIG_0', + 'mlist_t_sub__SWIG_1', + 'mlist_t_sub__SWIG_2', + 'mlist_t_swap', + 'mnumber_t___eq__', + 'mnumber_t___ge__', + 'mnumber_t___gt__', + 'mnumber_t___le__', + 'mnumber_t___lt__', + 'mnumber_t___ne__', + 'mnumber_t_compare', + 'mnumber_t_org_value_get', + 'mnumber_t_org_value_set', + 'mnumber_t_update_value', + 'mnumber_t_value_get', + 'mnumber_t_value_set', + 'modify_user_lvar_info', + 'modify_user_lvars', + 'modinfo_t_base_get', + 'modinfo_t_base_set', + 'modinfo_t_name_get', + 'modinfo_t_name_set', + 'modinfo_t_rebase_to_get', + 'modinfo_t_rebase_to_set', + 'modinfo_t_size_get', + 'modinfo_t_size_set', + 'mop_addr_t_insize_get', + 'mop_addr_t_insize_set', + 'mop_addr_t_lexcompare', + 'mop_addr_t_outsize_get', + 'mop_addr_t_outsize_set', + 'mop_pair_t_hop_get', + 'mop_pair_t_hop_set', + 'mop_pair_t_lop_get', + 'mop_pair_t_lop_set', + 'mop_t___dbg_get_meminfo', + 'mop_t___dbg_get_registered_kind', + 'mop_t___eq__', + 'mop_t___lt__', + 'mop_t___ne__', + 'mop_t__deregister', + 'mop_t__get_a', + 'mop_t__get_b', + 'mop_t__get_c', + 'mop_t__get_cstr', + 'mop_t__get_d', + 'mop_t__get_f', + 'mop_t__get_fpc', + 'mop_t__get_g', + 'mop_t__get_helper', + 'mop_t__get_l', + 'mop_t__get_nnn', + 'mop_t__get_pair', + 'mop_t__get_r', + 'mop_t__get_s', + 'mop_t__get_scif', + 'mop_t__get_t', + 'mop_t__make_blkref', + 'mop_t__make_callinfo', + 'mop_t__make_cases', + 'mop_t__make_gvar', + 'mop_t__make_insn', + 'mop_t__make_lvar', + 'mop_t__make_pair', + 'mop_t__make_reg', + 'mop_t__make_reg__SWIG_0', + 'mop_t__make_reg__SWIG_1', + 'mop_t__make_stkvar', + 'mop_t__make_strlit', + 'mop_t__obj_id', + 'mop_t__print', + 'mop_t__register', + 'mop_t__set_a', + 'mop_t__set_b', + 'mop_t__set_c', + 'mop_t__set_cstr', + 'mop_t__set_d', + 'mop_t__set_f', + 'mop_t__set_fpc', + 'mop_t__set_g', + 'mop_t__set_helper', + 'mop_t__set_l', + 'mop_t__set_nnn', + 'mop_t__set_pair', + 'mop_t__set_r', + 'mop_t__set_s', + 'mop_t__set_scif', + 'mop_t__set_t', + 'mop_t_apply_ld_mcode', + 'mop_t_apply_xds', + 'mop_t_apply_xdu', + 'mop_t_assign', + 'mop_t_change_size', + 'mop_t_create_from_insn', + 'mop_t_create_from_ivlset', + 'mop_t_create_from_mlist', + 'mop_t_create_from_scattered_vdloc', + 'mop_t_create_from_vdloc', + 'mop_t_double_size', + 'mop_t_dstr', + 'mop_t_empty', + 'mop_t_equal_mops', + 'mop_t_erase', + 'mop_t_erase_but_keep_size', + 'mop_t_for_all_ops', + 'mop_t_for_all_scattered_submops', + 'mop_t_get_insn', + 'mop_t_get_insn__SWIG_0', + 'mop_t_get_insn__SWIG_1', + 'mop_t_get_stkoff', + 'mop_t_get_stkvar', + 'mop_t_has_side_effects', + 'mop_t_is01', + 'mop_t_is_arglist', + 'mop_t_is_bit_reg', + 'mop_t_is_bit_reg__SWIG_0', + 'mop_t_is_bit_reg__SWIG_1', + 'mop_t_is_cc', + 'mop_t_is_ccflags', + 'mop_t_is_constant', + 'mop_t_is_equal_to', + 'mop_t_is_extended_from', + 'mop_t_is_glbaddr', + 'mop_t_is_glbaddr__SWIG_0', + 'mop_t_is_glbaddr__SWIG_1', + 'mop_t_is_impptr_done', + 'mop_t_is_insn', + 'mop_t_is_insn__SWIG_0', + 'mop_t_is_insn__SWIG_1', + 'mop_t_is_kreg', + 'mop_t_is_mob', + 'mop_t_is_negative_constant', + 'mop_t_is_one', + 'mop_t_is_positive_constant', + 'mop_t_is_reg', + 'mop_t_is_reg__SWIG_0', + 'mop_t_is_reg__SWIG_1', + 'mop_t_is_reg__SWIG_2', + 'mop_t_is_scattered', + 'mop_t_is_sign_extended_from', + 'mop_t_is_stkaddr', + 'mop_t_is_udt', + 'mop_t_is_undef_val', + 'mop_t_is_zero', + 'mop_t_is_zero_extended_from', + 'mop_t_lexcompare', + 'mop_t_make_blkref', + 'mop_t_make_first_half', + 'mop_t_make_fpnum', + 'mop_t_make_gvar', + 'mop_t_make_helper', + 'mop_t_make_high_half', + 'mop_t_make_insn', + 'mop_t_make_low_half', + 'mop_t_make_number', + 'mop_t_make_reg', + 'mop_t_make_reg__SWIG_0', + 'mop_t_make_reg__SWIG_1', + 'mop_t_make_reg_pair', + 'mop_t_make_second_half', + 'mop_t_may_use_aliased_memory', + 'mop_t_oprops_get', + 'mop_t_oprops_set', + 'mop_t_preserve_side_effects', + 'mop_t_probably_floating', + 'mop_t_set_impptr_done', + 'mop_t_set_udt', + 'mop_t_set_undef_val', + 'mop_t_shift_mop', + 'mop_t_signed_value', + 'mop_t_size_get', + 'mop_t_size_set', + 'mop_t_swap', + 'mop_t_t_get', + 'mop_t_t_set', + 'mop_t_unsigned_value', + 'mop_t_valnum_get', + 'mop_t_valnum_set', + 'mop_t_value', + 'mop_t_zero', + 'mop_visitor_t_prune_get', + 'mop_visitor_t_prune_set', + 'mop_visitor_t_visit_mop', + 'mopvec_t___eq__', + 'mopvec_t___getitem__', + 'mopvec_t___len__', + 'mopvec_t___ne__', + 'mopvec_t___setitem__', + 'mopvec_t__del', + 'mopvec_t_add_unique', + 'mopvec_t_at', + 'mopvec_t_begin', + 'mopvec_t_begin__SWIG_0', + 'mopvec_t_begin__SWIG_1', + 'mopvec_t_capacity', + 'mopvec_t_clear', + 'mopvec_t_empty', + 'mopvec_t_end', + 'mopvec_t_end__SWIG_0', + 'mopvec_t_end__SWIG_1', + 'mopvec_t_erase', + 'mopvec_t_erase__SWIG_0', + 'mopvec_t_erase__SWIG_1', + 'mopvec_t_extract', + 'mopvec_t_find', + 'mopvec_t_find__SWIG_0', + 'mopvec_t_find__SWIG_1', + 'mopvec_t_grow', + 'mopvec_t_has', + 'mopvec_t_inject', + 'mopvec_t_insert', + 'mopvec_t_pop_back', + 'mopvec_t_push_back', + 'mopvec_t_push_back__SWIG_0', + 'mopvec_t_push_back__SWIG_1', + 'mopvec_t_qclear', + 'mopvec_t_reserve', + 'mopvec_t_resize', + 'mopvec_t_resize__SWIG_0', + 'mopvec_t_resize__SWIG_1', + 'mopvec_t_size', + 'mopvec_t_swap', + 'mopvec_t_truncate', + 'move_bpt_to_grp', + 'move_idcv', + 'move_segm', + 'move_segm_start', + 'mreg2reg', + 'msg', + 'msg_clear', + 'msg_get_lines', + 'msg_save', + 'must_mcode_close_block', + 'mutable_graph_t_belongs_get', + 'mutable_graph_t_belongs_set', + 'mutable_graph_t_calc_group_ea', + 'mutable_graph_t_change_group_visibility', + 'mutable_graph_t_clear', + 'mutable_graph_t_create_digraph_layout', + 'mutable_graph_t_create_group', + 'mutable_graph_t_del_custom_layout', + 'mutable_graph_t_delete_group', + 'mutable_graph_t_edges_get', + 'mutable_graph_t_edges_set', + 'mutable_graph_t_empty', + 'mutable_graph_t_exists', + 'mutable_graph_t_get_custom_layout', + 'mutable_graph_t_get_edge', + 'mutable_graph_t_get_first_subgraph_node', + 'mutable_graph_t_get_graph_groups', + 'mutable_graph_t_get_next_subgraph_node', + 'mutable_graph_t_get_node_group', + 'mutable_graph_t_get_node_representative', + 'mutable_graph_t_gid_get', + 'mutable_graph_t_gid_set', + 'mutable_graph_t_is_collapsed_node', + 'mutable_graph_t_is_deleted_node', + 'mutable_graph_t_is_displayable_node', + 'mutable_graph_t_is_dot_node', + 'mutable_graph_t_is_group_node', + 'mutable_graph_t_is_simple_node', + 'mutable_graph_t_is_subgraph_node', + 'mutable_graph_t_is_uncollapsed_node', + 'mutable_graph_t_is_user_graph', + 'mutable_graph_t_is_visible_node', + 'mutable_graph_t_node_flags_get', + 'mutable_graph_t_node_flags_set', + 'mutable_graph_t_node_qty', + 'mutable_graph_t_nodes_get', + 'mutable_graph_t_nodes_set', + 'mutable_graph_t_npred', + 'mutable_graph_t_nrect', + 'mutable_graph_t_nrect__SWIG_0', + 'mutable_graph_t_nrect__SWIG_1', + 'mutable_graph_t_nsucc', + 'mutable_graph_t_org_preds_get', + 'mutable_graph_t_org_preds_set', + 'mutable_graph_t_org_succs_get', + 'mutable_graph_t_org_succs_set', + 'mutable_graph_t_pred', + 'mutable_graph_t_preds_get', + 'mutable_graph_t_preds_set', + 'mutable_graph_t_predset', + 'mutable_graph_t_reset', + 'mutable_graph_t_set_custom_layout', + 'mutable_graph_t_set_deleted_node', + 'mutable_graph_t_set_edge', + 'mutable_graph_t_set_graph_groups', + 'mutable_graph_t_set_node_group', + 'mutable_graph_t_size', + 'mutable_graph_t_succ', + 'mutable_graph_t_succs_get', + 'mutable_graph_t_succs_set', + 'mutable_graph_t_succset', + 'nbits', + 'negate_mcode_relation', + 'negated_relation', + 'netnode___eq__', + 'netnode___eq____SWIG_0', + 'netnode___eq____SWIG_1', + 'netnode___ne__', + 'netnode___ne____SWIG_0', + 'netnode___ne____SWIG_1', + 'netnode_altdel', + 'netnode_altdel__SWIG_0', + 'netnode_altdel__SWIG_1', + 'netnode_altdel_all', + 'netnode_altdel_ea', + 'netnode_altdel_idx8', + 'netnode_altfirst', + 'netnode_altfirst_idx8', + 'netnode_altlast', + 'netnode_altlast_idx8', + 'netnode_altnext', + 'netnode_altnext_idx8', + 'netnode_altprev', + 'netnode_altprev_idx8', + 'netnode_altset', + 'netnode_altset_ea', + 'netnode_altset_idx8', + 'netnode_altshift', + 'netnode_altval', + 'netnode_altval_ea', + 'netnode_altval_idx8', + 'netnode_blobsize', + 'netnode_blobsize_ea', + 'netnode_chardel', + 'netnode_chardel_ea', + 'netnode_chardel_idx8', + 'netnode_charfirst', + 'netnode_charfirst_idx8', + 'netnode_charlast', + 'netnode_charlast_idx8', + 'netnode_charnext', + 'netnode_charnext_idx8', + 'netnode_charprev', + 'netnode_charprev_idx8', + 'netnode_charset', + 'netnode_charset_ea', + 'netnode_charset_idx8', + 'netnode_charshift', + 'netnode_charval', + 'netnode_charval_ea', + 'netnode_charval_idx8', + 'netnode_copyto', + 'netnode_create', + 'netnode_create__SWIG_0', + 'netnode_create__SWIG_1', + 'netnode_delblob', + 'netnode_delblob_ea', + 'netnode_delvalue', + 'netnode_eadel', + 'netnode_eadel_idx8', + 'netnode_eaget', + 'netnode_eaget_idx', + 'netnode_eaget_idx8', + 'netnode_easet', + 'netnode_easet_idx', + 'netnode_easet_idx8', + 'netnode_end', + 'netnode_get_name', + 'netnode_getblob', + 'netnode_getblob_ea', + 'netnode_getclob', + 'netnode_hashdel', + 'netnode_hashdel_all', + 'netnode_hashfirst', + 'netnode_hashlast', + 'netnode_hashnext', + 'netnode_hashprev', + 'netnode_hashset', + 'netnode_hashset_buf', + 'netnode_hashset_idx', + 'netnode_hashstr', + 'netnode_hashstr_buf', + 'netnode_hashval', + 'netnode_hashval_long', + 'netnode_index', + 'netnode_kill', + 'netnode_long_value', + 'netnode_lower_bound', + 'netnode_lower_bound_ea', + 'netnode_lower_bound_idx8', + 'netnode_moveto', + 'netnode_next', + 'netnode_prev', + 'netnode_rename', + 'netnode_set', + 'netnode_set_long', + 'netnode_setblob', + 'netnode_setblob_ea', + 'netnode_start', + 'netnode_supdel', + 'netnode_supdel__SWIG_0', + 'netnode_supdel__SWIG_1', + 'netnode_supdel_all', + 'netnode_supdel_ea', + 'netnode_supdel_idx8', + 'netnode_supdel_range', + 'netnode_supdel_range_idx8', + 'netnode_supfirst', + 'netnode_supfirst_idx8', + 'netnode_suplast', + 'netnode_suplast_idx8', + 'netnode_supnext', + 'netnode_supnext_idx8', + 'netnode_supprev', + 'netnode_supprev_idx8', + 'netnode_supset', + 'netnode_supset__SWIG_0', + 'netnode_supset__SWIG_1', + 'netnode_supset_ea', + 'netnode_supset_ea__SWIG_0', + 'netnode_supset_ea__SWIG_1', + 'netnode_supset_idx8', + 'netnode_supshift', + 'netnode_supstr', + 'netnode_supstr_ea', + 'netnode_supstr_idx8', + 'netnode_supval', + 'netnode_supval_ea', + 'netnode_supval_idx8', + 'netnode_valobj', + 'netnode_valstr', + 'netnode_value_exists', + 'new_DBG_Hooks', + 'new_Hexrays_Hooks', + 'new_IDB_Hooks', + 'new_IDP_Hooks', + 'new_TPointDouble', + 'new_TPointDouble__SWIG_0', + 'new_TPointDouble__SWIG_1', + 'new_TPointDouble__SWIG_2', + 'new_UI_Hooks', + 'new_View_Hooks', + 'new___qmutex_t', + 'new___qsemaphore_t', + 'new___qthread_t', + 'new___qtimer_t', + 'new_action_ctx_base_t', + 'new_action_desc_t', + 'new_addon_info_t', + 'new_aloc_visitor_t', + 'new_argloc_t', + 'new_argloc_t__SWIG_0', + 'new_argloc_t__SWIG_1', + 'new_argpart_t', + 'new_argpart_t__SWIG_0', + 'new_argpart_t__SWIG_1', + 'new_argpartvec_t', + 'new_argpartvec_t__SWIG_0', + 'new_argpartvec_t__SWIG_1', + 'new_array_of_bitsets', + 'new_array_of_bitsets__SWIG_0', + 'new_array_of_bitsets__SWIG_1', + 'new_array_of_ivlsets', + 'new_array_of_ivlsets__SWIG_0', + 'new_array_of_ivlsets__SWIG_1', + 'new_array_of_rangesets', + 'new_array_of_rangesets__SWIG_0', + 'new_array_of_rangesets__SWIG_1', + 'new_array_parameters_t', + 'new_array_type_data_t', + 'new_asm_t', + 'new_auto_display_t', + 'new_bgcolors_t', + 'new_bit_bound_t', + 'new_bitfield_type_data_t', + 'new_bitset_t', + 'new_bitset_t__SWIG_0', + 'new_bitset_t__SWIG_1', + 'new_block_chains_iterator_t', + 'new_block_chains_t', + 'new_block_chains_vec_t', + 'new_block_chains_vec_t__SWIG_0', + 'new_block_chains_vec_t__SWIG_1', + 'new_boolvec_t', + 'new_boolvec_t__SWIG_0', + 'new_boolvec_t__SWIG_1', + 'new_boundaries_iterator_t', + 'new_boundaries_t', + 'new_bpt_location_t', + 'new_bpt_t', + 'new_bpt_vec_t', + 'new_bpt_vec_t__SWIG_0', + 'new_bpt_vec_t__SWIG_1', + 'new_bptaddr_t', + 'new_call_stack_info_t', + 'new_call_stack_t', + 'new_call_stack_t__SWIG_0', + 'new_call_stack_t__SWIG_1', + 'new_callregs_t', + 'new_callregs_t__SWIG_0', + 'new_callregs_t__SWIG_1', + 'new_carg_t', + 'new_carglist_t', + 'new_carglist_t__SWIG_0', + 'new_carglist_t__SWIG_1', + 'new_cases_and_targets_t', + 'new_casevec_t', + 'new_casevec_t__SWIG_0', + 'new_casevec_t__SWIG_1', + 'new_casm_t', + 'new_casm_t__SWIG_0', + 'new_casm_t__SWIG_1', + 'new_catch_t', + 'new_catchvec_t', + 'new_catchvec_t__SWIG_0', + 'new_catchvec_t__SWIG_1', + 'new_cblock_t', + 'new_ccase_t', + 'new_ccases_t', + 'new_cdg_insn_iterator_t', + 'new_cdg_insn_iterator_t__SWIG_0', + 'new_cdg_insn_iterator_t__SWIG_1', + 'new_cdo_t', + 'new_ceinsn_t', + 'new_cexpr_t', + 'new_cexpr_t__SWIG_0', + 'new_cexpr_t__SWIG_1', + 'new_cexpr_t__SWIG_2', + 'new_cexpr_t__SWIG_3', + 'new_cexpr_t__SWIG_4', + 'new_cfor_t', + 'new_cfunc_parentee_t', + 'new_cfuncptr_t', + 'new_cfuncptr_t__SWIG_0', + 'new_cfuncptr_t__SWIG_1', + 'new_cgoto_t', + 'new_chain_keeper_t', + 'new_chain_t', + 'new_chain_t__SWIG_0', + 'new_chain_t__SWIG_1', + 'new_chain_t__SWIG_2', + 'new_chain_visitor_t', + 'new_channel_redir_t', + 'new_chooser_item_attrs_t', + 'new_cif_t', + 'new_cif_t__SWIG_0', + 'new_cif_t__SWIG_1', + 'new_cinsn_t', + 'new_cinsn_t__SWIG_0', + 'new_cinsn_t__SWIG_1', + 'new_cinsnptrvec_t', + 'new_cinsnptrvec_t__SWIG_0', + 'new_cinsnptrvec_t__SWIG_1', + 'new_citem_cmt_t', + 'new_citem_cmt_t__SWIG_0', + 'new_citem_cmt_t__SWIG_1', + 'new_citem_locator_t', + 'new_citem_locator_t__SWIG_0', + 'new_citem_locator_t__SWIG_1', + 'new_citem_t', + 'new_citem_t__SWIG_0', + 'new_citem_t__SWIG_1', + 'new_cloop_t', + 'new_cloop_t__SWIG_0', + 'new_cloop_t__SWIG_1', + 'new_cloop_t__SWIG_2', + 'new_cnumber_t', + 'new_codegen_t', + 'new_compiler_info_t', + 'new_const_aloc_visitor_t', + 'new_creturn_t', + 'new_cswitch_t', + 'new_ctext_position_t', + 'new_ctree_anchor_t', + 'new_ctree_item_t', + 'new_ctree_items_t', + 'new_ctree_items_t__SWIG_0', + 'new_ctree_items_t__SWIG_1', + 'new_ctree_parentee_t', + 'new_ctree_visitor_t', + 'new_custom_data_type_ids_fids_array', + 'new_custom_data_type_ids_t', + 'new_cwhile_t', + 'new_data_format_t', + 'new_data_type_t', + 'new_debapp_attrs_t', + 'new_debug_event_t', + 'new_debug_event_t__SWIG_0', + 'new_debug_event_t__SWIG_1', + 'new_disasm_line_t', + 'new_disasm_line_t__SWIG_0', + 'new_disasm_line_t__SWIG_1', + 'new_disasm_text_t', + 'new_disasm_text_t__SWIG_0', + 'new_disasm_text_t__SWIG_1', + 'new_ea_array', + 'new_ea_name_t', + 'new_ea_name_t__SWIG_0', + 'new_ea_name_t__SWIG_1', + 'new_ea_name_vec_t', + 'new_ea_name_vec_t__SWIG_0', + 'new_ea_name_vec_t__SWIG_1', + 'new_ea_pointer', + 'new_eamap_iterator_t', + 'new_eamap_t', + 'new_edge_info_t', + 'new_edge_layout_point_t', + 'new_edge_layout_point_t__SWIG_0', + 'new_edge_layout_point_t__SWIG_1', + 'new_edge_layout_point_t__SWIG_2', + 'new_edge_segment_t', + 'new_edge_t', + 'new_edge_t__SWIG_0', + 'new_edge_t__SWIG_1', + 'new_enum_const_t', + 'new_enum_member_t', + 'new_enum_member_vec_t', + 'new_enum_member_vec_t__SWIG_0', + 'new_enum_member_vec_t__SWIG_1', + 'new_enum_member_visitor_t', + 'new_enum_type_data_t', + 'new_eval_ctx_t', + 'new_exception_info_t', + 'new_exception_info_t__SWIG_0', + 'new_exception_info_t__SWIG_1', + 'new_excinfo_t', + 'new_excvec_t', + 'new_excvec_t__SWIG_0', + 'new_excvec_t__SWIG_1', + 'new_extra_cmt_t', + 'new_extra_cmts_t', + 'new_extra_cmts_t__SWIG_0', + 'new_extra_cmts_t__SWIG_1', + 'new_fixup_data_t', + 'new_fixup_data_t__SWIG_0', + 'new_fixup_data_t__SWIG_1', + 'new_fixup_info_t', + 'new_fnum_array', + 'new_fnumber_t', + 'new_frame_desc_t', + 'new_frame_mem_t', + 'new_frame_mems_t', + 'new_frame_mems_t__SWIG_0', + 'new_frame_mems_t__SWIG_1', + 'new_func_info_and_frequency_t', + 'new_func_info_and_frequency_vec_t', + 'new_func_info_and_frequency_vec_t__SWIG_0', + 'new_func_info_and_frequency_vec_t__SWIG_1', + 'new_func_info_and_pattern_t', + 'new_func_info_and_pattern_vec_t', + 'new_func_info_and_pattern_vec_t__SWIG_0', + 'new_func_info_and_pattern_vec_t__SWIG_1', + 'new_func_info_base_t', + 'new_func_info_pattern_and_frequency_t', + 'new_func_info_pattern_and_frequency_vec_t', + 'new_func_info_pattern_and_frequency_vec_t__SWIG_0', + 'new_func_info_pattern_and_frequency_vec_t__SWIG_1', + 'new_func_info_t', + 'new_func_info_vec_t', + 'new_func_info_vec_t__SWIG_0', + 'new_func_info_vec_t__SWIG_1', + 'new_func_item_iterator_t', + 'new_func_item_iterator_t__SWIG_0', + 'new_func_item_iterator_t__SWIG_1', + 'new_func_md_diff_handler_t', + 'new_func_parent_iterator_t', + 'new_func_parent_iterator_t__SWIG_0', + 'new_func_parent_iterator_t__SWIG_1', + 'new_func_t', + 'new_func_tail_iterator_t', + 'new_func_tail_iterator_t__SWIG_0', + 'new_func_tail_iterator_t__SWIG_1', + 'new_func_type_data_t', + 'new_funcarg_t', + 'new_funcargvec_t', + 'new_funcargvec_t__SWIG_0', + 'new_funcargvec_t__SWIG_1', + 'new_gco_info_t', + 'new_graph_chains_t', + 'new_graph_item_t', + 'new_graph_location_info_t', + 'new_graph_node_visitor_t', + 'new_graph_path_visitor_t', + 'new_graph_visitor_t', + 'new_group_crinfo_t', + 'new_hexrays_failure_t', + 'new_hexrays_failure_t__SWIG_0', + 'new_hexrays_failure_t__SWIG_1', + 'new_hexrays_failure_t__SWIG_2', + 'new_hexwarn_t', + 'new_hexwarns_t', + 'new_hexwarns_t__SWIG_0', + 'new_hexwarns_t__SWIG_1', + 'new_hidden_range_t', + 'new_highlighter_cbs_t', + 'new_history_entries_helper_t', + 'new_history_item_t', + 'new_history_item_t__SWIG_0', + 'new_history_item_t__SWIG_1', + 'new_history_t', + 'new_ida_lowertype_helper_t', + 'new_idc_global_t', + 'new_idc_global_t__SWIG_0', + 'new_idc_global_t__SWIG_1', + 'new_idc_value_t', + 'new_idc_value_t__SWIG_0', + 'new_idc_value_t__SWIG_1', + 'new_idc_value_t__SWIG_2', + 'new_idc_values_t', + 'new_idc_values_t__SWIG_0', + 'new_idc_values_t__SWIG_1', + 'new_idp_desc_t', + 'new_idp_name_t', + 'new_input_file_t', + 'new_insn_cmt_t', + 'new_insn_cmts_t', + 'new_insn_cmts_t__SWIG_0', + 'new_insn_cmts_t__SWIG_1', + 'new_insn_ops_repr_t', + 'new_insn_ops_reprs_t', + 'new_insn_ops_reprs_t__SWIG_0', + 'new_insn_ops_reprs_t__SWIG_1', + 'new_insn_site_t', + 'new_insn_t', + 'new_instant_dbgopts_t', + 'new_int_pointer', + 'new_interval_t', + 'new_interval_t__SWIG_0', + 'new_interval_t__SWIG_1', + 'new_interval_t__SWIG_2', + 'new_intvec_t', + 'new_intvec_t__SWIG_0', + 'new_intvec_t__SWIG_1', + 'new_ivl_t', + 'new_ivl_with_name_t', + 'new_ivlset_t', + 'new_ivlset_t__SWIG_0', + 'new_ivlset_t__SWIG_1', + 'new_llabel_t', + 'new_loader_input_t', + 'new_loader_t', + 'new_lochist_entry_t', + 'new_lochist_entry_t__SWIG_0', + 'new_lochist_entry_t__SWIG_1', + 'new_lochist_entry_t__SWIG_2', + 'new_lochist_t', + 'new_lock_func', + 'new_lock_segment', + 'new_longlongvec_t', + 'new_longlongvec_t__SWIG_0', + 'new_longlongvec_t__SWIG_1', + 'new_lumina_op_res_vec_t', + 'new_lumina_op_res_vec_t__SWIG_0', + 'new_lumina_op_res_vec_t__SWIG_1', + 'new_lvar_locator_t', + 'new_lvar_locator_t__SWIG_0', + 'new_lvar_locator_t__SWIG_1', + 'new_lvar_mapping_iterator_t', + 'new_lvar_mapping_t', + 'new_lvar_ref_t', + 'new_lvar_ref_t__SWIG_0', + 'new_lvar_ref_t__SWIG_1', + 'new_lvar_saved_info_t', + 'new_lvar_saved_infos_t', + 'new_lvar_saved_infos_t__SWIG_0', + 'new_lvar_saved_infos_t__SWIG_1', + 'new_lvar_uservec_t', + 'new_lvars_t', + 'new_mba_range_iterator_t', + 'new_mba_ranges_t', + 'new_mba_ranges_t__SWIG_0', + 'new_mba_ranges_t__SWIG_1', + 'new_mcallarg_t', + 'new_mcallarg_t__SWIG_0', + 'new_mcallarg_t__SWIG_1', + 'new_mcallargs_t', + 'new_mcallargs_t__SWIG_0', + 'new_mcallargs_t__SWIG_1', + 'new_mcallinfo_t', + 'new_mcases_t', + 'new_md_type_parts_t', + 'new_member_t', + 'new_meminfo_vec_t', + 'new_meminfo_vec_t__SWIG_0', + 'new_meminfo_vec_t__SWIG_1', + 'new_memory_info_t', + 'new_memreg_info_t', + 'new_memreg_infos_t', + 'new_memreg_infos_t__SWIG_0', + 'new_memreg_infos_t__SWIG_1', + 'new_metadata_iterator_t', + 'new_microcode_filter_t', + 'new_minsn_t', + 'new_minsn_t__SWIG_0', + 'new_minsn_t__SWIG_1', + 'new_minsn_visitor_t', + 'new_mlist_mop_visitor_t', + 'new_mlist_t', + 'new_mlist_t__SWIG_0', + 'new_mlist_t__SWIG_1', + 'new_mlist_t__SWIG_2', + 'new_mnumber_t', + 'new_modinfo_t', + 'new_mop_addr_t', + 'new_mop_addr_t__SWIG_0', + 'new_mop_addr_t__SWIG_1', + 'new_mop_addr_t__SWIG_2', + 'new_mop_pair_t', + 'new_mop_t', + 'new_mop_t__SWIG_0', + 'new_mop_t__SWIG_1', + 'new_mop_t__SWIG_2', + 'new_mop_visitor_t', + 'new_mopvec_t', + 'new_mopvec_t__SWIG_0', + 'new_mopvec_t__SWIG_1', + 'new_netnode', + 'new_netnode__SWIG_0', + 'new_netnode__SWIG_1', + 'new_netnode__SWIG_2', + 'new_node_info_t', + 'new_node_iterator', + 'new_node_layout_t', + 'new_node_layout_t__SWIG_0', + 'new_node_layout_t__SWIG_1', + 'new_node_ordering_t', + 'new_number_format_t', + 'new_op_parent_info_t', + 'new_op_t', + 'new_operand_locator_t', + 'new_operands_array', + 'new_operator_info_t', + 'new_opinfo_t', + 'new_oprepr_t', + 'new_optblock_t', + 'new_optinsn_t', + 'new_packet', + 'new_pattern_id_t', + 'new_pkt_clean_db_t', + 'new_pkt_debugctl_t', + 'new_pkt_dump_md_result_t', + 'new_pkt_dump_md_t', + 'new_pkt_get_pop_result_t', + 'new_pkt_get_pop_t', + 'new_pkt_helo_t', + 'new_pkt_pull_md_result_t', + 'new_pkt_pull_md_t', + 'new_pkt_push_md_result_t', + 'new_pkt_push_md_t', + 'new_pkt_rpc_fail_t', + 'new_pkt_rpc_notify_t', + 'new_pkt_rpc_ok_t', + 'new_plugin_info_t', + 'new_point_t', + 'new_point_t__SWIG_0', + 'new_point_t__SWIG_1', + 'new_pointseq_t', + 'new_pointvec_t', + 'new_pointvec_t__SWIG_0', + 'new_pointvec_t__SWIG_1', + 'new_pop_fun_t', + 'new_predicate_t', + 'new_printop_t', + 'new_process_info_t', + 'new_procinfo_vec_t', + 'new_procinfo_vec_t__SWIG_0', + 'new_procinfo_vec_t__SWIG_1', + 'new_ptr_type_data_t', + 'new_push_md_opts_t', + 'new_push_md_result_t', + 'new_qbasic_block_t', + 'new_qfile_t', + 'new_qfile_t__SWIG_0', + 'new_qfile_t__SWIG_1', + 'new_qflow_chart_t', + 'new_qflow_chart_t__SWIG_0', + 'new_qflow_chart_t__SWIG_1', + 'new_qlist_cinsn_t', + 'new_qlist_cinsn_t__SWIG_0', + 'new_qlist_cinsn_t__SWIG_1', + 'new_qlist_cinsn_t_iterator', + 'new_qmutex_locker_t', + 'new_qstring_printer_t', + 'new_qvector_carg_t', + 'new_qvector_carg_t__SWIG_0', + 'new_qvector_carg_t__SWIG_1', + 'new_qvector_ccase_t', + 'new_qvector_ccase_t__SWIG_0', + 'new_qvector_ccase_t__SWIG_1', + 'new_qvector_history_t', + 'new_qvector_history_t__SWIG_0', + 'new_qvector_history_t__SWIG_1', + 'new_qvector_lvar_t', + 'new_qvector_lvar_t__SWIG_0', + 'new_qvector_lvar_t__SWIG_1', + 'new_qvector_snapshotvec_t', + 'new_qvector_snapshotvec_t__SWIG_0', + 'new_qvector_snapshotvec_t__SWIG_1', + 'new_range_array', + 'new_range_t', + 'new_range_t__SWIG_0', + 'new_range_t__SWIG_1', + 'new_rangeset_t', + 'new_rangeset_t__SWIG_0', + 'new_rangeset_t__SWIG_1', + 'new_rangeset_t__SWIG_2', + 'new_rangevec_base_t', + 'new_rangevec_base_t__SWIG_0', + 'new_rangevec_base_t__SWIG_1', + 'new_rangevec_t', + 'new_rect_t', + 'new_rect_t__SWIG_0', + 'new_rect_t__SWIG_1', + 'new_rect_t__SWIG_2', + 'new_refinfo_t', + 'new_reg_info_t', + 'new_regarg_t', + 'new_reginfovec_t', + 'new_reginfovec_t__SWIG_0', + 'new_reginfovec_t__SWIG_1', + 'new_register_info_t', + 'new_regobj_t', + 'new_regobjs_t', + 'new_regobjvec_t', + 'new_regobjvec_t__SWIG_0', + 'new_regobjvec_t__SWIG_1', + 'new_regval_t', + 'new_regval_t__SWIG_0', + 'new_regval_t__SWIG_1', + 'new_regvar_array', + 'new_regvar_t', + 'new_renderer_info_pos_t', + 'new_renderer_info_t', + 'new_renderer_pos_info_t', + 'new_rlist_t', + 'new_rlist_t__SWIG_0', + 'new_rlist_t__SWIG_1', + 'new_rlist_t__SWIG_2', + 'new_row_info_t', + 'new_rrel_t', + 'new_scattered_aloc_t', + 'new_scattered_segm_t', + 'new_scif_t', + 'new_scif_visitor_t', + 'new_screen_graph_selection_base_t', + 'new_screen_graph_selection_base_t__SWIG_0', + 'new_screen_graph_selection_base_t__SWIG_1', + 'new_screen_graph_selection_t', + 'new_segm_move_info_t', + 'new_segm_move_info_vec_t', + 'new_segm_move_info_vec_t__SWIG_0', + 'new_segm_move_info_vec_t__SWIG_1', + 'new_segm_move_infos_t', + 'new_segment_t', + 'new_seh_t', + 'new_sel_array', + 'new_sel_pointer', + 'new_selection_item_t', + 'new_selection_item_t__SWIG_0', + 'new_selection_item_t__SWIG_1', + 'new_selection_item_t__SWIG_2', + 'new_selection_item_t__SWIG_3', + 'new_serialized_tinfo', + 'new_simd_info_t', + 'new_simpleline_t', + 'new_simpleline_t__SWIG_0', + 'new_simpleline_t__SWIG_1', + 'new_simpleline_t__SWIG_2', + 'new_sizevec_t', + 'new_sizevec_t__SWIG_0', + 'new_sizevec_t__SWIG_1', + 'new_skipped_func_t', + 'new_skipped_funcs_t', + 'new_skipped_funcs_t__SWIG_0', + 'new_skipped_funcs_t__SWIG_1', + 'new_snapshot_t', + 'new_sreg_range_t', + 'new_stkpnt_array', + 'new_stkpnt_t', + 'new_stkpnts_t', + 'new_stkvar_ref_t', + 'new_strarray_t', + 'new_string_info_t', + 'new_string_info_t__SWIG_0', + 'new_string_info_t__SWIG_1', + 'new_strpath_ids_array', + 'new_strpath_t', + 'new_struct_field_visitor_t', + 'new_strvec_t', + 'new_strvec_t__SWIG_0', + 'new_strvec_t__SWIG_1', + 'new_strwinsetup_t', + 'new_sval_pointer', + 'new_switch_info_t', + 'new_sync_source_t', + 'new_sync_source_t__SWIG_0', + 'new_sync_source_t__SWIG_1', + 'new_tev_info_reg_t', + 'new_tev_info_t', + 'new_tev_reg_value_t', + 'new_tev_reg_values_t', + 'new_tev_reg_values_t__SWIG_0', + 'new_tev_reg_values_t__SWIG_1', + 'new_tevinforeg_vec_t', + 'new_tevinforeg_vec_t__SWIG_0', + 'new_tevinforeg_vec_t__SWIG_1', + 'new_text_sink_t', + 'new_thread_name_t', + 'new_tid_array', + 'new_til', + 'new_til_symbol_t', + 'new_til_t', + 'new_tinfo_t', + 'new_tinfo_t__SWIG_0', + 'new_tinfo_t__SWIG_1', + 'new_tinfo_t__SWIG_2', + 'new_tinfo_visitor_t', + 'new_treeloc_t', + 'new_try_handler_t', + 'new_tryblk_t', + 'new_tryblk_t__SWIG_0', + 'new_tryblk_t__SWIG_1', + 'new_tryblks_t', + 'new_tryblks_t__SWIG_0', + 'new_tryblks_t__SWIG_1', + 'new_twinpos_t', + 'new_twinpos_t__SWIG_0', + 'new_twinpos_t__SWIG_1', + 'new_twinpos_t__SWIG_2', + 'new_type_attr_t', + 'new_type_attrs_t', + 'new_type_attrs_t__SWIG_0', + 'new_type_attrs_t__SWIG_1', + 'new_type_mods_t', + 'new_typedef_type_data_t', + 'new_typedef_type_data_t__SWIG_0', + 'new_typedef_type_data_t__SWIG_1', + 'new_uchar_array', + 'new_udc_filter_t', + 'new_udcall_map_iterator_t', + 'new_udcall_t', + 'new_udt_member_t', + 'new_udt_type_data_t', + 'new_udtmembervec_t', + 'new_udtmembervec_t__SWIG_0', + 'new_udtmembervec_t__SWIG_1', + 'new_ui_requests_t', + 'new_ui_stroff_applicator_t', + 'new_ui_stroff_op_t', + 'new_ui_stroff_ops_t', + 'new_ui_stroff_ops_t__SWIG_0', + 'new_ui_stroff_ops_t__SWIG_1', + 'new_uintvec_t', + 'new_uintvec_t__SWIG_0', + 'new_uintvec_t__SWIG_1', + 'new_ulonglongvec_t', + 'new_ulonglongvec_t__SWIG_0', + 'new_ulonglongvec_t__SWIG_1', + 'new_user_cmts_iterator_t', + 'new_user_cmts_t', + 'new_user_identification_t', + 'new_user_iflags_iterator_t', + 'new_user_iflags_t', + 'new_user_labels_iterator_t', + 'new_user_labels_t', + 'new_user_lvar_modifier_t', + 'new_user_numforms_iterator_t', + 'new_user_numforms_t', + 'new_user_stkpnt_t', + 'new_user_stkpnts_t', + 'new_user_stkpnts_t__SWIG_0', + 'new_user_stkpnts_t__SWIG_1', + 'new_user_unions_iterator_t', + 'new_user_unions_t', + 'new_uval_array', + 'new_uval_ivl_ivlset_t', + 'new_uval_ivl_ivlset_t__SWIG_0', + 'new_uval_ivl_ivlset_t__SWIG_1', + 'new_uval_ivl_t', + 'new_uval_ivl_t__SWIG_1', + 'new_valrng_t', + 'new_valrng_t__SWIG_0', + 'new_valrng_t__SWIG_1', + 'new_valstr_t', + 'new_valstrs_t', + 'new_valstrvec_t', + 'new_valstrvec_t__SWIG_0', + 'new_valstrvec_t__SWIG_1', + 'new_var_ref_t', + 'new_vc_printer_t', + 'new_vd_failure_t', + 'new_vd_failure_t__SWIG_0', + 'new_vd_failure_t__SWIG_1', + 'new_vd_failure_t__SWIG_2', + 'new_vd_failure_t__SWIG_3', + 'new_vd_interr_t', + 'new_vd_printer_t', + 'new_vdloc_t', + 'new_view_mouse_event_location_t', + 'new_view_mouse_event_t', + 'new_vivl_t', + 'new_vivl_t__SWIG_0', + 'new_vivl_t__SWIG_1', + 'new_vivl_t__SWIG_2', + 'new_voff_t', + 'new_voff_t__SWIG_0', + 'new_voff_t__SWIG_1', + 'new_voff_t__SWIG_2', + 'new_xrefblk_t', + 'new_xreflist_entry_t', + 'new_xreflist_t', + 'new_xreflist_t__SWIG_0', + 'new_xreflist_t__SWIG_1', + 'next_addr', + 'next_chunk', + 'next_head', + 'next_idcv_attr', + 'next_inited', + 'next_named_type', + 'next_not_tail', + 'next_that', + 'next_unknown', + 'node2ea', + 'node_info_t_bg_color_get', + 'node_info_t_bg_color_set', + 'node_info_t_ea_get', + 'node_info_t_ea_set', + 'node_info_t_flags_get', + 'node_info_t_flags_set', + 'node_info_t_frame_color_get', + 'node_info_t_frame_color_set', + 'node_info_t_get_flags_for_valid', + 'node_info_t_text_get', + 'node_info_t_text_set', + 'node_info_t_valid_bg_color', + 'node_info_t_valid_ea', + 'node_info_t_valid_flags', + 'node_info_t_valid_frame_color', + 'node_info_t_valid_text', + 'node_iterator___eq__', + 'node_iterator___ne__', + 'node_iterator___ref__', + 'node_layout_t___eq__', + 'node_layout_t___getitem__', + 'node_layout_t___len__', + 'node_layout_t___ne__', + 'node_layout_t___setitem__', + 'node_layout_t__del', + 'node_layout_t_add_unique', + 'node_layout_t_at', + 'node_layout_t_begin', + 'node_layout_t_begin__SWIG_0', + 'node_layout_t_begin__SWIG_1', + 'node_layout_t_capacity', + 'node_layout_t_clear', + 'node_layout_t_empty', + 'node_layout_t_end', + 'node_layout_t_end__SWIG_0', + 'node_layout_t_end__SWIG_1', + 'node_layout_t_erase', + 'node_layout_t_erase__SWIG_0', + 'node_layout_t_erase__SWIG_1', + 'node_layout_t_extract', + 'node_layout_t_find', + 'node_layout_t_find__SWIG_0', + 'node_layout_t_find__SWIG_1', + 'node_layout_t_grow', + 'node_layout_t_has', + 'node_layout_t_inject', + 'node_layout_t_insert', + 'node_layout_t_pop_back', + 'node_layout_t_push_back', + 'node_layout_t_push_back__SWIG_0', + 'node_layout_t_push_back__SWIG_1', + 'node_layout_t_qclear', + 'node_layout_t_reserve', + 'node_layout_t_resize', + 'node_layout_t_resize__SWIG_0', + 'node_layout_t_resize__SWIG_1', + 'node_layout_t_size', + 'node_layout_t_swap', + 'node_layout_t_truncate', + 'node_ordering_t_clear', + 'node_ordering_t_node', + 'node_ordering_t_resize', + 'node_ordering_t_set', + 'node_ordering_t_size', + 'nomem', + 'nomem__varargs__', + 'num_flag', + 'number_format_t_flags_get', + 'number_format_t_flags_set', + 'number_format_t_get_radix', + 'number_format_t_is_char', + 'number_format_t_is_dec', + 'number_format_t_is_enum', + 'number_format_t_is_fixed', + 'number_format_t_is_hex', + 'number_format_t_is_numop', + 'number_format_t_is_oct', + 'number_format_t_is_stroff', + 'number_format_t_needs_to_be_inverted', + 'number_format_t_opnum_get', + 'number_format_t_opnum_set', + 'number_format_t_org_nbytes_get', + 'number_format_t_org_nbytes_set', + 'number_format_t_props_get', + 'number_format_t_props_set', + 'number_format_t_serial_get', + 'number_format_t_serial_set', + 'number_format_t_type_name_get', + 'number_format_t_type_name_set', + 'oct_flag', + 'off_flag', + 'op_adds_xrefs', + 'op_bin', + 'op_chr', + 'op_custfmt', + 'op_dec', + 'op_enum', + 'op_flt', + 'op_hex', + 'op_num', + 'op_oct', + 'op_offset', + 'op_offset_ex', + 'op_parent_info_t_blk_get', + 'op_parent_info_t_blk_set', + 'op_parent_info_t_curins_get', + 'op_parent_info_t_curins_set', + 'op_parent_info_t_mba_get', + 'op_parent_info_t_mba_set', + 'op_parent_info_t_topins_get', + 'op_parent_info_t_topins_set', + 'op_plain_offset', + 'op_seg', + 'op_stkvar', + 'op_stroff', + 'op_t___get_addr__', + 'op_t___get_reg_phrase__', + 'op_t___get_specval__', + 'op_t___get_value__', + 'op_t___set_addr__', + 'op_t___set_reg_phrase__', + 'op_t___set_specval__', + 'op_t___set_value__', + 'op_t__from_ptrval__', + 'op_t_assign', + 'op_t_clr_shown', + 'op_t_dtype_get', + 'op_t_dtype_set', + 'op_t_flags_get', + 'op_t_flags_set', + 'op_t_is_imm', + 'op_t_is_reg', + 'op_t_n_get', + 'op_t_n_set', + 'op_t_offb_get', + 'op_t_offb_set', + 'op_t_offo_get', + 'op_t_offo_set', + 'op_t_set_shown', + 'op_t_shown', + 'op_t_specflag1_get', + 'op_t_specflag1_set', + 'op_t_specflag2_get', + 'op_t_specflag2_set', + 'op_t_specflag3_get', + 'op_t_specflag3_set', + 'op_t_specflag4_get', + 'op_t_specflag4_set', + 'op_t_type_get', + 'op_t_type_set', + 'op_uses_x', + 'op_uses_y', + 'op_uses_z', + 'open_bpts_window', + 'open_calls_window', + 'open_disasm_window', + 'open_enums_window', + 'open_exports_window', + 'open_frame_window', + 'open_funcs_window', + 'open_hexdump_window', + 'open_imports_window', + 'open_linput', + 'open_loctypes_window', + 'open_modules_window', + 'open_names_window', + 'open_navband_window', + 'open_notepad_window', + 'open_problems_window', + 'open_pseudocode', + 'open_segments_window', + 'open_segregs_window', + 'open_selectors_window', + 'open_signatures_window', + 'open_stack_window', + 'open_strings_window', + 'open_structs_window', + 'open_threads_window', + 'open_tils_window', + 'open_trace_window', + 'open_url', + 'open_xrefs_window', + 'operand_locator_t___eq__', + 'operand_locator_t___ge__', + 'operand_locator_t___gt__', + 'operand_locator_t___le__', + 'operand_locator_t___lt__', + 'operand_locator_t___ne__', + 'operand_locator_t_compare', + 'operand_locator_t_ea_get', + 'operand_locator_t_ea_set', + 'operand_locator_t_opnum_get', + 'operand_locator_t_opnum_set', + 'operands_array___getitem__', + 'operands_array___len__', + 'operands_array___setitem__', + 'operands_array_data_get', + 'operator_info_t_fixtype_get', + 'operator_info_t_fixtype_set', + 'operator_info_t_flags_get', + 'operator_info_t_flags_set', + 'operator_info_t_precedence_get', + 'operator_info_t_precedence_set', + 'operator_info_t_text_get', + 'operator_info_t_text_set', + 'operator_info_t_valency_get', + 'operator_info_t_valency_set', + 'opinfo_t_cd_get', + 'opinfo_t_cd_set', + 'opinfo_t_ec_get', + 'opinfo_t_ec_set', + 'opinfo_t_path_get', + 'opinfo_t_path_set', + 'opinfo_t_ri_get', + 'opinfo_t_ri_set', + 'opinfo_t_strtype_get', + 'opinfo_t_strtype_set', + 'opinfo_t_tid_get', + 'opinfo_t_tid_set', + 'oprepr_t_flags_get', + 'oprepr_t_flags_set', + 'oprepr_t_opinfo_get', + 'oprepr_t_opinfo_set', + 'optblock_t_func', + 'optblock_t_install', + 'optblock_t_remove', + 'optimize_argloc', + 'optinsn_t_func', + 'optinsn_t_install', + 'optinsn_t_remove', + 'outctx_base_t__from_ptrval__', + 'outctx_base_t_close_comment', + 'outctx_base_t_clr_gen_label', + 'outctx_base_t_default_lnnum_get', + 'outctx_base_t_default_lnnum_set', + 'outctx_base_t_display_voids', + 'outctx_base_t_flush_buf', + 'outctx_base_t_flush_outbuf', + 'outctx_base_t_forbid_annotations', + 'outctx_base_t_force_code', + 'outctx_base_t_gen_block_cmt', + 'outctx_base_t_gen_border_line', + 'outctx_base_t_gen_cmt_line', + 'outctx_base_t_gen_cmt_line__varargs__', + 'outctx_base_t_gen_collapsed_line', + 'outctx_base_t_gen_collapsed_line__varargs__', + 'outctx_base_t_gen_empty_line', + 'outctx_base_t_gen_empty_line_without_annotations', + 'outctx_base_t_gen_printf', + 'outctx_base_t_gen_printf__varargs__', + 'outctx_base_t_gen_xref_lines', + 'outctx_base_t_get_stkvar', + 'outctx_base_t_init_lines_array', + 'outctx_base_t_insn_ea_get', + 'outctx_base_t_insn_ea_set', + 'outctx_base_t_multiline', + 'outctx_base_t_only_main_line', + 'outctx_base_t_out_addr_tag', + 'outctx_base_t_out_btoa', + 'outctx_base_t_out_char', + 'outctx_base_t_out_chars', + 'outctx_base_t_out_colored_register_line', + 'outctx_base_t_out_keyword', + 'outctx_base_t_out_line', + 'outctx_base_t_out_long', + 'outctx_base_t_out_name_expr', + 'outctx_base_t_out_printf', + 'outctx_base_t_out_printf__varargs__', + 'outctx_base_t_out_register', + 'outctx_base_t_out_spaces', + 'outctx_base_t_out_symbol', + 'outctx_base_t_out_tagoff', + 'outctx_base_t_out_tagon', + 'outctx_base_t_out_value', + 'outctx_base_t_outbuf_get', + 'outctx_base_t_outbuf_set', + 'outctx_base_t_print_label_now', + 'outctx_base_t_restore_ctxflags', + 'outctx_base_t_retrieve_cmt', + 'outctx_base_t_retrieve_name', + 'outctx_base_t_set_comment_addr', + 'outctx_base_t_set_dlbind_opnd', + 'outctx_base_t_set_gen_cmt', + 'outctx_base_t_set_gen_demangled_label', + 'outctx_base_t_set_gen_label', + 'outctx_base_t_set_gen_xrefs', + 'outctx_base_t_setup_outctx', + 'outctx_base_t_stack_view', + 'outctx_base_t_term_outctx', + 'outctx_t__from_ptrval__', + 'outctx_t_bin_ea_get', + 'outctx_t_bin_ea_set', + 'outctx_t_bin_state_get', + 'outctx_t_bin_state_set', + 'outctx_t_bin_width_get', + 'outctx_t_bin_width_set', + 'outctx_t_curlabel_get', + 'outctx_t_curlabel_set', + 'outctx_t_gen_func_footer', + 'outctx_t_gen_func_header', + 'outctx_t_gen_header', + 'outctx_t_gen_header_extra', + 'outctx_t_gen_xref_lines', + 'outctx_t_gl_bpsize_get', + 'outctx_t_gl_bpsize_set', + 'outctx_t_insn_get', + 'outctx_t_insn_set', + 'outctx_t_out_custom_mnem', + 'outctx_t_out_data', + 'outctx_t_out_immchar_cmts', + 'outctx_t_out_mnem', + 'outctx_t_out_mnemonic', + 'outctx_t_out_one_operand', + 'outctx_t_out_specea', + 'outctx_t_retrieve_cmt', + 'outctx_t_retrieve_name', + 'outctx_t_set_bin_state', + 'outctx_t_setup_outctx', + 'outctx_t_wif_get', + 'outctx_t_wif_set', + 'oword_flag', + 'pack_idcobj_to_bv', + 'pack_idcobj_to_idb', + 'pack_object_to_bv', + 'pack_object_to_idb', + 'packreal_flag', + 'parse_command_line3', + 'parse_dbgopts', + 'parse_decl', + 'parse_decls', + 'parse_reg_name', + 'parse_user_call', + 'partial_type_num', + 'patch_byte', + 'patch_bytes', + 'patch_dword', + 'patch_fixup_value', + 'patch_qword', + 'patch_word', + 'pattern_id_t_data_get', + 'pattern_id_t_data_set', + 'pattern_id_t_type_get', + 'pattern_id_t_type_set', + 'peek_auto_queue', + 'ph_calcrel', + 'ph_find_op_value', + 'ph_find_reg_value', + 'ph_get_cnbits', + 'ph_get_dnbits', + 'ph_get_flag', + 'ph_get_icode_return', + 'ph_get_id', + 'ph_get_instruc', + 'ph_get_instruc_end', + 'ph_get_instruc_start', + 'ph_get_operand_info', + 'ph_get_reg_code_sreg', + 'ph_get_reg_data_sreg', + 'ph_get_reg_first_sreg', + 'ph_get_reg_last_sreg', + 'ph_get_regnames', + 'ph_get_segreg_size', + 'ph_get_tbyte_size', + 'ph_get_version', + 'pkt_debugctl_t_args_get', + 'pkt_debugctl_t_args_set', + 'pkt_dump_md_result_t_contents_get', + 'pkt_dump_md_result_t_contents_set', + 'pkt_dump_md_t_sort_get', + 'pkt_dump_md_t_sort_set', + 'pkt_get_pop_result_t_results_get', + 'pkt_get_pop_result_t_results_set', + 'pkt_get_pop_t_nresults_get', + 'pkt_get_pop_t_nresults_set', + 'pkt_helo_t_client_version_get', + 'pkt_helo_t_client_version_set', + 'pkt_helo_t_key_get', + 'pkt_helo_t_key_set', + 'pkt_helo_t_license_id_get', + 'pkt_helo_t_license_id_set', + 'pkt_helo_t_record_conv_get', + 'pkt_helo_t_record_conv_set', + 'pkt_pull_md_result_t_codes_get', + 'pkt_pull_md_result_t_codes_set', + 'pkt_pull_md_result_t_results_get', + 'pkt_pull_md_result_t_results_set', + 'pkt_pull_md_t_flags_get', + 'pkt_pull_md_t_flags_set', + 'pkt_pull_md_t_keys_get', + 'pkt_pull_md_t_keys_set', + 'pkt_pull_md_t_pattern_ids_get', + 'pkt_pull_md_t_pattern_ids_set', + 'pkt_push_md_result_t_codes_get', + 'pkt_push_md_result_t_codes_set', + 'pkt_push_md_t_contents_get', + 'pkt_push_md_t_contents_set', + 'pkt_push_md_t_ea64s_get', + 'pkt_push_md_t_ea64s_set', + 'pkt_push_md_t_flags_get', + 'pkt_push_md_t_flags_set', + 'pkt_push_md_t_hostname_get', + 'pkt_push_md_t_hostname_set', + 'pkt_push_md_t_idb_get', + 'pkt_push_md_t_idb_set', + 'pkt_push_md_t_input_get', + 'pkt_push_md_t_input_set', + 'pkt_rpc_fail_t_error_get', + 'pkt_rpc_fail_t_error_set', + 'pkt_rpc_fail_t_result_get', + 'pkt_rpc_fail_t_result_set', + 'pkt_rpc_notify_t_text_get', + 'pkt_rpc_notify_t_text_set', + 'pkt_rpc_notify_t_type_get', + 'pkt_rpc_notify_t_type_set', + 'place_t__print', + 'place_t_adjust', + 'place_t_as_enumplace_t', + 'place_t_as_idaplace_t', + 'place_t_as_simpleline_place_t', + 'place_t_as_structplace_t', + 'place_t_beginning', + 'place_t_clone', + 'place_t_compare', + 'place_t_copyfrom', + 'place_t_deserialize', + 'place_t_ending', + 'place_t_enter', + 'place_t_generate', + 'place_t_id', + 'place_t_leave', + 'place_t_lnnum_get', + 'place_t_lnnum_set', + 'place_t_makeplace', + 'place_t_name', + 'place_t_next', + 'place_t_prev', + 'place_t_rebase', + 'place_t_serialize', + 'place_t_toea', + 'place_t_touval', + 'plan_and_wait', + 'plan_ea', + 'plan_range', + 'plan_to_apply_idasgn', + 'plgform_close', + 'plgform_get_widget', + 'plgform_new', + 'plgform_show', + 'plugin_info_t_arg_get', + 'plugin_info_t_arg_set', + 'plugin_info_t_comment_get', + 'plugin_info_t_comment_set', + 'plugin_info_t_dllmem_get', + 'plugin_info_t_dllmem_set', + 'plugin_info_t_entry_get', + 'plugin_info_t_entry_set', + 'plugin_info_t_flags_get', + 'plugin_info_t_flags_set', + 'plugin_info_t_hotkey_get', + 'plugin_info_t_hotkey_set', + 'plugin_info_t_name_get', + 'plugin_info_t_name_set', + 'plugin_info_t_next_get', + 'plugin_info_t_next_set', + 'plugin_info_t_org_hotkey_get', + 'plugin_info_t_org_hotkey_set', + 'plugin_info_t_org_name_get', + 'plugin_info_t_org_name_set', + 'plugin_info_t_path_get', + 'plugin_info_t_path_set', + 'point_t___eq__', + 'point_t___ne__', + 'point_t_add', + 'point_t_negate', + 'point_t_sub', + 'point_t_x_get', + 'point_t_x_set', + 'point_t_y_get', + 'point_t_y_set', + 'pointvec_t___eq__', + 'pointvec_t___getitem__', + 'pointvec_t___len__', + 'pointvec_t___ne__', + 'pointvec_t___setitem__', + 'pointvec_t__del', + 'pointvec_t_add_unique', + 'pointvec_t_at', + 'pointvec_t_begin', + 'pointvec_t_begin__SWIG_0', + 'pointvec_t_begin__SWIG_1', + 'pointvec_t_capacity', + 'pointvec_t_clear', + 'pointvec_t_empty', + 'pointvec_t_end', + 'pointvec_t_end__SWIG_0', + 'pointvec_t_end__SWIG_1', + 'pointvec_t_erase', + 'pointvec_t_erase__SWIG_0', + 'pointvec_t_erase__SWIG_1', + 'pointvec_t_extract', + 'pointvec_t_find', + 'pointvec_t_find__SWIG_0', + 'pointvec_t_find__SWIG_1', + 'pointvec_t_grow', + 'pointvec_t_has', + 'pointvec_t_inject', + 'pointvec_t_insert', + 'pointvec_t_pop_back', + 'pointvec_t_push_back', + 'pointvec_t_push_back__SWIG_0', + 'pointvec_t_push_back__SWIG_1', + 'pointvec_t_qclear', + 'pointvec_t_reserve', + 'pointvec_t_resize', + 'pointvec_t_resize__SWIG_0', + 'pointvec_t_resize__SWIG_1', + 'pointvec_t_size', + 'pointvec_t_swap', + 'pointvec_t_truncate', + 'pop_fun_t_ea64_get', + 'pop_fun_t_ea64_set', + 'pop_fun_t_hostname_get', + 'pop_fun_t_hostname_set', + 'pop_fun_t_input_get', + 'pop_fun_t_input_set', + 'predicate_t_should_display', + 'prev_addr', + 'prev_chunk', + 'prev_head', + 'prev_idcv_attr', + 'prev_inited', + 'prev_not_tail', + 'prev_that', + 'prev_unknown', + 'print_argloc', + 'print_decls', + 'print_idcv', + 'print_insn_mnem', + 'print_operand', + 'print_strlit_type', + 'print_tinfo', + 'print_type', + 'print_vdloc', + 'printop_t_aflags_get', + 'printop_t_aflags_set', + 'printop_t_features_get', + 'printop_t_features_set', + 'printop_t_flags_get', + 'printop_t_flags_set', + 'printop_t_get_ti', + 'printop_t_is_aflags_initialized', + 'printop_t_is_ti_initialized', + 'printop_t_set_aflags_initialized', + 'printop_t_set_ti_initialized', + 'printop_t_suspop_get', + 'printop_t_suspop_set', + 'printop_t_ti_get', + 'printop_t_ti_set', + 'process_archive', + 'process_info_t_name_get', + 'process_info_t_name_set', + 'process_info_t_pid_get', + 'process_info_t_pid_set', + 'process_ui_action', + 'procinfo_vec_t___getitem__', + 'procinfo_vec_t___len__', + 'procinfo_vec_t___setitem__', + 'procinfo_vec_t_at', + 'procinfo_vec_t_begin', + 'procinfo_vec_t_begin__SWIG_0', + 'procinfo_vec_t_begin__SWIG_1', + 'procinfo_vec_t_capacity', + 'procinfo_vec_t_clear', + 'procinfo_vec_t_empty', + 'procinfo_vec_t_end', + 'procinfo_vec_t_end__SWIG_0', + 'procinfo_vec_t_end__SWIG_1', + 'procinfo_vec_t_erase', + 'procinfo_vec_t_erase__SWIG_0', + 'procinfo_vec_t_erase__SWIG_1', + 'procinfo_vec_t_extract', + 'procinfo_vec_t_grow', + 'procinfo_vec_t_inject', + 'procinfo_vec_t_insert', + 'procinfo_vec_t_pop_back', + 'procinfo_vec_t_push_back', + 'procinfo_vec_t_push_back__SWIG_0', + 'procinfo_vec_t_push_back__SWIG_1', + 'procinfo_vec_t_qclear', + 'procinfo_vec_t_reserve', + 'procinfo_vec_t_resize', + 'procinfo_vec_t_resize__SWIG_0', + 'procinfo_vec_t_resize__SWIG_1', + 'procinfo_vec_t_size', + 'procinfo_vec_t_swap', + 'procinfo_vec_t_truncate', + 'ptr_type_data_t___eq__', + 'ptr_type_data_t___ne__', + 'ptr_type_data_t_based_ptr_size_get', + 'ptr_type_data_t_based_ptr_size_set', + 'ptr_type_data_t_closure_get', + 'ptr_type_data_t_closure_set', + 'ptr_type_data_t_delta_get', + 'ptr_type_data_t_delta_set', + 'ptr_type_data_t_is_code_ptr', + 'ptr_type_data_t_is_shifted', + 'ptr_type_data_t_obj_type_get', + 'ptr_type_data_t_obj_type_set', + 'ptr_type_data_t_parent_get', + 'ptr_type_data_t_parent_set', + 'ptr_type_data_t_swap', + 'ptr_type_data_t_taptr_bits_get', + 'ptr_type_data_t_taptr_bits_set', + 'push_md_opts_t_eas_get', + 'push_md_opts_t_eas_set', + 'push_md_opts_t_min_func_size_get', + 'push_md_opts_t_min_func_size_set', + 'push_md_result_t_codes_get', + 'push_md_result_t_codes_set', + 'push_md_result_t_contents_get', + 'push_md_result_t_contents_set', + 'push_md_result_t_eas_get', + 'push_md_result_t_eas_set', + 'put_byte', + 'put_bytes', + 'put_dbg_byte', + 'put_dword', + 'put_qword', + 'put_word', + 'py_add_idc_func', + 'py_get_ask_form', + 'py_get_call_idc_func', + 'py_get_open_form', + 'py_load_custom_icon_data', + 'py_load_custom_icon_fn', + 'py_register_compiled_form', + 'py_ss_restore_callback', + 'py_unregister_compiled_form', + 'pycim_get_widget', + 'pycim_view_close', + 'pyg_close', + 'pyg_select_node', + 'pyg_show', + 'pygc_create_groups', + 'pygc_delete_groups', + 'pygc_refresh', + 'pygc_set_groups_visibility', + 'pyidag_bind', + 'pyidag_unbind', + 'pyscv_add_line', + 'pyscv_clear_lines', + 'pyscv_close', + 'pyscv_count', + 'pyscv_del_line', + 'pyscv_edit_line', + 'pyscv_get_current_line', + 'pyscv_get_current_word', + 'pyscv_get_line', + 'pyscv_get_pos', + 'pyscv_get_selection', + 'pyscv_get_widget', + 'pyscv_init', + 'pyscv_insert_line', + 'pyscv_is_focused', + 'pyscv_jumpto', + 'pyscv_patch_line', + 'pyscv_refresh', + 'pyscv_show', + 'pyw_convert_defvals', + 'pyw_register_idc_func', + 'pyw_unregister_idc_func', + 'qatoll', + 'qcleanline', + 'qcontrol_tty', + 'qdetach_tty', + 'qexit', + 'qfile_t___idc_cvt_id___get', + 'qfile_t___idc_cvt_id___set', + 'qfile_t_close', + 'qfile_t_filename', + 'qfile_t_flush', + 'qfile_t_from_capsule', + 'qfile_t_from_fp', + 'qfile_t_get_byte', + 'qfile_t_get_fp', + 'qfile_t_gets', + 'qfile_t_open', + 'qfile_t_opened', + 'qfile_t_put_byte', + 'qfile_t_puts', + 'qfile_t_read', + 'qfile_t_readbytes', + 'qfile_t_seek', + 'qfile_t_size', + 'qfile_t_tell', + 'qfile_t_tmpfile', + 'qfile_t_write', + 'qfile_t_writebytes', + 'qflow_chart_t___getitem__', + 'qflow_chart_t_append_to_flowchart', + 'qflow_chart_t_bounds_get', + 'qflow_chart_t_bounds_set', + 'qflow_chart_t_calc_block_type', + 'qflow_chart_t_create', + 'qflow_chart_t_create__SWIG_0', + 'qflow_chart_t_create__SWIG_1', + 'qflow_chart_t_flags_get', + 'qflow_chart_t_flags_set', + 'qflow_chart_t_get_node_label', + 'qflow_chart_t_is_noret_block', + 'qflow_chart_t_is_ret_block', + 'qflow_chart_t_npred', + 'qflow_chart_t_nproper_get', + 'qflow_chart_t_nproper_set', + 'qflow_chart_t_nsucc', + 'qflow_chart_t_pfn_get', + 'qflow_chart_t_pfn_set', + 'qflow_chart_t_pred', + 'qflow_chart_t_print_names', + 'qflow_chart_t_print_node_attributes', + 'qflow_chart_t_refresh', + 'qflow_chart_t_size', + 'qflow_chart_t_succ', + 'qflow_chart_t_title_get', + 'qflow_chart_t_title_set', + 'qlgetz', + 'qlist_cinsn_t___eq__', + 'qlist_cinsn_t___ne__', + 'qlist_cinsn_t_back', + 'qlist_cinsn_t_back__SWIG_0', + 'qlist_cinsn_t_back__SWIG_1', + 'qlist_cinsn_t_begin', + 'qlist_cinsn_t_clear', + 'qlist_cinsn_t_empty', + 'qlist_cinsn_t_end', + 'qlist_cinsn_t_erase', + 'qlist_cinsn_t_erase__SWIG_0', + 'qlist_cinsn_t_erase__SWIG_1', + 'qlist_cinsn_t_erase__SWIG_2', + 'qlist_cinsn_t_front', + 'qlist_cinsn_t_front__SWIG_0', + 'qlist_cinsn_t_front__SWIG_1', + 'qlist_cinsn_t_insert', + 'qlist_cinsn_t_insert__SWIG_0', + 'qlist_cinsn_t_insert__SWIG_1', + 'qlist_cinsn_t_insert__SWIG_3', + 'qlist_cinsn_t_iterator___eq__', + 'qlist_cinsn_t_iterator___ne__', + 'qlist_cinsn_t_iterator___next__', + 'qlist_cinsn_t_iterator_cur_get', + 'qlist_cinsn_t_pop_back', + 'qlist_cinsn_t_pop_front', + 'qlist_cinsn_t_push_back', + 'qlist_cinsn_t_push_back__SWIG_0', + 'qlist_cinsn_t_push_back__SWIG_1', + 'qlist_cinsn_t_push_front', + 'qlist_cinsn_t_rbegin', + 'qlist_cinsn_t_rbegin__SWIG_0', + 'qlist_cinsn_t_rbegin__SWIG_1', + 'qlist_cinsn_t_rend', + 'qlist_cinsn_t_rend__SWIG_0', + 'qlist_cinsn_t_rend__SWIG_1', + 'qlist_cinsn_t_size', + 'qlist_cinsn_t_swap', + 'qrefcnt_obj_t_refcnt_get', + 'qrefcnt_obj_t_refcnt_set', + 'qrefcnt_obj_t_release', + 'qstring_printer_t__print', + 'qstring_printer_t__print__varargs__', + 'qstring_printer_t_get_s', + 'qstring_printer_t_s_get', + 'qstring_printer_t_s_set', + 'qstring_printer_t_with_tags_get', + 'qstring_printer_t_with_tags_set', + 'qstrvec_t_add', + 'qstrvec_t_addressof', + 'qstrvec_t_assign', + 'qstrvec_t_clear', + 'qstrvec_t_create', + 'qstrvec_t_destroy', + 'qstrvec_t_from_list', + 'qstrvec_t_get', + 'qstrvec_t_get_clink', + 'qstrvec_t_get_clink_ptr', + 'qstrvec_t_insert', + 'qstrvec_t_remove', + 'qstrvec_t_set', + 'qstrvec_t_size', + 'qswap', + 'quote_cmdline_arg', + 'qvector_carg_t___eq__', + 'qvector_carg_t___getitem__', + 'qvector_carg_t___len__', + 'qvector_carg_t___ne__', + 'qvector_carg_t___setitem__', + 'qvector_carg_t__del', + 'qvector_carg_t_add_unique', + 'qvector_carg_t_at', + 'qvector_carg_t_begin', + 'qvector_carg_t_begin__SWIG_0', + 'qvector_carg_t_begin__SWIG_1', + 'qvector_carg_t_capacity', + 'qvector_carg_t_clear', + 'qvector_carg_t_empty', + 'qvector_carg_t_end', + 'qvector_carg_t_end__SWIG_0', + 'qvector_carg_t_end__SWIG_1', + 'qvector_carg_t_erase', + 'qvector_carg_t_erase__SWIG_0', + 'qvector_carg_t_erase__SWIG_1', + 'qvector_carg_t_extract', + 'qvector_carg_t_find', + 'qvector_carg_t_find__SWIG_0', + 'qvector_carg_t_find__SWIG_1', + 'qvector_carg_t_grow', + 'qvector_carg_t_has', + 'qvector_carg_t_inject', + 'qvector_carg_t_insert', + 'qvector_carg_t_pop_back', + 'qvector_carg_t_push_back', + 'qvector_carg_t_push_back__SWIG_0', + 'qvector_carg_t_push_back__SWIG_1', + 'qvector_carg_t_qclear', + 'qvector_carg_t_reserve', + 'qvector_carg_t_resize', + 'qvector_carg_t_resize__SWIG_0', + 'qvector_carg_t_resize__SWIG_1', + 'qvector_carg_t_size', + 'qvector_carg_t_swap', + 'qvector_carg_t_truncate', + 'qvector_ccase_t___eq__', + 'qvector_ccase_t___getitem__', + 'qvector_ccase_t___len__', + 'qvector_ccase_t___ne__', + 'qvector_ccase_t___setitem__', + 'qvector_ccase_t__del', + 'qvector_ccase_t_add_unique', + 'qvector_ccase_t_at', + 'qvector_ccase_t_begin', + 'qvector_ccase_t_begin__SWIG_0', + 'qvector_ccase_t_begin__SWIG_1', + 'qvector_ccase_t_capacity', + 'qvector_ccase_t_clear', + 'qvector_ccase_t_empty', + 'qvector_ccase_t_end', + 'qvector_ccase_t_end__SWIG_0', + 'qvector_ccase_t_end__SWIG_1', + 'qvector_ccase_t_erase', + 'qvector_ccase_t_erase__SWIG_0', + 'qvector_ccase_t_erase__SWIG_1', + 'qvector_ccase_t_extract', + 'qvector_ccase_t_find', + 'qvector_ccase_t_find__SWIG_0', + 'qvector_ccase_t_find__SWIG_1', + 'qvector_ccase_t_grow', + 'qvector_ccase_t_has', + 'qvector_ccase_t_inject', + 'qvector_ccase_t_insert', + 'qvector_ccase_t_pop_back', + 'qvector_ccase_t_push_back', + 'qvector_ccase_t_push_back__SWIG_0', + 'qvector_ccase_t_push_back__SWIG_1', + 'qvector_ccase_t_qclear', + 'qvector_ccase_t_reserve', + 'qvector_ccase_t_resize', + 'qvector_ccase_t_resize__SWIG_0', + 'qvector_ccase_t_resize__SWIG_1', + 'qvector_ccase_t_size', + 'qvector_ccase_t_swap', + 'qvector_ccase_t_truncate', + 'qvector_history_t___eq__', + 'qvector_history_t___getitem__', + 'qvector_history_t___len__', + 'qvector_history_t___ne__', + 'qvector_history_t___setitem__', + 'qvector_history_t__del', + 'qvector_history_t_add_unique', + 'qvector_history_t_at', + 'qvector_history_t_begin', + 'qvector_history_t_begin__SWIG_0', + 'qvector_history_t_begin__SWIG_1', + 'qvector_history_t_capacity', + 'qvector_history_t_clear', + 'qvector_history_t_empty', + 'qvector_history_t_end', + 'qvector_history_t_end__SWIG_0', + 'qvector_history_t_end__SWIG_1', + 'qvector_history_t_erase', + 'qvector_history_t_erase__SWIG_0', + 'qvector_history_t_erase__SWIG_1', + 'qvector_history_t_extract', + 'qvector_history_t_find', + 'qvector_history_t_find__SWIG_0', + 'qvector_history_t_find__SWIG_1', + 'qvector_history_t_grow', + 'qvector_history_t_has', + 'qvector_history_t_inject', + 'qvector_history_t_insert', + 'qvector_history_t_pop_back', + 'qvector_history_t_push_back', + 'qvector_history_t_push_back__SWIG_0', + 'qvector_history_t_push_back__SWIG_1', + 'qvector_history_t_qclear', + 'qvector_history_t_reserve', + 'qvector_history_t_resize', + 'qvector_history_t_resize__SWIG_0', + 'qvector_history_t_resize__SWIG_1', + 'qvector_history_t_size', + 'qvector_history_t_swap', + 'qvector_history_t_truncate', + 'qvector_lvar_t___eq__', + 'qvector_lvar_t___getitem__', + 'qvector_lvar_t___len__', + 'qvector_lvar_t___ne__', + 'qvector_lvar_t___setitem__', + 'qvector_lvar_t__del', + 'qvector_lvar_t_add_unique', + 'qvector_lvar_t_at', + 'qvector_lvar_t_begin', + 'qvector_lvar_t_begin__SWIG_0', + 'qvector_lvar_t_begin__SWIG_1', + 'qvector_lvar_t_capacity', + 'qvector_lvar_t_clear', + 'qvector_lvar_t_empty', + 'qvector_lvar_t_end', + 'qvector_lvar_t_end__SWIG_0', + 'qvector_lvar_t_end__SWIG_1', + 'qvector_lvar_t_erase', + 'qvector_lvar_t_erase__SWIG_0', + 'qvector_lvar_t_erase__SWIG_1', + 'qvector_lvar_t_extract', + 'qvector_lvar_t_find', + 'qvector_lvar_t_find__SWIG_0', + 'qvector_lvar_t_find__SWIG_1', + 'qvector_lvar_t_grow', + 'qvector_lvar_t_has', + 'qvector_lvar_t_inject', + 'qvector_lvar_t_insert', + 'qvector_lvar_t_pop_back', + 'qvector_lvar_t_push_back', + 'qvector_lvar_t_push_back__SWIG_0', + 'qvector_lvar_t_push_back__SWIG_1', + 'qvector_lvar_t_qclear', + 'qvector_lvar_t_reserve', + 'qvector_lvar_t_resize', + 'qvector_lvar_t_resize__SWIG_0', + 'qvector_lvar_t_resize__SWIG_1', + 'qvector_lvar_t_size', + 'qvector_lvar_t_swap', + 'qvector_lvar_t_truncate', + 'qvector_reserve', + 'qvector_snapshotvec_t___eq__', + 'qvector_snapshotvec_t___getitem__', + 'qvector_snapshotvec_t___len__', + 'qvector_snapshotvec_t___ne__', + 'qvector_snapshotvec_t___setitem__', + 'qvector_snapshotvec_t__del', + 'qvector_snapshotvec_t_add_unique', + 'qvector_snapshotvec_t_at', + 'qvector_snapshotvec_t_begin', + 'qvector_snapshotvec_t_begin__SWIG_0', + 'qvector_snapshotvec_t_begin__SWIG_1', + 'qvector_snapshotvec_t_capacity', + 'qvector_snapshotvec_t_clear', + 'qvector_snapshotvec_t_empty', + 'qvector_snapshotvec_t_end', + 'qvector_snapshotvec_t_end__SWIG_0', + 'qvector_snapshotvec_t_end__SWIG_1', + 'qvector_snapshotvec_t_erase', + 'qvector_snapshotvec_t_erase__SWIG_0', + 'qvector_snapshotvec_t_erase__SWIG_1', + 'qvector_snapshotvec_t_extract', + 'qvector_snapshotvec_t_find', + 'qvector_snapshotvec_t_find__SWIG_0', + 'qvector_snapshotvec_t_find__SWIG_1', + 'qvector_snapshotvec_t_has', + 'qvector_snapshotvec_t_inject', + 'qvector_snapshotvec_t_insert', + 'qvector_snapshotvec_t_pop_back', + 'qvector_snapshotvec_t_push_back', + 'qvector_snapshotvec_t_push_back__SWIG_0', + 'qvector_snapshotvec_t_push_back__SWIG_1', + 'qvector_snapshotvec_t_qclear', + 'qvector_snapshotvec_t_reserve', + 'qvector_snapshotvec_t_resize', + 'qvector_snapshotvec_t_resize__SWIG_0', + 'qvector_snapshotvec_t_resize__SWIG_1', + 'qvector_snapshotvec_t_size', + 'qvector_snapshotvec_t_swap', + 'qvector_snapshotvec_t_truncate', + 'qword_flag', + 'range_array___getitem__', + 'range_array___len__', + 'range_array___setitem__', + 'range_array_count_get', + 'range_array_data_get', + 'range_t___eq__', + 'range_t___gt__', + 'range_t___lt__', + 'range_t___ne__', + 'range_t__print', + 'range_t_clear', + 'range_t_compare', + 'range_t_contains', + 'range_t_contains__SWIG_0', + 'range_t_contains__SWIG_1', + 'range_t_empty', + 'range_t_end_ea_get', + 'range_t_end_ea_set', + 'range_t_extend', + 'range_t_intersect', + 'range_t_overlaps', + 'range_t_print', + 'range_t_size', + 'range_t_start_ea_get', + 'range_t_start_ea_set', + 'rangeset_t___eq__', + 'rangeset_t___ne__', + 'rangeset_t__print', + 'rangeset_t_add', + 'rangeset_t_add__SWIG_0', + 'rangeset_t_add__SWIG_1', + 'rangeset_t_add__SWIG_2', + 'rangeset_t_begin', + 'rangeset_t_begin__SWIG_0', + 'rangeset_t_begin__SWIG_1', + 'rangeset_t_cached_range', + 'rangeset_t_clear', + 'rangeset_t_contains', + 'rangeset_t_contains__SWIG_0', + 'rangeset_t_contains__SWIG_1', + 'rangeset_t_empty', + 'rangeset_t_end', + 'rangeset_t_end__SWIG_0', + 'rangeset_t_end__SWIG_1', + 'rangeset_t_find_range', + 'rangeset_t_getrange', + 'rangeset_t_has_common', + 'rangeset_t_has_common__SWIG_0', + 'rangeset_t_has_common__SWIG_1', + 'rangeset_t_includes', + 'rangeset_t_intersect', + 'rangeset_t_is_equal', + 'rangeset_t_is_subset_of', + 'rangeset_t_lastrange', + 'rangeset_t_next_addr', + 'rangeset_t_next_range', + 'rangeset_t_nranges', + 'rangeset_t_prev_addr', + 'rangeset_t_prev_range', + 'rangeset_t_sub', + 'rangeset_t_sub__SWIG_0', + 'rangeset_t_sub__SWIG_1', + 'rangeset_t_sub__SWIG_2', + 'rangeset_t_swap', + 'rangevec_base_t___eq__', + 'rangevec_base_t___getitem__', + 'rangevec_base_t___len__', + 'rangevec_base_t___ne__', + 'rangevec_base_t___setitem__', + 'rangevec_base_t__del', + 'rangevec_base_t_add_unique', + 'rangevec_base_t_at', + 'rangevec_base_t_begin', + 'rangevec_base_t_begin__SWIG_0', + 'rangevec_base_t_begin__SWIG_1', + 'rangevec_base_t_capacity', + 'rangevec_base_t_clear', + 'rangevec_base_t_empty', + 'rangevec_base_t_end', + 'rangevec_base_t_end__SWIG_0', + 'rangevec_base_t_end__SWIG_1', + 'rangevec_base_t_erase', + 'rangevec_base_t_erase__SWIG_0', + 'rangevec_base_t_erase__SWIG_1', + 'rangevec_base_t_extract', + 'rangevec_base_t_find', + 'rangevec_base_t_find__SWIG_0', + 'rangevec_base_t_find__SWIG_1', + 'rangevec_base_t_grow', + 'rangevec_base_t_has', + 'rangevec_base_t_inject', + 'rangevec_base_t_insert', + 'rangevec_base_t_pop_back', + 'rangevec_base_t_push_back', + 'rangevec_base_t_push_back__SWIG_0', + 'rangevec_base_t_push_back__SWIG_1', + 'rangevec_base_t_qclear', + 'rangevec_base_t_reserve', + 'rangevec_base_t_resize', + 'rangevec_base_t_resize__SWIG_0', + 'rangevec_base_t_resize__SWIG_1', + 'rangevec_base_t_size', + 'rangevec_base_t_swap', + 'rangevec_base_t_truncate', + 'read_dbg_memory', + 'read_range_selection', + 'read_regargs', + 'read_selection', + 'read_tinfo_bitfield_value', + 'readbytes', + 'reanalyze_callers', + 'reanalyze_function', + 'reanalyze_noret_flag', + 'rebase_program', + 'rebuild_nlist', + 'recalc_spd', + 'rect_t___eq__', + 'rect_t___ne__', + 'rect_t_area', + 'rect_t_bottom_get', + 'rect_t_bottom_set', + 'rect_t_bottomright', + 'rect_t_center', + 'rect_t_contains', + 'rect_t_empty', + 'rect_t_grow', + 'rect_t_height', + 'rect_t_intersect', + 'rect_t_is_intersection_empty', + 'rect_t_left_get', + 'rect_t_left_set', + 'rect_t_make_union', + 'rect_t_move_by', + 'rect_t_move_to', + 'rect_t_right_get', + 'rect_t_right_set', + 'rect_t_top_get', + 'rect_t_top_set', + 'rect_t_topleft', + 'rect_t_width', + 'refinfo_t_base_get', + 'refinfo_t_base_set', + 'refinfo_t_flags_get', + 'refinfo_t_flags_set', + 'refinfo_t_init', + 'refinfo_t_is_custom', + 'refinfo_t_is_pastend', + 'refinfo_t_is_rvaoff', + 'refinfo_t_is_signed', + 'refinfo_t_is_subtract', + 'refinfo_t_is_target_optional', + 'refinfo_t_no_base_xref', + 'refinfo_t_set_type', + 'refinfo_t_target_get', + 'refinfo_t_target_set', + 'refinfo_t_tdelta_get', + 'refinfo_t_tdelta_set', + 'refinfo_t_type', + 'refresh_chooser', + 'refresh_choosers', + 'refresh_debugger_memory', + 'refresh_idaview', + 'refresh_idaview_anyway', + 'refresh_navband', + 'refresh_viewer', + 'reg2mreg', + 'reg_data_type', + 'reg_delete', + 'reg_delete_subkey', + 'reg_delete_tree', + 'reg_exists', + 'reg_flush', + 'reg_info_t___eq__', + 'reg_info_t___ge__', + 'reg_info_t___gt__', + 'reg_info_t___le__', + 'reg_info_t___lt__', + 'reg_info_t___ne__', + 'reg_info_t_compare', + 'reg_info_t_reg_get', + 'reg_info_t_reg_set', + 'reg_info_t_size_get', + 'reg_info_t_size_set', + 'reg_load', + 'reg_read_binary', + 'reg_read_bool', + 'reg_read_int', + 'reg_read_string', + 'reg_read_strlist', + 'reg_subkey_exists', + 'reg_subkey_subkeys', + 'reg_subkey_values', + 'reg_update_filestrlist', + 'reg_update_strlist', + 'reg_write_binary', + 'reg_write_bool', + 'reg_write_int', + 'reg_write_string', + 'regarg_t_name_get', + 'regarg_t_name_set', + 'regarg_t_reg_get', + 'regarg_t_reg_set', + 'regarg_t_type_get', + 'regarg_t_type_set', + 'reginfovec_t___eq__', + 'reginfovec_t___getitem__', + 'reginfovec_t___len__', + 'reginfovec_t___ne__', + 'reginfovec_t___setitem__', + 'reginfovec_t__del', + 'reginfovec_t_add_unique', + 'reginfovec_t_at', + 'reginfovec_t_begin', + 'reginfovec_t_begin__SWIG_0', + 'reginfovec_t_begin__SWIG_1', + 'reginfovec_t_capacity', + 'reginfovec_t_clear', + 'reginfovec_t_empty', + 'reginfovec_t_end', + 'reginfovec_t_end__SWIG_0', + 'reginfovec_t_end__SWIG_1', + 'reginfovec_t_erase', + 'reginfovec_t_erase__SWIG_0', + 'reginfovec_t_erase__SWIG_1', + 'reginfovec_t_extract', + 'reginfovec_t_find', + 'reginfovec_t_find__SWIG_0', + 'reginfovec_t_find__SWIG_1', + 'reginfovec_t_grow', + 'reginfovec_t_has', + 'reginfovec_t_inject', + 'reginfovec_t_insert', + 'reginfovec_t_pop_back', + 'reginfovec_t_push_back', + 'reginfovec_t_push_back__SWIG_0', + 'reginfovec_t_push_back__SWIG_1', + 'reginfovec_t_qclear', + 'reginfovec_t_reserve', + 'reginfovec_t_resize', + 'reginfovec_t_resize__SWIG_0', + 'reginfovec_t_resize__SWIG_1', + 'reginfovec_t_size', + 'reginfovec_t_swap', + 'reginfovec_t_truncate', + 'register_action', + 'register_addon', + 'register_and_attach_to_menu', + 'register_custom_data_format', + 'register_custom_data_type', + 'register_info_t_bit_strings_get', + 'register_info_t_bit_strings_set', + 'register_info_t_default_bit_strings_mask_get', + 'register_info_t_default_bit_strings_mask_set', + 'register_info_t_dtype_get', + 'register_info_t_dtype_set', + 'register_info_t_flags_get', + 'register_info_t_flags_set', + 'register_info_t_name_get', + 'register_info_t_name_set', + 'register_info_t_register_class_get', + 'register_info_t_register_class_set', + 'register_timer', + 'regobj_t_regidx_get', + 'regobj_t_regidx_set', + 'regobj_t_relocate_get', + 'regobj_t_relocate_set', + 'regobj_t_size', + 'regobj_t_value_get', + 'regobj_t_value_set', + 'regobjvec_t___getitem__', + 'regobjvec_t___len__', + 'regobjvec_t___setitem__', + 'regobjvec_t_at', + 'regobjvec_t_begin', + 'regobjvec_t_begin__SWIG_0', + 'regobjvec_t_begin__SWIG_1', + 'regobjvec_t_capacity', + 'regobjvec_t_clear', + 'regobjvec_t_empty', + 'regobjvec_t_end', + 'regobjvec_t_end__SWIG_0', + 'regobjvec_t_end__SWIG_1', + 'regobjvec_t_erase', + 'regobjvec_t_erase__SWIG_0', + 'regobjvec_t_erase__SWIG_1', + 'regobjvec_t_extract', + 'regobjvec_t_grow', + 'regobjvec_t_inject', + 'regobjvec_t_insert', + 'regobjvec_t_pop_back', + 'regobjvec_t_push_back', + 'regobjvec_t_push_back__SWIG_0', + 'regobjvec_t_push_back__SWIG_1', + 'regobjvec_t_qclear', + 'regobjvec_t_reserve', + 'regobjvec_t_resize', + 'regobjvec_t_resize__SWIG_0', + 'regobjvec_t_resize__SWIG_1', + 'regobjvec_t_size', + 'regobjvec_t_swap', + 'regobjvec_t_truncate', + 'regval_t___eq__', + 'regval_t___ne__', + 'regval_t_bytes', + 'regval_t_bytes__SWIG_0', + 'regval_t_bytes__SWIG_1', + 'regval_t_clear', + 'regval_t_fval_get', + 'regval_t_fval_set', + 'regval_t_get_data', + 'regval_t_get_data__SWIG_0', + 'regval_t_get_data__SWIG_1', + 'regval_t_get_data_size', + 'regval_t_ival_get', + 'regval_t_ival_set', + 'regval_t_rvtype_get', + 'regval_t_rvtype_set', + 'regval_t_set_bytes', + 'regval_t_set_bytes__SWIG_0', + 'regval_t_set_bytes__SWIG_1', + 'regval_t_set_bytes__SWIG_2', + 'regval_t_set_float', + 'regval_t_set_int', + 'regval_t_set_unavailable', + 'regval_t_swap', + 'regvar_array___getitem__', + 'regvar_array___len__', + 'regvar_array___setitem__', + 'regvar_array_count_get', + 'regvar_array_data_get', + 'regvar_t_canon_get', + 'regvar_t_canon_set', + 'regvar_t_cmt_get', + 'regvar_t_cmt_set', + 'regvar_t_user_get', + 'regvar_t_user_set', + 'reload_file', + 'reloc_value', + 'relocate_relobj', + 'remember_problem', + 'remitem', + 'remove_abi_opts', + 'remove_command_interpreter', + 'remove_func_tail', + 'remove_pointer', + 'remove_tinfo_pointer', + 'rename_bptgrp', + 'rename_encoding', + 'rename_entry', + 'rename_regvar', + 'renderer_info_pos_t___eq__', + 'renderer_info_pos_t___ne__', + 'renderer_info_pos_t_cx_get', + 'renderer_info_pos_t_cx_set', + 'renderer_info_pos_t_cy_get', + 'renderer_info_pos_t_cy_set', + 'renderer_info_pos_t_node_get', + 'renderer_info_pos_t_node_set', + 'renderer_info_t___eq__', + 'renderer_info_t___ne__', + 'renderer_info_t_clear', + 'renderer_info_t_gli_get', + 'renderer_info_t_gli_set', + 'renderer_info_t_pos_get', + 'renderer_info_t_pos_set', + 'renderer_info_t_rtype_get', + 'renderer_info_t_rtype_set', + 'renderer_pos_info_t___eq__', + 'renderer_pos_info_t___ne__', + 'renderer_pos_info_t_cx_get', + 'renderer_pos_info_t_cx_set', + 'renderer_pos_info_t_cy_get', + 'renderer_pos_info_t_cy_set', + 'renderer_pos_info_t_node_get', + 'renderer_pos_info_t_node_set', + 'renderer_pos_info_t_sx_get', + 'renderer_pos_info_t_sx_set', + 'reorder_dummy_names', + 'repaint_custom_viewer', + 'replace_ordinal_typerefs', + 'replace_wait_box', + 'replace_wait_box__varargs__', + 'request_add_bpt', + 'request_add_bpt__SWIG_0', + 'request_add_bpt__SWIG_1', + 'request_attach_process', + 'request_clear_trace', + 'request_continue_process', + 'request_del_bpt', + 'request_del_bpt__SWIG_0', + 'request_del_bpt__SWIG_1', + 'request_detach_process', + 'request_disable_bblk_trace', + 'request_disable_bpt', + 'request_disable_bpt__SWIG_0', + 'request_disable_bpt__SWIG_1', + 'request_disable_func_trace', + 'request_disable_insn_trace', + 'request_disable_step_trace', + 'request_enable_bblk_trace', + 'request_enable_bpt', + 'request_enable_bpt__SWIG_0', + 'request_enable_bpt__SWIG_1', + 'request_enable_func_trace', + 'request_enable_insn_trace', + 'request_enable_step_trace', + 'request_exit_process', + 'request_refresh', + 'request_resume_thread', + 'request_run_to', + 'request_select_thread', + 'request_set_bblk_trace_options', + 'request_set_func_trace_options', + 'request_set_insn_trace_options', + 'request_set_reg_val', + 'request_set_resume_mode', + 'request_set_step_trace_options', + 'request_start_process', + 'request_step_into', + 'request_step_over', + 'request_step_until_ret', + 'request_suspend_process', + 'request_suspend_thread', + 'resolve_typedef', + 'restore_database_snapshot', + 'restore_user_cmts', + 'restore_user_defined_calls', + 'restore_user_iflags', + 'restore_user_labels', + 'restore_user_lvar_settings', + 'restore_user_numforms', + 'restore_user_unions', + 'resume_thread', + 'retrieve_exceptions', + 'retrieve_input_file_crc32', + 'retrieve_input_file_md5', + 'retrieve_input_file_sha256', + 'retrieve_input_file_size', + 'retrieve_member_info', + 'revert_byte', + 'revert_ida_decisions', + 'revert_metadata', + 'rlist_t_dstr', + 'row_info_t_bottom_get', + 'row_info_t_bottom_set', + 'row_info_t_height', + 'row_info_t_nodes_get', + 'row_info_t_nodes_set', + 'row_info_t_top_get', + 'row_info_t_top_set', + 'rrel_t_off_get', + 'rrel_t_off_set', + 'rrel_t_reg_get', + 'rrel_t_reg_set', + 'run_plugin', + 'run_requests', + 'run_to', + 'save_database', + 'save_struc', + 'save_tinfo', + 'save_trace_file', + 'save_user_cmts', + 'save_user_defined_calls', + 'save_user_iflags', + 'save_user_labels', + 'save_user_lvar_settings', + 'save_user_numforms', + 'save_user_unions', + 'scattered_segm_t_name_get', + 'scattered_segm_t_name_set', + 'scif_t_mba_get', + 'scif_t_mba_set', + 'scif_t_name_get', + 'scif_t_name_set', + 'scif_t_type_get', + 'scif_t_type_set', + 'scif_visitor_t_visit_scif_mop', + 'score_metadata', + 'score_tinfo', + 'screen_graph_selection_base_t___eq__', + 'screen_graph_selection_base_t___getitem__', + 'screen_graph_selection_base_t___len__', + 'screen_graph_selection_base_t___ne__', + 'screen_graph_selection_base_t___setitem__', + 'screen_graph_selection_base_t__del', + 'screen_graph_selection_base_t_add_unique', + 'screen_graph_selection_base_t_at', + 'screen_graph_selection_base_t_begin', + 'screen_graph_selection_base_t_begin__SWIG_0', + 'screen_graph_selection_base_t_begin__SWIG_1', + 'screen_graph_selection_base_t_capacity', + 'screen_graph_selection_base_t_clear', + 'screen_graph_selection_base_t_empty', + 'screen_graph_selection_base_t_end', + 'screen_graph_selection_base_t_end__SWIG_0', + 'screen_graph_selection_base_t_end__SWIG_1', + 'screen_graph_selection_base_t_erase', + 'screen_graph_selection_base_t_erase__SWIG_0', + 'screen_graph_selection_base_t_erase__SWIG_1', + 'screen_graph_selection_base_t_extract', + 'screen_graph_selection_base_t_find', + 'screen_graph_selection_base_t_find__SWIG_0', + 'screen_graph_selection_base_t_find__SWIG_1', + 'screen_graph_selection_base_t_grow', + 'screen_graph_selection_base_t_has', + 'screen_graph_selection_base_t_inject', + 'screen_graph_selection_base_t_insert', + 'screen_graph_selection_base_t_pop_back', + 'screen_graph_selection_base_t_push_back', + 'screen_graph_selection_base_t_push_back__SWIG_0', + 'screen_graph_selection_base_t_push_back__SWIG_1', + 'screen_graph_selection_base_t_qclear', + 'screen_graph_selection_base_t_reserve', + 'screen_graph_selection_base_t_resize', + 'screen_graph_selection_base_t_resize__SWIG_0', + 'screen_graph_selection_base_t_resize__SWIG_1', + 'screen_graph_selection_base_t_size', + 'screen_graph_selection_base_t_swap', + 'screen_graph_selection_base_t_truncate', + 'screen_graph_selection_t_add', + 'screen_graph_selection_t_add_node', + 'screen_graph_selection_t_add_point', + 'screen_graph_selection_t_del_node', + 'screen_graph_selection_t_del_point', + 'screen_graph_selection_t_has', + 'screen_graph_selection_t_items_count', + 'screen_graph_selection_t_nodes_count', + 'screen_graph_selection_t_points_count', + 'screen_graph_selection_t_sub', + 'search_down', + 'seg_flag', + 'segm_adjust_diff', + 'segm_adjust_ea', + 'segm_move_info_t___eq__', + 'segm_move_info_t___ne__', + 'segm_move_info_t__from_get', + 'segm_move_info_t__from_set', + 'segm_move_info_t_size_get', + 'segm_move_info_t_size_set', + 'segm_move_info_t_to_get', + 'segm_move_info_t_to_set', + 'segm_move_info_vec_t___eq__', + 'segm_move_info_vec_t___getitem__', + 'segm_move_info_vec_t___len__', + 'segm_move_info_vec_t___ne__', + 'segm_move_info_vec_t___setitem__', + 'segm_move_info_vec_t__del', + 'segm_move_info_vec_t_add_unique', + 'segm_move_info_vec_t_at', + 'segm_move_info_vec_t_begin', + 'segm_move_info_vec_t_begin__SWIG_0', + 'segm_move_info_vec_t_begin__SWIG_1', + 'segm_move_info_vec_t_capacity', + 'segm_move_info_vec_t_clear', + 'segm_move_info_vec_t_empty', + 'segm_move_info_vec_t_end', + 'segm_move_info_vec_t_end__SWIG_0', + 'segm_move_info_vec_t_end__SWIG_1', + 'segm_move_info_vec_t_erase', + 'segm_move_info_vec_t_erase__SWIG_0', + 'segm_move_info_vec_t_erase__SWIG_1', + 'segm_move_info_vec_t_extract', + 'segm_move_info_vec_t_find', + 'segm_move_info_vec_t_find__SWIG_0', + 'segm_move_info_vec_t_find__SWIG_1', + 'segm_move_info_vec_t_grow', + 'segm_move_info_vec_t_has', + 'segm_move_info_vec_t_inject', + 'segm_move_info_vec_t_insert', + 'segm_move_info_vec_t_pop_back', + 'segm_move_info_vec_t_push_back', + 'segm_move_info_vec_t_push_back__SWIG_0', + 'segm_move_info_vec_t_push_back__SWIG_1', + 'segm_move_info_vec_t_qclear', + 'segm_move_info_vec_t_reserve', + 'segm_move_info_vec_t_resize', + 'segm_move_info_vec_t_resize__SWIG_0', + 'segm_move_info_vec_t_resize__SWIG_1', + 'segm_move_info_vec_t_size', + 'segm_move_info_vec_t_swap', + 'segm_move_info_vec_t_truncate', + 'segm_move_infos_t_find', + 'segment_t_abits', + 'segment_t_abytes', + 'segment_t_align_get', + 'segment_t_align_set', + 'segment_t_bitness_get', + 'segment_t_bitness_set', + 'segment_t_clr_comorg', + 'segment_t_clr_ob_ok', + 'segment_t_color_get', + 'segment_t_color_set', + 'segment_t_comb_get', + 'segment_t_comb_set', + 'segment_t_comorg', + 'segment_t_defsr_get', + 'segment_t_defsr_set', + 'segment_t_end_ea_get', + 'segment_t_end_ea_set', + 'segment_t_flags_get', + 'segment_t_flags_set', + 'segment_t_is_header_segm', + 'segment_t_is_hidden_segtype', + 'segment_t_is_loader_segm', + 'segment_t_is_visible_segm', + 'segment_t_name_get', + 'segment_t_name_set', + 'segment_t_ob_ok', + 'segment_t_orgbase_get', + 'segment_t_orgbase_set', + 'segment_t_perm_get', + 'segment_t_perm_set', + 'segment_t_sclass_get', + 'segment_t_sclass_set', + 'segment_t_sel_get', + 'segment_t_sel_set', + 'segment_t_set_comorg', + 'segment_t_set_debugger_segm', + 'segment_t_set_header_segm', + 'segment_t_set_hidden_segtype', + 'segment_t_set_loader_segm', + 'segment_t_set_ob_ok', + 'segment_t_set_visible_segm', + 'segment_t_start_ea_get', + 'segment_t_start_ea_set', + 'segment_t_type_get', + 'segment_t_type_set', + 'segment_t_update', + 'segment_t_use32', + 'segment_t_use64', + 'segtype', + 'seh_t_clear', + 'seh_t_filter_get', + 'seh_t_filter_set', + 'seh_t_seh_code_get', + 'seh_t_seh_code_set', + 'sel2ea', + 'sel2para', + 'sel_array___getitem__', + 'sel_array___setitem__', + 'sel_array_cast', + 'sel_array_frompointer', + 'sel_pointer_assign', + 'sel_pointer_cast', + 'sel_pointer_frompointer', + 'sel_pointer_value', + 'select_thread', + 'select_udt_by_offset', + 'selection_item_t___eq__', + 'selection_item_t___lt__', + 'selection_item_t___ne__', + 'selection_item_t_compare', + 'selection_item_t_elp_get', + 'selection_item_t_elp_set', + 'selection_item_t_is_node_get', + 'selection_item_t_is_node_set', + 'selection_item_t_node_get', + 'selection_item_t_node_set', + 'send_database', + 'serialize_tinfo', + 'serialized_tinfo_fields_get', + 'serialized_tinfo_fields_set', + 'serialized_tinfo_type_get', + 'serialized_tinfo_type_set', + 'set2jcnd', + 'set__bnot0', + 'set__bnot1', + 'set__invsign0', + 'set__invsign1', + 'set_abi_name', + 'set_abits', + 'set_absbase', + 'set_aflags', + 'set_align_flow', + 'set_alignment', + 'set_archive_path', + 'set_array_parameters', + 'set_asm_inc_file', + 'set_auto_state', + 'set_bblk_trace_options', + 'set_bits', + 'set_bmask_cmt', + 'set_bmask_name', + 'set_bpt_group', + 'set_bptloc_group', + 'set_bptloc_string', + 'set_c_header_path', + 'set_c_macros', + 'set_cancelled', + 'set_cmt', + 'set_code_viewer_handler', + 'set_code_viewer_is_source', + 'set_code_viewer_line_handlers', + 'set_code_viewer_lines_alignment', + 'set_code_viewer_lines_icon_margin', + 'set_code_viewer_lines_radix', + 'set_code_viewer_user_data', + 'set_colored_item', + 'set_compiler', + 'set_compiler_id', + 'set_compiler_string', + 'set_cp_validity', + 'set_custom_data_type_ids', + 'set_custom_viewer_qt_aware', + 'set_database_flag', + 'set_debug_event_code', + 'set_debug_name', + 'set_debugger_event_cond', + 'set_debugger_options', + 'set_default_dataseg', + 'set_default_encoding_idx', + 'set_default_sreg_value', + 'set_defsr', + 'set_dock_pos', + 'set_dummy_name', + 'set_entry_forwarder', + 'set_enum_bf', + 'set_enum_cmt', + 'set_enum_flag', + 'set_enum_fromtil', + 'set_enum_ghost', + 'set_enum_hidden', + 'set_enum_idx', + 'set_enum_member_cmt', + 'set_enum_member_name', + 'set_enum_name', + 'set_enum_type_ordinal', + 'set_enum_width', + 'set_fixed_spd', + 'set_fixup', + 'set_forced_operand', + 'set_frame_size', + 'set_func_cmt', + 'set_func_end', + 'set_func_name_if_jumpfunc', + 'set_func_start', + 'set_func_trace_options', + 'set_gotea', + 'set_group_selector', + 'set_has_lname', + 'set_has_ti', + 'set_has_ti0', + 'set_has_ti1', + 'set_header_path', + 'set_highlight', + 'set_highlight_trace_options', + 'set_ida_state', + 'set_idcv_attr', + 'set_idcv_slice', + 'set_ids_modnode', + 'set_imagebase', + 'set_immd', + 'set_insn_trace_options', + 'set_item_color', + 'set_libitem', + 'set_lzero', + 'set_lzero0', + 'set_lzero1', + 'set_manual_insn', + 'set_manual_regions', + 'set_member_cmt', + 'set_member_name', + 'set_member_tinfo', + 'set_member_type', + 'set_name', + 'set_nav_colorizer', + 'set_node_info', + 'set_noret', + 'set_noret_insn', + 'set_notcode', + 'set_notproc', + 'set_numbered_type', + 'set_op_tinfo', + 'set_op_type', + 'set_opinfo', + 'set_outfile_encoding_idx', + 'set_path', + 'set_process_options', + 'set_process_state', + 'set_processor_type', + 'set_purged', + 'set_refinfo', + 'set_refinfo_ex', + 'set_reg_val', + 'set_reg_val__SWIG_0', + 'set_reg_val__SWIG_1', + 'set_regvar_cmt', + 'set_remote_debugger', + 'set_resume_mode', + 'set_retfp', + 'set_root_filename', + 'set_script_timeout', + 'set_segm_addressing', + 'set_segm_base', + 'set_segm_class', + 'set_segm_end', + 'set_segm_name', + 'set_segm_start', + 'set_segment_cmt', + 'set_segment_translations', + 'set_selector', + 'set_source_linnum', + 'set_sreg_at_next_code', + 'set_step_trace_options', + 'set_str_type', + 'set_struc_align', + 'set_struc_cmt', + 'set_struc_hidden', + 'set_struc_idx', + 'set_struc_listed', + 'set_struc_name', + 'set_switch_info', + 'set_switch_parent', + 'set_tail_owner', + 'set_target_assembler', + 'set_terse_struc', + 'set_tilcmt', + 'set_tinfo', + 'set_tinfo_attr', + 'set_tinfo_attrs', + 'set_tinfo_property', + 'set_trace_base_address', + 'set_trace_file_desc', + 'set_trace_platform', + 'set_trace_size', + 'set_type', + 'set_type_alias', + 'set_usemodsp', + 'set_user_defined_prefix', + 'set_usersp', + 'set_userti', + 'set_view_renderer_type', + 'set_viewer_graph', + 'set_visible_func', + 'set_visible_item', + 'set_visible_segm', + 'set_zstroff', + 'setup_selector', + 'show_addr', + 'show_auto', + 'show_name', + 'show_wait_box', + 'simd_info_t_match_pattern', + 'simd_info_t_memtype_get', + 'simd_info_t_memtype_set', + 'simd_info_t_name_get', + 'simd_info_t_name_set', + 'simd_info_t_size_get', + 'simd_info_t_size_set', + 'simd_info_t_tif_get', + 'simd_info_t_tif_set', + 'simple_diff_handler_t_indent_get', + 'simple_diff_handler_t_indent_set', + 'simple_diff_handler_t_lines_get', + 'simple_diff_handler_t_lines_set', + 'simple_diff_handler_t_on_comment_changed', + 'simple_diff_handler_t_on_extra_comment_changed', + 'simple_diff_handler_t_on_frame_member_changed', + 'simple_diff_handler_t_on_function_comment_changed', + 'simple_diff_handler_t_on_insn_ops_repr_changed', + 'simple_diff_handler_t_on_name_changed', + 'simple_diff_handler_t_on_proto_changed', + 'simple_diff_handler_t_on_score_changed', + 'simple_diff_handler_t_on_user_stkpnt_changed', + 'simple_graph_t_colored_gdl_edges_get', + 'simple_graph_t_colored_gdl_edges_set', + 'simple_graph_t_title_get', + 'simple_graph_t_title_set', + 'simple_idb_diff_handler_t_header_generated_get', + 'simple_idb_diff_handler_t_header_generated_set', + 'simple_idb_diff_handler_t_pfn_get', + 'simple_idb_diff_handler_t_pfn_set', + 'simpleline_place_t_n_get', + 'simpleline_place_t_n_set', + 'simpleline_t_bgcolor_get', + 'simpleline_t_bgcolor_set', + 'simpleline_t_color_get', + 'simpleline_t_color_set', + 'simpleline_t_line_get', + 'simpleline_t_line_set', + 'sizeof_ldbl', + 'sizevec_t___eq__', + 'sizevec_t___getitem__', + 'sizevec_t___len__', + 'sizevec_t___ne__', + 'sizevec_t___setitem__', + 'sizevec_t__del', + 'sizevec_t_add_unique', + 'sizevec_t_at', + 'sizevec_t_begin', + 'sizevec_t_begin__SWIG_0', + 'sizevec_t_begin__SWIG_1', + 'sizevec_t_capacity', + 'sizevec_t_clear', + 'sizevec_t_empty', + 'sizevec_t_end', + 'sizevec_t_end__SWIG_0', + 'sizevec_t_end__SWIG_1', + 'sizevec_t_erase', + 'sizevec_t_erase__SWIG_0', + 'sizevec_t_erase__SWIG_1', + 'sizevec_t_extract', + 'sizevec_t_find', + 'sizevec_t_find__SWIG_0', + 'sizevec_t_find__SWIG_1', + 'sizevec_t_grow', + 'sizevec_t_has', + 'sizevec_t_inject', + 'sizevec_t_insert', + 'sizevec_t_pop_back', + 'sizevec_t_push_back', + 'sizevec_t_push_back__SWIG_0', + 'sizevec_t_push_back__SWIG_1', + 'sizevec_t_qclear', + 'sizevec_t_reserve', + 'sizevec_t_resize', + 'sizevec_t_resize__SWIG_0', + 'sizevec_t_resize__SWIG_1', + 'sizevec_t_size', + 'sizevec_t_swap', + 'sizevec_t_truncate', + 'skipped_func_t_count_get', + 'skipped_func_t_count_set', + 'skipped_func_t_pattern_id_get', + 'skipped_func_t_pattern_id_set', + 'skipped_funcs_t___getitem__', + 'skipped_funcs_t___len__', + 'skipped_funcs_t___setitem__', + 'skipped_funcs_t_at', + 'skipped_funcs_t_begin', + 'skipped_funcs_t_begin__SWIG_0', + 'skipped_funcs_t_begin__SWIG_1', + 'skipped_funcs_t_capacity', + 'skipped_funcs_t_clear', + 'skipped_funcs_t_empty', + 'skipped_funcs_t_end', + 'skipped_funcs_t_end__SWIG_0', + 'skipped_funcs_t_end__SWIG_1', + 'skipped_funcs_t_erase', + 'skipped_funcs_t_erase__SWIG_0', + 'skipped_funcs_t_erase__SWIG_1', + 'skipped_funcs_t_extract', + 'skipped_funcs_t_grow', + 'skipped_funcs_t_inject', + 'skipped_funcs_t_insert', + 'skipped_funcs_t_pop_back', + 'skipped_funcs_t_push_back', + 'skipped_funcs_t_push_back__SWIG_0', + 'skipped_funcs_t_push_back__SWIG_1', + 'skipped_funcs_t_qclear', + 'skipped_funcs_t_reserve', + 'skipped_funcs_t_resize', + 'skipped_funcs_t_resize__SWIG_0', + 'skipped_funcs_t_resize__SWIG_1', + 'skipped_funcs_t_size', + 'skipped_funcs_t_swap', + 'skipped_funcs_t_truncate', + 'snapshot_t___eq__', + 'snapshot_t___ge__', + 'snapshot_t___gt__', + 'snapshot_t___le__', + 'snapshot_t___lt__', + 'snapshot_t___ne__', + 'snapshot_t_children_get', + 'snapshot_t_children_set', + 'snapshot_t_clear', + 'snapshot_t_desc_get', + 'snapshot_t_desc_set', + 'snapshot_t_filename_get', + 'snapshot_t_filename_set', + 'snapshot_t_flags_get', + 'snapshot_t_flags_set', + 'snapshot_t_id_get', + 'snapshot_t_id_set', + 'soff_to_fpoff', + 'split_metadata', + 'split_sreg_range', + 'srcdbg_request_step_into', + 'srcdbg_request_step_over', + 'srcdbg_request_step_until_ret', + 'srcdbg_step_into', + 'srcdbg_step_over', + 'srcdbg_step_until_ret', + 'sreg_range_t_tag_get', + 'sreg_range_t_tag_set', + 'sreg_range_t_val_get', + 'sreg_range_t_val_set', + 'start_process', + 'std_out_segm_footer', + 'step_into', + 'step_over', + 'step_until_ret', + 'stkpnt_array___getitem__', + 'stkpnt_array___len__', + 'stkpnt_array___setitem__', + 'stkpnt_array_count_get', + 'stkpnt_array_data_get', + 'stkpnt_t___eq__', + 'stkpnt_t___ge__', + 'stkpnt_t___gt__', + 'stkpnt_t___le__', + 'stkpnt_t___lt__', + 'stkpnt_t___ne__', + 'stkpnt_t_compare', + 'stkpnt_t_ea_get', + 'stkpnt_t_ea_set', + 'stkpnt_t_spd_get', + 'stkpnt_t_spd_set', + 'stkpnts_t___eq__', + 'stkpnts_t___ge__', + 'stkpnts_t___gt__', + 'stkpnts_t___le__', + 'stkpnts_t___lt__', + 'stkpnts_t___ne__', + 'stkpnts_t_compare', + 'stkvar_flag', + 'stkvar_ref_t___eq__', + 'stkvar_ref_t___ge__', + 'stkvar_ref_t___gt__', + 'stkvar_ref_t___le__', + 'stkvar_ref_t___lt__', + 'stkvar_ref_t___ne__', + 'stkvar_ref_t_compare', + 'stkvar_ref_t_get_stkvar', + 'stkvar_ref_t_mba_get', + 'stkvar_ref_t_off_get', + 'stkvar_ref_t_off_set', + 'stkvar_ref_t_swap', + 'store_exceptions', + 'store_til', + 'str2ea', + 'str2reg', + 'str2user', + 'strarray', + 'strarray_t_code_get', + 'strarray_t_code_set', + 'strarray_t_text_get', + 'strarray_t_text_set', + 'string_info_t___lt__', + 'string_info_t_ea_get', + 'string_info_t_ea_set', + 'string_info_t_length_get', + 'string_info_t_length_set', + 'string_info_t_type_get', + 'string_info_t_type_set', + 'strlit_flag', + 'stroff_as_size', + 'stroff_flag', + 'strpath_ids_array___getitem__', + 'strpath_ids_array___len__', + 'strpath_ids_array___setitem__', + 'strpath_ids_array_data_get', + 'strpath_t___getIds', + 'strpath_t_delta_get', + 'strpath_t_delta_set', + 'strpath_t_ids_get', + 'strpath_t_ids_set', + 'strpath_t_len_get', + 'strpath_t_len_set', + 'stru_flag', + 'struc_t_age_get', + 'struc_t_age_set', + 'struc_t_from_til', + 'struc_t_get_alignment', + 'struc_t_get_member', + 'struc_t_has_union', + 'struc_t_id_get', + 'struc_t_id_set', + 'struc_t_is_choosable', + 'struc_t_is_frame', + 'struc_t_is_ghost', + 'struc_t_is_hidden', + 'struc_t_is_union', + 'struc_t_is_varstr', + 'struc_t_members_get', + 'struc_t_members_set', + 'struc_t_memqty_get', + 'struc_t_memqty_set', + 'struc_t_ordinal_get', + 'struc_t_ordinal_set', + 'struc_t_props_get', + 'struc_t_props_set', + 'struc_t_set_alignment', + 'struc_t_set_ghost', + 'struct_field_visitor_t_visit_field', + 'structplace_t_idx_get', + 'structplace_t_idx_set', + 'structplace_t_offset_get', + 'structplace_t_offset_set', + 'strvec_t___getitem__', + 'strvec_t___len__', + 'strvec_t___setitem__', + 'strvec_t_at', + 'strvec_t_begin', + 'strvec_t_begin__SWIG_0', + 'strvec_t_begin__SWIG_1', + 'strvec_t_capacity', + 'strvec_t_clear', + 'strvec_t_empty', + 'strvec_t_end', + 'strvec_t_end__SWIG_0', + 'strvec_t_end__SWIG_1', + 'strvec_t_erase', + 'strvec_t_erase__SWIG_0', + 'strvec_t_erase__SWIG_1', + 'strvec_t_extract', + 'strvec_t_grow', + 'strvec_t_inject', + 'strvec_t_insert', + 'strvec_t_pop_back', + 'strvec_t_push_back', + 'strvec_t_push_back__SWIG_0', + 'strvec_t_push_back__SWIG_1', + 'strvec_t_qclear', + 'strvec_t_reserve', + 'strvec_t_resize', + 'strvec_t_resize__SWIG_0', + 'strvec_t_resize__SWIG_1', + 'strvec_t_size', + 'strvec_t_swap', + 'strvec_t_truncate', + 'strwinsetup_t__get_strtypes', + 'strwinsetup_t__set_strtypes', + 'strwinsetup_t_display_only_existing_strings_get', + 'strwinsetup_t_display_only_existing_strings_set', + 'strwinsetup_t_ignore_heads_get', + 'strwinsetup_t_ignore_heads_set', + 'strwinsetup_t_is_initialized', + 'strwinsetup_t_minlen_get', + 'strwinsetup_t_minlen_set', + 'strwinsetup_t_only_7bit_get', + 'strwinsetup_t_only_7bit_set', + 'suspend_process', + 'suspend_thread', + 'sval_pointer_assign', + 'sval_pointer_cast', + 'sval_pointer_frompointer', + 'sval_pointer_value', + 'swap_idcvs', + 'swap_mcode_relation', + 'swapped_relation', + 'switch_info_t__from_ptrval__', + 'switch_info_t__get_values_lowcase', + 'switch_info_t__set_values_lowcase', + 'switch_info_t_assign', + 'switch_info_t_clear', + 'switch_info_t_custom_get', + 'switch_info_t_custom_set', + 'switch_info_t_defjump_get', + 'switch_info_t_defjump_set', + 'switch_info_t_elbase_get', + 'switch_info_t_elbase_set', + 'switch_info_t_expr_ea_get', + 'switch_info_t_expr_ea_set', + 'switch_info_t_flags_get', + 'switch_info_t_flags_set', + 'switch_info_t_get_jrange_vrange', + 'switch_info_t_get_jtable_element_size', + 'switch_info_t_get_jtable_size', + 'switch_info_t_get_lowcase', + 'switch_info_t_get_shift', + 'switch_info_t_get_version', + 'switch_info_t_get_vtable_element_size', + 'switch_info_t_has_default', + 'switch_info_t_has_elbase', + 'switch_info_t_ind_lowcase_get', + 'switch_info_t_ind_lowcase_set', + 'switch_info_t_is_custom', + 'switch_info_t_is_indirect', + 'switch_info_t_is_nolowcase', + 'switch_info_t_is_sparse', + 'switch_info_t_is_subtract', + 'switch_info_t_jcases_get', + 'switch_info_t_jcases_set', + 'switch_info_t_jumps_get', + 'switch_info_t_jumps_set', + 'switch_info_t_marks_get', + 'switch_info_t_marks_set', + 'switch_info_t_ncases_get', + 'switch_info_t_ncases_set', + 'switch_info_t_regdtype_get', + 'switch_info_t_regdtype_set', + 'switch_info_t_regnum_get', + 'switch_info_t_regnum_set', + 'switch_info_t_set_elbase', + 'switch_info_t_set_expr', + 'switch_info_t_set_jtable_element_size', + 'switch_info_t_set_jtable_size', + 'switch_info_t_set_shift', + 'switch_info_t_set_vtable_element_size', + 'switch_info_t_startea_get', + 'switch_info_t_startea_set', + 'switch_info_t_use_std_table', + 'sync_source_t___eq__', + 'sync_source_t___ne__', + 'sync_source_t_get_register', + 'sync_source_t_get_widget', + 'sync_source_t_is_register', + 'sync_source_t_is_widget', + 'sync_sources', + 'tag_addr', + 'tag_advance', + 'tag_remove', + 'tag_skipcode', + 'tag_skipcodes', + 'tag_strlen', + 'take_database_snapshot', + 'take_memory_snapshot', + 'tbyte_flag', + 'term_hexrays_plugin', + 'tev_info_reg_t_info_get', + 'tev_info_reg_t_info_set', + 'tev_info_reg_t_registers_get', + 'tev_info_reg_t_registers_set', + 'tev_info_t_ea_get', + 'tev_info_t_ea_set', + 'tev_info_t_tid_get', + 'tev_info_t_tid_set', + 'tev_info_t_type_get', + 'tev_info_t_type_set', + 'tev_reg_value_t_reg_idx_get', + 'tev_reg_value_t_reg_idx_set', + 'tev_reg_value_t_value_get', + 'tev_reg_value_t_value_set', + 'tev_reg_values_t___getitem__', + 'tev_reg_values_t___len__', + 'tev_reg_values_t___setitem__', + 'tev_reg_values_t_at', + 'tev_reg_values_t_begin', + 'tev_reg_values_t_begin__SWIG_0', + 'tev_reg_values_t_begin__SWIG_1', + 'tev_reg_values_t_capacity', + 'tev_reg_values_t_clear', + 'tev_reg_values_t_empty', + 'tev_reg_values_t_end', + 'tev_reg_values_t_end__SWIG_0', + 'tev_reg_values_t_end__SWIG_1', + 'tev_reg_values_t_erase', + 'tev_reg_values_t_erase__SWIG_0', + 'tev_reg_values_t_erase__SWIG_1', + 'tev_reg_values_t_extract', + 'tev_reg_values_t_grow', + 'tev_reg_values_t_inject', + 'tev_reg_values_t_insert', + 'tev_reg_values_t_pop_back', + 'tev_reg_values_t_push_back', + 'tev_reg_values_t_push_back__SWIG_0', + 'tev_reg_values_t_push_back__SWIG_1', + 'tev_reg_values_t_qclear', + 'tev_reg_values_t_reserve', + 'tev_reg_values_t_resize', + 'tev_reg_values_t_resize__SWIG_0', + 'tev_reg_values_t_resize__SWIG_1', + 'tev_reg_values_t_size', + 'tev_reg_values_t_swap', + 'tev_reg_values_t_truncate', + 'tevinforeg_vec_t___getitem__', + 'tevinforeg_vec_t___len__', + 'tevinforeg_vec_t___setitem__', + 'tevinforeg_vec_t_at', + 'tevinforeg_vec_t_begin', + 'tevinforeg_vec_t_begin__SWIG_0', + 'tevinforeg_vec_t_begin__SWIG_1', + 'tevinforeg_vec_t_capacity', + 'tevinforeg_vec_t_clear', + 'tevinforeg_vec_t_empty', + 'tevinforeg_vec_t_end', + 'tevinforeg_vec_t_end__SWIG_0', + 'tevinforeg_vec_t_end__SWIG_1', + 'tevinforeg_vec_t_erase', + 'tevinforeg_vec_t_erase__SWIG_0', + 'tevinforeg_vec_t_erase__SWIG_1', + 'tevinforeg_vec_t_extract', + 'tevinforeg_vec_t_grow', + 'tevinforeg_vec_t_inject', + 'tevinforeg_vec_t_insert', + 'tevinforeg_vec_t_pop_back', + 'tevinforeg_vec_t_push_back', + 'tevinforeg_vec_t_push_back__SWIG_0', + 'tevinforeg_vec_t_push_back__SWIG_1', + 'tevinforeg_vec_t_qclear', + 'tevinforeg_vec_t_reserve', + 'tevinforeg_vec_t_resize', + 'tevinforeg_vec_t_resize__SWIG_0', + 'tevinforeg_vec_t_resize__SWIG_1', + 'tevinforeg_vec_t_size', + 'tevinforeg_vec_t_swap', + 'tevinforeg_vec_t_truncate', + 'text_sink_t__print', + 'textctrl_info_t_assign', + 'textctrl_info_t_create', + 'textctrl_info_t_destroy', + 'textctrl_info_t_get_clink', + 'textctrl_info_t_get_clink_ptr', + 'textctrl_info_t_get_flags', + 'textctrl_info_t_get_tabsize', + 'textctrl_info_t_get_text', + 'textctrl_info_t_set_flags', + 'textctrl_info_t_set_tabsize', + 'textctrl_info_t_set_text', + 'thread_name_t_name_get', + 'thread_name_t_name_set', + 'thread_name_t_tid_get', + 'thread_name_t_tid_set', + 'throw_idc_exception', + 'tid_array___getitem__', + 'tid_array___setitem__', + 'tid_array_cast', + 'tid_array_frompointer', + 'til_symbol_t_name_get', + 'til_symbol_t_name_set', + 'til_symbol_t_til_get', + 'til_symbol_t_til_set', + 'til_t_base', + 'til_t_cc_get', + 'til_t_cc_set', + 'til_t_desc_get', + 'til_t_desc_set', + 'til_t_flags_get', + 'til_t_flags_set', + 'til_t_is_dirty', + 'til_t_name_get', + 'til_t_name_set', + 'til_t_nbases_get', + 'til_t_nbases_set', + 'til_t_nrefs_get', + 'til_t_nrefs_set', + 'til_t_nstreams_get', + 'til_t_nstreams_set', + 'til_t_set_dirty', + 'til_t_streams_get', + 'til_t_streams_set', + 'tinfo_t___eq__', + 'tinfo_t___ge__', + 'tinfo_t___gt__', + 'tinfo_t___le__', + 'tinfo_t___lt__', + 'tinfo_t___ne__', + 'tinfo_t___str__', + 'tinfo_t__print', + 'tinfo_t_append_covered', + 'tinfo_t_calc_gaps', + 'tinfo_t_calc_purged_bytes', + 'tinfo_t_calc_score', + 'tinfo_t_calc_udt_aligns', + 'tinfo_t_change_sign', + 'tinfo_t_clear', + 'tinfo_t_clr_const', + 'tinfo_t_clr_const_volatile', + 'tinfo_t_clr_volatile', + 'tinfo_t_compare', + 'tinfo_t_compare_with', + 'tinfo_t_convert_array_to_ptr', + 'tinfo_t_copy', + 'tinfo_t_create_array', + 'tinfo_t_create_array__SWIG_0', + 'tinfo_t_create_array__SWIG_1', + 'tinfo_t_create_bitfield', + 'tinfo_t_create_bitfield__SWIG_0', + 'tinfo_t_create_bitfield__SWIG_1', + 'tinfo_t_create_enum', + 'tinfo_t_create_forward_decl', + 'tinfo_t_create_func', + 'tinfo_t_create_ptr', + 'tinfo_t_create_ptr__SWIG_0', + 'tinfo_t_create_ptr__SWIG_1', + 'tinfo_t_create_simple_type', + 'tinfo_t_create_typedef', + 'tinfo_t_create_typedef__SWIG_0', + 'tinfo_t_create_typedef__SWIG_1', + 'tinfo_t_create_typedef__SWIG_2', + 'tinfo_t_create_udt', + 'tinfo_t_del_attr', + 'tinfo_t_del_attrs', + 'tinfo_t_deserialize', + 'tinfo_t_deserialize__SWIG_0', + 'tinfo_t_deserialize__SWIG_1', + 'tinfo_t_dstr', + 'tinfo_t_empty', + 'tinfo_t_equals_to', + 'tinfo_t_find_udt_member', + 'tinfo_t_get_array_details', + 'tinfo_t_get_array_element', + 'tinfo_t_get_array_nelems', + 'tinfo_t_get_attr', + 'tinfo_t_get_attrs', + 'tinfo_t_get_bitfield_details', + 'tinfo_t_get_declalign', + 'tinfo_t_get_decltype', + 'tinfo_t_get_enum_base_type', + 'tinfo_t_get_enum_details', + 'tinfo_t_get_final_ordinal', + 'tinfo_t_get_final_type_name', + 'tinfo_t_get_func_details', + 'tinfo_t_get_modifiers', + 'tinfo_t_get_named_type', + 'tinfo_t_get_nargs', + 'tinfo_t_get_next_type_name', + 'tinfo_t_get_nth_arg', + 'tinfo_t_get_numbered_type', + 'tinfo_t_get_onemember_type', + 'tinfo_t_get_ordinal', + 'tinfo_t_get_pointed_object', + 'tinfo_t_get_ptr_details', + 'tinfo_t_get_ptrarr_object', + 'tinfo_t_get_ptrarr_objsize', + 'tinfo_t_get_realtype', + 'tinfo_t_get_rettype', + 'tinfo_t_get_sign', + 'tinfo_t_get_size', + 'tinfo_t_get_stock', + 'tinfo_t_get_til', + 'tinfo_t_get_type_name', + 'tinfo_t_get_udt_details', + 'tinfo_t_get_udt_nmembers', + 'tinfo_t_get_unpadded_size', + 'tinfo_t_has_details', + 'tinfo_t_has_vftable', + 'tinfo_t_is_anonymous_udt', + 'tinfo_t_is_arithmetic', + 'tinfo_t_is_array', + 'tinfo_t_is_bitfield', + 'tinfo_t_is_bool', + 'tinfo_t_is_castable_to', + 'tinfo_t_is_char', + 'tinfo_t_is_complex', + 'tinfo_t_is_const', + 'tinfo_t_is_correct', + 'tinfo_t_is_decl_array', + 'tinfo_t_is_decl_bitfield', + 'tinfo_t_is_decl_bool', + 'tinfo_t_is_decl_char', + 'tinfo_t_is_decl_complex', + 'tinfo_t_is_decl_const', + 'tinfo_t_is_decl_double', + 'tinfo_t_is_decl_enum', + 'tinfo_t_is_decl_float', + 'tinfo_t_is_decl_floating', + 'tinfo_t_is_decl_func', + 'tinfo_t_is_decl_int', + 'tinfo_t_is_decl_int128', + 'tinfo_t_is_decl_int16', + 'tinfo_t_is_decl_int32', + 'tinfo_t_is_decl_int64', + 'tinfo_t_is_decl_last', + 'tinfo_t_is_decl_ldouble', + 'tinfo_t_is_decl_paf', + 'tinfo_t_is_decl_partial', + 'tinfo_t_is_decl_ptr', + 'tinfo_t_is_decl_struct', + 'tinfo_t_is_decl_sue', + 'tinfo_t_is_decl_tbyte', + 'tinfo_t_is_decl_typedef', + 'tinfo_t_is_decl_uchar', + 'tinfo_t_is_decl_udt', + 'tinfo_t_is_decl_uint', + 'tinfo_t_is_decl_uint128', + 'tinfo_t_is_decl_uint16', + 'tinfo_t_is_decl_uint32', + 'tinfo_t_is_decl_uint64', + 'tinfo_t_is_decl_union', + 'tinfo_t_is_decl_unknown', + 'tinfo_t_is_decl_void', + 'tinfo_t_is_decl_volatile', + 'tinfo_t_is_double', + 'tinfo_t_is_empty_udt', + 'tinfo_t_is_enum', + 'tinfo_t_is_ext_arithmetic', + 'tinfo_t_is_ext_integral', + 'tinfo_t_is_float', + 'tinfo_t_is_floating', + 'tinfo_t_is_forward_decl', + 'tinfo_t_is_from_subtil', + 'tinfo_t_is_func', + 'tinfo_t_is_funcptr', + 'tinfo_t_is_high_func', + 'tinfo_t_is_int', + 'tinfo_t_is_int128', + 'tinfo_t_is_int16', + 'tinfo_t_is_int32', + 'tinfo_t_is_int64', + 'tinfo_t_is_integral', + 'tinfo_t_is_ldouble', + 'tinfo_t_is_manually_castable_to', + 'tinfo_t_is_one_fpval', + 'tinfo_t_is_paf', + 'tinfo_t_is_partial', + 'tinfo_t_is_ptr', + 'tinfo_t_is_ptr_or_array', + 'tinfo_t_is_purging_cc', + 'tinfo_t_is_pvoid', + 'tinfo_t_is_scalar', + 'tinfo_t_is_shifted_ptr', + 'tinfo_t_is_signed', + 'tinfo_t_is_small_udt', + 'tinfo_t_is_sse_type', + 'tinfo_t_is_struct', + 'tinfo_t_is_sue', + 'tinfo_t_is_tbyte', + 'tinfo_t_is_typeref', + 'tinfo_t_is_uchar', + 'tinfo_t_is_udt', + 'tinfo_t_is_uint', + 'tinfo_t_is_uint128', + 'tinfo_t_is_uint16', + 'tinfo_t_is_uint32', + 'tinfo_t_is_uint64', + 'tinfo_t_is_union', + 'tinfo_t_is_unknown', + 'tinfo_t_is_unsigned', + 'tinfo_t_is_user_cc', + 'tinfo_t_is_vararg_cc', + 'tinfo_t_is_varstruct', + 'tinfo_t_is_vftable', + 'tinfo_t_is_void', + 'tinfo_t_is_volatile', + 'tinfo_t_is_well_defined', + 'tinfo_t_present', + 'tinfo_t_read_bitfield_value', + 'tinfo_t_remove_ptr_or_array', + 'tinfo_t_requires_qualifier', + 'tinfo_t_serialize', + 'tinfo_t_set_attr', + 'tinfo_t_set_attrs', + 'tinfo_t_set_const', + 'tinfo_t_set_declalign', + 'tinfo_t_set_modifiers', + 'tinfo_t_set_named_type', + 'tinfo_t_set_numbered_type', + 'tinfo_t_set_symbol_type', + 'tinfo_t_set_volatile', + 'tinfo_t_swap', + 'tinfo_t_write_bitfield_value', + 'tinfo_visitor_t_apply_to', + 'tinfo_visitor_t_prune_now', + 'tinfo_visitor_t_state_get', + 'tinfo_visitor_t_state_set', + 'tinfo_visitor_t_visit_type', + 'to_ea', + 'toggle_bnot', + 'toggle_lzero', + 'toggle_sign', + 'treeloc_t___eq__', + 'treeloc_t___lt__', + 'treeloc_t_ea_get', + 'treeloc_t_ea_set', + 'treeloc_t_itp_get', + 'treeloc_t_itp_set', + 'try_handler_t_clear', + 'try_handler_t_disp_get', + 'try_handler_t_disp_set', + 'try_handler_t_fpreg_get', + 'try_handler_t_fpreg_set', + 'try_to_add_libfunc', + 'tryblk_t_clear', + 'tryblk_t_cpp', + 'tryblk_t_empty', + 'tryblk_t_get_kind', + 'tryblk_t_is_cpp', + 'tryblk_t_is_seh', + 'tryblk_t_level_get', + 'tryblk_t_level_set', + 'tryblk_t_seh', + 'tryblk_t_set_cpp', + 'tryblk_t_set_seh', + 'tryblks_t___eq__', + 'tryblks_t___getitem__', + 'tryblks_t___len__', + 'tryblks_t___ne__', + 'tryblks_t___setitem__', + 'tryblks_t__del', + 'tryblks_t_add_unique', + 'tryblks_t_at', + 'tryblks_t_begin', + 'tryblks_t_begin__SWIG_0', + 'tryblks_t_begin__SWIG_1', + 'tryblks_t_capacity', + 'tryblks_t_clear', + 'tryblks_t_empty', + 'tryblks_t_end', + 'tryblks_t_end__SWIG_0', + 'tryblks_t_end__SWIG_1', + 'tryblks_t_erase', + 'tryblks_t_erase__SWIG_0', + 'tryblks_t_erase__SWIG_1', + 'tryblks_t_extract', + 'tryblks_t_find', + 'tryblks_t_find__SWIG_0', + 'tryblks_t_find__SWIG_1', + 'tryblks_t_grow', + 'tryblks_t_has', + 'tryblks_t_inject', + 'tryblks_t_insert', + 'tryblks_t_pop_back', + 'tryblks_t_push_back', + 'tryblks_t_push_back__SWIG_0', + 'tryblks_t_push_back__SWIG_1', + 'tryblks_t_qclear', + 'tryblks_t_reserve', + 'tryblks_t_resize', + 'tryblks_t_resize__SWIG_0', + 'tryblks_t_resize__SWIG_1', + 'tryblks_t_size', + 'tryblks_t_swap', + 'tryblks_t_truncate', + 'twinpos_t___eq__', + 'twinpos_t___ne__', + 'twinpos_t_at_get', + 'twinpos_t_at_set', + 'twinpos_t_x_get', + 'twinpos_t_x_set', + 'type_attr_t___ge__', + 'type_attr_t___lt__', + 'type_attr_t_key_get', + 'type_attr_t_key_set', + 'type_attr_t_value_get', + 'type_attr_t_value_set', + 'type_attrs_t___getitem__', + 'type_attrs_t___len__', + 'type_attrs_t___setitem__', + 'type_attrs_t_at', + 'type_attrs_t_begin', + 'type_attrs_t_begin__SWIG_0', + 'type_attrs_t_begin__SWIG_1', + 'type_attrs_t_capacity', + 'type_attrs_t_clear', + 'type_attrs_t_empty', + 'type_attrs_t_end', + 'type_attrs_t_end__SWIG_0', + 'type_attrs_t_end__SWIG_1', + 'type_attrs_t_erase', + 'type_attrs_t_erase__SWIG_0', + 'type_attrs_t_erase__SWIG_1', + 'type_attrs_t_extract', + 'type_attrs_t_grow', + 'type_attrs_t_inject', + 'type_attrs_t_insert', + 'type_attrs_t_pop_back', + 'type_attrs_t_push_back', + 'type_attrs_t_push_back__SWIG_0', + 'type_attrs_t_push_back__SWIG_1', + 'type_attrs_t_qclear', + 'type_attrs_t_reserve', + 'type_attrs_t_resize', + 'type_attrs_t_resize__SWIG_0', + 'type_attrs_t_resize__SWIG_1', + 'type_attrs_t_size', + 'type_attrs_t_swap', + 'type_attrs_t_truncate', + 'type_mods_t_clear', + 'type_mods_t_cmt_get', + 'type_mods_t_cmt_set', + 'type_mods_t_flags_get', + 'type_mods_t_flags_set', + 'type_mods_t_has_cmt', + 'type_mods_t_has_info', + 'type_mods_t_has_name', + 'type_mods_t_has_type', + 'type_mods_t_name_get', + 'type_mods_t_name_set', + 'type_mods_t_set_new_cmt', + 'type_mods_t_set_new_name', + 'type_mods_t_set_new_type', + 'type_mods_t_type_get', + 'type_mods_t_type_set', + 'typedef_type_data_t_is_ordref_get', + 'typedef_type_data_t_is_ordref_set', + 'typedef_type_data_t_resolve_get', + 'typedef_type_data_t_resolve_set', + 'typedef_type_data_t_swap', + 'typedef_type_data_t_til_get', + 'typedef_type_data_t_til_set', + 'uchar_array___getitem__', + 'uchar_array___setitem__', + 'uchar_array_cast', + 'uchar_array_frompointer', + 'udc_filter_t_apply', + 'udc_filter_t_init', + 'udc_filter_t_match', + 'udcall_map_begin', + 'udcall_map_clear', + 'udcall_map_end', + 'udcall_map_erase', + 'udcall_map_find', + 'udcall_map_first', + 'udcall_map_free', + 'udcall_map_insert', + 'udcall_map_iterator_t___eq__', + 'udcall_map_iterator_t___ne__', + 'udcall_map_iterator_t_x_get', + 'udcall_map_iterator_t_x_set', + 'udcall_map_new', + 'udcall_map_next', + 'udcall_map_prev', + 'udcall_map_second', + 'udcall_map_size', + 'udcall_t___eq__', + 'udcall_t___ge__', + 'udcall_t___gt__', + 'udcall_t___le__', + 'udcall_t___lt__', + 'udcall_t___ne__', + 'udcall_t_compare', + 'udcall_t_name_get', + 'udcall_t_name_set', + 'udcall_t_tif_get', + 'udcall_t_tif_set', + 'udt_member_t___eq__', + 'udt_member_t___lt__', + 'udt_member_t___ne__', + 'udt_member_t_begin', + 'udt_member_t_clr_baseclass', + 'udt_member_t_clr_unaligned', + 'udt_member_t_clr_vftable', + 'udt_member_t_clr_virtbase', + 'udt_member_t_cmt_get', + 'udt_member_t_cmt_set', + 'udt_member_t_effalign_get', + 'udt_member_t_effalign_set', + 'udt_member_t_end', + 'udt_member_t_fda_get', + 'udt_member_t_fda_set', + 'udt_member_t_is_anonymous_udm', + 'udt_member_t_is_baseclass', + 'udt_member_t_is_bitfield', + 'udt_member_t_is_unaligned', + 'udt_member_t_is_vftable', + 'udt_member_t_is_virtbase', + 'udt_member_t_is_zero_bitfield', + 'udt_member_t_name_get', + 'udt_member_t_name_set', + 'udt_member_t_offset_get', + 'udt_member_t_offset_set', + 'udt_member_t_set_baseclass', + 'udt_member_t_set_unaligned', + 'udt_member_t_set_vftable', + 'udt_member_t_set_virtbase', + 'udt_member_t_size_get', + 'udt_member_t_size_set', + 'udt_member_t_swap', + 'udt_member_t_tafld_bits_get', + 'udt_member_t_tafld_bits_set', + 'udt_member_t_type_get', + 'udt_member_t_type_set', + 'udt_type_data_t_effalign_get', + 'udt_type_data_t_effalign_set', + 'udt_type_data_t_is_cppobj', + 'udt_type_data_t_is_last_baseclass', + 'udt_type_data_t_is_msstruct', + 'udt_type_data_t_is_unaligned', + 'udt_type_data_t_is_union_get', + 'udt_type_data_t_is_union_set', + 'udt_type_data_t_is_vftable', + 'udt_type_data_t_pack_get', + 'udt_type_data_t_pack_set', + 'udt_type_data_t_sda_get', + 'udt_type_data_t_sda_set', + 'udt_type_data_t_swap', + 'udt_type_data_t_taudt_bits_get', + 'udt_type_data_t_taudt_bits_set', + 'udt_type_data_t_total_size_get', + 'udt_type_data_t_total_size_set', + 'udt_type_data_t_unpadded_size_get', + 'udt_type_data_t_unpadded_size_set', + 'udtmembervec_t___eq__', + 'udtmembervec_t___getitem__', + 'udtmembervec_t___len__', + 'udtmembervec_t___ne__', + 'udtmembervec_t___setitem__', + 'udtmembervec_t__del', + 'udtmembervec_t_add_unique', + 'udtmembervec_t_at', + 'udtmembervec_t_begin', + 'udtmembervec_t_begin__SWIG_0', + 'udtmembervec_t_begin__SWIG_1', + 'udtmembervec_t_capacity', + 'udtmembervec_t_clear', + 'udtmembervec_t_empty', + 'udtmembervec_t_end', + 'udtmembervec_t_end__SWIG_0', + 'udtmembervec_t_end__SWIG_1', + 'udtmembervec_t_erase', + 'udtmembervec_t_erase__SWIG_0', + 'udtmembervec_t_erase__SWIG_1', + 'udtmembervec_t_extract', + 'udtmembervec_t_find', + 'udtmembervec_t_find__SWIG_0', + 'udtmembervec_t_find__SWIG_1', + 'udtmembervec_t_grow', + 'udtmembervec_t_has', + 'udtmembervec_t_inject', + 'udtmembervec_t_insert', + 'udtmembervec_t_pop_back', + 'udtmembervec_t_push_back', + 'udtmembervec_t_push_back__SWIG_0', + 'udtmembervec_t_push_back__SWIG_1', + 'udtmembervec_t_qclear', + 'udtmembervec_t_reserve', + 'udtmembervec_t_resize', + 'udtmembervec_t_resize__SWIG_0', + 'udtmembervec_t_resize__SWIG_1', + 'udtmembervec_t_size', + 'udtmembervec_t_swap', + 'udtmembervec_t_truncate', + 'ui_load_new_file', + 'ui_run_debugger', + 'ui_stroff_applicator_t_apply', + 'ui_stroff_op_t___eq__', + 'ui_stroff_op_t___ne__', + 'ui_stroff_op_t_offset_get', + 'ui_stroff_op_t_offset_set', + 'ui_stroff_op_t_text_get', + 'ui_stroff_op_t_text_set', + 'ui_stroff_ops_t___eq__', + 'ui_stroff_ops_t___getitem__', + 'ui_stroff_ops_t___len__', + 'ui_stroff_ops_t___ne__', + 'ui_stroff_ops_t___setitem__', + 'ui_stroff_ops_t__del', + 'ui_stroff_ops_t_add_unique', + 'ui_stroff_ops_t_at', + 'ui_stroff_ops_t_begin', + 'ui_stroff_ops_t_begin__SWIG_0', + 'ui_stroff_ops_t_begin__SWIG_1', + 'ui_stroff_ops_t_capacity', + 'ui_stroff_ops_t_clear', + 'ui_stroff_ops_t_empty', + 'ui_stroff_ops_t_end', + 'ui_stroff_ops_t_end__SWIG_0', + 'ui_stroff_ops_t_end__SWIG_1', + 'ui_stroff_ops_t_erase', + 'ui_stroff_ops_t_erase__SWIG_0', + 'ui_stroff_ops_t_erase__SWIG_1', + 'ui_stroff_ops_t_extract', + 'ui_stroff_ops_t_find', + 'ui_stroff_ops_t_find__SWIG_0', + 'ui_stroff_ops_t_find__SWIG_1', + 'ui_stroff_ops_t_grow', + 'ui_stroff_ops_t_has', + 'ui_stroff_ops_t_inject', + 'ui_stroff_ops_t_insert', + 'ui_stroff_ops_t_pop_back', + 'ui_stroff_ops_t_push_back', + 'ui_stroff_ops_t_push_back__SWIG_0', + 'ui_stroff_ops_t_push_back__SWIG_1', + 'ui_stroff_ops_t_qclear', + 'ui_stroff_ops_t_reserve', + 'ui_stroff_ops_t_resize', + 'ui_stroff_ops_t_resize__SWIG_0', + 'ui_stroff_ops_t_resize__SWIG_1', + 'ui_stroff_ops_t_size', + 'ui_stroff_ops_t_swap', + 'ui_stroff_ops_t_truncate', + 'uintvec_t___eq__', + 'uintvec_t___getitem__', + 'uintvec_t___len__', + 'uintvec_t___ne__', + 'uintvec_t___setitem__', + 'uintvec_t__del', + 'uintvec_t_add_unique', + 'uintvec_t_at', + 'uintvec_t_begin', + 'uintvec_t_begin__SWIG_0', + 'uintvec_t_begin__SWIG_1', + 'uintvec_t_capacity', + 'uintvec_t_clear', + 'uintvec_t_empty', + 'uintvec_t_end', + 'uintvec_t_end__SWIG_0', + 'uintvec_t_end__SWIG_1', + 'uintvec_t_erase', + 'uintvec_t_erase__SWIG_0', + 'uintvec_t_erase__SWIG_1', + 'uintvec_t_extract', + 'uintvec_t_find', + 'uintvec_t_find__SWIG_0', + 'uintvec_t_find__SWIG_1', + 'uintvec_t_has', + 'uintvec_t_inject', + 'uintvec_t_insert', + 'uintvec_t_pop_back', + 'uintvec_t_push_back', + 'uintvec_t_push_back__SWIG_0', + 'uintvec_t_push_back__SWIG_1', + 'uintvec_t_qclear', + 'uintvec_t_reserve', + 'uintvec_t_resize', + 'uintvec_t_resize__SWIG_0', + 'uintvec_t_resize__SWIG_1', + 'uintvec_t_size', + 'uintvec_t_swap', + 'uintvec_t_truncate', + 'ulonglongvec_t___eq__', + 'ulonglongvec_t___getitem__', + 'ulonglongvec_t___len__', + 'ulonglongvec_t___ne__', + 'ulonglongvec_t___setitem__', + 'ulonglongvec_t__del', + 'ulonglongvec_t_add_unique', + 'ulonglongvec_t_at', + 'ulonglongvec_t_begin', + 'ulonglongvec_t_begin__SWIG_0', + 'ulonglongvec_t_begin__SWIG_1', + 'ulonglongvec_t_capacity', + 'ulonglongvec_t_clear', + 'ulonglongvec_t_empty', + 'ulonglongvec_t_end', + 'ulonglongvec_t_end__SWIG_0', + 'ulonglongvec_t_end__SWIG_1', + 'ulonglongvec_t_erase', + 'ulonglongvec_t_erase__SWIG_0', + 'ulonglongvec_t_erase__SWIG_1', + 'ulonglongvec_t_extract', + 'ulonglongvec_t_find', + 'ulonglongvec_t_find__SWIG_0', + 'ulonglongvec_t_find__SWIG_1', + 'ulonglongvec_t_has', + 'ulonglongvec_t_inject', + 'ulonglongvec_t_insert', + 'ulonglongvec_t_pop_back', + 'ulonglongvec_t_push_back', + 'ulonglongvec_t_push_back__SWIG_0', + 'ulonglongvec_t_push_back__SWIG_1', + 'ulonglongvec_t_qclear', + 'ulonglongvec_t_reserve', + 'ulonglongvec_t_resize', + 'ulonglongvec_t_resize__SWIG_0', + 'ulonglongvec_t_resize__SWIG_1', + 'ulonglongvec_t_size', + 'ulonglongvec_t_swap', + 'ulonglongvec_t_truncate', + 'unhide_border', + 'unhide_item', + 'unmark_selection', + 'unpack_idcobj_from_bv', + 'unpack_idcobj_from_idb', + 'unpack_object_from_bv', + 'unpack_object_from_idb', + 'unregister_action', + 'unregister_custom_data_format', + 'unregister_custom_data_type', + 'unregister_timer', + 'update_action_checkable', + 'update_action_checked', + 'update_action_icon', + 'update_action_label', + 'update_action_shortcut', + 'update_action_state', + 'update_action_tooltip', + 'update_action_visibility', + 'update_bpt', + 'update_extra_cmt', + 'update_fpd', + 'update_func', + 'update_hidden_range', + 'update_segm', + 'use_mapping', + 'user_cancelled', + 'user_cmts_begin', + 'user_cmts_clear', + 'user_cmts_end', + 'user_cmts_erase', + 'user_cmts_find', + 'user_cmts_first', + 'user_cmts_free', + 'user_cmts_insert', + 'user_cmts_iterator_t___eq__', + 'user_cmts_iterator_t___ne__', + 'user_cmts_iterator_t_x_get', + 'user_cmts_iterator_t_x_set', + 'user_cmts_new', + 'user_cmts_next', + 'user_cmts_prev', + 'user_cmts_second', + 'user_cmts_size', + 'user_cmts_t_at', + 'user_cmts_t_size', + 'user_graph_place_t_node_get', + 'user_graph_place_t_node_set', + 'user_identification_t_email_get', + 'user_identification_t_email_set', + 'user_identification_t_license_id_get', + 'user_identification_t_license_id_set', + 'user_identification_t_user_name_get', + 'user_identification_t_user_name_set', + 'user_iflags_begin', + 'user_iflags_clear', + 'user_iflags_end', + 'user_iflags_erase', + 'user_iflags_find', + 'user_iflags_first', + 'user_iflags_free', + 'user_iflags_insert', + 'user_iflags_iterator_t___eq__', + 'user_iflags_iterator_t___ne__', + 'user_iflags_iterator_t_x_get', + 'user_iflags_iterator_t_x_set', + 'user_iflags_new', + 'user_iflags_next', + 'user_iflags_prev', + 'user_iflags_second', + 'user_iflags_size', + 'user_iflags_t_at', + 'user_iflags_t_size', + 'user_labels_begin', + 'user_labels_clear', + 'user_labels_end', + 'user_labels_erase', + 'user_labels_find', + 'user_labels_first', + 'user_labels_free', + 'user_labels_insert', + 'user_labels_iterator_t___eq__', + 'user_labels_iterator_t___ne__', + 'user_labels_iterator_t_x_get', + 'user_labels_iterator_t_x_set', + 'user_labels_new', + 'user_labels_next', + 'user_labels_prev', + 'user_labels_second', + 'user_labels_size', + 'user_labels_t_at', + 'user_labels_t_size', + 'user_lvar_modifier_t_modify_lvars', + 'user_numforms_begin', + 'user_numforms_clear', + 'user_numforms_end', + 'user_numforms_erase', + 'user_numforms_find', + 'user_numforms_first', + 'user_numforms_free', + 'user_numforms_insert', + 'user_numforms_iterator_t___eq__', + 'user_numforms_iterator_t___ne__', + 'user_numforms_iterator_t_x_get', + 'user_numforms_iterator_t_x_set', + 'user_numforms_new', + 'user_numforms_next', + 'user_numforms_prev', + 'user_numforms_second', + 'user_numforms_size', + 'user_numforms_t_at', + 'user_numforms_t_size', + 'user_stkpnt_t_delta_get', + 'user_stkpnt_t_delta_set', + 'user_stkpnts_t___getitem__', + 'user_stkpnts_t___len__', + 'user_stkpnts_t___setitem__', + 'user_stkpnts_t_at', + 'user_stkpnts_t_begin', + 'user_stkpnts_t_begin__SWIG_0', + 'user_stkpnts_t_begin__SWIG_1', + 'user_stkpnts_t_capacity', + 'user_stkpnts_t_clear', + 'user_stkpnts_t_empty', + 'user_stkpnts_t_end', + 'user_stkpnts_t_end__SWIG_0', + 'user_stkpnts_t_end__SWIG_1', + 'user_stkpnts_t_erase', + 'user_stkpnts_t_erase__SWIG_0', + 'user_stkpnts_t_erase__SWIG_1', + 'user_stkpnts_t_extract', + 'user_stkpnts_t_grow', + 'user_stkpnts_t_inject', + 'user_stkpnts_t_insert', + 'user_stkpnts_t_pop_back', + 'user_stkpnts_t_push_back', + 'user_stkpnts_t_push_back__SWIG_0', + 'user_stkpnts_t_push_back__SWIG_1', + 'user_stkpnts_t_qclear', + 'user_stkpnts_t_reserve', + 'user_stkpnts_t_resize', + 'user_stkpnts_t_resize__SWIG_0', + 'user_stkpnts_t_resize__SWIG_1', + 'user_stkpnts_t_size', + 'user_stkpnts_t_swap', + 'user_stkpnts_t_truncate', + 'user_unions_begin', + 'user_unions_clear', + 'user_unions_end', + 'user_unions_erase', + 'user_unions_find', + 'user_unions_first', + 'user_unions_free', + 'user_unions_insert', + 'user_unions_iterator_t___eq__', + 'user_unions_iterator_t___ne__', + 'user_unions_iterator_t_x_get', + 'user_unions_iterator_t_x_set', + 'user_unions_new', + 'user_unions_next', + 'user_unions_prev', + 'user_unions_second', + 'user_unions_size', + 'user_unions_t_at', + 'user_unions_t_size', + 'uses_modsp', + 'uval_array___getitem__', + 'uval_array___setitem__', + 'uval_array_cast', + 'uval_array_frompointer', + 'uval_ivl_ivlset_t___eq__', + 'uval_ivl_ivlset_t___ne__', + 'uval_ivl_ivlset_t_all_values', + 'uval_ivl_ivlset_t_begin', + 'uval_ivl_ivlset_t_begin__SWIG_0', + 'uval_ivl_ivlset_t_begin__SWIG_1', + 'uval_ivl_ivlset_t_clear', + 'uval_ivl_ivlset_t_empty', + 'uval_ivl_ivlset_t_end', + 'uval_ivl_ivlset_t_end__SWIG_0', + 'uval_ivl_ivlset_t_end__SWIG_1', + 'uval_ivl_ivlset_t_getivl', + 'uval_ivl_ivlset_t_lastivl', + 'uval_ivl_ivlset_t_nivls', + 'uval_ivl_ivlset_t_qclear', + 'uval_ivl_ivlset_t_set_all_values', + 'uval_ivl_ivlset_t_single_value', + 'uval_ivl_ivlset_t_swap', + 'uval_ivl_t_end', + 'uval_ivl_t_last', + 'uval_ivl_t_off_get', + 'uval_ivl_t_off_set', + 'uval_ivl_t_size_get', + 'uval_ivl_t_size_set', + 'uval_ivl_t_valid', + 'validate_idb_names', + 'validate_name', + 'valrng_t___eq__', + 'valrng_t___ge__', + 'valrng_t___gt__', + 'valrng_t___le__', + 'valrng_t___lt__', + 'valrng_t___ne__', + 'valrng_t__deregister', + 'valrng_t__print', + 'valrng_t__register', + 'valrng_t_all_values', + 'valrng_t_compare', + 'valrng_t_cvt_to_cmp', + 'valrng_t_cvt_to_single_value', + 'valrng_t_dstr', + 'valrng_t_empty', + 'valrng_t_get_size', + 'valrng_t_has', + 'valrng_t_intersect_with', + 'valrng_t_inverse', + 'valrng_t_is_unknown', + 'valrng_t_max_svalue', + 'valrng_t_max_svalue__SWIG_0', + 'valrng_t_max_svalue__SWIG_1', + 'valrng_t_max_value', + 'valrng_t_max_value__SWIG_0', + 'valrng_t_max_value__SWIG_1', + 'valrng_t_min_svalue', + 'valrng_t_min_svalue__SWIG_0', + 'valrng_t_min_svalue__SWIG_1', + 'valrng_t_reduce_size', + 'valrng_t_set_all', + 'valrng_t_set_cmp', + 'valrng_t_set_eq', + 'valrng_t_set_none', + 'valrng_t_set_unk', + 'valrng_t_swap', + 'valrng_t_unite_with', + 'valstr_t_info_get', + 'valstr_t_info_set', + 'valstr_t_length_get', + 'valstr_t_length_set', + 'valstr_t_members_get', + 'valstr_t_members_set', + 'valstr_t_oneline_get', + 'valstr_t_oneline_set', + 'valstr_t_props_get', + 'valstr_t_props_set', + 'valstrvec_t___getitem__', + 'valstrvec_t___len__', + 'valstrvec_t___setitem__', + 'valstrvec_t_at', + 'valstrvec_t_begin', + 'valstrvec_t_begin__SWIG_0', + 'valstrvec_t_begin__SWIG_1', + 'valstrvec_t_capacity', + 'valstrvec_t_clear', + 'valstrvec_t_empty', + 'valstrvec_t_end', + 'valstrvec_t_end__SWIG_0', + 'valstrvec_t_end__SWIG_1', + 'valstrvec_t_erase', + 'valstrvec_t_erase__SWIG_0', + 'valstrvec_t_erase__SWIG_1', + 'valstrvec_t_extract', + 'valstrvec_t_grow', + 'valstrvec_t_inject', + 'valstrvec_t_insert', + 'valstrvec_t_pop_back', + 'valstrvec_t_push_back', + 'valstrvec_t_push_back__SWIG_0', + 'valstrvec_t_push_back__SWIG_1', + 'valstrvec_t_qclear', + 'valstrvec_t_reserve', + 'valstrvec_t_resize', + 'valstrvec_t_resize__SWIG_0', + 'valstrvec_t_resize__SWIG_1', + 'valstrvec_t_size', + 'valstrvec_t_swap', + 'valstrvec_t_truncate', + 'var_ref_t___eq__', + 'var_ref_t___ge__', + 'var_ref_t___gt__', + 'var_ref_t___le__', + 'var_ref_t___lt__', + 'var_ref_t___ne__', + 'var_ref_t_compare', + 'var_ref_t_idx_get', + 'var_ref_t_idx_set', + 'var_ref_t_mba_get', + 'var_ref_t_mba_set', + 'vc_printer_t_func_get', + 'vc_printer_t_func_set', + 'vc_printer_t_lastchar_get', + 'vc_printer_t_lastchar_set', + 'vc_printer_t_oneliner', + 'vd_failure_t_desc', + 'vd_failure_t_hf_get', + 'vd_failure_t_hf_set', + 'vd_printer_t__print', + 'vd_printer_t__print__varargs__', + 'vd_printer_t_hdrlines_get', + 'vd_printer_t_hdrlines_set', + 'vd_printer_t_tmpbuf_get', + 'vd_printer_t_tmpbuf_set', + 'vdloc_t___eq__', + 'vdloc_t___ge__', + 'vdloc_t___gt__', + 'vdloc_t___le__', + 'vdloc_t___lt__', + 'vdloc_t___ne__', + 'vdloc_t__set_reg1', + 'vdloc_t_compare', + 'vdloc_t_is_aliasable', + 'vdloc_t_reg1', + 'vdloc_t_set_reg1', + 'vdui_t_calc_cmt_type', + 'vdui_t_cfunc_get', + 'vdui_t_cfunc_set', + 'vdui_t_clear', + 'vdui_t_collapse_item', + 'vdui_t_collapse_lvars', + 'vdui_t_cpos_get', + 'vdui_t_cpos_set', + 'vdui_t_ct_get', + 'vdui_t_ct_set', + 'vdui_t_ctree_to_disasm', + 'vdui_t_del_orphan_cmts', + 'vdui_t_edit_cmt', + 'vdui_t_edit_func_cmt', + 'vdui_t_flags_get', + 'vdui_t_flags_set', + 'vdui_t_get_current_item', + 'vdui_t_get_current_label', + 'vdui_t_get_number', + 'vdui_t_head_get', + 'vdui_t_head_set', + 'vdui_t_in_ctree', + 'vdui_t_invert_bits', + 'vdui_t_invert_sign', + 'vdui_t_item_get', + 'vdui_t_item_set', + 'vdui_t_jump_enter', + 'vdui_t_last_code_get', + 'vdui_t_last_code_set', + 'vdui_t_locked', + 'vdui_t_map_lvar', + 'vdui_t_mba_get', + 'vdui_t_mba_set', + 'vdui_t_refresh_cpos', + 'vdui_t_refresh_ctext', + 'vdui_t_refresh_view', + 'vdui_t_rename_global', + 'vdui_t_rename_label', + 'vdui_t_rename_lvar', + 'vdui_t_rename_strmem', + 'vdui_t_set_global_type', + 'vdui_t_set_locked', + 'vdui_t_set_lvar_cmt', + 'vdui_t_set_lvar_type', + 'vdui_t_set_noptr_lvar', + 'vdui_t_set_num_enum', + 'vdui_t_set_num_radix', + 'vdui_t_set_num_stroff', + 'vdui_t_set_strmem_type', + 'vdui_t_set_valid', + 'vdui_t_set_visible', + 'vdui_t_split_item', + 'vdui_t_switch_to', + 'vdui_t_tail_get', + 'vdui_t_tail_set', + 'vdui_t_toplevel_get', + 'vdui_t_toplevel_set', + 'vdui_t_ui_edit_lvar_cmt', + 'vdui_t_ui_map_lvar', + 'vdui_t_ui_rename_lvar', + 'vdui_t_ui_set_call_type', + 'vdui_t_ui_set_lvar_type', + 'vdui_t_ui_unmap_lvar', + 'vdui_t_valid', + 'vdui_t_view_idx_get', + 'vdui_t_view_idx_set', + 'vdui_t_visible', + 'verify_argloc', + 'verify_tinfo', + 'view_mouse_event_location_t_ea_get', + 'view_mouse_event_location_t_ea_set', + 'view_mouse_event_location_t_item_get', + 'view_mouse_event_location_t_item_set', + 'view_mouse_event_t_button_get', + 'view_mouse_event_t_button_set', + 'view_mouse_event_t_location_get', + 'view_mouse_event_t_location_set', + 'view_mouse_event_t_renderer_pos_get', + 'view_mouse_event_t_renderer_pos_set', + 'view_mouse_event_t_rtype_get', + 'view_mouse_event_t_rtype_set', + 'view_mouse_event_t_state_get', + 'view_mouse_event_t_state_set', + 'view_mouse_event_t_x_get', + 'view_mouse_event_t_x_set', + 'view_mouse_event_t_y_get', + 'view_mouse_event_t_y_set', + 'viewer_attach_menu_item', + 'viewer_center_on', + 'viewer_create_groups', + 'viewer_del_node_info', + 'viewer_delete_groups', + 'viewer_fit_window', + 'viewer_get_curnode', + 'viewer_get_gli', + 'viewer_get_node_info', + 'viewer_get_selection', + 'viewer_set_gli', + 'viewer_set_groups_visibility', + 'viewer_set_node_info', + 'viewer_set_titlebar_height', + 'visit_patched_bytes', + 'visit_stroff_fields', + 'visit_subtypes', + 'vivl_t___eq__', + 'vivl_t___eq____SWIG_0', + 'vivl_t___eq____SWIG_1', + 'vivl_t___ge__', + 'vivl_t___gt__', + 'vivl_t___le__', + 'vivl_t___lt__', + 'vivl_t___ne__', + 'vivl_t__print', + 'vivl_t_compare', + 'vivl_t_contains', + 'vivl_t_dstr', + 'vivl_t_extend_to_cover', + 'vivl_t_includes', + 'vivl_t_intersect', + 'vivl_t_overlap', + 'vivl_t_set', + 'vivl_t_set__SWIG_0', + 'vivl_t_set__SWIG_1', + 'vivl_t_set_reg', + 'vivl_t_set_stkoff', + 'vivl_t_size_get', + 'vivl_t_size_set', + 'voff_t___eq__', + 'voff_t___ge__', + 'voff_t___gt__', + 'voff_t___le__', + 'voff_t___lt__', + 'voff_t___ne__', + 'voff_t_add', + 'voff_t_compare', + 'voff_t_defined', + 'voff_t_diff', + 'voff_t_get_reg', + 'voff_t_get_stkoff', + 'voff_t_inc', + 'voff_t_is_reg', + 'voff_t_is_stkoff', + 'voff_t_off_get', + 'voff_t_off_set', + 'voff_t_set', + 'voff_t_set_reg', + 'voff_t_set_stkoff', + 'voff_t_type_get', + 'voff_t_type_set', + 'voff_t_undef', + 'wait_for_next_event', + 'warning', + 'warning__varargs__', + 'was_ida_decision', + 'word_flag', + 'write_dbg_memory', + 'write_tinfo_bitfield_value', + 'writebytes', + 'xrefblk_t_first_from', + 'xrefblk_t_first_to', + 'xrefblk_t_frm_get', + 'xrefblk_t_frm_set', + 'xrefblk_t_iscode_get', + 'xrefblk_t_iscode_set', + 'xrefblk_t_next_from', + 'xrefblk_t_next_from__SWIG_0', + 'xrefblk_t_next_from__SWIG_1', + 'xrefblk_t_next_to', + 'xrefblk_t_next_to__SWIG_0', + 'xrefblk_t_next_to__SWIG_1', + 'xrefblk_t_to_get', + 'xrefblk_t_to_set', + 'xrefblk_t_type_get', + 'xrefblk_t_type_set', + 'xrefblk_t_user_get', + 'xrefblk_t_user_set', + 'xrefchar', + 'xreflist_entry_t___eq__', + 'xreflist_entry_t___ne__', + 'xreflist_entry_t_ea_get', + 'xreflist_entry_t_ea_set', + 'xreflist_entry_t_opnum_get', + 'xreflist_entry_t_opnum_set', + 'xreflist_entry_t_type_get', + 'xreflist_entry_t_type_set', + 'xreflist_t___eq__', + 'xreflist_t___getitem__', + 'xreflist_t___len__', + 'xreflist_t___ne__', + 'xreflist_t___setitem__', + 'xreflist_t__del', + 'xreflist_t_add_unique', + 'xreflist_t_at', + 'xreflist_t_begin', + 'xreflist_t_begin__SWIG_0', + 'xreflist_t_begin__SWIG_1', + 'xreflist_t_capacity', + 'xreflist_t_clear', + 'xreflist_t_empty', + 'xreflist_t_end', + 'xreflist_t_end__SWIG_0', + 'xreflist_t_end__SWIG_1', + 'xreflist_t_erase', + 'xreflist_t_erase__SWIG_0', + 'xreflist_t_erase__SWIG_1', + 'xreflist_t_extract', + 'xreflist_t_find', + 'xreflist_t_find__SWIG_0', + 'xreflist_t_find__SWIG_1', + 'xreflist_t_grow', + 'xreflist_t_has', + 'xreflist_t_inject', + 'xreflist_t_insert', + 'xreflist_t_pop_back', + 'xreflist_t_push_back', + 'xreflist_t_push_back__SWIG_0', + 'xreflist_t_push_back__SWIG_1', + 'xreflist_t_qclear', + 'xreflist_t_reserve', + 'xreflist_t_resize', + 'xreflist_t_resize__SWIG_0', + 'xreflist_t_resize__SWIG_1', + 'xreflist_t_size', + 'xreflist_t_swap', + 'xreflist_t_truncate', + 'yword_flag', + 'zword_flag']} \ No newline at end of file diff --git a/build.py b/build.py index a93a7aa..706a21c 100644 --- a/build.py +++ b/build.py @@ -40,8 +40,6 @@ What follows, are example build commands parser.add_argument("--swig-home", type=str, help="Path to the SWIG installation", default=None) parser.add_argument("--with-hexrays", help="Build Hex-Rays decompiler bindings (requires the 'hexrays.hpp' header to be present in the SDK's include/ directory)", default=False, action="store_true") parser.add_argument("--debug", help="Build debug version of the plugin", default=False, action="store_true") -if "linux" in sys.platform: - parser.add_argument("--python-home", help="Python home, where the 'include' directory can be found", default=None) parser.add_argument("-j", "--parallel", action="store_true", help="Build in parallel", default=False) parser.add_argument("-v", "--verbose", help="Verbose mode", default=False, action="store_true") parser.add_argument("-I", "--idc", required=True, help="IDA's idc.idc file (necessary for generating 6.95 compat API layer)", type=str) @@ -76,15 +74,10 @@ def main(): env["__NT__"] = "1" # to enable PDB flags else: env["NDEBUG"] = "1" - try: - if args.python_home: - env["LINUX_PYTHON_HOME"] = args.python_home - except: - pass if args.verbose: argv.append("-d") env["IDC_BC695_IDC_SOURCE"] = args.idc - for ea64 in [False, True]: + for ea64 in [True, False]: if ea64: env["__EA64__"] = "1" else: diff --git a/examples/ex_actions.py b/examples/core/actions.py similarity index 53% rename from examples/ex_actions.py rename to examples/core/actions.py index 3a65f82..da922d6 100644 --- a/examples/ex_actions.py +++ b/examples/core/actions.py @@ -30,25 +30,25 @@ class SayHi(idaapi.action_handler_t): print("Creating a custom icon from raw data!") # Stunned panda face icon data. -icon_data = "".join([ - "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1F\xF3\xFF\x61\x00\x00\x02\xCA\x49\x44\x41\x54\x78\x5E\x65", - "\x53\x6D\x48\x53\x6F\x14\x3F\xBA\xB5\xB7\xA0\x8D\x20\x41\xF2\xBA\x5D\xB6\x0F\x56\xF4\x41\xA2\xC0\x9C\xE9\xB4\x29\x4A\x7D\xB0\x22\x7A\x11\x02\x23\x48\x2A\xD4\x74\x53\x33\x3F\xD4", - "\x3E\x4A\x50\x19\xE4\xB0\xD0\x22\xCD\x44\x45\x4A\x31\x8C\x92\xA2\x3E\x65\x0A\x4D\xCB\x96\x7E\xE8\xD5\x97\xCC\xFE\xFE\x37\xA7\x77\xDB\xBD\xA7\xE7\x3C\xBE\x05\x9E\xED\xB7\xB3\xF3", - "\x7B\x39\xF7\xEE\x19\x17\xA8\xAC\x56\xDB\x54\x82\x60\x41\xB3\x59\xBC\xFF\xAC\xF9\xCA\xB5\xAE\x86\xCA\xF9\x4E\xAF\x1B\x3B\xEA\x5D\x48\x9D\x66\xE2\x49\x27\x9F\xD5\x66\x9B\xA2\x1C", - "\x22\x02\xD0\x40\xE4\x81\x6C\x3B\x76\x37\x56\xE3\x37\x5F\x2F\x62\xE8\x0B\xD3\x66\x19\x7E\x53\xA7\x99\x78\xAE\x1F\x64\x3E\x21\x71\x69\x09\x5F\x20\x98\x2D\x58\x70\x24\x07\x07\x7B", - "\x6F\xB0\x79\x82\x61\x81\x21\xCC\xDE\x21\x54\x16\x02\xD4\x69\x26\x9E\x74\xEE\xCB\xCF\x4D\xC7\x44\xB3\x88\x7C\x81\xC5\x22\xFE\x6C\xB9\xE9\x46\x67\x46\x1A\x8A\x16\x2B\x0A\x5B\x05", - "\x74\x66\x65\xE1\x98\x6F\x00\x31\x32\x87\x9F\x59\x77\x66\x66\x61\x42\xBC\xC0\xF5\x6C\x47\x1A\x36\xD7\xB9\x51\x14\xC5\x1E\xBE\xA0\xC3\x5B\xD9\x98\x99\xE1\xC0\xCE\xBE\x57\x48\xD7", - "\x9A\x63\x68\xEA\x7C\x8A\xF6\x14\x3B\x9F\xF6\xA6\xA4\x60\xEB\xE3\x3E\x9C\x5F\xD6\x5A\x7A\xFA\x71\xBF\xC3\x81\x3D\x4D\x35\x0D\x7C\xC1\xF3\x87\x57\x43\xF9\x87\x8F\x21\x95\x5E\xAB", - "\x41\x83\x4E\x83\x54\xDB\x92\x76\x20\xCA\xBF\xD0\x99\x9D\xBB\x4E\xDB\xBD\xC7\x8E\x2F\x5A\x3D\x74\x3D\x50\x03\x80\x7E\x7A\x7A\x06\x46\x47\xFD\xA0\x33\x6C\x84\x18\x46\x0C\xBD\x1F", - "\x86\x2D\x71\x71\x00\x52\x10\x16\x17\xE6\xC1\xE7\x1B\x61\x9A\x81\x69\x31\x30\xFC\x61\x14\xB4\x3A\x3D\x20\x82\x1E\x58\xA9\x15\x05\x41\x14\x05\xB8\x58\xEE\x82\x7D\xE9\x99\x20\xCB", - "\x32\x94\x95\x95\xC3\xA5\xD2\x53\x00\x51\x09\xAA\x4B\x0B\xA1\xB8\xA4\x0C\x52\x53\x33\x40\xA5\x52\x81\xDB\x5D\x01\xA2\x45\x00\x45\x51\x80\x2A\x36\x12\x8D\x42\x49\x51\x01\x44\xE5", - "\x18\x90\x22\x0A\x98\x8C\x46\xF0\x54\x14\x42\x6D\x7D\x3B\xE4\x1C\x75\x41\xAD\xB7\x1D\x3C\x55\x85\x60\x32\x19\x41\x8A\x2A\xDC\x57\x5C\x74\x12\x28\x47\xA5\x8E\x44\xE4\xF0\x76\x5B", - "\x82\xA6\xCD\x5B\x0D\xB2\x12\xE6\xE4\x06\xB5\x1A\x66\xA7\x26\x41\x92\xC2\xA0\xD5\x6A\x60\x67\x92\x19\xAE\x7B\xCE\x70\x4D\x15\xAB\x01\xAD\xC1\x08\x3F\x46\x64\x6E\x8E\x9D\xF9\x13", - "\xE8\x1A\xFF\xE4\x63\x8A\x0E\xE6\x02\x41\xF8\x3F\x18\x82\x40\x28\x04\xFD\xDD\x75\xF0\xB6\xFF\x2E\x75\x9A\x89\x27\x9D\xFB\xC8\x4F\x39\xBE\xE0\xB4\xAB\xCE\x35\xFE\x71\x00\x16\x17", - "\x25\x76\x50\x26\x76\x6B\x61\x86\x08\xE4\x1D\xAF\x81\xBC\x13\x97\xA9\xD3\x4C\x3C\xE9\xDC\x47\x7E\xCA\xF1\x05\x0C\x5F\x7D\xFE\xEF\x35\x03\xAF\x9F\x00\xB0\x73\x30\x9A\xE2\x81\x0E", - "\xF6\xC1\xED\x52\xB8\x77\xAB\x98\x3A\xCD\xC4\x73\x9D\x7C\x6F\xDE\xF9\xCF\x53\x0E\xFE\xA9\xCD\xAE\xB3\x87\xCE\x75\x35\x54\xE1\xD0\xCB\x47\x38\x39\x36\x88\xFF\x4D\xF8\x57\x41\x33", - "\xF1\xA4\x93\x0F\x00\x36\xAD\x3E\x4C\x6B\xC5\xC9\x5D\x77\x6A\x2F\xB4\x31\xA3\xC4\x40\x4F\x21\x0F\xD1\x4C\x3C\xE9\x2B\xE1\xF5\x0B\xD6\x90\xC8\x90\x4C\xE6\x35\xD0\xCC\x79\x5E\xFF", - "\x2E\xF8\x0B\x2F\x3D\xE5\xC3\x97\x06\xCF\xCF\x00\x00\x00\x00\x49\x45\x4E\x44\xAE\x42\x60\x82"]) +icon_data = b"".join([ + b"\x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1F\xF3\xFF\x61\x00\x00\x02\xCA\x49\x44\x41\x54\x78\x5E\x65", + b"\x53\x6D\x48\x53\x6F\x14\x3F\xBA\xB5\xB7\xA0\x8D\x20\x41\xF2\xBA\x5D\xB6\x0F\x56\xF4\x41\xA2\xC0\x9C\xE9\xB4\x29\x4A\x7D\xB0\x22\x7A\x11\x02\x23\x48\x2A\xD4\x74\x53\x33\x3F\xD4", + b"\x3E\x4A\x50\x19\xE4\xB0\xD0\x22\xCD\x44\x45\x4A\x31\x8C\x92\xA2\x3E\x65\x0A\x4D\xCB\x96\x7E\xE8\xD5\x97\xCC\xFE\xFE\x37\xA7\x77\xDB\xBD\xA7\xE7\x3C\xBE\x05\x9E\xED\xB7\xB3\xF3", + b"\x7B\x39\xF7\xEE\x19\x17\xA8\xAC\x56\xDB\x54\x82\x60\x41\xB3\x59\xBC\xFF\xAC\xF9\xCA\xB5\xAE\x86\xCA\xF9\x4E\xAF\x1B\x3B\xEA\x5D\x48\x9D\x66\xE2\x49\x27\x9F\xD5\x66\x9B\xA2\x1C", + b"\x22\x02\xD0\x40\xE4\x81\x6C\x3B\x76\x37\x56\xE3\x37\x5F\x2F\x62\xE8\x0B\xD3\x66\x19\x7E\x53\xA7\x99\x78\xAE\x1F\x64\x3E\x21\x71\x69\x09\x5F\x20\x98\x2D\x58\x70\x24\x07\x07\x7B", + b"\x6F\xB0\x79\x82\x61\x81\x21\xCC\xDE\x21\x54\x16\x02\xD4\x69\x26\x9E\x74\xEE\xCB\xCF\x4D\xC7\x44\xB3\x88\x7C\x81\xC5\x22\xFE\x6C\xB9\xE9\x46\x67\x46\x1A\x8A\x16\x2B\x0A\x5B\x05", + b"\x74\x66\x65\xE1\x98\x6F\x00\x31\x32\x87\x9F\x59\x77\x66\x66\x61\x42\xBC\xC0\xF5\x6C\x47\x1A\x36\xD7\xB9\x51\x14\xC5\x1E\xBE\xA0\xC3\x5B\xD9\x98\x99\xE1\xC0\xCE\xBE\x57\x48\xD7", + b"\x9A\x63\x68\xEA\x7C\x8A\xF6\x14\x3B\x9F\xF6\xA6\xA4\x60\xEB\xE3\x3E\x9C\x5F\xD6\x5A\x7A\xFA\x71\xBF\xC3\x81\x3D\x4D\x35\x0D\x7C\xC1\xF3\x87\x57\x43\xF9\x87\x8F\x21\x95\x5E\xAB", + b"\x41\x83\x4E\x83\x54\xDB\x92\x76\x20\xCA\xBF\xD0\x99\x9D\xBB\x4E\xDB\xBD\xC7\x8E\x2F\x5A\x3D\x74\x3D\x50\x03\x80\x7E\x7A\x7A\x06\x46\x47\xFD\xA0\x33\x6C\x84\x18\x46\x0C\xBD\x1F", + b"\x86\x2D\x71\x71\x00\x52\x10\x16\x17\xE6\xC1\xE7\x1B\x61\x9A\x81\x69\x31\x30\xFC\x61\x14\xB4\x3A\x3D\x20\x82\x1E\x58\xA9\x15\x05\x41\x14\x05\xB8\x58\xEE\x82\x7D\xE9\x99\x20\xCB", + b"\x32\x94\x95\x95\xC3\xA5\xD2\x53\x00\x51\x09\xAA\x4B\x0B\xA1\xB8\xA4\x0C\x52\x53\x33\x40\xA5\x52\x81\xDB\x5D\x01\xA2\x45\x00\x45\x51\x80\x2A\x36\x12\x8D\x42\x49\x51\x01\x44\xE5", + b"\x18\x90\x22\x0A\x98\x8C\x46\xF0\x54\x14\x42\x6D\x7D\x3B\xE4\x1C\x75\x41\xAD\xB7\x1D\x3C\x55\x85\x60\x32\x19\x41\x8A\x2A\xDC\x57\x5C\x74\x12\x28\x47\xA5\x8E\x44\xE4\xF0\x76\x5B", + b"\x82\xA6\xCD\x5B\x0D\xB2\x12\xE6\xE4\x06\xB5\x1A\x66\xA7\x26\x41\x92\xC2\xA0\xD5\x6A\x60\x67\x92\x19\xAE\x7B\xCE\x70\x4D\x15\xAB\x01\xAD\xC1\x08\x3F\x46\x64\x6E\x8E\x9D\xF9\x13", + b"\xE8\x1A\xFF\xE4\x63\x8A\x0E\xE6\x02\x41\xF8\x3F\x18\x82\x40\x28\x04\xFD\xDD\x75\xF0\xB6\xFF\x2E\x75\x9A\x89\x27\x9D\xFB\xC8\x4F\x39\xBE\xE0\xB4\xAB\xCE\x35\xFE\x71\x00\x16\x17", + b"\x25\x76\x50\x26\x76\x6B\x61\x86\x08\xE4\x1D\xAF\x81\xBC\x13\x97\xA9\xD3\x4C\x3C\xE9\xDC\x47\x7E\xCA\xF1\x05\x0C\x5F\x7D\xFE\xEF\x35\x03\xAF\x9F\x00\xB0\x73\x30\x9A\xE2\x81\x0E", + b"\xF6\xC1\xED\x52\xB8\x77\xAB\x98\x3A\xCD\xC4\x73\x9D\x7C\x6F\xDE\xF9\xCF\x53\x0E\xFE\xA9\xCD\xAE\xB3\x87\xCE\x75\x35\x54\xE1\xD0\xCB\x47\x38\x39\x36\x88\xFF\x4D\xF8\x57\x41\x33", + b"\xF1\xA4\x93\x0F\x00\x36\xAD\x3E\x4C\x6B\xC5\xC9\x5D\x77\x6A\x2F\xB4\x31\xA3\xC4\x40\x4F\x21\x0F\xD1\x4C\x3C\xE9\x2B\xE1\xF5\x0B\xD6\x90\xC8\x90\x4C\xE6\x35\xD0\xCC\x79\x5E\xFF", + b"\x2E\xF8\x0B\x2F\x3D\xE5\xC3\x97\x06\xCF\xCF\x00\x00\x00\x00\x49\x45\x4E\x44\xAE\x42\x60\x82"]) act_icon = idaapi.load_custom_icon(data=icon_data, format="png") hooks = None diff --git a/examples/ex_hotkey.py b/examples/core/add_hotkey.py similarity index 100% rename from examples/ex_hotkey.py rename to examples/core/add_hotkey.py diff --git a/examples/hotkey.py b/examples/core/add_hotkey2.py similarity index 100% rename from examples/hotkey.py rename to examples/core/add_hotkey2.py diff --git a/examples/ex_auto_instantiate_widget_plugin.py b/examples/core/auto_instantiate_widget_plugin.py similarity index 100% rename from examples/ex_auto_instantiate_widget_plugin.py rename to examples/core/auto_instantiate_widget_plugin.py diff --git a/examples/colours.py b/examples/core/colorize_region.py similarity index 100% rename from examples/colours.py rename to examples/core/colorize_region.py diff --git a/examples/structure.py b/examples/core/create_structure_programmatically.py similarity index 95% rename from examples/structure.py rename to examples/core/create_structure_programmatically.py index 0714c75..13f6e92 100644 --- a/examples/structure.py +++ b/examples/core/create_structure_programmatically.py @@ -29,7 +29,7 @@ print("ASCII:", add_struc_member(sid, "tascii", -1, FF_STRLIT|FF_DATA, STRTYPE_C # Test enum type - Add a defined enum name or load MACRO_WMI from a type library. #eid = get_enum("MACRO_WMI") -#print "Enum:", add_struc_member(sid, "tenum", BADADDR, FF_0ENUM|FF_DATA|FF_DWORD, eid, 4) +#print("Enum:", add_struc_member(sid, "tenum", BADADDR, FF_0ENUM|FF_DATA|FF_DWORD, eid, 4)) # Test struc member type msid = get_struc_id("mystr2") diff --git a/examples/ex_cli.py b/examples/core/custom_cli.py similarity index 100% rename from examples/ex_cli.py rename to examples/core/custom_cli.py diff --git a/examples/ex_custdata.py b/examples/core/custom_data_types_and_formats.py similarity index 96% rename from examples/ex_custdata.py rename to examples/core/custom_data_types_and_formats.py index 572ca8a..3a9b898 100644 --- a/examples/ex_custdata.py +++ b/examples/core/custom_data_types_and_formats.py @@ -4,6 +4,8 @@ from __future__ import print_function # (c) Hex-Rays # from idaapi import data_type_t, data_format_t, NW_OPENIDB, NW_CLOSEIDB, NW_TERMIDA, NW_REMOVE, COLSTR + +import sys import struct import ctypes import platform @@ -43,12 +45,12 @@ class pascal_data_format(data_format_t): def printf(self, value, current_ea, operand_num, dtid): # Take the length byte - n = ord(value[0]) + n = ord(value[0]) if sys.version_info.major < 3 else value[0] o = ['"'] for ch in value[1:]: - b = ord(ch) + b = ord(ch) if sys.version_info.major < 3 else ch if b < 0x20 or b > 128: - o.append(r'\x%02x' % ord(ch)) + o.append(r'\x%02x' % b) else: o.append(ch) o.append('"') @@ -98,7 +100,7 @@ class simplevm_data_format(data_format_t): REGS = {1: 'r1', 2: 'r2', 3: 'r3'} def disasm(self, inst): """A simple local disassembler. In reality one can use a full-blown disassembler to render the text""" - opbyte = ord(inst[0]) + opbyte = ord(inst[0]) if sys.version_info.major < 3 else inst[0] op = opbyte >> 4 if not (1<=op<=5): return None diff --git a/examples/ex_gdl_qflow_chart.py b/examples/core/dump_flowchart.py similarity index 91% rename from examples/ex_gdl_qflow_chart.py rename to examples/core/dump_flowchart.py index f90a90e..04ecd19 100644 --- a/examples/ex_gdl_qflow_chart.py +++ b/examples/core/dump_flowchart.py @@ -9,16 +9,16 @@ def raw_main(p=True): return q = idaapi.qflow_chart_t("The title", f, 0, 0, idaapi.FC_PREDS) - for n in xrange(0, q.size()): + for n in range(0, q.size()): b = q[n] if p: print("%x - %x [%d]:" % (b.start_ea, b.end_ea, n)) - for ns in xrange(0, q.nsucc(n)): + for ns in range(0, q.nsucc(n)): if p: print("SUCC: %d->%d" % (n, q.succ(n, ns))) - for ns in xrange(0, q.npred(n)): + for ns in range(0, q.npred(n)): if p: print("PRED: %d->%d" % (n, q.pred(n, ns))) diff --git a/examples/ex_expr.py b/examples/core/extend_idc.py similarity index 100% rename from examples/ex_expr.py rename to examples/core/extend_idc.py diff --git a/examples/idapythonrc.py b/examples/core/idapythonrc.py similarity index 100% rename from examples/idapythonrc.py rename to examples/core/idapythonrc.py diff --git a/examples/ex_prefix_plugin.py b/examples/core/install_user_defined_prefix.py similarity index 100% rename from examples/ex_prefix_plugin.py rename to examples/core/install_user_defined_prefix.py diff --git a/examples/ex_imports.py b/examples/core/list_imports.py similarity index 93% rename from examples/ex_imports.py rename to examples/core/list_imports.py index 88eea1f..73db7fd 100644 --- a/examples/ex_imports.py +++ b/examples/core/list_imports.py @@ -18,7 +18,7 @@ nimps = idaapi.get_import_module_qty() print("Found %d import(s)..." % nimps) -for i in xrange(0, nimps): +for i in range(0, nimps): name = idaapi.get_import_module_name(i) if not name: print("Failed to get import module name for #%d" % i) @@ -27,4 +27,4 @@ for i in xrange(0, nimps): print("Walking-> %s" % name) idaapi.enum_import_names(i, imp_cb) -print("All done...") \ No newline at end of file +print("All done...") diff --git a/examples/ex_patch.py b/examples/core/list_patched_bytes.py similarity index 100% rename from examples/ex_patch.py rename to examples/core/list_patched_bytes.py diff --git a/examples/ex1_idaapi.py b/examples/core/list_segment_functions.py similarity index 100% rename from examples/ex1_idaapi.py rename to examples/core/list_segment_functions.py diff --git a/examples/ex1_idautils.py b/examples/core/list_segment_functions_using_idautils.py similarity index 100% rename from examples/ex1_idautils.py rename to examples/core/list_segment_functions_using_idautils.py diff --git a/examples/ex_strings.py b/examples/core/list_strings.py similarity index 100% rename from examples/ex_strings.py rename to examples/core/list_strings.py diff --git a/examples/ex_timer.py b/examples/core/register_timer.py similarity index 100% rename from examples/ex_timer.py rename to examples/core/register_timer.py diff --git a/examples/ex_uirequests.py b/examples/core/trigger_actions_programmatically.py similarity index 100% rename from examples/ex_uirequests.py rename to examples/core/trigger_actions_programmatically.py diff --git a/examples/debughook.py b/examples/debugging/dbghooks/automatic_steps.py similarity index 100% rename from examples/debughook.py rename to examples/debugging/dbghooks/automatic_steps.py diff --git a/examples/ex_dbg.py b/examples/debugging/misc/tempo.py similarity index 91% rename from examples/ex_dbg.py rename to examples/debugging/misc/tempo.py index ba58d22..7413fc3 100644 --- a/examples/ex_dbg.py +++ b/examples/debugging/misc/tempo.py @@ -10,7 +10,7 @@ def test_getmeminfo(): out.append("%x: %x name=<%s> sclass=<%s> sbase=%x bitness=%2x perm=%2x" % (start_ea, end_ea, name, sclass, sbase, bitness, perm)) f = file(r"d:\temp\out.log", "w") - f.write("\n".join(out)) + f.write(("\n".join(out)).encode("UTF-8")) f.close() print("dumped meminfo!") @@ -27,7 +27,7 @@ def test_getregs(): out.append(" %s" % s) f = file(r"d:\temp\out.log", "w") - f.write("\n".join(out)) + f.write(("\n".join(out)).encode("UTF-8")) f.close() print("dumped regs!") diff --git a/examples/ex_debug_names.py b/examples/debugging/show_debug_names.py similarity index 100% rename from examples/ex_debug_names.py rename to examples/debugging/show_debug_names.py diff --git a/examples/ex1.idc b/examples/ex1.idc deleted file mode 100644 index cc5d7dc..0000000 --- a/examples/ex1.idc +++ /dev/null @@ -1,35 +0,0 @@ -// -// Reference Lister -// -// List all functions and all references to them in the current section. -// -// Implemented in IDC -// -#include - -static main() -{ - auto ea, func, ref; - - // Get current ea - ea = get_screen_ea(); - - // Loop from start to end in the current segment - for (func=get_segm_start(ea); - func != BADADDR && func < get_segm_end(ea); - func=get_next_func(func)) - { - // If the current address is function process it - if (get_func_flags(func) != -1) - { - msg("Function %s at 0x%x\n", get_func_name(func), func); - - // Find all code references to func - for (ref=get_first_cref_to(func); ref != BADADDR; ref=get_next_cref_to(func, ref)) - { - msg(" called from %s(0x%x)\n", get_func_name(ref), ref); - } - - } - } -} diff --git a/examples/ex_graph.py b/examples/ex_graph.py deleted file mode 100644 index f71df04..0000000 --- a/examples/ex_graph.py +++ /dev/null @@ -1,90 +0,0 @@ -from __future__ import print_function -# ----------------------------------------------------------------------- -# This is an example illustrating how to use the user graphing functionality -# in Python -# (c) Hex-Rays -# -from idaapi import * - -class GraphCloser(action_handler_t): - def __init__(self, graph): - action_handler_t.__init__(self) - self.graph = graph - - def activate(self, ctx): - self.graph.Close() - - def update(self, ctx): - return AST_ENABLE_ALWAYS - - -class ColorChanger(action_handler_t): - def __init__(self, graph): - action_handler_t.__init__(self) - self.graph = graph - - def activate(self, ctx): - self.graph.color = self.graph.color ^ 0xffffff - self.graph.Refresh() - return 1 - - def update(self, ctx): - return AST_ENABLE_ALWAYS - - -class MyGraph(GraphViewer): - def __init__(self, funcname, result): - self.title = "call graph of " + funcname - GraphViewer.__init__(self, self.title) - self.funcname = funcname - self.result = result - self.color = 0xff00ff - - def OnRefresh(self): - self.Clear() - id = self.AddNode((self.funcname, self.color)) - for x in self.result.keys(): - callee = self.AddNode((x, self.color)) - self.AddEdge(id, callee) - - return True - - def OnGetText(self, node_id): - return self[node_id] - - def OnPopup(self, form, popup_handle): - # graph closer - actname = "graph_closer:%s" % self.title - desc = action_desc_t(actname, "Close: %s" % self.title, GraphCloser(self)) - attach_dynamic_action_to_popup(form, popup_handle, desc) - - # color changer - actname = "color_changer:%s" % self.title - desc = action_desc_t(actname, "Change colors: %s" % self.title, ColorChanger(self)) - attach_dynamic_action_to_popup(form, popup_handle, desc) - - -def show_graph(): - f = idaapi.get_func(here()) - if not f: - print("Must be in a function") - return - # Iterate through all function instructions and take only call instructions - result = {} - tmp = idaapi.insn_t() - for x in [x for x in FuncItems(f.start_ea) if (idaapi.decode_insn(tmp, x) and idaapi.is_call_insn(tmp))]: - for xref in XrefsFrom(x, idaapi.XREF_FAR): - if not xref.iscode: continue - t = get_func_name(xref.to) - if not t: - t = hex(xref.to) - result[t] = True - g = MyGraph(get_func_name(f.start_ea), result) - if g.Show(): - return g - else: - return None - -g = show_graph() -if g: - print("Graph created and displayed!") diff --git a/examples/ex_hexrays.py b/examples/hexrays/decompile_entry_points.py similarity index 100% rename from examples/ex_hexrays.py rename to examples/hexrays/decompile_entry_points.py diff --git a/examples/vds1.py b/examples/hexrays/vds1.py similarity index 100% rename from examples/vds1.py rename to examples/hexrays/vds1.py diff --git a/examples/vds10.py b/examples/hexrays/vds10.py similarity index 100% rename from examples/vds10.py rename to examples/hexrays/vds10.py diff --git a/examples/vds11.py b/examples/hexrays/vds11.py similarity index 100% rename from examples/vds11.py rename to examples/hexrays/vds11.py diff --git a/examples/vds12.py b/examples/hexrays/vds12.py similarity index 98% rename from examples/vds12.py rename to examples/hexrays/vds12.py index e8f3deb..6c231f6 100644 --- a/examples/vds12.py +++ b/examples/hexrays/vds12.py @@ -61,7 +61,7 @@ class xref_chooser_t(ida_kernwin.Choose): self.ndefs = n self.curr_ea = ea self.gco = gco - self.items = [ self._make_item(idx) for idx in xrange(len(xrefs)) ] + self.items = [ self._make_item(idx) for idx in range(len(xrefs)) ] def OnGetSize(self): return len(self.items) diff --git a/examples/vds13.py b/examples/hexrays/vds13.py similarity index 100% rename from examples/vds13.py rename to examples/hexrays/vds13.py diff --git a/examples/vds17.py b/examples/hexrays/vds17.py similarity index 100% rename from examples/vds17.py rename to examples/hexrays/vds17.py diff --git a/examples/vds3.py b/examples/hexrays/vds3.py similarity index 100% rename from examples/vds3.py rename to examples/hexrays/vds3.py diff --git a/examples/vds4.py b/examples/hexrays/vds4.py similarity index 94% rename from examples/vds4.py rename to examples/hexrays/vds4.py index 1231ffc..df261ed 100644 --- a/examples/vds4.py +++ b/examples/hexrays/vds4.py @@ -26,7 +26,7 @@ def run(): labels = idaapi.restore_user_labels(entry_ea); if labels is not None: print("------- %u user defined labels" % (len(labels), )) - for org_label, name in labels.iteritems(): + for org_label, name in labels.items(): print("Label %d: %s" % (org_label, str(name))) idaapi.user_labels_free(labels) @@ -34,7 +34,7 @@ def run(): cmts = idaapi.restore_user_cmts(entry_ea); if cmts is not None: print("------- %u user defined comments" % (len(cmts), )) - for tl, cmt in cmts.iteritems(): + for tl, cmt in cmts.items(): print("Comment at %x, preciser %x:\n%s\n" % (tl.ea, tl.itp, str(cmt))) idaapi.user_cmts_free(cmts) @@ -42,7 +42,7 @@ def run(): iflags = idaapi.restore_user_iflags(entry_ea) if iflags is not None: print("------- %u user defined citem iflags" % (len(iflags), )) - for cl, f in iflags.iteritems(): + for cl, f in iflags.items(): print("%x(%d): %08X%s" % (cl.ea, cl.op, f, " CIT_COLLAPSED" if f & idaapi.CIT_COLLAPSED else "")) idaapi.user_iflags_free(iflags) @@ -50,7 +50,7 @@ def run(): numforms = idaapi.restore_user_numforms(entry_ea) if numforms is not None: print("------- %u user defined number formats" % (len(numforms), )) - for ol, nf in numforms.iteritems(): + for ol, nf in numforms.items(): print("Number format at %a, operand %d: %s" % (ol.ea, ol.opnum, "negated " if (nf.props & NF_NEGATE) != 0 else "")) diff --git a/examples/vds5.py b/examples/hexrays/vds5.py similarity index 93% rename from examples/vds5.py rename to examples/hexrays/vds5.py index 0628f0b..58e3583 100644 --- a/examples/vds5.py +++ b/examples/hexrays/vds5.py @@ -172,10 +172,12 @@ class cfunc_graph_t: # alas we can't inherit gdl_graph_t def gen_gdl(self, fname): with open(fname, "wb") as out: - out.write("graph: {\n") + def write_out(s): + out.write(s.encode("UTF-8")) + write_out("graph: {\n") - out.write("// *** nodes\n") - for n in xrange(len(self.items)): + write_out("// *** nodes\n") + for n in range(len(self.items)): item = self.items[n] node_label = self.get_node_label(n) node_props = [""] @@ -184,17 +186,17 @@ class cfunc_graph_t: # alas we can't inherit gdl_graph_t color = self.get_node_color(n) if color is not None: node_props.append("color: %s" % get_color_name(color)) - out.write("""node: { title: "%d" label: "%d: %s" %s}\n""" % ( + write_out("""node: { title: "%d" label: "%d: %s" %s}\n""" % ( n, n, node_label, " ".join(node_props))) - out.write("// *** edges\n") - for n in xrange(len(self.items)): + write_out("// *** edges\n") + for n in range(len(self.items)): item = self.items[n] - out.write("// edges %d -> ?\n" % n) - for i in xrange(self.nsucc(n)): + write_out("// edges %d -> ?\n" % n) + for i in range(self.nsucc(n)): t = self.succ(n, i) label = "" if item.is_expr(): @@ -207,10 +209,10 @@ class cfunc_graph_t: # alas we can't inherit gdl_graph_t label = "z" if label: label = """ label: "%s" """ % label - out.write("""edge: { sourcename: "%s" targetname: "%s"%s}\n""" % ( + write_out("""edge: { sourcename: "%s" targetname: "%s"%s}\n""" % ( str(n), str(t), label)) - out.write("}\n") + write_out("}\n") def dump(self): print("%d items:" % len(self.items)) @@ -231,10 +233,10 @@ class graph_builder_t(ida_hexrays.ctree_parentee_t): def __init__(self, cg): ida_hexrays.ctree_parentee_t.__init__(self) self.cg = cg - self.reverse = {} # citem_t -> node# + self.reverse = [] # (citem_t, node#) tuples def add_node(self, i): - for k in self.reverse.keys(): + for k, _ in self.reverse: if i.obj_id == k.obj_id: ida_kernwin.warning("bad ctree - duplicate nodes! (i.ea=%x)" % i.ea) self.cg.dump() @@ -244,7 +246,7 @@ class graph_builder_t(ida_hexrays.ctree_parentee_t): if n <= len(self.cg.items): self.cg.items.append(i) self.cg.items[n] = i - self.reverse[i] = n + self.reverse.append((i, n)) return n def process(self, i): @@ -253,7 +255,7 @@ class graph_builder_t(ida_hexrays.ctree_parentee_t): return n if len(self.parents) > 1: lp = self.parents.back().obj_id - for k, v in self.reverse.items(): + for k, v in self.reverse: if k.obj_id == lp: p = v break diff --git a/examples/vds6.py b/examples/hexrays/vds6.py similarity index 99% rename from examples/vds6.py rename to examples/hexrays/vds6.py index 3545758..bce37c3 100644 --- a/examples/vds6.py +++ b/examples/hexrays/vds6.py @@ -14,7 +14,7 @@ import ida_hexrays import ida_lines def dbg(msg): - #print msg + #print(msg) pass def is_cident_char(c): diff --git a/examples/vds7.py b/examples/hexrays/vds7.py similarity index 100% rename from examples/vds7.py rename to examples/hexrays/vds7.py diff --git a/examples/vds8.py b/examples/hexrays/vds8.py similarity index 100% rename from examples/vds8.py rename to examples/hexrays/vds8.py diff --git a/examples/vds_create_hint.py b/examples/hexrays/vds_create_hint.py similarity index 100% rename from examples/vds_create_hint.py rename to examples/hexrays/vds_create_hint.py diff --git a/examples/vds_hooks.py b/examples/hexrays/vds_hooks.py similarity index 93% rename from examples/vds_hooks.py rename to examples/hexrays/vds_hooks.py index d499584..53f78a2 100644 --- a/examples/vds_hooks.py +++ b/examples/hexrays/vds_hooks.py @@ -36,8 +36,8 @@ class vds_hooks_t(ida_hexrays.Hexrays_Hooks): def stkpnts(self, mba, stkpnts): return self._log("stkpnts: mba=%s, stkpnts=%s" % (mba, stkpnts)) - def prolog(self, mba, fc, reachable_blocks): - return self._log("prolog: mba=%s, fc=%s, reachable_blocks=%s" % (mba, fc, reachable_blocks)) + def prolog(self, mba, fc, reachable_blocks, decomp_flags): + return self._log("prolog: mba=%s, fc=%s, reachable_blocks=%s, decomp_flags=%x" % (mba, fc, reachable_blocks, decomp_flags)) def microcode(self, mba): return self._log("microcode: mba=%s" % (mba,)) @@ -99,7 +99,8 @@ class vds_hooks_t(ida_hexrays.Hexrays_Hooks): return self._log("double_click: vu=%s, shift_state=%s" % (vu, shift_state)) def curpos(self, vu): - return self._log("curpos: vu=%s" % (vu,)) + return self._log("curpos: vu=%s (vu.cpos.lnnum=%d, vu.cpos.x=%d, vu.cpos.y=%d)" % ( + vu, vu.cpos.lnnum, vu.cpos.x, vu.cpos.y)) def create_hint(self, vu): return self._log("create_hint: vu=%s: " % (vu,)) diff --git a/examples/vds_modify_user_lvars.py b/examples/hexrays/vds_modify_user_lvars.py similarity index 91% rename from examples/vds_modify_user_lvars.py rename to examples/hexrays/vds_modify_user_lvars.py index 28c6939..b58024f 100644 --- a/examples/vds_modify_user_lvars.py +++ b/examples/hexrays/vds_modify_user_lvars.py @@ -29,7 +29,9 @@ class my_modifier_t(ida_hexrays.user_lvar_modifier_t): varlog("flags = %x" % one.flags) new_type = self.new_types.get(one.name) if new_type: - ida_typeinf.parse_decl(one.type, None, new_type, 0) + tif = ida_typeinf.tinfo_t() + ida_typeinf.parse_decl(tif, None, new_type, 0) + one.type = tif one.name = self.name_prefix + one.name one.cmt = self.cmt_prefix + one.cmt diff --git a/examples/vds_xrefs.py b/examples/hexrays/vds_xrefs.py similarity index 99% rename from examples/vds_xrefs.py rename to examples/hexrays/vds_xrefs.py index d6aa4c4..28ecf01 100644 --- a/examples/vds_xrefs.py +++ b/examples/hexrays/vds_xrefs.py @@ -184,8 +184,6 @@ class XrefsForm(idaapi.PluginForm): _xtype.remove_ptr_or_array() _typename = idaapi.print_tinfo('', 0, 0, idaapi.PRTYPE_1LINE, _xtype, '', '') - #~ print 'in', hex(cfunc.entry_ea), _typename, _m - if not (_typename == typename and _m == m): continue diff --git a/examples/ex_procext.py b/examples/idphooks/ana_emu_out.py similarity index 98% rename from examples/ex_procext.py rename to examples/idphooks/ana_emu_out.py index 0d06e2b..0262c55 100644 --- a/examples/ex_procext.py +++ b/examples/idphooks/ana_emu_out.py @@ -1,5 +1,5 @@ from __future__ import print_function -# this script implements disassembly of BUG_INSTR used in Linux kernel BUG() macro +# this script implements disassembly of BUG_INSTR used in Linux kernel BUG() macro # normally it's architecturally undefined and is not disassembled by IDA's ARM module # see Linux/arch/arm/include/asm/bug.h diff --git a/examples/ex_idphook_asm.py b/examples/idphooks/assemble.py similarity index 100% rename from examples/ex_idphook_asm.py rename to examples/idphooks/assemble.py diff --git a/examples/ex_paint_over_navbar.py b/examples/pyqt/paint_over_navbar.py similarity index 90% rename from examples/ex_paint_over_navbar.py rename to examples/pyqt/paint_over_navbar.py index d9e56f3..85cde9e 100644 --- a/examples/ex_paint_over_navbar.py +++ b/examples/pyqt/paint_over_navbar.py @@ -25,9 +25,9 @@ class painter_t(QtCore.QObject): def add_random_item(self): R = random.random s = ida_segment.getnseg(int(ida_segment.get_segm_qty() * R())) - ea = s.start_ea + long((s.end_ea - s.start_ea) * R()) - radius = 4 + long(R() * 8) - color = QtGui.QColor(long(255 * R()), long(255 * R()), long(255 * R())) + ea = s.start_ea + int((s.end_ea - s.start_ea) * R()) + radius = 4 + int(R() * 8) + color = QtGui.QColor(int(255 * R()), int(255 * R()), int(255 * R())) self.add_item(ea, radius, color) def eventFilter(self, receiver, event): @@ -63,4 +63,4 @@ class painter_t(QtCore.QObject): painter = painter_t() # Try the following: -# for i in xrange(100): painter.add_random_item() +# for i in range(100): painter.add_random_item() diff --git a/examples/ex_pyqt.py b/examples/pyqt/populate_pluginform_with_pyqt_widgets.py similarity index 100% rename from examples/ex_pyqt.py rename to examples/pyqt/populate_pluginform_with_pyqt_widgets.py diff --git a/examples/ex_uihook.py b/examples/uihooks/log_misc_events.py similarity index 100% rename from examples/ex_uihook.py rename to examples/uihooks/log_misc_events.py diff --git a/examples/ex_askusingform.py b/examples/widgets/forms/askusingform.py similarity index 99% rename from examples/ex_askusingform.py rename to examples/widgets/forms/askusingform.py index 3fa82ad..644cecf 100644 --- a/examples/ex_askusingform.py +++ b/examples/widgets/forms/askusingform.py @@ -17,7 +17,7 @@ class TestEmbeddedChooserClass(Choose): flags=flags, embedded=True, width=30, height=6) self.items = [ [str(x), "func_%04d" % x] - for x in xrange(nb + 1) ] + for x in range(nb + 1) ] self.icon = 5 def OnGetLine(self, n): diff --git a/examples/widgets/graphs/custom_graph_with_actions.py b/examples/widgets/graphs/custom_graph_with_actions.py new file mode 100644 index 0000000..984ab92 --- /dev/null +++ b/examples/widgets/graphs/custom_graph_with_actions.py @@ -0,0 +1,142 @@ +from __future__ import print_function +# ----------------------------------------------------------------------- +# This is an example illustrating how to use the user graphing functionality +# in Python +# (c) Hex-Rays +# + +import ida_kernwin +import ida_graph +import ida_ua +import ida_idp +import ida_funcs + +class _base_graph_action_handler_t(ida_kernwin.action_handler_t): + def __init__(self, graph): + ida_kernwin.action_handler_t.__init__(self) + self.graph = graph + + def update(self, ctx): + return ida_kernwin.AST_ENABLE_ALWAYS + + +class GraphCloser(_base_graph_action_handler_t): + def activate(self, ctx): + self.graph.Close() + + +class ColorChanger(_base_graph_action_handler_t): + def activate(self, ctx): + self.graph.color = self.graph.color ^ 0xffffff + self.graph.Refresh() + return 1 + + +class SelectionPrinter(_base_graph_action_handler_t): + def activate(self, ctx): + try: + sel = ctx.graph_selection + except: + # IDA < 7.4 doesn't provide graph selection as part of + # the action_activation_ctx_t; it needs to be queried. + sel = ida_graph.screen_graph_selection_t() + gv = ida_graph.get_graph_viewer(self.graph.GetWidget()) + ida_graph.viewer_get_selection(gv, sel) + if sel: + for s in sel: + if s.is_node: + print("Selected node %d" % s.node) + else: + print("Selected edge %d -> %d" % (s.elp.e.src, s.elp.e.dst)) + return 1 + + +class MyGraph(ida_graph.GraphViewer): + def __init__(self, funcname, result): + self.title = "call graph of " + funcname + ida_graph.GraphViewer.__init__(self, self.title) + self.funcname = funcname + self.result = result + self.color = 0xff00ff + + # + # for the sake of this example, here's how one can use + # 'ida_kernwin.View_Hooks' (which can be used wich all + # "listing-like" and "graph" widgets) to be notified + # of cursor movement, current node changes, etc... + # in this graph. + # + class my_view_hooks_t(ida_kernwin.View_Hooks): + def __init__(self, v): + ida_kernwin.View_Hooks.__init__(self) + self.hook() + # let's use weakrefs, so as soon as the last ref to + # the 'MyGraph' instance is dropped, the 'my_view_hooks_t' + # instance hooks can be automatically un-hooked, and deleted. + # (in other words: avoid circular reference.) + import weakref + self.v = weakref.ref(v) + + def view_loc_changed(self, w, now, was): + now_node = now.renderer_info().pos.node + was_node = was.renderer_info().pos.node + if now_node != was_node: + if self.v().GetWidget() == w: + print("Current node now: #%d (was #%d)" % (now_node, was_node)) + + self.my_view_hooks = my_view_hooks_t(self) + + + def OnRefresh(self): + self.Clear() + id = self.AddNode((self.funcname, self.color)) + for x in self.result: + callee = self.AddNode((x, self.color)) + self.AddEdge(id, callee) + + return True + + def OnGetText(self, node_id): + return self[node_id] + + def OnPopup(self, form, popup_handle): + # graph closer + actname = "graph_closer:%s" % self.title + desc = ida_kernwin.action_desc_t(actname, "Close: %s" % self.title, GraphCloser(self)) + ida_kernwin.attach_dynamic_action_to_popup(form, popup_handle, desc) + + # color changer + actname = "color_changer:%s" % self.title + desc = ida_kernwin.action_desc_t(actname, "Change colors: %s" % self.title, ColorChanger(self)) + ida_kernwin.attach_dynamic_action_to_popup(form, popup_handle, desc) + + # selection printer + actname = "selection_printer:%s" % self.title + desc = ida_kernwin.action_desc_t(actname, "Print selection: %s" % self.title, SelectionPrinter(self)) + ida_kernwin.attach_dynamic_action_to_popup(form, popup_handle, desc) + + +def show_graph(): + f = ida_funcs.get_func(here()) + if not f: + print("Must be in a function") + return + # Iterate through all function instructions and take only call instructions + result = [] + tmp = ida_ua.insn_t() + for x in [x for x in FuncItems(f.start_ea) if (ida_ua.decode_insn(tmp, x) and ida_idp.is_call_insn(tmp))]: + for xref in XrefsFrom(x, idaapi.XREF_FAR): + if not xref.iscode: continue + t = get_func_name(xref.to) + if not t: + t = hex(xref.to) + result.append(t) + g = MyGraph(ida_funcs.get_func_name(f.start_ea), result) + if g.Show(): + return g + else: + return None + +g = show_graph() +if g: + print("Graph created and displayed!") diff --git a/examples/ex_sync_graphs.py b/examples/widgets/graphs/sync_two_graphs.py similarity index 100% rename from examples/ex_sync_graphs.py rename to examples/widgets/graphs/sync_two_graphs.py diff --git a/examples/ex_idagraph.py b/examples/widgets/idaview/wrap_idaview.py similarity index 99% rename from examples/ex_idagraph.py rename to examples/widgets/idaview/wrap_idaview.py index e38b4ef..aed1df8 100644 --- a/examples/ex_idagraph.py +++ b/examples/widgets/idaview/wrap_idaview.py @@ -46,7 +46,7 @@ class Worker(threading.Thread): # 'idaapi.execute_sync' to send requests to the main thread. # Switch back & forth to & from graph view - for i in xrange(3): + for i in range(3): self.req_SetCurrentRendererType(idaapi.TCCRT_FLAT) sleep(1) self.req_SetCurrentRendererType(idaapi.TCCRT_GRAPH) diff --git a/examples/ex_custview.py b/examples/widgets/listings/custom_viewer.py similarity index 84% rename from examples/ex_custview.py rename to examples/widgets/listings/custom_viewer.py index 34fcfd5..c6c8fc3 100644 --- a/examples/ex_custview.py +++ b/examples/widgets/listings/custom_viewer.py @@ -19,6 +19,23 @@ class say_something_handler_t(idaapi.action_handler_t): def update(self, ctx): return idaapi.AST_ENABLE_ALWAYS + @staticmethod + def compose_action_name(v): + return "custview:say_%s" % v + + +# create actions +actions_variants = ["Hello", "World"] +for av in actions_variants: + actname = say_something_handler_t.compose_action_name(av) + if ida_kernwin.unregister_action(actname): + print("Unregistered previously-registered action \"%s\"" % actname) + + desc = ida_kernwin.action_desc_t(actname, "Say %s" % av, say_something_handler_t(av)) + if ida_kernwin.register_action(desc): + print("Registered action \"%s\"" % actname) + + # ----------------------------------------------------------------------- class mycv_t(simplecustviewer_t): @@ -33,7 +50,7 @@ class mycv_t(simplecustviewer_t): if not simplecustviewer_t.Create(self, title): return False - for i in xrange(0, 100): + for i in range(0, 100): prefix, bg = idaapi.COLOR_DEFAULT, None # make every 10th line a bit special if i % 10 == 0: @@ -56,12 +73,6 @@ class mycv_t(simplecustviewer_t): print("OnClick, shift=%d" % shift) return True - def OnPopup(self, form, popup_handle): - for thing in ["Hello", "World"]: - actname = "custview:say_%s" % thing - desc = ida_kernwin.action_desc_t(actname, "Say %s" % thing, say_something_handler_t(thing)) - ida_kernwin.attach_dynamic_action_to_popup(form, popup_handle, desc) - def OnDblClick(self, shift): """ User dbl-clicked in the view @@ -155,6 +166,15 @@ class mycv_t(simplecustviewer_t): """ return (1, "OnHint, line=%d" % lineno) + def Show(self, *args): + ok = simplecustviewer_t.Show(self, *args) + if ok: + # permanently attach actions to this viewer's popup menu + for av in actions_variants: + actname = say_something_handler_t.compose_action_name(av) + ida_kernwin.attach_action_to_popup(self.GetWidget(), None, actname) + return ok + # ----------------------------------------------------------------------- try: # created already? @@ -180,7 +200,7 @@ if not mycv: def make_many(n): L = [] - for i in xrange(1, n+1): + for i in range(1, n+1): v = mycv_t() if not v.Create(i): break diff --git a/examples/widgets/listings/save_and_restore_listing_pos.py b/examples/widgets/listings/save_and_restore_listing_pos.py new file mode 100644 index 0000000..69c745f --- /dev/null +++ b/examples/widgets/listings/save_and_restore_listing_pos.py @@ -0,0 +1,79 @@ + +# +# This example lets the user save the current position of +# the current listing widget, and restore it later +# + +import ida_kernwin +import ida_moves + +class listing_action_handler_t(ida_kernwin.action_handler_t): + def update(self, ctx): + is_listing = ctx.widget_type in [ + ida_kernwin.BWN_ENUMS, + ida_kernwin.BWN_STRUCTS, + ida_kernwin.BWN_DISASM, + ida_kernwin.BWN_CUSTVIEW, + ida_kernwin.BWN_PSEUDOCODE, + ] + return ida_kernwin.AST_ENABLE_FOR_WIDGET if is_listing else ida_kernwin.AST_DISABLE_FOR_WIDGET + +class last_pos_t(object): + def __init__(self, widget_title, lochist_entry): + self.widget_title = widget_title + self.lochist_entry = lochist_entry + +last_pos = None + +class save_position_ah_t(listing_action_handler_t): + + ACTION_NAME = "save_and_restore_listing_pos:save_position" + ACTION_LABEL = "Save position" + ACTION_SHORTCUT = "Ctrl+Shift+S" + HELP_TEXT = "Press %s in a 'listing' widget such as 'IDA View-A', 'Enums', 'Structures', 'Pseudocode-A', ... to remember the position" % ACTION_SHORTCUT + + def activate(self, ctx): + global last_pos + e = ida_moves.lochist_entry_t() + if ida_kernwin.get_custom_viewer_location(e, ctx.widget): + last_pos = last_pos_t(ctx.widget_title, e) + else: + print("Failed to retrieve position") + + +class restore_position_ah_t(listing_action_handler_t): + + ACTION_NAME = "save_and_restore_listing_pos:restore_position" + ACTION_LABEL = "Restore position" + ACTION_SHORTCUT = "Ctrl+Shift+O" + HELP_TEXT = "Press %s in a 'listing' widget such as 'IDA View-A', 'Enums', 'Structures', 'Pseudocode-A', ... to restore a previously-saved position" % ACTION_SHORTCUT + + def activate(self, ctx): + global last_pos + if last_pos: + w = ida_kernwin.find_widget(last_pos.widget_title) + if w: + ida_kernwin.custom_viewer_jump(w, last_pos.lochist_entry) + else: + print("Widget \"%s\" not found" % last_pos.widget_title) + else: + print("No last position to restore") + + +klasses = [ + save_position_ah_t, + restore_position_ah_t, +] + +for klass in klasses: + if ida_kernwin.unregister_action(klass.ACTION_NAME): + print("Unregistered previously-registered action \"%s\"" % klass.ACTION_LABEL) + + if ida_kernwin.register_action( + ida_kernwin.action_desc_t( + klass.ACTION_NAME, + klass.ACTION_LABEL, + klass(), + klass.ACTION_SHORTCUT)): + print("Registered action \"%s\". %s" % (klass.ACTION_LABEL, klass.HELP_TEXT)) + diff --git a/examples/ex_choose.py b/examples/widgets/tabular_views/custom/choose.py similarity index 78% rename from examples/ex_choose.py rename to examples/widgets/tabular_views/custom/choose.py index 005dce1..bcb9555 100644 --- a/examples/ex_choose.py +++ b/examples/widgets/tabular_views/custom/choose.py @@ -2,6 +2,7 @@ from __future__ import print_function import ida_kernwin from ida_kernwin import Choose +# ----------------------------------------------------------------------- class chooser_handler_t(ida_kernwin.action_handler_t): def __init__(self, thing): ida_kernwin.action_handler_t.__init__(self) @@ -18,7 +19,24 @@ class chooser_handler_t(ida_kernwin.action_handler_t): if ida_kernwin.is_chooser_widget(ctx.widget_type) \ else ida_kernwin.AST_DISABLE_FOR_WIDGET + @staticmethod + def compose_action_name(v): + return "choose:act%s" % v + +# create actions +actions_variants = ["A", "B"] +for av in actions_variants: + actname = chooser_handler_t.compose_action_name(av) + if ida_kernwin.unregister_action(actname): + print("Unregistered previously-registered action \"%s\"" % actname) + + desc = ida_kernwin.action_desc_t(actname, "command %s" % av, chooser_handler_t(av)) + if ida_kernwin.register_action(desc): + print("Registered action \"%s\"" % actname) + + +# ----------------------------------------------------------------------- class MyChoose(Choose): def __init__(self, title, nb = 5, flags = 0, @@ -37,7 +55,7 @@ class MyChoose(Choose): width = width, height = height) self.n = 0 - self.items = [ self.make_item() for x in xrange(nb) ] + self.items = [ self.make_item() for x in range(nb) ] self.icon = 5 self.selcount = 0 self.modal = modal @@ -98,18 +116,14 @@ class MyChoose(Choose): def OnClose(self): print("closed", str(self)) - def OnPopup(self, form, popup_handle): - for c in ["A", "B"]: - actname = "choose:act%s" % c - desc = ida_kernwin.action_desc_t( - actname, - "command %s" % c, - chooser_handler_t(c)) - ida_kernwin.attach_dynamic_action_to_popup( - form, popup_handle, desc) - def show(self): - return self.Show(self.modal) >= 0 + ok = self.Show(self.modal) >= 0 + if ok: + # permanently attach actions to this chooser's popup menu + for av in actions_variants: + actname = chooser_handler_t.compose_action_name(av) + ida_kernwin.attach_action_to_popup(self.GetWidget(), None, actname) + return ok def make_item(self): r = [str(self.n), "func_%04d" % self.n] diff --git a/examples/ex_choose_multi.py b/examples/widgets/tabular_views/custom/choose_multi.py similarity index 90% rename from examples/ex_choose_multi.py rename to examples/widgets/tabular_views/custom/choose_multi.py index 5e62a36..0bd69c2 100644 --- a/examples/ex_choose_multi.py +++ b/examples/widgets/tabular_views/custom/choose_multi.py @@ -10,7 +10,7 @@ class MyChoose(Choose): title, [ ["Bit", Choose.CHCOL_HEX | 10] ], flags = Choose.CH_MULTI) - self.items = [ str(1 << x) for x in xrange(nb) ] + self.items = [ str(1 << x) for x in range(nb) ] def OnGetSize(self): return len(self.items) @@ -24,7 +24,7 @@ class MyChoose(Choose): def show(self, num): self.deflt = [x - for x in xrange(len(self.items)) + for x in range(len(self.items)) if (num & (1 << x)) != 0] if self.Show(True) < 0: return 0 diff --git a/examples/ex_func_chooser.py b/examples/widgets/tabular_views/custom/func_chooser.py similarity index 100% rename from examples/ex_func_chooser.py rename to examples/widgets/tabular_views/custom/func_chooser.py diff --git a/examples/widgets/tabular_views/strings_window/show_selected_strings.py b/examples/widgets/tabular_views/strings_window/show_selected_strings.py new file mode 100644 index 0000000..cda92a8 --- /dev/null +++ b/examples/widgets/tabular_views/strings_window/show_selected_strings.py @@ -0,0 +1,77 @@ + +# +# This example lets the user programmatically retrieve +# the strings currently selected in the "Strings window" +# + +import ida_kernwin +import ida_strlist +import ida_bytes + +class show_strings_base_ah_t(ida_kernwin.action_handler_t): + + def __init__(self, use_get_chooser_data): + ida_kernwin.action_handler_t.__init__(self) + self.use_get_chooser_data = use_get_chooser_data + + def activate(self, ctx): + for idx in ctx.chooser_selection: + if self.use_get_chooser_data: + _, _, _, s = ida_kernwin.get_chooser_data(ctx.widget_title, idx) + else: + si = ida_strlist.string_info_t() + if ida_strlist.get_strlist_item(si, idx): + s = ida_bytes.get_strlit_contents(si.ea, si.length, si.type) + print("Selected string (retrieved using %s) at index %d: \"%s\"" % ( + "get_chooser_data()" if self.use_get_chooser_data else "get_strlist_item()", + idx, + s)) + return 0 + + def update(self, ctx): + return ida_kernwin.AST_ENABLE_FOR_WIDGET \ + if ctx.widget_type == ida_kernwin.BWN_STRINGS \ + else ida_kernwin.AST_DISABLE_FOR_WIDGET + + +class show_strings_using_get_chooser_data_ah_t(show_strings_base_ah_t): + ACTION_NAME = "test:show_string_using_get_chooser_data" + ACTION_LABEL = "Show current string(s) using get_chooser_data()" + ACTION_SHORTCUT = "Ctrl+Shift+S" + + def __init__(self): + show_strings_base_ah_t.__init__(self, True) + + +class show_strings_using_get_strlist_item_ah_t(show_strings_base_ah_t): + ACTION_NAME = "test:show_string_using_get_strlist_item" + ACTION_LABEL = "Show current string(s) using get_strlist_item() + get_strlit_contents()" + ACTION_SHORTCUT = "Ctrl+Shift+K" + + def __init__(self): + show_strings_base_ah_t.__init__(self, False) + + +klasses = [ + show_strings_using_get_chooser_data_ah_t, + show_strings_using_get_strlist_item_ah_t, +] + +sw = ida_kernwin.find_widget("Strings window") +if not sw: + sw = ida_kernwin.open_strings_window(ida_idaapi.BADADDR) + +for klass in klasses: + if ida_kernwin.unregister_action(klass.ACTION_NAME): + print("Unregistered previously-registered action \"%s\"" % klass.ACTION_LABEL) + + if ida_kernwin.register_action( + ida_kernwin.action_desc_t( + klass.ACTION_NAME, + klass.ACTION_LABEL, + klass(), + klass.ACTION_SHORTCUT)): + print("Registered action \"%s\"" % (klass.ACTION_LABEL,)) + if sw: + ida_kernwin.attach_action_to_popup(sw, None, klass.ACTION_NAME) + print("Permanently added action to \"String window\"'s popup") diff --git a/examples/widgets/waitbox/show_and_hide_waitbox.py b/examples/widgets/waitbox/show_and_hide_waitbox.py new file mode 100644 index 0000000..0a5be2b --- /dev/null +++ b/examples/widgets/waitbox/show_and_hide_waitbox.py @@ -0,0 +1,49 @@ + +# +# A simple example showing how to use: +# ida_kernwin.show_wait_box +# ida_kernwin.hide_wait_box +# ida_kernwin.replace_wait_box +# + +import time +import random + +import ida_kernwin +import ida_hexrays +import ida_funcs + +import idautils + +perform_decompilation=False + +# Note: this try/except block below is just there to +# let us (at Hex-Rays) test this script in various +# situations. +try: + perform_decompilation = under_test__perform_decompilation +except: + pass + + +step_sleep = 0.5 +ida_kernwin.show_wait_box("Processing") +try: + all_eas = list(idautils.Functions()) + neas = len(all_eas) + for i, ea in enumerate(all_eas): + if ida_kernwin.user_cancelled(): + break + ida_kernwin.replace_wait_box("Processing; step %d/%d" % (i+1, neas)) + + if perform_decompilation: + try: + ida_hexrays.decompile(ida_funcs.get_func(ea)) + except ida_hexrays.DecompilationFailure as df: + print("Decompilation failure: %s" % df) + + time.sleep(step_sleep * random.random()) +finally: + ida_kernwin.hide_wait_box() + + diff --git a/extapi.cpp b/extapi.cpp new file mode 100644 index 0000000..49142b6 --- /dev/null +++ b/extapi.cpp @@ -0,0 +1,136 @@ + +#include + +#include + +#include "extapi.hpp" + +#ifdef __NT__ +#include +#include +//------------------------------------------------------------------------- +bool ext_api_t::load(qstring *errbuf) +{ + QASSERT(30602, lib_path.empty() && lib_handle == nullptr); + + // Inspired by https://docs.microsoft.com/en-us/windows/win32/psapi/enumerating-all-modules-for-a-process + HANDLE hProcess = GetCurrentProcess(); + HMODULE hMods[1024]; + DWORD cbNeeded; + if ( EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded) == 0 ) + return false; + + const void *wanted = (const void *) Py_IsInitialized; + for ( size_t i = 0; i < (cbNeeded / sizeof(HMODULE)); i++ ) + { + MODULEINFO module_info; + if ( GetModuleInformation(hProcess, hMods[i], &module_info, sizeof(module_info)) ) + { + if ( wanted >= module_info.lpBaseOfDll ) + { + LPVOID end = (LPVOID) ((const char *) module_info.lpBaseOfDll + module_info.SizeOfImage); + if ( wanted < end ) + { + // found module + lib_handle = (void *) hMods[i]; + break; + } + } + } + } + + if ( lib_handle == nullptr ) + return false; + +#define BIND_SYMBOL(Name) \ + do \ + { \ + * (FARPROC *) &Name ## _ptr = GetProcAddress( \ + (HMODULE) lib_handle, TEXT(#Name)); \ + if ( Name ## _ptr == nullptr ) \ + { \ + errbuf->sprnt("GetProcAddress(\"%s\") failed: %s", \ + #Name, qstrerror(-1)); \ + return false; \ + } \ + } while ( 0 ) + + BIND_SYMBOL(PyEval_SetTrace); + BIND_SYMBOL(PyRun_SimpleString); + BIND_SYMBOL(PyRun_String); + BIND_SYMBOL(PyFunction_New); + BIND_SYMBOL(PyFunction_GetCode); + BIND_SYMBOL(_PyLong_AsByteArray); + +#undef BIND_SYMBOL + + return true; +} + +//------------------------------------------------------------------------- +void ext_api_t::clear() +{ + lib_handle = nullptr; +} + +#else + +#include + +//------------------------------------------------------------------------- +bool ext_api_t::load(qstring *errbuf) +{ + QASSERT(30603, lib_path.empty() && lib_handle == nullptr); + + // First, let's figure out the library to load + Dl_info dl_info; + memset(&dl_info, 0, sizeof(dl_info)); + int rc = dladdr((void *) Py_IsInitialized, &dl_info); + if ( rc == 0 ) + { + *errbuf = "Cannot determine path to shared object"; + return false; + } + + lib_path = dl_info.dli_fname; + lib_handle = dlopen(lib_path.c_str(), RTLD_NOLOAD | RTLD_GLOBAL | RTLD_LAZY); + if ( lib_handle == nullptr ) + { + errbuf->sprnt("dlopen(\"%s\") failed: %s", lib_path.c_str(), qstrerror(-1)); + return false; + } + +#define BIND_SYMBOL(Name) \ + do \ + { \ + Name ## _ptr = (Name ## _t *) dlsym(lib_handle, #Name); \ + if ( Name ## _ptr == nullptr ) \ + { \ + errbuf->sprnt("dlsym(\"%s\") failed: %s", #Name, qstrerror(-1)); \ + return false; \ + } \ + } while ( 0 ) + + BIND_SYMBOL(PyEval_SetTrace); + BIND_SYMBOL(PyRun_SimpleString); + BIND_SYMBOL(PyRun_String); + BIND_SYMBOL(PyFunction_New); + BIND_SYMBOL(PyFunction_GetCode); + BIND_SYMBOL(_PyLong_AsByteArray); + +#undef BIND_SYMBOL + + return true; +} + +//------------------------------------------------------------------------- +void ext_api_t::clear() +{ + if ( lib_handle != nullptr ) + { + dlclose(lib_handle); + lib_handle = nullptr; + } +} + +#endif diff --git a/extapi.hpp b/extapi.hpp new file mode 100644 index 0000000..c9a7c4c --- /dev/null +++ b/extapi.hpp @@ -0,0 +1,43 @@ +#ifndef EXTAPI_HPP +#define EXTAPI_HPP + +#include + +#ifdef Py_LIMITED_API +typedef void *Py_tracefunc; +struct PyCompilerFlags; +struct PyFrameObject; +#else +#include +#endif + +typedef void PyEval_SetTrace_t(Py_tracefunc, PyObject *); + +typedef int PyRun_SimpleString_t(const char *); +typedef PyObject *PyRun_String_t(const char *, int, PyObject *, PyObject *); + +typedef PyObject *PyFunction_New_t(PyObject *, PyObject *); +typedef PyObject *PyFunction_GetCode_t(PyObject *); + +typedef int _PyLong_AsByteArray_t(PyObject *, unsigned char *, size_t, int, int); + +struct ext_api_t +{ + qstring lib_path; + void *lib_handle; + + PyEval_SetTrace_t *PyEval_SetTrace_ptr; + PyRun_SimpleString_t *PyRun_SimpleString_ptr; + PyRun_String_t *PyRun_String_ptr; + PyFunction_New_t *PyFunction_New_ptr; + PyFunction_GetCode_t *PyFunction_GetCode_ptr; + _PyLong_AsByteArray_t *_PyLong_AsByteArray_ptr; + + ext_api_t() { memset(this, 0, sizeof(*this)); } + ~ext_api_t() { clear(); } + + bool load(qstring *errbuf); + void clear(); +}; + +#endif // EXTAPI_HPP diff --git a/idapy.hpp b/idapy.hpp new file mode 100644 index 0000000..b8bee0c --- /dev/null +++ b/idapy.hpp @@ -0,0 +1,226 @@ +#ifndef IDAPY_HPP +#define IDAPY_HPP 1 + +// This set of wrappers lets us keep the typemaps in an acceptable shape. +// Once IDAPython loses support for Python 2.7, these will go. + +#ifdef PY3 + +inline int IDAPyInt_Check(PyObject *obj) +{ + return PyLong_Check(obj); +} + +inline long IDAPyInt_AsLong(PyObject *io) +{ + return PyLong_AsLong(io); +} + +inline Py_ssize_t IDAPyInt_AsSsize_t(PyObject *pylong) +{ + return PyLong_AsSsize_t(pylong); +} + +inline PyObject *IDAPyInt_FromLong(long ival) +{ + return PyLong_FromLong(ival); +} + +inline int IDAPyIntOrLong_Check(PyObject *obj) +{ + return PyLong_Check(obj); +} + +inline long IDAPyIntOrLong_AsLong(PyObject *obj) +{ + return PyLong_AsLong(obj); +} + +inline int IDAPyStr_Check(PyObject *obj) +{ + return PyUnicode_Check(obj); +} + +inline bool IDAPyStr_AsUTF8(qstring *out, PyObject *obj) +{ + PyObject *utf8 = PyUnicode_AsUTF8String(obj); + bool ok = utf8 != NULL; + if ( ok ) + { + char *buffer = NULL; + Py_ssize_t length = 0; + ok = PyBytes_AsStringAndSize(utf8, &buffer, &length) >= 0; + if ( ok ) + { + out->qclear(); + out->append(buffer, length); + } + } + Py_XDECREF(utf8); + return ok; +} + +inline PyObject *IDAPyStr_FromUTF8(const char *v) +{ + return PyUnicode_FromString(v); +} + +inline PyObject *IDAPyStr_FromUTF8AndSize(const char *v, Py_ssize_t len) +{ + return PyUnicode_FromStringAndSize(v, len); +} + +inline int IDAPyBytes_Check(PyObject *obj) +{ + return PyBytes_Check(obj); +} + +inline int IDAPyBytes_Size(PyObject *obj) +{ + return PyBytes_Size(obj); +} + +inline PyObject *IDAPyBytes_FromMem(const char *v) +{ + return PyBytes_FromString(v); +} + +inline PyObject *IDAPyBytes_FromMemAndSize(const char *v, Py_ssize_t len) +{ + return PyBytes_FromStringAndSize(v, len); +} + +inline int IDAPyBytes_AsMemAndSize(PyObject *obj, char **buffer, Py_ssize_t *length) +{ + return PyBytes_AsStringAndSize(obj, buffer, length); +} + +inline char *IDAPyBytes_AsString(PyObject *o) +{ + return PyBytes_AsString(o); +} + +#else + +inline int IDAPyInt_Check(PyObject *obj) +{ + return PyInt_Check(obj); +} + +inline long IDAPyInt_AsLong(PyObject *io) +{ + return PyInt_AsLong(io); +} + +inline Py_ssize_t IDAPyInt_AsSsize_t(PyObject *pylong) +{ + return PyInt_AsSsize_t(pylong); +} + +inline PyObject *IDAPyInt_FromLong(long ival) +{ + return PyInt_FromLong(ival); +} + +inline int IDAPyIntOrLong_Check(PyObject *obj) +{ + return PyInt_Check(obj) || PyLong_Check(obj); +} + +inline long IDAPyIntOrLong_AsLong(PyObject *obj) +{ + return PyInt_Check(obj) ? PyInt_AsLong(obj) : PyLong_AsLong(obj); +} + +inline int IDAPyStr_Check(PyObject *obj) +{ + return PyString_Check(obj); +} + +inline bool IDAPyStr_AsUTF8(qstring *out, PyObject *obj) +{ + char *buffer = NULL; + Py_ssize_t length = 0; + bool ok = PyString_AsStringAndSize(obj, &buffer, &length) >= 0; + if ( ok ) + { + out->qclear(); + out->append(buffer, length); + } + return ok; +} + +inline PyObject *IDAPyStr_FromUTF8(const char *v) +{ + return PyString_FromString(v); +} + +inline PyObject *IDAPyStr_FromUTF8AndSize(const char *v, Py_ssize_t len) +{ + return PyString_FromStringAndSize(v, len); +} + +inline int IDAPyBytes_Check(PyObject *obj) +{ + return PyString_Check(obj); +} + +inline int IDAPyBytes_Size(PyObject *obj) +{ + return PyString_Size(obj); +} + +inline PyObject *IDAPyBytes_FromMem(const char *v) +{ + return PyString_FromString(v); +} + +inline PyObject *IDAPyBytes_FromMemAndSize(const char *v, Py_ssize_t len) +{ + return PyString_FromStringAndSize(v, len); +} + +inline int IDAPyBytes_AsMemAndSize(PyObject *obj, char **buffer, Py_ssize_t *length) +{ + return PyString_AsStringAndSize(obj, buffer, length); +} + +inline char *IDAPyBytes_AsString(PyObject *o) +{ + return PyString_AsString(o); +} + +#endif + + +//------------------------------------------------------------------------- +// common code +//------------------------------------------------------------------------- + +inline bool IDAPyBytes_AsBytes(bytevec_t *out, PyObject *obj) +{ + char *buffer = NULL; + Py_ssize_t length = 0; + bool ok = IDAPyBytes_AsMemAndSize(obj, &buffer, &length) >= 0; + if ( ok ) + { + out->qclear(); + out->append((const uchar *) buffer, length); + } + return ok; +} + +inline bool IDAPyBytes_as_qtype(qtype *out, PyObject *obj) +{ + bytevec_t bytes; + bool ok = IDAPyBytes_AsBytes(&bytes, obj); + if ( ok ) + { + out->qclear(); + out->append(bytes.begin(), bytes.size()); + } + return ok; +} + +#endif // IDAPY_HPP + diff --git a/idapyswitch.cpp b/idapyswitch.cpp new file mode 100644 index 0000000..6b3a0b5 --- /dev/null +++ b/idapyswitch.cpp @@ -0,0 +1,706 @@ + +/* + * This utility is meant to be used to let IDA switch between + * installed versions of Python3. + * + * See the documentation placed in 'opts.epilog', near the bottom + * of this file. + */ + +#ifdef __NT__ +# include +#endif + +#include + +//lint -esym(1788, iinc) is referenced only by its constructor or destructor + +#include +#include +#include +#include +#include + +#define EXIT_CODE_FORCE_PATH_FAILED 110 + +#define EXIT_CODE_NO_INSTALLS 120 +#define EXIT_CODE_APPLY_FAILED 121 + +#ifdef __LINUX__ +# define EXIT_CODE_SPLIT_DEBUG_EXPAND_DT_NEEDED_ROOM_FAILED 140 +#endif + +#ifdef __GNUC__ // gcc defines those macros, that are in our way +# undef major +# undef minor +#endif + +//------------------------------------------------------------------------- +struct user_args_t +{ + qstring force_path; + bool verbose; + bool auto_apply; + bool dry_run; +#ifdef __UNIX__ + bool ignore_python_config; + uint32 major_version; +#endif +#ifdef __LINUX__ + qstring split_debug_expand_libpython3_dtneeded_room; //lint !e958 padding of 4 bytes needed to align member on a 8 byte boundary +#endif + + user_args_t() + : verbose(false), + auto_apply(false), + dry_run(false) +#ifdef __UNIX__ + , ignore_python_config(false), + major_version(3) +#endif + {} +}; +static user_args_t args; + +//------------------------------------------------------------------------- +static int out_ident = 0; +struct out_ident_inc_t +{ + out_ident_inc_t() { ++out_ident; } + ~out_ident_inc_t() { --out_ident; } +}; + +//------------------------------------------------------------------------- +AS_PRINTF(1, 0) int vout(const char *format, va_list va) +{ + for ( int i = 0; i < out_ident; ++i ) + printf(" "); + return vprintf(format, va); +} + +//------------------------------------------------------------------------- +AS_PRINTF(1, 2) int out(const char *format, ...) +{ + va_list va; + va_start(va, format); + int rc = vout(format, va); + va_end(va); + return rc; +} + +//------------------------------------------------------------------------- +AS_PRINTF(1, 2) int out_verb(const char *format, ...) +{ + int rc = 0; + if ( args.verbose ) + { + out("V: "); + va_list va; + va_start(va, format); + rc = vout(format, va); + va_end(va); + } + return rc; +} + +//------------------------------------------------------------------------- +AS_PRINTF(2, 3) void error(int exit_code, const char *format, ...) +{ + va_list va; + va_start(va, format); + vout(format, va); + va_end(va); + qexit(exit_code); +} + + +//------------------------------------------------------------------------- +struct pylib_version_t +{ + int major; + int minor; + int revision; + qstring modifiers; //lint !e958 padding of 4 bytes needed to align member on a 8 byte boundary + qstring raw; + + pylib_version_t( + int _major=0, + int _minor=0, + int _revision=0, + const char *_modifiers=nullptr, + const char *_raw=nullptr) + : major(_major), + minor(_minor), + revision(_revision), + modifiers(_modifiers), + raw(_raw) {} + + bool valid() const { return major > 0; } + + const char *str(qstring *out) const + { + out->sprnt("%d.%d.%d%s ('%s')", + major, minor, revision, + modifiers.c_str(), raw.c_str()); + return out->c_str(); + } + + DECLARE_COMPARISONS(pylib_version_t) + { + if ( major != r.major ) + return major - r.major; + if ( minor != r.minor ) + return minor - r.minor; + if ( revision != r.revision ) + return revision - r.revision; + // when it comes to modifiers, we'll consider: + // - that a debug version is lesser than a non-debug one + // - that a version with more modifiers is "greater" than + // one with fewer modifiers. + const int has_debug = qstrstr(modifiers.c_str(), "d") != nullptr; + const int r_has_debug = qstrstr(r.modifiers.c_str(), "d") != nullptr; + if ( has_debug != r_has_debug ) + return r_has_debug - has_debug; + return modifiers.length() - r.modifiers.length(); + } +}; +DECLARE_TYPE_AS_MOVABLE(pylib_version_t); + +//------------------------------------------------------------------------- +struct pylib_entry_t +{ + pylib_version_t version; + pylib_version_t compatibility_version; // only for OSX + qstrvec_t paths; + bool preferred; + + pylib_entry_t(const pylib_version_t &_version) + : version(_version), preferred(false) {} + + const char *str(qstring *out) const + { + qstring pbuf, vbuf; + for ( auto const &p : paths ) + { + if ( !pbuf.empty() ) + pbuf.append(", ", 2); + pbuf.append(p); + } + out->sprnt("Version: %s; paths: %s", version.str(&vbuf), pbuf.c_str()); + if ( preferred ) + out->append(" (PREFERRED)"); + return out->c_str(); + } + + bool operator ==(const pylib_entry_t &r) const { return paths == r.paths; } + bool operator !=(const pylib_entry_t &r) const { return !(*this == r); } +}; +DECLARE_TYPE_AS_MOVABLE(pylib_entry_t); +typedef qvector pylib_entry_vec_t; + +//------------------------------------------------------------------------- +struct pylib_entries_t +{ + pylib_entry_vec_t entries; + + pylib_entry_t *get_entry_for_version(const pylib_version_t &version) + { + for ( auto &e : entries ) + if ( e.version == version ) + return &e; + return nullptr; + } + + pylib_entry_t &get_or_create_entry_for_version(const pylib_version_t &version) + { + pylib_entry_t *e = get_entry_for_version(version); + if ( e == nullptr ) + { + pylib_entry_t ne(version); + entries.push_back(ne); + e = &entries.back(); + } + return *e; + } +}; + +#ifdef __UNIX__ +static void set_preferred_pylib_version(pylib_entries_t *result); +#endif + +//------------------------------------------------------------------------- +struct pyver_tool_t +{ + static bool reverse_compare_entries( + const pylib_entry_t &e0, + const pylib_entry_t &e1) + { + if ( e0.preferred ) + return true; + if ( e1.preferred ) + return false; + int rc = e0.version.compare(e1.version); + if ( rc > 0 ) + return true; + return false; + } + + bool path_to_pylib_entry( + pylib_entry_t *out, + const char *path, + qstring *errbuf) const + { + return do_path_to_pylib_entry(out, path, errbuf); + } + + void find_python_libs( + pylib_entries_t *result) const + { + do_find_python_libs(result); + +#ifdef __UNIX__ + set_preferred_pylib_version(result); +#endif + + std::sort(result->entries.begin(), result->entries.end(), reverse_compare_entries); + + qstring buf; + if ( args.verbose ) + { + out_ident_inc_t iinc; + for ( auto const &e : result->entries ) + out_verb("%s\n", e.str(&buf)); + } + } + + bool apply_version( + const pylib_entry_t &entry, + qstring *errbuf) const + { + return do_apply_version(entry, errbuf); + } + +private: + // These three need to be implemented in different + // ways on __NT__, __LINUX__ and __MAC__ + + // Look on the filesystem (or the registry on Windows) + // for available Python3 installations. + void do_find_python_libs(pylib_entries_t *out) const; + + // Given a path to a .so, .dll or .dylib, try and parse the + // Python3 version and produce an entry with it. + bool do_path_to_pylib_entry(pylib_entry_t *entry, const char *path, qstring *errbuf) const; + + // Do patch the idapython.[so|dylib] binary (or the + // registry on Windows) so that they refer to the right + // Python3 version. + bool do_apply_version(const pylib_entry_t &entry, qstring *errbuf) const; +}; + +//------------------------------------------------------------------------- +// Accepts: +// "3.7" +// "3.7.1" +// "3.7m" +// "3.7.1dm" + +//lint -esym(528, parse_python_version_str) not referenced +static bool parse_python_version_str(pylib_version_t *out, const char *raw) +{ + int major = 0; + int minor = 0; + int revision = 0; + int nchars_read; + + const char *p = raw; + + if ( qsscanf(raw, "%d.%d%n", &major, &minor, &nchars_read) != 2 ) + return false; + p += nchars_read; + + if ( p[0] == '.' && qisdigit(p[1]) ) + { + if ( qsscanf(p, ".%d%n", &revision, &nchars_read) != 1 ) + return false; + p += nchars_read; + } + + *out = pylib_version_t(major, minor, revision, p, raw); + return true; +} + +#ifdef __UNIX__ +//------------------------------------------------------------------------- +static bool extract_version_from_str( + pylib_version_t *out, + const char *p, + const char *stem, + const char *end_delimiter) +{ + const size_t stemlen = qstrlen(stem); + if ( !strneq(p, stem, stemlen) ) + return false; + p += stemlen; + const char *p2 = qstrstr(p, end_delimiter); + if ( p2 == nullptr ) + p2 = tail(p); + size_t nbytes = p2 - p; + char raw[MAXSTR]; + if ( nbytes > sizeof(raw) - 1 ) + nbytes = sizeof(raw) - 1; + memmove(raw, p, nbytes); + raw[nbytes] = '\0'; + parse_python_version_str(out, raw); + return true; +} + +//------------------------------------------------------------------------- +static void set_preferred_pylib_version(pylib_entries_t *result) +{ + // If python(3)-config exists, use it to determine the preferred version + if ( args.ignore_python_config ) + return; + + const char *config_util = args.major_version == 3 ? "python3-config" : "python-config"; + qstring cmd; + cmd.sprnt("%s --libs", config_util); + + qstring error; + qstring verbuf; + FILE *fp = popen(cmd.c_str(), "r"); + if ( fp != nullptr ) + { + char outbuf[MAXSTR]; + /*ssize_t nread =*/ qfread(fp, outbuf, sizeof(outbuf)); + int rc = pclose(fp); + if ( rc == 0 ) + { + pylib_version_t version; + const char *p = qstrstr(outbuf, "-lpython"); + if ( p != nullptr + && extract_version_from_str(&version, p, "-lpython", " ") ) + { +#ifdef __MAC__ + // python3-config output on OSX will contain modifiers, i.e. "-lpython3.7m", but when detecting pylibs on OSX + // we extract the python version from the LC_ID_DYLIB load command, which does not contain modifiers. + // it seems safe to ignore the modifiers on OSX, they appear to be only used for compatibility purposes. + version.modifiers.clear(); +#endif + out_verb("Preferred version, as reported by \"%s\": %s\n", cmd.c_str(), version.str(&verbuf)); + pylib_entry_t *e = result->get_entry_for_version(version); + if ( e != nullptr ) + e->preferred = true; + else + error.sprnt("\"%s\" reports preferred " + "version \"%s\", but no corresponding library file " + "was found.\n", cmd.c_str(), version.str(&verbuf)); + } + else + { + error.sprnt("Error parsing \"%s\" output", cmd.c_str()); + } + } + else + { + error.sprnt("Error calling \"%s\"", cmd.c_str()); + } + } + else + { + error.sprnt("\"%s\" is not available", config_util); + } + + if ( !error.empty() ) + out_verb("%s. Cannot determine preferred version this way.\n", + error.c_str()); +} +#endif // __UNIX__ + +#if defined(__LINUX__) || defined(__MAC__) +# ifdef __LINUX__ +# define SOSFX "so" +# else +# define SOSFX "dylib" +# endif + +//------------------------------------------------------------------------- +struct file_visitor_t +{ + virtual int visit_file(const char *path) = 0; +}; + +//------------------------------------------------------------------------- +static int visit_files( + file_visitor_t &dv, + const char *dir, + const char *pattern, + int attr = 0) +{ + char path[QMAXPATH]; + qmakepath(path, sizeof(path), dir, pattern, nullptr); + + qffblk64_t fb; + for ( int code = qfindfirst(path, &fb, attr); + code == 0; + code = qfindnext(&fb) ) + { + qmakepath(path, sizeof(path), dir, fb.ff_name, nullptr); + int ret = dv.visit_file(path); + if ( ret != 0 ) + return ret; + } + + return 0; +} + +//------------------------------------------------------------------------- +//lint -esym(528, for_all_plugin_files) not referenced +static int for_all_plugin_files(file_visitor_t &dv, qstring *errbuf) +{ + char path[QMAXPATH]; + char found = 0; + for ( int is_ea64 = 0; is_ea64 < 2; ++is_ea64 ) + { + // Only patch for actually available IDAs (e.g. don't fail in std edition) + qmakepath(path, sizeof(path), idadir(""), is_ea64 ? "ida64" : "ida", nullptr); + if ( qfileexist(path) ) + { + found++; + qmakepath(path, sizeof(path), idadir(""), "plugins", is_ea64 ? "idapython64." SOSFX : "idapython." SOSFX, nullptr); + int ret = dv.visit_file(path); + if ( ret != 0 ) + return ret; + + qmakepath(path, sizeof(path), idadir(""), "python", args.major_version == 3 ? "3" : "2", is_ea64 ? "ida_64" : "ida_32", nullptr); + ret = visit_files(dv, path, "_ida_*.so"); + if ( ret != 0 ) + return ret; + } + } + if ( !found ) + { + errbuf->sprnt("Nothing to patch in %s", idadir("")); + return -1; + } + + return 0; +} +#endif + +#ifdef __LINUX__ +# include "idapyswitch_linux.cpp" +#else +# ifdef __NT__ +# include "idapyswitch_win.cpp" +# else +# include "idapyswitch_mac.cpp" +# endif +#endif + +//------------------------------------------------------------------------- +static void set_verbose(const char *, void *) { args.verbose = true; } +static void set_auto_apply(const char *, void *) { args.auto_apply = true; } +static void set_dry_run(const char *, void *) { args.dry_run = true; } +static void set_force_path(const char *arg, void *) { args.force_path = arg; } +#ifdef __UNIX__ +static void set_ignore_python_config(const char *, void *) { args.ignore_python_config = true; } +#endif +#ifdef __LINUX__ +static void set_split_debug_expand_libpython3_dtneeded_room(const char *arg, void *) +{ + args.split_debug_expand_libpython3_dtneeded_room = arg; +} +#endif +#ifdef __MAC__ +static void set_use_python2(const char *, void *) { args.major_version = 2; } +#endif + +//------------------------------------------------------------------------- +static const cliopt_t _opts[] = +{ + { 'v', "verbose", "Verbose mode", set_verbose, 0 }, + { 'a', "auto-apply", "Run non-interactively; automatically apply the preferred version (if found)", set_auto_apply, 0 }, + { 'r', "dry-run", "Only report what would happen; don't do it", set_dry_run, 0 }, + { 's', "force-path", +#ifdef __LINUX__ + "Have IDAPython use the specified \"/path/to/libpython[...]so\" shared object", +#else +# ifdef __NT__ + "Have IDAPython use the specified \"\\path\\to\\python3.dll\" DLL", +# else + "Have IDAPython use the specified \"/path/to/libpython[...]dylib\" dylib", +# endif +#endif + set_force_path, + 1 + }, + +#ifdef __UNIX__ + { 'k', "ignore-python-config", "Don't use python-config to find out the preferred version number", set_ignore_python_config, 0 }, +#endif +#ifdef __LINUX__ + { 'x', "split-debug-and-expand-libpython3-dtneeded-room", "Expand the DT_NEEDED room to N bytes, using the local `patchelf` (needed at build-time only)", set_split_debug_expand_libpython3_dtneeded_room, 1 }, +#endif +#ifdef __MAC__ + { 't', "use-python2", "Search for alternate Python2 installations, and patch the Python2 version of idapython", set_use_python2, 0 }, +#endif +}; + +//------------------------------------------------------------------------- +static const char usage_epilog[] = + "Switch between available installations of Python3\n" + "\n" + "Because Python3 does not systematically install a single,\n" + "always-available \"python3.dll\", \"libpython3.so\" or \"python3.dylib\",\n" + "but rather allows for multiple versions of Python3 to be\n" + "installed in parallel on a given system, many tools\n" + "provide a way to switch between those versions.\n" + "\n" + "IDA is no exception, and this tool is one such Python3 'switcher'.\n" + "\n" + "It can be run in 3 ways:\n" + "\n" + " 1) The default, interactive way\n" + " -------------------------------\n" + " > $ idapyswitch\n" + " will look on the filesystem for available Python3 installations,\n" + " present the user with a list of found versions (sorted according\n" + " to preferability), and let the user pick which one IDA should use.\n" + "\n" + " 2) The 'automatic' way\n" + " ----------------------\n" + " > $ idapyswitch --auto\n" + " will look on the filesystem for available Python3 installations,\n" + " and automatically pick the one it deemed the most preferable.\n" + "\n" + " 3) The 'manual' way\n" + " -------------------\n" + " > $ idapyswitch --force-path /path/to/libpython3.7dm.so.1.2\n" + " will pick the path that the user provided.\n" + "\n" + "Once a version is picked, this tool will do the following:\n" + "\n" +#ifdef __NT__ + " * place the path to the directory containing python3.dll\n" + " into the registry. IDA will pick it up at launch-time,\n" + " and add it to the list of paths that have to be looked\n" + " into by the DLL loader.\n" +#else +# ifdef __LINUX__ + " * patch 'idapython.so' and 'idapython64.so' so that they\n" + " have a DT_NEEDED corresponding to the DT_SONAME of the\n" + " library that was selected.\n" +# else + " * patch 'idapython.dylib' and 'idapython64.dylib' so that\n" + " they refer to the right Python3 dylib.\n" +# endif +#endif + ; + +//------------------------------------------------------------------------- +int main(int argc, const char **argv) +{ + cliopts_t opts(out); + opts.epilog = usage_epilog; + opts.add(_opts, qnumber(_opts)); + opts.apply(argc, argv); + + qstring errbuf; + +#ifdef __LINUX__ + if ( !args.split_debug_expand_libpython3_dtneeded_room.empty() ) + { + if ( !split_debug_expand_libpython3_dtneeded_room( + args.split_debug_expand_libpython3_dtneeded_room.c_str(), + &errbuf) ) + { + error(EXIT_CODE_SPLIT_DEBUG_EXPAND_DT_NEEDED_ROOM_FAILED, + "Cannot split debug/expand DT_NEEDED room: %s\n", + errbuf.c_str()); + } + return 0; + } +#endif + + pyver_tool_t tool; + + if ( !args.force_path.empty() ) + { + const char *path = args.force_path.c_str(); + pylib_version_t dummy_version; + pylib_entry_t entry(dummy_version); + if ( !tool.path_to_pylib_entry(&entry, path, &errbuf) ) + { + error(EXIT_CODE_FORCE_PATH_FAILED, + "Cannot determine python library version for \"%s\": %s\n", + path, errbuf.c_str()); + } + if ( !tool.apply_version(entry, &errbuf) ) + { + qstring buf; + error(EXIT_CODE_FORCE_PATH_FAILED, + "Applying \"%s\" (extracted from path \"%s\") failed: %s\n", + entry.str(&buf), path, errbuf.c_str()); + } + } + else + { + pylib_entries_t entries; + tool.find_python_libs(&entries); + + const size_t nentries = entries.entries.size(); + if ( nentries > 0 ) + { + qstring buf; + const pylib_entry_t *preferred = nullptr; + if ( args.auto_apply ) + { + preferred = &entries.entries[0]; + } + else + { + out("The following Python installations were found:\n"); + for ( size_t i = 0; i < nentries; ++i ) + { + out_ident_inc_t iinc; + const pylib_entry_t &e = entries.entries[i]; + out("#%" FMT_Z ": %s (%s)\n", + i, + e.version.str(&buf), + !e.paths.empty() ? e.paths[0].c_str() : ""); + } + + size_t picked = size_t(-1); + while ( picked >= nentries ) + { + out("Please pick a number between 0 and %" FMT_Z " (default: 0)\n", nentries-1); + char numbuf[MAXSTR]; + qfgets(numbuf, sizeof(numbuf), stdin); + qstring qnumbuf(numbuf); + qnumbuf.rtrim('\n'); + if ( qnumbuf.empty() ) + picked = 0; + else + picked = qatoll(qnumbuf.c_str()); + } + preferred = &entries.entries[picked]; + } + + out("Applying version %s\n", preferred->version.str(&buf)); + if ( !tool.apply_version(*preferred, &errbuf) ) + { + error(EXIT_CODE_APPLY_FAILED, + "Apply failed: %s\n", + errbuf.c_str()); + } + } + else + { + error(EXIT_CODE_NO_INSTALLS, + "No Python installations were found\n"); + } + } + + return 0; +} diff --git a/idapyswitch_linux.cpp b/idapyswitch_linux.cpp new file mode 100644 index 0000000..643e86d --- /dev/null +++ b/idapyswitch_linux.cpp @@ -0,0 +1,474 @@ + +//------------------------------------------------------------------------- +static bool extract_version_from_libpython_filename( + pylib_version_t *out, + const char *p) +{ + return extract_version_from_str(out, p, "libpython", ".so"); +} + +//------------------------------------------------------------------------- +void pyver_tool_t::do_find_python_libs(pylib_entries_t *result) const +{ + // + // Find all libpython3*so* present on disk + // + static const char lib_pattern[] = "libpython3*.so*"; + static const char *dirs[] = + { + "/usr/lib/x86_64-linux-gnu", // Debian/Ubuntu + "/usr/lib64", // RedHat - FHS +#ifdef _DEBUG + "/opt/test-python-libs" +#endif + }; + + qstring verbuf; + + for ( size_t i = 0; i < qnumber(dirs); ++i ) + { + const char *d = dirs[i]; + out_verb("Searching for \"%s\" in \"%s\"\n", lib_pattern, d); + { + out_ident_inc_t iinc; + char path[QMAXPATH]; + qmakepath(path, sizeof(path), d, lib_pattern, nullptr); + qffblk64_t fb; + for ( int code = qfindfirst(path, &fb, 0); + code == 0; + code = qfindnext(&fb) ) + { + pylib_version_t version; + if ( extract_version_from_libpython_filename(&version, fb.ff_name) ) + { + qmakepath(path, sizeof(path), d, fb.ff_name, nullptr); + out_verb("Found: \"%s\" (version: %s)\n", path, version.str(&verbuf)); + pylib_entry_t &e = result->get_or_create_entry_for_version(version); + e.paths.push_back(path); + } + } + } + } +} + +//------------------------------------------------------------------------- +bool pyver_tool_t::do_path_to_pylib_entry( + pylib_entry_t *entry, + const char *path, + qstring *errbuf) const +{ + const char *fname = qbasename(path); + const bool ok = fname != nullptr && qfileexist(path); + if ( ok ) + { + extract_version_from_libpython_filename(&entry->version, fname); + entry->paths.push_back(path); + } + else + { + errbuf->sprnt("Couldn't parse file name \"%s\"", fname); + } + return ok; +} + +#define msg out +#define warning out +AS_PRINTF(1, 2) void ask_for_feedback(const char *format, ...) +{ +} +#include "../../ldr/elf/reader.cpp" + +//------------------------------------------------------------------------- +static bool read_ident_and_header_and_get_dyninfo( + dynamic_info_t *out_dyninfo, + reader_t::dyninfo_tags_t *out_dyninfo_tags, + reader_t &reader, + qstring *errbuf) +{ + if ( !reader.read_ident() ) + { + *errbuf = "Couldn't parse ELF file ident"; + return false; + } + + if ( !reader.read_header() ) + { + *errbuf = "Couldn't parse ELF file header"; + return false; + } + + dynamic_linking_tables_t dlt; + if ( reader.read_section_headers() + && reader.sections.has_valid_dynamic_linking_tables_info() ) + { + dlt = reader.sections.get_dynamic_linking_tables_info(); + } + else if ( reader.read_program_headers() + && reader.pheaders.has_valid_dynamic_linking_tables_info() ) + { + dlt = reader.pheaders.get_dynamic_linking_tables_info(); + } + return dlt.is_valid() + && reader.read_dynamic_info_tags(out_dyninfo_tags, dlt) + && reader.parse_dynamic_info(out_dyninfo, *out_dyninfo_tags); +} + +//------------------------------------------------------------------------- +static bool find_libpython_dt_needed_info( + char out_dt_needed_buf[MAXSTR], + qoff64_t *out_dt_needed_off, + const reader_t::dyninfo_tags_t &dyninfo_tags, + reader_t &reader, + const char *path, + qstring *errbuf) +{ + static const char needed_stem[] = "libpython"; + for ( const auto &dyn : dyninfo_tags ) + { + if ( dyn.d_tag == DT_NEEDED ) + { + const qoff64_t off = reader.dyn_strtab.offset + dyn.d_un; + input_status_t save_excursion(reader); + if ( save_excursion.seek(off) == -1 ) + { + errbuf->sprnt("Couldn't seek to offset %" FMT_64 "u in \"%s\"", off, path); + return false; + } + out_dt_needed_buf[0] = '\0'; + qlread(reader.get_linput(), out_dt_needed_buf, MAXSTR); + out_verb("DT_NEEDED at offset %" FMT_64 "u is: \"%s\"\n", off, out_dt_needed_buf); + if ( strneq(out_dt_needed_buf, needed_stem, sizeof(needed_stem)-1) ) + { + *out_dt_needed_off = off; + return true; + } + } + } + errbuf->sprnt("No DT_NEEDED starting with \"%s\" found", needed_stem); + return false; +} + +//------------------------------------------------------------------------- +static bool patch_dt_needed( + const char *path, + const qstring &replacement, + qstring *errbuf) +{ + out_verb("Setting relevant DT_NEEDED of \"%s\" to \"%s\"\n", path, replacement.c_str()); + out_ident_inc_t iinc; + linput_t *linput = open_linput(path, /*remote=*/ false); + if ( linput == nullptr ) + { + errbuf->sprnt("File not found: %s", path); + return false; + } + linput_janitor_t lj(linput); + reader_t reader(linput); + dynamic_info_t dyninfo; + reader_t::dyninfo_tags_t dyninfo_tags; + if ( !read_ident_and_header_and_get_dyninfo( + &dyninfo, + &dyninfo_tags, + reader, + errbuf) ) + { + return false; + } + + char dt_needed[MAXSTR]; + qoff64_t dt_needed_off; + if ( !find_libpython_dt_needed_info( + dt_needed, + &dt_needed_off, + dyninfo_tags, + reader, + path, + errbuf) ) + { + return false; + } + + out_verb("Found DT_NEEDED; currently: \"%s\"\n", dt_needed); + + // count the maximum number of bytes we can store in there + size_t room = 0; + { + input_status_t save_excursion(reader); + if ( save_excursion.seek(dt_needed_off) == -1 ) + { + errbuf->sprnt("Couldn't seek to offset %" FMT_64 "u in \"%s\"", dt_needed_off, path); + return false; + } + + // find the end of the current DT_NEEDED + uint8 byte; + const int64 filesz = qlsize(reader.get_linput()); + while ( qltell(reader.get_linput()) < filesz && reader.read_byte(&byte) == 0 ) + if ( byte == 0 ) + break; + + // then find the beginning of the next string, or the end of file + while ( qltell(reader.get_linput()) < filesz && reader.read_byte(&byte) == 0 ) + if ( byte != 0 ) + break; + room = qltell(reader.get_linput()) - dt_needed_off - 1; + } + + const size_t nbytes = replacement.length(); + out_verb("We have room for %" FMT_Z " bytes, and need to write %" FMT_Z "\n", + room, nbytes); + + // and patch + if ( room >= nbytes ) + { + FILE *fp = openM(path); + if ( fp != nullptr ) + { + file_janitor_t fpj(fp); + if ( qfseek(fp, dt_needed_off, SEEK_SET) == 0 ) + { + if ( !args.dry_run ) + { + // we want to write the zero as well! + if ( qfwrite(fp, replacement.c_str(), nbytes+1) == nbytes+1 ) + { + out_verb("File \"%s\" successfully patched\n", path); + } + else + { + errbuf->sprnt("Couldn't write %" FMT_Z " bytes to \"%s\"", nbytes, path); + return false; + } + } + else + { + out("Would write %" FMT_Z " bytes (\"%s\") to file\n", + nbytes, replacement.c_str()); + } + } + else + { + errbuf->sprnt("Cannot seek to position %" FMT_64 "u in \"%s\"", dt_needed_off, path); + return false; + } + } + else + { + errbuf->sprnt("Couldn't open \"%s\" for writing", path); + return false; + } + } + else + { + errbuf->sprnt("Replacement \"%s\" has a length of %" FMT_Z + " bytes, but there is only room for %" FMT_Z "" + " bytes in the file. Cannot proceed.\n", + replacement.c_str(), nbytes, room); + return false; + } + return true; +} + +//------------------------------------------------------------------------- +bool pyver_tool_t::do_apply_version( + const pylib_entry_t &entry, + qstring *errbuf) const +{ + qstring soname; + for ( const auto &path : entry.paths ) + { + out_verb("Trying to find out DT_SONAME from file \"%s\"\n", path.c_str()); + linput_t *linput = open_linput(path.c_str(), /*remote=*/ false); + linput_janitor_t lj(linput); + reader_t reader(linput); + dynamic_info_t dyninfo; + reader_t::dyninfo_tags_t dyninfo_tags; + qstring nonfatal_errbuf; + if ( read_ident_and_header_and_get_dyninfo( + &dyninfo, + &dyninfo_tags, + reader, + &nonfatal_errbuf) ) + { + for ( const auto &dyn : dyninfo_tags ) + { + if ( dyn.d_tag == DT_SONAME ) + { + soname = dyninfo.d_un_str(reader, dyn.d_tag, dyn.d_un); + out_verb("Found DT_SONAME: \"%s\"\n", soname.c_str()); + break; + } + } + } + else + { + out_verb("%s: %s", path.c_str(), nonfatal_errbuf.c_str()); + } + if ( !soname.empty() ) + break; + } + if ( soname.empty() ) + { + *errbuf = "No SONAME found"; + return false; + } + + // Now, do patch + struct ida_local patcher_t : public file_visitor_t + { + const qstring &lsoname; + qstring *lerrbuf; + + patcher_t(const qstring &_soname, qstring *_errbuf) + : lsoname(_soname), lerrbuf(_errbuf) {} + + virtual int visit_file(const char *path) + { + return patch_dt_needed(path, lsoname, lerrbuf) ? 0 : -1; + } + }; + patcher_t patcher(soname, errbuf); + return for_all_plugin_files(patcher, patcher.lerrbuf) == 0; +} + +//------------------------------------------------------------------------- +static int run_command(const char *_cmd, qstring *errbuf) +{ + qstring cmd(_cmd); + if ( args.dry_run ) + cmd.insert("echo "); + int rc = -1; + out_verb("Running: \"%s\"\n", cmd.c_str()); + FILE *fp = popen(cmd.c_str(), "r"); + if ( fp != nullptr ) + { + char outbuf[MAXSTR]; + /*ssize_t nread =*/ qfread(fp, outbuf, sizeof(outbuf)); + rc = pclose(fp); + if ( rc != 0 ) + errbuf->sprnt("Error calling \"%s\"; output is: %s", cmd.c_str(), outbuf); + } + else + { + errbuf->sprnt("Command \"%s\" couldn't be run", cmd.c_str()); + } + return rc; +} + +//------------------------------------------------------------------------- +#define SLOT_SIZE 64 +static bool split_debug_expand_libpython3_dtneeded_room( + const char *path, + qstring *errbuf) +{ + qstring cmdline; + char dt_needed[MAXSTR]; + { + qstring debug_path(path); + debug_path.append(".debug"); + + char path_dir[QMAXPATH]; + if ( !qdirname(path_dir, sizeof(path_dir), path) ) + { + errbuf->sprnt("Cannot obtain directory name for path \"%s\"", path); + return false; + } + + { + char cwd[QMAXPATH]; + qgetcwd(cwd, sizeof(cwd)); + + if ( qchdir(path_dir) == 0 ) + { + out_verb("Changed directory to: \"%s\"\n", path_dir); + } + else + { + errbuf->sprnt("Cannot chdir to \"%s\"", path_dir); + return false; + } + + + cmdline.sprnt("objcopy --only-keep-debug %s %s", qbasename(path), qbasename(debug_path.c_str())); + if ( run_command(cmdline.c_str(), errbuf) != 0 ) + return false; + + cmdline.sprnt("strip -s -x %s", qbasename(path)); + if ( run_command(cmdline.c_str(), errbuf) != 0 ) + return false; + + cmdline.sprnt("objcopy --add-gnu-debuglink=%s %s", qbasename(debug_path.c_str()), qbasename(path)); + if ( run_command(cmdline.c_str(), errbuf) != 0 ) + return false; + + if ( qchdir(cwd) == 0 ) + { + out_verb("Back to directory: \"%s\"\n", cwd); + } + else + { + errbuf->sprnt("Cannot chdir back to \"%s\"", cwd); + return -1; + } + } + + linput_t *linput = open_linput(path, /*remote=*/ false); + if ( linput == nullptr ) + { + errbuf->sprnt("File not found: %s", path); + return false; + } + linput_janitor_t lj(linput); + reader_t reader(linput); + dynamic_info_t dyninfo; + reader_t::dyninfo_tags_t dyninfo_tags; + if ( !read_ident_and_header_and_get_dyninfo( + &dyninfo, + &dyninfo_tags, + reader, + errbuf) ) + { + return false; + } + + qoff64_t dt_needed_off; + if ( !find_libpython_dt_needed_info( + dt_needed, + &dt_needed_off, + dyninfo_tags, + reader, + path, + errbuf) ) + { + return false; + } + } + + qstring replacement(dt_needed); + replacement.resize(SLOT_SIZE, '_'); + + // call patchelf to replace the DT_NEEDED with a padded one + out_verb("Found DT_NEEDED: \"%s\"; replacing with \"%s\"\n", + dt_needed, replacement.c_str()); + + cmdline.sprnt("patchelf --replace-needed %s %s %s", + dt_needed, + replacement.c_str(), + path); + if ( run_command(cmdline.c_str(), errbuf) == 0 ) + { + out_verb("\"%s\" command successful. Restoring the " + "original DT_NEEDED of \"%s\"\n", + cmdline.c_str(), dt_needed); + qstring padded_dt_needed(dt_needed); + padded_dt_needed.resize(SLOT_SIZE, '\0'); + if ( !patch_dt_needed(path, padded_dt_needed, errbuf) ) + return false; + } + else + { + return false; + } + + return true; +} diff --git a/idapyswitch_mac.cpp b/idapyswitch_mac.cpp new file mode 100644 index 0000000..7a1692d --- /dev/null +++ b/idapyswitch_mac.cpp @@ -0,0 +1,442 @@ +#include + +#define BUILD_IDAPYSWITCH +#include "../../ldr/ar/ar.hpp" +#include "../../ldr/ar/aixar.hpp" +#include "../../ldr/ar/arcmn.cpp" // for is_ar_file +#include "../../ldr/mach-o/common.cpp" + +//------------------------------------------------------------------------- +static void get_python_version(pylib_version_t *out, uint32 mask) +{ + out->revision = uint8(mask); + out->minor = uint8(mask >> 8); + out->major = uint8(mask >> 16); +} + +//------------------------------------------------------------------------- +static uint32 get_python_version_mask(const pylib_version_t &version) +{ + return version.revision + | version.minor << 8 + | version.major << 16; +} + +//------------------------------------------------------------------------- +static bool get_pylib_entry_for_macho( + pylib_entry_t *entry, + const char *path, + qstring *errbuf) +{ + linput_t *li = open_linput(path, false); + if ( li == nullptr ) + { + errbuf->sprnt("Failed to open file: %s", winerr(errno)); + return false; + } + linput_janitor_t lij(li); + + macho_file_t mfile(li); + if ( !mfile.parse_header() ) + { + errbuf->sprnt("Failed to parse Mach-O header"); + return false; + } + + size_t n = 0; + size_t nfat = mfile.get_fat_subfiles(); + if ( nfat == 0 ) + { + if ( mfile.get_subfile_type(0) != macho_file_t::SUBFILE_MACH_64 ) + { + errbuf->sprnt("File is not 64-bit Mach-O"); + return false; + } + } + else + { + bool found_x64 = false; + for ( size_t i = 0; i < nfat; i++ ) + { + if ( mfile.get_subfile_type(i) == macho_file_t::SUBFILE_MACH_64 ) + { + found_x64 = true; + n = i; + break; + } + } + if ( !found_x64 ) + { + errbuf->sprnt("No 64-bit arch found in FAT header"); + return false; + } + } + + if ( !mfile.set_subfile(n) ) + { + errbuf->sprnt("Failed to parse load commands"); + return false; + } + + struct ida_local lcid_finder_t : public macho_lc_visitor_t + { + pylib_entry_t *entry; + lcid_finder_t(pylib_entry_t *_entry) : entry(_entry) {} + virtual int visit_dylib(const struct dylib_command *dl, const char *begin, const char *end) + { + if ( dl->cmd == LC_ID_DYLIB ) + { + get_python_version(&entry->version, dl->dylib.current_version); + get_python_version(&entry->compatibility_version, dl->dylib.compatibility_version); + return 1; + } + return 0; + } + }; + + lcid_finder_t finder(entry); + if ( !mfile.visit_load_commands(finder) ) + { + errbuf->sprnt("failed to determine libpython version: LC_ID_DYLIB not found"); + return false; + } + + if ( entry->version.major != args.major_version ) + { + qstring verbuf; + errbuf->sprnt("unsupported python version %s", entry->version.str(&verbuf)); + return false; + } + + entry->paths.push_back(path); + return true; +} + +//------------------------------------------------------------------------- +static int extract_pylib_bin(pylib_entries_t *result, const char *version_dir) +{ + struct ida_local pylib_finder_t : public file_visitor_t + { + pylib_entries_t *result; + pylib_finder_t(pylib_entries_t *_result) : result(_result) {} + virtual int visit_file(const char *bin) + { + qstring errbuf; + pylib_version_t dummy; + pylib_entry_t entry(dummy); + + if ( get_pylib_entry_for_macho(&entry, bin, &errbuf) ) + { + qstring verbuf; + out_verb("Found: \"%s\" (version: %s)\n", bin, entry.version.str(&verbuf)); + result->entries.add_unique(entry); + return 1; + } + + out_verb("Skipping %s: %s\n", bin, errbuf.c_str()); + return 0; + } + }; + + // the name of the Framework binary can vary. just be safe and examine all files. + pylib_finder_t f(result); + return visit_files(f, version_dir, "*"); +} + +//------------------------------------------------------------------------- +static void extract_pylib_versions(pylib_entries_t *result, const char *framework) +{ + struct ida_local version_visitor_t : public file_visitor_t + { + pylib_entries_t *result; + version_visitor_t(pylib_entries_t *_result) : result(_result) {} + virtual int visit_file(const char *version_dir) + { + extract_pylib_bin(result, version_dir); + return 0; + } + }; + + // examine all Python versions in the Framework + version_visitor_t v(result); + char versions[QMAXPATH]; + qmakepath(versions, sizeof(versions), framework, "Versions", nullptr); + visit_files(v, versions, "*", FA_DIREC); +} + +//------------------------------------------------------------------------- +void pyver_tool_t::do_find_python_libs(pylib_entries_t *result) const +{ + static const char *framework_dirs[] = + { + "/Library/Frameworks", + "/System/Library/Frameworks", + "/Library/Developer/CommandLineTools/Library/Frameworks", + "/Applications/Xcode.app/Contents/Developer/Library/Frameworks", + "/usr/local/opt/python@3/Frameworks", + "/usr/local/opt/python@2/Frameworks", + }; + + struct ida_local python_framework_finder_t : public file_visitor_t + { + pylib_entries_t *result; + python_framework_finder_t(pylib_entries_t *_result) : result(_result) {} + virtual int visit_file(const char *framework) + { + extract_pylib_versions(result, framework); + return 0; + } + }; + + python_framework_finder_t pff(result); + for ( size_t i = 0; i < qnumber(framework_dirs); ++i ) + visit_files(pff, framework_dirs[i], "Python*.framework", FA_DIREC); +} + +//------------------------------------------------------------------------- +bool pyver_tool_t::do_path_to_pylib_entry( + pylib_entry_t *entry, + const char *path, + qstring *errbuf) const +{ + return get_pylib_entry_for_macho(entry, path, errbuf); +} + +//------------------------------------------------------------------------- +// misc information required to patch the load command for libpython +struct python_lc_info_t +{ + uint32 off; // offset of libpython load command + uint32 size; // size of libpython load command + qstring path; // libpython path + pylib_version_t version; // libpython version + bytevec_t header; // header data: mach_header + all load commands + uint32 headerpadsz; // size of header, including all padded bytes + python_lc_info_t(void) : off(0), size(0), headerpadsz(UINT_MAX) {} +}; + +//------------------------------------------------------------------------- +static bool get_python_lc_info(python_lc_info_t *plc, const char *path, qstring *errbuf) +{ + linput_t *li = open_linput(path, false); + if ( li == nullptr ) + { + errbuf->sprnt("Failed to open file: %s", winerr(errno)); + return false; + } + linput_janitor_t lij(li); + + // here we are assuming the target binary was built by us, which means it is a non-fat, + // 64-bit Mach-O file that links against a PythonX.X framework, and has its header padded + // so that we can patch the load commands without issue. + macho_file_t mfile(li); + if ( !mfile.parse_header() ) + { + errbuf->sprnt("Failed to parse Mach-O header"); + return false; + } + if ( mfile.get_fat_subfiles() > 0 || mfile.get_subfile_type(0) != macho_file_t::SUBFILE_MACH_64 ) + { + errbuf->sprnt("Unexpected filetype (expected 64-bit Mach-O)"); + return false; + } + if ( !mfile.set_subfile(0) ) + { + errbuf->sprnt("Failed to parse load commands"); + return false; + } + + const secvec_t §s = mfile.get_sections(); + + // find the section with the smallest fileoff. it will tell us the size of the padded header. + for ( size_t i = 0, nsects = sects.size(); i < nsects; i++ ) + { + const section_64 &s = sects[i]; + + if ( s.size != 0 + && (s.flags & S_ZEROFILL) == 0 + && (s.flags & S_THREAD_LOCAL_ZEROFILL) == 0 + && s.offset < plc->headerpadsz ) + { + plc->headerpadsz = s.offset; + } + } + + if ( plc->headerpadsz == UINT_MAX ) + { + errbuf->sprnt("Failed to determine padded size of the Mach-O header"); + return false; + } + + // extract the libpython load command + struct ida_local python_lc_finder_t : public macho_lc_visitor_t + { + python_lc_info_t *plc; + python_lc_finder_t(python_lc_info_t *_plc) : plc(_plc) + { + plc->off = sizeof(mach_header_64); + } + virtual int visit_any_load_command(const struct load_command *lc, const char *begin, const char *end) + { + if ( lc->cmd == LC_LOAD_DYLIB ) + { + const struct dylib_command *dl = (const struct dylib_command *)begin; + const char *p = begin + dl->dylib.name.offset; + if ( p < end ) + { + qstring _path = qstring(p, end-p); + const char *basename = qbasename(_path.c_str()); + if ( strneq(basename, "Python", 6) || strneq(basename, "libpython", 9) ) + { + plc->path = _path; + plc->size = dl->cmdsize; + get_python_version(&plc->version, dl->dylib.current_version); + return 1; + } + } + } + // not libpython, keep looking + plc->off += lc->cmdsize; + return 0; + } + }; + + python_lc_finder_t finder(plc); + if ( !mfile.visit_load_commands(finder) ) + { + errbuf->sprnt("No libpython dependency found"); + return false; + } + + mfile.get_mach_header_data(&plc->header); + return true; +} + +//------------------------------------------------------------------------- +typedef janitor_t fd_janitor_t; +template <> inline fd_janitor_t::~janitor_t() +{ + qclose(resource); +} + +//------------------------------------------------------------------------- +static bool do_patch( + void *map, + const pylib_entry_t &entry, + const python_lc_info_t &plc, + qstring *errbuf) +{ + const char *path = entry.paths[0].c_str(); + size_t path_len = entry.paths[0].length(); + + // validate the size of the new load command + mach_header_64 *mheader = (mach_header_64 *)map; + uint32 sizeofcmds = mheader->sizeofcmds; + uint32 newcmdsize = align_up(sizeof(dylib_command) + path_len + 1, 8); + + int32 diff = newcmdsize - plc.size; + sizeofcmds += diff; + + if ( sizeofcmds + sizeof(mach_header_64) > plc.headerpadsz ) + { + errbuf->sprnt("Updated load commands do not fit in the Mach-O header"); + return false; + } + + // patch the mach header + mheader->sizeofcmds = sizeofcmds; + + // patch the libpython load command + dylib_command *cmd = (dylib_command *)((uchar *)map + plc.off); + cmd->cmdsize = newcmdsize; + cmd->dylib.current_version = get_python_version_mask(entry.version); + cmd->dylib.compatibility_version = get_python_version_mask(entry.compatibility_version); + + // write the new libpython path + uchar *ptr = (uchar *)cmd + sizeof(dylib_command); + memcpy(ptr, path, path_len); + ptr += path_len; + size_t npad = newcmdsize - (sizeof(dylib_command) + path_len); + memset(ptr, 0, npad); + ptr += npad; + + // copy the original load commands after libpython + const uchar *org = plc.header.begin() + plc.off + plc.size; + const uchar *end = plc.header.end(); + size_t norg = end - org; + memcpy(ptr, org, norg); + ptr += norg; + + // if the new sizeofcmds is smaller, fill excess space with 0s + if ( diff < 0 ) + memset(ptr, 0, -diff); + + return true; +} + +//------------------------------------------------------------------------- +static bool patch_python_dylib_cmd( + const char *path, + const pylib_entry_t &entry, + qstring *errbuf) +{ + out_verb("patching: %s\n", path); + + python_lc_info_t plc; + if ( !get_python_lc_info(&plc, path, errbuf) ) + return false; + + // be careful that we're not patching the wrong build of idapython + if ( entry.version.major != plc.version.major ) + { + errbuf->sprnt("idapython binary %s was not built against python %d", path, entry.version.major); + return false; + } + + int fd = qopen(path, O_RDWR); + if ( fd < 0 ) + { + errbuf->sprnt("Failed to open file: %s", winerr(errno)); + return false; + } + fd_janitor_t fdj(fd); + + qstatbuf sbuf; + memset(&sbuf, 0, sizeof(sbuf)); + if ( qfstat(fd, &sbuf) != 0 ) + { + errbuf->sprnt("fstat() failed: %s", winerr(errno)); + return false; + } + + void *map = mmap(0, sbuf.qst_size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); + if ( map == MAP_FAILED ) + { + errbuf->sprnt("mmap() failed: %s", winerr(errno)); + return false; + } + + bool ok = do_patch(map, entry, plc, errbuf); + + munmap(map, sbuf.qst_size); + return ok; +} + +//------------------------------------------------------------------------- +bool pyver_tool_t::do_apply_version( + const pylib_entry_t &entry, + qstring *errbuf) const +{ + struct ida_local patcher_t : public file_visitor_t + { + const pylib_entry_t &entry; + qstring *lerrbuf; + patcher_t(const pylib_entry_t &_entry, qstring *_errbuf) : entry(_entry), lerrbuf(_errbuf) {} + virtual int visit_file(const char *path) + { + return patch_python_dylib_cmd(path, entry, lerrbuf) ? 0 : -1; + } + }; + patcher_t patcher(entry, errbuf); + return for_all_plugin_files(patcher, patcher.lerrbuf) == 0; +} diff --git a/idapyswitch_win.cpp b/idapyswitch_win.cpp new file mode 100644 index 0000000..2c094ac --- /dev/null +++ b/idapyswitch_win.cpp @@ -0,0 +1,476 @@ + +#define PYTHON3_DLL "python3.dll" + +//------------------------------------------------------------------------- +#define IDA_HKEY HKEY_CURRENT_USER +#define IDA_ADDLIB_SUBKEY L"Software\\Hex-Rays\\IDA" +#define IDA_ADDLIB_VALUE L"Python3TargetDLL" + +#define PYTHON_INSTALLS_KEY L"Software\\Python" +#define PYTHON_INSTALL_PATH_SUBKEY L"InstallPath" +#define PYTHON_DISPLAY_NAME_SUBKEY L"DisplayName" +#define PYTHON_SYSVER_SUBKEY L"SysVersion" +#define PYTHON_INSTALL_PATH_DEFAULT_VALUE L"" + +//------------------------------------------------------------------------- +static bool open_ida_addlib_subkey(HKEY *out, REGSAM samDesired) +{ + DWORD err = RegOpenKeyExW(IDA_HKEY, IDA_ADDLIB_SUBKEY, 0, samDesired, out); + if ( err == ERROR_SUCCESS ) + return true; + if ( samDesired == KEY_READ ) + return false; + // opening for write failed; create the subkeys + err = RegCreateKeyExW(IDA_HKEY, IDA_ADDLIB_SUBKEY, 0, NULL, REG_OPTION_NON_VOLATILE, samDesired, NULL, out, NULL); + return err == ERROR_SUCCESS; +} + +//------------------------------------------------------------------------- +static bool read_string( + qstring *out, + HKEY key, + const wchar16_t *value, + qstring *errbuf=nullptr) +{ + DWORD type; + DWORD size; + if ( RegQueryValueExW(key, value, nullptr, &type, nullptr, &size) == ERROR_SUCCESS && type == REG_SZ ) + { + bytevec_t buf; + buf.resize(size); + if ( RegQueryValueExW(key, value, nullptr, &type, buf.begin(), &size) == ERROR_SUCCESS && type == REG_SZ ) + return utf16_utf8(out, (wchar16_t *) buf.begin(), buf.size() / sizeof(wchar16_t)); + } + if ( errbuf != nullptr ) + errbuf->sprnt("Couldn't query value \"%ls\"\n", value); + return false; +} + +//------------------------------------------------------------------------- +static bool write_string( + HKEY key, + const wchar16_t *value, + const char *str, + qstring *errbuf=nullptr) +{ + qwstring wstr; + bool ok = utf8_utf16(&wstr, str) + && RegSetValueExW(key, value, 0, REG_SZ, + (LPBYTE) wstr.c_str(), + wstr.length() * sizeof(wstr[0])) == ERROR_SUCCESS; + if ( !ok ) + errbuf->sprnt("Couldn't write string data \"%s\" to value \"%ls\"", str, value); + return ok; +} + +//------------------------------------------------------------------------- +static bool extract_version_from_path( + pylib_version_t *out, + const char *_path) +{ + qstring qpath(_path); + qpath.rtrim('\\'); + const char *path = qpath.c_str(); + const char *p = qbasename(path); + if ( p == nullptr ) + return false; + if ( !strnieq(p, "Python", 6) ) + return false; + p += 6; + if ( !qisdigit(p[0]) || !qisdigit(p[1]) ) + return false; + out->raw = p; + int major = p[0] - '0'; + int minor = p[1] - '0'; + int revision = 0; + p += 2; + if ( qisdigit(p[0]) ) + { + revision = p[0] - '0'; + ++p; + } + out->major = major; + out->minor = minor; + out->revision = revision; + out->modifiers = p; + return true; +} + +//------------------------------------------------------------------------- +static bool is_python3Y_dll_file_name(const char *fname) +{ + return fname != nullptr + && strnieq(fname, "python3", 7) + && qisdigit(fname[7]) + && strieq(&fname[8], ".dll"); +} + +//------------------------------------------------------------------------- +static bool probe_python_install_dir_from_dll_path( + qstrvec_t *out_paths, + pylib_version_t *out_version, + const char *path, + qstring *errbuf) +{ + char dir[QMAXPATH]; + if ( !qdirname(dir, sizeof(dir), path) ) + { + errbuf->sprnt("Couldn't retrieve directory name from \"%s\"", path); + return false; + } + extract_version_from_path(out_version, dir); // not fatal if this fails + + bool found_python3_dll = false; + bool found_python3Y_dll = false; + static const char dll_pattern[] = "python3*.dll"; + + char pattern_path[QMAXPATH]; + qmakepath(pattern_path, sizeof(pattern_path), dir, dll_pattern, nullptr); + qstring verbuf; + qffblk64_t fb; + for ( int code = qfindfirst(pattern_path, &fb, 0); + code == 0; + code = qfindnext(&fb) ) + { + const char *ext = get_file_ext(fb.ff_name); + if ( ext != nullptr && strieq(ext, "dll") ) + { + char dll_path[QMAXPATH]; + qmakepath(dll_path, sizeof(dll_path), dir, fb.ff_name, nullptr); + out_verb("Found: \"%s\" (version: %s)\n", dll_path, out_version->str(&verbuf)); + out_paths->push_back(dll_path); + + if ( !found_python3_dll && strieq(fb.ff_name, PYTHON3_DLL) ) + found_python3_dll = true; + if ( !found_python3Y_dll && is_python3Y_dll_file_name(fb.ff_name) ) + found_python3Y_dll = true; + } + } + + if ( !found_python3_dll ) + { + errbuf->sprnt("No \"" PYTHON3_DLL "\" file found in directory \"%s\"", dir); + return false; + } + if ( !found_python3Y_dll ) + { + errbuf->sprnt("No \"python3[0-9].dll\" file found in directory \"%s\"", dir); + return false; + } + return true; +} + +//------------------------------------------------------------------------- +// given a key to a path like HKLM\SOFTWARE\Python\PythonCore, +// - enumerate subkeys and their check InstallPath subkey, using the default value as the directory to the installation +// e.g. +// HKLM\SOFTWARE\Python\PythonCore\3.6\InstallPath -> (Default) = C:\Python36\ +// - check for python3.dll and python3Y.dll in it and add them to 'result' +static void enum_python_key(pylib_entries_t *result, const HKEY hkey, qstring *_errbuf, qstring *_verbuf) +{ + qstring &errbuf = *_errbuf; + qstring &verbuf = *_verbuf; + int index = 0; + WCHAR subkey[MAXSTR]; + qstring displayname; + if ( read_string(&displayname, hkey, PYTHON_DISPLAY_NAME_SUBKEY) ) + { + out("Checking installs from \"%s\"\n", displayname.c_str()); + } + while ( true ) + { + DWORD subkey_sz = qnumber(subkey); + if ( RegEnumKeyExW(hkey, index++, subkey, &subkey_sz, + nullptr, nullptr, nullptr, nullptr) != ERROR_SUCCESS ) + { + // no more installs + break; + } + HKEY ihkey; + if ( RegOpenKeyExW(hkey, subkey, 0, KEY_READ, &ihkey) == ERROR_SUCCESS ) + { + out_verb("Opened \"%ls\"\n", subkey); + //opened an install. get its version from SysVersion value + qstring sysver; + pylib_version_t version; + bool ok = read_string(&sysver, ihkey, PYTHON_SYSVER_SUBKEY); + ok = ok && parse_python_version_str(&version, sysver.c_str()) && version.major >= 3; + if ( ok ) + { + if ( read_string(&displayname, ihkey, PYTHON_DISPLAY_NAME_SUBKEY) ) + { + out("Checking \"%s\" (%s)\n", displayname.c_str(), sysver.c_str()); + } + HKEY vhkey; + if ( RegOpenKeyExW(ihkey, PYTHON_INSTALL_PATH_SUBKEY, 0, KEY_READ, &vhkey) == ERROR_SUCCESS ) + { + qstring install_path; + if ( read_string(&install_path, vhkey, PYTHON_INSTALL_PATH_DEFAULT_VALUE, &errbuf) ) + { + char probe[QMAXPATH]; + qmakepath(probe, sizeof(probe), install_path.c_str(), PYTHON3_DLL, nullptr); + pylib_version_t unused; + qstrvec_t paths; + if ( probe_python_install_dir_from_dll_path( + &paths, + &version, + probe, + &errbuf) ) + { + out("Found: \"%s\" (version: %s)\n", install_path.c_str(), version.str(&verbuf)); + pylib_entry_t &e = result->get_or_create_entry_for_version(version); + e.paths.insert(e.paths.end(), paths.begin(), paths.end()); + } + else + { + out_verb("Ignoring directory \"%s\": %s\n", install_path.c_str(), errbuf.c_str()); + } + } + else + { + out_verb("Couldn't query \"%s\"'s value \"%ls\": %s\n", + subkey, + PYTHON_INSTALL_PATH_DEFAULT_VALUE, + errbuf.c_str()); + } + RegCloseKey(vhkey); + } + else + { + out_verb("Couldn't open \"%s\"\n", subkey); + } + } + else + { + out_verb("Not a Python 3.x or no version info, skipping\n"); + } + + RegCloseKey(ihkey); + } + } +} +//------------------------------------------------------------------------- +void pyver_tool_t::do_find_python_libs(pylib_entries_t *result) const +{ + qstring errbuf; + qstring verbuf; + + // + // Enumerate: + // * HKEY_LOCAL_MACHINE\Software\Python\PythonCore\* versions + // * HKEY_CURRENT_USER\Software\Python\PythonCore\* versions + // + static const HKEY top_keys[] = + { + HKEY_LOCAL_MACHINE, + HKEY_CURRENT_USER, + }; + + static const char * knames[] = + { + "HLKM", + "HKCU", + }; + for ( size_t i = 0; i < qnumber(top_keys); ++i ) + { + HKEY hkey_python; + out_verb("Searching for subkeys of \"%s\\%ls\"\n", knames[i], PYTHON_INSTALLS_KEY); + if ( RegOpenKeyExW(top_keys[i], PYTHON_INSTALLS_KEY, 0, KEY_READ, &hkey_python) == ERROR_SUCCESS ) + { + WCHAR subkey[MAXSTR]; + int index = 0; + while ( true ) + { + DWORD subkey_sz = qnumber(subkey); + if ( RegEnumKeyExW(hkey_python, index++, subkey, &subkey_sz, + nullptr, nullptr, nullptr, nullptr) != ERROR_SUCCESS ) + { + break; + } + HKEY hkey; + if ( RegOpenKeyExW(hkey_python, subkey, 0, KEY_READ, &hkey) == ERROR_SUCCESS ) + { + out_verb("Found \"%s\\%ls\\%ls\"\n", knames[i], PYTHON_INSTALLS_KEY, subkey); + enum_python_key(result, hkey, &errbuf, &verbuf); + RegCloseKey(hkey); + } + } + RegCloseKey(hkey_python); + } + } + + // + // See if we already have one registered for IDA + // + { + HKEY idahkey; + if ( open_ida_addlib_subkey(&idahkey, KEY_READ) ) + { + qstring existing; + if ( read_string(&existing, idahkey, IDA_ADDLIB_VALUE) ) + { + out_verb("Previously-used DLL: \"%s\"\n", existing.c_str()); + pylib_version_t version; + qstrvec_t paths; + if ( probe_python_install_dir_from_dll_path( + &paths, + &version, + existing.c_str(), + &errbuf) ) + { + out("IDA previously used: \"%s\" (guessed version: %s). " + "Making this the preferred version.\n", + existing.c_str(), version.str(&verbuf)); + pylib_entry_t e(version); + e.paths.swap(paths); + e.preferred = true; + result->entries.push_back(e); + } + else + { + out_verb("Ignoring directory \"%s\": %s\n", + existing.c_str(), errbuf.c_str()); + } + } + else + { + out_verb("\"%ls\" exists, but no \"%ls\" value found\n", + IDA_ADDLIB_SUBKEY, IDA_ADDLIB_VALUE); + } + RegCloseKey(idahkey); + } + else + { + out_verb("No \"%ls\" key found\n", IDA_ADDLIB_SUBKEY); + } + } +} + +//------------------------------------------------------------------------- +bool pyver_tool_t::do_path_to_pylib_entry( + pylib_entry_t *entry, + const char *path, + qstring *errbuf) const +{ + return probe_python_install_dir_from_dll_path(&entry->paths, &entry->version, path, errbuf); +} + +#include + +#include "../../ldr/pe/pe.h" +#include "../../ldr/pe/common.cpp" + +//------------------------------------------------------------------------- +bool pyver_tool_t::do_apply_version( + const pylib_entry_t &entry, + qstring *errbuf) const +{ + HKEY idahkey; + if ( !open_ida_addlib_subkey(&idahkey, KEY_WRITE) ) + { + errbuf->sprnt("Couldn't open \"%ls\" key for writing\n", IDA_ADDLIB_SUBKEY); + return false; + } + + qstring replacement; + bool ok = false; + for ( const auto &path : entry.paths ) + { + const char *candidate = qbasename(path.c_str()); + if ( is_python3Y_dll_file_name(candidate) ) + { + replacement = candidate; + ok = write_string(idahkey, IDA_ADDLIB_VALUE, path.c_str(), errbuf); + break; + } + } + RegCloseKey(idahkey); + if ( !ok ) + { + errbuf->sprnt("Couldn't find a suitable python3Y.dll file"); + return false; + } + + // Now, let's handle sip.pyd + out_verb("Handling sip.pyd\n"); + char path[QMAXPATH]; + qmakepath(path, sizeof(path), idadir(""), "python", "3", "PyQt5", "sip.pyd", nullptr); + linput_t *linput = open_linput(path, /*remote=*/ false); + if ( linput == nullptr ) + { + errbuf->sprnt("File not found: %s", path); + return false; + } + linput_janitor_t lj(linput); + pe_loader_t pl; + if ( !pl.read_header(linput, /*silent=*/ true) + || pl.process_sections(linput) != 0 ) + { + errbuf->sprnt("%s: couldn't read header, or process sections", path); + return false; + } + + for ( int ni = 0; ; ++ni ) + { + peimpdir_t tmp; + off_t off = pl.pe.impdir.rva + ni*sizeof(peimpdir_t); + out_verb("Reading import table at %u (0x%x)\n", uint32(off), uint32(off)); + if ( !pl.vmread(linput, off, &tmp, sizeof(tmp)) ) + { + errbuf->sprnt("%s: failed reading import table", path); + } + if ( tmp.dllname == 0 || tmp.looktab == 0 ) + break; + + char dll[MAXSTR]; + bool ok = true; + pl.asciiz(linput, tmp.dllname, dll, sizeof(dll), &ok); + if ( !ok ) + break; + out_verb("Import table entry #%d; dll name: \"%s\"\n", ni, dll); + if ( is_python3Y_dll_file_name(dll) ) + { + out_verb("Found python3Y.dll: \"%s\" at offset %u (0x%x)\n", + dll, tmp.dllname, tmp.dllname); + FILE *fp = openM(path); + if ( fp != nullptr ) + { + file_janitor_t fpj(fp); + if ( qfseek(fp, pl.map_ea(tmp.dllname), SEEK_SET) == 0 ) + { + const size_t nbytes = replacement.size(); // we want to write the zero as well! + if ( !args.dry_run ) + { + if ( qfwrite(fp, replacement.c_str(), nbytes) == nbytes ) + { + out_verb("File \"%s\" successfully patched (with \"%s\")\n", path, replacement.c_str()); + } + else + { + errbuf->sprnt("Couldn't write %" FMT_Z " bytes to \"%s\"", nbytes, path); + return false; + } + } + else + { + out("Would write %" FMT_Z " bytes (\"%s\") to file\n", + nbytes, replacement.c_str()); + } + } + else + { + errbuf->sprnt("Cannot seek to position %u in \"%s\"", tmp.dllname, path); + return false; + } + } + else + { + errbuf->sprnt("Couldn't open \"%s\" for writing", path); + return false; + } + break; + } + } + + return true; +} diff --git a/python.cfg b/idapython.cfg similarity index 96% rename from python.cfg rename to idapython.cfg index 65e6c69..91f3f55 100644 --- a/python.cfg +++ b/idapython.cfg @@ -14,7 +14,7 @@ SCRIPT_TIMEOUT = 3 AUTOIMPORT_COMPAT_IDAAPI = YES // Should the plugin automatically load a 6.95 bw-compatibility layer? -AUTOIMPORT_COMPAT_IDA695 = YES +AUTOIMPORT_COMPAT_IDA695 = NO // Is IDAPython namespace-aware? // If yes, then plugins, loaders & processor modules will each be loaded diff --git a/python.cpp b/idapython.cpp similarity index 87% rename from python.cpp rename to idapython.cpp index e3e788f..458ce67 100644 --- a/python.cpp +++ b/idapython.cpp @@ -18,13 +18,6 @@ #define _SSIZE_T_DEFINED 1 #endif -#ifdef __LINUX__ -#include -#endif -#ifdef __MAC__ -#include -#undef SEG_DATA // avoid conflict between mach-o/loader.h and segment.hpp -#endif // Python defines snprintf macro so we need to allow it #define USE_DANGEROUS_FUNCTIONS #include @@ -38,10 +31,19 @@ #if defined (PY_MAJOR_VERSION) && (PY_MAJOR_VERSION < 3) // in Python 2.x many APIs accept char * instead of const char * GCC_DIAG_OFF(write-strings) -#else -#error remove me once we switch to Python 3 #endif +#ifdef PY3 +# define PYCODE_OBJECT_TO_PYEVAL_ARG(Expr) (Expr) +#else +# define PYCODE_OBJECT_TO_PYEVAL_ARG(Expr) ((PyCodeObject *) Expr) +#endif + +#include "extapi.hpp" +#include "extapi.cpp" + +ext_api_t extapi; + #include "pywraps.hpp" #include "pywraps.cpp" @@ -108,7 +110,6 @@ static bool idaapi IDAPython_extlang_eval_expr( //#define ENABLE_PYTHON_PROFILING #ifdef ENABLE_PYTHON_PROFILING #include "compile.h" -#include "frameobject.h" static int tracefunc(PyObject *obj, _frame *frame, int what, PyObject *arg) { PyObject *str; @@ -120,7 +121,7 @@ static int tracefunc(PyObject *obj, _frame *frame, int what, PyObject *arg) str = PyObject_Str(frame->f_code->co_filename); if ( str != NULL ) { - msg("PROFILING: %s:%d\n", PyString_AsString(str), frame->f_lineno); + msg("PROFILING: %s:%d\n", IDAPyStr_AsUTF8(str), frame->f_lineno); Py_DECREF(str); } } @@ -133,12 +134,18 @@ static int tracefunc(PyObject *obj, _frame *frame, int what, PyObject *arg) static bool g_ui_ready = false; static bool g_alert_auto_scripts = true; static bool g_remove_cwd_sys_path = false; -static bool g_use_local_python = false; static bool g_autoimport_compat_idaapi = true; static bool g_autoimport_compat_ida695 = true; static bool g_namespace_aware = true; static bool g_repl_use_sys_displayhook = true; +//------------------------------------------------------------------------- +bool ida_export is_api695_compat_enabled() +{ + return g_autoimport_compat_ida695; +} + +//------------------------------------------------------------------------- // Allowing the user to interrupt a script is not entirely trivial. // Imagine the following script, that is run in an IDB that uses // an IDAPython processor module (important!) : @@ -167,7 +174,8 @@ static bool g_repl_use_sys_displayhook = true; struct exec_entry_t { time_t etime; - exec_entry_t() { etime = time(NULL); } + exec_entry_t() { reset_start_time(); } + void reset_start_time() { etime = time(NULL); } }; DECLARE_TYPE_AS_MOVABLE(exec_entry_t); typedef qvector exec_entries_t; @@ -178,13 +186,13 @@ struct execution_t exec_entries_t entries; int timeout; uint32 steps_before_action; - bool waitdialog_shown; + bool wait_box_shown; bool interruptible_state; execution_t() : timeout(2), steps_before_action(0), - waitdialog_shown(false), + wait_box_shown(false), interruptible_state(true) { reset_steps(); @@ -193,15 +201,53 @@ struct execution_t void push(); void pop(); bool can_interrupt_current(time_t now) const; + void reset_current_start_time(); void stop_tracking(); void sync_to_present_time(); - void maybe_hide_waitdialog(); + void maybe_hide_wait_box(); void set_interruptible(bool intr) { interruptible_state = intr; } - static int on_trace(PyObject *obj, _frame *frame, int what, PyObject *arg); + bool is_our_wait_box_in_charge() const; + static int on_trace(PyObject *obj, PyFrameObject *frame, int what, PyObject *arg); }; static execution_t execution; -//#define LOG_EXEC 1 +//------------------------------------------------------------------------- +typedef qvector idapython_wait_box_requests_t; +static idapython_wait_box_requests_t idapython_wait_box_requests; +static inline bool idapython_is_user_waitbox_shown() +{ + return idapython_wait_box_requests.has(false); +} + +//------------------------------------------------------------------------- +//lint -esym(683,show_wait_box) function 'show_wait_box' #define'd, semantics may be lost +//lint -esym(750,show_wait_box) local macro '' not referenced +//lint -esym(750,hide_wait_box) local macro '' not referenced +void ida_export idapython_show_wait_box( + bool internal, + const char *message) +{ + idapython_wait_box_requests.push_back(internal); +#undef show_wait_box + show_wait_box("%s", message); +#define show_wait_box USE_IDAPYTHON_SHOW_WAIT_BOX +} + +//------------------------------------------------------------------------- +void ida_export idapython_hide_wait_box() +{ + if ( !idapython_wait_box_requests.empty() ) + { + idapython_wait_box_requests.pop_back(); + execution.reset_current_start_time(); + } +#undef hide_wait_box + hide_wait_box(); +#define hide_wait_box USE_IDAPYTHON_HIDE_WAIT_BOX +} + + +// #define LOG_EXEC 1 #ifdef LOG_EXEC #define LEXEC(...) msg("IDAPython exec: " __VA_ARGS__) #else @@ -229,7 +275,7 @@ void execution_t::reset_steps() void execution_t::push() { if ( entries.empty() ) - PyEval_SetTrace(execution_t::on_trace, NULL); + extapi.PyEval_SetTrace_ptr((Py_tracefunc) execution_t::on_trace, NULL); //lint !e611 cast between pointer to function type '' and pointer to object type 'void *' entries.push_back(); LEXEC("push() (now: %d entries)\n", int(entries.size())); } @@ -246,8 +292,8 @@ void execution_t::pop() //------------------------------------------------------------------------- void execution_t::stop_tracking() { - PyEval_SetTrace(NULL, NULL); - maybe_hide_waitdialog(); + extapi.PyEval_SetTrace_ptr(NULL, NULL); + maybe_hide_wait_box(); } //------------------------------------------------------------------------- @@ -256,16 +302,17 @@ void execution_t::sync_to_present_time() time_t now = time(NULL); for ( size_t i = 0, n = entries.size(); i < n; ++i ) entries[i].etime = now; - maybe_hide_waitdialog(); + maybe_hide_wait_box(); } //------------------------------------------------------------------------- -void execution_t::maybe_hide_waitdialog() +void execution_t::maybe_hide_wait_box() { - if ( waitdialog_shown ) + if ( wait_box_shown ) { - hide_wait_box(); - waitdialog_shown = false; + LEXEC("execution_t (%p)::maybe_hide_wait_box() hiding dialog\n", this); + idapython_hide_wait_box(); + wait_box_shown = false; } } @@ -282,8 +329,18 @@ bool execution_t::can_interrupt_current(time_t now) const return can; } +//------------------------------------------------------------------------- +void execution_t::reset_current_start_time() +{ + if ( !entries.empty() ) + { + LEXEC("reset_current_start_time()\n"); + entries.back().reset_start_time(); + } +} + //------------------------------------------------------------------------ -int execution_t::on_trace(PyObject *obj, _frame *frame, int what, PyObject *arg) +int execution_t::on_trace(PyObject *obj, PyFrameObject *frame, int what, PyObject *arg) { LEXEC("on_trace() (steps=%d, nentries=%d)\n", int(execution.steps_before_action), @@ -294,33 +351,51 @@ int execution_t::on_trace(PyObject *obj, _frame *frame, int what, PyObject *arg) if ( get_active_modal_widget() != NULL ) { - LEXEC("on_trace()::a modal widget is active. Not showing the wait dialog.\n"); + LEXEC("on_trace()::a modal widget is active. Not showing our 'interrupt dialog'.\n"); return 0; } execution.reset_steps(); + + if ( idapython_is_user_waitbox_shown() ) + { + LEXEC("on_trace()::a user wait dialog is currently shown. Not showing our 'interrupt dialog'.\n"); + return 0; + } + time_t now = time(NULL); LEXEC("on_trace()::now: %d\n", int(now)); - bool can_interrupt = execution.can_interrupt_current(now); - if ( can_interrupt ) + if ( execution.can_interrupt_current(now) ) { - LEXEC("on_trace()::can_interrupt. Waitdialog shown? %d\n", - int(execution.waitdialog_shown)); - if ( execution.waitdialog_shown ) + const bool user_clicked_cancel = user_cancelled(); + LEXEC("on_trace()::can_interrupt. 'Interrupt dialog' shown=%d, user cancelled=%d\n", + int(execution.wait_box_shown), + int(user_clicked_cancel)); + if ( execution.wait_box_shown ) { - if ( user_cancelled() ) + if ( user_clicked_cancel ) { - LEXEC("on_trace()::INTERRUPTING\n"); if ( PyErr_Occurred() == NULL ) + { + LEXEC("on_trace()::INTERRUPTING (setting 'User interrupted' exception) at line %d\n", + PyFrame_GetLineNumber(frame)); PyErr_SetString(PyExc_KeyboardInterrupt, "User interrupted"); + } return -1; } } else { - LEXEC("on_trace()::showing wait dialog\n"); - show_wait_box("Running Python script"); - execution.waitdialog_shown = true; + if ( !user_clicked_cancel ) + { + LEXEC("on_trace()::showing wait dialog\n"); + idapython_show_wait_box(/*internal=*/ true, "Running Python script"); + execution.wait_box_shown = true; + } + else + { + LEXEC("on_trace()::not showing wait dialog; user_cancelled()\n"); + } } } @@ -445,23 +520,22 @@ static void PythonEvalOrExec( { // Compile as an expression PYW_GIL_CHECK_LOCKED_SCOPE(); - PyCompilerFlags cf = {0}; qstring qstr(str); - newref_t py_code(Py_CompileStringFlags(bomify(&qstr), filename, Py_eval_input, &cf)); + newref_t py_code(Py_CompileString(bomify(&qstr), filename, Py_eval_input)); if ( py_code == NULL || PyErr_Occurred() ) { // Not an expression? PyErr_Clear(); // Run as a string - PyRun_SimpleString(str); + extapi.PyRun_SimpleString_ptr(str); } else { PyObject *py_globals = get_module_globals(); newref_t py_result( PyEval_EvalCode( - (PyCodeObject *) py_code.o, + PYCODE_OBJECT_TO_PYEVAL_ARG(py_code.o), py_globals, py_globals)); @@ -482,10 +556,16 @@ static void PythonEvalOrExec( bool ok = false; if ( PyUnicode_Check(py_result.o) ) { + qstring utf8; +#ifdef PY3 + IDAPyStr_AsUTF8(&utf8, py_result.o); +#else newref_t py_result_utf8(PyUnicode_AsUTF8String(py_result.o)); ok = py_result_utf8 != NULL; if ( ok ) - msg("%s\n", PyString_AS_STRING(py_result_utf8.o)); + IDAPyStr_AsUTF8(&utf8, py_result_utf8.o); +#endif + msg("%s\n", utf8.c_str()); } else { @@ -523,7 +603,7 @@ static bool idaapi IDAPython_extlang_eval_snippet( PyErr_Clear(); { new_execution_t exec; - newref_t result(PyRun_String( + newref_t result(extapi.PyRun_String_ptr( str, Py_file_input, globals, @@ -624,18 +704,6 @@ static bool check_python_dir() } } - // on linux, PyQt needs to drop python/lib/python2.7/lib-dynload/sip.so, - // thus we can't rely on the mere presence of 'lib'. However, we know - // the bundled python drops python/lib/python27.zip. Let's look for that. -#ifdef __LINUX__ - qmakepath(filepath, sizeof(filepath), g_idapython_dir, "lib", "python27.zip", NULL); - if ( qfileexist(filepath) ) - { - deb(IDA_DEBUG_PLUGIN, "Found \"%s\"; assuming local Python.\n", filepath); - g_use_local_python = true; - } -#endif // __LINUX__ - return true; } @@ -643,7 +711,7 @@ static bool check_python_dir() // This function will execute a script in the main module context // It does not use 'import', thus the executed script will not yield a new module name // Caller of this function should call handle_python_error() to clear the exception and print the error -static int PyRunFile(const char *FileName) +static int PyRunFile(const char *path) { #ifdef __NT__ // if the current disk has no space (sic, the current directory, not the one @@ -661,25 +729,30 @@ static int PyRunFile(const char *FileName) #endif PYW_GIL_CHECK_LOCKED_SCOPE(); - PyObject *file_obj = PyFile_FromString((char*)FileName, "r"); //lint !e605 !e1776 - PyObject *globals = get_module_globals(); - if ( globals == NULL || file_obj == NULL ) - { - Py_XDECREF(file_obj); - return 0; - } - PyErr_Clear(); - PyObject *result = PyRun_File( - PyFile_AsFile(file_obj), - FileName, - Py_file_input, - globals, - globals); - Py_XDECREF(file_obj); - int rc = result != NULL && !PyErr_Occurred(); - Py_XDECREF(result); - return rc; + PyObject *__main__globals = get_module_globals(); + + //lint -esym(429, fp) custodial pointer not freed or returned + FILE *fp = qfopen(path, "rt"); + if ( fp == NULL ) + return 0; + file_janitor_t fpj(fp); + qstring contents; + const uint64 fpsz = qfsize(fp); + if ( fpsz == 0 ) + return 0; + contents.resize(fpsz); + qfread(fp, contents.begin(), fpsz); + + newref_t code(Py_CompileString(contents.c_str(), path, Py_file_input)); + if ( code == NULL ) + return 0; + + newref_t result(PyEval_EvalCode( + PYCODE_OBJECT_TO_PYEVAL_ARG(code.o), + __main__globals, + __main__globals)); + return result != NULL && !PyErr_Occurred(); } //------------------------------------------------------------------------- @@ -698,7 +771,7 @@ void IDAPython_RunStatement(void) { PYW_GIL_GET; new_execution_t exec; - PyRun_SimpleString(qbuf.c_str()); + extapi.PyRun_SimpleString_ptr(qbuf.c_str()); } // Store the statement to the database @@ -763,7 +836,7 @@ static bool IDAPython_ExecFile( if ( globals == NULL ) globals = get_module_globals(); - newref_t py_script(PyString_FromString(script)); + newref_t py_script(IDAPyStr_FromUTF8(script)); borref_t py_false(Py_False); newref_t py_ret(PyObject_CallFunctionObjArgs( py_execscript.o, @@ -816,9 +889,9 @@ static bool IDAPython_ExecFile( ok = true; } } - else if ( PyString_Check(ret_o) ) + else if ( IDAPyStr_Check(ret_o) ) { - *errbuf = PyString_AsString(ret_o); + IDAPyStr_AsUTF8(errbuf, ret_o); } else { @@ -917,15 +990,24 @@ static bool idaapi IDAPython_extlang_call_func( break; } - borref_t code(PyFunction_GetCode(func)); + borref_t code(extapi.PyFunction_GetCode_ptr(func)); qvector pargs_ptrs; pargs.to_pyobject_pointers(&pargs_ptrs); +#ifdef PY3 newref_t py_res(PyEval_EvalCodeEx( - (PyCodeObject*) code.o, + PYCODE_OBJECT_TO_PYEVAL_ARG(code.o), + globals, NULL, + pargs_ptrs.begin(), + nargs, + NULL, 0, NULL, 0, NULL, NULL)); +#else + newref_t py_res(PyEval_EvalCodeEx( + PYCODE_OBJECT_TO_PYEVAL_ARG(code.o), globals, NULL, pargs_ptrs.begin(), nargs, NULL, 0, NULL, 0, NULL)); +#endif ok = return_python_result(result, py_res, errbuf); } while ( false ); @@ -983,10 +1065,7 @@ static bool idaapi IDAPython_extlang_compile_expr( bool isfunc = false; qstring qstr(expr); - PyCodeObject *code = (PyCodeObject *)Py_CompileString( - bomify(&qstr), - "", - Py_eval_input); + PyObject *code = Py_CompileString(bomify(&qstr), "", Py_eval_input); if ( code == NULL ) { // try compiling as a list of statements @@ -995,7 +1074,7 @@ static bool idaapi IDAPython_extlang_compile_expr( qstring func; wrap_in_function(&func, expr, name); bomify(&func); - code = (PyCodeObject *)Py_CompileString(func.c_str(), "", Py_file_input); + code = Py_CompileString(func.c_str(), "", Py_file_input); if ( code == NULL ) { handle_python_error(errbuf); @@ -1004,12 +1083,8 @@ static bool idaapi IDAPython_extlang_compile_expr( isfunc = true; } - // Set the desired function name - Py_XDECREF(code->co_name); - code->co_name = PyString_FromString(name); - // Create a function out of code - PyObject *func = PyFunction_New((PyObject *)code, globals); + PyObject *func = extapi.PyFunction_New_ptr(code, globals); if ( func == NULL ) { @@ -1030,6 +1105,7 @@ ERR: idc_value_t result; return IDAPython_extlang_call_func(&result, name, NULL, 0, errbuf); } + return true; } @@ -1117,7 +1193,11 @@ static bool idaapi IDAPython_extlang_create_object( py_res = try_create_swig_wrapper(py_mod, clsname, args[0].pvoid); if ( py_res != NULL ) { +#ifdef PY3 + PyObject_SetAttrString(py_res.o, S_PY_IDCCVT_ID_ATTR, PyLong_FromLong(PY_ICID_OPAQUE)); +#else PyObject_SetAttrString(py_res.o, S_PY_IDCCVT_ID_ATTR, PyInt_FromLong(PY_ICID_OPAQUE)); +#endif } else { @@ -1213,8 +1293,8 @@ static bool idaapi IDAPython_extlang_get_attr( break; // Convert name python string to a C string - const char *clsname = PyString_AsString(string.o); - if ( clsname == NULL ) + qstring clsname; + if ( !IDAPyStr_AsUTF8(&clsname, string.o) ) break; result->set_string(clsname); @@ -1323,7 +1403,7 @@ static bool idaapi IDAPython_extlang_eval_expr( { { new_execution_t exec; - result = newref_t(PyRun_String(expr, Py_eval_input, globals, globals)); + result = newref_t(extapi.PyRun_String_ptr(expr, Py_eval_input, globals, globals)); } ok = return_python_result(rv, result, errbuf); } @@ -1684,7 +1764,7 @@ void convert_idc_args() char attr_name[20] = { "0" }; for ( int i=1; get_idcv_attr(&attr, idc_args, attr_name) == eOk; i++ ) { - PyList_Insert(py_args.o, i, PyString_FromString(attr.c_str())); + PyList_Insert(py_args.o, i, IDAPyStr_FromUTF8(attr.c_str())); qsnprintf(attr_name, sizeof(attr_name), "%d", i); } } @@ -1744,7 +1824,7 @@ static ssize_t idaapi on_ui_notification(void *, int code, va_list) { PYW_GIL_GET; // See above g_ui_ready = true; - PyRun_SimpleString("print_banner()"); + extapi.PyRun_SimpleString_ptr("print_banner()"); if ( g_run_when == RUN_ON_UI_READY ) RunScript(g_run_script); } @@ -1782,81 +1862,69 @@ static ssize_t idaapi on_idb_notification(void *, int code, va_list) return 0; } -#ifdef _DEBUG -//------------------------------------------------------------------------ -// extern int PyThread_acquire_lock(PyThread_type_lock lock, int waitflag); -extern PyThreadState *_PyThreadState_Current; -static ssize_t idaapi ui_debug_handler_cb(void *, int code, va_list) +//------------------------------------------------------------------------- +#ifdef PY3 +static wchar_t *utf8_wchar_t(qvector *out, const char *in) { - // This hook gets called from the kernel, but its very point is to - // make sure that we don't hold the GIL. Thus: No PYW_GIL_GET here! - switch ( code ) +#ifdef __NT__ + qwstring tmp; + utf8_utf16(&tmp, in); + out->qclear(); + out->insert(out->begin(), tmp.begin(), tmp.end()); +#else + const char *p = in; + while ( *p != '\0' ) { - case debug_assert_thread_waitready: - // We will *always* be in a non-main thread when this is called. - if ( _PyThreadState_Current != NULL ) - { - PyThreadState *tcur = PyGILState_GetThisThreadState(); - if ( tcur == _PyThreadState_Current ) - { - // This thread is the '_PyThreadState_Current'; i.e., it holds the lock. - // We're likely to end up in a deadlock. - BPT; - } - } - break; - default: + wchar32_t cp = get_utf8_char(&p); + if ( cp == 0 || cp == BADCP ) break; + out->push_back(cp); } - return 0; -} + out->push_back(0); // we're not dealing with a qstring; have to do it ourselves #endif + return out->begin(); +} +#endif // PY3 + //------------------------------------------------------------------------- // - remove current directory (empty entry) from the sys.path // - add idadir("python") static void prepare_sys_path() { - char buf[QMAXPATH]; - qstrncpy(buf, Py_GetPath(), sizeof(buf)); - char *ctx; - qstring newpath; - for ( char *d0 = qstrtok(buf, DELIMITER, &ctx); - d0 != NULL; - d0 = qstrtok(NULL, DELIMITER, &ctx) ) - { - if ( d0[0] == '\0' ) - // skip empty entry - continue; + borref_t path(PySys_GetObject("path")); + if ( path == nullptr || !PySequence_Check(path.o) ) + return; - if ( !newpath.empty() ) - newpath.append(DELIMITER); - newpath.append(d0); - } - if ( !newpath.empty() ) - newpath.append(DELIMITER); - newpath.append(idadir("python")); - PySys_SetPath(newpath.begin()); -} - - -//------------------------------------------------------------------------- -// we have to do it ourselves because Python 2.7 calls exit() if importing site fails -static bool initsite(void) -{ - PyObject *m; - m = PyImport_ImportModule("site"); - if ( m == NULL ) + qstring new_path; + Py_ssize_t path_len = PySequence_Size(path.o); + if ( path_len > 0 ) { - PyErr_Print(); - Py_Finalize(); - return false; + for ( Py_ssize_t i = 0; i < path_len; ++i ) + { + qstring path_el_utf8; + newref_t path_el(PySequence_GetItem(path.o, i)); + if ( path_el != nullptr + && IDAPyStr_Check(path_el.o) > 0 + && IDAPyStr_AsUTF8(&path_el_utf8, path_el.o) ) + { + if ( path_el_utf8.empty() ) + continue; // skip empty entry + if ( !new_path.empty() ) + new_path.append(DELIMITER); + new_path.append(path_el_utf8); + } + } } - else - { - Py_DECREF(m); - } - return true; + if ( !new_path.empty() ) + new_path.append(DELIMITER); + new_path.append(idadir("python")); +#ifdef PY3 + qvector wpath; + PySys_SetPath(utf8_wchar_t(&wpath, new_path.c_str())); +#else + PySys_SetPath(new_path.begin()); +#endif } //------------------------------------------------------------------------- @@ -1867,48 +1935,48 @@ bool IDAPython_Init(void) return true; // Form the absolute path to IDA\python folder - qstrncpy(g_idapython_dir, idadir(PYTHON_DIR_NAME), sizeof(g_idapython_dir)); + qmakepath(g_idapython_dir, sizeof(g_idapython_dir), + idadir(PYTHON_DIR_NAME), + QSTRINGIZE(PY_MAJOR_VERSION), + NULL); // Check for the presence of essential files if ( !check_python_dir() ) return false; char path[QMAXPATH]; -#ifdef __LINUX__ - // Export symbols from libpython to resolve imported module deps - // use the standard soname: libpython2.7.so.1.0 -#define PYLIB "libpython" QSTRINGIZE(PY_MAJOR_VERSION) "." QSTRINGIZE(PY_MINOR_VERSION) ".so.1.0" - if ( !dlopen(PYLIB, RTLD_NOLOAD | RTLD_GLOBAL | RTLD_LAZY) ) + qstring errbuf; + if ( !extapi.load(&errbuf) ) { - warning("IDAPython dlopen(" PYLIB ") error: %s", dlerror()); + warning("Couldn't initialize IDAPython: %s", errbuf.c_str()); return false; } -#endif #ifdef __MAC__ - // We should set python home to the module's path, otherwise it can pick up stray modules from $PATH - NSModule pythonModule = NSModuleForSymbol(NSLookupAndBindSymbol("_Py_InitializeEx")); - // Use dylib functions to find out where the framework was loaded from - const char *buf = (char *)NSLibraryNameForModule(pythonModule); - if ( buf != NULL ) + if ( !extapi.lib_path.empty() ) { // The path will be something like: // /System/Library/Frameworks/Python.framework/Versions/2.5/Python // We need to strip the last part // use static buffer because Py_SetPythonHome() just stores a pointer static char pyhomepath[MAXSTR]; - qstrncpy(pyhomepath, buf, MAXSTR); - char * lastslash = strrchr(pyhomepath, '/'); + qstrncpy(pyhomepath, extapi.lib_path.c_str(), sizeof(pyhomepath)); + char *lastslash = strrchr(pyhomepath, '/'); if ( lastslash != NULL ) { *lastslash = 0; +#ifdef PY3 + qvector buf; + Py_SetPythonHome(utf8_wchar_t(&buf, pyhomepath)); +#else Py_SetPythonHome(pyhomepath); +#endif } } #endif // Read configuration value - read_config_file("python.cfg", opts, qnumber(opts)); + read_config_file("idapython.cfg", opts, qnumber(opts)); if ( g_alert_auto_scripts ) { if ( pywraps_check_autoscripts(path, sizeof(path)) @@ -1925,25 +1993,6 @@ bool IDAPython_Init(void) } parse_plugin_options(); - if ( g_use_local_python ) - { - // Set the program name: - // "This is used by Py_GetPath() and some other functions below to find the - // Python run-time libraries relative to the interpreter executable". - // - // - // Note: - // "The argument should point to a zero-terminated character string - // in static storage whose contents will not change for the duration - // of the program's execution" - static qstring pname = idadir(""); - Py_SetProgramName(pname.begin()); - Py_SetPythonHome(g_idapython_dir); - } - - // don't import "site" right now - Py_NoSiteFlag = 1; - // Start the interpreter Py_InitializeEx(0 /* Don't catch SIGPIPE, SIGXFZ, SIGXFSZ & SIGINT signals */); @@ -1956,13 +2005,6 @@ bool IDAPython_Init(void) // remove current directory prepare_sys_path(); - // import "site" - if ( !g_use_local_python && !initsite() ) - { - warning("IDAPython: importing \"site\" failed"); - return false; - } - // Enable multi-threading support if ( !PyEval_ThreadsInitialized() ) PyEval_InitThreads(); @@ -1992,7 +2034,7 @@ bool IDAPython_Init(void) #endif ); - if ( PyRun_SimpleString(init_code.c_str()) != 0 ) + if ( extapi.PyRun_SimpleString_ptr(init_code.c_str()) != 0 ) { warning("IDAPython: error executing bootstrap code"); return false; @@ -2008,14 +2050,12 @@ bool IDAPython_Init(void) qmakepath(path, MAXSTR, g_idapython_dir, S_INIT_PY, NULL); if ( !PyRunFile(path) ) { - qstring errbuf; - // Try to fetch a one line error string. We must do it before printing // the traceback information. Make sure that the exception is not cleared handle_python_error(&errbuf, false); // Print the exception traceback - PyRun_SimpleString("import traceback;traceback.print_exc();"); + extapi.PyRun_SimpleString_ptr("import traceback;traceback.print_exc();"); warning("IDAPython: error executing " S_INIT_PY ":\n" "%s\n" @@ -2034,7 +2074,7 @@ bool IDAPython_Init(void) } #ifdef ENABLE_PYTHON_PROFILING - PyEval_SetTrace(tracefunc, NULL); + extapi.PyEval_SetTrace_ptr(tracefunc, NULL); #endif // Register a exec_python() function for IDC @@ -2045,9 +2085,6 @@ bool IDAPython_Init(void) if ( g_run_when == RUN_ON_INIT ) RunScript(g_run_script); -#ifdef _DEBUG - hook_to_notification_point(HT_UI, ui_debug_handler_cb); -#endif hook_to_notification_point(HT_UI, on_ui_notification); hook_to_notification_point(HT_IDB, on_idb_notification); @@ -2106,9 +2143,6 @@ void IDAPython_Term(void) unhook_from_notification_point(HT_IDB, on_idb_notification); unhook_from_notification_point(HT_UI, on_ui_notification); -#ifdef _DEBUG - unhook_from_notification_point(HT_UI, ui_debug_handler_cb); -#endif // Remove the CLI enable_python_cli(false); diff --git a/idapython.script b/idapython.script index 7a292e9..7248af6 100644 --- a/idapython.script +++ b/idapython.script @@ -1,7 +1,6 @@ { global: PLUGIN; - PyWStringOrNone_Check; PyW_CreateIdcException; PyW_GetError; PyW_GetNumber; @@ -26,7 +25,10 @@ global: enable_python_cli; idapython_hook_to_notification_point; idapython_unhook_from_notification_point; + idapython_show_wait_box; + idapython_hide_wait_box; idcvar_to_pyvar; + is_api695_compat_enabled; lookup_info_t_commit; lookup_info_t_del_by_py_view; lookup_info_t_find_by_py_view; @@ -38,16 +40,11 @@ global: py_customidamemo_t_collect_class_callbacks_ids; py_customidamemo_t_collect_pyobject_callbacks; py_customidamemo_t_create_groups; - py_customidamemo_t_del_nodes_infos; py_customidamemo_t_delete_groups; - py_customidamemo_t_get_current_renderer_type; - py_customidamemo_t_get_node_info; - py_customidamemo_t_set_current_renderer_type; py_customidamemo_t_set_groups_visibility; - py_customidamemo_t_set_node_info; - py_customidamemo_t_set_nodes_infos; py_customidamemo_t_unbind; pycim_lookup_info; + pylong_to_byte_array; pyobj_get_clink; python_timer_del; python_timer_new; diff --git a/idapython_implib.def b/idapython_implib.def index f37f78f..f01c474 100644 --- a/idapython_implib.def +++ b/idapython_implib.def @@ -1,5 +1,4 @@ EXPORTS - PyWStringOrNone_Check PyW_CreateIdcException PyW_GetError PyW_GetNumber @@ -22,6 +21,7 @@ EXPORTS disable_script_timeout enable_extlang_python enable_python_cli + is_api695_compat_enabled idcvar_to_pyvar lookup_info_t_commit lookup_info_t_del_by_py_view @@ -33,15 +33,10 @@ EXPORTS py_customidamemo_t_collect_class_callbacks_ids py_customidamemo_t_collect_pyobject_callbacks py_customidamemo_t_create_groups - py_customidamemo_t_del_nodes_infos py_customidamemo_t_delete_groups - py_customidamemo_t_get_current_renderer_type - py_customidamemo_t_get_node_info - py_customidamemo_t_set_current_renderer_type py_customidamemo_t_set_groups_visibility - py_customidamemo_t_set_node_info - py_customidamemo_t_set_nodes_infos py_customidamemo_t_unbind + pylong_to_byte_array pyobj_get_clink python_timer_new python_timer_del @@ -66,6 +61,8 @@ EXPORTS get_callable_arg_count idapython_hook_to_notification_point idapython_unhook_from_notification_point + idapython_show_wait_box + idapython_hide_wait_box register_module_lifecycle_callbacks prepare_programmatic_plugin_load pycim_lookup_info DATA diff --git a/makefile b/makefile index e0364e5..ed2f58f 100644 --- a/makefile +++ b/makefile @@ -18,7 +18,24 @@ include ../../allmake.mak #---------------------------------------------------------------------- # default goals .PHONY: configs modules pyfiles deployed_modules idapython_modules api_contents pydoc_injections public_tree test_idc docs -all: configs modules pyfiles deployed_modules idapython_modules api_contents pydoc_injections # public_tree test_idc docs +all: configs modules pyfiles deployed_modules idapython_modules api_contents pydoc_injections bins # public_tree test_idc docs + +ifeq ($(OUT_OF_TREE_BUILD),) + BINS += $(IDAPYSWITCH) +else + # when out-of-tree (i.e., from github), we only build idapyswitch64, + # and rely on it even for the __EA32__ build + ifdef __EA64__ + BINS += $(IDAPYSWITCH) + else + IDAPYSWITCH_64_HACK := 64 + endif +endif + +IDAPYSWITCH:=$(R)idapyswitch$(IDAPYSWITCH_64_HACK)$(B) + +BINS += $(IDAPYSWITCH) +bins: $(BINS) #---------------------------------------------------------------------- # configurable variables for this makefile @@ -49,9 +66,9 @@ ifneq ($(OUT_OF_TREE_BUILD),) LIBDIR = $(IDA)lib/$(TARGET_PROCESSOR_NAME)_$(SYSNAME)_$(COMPILER_NAME)_$(ADRSIZE)$(STATSUF) endif -# HACK for mkdep to add dependencies for $(F)python$(O) +# HACK for mkdep to add dependencies for $(F)idapython$(O) ifdef __MKDEP__ - OBJS += $(F)python$(O) + OBJS += $(F)idapython$(O) endif # allmake.mak defines 'CP' as 'qcp.sh' which is an internal tool providing @@ -64,13 +81,37 @@ endif #---------------------------------------------------------------------- # the 'configs' target is in $(IDA)module.mak -CONFIGS += python.cfg +CONFIGS += idapython.cfg #---------------------------------------------------------------------- # the 'modules' target is in $(IDA)module.mak -MODULE = $(call module_dll,python) +MODULE = $(call module_dll,idapython) MODULES += $(MODULE) +#---------------------------------------------------------------------- +ifdef __MAC__ + # it is important that we guarantee some available space in the header, + # we might want to patch the libpython load commands later. + LDFLAGS += -Wl,-headerpad,0x400 +else + ifdef __LINUX__ + # We want the 'DT_NEEDED' of idapython.so to be sufficiently large + # to hold any libpython3.Y.so. Therefore, at + # build-time, let's use our tool (which will in turn use patchelf) + # to expand the DT_NEEDED 'slot' size. + ifeq ($(PYTHON_VERSION_MAJOR),3) + IDAPYSWITCH_MODULE_DEP := $(IDAPYSWITCH) + ifndef __CODE_CHECKER__ + # this is for idapython[64].so + POSTACTION=$(IDAPYSWITCH) --split-debug-and-expand-libpython3-dtneeded-room $(MODULE) + # and this for _ida_*.so + POSTACTION_IDA_X_SO=$(IDAPYSWITCH) --split-debug-and-expand-libpython3-dtneeded-room + endif + endif + endif +endif + + #---------------------------------------------------------------------- # we explicitly added our module targets NO_DEFAULT_MODULE = 1 @@ -78,15 +119,17 @@ DONT_ERASE_LIB = 1 # NOTE: all MODULES must be defined before including plugin.mak. include ../plugin.mak -include ../pyplg.mak # NOTE: target-specific rules and dependencies that use variable # expansion to name the target (such as "$(MODULE): [...]") must # come after including plugin.mak +# setup PYTHON_{C,LD}FLAGS (from allmake.mak) +$(eval $(call setup_python_flags)) + #---------------------------------------------------------------------- -PYTHON_OBJS += $(F)python$(O) +PYTHON_OBJS += $(F)idapython$(O) $(MODULE): MODULE_OBJS += $(PYTHON_OBJS) -$(MODULE): $(PYTHON_OBJS) +$(MODULE): $(PYTHON_OBJS) $(IDAPYSWITCH_MODULE_DEP) ifdef __NT__ $(MODULE): LDFLAGS += /DEF:$(IDAPYTHON_IMPLIB_DEF) /IMPLIB:$(IDAPYTHON_IMPLIB_PATH) endif @@ -98,6 +141,8 @@ ifdef __LINUX__ LDFLAGS += -Wl,-soname,$(notdir $(MODULE)) endif +PATCH_CONST=$(Q)$(PYTHON) tools/patch_constants.py -i $(1) -o $(2) + #---------------------------------------------------------------------- # TODO move this below, but it might be necessary before the defines-* ifdef DO_IDAMAKE_SIMPLIFY @@ -132,7 +177,7 @@ ifeq ($(OUT_OF_TREE_BUILD),) endif # output directory for python scripts -DEPLOY_PYDIR=$(R)python +DEPLOY_PYDIR=$(R)python/$(PYTHON_VERSION_MAJOR) DEPLOY_INIT_PY=$(DEPLOY_PYDIR)/init.py DEPLOY_IDC_PY=$(DEPLOY_PYDIR)/idc.py DEPLOY_IDAUTILS_PY=$(DEPLOY_PYDIR)/idautils.py @@ -144,19 +189,30 @@ ifdef TESTABLE_BUILD endif ifeq ($(OUT_OF_TREE_BUILD),) TEST_IDC=test_idc - IDC_BC695_IDC_SOURCE?=$(DEPLOY_PYDIR)/../idc/idc.idc + IDC_BC695_IDC_SOURCE?=$(DEPLOY_PYDIR)/../../idc/idc.idc endif # -SDK_SOURCES=$(wildcard $(IDA_INCLUDE)/*.h) $(wildcard $(IDA_INCLUDE)/*.hpp) ifeq ($(OUT_OF_TREE_BUILD),) + include ../../etc/sdk/sdk_files.mak + SDK_SOURCES=$(sort $(foreach v,$(SDK_FILES),$(if $(findstring include/,$(v)),$(addprefix $(IDA_INCLUDE)/,$(notdir $(v)))))) + SDK_SOURCES+=$(IDA_INCLUDE)/hexrays.hpp + SDK_SOURCES+=$(IDA_INCLUDE)/lumina.hpp ST_SDK_TARGETS = $(SDK_SOURCES:$(IDA_INCLUDE)/%=$(ST_SDK)/%) else + SDK_SOURCES=$(wildcard $(IDA_INCLUDE)/*.h) $(wildcard $(IDA_INCLUDE)/*.hpp) ST_SDK_TARGETS = $(SDK_SOURCES) endif -PYTHON_DYNLOAD=$(BIN_PATH)../python/lib/python2.7/lib-dynload -DEPLOY_LIBDIR=$(PYTHON_DYNLOAD)/ida_$(ADRSIZE) +# Python 2-3 +ifeq ($(PYTHON_VERSION_MAJOR),3) + _SWIGPY3FLAG := -py3 -py3-stable-abi -DPY3=1 + CC_DEFS += PY3=1 + CC_DEFS += Py_LIMITED_API=0x03040000 # we should make sure we use the same version as SWiG +endif +DYNLOAD_SUBDIR := python$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR) + +DEPLOY_LIBDIR=$(DEPLOY_PYDIR)/ida_$(ADRSIZE) ifdef __NT__ MODULE_SFX = .pyd @@ -233,14 +289,14 @@ deployed_modules: $(DEPLOYED_MODULES) ifdef __NT__ IDAPYTHON_IMPLIB_DEF=idapython_implib.def - IDAPYTHON_IMPLIB_PATH=$(F)python.lib + IDAPYTHON_IMPLIB_PATH=$(F)idapython.lib LINKIDAPYTHON = $(IDAPYTHON_IMPLIB_PATH) else LINKIDAPYTHON = $(MODULE) endif ifdef __NT__ # os and compiler specific flags - _SWIGFLAGS = -D__NT__ -DWIN32 -D_USRDLL -I$(PYTHON_DIR)/include + _SWIGFLAGS = -D__NT__ -DWIN32 -D_USRDLL -I"$(PYTHON_ROOT)/include" CFLAGS += /bigobj $(_SWIGFLAGS) -I$(ST_SDK) /U_DEBUG # override runtime libs in CFLAGS RUNTIME_LIBSW = /MD @@ -262,8 +318,6 @@ endif DEF_TYPE_TABLE = SWIG_TYPE_TABLE=idaapi SWIGFLAGS=$(_SWIGFLAGS) -Itools/typemaps-supplement $(SWIG_INCLUDES) $(addprefix -D,$(DEF_TYPE_TABLE)) $(BC695_SWIGFLAGS) -LDFLAGS += $(PYTHON_LDFLAGS) $(PYTHON_LDFLAGS_RPATH_MAIN) - pyfiles: $(DEPLOY_IDAUTILS_PY) \ $(DEPLOY_IDC_PY) \ $(DEPLOY_IDC_BC695_PY) \ @@ -318,7 +372,6 @@ endif # Create directories in the first phase of makefile parsing. DIRLIST += $(DEPLOY_LIBDIR) DIRLIST += $(DEPLOY_PYDIR) -DIRLIST += $(DEPLOY_PYDIR)/lib DIRLIST += $(ST_PARSED_HEADERS) DIRLIST += $(ST_PYW) DIRLIST += $(ST_SDK) @@ -431,17 +484,20 @@ $(ST_PYW)/py_hexrays_hooks.hpp: pywraps/py_hexrays_hooks.hpp \ #---------------------------------------------------------------------- CFLAGS += $(PYTHON_CFLAGS) +CC_DEFS += PYTHON_ABIFLAGS=$(PYTHON_ABIFLAGS) CC_DEFS += $(BC695_CC_DEF) CC_DEFS += $(DEF_TYPE_TABLE) CC_DEFS += $(WITH_HEXRAYS_DEF) CC_DEFS += USE_STANDARD_FILE_FUNCTIONS CC_DEFS += VER_MAJOR="7" -CC_DEFS += VER_MINOR="3" +CC_DEFS += VER_MINOR="4" CC_DEFS += VER_PATCH="0" CC_DEFS += __EXPR_SRC CC_INCP += $(F) CC_INCP += $(IDA_INCLUDE) CC_INCP += $(ST_SWIG) +CC_INCP += ../../ldr/mach-o/h +CC_INCP += $(IRRXML) CC_INCP += . ifdef __UNIX__ @@ -527,15 +583,16 @@ define make-module-rules # files. # ../../bin/x86_linux_gcc/python/ida_$(1).py (note: dep. on .cpp. See note above.) - $(DEPLOY_PYDIR)/ida_$(1).py: $(ST_WRAP)/$(1).cpp $(PARSED_HEADERS_MARKER) $(call find-pydoc-patches-deps,$(1)) $(call find-patch-codegen-deps,$(1)) | tools/inject_pydoc.py + $(DEPLOY_PYDIR)/ida_$(1).py: $(ST_WRAP)/$(1).cpp $(PARSED_HEADERS_MARKER) $(call find-pydoc-patches-deps,$(1)) $(call find-patch-codegen-deps,$(1)) | tools/inject_pydoc.py tools/wrapper_utils.py $(QINJECT_PYDOC)$(PYTHON) tools/inject_pydoc.py \ - -x $(ST_PARSED_HEADERS) \ - -m $(1) \ - -i $(ST_WRAP)/ida_$(1).py \ - -w $(ST_SWIG)/$(1).i \ - -o $$@ \ - -e $(ST_WRAP)/ida_$(1).epydoc_injection \ - -v > $(ST_WRAP)/ida_$(1).pydoc_injection 2>&1 + --xml-doc-directory $(ST_PARSED_HEADERS) \ + --module $(1) \ + --input $(ST_WRAP)/ida_$(1).py \ + --interface $(ST_SWIG)/$(1).i \ + --cpp-wrapper $(ST_WRAP)/$(1).cpp \ + --output $$@ \ + --epydoc-injections $(ST_WRAP)/ida_$(1).epydoc_injection \ + --verbose > $(ST_WRAP)/ida_$(1).pydoc_injection 2>&1 # obj/x86_linux_gcc/swig/X.i $(ST_SWIG)/$(1).i: $(addprefix $(F),$(call find-pywraps-deps,$(1))) $(ADDITIONAL_PYWRAP_DEP_$(1)) swig/$(1).i $(ST_SWIG_HEADER) $(SWIG_IFACE_$(1):%=$(ST_SWIG)/%.i) $(ST_SWIG_HEADER) tools/deploy.py $(PARSED_HEADERS_MARKER) @@ -549,14 +606,18 @@ define make-module-rules --interface-dependencies=$(subst $(space),$(comma),$(SWIG_IFACE_$(1))) \ --xml-doc-directory $(ST_PARSED_HEADERS) - # obj/x86_linux_gcc/wrappers/X.cpp - $(ST_WRAP)/$(1).cpp: $(ST_SWIG)/$(1).i tools/patch_codegen.py tools/patch_python_codegen.py $(PATCH_DIRECTORS_SCRIPT) $(PARSED_HEADERS_MARKER) tools/chkapi.py - $(QSWIG)$(SWIG) -modern $(addprefix -D,$(WITH_HEXRAYS_DEF)) -python -threads -c++ -shadow \ - -D__GNUC__ $(SWIGFLAGS) $(addprefix -D,$(DEF64)) -I$(ST_SWIG) \ + # creating obj/x86_linux_gcc/wrappers/X.cpp and friends + # 1. SWIG generates x.cpp.in1, x.h and x.py from swig/x.i + # 2. patch_const.py generates x.cpp.in2 from x.cpp.in1 + # 3. patch_codegen.py generates x.cpp from x.cpp.in2 + # 4. patch_h_codegen.py patches x.h in place + # 5. patch_python_codegen.py patches ida_x.py in place using helpers in tools/patch_codegen + # 6. on windows, patch_directors_cc.py patches x.h in place again + $(ST_WRAP)/$(1).cpp: $(ST_SWIG)/$(1).i tools/patch_codegen.py tools/patch_python_codegen.py $(PATCH_DIRECTORS_SCRIPT) $(PARSED_HEADERS_MARKER) tools/chkapi.py tools/wrapper_utils.py + $(QSWIG)$(SWIG) $(addprefix -D,$(WITH_HEXRAYS_DEF)) -python $(_SWIGPY3FLAG) -threads -c++ -shadow \ + -D__GNUC__ -DSWIG_PYTHON_LEGACY_BOOL=1 $(SWIGFLAGS) $(addprefix -D,$(DEF64)) -I$(ST_SWIG) \ -outdir $(ST_WRAP) -o $$@.in1 -oh $(ST_WRAP)/$(1).h -I$(ST_SDK) -DIDAPYTHON_MODULE_$(1)=1 $$< - $(Q)$(PYTHON) tools/patch_constants.py \ - --input $(ST_WRAP)/$(1).cpp.in1 \ - --output $(ST_WRAP)/$(1).cpp.in2 + $(call PATCH_CONST,$(ST_WRAP)/$(1).cpp.in1,$(ST_WRAP)/$(1).cpp.in2) $(QPATCH_CODEGEN)$(PYTHON) tools/patch_codegen.py \ --apply-valist-patches \ --input $(ST_WRAP)/$(1).cpp.in2 \ @@ -618,22 +679,29 @@ endif # is at the end of the link command. # See Python's dynload_win.c:GetPythonImport() for more details. $(_IDA_X_SO): STDLIBS += $(LINKIDAPYTHON) -$(_IDA_X_SO): LDFLAGS += $(PYTHON_LDFLAGS_RPATH_MODULE) $(OUTMAP)$(F)$(@F).map -$(F)_ida_%$(MODULE_SFX): $(F)%$(O) $(MODULE) $(IDAPYTHON_IMPLIB_DEF) +$(_IDA_X_SO): LDFLAGS += $(PYTHON_LDFLAGS) $(PYTHON_LDFLAGS_RPATH_MODULE) $(OUTMAP)$(F)$(@F).map +$(F)_ida_%$(MODULE_SFX): $(F)%$(O) $(MODULE) $(IDAPYTHON_IMPLIB_DEF) $(IDAPYSWITCH_MODULE_DEP) $(call link_dll, $<, $(LINKIDA)) ifdef __NT__ $(Q)$(RM) $(@:$(MODULE_SFX)=.exp) $(@:$(MODULE_SFX)=.lib) endif -# ../../bin/x86_linux_gcc/python/lib/lib-dynload/ida_32/_ida_X.so +# ../../bin/x64_linux_gcc/python/2/ida_32/_ida_X.so $(DEPLOY_LIBDIR)/_ida_%$(MODULE_SFX): $(F)_ida_%$(MODULE_SFX) $(Q)$(CP) $< $@ +ifdef __LINUX__ + ifndef __CODE_CHECKER__ + ifeq ($(PYTHON_VERSION_MAJOR),3) + $(Q)$(POSTACTION_IDA_X_SO) $@ + endif + endif +endif #---------------------------------------------------------------------- ifdef TESTABLE_BUILD -API_CONTENTS = api_contents.txt +API_CONTENTS = api_contents$(PYTHON_VERSION_MAJOR).txt else -API_CONTENTS = release_api_contents.txt +API_CONTENTS = release_api_contents$(PYTHON_VERSION_MAJOR).txt endif ST_API_CONTENTS = $(F)$(API_CONTENTS) .PRECIOUS: $(ST_API_CONTENTS) @@ -653,20 +721,22 @@ endif #---------------------------------------------------------------------- # Check that doc injection is stable ifdef TESTABLE_BUILD -PYDOC_INJECTIONS = pydoc_injections.txt +PYDOC_INJECTIONS = pydoc_injections$(PYTHON_VERSION_MAJOR).txt else -PYDOC_INJECTIONS = release_pydoc_injections.txt +PYDOC_INJECTIONS = release_pydoc_injections$(PYTHON_VERSION_MAJOR).txt endif ST_PYDOC_INJECTIONS = $(F)$(PYDOC_INJECTIONS) .PRECIOUS: $(ST_PYDOC_INJECTIONS) +PYDOC_INJECTIONS_IDA_CMD=$(IDA_CMD) $(BATCH_SWITCH) -OIDAPython:AUTOIMPORT_COMPAT_IDA695=NO -S"$< $@ $(ST_WRAP)" -t -L$(F)dumpdoc.log >/dev/null pydoc_injections: $(ST_PYDOC_INJECTIONS) $(ST_PYDOC_INJECTIONS): tools/dumpdoc.py $(IDAPYTHON_MODULES) $(PYTHON_BINARY_MODULES) ifdef __CODE_CHECKER__ $(Q)touch $@ else ifeq ($(OUT_OF_TREE_BUILD),) - $(QPYDOC_INJECTIONS)$(IDA_CMD) $(BATCH_SWITCH) -OIDAPython:AUTOIMPORT_COMPAT_IDA695=NO -S"$< $@ $(ST_WRAP)" -t -L$(F)dumpdoc.log >/dev/null + $(QPYDOC_INJECTIONS)$(PYDOC_INJECTIONS_IDA_CMD) || \ + (echo "Command \"$(PYDOC_INJECTIONS_IDA_CMD)\" failed. Check \"$(F)dumpdoc.log\" for details." && false) $(Q)(diff -w $(PYDOC_INJECTIONS) $(ST_PYDOC_INJECTIONS)) > /dev/null || \ (echo "PYDOC INJECTION CHANGED! update $(PYDOC_INJECTIONS) or fix .. what needs fixing" && \ echo "(New API: $(ST_PYDOC_INJECTIONS)) ***" && \ @@ -726,6 +796,16 @@ ifeq ($(OUT_OF_TREE_BUILD),) (cd $(F) && zip -r ../../$(PUBTREE_DIR)/out_of_tree/parsed_notifications.zip parsed_notifications) endif +IDAPYSWITCH_OBJS += $(F)idapyswitch$(O) + +ifdef __NT__ + ifndef NDEBUG + RUNTIME_LIBSW = /MDd + $(F)idapyswitch$(O): CFLAGS := $(filter-out /U_DEBUG,$(CFLAGS)) + endif +endif +$(R)idapyswitch$(B): $(call dumb_target, pro, $(IDAPYSWITCH_OBJS)) + #---------------------------------------------------------------------- # the 'echo_modules' target must be called explicitly # Note: used by ida/build/pkgbin.py @@ -736,13 +816,91 @@ echo_modules: clean:: rm -rf obj/ +$(MODULE): LDFLAGS += $(PYTHON_LDFLAGS) $(PYTHON_LDFLAGS_RPATH_MAIN) + # MAKEDEP dependency list ------------------ -$(F)python$(O) : $(I)bitrange.hpp $(I)bytes.hpp $(I)config.hpp \ - $(I)diskio.hpp $(I)expr.hpp $(I)fpro.h $(I)funcs.hpp \ - $(I)gdl.hpp $(I)graph.hpp $(I)ida.hpp \ +$(F)idapyswitch$(O): $(I)auto.hpp $(I)bitrange.hpp $(I)bytes.hpp \ + $(I)config.hpp $(I)diskio.hpp $(I)entry.hpp $(I)err.h \ + $(I)fixup.hpp $(I)fpro.h $(I)funcs.hpp \ + $(I)ida.hpp $(I)idp.hpp $(I)kernwin.hpp $(I)lines.hpp \ + $(I)llong.hpp $(I)loader.hpp $(I)nalt.hpp $(I)name.hpp \ + $(I)netnode.hpp $(I)network.hpp $(I)offset.hpp $(I)pro.h \ + $(I)prodir.h $(I)range.hpp $(I)segment.hpp \ + $(I)segregs.hpp $(I)ua.hpp $(I)xref.hpp \ + ../../ldr/ar/aixar.hpp \ + ../../ldr/ar/ar.hpp ../../ldr/ar/arcmn.cpp \ + ../../ldr/elf/../idaldr.h ../../ldr/elf/elf.h \ + ../../ldr/elf/elfbase.h ../../ldr/elf/elfr_arm.h \ + ../../ldr/elf/elfr_ia64.h ../../ldr/elf/elfr_mips.h \ + ../../ldr/elf/elfr_ppc.h ../../ldr/elf/reader.cpp \ + ../../ldr/mach-o/../ar/ar.hpp \ + ../../ldr/mach-o/../idaldr.h ../../ldr/mach-o/base.cpp \ + ../../ldr/mach-o/common.cpp ../../ldr/mach-o/common.h \ + ../../ldr/mach-o/h/architecture/byte_order.h \ + ../../ldr/mach-o/h/arm/_types.h \ + ../../ldr/mach-o/h/i386/_types.h \ + ../../ldr/mach-o/h/i386/eflags.h \ + ../../ldr/mach-o/h/libkern/OSByteOrder.h \ + ../../ldr/mach-o/h/libkern/i386/OSByteOrder.h \ + ../../ldr/mach-o/h/libkern/i386/_OSByteOrder.h \ + ../../ldr/mach-o/h/libkern/machine/OSByteOrder.h \ + ../../ldr/mach-o/h/mach-o/arm/reloc.h \ + ../../ldr/mach-o/h/mach-o/arm64/reloc.h \ + ../../ldr/mach-o/h/mach-o/fat.h \ + ../../ldr/mach-o/h/mach-o/hppa/reloc.h \ + ../../ldr/mach-o/h/mach-o/i860/reloc.h \ + ../../ldr/mach-o/h/mach-o/loader.h \ + ../../ldr/mach-o/h/mach-o/m88k/reloc.h \ + ../../ldr/mach-o/h/mach-o/nlist.h \ + ../../ldr/mach-o/h/mach-o/ppc/reloc.h \ + ../../ldr/mach-o/h/mach-o/reloc.h \ + ../../ldr/mach-o/h/mach-o/sparc/reloc.h \ + ../../ldr/mach-o/h/mach-o/stab.h \ + ../../ldr/mach-o/h/mach-o/x86_64/reloc.h \ + ../../ldr/mach-o/h/mach/arm/_structs.h \ + ../../ldr/mach-o/h/mach/arm/boolean.h \ + ../../ldr/mach-o/h/mach/arm/thread_state.h \ + ../../ldr/mach-o/h/mach/arm/thread_status.h \ + ../../ldr/mach-o/h/mach/arm/vm_types.h \ + ../../ldr/mach-o/h/mach/boolean.h \ + ../../ldr/mach-o/h/mach/i386/_structs.h \ + ../../ldr/mach-o/h/mach/i386/boolean.h \ + ../../ldr/mach-o/h/mach/i386/fp_reg.h \ + ../../ldr/mach-o/h/mach/i386/kern_return.h \ + ../../ldr/mach-o/h/mach/i386/thread_state.h \ + ../../ldr/mach-o/h/mach/i386/thread_status.h \ + ../../ldr/mach-o/h/mach/i386/vm_param.h \ + ../../ldr/mach-o/h/mach/i386/vm_types.h \ + ../../ldr/mach-o/h/mach/kern_return.h \ + ../../ldr/mach-o/h/mach/kmod.h \ + ../../ldr/mach-o/h/mach/machine.h \ + ../../ldr/mach-o/h/mach/machine/boolean.h \ + ../../ldr/mach-o/h/mach/machine/kern_return.h \ + ../../ldr/mach-o/h/mach/machine/thread_status.h \ + ../../ldr/mach-o/h/mach/machine/vm_types.h \ + ../../ldr/mach-o/h/mach/message.h \ + ../../ldr/mach-o/h/mach/port.h \ + ../../ldr/mach-o/h/mach/ppc/_structs.h \ + ../../ldr/mach-o/h/mach/ppc/boolean.h \ + ../../ldr/mach-o/h/mach/ppc/kern_return.h \ + ../../ldr/mach-o/h/mach/ppc/thread_status.h \ + ../../ldr/mach-o/h/mach/ppc/vm_param.h \ + ../../ldr/mach-o/h/mach/ppc/vm_types.h \ + ../../ldr/mach-o/h/mach/vm_prot.h \ + ../../ldr/mach-o/h/mach/vm_types.h \ + ../../ldr/mach-o/h/ppc/_types.h \ + ../../ldr/mach-o/h/sys/_posix_availability.h \ + ../../ldr/mach-o/h/sys/_symbol_aliasing.h \ + ../../ldr/mach-o/h/sys/cdefs.h \ + ../../ldr/mach-o/macho_node.h idapyswitch.cpp \ + idapyswitch_linux.cpp idapyswitch_mac.cpp \ + idapyswitch_win.cpp +$(F)idapython$(O): $(I)bitrange.hpp $(I)bytes.hpp $(I)config.hpp \ + $(I)diskio.hpp $(I)err.h $(I)expr.hpp $(I)fpro.h \ + $(I)funcs.hpp $(I)gdl.hpp $(I)graph.hpp $(I)ida.hpp \ $(I)ida_highlighter.hpp $(I)idd.hpp $(I)idp.hpp \ $(I)ieee.h $(I)kernwin.hpp $(I)lines.hpp $(I)llong.hpp \ $(I)loader.hpp $(I)nalt.hpp $(I)name.hpp $(I)netnode.hpp \ $(I)pro.h $(I)range.hpp $(I)segment.hpp $(I)typeinf.hpp \ - $(I)ua.hpp $(I)xref.hpp python.cpp pywraps.cpp \ - pywraps.hpp + $(I)ua.hpp $(I)xref.hpp extapi.cpp extapi.hpp idapy.hpp \ + idapython.cpp pywraps.cpp pywraps.hpp diff --git a/out_of_tree/parsed_notifications.zip b/out_of_tree/parsed_notifications.zip index a9ac86d..b527e67 100644 Binary files a/out_of_tree/parsed_notifications.zip and b/out_of_tree/parsed_notifications.zip differ diff --git a/pydoc_injections.txt b/pydoc_injections.txt deleted file mode 100644 index e5cc533..0000000 --- a/pydoc_injections.txt +++ /dev/null @@ -1,73630 +0,0 @@ -ida_auto.auto_apply_tail(): - - auto_apply_tail(tail_ea, parent_ea) - - - Plan to apply the tail_ea chunk to the parent - - @param tail_ea: linear address of start of tail (C++: ea_t) - @param parent_ea: linear address within parent. If BADADDR, - automatically try to find parent via xrefs. (C++: - ea_t) - - -ida_auto.auto_apply_type(): - - 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) - - -ida_auto.auto_cancel(): - - 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) - - -class ida_auto.auto_display_t(): - - Proxy of C++ auto_display_t class - - -ida_auto.auto_display_t.ea: - auto_display_t_ea_get(self) -> ea_t - -ida_auto.auto_display_t.state: - auto_display_t_state_get(self) -> idastate_t - -ida_auto.auto_display_t.type: - auto_display_t_type_get(self) -> atype_t - -ida_auto.auto_get(): - - 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) - - -ida_auto.auto_is_ok(): - - auto_is_ok() -> bool - - - Are all queues empty? (i.e. has autoanalysis finished?). - - -ida_auto.auto_make_code(): - - auto_make_code(ea) - - - Plan to make code. - - - @param ea (C++: ea_t) - - -ida_auto.auto_make_proc(): - - auto_make_proc(ea) - - - Plan to make code&function. - - - @param ea (C++: ea_t) - - -ida_auto.auto_mark(): - - auto_mark(ea, type) - - - Put single address into a queue. Queues keep addresses sorted. - - - @param ea (C++: ea_t) - @param type (C++: atype_t) - - -ida_auto.auto_mark_range(): - - 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) - - -ida_auto.auto_recreate_insn(): - - auto_recreate_insn(ea) -> int - - - Try to create instruction - - @param ea: linear address of callee (C++: ea_t) - @return: the length of the instruction or 0 - - -ida_auto.auto_unmark(): - - 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) - - -ida_auto.auto_wait(): - - 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) - - -ida_auto.auto_wait_range(): - - 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) - - -ida_auto.enable_auto(): - - 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 - - -ida_auto.get_auto_display(): - - get_auto_display(auto_display) - - - Get structure which holds the autoanalysis indicator contents. - - - @param auto_display (C++: auto_display_t *) - - -ida_auto.get_auto_state(): - - 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). - - -ida_auto.is_auto_enabled(): - - is_auto_enabled() -> bool - - - Get autoanalyzer state. - - -ida_auto.may_create_stkvars(): - - may_create_stkvars() -> bool - - - Is it allowed to create stack variables automatically?. This function - should be used by IDP modules before creating stack vars. - - -ida_auto.may_trace_sp(): - - may_trace_sp() -> bool - - - Is it allowed to trace stack pointer automatically?. This function - should be used by IDP modules before tracing sp. - - -ida_auto.peek_auto_queue(): - - 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 - - -ida_auto.plan_and_wait(): - - 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. - - @param ea1 (C++: ea_t) - @param ea2 (C++: ea_t) - @param final_pass (C++: bool) - - -ida_auto.plan_ea(): - - plan_ea(ea) - - - Plan to perform reanalysis. - - - @param ea (C++: ea_t) - - -ida_auto.plan_range(): - - plan_range(sEA, eEA) - - - Plan to perform reanalysis. - - - @param sEA (C++: ea_t) - @param eEA (C++: ea_t) - - -ida_auto.reanalyze_callers(): - - 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: linear address of callee (C++: ea_t) - @param noret: !=0: the callee doesn't return, mark to undefine - subsequent instructions in the caller. 0: do nothing. - (C++: bool) - - -ida_auto.revert_ida_decisions(): - - 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) - - -ida_auto.set_auto_state(): - - set_auto_state(new_state) -> atype_t - - - Set current state of autoanalyzer. - - @param new_state: new state of autoanalyzer (C++: atype_t) - @return: previous state - - -ida_auto.set_ida_state(): - - set_ida_state(st) -> idastate_t - - - Change IDA status indicator value - - @param st: - new indicator status (C++: idastate_t) - @return: old indicator status - - -ida_auto.show_addr(): - - show_addr(ea) - - - Show an address on the autoanalysis indicator. The address is - displayed in the form " @:12345678". - - @param ea: - linear address to display (C++: ea_t) - - -ida_auto.show_auto(): - - show_auto(ea, type=AU_NONE) - - - Change autoanalysis indicator value. - - @param ea: linear address being analyzed (C++: ea_t) - @param type: autoanalysis type (see Autoanalysis queues ) (C++: - atype_t) - - -ida_bytes.add_byte(): - - add_byte(ea, value) - - - Add a value to one byte of the program. This function works for wide - byte processors too. - - @param ea: linear address (C++: ea_t) - @param value: byte value (C++: uint32) - - -ida_bytes.add_dword(): - - 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 \inf{is_be()}this function works incorrectly if - \ph{nbits} > 16 - - @param ea: linear address (C++: ea_t) - @param value: byte value (C++: uint64) - - -ida_bytes.add_hidden_range(): - - add_hidden_range(ea1, ea2, description, header, footer, color) -> bool - - - Mark a range of addresses as hidden. The range will be created in the - invisible state with the default color - - @param ea1: linear address of start of the address range (C++: ea_t) - @param ea2: linear address of end of the address range (C++: ea_t) - @param description: range parameters (C++: const char *) - @param header: range parameters (C++: const char *) - @param footer: range parameters (C++: const char *) - @param color (C++: bgcolor_t) - @return: success - - -ida_bytes.add_mapping(): - - 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.You should - set flag PR2_MAPPING in ph.flag2 to use memory mapping Add memory - mapping range. - - @param _from: start of the mapped range (nonexistent address) (C++: - ea_t) - @param to: start of the mapping range (existent address) (C++: ea_t) - @param size: size of the range (C++: asize_t) - @return: success - - -ida_bytes.add_qword(): - - 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 \inf{is_be()} - - @param ea: linear address (C++: ea_t) - @param value: byte value (C++: uint64) - - -ida_bytes.add_word(): - - 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 \inf{is_be()} - - @param ea: linear address (C++: ea_t) - @param value: byte value (C++: uint64) - - -ida_bytes.align_flag(): - - align_flag() -> flags_t - - - Get a flags_t representing an alignment directive. - - -ida_bytes.append_cmt(): - - 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: linear address (C++: ea_t) - @param str: comment string to append (C++: const char *) - @param rptble: append to repeatable comment? (C++: bool) - @return: success - - -ida_bytes.attach_custom_data_format(): - - attach_custom_data_format(dtid, dfid) -> bool - - - Attach the data format to the data type. - - @param dtid: 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. (C++: int) - @param dfid: data format id (C++: int) - - -ida_bytes.bin_flag(): - - bin_flag() -> flags_t - - - Get number flag of the base, regardless of current processor - better - to use 'num_flag()' - - -ida_bytes.bin_search(): - - bin_search(start_ea, end_ea, image, mask, step, flags) -> ea_t - - -ida_bytes.byte_flag(): - - byte_flag() -> flags_t - - - Get a flags_t representing a byte. - - -ida_bytes.bytesize(): - - bytesize(ea) -> int - - - Get number of bytes required to store a byte at the given address. - - - @param ea (C++: ea_t) - - -ida_bytes.calc_def_align(): - - calc_def_align(ea, mina, maxa) -> int - - - Calculate default alignment. - - - @param ea (C++: ea_t) - @param mina (C++: int) - @param maxa (C++: int) - - -ida_bytes.calc_dflags(): - - calc_dflags(f, force) -> flags_t - - -ida_bytes.calc_max_align(): - - calc_max_align(endea) -> int - - - Returns: 0..32. - - - @param endea (C++: ea_t) - - -ida_bytes.calc_max_item_end(): - - 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: linear address (C++: ea_t) - @param how: when to stop the search. A combination of Item end search - flags (C++: int) - @return: end of new item. If it is not possible to create an item, it - will return 'ea'. - - -ida_bytes.calc_min_align(): - - calc_min_align(length) -> int - - - Returns: 1..32. - - - @param length (C++: asize_t) - - -ida_bytes.can_define_item(): - - can_define_item(ea, length, flags) -> bool - - - Can define item (instruction/data) of the specified 'length', starting - at 'ea'?if there is an item starting at 'ea', this function ignores - itthis function converts to unexplored all encountered data items with - fixup information. Should be fixed in the future.a new item would - cross segment boundariesa new item would overlap with existing items - (except items specified by 'flags') - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param flags: 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 (C++: - flags_t) - @return: 1-yes, 0-no - - -ida_bytes.change_storage_type(): - - change_storage_type(start_ea, end_ea, stt) -> error_t - - - Change flag storage type for address range. - - @param start_ea: should be lower than end_ea. (C++: ea_t) - @param end_ea: does not belong to the range. (C++: ea_t) - @param stt: storage_type_t (C++: storage_type_t) - @return: error code - - -ida_bytes.char_flag(): - - char_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.chunk_size(): - - 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. - - -ida_bytes.chunk_start(): - - 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. - - -ida_bytes.clr_lzero(): - - clr_lzero(ea, n) -> bool - - - Clear lzero bit. - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.clr_op_type(): - - clr_op_type(ea, n) -> bool - - - Remove operand representation information. (set operand representation - to be 'undefined') - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: success - - -ida_bytes.code_flag(): - - code_flag() -> flags_t - - - 'FF_CODE' - - -ida_bytes.create_16bit_data(): - - create_16bit_data(ea, length) -> bool - - - Convert to 16-bit quantity (take byte size into account) - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - - -ida_bytes.create_32bit_data(): - - create_32bit_data(ea, length) -> bool - - - Convert to 32-bit quantity (take byte size into account) - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - - -ida_bytes.create_align(): - - create_align(ea, length, alignment) -> bool - - - Alignment: 0 or 2..32. If it is 0, is will be calculated. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param alignment (C++: int) - - -ida_bytes.create_byte(): - - create_byte(ea, length, force=False) -> bool - - - Convert to byte. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_custdata(): - - 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) - - -ida_bytes.create_data(): - - create_data(ea, dataflag, size, tid) -> bool - - - Convert to data (byte, word, dword, etc). This function may be used to - create arrays. - - @param ea: linear address (C++: ea_t) - @param dataflag: type of data. Value of function byte_flag() , - word_flag() , etc. (C++: flags_t) - @param size: 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. (C++: asize_t) - @param tid: type id. If the specified type is a structure, then tid is - structure id. Otherwise should be BADNODE . (C++: tid_t) - @return: success - - -ida_bytes.create_double(): - - create_double(ea, length, force=False) -> bool - - - Convert to double. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_dword(): - - create_dword(ea, length, force=False) -> bool - - - Convert to dword. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_float(): - - create_float(ea, length, force=False) -> bool - - - Convert to float. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_oword(): - - 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) - - -ida_bytes.create_packed_real(): - - 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) - - -ida_bytes.create_qword(): - - create_qword(ea, length, force=False) -> bool - - - Convert to quadword. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_strlit(): - - 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: starting address (C++: ea_t) - @param len: length of the string in bytes. if 0, then - get_max_strlit_length() will be used to determine the - length (C++: size_t) - @param strtype: string type. one of String type codes (C++: int32) - @return: success - - -ida_bytes.create_struct(): - - 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) - - -ida_bytes.create_tbyte(): - - create_tbyte(ea, length, force=False) -> bool - - - Convert to tbyte. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_word(): - - create_word(ea, length, force=False) -> bool - - - Convert to word. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_yword(): - - 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) - - -ida_bytes.create_zword(): - - 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) - - -ida_bytes.cust_flag(): - - cust_flag() -> flags_t - - - Get a flags_t representing custom type data. - - -ida_bytes.custfmt_flag(): - - custfmt_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -class ida_bytes.data_format_t(): - - Proxy of C++ data_format_t class - - -ida_bytes.data_format_t.hotkey: - data_format_t_hotkey_get(self) -> char const * - -ida_bytes.data_format_t.id: - - __get_id(self) -> int - - -ida_bytes.data_format_t.is_present_in_menus(): - - is_present_in_menus(self) -> bool - - -ida_bytes.data_format_t.menu_name: - data_format_t_menu_name_get(self) -> char const * - -ida_bytes.data_format_t.name: - data_format_t_name_get(self) -> char const * - -ida_bytes.data_format_t.props: - data_format_t_props_get(self) -> int - -ida_bytes.data_format_t.text_width: - data_format_t_text_width_get(self) -> int32 - -ida_bytes.data_format_t.value_size: - data_format_t_value_size_get(self) -> asize_t - -class ida_bytes.data_type_t(): - - Proxy of C++ data_type_t class - - -ida_bytes.data_type_t.asm_keyword: - data_type_t_asm_keyword_get(self) -> char const * - -ida_bytes.data_type_t.hotkey: - data_type_t_hotkey_get(self) -> char const * - -ida_bytes.data_type_t.id: - - __get_id(self) -> int - - -ida_bytes.data_type_t.is_present_in_menus(): - - is_present_in_menus(self) -> bool - - -ida_bytes.data_type_t.menu_name: - data_type_t_menu_name_get(self) -> char const * - -ida_bytes.data_type_t.name: - data_type_t_name_get(self) -> char const * - -ida_bytes.data_type_t.props: - data_type_t_props_get(self) -> int - -ida_bytes.data_type_t.value_size: - data_type_t_value_size_get(self) -> asize_t - -ida_bytes.dec_flag(): - - dec_flag() -> flags_t - - - Get number flag of the base, regardless of current processor - better - to use 'num_flag()' - - -ida_bytes.del_hidden_range(): - - del_hidden_range(ea) -> bool - - - Delete hidden range. - - @param ea: any address in the hidden range (C++: ea_t) - @return: success - - -ida_bytes.del_items(): - - 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: any address within the first item to delete (C++: ea_t) - @param flags: combination of Unexplored byte conversion flags (C++: - int) - @param nbytes: number of bytes in the range to be undefined (C++: - asize_t) - @param may_destroy: optional routine invoked before deleting a head - item. If callback returns false then item has not - to be deleted and operation fails (C++: - may_destroy_cb_t *) - @return: true on sucessful operation, otherwise false - - -ida_bytes.del_mapping(): - - del_mapping(ea) - - - Delete memory mapping range. - - @param ea: any address in the mapped range (C++: ea_t) - - -ida_bytes.del_value(): - - del_value(ea) - - - Delete byte value from flags. The corresponding byte becomes - uninitialized. - - @param ea (C++: ea_t) - - -ida_bytes.detach_custom_data_format(): - - 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: data type id to detach data format from (C++: int) - @param dfid: data format id to detach (C++: int) - - -ida_bytes.disable_flags(): - - 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: should be lower than end_ea. (C++: ea_t) - @param end_ea: does not belong to the range. (C++: ea_t) - @return: 0 if ok, otherwise return error code - - -ida_bytes.double_flag(): - - double_flag() -> flags_t - - - Get a flags_t representing a double. - - -ida_bytes.dword_flag(): - - dword_flag() -> flags_t - - - Get a flags_t representing a double word. - - -ida_bytes.enable_flags(): - - 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: should be lower than end_ea. (C++: ea_t) - @param end_ea: does not belong to the range. (C++: ea_t) - @param stt: storage_type_t (C++: storage_type_t) - @return: 0 if ok, otherwise an error code - - -ida_bytes.enum_flag(): - - enum_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.equal_bytes(): - - equal_bytes(ea, image, mask, len, sense_case) -> bool - - - Compare 'len' bytes of the program starting from 'ea' with 'image'. - - @param ea: linear address (C++: ea_t) - @param image: bytes to compare with (C++: const uchar *) - @param mask: array of 1/0 bytes, it's length is 'len'. 1 means to - perform the comparison of the corresponding byte. 0 means - not to perform. if mask == NULL, then all bytes of - 'image' will be compared. if mask == SKIP_FF_MASK then - 0xFF bytes will be skipped (C++: const uchar *) - @param len: length of block to compare in bytes. (C++: size_t) - @param sense_case: case-sensitive comparison? (C++: bool) - - -ida_bytes.f_has_cmt(): - - f_has_cmt(f, arg2) -> bool - - -ida_bytes.f_has_dummy_name(): - - f_has_dummy_name(f, arg2) -> bool - - - Does the current byte have dummy (auto-generated, with special prefix) - name? - - - @param f (C++: flags_t) - - -ida_bytes.f_has_extra_cmts(): - - f_has_extra_cmts(f, arg2) -> bool - - -ida_bytes.f_has_name(): - - f_has_name(f, arg2) -> bool - - - Does the current byte have non-trivial (non-dummy) name? - - - @param f (C++: flags_t) - - -ida_bytes.f_has_user_name(): - - f_has_user_name(F, arg2) -> bool - - - Does the current byte have user-specified name? - - - @param F (C++: flags_t) - - -ida_bytes.f_has_xref(): - - f_has_xref(f, arg2) -> bool - - - Does the current byte have cross-references to it? - - - @param f (C++: flags_t) - - -ida_bytes.f_is_align(): - - f_is_align(F, arg2) -> bool - - - See 'is_align()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_byte(): - - f_is_byte(F, arg2) -> bool - - - See 'is_byte()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_code(): - - f_is_code(F, arg2) -> bool - - - Does flag denote start of an instruction? - - - @param F (C++: flags_t) - - -ida_bytes.f_is_custom(): - - f_is_custom(F, arg2) -> bool - - - See 'is_custom()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_data(): - - f_is_data(F, arg2) -> bool - - - Does flag denote start of data? - - - @param F (C++: flags_t) - - -ida_bytes.f_is_double(): - - f_is_double(F, arg2) -> bool - - - See 'is_double()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_dword(): - - f_is_dword(F, arg2) -> bool - - - See 'is_dword()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_float(): - - f_is_float(F, arg2) -> bool - - - See 'is_float()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_head(): - - f_is_head(F, arg2) -> bool - - - Does flag denote start of instruction OR data? - - - @param F (C++: flags_t) - - -ida_bytes.f_is_not_tail(): - - f_is_not_tail(F, arg2) -> bool - - - Does flag denote tail byte? - - - @param F (C++: flags_t) - - -ida_bytes.f_is_oword(): - - f_is_oword(F, arg2) -> bool - - - See 'is_oword()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_pack_real(): - - f_is_pack_real(F, arg2) -> bool - - - See 'is_pack_real()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_qword(): - - f_is_qword(F, arg2) -> bool - - - See 'is_qword()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_strlit(): - - f_is_strlit(F, arg2) -> bool - - - See 'is_strlit()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_struct(): - - f_is_struct(F, arg2) -> bool - - - See 'is_struct()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_tail(): - - f_is_tail(F, arg2) -> bool - - - Does flag denote tail byte? - - - @param F (C++: flags_t) - - -ida_bytes.f_is_tbyte(): - - f_is_tbyte(F, arg2) -> bool - - - See 'is_tbyte()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_word(): - - f_is_word(F, arg2) -> bool - - - See 'is_word()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_yword(): - - f_is_yword(F, arg2) -> bool - - - See 'is_yword()' - - - @param F (C++: flags_t) - - -ida_bytes.find_byte(): - - 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: linear address (C++: ea_t) - @param size: number of bytes to inspect (C++: asize_t) - @param value: value to find (C++: uchar) - @param bin_search_flags: combination of Search flags (C++: int) - @return: address of byte or BADADDR - - -ida_bytes.find_byter(): - - 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: the lower address of the search range (C++: ea_t) - @param size: number of bytes to inspect (C++: asize_t) - @param value: value to find (C++: uchar) - @param bin_search_flags: combination of Search flags (C++: int) - @return: address of byte or BADADDR - - -ida_bytes.find_custom_data_format(): - - find_custom_data_format(name) -> int - - - Get id of a custom data format. - - @param name: name of the custom data format (C++: const char *) - @return: id or -1 - - -ida_bytes.find_custom_data_type(): - - find_custom_data_type(name) -> int - - - Get id of a custom data type. - - @param name: name of the custom data type (C++: const char *) - @return: id or -1 - - -ida_bytes.float_flag(): - - float_flag() -> flags_t - - - Get a flags_t representing a float. - - -ida_bytes.flt_flag(): - - flt_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.free_chunk(): - - free_chunk(bottom, size, step) -> ea_t - - - Search for a hole in the addressing space of the program. - - @param bottom: address to start searching (C++: ea_t) - @param size: size of desired block (C++: asize_t) - @param step: bit mask for the start of hole (0xF would align hole to a - paragraph). if 'step' is negative, the bottom address - with be aligned. otherwise the kernel will try to use it - as is and align it only when the hole is too small. (C++: - int32) - @return: start of the hole or BADADDR - - -ida_bytes.get_16bit(): - - 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() - - -ida_bytes.get_32bit(): - - 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 \ph{nbits}: if ( nbits <= 8 ) - return get_dword(ea); if ( nbits <= 16) return - get_wide_word(ea); return get_wide_byte(ea); - - -ida_bytes.get_64bit(): - - 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 \ph{nbits}: if ( nbits <= 8 ) - return get_qword(ea); if ( nbits <= 16) return - get_wide_dword(ea); return get_wide_byte(ea); - - -ida_bytes.get_8bit(): - - get_8bit(ea, v, nbit) -> PyObject * - - -ida_bytes.get_byte(): - - 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) - - -ida_bytes.get_bytes(): - - 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 - @return: the bytes (as a str), or None in case of failure - - -ida_bytes.get_bytes_and_mask(): - - 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 - @return: a tuple (bytes, mask), or None in case of failure. - Both 'bytes' and 'mask' are 'str' instances. - - -ida_bytes.get_cmt(): - - get_cmt(ea, rptble) -> ssize_t - - - Get an indented comment. - - @param ea: linear address. may point to tail byte, the function will - find start of the item (C++: ea_t) - @param rptble: get repeatable comment? (C++: bool) - @return: size of comment or -1 - - -ida_bytes.get_custom_data_format(): - - get_custom_data_format(dfid) -> data_format_t - - - Get definition of a registered custom data format. - - @param dfid: data format id (C++: int) - @return: data format definition or NULL - - -ida_bytes.get_custom_data_formats(): - - get_custom_data_formats(out, dtid) -> int - - - Get list of attached custom data formats for the specified data type. - - @param out: buffer for the output. may be NULL (C++: intvec_t *) - @param dtid: data type id (C++: int) - @return: number of returned custom data formats. if error, returns -1 - - -ida_bytes.get_custom_data_type(): - - get_custom_data_type(dtid) -> data_type_t - - - Get definition of a registered custom data type. - - @param dtid: data type id (C++: int) - @return: data type definition or NULL - - -ida_bytes.get_custom_data_types(): - - get_custom_data_types(out, min_size=0, max_size=BADADDR) -> int - - - Get list of registered custom data type ids. - - @param out: buffer for the output. may be NULL (C++: intvec_t *) - @param min_size: minimum value size (C++: asize_t) - @param max_size: maximum value size (C++: asize_t) - @return: number of custom data types with the specified size limits - - -ida_bytes.get_data_elsize(): - - get_data_elsize(ea, F, ti=None) -> asize_t - - - Get size of data type specified in flags 'F'. - - @param ea: linear address of the item (C++: ea_t) - @param F: flags (C++: flags_t) - @param ti: 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 NULL). If - specified as NULL, will be automatically retrieved from the - database (C++: const opinfo_t *) - @return: byte : 1 word : 2 etc... - - -ida_bytes.get_data_value(): - - 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: pointer to the result. may be NULL (C++: uval_t *) - @param ea: linear address (C++: ea_t) - @param size: size of data to read. If 0, then the item type at 'ea' - will be used (C++: asize_t) - @return: success - - -ida_bytes.get_db_byte(): - - 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) - - -ida_bytes.get_default_radix(): - - get_default_radix() -> int - - - Get default base of number for the current processor. - - @return: 2, 8, 10, 16 - - -ida_bytes.get_dword(): - - get_dword(ea) -> uint32 - - - Get one dword (32-bit) of the program at 'ea'. This function takes - into account order of bytes specified in \inf{is_be()} This function - works only for 8bit byte processors. - - @param ea (C++: ea_t) - - -ida_bytes.get_enum_id(): - - get_enum_id(ea, n) -> enum_t - - - Get enum id of 'enum' operand. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: id of enum or BADNODE - - -ida_bytes.get_first_hidden_range(): - - get_first_hidden_range() -> hidden_range_t - - - Get pointer to the first hidden range. - - @return: ptr to hidden range or NULL - - -ida_bytes.get_flags(): - - get_flags(ea) -> flags_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) - - -ida_bytes.get_flags_by_size(): - - get_flags_by_size(size) -> flags_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) - - -ida_bytes.get_flags_ex(): - - get_flags_ex(ea, how) -> flags_t - - - Get flags for the specified address, extended form. - - - @param ea (C++: ea_t) - @param how (C++: int) - - -ida_bytes.get_forced_operand(): - - get_forced_operand(ea, n) -> ssize_t - - - Get forced operand. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, 2) (C++: int) - @return: size of forced operand or -1 - - -ida_bytes.get_full_data_elsize(): - - 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++: flags_t) - @param ti (C++: const opinfo_t *) - - -ida_bytes.get_full_flags(): - - get_full_flags(ea) -> flags_t - - - Get flags value for address 'ea'. - - @param ea (C++: ea_t) - @return: 0 if address is not present in the program - - -ida_bytes.get_hidden_range(): - - get_hidden_range(ea) -> hidden_range_t - - - Get pointer to hidden range structure, in: linear address. - - @param ea: any address in the hidden range (C++: ea_t) - - -ida_bytes.get_hidden_range_num(): - - get_hidden_range_num(ea) -> int - - - Get number of a hidden range. - - @param ea: any address in the hidden range (C++: ea_t) - @return: number of hidden range (0.. get_hidden_range_qty() -1) - - -ida_bytes.get_hidden_range_qty(): - - get_hidden_range_qty() -> int - - - Get number of hidden ranges. - - -ida_bytes.get_item_end(): - - 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) - - -ida_bytes.get_item_flag(): - - get_item_flag(_from, n, ea, appzero) -> flags_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: linear address of the instruction which refers to 'ea' - (C++: ea_t) - @param n: number of operand which refers to 'ea' (C++: int) - @param ea: the referenced address (C++: ea_t) - @param appzero: append a struct field name if the field offset is - zero? meaningful only if the name refers to a - structure. (C++: bool) - @return: flags or 0 (if failed) - - -ida_bytes.get_item_head(): - - 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) - - -ida_bytes.get_item_size(): - - get_item_size(ea) -> asize_t - - - Get size of item (instruction/data) in bytes. Unexplored bytes have - length of 1 byte. This function never returns 0. - - @param ea (C++: ea_t) - - -ida_bytes.get_last_hidden_range(): - - get_last_hidden_range() -> hidden_range_t - - - Get pointer to the last hidden range. - - @return: ptr to hidden range or NULL - - -ida_bytes.get_manual_insn(): - - get_manual_insn(ea) -> ssize_t - - - Retrieve the user-specified string for the manual instruction. - - @param ea: linear address of the instruction or data item (C++: ea_t) - @return: size of manual instruction or -1 - - -ida_bytes.get_mapping(): - - get_mapping(n) -> bool - - - Get memory mapping range by its number. - - @param n: number of mapping range (0.. get_mappings_qty() -1) (C++: - size_t) - @return: false if the specified range doesn't exist, otherwise returns - from , to , size - - -ida_bytes.get_mappings_qty(): - - get_mappings_qty() -> size_t - - - Get number of mappings. - - -ida_bytes.get_max_strlit_length(): - - get_max_strlit_length(ea, strtype, options=0) -> size_t - - - Determine maximum length of string literal. - - @param ea: starting address (C++: ea_t) - @param strtype: string type. one of String type codes (C++: int32) - @param options: combination of string literal length options (C++: - int) - @return: length of the string in octets (octet==8bit) - - -ida_bytes.get_next_hidden_range(): - - get_next_hidden_range(ea) -> hidden_range_t - - - Get pointer to next hidden range. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to hidden range or NULL if next hidden range doesn't - exist - - -ida_bytes.get_octet(): - - get_octet(ea, v, nbit) -> PyObject * - - - Get 8 bits of the program at 'ea'. The main usage of this function is - to iterate range of bytes. Here is an example: - - uint64 v; - int nbit = 0; - for ( ... ) { - uchar byte = get_octet(&ea, &v, &nbit); - ... - } - - 'ea' is incremented each time when a new byte is read. In the above - example, it will be incremented in the first loop iteration. - - @param ea (C++: ea_t *) - @param v (C++: uint64 *) - @param nbit (C++: int *) - - -ida_bytes.get_opinfo(): - - get_opinfo(buf, ea, n, flags) -> opinfo_t - - - Get additional information about an operand representation. - - @param buf: buffer to receive the result. may not be NULL (C++: - opinfo_t *) - @param ea: linear address of item (C++: ea_t) - @param n: number of operand, 0 or 1 (C++: int) - @param flags: flags of the item (C++: flags_t) - @return: NULL if no additional representation information - - -ida_bytes.get_optype_flags0(): - - get_optype_flags0(F) -> flags_t - - - Get flags for first operand. - - - @param F (C++: flags_t) - - -ida_bytes.get_optype_flags1(): - - get_optype_flags1(F) -> flags_t - - - Get flags for second operand. - - - @param F (C++: flags_t) - - -ida_bytes.get_original_byte(): - - 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) - - -ida_bytes.get_original_dword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - - -ida_bytes.get_original_qword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - - -ida_bytes.get_original_word(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - - -ida_bytes.get_predef_insn_cmt(): - - get_predef_insn_cmt(ins) -> ssize_t - - - Get predefined comment. - - @param ins: current instruction information (C++: const insn_t &) - @return: size of comment or -1 - - -ida_bytes.get_prev_hidden_range(): - - get_prev_hidden_range(ea) -> hidden_range_t - - - Get pointer to previous hidden range. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to hidden range or NULL if previous hidden range doesn't - exist - - -ida_bytes.get_qword(): - - get_qword(ea) -> uint64 - - - Get one qword (64-bit) of the program at 'ea'. This function takes - into account order of bytes specified in \inf{is_be()} This function - works only for 8bit byte processors. - - @param ea (C++: ea_t) - - -ida_bytes.get_radix(): - - 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: flags (C++: flags_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: 2, 8, 10, 16 - - -ida_bytes.get_strlit_contents(): - - get_strlit_contents(ea, py_len, type, flags=0) -> PyObject * - - - Get bytes contents at location, possibly converted. - It works even if the string has not been created in the database yet. - - Note that this will always return a simple string of bytes - (i.e., a 'str' instance), and not a string of unicode characters. - - If you want auto-conversion to unicode strings (that is: real strings), - you should probably be using the idautils.Strings class. - - @param ea: linear address of the string - @param 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. - - -ida_bytes.get_stroff_path(): - - get_stroff_path(path, delta, ea, n) -> int - - - Get struct path of operand. - - @param path: buffer for structure path (strpath). see nalt.hpp for - more info. (C++: tid_t *) - @param delta: struct offset delta (C++: adiff_t *) - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: length of strpath - - -ida_bytes.get_wide_byte(): - - 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) - - -ida_bytes.get_wide_dword(): - - 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 - \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 - - @param ea (C++: ea_t) - - -ida_bytes.get_wide_word(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - - -ida_bytes.get_word(): - - get_word(ea) -> ushort - - - Get one word (16-bit) of the program at 'ea'. This function takes into - account order of bytes specified in \inf{is_be()} This function works - only for 8bit byte processors. - - @param ea (C++: ea_t) - - -ida_bytes.get_zero_ranges(): - - 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: pointer to the return value. cannot be NULL (C++: - rangeset_t *) - @param range: the range of addresses to verify. can be NULL - means - all ranges (C++: const range_t *) - @return: true if the result is a non-empty set - - -ida_bytes.getn_hidden_range(): - - getn_hidden_range(n) -> hidden_range_t - - - Get pointer to hidden range structure, in: number of hidden range. - - @param n: number of hidden range, is in range 0.. - get_hidden_range_qty() -1 (C++: int) - - -ida_bytes.has_any_name(): - - has_any_name(F) -> bool - - - Does the current byte have any name? - - - @param F (C++: flags_t) - - -ida_bytes.has_auto_name(): - - has_auto_name(F) -> bool - - - Does the current byte have auto-generated (no special prefix) name? - - - @param F (C++: flags_t) - - -ida_bytes.has_cmt(): - - has_cmt(F) -> bool - - - Does the current byte have an indented comment? - - - @param F (C++: flags_t) - - -ida_bytes.has_dummy_name(): - - has_dummy_name(F) -> bool - - - Does the current byte have dummy (auto-generated, with special prefix) - name? - - - @param F (C++: flags_t) - - -ida_bytes.has_extra_cmts(): - - has_extra_cmts(F) -> bool - - - Does the current byte have additional anterior or posterior lines? - - - @param F (C++: flags_t) - - -ida_bytes.has_immd(): - - has_immd(F) -> bool - - - Has immediate value? - - - @param F (C++: flags_t) - - -ida_bytes.has_name(): - - has_name(F) -> bool - - - Does the current byte have non-trivial (non-dummy) name? - - - @param F (C++: flags_t) - - -ida_bytes.has_user_name(): - - has_user_name(F) -> bool - - - Does the current byte have user-specified name? - - - @param F (C++: flags_t) - - -ida_bytes.has_value(): - - has_value(F) -> bool - - - Do flags contain byte value? - - - @param F (C++: flags_t) - - -ida_bytes.has_xref(): - - has_xref(F) -> bool - - - Does the current byte have cross-references to it? - - - @param F (C++: flags_t) - - -ida_bytes.hex_flag(): - - hex_flag() -> flags_t - - - Get number flag of the base, regardless of current processor - better - to use 'num_flag()' - - -class ida_bytes.hidden_range_t(): - - Proxy of C++ hidden_range_t class - - -ida_bytes.hidden_range_t._print(): - - _print(self) -> size_t - - -ida_bytes.hidden_range_t.clear(): - - clear(self) - - -ida_bytes.hidden_range_t.color: - hidden_range_t_color_get(self) -> bgcolor_t - -ida_bytes.hidden_range_t.compare(): - - compare(self, r) -> int - - -ida_bytes.hidden_range_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_bytes.hidden_range_t.description: - hidden_range_t_description_get(self) -> char * - -ida_bytes.hidden_range_t.empty(): - - empty(self) -> bool - - -ida_bytes.hidden_range_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_bytes.hidden_range_t.extend(): - - extend(self, ea) - - -ida_bytes.hidden_range_t.footer: - hidden_range_t_footer_get(self) -> char * - -ida_bytes.hidden_range_t.header: - hidden_range_t_header_get(self) -> char * - -ida_bytes.hidden_range_t.intersect(): - - intersect(self, r) - - -ida_bytes.hidden_range_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_bytes.hidden_range_t.size(): - - size(self) -> asize_t - - -ida_bytes.hidden_range_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_bytes.hidden_range_t.visible: - hidden_range_t_visible_get(self) -> bool - -ida_bytes.is_align(): - - is_align(F) -> bool - - - 'FF_ALIGN' - - - @param F (C++: flags_t) - - -ida_bytes.is_attached_custom_data_format(): - - is_attached_custom_data_format(dtid, dfid) -> bool - - -ida_bytes.is_bnot(): - - is_bnot(ea, F, n) -> bool - - - Should we negate the operand?. sh{a_bnot} should be defined in the - idp module in order to work with this function - - @param ea (C++: ea_t) - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_byte(): - - is_byte(F) -> bool - - - 'FF_BYTE' - - - @param F (C++: flags_t) - - -ida_bytes.is_char(): - - is_char(F, n) -> bool - - - is character constant? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_char0(): - - is_char0(F) -> bool - - - Is the first operand character constant? (example: push 'a') - - - @param F (C++: flags_t) - - -ida_bytes.is_char1(): - - is_char1(F) -> bool - - - Is the second operand character constant? (example: mov al, 'a') - - - @param F (C++: flags_t) - - -ida_bytes.is_code(): - - is_code(F) -> bool - - - Does flag denote start of an instruction? - - - @param F (C++: flags_t) - - -ida_bytes.is_custfmt(): - - is_custfmt(F, n) -> bool - - - is custom data format? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_custfmt0(): - - is_custfmt0(F) -> bool - - - Does the first operand use a custom data representation? - - - @param F (C++: flags_t) - - -ida_bytes.is_custfmt1(): - - is_custfmt1(F) -> bool - - - Does the second operand use a custom data representation? - - - @param F (C++: flags_t) - - -ida_bytes.is_custom(): - - is_custom(F) -> bool - - - 'FF_CUSTOM' - - - @param F (C++: flags_t) - - -ida_bytes.is_data(): - - is_data(F) -> bool - - - Does flag denote start of data? - - - @param F (C++: flags_t) - - -ida_bytes.is_defarg(): - - is_defarg(F, n) -> bool - - - is defined? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_defarg0(): - - is_defarg0(F) -> bool - - - Is the first operand defined? Initially operand has no defined - representation. - - - @param F (C++: flags_t) - - -ida_bytes.is_defarg1(): - - is_defarg1(F) -> bool - - - Is the second operand defined? Initially operand has no defined - representation. - - - @param F (C++: flags_t) - - -ida_bytes.is_double(): - - is_double(F) -> bool - - - 'FF_DOUBLE' - - - @param F (C++: flags_t) - - -ida_bytes.is_dword(): - - is_dword(F) -> bool - - - 'FF_DWORD' - - - @param F (C++: flags_t) - - -ida_bytes.is_enum(): - - is_enum(F, n) -> bool - - - is enum? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_enum0(): - - is_enum0(F) -> bool - - - Is the first operand a symbolic constant (enum member)? - - - @param F (C++: flags_t) - - -ida_bytes.is_enum1(): - - is_enum1(F) -> bool - - - Is the second operand a symbolic constant (enum member)? - - - @param F (C++: flags_t) - - -ida_bytes.is_float(): - - is_float(F) -> bool - - - 'FF_FLOAT' - - - @param F (C++: flags_t) - - -ida_bytes.is_float0(): - - is_float0(F) -> bool - - - Is the first operand a floating point number? - - - @param F (C++: flags_t) - - -ida_bytes.is_float1(): - - is_float1(F) -> bool - - - Is the second operand a floating point number? - - - @param F (C++: flags_t) - - -ida_bytes.is_flow(): - - is_flow(F) -> bool - - - Does the previous instruction exist and pass execution flow to the - current byte? - - - @param F (C++: flags_t) - - -ida_bytes.is_fltnum(): - - is_fltnum(F, n) -> bool - - - is floating point number? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_forced_operand(): - - is_forced_operand(ea, n) -> bool - - - Is operand manually defined?. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, 2) (C++: int) - - -ida_bytes.is_func(): - - is_func(F) -> bool - - - Is function start? - - - @param F (C++: flags_t) - - -ida_bytes.is_head(): - - is_head(F) -> bool - - - Does flag denote start of instruction OR data? - - - @param F (C++: flags_t) - - -ida_bytes.is_invsign(): - - 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++: flags_t) - @param n (C++: int) - - -ida_bytes.is_loaded(): - - is_loaded(ea) -> bool - - - Does the specified address have a byte value (is initialized?) - - - @param ea (C++: ea_t) - - -ida_bytes.is_lzero(): - - is_lzero(ea, n) -> bool - - - Display leading zeroes in operands. The global switch for the leading - zeroes is in \inf{s_genflags} The leading zeroes doesn't work if the - octal numbers start with 0 Display leading zeroes? (takes into account - \inf{s_genflags}) - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.is_manual(): - - is_manual(F, n) -> bool - - - is forced operand? (use 'is_forced_operand()' ) - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_manual_insn(): - - is_manual_insn(ea) -> bool - - - Is the instruction overridden? - - @param ea: linear address of the instruction or data item (C++: ea_t) - - -ida_bytes.is_mapped(): - - is_mapped(ea) -> bool - - - Is the specified address 'ea' present in the program? - - - @param ea (C++: ea_t) - - -ida_bytes.is_not_tail(): - - is_not_tail(F) -> bool - - - Does flag denote tail byte? - - - @param F (C++: flags_t) - - -ida_bytes.is_numop(): - - is_numop(F, n) -> bool - - - is number (bin, oct, dec, hex)? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_numop0(): - - is_numop0(F) -> bool - - - Is the first operand a number (i.e. binary, octal, decimal or hex?) - - - @param F (C++: flags_t) - - -ida_bytes.is_numop1(): - - is_numop1(F) -> bool - - - Is the second operand a number (i.e. binary, octal, decimal or hex?) - - - @param F (C++: flags_t) - - -ida_bytes.is_off(): - - is_off(F, n) -> bool - - - is offset? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_off0(): - - is_off0(F) -> bool - - - Is the first operand offset? (example: push offset xxx) - - - @param F (C++: flags_t) - - -ida_bytes.is_off1(): - - is_off1(F) -> bool - - - Is the second operand offset? (example: mov ax, offset xxx) - - - @param F (C++: flags_t) - - -ida_bytes.is_oword(): - - is_oword(F) -> bool - - - 'FF_OWORD' - - - @param F (C++: flags_t) - - -ida_bytes.is_pack_real(): - - is_pack_real(F) -> bool - - - 'FF_PACKREAL' - - - @param F (C++: flags_t) - - -ida_bytes.is_qword(): - - is_qword(F) -> bool - - - 'FF_QWORD' - - - @param F (C++: flags_t) - - -ida_bytes.is_same_data_type(): - - is_same_data_type(F1, F2) -> bool - - - Do the given flags specify the same data type? - - - @param F1 (C++: flags_t) - @param F2 (C++: flags_t) - - -ida_bytes.is_seg(): - - is_seg(F, n) -> bool - - - is segment? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_seg0(): - - is_seg0(F) -> bool - - - Is the first operand segment selector? (example: push seg seg001) - - - @param F (C++: flags_t) - - -ida_bytes.is_seg1(): - - is_seg1(F) -> bool - - - Is the second operand segment selector? (example: mov dx, seg dseg) - - - @param F (C++: flags_t) - - -ida_bytes.is_stkvar(): - - is_stkvar(F, n) -> bool - - - is stack variable? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_stkvar0(): - - is_stkvar0(F) -> bool - - - Is the first operand a stack variable? - - - @param F (C++: flags_t) - - -ida_bytes.is_stkvar1(): - - is_stkvar1(F) -> bool - - - Is the second operand a stack variable? - - - @param F (C++: flags_t) - - -ida_bytes.is_strlit(): - - is_strlit(F) -> bool - - - 'FF_STRLIT' - - - @param F (C++: flags_t) - - -ida_bytes.is_stroff(): - - is_stroff(F, n) -> bool - - - is struct offset? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_stroff0(): - - is_stroff0(F) -> bool - - - Is the first operand an offset within a struct? - - - @param F (C++: flags_t) - - -ida_bytes.is_stroff1(): - - is_stroff1(F) -> bool - - - Is the second operand an offset within a struct? - - - @param F (C++: flags_t) - - -ida_bytes.is_struct(): - - is_struct(F) -> bool - - - 'FF_STRUCT' - - - @param F (C++: flags_t) - - -ida_bytes.is_suspop(): - - is_suspop(ea, F, n) -> bool - - - is suspicious operand? - - - @param ea (C++: ea_t) - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_tail(): - - is_tail(F) -> bool - - - Does flag denote tail byte? - - - @param F (C++: flags_t) - - -ida_bytes.is_tbyte(): - - is_tbyte(F) -> bool - - - 'FF_TBYTE' - - - @param F (C++: flags_t) - - -ida_bytes.is_unknown(): - - is_unknown(F) -> bool - - - Does flag denote unexplored byte? - - - @param F (C++: flags_t) - - -ida_bytes.is_varsize_item(): - - is_varsize_item(ea, F, ti=None, itemsize=None) -> int - - - Is the item at 'ea' variable size?. - - @param ea: linear address of the item (C++: ea_t) - @param F: flags (C++: flags_t) - @param ti: 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 NULL). If - specified as NULL, will be automatically retrieved from the - database (C++: const opinfo_t *) - @param itemsize: if not NULL and the item is varsize, itemsize will - contain the calculated item size (for struct types, - the minimal size is returned) (C++: asize_t *) - - -ida_bytes.is_word(): - - is_word(F) -> bool - - - 'FF_WORD' - - - @param F (C++: flags_t) - - -ida_bytes.is_yword(): - - is_yword(F) -> bool - - - 'FF_YWORD' - - - @param F (C++: flags_t) - - -ida_bytes.is_zword(): - - is_zword(F) -> bool - - - 'FF_ZWORD' - - - @param F (C++: flags_t) - - -ida_bytes.leading_zero_important(): - - leading_zero_important(ea, n) -> bool - - - Check if leading zeroes are important. - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.nbits(): - - nbits(ea) -> int - - - Get number of bits in a byte at the given address. - - @param ea (C++: ea_t) - @return: \ph{dnbits()} if the address doesn't belong to a segment, - otherwise the result depends on the segment type - - -ida_bytes.next_addr(): - - 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. - - -ida_bytes.next_chunk(): - - 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. - - -ida_bytes.next_head(): - - next_head(ea, maxea) -> ea_t - - - Get start of next defined item. - - @param ea: begin search at this address (C++: ea_t) - @param maxea: not included in the search range (C++: ea_t) - @return: BADADDR if none exists. - - -ida_bytes.next_inited(): - - next_inited(ea, maxea) -> ea_t - - - Find the next initialized address. - - - @param ea (C++: ea_t) - @param maxea (C++: ea_t) - - -ida_bytes.next_not_tail(): - - next_not_tail(ea) -> ea_t - - - Get address of next non-tail byte. - - @param ea (C++: ea_t) - @return: BADADDR if none exists. - - -ida_bytes.next_that(): - - next_that(ea, maxea, callable) -> ea_t - - - Find next address with a flag satisfying the function 'testf'. - Start searching from address 'ea'+1 and inspect bytes up to 'maxea'. - maxea is not included in the search range. - - @param callable: a Python callable with the following prototype: - callable(flags). Return True to stop enumeration. - @return: the found address or BADADDR. - - -ida_bytes.next_unknown(): - - 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) - - -ida_bytes.num_flag(): - - num_flag() -> flags_t - - - Get number of default base (bin, oct, dec, hex) - - -ida_bytes.oct_flag(): - - oct_flag() -> flags_t - - - Get number flag of the base, regardless of current processor - better - to use 'num_flag()' - - -ida_bytes.off_flag(): - - off_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.op_adds_xrefs(): - - 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++: flags_t) - @param n (C++: int) - - -ida_bytes.op_bin(): - - op_bin(ea, n) -> bool - - - set op type to 'bin_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_chr(): - - op_chr(ea, n) -> bool - - - set op type to 'char_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_custfmt(): - - 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) - - -ida_bytes.op_dec(): - - op_dec(ea, n) -> bool - - - set op type to 'dec_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_enum(): - - op_enum(ea, n, id, serial) -> bool - - - Set operand representation to be 'enum_t'. If applied to unexplored - bytes, converts them to 16/32bit word data - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @param id: id of enum (C++: enum_t) - @param serial: 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 (C++: uchar) - @return: success - - -ida_bytes.op_flt(): - - op_flt(ea, n) -> bool - - - set op type to 'flt_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_hex(): - - op_hex(ea, n) -> bool - - - set op type to 'hex_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_num(): - - op_num(ea, n) -> bool - - - set op type to 'num_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_oct(): - - op_oct(ea, n) -> bool - - - set op type to 'oct_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_seg(): - - 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: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: success - - -ida_bytes.op_stkvar(): - - 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: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: success - - -ida_bytes.op_stroff(): - - op_stroff(insn, n, path, path_len, delta) -> bool - - - Set operand representation to be 'struct offset'. If applied to - unexplored bytes, converts them to 16/32bit word data - - @param insn: the instruction (C++: const insn_t &) - @param n: number of operand (0, 1, -1) (C++: int) - @param path: structure path (strpath). see nalt.hpp for more info. - (C++: const tid_t *) - @param path_len: length of the structure path (C++: int) - @param delta: struct offset delta. usually 0. denotes the difference - between the structure base and the pointer into the - structure. (C++: adiff_t) - @return: success - - Example: - Python> - Python> ins = ida_ua.insn_t() - Python> if ida_ua.decode_insn(ins, some_address): - Python> path_len = 1 - Python> path = ida_pro.tid_array(path_len) - Python> path[0] = ida_struct.get_struc_id("my_stucture_t") - Python> ida_bytes.op_stroff(ins, 0, path.cast(), path_len, 0) - Python> - - -ida_bytes.oword_flag(): - - oword_flag() -> flags_t - - - Get a flags_t representing a octaword. - - -ida_bytes.packreal_flag(): - - packreal_flag() -> flags_t - - - Get a flags_t representing a packed decimal real. - - -ida_bytes.patch_byte(): - - 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. - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -ida_bytes.patch_bytes(): - - 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: linear address (C++: ea_t) - @param buf: buffer with new values of bytes (C++: const void *) - - -ida_bytes.patch_dword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -ida_bytes.patch_qword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -ida_bytes.patch_word(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -ida_bytes.prev_addr(): - - prev_addr(ea) -> ea_t - - - Get previous address in the program. - - @param ea (C++: ea_t) - @return: BADADDR if no such address exist. - - -ida_bytes.prev_chunk(): - - 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. - - -ida_bytes.prev_head(): - - prev_head(ea, minea) -> ea_t - - - Get start of previous defined item. - - @param ea: begin search at this address (C++: ea_t) - @param minea: included in the search range (C++: ea_t) - @return: BADADDR if none exists. - - -ida_bytes.prev_inited(): - - prev_inited(ea, minea) -> ea_t - - - Find the previous initialized address. - - - @param ea (C++: ea_t) - @param minea (C++: ea_t) - - -ida_bytes.prev_not_tail(): - - prev_not_tail(ea) -> ea_t - - - Get address of previous non-tail byte. - - @param ea (C++: ea_t) - @return: BADADDR if none exists. - - -ida_bytes.prev_that(): - - prev_that(ea, minea, callable) -> ea_t - - - Find previous address with a flag satisfying the function 'testf'.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: start searching from this address - 1. (C++: ea_t) - @param minea: included in the search range. (C++: ea_t) - @return: the found address or BADADDR . - - -ida_bytes.prev_unknown(): - - 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) - - -ida_bytes.print_strlit_type(): - - 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: the string type (C++: int32) - @param flags: or'ed PSTF_* constants (C++: int) - @return: length of generated text - - -ida_bytes.put_byte(): - - 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.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: linear address (C++: ea_t) - @param x: byte value (C++: uint64) - @return: true if the database has been modified - - -ida_bytes.put_bytes(): - - 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: linear address (C++: ea_t) - @param buf: buffer with new values of bytes (C++: const void *) - - -ida_bytes.put_dword(): - - put_dword(ea, x) - - - Set value of one dword of the program. This function takes into - account order of bytes specified in \inf{is_be()} This function works - for wide byte processors too.the original value of the dword is - completely lost and can't be recovered by the 'get_original_dword()' - function. - - @param ea: linear address (C++: ea_t) - @param x: dword value (C++: uint64) - - -ida_bytes.put_qword(): - - put_qword(ea, x) - - - Set value of one qword (8 bytes) of the program. This function takes - into account order of bytes specified in \inf{is_be()} This function - DOESN'T works for wide byte processors. - - @param ea: linear address (C++: ea_t) - @param x: qword value (C++: uint64) - - -ida_bytes.put_word(): - - put_word(ea, x) - - - Set value of one word of the program. This function takes into account - order of bytes specified in \inf{is_be()} This function works for wide - byte processors too.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) - - -ida_bytes.qword_flag(): - - qword_flag() -> flags_t - - - Get a flags_t representing a quad word. - - -ida_bytes.register_custom_data_format(): - - register_custom_data_format(py_df) -> int - - - Registers a custom data format with a given data type. - @param df: an instance of data_format_t - @return: - < 0 if failed to register - > 0 data format id - - -ida_bytes.register_custom_data_type(): - - register_custom_data_type(py_dt) -> int - - - Registers a custom data type. - @param dt: an instance of the data_type_t class - @return: - < 0 if failed to register - > 0 data type id - - -ida_bytes.register_data_types_and_formats(): - - 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 - - -ida_bytes.revert_byte(): - - revert_byte(ea) -> bool - - - Revert patched byte - - @param ea (C++: ea_t) - - -ida_bytes.seg_flag(): - - seg_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.set_cmt(): - - set_cmt(ea, comm, rptble) -> bool - - - Set an indented comment. - - @param ea: linear address (C++: ea_t) - @param comm: comment string NULL: do nothing (return 0) "" : - delete comment (C++: const char *) - @param rptble: is repeatable? (C++: bool) - @return: success - - -ida_bytes.set_forced_operand(): - - set_forced_operand(ea, n, op) -> bool - - - Set forced operand. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, 2) (C++: int) - @param op: text of operand NULL: do nothing (return 0) "" : delete - forced operand (C++: const char *) - @return: success - - -ida_bytes.set_immd(): - - 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) - - -ida_bytes.set_lzero(): - - set_lzero(ea, n) -> bool - - - Set toggle lzero bit. - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.set_manual_insn(): - - set_manual_insn(ea, manual_insn) - - - Set manual instruction string. - - @param ea: linear address of the instruction or data item (C++: ea_t) - @param manual_insn: "" - delete manual string. NULL - do nothing (C++: - const char *) - - -ida_bytes.set_op_type(): - - set_op_type(ea, type, n) -> bool - - - (internal function) change representation of operand(s). - - @param ea: linear address (C++: ea_t) - @param type: new flag value (should be obtained from char_flag() , - num_flag() and similar functions) (C++: flags_t) - @param n: number of operand (0, 1, -1) (C++: int) - - -ida_bytes.set_opinfo(): - - 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: linear address of the item (C++: ea_t) - @param n: number of operand, 0 or 1 (C++: int) - @param flag: flags of the item (C++: flags_t) - @param ti: additional representation information (C++: const opinfo_t - *) - @param suppress_events: do not generate changing_op_type and - op_type_changed events (C++: bool) - @return: success - - -ida_bytes.stkvar_flag(): - - stkvar_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.strlit_flag(): - - strlit_flag() -> flags_t - - - Get a flags_t representing a string literal. - - -ida_bytes.stroff_flag(): - - stroff_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.stru_flag(): - - stru_flag() -> flags_t - - - Get a flags_t representing a struct. - - -ida_bytes.tbyte_flag(): - - tbyte_flag() -> flags_t - - - Get a flags_t representing a tbyte. - - -ida_bytes.toggle_bnot(): - - toggle_bnot(ea, n) -> bool - - - Toggle binary negation of operand. also see 'is_bnot()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.toggle_lzero(): - - toggle_lzero(ea, n) -> bool - - -ida_bytes.toggle_sign(): - - 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) - - -ida_bytes.unregister_custom_data_format(): - - unregister_custom_data_format(dfid) -> bool - - - Unregisters a custom data format - @param dfid: data format id - @return: Boolean - - -ida_bytes.unregister_custom_data_type(): - - unregister_custom_data_type(dtid) -> bool - - - Unregisters a custom data type. - @param dtid: the data type id - @return: Boolean - - -ida_bytes.unregister_data_types_and_formats(): - - As opposed to register_data_types_and_formats(), this function - unregisters multiple data types and formats at once. - - -ida_bytes.update_hidden_range(): - - update_hidden_range(ha) -> bool - - - Update hidden range information in the database. You cannot use this - function to change the range boundaries - - @param ha: range to update (C++: const hidden_range_t *) - @return: success - - -ida_bytes.use_mapping(): - - use_mapping(ea) -> ea_t - - - Translate address according to current mappings. - - @param ea: address to translate (C++: ea_t) - @return: translated address - - -ida_bytes.visit_patched_bytes(): - - 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 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. - - -ida_bytes.word_flag(): - - word_flag() -> flags_t - - - Get a flags_t representing a word. - - -ida_bytes.yword_flag(): - - yword_flag() -> flags_t - - - Get a flags_t representing a ymm word. - - -ida_bytes.zword_flag(): - - zword_flag() -> flags_t - - - Get a flags_t representing a zmm word. - - - -=== ida_bytes EPYDOC INJECTIONS === -ida_bytes.ALOPT_IGNCLT -""" -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.) -""" - -ida_bytes.ALOPT_IGNHEADS -""" -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 -""" - -ida_bytes.ALOPT_IGNPRINT -""" -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)) -""" - -ida_bytes.ALOPT_MAX4K -""" -accumulated length - -if string length is more than 4K, return the -""" - -ida_bytes.BIN_SEARCH_BACKWARD -""" -search backward for bytes -""" - -ida_bytes.BIN_SEARCH_CASE -""" -case sensitive -""" - -ida_bytes.BIN_SEARCH_FORWARD -""" -search forward for bytes -""" - -ida_bytes.BIN_SEARCH_INITED -""" -find_byte, find_byter: any initilized value -""" - -ida_bytes.BIN_SEARCH_NOBREAK -""" -don't check for Ctrl-Break -""" - -ida_bytes.BIN_SEARCH_NOCASE -""" -case insensitive -""" - -ida_bytes.BIN_SEARCH_NOSHOW -""" -don't show search progress or update screen -""" - -ida_bytes.DELIT_DELNAMES -""" -delete any names at the specified address range (except for the -starting address). this bit is valid if nbytes > 1 -""" - -ida_bytes.DELIT_EXPAND -""" -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. -""" - -ida_bytes.DELIT_KEEPFUNC -""" -Just delete xrefs, ops e.t.c. - -do not undefine the function start. -""" - -ida_bytes.DELIT_NOCMT -""" -reject to delete if a comment is in address range (except for the -starting address). this bit is valid if nbytes > 1 -""" - -ida_bytes.DELIT_NOTRUNC -""" -even if 'AF_TRFUNC' is set - -don't truncate the current function -""" - -ida_bytes.DELIT_NOUNAME -""" -reject to delete if a user name is in address range (except for the -starting address). this bit is valid if nbytes > 1 -""" - -ida_bytes.DELIT_SIMPLE -""" -simply undefine the specified item(s) -""" - -ida_bytes.DTP_NODUP -""" -do not use dup construct -""" - -ida_bytes.DT_TYPE -""" -Mask for DATA typing. -""" - -ida_bytes.FF_0CHAR -""" -Char ('x')? -""" - -ida_bytes.FF_0CUST -""" -Custom representation? -""" - -ida_bytes.FF_0ENUM -""" -Enumeration? -""" - -ida_bytes.FF_0FLT -""" -Floating point number? -""" - -ida_bytes.FF_0FOP -""" -Forced operand? -""" - -ida_bytes.FF_0NUMB -""" -Binary number? -""" - -ida_bytes.FF_0NUMD -""" -Decimal number? -""" - -ida_bytes.FF_0NUMH -""" -Hexadecimal number? -""" - -ida_bytes.FF_0NUMO -""" -Octal number? -""" - -ida_bytes.FF_0OFF -""" -Offset? -""" - -ida_bytes.FF_0SEG -""" -Segment? -""" - -ida_bytes.FF_0STK -""" -Stack variable? -""" - -ida_bytes.FF_0STRO -""" -Struct offset? -""" - -ida_bytes.FF_0VOID -""" -Void (unknown)? -""" - -ida_bytes.FF_1CHAR -""" -Char ('x')? -""" - -ida_bytes.FF_1CUST -""" -Custom representation? -""" - -ida_bytes.FF_1ENUM -""" -Enumeration? -""" - -ida_bytes.FF_1FLT -""" -Floating point number? -""" - -ida_bytes.FF_1FOP -""" -Forced operand? -""" - -ida_bytes.FF_1NUMB -""" -Binary number? -""" - -ida_bytes.FF_1NUMD -""" -Decimal number? -""" - -ida_bytes.FF_1NUMH -""" -Hexadecimal number? -""" - -ida_bytes.FF_1NUMO -""" -Octal number? -""" - -ida_bytes.FF_1OFF -""" -Offset? -""" - -ida_bytes.FF_1SEG -""" -Segment? -""" - -ida_bytes.FF_1STK -""" -Stack variable? -""" - -ida_bytes.FF_1STRO -""" -Struct offset? -""" - -ida_bytes.FF_1VOID -""" -Void (unknown)? -""" - -ida_bytes.FF_ALIGN -""" -alignment directive -""" - -ida_bytes.FF_BNOT -""" -Bitwise negation of operands. -""" - -ida_bytes.FF_BYTE -""" -byte -""" - -ida_bytes.FF_CODE -""" -Code ? -""" - -ida_bytes.FF_COMM -""" -Has comment ? -""" - -ida_bytes.FF_CUSTOM -""" -custom data type -""" - -ida_bytes.FF_DATA -""" -Data ? -""" - -ida_bytes.FF_DOUBLE -""" -double -""" - -ida_bytes.FF_DWORD -""" -double word -""" - -ida_bytes.FF_FLOAT -""" -float -""" - -ida_bytes.FF_FLOW -""" -Exec flow from prev instruction. -""" - -ida_bytes.FF_FUNC -""" -function start? -""" - -ida_bytes.FF_IMMD -""" -Has Immediate value ? -""" - -ida_bytes.FF_IVL -""" -Byte has value ? -""" - -ida_bytes.FF_JUMP -""" -Has jump table or switch_info? -""" - -ida_bytes.FF_LABL -""" -Has dummy name? -""" - -ida_bytes.FF_LINE -""" -Has next or prev lines ? -""" - -ida_bytes.FF_NAME -""" -Has name ? -""" - -ida_bytes.FF_OWORD -""" -octaword/xmm word (16 bytes/128 bits) -""" - -ida_bytes.FF_PACKREAL -""" -packed decimal real -""" - -ida_bytes.FF_QWORD -""" -quadro word -""" - -ida_bytes.FF_REF -""" -has references -""" - -ida_bytes.FF_SIGN -""" -Inverted sign of operands. -""" - -ida_bytes.FF_STRLIT -""" -string literal -""" - -ida_bytes.FF_STRUCT -""" -struct variable -""" - -ida_bytes.FF_TAIL -""" -Tail ? -""" - -ida_bytes.FF_TBYTE -""" -tbyte -""" - -ida_bytes.FF_UNK -""" -Unknown ? -""" - -ida_bytes.FF_UNUSED -""" -unused bit (was used for variable bytes) -""" - -ida_bytes.FF_WORD -""" -word -""" - -ida_bytes.FF_YWORD -""" -ymm word (32 bytes/256 bits) -""" - -ida_bytes.FF_ZWORD -""" -zmm word (64 bytes/512 bits) -""" - -ida_bytes.GFE_VALUE -""" -get flags with 'FF_IVL' & 'MS_VAL' . It is much slower under remote -debugging because the kernel needs to read the process memory. -""" - -ida_bytes.GMB_READALL -""" -if this bit is not set, fail at first uninited byte - -try to read all bytes -""" - -ida_bytes.GMB_WAITBOX -""" -show wait box (may return -1 in this case) -""" - -ida_bytes.ITEM_END_FIXUP -""" -stop at the first fixup -""" - -ida_bytes.ITEM_END_INITED -""" -stop when initialization changes i.e.if is_loaded(ea): stop if -uninitialized byte is encounteredif !is_loaded(ea): stop if -initialized byte is encountered -""" - -ida_bytes.ITEM_END_NAME -""" -stop at the first named location -""" - -ida_bytes.ITEM_END_XREF -""" -stop at the first referenced location -""" - -ida_bytes.MS_0TYPE -""" -Mask for 1st arg typing. -""" - -ida_bytes.MS_1TYPE -""" -Mask for the type of other operands. -""" - -ida_bytes.MS_CLS -""" -Mask for typing. -""" - -ida_bytes.MS_CODE -""" -Mask for code bits. -""" - -ida_bytes.MS_COMM -""" -Mask of common bits. -""" - -ida_bytes.MS_VAL -""" -Mask for byte value. -""" - -ida_bytes.OPND_ALL -""" -all operands -""" - -ida_bytes.OPND_MASK -""" -mask for operand number -""" - -ida_bytes.OPND_OUTER -""" -used only in set, get, del_offset() functions - -outer offset base (combined with operand number). -""" - -ida_bytes.PSTF_ENC -""" -if encoding is specified, append it -""" - -ida_bytes.PSTF_HOTKEY -""" -have hotkey markers part of the name -""" - -ida_bytes.PSTF_TBRIEF -""" -use brief name (e.g., in the 'Strings window') -""" - -ida_bytes.PSTF_TINLIN -""" -use 'inline' name (e.g., in the structures comments) -""" - -ida_bytes.PSTF_TMASK -""" -type mask -""" - -ida_bytes.PSTF_TNORM -""" -use normal name -""" - -ida_bytes.STRCONV_ESCAPE -""" -convert non-printable characters to C escapes (, \\xNN, \\uNNNN) -""" - -ida_bytes.STRCONV_INCLLEN -""" -for Pascal-style strings, include the prefixing length byte(s) as -C-escaped sequence -""" - -ida_bytes.STRCONV_REPLCHAR -""" -convert non-printable characters to the Unicode replacement character -(U+FFFD) -""" -=== ida_bytes EPYDOC INJECTIONS END === -class ida_dbg.DBG_Hooks(): - - Proxy of C++ DBG_Hooks class - - -ida_dbg.DBG_Hooks.dbg_bpt(): - - dbg_bpt(self, tid, bptea) -> int - - -ida_dbg.DBG_Hooks.dbg_bpt_changed(): - - dbg_bpt_changed(self, bptev_code, bpt) - - -ida_dbg.DBG_Hooks.dbg_exception(): - - dbg_exception(self, pid, tid, ea, exc_code, exc_can_cont, exc_ea, exc_info) -> int - - -ida_dbg.DBG_Hooks.dbg_finished_loading_bpts(): - - dbg_finished_loading_bpts(self) - - -ida_dbg.DBG_Hooks.dbg_information(): - - dbg_information(self, pid, tid, ea, info) - - -ida_dbg.DBG_Hooks.dbg_library_load(): - - dbg_library_load(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) - - -ida_dbg.DBG_Hooks.dbg_library_unload(): - - dbg_library_unload(self, pid, tid, ea, info) - - -ida_dbg.DBG_Hooks.dbg_process_attach(): - - dbg_process_attach(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) - - -ida_dbg.DBG_Hooks.dbg_process_detach(): - - dbg_process_detach(self, pid, tid, ea) - - -ida_dbg.DBG_Hooks.dbg_process_exit(): - - dbg_process_exit(self, pid, tid, ea, exit_code) - - -ida_dbg.DBG_Hooks.dbg_process_start(): - - dbg_process_start(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) - - -ida_dbg.DBG_Hooks.dbg_request_error(): - - dbg_request_error(self, failed_command, failed_dbg_notification) - - -ida_dbg.DBG_Hooks.dbg_run_to(): - - dbg_run_to(self, pid, tid, ea) - - -ida_dbg.DBG_Hooks.dbg_started_loading_bpts(): - - dbg_started_loading_bpts(self) - - -ida_dbg.DBG_Hooks.dbg_step_into(): - - dbg_step_into(self) - - -ida_dbg.DBG_Hooks.dbg_step_over(): - - dbg_step_over(self) - - -ida_dbg.DBG_Hooks.dbg_step_until_ret(): - - dbg_step_until_ret(self) - - -ida_dbg.DBG_Hooks.dbg_suspend_process(): - - dbg_suspend_process(self) - - -ida_dbg.DBG_Hooks.dbg_thread_exit(): - - dbg_thread_exit(self, pid, tid, ea, exit_code) - - -ida_dbg.DBG_Hooks.dbg_thread_start(): - - dbg_thread_start(self, pid, tid, ea) - - -ida_dbg.DBG_Hooks.dbg_trace(): - - dbg_trace(self, tid, ip) -> int - - -ida_dbg.DBG_Hooks.hook(): - - hook(self) -> bool - - -ida_dbg.DBG_Hooks.unhook(): - - unhook(self) -> bool - - -ida_dbg.add_bpt(): - - add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool - add_bpt(bpt) -> bool - - - Add a new breakpoint in the debugged process. \sq{Type, Synchronous - function - available as request, Notification, none (synchronous - function)}Only one breakpoint can exist at a given address. - - @param ea: any address in the process memory space. Depending on the - architecture, hardware breakpoints always be setup at - random address. For example, on x86, hardware breakpoints - should be aligned depending on their size. Moreover, on the - x86 architecture, it is impossible to setup more than 4 - hardware breakpoints. (C++: ea_t) - @param size: size of the breakpoint (irrelevant for software - breakpoints): As for the address, hardware breakpoints - can't always be setup with random size. (C++: asize_t) - @param type: type of the breakpoint ( BPT_SOFT for software - breakpoint) special case BPT_DEFAULT ( BPT_SOFT | - BPT_EXEC ): try to add instruction breakpoint of the - appropriate type as follows: software bpt if supported, - hwbpt otherwise (C++: bpttype_t) - - -ida_dbg.add_path_mapping(): - - add_path_mapping(src, dst) - - -ida_dbg.add_virt_module(): - - add_virt_module(mod) -> bool - - -ida_dbg.attach_process(): - - 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' - }This function shouldn't be called as a request if 'NO_PROCESS' is - used. - - @param pid: PID of the process to attach to. If NO_PROCESS , a dialog - box will interactively ask the user for the process to - attach to. (C++: pid_t) - @param event_id (C++: int) - - -class ida_dbg.bpt_location_t(): - - Proxy of C++ bpt_location_t class - - -ida_dbg.bpt_location_t.compare(): - - compare(self, r) -> int - - -ida_dbg.bpt_location_t.ea(): - - ea(self) -> ea_t - - -ida_dbg.bpt_location_t.index: - bpt_location_t_index_get(self) -> int - -ida_dbg.bpt_location_t.info: - bpt_location_t_info_get(self) -> ea_t - -ida_dbg.bpt_location_t.is_empty_path(): - - is_empty_path(self) -> bool - - -ida_dbg.bpt_location_t.lineno(): - - lineno(self) -> int - - -ida_dbg.bpt_location_t.loctype: - bpt_location_t_loctype_get(self) -> bpt_loctype_t - -ida_dbg.bpt_location_t.offset(): - - offset(self) -> uval_t - - -ida_dbg.bpt_location_t.path(): - - path(self) -> char const * - - -ida_dbg.bpt_location_t.set_abs_bpt(): - - set_abs_bpt(self, a) - - -ida_dbg.bpt_location_t.set_rel_bpt(): - - set_rel_bpt(self, mod, _offset) - - -ida_dbg.bpt_location_t.set_src_bpt(): - - set_src_bpt(self, fn, _lineno) - - -ida_dbg.bpt_location_t.set_sym_bpt(): - - set_sym_bpt(self, _symbol, _offset=0) - - -ida_dbg.bpt_location_t.symbol(): - - symbol(self) -> char const * - - -ida_dbg.bpt_location_t.type(): - - type(self) -> bpt_loctype_t - - -class ida_dbg.bpt_t(): - - Proxy of C++ bpt_t class - - -ida_dbg.bpt_t.badbpt(): - - badbpt(self) -> bool - - -ida_dbg.bpt_t.cb: - bpt_t_cb_get(self) -> size_t - -ida_dbg.bpt_t.cndidx: - bpt_t_cndidx_get(self) -> int - -ida_dbg.bpt_t.condition: - bpt_t_condition_get(self) -> PyObject * - -ida_dbg.bpt_t.ea: - bpt_t_ea_get(self) -> ea_t - -ida_dbg.bpt_t.elang: - bpt_t_elang_get(self) -> PyObject * - -ida_dbg.bpt_t.enabled(): - - enabled(self) -> bool - - -ida_dbg.bpt_t.flags: - bpt_t_flags_get(self) -> uint32 - -ida_dbg.bpt_t.get_cnd_elang_idx(): - - get_cnd_elang_idx(self) -> size_t - - -ida_dbg.bpt_t.get_size(): - - get_size(self) -> int - - -ida_dbg.bpt_t.is_absbpt(): - - is_absbpt(self) -> bool - - -ida_dbg.bpt_t.is_active(): - - is_active(self) -> bool - - -ida_dbg.bpt_t.is_compiled(): - - is_compiled(self) -> bool - - -ida_dbg.bpt_t.is_hwbpt(): - - is_hwbpt(self) -> bool - - -ida_dbg.bpt_t.is_inactive(): - - is_inactive(self) -> bool - - -ida_dbg.bpt_t.is_low_level(): - - is_low_level(self) -> bool - - -ida_dbg.bpt_t.is_page_bpt(): - - is_page_bpt(self) -> bool - - -ida_dbg.bpt_t.is_partially_active(): - - is_partially_active(self) -> bool - - -ida_dbg.bpt_t.is_relbpt(): - - is_relbpt(self) -> bool - - -ida_dbg.bpt_t.is_srcbpt(): - - is_srcbpt(self) -> bool - - -ida_dbg.bpt_t.is_symbpt(): - - is_symbpt(self) -> bool - - -ida_dbg.bpt_t.is_tracemodebpt(): - - is_tracemodebpt(self) -> bool - - -ida_dbg.bpt_t.is_traceoffbpt(): - - is_traceoffbpt(self) -> bool - - -ida_dbg.bpt_t.is_traceonbpt(): - - is_traceonbpt(self) -> bool - - -ida_dbg.bpt_t.listbpt(): - - listbpt(self) -> bool - - -ida_dbg.bpt_t.loc: - bpt_t_loc_get(self) -> bpt_location_t - -ida_dbg.bpt_t.pass_count: - bpt_t_pass_count_get(self) -> int - -ida_dbg.bpt_t.pid: - bpt_t_pid_get(self) -> pid_t - -ida_dbg.bpt_t.props: - bpt_t_props_get(self) -> uint32 - -ida_dbg.bpt_t.set_abs_bpt(): - - set_abs_bpt(self, a) - - -ida_dbg.bpt_t.set_rel_bpt(): - - set_rel_bpt(self, mod, o) - - -ida_dbg.bpt_t.set_src_bpt(): - - set_src_bpt(self, fn, lineno) - - -ida_dbg.bpt_t.set_sym_bpt(): - - set_sym_bpt(self, sym, o) - - -ida_dbg.bpt_t.set_trace_action(): - - set_trace_action(self, enable, trace_types) -> bool - - -ida_dbg.bpt_t.size: - bpt_t_size_get(self) -> int - -ida_dbg.bpt_t.tid: - bpt_t_tid_get(self) -> thid_t - -ida_dbg.bpt_t.type: - bpt_t_type_get(self) -> bpttype_t - -class ida_dbg.bpt_vec_t(): - - Proxy of C++ qvector<(bpt_t)> class - - -ida_dbg.bpt_vec_t.at(): - - at(self, _idx) -> bpt_t - - -ida_dbg.bpt_vec_t.begin(): - - begin(self) -> bpt_t - begin(self) -> bpt_t - - -ida_dbg.bpt_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_dbg.bpt_vec_t.clear(): - - clear(self) - - -ida_dbg.bpt_vec_t.empty(): - - empty(self) -> bool - - -ida_dbg.bpt_vec_t.end(): - - end(self) -> bpt_t - end(self) -> bpt_t - - -ida_dbg.bpt_vec_t.erase(): - - erase(self, it) -> bpt_t - erase(self, first, last) -> bpt_t - - -ida_dbg.bpt_vec_t.extract(): - - extract(self) -> bpt_t - - -ida_dbg.bpt_vec_t.grow(): - - grow(self, x=bpt_t()) - - -ida_dbg.bpt_vec_t.inject(): - - inject(self, s, len) - - -ida_dbg.bpt_vec_t.insert(): - - insert(self, it, x) -> bpt_t - - -ida_dbg.bpt_vec_t.pop_back(): - - pop_back(self) - - -ida_dbg.bpt_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> bpt_t - - -ida_dbg.bpt_vec_t.qclear(): - - qclear(self) - - -ida_dbg.bpt_vec_t.reserve(): - - reserve(self, cnt) - - -ida_dbg.bpt_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_dbg.bpt_vec_t.size(): - - size(self) -> size_t - - -ida_dbg.bpt_vec_t.swap(): - - swap(self, r) - - -ida_dbg.bpt_vec_t.truncate(): - - truncate(self) - - -ida_dbg.bring_debugger_to_front(): - - bring_debugger_to_front() - - -ida_dbg.check_bpt(): - - check_bpt(ea) -> int - - - Check the breakpoint at the specified address. - - @param ea (C++: ea_t) - @return: one of Breakpoint status codes - - -ida_dbg.choose_trace_file(): - - choose_trace_file() -> bool - - - Show the choose trace dialog. - - -ida_dbg.clear_requests_queue(): - - clear_requests_queue() - - - Clear the queue of waiting requests. \sq{Type, Synchronous function, - Notification, none (synchronous function)}If a request is currently - running, this one isn't stopped. - - -ida_dbg.clear_trace(): - - clear_trace() - - - Clear all events in the trace buffer. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - -ida_dbg.collect_stack_trace(): - - collect_stack_trace(tid, trace) -> bool - - -ida_dbg.continue_process(): - - continue_process() -> bool - - - Continue the execution of the process in the debugger. \sq{Type, - Synchronous function - available as Request, Notification, none - (synchronous function)}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. - - -ida_dbg.create_source_viewer(): - - 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) - - -ida_dbg.dbg_add_bpt_tev(): - - 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 - - -ida_dbg.dbg_add_call_tev(): - - 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) - - -ida_dbg.dbg_add_debug_event(): - - 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 *) - - -ida_dbg.dbg_add_insn_tev(): - - 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) - @return: false if the operation failed, true otherwise - - -ida_dbg.dbg_add_many_tevs(): - - 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 - - -ida_dbg.dbg_add_ret_tev(): - - 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) - - -ida_dbg.dbg_add_tev(): - - 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) - @param tid (C++: thid_t) - @param address (C++: ea_t) - - -ida_dbg.dbg_add_thread(): - - dbg_add_thread(tid) - - - Add a thread to the current trace. \sq{Type, Synchronous function, - Notification, none (synchronous function)} - - @param tid (C++: thid_t) - - -ida_dbg.dbg_bin_search(): - - dbg_bin_search(start_ea, end_ea, data, srch_flags) -> drc_t - - -ida_dbg.dbg_can_query(): - - 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 - - -ida_dbg.dbg_del_thread(): - - dbg_del_thread(tid) - - - Delete a thread from the current trace. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param tid (C++: thid_t) - - -ida_dbg.dbg_is_loaded(): - - dbg_is_loaded() -> bool - - - Checks if a debugger is loaded - @return: Boolean - - -ida_dbg.define_exception(): - - define_exception(code, name, desc, flags) -> char const * - - - Convenience function: define new exception code. - - @param code: exception code (cannot be 0) (C++: uint) - @param name: exception name (cannot be empty or NULL) (C++: const char - *) - @param desc: exception description (maybe NULL) (C++: const char *) - @param flags: combination of Exception info flags (C++: int) - @return: failure message or NULL. You must call store_exceptions() - if this function succeeds - - -ida_dbg.del_bpt(): - - del_bpt(ea) -> bool - del_bpt(bptloc) -> bool - - - Delete an existing breakpoint in the debugged process. \sq{Type, - Synchronous function - available as request, Notification, none - (synchronous function)} - - @param ea: any address in the breakpoint range (C++: ea_t) - - -ida_dbg.del_bptgrp(): - - del_bptgrp(name) -> bool - - -ida_dbg.del_virt_module(): - - del_virt_module(base) -> bool - - -ida_dbg.detach_process(): - - detach_process() -> bool - - - Detach the debugger from the debugged process. \sq{Type, Asynchronous - function - available as Request, Notification, 'dbg_process_detach' } - - -ida_dbg.diff_trace_file(): - - diff_trace_file(nonnul_filename) -> bool - - - Show difference between the current trace and the one from 'filename'. - - -ida_dbg.disable_bblk_trace(): - - disable_bblk_trace() -> bool - - -ida_dbg.disable_bpt(): - - disable_bpt(ea) -> bool - disable_bpt(bptloc) -> bool - - -ida_dbg.disable_func_trace(): - - disable_func_trace() -> bool - - -ida_dbg.disable_insn_trace(): - - disable_insn_trace() -> bool - - -ida_dbg.disable_step_trace(): - - disable_step_trace() -> bool - - -ida_dbg.edit_manual_regions(): - - edit_manual_regions() - - -ida_dbg.enable_bblk_trace(): - - enable_bblk_trace(enable=True) -> bool - - -ida_dbg.enable_bpt(): - - enable_bpt(ea, enable=True) -> bool - enable_bpt(bptloc, enable=True) -> bool - - -ida_dbg.enable_func_trace(): - - enable_func_trace(enable=True) -> bool - - -ida_dbg.enable_insn_trace(): - - enable_insn_trace(enable=True) -> bool - - -ida_dbg.enable_manual_regions(): - - enable_manual_regions(enable) - - -ida_dbg.enable_step_trace(): - - enable_step_trace(enable=True) -> bool - - -class ida_dbg.eval_ctx_t(): - - Proxy of C++ eval_ctx_t class - - -ida_dbg.eval_ctx_t.ea: - eval_ctx_t_ea_get(self) -> ea_t - -ida_dbg.exist_bpt(): - - exist_bpt(ea) -> bool - - - Does a breakpoint exist at the given location? - - - @param ea (C++: ea_t) - - -ida_dbg.exit_process(): - - exit_process() -> bool - - - Terminate the debugging of the current process. \sq{Type, Asynchronous - function - available as Request, Notification, 'dbg_process_exit' } - - -ida_dbg.find_bpt(): - - find_bpt(bptloc, bpt) -> bool - - - Find a breakpoint by location. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - @param bptloc: Breakpoint location (C++: const bpt_location_t &) - @param bpt: bpt is filled if the breakpoint was found (C++: bpt_t *) - - -ida_dbg.get_bblk_trace_options(): - - get_bblk_trace_options() -> int - - - Get current basic block tracing options. Also see 'BT_LOG_INSTS' - \sq{Type, Synchronous function, Notification, none (synchronous - function)} - - -ida_dbg.get_bpt(): - - get_bpt(ea, bpt) -> bool - - - Get the characteristics of a breakpoint. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param ea: any address in the breakpoint range (C++: ea_t) - @param bpt: if not NULL, is filled with the characteristics. (C++: - bpt_t *) - @return: false if no breakpoint exists - - -ida_dbg.get_bpt_group(): - - get_bpt_group(bptloc) -> bool - - -ida_dbg.get_bpt_qty(): - - get_bpt_qty() -> int - - - Get number of breakpoints. \sq{Type, Synchronous function, - Notification, none (synchronous function)} - - -ida_dbg.get_bpt_tev_ea(): - - 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)}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. - - @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a read, read/write or execution trace event. - - -ida_dbg.get_bptloc_string(): - - get_bptloc_string(i) -> char const * - - - Helper function for 'bpt_location_t' . - - - @param i (C++: int) - - -ida_dbg.get_call_tev_callee(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a function call event. - - -ida_dbg.get_current_source_file(): - - get_current_source_file(path) -> bool - - -ida_dbg.get_current_source_line(): - - get_current_source_line() -> int - - -ida_dbg.get_current_thread(): - - get_current_thread() -> thid_t - - - Get current thread ID. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - -ida_dbg.get_dbg_byte(): - - get_dbg_byte(x, ea) -> bool - - - Get one byte of the debugged process memory. - - @param x: pointer to byte value (C++: uint32 *) - @param ea: linear address (C++: ea_t) - @return: true success - - -ida_dbg.get_dbg_memory_info(): - - get_dbg_memory_info(ranges) -> int - - -ida_dbg.get_dbg_reg_info(): - - get_dbg_reg_info(regname, ri) -> bool - - - Get register information \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - @param regname (C++: const char *) - @param ri (C++: register_info_t *) - - -ida_dbg.get_debug_event(): - - get_debug_event() -> debug_event_t - - - Get the current debugger event. - - -ida_dbg.get_debugger_event_cond(): - - get_debugger_event_cond() -> char const * - - -ida_dbg.get_first_module(): - - get_first_module(modinfo) -> bool - - -ida_dbg.get_func_trace_options(): - - get_func_trace_options() -> int - - - Get current function tracing options. Also see 'FT_LOG_RET' \sq{Type, - Synchronous function, Notification, none (synchronous function)} - - -ida_dbg.get_global_var(): - - get_global_var(prov, ea, name, out) -> bool - - -ida_dbg.get_grp_bpts(): - - get_grp_bpts(bpts, grp_name) -> ssize_t - - -ida_dbg.get_insn_tev_reg_mem(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param memmap: result (C++: memreg_infos_t *) - @return: false if not an instruction event or no memory is available - - -ida_dbg.get_insn_tev_reg_result(): - - get_insn_tev_reg_result(n, regname, regval) -> bool - - - Read the resulting register value from an instruction trace event. - \sq{Type, Synchronous function, Notification, none (synchronous - function)} - - @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param regname: name of desired register (C++: const char *) - @param regval: result (C++: regval_t *) - @return: false if not an instruction trace event or register wasn't - modified. - - -ida_dbg.get_insn_tev_reg_val(): - - get_insn_tev_reg_val(n, regname, regval) -> bool - - - Read a register value from an instruction trace event. \sq{Type, - Synchronous function, Notification, none (synchronous function)}This - is the value of the register before the execution of the instruction. - - @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param regname: name of desired register (C++: const char *) - @param regval: result (C++: regval_t *) - @return: false if not an instruction event. - - -ida_dbg.get_insn_trace_options(): - - get_insn_trace_options() -> int - - - Get current instruction tracing options. Also see 'IT_LOG_SAME_IP' - \sq{Type, Synchronous function, Notification, none (synchronous - function)} - - -ida_dbg.get_ip_val(): - - get_ip_val() -> bool - - - Get value of the IP (program counter) register for the current thread. - Requires a suspended debugger. - - -ida_dbg.get_local_var(): - - get_local_var(prov, ea, name, out) -> bool - - -ida_dbg.get_local_vars(): - - get_local_vars(prov, ea, out) -> bool - - -ida_dbg.get_manual_regions(): - - get_manual_regions(ranges) - get_manual_regions() -> PyObject * - - - Returns the manual memory regions - @return: list(start_ea, end_ea, name, sclass, sbase, bitness, perm) - - -ida_dbg.get_module_info(): - - get_module_info(ea, modinfo) -> bool - - -ida_dbg.get_next_module(): - - get_next_module(modinfo) -> bool - - -ida_dbg.get_process_options(): - - get_process_options(path, args, sdir, host, _pass, port) - - - Get process options. Any of the arguments may be NULL - - @param path (C++: qstring *) - @param args (C++: qstring *) - @param sdir (C++: qstring *) - @param host (C++: qstring *) - @param port (C++: int *) - - -ida_dbg.get_process_state(): - - 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 - - -ida_dbg.get_processes(): - - 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 *) - @return: number of processes or -1 on error - - -ida_dbg.get_reg_val(): - - get_reg_val(regname, regval) -> bool - get_reg_val(regname, ival) -> bool - get_reg_val(regname) -> PyObject * - - - Read a register value from the current thread. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param regname (C++: const char *) - @param regval (C++: regval_t *) - - -ida_dbg.get_reg_vals(): - - get_reg_vals(tid, clsmask, values) -> int - - -ida_dbg.get_ret_tev_return(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a function return event. - - -ida_dbg.get_running_notification(): - - 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 - - -ida_dbg.get_running_request(): - - 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 - - -ida_dbg.get_sp_val(): - - get_sp_val() -> bool - - - Get value of the SP register for the current thread. Requires a - suspended debugger. - - -ida_dbg.get_srcinfo_provider(): - - get_srcinfo_provider(name) -> srcinfo_provider_t * - - -ida_dbg.get_step_trace_options(): - - get_step_trace_options() -> int - - - Get current step tracing options. \sq{Type, Synchronous function, - Notification, none (synchronous function)} - - @return: Step trace options - - -ida_dbg.get_tev_ea(): - - get_tev_ea(n) -> ea_t - - -ida_dbg.get_tev_event(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param d: result (C++: debug_event_t *) - @return: false if the tev_t object doesn't have any associated debug - event, true otherwise, with the debug event in "d". - - -ida_dbg.get_tev_info(): - - get_tev_info(n, tev_info) -> bool - - - Get main information about a trace event. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param tev_info: result (C++: tev_info_t *) - @return: success - - -ida_dbg.get_tev_memory_info(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param mi: result (C++: meminfo_vec_t *) - @return: false if the tev_t object is not of type tev_mem , true - otherwise, with the new memory layout in "mi". - - -ida_dbg.get_tev_qty(): - - get_tev_qty() -> int - - - Get number of trace events available in trace buffer. \sq{Type, - Synchronous function, Notification, none (synchronous function)} - - -ida_dbg.get_tev_tid(): - - get_tev_tid(n) -> int - - -ida_dbg.get_tev_type(): - - get_tev_type(n) -> int - - -ida_dbg.get_thread_qty(): - - get_thread_qty() -> int - - - Get number of threads. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - -ida_dbg.get_trace_base_address(): - - 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 - - -ida_dbg.get_trace_file_desc(): - - get_trace_file_desc(filename) -> bool - - - Get the file header of the specified trace file. - - - @param filename (C++: const char *) - - -ida_dbg.get_trace_platform(): - - get_trace_platform() -> char const * - - - Get platform name of current trace. - - -ida_dbg.getn_bpt(): - - getn_bpt(n, bpt) -> bool - - - Get the characteristics of a breakpoint. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param n: number of breakpoint, is in range 0.. get_bpt_qty() -1 (C++: - int) - @param bpt: filled with the characteristics. (C++: bpt_t *) - @return: false if no breakpoint exists - - -ida_dbg.getn_thread(): - - getn_thread(n) -> thid_t - - - Get the ID of a thread. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: - int) - @return: NO_THREAD if the thread doesn't exist. - - -ida_dbg.getn_thread_name(): - - getn_thread_name(n) -> char const * - - - Get the NAME of a thread \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 - for the current thread (C++: int) - @return: thread name or NULL if the thread doesn't exist. - - -ida_dbg.graph_trace(): - - graph_trace() -> bool - - - Show the trace callgraph. - - -ida_dbg.handle_debug_event(): - - handle_debug_event(ev, rqflags) -> int - - -ida_dbg.hide_all_bpts(): - - hide_all_bpts() -> int - - -ida_dbg.internal_get_sreg_base(): - - internal_get_sreg_base(tid, sreg_value) -> ea_t - - - Get the sreg base, for the given thread. - - @return: The sreg base, or BADADDR on failure. - - -ida_dbg.internal_ioctl(): - - internal_ioctl(fn, buf, poutbuf, poutsize) -> int - - -ida_dbg.invalidate_dbg_state(): - - invalidate_dbg_state(dbginv) -> int - - - Invalidate cached debugger information. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param dbginv: Debugged process invalidation options (C++: int) - @return: current debugger state (one of Debugged process states ) - - -ida_dbg.invalidate_dbgmem_config(): - - 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) - - -ida_dbg.invalidate_dbgmem_contents(): - - 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) - - -ida_dbg.is_bblk_trace_enabled(): - - is_bblk_trace_enabled() -> bool - - -ida_dbg.is_debugger_busy(): - - 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 - - -ida_dbg.is_debugger_memory(): - - is_debugger_memory(ea) -> bool - - - Is the address mapped to debugger memory? - - - @param ea (C++: ea_t) - - -ida_dbg.is_debugger_on(): - - is_debugger_on() -> bool - - - Is the debugger currently running? - - -ida_dbg.is_func_trace_enabled(): - - is_func_trace_enabled() -> bool - - - Get current state of functions tracing. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - -ida_dbg.is_insn_trace_enabled(): - - is_insn_trace_enabled() -> bool - - - Get current state of instructions tracing. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - -ida_dbg.is_reg_custom(): - - 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 *) - - -ida_dbg.is_reg_float(): - - 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 *) - - -ida_dbg.is_reg_integer(): - - 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 *) - - -ida_dbg.is_request_running(): - - is_request_running() -> bool - - - Is a request currently running? - - -ida_dbg.is_step_trace_enabled(): - - is_step_trace_enabled() -> bool - - - Get current state of step tracing. \sq{Type, Synchronous function, - Notification, none (synchronous function)} - - -ida_dbg.is_valid_trace_file(): - - is_valid_trace_file(filename) -> bool - - - Is the specified file a valid trace file for the current database? - - - @param filename (C++: const char *) - - -ida_dbg.list_bptgrps(): - - list_bptgrps(bptgrps) -> size_t - list_bptgrps() -> PyObject * - - -ida_dbg.load_debugger(): - - load_debugger(dbgname, use_remote) -> bool - - -ida_dbg.load_trace_file(): - - load_trace_file(filename) -> bool - - - Load a recorded trace file in the trace 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 *) - - -class ida_dbg.memreg_info_t(): - - Proxy of C++ memreg_info_t class - - -ida_dbg.memreg_info_t.bytes: - - get_bytes(self) -> PyObject * - - -ida_dbg.memreg_info_t.ea: - memreg_info_t_ea_get(self) -> ea_t - -ida_dbg.memreg_info_t.get_bytes(): - - get_bytes(self) -> PyObject * - - -class ida_dbg.memreg_infos_t(): - - Proxy of C++ qvector<(memreg_info_t)> class - - -ida_dbg.memreg_infos_t.at(): - - at(self, _idx) -> memreg_info_t - - -ida_dbg.memreg_infos_t.begin(): - - begin(self) -> memreg_info_t - begin(self) -> memreg_info_t - - -ida_dbg.memreg_infos_t.capacity(): - - capacity(self) -> size_t - - -ida_dbg.memreg_infos_t.clear(): - - clear(self) - - -ida_dbg.memreg_infos_t.empty(): - - empty(self) -> bool - - -ida_dbg.memreg_infos_t.end(): - - end(self) -> memreg_info_t - end(self) -> memreg_info_t - - -ida_dbg.memreg_infos_t.erase(): - - erase(self, it) -> memreg_info_t - erase(self, first, last) -> memreg_info_t - - -ida_dbg.memreg_infos_t.extract(): - - extract(self) -> memreg_info_t - - -ida_dbg.memreg_infos_t.grow(): - - grow(self, x=memreg_info_t()) - - -ida_dbg.memreg_infos_t.inject(): - - inject(self, s, len) - - -ida_dbg.memreg_infos_t.insert(): - - insert(self, it, x) -> memreg_info_t - - -ida_dbg.memreg_infos_t.pop_back(): - - pop_back(self) - - -ida_dbg.memreg_infos_t.push_back(): - - push_back(self, x) - push_back(self) -> memreg_info_t - - -ida_dbg.memreg_infos_t.qclear(): - - qclear(self) - - -ida_dbg.memreg_infos_t.reserve(): - - reserve(self, cnt) - - -ida_dbg.memreg_infos_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_dbg.memreg_infos_t.size(): - - size(self) -> size_t - - -ida_dbg.memreg_infos_t.swap(): - - swap(self, r) - - -ida_dbg.memreg_infos_t.truncate(): - - truncate(self) - - -ida_dbg.move_bpt_to_grp(): - - move_bpt_to_grp(bpt, grp_name) - - - Sets new group for the breakpoint - - -ida_dbg.put_dbg_byte(): - - put_dbg_byte(ea, x) -> bool - - - Change one byte of the debugged process memory. - - @param ea: linear address (C++: ea_t) - @param x: byte value (C++: uint32) - @return: true if the process memory has been modified - - -ida_dbg.read_dbg_memory(): - - read_dbg_memory(ea, buffer, size) -> ssize_t - - -ida_dbg.refresh_debugger_memory(): - - refresh_debugger_memory() -> PyObject * - - - Refreshes the debugger memory - @return: Nothing - - -ida_dbg.rename_bptgrp(): - - rename_bptgrp(old_name, new_name) -> bool - - -ida_dbg.request_add_bpt(): - - request_add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool - request_add_bpt(bpt) -> bool - - - Post an 'add_bpt(ea_t, asize_t, bpttype_t)' request. - - - @param ea (C++: ea_t) - @param size (C++: asize_t) - @param type (C++: bpttype_t) - - -ida_dbg.request_attach_process(): - - request_attach_process(pid, event_id) -> int - - - Post an 'attach_process()' request. - - - @param pid (C++: pid_t) - @param event_id (C++: int) - - -ida_dbg.request_clear_trace(): - - request_clear_trace() - - - Post a 'clear_trace()' request. - - -ida_dbg.request_continue_process(): - - request_continue_process() -> bool - - - Post a 'continue_process()' request.This requires an explicit call to - 'run_requests()' - - -ida_dbg.request_del_bpt(): - - request_del_bpt(ea) -> bool - request_del_bpt(bptloc) -> bool - - - Post a 'del_bpt(ea_t)' request. - - - @param ea (C++: ea_t) - - -ida_dbg.request_detach_process(): - - request_detach_process() -> bool - - - Post a 'detach_process()' request. - - -ida_dbg.request_disable_bblk_trace(): - - request_disable_bblk_trace() -> bool - - -ida_dbg.request_disable_bpt(): - - request_disable_bpt(ea) -> bool - request_disable_bpt(bptloc) -> bool - - -ida_dbg.request_disable_func_trace(): - - request_disable_func_trace() -> bool - - -ida_dbg.request_disable_insn_trace(): - - request_disable_insn_trace() -> bool - - -ida_dbg.request_disable_step_trace(): - - request_disable_step_trace() -> bool - - -ida_dbg.request_enable_bblk_trace(): - - request_enable_bblk_trace(enable=True) -> bool - - -ida_dbg.request_enable_bpt(): - - request_enable_bpt(ea, enable=True) -> bool - request_enable_bpt(bptloc, enable=True) -> bool - - -ida_dbg.request_enable_func_trace(): - - request_enable_func_trace(enable=True) -> bool - - -ida_dbg.request_enable_insn_trace(): - - request_enable_insn_trace(enable=True) -> bool - - -ida_dbg.request_enable_step_trace(): - - request_enable_step_trace(enable=True) -> bool - - -ida_dbg.request_exit_process(): - - request_exit_process() -> bool - - - Post an 'exit_process()' request. - - -ida_dbg.request_resume_thread(): - - request_resume_thread(tid) -> int - - - Post a 'resume_thread()' request. - - - @param tid (C++: thid_t) - - -ida_dbg.request_run_to(): - - 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) - @param tid (C++: thid_t) - - -ida_dbg.request_select_thread(): - - request_select_thread(tid) -> bool - - - Post a 'select_thread()' request. - - - @param tid (C++: thid_t) - - -ida_dbg.request_set_bblk_trace_options(): - - request_set_bblk_trace_options(options) - - - Post a 'set_bblk_trace_options()' request. - - - @param options (C++: int) - - -ida_dbg.request_set_func_trace_options(): - - request_set_func_trace_options(options) - - - Post a 'set_func_trace_options()' request. - - - @param options (C++: int) - - -ida_dbg.request_set_insn_trace_options(): - - request_set_insn_trace_options(options) - - - Post a 'set_insn_trace_options()' request. - - - @param options (C++: int) - - -ida_dbg.request_set_reg_val(): - - request_set_reg_val(regname, o) -> PyObject * - - - Post a 'set_reg_val()' request. - - - @param regname (C++: const char *) - - -ida_dbg.request_set_resume_mode(): - - request_set_resume_mode(tid, mode) -> bool - - - Post a 'set_resume_mode()' request. - - - @param tid (C++: thid_t) - @param mode (C++: resume_mode_t) - - -ida_dbg.request_set_step_trace_options(): - - request_set_step_trace_options(options) - - - Post a 'set_step_trace_options()' request. - - - @param options (C++: int) - - -ida_dbg.request_start_process(): - - request_start_process(path=None, args=None, sdir=None) -> int - - - Post a 'start_process()' request. - - - @param path (C++: const char *) - @param args (C++: const char *) - @param sdir (C++: const char *) - - -ida_dbg.request_step_into(): - - request_step_into() -> bool - - - Post a 'step_into()' request. - - -ida_dbg.request_step_over(): - - request_step_over() -> bool - - - Post a 'step_over()' request. - - -ida_dbg.request_step_until_ret(): - - request_step_until_ret() -> bool - - - Post a 'step_until_ret()' request. - - -ida_dbg.request_suspend_process(): - - request_suspend_process() -> bool - - - Post a 'suspend_process()' request. - - -ida_dbg.request_suspend_thread(): - - request_suspend_thread(tid) -> int - - - Post a 'suspend_thread()' request. - - - @param tid (C++: thid_t) - - -ida_dbg.resume_thread(): - - resume_thread(tid) -> int - - - Resume thread. \sq{Type, Synchronous function - available as request, - Notification, none (synchronous function)} - - @param tid: thread id (C++: thid_t) - - -ida_dbg.retrieve_exceptions(): - - 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 - - -ida_dbg.run_requests(): - - run_requests() -> bool - - - Execute requests until all requests are processed or an asynchronous - function is called. \sq{Type, Synchronous function, Notification, none - (synchronous function)}If called from a notification handler, the - execution of requests will be postponed to the end of the execution of - all notification handlers. - - @return: false if not all requests could be processed (indicates an - asynchronous function was started) - - -ida_dbg.run_to(): - - 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: target address (C++: ea_t) - @param pid: not used yet. please do not specify this parameter. (C++: - pid_t) - @param tid: not used yet. please do not specify this parameter. (C++: - thid_t) - - -ida_dbg.save_trace_file(): - - save_trace_file(filename, description) -> bool - - - Save the current trace in the specified file. - - - @param filename (C++: const char *) - @param description (C++: const char *) - - -ida_dbg.select_thread(): - - 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: ID of the thread to select (C++: thid_t) - @return: false if the thread doesn't exist. - - -ida_dbg.send_dbg_command(): - - 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 - - -ida_dbg.set_bblk_trace_options(): - - set_bblk_trace_options(options) - - - Modify basic block tracing options (see 'BT_LOG_INSTS' ) - - - @param options (C++: int) - - -ida_dbg.set_bpt_group(): - - set_bpt_group(bpt, grp_name) - - -ida_dbg.set_bptloc_group(): - - set_bptloc_group(bptloc, grp_name) -> bool - - -ida_dbg.set_bptloc_string(): - - set_bptloc_string(s) -> int - - - Helper function for 'bpt_location_t' . - - - @param s (C++: const char *) - - -ida_dbg.set_debugger_event_cond(): - - set_debugger_event_cond(nonnul_cond) - - -ida_dbg.set_debugger_options(): - - 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 - - -ida_dbg.set_func_trace_options(): - - set_func_trace_options(options) - - - Modify function tracing options. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - @param options (C++: int) - - -ida_dbg.set_highlight_trace_options(): - - 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) - - -ida_dbg.set_insn_trace_options(): - - set_insn_trace_options(options) - - - Modify instruction tracing options. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - @param options (C++: int) - - -ida_dbg.set_manual_regions(): - - set_manual_regions(ranges) - - -ida_dbg.set_process_options(): - - set_process_options(path, args, sdir, host, _pass, port) - - - Set process options. Any of the arguments may be NULL, which means 'do - not modify' - - @param path (C++: const char *) - @param args (C++: const char *) - @param sdir (C++: const char *) - @param host (C++: const char *) - @param port (C++: int) - - -ida_dbg.set_process_state(): - - 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: new process state (one of Debugged process states ) - if DSTATE_NOTASK is passed then the state is not - changed (C++: int) - @param p_thid: ptr to new thread id. may be NULL or pointer to - NO_THREAD . the pointed variable will contain the old - thread id upon return (C++: thid_t *) - @param dbginv: Debugged process invalidation options (C++: int) - @return: old debugger state (one of Debugged process states ) - - -ida_dbg.set_reg_val(): - - set_reg_val(regname, o) -> PyObject - set_reg_val(tid, regidx, o) -> PyObject * - - - Write a register value to the current thread. \sq{Type, Synchronous - function - available as Request, Notification, none (synchronous - function)} - - @param regname (C++: const char *) - - -ida_dbg.set_remote_debugger(): - - set_remote_debugger(host, _pass, port=-1) - - - Set remote debugging options. Should be used before starting the - debugger. - - @param host: If empty, IDA will use local debugger. If NULL, the host - will not be set. (C++: const char *) - @param port: If -1, the default port number will be used (C++: int) - - -ida_dbg.set_resume_mode(): - - 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) - - -ida_dbg.set_step_trace_options(): - - set_step_trace_options(options) - - - Modify step tracing options. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - @param options (C++: int) - - -ida_dbg.set_trace_base_address(): - - 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) - - -ida_dbg.set_trace_file_desc(): - - set_trace_file_desc(filename, description) -> bool - - - Change the description of the specified trace file. - - - @param filename (C++: const char *) - @param description (C++: const char *) - - -ida_dbg.set_trace_platform(): - - set_trace_platform(platform) - - - Set platform name of current trace. - - - @param platform (C++: const char *) - - -ida_dbg.set_trace_size(): - - set_trace_size(size) -> bool - - - Specify the new size of the circular buffer. \sq{Type, Synchronous - function, Notification, none (synchronous function)}If you specify 0, - all available memory can be quickly used !!! - - @param size: 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. (C++: int) - - -ida_dbg.srcdbg_request_step_into(): - - srcdbg_request_step_into() -> bool - - -ida_dbg.srcdbg_request_step_over(): - - srcdbg_request_step_over() -> bool - - -ida_dbg.srcdbg_request_step_until_ret(): - - srcdbg_request_step_until_ret() -> bool - - -ida_dbg.srcdbg_step_into(): - - srcdbg_step_into() -> bool - - -ida_dbg.srcdbg_step_over(): - - srcdbg_step_over() -> bool - - -ida_dbg.srcdbg_step_until_ret(): - - srcdbg_step_until_ret() -> bool - - -ida_dbg.start_process(): - - 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' }You can also - use the 'run_to()' function to easily start the execution of a process - until a given address is reached.For all parameters, a NULL value - indicates the debugger will take the value from the defined Process - Options. - - @param path: path to the executable to start (C++: const char *) - @param args: arguments to pass to process (C++: const char *) - @param sdir: starting directory for the process (C++: const char *) - - -ida_dbg.step_into(): - - 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' } - - -ida_dbg.step_over(): - - 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' } - - -ida_dbg.step_until_ret(): - - 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' } - - -ida_dbg.store_exceptions(): - - store_exceptions() -> bool - - - Update the exception information stored in the debugger module by - invoking its dbg->set_exception_info callback - - -ida_dbg.suspend_process(): - - 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) }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. - - -ida_dbg.suspend_thread(): - - 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: thread id (C++: thid_t) - - -class ida_dbg.tev_info_reg_t(): - - Proxy of C++ tev_info_reg_t class - - -ida_dbg.tev_info_reg_t.info: - tev_info_reg_t_info_get(self) -> tev_info_t - -ida_dbg.tev_info_reg_t.registers: - tev_info_reg_t_registers_get(self) -> tev_reg_values_t - -class ida_dbg.tev_info_t(): - - Proxy of C++ tev_info_t class - - -ida_dbg.tev_info_t.ea: - tev_info_t_ea_get(self) -> ea_t - -ida_dbg.tev_info_t.tid: - tev_info_t_tid_get(self) -> thid_t - -ida_dbg.tev_info_t.type: - tev_info_t_type_get(self) -> tev_type_t - -class ida_dbg.tev_reg_value_t(): - - Proxy of C++ tev_reg_value_t class - - -ida_dbg.tev_reg_value_t.reg_idx: - tev_reg_value_t_reg_idx_get(self) -> int - -ida_dbg.tev_reg_value_t.value: - tev_reg_value_t_value_get(self) -> regval_t - -class ida_dbg.tev_reg_values_t(): - - Proxy of C++ qvector<(tev_reg_value_t)> class - - -ida_dbg.tev_reg_values_t.at(): - - at(self, _idx) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.begin(): - - begin(self) -> tev_reg_value_t - begin(self) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.capacity(): - - capacity(self) -> size_t - - -ida_dbg.tev_reg_values_t.clear(): - - clear(self) - - -ida_dbg.tev_reg_values_t.empty(): - - empty(self) -> bool - - -ida_dbg.tev_reg_values_t.end(): - - end(self) -> tev_reg_value_t - end(self) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.erase(): - - erase(self, it) -> tev_reg_value_t - erase(self, first, last) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.extract(): - - extract(self) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.grow(): - - grow(self, x=tev_reg_value_t()) - - -ida_dbg.tev_reg_values_t.inject(): - - inject(self, s, len) - - -ida_dbg.tev_reg_values_t.insert(): - - insert(self, it, x) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.pop_back(): - - pop_back(self) - - -ida_dbg.tev_reg_values_t.push_back(): - - push_back(self, x) - push_back(self) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.qclear(): - - qclear(self) - - -ida_dbg.tev_reg_values_t.reserve(): - - reserve(self, cnt) - - -ida_dbg.tev_reg_values_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_dbg.tev_reg_values_t.size(): - - size(self) -> size_t - - -ida_dbg.tev_reg_values_t.swap(): - - swap(self, r) - - -ida_dbg.tev_reg_values_t.truncate(): - - truncate(self) - - -class ida_dbg.tevinforeg_vec_t(): - - Proxy of C++ qvector<(tev_info_reg_t)> class - - -ida_dbg.tevinforeg_vec_t.at(): - - at(self, _idx) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.begin(): - - begin(self) -> tev_info_reg_t - begin(self) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_dbg.tevinforeg_vec_t.clear(): - - clear(self) - - -ida_dbg.tevinforeg_vec_t.empty(): - - empty(self) -> bool - - -ida_dbg.tevinforeg_vec_t.end(): - - end(self) -> tev_info_reg_t - end(self) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.erase(): - - erase(self, it) -> tev_info_reg_t - erase(self, first, last) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.extract(): - - extract(self) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.grow(): - - grow(self, x=tev_info_reg_t()) - - -ida_dbg.tevinforeg_vec_t.inject(): - - inject(self, s, len) - - -ida_dbg.tevinforeg_vec_t.insert(): - - insert(self, it, x) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.pop_back(): - - pop_back(self) - - -ida_dbg.tevinforeg_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.qclear(): - - qclear(self) - - -ida_dbg.tevinforeg_vec_t.reserve(): - - reserve(self, cnt) - - -ida_dbg.tevinforeg_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_dbg.tevinforeg_vec_t.size(): - - size(self) -> size_t - - -ida_dbg.tevinforeg_vec_t.swap(): - - swap(self, r) - - -ida_dbg.tevinforeg_vec_t.truncate(): - - truncate(self) - - -ida_dbg.update_bpt(): - - 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)}Only the following - fields can be modified: 'bpt_t::cndbody' 'bpt_t::pass_count' - 'bpt_t::flags' 'bpt_t::size' 'bpt_t::type' 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 *) - - -ida_dbg.wait_for_next_event(): - - 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: combination of Wait for debugger event flags constants - (C++: int) - @param timeout: number of seconds to wait, -1-infinity (C++: int) - @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= - 0) - - -ida_dbg.write_dbg_memory(): - - write_dbg_memory(ea, py_buf, size=size_t(-1)) -> ssize_t - - - -=== ida_dbg EPYDOC INJECTIONS === -ida_dbg.BKPT_ACTIVE -""" -active? -""" - -ida_dbg.BKPT_BADBPT -""" -failed to write the bpt to the process memory (at least one location) -""" - -ida_dbg.BKPT_CNDREADY -""" -condition has been compiled -""" - -ida_dbg.BKPT_FAKEPEND -""" -bpt of the same type is active at the same address(es) - -fake pending bpt: it is inactive but another -""" - -ida_dbg.BKPT_LISTBPT -""" -include in bpt list (user-defined bpt) -""" - -ida_dbg.BKPT_PAGE -""" -only after writing the bpt to the process. - -written to the process as a page bpt. is available -""" - -ida_dbg.BKPT_PARTIAL -""" -partially active? (some locations were not written yet) -""" - -ida_dbg.BKPT_TRACE -""" -trace bpt; should not be deleted when the process gets suspended -""" - -ida_dbg.BPTCK_ACT -""" -breakpoint is active (written to the process) -""" - -ida_dbg.BPTCK_NO -""" -breakpoint is disabled -""" - -ida_dbg.BPTCK_NONE -""" -breakpoint does not exist -""" - -ida_dbg.BPTCK_YES -""" -breakpoint is enabled -""" - -ida_dbg.BPTEV_ADDED -""" -Breakpoint has been added. -""" - -ida_dbg.BPTEV_CHANGED -""" -Breakpoint has been modified. -""" - -ida_dbg.BPTEV_REMOVED -""" -Breakpoint has been removed. -""" - -ida_dbg.BPT_BRK -""" -suspend execution upon hit -""" - -ida_dbg.BPT_ELANG_SHIFT -""" -index of the extlang (scripting language) of the condition -""" - -ida_dbg.BPT_ENABLED -""" -enabled? -""" - -ida_dbg.BPT_LOWCND -""" -condition is calculated at low level (on the server side) -""" - -ida_dbg.BPT_TRACE -""" -add trace information upon hit -""" - -ida_dbg.BPT_TRACEON -""" -enable tracing when the breakpoint is reached -""" - -ida_dbg.BPT_TRACE_BBLK -""" -basic block tracing -""" - -ida_dbg.BPT_TRACE_FUNC -""" -function tracing -""" - -ida_dbg.BPT_TRACE_INSN -""" -instruction tracing -""" - -ida_dbg.BPT_TRACE_TYPES -""" -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 -""" - -ida_dbg.BPT_UPDMEM -""" -refresh the memory layout and contents before evaluating bpt condition -""" - -ida_dbg.BT_LOG_INSTS -""" -log all instructions in the current basic block -""" - -ida_dbg.DBGINV_ALL -""" -invalidate everything -""" - -ida_dbg.DBGINV_MEMCFG -""" -invalidate cached process segmentation -""" - -ida_dbg.DBGINV_MEMORY -""" -invalidate cached memory contents -""" - -ida_dbg.DBGINV_NONE -""" -invalidate nothing -""" - -ida_dbg.DBGINV_REDRAW -""" -refresh the screen -""" - -ida_dbg.DBGINV_REGS -""" -invalidate cached register values -""" - -ida_dbg.DOPT_BPT_MSGS -""" -log breakpoints -""" - -ida_dbg.DOPT_END_BPT -""" -evaluate event condition on process end -""" - -ida_dbg.DOPT_ENTRY_BPT -""" -break on program entry point -""" - -ida_dbg.DOPT_EXCDLG -""" -exception dialogs: -""" - -ida_dbg.DOPT_INFO_BPT -""" -break on debugging information -""" - -ida_dbg.DOPT_INFO_MSGS -""" -log debugging info events -""" - -ida_dbg.DOPT_LIB_BPT -""" -break on library load/unload -""" - -ida_dbg.DOPT_LIB_MSGS -""" -log library loads/unloads -""" - -ida_dbg.DOPT_LOAD_DINFO -""" -automatically load debug files (pdb) -""" - -ida_dbg.DOPT_REAL_MEMORY -""" -do not hide breakpoint instructions -""" - -ida_dbg.DOPT_REDO_STACK -""" -reconstruct the stack -""" - -ida_dbg.DOPT_SEGM_MSGS -""" -log debugger segments modifications -""" - -ida_dbg.DOPT_START_BPT -""" -break on process start -""" - -ida_dbg.DOPT_TEMP_HWBPT -""" -when possible use hardware bpts for temp bpts -""" - -ida_dbg.DOPT_THREAD_BPT -""" -break on thread start/exit -""" - -ida_dbg.DOPT_THREAD_MSGS -""" -log thread starts/exits -""" - -ida_dbg.DSTATE_NOTASK -""" -no process is currently debugged -""" - -ida_dbg.DSTATE_RUN -""" -process is running -""" - -ida_dbg.DSTATE_SUSP -""" -process is suspended and will not continue -""" - -ida_dbg.EXCDLG_ALWAYS -""" -always display -""" - -ida_dbg.EXCDLG_NEVER -""" -never display exception dialogs -""" - -ida_dbg.EXCDLG_UNKNOWN -""" -display for unknown exceptions -""" - -ida_dbg.FT_LOG_RET -""" -function tracing will log returning instructions -""" - -ida_dbg.IT_LOG_SAME_IP -""" -instruction tracing will log instructions whose IP doesn't change -""" - -ida_dbg.ST_ALREADY_LOGGED -""" -step tracing will be disabled when IP is already logged -""" - -ida_dbg.ST_DIFFERENTIAL -""" -tracing: log only new instructions -""" - -ida_dbg.ST_OPTIONS_MASK -""" -mask of available options, to ensure compatibility with newer IDA -versions -""" - -ida_dbg.ST_OVER_DEBUG_SEG -""" -step tracing will be disabled when IP is in a debugger segment -""" - -ida_dbg.ST_OVER_LIB_FUNC -""" -step tracing will be disabled when IP is in a library function -""" - -ida_dbg.ST_SKIP_LOOPS -""" -step tracing will try to skip loops already recorded -""" - -ida_dbg.WFNE_ANY -""" -return the first event (even if it doesn't suspend the process) -""" - -ida_dbg.WFNE_CONT -""" -continue from the suspended state -""" - -ida_dbg.WFNE_NOWAIT -""" -(to be used with 'WFNE_CONT' ) - -do not wait for any event, immediately return 'DEC_TIMEOUT' -""" - -ida_dbg.WFNE_SILENT -""" -1: be slient, 0:display modal boxes if necessary -""" - -ida_dbg.WFNE_SUSP -""" -wait until the process gets suspended -""" - -ida_dbg.WFNE_USEC -""" -(minimum non-zero timeout is 40000us) - -timeout is specified in microseconds -""" -=== ida_dbg EPYDOC INJECTIONS END === -ida_diskio.close_linput(): - - close_linput(li) - - - Close loader input. - - - @param li (C++: linput_t *) - - -ida_diskio.create_bytearray_linput(): - - create_bytearray_linput(s) -> linput_t * - - - Trivial memory linput. - - -ida_diskio.create_generic_linput(): - - create_generic_linput(gl) -> linput_t * - - - Create a generic linput - - @param gl: linput description. this object will be destroyed by - close_linput() using "delete gl;" (C++: generic_linput_t - *) - - -ida_diskio.create_memory_linput(): - - 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: starting address of the input (C++: ea_t) - @param size: size of the memory area to represent as linput if - unknown, may be passed as 0 (C++: asize_t) - - -ida_diskio.eclose(): - - eclose(fp) - - -ida_diskio.enumerate_files(): - - 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 - - -ida_diskio.fopenA(): - - fopenA(file) -> FILE * - - - Open a file for append in text mode, deny none. - - @param file (C++: const char *) - @return: NULL if failure - - -ida_diskio.fopenM(): - - fopenM(file) -> FILE * - - - Open a file for read/write in binary mode, deny write. - - @param file (C++: const char *) - @return: NULL if failure - - -ida_diskio.fopenRB(): - - fopenRB(file) -> FILE * - - - Open a file for read in binary mode, deny none. - - @param file (C++: const char *) - @return: NULL if failure - - -ida_diskio.fopenRT(): - - fopenRT(file) -> FILE * - - - Open a file for read in text mode, deny none. - - @param file (C++: const char *) - @return: NULL if failure - - -ida_diskio.fopenWB(): - - 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 *) - @return: NULL if failure - - -ida_diskio.fopenWT(): - - 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 *) - @return: NULL if failure - - -class ida_diskio.generic_linput_t(): - - Proxy of C++ generic_linput_t class - - -ida_diskio.generic_linput_t.blocksize: - generic_linput_t_blocksize_get(self) -> uint32 - -ida_diskio.generic_linput_t.filesize: - generic_linput_t_filesize_get(self) -> uint64 - -ida_diskio.generic_linput_t.read(): - - read(self, off, buffer, nbytes) -> ssize_t - - -ida_diskio.get_ida_subdirs(): - - 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: name of the resource to list (C++: const char *) - @param flags: Subdirectory modification flags bits (C++: int) - @return: number of directories appended to 'dirs' - - -ida_diskio.get_linput_type(): - - get_linput_type(li) -> linput_type_t - - - Get linput type. - - - @param li (C++: linput_t *) - - -ida_diskio.get_special_folder(): - - get_special_folder(csidl) -> bool - - - Get a folder location by CSIDL (see 'Common CSIDLs' ). Path should be - of at least MAX_PATH size - - @param csidl (C++: int) - - -ida_diskio.get_user_idadir(): - - 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) - - -ida_diskio.getsysfile(): - - getsysfile(filename, subdir) -> char * - - - Search for IDA system file. This function searches for a file in:each - directory specified by IDAUSR%ida directory [+ subdir] and returns the - first match. - - @param filename (C++: const char *) - @param subdir (C++: const char *) - @return: NULL if not found, otherwise a pointer to full file name. - - -ida_diskio.idadir(): - - idadir(subdir) -> char const * - - - Get IDA directory (if subdir==NULL) or the specified subdirectory (see - 'IDA subdirectories' ) - - @param subdir (C++: const char *) - - -ida_diskio.open_linput(): - - open_linput(file, remote) -> linput_t * - - - Open loader input. - - - @param file (C++: const char *) - @param remote (C++: bool) - - -ida_diskio.qlgetz(): - - qlgetz(li, fpos) -> char * - - - 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) - - - -=== ida_diskio EPYDOC INJECTIONS === -ida_diskio.IDA_SUBDIR_IDADIR_FIRST -""" -$IDADIR/subdir will be first, not last -""" - -ida_diskio.IDA_SUBDIR_IDP -""" -append the processor name as a subdirectory -""" - -ida_diskio.IDA_SUBDIR_ONLY_EXISTING -""" -only existing directories will be present -""" -=== ida_diskio EPYDOC INJECTIONS END === -ida_entry.add_entry(): - - add_entry(ord, ea, name, makecode, flags=0x0) -> bool - - - Add an entry point to the list of entry points. - - @param ord: ordinal number if ordinal number is equal to 'ea' then - ordinal is not used (C++: uval_t) - @param ea: linear address (C++: ea_t) - @param name: name of entry point. If the specified location already - has a name, the old name will be appended to the regular - comment. If name == NULL, then the old name will be - retained. (C++: const char *) - @param makecode: should the kernel convert bytes at the entry point to - instruction(s) (C++: bool) - @param flags: See AEF_* (C++: int) - @return: success (currently always true) - - -ida_entry.get_entry(): - - get_entry(ord) -> ea_t - - - Get entry point address by its ordinal - - @param ord: ordinal number of entry point (C++: uval_t) - @return: address or BADADDR - - -ida_entry.get_entry_forwarder(): - - get_entry_forwarder(ord) -> ssize_t - - - Get forwarder name for the entry point by its ordinal. - - @param ord: ordinal number of entry point (C++: uval_t) - @return: size of entry forwarder name or -1 - - -ida_entry.get_entry_name(): - - get_entry_name(ord) -> ssize_t - - - Get name of the entry point by its ordinal. - - @param ord: ordinal number of entry point (C++: uval_t) - @return: size of entry name or -1 - - -ida_entry.get_entry_ordinal(): - - get_entry_ordinal(idx) -> uval_t - - - Get ordinal number of an entry point. - - @param idx: internal number of entry point. Should be in the range 0.. - get_entry_qty() -1 (C++: size_t) - @return: ordinal number or 0. - - -ida_entry.get_entry_qty(): - - get_entry_qty() -> size_t - - - Get number of entry points. - - -ida_entry.rename_entry(): - - rename_entry(ord, name, flags=0x0) -> bool - - - Rename entry point. - - @param ord: ordinal number of the entry point (C++: uval_t) - @param name: name of entry point. If the specified location already - has a name, the old name will be appended to a repeatable - comment. (C++: const char *) - @param flags: See AEF_* (C++: int) - @return: success - - -ida_entry.set_entry_forwarder(): - - set_entry_forwarder(ord, name, flags=0x0) -> bool - - - Set forwarder name for ordinal. - - @param ord: ordinal number of the entry point (C++: uval_t) - @param name: forwarder name for entry point. (C++: const char *) - @param flags: See AEF_* (C++: int) - @return: success - - - -=== ida_entry EPYDOC INJECTIONS === -ida_entry.AEF_IDBENC -""" -the name is given in the IDB encoding; non-ASCII bytes will be decoded -accordingly Specifying AEF_IDBENC also implies AEF_NODUMMY -""" - -ida_entry.AEF_NODUMMY -""" -it begins with a dummy suffix. See also AEF_IDBENC - -automatically prepend the name with '_' if -""" - -ida_entry.AEF_UTF8 -""" -the name is given in UTF-8 (default) -""" -=== ida_entry EPYDOC INJECTIONS END === -ida_enum.add_enum(): - - add_enum(idx, name, flag) -> enum_t - - - Add new enum type.if idx== 'BADADDR' then add as the last idxif - name==NULL then generate a unique name "enum_%d" - - @param idx (C++: size_t) - @param name (C++: const char *) - @param flag (C++: flags_t) - - -ida_enum.add_enum_member(): - - add_enum_member(id, name, value, bmask=(bmask_t(-1))) -> int - - - Add member to enum type. - - @param id (C++: enum_t) - @param name (C++: const char *) - @param value (C++: uval_t) - @param bmask (C++: bmask_t) - @return: 0 if ok, otherwise one of Add enum member result codes - - -ida_enum.del_enum(): - - del_enum(id) - - - Delete an enum type. - - - @param id (C++: enum_t) - - -ida_enum.del_enum_member(): - - del_enum_member(id, value, serial, bmask) -> bool - - - Delete member of enum type. - - - @param id (C++: enum_t) - @param value (C++: uval_t) - @param serial (C++: uchar) - @param bmask (C++: bmask_t) - - -class ida_enum.enum_member_visitor_t(): - - Proxy of C++ enum_member_visitor_t class - - -ida_enum.enum_member_visitor_t.visit_enum_member(): - - visit_enum_member(self, cid, value) -> int - - -ida_enum.for_all_enum_members(): - - for_all_enum_members(id, cv) -> int - - - Visit all members of a given enum. - - - @param id (C++: enum_t) - @param cv (C++: enum_member_visitor_t &) - - -ida_enum.get_bmask_cmt(): - - get_bmask_cmt(id, bmask, repeatable) -> ssize_t - - -ida_enum.get_bmask_name(): - - get_bmask_name(id, bmask) -> ssize_t - - -ida_enum.get_enum(): - - get_enum(name) -> enum_t - - - Get enum by name. - - - @param name (C++: const char *) - - -ida_enum.get_enum_cmt(): - - get_enum_cmt(id, repeatable) -> ssize_t - - - Get enum comment. - - - @param id (C++: enum_t) - @param repeatable (C++: bool) - - -ida_enum.get_enum_flag(): - - get_enum_flag(id) -> flags_t - - - Get flags determining the representation of the enum. (currently they - define the numeric base: octal, decimal, hex, bin) and signness. - - @param id (C++: enum_t) - - -ida_enum.get_enum_idx(): - - get_enum_idx(id) -> uval_t - - - Get serial number of enum. The serial number determines the place of - the enum in the enum window. - - @param id (C++: enum_t) - - -ida_enum.get_enum_member(): - - get_enum_member(id, value, serial, mask) -> const_t - - - Find an enum member by enum, value and bitmaskif serial -1, return a - member with any serial - - @param id (C++: enum_t) - @param value (C++: uval_t) - @param serial (C++: int) - @param mask (C++: bmask_t) - - -ida_enum.get_enum_member_bmask(): - - get_enum_member_bmask(id) -> bmask_t - - - Get bitmask of an enum member. - - - @param id (C++: const_t) - - -ida_enum.get_enum_member_by_name(): - - get_enum_member_by_name(name) -> const_t - - - Get a reference to an enum member by its name. - - - @param name (C++: const char *) - - -ida_enum.get_enum_member_cmt(): - - get_enum_member_cmt(id, repeatable) -> ssize_t - - - Get enum member's comment. - - - @param id (C++: const_t) - @param repeatable (C++: bool) - - -ida_enum.get_enum_member_enum(): - - get_enum_member_enum(id) -> enum_t - - - Get the parent enum of an enum member. - - - @param id (C++: const_t) - - -ida_enum.get_enum_member_name(): - - get_enum_member_name(id) -> ssize_t - - - Get name of an enum member by const_t. - - - @param id (C++: const_t) - - -ida_enum.get_enum_member_serial(): - - get_enum_member_serial(cid) -> uchar - - - Get serial number of an enum member. - - - @param cid (C++: const_t) - - -ida_enum.get_enum_member_value(): - - get_enum_member_value(id) -> uval_t - - - Get value of an enum member. - - - @param id (C++: const_t) - - -ida_enum.get_enum_name(): - - get_enum_name(id) -> ssize_t - - - Get name of enum. - - - @param id (C++: enum_t) - - -ida_enum.get_enum_qty(): - - get_enum_qty() -> size_t - - - Get number of declared 'enum_t' types. - - -ida_enum.get_enum_size(): - - get_enum_size(id) -> size_t - - - Get the number of the members of the enum. - - - @param id (C++: enum_t) - - -ida_enum.get_enum_type_ordinal(): - - get_enum_type_ordinal(id) -> int32 - - - Get corresponding type ordinal number. - - - @param id (C++: enum_t) - - -ida_enum.get_enum_width(): - - get_enum_width(id) -> size_t - - - Get the width of a enum element allowed values: 0 - (unspecified),1,2,4,8,16,32,64 - - @param id (C++: enum_t) - - -ida_enum.get_first_bmask(): - - get_first_bmask(id) -> bmask_t - - - Get first bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @return: the smallest bitmask for enum, or DEFMASK - - -ida_enum.get_first_enum_member(): - - get_first_enum_member(id, bmask=(bmask_t(-1))) -> uval_t - - -ida_enum.get_first_serial_enum_member(): - - get_first_serial_enum_member(id, value, bmask) -> const_t - - -ida_enum.get_last_bmask(): - - get_last_bmask(id) -> bmask_t - - - Get last bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @return: the biggest bitmask for enum, or DEFMASK - - -ida_enum.get_last_enum_member(): - - get_last_enum_member(id, bmask=(bmask_t(-1))) -> uval_t - - -ida_enum.get_last_serial_enum_member(): - - get_last_serial_enum_member(id, value, bmask) -> const_t - - -ida_enum.get_next_bmask(): - - get_next_bmask(id, bmask) -> bmask_t - - - Get next bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @param bmask (C++: bmask_t) - @return: value of a bitmask with value higher than the specified - value, or DEFMASK - - -ida_enum.get_next_enum_member(): - - get_next_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t - - -ida_enum.get_next_serial_enum_member(): - - get_next_serial_enum_member(in_out_serial, first_cid) -> const_t - - -ida_enum.get_prev_bmask(): - - get_prev_bmask(id, bmask) -> bmask_t - - - Get prev bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @param bmask (C++: bmask_t) - @return: value of a bitmask with value lower than the specified value, - or DEFMASK - - -ida_enum.get_prev_enum_member(): - - get_prev_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t - - -ida_enum.get_prev_serial_enum_member(): - - get_prev_serial_enum_member(in_out_serial, first_cid) -> const_t - - -ida_enum.getn_enum(): - - getn_enum(n) -> enum_t - - - Get enum by its ordinal number (0..n). - - - @param n (C++: size_t) - - -ida_enum.is_bf(): - - is_bf(id) -> bool - - - Is enum a bitfield? (otherwise - plain enum, no bitmasks except for - 'DEFMASK' are allowed) - - @param id (C++: enum_t) - - -ida_enum.is_enum_fromtil(): - - is_enum_fromtil(id) -> bool - - - Does enum come from type library? - - - @param id (C++: enum_t) - - -ida_enum.is_enum_hidden(): - - is_enum_hidden(id) -> bool - - - Is enum collapsed? - - - @param id (C++: enum_t) - - -ida_enum.is_ghost_enum(): - - is_ghost_enum(id) -> bool - - - Is a ghost copy of a local type? - - - @param id (C++: enum_t) - - -ida_enum.is_one_bit_mask(): - - is_one_bit_mask(mask) -> bool - - - Is bitmask one bit? - - - @param mask (C++: bmask_t) - - -ida_enum.set_bmask_cmt(): - - set_bmask_cmt(id, bmask, cmt, repeatable) -> bool - - -ida_enum.set_bmask_name(): - - set_bmask_name(id, bmask, name) -> bool - - -ida_enum.set_enum_bf(): - - set_enum_bf(id, bf) -> bool - - - Set 'bitfield' bit of enum (i.e. convert it to a bitfield) - - - @param id (C++: enum_t) - @param bf (C++: bool) - - -ida_enum.set_enum_cmt(): - - set_enum_cmt(id, cmt, repeatable) -> bool - - - Set comment for enum type. - - - @param id (C++: enum_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -ida_enum.set_enum_flag(): - - set_enum_flag(id, flag) -> bool - - - Set data representation flags. - - - @param id (C++: enum_t) - @param flag (C++: flags_t) - - -ida_enum.set_enum_fromtil(): - - set_enum_fromtil(id, fromtil) -> bool - - - Specify that enum comes from a type library. - - - @param id (C++: enum_t) - @param fromtil (C++: bool) - - -ida_enum.set_enum_ghost(): - - set_enum_ghost(id, ghost) -> bool - - - Specify that enum is a ghost copy of a local type. - - - @param id (C++: enum_t) - @param ghost (C++: bool) - - -ida_enum.set_enum_hidden(): - - set_enum_hidden(id, hidden) -> bool - - - Collapse enum. - - - @param id (C++: enum_t) - @param hidden (C++: bool) - - -ida_enum.set_enum_idx(): - - set_enum_idx(id, idx) -> bool - - - Set serial number of enum. Also see 'get_enum_idx()' . - - @param id (C++: enum_t) - @param idx (C++: size_t) - - -ida_enum.set_enum_member_cmt(): - - set_enum_member_cmt(id, cmt, repeatable) -> bool - - - Set comment for enum member. - - - @param id (C++: const_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -ida_enum.set_enum_member_name(): - - set_enum_member_name(id, name) -> bool - - - Set name of enum member. - - - @param id (C++: const_t) - @param name (C++: const char *) - - -ida_enum.set_enum_name(): - - set_enum_name(id, name) -> bool - - - Set name of enum type. - - - @param id (C++: enum_t) - @param name (C++: const char *) - - -ida_enum.set_enum_type_ordinal(): - - set_enum_type_ordinal(id, ord) - - - Set corresponding type ordinal number. - - - @param id (C++: enum_t) - @param ord (C++: int32) - - -ida_enum.set_enum_width(): - - set_enum_width(id, width) -> bool - - - See comment for 'get_enum_width()' - - - @param id (C++: enum_t) - @param width (C++: int) - - - -=== ida_enum EPYDOC INJECTIONS === -ida_enum.DEFMASK -""" -default bitmask -""" - -ida_enum.ENUM_MEMBER_ERROR_ENUM -""" -bad enum id -""" - -ida_enum.ENUM_MEMBER_ERROR_ILLV -""" -bad bmask and value combination (~bmask & value != 0) -""" - -ida_enum.ENUM_MEMBER_ERROR_MASK -""" -bad bmask -""" - -ida_enum.ENUM_MEMBER_ERROR_NAME -""" -already have member with this name (bad name) -""" - -ida_enum.ENUM_MEMBER_ERROR_VALUE -""" -already have 256 members with this value -""" -=== ida_enum EPYDOC INJECTIONS END === -ida_expr.add_idc_class(): - - add_idc_class(name, super=None) -> idc_class_t * - - - Create a new IDC class. - - @param name: name of the new class (C++: const char *) - @param super: the base class for the new class. if the new class is - not based on any other class, pass NULL (C++: const - idc_class_t *) - @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. - - -ida_expr.add_idc_func(): - - Extends the IDC language by exposing a new IDC function that is backed up by a Python function - - @param name: IDC function name to expose - @param fp: Python callable that will receive the arguments and return a tuple. - @param args: Arguments. A tuple of idaapi.VT_XXX constants - @param flags: IDC function flags. A combination of EXTFUN_XXX constants - - @return: Boolean - - - 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 - ", 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, NULL, 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"); - - If the function already exists, it will be replaced by the new - function - - @return: success - - -ida_expr.add_idc_gvar(): - - add_idc_gvar(name) -> idc_value_t - - - Add global IDC variable. - - @param name: name of the global variable (C++: const char *) - @return: pointer to the created variable or existing variable. NB: the - returned pointer is valid until a new global var is added. - - -ida_expr.compile_idc_file(): - - compile_idc_file(nonnul_line) -> bool - - -ida_expr.compile_idc_snippet(): - - compile_idc_snippet(func, text, resolver=None, only_safe_funcs=False) -> bool - - - Compile text with IDC statements. - - @param func: name of the function to create out of the snippet (C++: - const char *) - @param text: text to compile (C++: const char *) - @param resolver: callback object to get values of undefined variables - This object will be called if IDC function contains - references to undefined variables. May be NULL. (C++: - idc_resolver_t *) - @param only_safe_funcs: if true, any calls to functions without - EXTFUN_SAFE flag will lead to a compilation - error. (C++: bool) - - -ida_expr.compile_idc_text(): - - compile_idc_text(nonnul_line) -> bool - - -ida_expr.copy_idcv(): - - 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 &) - - -ida_expr.create_idcv_ref(): - - create_idcv_ref(ref, v) -> bool - - - Create a variable reference. Currently only references to global - variables can be created. - - @param ref: ptr to the result (C++: idc_value_t *) - @param v: variable to reference (C++: const idc_value_t *) - @return: success - - -ida_expr.deep_copy_idcv(): - - 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 &) - - -ida_expr.del_idc_func(): - - Unregisters the specified IDC function - - @param name: IDC function name to unregister - - @return: Boolean - - - Delete an IDC function - - -ida_expr.del_idcv_attr(): - - del_idcv_attr(obj, attr) -> error_t - - - Delete an object attribute. - - @param obj: variable that holds an object reference (C++: idc_value_t - *) - @param attr: attribute name (C++: const char *) - @return: error code, eOk on success - - -ida_expr.deref_idcv(): - - deref_idcv(v, vref_flags) -> idc_value_t - - - Dereference a 'VT_REF' variable. - - @param v: variable to dereference (C++: idc_value_t *) - @param vref_flags: Dereference IDC variable flags (C++: int) - @return: pointer to the dereference result or NULL. If returns NULL, - qerrno is set to eExecBadRef "Illegal variable reference" - - -ida_expr.eval_expr(): - - eval_expr(rv, where, line) -> bool - - - Compile and calculate an expression. - - @param rv: pointer to the result (C++: idc_value_t *) - @param where: 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 . (C++: ea_t) - @param line: the expression to evaluate (C++: const char *) - - -ida_expr.eval_idc_expr(): - - eval_idc_expr(rv, where, line) -> bool - - - 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) - - -ida_expr.exec_idc_script(): - - exec_idc_script(result, path, func, args, argsnum) -> bool - - - Compile and execute IDC function(s) from file. - - @param result: ptr to idc_value_t to hold result of the function. If - execution fails, this variable will contain the - exception information. You may pass NULL if you are not - interested in the returned value. (C++: idc_value_t *) - @param path: text file containing text of IDC functions (C++: const - char *) - @param func: function name to execute (C++: const char *) - @param args: array of parameters (C++: const idc_value_t) - @param argsnum: number of parameters to pass to 'fname' This number - should be equal to number of parameters the function - expects. (C++: size_t) - - -ida_expr.exec_system_script(): - - exec_system_script(file, complain_if_no_file=True) -> bool - - - Compile and execute "main" function from system file. - - @param file: file name with IDC function(s). The file will be searched - in the idc subdir of ida (C++: const char *) - @param complain_if_no_file: 1: display warning if the file is not - found 0: don't complain if file doesn't - exist (C++: bool) - - -ida_expr.find_idc_class(): - - find_idc_class(name) -> idc_class_t * - - - Find an existing IDC class by its name. - - @param name: name of the class (C++: const char *) - @return: pointer to the class or NULL. The returned pointer is valid - until a new call to add_idc_class() - - -ida_expr.find_idc_func(): - - find_idc_func(prefix, n=0) -> bool - - -ida_expr.find_idc_gvar(): - - find_idc_gvar(name) -> idc_value_t - - - Find an existing global IDC variable by its name. - - @param name: name of the global variable (C++: const char *) - @return: pointer to the variable or NULL. 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 - - -ida_expr.first_idcv_attr(): - - first_idcv_attr(obj) -> char const * - - -ida_expr.free_idcv(): - - 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 *) - - -ida_expr.get_idc_filename(): - - get_idc_filename(file) -> char * - - - Get full name of IDC file name. Search for file in list of include - directories, IDCPATH directory and the current directory. - - @param file: file name without full path (C++: const char *) - @return: NULL is file not found. otherwise returns pointer to buf - - -ida_expr.get_idcv_attr(): - - get_idcv_attr(res, obj, attr, may_use_getattr=False) -> error_t - - - Get an object attribute. - - @param res: buffer for the attribute value (C++: idc_value_t *) - @param obj: variable that holds an object reference. if obj is NULL it - searches global variables, then user functions (C++: const - idc_value_t *) - @param attr: attribute name (C++: const char *) - @param may_use_getattr: may call getattr functions to calculate the - attribute if it does not exist (C++: bool) - @return: error code, eOk on success - - -ida_expr.get_idcv_class_name(): - - get_idcv_class_name(obj) -> error_t - - - Retrieves the IDC object class name. - - @param obj: class instance variable (C++: const idc_value_t *) - @return: error code, eOk on success - - -ida_expr.get_idcv_slice(): - - get_idcv_slice(res, v, i1, i2, flags=0) -> error_t - - - Get slice. - - @param res: output variable that will contain the slice (C++: - idc_value_t *) - @param v: input variable (string or object) (C++: const idc_value_t - *) - @param i1: slice start index (C++: uval_t) - @param i2: slice end index (excluded) (C++: uval_t) - @param flags: IDC variable slice flags or 0 (C++: int) - @return: eOk if success - - -class ida_expr.highlighter_cbs_t(): - - Proxy of C++ highlighter_cbs_t class - - -ida_expr.highlighter_cbs_t.cur_block_state(): - - cur_block_state(self) -> int32 - - -ida_expr.highlighter_cbs_t.prev_block_state(): - - prev_block_state(self) -> int32 - - -ida_expr.highlighter_cbs_t.set_block_state(): - - set_block_state(self, arg0) - - -ida_expr.highlighter_cbs_t.set_style(): - - set_style(self, arg0, arg1, arg2) - - -class ida_expr.idc_global_t(): - - Proxy of C++ idc_global_t class - - -ida_expr.idc_global_t.name: - idc_global_t_name_get(self) -> qstring * - -ida_expr.idc_global_t.value: - idc_global_t_value_get(self) -> idc_value_t - -class ida_expr.idc_value_t(): - - Proxy of C++ idc_value_t class - - -ida_expr.idc_value_t.c_str(): - - c_str(self) -> char const * - - -ida_expr.idc_value_t.clear(): - - clear(self) - - -ida_expr.idc_value_t.create_empty_string(): - - create_empty_string(self) - - -ida_expr.idc_value_t.e: - idc_value_t_e_get(self) -> ushort [6] - -ida_expr.idc_value_t.funcidx: - idc_value_t_funcidx_get(self) -> int - -ida_expr.idc_value_t.i64: - idc_value_t_i64_get(self) -> int64 - -ida_expr.idc_value_t.is_convertible(): - - is_convertible(self) -> bool - - -ida_expr.idc_value_t.is_integral(): - - is_integral(self) -> bool - - -ida_expr.idc_value_t.is_zero(): - - is_zero(self) -> bool - - -ida_expr.idc_value_t.num: - idc_value_t_num_get(self) -> sval_t - -ida_expr.idc_value_t.obj: - idc_value_t_obj_get(self) -> idc_object_t * - -ida_expr.idc_value_t.pvoid: - idc_value_t_pvoid_get(self) -> void * - -ida_expr.idc_value_t.qstr(): - - qstr(self) -> qstring - qstr(self) -> qstring const & - - -ida_expr.idc_value_t.reserve: - idc_value_t_reserve_get(self) -> uchar [sizeof(qstring)] - -ida_expr.idc_value_t.set_float(): - - set_float(self, f) - - -ida_expr.idc_value_t.set_int64(): - - set_int64(self, v) - - -ida_expr.idc_value_t.set_long(): - - set_long(self, v) - - -ida_expr.idc_value_t.set_pvoid(): - - set_pvoid(self, p) - - -ida_expr.idc_value_t.set_string(): - - set_string(self, _str, len) - set_string(self, _str) - - -ida_expr.idc_value_t.swap(): - - swap(self, v) - - -ida_expr.idc_value_t.u_str(): - - u_str(self) -> uchar const * - - -ida_expr.idc_value_t.vtype: - idc_value_t_vtype_get(self) -> char - -class ida_expr.idc_values_t(): - - Proxy of C++ qvector<(idc_value_t)> class - - -ida_expr.idc_values_t.at(): - - at(self, _idx) -> idc_value_t - - -ida_expr.idc_values_t.begin(): - - begin(self) -> idc_value_t - begin(self) -> idc_value_t - - -ida_expr.idc_values_t.capacity(): - - capacity(self) -> size_t - - -ida_expr.idc_values_t.clear(): - - clear(self) - - -ida_expr.idc_values_t.empty(): - - empty(self) -> bool - - -ida_expr.idc_values_t.end(): - - end(self) -> idc_value_t - end(self) -> idc_value_t - - -ida_expr.idc_values_t.erase(): - - erase(self, it) -> idc_value_t - erase(self, first, last) -> idc_value_t - - -ida_expr.idc_values_t.extract(): - - extract(self) -> idc_value_t - - -ida_expr.idc_values_t.grow(): - - grow(self, x=idc_value_t()) - - -ida_expr.idc_values_t.inject(): - - inject(self, s, len) - - -ida_expr.idc_values_t.insert(): - - insert(self, it, x) -> idc_value_t - - -ida_expr.idc_values_t.pop_back(): - - pop_back(self) - - -ida_expr.idc_values_t.push_back(): - - push_back(self, x) - push_back(self) -> idc_value_t - - -ida_expr.idc_values_t.qclear(): - - qclear(self) - - -ida_expr.idc_values_t.reserve(): - - reserve(self, cnt) - - -ida_expr.idc_values_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_expr.idc_values_t.size(): - - size(self) -> size_t - - -ida_expr.idc_values_t.swap(): - - swap(self, r) - - -ida_expr.idc_values_t.truncate(): - - truncate(self) - - -ida_expr.idcv_float(): - - idcv_float(v) -> error_t - - - Convert IDC variable to a floating point. - - - @param v (C++: idc_value_t *) - - -ida_expr.idcv_int64(): - - 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 - - -ida_expr.idcv_long(): - - 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 - - -ida_expr.idcv_num(): - - 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 - - -ida_expr.idcv_object(): - - idcv_object(v, icls=None) -> error_t - - - Create an IDC object. The original value of 'v' is discarded (freed). - - @param v: variable to hold the object. any previous value will be - cleaned (C++: idc_value_t *) - @param icls: ptr to the desired class. NULL means "object" class this - ptr must be returned by add_idc_class() or - find_idc_class() (C++: const idc_class_t *) - @return: always eOk - - -ida_expr.idcv_string(): - - idcv_string(v) -> error_t - - - Convert IDC variable to a text string. - - - @param v (C++: idc_value_t *) - - -ida_expr.last_idcv_attr(): - - last_idcv_attr(obj) -> char const * - - -ida_expr.move_idcv(): - - 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 *) - - -ida_expr.next_idcv_attr(): - - next_idcv_attr(obj, attr) -> char const * - - -ida_expr.prev_idcv_attr(): - - prev_idcv_attr(obj, attr) -> char const * - - -ida_expr.print_idcv(): - - print_idcv(v, name=None, indent=0) -> bool - - - Get text representation of 'idc_value_t' . - - - @param v (C++: const idc_value_t &) - @param name (C++: const char *) - @param indent (C++: int) - - -ida_expr.py_add_idc_func(): - - py_add_idc_func(name, fp_ptr, args, defvals, flags) -> bool - - -ida_expr.py_get_call_idc_func(): - - py_get_call_idc_func() -> size_t - - -ida_expr.pyw_convert_defvals(): - - pyw_convert_defvals(out, py_seq) -> bool - - -ida_expr.pyw_register_idc_func(): - - pyw_register_idc_func(name, args, py_fp) -> size_t - - -ida_expr.pyw_unregister_idc_func(): - - pyw_unregister_idc_func(ctxptr) -> bool - - -ida_expr.set_header_path(): - - 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: list of directories to add (separated by ';') may be - NULL, in this case nothing is added (C++: const char *) - @param add: true: append. false: remove old paths. (C++: bool) - - -ida_expr.set_idcv_attr(): - - set_idcv_attr(obj, attr, value, may_use_setattr=False) -> error_t - - - Set an object attribute. - - @param obj: variable that holds an object reference. if obj is NULL - then it tries to modify a global variable with the - attribute name (C++: idc_value_t *) - @param attr: attribute name (C++: const char *) - @param value: new attribute value (C++: const idc_value_t &) - @param may_use_setattr: may call setattr functions for the class (C++: - bool) - @return: error code, eOk on success - - -ida_expr.set_idcv_slice(): - - set_idcv_slice(v, i1, i2, _in, flags=0) -> error_t - - - Set slice. - - @param v: variable to modify (string or object) (C++: idc_value_t *) - @param i1: slice start index (C++: uval_t) - @param i2: slice end index (excluded) (C++: uval_t) - @param flags: IDC variable slice flags or 0 (C++: int) - @return: eOk on success - - -ida_expr.swap_idcvs(): - - swap_idcvs(v1, v2) - - - Swap 2 variables. - - - @param v1 (C++: idc_value_t *) - @param v2 (C++: idc_value_t *) - - -ida_expr.throw_idc_exception(): - - 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: object to hold the exception object (C++: idc_value_t *) - @param desc: exception description (C++: const char *) - @return: eExecThrow - - - -=== ida_expr EPYDOC INJECTIONS === -ida_expr.CPL_DEL_MACROS -""" -delete macros at the end of compilation -""" - -ida_expr.CPL_ONLY_SAFE -""" -allow calls of only thread-safe functions -""" - -ida_expr.CPL_USE_LABELS -""" -allow program labels in the script -""" - -ida_expr.IDC_LANG_EXT -""" -IDC script extension. -""" - -ida_expr.VARSLICE_SINGLE -""" -return single index (i2 is ignored) -""" - -ida_expr.VREF_COPY -""" -copy the result to the input var (v) -""" - -ida_expr.VREF_LOOP -""" -dereference until we get a non 'VT_REF' -""" - -ida_expr.VREF_ONCE -""" -dereference only once, do not loop -""" - -ida_expr.VT_FLOAT -""" -Floating point (see 'idc_value_t::e' ) -""" - -ida_expr.VT_FUNC -""" -Function (see 'idc_value_t::funcidx' ) -""" - -ida_expr.VT_INT64 -""" -i64 -""" - -ida_expr.VT_LONG -""" -Integer (see 'idc_value_t::num' ) -""" - -ida_expr.VT_OBJ -""" -Object (see idc_value_t::obj) -""" - -ida_expr.VT_PVOID -""" -void * -""" - -ida_expr.VT_REF -""" -Reference. -""" - -ida_expr.VT_STR -""" -String (see qstr() and similar functions) -""" - -ida_expr.VT_WILD -""" -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' . -""" - -ida_expr.eExecThrow -""" -See return value of 'idc_func_t' . -""" -=== ida_expr EPYDOC INJECTIONS END === -ida_fixup.calc_fixup_size(): - - calc_fixup_size(type) -> int - - - Calculate size of fixup in bytes (the number of bytes the fixup - patches) - - @param type (C++: fixup_type_t) - - -ida_fixup.contains_fixups(): - - contains_fixups(ea, size) -> bool - - - Does the specified address range contain any fixup information? - - - @param ea (C++: ea_t) - @param size (C++: asize_t) - - -ida_fixup.del_fixup(): - - del_fixup(source) - - - Delete fixup information. - - - @param source (C++: ea_t) - - -ida_fixup.exists_fixup(): - - exists_fixup(source) -> bool - - - Check that a fixup exists at the given address. - - - @param source (C++: ea_t) - - -ida_fixup.find_custom_fixup(): - - find_custom_fixup(name) -> fixup_type_t - - - Get id of a custom fixup handler. - - @param name: name of the custom fixup handler (C++: const char *) - @return: id with FIXUP_CUSTOM bit set or 0 - - -class ida_fixup.fixup_data_t(): - - Proxy of C++ fixup_data_t class - - -ida_fixup.fixup_data_t.calc_size(): - - calc_size(self) -> int - - -ida_fixup.fixup_data_t.clr_extdef(): - - clr_extdef(self) - - -ida_fixup.fixup_data_t.clr_unused(): - - clr_unused(self) - - -ida_fixup.fixup_data_t.displacement: - fixup_data_t_displacement_get(self) -> adiff_t - -ida_fixup.fixup_data_t.get(): - - get(self, source) -> bool - - -ida_fixup.fixup_data_t.get_base(): - - get_base(self) -> ea_t - - -ida_fixup.fixup_data_t.get_desc(): - - get_desc(self, source) -> char const * - - -ida_fixup.fixup_data_t.get_flags(): - - get_flags(self) -> uint32 - - -ida_fixup.fixup_data_t.get_handler(): - - get_handler(self) -> fixup_handler_t const * - - -ida_fixup.fixup_data_t.get_type(): - - get_type(self) -> fixup_type_t - - -ida_fixup.fixup_data_t.get_value(): - - get_value(self, ea) -> uval_t - - -ida_fixup.fixup_data_t.has_base(): - - has_base(self) -> bool - - -ida_fixup.fixup_data_t.is_custom(): - - is_custom(self) -> bool - - -ida_fixup.fixup_data_t.is_extdef(): - - is_extdef(self) -> bool - - -ida_fixup.fixup_data_t.is_unused(): - - is_unused(self) -> bool - - -ida_fixup.fixup_data_t.off: - fixup_data_t_off_get(self) -> ea_t - -ida_fixup.fixup_data_t.patch_value(): - - patch_value(self, ea) -> bool - - -ida_fixup.fixup_data_t.sel: - fixup_data_t_sel_get(self) -> sel_t - -ida_fixup.fixup_data_t.set(): - - set(self, source) - - -ida_fixup.fixup_data_t.set_base(): - - set_base(self, new_base) - - -ida_fixup.fixup_data_t.set_extdef(): - - set_extdef(self) - - -ida_fixup.fixup_data_t.set_sel(): - - set_sel(self, seg) - - -ida_fixup.fixup_data_t.set_target_sel(): - - set_target_sel(self) - - -ida_fixup.fixup_data_t.set_type(): - - set_type(self, type_) - - -ida_fixup.fixup_data_t.set_type_and_flags(): - - set_type_and_flags(self, type_, flags_=0) - - -ida_fixup.fixup_data_t.set_unused(): - - set_unused(self) - - -ida_fixup.fixup_data_t.was_created(): - - was_created(self) -> bool - - -class ida_fixup.fixup_info_t(): - - Proxy of C++ fixup_info_t class - - -ida_fixup.fixup_info_t.ea: - fixup_info_t_ea_get(self) -> ea_t - -ida_fixup.fixup_info_t.fd: - fixup_info_t_fd_get(self) -> fixup_data_t - -ida_fixup.gen_fix_fixups(): - - 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) - - -ida_fixup.get_first_fixup_ea(): - - get_first_fixup_ea() -> ea_t - - - Get the first address with fixup information - - @return: the first address with fixup information, or BADADDR - - -ida_fixup.get_fixup(): - - get_fixup(fd, source) -> bool - - - Get fixup information. - - - @param fd (C++: fixup_data_t *) - @param source (C++: ea_t) - - -ida_fixup.get_fixup_desc(): - - get_fixup_desc(source, fd) -> char const * - - - Get FIXUP description comment. - - - @param source (C++: ea_t) - @param fd (C++: const fixup_data_t &) - - -ida_fixup.get_fixup_handler(): - - get_fixup_handler(type) -> fixup_handler_t const * - - - Get handler of standard or custom fixup. - - - @param type (C++: fixup_type_t) - - -ida_fixup.get_fixup_value(): - - 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 'patch_fixup_value()' `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. - 'fixup_handler_t::size' - - @param ea: address to get fixup bytes from, the size of the fixup - bytes depends on the fixup type. (C++: ea_t) - @param type (C++: fixup_type_t) - - -ida_fixup.get_fixups(): - - get_fixups(out, ea, size) -> bool - - -ida_fixup.get_next_fixup_ea(): - - get_next_fixup_ea(ea) -> ea_t - - - Find next address with fixup information - - @param ea: current address (C++: ea_t) - @return: the next address with fixup information, or BADADDR - - -ida_fixup.get_prev_fixup_ea(): - - get_prev_fixup_ea(ea) -> ea_t - - - Find previous address with fixup information - - @param ea: current address (C++: ea_t) - @return: the previous address with fixup information, or BADADDR - - -ida_fixup.is_fixup_custom(): - - is_fixup_custom(type) -> bool - - - Is fixup processed by processor module? - - - @param type (C++: fixup_type_t) - - -ida_fixup.patch_fixup_value(): - - 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. 'fixup_handler_t::size' - - @param ea: address where data are changed, the size of the changed - data depends on the fixup type. (C++: ea_t) - @param fd (C++: const fixup_data_t &) - - -ida_fixup.set_fixup(): - - 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: the fixup source address, i.e. the address modified by - the fixup (C++: ea_t) - @param fd: fixup data (C++: const fixup_data_t &) - - - -=== ida_fixup EPYDOC INJECTIONS === -ida_fixup.FIXUPF_CREATED -""" -fixup was not present in the input file -""" - -ida_fixup.FIXUPF_EXTDEF -""" -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. -""" - -ida_fixup.FIXUPF_LOADER_MASK -""" -additional flags. The bits from this mask are not stored in the -database and can be used by the loader at its discretion. -""" - -ida_fixup.FIXUPF_REL -""" -fixup is relative to the linear address `base' . Otherwise fixup is -relative to the start of the segment with `sel' selector. -""" - -ida_fixup.FIXUPF_UNUSED -""" -fixup is ignored by IDAdisallows the kernel to convert operandsthis -fixup is not used during output -""" -=== ida_fixup EPYDOC INJECTIONS END === -class ida_fpro.qfile_t(): - - Proxy of C++ qfile_t class - - - A helper class to work with FILE related functions. - - -ida_fpro.qfile_t.close(): - - close(self) - - -ida_fpro.qfile_t.filename(): - - filename(self) -> PyObject * - - -ida_fpro.qfile_t.flush(): - - flush(self) -> int - - - Reads a single character from the file. Returns None if EOF or the read character - - -ida_fpro.qfile_t.from_cobject(): - - from_cobject(pycobject) -> qfile_t - - -ida_fpro.qfile_t.from_fp(): - - from_fp(fp) -> qfile_t - - -ida_fpro.qfile_t.get_char(): - - get_char(self) -> PyObject * - - -ida_fpro.qfile_t.get_fp(): - - get_fp(self) -> FILE * - - -ida_fpro.qfile_t.gets(): - - gets(self, size) -> PyObject * - - - Reads a line from the input file. Returns the read line or None - - -ida_fpro.qfile_t.open(): - - open(self, filename, mode) -> bool - - - Opens a file - @param filename: the file name - @param mode: The mode string, ala fopen() style - @return: Boolean - - -ida_fpro.qfile_t.opened(): - - opened(self) -> bool - - - Checks if the file is opened or not - - -ida_fpro.qfile_t.put_char(): - - put_char(self, chr) -> int - - - Writes a single character to the file - - -ida_fpro.qfile_t.puts(): - - puts(self, str) -> int - - -ida_fpro.qfile_t.read(): - - read(self, size) -> PyObject * - - - Reads from the file. Returns the buffer or None - - -ida_fpro.qfile_t.readbytes(): - - readbytes(self, size, big_endian) -> PyObject * - - - Similar to read() but it respect the endianness - - -ida_fpro.qfile_t.seek(): - - seek(self, offset, whence=SEEK_SET) -> int - - - Set input source position - @return: the new position (not 0 as fseek!) - - -ida_fpro.qfile_t.size(): - - size(self) -> int64 - - -ida_fpro.qfile_t.tell(): - - tell(self) -> int64 - - - Returns the current position - - -ida_fpro.qfile_t.tmpfile(): - - tmpfile() -> qfile_t - - - A static method to construct an instance using a temporary file - - -ida_fpro.qfile_t.write(): - - write(self, py_buf) -> int - - - Writes to the file. Returns 0 or the number of bytes written - - -ida_fpro.qfile_t.writebytes(): - - writebytes(self, py_buf, big_endian) -> int - - - Similar to write() but it respect the endianness - - -ida_fpro.qfile_t_from_cobject(): - - qfile_t_from_cobject(pycobject) -> qfile_t - - -ida_fpro.qfile_t_from_fp(): - - qfile_t_from_fp(fp) -> qfile_t - - -ida_fpro.qfile_t_tmpfile(): - - qfile_t_tmpfile() -> qfile_t - - -ida_frame.add_auto_stkpnt(): - - add_auto_stkpnt(pfn, ea, delta) -> bool - - - Add automatic SP register change point. - - @param pfn: pointer to function. may be NULL. (C++: func_t *) - @param ea: linear address where SP changes. usually this is the end of - the instruction which modifies the stack pointer - (\cmd{ea}+\cmd{size}) (C++: ea_t) - @param delta: difference between old and new values of SP (C++: - sval_t) - @return: success - - -ida_frame.add_frame(): - - add_frame(pfn, frsize, frregs, argsize) -> bool - - - Add function frame. - - @param pfn: pointer to function structure (C++: func_t *) - @param frsize: size of function local variables (C++: sval_t) - @param frregs: size of saved registers (C++: ushort) - @param argsize: 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. (C++: asize_t) - - -ida_frame.add_regvar(): - - add_regvar(pfn, ea1, ea2, canon, user, cmt) -> int - - - Define a register variable. - - @param pfn: function in which the definition will be created (C++: - func_t *) - @param ea1: range of addresses within the function where the - definition will be used (C++: ea_t) - @param ea2: range of addresses within the function where the - definition will be used (C++: ea_t) - @param canon: name of a general register (C++: const char *) - @param user: user-defined name for the register (C++: const char *) - @param cmt: comment for the definition (C++: const char *) - @return: Register variable error codes - - -ida_frame.add_user_stkpnt(): - - add_user_stkpnt(ea, delta) -> bool - - - Add user-defined SP register change point. - - @param ea: linear address where SP changes (C++: ea_t) - @param delta: difference between old and new values of SP (C++: - sval_t) - @return: success - - -ida_frame.build_stkvar_name(): - - build_stkvar_name(pfn, v) -> ssize_t - - - Build automatic stack variable name. - - @param pfn: pointer to function (can't be NULL!) (C++: const func_t - *) - @param v: value of variable offset (C++: sval_t) - @return: length of stack variable name or -1 - - -ida_frame.build_stkvar_xrefs(): - - build_stkvar_xrefs(out, pfn, mptr) - - - Fill 'out' with a list of all the xrefs made from function 'pfn', to - the argument or variable 'mptr' in 'pfn's stack frame. - - @param out: the list of xrefs to fill. (C++: xreflist_t *) - @param pfn: the function to scan. (C++: func_t *) - @param mptr: the argument/variable in pfn's stack frame. (C++: const - member_t *) - - -ida_frame.calc_stkvar_struc_offset(): - - calc_stkvar_struc_offset(pfn, insn, n) -> ea_t - - - Calculate offset of stack variable in the frame structure. - - @param pfn: pointer to function (can't be NULL!) (C++: func_t *) - @param insn: the instruction (C++: const insn_t &) - @param n: number of operand: (0.. UA_MAXOP -1) -1 if error, return - BADADDR (C++: int) - @return: BADADDR if some error (issue a warning if stack frame is - bad) - - -ida_frame.define_stkvar(): - - define_stkvar(pfn, name, off, flags, ti, nbytes) -> bool - - - Define/redefine a stack variable. - - @param pfn: pointer to function (C++: func_t *) - @param name: variable name, NULL means autogenerate a name (C++: const - char *) - @param off: offset of the stack variable in the frame. negative values - denote local variables, positive - function arguments. - (C++: sval_t) - @param flags: variable type flags ( byte_flag() for a byte variable, - for example) (C++: flags_t) - @param ti: additional type information (like offsets, structs, etc) - (C++: const opinfo_t *) - @param nbytes: number of bytes occupied by the variable (C++: asize_t) - @return: success - - -ida_frame.del_frame(): - - del_frame(pfn) -> bool - - - Delete a function frame. - - @param pfn: pointer to function structure (C++: func_t *) - @return: success - - -ida_frame.del_regvar(): - - del_regvar(pfn, ea1, ea2, canon) -> int - - - Delete a register variable definition. - - @param pfn: function in question (C++: func_t *) - @param ea1: range of addresses within the function where the - definition holds (C++: ea_t) - @param ea2: range of addresses within the function where the - definition holds (C++: ea_t) - @param canon: name of a general register (C++: const char *) - @return: Register variable error codes - - -ida_frame.del_stkpnt(): - - del_stkpnt(pfn, ea) -> bool - - - Delete SP register change point. - - @param pfn: pointer to function. may be NULL. (C++: func_t *) - @param ea: linear address (C++: ea_t) - @return: success - - -ida_frame.delete_unreferenced_stkvars(): - - delete_unreferenced_stkvars(pfn) -> int - - -ida_frame.delete_wrong_stkvar_ops(): - - delete_wrong_stkvar_ops(pfn) -> int - - -ida_frame.find_regvar(): - - find_regvar(pfn, ea1, ea2, canon, user) -> regvar_t - find_regvar(pfn, ea, canon) -> regvar_t - - - Find a register variable definition (powerful version). One of 'canon' - and 'user' should be NULL. If both 'canon' and 'user' are NULL it - returns the first regvar definition in the range. - - @param pfn: function in question (C++: func_t *) - @param ea1: range of addresses to search. ea1==BADADDR means the - entire function (C++: ea_t) - @param ea2: range of addresses to search. ea1==BADADDR means the - entire function (C++: ea_t) - @param canon: name of a general register (C++: const char *) - @param user: user-defined name for the register (C++: const char *) - @return: NULL-not found, otherwise ptr to regvar_t - - -ida_frame.frame_off_args(): - - frame_off_args(pfn) -> ea_t - - - Get starting address of arguments section. - - - @param pfn (C++: const func_t *) - - -ida_frame.frame_off_lvars(): - - frame_off_lvars(pfn) -> ea_t - - - Get start address of local variables section. - - - @param pfn (C++: const func_t *) - - -ida_frame.frame_off_retaddr(): - - frame_off_retaddr(pfn) -> ea_t - - - Get starting address of return address section. - - - @param pfn (C++: const func_t *) - - -ida_frame.frame_off_savregs(): - - frame_off_savregs(pfn) -> ea_t - - - Get starting address of saved registers section. - - - @param pfn (C++: const func_t *) - - -ida_frame.get_effective_spd(): - - 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: pointer to function. may be NULL. (C++: func_t *) - @param ea: linear address (C++: ea_t) - @return: 0 or the difference, usually a negative number - - -ida_frame.get_frame(): - - get_frame(pfn) -> struc_t - get_frame(ea) -> struc_t * - - - Get pointer to function frame. - - @param pfn: pointer to function structure (C++: const func_t *) - - -ida_frame.get_frame_part(): - - get_frame_part(range, pfn, part) - - - Get offsets of the frame part in the frame. - - @param range: pointer to the output buffer with the frame part - start/end(exclusive) offsets, can't be NULL (C++: - range_t *) - @param pfn: pointer to function structure, can't be NULL (C++: const - func_t *) - @param part: frame part (C++: frame_part_t) - - -ida_frame.get_frame_retsize(): - - get_frame_retsize(pfn) -> int - - - Get size of function return address. - - @param pfn: pointer to function structure, can't be NULL (C++: const - func_t *) - - -ida_frame.get_frame_size(): - - 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: pointer to function structure, may be NULL (C++: const - func_t *) - @return: size of frame in bytes or zero - - -ida_frame.get_func_by_frame(): - - get_func_by_frame(frame_id) -> ea_t - - - Get function by its frame id.this function works only with databases - created by IDA > 5.6 - - @param frame_id: id of the function frame (C++: tid_t) - @return: start address of the function or BADADDR - - -ida_frame.get_min_spd_ea(): - - get_min_spd_ea(pfn) -> ea_t - - -ida_frame.get_sp_delta(): - - get_sp_delta(pfn, ea) -> sval_t - - - Get modification of SP made at the specified location - - @param pfn: pointer to function. may be NULL. (C++: func_t *) - @param ea: linear address (C++: ea_t) - @return: 0 if the specified location doesn't contain a SP change - point. otherwise return delta of SP modification. - - -ida_frame.get_spd(): - - get_spd(pfn, ea) -> sval_t - - - Get difference between the initial and current values of ESP. - - @param pfn: pointer to function. may be NULL. (C++: func_t *) - @param ea: linear address of an instruction (C++: ea_t) - @return: 0 or the difference, usually a negative number. returns the - sp-diff before executing the instruction. - - -ida_frame.get_stkvar(): - - get_stkvar(insn, op, v) -> PyObject * - - - Get pointer to stack variable - @param op: reference to instruction operand - @param v: immediate value in the operand (usually op.addr) - @return: - - None on failure - - tuple(member_t, actval) - where actval: actual value used to fetch stack variable - - -ida_frame.has_regvar(): - - has_regvar(pfn, ea) -> bool - - - Is there a register variable definition? - - @param pfn: function in question (C++: func_t *) - @param ea: current address (C++: ea_t) - - -ida_frame.is_funcarg_off(): - - is_funcarg_off(pfn, frameoff) -> bool - - - Does the given offset lie within the arguments section? - - - @param pfn (C++: const func_t *) - @param frameoff (C++: uval_t) - - -class ida_frame.llabel_t(): - - Proxy of C++ llabel_t class - - -ida_frame.llabel_t.ea: - llabel_t_ea_get(self) -> ea_t - -ida_frame.llabel_t.name: - llabel_t_name_get(self) -> char * - -ida_frame.lvar_off(): - - lvar_off(pfn, frameoff) -> sval_t - - - Does the given offset lie within the local variables section? - - - @param pfn (C++: const func_t *) - @param frameoff (C++: uval_t) - - -ida_frame.recalc_spd(): - - 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: linear address of the current instruction (C++: ea_t) - - -class ida_frame.regvar_t(): - - Proxy of C++ regvar_t class - - -ida_frame.regvar_t._print(): - - _print(self) -> size_t - - -ida_frame.regvar_t.canon: - regvar_t_canon_get(self) -> char * - -ida_frame.regvar_t.clear(): - - clear(self) - - -ida_frame.regvar_t.cmt: - regvar_t_cmt_get(self) -> char * - -ida_frame.regvar_t.compare(): - - compare(self, r) -> int - - -ida_frame.regvar_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_frame.regvar_t.empty(): - - empty(self) -> bool - - -ida_frame.regvar_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_frame.regvar_t.extend(): - - extend(self, ea) - - -ida_frame.regvar_t.intersect(): - - intersect(self, r) - - -ida_frame.regvar_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_frame.regvar_t.size(): - - size(self) -> asize_t - - -ida_frame.regvar_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_frame.regvar_t.user: - regvar_t_user_get(self) -> char * - -ida_frame.rename_regvar(): - - rename_regvar(pfn, v, user) -> int - - - Rename a register variable. - - @param pfn: function in question (C++: func_t *) - @param v: variable to rename (C++: regvar_t *) - @param user: new user-defined name for the register (C++: const char - *) - @return: Register variable error codes - - -ida_frame.set_frame_size(): - - 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 - get_struc_size(get_frame(pfn)). - - @param pfn: pointer to function structure (C++: func_t *) - @param frsize: size of function local variables (C++: asize_t) - @param frregs: size of saved registers (C++: ushort) - @param argsize: size of function arguments that will be purged from - the stack upon return (C++: asize_t) - @return: success - - -ida_frame.set_purged(): - - 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: address of the function of item (C++: ea_t) - @param nbytes: number of purged bytes (C++: int) - @param override_old_value: may overwrite old information about purged - bytes (C++: bool) - @return: success - - -ida_frame.set_regvar_cmt(): - - set_regvar_cmt(pfn, v, cmt) -> int - - - Set comment for a register variable. - - @param pfn: function in question (C++: func_t *) - @param v: variable to rename (C++: regvar_t *) - @param cmt: new comment (C++: const char *) - @return: Register variable error codes - - -ida_frame.soff_to_fpoff(): - - soff_to_fpoff(pfn, soff) -> sval_t - - - Convert struct offsets into fp-relative offsets. This function - converts the offsets inside the 'struc_t' object into the frame - pointer offsets (for example, EBP-relative). - - @param pfn (C++: func_t *) - @param soff (C++: uval_t) - - -class ida_frame.stkpnt_t(): - - Proxy of C++ stkpnt_t class - - -ida_frame.stkpnt_t.compare(): - - compare(self, r) -> int - - -ida_frame.stkpnt_t.ea: - stkpnt_t_ea_get(self) -> ea_t - -ida_frame.stkpnt_t.spd: - stkpnt_t_spd_get(self) -> sval_t - -class ida_frame.stkpnts_t(): - - Proxy of C++ stkpnts_t class - - -ida_frame.stkpnts_t.compare(): - - compare(self, r) -> int - - -ida_frame.update_fpd(): - - update_fpd(pfn, fpd) -> bool - - - Update frame pointer delta. - - @param pfn: pointer to function structure (C++: func_t *) - @param fpd: new fpd value. cannot be bigger than the local variable - range size. (C++: asize_t) - @return: success - - -class ida_frame.xreflist_entry_t(): - - Proxy of C++ xreflist_entry_t class - - -ida_frame.xreflist_entry_t.ea: - xreflist_entry_t_ea_get(self) -> ea_t - -ida_frame.xreflist_entry_t.opnum: - xreflist_entry_t_opnum_get(self) -> uchar - -ida_frame.xreflist_entry_t.type: - xreflist_entry_t_type_get(self) -> uchar - -class ida_frame.xreflist_t(): - - Proxy of C++ qvector<(xreflist_entry_t)> class - - -ida_frame.xreflist_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_frame.xreflist_t.at(): - - at(self, _idx) -> xreflist_entry_t - - -ida_frame.xreflist_t.begin(): - - begin(self) -> xreflist_entry_t - begin(self) -> xreflist_entry_t - - -ida_frame.xreflist_t.capacity(): - - capacity(self) -> size_t - - -ida_frame.xreflist_t.clear(): - - clear(self) - - -ida_frame.xreflist_t.empty(): - - empty(self) -> bool - - -ida_frame.xreflist_t.end(): - - end(self) -> xreflist_entry_t - end(self) -> xreflist_entry_t - - -ida_frame.xreflist_t.erase(): - - erase(self, it) -> xreflist_entry_t - erase(self, first, last) -> xreflist_entry_t - - -ida_frame.xreflist_t.extract(): - - extract(self) -> xreflist_entry_t - - -ida_frame.xreflist_t.find(): - - find(self, x) -> xreflist_entry_t - find(self, x) -> xreflist_entry_t - - -ida_frame.xreflist_t.grow(): - - grow(self, x=xreflist_entry_t()) - - -ida_frame.xreflist_t.has(): - - has(self, x) -> bool - - -ida_frame.xreflist_t.inject(): - - inject(self, s, len) - - -ida_frame.xreflist_t.insert(): - - insert(self, it, x) -> xreflist_entry_t - - -ida_frame.xreflist_t.pop_back(): - - pop_back(self) - - -ida_frame.xreflist_t.push_back(): - - push_back(self, x) - push_back(self) -> xreflist_entry_t - - -ida_frame.xreflist_t.qclear(): - - qclear(self) - - -ida_frame.xreflist_t.reserve(): - - reserve(self, cnt) - - -ida_frame.xreflist_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_frame.xreflist_t.size(): - - size(self) -> size_t - - -ida_frame.xreflist_t.swap(): - - swap(self, r) - - -ida_frame.xreflist_t.truncate(): - - truncate(self) - - - -=== ida_frame EPYDOC INJECTIONS === -ida_frame.REGVAR_ERROR_ARG -""" -function arguments are bad -""" - -ida_frame.REGVAR_ERROR_NAME -""" -the provided name(s) can't be accepted -""" - -ida_frame.REGVAR_ERROR_OK -""" -all ok -""" - -ida_frame.REGVAR_ERROR_RANGE -""" -the definition range is bad -""" - -ida_frame.STKVAR_VALID_SIZE -""" -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 -""" -=== ida_frame EPYDOC INJECTIONS END === -ida_funcs.add_func(): - - 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: start address (C++: ea_t) - @param ea2: end address (C++: ea_t) - @return: success - - -ida_funcs.add_func_ex(): - - 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: ptr to filled function structure (C++: func_t *) - @return: success - - -ida_funcs.add_regarg(): - - add_regarg(pfn, reg, tif, name) - - -ida_funcs.append_func_tail(): - - 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 *) - @param ea1: start of the tail. If a tail already exists at the - specified address it must start at 'ea1' (C++: ea_t) - @param ea2: 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. (C++: ea_t) - - -ida_funcs.apply_idasgn_to(): - - apply_idasgn_to(signame, ea, is_startup) -> int - - - Apply a signature file to the specified address. - - @param signame: short name of signature file (the file name without - path) (C++: const char *) - @param ea: address to apply the signature (C++: ea_t) - @param is_startup: 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. (C++: bool) - @return: Library function codes - - -ida_funcs.apply_startup_sig(): - - apply_startup_sig(ea, startup) -> bool - - - Apply a startup signature file to the specified address. - - @param ea: address to apply the signature to; usually \inf{start_ea} - (C++: ea_t) - @param startup: the name of the signature file without path and - extension (C++: const char *) - @return: true if successfully applied the signature - - -ida_funcs.calc_func_size(): - - calc_func_size(pfn) -> asize_t - - - Calculate function size. This function takes into account all - fragments of the function. - - @param pfn: ptr to function structure (C++: func_t *) - - -ida_funcs.calc_idasgn_state(): - - calc_idasgn_state(n) -> int - - - Get state of a signature in the list of planned signatures - - @param n: number of signature in the list (0.. get_idasgn_qty() -1) - (C++: int) - @return: state of signature or IDASGN_BADARG - - -ida_funcs.calc_thunk_func_target(): - - calc_thunk_func_target(pfn) -> ea_t - - - Calculate target of a thunk function. - - @param pfn: pointer to function (may not be NULL) (C++: func_t *) - @return: the target function or BADADDR - - -ida_funcs.del_func(): - - del_func(ea) -> bool - - - Delete a function. - - @param ea: any address in the function entry chunk (C++: ea_t) - @return: success - - -ida_funcs.del_idasgn(): - - del_idasgn(n) -> int - - - Remove signature from the list of planned signatures. - - @param n: number of signature in the list (0.. get_idasgn_qty() -1) - (C++: int) - @return: IDASGN_OK , IDASGN_BADARG , IDASGN_APPLIED - - -ida_funcs.f_any(): - - f_any(arg1, arg2) -> bool - - - Helper function to accept any address. - - -ida_funcs.find_func_bounds(): - - 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 \ph{func_bounds} in order to fine tune the function - boundaries. - - @param nfn: structure to fill with information \ nfn->start_ea points - to the start address of the new function. (C++: func_t *) - @param flags: Find function bounds flags (C++: int) - @return: Find function bounds result codes - - -ida_funcs.func_contains(): - - func_contains(pfn, ea) -> bool - - - Does the given function contain the given address? - - - @param pfn (C++: func_t *) - @param ea (C++: ea_t) - - -ida_funcs.func_does_return(): - - 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) - - -ida_funcs.func_item_iterator_decode_preceding_insn(): - - func_item_iterator_decode_preceding_insn(fii, visited, p_farref, out) -> bool - - -ida_funcs.func_item_iterator_decode_prev_insn(): - - func_item_iterator_decode_prev_insn(fii, out) -> bool - - -ida_funcs.func_item_iterator_next(): - - func_item_iterator_next(fii, testf, ud) -> bool - - -ida_funcs.func_item_iterator_prev(): - - func_item_iterator_prev(fii, testf, ud) -> bool - - -class ida_funcs.func_item_iterator_t(): - - Proxy of C++ func_item_iterator_t class - - -ida_funcs.func_item_iterator_t.chunk(): - - chunk(self) -> range_t - - -ida_funcs.func_item_iterator_t.current(): - - current(self) -> ea_t - - -ida_funcs.func_item_iterator_t.decode_preceding_insn(): - - decode_preceding_insn(self, visited, p_farref, out) -> bool - - -ida_funcs.func_item_iterator_t.decode_prev_insn(): - - decode_prev_insn(self, out) -> bool - - -ida_funcs.func_item_iterator_t.first(): - - first(self) -> bool - - -ida_funcs.func_item_iterator_t.last(): - - last(self) -> bool - - -ida_funcs.func_item_iterator_t.next(): - - next(self, func, ud) -> bool - - -ida_funcs.func_item_iterator_t.next_addr(): - - next_addr(self) -> bool - - -ida_funcs.func_item_iterator_t.next_code(): - - next_code(self) -> bool - - -ida_funcs.func_item_iterator_t.next_data(): - - next_data(self) -> bool - - -ida_funcs.func_item_iterator_t.next_head(): - - next_head(self) -> bool - - -ida_funcs.func_item_iterator_t.next_not_tail(): - - next_not_tail(self) -> bool - - -ida_funcs.func_item_iterator_t.prev(): - - prev(self, func, ud) -> bool - - -ida_funcs.func_item_iterator_t.prev_addr(): - - prev_addr(self) -> bool - - -ida_funcs.func_item_iterator_t.prev_code(): - - prev_code(self) -> bool - - -ida_funcs.func_item_iterator_t.prev_data(): - - prev_data(self) -> bool - - -ida_funcs.func_item_iterator_t.prev_head(): - - prev_head(self) -> bool - - -ida_funcs.func_item_iterator_t.prev_not_tail(): - - prev_not_tail(self) -> bool - - -ida_funcs.func_item_iterator_t.set(): - - set(self, pfn, _ea=BADADDR) -> bool - - -ida_funcs.func_item_iterator_t.set_range(): - - set_range(self, ea1, ea2) -> bool - - -ida_funcs.func_parent_iterator_set(): - - func_parent_iterator_set(fpi, pfn) -> bool - - -class ida_funcs.func_parent_iterator_t(): - - Proxy of C++ func_parent_iterator_t class - - -ida_funcs.func_parent_iterator_t.first(): - - first(self) -> bool - - -ida_funcs.func_parent_iterator_t.last(): - - last(self) -> bool - - -ida_funcs.func_parent_iterator_t.next(): - - next(self) -> bool - - -ida_funcs.func_parent_iterator_t.parent(): - - parent(self) -> ea_t - - -ida_funcs.func_parent_iterator_t.prev(): - - prev(self) -> bool - - -ida_funcs.func_parent_iterator_t.reset_fnt(): - - reset_fnt(self, _fnt) - - -ida_funcs.func_parent_iterator_t.set(): - - set(self, _fnt) -> bool - - -class ida_funcs.func_t(): - - Proxy of C++ func_t class - - -ida_funcs.func_t._print(): - - _print(self) -> size_t - - -ida_funcs.func_t.analyzed_sp(): - - analyzed_sp(self) -> bool - - -ida_funcs.func_t.argsize: - func_t_argsize_get(self) -> asize_t - -ida_funcs.func_t.clear(): - - clear(self) - - -ida_funcs.func_t.color: - func_t_color_get(self) -> bgcolor_t - -ida_funcs.func_t.compare(): - - compare(self, r) -> int - - -ida_funcs.func_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_funcs.func_t.does_return(): - - does_return(self) -> bool - - -ida_funcs.func_t.empty(): - - empty(self) -> bool - - -ida_funcs.func_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_funcs.func_t.extend(): - - extend(self, ea) - - -ida_funcs.func_t.flags: - func_t_flags_get(self) -> uint64 - -ida_funcs.func_t.fpd: - func_t_fpd_get(self) -> asize_t - -ida_funcs.func_t.frame: - func_t_frame_get(self) -> uval_t - -ida_funcs.func_t.frregs: - func_t_frregs_get(self) -> ushort - -ida_funcs.func_t.frsize: - func_t_frsize_get(self) -> asize_t - -ida_funcs.func_t.intersect(): - - intersect(self, r) - - -ida_funcs.func_t.is_far(): - - is_far(self) -> bool - - -ida_funcs.func_t.llabelqty: - func_t_llabelqty_get(self) -> int - -ida_funcs.func_t.llabels: - func_t_llabels_get(self) -> llabel_t * - -ida_funcs.func_t.need_prolog_analysis(): - - need_prolog_analysis(self) -> bool - - -ida_funcs.func_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_funcs.func_t.owner: - func_t_owner_get(self) -> ea_t - -ida_funcs.func_t.pntqty: - func_t_pntqty_get(self) -> uint32 - -ida_funcs.func_t.points: - - __get_points__(self) -> stkpnt_array - - -ida_funcs.func_t.referers: - func_t_referers_get(self) -> ea_t * - -ida_funcs.func_t.refqty: - func_t_refqty_get(self) -> int - -ida_funcs.func_t.regargqty: - func_t_regargqty_get(self) -> int - -ida_funcs.func_t.regargs: - func_t_regargs_get(self) -> regarg_t - -ida_funcs.func_t.regvarqty: - func_t_regvarqty_get(self) -> int - -ida_funcs.func_t.regvars: - - __get_regvars__(self) -> regvar_array - - -ida_funcs.func_t.size(): - - size(self) -> asize_t - - -ida_funcs.func_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_funcs.func_t.tailqty: - func_t_tailqty_get(self) -> int - -ida_funcs.func_t.tails: - - __get_tails__(self) -> range_array - - -ida_funcs.func_t__from_ptrval__(): - - func_t__from_ptrval__(ptrval) -> func_t - - -ida_funcs.func_tail_iterator_set(): - - func_tail_iterator_set(fti, pfn, ea) -> bool - - -ida_funcs.func_tail_iterator_set_ea(): - - func_tail_iterator_set_ea(fti, ea) -> bool - - -class ida_funcs.func_tail_iterator_t(): - - Proxy of C++ func_tail_iterator_t class - - -ida_funcs.func_tail_iterator_t.chunk(): - - chunk(self) -> range_t - - -ida_funcs.func_tail_iterator_t.first(): - - first(self) -> bool - - -ida_funcs.func_tail_iterator_t.last(): - - last(self) -> bool - - -ida_funcs.func_tail_iterator_t.main(): - - main(self) -> bool - - -ida_funcs.func_tail_iterator_t.next(): - - next(self) -> bool - - -ida_funcs.func_tail_iterator_t.prev(): - - prev(self) -> bool - - -ida_funcs.func_tail_iterator_t.set(): - - set(self, _pfn, ea=BADADDR) -> bool - - -ida_funcs.func_tail_iterator_t.set_ea(): - - set_ea(self, ea) -> bool - - -ida_funcs.func_tail_iterator_t.set_range(): - - set_range(self, ea1, ea2) -> bool - - -ida_funcs.get_current_idasgn(): - - get_current_idasgn() -> int - - - Get number of the the current signature. - - @return: 0..n-1 - - -ida_funcs.get_fchunk(): - - get_fchunk(ea) -> func_t - - - Get pointer to function chunk structure by address. - - @param ea: any address in a function chunk (C++: ea_t) - @return: ptr to a function chunk or NULL. This function may return a - function entry as well as a function tail. - - -ida_funcs.get_fchunk_num(): - - get_fchunk_num(ea) -> int - - - Get ordinal number of a function chunk in the global list of function - chunks. - - @param ea: any address in the function chunk (C++: ea_t) - @return: number of function chunk (0.. get_fchunk_qty() -1). -1 means - 'no function chunk at the specified address'. - - -ida_funcs.get_fchunk_qty(): - - get_fchunk_qty() -> size_t - - - Get total number of function chunks in the program. - - -ida_funcs.get_fchunk_referer(): - - get_fchunk_referer(ea, idx) -> ea_t - - -ida_funcs.get_func(): - - get_func(ea) -> func_t - - - Get pointer to function structure by address. - - @param ea: any address in a function (C++: ea_t) - @return: ptr to a function or NULL. This function returns a function - entry chunk. - - -ida_funcs.get_func_bitness(): - - get_func_bitness(pfn) -> int - - - Get function bitness (which is equal to the function segment bitness). - pfn==NULL => returns 0 - - @param pfn (C++: const func_t *) - - -ida_funcs.get_func_bits(): - - get_func_bits(pfn) -> int - - - Get number of bits in the function addressing. - - - @param pfn (C++: const func_t *) - - -ida_funcs.get_func_bytes(): - - get_func_bytes(pfn) -> int - - - Get number of bytes in the function addressing. - - - @param pfn (C++: const func_t *) - - -ida_funcs.get_func_chunknum(): - - get_func_chunknum(pfn, ea) -> int - - - Get the containing tail chunk of 'ea'. - - @param pfn (C++: func_t *) - @param ea (C++: ea_t) - - -ida_funcs.get_func_cmt(): - - get_func_cmt(pfn, repeatable) -> ssize_t - - - Get function comment. - - @param pfn: ptr to function structure (C++: const func_t *) - @param repeatable: get repeatable comment? (C++: bool) - @return: size of comment or -1 In fact this function works with - function chunks too. - - -ida_funcs.get_func_name(): - - get_func_name(ea) -> ssize_t - - - Get function name. - - @param ea: any address in the function (C++: ea_t) - @return: length of the function name - - -ida_funcs.get_func_num(): - - get_func_num(ea) -> int - - - Get ordinal number of a function. - - @param ea: any address in the function (C++: ea_t) - @return: number of function (0.. get_func_qty() -1). -1 means 'no - function at the specified address'. - - -ida_funcs.get_func_qty(): - - get_func_qty() -> size_t - - - Get total number of functions in the program. - - -ida_funcs.get_func_ranges(): - - get_func_ranges(ranges, pfn) -> ea_t - - - Get function ranges. - - @param ranges: buffer to receive the range info (C++: rangeset_t *) - @param pfn: ptr to function structure (C++: func_t *) - @return: end address of the last function range (BADADDR-error) - - -ida_funcs.get_idasgn_desc(): - - get_idasgn_desc(n) -> PyObject * - - - 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) - - -ida_funcs.get_idasgn_desc_with_matches(): - - get_idasgn_desc_with_matches(n) -> PyObject * - - - 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) - - -ida_funcs.get_idasgn_qty(): - - get_idasgn_qty() -> int - - - Get number of signatures in the list of planned and applied - signatures. - - @return: 0..n - - -ida_funcs.get_idasgn_title(): - - get_idasgn_title(name) -> ssize_t - - - Get full description of the signature by its short name. - - @param name: short name of a signature (C++: const char *) - @return: size of signature description or -1 - - -ida_funcs.get_next_fchunk(): - - get_next_fchunk(ea) -> func_t - - - Get pointer to the next function chunk in the global list. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to function chunk or NULL if next function chunk doesn't - exist - - -ida_funcs.get_next_func(): - - get_next_func(ea) -> func_t - - - Get pointer to the next function. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to function or NULL if next function doesn't exist - - -ida_funcs.get_next_func_addr(): - - get_next_func_addr(pfn, ea) -> ea_t - - -ida_funcs.get_prev_fchunk(): - - get_prev_fchunk(ea) -> func_t - - - Get pointer to the previous function chunk in the global list. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to function chunk or NULL if previous function chunk - doesn't exist - - -ida_funcs.get_prev_func(): - - get_prev_func(ea) -> func_t - - - Get pointer to the previous function. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to function or NULL if previous function doesn't exist - - -ida_funcs.get_prev_func_addr(): - - get_prev_func_addr(pfn, ea) -> ea_t - - -ida_funcs.getn_fchunk(): - - getn_fchunk(n) -> func_t - - - Get pointer to function chunk structure by number. - - @param n: number of function chunk, is in range 0.. get_fchunk_qty() - -1 (C++: int) - @return: ptr to a function chunk or NULL. This function may return a - function entry as well as a function tail. - - -ida_funcs.getn_func(): - - getn_func(n) -> func_t - - - Get pointer to function structure by number. - - @param n: number of function, is in range 0.. get_func_qty() -1 (C++: - size_t) - @return: ptr to a function or NULL. This function returns a function - entry chunk. - - -ida_funcs.is_finally_visible_func(): - - is_finally_visible_func(pfn) -> bool - - - Is the function visible (event after considering 'SCF_SHHID_FUNC' )? - - - @param pfn (C++: func_t *) - - -ida_funcs.is_func_entry(): - - is_func_entry(pfn) -> bool - - - Does function describe a function entry chunk? - - - @param pfn (C++: const func_t *) - - -ida_funcs.is_func_locked(): - - is_func_locked(pfn) -> bool - - - Is the function pointer locked? - - - @param pfn (C++: const func_t *) - - -ida_funcs.is_func_tail(): - - is_func_tail(pfn) -> bool - - - Does function describe a function tail chunk? - - - @param pfn (C++: const func_t *) - - -ida_funcs.is_same_func(): - - is_same_func(ea1, ea2) -> bool - - - Do two addresses belong to the same function? - - - @param ea1 (C++: ea_t) - @param ea2 (C++: ea_t) - - -ida_funcs.is_visible_func(): - - is_visible_func(pfn) -> bool - - - Is the function visible (not hidden)? - - - @param pfn (C++: func_t *) - - -class ida_funcs.lock_func(): - - Proxy of C++ lock_func class - - -ida_funcs.lock_func_range(): - - 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 *) - @param lock (C++: bool) - - -ida_funcs.plan_to_apply_idasgn(): - - plan_to_apply_idasgn(fname) -> int - - - Add a signature file to the list of planned signature files. - - @param fname: file name. should not contain directory part. (C++: - const char *) - @return: 0 if failed, otherwise number of planned (and applied) - signatures - - -class ida_funcs.range_array(): - - Proxy of C++ dynamic_wrapped_array_t<(range_t)> class - - -ida_funcs.range_array.count: - range_array_count_get(self) -> size_t - -ida_funcs.range_array.data: - range_array_data_get(self) -> range_t - -ida_funcs.read_regargs(): - - read_regargs(pfn) - - -ida_funcs.reanalyze_function(): - - 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: pointer to a function (C++: func_t *) - @param ea1: start of the range to analyze (C++: ea_t) - @param ea2: end of range to analyze (C++: ea_t) - @param analyze_parents: 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. (C++: bool) - - -ida_funcs.reanalyze_noret_flag(): - - 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) - - -class ida_funcs.regarg_t(): - - Proxy of C++ regarg_t class - - -ida_funcs.regarg_t.name: - regarg_t_name_get(self) -> char * - -ida_funcs.regarg_t.reg: - regarg_t_reg_get(self) -> int - -ida_funcs.regarg_t.type: - regarg_t_type_get(self) -> type_t * - -class ida_funcs.regvar_array(): - - Proxy of C++ dynamic_wrapped_array_t<(regvar_t)> class - - -ida_funcs.regvar_array.count: - regvar_array_count_get(self) -> size_t - -ida_funcs.regvar_array.data: - regvar_array_data_get(self) -> regvar_t * - -ida_funcs.remove_func_tail(): - - 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 *) - @param tail_ea (C++: ea_t) - - -ida_funcs.set_func_cmt(): - - set_func_cmt(pfn, cmt, repeatable) -> bool - - - Set function comment. This function works with function chunks too. - - @param pfn: ptr to function structure (C++: const func_t *) - @param cmt: comment string, may be multiline (with ' '). Use empty - str ("") to delete comment (C++: const char *) - @param repeatable: set repeatable comment? (C++: bool) - - -ida_funcs.set_func_end(): - - set_func_end(ea, newend) -> bool - - - Move function chunk end address. - - @param ea: any address in the function (C++: ea_t) - @param newend: new end address of the function (C++: ea_t) - @return: success - - -ida_funcs.set_func_name_if_jumpfunc(): - - set_func_name_if_jumpfunc(pfn, oldname) -> int - - - Give a meaningful name to function if it consists of only 'jump' - instruction. - - @param pfn: pointer to function (may be NULL) (C++: func_t *) - @param oldname: 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 NULL. (C++: const char *) - @return: success - - -ida_funcs.set_func_start(): - - set_func_start(ea, newstart) -> int - - - Move function chunk start address. - - @param ea: any address in the function (C++: ea_t) - @param newstart: new end address of the function (C++: ea_t) - @return: Function move result codes - - -ida_funcs.set_noret_insn(): - - 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 - - -ida_funcs.set_tail_owner(): - - set_tail_owner(fnt, func_start) -> bool - - - Set a function as the possessing function of a function tail. The - function should already refer to the tail (after append_func_tail). - - @param fnt (C++: func_t *) - @param func_start (C++: ea_t) - - -ida_funcs.set_visible_func(): - - set_visible_func(pfn, visible) - - - Set visibility of function. - - - @param pfn (C++: func_t *) - @param visible (C++: bool) - - -class ida_funcs.stkpnt_array(): - - Proxy of C++ dynamic_wrapped_array_t<(stkpnt_t)> class - - -ida_funcs.stkpnt_array.count: - stkpnt_array_count_get(self) -> size_t - -ida_funcs.stkpnt_array.data: - stkpnt_array_data_get(self) -> stkpnt_t * - -ida_funcs.try_to_add_libfunc(): - - 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: any address in the program (C++: ea_t) - @return: Library function codes - - -ida_funcs.update_func(): - - 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: ptr to function structure (C++: func_t *) - @return: success - - - -=== ida_funcs EPYDOC INJECTIONS === -ida_funcs.FIND_FUNC_DEFINE -""" -create instruction if undefined byte is encountered -""" - -ida_funcs.FIND_FUNC_EXIST -""" -its bounds are returned in 'nfn'. - -function exists already. -""" - -ida_funcs.FIND_FUNC_IGNOREFN -""" -ignore existing function boundaries. by default the function returns -function boundaries if ea belongs to a function. -""" - -ida_funcs.FIND_FUNC_KEEPBD -""" -just create instructions inside the boundaries. - -do not modify incoming function boundaries, -""" - -ida_funcs.FIND_FUNC_NORMAL -""" -stop processing if undefined byte is encountered -""" - -ida_funcs.FIND_FUNC_OK -""" -ok, 'nfn' is ready for 'add_func()' -""" - -ida_funcs.FIND_FUNC_UNDEF -""" -nfn->end_ea will have the address of the unexplored byte. - -function has instructions that pass execution flow to unexplored -bytes. -""" - -ida_funcs.FUNC_BOTTOMBP -""" -BP points to the bottom of the stack frame. -""" - -ida_funcs.FUNC_FAR -""" -Far function. -""" - -ida_funcs.FUNC_FRAME -""" -Function uses frame pointer (BP) -""" - -ida_funcs.FUNC_FUZZY_SP -""" -for example: and esp, 0FFFFFFF0h - -Function changes SP in untraceable way, -""" - -ida_funcs.FUNC_HIDDEN -""" -A hidden function chunk. -""" - -ida_funcs.FUNC_LIB -""" -Library function. -""" - -ida_funcs.FUNC_LUMINA -""" -Function info is provided by Lumina. -""" - -ida_funcs.FUNC_NORET -""" -Function doesn't return. -""" - -ida_funcs.FUNC_NORET_PENDING -""" -This flag is verified upon 'func_does_return()' - -Function 'non-return' analysis must be performed. -""" - -ida_funcs.FUNC_PROLOG_OK -""" -by last SP-analysis - -Prolog analysis has be performed -""" - -ida_funcs.FUNC_PURGED_OK -""" -'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. -""" - -ida_funcs.FUNC_SP_READY -""" -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 -""" - -ida_funcs.FUNC_STATICDEF -""" -Static function. -""" - -ida_funcs.FUNC_TAIL -""" -This is a function tail. Other bits must be clear (except -'FUNC_HIDDEN' ). -""" - -ida_funcs.FUNC_THUNK -""" -Thunk (jump) function. -""" - -ida_funcs.FUNC_USERFAR -""" -of the function - -User has specified far-ness -""" - -ida_funcs.IDASGN_APPLIED -""" -signature is already applied -""" - -ida_funcs.IDASGN_BADARG -""" -bad number of signature -""" - -ida_funcs.IDASGN_CURRENT -""" -signature is currently being applied -""" - -ida_funcs.IDASGN_OK -""" -ok -""" - -ida_funcs.IDASGN_PLANNED -""" -signature is planned to be applied -""" - -ida_funcs.LIBFUNC_DELAY -""" -no decision because of lack of information -""" - -ida_funcs.LIBFUNC_FOUND -""" -ok, library function is found -""" - -ida_funcs.LIBFUNC_NONE -""" -no, this is not a library function -""" - -ida_funcs.MOVE_FUNC_BADSTART -""" -bad new start address -""" - -ida_funcs.MOVE_FUNC_NOCODE -""" -no instruction at 'newstart' -""" - -ida_funcs.MOVE_FUNC_NOFUNC -""" -no function at 'ea' -""" - -ida_funcs.MOVE_FUNC_OK -""" -ok -""" - -ida_funcs.MOVE_FUNC_REFUSED -""" -a plugin refused the action -""" -=== ida_funcs EPYDOC INJECTIONS END === -class ida_gdl.BasicBlock(): - - Basic block class. It is returned by the Flowchart class - - -ida_gdl.BasicBlock.preds(): - - Iterates the predecessors list - - -ida_gdl.BasicBlock.succs(): - - Iterates the successors list - - -class ida_gdl.FlowChart(): - - Flowchart class used to determine basic blocks. - Check ex_gdl_qflow_chart.py for sample usage. - - -ida_gdl.FlowChart.refresh(): - - Refreshes the flow chart - - -ida_gdl.display_gdl(): - - 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()' . - - @param fname (C++: const char *) - @return: error code from os, 0 if ok - - -ida_gdl.gen_complex_call_chart(): - - gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1) -> bool - - - Build and display a complex xref graph. - - @param filename: output file name. the file extension is not used. - maybe NULL. (C++: const char *) - @param wait: message to display during graph building (C++: const char - *) - @param title: graph title (C++: const char *) - @param ea1: address range (C++: ea_t) - @param ea2: address range (C++: ea_t) - @param flags: 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. (C++: int) - @param recursion_depth: optional limit of recursion (C++: int32) - @return: success. if fails, a warning message is displayed on the - screen - - -ida_gdl.gen_flow_graph(): - - gen_flow_graph(filename, title, pfn, ea1, ea2, gflags) -> bool - - - Build and display a flow graph. - - @param filename: output file name. the file extension is not used. - maybe NULL. (C++: const char *) - @param title: graph title (C++: const char *) - @param pfn: function to graph (C++: func_t *) - @param ea1: if pfn == NULL, then the address range (C++: ea_t) - @param ea2: if pfn == NULL, then the address range (C++: ea_t) - @param gflags: combination of Flow graph building flags . if none of - CHART_GEN_DOT , CHART_GEN_GDL , CHART_WINGRAPH is - specified, the function will return false (C++: int) - @return: success. if fails, a warning message is displayed on the - screen - - -ida_gdl.gen_gdl(): - - gen_gdl(g, fname) - - - Create GDL file for graph. - - - @param g (C++: const gdl_graph_t *) - @param fname (C++: const char *) - - -ida_gdl.gen_simple_call_chart(): - - gen_simple_call_chart(filename, wait, title, gflags) -> bool - - - Build and display a simple function call graph. - - @param filename: output file name. the file extension is not used. - maybe NULL. (C++: const char *) - @param wait: message to display during graph building (C++: const char - *) - @param title: graph title (C++: const char *) - @param gflags: 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. (C++: int) - @return: success. if fails, a warning message is displayed on the - screen - - -ida_gdl.is_noret_block(): - - is_noret_block(btype) -> bool - - - Does this block never return? - - - @param btype (C++: fc_block_type_t) - - -ida_gdl.is_ret_block(): - - is_ret_block(btype) -> bool - - - Does this block return? - - - @param btype (C++: fc_block_type_t) - - -class ida_gdl.node_iterator(): - - Proxy of C++ node_iterator class - - -class ida_gdl.qbasic_block_t(): - - Proxy of C++ qbasic_block_t class - - -ida_gdl.qbasic_block_t._print(): - - _print(self) -> size_t - - -ida_gdl.qbasic_block_t.clear(): - - clear(self) - - -ida_gdl.qbasic_block_t.compare(): - - compare(self, r) -> int - - -ida_gdl.qbasic_block_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_gdl.qbasic_block_t.empty(): - - empty(self) -> bool - - -ida_gdl.qbasic_block_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_gdl.qbasic_block_t.extend(): - - extend(self, ea) - - -ida_gdl.qbasic_block_t.intersect(): - - intersect(self, r) - - -ida_gdl.qbasic_block_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_gdl.qbasic_block_t.size(): - - size(self) -> asize_t - - -ida_gdl.qbasic_block_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -class ida_gdl.qflow_chart_t(): - - Proxy of C++ qflow_chart_t class - - -ida_gdl.qflow_chart_t.append_to_flowchart(): - - append_to_flowchart(self, ea1, ea2) - - -ida_gdl.qflow_chart_t.bounds: - qflow_chart_t_bounds_get(self) -> range_t - -ida_gdl.qflow_chart_t.calc_block_type(): - - calc_block_type(self, blknum) -> fc_block_type_t - - -ida_gdl.qflow_chart_t.create(): - - create(self, _title, _pfn, _ea1, _ea2, _flags) - create(self, _title, ranges, _flags) - - -ida_gdl.qflow_chart_t.flags: - qflow_chart_t_flags_get(self) -> int - -ida_gdl.qflow_chart_t.get_node_label(): - - get_node_label(self, arg2, arg3, arg4) -> char * - - -ida_gdl.qflow_chart_t.is_noret_block(): - - is_noret_block(self, blknum) -> bool - - -ida_gdl.qflow_chart_t.is_ret_block(): - - is_ret_block(self, blknum) -> bool - - -ida_gdl.qflow_chart_t.npred(): - - npred(self, node) -> int - - -ida_gdl.qflow_chart_t.nproper: - qflow_chart_t_nproper_get(self) -> int - -ida_gdl.qflow_chart_t.nsucc(): - - nsucc(self, node) -> int - - -ida_gdl.qflow_chart_t.pfn: - qflow_chart_t_pfn_get(self) -> func_t * - -ida_gdl.qflow_chart_t.pred(): - - pred(self, node, i) -> int - - -ida_gdl.qflow_chart_t.print_names(): - - print_names(self) -> bool - - -ida_gdl.qflow_chart_t.print_node_attributes(): - - print_node_attributes(self, arg2, arg3) - - -ida_gdl.qflow_chart_t.refresh(): - - refresh(self) - - -ida_gdl.qflow_chart_t.size(): - - size(self) -> int - - -ida_gdl.qflow_chart_t.succ(): - - succ(self, node, i) -> int - - -ida_gdl.qflow_chart_t.title: - qflow_chart_t_title_get(self) -> qstring * - - -=== ida_gdl EPYDOC INJECTIONS === -ida_gdl.CHART_FOLLOW_DIRECTION -""" -analyze references to added blocks only in the direction of the -reference who discovered the current block -""" - -ida_gdl.CHART_GEN_DOT -""" -generate .dot file (file extension is forced to .dot) -""" - -ida_gdl.CHART_GEN_GDL -""" -generate .gdl file (file extension is forced to .gdl) -""" - -ida_gdl.CHART_IGNORE_LIB_FROM -""" -ignore references from library functions -""" - -ida_gdl.CHART_IGNORE_LIB_TO -""" -ignore references to library functions -""" - -ida_gdl.CHART_NOLIBFUNCS -""" -don't include library functions in the graph -""" - -ida_gdl.CHART_PRINT_DOTS -""" -print dots if xrefs exist outside of the range recursion depth -""" - -ida_gdl.CHART_PRINT_NAMES -""" -print labels for each block? -""" - -ida_gdl.CHART_RECURSIVE -""" -analyze added blocks -""" - -ida_gdl.CHART_REFERENCED -""" -references from the addresses in the list -""" - -ida_gdl.CHART_REFERENCING -""" -references to the addresses in the list -""" - -ida_gdl.CHART_WINGRAPH -""" -call grapher to display the graph -""" - -ida_gdl.FC_APPND -""" -multirange flowchart (set by append_to_flowchart) -""" - -ida_gdl.FC_CHKBREAK -""" -build_qflow_chart() may be aborted by user -""" - -ida_gdl.FC_NOEXT -""" -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 -""" - -ida_gdl.FC_PREDS -""" -compute predecessor lists -""" - -ida_gdl.FC_PRINT -""" -print names (used only by display_flow_chart()) -""" -=== ida_gdl EPYDOC INJECTIONS END === -ida_graph.GraphViewer.AddEdge(): - - Creates an edge between two given node ids - - -ida_graph.GraphViewer.AddNode(): - - Creates a node associated with the given object and returns the node id - - -ida_graph.GraphViewer.Clear(): - - Clears all the nodes and edges - - -ida_graph.GraphViewer.Close(): - - Closes the graph. - It is possible to call Show() again (which will recreate the graph) - - -ida_graph.GraphViewer.Count(): - - Returns the node count - - -ida_graph.GraphViewer.CreateGroups(): - - 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). - - -ida_graph.GraphViewer.DelNodesInfos(): - - Delete the properties for the given node(s). - - @param nodes: A list of node IDs - - -ida_graph.GraphViewer.DeleteGroups(): - - 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. - - -ida_graph.GraphViewer.GetNodeInfo(): - - Get the properties for the given node. - - @param node: The index of the node. - @return: A tuple (bg_color, frame_color, ea, text), or None. - - -ida_graph.GraphViewer.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_graph.GraphViewer.OnRefresh(): - - 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. - - -ida_graph.GraphViewer.Refresh(): - - Refreshes the view. This causes the OnRefresh() to be called - - -ida_graph.GraphViewer.Select(): - - Selects a node on the graph - - -ida_graph.GraphViewer.SetCurrentRendererType(): - - Set the current view's renderer. - - @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. - - -ida_graph.GraphViewer.SetGroupsVisibility(): - - 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. - - -ida_graph.GraphViewer.SetNodeInfo(): - - 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. - - -ida_graph.GraphViewer.SetNodesInfos(): - - 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. - - -ida_graph.GraphViewer.Show(): - - Shows an existing graph or creates a new one - - @return: Boolean - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.create_desktop_widget(): - - create_desktop_widget(self, title, cfg) -> PyObject * - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.current_widget_changed(): - - current_widget_changed(self, widget, prev_widget) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.database_inited(): - - database_inited(self, is_new_database, idc_script) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.debugger_menu_change(): - - debugger_menu_change(self, enable) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.finish_populating_widget_popup(): - - finish_populating_widget_popup(self, widget, popup_handle, ctx=None) - - - The UI is about to be done populating the TWidget's popup menu. - Now is a good time to call idaapi.attach_action_to_popup() - - @param widget: The widget - @param popup: The popup menu. - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.get_chooser_item_attrs(): - - get_chooser_item_attrs(self, chooser, n, attrs) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.get_custom_viewer_hint(): - - get_custom_viewer_hint(self, viewer, place) -> PyObject * - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.get_ea_hint(): - - get_ea_hint(self, ea) -> PyObject * - - - The UI wants to display a simple hint for an address in the navigation band - - @param ea: The address - @return: String with the hint or None - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.get_item_hint(): - - get_item_hint(self, ea, max_lines) -> PyObject * - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.get_widget_config(): - - get_widget_config(self, widget, cfg) -> PyObject * - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.hook(): - - hook(self) -> bool - - - Creates an UI hook - - @return: Boolean true on success - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.idcstart(): - - idcstart(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.idcstop(): - - idcstop(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.plugin_loaded(): - - plugin_loaded(self, plugin_info) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.plugin_unloading(): - - plugin_unloading(self, plugin_info) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.postprocess_action(): - - postprocess_action(self) - - - An ida ui action has been handled - - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.preprocess_action(): - - preprocess_action(self, name) - - - IDA ui is about to handle a user action - - @param name: ui action name - (these names can be looked up in ida[tg]ui.cfg) - @return: 0-ok, nonzero - a plugin has handled the action - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.range(): - - range(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.ready_to_run(): - - ready_to_run(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.resume(): - - resume(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.saved(): - - saved(self) - - - The kernel has saved the database. - - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.saving(): - - saving(self) - - - The kernel is saving the database. - - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.screen_ea_changed(): - - screen_ea_changed(self, ea, prev_ea) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.set_widget_config(): - - set_widget_config(self, widget, cfg) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.suspend(): - - suspend(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.term(): - - term(self) - - - IDA is terminated and the database is already closed. - The UI may close its windows in this callback. - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.unhook(): - - unhook(self) -> bool - - - Removes the UI hook - @return: Boolean true on success - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.updated_actions(): - - updated_actions(self) - - - The UI is done updating actions. - - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.updating_actions(): - - updating_actions(self, ctx) - - - The UI is about to batch-update some actions. - - @param ctx: The action_update_ctx_t instance - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.widget_closing(): - - widget_closing(self, widget) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.widget_invisible(): - - widget_invisible(self, widget) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.widget_visible(): - - widget_visible(self, widget) - - -ida_graph.GraphViewer.hook(): - - hook(self) -> bool - - -ida_graph.GraphViewer.unhook(): - - unhook(self) -> bool - - -ida_graph.GraphViewer.view_created(): - - view_created(self, view) - - -class ida_graph.TPointDouble(): - - Proxy of C++ TPointDouble class - - -ida_graph.TPointDouble.add(): - - add(self, r) - - -ida_graph.TPointDouble.negate(): - - negate(self) - - -ida_graph.TPointDouble.sub(): - - sub(self, r) - - -ida_graph.TPointDouble.x: - TPointDouble_x_get(self) -> double - -ida_graph.TPointDouble.y: - TPointDouble_y_get(self) -> double - -ida_graph.calc_dist(): - - calc_dist(p, q) -> double - - - Calculate distance between p and q. - - - @param p (C++: point_t) - @param q (C++: point_t) - - -ida_graph.clr_node_info(): - - clr_node_info(gid, node, flags) - - - Clear node info for the given node. - - @param gid: id of desired graph (C++: graph_id_t) - @param node: node number (C++: int) - @param flags: combination of Node info flags , identifying which - fields of node_info_t will be cleared (C++: uint32) - - -ida_graph.create_disasm_graph(): - - create_disasm_graph(ea) -> mutable_graph_t - create_disasm_graph(ranges) -> mutable_graph_t - - - Create a graph for the function that contains 'ea'. - - - @param ea (C++: ea_t) - - -ida_graph.create_graph_viewer(): - - create_graph_viewer(title, id, callback, ud, title_height, parent=None) -> graph_viewer_t * - - - Create a custom graph viewer. - - @param title: the widget title (C++: const char *) - @param id: graph id (C++: uval_t) - @param callback: callback to handle graph notifications ( - graph_notification_t ) (C++: hook_cb_t *) - @param ud: user data passed to callback (C++: void *) - @param title_height: node title height (C++: int) - @param parent (C++: TWidget *) - @return: new viewer - - -ida_graph.create_mutable_graph(): - - create_mutable_graph(id) -> mutable_graph_t - - - Create a new empty graph with given id. - - - @param id (C++: uval_t) - - -ida_graph.create_user_graph_place(): - - 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) - - -ida_graph.del_node_info(): - - del_node_info(gid, node) - - - Delete the 'node_info_t' for the given node. - - - @param gid (C++: graph_id_t) - @param node (C++: int) - - -ida_graph.delete_mutable_graph(): - - delete_mutable_graph(g) - - - Delete graph object.use this only if you are dealing with - 'mutable_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++: mutable_graph_t *) - - -class ida_graph.edge_info_t(): - - Proxy of C++ edge_info_t class - - -ida_graph.edge_info_t.color: - edge_info_t_color_get(self) -> bgcolor_t - -ida_graph.edge_info_t.dstoff: - edge_info_t_dstoff_get(self) -> int - -ida_graph.edge_info_t.layout: - edge_info_t_layout_get(self) -> pointseq_t - -ida_graph.edge_info_t.reverse_layout(): - - reverse_layout(self) - - -ida_graph.edge_info_t.srcoff: - edge_info_t_srcoff_get(self) -> int - -ida_graph.edge_info_t.width: - edge_info_t_width_get(self) -> int - -class ida_graph.edge_infos_wrapper_t(): - - Proxy of C++ edge_infos_wrapper_t class - - -ida_graph.edge_infos_wrapper_t.clear(): - - clear(self) - - -ida_graph.edge_infos_wrapper_t.ptr: - edge_infos_wrapper_t_ptr_get(self) -> edge_infos_t * - -class ida_graph.edge_layout_point_t(): - - Proxy of C++ edge_layout_point_t class - - -ida_graph.edge_layout_point_t.compare(): - - compare(self, r) -> int - - -ida_graph.edge_layout_point_t.e: - edge_layout_point_t_e_get(self) -> edge_t - -ida_graph.edge_layout_point_t.pidx: - edge_layout_point_t_pidx_get(self) -> int - -class ida_graph.edge_segment_t(): - - Proxy of C++ edge_segment_t class - - -ida_graph.edge_segment_t.e: - edge_segment_t_e_get(self) -> edge_t - -ida_graph.edge_segment_t.length(): - - length(self) -> size_t - - -ida_graph.edge_segment_t.nseg: - edge_segment_t_nseg_get(self) -> int - -ida_graph.edge_segment_t.toright(): - - toright(self) -> bool - - -ida_graph.edge_segment_t.x0: - edge_segment_t_x0_get(self) -> int - -ida_graph.edge_segment_t.x1: - edge_segment_t_x1_get(self) -> int - -class ida_graph.edge_t(): - - Proxy of C++ edge_t class - - -ida_graph.edge_t.dst: - edge_t_dst_get(self) -> int - -ida_graph.edge_t.src: - edge_t_src_get(self) -> int - -ida_graph.get_graph_viewer(): - - get_graph_viewer(parent) -> graph_viewer_t * - - - Get custom graph viewer for given form. - - - @param parent (C++: TWidget *) - - -ida_graph.get_node_info(): - - get_node_info(out, gid, node) -> bool - - - Get node info. - - @param out: result (C++: node_info_t *) - @param gid: id of desired graph (C++: graph_id_t) - @param node: node number (C++: int) - @return: success - - -ida_graph.get_viewer_graph(): - - get_viewer_graph(gv) -> mutable_graph_t - - - Get graph object for given custom graph viewer. - - - @param gv (C++: graph_viewer_t *) - - -class ida_graph.graph_item_t(): - - Proxy of C++ graph_item_t class - - -ida_graph.graph_item_t.b: - graph_item_t_b_get(self) -> int - -ida_graph.graph_item_t.e: - graph_item_t_e_get(self) -> edge_t - -ida_graph.graph_item_t.elp: - graph_item_t_elp_get(self) -> edge_layout_point_t - -ida_graph.graph_item_t.is_edge(): - - is_edge(self) -> bool - - -ida_graph.graph_item_t.is_node(): - - is_node(self) -> bool - - -ida_graph.graph_item_t.n: - graph_item_t_n_get(self) -> int - -ida_graph.graph_item_t.p: - graph_item_t_p_get(self) -> point_t - -ida_graph.graph_item_t.type: - graph_item_t_type_get(self) -> graph_item_type_t - -class ida_graph.graph_node_visitor_t(): - - Proxy of C++ graph_node_visitor_t class - - -ida_graph.graph_node_visitor_t.is_forbidden_edge(): - - is_forbidden_edge(self, arg0, arg1) -> bool - - -ida_graph.graph_node_visitor_t.is_visited(): - - is_visited(self, n) -> bool - - -ida_graph.graph_node_visitor_t.reinit(): - - reinit(self) - - -ida_graph.graph_node_visitor_t.set_visited(): - - set_visited(self, n) - - -ida_graph.graph_node_visitor_t.visit_node(): - - visit_node(self, arg0) -> int - - -class ida_graph.graph_path_visitor_t(): - - Proxy of C++ graph_path_visitor_t class - - -ida_graph.graph_path_visitor_t.path: - graph_path_visitor_t_path_get(self) -> intvec_t * - -ida_graph.graph_path_visitor_t.prune: - graph_path_visitor_t_prune_get(self) -> bool - -ida_graph.graph_path_visitor_t.walk_backward(): - - walk_backward(self, arg0) -> int - - -ida_graph.graph_path_visitor_t.walk_forward(): - - walk_forward(self, arg0) -> int - - -class ida_graph.graph_visitor_t(): - - Proxy of C++ graph_visitor_t class - - -ida_graph.graph_visitor_t.visit_edge(): - - visit_edge(self, arg2, arg3) -> int - - -ida_graph.graph_visitor_t.visit_node(): - - visit_node(self, arg2, arg3) -> int - - -class ida_graph.group_crinfo_t(): - - Proxy of C++ group_crinfo_t class - - -ida_graph.group_crinfo_t.nodes: - group_crinfo_t_nodes_get(self) -> intvec_t * - -ida_graph.group_crinfo_t.text: - group_crinfo_t_text_get(self) -> qstring * - -class ida_graph.interval_t(): - - Proxy of C++ interval_t class - - -ida_graph.interval_t.contains(): - - contains(self, x) -> bool - - -ida_graph.interval_t.empty(): - - empty(self) -> bool - - -ida_graph.interval_t.intersect(): - - intersect(self, r) - - -ida_graph.interval_t.length(): - - length(self) -> int - - -ida_graph.interval_t.make_union(): - - make_union(self, r) - - -ida_graph.interval_t.move_by(): - - move_by(self, shift) - - -ida_graph.interval_t.x0: - interval_t_x0_get(self) -> int - -ida_graph.interval_t.x1: - interval_t_x1_get(self) -> int - -class ida_graph.mutable_graph_t(): - - Proxy of C++ mutable_graph_t class - - -ida_graph.mutable_graph_t.belongs: - mutable_graph_t_belongs_get(self) -> intvec_t * - -ida_graph.mutable_graph_t.calc_group_ea(): - - calc_group_ea(self, arg0) -> ea_t - - -ida_graph.mutable_graph_t.change_group_visibility(): - - change_group_visibility(self, group, expand) -> bool - - -ida_graph.mutable_graph_t.clear(): - - clear(self) - - -ida_graph.mutable_graph_t.create_digraph_layout(): - - create_digraph_layout(self) -> bool - - -ida_graph.mutable_graph_t.create_group(): - - create_group(self, nodes) -> int - - -ida_graph.mutable_graph_t.del_custom_layout(): - - del_custom_layout(self) - - -ida_graph.mutable_graph_t.delete_group(): - - delete_group(self, group) -> bool - - -ida_graph.mutable_graph_t.edges: - mutable_graph_t_edges_get(self) -> edge_infos_wrapper_t - -ida_graph.mutable_graph_t.empty(): - - empty(self) -> bool - - -ida_graph.mutable_graph_t.exists(): - - exists(self, node) -> bool - - -ida_graph.mutable_graph_t.get_custom_layout(): - - get_custom_layout(self) -> bool - - -ida_graph.mutable_graph_t.get_edge(): - - get_edge(self, e) -> edge_info_t - - -ida_graph.mutable_graph_t.get_first_subgraph_node(): - - get_first_subgraph_node(self, group) -> int - - -ida_graph.mutable_graph_t.get_graph_groups(): - - get_graph_groups(self) -> bool - - -ida_graph.mutable_graph_t.get_next_subgraph_node(): - - get_next_subgraph_node(self, group, current) -> int - - -ida_graph.mutable_graph_t.get_node_group(): - - get_node_group(self, node) -> int - - -ida_graph.mutable_graph_t.get_node_representative(): - - get_node_representative(self, node) -> int - - -ida_graph.mutable_graph_t.gid: - mutable_graph_t_gid_get(self) -> uval_t - -ida_graph.mutable_graph_t.is_collapsed_node(): - - is_collapsed_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_deleted_node(): - - is_deleted_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_displayable_node(): - - is_displayable_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_dot_node(): - - is_dot_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_group_node(): - - is_group_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_simple_node(): - - is_simple_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_subgraph_node(): - - is_subgraph_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_uncollapsed_node(): - - is_uncollapsed_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_user_graph(): - - is_user_graph(self) -> bool - - -ida_graph.mutable_graph_t.is_visible_node(): - - is_visible_node(self, node) -> bool - - -ida_graph.mutable_graph_t.node_flags: - mutable_graph_t_node_flags_get(self) -> bytevec_t * - -ida_graph.mutable_graph_t.node_qty(): - - node_qty(self) -> int - - -ida_graph.mutable_graph_t.nodes: - mutable_graph_t_nodes_get(self) -> node_layout_t - -ida_graph.mutable_graph_t.npred(): - - npred(self, b) -> int - - -ida_graph.mutable_graph_t.nrect(): - - nrect(self, n) -> rect_t - nrect(self, n) -> rect_t - - -ida_graph.mutable_graph_t.nsucc(): - - nsucc(self, b) -> int - - -ida_graph.mutable_graph_t.org_preds: - mutable_graph_t_org_preds_get(self) -> array_of_intvec_t - -ida_graph.mutable_graph_t.org_succs: - mutable_graph_t_org_succs_get(self) -> array_of_intvec_t - -ida_graph.mutable_graph_t.pred(): - - pred(self, b, i) -> int - - -ida_graph.mutable_graph_t.preds: - mutable_graph_t_preds_get(self) -> array_of_intvec_t - -ida_graph.mutable_graph_t.predset(): - - predset(self, b) -> intvec_t const & - - -ida_graph.mutable_graph_t.reset(): - - reset(self) - - -ida_graph.mutable_graph_t.set_custom_layout(): - - set_custom_layout(self) - - -ida_graph.mutable_graph_t.set_deleted_node(): - - set_deleted_node(self, node) - - -ida_graph.mutable_graph_t.set_edge(): - - set_edge(self, e, ei) -> bool - - -ida_graph.mutable_graph_t.set_graph_groups(): - - set_graph_groups(self) - - -ida_graph.mutable_graph_t.set_node_group(): - - set_node_group(self, node, group) - - -ida_graph.mutable_graph_t.size(): - - size(self) -> int - - -ida_graph.mutable_graph_t.succ(): - - succ(self, b, i) -> int - - -ida_graph.mutable_graph_t.succs: - mutable_graph_t_succs_get(self) -> array_of_intvec_t - -ida_graph.mutable_graph_t.succset(): - - succset(self, b) -> intvec_t const & - - -class ida_graph.node_info_t(): - - Proxy of C++ node_info_t class - - -ida_graph.node_info_t.bg_color: - node_info_t_bg_color_get(self) -> bgcolor_t - -ida_graph.node_info_t.ea: - node_info_t_ea_get(self) -> ea_t - -ida_graph.node_info_t.flags: - node_info_t_flags_get(self) -> uint32 - -ida_graph.node_info_t.frame_color: - node_info_t_frame_color_get(self) -> bgcolor_t - -ida_graph.node_info_t.get_flags_for_valid(): - - get_flags_for_valid(self) -> uint32 - - -ida_graph.node_info_t.text: - node_info_t_text_get(self) -> qstring * - -ida_graph.node_info_t.valid_bg_color(): - - valid_bg_color(self) -> bool - - -ida_graph.node_info_t.valid_ea(): - - valid_ea(self) -> bool - - -ida_graph.node_info_t.valid_flags(): - - valid_flags(self) -> bool - - -ida_graph.node_info_t.valid_frame_color(): - - valid_frame_color(self) -> bool - - -ida_graph.node_info_t.valid_text(): - - valid_text(self) -> bool - - -class ida_graph.node_layout_t(): - - Proxy of C++ qvector<(rect_t)> class - - -ida_graph.node_layout_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_graph.node_layout_t.at(): - - at(self, _idx) -> rect_t - - -ida_graph.node_layout_t.begin(): - - begin(self) -> rect_t - begin(self) -> rect_t - - -ida_graph.node_layout_t.capacity(): - - capacity(self) -> size_t - - -ida_graph.node_layout_t.clear(): - - clear(self) - - -ida_graph.node_layout_t.empty(): - - empty(self) -> bool - - -ida_graph.node_layout_t.end(): - - end(self) -> rect_t - end(self) -> rect_t - - -ida_graph.node_layout_t.erase(): - - erase(self, it) -> rect_t - erase(self, first, last) -> rect_t - - -ida_graph.node_layout_t.extract(): - - extract(self) -> rect_t - - -ida_graph.node_layout_t.find(): - - find(self, x) -> rect_t - find(self, x) -> rect_t - - -ida_graph.node_layout_t.grow(): - - grow(self, x=rect_t()) - - -ida_graph.node_layout_t.has(): - - has(self, x) -> bool - - -ida_graph.node_layout_t.inject(): - - inject(self, s, len) - - -ida_graph.node_layout_t.insert(): - - insert(self, it, x) -> rect_t - - -ida_graph.node_layout_t.pop_back(): - - pop_back(self) - - -ida_graph.node_layout_t.push_back(): - - push_back(self, x) - push_back(self) -> rect_t - - -ida_graph.node_layout_t.qclear(): - - qclear(self) - - -ida_graph.node_layout_t.reserve(): - - reserve(self, cnt) - - -ida_graph.node_layout_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_graph.node_layout_t.size(): - - size(self) -> size_t - - -ida_graph.node_layout_t.swap(): - - swap(self, r) - - -ida_graph.node_layout_t.truncate(): - - truncate(self) - - -class ida_graph.node_ordering_t(): - - Proxy of C++ node_ordering_t class - - -ida_graph.node_ordering_t.clear(): - - clear(self) - - -ida_graph.node_ordering_t.node(): - - node(self, _order) -> int - - -ida_graph.node_ordering_t.resize(): - - resize(self, n) - - -ida_graph.node_ordering_t.set(): - - set(self, _node, num) - - -ida_graph.node_ordering_t.size(): - - size(self) -> size_t - - -class ida_graph.point_t(): - - Proxy of C++ point_t class - - -ida_graph.point_t.add(): - - add(self, r) -> point_t - - -ida_graph.point_t.negate(): - - negate(self) - - -ida_graph.point_t.sub(): - - sub(self, r) -> point_t - - -ida_graph.point_t.x: - point_t_x_get(self) -> int - -ida_graph.point_t.y: - point_t_y_get(self) -> int - -class ida_graph.pointseq_t(): - - Proxy of C++ pointseq_t class - - -ida_graph.pointseq_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_graph.pointseq_t.at(): - - at(self, _idx) -> point_t - - -ida_graph.pointseq_t.begin(): - - begin(self) -> point_t - begin(self) -> point_t - - -ida_graph.pointseq_t.capacity(): - - capacity(self) -> size_t - - -ida_graph.pointseq_t.clear(): - - clear(self) - - -ida_graph.pointseq_t.empty(): - - empty(self) -> bool - - -ida_graph.pointseq_t.end(): - - end(self) -> point_t - end(self) -> point_t - - -ida_graph.pointseq_t.erase(): - - erase(self, it) -> point_t - erase(self, first, last) -> point_t - - -ida_graph.pointseq_t.extract(): - - extract(self) -> point_t - - -ida_graph.pointseq_t.find(): - - find(self, x) -> point_t - find(self, x) -> point_t - - -ida_graph.pointseq_t.grow(): - - grow(self, x=point_t()) - - -ida_graph.pointseq_t.has(): - - has(self, x) -> bool - - -ida_graph.pointseq_t.inject(): - - inject(self, s, len) - - -ida_graph.pointseq_t.insert(): - - insert(self, it, x) -> point_t - - -ida_graph.pointseq_t.pop_back(): - - pop_back(self) - - -ida_graph.pointseq_t.push_back(): - - push_back(self, x) - push_back(self) -> point_t - - -ida_graph.pointseq_t.qclear(): - - qclear(self) - - -ida_graph.pointseq_t.reserve(): - - reserve(self, cnt) - - -ida_graph.pointseq_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_graph.pointseq_t.size(): - - size(self) -> size_t - - -ida_graph.pointseq_t.swap(): - - swap(self, r) - - -ida_graph.pointseq_t.truncate(): - - truncate(self) - - -class ida_graph.pointvec_t(): - - Proxy of C++ qvector<(point_t)> class - - -ida_graph.pointvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_graph.pointvec_t.at(): - - at(self, _idx) -> point_t - - -ida_graph.pointvec_t.begin(): - - begin(self) -> point_t - begin(self) -> point_t - - -ida_graph.pointvec_t.capacity(): - - capacity(self) -> size_t - - -ida_graph.pointvec_t.clear(): - - clear(self) - - -ida_graph.pointvec_t.empty(): - - empty(self) -> bool - - -ida_graph.pointvec_t.end(): - - end(self) -> point_t - end(self) -> point_t - - -ida_graph.pointvec_t.erase(): - - erase(self, it) -> point_t - erase(self, first, last) -> point_t - - -ida_graph.pointvec_t.extract(): - - extract(self) -> point_t - - -ida_graph.pointvec_t.find(): - - find(self, x) -> point_t - find(self, x) -> point_t - - -ida_graph.pointvec_t.grow(): - - grow(self, x=point_t()) - - -ida_graph.pointvec_t.has(): - - has(self, x) -> bool - - -ida_graph.pointvec_t.inject(): - - inject(self, s, len) - - -ida_graph.pointvec_t.insert(): - - insert(self, it, x) -> point_t - - -ida_graph.pointvec_t.pop_back(): - - pop_back(self) - - -ida_graph.pointvec_t.push_back(): - - push_back(self, x) - push_back(self) -> point_t - - -ida_graph.pointvec_t.qclear(): - - qclear(self) - - -ida_graph.pointvec_t.reserve(): - - reserve(self, cnt) - - -ida_graph.pointvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_graph.pointvec_t.size(): - - size(self) -> size_t - - -ida_graph.pointvec_t.swap(): - - swap(self, r) - - -ida_graph.pointvec_t.truncate(): - - truncate(self) - - -ida_graph.pyg_close(): - - pyg_close(self) - - -ida_graph.pyg_select_node(): - - pyg_select_node(self, nid) - - -ida_graph.pyg_show(): - - pyg_show(self) -> bool - - -class ida_graph.rect_t(): - - Proxy of C++ rect_t class - - -ida_graph.rect_t.area(): - - area(self) -> int - - -ida_graph.rect_t.bottom: - rect_t_bottom_get(self) -> int - -ida_graph.rect_t.bottomright(): - - bottomright(self) -> point_t - - -ida_graph.rect_t.center(): - - center(self) -> point_t - - -ida_graph.rect_t.contains(): - - contains(self, p) -> bool - - -ida_graph.rect_t.empty(): - - empty(self) -> bool - - -ida_graph.rect_t.grow(): - - grow(self, delta) - - -ida_graph.rect_t.height(): - - height(self) -> int - - -ida_graph.rect_t.intersect(): - - intersect(self, r) - - -ida_graph.rect_t.is_intersection_empty(): - - is_intersection_empty(self, r) -> bool - - -ida_graph.rect_t.left: - rect_t_left_get(self) -> int - -ida_graph.rect_t.make_union(): - - make_union(self, r) - - -ida_graph.rect_t.move_by(): - - move_by(self, p) - - -ida_graph.rect_t.move_to(): - - move_to(self, p) - - -ida_graph.rect_t.right: - rect_t_right_get(self) -> int - -ida_graph.rect_t.top: - rect_t_top_get(self) -> int - -ida_graph.rect_t.topleft(): - - topleft(self) -> point_t - - -ida_graph.rect_t.width(): - - width(self) -> int - - -ida_graph.refresh_viewer(): - - refresh_viewer(gv) - - - Redraw the graph in the given view. - - - @param gv (C++: graph_viewer_t *) - - -class ida_graph.row_info_t(): - - Proxy of C++ row_info_t class - - -ida_graph.row_info_t.bottom: - row_info_t_bottom_get(self) -> int - -ida_graph.row_info_t.height(): - - height(self) -> int - - -ida_graph.row_info_t.nodes: - row_info_t_nodes_get(self) -> intvec_t * - -ida_graph.row_info_t.top: - row_info_t_top_get(self) -> int - -class ida_graph.screen_graph_selection_base_t(): - - Proxy of C++ qvector<(selection_item_t)> class - - -ida_graph.screen_graph_selection_base_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_graph.screen_graph_selection_base_t.at(): - - at(self, _idx) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.begin(): - - begin(self) -> selection_item_t - begin(self) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.capacity(): - - capacity(self) -> size_t - - -ida_graph.screen_graph_selection_base_t.clear(): - - clear(self) - - -ida_graph.screen_graph_selection_base_t.empty(): - - empty(self) -> bool - - -ida_graph.screen_graph_selection_base_t.end(): - - end(self) -> selection_item_t - end(self) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.erase(): - - erase(self, it) -> selection_item_t - erase(self, first, last) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.extract(): - - extract(self) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.find(): - - find(self, x) -> selection_item_t - find(self, x) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.grow(): - - grow(self, x=selection_item_t()) - - -ida_graph.screen_graph_selection_base_t.has(): - - has(self, x) -> bool - - -ida_graph.screen_graph_selection_base_t.inject(): - - inject(self, s, len) - - -ida_graph.screen_graph_selection_base_t.insert(): - - insert(self, it, x) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.pop_back(): - - pop_back(self) - - -ida_graph.screen_graph_selection_base_t.push_back(): - - push_back(self, x) - push_back(self) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.qclear(): - - qclear(self) - - -ida_graph.screen_graph_selection_base_t.reserve(): - - reserve(self, cnt) - - -ida_graph.screen_graph_selection_base_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_graph.screen_graph_selection_base_t.size(): - - size(self) -> size_t - - -ida_graph.screen_graph_selection_base_t.swap(): - - swap(self, r) - - -ida_graph.screen_graph_selection_base_t.truncate(): - - truncate(self) - - -class ida_graph.screen_graph_selection_t(): - - Proxy of C++ screen_graph_selection_t class - - -ida_graph.screen_graph_selection_t.add(): - - add(self, s) - - -ida_graph.screen_graph_selection_t.add_node(): - - add_node(self, node) - - -ida_graph.screen_graph_selection_t.add_point(): - - add_point(self, e, idx) - - -ida_graph.screen_graph_selection_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_graph.screen_graph_selection_t.at(): - - at(self, _idx) -> selection_item_t - - -ida_graph.screen_graph_selection_t.begin(): - - begin(self) -> selection_item_t - begin(self) -> selection_item_t - - -ida_graph.screen_graph_selection_t.capacity(): - - capacity(self) -> size_t - - -ida_graph.screen_graph_selection_t.clear(): - - clear(self) - - -ida_graph.screen_graph_selection_t.del_node(): - - del_node(self, node) - - -ida_graph.screen_graph_selection_t.del_point(): - - del_point(self, e, idx) - - -ida_graph.screen_graph_selection_t.empty(): - - empty(self) -> bool - - -ida_graph.screen_graph_selection_t.end(): - - end(self) -> selection_item_t - end(self) -> selection_item_t - - -ida_graph.screen_graph_selection_t.erase(): - - erase(self, it) -> selection_item_t - erase(self, first, last) -> selection_item_t - - -ida_graph.screen_graph_selection_t.extract(): - - extract(self) -> selection_item_t - - -ida_graph.screen_graph_selection_t.find(): - - find(self, x) -> selection_item_t - find(self, x) -> selection_item_t - - -ida_graph.screen_graph_selection_t.grow(): - - grow(self, x=selection_item_t()) - - -ida_graph.screen_graph_selection_t.has(): - - has(self, item) -> bool - - -ida_graph.screen_graph_selection_t.inject(): - - inject(self, s, len) - - -ida_graph.screen_graph_selection_t.insert(): - - insert(self, it, x) -> selection_item_t - - -ida_graph.screen_graph_selection_t.items_count(): - - items_count(self, look_for_nodes) -> size_t - - -ida_graph.screen_graph_selection_t.nodes_count(): - - nodes_count(self) -> size_t - - -ida_graph.screen_graph_selection_t.points_count(): - - points_count(self) -> size_t - - -ida_graph.screen_graph_selection_t.pop_back(): - - pop_back(self) - - -ida_graph.screen_graph_selection_t.push_back(): - - push_back(self, x) - push_back(self) -> selection_item_t - - -ida_graph.screen_graph_selection_t.qclear(): - - qclear(self) - - -ida_graph.screen_graph_selection_t.reserve(): - - reserve(self, cnt) - - -ida_graph.screen_graph_selection_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_graph.screen_graph_selection_t.size(): - - size(self) -> size_t - - -ida_graph.screen_graph_selection_t.sub(): - - sub(self, s) - - -ida_graph.screen_graph_selection_t.swap(): - - swap(self, r) - - -ida_graph.screen_graph_selection_t.truncate(): - - truncate(self) - - -class ida_graph.selection_item_t(): - - Proxy of C++ selection_item_t class - - -ida_graph.selection_item_t.compare(): - - compare(self, r) -> int - - -ida_graph.selection_item_t.elp: - selection_item_t_elp_get(self) -> edge_layout_point_t - -ida_graph.selection_item_t.is_node: - selection_item_t_is_node_get(self) -> bool - -ida_graph.selection_item_t.node: - selection_item_t_node_get(self) -> int - -ida_graph.set_node_info(): - - set_node_info(gid, node, ni, flags) - - - Set node info. - - @param gid: id of desired graph (C++: graph_id_t) - @param node: node number (C++: int) - @param ni: node info to use (C++: const node_info_t &) - @param flags: combination of Node info flags , identifying which - fields of 'ni' will be used (C++: uint32) - - -ida_graph.set_viewer_graph(): - - set_viewer_graph(gv, g) - - - Set the underlying graph object for the given viewer. - - - @param gv (C++: graph_viewer_t *) - @param g (C++: mutable_graph_t *) - - -class ida_graph.user_graph_place_t(): - - Proxy of C++ user_graph_place_t class - - -ida_graph.user_graph_place_t.node: - user_graph_place_t_node_get(self) -> int - -ida_graph.viewer_attach_menu_item(): - - 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 *) - @param name: action name (C++: const char *) - @return: success - - -ida_graph.viewer_center_on(): - - viewer_center_on(gv, node) - - - Center the graph view on the given node. - - - @param gv (C++: graph_viewer_t *) - @param node (C++: int) - - -ida_graph.viewer_create_groups(): - - 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 mutable_graph_t::create_group that - will, in essence:clone the current graphfor each 'group_crinfo_t' , - attempt creating group in that new graphif all were successful, - animate to that new graph.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 &) - - -ida_graph.viewer_del_node_info(): - - 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) - - -ida_graph.viewer_delete_groups(): - - viewer_delete_groups(gv, groups, new_current=-1) -> bool - - - Wrapper around mutable_graph_t::delete_group. This function will:clone - the current graphattempt deleting the groups in that new graphif - successful, animate to that new graph. - - @param gv (C++: graph_viewer_t *) - @param groups (C++: const intvec_t &) - @param new_current (C++: int) - - -ida_graph.viewer_fit_window(): - - viewer_fit_window(gv) - - - Fit graph viewer to its parent form. - - - @param gv (C++: graph_viewer_t *) - - -ida_graph.viewer_get_curnode(): - - viewer_get_curnode(gv) -> int - - - Get number of currently selected node (-1 if none) - - - @param gv (C++: graph_viewer_t *) - - -ida_graph.viewer_get_gli(): - - 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) - - -ida_graph.viewer_get_node_info(): - - 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) - - -ida_graph.viewer_get_selection(): - - 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 *) - - -ida_graph.viewer_set_gli(): - - 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 *) - @param flags (C++: uint32) - - -ida_graph.viewer_set_groups_visibility(): - - viewer_set_groups_visibility(gv, groups, expand, new_current=-1) -> bool - - - Wrapper around mutable_graph_t::change_visibility. This function - will:clone the current graphattempt changing visibility of the groups - in that new graphif successful, animate to that new graph. - - @param gv (C++: graph_viewer_t *) - @param groups (C++: const intvec_t &) - @param expand (C++: bool) - @param new_current (C++: int) - - -ida_graph.viewer_set_node_info(): - - 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 &) - @param flags (C++: uint32) - - -ida_graph.viewer_set_titlebar_height(): - - 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) - - - -=== ida_graph EPYDOC INJECTIONS === -ida_graph.GLICTL_CENTER -""" -the gli should be set/get as center -""" - -ida_graph.MTG_DOT_NODE -""" -is dot node? -""" - -ida_graph.MTG_GROUP_NODE -""" -is group node? -""" - -ida_graph.MTG_NON_DISPLAYABLE_NODE -""" -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) -""" - -ida_graph.NIF_BG_COLOR -""" - 'node_info_t::bg_color' -""" - -ida_graph.NIF_EA -""" - 'node_info_t::ea' -""" - -ida_graph.NIF_FLAGS -""" - 'node_info_t::flags' -""" - -ida_graph.NIF_FRAME_COLOR -""" - 'node_info_t::frame_color' -""" - -ida_graph.NIF_TEXT -""" - 'node_info_t::text' -""" -=== ida_graph EPYDOC INJECTIONS END === -class ida_hexrays.DecompilationFailure(): - - Raised on a decompilation error. - - The associated hexrays_failure_t object is stored in the - 'info' member of this exception. - - -class ida_hexrays.Hexrays_Hooks(): - - Proxy of C++ Hexrays_Hooks class - - -ida_hexrays.Hexrays_Hooks.close_pseudocode(): - - close_pseudocode(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.cmt_changed(): - - cmt_changed(self, cfunc, loc, cmt) -> int - - -ida_hexrays.Hexrays_Hooks.combine(): - - combine(self, blk, insn) -> int - - -ida_hexrays.Hexrays_Hooks.create_hint(): - - create_hint(self, vu) -> PyObject * - - -ida_hexrays.Hexrays_Hooks.curpos(): - - curpos(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.double_click(): - - double_click(self, vu, shift_state) -> int - - -ida_hexrays.Hexrays_Hooks.flowchart(): - - flowchart(self, fc) -> int - - -ida_hexrays.Hexrays_Hooks.func_printed(): - - func_printed(self, cfunc) -> int - - -ida_hexrays.Hexrays_Hooks.glbopt(): - - glbopt(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.hook(): - - hook(self) -> bool - - -ida_hexrays.Hexrays_Hooks.interr(): - - interr(self, errcode) -> int - - -ida_hexrays.Hexrays_Hooks.keyboard(): - - keyboard(self, vu, key_code, shift_state) -> int - - -ida_hexrays.Hexrays_Hooks.locopt(): - - locopt(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.lvar_cmt_changed(): - - lvar_cmt_changed(self, vu, v, cmt) -> int - - -ida_hexrays.Hexrays_Hooks.lvar_mapping_changed(): - - lvar_mapping_changed(self, vu, frm, to) -> int - - -ida_hexrays.Hexrays_Hooks.lvar_name_changed(): - - lvar_name_changed(self, vu, v, name, is_user_name) -> int - - -ida_hexrays.Hexrays_Hooks.lvar_type_changed(): - - lvar_type_changed(self, vu, v, tinfo) -> int - - -ida_hexrays.Hexrays_Hooks.maturity(): - - maturity(self, cfunc, new_maturity) -> int - - -ida_hexrays.Hexrays_Hooks.microcode(): - - microcode(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.open_pseudocode(): - - open_pseudocode(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.populating_popup(): - - populating_popup(self, widget, popup_handle, vu) -> int - - -ida_hexrays.Hexrays_Hooks.prealloc(): - - prealloc(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.preoptimized(): - - preoptimized(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.print_func(): - - print_func(self, cfunc, vp) -> int - - -ida_hexrays.Hexrays_Hooks.prolog(): - - prolog(self, mba, fc, reachable_blocks) -> int - - -ida_hexrays.Hexrays_Hooks.refresh_pseudocode(): - - refresh_pseudocode(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.resolve_stkaddrs(): - - resolve_stkaddrs(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.right_click(): - - right_click(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.stkpnts(): - - stkpnts(self, mba, _sps) -> int - - -ida_hexrays.Hexrays_Hooks.structural(): - - structural(self, ct) -> int - - -ida_hexrays.Hexrays_Hooks.switch_pseudocode(): - - switch_pseudocode(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.text_ready(): - - text_ready(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.unhook(): - - unhook(self) -> bool - - -ida_hexrays.accepts_small_udts(): - - accepts_small_udts(op) -> bool - - - Is the operator allowed on small structure or union? - - - @param op (C++: ctype_t) - - -ida_hexrays.accepts_udts(): - - accepts_udts(op) -> bool - - -ida_hexrays.arglocs_overlap(): - - arglocs_overlap(loc1, w1, loc2, w2) -> bool - - - Do two arglocs overlap? - - - @param loc1 (C++: const vdloc_t &) - @param w1 (C++: size_t) - @param loc2 (C++: const vdloc_t &) - @param w2 (C++: size_t) - - -class ida_hexrays.array_of_bitsets(): - - Proxy of C++ qvector<(bitset_t)> class - - -ida_hexrays.array_of_bitsets.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.array_of_bitsets.at(): - - at(self, _idx) -> bitset_t - - -ida_hexrays.array_of_bitsets.begin(): - - begin(self) -> bitset_t - begin(self) -> bitset_t - - -ida_hexrays.array_of_bitsets.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.array_of_bitsets.clear(): - - clear(self) - - -ida_hexrays.array_of_bitsets.empty(): - - empty(self) -> bool - - -ida_hexrays.array_of_bitsets.end(): - - end(self) -> bitset_t - end(self) -> bitset_t - - -ida_hexrays.array_of_bitsets.erase(): - - erase(self, it) -> bitset_t - erase(self, first, last) -> bitset_t - - -ida_hexrays.array_of_bitsets.extract(): - - extract(self) -> bitset_t - - -ida_hexrays.array_of_bitsets.find(): - - find(self, x) -> bitset_t - find(self, x) -> bitset_t - - -ida_hexrays.array_of_bitsets.grow(): - - grow(self, x=bitset_t()) - - -ida_hexrays.array_of_bitsets.has(): - - has(self, x) -> bool - - -ida_hexrays.array_of_bitsets.inject(): - - inject(self, s, len) - - -ida_hexrays.array_of_bitsets.insert(): - - insert(self, it, x) -> bitset_t - - -ida_hexrays.array_of_bitsets.pop_back(): - - pop_back(self) - - -ida_hexrays.array_of_bitsets.push_back(): - - push_back(self, x) - push_back(self) -> bitset_t - - -ida_hexrays.array_of_bitsets.qclear(): - - qclear(self) - - -ida_hexrays.array_of_bitsets.reserve(): - - reserve(self, cnt) - - -ida_hexrays.array_of_bitsets.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.array_of_bitsets.size(): - - size(self) -> size_t - - -ida_hexrays.array_of_bitsets.swap(): - - swap(self, r) - - -ida_hexrays.array_of_bitsets.truncate(): - - truncate(self) - - -class ida_hexrays.array_of_ivlsets(): - - Proxy of C++ qvector<(ivlset_t)> class - - -ida_hexrays.array_of_ivlsets.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.array_of_ivlsets.at(): - - at(self, _idx) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.begin(): - - begin(self) -> ivlset_t - begin(self) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.array_of_ivlsets.clear(): - - clear(self) - - -ida_hexrays.array_of_ivlsets.empty(): - - empty(self) -> bool - - -ida_hexrays.array_of_ivlsets.end(): - - end(self) -> ivlset_t - end(self) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.erase(): - - erase(self, it) -> ivlset_t - erase(self, first, last) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.extract(): - - extract(self) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.find(): - - find(self, x) -> ivlset_t - find(self, x) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.grow(): - - grow(self, x=ivlset_t()) - - -ida_hexrays.array_of_ivlsets.has(): - - has(self, x) -> bool - - -ida_hexrays.array_of_ivlsets.inject(): - - inject(self, s, len) - - -ida_hexrays.array_of_ivlsets.insert(): - - insert(self, it, x) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.pop_back(): - - pop_back(self) - - -ida_hexrays.array_of_ivlsets.push_back(): - - push_back(self, x) - push_back(self) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.qclear(): - - qclear(self) - - -ida_hexrays.array_of_ivlsets.reserve(): - - reserve(self, cnt) - - -ida_hexrays.array_of_ivlsets.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.array_of_ivlsets.size(): - - size(self) -> size_t - - -ida_hexrays.array_of_ivlsets.swap(): - - swap(self, r) - - -ida_hexrays.array_of_ivlsets.truncate(): - - truncate(self) - - -ida_hexrays.asgop(): - - asgop(cop) -> ctype_t - - - Convert plain operator into assignment operator. For example, cot_add - returns cot_asgadd. - - - @param cop (C++: ctype_t) - - -ida_hexrays.asgop_revert(): - - asgop_revert(cop) -> ctype_t - - - Convert assignment operator into plain operator. For example, - cot_asgadd returns cot_add - - @param cop (C++: ctype_t) - @return: cot_empty is the input operator is not an assignment - operator. - - -class ida_hexrays.bit_bound_t(): - - Proxy of C++ bit_bound_t class - - -ida_hexrays.bit_bound_t.nbits: - bit_bound_t_nbits_get(self) -> int16 - -ida_hexrays.bit_bound_t.sbits: - bit_bound_t_sbits_get(self) -> int16 - -class ida_hexrays.bitset_t(): - - Proxy of C++ bitset_t class - - -ida_hexrays.bitset_t.add(): - - add(self, bit) -> bool - add(self, bit, width) -> bool - add(self, ml) -> bool - - -ida_hexrays.bitset_t.back(): - - back(self) -> int - - -ida_hexrays.bitset_t.begin(): - - begin(self) -> bitset_t::iterator - - -ida_hexrays.bitset_t.clear(): - - clear(self) - - -ida_hexrays.bitset_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.bitset_t.copy(): - - copy(self, m) -> bitset_t - - -ida_hexrays.bitset_t.count(): - - count(self) -> int - count(self, bit) -> int - - -ida_hexrays.bitset_t.cut_at(): - - cut_at(self, maxbit) -> bool - - -ida_hexrays.bitset_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.bitset_t.empty(): - - empty(self) -> bool - - -ida_hexrays.bitset_t.end(): - - end(self) -> bitset_t::iterator - - -ida_hexrays.bitset_t.fill_with_ones(): - - fill_with_ones(self, maxbit) - - -ida_hexrays.bitset_t.front(): - - front(self) -> int - - -ida_hexrays.bitset_t.has(): - - has(self, bit) -> bool - - -ida_hexrays.bitset_t.has_all(): - - has_all(self, bit, width) -> bool - - -ida_hexrays.bitset_t.has_any(): - - has_any(self, bit, width) -> bool - - -ida_hexrays.bitset_t.has_common(): - - has_common(self, ml) -> bool - - -ida_hexrays.bitset_t.inc(): - - inc(self, p, n=1) - - -ida_hexrays.bitset_t.includes(): - - includes(self, ml) -> bool - - -ida_hexrays.bitset_t.intersect(): - - intersect(self, ml) -> bool - - -ida_hexrays.bitset_t.is_subset_of(): - - is_subset_of(self, ml) -> bool - - -ida_hexrays.bitset_t.itat(): - - itat(self, n) -> bitset_t::iterator - - -ida_hexrays.bitset_t.itv(): - - itv(self, it) -> int - - -ida_hexrays.bitset_t.last(): - - last(self) -> int - - -ida_hexrays.bitset_t.shift_down(): - - shift_down(self, shift) - - -ida_hexrays.bitset_t.sub(): - - sub(self, bit) -> bool - sub(self, bit, width) -> bool - sub(self, ml) -> bool - - -ida_hexrays.bitset_t.swap(): - - swap(self, r) - - -ida_hexrays.block_chains_begin(): - - 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 *) - - -ida_hexrays.block_chains_clear(): - - block_chains_clear(set) - - - Clear 'block_chains_t' . - - - @param set (C++: block_chains_t *) - - -ida_hexrays.block_chains_end(): - - 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 *) - - -ida_hexrays.block_chains_erase(): - - 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) - - -ida_hexrays.block_chains_find(): - - 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 *) - @param val (C++: const chain_t &) - - -ida_hexrays.block_chains_free(): - - block_chains_free(set) - - - Delete 'block_chains_t' instance. - - - @param set (C++: block_chains_t *) - - -ida_hexrays.block_chains_get(): - - block_chains_get(p) -> chain_t - - - Get reference to the current set value. - - - @param p (C++: block_chains_iterator_t) - - -ida_hexrays.block_chains_insert(): - - 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 &) - - -class ida_hexrays.block_chains_iterator_t(): - - Proxy of C++ block_chains_iterator_t class - - -ida_hexrays.block_chains_iterator_t.x: - block_chains_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.block_chains_new(): - - block_chains_new() -> block_chains_t - - - Create a new 'block_chains_t' instance. - - -ida_hexrays.block_chains_next(): - - block_chains_next(p) -> block_chains_iterator_t - - - Move to the next element. - - - @param p (C++: block_chains_iterator_t) - - -ida_hexrays.block_chains_prev(): - - block_chains_prev(p) -> block_chains_iterator_t - - - Move to the previous element. - - - @param p (C++: block_chains_iterator_t) - - -ida_hexrays.block_chains_size(): - - block_chains_size(set) -> size_t - - - Get size of 'block_chains_t' . - - - @param set (C++: block_chains_t *) - - -class ida_hexrays.block_chains_t(): - - Proxy of C++ block_chains_t class - - -ida_hexrays.block_chains_t._print(): - - _print(self) - - -ida_hexrays.block_chains_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.block_chains_t.get_chain(): - - get_chain(self, k, width=1) -> chain_t - get_chain(self, k, width=1) -> chain_t - get_chain(self, ch) -> chain_t - get_chain(self, ch) -> chain_t - - -ida_hexrays.block_chains_t.get_reg_chain(): - - get_reg_chain(self, reg, width=1) -> chain_t - get_reg_chain(self, reg, width=1) -> chain_t - - -ida_hexrays.block_chains_t.get_stk_chain(): - - get_stk_chain(self, off, width=1) -> chain_t - get_stk_chain(self, off, width=1) -> chain_t - - -class ida_hexrays.block_chains_vec_t(): - - Proxy of C++ qvector<(block_chains_t)> class - - -ida_hexrays.block_chains_vec_t.at(): - - at(self, _idx) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.begin(): - - begin(self) -> block_chains_t - begin(self) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.block_chains_vec_t.clear(): - - clear(self) - - -ida_hexrays.block_chains_vec_t.empty(): - - empty(self) -> bool - - -ida_hexrays.block_chains_vec_t.end(): - - end(self) -> block_chains_t - end(self) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.erase(): - - erase(self, it) -> block_chains_t - erase(self, first, last) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.extract(): - - extract(self) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.grow(): - - grow(self, x=block_chains_t()) - - -ida_hexrays.block_chains_vec_t.inject(): - - inject(self, s, len) - - -ida_hexrays.block_chains_vec_t.insert(): - - insert(self, it, x) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.pop_back(): - - pop_back(self) - - -ida_hexrays.block_chains_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.qclear(): - - qclear(self) - - -ida_hexrays.block_chains_vec_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.block_chains_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.block_chains_vec_t.size(): - - size(self) -> size_t - - -ida_hexrays.block_chains_vec_t.swap(): - - swap(self, r) - - -ida_hexrays.block_chains_vec_t.truncate(): - - truncate(self) - - -ida_hexrays.boundaries_begin(): - - boundaries_begin(map) -> boundaries_iterator_t - - - Get iterator pointing to the beginning of boundaries_t. - - - @param map (C++: const boundaries_t *) - - -ida_hexrays.boundaries_clear(): - - boundaries_clear(map) - - - Clear boundaries_t. - - - @param map (C++: boundaries_t *) - - -ida_hexrays.boundaries_end(): - - boundaries_end(map) -> boundaries_iterator_t - - - Get iterator pointing to the end of boundaries_t. - - - @param map (C++: const boundaries_t *) - - -ida_hexrays.boundaries_erase(): - - boundaries_erase(map, p) - - - Erase current element from boundaries_t. - - - @param map (C++: boundaries_t *) - @param p (C++: boundaries_iterator_t) - - -ida_hexrays.boundaries_find(): - - boundaries_find(map, key) -> boundaries_iterator_t - - - Find the specified key in boundaries_t. - - - @param map (C++: const boundaries_t *) - @param key (C++: const cinsn_t *&) - - -ida_hexrays.boundaries_first(): - - boundaries_first(p) -> cinsn_t - - - Get reference to the current map key. - - - @param p (C++: boundaries_iterator_t) - - -ida_hexrays.boundaries_free(): - - boundaries_free(map) - - - Delete boundaries_t instance. - - - @param map (C++: boundaries_t *) - - -ida_hexrays.boundaries_insert(): - - 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 *&) - @param val (C++: const rangeset_t &) - - -class ida_hexrays.boundaries_iterator_t(): - - Proxy of C++ boundaries_iterator_t class - - -ida_hexrays.boundaries_iterator_t.x: - boundaries_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.boundaries_new(): - - boundaries_new() -> boundaries_t - - - Create a new boundaries_t instance. - - -ida_hexrays.boundaries_next(): - - boundaries_next(p) -> boundaries_iterator_t - - - Move to the next element. - - - @param p (C++: boundaries_iterator_t) - - -ida_hexrays.boundaries_prev(): - - boundaries_prev(p) -> boundaries_iterator_t - - - Move to the previous element. - - - @param p (C++: boundaries_iterator_t) - - -ida_hexrays.boundaries_second(): - - boundaries_second(p) -> rangeset_t - - - Get reference to the current map value. - - - @param p (C++: boundaries_iterator_t) - - -ida_hexrays.boundaries_size(): - - boundaries_size(map) -> size_t - - - Get size of boundaries_t. - - - @param map (C++: boundaries_t *) - - -class ida_hexrays.boundaries_t(): - - Proxy of C++ std::map<(p.cinsn_t,rangeset_t)> class - - -ida_hexrays.boundaries_t.at(): - - at(self, _Keyval) -> rangeset_t - - -class ida_hexrays.boundaries_t.keytype(): - - Proxy of C++ cinsn_t class - - -ida_hexrays.boundaries_t.keytype._print(): - - _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) - - -ida_hexrays.boundaries_t.keytype.assign(): - - assign(self, r) -> cinsn_t - - -ida_hexrays.boundaries_t.keytype.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.boundaries_t.keytype.cleanup(): - - cleanup(self) - - -ida_hexrays.boundaries_t.keytype.collect_free_breaks(): - - collect_free_breaks(self, breaks) -> bool - - -ida_hexrays.boundaries_t.keytype.collect_free_continues(): - - collect_free_continues(self, continues) -> bool - - -ida_hexrays.boundaries_t.keytype.compare(): - - compare(self, r) -> int - - -ida_hexrays.boundaries_t.keytype.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.boundaries_t.keytype.contains_free_break(): - - contains_free_break(self) -> bool - - -ida_hexrays.boundaries_t.keytype.contains_free_continue(): - - contains_free_continue(self) -> bool - - -ida_hexrays.boundaries_t.keytype.contains_insn(): - - contains_insn(self, type, times=1) -> bool - - -ida_hexrays.boundaries_t.keytype.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.boundaries_t.keytype.create_if(): - - create_if(self, cnd) -> cif_t - - -ida_hexrays.boundaries_t.keytype.details: - - 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. - - -ida_hexrays.boundaries_t.keytype.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.boundaries_t.keytype.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.boundaries_t.keytype.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.boundaries_t.keytype.index: - citem_t_index_get(self) -> int - -ida_hexrays.boundaries_t.keytype.insn_is_epilog(): - - insn_is_epilog(insn) -> bool - - -ida_hexrays.boundaries_t.keytype.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.boundaries_t.keytype.is_ordinary_flow(): - - is_ordinary_flow(self) -> bool - - -ida_hexrays.boundaries_t.keytype.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.boundaries_t.keytype.new_insn(): - - new_insn(self, insn_ea) -> cinsn_t - - -ida_hexrays.boundaries_t.keytype.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.boundaries_t.keytype.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.boundaries_t.keytype.print1(): - - print1(self, func) - - -ida_hexrays.boundaries_t.keytype.swap(): - - swap(self, r) - - -ida_hexrays.boundaries_t.keytype.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.boundaries_t.keytype.zero(): - - zero(self) - - -ida_hexrays.boundaries_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.boundaries_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.boundaries_t.setdefault(): - - Sets the value associated with the provided key. - - -class ida_hexrays.boundaries_t.valuetype(): - - Proxy of C++ rangeset_t class - - -ida_hexrays.boundaries_t.valuetype._print(): - - _print(self) -> size_t - - -ida_hexrays.boundaries_t.valuetype.add(): - - add(self, range) -> bool - add(self, start, _end) -> bool - add(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_hexrays.boundaries_t.valuetype.cached_range(): - - cached_range(self) -> range_t - - -ida_hexrays.boundaries_t.valuetype.clear(): - - clear(self) - - -ida_hexrays.boundaries_t.valuetype.contains(): - - contains(self, ea) -> bool - contains(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.empty(): - - empty(self) -> bool - - -ida_hexrays.boundaries_t.valuetype.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_hexrays.boundaries_t.valuetype.find_range(): - - find_range(self, ea) -> range_t - - -ida_hexrays.boundaries_t.valuetype.getrange(): - - getrange(self, idx) -> range_t - - -ida_hexrays.boundaries_t.valuetype.has_common(): - - has_common(self, range) -> bool - has_common(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.includes(): - - includes(self, range) -> bool - - -ida_hexrays.boundaries_t.valuetype.intersect(): - - intersect(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.is_equal(): - - is_equal(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.is_subset_of(): - - is_subset_of(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.lastrange(): - - lastrange(self) -> range_t - - -ida_hexrays.boundaries_t.valuetype.next_addr(): - - next_addr(self, ea) -> ea_t - - -ida_hexrays.boundaries_t.valuetype.next_range(): - - next_range(self, ea) -> ea_t - - -ida_hexrays.boundaries_t.valuetype.nranges(): - - nranges(self) -> size_t - - -ida_hexrays.boundaries_t.valuetype.prev_addr(): - - prev_addr(self, ea) -> ea_t - - -ida_hexrays.boundaries_t.valuetype.prev_range(): - - prev_range(self, ea) -> ea_t - - -ida_hexrays.boundaries_t.valuetype.sub(): - - sub(self, range) -> bool - sub(self, ea) -> bool - sub(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.swap(): - - swap(self, r) - - -class ida_hexrays.carg_t(): - - Proxy of C++ carg_t class - - -ida_hexrays.carg_t.assign(): - - assign(self, r) -> cexpr_t - - -ida_hexrays.carg_t.calc_type(): - - calc_type(self, recursive) - - -ida_hexrays.carg_t.cexpr: - citem_t_cexpr_get(self) -> cexpr_t - -ida_hexrays.carg_t.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.carg_t.cleanup(): - - cleanup(self) - - -ida_hexrays.carg_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.carg_t.consume_cexpr(): - - consume_cexpr(self, e) - - -ida_hexrays.carg_t.contains_comma(): - - contains_comma(self, times=1) -> bool - - -ida_hexrays.carg_t.contains_comma_or_insn_or_label(): - - contains_comma_or_insn_or_label(self, maxcommas=1) -> bool - - -ida_hexrays.carg_t.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.carg_t.contains_insn(): - - contains_insn(self, times=1) -> bool - - -ida_hexrays.carg_t.contains_insn_or_label(): - - contains_insn_or_label(self) -> bool - - -ida_hexrays.carg_t.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.carg_t.contains_operator(): - - contains_operator(self, needed_op, times=1) -> bool - - -ida_hexrays.carg_t.cpadone(): - - cpadone(self) -> bool - - -ida_hexrays.carg_t.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.carg_t.equal_effect(): - - equal_effect(self, r) -> bool - - -ida_hexrays.carg_t.exflags: - cexpr_t_exflags_get(self) -> uint32 - -ida_hexrays.carg_t.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.carg_t.find_num_op(): - - find_num_op(self) -> cexpr_t - find_num_op(self) -> cexpr_t - - -ida_hexrays.carg_t.find_op(): - - find_op(self, _op) -> cexpr_t - find_op(self, _op) -> cexpr_t - - -ida_hexrays.carg_t.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.carg_t.formal_type: - carg_t_formal_type_get(self) -> tinfo_t - -ida_hexrays.carg_t.get_1num_op(): - - get_1num_op(self, o1, o2) -> bool - - -ida_hexrays.carg_t.get_const_value(): - - get_const_value(self) -> bool - - -ida_hexrays.carg_t.get_high_nbit_bound(): - - get_high_nbit_bound(self) -> bit_bound_t - - -ida_hexrays.carg_t.get_low_nbit_bound(): - - get_low_nbit_bound(self) -> int - - -ida_hexrays.carg_t.get_ptr_or_array(): - - get_ptr_or_array(self) -> cexpr_t - - -ida_hexrays.carg_t.get_type_sign(): - - get_type_sign(self) -> type_sign_t - - -ida_hexrays.carg_t.get_v(): - - get_v(self) -> var_ref_t - - -ida_hexrays.carg_t.has_side_effects(): - - has_side_effects(self) -> bool - - -ida_hexrays.carg_t.index: - citem_t_index_get(self) -> int - -ida_hexrays.carg_t.is_call_arg_of(): - - is_call_arg_of(self, parent) -> bool - - -ida_hexrays.carg_t.is_call_object_of(): - - is_call_object_of(self, parent) -> bool - - -ida_hexrays.carg_t.is_child_of(): - - is_child_of(self, parent) -> bool - - -ida_hexrays.carg_t.is_const_value(): - - is_const_value(self, _v) -> bool - - -ida_hexrays.carg_t.is_cstr(): - - is_cstr(self) -> bool - - -ida_hexrays.carg_t.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.carg_t.is_fpop(): - - is_fpop(self) -> bool - - -ida_hexrays.carg_t.is_jumpout(): - - is_jumpout(self) -> bool - - -ida_hexrays.carg_t.is_negative_const(): - - is_negative_const(self) -> bool - - -ida_hexrays.carg_t.is_nice_cond(): - - is_nice_cond(self) -> bool - - -ida_hexrays.carg_t.is_nice_expr(): - - is_nice_expr(self) -> bool - - -ida_hexrays.carg_t.is_non_negative_const(): - - is_non_negative_const(self) -> bool - - -ida_hexrays.carg_t.is_non_zero_const(): - - is_non_zero_const(self) -> bool - - -ida_hexrays.carg_t.is_odd_lvalue(): - - is_odd_lvalue(self) -> bool - - -ida_hexrays.carg_t.is_type_signed(): - - is_type_signed(self) -> bool - - -ida_hexrays.carg_t.is_type_unsigned(): - - is_type_unsigned(self) -> bool - - -ida_hexrays.carg_t.is_undef_val(): - - is_undef_val(self) -> bool - - -ida_hexrays.carg_t.is_vararg: - carg_t_is_vararg_get(self) -> bool - -ida_hexrays.carg_t.is_vftable(): - - is_vftable(self) -> bool - - -ida_hexrays.carg_t.is_zero_const(): - - is_zero_const(self) -> bool - - -ida_hexrays.carg_t.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.carg_t.maybe_ptr(): - - maybe_ptr(self) -> bool - - -ida_hexrays.carg_t.numval(): - - numval(self) -> uint64 - - -ida_hexrays.carg_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.carg_t.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.carg_t.operands: - - return a dictionary with the operands of a cexpr_t. - - -ida_hexrays.carg_t.print1(): - - print1(self, func) - - -ida_hexrays.carg_t.put_number(): - - put_number(self, func, value, nbytes, sign=no_sign) - - -ida_hexrays.carg_t.requires_lvalue(): - - requires_lvalue(self, child) -> bool - - -ida_hexrays.carg_t.set_cpadone(): - - set_cpadone(self) - - -ida_hexrays.carg_t.set_v(): - - set_v(self, v) - - -ida_hexrays.carg_t.set_vftable(): - - set_vftable(self) - - -ida_hexrays.carg_t.swap(): - - swap(self, r) - - -ida_hexrays.carg_t.theother(): - - theother(self, what) -> cexpr_t - theother(self, what) -> cexpr_t - - -ida_hexrays.carg_t.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.carg_t.type: - cexpr_t_type_get(self) -> tinfo_t - -class ida_hexrays.carglist_t(): - - Proxy of C++ carglist_t class - - -ida_hexrays.carglist_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.carglist_t.append(): - - push_back(self, x) - push_back(self) -> carg_t - - -ida_hexrays.carglist_t.at(): - - __getitem__(self, i) -> carg_t - - -ida_hexrays.carglist_t.begin(): - - begin(self) -> carg_t - begin(self) -> carg_t - - -ida_hexrays.carglist_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.carglist_t.clear(): - - clear(self) - - -ida_hexrays.carglist_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.carglist_t.empty(): - - empty(self) -> bool - - -ida_hexrays.carglist_t.end(): - - end(self) -> carg_t - end(self) -> carg_t - - -ida_hexrays.carglist_t.erase(): - - erase(self, it) -> carg_t - erase(self, first, last) -> carg_t - - -ida_hexrays.carglist_t.extract(): - - extract(self) -> carg_t - - -ida_hexrays.carglist_t.find(): - - find(self, x) -> carg_t - find(self, x) -> carg_t - - -ida_hexrays.carglist_t.flags: - carglist_t_flags_get(self) -> int - -ida_hexrays.carglist_t.functype: - carglist_t_functype_get(self) -> tinfo_t - -ida_hexrays.carglist_t.grow(): - - grow(self, x=carg_t()) - - -ida_hexrays.carglist_t.has(): - - has(self, x) -> bool - - -ida_hexrays.carglist_t.inject(): - - inject(self, s, len) - - -ida_hexrays.carglist_t.insert(): - - insert(self, it, x) -> carg_t - - -ida_hexrays.carglist_t.pop_back(): - - pop_back(self) - - -ida_hexrays.carglist_t.push_back(): - - push_back(self, x) - push_back(self) -> carg_t - - -ida_hexrays.carglist_t.qclear(): - - qclear(self) - - -ida_hexrays.carglist_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.carglist_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.carglist_t.size(): - - size(self) -> size_t - - -ida_hexrays.carglist_t.swap(): - - swap(self, r) - - -ida_hexrays.carglist_t.truncate(): - - truncate(self) - - -class ida_hexrays.casm_t(): - - Proxy of C++ casm_t class - - -ida_hexrays.casm_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.casm_t.append(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_hexrays.casm_t.at(): - - __getitem__(self, i) -> unsigned-ea-like-numeric-type & - - -ida_hexrays.casm_t.begin(): - - begin(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - begin(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_hexrays.casm_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.casm_t.clear(): - - clear(self) - - -ida_hexrays.casm_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.casm_t.empty(): - - empty(self) -> bool - - -ida_hexrays.casm_t.end(): - - end(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - end(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_hexrays.casm_t.erase(): - - erase(self, it) -> qvector< unsigned-ea-like-numeric-type >::iterator - erase(self, first, last) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.casm_t.extract(): - - extract(self) -> unsigned-ea-like-numeric-type * - - -ida_hexrays.casm_t.find(): - - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_hexrays.casm_t.has(): - - has(self, x) -> bool - - -ida_hexrays.casm_t.inject(): - - inject(self, s, len) - - -ida_hexrays.casm_t.insert(): - - insert(self, it, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.casm_t.one_insn(): - - one_insn(self) -> bool - - -ida_hexrays.casm_t.pop_back(): - - pop_back(self) - - -ida_hexrays.casm_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_hexrays.casm_t.qclear(): - - qclear(self) - - -ida_hexrays.casm_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.casm_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.casm_t.size(): - - size(self) -> size_t - - -ida_hexrays.casm_t.swap(): - - swap(self, r) - - -ida_hexrays.casm_t.truncate(): - - truncate(self) - - -class ida_hexrays.cblock_t(): - - Proxy of C++ cblock_t class - - -ida_hexrays.cblock_t.back(): - - back(self) -> cinsn_t - back(self) -> cinsn_t - - -ida_hexrays.cblock_t.begin(): - - begin(self) -> qlist_cinsn_t_iterator - - -ida_hexrays.cblock_t.clear(): - - clear(self) - - -ida_hexrays.cblock_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cblock_t.empty(): - - empty(self) -> bool - - -ida_hexrays.cblock_t.end(): - - end(self) -> qlist_cinsn_t_iterator - - -ida_hexrays.cblock_t.erase(): - - erase(self, p) -> qlist< cinsn_t >::iterator - erase(self, p1, p2) - erase(self, p) - - -ida_hexrays.cblock_t.front(): - - front(self) -> cinsn_t - front(self) -> cinsn_t - - -ida_hexrays.cblock_t.pop_back(): - - pop_back(self) - - -ida_hexrays.cblock_t.pop_front(): - - pop_front(self) - - -ida_hexrays.cblock_t.push_back(): - - push_back(self, x) - push_back(self) -> cinsn_t - - -ida_hexrays.cblock_t.push_front(): - - push_front(self, x) - - -ida_hexrays.cblock_t.rbegin(): - - rbegin(self) -> qlist< cinsn_t >::reverse_iterator - rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator - - -ida_hexrays.cblock_t.rend(): - - rend(self) -> qlist< cinsn_t >::reverse_iterator - rend(self) -> qlist< cinsn_t >::const_reverse_iterator - - -ida_hexrays.cblock_t.size(): - - size(self) -> size_t - - -ida_hexrays.cblock_t.swap(): - - swap(self, x) - - -class ida_hexrays.ccase_t(): - - Proxy of C++ ccase_t class - - -ida_hexrays.ccase_t._print(): - - _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) - - -ida_hexrays.ccase_t.assign(): - - assign(self, r) -> cinsn_t - - -ida_hexrays.ccase_t.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.ccase_t.cleanup(): - - cleanup(self) - - -ida_hexrays.ccase_t.collect_free_breaks(): - - collect_free_breaks(self, breaks) -> bool - - -ida_hexrays.ccase_t.collect_free_continues(): - - collect_free_continues(self, continues) -> bool - - -ida_hexrays.ccase_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.ccase_t.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.ccase_t.contains_free_break(): - - contains_free_break(self) -> bool - - -ida_hexrays.ccase_t.contains_free_continue(): - - contains_free_continue(self) -> bool - - -ida_hexrays.ccase_t.contains_insn(): - - contains_insn(self, type, times=1) -> bool - - -ida_hexrays.ccase_t.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.ccase_t.create_if(): - - create_if(self, cnd) -> cif_t - - -ida_hexrays.ccase_t.details: - - 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. - - -ida_hexrays.ccase_t.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.ccase_t.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.ccase_t.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.ccase_t.index: - citem_t_index_get(self) -> int - -ida_hexrays.ccase_t.insn_is_epilog(): - - insn_is_epilog(insn) -> bool - - -ida_hexrays.ccase_t.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.ccase_t.is_ordinary_flow(): - - is_ordinary_flow(self) -> bool - - -ida_hexrays.ccase_t.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.ccase_t.new_insn(): - - new_insn(self, insn_ea) -> cinsn_t - - -ida_hexrays.ccase_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.ccase_t.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.ccase_t.print1(): - - print1(self, func) - - -ida_hexrays.ccase_t.size(): - - size(self) -> size_t - - -ida_hexrays.ccase_t.swap(): - - swap(self, r) - - -ida_hexrays.ccase_t.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.ccase_t.value(): - - value(self, i) -> uint64 const & - - -ida_hexrays.ccase_t.values: - ccase_t_values_get(self) -> ulonglongvec_t - -ida_hexrays.ccase_t.zero(): - - zero(self) - - -class ida_hexrays.ccases_t(): - - Proxy of C++ ccases_t class - - -ida_hexrays.ccases_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.ccases_t.append(): - - push_back(self, x) - push_back(self) -> ccase_t - - -ida_hexrays.ccases_t.at(): - - __getitem__(self, i) -> ccase_t - - -ida_hexrays.ccases_t.begin(): - - begin(self) -> ccase_t - begin(self) -> ccase_t - - -ida_hexrays.ccases_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.ccases_t.clear(): - - clear(self) - - -ida_hexrays.ccases_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.ccases_t.empty(): - - empty(self) -> bool - - -ida_hexrays.ccases_t.end(): - - end(self) -> ccase_t - end(self) -> ccase_t - - -ida_hexrays.ccases_t.erase(): - - erase(self, it) -> ccase_t - erase(self, first, last) -> ccase_t - - -ida_hexrays.ccases_t.extract(): - - extract(self) -> ccase_t - - -ida_hexrays.ccases_t.find(): - - find(self, x) -> ccase_t - find(self, x) -> ccase_t - - -ida_hexrays.ccases_t.grow(): - - grow(self, x=ccase_t()) - - -ida_hexrays.ccases_t.has(): - - has(self, x) -> bool - - -ida_hexrays.ccases_t.inject(): - - inject(self, s, len) - - -ida_hexrays.ccases_t.insert(): - - insert(self, it, x) -> ccase_t - - -ida_hexrays.ccases_t.pop_back(): - - pop_back(self) - - -ida_hexrays.ccases_t.push_back(): - - push_back(self, x) - push_back(self) -> ccase_t - - -ida_hexrays.ccases_t.qclear(): - - qclear(self) - - -ida_hexrays.ccases_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.ccases_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.ccases_t.size(): - - size(self) -> size_t - - -ida_hexrays.ccases_t.swap(): - - swap(self, r) - - -ida_hexrays.ccases_t.truncate(): - - truncate(self) - - -class ida_hexrays.cdo_t(): - - Proxy of C++ cdo_t class - - -ida_hexrays.cdo_t.assign(): - - assign(self, r) -> cloop_t - - -ida_hexrays.cdo_t.body: - cloop_t_body_get(self) -> cinsn_t - -ida_hexrays.cdo_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cdo_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cdo_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -class ida_hexrays.ceinsn_t(): - - Proxy of C++ ceinsn_t class - - -ida_hexrays.ceinsn_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.cexpr_operands(): - - return a dictionary with the operands of a cexpr_t. - - -class ida_hexrays.cexpr_t(): - - Proxy of C++ cexpr_t class - - -ida_hexrays.cexpr_t.assign(): - - assign(self, r) -> cexpr_t - - -ida_hexrays.cexpr_t.calc_type(): - - calc_type(self, recursive) - - -ida_hexrays.cexpr_t.cexpr: - citem_t_cexpr_get(self) -> cexpr_t - -ida_hexrays.cexpr_t.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.cexpr_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cexpr_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cexpr_t.contains_comma(): - - contains_comma(self, times=1) -> bool - - -ida_hexrays.cexpr_t.contains_comma_or_insn_or_label(): - - contains_comma_or_insn_or_label(self, maxcommas=1) -> bool - - -ida_hexrays.cexpr_t.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.cexpr_t.contains_insn(): - - contains_insn(self, times=1) -> bool - - -ida_hexrays.cexpr_t.contains_insn_or_label(): - - contains_insn_or_label(self) -> bool - - -ida_hexrays.cexpr_t.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.cexpr_t.contains_operator(): - - contains_operator(self, needed_op, times=1) -> bool - - -ida_hexrays.cexpr_t.cpadone(): - - cpadone(self) -> bool - - -ida_hexrays.cexpr_t.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.cexpr_t.equal_effect(): - - equal_effect(self, r) -> bool - - -ida_hexrays.cexpr_t.exflags: - cexpr_t_exflags_get(self) -> uint32 - -ida_hexrays.cexpr_t.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.cexpr_t.find_num_op(): - - find_num_op(self) -> cexpr_t - find_num_op(self) -> cexpr_t - - -ida_hexrays.cexpr_t.find_op(): - - find_op(self, _op) -> cexpr_t - find_op(self, _op) -> cexpr_t - - -ida_hexrays.cexpr_t.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.cexpr_t.get_1num_op(): - - get_1num_op(self, o1, o2) -> bool - - -ida_hexrays.cexpr_t.get_const_value(): - - get_const_value(self) -> bool - - -ida_hexrays.cexpr_t.get_high_nbit_bound(): - - get_high_nbit_bound(self) -> bit_bound_t - - -ida_hexrays.cexpr_t.get_low_nbit_bound(): - - get_low_nbit_bound(self) -> int - - -ida_hexrays.cexpr_t.get_ptr_or_array(): - - get_ptr_or_array(self) -> cexpr_t - - -ida_hexrays.cexpr_t.get_type_sign(): - - get_type_sign(self) -> type_sign_t - - -ida_hexrays.cexpr_t.get_v(): - - get_v(self) -> var_ref_t - - -ida_hexrays.cexpr_t.has_side_effects(): - - has_side_effects(self) -> bool - - -ida_hexrays.cexpr_t.index: - citem_t_index_get(self) -> int - -ida_hexrays.cexpr_t.is_call_arg_of(): - - is_call_arg_of(self, parent) -> bool - - -ida_hexrays.cexpr_t.is_call_object_of(): - - is_call_object_of(self, parent) -> bool - - -ida_hexrays.cexpr_t.is_child_of(): - - is_child_of(self, parent) -> bool - - -ida_hexrays.cexpr_t.is_const_value(): - - is_const_value(self, _v) -> bool - - -ida_hexrays.cexpr_t.is_cstr(): - - is_cstr(self) -> bool - - -ida_hexrays.cexpr_t.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.cexpr_t.is_fpop(): - - is_fpop(self) -> bool - - -ida_hexrays.cexpr_t.is_jumpout(): - - is_jumpout(self) -> bool - - -ida_hexrays.cexpr_t.is_negative_const(): - - is_negative_const(self) -> bool - - -ida_hexrays.cexpr_t.is_nice_cond(): - - is_nice_cond(self) -> bool - - -ida_hexrays.cexpr_t.is_nice_expr(): - - is_nice_expr(self) -> bool - - -ida_hexrays.cexpr_t.is_non_negative_const(): - - is_non_negative_const(self) -> bool - - -ida_hexrays.cexpr_t.is_non_zero_const(): - - is_non_zero_const(self) -> bool - - -ida_hexrays.cexpr_t.is_odd_lvalue(): - - is_odd_lvalue(self) -> bool - - -ida_hexrays.cexpr_t.is_type_signed(): - - is_type_signed(self) -> bool - - -ida_hexrays.cexpr_t.is_type_unsigned(): - - is_type_unsigned(self) -> bool - - -ida_hexrays.cexpr_t.is_undef_val(): - - is_undef_val(self) -> bool - - -ida_hexrays.cexpr_t.is_vftable(): - - is_vftable(self) -> bool - - -ida_hexrays.cexpr_t.is_zero_const(): - - is_zero_const(self) -> bool - - -ida_hexrays.cexpr_t.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.cexpr_t.maybe_ptr(): - - maybe_ptr(self) -> bool - - -ida_hexrays.cexpr_t.numval(): - - numval(self) -> uint64 - - -ida_hexrays.cexpr_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.cexpr_t.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.cexpr_t.operands: - - return a dictionary with the operands of a cexpr_t. - - -ida_hexrays.cexpr_t.print1(): - - print1(self, func) - - -ida_hexrays.cexpr_t.put_number(): - - put_number(self, func, value, nbytes, sign=no_sign) - - -ida_hexrays.cexpr_t.requires_lvalue(): - - requires_lvalue(self, child) -> bool - - -ida_hexrays.cexpr_t.set_cpadone(): - - set_cpadone(self) - - -ida_hexrays.cexpr_t.set_v(): - - set_v(self, v) - - -ida_hexrays.cexpr_t.set_vftable(): - - set_vftable(self) - - -ida_hexrays.cexpr_t.swap(): - - swap(self, r) - - -ida_hexrays.cexpr_t.theother(): - - theother(self, what) -> cexpr_t - theother(self, what) -> cexpr_t - - -ida_hexrays.cexpr_t.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.cexpr_t.type: - cexpr_t_type_get(self) -> tinfo_t - -class ida_hexrays.cfor_t(): - - Proxy of C++ cfor_t class - - -ida_hexrays.cfor_t.assign(): - - assign(self, r) -> cloop_t - - -ida_hexrays.cfor_t.body: - cloop_t_body_get(self) -> cinsn_t - -ida_hexrays.cfor_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cfor_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cfor_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.cfor_t.init: - cfor_t_init_get(self) -> cexpr_t - -ida_hexrays.cfor_t.step: - cfor_t_step_get(self) -> cexpr_t - -class ida_hexrays.cfunc_parentee_t(): - - Proxy of C++ cfunc_parentee_t class - - -ida_hexrays.cfunc_parentee_t.apply_to(): - - apply_to(self, item, parent) -> int - - -ida_hexrays.cfunc_parentee_t.apply_to_exprs(): - - apply_to_exprs(self, item, parent) -> int - - -ida_hexrays.cfunc_parentee_t.calc_rvalue_type(): - - calc_rvalue_type(self, target, e) -> bool - - -ida_hexrays.cfunc_parentee_t.clr_prune(): - - clr_prune(self) - - -ida_hexrays.cfunc_parentee_t.clr_restart(): - - clr_restart(self) - - -ida_hexrays.cfunc_parentee_t.cv_flags: - ctree_visitor_t_cv_flags_get(self) -> int - -ida_hexrays.cfunc_parentee_t.func: - cfunc_parentee_t_func_get(self) -> cfunc_t - -ida_hexrays.cfunc_parentee_t.is_postorder(): - - is_postorder(self) -> bool - - -ida_hexrays.cfunc_parentee_t.leave_expr(): - - leave_expr(self, arg0) -> int - - -ida_hexrays.cfunc_parentee_t.leave_insn(): - - leave_insn(self, arg0) -> int - - -ida_hexrays.cfunc_parentee_t.maintain_parents(): - - maintain_parents(self) -> bool - - -ida_hexrays.cfunc_parentee_t.must_prune(): - - must_prune(self) -> bool - - -ida_hexrays.cfunc_parentee_t.must_restart(): - - must_restart(self) -> bool - - -ida_hexrays.cfunc_parentee_t.only_insns(): - - only_insns(self) -> bool - - -ida_hexrays.cfunc_parentee_t.parent_expr(): - - parent_expr(self) -> cexpr_t - - -ida_hexrays.cfunc_parentee_t.parent_insn(): - - parent_insn(self) -> cinsn_t - - -ida_hexrays.cfunc_parentee_t.parents: - ctree_visitor_t_parents_get(self) -> ctree_items_t - -ida_hexrays.cfunc_parentee_t.prune_now(): - - prune_now(self) - - -ida_hexrays.cfunc_parentee_t.recalc_parent_types(): - - recalc_parent_types(self) -> bool - - -ida_hexrays.cfunc_parentee_t.set_restart(): - - set_restart(self) - - -ida_hexrays.cfunc_parentee_t.visit_expr(): - - visit_expr(self, arg0) -> int - - -ida_hexrays.cfunc_parentee_t.visit_insn(): - - visit_insn(self, arg0) -> int - - -class ida_hexrays.cfunc_t(): - - Proxy of C++ cfunc_t class - - -ida_hexrays.cfunc_t.argidx: - cfunc_t_argidx_get(self) -> intvec_t - -ida_hexrays.cfunc_t.body: - cfunc_t_body_get(self) -> cinsn_t - -ida_hexrays.cfunc_t.boundaries: - - get_boundaries(self) -> boundaries_t - - -ida_hexrays.cfunc_t.build_c_tree(): - - build_c_tree(self) - - -ida_hexrays.cfunc_t.del_orphan_cmts(): - - del_orphan_cmts(self) -> int - - -ida_hexrays.cfunc_t.eamap: - - get_eamap(self) -> eamap_t - - -ida_hexrays.cfunc_t.entry_ea: - cfunc_t_entry_ea_get(self) -> ea_t - -ida_hexrays.cfunc_t.find_item_coords(): - - find_item_coords(self, item, px, py) -> bool - find_item_coords(self, item) -> PyObject * - - -ida_hexrays.cfunc_t.find_label(): - - find_label(self, label) -> citem_t - - -ida_hexrays.cfunc_t.gather_derefs(): - - gather_derefs(self, ci, udm=None) -> bool - - -ida_hexrays.cfunc_t.get_boundaries(): - - get_boundaries(self) -> boundaries_t - - -ida_hexrays.cfunc_t.get_eamap(): - - get_eamap(self) -> eamap_t - - -ida_hexrays.cfunc_t.get_func_type(): - - get_func_type(self, type) -> bool - - -ida_hexrays.cfunc_t.get_line_item(): - - get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool - - -ida_hexrays.cfunc_t.get_lvars(): - - get_lvars(self) -> lvars_t - - -ida_hexrays.cfunc_t.get_pseudocode(): - - get_pseudocode(self) -> strvec_t - - -ida_hexrays.cfunc_t.get_stkoff_delta(): - - get_stkoff_delta(self) -> sval_t - - -ida_hexrays.cfunc_t.get_user_cmt(): - - get_user_cmt(self, loc, rt) -> char const * - - -ida_hexrays.cfunc_t.get_user_iflags(): - - get_user_iflags(self, loc) -> int32 - - -ida_hexrays.cfunc_t.get_user_union_selection(): - - get_user_union_selection(self, ea, path) -> bool - - -ida_hexrays.cfunc_t.get_warnings(): - - get_warnings(self) -> hexwarns_t - - -ida_hexrays.cfunc_t.has_orphan_cmts(): - - has_orphan_cmts(self) -> bool - - -ida_hexrays.cfunc_t.hdrlines: - cfunc_t_hdrlines_get(self) -> int - -ida_hexrays.cfunc_t.lvars: - - get_lvars(self) -> lvars_t - - -ida_hexrays.cfunc_t.maturity: - cfunc_t_maturity_get(self) -> ctree_maturity_t - -ida_hexrays.cfunc_t.mba: - cfunc_t_mba_get(self) -> mbl_array_t - -ida_hexrays.cfunc_t.numforms: - cfunc_t_numforms_get(self) -> user_numforms_t - -ida_hexrays.cfunc_t.print_dcl(): - - print_dcl(self) - - -ida_hexrays.cfunc_t.print_func(): - - print_func(self, vp) - - -ida_hexrays.cfunc_t.pseudocode: - - get_pseudocode(self) -> strvec_t - - -ida_hexrays.cfunc_t.refcnt: - cfunc_t_refcnt_get(self) -> int - -ida_hexrays.cfunc_t.refresh_func_ctext(): - - refresh_func_ctext(self) - - -ida_hexrays.cfunc_t.release(): - - release(self) - - -ida_hexrays.cfunc_t.remove_unused_labels(): - - remove_unused_labels(self) - - -ida_hexrays.cfunc_t.save_user_cmts(): - - save_user_cmts(self) - - -ida_hexrays.cfunc_t.save_user_iflags(): - - save_user_iflags(self) - - -ida_hexrays.cfunc_t.save_user_labels(): - - save_user_labels(self) - - -ida_hexrays.cfunc_t.save_user_numforms(): - - save_user_numforms(self) - - -ida_hexrays.cfunc_t.save_user_unions(): - - save_user_unions(self) - - -ida_hexrays.cfunc_t.set_user_cmt(): - - set_user_cmt(self, loc, cmt) - - -ida_hexrays.cfunc_t.set_user_iflags(): - - set_user_iflags(self, loc, iflags) - - -ida_hexrays.cfunc_t.set_user_union_selection(): - - set_user_union_selection(self, ea, path) - - -ida_hexrays.cfunc_t.statebits: - cfunc_t_statebits_get(self) -> int - -ida_hexrays.cfunc_t.treeitems: - cfunc_t_treeitems_get(self) -> ctree_items_t - -ida_hexrays.cfunc_t.type: - - Get the function's return type tinfo_t object. - - -ida_hexrays.cfunc_t.user_cmts: - cfunc_t_user_cmts_get(self) -> user_cmts_t - -ida_hexrays.cfunc_t.user_iflags: - cfunc_t_user_iflags_get(self) -> user_iflags_t - -ida_hexrays.cfunc_t.user_labels: - cfunc_t_user_labels_get(self) -> user_labels_t - -ida_hexrays.cfunc_t.user_unions: - cfunc_t_user_unions_get(self) -> user_unions_t - -ida_hexrays.cfunc_t.verify(): - - verify(self, aul, even_without_debugger) - - -ida_hexrays.cfunc_t.warnings: - - get_warnings(self) -> hexwarns_t - - -ida_hexrays.cfunc_type(): - - Get the function's return type tinfo_t object. - - -class ida_hexrays.cfuncptr_t(): - - Proxy of C++ qrefcnt_t<(cfunc_t)> class - - -ida_hexrays.cfuncptr_t.argidx: - cfuncptr_t_argidx_get(self) -> intvec_t - -ida_hexrays.cfuncptr_t.body: - cfuncptr_t_body_get(self) -> cinsn_t - -ida_hexrays.cfuncptr_t.build_c_tree(): - - build_c_tree(self) - - -ida_hexrays.cfuncptr_t.del_orphan_cmts(): - - del_orphan_cmts(self) -> int - - -ida_hexrays.cfuncptr_t.entry_ea: - cfuncptr_t_entry_ea_get(self) -> ea_t - -ida_hexrays.cfuncptr_t.find_item_coords(): - - find_item_coords(self, item, px, py) -> bool - find_item_coords(self, item) -> PyObject * - - -ida_hexrays.cfuncptr_t.find_label(): - - find_label(self, label) -> citem_t - - -ida_hexrays.cfuncptr_t.gather_derefs(): - - gather_derefs(self, ci, udm=None) -> bool - - -ida_hexrays.cfuncptr_t.get_boundaries(): - - get_boundaries(self) -> boundaries_t - - -ida_hexrays.cfuncptr_t.get_eamap(): - - get_eamap(self) -> eamap_t - - -ida_hexrays.cfuncptr_t.get_func_type(): - - get_func_type(self, type) -> bool - - -ida_hexrays.cfuncptr_t.get_line_item(): - - get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool - - -ida_hexrays.cfuncptr_t.get_lvars(): - - get_lvars(self) -> lvars_t - - -ida_hexrays.cfuncptr_t.get_pseudocode(): - - get_pseudocode(self) -> strvec_t - - -ida_hexrays.cfuncptr_t.get_stkoff_delta(): - - get_stkoff_delta(self) -> sval_t - - -ida_hexrays.cfuncptr_t.get_user_cmt(): - - get_user_cmt(self, loc, rt) -> char const * - - -ida_hexrays.cfuncptr_t.get_user_iflags(): - - get_user_iflags(self, loc) -> int32 - - -ida_hexrays.cfuncptr_t.get_user_union_selection(): - - get_user_union_selection(self, ea, path) -> bool - - -ida_hexrays.cfuncptr_t.get_warnings(): - - get_warnings(self) -> hexwarns_t - - -ida_hexrays.cfuncptr_t.has_orphan_cmts(): - - has_orphan_cmts(self) -> bool - - -ida_hexrays.cfuncptr_t.hdrlines: - cfuncptr_t_hdrlines_get(self) -> int - -ida_hexrays.cfuncptr_t.maturity: - cfuncptr_t_maturity_get(self) -> ctree_maturity_t - -ida_hexrays.cfuncptr_t.mba: - cfuncptr_t_mba_get(self) -> mbl_array_t - -ida_hexrays.cfuncptr_t.numforms: - cfuncptr_t_numforms_get(self) -> user_numforms_t - -ida_hexrays.cfuncptr_t.print_dcl(): - - print_dcl(self) - - -ida_hexrays.cfuncptr_t.print_func(): - - print_func(self, vp) - - -ida_hexrays.cfuncptr_t.refcnt: - cfuncptr_t_refcnt_get(self) -> int - -ida_hexrays.cfuncptr_t.refresh_func_ctext(): - - refresh_func_ctext(self) - - -ida_hexrays.cfuncptr_t.release(): - - release(self) - - -ida_hexrays.cfuncptr_t.remove_unused_labels(): - - remove_unused_labels(self) - - -ida_hexrays.cfuncptr_t.reset(): - - reset(self) - - -ida_hexrays.cfuncptr_t.save_user_cmts(): - - save_user_cmts(self) - - -ida_hexrays.cfuncptr_t.save_user_iflags(): - - save_user_iflags(self) - - -ida_hexrays.cfuncptr_t.save_user_labels(): - - save_user_labels(self) - - -ida_hexrays.cfuncptr_t.save_user_numforms(): - - save_user_numforms(self) - - -ida_hexrays.cfuncptr_t.save_user_unions(): - - save_user_unions(self) - - -ida_hexrays.cfuncptr_t.set_user_cmt(): - - set_user_cmt(self, loc, cmt) - - -ida_hexrays.cfuncptr_t.set_user_iflags(): - - set_user_iflags(self, loc, iflags) - - -ida_hexrays.cfuncptr_t.set_user_union_selection(): - - set_user_union_selection(self, ea, path) - - -ida_hexrays.cfuncptr_t.statebits: - cfuncptr_t_statebits_get(self) -> int - -ida_hexrays.cfuncptr_t.treeitems: - cfuncptr_t_treeitems_get(self) -> ctree_items_t - -ida_hexrays.cfuncptr_t.user_cmts: - cfuncptr_t_user_cmts_get(self) -> user_cmts_t - -ida_hexrays.cfuncptr_t.user_iflags: - cfuncptr_t_user_iflags_get(self) -> user_iflags_t - -ida_hexrays.cfuncptr_t.user_labels: - cfuncptr_t_user_labels_get(self) -> user_labels_t - -ida_hexrays.cfuncptr_t.user_unions: - cfuncptr_t_user_unions_get(self) -> user_unions_t - -ida_hexrays.cfuncptr_t.verify(): - - verify(self, aul, even_without_debugger) - - -class ida_hexrays.cgoto_t(): - - Proxy of C++ cgoto_t class - - -ida_hexrays.cgoto_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cgoto_t.label_num: - cgoto_t_label_num_get(self) -> int - -class ida_hexrays.chain_keeper_t(): - - Proxy of C++ chain_keeper_t class - - -ida_hexrays.chain_keeper_t.back(): - - back(self) -> block_chains_t - - -ida_hexrays.chain_keeper_t.for_all_chains(): - - for_all_chains(self, cv, gca) -> int - - -ida_hexrays.chain_keeper_t.front(): - - front(self) -> block_chains_t - - -class ida_hexrays.chain_t(): - - Proxy of C++ chain_t class - - -ida_hexrays.chain_t._print(): - - _print(self) - - -ida_hexrays.chain_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.chain_t.append(): - - push_back(self, x) - push_back(self) -> int & - - -ida_hexrays.chain_t.append_list(): - - append_list(self, list) - - -ida_hexrays.chain_t.at(): - - __getitem__(self, i) -> int const & - - -ida_hexrays.chain_t.begin(): - - begin(self) -> qvector< int >::iterator - begin(self) -> qvector< int >::const_iterator - - -ida_hexrays.chain_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.chain_t.clear(): - - clear(self) - - -ida_hexrays.chain_t.clear_varnum(): - - clear_varnum(self) - - -ida_hexrays.chain_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.chain_t.empty(): - - empty(self) -> bool - - -ida_hexrays.chain_t.end(): - - end(self) -> qvector< int >::iterator - end(self) -> qvector< int >::const_iterator - - -ida_hexrays.chain_t.endoff(): - - endoff(self) -> voff_t - - -ida_hexrays.chain_t.erase(): - - erase(self, it) -> qvector< int >::iterator - erase(self, first, last) -> qvector< int >::iterator - - -ida_hexrays.chain_t.extract(): - - extract(self) -> int * - - -ida_hexrays.chain_t.find(): - - find(self, x) -> qvector< int >::iterator - find(self, x) -> qvector< int >::const_iterator - - -ida_hexrays.chain_t.flags: - chain_t_flags_get(self) -> uchar - -ida_hexrays.chain_t.get_reg(): - - get_reg(self) -> mreg_t - - -ida_hexrays.chain_t.get_stkoff(): - - get_stkoff(self) -> sval_t - - -ida_hexrays.chain_t.has(): - - has(self, x) -> bool - - -ida_hexrays.chain_t.includes(): - - includes(self, r) -> bool - - -ida_hexrays.chain_t.inject(): - - inject(self, s, len) - - -ida_hexrays.chain_t.insert(): - - insert(self, it, x) -> qvector< int >::iterator - - -ida_hexrays.chain_t.is_fake(): - - is_fake(self) -> bool - - -ida_hexrays.chain_t.is_inited(): - - is_inited(self) -> bool - - -ida_hexrays.chain_t.is_overlapped(): - - is_overlapped(self) -> bool - - -ida_hexrays.chain_t.is_passreg(): - - is_passreg(self) -> bool - - -ida_hexrays.chain_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.chain_t.is_replaced(): - - is_replaced(self) -> bool - - -ida_hexrays.chain_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_hexrays.chain_t.is_term(): - - is_term(self) -> bool - - -ida_hexrays.chain_t.key(): - - key(self) -> voff_t - - -ida_hexrays.chain_t.overlap(): - - overlap(self, r) -> bool - - -ida_hexrays.chain_t.pop_back(): - - pop_back(self) - - -ida_hexrays.chain_t.push_back(): - - push_back(self, x) - push_back(self) -> int & - - -ida_hexrays.chain_t.qclear(): - - qclear(self) - - -ida_hexrays.chain_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.chain_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.chain_t.set_inited(): - - set_inited(self, b) - - -ida_hexrays.chain_t.set_overlapped(): - - set_overlapped(self, b) - - -ida_hexrays.chain_t.set_replaced(): - - set_replaced(self, b) - - -ida_hexrays.chain_t.set_term(): - - set_term(self, b) - - -ida_hexrays.chain_t.set_value(): - - set_value(self, r) - - -ida_hexrays.chain_t.size(): - - size(self) -> size_t - - -ida_hexrays.chain_t.swap(): - - swap(self, r) - - -ida_hexrays.chain_t.truncate(): - - truncate(self) - - -ida_hexrays.chain_t.varnum: - chain_t_varnum_get(self) -> int - -ida_hexrays.chain_t.width: - chain_t_width_get(self) -> int - -class ida_hexrays.chain_visitor_t(): - - Proxy of C++ chain_visitor_t class - - -ida_hexrays.chain_visitor_t.parent: - chain_visitor_t_parent_get(self) -> block_chains_t - -ida_hexrays.chain_visitor_t.visit_chain(): - - visit_chain(self, nblock, ch) -> int - - -ida_hexrays.checkout_hexrays_license(): - - checkout_hexrays_license(silent) -> bool - - - Check out a floating decompiler license. This function will display a - dialog box if the license is not available. For non-floating licenses - this function is effectively no-op. It is not necessary to call this - function before decompiling. If the license was not checked out, the - decompiler will automatically do it. This function can be used to - check out a license in advance and ensure that a license is available. - - @param silent: silently fail if the license can not be checked out. - (C++: bool) - @return: false if failed - - -class ida_hexrays.cif_t(): - - Proxy of C++ cif_t class - - -ida_hexrays.cif_t.assign(): - - assign(self, r) -> cif_t - - -ida_hexrays.cif_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cif_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cif_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.cif_t.ielse: - cif_t_ielse_get(self) -> cinsn_t - -ida_hexrays.cif_t.ithen: - cif_t_ithen_get(self) -> cinsn_t - -ida_hexrays.cinsn_details(): - - 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. - - -class ida_hexrays.cinsn_t(): - - Proxy of C++ cinsn_t class - - -ida_hexrays.cinsn_t._print(): - - _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) - - -ida_hexrays.cinsn_t.assign(): - - assign(self, r) -> cinsn_t - - -ida_hexrays.cinsn_t.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.cinsn_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cinsn_t.collect_free_breaks(): - - collect_free_breaks(self, breaks) -> bool - - -ida_hexrays.cinsn_t.collect_free_continues(): - - collect_free_continues(self, continues) -> bool - - -ida_hexrays.cinsn_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cinsn_t.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.cinsn_t.contains_free_break(): - - contains_free_break(self) -> bool - - -ida_hexrays.cinsn_t.contains_free_continue(): - - contains_free_continue(self) -> bool - - -ida_hexrays.cinsn_t.contains_insn(): - - contains_insn(self, type, times=1) -> bool - - -ida_hexrays.cinsn_t.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.cinsn_t.create_if(): - - create_if(self, cnd) -> cif_t - - -ida_hexrays.cinsn_t.details: - - 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. - - -ida_hexrays.cinsn_t.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.cinsn_t.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.cinsn_t.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.cinsn_t.index: - citem_t_index_get(self) -> int - -ida_hexrays.cinsn_t.insn_is_epilog(): - - insn_is_epilog(insn) -> bool - - -ida_hexrays.cinsn_t.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.cinsn_t.is_ordinary_flow(): - - is_ordinary_flow(self) -> bool - - -ida_hexrays.cinsn_t.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.cinsn_t.new_insn(): - - new_insn(self, insn_ea) -> cinsn_t - - -ida_hexrays.cinsn_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.cinsn_t.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.cinsn_t.print1(): - - print1(self, func) - - -ida_hexrays.cinsn_t.swap(): - - swap(self, r) - - -ida_hexrays.cinsn_t.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.cinsn_t.zero(): - - zero(self) - - -ida_hexrays.cinsn_t_insn_is_epilog(): - - cinsn_t_insn_is_epilog(insn) -> bool - - -class ida_hexrays.cinsnptrvec_t(): - - Proxy of C++ qvector<(p.cinsn_t)> class - - -ida_hexrays.cinsnptrvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.cinsnptrvec_t.append(): - - push_back(self, x) - push_back(self) -> cinsn_t *& - - -ida_hexrays.cinsnptrvec_t.at(): - - __getitem__(self, i) -> cinsn_t - - -ida_hexrays.cinsnptrvec_t.begin(): - - begin(self) -> qvector< cinsn_t * >::iterator - begin(self) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.cinsnptrvec_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.cinsnptrvec_t.clear(): - - clear(self) - - -ida_hexrays.cinsnptrvec_t.empty(): - - empty(self) -> bool - - -ida_hexrays.cinsnptrvec_t.end(): - - end(self) -> qvector< cinsn_t * >::iterator - end(self) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.cinsnptrvec_t.erase(): - - erase(self, it) -> qvector< cinsn_t * >::iterator - erase(self, first, last) -> qvector< cinsn_t * >::iterator - - -ida_hexrays.cinsnptrvec_t.extract(): - - extract(self) -> cinsn_t ** - - -ida_hexrays.cinsnptrvec_t.find(): - - find(self, x) -> qvector< cinsn_t * >::iterator - find(self, x) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.cinsnptrvec_t.has(): - - has(self, x) -> bool - - -ida_hexrays.cinsnptrvec_t.inject(): - - inject(self, s, len) - - -ida_hexrays.cinsnptrvec_t.insert(): - - insert(self, it, x) -> qvector< cinsn_t * >::iterator - - -ida_hexrays.cinsnptrvec_t.pop_back(): - - pop_back(self) - - -ida_hexrays.cinsnptrvec_t.push_back(): - - push_back(self, x) - push_back(self) -> cinsn_t *& - - -ida_hexrays.cinsnptrvec_t.qclear(): - - qclear(self) - - -ida_hexrays.cinsnptrvec_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.cinsnptrvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.cinsnptrvec_t.size(): - - size(self) -> size_t - - -ida_hexrays.cinsnptrvec_t.swap(): - - swap(self, r) - - -ida_hexrays.cinsnptrvec_t.truncate(): - - truncate(self) - - -class ida_hexrays.citem_cmt_t(): - - Proxy of C++ citem_cmt_t class - - -ida_hexrays.citem_cmt_t.c_str(): - - c_str(self) -> char const * - - -ida_hexrays.citem_cmt_t.used: - citem_cmt_t_used_get(self) -> bool - -class ida_hexrays.citem_locator_t(): - - Proxy of C++ citem_locator_t class - - -ida_hexrays.citem_locator_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.citem_locator_t.ea: - citem_locator_t_ea_get(self) -> ea_t - -ida_hexrays.citem_locator_t.op: - citem_locator_t_op_get(self) -> ctype_t - -class ida_hexrays.citem_t(): - - Proxy of C++ citem_t class - - -ida_hexrays.citem_t.cexpr: - citem_t_cexpr_get(self) -> cexpr_t - -ida_hexrays.citem_t.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.citem_t.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.citem_t.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.citem_t.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.citem_t.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.citem_t.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.citem_t.index: - citem_t_index_get(self) -> int - -ida_hexrays.citem_t.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.citem_t.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.citem_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.citem_t.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.citem_t.print1(): - - print1(self, func) - - -ida_hexrays.citem_t.swap(): - - swap(self, r) - - -ida_hexrays.citem_t.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.citem_to_specific_type(): - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.clear_cached_cfuncs(): - - clear_cached_cfuncs() - - - Flush all cached decompilation results. - - -class ida_hexrays.cloop_t(): - - Proxy of C++ cloop_t class - - -ida_hexrays.cloop_t.assign(): - - assign(self, r) -> cloop_t - - -ida_hexrays.cloop_t.body: - cloop_t_body_get(self) -> cinsn_t - -ida_hexrays.cloop_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cloop_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.close_pseudocode(): - - close_pseudocode(f) -> bool - - - Close pseudocode window. - - @param f: pointer to window (C++: TWidget *) - @return: false if failed - - -class ida_hexrays.cnumber_t(): - - Proxy of C++ cnumber_t class - - -ida_hexrays.cnumber_t._print(): - - _print(self, type, parent=None, nice_stroff=None) - - -ida_hexrays.cnumber_t.assign(): - - assign(self, v, nbytes, sign) - - -ida_hexrays.cnumber_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cnumber_t.nf: - cnumber_t_nf_get(self) -> number_format_t - -ida_hexrays.cnumber_t.value(): - - value(self, type) -> uint64 - - -class ida_hexrays.codegen_t(): - - Proxy of C++ codegen_t class - - -ida_hexrays.codegen_t.analyze_prolog(): - - analyze_prolog(self, fc, reachable) -> merror_t - - -ida_hexrays.codegen_t.emit(): - - emit(self, code, width, l, r, d, offsize) -> minsn_t - emit(self, code, l, r, d) -> minsn_t - - -ida_hexrays.codegen_t.emit_micro_mvm(): - - emit_micro_mvm(self, code, dtype, l, r, d, offsize) -> minsn_t - - -ida_hexrays.codegen_t.gen_micro(): - - gen_micro(self) -> merror_t - - -ida_hexrays.codegen_t.ignore_micro: - codegen_t_ignore_micro_get(self) -> char - -ida_hexrays.codegen_t.insn: - codegen_t_insn_get(self) -> insn_t * - -ida_hexrays.codegen_t.load_operand(): - - load_operand(self, opnum) -> mreg_t - - -ida_hexrays.codegen_t.mb: - codegen_t_mb_get(self) -> mblock_t - -ida_hexrays.codegen_t.mba: - codegen_t_mba_get(self) -> mbl_array_t - -ida_hexrays.convert_to_user_call(): - - convert_to_user_call(udc, cdg) -> merror_t - - - try to generate user-defined call for an instruction - - @param udc (C++: const udcall_t &) - @param cdg (C++: codegen_t &) - @return: Microcode error codes code: MERR_OK - user-defined call - generated else - error (MERR_INSN == inacceptable udc.tif) - - -ida_hexrays.create_field_name(): - - create_field_name(type, offset=BADADDR) -> qstring - - -ida_hexrays.create_typedef(): - - create_typedef(name) -> tinfo_t - create_typedef(n) -> tinfo_t - - - Create a reference to a named type. - - @param name: type name (C++: const char *) - @return: type which refers to the specified name. For example, if name - is "DWORD", the type info which refers to "DWORD" is created. - - -class ida_hexrays.creturn_t(): - - Proxy of C++ creturn_t class - - -ida_hexrays.creturn_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.creturn_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -class ida_hexrays.cswitch_t(): - - Proxy of C++ cswitch_t class - - -ida_hexrays.cswitch_t.cases: - cswitch_t_cases_get(self) -> ccases_t - -ida_hexrays.cswitch_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cswitch_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.cswitch_t.mvnf: - cswitch_t_mvnf_get(self) -> cnumber_t - -class ida_hexrays.ctext_position_t(): - - Proxy of C++ ctext_position_t class - - -ida_hexrays.ctext_position_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.ctext_position_t.in_ctree(): - - in_ctree(self, hdrlines) -> bool - - -ida_hexrays.ctext_position_t.lnnum: - ctext_position_t_lnnum_get(self) -> int - -ida_hexrays.ctext_position_t.x: - ctext_position_t_x_get(self) -> int - -ida_hexrays.ctext_position_t.y: - ctext_position_t_y_get(self) -> int - -class ida_hexrays.ctree_anchor_t(): - - Proxy of C++ ctree_anchor_t class - - -ida_hexrays.ctree_anchor_t.get_index(): - - get_index(self) -> int - - -ida_hexrays.ctree_anchor_t.get_itp(): - - get_itp(self) -> item_preciser_t - - -ida_hexrays.ctree_anchor_t.is_blkcmt_anchor(): - - is_blkcmt_anchor(self) -> bool - - -ida_hexrays.ctree_anchor_t.is_citem_anchor(): - - is_citem_anchor(self) -> bool - - -ida_hexrays.ctree_anchor_t.is_itp_anchor(): - - is_itp_anchor(self) -> bool - - -ida_hexrays.ctree_anchor_t.is_lvar_anchor(): - - is_lvar_anchor(self) -> bool - - -ida_hexrays.ctree_anchor_t.is_valid_anchor(): - - is_valid_anchor(self) -> bool - - -ida_hexrays.ctree_anchor_t.value: - ctree_anchor_t_value_get(self) -> uval_t - -class ida_hexrays.ctree_item_t(): - - Proxy of C++ ctree_item_t class - - -ida_hexrays.ctree_item_t.citype: - ctree_item_t_citype_get(self) -> cursor_item_type_t - -ida_hexrays.ctree_item_t.get_ea(): - - get_ea(self) -> ea_t - - -ida_hexrays.ctree_item_t.get_label_num(): - - get_label_num(self, gln_flags) -> int - - -ida_hexrays.ctree_item_t.get_lvar(): - - get_lvar(self) -> lvar_t - - -ida_hexrays.ctree_item_t.get_memptr(): - - get_memptr(self, p_sptr=None) -> member_t * - - -ida_hexrays.ctree_item_t.is_citem(): - - is_citem(self) -> bool - - -ida_hexrays.ctree_item_t.loc: - ctree_item_t_loc_get(self) -> treeloc_t - -class ida_hexrays.ctree_items_t(): - - Proxy of C++ qvector<(p.citem_t)> class - - -ida_hexrays.ctree_items_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.ctree_items_t.append(): - - push_back(self, x) - push_back(self) -> citem_t *& - - -ida_hexrays.ctree_items_t.at(): - - __getitem__(self, i) -> citem_t - - -ida_hexrays.ctree_items_t.begin(): - - begin(self) -> qvector< citem_t * >::iterator - begin(self) -> qvector< citem_t * >::const_iterator - - -ida_hexrays.ctree_items_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.ctree_items_t.clear(): - - clear(self) - - -ida_hexrays.ctree_items_t.empty(): - - empty(self) -> bool - - -ida_hexrays.ctree_items_t.end(): - - end(self) -> qvector< citem_t * >::iterator - end(self) -> qvector< citem_t * >::const_iterator - - -ida_hexrays.ctree_items_t.erase(): - - erase(self, it) -> qvector< citem_t * >::iterator - erase(self, first, last) -> qvector< citem_t * >::iterator - - -ida_hexrays.ctree_items_t.extract(): - - extract(self) -> citem_t ** - - -ida_hexrays.ctree_items_t.find(): - - find(self, x) -> qvector< citem_t * >::iterator - find(self, x) -> qvector< citem_t * >::const_iterator - - -ida_hexrays.ctree_items_t.has(): - - has(self, x) -> bool - - -ida_hexrays.ctree_items_t.inject(): - - inject(self, s, len) - - -ida_hexrays.ctree_items_t.insert(): - - insert(self, it, x) -> qvector< citem_t * >::iterator - - -ida_hexrays.ctree_items_t.pop_back(): - - pop_back(self) - - -ida_hexrays.ctree_items_t.push_back(): - - push_back(self, x) - push_back(self) -> citem_t *& - - -ida_hexrays.ctree_items_t.qclear(): - - qclear(self) - - -ida_hexrays.ctree_items_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.ctree_items_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.ctree_items_t.size(): - - size(self) -> size_t - - -ida_hexrays.ctree_items_t.swap(): - - swap(self, r) - - -ida_hexrays.ctree_items_t.truncate(): - - truncate(self) - - -class ida_hexrays.ctree_parentee_t(): - - Proxy of C++ ctree_parentee_t class - - -ida_hexrays.ctree_parentee_t.apply_to(): - - apply_to(self, item, parent) -> int - - -ida_hexrays.ctree_parentee_t.apply_to_exprs(): - - apply_to_exprs(self, item, parent) -> int - - -ida_hexrays.ctree_parentee_t.clr_prune(): - - clr_prune(self) - - -ida_hexrays.ctree_parentee_t.clr_restart(): - - clr_restart(self) - - -ida_hexrays.ctree_parentee_t.cv_flags: - ctree_visitor_t_cv_flags_get(self) -> int - -ida_hexrays.ctree_parentee_t.is_postorder(): - - is_postorder(self) -> bool - - -ida_hexrays.ctree_parentee_t.leave_expr(): - - leave_expr(self, arg0) -> int - - -ida_hexrays.ctree_parentee_t.leave_insn(): - - leave_insn(self, arg0) -> int - - -ida_hexrays.ctree_parentee_t.maintain_parents(): - - maintain_parents(self) -> bool - - -ida_hexrays.ctree_parentee_t.must_prune(): - - must_prune(self) -> bool - - -ida_hexrays.ctree_parentee_t.must_restart(): - - must_restart(self) -> bool - - -ida_hexrays.ctree_parentee_t.only_insns(): - - only_insns(self) -> bool - - -ida_hexrays.ctree_parentee_t.parent_expr(): - - parent_expr(self) -> cexpr_t - - -ida_hexrays.ctree_parentee_t.parent_insn(): - - parent_insn(self) -> cinsn_t - - -ida_hexrays.ctree_parentee_t.parents: - ctree_visitor_t_parents_get(self) -> ctree_items_t - -ida_hexrays.ctree_parentee_t.prune_now(): - - prune_now(self) - - -ida_hexrays.ctree_parentee_t.recalc_parent_types(): - - recalc_parent_types(self) -> bool - - -ida_hexrays.ctree_parentee_t.set_restart(): - - set_restart(self) - - -ida_hexrays.ctree_parentee_t.visit_expr(): - - visit_expr(self, arg0) -> int - - -ida_hexrays.ctree_parentee_t.visit_insn(): - - visit_insn(self, arg0) -> int - - -class ida_hexrays.ctree_visitor_t(): - - Proxy of C++ ctree_visitor_t class - - -ida_hexrays.ctree_visitor_t.apply_to(): - - apply_to(self, item, parent) -> int - - -ida_hexrays.ctree_visitor_t.apply_to_exprs(): - - apply_to_exprs(self, item, parent) -> int - - -ida_hexrays.ctree_visitor_t.clr_prune(): - - clr_prune(self) - - -ida_hexrays.ctree_visitor_t.clr_restart(): - - clr_restart(self) - - -ida_hexrays.ctree_visitor_t.cv_flags: - ctree_visitor_t_cv_flags_get(self) -> int - -ida_hexrays.ctree_visitor_t.is_postorder(): - - is_postorder(self) -> bool - - -ida_hexrays.ctree_visitor_t.leave_expr(): - - leave_expr(self, arg0) -> int - - -ida_hexrays.ctree_visitor_t.leave_insn(): - - leave_insn(self, arg0) -> int - - -ida_hexrays.ctree_visitor_t.maintain_parents(): - - maintain_parents(self) -> bool - - -ida_hexrays.ctree_visitor_t.must_prune(): - - must_prune(self) -> bool - - -ida_hexrays.ctree_visitor_t.must_restart(): - - must_restart(self) -> bool - - -ida_hexrays.ctree_visitor_t.only_insns(): - - only_insns(self) -> bool - - -ida_hexrays.ctree_visitor_t.parent_expr(): - - parent_expr(self) -> cexpr_t - - -ida_hexrays.ctree_visitor_t.parent_insn(): - - parent_insn(self) -> cinsn_t - - -ida_hexrays.ctree_visitor_t.parents: - ctree_visitor_t_parents_get(self) -> ctree_items_t - -ida_hexrays.ctree_visitor_t.prune_now(): - - prune_now(self) - - -ida_hexrays.ctree_visitor_t.set_restart(): - - set_restart(self) - - -ida_hexrays.ctree_visitor_t.visit_expr(): - - visit_expr(self, arg0) -> int - - -ida_hexrays.ctree_visitor_t.visit_insn(): - - visit_insn(self, arg0) -> int - - -class ida_hexrays.cwhile_t(): - - Proxy of C++ cwhile_t class - - -ida_hexrays.cwhile_t.assign(): - - assign(self, r) -> cloop_t - - -ida_hexrays.cwhile_t.body: - cloop_t_body_get(self) -> cinsn_t - -ida_hexrays.cwhile_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cwhile_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cwhile_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.debug_hexrays_ctree(): - - debug_hexrays_ctree(msg) - - -ida_hexrays.decompile_func(): - - decompile_func(pfn, hf, flags=0) -> cfuncptr_t - - - Decompile a function. Multiple decompilations of the same function - return the same object. - - @param pfn: pointer to function to decompile (C++: func_t *) - @param hf: extended error information (if failed) (C++: - hexrays_failure_t *) - @param flags: bitwise combination of decompile() flags ... bits (C++: - int) - @return: pointer to the decompilation result (a reference counted - pointer). NULL if failed. - - -ida_hexrays.decompile_many(): - - decompile_many(outfile, funcaddrs, flags) -> bool - - - Batch decompilation. Decompile all or the specified functions - - @param outfile: name of the output file (C++: const char *) - @param funcaddrs: list of functions to decompile. If NULL or empty, - then decompile all nonlib functions (C++: eavec_t - *) - @param flags: Batch decompilation bits (C++: int) - @return: true if no internal error occurred and the user has not - cancelled decompilation - - -ida_hexrays.dstr(): - - 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 *) - - -ida_hexrays.dummy_ptrtype(): - - dummy_ptrtype(ptrsize, isfp) -> tinfo_t - - - Generate a dummy pointer type - - @param ptrsize: size of pointed object (C++: int) - @param isfp: is floating point object? (C++: bool) - - -ida_hexrays.eamap_begin(): - - eamap_begin(map) -> eamap_iterator_t - - - Get iterator pointing to the beginning of eamap_t. - - - @param map (C++: const eamap_t *) - - -ida_hexrays.eamap_clear(): - - eamap_clear(map) - - - Clear eamap_t. - - - @param map (C++: eamap_t *) - - -ida_hexrays.eamap_end(): - - eamap_end(map) -> eamap_iterator_t - - - Get iterator pointing to the end of eamap_t. - - - @param map (C++: const eamap_t *) - - -ida_hexrays.eamap_erase(): - - eamap_erase(map, p) - - - Erase current element from eamap_t. - - - @param map (C++: eamap_t *) - @param p (C++: eamap_iterator_t) - - -ida_hexrays.eamap_find(): - - eamap_find(map, key) -> eamap_iterator_t - - - Find the specified key in eamap_t. - - - @param map (C++: const eamap_t *) - @param key (C++: const ea_t &) - - -ida_hexrays.eamap_first(): - - eamap_first(p) -> ea_t const & - - - Get reference to the current map key. - - - @param p (C++: eamap_iterator_t) - - -ida_hexrays.eamap_free(): - - eamap_free(map) - - - Delete eamap_t instance. - - - @param map (C++: eamap_t *) - - -ida_hexrays.eamap_insert(): - - 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 &) - @param val (C++: const cinsnptrvec_t &) - - -class ida_hexrays.eamap_iterator_t(): - - Proxy of C++ eamap_iterator_t class - - -ida_hexrays.eamap_iterator_t.x: - eamap_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.eamap_new(): - - eamap_new() -> eamap_t - - - Create a new eamap_t instance. - - -ida_hexrays.eamap_next(): - - eamap_next(p) -> eamap_iterator_t - - - Move to the next element. - - - @param p (C++: eamap_iterator_t) - - -ida_hexrays.eamap_prev(): - - eamap_prev(p) -> eamap_iterator_t - - - Move to the previous element. - - - @param p (C++: eamap_iterator_t) - - -ida_hexrays.eamap_second(): - - eamap_second(p) -> cinsnptrvec_t - - - Get reference to the current map value. - - - @param p (C++: eamap_iterator_t) - - -ida_hexrays.eamap_size(): - - eamap_size(map) -> size_t - - - Get size of eamap_t. - - - @param map (C++: eamap_t *) - - -class ida_hexrays.eamap_t(): - - Proxy of C++ std::map<(ea_t,cinsnptrvec_t)> class - - -ida_hexrays.eamap_t.at(): - - at(self, _Keyval) -> cinsnptrvec_t - - -ida_hexrays.eamap_t.keytype.bit_length(): - long.bit_length() -> int or long - - Number of bits necessary to represent self in binary. - >>> bin(37L) - '0b100101' - >>> (37L).bit_length() - 6 - -ida_hexrays.eamap_t.keytype.conjugate(): - Returns self, the complex conjugate of any long. - -ida_hexrays.eamap_t.keytype.denominator: - the denominator of a rational number in lowest terms - -ida_hexrays.eamap_t.keytype.imag: - the imaginary part of a complex number - -ida_hexrays.eamap_t.keytype.numerator: - the numerator of a rational number in lowest terms - -ida_hexrays.eamap_t.keytype.real: - the real part of a complex number - -ida_hexrays.eamap_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.eamap_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.eamap_t.setdefault(): - - Sets the value associated with the provided key. - - -class ida_hexrays.eamap_t.valuetype(): - - Proxy of C++ qvector<(p.cinsn_t)> class - - -ida_hexrays.eamap_t.valuetype.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.eamap_t.valuetype.append(): - - push_back(self, x) - push_back(self) -> cinsn_t *& - - -ida_hexrays.eamap_t.valuetype.at(): - - __getitem__(self, i) -> cinsn_t - - -ida_hexrays.eamap_t.valuetype.begin(): - - begin(self) -> qvector< cinsn_t * >::iterator - begin(self) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.eamap_t.valuetype.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.eamap_t.valuetype.clear(): - - clear(self) - - -ida_hexrays.eamap_t.valuetype.empty(): - - empty(self) -> bool - - -ida_hexrays.eamap_t.valuetype.end(): - - end(self) -> qvector< cinsn_t * >::iterator - end(self) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.eamap_t.valuetype.erase(): - - erase(self, it) -> qvector< cinsn_t * >::iterator - erase(self, first, last) -> qvector< cinsn_t * >::iterator - - -ida_hexrays.eamap_t.valuetype.extract(): - - extract(self) -> cinsn_t ** - - -ida_hexrays.eamap_t.valuetype.find(): - - find(self, x) -> qvector< cinsn_t * >::iterator - find(self, x) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.eamap_t.valuetype.has(): - - has(self, x) -> bool - - -ida_hexrays.eamap_t.valuetype.inject(): - - inject(self, s, len) - - -ida_hexrays.eamap_t.valuetype.insert(): - - insert(self, it, x) -> qvector< cinsn_t * >::iterator - - -ida_hexrays.eamap_t.valuetype.pop_back(): - - pop_back(self) - - -ida_hexrays.eamap_t.valuetype.push_back(): - - push_back(self, x) - push_back(self) -> cinsn_t *& - - -ida_hexrays.eamap_t.valuetype.qclear(): - - qclear(self) - - -ida_hexrays.eamap_t.valuetype.reserve(): - - reserve(self, cnt) - - -ida_hexrays.eamap_t.valuetype.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.eamap_t.valuetype.size(): - - size(self) -> size_t - - -ida_hexrays.eamap_t.valuetype.swap(): - - swap(self, r) - - -ida_hexrays.eamap_t.valuetype.truncate(): - - truncate(self) - - -class ida_hexrays.fnum_array(): - - Proxy of C++ wrapped_array_t<(uint16,6)> class - - -ida_hexrays.fnum_array.data: - fnum_array_data_get(self) -> unsigned short (&)[6] - -class ida_hexrays.fnumber_t(): - - Proxy of C++ fnumber_t class - - -ida_hexrays.fnumber_t._print(): - - _print(self) - - -ida_hexrays.fnumber_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.fnumber_t.dereference_const_uint16(): - - dereference_const_uint16(self) -> uint16 const * - - -ida_hexrays.fnumber_t.dereference_uint16(): - - dereference_uint16(self) -> uint16 * - - -ida_hexrays.fnumber_t.fnum: - - __get_fnum(self) -> fnum_array - - -ida_hexrays.fnumber_t.nbytes: - fnumber_t_nbytes_get(self) -> int - -class ida_hexrays.gco_info_t(): - - Proxy of C++ gco_info_t class - - -ida_hexrays.gco_info_t.append_to_list(): - - append_to_list(self, list, mba) -> bool - - -ida_hexrays.gco_info_t.flags: - gco_info_t_flags_get(self) -> int - -ida_hexrays.gco_info_t.is_def(): - - is_def(self) -> bool - - -ida_hexrays.gco_info_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.gco_info_t.is_use(): - - is_use(self) -> bool - - -ida_hexrays.gco_info_t.name: - gco_info_t_name_get(self) -> qstring * - -ida_hexrays.gco_info_t.size: - gco_info_t_size_get(self) -> int - -ida_hexrays.gen_microcode(): - - gen_microcode(mbr, hf, retlist=None, flags=0, reqmat=MMAT_GLBOPT3) -> mbl_array_t - - - Generate microcode of an arbitrary code snippet - - @param mbr: snippet ranges (C++: const mba_ranges_t &) - @param hf: extended error information (if failed) (C++: - hexrays_failure_t *) - @param retlist: list of registers the snippet returns (C++: const - mlist_t *) - @param flags: bitwise combination of decompile() flags ... bits (C++: - int) - @param reqmat: required microcode maturity (C++: mba_maturity_t) - @return: pointer to the microcode, NULL if failed. - - -ida_hexrays.get_ctype_name(): - - get_ctype_name(op) -> char const * - - -ida_hexrays.get_current_operand(): - - 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 - return true. - - @param out (C++: gco_info_t *) - - -ida_hexrays.get_float_type(): - - get_float_type(width) -> tinfo_t - - - Get a type of a floating point value with the specified width - - @param width: width of the desired type (C++: int) - @return: type info object - - -ida_hexrays.get_hexrays_version(): - - 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" - - -ida_hexrays.get_int_type_by_width_and_sign(): - - 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: size of the type in bytes (C++: int) - @param sign: sign of the type (C++: type_sign_t) - - -ida_hexrays.get_member_type(): - - get_member_type(mptr, type) -> bool - - - Get type of a structure field. This function performs validity checks - of the field type. Wrong types are rejected. - - @param mptr: structure field (C++: const member_t *) - @param type: pointer to the variable where the type is returned. This - parameter can be NULL. (C++: tinfo_t *) - @return: false if failed - - -ida_hexrays.get_merror_desc(): - - get_merror_desc(code, mba) -> ea_t - - - Get textual description of an error code - - @param code: Microcode error codes (C++: merror_t) - @param mba: the microcode array (C++: mbl_array_t *) - @return: the error address - - -ida_hexrays.get_mreg_name(): - - get_mreg_name(bit, width, ud=None) -> int - - -ida_hexrays.get_op_signness(): - - get_op_signness(op) -> type_sign_t - - - Get operator sign. Meaningful for sign-dependent operators, like - cot_sdiv. - - - @param op (C++: ctype_t) - - -ida_hexrays.get_signed_mcode(): - - get_signed_mcode(code) -> mcode_t - - -ida_hexrays.get_temp_regs(): - - 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. - - -ida_hexrays.get_type(): - - get_type(id, tif, guess) -> bool - - - Get a global type. Global types are types of addressable objects and - struct/union/enum types - - @param id: address or id of the object (C++: uval_t) - @param tif: buffer for the answer (C++: tinfo_t *) - @param guess: what kind of types to consider (C++: type_source_t) - @return: success - - -ida_hexrays.get_unk_type(): - - 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: size of the type in bytes (C++: int) - - -ida_hexrays.get_unsigned_mcode(): - - get_unsigned_mcode(code) -> mcode_t - - -ida_hexrays.get_widget_vdui(): - - get_widget_vdui(f) -> vdui_t - - - Get the 'vdui_t' instance associated to the TWidget - - @param f: pointer to window (C++: TWidget *) - @return: a vdui_t *, or NULL - - -ida_hexrays.getb_reginsn(): - - getb_reginsn(ins) -> minsn_t - - - Skip assertions backward. - - - @param ins (C++: const minsn_t *) - - -ida_hexrays.getf_reginsn(): - - getf_reginsn(ins) -> minsn_t - - - Skip assertions forward. - - - @param ins (C++: const minsn_t *) - - -class ida_hexrays.graph_chains_t(): - - Proxy of C++ graph_chains_t class - - -ida_hexrays.graph_chains_t.acquire(): - - acquire(self) - - -ida_hexrays.graph_chains_t.at(): - - at(self, _idx) -> block_chains_t - - -ida_hexrays.graph_chains_t.begin(): - - begin(self) -> block_chains_t - begin(self) -> block_chains_t - - -ida_hexrays.graph_chains_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.graph_chains_t.clear(): - - clear(self) - - -ida_hexrays.graph_chains_t.empty(): - - empty(self) -> bool - - -ida_hexrays.graph_chains_t.end(): - - end(self) -> block_chains_t - end(self) -> block_chains_t - - -ida_hexrays.graph_chains_t.erase(): - - erase(self, it) -> block_chains_t - erase(self, first, last) -> block_chains_t - - -ida_hexrays.graph_chains_t.extract(): - - extract(self) -> block_chains_t - - -ida_hexrays.graph_chains_t.for_all_chains(): - - for_all_chains(self, cv, gca_flags) -> int - - -ida_hexrays.graph_chains_t.grow(): - - grow(self, x=block_chains_t()) - - -ida_hexrays.graph_chains_t.inject(): - - inject(self, s, len) - - -ida_hexrays.graph_chains_t.insert(): - - insert(self, it, x) -> block_chains_t - - -ida_hexrays.graph_chains_t.is_locked(): - - is_locked(self) -> bool - - -ida_hexrays.graph_chains_t.pop_back(): - - pop_back(self) - - -ida_hexrays.graph_chains_t.push_back(): - - push_back(self, x) - push_back(self) -> block_chains_t - - -ida_hexrays.graph_chains_t.qclear(): - - qclear(self) - - -ida_hexrays.graph_chains_t.release(): - - release(self) - - -ida_hexrays.graph_chains_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.graph_chains_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.graph_chains_t.size(): - - size(self) -> size_t - - -ida_hexrays.graph_chains_t.swap(): - - swap(self, r) - - -ida_hexrays.graph_chains_t.truncate(): - - truncate(self) - - -ida_hexrays.has_cached_cfunc(): - - has_cached_cfunc(ea) -> bool - - - Do we have a cached decompilation result for 'ea'? - - - @param ea (C++: ea_t) - - -ida_hexrays.hexrays_alloc(): - - hexrays_alloc(size) -> void * - - -class ida_hexrays.hexrays_failure_t(): - - Proxy of C++ hexrays_failure_t class - - -ida_hexrays.hexrays_failure_t.code: - hexrays_failure_t_code_get(self) -> merror_t - -ida_hexrays.hexrays_failure_t.desc(): - - desc(self) -> qstring - - -ida_hexrays.hexrays_failure_t.errea: - hexrays_failure_t_errea_get(self) -> ea_t - -ida_hexrays.hexrays_failure_t.str: - hexrays_failure_t_str_get(self) -> qstring * - -ida_hexrays.hexrays_free(): - - hexrays_free(ptr) - - -class ida_hexrays.hexwarn_t(): - - Proxy of C++ hexwarn_t class - - -ida_hexrays.hexwarn_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.hexwarn_t.ea: - hexwarn_t_ea_get(self) -> ea_t - -ida_hexrays.hexwarn_t.id: - hexwarn_t_id_get(self) -> warnid_t - -ida_hexrays.hexwarn_t.text: - hexwarn_t_text_get(self) -> qstring * - -class ida_hexrays.hexwarns_t(): - - Proxy of C++ qvector<(hexwarn_t)> class - - -ida_hexrays.hexwarns_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.hexwarns_t.append(): - - push_back(self, x) - push_back(self) -> hexwarn_t - - -ida_hexrays.hexwarns_t.at(): - - __getitem__(self, i) -> hexwarn_t - - -ida_hexrays.hexwarns_t.begin(): - - begin(self) -> hexwarn_t - begin(self) -> hexwarn_t - - -ida_hexrays.hexwarns_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.hexwarns_t.clear(): - - clear(self) - - -ida_hexrays.hexwarns_t.empty(): - - empty(self) -> bool - - -ida_hexrays.hexwarns_t.end(): - - end(self) -> hexwarn_t - end(self) -> hexwarn_t - - -ida_hexrays.hexwarns_t.erase(): - - erase(self, it) -> hexwarn_t - erase(self, first, last) -> hexwarn_t - - -ida_hexrays.hexwarns_t.extract(): - - extract(self) -> hexwarn_t - - -ida_hexrays.hexwarns_t.find(): - - find(self, x) -> hexwarn_t - find(self, x) -> hexwarn_t - - -ida_hexrays.hexwarns_t.grow(): - - grow(self, x=hexwarn_t()) - - -ida_hexrays.hexwarns_t.has(): - - has(self, x) -> bool - - -ida_hexrays.hexwarns_t.inject(): - - inject(self, s, len) - - -ida_hexrays.hexwarns_t.insert(): - - insert(self, it, x) -> hexwarn_t - - -ida_hexrays.hexwarns_t.pop_back(): - - pop_back(self) - - -ida_hexrays.hexwarns_t.push_back(): - - push_back(self, x) - push_back(self) -> hexwarn_t - - -ida_hexrays.hexwarns_t.qclear(): - - qclear(self) - - -ida_hexrays.hexwarns_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.hexwarns_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.hexwarns_t.size(): - - size(self) -> size_t - - -ida_hexrays.hexwarns_t.swap(): - - swap(self, r) - - -ida_hexrays.hexwarns_t.truncate(): - - truncate(self) - - -class ida_hexrays.history_item_t(): - - Proxy of C++ history_item_t class - - -ida_hexrays.history_item_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.history_item_t.ea: - history_item_t_ea_get(self) -> ea_t - -ida_hexrays.history_item_t.end: - history_item_t_end_get(self) -> ea_t - -ida_hexrays.history_item_t.in_ctree(): - - in_ctree(self, hdrlines) -> bool - - -ida_hexrays.history_item_t.lnnum: - ctext_position_t_lnnum_get(self) -> int - -ida_hexrays.history_item_t.x: - ctext_position_t_x_get(self) -> int - -ida_hexrays.history_item_t.y: - ctext_position_t_y_get(self) -> int - -class ida_hexrays.history_t(): - - Proxy of C++ qstack<(history_item_t)> class - - -ida_hexrays.history_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.history_t.append(): - - push_back(self, x) - push_back(self) -> history_item_t - - -ida_hexrays.history_t.at(): - - __getitem__(self, i) -> history_item_t - - -ida_hexrays.history_t.begin(): - - begin(self) -> history_item_t - begin(self) -> history_item_t - - -ida_hexrays.history_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.history_t.clear(): - - clear(self) - - -ida_hexrays.history_t.empty(): - - empty(self) -> bool - - -ida_hexrays.history_t.end(): - - end(self) -> history_item_t - end(self) -> history_item_t - - -ida_hexrays.history_t.erase(): - - erase(self, it) -> history_item_t - erase(self, first, last) -> history_item_t - - -ida_hexrays.history_t.extract(): - - extract(self) -> history_item_t - - -ida_hexrays.history_t.find(): - - find(self, x) -> history_item_t - find(self, x) -> history_item_t - - -ida_hexrays.history_t.grow(): - - grow(self, x=history_item_t()) - - -ida_hexrays.history_t.has(): - - has(self, x) -> bool - - -ida_hexrays.history_t.inject(): - - inject(self, s, len) - - -ida_hexrays.history_t.insert(): - - insert(self, it, x) -> history_item_t - - -ida_hexrays.history_t.pop(): - - pop(self) -> history_item_t - - -ida_hexrays.history_t.pop_back(): - - pop_back(self) - - -ida_hexrays.history_t.push(): - - push(self, v) - - -ida_hexrays.history_t.push_back(): - - push_back(self, x) - push_back(self) -> history_item_t - - -ida_hexrays.history_t.qclear(): - - qclear(self) - - -ida_hexrays.history_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.history_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.history_t.size(): - - size(self) -> size_t - - -ida_hexrays.history_t.swap(): - - swap(self, r) - - -ida_hexrays.history_t.top(): - - top(self) -> history_item_t - top(self) -> history_item_t - - -ida_hexrays.history_t.truncate(): - - truncate(self) - - -ida_hexrays.init_hexrays_plugin(): - - init_hexrays_plugin(flags=0) -> bool - - - Initialize your plugin for hex-rays decompiler. This function must be - called before calling any other decompiler function. It initializes - the pointer to the dispatcher. - - @param flags: reserved, must be 0 (C++: int) - @return: true if the decompiler exists and the dispatcher pointer is - ready to use. - - -ida_hexrays.install_hexrays_callback(): - Deprecated. Please use Hexrays_Hooks instead - -ida_hexrays.install_microcode_filter(): - - install_microcode_filter(filter, install=True) - - - register/unregister non-standard microcode generator - - @param filter: - microcode generator object (C++: microcode_filter_t - *) - @param install: - TRUE - register the object, FALSE - unregister (C++: - bool) - - -ida_hexrays.is_additive(): - - is_additive(op) -> bool - - - Is additive operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_allowed_on_small_struni(): - - accepts_small_udts(op) -> bool - - - Is the operator allowed on small structure or union? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_assignment(): - - is_assignment(op) -> bool - - - Is assignment operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_binary(): - - is_binary(op) -> bool - - - Is binary operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_bitop(): - - is_bitop(op) -> bool - - - Is bit related operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_bool_type(): - - is_bool_type(type) -> bool - - - Is a boolean type? - - @param type (C++: const tinfo_t &) - @return: true if the type is a boolean type - - -ida_hexrays.is_break_consumer(): - - is_break_consumer(op) -> bool - - - Does a break statement influence the specified statement code? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_commutative(): - - is_commutative(op) -> bool - - - Is commutative operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_inplace_def(): - - is_inplace_def(type) -> bool - - - Is struct/union/enum definition (not declaration)? - - - @param type (C++: const tinfo_t &) - - -ida_hexrays.is_kreg(): - - is_kreg(r) -> bool - - - Is a kernel register? - - - @param r (C++: mreg_t) - - -ida_hexrays.is_logical(): - - is_logical(op) -> bool - - - Is logical operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_loop(): - - is_loop(op) -> bool - - - Is loop statement code? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_lvalue(): - - is_lvalue(op) -> bool - - - Is Lvalue operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_may_access(): - - is_may_access(maymust) -> bool - - -ida_hexrays.is_mcode_addsub(): - - is_mcode_addsub(mcode) -> bool - - -ida_hexrays.is_mcode_call(): - - is_mcode_call(mcode) -> bool - - -ida_hexrays.is_mcode_commutative(): - - is_mcode_commutative(mcode) -> bool - - -ida_hexrays.is_mcode_convertible_to_jmp(): - - is_mcode_convertible_to_jmp(mcode) -> bool - - -ida_hexrays.is_mcode_convertible_to_set(): - - is_mcode_convertible_to_set(mcode) -> bool - - -ida_hexrays.is_mcode_divmod(): - - is_mcode_divmod(op) -> bool - - -ida_hexrays.is_mcode_fpu(): - - is_mcode_fpu(mcode) -> bool - - -ida_hexrays.is_mcode_j1(): - - is_mcode_j1(mcode) -> bool - - -ida_hexrays.is_mcode_jcond(): - - is_mcode_jcond(mcode) -> bool - - -ida_hexrays.is_mcode_propagatable(): - - 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) - - -ida_hexrays.is_mcode_set(): - - is_mcode_set(mcode) -> bool - - -ida_hexrays.is_mcode_set1(): - - is_mcode_set1(mcode) -> bool - - -ida_hexrays.is_mcode_shift(): - - is_mcode_shift(mcode) -> bool - - -ida_hexrays.is_mcode_xdsu(): - - is_mcode_xdsu(mcode) -> bool - - -ida_hexrays.is_multiplicative(): - - is_multiplicative(op) -> bool - - - Is multiplicative operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_nonbool_type(): - - is_nonbool_type(type) -> bool - - - Is definitely a non-boolean type? - - @param type (C++: const tinfo_t &) - @return: true if the type is a non-boolean type (non bool and well - defined) - - -ida_hexrays.is_paf(): - - is_paf(t) -> bool - - - Is a pointer, array, or function type? - - - @param t (C++: type_t) - - -ida_hexrays.is_prepost(): - - is_prepost(op) -> bool - - - Is pre/post increment/decrement operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_ptr_or_array(): - - is_ptr_or_array(t) -> bool - - - Is a pointer or array type? - - - @param t (C++: type_t) - - -ida_hexrays.is_relational(): - - is_relational(op) -> bool - - - Is comparison operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_signed_mcode(): - - is_signed_mcode(code) -> bool - - -ida_hexrays.is_small_struni(): - - is_small_udt(tif) -> bool - - - Is a small structure or union? - - @param tif (C++: const tinfo_t &) - @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. - - -ida_hexrays.is_small_udt(): - - is_small_udt(tif) -> bool - - - Is a small structure or union? - - @param tif (C++: const tinfo_t &) - @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. - - -ida_hexrays.is_type_correct(): - - is_type_correct(ptr) -> bool - - - Verify a type string. - - @param ptr (C++: const type_t *) - @return: true if type string is correct - - -ida_hexrays.is_unary(): - - is_unary(op) -> bool - - - Is unary operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_unsigned_mcode(): - - is_unsigned_mcode(code) -> bool - - -class ida_hexrays.ivl_t(): - - Proxy of C++ ivl_t class - - -ida_hexrays.ivl_t.clear(): - - clear(self) - - -ida_hexrays.ivl_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.ivl_t.contains(): - - contains(self, off2) -> bool - - -ida_hexrays.ivl_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.ivl_t.empty(): - - empty(self) -> bool - - -ida_hexrays.ivl_t.end(): - - end(self) -> unsigned-ea-like-numeric-type - - -ida_hexrays.ivl_t.extend_to_cover(): - - extend_to_cover(self, r) -> bool - - -ida_hexrays.ivl_t.includes(): - - includes(self, ivl) -> bool - - -ida_hexrays.ivl_t.intersect(): - - intersect(self, r) - - -ida_hexrays.ivl_t.last(): - - last(self) -> unsigned-ea-like-numeric-type - - -ida_hexrays.ivl_t.off: - uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type - -ida_hexrays.ivl_t.overlap(): - - overlap(self, ivl) -> bool - - -ida_hexrays.ivl_t.size: - uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type - -ida_hexrays.ivl_t.valid(): - - valid(self) -> bool - - -class ida_hexrays.ivl_with_name_t(): - - Proxy of C++ ivl_with_name_t class - - -ida_hexrays.ivl_with_name_t.ivl: - ivl_with_name_t_ivl_get(self) -> ivl_t - -ida_hexrays.ivl_with_name_t.part: - ivl_with_name_t_part_get(self) -> char const * - -ida_hexrays.ivl_with_name_t.whole: - ivl_with_name_t_whole_get(self) -> char const * - -class ida_hexrays.ivlset_t(): - - Proxy of C++ ivlset_t class - - -ida_hexrays.ivlset_t._print(): - - _print(self) - - -ida_hexrays.ivlset_t.add(): - - add(self, ivl) -> bool - add(self, ea, size) -> bool - add(self, ivs) -> bool - - -ida_hexrays.ivlset_t.addmasked(): - - addmasked(self, ivs, mask) -> bool - - -ida_hexrays.ivlset_t.all_values(): - - all_values(self) -> bool - - -ida_hexrays.ivlset_t.begin(): - - begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator - begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.ivlset_t.clear(): - - clear(self) - - -ida_hexrays.ivlset_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.ivlset_t.contains(): - - contains(self, off) -> bool - - -ida_hexrays.ivlset_t.count(): - - count(self) -> asize_t - - -ida_hexrays.ivlset_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.ivlset_t.empty(): - - empty(self) -> bool - - -ida_hexrays.ivlset_t.end(): - - end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator - end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.ivlset_t.getivl(): - - getivl(self, idx) -> ivl_t - - -ida_hexrays.ivlset_t.has_common(): - - has_common(self, ivl, strict=False) -> bool - has_common(self, ivs) -> bool - - -ida_hexrays.ivlset_t.includes(): - - includes(self, ivs) -> bool - - -ida_hexrays.ivlset_t.intersect(): - - intersect(self, ivs) -> bool - - -ida_hexrays.ivlset_t.lastivl(): - - lastivl(self) -> ivl_t - - -ida_hexrays.ivlset_t.nivls(): - - nivls(self) -> size_t - - -ida_hexrays.ivlset_t.qclear(): - - qclear(self) - - -ida_hexrays.ivlset_t.set_all_values(): - - set_all_values(self) - - -ida_hexrays.ivlset_t.single_value(): - - single_value(self, v) -> bool - - -ida_hexrays.ivlset_t.sub(): - - sub(self, ivl) -> bool - sub(self, ea, size) -> bool - sub(self, ivs) -> bool - - -ida_hexrays.ivlset_t.swap(): - - swap(self, r) - - -ida_hexrays.jcnd2set(): - - jcnd2set(code) -> mcode_t - - -ida_hexrays.lexcompare(): - - lexcompare(a, b) -> int - - -class ida_hexrays.lvar_locator_t(): - - Proxy of C++ lvar_locator_t class - - -ida_hexrays.lvar_locator_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.lvar_locator_t.defea: - lvar_locator_t_defea_get(self) -> ea_t - -ida_hexrays.lvar_locator_t.get_reg1(): - - get_reg1(self) -> mreg_t - - -ida_hexrays.lvar_locator_t.get_reg2(): - - get_reg2(self) -> mreg_t - - -ida_hexrays.lvar_locator_t.get_scattered(): - - get_scattered(self) -> scattered_aloc_t - get_scattered(self) -> scattered_aloc_t - - -ida_hexrays.lvar_locator_t.get_stkoff(): - - get_stkoff(self) -> sval_t - - -ida_hexrays.lvar_locator_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_hexrays.lvar_locator_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_hexrays.lvar_locator_t.is_reg_var(): - - is_reg_var(self) -> bool - - -ida_hexrays.lvar_locator_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.lvar_locator_t.is_stk_var(): - - is_stk_var(self) -> bool - - -ida_hexrays.lvar_locator_t.location: - lvar_locator_t_location_get(self) -> vdloc_t - -ida_hexrays.lvar_mapping_begin(): - - 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 *) - - -ida_hexrays.lvar_mapping_clear(): - - lvar_mapping_clear(map) - - - Clear lvar_mapping_t. - - - @param map (C++: lvar_mapping_t *) - - -ida_hexrays.lvar_mapping_end(): - - 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 *) - - -ida_hexrays.lvar_mapping_erase(): - - 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) - - -ida_hexrays.lvar_mapping_find(): - - lvar_mapping_find(map, key) -> lvar_mapping_iterator_t - - - Find the specified key in lvar_mapping_t. - - - @param map (C++: const lvar_mapping_t *) - @param key (C++: const lvar_locator_t &) - - -ida_hexrays.lvar_mapping_first(): - - lvar_mapping_first(p) -> lvar_locator_t - - - Get reference to the current map key. - - - @param p (C++: lvar_mapping_iterator_t) - - -ida_hexrays.lvar_mapping_free(): - - lvar_mapping_free(map) - - - Delete lvar_mapping_t instance. - - - @param map (C++: lvar_mapping_t *) - - -ida_hexrays.lvar_mapping_insert(): - - 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 &) - @param val (C++: const lvar_locator_t &) - - -class ida_hexrays.lvar_mapping_iterator_t(): - - Proxy of C++ lvar_mapping_iterator_t class - - -ida_hexrays.lvar_mapping_iterator_t.x: - lvar_mapping_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.lvar_mapping_new(): - - lvar_mapping_new() -> lvar_mapping_t - - - Create a new lvar_mapping_t instance. - - -ida_hexrays.lvar_mapping_next(): - - lvar_mapping_next(p) -> lvar_mapping_iterator_t - - - Move to the next element. - - - @param p (C++: lvar_mapping_iterator_t) - - -ida_hexrays.lvar_mapping_prev(): - - lvar_mapping_prev(p) -> lvar_mapping_iterator_t - - - Move to the previous element. - - - @param p (C++: lvar_mapping_iterator_t) - - -ida_hexrays.lvar_mapping_second(): - - lvar_mapping_second(p) -> lvar_locator_t - - - Get reference to the current map value. - - - @param p (C++: lvar_mapping_iterator_t) - - -ida_hexrays.lvar_mapping_size(): - - lvar_mapping_size(map) -> size_t - - - Get size of lvar_mapping_t. - - - @param map (C++: lvar_mapping_t *) - - -class ida_hexrays.lvar_mapping_t(): - - Proxy of C++ std::map<(lvar_locator_t,lvar_locator_t)> class - - -ida_hexrays.lvar_mapping_t.at(): - - at(self, _Keyval) -> lvar_locator_t - - -ida_hexrays.lvar_mapping_t.size(): - - size(self) -> size_t - - -class ida_hexrays.lvar_ref_t(): - - Proxy of C++ lvar_ref_t class - - -ida_hexrays.lvar_ref_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.lvar_ref_t.idx: - lvar_ref_t_idx_get(self) -> int - -ida_hexrays.lvar_ref_t.mba: - lvar_ref_t_mba_get(self) -> mbl_array_t - -ida_hexrays.lvar_ref_t.off: - lvar_ref_t_off_get(self) -> sval_t - -ida_hexrays.lvar_ref_t.swap(): - - swap(self, r) - - -ida_hexrays.lvar_ref_t.var(): - - var(self) -> lvar_t - - -class ida_hexrays.lvar_saved_info_t(): - - Proxy of C++ lvar_saved_info_t class - - -ida_hexrays.lvar_saved_info_t.clear_keep(): - - clear_keep(self) - - -ida_hexrays.lvar_saved_info_t.clr_forced_lvar(): - - clr_forced_lvar(self) - - -ida_hexrays.lvar_saved_info_t.clr_noptr_lvar(): - - clr_noptr_lvar(self) - - -ida_hexrays.lvar_saved_info_t.cmt: - lvar_saved_info_t_cmt_get(self) -> qstring * - -ida_hexrays.lvar_saved_info_t.flags: - lvar_saved_info_t_flags_get(self) -> int - -ida_hexrays.lvar_saved_info_t.has_info(): - - has_info(self) -> bool - - -ida_hexrays.lvar_saved_info_t.is_forced_lvar(): - - is_forced_lvar(self) -> bool - - -ida_hexrays.lvar_saved_info_t.is_kept(): - - is_kept(self) -> bool - - -ida_hexrays.lvar_saved_info_t.is_noptr_lvar(): - - is_noptr_lvar(self) -> bool - - -ida_hexrays.lvar_saved_info_t.ll: - lvar_saved_info_t_ll_get(self) -> lvar_locator_t - -ida_hexrays.lvar_saved_info_t.name: - lvar_saved_info_t_name_get(self) -> qstring * - -ida_hexrays.lvar_saved_info_t.set_forced_lvar(): - - set_forced_lvar(self) - - -ida_hexrays.lvar_saved_info_t.set_keep(): - - set_keep(self) - - -ida_hexrays.lvar_saved_info_t.set_noptr_lvar(): - - set_noptr_lvar(self) - - -ida_hexrays.lvar_saved_info_t.size: - lvar_saved_info_t_size_get(self) -> ssize_t - -ida_hexrays.lvar_saved_info_t.type: - lvar_saved_info_t_type_get(self) -> tinfo_t - -class ida_hexrays.lvar_saved_infos_t(): - - Proxy of C++ qvector<(lvar_saved_info_t)> class - - -ida_hexrays.lvar_saved_infos_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.lvar_saved_infos_t.append(): - - push_back(self, x) - push_back(self) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.at(): - - __getitem__(self, i) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.begin(): - - begin(self) -> lvar_saved_info_t - begin(self) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.lvar_saved_infos_t.clear(): - - clear(self) - - -ida_hexrays.lvar_saved_infos_t.empty(): - - empty(self) -> bool - - -ida_hexrays.lvar_saved_infos_t.end(): - - end(self) -> lvar_saved_info_t - end(self) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.erase(): - - erase(self, it) -> lvar_saved_info_t - erase(self, first, last) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.extract(): - - extract(self) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.find(): - - find(self, x) -> lvar_saved_info_t - find(self, x) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.grow(): - - grow(self, x=lvar_saved_info_t()) - - -ida_hexrays.lvar_saved_infos_t.has(): - - has(self, x) -> bool - - -ida_hexrays.lvar_saved_infos_t.inject(): - - inject(self, s, len) - - -ida_hexrays.lvar_saved_infos_t.insert(): - - insert(self, it, x) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.pop_back(): - - pop_back(self) - - -ida_hexrays.lvar_saved_infos_t.push_back(): - - push_back(self, x) - push_back(self) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.qclear(): - - qclear(self) - - -ida_hexrays.lvar_saved_infos_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.lvar_saved_infos_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.lvar_saved_infos_t.size(): - - size(self) -> size_t - - -ida_hexrays.lvar_saved_infos_t.swap(): - - swap(self, r) - - -ida_hexrays.lvar_saved_infos_t.truncate(): - - truncate(self) - - -class ida_hexrays.lvar_t(): - - Proxy of C++ lvar_t class - - -ida_hexrays.lvar_t.accepts_type(): - - accepts_type(self, t, may_change_thisarg=False) -> bool - - -ida_hexrays.lvar_t.append_list(): - - append_list(self, lst, pad_if_scattered=False) - - -ida_hexrays.lvar_t.clear_used(): - - clear_used(self) - - -ida_hexrays.lvar_t.clr_arg_var(): - - clr_arg_var(self) - - -ida_hexrays.lvar_t.clr_dummy_arg(): - - clr_dummy_arg(self) - - -ida_hexrays.lvar_t.clr_fake_var(): - - clr_fake_var(self) - - -ida_hexrays.lvar_t.clr_floating_var(): - - clr_floating_var(self) - - -ida_hexrays.lvar_t.clr_forced_var(): - - clr_forced_var(self) - - -ida_hexrays.lvar_t.clr_mapdst_var(): - - clr_mapdst_var(self) - - -ida_hexrays.lvar_t.clr_mreg_done(): - - clr_mreg_done(self) - - -ida_hexrays.lvar_t.clr_noptr_var(): - - clr_noptr_var(self) - - -ida_hexrays.lvar_t.clr_notarg(): - - clr_notarg(self) - - -ida_hexrays.lvar_t.clr_overlapped_var(): - - clr_overlapped_var(self) - - -ida_hexrays.lvar_t.clr_spoiled_var(): - - clr_spoiled_var(self) - - -ida_hexrays.lvar_t.clr_thisarg(): - - clr_thisarg(self) - - -ida_hexrays.lvar_t.clr_unknown_width(): - - clr_unknown_width(self) - - -ida_hexrays.lvar_t.clr_user_info(): - - clr_user_info(self) - - -ida_hexrays.lvar_t.clr_user_name(): - - clr_user_name(self) - - -ida_hexrays.lvar_t.clr_user_type(): - - clr_user_type(self) - - -ida_hexrays.lvar_t.cmt: - lvar_t_cmt_get(self) -> qstring * - -ida_hexrays.lvar_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.lvar_t.defblk: - lvar_t_defblk_get(self) -> int - -ida_hexrays.lvar_t.defea: - lvar_locator_t_defea_get(self) -> ea_t - -ida_hexrays.lvar_t.divisor: - lvar_t_divisor_get(self) -> uint64 - -ida_hexrays.lvar_t.get_reg1(): - - get_reg1(self) -> mreg_t - - -ida_hexrays.lvar_t.get_reg2(): - - get_reg2(self) -> mreg_t - - -ida_hexrays.lvar_t.get_scattered(): - - get_scattered(self) -> scattered_aloc_t - get_scattered(self) -> scattered_aloc_t - - -ida_hexrays.lvar_t.get_stkoff(): - - get_stkoff(self) -> sval_t - - -ida_hexrays.lvar_t.has_common(): - - has_common(self, v) -> bool - - -ida_hexrays.lvar_t.has_common_bit(): - - has_common_bit(self, loc, width2) -> bool - - -ida_hexrays.lvar_t.has_nice_name: - - has_nice_name(self) -> bool - - -ida_hexrays.lvar_t.has_regname(): - - has_regname(self) -> bool - - -ida_hexrays.lvar_t.has_user_info: - - has_user_info(self) -> bool - - -ida_hexrays.lvar_t.has_user_name: - - has_user_name(self) -> bool - - -ida_hexrays.lvar_t.has_user_type: - - has_user_type(self) -> bool - - -ida_hexrays.lvar_t.is_aliasable(): - - is_aliasable(self, mba) -> bool - - -ida_hexrays.lvar_t.is_arg_var: - - is_arg_var(self) -> bool - - -ida_hexrays.lvar_t.is_dummy_arg(): - - is_dummy_arg(self) -> bool - - -ida_hexrays.lvar_t.is_fake_var: - - is_fake_var(self) -> bool - - -ida_hexrays.lvar_t.is_floating_var: - - is_floating_var(self) -> bool - - -ida_hexrays.lvar_t.is_forced_var(): - - is_forced_var(self) -> bool - - -ida_hexrays.lvar_t.is_mapdst_var: - - is_mapdst_var(self) -> bool - - -ida_hexrays.lvar_t.is_noptr_var(): - - is_noptr_var(self) -> bool - - -ida_hexrays.lvar_t.is_notarg(): - - is_notarg(self) -> bool - - -ida_hexrays.lvar_t.is_overlapped_var: - - is_overlapped_var(self) -> bool - - -ida_hexrays.lvar_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_hexrays.lvar_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_hexrays.lvar_t.is_reg_var(): - - is_reg_var(self) -> bool - - -ida_hexrays.lvar_t.is_result_var: - - is_result_var(self) -> bool - - -ida_hexrays.lvar_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.lvar_t.is_spoiled_var: - - is_spoiled_var(self) -> bool - - -ida_hexrays.lvar_t.is_stk_var(): - - is_stk_var(self) -> bool - - -ida_hexrays.lvar_t.is_thisarg(): - - is_thisarg(self) -> bool - - -ida_hexrays.lvar_t.is_unknown_width: - - is_unknown_width(self) -> bool - - -ida_hexrays.lvar_t.location: - lvar_locator_t_location_get(self) -> vdloc_t - -ida_hexrays.lvar_t.mreg_done: - - mreg_done(self) -> bool - - -ida_hexrays.lvar_t.name: - lvar_t_name_get(self) -> qstring * - -ida_hexrays.lvar_t.set_arg_var(): - - set_arg_var(self) - - -ida_hexrays.lvar_t.set_dummy_arg(): - - set_dummy_arg(self) - - -ida_hexrays.lvar_t.set_fake_var(): - - set_fake_var(self) - - -ida_hexrays.lvar_t.set_final_lvar_type(): - - set_final_lvar_type(self, t) - - -ida_hexrays.lvar_t.set_floating_var(): - - set_floating_var(self) - - -ida_hexrays.lvar_t.set_forced_var(): - - set_forced_var(self) - - -ida_hexrays.lvar_t.set_lvar_type(): - - set_lvar_type(self, t, may_fail=False) -> bool - - -ida_hexrays.lvar_t.set_mapdst_var(): - - set_mapdst_var(self) - - -ida_hexrays.lvar_t.set_mreg_done(): - - set_mreg_done(self) - - -ida_hexrays.lvar_t.set_non_typed(): - - set_non_typed(self) - - -ida_hexrays.lvar_t.set_noptr_var(): - - set_noptr_var(self) - - -ida_hexrays.lvar_t.set_notarg(): - - set_notarg(self) - - -ida_hexrays.lvar_t.set_overlapped_var(): - - set_overlapped_var(self) - - -ida_hexrays.lvar_t.set_spoiled_var(): - - set_spoiled_var(self) - - -ida_hexrays.lvar_t.set_thisarg(): - - set_thisarg(self) - - -ida_hexrays.lvar_t.set_typed(): - - set_typed(self) - - -ida_hexrays.lvar_t.set_unknown_width(): - - set_unknown_width(self) - - -ida_hexrays.lvar_t.set_used(): - - set_used(self) - - -ida_hexrays.lvar_t.set_user_name(): - - set_user_name(self) - - -ida_hexrays.lvar_t.set_user_type(): - - set_user_type(self) - - -ida_hexrays.lvar_t.set_width(): - - set_width(self, w, svw_flags=0) -> bool - - -ida_hexrays.lvar_t.tif: - lvar_t_tif_get(self) -> tinfo_t - -ida_hexrays.lvar_t.type(): - - type(self) -> tinfo_t - type(self) -> tinfo_t - - -ida_hexrays.lvar_t.typed: - - typed(self) -> bool - - -ida_hexrays.lvar_t.used: - - used(self) -> bool - - -ida_hexrays.lvar_t.width: - lvar_t_width_get(self) -> int - -class ida_hexrays.lvar_uservec_t(): - - Proxy of C++ lvar_uservec_t class - - -ida_hexrays.lvar_uservec_t.clear(): - - clear(self) - - -ida_hexrays.lvar_uservec_t.find_info(): - - find_info(self, vloc) -> lvar_saved_info_t - - -ida_hexrays.lvar_uservec_t.keep_info(): - - keep_info(self, v) - - -ida_hexrays.lvar_uservec_t.lmaps: - lvar_uservec_t_lmaps_get(self) -> lvar_mapping_t - -ida_hexrays.lvar_uservec_t.lvvec: - lvar_uservec_t_lvvec_get(self) -> lvar_saved_infos_t - -ida_hexrays.lvar_uservec_t.stkoff_delta: - lvar_uservec_t_stkoff_delta_get(self) -> uval_t - -ida_hexrays.lvar_uservec_t.swap(): - - swap(self, r) - - -ida_hexrays.lvar_uservec_t.ulv_flags: - lvar_uservec_t_ulv_flags_get(self) -> int - -class ida_hexrays.lvars_t(): - - Proxy of C++ lvars_t class - - -ida_hexrays.lvars_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.lvars_t.append(): - - push_back(self, x) - push_back(self) -> lvar_t - - -ida_hexrays.lvars_t.at(): - - __getitem__(self, i) -> lvar_t - - -ida_hexrays.lvars_t.begin(): - - begin(self) -> lvar_t - begin(self) -> lvar_t - - -ida_hexrays.lvars_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.lvars_t.clear(): - - clear(self) - - -ida_hexrays.lvars_t.empty(): - - empty(self) -> bool - - -ida_hexrays.lvars_t.end(): - - end(self) -> lvar_t - end(self) -> lvar_t - - -ida_hexrays.lvars_t.erase(): - - erase(self, it) -> lvar_t - erase(self, first, last) -> lvar_t - - -ida_hexrays.lvars_t.extract(): - - extract(self) -> lvar_t - - -ida_hexrays.lvars_t.find(): - - find(self, ll) -> lvar_t - - -ida_hexrays.lvars_t.find_input_lvar(): - - find_input_lvar(self, argloc, _size) -> int - - -ida_hexrays.lvars_t.find_lvar(): - - find_lvar(self, location, width, defblk=-1) -> int - - -ida_hexrays.lvars_t.find_stkvar(): - - find_stkvar(self, spoff, width) -> int - - -ida_hexrays.lvars_t.grow(): - - grow(self, x=lvar_t()) - - -ida_hexrays.lvars_t.has(): - - has(self, x) -> bool - - -ida_hexrays.lvars_t.inject(): - - inject(self, s, len) - - -ida_hexrays.lvars_t.insert(): - - insert(self, it, x) -> lvar_t - - -ida_hexrays.lvars_t.pop_back(): - - pop_back(self) - - -ida_hexrays.lvars_t.push_back(): - - push_back(self, x) - push_back(self) -> lvar_t - - -ida_hexrays.lvars_t.qclear(): - - qclear(self) - - -ida_hexrays.lvars_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.lvars_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.lvars_t.size(): - - size(self) -> size_t - - -ida_hexrays.lvars_t.swap(): - - swap(self, r) - - -ida_hexrays.lvars_t.truncate(): - - truncate(self) - - -ida_hexrays.make_pointer(): - - make_pointer(type) -> tinfo_t - - - Create a pointer type. This function performs the following - conversion: "type" -> "type*" - - @param type: object type. (C++: const tinfo_t &) - @return: "type*". for example, if 'char' is passed as the argument, - - -ida_hexrays.mark_cfunc_dirty(): - - mark_cfunc_dirty(ea, close_views=False) -> bool - - - Flush the cached decompilation results. Erases a cache entry for the - specified function. - - @param ea: function to erase from the cache (C++: ea_t) - @param close_views: close pseudocode windows that show the function - (C++: bool) - @return: if a cache entry existed. - - -class ida_hexrays.mba_range_iterator_t(): - - Proxy of C++ mba_range_iterator_t class - - -ida_hexrays.mba_range_iterator_t.chunk(): - - chunk(self) -> range_t - - -ida_hexrays.mba_range_iterator_t.fii: - mba_range_iterator_t_fii_get(self) -> func_tail_iterator_t - -ida_hexrays.mba_range_iterator_t.is_snippet(): - - is_snippet(self) -> bool - - -ida_hexrays.mba_range_iterator_t.next(): - - next(self) -> bool - - -ida_hexrays.mba_range_iterator_t.rii: - mba_range_iterator_t_rii_get(self) -> range_chunk_iterator_t * - -ida_hexrays.mba_range_iterator_t.set(): - - set(self, mbr) -> bool - - -class ida_hexrays.mba_ranges_t(): - - Proxy of C++ mba_ranges_t class - - -ida_hexrays.mba_ranges_t.clear(): - - clear(self) - - -ida_hexrays.mba_ranges_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mba_ranges_t.is_fragmented(): - - is_fragmented(self) -> bool - - -ida_hexrays.mba_ranges_t.is_snippet(): - - is_snippet(self) -> bool - - -ida_hexrays.mba_ranges_t.pfn: - mba_ranges_t_pfn_get(self) -> func_t * - -ida_hexrays.mba_ranges_t.ranges: - mba_ranges_t_ranges_get(self) -> rangevec_t - -ida_hexrays.mba_ranges_t.start(): - - start(self) -> ea_t - - -class ida_hexrays.mbl_array_t(): - - Proxy of C++ mbl_array_t class - - -ida_hexrays.mbl_array_t._print(): - - _print(self, vp) - - -ida_hexrays.mbl_array_t.aliased_args: - mbl_array_t_aliased_args_get(self) -> ivl_t - -ida_hexrays.mbl_array_t.aliased_memory: - mbl_array_t_aliased_memory_get(self) -> ivlset_t - -ida_hexrays.mbl_array_t.aliased_vars: - mbl_array_t_aliased_vars_get(self) -> ivl_t - -ida_hexrays.mbl_array_t.alloc_lvars(): - - alloc_lvars(self) - - -ida_hexrays.mbl_array_t.analyze_calls(): - - analyze_calls(self, acflags) -> int - - -ida_hexrays.mbl_array_t.arg(): - - arg(self, n) -> lvar_t - arg(self, n) -> lvar_t - - -ida_hexrays.mbl_array_t.argbase(): - - argbase(self) -> sval_t - - -ida_hexrays.mbl_array_t.argidx: - mbl_array_t_argidx_get(self) -> intvec_t - -ida_hexrays.mbl_array_t.argidx_ok(): - - argidx_ok(self) -> bool - - -ida_hexrays.mbl_array_t.bad_call_sp_detected(): - - bad_call_sp_detected(self) -> bool - - -ida_hexrays.mbl_array_t.blocks: - mbl_array_t_blocks_get(self) -> mblock_t - -ida_hexrays.mbl_array_t.build_graph(): - - build_graph(self) -> merror_t - - -ida_hexrays.mbl_array_t.calc_shins_flags(): - - calc_shins_flags(self) -> int - - -ida_hexrays.mbl_array_t.callinfo_built(): - - callinfo_built(self) -> bool - - -ida_hexrays.mbl_array_t.cc: - mbl_array_t_cc_get(self) -> cm_t - -ida_hexrays.mbl_array_t.chain_varnums_ok(): - - chain_varnums_ok(self) -> bool - - -ida_hexrays.mbl_array_t.clr_cdtr(): - - clr_cdtr(self) - - -ida_hexrays.mbl_array_t.clr_mba_flags(): - - clr_mba_flags(self, f) - - -ida_hexrays.mbl_array_t.clr_mba_flags2(): - - clr_mba_flags2(self, f) - - -ida_hexrays.mbl_array_t.combine_blocks(): - - combine_blocks(self) -> bool - - -ida_hexrays.mbl_array_t.common_stkvars_stkargs(): - - common_stkvars_stkargs(self) -> bool - - -ida_hexrays.mbl_array_t.consumed_argregs: - mbl_array_t_consumed_argregs_get(self) -> rlist_t - -ida_hexrays.mbl_array_t.copy_block(): - - copy_block(self, blk, new_serial, cpblk_flags=3) -> mblock_t - - -ida_hexrays.mbl_array_t.deleted_pairs(): - - deleted_pairs(self) -> bool - - -ida_hexrays.mbl_array_t.deserialize(): - - deserialize(bytes, nbytes) -> mbl_array_t - - -ida_hexrays.mbl_array_t.display_numaddrs(): - - display_numaddrs(self) -> bool - - -ida_hexrays.mbl_array_t.display_valnums(): - - display_valnums(self) -> bool - - -ida_hexrays.mbl_array_t.dump(): - - dump(self) - - -ida_hexrays.mbl_array_t.dump_mba(): - - dump_mba(self, _verify, title) - - -ida_hexrays.mbl_array_t.entry_ea: - mbl_array_t_entry_ea_get(self) -> ea_t - -ida_hexrays.mbl_array_t.error_ea: - mbl_array_t_error_ea_get(self) -> ea_t - -ida_hexrays.mbl_array_t.error_strarg: - mbl_array_t_error_strarg_get(self) -> qstring * - -ida_hexrays.mbl_array_t.final_type: - mbl_array_t_final_type_get(self) -> bool - -ida_hexrays.mbl_array_t.find_mop(): - - find_mop(self, ctx, ea, is_dest, list) -> mop_t - - -ida_hexrays.mbl_array_t.first_epilog_ea: - mbl_array_t_first_epilog_ea_get(self) -> ea_t - -ida_hexrays.mbl_array_t.for_all_insns(): - - for_all_insns(self, mv) -> int - - -ida_hexrays.mbl_array_t.for_all_ops(): - - for_all_ops(self, mv) -> int - - -ida_hexrays.mbl_array_t.for_all_topinsns(): - - for_all_topinsns(self, mv) -> int - - -ida_hexrays.mbl_array_t.fpd: - mbl_array_t_fpd_get(self) -> sval_t - -ida_hexrays.mbl_array_t.frregs: - mbl_array_t_frregs_get(self) -> sval_t - -ida_hexrays.mbl_array_t.frsize: - mbl_array_t_frsize_get(self) -> sval_t - -ida_hexrays.mbl_array_t.fti_flags: - mbl_array_t_fti_flags_get(self) -> int - -ida_hexrays.mbl_array_t.fullsize: - mbl_array_t_fullsize_get(self) -> sval_t - -ida_hexrays.mbl_array_t.generated_asserts(): - - generated_asserts(self) -> bool - - -ida_hexrays.mbl_array_t.get_args_region(): - - get_args_region(self) -> ivl_t - - -ida_hexrays.mbl_array_t.get_curfunc(): - - get_curfunc(self) -> func_t * - - -ida_hexrays.mbl_array_t.get_graph(): - - get_graph(self) -> mbl_graph_t - - -ida_hexrays.mbl_array_t.get_ida_argloc(): - - get_ida_argloc(self, v) -> argloc_t - - -ida_hexrays.mbl_array_t.get_lvars_region(): - - get_lvars_region(self) -> ivl_t - - -ida_hexrays.mbl_array_t.get_mba_flags(): - - get_mba_flags(self) -> int - - -ida_hexrays.mbl_array_t.get_mba_flags2(): - - get_mba_flags2(self) -> int - - -ida_hexrays.mbl_array_t.get_mblock(): - - get_mblock(self, n) -> mblock_t - get_mblock(self, n) -> mblock_t - - -ida_hexrays.mbl_array_t.get_shadow_region(): - - get_shadow_region(self) -> ivl_t - - -ida_hexrays.mbl_array_t.get_stack_region(): - - get_stack_region(self) -> ivl_t - - -ida_hexrays.mbl_array_t.get_std_region(): - - get_std_region(self, idx) -> ivl_t - - -ida_hexrays.mbl_array_t.gotoff_stkvars: - mbl_array_t_gotoff_stkvars_get(self) -> ivlset_t - -ida_hexrays.mbl_array_t.graph_insns(): - - graph_insns(self) -> bool - - -ida_hexrays.mbl_array_t.has_bad_sp(): - - has_bad_sp(self) -> bool - - -ida_hexrays.mbl_array_t.has_over_chains(): - - has_over_chains(self) -> bool - - -ida_hexrays.mbl_array_t.has_overvars(): - - has_overvars(self) -> bool - - -ida_hexrays.mbl_array_t.has_passregs(): - - has_passregs(self) -> bool - - -ida_hexrays.mbl_array_t.idaloc2vd(): - - idaloc2vd(self, loc, width) -> vdloc_t - - -ida_hexrays.mbl_array_t.idb_node: - mbl_array_t_idb_node_get(self) -> netnode - -ida_hexrays.mbl_array_t.idb_spoiled: - mbl_array_t_idb_spoiled_get(self) -> reginfovec_t - -ida_hexrays.mbl_array_t.idb_type: - mbl_array_t_idb_type_get(self) -> tinfo_t - -ida_hexrays.mbl_array_t.inargoff: - mbl_array_t_inargoff_get(self) -> sval_t - -ida_hexrays.mbl_array_t.insert_block(): - - insert_block(self, bblk) -> mblock_t - - -ida_hexrays.mbl_array_t.is_cdtr(): - - is_cdtr(self) -> bool - - -ida_hexrays.mbl_array_t.is_ctr(): - - is_ctr(self) -> bool - - -ida_hexrays.mbl_array_t.is_dtr(): - - is_dtr(self) -> bool - - -ida_hexrays.mbl_array_t.is_pattern(): - - is_pattern(self) -> bool - - -ida_hexrays.mbl_array_t.is_snippet(): - - is_snippet(self) -> bool - - -ida_hexrays.mbl_array_t.is_stkarg(): - - is_stkarg(self, v) -> bool - - -ida_hexrays.mbl_array_t.is_thunk(): - - is_thunk(self) -> bool - - -ida_hexrays.mbl_array_t.label: - mbl_array_t_label_get(self) -> qstring * - -ida_hexrays.mbl_array_t.last_prolog_ea: - mbl_array_t_last_prolog_ea_get(self) -> ea_t - -ida_hexrays.mbl_array_t.loaded_gdl(): - - loaded_gdl(self) -> bool - - -ida_hexrays.mbl_array_t.lvar_names_ok(): - - lvar_names_ok(self) -> bool - - -ida_hexrays.mbl_array_t.lvars_allocated(): - - lvars_allocated(self) -> bool - - -ida_hexrays.mbl_array_t.lvars_renamed(): - - lvars_renamed(self) -> bool - - -ida_hexrays.mbl_array_t.mark_chains_dirty(): - - mark_chains_dirty(self) - - -ida_hexrays.mbl_array_t.maturity: - mbl_array_t_maturity_get(self) -> mba_maturity_t - -ida_hexrays.mbl_array_t.may_refine_rettype(): - - may_refine_rettype(self) -> bool - - -ida_hexrays.mbl_array_t.mbr: - mbl_array_t_mbr_get(self) -> mba_ranges_t - -ida_hexrays.mbl_array_t.minargref: - mbl_array_t_minargref_get(self) -> sval_t - -ida_hexrays.mbl_array_t.minstkref: - mbl_array_t_minstkref_get(self) -> sval_t - -ida_hexrays.mbl_array_t.minstkref_ea: - mbl_array_t_minstkref_ea_get(self) -> ea_t - -ida_hexrays.mbl_array_t.natural: - mbl_array_t_natural_get(self) -> mblock_t ** - -ida_hexrays.mbl_array_t.nodel_memory: - mbl_array_t_nodel_memory_get(self) -> mlist_t - -ida_hexrays.mbl_array_t.notes: - mbl_array_t_notes_get(self) -> hexwarns_t - -ida_hexrays.mbl_array_t.npurged: - mbl_array_t_npurged_get(self) -> int - -ida_hexrays.mbl_array_t.occurred_warns: - mbl_array_t_occurred_warns_get(self) -> uchar [32] - -ida_hexrays.mbl_array_t.optimize_global(): - - optimize_global(self) -> merror_t - - -ida_hexrays.mbl_array_t.optimize_local(): - - optimize_local(self, locopt_bits) -> int - - -ida_hexrays.mbl_array_t.optimized(): - - optimized(self) -> bool - - -ida_hexrays.mbl_array_t.pfn_flags: - mbl_array_t_pfn_flags_get(self) -> int - -ida_hexrays.mbl_array_t.precise_defeas(): - - precise_defeas(self) -> bool - - -ida_hexrays.mbl_array_t.propagated_asserts(): - - propagated_asserts(self) -> bool - - -ida_hexrays.mbl_array_t.qty: - mbl_array_t_qty_get(self) -> int - -ida_hexrays.mbl_array_t.really_alloc(): - - really_alloc(self) -> bool - - -ida_hexrays.mbl_array_t.regargs_is_not_aligned(): - - regargs_is_not_aligned(self) -> bool - - -ida_hexrays.mbl_array_t.remove_block(): - - remove_block(self, blk) -> bool - - -ida_hexrays.mbl_array_t.remove_empty_blocks(): - - remove_empty_blocks(self) -> bool - - -ida_hexrays.mbl_array_t.reqmat: - mbl_array_t_reqmat_get(self) -> mba_maturity_t - -ida_hexrays.mbl_array_t.restricted_memory: - mbl_array_t_restricted_memory_get(self) -> ivlset_t - -ida_hexrays.mbl_array_t.retsize: - mbl_array_t_retsize_get(self) -> int - -ida_hexrays.mbl_array_t.returns_fpval(): - - returns_fpval(self) -> bool - - -ida_hexrays.mbl_array_t.retvaridx: - mbl_array_t_retvaridx_get(self) -> int - -ida_hexrays.mbl_array_t.rtype_refined(): - - rtype_refined(self) -> bool - - -ida_hexrays.mbl_array_t.saverest_done(): - - saverest_done(self) -> bool - - -ida_hexrays.mbl_array_t.serialize(): - - serialize(self) - - -ida_hexrays.mbl_array_t.set_mba_flags(): - - set_mba_flags(self, f) - - -ida_hexrays.mbl_array_t.set_mba_flags2(): - - set_mba_flags2(self, f) - - -ida_hexrays.mbl_array_t.shadow_args: - mbl_array_t_shadow_args_get(self) -> int - -ida_hexrays.mbl_array_t.short_display(): - - short_display(self) -> bool - - -ida_hexrays.mbl_array_t.should_beautify(): - - should_beautify(self) -> bool - - -ida_hexrays.mbl_array_t.show_reduction(): - - show_reduction(self) -> bool - - -ida_hexrays.mbl_array_t.spd_adjust: - mbl_array_t_spd_adjust_get(self) -> sval_t - -ida_hexrays.mbl_array_t.spoiled_list: - mbl_array_t_spoiled_list_get(self) -> mlist_t - -ida_hexrays.mbl_array_t.stacksize: - mbl_array_t_stacksize_get(self) -> sval_t - -ida_hexrays.mbl_array_t.std_ivls: - mbl_array_t_std_ivls_get(self) -> ivl_with_name_t - -ida_hexrays.mbl_array_t.stkoff_ida2vd(): - - stkoff_ida2vd(self, off) -> sval_t - - -ida_hexrays.mbl_array_t.stkoff_vd2ida(): - - stkoff_vd2ida(self, off) -> sval_t - - -ida_hexrays.mbl_array_t.term(): - - term(self) - - -ida_hexrays.mbl_array_t.tmpstk_size: - mbl_array_t_tmpstk_size_get(self) -> sval_t - -ida_hexrays.mbl_array_t.use_frame(): - - use_frame(self) -> bool - - -ida_hexrays.mbl_array_t.use_wingraph32(): - - use_wingraph32(self) -> bool - - -ida_hexrays.mbl_array_t.valranges_done(): - - valranges_done(self) -> bool - - -ida_hexrays.mbl_array_t.vars: - mbl_array_t_vars_get(self) -> lvars_t - -ida_hexrays.mbl_array_t.vd2idaloc(): - - vd2idaloc(self, loc, width, spd) -> argloc_t - vd2idaloc(self, loc, width) -> argloc_t - - -ida_hexrays.mbl_array_t.verify(): - - verify(self, always) - - -ida_hexrays.mbl_array_t.write_to_const_detected(): - - write_to_const_detected(self) -> bool - - -ida_hexrays.mbl_array_t_deserialize(): - - mbl_array_t_deserialize(bytes, nbytes) -> mbl_array_t - - -class ida_hexrays.mbl_graph_t(): - - Proxy of C++ mbl_graph_t class - - -ida_hexrays.mbl_graph_t.colored_gdl_edges: - simple_graph_t_colored_gdl_edges_get(self) -> bool - -ida_hexrays.mbl_graph_t.get_chain_stamp(): - - get_chain_stamp(self) -> int - - -ida_hexrays.mbl_graph_t.get_du(): - - get_du(self, gctype) -> graph_chains_t - - -ida_hexrays.mbl_graph_t.get_mblock(): - - get_mblock(self, n) -> mblock_t - - -ida_hexrays.mbl_graph_t.get_ud(): - - get_ud(self, gctype) -> graph_chains_t - - -ida_hexrays.mbl_graph_t.is_du_chain_dirty(): - - is_du_chain_dirty(self, gctype) -> bool - - -ida_hexrays.mbl_graph_t.is_redefined_globally(): - - is_redefined_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool - - -ida_hexrays.mbl_graph_t.is_ud_chain_dirty(): - - is_ud_chain_dirty(self, gctype) -> bool - - -ida_hexrays.mbl_graph_t.is_used_globally(): - - is_used_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool - - -ida_hexrays.mbl_graph_t.title: - simple_graph_t_title_get(self) -> qstring * - -class ida_hexrays.mblock_t(): - - Proxy of C++ mblock_t class - - -ida_hexrays.mblock_t._print(): - - _print(self, vp) - - -ida_hexrays.mblock_t.append_def_list(): - - append_def_list(self, list, op, maymust) - - -ida_hexrays.mblock_t.append_use_list(): - - append_use_list(self, list, op, maymust, mask=bitrange_t(0, USHRT_MAX)) - - -ida_hexrays.mblock_t.build_def_list(): - - build_def_list(self, ins, maymust) -> mlist_t - - -ida_hexrays.mblock_t.build_lists(): - - build_lists(self, kill_deads) -> int - - -ida_hexrays.mblock_t.build_use_list(): - - build_use_list(self, ins, maymust) -> mlist_t - - -ida_hexrays.mblock_t.dead_at_start: - mblock_t_dead_at_start_get(self) -> mlist_t - -ida_hexrays.mblock_t.dnu: - mblock_t_dnu_get(self) -> mlist_t - -ida_hexrays.mblock_t.dump(): - - dump(self) - - -ida_hexrays.mblock_t.dump_block(): - - dump_block(self, title) - - -ida_hexrays.mblock_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mblock_t.end: - mblock_t_end_get(self) -> ea_t - -ida_hexrays.mblock_t.find_access(): - - find_access(self, op, parent, mend, fdflags) -> minsn_t - - -ida_hexrays.mblock_t.find_def(): - - find_def(self, op, p_i1, i2, fdflags) -> minsn_t - - -ida_hexrays.mblock_t.find_first_use(): - - find_first_use(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t - - -ida_hexrays.mblock_t.find_redefinition(): - - find_redefinition(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t - - -ida_hexrays.mblock_t.find_use(): - - find_use(self, op, p_i1, i2, fdflags) -> minsn_t - - -ida_hexrays.mblock_t.flags: - mblock_t_flags_get(self) -> uint32 - -ida_hexrays.mblock_t.for_all_insns(): - - for_all_insns(self, mv) -> int - - -ida_hexrays.mblock_t.for_all_ops(): - - for_all_ops(self, mv) -> int - - -ida_hexrays.mblock_t.for_all_uses(): - - for_all_uses(self, list, i1, i2, mmv) -> int - - -ida_hexrays.mblock_t.get_reginsn_qty(): - - get_reginsn_qty(self) -> size_t - - -ida_hexrays.mblock_t.get_valranges(): - - get_valranges(self, res, vivl, vrflags) -> bool - get_valranges(self, res, vivl, m, vrflags) -> bool - - -ida_hexrays.mblock_t.head: - mblock_t_head_get(self) -> minsn_t - -ida_hexrays.mblock_t.insert_into_block(): - - insert_into_block(self, nm, om) -> minsn_t - - -ida_hexrays.mblock_t.is_branch(): - - is_branch(self) -> bool - - -ida_hexrays.mblock_t.is_call_block(): - - is_call_block(self) -> bool - - -ida_hexrays.mblock_t.is_nway(): - - is_nway(self) -> bool - - -ida_hexrays.mblock_t.is_redefined(): - - is_redefined(self, list, i1, i2, maymust=MAY_ACCESS) -> bool - - -ida_hexrays.mblock_t.is_rhs_redefined(): - - is_rhs_redefined(self, ins, i1, i2) -> bool - - -ida_hexrays.mblock_t.is_simple_goto_block(): - - is_simple_goto_block(self) -> bool - - -ida_hexrays.mblock_t.is_simple_jcnd_block(): - - is_simple_jcnd_block(self) -> bool - - -ida_hexrays.mblock_t.is_unknown_call(): - - is_unknown_call(self) -> bool - - -ida_hexrays.mblock_t.is_used(): - - is_used(self, list, i1, i2, maymust=MAY_ACCESS) -> bool - - -ida_hexrays.mblock_t.lists_dirty(): - - lists_dirty(self) -> bool - - -ida_hexrays.mblock_t.lists_ready(): - - lists_ready(self) -> bool - - -ida_hexrays.mblock_t.make_lists_ready(): - - make_lists_ready(self) -> int - - -ida_hexrays.mblock_t.make_nop(): - - make_nop(self, m) - - -ida_hexrays.mblock_t.mark_lists_dirty(): - - mark_lists_dirty(self) - - -ida_hexrays.mblock_t.maxbsp: - mblock_t_maxbsp_get(self) -> sval_t - -ida_hexrays.mblock_t.maybdef: - mblock_t_maybdef_get(self) -> mlist_t - -ida_hexrays.mblock_t.maybuse: - mblock_t_maybuse_get(self) -> mlist_t - -ida_hexrays.mblock_t.mba: - mblock_t_mba_get(self) -> mbl_array_t - -ida_hexrays.mblock_t.minbargref: - mblock_t_minbargref_get(self) -> sval_t - -ida_hexrays.mblock_t.minbstkref: - mblock_t_minbstkref_get(self) -> sval_t - -ida_hexrays.mblock_t.mustbdef: - mblock_t_mustbdef_get(self) -> mlist_t - -ida_hexrays.mblock_t.mustbuse: - mblock_t_mustbuse_get(self) -> mlist_t - -ida_hexrays.mblock_t.needs_propagation(): - - needs_propagation(self) -> bool - - -ida_hexrays.mblock_t.nextb: - mblock_t_nextb_get(self) -> mblock_t - -ida_hexrays.mblock_t.npred(): - - npred(self) -> int - - -ida_hexrays.mblock_t.nsucc(): - - nsucc(self) -> int - - -ida_hexrays.mblock_t.optimize_block(): - - optimize_block(self) -> int - - -ida_hexrays.mblock_t.optimize_insn(): - - optimize_insn(self, m, optflags=0x0002|0x0004) -> int - - -ida_hexrays.mblock_t.optimize_useless_jump(): - - optimize_useless_jump(self) -> int - - -ida_hexrays.mblock_t.pred(): - - pred(self, n) -> int - - -ida_hexrays.mblock_t.preds(): - - Iterates the list of predecessor blocks - - -ida_hexrays.mblock_t.predset: - mblock_t_predset_get(self) -> intvec_t - -ida_hexrays.mblock_t.prevb: - mblock_t_prevb_get(self) -> mblock_t - -ida_hexrays.mblock_t.remove_from_block(): - - remove_from_block(self, m) -> minsn_t - - -ida_hexrays.mblock_t.request_demote64(): - - request_demote64(self) - - -ida_hexrays.mblock_t.request_propagation(): - - request_propagation(self) - - -ida_hexrays.mblock_t.serial: - mblock_t_serial_get(self) -> int - -ida_hexrays.mblock_t.start: - mblock_t_start_get(self) -> ea_t - -ida_hexrays.mblock_t.succ(): - - succ(self, n) -> int - - -ida_hexrays.mblock_t.succs(): - - Iterates the list of successor blocks - - -ida_hexrays.mblock_t.succset: - mblock_t_succset_get(self) -> intvec_t - -ida_hexrays.mblock_t.tail: - mblock_t_tail_get(self) -> minsn_t - -ida_hexrays.mblock_t.type: - mblock_t_type_get(self) -> mblock_type_t - -class ida_hexrays.mcallarg_t(): - - Proxy of C++ mcallarg_t class - - -ida_hexrays.mcallarg_t._print(): - - _print(self, shins_flags=0x04|0x02) - - -ida_hexrays.mcallarg_t.apply_ld_mcode(): - - apply_ld_mcode(self, mcode, ea, newsize) - - -ida_hexrays.mcallarg_t.apply_xds(): - - apply_xds(self, ea, newsize) - - -ida_hexrays.mcallarg_t.apply_xdu(): - - apply_xdu(self, ea, newsize) - - -ida_hexrays.mcallarg_t.argloc: - mcallarg_t_argloc_get(self) -> argloc_t - -ida_hexrays.mcallarg_t.assign(): - - assign(self, rop) -> mop_t - - -ida_hexrays.mcallarg_t.change_size(): - - change_size(self, nsize, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mcallarg_t.copy_mop(): - - copy_mop(self, op) - - -ida_hexrays.mcallarg_t.create_from_insn(): - - create_from_insn(self, m) - - -ida_hexrays.mcallarg_t.create_from_ivlset(): - - create_from_ivlset(self, mba, ivs, fullsize) -> bool - - -ida_hexrays.mcallarg_t.create_from_mlist(): - - create_from_mlist(self, mba, lst, fullsize) -> bool - - -ida_hexrays.mcallarg_t.create_from_scattered_vdloc(): - - create_from_scattered_vdloc(self, mba, name, type, loc) - - -ida_hexrays.mcallarg_t.create_from_vdloc(): - - create_from_vdloc(self, mba, loc, _size) - - -ida_hexrays.mcallarg_t.double_size(): - - double_size(self, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mcallarg_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mcallarg_t.ea: - mcallarg_t_ea_get(self) -> ea_t - -ida_hexrays.mcallarg_t.equal_mops(): - - equal_mops(self, rop, eqflags) -> bool - - -ida_hexrays.mcallarg_t.erase(): - - erase(self) - - -ida_hexrays.mcallarg_t.erase_but_keep_size(): - - erase_but_keep_size(self) - - -ida_hexrays.mcallarg_t.for_all_ops(): - - for_all_ops(self, mv, type=None, is_target=False) -> int - - -ida_hexrays.mcallarg_t.for_all_scattered_submops(): - - for_all_scattered_submops(self, sv) -> int - - -ida_hexrays.mcallarg_t.get_insn(): - - get_insn(self, code) -> minsn_t - get_insn(self, code) -> minsn_t - - -ida_hexrays.mcallarg_t.get_stkoff(): - - get_stkoff(self, p_off) -> bool - - -ida_hexrays.mcallarg_t.get_stkvar(): - - get_stkvar(self, p_off) -> member_t * - - -ida_hexrays.mcallarg_t.has_side_effects(): - - has_side_effects(self, include_ldx_and_divs=False) -> bool - - -ida_hexrays.mcallarg_t.is01(): - - is01(self) -> bool - - -ida_hexrays.mcallarg_t.is_bit_reg(): - - is_bit_reg(self, reg) -> bool - is_bit_reg(self) -> bool - - -ida_hexrays.mcallarg_t.is_cc(): - - is_cc(self) -> bool - - -ida_hexrays.mcallarg_t.is_ccflags(): - - is_ccflags(self) -> bool - - -ida_hexrays.mcallarg_t.is_constant(): - - is_constant(self, is_signed=True) -> bool - - -ida_hexrays.mcallarg_t.is_equal_to(): - - is_equal_to(self, n, is_signed=True) -> bool - - -ida_hexrays.mcallarg_t.is_extended_from(): - - is_extended_from(self, nbytes, is_signed) -> bool - - -ida_hexrays.mcallarg_t.is_glbaddr(): - - is_glbaddr(self) -> bool - is_glbaddr(self, ea) -> bool - - -ida_hexrays.mcallarg_t.is_impptr_done(): - - is_impptr_done(self) -> bool - - -ida_hexrays.mcallarg_t.is_insn(): - - is_insn(self) -> bool - is_insn(self, code) -> bool - - -ida_hexrays.mcallarg_t.is_kreg(): - - is_kreg(self) -> bool - - -ida_hexrays.mcallarg_t.is_mob(): - - is_mob(self, serial) -> bool - - -ida_hexrays.mcallarg_t.is_negative_constant(): - - is_negative_constant(self) -> bool - - -ida_hexrays.mcallarg_t.is_one(): - - is_one(self) -> bool - - -ida_hexrays.mcallarg_t.is_positive_constant(): - - is_positive_constant(self) -> bool - - -ida_hexrays.mcallarg_t.is_reg(): - - is_reg(self) -> bool - is_reg(self, _r) -> bool - is_reg(self, _r, _size) -> bool - - -ida_hexrays.mcallarg_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.mcallarg_t.is_sign_extended_from(): - - is_sign_extended_from(self, nbytes) -> bool - - -ida_hexrays.mcallarg_t.is_stkaddr(): - - is_stkaddr(self) -> bool - - -ida_hexrays.mcallarg_t.is_udt(): - - is_udt(self) -> bool - - -ida_hexrays.mcallarg_t.is_undef_val(): - - is_undef_val(self) -> bool - - -ida_hexrays.mcallarg_t.is_zero(): - - is_zero(self) -> bool - - -ida_hexrays.mcallarg_t.is_zero_extended_from(): - - is_zero_extended_from(self, nbytes) -> bool - - -ida_hexrays.mcallarg_t.lexcompare(): - - lexcompare(self, rop) -> int - - -ida_hexrays.mcallarg_t.make_blkref(): - - make_blkref(self, blknum) - - -ida_hexrays.mcallarg_t.make_first_half(): - - make_first_half(self, width) -> bool - - -ida_hexrays.mcallarg_t.make_fpnum(): - - make_fpnum(self, bytes, _size) -> bool - - -ida_hexrays.mcallarg_t.make_gvar(): - - make_gvar(self, ea) - - -ida_hexrays.mcallarg_t.make_helper(): - - make_helper(self, name) - - -ida_hexrays.mcallarg_t.make_high_half(): - - make_high_half(self, width) -> bool - - -ida_hexrays.mcallarg_t.make_insn(): - - make_insn(self, ins) - - -ida_hexrays.mcallarg_t.make_int(): - - make_int(self, val, val_ea, opno=0) - - -ida_hexrays.mcallarg_t.make_low_half(): - - make_low_half(self, width) -> bool - - -ida_hexrays.mcallarg_t.make_number(): - - make_number(self, _value, _size, _ea=BADADDR, opnum=0) - - -ida_hexrays.mcallarg_t.make_reg(): - - make_reg(self, reg) - make_reg(self, reg, _size) - - -ida_hexrays.mcallarg_t.make_reg_pair(): - - make_reg_pair(self, loreg, hireg, halfsize) - - -ida_hexrays.mcallarg_t.make_second_half(): - - make_second_half(self, width) -> bool - - -ida_hexrays.mcallarg_t.make_uint(): - - make_uint(self, val, val_ea, opno=0) - - -ida_hexrays.mcallarg_t.may_use_aliased_memory(): - - may_use_aliased_memory(self) -> bool - - -ida_hexrays.mcallarg_t.name: - mcallarg_t_name_get(self) -> qstring * - -ida_hexrays.mcallarg_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.mcallarg_t.oprops: - mop_t_oprops_get(self) -> uint8 - -ida_hexrays.mcallarg_t.preserve_side_effects(): - - preserve_side_effects(self, blk, top, moved_calls=None) -> bool - - -ida_hexrays.mcallarg_t.probably_floating(): - - probably_floating(self) -> bool - - -ida_hexrays.mcallarg_t.set_impptr_done(): - - set_impptr_done(self) - - -ida_hexrays.mcallarg_t.set_regarg(): - - set_regarg(self, mr, sz, tif) - set_regarg(self, mr, tif) - set_regarg(self, mr, dt, sign=type_unsigned) - - -ida_hexrays.mcallarg_t.set_udt(): - - set_udt(self) - - -ida_hexrays.mcallarg_t.set_undef_val(): - - set_undef_val(self) - - -ida_hexrays.mcallarg_t.shift_mop(): - - shift_mop(self, offset) -> bool - - -ida_hexrays.mcallarg_t.signed_value(): - - signed_value(self) -> int64 - - -ida_hexrays.mcallarg_t.size: - mop_t_size_get(self) -> int - -ida_hexrays.mcallarg_t.swap(): - - swap(self, rop) - - -ida_hexrays.mcallarg_t.t: - - _get_t(self) -> mopt_t - - -ida_hexrays.mcallarg_t.type: - mcallarg_t_type_get(self) -> tinfo_t - -ida_hexrays.mcallarg_t.unsigned_value(): - - unsigned_value(self) -> uint64 - - -ida_hexrays.mcallarg_t.valnum: - mop_t_valnum_get(self) -> uint16 - -ida_hexrays.mcallarg_t.value(): - - value(self, is_signed) -> uint64 - - -ida_hexrays.mcallarg_t.zero(): - - zero(self) - - -class ida_hexrays.mcallargs_t(): - - Proxy of C++ qvector<(mcallarg_t)> class - - -ida_hexrays.mcallargs_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.mcallargs_t.at(): - - at(self, _idx) -> mcallarg_t - - -ida_hexrays.mcallargs_t.begin(): - - begin(self) -> mcallarg_t - begin(self) -> mcallarg_t - - -ida_hexrays.mcallargs_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.mcallargs_t.clear(): - - clear(self) - - -ida_hexrays.mcallargs_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mcallargs_t.end(): - - end(self) -> mcallarg_t - end(self) -> mcallarg_t - - -ida_hexrays.mcallargs_t.erase(): - - erase(self, it) -> mcallarg_t - erase(self, first, last) -> mcallarg_t - - -ida_hexrays.mcallargs_t.extract(): - - extract(self) -> mcallarg_t - - -ida_hexrays.mcallargs_t.find(): - - find(self, x) -> mcallarg_t - find(self, x) -> mcallarg_t - - -ida_hexrays.mcallargs_t.grow(): - - grow(self, x=mcallarg_t()) - - -ida_hexrays.mcallargs_t.has(): - - has(self, x) -> bool - - -ida_hexrays.mcallargs_t.inject(): - - inject(self, s, len) - - -ida_hexrays.mcallargs_t.insert(): - - insert(self, it, x) -> mcallarg_t - - -ida_hexrays.mcallargs_t.pop_back(): - - pop_back(self) - - -ida_hexrays.mcallargs_t.push_back(): - - push_back(self, x) - push_back(self) -> mcallarg_t - - -ida_hexrays.mcallargs_t.qclear(): - - qclear(self) - - -ida_hexrays.mcallargs_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.mcallargs_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.mcallargs_t.size(): - - size(self) -> size_t - - -ida_hexrays.mcallargs_t.swap(): - - swap(self, r) - - -ida_hexrays.mcallargs_t.truncate(): - - truncate(self) - - -class ida_hexrays.mcallinfo_t(): - - Proxy of C++ mcallinfo_t class - - -ida_hexrays.mcallinfo_t._print(): - - _print(self, size=-1, shins_flags=0x04|0x02) - - -ida_hexrays.mcallinfo_t.args: - mcallinfo_t_args_get(self) -> mcallargs_t - -ida_hexrays.mcallinfo_t.call_spd: - mcallinfo_t_call_spd_get(self) -> int - -ida_hexrays.mcallinfo_t.callee: - mcallinfo_t_callee_get(self) -> ea_t - -ida_hexrays.mcallinfo_t.cc: - mcallinfo_t_cc_get(self) -> cm_t - -ida_hexrays.mcallinfo_t.dead_regs: - mcallinfo_t_dead_regs_get(self) -> mlist_t - -ida_hexrays.mcallinfo_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mcallinfo_t.flags: - mcallinfo_t_flags_get(self) -> int - -ida_hexrays.mcallinfo_t.get_type(): - - get_type(self) -> tinfo_t - - -ida_hexrays.mcallinfo_t.is_vararg(): - - is_vararg(self) -> bool - - -ida_hexrays.mcallinfo_t.lexcompare(): - - lexcompare(self, f) -> int - - -ida_hexrays.mcallinfo_t.pass_regs: - mcallinfo_t_pass_regs_get(self) -> mlist_t - -ida_hexrays.mcallinfo_t.retregs: - mcallinfo_t_retregs_get(self) -> mopvec_t - -ida_hexrays.mcallinfo_t.return_argloc: - mcallinfo_t_return_argloc_get(self) -> argloc_t - -ida_hexrays.mcallinfo_t.return_regs: - mcallinfo_t_return_regs_get(self) -> mlist_t - -ida_hexrays.mcallinfo_t.return_type: - mcallinfo_t_return_type_get(self) -> tinfo_t - -ida_hexrays.mcallinfo_t.role: - mcallinfo_t_role_get(self) -> funcrole_t - -ida_hexrays.mcallinfo_t.set_type(): - - set_type(self, type) -> bool - - -ida_hexrays.mcallinfo_t.solid_args: - mcallinfo_t_solid_args_get(self) -> int - -ida_hexrays.mcallinfo_t.spoiled: - mcallinfo_t_spoiled_get(self) -> mlist_t - -ida_hexrays.mcallinfo_t.stkargs_top: - mcallinfo_t_stkargs_top_get(self) -> int - -ida_hexrays.mcallinfo_t.visible_memory: - mcallinfo_t_visible_memory_get(self) -> ivlset_t - -class ida_hexrays.mcases_t(): - - Proxy of C++ mcases_t class - - -ida_hexrays.mcases_t._print(): - - _print(self) - - -ida_hexrays.mcases_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.mcases_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mcases_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mcases_t.resize(): - - resize(self, s) - - -ida_hexrays.mcases_t.size(): - - size(self) -> size_t - - -ida_hexrays.mcases_t.swap(): - - swap(self, r) - - -ida_hexrays.mcases_t.targets: - mcases_t_targets_get(self) -> intvec_t - -ida_hexrays.mcases_t.values: - mcases_t_values_get(self) -> casevec_t - -ida_hexrays.mcode_modifies_d(): - - mcode_modifies_d(mcode) -> bool - - -class ida_hexrays.microcode_filter_t(): - - Proxy of C++ microcode_filter_t class - - -ida_hexrays.microcode_filter_t.apply(): - - apply(self, cdg) -> merror_t - - -ida_hexrays.microcode_filter_t.match(): - - match(self, cdg) -> bool - - -class ida_hexrays.minsn_t(): - - Proxy of C++ minsn_t class - - -ida_hexrays.minsn_t._print(): - - _print(self, shins_flags=0x04|0x02) - - -ida_hexrays.minsn_t.clr_assert(): - - clr_assert(self) - - -ida_hexrays.minsn_t.clr_combinable(): - - clr_combinable(self) - - -ida_hexrays.minsn_t.clr_combined(): - - clr_combined(self) - - -ida_hexrays.minsn_t.clr_fpinsn(): - - clr_fpinsn(self) - - -ida_hexrays.minsn_t.clr_ignlowsrc(): - - clr_ignlowsrc(self) - - -ida_hexrays.minsn_t.clr_multimov(): - - clr_multimov(self) - - -ida_hexrays.minsn_t.clr_noret_icall(): - - clr_noret_icall(self) - - -ida_hexrays.minsn_t.clr_propagatable(): - - clr_propagatable(self) - - -ida_hexrays.minsn_t.clr_tailcall(): - - clr_tailcall(self) - - -ida_hexrays.minsn_t.contains_call(): - - contains_call(self, with_helpers=False) -> bool - - -ida_hexrays.minsn_t.contains_opcode(): - - contains_opcode(self, mcode) -> bool - - -ida_hexrays.minsn_t.d: - minsn_t_d_get(self) -> mop_t - -ida_hexrays.minsn_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.minsn_t.ea: - minsn_t_ea_get(self) -> ea_t - -ida_hexrays.minsn_t.equal_insns(): - - equal_insns(self, m, eqflags) -> bool - - -ida_hexrays.minsn_t.find_call(): - - find_call(self, with_helpers=False) -> minsn_t - - -ida_hexrays.minsn_t.find_ins_op(): - - find_ins_op(self, other, op=m_nop) -> minsn_t - - -ida_hexrays.minsn_t.find_num_op(): - - find_num_op(self, other) -> mop_t - - -ida_hexrays.minsn_t.find_opcode(): - - find_opcode(self, mcode) -> minsn_t - find_opcode(self, mcode) -> minsn_t - - -ida_hexrays.minsn_t.for_all_insns(): - - for_all_insns(self, mv) -> int - - -ida_hexrays.minsn_t.for_all_ops(): - - for_all_ops(self, mv) -> int - - -ida_hexrays.minsn_t.get_role(): - - get_role(self) -> funcrole_t - - -ida_hexrays.minsn_t.get_split_size(): - - get_split_size(self) -> int - - -ida_hexrays.minsn_t.has_side_effects(): - - has_side_effects(self, include_ldx_and_divs=False) -> bool - - -ida_hexrays.minsn_t.iprops: - minsn_t_iprops_get(self) -> int - -ida_hexrays.minsn_t.is_after(): - - is_after(self, m) -> bool - - -ida_hexrays.minsn_t.is_alloca(): - - is_alloca(self) -> bool - - -ida_hexrays.minsn_t.is_assert(): - - is_assert(self) -> bool - - -ida_hexrays.minsn_t.is_between(): - - is_between(self, m1, m2) -> bool - - -ida_hexrays.minsn_t.is_bswap(): - - is_bswap(self) -> bool - - -ida_hexrays.minsn_t.is_cleaning_pop(): - - is_cleaning_pop(self) -> bool - - -ida_hexrays.minsn_t.is_combinable(): - - is_combinable(self) -> bool - - -ida_hexrays.minsn_t.is_combined(): - - is_combined(self) -> bool - - -ida_hexrays.minsn_t.is_extstx(): - - is_extstx(self) -> bool - - -ida_hexrays.minsn_t.is_farcall(): - - is_farcall(self) -> bool - - -ida_hexrays.minsn_t.is_fpinsn(): - - is_fpinsn(self) -> bool - - -ida_hexrays.minsn_t.is_helper(): - - is_helper(self, name) -> bool - - -ida_hexrays.minsn_t.is_ignlowsrc(): - - is_ignlowsrc(self) -> bool - - -ida_hexrays.minsn_t.is_inverted_jx(): - - is_inverted_jx(self) -> bool - - -ida_hexrays.minsn_t.is_like_move(): - - is_like_move(self) -> bool - - -ida_hexrays.minsn_t.is_memcpy(): - - is_memcpy(self) -> bool - - -ida_hexrays.minsn_t.is_memset(): - - is_memset(self) -> bool - - -ida_hexrays.minsn_t.is_mov(): - - is_mov(self) -> bool - - -ida_hexrays.minsn_t.is_multimov(): - - is_multimov(self) -> bool - - -ida_hexrays.minsn_t.is_noret_call(): - - is_noret_call(self, ignore_noret_icall=False) -> bool - - -ida_hexrays.minsn_t.is_optional(): - - is_optional(self) -> bool - - -ida_hexrays.minsn_t.is_persistent(): - - is_persistent(self) -> bool - - -ida_hexrays.minsn_t.is_propagatable(): - - is_propagatable(self) -> bool - - -ida_hexrays.minsn_t.is_readflags(): - - is_readflags(self) -> bool - - -ida_hexrays.minsn_t.is_tailcall(): - - is_tailcall(self) -> bool - - -ida_hexrays.minsn_t.is_unknown_call(): - - is_unknown_call(self) -> bool - - -ida_hexrays.minsn_t.is_wild_match(): - - is_wild_match(self) -> bool - - -ida_hexrays.minsn_t.l: - minsn_t_l_get(self) -> mop_t - -ida_hexrays.minsn_t.lexcompare(): - - lexcompare(self, ri) -> int - - -ida_hexrays.minsn_t.may_use_aliased_memory(): - - may_use_aliased_memory(self) -> bool - - -ida_hexrays.minsn_t.modifes_d(): - - modifes_d(self) -> bool - - -ida_hexrays.minsn_t.modifies_pair_mop(): - - modifies_pair_mop(self) -> bool - - -ida_hexrays.minsn_t.next: - minsn_t_next_get(self) -> minsn_t - -ida_hexrays.minsn_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.minsn_t.opcode: - minsn_t_opcode_get(self) -> mcode_t - -ida_hexrays.minsn_t.optimize_solo(): - - optimize_solo(self, optflags=0) -> int - - -ida_hexrays.minsn_t.optimize_subtree(): - - optimize_subtree(self, blk, top, parent, converted_call, optflags=0x0002) -> int - - -ida_hexrays.minsn_t.prev: - minsn_t_prev_get(self) -> minsn_t - -ida_hexrays.minsn_t.r: - minsn_t_r_get(self) -> mop_t - -ida_hexrays.minsn_t.set_assert(): - - set_assert(self) - - -ida_hexrays.minsn_t.set_cleaning_pop(): - - set_cleaning_pop(self) - - -ida_hexrays.minsn_t.set_combinable(): - - set_combinable(self) - - -ida_hexrays.minsn_t.set_extstx(): - - set_extstx(self) - - -ida_hexrays.minsn_t.set_farcall(): - - set_farcall(self) - - -ida_hexrays.minsn_t.set_fpinsn(): - - set_fpinsn(self) - - -ida_hexrays.minsn_t.set_ignlowsrc(): - - set_ignlowsrc(self) - - -ida_hexrays.minsn_t.set_inverted_jx(): - - set_inverted_jx(self) - - -ida_hexrays.minsn_t.set_multimov(): - - set_multimov(self) - - -ida_hexrays.minsn_t.set_noret_icall(): - - set_noret_icall(self) - - -ida_hexrays.minsn_t.set_optional(): - - set_optional(self) - - -ida_hexrays.minsn_t.set_persistent(): - - set_persistent(self) - - -ida_hexrays.minsn_t.set_split_size(): - - set_split_size(self, s) - - -ida_hexrays.minsn_t.set_tailcall(): - - set_tailcall(self) - - -ida_hexrays.minsn_t.set_wild_match(): - - set_wild_match(self) - - -ida_hexrays.minsn_t.setaddr(): - - setaddr(self, new_ea) - - -ida_hexrays.minsn_t.swap(): - - swap(self, m) - - -ida_hexrays.minsn_t.was_noret_icall(): - - was_noret_icall(self) -> bool - - -ida_hexrays.minsn_t.was_split(): - - was_split(self) -> bool - - -class ida_hexrays.minsn_visitor_t(): - - Proxy of C++ minsn_visitor_t class - - -ida_hexrays.minsn_visitor_t.blk: - op_parent_info_t_blk_get(self) -> mblock_t - -ida_hexrays.minsn_visitor_t.curins: - op_parent_info_t_curins_get(self) -> minsn_t - -ida_hexrays.minsn_visitor_t.mba: - op_parent_info_t_mba_get(self) -> mbl_array_t - -ida_hexrays.minsn_visitor_t.topins: - op_parent_info_t_topins_get(self) -> minsn_t - -ida_hexrays.minsn_visitor_t.visit_minsn(): - - visit_minsn(self) -> int - - -class ida_hexrays.mlist_mop_visitor_t(): - - Proxy of C++ mlist_mop_visitor_t class - - -ida_hexrays.mlist_mop_visitor_t.changed: - mlist_mop_visitor_t_changed_get(self) -> bool - -ida_hexrays.mlist_mop_visitor_t.curins: - mlist_mop_visitor_t_curins_get(self) -> minsn_t - -ida_hexrays.mlist_mop_visitor_t.list: - mlist_mop_visitor_t_list_get(self) -> mlist_t - -ida_hexrays.mlist_mop_visitor_t.topins: - mlist_mop_visitor_t_topins_get(self) -> minsn_t - -ida_hexrays.mlist_mop_visitor_t.visit_mop(): - - visit_mop(self, op) -> int - - -class ida_hexrays.mlist_t(): - - Proxy of C++ mlist_t class - - -ida_hexrays.mlist_t._print(): - - _print(self) - - -ida_hexrays.mlist_t.add(): - - add(self, r, size) -> bool - add(self, r) -> bool - add(self, ivl) -> bool - add(self, lst) -> bool - - -ida_hexrays.mlist_t.addmem(): - - addmem(self, ea, size) -> bool - - -ida_hexrays.mlist_t.clear(): - - clear(self) - - -ida_hexrays.mlist_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.mlist_t.count(): - - count(self) -> asize_t - - -ida_hexrays.mlist_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mlist_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mlist_t.has(): - - has(self, r) -> bool - - -ida_hexrays.mlist_t.has_all(): - - has_all(self, r, size) -> bool - - -ida_hexrays.mlist_t.has_any(): - - has_any(self, r, size) -> bool - - -ida_hexrays.mlist_t.has_common(): - - has_common(self, lst) -> bool - - -ida_hexrays.mlist_t.has_memory(): - - has_memory(self) -> bool - - -ida_hexrays.mlist_t.includes(): - - includes(self, lst) -> bool - - -ida_hexrays.mlist_t.intersect(): - - intersect(self, lst) -> bool - - -ida_hexrays.mlist_t.is_subset_of(): - - is_subset_of(self, lst) -> bool - - -ida_hexrays.mlist_t.mem: - mlist_t_mem_get(self) -> ivlset_t - -ida_hexrays.mlist_t.reg: - mlist_t_reg_get(self) -> rlist_t - -ida_hexrays.mlist_t.sub(): - - sub(self, r, size) -> bool - sub(self, ivl) -> bool - sub(self, lst) -> bool - - -ida_hexrays.mlist_t.swap(): - - swap(self, r) - - -class ida_hexrays.mnumber_t(): - - Proxy of C++ mnumber_t class - - -ida_hexrays.mnumber_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.mnumber_t.ea: - operand_locator_t_ea_get(self) -> ea_t - -ida_hexrays.mnumber_t.opnum: - operand_locator_t_opnum_get(self) -> int - -ida_hexrays.mnumber_t.org_value: - mnumber_t_org_value_get(self) -> uint64 - -ida_hexrays.mnumber_t.update_value(): - - update_value(self, val64) - - -ida_hexrays.mnumber_t.value: - mnumber_t_value_get(self) -> uint64 - -ida_hexrays.modify_user_lvars(): - - modify_user_lvars(entry_ea, mlv) -> bool - - - Modify saved local variable settings. - - @param entry_ea: function start address (C++: ea_t) - @param mlv: local variable modifier (C++: user_lvar_modifier_t &) - @return: true if modified variables - - -class ida_hexrays.mop_addr_t(): - - Proxy of C++ mop_addr_t class - - -ida_hexrays.mop_addr_t._print(): - - _print(self, shins_flags=0x04|0x02) - - -ida_hexrays.mop_addr_t.apply_ld_mcode(): - - apply_ld_mcode(self, mcode, ea, newsize) - - -ida_hexrays.mop_addr_t.apply_xds(): - - apply_xds(self, ea, newsize) - - -ida_hexrays.mop_addr_t.apply_xdu(): - - apply_xdu(self, ea, newsize) - - -ida_hexrays.mop_addr_t.assign(): - - assign(self, rop) -> mop_t - - -ida_hexrays.mop_addr_t.change_size(): - - change_size(self, nsize, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mop_addr_t.create_from_insn(): - - create_from_insn(self, m) - - -ida_hexrays.mop_addr_t.create_from_ivlset(): - - create_from_ivlset(self, mba, ivs, fullsize) -> bool - - -ida_hexrays.mop_addr_t.create_from_mlist(): - - create_from_mlist(self, mba, lst, fullsize) -> bool - - -ida_hexrays.mop_addr_t.create_from_scattered_vdloc(): - - create_from_scattered_vdloc(self, mba, name, type, loc) - - -ida_hexrays.mop_addr_t.create_from_vdloc(): - - create_from_vdloc(self, mba, loc, _size) - - -ida_hexrays.mop_addr_t.double_size(): - - double_size(self, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mop_addr_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mop_addr_t.equal_mops(): - - equal_mops(self, rop, eqflags) -> bool - - -ida_hexrays.mop_addr_t.erase(): - - erase(self) - - -ida_hexrays.mop_addr_t.erase_but_keep_size(): - - erase_but_keep_size(self) - - -ida_hexrays.mop_addr_t.for_all_ops(): - - for_all_ops(self, mv, type=None, is_target=False) -> int - - -ida_hexrays.mop_addr_t.for_all_scattered_submops(): - - for_all_scattered_submops(self, sv) -> int - - -ida_hexrays.mop_addr_t.get_insn(): - - get_insn(self, code) -> minsn_t - get_insn(self, code) -> minsn_t - - -ida_hexrays.mop_addr_t.get_stkoff(): - - get_stkoff(self, p_off) -> bool - - -ida_hexrays.mop_addr_t.get_stkvar(): - - get_stkvar(self, p_off) -> member_t * - - -ida_hexrays.mop_addr_t.has_side_effects(): - - has_side_effects(self, include_ldx_and_divs=False) -> bool - - -ida_hexrays.mop_addr_t.insize: - mop_addr_t_insize_get(self) -> int - -ida_hexrays.mop_addr_t.is01(): - - is01(self) -> bool - - -ida_hexrays.mop_addr_t.is_bit_reg(): - - is_bit_reg(self, reg) -> bool - is_bit_reg(self) -> bool - - -ida_hexrays.mop_addr_t.is_cc(): - - is_cc(self) -> bool - - -ida_hexrays.mop_addr_t.is_ccflags(): - - is_ccflags(self) -> bool - - -ida_hexrays.mop_addr_t.is_constant(): - - is_constant(self, is_signed=True) -> bool - - -ida_hexrays.mop_addr_t.is_equal_to(): - - is_equal_to(self, n, is_signed=True) -> bool - - -ida_hexrays.mop_addr_t.is_extended_from(): - - is_extended_from(self, nbytes, is_signed) -> bool - - -ida_hexrays.mop_addr_t.is_glbaddr(): - - is_glbaddr(self) -> bool - is_glbaddr(self, ea) -> bool - - -ida_hexrays.mop_addr_t.is_impptr_done(): - - is_impptr_done(self) -> bool - - -ida_hexrays.mop_addr_t.is_insn(): - - is_insn(self) -> bool - is_insn(self, code) -> bool - - -ida_hexrays.mop_addr_t.is_kreg(): - - is_kreg(self) -> bool - - -ida_hexrays.mop_addr_t.is_mob(): - - is_mob(self, serial) -> bool - - -ida_hexrays.mop_addr_t.is_negative_constant(): - - is_negative_constant(self) -> bool - - -ida_hexrays.mop_addr_t.is_one(): - - is_one(self) -> bool - - -ida_hexrays.mop_addr_t.is_positive_constant(): - - is_positive_constant(self) -> bool - - -ida_hexrays.mop_addr_t.is_reg(): - - is_reg(self) -> bool - is_reg(self, _r) -> bool - is_reg(self, _r, _size) -> bool - - -ida_hexrays.mop_addr_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.mop_addr_t.is_sign_extended_from(): - - is_sign_extended_from(self, nbytes) -> bool - - -ida_hexrays.mop_addr_t.is_stkaddr(): - - is_stkaddr(self) -> bool - - -ida_hexrays.mop_addr_t.is_udt(): - - is_udt(self) -> bool - - -ida_hexrays.mop_addr_t.is_undef_val(): - - is_undef_val(self) -> bool - - -ida_hexrays.mop_addr_t.is_zero(): - - is_zero(self) -> bool - - -ida_hexrays.mop_addr_t.is_zero_extended_from(): - - is_zero_extended_from(self, nbytes) -> bool - - -ida_hexrays.mop_addr_t.lexcompare(): - - lexcompare(self, ra) -> int - - -ida_hexrays.mop_addr_t.make_blkref(): - - make_blkref(self, blknum) - - -ida_hexrays.mop_addr_t.make_first_half(): - - make_first_half(self, width) -> bool - - -ida_hexrays.mop_addr_t.make_fpnum(): - - make_fpnum(self, bytes, _size) -> bool - - -ida_hexrays.mop_addr_t.make_gvar(): - - make_gvar(self, ea) - - -ida_hexrays.mop_addr_t.make_helper(): - - make_helper(self, name) - - -ida_hexrays.mop_addr_t.make_high_half(): - - make_high_half(self, width) -> bool - - -ida_hexrays.mop_addr_t.make_insn(): - - make_insn(self, ins) - - -ida_hexrays.mop_addr_t.make_low_half(): - - make_low_half(self, width) -> bool - - -ida_hexrays.mop_addr_t.make_number(): - - make_number(self, _value, _size, _ea=BADADDR, opnum=0) - - -ida_hexrays.mop_addr_t.make_reg(): - - make_reg(self, reg) - make_reg(self, reg, _size) - - -ida_hexrays.mop_addr_t.make_reg_pair(): - - make_reg_pair(self, loreg, hireg, halfsize) - - -ida_hexrays.mop_addr_t.make_second_half(): - - make_second_half(self, width) -> bool - - -ida_hexrays.mop_addr_t.may_use_aliased_memory(): - - may_use_aliased_memory(self) -> bool - - -ida_hexrays.mop_addr_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.mop_addr_t.oprops: - mop_t_oprops_get(self) -> uint8 - -ida_hexrays.mop_addr_t.outsize: - mop_addr_t_outsize_get(self) -> int - -ida_hexrays.mop_addr_t.preserve_side_effects(): - - preserve_side_effects(self, blk, top, moved_calls=None) -> bool - - -ida_hexrays.mop_addr_t.probably_floating(): - - probably_floating(self) -> bool - - -ida_hexrays.mop_addr_t.set_impptr_done(): - - set_impptr_done(self) - - -ida_hexrays.mop_addr_t.set_udt(): - - set_udt(self) - - -ida_hexrays.mop_addr_t.set_undef_val(): - - set_undef_val(self) - - -ida_hexrays.mop_addr_t.shift_mop(): - - shift_mop(self, offset) -> bool - - -ida_hexrays.mop_addr_t.signed_value(): - - signed_value(self) -> int64 - - -ida_hexrays.mop_addr_t.size: - mop_t_size_get(self) -> int - -ida_hexrays.mop_addr_t.swap(): - - swap(self, rop) - - -ida_hexrays.mop_addr_t.t: - - _get_t(self) -> mopt_t - - -ida_hexrays.mop_addr_t.unsigned_value(): - - unsigned_value(self) -> uint64 - - -ida_hexrays.mop_addr_t.valnum: - mop_t_valnum_get(self) -> uint16 - -ida_hexrays.mop_addr_t.value(): - - value(self, is_signed) -> uint64 - - -ida_hexrays.mop_addr_t.zero(): - - zero(self) - - -class ida_hexrays.mop_pair_t(): - - Proxy of C++ mop_pair_t class - - -ida_hexrays.mop_pair_t.hop: - mop_pair_t_hop_get(self) -> mop_t - -ida_hexrays.mop_pair_t.lop: - mop_pair_t_lop_get(self) -> mop_t - -class ida_hexrays.mop_t(): - - Proxy of C++ mop_t class - - -ida_hexrays.mop_t._print(): - - _print(self, shins_flags=0x04|0x02) - - -ida_hexrays.mop_t.apply_ld_mcode(): - - apply_ld_mcode(self, mcode, ea, newsize) - - -ida_hexrays.mop_t.apply_xds(): - - apply_xds(self, ea, newsize) - - -ida_hexrays.mop_t.apply_xdu(): - - apply_xdu(self, ea, newsize) - - -ida_hexrays.mop_t.assign(): - - assign(self, rop) -> mop_t - - -ida_hexrays.mop_t.change_size(): - - change_size(self, nsize, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mop_t.create_from_insn(): - - create_from_insn(self, m) - - -ida_hexrays.mop_t.create_from_ivlset(): - - create_from_ivlset(self, mba, ivs, fullsize) -> bool - - -ida_hexrays.mop_t.create_from_mlist(): - - create_from_mlist(self, mba, lst, fullsize) -> bool - - -ida_hexrays.mop_t.create_from_scattered_vdloc(): - - create_from_scattered_vdloc(self, mba, name, type, loc) - - -ida_hexrays.mop_t.create_from_vdloc(): - - create_from_vdloc(self, mba, loc, _size) - - -ida_hexrays.mop_t.double_size(): - - double_size(self, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mop_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mop_t.equal_mops(): - - equal_mops(self, rop, eqflags) -> bool - - -ida_hexrays.mop_t.erase(): - - erase(self) - - -ida_hexrays.mop_t.erase_but_keep_size(): - - erase_but_keep_size(self) - - -ida_hexrays.mop_t.for_all_ops(): - - for_all_ops(self, mv, type=None, is_target=False) -> int - - -ida_hexrays.mop_t.for_all_scattered_submops(): - - for_all_scattered_submops(self, sv) -> int - - -ida_hexrays.mop_t.get_insn(): - - get_insn(self, code) -> minsn_t - get_insn(self, code) -> minsn_t - - -ida_hexrays.mop_t.get_stkoff(): - - get_stkoff(self, p_off) -> bool - - -ida_hexrays.mop_t.get_stkvar(): - - get_stkvar(self, p_off) -> member_t * - - -ida_hexrays.mop_t.has_side_effects(): - - has_side_effects(self, include_ldx_and_divs=False) -> bool - - -ida_hexrays.mop_t.is01(): - - is01(self) -> bool - - -ida_hexrays.mop_t.is_bit_reg(): - - is_bit_reg(self, reg) -> bool - is_bit_reg(self) -> bool - - -ida_hexrays.mop_t.is_cc(): - - is_cc(self) -> bool - - -ida_hexrays.mop_t.is_ccflags(): - - is_ccflags(self) -> bool - - -ida_hexrays.mop_t.is_constant(): - - is_constant(self, is_signed=True) -> bool - - -ida_hexrays.mop_t.is_equal_to(): - - is_equal_to(self, n, is_signed=True) -> bool - - -ida_hexrays.mop_t.is_extended_from(): - - is_extended_from(self, nbytes, is_signed) -> bool - - -ida_hexrays.mop_t.is_glbaddr(): - - is_glbaddr(self) -> bool - is_glbaddr(self, ea) -> bool - - -ida_hexrays.mop_t.is_impptr_done(): - - is_impptr_done(self) -> bool - - -ida_hexrays.mop_t.is_insn(): - - is_insn(self) -> bool - is_insn(self, code) -> bool - - -ida_hexrays.mop_t.is_kreg(): - - is_kreg(self) -> bool - - -ida_hexrays.mop_t.is_mob(): - - is_mob(self, serial) -> bool - - -ida_hexrays.mop_t.is_negative_constant(): - - is_negative_constant(self) -> bool - - -ida_hexrays.mop_t.is_one(): - - is_one(self) -> bool - - -ida_hexrays.mop_t.is_positive_constant(): - - is_positive_constant(self) -> bool - - -ida_hexrays.mop_t.is_reg(): - - is_reg(self) -> bool - is_reg(self, _r) -> bool - is_reg(self, _r, _size) -> bool - - -ida_hexrays.mop_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.mop_t.is_sign_extended_from(): - - is_sign_extended_from(self, nbytes) -> bool - - -ida_hexrays.mop_t.is_stkaddr(): - - is_stkaddr(self) -> bool - - -ida_hexrays.mop_t.is_udt(): - - is_udt(self) -> bool - - -ida_hexrays.mop_t.is_undef_val(): - - is_undef_val(self) -> bool - - -ida_hexrays.mop_t.is_zero(): - - is_zero(self) -> bool - - -ida_hexrays.mop_t.is_zero_extended_from(): - - is_zero_extended_from(self, nbytes) -> bool - - -ida_hexrays.mop_t.lexcompare(): - - lexcompare(self, rop) -> int - - -ida_hexrays.mop_t.make_blkref(): - - make_blkref(self, blknum) - - -ida_hexrays.mop_t.make_first_half(): - - make_first_half(self, width) -> bool - - -ida_hexrays.mop_t.make_fpnum(): - - make_fpnum(self, bytes, _size) -> bool - - -ida_hexrays.mop_t.make_gvar(): - - make_gvar(self, ea) - - -ida_hexrays.mop_t.make_helper(): - - make_helper(self, name) - - -ida_hexrays.mop_t.make_high_half(): - - make_high_half(self, width) -> bool - - -ida_hexrays.mop_t.make_insn(): - - make_insn(self, ins) - - -ida_hexrays.mop_t.make_low_half(): - - make_low_half(self, width) -> bool - - -ida_hexrays.mop_t.make_number(): - - make_number(self, _value, _size, _ea=BADADDR, opnum=0) - - -ida_hexrays.mop_t.make_reg(): - - make_reg(self, reg) - make_reg(self, reg, _size) - - -ida_hexrays.mop_t.make_reg_pair(): - - make_reg_pair(self, loreg, hireg, halfsize) - - -ida_hexrays.mop_t.make_second_half(): - - make_second_half(self, width) -> bool - - -ida_hexrays.mop_t.may_use_aliased_memory(): - - may_use_aliased_memory(self) -> bool - - -ida_hexrays.mop_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.mop_t.oprops: - mop_t_oprops_get(self) -> uint8 - -ida_hexrays.mop_t.preserve_side_effects(): - - preserve_side_effects(self, blk, top, moved_calls=None) -> bool - - -ida_hexrays.mop_t.probably_floating(): - - probably_floating(self) -> bool - - -ida_hexrays.mop_t.set_impptr_done(): - - set_impptr_done(self) - - -ida_hexrays.mop_t.set_udt(): - - set_udt(self) - - -ida_hexrays.mop_t.set_undef_val(): - - set_undef_val(self) - - -ida_hexrays.mop_t.shift_mop(): - - shift_mop(self, offset) -> bool - - -ida_hexrays.mop_t.signed_value(): - - signed_value(self) -> int64 - - -ida_hexrays.mop_t.size: - mop_t_size_get(self) -> int - -ida_hexrays.mop_t.swap(): - - swap(self, rop) - - -ida_hexrays.mop_t.t: - - _get_t(self) -> mopt_t - - -ida_hexrays.mop_t.unsigned_value(): - - unsigned_value(self) -> uint64 - - -ida_hexrays.mop_t.valnum: - mop_t_valnum_get(self) -> uint16 - -ida_hexrays.mop_t.value(): - - value(self, is_signed) -> uint64 - - -ida_hexrays.mop_t.zero(): - - zero(self) - - -class ida_hexrays.mop_visitor_t(): - - Proxy of C++ mop_visitor_t class - - -ida_hexrays.mop_visitor_t.blk: - op_parent_info_t_blk_get(self) -> mblock_t - -ida_hexrays.mop_visitor_t.curins: - op_parent_info_t_curins_get(self) -> minsn_t - -ida_hexrays.mop_visitor_t.mba: - op_parent_info_t_mba_get(self) -> mbl_array_t - -ida_hexrays.mop_visitor_t.prune: - mop_visitor_t_prune_get(self) -> bool - -ida_hexrays.mop_visitor_t.topins: - op_parent_info_t_topins_get(self) -> minsn_t - -ida_hexrays.mop_visitor_t.visit_mop(): - - visit_mop(self, op, type, is_target) -> int - - -class ida_hexrays.mopvec_t(): - - Proxy of C++ qvector<(mop_t)> class - - -ida_hexrays.mopvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.mopvec_t.at(): - - at(self, _idx) -> mop_t - - -ida_hexrays.mopvec_t.begin(): - - begin(self) -> mop_t - begin(self) -> mop_t - - -ida_hexrays.mopvec_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.mopvec_t.clear(): - - clear(self) - - -ida_hexrays.mopvec_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mopvec_t.end(): - - end(self) -> mop_t - end(self) -> mop_t - - -ida_hexrays.mopvec_t.erase(): - - erase(self, it) -> mop_t - erase(self, first, last) -> mop_t - - -ida_hexrays.mopvec_t.extract(): - - extract(self) -> mop_t - - -ida_hexrays.mopvec_t.find(): - - find(self, x) -> mop_t - find(self, x) -> mop_t - - -ida_hexrays.mopvec_t.grow(): - - grow(self, x=mop_t()) - - -ida_hexrays.mopvec_t.has(): - - has(self, x) -> bool - - -ida_hexrays.mopvec_t.inject(): - - inject(self, s, len) - - -ida_hexrays.mopvec_t.insert(): - - insert(self, it, x) -> mop_t - - -ida_hexrays.mopvec_t.pop_back(): - - pop_back(self) - - -ida_hexrays.mopvec_t.push_back(): - - push_back(self, x) - push_back(self) -> mop_t - - -ida_hexrays.mopvec_t.qclear(): - - qclear(self) - - -ida_hexrays.mopvec_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.mopvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.mopvec_t.size(): - - size(self) -> size_t - - -ida_hexrays.mopvec_t.swap(): - - swap(self, r) - - -ida_hexrays.mopvec_t.truncate(): - - truncate(self) - - -ida_hexrays.mreg2reg(): - - mreg2reg(reg, width) -> int - - - Map a microregister to processor register. - - @param reg: microregister number (C++: mreg_t) - @param width: size of microregister in bytes (C++: int) - @return: processor register id or -1 - - -ida_hexrays.must_mcode_close_block(): - - 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: instruction opcode (C++: mcode_t) - @param including_calls: 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 because - before MMAT_CALLS they are closing opcodes. - Afteer MMAT_CALLS that are not considered as - closing opcodes. (C++: bool) - - -ida_hexrays.negate_mcode_relation(): - - negate_mcode_relation(code) -> mcode_t - - -ida_hexrays.negated_relation(): - - negated_relation(op) -> ctype_t - - - Negate a comparison operator. For example, cot_sge becomes cot_slt. - - - @param op (C++: ctype_t) - - -class ida_hexrays.number_format_t(): - - Proxy of C++ number_format_t class - - -ida_hexrays.number_format_t.flags: - number_format_t_flags_get(self) -> flags_t - -ida_hexrays.number_format_t.get_radix(): - - get_radix(self) -> int - - -ida_hexrays.number_format_t.is_char(): - - is_char(self) -> bool - - -ida_hexrays.number_format_t.is_dec(): - - is_dec(self) -> bool - - -ida_hexrays.number_format_t.is_enum(): - - is_enum(self) -> bool - - -ida_hexrays.number_format_t.is_fixed(): - - is_fixed(self) -> bool - - -ida_hexrays.number_format_t.is_hex(): - - is_hex(self) -> bool - - -ida_hexrays.number_format_t.is_numop(): - - is_numop(self) -> bool - - -ida_hexrays.number_format_t.is_oct(): - - is_oct(self) -> bool - - -ida_hexrays.number_format_t.is_stroff(): - - is_stroff(self) -> bool - - -ida_hexrays.number_format_t.needs_to_be_inverted(): - - needs_to_be_inverted(self) -> bool - - -ida_hexrays.number_format_t.opnum: - number_format_t_opnum_get(self) -> char - -ida_hexrays.number_format_t.org_nbytes: - number_format_t_org_nbytes_get(self) -> char - -ida_hexrays.number_format_t.props: - number_format_t_props_get(self) -> char - -ida_hexrays.number_format_t.serial: - number_format_t_serial_get(self) -> uchar - -ida_hexrays.number_format_t.type_name: - number_format_t_type_name_get(self) -> qstring * - -class ida_hexrays.op_parent_info_t(): - - Proxy of C++ op_parent_info_t class - - -ida_hexrays.op_parent_info_t.blk: - op_parent_info_t_blk_get(self) -> mblock_t - -ida_hexrays.op_parent_info_t.curins: - op_parent_info_t_curins_get(self) -> minsn_t - -ida_hexrays.op_parent_info_t.mba: - op_parent_info_t_mba_get(self) -> mbl_array_t - -ida_hexrays.op_parent_info_t.topins: - op_parent_info_t_topins_get(self) -> minsn_t - -ida_hexrays.op_uses_x(): - - op_uses_x(op) -> bool - - - Does operator use the 'x' field of 'cexpr_t' ? - - - @param op (C++: ctype_t) - - -ida_hexrays.op_uses_y(): - - op_uses_y(op) -> bool - - - Does operator use the 'y' field of 'cexpr_t' ? - - - @param op (C++: ctype_t) - - -ida_hexrays.op_uses_z(): - - op_uses_z(op) -> bool - - - Does operator use the 'z' field of 'cexpr_t' ? - - - @param op (C++: ctype_t) - - -ida_hexrays.open_pseudocode(): - - open_pseudocode(ea, new_window) -> vdui_t - - - Open pseudocode window. The specified function is decompiled and the - pseudocode window is opened. - - @param ea: function to decompile (C++: ea_t) - @param new_window: 0:reuse existing window; 1:open new window; -1: - reuse existing window if the current view is - pseudocode (C++: int) - @return: false if failed - - -class ida_hexrays.operand_locator_t(): - - Proxy of C++ operand_locator_t class - - -ida_hexrays.operand_locator_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.operand_locator_t.ea: - operand_locator_t_ea_get(self) -> ea_t - -ida_hexrays.operand_locator_t.opnum: - operand_locator_t_opnum_get(self) -> int - -class ida_hexrays.operator_info_t(): - - Proxy of C++ operator_info_t class - - -ida_hexrays.operator_info_t.fixtype: - operator_info_t_fixtype_get(self) -> uchar - -ida_hexrays.operator_info_t.flags: - operator_info_t_flags_get(self) -> uchar - -ida_hexrays.operator_info_t.precedence: - operator_info_t_precedence_get(self) -> uchar - -ida_hexrays.operator_info_t.text: - operator_info_t_text_get(self) -> char const * - -ida_hexrays.operator_info_t.valency: - operator_info_t_valency_get(self) -> uchar - -class ida_hexrays.optblock_t(): - - Proxy of C++ optblock_t class - - -ida_hexrays.optblock_t.func(): - - func(self, blk) -> int - - -ida_hexrays.optblock_t.install(): - - install(self) - - -ida_hexrays.optblock_t.remove(): - - remove(self) -> bool - - -class ida_hexrays.optinsn_t(): - - Proxy of C++ optinsn_t class - - -ida_hexrays.optinsn_t.func(): - - func(self, blk, ins) -> int - - -ida_hexrays.optinsn_t.install(): - - install(self) - - -ida_hexrays.optinsn_t.remove(): - - remove(self) -> bool - - -ida_hexrays.parse_user_call(): - - parse_user_call(udc, decl, silent) -> bool - - - Convert function type declaration into internal structure - - @param udc: - pointer to output structure (C++: udcall_t *) - @param decl: - function type declaration (C++: const char *) - @param silent: - if TRUE: do not show warning in case of incorrect - type (C++: bool) - @return: success - - -ida_hexrays.partial_type_num(): - - partial_type_num(type) -> int - - - Calculate number of partial subtypes. - - @param type (C++: const tinfo_t &) - @return: number of partial subtypes. The bigger is this number, the - uglier is the type. - - -ida_hexrays.print_vdloc(): - - print_vdloc(loc, nbytes) - - - Print vdloc. Since vdloc does not always carry the size info, we pass - it as NBYTES.. - - @param loc (C++: const vdloc_t &) - @param nbytes (C++: int) - - -class ida_hexrays.qlist_cinsn_t(): - - Proxy of C++ qlist<(cinsn_t)> class - - -ida_hexrays.qlist_cinsn_t.back(): - - back(self) -> cinsn_t - back(self) -> cinsn_t - - -ida_hexrays.qlist_cinsn_t.begin(): - - begin(self) -> qlist_cinsn_t_iterator - - -ida_hexrays.qlist_cinsn_t.clear(): - - clear(self) - - -ida_hexrays.qlist_cinsn_t.empty(): - - empty(self) -> bool - - -ida_hexrays.qlist_cinsn_t.end(): - - end(self) -> qlist_cinsn_t_iterator - - -ida_hexrays.qlist_cinsn_t.erase(): - - erase(self, p) -> qlist< cinsn_t >::iterator - erase(self, p1, p2) - erase(self, p) - - -ida_hexrays.qlist_cinsn_t.front(): - - front(self) -> cinsn_t - front(self) -> cinsn_t - - -ida_hexrays.qlist_cinsn_t.insert(): - - insert(self, p, x) -> qlist< cinsn_t >::iterator - insert(self, p) -> qlist< cinsn_t >::iterator - insert(self, p, x) -> qlist_cinsn_t_iterator - - -ida_hexrays.qlist_cinsn_t.pop_back(): - - pop_back(self) - - -ida_hexrays.qlist_cinsn_t.pop_front(): - - pop_front(self) - - -ida_hexrays.qlist_cinsn_t.push_back(): - - push_back(self, x) - push_back(self) -> cinsn_t - - -ida_hexrays.qlist_cinsn_t.push_front(): - - push_front(self, x) - - -ida_hexrays.qlist_cinsn_t.rbegin(): - - rbegin(self) -> qlist< cinsn_t >::reverse_iterator - rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator - - -ida_hexrays.qlist_cinsn_t.rend(): - - rend(self) -> qlist< cinsn_t >::reverse_iterator - rend(self) -> qlist< cinsn_t >::const_reverse_iterator - - -ida_hexrays.qlist_cinsn_t.size(): - - size(self) -> size_t - - -ida_hexrays.qlist_cinsn_t.swap(): - - swap(self, x) - - -class ida_hexrays.qlist_cinsn_t_iterator(): - - Proxy of C++ qlist_cinsn_t_iterator class - - -ida_hexrays.qlist_cinsn_t_iterator.cur: - qlist_cinsn_t_iterator_cur_get(self) -> cinsn_t - -ida_hexrays.qlist_cinsn_t_iterator.next(): - - next(self) - - -class ida_hexrays.qstring_printer_t(): - - Proxy of C++ qstring_printer_t class - - -ida_hexrays.qstring_printer_t._print(): - - _print(self, indent, format) -> int - - -ida_hexrays.qstring_printer_t.func: - vc_printer_t_func_get(self) -> cfunc_t - -ida_hexrays.qstring_printer_t.get_s(): - - get_s(self) -> qstring - - -ida_hexrays.qstring_printer_t.hdrlines: - vd_printer_t_hdrlines_get(self) -> int - -ida_hexrays.qstring_printer_t.lastchar: - vc_printer_t_lastchar_get(self) -> char - -ida_hexrays.qstring_printer_t.oneliner(): - - oneliner(self) -> bool - - -ida_hexrays.qstring_printer_t.tmpbuf: - vd_printer_t_tmpbuf_get(self) -> qstring * - -ida_hexrays.qstring_printer_t.with_tags: - qstring_printer_t_with_tags_get(self) -> bool - -ida_hexrays.qswap(): - - qswap(a, b) - - -class ida_hexrays.qvector_carg_t(): - - Proxy of C++ qvector<(carg_t)> class - - -ida_hexrays.qvector_carg_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.qvector_carg_t.append(): - - push_back(self, x) - push_back(self) -> carg_t - - -ida_hexrays.qvector_carg_t.at(): - - __getitem__(self, i) -> carg_t - - -ida_hexrays.qvector_carg_t.begin(): - - begin(self) -> carg_t - begin(self) -> carg_t - - -ida_hexrays.qvector_carg_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.qvector_carg_t.clear(): - - clear(self) - - -ida_hexrays.qvector_carg_t.empty(): - - empty(self) -> bool - - -ida_hexrays.qvector_carg_t.end(): - - end(self) -> carg_t - end(self) -> carg_t - - -ida_hexrays.qvector_carg_t.erase(): - - erase(self, it) -> carg_t - erase(self, first, last) -> carg_t - - -ida_hexrays.qvector_carg_t.extract(): - - extract(self) -> carg_t - - -ida_hexrays.qvector_carg_t.find(): - - find(self, x) -> carg_t - find(self, x) -> carg_t - - -ida_hexrays.qvector_carg_t.grow(): - - grow(self, x=carg_t()) - - -ida_hexrays.qvector_carg_t.has(): - - has(self, x) -> bool - - -ida_hexrays.qvector_carg_t.inject(): - - inject(self, s, len) - - -ida_hexrays.qvector_carg_t.insert(): - - insert(self, it, x) -> carg_t - - -ida_hexrays.qvector_carg_t.pop_back(): - - pop_back(self) - - -ida_hexrays.qvector_carg_t.push_back(): - - push_back(self, x) - push_back(self) -> carg_t - - -ida_hexrays.qvector_carg_t.qclear(): - - qclear(self) - - -ida_hexrays.qvector_carg_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.qvector_carg_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.qvector_carg_t.size(): - - size(self) -> size_t - - -ida_hexrays.qvector_carg_t.swap(): - - swap(self, r) - - -ida_hexrays.qvector_carg_t.truncate(): - - truncate(self) - - -class ida_hexrays.qvector_ccase_t(): - - Proxy of C++ qvector<(ccase_t)> class - - -ida_hexrays.qvector_ccase_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.qvector_ccase_t.append(): - - push_back(self, x) - push_back(self) -> ccase_t - - -ida_hexrays.qvector_ccase_t.at(): - - __getitem__(self, i) -> ccase_t - - -ida_hexrays.qvector_ccase_t.begin(): - - begin(self) -> ccase_t - begin(self) -> ccase_t - - -ida_hexrays.qvector_ccase_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.qvector_ccase_t.clear(): - - clear(self) - - -ida_hexrays.qvector_ccase_t.empty(): - - empty(self) -> bool - - -ida_hexrays.qvector_ccase_t.end(): - - end(self) -> ccase_t - end(self) -> ccase_t - - -ida_hexrays.qvector_ccase_t.erase(): - - erase(self, it) -> ccase_t - erase(self, first, last) -> ccase_t - - -ida_hexrays.qvector_ccase_t.extract(): - - extract(self) -> ccase_t - - -ida_hexrays.qvector_ccase_t.find(): - - find(self, x) -> ccase_t - find(self, x) -> ccase_t - - -ida_hexrays.qvector_ccase_t.grow(): - - grow(self, x=ccase_t()) - - -ida_hexrays.qvector_ccase_t.has(): - - has(self, x) -> bool - - -ida_hexrays.qvector_ccase_t.inject(): - - inject(self, s, len) - - -ida_hexrays.qvector_ccase_t.insert(): - - insert(self, it, x) -> ccase_t - - -ida_hexrays.qvector_ccase_t.pop_back(): - - pop_back(self) - - -ida_hexrays.qvector_ccase_t.push_back(): - - push_back(self, x) - push_back(self) -> ccase_t - - -ida_hexrays.qvector_ccase_t.qclear(): - - qclear(self) - - -ida_hexrays.qvector_ccase_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.qvector_ccase_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.qvector_ccase_t.size(): - - size(self) -> size_t - - -ida_hexrays.qvector_ccase_t.swap(): - - swap(self, r) - - -ida_hexrays.qvector_ccase_t.truncate(): - - truncate(self) - - -class ida_hexrays.qvector_history_t(): - - Proxy of C++ qvector<(history_item_t)> class - - -ida_hexrays.qvector_history_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.qvector_history_t.at(): - - at(self, _idx) -> history_item_t - - -ida_hexrays.qvector_history_t.begin(): - - begin(self) -> history_item_t - begin(self) -> history_item_t - - -ida_hexrays.qvector_history_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.qvector_history_t.clear(): - - clear(self) - - -ida_hexrays.qvector_history_t.empty(): - - empty(self) -> bool - - -ida_hexrays.qvector_history_t.end(): - - end(self) -> history_item_t - end(self) -> history_item_t - - -ida_hexrays.qvector_history_t.erase(): - - erase(self, it) -> history_item_t - erase(self, first, last) -> history_item_t - - -ida_hexrays.qvector_history_t.extract(): - - extract(self) -> history_item_t - - -ida_hexrays.qvector_history_t.find(): - - find(self, x) -> history_item_t - find(self, x) -> history_item_t - - -ida_hexrays.qvector_history_t.grow(): - - grow(self, x=history_item_t()) - - -ida_hexrays.qvector_history_t.has(): - - has(self, x) -> bool - - -ida_hexrays.qvector_history_t.inject(): - - inject(self, s, len) - - -ida_hexrays.qvector_history_t.insert(): - - insert(self, it, x) -> history_item_t - - -ida_hexrays.qvector_history_t.pop_back(): - - pop_back(self) - - -ida_hexrays.qvector_history_t.push_back(): - - push_back(self, x) - push_back(self) -> history_item_t - - -ida_hexrays.qvector_history_t.qclear(): - - qclear(self) - - -ida_hexrays.qvector_history_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.qvector_history_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.qvector_history_t.size(): - - size(self) -> size_t - - -ida_hexrays.qvector_history_t.swap(): - - swap(self, r) - - -ida_hexrays.qvector_history_t.truncate(): - - truncate(self) - - -class ida_hexrays.qvector_lvar_t(): - - Proxy of C++ qvector<(lvar_t)> class - - -ida_hexrays.qvector_lvar_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.qvector_lvar_t.append(): - - push_back(self, x) - push_back(self) -> lvar_t - - -ida_hexrays.qvector_lvar_t.at(): - - __getitem__(self, i) -> lvar_t - - -ida_hexrays.qvector_lvar_t.begin(): - - begin(self) -> lvar_t - begin(self) -> lvar_t - - -ida_hexrays.qvector_lvar_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.qvector_lvar_t.clear(): - - clear(self) - - -ida_hexrays.qvector_lvar_t.empty(): - - empty(self) -> bool - - -ida_hexrays.qvector_lvar_t.end(): - - end(self) -> lvar_t - end(self) -> lvar_t - - -ida_hexrays.qvector_lvar_t.erase(): - - erase(self, it) -> lvar_t - erase(self, first, last) -> lvar_t - - -ida_hexrays.qvector_lvar_t.extract(): - - extract(self) -> lvar_t - - -ida_hexrays.qvector_lvar_t.find(): - - find(self, x) -> lvar_t - find(self, x) -> lvar_t - - -ida_hexrays.qvector_lvar_t.grow(): - - grow(self, x=lvar_t()) - - -ida_hexrays.qvector_lvar_t.has(): - - has(self, x) -> bool - - -ida_hexrays.qvector_lvar_t.inject(): - - inject(self, s, len) - - -ida_hexrays.qvector_lvar_t.insert(): - - insert(self, it, x) -> lvar_t - - -ida_hexrays.qvector_lvar_t.pop_back(): - - pop_back(self) - - -ida_hexrays.qvector_lvar_t.push_back(): - - push_back(self, x) - push_back(self) -> lvar_t - - -ida_hexrays.qvector_lvar_t.qclear(): - - qclear(self) - - -ida_hexrays.qvector_lvar_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.qvector_lvar_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.qvector_lvar_t.size(): - - size(self) -> size_t - - -ida_hexrays.qvector_lvar_t.swap(): - - swap(self, r) - - -ida_hexrays.qvector_lvar_t.truncate(): - - truncate(self) - - -ida_hexrays.reg2mreg(): - - reg2mreg(reg) -> mreg_t - - - Map a processor register to microregister. - - @param reg: processor register number (C++: int) - @return: microregister register id or mr_none - - -ida_hexrays.remitem(): - - remitem(e) - - -ida_hexrays.remove_hexrays_callback(): - Deprecated. Please use Hexrays_Hooks instead - -ida_hexrays.restore_user_cmts(): - - restore_user_cmts(func_ea) -> user_cmts_t - - - Restore user defined comments from the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @return: collection of user defined comments. The returned object must - be deleted by the caller using delete_user_cmts() - - -ida_hexrays.restore_user_defined_calls(): - - restore_user_defined_calls(udcalls, func_ea) -> bool - - - Restore user defined function calls from the database. - - @param udcalls: ptr to output buffer (C++: udcall_map_t *) - @param func_ea: entry address of the function (C++: ea_t) - @return: success - - -ida_hexrays.restore_user_iflags(): - - restore_user_iflags(func_ea) -> user_iflags_t - - - Restore user defined citem iflags from the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @return: collection of user defined iflags. The returned object must - be deleted by the caller using delete_user_iflags() - - -ida_hexrays.restore_user_labels(): - - restore_user_labels(func_ea) -> user_labels_t - - - Restore user defined labels from the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @return: collection of user defined labels. The returned object must - be deleted by the caller using delete_user_labels() - - -ida_hexrays.restore_user_lvar_settings(): - - restore_user_lvar_settings(lvinf, func_ea) -> bool - - - Restore user defined local variable settings in the database. - - @param lvinf: ptr to output buffer (C++: lvar_uservec_t *) - @param func_ea: entry address of the function (C++: ea_t) - @return: success - - -ida_hexrays.restore_user_numforms(): - - restore_user_numforms(func_ea) -> user_numforms_t - - - Restore user defined number formats from the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @return: collection of user defined number formats. The returned - object must be deleted by the caller using - delete_user_numforms() - - -ida_hexrays.restore_user_unions(): - - restore_user_unions(func_ea) -> user_unions_t - - - Restore user defined union field selections from the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @return: collection of union field selections The returned object must - be deleted by the caller using delete_user_unions() - - -class ida_hexrays.rlist_t(): - - Proxy of C++ rlist_t class - - -ida_hexrays.rlist_t.add(): - - add(self, bit) -> bool - add(self, bit, width) -> bool - add(self, ml) -> bool - - -ida_hexrays.rlist_t.back(): - - back(self) -> int - - -ida_hexrays.rlist_t.begin(): - - begin(self) -> bitset_t::iterator - - -ida_hexrays.rlist_t.clear(): - - clear(self) - - -ida_hexrays.rlist_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.rlist_t.copy(): - - copy(self, m) -> bitset_t - - -ida_hexrays.rlist_t.count(): - - count(self) -> int - count(self, bit) -> int - - -ida_hexrays.rlist_t.cut_at(): - - cut_at(self, maxbit) -> bool - - -ida_hexrays.rlist_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.rlist_t.empty(): - - empty(self) -> bool - - -ida_hexrays.rlist_t.end(): - - end(self) -> bitset_t::iterator - - -ida_hexrays.rlist_t.fill_with_ones(): - - fill_with_ones(self, maxbit) - - -ida_hexrays.rlist_t.front(): - - front(self) -> int - - -ida_hexrays.rlist_t.has(): - - has(self, bit) -> bool - - -ida_hexrays.rlist_t.has_all(): - - has_all(self, bit, width) -> bool - - -ida_hexrays.rlist_t.has_any(): - - has_any(self, bit, width) -> bool - - -ida_hexrays.rlist_t.has_common(): - - has_common(self, ml) -> bool - - -ida_hexrays.rlist_t.inc(): - - inc(self, p, n=1) - - -ida_hexrays.rlist_t.includes(): - - includes(self, ml) -> bool - - -ida_hexrays.rlist_t.intersect(): - - intersect(self, ml) -> bool - - -ida_hexrays.rlist_t.is_subset_of(): - - is_subset_of(self, ml) -> bool - - -ida_hexrays.rlist_t.itat(): - - itat(self, n) -> bitset_t::iterator - - -ida_hexrays.rlist_t.itv(): - - itv(self, it) -> int - - -ida_hexrays.rlist_t.last(): - - last(self) -> int - - -ida_hexrays.rlist_t.shift_down(): - - shift_down(self, shift) - - -ida_hexrays.rlist_t.sub(): - - sub(self, bit) -> bool - sub(self, bit, width) -> bool - sub(self, ml) -> bool - - -ida_hexrays.rlist_t.swap(): - - swap(self, r) - - -ida_hexrays.save_user_cmts(): - - save_user_cmts(func_ea, user_cmts) - - - Save user defined comments into the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @param user_cmts: collection of user defined comments (C++: const - user_cmts_t *) - - -ida_hexrays.save_user_defined_calls(): - - save_user_defined_calls(func_ea, udcalls) - - - Save user defined local function calls into the database. - - @param func_ea: entry address of the function (C++: ea_t) - @param udcalls: user-specified info about user defined function calls - (C++: const udcall_map_t &) - - -ida_hexrays.save_user_iflags(): - - save_user_iflags(func_ea, iflags) - - - Save user defined citem iflags into the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @param iflags: collection of user defined citem iflags (C++: const - user_iflags_t *) - - -ida_hexrays.save_user_labels(): - - save_user_labels(func_ea, user_labels) - - - Save user defined labels into the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @param user_labels: collection of user defined labels (C++: const - user_labels_t *) - - -ida_hexrays.save_user_lvar_settings(): - - save_user_lvar_settings(func_ea, lvinf) - - - Save user defined local variable settings into the database. - - @param func_ea: entry address of the function (C++: ea_t) - @param lvinf: user-specified info about local variables (C++: const - lvar_uservec_t &) - - -ida_hexrays.save_user_numforms(): - - save_user_numforms(func_ea, numforms) - - - Save user defined number formats into the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @param numforms: collection of user defined comments (C++: const - user_numforms_t *) - - -ida_hexrays.save_user_unions(): - - save_user_unions(func_ea, unions) - - - Save user defined union field selections into the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @param unions: collection of union field selections (C++: const - user_unions_t *) - - -class ida_hexrays.scif_t(): - - Proxy of C++ scif_t class - - -ida_hexrays.scif_t.advance(): - - advance(self, delta) -> bool - - -ida_hexrays.scif_t.atype(): - - atype(self) -> argloc_type_t - - -ida_hexrays.scif_t.calc_offset(): - - calc_offset(self) -> sval_t - - -ida_hexrays.scif_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.scif_t.consume_rrel(): - - consume_rrel(self, p) - - -ida_hexrays.scif_t.consume_scattered(): - - consume_scattered(self, p) - - -ida_hexrays.scif_t.get_biggest(): - - get_biggest(self) -> argloc_t::biggest_t - - -ida_hexrays.scif_t.get_custom(): - - get_custom(self) -> void * - - -ida_hexrays.scif_t.get_ea(): - - get_ea(self) -> ea_t - - -ida_hexrays.scif_t.get_reginfo(): - - get_reginfo(self) -> uint32 - - -ida_hexrays.scif_t.get_rrel(): - - get_rrel(self) -> rrel_t - get_rrel(self) -> rrel_t - - -ida_hexrays.scif_t.has_reg(): - - has_reg(self) -> bool - - -ida_hexrays.scif_t.has_stkoff(): - - has_stkoff(self) -> bool - - -ida_hexrays.scif_t.is_aliasable(): - - is_aliasable(self, mb, size) -> bool - - -ida_hexrays.scif_t.is_badloc(): - - is_badloc(self) -> bool - - -ida_hexrays.scif_t.is_custom(): - - is_custom(self) -> bool - - -ida_hexrays.scif_t.is_ea(): - - is_ea(self) -> bool - - -ida_hexrays.scif_t.is_fragmented(): - - is_fragmented(self) -> bool - - -ida_hexrays.scif_t.is_mixed_scattered(): - - is_mixed_scattered(self) -> bool - - -ida_hexrays.scif_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.scif_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_hexrays.scif_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_hexrays.scif_t.is_rrel(): - - is_rrel(self) -> bool - - -ida_hexrays.scif_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.scif_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_hexrays.scif_t.mba: - scif_t_mba_get(self) -> mbl_array_t - -ida_hexrays.scif_t.name: - scif_t_name_get(self) -> qstring * - -ida_hexrays.scif_t.reg1(): - - reg1(self) -> int - - -ida_hexrays.scif_t.reg2(): - - reg2(self) -> int - - -ida_hexrays.scif_t.regoff(): - - regoff(self) -> int - - -ida_hexrays.scif_t.scattered(): - - scattered(self) -> scattered_aloc_t - scattered(self) -> scattered_aloc_t - - -ida_hexrays.scif_t.set_badloc(): - - set_badloc(self) - - -ida_hexrays.scif_t.set_ea(): - - set_ea(self, _ea) - - -ida_hexrays.scif_t.set_reg1(): - - set_reg1(self, r1) - - -ida_hexrays.scif_t.set_reg2(): - - set_reg2(self, _reg1, _reg2) - - -ida_hexrays.scif_t.set_stkoff(): - - set_stkoff(self, off) - - -ida_hexrays.scif_t.stkoff(): - - stkoff(self) -> sval_t - - -ida_hexrays.scif_t.swap(): - - swap(self, r) - - -ida_hexrays.scif_t.type: - scif_t_type_get(self) -> tinfo_t - -class ida_hexrays.scif_visitor_t(): - - Proxy of C++ scif_visitor_t class - - -ida_hexrays.scif_visitor_t.visit_scif_mop(): - - visit_scif_mop(self, r, off) -> int - - -ida_hexrays.select_udt_by_offset(): - - select_udt_by_offset(udts, ops, applicator) -> int - - - Select UDT - - @param udts: list of UDT tinfo_t for the selection, if NULL or empty - then UDTs from the "Local types" will be used (C++: const - qvector < tinfo_t > *) - @param ops: operands (C++: const ui_stroff_ops_t &) - @param applicator (C++: ui_stroff_applicator_t &) - - -ida_hexrays.send_database(): - - 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: failure description object. Empty hexrays_failure_t - object can be used if error information is not available. - (C++: const hexrays_failure_t &) - @param silent: if false, a dialog box will be displayed before sending - the database. (C++: bool) - - -ida_hexrays.set2jcnd(): - - set2jcnd(code) -> mcode_t - - -ida_hexrays.set_type(): - - set_type(id, tif, source, force=False) -> bool - - - Set a global type. - - @param id: address or id of the object (C++: uval_t) - @param tif: new type info (C++: const tinfo_t &) - @param source: where the type comes from (C++: type_source_t) - @param force: true means to set the type as is, false means to merge - the new type with the possibly existing old type info. - (C++: bool) - @return: success - - -class ida_hexrays.simple_graph_t(): - - Proxy of C++ simple_graph_t class - - -ida_hexrays.simple_graph_t.colored_gdl_edges: - simple_graph_t_colored_gdl_edges_get(self) -> bool - -ida_hexrays.simple_graph_t.title: - simple_graph_t_title_get(self) -> qstring * - -class ida_hexrays.stkvar_ref_t(): - - Proxy of C++ stkvar_ref_t class - - -ida_hexrays.stkvar_ref_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.stkvar_ref_t.get_stkvar(): - - get_stkvar(self, p_off=None) -> member_t * - - -ida_hexrays.stkvar_ref_t.mba: - stkvar_ref_t_mba_get(self) -> mbl_array_t - -ida_hexrays.stkvar_ref_t.off: - stkvar_ref_t_off_get(self) -> sval_t - -ida_hexrays.stkvar_ref_t.swap(): - - swap(self, r) - - -ida_hexrays.swap_mcode_relation(): - - swap_mcode_relation(code) -> mcode_t - - -ida_hexrays.swapped_relation(): - - swapped_relation(op) -> ctype_t - - - Swap a comparison operator. For example, cot_sge becomes cot_sle. - - - @param op (C++: ctype_t) - - -ida_hexrays.term_hexrays_plugin(): - - term_hexrays_plugin() - - - Stop working with hex-rays decompiler. - - -class ida_hexrays.treeloc_t(): - - Proxy of C++ treeloc_t class - - -ida_hexrays.treeloc_t.ea: - treeloc_t_ea_get(self) -> ea_t - -ida_hexrays.treeloc_t.itp: - treeloc_t_itp_get(self) -> item_preciser_t - -class ida_hexrays.udc_filter_t(): - - Proxy of C++ udc_filter_t class - - -ida_hexrays.udc_filter_t.apply(): - - apply(self, cdg) -> merror_t - - -ida_hexrays.udc_filter_t.init(): - - init(self, decl) -> bool - - -ida_hexrays.udc_filter_t.match(): - - match(self, cdg) -> bool - - -ida_hexrays.udcall_map_begin(): - - 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 *) - - -ida_hexrays.udcall_map_clear(): - - udcall_map_clear(map) - - - Clear udcall_map_t. - - - @param map (C++: udcall_map_t *) - - -ida_hexrays.udcall_map_end(): - - 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 *) - - -ida_hexrays.udcall_map_erase(): - - 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) - - -ida_hexrays.udcall_map_find(): - - udcall_map_find(map, key) -> udcall_map_iterator_t - - - Find the specified key in udcall_map_t. - - - @param map (C++: const udcall_map_t *) - @param key (C++: const ea_t &) - - -ida_hexrays.udcall_map_first(): - - udcall_map_first(p) -> ea_t const & - - - Get reference to the current map key. - - - @param p (C++: udcall_map_iterator_t) - - -ida_hexrays.udcall_map_free(): - - udcall_map_free(map) - - - Delete udcall_map_t instance. - - - @param map (C++: udcall_map_t *) - - -ida_hexrays.udcall_map_insert(): - - 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 &) - @param val (C++: const udcall_t &) - - -class ida_hexrays.udcall_map_iterator_t(): - - Proxy of C++ udcall_map_iterator_t class - - -ida_hexrays.udcall_map_iterator_t.x: - udcall_map_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.udcall_map_new(): - - udcall_map_new() -> udcall_map_t * - - - Create a new udcall_map_t instance. - - -ida_hexrays.udcall_map_next(): - - udcall_map_next(p) -> udcall_map_iterator_t - - - Move to the next element. - - - @param p (C++: udcall_map_iterator_t) - - -ida_hexrays.udcall_map_prev(): - - udcall_map_prev(p) -> udcall_map_iterator_t - - - Move to the previous element. - - - @param p (C++: udcall_map_iterator_t) - - -ida_hexrays.udcall_map_second(): - - udcall_map_second(p) -> udcall_t - - - Get reference to the current map value. - - - @param p (C++: udcall_map_iterator_t) - - -ida_hexrays.udcall_map_size(): - - udcall_map_size(map) -> size_t - - - Get size of udcall_map_t. - - - @param map (C++: udcall_map_t *) - - -class ida_hexrays.udcall_t(): - - Proxy of C++ udcall_t class - - -ida_hexrays.udcall_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.udcall_t.name: - udcall_t_name_get(self) -> qstring * - -ida_hexrays.udcall_t.tif: - udcall_t_tif_get(self) -> tinfo_t - -class ida_hexrays.ui_stroff_applicator_t(): - - Proxy of C++ ui_stroff_applicator_t class - - -ida_hexrays.ui_stroff_applicator_t.apply(): - - apply(self, opnum, path) -> bool - - -class ida_hexrays.ui_stroff_op_t(): - - Proxy of C++ ui_stroff_op_t class - - -ida_hexrays.ui_stroff_op_t.offset: - ui_stroff_op_t_offset_get(self) -> uval_t - -ida_hexrays.ui_stroff_op_t.text: - ui_stroff_op_t_text_get(self) -> qstring * - -class ida_hexrays.ui_stroff_ops_t(): - - Proxy of C++ qvector<(ui_stroff_op_t)> class - - -ida_hexrays.ui_stroff_ops_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.ui_stroff_ops_t.append(): - - push_back(self, x) - push_back(self) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.at(): - - __getitem__(self, i) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.begin(): - - begin(self) -> ui_stroff_op_t - begin(self) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.ui_stroff_ops_t.clear(): - - clear(self) - - -ida_hexrays.ui_stroff_ops_t.empty(): - - empty(self) -> bool - - -ida_hexrays.ui_stroff_ops_t.end(): - - end(self) -> ui_stroff_op_t - end(self) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.erase(): - - erase(self, it) -> ui_stroff_op_t - erase(self, first, last) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.extract(): - - extract(self) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.find(): - - find(self, x) -> ui_stroff_op_t - find(self, x) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.grow(): - - grow(self, x=ui_stroff_op_t()) - - -ida_hexrays.ui_stroff_ops_t.has(): - - has(self, x) -> bool - - -ida_hexrays.ui_stroff_ops_t.inject(): - - inject(self, s, len) - - -ida_hexrays.ui_stroff_ops_t.insert(): - - insert(self, it, x) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.pop_back(): - - pop_back(self) - - -ida_hexrays.ui_stroff_ops_t.push_back(): - - push_back(self, x) - push_back(self) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.qclear(): - - qclear(self) - - -ida_hexrays.ui_stroff_ops_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.ui_stroff_ops_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.ui_stroff_ops_t.size(): - - size(self) -> size_t - - -ida_hexrays.ui_stroff_ops_t.swap(): - - swap(self, r) - - -ida_hexrays.ui_stroff_ops_t.truncate(): - - truncate(self) - - -ida_hexrays.user_cmts_begin(): - - 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 *) - - -ida_hexrays.user_cmts_clear(): - - user_cmts_clear(map) - - - Clear user_cmts_t. - - - @param map (C++: user_cmts_t *) - - -ida_hexrays.user_cmts_end(): - - 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 *) - - -ida_hexrays.user_cmts_erase(): - - 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) - - -ida_hexrays.user_cmts_find(): - - user_cmts_find(map, key) -> user_cmts_iterator_t - - - Find the specified key in user_cmts_t. - - - @param map (C++: const user_cmts_t *) - @param key (C++: const treeloc_t &) - - -ida_hexrays.user_cmts_first(): - - user_cmts_first(p) -> treeloc_t - - - Get reference to the current map key. - - - @param p (C++: user_cmts_iterator_t) - - -ida_hexrays.user_cmts_free(): - - user_cmts_free(map) - - - Delete user_cmts_t instance. - - - @param map (C++: user_cmts_t *) - - -ida_hexrays.user_cmts_insert(): - - 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 &) - @param val (C++: const citem_cmt_t &) - - -class ida_hexrays.user_cmts_iterator_t(): - - Proxy of C++ user_cmts_iterator_t class - - -ida_hexrays.user_cmts_iterator_t.x: - user_cmts_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.user_cmts_new(): - - user_cmts_new() -> user_cmts_t - - - Create a new user_cmts_t instance. - - -ida_hexrays.user_cmts_next(): - - user_cmts_next(p) -> user_cmts_iterator_t - - - Move to the next element. - - - @param p (C++: user_cmts_iterator_t) - - -ida_hexrays.user_cmts_prev(): - - user_cmts_prev(p) -> user_cmts_iterator_t - - - Move to the previous element. - - - @param p (C++: user_cmts_iterator_t) - - -ida_hexrays.user_cmts_second(): - - user_cmts_second(p) -> citem_cmt_t - - - Get reference to the current map value. - - - @param p (C++: user_cmts_iterator_t) - - -ida_hexrays.user_cmts_size(): - - user_cmts_size(map) -> size_t - - - Get size of user_cmts_t. - - - @param map (C++: user_cmts_t *) - - -class ida_hexrays.user_cmts_t(): - - Proxy of C++ std::map<(treeloc_t,citem_cmt_t)> class - - -ida_hexrays.user_cmts_t.at(): - - at(self, _Keyval) -> citem_cmt_t - - -class ida_hexrays.user_cmts_t.keytype(): - - Proxy of C++ treeloc_t class - - -ida_hexrays.user_cmts_t.keytype.ea: - treeloc_t_ea_get(self) -> ea_t - -ida_hexrays.user_cmts_t.keytype.itp: - treeloc_t_itp_get(self) -> item_preciser_t - -ida_hexrays.user_cmts_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_cmts_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_cmts_t.setdefault(): - - Sets the value associated with the provided key. - - -class ida_hexrays.user_cmts_t.valuetype(): - - Proxy of C++ citem_cmt_t class - - -ida_hexrays.user_cmts_t.valuetype.c_str(): - - c_str(self) -> char const * - - -ida_hexrays.user_cmts_t.valuetype.used: - citem_cmt_t_used_get(self) -> bool - -ida_hexrays.user_iflags_begin(): - - 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 *) - - -ida_hexrays.user_iflags_clear(): - - user_iflags_clear(map) - - - Clear user_iflags_t. - - - @param map (C++: user_iflags_t *) - - -ida_hexrays.user_iflags_end(): - - 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 *) - - -ida_hexrays.user_iflags_erase(): - - 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) - - -ida_hexrays.user_iflags_find(): - - user_iflags_find(map, key) -> user_iflags_iterator_t - - - Find the specified key in user_iflags_t. - - - @param map (C++: const user_iflags_t *) - @param key (C++: const citem_locator_t &) - - -ida_hexrays.user_iflags_first(): - - user_iflags_first(p) -> citem_locator_t - - - Get reference to the current map key. - - - @param p (C++: user_iflags_iterator_t) - - -ida_hexrays.user_iflags_free(): - - user_iflags_free(map) - - - Delete user_iflags_t instance. - - - @param map (C++: user_iflags_t *) - - -ida_hexrays.user_iflags_insert(): - - 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 &) - @param val (C++: const int32 &) - - -class ida_hexrays.user_iflags_iterator_t(): - - Proxy of C++ user_iflags_iterator_t class - - -ida_hexrays.user_iflags_iterator_t.x: - user_iflags_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.user_iflags_new(): - - user_iflags_new() -> user_iflags_t - - - Create a new user_iflags_t instance. - - -ida_hexrays.user_iflags_next(): - - user_iflags_next(p) -> user_iflags_iterator_t - - - Move to the next element. - - - @param p (C++: user_iflags_iterator_t) - - -ida_hexrays.user_iflags_prev(): - - user_iflags_prev(p) -> user_iflags_iterator_t - - - Move to the previous element. - - - @param p (C++: user_iflags_iterator_t) - - -ida_hexrays.user_iflags_second(): - - user_iflags_second(p) -> int32 const & - - - Get reference to the current map value. - - - @param p (C++: user_iflags_iterator_t) - - -ida_hexrays.user_iflags_size(): - - user_iflags_size(map) -> size_t - - - Get size of user_iflags_t. - - - @param map (C++: user_iflags_t *) - - -class ida_hexrays.user_iflags_t(): - - Proxy of C++ std::map<(citem_locator_t,int32)> class - - -ida_hexrays.user_iflags_t.at(): - - at(self, _Keyval) -> int & - - -class ida_hexrays.user_iflags_t.keytype(): - - Proxy of C++ citem_locator_t class - - -ida_hexrays.user_iflags_t.keytype.compare(): - - compare(self, r) -> int - - -ida_hexrays.user_iflags_t.keytype.ea: - citem_locator_t_ea_get(self) -> ea_t - -ida_hexrays.user_iflags_t.keytype.op: - citem_locator_t_op_get(self) -> ctype_t - -ida_hexrays.user_iflags_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_iflags_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_iflags_t.setdefault(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_iflags_t.valuetype.bit_length(): - int.bit_length() -> int - - Number of bits necessary to represent self in binary. - >>> bin(37) - '0b100101' - >>> (37).bit_length() - 6 - -ida_hexrays.user_iflags_t.valuetype.conjugate(): - Returns self, the complex conjugate of any int. - -ida_hexrays.user_iflags_t.valuetype.denominator: - the denominator of a rational number in lowest terms - -ida_hexrays.user_iflags_t.valuetype.imag: - the imaginary part of a complex number - -ida_hexrays.user_iflags_t.valuetype.numerator: - the numerator of a rational number in lowest terms - -ida_hexrays.user_iflags_t.valuetype.real: - the real part of a complex number - -ida_hexrays.user_labels_begin(): - - 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 *) - - -ida_hexrays.user_labels_clear(): - - user_labels_clear(map) - - - Clear user_labels_t. - - - @param map (C++: user_labels_t *) - - -ida_hexrays.user_labels_end(): - - 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 *) - - -ida_hexrays.user_labels_erase(): - - 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) - - -ida_hexrays.user_labels_find(): - - user_labels_find(map, key) -> user_labels_iterator_t - - - Find the specified key in user_labels_t. - - - @param map (C++: const user_labels_t *) - @param key (C++: const int &) - - -ida_hexrays.user_labels_first(): - - user_labels_first(p) -> int const & - - - Get reference to the current map key. - - - @param p (C++: user_labels_iterator_t) - - -ida_hexrays.user_labels_free(): - - user_labels_free(map) - - - Delete user_labels_t instance. - - - @param map (C++: user_labels_t *) - - -ida_hexrays.user_labels_insert(): - - 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 &) - @param val (C++: const qstring &) - - -class ida_hexrays.user_labels_iterator_t(): - - Proxy of C++ user_labels_iterator_t class - - -ida_hexrays.user_labels_iterator_t.x: - user_labels_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.user_labels_new(): - - user_labels_new() -> user_labels_t - - - Create a new user_labels_t instance. - - -ida_hexrays.user_labels_next(): - - user_labels_next(p) -> user_labels_iterator_t - - - Move to the next element. - - - @param p (C++: user_labels_iterator_t) - - -ida_hexrays.user_labels_prev(): - - user_labels_prev(p) -> user_labels_iterator_t - - - Move to the previous element. - - - @param p (C++: user_labels_iterator_t) - - -ida_hexrays.user_labels_second(): - - user_labels_second(p) -> qstring & - - - Get reference to the current map value. - - - @param p (C++: user_labels_iterator_t) - - -ida_hexrays.user_labels_size(): - - user_labels_size(map) -> size_t - - - Get size of user_labels_t. - - - @param map (C++: user_labels_t *) - - -class ida_hexrays.user_labels_t(): - - Proxy of C++ std::map<(int,qstring)> class - - -ida_hexrays.user_labels_t.at(): - - at(self, _Keyval) -> _qstring< char > & - - -ida_hexrays.user_labels_t.size(): - - size(self) -> size_t - - -class ida_hexrays.user_lvar_modifier_t(): - - Proxy of C++ user_lvar_modifier_t class - - -ida_hexrays.user_lvar_modifier_t.modify_lvars(): - - modify_lvars(self, lvinf) -> bool - - -ida_hexrays.user_numforms_begin(): - - 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 *) - - -ida_hexrays.user_numforms_clear(): - - user_numforms_clear(map) - - - Clear user_numforms_t. - - - @param map (C++: user_numforms_t *) - - -ida_hexrays.user_numforms_end(): - - 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 *) - - -ida_hexrays.user_numforms_erase(): - - 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) - - -ida_hexrays.user_numforms_find(): - - user_numforms_find(map, key) -> user_numforms_iterator_t - - - Find the specified key in user_numforms_t. - - - @param map (C++: const user_numforms_t *) - @param key (C++: const operand_locator_t &) - - -ida_hexrays.user_numforms_first(): - - user_numforms_first(p) -> operand_locator_t - - - Get reference to the current map key. - - - @param p (C++: user_numforms_iterator_t) - - -ida_hexrays.user_numforms_free(): - - user_numforms_free(map) - - - Delete user_numforms_t instance. - - - @param map (C++: user_numforms_t *) - - -ida_hexrays.user_numforms_insert(): - - 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 &) - @param val (C++: const number_format_t &) - - -class ida_hexrays.user_numforms_iterator_t(): - - Proxy of C++ user_numforms_iterator_t class - - -ida_hexrays.user_numforms_iterator_t.x: - user_numforms_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.user_numforms_new(): - - user_numforms_new() -> user_numforms_t - - - Create a new user_numforms_t instance. - - -ida_hexrays.user_numforms_next(): - - user_numforms_next(p) -> user_numforms_iterator_t - - - Move to the next element. - - - @param p (C++: user_numforms_iterator_t) - - -ida_hexrays.user_numforms_prev(): - - user_numforms_prev(p) -> user_numforms_iterator_t - - - Move to the previous element. - - - @param p (C++: user_numforms_iterator_t) - - -ida_hexrays.user_numforms_second(): - - user_numforms_second(p) -> number_format_t - - - Get reference to the current map value. - - - @param p (C++: user_numforms_iterator_t) - - -ida_hexrays.user_numforms_size(): - - user_numforms_size(map) -> size_t - - - Get size of user_numforms_t. - - - @param map (C++: user_numforms_t *) - - -class ida_hexrays.user_numforms_t(): - - Proxy of C++ std::map<(operand_locator_t,number_format_t)> class - - -ida_hexrays.user_numforms_t.at(): - - at(self, _Keyval) -> number_format_t - - -class ida_hexrays.user_numforms_t.keytype(): - - Proxy of C++ operand_locator_t class - - -ida_hexrays.user_numforms_t.keytype.compare(): - - compare(self, r) -> int - - -ida_hexrays.user_numforms_t.keytype.ea: - operand_locator_t_ea_get(self) -> ea_t - -ida_hexrays.user_numforms_t.keytype.opnum: - operand_locator_t_opnum_get(self) -> int - -ida_hexrays.user_numforms_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_numforms_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_numforms_t.setdefault(): - - Sets the value associated with the provided key. - - -class ida_hexrays.user_numforms_t.valuetype(): - - Proxy of C++ number_format_t class - - -ida_hexrays.user_numforms_t.valuetype.flags: - number_format_t_flags_get(self) -> flags_t - -ida_hexrays.user_numforms_t.valuetype.get_radix(): - - get_radix(self) -> int - - -ida_hexrays.user_numforms_t.valuetype.is_char(): - - is_char(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_dec(): - - is_dec(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_enum(): - - is_enum(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_fixed(): - - is_fixed(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_hex(): - - is_hex(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_numop(): - - is_numop(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_oct(): - - is_oct(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_stroff(): - - is_stroff(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.needs_to_be_inverted(): - - needs_to_be_inverted(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.opnum: - number_format_t_opnum_get(self) -> char - -ida_hexrays.user_numforms_t.valuetype.org_nbytes: - number_format_t_org_nbytes_get(self) -> char - -ida_hexrays.user_numforms_t.valuetype.props: - number_format_t_props_get(self) -> char - -ida_hexrays.user_numforms_t.valuetype.serial: - number_format_t_serial_get(self) -> uchar - -ida_hexrays.user_numforms_t.valuetype.type_name: - number_format_t_type_name_get(self) -> qstring * - -ida_hexrays.user_unions_begin(): - - 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 *) - - -ida_hexrays.user_unions_clear(): - - user_unions_clear(map) - - - Clear user_unions_t. - - - @param map (C++: user_unions_t *) - - -ida_hexrays.user_unions_end(): - - 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 *) - - -ida_hexrays.user_unions_erase(): - - 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) - - -ida_hexrays.user_unions_find(): - - user_unions_find(map, key) -> user_unions_iterator_t - - - Find the specified key in user_unions_t. - - - @param map (C++: const user_unions_t *) - @param key (C++: const ea_t &) - - -ida_hexrays.user_unions_first(): - - user_unions_first(p) -> ea_t const & - - - Get reference to the current map key. - - - @param p (C++: user_unions_iterator_t) - - -ida_hexrays.user_unions_free(): - - user_unions_free(map) - - - Delete user_unions_t instance. - - - @param map (C++: user_unions_t *) - - -ida_hexrays.user_unions_insert(): - - 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 &) - @param val (C++: const intvec_t &) - - -class ida_hexrays.user_unions_iterator_t(): - - Proxy of C++ user_unions_iterator_t class - - -ida_hexrays.user_unions_iterator_t.x: - user_unions_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.user_unions_new(): - - user_unions_new() -> user_unions_t - - - Create a new user_unions_t instance. - - -ida_hexrays.user_unions_next(): - - user_unions_next(p) -> user_unions_iterator_t - - - Move to the next element. - - - @param p (C++: user_unions_iterator_t) - - -ida_hexrays.user_unions_prev(): - - user_unions_prev(p) -> user_unions_iterator_t - - - Move to the previous element. - - - @param p (C++: user_unions_iterator_t) - - -ida_hexrays.user_unions_second(): - - user_unions_second(p) -> intvec_t - - - Get reference to the current map value. - - - @param p (C++: user_unions_iterator_t) - - -ida_hexrays.user_unions_size(): - - user_unions_size(map) -> size_t - - - Get size of user_unions_t. - - - @param map (C++: user_unions_t *) - - -class ida_hexrays.user_unions_t(): - - Proxy of C++ std::map<(ea_t,intvec_t)> class - - -ida_hexrays.user_unions_t.at(): - - at(self, _Keyval) -> intvec_t - - -ida_hexrays.user_unions_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_unions_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_unions_t.setdefault(): - - Sets the value associated with the provided key. - - -class ida_hexrays.user_unions_t.valuetype(): - - Proxy of C++ qvector<(int)> class - - -ida_hexrays.user_unions_t.valuetype.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.user_unions_t.valuetype.append(): - - push_back(self, x) - push_back(self) -> int & - - -ida_hexrays.user_unions_t.valuetype.at(): - - __getitem__(self, i) -> int const & - - -ida_hexrays.user_unions_t.valuetype.begin(): - - begin(self) -> qvector< int >::iterator - begin(self) -> qvector< int >::const_iterator - - -ida_hexrays.user_unions_t.valuetype.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.user_unions_t.valuetype.clear(): - - clear(self) - - -ida_hexrays.user_unions_t.valuetype.empty(): - - empty(self) -> bool - - -ida_hexrays.user_unions_t.valuetype.end(): - - end(self) -> qvector< int >::iterator - end(self) -> qvector< int >::const_iterator - - -ida_hexrays.user_unions_t.valuetype.erase(): - - erase(self, it) -> qvector< int >::iterator - erase(self, first, last) -> qvector< int >::iterator - - -ida_hexrays.user_unions_t.valuetype.extract(): - - extract(self) -> int * - - -ida_hexrays.user_unions_t.valuetype.find(): - - find(self, x) -> qvector< int >::iterator - find(self, x) -> qvector< int >::const_iterator - - -ida_hexrays.user_unions_t.valuetype.has(): - - has(self, x) -> bool - - -ida_hexrays.user_unions_t.valuetype.inject(): - - inject(self, s, len) - - -ida_hexrays.user_unions_t.valuetype.insert(): - - insert(self, it, x) -> qvector< int >::iterator - - -ida_hexrays.user_unions_t.valuetype.pop_back(): - - pop_back(self) - - -ida_hexrays.user_unions_t.valuetype.push_back(): - - push_back(self, x) - push_back(self) -> int & - - -ida_hexrays.user_unions_t.valuetype.qclear(): - - qclear(self) - - -ida_hexrays.user_unions_t.valuetype.reserve(): - - reserve(self, cnt) - - -ida_hexrays.user_unions_t.valuetype.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.user_unions_t.valuetype.size(): - - size(self) -> size_t - - -ida_hexrays.user_unions_t.valuetype.swap(): - - swap(self, r) - - -ida_hexrays.user_unions_t.valuetype.truncate(): - - truncate(self) - - -class ida_hexrays.uval_ivl_ivlset_t(): - - Proxy of C++ ivlset_tpl<(ivl_t,uval_t)> class - - -ida_hexrays.uval_ivl_ivlset_t.all_values(): - - all_values(self) -> bool - - -ida_hexrays.uval_ivl_ivlset_t.begin(): - - begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator - begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.uval_ivl_ivlset_t.clear(): - - clear(self) - - -ida_hexrays.uval_ivl_ivlset_t.empty(): - - empty(self) -> bool - - -ida_hexrays.uval_ivl_ivlset_t.end(): - - end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator - end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.uval_ivl_ivlset_t.getivl(): - - getivl(self, idx) -> ivl_t - - -ida_hexrays.uval_ivl_ivlset_t.lastivl(): - - lastivl(self) -> ivl_t - - -ida_hexrays.uval_ivl_ivlset_t.nivls(): - - nivls(self) -> size_t - - -ida_hexrays.uval_ivl_ivlset_t.qclear(): - - qclear(self) - - -ida_hexrays.uval_ivl_ivlset_t.set_all_values(): - - set_all_values(self) - - -ida_hexrays.uval_ivl_ivlset_t.single_value(): - - single_value(self, v) -> bool - - -ida_hexrays.uval_ivl_ivlset_t.swap(): - - swap(self, r) - - -class ida_hexrays.uval_ivl_t(): - - Proxy of C++ ivl_tpl<(uval_t)> class - - -ida_hexrays.uval_ivl_t.end(): - - end(self) -> unsigned-ea-like-numeric-type - - -ida_hexrays.uval_ivl_t.last(): - - last(self) -> unsigned-ea-like-numeric-type - - -ida_hexrays.uval_ivl_t.off: - uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type - -ida_hexrays.uval_ivl_t.size: - uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type - -ida_hexrays.uval_ivl_t.valid(): - - valid(self) -> bool - - -class ida_hexrays.valrng_t(): - - Proxy of C++ valrng_t class - - -ida_hexrays.valrng_t._print(): - - _print(self) - - -ida_hexrays.valrng_t.all_values(): - - all_values(self) -> bool - - -ida_hexrays.valrng_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.valrng_t.cvt_to_cmp(): - - cvt_to_cmp(self, strict) -> bool - - -ida_hexrays.valrng_t.cvt_to_single_value(): - - cvt_to_single_value(self) -> bool - - -ida_hexrays.valrng_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.valrng_t.empty(): - - empty(self) -> bool - - -ida_hexrays.valrng_t.get_size(): - - get_size(self) -> int - - -ida_hexrays.valrng_t.has(): - - has(self, v) -> bool - - -ida_hexrays.valrng_t.intersect_with(): - - intersect_with(self, r) -> bool - - -ida_hexrays.valrng_t.inverse(): - - inverse(self) - - -ida_hexrays.valrng_t.is_unknown(): - - is_unknown(self) -> bool - - -ida_hexrays.valrng_t.max_svalue(): - - max_svalue(self, size_) -> uvlr_t - max_svalue(self) -> uvlr_t - - -ida_hexrays.valrng_t.max_value(): - - max_value(self, size_) -> uvlr_t - max_value(self) -> uvlr_t - - -ida_hexrays.valrng_t.min_svalue(): - - min_svalue(self, size_) -> uvlr_t - min_svalue(self) -> uvlr_t - - -ida_hexrays.valrng_t.reduce_size(): - - reduce_size(self, new_size) -> bool - - -ida_hexrays.valrng_t.set_all(): - - set_all(self) - - -ida_hexrays.valrng_t.set_cmp(): - - set_cmp(self, cmp, _value) - - -ida_hexrays.valrng_t.set_eq(): - - set_eq(self, v) - - -ida_hexrays.valrng_t.set_none(): - - set_none(self) - - -ida_hexrays.valrng_t.set_unk(): - - set_unk(self) - - -ida_hexrays.valrng_t.swap(): - - swap(self, r) - - -ida_hexrays.valrng_t.unite_with(): - - unite_with(self, r) -> bool - - -class ida_hexrays.var_ref_t(): - - Proxy of C++ var_ref_t class - - -ida_hexrays.var_ref_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.var_ref_t.idx: - var_ref_t_idx_get(self) -> int - -ida_hexrays.var_ref_t.mba: - var_ref_t_mba_get(self) -> mbl_array_t - -class ida_hexrays.vc_printer_t(): - - Proxy of C++ vc_printer_t class - - -ida_hexrays.vc_printer_t._print(): - - _print(self, indent, format) -> int - - -ida_hexrays.vc_printer_t.func: - vc_printer_t_func_get(self) -> cfunc_t - -ida_hexrays.vc_printer_t.hdrlines: - vd_printer_t_hdrlines_get(self) -> int - -ida_hexrays.vc_printer_t.lastchar: - vc_printer_t_lastchar_get(self) -> char - -ida_hexrays.vc_printer_t.oneliner(): - - oneliner(self) -> bool - - -ida_hexrays.vc_printer_t.tmpbuf: - vd_printer_t_tmpbuf_get(self) -> qstring * - -class ida_hexrays.vd_failure_t(): - - Proxy of C++ vd_failure_t class - - -ida_hexrays.vd_failure_t.desc(): - - desc(self) -> qstring - - -ida_hexrays.vd_failure_t.hf: - vd_failure_t_hf_get(self) -> hexrays_failure_t - -class ida_hexrays.vd_interr_t(): - - Proxy of C++ vd_interr_t class - - -ida_hexrays.vd_interr_t.desc(): - - desc(self) -> qstring - - -ida_hexrays.vd_interr_t.hf: - vd_failure_t_hf_get(self) -> hexrays_failure_t - -class ida_hexrays.vd_printer_t(): - - Proxy of C++ vd_printer_t class - - -ida_hexrays.vd_printer_t._print(): - - _print(self, indent, format) -> int - - -ida_hexrays.vd_printer_t.hdrlines: - vd_printer_t_hdrlines_get(self) -> int - -ida_hexrays.vd_printer_t.tmpbuf: - vd_printer_t_tmpbuf_get(self) -> qstring * - -class ida_hexrays.vdloc_t(): - - Proxy of C++ vdloc_t class - - -ida_hexrays.vdloc_t.advance(): - - advance(self, delta) -> bool - - -ida_hexrays.vdloc_t.atype(): - - atype(self) -> argloc_type_t - - -ida_hexrays.vdloc_t.calc_offset(): - - calc_offset(self) -> sval_t - - -ida_hexrays.vdloc_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.vdloc_t.consume_rrel(): - - consume_rrel(self, p) - - -ida_hexrays.vdloc_t.consume_scattered(): - - consume_scattered(self, p) - - -ida_hexrays.vdloc_t.get_biggest(): - - get_biggest(self) -> argloc_t::biggest_t - - -ida_hexrays.vdloc_t.get_custom(): - - get_custom(self) -> void * - - -ida_hexrays.vdloc_t.get_ea(): - - get_ea(self) -> ea_t - - -ida_hexrays.vdloc_t.get_reginfo(): - - get_reginfo(self) -> uint32 - - -ida_hexrays.vdloc_t.get_rrel(): - - get_rrel(self) -> rrel_t - get_rrel(self) -> rrel_t - - -ida_hexrays.vdloc_t.has_reg(): - - has_reg(self) -> bool - - -ida_hexrays.vdloc_t.has_stkoff(): - - has_stkoff(self) -> bool - - -ida_hexrays.vdloc_t.is_aliasable(): - - is_aliasable(self, mb, size) -> bool - - -ida_hexrays.vdloc_t.is_badloc(): - - is_badloc(self) -> bool - - -ida_hexrays.vdloc_t.is_custom(): - - is_custom(self) -> bool - - -ida_hexrays.vdloc_t.is_ea(): - - is_ea(self) -> bool - - -ida_hexrays.vdloc_t.is_fragmented(): - - is_fragmented(self) -> bool - - -ida_hexrays.vdloc_t.is_mixed_scattered(): - - is_mixed_scattered(self) -> bool - - -ida_hexrays.vdloc_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.vdloc_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_hexrays.vdloc_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_hexrays.vdloc_t.is_rrel(): - - is_rrel(self) -> bool - - -ida_hexrays.vdloc_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.vdloc_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_hexrays.vdloc_t.reg1(): - - reg1(self) -> int - - -ida_hexrays.vdloc_t.reg2(): - - reg2(self) -> int - - -ida_hexrays.vdloc_t.regoff(): - - regoff(self) -> int - - -ida_hexrays.vdloc_t.scattered(): - - scattered(self) -> scattered_aloc_t - scattered(self) -> scattered_aloc_t - - -ida_hexrays.vdloc_t.set_badloc(): - - set_badloc(self) - - -ida_hexrays.vdloc_t.set_ea(): - - set_ea(self, _ea) - - -ida_hexrays.vdloc_t.set_reg1(): - - set_reg1(self, r1) - - -ida_hexrays.vdloc_t.set_reg2(): - - set_reg2(self, _reg1, _reg2) - - -ida_hexrays.vdloc_t.set_stkoff(): - - set_stkoff(self, off) - - -ida_hexrays.vdloc_t.stkoff(): - - stkoff(self) -> sval_t - - -ida_hexrays.vdloc_t.swap(): - - swap(self, r) - - -class ida_hexrays.vdui_t(): - - Proxy of C++ vdui_t class - - -ida_hexrays.vdui_t.calc_cmt_type(): - - calc_cmt_type(self, lnnum, cmttype) -> cmt_type_t - - -ida_hexrays.vdui_t.cfunc: - vdui_t_cfunc_get(self) -> cfuncptr_t - -ida_hexrays.vdui_t.clear(): - - clear(self) - - -ida_hexrays.vdui_t.collapse_item(): - - collapse_item(self, hide) -> bool - - -ida_hexrays.vdui_t.collapse_lvars(): - - collapse_lvars(self, hide) -> bool - - -ida_hexrays.vdui_t.cpos: - vdui_t_cpos_get(self) -> ctext_position_t - -ida_hexrays.vdui_t.ct: - vdui_t_ct_get(self) -> TWidget * - -ida_hexrays.vdui_t.ctree_to_disasm(): - - ctree_to_disasm(self) -> bool - - -ida_hexrays.vdui_t.del_orphan_cmts(): - - del_orphan_cmts(self) -> bool - - -ida_hexrays.vdui_t.edit_cmt(): - - edit_cmt(self, loc) -> bool - - -ida_hexrays.vdui_t.edit_func_cmt(): - - edit_func_cmt(self) -> bool - - -ida_hexrays.vdui_t.flags: - vdui_t_flags_get(self) -> int - -ida_hexrays.vdui_t.get_current_item(): - - get_current_item(self, idv) -> bool - - -ida_hexrays.vdui_t.get_current_label(): - - get_current_label(self) -> int - - -ida_hexrays.vdui_t.get_number(): - - get_number(self) -> cnumber_t - - -ida_hexrays.vdui_t.head: - vdui_t_head_get(self) -> ctree_item_t - -ida_hexrays.vdui_t.in_ctree(): - - in_ctree(self) -> bool - - -ida_hexrays.vdui_t.invert_bits(): - - invert_bits(self) -> bool - - -ida_hexrays.vdui_t.invert_sign(): - - invert_sign(self) -> bool - - -ida_hexrays.vdui_t.item: - vdui_t_item_get(self) -> ctree_item_t - -ida_hexrays.vdui_t.jump_enter(): - - jump_enter(self, idv, omflags) -> bool - - -ida_hexrays.vdui_t.last_code: - vdui_t_last_code_get(self) -> merror_t - -ida_hexrays.vdui_t.locked(): - - locked(self) -> bool - - -ida_hexrays.vdui_t.map_lvar(): - - map_lvar(self, frm, to) -> bool - - -ida_hexrays.vdui_t.mba: - vdui_t_mba_get(self) -> mbl_array_t - -ida_hexrays.vdui_t.refresh_cpos(): - - refresh_cpos(self, idv) -> bool - - -ida_hexrays.vdui_t.refresh_ctext(): - - refresh_ctext(self, activate=True) - - -ida_hexrays.vdui_t.refresh_view(): - - refresh_view(self, redo_mba) - - -ida_hexrays.vdui_t.rename_global(): - - rename_global(self, ea) -> bool - - -ida_hexrays.vdui_t.rename_label(): - - rename_label(self, label) -> bool - - -ida_hexrays.vdui_t.rename_lvar(): - - rename_lvar(self, v, name, is_user_name) -> bool - - -ida_hexrays.vdui_t.rename_strmem(): - - rename_strmem(self, sptr, mptr) -> bool - - -ida_hexrays.vdui_t.set_global_type(): - - set_global_type(self, ea) -> bool - - -ida_hexrays.vdui_t.set_locked(): - - set_locked(self, v) -> bool - - -ida_hexrays.vdui_t.set_lvar_cmt(): - - set_lvar_cmt(self, v, cmt) -> bool - - -ida_hexrays.vdui_t.set_lvar_type(): - - set_lvar_type(self, v, type) -> bool - - -ida_hexrays.vdui_t.set_noptr_lvar(): - - set_noptr_lvar(self, v) -> bool - - -ida_hexrays.vdui_t.set_num_enum(): - - set_num_enum(self) -> bool - - -ida_hexrays.vdui_t.set_num_radix(): - - set_num_radix(self, base) -> bool - - -ida_hexrays.vdui_t.set_num_stroff(): - - set_num_stroff(self) -> bool - - -ida_hexrays.vdui_t.set_strmem_type(): - - set_strmem_type(self, sptr, mptr) -> bool - - -ida_hexrays.vdui_t.set_valid(): - - set_valid(self, v) - - -ida_hexrays.vdui_t.set_visible(): - - set_visible(self, v) - - -ida_hexrays.vdui_t.split_item(): - - split_item(self, split) -> bool - - -ida_hexrays.vdui_t.switch_to(): - - switch_to(self, f, activate) - - -ida_hexrays.vdui_t.tail: - vdui_t_tail_get(self) -> ctree_item_t - -ida_hexrays.vdui_t.toplevel: - vdui_t_toplevel_get(self) -> TWidget * - -ida_hexrays.vdui_t.ui_edit_lvar_cmt(): - - ui_edit_lvar_cmt(self, v) -> bool - - -ida_hexrays.vdui_t.ui_map_lvar(): - - ui_map_lvar(self, v) -> bool - - -ida_hexrays.vdui_t.ui_rename_lvar(): - - ui_rename_lvar(self, v) -> bool - - -ida_hexrays.vdui_t.ui_set_call_type(): - - ui_set_call_type(self, e) -> bool - - -ida_hexrays.vdui_t.ui_set_lvar_type(): - - ui_set_lvar_type(self, v) -> bool - - -ida_hexrays.vdui_t.ui_unmap_lvar(): - - ui_unmap_lvar(self, v) -> bool - - -ida_hexrays.vdui_t.valid(): - - valid(self) -> bool - - -ida_hexrays.vdui_t.view_idx: - vdui_t_view_idx_get(self) -> int - -ida_hexrays.vdui_t.visible(): - - visible(self) -> bool - - -class ida_hexrays.vivl_t(): - - Proxy of C++ vivl_t class - - -ida_hexrays.vivl_t._print(): - - _print(self) - - -ida_hexrays.vivl_t.add(): - - add(self, width) -> voff_t - - -ida_hexrays.vivl_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.vivl_t.contains(): - - contains(self, voff2) -> bool - - -ida_hexrays.vivl_t.defined(): - - defined(self) -> bool - - -ida_hexrays.vivl_t.diff(): - - diff(self, r) -> sval_t - - -ida_hexrays.vivl_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.vivl_t.extend_to_cover(): - - extend_to_cover(self, r) -> bool - - -ida_hexrays.vivl_t.get_reg(): - - get_reg(self) -> mreg_t - - -ida_hexrays.vivl_t.get_stkoff(): - - get_stkoff(self) -> sval_t - - -ida_hexrays.vivl_t.inc(): - - inc(self, delta) - - -ida_hexrays.vivl_t.includes(): - - includes(self, r) -> bool - - -ida_hexrays.vivl_t.intersect(): - - intersect(self, r) -> uval_t - - -ida_hexrays.vivl_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.vivl_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_hexrays.vivl_t.off: - voff_t_off_get(self) -> sval_t - -ida_hexrays.vivl_t.overlap(): - - overlap(self, r) -> bool - - -ida_hexrays.vivl_t.set(): - - set(self, _type, _off, _size=0) - set(self, voff, _size) - - -ida_hexrays.vivl_t.set_reg(): - - set_reg(self, mreg, sz=0) - - -ida_hexrays.vivl_t.set_stkoff(): - - set_stkoff(self, stkoff, sz=0) - - -ida_hexrays.vivl_t.size: - vivl_t_size_get(self) -> int - -ida_hexrays.vivl_t.type: - voff_t_type_get(self) -> mopt_t - -ida_hexrays.vivl_t.undef(): - - undef(self) - - -class ida_hexrays.voff_t(): - - Proxy of C++ voff_t class - - -ida_hexrays.voff_t.add(): - - add(self, width) -> voff_t - - -ida_hexrays.voff_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.voff_t.defined(): - - defined(self) -> bool - - -ida_hexrays.voff_t.diff(): - - diff(self, r) -> sval_t - - -ida_hexrays.voff_t.get_reg(): - - get_reg(self) -> mreg_t - - -ida_hexrays.voff_t.get_stkoff(): - - get_stkoff(self) -> sval_t - - -ida_hexrays.voff_t.inc(): - - inc(self, delta) - - -ida_hexrays.voff_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.voff_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_hexrays.voff_t.off: - voff_t_off_get(self) -> sval_t - -ida_hexrays.voff_t.set(): - - set(self, _type, _off) - - -ida_hexrays.voff_t.set_reg(): - - set_reg(self, mreg) - - -ida_hexrays.voff_t.set_stkoff(): - - set_stkoff(self, stkoff) - - -ida_hexrays.voff_t.type: - voff_t_type_get(self) -> mopt_t - -ida_hexrays.voff_t.undef(): - - undef(self) - - - -=== ida_hexrays EPYDOC INJECTIONS === -ida_hexrays.ACFL_BLKOPT -""" -perform interblock transformations -""" - -ida_hexrays.ACFL_GLBDEL -""" -perform dead code eliminition -""" - -ida_hexrays.ACFL_GLBPROP -""" -perform global propagation -""" - -ida_hexrays.ACFL_GUESS -""" -may guess calling conventions -""" - -ida_hexrays.ACFL_LOCOPT -""" -perform local propagation (requires ACFL_BLKOPT) -""" - -ida_hexrays.ANCHOR_BLKCMT -""" -block comment (for ctree items) -""" - -ida_hexrays.ANCHOR_CITEM -""" -c-tree item -""" - -ida_hexrays.ANCHOR_ITP -""" -item type preciser -""" - -ida_hexrays.ANCHOR_LVAR -""" -declaration of local variable -""" - -ida_hexrays.CFL_FINAL -""" -call type is final, should not be changed -""" - -ida_hexrays.CFL_HELPER -""" -created from a decompiler helper function -""" - -ida_hexrays.CFS_BOUNDS -""" -'eamap' and 'boundaries' are ready -""" - -ida_hexrays.CFS_LVARS_HIDDEN -""" -local variable definitions are collapsed -""" - -ida_hexrays.CFS_TEXT -""" -'sv' is ready (and hdrlines) -""" - -ida_hexrays.CHF_FAKE -""" -fake chain created by widen_chains() -""" - -ida_hexrays.CHF_INITED -""" -is chain initialized? (valid only after lvar allocation) -""" - -ida_hexrays.CHF_OVER -""" -overlapped chain -""" - -ida_hexrays.CHF_PASSTHRU -""" -pass-thru chain, must use the input variable to the block -""" - -ida_hexrays.CHF_REPLACED -""" -chain operands have been replaced? -""" - -ida_hexrays.CHF_TERM -""" -terminating chain; the variable does not survive across the block -""" - -ida_hexrays.CIT_COLLAPSED -""" -display element in collapsed form -""" - -ida_hexrays.CPBLK_FAST -""" -do not update minbstkref and minbargref -""" - -ida_hexrays.CPBLK_MINREF -""" -update minbstkref and minbargref -""" - -ida_hexrays.CPBLK_OPTJMP -""" -if it becomes useless - -del the jump insn at the end of the block -""" - -ida_hexrays.CV_FAST -""" -do not maintain parent information -""" - -ida_hexrays.CV_INSNS -""" -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. -""" - -ida_hexrays.CV_PARENTS -""" -maintain parent information -""" - -ida_hexrays.CV_POST -""" -call the leave...() functions -""" - -ida_hexrays.CV_PRUNE -""" -this bit is set by visit...() to prune the walk -""" - -ida_hexrays.CV_RESTART -""" -restart enumeration at the top expr (apply_to_exprs) -""" - -ida_hexrays.DECOMP_NO_CACHE -""" -do not use decompilation cache -""" - -ida_hexrays.DECOMP_NO_FRAME -""" -do not use function frame info (only snippet mode) -""" - -ida_hexrays.DECOMP_NO_WAIT -""" -do not display waitbox -""" - -ida_hexrays.DECOMP_WARNINGS -""" -display warnings in the output window -""" - -ida_hexrays.EQ_CMPDEST -""" -compare instruction destinations -""" - -ida_hexrays.EQ_IGNCODE -""" -ignore instruction opcodes -""" - -ida_hexrays.EQ_IGNSIZE -""" -ignore operand sizes -""" - -ida_hexrays.EQ_OPTINSN -""" -optimize mop_d operands -""" - -ida_hexrays.EXFL_ALL -""" -all currently defined bits -""" - -ida_hexrays.EXFL_ALONE -""" -standalone helper -""" - -ida_hexrays.EXFL_CPADONE -""" -pointer arithmetic correction done -""" - -ida_hexrays.EXFL_CSTR -""" -string literal -""" - -ida_hexrays.EXFL_FPOP -""" -floating point operation -""" - -ida_hexrays.EXFL_JUMPOUT -""" -jump out-of-function -""" - -ida_hexrays.EXFL_LVALUE -""" -expression is lvalue even if it doesn't look like it -""" - -ida_hexrays.EXFL_PARTIAL -""" -type of the expression is considered partial -""" - -ida_hexrays.EXFL_UNDEF -""" -expression uses undefined value -""" - -ida_hexrays.EXFL_VFTABLE -""" -is ptr to vftable (used for cot_memptr, cot_memref) -""" - -ida_hexrays.FCI_DEAD -""" -some return registers were determined dead -""" - -ida_hexrays.FCI_FINAL -""" -call type is final, should not be changed -""" - -ida_hexrays.FCI_HASCALL -""" -A function is an synthetic helper combined from several instructions -and at least one of them was a call to a real functions -""" - -ida_hexrays.FCI_HASFMT -""" -printf- or scanf-style format string - -A variadic function with recognized -""" - -ida_hexrays.FCI_NORET -""" -call does not return -""" - -ida_hexrays.FCI_NOSIDE -""" -call does not have side effects -""" - -ida_hexrays.FCI_PROP -""" -call has been propagated -""" - -ida_hexrays.FCI_PURE -""" -pure function -""" - -ida_hexrays.FCI_SPLOK -""" -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. -""" - -ida_hexrays.FD_BACKWARD -""" -search direction -""" - -ida_hexrays.FD_DEF -""" -look for definition -""" - -ida_hexrays.FD_DIRTY -""" -by function calls and indirect memory access - -ignore possible implicit definitions -""" - -ida_hexrays.FD_FORWARD -""" -search direction -""" - -ida_hexrays.FD_USE -""" -look for use -""" - -ida_hexrays.GCA_ALLOC -""" -enumerate only allocated chains -""" - -ida_hexrays.GCA_EMPTY -""" -include empty chains -""" - -ida_hexrays.GCA_NALLOC -""" -enumerate only non-allocated chains -""" - -ida_hexrays.GCA_OFIRST -""" -consider only chains of the first block -""" - -ida_hexrays.GCA_OLAST -""" -consider only chains of the last block -""" - -ida_hexrays.GCA_SPEC -""" -include chains for special registers -""" - -ida_hexrays.GCO_DEF -""" -is destination operand? -""" - -ida_hexrays.GCO_REG -""" -is register? otherwise a stack variable -""" - -ida_hexrays.GCO_STK -""" -a stack variable -""" - -ida_hexrays.GCO_USE -""" -is source operand? -""" - -ida_hexrays.GLN_ALL -""" -get both -""" - -ida_hexrays.GLN_CURRENT -""" -get label of the current item -""" - -ida_hexrays.GLN_GOTO_TARGET -""" -get goto target -""" - -ida_hexrays.IPROP_ASSERT -""" -assertion: usually mov #val, op. assertions are used to help the -optimizer. assertions are ignored when generating ctree -""" - -ida_hexrays.IPROP_CLNPOP -""" -(e.g. "pop ecx" is often used for that) - -the purpose of the instruction is to clean stack -""" - -ida_hexrays.IPROP_COMBINED -""" -insn has been modified because of a partial reference -""" - -ida_hexrays.IPROP_DONT_COMB -""" -may not combine this instruction with others -""" - -ida_hexrays.IPROP_DONT_PROP -""" -may not propagate -""" - -ida_hexrays.IPROP_EXTSTX -""" -this is m_ext propagated into m_stx -""" - -ida_hexrays.IPROP_FARCALL -""" -call of a far function using push cs/call sequence -""" - -ida_hexrays.IPROP_FPINSN -""" -floating point insn -""" - -ida_hexrays.IPROP_IGNLOWSRC -""" -low part of the instruction source operand has been created -artificially (this bit is used only for 'and x, 80...') -""" - -ida_hexrays.IPROP_INV_JX -""" -inverted conditional jump -""" - -ida_hexrays.IPROP_MULTI_MOV -""" -(example: STM on ARM may transfer multiple registers) - -the minsn was generated as part of insn that moves multiple -registersbits that can be set by plugins: -""" - -ida_hexrays.IPROP_OPTIONAL -""" -optional instruction -""" - -ida_hexrays.IPROP_PERSIST -""" -persistent insn; they are not destroyed -""" - -ida_hexrays.IPROP_SPLIT -""" -the instruction has been split: -""" - -ida_hexrays.IPROP_SPLIT1 -""" -into 1 byte -""" - -ida_hexrays.IPROP_SPLIT2 -""" -into 2 bytes -""" - -ida_hexrays.IPROP_SPLIT4 -""" -into 4 bytes -""" - -ida_hexrays.IPROP_SPLIT8 -""" -into 8 bytes -""" - -ida_hexrays.IPROP_TAILCALL -""" -tail call -""" - -ida_hexrays.IPROP_WAS_NORET -""" -was noret icall -""" - -ida_hexrays.IPROP_WILDMATCH -""" -match multiple insns -""" - -ida_hexrays.LOCOPT_ALL -""" -is not set, only dirty blocks will be optimized - -redo optimization for all blocks. if this bit -""" - -ida_hexrays.LOCOPT_REFINE -""" -refine return type, ok to fail -""" - -ida_hexrays.LOCOPT_REFINE2 -""" -refine return type, try harder -""" - -ida_hexrays.LVINF_FORCE -""" -force allocation of a new variable. forces the decompiler to create a -new variable at ll.defea -""" - -ida_hexrays.LVINF_KEEP -""" -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. -""" - -ida_hexrays.LVINF_NOPTR -""" -variable type should not be a pointer -""" - -ida_hexrays.MBA_ASRPROP -""" -assertion have been propagated -""" - -ida_hexrays.MBA_ASRTOK -""" -assertions have been generated -""" - -ida_hexrays.MBA_CALLS -""" -callinfo has been built -""" - -ida_hexrays.MBA_CHVARS -""" -can verify chain varnums -""" - -ida_hexrays.MBA_CMBBLK -""" -request to combine blocks -""" - -ida_hexrays.MBA_CMNSTK -""" -stkvars+stkargs should be considered as one area -""" - -ida_hexrays.MBA_COLGDL -""" -display graph after each reduction -""" - -ida_hexrays.MBA_DELPAIRS -""" -pairs have been deleted once -""" - -ida_hexrays.MBA_GLBOPT -""" -microcode has been optimized globally -""" - -ida_hexrays.MBA_INSGDL -""" -display instruction in graphs -""" - -ida_hexrays.MBA_LOADED -""" -loaded gdl, no instructions (debugging) -""" - -ida_hexrays.MBA_LVARS0 -""" -lvar pre-allocation has been performed -""" - -ida_hexrays.MBA_LVARS1 -""" -lvar real allocation has been performed -""" - -ida_hexrays.MBA_NICE -""" -apply transformations to c code -""" - -ida_hexrays.MBA_NOFUNC -""" -function is not present, addresses might be wrong -""" - -ida_hexrays.MBA_NUMADDR -""" -display definition addresses for numbers -""" - -ida_hexrays.MBA_OVERVAR -""" -an overlapped variable has been detected -""" - -ida_hexrays.MBA_PASSREGS -""" -has 'mcallinfo_t::pass_regs' -""" - -ida_hexrays.MBA_PATTERN -""" -microcode pattern, callinfo is present -""" - -ida_hexrays.MBA_PRCDEFS -""" -use precise defeas for chain-allocated lvars -""" - -ida_hexrays.MBA_PREOPT -""" -preoptimization stage complete -""" - -ida_hexrays.MBA_REFINE -""" -may refine return value size -""" - -ida_hexrays.MBA_RETFP -""" -function returns floating point value -""" - -ida_hexrays.MBA_RETREF -""" -return type has been refined -""" - -ida_hexrays.MBA_SAVRST -""" -save-restore analysis has been performed -""" - -ida_hexrays.MBA_SHORT -""" -use short display -""" - -ida_hexrays.MBA_SPLINFO -""" -(final_type ? idb_spoiled : spoiled_regs) is valid -""" - -ida_hexrays.MBA_THUNK -""" -thunk function -""" - -ida_hexrays.MBA_VALNUM -""" -display value numbers -""" - -ida_hexrays.MBA_WINGR32 -""" -use wingraph32 -""" - -ida_hexrays.MBL_BACKPROP -""" -performed backprop_cc -""" - -ida_hexrays.MBL_CALL -""" -call information has been built -""" - -ida_hexrays.MBL_COMB -""" -needs "combine" pass -""" - -ida_hexrays.MBL_DEAD -""" -needs "eliminate deads" pass -""" - -ida_hexrays.MBL_DMT64 -""" -needs "demote 64bits" -""" - -ida_hexrays.MBL_DSLOT -""" -block for delay slot -""" - -ida_hexrays.MBL_FAKE -""" -fake block (after a tail call) -""" - -ida_hexrays.MBL_GOTO -""" -this block is a goto target -""" - -ida_hexrays.MBL_INCONST -""" -inconsistent lists: we are building them -""" - -ida_hexrays.MBL_LIST -""" -use/def lists are ready (not dirty) -""" - -ida_hexrays.MBL_NONFAKE -""" -regular block -""" - -ida_hexrays.MBL_NORET -""" -dead end block: doesn't return execution control -""" - -ida_hexrays.MBL_PRIV -""" -the specified are accepted (used in patterns) - -private block - no instructions except -""" - -ida_hexrays.MBL_PROP -""" -needs 'propagation' pass -""" - -ida_hexrays.MBL_PUSH -""" -needs "convert push/pop instructions" -""" - -ida_hexrays.MBL_TCAL -""" -aritifical call block for tail calls -""" - -ida_hexrays.MBL_VALRANGES -""" -should optimize using value ranges -""" - -ida_hexrays.NALT_VD -""" -this index is not used by ida -""" - -ida_hexrays.NF_BINVDONE -""" -temporary internal bit: inverting bits is done -""" - -ida_hexrays.NF_BITNOT -""" -The user asked to invert bits of the constant. -""" - -ida_hexrays.NF_FIXED -""" -number format has been defined by the user -""" - -ida_hexrays.NF_NEGATE -""" -The user asked to negate the constant. -""" - -ida_hexrays.NF_NEGDONE -""" -temporary internal bit: negation has been performed -""" - -ida_hexrays.NF_STROFF -""" -internal bit: used as stroff, valid iff 'is_stroff()' -""" - -ida_hexrays.OPROP_CCFLAGS -""" -condition codes register value -""" - -ida_hexrays.OPROP_FLOAT -""" -possibly floating value -""" - -ida_hexrays.OPROP_IMPDONE -""" -imported operand (a pointer) has been dereferenced -""" - -ida_hexrays.OPROP_UDEFVAL -""" -uses undefined value -""" - -ida_hexrays.OPROP_UDT -""" -a struct or union -""" - -ida_hexrays.OPTI_ADDREXPRS -""" -optimize all address expressions (&x+N; &x-&y) -""" - -ida_hexrays.OPTI_COMBINSNS -""" -may combine insns (only for optimize_insn) -""" - -ida_hexrays.OPTI_MINSTKREF -""" -may update minstkref -""" - -ida_hexrays.OPTI_NO_LDXOPT -""" -do not optimize low/high(ldx) -""" - -ida_hexrays.SHINS_LDXEA -""" -display address of ldx expressions (not used) -""" - -ida_hexrays.SHINS_NUMADDR -""" -display definition addresses for numbers -""" - -ida_hexrays.SHINS_SHORT -""" -do not display use-def chains and other attrs -""" - -ida_hexrays.SHINS_VALNUM -""" -display value numbers -""" - -ida_hexrays.ULV_PRECISE_DEFEA -""" -Use precise defea's for lvar locations. -""" - -ida_hexrays.VDRUN_APPEND -""" -Create a new file or append to existing file. -""" - -ida_hexrays.VDRUN_CMDLINE -""" -called from ida's command line -""" - -ida_hexrays.VDRUN_LUMINA -""" -use lumina server -""" - -ida_hexrays.VDRUN_MAYSTOP -""" -the user can cancel decompilation -""" - -ida_hexrays.VDRUN_NEWFILE -""" -Create a new file or overwrite existing file. -""" - -ida_hexrays.VDRUN_ONLYNEW -""" -Fail if output file already exists. -""" - -ida_hexrays.VDRUN_SENDIDB -""" -Send problematic databases to hex-rays.com. -""" - -ida_hexrays.VDRUN_SILENT -""" -Silent decompilation. -""" - -ida_hexrays.VDRUN_STATS -""" -print statistics into vd_stats.txt -""" - -ida_hexrays.VDUI_LOCKED -""" -is locked? -""" - -ida_hexrays.VDUI_VALID -""" -is valid? -""" - -ida_hexrays.VDUI_VISIBLE -""" -is visible? -""" - -ida_hexrays.VR_AT_END -""" -get value ranges after the instruction or at the block end, just after -the last instruction (if M is NULL) -""" - -ida_hexrays.VR_AT_START -""" -at the block start (if M is NULL) - -get value ranges before the instruction or -""" - -ida_hexrays.VR_EXACT -""" -valrng size will be >= vivl.size - -find exact match. if not set, the returned -""" -=== ida_hexrays EPYDOC INJECTIONS END === -ida_ida.calc_default_idaplace_flags(): - - calc_default_idaplace_flags() -> int - - - Get default disassembly line options. - - -class ida_ida.compiler_info_t(): - - Proxy of C++ compiler_info_t class - - -ida_ida.compiler_info_t.cm: - compiler_info_t_cm_get(self) -> cm_t - -ida_ida.compiler_info_t.defalign: - compiler_info_t_defalign_get(self) -> uchar - -ida_ida.compiler_info_t.id: - compiler_info_t_id_get(self) -> comp_t - -ida_ida.compiler_info_t.size_b: - compiler_info_t_size_b_get(self) -> uchar - -ida_ida.compiler_info_t.size_e: - compiler_info_t_size_e_get(self) -> uchar - -ida_ida.compiler_info_t.size_i: - compiler_info_t_size_i_get(self) -> uchar - -ida_ida.compiler_info_t.size_l: - compiler_info_t_size_l_get(self) -> uchar - -ida_ida.compiler_info_t.size_ldbl: - compiler_info_t_size_ldbl_get(self) -> uchar - -ida_ida.compiler_info_t.size_ll: - compiler_info_t_size_ll_get(self) -> uchar - -ida_ida.compiler_info_t.size_s: - compiler_info_t_size_s_get(self) -> uchar - -class ida_ida.idainfo(): - - Proxy of C++ idainfo class - - -ida_ida.idainfo.abibits: - idainfo_abibits_get(self) -> uint32 - -ida_ida.idainfo.abiname: - - get_abiname(self) -> qstring - - -ida_ida.idainfo.af: - idainfo_af_get(self) -> uint32 - -ida_ida.idainfo.af2: - idainfo_af2_get(self) -> uint32 - -ida_ida.idainfo.appcall_options: - idainfo_appcall_options_get(self) -> uint32 - -ida_ida.idainfo.apptype: - idainfo_apptype_get(self) -> ushort - -ida_ida.idainfo.asmtype: - idainfo_asmtype_get(self) -> uchar - -ida_ida.idainfo.baseaddr: - idainfo_baseaddr_get(self) -> uval_t - -ida_ida.idainfo.bin_prefix_size: - idainfo_bin_prefix_size_get(self) -> short - -ida_ida.idainfo.cc: - idainfo_cc_get(self) -> compiler_info_t - -ida_ida.idainfo.comment: - idainfo_comment_get(self) -> uchar - -ida_ida.idainfo.database_change_count: - idainfo_database_change_count_get(self) -> uint32 - -ida_ida.idainfo.datatypes: - idainfo_datatypes_get(self) -> uval_t - -ida_ida.idainfo.demnames: - idainfo_demnames_get(self) -> uchar - -ida_ida.idainfo.filetype: - idainfo_filetype_get(self) -> ushort - -ida_ida.idainfo.get_abiname(): - - get_abiname(self) -> qstring - - -ida_ida.idainfo.get_maxEA(): - - get_maxEA(self) -> ea_t - - -ida_ida.idainfo.get_minEA(): - - get_minEA(self) -> ea_t - - -ida_ida.idainfo.get_procName(): - - get_procName(self) -> qstring - - -ida_ida.idainfo.highoff: - idainfo_highoff_get(self) -> ea_t - -ida_ida.idainfo.indent: - idainfo_indent_get(self) -> uchar - -ida_ida.idainfo.lenxref: - idainfo_lenxref_get(self) -> ushort - -ida_ida.idainfo.lflags: - idainfo_lflags_get(self) -> uint32 - -ida_ida.idainfo.listnames: - idainfo_listnames_get(self) -> uchar - -ida_ida.idainfo.long_demnames: - idainfo_long_demnames_get(self) -> uint32 - -ida_ida.idainfo.lowoff: - idainfo_lowoff_get(self) -> ea_t - -ida_ida.idainfo.main: - idainfo_main_get(self) -> ea_t - -ida_ida.idainfo.margin: - idainfo_margin_get(self) -> ushort - -ida_ida.idainfo.maxEA: - - get_maxEA(self) -> ea_t - - -ida_ida.idainfo.max_autoname_len: - idainfo_max_autoname_len_get(self) -> ushort - -ida_ida.idainfo.max_ea: - idainfo_max_ea_get(self) -> ea_t - -ida_ida.idainfo.maxref: - idainfo_maxref_get(self) -> uval_t - -ida_ida.idainfo.minEA: - - get_minEA(self) -> ea_t - - -ida_ida.idainfo.min_ea: - idainfo_min_ea_get(self) -> ea_t - -ida_ida.idainfo.nametype: - idainfo_nametype_get(self) -> char - -ida_ida.idainfo.omax_ea: - idainfo_omax_ea_get(self) -> ea_t - -ida_ida.idainfo.omin_ea: - idainfo_omin_ea_get(self) -> ea_t - -ida_ida.idainfo.ostype: - idainfo_ostype_get(self) -> ushort - -ida_ida.idainfo.outflags: - idainfo_outflags_get(self) -> uint32 - -ida_ida.idainfo.procName: - - get_procName(self) -> qstring - - -ida_ida.idainfo.procname: - idainfo_procname_get(self) -> char [16] - -ida_ida.idainfo.refcmtnum: - idainfo_refcmtnum_get(self) -> uchar - -ida_ida.idainfo.s_cmtflg: - idainfo_s_cmtflg_get(self) -> uchar - -ida_ida.idainfo.s_genflags: - idainfo_s_genflags_get(self) -> ushort - -ida_ida.idainfo.s_limiter: - idainfo_s_limiter_get(self) -> uchar - -ida_ida.idainfo.s_prefflag: - idainfo_s_prefflag_get(self) -> uchar - -ida_ida.idainfo.s_xrefflag: - idainfo_s_xrefflag_get(self) -> uchar - -ida_ida.idainfo.set_maxEA(): - - set_maxEA(self, ea) - - -ida_ida.idainfo.set_minEA(): - - set_minEA(self, ea) - - -ida_ida.idainfo.short_demnames: - idainfo_short_demnames_get(self) -> uint32 - -ida_ida.idainfo.specsegs: - idainfo_specsegs_get(self) -> uchar - -ida_ida.idainfo.start_cs: - idainfo_start_cs_get(self) -> sel_t - -ida_ida.idainfo.start_ea: - idainfo_start_ea_get(self) -> ea_t - -ida_ida.idainfo.start_ip: - idainfo_start_ip_get(self) -> ea_t - -ida_ida.idainfo.start_sp: - idainfo_start_sp_get(self) -> ea_t - -ida_ida.idainfo.start_ss: - idainfo_start_ss_get(self) -> sel_t - -ida_ida.idainfo.strlit_break: - idainfo_strlit_break_get(self) -> uchar - -ida_ida.idainfo.strlit_flags: - idainfo_strlit_flags_get(self) -> uchar - -ida_ida.idainfo.strlit_pref: - idainfo_strlit_pref_get(self) -> char [16] - -ida_ida.idainfo.strlit_sernum: - idainfo_strlit_sernum_get(self) -> uval_t - -ida_ida.idainfo.strlit_zeroes: - idainfo_strlit_zeroes_get(self) -> char - -ida_ida.idainfo.strtype: - idainfo_strtype_get(self) -> int32 - -ida_ida.idainfo.tag: - idainfo_tag_get(self) -> char [3] - -ida_ida.idainfo.type_xrefnum: - idainfo_type_xrefnum_get(self) -> uchar - -ida_ida.idainfo.version: - idainfo_version_get(self) -> ushort - -ida_ida.idainfo.xrefnum: - idainfo_xrefnum_get(self) -> uchar - -ida_ida.idainfo_big_arg_align(): - - inf_big_arg_align() -> bool - - -ida_ida.idainfo_gen_lzero(): - - inf_gen_lzero() -> bool - - -ida_ida.idainfo_gen_null(): - - inf_gen_null() -> bool - - -ida_ida.idainfo_gen_tryblks(): - - inf_gen_tryblks() -> bool - - -ida_ida.idainfo_get_demname_form(): - - inf_get_demname_form() -> uchar - - - Get 'DEMNAM_MASK' bits of #demnames. - - -ida_ida.idainfo_get_pack_mode(): - - inf_get_pack_mode() -> int - - -ida_ida.idainfo_is_32bit(): - - inf_is_32bit() -> bool - - -ida_ida.idainfo_is_64bit(): - - inf_is_64bit() -> bool - - -ida_ida.idainfo_is_auto_enabled(): - - inf_is_auto_enabled() -> bool - - -ida_ida.idainfo_is_be(): - - inf_is_be() -> bool - - -ida_ida.idainfo_is_dll(): - - inf_is_dll() -> bool - - -ida_ida.idainfo_is_flat_off32(): - - inf_is_flat_off32() -> bool - - -ida_ida.idainfo_is_graph_view(): - - inf_is_graph_view() -> bool - - -ida_ida.idainfo_is_hard_float(): - - inf_is_hard_float() -> bool - - -ida_ida.idainfo_is_kernel_mode(): - - inf_is_kernel_mode() -> bool - - -ida_ida.idainfo_is_mem_aligned4(): - - inf_is_mem_aligned4() -> bool - - -ida_ida.idainfo_is_snapshot(): - - inf_is_snapshot() -> bool - - -ida_ida.idainfo_is_wide_high_byte_first(): - - inf_is_wide_high_byte_first() -> bool - - -ida_ida.idainfo_like_binary(): - - inf_like_binary() -> bool - - -ida_ida.idainfo_line_pref_with_seg(): - - inf_line_pref_with_seg() -> bool - - -ida_ida.idainfo_loading_idc(): - - inf_loading_idc() -> bool - - -ida_ida.idainfo_map_stkargs(): - - inf_map_stkargs() -> bool - - -ida_ida.idainfo_pack_stkargs(): - - inf_pack_stkargs() -> bool - - -ida_ida.idainfo_readonly_idb(): - - inf_readonly_idb() -> bool - - -ida_ida.idainfo_set_64bit(): - - inf_set_64bit(_v=True) -> bool - - -ida_ida.idainfo_set_auto_enabled(): - - inf_set_auto_enabled(_v=True) -> bool - - -ida_ida.idainfo_set_be(): - - inf_set_be(_v=True) -> bool - - -ida_ida.idainfo_set_gen_lzero(): - - inf_set_gen_lzero(_v=True) -> bool - - -ida_ida.idainfo_set_gen_null(): - - inf_set_gen_null(_v=True) -> bool - - -ida_ida.idainfo_set_gen_tryblks(): - - inf_set_gen_tryblks(_v=True) -> bool - - -ida_ida.idainfo_set_graph_view(): - - inf_set_graph_view(_v=True) -> bool - - -ida_ida.idainfo_set_line_pref_with_seg(): - - inf_set_line_pref_with_seg(_v=True) -> bool - - -ida_ida.idainfo_set_pack_mode(): - - inf_set_pack_mode(pack_mode) -> int - - -ida_ida.idainfo_set_show_auto(): - - inf_set_show_auto(_v=True) -> bool - - -ida_ida.idainfo_set_show_line_pref(): - - inf_set_show_line_pref(_v=True) -> bool - - -ida_ida.idainfo_set_show_void(): - - inf_set_show_void(_v=True) -> bool - - -ida_ida.idainfo_set_wide_high_byte_first(): - - inf_set_wide_high_byte_first(_v=True) -> bool - - -ida_ida.idainfo_show_auto(): - - inf_show_auto() -> bool - - -ida_ida.idainfo_show_line_pref(): - - inf_show_line_pref() -> bool - - -ida_ida.idainfo_show_void(): - - inf_show_void() -> bool - - -ida_ida.idainfo_stack_ldbl(): - - inf_stack_ldbl() -> bool - - -ida_ida.idainfo_stack_varargs(): - - inf_stack_varargs() -> bool - - -ida_ida.idainfo_use_allasm(): - - inf_use_allasm() -> bool - - -ida_ida.idainfo_use_gcc_layout(): - - inf_use_gcc_layout() -> bool - - -ida_ida.inf_abi_set_by_user(): - - inf_abi_set_by_user() -> bool - - -ida_ida.inf_allow_non_matched_ops(): - - inf_allow_non_matched_ops() -> bool - - -ida_ida.inf_allow_sigmulti(): - - inf_allow_sigmulti() -> bool - - -ida_ida.inf_append_sigcmt(): - - inf_append_sigcmt() -> bool - - -ida_ida.inf_big_arg_align(): - - inf_big_arg_align() -> bool - - -ida_ida.inf_check_manual_ops(): - - inf_check_manual_ops() -> bool - - -ida_ida.inf_check_unicode_strlits(): - - inf_check_unicode_strlits() -> bool - - -ida_ida.inf_coagulate_code(): - - inf_coagulate_code() -> bool - - -ida_ida.inf_coagulate_data(): - - inf_coagulate_data() -> bool - - -ida_ida.inf_compress_idb(): - - inf_compress_idb() -> bool - - -ida_ida.inf_create_all_xrefs(): - - inf_create_all_xrefs() -> bool - - -ida_ida.inf_create_func_from_call(): - - inf_create_func_from_call() -> bool - - -ida_ida.inf_create_func_from_ptr(): - - inf_create_func_from_ptr() -> bool - - -ida_ida.inf_create_func_tails(): - - inf_create_func_tails() -> bool - - -ida_ida.inf_create_jump_tables(): - - inf_create_jump_tables() -> bool - - -ida_ida.inf_create_off_on_dref(): - - inf_create_off_on_dref() -> bool - - -ida_ida.inf_create_off_using_fixup(): - - inf_create_off_using_fixup() -> bool - - -ida_ida.inf_create_strlit_on_xref(): - - inf_create_strlit_on_xref() -> bool - - -ida_ida.inf_data_offset(): - - inf_data_offset() -> bool - - -ida_ida.inf_dbg_no_store_path(): - - inf_dbg_no_store_path() -> bool - - -ida_ida.inf_decode_fpp(): - - inf_decode_fpp() -> bool - - -ida_ida.inf_del_no_xref_insns(): - - inf_del_no_xref_insns() -> bool - - -ida_ida.inf_final_pass(): - - inf_final_pass() -> bool - - -ida_ida.inf_full_sp_ana(): - - inf_full_sp_ana() -> bool - - -ida_ida.inf_gen_assume(): - - inf_gen_assume() -> bool - - -ida_ida.inf_gen_lzero(): - - inf_gen_lzero() -> bool - - -ida_ida.inf_gen_null(): - - inf_gen_null() -> bool - - -ida_ida.inf_gen_org(): - - inf_gen_org() -> bool - - -ida_ida.inf_gen_tryblks(): - - inf_gen_tryblks() -> bool - - -ida_ida.inf_get_abibits(): - - inf_get_abibits() -> uint32 - - -ida_ida.inf_get_af(): - - inf_get_af() -> uint32 - - -ida_ida.inf_get_af2(): - - inf_get_af2() -> uint32 - - -ida_ida.inf_get_af2_low(): - - inf_get_af2_low() -> ushort - - - Get/set low 16bit half of inf.af2. - - -ida_ida.inf_get_af_high(): - - inf_get_af_high() -> ushort - - -ida_ida.inf_get_af_low(): - - inf_get_af_low() -> ushort - - - Get/set low/high 16bit halves of inf.af. - - -ida_ida.inf_get_appcall_options(): - - inf_get_appcall_options() -> uint32 - - -ida_ida.inf_get_apptype(): - - inf_get_apptype() -> ushort - - -ida_ida.inf_get_asmtype(): - - inf_get_asmtype() -> uchar - - -ida_ida.inf_get_baseaddr(): - - inf_get_baseaddr() -> uval_t - - -ida_ida.inf_get_bin_prefix_size(): - - inf_get_bin_prefix_size() -> short - - -ida_ida.inf_get_cc(): - - inf_get_cc(out) -> bool - - -ida_ida.inf_get_cc_cm(): - - inf_get_cc_cm() -> cm_t - - -ida_ida.inf_get_cc_defalign(): - - inf_get_cc_defalign() -> uchar - - -ida_ida.inf_get_cc_id(): - - inf_get_cc_id() -> comp_t - - -ida_ida.inf_get_cc_size_b(): - - inf_get_cc_size_b() -> uchar - - -ida_ida.inf_get_cc_size_e(): - - inf_get_cc_size_e() -> uchar - - -ida_ida.inf_get_cc_size_i(): - - inf_get_cc_size_i() -> uchar - - -ida_ida.inf_get_cc_size_l(): - - inf_get_cc_size_l() -> uchar - - -ida_ida.inf_get_cc_size_ldbl(): - - inf_get_cc_size_ldbl() -> uchar - - -ida_ida.inf_get_cc_size_ll(): - - inf_get_cc_size_ll() -> uchar - - -ida_ida.inf_get_cc_size_s(): - - inf_get_cc_size_s() -> uchar - - -ida_ida.inf_get_cmtflg(): - - inf_get_cmtflg() -> uchar - - -ida_ida.inf_get_comment(): - - inf_get_comment() -> uchar - - -ida_ida.inf_get_database_change_count(): - - inf_get_database_change_count() -> uint32 - - -ida_ida.inf_get_datatypes(): - - inf_get_datatypes() -> uval_t - - -ida_ida.inf_get_demname_form(): - - inf_get_demname_form() -> uchar - - - Get 'DEMNAM_MASK' bits of #demnames. - - -ida_ida.inf_get_demnames(): - - inf_get_demnames() -> uchar - - -ida_ida.inf_get_filetype(): - - inf_get_filetype() -> filetype_t - - -ida_ida.inf_get_genflags(): - - inf_get_genflags() -> ushort - - -ida_ida.inf_get_highoff(): - - inf_get_highoff() -> ea_t - - -ida_ida.inf_get_indent(): - - inf_get_indent() -> uchar - - -ida_ida.inf_get_lenxref(): - - inf_get_lenxref() -> ushort - - -ida_ida.inf_get_lflags(): - - inf_get_lflags() -> uint32 - - -ida_ida.inf_get_limiter(): - - inf_get_limiter() -> uchar - - -ida_ida.inf_get_listnames(): - - inf_get_listnames() -> uchar - - -ida_ida.inf_get_long_demnames(): - - inf_get_long_demnames() -> uint32 - - -ida_ida.inf_get_lowoff(): - - inf_get_lowoff() -> ea_t - - -ida_ida.inf_get_main(): - - inf_get_main() -> ea_t - - -ida_ida.inf_get_margin(): - - inf_get_margin() -> ushort - - -ida_ida.inf_get_max_autoname_len(): - - inf_get_max_autoname_len() -> ushort - - -ida_ida.inf_get_max_ea(): - - inf_get_max_ea() -> ea_t - - -ida_ida.inf_get_maxref(): - - inf_get_maxref() -> uval_t - - -ida_ida.inf_get_min_ea(): - - inf_get_min_ea() -> ea_t - - -ida_ida.inf_get_nametype(): - - inf_get_nametype() -> char - - -ida_ida.inf_get_netdelta(): - - inf_get_netdelta() -> sval_t - - -ida_ida.inf_get_omax_ea(): - - inf_get_omax_ea() -> ea_t - - -ida_ida.inf_get_omin_ea(): - - inf_get_omin_ea() -> ea_t - - -ida_ida.inf_get_ostype(): - - inf_get_ostype() -> ushort - - -ida_ida.inf_get_outflags(): - - inf_get_outflags() -> uint32 - - -ida_ida.inf_get_pack_mode(): - - inf_get_pack_mode() -> int - - -ida_ida.inf_get_prefflag(): - - inf_get_prefflag() -> uchar - - -ida_ida.inf_get_privrange(): - - inf_get_privrange(out) -> bool - inf_get_privrange() -> range_t - - -ida_ida.inf_get_privrange_end_ea(): - - inf_get_privrange_end_ea() -> ea_t - - -ida_ida.inf_get_privrange_start_ea(): - - inf_get_privrange_start_ea() -> ea_t - - -ida_ida.inf_get_procname(): - - inf_get_procname() -> bool - - -ida_ida.inf_get_refcmtnum(): - - inf_get_refcmtnum() -> uchar - - -ida_ida.inf_get_short_demnames(): - - inf_get_short_demnames() -> uint32 - - -ida_ida.inf_get_specsegs(): - - inf_get_specsegs() -> uchar - - -ida_ida.inf_get_start_cs(): - - inf_get_start_cs() -> sel_t - - -ida_ida.inf_get_start_ea(): - - inf_get_start_ea() -> ea_t - - -ida_ida.inf_get_start_ip(): - - inf_get_start_ip() -> ea_t - - -ida_ida.inf_get_start_sp(): - - inf_get_start_sp() -> ea_t - - -ida_ida.inf_get_start_ss(): - - inf_get_start_ss() -> sel_t - - -ida_ida.inf_get_strlit_break(): - - inf_get_strlit_break() -> uchar - - -ida_ida.inf_get_strlit_flags(): - - inf_get_strlit_flags() -> uchar - - -ida_ida.inf_get_strlit_pref(): - - inf_get_strlit_pref() -> bool - - -ida_ida.inf_get_strlit_sernum(): - - inf_get_strlit_sernum() -> uval_t - - -ida_ida.inf_get_strlit_zeroes(): - - inf_get_strlit_zeroes() -> char - - -ida_ida.inf_get_strtype(): - - inf_get_strtype() -> int32 - - -ida_ida.inf_get_type_xrefnum(): - - inf_get_type_xrefnum() -> uchar - - -ida_ida.inf_get_version(): - - inf_get_version() -> ushort - - -ida_ida.inf_get_xrefflag(): - - inf_get_xrefflag() -> uchar - - -ida_ida.inf_get_xrefnum(): - - inf_get_xrefnum() -> uchar - - -ida_ida.inf_guess_func_type(): - - inf_guess_func_type() -> bool - - -ida_ida.inf_handle_eh(): - - inf_handle_eh() -> bool - - -ida_ida.inf_handle_rtti(): - - inf_handle_rtti() -> bool - - -ida_ida.inf_hide_comments(): - - inf_hide_comments() -> bool - - -ida_ida.inf_hide_libfuncs(): - - inf_hide_libfuncs() -> bool - - -ida_ida.inf_inc_database_change_count(): - - inf_inc_database_change_count(cnt=1) - - -ida_ida.inf_is_32bit(): - - inf_is_32bit() -> bool - - -ida_ida.inf_is_64bit(): - - inf_is_64bit() -> bool - - -ida_ida.inf_is_auto_enabled(): - - inf_is_auto_enabled() -> bool - - -ida_ida.inf_is_be(): - - inf_is_be() -> bool - - -ida_ida.inf_is_dll(): - - inf_is_dll() -> bool - - -ida_ida.inf_is_flat_off32(): - - inf_is_flat_off32() -> bool - - -ida_ida.inf_is_graph_view(): - - inf_is_graph_view() -> bool - - -ida_ida.inf_is_hard_float(): - - inf_is_hard_float() -> bool - - -ida_ida.inf_is_kernel_mode(): - - inf_is_kernel_mode() -> bool - - -ida_ida.inf_is_limiter_empty(): - - inf_is_limiter_empty() -> bool - - -ida_ida.inf_is_limiter_thick(): - - inf_is_limiter_thick() -> bool - - -ida_ida.inf_is_limiter_thin(): - - inf_is_limiter_thin() -> bool - - -ida_ida.inf_is_mem_aligned4(): - - inf_is_mem_aligned4() -> bool - - -ida_ida.inf_is_snapshot(): - - inf_is_snapshot() -> bool - - -ida_ida.inf_is_wide_high_byte_first(): - - inf_is_wide_high_byte_first() -> bool - - -ida_ida.inf_like_binary(): - - inf_like_binary() -> bool - - -ida_ida.inf_line_pref_with_seg(): - - inf_line_pref_with_seg() -> bool - - -ida_ida.inf_loading_idc(): - - inf_loading_idc() -> bool - - -ida_ida.inf_macros_enabled(): - - inf_macros_enabled() -> bool - - -ida_ida.inf_map_stkargs(): - - inf_map_stkargs() -> bool - - -ida_ida.inf_mark_code(): - - inf_mark_code() -> bool - - -ida_ida.inf_no_store_user_info(): - - inf_no_store_user_info() -> bool - - -ida_ida.inf_noflow_to_data(): - - inf_noflow_to_data() -> bool - - -ida_ida.inf_noret_ana(): - - inf_noret_ana() -> bool - - -ida_ida.inf_op_offset(): - - inf_op_offset() -> bool - - -ida_ida.inf_pack_idb(): - - inf_pack_idb() -> bool - - -ida_ida.inf_pack_stkargs(): - - inf_pack_stkargs() -> bool - - -ida_ida.inf_postinc_strlit_sernum(): - - inf_postinc_strlit_sernum(cnt=1) -> uval_t - - -ida_ida.inf_prefix_show_funcoff(): - - inf_prefix_show_funcoff() -> bool - - -ida_ida.inf_prefix_show_segaddr(): - - inf_prefix_show_segaddr() -> bool - - -ida_ida.inf_prefix_show_stack(): - - inf_prefix_show_stack() -> bool - - -ida_ida.inf_propagate_regargs(): - - inf_propagate_regargs() -> bool - - -ida_ida.inf_propagate_stkargs(): - - inf_propagate_stkargs() -> bool - - -ida_ida.inf_readonly_idb(): - - inf_readonly_idb() -> bool - - -ida_ida.inf_rename_jumpfunc(): - - inf_rename_jumpfunc() -> bool - - -ida_ida.inf_rename_nullsub(): - - inf_rename_nullsub() -> bool - - -ida_ida.inf_set_32bit(): - - inf_set_32bit(_v=True) -> bool - - -ida_ida.inf_set_64bit(): - - inf_set_64bit(_v=True) -> bool - - -ida_ida.inf_set_abi_set_by_user(): - - inf_set_abi_set_by_user(_v=True) -> bool - - -ida_ida.inf_set_abibits(): - - inf_set_abibits(_v) -> bool - - -ida_ida.inf_set_af(): - - inf_set_af(_v) -> bool - - -ida_ida.inf_set_af2(): - - inf_set_af2(_v) -> bool - - -ida_ida.inf_set_af2_low(): - - inf_set_af2_low(saf) - - -ida_ida.inf_set_af_high(): - - inf_set_af_high(saf2) - - -ida_ida.inf_set_af_low(): - - inf_set_af_low(saf) - - -ida_ida.inf_set_allow_non_matched_ops(): - - inf_set_allow_non_matched_ops(_v=True) -> bool - - -ida_ida.inf_set_allow_sigmulti(): - - inf_set_allow_sigmulti(_v=True) -> bool - - -ida_ida.inf_set_appcall_options(): - - inf_set_appcall_options(_v) -> bool - - -ida_ida.inf_set_append_sigcmt(): - - inf_set_append_sigcmt(_v=True) -> bool - - -ida_ida.inf_set_apptype(): - - inf_set_apptype(_v) -> bool - - -ida_ida.inf_set_asmtype(): - - inf_set_asmtype(_v) -> bool - - -ida_ida.inf_set_auto_enabled(): - - inf_set_auto_enabled(_v=True) -> bool - - -ida_ida.inf_set_baseaddr(): - - inf_set_baseaddr(_v) -> bool - - -ida_ida.inf_set_be(): - - inf_set_be(_v=True) -> bool - - -ida_ida.inf_set_big_arg_align(): - - inf_set_big_arg_align(_v=True) -> bool - - -ida_ida.inf_set_bin_prefix_size(): - - inf_set_bin_prefix_size(_v) -> bool - - -ida_ida.inf_set_cc(): - - inf_set_cc(_v) -> bool - - -ida_ida.inf_set_cc_cm(): - - inf_set_cc_cm(_v) -> bool - - -ida_ida.inf_set_cc_defalign(): - - inf_set_cc_defalign(_v) -> bool - - -ida_ida.inf_set_cc_id(): - - inf_set_cc_id(_v) -> bool - - -ida_ida.inf_set_cc_size_b(): - - inf_set_cc_size_b(_v) -> bool - - -ida_ida.inf_set_cc_size_e(): - - inf_set_cc_size_e(_v) -> bool - - -ida_ida.inf_set_cc_size_i(): - - inf_set_cc_size_i(_v) -> bool - - -ida_ida.inf_set_cc_size_l(): - - inf_set_cc_size_l(_v) -> bool - - -ida_ida.inf_set_cc_size_ldbl(): - - inf_set_cc_size_ldbl(_v) -> bool - - -ida_ida.inf_set_cc_size_ll(): - - inf_set_cc_size_ll(_v) -> bool - - -ida_ida.inf_set_cc_size_s(): - - inf_set_cc_size_s(_v) -> bool - - -ida_ida.inf_set_check_manual_ops(): - - inf_set_check_manual_ops(_v=True) -> bool - - -ida_ida.inf_set_check_unicode_strlits(): - - inf_set_check_unicode_strlits(_v=True) -> bool - - -ida_ida.inf_set_cmtflg(): - - inf_set_cmtflg(_v) -> bool - - -ida_ida.inf_set_coagulate_code(): - - inf_set_coagulate_code(_v=True) -> bool - - -ida_ida.inf_set_coagulate_data(): - - inf_set_coagulate_data(_v=True) -> bool - - -ida_ida.inf_set_comment(): - - inf_set_comment(_v) -> bool - - -ida_ida.inf_set_compress_idb(): - - inf_set_compress_idb(_v=True) -> bool - - -ida_ida.inf_set_create_all_xrefs(): - - inf_set_create_all_xrefs(_v=True) -> bool - - -ida_ida.inf_set_create_func_from_call(): - - inf_set_create_func_from_call(_v=True) -> bool - - -ida_ida.inf_set_create_func_from_ptr(): - - inf_set_create_func_from_ptr(_v=True) -> bool - - -ida_ida.inf_set_create_func_tails(): - - inf_set_create_func_tails(_v=True) -> bool - - -ida_ida.inf_set_create_jump_tables(): - - inf_set_create_jump_tables(_v=True) -> bool - - -ida_ida.inf_set_create_off_on_dref(): - - inf_set_create_off_on_dref(_v=True) -> bool - - -ida_ida.inf_set_create_off_using_fixup(): - - inf_set_create_off_using_fixup(_v=True) -> bool - - -ida_ida.inf_set_create_strlit_on_xref(): - - inf_set_create_strlit_on_xref(_v=True) -> bool - - -ida_ida.inf_set_data_offset(): - - inf_set_data_offset(_v=True) -> bool - - -ida_ida.inf_set_database_change_count(): - - inf_set_database_change_count(_v) -> bool - - -ida_ida.inf_set_datatypes(): - - inf_set_datatypes(_v) -> bool - - -ida_ida.inf_set_dbg_no_store_path(): - - inf_set_dbg_no_store_path(_v=True) -> bool - - -ida_ida.inf_set_decode_fpp(): - - inf_set_decode_fpp(_v=True) -> bool - - -ida_ida.inf_set_del_no_xref_insns(): - - inf_set_del_no_xref_insns(_v=True) -> bool - - -ida_ida.inf_set_demnames(): - - inf_set_demnames(_v) -> bool - - -ida_ida.inf_set_dll(): - - inf_set_dll(_v=True) -> bool - - -ida_ida.inf_set_filetype(): - - inf_set_filetype(_v) -> bool - - -ida_ida.inf_set_final_pass(): - - inf_set_final_pass(_v=True) -> bool - - -ida_ida.inf_set_flat_off32(): - - inf_set_flat_off32(_v=True) -> bool - - -ida_ida.inf_set_full_sp_ana(): - - inf_set_full_sp_ana(_v=True) -> bool - - -ida_ida.inf_set_gen_assume(): - - inf_set_gen_assume(_v=True) -> bool - - -ida_ida.inf_set_gen_lzero(): - - inf_set_gen_lzero(_v=True) -> bool - - -ida_ida.inf_set_gen_null(): - - inf_set_gen_null(_v=True) -> bool - - -ida_ida.inf_set_gen_org(): - - inf_set_gen_org(_v=True) -> bool - - -ida_ida.inf_set_gen_tryblks(): - - inf_set_gen_tryblks(_v=True) -> bool - - -ida_ida.inf_set_genflags(): - - inf_set_genflags(_v) -> bool - - -ida_ida.inf_set_graph_view(): - - inf_set_graph_view(_v=True) -> bool - - -ida_ida.inf_set_guess_func_type(): - - inf_set_guess_func_type(_v=True) -> bool - - -ida_ida.inf_set_handle_eh(): - - inf_set_handle_eh(_v=True) -> bool - - -ida_ida.inf_set_handle_rtti(): - - inf_set_handle_rtti(_v=True) -> bool - - -ida_ida.inf_set_hard_float(): - - inf_set_hard_float(_v=True) -> bool - - -ida_ida.inf_set_hide_comments(): - - inf_set_hide_comments(_v=True) -> bool - - -ida_ida.inf_set_hide_libfuncs(): - - inf_set_hide_libfuncs(_v=True) -> bool - - -ida_ida.inf_set_highoff(): - - inf_set_highoff(_v) -> bool - - -ida_ida.inf_set_indent(): - - inf_set_indent(_v) -> bool - - -ida_ida.inf_set_kernel_mode(): - - inf_set_kernel_mode(_v=True) -> bool - - -ida_ida.inf_set_lenxref(): - - inf_set_lenxref(_v) -> bool - - -ida_ida.inf_set_lflags(): - - inf_set_lflags(_v) -> bool - - -ida_ida.inf_set_limiter(): - - inf_set_limiter(_v) -> bool - - -ida_ida.inf_set_limiter_empty(): - - inf_set_limiter_empty(_v=True) -> bool - - -ida_ida.inf_set_limiter_thick(): - - inf_set_limiter_thick(_v=True) -> bool - - -ida_ida.inf_set_limiter_thin(): - - inf_set_limiter_thin(_v=True) -> bool - - -ida_ida.inf_set_line_pref_with_seg(): - - inf_set_line_pref_with_seg(_v=True) -> bool - - -ida_ida.inf_set_listnames(): - - inf_set_listnames(_v) -> bool - - -ida_ida.inf_set_loading_idc(): - - inf_set_loading_idc(_v=True) -> bool - - -ida_ida.inf_set_long_demnames(): - - inf_set_long_demnames(_v) -> bool - - -ida_ida.inf_set_lowoff(): - - inf_set_lowoff(_v) -> bool - - -ida_ida.inf_set_macros_enabled(): - - inf_set_macros_enabled(_v=True) -> bool - - -ida_ida.inf_set_main(): - - inf_set_main(_v) -> bool - - -ida_ida.inf_set_map_stkargs(): - - inf_set_map_stkargs(_v=True) -> bool - - -ida_ida.inf_set_margin(): - - inf_set_margin(_v) -> bool - - -ida_ida.inf_set_mark_code(): - - inf_set_mark_code(_v=True) -> bool - - -ida_ida.inf_set_max_autoname_len(): - - inf_set_max_autoname_len(_v) -> bool - - -ida_ida.inf_set_max_ea(): - - inf_set_max_ea(_v) -> bool - - -ida_ida.inf_set_maxref(): - - inf_set_maxref(_v) -> bool - - -ida_ida.inf_set_mem_aligned4(): - - inf_set_mem_aligned4(_v=True) -> bool - - -ida_ida.inf_set_min_ea(): - - inf_set_min_ea(_v) -> bool - - -ida_ida.inf_set_nametype(): - - inf_set_nametype(_v) -> bool - - -ida_ida.inf_set_netdelta(): - - inf_set_netdelta(_v) -> bool - - -ida_ida.inf_set_no_store_user_info(): - - inf_set_no_store_user_info(_v=True) -> bool - - -ida_ida.inf_set_noflow_to_data(): - - inf_set_noflow_to_data(_v=True) -> bool - - -ida_ida.inf_set_noret_ana(): - - inf_set_noret_ana(_v=True) -> bool - - -ida_ida.inf_set_omax_ea(): - - inf_set_omax_ea(_v) -> bool - - -ida_ida.inf_set_omin_ea(): - - inf_set_omin_ea(_v) -> bool - - -ida_ida.inf_set_op_offset(): - - inf_set_op_offset(_v=True) -> bool - - -ida_ida.inf_set_ostype(): - - inf_set_ostype(_v) -> bool - - -ida_ida.inf_set_outflags(): - - inf_set_outflags(_v) -> bool - - -ida_ida.inf_set_pack_idb(): - - inf_set_pack_idb(_v=True) -> bool - - -ida_ida.inf_set_pack_mode(): - - inf_set_pack_mode(pack_mode) -> int - - -ida_ida.inf_set_pack_stkargs(): - - inf_set_pack_stkargs(_v=True) -> bool - - -ida_ida.inf_set_prefflag(): - - inf_set_prefflag(_v) -> bool - - -ida_ida.inf_set_prefix_show_funcoff(): - - inf_set_prefix_show_funcoff(_v=True) -> bool - - -ida_ida.inf_set_prefix_show_segaddr(): - - inf_set_prefix_show_segaddr(_v=True) -> bool - - -ida_ida.inf_set_prefix_show_stack(): - - inf_set_prefix_show_stack(_v=True) -> bool - - -ida_ida.inf_set_privrange(): - - inf_set_privrange(_v) -> bool - - -ida_ida.inf_set_privrange_end_ea(): - - inf_set_privrange_end_ea(_v) -> bool - - -ida_ida.inf_set_privrange_start_ea(): - - inf_set_privrange_start_ea(_v) -> bool - - -ida_ida.inf_set_procname(): - - inf_set_procname(_v, len=size_t(-1)) -> bool - - -ida_ida.inf_set_propagate_regargs(): - - inf_set_propagate_regargs(_v=True) -> bool - - -ida_ida.inf_set_propagate_stkargs(): - - inf_set_propagate_stkargs(_v=True) -> bool - - -ida_ida.inf_set_readonly_idb(): - - inf_set_readonly_idb(_v=True) -> bool - - -ida_ida.inf_set_refcmtnum(): - - inf_set_refcmtnum(_v) -> bool - - -ida_ida.inf_set_rename_jumpfunc(): - - inf_set_rename_jumpfunc(_v=True) -> bool - - -ida_ida.inf_set_rename_nullsub(): - - inf_set_rename_nullsub(_v=True) -> bool - - -ida_ida.inf_set_short_demnames(): - - inf_set_short_demnames(_v) -> bool - - -ida_ida.inf_set_should_create_stkvars(): - - inf_set_should_create_stkvars(_v=True) -> bool - - -ida_ida.inf_set_should_trace_sp(): - - inf_set_should_trace_sp(_v=True) -> bool - - -ida_ida.inf_set_show_all_comments(): - - inf_set_show_all_comments(_v=True) -> bool - - -ida_ida.inf_set_show_auto(): - - inf_set_show_auto(_v=True) -> bool - - -ida_ida.inf_set_show_hidden_funcs(): - - inf_set_show_hidden_funcs(_v=True) -> bool - - -ida_ida.inf_set_show_hidden_insns(): - - inf_set_show_hidden_insns(_v=True) -> bool - - -ida_ida.inf_set_show_hidden_segms(): - - inf_set_show_hidden_segms(_v=True) -> bool - - -ida_ida.inf_set_show_line_pref(): - - inf_set_show_line_pref(_v=True) -> bool - - -ida_ida.inf_set_show_repeatables(): - - inf_set_show_repeatables(_v=True) -> bool - - -ida_ida.inf_set_show_src_linnum(): - - inf_set_show_src_linnum(_v=True) -> bool - - -ida_ida.inf_set_show_void(): - - inf_set_show_void(_v=True) -> bool - - -ida_ida.inf_set_show_xref_fncoff(): - - inf_set_show_xref_fncoff(_v=True) -> bool - - -ida_ida.inf_set_show_xref_seg(): - - inf_set_show_xref_seg(_v=True) -> bool - - -ida_ida.inf_set_show_xref_tmarks(): - - inf_set_show_xref_tmarks(_v=True) -> bool - - -ida_ida.inf_set_show_xref_val(): - - inf_set_show_xref_val(_v=True) -> bool - - -ida_ida.inf_set_snapshot(): - - inf_set_snapshot(_v=True) -> bool - - -ida_ida.inf_set_specsegs(): - - inf_set_specsegs(_v) -> bool - - -ida_ida.inf_set_stack_ldbl(): - - inf_set_stack_ldbl(_v=True) -> bool - - -ida_ida.inf_set_stack_varargs(): - - inf_set_stack_varargs(_v=True) -> bool - - -ida_ida.inf_set_start_cs(): - - inf_set_start_cs(_v) -> bool - - -ida_ida.inf_set_start_ea(): - - inf_set_start_ea(_v) -> bool - - -ida_ida.inf_set_start_ip(): - - inf_set_start_ip(_v) -> bool - - -ida_ida.inf_set_start_sp(): - - inf_set_start_sp(_v) -> bool - - -ida_ida.inf_set_start_ss(): - - inf_set_start_ss(_v) -> bool - - -ida_ida.inf_set_strlit_autocmt(): - - inf_set_strlit_autocmt(_v=True) -> bool - - -ida_ida.inf_set_strlit_break(): - - inf_set_strlit_break(_v) -> bool - - -ida_ida.inf_set_strlit_flags(): - - inf_set_strlit_flags(_v) -> bool - - -ida_ida.inf_set_strlit_name_bit(): - - inf_set_strlit_name_bit(_v=True) -> bool - - -ida_ida.inf_set_strlit_names(): - - inf_set_strlit_names(_v=True) -> bool - - -ida_ida.inf_set_strlit_pref(): - - inf_set_strlit_pref(_v, len=size_t(-1)) -> bool - - -ida_ida.inf_set_strlit_savecase(): - - inf_set_strlit_savecase(_v=True) -> bool - - -ida_ida.inf_set_strlit_serial_names(): - - inf_set_strlit_serial_names(_v=True) -> bool - - -ida_ida.inf_set_strlit_sernum(): - - inf_set_strlit_sernum(_v) -> bool - - -ida_ida.inf_set_strlit_zeroes(): - - inf_set_strlit_zeroes(_v) -> bool - - -ida_ida.inf_set_strtype(): - - inf_set_strtype(_v) -> bool - - -ida_ida.inf_set_test_mode(): - - inf_set_test_mode(_v=True) -> bool - - -ida_ida.inf_set_trace_flow(): - - inf_set_trace_flow(_v=True) -> bool - - -ida_ida.inf_set_truncate_on_del(): - - inf_set_truncate_on_del(_v=True) -> bool - - -ida_ida.inf_set_type_xrefnum(): - - inf_set_type_xrefnum(_v) -> bool - - -ida_ida.inf_set_unicode_strlits(): - - inf_set_unicode_strlits(_v=True) -> bool - - -ida_ida.inf_set_use_allasm(): - - inf_set_use_allasm(_v=True) -> bool - - -ida_ida.inf_set_use_flirt(): - - inf_set_use_flirt(_v=True) -> bool - - -ida_ida.inf_set_use_gcc_layout(): - - inf_set_use_gcc_layout(_v=True) -> bool - - -ida_ida.inf_set_version(): - - inf_set_version(_v) -> bool - - -ida_ida.inf_set_wide_high_byte_first(): - - inf_set_wide_high_byte_first(_v=True) -> bool - - -ida_ida.inf_set_xrefflag(): - - inf_set_xrefflag(_v) -> bool - - -ida_ida.inf_set_xrefnum(): - - inf_set_xrefnum(_v) -> bool - - -ida_ida.inf_should_create_stkvars(): - - inf_should_create_stkvars() -> bool - - -ida_ida.inf_should_trace_sp(): - - inf_should_trace_sp() -> bool - - -ida_ida.inf_show_all_comments(): - - inf_show_all_comments() -> bool - - -ida_ida.inf_show_auto(): - - inf_show_auto() -> bool - - -ida_ida.inf_show_hidden_funcs(): - - inf_show_hidden_funcs() -> bool - - -ida_ida.inf_show_hidden_insns(): - - inf_show_hidden_insns() -> bool - - -ida_ida.inf_show_hidden_segms(): - - inf_show_hidden_segms() -> bool - - -ida_ida.inf_show_line_pref(): - - inf_show_line_pref() -> bool - - -ida_ida.inf_show_repeatables(): - - inf_show_repeatables() -> bool - - -ida_ida.inf_show_src_linnum(): - - inf_show_src_linnum() -> bool - - -ida_ida.inf_show_void(): - - inf_show_void() -> bool - - -ida_ida.inf_show_xref_fncoff(): - - inf_show_xref_fncoff() -> bool - - -ida_ida.inf_show_xref_seg(): - - inf_show_xref_seg() -> bool - - -ida_ida.inf_show_xref_tmarks(): - - inf_show_xref_tmarks() -> bool - - -ida_ida.inf_show_xref_val(): - - inf_show_xref_val() -> bool - - -ida_ida.inf_stack_ldbl(): - - inf_stack_ldbl() -> bool - - -ida_ida.inf_stack_varargs(): - - inf_stack_varargs() -> bool - - -ida_ida.inf_strlit_autocmt(): - - inf_strlit_autocmt() -> bool - - -ida_ida.inf_strlit_name_bit(): - - inf_strlit_name_bit() -> bool - - -ida_ida.inf_strlit_names(): - - inf_strlit_names() -> bool - - -ida_ida.inf_strlit_savecase(): - - inf_strlit_savecase() -> bool - - -ida_ida.inf_strlit_serial_names(): - - inf_strlit_serial_names() -> bool - - -ida_ida.inf_test_mode(): - - inf_test_mode() -> bool - - -ida_ida.inf_trace_flow(): - - inf_trace_flow() -> bool - - -ida_ida.inf_truncate_on_del(): - - inf_truncate_on_del() -> bool - - -ida_ida.inf_unicode_strlits(): - - inf_unicode_strlits() -> bool - - -ida_ida.inf_use_allasm(): - - inf_use_allasm() -> bool - - -ida_ida.inf_use_flirt(): - - inf_use_flirt() -> bool - - -ida_ida.inf_use_gcc_layout(): - - inf_use_gcc_layout() -> bool - - -ida_ida.is_filetype_like_binary(): - - is_filetype_like_binary(ft) -> bool - - - Is unstructured input file? - - - @param ft (C++: filetype_t) - - -ida_ida.macros_enabled(): - - inf_macros_enabled() -> bool - - -ida_ida.should_create_stkvars(): - - inf_should_create_stkvars() -> bool - - -ida_ida.should_trace_sp(): - - inf_should_trace_sp() -> bool - - -ida_ida.show_all_comments(): - - inf_show_all_comments() -> bool - - -ida_ida.show_repeatables(): - - inf_show_repeatables() -> bool - - -ida_ida.to_ea(): - - to_ea(reg_cs, reg_ip) -> ea_t - - - Convert (seg,off) value to a linear address. - - - @param reg_cs (C++: sel_t) - @param reg_ip (C++: ea_t) - - - -=== ida_ida EPYDOC INJECTIONS === -ida_ida.ABI_8ALIGN4 -""" -4 byte alignment for 8byte scalars (__int64/double) inside structures? -""" - -ida_ida.ABI_BIGARG_ALIGN -""" -(e.g. __int64 argument should be 8byte aligned on some 32bit -platforms) - -use natural type alignment for argument if the alignment exceeds -native word size -""" - -ida_ida.ABI_GCC_LAYOUT -""" -use gcc layout for udts (used for mingw) -""" - -ida_ida.ABI_HARD_FLOAT -""" -use the floating-point register set -""" - -ida_ida.ABI_MAP_STKARGS -""" -register arguments are mapped to stack area (and consume stack slots) -""" - -ida_ida.ABI_PACK_STKARGS -""" -do not align stack arguments to stack slots -""" - -ida_ida.ABI_SET_BY_USER -""" -compiler/abi were set by user flag and require SETCOMP_BY_USER flag to -be changed -""" - -ida_ida.ABI_STACK_LDBL -""" -long double arguments are passed on stack -""" - -ida_ida.ABI_STACK_VARARGS -""" -varargs are always passed on stack (even when there are free -registers) -""" - -ida_ida.AF2_DOEH -""" -Handle EH information. -""" - -ida_ida.AF2_DORTTI -""" -Handle RTTI information. -""" - -ida_ida.AF2_MACRO -""" -Try to combine several instructions into a macro instruction -""" - -ida_ida.AF_ANORET -""" -Perform 'no-return' analysis. -""" - -ida_ida.AF_CHKUNI -""" -Check for unicode strings. -""" - -ida_ida.AF_CODE -""" -Trace execution flow. -""" - -ida_ida.AF_DATOFF -""" -Automatically convert data to offsets. -""" - -ida_ida.AF_DOCODE -""" -Coagulate code segs at the final pass. -""" - -ida_ida.AF_DODATA -""" -Coagulate data segs at the final pass. -""" - -ida_ida.AF_DREFOFF -""" -Create offset if data xref to seg32 exists. -""" - -ida_ida.AF_FINAL -""" -Final pass of analysis. -""" - -ida_ida.AF_FIXUP -""" -Create offsets and segments using fixup info. -""" - -ida_ida.AF_FLIRT -""" -Use flirt signatures. -""" - -ida_ida.AF_FTAIL -""" -Create function tails. -""" - -ida_ida.AF_HFLIRT -""" -Automatically hide library functions. -""" - -ida_ida.AF_IMMOFF -""" -Convert 32bit instruction operand to offset. -""" - -ida_ida.AF_JFUNC -""" -Rename jump functions as j_... -""" - -ida_ida.AF_JUMPTBL -""" -Locate and create jump tables. -""" - -ida_ida.AF_LVAR -""" -Create stack variables. -""" - -ida_ida.AF_MARKCODE -""" -Mark typical code sequences as code. -""" - -ida_ida.AF_MEMFUNC -""" -Try to guess member function types. -""" - -ida_ida.AF_NULLSUB -""" -Rename empty functions as nullsub_... -""" - -ida_ida.AF_PROC -""" -Create functions if call is present. -""" - -ida_ida.AF_PROCPTR -""" -Create function if data xref data->code32 exists. -""" - -ida_ida.AF_PURDAT -""" -Control flow to data segment is ignored. -""" - -ida_ida.AF_REGARG -""" -Propagate register argument information. -""" - -ida_ida.AF_SIGCMT -""" -Append a signature name comment for recognized anonymous library -functions. -""" - -ida_ida.AF_SIGMLT -""" -Allow recognition of several copies of the same function. -""" - -ida_ida.AF_STKARG -""" -Propagate stack argument information. -""" - -ida_ida.AF_STRLIT -""" -Create string literal if data xref exists. -""" - -ida_ida.AF_TRACE -""" -Trace stack pointer. -""" - -ida_ida.AF_TRFUNC -""" -Truncate functions upon code deletion. -""" - -ida_ida.AF_UNK -""" -Delete instructions with no xrefs. -""" - -ida_ida.AF_USED -""" -Analyze and create all xrefs. -""" - -ida_ida.AF_VERSP -""" -Perform full SP-analysis. (\\ph{verify_sp}) -""" - -ida_ida.DEMNAM_CMNT -""" -display demangled names as comments -""" - -ida_ida.DEMNAM_FIRST -""" -override type info -""" - -ida_ida.DEMNAM_GCC3 -""" -assume gcc3 names (valid for gnu compiler) -""" - -ida_ida.DEMNAM_MASK -""" -mask for name form -""" - -ida_ida.DEMNAM_NAME -""" -display demangled names as regular names -""" - -ida_ida.DEMNAM_NONE -""" -don't display demangled names -""" - -ida_ida.IDAINFO_TAG_SIZE -""" -The database parameters. This structure is kept in the ida database. -It contains the essential parameters for the current program -""" - -ida_ida.IDB_COMPRESSED -""" -compress & pack database components -""" - -ida_ida.IDB_PACKED -""" -pack database components into .idb -""" - -ida_ida.IDB_UNPACKED -""" -leave database components unpacked -""" - -ida_ida.INFFL_ALLASM -""" -the target assembler - -may use constructs not supported by -""" - -ida_ida.INFFL_AUTO -""" -Autoanalysis is enabled? -""" - -ida_ida.INFFL_CHKOPS -""" -check manual operands? (unused) -""" - -ida_ida.INFFL_GRAPH_VIEW -""" -currently using graph options (\\dto{graph}) -""" - -ida_ida.INFFL_LOADIDC -""" -loading an idc file that contains database info -""" - -ida_ida.INFFL_NMOPS -""" -allow non-matched operands? (unused) -""" - -ida_ida.INFFL_NOUSER -""" -do not store user info in the database -""" - -ida_ida.INFFL_READONLY -""" -(internal) temporary interdiction to modify the database -""" - -ida_ida.LFLG_64BIT -""" -64-bit program? -""" - -ida_ida.LFLG_COMPRESS -""" -compress the database? -""" - -ida_ida.LFLG_DBG_NOPATH -""" -do not store input full path in debugger process options -""" - -ida_ida.LFLG_FLAT_OFF32 -""" -treat 'REF_OFF32' as 32-bit offset for 16bit segments (otherwise try -SEG16:OFF16) -""" - -ida_ida.LFLG_IS_DLL -""" -Is dynamic library? -""" - -ida_ida.LFLG_KERNMODE -""" -is kernel mode binary? -""" - -ida_ida.LFLG_MSF -""" -Byte order: is MSB first? -""" - -ida_ida.LFLG_PACK -""" -pack the database? -""" - -ida_ida.LFLG_PC_FLAT -""" -32-bit program? -""" - -ida_ida.LFLG_PC_FPP -""" -decode floating point processor instructions? -""" - -ida_ida.LFLG_SNAPSHOT -""" -memory snapshot was taken? -""" - -ida_ida.LFLG_WIDE_HBF -""" -(wide bytes: \\ph{dnbits} > 8) - -Bit order of wide bytes: high byte first? -""" - -ida_ida.LMT_EMPTY -""" -empty lines at the end of basic blocks -""" - -ida_ida.LMT_THICK -""" -thick borders -""" - -ida_ida.LMT_THIN -""" -thin borders -""" - -ida_ida.LN_AUTO -""" -include autogenerated names -""" - -ida_ida.LN_NORMAL -""" -include normal names -""" - -ida_ida.LN_PUBLIC -""" -include public names -""" - -ida_ida.LN_WEAK -""" -include weak names -""" - -ida_ida.OFLG_GEN_ASSUME -""" -Generate 'assume' directives? -""" - -ida_ida.OFLG_GEN_NULL -""" -Generate empty lines? -""" - -ida_ida.OFLG_GEN_ORG -""" -Generate 'org' directives? -""" - -ida_ida.OFLG_GEN_TRYBLKS -""" -Generate try/catch directives? -""" - -ida_ida.OFLG_LZERO -""" -generate leading zeroes in numbers -""" - -ida_ida.OFLG_PREF_SEG -""" -line prefixes with segment name? -""" - -ida_ida.OFLG_SHOW_AUTO -""" -Display autoanalysis indicator? -""" - -ida_ida.OFLG_SHOW_PREF -""" -Show line prefixes? -""" - -ida_ida.OFLG_SHOW_VOID -""" -Display void marks? -""" - -ida_ida.PREF_FNCOFF -""" -show function offsets? -""" - -ida_ida.PREF_SEGADR -""" -show segment addresses? -""" - -ida_ida.PREF_STACK -""" -show stack pointer? -""" - -ida_ida.SCF_ALLCMT -""" -comment all lines? -""" - -ida_ida.SCF_LINNUM -""" -show source line numbers -""" - -ida_ida.SCF_NOCMT -""" -no comments at all -""" - -ida_ida.SCF_RPTCMT -""" -show repeatable comments? -""" - -ida_ida.SCF_SHHID_FUNC -""" -show hidden functions -""" - -ida_ida.SCF_SHHID_ITEM -""" -show hidden instructions -""" - -ida_ida.SCF_SHHID_SEGM -""" -show hidden segments -""" - -ida_ida.SCF_TESTMODE -""" -testida.idc is running -""" - -ida_ida.STRF_AUTO -""" -names have 'autogenerated' bit? -""" - -ida_ida.STRF_COMMENT -""" -generate auto comment for string references? -""" - -ida_ida.STRF_GEN -""" -generate names? -""" - -ida_ida.STRF_SAVECASE -""" -preserve case of strings for identifiers -""" - -ida_ida.STRF_SERIAL -""" -generate serial names? -""" - -ida_ida.STRF_UNICODE -""" -unicode strings are present? -""" - -ida_ida.SW_SEGXRF -""" -show segments in xrefs? -""" - -ida_ida.SW_XRFFNC -""" -show function offsets? -""" - -ida_ida.SW_XRFMRK -""" -show xref type marks? -""" - -ida_ida.SW_XRFVAL -""" -show xref values? (otherwise-"...") -""" - -ida_ida.UA_MAXOP -""" -max number of operands allowed for an instruction -""" -=== ida_ida EPYDOC INJECTIONS END === -ida_idaapi.CustomIDAMemo.CreateGroups(): - - 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). - - -ida_idaapi.CustomIDAMemo.DelNodesInfos(): - - Delete the properties for the given node(s). - - @param nodes: A list of node IDs - - -ida_idaapi.CustomIDAMemo.DeleteGroups(): - - 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. - - -ida_idaapi.CustomIDAMemo.GetNodeInfo(): - - Get the properties for the given node. - - @param node: The index of the node. - @return: A tuple (bg_color, frame_color, ea, text), or None. - - -ida_idaapi.CustomIDAMemo.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_idaapi.CustomIDAMemo.Refresh(): - - Refreshes the view. This causes the OnRefresh() to be called - - -ida_idaapi.CustomIDAMemo.SetCurrentRendererType(): - - Set the current view's renderer. - - @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. - - -ida_idaapi.CustomIDAMemo.SetGroupsVisibility(): - - 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. - - -ida_idaapi.CustomIDAMemo.SetNodeInfo(): - - 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. - - -ida_idaapi.CustomIDAMemo.SetNodesInfos(): - - 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. - - -ida_idaapi.CustomIDAMemo.hook(): - - hook(self) -> bool - - -ida_idaapi.CustomIDAMemo.unhook(): - - unhook(self) -> bool - - -ida_idaapi.CustomIDAMemo.view_created(): - - view_created(self, view) - - -ida_idaapi.IDAPython_Completion(): - - Internal utility class for auto-completion support - - -ida_idaapi.IDAPython_ExecScript(): - - Run the specified script. - It also addresses http://code.google.com/p/idapython/issues/detail?id=42 - - This function is used by the low-level plugin code. - - -ida_idaapi.IDAPython_ExecSystem(): - - Executes a command with popen(). - - -ida_idaapi.IDAPython_FormatExc(): - - This function is used to format an exception given the - values returned by a PyErr_Fetch() - - -ida_idaapi.IDAPython_LoadProcMod(): - - Load processor module. - - -ida_idaapi.IDAPython_UnLoadProcMod(): - - Unload processor module. - - -class ida_idaapi.PyIdc_cvt_int64__(): - - Helper class for explicitly representing VT_INT64 values - - -class ida_idaapi.PyIdc_cvt_refclass__(): - - Helper class for representing references to immutable objects - - -ida_idaapi.PyIdc_cvt_refclass__.cstr(): - - Returns the string as a C string (up to the zero termination) - - -ida_idaapi.as_cstr(): - - 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 and returns the string value up to that point. - - -ida_idaapi.as_int32(): - - Returns a number as a signed int32 number - - -ida_idaapi.as_signed(): - - Returns a number as signed. The number of bits are specified by the user. - The MSB holds the sign. - - -ida_idaapi.as_uint32(): - - Returns a number as an unsigned int32 number - - -ida_idaapi.as_unicode(): - - Convenience function to convert a string into appropriate unicode format - - -ida_idaapi.copy_bits(): - - Copy bits from a value - @param v: the value - @param s: starting bit (0-based) - @param e: ending bit - - -ida_idaapi.disable_script_timeout(): - - 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 - - -ida_idaapi.enable_extlang_python(): - - 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 - - -ida_idaapi.enable_python_cli(): - - enable_python_cli(enable) - - -ida_idaapi.format_basestring(): - - format_basestring(_in) -> PyObject * - - -ida_idaapi.get_inf_structure(): - - get_inf_structure() -> idainfo - - - Returns the global variable 'inf' (an instance of idainfo structure, see ida.hpp) - - -class ida_idaapi.loader_input_t(): - - Proxy of C++ loader_input_t class - - - A helper class to work with linput_t related functions. - This class is also used by file loaders scripts. - - -ida_idaapi.loader_input_t.close(): - - close(self) - - -ida_idaapi.loader_input_t.file2base(): - - 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 li: pointer ot input source - @param pos: position in the file - @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 - - -ida_idaapi.loader_input_t.filename(): - - filename(self) -> PyObject * - - -ida_idaapi.loader_input_t.from_cobject(): - - from_cobject(pycobject) -> loader_input_t - - -ida_idaapi.loader_input_t.from_fp(): - - from_fp(fp) -> loader_input_t - - - A static method to construct an instance from a FILE* - - -ida_idaapi.loader_input_t.from_linput(): - - from_linput(linput) -> loader_input_t - - -ida_idaapi.loader_input_t.get_char(): - - get_char(self) -> PyObject * - - - Reads a single character from the file. Returns None if EOF or the read character - - -ida_idaapi.loader_input_t.get_linput(): - - get_linput(self) -> linput_t * - - -ida_idaapi.loader_input_t.gets(): - - gets(self, len) -> PyObject * - - - Reads a line from the input file. Returns the read line or None - - -ida_idaapi.loader_input_t.getz(): - - 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. - - -ida_idaapi.loader_input_t.open(): - - open(self, filename, remote=False) -> bool - - - Opens a file (or a remote file) - @return: Boolean - - -ida_idaapi.loader_input_t.open_memory(): - - 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 - - -ida_idaapi.loader_input_t.opened(): - - opened(self) -> bool - - - Checks if the file is opened or not - - -ida_idaapi.loader_input_t.read(): - - read(self, size) -> PyObject * - - - Reads from the file. Returns the buffer or None - - -ida_idaapi.loader_input_t.readbytes(): - - readbytes(self, size, big_endian) -> PyObject * - - - Similar to read() but it respect the endianness - - -ida_idaapi.loader_input_t.seek(): - - seek(self, pos, whence=SEEK_SET) -> int64 - - - Set input source position - @return: the new position (not 0 as fseek!) - - -ida_idaapi.loader_input_t.set_linput(): - - set_linput(self, linput) - - - Links the current loader_input_t instance to a linput_t instance - - -ida_idaapi.loader_input_t.size(): - - size(self) -> int64 - - -ida_idaapi.loader_input_t.tell(): - - tell(self) -> int64 - - - Returns the current position - - -ida_idaapi.loader_input_t_from_cobject(): - - loader_input_t_from_cobject(pycobject) -> loader_input_t - - -ida_idaapi.loader_input_t_from_fp(): - - loader_input_t_from_fp(fp) -> loader_input_t - - -ida_idaapi.loader_input_t_from_linput(): - - loader_input_t_from_linput(linput) -> loader_input_t - - -ida_idaapi.notify_when(): - - 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 - - -class ida_idaapi.object_t(): - - Helper class used to initialize empty objects - - -ida_idaapi.parse_command_line3(): - - parse_command_line3(cmdline) -> PyObject * - - -class ida_idaapi.plugin_t(): - - Base class for all scripted plugins. - - -class ida_idaapi.py_clinked_object_t(): - - This is a utility and base class for C linked objects - - -ida_idaapi.py_clinked_object_t._free(): - - Explicitly delete the link (only if not static) - - -ida_idaapi.py_clinked_object_t.assign(): - - Overwrite me. - This method allows you to assign an instance contents to anothers - @return: Boolean - - -ida_idaapi.py_clinked_object_t.copy(): - - Returns a new copy of this class - - -ida_idaapi.pycim_get_tcustom_control(): - - pycim_get_widget(self) -> TWidget * - - -ida_idaapi.pycim_get_tform(): - - pycim_get_widget(self) -> TWidget * - - -ida_idaapi.pycim_get_widget(): - - pycim_get_widget(self) -> TWidget * - - -ida_idaapi.pycim_view_close(): - - pycim_view_close(self) - - -ida_idaapi.pygc_create_groups(): - - pygc_create_groups(self, groups_infos) -> PyObject * - - -ida_idaapi.pygc_del_nodes_infos(): - - pygc_del_nodes_infos(self, py_nodes) - - -ida_idaapi.pygc_delete_groups(): - - pygc_delete_groups(self, groups, new_current) -> PyObject * - - -ida_idaapi.pygc_get_current_renderer_type(): - - pygc_get_current_renderer_type(self) -> PyObject * - - -ida_idaapi.pygc_get_node_info(): - - pygc_get_node_info(self, py_node_idx) -> PyObject * - - -ida_idaapi.pygc_refresh(): - - pygc_refresh(self) - - -ida_idaapi.pygc_set_current_renderer_type(): - - pygc_set_current_renderer_type(self, py_rt) - - -ida_idaapi.pygc_set_groups_visibility(): - - pygc_set_groups_visibility(self, groups, expand, new_current) -> PyObject * - - -ida_idaapi.pygc_set_node_info(): - - pygc_set_node_info(self, py_node_idx, py_node_info, py_flags) - - -ida_idaapi.pygc_set_nodes_infos(): - - pygc_set_nodes_infos(self, values) - - -class ida_idaapi.pyidc_cvt_helper__(): - - 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 - - -class ida_idaapi.pyidc_opaque_object_t(): - - This is the base class for all Python<->IDC opaque objects - - -ida_idaapi.require(): - - 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: . - - -ida_idaapi.set_script_timeout(): - - 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 - - -ida_idaapi.struct_unpack(): - - 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. - - -ida_idc.get_mark_comment(): - - get_mark_comment(slot) -> PyObject * - - -ida_idc.get_marked_pos(): - - get_marked_pos(slot) -> ea_t - - -ida_idc.mark_position(): - - mark_position(ea, lnnum, x, y, slot, comment) - - -ida_idd.Appcall__.array(): - - Defines an array type. Later you need to pack() / unpack() - - -ida_idd.Appcall__.buffer(): - - 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 - - -ida_idd.Appcall__.byref(): - - 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) - - -ida_idd.Appcall__.cleanup_appcall(): - - Equivalent to IDC's CleanupAppcall() - - -ida_idd.Appcall__.get_appcall_options(): - - Return the global Appcall options - - -ida_idd.Appcall__.int64(): - - Whenever a 64bit number is needed use this method to construct an object - - -ida_idd.Appcall__.obj(): - - Returns an empty object or objects with attributes as passed via its keywords arguments - - -ida_idd.Appcall__.proto(): - - 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 - - -ida_idd.Appcall__.set_appcall_options(): - - Method to change the Appcall options globally (not per Appcall) - - -ida_idd.Appcall__.typedobj(): - - 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 - - -ida_idd.Appcall__.valueof(): - - Returns the numeric value of a given name string. - If the name could not be resolved then the default value will be returned - - -class ida_idd.Appcall_array__(): - - This class is used with Appcall.array() method - - -ida_idd.Appcall_array__.pack(): - - Packs a list or tuple into a byref buffer - - -ida_idd.Appcall_array__.try_to_convert_to_list(): - - Is this object a list? We check for the existance of attribute zero and attribute self.size-1 - - -ida_idd.Appcall_array__.unpack(): - - Unpacks an array back into a list or an object - - -class ida_idd.Appcall_callable__(): - - 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) - - -ida_idd.Appcall_callable__.retrieve(): - - 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). - - -ida_idd.Appcall_callable__.store(): - - 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) - - -class ida_idd.Appcall_consts__(): - - Helper class used by Appcall.Consts attribute - It is used to retrieve constants via attribute access - - -ida_idd.appcall(): - - appcall(func_ea, tid, py_type, py_fields, arg_list) -> PyObject * - - -class ida_idd.bptaddr_t(): - - Proxy of C++ bptaddr_t class - - -ida_idd.bptaddr_t.hea: - bptaddr_t_hea_get(self) -> ea_t - -ida_idd.bptaddr_t.kea: - bptaddr_t_kea_get(self) -> ea_t - -class ida_idd.call_stack_info_t(): - - Proxy of C++ call_stack_info_t class - - -ida_idd.call_stack_info_t.callea: - call_stack_info_t_callea_get(self) -> ea_t - -ida_idd.call_stack_info_t.fp: - call_stack_info_t_fp_get(self) -> ea_t - -ida_idd.call_stack_info_t.funcea: - call_stack_info_t_funcea_get(self) -> ea_t - -ida_idd.call_stack_info_t.funcok: - call_stack_info_t_funcok_get(self) -> bool - -class ida_idd.call_stack_t(): - - Proxy of C++ qvector<(call_stack_info_t)> class - - -ida_idd.call_stack_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_idd.call_stack_t.at(): - - at(self, _idx) -> call_stack_info_t - - -ida_idd.call_stack_t.begin(): - - begin(self) -> call_stack_info_t - begin(self) -> call_stack_info_t - - -ida_idd.call_stack_t.capacity(): - - capacity(self) -> size_t - - -ida_idd.call_stack_t.clear(): - - clear(self) - - -ida_idd.call_stack_t.empty(): - - empty(self) -> bool - - -ida_idd.call_stack_t.end(): - - end(self) -> call_stack_info_t - end(self) -> call_stack_info_t - - -ida_idd.call_stack_t.erase(): - - erase(self, it) -> call_stack_info_t - erase(self, first, last) -> call_stack_info_t - - -ida_idd.call_stack_t.extract(): - - extract(self) -> call_stack_info_t - - -ida_idd.call_stack_t.find(): - - find(self, x) -> call_stack_info_t - find(self, x) -> call_stack_info_t - - -ida_idd.call_stack_t.grow(): - - grow(self, x=call_stack_info_t()) - - -ida_idd.call_stack_t.has(): - - has(self, x) -> bool - - -ida_idd.call_stack_t.inject(): - - inject(self, s, len) - - -ida_idd.call_stack_t.insert(): - - insert(self, it, x) -> call_stack_info_t - - -ida_idd.call_stack_t.pop_back(): - - pop_back(self) - - -ida_idd.call_stack_t.push_back(): - - push_back(self, x) - push_back(self) -> call_stack_info_t - - -ida_idd.call_stack_t.qclear(): - - qclear(self) - - -ida_idd.call_stack_t.reserve(): - - reserve(self, cnt) - - -ida_idd.call_stack_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_idd.call_stack_t.size(): - - size(self) -> size_t - - -ida_idd.call_stack_t.swap(): - - swap(self, r) - - -ida_idd.call_stack_t.truncate(): - - truncate(self) - - -ida_idd.can_exc_continue(): - - can_exc_continue(ev) -> bool - - -ida_idd.cleanup_appcall(): - - cleanup_appcall(tid) -> error_t - - - Cleanup after manual appcall. - - @param tid: 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. (C++: - thid_t) - @return: eOk if successful, otherwise an error code - - -ida_idd.dbg_appcall(): - - dbg_appcall(retval, func_ea, tid, ptif, argv, argnum) -> error_t - - - Call a function from the debugged application. - - @param retval (C++: idc_value_t *) - @param func_ea: address to call (C++: ea_t) - @param tid: thread to use. NO_THREAD means to use the current thread - (C++: thid_t) - @param ptif: pointer to type of the function to call (C++: const - tinfo_t *) - @param argv: array of arguments (C++: idc_value_t *) - @param argnum: number of actual arguments (C++: size_t) - @return: eOk if successful, otherwise an error code - - -ida_idd.dbg_can_query(): - dbg_can_query() -> bool - -ida_idd.dbg_get_memory_info(): - - 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) - - -ida_idd.dbg_get_name(): - - dbg_get_name() -> PyObject * - - - This function returns the current debugger's name. - @return: Debugger name or None if no debugger is active - - -ida_idd.dbg_get_registers(): - - 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) - - -ida_idd.dbg_get_thread_sreg_base(): - - dbg_get_thread_sreg_base(py_tid, py_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 - - -ida_idd.dbg_read_memory(): - - dbg_read_memory(py_ea, py_sz) -> PyObject * - - - Reads from the debugee's memory at the specified ea - @return: - - The read buffer (as a string) - - Or None on failure - - -ida_idd.dbg_write_memory(): - - dbg_write_memory(py_ea, py_buf) -> PyObject * - - - Writes a buffer to the debugee's memory - @return: Boolean - - -class ida_idd.debapp_attrs_t(): - - Proxy of C++ debapp_attrs_t class - - -ida_idd.debapp_attrs_t.addrsize: - debapp_attrs_t_addrsize_get(self) -> int - -ida_idd.debapp_attrs_t.cbsize: - debapp_attrs_t_cbsize_get(self) -> int32 - -ida_idd.debapp_attrs_t.is_be: - debapp_attrs_t_is_be_get(self) -> int - -ida_idd.debapp_attrs_t.platform: - debapp_attrs_t_platform_get(self) -> qstring * - -class ida_idd.debug_event_t(): - - Proxy of C++ debug_event_t class - - -ida_idd.debug_event_t.bpt(): - - bpt(self) -> bptaddr_t - bpt(self) -> bptaddr_t - - -ida_idd.debug_event_t.bpt_ea(): - - bpt_ea(self) -> ea_t - - -ida_idd.debug_event_t.clear(): - - clear(self) - - -ida_idd.debug_event_t.clear_all(): - - clear_all(self) - - -ida_idd.debug_event_t.copy(): - - copy(self, r) -> debug_event_t - - -ida_idd.debug_event_t.ea: - debug_event_t_ea_get(self) -> ea_t - -ida_idd.debug_event_t.eid(): - - eid(self) -> event_id_t - - -ida_idd.debug_event_t.exc(): - - exc(self) -> excinfo_t - exc(self) -> excinfo_t - - -ida_idd.debug_event_t.exit_code(): - - exit_code(self) -> int const & - - -ida_idd.debug_event_t.handled: - debug_event_t_handled_get(self) -> bool - -ida_idd.debug_event_t.info(): - - info(self) -> qstring - info(self) -> qstring const & - - -ida_idd.debug_event_t.modinfo(): - - modinfo(self) -> modinfo_t - modinfo(self) -> modinfo_t - - -ida_idd.debug_event_t.pid: - debug_event_t_pid_get(self) -> pid_t - -ida_idd.debug_event_t.set_bpt(): - - set_bpt(self) -> bptaddr_t - - -ida_idd.debug_event_t.set_eid(): - - set_eid(self, id) - - -ida_idd.debug_event_t.set_exception(): - - set_exception(self) -> excinfo_t - - -ida_idd.debug_event_t.set_exit_code(): - - set_exit_code(self, id, code) - - -ida_idd.debug_event_t.set_info(): - - set_info(self, id) -> qstring & - - -ida_idd.debug_event_t.set_modinfo(): - - set_modinfo(self, id) -> modinfo_t - - -ida_idd.debug_event_t.tid: - debug_event_t_tid_get(self) -> thid_t - -class ida_idd.exception_info_t(): - - Proxy of C++ exception_info_t class - - -ida_idd.exception_info_t.break_on(): - - break_on(self) -> bool - - -ida_idd.exception_info_t.code: - exception_info_t_code_get(self) -> uint - -ida_idd.exception_info_t.desc: - exception_info_t_desc_get(self) -> qstring * - -ida_idd.exception_info_t.flags: - exception_info_t_flags_get(self) -> uint32 - -ida_idd.exception_info_t.handle(): - - handle(self) -> bool - - -ida_idd.exception_info_t.name: - exception_info_t_name_get(self) -> qstring * - -class ida_idd.excinfo_t(): - - Proxy of C++ excinfo_t class - - -ida_idd.excinfo_t.can_cont: - excinfo_t_can_cont_get(self) -> bool - -ida_idd.excinfo_t.code: - excinfo_t_code_get(self) -> uint32 - -ida_idd.excinfo_t.ea: - excinfo_t_ea_get(self) -> ea_t - -ida_idd.excinfo_t.info: - excinfo_t_info_get(self) -> qstring * - -class ida_idd.excvec_t(): - - Proxy of C++ qvector<(exception_info_t)> class - - -ida_idd.excvec_t.at(): - - at(self, _idx) -> exception_info_t - - -ida_idd.excvec_t.begin(): - - begin(self) -> exception_info_t - begin(self) -> exception_info_t - - -ida_idd.excvec_t.capacity(): - - capacity(self) -> size_t - - -ida_idd.excvec_t.clear(): - - clear(self) - - -ida_idd.excvec_t.empty(): - - empty(self) -> bool - - -ida_idd.excvec_t.end(): - - end(self) -> exception_info_t - end(self) -> exception_info_t - - -ida_idd.excvec_t.erase(): - - erase(self, it) -> exception_info_t - erase(self, first, last) -> exception_info_t - - -ida_idd.excvec_t.extract(): - - extract(self) -> exception_info_t - - -ida_idd.excvec_t.grow(): - - grow(self, x=exception_info_t()) - - -ida_idd.excvec_t.inject(): - - inject(self, s, len) - - -ida_idd.excvec_t.insert(): - - insert(self, it, x) -> exception_info_t - - -ida_idd.excvec_t.pop_back(): - - pop_back(self) - - -ida_idd.excvec_t.push_back(): - - push_back(self, x) - push_back(self) -> exception_info_t - - -ida_idd.excvec_t.qclear(): - - qclear(self) - - -ida_idd.excvec_t.reserve(): - - reserve(self, cnt) - - -ida_idd.excvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_idd.excvec_t.size(): - - size(self) -> size_t - - -ida_idd.excvec_t.swap(): - - swap(self, r) - - -ida_idd.excvec_t.truncate(): - - truncate(self) - - -ida_idd.get_event_bpt_hea(): - - get_event_bpt_hea(ev) -> ea_t - - -ida_idd.get_event_exc_code(): - - get_event_exc_code(ev) -> uint - - -ida_idd.get_event_exc_ea(): - - get_event_exc_ea(ev) -> ea_t - - -ida_idd.get_event_exc_info(): - - get_event_exc_info(ev) -> char - - -ida_idd.get_event_info(): - - get_event_info(ev) -> char - - -ida_idd.get_event_module_base(): - - get_event_module_base(ev) -> ea_t - - -ida_idd.get_event_module_name(): - - get_event_module_name(ev) -> char - - -ida_idd.get_event_module_size(): - - get_event_module_size(ev) -> asize_t - - -class ida_idd.meminfo_vec_t(): - - Proxy of C++ qvector<(memory_info_t)> class - - -ida_idd.meminfo_vec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_idd.meminfo_vec_t.at(): - - at(self, _idx) -> memory_info_t - - -ida_idd.meminfo_vec_t.begin(): - - begin(self) -> memory_info_t - begin(self) -> memory_info_t - - -ida_idd.meminfo_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_idd.meminfo_vec_t.clear(): - - clear(self) - - -ida_idd.meminfo_vec_t.empty(): - - empty(self) -> bool - - -ida_idd.meminfo_vec_t.end(): - - end(self) -> memory_info_t - end(self) -> memory_info_t - - -ida_idd.meminfo_vec_t.erase(): - - erase(self, it) -> memory_info_t - erase(self, first, last) -> memory_info_t - - -ida_idd.meminfo_vec_t.extract(): - - extract(self) -> memory_info_t - - -ida_idd.meminfo_vec_t.find(): - - find(self, x) -> memory_info_t - find(self, x) -> memory_info_t - - -ida_idd.meminfo_vec_t.grow(): - - grow(self, x=memory_info_t()) - - -ida_idd.meminfo_vec_t.has(): - - has(self, x) -> bool - - -ida_idd.meminfo_vec_t.inject(): - - inject(self, s, len) - - -ida_idd.meminfo_vec_t.insert(): - - insert(self, it, x) -> memory_info_t - - -ida_idd.meminfo_vec_t.pop_back(): - - pop_back(self) - - -ida_idd.meminfo_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> memory_info_t - - -ida_idd.meminfo_vec_t.qclear(): - - qclear(self) - - -ida_idd.meminfo_vec_t.reserve(): - - reserve(self, cnt) - - -ida_idd.meminfo_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_idd.meminfo_vec_t.size(): - - size(self) -> size_t - - -ida_idd.meminfo_vec_t.swap(): - - swap(self, r) - - -ida_idd.meminfo_vec_t.truncate(): - - truncate(self) - - -class ida_idd.memory_info_t(): - - Proxy of C++ memory_info_t class - - -ida_idd.memory_info_t._print(): - - _print(self) -> size_t - - -ida_idd.memory_info_t.bitness: - memory_info_t_bitness_get(self) -> uchar - -ida_idd.memory_info_t.clear(): - - clear(self) - - -ida_idd.memory_info_t.compare(): - - compare(self, r) -> int - - -ida_idd.memory_info_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_idd.memory_info_t.empty(): - - empty(self) -> bool - - -ida_idd.memory_info_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_idd.memory_info_t.extend(): - - extend(self, ea) - - -ida_idd.memory_info_t.intersect(): - - intersect(self, r) - - -ida_idd.memory_info_t.name: - memory_info_t_name_get(self) -> qstring * - -ida_idd.memory_info_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_idd.memory_info_t.perm: - memory_info_t_perm_get(self) -> uchar - -ida_idd.memory_info_t.sbase: - memory_info_t_sbase_get(self) -> ea_t - -ida_idd.memory_info_t.sclass: - memory_info_t_sclass_get(self) -> qstring * - -ida_idd.memory_info_t.size(): - - size(self) -> asize_t - - -ida_idd.memory_info_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -class ida_idd.modinfo_t(): - - Proxy of C++ modinfo_t class - - -ida_idd.modinfo_t.base: - modinfo_t_base_get(self) -> ea_t - -ida_idd.modinfo_t.name: - modinfo_t_name_get(self) -> qstring * - -ida_idd.modinfo_t.rebase_to: - modinfo_t_rebase_to_get(self) -> ea_t - -ida_idd.modinfo_t.size: - modinfo_t_size_get(self) -> asize_t - -class ida_idd.process_info_t(): - - Proxy of C++ process_info_t class - - -ida_idd.process_info_t.name: - process_info_t_name_get(self) -> qstring * - -ida_idd.process_info_t.pid: - process_info_t_pid_get(self) -> pid_t - -class ida_idd.procinfo_vec_t(): - - Proxy of C++ qvector<(process_info_t)> class - - -ida_idd.procinfo_vec_t.at(): - - at(self, _idx) -> process_info_t - - -ida_idd.procinfo_vec_t.begin(): - - begin(self) -> process_info_t - begin(self) -> process_info_t - - -ida_idd.procinfo_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_idd.procinfo_vec_t.clear(): - - clear(self) - - -ida_idd.procinfo_vec_t.empty(): - - empty(self) -> bool - - -ida_idd.procinfo_vec_t.end(): - - end(self) -> process_info_t - end(self) -> process_info_t - - -ida_idd.procinfo_vec_t.erase(): - - erase(self, it) -> process_info_t - erase(self, first, last) -> process_info_t - - -ida_idd.procinfo_vec_t.extract(): - - extract(self) -> process_info_t - - -ida_idd.procinfo_vec_t.grow(): - - grow(self, x=process_info_t()) - - -ida_idd.procinfo_vec_t.inject(): - - inject(self, s, len) - - -ida_idd.procinfo_vec_t.insert(): - - insert(self, it, x) -> process_info_t - - -ida_idd.procinfo_vec_t.pop_back(): - - pop_back(self) - - -ida_idd.procinfo_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> process_info_t - - -ida_idd.procinfo_vec_t.qclear(): - - qclear(self) - - -ida_idd.procinfo_vec_t.reserve(): - - reserve(self, cnt) - - -ida_idd.procinfo_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_idd.procinfo_vec_t.size(): - - size(self) -> size_t - - -ida_idd.procinfo_vec_t.swap(): - - swap(self, r) - - -ida_idd.procinfo_vec_t.truncate(): - - truncate(self) - - -class ida_idd.register_info_t(): - - Proxy of C++ register_info_t class - - -ida_idd.register_info_t.bit_strings: - register_info_t_bit_strings_get(self) -> char const *const * - -ida_idd.register_info_t.default_bit_strings_mask: - register_info_t_default_bit_strings_mask_get(self) -> uval_t - -ida_idd.register_info_t.dtype: - register_info_t_dtype_get(self) -> op_dtype_t - -ida_idd.register_info_t.flags: - register_info_t_flags_get(self) -> uint32 - -ida_idd.register_info_t.name: - register_info_t_name_get(self) -> char const * - -ida_idd.register_info_t.register_class: - register_info_t_register_class_get(self) -> register_class_t - -class ida_idd.regval_t(): - - Proxy of C++ regval_t class - - -ida_idd.regval_t.bytes(): - - bytes(self) -> bytevec_t - bytes(self) -> bytevec_t const & - - -ida_idd.regval_t.clear(): - - clear(self) - - -ida_idd.regval_t.fval: - regval_t_fval_get(self) -> uint16 [6] - -ida_idd.regval_t.get_data(): - - get_data(self) - get_data(self) -> void const * - - -ida_idd.regval_t.get_data_size(): - - get_data_size(self) -> size_t - - -ida_idd.regval_t.ival: - regval_t_ival_get(self) -> uint64 - -ida_idd.regval_t.rvtype: - regval_t_rvtype_get(self) -> int32 - -ida_idd.regval_t.set_bytes(): - - set_bytes(self, data, size) - set_bytes(self, v) - set_bytes(self) -> bytevec_t & - - -ida_idd.regval_t.set_float(): - - set_float(self, x) - - -ida_idd.regval_t.set_int(): - - set_int(self, x) - - -ida_idd.regval_t.set_unavailable(): - - set_unavailable(self) - - -ida_idd.regval_t.swap(): - - swap(self, r) - - -class ida_idd.scattered_segm_t(): - - Proxy of C++ scattered_segm_t class - - -ida_idd.scattered_segm_t._print(): - - _print(self) -> size_t - - -ida_idd.scattered_segm_t.clear(): - - clear(self) - - -ida_idd.scattered_segm_t.compare(): - - compare(self, r) -> int - - -ida_idd.scattered_segm_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_idd.scattered_segm_t.empty(): - - empty(self) -> bool - - -ida_idd.scattered_segm_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_idd.scattered_segm_t.extend(): - - extend(self, ea) - - -ida_idd.scattered_segm_t.intersect(): - - intersect(self, r) - - -ida_idd.scattered_segm_t.name: - scattered_segm_t_name_get(self) -> qstring * - -ida_idd.scattered_segm_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_idd.scattered_segm_t.size(): - - size(self) -> asize_t - - -ida_idd.scattered_segm_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_idd.set_debug_event_code(): - - set_debug_event_code(ev, id) - - -class ida_idd.thread_name_t(): - - Proxy of C++ thread_name_t class - - -ida_idd.thread_name_t.name: - thread_name_t_name_get(self) -> qstring * - -ida_idd.thread_name_t.tid: - thread_name_t_tid_get(self) -> thid_t - - -=== ida_idd EPYDOC INJECTIONS === -ida_idd.EXC_BREAK -""" -break on the exception -""" - -ida_idd.EXC_HANDLE -""" -should be handled by the debugger? -""" - -ida_idd.EXC_MSG -""" -instead of a warning, log the exception to the output window -""" - -ida_idd.EXC_SILENT -""" -do not warn or log to the output window -""" - -ida_idd.IDD_INTERFACE_VERSION -""" -The IDD interface version number. -""" - -ida_idd.NO_PROCESS -""" -No process. -""" - -ida_idd.NO_THREAD -""" -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. -""" - -ida_idd.REGISTER_ADDRESS -""" -may contain an address -""" - -ida_idd.REGISTER_CS -""" -code segment -""" - -ida_idd.REGISTER_CUSTFMT -""" -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' -""" - -ida_idd.REGISTER_FP -""" -frame pointer -""" - -ida_idd.REGISTER_IP -""" -instruction pointer -""" - -ida_idd.REGISTER_NOLF -""" -allowing the next register to be displayed to its right (on the same -line) - -displays this register without returning to the next line -""" - -ida_idd.REGISTER_READONLY -""" -the user can't modify the current value of this register -""" - -ida_idd.REGISTER_SP -""" -stack pointer -""" - -ida_idd.REGISTER_SS -""" -stack segment -""" - -ida_idd.RVT_FLOAT -""" -floating point -""" - -ida_idd.RVT_INT -""" -integer -""" - -ida_idd.RVT_UNAVAILABLE -""" -other values mean custom data type - -unavailable -""" -=== ida_idd EPYDOC INJECTIONS END === -ida_idp.AssembleLine(): - - AssembleLine(ea, cs, ip, use32, nonnul_line) -> PyObject * - - - 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 line: line to assemble - @return: - - None on failure - - or a string containing the assembled instruction - - -class ida_idp.IDB_Hooks(): - - Proxy of C++ IDB_Hooks class - - -ida_idp.IDB_Hooks.allsegs_moved(): - - allsegs_moved(self, info) - - -ida_idp.IDB_Hooks.auto_empty(): - - auto_empty(self) - - -ida_idp.IDB_Hooks.auto_empty_finally(): - - auto_empty_finally(self) - - -ida_idp.IDB_Hooks.bookmark_changed(): - - bookmark_changed(self, index, pos, desc) - - -ida_idp.IDB_Hooks.byte_patched(): - - byte_patched(self, ea, old_value) - - -ida_idp.IDB_Hooks.callee_addr_changed(): - - callee_addr_changed(self, ea, callee) - - -ida_idp.IDB_Hooks.changing_cmt(): - - changing_cmt(self, ea, repeatable_cmt, newcmt) - - -ida_idp.IDB_Hooks.changing_enum_bf(): - - changing_enum_bf(self, id, new_bf) - - -ida_idp.IDB_Hooks.changing_enum_cmt(): - - changing_enum_cmt(self, id, repeatable, newcmt) - - -ida_idp.IDB_Hooks.changing_op_ti(): - - changing_op_ti(self, ea, n, new_type, new_fnames) - - -ida_idp.IDB_Hooks.changing_op_type(): - - changing_op_type(self, ea, n, opinfo) - - -ida_idp.IDB_Hooks.changing_range_cmt(): - - changing_range_cmt(self, kind, a, cmt, repeatable) - - -ida_idp.IDB_Hooks.changing_segm_class(): - - changing_segm_class(self, s) - - -ida_idp.IDB_Hooks.changing_segm_end(): - - changing_segm_end(self, s, new_end, segmod_flags) - - -ida_idp.IDB_Hooks.changing_segm_name(): - - changing_segm_name(self, s, oldname) - - -ida_idp.IDB_Hooks.changing_segm_start(): - - changing_segm_start(self, s, new_start, segmod_flags) - - -ida_idp.IDB_Hooks.changing_struc_align(): - - changing_struc_align(self, sptr) - - -ida_idp.IDB_Hooks.changing_struc_cmt(): - - changing_struc_cmt(self, struc_id, repeatable, newcmt) - - -ida_idp.IDB_Hooks.changing_struc_member(): - - changing_struc_member(self, sptr, mptr, flag, ti, nbytes) - - -ida_idp.IDB_Hooks.changing_ti(): - - changing_ti(self, ea, new_type, new_fnames) - - -ida_idp.IDB_Hooks.closebase(): - - closebase(self) - - -ida_idp.IDB_Hooks.cmt_changed(): - - cmt_changed(self, ea, repeatable_cmt) - - -ida_idp.IDB_Hooks.compiler_changed(): - - compiler_changed(self) - - -ida_idp.IDB_Hooks.deleting_enum(): - - deleting_enum(self, id) - - -ida_idp.IDB_Hooks.deleting_enum_member(): - - deleting_enum_member(self, id, cid) - - -ida_idp.IDB_Hooks.deleting_func(): - - deleting_func(self, pfn) - - -ida_idp.IDB_Hooks.deleting_func_tail(): - - deleting_func_tail(self, pfn, tail) - - -ida_idp.IDB_Hooks.deleting_segm(): - - deleting_segm(self, start_ea) - - -ida_idp.IDB_Hooks.deleting_struc(): - - deleting_struc(self, sptr) - - -ida_idp.IDB_Hooks.deleting_struc_member(): - - deleting_struc_member(self, sptr, mptr) - - -ida_idp.IDB_Hooks.deleting_tryblks(): - - deleting_tryblks(self, range) - - -ida_idp.IDB_Hooks.destroyed_items(): - - destroyed_items(self, ea1, ea2, will_disable_range) - - -ida_idp.IDB_Hooks.determined_main(): - - determined_main(self, main) - - -ida_idp.IDB_Hooks.enum_bf_changed(): - - enum_bf_changed(self, id) - - -ida_idp.IDB_Hooks.enum_cmt_changed(): - - enum_cmt_changed(self, id, repeatable) - - -ida_idp.IDB_Hooks.enum_created(): - - enum_created(self, id) - - -ida_idp.IDB_Hooks.enum_deleted(): - - enum_deleted(self, id) - - -ida_idp.IDB_Hooks.enum_member_created(): - - enum_member_created(self, id, cid) - - -ida_idp.IDB_Hooks.enum_member_deleted(): - - enum_member_deleted(self, id, cid) - - -ida_idp.IDB_Hooks.enum_renamed(): - - enum_renamed(self, id) - - -ida_idp.IDB_Hooks.expanding_struc(): - - expanding_struc(self, sptr, offset, delta) - - -ida_idp.IDB_Hooks.extlang_changed(): - - extlang_changed(self, kind, el, idx) - - -ida_idp.IDB_Hooks.extra_cmt_changed(): - - extra_cmt_changed(self, ea, line_idx, cmt) - - -ida_idp.IDB_Hooks.flow_chart_created(): - - flow_chart_created(self, fc) - - -ida_idp.IDB_Hooks.frame_deleted(): - - frame_deleted(self, pfn) - - -ida_idp.IDB_Hooks.func_added(): - - func_added(self, pfn) - - -ida_idp.IDB_Hooks.func_noret_changed(): - - func_noret_changed(self, pfn) - - -ida_idp.IDB_Hooks.func_tail_appended(): - - func_tail_appended(self, pfn, tail) - - -ida_idp.IDB_Hooks.func_tail_deleted(): - - func_tail_deleted(self, pfn, tail_ea) - - -ida_idp.IDB_Hooks.func_updated(): - - func_updated(self, pfn) - - -ida_idp.IDB_Hooks.hook(): - - hook(self) -> bool - - -ida_idp.IDB_Hooks.idasgn_loaded(): - - idasgn_loaded(self, short_sig_name) - - -ida_idp.IDB_Hooks.item_color_changed(): - - item_color_changed(self, ea, color) - - -ida_idp.IDB_Hooks.kernel_config_loaded(): - - kernel_config_loaded(self) - - -ida_idp.IDB_Hooks.loader_finished(): - - loader_finished(self, li, neflags, filetypename) - - -ida_idp.IDB_Hooks.local_types_changed(): - - local_types_changed(self) - - -ida_idp.IDB_Hooks.make_code(): - - make_code(self, insn) - - -ida_idp.IDB_Hooks.make_data(): - - make_data(self, ea, flags, tid, len) - - -ida_idp.IDB_Hooks.op_ti_changed(): - - op_ti_changed(self, ea, n, type, fnames) - - -ida_idp.IDB_Hooks.op_type_changed(): - - op_type_changed(self, ea, n) - - -ida_idp.IDB_Hooks.range_cmt_changed(): - - range_cmt_changed(self, kind, a, cmt, repeatable) - - -ida_idp.IDB_Hooks.renamed(): - - renamed(self, ea, new_name, local_name) - - -ida_idp.IDB_Hooks.renaming_enum(): - - renaming_enum(self, id, is_enum, newname) - - -ida_idp.IDB_Hooks.renaming_struc(): - - renaming_struc(self, id, oldname, newname) - - -ida_idp.IDB_Hooks.renaming_struc_member(): - - renaming_struc_member(self, sptr, mptr, newname) - - -ida_idp.IDB_Hooks.savebase(): - - savebase(self) - - -ida_idp.IDB_Hooks.segm_added(): - - segm_added(self, s) - - -ida_idp.IDB_Hooks.segm_attrs_updated(): - - segm_attrs_updated(self, s) - - -ida_idp.IDB_Hooks.segm_class_changed(): - - segm_class_changed(self, s, sclass) - - -ida_idp.IDB_Hooks.segm_deleted(): - - segm_deleted(self, start_ea, end_ea) - - -ida_idp.IDB_Hooks.segm_end_changed(): - - segm_end_changed(self, s, oldend) - - -ida_idp.IDB_Hooks.segm_moved(): - - segm_moved(self, _from, to, size, changed_netmap) - - -ida_idp.IDB_Hooks.segm_name_changed(): - - segm_name_changed(self, s, name) - - -ida_idp.IDB_Hooks.segm_start_changed(): - - segm_start_changed(self, s, oldstart) - - -ida_idp.IDB_Hooks.set_func_end(): - - set_func_end(self, pfn, new_end) - - -ida_idp.IDB_Hooks.set_func_start(): - - set_func_start(self, pfn, new_start) - - -ida_idp.IDB_Hooks.sgr_changed(): - - sgr_changed(self, start_ea, end_ea, regnum, value, old_value, tag) - - -ida_idp.IDB_Hooks.sgr_deleted(): - - sgr_deleted(self, start_ea, end_ea, regnum) - - -ida_idp.IDB_Hooks.stkpnts_changed(): - - stkpnts_changed(self, pfn) - - -ida_idp.IDB_Hooks.struc_align_changed(): - - struc_align_changed(self, sptr) - - -ida_idp.IDB_Hooks.struc_cmt_changed(): - - struc_cmt_changed(self, struc_id, repeatable_cmt) - - -ida_idp.IDB_Hooks.struc_created(): - - struc_created(self, struc_id) - - -ida_idp.IDB_Hooks.struc_deleted(): - - struc_deleted(self, struc_id) - - -ida_idp.IDB_Hooks.struc_expanded(): - - struc_expanded(self, sptr) - - -ida_idp.IDB_Hooks.struc_member_changed(): - - struc_member_changed(self, sptr, mptr) - - -ida_idp.IDB_Hooks.struc_member_created(): - - struc_member_created(self, sptr, mptr) - - -ida_idp.IDB_Hooks.struc_member_deleted(): - - struc_member_deleted(self, sptr, member_id, offset) - - -ida_idp.IDB_Hooks.struc_member_renamed(): - - struc_member_renamed(self, sptr, mptr) - - -ida_idp.IDB_Hooks.struc_renamed(): - - struc_renamed(self, sptr) - - -ida_idp.IDB_Hooks.tail_owner_changed(): - - tail_owner_changed(self, tail, owner_func, old_owner) - - -ida_idp.IDB_Hooks.thunk_func_created(): - - thunk_func_created(self, pfn) - - -ida_idp.IDB_Hooks.ti_changed(): - - ti_changed(self, ea, type, fnames) - - -ida_idp.IDB_Hooks.tryblks_updated(): - - tryblks_updated(self, tbv) - - -ida_idp.IDB_Hooks.unhook(): - - unhook(self) -> bool - - -ida_idp.IDB_Hooks.updating_tryblks(): - - updating_tryblks(self, tbv) - - -ida_idp.IDB_Hooks.upgraded(): - - upgraded(self, _from) - - -class ida_idp.IDP_Hooks(): - - Proxy of C++ IDP_Hooks class - - -ida_idp.IDP_Hooks.ev_add_cref(): - - ev_add_cref(self, _from, to, type) -> int - - -ida_idp.IDP_Hooks.ev_add_dref(): - - ev_add_dref(self, _from, to, type) -> int - - -ida_idp.IDP_Hooks.ev_adjust_argloc(): - - ev_adjust_argloc(self, argloc, optional_type, size) -> int - - -ida_idp.IDP_Hooks.ev_adjust_libfunc_ea(): - - ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int - - -ida_idp.IDP_Hooks.ev_adjust_refinfo(): - - ev_adjust_refinfo(self, ri, ea, n, fd) -> int - - -ida_idp.IDP_Hooks.ev_ana_insn(): - - ev_ana_insn(self, out) -> bool - - - Analyzes and decodes an instruction at insn.ea - - insn.itype must be set >= idaapi.CUSTOM_CMD_ITYPE - - insn.size must be set to the instruction length - - @return: Boolean - - False if the instruction is not recognized - - True if the instruction was decoded. 'insn' should be filled in that case. - - -ida_idp.IDP_Hooks.ev_analyze_prolog(): - - ev_analyze_prolog(self, ea) -> int - - -ida_idp.IDP_Hooks.ev_arg_addrs_ready(): - - ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int - - -ida_idp.IDP_Hooks.ev_assemble(): - - ev_assemble(self, ea, cs, ip, use32, line) -> PyObject * - - - Assembles an instruction - - @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: - None to let the underlying processor module assemble the line - - or a string containing the assembled buffer - - -ida_idp.IDP_Hooks.ev_auto_queue_empty(): - - ev_auto_queue_empty(self, type) - - -ida_idp.IDP_Hooks.ev_calc_arglocs(): - - ev_calc_arglocs(self, fti) -> int - - -ida_idp.IDP_Hooks.ev_calc_cdecl_purged_bytes(): - - ev_calc_cdecl_purged_bytes(self, ea) -> int - - -ida_idp.IDP_Hooks.ev_calc_next_eas(): - - ev_calc_next_eas(self, res, insn, over) -> int - - -ida_idp.IDP_Hooks.ev_calc_purged_bytes(): - - ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int - - -ida_idp.IDP_Hooks.ev_calc_retloc(): - - ev_calc_retloc(self, retloc, rettype, cc) -> int - - -ida_idp.IDP_Hooks.ev_calc_spdelta(): - - ev_calc_spdelta(self, spdelta, insn) -> int - - -ida_idp.IDP_Hooks.ev_calc_step_over(): - - ev_calc_step_over(self, target, ip) -> int - - -ida_idp.IDP_Hooks.ev_calc_switch_cases(): - - ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int - - -ida_idp.IDP_Hooks.ev_calc_varglocs(): - - ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int - - -ida_idp.IDP_Hooks.ev_calcrel(): - - ev_calcrel(self) -> int - - -ida_idp.IDP_Hooks.ev_can_have_type(): - - ev_can_have_type(self, op) -> int - - -ida_idp.IDP_Hooks.ev_clean_tbit(): - - ev_clean_tbit(self, ea, getreg, regvalues) -> int - - -ida_idp.IDP_Hooks.ev_cmp_operands(): - - ev_cmp_operands(self, op1, op2) -> int - - -ida_idp.IDP_Hooks.ev_coagulate(): - - ev_coagulate(self, start_ea) -> int - - -ida_idp.IDP_Hooks.ev_coagulate_dref(): - - ev_coagulate_dref(self, _from, to, may_define, code_ea) -> int - - -ida_idp.IDP_Hooks.ev_create_flat_group(): - - ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int - - -ida_idp.IDP_Hooks.ev_create_func_frame(): - - ev_create_func_frame(self, pfn) -> int - - -ida_idp.IDP_Hooks.ev_create_switch_xrefs(): - - ev_create_switch_xrefs(self, jumpea, si) -> int - - -ida_idp.IDP_Hooks.ev_creating_segm(): - - ev_creating_segm(self, seg) -> int - - -ida_idp.IDP_Hooks.ev_decorate_name(): - - ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * - - -ida_idp.IDP_Hooks.ev_del_cref(): - - ev_del_cref(self, _from, to, expand) -> int - - -ida_idp.IDP_Hooks.ev_del_dref(): - - ev_del_dref(self, _from, to) -> int - - -ida_idp.IDP_Hooks.ev_delay_slot_insn(): - - ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * - - -ida_idp.IDP_Hooks.ev_demangle_name(): - - ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * - - -ida_idp.IDP_Hooks.ev_emu_insn(): - - 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. - - @return: Boolean (whether this instruction has been emulated or not) - - -ida_idp.IDP_Hooks.ev_endbinary(): - - ev_endbinary(self, ok) -> int - - -ida_idp.IDP_Hooks.ev_ending_undo(): - - ev_ending_undo(self, action_name, is_undo) -> int - - -ida_idp.IDP_Hooks.ev_equal_reglocs(): - - ev_equal_reglocs(self, a1, a2) -> int - - -ida_idp.IDP_Hooks.ev_extract_address(): - - ev_extract_address(self, out_ea, screen_ea, string, position) -> int - - -ida_idp.IDP_Hooks.ev_find_op_value(): - - ev_find_op_value(self, pinsn, opn) -> PyObject * - - -ida_idp.IDP_Hooks.ev_find_reg_value(): - - ev_find_reg_value(self, pinsn, reg) -> PyObject * - - -ida_idp.IDP_Hooks.ev_func_bounds(): - - ev_func_bounds(self, possible_return_code, pfn, max_func_end_ea) - - -ida_idp.IDP_Hooks.ev_gen_asm_or_lst(): - - ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) - - -ida_idp.IDP_Hooks.ev_gen_map_file(): - - ev_gen_map_file(self, nlines, fp) -> int - - -ida_idp.IDP_Hooks.ev_gen_regvar_def(): - - ev_gen_regvar_def(self, outctx, v) -> int - - -ida_idp.IDP_Hooks.ev_gen_src_file_lnnum(): - - ev_gen_src_file_lnnum(self, outctx, file, lnnum) -> int - - -ida_idp.IDP_Hooks.ev_gen_stkvar_def(): - - ev_gen_stkvar_def(self, outctx, mptr, v) -> int - - -ida_idp.IDP_Hooks.ev_get_abi_info(): - - ev_get_abi_info(self, abi_names, abi_opts, comp) -> int - - -ida_idp.IDP_Hooks.ev_get_autocmt(): - - ev_get_autocmt(self, insn) -> PyObject * - - -ida_idp.IDP_Hooks.ev_get_bg_color(): - - ev_get_bg_color(self, ea) -> int or None - - -ida_idp.IDP_Hooks.ev_get_cc_regs(): - - ev_get_cc_regs(self, regs, cc) -> int - - -ida_idp.IDP_Hooks.ev_get_dbr_opnum(): - - ev_get_dbr_opnum(self, opnum, insn) -> int - - -ida_idp.IDP_Hooks.ev_get_default_enum_size(): - - ev_get_default_enum_size(self, cm) -> int - - -ida_idp.IDP_Hooks.ev_get_frame_retsize(): - - ev_get_frame_retsize(self, frsize, pfn) -> int - - -ida_idp.IDP_Hooks.ev_get_macro_insn_head(): - - ev_get_macro_insn_head(self, head, ip) -> int - - -ida_idp.IDP_Hooks.ev_get_operand_string(): - - ev_get_operand_string(self, insn, opnum) -> PyObject * - - -ida_idp.IDP_Hooks.ev_get_reg_info(): - - ev_get_reg_info(self, main_regname, bitrange, regname) -> int - - -ida_idp.IDP_Hooks.ev_get_reg_name(): - - ev_get_reg_name(self, reg, width, reghi) -> PyObject * - - -ida_idp.IDP_Hooks.ev_get_simd_types(): - - ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int - - -ida_idp.IDP_Hooks.ev_get_stkarg_offset(): - - ev_get_stkarg_offset(self) -> int - - -ida_idp.IDP_Hooks.ev_get_stkvar_scale_factor(): - - ev_get_stkvar_scale_factor(self) -> int - - -ida_idp.IDP_Hooks.ev_getreg(): - - ev_getreg(self, regval, regnum) -> int - - -ida_idp.IDP_Hooks.ev_init(): - - ev_init(self, idp_modname) -> int - - -ida_idp.IDP_Hooks.ev_insn_reads_tbit(): - - ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int - - -ida_idp.IDP_Hooks.ev_is_align_insn(): - - ev_is_align_insn(self, ea) -> int - - -ida_idp.IDP_Hooks.ev_is_alloca_probe(): - - ev_is_alloca_probe(self, ea) -> int - - -ida_idp.IDP_Hooks.ev_is_basic_block_end(): - - ev_is_basic_block_end(self, insn, call_insn_stops_block) -> int - - -ida_idp.IDP_Hooks.ev_is_call_insn(): - - ev_is_call_insn(self, insn) -> int - - - Is the instruction a "call"? - - @param insn: instruction - @return: 0-unknown, 1-yes, -1-no - - -ida_idp.IDP_Hooks.ev_is_cond_insn(): - - ev_is_cond_insn(self, insn) -> int - - -ida_idp.IDP_Hooks.ev_is_far_jump(): - - ev_is_far_jump(self, icode) -> int - - -ida_idp.IDP_Hooks.ev_is_indirect_jump(): - - ev_is_indirect_jump(self, insn) -> int - - -ida_idp.IDP_Hooks.ev_is_insn_table_jump(): - - ev_is_insn_table_jump(self, insn) -> int - - -ida_idp.IDP_Hooks.ev_is_jump_func(): - - ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int - - -ida_idp.IDP_Hooks.ev_is_ret_insn(): - - ev_is_ret_insn(self, insn, strict) -> int - - - Is the instruction a "return"? - - @param insn: instruction - @param strict: - True: report only ret instructions - False: include instructions like "leave" which begins the function epilog - @return: 0-unknown, 1-yes, -1-no - - -ida_idp.IDP_Hooks.ev_is_sane_insn(): - - ev_is_sane_insn(self, insn, no_crefs) -> int - - - is the instruction sane for the current file type? - @param insn: the instruction - @param no_crefs: - - 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. - @return: >=0-ok, <0-no, the instruction isn't likely to appear in the program - - -ida_idp.IDP_Hooks.ev_is_sp_based(): - - ev_is_sp_based(self, mode, insn, op) -> int - - -ida_idp.IDP_Hooks.ev_is_switch(): - - ev_is_switch(self, si, insn) -> int - - -ida_idp.IDP_Hooks.ev_last_cb_before_loader(): - - ev_last_cb_before_loader(self) -> int - - -ida_idp.IDP_Hooks.ev_loader(): - - ev_loader(self) -> int - - -ida_idp.IDP_Hooks.ev_lower_func_type(): - - ev_lower_func_type(self, argnums, fti) -> int - - -ida_idp.IDP_Hooks.ev_max_ptr_size(): - - ev_max_ptr_size(self) -> int - - -ida_idp.IDP_Hooks.ev_may_be_func(): - - ev_may_be_func(self, insn, state) -> int - - - Can a function start here? - @param insn: the instruction - @param state: autoanalysis phase - 0: creating functions - 1: creating chunks - - @return: integer (probability 0..100) - - -ida_idp.IDP_Hooks.ev_may_show_sreg(): - - ev_may_show_sreg(self, current_ea) -> int - - -ida_idp.IDP_Hooks.ev_moving_segm(): - - ev_moving_segm(self, seg, to, flags) -> int - - -ida_idp.IDP_Hooks.ev_newasm(): - - ev_newasm(self, asmnum) -> int - - -ida_idp.IDP_Hooks.ev_newbinary(): - - ev_newbinary(self, filename, fileoff, basepara, binoff, nbytes) -> int - - -ida_idp.IDP_Hooks.ev_newfile(): - - ev_newfile(self, fname) -> int - - -ida_idp.IDP_Hooks.ev_newprc(): - - ev_newprc(self, pnum, keep_cfg) -> int - - -ida_idp.IDP_Hooks.ev_next_exec_insn(): - - ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int - - -ida_idp.IDP_Hooks.ev_oldfile(): - - ev_oldfile(self, fname) -> int - - -ida_idp.IDP_Hooks.ev_out_assumes(): - - ev_out_assumes(self, outctx) -> int - - -ida_idp.IDP_Hooks.ev_out_data(): - - ev_out_data(self, outctx, analyze_only) -> int - - -ida_idp.IDP_Hooks.ev_out_footer(): - - ev_out_footer(self, outctx) - - -ida_idp.IDP_Hooks.ev_out_header(): - - ev_out_header(self, outctx) - - -ida_idp.IDP_Hooks.ev_out_insn(): - - ev_out_insn(self, outctx) -> bool - - - Outputs the instruction defined in 'ctx.insn' - - @return: Boolean (whether this instruction can be outputted or not) - - -ida_idp.IDP_Hooks.ev_out_label(): - - ev_out_label(self, outctx, colored_name) -> int - - -ida_idp.IDP_Hooks.ev_out_mnem(): - - ev_out_mnem(self, outctx) -> int - - -ida_idp.IDP_Hooks.ev_out_operand(): - - ev_out_operand(self, outctx, op) -> bool - - - Notification to generate operand text. - If False was returned, then the standard operand output function will be called. - - this notification may use out_...() functions to form the operand text - - @return: Boolean (whether the operand has been outputted or not) - - -ida_idp.IDP_Hooks.ev_out_segend(): - - ev_out_segend(self, outctx, seg) -> int - - -ida_idp.IDP_Hooks.ev_out_segstart(): - - ev_out_segstart(self, outctx, seg) -> int - - -ida_idp.IDP_Hooks.ev_out_special_item(): - - ev_out_special_item(self, outctx, segtype) -> int - - -ida_idp.IDP_Hooks.ev_realcvt(): - - ev_realcvt(self, m, e, swt) -> int - - -ida_idp.IDP_Hooks.ev_rename(): - - ev_rename(self, ea, new_name) -> int - - - The kernel is going to rename a byte. - - @param ea: Address - @param new_name: The new name - - @return: - - If returns value <0, then the kernel should - not rename it. See also the 'renamed' event - - -ida_idp.IDP_Hooks.ev_replaying_undo(): - - ev_replaying_undo(self, action_name, vec, is_undo) -> int - - -ida_idp.IDP_Hooks.ev_set_idp_options(): - - ev_set_idp_options(self, keyword, value_type, value, errbuf, idb_loaded) -> int - - -ida_idp.IDP_Hooks.ev_set_proc_options(): - - ev_set_proc_options(self, options, confidence) -> int - - -ida_idp.IDP_Hooks.ev_setup_til(): - - ev_setup_til(self) - - -ida_idp.IDP_Hooks.ev_shadow_args_size(): - - ev_shadow_args_size(self, shadow_args_size, pfn) -> int - - -ida_idp.IDP_Hooks.ev_str2reg(): - - ev_str2reg(self, regname) -> int - - -ida_idp.IDP_Hooks.ev_term(): - - ev_term(self) -> int - - -ida_idp.IDP_Hooks.ev_treat_hindering_item(): - - ev_treat_hindering_item(self, hindering_item_ea, new_item_flags, new_item_ea, new_item_length) -> int - - -ida_idp.IDP_Hooks.ev_undefine(): - - ev_undefine(self, ea) -> int - - - An item in the database (insn or data) is being deleted - @param ea: Address - @return: - - 1 - do not delete srranges at the item end - - 0 - srranges can be deleted - - -ida_idp.IDP_Hooks.ev_use_arg_types(): - - ev_use_arg_types(self, ea, fti, rargs) -> int - - -ida_idp.IDP_Hooks.ev_use_regarg_type(): - - ev_use_regarg_type(self, ea, rargs) -> PyObject * - - -ida_idp.IDP_Hooks.ev_use_stkarg_type(): - - ev_use_stkarg_type(self, ea, arg) -> int - - -ida_idp.IDP_Hooks.ev_validate_flirt_func(): - - ev_validate_flirt_func(self, start_ea, funcname) -> int - - -ida_idp.IDP_Hooks.ev_verify_noreturn(): - - ev_verify_noreturn(self, pfn) -> int - - -ida_idp.IDP_Hooks.ev_verify_sp(): - - ev_verify_sp(self, pfn) -> int - - -ida_idp.IDP_Hooks.hook(): - - hook(self) -> bool - - - Creates an IDP hook - - @return: Boolean true on success - - -ida_idp.IDP_Hooks.unhook(): - - unhook(self) -> bool - - - Removes the IDP hook - @return: Boolean true on success - - -class ida_idp.asm_t(): - - Proxy of C++ asm_t class - - -ida_idp.asm_t.a_align: - asm_t_a_align_get(self) -> char const * - -ida_idp.asm_t.a_ascii: - asm_t_a_ascii_get(self) -> char const * - -ida_idp.asm_t.a_band: - asm_t_a_band_get(self) -> char const * - -ida_idp.asm_t.a_bnot: - asm_t_a_bnot_get(self) -> char const * - -ida_idp.asm_t.a_bor: - asm_t_a_bor_get(self) -> char const * - -ida_idp.asm_t.a_bss: - asm_t_a_bss_get(self) -> char const * - -ida_idp.asm_t.a_byte: - asm_t_a_byte_get(self) -> char const * - -ida_idp.asm_t.a_comdef: - asm_t_a_comdef_get(self) -> char const * - -ida_idp.asm_t.a_curip: - asm_t_a_curip_get(self) -> char const * - -ida_idp.asm_t.a_double: - asm_t_a_double_get(self) -> char const * - -ida_idp.asm_t.a_dups: - asm_t_a_dups_get(self) -> char const * - -ida_idp.asm_t.a_dword: - asm_t_a_dword_get(self) -> char const * - -ida_idp.asm_t.a_equ: - asm_t_a_equ_get(self) -> char const * - -ida_idp.asm_t.a_extrn: - asm_t_a_extrn_get(self) -> char const * - -ida_idp.asm_t.a_float: - asm_t_a_float_get(self) -> char const * - -ida_idp.asm_t.a_include_fmt: - asm_t_a_include_fmt_get(self) -> char const * - -ida_idp.asm_t.a_mod: - asm_t_a_mod_get(self) -> char const * - -ida_idp.asm_t.a_oword: - asm_t_a_oword_get(self) -> char const * - -ida_idp.asm_t.a_packreal: - asm_t_a_packreal_get(self) -> char const * - -ida_idp.asm_t.a_public: - asm_t_a_public_get(self) -> char const * - -ida_idp.asm_t.a_qword: - asm_t_a_qword_get(self) -> char const * - -ida_idp.asm_t.a_rva: - asm_t_a_rva_get(self) -> char const * - -ida_idp.asm_t.a_seg: - asm_t_a_seg_get(self) -> char const * - -ida_idp.asm_t.a_shl: - asm_t_a_shl_get(self) -> char const * - -ida_idp.asm_t.a_shr: - asm_t_a_shr_get(self) -> char const * - -ida_idp.asm_t.a_sizeof_fmt: - asm_t_a_sizeof_fmt_get(self) -> char const * - -ida_idp.asm_t.a_tbyte: - asm_t_a_tbyte_get(self) -> char const * - -ida_idp.asm_t.a_vstruc_fmt: - asm_t_a_vstruc_fmt_get(self) -> char const * - -ida_idp.asm_t.a_weak: - asm_t_a_weak_get(self) -> char const * - -ida_idp.asm_t.a_word: - asm_t_a_word_get(self) -> char const * - -ida_idp.asm_t.a_xor: - asm_t_a_xor_get(self) -> char const * - -ida_idp.asm_t.a_yword: - asm_t_a_yword_get(self) -> char const * - -ida_idp.asm_t.accsep: - asm_t_accsep_get(self) -> char - -ida_idp.asm_t.ascsep: - asm_t_ascsep_get(self) -> char - -ida_idp.asm_t.cmnt: - asm_t_cmnt_get(self) -> char const * - -ida_idp.asm_t.cmnt2: - asm_t_cmnt2_get(self) -> char const * - -ida_idp.asm_t.end: - asm_t_end_get(self) -> char const * - -ida_idp.asm_t.esccodes: - asm_t_esccodes_get(self) -> char const * - -ida_idp.asm_t.flag: - asm_t_flag_get(self) -> uint32 - -ida_idp.asm_t.flag2: - asm_t_flag2_get(self) -> uint32 - -ida_idp.asm_t.header: - asm_t_header_get(self) -> char const *const * - -ida_idp.asm_t.help: - asm_t_help_get(self) -> help_t - -ida_idp.asm_t.high16: - asm_t_high16_get(self) -> char const * - -ida_idp.asm_t.high8: - asm_t_high8_get(self) -> char const * - -ida_idp.asm_t.lbrace: - asm_t_lbrace_get(self) -> char - -ida_idp.asm_t.low16: - asm_t_low16_get(self) -> char const * - -ida_idp.asm_t.low8: - asm_t_low8_get(self) -> char const * - -ida_idp.asm_t.name: - asm_t_name_get(self) -> char const * - -ida_idp.asm_t.origin: - asm_t_origin_get(self) -> char const * - -ida_idp.asm_t.rbrace: - asm_t_rbrace_get(self) -> char - -ida_idp.asm_t.uflag: - asm_t_uflag_get(self) -> uint16 - -ida_idp.assemble(): - - 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. - - -ida_idp.cfg_get_cc_header_path(): - - cfg_get_cc_header_path(compid) -> char const * - - -ida_idp.cfg_get_cc_parm(): - - cfg_get_cc_parm(compid, name) -> char const * - - -ida_idp.cfg_get_cc_predefined_macros(): - - cfg_get_cc_predefined_macros(compid) -> char const * - - -ida_idp.delay_slot_insn(): - - delay_slot_insn(ea, bexec, fexec) -> bool - - - Helper function to get the delay slot instruction. - - - @param ea (C++: ea_t *) - @param bexec (C++: bool *) - @param fexec (C++: bool *) - - -ida_idp.gen_idb_event(): - - gen_idb_event(code) - - - the kernel will use this function to generate idb_events - - - @param code (C++: idb_event::event_code_t) - - -ida_idp.get_idb_notifier_addr(): - - get_idb_notifier_addr(arg1) -> PyObject * - - -ida_idp.get_idb_notifier_ud_addr(): - - get_idb_notifier_ud_addr(hooks) -> PyObject * - - -ida_idp.get_idp_name(): - - get_idp_name() -> char * - - - 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 NULL - - -ida_idp.get_idp_notifier_addr(): - - get_idp_notifier_addr(arg1) -> PyObject * - - -ida_idp.get_idp_notifier_ud_addr(): - - get_idp_notifier_ud_addr(hooks) -> PyObject * - - -ida_idp.get_reg_info(): - - get_reg_info(regname, bitrange) -> char const * - - - Get register information - useful for registers like al, ah, dil, etc. - - @param regname (C++: const char *) - @param bitrange (C++: bitrange_t *) - @return: NULL no such register - - -ida_idp.get_reg_name(): - - get_reg_name(reg, width, reghi=-1) -> ssize_t - - - Get text representation of a register. For most processors this - function will just return \ph{reg_names}[reg]. If the processor module - has implemented processor_t::get_reg_name, it will be used instead - - @param reg: internal register number as defined in the processor - module (C++: int) - @param width: register width in bytes (C++: size_t) - @param reghi: if specified, then this function will return the - register pair (C++: int) - @return: length of register name in bytes or -1 if failure - - -ida_idp.has_cf_chg(): - - 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) - - -ida_idp.has_cf_use(): - - 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) - - -ida_idp.has_insn_feature(): - - has_insn_feature(icode, bit) -> bool - - - Does the specified instruction have the specified feature? - - - @param icode (C++: int) - @param bit (C++: uint32) - - -ida_idp.is_align_insn(): - - 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) - - -ida_idp.is_basic_block_end(): - - 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 &) - @param call_insn_stops_block (C++: bool) - - -ida_idp.is_call_insn(): - - is_call_insn(insn) -> bool - - - Is the instruction a "call"? - - - @param insn (C++: const insn_t &) - - -ida_idp.is_indirect_jump_insn(): - - is_indirect_jump_insn(insn) -> bool - - - Is the instruction an indirect jump? - - - @param insn (C++: const insn_t &) - - -ida_idp.is_ret_insn(): - - is_ret_insn(insn, strict=True) -> bool - - - Is the instruction a "return"? - - - @param insn (C++: const insn_t &) - @param strict (C++: bool) - - -ida_idp.parse_reg_name(): - - parse_reg_name(ri, regname) -> bool - - - Get register info by name. - - @param ri: result (C++: reg_info_t *) - @param regname: name of register (C++: const char *) - @return: success - - -ida_idp.ph_calcrel(): - - ph_calcrel(ea) - - -ida_idp.ph_find_op_value(): - - ph_find_op_value(insn, op) -> ssize_t - - -ida_idp.ph_find_reg_value(): - - ph_find_reg_value(insn, reg) -> ssize_t - - -ida_idp.ph_get_cnbits(): - - ph_get_cnbits() -> size_t - - - Returns the 'ph.cnbits' - - -ida_idp.ph_get_dnbits(): - - ph_get_dnbits() -> size_t - - - Returns the 'ph.dnbits' - - -ida_idp.ph_get_flag(): - - ph_get_flag() -> size_t - - - Returns the 'ph.flag' - - -ida_idp.ph_get_icode_return(): - - ph_get_icode_return() -> size_t - - - Returns the 'ph.icode_return' - - -ida_idp.ph_get_id(): - - ph_get_id() -> size_t - - - Returns the 'ph.id' field - - -ida_idp.ph_get_instruc(): - - ph_get_instruc() -> PyObject * - - - Returns a list of tuples (instruction_name, instruction_feature) containing the - instructions list as defined in he processor module - - -ida_idp.ph_get_instruc_end(): - - ph_get_instruc_end() -> size_t - - - Returns the 'ph.instruc_end' - - -ida_idp.ph_get_instruc_start(): - - ph_get_instruc_start() -> size_t - - - Returns the 'ph.instruc_start' - - -ida_idp.ph_get_operand_info(): - - ph_get_operand_info(ea, n) -> PyObject * - - - 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. - - -ida_idp.ph_get_reg_code_sreg(): - - ph_get_reg_code_sreg() -> size_t - - - Returns the 'ph.reg_code_sreg' - - -ida_idp.ph_get_reg_data_sreg(): - - ph_get_reg_data_sreg() -> size_t - - - Returns the 'ph.reg_data_sreg' - - -ida_idp.ph_get_reg_first_sreg(): - - ph_get_reg_first_sreg() -> size_t - - - Returns the 'ph.reg_first_sreg' - - -ida_idp.ph_get_reg_last_sreg(): - - ph_get_reg_last_sreg() -> size_t - - - Returns the 'ph.reg_last_sreg' - - -ida_idp.ph_get_regnames(): - - ph_get_regnames() -> PyObject * - - - Returns the list of register names as defined in the processor module - - -ida_idp.ph_get_segreg_size(): - - ph_get_segreg_size() -> size_t - - - Returns the 'ph.segreg_size' - - -ida_idp.ph_get_tbyte_size(): - - ph_get_tbyte_size() -> size_t - - - Returns the 'ph.tbyte_size' field as defined in he processor module - - -ida_idp.ph_get_version(): - - ph_get_version() -> size_t - - - Returns the 'ph.version' - - -ida_idp.processor_t.ev_add_cref(): - - ev_add_cref(self, _from, to, type) -> int - - -ida_idp.processor_t.ev_add_dref(): - - ev_add_dref(self, _from, to, type) -> int - - -ida_idp.processor_t.ev_adjust_argloc(): - - ev_adjust_argloc(self, argloc, optional_type, size) -> int - - -ida_idp.processor_t.ev_adjust_libfunc_ea(): - - ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int - - -ida_idp.processor_t.ev_adjust_refinfo(): - - ev_adjust_refinfo(self, ri, ea, n, fd) -> int - - -ida_idp.processor_t.ev_analyze_prolog(): - - ev_analyze_prolog(self, ea) -> int - - -ida_idp.processor_t.ev_arg_addrs_ready(): - - ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int - - -ida_idp.processor_t.ev_calc_arglocs(): - - ev_calc_arglocs(self, fti) -> int - - -ida_idp.processor_t.ev_calc_cdecl_purged_bytes(): - - ev_calc_cdecl_purged_bytes(self, ea) -> int - - -ida_idp.processor_t.ev_calc_next_eas(): - - ev_calc_next_eas(self, res, insn, over) -> int - - -ida_idp.processor_t.ev_calc_purged_bytes(): - - ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int - - -ida_idp.processor_t.ev_calc_retloc(): - - ev_calc_retloc(self, retloc, rettype, cc) -> int - - -ida_idp.processor_t.ev_calc_spdelta(): - - ev_calc_spdelta(self, spdelta, insn) -> int - - -ida_idp.processor_t.ev_calc_switch_cases(): - - ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int - - -ida_idp.processor_t.ev_calc_varglocs(): - - ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int - - -ida_idp.processor_t.ev_calcrel(): - - ev_calcrel(self) -> int - - -ida_idp.processor_t.ev_clean_tbit(): - - ev_clean_tbit(self, ea, getreg, regvalues) -> int - - -ida_idp.processor_t.ev_create_flat_group(): - - ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int - - -ida_idp.processor_t.ev_decorate_name(): - - ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * - - -ida_idp.processor_t.ev_del_cref(): - - ev_del_cref(self, _from, to, expand) -> int - - -ida_idp.processor_t.ev_del_dref(): - - ev_del_dref(self, _from, to) -> int - - -ida_idp.processor_t.ev_delay_slot_insn(): - - ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * - - -ida_idp.processor_t.ev_demangle_name(): - - ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * - - -ida_idp.processor_t.ev_ending_undo(): - - ev_ending_undo(self, action_name, is_undo) -> int - - -ida_idp.processor_t.ev_equal_reglocs(): - - ev_equal_reglocs(self, a1, a2) -> int - - -ida_idp.processor_t.ev_extract_address(): - - ev_extract_address(self, out_ea, screen_ea, string, position) -> int - - -ida_idp.processor_t.ev_find_op_value(): - - ev_find_op_value(self, pinsn, opn) -> PyObject * - - -ida_idp.processor_t.ev_find_reg_value(): - - ev_find_reg_value(self, pinsn, reg) -> PyObject * - - -ida_idp.processor_t.ev_gen_asm_or_lst(): - - ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) - - -ida_idp.processor_t.ev_gen_stkvar_def(): - - ev_gen_stkvar_def(self, outctx, mptr, v) -> int - - -ida_idp.processor_t.ev_get_abi_info(): - - ev_get_abi_info(self, abi_names, abi_opts, comp) -> int - - -ida_idp.processor_t.ev_get_bg_color(): - - ev_get_bg_color(self, ea) -> int or None - - -ida_idp.processor_t.ev_get_cc_regs(): - - ev_get_cc_regs(self, regs, cc) -> int - - -ida_idp.processor_t.ev_get_dbr_opnum(): - - ev_get_dbr_opnum(self, opnum, insn) -> int - - -ida_idp.processor_t.ev_get_default_enum_size(): - - ev_get_default_enum_size(self, cm) -> int - - -ida_idp.processor_t.ev_get_macro_insn_head(): - - ev_get_macro_insn_head(self, head, ip) -> int - - -ida_idp.processor_t.ev_get_reg_info(): - - ev_get_reg_info(self, main_regname, bitrange, regname) -> int - - -ida_idp.processor_t.ev_get_reg_name(): - - ev_get_reg_name(self, reg, width, reghi) -> PyObject * - - -ida_idp.processor_t.ev_get_simd_types(): - - ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int - - -ida_idp.processor_t.ev_get_stkarg_offset(): - - ev_get_stkarg_offset(self) -> int - - -ida_idp.processor_t.ev_get_stkvar_scale_factor(): - - ev_get_stkvar_scale_factor(self) -> int - - -ida_idp.processor_t.ev_getreg(): - - ev_getreg(self, regval, regnum) -> int - - -ida_idp.processor_t.ev_init(): - - ev_init(self, idp_modname) -> int - - -ida_idp.processor_t.ev_insn_reads_tbit(): - - ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int - - -ida_idp.processor_t.ev_is_cond_insn(): - - ev_is_cond_insn(self, insn) -> int - - -ida_idp.processor_t.ev_is_jump_func(): - - ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int - - -ida_idp.processor_t.ev_last_cb_before_loader(): - - ev_last_cb_before_loader(self) -> int - - -ida_idp.processor_t.ev_loader(): - - ev_loader(self) -> int - - -ida_idp.processor_t.ev_lower_func_type(): - - ev_lower_func_type(self, argnums, fti) -> int - - -ida_idp.processor_t.ev_max_ptr_size(): - - ev_max_ptr_size(self) -> int - - -ida_idp.processor_t.ev_newasm(): - - ev_newasm(self, asmnum) -> int - - -ida_idp.processor_t.ev_next_exec_insn(): - - ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int - - -ida_idp.processor_t.ev_realcvt(): - - ev_realcvt(self, m, e, swt) -> int - - -ida_idp.processor_t.ev_replaying_undo(): - - ev_replaying_undo(self, action_name, vec, is_undo) -> int - - -ida_idp.processor_t.ev_setup_til(): - - ev_setup_til(self) - - -ida_idp.processor_t.ev_shadow_args_size(): - - ev_shadow_args_size(self, shadow_args_size, pfn) -> int - - -ida_idp.processor_t.ev_term(): - - ev_term(self) -> int - - -ida_idp.processor_t.ev_use_arg_types(): - - ev_use_arg_types(self, ea, fti, rargs) -> int - - -ida_idp.processor_t.ev_use_regarg_type(): - - ev_use_regarg_type(self, ea, rargs) -> PyObject * - - -ida_idp.processor_t.ev_use_stkarg_type(): - - ev_use_stkarg_type(self, ea, arg) -> int - - -ida_idp.processor_t.get_auxpref(): - - This function returns insn.auxpref value - - -ida_idp.processor_t.get_idpdesc(): - - 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. - - -ida_idp.processor_t.get_uFlag(): - - Use this utility function to retrieve the 'uFlag' global variable - - -ida_idp.processor_t.hook(): - - hook(self) -> bool - - - Creates an IDP hook - - @return: Boolean true on success - - -ida_idp.processor_t.unhook(): - - unhook(self) -> bool - - - Removes the IDP hook - @return: Boolean true on success - - -class ida_idp.reg_info_t(): - - Proxy of C++ reg_info_t class - - -ida_idp.reg_info_t.compare(): - - compare(self, r) -> int - - -ida_idp.reg_info_t.reg: - reg_info_t_reg_get(self) -> int - -ida_idp.reg_info_t.size: - reg_info_t_size_get(self) -> int - -ida_idp.set_processor_type(): - - 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: name of processor type (one of names present in - \ph{psnames}) (C++: const char *) - @param level: SETPROC_ (C++: setproc_level_t) - @return: success - - -ida_idp.set_target_assembler(): - - set_target_assembler(asmnum) -> bool - - - Set target assembler. - - @param asmnum: number of assembler in the current processor module - (C++: int) - @return: success - - -ida_idp.sizeof_ldbl(): - - sizeof_ldbl() -> size_t - - - Get size of long double. - - -ida_idp.str2reg(): - - str2reg(p) -> int - - - Get any reg number (-1 on error) - - - @param p (C++: const char *) - - - -=== ida_idp EPYDOC INJECTIONS === -ida_idp.AS2_BRACE -""" -Use braces for all expressions. -""" - -ida_idp.AS2_BYTE1CHAR -""" -Meaningful only for wide byte processors. - -One symbol per processor byte -""" - -ida_idp.AS2_COLONSUF -""" -addresses may have ":xx" suffix this suffix must be ignored when -extracting the address under the cursor -""" - -ida_idp.AS2_IDEALDSCR -""" -Description of struc/union is in the 'reverse' form (keyword before -name) the same as in borland tasm ideal -""" - -ida_idp.AS2_STRINV -""" -(For processors with bytes bigger than 8 bits) - -Invert meaning of \\inf{wide_high_byte_first} for text strings -""" - -ida_idp.AS2_TERSESTR -""" -NAME is supported. - -'terse' structure initialization form -""" - -ida_idp.AS2_YWORD -""" -a_yword field is present and valid -""" - -ida_idp.ASB_BINF0 -""" -010101b -""" - -ida_idp.ASB_BINF1 -""" -^B010101 -""" - -ida_idp.ASB_BINF2 -""" -%010101 -""" - -ida_idp.ASB_BINF3 -""" -0b1010101 -""" - -ida_idp.ASB_BINF4 -""" -b'1010101 -""" - -ida_idp.ASB_BINF5 -""" -b'1010101' -""" - -ida_idp.ASD_DECF0 -""" -34 -""" - -ida_idp.ASD_DECF1 -""" -#34 -""" - -ida_idp.ASD_DECF3 -""" -.34 -""" - -ida_idp.ASH_HEXF0 -""" -34h -""" - -ida_idp.ASH_HEXF1 -""" -h'34 -""" - -ida_idp.ASH_HEXF2 -""" -34 -""" - -ida_idp.ASH_HEXF3 -""" -0x34 -""" - -ida_idp.ASH_HEXF4 -""" -$34 -""" - -ida_idp.ASH_HEXF5 -""" -<^R > (radix) -""" - -ida_idp.ASO_OCTF0 -""" -123o -""" - -ida_idp.ASO_OCTF1 -""" -0123 -""" - -ida_idp.ASO_OCTF2 -""" -123 -""" - -ida_idp.ASO_OCTF3 -""" -@123 -""" - -ida_idp.ASO_OCTF4 -""" -o'123 -""" - -ida_idp.ASO_OCTF5 -""" -123q -""" - -ida_idp.ASO_OCTF6 -""" -~123 -""" - -ida_idp.ASO_OCTF7 -""" -q'123 -""" - -ida_idp.AS_1TEXT -""" -1 text per line, no bytes -""" - -ida_idp.AS_2CHRE -""" -double char constants are: "xy -""" - -ida_idp.AS_ALIGN2 -""" -(.align 5 means to align at 32byte boundary) - -.align directive expects an exponent rather than a power of 2 -""" - -ida_idp.AS_ASCIIC -""" -(\\n,\\x01 and similar) - -ascii directive accepts C-like escape sequences -""" - -ida_idp.AS_ASCIIZ -""" -ascii directive inserts implicit zero byte at the end -""" - -ida_idp.AS_BINFM -""" -mask - binary number format -""" - -ida_idp.AS_COLON -""" -create colons after data names ? -""" - -ida_idp.AS_DECFM -""" -mask - decimal number format -""" - -ida_idp.AS_HEXFM -""" -mask - hex number format -""" - -ida_idp.AS_LALIGN -""" -Labels at "align" keyword are supported. -""" - -ida_idp.AS_N2CHR -""" -can't have 2 byte char consts -""" - -ida_idp.AS_NCHRE -""" -char constants are: 'x -""" - -ida_idp.AS_NCMAS -""" -no commas in ascii directives -""" - -ida_idp.AS_NHIAS -""" -no characters with high bit -""" - -ida_idp.AS_NOCODECLN -""" -don't create colons after code names -""" - -ida_idp.AS_NOSPACE -""" -No spaces in expressions. -""" - -ida_idp.AS_NOXRF -""" -Disable xrefs during the output file generation. -""" - -ida_idp.AS_OCTFM -""" -mask - octal number format -""" - -ida_idp.AS_OFFST -""" -offsets are 'offset xxx' ? -""" - -ida_idp.AS_ONEDUP -""" -One array definition per line. -""" - -ida_idp.AS_RELSUP -""" -Checkarg: 'and','or','xor' operations with addresses are possible. -""" - -ida_idp.AS_UDATA -""" -can use '?' in data directives -""" - -ida_idp.AS_UNEQU -""" -replace undefined data items with EQU (for ANTA's A80) -""" - -ida_idp.AS_XTRNTYPE -""" -Assembler understands type of extern symbols as ":type" suffix. -""" - -ida_idp.CF_CALL -""" -CALL instruction (should make a procedure here) -""" - -ida_idp.CF_CHG1 -""" -The instruction modifies the first operand. -""" - -ida_idp.CF_CHG2 -""" -The instruction modifies the second operand. -""" - -ida_idp.CF_CHG3 -""" -The instruction modifies the third operand. -""" - -ida_idp.CF_CHG4 -""" -The instruction modifies 4 operand. -""" - -ida_idp.CF_CHG5 -""" -The instruction modifies 5 operand. -""" - -ida_idp.CF_CHG6 -""" -The instruction modifies 6 operand. -""" - -ida_idp.CF_HLL -""" -language function. - -Instruction may be present in a high level -""" - -ida_idp.CF_JUMP -""" -jump or call (thus needs additional analysis) - -The instruction passes execution using indirect -""" - -ida_idp.CF_SHFT -""" -Bit-shift instruction (shl,shr...) -""" - -ida_idp.CF_STOP -""" -next instruction - -Instruction doesn't pass execution to the -""" - -ida_idp.CF_USE1 -""" -The instruction uses value of the first operand. -""" - -ida_idp.CF_USE2 -""" -The instruction uses value of the second operand. -""" - -ida_idp.CF_USE3 -""" -The instruction uses value of the third operand. -""" - -ida_idp.CF_USE4 -""" -The instruction uses value of the 4 operand. -""" - -ida_idp.CF_USE5 -""" -The instruction uses value of the 5 operand. -""" - -ida_idp.CF_USE6 -""" -The instruction uses value of the 6 operand. -""" - -ida_idp.CUSTOM_INSN_ITYPE -""" -Custom instruction codes defined by processor extension plugins must -be greater than or equal to this -""" - -ida_idp.IDP_INTERFACE_VERSION -""" -The interface version number.see also 'IDA_SDK_VERSION' from 'pro.h' -""" - -ida_idp.OP_FP_BASED -""" -operand is FP based -""" - -ida_idp.OP_SP_ADD -""" -operand value is added to the pointer -""" - -ida_idp.OP_SP_BASED -""" -operand is SP based -""" - -ida_idp.OP_SP_SUB -""" -operand value is subtracted from the pointer -""" - -ida_idp.PLFM_386 -""" -Intel 80x86. -""" - -ida_idp.PLFM_6502 -""" -6502 -""" - -ida_idp.PLFM_65C816 -""" -65802/65816 -""" - -ida_idp.PLFM_6800 -""" -Motorola 68xx. -""" - -ida_idp.PLFM_68K -""" -Motorola 680x0. -""" - -ida_idp.PLFM_80196 -""" -Intel 80196. -""" - -ida_idp.PLFM_8051 -""" -8051 -""" - -ida_idp.PLFM_AD2106X -""" -Analog Devices ADSP 2106X. -""" - -ida_idp.PLFM_AD218X -""" -Analog Devices ADSP 218X. -""" - -ida_idp.PLFM_ALPHA -""" -DEC Alpha. -""" - -ida_idp.PLFM_ARC -""" -Argonaut RISC Core. -""" - -ida_idp.PLFM_ARM -""" -Advanced RISC Machines. -""" - -ida_idp.PLFM_AVR -""" -Atmel 8-bit RISC processor(s) -""" - -ida_idp.PLFM_C166 -""" -Siemens C166 family. -""" - -ida_idp.PLFM_C39 -""" -Rockwell C39. -""" - -ida_idp.PLFM_CR16 -""" -NSC CR16. -""" - -ida_idp.PLFM_DALVIK -""" -Android Dalvik Virtual Machine. -""" - -ida_idp.PLFM_DSP56K -""" -Motorola DSP5600x. -""" - -ida_idp.PLFM_DSP96K -""" -Motorola DSP96000. -""" - -ida_idp.PLFM_EBC -""" -EFI Bytecode. -""" - -ida_idp.PLFM_F2MC -""" -Fujistu F2MC-16. -""" - -ida_idp.PLFM_FR -""" -Fujitsu FR Family. -""" - -ida_idp.PLFM_H8 -""" -Hitachi H8/300, H8/2000. -""" - -ida_idp.PLFM_H8500 -""" -Hitachi H8/500. -""" - -ida_idp.PLFM_HPPA -""" -Hewlett-Packard PA-RISC. -""" - -ida_idp.PLFM_I860 -""" -Intel 860. -""" - -ida_idp.PLFM_I960 -""" -Intel 960. -""" - -ida_idp.PLFM_IA64 -""" -Intel Itanium IA64. -""" - -ida_idp.PLFM_JAVA -""" -Java. -""" - -ida_idp.PLFM_KR1878 -""" -Angstrem KR1878. -""" - -ida_idp.PLFM_M16C -""" -Renesas M16C. -""" - -ida_idp.PLFM_M32R -""" -Mitsubishi 32bit RISC. -""" - -ida_idp.PLFM_M740 -""" -Mitsubishi 8bit. -""" - -ida_idp.PLFM_M7700 -""" -Mitsubishi 16bit. -""" - -ida_idp.PLFM_M7900 -""" -Mitsubishi 7900. -""" - -ida_idp.PLFM_MC6812 -""" -Motorola 68HC12. -""" - -ida_idp.PLFM_MC6816 -""" -Motorola 68HC16. -""" - -ida_idp.PLFM_MIPS -""" -MIPS. -""" - -ida_idp.PLFM_MN102L00 -""" -Panasonic MN10200. -""" - -ida_idp.PLFM_MSP430 -""" -Texas Instruments MSP430. -""" - -ida_idp.PLFM_NEC_78K0 -""" -NEC 78K0. -""" - -ida_idp.PLFM_NEC_78K0S -""" -NEC 78K0S. -""" - -ida_idp.PLFM_NEC_V850X -""" -NEC V850 and V850ES/E1/E2. -""" - -ida_idp.PLFM_NET -""" -Microsoft Visual Studio.Net. -""" - -ida_idp.PLFM_OAKDSP -""" -Atmel OAK DSP. -""" - -ida_idp.PLFM_PDP -""" -PDP11. -""" - -ida_idp.PLFM_PIC -""" -Microchip's PIC. -""" - -ida_idp.PLFM_PIC16 -""" -Microchip's 16-bit PIC. -""" - -ida_idp.PLFM_PPC -""" -PowerPC. -""" - -ida_idp.PLFM_SCR_ADPT -""" -Processor module adapter for processor modules written in scripting -languages. -""" - -ida_idp.PLFM_SH -""" -Renesas (formerly Hitachi) SuperH. -""" - -ida_idp.PLFM_SPARC -""" -SPARC. -""" - -ida_idp.PLFM_SPC700 -""" -Sony SPC700. -""" - -ida_idp.PLFM_SPU -""" -Cell Broadband Engine Synergistic Processor Unit. -""" - -ida_idp.PLFM_ST20 -""" -SGS-Thomson ST20. -""" - -ida_idp.PLFM_ST7 -""" -SGS-Thomson ST7. -""" - -ida_idp.PLFM_ST9 -""" -ST9+. -""" - -ida_idp.PLFM_TLCS900 -""" -Toshiba TLCS-900. -""" - -ida_idp.PLFM_TMS -""" -Texas Instruments TMS320C5x. -""" - -ida_idp.PLFM_TMS320C1X -""" -Texas Instruments TMS320C1x. -""" - -ida_idp.PLFM_TMS320C28 -""" -Texas Instruments TMS320C28x. -""" - -ida_idp.PLFM_TMS320C3 -""" -Texas Instruments TMS320C3. -""" - -ida_idp.PLFM_TMS320C54 -""" -Texas Instruments TMS320C54xx. -""" - -ida_idp.PLFM_TMS320C55 -""" -Texas Instruments TMS320C55xx. -""" - -ida_idp.PLFM_TMSC6 -""" -Texas Instruments TMS320C6x. -""" - -ida_idp.PLFM_TRICORE -""" -Tasking Tricore. -""" - -ida_idp.PLFM_TRIMEDIA -""" -Trimedia. -""" - -ida_idp.PLFM_UNSP -""" -SunPlus unSP. -""" - -ida_idp.PLFM_Z8 -""" -Z8. -""" - -ida_idp.PLFM_Z80 -""" -8085, Z80 -""" - -ida_idp.PRN_BIN -""" -binary -""" - -ida_idp.PRN_DEC -""" -decimal -""" - -ida_idp.PRN_HEX -""" -hex -""" - -ida_idp.PRN_OCT -""" -octal -""" - -ida_idp.PR_ADJSEGS -""" -IDA may adjust segments' starting/ending addresses. -""" - -ida_idp.PR_ALIGN -""" -All data items should be aligned properly. -""" - -ida_idp.PR_ALIGN_INSN -""" -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 -""" - -ida_idp.PR_ASSEMBLE -""" -Module has a built-in assembler and will react to ev_assemble. -""" - -ida_idp.PR_BINMEM -""" -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 -""" - -ida_idp.PR_CHK_XREF -""" -don't allow near xrefs between segments with different bases -""" - -ida_idp.PR_CNDINSNS -""" -has conditional instructions -""" - -ida_idp.PR_DEFNUM -""" -mask - default number representation -""" - -ida_idp.PR_DEFSEG32 -""" -segments are 32-bit by default -""" - -ida_idp.PR_DEFSEG64 -""" -segments are 64-bit by default -""" - -ida_idp.PR_DELAYED -""" -has delayed jumps and calls if this flag is set, -\\ph{is_basic_block_end}, \\ph{has_delay_slot} should be implemented -""" - -ida_idp.PR_NOCHANGE -""" -(display only) - -The user can't change segments and code/data attributes -""" - -ida_idp.PR_NO_SEGMOVE -""" -(i.e. the user can't move segments) - -the processor module doesn't support 'move_segm()' -""" - -ida_idp.PR_PURGING -""" -there are calling conventions which may purge bytes from the stack -""" - -ida_idp.PR_RNAMESOK -""" -allow user register names for location names -""" - -ida_idp.PR_SCALE_STKVARS -""" -use \\ph{get_stkvar_scale} callback -""" - -ida_idp.PR_SEGS -""" -has segment registers? -""" - -ida_idp.PR_SEGTRANS -""" -the processor module supports the segment translation feature (meaning -it calculates the code addresses using the 'map_code_ea()' function) -""" - -ida_idp.PR_SGROTHER -""" -the segment registers don't contain the segment selectors. -""" - -ida_idp.PR_STACK_UP -""" -the stack grows up -""" - -ida_idp.PR_TYPEINFO -""" -ALL OF THEM SHOULD BE IMPLEMENTED! - -the processor module supports type information callbacks -""" - -ida_idp.PR_USE32 -""" -supports 32-bit addressing? -""" - -ida_idp.PR_USE64 -""" -supports 64-bit addressing? -""" - -ida_idp.PR_USE_ARG_TYPES -""" -use \\ph{use_arg_types} callback -""" - -ida_idp.PR_USE_TBYTE -""" - 'BTMT_SPECFLT' means _TBYTE type -""" - -ida_idp.PR_WORD_INS -""" -instruction codes are grouped 2bytes in binary line prefix -""" - -ida_idp.REG_SPOIL -""" -processor_t::use_regarg_type uses this bit in the return value to -indicate that the register value has been spoiled -""" -=== ida_idp EPYDOC INJECTIONS END === -class ida_kernwin.Choose(): - - Chooser wrapper class. - - Some constants are defined in this class. - Please refer to kernwin.hpp for more information. - - -ida_kernwin.Choose.Activate(): - - Activates a visible chooser - - -ida_kernwin.Choose.Close(): - - Closes the chooser - - -ida_kernwin.Choose.Embedded(): - - Creates an embedded chooser (as opposed to Show()) - @return: Returns 0 on success or NO_ATTR - - -ida_kernwin.Choose.GetEmbSelection(): - - Deprecated. For embedded choosers, the selection is - available through 'Form.EmbeddedChooserControl.selection' - - -ida_kernwin.Choose.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_kernwin.Choose.Refresh(): - - Causes the refresh callback to trigger - - -ida_kernwin.Choose.Show(): - - 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; - - -ida_kernwin.Choose.UI_Hooks_Trampoline.create_desktop_widget(): - - create_desktop_widget(self, title, cfg) -> PyObject * - - -ida_kernwin.Choose.UI_Hooks_Trampoline.current_widget_changed(): - - current_widget_changed(self, widget, prev_widget) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.database_inited(): - - database_inited(self, is_new_database, idc_script) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.debugger_menu_change(): - - debugger_menu_change(self, enable) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.finish_populating_widget_popup(): - - finish_populating_widget_popup(self, widget, popup_handle, ctx=None) - - - The UI is about to be done populating the TWidget's popup menu. - Now is a good time to call idaapi.attach_action_to_popup() - - @param widget: The widget - @param popup: The popup menu. - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.get_chooser_item_attrs(): - - get_chooser_item_attrs(self, chooser, n, attrs) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.get_custom_viewer_hint(): - - get_custom_viewer_hint(self, viewer, place) -> PyObject * - - -ida_kernwin.Choose.UI_Hooks_Trampoline.get_ea_hint(): - - get_ea_hint(self, ea) -> PyObject * - - - The UI wants to display a simple hint for an address in the navigation band - - @param ea: The address - @return: String with the hint or None - - -ida_kernwin.Choose.UI_Hooks_Trampoline.get_item_hint(): - - get_item_hint(self, ea, max_lines) -> PyObject * - - -ida_kernwin.Choose.UI_Hooks_Trampoline.get_widget_config(): - - get_widget_config(self, widget, cfg) -> PyObject * - - -ida_kernwin.Choose.UI_Hooks_Trampoline.hook(): - - hook(self) -> bool - - - Creates an UI hook - - @return: Boolean true on success - - -ida_kernwin.Choose.UI_Hooks_Trampoline.idcstart(): - - idcstart(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.idcstop(): - - idcstop(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.plugin_loaded(): - - plugin_loaded(self, plugin_info) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.plugin_unloading(): - - plugin_unloading(self, plugin_info) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.postprocess_action(): - - postprocess_action(self) - - - An ida ui action has been handled - - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.preprocess_action(): - - preprocess_action(self, name) - - - IDA ui is about to handle a user action - - @param name: ui action name - (these names can be looked up in ida[tg]ui.cfg) - @return: 0-ok, nonzero - a plugin has handled the action - - -ida_kernwin.Choose.UI_Hooks_Trampoline.range(): - - range(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.ready_to_run(): - - ready_to_run(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.resume(): - - resume(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.saved(): - - saved(self) - - - The kernel has saved the database. - - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.saving(): - - saving(self) - - - The kernel is saving the database. - - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.screen_ea_changed(): - - screen_ea_changed(self, ea, prev_ea) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.set_widget_config(): - - set_widget_config(self, widget, cfg) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.suspend(): - - suspend(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.term(): - - term(self) - - - IDA is terminated and the database is already closed. - The UI may close its windows in this callback. - - -ida_kernwin.Choose.UI_Hooks_Trampoline.unhook(): - - unhook(self) -> bool - - - Removes the UI hook - @return: Boolean true on success - - -ida_kernwin.Choose.UI_Hooks_Trampoline.updated_actions(): - - updated_actions(self) - - - The UI is done updating actions. - - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.updating_actions(): - - updating_actions(self, ctx) - - - The UI is about to batch-update some actions. - - @param ctx: The action_update_ctx_t instance - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.widget_closing(): - - widget_closing(self, widget) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.widget_invisible(): - - widget_invisible(self, widget) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.widget_visible(): - - widget_visible(self, widget) - - -ida_kernwin.Choose.adjust_last_item(): - - 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) - - -ida_kernwin.CustomIDAMemo.CreateGroups(): - - 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). - - -ida_kernwin.CustomIDAMemo.DelNodesInfos(): - - Delete the properties for the given node(s). - - @param nodes: A list of node IDs - - -ida_kernwin.CustomIDAMemo.DeleteGroups(): - - 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. - - -ida_kernwin.CustomIDAMemo.GetNodeInfo(): - - Get the properties for the given node. - - @param node: The index of the node. - @return: A tuple (bg_color, frame_color, ea, text), or None. - - -ida_kernwin.CustomIDAMemo.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_kernwin.CustomIDAMemo.Refresh(): - - Refreshes the view. This causes the OnRefresh() to be called - - -ida_kernwin.CustomIDAMemo.SetCurrentRendererType(): - - Set the current view's renderer. - - @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. - - -ida_kernwin.CustomIDAMemo.SetGroupsVisibility(): - - 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. - - -ida_kernwin.CustomIDAMemo.SetNodeInfo(): - - 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. - - -ida_kernwin.CustomIDAMemo.SetNodesInfos(): - - 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. - - -ida_kernwin.CustomIDAMemo.hook(): - - hook(self) -> bool - - -ida_kernwin.CustomIDAMemo.unhook(): - - unhook(self) -> bool - - -ida_kernwin.CustomIDAMemo.view_created(): - - view_created(self, view) - - -ida_kernwin.Form.Add(): - - 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 - - -ida_kernwin.Form.AddControls(): - - 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 - - -class ida_kernwin.Form.ButtonInput(): - - 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) - - -ida_kernwin.Form.ButtonInput.free(): - - Free the control - - -ida_kernwin.Form.ButtonInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.ChkGroupControl(): - - Checkbox group control class. - It holds a set of checkbox controls - - -ida_kernwin.Form.ChkGroupControl.free(): - - Free the control - - -ida_kernwin.Form.ChkGroupControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.ChkGroupControl.is_input_field(): - - Return True if this field acts as an input - - -class ida_kernwin.Form.ChkGroupItemControl(): - - Checkbox group item control - - -ida_kernwin.Form.ChkGroupItemControl.free(): - - Free the control - - -ida_kernwin.Form.ChkGroupItemControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.Close(): - - 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 - - -class ida_kernwin.Form.ColorInput(): - - Color button input control - - -ida_kernwin.Form.ColorInput.free(): - - Free the control - - -ida_kernwin.Form.ColorInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.Compile(): - - 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 - - -ida_kernwin.Form.CompileEx(): - - 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() - - -ida_kernwin.Form.Compiled(): - - Checks if the form has already been compiled - - @return: Boolean - - -ida_kernwin.Form.Control.free(): - - Free the control - - -ida_kernwin.Form.Control.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.Control.get_tag(): - - Control tag character. One of Form.FT_XXXX. - The form class will expand the {} notation and replace them with the tags - - -ida_kernwin.Form.Control.is_input_field(): - - Return True if this field acts as an input - - -ida_kernwin.Form.ControlToFieldTypeIdAndSize(): - - Converts a control object to a tuple containing the field id - and the associated buffer size - - -class ida_kernwin.Form.DirInput(): - - Directory browsing control - - -ida_kernwin.Form.DirInput.free(): - - Free the control - - -ida_kernwin.Form.DirInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.DropdownListControl(): - - Dropdown control - This control allows manipulating a dropdown control - - -ida_kernwin.Form.DropdownListControl._free(): - - Explicitly delete the link (only if not static) - - -ida_kernwin.Form.DropdownListControl.add(): - - Add a string to the vector - - -ida_kernwin.Form.DropdownListControl.addressof(): - - Returns the address (as number) of the qstring at the given index - - -ida_kernwin.Form.DropdownListControl.assign(): - - Copies the contents of 'other' to 'self' - - -ida_kernwin.Form.DropdownListControl.clear(): - - Clears all strings from the vector. - @param qclear: Just reset the size but do not actually free the memory - - -ida_kernwin.Form.DropdownListControl.copy(): - - Returns a new copy of this class - - -ida_kernwin.Form.DropdownListControl.from_list(): - - Populates the vector from a Python string list - - -ida_kernwin.Form.DropdownListControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.DropdownListControl.insert(): - - Insert a string into the vector - - -ida_kernwin.Form.DropdownListControl.remove(): - - Removes a string from the vector - - -ida_kernwin.Form.DropdownListControl.set_items(): - - Sets the dropdown list items - - -class ida_kernwin.Form.EmbeddedChooserControl(): - - Embedded chooser control. - This control links to a Chooser2 control created with the 'embedded=True' - - -ida_kernwin.Form.EmbeddedChooserControl.free(): - - Frees the embedded chooser data - - -ida_kernwin.Form.EmbeddedChooserControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.EnableField(): - - Enable or disable an input field - @return: False - no such control - - -ida_kernwin.Form.Execute(): - - Displays a modal dialog containing the compiled form. - @return: 1 - ok ; 0 - cancel - - -class ida_kernwin.Form.FileInput(): - - File Open/Save input control - - -ida_kernwin.Form.FileInput.free(): - - Free the control - - -ida_kernwin.Form.FileInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.FindControlById(): - - Finds a control instance given its id - - -class ida_kernwin.Form.FormChangeCb(): - - 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) - - - -ida_kernwin.Form.FormChangeCb.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.FormChangeCb.is_input_field(): - - Return True if this field acts as an input - - -ida_kernwin.Form.Free(): - - Frees all resources associated with a compiled form. - Make sure you call this function when you finish using the form. - - -ida_kernwin.Form.GetControlValue(): - - 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 - - -ida_kernwin.Form.GetFocusedField(): - - Get currently focused input field. - @return: None if no field is selected otherwise the control ID - - -class ida_kernwin.Form.GroupControl(): - - Base class for group controls - - -ida_kernwin.Form.GroupControl.free(): - - Free the control - - -ida_kernwin.Form.GroupControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.GroupControl.is_input_field(): - - Return True if this field acts as an input - - -class ida_kernwin.Form.GroupItemControl(): - - Base class for group control items - - -ida_kernwin.Form.GroupItemControl.free(): - - Free the control - - -ida_kernwin.Form.GroupItemControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.InputControl(): - - Generic form input control. - It could be numeric control, string control, directory/file browsing, etc... - - -ida_kernwin.Form.InputControl.free(): - - Free the control - - -ida_kernwin.Form.InputControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.LabelControl(): - - Base class for static label control - - -ida_kernwin.Form.LabelControl.free(): - - Free the control - - -ida_kernwin.Form.LabelControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.LabelControl.is_input_field(): - - Return True if this field acts as an input - - -ida_kernwin.Form.MoveField(): - - Move/resize an input field - - @return: False - no such fiel - - -class ida_kernwin.Form.MultiLineTextControl(): - - Multi line text control. - This class inherits from textctrl_info_t. Thus the attributes are also inherited - This control allows manipulating a multilinetext control - - -ida_kernwin.Form.MultiLineTextControl._free(): - - Explicitly delete the link (only if not static) - - -ida_kernwin.Form.MultiLineTextControl.assign(): - - Copies the contents of 'other' to 'self' - - -ida_kernwin.Form.MultiLineTextControl.copy(): - - Returns a new copy of this class - - -ida_kernwin.Form.MultiLineTextControl.flags: - - Returns the flags value - - -ida_kernwin.Form.MultiLineTextControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.MultiLineTextControl.tabsize: - - Returns the tabsize value - - -ida_kernwin.Form.MultiLineTextControl.text: - - Sets the text value - - -ida_kernwin.Form.MultiLineTextControl.value: - - Sets the text value - - -class ida_kernwin.Form.NumericArgument(): - - Argument representing various integer arguments (ushort, uint32, uint64, etc...) - @param tp: One of Form.FT_XXX - - -class ida_kernwin.Form.NumericInput(): - - A composite class serving as a base numeric input control class - - -ida_kernwin.Form.NumericInput.free(): - - Free the control - - -ida_kernwin.Form.NumericInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.NumericLabel(): - - Numeric label control - - -ida_kernwin.Form.NumericLabel.free(): - - Free the control - - -ida_kernwin.Form.NumericLabel.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.NumericLabel.is_input_field(): - - Return True if this field acts as an input - - -ida_kernwin.Form.Open(): - - Opens a widget containing the compiled form. - - -class ida_kernwin.Form.RadGroupControl(): - - Radiobox group control class. - It holds a set of radiobox controls - - -ida_kernwin.Form.RadGroupControl.free(): - - Free the control - - -ida_kernwin.Form.RadGroupControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.RadGroupControl.is_input_field(): - - Return True if this field acts as an input - - -class ida_kernwin.Form.RadGroupItemControl(): - - Radiobox group item control - - -ida_kernwin.Form.RadGroupItemControl.free(): - - Free the control - - -ida_kernwin.Form.RadGroupItemControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.RefreshField(): - - Refresh a field - @return: False - no such control - - -ida_kernwin.Form.SetControlValue(): - - 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 - - -ida_kernwin.Form.SetFocusedField(): - - Set currently focused input field - @return: False - no such control - - -ida_kernwin.Form.ShowField(): - - Show or hide an input field - @return: False - no such control - - -class ida_kernwin.Form.StringArgument(): - - Argument representing a character buffer - - -class ida_kernwin.Form.StringInput(): - - Base string input control class. - This class also constructs a StringArgument - - -ida_kernwin.Form.StringInput.free(): - - Free the control - - -ida_kernwin.Form.StringInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.StringLabel(): - - String label control - - -ida_kernwin.Form.StringLabel.free(): - - Free the control - - -ida_kernwin.Form.StringLabel.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.StringLabel.is_input_field(): - - Return True if this field acts as an input - - -ida_kernwin.Form.fieldtype_to_ctype(): - - Factory method returning a ctype class corresponding to the field type string - - -class ida_kernwin.IDAViewWrapper(): - - 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.) - - -ida_kernwin.IDAViewWrapper.CreateGroups(): - - 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). - - -ida_kernwin.IDAViewWrapper.DelNodesInfos(): - - Delete the properties for the given node(s). - - @param nodes: A list of node IDs - - -ida_kernwin.IDAViewWrapper.DeleteGroups(): - - 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. - - -ida_kernwin.IDAViewWrapper.GetNodeInfo(): - - Get the properties for the given node. - - @param node: The index of the node. - @return: A tuple (bg_color, frame_color, ea, text), or None. - - -ida_kernwin.IDAViewWrapper.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_kernwin.IDAViewWrapper.Refresh(): - - Refreshes the view. This causes the OnRefresh() to be called - - -ida_kernwin.IDAViewWrapper.SetCurrentRendererType(): - - Set the current view's renderer. - - @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. - - -ida_kernwin.IDAViewWrapper.SetGroupsVisibility(): - - 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. - - -ida_kernwin.IDAViewWrapper.SetNodeInfo(): - - 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. - - -ida_kernwin.IDAViewWrapper.SetNodesInfos(): - - 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. - - -ida_kernwin.IDAViewWrapper.hook(): - - hook(self) -> bool - - -ida_kernwin.IDAViewWrapper.unhook(): - - unhook(self) -> bool - - -ida_kernwin.IDAViewWrapper.view_created(): - - view_created(self, view) - - -class ida_kernwin.PluginForm(): - - PluginForm class. - - This form can be used to host additional controls. Please check the PyQt example. - - -ida_kernwin.PluginForm.Close(): - - Closes the form. - - @param options: Close options (WCLS_SAVE, WCLS_NO_CONTEXT, ...) - - @return: None - - -ida_kernwin.PluginForm.FormToPyQtWidget(): - - 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 - - -ida_kernwin.PluginForm.FormToPySideWidget(): - - 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 - - -ida_kernwin.PluginForm.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_kernwin.PluginForm.OnClose(): - - Called when the plugin form is closed - - @return: None - - -ida_kernwin.PluginForm.OnCreate(): - - This event is called when the plugin form is created. - The programmer should populate the form when this event is triggered. - - @return: None - - -ida_kernwin.PluginForm.QtWidgetToTWidget(): - - 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 - - -ida_kernwin.PluginForm.Show(): - - 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 - - -ida_kernwin.PluginForm.TWidgetToPyQtWidget(): - - 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 - - -ida_kernwin.PluginForm.TWidgetToPySideWidget(): - - 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 - - -ida_kernwin.TWidget__from_ptrval__(): - - TWidget__from_ptrval__(ptrval) -> TWidget * - - -class ida_kernwin.UI_Hooks(): - - Proxy of C++ UI_Hooks class - - -ida_kernwin.UI_Hooks.create_desktop_widget(): - - create_desktop_widget(self, title, cfg) -> PyObject * - - -ida_kernwin.UI_Hooks.current_widget_changed(): - - current_widget_changed(self, widget, prev_widget) - - -ida_kernwin.UI_Hooks.database_inited(): - - database_inited(self, is_new_database, idc_script) - - -ida_kernwin.UI_Hooks.debugger_menu_change(): - - debugger_menu_change(self, enable) - - -ida_kernwin.UI_Hooks.finish_populating_widget_popup(): - - finish_populating_widget_popup(self, widget, popup_handle, ctx=None) - - - The UI is about to be done populating the TWidget's popup menu. - Now is a good time to call idaapi.attach_action_to_popup() - - @param widget: The widget - @param popup: The popup menu. - @return: Ignored - - -ida_kernwin.UI_Hooks.get_chooser_item_attrs(): - - get_chooser_item_attrs(self, chooser, n, attrs) - - -ida_kernwin.UI_Hooks.get_custom_viewer_hint(): - - get_custom_viewer_hint(self, viewer, place) -> PyObject * - - -ida_kernwin.UI_Hooks.get_ea_hint(): - - get_ea_hint(self, ea) -> PyObject * - - - The UI wants to display a simple hint for an address in the navigation band - - @param ea: The address - @return: String with the hint or None - - -ida_kernwin.UI_Hooks.get_item_hint(): - - get_item_hint(self, ea, max_lines) -> PyObject * - - -ida_kernwin.UI_Hooks.get_widget_config(): - - get_widget_config(self, widget, cfg) -> PyObject * - - -ida_kernwin.UI_Hooks.hook(): - - hook(self) -> bool - - - Creates an UI hook - - @return: Boolean true on success - - -ida_kernwin.UI_Hooks.idcstart(): - - idcstart(self) - - -ida_kernwin.UI_Hooks.idcstop(): - - idcstop(self) - - -ida_kernwin.UI_Hooks.plugin_loaded(): - - plugin_loaded(self, plugin_info) - - -ida_kernwin.UI_Hooks.plugin_unloading(): - - plugin_unloading(self, plugin_info) - - -ida_kernwin.UI_Hooks.populating_widget_popup(): - - populating_widget_popup(self, widget, popup_handle, ctx=None) - - - The UI is populating the TWidget's popup menu. - Now is a good time to call idaapi.attach_action_to_popup() - - @param widget: The widget - @param popup: The popup menu. - @return: Ignored - - -ida_kernwin.UI_Hooks.postprocess_action(): - - postprocess_action(self) - - - An ida ui action has been handled - - @return: Ignored - - -ida_kernwin.UI_Hooks.preprocess_action(): - - preprocess_action(self, name) - - - IDA ui is about to handle a user action - - @param name: ui action name - (these names can be looked up in ida[tg]ui.cfg) - @return: 0-ok, nonzero - a plugin has handled the action - - -ida_kernwin.UI_Hooks.range(): - - range(self) - - -ida_kernwin.UI_Hooks.ready_to_run(): - - ready_to_run(self) - - -ida_kernwin.UI_Hooks.resume(): - - resume(self) - - -ida_kernwin.UI_Hooks.saved(): - - saved(self) - - - The kernel has saved the database. - - @return: Ignored - - -ida_kernwin.UI_Hooks.saving(): - - saving(self) - - - The kernel is saving the database. - - @return: Ignored - - -ida_kernwin.UI_Hooks.screen_ea_changed(): - - screen_ea_changed(self, ea, prev_ea) - - -ida_kernwin.UI_Hooks.set_widget_config(): - - set_widget_config(self, widget, cfg) - - -ida_kernwin.UI_Hooks.suspend(): - - suspend(self) - - -ida_kernwin.UI_Hooks.term(): - - term(self) - - - IDA is terminated and the database is already closed. - The UI may close its windows in this callback. - - -ida_kernwin.UI_Hooks.unhook(): - - unhook(self) -> bool - - - Removes the UI hook - @return: Boolean true on success - - -ida_kernwin.UI_Hooks.updated_actions(): - - updated_actions(self) - - - The UI is done updating actions. - - @return: Ignored - - -ida_kernwin.UI_Hooks.updating_actions(): - - updating_actions(self, ctx) - - - The UI is about to batch-update some actions. - - @param ctx: The action_update_ctx_t instance - @return: Ignored - - -ida_kernwin.UI_Hooks.widget_closing(): - - widget_closing(self, widget) - - -ida_kernwin.UI_Hooks.widget_invisible(): - - widget_invisible(self, widget) - - -ida_kernwin.UI_Hooks.widget_visible(): - - widget_visible(self, widget) - - -class ida_kernwin.View_Hooks(): - - Proxy of C++ View_Hooks class - - -ida_kernwin.View_Hooks.hook(): - - hook(self) -> bool - - -ida_kernwin.View_Hooks.unhook(): - - unhook(self) -> bool - - -ida_kernwin.View_Hooks.view_activated(): - - view_activated(self, view) - - -ida_kernwin.View_Hooks.view_click(): - - view_click(self, view, event) - - -ida_kernwin.View_Hooks.view_close(): - - view_close(self, view) - - -ida_kernwin.View_Hooks.view_created(): - - view_created(self, view) - - -ida_kernwin.View_Hooks.view_curpos(): - - view_curpos(self, view) - - -ida_kernwin.View_Hooks.view_dblclick(): - - view_dblclick(self, view, event) - - -ida_kernwin.View_Hooks.view_deactivated(): - - view_deactivated(self, view) - - -ida_kernwin.View_Hooks.view_keydown(): - - view_keydown(self, view, key, state) - - -ida_kernwin.View_Hooks.view_loc_changed(): - - view_loc_changed(self, view, now, was) - - -ida_kernwin.View_Hooks.view_mouse_moved(): - - view_mouse_moved(self, view, event) - - -ida_kernwin.View_Hooks.view_mouse_over(): - - view_mouse_over(self, view, event) - - -ida_kernwin.View_Hooks.view_switched(): - - view_switched(self, view, rt) - - -class ida_kernwin.action_ctx_base_t(): - - Proxy of C++ action_ctx_base_t class - - -ida_kernwin.action_ctx_base_t.action: - action_ctx_base_t_action_get(self) -> char const * - -ida_kernwin.action_ctx_base_t.chooser_selection: - action_ctx_base_t_chooser_selection_get(self) -> sizevec_t * - -ida_kernwin.action_ctx_base_t.cur_ea: - action_ctx_base_t_cur_ea_get(self) -> ea_t - -ida_kernwin.action_ctx_base_t.cur_enum: - action_ctx_base_t_cur_enum_get(self) -> enum_t - -ida_kernwin.action_ctx_base_t.cur_extracted_ea: - action_ctx_base_t_cur_value_get(self) -> uval_t - -ida_kernwin.action_ctx_base_t.cur_fchunk: - action_ctx_base_t_cur_fchunk_get(self) -> func_t * - -ida_kernwin.action_ctx_base_t.cur_flags: - action_ctx_base_t_cur_flags_get(self) -> uint32 - -ida_kernwin.action_ctx_base_t.cur_func: - action_ctx_base_t_cur_func_get(self) -> func_t * - -ida_kernwin.action_ctx_base_t.cur_seg: - action_ctx_base_t_cur_seg_get(self) -> segment_t * - -ida_kernwin.action_ctx_base_t.cur_strmem: - action_ctx_base_t_cur_strmem_get(self) -> member_t * - -ida_kernwin.action_ctx_base_t.cur_struc: - action_ctx_base_t_cur_struc_get(self) -> struc_t * - -ida_kernwin.action_ctx_base_t.cur_value: - action_ctx_base_t_cur_value_get(self) -> uval_t - -ida_kernwin.action_ctx_base_t.focus: - action_ctx_base_t_focus_get(self) -> TWidget * - -ida_kernwin.action_ctx_base_t.form: - - _get_form(self) -> TWidget * - - -ida_kernwin.action_ctx_base_t.form_title: - - _get_form_title(self) -> qstring - - -ida_kernwin.action_ctx_base_t.form_type: - - _get_form_type(self) -> twidget_type_t - - -ida_kernwin.action_ctx_base_t.has_flag(): - - has_flag(self, flag) -> bool - - -ida_kernwin.action_ctx_base_t.regname: - action_ctx_base_t_regname_get(self) -> char const * - -ida_kernwin.action_ctx_base_t.reserved: - action_ctx_base_t_reserved_get(self) -> void * - -ida_kernwin.action_ctx_base_t.reset(): - - reset(self) - - -ida_kernwin.action_ctx_base_t.widget: - action_ctx_base_t_widget_get(self) -> TWidget * - -ida_kernwin.action_ctx_base_t.widget_title: - action_ctx_base_t_widget_title_get(self) -> qstring * - -ida_kernwin.action_ctx_base_t.widget_type: - action_ctx_base_t_widget_type_get(self) -> twidget_type_t - -class ida_kernwin.action_desc_t(): - - Proxy of C++ action_desc_t class - - -ida_kernwin.action_desc_t.cb: - action_desc_t_cb_get(self) -> int - -ida_kernwin.action_desc_t.flags: - action_desc_t_flags_get(self) -> int - -ida_kernwin.action_desc_t.icon: - action_desc_t_icon_get(self) -> int - -ida_kernwin.action_desc_t.label: - action_desc_t_label_get(self) -> char const * - -ida_kernwin.action_desc_t.name: - action_desc_t_name_get(self) -> char const * - -ida_kernwin.action_desc_t.owner: - action_desc_t_owner_get(self) -> plugin_t const * - -ida_kernwin.action_desc_t.shortcut: - action_desc_t_shortcut_get(self) -> char const * - -ida_kernwin.action_desc_t.tooltip: - action_desc_t_tooltip_get(self) -> char const * - -ida_kernwin.activate_widget(): - - activate_widget(widget, take_focus) - - - Activate widget (only gui version) ( 'ui_activate_widget' ). - - @param widget: existing widget to display (C++: TWidget *) - @param take_focus: give focus to given widget (C++: bool) - - -ida_kernwin.add_hotkey(): - - add_hotkey(hotkey, pyfunc) -> PyObject * - - - 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. - - -ida_kernwin.add_idc_hotkey(): - - add_idc_hotkey(hotkey, idcfunc) -> int - - - Add hotkey for IDC function ( 'ui_add_idckey' ). - - @param hotkey: hotkey name (C++: const char *) - @param idcfunc: IDC function name (C++: const char *) - @return: IDC hotkey error codes - - -ida_kernwin.add_spaces(): - - add_spaces(s, len) -> PyObject * - - - 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 len: the desired length of the string (C++: ssize_t) - @return: pointer to the end of input string - - -ida_kernwin.addon_count(): - - addon_count() -> int - - - Get number of installed addons. - - -class ida_kernwin.addon_info_t(): - - Proxy of C++ addon_info_t class - - -ida_kernwin.addon_info_t.cb: - addon_info_t_cb_get(self) -> size_t - -ida_kernwin.addon_info_t.custom_data: - addon_info_t_custom_data_get(self) -> void const * - -ida_kernwin.addon_info_t.custom_size: - addon_info_t_custom_size_get(self) -> size_t - -ida_kernwin.addon_info_t.freeform: - addon_info_t_freeform_get(self) -> char const * - -ida_kernwin.addon_info_t.id: - addon_info_t_id_get(self) -> char const * - -ida_kernwin.addon_info_t.name: - addon_info_t_name_get(self) -> char const * - -ida_kernwin.addon_info_t.producer: - addon_info_t_producer_get(self) -> char const * - -ida_kernwin.addon_info_t.url: - addon_info_t_url_get(self) -> char const * - -ida_kernwin.addon_info_t.version: - addon_info_t_version_get(self) -> char const * - -ida_kernwin.analyzer_options(): - - analyzer_options() - - - Allow the user to set analyzer options. (show a dialog box) ( - 'ui_analyzer_options' ) - - -ida_kernwin.ask_buttons(): - - ask_buttons(Yes, No, Cancel, deflt, format) -> int - - - Display a dialog box and get choice from maximum three possibilities ( - 'ui_ask_buttons' ).for all buttons:use "" or NULL to take the default - name for the button.use 'format' to hide the cancel button - - @param Yes: text for the first button (C++: const char *) - @param No: text for the second button (C++: const char *) - @param Cancel: text for the third button (C++: const char *) - @param deflt: default choice: one of Button IDs (C++: int) - @param format: printf-style format string for question. It may have - some prefixes, see below. (C++: const char *) - @return: one of Button IDs specifying the selected button (Esc key - returns Cancel/3rd button value) - - -ida_kernwin.ask_file(): - - ask_file(for_saving, defval, format) -> char * - - -ida_kernwin.ask_for_feedback(): - - ask_for_feedback(format) - - - Show a message box asking to send the input file tosupport@hex- - rays.com. - - @param format: the reason why the input file is bad (C++: const char - *) - - -ida_kernwin.ask_str(): - - ask_str(defval, hist, prompt) -> PyObject * - - - Asks for a long text - - @param hist: history id - @param defval: The default value - @param prompt: The prompt value - @return: None or the entered string - - -ida_kernwin.ask_text(): - - ask_text(max_size, defval, prompt) -> PyObject * - - - 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 - - -ida_kernwin.ask_yn(): - - ask_yn(deflt, format) -> int - - - Display a dialog box and get choice from "Yes", "No", "Cancel". - - @param deflt: default choice: one of Button IDs (C++: int) - @param format: The question in printf() style format (C++: const char - *) - @return: the selected button (one of Button IDs ). Esc key returns - ASKBTN_CANCEL . - - -ida_kernwin.attach_action_to_menu(): - - attach_action_to_menu(menupath, name, flags) -> bool - - - Attach a previously-registered action to the menu ( - 'ui_attach_action_to_menu' ).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: 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 (C++: const - char *) - @param name: the action name (C++: const char *) - @param flags: a combination of Set menu flags , to determine menu - item position (C++: int) - @return: success - - -ida_kernwin.attach_action_to_popup(): - - 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: target widget (C++: TWidget *) - @param popup_handle: target popup menu if non-NULL, the action is - added to this popup menu invocation (i.e., - 'single-shot') if NULL, the action is added to - a list of actions that should always be present - in context menus for this widget (i.e., - 'permanent'.) (C++: TPopupMenu *) - @param name: action name (C++: const char *) - @param popuppath: can be NULL (C++: const char *) - @param flags: a combination of SETMENU_ flags (see Set menu flags ) - (C++: int) - @return: success - - -ida_kernwin.attach_action_to_toolbar(): - - attach_action_to_toolbar(toolbar_name, name) -> bool - - - Attach an action to an existing toolbar ( - 'ui_attach_action_to_toolbar' ). - - @param toolbar_name: the name of the toolbar (C++: const char *) - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.attach_dynamic_action_to_popup(): - - attach_dynamic_action_to_popup(widget, popup_handle, desc, popuppath=None, flags=0) -> bool - - - Create & insert an action into the widget's popup menu ( - 'ui_attach_dynamic_action_to_popup' ). 'action_desc_t::handler' for - 'desc' must be instantiated using 'new', as it will be 'delete'd when - the action is unregistered. - - @param widget: target widget (C++: TWidget *) - @param popup_handle: target popup (C++: TPopupMenu *) - @param desc: created with DYNACTION_DESC_LITERAL (C++: const - action_desc_t &) - @param popuppath: can be NULL (C++: const char *) - @param flags: a combination of SETMENU_ constants (see Set menu flags - ) (C++: int) - @return: success - - -ida_kernwin.banner(): - - banner(wait) -> bool - - - Show a banner dialog box ( 'ui_banner' ). - - @param wait: time to wait before closing (C++: int) - - -ida_kernwin.beep(): - - beep(beep_type=beep_default) - - - Issue a beeping sound ( 'ui_beep' ). - - @param beep_type: beep_t (C++: beep_t) - - -ida_kernwin.call_nav_colorizer(): - - 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(). - - -ida_kernwin.cancel_exec_request(): - - cancel_exec_request(req_id) -> bool - - - Try to cancel an asynchronous exec request ( 'ui_cancel_exec_request' - ). - - @param req_id: request id (C++: int) - - -ida_kernwin.choose_activate(): - - choose_activate(self) - - -ida_kernwin.choose_choose(): - - choose_choose(self) -> int - - -ida_kernwin.choose_close(): - - choose_close(self) - - -ida_kernwin.choose_create_embedded_chobj(): - - choose_create_embedded_chobj(self) -> uint64 - - -ida_kernwin.choose_entry(): - - choose_entry(title) -> ea_t - - - Choose an entry point ( 'ui_choose' , 'chtype_entry' ). - - @param title: chooser title (C++: const char *) - @return: ea of selected entry point, BADADDR if none selected - - -ida_kernwin.choose_enum(): - - choose_enum(title, default_id) -> enum_t - - - Choose an enum ( 'ui_choose' , 'chtype_enum' ). - - @param title: chooser title (C++: const char *) - @param default_id: id of enum to select by default (C++: enum_t) - @return: enum id of selected enum, BADNODE if none selected - - -ida_kernwin.choose_enum_by_value(): - - choose_enum_by_value(title, default_id, value, nbytes) -> enum_t - - - 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 title: chooser title (C++: const char *) - @param default_id: id of enum to select by default (C++: enum_t) - @param value: value to search for (C++: uval_t) - @param nbytes: size of value (C++: int) - @return: enum id of selected (or imported) enum, BADNODE if none was - found - - -ida_kernwin.choose_find(): - - choose_find(title) -> PyObject * - - -ida_kernwin.choose_func(): - - choose_func(title, default_ea) -> func_t * - - - Choose a function ( 'ui_choose' , 'chtype_func' ). - - @param title: chooser title (C++: const char *) - @param default_ea: ea of function to select by default (C++: ea_t) - @return: pointer to function that was selected, NULL if none selected - - -ida_kernwin.choose_get_widget(): - - choose_get_widget(self) -> TWidget * - - -ida_kernwin.choose_idasgn(): - - choose_idasgn() -> PyObject * - - - Opens the signature chooser - - @return: None or the selected signature name - - -ida_kernwin.choose_name(): - - choose_name(title) -> ea_t - - - Choose a name ( 'ui_choose' , 'chtype_name' ). - - @param title: chooser title (C++: const char *) - @return: ea of selected name, BADADDR if none selected - - -ida_kernwin.choose_refresh(): - - choose_refresh(self) - - -ida_kernwin.choose_segm(): - - choose_segm(title, default_ea) -> segment_t * - - - Choose a segment ( 'ui_choose' , 'chtype_segm' ). - - @param title: chooser title (C++: const char *) - @param default_ea: ea of segment to select by default (C++: ea_t) - @return: pointer to segment that was selected, NULL if none selected - - -ida_kernwin.choose_srcp(): - - choose_srcp(title) -> sreg_range_t * - - - Choose a segment register change point ( 'ui_choose' , 'chtype_srcp' - ). - - @param title: chooser title (C++: const char *) - @return: pointer to segment register range of selected change point, - NULL if none selected - - -ida_kernwin.choose_stkvar_xref(): - - choose_stkvar_xref(pfn, mptr) -> ea_t - - - Choose an xref to a stack variable ( 'ui_choose' , 'chtype_name' ). - - @param pfn: function (C++: func_t *) - @param mptr: variable (C++: member_t *) - @return: ea of the selected xref, BADADDR if none selected - - -ida_kernwin.choose_struc(): - - choose_struc(title) -> struc_t * - - - Choose a structure ( 'ui_choose' , 'chtype_segm' ). - - @param title: chooser title; (C++: const char *) - @return: pointer to structure that was selected, NULL if none selected - - -ida_kernwin.choose_til(): - - choose_til() -> bool - - - Choose a type library ( 'ui_choose' , 'chtype_idatil' ). - - -ida_kernwin.choose_xref(): - - choose_xref(to) -> ea_t - - - Choose an xref to an address ( 'ui_choose' , 'chtype_xref' ). - - @param to: referenced address (C++: ea_t) - @return: ea of selected xref, BADADDR if none selected - - -class ida_kernwin.chooser_item_attrs_t(): - - Proxy of C++ chooser_item_attrs_t class - - -ida_kernwin.chooser_item_attrs_t.color: - chooser_item_attrs_t_color_get(self) -> bgcolor_t - -ida_kernwin.chooser_item_attrs_t.flags: - chooser_item_attrs_t_flags_get(self) -> int - -ida_kernwin.chooser_item_attrs_t.reset(): - - reset(self) - - -ida_kernwin.clear_refresh_request(): - - clear_refresh_request(mask) - - -class ida_kernwin.cli_t(): - - cli_t wrapper class. - - This class allows you to implement your own command line interface handlers. - - -ida_kernwin.cli_t.register(): - - 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 - - -ida_kernwin.cli_t.unregister(): - - Unregisters the CLI (if it was registered) - - -ida_kernwin.close_chooser(): - - close_chooser(title) -> bool - - - Close a non-modal chooser ( 'ui_close_chooser' ). - - @param title: window title of chooser to close (C++: const char *) - @return: success - - -ida_kernwin.close_widget(): - - close_widget(widget, options) - - - Close widget ( 'ui_close_widget' , only gui version). - - @param widget: pointer to the widget to close (C++: TWidget *) - @param options: Form close flags (C++: int) - - -ida_kernwin.clr_cancelled(): - - clr_cancelled() - - - Clear "Cancelled" flag ( 'ui_clr_cancelled' ) - - -ida_kernwin.create_code_viewer(): - - 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: the custom view to be added (C++: TWidget *) - @param flags: Code viewer flags (C++: int) - @param parent: widget to contain the new code viewer (C++: TWidget *) - - -ida_kernwin.create_empty_widget(): - - create_empty_widget(title, icon=-1) -> TWidget * - - - Create an empty widget, serving as a container for custom user widgets - - @param title (C++: const char *) - @param icon (C++: int) - - -ida_kernwin.create_menu(): - - 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-NULL, 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: name of menu (must be unique) (C++: const char *) - @param label: label of menu (C++: const char *) - @param menupath: where should the menu be inserted (C++: const char *) - @return: success - - -ida_kernwin.create_toolbar(): - - create_toolbar(name, label, before=None, flags=0) -> bool - - - Create a toolbar with the given name, label and optional position - - @param name: name of toolbar (must be unique) (C++: const char *) - @param label: label of toolbar (C++: const char *) - @param before: if non-NULL, the toolbar before which the new toolbar - will be inserted (C++: const char *) - @param flags: a combination of create toolbar flags , to determine - toolbar position (C++: int) - @return: success - - -ida_kernwin.custom_viewer_jump(): - - custom_viewer_jump(v, loc, flags) -> bool - - - Append 'loc' to the viewer's history, and cause the viewer to display - it. - - @param v: (TWidget *) (C++: TWidget *) - @param loc: (const lochist_entry_t &) (C++: const lochist_entry_t - &) - @param flags: (uint32) or'ed combination of CVNF_* values (C++: - uint32) - @return: success - - -ida_kernwin.del_hotkey(): - - del_hotkey(pyctx) -> bool - - - Deletes a previously registered function hotkey - - @param ctx: Hotkey context previously returned by add_hotkey() - - @return: Boolean. - - -ida_kernwin.del_idc_hotkey(): - - del_idc_hotkey(hotkey) -> bool - - - Delete IDC function hotkey ( 'ui_del_idckey' ). - - @param hotkey: hotkey name (C++: const char *) - - -ida_kernwin.delete_menu(): - - delete_menu(name) -> bool - - - Delete an existing menu - - @param name: name of menu (C++: const char *) - @return: success - - -ida_kernwin.delete_toolbar(): - - delete_toolbar(name) -> bool - - - Delete an existing toolbar - - @param name: name of toolbar (C++: const char *) - @return: success - - -ida_kernwin.detach_action_from_menu(): - - detach_action_from_menu(menupath, name) -> bool - - - Detach an action from the menu ( 'ui_detach_action_from_menu' ). - - @param menupath: path to the menu item (C++: const char *) - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.detach_action_from_popup(): - - 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: target widget (C++: TWidget *) - @param name: action name (C++: const char *) - - -ida_kernwin.detach_action_from_toolbar(): - - detach_action_from_toolbar(toolbar_name, name) -> bool - - - Detach an action from the toolbar ( 'ui_detach_action_from_toolbar' ). - - @param toolbar_name: the name of the toolbar (C++: const char *) - @param name: the action name (C++: const char *) - @return: success - - -class ida_kernwin.disasm_line_t(): - - Proxy of C++ disasm_line_t class - - -ida_kernwin.disasm_line_t.at: - disasm_line_t_at_get(self) -> place_t - -ida_kernwin.disasm_line_t.bg_color: - disasm_line_t_bg_color_get(self) -> bgcolor_t - -ida_kernwin.disasm_line_t.is_default: - disasm_line_t_is_default_get(self) -> bool - -ida_kernwin.disasm_line_t.line: - disasm_line_t_line_get(self) -> qstring * - -ida_kernwin.disasm_line_t.prefix_color: - disasm_line_t_prefix_color_get(self) -> color_t - -class ida_kernwin.disasm_text_t(): - - Proxy of C++ qvector<(disasm_line_t)> class - - -ida_kernwin.disasm_text_t.at(): - - at(self, _idx) -> disasm_line_t - - -ida_kernwin.disasm_text_t.begin(): - - begin(self) -> disasm_line_t - begin(self) -> disasm_line_t - - -ida_kernwin.disasm_text_t.capacity(): - - capacity(self) -> size_t - - -ida_kernwin.disasm_text_t.clear(): - - clear(self) - - -ida_kernwin.disasm_text_t.empty(): - - empty(self) -> bool - - -ida_kernwin.disasm_text_t.end(): - - end(self) -> disasm_line_t - end(self) -> disasm_line_t - - -ida_kernwin.disasm_text_t.erase(): - - erase(self, it) -> disasm_line_t - erase(self, first, last) -> disasm_line_t - - -ida_kernwin.disasm_text_t.extract(): - - extract(self) -> disasm_line_t - - -ida_kernwin.disasm_text_t.grow(): - - grow(self, x=disasm_line_t()) - - -ida_kernwin.disasm_text_t.inject(): - - inject(self, s, len) - - -ida_kernwin.disasm_text_t.insert(): - - insert(self, it, x) -> disasm_line_t - - -ida_kernwin.disasm_text_t.pop_back(): - - pop_back(self) - - -ida_kernwin.disasm_text_t.push_back(): - - push_back(self, x) - push_back(self) -> disasm_line_t - - -ida_kernwin.disasm_text_t.qclear(): - - qclear(self) - - -ida_kernwin.disasm_text_t.reserve(): - - reserve(self, cnt) - - -ida_kernwin.disasm_text_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_kernwin.disasm_text_t.size(): - - size(self) -> size_t - - -ida_kernwin.disasm_text_t.swap(): - - swap(self, r) - - -ida_kernwin.disasm_text_t.truncate(): - - truncate(self) - - -ida_kernwin.display_copyright_warning(): - - display_copyright_warning() -> bool - - - Display copyright warning ( 'ui_copywarn' ). - - @return: yes/no - - -ida_kernwin.display_widget(): - - display_widget(widget, options, dest_ctrl=None) - - - Display a widget, dock it if not done before - - @param widget: widget to display (C++: TWidget *) - @param options: Widget open flags (C++: uint32) - @param dest_ctrl: where to dock: if NULL or invalid then use the - active docker if there is not create a new tab - relative to current active tab (C++: const char *) - - -ida_kernwin.ea2str(): - - ea2str(ea) -> size_t - - - Convert linear address to UTF-8 string. - - - @param ea (C++: ea_t) - - -ida_kernwin.ea_viewer_history_push_and_jump(): - - 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: ea viewer (C++: TWidget *) - @param ea: jump destination (C++: ea_t) - @param x: coords on screen (C++: int) - @param y: coords on screen (C++: int) - @param lnnum: desired line number of given address (C++: int) - - -ida_kernwin.enable_chooser_item_attrs(): - - 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_attrsevents 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 *) - @param enable (C++: bool) - @return: success - - -class ida_kernwin.enumplace_t(): - - Proxy of C++ enumplace_t class - - -ida_kernwin.enumplace_t._print(): - - _print(self, out_buf, ud) - - -ida_kernwin.enumplace_t.adjust(): - - adjust(self, ud) - - -ida_kernwin.enumplace_t.as_enumplace_t(): - - as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.enumplace_t.as_idaplace_t(): - - as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.enumplace_t.as_simpleline_place_t(): - - as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.enumplace_t.as_structplace_t(): - - as_structplace_t(p) -> structplace_t - - -ida_kernwin.enumplace_t.beginning(): - - beginning(self, ud) -> bool - - -ida_kernwin.enumplace_t.bmask: - enumplace_t_bmask_get(self) -> bmask_t - -ida_kernwin.enumplace_t.clone(): - - clone(self) -> place_t - - -ida_kernwin.enumplace_t.compare(): - - compare(self, t2) -> int - - -ida_kernwin.enumplace_t.copyfrom(): - - copyfrom(self, _from) - - -ida_kernwin.enumplace_t.ending(): - - ending(self, ud) -> bool - - -ida_kernwin.enumplace_t.enter(): - - enter(self, arg2) -> place_t - - -ida_kernwin.enumplace_t.generate(): - - generate(self, ud, maxsize) -> PyObject * - - -ida_kernwin.enumplace_t.id(): - - id(self) -> int - - -ida_kernwin.enumplace_t.idx: - enumplace_t_idx_get(self) -> size_t - -ida_kernwin.enumplace_t.leave(): - - leave(self, arg2) - - -ida_kernwin.enumplace_t.lnnum: - place_t_lnnum_get(self) -> int - -ida_kernwin.enumplace_t.makeplace(): - - makeplace(self, ud, x, lnnum) -> place_t - - -ida_kernwin.enumplace_t.name(): - - name(self) -> char const * - - -ida_kernwin.enumplace_t.next(): - - next(self, ud) -> bool - - -ida_kernwin.enumplace_t.prev(): - - prev(self, ud) -> bool - - -ida_kernwin.enumplace_t.rebase(): - - rebase(self, arg2) -> bool - - -ida_kernwin.enumplace_t.serial: - enumplace_t_serial_get(self) -> uchar - -ida_kernwin.enumplace_t.toea(): - - toea(self) -> ea_t - - -ida_kernwin.enumplace_t.touval(): - - touval(self, ud) -> uval_t - - -ida_kernwin.enumplace_t.value: - enumplace_t_value_get(self) -> uval_t - -ida_kernwin.error(): - - error(format) - - - Display a fatal message in a message box and quit IDA - - @param format: message to print - - -ida_kernwin.execute_sync(): - - execute_sync(py_callable, reqf) -> int - - - 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 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 - - -ida_kernwin.execute_ui_requests(): - - 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 callabale item - - -ida_kernwin.find_widget(): - - 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: title of tab, or window title if widget is not tabbed - (C++: const char *) - @return: pointer to the TWidget, NULL if none is found - - -ida_kernwin.formchgcbfa_close(): - - formchgcbfa_close(p_fa, close_normally) - - -ida_kernwin.formchgcbfa_enable_field(): - - formchgcbfa_enable_field(p_fa, fid, enable) -> bool - - -ida_kernwin.formchgcbfa_get_field_value(): - - formchgcbfa_get_field_value(p_fa, fid, ft, sz) -> PyObject * - - -ida_kernwin.formchgcbfa_get_focused_field(): - - formchgcbfa_get_focused_field(p_fa) -> int - - -ida_kernwin.formchgcbfa_move_field(): - - formchgcbfa_move_field(p_fa, fid, x, y, w, h) -> bool - - -ida_kernwin.formchgcbfa_refresh_field(): - - formchgcbfa_refresh_field(p_fa, fid) - - -ida_kernwin.formchgcbfa_set_field_value(): - - formchgcbfa_set_field_value(p_fa, fid, ft, py_val) -> bool - - -ida_kernwin.formchgcbfa_set_focused_field(): - - formchgcbfa_set_focused_field(p_fa, fid) -> bool - - -ida_kernwin.formchgcbfa_show_field(): - - formchgcbfa_show_field(p_fa, fid, show) -> bool - - -ida_kernwin.free_custom_icon(): - - free_custom_icon(icon_id) - - - Frees an icon loaded with load_custom_icon() - - -ida_kernwin.gen_disasm_text(): - - gen_disasm_text(text, ea1, ea2, truncate_lines) - - - Generate disassembly text for a range. - - @param text: result (C++: text_t &) - @param ea1: start address (C++: ea_t) - @param ea2: end address (C++: ea_t) - @param truncate_lines: (on idainfo::margin ) (C++: bool) - - -ida_kernwin.get_action_checkable(): - - get_action_checkable(name) -> bool - - - Get an action's checkability ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_checked(): - - get_action_checked(name) -> bool - - - Get an action's checked state ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_icon(): - - get_action_icon(name) -> bool - - - Get an action's icon ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_label(): - - get_action_label(name) -> bool - - - Get an action's label ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_shortcut(): - - get_action_shortcut(name) -> bool - - - Get an action's shortcut ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_state(): - - get_action_state(name) -> bool - - - Get an action's state ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_tooltip(): - - get_action_tooltip(name) -> bool - - - Get an action's tooltip ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_visibility(): - - get_action_visibility(name) -> bool - - - Get an action's visibility ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_active_modal_widget(): - - 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 NULL even if it is currently shown. - - @return: TWidget * the active modal widget, or NULL - - -ida_kernwin.get_addon_info(): - - 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 *) - @param info (C++: addon_info_t *) - @return: false if not found - - -ida_kernwin.get_addon_info_idx(): - - 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 - - -ida_kernwin.get_chooser_data(): - - get_chooser_data(chooser_caption, n) -> PyObject * - - - Get the text corresponding to the index N in the chooser data. Use -1 - to get the header. - - @param chooser_caption (C++: const char *) - @param n (C++: int) - - -ida_kernwin.get_chooser_obj(): - - get_chooser_obj(chooser_caption) -> void * - - - Get the underlying object of the specified chooser ( - 'ui_get_chooser_obj' ).This is object is chooser-specific. - - @param chooser_caption (C++: const char *) - @return: the object that was used to create the chooser - - -ida_kernwin.get_curline(): - - 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) - - -ida_kernwin.get_current_viewer(): - - get_current_viewer() -> TWidget * - - - Get current ida viewer (idaview or custom viewer) ( - 'ui_get_current_viewer' ) - - -ida_kernwin.get_current_widget(): - - get_current_widget() -> TWidget * - - - Get a pointer to the current widget ( 'ui_get_current_widget' ). - - -ida_kernwin.get_cursor(): - - get_cursor() -> bool - - - Get the cursor position on the screen ( 'ui_get_cursor' ).coordinates - are 0-based - - -ida_kernwin.get_custom_viewer_curline(): - - 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 - - @param custom_viewer: view (C++: TWidget *) - @param mouse: mouse position (otherwise cursor position) (C++: bool) - @return: pointer to contents of current line - - -ida_kernwin.get_custom_viewer_place(): - - get_custom_viewer_place(custom_viewer, mouse) -> place_t - - - Get current place in a custom viewer ( 'ui_get_curplace' ). - - @param custom_viewer: view (C++: TWidget *) - @param mouse: mouse position (otherwise cursor position) (C++: bool) - - -ida_kernwin.get_ea_viewer_history_info(): - - get_ea_viewer_history_info(nback, nfwd, v) -> bool - - - Get information about what's in the history ( - 'ui_ea_viewer_history_info' ). - - @param nback: number of available back steps (C++: int *) - @param nfwd: number of available forward steps (C++: int *) - @param v: ea viewer (C++: TWidget *) - - -ida_kernwin.get_hexdump_ea(): - - get_hexdump_ea(hexdump_num) -> ea_t - - - Get the current address in a hex view. - - @param hexdump_num: number of hexview window (C++: int) - - -ida_kernwin.get_highlight(): - - get_highlight(v) -> PyObject * - - - Returns the currently highlighted identifier and flags - - @return: a tuple (text, flags), or None if nothing - is highlighted or in case of error. - - -ida_kernwin.get_kernel_version(): - - get_kernel_version() -> ssize_t - - - Get IDA kernel version (in a string like "5.1"). - - -ida_kernwin.get_key_code(): - - get_key_code(keyname) -> ushort - - - Get keyboard key code by its name ( 'ui_get_key_code' ) - - - @param keyname (C++: const char *) - - -ida_kernwin.get_navband_ea(): - - get_navband_ea(pixel) -> ea_t - - - Translate the pixel position on the navigation band, into an address. - - - @param pixel (C++: int) - - -ida_kernwin.get_navband_pixel(): - - get_navband_pixel(ea) -> int - - - Maps an address, onto a pixel coordinate within the navband - - @param ea: The address to map - @return: a list [pixel, is_vertical] - - -ida_kernwin.get_opnum(): - - get_opnum() -> int - - - Get current operand number, -1 means no operand ( 'ui_get_opnum' ) - - -ida_kernwin.get_output_curline(): - - get_output_curline(mouse) -> bool - - - Get current line of output window ( 'ui_get_output_curline' ). - - @param mouse: current for mouse pointer? (C++: bool) - @return: false if output contains no text - - -ida_kernwin.get_output_cursor(): - - get_output_cursor() -> bool - - - Get coordinates of the output window's cursor ( 'ui_get_output_cursor' - ).coordinates are 0-basedthis function will succeed even if the output - window is not visible - - -ida_kernwin.get_output_selected_text(): - - get_output_selected_text() -> bool - - - Returns selected text from output window ( - 'ui_get_output_selected_text' ). - - @return: true if there is a selection - - -ida_kernwin.get_place_class(): - - 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: output flags (can be NULL) (C++: int *) - @param out_sdk_version: sdk version the place was created with (can be - NULL) (C++: int *) - @param id: place class ID (C++: int) - @return: the place_t template, or NULL if not found - - -ida_kernwin.get_place_class_id(): - - get_place_class_id(name) -> int - - - Get the place class ID for the place that has been registered as - 'name'. - - @param name: the class name (C++: const char *) - @return: the place class ID, or -1 if not found - - -ida_kernwin.get_place_class_template(): - - get_place_class_template(id) -> place_t - - - See 'get_place_class()' - - - @param id (C++: int) - - -ida_kernwin.get_registered_actions(): - - get_registered_actions() -> PyObject * - - - Get a list of all currently-registered actions - - -ida_kernwin.get_screen_ea(): - - get_screen_ea() -> ea_t - - - Get the address at the screen cursor ( 'ui_screenea' ) - - -ida_kernwin.get_tab_size(): - - get_tab_size(path) -> int - - - Get the size of a tab in spaces ( 'ui_get_tab_size' ). - - @param path: the path of the source view for which the tab size is - requested. if NULL, the default size is returned. (C++: - const char *) - - -ida_kernwin.get_user_strlist_options(): - - get_user_strlist_options(out) - - -ida_kernwin.get_view_renderer_type(): - - 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 *) - - -ida_kernwin.get_viewer_place_type(): - - 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 *) - - -ida_kernwin.get_viewer_user_data(): - - get_viewer_user_data(viewer) -> void * - - - Get the user data from a custom viewer ( 'ui_get_viewer_user_data' ) - - - @param viewer (C++: TWidget *) - - -ida_kernwin.get_widget_title(): - - get_widget_title(widget) -> bool - - - Get the TWidget's title ( 'ui_get_widget_title' ). - - - @param widget (C++: TWidget *) - - -ida_kernwin.get_widget_type(): - - get_widget_type(widget) -> twidget_type_t - - - Get the type of the TWidget * ( 'ui_get_widget_type' ). - - - @param widget (C++: TWidget *) - - -ida_kernwin.get_window_id(): - - get_window_id(name=None) -> void * - - - Get the system-specific window ID (GUI version only) - - @param name (C++: const char *) - @return: the low-level window ID - - -ida_kernwin.hide_wait_box(): - - hide_wait_box() - - - Hide the "Please wait dialog box". - - -class ida_kernwin.idaplace_t(): - - Proxy of C++ idaplace_t class - - -ida_kernwin.idaplace_t._print(): - - _print(self, out_buf, ud) - - -ida_kernwin.idaplace_t.adjust(): - - adjust(self, ud) - - -ida_kernwin.idaplace_t.as_enumplace_t(): - - as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.idaplace_t.as_idaplace_t(): - - as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.idaplace_t.as_simpleline_place_t(): - - as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.idaplace_t.as_structplace_t(): - - as_structplace_t(p) -> structplace_t - - -ida_kernwin.idaplace_t.beginning(): - - beginning(self, ud) -> bool - - -ida_kernwin.idaplace_t.clone(): - - clone(self) -> place_t - - -ida_kernwin.idaplace_t.compare(): - - compare(self, t2) -> int - - -ida_kernwin.idaplace_t.copyfrom(): - - copyfrom(self, _from) - - -ida_kernwin.idaplace_t.ea: - idaplace_t_ea_get(self) -> ea_t - -ida_kernwin.idaplace_t.ending(): - - ending(self, ud) -> bool - - -ida_kernwin.idaplace_t.enter(): - - enter(self, arg2) -> place_t - - -ida_kernwin.idaplace_t.generate(): - - generate(self, ud, maxsize) -> PyObject * - - -ida_kernwin.idaplace_t.id(): - - id(self) -> int - - -ida_kernwin.idaplace_t.leave(): - - leave(self, arg2) - - -ida_kernwin.idaplace_t.lnnum: - place_t_lnnum_get(self) -> int - -ida_kernwin.idaplace_t.makeplace(): - - makeplace(self, ud, x, lnnum) -> place_t - - -ida_kernwin.idaplace_t.name(): - - name(self) -> char const * - - -ida_kernwin.idaplace_t.next(): - - next(self, ud) -> bool - - -ida_kernwin.idaplace_t.prev(): - - prev(self, ud) -> bool - - -ida_kernwin.idaplace_t.rebase(): - - rebase(self, arg2) -> bool - - -ida_kernwin.idaplace_t.toea(): - - toea(self) -> ea_t - - -ida_kernwin.idaplace_t.touval(): - - touval(self, ud) -> uval_t - - -ida_kernwin.info(): - - info(format) - - -ida_kernwin.install_command_interpreter(): - - install_command_interpreter(py_obj) -> int - - - Install command line interpreter ( 'ui_install_cli' ) - - -ida_kernwin.internal_register_place_class(): - - internal_register_place_class(tmplate, flags, owner, sdk_version) -> int - - -ida_kernwin.is_action_enabled(): - - is_action_enabled(s) -> bool - - - Check if the given action state is one of AST_ENABLE*. - - - @param s (C++: action_state_t) - - -ida_kernwin.is_chooser_widget(): - - is_chooser_widget(t) -> bool - - - Does the given widget type specify a chooser widget? - - - @param t (C++: twidget_type_t) - - -ida_kernwin.is_idaq(): - - is_idaq() -> bool - - - Returns True or False depending if IDAPython is hosted by IDAQ - - -ida_kernwin.is_msg_inited(): - - is_msg_inited() -> bool - - - Can we use msg() functions? - - -ida_kernwin.is_place_class_ea_capable(): - - is_place_class_ea_capable(id) -> bool - - - See 'get_place_class()' - - - @param id (C++: int) - - -ida_kernwin.is_refresh_requested(): - - is_refresh_requested(mask) -> bool - - - Get a refresh request state - - @param mask: Window refresh flags (C++: uint64) - @return: the state (set or cleared) - - -class ida_kernwin.jobj_wrapper_t(): - - Proxy of C++ jobj_wrapper_t class - - -ida_kernwin.jobj_wrapper_t.get_dict(): - - get_dict(self) -> PyObject * - - -ida_kernwin.jumpto(): - - jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool - jumpto(custom_viewer, place, x, y) -> bool - - - Jump to the specified address ( 'ui_jumpto' ). - - @param ea: destination (C++: ea_t) - @param opnum: -1: don't change x coord (C++: int) - @param uijmp_flags: Jump flags (C++: int) - @return: success - - -ida_kernwin.load_custom_icon(): - - 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. - - @param file_name: The icon file name - @param data: The icon data - @param format: The icon data format - - @return: Icon id or 0 on failure. - Use free_custom_icon() to free it - - - Load an icon from a file ( 'ui_load_custom_icon_file' ). Also see - 'load_custom_icon(const void *, unsigned int, const char *)' - - @return: icon id - - -ida_kernwin.load_dbg_dbginfo(): - - load_dbg_dbginfo(path, li=None, base=BADADDR, verbose=False) -> bool - - - Load debugging information from a file. - - @param path: path to file (C++: const char *) - @param li: loader input. if NULL, check DBG_NAME_KEY (C++: linput_t *) - @param base: loading address (C++: ea_t) - @param verbose: dump status to message window (C++: bool) - - -ida_kernwin.lookup_key_code(): - - lookup_key_code(key, shift, is_qt) -> ushort - - - Get shortcut code previously created by 'ui_get_key_code' . - - @param key: key constant (C++: int) - @param shift: modifiers (C++: int) - @param is_qt: are we using gui version? (C++: bool) - - -ida_kernwin.msg(): - - msg(o) -> PyObject * - - - 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 - - -ida_kernwin.msg_clear(): - - msg_clear() - - - Clear the "Output window". - - -ida_kernwin.msg_get_lines(): - - 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: The number of lines to retrieve. -1 means: all (C++: - int) - - -ida_kernwin.msg_save(): - - msg_save(path) -> bool - - - Save the "Output window" contents into a file - - @param path: 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. (C++: qstring &) - @return: success - - -ida_kernwin.nomem(): - - nomem(format) - - -ida_kernwin.open_bpts_window(): - - open_bpts_window(ea) -> TWidget * - - - Open the breakpoints window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_calls_window(): - - open_calls_window(ea) -> TWidget * - - - Open the function calls window ( 'ui_open_builtin' ). - - @param ea (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_disasm_window(): - - open_disasm_window(window_title, ranges=None) -> TWidget * - - - Open a disassembly view ( 'ui_open_builtin' ). - - @param window_title: title of view to open (C++: const char *) - @param ranges: if != NULL, then display a flow chart with the - specified ranges (C++: const rangevec_t *) - @return: pointer to resulting window - - -ida_kernwin.open_enums_window(): - - open_enums_window(const_id=BADADDR) -> TWidget * - - - Open the enums window ( 'ui_open_builtin' ). - - @param const_id: index of entry to select by default (C++: tid_t) - @return: pointer to resulting window - - -ida_kernwin.open_exports_window(): - - open_exports_window(ea) -> TWidget * - - - Open the exports window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_frame_window(): - - open_frame_window(pfn, offset) -> TWidget * - - - Open the frame window for the given function ( 'ui_open_builtin' ). - - @param pfn: function to analyze (C++: func_t *) - @param offset: offset where the cursor is placed (C++: uval_t) - @return: pointer to resulting window if 'pfn' is a valid function and - the window was displayed, NULL otherwise - - -ida_kernwin.open_funcs_window(): - - open_funcs_window(ea) -> TWidget * - - - Open the functions window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_hexdump_window(): - - open_hexdump_window(window_title) -> TWidget * - - - Open a hexdump view ( 'ui_open_builtin' ). - - @param window_title: title of view to open (C++: const char *) - @return: pointer to resulting window - - -ida_kernwin.open_imports_window(): - - open_imports_window(ea) -> TWidget * - - - Open the exports window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_loctypes_window(): - - open_loctypes_window(ordinal) -> TWidget * - - - Open the local types window ( 'ui_open_builtin' ). - - @param ordinal: ordinal of type to select by default (C++: int) - @return: pointer to resulting window - - -ida_kernwin.open_modules_window(): - - open_modules_window() -> TWidget * - - - Open the modules window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_names_window(): - - open_names_window(ea) -> TWidget * - - - Open the names window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_navband_window(): - - open_navband_window(ea, zoom) -> TWidget * - - - Open the navigation band window ( 'ui_open_builtin' ). - - @param ea: sets the address of the navband arrow (C++: ea_t) - @param zoom: sets the navband zoom level (C++: int) - @return: pointer to resulting window - - -ida_kernwin.open_notepad_window(): - - open_notepad_window() -> TWidget * - - - Open the notepad window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_problems_window(): - - open_problems_window(ea) -> TWidget * - - - Open the problems window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_segments_window(): - - open_segments_window(ea) -> TWidget * - - - Open the segments window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_segregs_window(): - - open_segregs_window(ea) -> TWidget * - - - Open the segment registers window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_selectors_window(): - - open_selectors_window() -> TWidget * - - - Open the selectors window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_signatures_window(): - - open_signatures_window() -> TWidget * - - - Open the signatures window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_stack_window(): - - open_stack_window() -> TWidget * - - - Open the call stack window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_strings_window(): - - open_strings_window(ea, selstart=BADADDR, selend=BADADDR) -> TWidget * - - - Open the strings window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @param selstart: only display strings that occur within this range - (C++: ea_t) - @param selend: only display strings that occur within this range (C++: - ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_structs_window(): - - open_structs_window(id=BADADDR, offset=0) -> TWidget * - - - Open the structs window ( 'ui_open_builtin' ). - - @param id: index of entry to select by default (C++: tid_t) - @param offset: offset where the cursor is placed (C++: uval_t) - @return: pointer to resulting window - - -ida_kernwin.open_threads_window(): - - open_threads_window() -> TWidget * - - - Open the threads window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_tils_window(): - - open_tils_window() -> TWidget * - - - Open the type libraries window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_trace_window(): - - open_trace_window() -> TWidget * - - - Open the trace window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_url(): - - open_url(url) - - - Open the given url ( 'ui_open_url' ) - - - @param url (C++: const char *) - - -ida_kernwin.open_xrefs_window(): - - open_xrefs_window(ea) -> TWidget * - - - Open the cross references window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -class ida_kernwin.place_t(): - - Proxy of C++ place_t class - - -ida_kernwin.place_t._print(): - - _print(self, out_buf, ud) - - -ida_kernwin.place_t.adjust(): - - adjust(self, ud) - - -ida_kernwin.place_t.as_enumplace_t(): - - as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.place_t.as_idaplace_t(): - - as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.place_t.as_simpleline_place_t(): - - as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.place_t.as_structplace_t(): - - as_structplace_t(p) -> structplace_t - - -ida_kernwin.place_t.beginning(): - - beginning(self, ud) -> bool - - -ida_kernwin.place_t.clone(): - - clone(self) -> place_t - - -ida_kernwin.place_t.compare(): - - compare(self, t2) -> int - - -ida_kernwin.place_t.copyfrom(): - - copyfrom(self, _from) - - -ida_kernwin.place_t.ending(): - - ending(self, ud) -> bool - - -ida_kernwin.place_t.enter(): - - enter(self, arg2) -> place_t - - -ida_kernwin.place_t.generate(): - - generate(self, ud, maxsize) -> PyObject * - - -ida_kernwin.place_t.id(): - - id(self) -> int - - -ida_kernwin.place_t.leave(): - - leave(self, arg2) - - -ida_kernwin.place_t.lnnum: - place_t_lnnum_get(self) -> int - -ida_kernwin.place_t.makeplace(): - - makeplace(self, ud, x, lnnum) -> place_t - - -ida_kernwin.place_t.name(): - - name(self) -> char const * - - -ida_kernwin.place_t.next(): - - next(self, ud) -> bool - - -ida_kernwin.place_t.prev(): - - prev(self, ud) -> bool - - -ida_kernwin.place_t.rebase(): - - rebase(self, arg2) -> bool - - -ida_kernwin.place_t.toea(): - - toea(self) -> ea_t - - -ida_kernwin.place_t.touval(): - - touval(self, ud) -> uval_t - - -ida_kernwin.place_t_as_enumplace_t(): - - place_t_as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.place_t_as_idaplace_t(): - - place_t_as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.place_t_as_simpleline_place_t(): - - place_t_as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.place_t_as_structplace_t(): - - place_t_as_structplace_t(p) -> structplace_t - - -ida_kernwin.plgform_close(): - - plgform_close(py_link, options) - - -ida_kernwin.plgform_get_widget(): - - plgform_get_widget(py_link) -> TWidget * - - -ida_kernwin.plgform_new(): - - plgform_new() -> PyObject * - - -ida_kernwin.plgform_show(): - - plgform_show(py_link, py_obj, caption, options=WOPN_DP_TAB|WOPN_RESTORE) -> bool - - -ida_kernwin.process_ui_action(): - - process_ui_action(name, flags=0) -> bool - - - Invokes an IDA UI action by name - - @param name: action name - @return: Boolean - - -ida_kernwin.py_get_ask_form(): - - py_get_ask_form() -> size_t - - -ida_kernwin.py_get_open_form(): - - py_get_open_form() -> size_t - - -ida_kernwin.py_load_custom_icon_data(): - - py_load_custom_icon_data(data, format) -> int - - -ida_kernwin.py_load_custom_icon_fn(): - - py_load_custom_icon_fn(filename) -> int - - -ida_kernwin.py_register_compiled_form(): - - py_register_compiled_form(py_form) - - -ida_kernwin.py_ss_restore_callback(): - - py_ss_restore_callback(err_msg, userdata) - - -ida_kernwin.py_unregister_compiled_form(): - - py_unregister_compiled_form(py_form) - - -ida_kernwin.pyidag_bind(): - - pyidag_bind(self) -> bool - - -ida_kernwin.pyidag_unbind(): - - pyidag_unbind(self) -> bool - - -ida_kernwin.pyscv_add_line(): - - pyscv_add_line(py_this, py_sl) -> bool - - -ida_kernwin.pyscv_clear_lines(): - - pyscv_clear_lines(py_this) -> PyObject * - - -ida_kernwin.pyscv_close(): - - pyscv_close(py_this) - - -ida_kernwin.pyscv_count(): - - pyscv_count(py_this) -> size_t - - -ida_kernwin.pyscv_del_line(): - - pyscv_del_line(py_this, nline) -> bool - - -ida_kernwin.pyscv_edit_line(): - - pyscv_edit_line(py_this, nline, py_sl) -> bool - - -ida_kernwin.pyscv_get_current_line(): - - pyscv_get_current_line(py_this, mouse, notags) -> PyObject * - - -ida_kernwin.pyscv_get_current_word(): - - pyscv_get_current_word(py_this, mouse) -> PyObject * - - -ida_kernwin.pyscv_get_line(): - - pyscv_get_line(py_this, nline) -> PyObject * - - -ida_kernwin.pyscv_get_pos(): - - pyscv_get_pos(py_this, mouse) -> PyObject * - - -ida_kernwin.pyscv_get_selection(): - - pyscv_get_selection(py_this) -> PyObject * - - -ida_kernwin.pyscv_get_widget(): - - pyscv_get_widget(py_this) -> TWidget * - - -ida_kernwin.pyscv_init(): - - pyscv_init(py_link, title) -> PyObject * - - -ida_kernwin.pyscv_insert_line(): - - pyscv_insert_line(py_this, nline, py_sl) -> bool - - -ida_kernwin.pyscv_is_focused(): - - pyscv_is_focused(py_this) -> bool - - -ida_kernwin.pyscv_jumpto(): - - pyscv_jumpto(py_this, ln, x, y) -> bool - - -ida_kernwin.pyscv_patch_line(): - - pyscv_patch_line(py_this, nline, offs, value) -> bool - - -ida_kernwin.pyscv_refresh(): - - pyscv_refresh(py_this) -> bool - - -ida_kernwin.pyscv_show(): - - pyscv_show(py_this) -> bool - - -ida_kernwin.qcleanline(): - - qcleanline(cmt_char='', flags=((1 << 0)|(1 << 1))|(1 << 2)) -> ssize_t - - - Performs some cleanup operations to a line. - - @param cmt_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 (C++: char) - @param flags: a combination of line cleanup flags . defaults to - CLNL_TRIM (C++: uint32) - @return: length of line - - -ida_kernwin.read_range_selection(): - - read_range_selection(v) -> bool - - - Get the address range for the selected range boundaries, this is the - convenient function for 'read_selection()' - - @param v: view, NULL means the last active window containing addresses - (C++: TWidget *) - - -ida_kernwin.read_selection(): - - 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 p0: Storage for the "from" part of the selection. - @param p1: Storage for the "to" part of the selection. - @return: a bool value indicating success. - - -ida_kernwin.refresh_chooser(): - - refresh_chooser(title) -> bool - - - Mark a non-modal custom chooser for a refresh ( 'ui_refresh_chooser' - ). - - @param title: title of chooser (C++: const char *) - @return: success - - -ida_kernwin.refresh_choosers(): - - refresh_choosers() - - -ida_kernwin.refresh_idaview(): - - refresh_idaview() - - - Refresh marked windows ( 'ui_refreshmarked' ) - - -ida_kernwin.refresh_idaview_anyway(): - - refresh_idaview_anyway() - - - Refresh all disassembly views ( 'ui_refresh' ), forces an immediate - refresh. Please consider 'request_refresh()' instead - - -ida_kernwin.refresh_navband(): - - refresh_navband(force) - - - Refresh navigation band if changed ( 'ui_refresh_navband' ). - - @param force: refresh regardless (C++: bool) - - -ida_kernwin.register_action(): - - 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: action to register (C++: const action_desc_t &) - @return: success - - -ida_kernwin.register_addon(): - - 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 *) - - -ida_kernwin.register_and_attach_to_menu(): - - register_and_attach_to_menu(menupath, name, label, shortcut, flags, handler, owner) -> 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 *) - @param name (C++: const char *) - @param label (C++: const char *) - @param shortcut (C++: const char *) - @param flags (C++: int) - @param handler (C++: action_handler_t *) - @param owner (C++: const plugin_t *) - - -ida_kernwin.register_timer(): - - register_timer(interval, py_callback) -> PyObject * - - - Register a timer - - @param interval: Interval in milliseconds - @param 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 - - -ida_kernwin.remove_command_interpreter(): - - remove_command_interpreter(cli_idx) - - - Remove command line interpreter ( 'ui_install_cli' ) - - -class ida_kernwin.renderer_pos_info_t(): - - Proxy of C++ renderer_pos_info_t class - - -ida_kernwin.renderer_pos_info_t.cx: - renderer_pos_info_t_cx_get(self) -> short - -ida_kernwin.renderer_pos_info_t.cy: - renderer_pos_info_t_cy_get(self) -> short - -ida_kernwin.renderer_pos_info_t.node: - renderer_pos_info_t_node_get(self) -> int - -ida_kernwin.renderer_pos_info_t.sx: - renderer_pos_info_t_sx_get(self) -> short - -ida_kernwin.repaint_custom_viewer(): - - repaint_custom_viewer(custom_viewer) - - - Repaint the given widget immediately ( 'ui_repaint_qwidget' ) - - - @param custom_viewer (C++: TWidget *) - - -ida_kernwin.replace_wait_box(): - - replace_wait_box(format) - - - Replace the label of "Please wait dialog box". - - - @param format (C++: const char *) - - -ida_kernwin.request_refresh(): - - request_refresh(mask, cnd=True) - - - Request a refresh of a builtin window. - - @param mask: Window refresh flags (C++: uint64) - @param cnd: set if true or clear flag otherwise (C++: bool) - - -ida_kernwin.restore_database_snapshot(): - - restore_database_snapshot(ss, pyfunc_or_none, pytuple_or_none) -> PyObject * - - - Restore a database snapshot. Note: This call is asynchronous. When it - is completed, the callback will be triggered. - - @param ss: snapshot instance (see build_snapshot_tree() ) (C++: const - snapshot_t *) - @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. - - -ida_kernwin.set_cancelled(): - - set_cancelled() - - - Set "Cancelled" flag ( 'ui_set_cancelled' ) - - -ida_kernwin.set_code_viewer_handler(): - - 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: the code viewer (C++: TWidget *) - @param handler_id: one of CDVH_ in custom_viewer_handler_id_t (C++: - custom_viewer_handler_id_t) - @param handler_or_data: can be a handler or data. see examples in - Functions: custom viewer handlers (C++: void - *) - @return: old value of the handler or data - - -ida_kernwin.set_code_viewer_is_source(): - - 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 *) - - -ida_kernwin.set_code_viewer_line_handlers(): - - 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 - NULL - - @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 *) - - -ida_kernwin.set_code_viewer_lines_alignment(): - - 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) - - -ida_kernwin.set_code_viewer_lines_icon_margin(): - - 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) - - -ida_kernwin.set_code_viewer_lines_radix(): - - 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) - - -ida_kernwin.set_code_viewer_user_data(): - - 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 *) - - -ida_kernwin.set_custom_viewer_qt_aware(): - - 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 *) - - -ida_kernwin.set_dock_pos(): - - 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. - - @param src: Source docking control - @param dest: Destination docking control - @param orient: One of DOR_XXXX constants - @param left, top, right, bottom: These parameter if DOR_FLOATING is used, or if you want to specify the width of docked windows - @return: Boolean - - Example: - set_dock_pos('Structures', 'Enums', DOR_RIGHT) <- docks the Structures window to the right of Enums window - - -ida_kernwin.set_highlight(): - - set_highlight(viewer, str, flags) -> bool - - - Set the highlighted identifier in the viewer ( 'ui_set_highlight' ). - - @param viewer: the viewer (C++: TWidget *) - @param str: the text to match, or NULL to remove current (C++: const - char *) - @param flags: combination of HIF_... bits (see set_highlightr flags ) - (C++: int) - @return: false if an error occurred - - -ida_kernwin.set_nav_colorizer(): - - set_nav_colorizer(new_py_colorizer) -> PyObject * - - - 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) - - -ida_kernwin.set_view_renderer_type(): - - 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) - - -ida_kernwin.show_wait_box(): - - show_wait_box(format) - - - Display a dialog box with "Please wait...". If the text message starts - with "HIDECANCEL - ", the cancel buttonwon't be displayed in the dialog - box and you don't need to checkfor cancellations with - 'user_cancelled()' . Plugins must call 'hide_wait_box()' to close the - dialog box, otherwise the user interface will be disabled.Note that, - if the wait dialog is already visible, 'show_wait_box()' will1) push - the currently-displayed text on a stack2) display the new textThen, - when 'hide_wait_box()' is called, if that stack isn't empty its - toplabel will be popped and restored in the wait dialog.This implies - that a plugin should call 'hide_wait_box()' exactly as manytimes as it - called 'show_wait_box()' , or the wait dialog might remainvisible 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 thedialog without pushing the currently- - displayed text on the stack. - - @param format (C++: const char *) - - -class ida_kernwin.simplecustviewer_t(): - - The base class for implementing simple custom viewers - - -ida_kernwin.simplecustviewer_t.AddLine(): - - Adds a colored line to the view - @return: Boolean - - -ida_kernwin.simplecustviewer_t.ClearLines(): - - Clears all the lines - - -ida_kernwin.simplecustviewer_t.Close(): - - Destroys the view. - One has to call Create() afterwards. - Show() can be called and it will call Create() internally. - @return: Boolean - - -ida_kernwin.simplecustviewer_t.Count(): - - Returns the number of lines in the view - - -ida_kernwin.simplecustviewer_t.Create(): - - 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 - - -ida_kernwin.simplecustviewer_t.DelLine(): - - Deletes an existing line - @return: Boolean - - -ida_kernwin.simplecustviewer_t.EditLine(): - - Edits an existing line. - @return: Boolean - - -ida_kernwin.simplecustviewer_t.GetCurrentLine(): - - 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 - - -ida_kernwin.simplecustviewer_t.GetCurrentWord(): - - 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 - - -ida_kernwin.simplecustviewer_t.GetLine(): - - Returns a line - @param lineno: The line number - @return: - Returns a tuple (colored_line, fgcolor, bgcolor) or None - - -ida_kernwin.simplecustviewer_t.GetLineNo(): - - Calls GetPos() and returns the current line number or -1 on failure - - -ida_kernwin.simplecustviewer_t.GetPos(): - - Returns the current cursor or mouse position. - @param mouse: return mouse position - @return: Returns a tuple (lineno, x, y) - - -ida_kernwin.simplecustviewer_t.GetSelection(): - - Returns the selected range or None - @return: - - tuple(x1, y1, x2, y2) - - None if no selection - - -ida_kernwin.simplecustviewer_t.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_kernwin.simplecustviewer_t.InsertLine(): - - Inserts a line in the given position - @return: Boolean - - -ida_kernwin.simplecustviewer_t.IsFocused(): - - Returns True if the current view is the focused view - - -ida_kernwin.simplecustviewer_t.OnPopup(): - - Context menu popup is about to be shown. Create items dynamically if you wish - @return: Boolean. True if you handled the event - - -ida_kernwin.simplecustviewer_t.PatchLine(): - - Patches an existing line character at the given offset. This is a low level function. You must know what you're doing - - -ida_kernwin.simplecustviewer_t.RefreshCurrent(): - - Refreshes the current line only - - -ida_kernwin.simplecustviewer_t.Show(): - - Shows an already created view. It the view was close, then it will call Create() for you - @return: Boolean - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.create_desktop_widget(): - - create_desktop_widget(self, title, cfg) -> PyObject * - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.current_widget_changed(): - - current_widget_changed(self, widget, prev_widget) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.database_inited(): - - database_inited(self, is_new_database, idc_script) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.debugger_menu_change(): - - debugger_menu_change(self, enable) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.finish_populating_widget_popup(): - - finish_populating_widget_popup(self, widget, popup_handle, ctx=None) - - - The UI is about to be done populating the TWidget's popup menu. - Now is a good time to call idaapi.attach_action_to_popup() - - @param widget: The widget - @param popup: The popup menu. - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.get_chooser_item_attrs(): - - get_chooser_item_attrs(self, chooser, n, attrs) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.get_custom_viewer_hint(): - - get_custom_viewer_hint(self, viewer, place) -> PyObject * - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.get_ea_hint(): - - get_ea_hint(self, ea) -> PyObject * - - - The UI wants to display a simple hint for an address in the navigation band - - @param ea: The address - @return: String with the hint or None - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.get_item_hint(): - - get_item_hint(self, ea, max_lines) -> PyObject * - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.get_widget_config(): - - get_widget_config(self, widget, cfg) -> PyObject * - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.hook(): - - hook(self) -> bool - - - Creates an UI hook - - @return: Boolean true on success - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.idcstart(): - - idcstart(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.idcstop(): - - idcstop(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.plugin_loaded(): - - plugin_loaded(self, plugin_info) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.plugin_unloading(): - - plugin_unloading(self, plugin_info) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.postprocess_action(): - - postprocess_action(self) - - - An ida ui action has been handled - - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.preprocess_action(): - - preprocess_action(self, name) - - - IDA ui is about to handle a user action - - @param name: ui action name - (these names can be looked up in ida[tg]ui.cfg) - @return: 0-ok, nonzero - a plugin has handled the action - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.range(): - - range(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.ready_to_run(): - - ready_to_run(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.resume(): - - resume(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.saved(): - - saved(self) - - - The kernel has saved the database. - - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.saving(): - - saving(self) - - - The kernel is saving the database. - - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.screen_ea_changed(): - - screen_ea_changed(self, ea, prev_ea) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.set_widget_config(): - - set_widget_config(self, widget, cfg) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.suspend(): - - suspend(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.term(): - - term(self) - - - IDA is terminated and the database is already closed. - The UI may close its windows in this callback. - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.unhook(): - - unhook(self) -> bool - - - Removes the UI hook - @return: Boolean true on success - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.updated_actions(): - - updated_actions(self) - - - The UI is done updating actions. - - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.updating_actions(): - - updating_actions(self, ctx) - - - The UI is about to batch-update some actions. - - @param ctx: The action_update_ctx_t instance - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.widget_closing(): - - widget_closing(self, widget) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.widget_invisible(): - - widget_invisible(self, widget) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.widget_visible(): - - widget_visible(self, widget) - - -class ida_kernwin.simpleline_place_t(): - - Proxy of C++ simpleline_place_t class - - -ida_kernwin.simpleline_place_t._print(): - - _print(self, out_buf, ud) - - -ida_kernwin.simpleline_place_t.adjust(): - - adjust(self, ud) - - -ida_kernwin.simpleline_place_t.as_enumplace_t(): - - as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.simpleline_place_t.as_idaplace_t(): - - as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.simpleline_place_t.as_simpleline_place_t(): - - as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.simpleline_place_t.as_structplace_t(): - - as_structplace_t(p) -> structplace_t - - -ida_kernwin.simpleline_place_t.beginning(): - - beginning(self, ud) -> bool - - -ida_kernwin.simpleline_place_t.clone(): - - clone(self) -> place_t - - -ida_kernwin.simpleline_place_t.compare(): - - compare(self, t2) -> int - - -ida_kernwin.simpleline_place_t.copyfrom(): - - copyfrom(self, _from) - - -ida_kernwin.simpleline_place_t.ending(): - - ending(self, ud) -> bool - - -ida_kernwin.simpleline_place_t.enter(): - - enter(self, arg2) -> place_t - - -ida_kernwin.simpleline_place_t.generate(): - - generate(self, ud, maxsize) -> PyObject * - - -ida_kernwin.simpleline_place_t.id(): - - id(self) -> int - - -ida_kernwin.simpleline_place_t.leave(): - - leave(self, arg2) - - -ida_kernwin.simpleline_place_t.lnnum: - place_t_lnnum_get(self) -> int - -ida_kernwin.simpleline_place_t.makeplace(): - - makeplace(self, ud, x, lnnum) -> place_t - - -ida_kernwin.simpleline_place_t.n: - simpleline_place_t_n_get(self) -> uint32 - -ida_kernwin.simpleline_place_t.name(): - - name(self) -> char const * - - -ida_kernwin.simpleline_place_t.next(): - - next(self, ud) -> bool - - -ida_kernwin.simpleline_place_t.prev(): - - prev(self, ud) -> bool - - -ida_kernwin.simpleline_place_t.rebase(): - - rebase(self, arg2) -> bool - - -ida_kernwin.simpleline_place_t.toea(): - - toea(self) -> ea_t - - -ida_kernwin.simpleline_place_t.touval(): - - touval(self, ud) -> uval_t - - -class ida_kernwin.simpleline_t(): - - Proxy of C++ simpleline_t class - - -ida_kernwin.simpleline_t.bgcolor: - simpleline_t_bgcolor_get(self) -> bgcolor_t - -ida_kernwin.simpleline_t.color: - simpleline_t_color_get(self) -> color_t - -ida_kernwin.simpleline_t.line: - simpleline_t_line_get(self) -> qstring * - -ida_kernwin.str2ea(): - - str2ea(str, screenEA=BADADDR) -> ea_t - - - Converts a string express to EA. The expression evaluator may be called as well. - - @return: BADADDR or address value - - -ida_kernwin.str2user(): - - str2user(str) -> PyObject * - - - Insert C-style escape characters to string - - @return: new string with escape characters inserted - - -ida_kernwin.strarray(): - - 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 *) - @param array_size (C++: size_t) - @param code (C++: int) - - -class ida_kernwin.strarray_t(): - - Proxy of C++ strarray_t class - - -ida_kernwin.strarray_t.code: - strarray_t_code_get(self) -> int - -ida_kernwin.strarray_t.text: - strarray_t_text_get(self) -> char const * - -class ida_kernwin.structplace_t(): - - Proxy of C++ structplace_t class - - -ida_kernwin.structplace_t._print(): - - _print(self, out_buf, ud) - - -ida_kernwin.structplace_t.adjust(): - - adjust(self, ud) - - -ida_kernwin.structplace_t.as_enumplace_t(): - - as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.structplace_t.as_idaplace_t(): - - as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.structplace_t.as_simpleline_place_t(): - - as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.structplace_t.as_structplace_t(): - - as_structplace_t(p) -> structplace_t - - -ida_kernwin.structplace_t.beginning(): - - beginning(self, ud) -> bool - - -ida_kernwin.structplace_t.clone(): - - clone(self) -> place_t - - -ida_kernwin.structplace_t.compare(): - - compare(self, t2) -> int - - -ida_kernwin.structplace_t.copyfrom(): - - copyfrom(self, _from) - - -ida_kernwin.structplace_t.ending(): - - ending(self, ud) -> bool - - -ida_kernwin.structplace_t.enter(): - - enter(self, arg2) -> place_t - - -ida_kernwin.structplace_t.generate(): - - generate(self, ud, maxsize) -> PyObject * - - -ida_kernwin.structplace_t.id(): - - id(self) -> int - - -ida_kernwin.structplace_t.idx: - structplace_t_idx_get(self) -> uval_t - -ida_kernwin.structplace_t.leave(): - - leave(self, arg2) - - -ida_kernwin.structplace_t.lnnum: - place_t_lnnum_get(self) -> int - -ida_kernwin.structplace_t.makeplace(): - - makeplace(self, ud, x, lnnum) -> place_t - - -ida_kernwin.structplace_t.name(): - - name(self) -> char const * - - -ida_kernwin.structplace_t.next(): - - next(self, ud) -> bool - - -ida_kernwin.structplace_t.offset: - structplace_t_offset_get(self) -> uval_t - -ida_kernwin.structplace_t.prev(): - - prev(self, ud) -> bool - - -ida_kernwin.structplace_t.rebase(): - - rebase(self, arg2) -> bool - - -ida_kernwin.structplace_t.toea(): - - toea(self) -> ea_t - - -ida_kernwin.structplace_t.touval(): - - touval(self, ud) -> uval_t - - -class ida_kernwin.sync_source_t(): - - Proxy of C++ sync_source_t class - - -ida_kernwin.sync_source_t.get_register(): - - get_register(self) -> char const * - - -ida_kernwin.sync_source_t.get_widget(): - - get_widget(self) -> TWidget const * - - -ida_kernwin.sync_source_t.is_register(): - - is_register(self) -> bool - - -ida_kernwin.sync_source_t.is_widget(): - - is_widget(self) -> bool - - -ida_kernwin.sync_sources(): - - 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 - - -ida_kernwin.take_database_snapshot(): - - take_database_snapshot(ss) -> PyObject * - - - Take a database snapshot ( 'ui_take_database_snapshot' ). - - @param ss: in/out parameter. in: description, flags out: filename, - id (C++: snapshot_t *) - @return: success - - -class ida_kernwin.textctrl_info_t(): - - Class representing textctrl_info_t - - -ida_kernwin.textctrl_info_t._free(): - - Explicitly delete the link (only if not static) - - -ida_kernwin.textctrl_info_t.assign(): - - Copies the contents of 'other' to 'self' - - -ida_kernwin.textctrl_info_t.copy(): - - Returns a new copy of this class - - -ida_kernwin.textctrl_info_t.flags: - - Returns the flags value - - -ida_kernwin.textctrl_info_t.tabsize: - - Returns the tabsize value - - -ida_kernwin.textctrl_info_t.text: - - Sets the text value - - -ida_kernwin.textctrl_info_t.value: - - Sets the text value - - -ida_kernwin.textctrl_info_t_assign(): - - textctrl_info_t_assign(self, other) -> bool - - -ida_kernwin.textctrl_info_t_create(): - - textctrl_info_t_create() -> PyObject * - - -ida_kernwin.textctrl_info_t_destroy(): - - textctrl_info_t_destroy(py_obj) -> bool - - -ida_kernwin.textctrl_info_t_get_clink(): - - textctrl_info_t_get_clink(self) -> textctrl_info_t * - - -ida_kernwin.textctrl_info_t_get_clink_ptr(): - - textctrl_info_t_get_clink_ptr(self) -> PyObject * - - -ida_kernwin.textctrl_info_t_get_flags(): - - textctrl_info_t_get_flags(self) -> unsigned int - - -ida_kernwin.textctrl_info_t_get_tabsize(): - - textctrl_info_t_get_tabsize(self) -> unsigned int - - -ida_kernwin.textctrl_info_t_get_text(): - - textctrl_info_t_get_text(self) -> char const * - - -ida_kernwin.textctrl_info_t_set_flags(): - - textctrl_info_t_set_flags(self, flags) -> bool - - -ida_kernwin.textctrl_info_t_set_tabsize(): - - textctrl_info_t_set_tabsize(self, tabsize) -> bool - - -ida_kernwin.textctrl_info_t_set_text(): - - textctrl_info_t_set_text(self, s) -> bool - - -class ida_kernwin.twinpos_t(): - - Proxy of C++ twinpos_t class - - -ida_kernwin.twinpos_t.at: - twinpos_t_at_get(self) -> place_t - -ida_kernwin.twinpos_t.x: - twinpos_t_x_get(self) -> int - -ida_kernwin.ui_load_new_file(): - - 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: name of the file with the extracted archive member. - (C++: qstring *) - @param filename: the name of input file as is, library or archive name - (C++: qstring *) - @param pli: loader input source, may be changed to point to temp_file - (C++: linput_t **) - @param neflags: combination of NEF_... bits (see Load file flags ) - (C++: ushort) - @param ploaders: list of loaders which accept file, may be changed for - loaders of temp_file (C++: load_info_t **) - - -class ida_kernwin.ui_requests_t(): - - Proxy of C++ ui_requests_t class - - -ida_kernwin.ui_run_debugger(): - - ui_run_debugger(dbgopts, exename, argc, argv) -> bool - - - Load a debugger plugin and run the specified program ( 'ui_run_dbg' ). - - @param dbgopts: value of the -r command line switch (C++: const char - *) - @param exename: name of the file to run (C++: const char *) - @param argc: number of arguments for the executable (C++: int) - @param argv: argument vector (C++: const char *const *) - @return: success - - -ida_kernwin.unmark_selection(): - - unmark_selection() - - - Unmark selection ( 'ui_unmarksel' ) - - -ida_kernwin.unregister_action(): - - unregister_action(name) -> bool - - - Delete a previously-registered action ( 'ui_unregister_action' ). - - @param name: name of action (C++: const char *) - @return: success - - -ida_kernwin.unregister_timer(): - - unregister_timer(py_timerctx) -> PyObject * - - - 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. - - -ida_kernwin.update_action_checkable(): - - update_action_checkable(name, checkable) -> bool - - - Update an action's checkability ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param checkable: new checkability (C++: bool) - @return: success - - -ida_kernwin.update_action_checked(): - - update_action_checked(name, checked) -> bool - - - Update an action's checked state ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param checked: new checked state (C++: bool) - @return: success - - -ida_kernwin.update_action_icon(): - - update_action_icon(name, icon) -> bool - - - Update an action's icon ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param icon: new icon id (C++: int) - @return: success - - -ida_kernwin.update_action_label(): - - update_action_label(name, label) -> bool - - - Update an action's label ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param label: new label (C++: const char *) - @return: success - - -ida_kernwin.update_action_shortcut(): - - update_action_shortcut(name, shortcut) -> bool - - - Update an action's shortcut ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param shortcut: new shortcut (C++: const char *) - @return: success - - -ida_kernwin.update_action_state(): - - update_action_state(name, state) -> bool - - - Update an action's state ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param state: new state (C++: action_state_t) - @return: success - - -ida_kernwin.update_action_tooltip(): - - update_action_tooltip(name, tooltip) -> bool - - - Update an action's tooltip ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param tooltip: new tooltip (C++: const char *) - @return: success - - -ida_kernwin.update_action_visibility(): - - update_action_visibility(name, visible) -> bool - - - Update an action's visibility ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param visible: new visibility (C++: bool) - @return: success - - -ida_kernwin.user_cancelled(): - - user_cancelled() -> bool - - - Test the ctrl-break flag ( 'ui_test_cancelled' ). - - -class ida_kernwin.view_mouse_event_location_t(): - - Proxy of C++ view_mouse_event_location_t class - - -ida_kernwin.view_mouse_event_location_t.ea: - view_mouse_event_location_t_ea_get(self) -> ea_t - -ida_kernwin.view_mouse_event_location_t.item: - view_mouse_event_location_t_item_get(self) -> selection_item_t const * - -class ida_kernwin.view_mouse_event_t(): - - Proxy of C++ view_mouse_event_t class - - -ida_kernwin.view_mouse_event_t.button: - view_mouse_event_t_button_get(self) -> vme_button_t - -ida_kernwin.view_mouse_event_t.location: - view_mouse_event_t_location_get(self) -> view_mouse_event_location_t - -ida_kernwin.view_mouse_event_t.renderer_pos: - view_mouse_event_t_renderer_pos_get(self) -> renderer_pos_info_t - -ida_kernwin.view_mouse_event_t.rtype: - view_mouse_event_t_rtype_get(self) -> tcc_renderer_type_t - -ida_kernwin.view_mouse_event_t.state: - view_mouse_event_t_state_get(self) -> view_event_state_t - -ida_kernwin.view_mouse_event_t.x: - view_mouse_event_t_x_get(self) -> uint32 - -ida_kernwin.view_mouse_event_t.y: - view_mouse_event_t_y_get(self) -> uint32 - -ida_kernwin.warning(): - - warning(format) - - - Display a message in a message box - - @param message: 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 - - - -=== ida_kernwin EPYDOC INJECTIONS === -ida_kernwin.ACF_HAS_SELECTION -""" -there is currently a valid selection -""" - -ida_kernwin.ACF_XTRN_EA -""" -cur_ea is in 'externs' segment -""" - -ida_kernwin.ADF_NO_UNDO -""" -useful for actions that do not modify the database. - -the action does not create an undo point. -""" - -ida_kernwin.ADF_OWN_HANDLER -""" -handler is owned by the action; it'll be destroyed when the action is -unregistered. You shouldn't have to use this. -""" - -ida_kernwin.AHF_VERSION -""" -action handler version (used by 'action_handler_t::flags' ) -""" - -ida_kernwin.AHF_VERSION_MASK -""" -mask for 'action_handler_t::flags' -""" - -ida_kernwin.ASKBTN_BTN1 -""" -First (Yes) button. -""" - -ida_kernwin.ASKBTN_BTN2 -""" -Second (No) button. -""" - -ida_kernwin.ASKBTN_BTN3 -""" -Third (Cancel) button. -""" - -ida_kernwin.ASKBTN_CANCEL -""" -Cancel button. -""" - -ida_kernwin.ASKBTN_NO -""" -No button. -""" - -ida_kernwin.ASKBTN_YES -""" -Yes button. -""" - -ida_kernwin.BWN_ADDRWATCH -""" -the 'Watch List' window -""" - -ida_kernwin.BWN_BPTS -""" -breakpoints -""" - -ida_kernwin.BWN_CALLS -""" -function calls -""" - -ida_kernwin.BWN_CALLS_CALLEES -""" -function calls, callees -""" - -ida_kernwin.BWN_CALLS_CALLERS -""" -function calls, callers -""" - -ida_kernwin.BWN_CALL_STACK -""" -call stack -""" - -ida_kernwin.BWN_CHOOSER -""" -a non-builtin chooser -""" - -ida_kernwin.BWN_CLI -""" -the command-line, in the output window -""" - -ida_kernwin.BWN_CMDPALCSR -""" -the command palette chooser (Qt version only) -""" - -ida_kernwin.BWN_CMDPALWIN -""" -the command palette window (Qt version only) -""" - -ida_kernwin.BWN_CPUREGS -""" -one of the 'General registers', 'FPU register', ... debugger windows -""" - -ida_kernwin.BWN_CUSTVIEW -""" -custom viewers -""" - -ida_kernwin.BWN_CV_LINE_INFOS -""" -custom viewers' lineinfo widget -""" - -ida_kernwin.BWN_DISASM -""" -disassembly views -""" - -ida_kernwin.BWN_DISASMS -""" -Alias. Some BWN_* were confusing, and thus have been renamed. This is -to ensure bw-compat. -""" - -ida_kernwin.BWN_DISASM_ARROWS -""" -disassembly arrows widget -""" - -ida_kernwin.BWN_DUMP -""" -hex dumps -""" - -ida_kernwin.BWN_DUMPS -""" -Alias. Some BWN_* were confusing, and thus have been renamed. This is -to ensure bw-compat. -""" - -ida_kernwin.BWN_ENUMS -""" -enumerations -""" - -ida_kernwin.BWN_EXPORTS -""" -exports -""" - -ida_kernwin.BWN_FRAME -""" -function frame -""" - -ida_kernwin.BWN_FUNCS -""" -functions -""" - -ida_kernwin.BWN_IMPORTS -""" -imports -""" - -ida_kernwin.BWN_LOCALS -""" -the 'locals' debugger window -""" - -ida_kernwin.BWN_LOCTYPS -""" -local types -""" - -ida_kernwin.BWN_MDVIEWCSR -""" -lumina metadata view chooser -""" - -ida_kernwin.BWN_MODULES -""" -modules -""" - -ida_kernwin.BWN_NAMES -""" -names -""" - -ida_kernwin.BWN_NAVBAND -""" -navigation band -""" - -ida_kernwin.BWN_NOTEPAD -""" -notepad -""" - -ida_kernwin.BWN_OUTPUT -""" -the text area, in the output window -""" - -ida_kernwin.BWN_PROBS -""" -problems -""" - -ida_kernwin.BWN_PSEUDOCODE -""" -hexrays decompiler views -""" - -ida_kernwin.BWN_SEARCH -""" -search results -""" - -ida_kernwin.BWN_SEARCHS -""" -Alias. Some BWN_* were confusing, and thus have been renamed. This is -to ensure bw-compat. -""" - -ida_kernwin.BWN_SEGREGS -""" -segment registers -""" - -ida_kernwin.BWN_SEGS -""" -segments -""" - -ida_kernwin.BWN_SELS -""" -selectors -""" - -ida_kernwin.BWN_SHORTCUTCSR -""" -the shortcuts chooser (Qt version only) -""" - -ida_kernwin.BWN_SHORTCUTWIN -""" -the shortcuts window (Qt version only) -""" - -ida_kernwin.BWN_SIGNS -""" -signatures -""" - -ida_kernwin.BWN_SNIPPETS -""" -the 'Execute script' window -""" - -ida_kernwin.BWN_SO_OFFSETS -""" -the 'Structure offsets' dialog's offset panel -""" - -ida_kernwin.BWN_SO_STRUCTS -""" -the 'Structure offsets' dialog's 'Structures and Unions' panel -""" - -ida_kernwin.BWN_SRCPTHMAP_CSR -""" -"Source paths..."'s path mappings chooser -""" - -ida_kernwin.BWN_SRCPTHUND_CSR -""" -"Source paths..."'s undesired paths chooser -""" - -ida_kernwin.BWN_STACK -""" -Alias. Some BWN_* were confusing, and thus have been renamed. This is -to ensure bw-compat. -""" - -ida_kernwin.BWN_STKVIEW -""" -the 'Stack view' debugger window -""" - -ida_kernwin.BWN_STRINGS -""" -strings -""" - -ida_kernwin.BWN_STRUCTS -""" -structures -""" - -ida_kernwin.BWN_THREADS -""" -threads -""" - -ida_kernwin.BWN_TILS -""" -type libraries -""" - -ida_kernwin.BWN_TRACE -""" -trace view -""" - -ida_kernwin.BWN_UNDOHIST -""" -Undo history. -""" - -ida_kernwin.BWN_UNKNOWN -""" -unknown window -""" - -ida_kernwin.BWN_WATCH -""" -the 'watches' debugger window -""" - -ida_kernwin.BWN_XREFS -""" -xrefs -""" - -ida_kernwin.CHCOL_DEC -""" -decimal number -""" - -ida_kernwin.CHCOL_DEFHIDDEN -""" -column should be hidden by default -""" - -ida_kernwin.CHCOL_EA -""" -address -""" - -ida_kernwin.CHCOL_FNAME -""" -function name -""" - -ida_kernwin.CHCOL_FORMAT -""" -column format mask -""" - -ida_kernwin.CHCOL_HEX -""" -hexadecimal number -""" - -ida_kernwin.CHCOL_PATH -""" -file path -""" - -ida_kernwin.CHCOL_PLAIN -""" -plain string -""" - -ida_kernwin.CHITEM_BOLD -""" -display the item in bold -""" - -ida_kernwin.CHITEM_GRAY -""" -gray out the item -""" - -ida_kernwin.CHITEM_ITALIC -""" -display the item in italic -""" - -ida_kernwin.CHITEM_STRIKE -""" -strikeout the item -""" - -ida_kernwin.CHITEM_UNDER -""" -underline the item -""" - -ida_kernwin.CHOOSER_MENU_EDIT -""" -Values of the 'menu_index' parameter. - -Obsolete. Please don't use -""" - -ida_kernwin.CHOOSER_MENU_JUMP -""" -Obsolete. Please don't use. -""" - -ida_kernwin.CHOOSER_MENU_SEARCH -""" -Obsolete. Please don't use. -""" - -ida_kernwin.CHOOSER_MULTI_SELECTION -""" -enable for multiple selections. A callback of type -'chooser_multi_cb_t' will be called for all selected items. -""" - -ida_kernwin.CHOOSER_NO_SELECTION -""" -Flags. - -enable even if there's no selected item. 'n' will be NO_SELECTION for -a callback. -""" - -ida_kernwin.CHOOSER_POPUP_MENU -""" -Add command to the popup menu. -""" - -ida_kernwin.CH_ATTRS -""" -generate ui_get_chooser_item_attrs (gui only) -""" - -ida_kernwin.CH_BUILTIN_MASK -""" -Mask for builtin chooser numbers. Plugins should not use them. -""" - -ida_kernwin.CH_CAN_DEL -""" -allow to delete existing item(s) -""" - -ida_kernwin.CH_CAN_EDIT -""" -allow to edit existing item(s) -""" - -ida_kernwin.CH_CAN_INS -""" -allow to insert new items -""" - -ida_kernwin.CH_CAN_REFRESH -""" -allow to refresh chooser -""" - -ida_kernwin.CH_FORCE_DEFAULT -""" -if a non-modal chooser was already open, change selection to the -default one -""" - -ida_kernwin.CH_KEEP -""" -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. -""" - -ida_kernwin.CH_MODAL -""" -Modal chooser. -""" - -ida_kernwin.CH_MULTI -""" -Obsolete. - -The chooser will allow multi-selection (only for GUI choosers). This -bit is set when using the 'chooser_multi_t' structure. -""" - -ida_kernwin.CH_NOBTNS -""" -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. -""" - -ida_kernwin.CH_NOIDB -""" -use the chooser before opening the database -""" - -ida_kernwin.CH_NO_STATUS_BAR -""" -don't show a status bar -""" - -ida_kernwin.CH_QFLT -""" -open with quick filter enabled and focused -""" - -ida_kernwin.CH_QFTYP_DEFAULT -""" -set quick filtering type to the possible existing default for this -chooser -""" - -ida_kernwin.CH_QFTYP_FUZZY -""" -fuzzy search quick filter type -""" - -ida_kernwin.CH_QFTYP_NORMAL -""" -normal (i.e., lexicographical) quick filter type -""" - -ida_kernwin.CH_QFTYP_REGEX -""" -regex quick filter type -""" - -ida_kernwin.CH_QFTYP_WHOLE_WORDS -""" -whole words quick filter type -""" - -ida_kernwin.CH_RESTORE -""" -restore floating position if present (equivalent of WOPN_RESTORE) (GUI -version only) -""" - -ida_kernwin.CLNL_FINDCMT -""" -Search for the comment symbol everywhere in the line, not only at the -beginning. -""" - -ida_kernwin.CLNL_LTRIM -""" -Remove leading space characters. -""" - -ida_kernwin.CLNL_RTRIM -""" -Remove trailing space characters. -""" - -ida_kernwin.CREATETB_ADV -""" -toolbar is for 'advanced mode' only -""" - -ida_kernwin.DP_BEFORE -""" -used with 'DP_INSIDE' . - -place src_form before dst_form in the tab bar instead of after -""" - -ida_kernwin.DP_BOTTOM -""" -Dock src_form below dest_form. -""" - -ida_kernwin.DP_FLOATING -""" -Make src_form floating. -""" - -ida_kernwin.DP_INSIDE -""" -Create a new tab bar with both src_form and dest_form. -""" - -ida_kernwin.DP_LEFT -""" -Dock src_form to the left of dest_form. -""" - -ida_kernwin.DP_RIGHT -""" -Dock src_form to the right of dest_form. -""" - -ida_kernwin.DP_TAB -""" -Place src_form into a tab next to dest_form, if dest_form is in a tab -bar (otherwise the same as 'DP_INSIDE' ) -""" - -ida_kernwin.DP_TOP -""" -Dock src_form above dest_form. -""" - -ida_kernwin.HIF_IDENTIFIER -""" -text is an identifier (i.e., when searching for the current highlight, -SEARCH_IDENT will be used) -""" - -ida_kernwin.HIF_LOCKED -""" -locked; clicking/moving the cursor around doesn't change the highlight -""" - -ida_kernwin.HIF_REGISTER -""" -text represents a register (aliases/subregisters will be highlit as -well) -""" - -ida_kernwin.HIST_CMD -""" -commands -""" - -ida_kernwin.HIST_CMT -""" -comments -""" - -ida_kernwin.HIST_DIR -""" -directory names (text version only) -""" - -ida_kernwin.HIST_FILE -""" -file names -""" - -ida_kernwin.HIST_IDENT -""" -names -""" - -ida_kernwin.HIST_SEG -""" -segment names -""" - -ida_kernwin.HIST_SRCH -""" -search substrings -""" - -ida_kernwin.HIST_TYPE -""" -type declarations -""" - -ida_kernwin.IWID_ADDRWATCH -""" -address watches (47) -""" - -ida_kernwin.IWID_ALL -""" -mask -""" - -ida_kernwin.IWID_BPTS -""" -breakpoints (13) -""" - -ida_kernwin.IWID_CALLS -""" -function calls (11) -""" - -ida_kernwin.IWID_CALLS_CALLEES -""" -funcalls, callees (50) -""" - -ida_kernwin.IWID_CALLS_CALLERS -""" -funcalls, callers (49) -""" - -ida_kernwin.IWID_CALL_STACK -""" -call stack (17) -""" - -ida_kernwin.IWID_CHOOSER -""" -chooser (37) -""" - -ida_kernwin.IWID_CLI -""" -input line (33) -""" - -ida_kernwin.IWID_CMDPALCSR -""" -command palette (43) -""" - -ida_kernwin.IWID_CMDPALWIN -""" -command palette (44) -""" - -ida_kernwin.IWID_CPUREGS -""" -registers (40) -""" - -ida_kernwin.IWID_CUSTVIEW -""" -custom viewers (46) -""" - -ida_kernwin.IWID_CV_LINE_INFOS -""" -lineinfo widget (53) -""" - -ida_kernwin.IWID_DISASM -""" -disassembly views (29) -""" - -ida_kernwin.IWID_DISASM_ARROWS -""" -arrows widget (52) -""" - -ida_kernwin.IWID_DUMP -""" -hex dumps (30) -""" - -ida_kernwin.IWID_ENUMS -""" -enumerations (27) -""" - -ida_kernwin.IWID_EXPORTS -""" -exports (0) -""" - -ida_kernwin.IWID_FRAME -""" -function frame (25) -""" - -ida_kernwin.IWID_FUNCS -""" -functions (3) -""" - -ida_kernwin.IWID_IMPORTS -""" -imports (1) -""" - -ida_kernwin.IWID_LOCALS -""" -locals (35) -""" - -ida_kernwin.IWID_LOCTYPS -""" -local types (10) -""" - -ida_kernwin.IWID_MDVIEWCSR -""" -lumina md view (51) -""" - -ida_kernwin.IWID_MODULES -""" -modules (15) -""" - -ida_kernwin.IWID_NAMES -""" -names (2) -""" - -ida_kernwin.IWID_NAVBAND -""" -navigation band (26) -""" - -ida_kernwin.IWID_NOTEPAD -""" -notepad (31) -""" - -ida_kernwin.IWID_OUTPUT -""" -output (32) -""" - -ida_kernwin.IWID_PROBS -""" -problems (12) -""" - -ida_kernwin.IWID_PSEUDOCODE -""" -decompiler (48) -""" - -ida_kernwin.IWID_SEARCH -""" -search results (19) -""" - -ida_kernwin.IWID_SEGREGS -""" -segment registers (6) -""" - -ida_kernwin.IWID_SEGS -""" -segments (5) -""" - -ida_kernwin.IWID_SELS -""" -selectors (7) -""" - -ida_kernwin.IWID_SHORTCUTCSR -""" -shortcuts chooser (38) -""" - -ida_kernwin.IWID_SHORTCUTWIN -""" -shortcuts window (39) -""" - -ida_kernwin.IWID_SIGNS -""" -signatures (8) -""" - -ida_kernwin.IWID_SNIPPETS -""" -snippets (45) -""" - -ida_kernwin.IWID_SO_OFFSETS -""" -stroff (42) -""" - -ida_kernwin.IWID_SO_STRUCTS -""" -stroff (41) -""" - -ida_kernwin.IWID_SRCPTHMAP_CSR -""" -mappings chooser (54) -""" - -ida_kernwin.IWID_SRCPTHUND_CSR -""" -undesired chooser (55) -""" - -ida_kernwin.IWID_STACK -""" -Alias. Some IWID_* were confusing, and thus have been renamed. This is -to ensure bw-compat. -""" - -ida_kernwin.IWID_STKVIEW -""" -stack view (36) -""" - -ida_kernwin.IWID_STRINGS -""" -strings (4) -""" - -ida_kernwin.IWID_STRUCTS -""" -structures (28) -""" - -ida_kernwin.IWID_THREADS -""" -threads (14) -""" - -ida_kernwin.IWID_TILS -""" -type libraries (9) -""" - -ida_kernwin.IWID_TRACE -""" -trace view (16) -""" - -ida_kernwin.IWID_UNDOHIST -""" -Undo history (56) -""" - -ida_kernwin.IWID_WATCH -""" -watches (34) -""" - -ida_kernwin.IWID_XREFS -""" -xrefs (18) -""" - -ida_kernwin.MFF_FAST -""" -Execute code as soon as possible. this mode is ok for calling ui -related functions that do not query the database. -""" - -ida_kernwin.MFF_NOWAIT -""" -Do not wait for the request to be executed. the caller should ensure -that the request is not destroyed until the execution completes. if -not, the request will be ignored. 'execute_sync()' returns the request -id in this case. it can be used in 'cancel_exec_request()' . This flag -can be used to delay the code execution until the next UI loop run -even from the main thread. -""" - -ida_kernwin.MFF_READ -""" -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) -""" - -ida_kernwin.MFF_WRITE -""" -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' -""" - -ida_kernwin.SETMENU_APP -""" -add menu item after the specified path -""" - -ida_kernwin.SETMENU_FIRST -""" -add item to the beginning of menu -""" - -ida_kernwin.SETMENU_INS -""" -add menu item before the specified path (default) -""" - -ida_kernwin.UIJMP_ACTIVATE -""" -activate the new window -""" - -ida_kernwin.UIJMP_DONTPUSH -""" -in the navigation history - -do not remember the current address -""" - -ida_kernwin.UIJMP_IDAVIEW -""" -jump in idaview (by default any eaview is good) -""" - -ida_kernwin.VES_SHIFT -""" -state & 1 => Shift is pressedstate & 2 => Alt is pressedstate & 4 => -Ctrl is pressedstate & 8 => Mouse left button is pressedstate & 16 => -Mouse right button is pressedstate & 32 => Mouse middle button is -pressedstate & 128 => Meta is pressed (OSX only) -""" -=== ida_kernwin EPYDOC INJECTIONS END === -ida_lines.COLSTR(): - - Utility function to create a colored line - @param str: The string - @param tag: Color tag constant. One of SCOLOR_XXXX - - -ida_lines.add_extra_cmt(): - - add_extra_cmt(ea, isprev, format) -> bool - - - Add anterior/posterior comment line(s). - - @param ea: linear address (C++: ea_t) - @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) - @param format: printf() style format string. may contain - to denote - new lines. The resulting string should not contain - comment characters (;), the kernel will add them - automatically. (C++: const char *) - @return: true if success - - -ida_lines.add_extra_line(): - - add_extra_line(ea, isprev, format) -> bool - - - Add anterior/posterior non-comment line(s). - - @param ea: linear address (C++: ea_t) - @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) - @param format: printf() style format string. may contain - to denote - new lines. (C++: const char *) - @return: true if success - - -ida_lines.add_pgm_cmt(): - - add_pgm_cmt(format) -> bool - - - Add anterior comment line(s) at the start of program. - - @param format: printf() style format string. may contain - to denote - new lines. The resulting string should not contain - comment characters (;), the kernel will add them - automatically. (C++: const char *) - @return: true if success - - -ida_lines.add_sourcefile(): - - 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: linear address of start of the address range (C++: ea_t) - @param ea2: linear address of end of the address range (excluded) - (C++: ea_t) - @param filename: name of source file. (C++: const char *) - @return: success - - -class ida_lines.bgcolors_t(): - - Proxy of C++ bgcolors_t class - - -ida_lines.bgcolors_t.epilog_color: - bgcolors_t_epilog_color_get(self) -> bgcolor_t - -ida_lines.bgcolors_t.prolog_color: - bgcolors_t_prolog_color_get(self) -> bgcolor_t - -ida_lines.bgcolors_t.switch_color: - bgcolors_t_switch_color_get(self) -> bgcolor_t - -ida_lines.calc_bg_color(): - - calc_bg_color(ea) -> bgcolor_t - - - Get background color for line at 'ea' - - @param ea (C++: ea_t) - @return: RGB color - - -ida_lines.calc_prefix_color(): - - calc_prefix_color(ea) -> color_t - - - Get prefix color for line at 'ea' - - @param ea (C++: ea_t) - @return: Line prefix colors - - -ida_lines.create_encoding_helper(): - - create_encoding_helper(encidx=-1, nr=nr_once) -> encoder_t * - - -ida_lines.del_extra_cmt(): - - del_extra_cmt(ea, what) - - -ida_lines.del_sourcefile(): - - del_sourcefile(ea) -> bool - - - Delete information about the source file. - - @param ea: linear address (C++: ea_t) - @return: success - - -ida_lines.delete_extra_cmts(): - - delete_extra_cmts(ea, what) - - -ida_lines.generate_disasm_line(): - - generate_disasm_line(ea, flags=0) -> bool - - -ida_lines.generate_disassembly(): - - generate_disassembly(ea, max_lines, as_stack, notags) -> PyObject * - - - 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 - @return: - - None on failure - - tuple(most_important_line_number, tuple(lines)) : Returns a tuple containing - the most important line number and a tuple of generated lines - - -ida_lines.get_extra_cmt(): - - get_extra_cmt(ea, what) -> ssize_t - - -ida_lines.get_first_free_extra_cmtidx(): - - get_first_free_extra_cmtidx(ea, start) -> int - - -ida_lines.get_sourcefile(): - - get_sourcefile(ea, bounds=None) -> char const * - - - Get name of source file occupying the given address. - - @param ea: linear address (C++: ea_t) - @param bounds: pointer to the output buffer with the address range for - the current file. May be NULL. (C++: range_t *) - @return: NULL if source file information is not found, otherwise - returns pointer to file name - - -ida_lines.requires_color_esc(): - - Checks if the given character requires escaping - @param c: character (string of one char) - @return: Boolean - - - Is the given char a color escape character? - - -ida_lines.set_user_defined_prefix(): - - set_user_defined_prefix(width, pycb) -> PyObject * - - - User-defined line-prefixes are displayed just after the autogenerated - line prefixes. In order to use them, the plugin should call the - following function to specify its width and contents. - @param width: the width of the user-defined prefix - @param callback: a get_user_defined_prefix callback to get the contents of the prefix. - Its arguments: - ea - linear address - lnnum - line number - indent - indent of the line contents (-1 means the default instruction) - indent and is used for instruction itself. see explanations for printf_line() - line - the line to be generated. the line usually contains color tags this argument - can be examined to decide whether to generated the prefix - It returns a buffer of size < bufsize - - In order to remove the callback before unloading the plugin, specify the width = 0 or the callback = None - - -ida_lines.tag_addr(): - - tag_addr(ea) -> PyObject * - - - Insert an address mark into a string. - - @param ea: address to include (C++: ea_t) - - -ida_lines.tag_advance(): - - tag_advance(line, cnt) -> int - - - Move pointer to a 'line' to 'cnt' positions right. Take into account - escape sequences. - - @param line: pointer to string (C++: const char *) - @param cnt: number of positions to move right (C++: int) - @return: moved pointer - - -ida_lines.tag_remove(): - - tag_remove(nonnul_instr) -> PyObject * - - - Remove color escape sequences from a string - @param colstr: the colored string with embedded tags - @return: a new string w/o the tags - - -ida_lines.tag_skipcode(): - - 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 *) - @return: moved pointer - - -ida_lines.tag_skipcodes(): - - tag_skipcodes(line) -> int - - - Move the pointer past all color codes. - - @param line: can't be NULL (C++: const char *) - @return: moved pointer, can't be NULL - - -ida_lines.tag_strlen(): - - 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 *) - @return: the number of codepoints in the line, or -1 on error - - -ida_lines.update_extra_cmt(): - - update_extra_cmt(ea, what, str) - - - -=== ida_lines EPYDOC INJECTIONS === -ida_lines.COLOR_ADDR_SIZE -""" -Size of a tagged address (see 'COLOR_ADDR' ) -""" - -ida_lines.COLOR_BG_MAX -""" -Max color number. -""" - -ida_lines.COLOR_CODE -""" -Single instruction. -""" - -ida_lines.COLOR_CURITEM -""" -Current item. -""" - -ida_lines.COLOR_CURLINE -""" -Current line. -""" - -ida_lines.COLOR_DATA -""" -Data bytes. -""" - -ida_lines.COLOR_DEFAULT -""" -Default. -""" - -ida_lines.COLOR_ESC -""" -Escape character (Quote next character). This is needed to output '\\1' -and '\\2' characters. -""" - -ida_lines.COLOR_EXTERN -""" -External name definition segment. -""" - -ida_lines.COLOR_HIDLINE -""" -Hidden line. -""" - -ida_lines.COLOR_INV -""" -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. -""" - -ida_lines.COLOR_LIBFUNC -""" -Library function. -""" - -ida_lines.COLOR_LUMFUNC -""" -Lumina function. -""" - -ida_lines.COLOR_OFF -""" -Followed by a color code ( 'color_t' ). - -Escape character (OFF). -""" - -ida_lines.COLOR_ON -""" -Followed by a color code ( 'color_t' ). - -Escape character (ON). -""" - -ida_lines.COLOR_REGFUNC -""" -Regular function. -""" - -ida_lines.COLOR_SELECTED -""" -Selected. -""" - -ida_lines.COLOR_UNKNOWN -""" -Unexplored byte. -""" - -ida_lines.SCOLOR_ADDR -""" -Hidden address mark. -""" - -ida_lines.SCOLOR_ALTOP -""" -Alternative operand. -""" - -ida_lines.SCOLOR_ASMDIR -""" -Assembler directive. -""" - -ida_lines.SCOLOR_AUTOCMT -""" -Automatic comment. -""" - -ida_lines.SCOLOR_BINPREF -""" -Binary line prefix bytes. -""" - -ida_lines.SCOLOR_CHAR -""" -Char constant in instruction. -""" - -ida_lines.SCOLOR_CNAME -""" -Regular code name. -""" - -ida_lines.SCOLOR_CODNAME -""" -Dummy code name. -""" - -ida_lines.SCOLOR_COLLAPSED -""" -Collapsed line. -""" - -ida_lines.SCOLOR_CREF -""" -Code reference. -""" - -ida_lines.SCOLOR_CREFTAIL -""" -Code reference to tail byte. -""" - -ida_lines.SCOLOR_DATNAME -""" -Dummy Data Name. -""" - -ida_lines.SCOLOR_DCHAR -""" -Char constant in data directive. -""" - -ida_lines.SCOLOR_DEFAULT -""" -Default. -""" - -ida_lines.SCOLOR_DEMNAME -""" -Demangled Name. -""" - -ida_lines.SCOLOR_DNAME -""" -Regular Data Name. -""" - -ida_lines.SCOLOR_DNUM -""" -Numeric constant in data directive. -""" - -ida_lines.SCOLOR_DREF -""" -Data reference. -""" - -ida_lines.SCOLOR_DREFTAIL -""" -Data reference to tail byte. -""" - -ida_lines.SCOLOR_DSTR -""" -String constant in data directive. -""" - -ida_lines.SCOLOR_ERROR -""" -Error or problem. -""" - -ida_lines.SCOLOR_ESC -""" -Escape character (Quote next character) -""" - -ida_lines.SCOLOR_EXTRA -""" -Extra line. -""" - -ida_lines.SCOLOR_HIDNAME -""" -Hidden name. -""" - -ida_lines.SCOLOR_IMPNAME -""" -Imported name. -""" - -ida_lines.SCOLOR_INSN -""" -Instruction. -""" - -ida_lines.SCOLOR_INV -""" -Escape character (Inverse colors) -""" - -ida_lines.SCOLOR_KEYWORD -""" -Keywords. -""" - -ida_lines.SCOLOR_LIBNAME -""" -Library function name. -""" - -ida_lines.SCOLOR_LOCNAME -""" -Local variable name. -""" - -ida_lines.SCOLOR_MACRO -""" -Macro. -""" - -ida_lines.SCOLOR_NUMBER -""" -Numeric constant in instruction. -""" - -ida_lines.SCOLOR_OFF -""" -Escape character (OFF) -""" - -ida_lines.SCOLOR_ON -""" -Escape character (ON) -""" - -ida_lines.SCOLOR_PREFIX -""" -Line prefix. -""" - -ida_lines.SCOLOR_REG -""" -Register name. -""" - -ida_lines.SCOLOR_REGCMT -""" -Regular comment. -""" - -ida_lines.SCOLOR_RPTCMT -""" -Repeatable comment (defined not here) -""" - -ida_lines.SCOLOR_SEGNAME -""" -Segment name. -""" - -ida_lines.SCOLOR_STRING -""" -String constant in instruction. -""" - -ida_lines.SCOLOR_SYMBOL -""" -Punctuation. -""" - -ida_lines.SCOLOR_UNAME -""" -Regular unknown name. -""" - -ida_lines.SCOLOR_UNKNAME -""" -Dummy unknown name. -""" - -ida_lines.SCOLOR_VOIDOP -""" -Void operand. -""" -=== ida_lines EPYDOC INJECTIONS END === -ida_loader.base2file(): - - base2file(fp, pos, ea1, ea2) -> int - - - Unload database to a binary file. This function works for wide byte - processors too. - - @param fp: pointer to file (C++: FILE *) - @param pos: position in the file (C++: qoff64_t) - @param ea1: range of source linear addresses (C++: ea_t) - @param ea2: range of source linear addresses (C++: ea_t) - @return: 1-ok(always), write error leads to immediate exit - - -ida_loader.build_snapshot_tree(): - - build_snapshot_tree(root) -> bool - - - Build the snapshot tree. - - @param root: snapshot root that will contain the snapshot tree - elements. (C++: snapshot_t *) - @return: success - - -ida_loader.clr_database_flag(): - - clr_database_flag(dbfl) - - -ida_loader.extract_module_from_archive(): - - 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 is_remote: is the input file remote? (C++: bool) - - -ida_loader.file2base(): - - 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: pointer of input source (C++: linput_t *) - @param pos: position in the file (C++: qoff64_t) - @param ea1: range of destination linear addresses (C++: ea_t) - @param ea2: range of destination linear addresses (C++: ea_t) - @param patchable: should the kernel remember correspondence of file - offsets to linear addresses. (C++: int) - - -ida_loader.find_plugin(): - - find_plugin(name, load_if_needed=False) -> plugin_t * - - - Find a user-defined plugin and optionally load it. - - @param name: short plugin name without path and extension, or absolute - path to the file name (C++: const char *) - @param load_if_needed: if the plugin is not present in the memory, try - to load it (C++: bool) - @return: pointer to plugin description block - - -ida_loader.flush_buffers(): - - flush_buffers() -> int - - - Flush buffers to the disk. - - -ida_loader.gen_exe_file(): - - 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 == NULL then return: 1: - can generate an executable file 0: can't generate an - executable file - - -ida_loader.gen_file(): - - gen_file(otype, fp, ea1, ea2, flags) -> int - - - Generate an output file. 'OFILE_EXE' : - - @param otype: type of output file. (C++: ofile_type_t) - @param fp: the output file handle (C++: FILE *) - @param ea1: start address. For some file types this argument is - ignored (C++: ea_t) - @param ea2: end address. For some file types this argument is ignored - as usual in ida, the end address of the range is not - included (C++: ea_t) - @param flags: Generate file flags (C++: int) - @return: number of the generated lines. -1 if an error occurred - - -ida_loader.get_basic_file_type(): - - 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 *) - - -ida_loader.get_elf_debug_file_directory(): - - get_elf_debug_file_directory() -> char const * - - - Get the value of the ELF_DEBUG_FILE_DIRECTORY configuration directive. - - -ida_loader.get_file_type_name(): - - get_file_type_name() -> size_t - - - Get name of the current file type. The current file type is kept in - \inf{filetype}. - - @return: size of answer, this function always succeeds - - -ida_loader.get_fileregion_ea(): - - 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) - - -ida_loader.get_fileregion_offset(): - - 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) - - -ida_loader.get_path(): - - get_path(pt) -> char const * - - - Get the file path - - @param pt: file path type Types of the file pathes (C++: path_type_t) - @return: file path, never returns NULL - - -ida_loader.get_plugin_options(): - - 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 NULL if there we no options specified - - @param plugin (C++: const char *) - - -class ida_loader.idp_desc_t(): - - Proxy of C++ idp_desc_t class - - -ida_loader.idp_desc_t.checked: - idp_desc_t_checked_get(self) -> bool - -ida_loader.idp_desc_t.family: - idp_desc_t_family_get(self) -> qstring * - -ida_loader.idp_desc_t.is_script: - idp_desc_t_is_script_get(self) -> bool - -ida_loader.idp_desc_t.mtime: - idp_desc_t_mtime_get(self) -> time_t - -ida_loader.idp_desc_t.names: - idp_desc_t_names_get(self) -> idp_names_t * - -ida_loader.idp_desc_t.path: - idp_desc_t_path_get(self) -> qstring * - -class ida_loader.idp_name_t(): - - Proxy of C++ idp_name_t class - - -ida_loader.idp_name_t.hidden: - idp_name_t_hidden_get(self) -> bool - -ida_loader.idp_name_t.lname: - idp_name_t_lname_get(self) -> qstring * - -ida_loader.idp_name_t.sname: - idp_name_t_sname_get(self) -> qstring * - -ida_loader.is_database_flag(): - - is_database_flag(dbfl) -> bool - - - Get the current database flag - - @param dbfl: flag Database flags (C++: uint32) - @return: the state of the flag (set or cleared) - - -ida_loader.is_trusted_idb(): - - is_trusted_idb() -> bool - - - Is the database considered as trusted? - - -ida_loader.load_and_run_plugin(): - - load_and_run_plugin(name, arg) -> bool - - - Load & run a plugin. - - - @param name (C++: const char *) - @param arg (C++: size_t) - - -ida_loader.load_binary_file(): - - 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: the name of input file as is (if the input file is - from library, then this is the name from the library) - (C++: const char *) - @param li: loader input source (C++: linput_t *) - @param _neflags: Load file flags . For the first file, the flag - NEF_FIRST must be set. (C++: ushort) - @param fileoff: Offset in the input file (C++: qoff64_t) - @param basepara: Load address in paragraphs (C++: ea_t) - @param binoff: Load offset (load_address=(basepara<<4)+binoff) (C++: - ea_t) - @param nbytes: Number of bytes to load from the file. 0: up to the - end of the file (C++: uint64) - - -ida_loader.load_ids_module(): - - 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: name of file to apply (C++: char *) - - -ida_loader.load_plugin(): - - load_plugin(name) -> PyObject * - - - Loads a plugin - @return: - - None if plugin could not be loaded - - An opaque object representing the loaded plugin - - -class ida_loader.loader_t(): - - Proxy of C++ loader_t class - - -ida_loader.loader_t.flags: - loader_t_flags_get(self) -> uint32 - -ida_loader.loader_t.version: - loader_t_version_get(self) -> uint32 - -ida_loader.mem2base(): - - mem2base(py_mem, ea, fpos=-1) -> int - - - Load database from the memory. - @param 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 - - -class ida_loader.plugin_info_t(): - - Proxy of C++ plugin_info_t class - - -ida_loader.plugin_info_t.arg: - plugin_info_t_arg_get(self) -> size_t - -ida_loader.plugin_info_t.comment: - plugin_info_t_comment_get(self) -> char * - -ida_loader.plugin_info_t.dllmem: - plugin_info_t_dllmem_get(self) -> idadll_t * - -ida_loader.plugin_info_t.entry: - plugin_info_t_entry_get(self) -> plugin_t * - -ida_loader.plugin_info_t.flags: - plugin_info_t_flags_get(self) -> int - -ida_loader.plugin_info_t.hotkey: - plugin_info_t_hotkey_get(self) -> ushort - -ida_loader.plugin_info_t.name: - plugin_info_t_name_get(self) -> char * - -ida_loader.plugin_info_t.next: - plugin_info_t_next_get(self) -> plugin_info_t - -ida_loader.plugin_info_t.org_hotkey: - plugin_info_t_org_hotkey_get(self) -> ushort - -ida_loader.plugin_info_t.org_name: - plugin_info_t_org_name_get(self) -> char * - -ida_loader.plugin_info_t.path: - plugin_info_t_path_get(self) -> char * - -ida_loader.process_archive(): - - process_archive(temp_file, li, module_name, neflags, defmember, loader) -> int - - - Calls 'loader_t::process_archive()' For parameters and return value - description look at 'loader_t::process_archive()' . Additional - parameter: - - @param temp_file (C++: qstring *) - @param li (C++: linput_t *) - @param module_name (C++: qstring *) - @param neflags (C++: ushort *) - @param defmember (C++: const char *) - @param loader: pointer to load_info_t structure. (C++: const - load_info_t *) - - -class ida_loader.qvector_snapshotvec_t(): - - Proxy of C++ qvector<(p.snapshot_t)> class - - -ida_loader.qvector_snapshotvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_loader.qvector_snapshotvec_t.at(): - - at(self, n) -> snapshot_t - - -ida_loader.qvector_snapshotvec_t.begin(): - - begin(self) -> qvector< snapshot_t * >::iterator - begin(self) -> qvector< snapshot_t * >::const_iterator - - -ida_loader.qvector_snapshotvec_t.capacity(): - - capacity(self) -> size_t - - -ida_loader.qvector_snapshotvec_t.clear(): - - clear(self) - - -ida_loader.qvector_snapshotvec_t.empty(): - - empty(self) -> bool - - -ida_loader.qvector_snapshotvec_t.end(): - - end(self) -> qvector< snapshot_t * >::iterator - end(self) -> qvector< snapshot_t * >::const_iterator - - -ida_loader.qvector_snapshotvec_t.erase(): - - erase(self, it) -> qvector< snapshot_t * >::iterator - erase(self, first, last) -> qvector< snapshot_t * >::iterator - - -ida_loader.qvector_snapshotvec_t.extract(): - - extract(self) -> snapshot_t ** - - -ida_loader.qvector_snapshotvec_t.find(): - - find(self, x) -> qvector< snapshot_t * >::iterator - find(self, x) -> qvector< snapshot_t * >::const_iterator - - -ida_loader.qvector_snapshotvec_t.has(): - - has(self, x) -> bool - - -ida_loader.qvector_snapshotvec_t.inject(): - - inject(self, s, len) - - -ida_loader.qvector_snapshotvec_t.insert(): - - insert(self, it, x) -> qvector< snapshot_t * >::iterator - - -ida_loader.qvector_snapshotvec_t.pop_back(): - - pop_back(self) - - -ida_loader.qvector_snapshotvec_t.push_back(): - - push_back(self, x) - push_back(self) -> snapshot_t *& - - -ida_loader.qvector_snapshotvec_t.qclear(): - - qclear(self) - - -ida_loader.qvector_snapshotvec_t.reserve(): - - reserve(self, cnt) - - -ida_loader.qvector_snapshotvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_loader.qvector_snapshotvec_t.size(): - - size(self) -> size_t - - -ida_loader.qvector_snapshotvec_t.swap(): - - swap(self, r) - - -ida_loader.qvector_snapshotvec_t.truncate(): - - truncate(self) - - -ida_loader.reload_file(): - - reload_file(file, is_remote) -> int - - - 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: name of the input file. if file == NULL then returns: - 1: can reload the input file 0: can't reload the input - file (C++: const char *) - @param is_remote: is the file located on a remote computer with the - debugger server? (C++: bool) - - -ida_loader.run_plugin(): - - run_plugin(plg, arg) -> bool - - - Runs a plugin - @param plg: A plugin object (returned by load_plugin()) - @return: Boolean - - -ida_loader.save_database(): - - save_database(outfile, flags, root=None, attr=None) -> bool - - - Save current database using a new file name.when both root and attr - are not NULL then the snapshot attributes will be updated, otherwise - the snapshot attributes will be inherited from the current database. - - @param outfile: output database file name (C++: const char *) - @param flags: Database flags (C++: uint32) - @param root: optional: snapshot tree root. (C++: const snapshot_t *) - @param attr: optional: snapshot attributes (C++: const snapshot_t *) - @return: success - - -ida_loader.set_database_flag(): - - set_database_flag(dbfl, cnd=True) - - - Set or clear database flag - - @param dbfl: flag Database flags (C++: uint32) - @param cnd: set if true or clear flag otherwise (C++: bool) - - -ida_loader.set_path(): - - set_path(pt, path) - - - Set the file path - - @param pt: file path type Types of the file pathes (C++: path_type_t) - @param path: new file path, use NULL or empty string to clear the file - path (C++: const char *) - - -class ida_loader.snapshot_t(): - - Proxy of C++ snapshot_t class - - -ida_loader.snapshot_t.children: - snapshot_t_children_get(self) -> qvector_snapshotvec_t - -ida_loader.snapshot_t.clear(): - - clear(self) - - -ida_loader.snapshot_t.desc: - snapshot_t_desc_get(self) -> char [128] - -ida_loader.snapshot_t.filename: - snapshot_t_filename_get(self) -> char [QMAXPATH] - -ida_loader.snapshot_t.flags: - snapshot_t_flags_get(self) -> uint16 - -ida_loader.snapshot_t.id: - snapshot_t_id_get(self) -> qtime64_t - - -=== ida_loader EPYDOC INJECTIONS === -ida_loader.ACCEPT_ARCHIVE -""" -Specify that a file format is served by archive loader See -'loader_t::accept_file' -""" - -ida_loader.ACCEPT_CONTINUE -""" -Specify that the function must be called another time See -'loader_t::accept_file' -""" - -ida_loader.ACCEPT_FIRST -""" -Specify that a file format should be place first in "load file" dialog -box. See 'loader_t::accept_file' -""" - -ida_loader.DBFL_BAK -""" -create backup file (if !DBFL_KILL) -""" - -ida_loader.DBFL_COMP -""" -collect garbage -""" - -ida_loader.DBFL_KILL -""" -delete unpacked database -""" - -ida_loader.DBFL_TEMP -""" -temporary database -""" - -ida_loader.FILEREG_NOTPATCHABLE -""" -form in the file. - -the data is kept in some encoded -""" - -ida_loader.FILEREG_PATCHABLE -""" -means that the input file may be patched (i.e. no compression, no -iterated data, etc) -""" - -ida_loader.GENFLG_ASMINC -""" - 'OFILE_ASM' , 'OFILE_LST' : gen information only about types -""" - -ida_loader.GENFLG_ASMTYPE -""" - 'OFILE_ASM' , 'OFILE_LST' : gen information about types too -""" - -ida_loader.GENFLG_GENHTML -""" - 'OFILE_ASM' , 'OFILE_LST' : generate html ( 'ui_genfile_callback' -will be used) -""" - -ida_loader.GENFLG_IDCTYPE -""" - 'OFILE_IDC' : gen only information about types -""" - -ida_loader.GENFLG_MAPDMNG -""" - 'OFILE_MAP' : demangle names -""" - -ida_loader.GENFLG_MAPLOC -""" - 'OFILE_MAP' : include local names -""" - -ida_loader.GENFLG_MAPNAME -""" - 'OFILE_MAP' : include dummy names -""" - -ida_loader.GENFLG_MAPSEG -""" - 'OFILE_MAP' : generate map of segments -""" - -ida_loader.LDRF_RELOAD -""" -loader recognizes 'NEF_RELOAD' flag -""" - -ida_loader.LDRF_REQ_PROC -""" -Requires a processor to be set. if this bit is not set, load_file() -must call set_processor_type(..., SETPROC_LOADER) -""" - -ida_loader.MAX_DATABASE_DESCRIPTION -""" -Maximum database snapshot description length. -""" - -ida_loader.NEF_CODE -""" -load as a code segment - -for 'load_binary_file()' : -""" - -ida_loader.NEF_FILL -""" -Fill segment gaps. -""" - -ida_loader.NEF_FIRST -""" -into the database. - -This is the first file loaded -""" - -ida_loader.NEF_FLAT -""" -Autocreate FLAT group (PE) -""" - -ida_loader.NEF_IMPS -""" -Create import segment. -""" - -ida_loader.NEF_LALL -""" -Load all segments without questions. -""" - -ida_loader.NEF_LOPT -""" -Display additional loader options dialog. -""" - -ida_loader.NEF_MAN -""" -Manual load. -""" - -ida_loader.NEF_MINI -""" -Create mini database (do not copy segment bytes from the input file; -use only the file header metadata) -""" - -ida_loader.NEF_NAME -""" -Rename entries. -""" - -ida_loader.NEF_RELOAD -""" -reload the file at the same place: - don't create segmentsdon't create -fixup infodon't import segmentsetc load only the bytes into the base. -a loader should have 'LDRF_RELOAD' bit set -""" - -ida_loader.NEF_RSCS -""" -Load resources. -""" - -ida_loader.NEF_SEGS -""" -Create segments. -""" - -ida_loader.PLUGIN_DLL -""" -Pattern to find plugin files. -""" - -ida_loader.SSF_AUTOMATIC -""" -automatic snapshot -""" - -ida_loader.SSUF_DESC -""" -Update the description. -""" - -ida_loader.SSUF_FLAGS -""" -Update the flags. -""" - -ida_loader.SSUF_PATH -""" -Update the path. -""" -=== ida_loader EPYDOC INJECTIONS END === -ida_lumina.apply_metadata(): - - apply_metadata(ea, fi, flags=0x0) - - -ida_lumina.backup_metadata(): - - backup_metadata(ea) -> bool - - -ida_lumina.calc_func_metadata(): - - calc_func_metadata(out_fi, pfn, append_metadata=None) -> asize_t - - -ida_lumina.create_simple_diff_handler(): - - create_simple_diff_handler() -> simple_diff_handler_t - - -ida_lumina.create_simple_idb_diff_handler(): - - create_simple_idb_diff_handler(pfn) -> simple_idb_diff_handler_t - - -ida_lumina.diff_metadata(): - - diff_metadata(handler, left, right, flags=0) -> bool - - -ida_lumina.ea_to_ea64(): - - ea_to_ea64(ea) -> ea64_t - - -class ida_lumina.extra_cmt_t(): - - Proxy of C++ extra_cmt_t class - - -ida_lumina.extra_cmt_t.fchunk_nr: - insn_site_t_fchunk_nr_get(self) -> uint32 - -ida_lumina.extra_cmt_t.fchunk_off: - insn_site_t_fchunk_off_get(self) -> uint32 - -ida_lumina.extra_cmt_t.next: - extra_cmt_t_next_get(self) -> qstring * - -ida_lumina.extra_cmt_t.prev: - extra_cmt_t_prev_get(self) -> qstring * - -ida_lumina.extra_cmt_t.toea(): - - toea(self, pfn) -> ea_t - - -class ida_lumina.extra_cmts_t(): - - Proxy of C++ qvector<(extra_cmt_t)> class - - -ida_lumina.extra_cmts_t.at(): - - at(self, _idx) -> extra_cmt_t - - -ida_lumina.extra_cmts_t.begin(): - - begin(self) -> extra_cmt_t - begin(self) -> extra_cmt_t - - -ida_lumina.extra_cmts_t.capacity(): - - capacity(self) -> size_t - - -ida_lumina.extra_cmts_t.clear(): - - clear(self) - - -ida_lumina.extra_cmts_t.empty(): - - empty(self) -> bool - - -ida_lumina.extra_cmts_t.end(): - - end(self) -> extra_cmt_t - end(self) -> extra_cmt_t - - -ida_lumina.extra_cmts_t.erase(): - - erase(self, it) -> extra_cmt_t - erase(self, first, last) -> extra_cmt_t - - -ida_lumina.extra_cmts_t.extract(): - - extract(self) -> extra_cmt_t - - -ida_lumina.extra_cmts_t.grow(): - - grow(self, x=extra_cmt_t()) - - -ida_lumina.extra_cmts_t.inject(): - - inject(self, s, len) - - -ida_lumina.extra_cmts_t.insert(): - - insert(self, it, x) -> extra_cmt_t - - -ida_lumina.extra_cmts_t.pop_back(): - - pop_back(self) - - -ida_lumina.extra_cmts_t.push_back(): - - push_back(self, x) - push_back(self) -> extra_cmt_t - - -ida_lumina.extra_cmts_t.qclear(): - - qclear(self) - - -ida_lumina.extra_cmts_t.reserve(): - - reserve(self, cnt) - - -ida_lumina.extra_cmts_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_lumina.extra_cmts_t.size(): - - size(self) -> size_t - - -ida_lumina.extra_cmts_t.swap(): - - swap(self, r) - - -ida_lumina.extra_cmts_t.truncate(): - - truncate(self) - - -ida_lumina.extract_extra_cmts_from_metadata(): - - extract_extra_cmts_from_metadata(out, ptr) - - -ida_lumina.extract_frame_desc_from_metadata(): - - extract_frame_desc_from_metadata(out, ptr) - - -ida_lumina.extract_insn_cmts_from_metadata(): - - extract_insn_cmts_from_metadata(out, ptr) - - -ida_lumina.extract_insn_opreprs_from_metadata(): - - extract_insn_opreprs_from_metadata(out, ptr) - - -ida_lumina.extract_type_from_metadata(): - - extract_type_from_metadata(out, _in) -> bool - - -ida_lumina.extract_user_stkpnts_from_metadata(): - - extract_user_stkpnts_from_metadata(out, ptr) - - -class ida_lumina.frame_desc_t(): - - Proxy of C++ frame_desc_t class - - -ida_lumina.frame_desc_t.argsize: - frame_desc_t_argsize_get(self) -> asize_t - -ida_lumina.frame_desc_t.frregs: - frame_desc_t_frregs_get(self) -> ushort - -ida_lumina.frame_desc_t.frsize: - frame_desc_t_frsize_get(self) -> sval_t - -ida_lumina.frame_desc_t.members: - frame_desc_t_members_get(self) -> frame_mems_t - -class ida_lumina.frame_mem_t(): - - Proxy of C++ frame_mem_t class - - -ida_lumina.frame_mem_t.cmt: - frame_mem_t_cmt_get(self) -> qstring * - -ida_lumina.frame_mem_t.info: - frame_mem_t_info_get(self) -> oprepr_t - -ida_lumina.frame_mem_t.name: - frame_mem_t_name_get(self) -> qstring * - -ida_lumina.frame_mem_t.nbytes: - frame_mem_t_nbytes_get(self) -> asize_t - -ida_lumina.frame_mem_t.offset: - frame_mem_t_offset_get(self) -> ea64_t - -ida_lumina.frame_mem_t.rptcmt: - frame_mem_t_rptcmt_get(self) -> qstring * - -ida_lumina.frame_mem_t.type: - frame_mem_t_type_get(self) -> serialized_tinfo - -class ida_lumina.frame_mems_t(): - - Proxy of C++ qvector<(frame_mem_t)> class - - -ida_lumina.frame_mems_t.at(): - - at(self, _idx) -> frame_mem_t - - -ida_lumina.frame_mems_t.begin(): - - begin(self) -> frame_mem_t - begin(self) -> frame_mem_t - - -ida_lumina.frame_mems_t.capacity(): - - capacity(self) -> size_t - - -ida_lumina.frame_mems_t.clear(): - - clear(self) - - -ida_lumina.frame_mems_t.empty(): - - empty(self) -> bool - - -ida_lumina.frame_mems_t.end(): - - end(self) -> frame_mem_t - end(self) -> frame_mem_t - - -ida_lumina.frame_mems_t.erase(): - - erase(self, it) -> frame_mem_t - erase(self, first, last) -> frame_mem_t - - -ida_lumina.frame_mems_t.extract(): - - extract(self) -> frame_mem_t - - -ida_lumina.frame_mems_t.grow(): - - grow(self, x=frame_mem_t()) - - -ida_lumina.frame_mems_t.inject(): - - inject(self, s, len) - - -ida_lumina.frame_mems_t.insert(): - - insert(self, it, x) -> frame_mem_t - - -ida_lumina.frame_mems_t.pop_back(): - - pop_back(self) - - -ida_lumina.frame_mems_t.push_back(): - - push_back(self, x) - push_back(self) -> frame_mem_t - - -ida_lumina.frame_mems_t.qclear(): - - qclear(self) - - -ida_lumina.frame_mems_t.reserve(): - - reserve(self, cnt) - - -ida_lumina.frame_mems_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_lumina.frame_mems_t.size(): - - size(self) -> size_t - - -ida_lumina.frame_mems_t.swap(): - - swap(self, r) - - -ida_lumina.frame_mems_t.truncate(): - - truncate(self) - - -class ida_lumina.func_info_and_frequency_t(): - - Proxy of C++ func_info_and_frequency_t class - - -ida_lumina.func_info_and_frequency_t.frequency: - func_info_and_frequency_t_frequency_get(self) -> uint32 - -ida_lumina.func_info_and_frequency_t.metadata: - func_info_t_metadata_get(self) -> metadata_t * - -ida_lumina.func_info_and_frequency_t.name: - func_info_t_name_get(self) -> qstring * - -ida_lumina.func_info_and_frequency_t.size: - func_info_t_size_get(self) -> uint32 - -class ida_lumina.func_info_and_frequency_vec_t(): - - Proxy of C++ qvector<(func_info_and_frequency_t)> class - - -ida_lumina.func_info_and_frequency_vec_t.at(): - - at(self, _idx) -> func_info_and_frequency_t - - -ida_lumina.func_info_and_frequency_vec_t.begin(): - - begin(self) -> func_info_and_frequency_t - begin(self) -> func_info_and_frequency_t - - -ida_lumina.func_info_and_frequency_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_lumina.func_info_and_frequency_vec_t.clear(): - - clear(self) - - -ida_lumina.func_info_and_frequency_vec_t.empty(): - - empty(self) -> bool - - -ida_lumina.func_info_and_frequency_vec_t.end(): - - end(self) -> func_info_and_frequency_t - end(self) -> func_info_and_frequency_t - - -ida_lumina.func_info_and_frequency_vec_t.erase(): - - erase(self, it) -> func_info_and_frequency_t - erase(self, first, last) -> func_info_and_frequency_t - - -ida_lumina.func_info_and_frequency_vec_t.extract(): - - extract(self) -> func_info_and_frequency_t - - -ida_lumina.func_info_and_frequency_vec_t.grow(): - - grow(self, x=func_info_and_frequency_t()) - - -ida_lumina.func_info_and_frequency_vec_t.inject(): - - inject(self, s, len) - - -ida_lumina.func_info_and_frequency_vec_t.insert(): - - insert(self, it, x) -> func_info_and_frequency_t - - -ida_lumina.func_info_and_frequency_vec_t.pop_back(): - - pop_back(self) - - -ida_lumina.func_info_and_frequency_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> func_info_and_frequency_t - - -ida_lumina.func_info_and_frequency_vec_t.qclear(): - - qclear(self) - - -ida_lumina.func_info_and_frequency_vec_t.reserve(): - - reserve(self, cnt) - - -ida_lumina.func_info_and_frequency_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_lumina.func_info_and_frequency_vec_t.size(): - - size(self) -> size_t - - -ida_lumina.func_info_and_frequency_vec_t.swap(): - - swap(self, r) - - -ida_lumina.func_info_and_frequency_vec_t.truncate(): - - truncate(self) - - -class ida_lumina.func_info_and_pattern_t(): - - Proxy of C++ func_info_and_pattern_t class - - -ida_lumina.func_info_and_pattern_t.metadata: - func_info_t_metadata_get(self) -> metadata_t * - -ida_lumina.func_info_and_pattern_t.name: - func_info_t_name_get(self) -> qstring * - -ida_lumina.func_info_and_pattern_t.pattern_id: - func_info_and_pattern_t_pattern_id_get(self) -> pattern_id_t - -ida_lumina.func_info_and_pattern_t.size: - func_info_t_size_get(self) -> uint32 - -class ida_lumina.func_info_and_pattern_vec_t(): - - Proxy of C++ qvector<(func_info_and_pattern_t)> class - - -ida_lumina.func_info_and_pattern_vec_t.at(): - - at(self, _idx) -> func_info_and_pattern_t - - -ida_lumina.func_info_and_pattern_vec_t.begin(): - - begin(self) -> func_info_and_pattern_t - begin(self) -> func_info_and_pattern_t - - -ida_lumina.func_info_and_pattern_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_lumina.func_info_and_pattern_vec_t.clear(): - - clear(self) - - -ida_lumina.func_info_and_pattern_vec_t.empty(): - - empty(self) -> bool - - -ida_lumina.func_info_and_pattern_vec_t.end(): - - end(self) -> func_info_and_pattern_t - end(self) -> func_info_and_pattern_t - - -ida_lumina.func_info_and_pattern_vec_t.erase(): - - erase(self, it) -> func_info_and_pattern_t - erase(self, first, last) -> func_info_and_pattern_t - - -ida_lumina.func_info_and_pattern_vec_t.extract(): - - extract(self) -> func_info_and_pattern_t - - -ida_lumina.func_info_and_pattern_vec_t.grow(): - - grow(self, x=func_info_and_pattern_t()) - - -ida_lumina.func_info_and_pattern_vec_t.inject(): - - inject(self, s, len) - - -ida_lumina.func_info_and_pattern_vec_t.insert(): - - insert(self, it, x) -> func_info_and_pattern_t - - -ida_lumina.func_info_and_pattern_vec_t.pop_back(): - - pop_back(self) - - -ida_lumina.func_info_and_pattern_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> func_info_and_pattern_t - - -ida_lumina.func_info_and_pattern_vec_t.qclear(): - - qclear(self) - - -ida_lumina.func_info_and_pattern_vec_t.reserve(): - - reserve(self, cnt) - - -ida_lumina.func_info_and_pattern_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_lumina.func_info_and_pattern_vec_t.size(): - - size(self) -> size_t - - -ida_lumina.func_info_and_pattern_vec_t.swap(): - - swap(self, r) - - -ida_lumina.func_info_and_pattern_vec_t.truncate(): - - truncate(self) - - -class ida_lumina.func_info_base_t(): - - Proxy of C++ func_info_base_t class - - -ida_lumina.func_info_base_t.metadata: - func_info_base_t_metadata_get(self) -> metadata_t * - -ida_lumina.func_info_base_t.name: - func_info_base_t_name_get(self) -> qstring * - -class ida_lumina.func_info_pattern_and_frequency_t(): - - Proxy of C++ func_info_pattern_and_frequency_t class - - -ida_lumina.func_info_pattern_and_frequency_t.frequency: - func_info_pattern_and_frequency_t_frequency_get(self) -> uint32 - -ida_lumina.func_info_pattern_and_frequency_t.metadata: - func_info_t_metadata_get(self) -> metadata_t * - -ida_lumina.func_info_pattern_and_frequency_t.name: - func_info_t_name_get(self) -> qstring * - -ida_lumina.func_info_pattern_and_frequency_t.pattern_id: - func_info_and_pattern_t_pattern_id_get(self) -> pattern_id_t - -ida_lumina.func_info_pattern_and_frequency_t.size: - func_info_t_size_get(self) -> uint32 - -class ida_lumina.func_info_pattern_and_frequency_vec_t(): - - Proxy of C++ qvector<(func_info_pattern_and_frequency_t)> class - - -ida_lumina.func_info_pattern_and_frequency_vec_t.at(): - - at(self, _idx) -> func_info_pattern_and_frequency_t - - -ida_lumina.func_info_pattern_and_frequency_vec_t.begin(): - - begin(self) -> func_info_pattern_and_frequency_t - begin(self) -> func_info_pattern_and_frequency_t - - -ida_lumina.func_info_pattern_and_frequency_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_lumina.func_info_pattern_and_frequency_vec_t.clear(): - - clear(self) - - -ida_lumina.func_info_pattern_and_frequency_vec_t.empty(): - - empty(self) -> bool - - -ida_lumina.func_info_pattern_and_frequency_vec_t.end(): - - end(self) -> func_info_pattern_and_frequency_t - end(self) -> func_info_pattern_and_frequency_t - - -ida_lumina.func_info_pattern_and_frequency_vec_t.erase(): - - erase(self, it) -> func_info_pattern_and_frequency_t - erase(self, first, last) -> func_info_pattern_and_frequency_t - - -ida_lumina.func_info_pattern_and_frequency_vec_t.extract(): - - extract(self) -> func_info_pattern_and_frequency_t - - -ida_lumina.func_info_pattern_and_frequency_vec_t.grow(): - - grow(self, x=func_info_pattern_and_frequency_t()) - - -ida_lumina.func_info_pattern_and_frequency_vec_t.inject(): - - inject(self, s, len) - - -ida_lumina.func_info_pattern_and_frequency_vec_t.insert(): - - insert(self, it, x) -> func_info_pattern_and_frequency_t - - -ida_lumina.func_info_pattern_and_frequency_vec_t.pop_back(): - - pop_back(self) - - -ida_lumina.func_info_pattern_and_frequency_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> func_info_pattern_and_frequency_t - - -ida_lumina.func_info_pattern_and_frequency_vec_t.qclear(): - - qclear(self) - - -ida_lumina.func_info_pattern_and_frequency_vec_t.reserve(): - - reserve(self, cnt) - - -ida_lumina.func_info_pattern_and_frequency_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_lumina.func_info_pattern_and_frequency_vec_t.size(): - - size(self) -> size_t - - -ida_lumina.func_info_pattern_and_frequency_vec_t.swap(): - - swap(self, r) - - -ida_lumina.func_info_pattern_and_frequency_vec_t.truncate(): - - truncate(self) - - -class ida_lumina.func_info_t(): - - Proxy of C++ func_info_t class - - -ida_lumina.func_info_t.metadata: - func_info_t_metadata_get(self) -> metadata_t * - -ida_lumina.func_info_t.name: - func_info_t_name_get(self) -> qstring * - -ida_lumina.func_info_t.size: - func_info_t_size_get(self) -> uint32 - -class ida_lumina.func_info_vec_t(): - - Proxy of C++ qvector<(func_info_t)> class - - -ida_lumina.func_info_vec_t.at(): - - at(self, _idx) -> func_info_t - - -ida_lumina.func_info_vec_t.begin(): - - begin(self) -> func_info_t - begin(self) -> func_info_t - - -ida_lumina.func_info_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_lumina.func_info_vec_t.clear(): - - clear(self) - - -ida_lumina.func_info_vec_t.empty(): - - empty(self) -> bool - - -ida_lumina.func_info_vec_t.end(): - - end(self) -> func_info_t - end(self) -> func_info_t - - -ida_lumina.func_info_vec_t.erase(): - - erase(self, it) -> func_info_t - erase(self, first, last) -> func_info_t - - -ida_lumina.func_info_vec_t.extract(): - - extract(self) -> func_info_t - - -ida_lumina.func_info_vec_t.grow(): - - grow(self, x=func_info_t()) - - -ida_lumina.func_info_vec_t.inject(): - - inject(self, s, len) - - -ida_lumina.func_info_vec_t.insert(): - - insert(self, it, x) -> func_info_t - - -ida_lumina.func_info_vec_t.pop_back(): - - pop_back(self) - - -ida_lumina.func_info_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> func_info_t - - -ida_lumina.func_info_vec_t.qclear(): - - qclear(self) - - -ida_lumina.func_info_vec_t.reserve(): - - reserve(self, cnt) - - -ida_lumina.func_info_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_lumina.func_info_vec_t.size(): - - size(self) -> size_t - - -ida_lumina.func_info_vec_t.swap(): - - swap(self, r) - - -ida_lumina.func_info_vec_t.truncate(): - - truncate(self) - - -class ida_lumina.func_md_diff_handler_t(): - - Proxy of C++ func_md_diff_handler_t class - - -ida_lumina.func_md_diff_handler_t.on_comment_changed(): - - on_comment_changed(self, fchunk_nr, fchunk_off, l, r, rep) - - -ida_lumina.func_md_diff_handler_t.on_extra_comment_changed(): - - on_extra_comment_changed(self, fchunk_nr, fchunk_off, l, r, is_prev) - - -ida_lumina.func_md_diff_handler_t.on_frame_member_changed(): - - on_frame_member_changed(self, offset, l, r) - - -ida_lumina.func_md_diff_handler_t.on_function_comment_changed(): - - on_function_comment_changed(self, l, r, rep) - - -ida_lumina.func_md_diff_handler_t.on_insn_ops_repr_changed(): - - on_insn_ops_repr_changed(self, fchunk_nr, fchunk_off, l, r) - - -ida_lumina.func_md_diff_handler_t.on_name_changed(): - - on_name_changed(self, l, r) - - -ida_lumina.func_md_diff_handler_t.on_proto_changed(): - - on_proto_changed(self, l, r) - - -ida_lumina.func_md_diff_handler_t.on_score_changed(): - - on_score_changed(self, l, r) - - -ida_lumina.func_md_diff_handler_t.on_user_stkpnt_changed(): - - on_user_stkpnt_changed(self, fchunk_nr, fchunk_off, l, r) - - -ida_lumina.get_lumina_rpc_packet_t_index_from_base(): - - get_lumina_rpc_packet_t_index_from_base(code) -> uchar - - -ida_lumina.get_server_connection(): - - get_server_connection() -> lumina_client_t - - -ida_lumina.has_backup_metadata(): - - has_backup_metadata(ea) -> bool - - -class ida_lumina.history_entries_helper_t(): - - Proxy of C++ history_entries_helper_t class - - -ida_lumina.history_entries_helper_t.next_entry(): - - next_entry(self, _from) -> change_desc_base_t const & - - -ida_lumina.history_entries_helper_t.next_entry_index(): - - next_entry_index(self, out_index, _from) -> bool - - -ida_lumina.history_entries_helper_t.res: - history_entries_helper_t_res_get(self) -> pkt_show_entries_result_t const & - -class ida_lumina.input_file_t(): - - Proxy of C++ input_file_t class - - -ida_lumina.input_file_t.md5: - input_file_t_md5_get(self) -> md5_t * - -ida_lumina.input_file_t.path: - input_file_t_path_get(self) -> qstring * - -class ida_lumina.insn_cmt_t(): - - Proxy of C++ insn_cmt_t class - - -ida_lumina.insn_cmt_t.cmt: - insn_cmt_t_cmt_get(self) -> qstring * - -ida_lumina.insn_cmt_t.fchunk_nr: - insn_site_t_fchunk_nr_get(self) -> uint32 - -ida_lumina.insn_cmt_t.fchunk_off: - insn_site_t_fchunk_off_get(self) -> uint32 - -ida_lumina.insn_cmt_t.toea(): - - toea(self, pfn) -> ea_t - - -class ida_lumina.insn_cmts_t(): - - Proxy of C++ qvector<(insn_cmt_t)> class - - -ida_lumina.insn_cmts_t.at(): - - at(self, _idx) -> insn_cmt_t - - -ida_lumina.insn_cmts_t.begin(): - - begin(self) -> insn_cmt_t - begin(self) -> insn_cmt_t - - -ida_lumina.insn_cmts_t.capacity(): - - capacity(self) -> size_t - - -ida_lumina.insn_cmts_t.clear(): - - clear(self) - - -ida_lumina.insn_cmts_t.empty(): - - empty(self) -> bool - - -ida_lumina.insn_cmts_t.end(): - - end(self) -> insn_cmt_t - end(self) -> insn_cmt_t - - -ida_lumina.insn_cmts_t.erase(): - - erase(self, it) -> insn_cmt_t - erase(self, first, last) -> insn_cmt_t - - -ida_lumina.insn_cmts_t.extract(): - - extract(self) -> insn_cmt_t - - -ida_lumina.insn_cmts_t.grow(): - - grow(self, x=insn_cmt_t()) - - -ida_lumina.insn_cmts_t.inject(): - - inject(self, s, len) - - -ida_lumina.insn_cmts_t.insert(): - - insert(self, it, x) -> insn_cmt_t - - -ida_lumina.insn_cmts_t.pop_back(): - - pop_back(self) - - -ida_lumina.insn_cmts_t.push_back(): - - push_back(self, x) - push_back(self) -> insn_cmt_t - - -ida_lumina.insn_cmts_t.qclear(): - - qclear(self) - - -ida_lumina.insn_cmts_t.reserve(): - - reserve(self, cnt) - - -ida_lumina.insn_cmts_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_lumina.insn_cmts_t.size(): - - size(self) -> size_t - - -ida_lumina.insn_cmts_t.swap(): - - swap(self, r) - - -ida_lumina.insn_cmts_t.truncate(): - - truncate(self) - - -class ida_lumina.insn_ops_repr_t(): - - Proxy of C++ insn_ops_repr_t class - - -ida_lumina.insn_ops_repr_t.fchunk_nr: - insn_site_t_fchunk_nr_get(self) -> uint32 - -ida_lumina.insn_ops_repr_t.fchunk_off: - insn_site_t_fchunk_off_get(self) -> uint32 - -ida_lumina.insn_ops_repr_t.flags: - insn_ops_repr_t_flags_get(self) -> flags_t - -ida_lumina.insn_ops_repr_t.op0: - insn_ops_repr_t_op0_get(self) -> opinfo_t - -ida_lumina.insn_ops_repr_t.op1: - insn_ops_repr_t_op1_get(self) -> opinfo_t - -ida_lumina.insn_ops_repr_t.toea(): - - toea(self, pfn) -> ea_t - - -class ida_lumina.insn_ops_reprs_t(): - - Proxy of C++ qvector<(insn_ops_repr_t)> class - - -ida_lumina.insn_ops_reprs_t.at(): - - at(self, _idx) -> insn_ops_repr_t - - -ida_lumina.insn_ops_reprs_t.begin(): - - begin(self) -> insn_ops_repr_t - begin(self) -> insn_ops_repr_t - - -ida_lumina.insn_ops_reprs_t.capacity(): - - capacity(self) -> size_t - - -ida_lumina.insn_ops_reprs_t.clear(): - - clear(self) - - -ida_lumina.insn_ops_reprs_t.empty(): - - empty(self) -> bool - - -ida_lumina.insn_ops_reprs_t.end(): - - end(self) -> insn_ops_repr_t - end(self) -> insn_ops_repr_t - - -ida_lumina.insn_ops_reprs_t.erase(): - - erase(self, it) -> insn_ops_repr_t - erase(self, first, last) -> insn_ops_repr_t - - -ida_lumina.insn_ops_reprs_t.extract(): - - extract(self) -> insn_ops_repr_t - - -ida_lumina.insn_ops_reprs_t.grow(): - - grow(self, x=insn_ops_repr_t()) - - -ida_lumina.insn_ops_reprs_t.inject(): - - inject(self, s, len) - - -ida_lumina.insn_ops_reprs_t.insert(): - - insert(self, it, x) -> insn_ops_repr_t - - -ida_lumina.insn_ops_reprs_t.pop_back(): - - pop_back(self) - - -ida_lumina.insn_ops_reprs_t.push_back(): - - push_back(self, x) - push_back(self) -> insn_ops_repr_t - - -ida_lumina.insn_ops_reprs_t.qclear(): - - qclear(self) - - -ida_lumina.insn_ops_reprs_t.reserve(): - - reserve(self, cnt) - - -ida_lumina.insn_ops_reprs_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_lumina.insn_ops_reprs_t.size(): - - size(self) -> size_t - - -ida_lumina.insn_ops_reprs_t.swap(): - - swap(self, r) - - -ida_lumina.insn_ops_reprs_t.truncate(): - - truncate(self) - - -class ida_lumina.insn_site_t(): - - Proxy of C++ insn_site_t class - - -ida_lumina.insn_site_t.fchunk_nr: - insn_site_t_fchunk_nr_get(self) -> uint32 - -ida_lumina.insn_site_t.fchunk_off: - insn_site_t_fchunk_off_get(self) -> uint32 - -ida_lumina.insn_site_t.toea(): - - toea(self, pfn) -> ea_t - - -class ida_lumina.lumina_client_t(): - - Proxy of C++ lumina_client_t class - - -ida_lumina.lumina_client_t.get_pop(): - - get_pop(self, nresults=10) -> pkt_get_pop_result_t - - -ida_lumina.lumina_client_t.pull_md(): - - pull_md(self, pattern_ids, pull_md_flags=0) -> pkt_pull_md_result_t - pull_md(self, funcs, pull_md_flags=0) -> pkt_pull_md_result_t - - -ida_lumina.lumina_client_t.push_md(): - - push_md(self, result, contents, eas, flags=0) -> bool - push_md(self, result, opts, append_metadata=None, flags=0) -> bool - - -ida_lumina.lumina_client_t.set_pattern_id_md5(): - - set_pattern_id_md5(self, out, md5) - - -class ida_lumina.lumina_op_res_vec_t(): - - Proxy of C++ qvector<(lumina_op_res_t)> class - - -ida_lumina.lumina_op_res_vec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_lumina.lumina_op_res_vec_t.at(): - - at(self, _idx) -> lumina_op_res_t const & - - -ida_lumina.lumina_op_res_vec_t.begin(): - - begin(self) -> qvector< lumina_op_res_t >::iterator - begin(self) -> qvector< lumina_op_res_t >::const_iterator - - -ida_lumina.lumina_op_res_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_lumina.lumina_op_res_vec_t.clear(): - - clear(self) - - -ida_lumina.lumina_op_res_vec_t.empty(): - - empty(self) -> bool - - -ida_lumina.lumina_op_res_vec_t.end(): - - end(self) -> qvector< lumina_op_res_t >::iterator - end(self) -> qvector< lumina_op_res_t >::const_iterator - - -ida_lumina.lumina_op_res_vec_t.erase(): - - erase(self, it) -> qvector< lumina_op_res_t >::iterator - erase(self, first, last) -> qvector< lumina_op_res_t >::iterator - - -ida_lumina.lumina_op_res_vec_t.extract(): - - extract(self) -> lumina_op_res_t * - - -ida_lumina.lumina_op_res_vec_t.find(): - - find(self, x) -> qvector< lumina_op_res_t >::iterator - find(self, x) -> qvector< lumina_op_res_t >::const_iterator - - -ida_lumina.lumina_op_res_vec_t.grow(): - - grow(self, x=lumina_op_res_t()) - - -ida_lumina.lumina_op_res_vec_t.has(): - - has(self, x) -> bool - - -ida_lumina.lumina_op_res_vec_t.inject(): - - inject(self, s, len) - - -ida_lumina.lumina_op_res_vec_t.insert(): - - insert(self, it, x) -> qvector< lumina_op_res_t >::iterator - - -ida_lumina.lumina_op_res_vec_t.pop_back(): - - pop_back(self) - - -ida_lumina.lumina_op_res_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> lumina_op_res_t & - - -ida_lumina.lumina_op_res_vec_t.qclear(): - - qclear(self) - - -ida_lumina.lumina_op_res_vec_t.reserve(): - - reserve(self, cnt) - - -ida_lumina.lumina_op_res_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_lumina.lumina_op_res_vec_t.size(): - - size(self) -> size_t - - -ida_lumina.lumina_op_res_vec_t.swap(): - - swap(self, r) - - -ida_lumina.lumina_op_res_vec_t.truncate(): - - truncate(self) - - -class ida_lumina.md_type_parts_t(): - - Proxy of C++ md_type_parts_t class - - -ida_lumina.md_type_parts_t.fields: - md_type_parts_t_fields_get(self) -> qtype * - -ida_lumina.md_type_parts_t.type: - md_type_parts_t_type_get(self) -> qtype * - -ida_lumina.md_type_parts_t.userti: - md_type_parts_t_userti_get(self) -> bool - -class ida_lumina.metadata_iterator_t(): - - Proxy of C++ metadata_iterator_t class - - -ida_lumina.metadata_iterator_t.data: - metadata_iterator_t_data_get(self) -> uchar const * - -ida_lumina.metadata_iterator_t.data_end(): - - data_end(self) -> uchar const * - - -ida_lumina.metadata_iterator_t.key: - metadata_iterator_t_key_get(self) -> mdkey_t - -ida_lumina.metadata_iterator_t.next(): - - next(self) -> bool - - -ida_lumina.metadata_iterator_t.size: - metadata_iterator_t_size_get(self) -> size_t - -ida_lumina.new_packet(): - - new_packet(code, ptr=None, len=0, version=-1) -> rpc_packet_data_t * - - -class ida_lumina.oprepr_t(): - - Proxy of C++ oprepr_t class - - -ida_lumina.oprepr_t.flags: - oprepr_t_flags_get(self) -> flags_t - -ida_lumina.oprepr_t.opinfo: - oprepr_t_opinfo_get(self) -> opinfo_t - -class ida_lumina.pattern_id_t(): - - Proxy of C++ pattern_id_t class - - -ida_lumina.pattern_id_t.data: - pattern_id_t_data_get(self) -> bytevec_t * - -ida_lumina.pattern_id_t.type: - pattern_id_t_type_get(self) -> pattern_type_t - -class ida_lumina.pkt_clean_db_t(): - - Proxy of C++ pkt_clean_db_t class - - -class ida_lumina.pkt_debugctl_t(): - - Proxy of C++ pkt_debugctl_t class - - -ida_lumina.pkt_debugctl_t.args: - pkt_debugctl_t_args_get(self) -> qstrvec_t * - -class ida_lumina.pkt_dump_md_result_t(): - - Proxy of C++ pkt_dump_md_result_t class - - -ida_lumina.pkt_dump_md_result_t.contents: - pkt_dump_md_result_t_contents_get(self) -> func_info_pattern_and_frequency_vec_t - -class ida_lumina.pkt_dump_md_t(): - - Proxy of C++ pkt_dump_md_t class - - -ida_lumina.pkt_dump_md_t.sort: - pkt_dump_md_t_sort_get(self) -> dump_md_sort_type_t - -class ida_lumina.pkt_get_pop_result_t(): - - Proxy of C++ pkt_get_pop_result_t class - - -ida_lumina.pkt_get_pop_result_t.results: - pkt_get_pop_result_t_results_get(self) -> pop_fun_vec_t * - -class ida_lumina.pkt_get_pop_t(): - - Proxy of C++ pkt_get_pop_t class - - -ida_lumina.pkt_get_pop_t.nresults: - pkt_get_pop_t_nresults_get(self) -> uint32 - -class ida_lumina.pkt_helo_t(): - - Proxy of C++ pkt_helo_t class - - -ida_lumina.pkt_helo_t.client_version: - pkt_helo_t_client_version_get(self) -> int - -ida_lumina.pkt_helo_t.key: - pkt_helo_t_key_get(self) -> bytevec_t * - -ida_lumina.pkt_helo_t.license_id: - pkt_helo_t_license_id_get(self) -> uchar [6] - -ida_lumina.pkt_helo_t.record_conv: - pkt_helo_t_record_conv_get(self) -> bool - -class ida_lumina.pkt_pull_md_result_t(): - - Proxy of C++ pkt_pull_md_result_t class - - -ida_lumina.pkt_pull_md_result_t.codes: - pkt_pull_md_result_t_codes_get(self) -> lumina_op_res_vec_t - -ida_lumina.pkt_pull_md_result_t.results: - pkt_pull_md_result_t_results_get(self) -> func_info_and_frequency_vec_t - -class ida_lumina.pkt_pull_md_t(): - - Proxy of C++ pkt_pull_md_t class - - -ida_lumina.pkt_pull_md_t.flags: - pkt_pull_md_t_flags_get(self) -> uint32 - -ida_lumina.pkt_pull_md_t.keys: - pkt_pull_md_t_keys_get(self) -> mdkey_vec_t * - -ida_lumina.pkt_pull_md_t.pattern_ids: - pkt_pull_md_t_pattern_ids_get(self) -> pattern_ids_t * - -class ida_lumina.pkt_push_md_result_t(): - - Proxy of C++ pkt_push_md_result_t class - - -ida_lumina.pkt_push_md_result_t.codes: - pkt_push_md_result_t_codes_get(self) -> lumina_op_res_vec_t - -class ida_lumina.pkt_push_md_t(): - - Proxy of C++ pkt_push_md_t class - - -ida_lumina.pkt_push_md_t.contents: - pkt_push_md_t_contents_get(self) -> func_info_and_pattern_vec_t - -ida_lumina.pkt_push_md_t.ea64s: - pkt_push_md_t_ea64s_get(self) -> ea64vec_t * - -ida_lumina.pkt_push_md_t.flags: - pkt_push_md_t_flags_get(self) -> uint32 - -ida_lumina.pkt_push_md_t.hostname: - pkt_push_md_t_hostname_get(self) -> qstring * - -ida_lumina.pkt_push_md_t.idb: - pkt_push_md_t_idb_get(self) -> qstring * - -ida_lumina.pkt_push_md_t.input: - pkt_push_md_t_input_get(self) -> input_file_t - -class ida_lumina.pkt_rpc_fail_t(): - - Proxy of C++ pkt_rpc_fail_t class - - -ida_lumina.pkt_rpc_fail_t.error: - pkt_rpc_fail_t_error_get(self) -> qstring * - -ida_lumina.pkt_rpc_fail_t.result: - pkt_rpc_fail_t_result_get(self) -> int - -class ida_lumina.pkt_rpc_notify_t(): - - Proxy of C++ pkt_rpc_notify_t class - - -ida_lumina.pkt_rpc_notify_t.text: - pkt_rpc_notify_t_text_get(self) -> qstring * - -ida_lumina.pkt_rpc_notify_t.type: - pkt_rpc_notify_t_type_get(self) -> rpc_notification_type_t - -class ida_lumina.pkt_rpc_ok_t(): - - Proxy of C++ pkt_rpc_ok_t class - - -class ida_lumina.pop_fun_t(): - - Proxy of C++ pop_fun_t class - - -ida_lumina.pop_fun_t.ea64: - pop_fun_t_ea64_get(self) -> ea64_t - -ida_lumina.pop_fun_t.frequency: - func_info_pattern_and_frequency_t_frequency_get(self) -> uint32 - -ida_lumina.pop_fun_t.hostname: - pop_fun_t_hostname_get(self) -> qstring * - -ida_lumina.pop_fun_t.input: - pop_fun_t_input_get(self) -> input_file_t - -ida_lumina.pop_fun_t.metadata: - func_info_t_metadata_get(self) -> metadata_t * - -ida_lumina.pop_fun_t.name: - func_info_t_name_get(self) -> qstring * - -ida_lumina.pop_fun_t.pattern_id: - func_info_and_pattern_t_pattern_id_get(self) -> pattern_id_t - -ida_lumina.pop_fun_t.size: - func_info_t_size_get(self) -> uint32 - -class ida_lumina.push_md_opts_t(): - - Proxy of C++ push_md_opts_t class - - -ida_lumina.push_md_opts_t.eas: - push_md_opts_t_eas_get(self) -> eavec_t * - -ida_lumina.push_md_opts_t.min_func_size: - push_md_opts_t_min_func_size_get(self) -> size_t - -class ida_lumina.push_md_result_t(): - - Proxy of C++ push_md_result_t class - - -ida_lumina.push_md_result_t.codes: - push_md_result_t_codes_get(self) -> lumina_op_res_vec_t - -ida_lumina.push_md_result_t.contents: - push_md_result_t_contents_get(self) -> func_info_and_pattern_vec_t - -ida_lumina.push_md_result_t.eas: - push_md_result_t_eas_get(self) -> eavec_t * - -ida_lumina.revert_metadata(): - - revert_metadata(ea) -> bool - - -ida_lumina.score_metadata(): - - score_metadata(fi) -> uint32 - - -class ida_lumina.serialized_tinfo(): - - Proxy of C++ serialized_tinfo class - - -ida_lumina.serialized_tinfo.fields: - serialized_tinfo_fields_get(self) -> qtype * - -ida_lumina.serialized_tinfo.type: - serialized_tinfo_type_get(self) -> qtype * - -class ida_lumina.simple_diff_handler_t(): - - Proxy of C++ simple_diff_handler_t class - - -ida_lumina.simple_diff_handler_t.indent: - simple_diff_handler_t_indent_get(self) -> uint32 - -ida_lumina.simple_diff_handler_t.lines: - simple_diff_handler_t_lines_get(self) -> qstrvec_t * - -ida_lumina.simple_diff_handler_t.on_comment_changed(): - - on_comment_changed(self, fchunk_nr, fchunk_off, l, r, rep) - - -ida_lumina.simple_diff_handler_t.on_extra_comment_changed(): - - on_extra_comment_changed(self, fchunk_nr, fchunk_off, l, r, is_prev) - - -ida_lumina.simple_diff_handler_t.on_frame_member_changed(): - - on_frame_member_changed(self, offset, l, r) - - -ida_lumina.simple_diff_handler_t.on_function_comment_changed(): - - on_function_comment_changed(self, l, r, rep) - - -ida_lumina.simple_diff_handler_t.on_insn_ops_repr_changed(): - - on_insn_ops_repr_changed(self, fchunk_nr, fchunk_off, l, r) - - -ida_lumina.simple_diff_handler_t.on_name_changed(): - - on_name_changed(self, l, r) - - -ida_lumina.simple_diff_handler_t.on_proto_changed(): - - on_proto_changed(self, l, r) - - -ida_lumina.simple_diff_handler_t.on_score_changed(): - - on_score_changed(self, l, r) - - -ida_lumina.simple_diff_handler_t.on_user_stkpnt_changed(): - - on_user_stkpnt_changed(self, fchunk_nr, fchunk_off, l, r) - - -class ida_lumina.simple_idb_diff_handler_t(): - - Proxy of C++ simple_idb_diff_handler_t class - - -ida_lumina.simple_idb_diff_handler_t.header_generated: - simple_idb_diff_handler_t_header_generated_get(self) -> bool - -ida_lumina.simple_idb_diff_handler_t.indent: - simple_diff_handler_t_indent_get(self) -> uint32 - -ida_lumina.simple_idb_diff_handler_t.lines: - simple_diff_handler_t_lines_get(self) -> qstrvec_t * - -ida_lumina.simple_idb_diff_handler_t.on_comment_changed(): - - on_comment_changed(self, fchunk_nr, fchunk_off, l, r, rep) - - -ida_lumina.simple_idb_diff_handler_t.on_extra_comment_changed(): - - on_extra_comment_changed(self, fchunk_nr, fchunk_off, l, r, is_prev) - - -ida_lumina.simple_idb_diff_handler_t.on_frame_member_changed(): - - on_frame_member_changed(self, offset, l, r) - - -ida_lumina.simple_idb_diff_handler_t.on_function_comment_changed(): - - on_function_comment_changed(self, l, r, rep) - - -ida_lumina.simple_idb_diff_handler_t.on_insn_ops_repr_changed(): - - on_insn_ops_repr_changed(self, fchunk_nr, fchunk_off, l, r) - - -ida_lumina.simple_idb_diff_handler_t.on_name_changed(): - - on_name_changed(self, l, r) - - -ida_lumina.simple_idb_diff_handler_t.on_proto_changed(): - - on_proto_changed(self, l, r) - - -ida_lumina.simple_idb_diff_handler_t.on_score_changed(): - - on_score_changed(self, l, r) - - -ida_lumina.simple_idb_diff_handler_t.on_user_stkpnt_changed(): - - on_user_stkpnt_changed(self, fchunk_nr, fchunk_off, l, r) - - -ida_lumina.simple_idb_diff_handler_t.pfn: - simple_idb_diff_handler_t_pfn_get(self) -> func_t const * - -class ida_lumina.skipped_func_t(): - - Proxy of C++ skipped_func_t class - - -ida_lumina.skipped_func_t.count: - skipped_func_t_count_get(self) -> uint32 - -ida_lumina.skipped_func_t.pattern_id: - skipped_func_t_pattern_id_get(self) -> pattern_id_t - -class ida_lumina.skipped_funcs_t(): - - Proxy of C++ qvector<(skipped_func_t)> class - - -ida_lumina.skipped_funcs_t.at(): - - at(self, _idx) -> skipped_func_t - - -ida_lumina.skipped_funcs_t.begin(): - - begin(self) -> skipped_func_t - begin(self) -> skipped_func_t - - -ida_lumina.skipped_funcs_t.capacity(): - - capacity(self) -> size_t - - -ida_lumina.skipped_funcs_t.clear(): - - clear(self) - - -ida_lumina.skipped_funcs_t.empty(): - - empty(self) -> bool - - -ida_lumina.skipped_funcs_t.end(): - - end(self) -> skipped_func_t - end(self) -> skipped_func_t - - -ida_lumina.skipped_funcs_t.erase(): - - erase(self, it) -> skipped_func_t - erase(self, first, last) -> skipped_func_t - - -ida_lumina.skipped_funcs_t.extract(): - - extract(self) -> skipped_func_t - - -ida_lumina.skipped_funcs_t.grow(): - - grow(self, x=skipped_func_t()) - - -ida_lumina.skipped_funcs_t.inject(): - - inject(self, s, len) - - -ida_lumina.skipped_funcs_t.insert(): - - insert(self, it, x) -> skipped_func_t - - -ida_lumina.skipped_funcs_t.pop_back(): - - pop_back(self) - - -ida_lumina.skipped_funcs_t.push_back(): - - push_back(self, x) - push_back(self) -> skipped_func_t - - -ida_lumina.skipped_funcs_t.qclear(): - - qclear(self) - - -ida_lumina.skipped_funcs_t.reserve(): - - reserve(self, cnt) - - -ida_lumina.skipped_funcs_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_lumina.skipped_funcs_t.size(): - - size(self) -> size_t - - -ida_lumina.skipped_funcs_t.swap(): - - swap(self, r) - - -ida_lumina.skipped_funcs_t.truncate(): - - truncate(self) - - -ida_lumina.split_metadata(): - - split_metadata(md) -> PyObject * - - -class ida_lumina.user_identification_t(): - - Proxy of C++ user_identification_t class - - -ida_lumina.user_identification_t.email: - user_identification_t_email_get(self) -> qstring * - -ida_lumina.user_identification_t.license_id: - user_identification_t_license_id_get(self) -> qstring * - -ida_lumina.user_identification_t.user_name: - user_identification_t_user_name_get(self) -> qstring * - -class ida_lumina.user_stkpnt_t(): - - Proxy of C++ user_stkpnt_t class - - -ida_lumina.user_stkpnt_t.delta: - user_stkpnt_t_delta_get(self) -> int64 - -ida_lumina.user_stkpnt_t.fchunk_nr: - insn_site_t_fchunk_nr_get(self) -> uint32 - -ida_lumina.user_stkpnt_t.fchunk_off: - insn_site_t_fchunk_off_get(self) -> uint32 - -ida_lumina.user_stkpnt_t.toea(): - - toea(self, pfn) -> ea_t - - -class ida_lumina.user_stkpnts_t(): - - Proxy of C++ qvector<(user_stkpnt_t)> class - - -ida_lumina.user_stkpnts_t.at(): - - at(self, _idx) -> user_stkpnt_t - - -ida_lumina.user_stkpnts_t.begin(): - - begin(self) -> user_stkpnt_t - begin(self) -> user_stkpnt_t - - -ida_lumina.user_stkpnts_t.capacity(): - - capacity(self) -> size_t - - -ida_lumina.user_stkpnts_t.clear(): - - clear(self) - - -ida_lumina.user_stkpnts_t.empty(): - - empty(self) -> bool - - -ida_lumina.user_stkpnts_t.end(): - - end(self) -> user_stkpnt_t - end(self) -> user_stkpnt_t - - -ida_lumina.user_stkpnts_t.erase(): - - erase(self, it) -> user_stkpnt_t - erase(self, first, last) -> user_stkpnt_t - - -ida_lumina.user_stkpnts_t.extract(): - - extract(self) -> user_stkpnt_t - - -ida_lumina.user_stkpnts_t.grow(): - - grow(self, x=user_stkpnt_t()) - - -ida_lumina.user_stkpnts_t.inject(): - - inject(self, s, len) - - -ida_lumina.user_stkpnts_t.insert(): - - insert(self, it, x) -> user_stkpnt_t - - -ida_lumina.user_stkpnts_t.pop_back(): - - pop_back(self) - - -ida_lumina.user_stkpnts_t.push_back(): - - push_back(self, x) - push_back(self) -> user_stkpnt_t - - -ida_lumina.user_stkpnts_t.qclear(): - - qclear(self) - - -ida_lumina.user_stkpnts_t.reserve(): - - reserve(self, cnt) - - -ida_lumina.user_stkpnts_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_lumina.user_stkpnts_t.size(): - - size(self) -> size_t - - -ida_lumina.user_stkpnts_t.swap(): - - swap(self, r) - - -ida_lumina.user_stkpnts_t.truncate(): - - truncate(self) - - - -=== ida_lumina EPYDOC INJECTIONS === -ida_lumina.AMDF_FORCE -""" -apply kvps regardless of what's currently in the IDB, possibly -removing some attributes currently present (e.g., name, or prototype -could be lost) -""" - -ida_lumina.AMDF_UPGRADE -""" -"quality" than what's currently in the IDB - -apply kvps that seem to be of higher -""" - -ida_lumina.PMF_PUSH_MODE_MASK -""" -Conflict resolution mode. -""" -=== ida_lumina EPYDOC INJECTIONS END === -class ida_moves.bookmarks_t(): - - Proxy of C++ bookmarks_t class - - -ida_moves.bookmarks_t.erase(): - - erase(e, index, ud) -> bool - - -ida_moves.bookmarks_t.find_index(): - - find_index(e, ud) -> uint32 - - -ida_moves.bookmarks_t.get(): - - get(out_entry, out_desc, index, ud) -> bool - - -ida_moves.bookmarks_t.get_desc(): - - get_desc(e, index, ud) -> bool - - -ida_moves.bookmarks_t.mark(): - - mark(e, index, title, desc, ud) -> uint32 - - -ida_moves.bookmarks_t.size(): - - size(e, ud) -> uint32 - - -ida_moves.bookmarks_t_erase(): - - bookmarks_t_erase(e, index, ud) -> bool - - -ida_moves.bookmarks_t_find_index(): - - bookmarks_t_find_index(e, ud) -> uint32 - - -ida_moves.bookmarks_t_get(): - - bookmarks_t_get(out_entry, out_desc, index, ud) -> bool - - -ida_moves.bookmarks_t_get_desc(): - - bookmarks_t_get_desc(e, index, ud) -> bool - - -ida_moves.bookmarks_t_mark(): - - bookmarks_t_mark(e, index, title, desc, ud) -> uint32 - - -ida_moves.bookmarks_t_size(): - - bookmarks_t_size(e, ud) -> uint32 - - -class ida_moves.graph_location_info_t(): - - Proxy of C++ graph_location_info_t class - - -ida_moves.graph_location_info_t.orgx: - graph_location_info_t_orgx_get(self) -> double - -ida_moves.graph_location_info_t.orgy: - graph_location_info_t_orgy_get(self) -> double - -ida_moves.graph_location_info_t.zoom: - graph_location_info_t_zoom_get(self) -> double - -class ida_moves.lochist_entry_t(): - - Proxy of C++ lochist_entry_t class - - -ida_moves.lochist_entry_t.acquire_place(): - - acquire_place(self, p) - - -ida_moves.lochist_entry_t.is_valid(): - - is_valid(self) -> bool - - -ida_moves.lochist_entry_t.place(): - - place(self) -> place_t - place(self) -> place_t - - -ida_moves.lochist_entry_t.plce: - lochist_entry_t_plce_get(self) -> place_t - -ida_moves.lochist_entry_t.renderer_info(): - - renderer_info(self) -> renderer_info_t - renderer_info(self) -> renderer_info_t - - -ida_moves.lochist_entry_t.rinfo: - lochist_entry_t_rinfo_get(self) -> renderer_info_t - -ida_moves.lochist_entry_t.set_place(): - - set_place(self, p) - - -class ida_moves.lochist_t(): - - Proxy of C++ lochist_t class - - -ida_moves.lochist_t.back(): - - back(self, cnt, try_to_unhide) -> bool - - -ida_moves.lochist_t.clear(): - - clear(self) - - -ida_moves.lochist_t.current_index(): - - current_index(self) -> uint32 - - -ida_moves.lochist_t.fwd(): - - fwd(self, cnt, try_to_unhide) -> bool - - -ida_moves.lochist_t.get(): - - get(self, out, index) -> bool - - -ida_moves.lochist_t.get_current(): - - get_current(self) -> lochist_entry_t - - -ida_moves.lochist_t.get_place_id(): - - get_place_id(self) -> int - - -ida_moves.lochist_t.get_template_place(): - - get_template_place(self) -> place_t - - -ida_moves.lochist_t.init(): - - init(self, stream_name, _defpos, _ud, _flags) -> bool - - -ida_moves.lochist_t.is_history_enabled(): - - is_history_enabled(self) -> bool - - -ida_moves.lochist_t.jump(): - - jump(self, try_to_unhide, e) - - -ida_moves.lochist_t.netcode(): - - netcode(self) -> nodeidx_t - - -ida_moves.lochist_t.save(): - - save(self) - - -ida_moves.lochist_t.seek(): - - seek(self, index, try_to_unhide) -> bool - - -ida_moves.lochist_t.set(): - - set(self, index, e) - - -ida_moves.lochist_t.set_current(): - - set_current(self, e) - - -ida_moves.lochist_t.size(): - - size(self) -> uint32 - - -class ida_moves.renderer_info_pos_t(): - - Proxy of C++ renderer_info_pos_t class - - -ida_moves.renderer_info_pos_t.cx: - renderer_info_pos_t_cx_get(self) -> short - -ida_moves.renderer_info_pos_t.cy: - renderer_info_pos_t_cy_get(self) -> short - -ida_moves.renderer_info_pos_t.node: - renderer_info_pos_t_node_get(self) -> int - -class ida_moves.renderer_info_t(): - - Proxy of C++ renderer_info_t class - - -ida_moves.renderer_info_t.clear(): - - clear(self) - - -ida_moves.renderer_info_t.gli: - renderer_info_t_gli_get(self) -> graph_location_info_t - -ida_moves.renderer_info_t.pos: - renderer_info_t_pos_get(self) -> renderer_info_pos_t - -ida_moves.renderer_info_t.rtype: - renderer_info_t_rtype_get(self) -> tcc_renderer_type_t - -class ida_moves.segm_move_info_t(): - - Proxy of C++ segm_move_info_t class - - -ida_moves.segm_move_info_t.size: - segm_move_info_t_size_get(self) -> size_t - -ida_moves.segm_move_info_t.to: - segm_move_info_t_to_get(self) -> ea_t - -class ida_moves.segm_move_info_vec_t(): - - Proxy of C++ qvector<(segm_move_info_t)> class - - -ida_moves.segm_move_info_vec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_moves.segm_move_info_vec_t.at(): - - at(self, _idx) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.begin(): - - begin(self) -> segm_move_info_t - begin(self) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_moves.segm_move_info_vec_t.clear(): - - clear(self) - - -ida_moves.segm_move_info_vec_t.empty(): - - empty(self) -> bool - - -ida_moves.segm_move_info_vec_t.end(): - - end(self) -> segm_move_info_t - end(self) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.erase(): - - erase(self, it) -> segm_move_info_t - erase(self, first, last) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.extract(): - - extract(self) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.find(): - - find(self, x) -> segm_move_info_t - find(self, x) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.grow(): - - grow(self, x=segm_move_info_t()) - - -ida_moves.segm_move_info_vec_t.has(): - - has(self, x) -> bool - - -ida_moves.segm_move_info_vec_t.inject(): - - inject(self, s, len) - - -ida_moves.segm_move_info_vec_t.insert(): - - insert(self, it, x) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.pop_back(): - - pop_back(self) - - -ida_moves.segm_move_info_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.qclear(): - - qclear(self) - - -ida_moves.segm_move_info_vec_t.reserve(): - - reserve(self, cnt) - - -ida_moves.segm_move_info_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_moves.segm_move_info_vec_t.size(): - - size(self) -> size_t - - -ida_moves.segm_move_info_vec_t.swap(): - - swap(self, r) - - -ida_moves.segm_move_info_vec_t.truncate(): - - truncate(self) - - -class ida_moves.segm_move_infos_t(): - - Proxy of C++ segm_move_infos_t class - - -ida_moves.segm_move_infos_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_moves.segm_move_infos_t.at(): - - at(self, _idx) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.begin(): - - begin(self) -> segm_move_info_t - begin(self) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.capacity(): - - capacity(self) -> size_t - - -ida_moves.segm_move_infos_t.clear(): - - clear(self) - - -ida_moves.segm_move_infos_t.empty(): - - empty(self) -> bool - - -ida_moves.segm_move_infos_t.end(): - - end(self) -> segm_move_info_t - end(self) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.erase(): - - erase(self, it) -> segm_move_info_t - erase(self, first, last) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.extract(): - - extract(self) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.find(): - - find(self, ea) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.grow(): - - grow(self, x=segm_move_info_t()) - - -ida_moves.segm_move_infos_t.has(): - - has(self, x) -> bool - - -ida_moves.segm_move_infos_t.inject(): - - inject(self, s, len) - - -ida_moves.segm_move_infos_t.insert(): - - insert(self, it, x) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.pop_back(): - - pop_back(self) - - -ida_moves.segm_move_infos_t.push_back(): - - push_back(self, x) - push_back(self) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.qclear(): - - qclear(self) - - -ida_moves.segm_move_infos_t.reserve(): - - reserve(self, cnt) - - -ida_moves.segm_move_infos_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_moves.segm_move_infos_t.size(): - - size(self) -> size_t - - -ida_moves.segm_move_infos_t.swap(): - - swap(self, r) - - -ida_moves.segm_move_infos_t.truncate(): - - truncate(self) - - -ida_nalt.add_encoding(): - - add_encoding(encoding) -> int - - - Add a new encoding (e.g. "UTF-8"). - - @param encoding (C++: const char *) - @return: its index (1-based) if it's already in the list, return its - index - - -class ida_nalt.array_parameters_t(): - - Proxy of C++ array_parameters_t class - - -ida_nalt.array_parameters_t.alignment: - array_parameters_t_alignment_get(self) -> int32 - -ida_nalt.array_parameters_t.flags: - array_parameters_t_flags_get(self) -> int32 - -ida_nalt.array_parameters_t.lineitems: - array_parameters_t_lineitems_get(self) -> int32 - -ida_nalt.clr__bnot0(): - - clr__bnot0(ea) - - -ida_nalt.clr__bnot1(): - - clr__bnot1(ea) - - -ida_nalt.clr__invsign0(): - - clr__invsign0(ea) - - -ida_nalt.clr__invsign1(): - - clr__invsign1(ea) - - -ida_nalt.clr_abits(): - - clr_abits(ea, bits) - - -ida_nalt.clr_align_flow(): - - clr_align_flow(ea) - - -ida_nalt.clr_colored_item(): - - clr_colored_item(ea) - - -ida_nalt.clr_fixed_spd(): - - clr_fixed_spd(ea) - - -ida_nalt.clr_has_lname(): - - clr_has_lname(ea) - - -ida_nalt.clr_has_ti(): - - clr_has_ti(ea) - - -ida_nalt.clr_has_ti0(): - - clr_has_ti0(ea) - - -ida_nalt.clr_has_ti1(): - - clr_has_ti1(ea) - - -ida_nalt.clr_libitem(): - - clr_libitem(ea) - - -ida_nalt.clr_lzero0(): - - clr_lzero0(ea) - - -ida_nalt.clr_lzero1(): - - clr_lzero1(ea) - - -ida_nalt.clr_noret(): - - clr_noret(ea) - - -ida_nalt.clr_notcode(): - - clr_notcode(ea) - - - Clear not-code mark. - - - @param ea (C++: ea_t) - - -ida_nalt.clr_notproc(): - - clr_notproc(ea) - - -ida_nalt.clr_retfp(): - - clr_retfp(ea) - - -ida_nalt.clr_terse_struc(): - - clr_terse_struc(ea) - - -ida_nalt.clr_tilcmt(): - - clr_tilcmt(ea) - - -ida_nalt.clr_usemodsp(): - - clr_usemodsp(ea) - - -ida_nalt.clr_usersp(): - - clr_usersp(ea) - - -ida_nalt.clr_userti(): - - clr_userti(ea) - - -ida_nalt.clr_zstroff(): - - clr_zstroff(ea) - - -class ida_nalt.custom_data_type_ids_fids_array(): - - Proxy of C++ wrapped_array_t<(int16,8)> class - - -ida_nalt.custom_data_type_ids_fids_array.data: - custom_data_type_ids_fids_array_data_get(self) -> short (&)[8] - -class ida_nalt.custom_data_type_ids_t(): - - Proxy of C++ custom_data_type_ids_t class - - -ida_nalt.custom_data_type_ids_t.dtid: - custom_data_type_ids_t_dtid_get(self) -> int16 - -ida_nalt.custom_data_type_ids_t.fids: - - __getFids(self) -> custom_data_type_ids_fids_array - - -ida_nalt.dbg_get_input_path(): - - dbg_get_input_path() -> ssize_t - - - Get debugger input file name/path (see 'LFLG_DBG_NOPATH' ) - - -ida_nalt.del_absbase(): - - del_absbase(ea) - - -ida_nalt.del_aflags(): - - del_aflags(ea) - - -ida_nalt.del_alignment(): - - del_alignment(ea) - - -ida_nalt.del_array_parameters(): - - del_array_parameters(ea) - - -ida_nalt.del_custom_data_type_ids(): - - del_custom_data_type_ids(ea) - - -ida_nalt.del_encoding(): - - del_encoding(idx) -> bool - - - Delete an encoding (1-based) - - - @param idx (C++: int) - - -ida_nalt.del_ind_purged(): - - del_ind_purged(ea) - - -ida_nalt.del_item_color(): - - del_item_color(ea) -> bool - - -ida_nalt.del_op_tinfo(): - - del_op_tinfo(ea, n) - - -ida_nalt.del_refinfo(): - - del_refinfo(ea, n) -> bool - - -ida_nalt.del_source_linnum(): - - del_source_linnum(ea) - - -ida_nalt.del_str_type(): - - del_str_type(ea) - - -ida_nalt.del_switch_info(): - - del_switch_info(ea) - - -ida_nalt.del_switch_parent(): - - del_switch_parent(ea) - - -ida_nalt.del_tinfo(): - - del_tinfo(ea) - - -ida_nalt.delete_imports(): - - delete_imports() - - - Delete all imported modules information. - - -ida_nalt.ea2node(): - - ea2node(ea) -> nodeidx_t - - - Get netnode for the specified address. - - - @param ea (C++: ea_t) - - -ida_nalt.encoding_from_strtype(): - - encoding_from_strtype(strtype) -> char const * - - - Get encoding name for this strtype. - - - @param strtype (C++: int32) - - -class ida_nalt.enum_const_t(): - - Proxy of C++ enum_const_t class - - -ida_nalt.enum_const_t.serial: - enum_const_t_serial_get(self) -> uchar - -ida_nalt.enum_const_t.tid: - enum_const_t_tid_get(self) -> tid_t - -ida_nalt.enum_import_names(): - - enum_import_names(mod_index, py_cb) -> int - - - Enumerate imports from a specific module. - Please refer to ex_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) - - -ida_nalt.find_custom_refinfo(): - - find_custom_refinfo(name) -> int - - - Get id of a custom refinfo type. - - - @param name (C++: const char *) - - -ida_nalt.get_absbase(): - - get_absbase(ea) -> ea_t - - -ida_nalt.get_aflags(): - - get_aflags(ea) -> uint32 - - -ida_nalt.get_alignment(): - - get_alignment(ea) -> uint32 - - -ida_nalt.get_archive_path(): - - get_archive_path() -> ssize_t - - - Get archive file path from which input file was extracted. - - -ida_nalt.get_array_parameters(): - - get_array_parameters(out, ea) -> ssize_t - - -ida_nalt.get_asm_inc_file(): - - get_asm_inc_file() -> ssize_t - - - Get name of the include file. - - -ida_nalt.get_custom_data_type_ids(): - - get_custom_data_type_ids(cdis, ea) -> int - - -ida_nalt.get_custom_refinfo(): - - get_custom_refinfo(crid) -> custom_refinfo_handler_t const * - - - Get definition of a registered custom refinfo type. - - - @param crid (C++: int) - - -ida_nalt.get_default_encoding_idx(): - - get_default_encoding_idx(bpu) -> int - - - Get default encoding index for a specific string type. - - @param bpu: the amount of bytes per unit (e.g., 1 for ASCII, CP1252, - UTF-8..., 2 for UTF-16, 4 for UTF-32) 0 means no specific - encoding is set - byte values are displayed without - conversion. (C++: int) - - -ida_nalt.get_encoding_bpu(): - - 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: the encoding index (C++: int) - @return: the number of bytes per units (1/2/4); -1 means error - - -ida_nalt.get_encoding_name(): - - get_encoding_name(idx) -> char const * - - - Get encoding name for specific index (1-based). - - @param idx (C++: int) - @return: NULL if idx is out of bounds - - -ida_nalt.get_encoding_qty(): - - get_encoding_qty() -> int - - - Get total number of encodings (counted from 0) - - -ida_nalt.get_gotea(): - - get_gotea() -> ea_t - - -ida_nalt.get_ids_modnode(): - - get_ids_modnode() -> netnode - - - Get ids modnode. - - -ida_nalt.get_imagebase(): - - get_imagebase() -> ea_t - - - Get image base address. - - -ida_nalt.get_import_module_name(): - - get_import_module_name(mod_index) -> PyObject * - - - Returns the name of an imported module given its index - @return: None or the module name - - -ida_nalt.get_import_module_qty(): - - get_import_module_qty() -> uint - - - Get number of import modules. - - -ida_nalt.get_ind_purged(): - - get_ind_purged(ea) -> ea_t - - -ida_nalt.get_input_file_path(): - - get_input_file_path() -> ssize_t - - - Get full path of the input file. - - -ida_nalt.get_item_color(): - - get_item_color(ea) -> bgcolor_t - - -ida_nalt.get_op_tinfo(): - - get_op_tinfo(tif, ea, n) -> bool - - -ida_nalt.get_outfile_encoding_idx(): - - get_outfile_encoding_idx() -> int - - - Get the index of the encoding used when producing files 0 means no - that the IDB's default 1 byte-per-unit encoding is used - - -ida_nalt.get_refinfo(): - - get_refinfo(ri, ea, n) -> bool - - -ida_nalt.get_reftype_by_size(): - - 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) - - -ida_nalt.get_root_filename(): - - get_root_filename() -> ssize_t - - - Get file name only of the input file. - - -ida_nalt.get_source_linnum(): - - get_source_linnum(ea) -> uval_t - - -ida_nalt.get_str_encoding_idx(): - - get_str_encoding_idx(strtype) -> uchar - - - Get index of the string encoding for this string. - - - @param strtype (C++: int32) - - -ida_nalt.get_str_term1(): - - get_str_term1(strtype) -> char - - -ida_nalt.get_str_term2(): - - get_str_term2(strtype) -> char - - -ida_nalt.get_str_type(): - - get_str_type(ea) -> uint32 - - -ida_nalt.get_str_type_code(): - - get_str_type_code(strtype) -> uchar - - -ida_nalt.get_strtype_bpu(): - - get_strtype_bpu(strtype) -> int - - -ida_nalt.get_switch_parent(): - - get_switch_parent(ea) -> ea_t - - -ida_nalt.get_tinfo(): - - get_tinfo(tif, ea) -> bool - - -ida_nalt.getnode(): - - getnode(ea) -> netnode - - -ida_nalt.has_lname(): - - has_lname(ea) -> bool - - -ida_nalt.has_ti(): - - has_ti(ea) -> bool - - -ida_nalt.has_ti0(): - - has_ti0(ea) -> bool - - -ida_nalt.has_ti1(): - - has_ti1(ea) -> bool - - -ida_nalt.hide_border(): - - hide_border(ea) - - -ida_nalt.hide_item(): - - hide_item(ea) - - -ida_nalt.is__bnot0(): - - is__bnot0(ea) -> bool - - -ida_nalt.is__bnot1(): - - is__bnot1(ea) -> bool - - -ida_nalt.is__invsign0(): - - is__invsign0(ea) -> bool - - -ida_nalt.is__invsign1(): - - is__invsign1(ea) -> bool - - -ida_nalt.is_align_flow(): - - is_align_flow(ea) -> bool - - -ida_nalt.is_colored_item(): - - is_colored_item(ea) -> bool - - -ida_nalt.is_finally_visible_item(): - - is_finally_visible_item(ea) -> bool - - - Is instruction visible? - - - @param ea (C++: ea_t) - - -ida_nalt.is_fixed_spd(): - - is_fixed_spd(ea) -> bool - - -ida_nalt.is_hidden_border(): - - is_hidden_border(ea) -> bool - - -ida_nalt.is_hidden_item(): - - is_hidden_item(ea) -> bool - - -ida_nalt.is_libitem(): - - is_libitem(ea) -> bool - - -ida_nalt.is_lzero0(): - - is_lzero0(ea) -> bool - - -ida_nalt.is_lzero1(): - - is_lzero1(ea) -> bool - - -ida_nalt.is_noret(): - - is_noret(ea) -> bool - - -ida_nalt.is_notcode(): - - is_notcode(ea) -> bool - - - Is the address marked as not-code? - - - @param ea (C++: ea_t) - - -ida_nalt.is_notproc(): - - is_notproc(ea) -> bool - - -ida_nalt.is_pascal(): - - is_pascal(strtype) -> bool - - -ida_nalt.is_reftype_target_optional(): - - is_reftype_target_optional(type) -> bool - - - Can the target be calculated using operand value? - - - @param type (C++: reftype_t) - - -ida_nalt.is_retfp(): - - is_retfp(ea) -> bool - - -ida_nalt.is_terse_struc(): - - is_terse_struc(ea) -> bool - - -ida_nalt.is_tilcmt(): - - is_tilcmt(ea) -> bool - - -ida_nalt.is_usersp(): - - is_usersp(ea) -> bool - - -ida_nalt.is_userti(): - - is_userti(ea) -> bool - - -ida_nalt.is_visible_item(): - - is_visible_item(ea) -> bool - - - Test visibility of item at given ea. - - - @param ea (C++: ea_t) - - -ida_nalt.is_zstroff(): - - is_zstroff(ea) -> bool - - -ida_nalt.node2ea(): - - node2ea(ndx) -> ea_t - - -class ida_nalt.opinfo_t(): - - Proxy of C++ opinfo_t class - - -ida_nalt.opinfo_t.cd: - opinfo_t_cd_get(self) -> custom_data_type_ids_t - -ida_nalt.opinfo_t.ec: - opinfo_t_ec_get(self) -> enum_const_t - -ida_nalt.opinfo_t.path: - opinfo_t_path_get(self) -> strpath_t - -ida_nalt.opinfo_t.ri: - opinfo_t_ri_get(self) -> refinfo_t - -ida_nalt.opinfo_t.strtype: - opinfo_t_strtype_get(self) -> int32 - -ida_nalt.opinfo_t.tid: - opinfo_t_tid_get(self) -> tid_t - -class ida_nalt.printop_t(): - - Proxy of C++ printop_t class - - -ida_nalt.printop_t.flags: - printop_t_flags_get(self) -> flags_t - -ida_nalt.printop_t.get_ti(): - - get_ti(self) -> opinfo_t - - -ida_nalt.printop_t.is_ti_valid: - printop_t_is_ti_valid_get(self) -> bool - -ida_nalt.printop_t.suspop: - printop_t_suspop_get(self) -> int - -ida_nalt.printop_t.ti: - printop_t_ti_get(self) -> opinfo_t - -class ida_nalt.refinfo_t(): - - Proxy of C++ refinfo_t class - - -ida_nalt.refinfo_t.base: - refinfo_t_base_get(self) -> ea_t - -ida_nalt.refinfo_t.flags: - refinfo_t_flags_get(self) -> uint32 - -ida_nalt.refinfo_t.init(): - - init(self, reft_and_flags, _base=0, _target=BADADDR, _tdelta=0) - - -ida_nalt.refinfo_t.is_custom(): - - is_custom(self) -> bool - - -ida_nalt.refinfo_t.is_pastend(): - - is_pastend(self) -> bool - - -ida_nalt.refinfo_t.is_rvaoff(): - - is_rvaoff(self) -> bool - - -ida_nalt.refinfo_t.is_signed(): - - is_signed(self) -> bool - - -ida_nalt.refinfo_t.is_subtract(): - - is_subtract(self) -> bool - - -ida_nalt.refinfo_t.is_target_optional(): - - is_target_optional(self) -> bool - - -ida_nalt.refinfo_t.no_base_xref(): - - no_base_xref(self) -> bool - - -ida_nalt.refinfo_t.set_type(): - - set_type(self, t) - - -ida_nalt.refinfo_t.target: - refinfo_t_target_get(self) -> ea_t - -ida_nalt.refinfo_t.tdelta: - refinfo_t_tdelta_get(self) -> adiff_t - -ida_nalt.refinfo_t.type(): - - type(self) -> reftype_t - - -ida_nalt.rename_encoding(): - - rename_encoding(idx, encoding) -> bool - - - Change name for an encoding (1-based) - - - @param idx (C++: int) - @param encoding (C++: const char *) - - -ida_nalt.retrieve_input_file_crc32(): - - 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. - - -ida_nalt.retrieve_input_file_md5(): - - retrieve_input_file_md5() -> bool - - - Get input file md5. - - -ida_nalt.retrieve_input_file_sha256(): - - retrieve_input_file_sha256() -> bool - - - Get input file sha256. - - -ida_nalt.retrieve_input_file_size(): - - retrieve_input_file_size() -> uint32 - - - Get size of input file in bytes. - - -ida_nalt.set__bnot0(): - - set__bnot0(ea) - - -ida_nalt.set__bnot1(): - - set__bnot1(ea) - - -ida_nalt.set__invsign0(): - - set__invsign0(ea) - - -ida_nalt.set__invsign1(): - - set__invsign1(ea) - - -ida_nalt.set_abits(): - - set_abits(ea, bits) - - -ida_nalt.set_absbase(): - - set_absbase(ea, x) - - -ida_nalt.set_aflags(): - - set_aflags(ea, flags) - - -ida_nalt.set_align_flow(): - - set_align_flow(ea) - - -ida_nalt.set_alignment(): - - set_alignment(ea, x) - - -ida_nalt.set_archive_path(): - - set_archive_path(file) -> bool - - - Set archive file path from which input file was extracted. - - - @param file (C++: const char *) - - -ida_nalt.set_array_parameters(): - - set_array_parameters(ea, _in) - - -ida_nalt.set_asm_inc_file(): - - set_asm_inc_file(file) -> bool - - - Set name of the include file. - - - @param file (C++: const char *) - - -ida_nalt.set_colored_item(): - - set_colored_item(ea) - - -ida_nalt.set_custom_data_type_ids(): - - set_custom_data_type_ids(ea, cdis) - - -ida_nalt.set_default_encoding_idx(): - - set_default_encoding_idx(bpu, idx) -> bool - - - set default encoding for a string type - - @param bpu: the amount of bytes per unit (C++: int) - @param idx: the encoding index idx can be 0 to disable encoding - conversion (C++: int) - - -ida_nalt.set_fixed_spd(): - - set_fixed_spd(ea) - - -ida_nalt.set_gotea(): - - set_gotea(gotea) - - -ida_nalt.set_has_lname(): - - set_has_lname(ea) - - -ida_nalt.set_has_ti(): - - set_has_ti(ea) - - -ida_nalt.set_has_ti0(): - - set_has_ti0(ea) - - -ida_nalt.set_has_ti1(): - - set_has_ti1(ea) - - -ida_nalt.set_ids_modnode(): - - set_ids_modnode(id) - - - Set ids modnode. - - - @param id (C++: netnode) - - -ida_nalt.set_imagebase(): - - set_imagebase(base) - - - Set image base address. - - - @param base (C++: ea_t) - - -ida_nalt.set_item_color(): - - set_item_color(ea, color) - - -ida_nalt.set_libitem(): - - set_libitem(ea) - - -ida_nalt.set_lzero0(): - - set_lzero0(ea) - - -ida_nalt.set_lzero1(): - - set_lzero1(ea) - - -ida_nalt.set_noret(): - - set_noret(ea) - - -ida_nalt.set_notcode(): - - set_notcode(ea) - - - Mark address so that it cannot be converted to instruction. - - - @param ea (C++: ea_t) - - -ida_nalt.set_notproc(): - - set_notproc(ea) - - -ida_nalt.set_op_tinfo(): - - set_op_tinfo(ea, n, tif) -> bool - - -ida_nalt.set_outfile_encoding_idx(): - - set_outfile_encoding_idx(idx) -> bool - - - set encoding to be used when producing files - - @param idx: the encoding index idx can be 0 to use the IDB's default 1 - -byte-per-unit encoding (C++: int) - - -ida_nalt.set_refinfo(): - - set_refinfo(ea, n, type, target=BADADDR, base=0, tdelta=0) -> bool - - -ida_nalt.set_refinfo_ex(): - - set_refinfo_ex(ea, n, ri) -> bool - - -ida_nalt.set_retfp(): - - set_retfp(ea) - - -ida_nalt.set_root_filename(): - - set_root_filename(file) - - - Set full path of the input file. - - - @param file (C++: const char *) - - -ida_nalt.set_source_linnum(): - - set_source_linnum(ea, lnnum) - - -ida_nalt.set_str_type(): - - set_str_type(ea, x) - - -ida_nalt.set_switch_info(): - - set_switch_info(ea, _in) - - -ida_nalt.set_switch_parent(): - - set_switch_parent(ea, x) - - -ida_nalt.set_terse_struc(): - - set_terse_struc(ea) - - -ida_nalt.set_tilcmt(): - - set_tilcmt(ea) - - -ida_nalt.set_tinfo(): - - set_tinfo(ea, tif) -> bool - - -ida_nalt.set_usemodsp(): - - set_usemodsp(ea) - - -ida_nalt.set_usersp(): - - set_usersp(ea) - - -ida_nalt.set_userti(): - - set_userti(ea) - - -ida_nalt.set_visible_item(): - - set_visible_item(ea, visible) - - - Change visibility of item at given ea. - - - @param ea (C++: ea_t) - @param visible (C++: bool) - - -ida_nalt.set_zstroff(): - - set_zstroff(ea) - - -class ida_nalt.strpath_ids_array(): - - Proxy of C++ wrapped_array_t<(tid_t,32)> class - - -class ida_nalt.strpath_t(): - - Proxy of C++ strpath_t class - - -ida_nalt.strpath_t.delta: - strpath_t_delta_get(self) -> adiff_t - -ida_nalt.strpath_t.ids: - - __getIds(self) -> strpath_ids_array - - -ida_nalt.strpath_t.len: - strpath_t_len_get(self) -> int - -class ida_nalt.switch_info_t(): - - Proxy of C++ switch_info_t class - - -ida_nalt.switch_info_t.assign(): - - assign(self, other) - - -ida_nalt.switch_info_t.clear(): - - clear(self) - - -ida_nalt.switch_info_t.custom: - switch_info_t_custom_get(self) -> uval_t - -ida_nalt.switch_info_t.defjump: - switch_info_t_defjump_get(self) -> ea_t - -ida_nalt.switch_info_t.elbase: - switch_info_t_elbase_get(self) -> ea_t - -ida_nalt.switch_info_t.expr_ea: - switch_info_t_expr_ea_get(self) -> ea_t - -ida_nalt.switch_info_t.flags: - switch_info_t_flags_get(self) -> uint32 - -ida_nalt.switch_info_t.get_jrange_vrange(): - - get_jrange_vrange(self, jrange=None, vrange=None) -> bool - - -ida_nalt.switch_info_t.get_jtable_element_size(): - - get_jtable_element_size(self) -> int - - -ida_nalt.switch_info_t.get_jtable_size(): - - get_jtable_size(self) -> int - - -ida_nalt.switch_info_t.get_lowcase(): - - get_lowcase(self) -> sval_t - - -ida_nalt.switch_info_t.get_shift(): - - get_shift(self) -> int - - -ida_nalt.switch_info_t.get_version(): - - get_version(self) -> int - - -ida_nalt.switch_info_t.get_vtable_element_size(): - - get_vtable_element_size(self) -> int - - -ida_nalt.switch_info_t.has_default(): - - has_default(self) -> bool - - -ida_nalt.switch_info_t.has_elbase(): - - has_elbase(self) -> bool - - -ida_nalt.switch_info_t.ind_lowcase: - switch_info_t_ind_lowcase_get(self) -> sval_t - -ida_nalt.switch_info_t.is_custom(): - - is_custom(self) -> bool - - -ida_nalt.switch_info_t.is_indirect(): - - is_indirect(self) -> bool - - -ida_nalt.switch_info_t.is_nolowcase(): - - is_nolowcase(self) -> bool - - -ida_nalt.switch_info_t.is_sparse(): - - is_sparse(self) -> bool - - -ida_nalt.switch_info_t.is_subtract(): - - is_subtract(self) -> bool - - -ida_nalt.switch_info_t.jcases: - switch_info_t_jcases_get(self) -> int - -ida_nalt.switch_info_t.jumps: - switch_info_t_jumps_get(self) -> ea_t - -ida_nalt.switch_info_t.lowcase: - - _get_values_lowcase(self) -> ea_t - - -ida_nalt.switch_info_t.marks: - switch_info_t_marks_get(self) -> eavec_t * - -ida_nalt.switch_info_t.ncases: - switch_info_t_ncases_get(self) -> ushort - -ida_nalt.switch_info_t.regdtype: - switch_info_t_regdtype_get(self) -> op_dtype_t - -ida_nalt.switch_info_t.regnum: - switch_info_t_regnum_get(self) -> int - -ida_nalt.switch_info_t.set_expr(): - - set_expr(self, r, dt) - - -ida_nalt.switch_info_t.set_jtable_element_size(): - - set_jtable_element_size(self, size) - - -ida_nalt.switch_info_t.set_jtable_size(): - - set_jtable_size(self, size) - - -ida_nalt.switch_info_t.set_shift(): - - set_shift(self, shift) - - -ida_nalt.switch_info_t.set_vtable_element_size(): - - set_vtable_element_size(self, size) - - -ida_nalt.switch_info_t.startea: - switch_info_t_startea_get(self) -> ea_t - -ida_nalt.switch_info_t.use_std_table(): - - use_std_table(self) -> bool - - -ida_nalt.switch_info_t.values: - - _get_values_lowcase(self) -> ea_t - - -ida_nalt.switch_info_t__from_ptrval__(): - - switch_info_t__from_ptrval__(ptrval) -> switch_info_t - - -ida_nalt.unhide_border(): - - unhide_border(ea) - - -ida_nalt.unhide_item(): - - unhide_item(ea) - - -ida_nalt.uses_modsp(): - - uses_modsp(ea) -> bool - - -ida_nalt.validate_idb_names(): - - validate_idb_names(do_repair) -> int - - - -=== ida_nalt EPYDOC INJECTIONS === -ida_nalt.AFL_ALIGNFLOW -""" -the previous insn was created for alignment purposes only -""" - -ida_nalt.AFL_BNOT0 -""" -the 1st operand is bitwise negated -""" - -ida_nalt.AFL_BNOT1 -""" -the 2nd operand is bitwise negated -""" - -ida_nalt.AFL_COLORED -""" -has user defined instruction color? -""" - -ida_nalt.AFL_FIXEDSPD -""" -should not be modified by modules - -sp delta value is fixed by analysis. -""" - -ida_nalt.AFL_HIDDEN -""" -the item is hidden completely -""" - -ida_nalt.AFL_LIB -""" -item from the standard library. low level flag, is used to set -'FUNC_LIB' of 'func_t' -""" - -ida_nalt.AFL_LINNUM -""" -has line number info -""" - -ida_nalt.AFL_LNAME -""" -has local name too ( 'FF_NAME' should be set) -""" - -ida_nalt.AFL_LZERO0 -""" -toggle leading zeroes for the 1st operand -""" - -ida_nalt.AFL_LZERO1 -""" -toggle leading zeroes for the 2nd operand -""" - -ida_nalt.AFL_MANUAL -""" -the instruction/data is specified by the user -""" - -ida_nalt.AFL_NOBRD -""" -the code/data border is hidden -""" - -ida_nalt.AFL_NORET -""" -for imported function pointers: doesn't return. this flag can also be -used for any instruction which halts or finishes the program execution -""" - -ida_nalt.AFL_NOTCODE -""" -autoanalysis should not create code here -""" - -ida_nalt.AFL_NOTPROC -""" -autoanalysis should not create proc here -""" - -ida_nalt.AFL_PUBNAM -""" -name is public (inter-file linkage) -""" - -ida_nalt.AFL_RETFP -""" -function returns a floating point value -""" - -ida_nalt.AFL_SIGN0 -""" -code: toggle sign of the 1st operand -""" - -ida_nalt.AFL_SIGN1 -""" -code: toggle sign of the 2nd operand -""" - -ida_nalt.AFL_TERSESTR -""" -terse structure variable display? -""" - -ida_nalt.AFL_TI -""" -has typeinfo? ( 'NSUP_TYPEINFO' ) -""" - -ida_nalt.AFL_TI0 -""" -has typeinfo for operand 0? ( 'NSUP_OPTYPES' ) -""" - -ida_nalt.AFL_TI1 -""" -has typeinfo for operand 1? ( 'NSUP_OPTYPES' +1) -""" - -ida_nalt.AFL_TILCMT -""" -has type comment? (such a comment may be changed by IDA) -""" - -ida_nalt.AFL_USEMODSP -""" -example: pop [rsp+N] - -insn modifes SP and uses the modified value -""" - -ida_nalt.AFL_USERSP -""" -user-defined SP value -""" - -ida_nalt.AFL_USERTI -""" -(comes from the user or type library) - -the type information is definitive. -""" - -ida_nalt.AFL_WEAKNAM -""" -name is weak -""" - -ida_nalt.AFL_ZSTROFF -""" -display struct field name at 0 offset when displaying an offset. -example: \\v{offset somestruct.field_0} if this flag is clear, then -\\v{offset somestruct} -""" - -ida_nalt.AP_ALLOWDUPS -""" -use 'dup' construct -""" - -ida_nalt.AP_ARRAY -""" -create as array (this flag is not stored in database) -""" - -ida_nalt.AP_IDXBASEMASK -""" -mask for number base of the indexes -""" - -ida_nalt.AP_IDXBIN -""" -display indexes in binary -""" - -ida_nalt.AP_IDXDEC -""" -display indexes in decimal -""" - -ida_nalt.AP_IDXHEX -""" -display indexes in hex -""" - -ida_nalt.AP_IDXOCT -""" -display indexes in octal -""" - -ida_nalt.AP_INDEX -""" -display array element indexes as comments -""" - -ida_nalt.AP_SIGNED -""" -treats numbers as signed -""" - -ida_nalt.MAXSTRUCPATH -""" -maximal inclusion depth of unions -""" - -ida_nalt.NALT_ABSBASE -""" -absolute segment location -""" - -ida_nalt.NALT_AFLAGS -""" -additional flags for an item -""" - -ida_nalt.NALT_ALIGN -""" -(should by equal to power of 2) - -alignment value if the item is 'FF_ALIGN' -""" - -ida_nalt.NALT_COLOR -""" -instruction/data background color -""" - -ida_nalt.NALT_CREF_FROM -""" -code xref from, idx: source address -""" - -ida_nalt.NALT_CREF_TO -""" -code xref to, idx: target address -""" - -ida_nalt.NALT_DREF_FROM -""" -data xref from, idx: source address -""" - -ida_nalt.NALT_DREF_TO -""" -data xref to, idx: target address -""" - -ida_nalt.NALT_ENUM0 -""" -enum id for the first operand -""" - -ida_nalt.NALT_ENUM1 -""" -enum id for the second operand -""" - -ida_nalt.NALT_GR_LAYX -""" -group layout ptrs, hash: md5 of 'belongs' -""" - -ida_nalt.NALT_LINNUM -""" -source line number -""" - -ida_nalt.NALT_PURGE -""" -number of bytes purged from the stack when a function is called -indirectly -""" - -ida_nalt.NALT_STRTYPE -""" -type of string item -""" - -ida_nalt.NALT_STRUCT -""" -struct id -""" - -ida_nalt.NALT_SWITCH -""" -switch idiom address (used at jump targets) -""" - -ida_nalt.NSUP_ARGEAS -""" -instructions that initialize call arguments -""" - -ida_nalt.NSUP_ARRAY -""" -array parameters -""" - -ida_nalt.NSUP_CMT -""" -regular comment -""" - -ida_nalt.NSUP_CUSTDT -""" -custom data type id -""" - -ida_nalt.NSUP_FOP1 -""" -forced operand 1 -""" - -ida_nalt.NSUP_FOP2 -""" -forced operand 2 -""" - -ida_nalt.NSUP_FOP3 -""" -forced operand 3 -""" - -ida_nalt.NSUP_FOP4 -""" -forced operand 4 -""" - -ida_nalt.NSUP_FOP5 -""" -forced operand 5 -""" - -ida_nalt.NSUP_FOP6 -""" -forced operand 6 -""" - -ida_nalt.NSUP_FOP7 -""" -forced operand 7 -""" - -ida_nalt.NSUP_FOP8 -""" -forced operand 8 -""" - -ida_nalt.NSUP_FTAILS -""" -function tails or tail referers values NSUP_FTAILS..NSUP_FTAILS+0x1000 -are reserved -""" - -ida_nalt.NSUP_GROUP -""" -graph group information values NSUP_GROUP..NSUP_GROUP+0x1000 are -reserved -""" - -ida_nalt.NSUP_GROUPS -""" -SEG_GRP: pack_dd encoded list of selectors. -""" - -ida_nalt.NSUP_GR_INFO -""" -group node info: color, ea, text -""" - -ida_nalt.NSUP_GR_LAYT -""" -group layouts, idx: layout pointer -""" - -ida_nalt.NSUP_JINFO -""" -jump table info -""" - -ida_nalt.NSUP_LLABEL -""" -local labels. values NSUP_LLABEL..NSUP_LLABEL+0x1000 are reserved -""" - -ida_nalt.NSUP_MANUAL -""" -manual instruction. values NSUP_MANUAL..NSUP_MANUAL+0x1000 are -reserved -""" - -ida_nalt.NSUP_OMFGRP -""" -OMF: group of segments (not used anymore) -""" - -ida_nalt.NSUP_OPTYPES -""" -operand type information. values NSUP_OPTYPES..NSUP_OPTYPES+0x100000 -are reserved -""" - -ida_nalt.NSUP_OREF0 -""" -outer complex reference information for operand 1 -""" - -ida_nalt.NSUP_OREF1 -""" -outer complex reference information for operand 2 -""" - -ida_nalt.NSUP_OREF2 -""" -outer complex reference information for operand 3 -""" - -ida_nalt.NSUP_OREF3 -""" -outer complex reference information for operand 4 -""" - -ida_nalt.NSUP_OREF4 -""" -outer complex reference information for operand 5 -""" - -ida_nalt.NSUP_OREF5 -""" -outer complex reference information for operand 6 -""" - -ida_nalt.NSUP_OREF6 -""" -outer complex reference information for operand 7 -""" - -ida_nalt.NSUP_OREF7 -""" -outer complex reference information for operand 8 -""" - -ida_nalt.NSUP_ORIGFMD -""" -function metadata before lumina information was applied values -NSUP_ORIGFMD..NSUP_ORIGFMD+0x1000 are reserved -""" - -ida_nalt.NSUP_POINTS -""" -SP change points blob (see funcs.cpp). values -NSUP_POINTS..NSUP_POINTS+0x1000 are reserved -""" - -ida_nalt.NSUP_REF0 -""" -complex reference information for operand 1 -""" - -ida_nalt.NSUP_REF1 -""" -complex reference information for operand 2 -""" - -ida_nalt.NSUP_REF2 -""" -complex reference information for operand 3 -""" - -ida_nalt.NSUP_REF3 -""" -complex reference information for operand 4 -""" - -ida_nalt.NSUP_REF4 -""" -complex reference information for operand 5 -""" - -ida_nalt.NSUP_REF5 -""" -complex reference information for operand 6 -""" - -ida_nalt.NSUP_REF6 -""" -complex reference information for operand 7 -""" - -ida_nalt.NSUP_REF7 -""" -complex reference information for operand 8 -""" - -ida_nalt.NSUP_REGARG -""" -register argument type/name descriptions values -NSUP_REGARG..NSUP_REGARG+0x1000 are reserved -""" - -ida_nalt.NSUP_REGVAR -""" -register variables. values NSUP_REGVAR..NSUP_REGVAR+0x1000 are -reserved -""" - -ida_nalt.NSUP_REPCMT -""" -repeatable comment -""" - -ida_nalt.NSUP_SEGTRANS -""" -segment translations -""" - -ida_nalt.NSUP_STROFF0 -""" -stroff: struct path for the first operand -""" - -ida_nalt.NSUP_STROFF1 -""" -stroff: struct path for the second operand -""" - -ida_nalt.NSUP_SWITCH -""" -switch information -""" - -ida_nalt.NSUP_TYPEINFO -""" -type information. values NSUP_TYPEINFO..NSUP_TYPEINFO+0x1000 are -reserved -""" - -ida_nalt.NSUP_XREFPOS -""" -saved xref address and type in the xrefs window -""" - -ida_nalt.PATCH_TAG -""" -Patch netnode tag. -""" - -ida_nalt.REFINFO_CUSTOM -""" -a custom reference the kernel will call \\ph{notify}(ph.custom_offset, -.... that can change all arguments used for calculations. This flag is -useful for custom fixups -""" - -ida_nalt.REFINFO_NOBASE -""" -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 -""" - -ida_nalt.REFINFO_PASTEND -""" -reference past an item it may point to an nonexistent address do not -destroy alignment dirs -""" - -ida_nalt.REFINFO_RVAOFF -""" -based reference (rva) 'refinfo_t::base' will be forced to -'get_imagebase()' such a reference is displayed with the \\ash{a_rva} -keyword -""" - -ida_nalt.REFINFO_SIGNEDOP -""" -the operand value is sign-extended (only supported for -REF_OFF8/16/32/64) -""" - -ida_nalt.REFINFO_SUBTRACT -""" -the reference value is subtracted from the base value instead of (as -usual) being added to it -""" - -ida_nalt.REFINFO_TYPE -""" -reference type -""" - -ida_nalt.RIDX_ABINAME -""" -ABI name (processor specific) -""" - -ida_nalt.RIDX_ARCHIVE_PATH -""" -archive file path -""" - -ida_nalt.RIDX_C_MACROS -""" -C predefined macros. -""" - -ida_nalt.RIDX_DBG_BINPATHS -""" -unused (20 indexes) -""" - -ida_nalt.RIDX_DUALOP_GRAPH -""" -Graph text representation options. -""" - -ida_nalt.RIDX_DUALOP_TEXT -""" -Text text representation options. -""" - -ida_nalt.RIDX_FILE_FORMAT_NAME -""" -file format name for loader modules -""" - -ida_nalt.RIDX_GROUPS -""" -segment group information (see init_groups()) -""" - -ida_nalt.RIDX_H_PATH -""" -C header path. -""" - -ida_nalt.RIDX_IDA_VERSION -""" -version of ida which created the database -""" - -ida_nalt.RIDX_INCLUDE -""" -assembler include file name -""" - -ida_nalt.RIDX_MD5 -""" -MD5 of the input file. -""" - -ida_nalt.RIDX_NOTEPAD -""" -notepad blob, occupies 1000 indexes (1MB of text) -""" - -ida_nalt.RIDX_PROBLEMS -""" -problem lists -""" - -ida_nalt.RIDX_SELECTED_EXTLANG -""" -last selected extlang name (from the execute script box) -""" - -ida_nalt.RIDX_SELECTORS -""" -2..63 are for selector_t blob (see init_selectors()) -""" - -ida_nalt.RIDX_SHA256 -""" -SHA256 of the input file. -""" - -ida_nalt.RIDX_SMALL_IDC -""" -Instant IDC statements, blob. -""" - -ida_nalt.RIDX_SMALL_IDC_OLD -""" -Instant IDC statements (obsolete) -""" - -ida_nalt.RIDX_SRCDBG_PATHS -""" -source debug paths, occupies 20 indexes -""" - -ida_nalt.RIDX_SRCDBG_UNDESIRED -""" -user-closed source files, occupies 20 indexes -""" - -ida_nalt.RIDX_STR_ENCODINGS -""" -a list of encodings for the program strings -""" - -ida_nalt.STRENC_DEFAULT -""" -use default encoding for this type (see 'get_default_encoding_idx()' ) -""" - -ida_nalt.STRENC_NONE -""" -force no-conversion encoding -""" - -ida_nalt.STRTYPE_C -""" -Zero-terminated 16bit chars. -""" - -ida_nalt.STRTYPE_C_16 -""" -Zero-terminated 32bit chars. -""" - -ida_nalt.STRTYPE_C_32 -""" -Pascal-style, one-byte length prefix. -""" - -ida_nalt.STRTYPE_LEN2 -""" -Pascal-style, 16bit chars, two-byte length prefix. -""" - -ida_nalt.STRTYPE_LEN2_16 -""" -Pascal-style, four-byte length prefix. -""" - -ida_nalt.STRTYPE_LEN4 -""" -Pascal-style, 16bit chars, four-byte length prefix. -""" - -ida_nalt.STRTYPE_PASCAL -""" -Pascal-style, 16bit chars, one-byte length prefix. -""" - -ida_nalt.STRTYPE_PASCAL_16 -""" -Pascal-style, two-byte length prefix. -""" - -ida_nalt.STRTYPE_TERMCHR -""" -C-style string. - -< Character-terminated string. The termination characters are kept in -the next bytes of string type. -""" - -ida_nalt.SWI_CUSTOM -""" -custom jump table. \\ph{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' ) -""" - -ida_nalt.SWI_DEFRET -""" -return in the default case (defjump==BADADDR) -""" - -ida_nalt.SWI_DEF_IN_TBL -""" -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) -=""> ==+ 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. -""" - -ida_nalt.SWI_ELBASE -""" -segment will be used) - -elbase is present (otherwise the base of the switch -""" - -ida_nalt.SWI_HXNOLOWCASE -""" -lowcase value should not be used by the decompiler (internal flag) -""" - -ida_nalt.SWI_INDIRECT -""" -(for sparse switches) - -value table elements are used as indexes into the jump table -""" - -ida_nalt.SWI_J32 -""" -32-bit jump offsets -""" - -ida_nalt.SWI_JMPINSN -""" -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. -""" - -ida_nalt.SWI_JMP_INV -""" -for first entry in values table) - -jumptable is inversed. (last entry is -""" - -ida_nalt.SWI_JSIZE -""" -jump offset expansion bit -""" - -ida_nalt.SWI_RESERVED -""" -was: SWI_DEFAULT -""" - -ida_nalt.SWI_SELFREL -""" -jump address is relative to the element not to ELBASE -""" - -ida_nalt.SWI_SEPARATE -""" -create an array of individual elements (otherwise separate items) -""" - -ida_nalt.SWI_SHIFT_MASK -""" -use formula (element< flags_t - - - Append names of struct fields to a name if the name is a struct name. - - @param disp: displacement from the name (C++: adiff_t *) - @param n: number of operand n which the name appears (C++: int) - @param path: 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). (C++: const tid_t - *) - @param flags: the input flags. they will be returned if the struct - cannot be found. (C++: flags_t) - @param delta: delta to add to displacement (C++: adiff_t) - @param appzero: should append a struct field name if the displacement - is zero? (C++: bool) - @return: flags of the innermost struct member or the input flags - - -ida_name.calc_gtn_flags(): - - Calculate flags for get_ea_name() function - - @param fromaddr: the referring address. May be BADADDR. - @param ea: linear address - - @return: flags - - -ida_name.cleanup_name(): - - cleanup_name(ea, name, flags=0) -> bool - - -ida_name.del_debug_names(): - - del_debug_names(ea1, ea2) - - -ida_name.del_global_name(): - - del_global_name(ea) -> bool - - -ida_name.del_local_name(): - - del_local_name(ea) -> bool - - -ida_name.demangle_name(): - - demangle_name(name, disable_mask, demreq=DQT_FULL) -> int32 - - - Demangle a name. - - @param name: name to demangle (C++: const char *) - @param disable_mask: bits to inhibit parts of demangled name (see - MNG_). by the M_COMPILER bits a specific compiler - can be selected (see MT_). (C++: uint32) - @param demreq (C++: demreq_type_t) - @return: ME_... or MT__ bitmasks from demangle.hpp - - -class ida_name.ea_name_t(): - - Proxy of C++ ea_name_t class - - -ida_name.ea_name_t.ea: - ea_name_t_ea_get(self) -> ea_t - -ida_name.ea_name_t.name: - ea_name_t_name_get(self) -> qstring * - -class ida_name.ea_name_vec_t(): - - Proxy of C++ qvector<(ea_name_t)> class - - -ida_name.ea_name_vec_t.at(): - - at(self, _idx) -> ea_name_t - - -ida_name.ea_name_vec_t.begin(): - - begin(self) -> ea_name_t - begin(self) -> ea_name_t - - -ida_name.ea_name_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_name.ea_name_vec_t.clear(): - - clear(self) - - -ida_name.ea_name_vec_t.empty(): - - empty(self) -> bool - - -ida_name.ea_name_vec_t.end(): - - end(self) -> ea_name_t - end(self) -> ea_name_t - - -ida_name.ea_name_vec_t.erase(): - - erase(self, it) -> ea_name_t - erase(self, first, last) -> ea_name_t - - -ida_name.ea_name_vec_t.extract(): - - extract(self) -> ea_name_t - - -ida_name.ea_name_vec_t.grow(): - - grow(self, x=ea_name_t()) - - -ida_name.ea_name_vec_t.inject(): - - inject(self, s, len) - - -ida_name.ea_name_vec_t.insert(): - - insert(self, it, x) -> ea_name_t - - -ida_name.ea_name_vec_t.pop_back(): - - pop_back(self) - - -ida_name.ea_name_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> ea_name_t - - -ida_name.ea_name_vec_t.qclear(): - - qclear(self) - - -ida_name.ea_name_vec_t.reserve(): - - reserve(self, cnt) - - -ida_name.ea_name_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_name.ea_name_vec_t.size(): - - size(self) -> size_t - - -ida_name.ea_name_vec_t.swap(): - - swap(self, r) - - -ida_name.ea_name_vec_t.truncate(): - - truncate(self) - - -ida_name.extract_name(): - - extract_name(line, x) -> ssize_t - - - Extract a name or address from the specified string. - - @param line: input string (C++: const char *) - @param x: x coordinate of cursor (C++: int) - @return: -1 if cannot extract. otherwise length of the name - - -ida_name.force_name(): - - force_name(ea, name, flags=0) -> bool - - -ida_name.get_colored_demangled_name(): - - get_colored_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring - - -ida_name.get_colored_long_name(): - - get_colored_long_name(ea, gtn_flags=0) -> qstring - - -ida_name.get_colored_name(): - - get_colored_name(ea) -> qstring - - -ida_name.get_colored_short_name(): - - get_colored_short_name(ea, gtn_flags=0) -> qstring - - -ida_name.get_debug_name(): - - get_debug_name(ea_ptr, how) -> ssize_t - - -ida_name.get_debug_name_ea(): - - get_debug_name_ea(name) -> ea_t - - -ida_name.get_debug_names(): - - get_debug_names(names, ea1, ea2) - get_debug_names(ea1, ea2, return_list=False) -> PyObject * - - -ida_name.get_demangled_name(): - - get_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring - - -ida_name.get_ea_name(): - - get_ea_name(ea, gtn_flags=0) -> qstring - - - Get name at the specified address. - - @param ea: linear address (C++: ea_t) - @param gtn_flags: how exactly the name should be retrieved. - combination of bits for get_ea_name() function. - There is a convenience bits (C++: int) - @return: success - - -ida_name.get_long_name(): - - get_long_name(ea, gtn_flags=0) -> qstring - - -ida_name.get_name(): - - get_name(ea) -> qstring - - -ida_name.get_name_base_ea(): - - get_name_base_ea(_from, to) -> ea_t - - - Get address of the name used in the expression for the address - - @param _from: address of the operand which references to the address - (C++: ea_t) - @param to: the referenced address (C++: ea_t) - @return: address of the name used to represent the operand - - -ida_name.get_name_color(): - - get_name_color(_from, ea) -> color_t - - - Calculate flags for 'get_ea_name()' function. - - Get name color. - - @param _from: 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. (C++: ea_t) - @param ea: linear address (C++: ea_t) - - -ida_name.get_name_ea(): - - get_name_ea(_from, name) -> ea_t - - - Get address of the name. Dummy names (like byte_xxxx where xxxx are - hex digits) are parsed by this function to obtain the address. The - database is not consulted for them. This function works only with - regular names. - - @param _from: linear address where the name is used. if not - applicable, then should be BADADDR . (C++: ea_t) - @param name: any name in the program or NULL (C++: const char *) - @return: address of the name or BADADDR - - -ida_name.get_name_expr(): - - 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: 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. (C++: ea_t) - @param n: number of referencing operand. for data items specify 0 - (C++: int) - @param ea: address to convert to name expression (C++: ea_t) - @param off: 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. (C++: uval_t) - @param flags: Name expression flags (C++: int) - @return: < 0 if address is not valid, no segment or other failure. - otherwise the length of the name expression in characters. - - -ida_name.get_name_value(): - - get_name_value(_from, name) -> int - - - Get value of the name. This function knows about: regular names, - enums, special segments, etc. - - @param _from: linear address where the name is used if not applicable, - then should be BADADDR (C++: ea_t) - @param name: any name in the program or NULL (C++: const char *) - @return: Name value result codes - - -ida_name.get_nice_colored_name(): - - get_nice_colored_name(ea, flags=0) -> ssize_t - - - Get a nice colored name at the specified address. Ex:segment:sub+offse - tsegment:sub:local_labelsegment:labelsegment:addresssegment:address+of - fset - - @param ea (C++: ea_t) - @param flags (C++: int) - @return: the length of the generated name in bytes. - - -ida_name.get_nlist_ea(): - - get_nlist_ea(idx) -> ea_t - - - Get address from the list at 'idx'. - - - @param idx (C++: size_t) - - -ida_name.get_nlist_idx(): - - get_nlist_idx(ea) -> size_t - - - Get index of the name in the listreturns the closest match. may return - idx >= size. - - @param ea (C++: ea_t) - - -ida_name.get_nlist_name(): - - get_nlist_name(idx) -> char const * - - - Get name using idx. - - - @param idx (C++: size_t) - - -ida_name.get_nlist_size(): - - get_nlist_size() -> size_t - - - Get number of names in the list. - - -ida_name.get_short_name(): - - get_short_name(ea, gtn_flags=0) -> qstring - - -ida_name.get_visible_name(): - - get_visible_name(ea, gtn_flags=0) -> qstring - - -ida_name.hide_name(): - - hide_name(ea) - - - Remove name from the list of names - - @param ea: address of the name (C++: ea_t) - - -ida_name.is_ident(): - - is_ident(name) -> bool - - - Is a valid name? (including ::MangleChars) - - - @param name (C++: const char *) - - -ida_name.is_ident_cp(): - - is_ident_cp(cp) -> bool - - - Can a character appear in a name? (present in ::NameChars or - ::MangleChars) - - - @param cp (C++: wchar32_t) - - -ida_name.is_in_nlist(): - - is_in_nlist(ea) -> bool - - - Is name included into names list? - - - @param ea (C++: ea_t) - - -ida_name.is_name_defined_locally(): - - 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: pointer to function (C++: func_t *) - @param name: name to check (C++: const char *) - @param ignore_name_def: which names to ignore when checking (C++: - ignore_name_def_t) - @param ea1: the starting address of the range inside the function - (optional) (C++: ea_t) - @param ea2: the ending address of the range inside the function - (optional) (C++: ea_t) - @return: true if the name has been defined - - -ida_name.is_public_name(): - - is_public_name(ea) -> bool - - -ida_name.is_strlit_cp(): - - 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 *) - - -ida_name.is_uname(): - - is_uname(name) -> bool - - - Is valid user-specified name? (valid name & !dummy prefix). - - @param name: name to test. may be NULL. (C++: const char *) - - -ida_name.is_valid_cp(): - - 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) - @param data (C++: void *) - - -ida_name.is_valid_typename(): - - is_valid_typename(name) -> bool - - - Is valid type name? - - @param name: name to test. may be NULL. (C++: const char *) - - -ida_name.is_visible_cp(): - - is_visible_cp(cp) -> bool - - - Can a character be displayed in a name? (present in ::NameChars) - - - @param cp (C++: wchar32_t) - - -ida_name.is_weak_name(): - - is_weak_name(ea) -> bool - - -ida_name.make_name_auto(): - - make_name_auto(ea) -> bool - - -ida_name.make_name_non_public(): - - make_name_non_public(ea) - - -ida_name.make_name_non_weak(): - - make_name_non_weak(ea) - - -ida_name.make_name_public(): - - make_name_public(ea) - - -ida_name.make_name_user(): - - make_name_user(ea) -> bool - - -ida_name.make_name_weak(): - - make_name_weak(ea) - - -ida_name.rebuild_nlist(): - - rebuild_nlist() - - - Rebuild names list. - - -ida_name.reorder_dummy_names(): - - reorder_dummy_names() - - - Renumber dummy names. - - -ida_name.set_cp_validity(): - - 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) - @param cp (C++: wchar32_t) - @param endcp (C++: wchar32_t) - @param valid (C++: bool) - - -ida_name.set_debug_name(): - - set_debug_name(ea, name) -> bool - - -ida_name.set_dummy_name(): - - set_dummy_name(_from, ea) -> bool - - - Give an autogenerated (dummy) name. Autogenerated names have special - prefixes (loc_...). - - @param _from: linear address of the operand which references to the - address (C++: ea_t) - @param ea: linear address (C++: ea_t) - - -ida_name.set_name(): - - 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: linear address. do nothing if ea is not valid (return 0). - tail bytes can't have names. (C++: ea_t) - @param name: new name. NULL: do nothing (return 0). "" : delete - name. otherwise this is a new name. (C++: const char *) - @param flags: 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. (C++: int) - - -ida_name.show_name(): - - show_name(ea) - - - Insert name to the list of names. - - - @param ea (C++: ea_t) - - -ida_name.validate_name(): - - validate_name(name, type, flags=0) -> PyObject * - - - Validate a name. 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: ptr to name. the name will be modified (C++: qstring *) - @param type: the type of name we want to validate (C++: nametype_t) - @param flags: see SN_* . Only SN_IDBENC is currently considered (C++: - int) - @return: success - - - -=== ida_name EPYDOC INJECTIONS === -ida_name.FUNC_IMPORT_PREFIX -""" -Name prefix used by IDA for the imported functions. -""" - -ida_name.GETN_APPZERO -""" -append a struct field name if the field offset is zero? - -meaningful only if the name refers to a structure. -""" - -ida_name.GETN_NODUMMY -""" -do not create a new dummy name but pretend it exists -""" - -ida_name.GETN_NOFIXUP -""" -ignore the fixup information when producing the name -""" - -ida_name.GNCN_NOCOLOR -""" -generate an uncolored name -""" - -ida_name.GNCN_NODBGNM -""" -don't use debug names -""" - -ida_name.GNCN_NOFUNC -""" -don't generate funcname+... expressions -""" - -ida_name.GNCN_NOLABEL -""" -don't generate labels -""" - -ida_name.GNCN_NOSEG -""" -ignore the segment prefix when producing the name -""" - -ida_name.GNCN_PREFDBG -""" -if using debug names, prefer debug names over function names -""" - -ida_name.GNCN_REQFUNC -""" -return 0 if the address does not belong to a function -""" - -ida_name.GNCN_REQNAME -""" -return 0 if the address can only be represented as a hex number -""" - -ida_name.GNCN_SEGNUM -""" -segment part is displayed as a hex number -""" - -ida_name.GNCN_SEG_FUNC -""" -generate both segment and function names (default is to omit segment -name if a function name is present) -""" - -ida_name.GN_COLORED -""" -return colored name -""" - -ida_name.GN_DEMANGLED -""" -return demangled name -""" - -ida_name.GN_ISRET -""" -for dummy names: use retloc -""" - -ida_name.GN_LOCAL -""" -try to get local name first; if failed, get global -""" - -ida_name.GN_LONG -""" -use long form of demangled name -""" - -ida_name.GN_NOT_DUMMY -""" -do not return a dummy name -""" - -ida_name.GN_NOT_ISRET -""" -for dummy names: do not use retloc -""" - -ida_name.GN_SHORT -""" -use short form of demangled name -""" - -ida_name.GN_STRICT -""" -fail if cannot demangle -""" - -ida_name.GN_VISIBLE -""" -replace forbidden characters by SUBSTCHAR -""" - -ida_name.MAXNAMELEN -""" -Maximum length of a name in IDA (with the trailing zero) -""" - -ida_name.NT_ABS -""" -name is absolute symbol ( 'SEG_ABSSYM' ) -""" - -ida_name.NT_BMASK -""" -name is a bit group mask name -""" - -ida_name.NT_BYTE -""" -name is byte name (regular name) -""" - -ida_name.NT_ENUM -""" -name is symbolic constant -""" - -ida_name.NT_LOCAL -""" -name is local label -""" - -ida_name.NT_NONE -""" -name doesn't exist or has no value -""" - -ida_name.NT_REGVAR -""" -name is a renamed register (*value is idx into pfn->regvars) -""" - -ida_name.NT_SEG -""" -name is segment or segment register name -""" - -ida_name.NT_STKVAR -""" -name is stack variable name -""" - -ida_name.NT_STROFF -""" -name is structure member -""" - -ida_name.SN_AUTO -""" -if set, make name autogenerated -""" - -ida_name.SN_DELTAIL -""" -delete the hindering item - -if name cannot be set because of a tail byte, -""" - -ida_name.SN_FORCE -""" -if the specified name is already present in the database, try -variations with a numerical suffix like "_123" -""" - -ida_name.SN_IDBENC -""" -the name is given in the IDB encoding; non-ASCII bytes will be decoded -accordingly. Specifying SN_IDBENC also implies SN_NODUMMY -""" - -ida_name.SN_LOCAL -""" -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. -""" - -ida_name.SN_NOCHECK -""" -Don't fail if the name contains invalid characters. If this bit is -clear, all invalid chars (those !is_ident_cp()) will be replaced by -SUBSTCHAR List of valid characters is defined in ida.cfg -""" - -ida_name.SN_NODUMMY -""" -automatically prepend the name with '_' if it begins with a dummy -suffix such as 'sub_'. See also SN_IDBENC -""" - -ida_name.SN_NOLIST -""" -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). -""" - -ida_name.SN_NON_AUTO -""" -if set, make name non-autogenerated -""" - -ida_name.SN_NON_PUBLIC -""" -if set, make name non-public -""" - -ida_name.SN_NON_WEAK -""" -if set, make name non-weak -""" - -ida_name.SN_NOWARN -""" -don't display a warning if failed -""" - -ida_name.SN_PUBLIC -""" -if set, make name public -""" - -ida_name.SN_WEAK -""" -if set, make name weak -""" -=== ida_name EPYDOC INJECTIONS END === -ida_netnode.exist(): - - exist(n) -> bool - - -class ida_netnode.netnode(): - - Proxy of C++ netnode class - - -ida_netnode.netnode.altdel(): - - altdel(self, alt, tag=atag) -> bool - altdel(self) -> bool - - -ida_netnode.netnode.altdel_all(): - - altdel_all(self, tag) -> bool - - -ida_netnode.netnode.altdel_ea(): - - altdel_ea(self, ea, tag=atag) -> bool - - -ida_netnode.netnode.altdel_idx8(): - - altdel_idx8(self, alt, tag) -> bool - - -ida_netnode.netnode.altfirst(): - - altfirst(self, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altfirst_idx8(): - - altfirst_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.altlast(): - - altlast(self, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altlast_idx8(): - - altlast_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.altnext(): - - altnext(self, cur, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altnext_idx8(): - - altnext_idx8(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.altprev(): - - altprev(self, cur, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altprev_idx8(): - - altprev_idx8(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.altset(): - - altset(self, alt, value, tag=atag) -> bool - - -ida_netnode.netnode.altset_ea(): - - altset_ea(self, ea, value, tag=atag) -> bool - - -ida_netnode.netnode.altset_idx8(): - - altset_idx8(self, alt, val, tag) -> bool - - -ida_netnode.netnode.altshift(): - - altshift(self, _from, to, size, tag=atag) -> size_t - - -ida_netnode.netnode.altval(): - - altval(self, alt, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altval_ea(): - - altval_ea(self, ea, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altval_idx8(): - - altval_idx8(self, alt, tag) -> nodeidx_t - - -ida_netnode.netnode.blobsize(): - - blobsize(self, _start, tag) -> size_t - - -ida_netnode.netnode.blobsize_ea(): - - blobsize_ea(self, ea, tag) -> size_t - - -ida_netnode.netnode.chardel(): - - chardel(self, alt, tag) -> bool - - -ida_netnode.netnode.chardel_ea(): - - chardel_ea(self, ea, tag) -> bool - - -ida_netnode.netnode.chardel_idx8(): - - chardel_idx8(self, alt, tag) -> bool - - -ida_netnode.netnode.charfirst(): - - charfirst(self, tag) -> nodeidx_t - - -ida_netnode.netnode.charfirst_idx8(): - - charfirst_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.charlast(): - - charlast(self, tag) -> nodeidx_t - - -ida_netnode.netnode.charlast_idx8(): - - charlast_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.charnext(): - - charnext(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.charnext_idx8(): - - charnext_idx8(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.charprev(): - - charprev(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.charprev_idx8(): - - charprev_idx8(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.charset(): - - charset(self, alt, val, tag) -> bool - - -ida_netnode.netnode.charset_ea(): - - charset_ea(self, ea, val, tag) -> bool - - -ida_netnode.netnode.charset_idx8(): - - charset_idx8(self, alt, val, tag) -> bool - - -ida_netnode.netnode.charshift(): - - charshift(self, _from, to, size, tag) -> size_t - - -ida_netnode.netnode.charval(): - - charval(self, alt, tag) -> uchar - - -ida_netnode.netnode.charval_ea(): - - charval_ea(self, ea, tag) -> uchar - - -ida_netnode.netnode.charval_idx8(): - - charval_idx8(self, alt, tag) -> uchar - - -ida_netnode.netnode.copyto(): - - copyto(self, target, count=1) -> size_t - - -ida_netnode.netnode.create(): - - create(self, _name, namlen=0) -> bool - create(self) -> bool - - -ida_netnode.netnode.delblob(): - - delblob(self, _start, tag) -> int - - -ida_netnode.netnode.delblob_ea(): - - delblob_ea(self, ea, tag) -> int - - -ida_netnode.netnode.delvalue(): - - delvalue(self) -> bool - - -ida_netnode.netnode.eadel(): - - eadel(self, ea, tag) -> bool - - -ida_netnode.netnode.eadel_idx8(): - - eadel_idx8(self, idx, tag) -> bool - - -ida_netnode.netnode.eaget(): - - eaget(self, ea, tag) -> ea_t - - -ida_netnode.netnode.eaget_idx(): - - eaget_idx(self, idx, tag) -> ea_t - - -ida_netnode.netnode.eaget_idx8(): - - eaget_idx8(self, idx, tag) -> ea_t - - -ida_netnode.netnode.easet(): - - easet(self, ea, addr, tag) -> bool - - -ida_netnode.netnode.easet_idx(): - - easet_idx(self, idx, addr, tag) -> bool - - -ida_netnode.netnode.easet_idx8(): - - easet_idx8(self, idx, addr, tag) -> bool - - -ida_netnode.netnode.end(): - - end(self) -> bool - - -ida_netnode.netnode.get_name(): - - get_name(self) -> ssize_t - - -ida_netnode.netnode.getblob(): - - getblob(self, start, tag) -> PyObject * - - -ida_netnode.netnode.getblob_ea(): - - getblob_ea(self, ea, tag) -> PyObject * - - -ida_netnode.netnode.getclob(): - - getclob(self, start, tag) -> PyObject * - - -ida_netnode.netnode.hashdel(): - - hashdel(self, idx, tag=htag) -> bool - - -ida_netnode.netnode.hashdel_all(): - - hashdel_all(self, tag=htag) -> bool - - -ida_netnode.netnode.hashfirst(): - - hashfirst(self, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashlast(): - - hashlast(self, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashnext(): - - hashnext(self, idx, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashprev(): - - hashprev(self, idx, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashset(): - - hashset(self, idx, value, tag=htag) -> bool - - -ida_netnode.netnode.hashset_buf(): - - hashset_buf(self, idx, py_str, tag=htag) -> bool - - -ida_netnode.netnode.hashset_idx(): - - hashset_idx(self, idx, value, tag=htag) -> bool - - -ida_netnode.netnode.hashstr(): - - hashstr(self, idx, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashstr_buf(): - - hashstr_buf(self, idx, tag=htag) -> PyObject * - - -ida_netnode.netnode.hashval(): - - hashval(self, idx, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashval_long(): - - hashval_long(self, idx, tag=htag) -> nodeidx_t - - -ida_netnode.netnode.index(): - - index(self) -> nodeidx_t - - -ida_netnode.netnode.kill(): - - kill(self) - - -ida_netnode.netnode.long_value(): - - long_value(self) -> nodeidx_t - - -ida_netnode.netnode.lower_bound(): - - lower_bound(self, cur, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.lower_bound_ea(): - - lower_bound_ea(self, ea, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.lower_bound_idx8(): - - lower_bound_idx8(self, alt, tag) -> nodeidx_t - - -ida_netnode.netnode.moveto(): - - moveto(self, target, count=1) -> size_t - - -ida_netnode.netnode.next(): - - next(self) -> bool - - -ida_netnode.netnode.prev(): - - prev(self) -> bool - - -ida_netnode.netnode.rename(): - - rename(self, newname, namlen=0) -> bool - - -ida_netnode.netnode.set(): - - set(self, value) -> bool - - -ida_netnode.netnode.set_long(): - - set_long(self, x) -> bool - - -ida_netnode.netnode.setblob(): - - setblob(self, buf, _start, tag) -> bool - - -ida_netnode.netnode.setblob_ea(): - - setblob_ea(self, buf, ea, tag) -> bool - - -ida_netnode.netnode.start(): - - start(self) -> bool - - -ida_netnode.netnode.supdel(): - - supdel(self, alt, tag=stag) -> bool - supdel(self) -> bool - - -ida_netnode.netnode.supdel_all(): - - supdel_all(self, tag) -> bool - - -ida_netnode.netnode.supdel_ea(): - - supdel_ea(self, ea, tag=stag) -> bool - - -ida_netnode.netnode.supdel_idx8(): - - supdel_idx8(self, alt, tag) -> bool - - -ida_netnode.netnode.supdel_range(): - - supdel_range(self, idx1, idx2, tag) -> int - - -ida_netnode.netnode.supdel_range_idx8(): - - supdel_range_idx8(self, idx1, idx2, tag) -> int - - -ida_netnode.netnode.supfirst(): - - supfirst(self, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.supfirst_idx8(): - - supfirst_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.suplast(): - - suplast(self, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.suplast_idx8(): - - suplast_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.supnext(): - - supnext(self, cur, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.supnext_idx8(): - - supnext_idx8(self, alt, tag) -> nodeidx_t - - -ida_netnode.netnode.supprev(): - - supprev(self, cur, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.supprev_idx8(): - - supprev_idx8(self, alt, tag) -> nodeidx_t - - -ida_netnode.netnode.supset(): - - supset(self, alt, value, tag=stag) -> bool - - -ida_netnode.netnode.supset_ea(): - - supset_ea(self, ea, value, tag=stag) -> bool - - -ida_netnode.netnode.supset_idx8(): - - supset_idx8(self, alt, value, tag) -> bool - - -ida_netnode.netnode.supshift(): - - supshift(self, _from, to, size, tag=stag) -> size_t - - -ida_netnode.netnode.supstr(): - - supstr(self, alt, tag=stag) -> ssize_t - - -ida_netnode.netnode.supstr_ea(): - - supstr_ea(self, ea, tag=stag) -> ssize_t - - -ida_netnode.netnode.supstr_idx8(): - - supstr_idx8(self, alt, tag) -> ssize_t - - -ida_netnode.netnode.supval(): - - supval(self, alt, tag=stag) -> ssize_t - - -ida_netnode.netnode.supval_ea(): - - supval_ea(self, ea, tag=stag) -> ssize_t - - -ida_netnode.netnode.supval_idx8(): - - supval_idx8(self, alt, tag) -> ssize_t - - -ida_netnode.netnode.valobj(): - - valobj(self) -> ssize_t - - -ida_netnode.netnode.valstr(): - - valstr(self) -> ssize_t - - -ida_netnode.netnode.value_exists(): - - value_exists(self) -> bool - - - -=== ida_netnode EPYDOC INJECTIONS === -ida_netnode.BADNODE -""" -A number to represent a bad netnode reference. -""" -=== ida_netnode EPYDOC INJECTIONS END === -ida_offset.add_refinfo_dref(): - - 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: the referencing instruction (C++: const insn_t &) - @param _from: the referencing instruction/data address (C++: ea_t) - @param ri: reference info block from the database (C++: const - refinfo_t &) - @param opval: operand value (usually op_t::value or op_t::addr ) - (C++: adiff_t) - @param type: type of xref (C++: dref_t) - @param opoff: offset of the operand from the start of instruction - (C++: int) - @return: the target address of the reference - - -ida_offset.calc_basevalue(): - - calc_basevalue(target, base) -> ea_t - - - Calculate the value of the reference base. - - - @param target (C++: ea_t) - @param base (C++: ea_t) - - -ida_offset.calc_offset_base(): - - 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: the referencing instruction/data address (C++: ea_t) - @param n: operand number 0: first operand 1: other operand (C++: - int) - @return: output base address or BADADDR - - -ida_offset.calc_probable_base_by_value(): - - 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) - - -ida_offset.calc_reference_data(): - - 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: output target address (C++: ea_t *) - @param base: output base address (C++: ea_t *) - @param _from: the referencing instruction/data address (C++: ea_t) - @param ri: reference info block from the database (C++: const - refinfo_t &) - @param opval: operand value (usually op_t::value or op_t::addr ) - (C++: adiff_t) - @return: success - - -ida_offset.calc_target(): - - calc_target(_from, opval, ri) -> ea_t - calc_target(_from, ea, n, opval) -> ea_t - - - Calculates the target, using the provided 'refinfo_t' . - - - @param _from (C++: ea_t) - @param opval (C++: adiff_t) - @param ri (C++: const refinfo_t &) - - -ida_offset.can_be_off32(): - - 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) - - -ida_offset.get_default_reftype(): - - 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 - - -ida_offset.get_offbase(): - - get_offbase(ea, n) -> ea_t - - - Get offset base value - - @param ea: linear address (C++: ea_t) - @param n: number of operand (C++: int) - @return: offset base or BADADDR - - -ida_offset.get_offset_expr(): - - 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 &) - @param _from (C++: ea_t) - @param offset (C++: adiff_t) - @param getn_flags (C++: int) - - -ida_offset.get_offset_expression(): - - 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 (\ph{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: start of instruction or data with the offset expression - (C++: ea_t) - @param n: number of operand (may be ORed with OPND_OUTER ) 0: first - operand 1: second operand (C++: int) - @param _from: 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. (C++: ea_t) - @param offset: value of operand or its part. The function will return - text representation of this value as offset expression. - (C++: adiff_t) - @param getn_flags: 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) (C++: int) - - -ida_offset.op_offset(): - - op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int - - - See 'op_offset_ex()' - - - @param ea (C++: ea_t) - @param n (C++: int) - @param type (C++: reftype_t) - @param target (C++: ea_t) - @param base (C++: ea_t) - @param tdelta (C++: adiff_t) - - -ida_offset.op_offset_ex(): - - op_offset_ex(ea, n, ri) -> int - - - Convert operand to a reference. To delete an offset, use - 'clr_op_type()' function. - - @param ea: 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 (C++: ea_t) - @param n: number of operand (may be ORed with OPND_OUTER ) 0: first - 1: second 2: third OPND_MASK : all operands (C++: int) - @param ri: reference information (C++: const refinfo_t *) - @return: success - - -ida_offset.op_plain_offset(): - - 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) - - -class ida_pro.boolvec_t(): - - Proxy of C++ qvector<(bool)> class - - -ida_pro.boolvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.boolvec_t.append(): - - push_back(self, x) - push_back(self) -> bool & - - -ida_pro.boolvec_t.at(): - - __getitem__(self, i) -> bool const & - - -ida_pro.boolvec_t.begin(): - - begin(self) -> qvector< bool >::iterator - begin(self) -> qvector< bool >::const_iterator - - -ida_pro.boolvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.boolvec_t.clear(): - - clear(self) - - -ida_pro.boolvec_t.empty(): - - empty(self) -> bool - - -ida_pro.boolvec_t.end(): - - end(self) -> qvector< bool >::iterator - end(self) -> qvector< bool >::const_iterator - - -ida_pro.boolvec_t.erase(): - - erase(self, it) -> qvector< bool >::iterator - erase(self, first, last) -> qvector< bool >::iterator - - -ida_pro.boolvec_t.extract(): - - extract(self) -> bool * - - -ida_pro.boolvec_t.find(): - - find(self, x) -> qvector< bool >::iterator - find(self, x) -> qvector< bool >::const_iterator - - -ida_pro.boolvec_t.grow(): - - grow(self, x=bool()) - - -ida_pro.boolvec_t.has(): - - has(self, x) -> bool - - -ida_pro.boolvec_t.inject(): - - inject(self, s, len) - - -ida_pro.boolvec_t.insert(): - - insert(self, it, x) -> qvector< bool >::iterator - - -ida_pro.boolvec_t.pop_back(): - - pop_back(self) - - -ida_pro.boolvec_t.push_back(): - - push_back(self, x) - push_back(self) -> bool & - - -ida_pro.boolvec_t.qclear(): - - qclear(self) - - -ida_pro.boolvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.boolvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.boolvec_t.size(): - - size(self) -> size_t - - -ida_pro.boolvec_t.swap(): - - swap(self, r) - - -ida_pro.boolvec_t.truncate(): - - truncate(self) - - -class ida_pro.channel_redir_t(): - - Proxy of C++ channel_redir_t class - - -ida_pro.channel_redir_t.fd: - channel_redir_t_fd_get(self) -> int - -ida_pro.channel_redir_t.file: - channel_redir_t_file_get(self) -> qstring * - -ida_pro.channel_redir_t.flags: - channel_redir_t_flags_get(self) -> int - -ida_pro.channel_redir_t.is_append(): - - is_append(self) -> bool - - -ida_pro.channel_redir_t.is_input(): - - is_input(self) -> bool - - -ida_pro.channel_redir_t.is_output(): - - is_output(self) -> bool - - -ida_pro.channel_redir_t.is_quoted(): - - is_quoted(self) -> bool - - -ida_pro.channel_redir_t.length: - channel_redir_t_length_get(self) -> int - -ida_pro.channel_redir_t.start: - channel_redir_t_start_get(self) -> int - -ida_pro.check_process_exit(): - - check_process_exit(handle, exit_code, msecs=-1) -> int - - - Check whether process has terminated or not. - - @param handle: process handle to wait for (C++: void *) - @param exit_code: pointer to the buffer for the exit code (C++: int *) - - -ida_pro.clear_bits(): - - clear_bits(bitmap, low, high) - - - Clear bits between [low, high) in 'bitmap'. - - - @param bitmap (C++: uchar *) - @param low (C++: size_t) - @param high (C++: size_t) - - -class ida_pro.ea_array(): - - Proxy of C++ ea_array class - - -ida_pro.ea_array.cast(): - - cast(self) -> ea_t * - - -ida_pro.ea_array.frompointer(): - - frompointer(t) -> ea_array - - -ida_pro.ea_array_frompointer(): - - ea_array_frompointer(t) -> ea_array - - -class ida_pro.ea_pointer(): - - Proxy of C++ ea_pointer class - - -ida_pro.ea_pointer.assign(): - - assign(self, value) - - -ida_pro.ea_pointer.cast(): - - cast(self) -> ea_t * - - -ida_pro.ea_pointer.frompointer(): - - frompointer(t) -> ea_pointer - - -ida_pro.ea_pointer.value(): - - value(self) -> ea_t - - -ida_pro.ea_pointer_frompointer(): - - ea_pointer_frompointer(t) -> ea_pointer - - -class ida_pro.eavec_t(): - - Proxy of C++ qvector<(unsigned-ea-like-numeric-type)> class - - -ida_pro.eavec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.eavec_t.append(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_pro.eavec_t.at(): - - __getitem__(self, i) -> unsigned-ea-like-numeric-type & - - -ida_pro.eavec_t.begin(): - - begin(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - begin(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.eavec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.eavec_t.clear(): - - clear(self) - - -ida_pro.eavec_t.empty(): - - empty(self) -> bool - - -ida_pro.eavec_t.end(): - - end(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - end(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.eavec_t.erase(): - - erase(self, it) -> qvector< unsigned-ea-like-numeric-type >::iterator - erase(self, first, last) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_pro.eavec_t.extract(): - - extract(self) -> unsigned-ea-like-numeric-type * - - -ida_pro.eavec_t.find(): - - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.eavec_t.has(): - - has(self, x) -> bool - - -ida_pro.eavec_t.inject(): - - inject(self, s, len) - - -ida_pro.eavec_t.insert(): - - insert(self, it, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_pro.eavec_t.pop_back(): - - pop_back(self) - - -ida_pro.eavec_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_pro.eavec_t.qclear(): - - qclear(self) - - -ida_pro.eavec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.eavec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.eavec_t.size(): - - size(self) -> size_t - - -ida_pro.eavec_t.swap(): - - swap(self, r) - - -ida_pro.eavec_t.truncate(): - - truncate(self) - - -ida_pro.extend_sign(): - - 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) - - -class ida_pro.instant_dbgopts_t(): - - Proxy of C++ instant_dbgopts_t class - - -ida_pro.instant_dbgopts_t.attach: - instant_dbgopts_t_attach_get(self) -> bool - -ida_pro.instant_dbgopts_t.debmod: - instant_dbgopts_t_debmod_get(self) -> qstring * - -ida_pro.instant_dbgopts_t.env: - instant_dbgopts_t_env_get(self) -> qstring * - -ida_pro.instant_dbgopts_t.event_id: - instant_dbgopts_t_event_id_get(self) -> int - -ida_pro.instant_dbgopts_t.host: - instant_dbgopts_t_host_get(self) -> qstring * - -ida_pro.instant_dbgopts_t.pid: - instant_dbgopts_t_pid_get(self) -> int - -ida_pro.instant_dbgopts_t.port: - instant_dbgopts_t_port_get(self) -> int - -class ida_pro.int64vec_t(): - - Proxy of C++ qvector<(long long)> class - - -ida_pro.int64vec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.int64vec_t.append(): - - push_back(self, x) - push_back(self) -> long long & - - -ida_pro.int64vec_t.at(): - - __getitem__(self, i) -> long long const & - - -ida_pro.int64vec_t.begin(): - - begin(self) -> qvector< long long >::iterator - begin(self) -> qvector< long long >::const_iterator - - -ida_pro.int64vec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.int64vec_t.clear(): - - clear(self) - - -ida_pro.int64vec_t.empty(): - - empty(self) -> bool - - -ida_pro.int64vec_t.end(): - - end(self) -> qvector< long long >::iterator - end(self) -> qvector< long long >::const_iterator - - -ida_pro.int64vec_t.erase(): - - erase(self, it) -> qvector< long long >::iterator - erase(self, first, last) -> qvector< long long >::iterator - - -ida_pro.int64vec_t.extract(): - - extract(self) -> long long * - - -ida_pro.int64vec_t.find(): - - find(self, x) -> qvector< long long >::iterator - find(self, x) -> qvector< long long >::const_iterator - - -ida_pro.int64vec_t.has(): - - has(self, x) -> bool - - -ida_pro.int64vec_t.inject(): - - inject(self, s, len) - - -ida_pro.int64vec_t.insert(): - - insert(self, it, x) -> qvector< long long >::iterator - - -ida_pro.int64vec_t.pop_back(): - - pop_back(self) - - -ida_pro.int64vec_t.push_back(): - - push_back(self, x) - push_back(self) -> long long & - - -ida_pro.int64vec_t.qclear(): - - qclear(self) - - -ida_pro.int64vec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.int64vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.int64vec_t.size(): - - size(self) -> size_t - - -ida_pro.int64vec_t.swap(): - - swap(self, r) - - -ida_pro.int64vec_t.truncate(): - - truncate(self) - - -class ida_pro.int_pointer(): - - Proxy of C++ int_pointer class - - -ida_pro.int_pointer.assign(): - - assign(self, value) - - -ida_pro.int_pointer.cast(): - - cast(self) -> int * - - -ida_pro.int_pointer.frompointer(): - - frompointer(t) -> int_pointer - - -ida_pro.int_pointer.value(): - - value(self) -> int - - -ida_pro.int_pointer_frompointer(): - - int_pointer_frompointer(t) -> int_pointer - - -class ida_pro.intvec_t(): - - Proxy of C++ qvector<(int)> class - - -ida_pro.intvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.intvec_t.append(): - - push_back(self, x) - push_back(self) -> int & - - -ida_pro.intvec_t.at(): - - __getitem__(self, i) -> int const & - - -ida_pro.intvec_t.begin(): - - begin(self) -> qvector< int >::iterator - begin(self) -> qvector< int >::const_iterator - - -ida_pro.intvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.intvec_t.clear(): - - clear(self) - - -ida_pro.intvec_t.empty(): - - empty(self) -> bool - - -ida_pro.intvec_t.end(): - - end(self) -> qvector< int >::iterator - end(self) -> qvector< int >::const_iterator - - -ida_pro.intvec_t.erase(): - - erase(self, it) -> qvector< int >::iterator - erase(self, first, last) -> qvector< int >::iterator - - -ida_pro.intvec_t.extract(): - - extract(self) -> int * - - -ida_pro.intvec_t.find(): - - find(self, x) -> qvector< int >::iterator - find(self, x) -> qvector< int >::const_iterator - - -ida_pro.intvec_t.has(): - - has(self, x) -> bool - - -ida_pro.intvec_t.inject(): - - inject(self, s, len) - - -ida_pro.intvec_t.insert(): - - insert(self, it, x) -> qvector< int >::iterator - - -ida_pro.intvec_t.pop_back(): - - pop_back(self) - - -ida_pro.intvec_t.push_back(): - - push_back(self, x) - push_back(self) -> int & - - -ida_pro.intvec_t.qclear(): - - qclear(self) - - -ida_pro.intvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.intvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.intvec_t.size(): - - size(self) -> size_t - - -ida_pro.intvec_t.swap(): - - swap(self, r) - - -ida_pro.intvec_t.truncate(): - - truncate(self) - - -ida_pro.is_control_tty(): - - 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) - - -ida_pro.is_main_thread(): - - is_main_thread() -> bool - - - Are we running in the main thread? - - -ida_pro.log2ceil(): - - log2ceil(d64) -> int - - - calculate ceil(log2(d64)) or floor(log2(d64)), it returns 0 if d64 == - 0 - - @param d64 (C++: uint64) - - -ida_pro.log2floor(): - - log2floor(d64) -> int - - -class ida_pro.longlongvec_t(): - - Proxy of C++ qvector<(long long)> class - - -ida_pro.longlongvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.longlongvec_t.append(): - - push_back(self, x) - push_back(self) -> long long & - - -ida_pro.longlongvec_t.at(): - - __getitem__(self, i) -> long long const & - - -ida_pro.longlongvec_t.begin(): - - begin(self) -> qvector< long long >::iterator - begin(self) -> qvector< long long >::const_iterator - - -ida_pro.longlongvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.longlongvec_t.clear(): - - clear(self) - - -ida_pro.longlongvec_t.empty(): - - empty(self) -> bool - - -ida_pro.longlongvec_t.end(): - - end(self) -> qvector< long long >::iterator - end(self) -> qvector< long long >::const_iterator - - -ida_pro.longlongvec_t.erase(): - - erase(self, it) -> qvector< long long >::iterator - erase(self, first, last) -> qvector< long long >::iterator - - -ida_pro.longlongvec_t.extract(): - - extract(self) -> long long * - - -ida_pro.longlongvec_t.find(): - - find(self, x) -> qvector< long long >::iterator - find(self, x) -> qvector< long long >::const_iterator - - -ida_pro.longlongvec_t.has(): - - has(self, x) -> bool - - -ida_pro.longlongvec_t.inject(): - - inject(self, s, len) - - -ida_pro.longlongvec_t.insert(): - - insert(self, it, x) -> qvector< long long >::iterator - - -ida_pro.longlongvec_t.pop_back(): - - pop_back(self) - - -ida_pro.longlongvec_t.push_back(): - - push_back(self, x) - push_back(self) -> long long & - - -ida_pro.longlongvec_t.qclear(): - - qclear(self) - - -ida_pro.longlongvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.longlongvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.longlongvec_t.size(): - - size(self) -> size_t - - -ida_pro.longlongvec_t.swap(): - - swap(self, r) - - -ida_pro.longlongvec_t.truncate(): - - truncate(self) - - -ida_pro.parse_dbgopts(): - - 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 *) - @param r_switch (C++: const char *) - @return: true-ok, false-parse error - - -ida_pro.qatoll(): - - qatoll(nptr) -> int64 - - -ida_pro.qcontrol_tty(): - - qcontrol_tty() - - - Make the current terminal the controlling terminal of the calling - process.The current terminal is supposed to be /dev/tty - - -ida_pro.qdetach_tty(): - - qdetach_tty() - - - If the current terminal is the controlling terminal of the calling - process, give up this controlling terminal.The current terminal is - supposed to be /dev/tty - - -ida_pro.qexit(): - - qexit(code) - - - Call qatexit functions, shut down UI and kernel, and exit. - - @param code: exit code (C++: int) - - -class ida_pro.qmutex_locker_t(): - - Proxy of C++ qmutex_locker_t class - - -class ida_pro.qrefcnt_obj_t(): - - Proxy of C++ qrefcnt_obj_t class - - -ida_pro.qrefcnt_obj_t.refcnt: - qrefcnt_obj_t_refcnt_get(self) -> int - -ida_pro.qrefcnt_obj_t.release(): - - release(self) - - -ida_pro.qstrvec_t_add(): - - qstrvec_t_add(self, s) -> bool - - -ida_pro.qstrvec_t_addressof(): - - qstrvec_t_addressof(self, idx) -> PyObject * - - -ida_pro.qstrvec_t_assign(): - - qstrvec_t_assign(self, other) -> bool - - -ida_pro.qstrvec_t_clear(): - - qstrvec_t_clear(self, qclear) -> bool - - -ida_pro.qstrvec_t_create(): - - qstrvec_t_create() -> PyObject * - - -ida_pro.qstrvec_t_destroy(): - - qstrvec_t_destroy(py_obj) -> bool - - -ida_pro.qstrvec_t_from_list(): - - qstrvec_t_from_list(self, py_list) -> bool - - -ida_pro.qstrvec_t_get(): - - qstrvec_t_get(self, idx) -> PyObject * - - -ida_pro.qstrvec_t_get_clink(): - - qstrvec_t_get_clink(self) -> qstrvec_t * - - -ida_pro.qstrvec_t_get_clink_ptr(): - - qstrvec_t_get_clink_ptr(self) -> PyObject * - - -ida_pro.qstrvec_t_insert(): - - qstrvec_t_insert(self, idx, s) -> bool - - -ida_pro.qstrvec_t_remove(): - - qstrvec_t_remove(self, idx) -> bool - - -ida_pro.qstrvec_t_set(): - - qstrvec_t_set(self, idx, s) -> bool - - -ida_pro.qstrvec_t_size(): - - qstrvec_t_size(self) -> size_t - - -ida_pro.quote_cmdline_arg(): - - 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' - - -ida_pro.qvector_reserve(): - - qvector_reserve(vec, old, cnt, elsize) -> void * - - - Change capacity of given qvector. - - @param vec: a pointer to a qvector (C++: void *) - @param old: a pointer to the qvector's array (C++: void *) - @param cnt: number of elements to reserve (C++: size_t) - @param elsize: size of each element (C++: size_t) - @return: a pointer to the newly allocated array - - -ida_pro.readbytes(): - - readbytes(h, res, size, mf) -> int - - - Read at most 4 bytes from file. - - @param h: file handle (C++: int) - @param res: value read from file (C++: uint32 *) - @param size: size of value in bytes (1,2,4) (C++: int) - @param mf: is MSB first? (C++: bool) - @return: 0 on success, nonzero otherwise - - -ida_pro.reloc_value(): - - reloc_value(value, size, delta, mf) - - -ida_pro.relocate_relobj(): - - relocate_relobj(_relobj, ea, mf) -> bool - - -class ida_pro.sel_array(): - - Proxy of C++ sel_array class - - -ida_pro.sel_array.cast(): - - cast(self) -> sel_t * - - -ida_pro.sel_array.frompointer(): - - frompointer(t) -> sel_array - - -ida_pro.sel_array_frompointer(): - - sel_array_frompointer(t) -> sel_array - - -class ida_pro.sel_pointer(): - - Proxy of C++ sel_pointer class - - -ida_pro.sel_pointer.assign(): - - assign(self, value) - - -ida_pro.sel_pointer.cast(): - - cast(self) -> sel_t * - - -ida_pro.sel_pointer.frompointer(): - - frompointer(t) -> sel_pointer - - -ida_pro.sel_pointer.value(): - - value(self) -> sel_t - - -ida_pro.sel_pointer_frompointer(): - - sel_pointer_frompointer(t) -> sel_pointer - - -ida_pro.set_bits(): - - set_bits(bitmap, low, high) - - - Set bits between [low, high) in 'bitmap'. - - - @param bitmap (C++: uchar *) - @param low (C++: size_t) - @param high (C++: size_t) - - -class ida_pro.sizevec_t(): - - Proxy of C++ qvector<(size_t)> class - - -ida_pro.sizevec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.sizevec_t.at(): - - at(self, _idx) -> size_t const & - - -ida_pro.sizevec_t.begin(): - - begin(self) -> qvector< size_t >::iterator - begin(self) -> qvector< size_t >::const_iterator - - -ida_pro.sizevec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.sizevec_t.clear(): - - clear(self) - - -ida_pro.sizevec_t.empty(): - - empty(self) -> bool - - -ida_pro.sizevec_t.end(): - - end(self) -> qvector< size_t >::iterator - end(self) -> qvector< size_t >::const_iterator - - -ida_pro.sizevec_t.erase(): - - erase(self, it) -> qvector< size_t >::iterator - erase(self, first, last) -> qvector< size_t >::iterator - - -ida_pro.sizevec_t.extract(): - - extract(self) -> size_t * - - -ida_pro.sizevec_t.find(): - - find(self, x) -> qvector< size_t >::iterator - find(self, x) -> qvector< size_t >::const_iterator - - -ida_pro.sizevec_t.grow(): - - grow(self, x=size_t()) - - -ida_pro.sizevec_t.has(): - - has(self, x) -> bool - - -ida_pro.sizevec_t.inject(): - - inject(self, s, len) - - -ida_pro.sizevec_t.insert(): - - insert(self, it, x) -> qvector< size_t >::iterator - - -ida_pro.sizevec_t.pop_back(): - - pop_back(self) - - -ida_pro.sizevec_t.push_back(): - - push_back(self, x) - push_back(self) -> size_t & - - -ida_pro.sizevec_t.qclear(): - - qclear(self) - - -ida_pro.sizevec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.sizevec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.sizevec_t.size(): - - size(self) -> size_t - - -ida_pro.sizevec_t.swap(): - - swap(self, r) - - -ida_pro.sizevec_t.truncate(): - - truncate(self) - - -ida_pro.str2user(): - - str2user(str) -> PyObject * - - - Insert C-style escape characters to string - - @return: new string with escape characters inserted - - -class ida_pro.strvec_t(): - - Proxy of C++ qvector<(simpleline_t)> class - - -ida_pro.strvec_t.append(): - - push_back(self, x) - push_back(self) -> simpleline_t & - - -ida_pro.strvec_t.at(): - - __getitem__(self, i) -> simpleline_t const & - - -ida_pro.strvec_t.begin(): - - begin(self) -> qvector< simpleline_t >::iterator - begin(self) -> qvector< simpleline_t >::const_iterator - - -ida_pro.strvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.strvec_t.clear(): - - clear(self) - - -ida_pro.strvec_t.empty(): - - empty(self) -> bool - - -ida_pro.strvec_t.end(): - - end(self) -> qvector< simpleline_t >::iterator - end(self) -> qvector< simpleline_t >::const_iterator - - -ida_pro.strvec_t.erase(): - - erase(self, it) -> qvector< simpleline_t >::iterator - erase(self, first, last) -> qvector< simpleline_t >::iterator - - -ida_pro.strvec_t.extract(): - - extract(self) -> simpleline_t * - - -ida_pro.strvec_t.grow(): - - grow(self, x=simpleline_t()) - - -ida_pro.strvec_t.inject(): - - inject(self, s, len) - - -ida_pro.strvec_t.insert(): - - insert(self, it, x) -> qvector< simpleline_t >::iterator - - -ida_pro.strvec_t.pop_back(): - - pop_back(self) - - -ida_pro.strvec_t.push_back(): - - push_back(self, x) - push_back(self) -> simpleline_t & - - -ida_pro.strvec_t.qclear(): - - qclear(self) - - -ida_pro.strvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.strvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.strvec_t.size(): - - size(self) -> size_t - - -ida_pro.strvec_t.swap(): - - swap(self, r) - - -ida_pro.strvec_t.truncate(): - - truncate(self) - - -class ida_pro.sval_pointer(): - - Proxy of C++ sval_pointer class - - -ida_pro.sval_pointer.assign(): - - assign(self, value) - - -ida_pro.sval_pointer.cast(): - - cast(self) -> sval_t * - - -ida_pro.sval_pointer.frompointer(): - - frompointer(t) -> sval_pointer - - -ida_pro.sval_pointer.value(): - - value(self) -> sval_t - - -ida_pro.sval_pointer_frompointer(): - - sval_pointer_frompointer(t) -> sval_pointer - - -class ida_pro.svalvec_t(): - - Proxy of C++ qvector<(signed-ea-like-numeric-type)> class - - -ida_pro.svalvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.svalvec_t.append(): - - push_back(self, x) - push_back(self) -> signed-ea-like-numeric-type & - - -ida_pro.svalvec_t.at(): - - __getitem__(self, i) -> signed-ea-like-numeric-type & - - -ida_pro.svalvec_t.begin(): - - begin(self) -> qvector< signed-ea-like-numeric-type >::iterator - begin(self) -> qvector< signed-ea-like-numeric-type >::const_iterator - - -ida_pro.svalvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.svalvec_t.clear(): - - clear(self) - - -ida_pro.svalvec_t.empty(): - - empty(self) -> bool - - -ida_pro.svalvec_t.end(): - - end(self) -> qvector< signed-ea-like-numeric-type >::iterator - end(self) -> qvector< signed-ea-like-numeric-type >::const_iterator - - -ida_pro.svalvec_t.erase(): - - erase(self, it) -> qvector< signed-ea-like-numeric-type >::iterator - erase(self, first, last) -> qvector< signed-ea-like-numeric-type >::iterator - - -ida_pro.svalvec_t.extract(): - - extract(self) -> signed-ea-like-numeric-type * - - -ida_pro.svalvec_t.find(): - - find(self, x) -> qvector< signed-ea-like-numeric-type >::iterator - find(self, x) -> qvector< signed-ea-like-numeric-type >::const_iterator - - -ida_pro.svalvec_t.has(): - - has(self, x) -> bool - - -ida_pro.svalvec_t.inject(): - - inject(self, s, len) - - -ida_pro.svalvec_t.insert(): - - insert(self, it, x) -> qvector< signed-ea-like-numeric-type >::iterator - - -ida_pro.svalvec_t.pop_back(): - - pop_back(self) - - -ida_pro.svalvec_t.push_back(): - - push_back(self, x) - push_back(self) -> signed-ea-like-numeric-type & - - -ida_pro.svalvec_t.qclear(): - - qclear(self) - - -ida_pro.svalvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.svalvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.svalvec_t.size(): - - size(self) -> size_t - - -ida_pro.svalvec_t.swap(): - - swap(self, r) - - -ida_pro.svalvec_t.truncate(): - - truncate(self) - - -class ida_pro.tid_array(): - - Proxy of C++ tid_array class - - -ida_pro.tid_array.cast(): - - cast(self) -> tid_t * - - -ida_pro.tid_array.frompointer(): - - frompointer(t) -> tid_array - - -ida_pro.tid_array_frompointer(): - - tid_array_frompointer(t) -> tid_array - - -class ida_pro.uchar_array(): - - Proxy of C++ uchar_array class - - -ida_pro.uchar_array.cast(): - - cast(self) -> uchar * - - -ida_pro.uchar_array.frompointer(): - - frompointer(t) -> uchar_array - - -ida_pro.uchar_array_frompointer(): - - uchar_array_frompointer(t) -> uchar_array - - -class ida_pro.uint64vec_t(): - - Proxy of C++ qvector<(unsigned long long)> class - - -ida_pro.uint64vec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.uint64vec_t.append(): - - push_back(self, x) - push_back(self) -> unsigned long long & - - -ida_pro.uint64vec_t.at(): - - __getitem__(self, i) -> unsigned long long const & - - -ida_pro.uint64vec_t.begin(): - - begin(self) -> qvector< unsigned long long >::iterator - begin(self) -> qvector< unsigned long long >::const_iterator - - -ida_pro.uint64vec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.uint64vec_t.clear(): - - clear(self) - - -ida_pro.uint64vec_t.empty(): - - empty(self) -> bool - - -ida_pro.uint64vec_t.end(): - - end(self) -> qvector< unsigned long long >::iterator - end(self) -> qvector< unsigned long long >::const_iterator - - -ida_pro.uint64vec_t.erase(): - - erase(self, it) -> qvector< unsigned long long >::iterator - erase(self, first, last) -> qvector< unsigned long long >::iterator - - -ida_pro.uint64vec_t.extract(): - - extract(self) -> unsigned long long * - - -ida_pro.uint64vec_t.find(): - - find(self, x) -> qvector< unsigned long long >::iterator - find(self, x) -> qvector< unsigned long long >::const_iterator - - -ida_pro.uint64vec_t.has(): - - has(self, x) -> bool - - -ida_pro.uint64vec_t.inject(): - - inject(self, s, len) - - -ida_pro.uint64vec_t.insert(): - - insert(self, it, x) -> qvector< unsigned long long >::iterator - - -ida_pro.uint64vec_t.pop_back(): - - pop_back(self) - - -ida_pro.uint64vec_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned long long & - - -ida_pro.uint64vec_t.qclear(): - - qclear(self) - - -ida_pro.uint64vec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.uint64vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.uint64vec_t.size(): - - size(self) -> size_t - - -ida_pro.uint64vec_t.swap(): - - swap(self, r) - - -ida_pro.uint64vec_t.truncate(): - - truncate(self) - - -class ida_pro.uintvec_t(): - - Proxy of C++ qvector<(unsigned int)> class - - -ida_pro.uintvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.uintvec_t.append(): - - push_back(self, x) - push_back(self) -> unsigned int & - - -ida_pro.uintvec_t.at(): - - __getitem__(self, i) -> unsigned int const & - - -ida_pro.uintvec_t.begin(): - - begin(self) -> qvector< unsigned int >::iterator - begin(self) -> qvector< unsigned int >::const_iterator - - -ida_pro.uintvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.uintvec_t.clear(): - - clear(self) - - -ida_pro.uintvec_t.empty(): - - empty(self) -> bool - - -ida_pro.uintvec_t.end(): - - end(self) -> qvector< unsigned int >::iterator - end(self) -> qvector< unsigned int >::const_iterator - - -ida_pro.uintvec_t.erase(): - - erase(self, it) -> qvector< unsigned int >::iterator - erase(self, first, last) -> qvector< unsigned int >::iterator - - -ida_pro.uintvec_t.extract(): - - extract(self) -> unsigned int * - - -ida_pro.uintvec_t.find(): - - find(self, x) -> qvector< unsigned int >::iterator - find(self, x) -> qvector< unsigned int >::const_iterator - - -ida_pro.uintvec_t.has(): - - has(self, x) -> bool - - -ida_pro.uintvec_t.inject(): - - inject(self, s, len) - - -ida_pro.uintvec_t.insert(): - - insert(self, it, x) -> qvector< unsigned int >::iterator - - -ida_pro.uintvec_t.pop_back(): - - pop_back(self) - - -ida_pro.uintvec_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned int & - - -ida_pro.uintvec_t.qclear(): - - qclear(self) - - -ida_pro.uintvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.uintvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.uintvec_t.size(): - - size(self) -> size_t - - -ida_pro.uintvec_t.swap(): - - swap(self, r) - - -ida_pro.uintvec_t.truncate(): - - truncate(self) - - -class ida_pro.ulonglongvec_t(): - - Proxy of C++ qvector<(unsigned long long)> class - - -ida_pro.ulonglongvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.ulonglongvec_t.append(): - - push_back(self, x) - push_back(self) -> unsigned long long & - - -ida_pro.ulonglongvec_t.at(): - - __getitem__(self, i) -> unsigned long long const & - - -ida_pro.ulonglongvec_t.begin(): - - begin(self) -> qvector< unsigned long long >::iterator - begin(self) -> qvector< unsigned long long >::const_iterator - - -ida_pro.ulonglongvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.ulonglongvec_t.clear(): - - clear(self) - - -ida_pro.ulonglongvec_t.empty(): - - empty(self) -> bool - - -ida_pro.ulonglongvec_t.end(): - - end(self) -> qvector< unsigned long long >::iterator - end(self) -> qvector< unsigned long long >::const_iterator - - -ida_pro.ulonglongvec_t.erase(): - - erase(self, it) -> qvector< unsigned long long >::iterator - erase(self, first, last) -> qvector< unsigned long long >::iterator - - -ida_pro.ulonglongvec_t.extract(): - - extract(self) -> unsigned long long * - - -ida_pro.ulonglongvec_t.find(): - - find(self, x) -> qvector< unsigned long long >::iterator - find(self, x) -> qvector< unsigned long long >::const_iterator - - -ida_pro.ulonglongvec_t.has(): - - has(self, x) -> bool - - -ida_pro.ulonglongvec_t.inject(): - - inject(self, s, len) - - -ida_pro.ulonglongvec_t.insert(): - - insert(self, it, x) -> qvector< unsigned long long >::iterator - - -ida_pro.ulonglongvec_t.pop_back(): - - pop_back(self) - - -ida_pro.ulonglongvec_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned long long & - - -ida_pro.ulonglongvec_t.qclear(): - - qclear(self) - - -ida_pro.ulonglongvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.ulonglongvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.ulonglongvec_t.size(): - - size(self) -> size_t - - -ida_pro.ulonglongvec_t.swap(): - - swap(self, r) - - -ida_pro.ulonglongvec_t.truncate(): - - truncate(self) - - -class ida_pro.uval_array(): - - Proxy of C++ uval_array class - - -ida_pro.uval_array.cast(): - - cast(self) -> uval_t * - - -ida_pro.uval_array.frompointer(): - - frompointer(t) -> uval_array - - -ida_pro.uval_array_frompointer(): - - uval_array_frompointer(t) -> uval_array - - -class ida_pro.uvalvec_t(): - - Proxy of C++ qvector<(unsigned-ea-like-numeric-type)> class - - -ida_pro.uvalvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.uvalvec_t.append(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_pro.uvalvec_t.at(): - - __getitem__(self, i) -> unsigned-ea-like-numeric-type & - - -ida_pro.uvalvec_t.begin(): - - begin(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - begin(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.uvalvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.uvalvec_t.clear(): - - clear(self) - - -ida_pro.uvalvec_t.empty(): - - empty(self) -> bool - - -ida_pro.uvalvec_t.end(): - - end(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - end(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.uvalvec_t.erase(): - - erase(self, it) -> qvector< unsigned-ea-like-numeric-type >::iterator - erase(self, first, last) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_pro.uvalvec_t.extract(): - - extract(self) -> unsigned-ea-like-numeric-type * - - -ida_pro.uvalvec_t.find(): - - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.uvalvec_t.has(): - - has(self, x) -> bool - - -ida_pro.uvalvec_t.inject(): - - inject(self, s, len) - - -ida_pro.uvalvec_t.insert(): - - insert(self, it, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_pro.uvalvec_t.pop_back(): - - pop_back(self) - - -ida_pro.uvalvec_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_pro.uvalvec_t.qclear(): - - qclear(self) - - -ida_pro.uvalvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.uvalvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.uvalvec_t.size(): - - size(self) -> size_t - - -ida_pro.uvalvec_t.swap(): - - swap(self, r) - - -ida_pro.uvalvec_t.truncate(): - - truncate(self) - - -ida_pro.writebytes(): - - writebytes(h, l, size, mf) -> int - - - Write at most 4 bytes to file. - - @param h: file handle (C++: int) - @param l: value to write (C++: uint32) - @param size: size of value in bytes (1,2,4) (C++: int) - @param mf: is MSB first? (C++: bool) - @return: 0 on success, nonzero otherwise - - - -=== ida_pro EPYDOC INJECTIONS === -ida_pro.CP_UTF16 -""" -UTF-16 codepage. -""" - -ida_pro.IDA_SDK_VERSION -""" -IDA SDK v7.3. -""" - -ida_pro.IDBDEC_ESCAPE -""" -convert non-printable characters to C escapes (, \\xNN, \\uNNNN) -""" - -ida_pro.IOREDIR_APPEND -""" -append, do not overwrite the output file -""" - -ida_pro.IOREDIR_INPUT -""" -input redirection -""" - -ida_pro.IOREDIR_OUTPUT -""" -output redirection -""" - -ida_pro.IOREDIR_QUOTED -""" -the file name was quoted -""" - -ida_pro.MAXSTR -""" -maximum string size -""" - -ida_pro.SUBSTCHAR -""" -default char, used if a char cannot be represented in a codepage -""" - -ida_pro.__MF__ -""" -byte sex of our platform (Most significant byte First). 0: little -endian (Intel 80x86). 1: big endian (PowerPC). -""" -=== ida_pro EPYDOC INJECTIONS END === -ida_problems.forget_problem(): - - forget_problem(type, ea) -> bool - - - Remove an address from a problem list - - @param type: problem list type (C++: problist_id_t) - @param ea: linear address (C++: ea_t) - @return: success - - -ida_problems.get_problem(): - - get_problem(type, lowea) -> ea_t - - - Get an address from the specified problem list. The address is not - removed from the list. - - @param type: problem list type (C++: problist_id_t) - @param lowea: the returned address will be higher or equal than the - specified address (C++: ea_t) - @return: linear address or BADADDR - - -ida_problems.get_problem_desc(): - - get_problem_desc(t, ea) -> ssize_t - - - Get the human-friendly description of the problem, if one was provided - to remember_problem. - - @param t: problem list type. (C++: problist_id_t) - @param ea: linear address. (C++: ea_t) - @return: the message length or -1 if none - - -ida_problems.get_problem_name(): - - get_problem_name(type, longname=True) -> char const * - - - Get problem list description. - - - @param type (C++: problist_id_t) - @param longname (C++: bool) - - -ida_problems.is_problem_present(): - - 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) - - -ida_problems.remember_problem(): - - 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: problem list type (C++: problist_id_t) - @param ea: linear address (C++: ea_t) - @param msg: a user-friendly message to be displayed instead of the - default more generic one associated with the type of - problem. Defaults to NULL. (C++: const char *) - - -ida_problems.was_ida_decision(): - - was_ida_decision(ea) -> bool - - -class ida_range.array_of_rangesets(): - - Proxy of C++ qvector<(rangeset_t)> class - - -ida_range.array_of_rangesets.add_unique(): - - add_unique(self, x) -> bool - - -ida_range.array_of_rangesets.at(): - - at(self, _idx) -> rangeset_t - - -ida_range.array_of_rangesets.begin(): - - begin(self) -> rangeset_t - begin(self) -> rangeset_t - - -ida_range.array_of_rangesets.capacity(): - - capacity(self) -> size_t - - -ida_range.array_of_rangesets.clear(): - - clear(self) - - -ida_range.array_of_rangesets.empty(): - - empty(self) -> bool - - -ida_range.array_of_rangesets.end(): - - end(self) -> rangeset_t - end(self) -> rangeset_t - - -ida_range.array_of_rangesets.erase(): - - erase(self, it) -> rangeset_t - erase(self, first, last) -> rangeset_t - - -ida_range.array_of_rangesets.extract(): - - extract(self) -> rangeset_t - - -ida_range.array_of_rangesets.find(): - - find(self, x) -> rangeset_t - find(self, x) -> rangeset_t - - -ida_range.array_of_rangesets.grow(): - - grow(self, x=rangeset_t()) - - -ida_range.array_of_rangesets.has(): - - has(self, x) -> bool - - -ida_range.array_of_rangesets.inject(): - - inject(self, s, len) - - -ida_range.array_of_rangesets.insert(): - - insert(self, it, x) -> rangeset_t - - -ida_range.array_of_rangesets.pop_back(): - - pop_back(self) - - -ida_range.array_of_rangesets.push_back(): - - push_back(self, x) - push_back(self) -> rangeset_t - - -ida_range.array_of_rangesets.qclear(): - - qclear(self) - - -ida_range.array_of_rangesets.reserve(): - - reserve(self, cnt) - - -ida_range.array_of_rangesets.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_range.array_of_rangesets.size(): - - size(self) -> size_t - - -ida_range.array_of_rangesets.swap(): - - swap(self, r) - - -ida_range.array_of_rangesets.truncate(): - - truncate(self) - - -class ida_range.range_t(): - - Proxy of C++ range_t class - - -ida_range.range_t._print(): - - _print(self) -> size_t - - -ida_range.range_t.clear(): - - clear(self) - - -ida_range.range_t.compare(): - - compare(self, r) -> int - - -ida_range.range_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_range.range_t.empty(): - - empty(self) -> bool - - -ida_range.range_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_range.range_t.extend(): - - extend(self, ea) - - -ida_range.range_t.intersect(): - - intersect(self, r) - - -ida_range.range_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_range.range_t.size(): - - size(self) -> asize_t - - -ida_range.range_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_range.range_t_print(): - - range_t_print(cb) -> size_t - - - Helper function. Should not be called directly! - - -class ida_range.rangeset_t(): - - Proxy of C++ rangeset_t class - - -ida_range.rangeset_t._print(): - - _print(self) -> size_t - - -ida_range.rangeset_t.add(): - - add(self, range) -> bool - add(self, start, _end) -> bool - add(self, aset) -> bool - - -ida_range.rangeset_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_range.rangeset_t.cached_range(): - - cached_range(self) -> range_t - - -ida_range.rangeset_t.clear(): - - clear(self) - - -ida_range.rangeset_t.contains(): - - contains(self, ea) -> bool - contains(self, aset) -> bool - - -ida_range.rangeset_t.empty(): - - empty(self) -> bool - - -ida_range.rangeset_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_range.rangeset_t.find_range(): - - find_range(self, ea) -> range_t - - -ida_range.rangeset_t.getrange(): - - getrange(self, idx) -> range_t - - -ida_range.rangeset_t.has_common(): - - has_common(self, range) -> bool - has_common(self, aset) -> bool - - -ida_range.rangeset_t.includes(): - - includes(self, range) -> bool - - -ida_range.rangeset_t.intersect(): - - intersect(self, aset) -> bool - - -ida_range.rangeset_t.is_equal(): - - is_equal(self, aset) -> bool - - -ida_range.rangeset_t.is_subset_of(): - - is_subset_of(self, aset) -> bool - - -ida_range.rangeset_t.lastrange(): - - lastrange(self) -> range_t - - -ida_range.rangeset_t.next_addr(): - - next_addr(self, ea) -> ea_t - - -ida_range.rangeset_t.next_range(): - - next_range(self, ea) -> ea_t - - -ida_range.rangeset_t.nranges(): - - nranges(self) -> size_t - - -ida_range.rangeset_t.prev_addr(): - - prev_addr(self, ea) -> ea_t - - -ida_range.rangeset_t.prev_range(): - - prev_range(self, ea) -> ea_t - - -ida_range.rangeset_t.sub(): - - sub(self, range) -> bool - sub(self, ea) -> bool - sub(self, aset) -> bool - - -ida_range.rangeset_t.swap(): - - swap(self, r) - - -class ida_range.rangevec_base_t(): - - Proxy of C++ qvector<(range_t)> class - - -ida_range.rangevec_base_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_range.rangevec_base_t.at(): - - at(self, _idx) -> range_t - - -ida_range.rangevec_base_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_range.rangevec_base_t.capacity(): - - capacity(self) -> size_t - - -ida_range.rangevec_base_t.clear(): - - clear(self) - - -ida_range.rangevec_base_t.empty(): - - empty(self) -> bool - - -ida_range.rangevec_base_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_range.rangevec_base_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_range.rangevec_base_t.extract(): - - extract(self) -> range_t - - -ida_range.rangevec_base_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_range.rangevec_base_t.grow(): - - grow(self, x=range_t()) - - -ida_range.rangevec_base_t.has(): - - has(self, x) -> bool - - -ida_range.rangevec_base_t.inject(): - - inject(self, s, len) - - -ida_range.rangevec_base_t.insert(): - - insert(self, it, x) -> range_t - - -ida_range.rangevec_base_t.pop_back(): - - pop_back(self) - - -ida_range.rangevec_base_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_range.rangevec_base_t.qclear(): - - qclear(self) - - -ida_range.rangevec_base_t.reserve(): - - reserve(self, cnt) - - -ida_range.rangevec_base_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_range.rangevec_base_t.size(): - - size(self) -> size_t - - -ida_range.rangevec_base_t.swap(): - - swap(self, r) - - -ida_range.rangevec_base_t.truncate(): - - truncate(self) - - -class ida_range.rangevec_t(): - - Proxy of C++ rangevec_t class - - -ida_range.rangevec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_range.rangevec_t.at(): - - at(self, _idx) -> range_t - - -ida_range.rangevec_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_range.rangevec_t.capacity(): - - capacity(self) -> size_t - - -ida_range.rangevec_t.clear(): - - clear(self) - - -ida_range.rangevec_t.empty(): - - empty(self) -> bool - - -ida_range.rangevec_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_range.rangevec_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_range.rangevec_t.extract(): - - extract(self) -> range_t - - -ida_range.rangevec_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_range.rangevec_t.grow(): - - grow(self, x=range_t()) - - -ida_range.rangevec_t.has(): - - has(self, x) -> bool - - -ida_range.rangevec_t.inject(): - - inject(self, s, len) - - -ida_range.rangevec_t.insert(): - - insert(self, it, x) -> range_t - - -ida_range.rangevec_t.pop_back(): - - pop_back(self) - - -ida_range.rangevec_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_range.rangevec_t.qclear(): - - qclear(self) - - -ida_range.rangevec_t.reserve(): - - reserve(self, cnt) - - -ida_range.rangevec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_range.rangevec_t.size(): - - size(self) -> size_t - - -ida_range.rangevec_t.swap(): - - swap(self, r) - - -ida_range.rangevec_t.truncate(): - - truncate(self) - - -ida_registry.reg_data_type(): - - reg_data_type(name, subkey=None) -> regval_type_t - - - Get data type of a given value. - - @param name: value name (C++: const char *) - @param subkey: key name (C++: const char *) - @return: false if the [key+]value doesn't exist - - -ida_registry.reg_delete(): - - reg_delete(name, subkey=None) -> bool - - - Delete a value from the registry. - - @param name: value name (C++: const char *) - @param subkey: parent key (C++: const char *) - @return: success - - -ida_registry.reg_delete_subkey(): - - reg_delete_subkey(name) -> bool - - - Delete a key from the registry. - - - @param name (C++: const char *) - - -ida_registry.reg_delete_tree(): - - reg_delete_tree(name) -> bool - - - Delete a subtree from the registry. - - - @param name (C++: const char *) - - -ida_registry.reg_exists(): - - reg_exists(name, subkey=None) -> bool - - - Is there already a value with the given name? - - @param name: value name (C++: const char *) - @param subkey: parent key (C++: const char *) - - -ida_registry.reg_flush(): - - reg_flush() - - -ida_registry.reg_load(): - - reg_load() - - -ida_registry.reg_read_binary(): - - reg_read_binary(name, subkey=None) -> PyObject * - - - Read binary data from the registry. - - @param name: value name (C++: const char *) - @param subkey: key name (C++: const char *) - @return: false if 'data' is not large enough to hold all data present. - in this case 'data' is left untouched. - - -ida_registry.reg_read_bool(): - - reg_read_bool(name, defval, subkey=None) -> bool - - - Read boolean value from the registry. - - @param name: value name (C++: const char *) - @param defval: default value (C++: bool) - @param subkey: key name (C++: const char *) - @return: boolean read from registry, or 'defval' if the read failed - - -ida_registry.reg_read_int(): - - reg_read_int(name, defval, subkey=None) -> int - - - Read integer value from the registry. - - @param name: value name (C++: const char *) - @param defval: default value (C++: int) - @param subkey: key name (C++: const char *) - @return: the value read from the registry, or 'defval' if the read - failed - - -ida_registry.reg_read_string(): - - reg_read_string(name, subkey=None, _def=None) -> PyObject * - - - Read a string from the registry. - - @param name: value name (C++: const char *) - @param subkey: key name (C++: const char *) - @return: success - - -ida_registry.reg_read_strlist(): - - reg_read_strlist(subkey) - - - Retrieve all string values associated with the given key. Also see - 'reg_update_strlist()' . - - @param subkey (C++: const char *) - - -ida_registry.reg_subkey_exists(): - - reg_subkey_exists(name) -> bool - - - Is there already a key with the given name? - - - @param name (C++: const char *) - - -ida_registry.reg_subkey_subkeys(): - - reg_subkey_subkeys(name) -> PyObject * - - - Get all subkey names of given key. - - - @param name (C++: const char *) - - -ida_registry.reg_subkey_values(): - - reg_subkey_values(name) -> PyObject * - - - Get all value names under given key. - - - @param name (C++: const char *) - - -ida_registry.reg_update_filestrlist(): - - reg_update_filestrlist(subkey, add, maxrecs, rem=None) - - - Update registry with a file list. Case sensitivity will vary depending - on the target OS.'add' and 'rem' must be UTF-8, just like for regular - string operations. - - @param subkey (C++: const char *) - @param add (C++: const char *) - @param maxrecs (C++: size_t) - @param rem (C++: const char *) - - -ida_registry.reg_update_strlist(): - - reg_update_strlist(subkey, add, maxrecs, rem=None, ignorecase=False) - - - Update list of strings associated with given key. - - @param subkey: key name (C++: const char *) - @param add: string to be added to list, can be NULL (C++: const char - *) - @param maxrecs: limit list to this size (C++: size_t) - @param rem: string to be removed from list, can be NULL (C++: const - char *) - @param ignorecase: ignore case for 'add' and 'rem' (C++: bool) - - -ida_registry.reg_write_binary(): - - reg_write_binary(name, py_bytes, subkey=None) - - - Write binary data to the registry. - - @param name: value name (C++: const char *) - @param subkey: key name (C++: const char *) - - -ida_registry.reg_write_bool(): - - reg_write_bool(name, value, subkey=None) - - - Write boolean value to the registry. - - @param name: value name (C++: const char *) - @param value: boolean to write (nonzero = true) (C++: int) - @param subkey: key name (C++: const char *) - - -ida_registry.reg_write_int(): - - reg_write_int(name, value, subkey=None) - - - Write integer value to the registry. - - @param name: value name (C++: const char *) - @param value: value to write (C++: int) - @param subkey: key name (C++: const char *) - - -ida_registry.reg_write_string(): - - reg_write_string(name, utf8, subkey=None) - - - Write a string to the registry. - - @param name: value name (C++: const char *) - @param utf8: utf8-encoded string (C++: const char *) - @param subkey: key name (C++: const char *) - - - -=== ida_registry EPYDOC INJECTIONS === -ida_registry.ROOT_KEY_NAME -""" -Key used to store IDA settings in registry (Windows version).this name -is automatically prepended to all key names passed to functions in -this file. -""" -=== ida_registry EPYDOC INJECTIONS END === -ida_search.find_binary(): - - find_binary(arg1, arg2, arg3, arg4, arg5) -> ea_t - - -ida_search.find_code(): - - find_code(ea, sflag) -> ea_t - - - Find next code address. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.find_data(): - - find_data(ea, sflag) -> ea_t - - - Find next data address. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.find_defined(): - - 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) - - -ida_search.find_error(): - - find_error(ea, sflag) -> ea_t - - - Find next error or problem. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.find_imm(): - - find_imm(newEA, sflag, srchValue) -> ea_t - - - Find next immediate operand with the given value. - - - @param newEA (C++: ea_t) - @param sflag (C++: int) - @param srchValue (C++: uval_t) - - -ida_search.find_not_func(): - - 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) - - -ida_search.find_notype(): - - find_notype(ea, sflag) -> ea_t - - - Find next operand without any type info. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.find_suspop(): - - find_suspop(ea, sflag) -> ea_t - - - Find next suspicious operand. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.find_text(): - - 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 *) - @param sflag (C++: int) - - -ida_search.find_unknown(): - - find_unknown(ea, sflag) -> ea_t - - - Find next unexplored address. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.search_down(): - - search_down(sflag) -> bool - - - Is the 'SEARCH_DOWN' bit set? - - - @param sflag (C++: int) - - - -=== ida_search EPYDOC INJECTIONS === -ida_search.SEARCH_BRK -""" -return 'BADADDR' if Ctrl-Break wass pressed during search -""" - -ida_search.SEARCH_CASE -""" -case-sensitive search (case-insensitive otherwise) -""" - -ida_search.SEARCH_DOWN -""" -search towards higher addresses -""" - -ida_search.SEARCH_IDENT -""" -search for an identifier (text search). it means that the characters -before and after the match cannot be is_visible_char(). -""" - -ida_search.SEARCH_NEXT -""" -for other find_.. functions it is implicitly set - -useful only for 'search()' and find_binary(). -""" - -ida_search.SEARCH_NOBRK -""" -don't test for ctrl-break to interrupt the search -""" - -ida_search.SEARCH_NOSHOW -""" -don't display the search progress/refresh screen -""" - -ida_search.SEARCH_REGEX -""" -regular expressions in search string (only supported for txt search) -""" - -ida_search.SEARCH_UP -""" -search towards lower addresses -""" -=== ida_search EPYDOC INJECTIONS END === -ida_segment.add_segm(): - - 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: segment base paragraph. if paragraph can't fit in 16bit, - then a new selector is allocated and mapped to the - paragraph. (C++: ea_t) - @param start: start address of the segment. if start== BADADDR then - start <- to_ea(para,0). (C++: ea_t) - @param end: end address of the segment. end address should be higher - than start address. For emulate empty segments, use - SEG_NULL segment type. If the end address is lower than - start address, then fail. If end== BADADDR , then a - segment up to the next segment will be created (if the - next segment doesn't exist, then 1 byte segment will be - created). If 'end' is too high and the new segment would - overlap the next segment, 'end' is adjusted properly. - (C++: ea_t) - @param name: name of new segment. may be NULL (C++: const char *) - @param sclass: class of the segment. may be NULL. type of the new - segment is modified if class is one of predefined - names: "CODE" -> SEG_CODE "DATA" -> SEG_DATA - "CONST" -> SEG_DATA "STACK" -> SEG_BSS "BSS" -> - SEG_BSS "XTRN" -> SEG_XTRN "COMM" -> SEG_COMM - "ABS" -> SEG_ABSSYM (C++: const char *) - @param flags (C++: int) - - -ida_segment.add_segm_ex(): - - add_segm_ex(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 s: pointer to filled segment structure. segment selector should - have proper mapping (see set_selector() ). if - s.start_ea== BADADDR then s.start_ea <- get_segm_base(&s) - if s.end_ea== BADADDR , then a segment up to the next - segment will be created (if the next segment doesn't exist, - then 1 byte segment will be created). if the s.end_ea < - s.start_ea, then fail. if s.end_ea is too high and the new - segment would overlap the next segment, s.end_ea is adjusted - properly. (C++: segment_t *) - @param name: name of new segment. may be NULL. if specified, the - segment is immediately renamed (C++: const char *) - @param sclass: class of the segment. may be NULL. if specified, the - segment class is immediately changed (C++: const char - *) - @param flags: Add segment flags (C++: int) - - -ida_segment.add_segment_translation(): - - add_segment_translation(segstart, mappedseg) -> bool - - - Add segment translation. - - @param segstart: start address of the segment to add translation to - (C++: ea_t) - @param mappedseg: start address of the overlayed segment (C++: ea_t) - - -ida_segment.allocate_selector(): - - 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: a new segment base paragraph (C++: ea_t) - @return: the allocated selector number - - -ida_segment.change_segment_status(): - - 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: segment to modify (C++: segment_t *) - @param is_deb_segm: new status of the segment (C++: bool) - @return: Change segment status result codes - - -ida_segment.del_segm(): - - del_segm(ea, flags) -> bool - - - Delete a segment. - - @param ea: any address belonging to the segment (C++: ea_t) - @param flags: Segment modification flags (C++: int) - - -ida_segment.del_segment_translations(): - - del_segment_translations(segstart) - - - Delete the translation list - - @param segstart: start address of the segment to delete translation - list (C++: ea_t) - - -ida_segment.del_selector(): - - 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: number of selector to remove from the translation - table (C++: sel_t) - - -ida_segment.find_free_selector(): - - find_free_selector() -> sel_t - - - Find first unused selector. - - @return: a number >= 1 - - -ida_segment.find_selector(): - - find_selector(base) -> sel_t - - - Find a selector that has mapping to the specified paragraph. - - @param base: paragraph to search in the translation table (C++: ea_t) - @return: selector value or base - - -ida_segment.get_defsr(): - - get_defsr(s, reg) -> sel_t - - -ida_segment.get_first_seg(): - - get_first_seg() -> segment_t - - - Get pointer to the first segment. - - -ida_segment.get_group_selector(): - - get_group_selector(grpsel) -> sel_t - - - Get common selector for a group of segments. - - @param grpsel: selector of group segment (C++: sel_t) - @return: common selector of the group or 'grpsel' if no such group is - found - - -ida_segment.get_last_seg(): - - get_last_seg() -> segment_t - - - Get pointer to the last segment. - - -ida_segment.get_next_seg(): - - get_next_seg(ea) -> segment_t - - - Get pointer to the next segment. - - - @param ea (C++: ea_t) - - -ida_segment.get_prev_seg(): - - get_prev_seg(ea) -> segment_t - - - Get pointer to the previous segment. - - - @param ea (C++: ea_t) - - -ida_segment.get_segm_base(): - - 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: pointer to segment (C++: const segment_t *) - @return: 0 if s == NULL, otherwise segment base linear address - - -ida_segment.get_segm_by_name(): - - 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: segment name. may be NULL. (C++: const char *) - @return: NULL or pointer to segment structure - - -ida_segment.get_segm_by_sel(): - - 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: a segment with the specified selector will be - returned (C++: sel_t) - @return: pointer to segment or NULL - - -ida_segment.get_segm_class(): - - get_segm_class(s) -> ssize_t - - - Get segment class. Segment class is arbitrary text (max 8 characters). - - @param s: pointer to segment (C++: const segment_t *) - @return: size of segment class (-1 if s==NULL or bufsize<=0) - - -ida_segment.get_segm_name(): - - get_segm_name(s, flags=0) -> ssize_t - - - Get true segment name by pointer to segment. - - @param s: pointer to segment (C++: const segment_t *) - @param flags: 0-return name as is; 1-substitute bad symbols with _ 1 - corresponds to GN_VISIBLE (C++: int) - @return: size of segment name (-1 if s==NULL) - - -ida_segment.get_segm_num(): - - get_segm_num(ea) -> int - - - Get number of segment by address. - - @param ea: linear address belonging to the segment (C++: ea_t) - @return: -1 if no segment occupies the specified address. otherwise - returns number of the specified segment (0.. get_segm_qty() - -1) - - -ida_segment.get_segm_para(): - - 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: pointer to segment (C++: const segment_t *) - @return: 0 if s == NULL, the segment base paragraph - - -ida_segment.get_segm_qty(): - - get_segm_qty() -> int - - - Get number of segments. - - -ida_segment.get_segment_alignment(): - - get_segment_alignment(align) -> char const * - - - Get text representation of segment alignment code. - - @param align (C++: uchar) - @return: text digestable by IBM PC assembler. - - -ida_segment.get_segment_cmt(): - - get_segment_cmt(s, repeatable) -> ssize_t - - - Get segment comment. - - @param s: pointer to segment structure (C++: const segment_t *) - @param repeatable: 0: get regular comment. 1: get repeatable comment. - (C++: bool) - @return: size of comment or -1 - - -ida_segment.get_segment_combination(): - - get_segment_combination(comb) -> char const * - - - Get text representation of segment combination code. - - @param comb (C++: uchar) - @return: text digestable by IBM PC assembler. - - -ida_segment.get_segment_translations(): - - get_segment_translations(transmap, segstart) -> ssize_t - - - Get segment translation list. - - @param transmap: vector of segment start addresses for the translation - list (C++: eavec_t *) - @param segstart: start address of the segment to get information about - (C++: ea_t) - @return: -1 if no translation list or bad segstart. otherwise returns - size of translation list. - - -ida_segment.get_selector_qty(): - - get_selector_qty() -> int - - - Get number of defined selectors. - - -ida_segment.get_visible_segm_name(): - - get_visible_segm_name(s) -> ssize_t - - - Get segment name by pointer to segment. - - @param s: pointer to segment (C++: const segment_t *) - @return: size of segment name (-1 if s==NULL) - - -ida_segment.getn_selector(): - - getn_selector(n) -> bool - - - Get description of selector (0.. 'get_selector_qty()' -1) - - - @param n (C++: int) - - -ida_segment.getnseg(): - - getnseg(n) -> segment_t - - - Get pointer to segment by its number.Obsoleted because it can slow - down the debugger (it has to refresh the whole memory segmentation to - calculate the correct answer) - - @param n: segment number in the range (0.. get_segm_qty() -1) (C++: - int) - @return: NULL or pointer to segment structure - - -ida_segment.getseg(): - - getseg(ea) -> segment_t - - - Get pointer to segment by linear address. - - @param ea: linear address belonging to the segment (C++: ea_t) - @return: NULL or pointer to segment structure - - -ida_segment.is_finally_visible_segm(): - - is_finally_visible_segm(s) -> bool - - - See 'SFL_HIDDEN' , 'SCF_SHHID_SEGM' . - - - @param s (C++: segment_t *) - - -ida_segment.is_miniidb(): - - is_miniidb() -> bool - - - Is the database a miniidb created by the debugger?. - - @return: true if the database contains no segments or only debugger - segments - - -ida_segment.is_segm_locked(): - - is_segm_locked(segm) -> bool - - - Is a segment pointer locked? - - - @param segm (C++: const segment_t *) - - -ida_segment.is_spec_ea(): - - 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: linear address (C++: ea_t) - - -ida_segment.is_spec_segm(): - - is_spec_segm(seg_type) -> bool - - - Has segment a special type?. ( 'SEG_XTRN' , 'SEG_GRP' , 'SEG_ABSSYM' , - 'SEG_COMM' ) - - @param seg_type (C++: uchar) - - -ida_segment.is_visible_segm(): - - is_visible_segm(s) -> bool - - - See 'SFL_HIDDEN' . - - - @param s (C++: segment_t *) - - -ida_segment.lock_segm(): - - 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 *) - @param lock (C++: bool) - - -class ida_segment.lock_segment(): - - Proxy of C++ lock_segment class - - -ida_segment.move_segm(): - - move_segm(s, to, flags=0) -> int - - - 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. 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: segment to move (C++: segment_t *) - @param to: new segment start address (C++: ea_t) - @param flags: Move segment flags (C++: int) - @return: Move segment result codes - - -ida_segment.move_segm_start(): - - 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.this function never disables addresses. - - @param ea: any address belonging to the segment (C++: ea_t) - @param newstart: new start address of the segment note that segment - start address should be higher than segment base - linear address. (C++: ea_t) - @param mode: 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) (C++: int) - - -ida_segment.rebase_program(): - - rebase_program(delta, flags) -> int - - - Rebase the whole program by 'delta' bytes. - - @param delta: number of bytes to move the program (C++: adiff_t) - @param flags: Move segment flags it is recommended to use - MSF_FIXONCE so that the loader takes care of global - variables it stored in the database (C++: int) - @return: Move segment result codes - - -ida_segment.segm_adjust_diff(): - - segm_adjust_diff(s, delta) -> adiff_t - - - Truncate and sign extend a delta depending on the segment. - - - @param s (C++: const segment_t *) - @param delta (C++: adiff_t) - - -ida_segment.segm_adjust_ea(): - - segm_adjust_ea(s, ea) -> ea_t - - - Truncate an address depending on the segment. - - - @param s (C++: const segment_t *) - @param ea (C++: ea_t) - - -class ida_segment.segment_t(): - - Proxy of C++ segment_t class - - -ida_segment.segment_t._print(): - - _print(self) -> size_t - - -ida_segment.segment_t.abits(): - - abits(self) -> int - - -ida_segment.segment_t.abytes(): - - abytes(self) -> int - - -ida_segment.segment_t.align: - segment_t_align_get(self) -> uchar - -ida_segment.segment_t.bitness: - segment_t_bitness_get(self) -> uchar - -ida_segment.segment_t.clear(): - - clear(self) - - -ida_segment.segment_t.clr_comorg(): - - clr_comorg(self) - - -ida_segment.segment_t.clr_ob_ok(): - - clr_ob_ok(self) - - -ida_segment.segment_t.color: - segment_t_color_get(self) -> bgcolor_t - -ida_segment.segment_t.comb: - segment_t_comb_get(self) -> uchar - -ida_segment.segment_t.comorg(): - - comorg(self) -> bool - - -ida_segment.segment_t.compare(): - - compare(self, r) -> int - - -ida_segment.segment_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_segment.segment_t.defsr: - segment_t_defsr_get(self) -> sel_t [16] - -ida_segment.segment_t.empty(): - - empty(self) -> bool - - -ida_segment.segment_t.end_ea: - segment_t_end_ea_get(self) -> ea_t - -ida_segment.segment_t.extend(): - - extend(self, ea) - - -ida_segment.segment_t.flags: - segment_t_flags_get(self) -> ushort - -ida_segment.segment_t.intersect(): - - intersect(self, r) - - -ida_segment.segment_t.is_header_segm(): - - is_header_segm(self) -> bool - - -ida_segment.segment_t.is_hidden_segtype(): - - is_hidden_segtype(self) -> bool - - -ida_segment.segment_t.is_loader_segm(): - - is_loader_segm(self) -> bool - - -ida_segment.segment_t.is_visible_segm(): - - is_visible_segm(self) -> bool - - -ida_segment.segment_t.name: - segment_t_name_get(self) -> uval_t - -ida_segment.segment_t.ob_ok(): - - ob_ok(self) -> bool - - -ida_segment.segment_t.orgbase: - segment_t_orgbase_get(self) -> uval_t - -ida_segment.segment_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_segment.segment_t.perm: - segment_t_perm_get(self) -> uchar - -ida_segment.segment_t.sclass: - segment_t_sclass_get(self) -> uval_t - -ida_segment.segment_t.sel: - segment_t_sel_get(self) -> sel_t - -ida_segment.segment_t.set_comorg(): - - set_comorg(self) - - -ida_segment.segment_t.set_debugger_segm(): - - set_debugger_segm(self, debseg) - - -ida_segment.segment_t.set_header_segm(): - - set_header_segm(self, on) - - -ida_segment.segment_t.set_hidden_segtype(): - - set_hidden_segtype(self, hide) - - -ida_segment.segment_t.set_loader_segm(): - - set_loader_segm(self, ldrseg) - - -ida_segment.segment_t.set_ob_ok(): - - set_ob_ok(self) - - -ida_segment.segment_t.set_visible_segm(): - - set_visible_segm(self, visible) - - -ida_segment.segment_t.size(): - - size(self) -> asize_t - - -ida_segment.segment_t.start_ea: - segment_t_start_ea_get(self) -> ea_t - -ida_segment.segment_t.type: - segment_t_type_get(self) -> uchar - -ida_segment.segment_t.update(): - - update(self) -> bool - - -ida_segment.segment_t.use32(): - - use32(self) -> bool - - -ida_segment.segment_t.use64(): - - use64(self) -> bool - - -ida_segment.segtype(): - - segtype(ea) -> uchar - - - Get segment type. - - @param ea: any linear address within the segment (C++: ea_t) - @return: Segment types , SEG_UNDF if no segment found at 'ea' - - -ida_segment.sel2ea(): - - sel2ea(selector) -> ea_t - - - Get mapping of a selector as a linear address. - - @param selector: number of selector to translate to linear address - (C++: sel_t) - @return: linear address the specified selector is mapped to. if there - is no mapping, returns to_ea(selector,0); - - -ida_segment.sel2para(): - - sel2para(selector) -> ea_t - - - Get mapping of a selector. - - @param selector: number of selector to translate (C++: sel_t) - @return: paragraph the specified selector is mapped to. if there is no - mapping, returns 'selector'. - - -ida_segment.set_defsr(): - - set_defsr(s, reg, value) - - -ida_segment.set_group_selector(): - - set_group_selector(grp, sel) -> int - - - Initialize groups. The kernel calls this function at the start of - work.Create a new group of segments (used OMF files). - - @param grp: 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. (C++: - sel_t) - @param sel: common selector of all segments belonging to the segment - You should create all segments within the group with the - same selector value. (C++: sel_t) - @return: 1 ok - - -ida_segment.set_segm_addressing(): - - 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: pointer to segment (C++: segment_t *) - @param bitness: new addressing mode of segment 2: 64bit segment 1: - 32bit segment 0: 16bit segment (C++: size_t) - @return: success - - -ida_segment.set_segm_base(): - - set_segm_base(s, newbase) -> bool - - - Internal function. - - - @param s (C++: segment_t *) - @param newbase (C++: ea_t) - - -ida_segment.set_segm_class(): - - set_segm_class(s, sclass, flags=0) -> int - - - Set segment class. - - @param s: pointer to segment (may be NULL) (C++: segment_t *) - @param sclass: segment class (may be NULL). 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 . (C++: const char *) - @param flags (C++: int) - - -ida_segment.set_segm_end(): - - 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: any address belonging to the segment (C++: ea_t) - @param newend: new end address of the segment (C++: ea_t) - @param flags: Segment modification flags (C++: int) - - -ida_segment.set_segm_name(): - - 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: pointer to segment (may be NULL) (C++: segment_t *) - @param name: new segment name (C++: const char *) - @param flags: ADDSEG_IDBENC or 0 (C++: int) - - -ida_segment.set_segm_start(): - - 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: any address belonging to the segment (C++: ea_t) - @param newstart: new start address of the segment note that segment - start address should be higher than segment base - linear address. (C++: ea_t) - @param flags: Segment modification flags (C++: int) - - -ida_segment.set_segment_cmt(): - - set_segment_cmt(s, cmt, repeatable) - - - Set segment comment. - - @param s: pointer to segment structure (C++: const segment_t *) - @param cmt: comment string, may be multiline (with ' '). maximal size - is 4096 bytes. Use empty str ("") to delete comment (C++: - const char *) - @param repeatable: 0: set regular comment. 1: set repeatable comment. - (C++: bool) - - -ida_segment.set_segment_translations(): - - set_segment_translations(segstart, transmap) -> bool - - - Set new translation list. - - @param segstart: start address of the segment to add translation to - (C++: ea_t) - @param transmap: vector of segment start addresses for the translation - list. If transmap is empty, the translation list is - deleted. (C++: const eavec_t &) - - -ida_segment.set_selector(): - - set_selector(selector, paragraph) -> int - - - Set mapping of selector to a paragraph. You should call this - functionbeforecreating a segment which uses the selector, otherwise - the creation of the segment will fail. - - @param selector: 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. (C++: sel_t) - @param paragraph: paragraph to map selector (C++: ea_t) - - -ida_segment.set_visible_segm(): - - set_visible_segm(s, visible) - - - See 'SFL_HIDDEN' . - - - @param s (C++: segment_t *) - @param visible (C++: bool) - - -ida_segment.setup_selector(): - - 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: a new segment base paragraph (C++: ea_t) - @return: the allocated selector number - - -ida_segment.std_out_segm_footer(): - - 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 &) - @param seg (C++: segment_t *) - - -ida_segment.take_memory_snapshot(): - - take_memory_snapshot(only_loader_segs) -> bool - - - Take a memory snapshot of the running process. - - @param only_loader_segs: only is_loader_segm() segments will be - affected (C++: bool) - @return: success - - -ida_segment.update_segm(): - - update_segm(s) -> bool - - - -=== ida_segment EPYDOC INJECTIONS === -ida_segment.ADDSEG_FILLGAP -""" -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. -""" - -ida_segment.ADDSEG_IDBENC -""" -non-ASCII bytes will be decoded accordingly - -'name' and 'sclass' are given in the IDB encoding; -""" - -ida_segment.ADDSEG_NOAA -""" -do not mark new segment for auto-analysis -""" - -ida_segment.ADDSEG_NOSREG -""" -(undefine all default segment registers) - -set all default segment register values to 'BADSEL' -""" - -ida_segment.ADDSEG_NOTRUNC -""" -destroy/truncate old segments instead. - -don't truncate the new segment at the beginning of the next segment if -they overlap. -""" - -ida_segment.ADDSEG_OR_DIE -""" - 'qexit()' if can't add a segment -""" - -ida_segment.ADDSEG_QUIET -""" -silent mode, no "Adding segment..." in the messages window -""" - -ida_segment.ADDSEG_SPARSE -""" -use sparse storage method for the new segment -""" - -ida_segment.CSS_BREAK -""" -memory reading process stopped by user -""" - -ida_segment.CSS_NODBG -""" -debugger is not running -""" - -ida_segment.CSS_NOMEM -""" -is too big) - -not enough memory (might be because the segment -""" - -ida_segment.CSS_NORANGE -""" -could not find corresponding memory range -""" - -ida_segment.CSS_OK -""" -ok -""" - -ida_segment.MAX_GROUPS -""" -max number of segment groups -""" - -ida_segment.MAX_SEGM_TRANSLATIONS -""" -max number of segment translations -""" - -ida_segment.MOVE_SEGM_CHUNK -""" -Too many chunks are defined, can't move. -""" - -ida_segment.MOVE_SEGM_DEBUG -""" -Debugger segments cannot be moved. -""" - -ida_segment.MOVE_SEGM_IDP -""" -IDP module forbids moving the segment. -""" - -ida_segment.MOVE_SEGM_LOADER -""" -The segment has been moved but the loader complained. -""" - -ida_segment.MOVE_SEGM_ODD -""" -Cannot move segments by an odd number of bytes. -""" - -ida_segment.MOVE_SEGM_OK -""" -all ok -""" - -ida_segment.MOVE_SEGM_ORPHAN -""" -Orphan bytes hinder segment movement. -""" - -ida_segment.MOVE_SEGM_PARAM -""" -The specified segment does not exist. -""" - -ida_segment.MOVE_SEGM_ROOM -""" -Not enough free room at the target address. -""" - -ida_segment.MSF_FIXONCE -""" -valid for 'rebase_program()' . see 'loader_t::move_segm' . - -call loader only once with the special calling method. -""" - -ida_segment.MSF_LDKEEP -""" -keep the loader in the memory (optimization) -""" - -ida_segment.MSF_NETNODES -""" -valid for 'rebase_program()' - -move netnodes instead of changing inf.netdelta (this is slower) -""" - -ida_segment.MSF_NOFIX -""" -don't call the loader to fix relocations -""" - -ida_segment.MSF_PRIORITY -""" -valid for 'move_segm()' - -loader segments will overwrite any existing debugger segments when -moved. -""" - -ida_segment.MSF_SILENT -""" -don't display a "please wait" box on the screen -""" - -ida_segment.SEGMOD_KEEP -""" -keep information (code & data, etc) -""" - -ida_segment.SEGMOD_KEEP0 -""" -flag for internal use, don't set -""" - -ida_segment.SEGMOD_KEEPSEL -""" -do not try to delete unused selector -""" - -ida_segment.SEGMOD_KILL -""" -disable addresses if segment gets shrinked or deleted -""" - -ida_segment.SEGMOD_NOMOVE -""" -(for 'set_segm_start()' ) - -don't move info from the start of segment to the new start address -""" - -ida_segment.SEGMOD_SILENT -""" -be silent -""" - -ida_segment.SEGMOD_SPARSE -""" -(for 'set_segm_start()' , 'set_segm_end()' ) - -use sparse storage if extending the segment -""" - -ida_segment.SEGPERM_EXEC -""" -Execute. -""" - -ida_segment.SEGPERM_READ -""" -Read. -""" - -ida_segment.SEGPERM_WRITE -""" -Write. -""" - -ida_segment.SEG_ABSSYM -""" -segment with definitions of absolute symbols -""" - -ida_segment.SEG_BSS -""" -uninitialized segment -""" - -ida_segment.SEG_CODE -""" -code segment -""" - -ida_segment.SEG_COMM -""" -segment with communal definitions -""" - -ida_segment.SEG_DATA -""" -data segment -""" - -ida_segment.SEG_GRP -""" -group of segments -""" - -ida_segment.SEG_IMEM -""" -internal processor memory & sfr (8051) -""" - -ida_segment.SEG_IMP -""" -java: implementation segment -""" - -ida_segment.SEG_NORM -""" -unknown type, no assumptions -""" - -ida_segment.SEG_NULL -""" -zero-length segment -""" - -ida_segment.SEG_UNDF -""" -undefined segment type (not used) -""" - -ida_segment.SEG_XTRN -""" -no instructions are allowed - -segment with 'extern' definitions. -""" - -ida_segment.SFL_COMORG -""" -IDP dependent field (IBM PC: if set, ORG directive is not commented -out) -""" - -ida_segment.SFL_DEBUG -""" -Is the segment created for the debugger?. Such segments are temporary -and do not have permanent flags. -""" - -ida_segment.SFL_HEADER -""" -Header segment (do not create offsets to it in the disassembly) -""" - -ida_segment.SFL_HIDDEN -""" -Is the segment hidden? -""" - -ida_segment.SFL_HIDETYPE -""" -Hide segment type (do not print it in the listing) -""" - -ida_segment.SFL_LOADER -""" -Is the segment created by the loader? -""" - -ida_segment.SFL_OBOK -""" -Orgbase is present? (IDP dependent field) -""" - -ida_segment.SREG_NUM -""" -Maximum number of segment registers is 16 (see 'segregs.hpp' ) -""" - -ida_segment.saAbs -""" -Absolute segment. -""" - -ida_segment.saGroup -""" -Segment group. -""" - -ida_segment.saRel1024Bytes -""" -1024 bytes -""" - -ida_segment.saRel128Bytes -""" -128 bytes -""" - -ida_segment.saRel2048Bytes -""" -2048 bytes -""" - -ida_segment.saRel32Bytes -""" -32 bytes -""" - -ida_segment.saRel4K -""" -alignment. It is not supported by LINK. - -This value is used by the PharLap OMF for page (4K) -""" - -ida_segment.saRel512Bytes -""" -512 bytes -""" - -ida_segment.saRel64Bytes -""" -64 bytes -""" - -ida_segment.saRelByte -""" -Relocatable, byte aligned. -""" - -ida_segment.saRelDble -""" -boundary. - -Relocatable, aligned on a double word (4-byte) -""" - -ida_segment.saRelPage -""" -Relocatable, aligned on 256-byte boundary. -""" - -ida_segment.saRelPara -""" -Relocatable, paragraph (16-byte) aligned. -""" - -ida_segment.saRelQword -""" -8 bytes -""" - -ida_segment.saRelWord -""" -Relocatable, word (2-byte) aligned. -""" - -ida_segment.scCommon -""" -Common. Combine by overlay using maximum size. -""" - -ida_segment.scGroup -""" -Segment group. -""" - -ida_segment.scPriv -""" -segment. - -Private. Do not combine with any other program -""" - -ida_segment.scPub -""" -the alignment requirement. - -Public. Combine by appending at an offset that meets -""" - -ida_segment.scPub2 -""" -As defined by Microsoft, same as C=2 (public). -""" - -ida_segment.scPub3 -""" -As defined by Microsoft, same as C=2 (public). -""" - -ida_segment.scStack -""" -byte alignment. - -Stack. Combine as for C=2. This combine type forces -""" -=== ida_segment EPYDOC INJECTIONS END === -ida_segregs.copy_sreg_ranges(): - - copy_sreg_ranges(dst_rg, src_rg, map_selector=False) - - - Duplicate segment register ranges. - - @param dst_rg: number of destination segment register (C++: int) - @param src_rg: copy ranges from (C++: int) - @param map_selector: map selectors to linear addresses using sel2ea() - (C++: bool) - - -ida_segregs.del_sreg_range(): - - 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: start_ea of the deleted range (C++: ea_t) - @param rg: the segment register number (C++: int) - @return: success - - -ida_segregs.get_prev_sreg_range(): - - get_prev_sreg_range(out, ea, rg) -> bool - - - Get segment register range previous to one with address.more efficient - then get_sreg_range(reg, ea-1) - - @param out: segment register range (C++: sreg_range_t *) - @param ea: any linear address in the program (C++: ea_t) - @param rg: the segment register number (C++: int) - @return: success - - -ida_segregs.get_sreg(): - - 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: linear address in the program (C++: ea_t) - @param rg: number of the segment register (C++: int) - @return: value of the segment register, BADSEL if value is unknown. - - -ida_segregs.get_sreg_range(): - - get_sreg_range(out, ea, rg) -> bool - - - Get segment register range by linear address. - - @param out: segment register range (C++: sreg_range_t *) - @param ea: any linear address in the program (C++: ea_t) - @param rg: the segment register number (C++: int) - @return: success - - -ida_segregs.get_sreg_range_num(): - - get_sreg_range_num(ea, rg) -> int - - - Get number of segment register range by address. - - @param ea: any address in the range (C++: ea_t) - @param rg: the segment register number (C++: int) - @return: -1 if no range occupies the specified address. otherwise - returns number of the specified range - (0..get_srranges_qty()-1) - - -ida_segregs.get_sreg_ranges_qty(): - - get_sreg_ranges_qty(rg) -> size_t - - - Get number of segment register ranges. - - @param rg: the segment register number (C++: int) - - -ida_segregs.getn_sreg_range(): - - getn_sreg_range(out, rg, n) -> bool - - - Get segment register range by its number. - - @param out: segment register range (C++: sreg_range_t *) - @param rg: the segment register number (C++: int) - @param n: number of range (0..qty()-1) (C++: int) - @return: success - - -ida_segregs.set_default_dataseg(): - - set_default_dataseg(ds_sel) - - - Set default value of DS register for all segments. - - - @param ds_sel (C++: sel_t) - - -ida_segregs.set_default_sreg_value(): - - set_default_sreg_value(sg, rg, value) -> bool - - - Set default value of a segment register for a segment. - - @param sg: pointer to segment structure if NULL, then set the register - for all segments (C++: segment_t *) - @param rg: number of segment register (C++: int) - @param value: its default value. this value will be used by - get_sreg() if value of the register is unknown at the - specified address. (C++: sel_t) - @return: success - - -ida_segregs.set_sreg_at_next_code(): - - 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: address to start to search for an instruction (C++: ea_t) - @param ea2: the maximal address (C++: ea_t) - @param rg: the segment register number (C++: int) - @param value: the segment register value (C++: sel_t) - - -ida_segregs.split_sreg_range(): - - 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: linear address where the segment register will have a new - value. if ea== BADADDR , nothing to do. (C++: ea_t) - @param rg: the number of the segment register (C++: int) - @param v: the new value of the segment register. If the value is - unknown, you should specify BADSEL . (C++: sel_t) - @param tag: the register info tag. see Segment register range tags - (C++: uchar) - @param silent: if false, display a warning() in the case of failure - (C++: bool) - @return: success - - -class ida_segregs.sreg_range_t(): - - Proxy of C++ sreg_range_t class - - -ida_segregs.sreg_range_t._print(): - - _print(self) -> size_t - - -ida_segregs.sreg_range_t.clear(): - - clear(self) - - -ida_segregs.sreg_range_t.compare(): - - compare(self, r) -> int - - -ida_segregs.sreg_range_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_segregs.sreg_range_t.empty(): - - empty(self) -> bool - - -ida_segregs.sreg_range_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_segregs.sreg_range_t.extend(): - - extend(self, ea) - - -ida_segregs.sreg_range_t.intersect(): - - intersect(self, r) - - -ida_segregs.sreg_range_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_segregs.sreg_range_t.size(): - - size(self) -> asize_t - - -ida_segregs.sreg_range_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_segregs.sreg_range_t.tag: - sreg_range_t_tag_get(self) -> uchar - -ida_segregs.sreg_range_t.val: - sreg_range_t_val_get(self) -> sel_t - - -=== ida_segregs EPYDOC INJECTIONS === -ida_segregs.SR_auto -""" -the value is determined by IDA -""" - -ida_segregs.SR_autostart -""" -used as 'SR_auto' for segment starting address -""" - -ida_segregs.SR_inherit -""" -the value is inherited from the previous range -""" - -ida_segregs.SR_user -""" -the value is specified by the user -""" -=== ida_segregs EPYDOC INJECTIONS END === -ida_strlist.build_strlist(): - - build_strlist() - - - Build the string list. You should initialize options before this call - using the restore_config() or setup_strings_window() methods. - - -ida_strlist.clear_strlist(): - - clear_strlist() - - - Clear the string list. - - -ida_strlist.get_strlist_item(): - - 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) - - -ida_strlist.get_strlist_options(): - - get_strlist_options() -> strwinsetup_t - - - Get access to the static string list options. - - -ida_strlist.get_strlist_qty(): - - get_strlist_qty() -> size_t - - - Get number of elements in the string list. - - -class ida_strlist.string_info_t(): - - Proxy of C++ string_info_t class - - -ida_strlist.string_info_t.ea: - string_info_t_ea_get(self) -> ea_t - -ida_strlist.string_info_t.length: - string_info_t_length_get(self) -> int - -ida_strlist.string_info_t.type: - string_info_t_type_get(self) -> int - -class ida_strlist.strwinsetup_t(): - - Proxy of C++ strwinsetup_t class - - -ida_strlist.strwinsetup_t.display_only_existing_strings: - strwinsetup_t_display_only_existing_strings_get(self) -> uchar - -ida_strlist.strwinsetup_t.ignore_heads: - strwinsetup_t_ignore_heads_get(self) -> uchar - -ida_strlist.strwinsetup_t.is_initialized(): - - is_initialized(self) -> bool - - -ida_strlist.strwinsetup_t.minlen: - strwinsetup_t_minlen_get(self) -> sval_t - -ida_strlist.strwinsetup_t.only_7bit: - strwinsetup_t_only_7bit_get(self) -> uchar - -ida_strlist.strwinsetup_t.strtypes: - - _get_strtypes(self) -> PyObject * - - -ida_struct.add_struc(): - - add_struc(idx, name, is_union=False) -> tid_t - - - Create a structure type. if idx== 'BADADDR' then add as the last idx. - if name==NULL then a name will be generated "struct_%d". - - @param idx (C++: uval_t) - @param name (C++: const char *) - @param is_union (C++: bool) - - -ida_struct.add_struc_member(): - - add_struc_member(sptr, fieldname, offset, flag, mt, nbytes) -> struc_error_t - - - Add member to existing structure. - - @param sptr: structure to modify (C++: struc_t *) - @param fieldname: if NULL, then "anonymous_#" name will be generated - (C++: const char *) - @param offset: BADADDR means add to the end of structure (C++: ea_t) - @param flag: type + representation bits (C++: flags_t) - @param mt: additional info about member type. must be present for - structs, offsets, enums, strings, struct offsets. (C++: - const opinfo_t *) - @param nbytes: if == 0 then the structure will be a varstruct. in this - case the member should be the last member in the - structure (C++: asize_t) - - -ida_struct.del_member_tinfo(): - - del_member_tinfo(sptr, mptr) -> bool - - - Delete tinfo for given member. - - - @param sptr (C++: struc_t *) - @param mptr (C++: member_t *) - - -ida_struct.del_struc(): - - del_struc(sptr) -> bool - - - Delete a structure type. - - - @param sptr (C++: struc_t *) - - -ida_struct.del_struc_member(): - - del_struc_member(sptr, offset) -> bool - - - Delete member at given offset. - - - @param sptr (C++: struc_t *) - @param offset (C++: ea_t) - - -ida_struct.del_struc_members(): - - del_struc_members(sptr, off1, off2) -> int - - - Delete members which occupy range of offsets (off1..off2). - - @param sptr (C++: struc_t *) - @param off1 (C++: ea_t) - @param off2 (C++: ea_t) - @return: number of deleted members or -1 on error - - -ida_struct.expand_struc(): - - expand_struc(sptr, offset, delta, recalc=True) -> bool - - - Expand/Shrink structure type. - - - @param sptr (C++: struc_t *) - @param offset (C++: ea_t) - @param delta (C++: adiff_t) - @param recalc (C++: bool) - - -ida_struct.get_best_fit_member(): - - get_best_fit_member(sptr, offset) -> member_t - - - Get member that is most likely referenced by the specified offset. - Useful for offsets > sizeof(struct). - - @param sptr (C++: const struc_t *) - @param offset (C++: asize_t) - - -ida_struct.get_first_struc_idx(): - - get_first_struc_idx() -> uval_t - - - Get index of first structure. - - @return: BADADDR if no known structures, 0 otherwise - - -ida_struct.get_last_struc_idx(): - - get_last_struc_idx() -> uval_t - - - Get index of last structure. - - @return: BADADDR if no known structures, get_struc_qty() -1 - otherwise - - -ida_struct.get_max_offset(): - - get_max_offset(sptr) -> ea_t - - - For unions: returns number of members, for structs: returns size of - structure. - - - @param sptr (C++: struc_t *) - - -ida_struct.get_member(): - - get_member(sptr, offset) -> member_t - - - Get member at given offset. - - - @param sptr (C++: const struc_t *) - @param offset (C++: asize_t) - - -ida_struct.get_member_by_fullname(): - - get_member_by_fullname(fullname) -> member_t - - - Get a member by its fully qualified name, "struct.field". - - - @param fullname (C++: const char *) - - -ida_struct.get_member_by_id(): - - get_member_by_id(mid) -> member_t - - - Check if the specified member id points to a struct member. - - - @param mid (C++: tid_t) - - -ida_struct.get_member_by_name(): - - get_member_by_name(sptr, membername) -> member_t - - - Get a member by its name, like "field44". - - - @param sptr (C++: const struc_t *) - @param membername (C++: const char *) - - -ida_struct.get_member_cmt(): - - get_member_cmt(mid, repeatable) -> ssize_t - - - Get comment of structure member. - - - @param mid (C++: tid_t) - @param repeatable (C++: bool) - - -ida_struct.get_member_fullname(): - - get_member_fullname(mid) -> ssize_t - - - Get a member's fully qualified name, "struct.field". - - - @param mid (C++: tid_t) - - -ida_struct.get_member_id(): - - get_member_id(sptr, offset) -> tid_t - - - Get member id at given offset. - - - @param sptr (C++: const struc_t *) - @param offset (C++: asize_t) - - -ida_struct.get_member_name(): - - get_member_name(mid) -> ssize_t - - - Get name of structure member. - - - @param mid (C++: tid_t) - - -ida_struct.get_member_size(): - - get_member_size(nonnul_mptr) -> asize_t - - - Get size of structure member. May return 0 for the last member of - varstruct. For union members, returns 'member_t::eoff' . - - -ida_struct.get_member_struc(): - - get_member_struc(fullname) -> struc_t - - - Get containing structure of member by its full name "struct.field". - - - @param fullname (C++: const char *) - - -ida_struct.get_member_tinfo(): - - get_member_tinfo(tif, mptr) -> bool - - - Get tinfo for given member. - - - @param tif (C++: tinfo_t *) - @param mptr (C++: const member_t *) - - -ida_struct.get_next_member_idx(): - - get_next_member_idx(sptr, off) -> ssize_t - - - Get the next member idx, if it does not exist, return -1. - - - @param sptr (C++: const struc_t *) - @param off (C++: asize_t) - - -ida_struct.get_next_struc_idx(): - - get_next_struc_idx(idx) -> uval_t - - - Get next struct index. - - @param idx (C++: uval_t) - @return: BADADDR if resulting index is out of bounds, otherwise idx++ - - -ida_struct.get_or_guess_member_tinfo(): - - get_or_guess_member_tinfo(tif, mptr) -> bool - - - Try to get tinfo for given member - if failed, generate a tinfo using - information about the member id from the disassembly - - @param tif (C++: tinfo_t *) - @param mptr (C++: const member_t *) - - -ida_struct.get_prev_member_idx(): - - get_prev_member_idx(sptr, off) -> ssize_t - - - Get the prev member idx, if it does not exist, return -1. - - - @param sptr (C++: const struc_t *) - @param off (C++: asize_t) - - -ida_struct.get_prev_struc_idx(): - - get_prev_struc_idx(idx) -> uval_t - - - Get previous struct index. - - @param idx (C++: uval_t) - @return: BADADDR if resulting index is negative, otherwise idx - 1 - - -ida_struct.get_sptr(): - - get_sptr(mptr) -> struc_t - - - Get child struct if member is a struct. - - - @param mptr (C++: const member_t *) - - -ida_struct.get_struc(): - - get_struc(id) -> struc_t - - - Get pointer to struct type info. - - - @param id (C++: tid_t) - - -ida_struct.get_struc_by_idx(): - - get_struc_by_idx(idx) -> tid_t - - - Get struct id by struct number. - - - @param idx (C++: uval_t) - - -ida_struct.get_struc_cmt(): - - get_struc_cmt(id, repeatable) -> ssize_t - - - Get struct comment. - - - @param id (C++: tid_t) - @param repeatable (C++: bool) - - -ida_struct.get_struc_first_offset(): - - get_struc_first_offset(sptr) -> ea_t - - - Get offset of first member. - - @param sptr (C++: const struc_t *) - @return: BADADDR if memqty == 0 - - -ida_struct.get_struc_id(): - - get_struc_id(name) -> tid_t - - - Get struct id by name. - - - @param name (C++: const char *) - - -ida_struct.get_struc_idx(): - - get_struc_idx(id) -> uval_t - - - Get internal number of the structure. - - - @param id (C++: tid_t) - - -ida_struct.get_struc_last_offset(): - - get_struc_last_offset(sptr) -> ea_t - - - Get offset of last member. - - @param sptr (C++: const struc_t *) - @return: BADADDR if memqty == 0 - - -ida_struct.get_struc_name(): - - get_struc_name(id) -> ssize_t - - - Get struct name by id. - - - @param id (C++: tid_t) - - -ida_struct.get_struc_next_offset(): - - get_struc_next_offset(sptr, offset) -> ea_t - - - Get offset of member with smallest offset larger than 'offset'. - - @param sptr (C++: const struc_t *) - @param offset (C++: ea_t) - @return: BADADDR if no next offset - - -ida_struct.get_struc_prev_offset(): - - get_struc_prev_offset(sptr, offset) -> ea_t - - - Get offset of member with largest offset less than 'offset'. - - @param sptr (C++: const struc_t *) - @param offset (C++: ea_t) - @return: BADADDR if no prev offset - - -ida_struct.get_struc_qty(): - - get_struc_qty() -> size_t - - - Get number of known structures. - - -ida_struct.get_struc_size(): - - get_struc_size(sptr) -> asize_t - get_struc_size(id) -> asize_t - - - Get struct size (also see 'get_struc_size(tid_t)' ) - - - @param sptr (C++: const struc_t *) - - -ida_struct.is_anonymous_member_name(): - - is_anonymous_member_name(name) -> bool - - - Is member name prefixed with "anonymous"? - - - @param name (C++: const char *) - - -ida_struct.is_dummy_member_name(): - - is_dummy_member_name(name) -> bool - - - Is member name an auto-generated name? - - - @param name (C++: const char *) - - -ida_struct.is_member_id(): - - is_member_id(mid) -> bool - - - Is a member id? - - - @param mid (C++: tid_t) - - -ida_struct.is_special_member(): - - is_special_member(id) -> bool - - - Is a special member with the name beginning with ' '? - - - @param id (C++: tid_t) - - -ida_struct.is_union(): - - is_union(id) -> bool - - - Is a union? - - - @param id (C++: tid_t) - - -ida_struct.is_varmember(): - - is_varmember(mptr) -> bool - - - Is variable size member? - - - @param mptr (C++: const member_t *) - - -ida_struct.is_varstr(): - - is_varstr(id) -> bool - - - Is variable size structure? - - - @param id (C++: tid_t) - - -class ida_struct.member_t(): - - Proxy of C++ member_t class - - -ida_struct.member_t.by_til(): - - by_til(self) -> bool - - -ida_struct.member_t.eoff: - member_t_eoff_get(self) -> ea_t - -ida_struct.member_t.flag: - member_t_flag_get(self) -> flags_t - -ida_struct.member_t.get_soff(): - - get_soff(self) -> ea_t - - -ida_struct.member_t.has_ti(): - - has_ti(self) -> bool - - -ida_struct.member_t.has_union(): - - has_union(self) -> bool - - -ida_struct.member_t.id: - member_t_id_get(self) -> tid_t - -ida_struct.member_t.is_baseclass(): - - is_baseclass(self) -> bool - - -ida_struct.member_t.is_destructor(): - - is_destructor(self) -> bool - - -ida_struct.member_t.is_dupname(): - - is_dupname(self) -> bool - - -ida_struct.member_t.props: - member_t_props_get(self) -> uint32 - -ida_struct.member_t.soff: - member_t_soff_get(self) -> ea_t - -ida_struct.member_t.unimem(): - - unimem(self) -> bool - - -ida_struct.retrieve_member_info(): - - retrieve_member_info(buf, mptr) -> opinfo_t - - - Get operand type info for member. - - - @param buf (C++: opinfo_t *) - @param mptr (C++: const member_t *) - - -ida_struct.save_struc(): - - save_struc(sptr, may_update_ltypes=True) - - - Update struct information in the database (internal function) - - - @param sptr (C++: struc_t *) - @param may_update_ltypes (C++: bool) - - -ida_struct.set_member_cmt(): - - set_member_cmt(mptr, cmt, repeatable) -> bool - - - Set member comment. - - - @param mptr (C++: member_t *) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -ida_struct.set_member_name(): - - set_member_name(sptr, offset, name) -> bool - - - Set name of member at given offset. - - - @param sptr (C++: struc_t *) - @param offset (C++: ea_t) - @param name (C++: const char *) - - -ida_struct.set_member_tinfo(): - - set_member_tinfo(sptr, mptr, memoff, tif, flags) -> smt_code_t - - - Set tinfo for given member. - - @param sptr: containing struct (C++: struc_t *) - @param mptr: target member (C++: member_t *) - @param memoff: offset within member (C++: uval_t) - @param tif: type info (C++: const tinfo_t &) - @param flags: Set member tinfo flags (C++: int) - - -ida_struct.set_member_type(): - - set_member_type(sptr, offset, flag, mt, nbytes) -> bool - - - Set type of member at given offset (also see 'add_struc_member()' ) - - - @param sptr (C++: struc_t *) - @param offset (C++: ea_t) - @param flag (C++: flags_t) - @param mt (C++: const opinfo_t *) - @param nbytes (C++: asize_t) - - -ida_struct.set_struc_align(): - - set_struc_align(sptr, shift) -> bool - - - Set structure alignment ( 'SF_ALIGN' ) - - - @param sptr (C++: struc_t *) - @param shift (C++: int) - - -ida_struct.set_struc_cmt(): - - set_struc_cmt(id, cmt, repeatable) -> bool - - - Set structure comment. - - - @param id (C++: tid_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -ida_struct.set_struc_hidden(): - - set_struc_hidden(sptr, is_hidden) - - - Hide/unhide a struct type. - - - @param sptr (C++: struc_t *) - @param is_hidden (C++: bool) - - -ida_struct.set_struc_idx(): - - set_struc_idx(sptr, idx) -> bool - - - Set internal number of struct. Also see 'get_struc_idx()' , - 'get_struc_by_idx()' . - - @param sptr (C++: const struc_t *) - @param idx (C++: uval_t) - - -ida_struct.set_struc_listed(): - - set_struc_listed(sptr, is_listed) - - - Add/remove a struct type from the struct list. - - - @param sptr (C++: struc_t *) - @param is_listed (C++: bool) - - -ida_struct.set_struc_name(): - - set_struc_name(id, name) -> bool - - - Set structure name. - - - @param id (C++: tid_t) - @param name (C++: const char *) - - -ida_struct.stroff_as_size(): - - stroff_as_size(plen, sptr, value) -> bool - - - Should display a structure offset expression as the structure size? - - - @param plen (C++: int) - @param sptr (C++: const struc_t *) - @param value (C++: asize_t) - - -class ida_struct.struc_t(): - - Proxy of C++ struc_t class - - -ida_struct.struc_t.age: - struc_t_age_get(self) -> ushort - -ida_struct.struc_t.from_til(): - - from_til(self) -> bool - - -ida_struct.struc_t.get_alignment(): - - get_alignment(self) -> int - - -ida_struct.struc_t.get_member(): - - get_member(self, index) -> member_t - - -ida_struct.struc_t.has_union(): - - has_union(self) -> bool - - -ida_struct.struc_t.id: - struc_t_id_get(self) -> tid_t - -ida_struct.struc_t.is_choosable(): - - is_choosable(self) -> bool - - -ida_struct.struc_t.is_frame(): - - is_frame(self) -> bool - - -ida_struct.struc_t.is_ghost(): - - is_ghost(self) -> bool - - -ida_struct.struc_t.is_hidden(): - - is_hidden(self) -> bool - - -ida_struct.struc_t.is_union(): - - is_union(self) -> bool - - -ida_struct.struc_t.is_varstr(): - - is_varstr(self) -> bool - - -ida_struct.struc_t.members: - struc_t_members_get(self) -> member_t - -ida_struct.struc_t.memqty: - struc_t_memqty_get(self) -> uint32 - -ida_struct.struc_t.ordinal: - struc_t_ordinal_get(self) -> int32 - -ida_struct.struc_t.props: - struc_t_props_get(self) -> uint32 - -ida_struct.struc_t.set_alignment(): - - set_alignment(self, shift) - - -ida_struct.struc_t.set_ghost(): - - set_ghost(self, _is_ghost) - - -class ida_struct.struct_field_visitor_t(): - - Proxy of C++ struct_field_visitor_t class - - -ida_struct.struct_field_visitor_t.visit_field(): - - visit_field(self, sptr, mptr) -> int - - -ida_struct.visit_stroff_fields(): - - visit_stroff_fields(sfv, path, disp, appzero) -> flags_t - - - 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: visitor object (C++: struct_field_visitor_t &) - @param path: struct path (path[0] contains the initial struct id) - (C++: const tid_t *) - @param disp: offset into structure (C++: adiff_t *) - @param appzero: should visit field at offset zero? (C++: bool) - - - -=== ida_struct EPYDOC INJECTIONS === -ida_struct.MF_BASECLASS -""" -a special member representing base class -""" - -ida_struct.MF_BYTIL -""" -the member was created due to the type system -""" - -ida_struct.MF_DTOR -""" -a special member representing destructor -""" - -ida_struct.MF_DUPNAME -""" -duplicate name resolved with _N suffix (N==soff) -""" - -ida_struct.MF_HASTI -""" -has type information? -""" - -ida_struct.MF_HASUNI -""" -has members of type "union"? -""" - -ida_struct.MF_OK -""" -is the member ok? (always yes) -""" - -ida_struct.MF_UNIMEM -""" -is a member of a union? -""" - -ida_struct.SET_MEMTI_BYTIL -""" -new type was created by the type subsystem -""" - -ida_struct.SET_MEMTI_COMPATIBLE -""" -new type must be compatible with the old -""" - -ida_struct.SET_MEMTI_FUNCARG -""" -mptr is function argument (cannot create arrays) -""" - -ida_struct.SET_MEMTI_MAY_DESTROY -""" -may destroy other members -""" - -ida_struct.SET_MEMTI_USERTI -""" -user-specified type -""" - -ida_struct.SF_ALIGN -""" -alignment (shift amount: 0..31) -""" - -ida_struct.SF_FRAME -""" -the structure is a function frame -""" - -ida_struct.SF_GHOST -""" -ghost copy of a local type -""" - -ida_struct.SF_HASUNI -""" -has members of type "union"? -""" - -ida_struct.SF_HIDDEN -""" -the structure is collapsed -""" - -ida_struct.SF_NOLIST -""" -don't include in the chooser list -""" - -ida_struct.SF_TYPLIB -""" -the structure comes from type library -""" - -ida_struct.SF_UNION -""" -varunions are prohibited! - -is a union? -""" - -ida_struct.SF_VAR -""" -is variable size structure (varstruct)? a variable size structure is -one with the zero size last member. if the last member is a varstruct, -then the current structure is a varstruct too. -""" - -ida_struct.STRUC_SEPARATOR -""" -structname.fieldname -""" -=== ida_struct EPYDOC INJECTIONS END === -ida_tryblks.add_tryblk(): - - add_tryblk(tb) -> int - - - Add one try block information. - - @param tb: try block to add. (C++: const tryblk_t &) - @return: error code; 0 means good - - -class ida_tryblks.catch_t(): - - Proxy of C++ catch_t class - - -ida_tryblks.catch_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.catch_t.at(): - - at(self, _idx) -> range_t - - -ida_tryblks.catch_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_tryblks.catch_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.catch_t.clear(): - - clear(self) - - -ida_tryblks.catch_t.disp: - try_handler_t_disp_get(self) -> sval_t - -ida_tryblks.catch_t.empty(): - - empty(self) -> bool - - -ida_tryblks.catch_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_tryblks.catch_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_tryblks.catch_t.extract(): - - extract(self) -> range_t - - -ida_tryblks.catch_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_tryblks.catch_t.fpreg: - try_handler_t_fpreg_get(self) -> int - -ida_tryblks.catch_t.grow(): - - grow(self, x=range_t()) - - -ida_tryblks.catch_t.has(): - - has(self, x) -> bool - - -ida_tryblks.catch_t.inject(): - - inject(self, s, len) - - -ida_tryblks.catch_t.insert(): - - insert(self, it, x) -> range_t - - -ida_tryblks.catch_t.obj: - catch_t_obj_get(self) -> sval_t - -ida_tryblks.catch_t.pop_back(): - - pop_back(self) - - -ida_tryblks.catch_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_tryblks.catch_t.qclear(): - - qclear(self) - - -ida_tryblks.catch_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.catch_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.catch_t.size(): - - size(self) -> size_t - - -ida_tryblks.catch_t.swap(): - - swap(self, r) - - -ida_tryblks.catch_t.truncate(): - - truncate(self) - - -ida_tryblks.catch_t.type_id: - catch_t_type_id_get(self) -> sval_t - -class ida_tryblks.catchvec_t(): - - Proxy of C++ qvector<(catch_t)> class - - -ida_tryblks.catchvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.catchvec_t.at(): - - at(self, _idx) -> catch_t - - -ida_tryblks.catchvec_t.begin(): - - begin(self) -> catch_t - begin(self) -> catch_t - - -ida_tryblks.catchvec_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.catchvec_t.clear(): - - clear(self) - - -ida_tryblks.catchvec_t.empty(): - - empty(self) -> bool - - -ida_tryblks.catchvec_t.end(): - - end(self) -> catch_t - end(self) -> catch_t - - -ida_tryblks.catchvec_t.erase(): - - erase(self, it) -> catch_t - erase(self, first, last) -> catch_t - - -ida_tryblks.catchvec_t.extract(): - - extract(self) -> catch_t - - -ida_tryblks.catchvec_t.find(): - - find(self, x) -> catch_t - find(self, x) -> catch_t - - -ida_tryblks.catchvec_t.grow(): - - grow(self, x=catch_t()) - - -ida_tryblks.catchvec_t.has(): - - has(self, x) -> bool - - -ida_tryblks.catchvec_t.inject(): - - inject(self, s, len) - - -ida_tryblks.catchvec_t.insert(): - - insert(self, it, x) -> catch_t - - -ida_tryblks.catchvec_t.pop_back(): - - pop_back(self) - - -ida_tryblks.catchvec_t.push_back(): - - push_back(self, x) - push_back(self) -> catch_t - - -ida_tryblks.catchvec_t.qclear(): - - qclear(self) - - -ida_tryblks.catchvec_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.catchvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.catchvec_t.size(): - - size(self) -> size_t - - -ida_tryblks.catchvec_t.swap(): - - swap(self, r) - - -ida_tryblks.catchvec_t.truncate(): - - truncate(self) - - -ida_tryblks.del_tryblks(): - - del_tryblks(range) - - - Delete try block information in the specified range. - - @param range: the range to be cleared (C++: const range_t &) - - -ida_tryblks.find_syseh(): - - find_syseh(ea) -> ea_t - - - Find the start address of the system eh region including the argument. - - @param ea: search address (C++: ea_t) - @return: start address of surrounding tryblk, otherwise BADADDR - - -ida_tryblks.get_tryblks(): - - 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: output buffer; may be NULL (C++: tryblks_t *) - @param range: address range to change (C++: const range_t &) - @return: number of found try blocks - - -class ida_tryblks.seh_t(): - - Proxy of C++ seh_t class - - -ida_tryblks.seh_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.seh_t.at(): - - at(self, _idx) -> range_t - - -ida_tryblks.seh_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_tryblks.seh_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.seh_t.clear(): - - clear(self) - - -ida_tryblks.seh_t.disp: - try_handler_t_disp_get(self) -> sval_t - -ida_tryblks.seh_t.empty(): - - empty(self) -> bool - - -ida_tryblks.seh_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_tryblks.seh_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_tryblks.seh_t.extract(): - - extract(self) -> range_t - - -ida_tryblks.seh_t.filter: - seh_t_filter_get(self) -> rangevec_t - -ida_tryblks.seh_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_tryblks.seh_t.fpreg: - try_handler_t_fpreg_get(self) -> int - -ida_tryblks.seh_t.grow(): - - grow(self, x=range_t()) - - -ida_tryblks.seh_t.has(): - - has(self, x) -> bool - - -ida_tryblks.seh_t.inject(): - - inject(self, s, len) - - -ida_tryblks.seh_t.insert(): - - insert(self, it, x) -> range_t - - -ida_tryblks.seh_t.pop_back(): - - pop_back(self) - - -ida_tryblks.seh_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_tryblks.seh_t.qclear(): - - qclear(self) - - -ida_tryblks.seh_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.seh_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.seh_t.seh_code: - seh_t_seh_code_get(self) -> ea_t - -ida_tryblks.seh_t.size(): - - size(self) -> size_t - - -ida_tryblks.seh_t.swap(): - - swap(self, r) - - -ida_tryblks.seh_t.truncate(): - - truncate(self) - - -class ida_tryblks.try_handler_t(): - - Proxy of C++ try_handler_t class - - -ida_tryblks.try_handler_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.try_handler_t.at(): - - at(self, _idx) -> range_t - - -ida_tryblks.try_handler_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_tryblks.try_handler_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.try_handler_t.clear(): - - clear(self) - - -ida_tryblks.try_handler_t.disp: - try_handler_t_disp_get(self) -> sval_t - -ida_tryblks.try_handler_t.empty(): - - empty(self) -> bool - - -ida_tryblks.try_handler_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_tryblks.try_handler_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_tryblks.try_handler_t.extract(): - - extract(self) -> range_t - - -ida_tryblks.try_handler_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_tryblks.try_handler_t.fpreg: - try_handler_t_fpreg_get(self) -> int - -ida_tryblks.try_handler_t.grow(): - - grow(self, x=range_t()) - - -ida_tryblks.try_handler_t.has(): - - has(self, x) -> bool - - -ida_tryblks.try_handler_t.inject(): - - inject(self, s, len) - - -ida_tryblks.try_handler_t.insert(): - - insert(self, it, x) -> range_t - - -ida_tryblks.try_handler_t.pop_back(): - - pop_back(self) - - -ida_tryblks.try_handler_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_tryblks.try_handler_t.qclear(): - - qclear(self) - - -ida_tryblks.try_handler_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.try_handler_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.try_handler_t.size(): - - size(self) -> size_t - - -ida_tryblks.try_handler_t.swap(): - - swap(self, r) - - -ida_tryblks.try_handler_t.truncate(): - - truncate(self) - - -class ida_tryblks.tryblk_t(): - - Proxy of C++ tryblk_t class - - -ida_tryblks.tryblk_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.tryblk_t.at(): - - at(self, _idx) -> range_t - - -ida_tryblks.tryblk_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_tryblks.tryblk_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.tryblk_t.clear(): - - clear(self) - - -ida_tryblks.tryblk_t.cpp(): - - cpp(self) -> catchvec_t - - -ida_tryblks.tryblk_t.empty(): - - empty(self) -> bool - - -ida_tryblks.tryblk_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_tryblks.tryblk_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_tryblks.tryblk_t.extract(): - - extract(self) -> range_t - - -ida_tryblks.tryblk_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_tryblks.tryblk_t.get_kind(): - - get_kind(self) -> uchar - - -ida_tryblks.tryblk_t.grow(): - - grow(self, x=range_t()) - - -ida_tryblks.tryblk_t.has(): - - has(self, x) -> bool - - -ida_tryblks.tryblk_t.inject(): - - inject(self, s, len) - - -ida_tryblks.tryblk_t.insert(): - - insert(self, it, x) -> range_t - - -ida_tryblks.tryblk_t.is_cpp(): - - is_cpp(self) -> bool - - -ida_tryblks.tryblk_t.is_seh(): - - is_seh(self) -> bool - - -ida_tryblks.tryblk_t.level: - tryblk_t_level_get(self) -> uchar - -ida_tryblks.tryblk_t.pop_back(): - - pop_back(self) - - -ida_tryblks.tryblk_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_tryblks.tryblk_t.qclear(): - - qclear(self) - - -ida_tryblks.tryblk_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.tryblk_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.tryblk_t.seh(): - - seh(self) -> seh_t - - -ida_tryblks.tryblk_t.set_cpp(): - - set_cpp(self) -> catchvec_t - - -ida_tryblks.tryblk_t.set_seh(): - - set_seh(self) -> seh_t - - -ida_tryblks.tryblk_t.size(): - - size(self) -> size_t - - -ida_tryblks.tryblk_t.swap(): - - swap(self, r) - - -ida_tryblks.tryblk_t.truncate(): - - truncate(self) - - -class ida_tryblks.tryblks_t(): - - Proxy of C++ qvector<(tryblk_t)> class - - -ida_tryblks.tryblks_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.tryblks_t.at(): - - at(self, _idx) -> tryblk_t - - -ida_tryblks.tryblks_t.begin(): - - begin(self) -> tryblk_t - begin(self) -> tryblk_t - - -ida_tryblks.tryblks_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.tryblks_t.clear(): - - clear(self) - - -ida_tryblks.tryblks_t.empty(): - - empty(self) -> bool - - -ida_tryblks.tryblks_t.end(): - - end(self) -> tryblk_t - end(self) -> tryblk_t - - -ida_tryblks.tryblks_t.erase(): - - erase(self, it) -> tryblk_t - erase(self, first, last) -> tryblk_t - - -ida_tryblks.tryblks_t.extract(): - - extract(self) -> tryblk_t - - -ida_tryblks.tryblks_t.find(): - - find(self, x) -> tryblk_t - find(self, x) -> tryblk_t - - -ida_tryblks.tryblks_t.grow(): - - grow(self, x=tryblk_t()) - - -ida_tryblks.tryblks_t.has(): - - has(self, x) -> bool - - -ida_tryblks.tryblks_t.inject(): - - inject(self, s, len) - - -ida_tryblks.tryblks_t.insert(): - - insert(self, it, x) -> tryblk_t - - -ida_tryblks.tryblks_t.pop_back(): - - pop_back(self) - - -ida_tryblks.tryblks_t.push_back(): - - push_back(self, x) - push_back(self) -> tryblk_t - - -ida_tryblks.tryblks_t.qclear(): - - qclear(self) - - -ida_tryblks.tryblks_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.tryblks_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.tryblks_t.size(): - - size(self) -> size_t - - -ida_tryblks.tryblks_t.swap(): - - swap(self, r) - - -ida_tryblks.tryblks_t.truncate(): - - truncate(self) - - - -=== ida_tryblks EPYDOC INJECTIONS === -ida_tryblks.TBERR_EMPTY -""" -empty try block -""" - -ida_tryblks.TBERR_END -""" -bad end address -""" - -ida_tryblks.TBERR_INTERSECT -""" -range would intersect inner tryblk -""" - -ida_tryblks.TBERR_KIND -""" -illegal try block kind -""" - -ida_tryblks.TBERR_NO_CATCHES -""" -no catch blocks at all -""" - -ida_tryblks.TBERR_OK -""" -ok -""" - -ida_tryblks.TBERR_ORDER -""" -bad address order -""" - -ida_tryblks.TBERR_START -""" -bad start address -""" -=== ida_tryblks EPYDOC INJECTIONS END === -ida_typeinf.add_til(): - - add_til(name, flags) -> int - - - Load a til file. - - @param name: til name (C++: const char *) - @param flags: combination of Load TIL flags (C++: int) - @return: one of Load TIL result codes - - -ida_typeinf.alloc_type_ordinal(): - - alloc_type_ordinal(ti) -> uint32 - - - \call2{alloc_type_ordinals,ti,1} - - - @param ti (C++: til_t *) - - -ida_typeinf.alloc_type_ordinals(): - - alloc_type_ordinals(ti, qty) -> uint32 - - - Allocate a range of ordinal numbers for new types. - - @param ti: type library (C++: til_t *) - @param qty: number of ordinals to allocate (C++: int) - @return: the first ordinal. 0 means failure. - - -class ida_typeinf.aloc_visitor_t(): - - Proxy of C++ aloc_visitor_t class - - -ida_typeinf.aloc_visitor_t.visit_location(): - - visit_location(self, v, off, size) -> int - - -ida_typeinf.append_abi_opts(): - - 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: - ABI options to add/remove in form opt1-opt2-... - (C++: const char *) - @param user_level: - initiated by user if TRUE (==SETCOMP_BY_USER) - (C++: bool) - @return: success - - -ida_typeinf.append_argloc(): - - append_argloc(out, vloc) -> bool - - - Serialize argument location. - - - @param out (C++: qtype *) - @param vloc (C++: const argloc_t &) - - -ida_typeinf.append_tinfo_covered(): - - append_tinfo_covered(out, typid, offset) -> bool - - -ida_typeinf.apply_callee_tinfo(): - - 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: linear address of the calling instruction. must belong - to a function. (C++: ea_t) - @param tif: type info (C++: const tinfo_t &) - @return: success - - -ida_typeinf.apply_cdecl(): - - 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: type library (C++: til_t *) - @param ea: linear address (C++: ea_t) - @param decl: type declaration in C form (C++: const char *) - @param flags: flags to pass to apply_tinfo ( TINFO_DEFINITE is always - passed) (C++: int) - @return: success - - -ida_typeinf.apply_named_type(): - - apply_named_type(ea, name) -> bool - - - Apply the specified named type to the address. - - @param ea: linear address (C++: ea_t) - @param name: the type name, e.g. "FILE" (C++: const char *) - @return: success - - -ida_typeinf.apply_once_tinfo_and_name(): - - 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 typedoes not exist or - the new type is 'better' than the old type, then thenew type will be - applied. A type is considered better if it has moreinformation (e.g. - 'BTMT_STRUCT' is better than 'BT_INT' ).The same logic is with the - name: if the address already have a meaningfulname, it will be - preserved. Only if the old name does not exist or itis a dummy name - like byte_123, it will be replaced by the new name. - - @param dea: linear address (C++: ea_t) - @param tif: type string in the internal format (C++: const tinfo_t - &) - @param name: new name for the address (C++: const char *) - @return: success - - -ida_typeinf.apply_tinfo(): - - 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: linear address (C++: ea_t) - @param tif: type string in internal format (C++: const tinfo_t &) - @param flags: combination of Apply tinfo flags (C++: uint32) - @return: success - - -ida_typeinf.apply_tinfo_to_stkarg(): - - apply_tinfo_to_stkarg(insn, x, v, tif, name) -> bool - - - Helper function for the processor modules. to be called from - \ph{use_stkarg_type} - - @param insn (C++: const insn_t &) - @param x (C++: const op_t &) - @param v (C++: uval_t) - @param tif (C++: const tinfo_t &) - @param name (C++: const char *) - - -ida_typeinf.apply_type(): - - apply_type(ti, py_type, py_fields, ea, flags) -> bool - - - Apply the specified type to the address - @param ti: Type info library. 'None' can be used. - @param py_type: type string - @param py_fields: fields string (may be empty or None) - @param ea: the address of the object - @param flags: combination of TINFO_... constants or 0 - @return: Boolean - - -class ida_typeinf.argloc_t(): - - Proxy of C++ argloc_t class - - -ida_typeinf.argloc_t.advance(): - - advance(self, delta) -> bool - - -ida_typeinf.argloc_t.atype(): - - atype(self) -> argloc_type_t - - -ida_typeinf.argloc_t.calc_offset(): - - calc_offset(self) -> sval_t - - -ida_typeinf.argloc_t.compare(): - - compare(self, r) -> int - - -ida_typeinf.argloc_t.consume_rrel(): - - consume_rrel(self, p) - - -ida_typeinf.argloc_t.consume_scattered(): - - consume_scattered(self, p) - - -ida_typeinf.argloc_t.get_biggest(): - - get_biggest(self) -> argloc_t::biggest_t - - -ida_typeinf.argloc_t.get_custom(): - - get_custom(self) -> void * - - -ida_typeinf.argloc_t.get_ea(): - - get_ea(self) -> ea_t - - -ida_typeinf.argloc_t.get_reginfo(): - - get_reginfo(self) -> uint32 - - -ida_typeinf.argloc_t.get_rrel(): - - get_rrel(self) -> rrel_t - get_rrel(self) -> rrel_t - - -ida_typeinf.argloc_t.has_reg(): - - has_reg(self) -> bool - - -ida_typeinf.argloc_t.has_stkoff(): - - has_stkoff(self) -> bool - - -ida_typeinf.argloc_t.is_badloc(): - - is_badloc(self) -> bool - - -ida_typeinf.argloc_t.is_custom(): - - is_custom(self) -> bool - - -ida_typeinf.argloc_t.is_ea(): - - is_ea(self) -> bool - - -ida_typeinf.argloc_t.is_fragmented(): - - is_fragmented(self) -> bool - - -ida_typeinf.argloc_t.is_mixed_scattered(): - - is_mixed_scattered(self) -> bool - - -ida_typeinf.argloc_t.is_reg(): - - is_reg(self) -> bool - - -ida_typeinf.argloc_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_typeinf.argloc_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_typeinf.argloc_t.is_rrel(): - - is_rrel(self) -> bool - - -ida_typeinf.argloc_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_typeinf.argloc_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_typeinf.argloc_t.reg1(): - - reg1(self) -> int - - -ida_typeinf.argloc_t.reg2(): - - reg2(self) -> int - - -ida_typeinf.argloc_t.regoff(): - - regoff(self) -> int - - -ida_typeinf.argloc_t.scattered(): - - scattered(self) -> scattered_aloc_t - scattered(self) -> scattered_aloc_t - - -ida_typeinf.argloc_t.set_badloc(): - - set_badloc(self) - - -ida_typeinf.argloc_t.set_ea(): - - set_ea(self, _ea) - - -ida_typeinf.argloc_t.set_reg1(): - - set_reg1(self, reg, off=0) - - -ida_typeinf.argloc_t.set_reg2(): - - set_reg2(self, _reg1, _reg2) - - -ida_typeinf.argloc_t.set_stkoff(): - - set_stkoff(self, off) - - -ida_typeinf.argloc_t.stkoff(): - - stkoff(self) -> sval_t - - -ida_typeinf.argloc_t.swap(): - - swap(self, r) - - -class ida_typeinf.argpart_t(): - - Proxy of C++ argpart_t class - - -ida_typeinf.argpart_t.advance(): - - advance(self, delta) -> bool - - -ida_typeinf.argpart_t.atype(): - - atype(self) -> argloc_type_t - - -ida_typeinf.argpart_t.bad_offset(): - - bad_offset(self) -> bool - - -ida_typeinf.argpart_t.bad_size(): - - bad_size(self) -> bool - - -ida_typeinf.argpart_t.calc_offset(): - - calc_offset(self) -> sval_t - - -ida_typeinf.argpart_t.compare(): - - compare(self, r) -> int - - -ida_typeinf.argpart_t.consume_rrel(): - - consume_rrel(self, p) - - -ida_typeinf.argpart_t.consume_scattered(): - - consume_scattered(self, p) - - -ida_typeinf.argpart_t.get_biggest(): - - get_biggest(self) -> argloc_t::biggest_t - - -ida_typeinf.argpart_t.get_custom(): - - get_custom(self) -> void * - - -ida_typeinf.argpart_t.get_ea(): - - get_ea(self) -> ea_t - - -ida_typeinf.argpart_t.get_reginfo(): - - get_reginfo(self) -> uint32 - - -ida_typeinf.argpart_t.get_rrel(): - - get_rrel(self) -> rrel_t - get_rrel(self) -> rrel_t - - -ida_typeinf.argpart_t.has_reg(): - - has_reg(self) -> bool - - -ida_typeinf.argpart_t.has_stkoff(): - - has_stkoff(self) -> bool - - -ida_typeinf.argpart_t.is_badloc(): - - is_badloc(self) -> bool - - -ida_typeinf.argpart_t.is_custom(): - - is_custom(self) -> bool - - -ida_typeinf.argpart_t.is_ea(): - - is_ea(self) -> bool - - -ida_typeinf.argpart_t.is_fragmented(): - - is_fragmented(self) -> bool - - -ida_typeinf.argpart_t.is_mixed_scattered(): - - is_mixed_scattered(self) -> bool - - -ida_typeinf.argpart_t.is_reg(): - - is_reg(self) -> bool - - -ida_typeinf.argpart_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_typeinf.argpart_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_typeinf.argpart_t.is_rrel(): - - is_rrel(self) -> bool - - -ida_typeinf.argpart_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_typeinf.argpart_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_typeinf.argpart_t.off: - argpart_t_off_get(self) -> ushort - -ida_typeinf.argpart_t.reg1(): - - reg1(self) -> int - - -ida_typeinf.argpart_t.reg2(): - - reg2(self) -> int - - -ida_typeinf.argpart_t.regoff(): - - regoff(self) -> int - - -ida_typeinf.argpart_t.scattered(): - - scattered(self) -> scattered_aloc_t - scattered(self) -> scattered_aloc_t - - -ida_typeinf.argpart_t.set_badloc(): - - set_badloc(self) - - -ida_typeinf.argpart_t.set_ea(): - - set_ea(self, _ea) - - -ida_typeinf.argpart_t.set_reg1(): - - set_reg1(self, reg, off=0) - - -ida_typeinf.argpart_t.set_reg2(): - - set_reg2(self, _reg1, _reg2) - - -ida_typeinf.argpart_t.set_stkoff(): - - set_stkoff(self, off) - - -ida_typeinf.argpart_t.size: - argpart_t_size_get(self) -> ushort - -ida_typeinf.argpart_t.stkoff(): - - stkoff(self) -> sval_t - - -ida_typeinf.argpart_t.swap(): - - swap(self, r) - - -class ida_typeinf.argpartvec_t(): - - Proxy of C++ qvector<(argpart_t)> class - - -ida_typeinf.argpartvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.argpartvec_t.at(): - - at(self, _idx) -> argpart_t - - -ida_typeinf.argpartvec_t.begin(): - - begin(self) -> argpart_t - begin(self) -> argpart_t - - -ida_typeinf.argpartvec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.argpartvec_t.clear(): - - clear(self) - - -ida_typeinf.argpartvec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.argpartvec_t.end(): - - end(self) -> argpart_t - end(self) -> argpart_t - - -ida_typeinf.argpartvec_t.erase(): - - erase(self, it) -> argpart_t - erase(self, first, last) -> argpart_t - - -ida_typeinf.argpartvec_t.extract(): - - extract(self) -> argpart_t - - -ida_typeinf.argpartvec_t.find(): - - find(self, x) -> argpart_t - find(self, x) -> argpart_t - - -ida_typeinf.argpartvec_t.grow(): - - grow(self, x=argpart_t()) - - -ida_typeinf.argpartvec_t.has(): - - has(self, x) -> bool - - -ida_typeinf.argpartvec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.argpartvec_t.insert(): - - insert(self, it, x) -> argpart_t - - -ida_typeinf.argpartvec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.argpartvec_t.push_back(): - - push_back(self, x) - push_back(self) -> argpart_t - - -ida_typeinf.argpartvec_t.qclear(): - - qclear(self) - - -ida_typeinf.argpartvec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.argpartvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.argpartvec_t.size(): - - size(self) -> size_t - - -ida_typeinf.argpartvec_t.swap(): - - swap(self, r) - - -ida_typeinf.argpartvec_t.truncate(): - - truncate(self) - - -class ida_typeinf.array_type_data_t(): - - Proxy of C++ array_type_data_t class - - -ida_typeinf.array_type_data_t.base: - array_type_data_t_base_get(self) -> uint32 - -ida_typeinf.array_type_data_t.elem_type: - array_type_data_t_elem_type_get(self) -> tinfo_t - -ida_typeinf.array_type_data_t.nelems: - array_type_data_t_nelems_get(self) -> uint32 - -ida_typeinf.array_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.begin_type_updating(): - - 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) - - -class ida_typeinf.bitfield_type_data_t(): - - Proxy of C++ bitfield_type_data_t class - - -ida_typeinf.bitfield_type_data_t.compare(): - - compare(self, r) -> int - - -ida_typeinf.bitfield_type_data_t.is_unsigned: - bitfield_type_data_t_is_unsigned_get(self) -> bool - -ida_typeinf.bitfield_type_data_t.nbytes: - bitfield_type_data_t_nbytes_get(self) -> uchar - -ida_typeinf.bitfield_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.bitfield_type_data_t.width: - bitfield_type_data_t_width_get(self) -> uchar - -ida_typeinf.calc_c_cpp_name(): - - calc_c_cpp_name(name, type, ccn_flags) -> ssize_t - - - Get C or C++ form of the name. - - @param name: original (mangled or decorated) name (C++: const char *) - @param type: name type if known, otherwise NULL (C++: const tinfo_t - *) - @param ccn_flags: one of C/C++ naming flags (C++: int) - - -ida_typeinf.calc_number_of_children(): - - 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: location of the data ( ALOC_STATIC or ALOC_CUSTOM ) - (C++: const argloc_t &) - @param tif: type info (C++: const tinfo_t &) - @param dont_deref_ptr: consider 'ea' as the ptr value (C++: bool) - - -ida_typeinf.calc_tinfo_gaps(): - - calc_tinfo_gaps(out, typid) -> bool - - -ida_typeinf.calc_type_size(): - - calc_type_size(ti, tp) -> PyObject * - - - Returns the size of a type - @param ti: Type info. 'None' can be passed. - @param tp: type string - @return: - - None on failure - - The size of the type - - -class ida_typeinf.callregs_t(): - - Proxy of C++ callregs_t class - - -ida_typeinf.callregs_t.fpregs: - callregs_t_fpregs_get(self) -> intvec_t * - -ida_typeinf.callregs_t.gpregs: - callregs_t_gpregs_get(self) -> intvec_t * - -ida_typeinf.callregs_t.init_regs(): - - init_regs(self, cc) - - -ida_typeinf.callregs_t.nregs: - callregs_t_nregs_get(self) -> int - -ida_typeinf.callregs_t.policy: - callregs_t_policy_get(self) -> argreg_policy_t - -ida_typeinf.callregs_t.regcount(): - - regcount(cc) -> int - - -ida_typeinf.callregs_t.reginds(): - - reginds(self, gp_ind, fp_ind, r) -> bool - - -ida_typeinf.callregs_t.reset(): - - reset(self) - - -ida_typeinf.callregs_t.set(): - - set(self, _policy, gprs, fprs) - - -ida_typeinf.callregs_t_regcount(): - - callregs_t_regcount(cc) -> int - - -ida_typeinf.choose_local_tinfo(): - - choose_local_tinfo(ti, title, func=None, def_ord=0, ud=None) -> uint32 - - - Choose a type from the local type library. - - @param ti: pointer to til (C++: const til_t *) - @param title: title of listbox to display (C++: const char *) - @param func: predicate to select types to display (maybe NULL) (C++: - local_tinfo_predicate_t *) - @param def_ord: ordinal to position cursor before choose (C++: uint32) - @param ud: user data (C++: void *) - @return: == 0 means nothing is chosen, otherwise an ordinal number - - -ida_typeinf.choose_named_type(): - - choose_named_type(out_sym, root_til, title, ntf_flags, predicate=None) -> bool - - - Choose a type from a type library. - - @param out_sym: pointer to be filled with the chosen type (C++: - til_symbol_t *) - @param root_til: pointer to starting til (the function will inspect - the base tils if allowed by flags) (C++: const til_t - *) - @param title: title of listbox to display (C++: const char *) - @param ntf_flags: combination of Flags for named types (C++: int) - @param predicate: predicate to select types to display (maybe NULL) - (C++: predicate_t *) - @return: false if nothing is chosen, otherwise true - - -ida_typeinf.clear_tinfo_t(): - - clear_tinfo_t(_this) - - -ida_typeinf.compact_til(): - - 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 - - -ida_typeinf.compare_tinfo(): - - compare_tinfo(t1, t2, tcflags) -> bool - - -class ida_typeinf.const_aloc_visitor_t(): - - Proxy of C++ const_aloc_visitor_t class - - -ida_typeinf.const_aloc_visitor_t.visit_location(): - - visit_location(self, v, off, size) -> int - - -ida_typeinf.convert_pt_flags_to_hti(): - - 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) - - -ida_typeinf.copy_named_type(): - - 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: Destination til. It must have orginal types enabled - (C++: til_t *) - @param srctil: Source til. (C++: const til_t *) - @param name: name of the type to copy (C++: const char *) - @return: ordinal number of the copied type. 0 means error - - -ida_typeinf.copy_tinfo_t(): - - copy_tinfo_t(_this, r) - - -ida_typeinf.create_numbered_type_name(): - - create_numbered_type_name(ord) -> ssize_t - - - 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) - - -ida_typeinf.create_tinfo(): - - create_tinfo(_this, bt, bt2, ptr) -> bool - - -ida_typeinf.default_compiler(): - - default_compiler() -> comp_t - - - Get compiler specified by armem{inf,idainfo,cc}. - - -ida_typeinf.del_named_type(): - - del_named_type(ti, name, ntf_flags) -> bool - - - Delete information about a symbol. - - @param ti: type library (C++: til_t *) - @param name: name of symbol (C++: const char *) - @param ntf_flags: combination of Flags for named types (C++: int) - @return: success - - -ida_typeinf.del_numbered_type(): - - del_numbered_type(ti, ordinal) -> bool - - - Delete a numbered type. - - - @param ti (C++: til_t *) - @param ordinal (C++: uint32) - - -ida_typeinf.del_til(): - - del_til(name) -> bool - - - Unload a til file. - - - @param name (C++: const char *) - - -ida_typeinf.del_tinfo_attr(): - - del_tinfo_attr(tif, key, make_copy) -> bool - - -ida_typeinf.deref_ptr(): - - deref_ptr(ptr_ea, tif, closure_obj=None) -> bool - - - Dereference a pointer. - - @param ptr_ea: in/out parameter in: address of the pointer out: - the pointed address (C++: ea_t *) - @param tif: type of the pointer (C++: const tinfo_t &) - @param closure_obj: closure object (not used yet) (C++: ea_t *) - @return: success - - -ida_typeinf.deserialize_tinfo(): - - deserialize_tinfo(tif, til, ptype, pfields, pfldcmts) -> bool - - -ida_typeinf.dstr_tinfo(): - - dstr_tinfo(tif) -> char const * - - -ida_typeinf.dump_func_type_data(): - - dump_func_type_data(fti, praloc_bits) -> bool - - - Use 'func_type_data_t::dump()' - - - @param fti (C++: const func_type_data_t &) - @param praloc_bits (C++: int) - - -ida_typeinf.end_type_updating(): - - 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) - - -class ida_typeinf.enum_member_t(): - - Proxy of C++ enum_member_t class - - -ida_typeinf.enum_member_t.cmt: - enum_member_t_cmt_get(self) -> qstring * - -ida_typeinf.enum_member_t.name: - enum_member_t_name_get(self) -> qstring * - -ida_typeinf.enum_member_t.swap(): - - swap(self, r) - - -ida_typeinf.enum_member_t.value: - enum_member_t_value_get(self) -> uint64 - -class ida_typeinf.enum_member_vec_t(): - - Proxy of C++ qvector<(enum_member_t)> class - - -ida_typeinf.enum_member_vec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.enum_member_vec_t.at(): - - at(self, _idx) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.begin(): - - begin(self) -> enum_member_t - begin(self) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.enum_member_vec_t.clear(): - - clear(self) - - -ida_typeinf.enum_member_vec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.enum_member_vec_t.end(): - - end(self) -> enum_member_t - end(self) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.erase(): - - erase(self, it) -> enum_member_t - erase(self, first, last) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.extract(): - - extract(self) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.find(): - - find(self, x) -> enum_member_t - find(self, x) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.grow(): - - grow(self, x=enum_member_t()) - - -ida_typeinf.enum_member_vec_t.has(): - - has(self, x) -> bool - - -ida_typeinf.enum_member_vec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.enum_member_vec_t.insert(): - - insert(self, it, x) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.enum_member_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.qclear(): - - qclear(self) - - -ida_typeinf.enum_member_vec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.enum_member_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.enum_member_vec_t.size(): - - size(self) -> size_t - - -ida_typeinf.enum_member_vec_t.swap(): - - swap(self, r) - - -ida_typeinf.enum_member_vec_t.truncate(): - - truncate(self) - - -class ida_typeinf.enum_type_data_t(): - - Proxy of C++ enum_type_data_t class - - -ida_typeinf.enum_type_data_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.enum_type_data_t.at(): - - at(self, _idx) -> enum_member_t - - -ida_typeinf.enum_type_data_t.begin(): - - begin(self) -> enum_member_t - begin(self) -> enum_member_t - - -ida_typeinf.enum_type_data_t.bte: - enum_type_data_t_bte_get(self) -> bte_t - -ida_typeinf.enum_type_data_t.calc_mask(): - - calc_mask(self) -> uint64 - - -ida_typeinf.enum_type_data_t.calc_nbytes(): - - calc_nbytes(self) -> int - - -ida_typeinf.enum_type_data_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.enum_type_data_t.clear(): - - clear(self) - - -ida_typeinf.enum_type_data_t.empty(): - - empty(self) -> bool - - -ida_typeinf.enum_type_data_t.end(): - - end(self) -> enum_member_t - end(self) -> enum_member_t - - -ida_typeinf.enum_type_data_t.erase(): - - erase(self, it) -> enum_member_t - erase(self, first, last) -> enum_member_t - - -ida_typeinf.enum_type_data_t.extract(): - - extract(self) -> enum_member_t - - -ida_typeinf.enum_type_data_t.find(): - - find(self, x) -> enum_member_t - find(self, x) -> enum_member_t - - -ida_typeinf.enum_type_data_t.group_sizes: - enum_type_data_t_group_sizes_get(self) -> intvec_t * - -ida_typeinf.enum_type_data_t.grow(): - - grow(self, x=enum_member_t()) - - -ida_typeinf.enum_type_data_t.has(): - - has(self, x) -> bool - - -ida_typeinf.enum_type_data_t.inject(): - - inject(self, s, len) - - -ida_typeinf.enum_type_data_t.insert(): - - insert(self, it, x) -> enum_member_t - - -ida_typeinf.enum_type_data_t.is_64bit(): - - is_64bit(self) -> bool - - -ida_typeinf.enum_type_data_t.is_char(): - - is_char(self) -> bool - - -ida_typeinf.enum_type_data_t.is_hex(): - - is_hex(self) -> bool - - -ida_typeinf.enum_type_data_t.is_sdec(): - - is_sdec(self) -> bool - - -ida_typeinf.enum_type_data_t.is_udec(): - - is_udec(self) -> bool - - -ida_typeinf.enum_type_data_t.pop_back(): - - pop_back(self) - - -ida_typeinf.enum_type_data_t.push_back(): - - push_back(self, x) - push_back(self) -> enum_member_t - - -ida_typeinf.enum_type_data_t.qclear(): - - qclear(self) - - -ida_typeinf.enum_type_data_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.enum_type_data_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.enum_type_data_t.size(): - - size(self) -> size_t - - -ida_typeinf.enum_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.enum_type_data_t.taenum_bits: - enum_type_data_t_taenum_bits_get(self) -> uint32 - -ida_typeinf.enum_type_data_t.truncate(): - - truncate(self) - - -ida_typeinf.extract_argloc(): - - extract_argloc(vloc, ptype, is_retval) -> bool - - - Deserialize argument location. - - - @param vloc (C++: argloc_t *) - @param ptype (C++: const type_t **) - @param is_retval (C++: bool) - - -ida_typeinf.find_tinfo_udt_member(): - - find_tinfo_udt_member(udm, typid, strmem_flags) -> int - - -ida_typeinf.first_named_type(): - - first_named_type(ti, ntf_flags) -> char const * - - - Enumerate types. Returns mangled names. Never returns anonymous types. - To include it, enumerate types by ordinals. - - @param ti (C++: const til_t *) - @param ntf_flags (C++: int) - - -ida_typeinf.for_all_arglocs(): - - 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) - - -ida_typeinf.for_all_const_arglocs(): - - 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 &) - @param size (C++: int) - @param off (C++: int) - - -ida_typeinf.free_til(): - - free_til(ti) - - - Free memory allocated by til. - - - @param ti (C++: til_t *) - - -ida_typeinf.func_has_stkframe_hole(): - - 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 &) - - -class ida_typeinf.func_type_data_t(): - - Proxy of C++ func_type_data_t class - - -ida_typeinf.func_type_data_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.func_type_data_t.at(): - - at(self, _idx) -> funcarg_t - - -ida_typeinf.func_type_data_t.begin(): - - begin(self) -> funcarg_t - begin(self) -> funcarg_t - - -ida_typeinf.func_type_data_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.func_type_data_t.cc: - func_type_data_t_cc_get(self) -> cm_t - -ida_typeinf.func_type_data_t.clear(): - - clear(self) - - -ida_typeinf.func_type_data_t.dump(): - - dump(self, praloc_bits=0x02) -> bool - - -ida_typeinf.func_type_data_t.empty(): - - empty(self) -> bool - - -ida_typeinf.func_type_data_t.end(): - - end(self) -> funcarg_t - end(self) -> funcarg_t - - -ida_typeinf.func_type_data_t.erase(): - - erase(self, it) -> funcarg_t - erase(self, first, last) -> funcarg_t - - -ida_typeinf.func_type_data_t.extract(): - - extract(self) -> funcarg_t - - -ida_typeinf.func_type_data_t.find(): - - find(self, x) -> funcarg_t - find(self, x) -> funcarg_t - - -ida_typeinf.func_type_data_t.flags: - func_type_data_t_flags_get(self) -> int - -ida_typeinf.func_type_data_t.get_call_method(): - - get_call_method(self) -> int - - -ida_typeinf.func_type_data_t.grow(): - - grow(self, x=funcarg_t()) - - -ida_typeinf.func_type_data_t.guess_cc(): - - guess_cc(self, purged, cc_flags) -> cm_t - - -ida_typeinf.func_type_data_t.has(): - - has(self, x) -> bool - - -ida_typeinf.func_type_data_t.inject(): - - inject(self, s, len) - - -ida_typeinf.func_type_data_t.insert(): - - insert(self, it, x) -> funcarg_t - - -ida_typeinf.func_type_data_t.is_high(): - - is_high(self) -> bool - - -ida_typeinf.func_type_data_t.is_noret(): - - is_noret(self) -> bool - - -ida_typeinf.func_type_data_t.is_pure(): - - is_pure(self) -> bool - - -ida_typeinf.func_type_data_t.is_vararg_cc(): - - is_vararg_cc(self) -> bool - - -ida_typeinf.func_type_data_t.pop_back(): - - pop_back(self) - - -ida_typeinf.func_type_data_t.push_back(): - - push_back(self, x) - push_back(self) -> funcarg_t - - -ida_typeinf.func_type_data_t.qclear(): - - qclear(self) - - -ida_typeinf.func_type_data_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.func_type_data_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.func_type_data_t.retloc: - func_type_data_t_retloc_get(self) -> argloc_t - -ida_typeinf.func_type_data_t.rettype: - func_type_data_t_rettype_get(self) -> tinfo_t - -ida_typeinf.func_type_data_t.size(): - - size(self) -> size_t - - -ida_typeinf.func_type_data_t.spoiled: - func_type_data_t_spoiled_get(self) -> reginfovec_t - -ida_typeinf.func_type_data_t.stkargs: - func_type_data_t_stkargs_get(self) -> uval_t - -ida_typeinf.func_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.func_type_data_t.truncate(): - - truncate(self) - - -class ida_typeinf.funcarg_t(): - - Proxy of C++ funcarg_t class - - -ida_typeinf.funcarg_t.argloc: - funcarg_t_argloc_get(self) -> argloc_t - -ida_typeinf.funcarg_t.cmt: - funcarg_t_cmt_get(self) -> qstring * - -ida_typeinf.funcarg_t.flags: - funcarg_t_flags_get(self) -> uint32 - -ida_typeinf.funcarg_t.name: - funcarg_t_name_get(self) -> qstring * - -ida_typeinf.funcarg_t.type: - funcarg_t_type_get(self) -> tinfo_t - -class ida_typeinf.funcargvec_t(): - - Proxy of C++ qvector<(funcarg_t)> class - - -ida_typeinf.funcargvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.funcargvec_t.at(): - - at(self, _idx) -> funcarg_t - - -ida_typeinf.funcargvec_t.begin(): - - begin(self) -> funcarg_t - begin(self) -> funcarg_t - - -ida_typeinf.funcargvec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.funcargvec_t.clear(): - - clear(self) - - -ida_typeinf.funcargvec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.funcargvec_t.end(): - - end(self) -> funcarg_t - end(self) -> funcarg_t - - -ida_typeinf.funcargvec_t.erase(): - - erase(self, it) -> funcarg_t - erase(self, first, last) -> funcarg_t - - -ida_typeinf.funcargvec_t.extract(): - - extract(self) -> funcarg_t - - -ida_typeinf.funcargvec_t.find(): - - find(self, x) -> funcarg_t - find(self, x) -> funcarg_t - - -ida_typeinf.funcargvec_t.grow(): - - grow(self, x=funcarg_t()) - - -ida_typeinf.funcargvec_t.has(): - - has(self, x) -> bool - - -ida_typeinf.funcargvec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.funcargvec_t.insert(): - - insert(self, it, x) -> funcarg_t - - -ida_typeinf.funcargvec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.funcargvec_t.push_back(): - - push_back(self, x) - push_back(self) -> funcarg_t - - -ida_typeinf.funcargvec_t.qclear(): - - qclear(self) - - -ida_typeinf.funcargvec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.funcargvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.funcargvec_t.size(): - - size(self) -> size_t - - -ida_typeinf.funcargvec_t.swap(): - - swap(self, r) - - -ida_typeinf.funcargvec_t.truncate(): - - truncate(self) - - -ida_typeinf.gcc_layout(): - - gcc_layout() -> bool - - - Should use the struct/union layout as done by gcc? - - -ida_typeinf.gen_decorate_name(): - - gen_decorate_name(name, mangle, cc, type) -> bool - - - Generic function for 'decorate_name()' (may be used in IDP modules) - - - @param name (C++: const char *) - @param mangle (C++: bool) - @param cc (C++: cm_t) - @param type (C++: const tinfo_t *) - - -ida_typeinf.gen_use_arg_tinfos(): - - gen_use_arg_tinfos(caller, fti, rargs, set_optype, is_stkarg_load, has_delay_slot) - - - The main function using these callbacks: - - - @param caller (C++: ea_t) - @param fti (C++: func_type_data_t *) - @param rargs (C++: funcargvec_t *) - @param set_optype (C++: set_op_tinfo_t *) - @param is_stkarg_load (C++: is_stkarg_load_t *) - @param has_delay_slot (C++: has_delay_slot_t *) - - -ida_typeinf.get_abi_name(): - - get_abi_name() -> ssize_t - - - Get ABI name. - - @return: length of the name (>=0) - - -ida_typeinf.get_alias_target(): - - 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 *) - @param ordinal (C++: uint32) - - -ida_typeinf.get_arg_addrs(): - - get_arg_addrs(caller) -> PyObject * - - - Retrieve addresses of argument initialization instructions - - @param caller: the address of the call instruction - @return: list of instruction addresses - - -ida_typeinf.get_base_type(): - - get_base_type(t) -> type_t - - - Get get basic type bits ( 'TYPE_BASE_MASK' ) - - - @param t (C++: type_t) - - -ida_typeinf.get_c_header_path(): - - get_c_header_path() -> ssize_t - - - Get the include directory path of the target compiler. - - -ida_typeinf.get_c_macros(): - - get_c_macros() -> ssize_t - - - Get predefined macros for the target compiler. - - -ida_typeinf.get_comp(): - - get_comp(comp) -> comp_t - - - Get compiler bits. - - - @param comp (C++: comp_t) - - -ida_typeinf.get_compiler_abbr(): - - get_compiler_abbr(id) -> char const * - - - Get abbreviated compiler name. - - - @param id (C++: comp_t) - - -ida_typeinf.get_compiler_name(): - - get_compiler_name(id) -> char const * - - - Get full compiler name. - - - @param id (C++: comp_t) - - -ida_typeinf.get_compilers(): - - 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 *) - - -ida_typeinf.get_enum_member_expr(): - - get_enum_member_expr(tif, serial, value) -> bool - - - 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: enumeration type (C++: const tinfo_t &) - @param serial: which enumeration member to use (0 means the first with - the given value) (C++: int) - @param value: value to search in the enumeration type. only 32-bit - number can be handled yet (C++: uint64) - @return: success - - -ida_typeinf.get_full_type(): - - get_full_type(t) -> type_t - - - Get basic type bits + type flags ( 'TYPE_FULL_MASK' ) - - - @param t (C++: type_t) - - -ida_typeinf.get_idainfo_by_type(): - - get_idainfo_by_type(tif) -> bool - - - Extract information from a 'tinfo_t' . - - @param tif: the type to inspect (C++: const tinfo_t &) - - -ida_typeinf.get_idati(): - - get_idati() -> til_t - - - Pointer to the local type library - this til is private for each IDB - file Function that accepts til_t* uses local type library instead of - NULL. - - -ida_typeinf.get_named_type(): - - get_named_type(til, name, ntf_flags) -> PyObject * - - - 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 - - -ida_typeinf.get_named_type64(): - - get_named_type64(til, name, ntf_flags) -> PyObject * - - - See 'get_named_type()' above.If the value in the 'ti' library is - 32-bit, it will be sign-extended before being stored in the 'value' - pointer. - - @param name (C++: const char *) - @param ntf_flags (C++: int) - - -ida_typeinf.get_numbered_type(): - - get_numbered_type(til, ordinal) -> PyObject * - - - Retrieve a type by its ordinal number. - - - @param ordinal (C++: uint32) - - -ida_typeinf.get_numbered_type_name(): - - 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 NULL - - @param ti (C++: const til_t *) - @param ordinal (C++: uint32) - - -ida_typeinf.get_ordinal_from_idb_type(): - - get_ordinal_from_idb_type(name, type) -> int - - - Get ordinal number of an idb type (struct/enum). The 'type' parameter - is used only to determine the kind of the type (struct or enum) Use - this function to find out the correspondence between idb types and til - types - - @param name (C++: const char *) - @param type (C++: const type_t *) - - -ida_typeinf.get_ordinal_qty(): - - get_ordinal_qty(ti) -> uint32 - - - Get number of allocated ordinals. - - @param ti (C++: const til_t *) - @return: uint32(-1) if failed - - -ida_typeinf.get_scalar_bt(): - - get_scalar_bt(size) -> type_t - - -ida_typeinf.get_stock_tinfo(): - - get_stock_tinfo(tif, id) -> bool - - -ida_typeinf.get_tinfo_attr(): - - get_tinfo_attr(typid, key, bv, all_attrs) -> bool - - -ida_typeinf.get_tinfo_attrs(): - - get_tinfo_attrs(typid, tav, include_ref_attrs) -> bool - - -ida_typeinf.get_tinfo_details(): - - get_tinfo_details(typid, bt2, buf) -> bool - - -ida_typeinf.get_tinfo_pdata(): - - get_tinfo_pdata(outptr, typid, what) -> size_t - - -ida_typeinf.get_tinfo_property(): - - get_tinfo_property(typid, gta_prop) -> size_t - - -ida_typeinf.get_tinfo_size(): - - get_tinfo_size(p_effalign, typid, gts_code) -> size_t - - -ida_typeinf.get_type_flags(): - - get_type_flags(t) -> type_t - - - Get type flags ( 'TYPE_FLAGS_MASK' ) - - - @param t (C++: type_t) - - -ida_typeinf.get_type_ordinal(): - - get_type_ordinal(ti, name) -> int32 - - - Get type ordinal by its name. - - - @param ti (C++: const til_t *) - @param name (C++: const char *) - - -ida_typeinf.guess_func_cc(): - - guess_func_cc(fti, npurged, cc_flags) -> cm_t - - - Use 'func_type_data_t::guess_cc()' - - - @param fti (C++: const func_type_data_t &) - @param npurged (C++: int) - @param cc_flags (C++: int) - - -ida_typeinf.guess_tinfo(): - - guess_tinfo(tif, id) -> int - - - Generate a type information about the id from the disassembly. id can - be a structure/union/enum id or an address. - - @param tif (C++: tinfo_t *) - @param id (C++: tid_t) - @return: one of Guess tinfo codes - - -class ida_typeinf.ida_lowertype_helper_t(): - - Proxy of C++ ida_lowertype_helper_t class - - -ida_typeinf.ida_lowertype_helper_t.func_has_stkframe_hole(): - - func_has_stkframe_hole(self, candidate, candidate_data) -> bool - - -ida_typeinf.ida_lowertype_helper_t.get_func_purged_bytes(): - - get_func_purged_bytes(self, candidate, arg3) -> int - - -ida_typeinf.idc_get_local_type(): - - idc_get_local_type(ordinal, flags, buf, maxsize) -> int - - -ida_typeinf.idc_get_local_type_name(): - - idc_get_local_type_name(ordinal) -> char - - -ida_typeinf.idc_get_local_type_raw(): - - idc_get_local_type_raw(ordinal) -> PyObject * - - -ida_typeinf.idc_get_type(): - - idc_get_type(ea) -> char * - - -ida_typeinf.idc_get_type_raw(): - - idc_get_type_raw(ea) -> PyObject * - - -ida_typeinf.idc_guess_type(): - - idc_guess_type(ea) -> char * - - -ida_typeinf.idc_parse_decl(): - - idc_parse_decl(ti, decl, flags) -> PyObject * - - -ida_typeinf.idc_parse_types(): - - idc_parse_types(input, flags) -> int - - -ida_typeinf.idc_print_type(): - - idc_print_type(py_type, py_fields, name, flags) -> PyObject * - - -ida_typeinf.idc_set_local_type(): - - idc_set_local_type(ordinal, dcl, flags) -> int - - -ida_typeinf.import_type(): - - import_type(til, idx, name, flags=0) -> tid_t - - - Copy a named type from til to idb. - - @param til: type library (C++: const til_t *) - @param idx: the position of the new type in the list of types - (structures or enums). -1 means at the end of the list - (C++: int) - @param name: the type name (C++: const char *) - @param flags: combination of Import type flags (C++: int) - @return: BADNODE on error - - -ida_typeinf.is_autosync(): - - is_autosync(name, type) -> bool - is_autosync(name, tif) -> bool - - - Is the specified idb type automatically synchronized? - - - @param name (C++: const char *) - @param type (C++: const type_t *) - - -ida_typeinf.is_code_far(): - - is_code_far(cm) -> bool - - - Does the given model specify far code?. - - - @param cm (C++: cm_t) - - -ida_typeinf.is_comp_unsure(): - - is_comp_unsure(comp) -> comp_t - - - See 'COMP_UNSURE' . - - - @param comp (C++: comp_t) - - -ida_typeinf.is_data_far(): - - is_data_far(cm) -> bool - - - Does the given model specify far data?. - - - @param cm (C++: cm_t) - - -ida_typeinf.is_gcc(): - - is_gcc() -> bool - - - Is the target compiler 'COMP_GNU' ? - - -ida_typeinf.is_gcc32(): - - is_gcc32() -> bool - - - Is the target compiler 32 bit gcc? - - -ida_typeinf.is_gcc64(): - - is_gcc64() -> bool - - - Is the target compiler 64 bit gcc? - - -ida_typeinf.is_ordinal_name(): - - 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 *) - @param ord (C++: uint32 *) - - -ida_typeinf.is_purging_cc(): - - is_purging_cc(cm) -> bool - - - Does the calling convention clean the stack arguments upon - return?.this function is valid only for x86 code - - @param cm (C++: cm_t) - - -ida_typeinf.is_restype_enum(): - - is_restype_enum(til, type) -> bool - - -ida_typeinf.is_restype_struct(): - - is_restype_struct(til, type) -> bool - - -ida_typeinf.is_restype_struni(): - - is_restype_struni(til, type) -> bool - - -ida_typeinf.is_restype_void(): - - is_restype_void(til, type) -> bool - - -ida_typeinf.is_sdacl_byte(): - - 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) - - -ida_typeinf.is_tah_byte(): - - 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) - - -ida_typeinf.is_type_arithmetic(): - - is_type_arithmetic(t) -> bool - - - Is the type an arithmetic type? (floating or integral) - - - @param t (C++: type_t) - - -ida_typeinf.is_type_array(): - - is_type_array(t) -> bool - - - See 'BT_ARRAY' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_bitfld(): - - is_type_bitfld(t) -> bool - - - See 'BT_BITFIELD' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_bool(): - - is_type_bool(t) -> bool - - - See 'BTF_BOOL' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_char(): - - is_type_char(t) -> bool - - - Does the type specify a char value? (signed or unsigned, see 'Basic - type: integer' ) - - - @param t (C++: type_t) - - -ida_typeinf.is_type_complex(): - - is_type_complex(t) -> bool - - - See 'BT_COMPLEX' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_const(): - - is_type_const(t) -> bool - - - See 'BTM_CONST' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_double(): - - is_type_double(t) -> bool - - - See 'BTF_DOUBLE' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_enum(): - - is_type_enum(t) -> bool - - - See 'BTF_ENUM' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_ext_arithmetic(): - - is_type_ext_arithmetic(t) -> bool - - - Is the type an extended arithmetic type? (arithmetic or enum) - - - @param t (C++: type_t) - - -ida_typeinf.is_type_ext_integral(): - - is_type_ext_integral(t) -> bool - - - Is the type an extended integral type? (integral or enum) - - - @param t (C++: type_t) - - -ida_typeinf.is_type_float(): - - is_type_float(t) -> bool - - - See 'BTF_FLOAT' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_floating(): - - is_type_floating(t) -> bool - - - Is the type a floating point type? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_func(): - - is_type_func(t) -> bool - - - See 'BT_FUNC' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_int(): - - is_type_int(bt) -> bool - - - Does the type_t specify one of the basic types in 'Basic type: - integer' ? - - - @param bt (C++: type_t) - - -ida_typeinf.is_type_int128(): - - 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) - - -ida_typeinf.is_type_int16(): - - 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) - - -ida_typeinf.is_type_int32(): - - 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) - - -ida_typeinf.is_type_int64(): - - 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) - - -ida_typeinf.is_type_integral(): - - is_type_integral(t) -> bool - - - Is the type an integral type (char/short/int/long/bool)? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_ldouble(): - - is_type_ldouble(t) -> bool - - - See 'BTF_LDOUBLE' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_paf(): - - is_type_paf(t) -> bool - - - Is the type a pointer, array, or function type? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_partial(): - - 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) - - -ida_typeinf.is_type_ptr(): - - is_type_ptr(t) -> bool - - - See 'BT_PTR' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_ptr_or_array(): - - is_type_ptr_or_array(t) -> bool - - - Is the type a pointer or array type? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_struct(): - - is_type_struct(t) -> bool - - - See 'BTF_STRUCT' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_struni(): - - is_type_struni(t) -> bool - - - Is the type a struct or union? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_sue(): - - is_type_sue(t) -> bool - - - Is the type a struct/union/enum? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_tbyte(): - - is_type_tbyte(t) -> bool - - - See 'BTF_FLOAT' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_typedef(): - - is_type_typedef(t) -> bool - - - See 'BTF_TYPEDEF' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uchar(): - - is_type_uchar(t) -> bool - - - See 'BTF_UCHAR' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uint(): - - is_type_uint(t) -> bool - - - See 'BTF_UINT' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uint128(): - - is_type_uint128(t) -> bool - - - See 'BTF_UINT128' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uint16(): - - is_type_uint16(t) -> bool - - - See 'BTF_UINT16' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uint32(): - - is_type_uint32(t) -> bool - - - See 'BTF_UINT32' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uint64(): - - is_type_uint64(t) -> bool - - - See 'BTF_UINT64' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_union(): - - is_type_union(t) -> bool - - - See 'BTF_UNION' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_unknown(): - - is_type_unknown(t) -> bool - - - See 'BT_UNKNOWN' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_void(): - - is_type_void(t) -> bool - - - See 'BTF_VOID' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_volatile(): - - is_type_volatile(t) -> bool - - - See 'BTM_VOLATILE' . - - - @param t (C++: type_t) - - -ida_typeinf.is_typeid_last(): - - 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) - - -ida_typeinf.is_user_cc(): - - is_user_cc(cm) -> bool - - - Does the calling convention specify argument locations explicitly? - - - @param cm (C++: cm_t) - - -ida_typeinf.is_vararg_cc(): - - is_vararg_cc(cm) -> bool - - - Does the calling convention use ellipsis? - - - @param cm (C++: cm_t) - - -ida_typeinf.lexcompare_tinfo(): - - lexcompare_tinfo(t1, t2, arg3) -> int - - -ida_typeinf.load_til(): - - load_til(name, tildir) -> til_t - - - Load til from a file. Failure to load base tils are reported into - 'errbuf'. They do not prevent loading of the main til. - - @param name: filename of the til. If it's an absolute path, tildir is - ignored. NB: the file extension is forced to .til (C++: - const char *) - @param tildir: directory where to load the til from. NULL means - default til subdirectories. (C++: const char *) - @return: pointer to resulting til, NULL if failed and error message is - in errbuf - - -ida_typeinf.load_til_header(): - - load_til_header(tildir, name) -> til_t - - - Get human-readable til description. - - - @param tildir (C++: const char *) - @param name (C++: const char *) - - -ida_typeinf.lower_type(): - - 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, etcWe 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 childrentypes walked through by recursion. - - @param til (C++: til_t *) - @param tif (C++: tinfo_t *) - @param name (C++: const char *) - @param _helper (C++: lowertype_helper_t *) - - -class ida_typeinf.lowertype_helper_t(): - - Proxy of C++ lowertype_helper_t class - - -ida_typeinf.lowertype_helper_t.func_has_stkframe_hole(): - - func_has_stkframe_hole(self, candidate, candidate_data) -> bool - - -ida_typeinf.lowertype_helper_t.get_func_purged_bytes(): - - get_func_purged_bytes(self, candidate, candidate_data) -> int - - -ida_typeinf.new_til(): - - new_til(name, desc) -> til_t - - - Initialize a til. - - - @param name (C++: const char *) - @param desc (C++: const char *) - - -ida_typeinf.next_named_type(): - - next_named_type(ti, name, ntf_flags) -> char const * - - - Enumerate types. Returns mangled names. Never returns anonymous types. - To include it, enumerate types by ordinals. - - @param ti (C++: const til_t *) - @param name (C++: const char *) - @param ntf_flags (C++: int) - - -ida_typeinf.optimize_argloc(): - - optimize_argloc(vloc, size, gaps) -> bool - - - Verify and optimize scattered argloc into simple form. All new arglocs - must be processed by this function. - - @param vloc (C++: argloc_t *) - @param size (C++: int) - @param gaps (C++: const rangeset_t *) - - -ida_typeinf.pack_idcobj_to_bv(): - - 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 *) - @param tif (C++: const tinfo_t &) - @param bytes (C++: relobj_t *) - @param objoff (C++: void *) - @param pio_flags (C++: int) - - -ida_typeinf.pack_idcobj_to_idb(): - - 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 *) - @param tif (C++: const tinfo_t &) - @param ea (C++: ea_t) - @param pio_flags (C++: int) - - -ida_typeinf.pack_object_to_bv(): - - pack_object_to_bv(py_obj, ti, py_type, py_fields, base_ea, pio_flags=0) -> PyObject * - - - Packs a typed object to a string - @param ti: Type info. 'None' can be passed. - @param tp: type string - @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 - - -ida_typeinf.pack_object_to_idb(): - - pack_object_to_idb(py_obj, ti, py_type, py_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 ti: Type info. 'None' can be passed. - @param tp: type string - @param fields: fields string (may be empty or None) - @param ea: ea to be used while packing - @param pio_flags: flags used while unpacking - - -ida_typeinf.parse_decl(): - - parse_decl(tif, til, decl, flags) -> bool - - - 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.name & tif may be - empty after the call! - - @param tif: type info (C++: tinfo_t *) - @param til: type library to use. may be NULL (C++: til_t *) - @param decl: C declaration to parse (C++: const char *) - @param flags: combination of Type parsing flags bits (C++: int) - - -ida_typeinf.parse_decls(): - - 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: type library to store the result (C++: til_t *) - @param input: input string or file name (see hti_flags) (C++: const - char *) - @param printer: function to output error messages (use msg or NULL or - your own callback) (C++: printer_t *) - @param hti_flags: combination of Type formatting flags (C++: int) - @return: number of errors, 0 means ok. - - -class ida_typeinf.predicate_t(): - - Proxy of C++ predicate_t class - - -ida_typeinf.predicate_t.should_display(): - - should_display(self, til, name, type, fields) -> bool - - -ida_typeinf.print_argloc(): - - print_argloc(vloc, size=0, vflags=0) -> size_t - - - Convert an argloc to human readable form. - - - @param vloc (C++: const argloc_t &) - @param size (C++: int) - @param vflags (C++: int) - - -ida_typeinf.print_decls(): - - print_decls(printer, til, py_ordinals, flags) -> int - - - Print types (and possibly their dependencies) in a format suitable for - use in a header file. This is the reverse 'parse_decls()' . - - @param printer: a handler for printing text (C++: text_sink_t &) - @param til: the type library holding the ordinals (C++: til_t *) - @param flags: flags for the algorithm. A combination of PDF_* - constants (C++: uint32) - - -ida_typeinf.print_tinfo(): - - print_tinfo(prefix, indent, cmtindent, flags, tif, name, cmt) -> bool - - -ida_typeinf.print_type(): - - print_type(ea, prtype_flags) -> bool - - - Get type declaration for the specified address. - - @param ea: address (C++: ea_t) - @param prtype_flags: combination of Type printing flags (C++: int) - @return: success - - -class ida_typeinf.ptr_type_data_t(): - - Proxy of C++ ptr_type_data_t class - - -ida_typeinf.ptr_type_data_t.based_ptr_size: - ptr_type_data_t_based_ptr_size_get(self) -> uchar - -ida_typeinf.ptr_type_data_t.closure: - ptr_type_data_t_closure_get(self) -> tinfo_t - -ida_typeinf.ptr_type_data_t.delta: - ptr_type_data_t_delta_get(self) -> int32 - -ida_typeinf.ptr_type_data_t.is_code_ptr(): - - is_code_ptr(self) -> bool - - -ida_typeinf.ptr_type_data_t.is_shifted(): - - is_shifted(self) -> bool - - -ida_typeinf.ptr_type_data_t.obj_type: - ptr_type_data_t_obj_type_get(self) -> tinfo_t - -ida_typeinf.ptr_type_data_t.parent: - ptr_type_data_t_parent_get(self) -> tinfo_t - -ida_typeinf.ptr_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.ptr_type_data_t.taptr_bits: - ptr_type_data_t_taptr_bits_get(self) -> uchar - -ida_typeinf.read_tinfo_bitfield_value(): - - read_tinfo_bitfield_value(typid, v, bitoff) -> uint64 - - -class ida_typeinf.reginfovec_t(): - - Proxy of C++ qvector<(reg_info_t)> class - - -ida_typeinf.reginfovec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.reginfovec_t.append(): - - push_back(self, x) - push_back(self) -> reg_info_t - - -ida_typeinf.reginfovec_t.at(): - - __getitem__(self, i) -> reg_info_t - - -ida_typeinf.reginfovec_t.begin(): - - begin(self) -> reg_info_t - begin(self) -> reg_info_t - - -ida_typeinf.reginfovec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.reginfovec_t.clear(): - - clear(self) - - -ida_typeinf.reginfovec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.reginfovec_t.end(): - - end(self) -> reg_info_t - end(self) -> reg_info_t - - -ida_typeinf.reginfovec_t.erase(): - - erase(self, it) -> reg_info_t - erase(self, first, last) -> reg_info_t - - -ida_typeinf.reginfovec_t.extract(): - - extract(self) -> reg_info_t - - -ida_typeinf.reginfovec_t.find(): - - find(self, x) -> reg_info_t - find(self, x) -> reg_info_t - - -ida_typeinf.reginfovec_t.grow(): - - grow(self, x=reg_info_t()) - - -ida_typeinf.reginfovec_t.has(): - - has(self, x) -> bool - - -ida_typeinf.reginfovec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.reginfovec_t.insert(): - - insert(self, it, x) -> reg_info_t - - -ida_typeinf.reginfovec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.reginfovec_t.push_back(): - - push_back(self, x) - push_back(self) -> reg_info_t - - -ida_typeinf.reginfovec_t.qclear(): - - qclear(self) - - -ida_typeinf.reginfovec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.reginfovec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.reginfovec_t.size(): - - size(self) -> size_t - - -ida_typeinf.reginfovec_t.swap(): - - swap(self, r) - - -ida_typeinf.reginfovec_t.truncate(): - - truncate(self) - - -class ida_typeinf.regobj_t(): - - Proxy of C++ regobj_t class - - -ida_typeinf.regobj_t.regidx: - regobj_t_regidx_get(self) -> int - -ida_typeinf.regobj_t.relocate: - regobj_t_relocate_get(self) -> int - -ida_typeinf.regobj_t.size(): - - size(self) -> size_t - - -ida_typeinf.regobj_t.value: - regobj_t_value_get(self) -> bytevec_t * - -class ida_typeinf.regobjs_t(): - - Proxy of C++ regobjs_t class - - -ida_typeinf.regobjs_t.at(): - - at(self, _idx) -> regobj_t - - -ida_typeinf.regobjs_t.begin(): - - begin(self) -> regobj_t - begin(self) -> regobj_t - - -ida_typeinf.regobjs_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.regobjs_t.clear(): - - clear(self) - - -ida_typeinf.regobjs_t.empty(): - - empty(self) -> bool - - -ida_typeinf.regobjs_t.end(): - - end(self) -> regobj_t - end(self) -> regobj_t - - -ida_typeinf.regobjs_t.erase(): - - erase(self, it) -> regobj_t - erase(self, first, last) -> regobj_t - - -ida_typeinf.regobjs_t.extract(): - - extract(self) -> regobj_t - - -ida_typeinf.regobjs_t.grow(): - - grow(self, x=regobj_t()) - - -ida_typeinf.regobjs_t.inject(): - - inject(self, s, len) - - -ida_typeinf.regobjs_t.insert(): - - insert(self, it, x) -> regobj_t - - -ida_typeinf.regobjs_t.pop_back(): - - pop_back(self) - - -ida_typeinf.regobjs_t.push_back(): - - push_back(self, x) - push_back(self) -> regobj_t - - -ida_typeinf.regobjs_t.qclear(): - - qclear(self) - - -ida_typeinf.regobjs_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.regobjs_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.regobjs_t.size(): - - size(self) -> size_t - - -ida_typeinf.regobjs_t.swap(): - - swap(self, r) - - -ida_typeinf.regobjs_t.truncate(): - - truncate(self) - - -class ida_typeinf.regobjvec_t(): - - Proxy of C++ qvector<(regobj_t)> class - - -ida_typeinf.regobjvec_t.at(): - - at(self, _idx) -> regobj_t - - -ida_typeinf.regobjvec_t.begin(): - - begin(self) -> regobj_t - begin(self) -> regobj_t - - -ida_typeinf.regobjvec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.regobjvec_t.clear(): - - clear(self) - - -ida_typeinf.regobjvec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.regobjvec_t.end(): - - end(self) -> regobj_t - end(self) -> regobj_t - - -ida_typeinf.regobjvec_t.erase(): - - erase(self, it) -> regobj_t - erase(self, first, last) -> regobj_t - - -ida_typeinf.regobjvec_t.extract(): - - extract(self) -> regobj_t - - -ida_typeinf.regobjvec_t.grow(): - - grow(self, x=regobj_t()) - - -ida_typeinf.regobjvec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.regobjvec_t.insert(): - - insert(self, it, x) -> regobj_t - - -ida_typeinf.regobjvec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.regobjvec_t.push_back(): - - push_back(self, x) - push_back(self) -> regobj_t - - -ida_typeinf.regobjvec_t.qclear(): - - qclear(self) - - -ida_typeinf.regobjvec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.regobjvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.regobjvec_t.size(): - - size(self) -> size_t - - -ida_typeinf.regobjvec_t.swap(): - - swap(self, r) - - -ida_typeinf.regobjvec_t.truncate(): - - truncate(self) - - -ida_typeinf.remove_abi_opts(): - - remove_abi_opts(abi_opts, user_level=False) -> bool - - -ida_typeinf.remove_pointer(): - - remove_pointer(tif) -> tinfo_t - - - '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() - - @param tif (C++: const tinfo_t &) - - -ida_typeinf.remove_tinfo_pointer(): - - remove_tinfo_pointer(tif, name, til) -> PyObject * - - - 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 til (C++: const til_t *) - - -ida_typeinf.replace_ordinal_typerefs(): - - 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: type library to use. may be NULL. (C++: til_t *) - @param tif: type to modify (in/out) (C++: tinfo_t *) - - -ida_typeinf.resolve_typedef(): - - resolve_typedef(til, type) -> type_t const * - - -class ida_typeinf.rrel_t(): - - Proxy of C++ rrel_t class - - -ida_typeinf.rrel_t.off: - rrel_t_off_get(self) -> sval_t - -ida_typeinf.rrel_t.reg: - rrel_t_reg_get(self) -> int - -ida_typeinf.save_tinfo(): - - save_tinfo(tif, til, ord, name, ntf_flags) -> tinfo_code_t - - -class ida_typeinf.scattered_aloc_t(): - - Proxy of C++ scattered_aloc_t class - - -ida_typeinf.scattered_aloc_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.scattered_aloc_t.at(): - - at(self, _idx) -> argpart_t - - -ida_typeinf.scattered_aloc_t.begin(): - - begin(self) -> argpart_t - begin(self) -> argpart_t - - -ida_typeinf.scattered_aloc_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.scattered_aloc_t.clear(): - - clear(self) - - -ida_typeinf.scattered_aloc_t.empty(): - - empty(self) -> bool - - -ida_typeinf.scattered_aloc_t.end(): - - end(self) -> argpart_t - end(self) -> argpart_t - - -ida_typeinf.scattered_aloc_t.erase(): - - erase(self, it) -> argpart_t - erase(self, first, last) -> argpart_t - - -ida_typeinf.scattered_aloc_t.extract(): - - extract(self) -> argpart_t - - -ida_typeinf.scattered_aloc_t.find(): - - find(self, x) -> argpart_t - find(self, x) -> argpart_t - - -ida_typeinf.scattered_aloc_t.grow(): - - grow(self, x=argpart_t()) - - -ida_typeinf.scattered_aloc_t.has(): - - has(self, x) -> bool - - -ida_typeinf.scattered_aloc_t.inject(): - - inject(self, s, len) - - -ida_typeinf.scattered_aloc_t.insert(): - - insert(self, it, x) -> argpart_t - - -ida_typeinf.scattered_aloc_t.pop_back(): - - pop_back(self) - - -ida_typeinf.scattered_aloc_t.push_back(): - - push_back(self, x) - push_back(self) -> argpart_t - - -ida_typeinf.scattered_aloc_t.qclear(): - - qclear(self) - - -ida_typeinf.scattered_aloc_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.scattered_aloc_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.scattered_aloc_t.size(): - - size(self) -> size_t - - -ida_typeinf.scattered_aloc_t.swap(): - - swap(self, r) - - -ida_typeinf.scattered_aloc_t.truncate(): - - truncate(self) - - -ida_typeinf.score_tinfo(): - - score_tinfo(tif) -> uint32 - - -ida_typeinf.serialize_tinfo(): - - serialize_tinfo(type, fields, fldcmts, tif, sudt_flags) -> bool - - -ida_typeinf.set_abi_name(): - - set_abi_name(abiname, user_level=False) -> bool - - - Set abi name (see 'Compiler IDs' ) - - - @param abiname (C++: const char *) - @param user_level (C++: bool) - - -ida_typeinf.set_c_header_path(): - - set_c_header_path(incdir) - - - Set include directory path the target compiler. - - - @param incdir (C++: const char *) - - -ida_typeinf.set_c_macros(): - - set_c_macros(macros) - - - Set predefined macros for the target compiler. - - - @param macros (C++: const char *) - - -ida_typeinf.set_compiler(): - - set_compiler(cc, flags, abiname=None) -> bool - - - Change current compiler. - - @param cc: compiler to switch to (C++: const compiler_info_t &) - @param flags: Set compiler flags (C++: int) - @param abiname: ABI name (C++: const char *) - @return: success - - -ida_typeinf.set_compiler_id(): - - set_compiler_id(id, abiname=None) -> bool - - - Set the compiler id (see 'Compiler IDs' ) - - - @param id (C++: comp_t) - @param abiname (C++: const char *) - - -ida_typeinf.set_compiler_string(): - - set_compiler_string(compstr, user_level) -> bool - - -ida_typeinf.set_numbered_type(): - - set_numbered_type(ti, ordinal, ntf_flags, name, type, fields=None, cmt=None, fldcmts=None, sclass=None) -> tinfo_code_t - - - Store a type in the til. 'name' may be NULL for anonymous types. The - specified ordinal must be free (no other type is using it). For - ntf_flags, only 'NTF_REPLACE' is consulted. - - @param ti (C++: til_t *) - @param ordinal (C++: uint32) - @param ntf_flags (C++: int) - @param name (C++: const char *) - @param type (C++: const type_t *) - @param fields (C++: const p_list *) - @param cmt (C++: const char *) - @param fldcmts (C++: const p_list *) - @param sclass (C++: const sclass_t *) - - -ida_typeinf.set_tinfo_attr(): - - set_tinfo_attr(tif, ta, may_overwrite) -> bool - - -ida_typeinf.set_tinfo_attrs(): - - set_tinfo_attrs(tif, ta) -> bool - - -ida_typeinf.set_tinfo_property(): - - set_tinfo_property(tif, sta_prop, x) -> size_t - - -ida_typeinf.set_type_alias(): - - 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 - reference to srctype by dsttype. - - @param ti (C++: til_t *) - @param src_ordinal (C++: uint32) - @param dst_ordinal (C++: uint32) - - -class ida_typeinf.simd_info_t(): - - Proxy of C++ simd_info_t class - - -ida_typeinf.simd_info_t.match_pattern(): - - match_pattern(self, pattern) -> bool - - -ida_typeinf.simd_info_t.memtype: - simd_info_t_memtype_get(self) -> type_t - -ida_typeinf.simd_info_t.name: - simd_info_t_name_get(self) -> char const * - -ida_typeinf.simd_info_t.size: - simd_info_t_size_get(self) -> uint16 - -ida_typeinf.simd_info_t.tif: - simd_info_t_tif_get(self) -> tinfo_t - -ida_typeinf.store_til(): - - 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: type library to store (C++: til_t *) - @param tildir: directory where to store the til. NULL means current - directory. (C++: const char *) - @param name: filename of the til. If it's an absolute path, tildir is - ignored. NB: the file extension is forced to .til (C++: - const char *) - @return: success - - -class ida_typeinf.text_sink_t(): - - Proxy of C++ text_sink_t class - - -ida_typeinf.text_sink_t._print(): - - _print(self, str) -> int - - -class ida_typeinf.til_symbol_t(): - - Proxy of C++ til_symbol_t class - - -ida_typeinf.til_symbol_t.name: - til_symbol_t_name_get(self) -> char const * - -ida_typeinf.til_symbol_t.til: - til_symbol_t_til_get(self) -> til_t - -class ida_typeinf.til_t(): - - Proxy of C++ til_t class - - -ida_typeinf.til_t.base(): - - base(self, n) -> til_t - - -ida_typeinf.til_t.cc: - til_t_cc_get(self) -> compiler_info_t - -ida_typeinf.til_t.desc: - til_t_desc_get(self) -> char * - -ida_typeinf.til_t.flags: - til_t_flags_get(self) -> uint32 - -ida_typeinf.til_t.is_dirty(): - - is_dirty(self) -> bool - - -ida_typeinf.til_t.name: - til_t_name_get(self) -> char * - -ida_typeinf.til_t.nbases: - til_t_nbases_get(self) -> int - -ida_typeinf.til_t.nrefs: - til_t_nrefs_get(self) -> int - -ida_typeinf.til_t.nstreams: - til_t_nstreams_get(self) -> int - -ida_typeinf.til_t.set_dirty(): - - set_dirty(self) - - -ida_typeinf.til_t.streams: - til_t_streams_get(self) -> til_stream_t ** - -class ida_typeinf.tinfo_t(): - - Proxy of C++ tinfo_t class - - -ida_typeinf.tinfo_t._print(): - - _print(self, name=None, prtype_flags=0x0000, indent=0, cmtindent=0, prefix=None, cmt=None) -> bool - - -ida_typeinf.tinfo_t.append_covered(): - - append_covered(self, out, offset=0) -> bool - - -ida_typeinf.tinfo_t.calc_gaps(): - - calc_gaps(self, out) -> bool - - -ida_typeinf.tinfo_t.calc_purged_bytes(): - - calc_purged_bytes(self) -> int - - -ida_typeinf.tinfo_t.calc_score(): - - calc_score(self) -> uint32 - - -ida_typeinf.tinfo_t.calc_udt_aligns(): - - calc_udt_aligns(self, sudt_flags=0x0004) -> bool - - -ida_typeinf.tinfo_t.change_sign(): - - change_sign(self, sign) -> bool - - -ida_typeinf.tinfo_t.clear(): - - clear(self) - - -ida_typeinf.tinfo_t.clr_const(): - - clr_const(self) - - -ida_typeinf.tinfo_t.clr_const_volatile(): - - clr_const_volatile(self) - - -ida_typeinf.tinfo_t.clr_volatile(): - - clr_volatile(self) - - -ida_typeinf.tinfo_t.compare(): - - compare(self, r) -> int - - -ida_typeinf.tinfo_t.compare_with(): - - compare_with(self, r, tcflags=0) -> bool - - -ida_typeinf.tinfo_t.convert_array_to_ptr(): - - convert_array_to_ptr(self) -> bool - - -ida_typeinf.tinfo_t.copy(): - - copy(self) -> tinfo_t - - -ida_typeinf.tinfo_t.create_array(): - - create_array(self, p, decl_type=BT_ARRAY) -> bool - create_array(self, tif, nelems=0, base=0, decl_type=BT_ARRAY) -> bool - - -ida_typeinf.tinfo_t.create_bitfield(): - - create_bitfield(self, p, decl_type=BT_BITFIELD) -> bool - create_bitfield(self, nbytes, width, is_unsigned=False, decl_type=BT_BITFIELD) -> bool - - -ida_typeinf.tinfo_t.create_enum(): - - create_enum(self, p, decl_type=BTF_ENUM) -> bool - - -ida_typeinf.tinfo_t.create_forward_decl(): - - create_forward_decl(self, til, decl_type, name, ntf_flags=0) -> tinfo_code_t - - -ida_typeinf.tinfo_t.create_func(): - - create_func(self, p, decl_type=BT_FUNC) -> bool - - -ida_typeinf.tinfo_t.create_ptr(): - - create_ptr(self, p, decl_type=BT_PTR) -> bool - create_ptr(self, tif, bps=0, decl_type=BT_PTR) -> bool - - -ida_typeinf.tinfo_t.create_simple_type(): - - create_simple_type(self, decl_type) -> bool - - -ida_typeinf.tinfo_t.create_typedef(): - - create_typedef(self, p, decl_type=BTF_TYPEDEF, try_ordinal=True) -> bool - create_typedef(self, til, name, decl_type=BTF_TYPEDEF, try_ordinal=True) - create_typedef(self, til, ord, decl_type=BTF_TYPEDEF) - - -ida_typeinf.tinfo_t.create_udt(): - - create_udt(self, p, decl_type) -> bool - - -ida_typeinf.tinfo_t.del_attr(): - - del_attr(self, key, make_copy=True) -> bool - - -ida_typeinf.tinfo_t.del_attrs(): - - del_attrs(self) - - -ida_typeinf.tinfo_t.deserialize(): - - deserialize(self, til, ptype, pfields=None, pfldcmts=None) -> bool - deserialize(self, til, type, fields, cmts=None) -> bool - - -ida_typeinf.tinfo_t.dstr(): - - dstr(self) -> char const * - - -ida_typeinf.tinfo_t.empty(): - - empty(self) -> bool - - -ida_typeinf.tinfo_t.equals_to(): - - equals_to(self, r) -> bool - - -ida_typeinf.tinfo_t.find_udt_member(): - - find_udt_member(self, udm, strmem_flags) -> int - - -ida_typeinf.tinfo_t.get_array_details(): - - get_array_details(self, ai) -> bool - - -ida_typeinf.tinfo_t.get_array_element(): - - get_array_element(self) -> tinfo_t - - -ida_typeinf.tinfo_t.get_array_nelems(): - - get_array_nelems(self) -> int - - -ida_typeinf.tinfo_t.get_attr(): - - get_attr(self, key, all_attrs=True) -> PyObject * - - -ida_typeinf.tinfo_t.get_attrs(): - - get_attrs(self, tav, all_attrs=False) -> bool - - -ida_typeinf.tinfo_t.get_bitfield_details(): - - get_bitfield_details(self, bi) -> bool - - -ida_typeinf.tinfo_t.get_declalign(): - - get_declalign(self) -> uchar - - -ida_typeinf.tinfo_t.get_decltype(): - - get_decltype(self) -> type_t - - -ida_typeinf.tinfo_t.get_enum_base_type(): - - get_enum_base_type(self) -> type_t - - -ida_typeinf.tinfo_t.get_enum_details(): - - get_enum_details(self, ei) -> bool - - -ida_typeinf.tinfo_t.get_final_ordinal(): - - get_final_ordinal(self) -> uint32 - - -ida_typeinf.tinfo_t.get_final_type_name(): - - get_final_type_name(self) -> bool - - -ida_typeinf.tinfo_t.get_func_details(): - - get_func_details(self, fi, gtd=GTD_CALC_ARGLOCS) -> bool - - -ida_typeinf.tinfo_t.get_modifiers(): - - get_modifiers(self) -> type_t - - -ida_typeinf.tinfo_t.get_named_type(): - - get_named_type(self, til, name, decl_type=BTF_TYPEDEF, resolve=True, try_ordinal=True) -> bool - - -ida_typeinf.tinfo_t.get_nargs(): - - get_nargs(self) -> int - - -ida_typeinf.tinfo_t.get_next_type_name(): - - get_next_type_name(self) -> bool - - -ida_typeinf.tinfo_t.get_nth_arg(): - - get_nth_arg(self, n) -> tinfo_t - - -ida_typeinf.tinfo_t.get_numbered_type(): - - get_numbered_type(self, til, ordinal, decl_type=BTF_TYPEDEF, resolve=True) -> bool - - -ida_typeinf.tinfo_t.get_onemember_type(): - - get_onemember_type(self) -> tinfo_t - - -ida_typeinf.tinfo_t.get_ordinal(): - - get_ordinal(self) -> uint32 - - -ida_typeinf.tinfo_t.get_pointed_object(): - - get_pointed_object(self) -> tinfo_t - - -ida_typeinf.tinfo_t.get_ptr_details(): - - get_ptr_details(self, pi) -> bool - - -ida_typeinf.tinfo_t.get_ptrarr_object(): - - get_ptrarr_object(self) -> tinfo_t - - -ida_typeinf.tinfo_t.get_ptrarr_objsize(): - - get_ptrarr_objsize(self) -> int - - -ida_typeinf.tinfo_t.get_realtype(): - - get_realtype(self, full=False) -> type_t - - -ida_typeinf.tinfo_t.get_rettype(): - - get_rettype(self) -> tinfo_t - - -ida_typeinf.tinfo_t.get_sign(): - - get_sign(self) -> type_sign_t - - -ida_typeinf.tinfo_t.get_size(): - - get_size(self, p_effalign=None, gts_code=0) -> size_t - - -ida_typeinf.tinfo_t.get_stock(): - - get_stock(id) -> tinfo_t - - -ida_typeinf.tinfo_t.get_til(): - - get_til(self) -> til_t - - -ida_typeinf.tinfo_t.get_type_name(): - - get_type_name(self) -> bool - - -ida_typeinf.tinfo_t.get_udt_details(): - - get_udt_details(self, udt, gtd=GTD_CALC_LAYOUT) -> bool - - -ida_typeinf.tinfo_t.get_udt_nmembers(): - - get_udt_nmembers(self) -> int - - -ida_typeinf.tinfo_t.get_unpadded_size(): - - get_unpadded_size(self) -> size_t - - -ida_typeinf.tinfo_t.has_details(): - - has_details(self) -> bool - - -ida_typeinf.tinfo_t.has_vftable(): - - has_vftable(self) -> bool - - -ida_typeinf.tinfo_t.is_anonymous_udt(): - - is_anonymous_udt(self) -> bool - - -ida_typeinf.tinfo_t.is_arithmetic(): - - is_arithmetic(self) -> bool - - -ida_typeinf.tinfo_t.is_array(): - - is_array(self) -> bool - - -ida_typeinf.tinfo_t.is_bitfield(): - - is_bitfield(self) -> bool - - -ida_typeinf.tinfo_t.is_bool(): - - is_bool(self) -> bool - - -ida_typeinf.tinfo_t.is_castable_to(): - - is_castable_to(self, target) -> bool - - -ida_typeinf.tinfo_t.is_char(): - - is_char(self) -> bool - - -ida_typeinf.tinfo_t.is_complex(): - - is_complex(self) -> bool - - -ida_typeinf.tinfo_t.is_const(): - - is_const(self) -> bool - - -ida_typeinf.tinfo_t.is_correct(): - - is_correct(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_array(): - - is_decl_array(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_bitfield(): - - is_decl_bitfield(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_bool(): - - is_decl_bool(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_char(): - - is_decl_char(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_complex(): - - is_decl_complex(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_const(): - - is_decl_const(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_double(): - - is_decl_double(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_enum(): - - is_decl_enum(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_float(): - - is_decl_float(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_floating(): - - is_decl_floating(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_func(): - - is_decl_func(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_int(): - - is_decl_int(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_int128(): - - is_decl_int128(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_int16(): - - is_decl_int16(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_int32(): - - is_decl_int32(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_int64(): - - is_decl_int64(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_last(): - - is_decl_last(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_ldouble(): - - is_decl_ldouble(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_paf(): - - is_decl_paf(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_partial(): - - is_decl_partial(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_ptr(): - - is_decl_ptr(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_struct(): - - is_decl_struct(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_sue(): - - is_decl_sue(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_tbyte(): - - is_decl_tbyte(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_typedef(): - - is_decl_typedef(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uchar(): - - is_decl_uchar(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_udt(): - - is_decl_udt(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uint(): - - is_decl_uint(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uint128(): - - is_decl_uint128(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uint16(): - - is_decl_uint16(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uint32(): - - is_decl_uint32(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uint64(): - - is_decl_uint64(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_union(): - - is_decl_union(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_unknown(): - - is_decl_unknown(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_void(): - - is_decl_void(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_volatile(): - - is_decl_volatile(self) -> bool - - -ida_typeinf.tinfo_t.is_double(): - - is_double(self) -> bool - - -ida_typeinf.tinfo_t.is_empty_udt(): - - is_empty_udt(self) -> bool - - -ida_typeinf.tinfo_t.is_enum(): - - is_enum(self) -> bool - - -ida_typeinf.tinfo_t.is_ext_arithmetic(): - - is_ext_arithmetic(self) -> bool - - -ida_typeinf.tinfo_t.is_ext_integral(): - - is_ext_integral(self) -> bool - - -ida_typeinf.tinfo_t.is_float(): - - is_float(self) -> bool - - -ida_typeinf.tinfo_t.is_floating(): - - is_floating(self) -> bool - - -ida_typeinf.tinfo_t.is_forward_decl(): - - is_forward_decl(self) -> bool - - -ida_typeinf.tinfo_t.is_from_subtil(): - - is_from_subtil(self) -> bool - - -ida_typeinf.tinfo_t.is_func(): - - is_func(self) -> bool - - -ida_typeinf.tinfo_t.is_funcptr(): - - is_funcptr(self) -> bool - - -ida_typeinf.tinfo_t.is_high_func(): - - is_high_func(self) -> bool - - -ida_typeinf.tinfo_t.is_int(): - - is_int(self) -> bool - - -ida_typeinf.tinfo_t.is_int128(): - - is_int128(self) -> bool - - -ida_typeinf.tinfo_t.is_int16(): - - is_int16(self) -> bool - - -ida_typeinf.tinfo_t.is_int32(): - - is_int32(self) -> bool - - -ida_typeinf.tinfo_t.is_int64(): - - is_int64(self) -> bool - - -ida_typeinf.tinfo_t.is_integral(): - - is_integral(self) -> bool - - -ida_typeinf.tinfo_t.is_ldouble(): - - is_ldouble(self) -> bool - - -ida_typeinf.tinfo_t.is_manually_castable_to(): - - is_manually_castable_to(self, target) -> bool - - -ida_typeinf.tinfo_t.is_one_fpval(): - - is_one_fpval(self) -> bool - - -ida_typeinf.tinfo_t.is_paf(): - - is_paf(self) -> bool - - -ida_typeinf.tinfo_t.is_partial(): - - is_partial(self) -> bool - - -ida_typeinf.tinfo_t.is_ptr(): - - is_ptr(self) -> bool - - -ida_typeinf.tinfo_t.is_ptr_or_array(): - - is_ptr_or_array(self) -> bool - - -ida_typeinf.tinfo_t.is_purging_cc(): - - is_purging_cc(self) -> bool - - -ida_typeinf.tinfo_t.is_pvoid(): - - is_pvoid(self) -> bool - - -ida_typeinf.tinfo_t.is_scalar(): - - is_scalar(self) -> bool - - -ida_typeinf.tinfo_t.is_shifted_ptr(): - - is_shifted_ptr(self) -> bool - - -ida_typeinf.tinfo_t.is_signed(): - - is_signed(self) -> bool - - -ida_typeinf.tinfo_t.is_small_udt(): - - is_small_udt(self) -> bool - - -ida_typeinf.tinfo_t.is_sse_type(): - - is_sse_type(self) -> bool - - -ida_typeinf.tinfo_t.is_struct(): - - is_struct(self) -> bool - - -ida_typeinf.tinfo_t.is_sue(): - - is_sue(self) -> bool - - -ida_typeinf.tinfo_t.is_tbyte(): - - is_tbyte(self) -> bool - - -ida_typeinf.tinfo_t.is_typeref(): - - is_typeref(self) -> bool - - -ida_typeinf.tinfo_t.is_uchar(): - - is_uchar(self) -> bool - - -ida_typeinf.tinfo_t.is_udt(): - - is_udt(self) -> bool - - -ida_typeinf.tinfo_t.is_uint(): - - is_uint(self) -> bool - - -ida_typeinf.tinfo_t.is_uint128(): - - is_uint128(self) -> bool - - -ida_typeinf.tinfo_t.is_uint16(): - - is_uint16(self) -> bool - - -ida_typeinf.tinfo_t.is_uint32(): - - is_uint32(self) -> bool - - -ida_typeinf.tinfo_t.is_uint64(): - - is_uint64(self) -> bool - - -ida_typeinf.tinfo_t.is_union(): - - is_union(self) -> bool - - -ida_typeinf.tinfo_t.is_unknown(): - - is_unknown(self) -> bool - - -ida_typeinf.tinfo_t.is_unsigned(): - - is_unsigned(self) -> bool - - -ida_typeinf.tinfo_t.is_user_cc(): - - is_user_cc(self) -> bool - - -ida_typeinf.tinfo_t.is_vararg_cc(): - - is_vararg_cc(self) -> bool - - -ida_typeinf.tinfo_t.is_varstruct(): - - is_varstruct(self) -> bool - - -ida_typeinf.tinfo_t.is_vftable(): - - is_vftable(self) -> bool - - -ida_typeinf.tinfo_t.is_void(): - - is_void(self) -> bool - - -ida_typeinf.tinfo_t.is_volatile(): - - is_volatile(self) -> bool - - -ida_typeinf.tinfo_t.is_well_defined(): - - is_well_defined(self) -> bool - - -ida_typeinf.tinfo_t.present(): - - present(self) -> bool - - -ida_typeinf.tinfo_t.read_bitfield_value(): - - read_bitfield_value(self, v, bitoff) -> uint64 - - -ida_typeinf.tinfo_t.remove_ptr_or_array(): - - remove_ptr_or_array(self) -> bool - - -ida_typeinf.tinfo_t.requires_qualifier(): - - requires_qualifier(self, name, offset) -> bool - - -ida_typeinf.tinfo_t.serialize(): - - serialize(self, sudt_flags=SUDT_FAST|SUDT_TRUNC) -> PyObject * - - -ida_typeinf.tinfo_t.set_attr(): - - set_attr(self, ta, may_overwrite=True) -> bool - - -ida_typeinf.tinfo_t.set_attrs(): - - set_attrs(self, tav) -> bool - - -ida_typeinf.tinfo_t.set_const(): - - set_const(self) - - -ida_typeinf.tinfo_t.set_declalign(): - - set_declalign(self, declalign) -> bool - - -ida_typeinf.tinfo_t.set_modifiers(): - - set_modifiers(self, mod) - - -ida_typeinf.tinfo_t.set_named_type(): - - set_named_type(self, til, name, ntf_flags=0) -> tinfo_code_t - - -ida_typeinf.tinfo_t.set_numbered_type(): - - set_numbered_type(self, til, ord, ntf_flags=0, name=None) -> tinfo_code_t - - -ida_typeinf.tinfo_t.set_symbol_type(): - - set_symbol_type(self, til, name, ntf_flags=0) -> tinfo_code_t - - -ida_typeinf.tinfo_t.set_volatile(): - - set_volatile(self) - - -ida_typeinf.tinfo_t.swap(): - - swap(self, r) - - -ida_typeinf.tinfo_t.write_bitfield_value(): - - write_bitfield_value(self, dst, v, bitoff) -> uint64 - - -ida_typeinf.tinfo_t_get_stock(): - - tinfo_t_get_stock(id) -> tinfo_t - - -class ida_typeinf.tinfo_visitor_t(): - - Proxy of C++ tinfo_visitor_t class - - -ida_typeinf.tinfo_visitor_t.apply_to(): - - apply_to(self, tif, out=None, name=None, cmt=None) -> int - - -ida_typeinf.tinfo_visitor_t.prune_now(): - - prune_now(self) - - -ida_typeinf.tinfo_visitor_t.state: - tinfo_visitor_t_state_get(self) -> int - -ida_typeinf.tinfo_visitor_t.visit_type(): - - visit_type(self, out, tif, name, cmt) -> int - - -class ida_typeinf.type_attr_t(): - - Proxy of C++ type_attr_t class - - -ida_typeinf.type_attr_t.key: - type_attr_t_key_get(self) -> qstring * - -ida_typeinf.type_attr_t.value: - type_attr_t_value_get(self) -> bytevec_t * - -class ida_typeinf.type_attrs_t(): - - Proxy of C++ qvector<(type_attr_t)> class - - -ida_typeinf.type_attrs_t.at(): - - at(self, _idx) -> type_attr_t - - -ida_typeinf.type_attrs_t.begin(): - - begin(self) -> type_attr_t - begin(self) -> type_attr_t - - -ida_typeinf.type_attrs_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.type_attrs_t.clear(): - - clear(self) - - -ida_typeinf.type_attrs_t.empty(): - - empty(self) -> bool - - -ida_typeinf.type_attrs_t.end(): - - end(self) -> type_attr_t - end(self) -> type_attr_t - - -ida_typeinf.type_attrs_t.erase(): - - erase(self, it) -> type_attr_t - erase(self, first, last) -> type_attr_t - - -ida_typeinf.type_attrs_t.extract(): - - extract(self) -> type_attr_t - - -ida_typeinf.type_attrs_t.grow(): - - grow(self, x=type_attr_t()) - - -ida_typeinf.type_attrs_t.inject(): - - inject(self, s, len) - - -ida_typeinf.type_attrs_t.insert(): - - insert(self, it, x) -> type_attr_t - - -ida_typeinf.type_attrs_t.pop_back(): - - pop_back(self) - - -ida_typeinf.type_attrs_t.push_back(): - - push_back(self, x) - push_back(self) -> type_attr_t - - -ida_typeinf.type_attrs_t.qclear(): - - qclear(self) - - -ida_typeinf.type_attrs_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.type_attrs_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.type_attrs_t.size(): - - size(self) -> size_t - - -ida_typeinf.type_attrs_t.swap(): - - swap(self, r) - - -ida_typeinf.type_attrs_t.truncate(): - - truncate(self) - - -class ida_typeinf.type_mods_t(): - - Proxy of C++ type_mods_t class - - -ida_typeinf.type_mods_t.clear(): - - clear(self) - - -ida_typeinf.type_mods_t.cmt: - type_mods_t_cmt_get(self) -> qstring * - -ida_typeinf.type_mods_t.flags: - type_mods_t_flags_get(self) -> int - -ida_typeinf.type_mods_t.has_cmt(): - - has_cmt(self) -> bool - - -ida_typeinf.type_mods_t.has_info(): - - has_info(self) -> bool - - -ida_typeinf.type_mods_t.has_name(): - - has_name(self) -> bool - - -ida_typeinf.type_mods_t.has_type(): - - has_type(self) -> bool - - -ida_typeinf.type_mods_t.name: - type_mods_t_name_get(self) -> qstring * - -ida_typeinf.type_mods_t.set_new_cmt(): - - set_new_cmt(self, c) - - -ida_typeinf.type_mods_t.set_new_name(): - - set_new_name(self, n) - - -ida_typeinf.type_mods_t.set_new_type(): - - set_new_type(self, t) - - -ida_typeinf.type_mods_t.type: - type_mods_t_type_get(self) -> tinfo_t - -class ida_typeinf.typedef_type_data_t(): - - Proxy of C++ typedef_type_data_t class - - -ida_typeinf.typedef_type_data_t.is_ordref: - typedef_type_data_t_is_ordref_get(self) -> bool - -ida_typeinf.typedef_type_data_t.resolve: - typedef_type_data_t_resolve_get(self) -> bool - -ida_typeinf.typedef_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.typedef_type_data_t.til: - typedef_type_data_t_til_get(self) -> til_t - -class ida_typeinf.udt_member_t(): - - Proxy of C++ udt_member_t class - - -ida_typeinf.udt_member_t.begin(): - - begin(self) -> uint64 - - -ida_typeinf.udt_member_t.clr_baseclass(): - - clr_baseclass(self) - - -ida_typeinf.udt_member_t.clr_unaligned(): - - clr_unaligned(self) - - -ida_typeinf.udt_member_t.clr_vftable(): - - clr_vftable(self) - - -ida_typeinf.udt_member_t.clr_virtbase(): - - clr_virtbase(self) - - -ida_typeinf.udt_member_t.cmt: - udt_member_t_cmt_get(self) -> qstring * - -ida_typeinf.udt_member_t.effalign: - udt_member_t_effalign_get(self) -> int - -ida_typeinf.udt_member_t.end(): - - end(self) -> uint64 - - -ida_typeinf.udt_member_t.fda: - udt_member_t_fda_get(self) -> uchar - -ida_typeinf.udt_member_t.is_anonymous_udm(): - - is_anonymous_udm(self) -> bool - - -ida_typeinf.udt_member_t.is_baseclass(): - - is_baseclass(self) -> bool - - -ida_typeinf.udt_member_t.is_bitfield(): - - is_bitfield(self) -> bool - - -ida_typeinf.udt_member_t.is_unaligned(): - - is_unaligned(self) -> bool - - -ida_typeinf.udt_member_t.is_vftable(): - - is_vftable(self) -> bool - - -ida_typeinf.udt_member_t.is_virtbase(): - - is_virtbase(self) -> bool - - -ida_typeinf.udt_member_t.is_zero_bitfield(): - - is_zero_bitfield(self) -> bool - - -ida_typeinf.udt_member_t.name: - udt_member_t_name_get(self) -> qstring * - -ida_typeinf.udt_member_t.offset: - udt_member_t_offset_get(self) -> uint64 - -ida_typeinf.udt_member_t.set_baseclass(): - - set_baseclass(self) - - -ida_typeinf.udt_member_t.set_unaligned(): - - set_unaligned(self) - - -ida_typeinf.udt_member_t.set_vftable(): - - set_vftable(self) - - -ida_typeinf.udt_member_t.set_virtbase(): - - set_virtbase(self) - - -ida_typeinf.udt_member_t.size: - udt_member_t_size_get(self) -> uint64 - -ida_typeinf.udt_member_t.swap(): - - swap(self, r) - - -ida_typeinf.udt_member_t.tafld_bits: - udt_member_t_tafld_bits_get(self) -> uint32 - -ida_typeinf.udt_member_t.type: - udt_member_t_type_get(self) -> tinfo_t - -class ida_typeinf.udt_type_data_t(): - - Proxy of C++ udt_type_data_t class - - -ida_typeinf.udt_type_data_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.udt_type_data_t.at(): - - at(self, _idx) -> udt_member_t - - -ida_typeinf.udt_type_data_t.begin(): - - begin(self) -> udt_member_t - begin(self) -> udt_member_t - - -ida_typeinf.udt_type_data_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.udt_type_data_t.clear(): - - clear(self) - - -ida_typeinf.udt_type_data_t.effalign: - udt_type_data_t_effalign_get(self) -> uint32 - -ida_typeinf.udt_type_data_t.empty(): - - empty(self) -> bool - - -ida_typeinf.udt_type_data_t.end(): - - end(self) -> udt_member_t - end(self) -> udt_member_t - - -ida_typeinf.udt_type_data_t.erase(): - - erase(self, it) -> udt_member_t - erase(self, first, last) -> udt_member_t - - -ida_typeinf.udt_type_data_t.extract(): - - extract(self) -> udt_member_t - - -ida_typeinf.udt_type_data_t.find(): - - find(self, x) -> udt_member_t - find(self, x) -> udt_member_t - - -ida_typeinf.udt_type_data_t.grow(): - - grow(self, x=udt_member_t()) - - -ida_typeinf.udt_type_data_t.has(): - - has(self, x) -> bool - - -ida_typeinf.udt_type_data_t.inject(): - - inject(self, s, len) - - -ida_typeinf.udt_type_data_t.insert(): - - insert(self, it, x) -> udt_member_t - - -ida_typeinf.udt_type_data_t.is_cppobj(): - - is_cppobj(self) -> bool - - -ida_typeinf.udt_type_data_t.is_last_baseclass(): - - is_last_baseclass(self, idx) -> bool - - -ida_typeinf.udt_type_data_t.is_msstruct(): - - is_msstruct(self) -> bool - - -ida_typeinf.udt_type_data_t.is_unaligned(): - - is_unaligned(self) -> bool - - -ida_typeinf.udt_type_data_t.is_union: - udt_type_data_t_is_union_get(self) -> bool - -ida_typeinf.udt_type_data_t.is_vftable(): - - is_vftable(self) -> bool - - -ida_typeinf.udt_type_data_t.pack: - udt_type_data_t_pack_get(self) -> uchar - -ida_typeinf.udt_type_data_t.pop_back(): - - pop_back(self) - - -ida_typeinf.udt_type_data_t.push_back(): - - push_back(self, x) - push_back(self) -> udt_member_t - - -ida_typeinf.udt_type_data_t.qclear(): - - qclear(self) - - -ida_typeinf.udt_type_data_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.udt_type_data_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.udt_type_data_t.sda: - udt_type_data_t_sda_get(self) -> uchar - -ida_typeinf.udt_type_data_t.size(): - - size(self) -> size_t - - -ida_typeinf.udt_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.udt_type_data_t.taudt_bits: - udt_type_data_t_taudt_bits_get(self) -> uint32 - -ida_typeinf.udt_type_data_t.total_size: - udt_type_data_t_total_size_get(self) -> size_t - -ida_typeinf.udt_type_data_t.truncate(): - - truncate(self) - - -ida_typeinf.udt_type_data_t.unpadded_size: - udt_type_data_t_unpadded_size_get(self) -> size_t - -class ida_typeinf.udtmembervec_t(): - - Proxy of C++ qvector<(udt_member_t)> class - - -ida_typeinf.udtmembervec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.udtmembervec_t.at(): - - at(self, _idx) -> udt_member_t - - -ida_typeinf.udtmembervec_t.begin(): - - begin(self) -> udt_member_t - begin(self) -> udt_member_t - - -ida_typeinf.udtmembervec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.udtmembervec_t.clear(): - - clear(self) - - -ida_typeinf.udtmembervec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.udtmembervec_t.end(): - - end(self) -> udt_member_t - end(self) -> udt_member_t - - -ida_typeinf.udtmembervec_t.erase(): - - erase(self, it) -> udt_member_t - erase(self, first, last) -> udt_member_t - - -ida_typeinf.udtmembervec_t.extract(): - - extract(self) -> udt_member_t - - -ida_typeinf.udtmembervec_t.find(): - - find(self, x) -> udt_member_t - find(self, x) -> udt_member_t - - -ida_typeinf.udtmembervec_t.grow(): - - grow(self, x=udt_member_t()) - - -ida_typeinf.udtmembervec_t.has(): - - has(self, x) -> bool - - -ida_typeinf.udtmembervec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.udtmembervec_t.insert(): - - insert(self, it, x) -> udt_member_t - - -ida_typeinf.udtmembervec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.udtmembervec_t.push_back(): - - push_back(self, x) - push_back(self) -> udt_member_t - - -ida_typeinf.udtmembervec_t.qclear(): - - qclear(self) - - -ida_typeinf.udtmembervec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.udtmembervec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.udtmembervec_t.size(): - - size(self) -> size_t - - -ida_typeinf.udtmembervec_t.swap(): - - swap(self, r) - - -ida_typeinf.udtmembervec_t.truncate(): - - truncate(self) - - -ida_typeinf.unpack_idcobj_from_bv(): - - 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 &) - @param bytes (C++: const bytevec_t &) - @param pio_flags (C++: int) - - -ida_typeinf.unpack_idcobj_from_idb(): - - 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 &) - @param ea (C++: ea_t) - @param off0 (C++: const bytevec_t *) - @param pio_flags (C++: int) - - -ida_typeinf.unpack_object_from_bv(): - - unpack_object_from_bv(ti, py_type, py_fields, py_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 tp: type string - @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 - - -ida_typeinf.unpack_object_from_idb(): - - unpack_object_from_idb(ti, py_type, py_fields, ea, pio_flags=0) -> PyObject * - - -class ida_typeinf.valstr_t(): - - Proxy of C++ valstr_t class - - -ida_typeinf.valstr_t.info: - valstr_t_info_get(self) -> valinfo_t * - -ida_typeinf.valstr_t.length: - valstr_t_length_get(self) -> size_t - -ida_typeinf.valstr_t.members: - valstr_t_members_get(self) -> valstrs_t - -ida_typeinf.valstr_t.oneline: - valstr_t_oneline_get(self) -> qstring * - -ida_typeinf.valstr_t.props: - valstr_t_props_get(self) -> int - -class ida_typeinf.valstrs_t(): - - Proxy of C++ valstrs_t class - - -ida_typeinf.valstrs_t.at(): - - at(self, _idx) -> valstr_t - - -ida_typeinf.valstrs_t.begin(): - - begin(self) -> valstr_t - begin(self) -> valstr_t - - -ida_typeinf.valstrs_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.valstrs_t.clear(): - - clear(self) - - -ida_typeinf.valstrs_t.empty(): - - empty(self) -> bool - - -ida_typeinf.valstrs_t.end(): - - end(self) -> valstr_t - end(self) -> valstr_t - - -ida_typeinf.valstrs_t.erase(): - - erase(self, it) -> valstr_t - erase(self, first, last) -> valstr_t - - -ida_typeinf.valstrs_t.extract(): - - extract(self) -> valstr_t - - -ida_typeinf.valstrs_t.grow(): - - grow(self, x=valstr_t()) - - -ida_typeinf.valstrs_t.inject(): - - inject(self, s, len) - - -ida_typeinf.valstrs_t.insert(): - - insert(self, it, x) -> valstr_t - - -ida_typeinf.valstrs_t.pop_back(): - - pop_back(self) - - -ida_typeinf.valstrs_t.push_back(): - - push_back(self, x) - push_back(self) -> valstr_t - - -ida_typeinf.valstrs_t.qclear(): - - qclear(self) - - -ida_typeinf.valstrs_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.valstrs_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.valstrs_t.size(): - - size(self) -> size_t - - -ida_typeinf.valstrs_t.swap(): - - swap(self, r) - - -ida_typeinf.valstrs_t.truncate(): - - truncate(self) - - -class ida_typeinf.valstrvec_t(): - - Proxy of C++ qvector<(valstr_t)> class - - -ida_typeinf.valstrvec_t.at(): - - at(self, _idx) -> valstr_t - - -ida_typeinf.valstrvec_t.begin(): - - begin(self) -> valstr_t - begin(self) -> valstr_t - - -ida_typeinf.valstrvec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.valstrvec_t.clear(): - - clear(self) - - -ida_typeinf.valstrvec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.valstrvec_t.end(): - - end(self) -> valstr_t - end(self) -> valstr_t - - -ida_typeinf.valstrvec_t.erase(): - - erase(self, it) -> valstr_t - erase(self, first, last) -> valstr_t - - -ida_typeinf.valstrvec_t.extract(): - - extract(self) -> valstr_t - - -ida_typeinf.valstrvec_t.grow(): - - grow(self, x=valstr_t()) - - -ida_typeinf.valstrvec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.valstrvec_t.insert(): - - insert(self, it, x) -> valstr_t - - -ida_typeinf.valstrvec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.valstrvec_t.push_back(): - - push_back(self, x) - push_back(self) -> valstr_t - - -ida_typeinf.valstrvec_t.qclear(): - - qclear(self) - - -ida_typeinf.valstrvec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.valstrvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.valstrvec_t.size(): - - size(self) -> size_t - - -ida_typeinf.valstrvec_t.swap(): - - swap(self, r) - - -ida_typeinf.valstrvec_t.truncate(): - - truncate(self) - - -ida_typeinf.verify_argloc(): - - verify_argloc(vloc, size, gaps) -> int - - - Verify 'argloc_t' . - - @param vloc (C++: const argloc_t &) - @param size: total size of the variable (C++: int) - @param gaps: if not NULL, specifies gaps in structure definition. - these gaps should not map to any argloc, but everything - else must be covered (C++: const rangeset_t *) - @return: 0 if ok, otherwise an interr code. - - -ida_typeinf.verify_tinfo(): - - verify_tinfo(typid) -> int - - -ida_typeinf.visit_subtypes(): - - visit_subtypes(visitor, out, tif, name, cmt) -> int - - -ida_typeinf.write_tinfo_bitfield_value(): - - write_tinfo_bitfield_value(typid, dst, v, bitoff) -> uint64 - - - -=== ida_typeinf EPYDOC INJECTIONS === -ida_typeinf.ADDTIL_ABORTED -""" -til was not loaded (incompatible til rejected by user) -""" - -ida_typeinf.ADDTIL_COMP -""" -ok, but til is not compatible with the current compiler -""" - -ida_typeinf.ADDTIL_DEFAULT -""" -default behavior -""" - -ida_typeinf.ADDTIL_FAILED -""" -something bad, the warning is displayed -""" - -ida_typeinf.ADDTIL_INCOMP -""" -load incompatible tils -""" - -ida_typeinf.ADDTIL_OK -""" -ok, til is loaded -""" - -ida_typeinf.ADDTIL_SILENT -""" -do not ask any questions -""" - -ida_typeinf.CC_ALLOW_ARGPERM -""" -disregard argument order? -""" - -ida_typeinf.CC_ALLOW_REGHOLES -""" -allow holes in register argument list? -""" - -ida_typeinf.CC_CDECL_OK -""" -can use __cdecl calling convention? -""" - -ida_typeinf.CC_HAS_ELLIPSIS -""" -function has a variable list of arguments? -""" - -ida_typeinf.FAH_BYTE -""" -function argument attribute header byte -""" - -ida_typeinf.FAI_ARRAY -""" -was initially an array see "__org_typedef" or "__org_arrdim" type -attributes to determine the original type -""" - -ida_typeinf.FAI_HIDDEN -""" -hidden argument -""" - -ida_typeinf.FAI_RETPTR -""" -pointer to return value. implies hidden -""" - -ida_typeinf.FAI_STRUCT -""" -was initially a structure -""" - -ida_typeinf.FTI_ALL -""" -all defined bits -""" - -ida_typeinf.FTI_ARGLOCS -""" -(stkargs and retloc too) - -info about argument locations has been calculated -""" - -ida_typeinf.FTI_CALLTYPE -""" -mask for FTI_*CALL -""" - -ida_typeinf.FTI_DEFCALL -""" -default call -""" - -ida_typeinf.FTI_FARCALL -""" -far call -""" - -ida_typeinf.FTI_HIGH -""" -high level prototype (with possibly hidden args) -""" - -ida_typeinf.FTI_INTCALL -""" -interrupt call -""" - -ida_typeinf.FTI_NEARCALL -""" -near call -""" - -ida_typeinf.FTI_NORET -""" -noreturn -""" - -ida_typeinf.FTI_PURE -""" -__pure -""" - -ida_typeinf.FTI_SPOILED -""" -information about spoiled registers is present -""" - -ida_typeinf.FTI_STATIC -""" -static -""" - -ida_typeinf.FTI_VIRTUAL -""" -virtual -""" - -ida_typeinf.GUESS_FUNC_FAILED -""" -couldn't guess the function type -""" - -ida_typeinf.GUESS_FUNC_OK -""" -ok, some non-trivial information is gathered -""" - -ida_typeinf.GUESS_FUNC_TRIVIAL -""" -the function type doesn't have interesting info -""" - -ida_typeinf.HTI_CPP -""" -C++ mode (not implemented) -""" - -ida_typeinf.HTI_DCL -""" -don't complain about redeclarations -""" - -ida_typeinf.HTI_EXT -""" -debug: print external representation of types -""" - -ida_typeinf.HTI_FIL -""" -otherwise "input" contains a C declaration - -"input" is file name, -""" - -ida_typeinf.HTI_HIGH -""" -(with hidden args, etc) - -assume high level prototypes -""" - -ida_typeinf.HTI_INT -""" -debug: print internal representation of types -""" - -ida_typeinf.HTI_LEX -""" -debug: print tokens -""" - -ida_typeinf.HTI_LOWER -""" -lower the function prototypes -""" - -ida_typeinf.HTI_MAC -""" -define macros from the base tils -""" - -ida_typeinf.HTI_NDC -""" -don't decorate names -""" - -ida_typeinf.HTI_NER -""" -ignore all errors but display them -""" - -ida_typeinf.HTI_NWR -""" -no warning messages -""" - -ida_typeinf.HTI_PAK -""" -explicit structure pack value (#pragma pack) -""" - -ida_typeinf.HTI_PAK1 -""" -#pragma pack(1) -""" - -ida_typeinf.HTI_PAK16 -""" -#pragma pack(16) -""" - -ida_typeinf.HTI_PAK2 -""" -#pragma pack(2) -""" - -ida_typeinf.HTI_PAK4 -""" -#pragma pack(4) -""" - -ida_typeinf.HTI_PAK8 -""" -#pragma pack(8) -""" - -ida_typeinf.HTI_PAKDEF -""" -default pack value -""" - -ida_typeinf.HTI_PAK_SHIFT -""" -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 -""" - -ida_typeinf.HTI_RAWARGS -""" -leave argument names unchanged (do not remove underscores) -""" - -ida_typeinf.HTI_TST -""" -test mode: discard the result -""" - -ida_typeinf.HTI_UNP -""" -debug: check the result by unpacking it -""" - -ida_typeinf.IMPTYPE_LOCAL -""" -the type is local, the struct/enum won't be marked as til type. there -is no need to specify this bit if til==idati, the kernel will set it -automatically -""" - -ida_typeinf.IMPTYPE_OVERRIDE -""" -override existing type -""" - -ida_typeinf.IMPTYPE_VERBOSE -""" -more verbose output (dialog boxes may appear) -""" - -ida_typeinf.MAX_FUNC_ARGS -""" -max number of function arguments -""" - -ida_typeinf.NTF_64BIT -""" -value is 64bit -""" - -ida_typeinf.NTF_CHKSYNC -""" -(set_numbered_type, set_named_type) - -check that synchronization to IDB passed OK -""" - -ida_typeinf.NTF_FIXNAME -""" -(set_named_type, set_numbered_type only) - -force-validate the name of the type when setting -""" - -ida_typeinf.NTF_IDBENC -""" -the name is given in the IDB encoding; non-ASCII bytes will be decoded -accordingly (set_named_type, set_numbered_type only) -""" - -ida_typeinf.NTF_NOBASE -""" -don't inspect base tils (for get_named_type) -""" - -ida_typeinf.NTF_NOCUR -""" -don't inspect current til file (for get_named_type) -""" - -ida_typeinf.NTF_REPLACE -""" -replace original type (for set_named_type) -""" - -ida_typeinf.NTF_SYMM -""" -only one of 'NTF_TYPE' and 'NTF_SYMU' , 'NTF_SYMM' can be used - -symbol, name is mangled ('_func') -""" - -ida_typeinf.NTF_SYMU -""" -symbol, name is unmangled ('func') -""" - -ida_typeinf.NTF_TYPE -""" -type name -""" - -ida_typeinf.NTF_UMANGLED -""" -name is unmangled (don't use this flag) -""" - -ida_typeinf.PCN_CHR -""" -character -""" - -ida_typeinf.PCN_DEC -""" -decimal -""" - -ida_typeinf.PCN_DECSEXT -""" -automatically extend sign of signed decimal numbers -""" - -ida_typeinf.PCN_HEX -""" -hexadecimal -""" - -ida_typeinf.PCN_LZHEX -""" -print leading zeroes for hexdecimal number -""" - -ida_typeinf.PCN_NEGSIGN -""" -print negated value (-N) for negative numbers -""" - -ida_typeinf.PCN_OCT -""" -octal -""" - -ida_typeinf.PCN_RADIX -""" -number base to use -""" - -ida_typeinf.PCN_UNSIGNED -""" -add 'u' suffix -""" - -ida_typeinf.PDF_DEF_BASE -""" -Include base types: __int8, __int16, etc.. -""" - -ida_typeinf.PDF_DEF_FWD -""" -Allow forward declarations. -""" - -ida_typeinf.PDF_HEADER_CMT -""" -Prepend output with a descriptive comment. -""" - -ida_typeinf.PDF_INCL_DEPS -""" -Include all type dependencies. -""" - -ida_typeinf.PIO_IGNORE_PTRS -""" -do not follow pointers -""" - -ida_typeinf.PIO_NOATTR_FAIL -""" -missing attributes are not ok -""" - -ida_typeinf.PRALOC_STKOFF -""" -print stack offsets -""" - -ida_typeinf.PRALOC_VERIFY -""" -interr if illegal argloc -""" - -ida_typeinf.PRTYPE_1LINE -""" -print to one line -""" - -ida_typeinf.PRTYPE_CPP -""" -use c++ name (only for 'print_type()' ) -""" - -ida_typeinf.PRTYPE_DEF -""" - 'tinfo_t' : print definition, if available -""" - -ida_typeinf.PRTYPE_MULTI -""" -print to many lines -""" - -ida_typeinf.PRTYPE_NOARGS -""" - 'tinfo_t' : do not print function argument names -""" - -ida_typeinf.PRTYPE_NOARRS -""" - 'tinfo_t' : print arguments with 'FAI_ARRAY' as pointers -""" - -ida_typeinf.PRTYPE_NORES -""" - 'tinfo_t' : never resolve types (meaningful with PRTYPE_DEF) -""" - -ida_typeinf.PRTYPE_PRAGMA -""" -print pragmas for alignment -""" - -ida_typeinf.PRTYPE_RESTORE -""" - 'tinfo_t' : print restored types for 'FAI_ARRAY' and 'FAI_STRUCT' -""" - -ida_typeinf.PRTYPE_SEMI -""" -append ; to the end -""" - -ida_typeinf.PRTYPE_TYPE -""" -print type declaration (not variable declaration) -""" - -ida_typeinf.PT_HIGH -""" -(with hidden args, etc) - -assume high level prototypes -""" - -ida_typeinf.PT_LOWER -""" -lower the function prototypes -""" - -ida_typeinf.PT_NDC -""" -don't decorate names -""" - -ida_typeinf.PT_PACKMASK -""" -mask for pack alignment values -""" - -ida_typeinf.PT_RAWARGS -""" -leave argument names unchanged (do not remove underscores) -""" - -ida_typeinf.PT_REPLACE -""" -replace the old type (used in idc) -""" - -ida_typeinf.PT_SIL -""" -silent, no messages -""" - -ida_typeinf.PT_TYP -""" -return declared type information -""" - -ida_typeinf.PT_VAR -""" -return declared object information -""" - -ida_typeinf.RESERVED_BYTE -""" -multifunctional purpose -""" - -ida_typeinf.SETCOMP_BY_USER -""" -invoked by user, cannot be replaced by module/loader -""" - -ida_typeinf.SETCOMP_ONLY_ABI -""" -ignore cc field complete, use only abiname -""" - -ida_typeinf.SETCOMP_ONLY_ID -""" -cc has only 'id' field the rest will be set to defaults corresponding -to the program bitness -""" - -ida_typeinf.SETCOMP_OVERRIDE -""" -may override old compiler info -""" - -ida_typeinf.STRMEM_ANON -""" -can be combined with 'STRMEM_NAME' : look inside anonymous members -too. -""" - -ida_typeinf.STRMEM_AUTO -""" -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)! -""" - -ida_typeinf.STRMEM_CASTABLE_TO -""" -can be combined with 'STRMEM_TYPE' : member type must be castable to -the specified type -""" - -ida_typeinf.STRMEM_INDEX -""" -get member by number- in: udm->offset - is a member number -""" - -ida_typeinf.STRMEM_MAXS -""" -get biggest member by size. -""" - -ida_typeinf.STRMEM_MINS -""" -get smallest member by size. -""" - -ida_typeinf.STRMEM_NAME -""" -get member by name- in: udm->name - the desired member name. -""" - -ida_typeinf.STRMEM_OFFSET -""" -get member by offset- in: udm->offset - is a member offset in bits -""" - -ida_typeinf.STRMEM_SIZE -""" -get member by size.- in: udm->size - the desired member size. -""" - -ida_typeinf.STRMEM_SKIP_EMPTY -""" -can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' skip empty -members (i.e. having zero size) only last empty member can be returned -""" - -ida_typeinf.STRMEM_TYPE -""" -get member by type. - in: udm->type - the desired member type. member -types are compared with tinfo_t::equals_to() -""" - -ida_typeinf.STRMEM_VFTABLE -""" -can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' get vftable -instead of the base class -""" - -ida_typeinf.SUDT_ALIGN -""" -to match the offsets and size info - -recalculate field alignments, struct packing, etc -""" - -ida_typeinf.SUDT_CONST -""" -only for serialize_udt: make type const -""" - -ida_typeinf.SUDT_FAST -""" -serialize without verifying offsets and alignments -""" - -ida_typeinf.SUDT_GAPS -""" -allow to fill gaps with additional members (_BYTE[]) -""" - -ida_typeinf.SUDT_SORT -""" -fields are not sorted by offset, sort them first -""" - -ida_typeinf.SUDT_TRUNC -""" -serialize: truncate useless strings from fields, fldcmts -""" - -ida_typeinf.SUDT_UNEX -""" -references to nonexistent member types are acceptable in this case it -is better to set the corresponding 'udt_member_t::fda' field to the -type alignment. if this field is not set, ida will try to guess the -alignment. -""" - -ida_typeinf.SUDT_VOLATILE -""" -only for serialize_udt: make type volatile -""" - -ida_typeinf.TAENUM_64BIT -""" -enum: store 64-bit values -""" - -ida_typeinf.TAENUM_SIGNED -""" -enum: signed -""" - -ida_typeinf.TAENUM_UNSIGNED -""" -enum: unsigned -""" - -ida_typeinf.TAFLD_BASECLASS -""" -field: do not include but inherit from the current field -""" - -ida_typeinf.TAFLD_UNALIGNED -""" -field: unaligned field -""" - -ida_typeinf.TAFLD_VFTABLE -""" -field: ptr to virtual function table -""" - -ida_typeinf.TAFLD_VIRTBASE -""" -field: virtual base (not supported yet) -""" - -ida_typeinf.TAH_ALL -""" -all defined bits -""" - -ida_typeinf.TAH_BYTE -""" -type attribute header byte -""" - -ida_typeinf.TAH_HASATTRS -""" -has extended attributes -""" - -ida_typeinf.TAPTR_PTR32 -""" -ptr: __ptr32 -""" - -ida_typeinf.TAPTR_PTR64 -""" -ptr: __ptr64 -""" - -ida_typeinf.TAPTR_RESTRICT -""" -ptr: __restrict -""" - -ida_typeinf.TAPTR_SHIFTED -""" -ptr: __shifted(parent_struct, delta) -""" - -ida_typeinf.TAUDT_CPPOBJ -""" -struct: a c++ object, not simple pod type -""" - -ida_typeinf.TAUDT_MSSTRUCT -""" -struct: gcc msstruct attribute -""" - -ida_typeinf.TAUDT_UNALIGNED -""" -struct: unaligned struct -""" - -ida_typeinf.TAUDT_VFTABLE -""" -struct: is virtual function table -""" - -ida_typeinf.TA_FORMAT -""" -info about the 'format' argument 3 times pack_dd: 'format_functype_t' -, argument number of 'format', argument number of '...' -""" - -ida_typeinf.TA_ORG_ARRDIM -""" -the original array dimension (pack_dd) -""" - -ida_typeinf.TA_ORG_TYPEDEF -""" -the original typedef name (simple string) -""" - -ida_typeinf.TCMP_ANYBASE -""" -accept any base class when casting -""" - -ida_typeinf.TCMP_AUTOCAST -""" -can t1 be cast into t2 automatically? -""" - -ida_typeinf.TCMP_CALL -""" -can t1 be called with t2 type? -""" - -ida_typeinf.TCMP_DECL -""" -compare declarations without resolving them -""" - -ida_typeinf.TCMP_DELPTR -""" -remove pointer from types before comparing -""" - -ida_typeinf.TCMP_EQUAL -""" -are types equal? -""" - -ida_typeinf.TCMP_IGNMODS -""" -ignore const/volatile modifiers -""" - -ida_typeinf.TCMP_MANCAST -""" -can t1 be cast into t2 manually? -""" - -ida_typeinf.TCMP_SKIPTHIS -""" -skip the first function argument in comparison -""" - -ida_typeinf.TIL_ADD_ALREADY -""" -the base til was already added -""" - -ida_typeinf.TIL_ADD_FAILED -""" -see errbuf -""" - -ida_typeinf.TIL_ADD_OK -""" -some tils were added -""" - -ida_typeinf.TIL_ALI -""" -type aliases are present (this bit is used only on the disk) -""" - -ida_typeinf.TIL_ESI -""" -extended sizeof info (short, long, longlong) -""" - -ida_typeinf.TIL_MAC -""" -til has macro table -""" - -ida_typeinf.TIL_MOD -""" -til has been modified, should be saved -""" - -ida_typeinf.TIL_ORD -""" -type ordinal numbers are present -""" - -ida_typeinf.TIL_SLD -""" -sizeof(long double) -""" - -ida_typeinf.TIL_STM -""" -til has extra streams -""" - -ida_typeinf.TIL_UNI -""" -universal til for any compiler -""" - -ida_typeinf.TIL_ZIP -""" -pack buckets using zip -""" - -ida_typeinf.TINFO_DEFINITE -""" -this is a definite type -""" - -ida_typeinf.TINFO_DELAYFUNC -""" -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 -""" - -ida_typeinf.TINFO_GUESSED -""" -this is a guessed type -""" - -ida_typeinf.TINFO_STRICT -""" -never convert given type to another one before applying -""" - -ida_typeinf.TVIS_CMT -""" -new comment is present -""" - -ida_typeinf.TVIS_NAME -""" -new name is present -""" - -ida_typeinf.TVIS_TYPE -""" -new type info is present -""" - -ida_typeinf.TVST_DEF -""" -visit type definition (meaningful for typerefs) -""" - -ida_typeinf.TVST_PRUNE -""" -don't visit children of current type -""" - -ida_typeinf.VALSTR_OPEN -""" -printed opening curly brace '{' -""" -=== ida_typeinf EPYDOC INJECTIONS END === -ida_ua.calc_dataseg(): - - 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 &) - @param n (C++: int) - @param rgnum (C++: int) - - -ida_ua.can_decode(): - - can_decode(ea) -> bool - - - Can the bytes at address 'ea' be decoded as instruction? - - @param ea: linear address (C++: ea_t) - @return: whether or not the contents at that address could be a valid - instruction - - -ida_ua.construct_macro(): - - construct_macro(insn, enable, build_macro) -> bool - - - See ua.hpp's construct_macro(). - - -ida_ua.create_insn(): - - 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: linear address (C++: ea_t) - @param out: the resulting instruction (C++: insn_t *) - @return: the length of the instruction or 0 - - -ida_ua.create_outctx(): - - 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++: flags_t) - @param suspop (C++: int) - - -ida_ua.decode_insn(): - - 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: the resulting instruction (C++: insn_t *) - @param ea: linear address (C++: ea_t) - @return: the length of the (possible) instruction or 0 - - -ida_ua.decode_preceding_insn(): - - decode_preceding_insn(out, ea) -> PyObject * - - - Decodes the preceding instruction. Please check ua.hpp / decode_preceding_insn() - @param ea: current ea - @param out: instruction storage - @return: tuple(preceeding_ea or BADADDR, farref = Boolean) - - -ida_ua.decode_prev_insn(): - - decode_prev_insn(out, ea) -> ea_t - - - Decode previous instruction if it exists, fill 'out'. - - @param out: the resulting instruction (C++: insn_t *) - @param ea: the address to decode the previous instruction from (C++: - ea_t) - @return: the previous instruction address ( BADADDR -no such insn) - - -ida_ua.get_dtype_by_size(): - - get_dtype_by_size(size) -> int - - - Get 'op_t::dtype' from size. - - - @param size (C++: asize_t) - - -ida_ua.get_dtype_flag(): - - get_dtype_flag(dtype) -> flags_t - - - Get flags for 'op_t::dtype' field. - - - @param dtype (C++: op_dtype_t) - - -ida_ua.get_dtype_size(): - - get_dtype_size(dtype) -> size_t - - - Get size of opt_::dtype field. - - - @param dtype (C++: op_dtype_t) - - -ida_ua.get_immvals(): - - 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: address to analyze (C++: ea_t) - @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands - (C++: int) - @param F: flags for the specified address (C++: flags_t) - @return: number of immediate values (0..2* UA_MAXOP ) - - -ida_ua.get_lookback(): - - 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) - - -ida_ua.get_printable_immvals(): - - get_printable_immvals(ea, n, F=0) -> PyObject * - - - Get immediate ready-to-print values at the specified address - - @param ea: address to analyze (C++: ea_t) - @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands - (C++: int) - @param F: flags for the specified address (C++: flags_t) - @return: number of immediate values (0..2* UA_MAXOP ) - - -ida_ua.guess_table_address(): - - guess_table_address(insn) -> ea_t - - - Guess the jump table address (ibm pc specific) - - - @param insn (C++: const insn_t &) - - -ida_ua.guess_table_size(): - - guess_table_size(insn, jump_table) -> asize_t - - - Guess the jump table size. - - - @param insn (C++: const insn_t &) - @param jump_table (C++: ea_t) - - -ida_ua.insn_add_cref(): - - insn_add_cref(insn, to, opoff, type) - - -ida_ua.insn_add_dref(): - - insn_add_dref(insn, to, opoff, type) - - -ida_ua.insn_add_off_drefs(): - - insn_add_off_drefs(insn, x, type, outf) -> ea_t - - -ida_ua.insn_create_stkvar(): - - insn_create_stkvar(insn, x, v, flags) -> bool - - -class ida_ua.insn_t(): - - Proxy of C++ insn_t class - - -ida_ua.insn_t.add_cref(): - - add_cref(self, to, opoff, type) - - -ida_ua.insn_t.add_dref(): - - add_dref(self, to, opoff, type) - - -ida_ua.insn_t.add_off_drefs(): - - add_off_drefs(self, x, type, outf) -> ea_t - - -ida_ua.insn_t.assign(): - - assign(self, other) - - -ida_ua.insn_t.auxpref: - - __get_auxpref__(self) -> uint16 - - -ida_ua.insn_t.create_op_data(): - - create_op_data(self, ea_, opoff, dtype) -> bool - create_op_data(self, ea_, op) -> bool - - -ida_ua.insn_t.create_stkvar(): - - create_stkvar(self, x, v, flags_) -> bool - - -ida_ua.insn_t.cs: - insn_t_cs_get(self) -> ea_t - -ida_ua.insn_t.ea: - insn_t_ea_get(self) -> ea_t - -ida_ua.insn_t.flags: - insn_t_flags_get(self) -> int16 - -ida_ua.insn_t.get_canon_feature(): - - get_canon_feature(self) -> uint32 - - -ida_ua.insn_t.get_canon_mnem(): - - get_canon_mnem(self) -> char const * - - -ida_ua.insn_t.get_next_byte(): - - get_next_byte(self) -> uint8 - - -ida_ua.insn_t.get_next_dword(): - - get_next_dword(self) -> uint32 - - -ida_ua.insn_t.get_next_qword(): - - get_next_qword(self) -> uint64 - - -ida_ua.insn_t.get_next_word(): - - get_next_word(self) -> uint16 - - -ida_ua.insn_t.insnpref: - insn_t_insnpref_get(self) -> char - -ida_ua.insn_t.ip: - insn_t_ip_get(self) -> ea_t - -ida_ua.insn_t.is_64bit(): - - is_64bit(self) -> bool - - -ida_ua.insn_t.is_canon_insn(): - - is_canon_insn(self) -> bool - - -ida_ua.insn_t.is_macro(): - - is_macro(self) -> bool - - -ida_ua.insn_t.itype: - insn_t_itype_get(self) -> uint16 - -ida_ua.insn_t.ops: - - __get_ops__(self) -> operands_array - - -ida_ua.insn_t.segpref: - insn_t_segpref_get(self) -> char - -ida_ua.insn_t.size: - insn_t_size_get(self) -> uint16 - -ida_ua.insn_t__from_ptrval__(): - - insn_t__from_ptrval__(ptrval) -> insn_t - - -ida_ua.map_code_ea(): - - map_code_ea(insn, addr, opnum) -> ea_t - map_code_ea(insn, op) -> ea_t - - - Map a code address. This function takes into account the segment - translations. - - @param insn: the current instruction (C++: const insn_t &) - @param addr: the referenced address to map (C++: ea_t) - @param opnum: operand number (C++: int) - - -ida_ua.map_data_ea(): - - map_data_ea(insn, addr, opnum=-1) -> ea_t - map_data_ea(insn, op) -> ea_t - - - Map a data address. - - @param insn: the current instruction (C++: const insn_t &) - @param addr: the referenced address to map (C++: ea_t) - @param opnum: operand number (C++: int) - - -ida_ua.map_ea(): - - map_ea(insn, op, iscode) -> ea_t - map_ea(insn, addr, opnum, iscode) -> ea_t - - -class ida_ua.op_t(): - - Proxy of C++ op_t class - - -ida_ua.op_t.addr: - - __get_addr__(self) -> ea_t - - -ida_ua.op_t.assign(): - - assign(self, other) - - -ida_ua.op_t.clr_shown(): - - clr_shown(self) - - -ida_ua.op_t.dtype: - op_t_dtype_get(self) -> op_dtype_t - -ida_ua.op_t.flags: - op_t_flags_get(self) -> uchar - -ida_ua.op_t.has_reg(): - - Checks if the operand accesses the given processor register - - -ida_ua.op_t.is_imm(): - - is_imm(self, v) -> bool - - -ida_ua.op_t.is_reg(): - - is_reg(self, r) -> bool - - -ida_ua.op_t.n: - op_t_n_get(self) -> uchar - -ida_ua.op_t.offb: - op_t_offb_get(self) -> char - -ida_ua.op_t.offo: - op_t_offo_get(self) -> char - -ida_ua.op_t.phrase: - - __get_reg_phrase__(self) -> uint16 - - -ida_ua.op_t.reg: - - __get_reg_phrase__(self) -> uint16 - - -ida_ua.op_t.set_shown(): - - set_shown(self) - - -ida_ua.op_t.shown(): - - shown(self) -> bool - - -ida_ua.op_t.specflag1: - op_t_specflag1_get(self) -> char - -ida_ua.op_t.specflag2: - op_t_specflag2_get(self) -> char - -ida_ua.op_t.specflag3: - op_t_specflag3_get(self) -> char - -ida_ua.op_t.specflag4: - op_t_specflag4_get(self) -> char - -ida_ua.op_t.specval: - - __get_specval__(self) -> ea_t - - -ida_ua.op_t.type: - op_t_type_get(self) -> optype_t - -ida_ua.op_t.value: - - __get_value__(self) -> ea_t - - -ida_ua.op_t__from_ptrval__(): - - op_t__from_ptrval__(ptrval) -> op_t - - -class ida_ua.operands_array(): - - Proxy of C++ wrapped_array_t<(op_t,8)> class - - -ida_ua.operands_array.data: - operands_array_data_get(self) -> op_t (&)[8] - -class ida_ua.outctx_base_t(): - - Proxy of C++ outctx_base_t class - - -ida_ua.outctx_base_t.close_comment(): - - close_comment(self) - - -ida_ua.outctx_base_t.clr_gen_label(): - - clr_gen_label(self) - - -ida_ua.outctx_base_t.default_lnnum: - outctx_base_t_default_lnnum_get(self) -> int - -ida_ua.outctx_base_t.display_voids(): - - display_voids(self) -> bool - - -ida_ua.outctx_base_t.flush_buf(): - - flush_buf(self, buf, indent=-1) -> bool - - -ida_ua.outctx_base_t.flush_outbuf(): - - flush_outbuf(self, indent=-1) -> bool - - -ida_ua.outctx_base_t.forbid_annotations(): - - forbid_annotations(self) -> int - - -ida_ua.outctx_base_t.force_code(): - - force_code(self) -> bool - - -ida_ua.outctx_base_t.gen_block_cmt(): - - gen_block_cmt(self, cmt, color) -> bool - - -ida_ua.outctx_base_t.gen_border_line(): - - gen_border_line(self, solid=False) -> bool - - -ida_ua.outctx_base_t.gen_cmt_line(): - - gen_cmt_line(self, format) -> bool - - -ida_ua.outctx_base_t.gen_collapsed_line(): - - gen_collapsed_line(self, format) -> bool - - -ida_ua.outctx_base_t.gen_empty_line(): - - gen_empty_line(self) -> bool - - -ida_ua.outctx_base_t.gen_empty_line_without_annotations(): - - gen_empty_line_without_annotations(self) - - -ida_ua.outctx_base_t.gen_printf(): - - gen_printf(self, indent, format) -> bool - - -ida_ua.outctx_base_t.gen_xref_lines(): - - gen_xref_lines(self) -> bool - - -ida_ua.outctx_base_t.get_stkvar(): - - get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * - - -ida_ua.outctx_base_t.init_lines_array(): - - init_lines_array(self, answers, maxsize) - - -ida_ua.outctx_base_t.insn_ea: - outctx_base_t_insn_ea_get(self) -> ea_t - -ida_ua.outctx_base_t.multiline(): - - multiline(self) -> bool - - -ida_ua.outctx_base_t.only_main_line(): - - only_main_line(self) -> bool - - -ida_ua.outctx_base_t.out_addr_tag(): - - out_addr_tag(self, ea) - - -ida_ua.outctx_base_t.out_btoa(): - - out_btoa(self, Word, radix=0) - - -ida_ua.outctx_base_t.out_char(): - - out_char(self, c) - - -ida_ua.outctx_base_t.out_chars(): - - out_chars(self, c, n) - - -ida_ua.outctx_base_t.out_colored_register_line(): - - out_colored_register_line(self, str) - - -ida_ua.outctx_base_t.out_keyword(): - - out_keyword(self, str) - - -ida_ua.outctx_base_t.out_line(): - - out_line(self, str, color=0) - - -ida_ua.outctx_base_t.out_long(): - - out_long(self, v, radix) - - -ida_ua.outctx_base_t.out_name_expr(): - - out_name_expr(self, x, ea, off=BADADDR) -> bool - - -ida_ua.outctx_base_t.out_printf(): - - out_printf(self, format) - - -ida_ua.outctx_base_t.out_register(): - - out_register(self, str) - - -ida_ua.outctx_base_t.out_spaces(): - - out_spaces(self, len) - - -ida_ua.outctx_base_t.out_symbol(): - - out_symbol(self, c) - - -ida_ua.outctx_base_t.out_tagoff(): - - out_tagoff(self, tag) - - -ida_ua.outctx_base_t.out_tagon(): - - out_tagon(self, tag) - - -ida_ua.outctx_base_t.out_value(): - - out_value(self, x, outf=0) -> flags_t - - -ida_ua.outctx_base_t.outbuf: - outctx_base_t_outbuf_get(self) -> qstring * - -ida_ua.outctx_base_t.print_label_now(): - - print_label_now(self) -> bool - - -ida_ua.outctx_base_t.restore_ctxflags(): - - restore_ctxflags(self, saved_flags) - - -ida_ua.outctx_base_t.retrieve_cmt(): - - retrieve_cmt(self) -> ssize_t - - -ida_ua.outctx_base_t.retrieve_name(): - - retrieve_name(self, arg2, arg3) -> ssize_t - - -ida_ua.outctx_base_t.set_comment_addr(): - - set_comment_addr(self, ea) - - -ida_ua.outctx_base_t.set_dlbind_opnd(): - - set_dlbind_opnd(self) - - -ida_ua.outctx_base_t.set_gen_cmt(): - - set_gen_cmt(self, on=True) - - -ida_ua.outctx_base_t.set_gen_demangled_label(): - - set_gen_demangled_label(self) - - -ida_ua.outctx_base_t.set_gen_label(): - - set_gen_label(self) - - -ida_ua.outctx_base_t.set_gen_xrefs(): - - set_gen_xrefs(self, on=True) - - -ida_ua.outctx_base_t.setup_outctx(): - - setup_outctx(self, prefix, makeline_flags) - - -ida_ua.outctx_base_t.stack_view(): - - stack_view(self) -> bool - - -ida_ua.outctx_base_t.term_outctx(): - - term_outctx(self, prefix=None) -> int - - -ida_ua.outctx_base_t__from_ptrval__(): - - outctx_base_t__from_ptrval__(ptrval) -> outctx_base_t - - -class ida_ua.outctx_t(): - - Proxy of C++ outctx_t class - - -ida_ua.outctx_t.bin_ea: - outctx_t_bin_ea_get(self) -> ea_t - -ida_ua.outctx_t.bin_state: - outctx_t_bin_state_get(self) -> char - -ida_ua.outctx_t.bin_width: - outctx_t_bin_width_get(self) -> int - -ida_ua.outctx_t.close_comment(): - - close_comment(self) - - -ida_ua.outctx_t.clr_gen_label(): - - clr_gen_label(self) - - -ida_ua.outctx_t.curlabel: - outctx_t_curlabel_get(self) -> qstring * - -ida_ua.outctx_t.default_lnnum: - outctx_base_t_default_lnnum_get(self) -> int - -ida_ua.outctx_t.display_voids(): - - display_voids(self) -> bool - - -ida_ua.outctx_t.flush_buf(): - - flush_buf(self, buf, indent=-1) -> bool - - -ida_ua.outctx_t.flush_outbuf(): - - flush_outbuf(self, indent=-1) -> bool - - -ida_ua.outctx_t.forbid_annotations(): - - forbid_annotations(self) -> int - - -ida_ua.outctx_t.force_code(): - - force_code(self) -> bool - - -ida_ua.outctx_t.gen_block_cmt(): - - gen_block_cmt(self, cmt, color) -> bool - - -ida_ua.outctx_t.gen_border_line(): - - gen_border_line(self, solid=False) -> bool - - -ida_ua.outctx_t.gen_cmt_line(): - - gen_cmt_line(self, format) -> bool - - -ida_ua.outctx_t.gen_collapsed_line(): - - gen_collapsed_line(self, format) -> bool - - -ida_ua.outctx_t.gen_empty_line(): - - gen_empty_line(self) -> bool - - -ida_ua.outctx_t.gen_empty_line_without_annotations(): - - gen_empty_line_without_annotations(self) - - -ida_ua.outctx_t.gen_func_footer(): - - gen_func_footer(self, pfn) - - -ida_ua.outctx_t.gen_func_header(): - - gen_func_header(self, pfn) - - -ida_ua.outctx_t.gen_header(): - - gen_header(self, flags=((1 << 0)|(1 << 1)), proc_name=None, proc_flavour=None) - - -ida_ua.outctx_t.gen_header_extra(): - - gen_header_extra(self) - - -ida_ua.outctx_t.gen_printf(): - - gen_printf(self, indent, format) -> bool - - -ida_ua.outctx_t.gen_xref_lines(): - - gen_xref_lines(self) -> bool - - -ida_ua.outctx_t.get_stkvar(): - - get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * - - -ida_ua.outctx_t.gl_bpsize: - outctx_t_gl_bpsize_get(self) -> int - -ida_ua.outctx_t.init_lines_array(): - - init_lines_array(self, answers, maxsize) - - -ida_ua.outctx_t.insn: - outctx_t_insn_get(self) -> insn_t - -ida_ua.outctx_t.insn_ea: - outctx_base_t_insn_ea_get(self) -> ea_t - -ida_ua.outctx_t.multiline(): - - multiline(self) -> bool - - -ida_ua.outctx_t.only_main_line(): - - only_main_line(self) -> bool - - -ida_ua.outctx_t.out_addr_tag(): - - out_addr_tag(self, ea) - - -ida_ua.outctx_t.out_btoa(): - - out_btoa(self, Word, radix=0) - - -ida_ua.outctx_t.out_char(): - - out_char(self, c) - - -ida_ua.outctx_t.out_chars(): - - out_chars(self, c, n) - - -ida_ua.outctx_t.out_colored_register_line(): - - out_colored_register_line(self, str) - - -ida_ua.outctx_t.out_custom_mnem(): - - out_custom_mnem(self, mnem, width=8, postfix=None) - - -ida_ua.outctx_t.out_data(): - - out_data(self, analyze_only) - - -ida_ua.outctx_t.out_immchar_cmts(): - - out_immchar_cmts(self) - - -ida_ua.outctx_t.out_keyword(): - - out_keyword(self, str) - - -ida_ua.outctx_t.out_line(): - - out_line(self, str, color=0) - - -ida_ua.outctx_t.out_long(): - - out_long(self, v, radix) - - -ida_ua.outctx_t.out_mnem(): - - out_mnem(self, width=8, postfix=None) - - -ida_ua.outctx_t.out_mnemonic(): - - out_mnemonic(self) - - -ida_ua.outctx_t.out_name_expr(): - - out_name_expr(self, x, ea, off=BADADDR) -> bool - - -ida_ua.outctx_t.out_one_operand(): - - out_one_operand(self, n) -> bool - - -ida_ua.outctx_t.out_printf(): - - out_printf(self, format) - - -ida_ua.outctx_t.out_register(): - - out_register(self, str) - - -ida_ua.outctx_t.out_spaces(): - - out_spaces(self, len) - - -ida_ua.outctx_t.out_specea(): - - out_specea(self, segtype) -> bool - - -ida_ua.outctx_t.out_symbol(): - - out_symbol(self, c) - - -ida_ua.outctx_t.out_tagoff(): - - out_tagoff(self, tag) - - -ida_ua.outctx_t.out_tagon(): - - out_tagon(self, tag) - - -ida_ua.outctx_t.out_value(): - - out_value(self, x, outf=0) -> flags_t - - -ida_ua.outctx_t.outbuf: - outctx_base_t_outbuf_get(self) -> qstring * - -ida_ua.outctx_t.print_label_now(): - - print_label_now(self) -> bool - - -ida_ua.outctx_t.restore_ctxflags(): - - restore_ctxflags(self, saved_flags) - - -ida_ua.outctx_t.retrieve_cmt(): - - retrieve_cmt(self) -> ssize_t - - -ida_ua.outctx_t.retrieve_name(): - - retrieve_name(self, arg2, arg3) -> ssize_t - - -ida_ua.outctx_t.set_bin_state(): - - set_bin_state(self, value) - - -ida_ua.outctx_t.set_comment_addr(): - - set_comment_addr(self, ea) - - -ida_ua.outctx_t.set_dlbind_opnd(): - - set_dlbind_opnd(self) - - -ida_ua.outctx_t.set_gen_cmt(): - - set_gen_cmt(self, on=True) - - -ida_ua.outctx_t.set_gen_demangled_label(): - - set_gen_demangled_label(self) - - -ida_ua.outctx_t.set_gen_label(): - - set_gen_label(self) - - -ida_ua.outctx_t.set_gen_xrefs(): - - set_gen_xrefs(self, on=True) - - -ida_ua.outctx_t.setup_outctx(): - - setup_outctx(self, prefix, flags) - - -ida_ua.outctx_t.stack_view(): - - stack_view(self) -> bool - - -ida_ua.outctx_t.term_outctx(): - - term_outctx(self, prefix=None) -> int - - -ida_ua.outctx_t.wif: - outctx_t_wif_get(self) -> printop_t - -ida_ua.outctx_t__from_ptrval__(): - - outctx_t__from_ptrval__(ptrval) -> outctx_t - - -ida_ua.print_insn_mnem(): - - print_insn_mnem(ea) -> bool - - - Print instruction mnemonics. - - @param ea: linear address of the instruction (C++: ea_t) - @return: success - - -ida_ua.print_operand(): - - 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: the item address (instruction or data) (C++: ea_t) - @param n: operand number (0,1,2...). meaningful only for instructions - (C++: int) - @param getn_flags (C++: int) - @param newtype: if specified, print the operand using the specified - type (C++: struct printop_t *) - @return: success - - -ida_ua.ua_mnem(): - - print_insn_mnem(ea) -> bool - - - Print instruction mnemonics. - - @param ea: linear address of the instruction (C++: ea_t) - @return: success - - - -=== ida_ua EPYDOC INJECTIONS === -ida_ua.FCBF_CONT -""" -don't stop on decoding, or any other kind of error -""" - -ida_ua.FCBF_DELIM -""" -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 -""" - -ida_ua.FCBF_ERR_REPL -""" -of a hex representation of the problematic byte - -in case of an error, use a CP_REPLCHAR instead -""" - -ida_ua.FCBF_FF_LIT -""" -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 -""" - -ida_ua.INSN_64BIT -""" -belongs to 64bit segment? -""" - -ida_ua.INSN_MACRO -""" -macro instruction -""" - -ida_ua.INSN_MODMAC -""" -may modify the database to make room for the macro insn -""" - -ida_ua.OF_NO_BASE_DISP -""" -base displacement doesn't exist. meaningful only for 'o_displ' type. -if set, base displacement ( 'op_t::addr' ) doesn't exist. -""" - -ida_ua.OF_NUMBER -""" -the operand can be converted to a number only -""" - -ida_ua.OF_OUTER_DISP -""" -outer displacement exists. meaningful only for 'o_displ' type. if set, -outer displacement ( 'op_t::value' ) exists. -""" - -ida_ua.OF_SHOW -""" -should the operand be displayed? -""" - -ida_ua.OOFS_IFSIGN -""" -output sign if needed -""" - -ida_ua.OOFS_NEEDSIGN -""" -always out sign (+-) -""" - -ida_ua.OOFS_NOSIGN -""" -don't output sign, forbid the user to change the sign -""" - -ida_ua.OOFW_16 -""" -16 bit width -""" - -ida_ua.OOFW_24 -""" -24 bit width -""" - -ida_ua.OOFW_32 -""" -32 bit width -""" - -ida_ua.OOFW_64 -""" -64 bit width -""" - -ida_ua.OOFW_8 -""" -8 bit width -""" - -ida_ua.OOFW_IMM -""" -take from x.dtype -""" - -ida_ua.OOF_ADDR -""" -output x.addr, otherwise x.value -""" - -ida_ua.OOF_ANYSERIAL -""" -if enum: select first available serial -""" - -ida_ua.OOF_NOBNOT -""" -prohibit use of binary not -""" - -ida_ua.OOF_NUMBER -""" -always as a number -""" - -ida_ua.OOF_OUTER -""" -output outer operand -""" - -ida_ua.OOF_SIGNED -""" -output as signed if < 0 -""" - -ida_ua.OOF_SIGNMASK -""" -sign symbol (+/-) output -""" - -ida_ua.OOF_SPACES -""" -currently works only for floating point numbers - -do not suppress leading spaces -""" - -ida_ua.OOF_WIDTHMASK -""" -width of value in bits -""" - -ida_ua.OOF_ZSTROFF -""" -meaningful only if is_stroff(uFlag) append a struct field name if the -field offset is zero? if 'AFL_ZSTROFF' is set, then this flag is -ignored. -""" - -ida_ua.PACK_FORM_DEF -""" -(! 'o_reg' + 'dt_packreal' ) - -packed factor defined. -""" - -ida_ua.dt_bitfild -""" -bit field (mc680x0) -""" - -ida_ua.dt_byte -""" -8 bit -""" - -ida_ua.dt_byte16 -""" -128 bit -""" - -ida_ua.dt_byte32 -""" -256 bit -""" - -ida_ua.dt_byte64 -""" -512 bit -""" - -ida_ua.dt_code -""" -ptr to code (not used?) -""" - -ida_ua.dt_double -""" -8 byte -""" - -ida_ua.dt_dword -""" -32 bit -""" - -ida_ua.dt_float -""" -4 byte -""" - -ida_ua.dt_fword -""" -48 bit -""" - -ida_ua.dt_ldbl -""" -long double (which may be different from tbyte) -""" - -ida_ua.dt_packreal -""" -packed real format for mc68040 -""" - -ida_ua.dt_qword -""" -64 bit -""" - -ida_ua.dt_string -""" -pointer to asciiz string -""" - -ida_ua.dt_tbyte -""" -variable size (\\ph{tbyte_size}) -""" - -ida_ua.dt_unicode -""" -pointer to unicode string -""" - -ida_ua.dt_void -""" -none -""" - -ida_ua.dt_word -""" -16 bit -""" -=== ida_ua EPYDOC INJECTIONS END === -ida_xref.add_cref(): - - add_cref(frm, to, type) -> bool - - - Create a code cross-reference. - - @param to: linear address of referenced instruction (C++: ea_t) - @param type: cross-reference type (C++: cref_t) - @return: success - - -ida_xref.add_dref(): - - add_dref(frm, to, type) -> bool - - - Create a data cross-reference. - - @param to: linear address of referenced data (C++: ea_t) - @param type: cross-reference type (C++: dref_t) - @return: success (may fail if user-defined xref exists from->to) - - -ida_xref.calc_switch_cases(): - - 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 xrange(len(results.cases)): - cur_case = results.cases[idx] - for cidx in xrange(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'. - - -class ida_xref.cases_and_targets_t(): - - Proxy of C++ cases_and_targets_t class - - -ida_xref.cases_and_targets_t.cases: - cases_and_targets_t_cases_get(self) -> casevec_t - -ida_xref.cases_and_targets_t.targets: - cases_and_targets_t_targets_get(self) -> eavec_t * - -class ida_xref.casevec_t(): - - Proxy of C++ qvector<(qvector<(sval_t)>)> class - - -ida_xref.casevec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_xref.casevec_t.append(): - - push_back(self, x) - push_back(self) -> qvector< signed-ea-like-numeric-type > & - - -ida_xref.casevec_t.at(): - - __getitem__(self, i) -> qvector< signed-ea-like-numeric-type > const & - - -ida_xref.casevec_t.begin(): - - begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator - - -ida_xref.casevec_t.capacity(): - - capacity(self) -> size_t - - -ida_xref.casevec_t.clear(): - - clear(self) - - -ida_xref.casevec_t.empty(): - - empty(self) -> bool - - -ida_xref.casevec_t.end(): - - end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator - - -ida_xref.casevec_t.erase(): - - erase(self, it) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - erase(self, first, last) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - - -ida_xref.casevec_t.extract(): - - extract(self) -> qvector< signed-ea-like-numeric-type > * - - -ida_xref.casevec_t.find(): - - find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator - - -ida_xref.casevec_t.grow(): - - grow(self, x=qvector< signed-ea-like-numeric-type >()) - - -ida_xref.casevec_t.has(): - - has(self, x) -> bool - - -ida_xref.casevec_t.inject(): - - inject(self, s, len) - - -ida_xref.casevec_t.insert(): - - insert(self, it, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - - -ida_xref.casevec_t.pop_back(): - - pop_back(self) - - -ida_xref.casevec_t.push_back(): - - push_back(self, x) - push_back(self) -> qvector< signed-ea-like-numeric-type > & - - -ida_xref.casevec_t.qclear(): - - qclear(self) - - -ida_xref.casevec_t.reserve(): - - reserve(self, cnt) - - -ida_xref.casevec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_xref.casevec_t.size(): - - size(self) -> size_t - - -ida_xref.casevec_t.swap(): - - swap(self, r) - - -ida_xref.casevec_t.truncate(): - - truncate(self) - - -ida_xref.create_switch_table(): - - 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 - - -ida_xref.create_switch_xrefs(): - - 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 - - -ida_xref.del_cref(): - - del_cref(frm, to, expand) -> int - - - Delete a code cross-reference. - - @param to: linear address of referenced instruction (C++: ea_t) - @param expand: 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 (C++: bool) - - -ida_xref.del_dref(): - - del_dref(frm, to) - - - Delete a data cross-reference. - - @param to: linear address of referenced data (C++: ea_t) - - -ida_xref.delete_switch_table(): - - delete_switch_table(jump_ea, si) - - -ida_xref.get_first_cref_from(): - - 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!). - - @return: first referenced address. The lastXR variable contains type - of the reference. If the specified instruction doesn't - reference to other instructions then returns BADADDR . - - -ida_xref.get_first_cref_to(): - - 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: linear address of referenced instruction (C++: ea_t) - @return: linear address of the first referencing instruction or - BADADDR . The lastXR variable contains type of the - reference. - - -ida_xref.get_first_dref_from(): - - get_first_dref_from(frm) -> ea_t - - - Get first data referenced from the specified address. - - @return: linear address of first (lowest) data referenced from the - specified address. The lastXR variable contains type of the - reference. Return BADADDR if the specified instruction/data - doesn't reference to anything. - - -ida_xref.get_first_dref_to(): - - get_first_dref_to(to) -> ea_t - - - Get address of instruction/data referencing to the specified data. - - @param to: linear address of referencing instruction or data (C++: - ea_t) - @return: BADADDR if nobody refers to the specified data. The lastXR - variable contains type of the reference. - - -ida_xref.get_first_fcref_from(): - - get_first_fcref_from(frm) -> ea_t - - -ida_xref.get_first_fcref_to(): - - get_first_fcref_to(to) -> ea_t - - -ida_xref.get_next_cref_from(): - - get_next_cref_from(frm, current) -> ea_t - - - Get next instruction referenced from the specified instruction. - - @param current: linear address of current referenced instruction This - value is returned by get_first_cref_from() or - previous call to get_next_cref_from() functions. - (C++: ea_t) - @return: next referenced address or BADADDR . The lastXR variable - contains type of the reference. - - -ida_xref.get_next_cref_to(): - - get_next_cref_to(to, current) -> ea_t - - - Get next instruction referencing to the specified instruction. - - @param to: linear address of referenced instruction (C++: ea_t) - @param current: linear address of current referenced instruction This - value is returned by get_first_cref_to() or previous - call to get_next_cref_to() functions. (C++: ea_t) - @return: linear address of the next referencing instruction or - BADADDR . The lastXR variable contains type of the - reference. - - -ida_xref.get_next_dref_from(): - - get_next_dref_from(frm, current) -> ea_t - - - Get next data referenced from the specified address. - - @param current: linear address of current referenced data. This value - is returned by get_first_dref_from() or previous - call to get_next_dref_from() functions. (C++: ea_t) - @return: linear address of next data or BADADDR . The lastXR - variable contains type of the reference - - -ida_xref.get_next_dref_to(): - - get_next_dref_to(to, current) -> ea_t - - - Get address of instruction/data referencing to the specified data - - @param to: linear address of referencing instruction or data (C++: - ea_t) - @param current: current linear address. This value is returned by - get_first_dref_to() or previous call to - get_next_dref_to() functions. (C++: ea_t) - @return: BADADDR if nobody refers to the specified data. The lastXR - variable contains type of the reference. - - -ida_xref.get_next_fcref_from(): - - get_next_fcref_from(frm, current) -> ea_t - - -ida_xref.get_next_fcref_to(): - - get_next_fcref_to(to, current) -> ea_t - - -ida_xref.has_external_refs(): - - has_external_refs(pfn, ea) -> bool - - - Has a location external to the function references? - - - @param pfn (C++: func_t *) - @param ea (C++: ea_t) - - -class ida_xref.xrefblk_t(): - - Proxy of C++ xrefblk_t class - - -ida_xref.xrefblk_t.first_from(): - - first_from(self, _from, flags) -> bool - - -ida_xref.xrefblk_t.first_to(): - - first_to(self, _to, flags) -> bool - - -ida_xref.xrefblk_t.frm: - xrefblk_t_frm_get(self) -> ea_t - -ida_xref.xrefblk_t.iscode: - xrefblk_t_iscode_get(self) -> uchar - -ida_xref.xrefblk_t.next_from(): - - next_from(self) -> bool - next_from(self, _from, _to, flags) -> bool - - -ida_xref.xrefblk_t.next_to(): - - next_to(self) -> bool - next_to(self, _from, _to, flags) -> bool - - -ida_xref.xrefblk_t.to: - xrefblk_t_to_get(self) -> ea_t - -ida_xref.xrefblk_t.type: - xrefblk_t_type_get(self) -> uchar - -ida_xref.xrefblk_t.user: - xrefblk_t_user_get(self) -> uchar - -ida_xref.xrefchar(): - - xrefchar(xrtype) -> char - - - Get character describing the xref type. - - @param xrtype: combination of Cross-Reference type flags and a - cref_t of dref_t value (C++: char) - - - -=== ida_xref EPYDOC INJECTIONS === -ida_xref.XREF_ALL -""" -return all references -""" - -ida_xref.XREF_BASE -""" -Reference to the base part of an offset. -""" - -ida_xref.XREF_DATA -""" -return data references only -""" - -ida_xref.XREF_FAR -""" -don't return ordinary flow xrefs -""" - -ida_xref.XREF_MASK -""" -Mask to get xref type. -""" - -ida_xref.XREF_PASTEND -""" -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. -""" - -ida_xref.XREF_TAIL -""" -Reference to tail byte in extrn symbols. -""" - -ida_xref.XREF_USER -""" -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 -""" -=== ida_xref EPYDOC INJECTIONS END === -idc.AutoMark(): - - Plan to analyze an address - - -class idc.DeprecatedIDCError(): - - Exception for deprecated function calls - - -idc.EVAL_FAILURE(): - - Check the result of eval_idc() for evaluation failures - - @param code: result of eval_idc() - - @return: True if there was an evaluation error - - -idc.GetCommentEx(): - - get_cmt(ea, rptble) -> ssize_t - - - Get an indented comment. - - @param ea: linear address. may point to tail byte, the function will - find start of the item (C++: ea_t) - @param rptble: get repeatable comment? (C++: bool) - @return: size of comment or -1 - - -idc.GetDisasm(): - - 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. - - -idc.GetDouble(): - - 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 - - -idc.GetFloat(): - - 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 - - -idc.GetLocalType(): - - Retrieve a local type declaration - @param flags: any of PRTYPE_* constants - @return: local type as a C declaration or "" - - -idc.LoadFile(): - - 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 - - -idc.MakeVar(): - - Mark the location as "variable" - - @param ea: address to mark - - @return: None - - @note: All that IDA does is to mark the location as "variable". - Nothing else, no additional analysis is performed. - This function may disappear in the future. - - -idc.SaveFile(): - - 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 - - -idc.SetType(): - - 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. - - -idc.SizeOf(): - - Returns the size of the type. It is equivalent to IDC's sizeof(). - Use name, tp, fld = idc.parse_decl() ; SizeOf(tp) to retrieve the size - @return: -1 if typestring is not valid otherwise the size of the type - - -idc.add_auto_stkpnt(): - - Add automatical 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 - - -idc.add_bpt(): - - Add a new breakpoint - - @param ea: any address in the process memory space: - @param size: size of the breakpoint (irrelevant for software breakpoints): - @param bpttype: type of the breakpoint (one of BPT_... constants) - - @return: success - - @note: Only one breakpoint can exist at a given address. - - -idc.add_cref(): - - add_cref(frm, to, type) -> bool - - - Create a code cross-reference. - - @param to: linear address of referenced instruction (C++: ea_t) - @param type: cross-reference type (C++: cref_t) - @return: success - - -idc.add_default_til(): - - Load a type library - - @param name: name of type library. - @return: 1-ok, 0-failed. - - -idc.add_dref(): - - add_dref(frm, to, type) -> bool - - - Create a data cross-reference. - - @param to: linear address of referenced data (C++: ea_t) - @param type: cross-reference type (C++: dref_t) - @return: success (may fail if user-defined xref exists from->to) - - -idc.add_entry(): - - add_entry(ord, ea, name, makecode, flags=0x0) -> bool - - - Add an entry point to the list of entry points. - - @param ord: ordinal number if ordinal number is equal to 'ea' then - ordinal is not used (C++: uval_t) - @param ea: linear address (C++: ea_t) - @param name: name of entry point. If the specified location already - has a name, the old name will be appended to the regular - comment. If name == NULL, then the old name will be - retained. (C++: const char *) - @param makecode: should the kernel convert bytes at the entry point to - instruction(s) (C++: bool) - @param flags: See AEF_* (C++: int) - @return: success (currently always true) - - -idc.add_enum(): - - Add a new enum type - - @param idx: serial number of the new enum. - If another enum with the same serial number - exists, then all enums with serial - numbers >= the specified idx get their - serial numbers incremented (in other words, - the new enum is put in the middle of the list of enums). - - If idx >= get_enum_qty() or idx == idaapi.BADNODE - then the new enum is created at the end of - the list of enums. - - @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 - - -idc.add_enum_member(): - - 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 ida_enum.DEFMASK 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_*) - - -idc.add_func(): - - Create a function - - @param start: function bounds - @param end: function bounds - - If the function end address is BADADDR, then - IDA will try to determine the function bounds - automatically. IDA will define all necessary - instructions to determine the function bounds. - - @return: !=0 - ok - - @note: an instruction should be present at the start address - - -idc.add_hidden_range(): - - add_hidden_range(ea1, ea2, description, header, footer, color) -> bool - - - Mark a range of addresses as hidden. The range will be created in the - invisible state with the default color - - @param ea1: linear address of start of the address range (C++: ea_t) - @param ea2: linear address of end of the address range (C++: ea_t) - @param description: range parameters (C++: const char *) - @param header: range parameters (C++: const char *) - @param footer: range parameters (C++: const char *) - @param color (C++: bgcolor_t) - @return: success - - -idc.add_idc_hotkey(): - - add_idc_hotkey(hotkey, idcfunc) -> int - - - Add hotkey for IDC function ( 'ui_add_idckey' ). - - @param hotkey: hotkey name (C++: const char *) - @param idcfunc: IDC function name (C++: const char *) - @return: IDC hotkey error codes - - -idc.add_segm_ex(): - - 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 - - -idc.add_sourcefile(): - - 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: linear address of start of the address range (C++: ea_t) - @param ea2: linear address of end of the address range (excluded) - (C++: ea_t) - @param filename: name of source file. (C++: const char *) - @return: success - - -idc.add_struc(): - - Define a new structure type - - @param index: index of new structure type - If another structure has the specified index, - then index of that structure and all other - structures will be incremented, freeing the specifed - index. If index is == -1, then the biggest index - number will be used. - See get_first_struc_idx() for the explanation of - structure indices and IDs. - @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 - - -idc.add_struc_member(): - - 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 STRUC_ERROR_*) - - - -idc.add_user_stkpnt(): - - add_user_stkpnt(ea, delta) -> bool - - - Add user-defined SP register change point. - - @param ea: linear address where SP changes (C++: ea_t) - @param delta: difference between old and new values of SP (C++: - sval_t) - @return: success - - -idc.append_func_tail(): - - 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 - - -idc.apply_type(): - - 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 - - -idc.ask_yn(): - - ask_yn(deflt, format) -> int - - - Display a dialog box and get choice from "Yes", "No", "Cancel". - - @param deflt: default choice: one of Button IDs (C++: int) - @param format: The question in printf() style format (C++: const char - *) - @return: the selected button (one of Button IDs ). Esc key returns - ASKBTN_CANCEL . - - -idc.atoa(): - - Convert address value to a string - Return address in the form 'seg000:1234' - (the same as in line prefixes) - - @param ea: address to format - - -idc.attach_process(): - - 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' - }This function shouldn't be called as a request if 'NO_PROCESS' is - used. - - @param pid: PID of the process to attach to. If NO_PROCESS , a dialog - box will interactively ask the user for the process to - attach to. (C++: pid_t) - @param event_id (C++: int) - - -idc.auto_mark_range(): - - 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) - - -idc.auto_unmark(): - - 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) - - -idc.auto_wait(): - - 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) - - -idc.batch(): - - 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 - - -idc.byte_value(): - - 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. - - -idc.calc_gtn_flags(): - - Calculate flags for get_ea_name() function - - @param fromaddr: the referring address. May be BADADDR. - @param ea: linear address - - @return: flags - - -idc.call_system(): - - 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. - - -idc.can_exc_continue(): - - Can it continue after EXCEPTION event? - - @return: boolean - - -idc.check_bpt(): - - check_bpt(ea) -> int - - - Check the breakpoint at the specified address. - - @param ea (C++: ea_t) - @return: one of Breakpoint status codes - - -idc.choose_func(): - - 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 - - -idc.clear_trace(): - - Clear the current trace buffer - - -idc.create_align(): - - create_align(ea, length, alignment) -> bool - - - Alignment: 0 or 2..32. If it is 0, is will be calculated. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param alignment (C++: int) - - -idc.create_array(): - - Create array. - - @param name: The array name. - - @return: -1 in case of failure, a valid array_id otherwise. - - -idc.create_byte(): - - Convert the current item to a byte - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_custom_data(): - - 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) - - -idc.create_data(): - - create_data(ea, dataflag, size, tid) -> bool - - - Convert to data (byte, word, dword, etc). This function may be used to - create arrays. - - @param ea: linear address (C++: ea_t) - @param dataflag: type of data. Value of function byte_flag() , - word_flag() , etc. (C++: flags_t) - @param size: 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. (C++: asize_t) - @param tid: type id. If the specified type is a structure, then tid is - structure id. Otherwise should be BADNODE . (C++: tid_t) - @return: success - - -idc.create_double(): - - Convert the current item to a double floating point (8 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_dword(): - - Convert the current item to a double word (4 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_float(): - - Convert the current item to a floating point (4 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_insn(): - - 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: linear address (C++: ea_t) - @param out: the resulting instruction (C++: insn_t *) - @return: the length of the instruction or 0 - - -idc.create_oword(): - - Convert the current item to an octa word (16 bytes/128 bits) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_pack_real(): - - Convert the current item to a packed real (10 or 12 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_qword(): - - Convert the current item to a quadro word (8 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_strlit(): - - 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() - - -idc.create_struct(): - - 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 - - -idc.create_tbyte(): - - Convert the current item to a tbyte (10 or 12 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_word(): - - Convert the current item to a word (2 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_yword(): - - Convert the current item to a ymm word (32 bytes/256 bits) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.define_exception(): - - define_exception(code, name, desc, flags) -> char const * - - - Convenience function: define new exception code. - - @param code: exception code (cannot be 0) (C++: uint) - @param name: exception name (cannot be empty or NULL) (C++: const char - *) - @param desc: exception description (maybe NULL) (C++: const char *) - @param flags: combination of Exception info flags (C++: int) - @return: failure message or NULL. You must call store_exceptions() - if this function succeeds - - -idc.define_local_var(): - - 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. - - -idc.del_array_element(): - - 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. - - -idc.del_bpt(): - - Delete breakpoint - - @param ea: any address in the process memory space: - - @return: success - - -idc.del_cref(): - - del_cref(frm, to, expand) -> int - - - Delete a code cross-reference. - - @param to: linear address of referenced instruction (C++: ea_t) - @param expand: 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 (C++: bool) - - -idc.del_dref(): - - del_dref(frm, to) - - - Delete a data cross-reference. - - @param to: linear address of referenced data (C++: ea_t) - - -idc.del_enum(): - - del_enum(id) - - - Delete an enum type. - - - @param id (C++: enum_t) - - -idc.del_enum_member(): - - 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 ida_enum.DEFMASK as a bitmask - - @return: 1-ok, 0-failed - - -idc.del_extra_cmt(): - - del_extra_cmt(ea, what) - - -idc.del_fixup(): - - del_fixup(source) - - - Delete fixup information. - - - @param source (C++: ea_t) - - -idc.del_func(): - - del_func(ea) -> bool - - - Delete a function. - - @param ea: any address in the function entry chunk (C++: ea_t) - @return: success - - -idc.del_hash_string(): - - Delete a hash element. - - @param hash_id: The hash ID. - @param key: Key of an element - - @return: 1 upon success, 0 otherwise. - - -idc.del_hidden_range(): - - del_hidden_range(ea) -> bool - - - Delete hidden range. - - @param ea: any address in the hidden range (C++: ea_t) - @return: success - - -idc.del_idc_hotkey(): - - del_idc_hotkey(hotkey) -> bool - - - Delete IDC function hotkey ( 'ui_del_idckey' ). - - @param hotkey: hotkey name (C++: const char *) - - -idc.del_items(): - - Convert the current item to an explored item - - @param ea: linear address - @param flags: combination of DELIT_* constants - @param size: size of the range to undefine - - @return: None - - -idc.del_segm(): - - Delete a segment - - @param ea: any address in the segment - @param flags: combination of SEGMOD_* flags - - @return: boolean success - - -idc.del_selector(): - - 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: number of selector to remove from the translation - table (C++: sel_t) - - -idc.del_source_linnum(): - - del_source_linnum(ea) - - -idc.del_sourcefile(): - - del_sourcefile(ea) -> bool - - - Delete information about the source file. - - @param ea: linear address (C++: ea_t) - @return: success - - -idc.del_stkpnt(): - - Delete SP register change point - - @param func_ea: function start - @param ea: linear address - @return: 1-ok, 0-failed - - -idc.del_struc(): - - 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. - - -idc.del_struc_member(): - - 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. - - -idc.delete_all_segments(): - - Delete all segments, instructions, comments, i.e. everything - except values of bytes. - - -idc.delete_array(): - - Delete array, by its ID. - - @param array_id: The ID of the array to delete. - - -idc.demangle_name(): - - 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 - - -idc.detach_process(): - - detach_process() -> bool - - - Detach the debugger from the debugged process. \sq{Type, Asynchronous - function - available as Request, Notification, 'dbg_process_detach' } - - -idc.diff_trace_file(): - - diff_trace_file(nonnul_filename) -> bool - - - Show difference between the current trace and the one from 'filename'. - - -idc.enable_bpt(): - - enable_bpt(ea, enable=True) -> bool - enable_bpt(bptloc, enable=True) -> bool - - -idc.enable_tracing(): - - Enable step tracing - - @param trace_level: what kind of trace to modify - @param enable: 0: turn off, 1: turn on - - @return: success - - -idc.error(): - - error(format) - - - Display a fatal message in a message box and quit IDA - - @param format: message to print - - -idc.eval_idc(): - - 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 - - -idc.exit_process(): - - exit_process() -> bool - - - Terminate the debugging of the current process. \sq{Type, Asynchronous - function - available as Request, Notification, 'dbg_process_exit' } - - -idc.expand_struc(): - - 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: recalculate the locations where the structure - type is used - @return: != 0 - ok - - -idc.find_func_end(): - - 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 - - -idc.find_selector(): - - Find a selector which has the specifed 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 - - -idc.first_func_chunk(): - - 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 - - -idc.force_bl_call(): - - Force BL instruction to be a call - - @param ea: address of the BL instruction - - @return: 1-ok, 0-failed - - -idc.force_bl_jump(): - - 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 - - -idc.func_contains(): - - Does the given function contain the given address? - - @param func_ea: any address belonging to the function - @param ea: linear address - - @return: success - - -idc.gen_file(): - - 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 - - -idc.gen_flow_graph(): - - 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. - - -idc.gen_simple_call_chart(): - - 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 - - -idc.generate_disasm_line(): - - 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. - - -idc.get_array_element(): - - 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. - - -idc.get_array_id(): - - 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. - - -idc.get_bmask_cmt(): - - 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 - - -idc.get_bmask_name(): - - Get bitmask name (only for bitfields) - - @param enum_id: id of enum - @param bmask: bitmask of the constant - - @return: name of bitmask or None - - -idc.get_bookmark(): - - get_marked_pos(slot) -> ea_t - - -idc.get_bookmark_desc(): - - get_mark_comment(slot) -> PyObject * - - -idc.get_bpt_attr(): - - 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 - - -idc.get_bpt_ea(): - - Get breakpoint address - - @param n: number of breakpoint, is in range 0..get_bpt_qty()-1 - - @return: address of the breakpoint or BADADDR - - -idc.get_bpt_qty(): - - Get number of breakpoints. - - @return: number of breakpoints - - -idc.get_bpt_tev_ea(): - - 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)}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. - - @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a read, read/write or execution trace event. - - -idc.get_bytes(): - - 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 - - -idc.get_call_tev_callee(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a function call event. - - -idc.get_cmt(): - - get_cmt(ea, rptble) -> ssize_t - - - Get an indented comment. - - @param ea: linear address. may point to tail byte, the function will - find start of the item (C++: ea_t) - @param rptble: get repeatable comment? (C++: bool) - @return: size of comment or -1 - - -idc.get_color(): - - 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) - - -idc.get_curline(): - - Get the disassembly line at the cursor - - @return: string - - -idc.get_current_thread(): - - get_current_thread() -> thid_t - - - Get current thread ID. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - -idc.get_db_byte(): - - 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) - - -idc.get_debugger_event_cond(): - - get_debugger_event_cond() -> char const * - - -idc.get_entry(): - - get_entry(ord) -> ea_t - - - Get entry point address by its ordinal - - @param ord: ordinal number of entry point (C++: uval_t) - @return: address or BADADDR - - -idc.get_entry_name(): - - get_entry_name(ord) -> ssize_t - - - Get name of the entry point by its ordinal. - - @param ord: ordinal number of entry point (C++: uval_t) - @return: size of entry name or -1 - - -idc.get_entry_ordinal(): - - get_entry_ordinal(idx) -> uval_t - - - Get ordinal number of an entry point. - - @param idx: internal number of entry point. Should be in the range 0.. - get_entry_qty() -1 (C++: size_t) - @return: ordinal number or 0. - - -idc.get_entry_qty(): - - get_entry_qty() -> size_t - - - Get number of entry points. - - -idc.get_enum(): - - get_enum(name) -> enum_t - - - Get enum by name. - - - @param name (C++: const char *) - - -idc.get_enum_cmt(): - - get_enum_cmt(id, repeatable) -> ssize_t - - - Get enum comment. - - - @param id (C++: enum_t) - @param repeatable (C++: bool) - - -idc.get_enum_flag(): - - get_enum_flag(id) -> flags_t - - - Get flags determining the representation of the enum. (currently they - define the numeric base: octal, decimal, hex, bin) and signness. - - @param id (C++: enum_t) - - -idc.get_enum_idx(): - - get_enum_idx(id) -> uval_t - - - Get serial number of enum. The serial number determines the place of - the enum in the enum window. - - @param id (C++: enum_t) - - -idc.get_enum_member(): - - 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 ida_enum.DEFMASK as a bitmask - - @return: id of constant or -1 if error - - -idc.get_enum_member_bmask(): - - get_enum_member_bmask(id) -> bmask_t - - - Get bitmask of an enum member. - - - @param id (C++: const_t) - - -idc.get_enum_member_by_name(): - - get_enum_member_by_name(name) -> const_t - - - Get a reference to an enum member by its name. - - - @param name (C++: const char *) - - -idc.get_enum_member_cmt(): - - Get comment of a constant - - @param const_id: id of const - @param repeatable: 0:get regular comment, 1:get repeatable comment - - @return: comment string - - -idc.get_enum_member_enum(): - - get_enum_member_enum(id) -> enum_t - - - Get the parent enum of an enum member. - - - @param id (C++: const_t) - - -idc.get_enum_member_name(): - - Get name of a constant - - @param const_id: id of const - - Returns: name of constant - - -idc.get_enum_member_value(): - - get_enum_member_value(id) -> uval_t - - - Get value of an enum member. - - - @param id (C++: const_t) - - -idc.get_enum_name(): - - get_enum_name(id) -> ssize_t - - - Get name of enum. - - - @param id (C++: enum_t) - - -idc.get_enum_qty(): - - get_enum_qty() -> size_t - - - Get number of declared 'enum_t' types. - - -idc.get_enum_size(): - - get_enum_size(id) -> size_t - - - Get the number of the members of the enum. - - - @param id (C++: enum_t) - - -idc.get_enum_width(): - - get_enum_width(id) -> size_t - - - Get the width of a enum element allowed values: 0 - (unspecified),1,2,4,8,16,32,64 - - @param id (C++: enum_t) - - -idc.get_event_bpt_hea(): - - Get hardware address for BREAKPOINT event - - @return: hardware address - - -idc.get_event_ea(): - - Get ea for debug event - - @return: ea - - -idc.get_event_exc_code(): - - Get exception code for EXCEPTION event - - @return: exception code - - -idc.get_event_exc_ea(): - - Get address for EXCEPTION event - - @return: adress of exception - - -idc.get_event_exc_info(): - - Get info for EXCEPTION event - - @return: info string - - -idc.get_event_exit_code(): - - Get exit code for debug event - - @return: exit code for PROCESS_EXITED, THREAD_EXITED events - - -idc.get_event_id(): - - Get ID of debug event - - @return: event ID - - -idc.get_event_info(): - - Get debug event info - - @return: event info: for THREAD_STARTED (thread name) - for LIB_UNLOADED (unloaded library name) - for INFORMATION (message to display) - - -idc.get_event_module_base(): - - Get module base for debug event - - @return: module base - - -idc.get_event_module_name(): - - Get module name for debug event - - @return: module name - - -idc.get_event_module_size(): - - Get module size for debug event - - @return: module size - - -idc.get_event_pid(): - - Get process ID for debug event - - @return: process ID - - -idc.get_event_tid(): - - Get type ID for debug event - - @return: type ID - - -idc.get_extra_cmt(): - - get_extra_cmt(ea, what) -> ssize_t - - -idc.get_fchunk_attr(): - - 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 - - -idc.get_fchunk_referer(): - - Get a function chunk referer - - @param ea: any address in the chunk - @param idx: referer index (0..get_fchunk_attr(FUNCATTR_REFQTY)) - - @return: referer address or BADADDR - - -idc.get_first_bmask(): - - get_first_bmask(id) -> bmask_t - - - Get first bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @return: the smallest bitmask for enum, or DEFMASK - - -idc.get_first_cref_from(): - - 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!). - - @return: first referenced address. The lastXR variable contains type - of the reference. If the specified instruction doesn't - reference to other instructions then returns BADADDR . - - -idc.get_first_cref_to(): - - 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: linear address of referenced instruction (C++: ea_t) - @return: linear address of the first referencing instruction or - BADADDR . The lastXR variable contains type of the - reference. - - -idc.get_first_dref_from(): - - get_first_dref_from(frm) -> ea_t - - - Get first data referenced from the specified address. - - @return: linear address of first (lowest) data referenced from the - specified address. The lastXR variable contains type of the - reference. Return BADADDR if the specified instruction/data - doesn't reference to anything. - - -idc.get_first_dref_to(): - - get_first_dref_to(to) -> ea_t - - - Get address of instruction/data referencing to the specified data. - - @param to: linear address of referencing instruction or data (C++: - ea_t) - @return: BADADDR if nobody refers to the specified data. The lastXR - variable contains type of the reference. - - -idc.get_first_enum_member(): - - Get first constant in the enum - - @param enum_id: id of enum - @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) - - @return: value of constant or idaapi.BADNODE no constants are defined - All constants are sorted by their values as unsigned longs. - - -idc.get_first_fcref_from(): - - get_first_fcref_from(frm) -> ea_t - - -idc.get_first_fcref_to(): - - get_first_fcref_to(to) -> ea_t - - -idc.get_first_hash_key(): - - Get the first key in the hash. - - @param hash_id: The hash ID. - - @return: the key, 0 otherwise. - - -idc.get_first_index(): - - 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. - - -idc.get_first_member(): - - Get offset of the first member of a structure - - @param sid: structure type ID - - @return: -1 if bad structure type ID is passed, - ida_idaapi.BADADDR if structure has no members, - otherwise returns offset of the first member. - - @note: IDA allows 'holes' between members of a - structure. It treats these 'holes' - as unnamed arrays of bytes. - - @note: Union members are, in IDA's internals, located - at subsequent byte offsets: member 0 -> offset 0x0, - member 1 -> offset 0x1, etc... - - -idc.get_first_module(): - - Enumerate process modules - - @return: first module's base address or None on failure - - -idc.get_first_seg(): - - Get first segment - - @return: address of the start of the first segment - BADADDR - no segments are defined - - -idc.get_first_struc_idx(): - - get_first_struc_idx() -> uval_t - - - Get index of first structure. - - @return: BADADDR if no known structures, 0 otherwise - - -idc.get_fixup_target_dis(): - - Get fixup target displacement - - @param ea: address to get information about - - @return: 0 - no fixup at the specified address - otherwise returns fixup target displacement - - -idc.get_fixup_target_flags(): - - Get fixup target flags - - @param ea: address to get information about - - @return: 0 - no fixup at the specified address - otherwise returns fixup target flags - - -idc.get_fixup_target_off(): - - Get fixup target offset - - @param ea: address to get information about - - @return: BADADDR - no fixup at the specified address - otherwise returns fixup target offset - - -idc.get_fixup_target_sel(): - - Get fixup target selector - - @param ea: address to get information about - - @return: BADSEL - no fixup at the specified address - otherwise returns fixup target selector - - -idc.get_fixup_target_type(): - - Get fixup target type - - @param ea: address to get information about - - @return: 0 - no fixup at the specified address - otherwise returns fixup type - - -idc.get_forced_operand(): - - get_forced_operand(ea, n) -> ssize_t - - - Get forced operand. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, 2) (C++: int) - @return: size of forced operand or -1 - - -idc.get_frame_args_size(): - - 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 does't exist, return -1 - - -idc.get_frame_id(): - - 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. - - -idc.get_frame_lvar_size(): - - 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 does't exist, return None - - -idc.get_frame_regs_size(): - - 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 does't exist, return None - - -idc.get_frame_size(): - - 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 does't exist, return 0 - - -idc.get_full_flags(): - - get_full_flags(ea) -> flags_t - - - Get flags value for address 'ea'. - - @param ea (C++: ea_t) - @return: 0 if address is not present in the program - - -idc.get_func_attr(): - - 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 - - -idc.get_func_cmt(): - - 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 - - -idc.get_func_flags(): - - Retrieve function flags - - @param ea: any address belonging to the function - - @return: -1 - function doesn't exist otherwise returns the flags - - -idc.get_func_name(): - - Retrieve function name - - @param ea: any address belonging to the function - - @return: null string - function doesn't exist - otherwise returns function name - - -idc.get_func_off_str(): - - 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 - - -idc.get_hash_long(): - - 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. - - -idc.get_hash_string(): - - 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. - - -idc.get_idb_path(): - - Get IDB full path - - This function returns full path of the current IDB database - - -idc.get_inf_attr(): - - - -idc.get_input_file_path(): - - get_input_file_path() -> ssize_t - - - Get full path of the input file. - - -idc.get_item_end(): - - 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) - - -idc.get_item_head(): - - 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) - - -idc.get_item_size(): - - Get size of instruction or data item in bytes - - @param ea: linear address - - @return: 1..n - - -idc.get_last_bmask(): - - get_last_bmask(id) -> bmask_t - - - Get last bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @return: the biggest bitmask for enum, or DEFMASK - - -idc.get_last_enum_member(): - - Get last constant in the enum - - @param enum_id: id of enum - @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) - - @return: value of constant or idaapi.BADNODE no constants are defined - All constants are sorted by their values - as unsigned longs. - - -idc.get_last_hash_key(): - - Get the last key in the hash. - - @param hash_id: The hash ID. - - @return: the key, 0 otherwise. - - -idc.get_last_index(): - - 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. - - -idc.get_last_member(): - - Get offset of the last member of a structure - - @param sid: structure type ID - - @return: -1 if bad structure type ID is passed, - ida_idaapi.BADADDR if structure has no members, - otherwise returns offset of the last member. - - @note: IDA allows 'holes' between members of a - structure. It treats these 'holes' - as unnamed arrays of bytes. - - @note: Union members are, in IDA's internals, located - at subsequent byte offsets: member 0 -> offset 0x0, - member 1 -> offset 0x1, etc... - - -idc.get_last_struc_idx(): - - get_last_struc_idx() -> uval_t - - - Get index of last structure. - - @return: BADADDR if no known structures, get_struc_qty() -1 - otherwise - - -idc.get_local_tinfo(): - - Get local type information as 'typeinfo' object - - @param ordinal: slot number (1...NumberOfLocalTypes) - @return: None on failure, or (type, fields) tuple. - - -idc.get_manual_insn(): - - get_manual_insn(ea) -> ssize_t - - - Retrieve the user-specified string for the manual instruction. - - @param ea: linear address of the instruction or data item (C++: ea_t) - @return: size of manual instruction or -1 - - -idc.get_member_cmt(): - - 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: 1: get repeatable comment - 0: get regular comment - - @return: None if bad structure type ID is passed - or no such member in the structure - otherwise returns comment of the specified member. - - -idc.get_member_flag(): - - Get type 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 type of the member, see bit - definitions above. If the member type is a structure - then function GetMemberStrid() should be used to - get the structure type id. - - -idc.get_member_id(): - - @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. - - -idc.get_member_name(): - - 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. - - -idc.get_member_offset(): - - 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... - - -idc.get_member_qty(): - - 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. - - @note: Union members are, in IDA's internals, located - at subsequent byte offsets: member 0 -> offset 0x0, - member 1 -> offset 0x1, etc... - - -idc.get_member_size(): - - 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. - - -idc.get_member_strid(): - - 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. - - -idc.get_min_spd_ea(): - - 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 - - -idc.get_module_name(): - - Get process module name - - @param base: the base address of the module - - @return: required info or None - - -idc.get_module_size(): - - Get process module size - - @param base: the base address of the module - - @return: required info or -1 - - -idc.get_name(): - - 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 - - -idc.get_name_ea(): - - get_name_ea(_from, name) -> ea_t - - - Get address of the name. Dummy names (like byte_xxxx where xxxx are - hex digits) are parsed by this function to obtain the address. The - database is not consulted for them. This function works only with - regular names. - - @param _from: linear address where the name is used. if not - applicable, then should be BADADDR . (C++: ea_t) - @param name: any name in the program or NULL (C++: const char *) - @return: address of the name or BADADDR - - -idc.get_name_ea_simple(): - - Get linear address of a name - - @param name: name of program byte - - @return: address of the name - BADADDR - No such name - - -idc.get_next_bmask(): - - get_next_bmask(id, bmask) -> bmask_t - - - Get next bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @param bmask (C++: bmask_t) - @return: value of a bitmask with value higher than the specified - value, or DEFMASK - - -idc.get_next_cref_from(): - - get_next_cref_from(frm, current) -> ea_t - - - Get next instruction referenced from the specified instruction. - - @param current: linear address of current referenced instruction This - value is returned by get_first_cref_from() or - previous call to get_next_cref_from() functions. - (C++: ea_t) - @return: next referenced address or BADADDR . The lastXR variable - contains type of the reference. - - -idc.get_next_cref_to(): - - get_next_cref_to(to, current) -> ea_t - - - Get next instruction referencing to the specified instruction. - - @param to: linear address of referenced instruction (C++: ea_t) - @param current: linear address of current referenced instruction This - value is returned by get_first_cref_to() or previous - call to get_next_cref_to() functions. (C++: ea_t) - @return: linear address of the next referencing instruction or - BADADDR . The lastXR variable contains type of the - reference. - - -idc.get_next_dref_from(): - - get_next_dref_from(frm, current) -> ea_t - - - Get next data referenced from the specified address. - - @param current: linear address of current referenced data. This value - is returned by get_first_dref_from() or previous - call to get_next_dref_from() functions. (C++: ea_t) - @return: linear address of next data or BADADDR . The lastXR - variable contains type of the reference - - -idc.get_next_dref_to(): - - get_next_dref_to(to, current) -> ea_t - - - Get address of instruction/data referencing to the specified data - - @param to: linear address of referencing instruction or data (C++: - ea_t) - @param current: current linear address. This value is returned by - get_first_dref_to() or previous call to - get_next_dref_to() functions. (C++: ea_t) - @return: BADADDR if nobody refers to the specified data. The lastXR - variable contains type of the reference. - - -idc.get_next_enum_member(): - - Get next constant in the enum - - @param enum_id: id of enum - @param bmask: bitmask of the constant ordinary enums accept only ida_enum.DEFMASK as a bitmask - @param value: value of the current constant - - @return: value of a constant with value higher than the specified - value. idaapi.BADNODE no such constants exist. - All constants are sorted by their values as unsigned longs. - - -idc.get_next_fchunk(): - - 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 - - -idc.get_next_fcref_from(): - - get_next_fcref_from(frm, current) -> ea_t - - -idc.get_next_fcref_to(): - - get_next_fcref_to(to, current) -> ea_t - - -idc.get_next_fixup_ea(): - - get_next_fixup_ea(ea) -> ea_t - - - Find next address with fixup information - - @param ea: current address (C++: ea_t) - @return: the next address with fixup information, or BADADDR - - -idc.get_next_func(): - - Find next function - - @param ea: any address belonging to the function - - @return: BADADDR - no more functions - otherwise returns the next function start address - - -idc.get_next_hash_key(): - - Get the next key in the hash. - - @param hash_id: The hash ID. - @param key: The current key. - - @return: the next key, 0 otherwise - - -idc.get_next_index(): - - 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. - - -idc.get_next_module(): - - Enumerate process modules - - @param base: previous module's base address - - @return: next module's base address or None on failure - - -idc.get_next_offset(): - - Get next offset in a structure - - @param sid: structure type ID - @param offset: current offset - - @return: -1 if bad structure type ID is passed, - ida_idaapi.BADADDR if no (more) offsets in the structure, - otherwise returns next offset in a structure. - - @note: IDA allows 'holes' between members of a - structure. It treats these 'holes' - as unnamed arrays of bytes. - This function returns a member offset or a hole offset. - It will return size of the structure if input - 'offset' belongs to the last member of the structure. - - @note: Union members are, in IDA's internals, located - at subsequent byte offsets: member 0 -> offset 0x0, - member 1 -> offset 0x1, etc... - - -idc.get_next_seg(): - - Get next segment - - @param ea: linear address - - @return: start of the next segment - BADADDR - no next segment - - -idc.get_next_struc_idx(): - - get_next_struc_idx(idx) -> uval_t - - - Get next struct index. - - @param idx (C++: uval_t) - @return: BADADDR if resulting index is out of bounds, otherwise idx++ - - -idc.get_numbered_type_name(): - - Retrieve a local type name - - @param ordinal: slot number (1...NumberOfLocalTypes) - - returns: local type name or None - - -idc.get_operand_type(): - - 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 - - -idc.get_operand_value(): - - 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 - - -idc.get_ordinal_qty(): - - Get number of local types + 1 - - @return: value >= 1. 1 means that there are no local types. - - -idc.get_original_byte(): - - 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) - - -idc.get_prev_bmask(): - - get_prev_bmask(id, bmask) -> bmask_t - - - Get prev bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @param bmask (C++: bmask_t) - @return: value of a bitmask with value lower than the specified value, - or DEFMASK - - -idc.get_prev_enum_member(): - - Get prev constant in the enum - - @param enum_id: id of enum - @param bmask : bitmask of the constant - ordinary enums accept only ida_enum.DEFMASK as a bitmask - @param value: value of the current constant - - @return: value of a constant with value lower than the specified - value. idaapi.BADNODE no such constants exist. - All constants are sorted by their values as unsigned longs. - - -idc.get_prev_fchunk(): - - 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 - - -idc.get_prev_fixup_ea(): - - get_prev_fixup_ea(ea) -> ea_t - - - Find previous address with fixup information - - @param ea: current address (C++: ea_t) - @return: the previous address with fixup information, or BADADDR - - -idc.get_prev_func(): - - Find previous function - - @param ea: any address belonging to the function - - @return: BADADDR - no more functions - otherwise returns the previous function start address - - -idc.get_prev_hash_key(): - - Get the previous key in the hash. - - @param hash_id: The hash ID. - @param key: The current key. - - @return: the previous key, 0 otherwise - - -idc.get_prev_index(): - - 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. - - -idc.get_prev_offset(): - - Get previous offset in a structure - - @param sid: structure type ID - @param offset: current offset - - @return: -1 if bad structure type ID is passed, - ida_idaapi.BADADDR if no (more) offsets in the structure, - otherwise returns previous offset in a structure. - - @note: IDA allows 'holes' between members of a - structure. It treats these 'holes' - as unnamed arrays of bytes. - This function returns a member offset or a hole offset. - It will return size of the structure if input - 'offset' is bigger than the structure size. - - @note: Union members are, in IDA's internals, located - at subsequent byte offsets: member 0 -> offset 0x0, - member 1 -> offset 0x1, etc... - - -idc.get_prev_struc_idx(): - - get_prev_struc_idx(idx) -> uval_t - - - Get previous struct index. - - @param idx (C++: uval_t) - @return: BADADDR if resulting index is negative, otherwise idx - 1 - - -idc.get_process_state(): - - 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 - - -idc.get_processes(): - - 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 *) - @return: number of processes or -1 on error - - -idc.get_qword(): - - get_qword(ea) -> uint64 - - - Get one qword (64-bit) of the program at 'ea'. This function takes - into account order of bytes specified in \inf{is_be()} This function - works only for 8bit byte processors. - - @param ea (C++: ea_t) - - -idc.get_reg_value(): - - Get register value - - @param name: the register name - - @note: The debugger should be running. otherwise the function fails - the register name should be valid. - It is not necessary to use this function to get register values - because a register name in the script will do too. - - @return: register value (integer or floating point) - - -idc.get_ret_tev_return(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a function return event. - - -idc.get_root_filename(): - - get_root_filename() -> ssize_t - - - Get file name only of the input file. - - -idc.get_screen_ea(): - - get_screen_ea() -> ea_t - - - Get the address at the screen cursor ( 'ui_screenea' ) - - -idc.get_segm_attr(): - - Get segment attribute - - @param segea: any address within segment - @param attr: one of SEGATTR_... constants - - -idc.get_segm_by_sel(): - - 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 - - -idc.get_segm_end(): - - 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 - - -idc.get_segm_name(): - - Get name of a segment - - @param ea: any address in the segment - - @return: "" - no segment at the specified address - - -idc.get_segm_start(): - - 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 - - -idc.get_source_linnum(): - - get_source_linnum(ea) -> uval_t - - -idc.get_sourcefile(): - - get_sourcefile(ea, bounds=None) -> char const * - - - Get name of source file occupying the given address. - - @param ea: linear address (C++: ea_t) - @param bounds: pointer to the output buffer with the address range for - the current file. May be NULL. (C++: range_t *) - @return: NULL if source file information is not found, otherwise - returns pointer to file name - - -idc.get_sp_delta(): - - 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 - - -idc.get_spd(): - - 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 - - -idc.get_sreg(): - - 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. - - -idc.get_step_trace_options(): - - get_step_trace_options() -> int - - - Get current step tracing options. \sq{Type, Synchronous function, - Notification, none (synchronous function)} - - @return: Step trace options - - -idc.get_str_type(): - - Get string type - - @param ea: linear address - - @return: One of STRTYPE_... constants - - -idc.get_strlit_contents(): - - 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 - - -idc.get_struc_by_idx(): - - get_struc_by_idx(idx) -> tid_t - - - Get struct id by struct number. - - - @param idx (C++: uval_t) - - -idc.get_struc_cmt(): - - get_struc_cmt(id, repeatable) -> ssize_t - - - Get struct comment. - - - @param id (C++: tid_t) - @param repeatable (C++: bool) - - -idc.get_struc_id(): - - get_struc_id(name) -> tid_t - - - Get struct id by name. - - - @param name (C++: const char *) - - -idc.get_struc_idx(): - - get_struc_idx(id) -> uval_t - - - Get internal number of the structure. - - - @param id (C++: tid_t) - - -idc.get_struc_name(): - - get_struc_name(id) -> ssize_t - - - Get struct name by id. - - - @param id (C++: tid_t) - - -idc.get_struc_qty(): - - get_struc_qty() -> size_t - - - Get number of known structures. - - -idc.get_struc_size(): - - get_struc_size(sptr) -> asize_t - get_struc_size(id) -> asize_t - - - Get struct size (also see 'get_struc_size(tid_t)' ) - - - @param sptr (C++: const struc_t *) - - -idc.get_tev_ea(): - - get_tev_ea(n) -> ea_t - - -idc.get_tev_qty(): - - get_tev_qty() -> int - - - Get number of trace events available in trace buffer. \sq{Type, - Synchronous function, Notification, none (synchronous function)} - - -idc.get_tev_tid(): - - get_tev_tid(n) -> int - - -idc.get_tev_type(): - - get_tev_type(n) -> int - - -idc.get_thread_qty(): - - get_thread_qty() -> int - - - Get number of threads. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - -idc.get_tinfo(): - - Get type information of function/variable as 'typeinfo' object - - @param ea: the address of the object - @return: None on failure, or (type, fields) tuple. - - -idc.get_trace_file_desc(): - - get_trace_file_desc(filename) -> bool - - - Get the file header of the specified trace file. - - - @param filename (C++: const char *) - - -idc.get_type(): - - Get type of function/variable - - @param ea: the address of the object - - @return: type string or None if failed - - -idc.get_wide_byte(): - - 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) - - -idc.get_wide_dword(): - - 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 - \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 - - @param ea (C++: ea_t) - - -idc.get_wide_word(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - - -idc.get_xref_type(): - - Return type of the last xref obtained by - [RD]first/next[B0] functions. - - @return: constants fl_* or dr_* - - -idc.getn_enum(): - - getn_enum(n) -> enum_t - - - Get enum by its ordinal number (0..n). - - - @param n (C++: size_t) - - -idc.getn_thread(): - - getn_thread(n) -> thid_t - - - Get the ID of a thread. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: - int) - @return: NO_THREAD if the thread doesn't exist. - - -idc.getn_thread_name(): - - getn_thread_name(n) -> char const * - - - Get the NAME of a thread \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 - for the current thread (C++: int) - @return: thread name or NULL if the thread doesn't exist. - - -idc.guess_type(): - - 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 - - -idc.idadir(): - - Get IDA directory - - This function returns the directory where IDA.EXE resides - - -idc.import_type(): - - Copy information from type library to database - Copy structure, union, or enum definition from the type library - to the IDA database. - - @param idx: the position of the new type in the list of - types (structures or enums) -1 means at the end of the list - @param type_name: name of type to copy - - @return: BADNODE-failed, otherwise the type id (structure id or enum id) - - -idc.is_bf(): - - is_bf(id) -> bool - - - Is enum a bitfield? (otherwise - plain enum, no bitmasks except for - 'DEFMASK' are allowed) - - @param id (C++: enum_t) - - -idc.is_event_handled(): - - Is the debug event handled? - - @return: boolean - - -idc.is_loaded(): - Is the byte initialized? - -idc.is_union(): - - Is a structure a union? - - @param sid: structure type ID - - @return: 1: yes, this is a union id - 0: no - - @note: Unions are a special kind of structures - - -idc.is_valid_trace_file(): - - is_valid_trace_file(filename) -> bool - - - Is the specified file a valid trace file for the current database? - - - @param filename (C++: const char *) - - -idc.jumpto(): - - jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool - jumpto(custom_viewer, place, x, y) -> bool - - - Jump to the specified address ( 'ui_jumpto' ). - - @param ea: destination (C++: ea_t) - @param opnum: -1: don't change x coord (C++: int) - @param uijmp_flags: Jump flags (C++: int) - @return: success - - -idc.load_and_run_plugin(): - - load_and_run_plugin(name, arg) -> bool - - - Load & run a plugin. - - - @param name (C++: const char *) - @param arg (C++: size_t) - - -idc.load_debugger(): - - load_debugger(dbgname, use_remote) -> bool - - -idc.load_trace_file(): - - load_trace_file(filename) -> bool - - - Load a recorded trace file in the trace 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 *) - - -idc.make_array(): - - 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. - - -idc.move_segm(): - - 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 - - -idc.msg(): - - msg(o) -> PyObject * - - - 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 - - -idc.next_addr(): - - 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. - - -idc.next_func_chunk(): - - 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 - - -idc.next_head(): - - 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 - - -idc.next_not_tail(): - - next_not_tail(ea) -> ea_t - - - Get address of next non-tail byte. - - @param ea (C++: ea_t) - @return: BADADDR if none exists. - - -idc.op_bin(): - - op_bin(ea, n) -> bool - - - set op type to 'bin_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_chr(): - - op_chr(ea, n) -> bool - - - set op type to 'char_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_dec(): - - op_dec(ea, n) -> bool - - - set op type to 'dec_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_enum(): - - op_enum(ea, n, id, serial) -> bool - - - Set operand representation to be 'enum_t'. If applied to unexplored - bytes, converts them to 16/32bit word data - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @param id: id of enum (C++: enum_t) - @param serial: 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 (C++: uchar) - @return: success - - -idc.op_flt(): - - op_flt(ea, n) -> bool - - - set op type to 'flt_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_hex(): - - op_hex(ea, n) -> bool - - - set op type to 'hex_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_man(): - - set_forced_operand(ea, n, op) -> bool - - - Set forced operand. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, 2) (C++: int) - @param op: text of operand NULL: do nothing (return 0) "" : delete - forced operand (C++: const char *) - @return: success - - -idc.op_num(): - - op_num(ea, n) -> bool - - - set op type to 'num_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_oct(): - - op_oct(ea, n) -> bool - - - set op type to 'oct_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_offset(): - - op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int - - - See 'op_offset_ex()' - - - @param ea (C++: ea_t) - @param n (C++: int) - @param type (C++: reftype_t) - @param target (C++: ea_t) - @param base (C++: ea_t) - @param tdelta (C++: adiff_t) - - -idc.op_offset_high16(): - - 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 - - -idc.op_plain_offset(): - - 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 - - -idc.op_seg(): - - 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: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: success - - -idc.op_stkvar(): - - 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: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: success - - -idc.op_stroff(): - - 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. - - - -idc.parse_decl(): - - 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 - - -idc.parse_decls(): - - 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) - - -idc.patch_byte(): - - 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. - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -idc.patch_dbg_byte(): - - put_dbg_byte(ea, x) -> bool - - - Change one byte of the debugged process memory. - - @param ea: linear address (C++: ea_t) - @param x: byte value (C++: uint32) - @return: true if the process memory has been modified - - -idc.patch_dword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -idc.patch_qword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -idc.patch_word(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -idc.plan_and_wait(): - - 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. - - -idc.plan_to_apply_idasgn(): - - plan_to_apply_idasgn(fname) -> int - - - Add a signature file to the list of planned signature files. - - @param fname: file name. should not contain directory part. (C++: - const char *) - @return: 0 if failed, otherwise number of planned (and applied) - signatures - - -idc.prev_addr(): - - prev_addr(ea) -> ea_t - - - Get previous address in the program. - - @param ea (C++: ea_t) - @return: BADADDR if no such address exist. - - -idc.prev_head(): - - 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 - - -idc.prev_not_tail(): - - prev_not_tail(ea) -> ea_t - - - Get address of previous non-tail byte. - - @param ea (C++: ea_t) - @return: BADADDR if none exists. - - -idc.print_decls(): - - 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 - - -idc.print_insn_mnem(): - - 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. - - -idc.print_operand(): - - 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 "" - - -idc.process_config_line(): - - Parse one or more ida.cfg config directives - @param directive: directives to process, for example: PACK_DATABASE=2 - - @note: If the directives are erroneous, a fatal error will be generated. - The settings are permanent: effective for the current session and the next ones - - -idc.process_ui_action(): - - Invokes an IDA UI action by name - - @param name: Command name - @param flags: Reserved. Must be zero - @return: Boolean - - -idc.put_bookmark(): - - mark_position(ea, lnnum, x, y, slot, comment) - - -idc.qexit(): - - qexit(code) - - - Call qatexit functions, shut down UI and kernel, and exit. - - @param code: exit code (C++: int) - - -idc.qsleep(): - - qsleep the specified number of milliseconds - This function suspends IDA for the specified amount of time - - @param milliseconds: time to sleep - - -idc.read_dbg_byte(): - - Get value of program byte using the debugger memory - - @param ea: linear address - @return: The value or None on failure. - - -idc.read_dbg_dword(): - - Get value of program double-word using the debugger memory - - @param ea: linear address - @return: The value or None on failure. - - -idc.read_dbg_memory(): - - dbg_read_memory(py_ea, py_sz) -> PyObject * - - - Reads from the debugee's memory at the specified ea - @return: - - The read buffer (as a string) - - Or None on failure - - -idc.read_dbg_qword(): - - Get value of program quadro-word using the debugger memory - - @param ea: linear address - @return: The value or None on failure. - - -idc.read_dbg_word(): - - Get value of program word using the debugger memory - - @param ea: linear address - @return: The value or None on failure. - - -idc.read_selection_end(): - - Get end address of the selected range - - @return: BADADDR - the user has not selected an range - - -idc.read_selection_start(): - - Get start address of the selected range - returns BADADDR - the user has not selected an range - - -idc.rebase_program(): - - rebase_program(delta, flags) -> int - - - Rebase the whole program by 'delta' bytes. - - @param delta: number of bytes to move the program (C++: adiff_t) - @param flags: Move segment flags it is recommended to use - MSF_FIXONCE so that the loader takes care of global - variables it stored in the database (C++: int) - @return: Move segment result codes - - -idc.recalc_spd(): - - 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: linear address of the current instruction (C++: ea_t) - - -idc.refresh_debugger_memory(): - - refresh_debugger_memory() -> PyObject * - - - Refreshes the debugger memory - @return: Nothing - - -idc.refresh_idaview_anyway(): - - refresh_idaview_anyway() - - - Refresh all disassembly views ( 'ui_refresh' ), forces an immediate - refresh. Please consider 'request_refresh()' instead - - -idc.refresh_lists(): - - refresh_choosers() - - -idc.remove_fchunk(): - - 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 - - -idc.rename_array(): - - 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 - - -idc.rename_entry(): - - rename_entry(ord, name, flags=0x0) -> bool - - - Rename entry point. - - @param ord: ordinal number of the entry point (C++: uval_t) - @param name: name of entry point. If the specified location already - has a name, the old name will be appended to a repeatable - comment. (C++: const char *) - @param flags: See AEF_* (C++: int) - @return: success - - -idc.resume_thread(): - - resume_thread(tid) -> int - - - Resume thread. \sq{Type, Synchronous function - available as request, - Notification, none (synchronous function)} - - @param tid: thread id (C++: thid_t) - - -idc.retrieve_input_file_md5(): - - retrieve_input_file_md5() -> bool - - - Get input file md5. - - -idc.rotate_left(): - - 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 - - -idc.run_to(): - - 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: target address (C++: ea_t) - @param pid: not used yet. please do not specify this parameter. (C++: - pid_t) - @param tid: not used yet. please do not specify this parameter. (C++: - thid_t) - - -idc.save_database(): - - 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 - - -idc.save_trace_file(): - - save_trace_file(filename, description) -> bool - - - Save the current trace in the specified file. - - - @param filename (C++: const char *) - @param description (C++: const char *) - - -idc.sel2para(): - - 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 - - -idc.select_thread(): - - 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: ID of the thread to select (C++: thid_t) - @return: false if the thread doesn't exist. - - -idc.selector_by_name(): - - Get segment selector by name - - @param segname: name of segment - - @return: segment selector or BADADDR - - -idc.send_dbg_command(): - 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. - - -idc.set_array_long(): - - 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 - - -idc.set_array_params(): - - 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 - - -idc.set_array_string(): - - 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 - - -idc.set_bmask_cmt(): - - Set bitmask comment (only for bitfields) - - @param enum_id: id of enum - @param bmask: bitmask of the constant - @param cmt: comment - repeatable - type of comment, 0-regular, 1-repeatable - - @return: 1-ok, 0-failed - - -idc.set_bmask_name(): - - Set bitmask name (only for bitfields) - - @param enum_id: id of enum - @param bmask: bitmask of the constant - @param name: name of bitmask - - @return: 1-ok, 0-failed - - -idc.set_bpt_attr(): - - 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 attibute value - - @return: success - - -idc.set_bpt_cond(): - - 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 - - -idc.set_cmt(): - - set_cmt(ea, comm, rptble) -> bool - - - Set an indented comment. - - @param ea: linear address (C++: ea_t) - @param comm: comment string NULL: do nothing (return 0) "" : - delete comment (C++: const char *) - @param rptble: is repeatable? (C++: bool) - @return: success - - -idc.set_color(): - - 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) - - -idc.set_debugger_event_cond(): - - set_debugger_event_cond(nonnul_cond) - - -idc.set_debugger_options(): - - 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 - - -idc.set_default_sreg_value(): - - 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. - - -idc.set_enum_bf(): - - set_enum_bf(id, bf) -> bool - - - Set 'bitfield' bit of enum (i.e. convert it to a bitfield) - - - @param id (C++: enum_t) - @param bf (C++: bool) - - -idc.set_enum_cmt(): - - set_enum_cmt(id, cmt, repeatable) -> bool - - - Set comment for enum type. - - - @param id (C++: enum_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -idc.set_enum_flag(): - - set_enum_flag(id, flag) -> bool - - - Set data representation flags. - - - @param id (C++: enum_t) - @param flag (C++: flags_t) - - -idc.set_enum_idx(): - - set_enum_idx(id, idx) -> bool - - - Set serial number of enum. Also see 'get_enum_idx()' . - - @param id (C++: enum_t) - @param idx (C++: size_t) - - -idc.set_enum_member_cmt(): - - set_enum_member_cmt(id, cmt, repeatable) -> bool - - - Set comment for enum member. - - - @param id (C++: const_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -idc.set_enum_member_name(): - - set_enum_member_name(id, name) -> bool - - - Set name of enum member. - - - @param id (C++: const_t) - @param name (C++: const char *) - - -idc.set_enum_name(): - - set_enum_name(id, name) -> bool - - - Set name of enum type. - - - @param id (C++: enum_t) - @param name (C++: const char *) - - -idc.set_enum_width(): - - set_enum_width(id, width) -> bool - - - See comment for 'get_enum_width()' - - - @param id (C++: enum_t) - @param width (C++: int) - - -idc.set_fchunk_attr(): - - 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 - - -idc.set_fixup(): - - 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 - - -idc.set_frame_size(): - - 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 - - -idc.set_func_attr(): - - 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 - - -idc.set_func_cmt(): - - 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 - - -idc.set_func_end(): - - set_func_end(ea, newend) -> bool - - - Move function chunk end address. - - @param ea: any address in the function (C++: ea_t) - @param newend: new end address of the function (C++: ea_t) - @return: success - - -idc.set_func_flags(): - - Change function flags - - @param ea: any address belonging to the function - @param flags: see get_func_flags() for explanations - - @return: !=0 - ok - - -idc.set_hash_long(): - - 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 - - -idc.set_hash_string(): - - 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 - - -idc.set_ida_state(): - - set_ida_state(st) -> idastate_t - - - Change IDA status indicator value - - @param st: - new indicator status (C++: idastate_t) - @return: old indicator status - - -idc.set_local_type(): - - 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 - - -idc.set_manual_insn(): - - set_manual_insn(ea, manual_insn) - - - Set manual instruction string. - - @param ea: linear address of the instruction or data item (C++: ea_t) - @param manual_insn: "" - delete manual string. NULL - do nothing (C++: - const char *) - - -idc.set_member_cmt(): - - 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 - - -idc.set_member_name(): - - 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. - - -idc.set_member_type(): - - 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. - - -idc.set_name(): - - 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 - - -idc.set_processor_type(): - - 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: name of processor type (one of names present in - \ph{psnames}) (C++: const char *) - @param level: SETPROC_ (C++: setproc_level_t) - @return: success - - -idc.set_reg_value(): - - 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. - - -idc.set_remote_debugger(): - - set_remote_debugger(host, _pass, port=-1) - - - Set remote debugging options. Should be used before starting the - debugger. - - @param host: If empty, IDA will use local debugger. If NULL, the host - will not be set. (C++: const char *) - @param port: If -1, the default port number will be used (C++: int) - - -idc.set_root_filename(): - - set_root_filename(file) - - - Set full path of the input file. - - - @param file (C++: const char *) - - -idc.set_segm_addressing(): - - Change segment addressing - - @param ea: any address in the segment - @param bitness: 0: 16bit, 1: 32bit, 2: 64bit - - @return: success (boolean) - - -idc.set_segm_alignment(): - - 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) - - -idc.set_segm_attr(): - - 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. - - -idc.set_segm_class(): - - Change class of the segment - - @param ea: any address in the segment - @param segclass: new class of the segment - - @return: success (boolean) - - -idc.set_segm_combination(): - - 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) - - -idc.set_segm_name(): - - Change name of the segment - - @param ea: any address in the segment - @param name: new name of the segment - - @return: success (boolean) - - -idc.set_segm_type(): - - Set segment type - - @param segea: any address within segment - @param segtype: new segment type: - - @return: !=0 - ok - - -idc.set_segment_bounds(): - - 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 - - -idc.set_selector(): - - set_selector(selector, paragraph) -> int - - - Set mapping of selector to a paragraph. You should call this - functionbeforecreating a segment which uses the selector, otherwise - the creation of the segment will fail. - - @param selector: 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. (C++: sel_t) - @param paragraph: paragraph to map selector (C++: ea_t) - - -idc.set_source_linnum(): - - set_source_linnum(ea, lnnum) - - -idc.set_step_trace_options(): - - set_step_trace_options(options) - - - Modify step tracing options. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - @param options (C++: int) - - -idc.set_storage_type(): - - change_storage_type(start_ea, end_ea, stt) -> error_t - - - Change flag storage type for address range. - - @param start_ea: should be lower than end_ea. (C++: ea_t) - @param end_ea: does not belong to the range. (C++: ea_t) - @param stt: storage_type_t (C++: storage_type_t) - @return: error code - - -idc.set_struc_cmt(): - - set_struc_cmt(id, cmt, repeatable) -> bool - - - Set structure comment. - - - @param id (C++: tid_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -idc.set_struc_idx(): - - Change structure index - - @param sid: structure type ID - @param index: new index of the structure - - @return: != 0 - ok - - @note: See get_first_struc_idx() for the explanation of - structure indices and IDs. - - -idc.set_struc_name(): - - set_struc_name(id, name) -> bool - - - Set structure name. - - - @param id (C++: tid_t) - @param name (C++: const char *) - - -idc.set_tail_owner(): - - 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 - - -idc.set_target_assembler(): - - set_target_assembler(asmnum) -> bool - - - Set target assembler. - - @param asmnum: number of assembler in the current processor module - (C++: int) - @return: success - - -idc.set_trace_file_desc(): - - set_trace_file_desc(filename, description) -> bool - - - Change the description of the specified trace file. - - - @param filename (C++: const char *) - @param description (C++: const char *) - - -idc.split_sreg_range(): - - 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 corrent value. - - -idc.start_process(): - - 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' }You can also - use the 'run_to()' function to easily start the execution of a process - until a given address is reached.For all parameters, a NULL value - indicates the debugger will take the value from the defined Process - Options. - - @param path: path to the executable to start (C++: const char *) - @param args: arguments to pass to process (C++: const char *) - @param sdir: starting directory for the process (C++: const char *) - - -idc.step_into(): - - 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' } - - -idc.step_over(): - - 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' } - - -idc.step_until_ret(): - - 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' } - - -idc.suspend_process(): - - 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) }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. - - -idc.suspend_thread(): - - 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: thread id (C++: thid_t) - - -idc.take_memory_snapshot(): - - take_memory_snapshot(only_loader_segs) -> bool - - - Take a memory snapshot of the running process. - - @param only_loader_segs: only is_loader_segm() segments will be - affected (C++: bool) - @return: success - - -idc.to_ea(): - - Return value of expression: ((seg<<4) + off) - - -idc.toggle_bnot(): - - 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 - - -idc.toggle_sign(): - - 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) - - -idc.update_extra_cmt(): - - update_extra_cmt(ea, what, str) - - -idc.update_hidden_range(): - - Set hidden range state - - @param ea: any address belonging to the hidden range - @param visible: new state of the range - - @return: != 0 - ok - - -idc.validate_idb_names(): - - check consistency of IDB name records - @param do_repair: try to repair netnode header it TRUE - @return: number of inconsistent name records - - -idc.wait_for_next_event(): - - 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: combination of Wait for debugger event flags constants - (C++: int) - @param timeout: number of seconds to wait, -1-infinity (C++: int) - @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= - 0) - - -idc.warning(): - - warning(format) - - - Display a message in a message box - - @param message: 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 - - -idc.write_dbg_memory(): - - 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) - - diff --git a/pydoc_injections2.txt b/pydoc_injections2.txt new file mode 100644 index 0000000..70434a5 --- /dev/null +++ b/pydoc_injections2.txt @@ -0,0 +1,82127 @@ +Help on function auto_apply_tail in module ida_auto: + +auto_apply_tail(*args) + auto_apply_tail(tail_ea, parent_ea) + + + Plan to apply the tail_ea chunk to the parent + + @param tail_ea: linear address of start of tail (C++: ea_t) + @param parent_ea: linear address within parent. If BADADDR, + automatically try to find parent via xrefs. (C++: + ea_t) + +Help on function auto_apply_type in module ida_auto: + +auto_apply_type(*args) + 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) + +Help on function auto_cancel in module ida_auto: + +auto_cancel(*args) + 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) + +Help on class auto_display_t in module ida_auto: + +class auto_display_t(__builtin__.object) + | Proxy of C++ auto_display_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> auto_display_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | auto_display_t_ea_get(self) -> ea_t + | + | state + | auto_display_t_state_get(self) -> idastate_t + | + | thisown + | The membership flag + | + | type + | auto_display_t_type_get(self) -> atype_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_auto_display_t(self) + +Help on function auto_get in module ida_auto: + +auto_get(*args) + 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) + +Help on function auto_is_ok in module ida_auto: + +auto_is_ok(*args) + auto_is_ok() -> bool + + + Are all queues empty? (i.e. has autoanalysis finished?). + +Help on function auto_make_code in module ida_auto: + +auto_make_code(*args) + auto_make_code(ea) + + + Plan to make code. + + + @param ea (C++: ea_t) + +Help on function auto_make_proc in module ida_auto: + +auto_make_proc(*args) + auto_make_proc(ea) + + + Plan to make code&function. + + + @param ea (C++: ea_t) + +Help on function auto_mark in module ida_auto: + +auto_mark(*args) + auto_mark(ea, type) + + + Put single address into a queue. Queues keep addresses sorted. + + + @param ea (C++: ea_t) + @param type (C++: atype_t) + +Help on function auto_mark_range in module ida_auto: + +auto_mark_range(*args) + 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) + +Help on function auto_recreate_insn in module ida_auto: + +auto_recreate_insn(*args) + auto_recreate_insn(ea) -> int + + + Try to create instruction + + @param ea: linear address of callee (C++: ea_t) + @return: the length of the instruction or 0 + +Help on function auto_unmark in module ida_auto: + +auto_unmark(*args) + 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) + +Help on function auto_wait in module ida_auto: + +auto_wait(*args) + 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) + +Help on function auto_wait_range in module ida_auto: + +auto_wait_range(*args) + 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) + +Help on function enable_auto in module ida_auto: + +enable_auto(*args) + 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 + +Help on function get_auto_display in module ida_auto: + +get_auto_display(*args) + get_auto_display(auto_display) + + + Get structure which holds the autoanalysis indicator contents. + + + @param auto_display (C++: auto_display_t *) + +Help on function get_auto_state in module ida_auto: + +get_auto_state(*args) + 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). + +Help on function is_auto_enabled in module ida_auto: + +is_auto_enabled(*args) + is_auto_enabled() -> bool + + + Get autoanalyzer state. + +Help on function may_create_stkvars in module ida_auto: + +may_create_stkvars(*args) + may_create_stkvars() -> bool + + + Is it allowed to create stack variables automatically?. This function + should be used by IDP modules before creating stack vars. + +Help on function may_trace_sp in module ida_auto: + +may_trace_sp(*args) + may_trace_sp() -> bool + + + Is it allowed to trace stack pointer automatically?. This function + should be used by IDP modules before tracing sp. + +Help on function peek_auto_queue in module ida_auto: + +peek_auto_queue(*args) + 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 + +Help on function plan_and_wait in module ida_auto: + +plan_and_wait(*args) + 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. + + @param ea1 (C++: ea_t) + @param ea2 (C++: ea_t) + @param final_pass (C++: bool) + +Help on function plan_ea in module ida_auto: + +plan_ea(*args) + plan_ea(ea) + + + Plan to perform reanalysis. + + + @param ea (C++: ea_t) + +Help on function plan_range in module ida_auto: + +plan_range(*args) + plan_range(sEA, eEA) + + + Plan to perform reanalysis. + + + @param sEA (C++: ea_t) + @param eEA (C++: ea_t) + +Help on function reanalyze_callers in module ida_auto: + +reanalyze_callers(*args) + 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: linear address of callee (C++: ea_t) + @param noret: !=0: the callee doesn't return, mark to undefine + subsequent instructions in the caller. 0: do nothing. + (C++: bool) + +Help on function revert_ida_decisions in module ida_auto: + +revert_ida_decisions(*args) + 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) + +Help on function set_auto_state in module ida_auto: + +set_auto_state(*args) + set_auto_state(new_state) -> atype_t + + + Set current state of autoanalyzer. + + @param new_state: new state of autoanalyzer (C++: atype_t) + @return: previous state + +Help on function set_ida_state in module ida_auto: + +set_ida_state(*args) + set_ida_state(st) -> idastate_t + + + Change IDA status indicator value + + @param st: - new indicator status (C++: idastate_t) + @return: old indicator status + +Help on function show_addr in module ida_auto: + +show_addr(*args) + show_addr(ea) + + + Show an address on the autoanalysis indicator. The address is + displayed in the form " @:12345678". + + @param ea: - linear address to display (C++: ea_t) + +Help on function show_auto in module ida_auto: + +show_auto(*args) + show_auto(ea, type=AU_NONE) + + + Change autoanalysis indicator value. + + @param ea: linear address being analyzed (C++: ea_t) + @param type: autoanalysis type (see Autoanalysis queues ) (C++: + atype_t) + +Help on function __walk_types_and_formats in module ida_bytes: + +__walk_types_and_formats(formats, type_action, format_action, installing) + # ----------------------------------------------------------------------- + +Help on function add_byte in module ida_bytes: + +add_byte(*args) + add_byte(ea, value) + + + Add a value to one byte of the program. This function works for wide + byte processors too. + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint32) + +Help on function add_dword in module ida_bytes: + +add_dword(*args) + 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 \inf{is_be()}this function works incorrectly if + \ph{nbits} > 16 + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function add_hidden_range in module ida_bytes: + +add_hidden_range(*args) + add_hidden_range(ea1, ea2, description, header, footer, color) -> bool + + + Mark a range of addresses as hidden. The range will be created in the + invisible state with the default color + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (C++: ea_t) + @param description: range parameters (C++: const char *) + @param header: range parameters (C++: const char *) + @param footer: range parameters (C++: const char *) + @param color (C++: bgcolor_t) + @return: success + +Help on function add_mapping in module ida_bytes: + +add_mapping(*args) + 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.You should + set flag PR2_MAPPING in ph.flag2 to use memory mapping Add memory + mapping range. + + @param _from: start of the mapped range (nonexistent address) (C++: + ea_t) + @param to: start of the mapping range (existent address) (C++: ea_t) + @param size: size of the range (C++: asize_t) + @return: success + +Help on function add_qword in module ida_bytes: + +add_qword(*args) + 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 \inf{is_be()} + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function add_word in module ida_bytes: + +add_word(*args) + 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 \inf{is_be()} + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function align_flag in module ida_bytes: + +align_flag(*args) + align_flag() -> flags_t + + + Get a flags_t representing an alignment directive. + +Help on function append_cmt in module ida_bytes: + +append_cmt(*args) + 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: linear address (C++: ea_t) + @param str: comment string to append (C++: const char *) + @param rptble: append to repeatable comment? (C++: bool) + @return: success + +Help on function attach_custom_data_format in module ida_bytes: + +attach_custom_data_format(*args) + attach_custom_data_format(dtid, dfid) -> bool + + + Attach the data format to the data type. + + @param dtid: 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. (C++: int) + @param dfid: data format id (C++: int) + +Help on function bin_flag in module ida_bytes: + +bin_flag(*args) + bin_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function bin_search in module ida_bytes: + +bin_search(*args) + bin_search(start_ea, end_ea, image, imask, step, flags) -> ea_t + +Help on function byte_flag in module ida_bytes: + +byte_flag(*args) + byte_flag() -> flags_t + + + Get a flags_t representing a byte. + +Help on function bytesize in module ida_bytes: + +bytesize(*args) + bytesize(ea) -> int + + + Get number of bytes required to store a byte at the given address. + + + @param ea (C++: ea_t) + +Help on function calc_def_align in module ida_bytes: + +calc_def_align(*args) + calc_def_align(ea, mina, maxa) -> int + + + Calculate default alignment. + + + @param ea (C++: ea_t) + @param mina (C++: int) + @param maxa (C++: int) + +Help on function calc_dflags in module ida_bytes: + +calc_dflags(*args) + calc_dflags(f, force) -> flags_t + +Help on function calc_max_align in module ida_bytes: + +calc_max_align(*args) + calc_max_align(endea) -> int + + + Returns: 0..32. + + + @param endea (C++: ea_t) + +Help on function calc_max_item_end in module ida_bytes: + +calc_max_item_end(*args) + 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: linear address (C++: ea_t) + @param how: when to stop the search. A combination of Item end search + flags (C++: int) + @return: end of new item. If it is not possible to create an item, it + will return 'ea'. + +Help on function calc_min_align in module ida_bytes: + +calc_min_align(*args) + calc_min_align(length) -> int + + + Returns: 1..32. + + + @param length (C++: asize_t) + +Help on function can_define_item in module ida_bytes: + +can_define_item(*args) + can_define_item(ea, length, flags) -> bool + + + Can define item (instruction/data) of the specified 'length', starting + at 'ea'?if there is an item starting at 'ea', this function ignores + itthis function converts to unexplored all encountered data items with + fixup information. Should be fixed in the future.a new item would + cross segment boundariesa new item would overlap with existing items + (except items specified by 'flags') + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param flags: 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 (C++: + flags_t) + @return: 1-yes, 0-no + +Help on function change_storage_type in module ida_bytes: + +change_storage_type(*args) + change_storage_type(start_ea, end_ea, stt) -> error_t + + + Change flag storage type for address range. + + @param start_ea: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: error code + +Help on function char_flag in module ida_bytes: + +char_flag(*args) + char_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function chunk_size in module ida_bytes: + +chunk_size(*args) + 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. + +Help on function chunk_start in module ida_bytes: + +chunk_start(*args) + 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. + +Help on function clr_lzero in module ida_bytes: + +clr_lzero(*args) + clr_lzero(ea, n) -> bool + + + Clear lzero bit. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function clr_op_type in module ida_bytes: + +clr_op_type(*args) + clr_op_type(ea, n) -> bool + + + Remove operand representation information. (set operand representation + to be 'undefined') + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function code_flag in module ida_bytes: + +code_flag(*args) + code_flag() -> flags_t + + + 'FF_CODE' + +Help on function create_16bit_data in module ida_bytes: + +create_16bit_data(*args) + create_16bit_data(ea, length) -> bool + + + Convert to 16-bit quantity (take byte size into account) + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + +Help on function create_32bit_data in module ida_bytes: + +create_32bit_data(*args) + create_32bit_data(ea, length) -> bool + + + Convert to 32-bit quantity (take byte size into account) + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + +Help on function create_align in module ida_bytes: + +create_align(*args) + create_align(ea, length, alignment) -> bool + + + Alignment: 0 or 2..32. If it is 0, is will be calculated. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param alignment (C++: int) + +Help on function create_byte in module ida_bytes: + +create_byte(*args) + create_byte(ea, length, force=False) -> bool + + + Convert to byte. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_custdata in module ida_bytes: + +create_custdata(*args) + 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) + +Help on function create_data in module ida_bytes: + +create_data(*args) + create_data(ea, dataflag, size, tid) -> bool + + + Convert to data (byte, word, dword, etc). This function may be used to + create arrays. + + @param ea: linear address (C++: ea_t) + @param dataflag: type of data. Value of function byte_flag() , + word_flag() , etc. (C++: flags_t) + @param size: 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. (C++: asize_t) + @param tid: type id. If the specified type is a structure, then tid is + structure id. Otherwise should be BADNODE . (C++: tid_t) + @return: success + +Help on function create_double in module ida_bytes: + +create_double(*args) + create_double(ea, length, force=False) -> bool + + + Convert to double. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_dword in module ida_bytes: + +create_dword(*args) + create_dword(ea, length, force=False) -> bool + + + Convert to dword. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_float in module ida_bytes: + +create_float(*args) + create_float(ea, length, force=False) -> bool + + + Convert to float. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_oword in module ida_bytes: + +create_oword(*args) + 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) + +Help on function create_packed_real in module ida_bytes: + +create_packed_real(*args) + 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) + +Help on function create_qword in module ida_bytes: + +create_qword(*args) + create_qword(ea, length, force=False) -> bool + + + Convert to quadword. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_strlit in module ida_bytes: + +create_strlit(*args) + 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: starting address (C++: ea_t) + @param len: length of the string in bytes. if 0, then + get_max_strlit_length() will be used to determine the + length (C++: size_t) + @param strtype: string type. one of String type codes (C++: int32) + @return: success + +Help on function create_struct in module ida_bytes: + +create_struct(*args) + 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) + +Help on function create_tbyte in module ida_bytes: + +create_tbyte(*args) + create_tbyte(ea, length, force=False) -> bool + + + Convert to tbyte. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_word in module ida_bytes: + +create_word(*args) + create_word(ea, length, force=False) -> bool + + + Convert to word. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_yword in module ida_bytes: + +create_yword(*args) + 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) + +Help on function create_zword in module ida_bytes: + +create_zword(*args) + 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) + +Help on function cust_flag in module ida_bytes: + +cust_flag(*args) + cust_flag() -> flags_t + + + Get a flags_t representing custom type data. + +Help on function custfmt_flag in module ida_bytes: + +custfmt_flag(*args) + custfmt_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on class data_format_t in module ida_bytes: + +class data_format_t(__builtin__.object) + | Proxy of C++ data_format_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | + | __real__init__ = __init__(self, *args) + | __init__(self, _self, name, value_size=0, menu_name=None, props=0, hotkey=None, text_width=0) -> data_format_t + | + | __repr__ = _swig_repr(self) + | + | _data_format_t__get_id = __get_id(self, *args) + | __get_id(self) -> int + | + | is_present_in_menus(self, *args) + | is_present_in_menus(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hotkey + | data_format_t_hotkey_get(self) -> char const * + | + | id + | __get_id(self) -> int + | + | menu_name + | data_format_t_menu_name_get(self) -> char const * + | + | name + | data_format_t_name_get(self) -> char const * + | + | props + | data_format_t_props_get(self) -> int + | + | text_width + | data_format_t_text_width_get(self) -> int32 + | + | thisown + | The membership flag + | + | value_size + | data_format_t_value_size_get(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_data_format_t(self) + +Help on class data_type_t in module ida_bytes: + +class data_type_t(__builtin__.object) + | Proxy of C++ data_type_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | + | __real__init__ = __init__(self, *args) + | __init__(self, _self, name, value_size=0, menu_name=None, hotkey=None, asm_keyword=None, props=0) -> data_type_t + | + | __repr__ = _swig_repr(self) + | + | _data_type_t__get_id = __get_id(self, *args) + | __get_id(self) -> int + | + | is_present_in_menus(self, *args) + | is_present_in_menus(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | asm_keyword + | data_type_t_asm_keyword_get(self) -> char const * + | + | hotkey + | data_type_t_hotkey_get(self) -> char const * + | + | id + | __get_id(self) -> int + | + | menu_name + | data_type_t_menu_name_get(self) -> char const * + | + | name + | data_type_t_name_get(self) -> char const * + | + | props + | data_type_t_props_get(self) -> int + | + | thisown + | The membership flag + | + | value_size + | data_type_t_value_size_get(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_data_type_t(self) + +Help on function dec_flag in module ida_bytes: + +dec_flag(*args) + dec_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function del_hidden_range in module ida_bytes: + +del_hidden_range(*args) + del_hidden_range(ea) -> bool + + + Delete hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: success + +Help on function del_items in module ida_bytes: + +del_items(*args) + 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: any address within the first item to delete (C++: ea_t) + @param flags: combination of Unexplored byte conversion flags (C++: + int) + @param nbytes: number of bytes in the range to be undefined (C++: + asize_t) + @param may_destroy: optional routine invoked before deleting a head + item. If callback returns false then item has not + to be deleted and operation fails (C++: + may_destroy_cb_t *) + @return: true on sucessful operation, otherwise false + +Help on function del_mapping in module ida_bytes: + +del_mapping(*args) + del_mapping(ea) + + + Delete memory mapping range. + + @param ea: any address in the mapped range (C++: ea_t) + +Help on function del_value in module ida_bytes: + +del_value(*args) + del_value(ea) + + + Delete byte value from flags. The corresponding byte becomes + uninitialized. + + @param ea (C++: ea_t) + +Help on function detach_custom_data_format in module ida_bytes: + +detach_custom_data_format(*args) + 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: data type id to detach data format from (C++: int) + @param dfid: data format id to detach (C++: int) + +Help on function disable_flags in module ida_bytes: + +disable_flags(*args) + 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: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @return: 0 if ok, otherwise return error code + +Help on function double_flag in module ida_bytes: + +double_flag(*args) + double_flag() -> flags_t + + + Get a flags_t representing a double. + +Help on function dword_flag in module ida_bytes: + +dword_flag(*args) + dword_flag() -> flags_t + + + Get a flags_t representing a double word. + +Help on function enable_flags in module ida_bytes: + +enable_flags(*args) + 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: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: 0 if ok, otherwise an error code + +Help on function enum_flag in module ida_bytes: + +enum_flag(*args) + enum_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function equal_bytes in module ida_bytes: + +equal_bytes(*args) + equal_bytes(ea, image, mask, len, sense_case) -> bool + + + Compare 'len' bytes of the program starting from 'ea' with 'image'. + + @param ea: linear address (C++: ea_t) + @param image: bytes to compare with (C++: const uchar *) + @param mask: array of 1/0 bytes, it's length is 'len'. 1 means to + perform the comparison of the corresponding byte. 0 means + not to perform. if mask == NULL, then all bytes of + 'image' will be compared. if mask == SKIP_FF_MASK then + 0xFF bytes will be skipped (C++: const uchar *) + @param len: length of block to compare in bytes. (C++: size_t) + @param sense_case: case-sensitive comparison? (C++: bool) + +Help on function f_has_cmt in module ida_bytes: + +f_has_cmt(*args) + f_has_cmt(f, arg2) -> bool + +Help on function f_has_dummy_name in module ida_bytes: + +f_has_dummy_name(*args) + f_has_dummy_name(f, arg2) -> bool + + + Does the current byte have dummy (auto-generated, with special prefix) + name? + + + @param f (C++: flags_t) + +Help on function f_has_extra_cmts in module ida_bytes: + +f_has_extra_cmts(*args) + f_has_extra_cmts(f, arg2) -> bool + +Help on function f_has_name in module ida_bytes: + +f_has_name(*args) + f_has_name(f, arg2) -> bool + + + Does the current byte have non-trivial (non-dummy) name? + + + @param f (C++: flags_t) + +Help on function f_has_user_name in module ida_bytes: + +f_has_user_name(*args) + f_has_user_name(F, arg2) -> bool + + + Does the current byte have user-specified name? + + + @param F (C++: flags_t) + +Help on function f_has_xref in module ida_bytes: + +f_has_xref(*args) + f_has_xref(f, arg2) -> bool + + + Does the current byte have cross-references to it? + + + @param f (C++: flags_t) + +Help on function f_is_align in module ida_bytes: + +f_is_align(*args) + f_is_align(F, arg2) -> bool + + + See 'is_align()' + + + @param F (C++: flags_t) + +Help on function f_is_byte in module ida_bytes: + +f_is_byte(*args) + f_is_byte(F, arg2) -> bool + + + See 'is_byte()' + + + @param F (C++: flags_t) + +Help on function f_is_code in module ida_bytes: + +f_is_code(*args) + f_is_code(F, arg2) -> bool + + + Does flag denote start of an instruction? + + + @param F (C++: flags_t) + +Help on function f_is_custom in module ida_bytes: + +f_is_custom(*args) + f_is_custom(F, arg2) -> bool + + + See 'is_custom()' + + + @param F (C++: flags_t) + +Help on function f_is_data in module ida_bytes: + +f_is_data(*args) + f_is_data(F, arg2) -> bool + + + Does flag denote start of data? + + + @param F (C++: flags_t) + +Help on function f_is_double in module ida_bytes: + +f_is_double(*args) + f_is_double(F, arg2) -> bool + + + See 'is_double()' + + + @param F (C++: flags_t) + +Help on function f_is_dword in module ida_bytes: + +f_is_dword(*args) + f_is_dword(F, arg2) -> bool + + + See 'is_dword()' + + + @param F (C++: flags_t) + +Help on function f_is_float in module ida_bytes: + +f_is_float(*args) + f_is_float(F, arg2) -> bool + + + See 'is_float()' + + + @param F (C++: flags_t) + +Help on function f_is_head in module ida_bytes: + +f_is_head(*args) + f_is_head(F, arg2) -> bool + + + Does flag denote start of instruction OR data? + + + @param F (C++: flags_t) + +Help on function f_is_not_tail in module ida_bytes: + +f_is_not_tail(*args) + f_is_not_tail(F, arg2) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function f_is_oword in module ida_bytes: + +f_is_oword(*args) + f_is_oword(F, arg2) -> bool + + + See 'is_oword()' + + + @param F (C++: flags_t) + +Help on function f_is_pack_real in module ida_bytes: + +f_is_pack_real(*args) + f_is_pack_real(F, arg2) -> bool + + + See 'is_pack_real()' + + + @param F (C++: flags_t) + +Help on function f_is_qword in module ida_bytes: + +f_is_qword(*args) + f_is_qword(F, arg2) -> bool + + + See 'is_qword()' + + + @param F (C++: flags_t) + +Help on function f_is_strlit in module ida_bytes: + +f_is_strlit(*args) + f_is_strlit(F, arg2) -> bool + + + See 'is_strlit()' + + + @param F (C++: flags_t) + +Help on function f_is_struct in module ida_bytes: + +f_is_struct(*args) + f_is_struct(F, arg2) -> bool + + + See 'is_struct()' + + + @param F (C++: flags_t) + +Help on function f_is_tail in module ida_bytes: + +f_is_tail(*args) + f_is_tail(F, arg2) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function f_is_tbyte in module ida_bytes: + +f_is_tbyte(*args) + f_is_tbyte(F, arg2) -> bool + + + See 'is_tbyte()' + + + @param F (C++: flags_t) + +Help on function f_is_word in module ida_bytes: + +f_is_word(*args) + f_is_word(F, arg2) -> bool + + + See 'is_word()' + + + @param F (C++: flags_t) + +Help on function f_is_yword in module ida_bytes: + +f_is_yword(*args) + f_is_yword(F, arg2) -> bool + + + See 'is_yword()' + + + @param F (C++: flags_t) + +Help on function find_byte in module ida_bytes: + +find_byte(*args) + 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: linear address (C++: ea_t) + @param size: number of bytes to inspect (C++: asize_t) + @param value: value to find (C++: uchar) + @param bin_search_flags: combination of Search flags (C++: int) + @return: address of byte or BADADDR + +Help on function find_byter in module ida_bytes: + +find_byter(*args) + 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: the lower address of the search range (C++: ea_t) + @param size: number of bytes to inspect (C++: asize_t) + @param value: value to find (C++: uchar) + @param bin_search_flags: combination of Search flags (C++: int) + @return: address of byte or BADADDR + +Help on function find_custom_data_format in module ida_bytes: + +find_custom_data_format(*args) + find_custom_data_format(name) -> int + + + Get id of a custom data format. + + @param name: name of the custom data format (C++: const char *) + @return: id or -1 + +Help on function find_custom_data_type in module ida_bytes: + +find_custom_data_type(*args) + find_custom_data_type(name) -> int + + + Get id of a custom data type. + + @param name: name of the custom data type (C++: const char *) + @return: id or -1 + +Help on function float_flag in module ida_bytes: + +float_flag(*args) + float_flag() -> flags_t + + + Get a flags_t representing a float. + +Help on function flt_flag in module ida_bytes: + +flt_flag(*args) + flt_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function free_chunk in module ida_bytes: + +free_chunk(*args) + free_chunk(bottom, size, step) -> ea_t + + + Search for a hole in the addressing space of the program. + + @param bottom: address to start searching (C++: ea_t) + @param size: size of desired block (C++: asize_t) + @param step: bit mask for the start of hole (0xF would align hole to a + paragraph). if 'step' is negative, the bottom address + with be aligned. otherwise the kernel will try to use it + as is and align it only when the hole is too small. (C++: + int32) + @return: start of the hole or BADADDR + +Help on function get_16bit in module ida_bytes: + +get_16bit(*args) + 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() + +Help on function get_32bit in module ida_bytes: + +get_32bit(*args) + 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 \ph{nbits}: if ( nbits <= 8 ) + return get_dword(ea); if ( nbits <= 16) return + get_wide_word(ea); return get_wide_byte(ea); + +Help on function get_64bit in module ida_bytes: + +get_64bit(*args) + 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 \ph{nbits}: if ( nbits <= 8 ) + return get_qword(ea); if ( nbits <= 16) return + get_wide_dword(ea); return get_wide_byte(ea); + +Help on function get_8bit in module ida_bytes: + +get_8bit(*args) + get_8bit(ea, v, nbit) -> PyObject * + +Help on function get_byte in module ida_bytes: + +get_byte(*args) + 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) + +Help on function get_bytes in module ida_bytes: + +get_bytes(*args) + 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 + @return: the bytes (as a str), or None in case of failure + +Help on function get_bytes_and_mask in module ida_bytes: + +get_bytes_and_mask(*args) + 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 + @return: a tuple (bytes, mask), or None in case of failure. + Both 'bytes' and 'mask' are 'str' instances. + +Help on function get_cmt in module ida_bytes: + +get_cmt(*args) + get_cmt(ea, rptble) -> str + + + Get an indented comment. + + @param ea: linear address. may point to tail byte, the function will + find start of the item (C++: ea_t) + @param rptble: get repeatable comment? (C++: bool) + @return: size of comment or -1 + +Help on function get_custom_data_format in module ida_bytes: + +get_custom_data_format(*args) + get_custom_data_format(dfid) -> data_format_t + + + Get definition of a registered custom data format. + + @param dfid: data format id (C++: int) + @return: data format definition or NULL + +Help on function get_custom_data_formats in module ida_bytes: + +get_custom_data_formats(*args) + get_custom_data_formats(out, dtid) -> int + + + Get list of attached custom data formats for the specified data type. + + @param out: buffer for the output. may be NULL (C++: intvec_t *) + @param dtid: data type id (C++: int) + @return: number of returned custom data formats. if error, returns -1 + +Help on function get_custom_data_type in module ida_bytes: + +get_custom_data_type(*args) + get_custom_data_type(dtid) -> data_type_t + + + Get definition of a registered custom data type. + + @param dtid: data type id (C++: int) + @return: data type definition or NULL + +Help on function get_custom_data_types in module ida_bytes: + +get_custom_data_types(*args) + get_custom_data_types(out, min_size=0, max_size=BADADDR) -> int + + + Get list of registered custom data type ids. + + @param out: buffer for the output. may be NULL (C++: intvec_t *) + @param min_size: minimum value size (C++: asize_t) + @param max_size: maximum value size (C++: asize_t) + @return: number of custom data types with the specified size limits + +Help on function get_data_elsize in module ida_bytes: + +get_data_elsize(*args) + get_data_elsize(ea, F, ti=None) -> asize_t + + + Get size of data type specified in flags 'F'. + + @param ea: linear address of the item (C++: ea_t) + @param F: flags (C++: flags_t) + @param ti: 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 NULL). If + specified as NULL, will be automatically retrieved from the + database (C++: const opinfo_t *) + @return: byte : 1 word : 2 etc... + +Help on function get_data_value in module ida_bytes: + +get_data_value(*args) + 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: pointer to the result. may be NULL (C++: uval_t *) + @param ea: linear address (C++: ea_t) + @param size: size of data to read. If 0, then the item type at 'ea' + will be used (C++: asize_t) + @return: success + +Help on function get_db_byte in module ida_bytes: + +get_db_byte(*args) + 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) + +Help on function get_default_radix in module ida_bytes: + +get_default_radix(*args) + get_default_radix() -> int + + + Get default base of number for the current processor. + + @return: 2, 8, 10, 16 + +Help on function get_dword in module ida_bytes: + +get_dword(*args) + get_dword(ea) -> uint32 + + + Get one dword (32-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_enum_id in module ida_bytes: + +get_enum_id(*args) + get_enum_id(ea, n) -> enum_t + + + Get enum id of 'enum' operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: id of enum or BADNODE + +Help on function get_first_hidden_range in module ida_bytes: + +get_first_hidden_range(*args) + get_first_hidden_range() -> hidden_range_t + + + Get pointer to the first hidden range. + + @return: ptr to hidden range or NULL + +Help on function get_flags in module ida_bytes: + +get_flags(*args) + get_flags(ea) -> flags_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) + +Help on function get_flags_by_size in module ida_bytes: + +get_flags_by_size(*args) + get_flags_by_size(size) -> flags_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) + +Help on function get_flags_ex in module ida_bytes: + +get_flags_ex(*args) + get_flags_ex(ea, how) -> flags_t + + + Get flags for the specified address, extended form. + + + @param ea (C++: ea_t) + @param how (C++: int) + +Help on function get_forced_operand in module ida_bytes: + +get_forced_operand(*args) + get_forced_operand(ea, n) -> str + + + Get forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @return: size of forced operand or -1 + +Help on function get_full_data_elsize in module ida_bytes: + +get_full_data_elsize(*args) + 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++: flags_t) + @param ti (C++: const opinfo_t *) + +Help on function get_full_flags in module ida_bytes: + +get_full_flags(*args) + get_full_flags(ea) -> flags_t + + + Get flags value for address 'ea'. + + @param ea (C++: ea_t) + @return: 0 if address is not present in the program + +Help on function get_hidden_range in module ida_bytes: + +get_hidden_range(*args) + get_hidden_range(ea) -> hidden_range_t + + + Get pointer to hidden range structure, in: linear address. + + @param ea: any address in the hidden range (C++: ea_t) + +Help on function get_hidden_range_num in module ida_bytes: + +get_hidden_range_num(*args) + get_hidden_range_num(ea) -> int + + + Get number of a hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: number of hidden range (0.. get_hidden_range_qty() -1) + +Help on function get_hidden_range_qty in module ida_bytes: + +get_hidden_range_qty(*args) + get_hidden_range_qty() -> int + + + Get number of hidden ranges. + +Help on function get_item_end in module ida_bytes: + +get_item_end(*args) + 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) + +Help on function get_item_flag in module ida_bytes: + +get_item_flag(*args) + get_item_flag(_from, n, ea, appzero) -> flags_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: linear address of the instruction which refers to 'ea' + (C++: ea_t) + @param n: number of operand which refers to 'ea' (C++: int) + @param ea: the referenced address (C++: ea_t) + @param appzero: append a struct field name if the field offset is + zero? meaningful only if the name refers to a + structure. (C++: bool) + @return: flags or 0 (if failed) + +Help on function get_item_head in module ida_bytes: + +get_item_head(*args) + 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) + +Help on function get_item_size in module ida_bytes: + +get_item_size(*args) + get_item_size(ea) -> asize_t + + + Get size of item (instruction/data) in bytes. Unexplored bytes have + length of 1 byte. This function never returns 0. + + @param ea (C++: ea_t) + +Help on function get_last_hidden_range in module ida_bytes: + +get_last_hidden_range(*args) + get_last_hidden_range() -> hidden_range_t + + + Get pointer to the last hidden range. + + @return: ptr to hidden range or NULL + +Help on function get_manual_insn in module ida_bytes: + +get_manual_insn(*args) + get_manual_insn(ea) -> str + + + Retrieve the user-specified string for the manual instruction. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @return: size of manual instruction or -1 + +Help on function get_mapping in module ida_bytes: + +get_mapping(*args) + get_mapping(n) -> bool + + + Get memory mapping range by its number. + + @param n: number of mapping range (0.. get_mappings_qty() -1) (C++: + size_t) + @return: false if the specified range doesn't exist, otherwise returns + from , to , size + +Help on function get_mappings_qty in module ida_bytes: + +get_mappings_qty(*args) + get_mappings_qty() -> size_t + + + Get number of mappings. + +Help on function get_max_strlit_length in module ida_bytes: + +get_max_strlit_length(*args) + get_max_strlit_length(ea, strtype, options=0) -> size_t + + + Determine maximum length of string literal. + + @param ea: starting address (C++: ea_t) + @param strtype: string type. one of String type codes (C++: int32) + @param options: combination of string literal length options (C++: + int) + @return: length of the string in octets (octet==8bit) + +Help on function get_next_hidden_range in module ida_bytes: + +get_next_hidden_range(*args) + get_next_hidden_range(ea) -> hidden_range_t + + + Get pointer to next hidden range. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to hidden range or NULL if next hidden range doesn't + exist + +Help on function get_octet in module ida_bytes: + +get_octet(*args) + get_octet(ea, v, nbit) -> PyObject * + + + Get 8 bits of the program at 'ea'. The main usage of this function is + to iterate range of bytes. Here is an example: + + uint64 v; + int nbit = 0; + for ( ... ) { + uchar byte = get_octet(&ea, &v, &nbit); + ... + } + + 'ea' is incremented each time when a new byte is read. In the above + example, it will be incremented in the first loop iteration. + + @param ea (C++: ea_t *) + @param v (C++: uint64 *) + @param nbit (C++: int *) + +Help on function get_opinfo in module ida_bytes: + +get_opinfo(*args) + get_opinfo(buf, ea, n, flags) -> opinfo_t + + + Get additional information about an operand representation. + + @param buf: buffer to receive the result. may not be NULL (C++: + opinfo_t *) + @param ea: linear address of item (C++: ea_t) + @param n: number of operand, 0 or 1 (C++: int) + @param flags: flags of the item (C++: flags_t) + @return: NULL if no additional representation information + +Help on function get_optype_flags0 in module ida_bytes: + +get_optype_flags0(*args) + get_optype_flags0(F) -> flags_t + + + Get flags for first operand. + + + @param F (C++: flags_t) + +Help on function get_optype_flags1 in module ida_bytes: + +get_optype_flags1(*args) + get_optype_flags1(F) -> flags_t + + + Get flags for second operand. + + + @param F (C++: flags_t) + +Help on function get_original_byte in module ida_bytes: + +get_original_byte(*args) + 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) + +Help on function get_original_dword in module ida_bytes: + +get_original_dword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_original_qword in module ida_bytes: + +get_original_qword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_original_word in module ida_bytes: + +get_original_word(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_predef_insn_cmt in module ida_bytes: + +get_predef_insn_cmt(*args) + get_predef_insn_cmt(ins) -> str + + + Get predefined comment. + + @param ins: current instruction information (C++: const insn_t &) + @return: size of comment or -1 + +Help on function get_prev_hidden_range in module ida_bytes: + +get_prev_hidden_range(*args) + get_prev_hidden_range(ea) -> hidden_range_t + + + Get pointer to previous hidden range. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to hidden range or NULL if previous hidden range doesn't + exist + +Help on function get_qword in module ida_bytes: + +get_qword(*args) + get_qword(ea) -> uint64 + + + Get one qword (64-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_radix in module ida_bytes: + +get_radix(*args) + 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: flags (C++: flags_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: 2, 8, 10, 16 + +Help on function get_strlit_contents in module ida_bytes: + +get_strlit_contents(*args) + get_strlit_contents(ea, py_len, type, flags=0) -> PyObject * + + + Get bytes contents at location, possibly converted. + It works even if the string has not been created in the database yet. + + Note that this will always return a simple string of bytes + (i.e., a 'str' instance), and not a string of unicode characters. + + If you want auto-conversion to unicode strings (that is: real strings), + you should probably be using the idautils.Strings class. + + @param ea: linear address of the string + @param 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. + +Help on function get_stroff_path in module ida_bytes: + +get_stroff_path(*args) + get_stroff_path(path, delta, ea, n) -> int + + + Get struct path of operand. + + @param path: buffer for structure path (strpath). see nalt.hpp for + more info. (C++: tid_t *) + @param delta: struct offset delta (C++: adiff_t *) + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: length of strpath + +Help on function get_wide_byte in module ida_bytes: + +get_wide_byte(*args) + 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) + +Help on function get_wide_dword in module ida_bytes: + +get_wide_dword(*args) + 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 + \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 + + @param ea (C++: ea_t) + +Help on function get_wide_word in module ida_bytes: + +get_wide_word(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_word in module ida_bytes: + +get_word(*args) + get_word(ea) -> ushort + + + Get one word (16-bit) of the program at 'ea'. This function takes into + account order of bytes specified in \inf{is_be()} This function works + only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_zero_ranges in module ida_bytes: + +get_zero_ranges(*args) + 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: pointer to the return value. cannot be NULL (C++: + rangeset_t *) + @param range: the range of addresses to verify. can be NULL - means + all ranges (C++: const range_t *) + @return: true if the result is a non-empty set + +Help on function getn_hidden_range in module ida_bytes: + +getn_hidden_range(*args) + getn_hidden_range(n) -> hidden_range_t + + + Get pointer to hidden range structure, in: number of hidden range. + + @param n: number of hidden range, is in range 0.. + get_hidden_range_qty() -1 (C++: int) + +Help on function has_any_name in module ida_bytes: + +has_any_name(*args) + has_any_name(F) -> bool + + + Does the current byte have any name? + + + @param F (C++: flags_t) + +Help on function has_auto_name in module ida_bytes: + +has_auto_name(*args) + has_auto_name(F) -> bool + + + Does the current byte have auto-generated (no special prefix) name? + + + @param F (C++: flags_t) + +Help on function has_cmt in module ida_bytes: + +has_cmt(*args) + has_cmt(F) -> bool + + + Does the current byte have an indented comment? + + + @param F (C++: flags_t) + +Help on function has_dummy_name in module ida_bytes: + +has_dummy_name(*args) + has_dummy_name(F) -> bool + + + Does the current byte have dummy (auto-generated, with special prefix) + name? + + + @param F (C++: flags_t) + +Help on function has_extra_cmts in module ida_bytes: + +has_extra_cmts(*args) + has_extra_cmts(F) -> bool + + + Does the current byte have additional anterior or posterior lines? + + + @param F (C++: flags_t) + +Help on function has_immd in module ida_bytes: + +has_immd(*args) + has_immd(F) -> bool + + + Has immediate value? + + + @param F (C++: flags_t) + +Help on function has_name in module ida_bytes: + +has_name(*args) + has_name(F) -> bool + + + Does the current byte have non-trivial (non-dummy) name? + + + @param F (C++: flags_t) + +Help on function has_user_name in module ida_bytes: + +has_user_name(*args) + has_user_name(F) -> bool + + + Does the current byte have user-specified name? + + + @param F (C++: flags_t) + +Help on function has_value in module ida_bytes: + +has_value(*args) + has_value(F) -> bool + + + Do flags contain byte value? + + + @param F (C++: flags_t) + +Help on function has_xref in module ida_bytes: + +has_xref(*args) + has_xref(F) -> bool + + + Does the current byte have cross-references to it? + + + @param F (C++: flags_t) + +Help on function hex_flag in module ida_bytes: + +hex_flag(*args) + hex_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on class hidden_range_t in module ida_bytes: + +class hidden_range_t(ida_range.range_t) + | Proxy of C++ hidden_range_t class. + | + | Method resolution order: + | hidden_range_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> hidden_range_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | color + | hidden_range_t_color_get(self) -> bgcolor_t + | + | description + | hidden_range_t_description_get(self) -> char * + | + | footer + | hidden_range_t_footer_get(self) -> char * + | + | header + | hidden_range_t_header_get(self) -> char * + | + | thisown + | The membership flag + | + | visible + | hidden_range_t_visible_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_hidden_range_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on function is_align in module ida_bytes: + +is_align(*args) + is_align(F) -> bool + + + 'FF_ALIGN' + + + @param F (C++: flags_t) + +Help on function is_attached_custom_data_format in module ida_bytes: + +is_attached_custom_data_format(*args) + is_attached_custom_data_format(dtid, dfid) -> bool + +Help on function is_bnot in module ida_bytes: + +is_bnot(*args) + is_bnot(ea, F, n) -> bool + + + Should we negate the operand?. \ash{a_bnot} should be defined in the + idp module in order to work with this function + + @param ea (C++: ea_t) + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_byte in module ida_bytes: + +is_byte(*args) + is_byte(F) -> bool + + + 'FF_BYTE' + + + @param F (C++: flags_t) + +Help on function is_char in module ida_bytes: + +is_char(*args) + is_char(F, n) -> bool + + + is character constant? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_char0 in module ida_bytes: + +is_char0(*args) + is_char0(F) -> bool + + + Is the first operand character constant? (example: push 'a') + + + @param F (C++: flags_t) + +Help on function is_char1 in module ida_bytes: + +is_char1(*args) + is_char1(F) -> bool + + + Is the second operand character constant? (example: mov al, 'a') + + + @param F (C++: flags_t) + +Help on function is_code in module ida_bytes: + +is_code(*args) + is_code(F) -> bool + + + Does flag denote start of an instruction? + + + @param F (C++: flags_t) + +Help on function is_custfmt in module ida_bytes: + +is_custfmt(*args) + is_custfmt(F, n) -> bool + + + is custom data format? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_custfmt0 in module ida_bytes: + +is_custfmt0(*args) + is_custfmt0(F) -> bool + + + Does the first operand use a custom data representation? + + + @param F (C++: flags_t) + +Help on function is_custfmt1 in module ida_bytes: + +is_custfmt1(*args) + is_custfmt1(F) -> bool + + + Does the second operand use a custom data representation? + + + @param F (C++: flags_t) + +Help on function is_custom in module ida_bytes: + +is_custom(*args) + is_custom(F) -> bool + + + 'FF_CUSTOM' + + + @param F (C++: flags_t) + +Help on function is_data in module ida_bytes: + +is_data(*args) + is_data(F) -> bool + + + Does flag denote start of data? + + + @param F (C++: flags_t) + +Help on function is_defarg in module ida_bytes: + +is_defarg(*args) + is_defarg(F, n) -> bool + + + is defined? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_defarg0 in module ida_bytes: + +is_defarg0(*args) + is_defarg0(F) -> bool + + + Is the first operand defined? Initially operand has no defined + representation. + + + @param F (C++: flags_t) + +Help on function is_defarg1 in module ida_bytes: + +is_defarg1(*args) + is_defarg1(F) -> bool + + + Is the second operand defined? Initially operand has no defined + representation. + + + @param F (C++: flags_t) + +Help on function is_double in module ida_bytes: + +is_double(*args) + is_double(F) -> bool + + + 'FF_DOUBLE' + + + @param F (C++: flags_t) + +Help on function is_dword in module ida_bytes: + +is_dword(*args) + is_dword(F) -> bool + + + 'FF_DWORD' + + + @param F (C++: flags_t) + +Help on function is_enum in module ida_bytes: + +is_enum(*args) + is_enum(F, n) -> bool + + + is enum? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_enum0 in module ida_bytes: + +is_enum0(*args) + is_enum0(F) -> bool + + + Is the first operand a symbolic constant (enum member)? + + + @param F (C++: flags_t) + +Help on function is_enum1 in module ida_bytes: + +is_enum1(*args) + is_enum1(F) -> bool + + + Is the second operand a symbolic constant (enum member)? + + + @param F (C++: flags_t) + +Help on function is_float in module ida_bytes: + +is_float(*args) + is_float(F) -> bool + + + 'FF_FLOAT' + + + @param F (C++: flags_t) + +Help on function is_float0 in module ida_bytes: + +is_float0(*args) + is_float0(F) -> bool + + + Is the first operand a floating point number? + + + @param F (C++: flags_t) + +Help on function is_float1 in module ida_bytes: + +is_float1(*args) + is_float1(F) -> bool + + + Is the second operand a floating point number? + + + @param F (C++: flags_t) + +Help on function is_flow in module ida_bytes: + +is_flow(*args) + is_flow(F) -> bool + + + Does the previous instruction exist and pass execution flow to the + current byte? + + + @param F (C++: flags_t) + +Help on function is_fltnum in module ida_bytes: + +is_fltnum(*args) + is_fltnum(F, n) -> bool + + + is floating point number? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_forced_operand in module ida_bytes: + +is_forced_operand(*args) + is_forced_operand(ea, n) -> bool + + + Is operand manually defined?. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + +Help on function is_func in module ida_bytes: + +is_func(*args) + is_func(F) -> bool + + + Is function start? + + + @param F (C++: flags_t) + +Help on function is_head in module ida_bytes: + +is_head(*args) + is_head(F) -> bool + + + Does flag denote start of instruction OR data? + + + @param F (C++: flags_t) + +Help on function is_invsign in module ida_bytes: + +is_invsign(*args) + 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++: flags_t) + @param n (C++: int) + +Help on function is_loaded in module ida_bytes: + +is_loaded(*args) + is_loaded(ea) -> bool + + + Does the specified address have a byte value (is initialized?) + + + @param ea (C++: ea_t) + +Help on function is_lzero in module ida_bytes: + +is_lzero(*args) + is_lzero(ea, n) -> bool + + + Display leading zeroes in operands. The global switch for the leading + zeroes is in \inf{s_genflags} The leading zeroes doesn't work if the + octal numbers start with 0 Display leading zeroes? (takes into account + \inf{s_genflags}) + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function is_manual in module ida_bytes: + +is_manual(*args) + is_manual(F, n) -> bool + + + is forced operand? (use 'is_forced_operand()' ) + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_manual_insn in module ida_bytes: + +is_manual_insn(*args) + is_manual_insn(ea) -> bool + + + Is the instruction overridden? + + @param ea: linear address of the instruction or data item (C++: ea_t) + +Help on function is_mapped in module ida_bytes: + +is_mapped(*args) + is_mapped(ea) -> bool + + + Is the specified address 'ea' present in the program? + + + @param ea (C++: ea_t) + +Help on function is_not_tail in module ida_bytes: + +is_not_tail(*args) + is_not_tail(F) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function is_numop in module ida_bytes: + +is_numop(*args) + is_numop(F, n) -> bool + + + is number (bin, oct, dec, hex)? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_numop0 in module ida_bytes: + +is_numop0(*args) + is_numop0(F) -> bool + + + Is the first operand a number (i.e. binary, octal, decimal or hex?) + + + @param F (C++: flags_t) + +Help on function is_numop1 in module ida_bytes: + +is_numop1(*args) + is_numop1(F) -> bool + + + Is the second operand a number (i.e. binary, octal, decimal or hex?) + + + @param F (C++: flags_t) + +Help on function is_off in module ida_bytes: + +is_off(*args) + is_off(F, n) -> bool + + + is offset? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_off0 in module ida_bytes: + +is_off0(*args) + is_off0(F) -> bool + + + Is the first operand offset? (example: push offset xxx) + + + @param F (C++: flags_t) + +Help on function is_off1 in module ida_bytes: + +is_off1(*args) + is_off1(F) -> bool + + + Is the second operand offset? (example: mov ax, offset xxx) + + + @param F (C++: flags_t) + +Help on function is_oword in module ida_bytes: + +is_oword(*args) + is_oword(F) -> bool + + + 'FF_OWORD' + + + @param F (C++: flags_t) + +Help on function is_pack_real in module ida_bytes: + +is_pack_real(*args) + is_pack_real(F) -> bool + + + 'FF_PACKREAL' + + + @param F (C++: flags_t) + +Help on function is_qword in module ida_bytes: + +is_qword(*args) + is_qword(F) -> bool + + + 'FF_QWORD' + + + @param F (C++: flags_t) + +Help on function is_same_data_type in module ida_bytes: + +is_same_data_type(*args) + is_same_data_type(F1, F2) -> bool + + + Do the given flags specify the same data type? + + + @param F1 (C++: flags_t) + @param F2 (C++: flags_t) + +Help on function is_seg in module ida_bytes: + +is_seg(*args) + is_seg(F, n) -> bool + + + is segment? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_seg0 in module ida_bytes: + +is_seg0(*args) + is_seg0(F) -> bool + + + Is the first operand segment selector? (example: push seg seg001) + + + @param F (C++: flags_t) + +Help on function is_seg1 in module ida_bytes: + +is_seg1(*args) + is_seg1(F) -> bool + + + Is the second operand segment selector? (example: mov dx, seg dseg) + + + @param F (C++: flags_t) + +Help on function is_stkvar in module ida_bytes: + +is_stkvar(*args) + is_stkvar(F, n) -> bool + + + is stack variable? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_stkvar0 in module ida_bytes: + +is_stkvar0(*args) + is_stkvar0(F) -> bool + + + Is the first operand a stack variable? + + + @param F (C++: flags_t) + +Help on function is_stkvar1 in module ida_bytes: + +is_stkvar1(*args) + is_stkvar1(F) -> bool + + + Is the second operand a stack variable? + + + @param F (C++: flags_t) + +Help on function is_strlit in module ida_bytes: + +is_strlit(*args) + is_strlit(F) -> bool + + + 'FF_STRLIT' + + + @param F (C++: flags_t) + +Help on function is_stroff in module ida_bytes: + +is_stroff(*args) + is_stroff(F, n) -> bool + + + is struct offset? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_stroff0 in module ida_bytes: + +is_stroff0(*args) + is_stroff0(F) -> bool + + + Is the first operand an offset within a struct? + + + @param F (C++: flags_t) + +Help on function is_stroff1 in module ida_bytes: + +is_stroff1(*args) + is_stroff1(F) -> bool + + + Is the second operand an offset within a struct? + + + @param F (C++: flags_t) + +Help on function is_struct in module ida_bytes: + +is_struct(*args) + is_struct(F) -> bool + + + 'FF_STRUCT' + + + @param F (C++: flags_t) + +Help on function is_suspop in module ida_bytes: + +is_suspop(*args) + is_suspop(ea, F, n) -> bool + + + is suspicious operand? + + + @param ea (C++: ea_t) + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_tail in module ida_bytes: + +is_tail(*args) + is_tail(F) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function is_tbyte in module ida_bytes: + +is_tbyte(*args) + is_tbyte(F) -> bool + + + 'FF_TBYTE' + + + @param F (C++: flags_t) + +Help on function is_unknown in module ida_bytes: + +is_unknown(*args) + is_unknown(F) -> bool + + + Does flag denote unexplored byte? + + + @param F (C++: flags_t) + +Help on function is_varsize_item in module ida_bytes: + +is_varsize_item(*args) + is_varsize_item(ea, F, ti=None, itemsize=None) -> int + + + Is the item at 'ea' variable size?. + + @param ea: linear address of the item (C++: ea_t) + @param F: flags (C++: flags_t) + @param ti: 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 NULL). If + specified as NULL, will be automatically retrieved from the + database (C++: const opinfo_t *) + @param itemsize: if not NULL and the item is varsize, itemsize will + contain the calculated item size (for struct types, + the minimal size is returned) (C++: asize_t *) + +Help on function is_word in module ida_bytes: + +is_word(*args) + is_word(F) -> bool + + + 'FF_WORD' + + + @param F (C++: flags_t) + +Help on function is_yword in module ida_bytes: + +is_yword(*args) + is_yword(F) -> bool + + + 'FF_YWORD' + + + @param F (C++: flags_t) + +Help on function is_zword in module ida_bytes: + +is_zword(*args) + is_zword(F) -> bool + + + 'FF_ZWORD' + + + @param F (C++: flags_t) + +Help on function leading_zero_important in module ida_bytes: + +leading_zero_important(*args) + leading_zero_important(ea, n) -> bool + + + Check if leading zeroes are important. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function nbits in module ida_bytes: + +nbits(*args) + nbits(ea) -> int + + + Get number of bits in a byte at the given address. + + @param ea (C++: ea_t) + @return: \ph{dnbits()} if the address doesn't belong to a segment, + otherwise the result depends on the segment type + +Help on function next_addr in module ida_bytes: + +next_addr(*args) + 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. + +Help on function next_chunk in module ida_bytes: + +next_chunk(*args) + 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. + +Help on function next_head in module ida_bytes: + +next_head(*args) + next_head(ea, maxea) -> ea_t + + + Get start of next defined item. + + @param ea: begin search at this address (C++: ea_t) + @param maxea: not included in the search range (C++: ea_t) + @return: BADADDR if none exists. + +Help on function next_inited in module ida_bytes: + +next_inited(*args) + next_inited(ea, maxea) -> ea_t + + + Find the next initialized address. + + + @param ea (C++: ea_t) + @param maxea (C++: ea_t) + +Help on function next_not_tail in module ida_bytes: + +next_not_tail(*args) + next_not_tail(ea) -> ea_t + + + Get address of next non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function next_that in module ida_bytes: + +next_that(*args) + next_that(ea, maxea, callable) -> ea_t + + + Find next address with a flag satisfying the function 'testf'. + Start searching from address 'ea'+1 and inspect bytes up to 'maxea'. + maxea is not included in the search range. + + @param callable: a Python callable with the following prototype: + callable(flags). Return True to stop enumeration. + @return: the found address or BADADDR. + +Help on function next_unknown in module ida_bytes: + +next_unknown(*args) + 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) + +Help on function num_flag in module ida_bytes: + +num_flag(*args) + num_flag() -> flags_t + + + Get number of default base (bin, oct, dec, hex) + +Help on function oct_flag in module ida_bytes: + +oct_flag(*args) + oct_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function off_flag in module ida_bytes: + +off_flag(*args) + off_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function op_adds_xrefs in module ida_bytes: + +op_adds_xrefs(*args) + 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++: flags_t) + @param n (C++: int) + +Help on function op_bin in module ida_bytes: + +op_bin(*args) + op_bin(ea, n) -> bool + + + set op type to 'bin_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_chr in module ida_bytes: + +op_chr(*args) + op_chr(ea, n) -> bool + + + set op type to 'char_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_custfmt in module ida_bytes: + +op_custfmt(*args) + 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) + +Help on function op_dec in module ida_bytes: + +op_dec(*args) + op_dec(ea, n) -> bool + + + set op type to 'dec_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_enum in module ida_bytes: + +op_enum(*args) + op_enum(ea, n, id, serial) -> bool + + + Set operand representation to be 'enum_t'. If applied to unexplored + bytes, converts them to 16/32bit word data + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @param id: id of enum (C++: enum_t) + @param serial: 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 (C++: uchar) + @return: success + +Help on function op_flt in module ida_bytes: + +op_flt(*args) + op_flt(ea, n) -> bool + + + set op type to 'flt_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_hex in module ida_bytes: + +op_hex(*args) + op_hex(ea, n) -> bool + + + set op type to 'hex_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_num in module ida_bytes: + +op_num(*args) + op_num(ea, n) -> bool + + + set op type to 'num_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_oct in module ida_bytes: + +op_oct(*args) + op_oct(ea, n) -> bool + + + set op type to 'oct_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_seg in module ida_bytes: + +op_seg(*args) + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stkvar in module ida_bytes: + +op_stkvar(*args) + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stroff in module ida_bytes: + +op_stroff(*args) + op_stroff(insn, n, path, path_len, delta) -> bool + + + Set operand representation to be 'struct offset'. If applied to + unexplored bytes, converts them to 16/32bit word data + + @param insn: the instruction (C++: const insn_t &) + @param n: number of operand (0, 1, -1) (C++: int) + @param path: structure path (strpath). see nalt.hpp for more info. + (C++: const tid_t *) + @param path_len: length of the structure path (C++: int) + @param delta: struct offset delta. usually 0. denotes the difference + between the structure base and the pointer into the + structure. (C++: adiff_t) + @return: success + + Example: + Python> + Python> ins = ida_ua.insn_t() + Python> if ida_ua.decode_insn(ins, some_address): + Python> path_len = 1 + Python> path = ida_pro.tid_array(path_len) + Python> path[0] = ida_struct.get_struc_id("my_stucture_t") + Python> ida_bytes.op_stroff(ins, 0, path.cast(), path_len, 0) + Python> + +Help on function oword_flag in module ida_bytes: + +oword_flag(*args) + oword_flag() -> flags_t + + + Get a flags_t representing a octaword. + +Help on function packreal_flag in module ida_bytes: + +packreal_flag(*args) + packreal_flag() -> flags_t + + + Get a flags_t representing a packed decimal real. + +Help on function patch_byte in module ida_bytes: + +patch_byte(*args) + 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. + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_bytes in module ida_bytes: + +patch_bytes(*args) + 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: linear address (C++: ea_t) + @param buf: buffer with new values of bytes (C++: const void *) + +Help on function patch_dword in module ida_bytes: + +patch_dword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_qword in module ida_bytes: + +patch_qword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_word in module ida_bytes: + +patch_word(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function prev_addr in module ida_bytes: + +prev_addr(*args) + prev_addr(ea) -> ea_t + + + Get previous address in the program. + + @param ea (C++: ea_t) + @return: BADADDR if no such address exist. + +Help on function prev_chunk in module ida_bytes: + +prev_chunk(*args) + 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. + +Help on function prev_head in module ida_bytes: + +prev_head(*args) + prev_head(ea, minea) -> ea_t + + + Get start of previous defined item. + + @param ea: begin search at this address (C++: ea_t) + @param minea: included in the search range (C++: ea_t) + @return: BADADDR if none exists. + +Help on function prev_inited in module ida_bytes: + +prev_inited(*args) + prev_inited(ea, minea) -> ea_t + + + Find the previous initialized address. + + + @param ea (C++: ea_t) + @param minea (C++: ea_t) + +Help on function prev_not_tail in module ida_bytes: + +prev_not_tail(*args) + prev_not_tail(ea) -> ea_t + + + Get address of previous non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function prev_that in module ida_bytes: + +prev_that(*args) + prev_that(ea, minea, callable) -> ea_t + + + Find previous address with a flag satisfying the function 'testf'.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: start searching from this address - 1. (C++: ea_t) + @param minea: included in the search range. (C++: ea_t) + @return: the found address or BADADDR . + +Help on function prev_unknown in module ida_bytes: + +prev_unknown(*args) + 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) + +Help on function print_strlit_type in module ida_bytes: + +print_strlit_type(*args) + 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: the string type (C++: int32) + @param flags: or'ed PSTF_* constants (C++: int) + @return: length of generated text + +Help on function put_byte in module ida_bytes: + +put_byte(*args) + 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.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: linear address (C++: ea_t) + @param x: byte value (C++: uint64) + @return: true if the database has been modified + +Help on function put_bytes in module ida_bytes: + +put_bytes(*args) + 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: linear address (C++: ea_t) + @param buf: buffer with new values of bytes (C++: const void *) + +Help on function put_dword in module ida_bytes: + +put_dword(*args) + put_dword(ea, x) + + + Set value of one dword of the program. This function takes into + account order of bytes specified in \inf{is_be()} This function works + for wide byte processors too.the original value of the dword is + completely lost and can't be recovered by the 'get_original_dword()' + function. + + @param ea: linear address (C++: ea_t) + @param x: dword value (C++: uint64) + +Help on function put_qword in module ida_bytes: + +put_qword(*args) + put_qword(ea, x) + + + Set value of one qword (8 bytes) of the program. This function takes + into account order of bytes specified in \inf{is_be()} This function + DOESN'T works for wide byte processors. + + @param ea: linear address (C++: ea_t) + @param x: qword value (C++: uint64) + +Help on function put_word in module ida_bytes: + +put_word(*args) + put_word(ea, x) + + + Set value of one word of the program. This function takes into account + order of bytes specified in \inf{is_be()} This function works for wide + byte processors too.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) + +Help on function qword_flag in module ida_bytes: + +qword_flag(*args) + qword_flag() -> flags_t + + + Get a flags_t representing a quad word. + +Help on function register_custom_data_format in module ida_bytes: + +register_custom_data_format(*args) + register_custom_data_format(py_df) -> int + + + Registers a custom data format with a given data type. + @param df: an instance of data_format_t + @return: + < 0 if failed to register + > 0 data format id + +Help on function register_custom_data_type in module ida_bytes: + +register_custom_data_type(*args) + register_custom_data_type(py_dt) -> int + + + Registers a custom data type. + @param dt: an instance of the data_type_t class + @return: + < 0 if failed to register + > 0 data type id + +Help on function register_data_types_and_formats in module ida_bytes: + +register_data_types_and_formats(formats) + 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 + +Help on function revert_byte in module ida_bytes: + +revert_byte(*args) + revert_byte(ea) -> bool + + + Revert patched byte + + @param ea (C++: ea_t) + +Help on function seg_flag in module ida_bytes: + +seg_flag(*args) + seg_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function set_cmt in module ida_bytes: + +set_cmt(*args) + set_cmt(ea, comm, rptble) -> bool + + + Set an indented comment. + + @param ea: linear address (C++: ea_t) + @param comm: comment string NULL: do nothing (return 0) "" : + delete comment (C++: const char *) + @param rptble: is repeatable? (C++: bool) + @return: success + +Help on function set_forced_operand in module ida_bytes: + +set_forced_operand(*args) + set_forced_operand(ea, n, op) -> bool + + + Set forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @param op: text of operand NULL: do nothing (return 0) "" : delete + forced operand (C++: const char *) + @return: success + +Help on function set_immd in module ida_bytes: + +set_immd(*args) + 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) + +Help on function set_lzero in module ida_bytes: + +set_lzero(*args) + set_lzero(ea, n) -> bool + + + Set toggle lzero bit. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function set_manual_insn in module ida_bytes: + +set_manual_insn(*args) + set_manual_insn(ea, manual_insn) + + + Set manual instruction string. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @param manual_insn: "" - delete manual string. NULL - do nothing (C++: + const char *) + +Help on function set_op_type in module ida_bytes: + +set_op_type(*args) + set_op_type(ea, type, n) -> bool + + + (internal function) change representation of operand(s). + + @param ea: linear address (C++: ea_t) + @param type: new flag value (should be obtained from char_flag() , + num_flag() and similar functions) (C++: flags_t) + @param n: number of operand (0, 1, -1) (C++: int) + +Help on function set_opinfo in module ida_bytes: + +set_opinfo(*args) + 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: linear address of the item (C++: ea_t) + @param n: number of operand, 0 or 1 (C++: int) + @param flag: flags of the item (C++: flags_t) + @param ti: additional representation information (C++: const opinfo_t + *) + @param suppress_events: do not generate changing_op_type and + op_type_changed events (C++: bool) + @return: success + +Help on function stkvar_flag in module ida_bytes: + +stkvar_flag(*args) + stkvar_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function strlit_flag in module ida_bytes: + +strlit_flag(*args) + strlit_flag() -> flags_t + + + Get a flags_t representing a string literal. + +Help on function stroff_flag in module ida_bytes: + +stroff_flag(*args) + stroff_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function stru_flag in module ida_bytes: + +stru_flag(*args) + stru_flag() -> flags_t + + + Get a flags_t representing a struct. + +Help on function tbyte_flag in module ida_bytes: + +tbyte_flag(*args) + tbyte_flag() -> flags_t + + + Get a flags_t representing a tbyte. + +Help on function toggle_bnot in module ida_bytes: + +toggle_bnot(*args) + toggle_bnot(ea, n) -> bool + + + Toggle binary negation of operand. also see 'is_bnot()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function toggle_lzero in module ida_bytes: + +toggle_lzero(*args) + toggle_lzero(ea, n) -> bool + +Help on function toggle_sign in module ida_bytes: + +toggle_sign(*args) + 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) + +Help on function unregister_custom_data_format in module ida_bytes: + +unregister_custom_data_format(*args) + unregister_custom_data_format(dfid) -> bool + + + Unregisters a custom data format + @param dfid: data format id + @return: Boolean + +Help on function unregister_custom_data_type in module ida_bytes: + +unregister_custom_data_type(*args) + unregister_custom_data_type(dtid) -> bool + + + Unregisters a custom data type. + @param dtid: the data type id + @return: Boolean + +Help on function unregister_data_types_and_formats in module ida_bytes: + +unregister_data_types_and_formats(formats) + As opposed to register_data_types_and_formats(), this function + unregisters multiple data types and formats at once. + +Help on function update_hidden_range in module ida_bytes: + +update_hidden_range(*args) + update_hidden_range(ha) -> bool + + + Update hidden range information in the database. You cannot use this + function to change the range boundaries + + @param ha: range to update (C++: const hidden_range_t *) + @return: success + +Help on function use_mapping in module ida_bytes: + +use_mapping(*args) + use_mapping(ea) -> ea_t + + + Translate address according to current mappings. + + @param ea: address to translate (C++: ea_t) + @return: translated address + +Help on function visit_patched_bytes in module ida_bytes: + +visit_patched_bytes(*args) + 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 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. + +Help on function word_flag in module ida_bytes: + +word_flag(*args) + word_flag() -> flags_t + + + Get a flags_t representing a word. + +Help on function yword_flag in module ida_bytes: + +yword_flag(*args) + yword_flag() -> flags_t + + + Get a flags_t representing a ymm word. + +Help on function zword_flag in module ida_bytes: + +zword_flag(*args) + zword_flag() -> flags_t + + + Get a flags_t representing a zmm word. + +=== ida_bytes EPYDOC INJECTIONS === +ida_bytes.ALOPT_IGNCLT +""" +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.) +""" + +ida_bytes.ALOPT_IGNHEADS +""" +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 +""" + +ida_bytes.ALOPT_IGNPRINT +""" +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)) +""" + +ida_bytes.ALOPT_MAX4K +""" +accumulated length + +if string length is more than 4K, return the +""" + +ida_bytes.BIN_SEARCH_BACKWARD +""" +search backward for bytes +""" + +ida_bytes.BIN_SEARCH_CASE +""" +case sensitive +""" + +ida_bytes.BIN_SEARCH_FORWARD +""" +search forward for bytes +""" + +ida_bytes.BIN_SEARCH_INITED +""" +find_byte, find_byter: any initilized value +""" + +ida_bytes.BIN_SEARCH_NOBREAK +""" +don't check for Ctrl-Break +""" + +ida_bytes.BIN_SEARCH_NOCASE +""" +case insensitive +""" + +ida_bytes.BIN_SEARCH_NOSHOW +""" +don't show search progress or update screen +""" + +ida_bytes.DELIT_DELNAMES +""" +delete any names at the specified address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_EXPAND +""" +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. +""" + +ida_bytes.DELIT_KEEPFUNC +""" +Just delete xrefs, ops e.t.c. + +do not undefine the function start. +""" + +ida_bytes.DELIT_NOCMT +""" +reject to delete if a comment is in address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_NOTRUNC +""" +even if 'AF_TRFUNC' is set + +don't truncate the current function +""" + +ida_bytes.DELIT_NOUNAME +""" +reject to delete if a user name is in address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_SIMPLE +""" +simply undefine the specified item(s) +""" + +ida_bytes.DTP_NODUP +""" +do not use dup construct +""" + +ida_bytes.DT_TYPE +""" +Mask for DATA typing. +""" + +ida_bytes.FF_0CHAR +""" +Char ('x')? +""" + +ida_bytes.FF_0CUST +""" +Custom representation? +""" + +ida_bytes.FF_0ENUM +""" +Enumeration? +""" + +ida_bytes.FF_0FLT +""" +Floating point number? +""" + +ida_bytes.FF_0FOP +""" +Forced operand? +""" + +ida_bytes.FF_0NUMB +""" +Binary number? +""" + +ida_bytes.FF_0NUMD +""" +Decimal number? +""" + +ida_bytes.FF_0NUMH +""" +Hexadecimal number? +""" + +ida_bytes.FF_0NUMO +""" +Octal number? +""" + +ida_bytes.FF_0OFF +""" +Offset? +""" + +ida_bytes.FF_0SEG +""" +Segment? +""" + +ida_bytes.FF_0STK +""" +Stack variable? +""" + +ida_bytes.FF_0STRO +""" +Struct offset? +""" + +ida_bytes.FF_0VOID +""" +Void (unknown)? +""" + +ida_bytes.FF_1CHAR +""" +Char ('x')? +""" + +ida_bytes.FF_1CUST +""" +Custom representation? +""" + +ida_bytes.FF_1ENUM +""" +Enumeration? +""" + +ida_bytes.FF_1FLT +""" +Floating point number? +""" + +ida_bytes.FF_1FOP +""" +Forced operand? +""" + +ida_bytes.FF_1NUMB +""" +Binary number? +""" + +ida_bytes.FF_1NUMD +""" +Decimal number? +""" + +ida_bytes.FF_1NUMH +""" +Hexadecimal number? +""" + +ida_bytes.FF_1NUMO +""" +Octal number? +""" + +ida_bytes.FF_1OFF +""" +Offset? +""" + +ida_bytes.FF_1SEG +""" +Segment? +""" + +ida_bytes.FF_1STK +""" +Stack variable? +""" + +ida_bytes.FF_1STRO +""" +Struct offset? +""" + +ida_bytes.FF_1VOID +""" +Void (unknown)? +""" + +ida_bytes.FF_ALIGN +""" +alignment directive +""" + +ida_bytes.FF_BNOT +""" +Bitwise negation of operands. +""" + +ida_bytes.FF_BYTE +""" +byte +""" + +ida_bytes.FF_CODE +""" +Code ? +""" + +ida_bytes.FF_COMM +""" +Has comment ? +""" + +ida_bytes.FF_CUSTOM +""" +custom data type +""" + +ida_bytes.FF_DATA +""" +Data ? +""" + +ida_bytes.FF_DOUBLE +""" +double +""" + +ida_bytes.FF_DWORD +""" +double word +""" + +ida_bytes.FF_FLOAT +""" +float +""" + +ida_bytes.FF_FLOW +""" +Exec flow from prev instruction. +""" + +ida_bytes.FF_FUNC +""" +function start? +""" + +ida_bytes.FF_IMMD +""" +Has Immediate value ? +""" + +ida_bytes.FF_IVL +""" +Byte has value ? +""" + +ida_bytes.FF_JUMP +""" +Has jump table or switch_info? +""" + +ida_bytes.FF_LABL +""" +Has dummy name? +""" + +ida_bytes.FF_LINE +""" +Has next or prev lines ? +""" + +ida_bytes.FF_NAME +""" +Has name ? +""" + +ida_bytes.FF_OWORD +""" +octaword/xmm word (16 bytes/128 bits) +""" + +ida_bytes.FF_PACKREAL +""" +packed decimal real +""" + +ida_bytes.FF_QWORD +""" +quadro word +""" + +ida_bytes.FF_REF +""" +has references +""" + +ida_bytes.FF_SIGN +""" +Inverted sign of operands. +""" + +ida_bytes.FF_STRLIT +""" +string literal +""" + +ida_bytes.FF_STRUCT +""" +struct variable +""" + +ida_bytes.FF_TAIL +""" +Tail ? +""" + +ida_bytes.FF_TBYTE +""" +tbyte +""" + +ida_bytes.FF_UNK +""" +Unknown ? +""" + +ida_bytes.FF_UNUSED +""" +unused bit (was used for variable bytes) +""" + +ida_bytes.FF_WORD +""" +word +""" + +ida_bytes.FF_YWORD +""" +ymm word (32 bytes/256 bits) +""" + +ida_bytes.FF_ZWORD +""" +zmm word (64 bytes/512 bits) +""" + +ida_bytes.GFE_VALUE +""" +get flags with 'FF_IVL' & 'MS_VAL' . It is much slower under remote +debugging because the kernel needs to read the process memory. +""" + +ida_bytes.GMB_READALL +""" +if this bit is not set, fail at first uninited byte + +try to read all bytes +""" + +ida_bytes.GMB_WAITBOX +""" +show wait box (may return -1 in this case) +""" + +ida_bytes.ITEM_END_FIXUP +""" +stop at the first fixup +""" + +ida_bytes.ITEM_END_INITED +""" +stop when initialization changes i.e.if is_loaded(ea): stop if +uninitialized byte is encounteredif !is_loaded(ea): stop if +initialized byte is encountered +""" + +ida_bytes.ITEM_END_NAME +""" +stop at the first named location +""" + +ida_bytes.ITEM_END_XREF +""" +stop at the first referenced location +""" + +ida_bytes.MS_0TYPE +""" +Mask for 1st arg typing. +""" + +ida_bytes.MS_1TYPE +""" +Mask for the type of other operands. +""" + +ida_bytes.MS_CLS +""" +Mask for typing. +""" + +ida_bytes.MS_CODE +""" +Mask for code bits. +""" + +ida_bytes.MS_COMM +""" +Mask of common bits. +""" + +ida_bytes.MS_VAL +""" +Mask for byte value. +""" + +ida_bytes.OPND_ALL +""" +all operands +""" + +ida_bytes.OPND_MASK +""" +mask for operand number +""" + +ida_bytes.OPND_OUTER +""" +used only in set, get, del_offset() functions + +outer offset base (combined with operand number). +""" + +ida_bytes.PSTF_ENC +""" +if encoding is specified, append it +""" + +ida_bytes.PSTF_HOTKEY +""" +have hotkey markers part of the name +""" + +ida_bytes.PSTF_TBRIEF +""" +use brief name (e.g., in the 'Strings window') +""" + +ida_bytes.PSTF_TINLIN +""" +use 'inline' name (e.g., in the structures comments) +""" + +ida_bytes.PSTF_TMASK +""" +type mask +""" + +ida_bytes.PSTF_TNORM +""" +use normal name +""" + +ida_bytes.STRCONV_ESCAPE +""" +convert non-printable characters to C escapes (, \\xNN, \\uNNNN) +""" + +ida_bytes.STRCONV_INCLLEN +""" +for Pascal-style strings, include the prefixing length byte(s) as +C-escaped sequence +""" + +ida_bytes.STRCONV_REPLCHAR +""" +convert non-printable characters to the Unicode replacement character +(U+FFFD) +""" +=== ida_bytes EPYDOC INJECTIONS END === +Help on class DBG_Hooks in module ida_dbg: + +class DBG_Hooks(__builtin__.object) + | Proxy of C++ DBG_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> DBG_Hooks + | + | __repr__ = _swig_repr(self) + | + | dbg_bpt(self, *args) + | dbg_bpt(self, tid, bptea) -> int + | + | dbg_bpt_changed(self, *args) + | dbg_bpt_changed(self, bptev_code, bpt) + | + | dbg_exception(self, *args) + | dbg_exception(self, pid, tid, ea, exc_code, exc_can_cont, exc_ea, exc_info) -> int + | + | dbg_finished_loading_bpts(self, *args) + | dbg_finished_loading_bpts(self) + | + | dbg_information(self, *args) + | dbg_information(self, pid, tid, ea, info) + | + | dbg_library_load(self, *args) + | dbg_library_load(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_library_unload(self, *args) + | dbg_library_unload(self, pid, tid, ea, info) + | + | dbg_process_attach(self, *args) + | dbg_process_attach(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_process_detach(self, *args) + | dbg_process_detach(self, pid, tid, ea) + | + | dbg_process_exit(self, *args) + | dbg_process_exit(self, pid, tid, ea, exit_code) + | + | dbg_process_start(self, *args) + | dbg_process_start(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_request_error(self, *args) + | dbg_request_error(self, failed_command, failed_dbg_notification) + | + | dbg_run_to(self, *args) + | dbg_run_to(self, pid, tid, ea) + | + | dbg_started_loading_bpts(self, *args) + | dbg_started_loading_bpts(self) + | + | dbg_step_into(self, *args) + | dbg_step_into(self) + | + | dbg_step_over(self, *args) + | dbg_step_over(self) + | + | dbg_step_until_ret(self, *args) + | dbg_step_until_ret(self) + | + | dbg_suspend_process(self, *args) + | dbg_suspend_process(self) + | + | dbg_thread_exit(self, *args) + | dbg_thread_exit(self, pid, tid, ea, exit_code) + | + | dbg_thread_start(self, *args) + | dbg_thread_start(self, pid, tid, ea) + | + | dbg_trace(self, *args) + | dbg_trace(self, tid, ip) -> int + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_DBG_Hooks(self) + +Help on function add_bpt in module ida_dbg: + +add_bpt(*args) + add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + add_bpt(bpt) -> bool + + + Add a new breakpoint in the debugged process. \sq{Type, Synchronous + function - available as request, Notification, none (synchronous + function)}Only one breakpoint can exist at a given address. + + @param ea: any address in the process memory space. Depending on the + architecture, hardware breakpoints always be setup at + random address. For example, on x86, hardware breakpoints + should be aligned depending on their size. Moreover, on the + x86 architecture, it is impossible to setup more than 4 + hardware breakpoints. (C++: ea_t) + @param size: size of the breakpoint (irrelevant for software + breakpoints): As for the address, hardware breakpoints + can't always be setup with random size. (C++: asize_t) + @param type: type of the breakpoint ( BPT_SOFT for software + breakpoint) special case BPT_DEFAULT ( BPT_SOFT | + BPT_EXEC ): try to add instruction breakpoint of the + appropriate type as follows: software bpt if supported, + hwbpt otherwise (C++: bpttype_t) + +Help on function add_path_mapping in module ida_dbg: + +add_path_mapping(*args) + add_path_mapping(src, dst) + +Help on function add_virt_module in module ida_dbg: + +add_virt_module(*args) + add_virt_module(mod) -> bool + +Help on function attach_process in module ida_dbg: + +attach_process(*args) + 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' + }This function shouldn't be called as a request if 'NO_PROCESS' is + used. + + @param pid: PID of the process to attach to. If NO_PROCESS , a dialog + box will interactively ask the user for the process to + attach to. (C++: pid_t) + @param event_id (C++: int) + +Help on class bpt_location_t in module ida_dbg: + +class bpt_location_t(__builtin__.object) + | Proxy of C++ bpt_location_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> bpt_location_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ea(self, *args) + | ea(self) -> ea_t + | + | is_empty_path(self, *args) + | is_empty_path(self) -> bool + | + | lineno(self, *args) + | lineno(self) -> int + | + | offset(self, *args) + | offset(self) -> uval_t + | + | path(self, *args) + | path(self) -> char const * + | + | set_abs_bpt(self, *args) + | set_abs_bpt(self, a) + | + | set_rel_bpt(self, *args) + | set_rel_bpt(self, mod, _offset) + | + | set_src_bpt(self, *args) + | set_src_bpt(self, fn, _lineno) + | + | set_sym_bpt(self, *args) + | set_sym_bpt(self, _symbol, _offset=0) + | + | symbol(self, *args) + | symbol(self) -> char const * + | + | type(self, *args) + | type(self) -> bpt_loctype_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | index + | bpt_location_t_index_get(self) -> int + | + | info + | bpt_location_t_info_get(self) -> ea_t + | + | loctype + | bpt_location_t_loctype_get(self) -> bpt_loctype_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bpt_location_t(self) + +Help on class bpt_t in module ida_dbg: + +class bpt_t(__builtin__.object) + | Proxy of C++ bpt_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bpt_t + | + | __repr__ = _swig_repr(self) + | + | badbpt(self, *args) + | badbpt(self) -> bool + | + | enabled(self, *args) + | enabled(self) -> bool + | + | get_cnd_elang_idx(self, *args) + | get_cnd_elang_idx(self) -> size_t + | + | get_size(self, *args) + | get_size(self) -> int + | + | is_absbpt(self, *args) + | is_absbpt(self) -> bool + | + | is_active(self, *args) + | is_active(self) -> bool + | + | is_compiled(self, *args) + | is_compiled(self) -> bool + | + | is_hwbpt(self, *args) + | is_hwbpt(self) -> bool + | + | is_inactive(self, *args) + | is_inactive(self) -> bool + | + | is_low_level(self, *args) + | is_low_level(self) -> bool + | + | is_page_bpt(self, *args) + | is_page_bpt(self) -> bool + | + | is_partially_active(self, *args) + | is_partially_active(self) -> bool + | + | is_relbpt(self, *args) + | is_relbpt(self) -> bool + | + | is_srcbpt(self, *args) + | is_srcbpt(self) -> bool + | + | is_symbpt(self, *args) + | is_symbpt(self) -> bool + | + | is_tracemodebpt(self, *args) + | is_tracemodebpt(self) -> bool + | + | is_traceoffbpt(self, *args) + | is_traceoffbpt(self) -> bool + | + | is_traceonbpt(self, *args) + | is_traceonbpt(self) -> bool + | + | listbpt(self, *args) + | listbpt(self) -> bool + | + | set_abs_bpt(self, *args) + | set_abs_bpt(self, a) + | + | set_rel_bpt(self, *args) + | set_rel_bpt(self, mod, o) + | + | set_src_bpt(self, *args) + | set_src_bpt(self, fn, lineno) + | + | set_sym_bpt(self, *args) + | set_sym_bpt(self, sym, o) + | + | set_trace_action(self, *args) + | set_trace_action(self, enable, trace_types) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | bpt_t_cb_get(self) -> size_t + | + | cndidx + | bpt_t_cndidx_get(self) -> int + | + | condition + | bpt_t_condition_get(self) -> PyObject * + | + | ea + | bpt_t_ea_get(self) -> ea_t + | + | elang + | bpt_t_elang_get(self) -> PyObject * + | + | flags + | bpt_t_flags_get(self) -> uint32 + | + | loc + | bpt_t_loc_get(self) -> bpt_location_t + | + | pass_count + | bpt_t_pass_count_get(self) -> int + | + | pid + | bpt_t_pid_get(self) -> pid_t + | + | props + | bpt_t_props_get(self) -> uint32 + | + | size + | bpt_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | tid + | bpt_t_tid_get(self) -> thid_t + | + | type + | bpt_t_type_get(self) -> bpttype_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bpt_t(self) + +Help on class bpt_vec_t in module ida_dbg: + +class bpt_vec_t(__builtin__.object) + | Proxy of C++ qvector< bpt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> bpt_t + | + | __init__(self, *args) + | __init__(self) -> bpt_vec_t + | __init__(self, x) -> bpt_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> bpt_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> bpt_t + | begin(self) -> bpt_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> bpt_t + | end(self) -> bpt_t + | + | erase(self, *args) + | erase(self, it) -> bpt_t + | erase(self, first, last) -> bpt_t + | + | extract(self, *args) + | extract(self) -> bpt_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=bpt_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> bpt_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> bpt_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bpt_vec_t(self) + +Help on function bring_debugger_to_front in module ida_dbg: + +bring_debugger_to_front(*args) + bring_debugger_to_front() + +Help on function check_bpt in module ida_dbg: + +check_bpt(*args) + check_bpt(ea) -> int + + + Check the breakpoint at the specified address. + + @param ea (C++: ea_t) + @return: one of Breakpoint status codes + +Help on function choose_trace_file in module ida_dbg: + +choose_trace_file(*args) + choose_trace_file() -> str + + + Show the choose trace dialog. + +Help on function clear_requests_queue in module ida_dbg: + +clear_requests_queue(*args) + clear_requests_queue() + + + Clear the queue of waiting requests. \sq{Type, Synchronous function, + Notification, none (synchronous function)}If a request is currently + running, this one isn't stopped. + +Help on function clear_trace in module ida_dbg: + +clear_trace(*args) + clear_trace() + + + Clear all events in the trace buffer. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + +Help on function collect_stack_trace in module ida_dbg: + +collect_stack_trace(*args) + collect_stack_trace(tid, trace) -> bool + +Help on function continue_process in module ida_dbg: + +continue_process(*args) + continue_process() -> bool + + + Continue the execution of the process in the debugger. \sq{Type, + Synchronous function - available as Request, Notification, none + (synchronous function)}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. + +Help on function create_source_viewer in module ida_dbg: + +create_source_viewer(*args) + 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) + +Help on function dbg_add_bpt_tev in module ida_dbg: + +dbg_add_bpt_tev(*args) + 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 + +Help on function dbg_add_call_tev in module ida_dbg: + +dbg_add_call_tev(*args) + 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) + +Help on function dbg_add_debug_event in module ida_dbg: + +dbg_add_debug_event(*args) + 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 *) + +Help on function dbg_add_insn_tev in module ida_dbg: + +dbg_add_insn_tev(*args) + 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) + @return: false if the operation failed, true otherwise + +Help on function dbg_add_many_tevs in module ida_dbg: + +dbg_add_many_tevs(*args) + 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 + +Help on function dbg_add_ret_tev in module ida_dbg: + +dbg_add_ret_tev(*args) + 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) + +Help on function dbg_add_tev in module ida_dbg: + +dbg_add_tev(*args) + 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) + @param tid (C++: thid_t) + @param address (C++: ea_t) + +Help on function dbg_add_thread in module ida_dbg: + +dbg_add_thread(*args) + dbg_add_thread(tid) + + + Add a thread to the current trace. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @param tid (C++: thid_t) + +Help on function dbg_bin_search in module ida_dbg: + +dbg_bin_search(*args) + dbg_bin_search(start_ea, end_ea, data, srch_flags) -> str + +Help on function dbg_can_query in module ida_dbg: + +dbg_can_query(*args) + 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 + +Help on function dbg_del_thread in module ida_dbg: + +dbg_del_thread(*args) + dbg_del_thread(tid) + + + Delete a thread from the current trace. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param tid (C++: thid_t) + +Help on function dbg_is_loaded in module ida_dbg: + +dbg_is_loaded(*args) + dbg_is_loaded() -> bool + + + Checks if a debugger is loaded + @return: Boolean + +Help on function define_exception in module ida_dbg: + +define_exception(*args) + define_exception(code, name, desc, flags) -> char const * + + + Convenience function: define new exception code. + + @param code: exception code (cannot be 0) (C++: uint) + @param name: exception name (cannot be empty or NULL) (C++: const char + *) + @param desc: exception description (maybe NULL) (C++: const char *) + @param flags: combination of Exception info flags (C++: int) + @return: failure message or NULL. You must call store_exceptions() + if this function succeeds + +Help on function del_bpt in module ida_dbg: + +del_bpt(*args) + del_bpt(ea) -> bool + del_bpt(bptloc) -> bool + + + Delete an existing breakpoint in the debugged process. \sq{Type, + Synchronous function - available as request, Notification, none + (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + +Help on function del_bptgrp in module ida_dbg: + +del_bptgrp(*args) + del_bptgrp(name) -> bool + +Help on function del_virt_module in module ida_dbg: + +del_virt_module(*args) + del_virt_module(base) -> bool + +Help on function detach_process in module ida_dbg: + +detach_process(*args) + detach_process() -> bool + + + Detach the debugger from the debugged process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_detach' } + +Help on function diff_trace_file in module ida_dbg: + +diff_trace_file(*args) + diff_trace_file(nonnul_filename) -> bool + + + Show difference between the current trace and the one from 'filename'. + +Help on function disable_bblk_trace in module ida_dbg: + +disable_bblk_trace(*args) + disable_bblk_trace() -> bool + +Help on function disable_bpt in module ida_dbg: + +disable_bpt(*args) + disable_bpt(ea) -> bool + disable_bpt(bptloc) -> bool + +Help on function disable_func_trace in module ida_dbg: + +disable_func_trace(*args) + disable_func_trace() -> bool + +Help on function disable_insn_trace in module ida_dbg: + +disable_insn_trace(*args) + disable_insn_trace() -> bool + +Help on function disable_step_trace in module ida_dbg: + +disable_step_trace(*args) + disable_step_trace() -> bool + +Help on function edit_manual_regions in module ida_dbg: + +edit_manual_regions(*args) + edit_manual_regions() + +Help on function enable_bblk_trace in module ida_dbg: + +enable_bblk_trace(*args) + enable_bblk_trace(enable=True) -> bool + +Help on function enable_bpt in module ida_dbg: + +enable_bpt(*args) + enable_bpt(ea, enable=True) -> bool + enable_bpt(bptloc, enable=True) -> bool + +Help on function enable_func_trace in module ida_dbg: + +enable_func_trace(*args) + enable_func_trace(enable=True) -> bool + +Help on function enable_insn_trace in module ida_dbg: + +enable_insn_trace(*args) + enable_insn_trace(enable=True) -> bool + +Help on function enable_manual_regions in module ida_dbg: + +enable_manual_regions(*args) + enable_manual_regions(enable) + +Help on function enable_step_trace in module ida_dbg: + +enable_step_trace(*args) + enable_step_trace(enable=True) -> bool + +Help on class eval_ctx_t in module ida_dbg: + +class eval_ctx_t(__builtin__.object) + | Proxy of C++ eval_ctx_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea) -> eval_ctx_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | eval_ctx_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_eval_ctx_t(self) + +Help on function exist_bpt in module ida_dbg: + +exist_bpt(*args) + exist_bpt(ea) -> bool + + + Does a breakpoint exist at the given location? + + + @param ea (C++: ea_t) + +Help on function exit_process in module ida_dbg: + +exit_process(*args) + exit_process() -> bool + + + Terminate the debugging of the current process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_exit' } + +Help on function find_bpt in module ida_dbg: + +find_bpt(*args) + find_bpt(bptloc, bpt) -> bool + + + Find a breakpoint by location. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param bptloc: Breakpoint location (C++: const bpt_location_t &) + @param bpt: bpt is filled if the breakpoint was found (C++: bpt_t *) + +Help on function get_bblk_trace_options in module ida_dbg: + +get_bblk_trace_options(*args) + get_bblk_trace_options() -> int + + + Get current basic block tracing options. Also see 'BT_LOG_INSTS' + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + +Help on function get_bpt in module ida_dbg: + +get_bpt(*args) + get_bpt(ea, bpt) -> bool + + + Get the characteristics of a breakpoint. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + @param bpt: if not NULL, is filled with the characteristics. (C++: + bpt_t *) + @return: false if no breakpoint exists + +Help on function get_bpt_group in module ida_dbg: + +get_bpt_group(*args) + get_bpt_group(bptloc) -> str + +Help on function get_bpt_qty in module ida_dbg: + +get_bpt_qty(*args) + get_bpt_qty() -> int + + + Get number of breakpoints. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function get_bpt_tev_ea in module ida_dbg: + +get_bpt_tev_ea(*args) + 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)}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. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a read, read/write or execution trace event. + +Help on function get_bptloc_string in module ida_dbg: + +get_bptloc_string(*args) + get_bptloc_string(i) -> char const * + + + Helper function for 'bpt_location_t' . + + + @param i (C++: int) + +Help on function get_call_tev_callee in module ida_dbg: + +get_call_tev_callee(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function call event. + +Help on function get_current_source_file in module ida_dbg: + +get_current_source_file(*args) + get_current_source_file(path) -> bool + +Help on function get_current_source_line in module ida_dbg: + +get_current_source_line(*args) + get_current_source_line() -> int + +Help on function get_current_thread in module ida_dbg: + +get_current_thread(*args) + get_current_thread() -> thid_t + + + Get current thread ID. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_dbg_byte in module ida_dbg: + +get_dbg_byte(*args) + get_dbg_byte(x, ea) -> bool + + + Get one byte of the debugged process memory. + + @param x: pointer to byte value (C++: uint32 *) + @param ea: linear address (C++: ea_t) + @return: true success + +Help on function get_dbg_memory_info in module ida_dbg: + +get_dbg_memory_info(*args) + get_dbg_memory_info(ranges) -> int + +Help on function get_dbg_reg_info in module ida_dbg: + +get_dbg_reg_info(*args) + get_dbg_reg_info(regname, ri) -> bool + + + Get register information \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param regname (C++: const char *) + @param ri (C++: register_info_t *) + +Help on function get_debug_event in module ida_dbg: + +get_debug_event(*args) + get_debug_event() -> debug_event_t + + + Get the current debugger event. + +Help on function get_debugger_event_cond in module ida_dbg: + +get_debugger_event_cond(*args) + get_debugger_event_cond() -> char const * + +Help on function get_first_module in module ida_dbg: + +get_first_module(*args) + get_first_module(modinfo) -> bool + +Help on function get_func_trace_options in module ida_dbg: + +get_func_trace_options(*args) + get_func_trace_options() -> int + + + Get current function tracing options. Also see 'FT_LOG_RET' \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_global_var in module ida_dbg: + +get_global_var(*args) + get_global_var(prov, ea, name, out) -> bool + +Help on function get_grp_bpts in module ida_dbg: + +get_grp_bpts(*args) + get_grp_bpts(bpts, grp_name) -> ssize_t + +Help on function get_insn_tev_reg_mem in module ida_dbg: + +get_insn_tev_reg_mem(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param memmap: result (C++: memreg_infos_t *) + @return: false if not an instruction event or no memory is available + +Help on function get_insn_tev_reg_result in module ida_dbg: + +get_insn_tev_reg_result(*args) + get_insn_tev_reg_result(n, regname, regval) -> bool + + + Read the resulting register value from an instruction trace event. + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param regname: name of desired register (C++: const char *) + @param regval: result (C++: regval_t *) + @return: false if not an instruction trace event or register wasn't + modified. + +Help on function get_insn_tev_reg_val in module ida_dbg: + +get_insn_tev_reg_val(*args) + get_insn_tev_reg_val(n, regname, regval) -> bool + + + Read a register value from an instruction trace event. \sq{Type, + Synchronous function, Notification, none (synchronous function)}This + is the value of the register before the execution of the instruction. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param regname: name of desired register (C++: const char *) + @param regval: result (C++: regval_t *) + @return: false if not an instruction event. + +Help on function get_insn_trace_options in module ida_dbg: + +get_insn_trace_options(*args) + get_insn_trace_options() -> int + + + Get current instruction tracing options. Also see 'IT_LOG_SAME_IP' + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + +Help on function get_ip_val in module ida_dbg: + +get_ip_val(*args) + get_ip_val() -> bool + + + Get value of the IP (program counter) register for the current thread. + Requires a suspended debugger. + +Help on function get_local_var in module ida_dbg: + +get_local_var(*args) + get_local_var(prov, ea, name, out) -> bool + +Help on function get_local_vars in module ida_dbg: + +get_local_vars(*args) + get_local_vars(prov, ea, out) -> bool + +Help on function get_manual_regions in module ida_dbg: + +get_manual_regions(*args) + get_manual_regions(ranges) + get_manual_regions() -> PyObject * + + + Returns the manual memory regions + @return: list(start_ea, end_ea, name, sclass, sbase, bitness, perm) + +Help on function get_module_info in module ida_dbg: + +get_module_info(*args) + get_module_info(ea, modinfo) -> bool + +Help on function get_next_module in module ida_dbg: + +get_next_module(*args) + get_next_module(modinfo) -> bool + +Help on function get_process_options in module ida_dbg: + +get_process_options(*args) + get_process_options(path, args, sdir, host, _pass, port) + + + Get process options. Any of the arguments may be NULL + + @param path (C++: qstring *) + @param args (C++: qstring *) + @param sdir (C++: qstring *) + @param host (C++: qstring *) + @param port (C++: int *) + +Help on function get_process_state in module ida_dbg: + +get_process_state(*args) + 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 + +Help on function get_processes in module ida_dbg: + +get_processes(*args) + 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 *) + @return: number of processes or -1 on error + +Help on function get_reg_val in module ida_dbg: + +get_reg_val(*args) + get_reg_val(regname, regval) -> bool + get_reg_val(regname, ival) -> bool + get_reg_val(regname) -> PyObject * + + + Read a register value from the current thread. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param regname (C++: const char *) + @param regval (C++: regval_t *) + +Help on function get_reg_vals in module ida_dbg: + +get_reg_vals(*args) + get_reg_vals(tid, clsmask, values) -> int + +Help on function get_ret_tev_return in module ida_dbg: + +get_ret_tev_return(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function return event. + +Help on function get_running_notification in module ida_dbg: + +get_running_notification(*args) + 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 + +Help on function get_running_request in module ida_dbg: + +get_running_request(*args) + 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 + +Help on function get_sp_val in module ida_dbg: + +get_sp_val(*args) + get_sp_val() -> bool + + + Get value of the SP register for the current thread. Requires a + suspended debugger. + +Help on function get_srcinfo_provider in module ida_dbg: + +get_srcinfo_provider(*args) + get_srcinfo_provider(name) -> srcinfo_provider_t * + +Help on function get_step_trace_options in module ida_dbg: + +get_step_trace_options(*args) + get_step_trace_options() -> int + + + Get current step tracing options. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @return: Step trace options + +Help on function get_tev_ea in module ida_dbg: + +get_tev_ea(*args) + get_tev_ea(n) -> ea_t + +Help on function get_tev_event in module ida_dbg: + +get_tev_event(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param d: result (C++: debug_event_t *) + @return: false if the tev_t object doesn't have any associated debug + event, true otherwise, with the debug event in "d". + +Help on function get_tev_info in module ida_dbg: + +get_tev_info(*args) + get_tev_info(n, tev_info) -> bool + + + Get main information about a trace event. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param tev_info: result (C++: tev_info_t *) + @return: success + +Help on function get_tev_memory_info in module ida_dbg: + +get_tev_memory_info(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param mi: result (C++: meminfo_vec_t *) + @return: false if the tev_t object is not of type tev_mem , true + otherwise, with the new memory layout in "mi". + +Help on function get_tev_qty in module ida_dbg: + +get_tev_qty(*args) + get_tev_qty() -> int + + + Get number of trace events available in trace buffer. \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_tev_reg_mem in module ida_dbg: + +get_tev_reg_mem(tev, idx) + +Help on function get_tev_reg_mem_ea in module ida_dbg: + +get_tev_reg_mem_ea(tev, idx) + +Help on function get_tev_reg_mem_qty in module ida_dbg: + +get_tev_reg_mem_qty(tev) + +Help on function get_tev_reg_val in module ida_dbg: + +get_tev_reg_val(tev, reg) + +Help on function get_tev_tid in module ida_dbg: + +get_tev_tid(*args) + get_tev_tid(n) -> int + +Help on function get_tev_type in module ida_dbg: + +get_tev_type(*args) + get_tev_type(n) -> int + +Help on function get_thread_qty in module ida_dbg: + +get_thread_qty(*args) + get_thread_qty() -> int + + + Get number of threads. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_trace_base_address in module ida_dbg: + +get_trace_base_address(*args) + 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 + +Help on function get_trace_file_desc in module ida_dbg: + +get_trace_file_desc(*args) + get_trace_file_desc(filename) -> str + + + Get the file header of the specified trace file. + + + @param filename (C++: const char *) + +Help on function get_trace_platform in module ida_dbg: + +get_trace_platform(*args) + get_trace_platform() -> char const * + + + Get platform name of current trace. + +Help on function getn_bpt in module ida_dbg: + +getn_bpt(*args) + getn_bpt(n, bpt) -> bool + + + Get the characteristics of a breakpoint. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param n: number of breakpoint, is in range 0.. get_bpt_qty() -1 (C++: + int) + @param bpt: filled with the characteristics. (C++: bpt_t *) + @return: false if no breakpoint exists + +Help on function getn_thread in module ida_dbg: + +getn_thread(*args) + getn_thread(n) -> thid_t + + + Get the ID of a thread. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: + int) + @return: NO_THREAD if the thread doesn't exist. + +Help on function getn_thread_name in module ida_dbg: + +getn_thread_name(*args) + getn_thread_name(n) -> char const * + + + Get the NAME of a thread \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 + for the current thread (C++: int) + @return: thread name or NULL if the thread doesn't exist. + +Help on function graph_trace in module ida_dbg: + +graph_trace(*args) + graph_trace() -> bool + + + Show the trace callgraph. + +Help on function handle_debug_event in module ida_dbg: + +handle_debug_event(*args) + handle_debug_event(ev, rqflags) -> int + +Help on function hide_all_bpts in module ida_dbg: + +hide_all_bpts(*args) + hide_all_bpts() -> int + +Help on function internal_get_sreg_base in module ida_dbg: + +internal_get_sreg_base(*args) + internal_get_sreg_base(tid, sreg_value) -> ea_t + + + Get the sreg base, for the given thread. + + @return: The sreg base, or BADADDR on failure. + +Help on function internal_ioctl in module ida_dbg: + +internal_ioctl(*args) + internal_ioctl(fn, buf, poutbuf, poutsize) -> int + +Help on function invalidate_dbg_state in module ida_dbg: + +invalidate_dbg_state(*args) + invalidate_dbg_state(dbginv) -> int + + + Invalidate cached debugger information. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param dbginv: Debugged process invalidation options (C++: int) + @return: current debugger state (one of Debugged process states ) + +Help on function invalidate_dbgmem_config in module ida_dbg: + +invalidate_dbgmem_config(*args) + 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) + +Help on function invalidate_dbgmem_contents in module ida_dbg: + +invalidate_dbgmem_contents(*args) + 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) + +Help on function is_bblk_trace_enabled in module ida_dbg: + +is_bblk_trace_enabled(*args) + is_bblk_trace_enabled() -> bool + +Help on function is_debugger_busy in module ida_dbg: + +is_debugger_busy(*args) + 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 + +Help on function is_debugger_memory in module ida_dbg: + +is_debugger_memory(*args) + is_debugger_memory(ea) -> bool + + + Is the address mapped to debugger memory? + + + @param ea (C++: ea_t) + +Help on function is_debugger_on in module ida_dbg: + +is_debugger_on(*args) + is_debugger_on() -> bool + + + Is the debugger currently running? + +Help on function is_func_trace_enabled in module ida_dbg: + +is_func_trace_enabled(*args) + is_func_trace_enabled() -> bool + + + Get current state of functions tracing. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + +Help on function is_insn_trace_enabled in module ida_dbg: + +is_insn_trace_enabled(*args) + is_insn_trace_enabled() -> bool + + + Get current state of instructions tracing. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + +Help on function is_reg_custom in module ida_dbg: + +is_reg_custom(*args) + 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 *) + +Help on function is_reg_float in module ida_dbg: + +is_reg_float(*args) + 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 *) + +Help on function is_reg_integer in module ida_dbg: + +is_reg_integer(*args) + 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 *) + +Help on function is_request_running in module ida_dbg: + +is_request_running(*args) + is_request_running() -> bool + + + Is a request currently running? + +Help on function is_step_trace_enabled in module ida_dbg: + +is_step_trace_enabled(*args) + is_step_trace_enabled() -> bool + + + Get current state of step tracing. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function is_valid_trace_file in module ida_dbg: + +is_valid_trace_file(*args) + is_valid_trace_file(filename) -> bool + + + Is the specified file a valid trace file for the current database? + + + @param filename (C++: const char *) + +Help on function list_bptgrps in module ida_dbg: + +list_bptgrps(*args) + list_bptgrps(bptgrps) -> size_t + list_bptgrps() -> PyObject * + +Help on function load_debugger in module ida_dbg: + +load_debugger(*args) + load_debugger(dbgname, use_remote) -> bool + +Help on function load_trace_file in module ida_dbg: + +load_trace_file(*args) + load_trace_file(filename) -> str + + + Load a recorded trace file in the trace 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 *) + +Help on class memreg_info_t in module ida_dbg: + +class memreg_info_t(__builtin__.object) + | Proxy of C++ memreg_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> memreg_info_t + | + | __repr__ = _swig_repr(self) + | + | get_bytes(self, *args) + | get_bytes(self) -> PyObject * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bytes + | get_bytes(self) -> PyObject * + | + | ea + | memreg_info_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_memreg_info_t(self) + +Help on class memreg_infos_t in module ida_dbg: + +class memreg_infos_t(__builtin__.object) + | Proxy of C++ qvector< memreg_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> memreg_info_t + | + | __init__(self, *args) + | __init__(self) -> memreg_infos_t + | __init__(self, x) -> memreg_infos_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> memreg_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> memreg_info_t + | begin(self) -> memreg_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> memreg_info_t + | end(self) -> memreg_info_t + | + | erase(self, *args) + | erase(self, it) -> memreg_info_t + | erase(self, first, last) -> memreg_info_t + | + | extract(self, *args) + | extract(self) -> memreg_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=memreg_info_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> memreg_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> memreg_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_memreg_infos_t(self) + +Help on function move_bpt_to_grp in module ida_dbg: + +move_bpt_to_grp(*args) + move_bpt_to_grp(bpt, grp_name) + + + Sets new group for the breakpoint + +Help on function put_dbg_byte in module ida_dbg: + +put_dbg_byte(*args) + put_dbg_byte(ea, x) -> bool + + + Change one byte of the debugged process memory. + + @param ea: linear address (C++: ea_t) + @param x: byte value (C++: uint32) + @return: true if the process memory has been modified + +Help on function read_dbg_memory in module ida_dbg: + +read_dbg_memory(*args) + read_dbg_memory(ea, buffer, size) -> ssize_t + +Help on function refresh_debugger_memory in module ida_dbg: + +refresh_debugger_memory(*args) + refresh_debugger_memory() -> PyObject * + + + Refreshes the debugger memory + @return: Nothing + +Help on function rename_bptgrp in module ida_dbg: + +rename_bptgrp(*args) + rename_bptgrp(old_name, new_name) -> bool + +Help on function request_add_bpt in module ida_dbg: + +request_add_bpt(*args) + request_add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + request_add_bpt(bpt) -> bool + + + Post an 'add_bpt(ea_t, asize_t, bpttype_t)' request. + + + @param ea (C++: ea_t) + @param size (C++: asize_t) + @param type (C++: bpttype_t) + +Help on function request_attach_process in module ida_dbg: + +request_attach_process(*args) + request_attach_process(pid, event_id) -> int + + + Post an 'attach_process()' request. + + + @param pid (C++: pid_t) + @param event_id (C++: int) + +Help on function request_clear_trace in module ida_dbg: + +request_clear_trace(*args) + request_clear_trace() + + + Post a 'clear_trace()' request. + +Help on function request_continue_process in module ida_dbg: + +request_continue_process(*args) + request_continue_process() -> bool + + + Post a 'continue_process()' request.This requires an explicit call to + 'run_requests()' + +Help on function request_del_bpt in module ida_dbg: + +request_del_bpt(*args) + request_del_bpt(ea) -> bool + request_del_bpt(bptloc) -> bool + + + Post a 'del_bpt(ea_t)' request. + + + @param ea (C++: ea_t) + +Help on function request_detach_process in module ida_dbg: + +request_detach_process(*args) + request_detach_process() -> bool + + + Post a 'detach_process()' request. + +Help on function request_disable_bblk_trace in module ida_dbg: + +request_disable_bblk_trace(*args) + request_disable_bblk_trace() -> bool + +Help on function request_disable_bpt in module ida_dbg: + +request_disable_bpt(*args) + request_disable_bpt(ea) -> bool + request_disable_bpt(bptloc) -> bool + +Help on function request_disable_func_trace in module ida_dbg: + +request_disable_func_trace(*args) + request_disable_func_trace() -> bool + +Help on function request_disable_insn_trace in module ida_dbg: + +request_disable_insn_trace(*args) + request_disable_insn_trace() -> bool + +Help on function request_disable_step_trace in module ida_dbg: + +request_disable_step_trace(*args) + request_disable_step_trace() -> bool + +Help on function request_enable_bblk_trace in module ida_dbg: + +request_enable_bblk_trace(*args) + request_enable_bblk_trace(enable=True) -> bool + +Help on function request_enable_bpt in module ida_dbg: + +request_enable_bpt(*args) + request_enable_bpt(ea, enable=True) -> bool + request_enable_bpt(bptloc, enable=True) -> bool + +Help on function request_enable_func_trace in module ida_dbg: + +request_enable_func_trace(*args) + request_enable_func_trace(enable=True) -> bool + +Help on function request_enable_insn_trace in module ida_dbg: + +request_enable_insn_trace(*args) + request_enable_insn_trace(enable=True) -> bool + +Help on function request_enable_step_trace in module ida_dbg: + +request_enable_step_trace(*args) + request_enable_step_trace(enable=True) -> bool + +Help on function request_exit_process in module ida_dbg: + +request_exit_process(*args) + request_exit_process() -> bool + + + Post an 'exit_process()' request. + +Help on function request_resume_thread in module ida_dbg: + +request_resume_thread(*args) + request_resume_thread(tid) -> int + + + Post a 'resume_thread()' request. + + + @param tid (C++: thid_t) + +Help on function request_run_to in module ida_dbg: + +request_run_to(*args) + 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) + @param tid (C++: thid_t) + +Help on function request_select_thread in module ida_dbg: + +request_select_thread(*args) + request_select_thread(tid) -> bool + + + Post a 'select_thread()' request. + + + @param tid (C++: thid_t) + +Help on function request_set_bblk_trace_options in module ida_dbg: + +request_set_bblk_trace_options(*args) + request_set_bblk_trace_options(options) + + + Post a 'set_bblk_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_func_trace_options in module ida_dbg: + +request_set_func_trace_options(*args) + request_set_func_trace_options(options) + + + Post a 'set_func_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_insn_trace_options in module ida_dbg: + +request_set_insn_trace_options(*args) + request_set_insn_trace_options(options) + + + Post a 'set_insn_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_reg_val in module ida_dbg: + +request_set_reg_val(*args) + request_set_reg_val(regname, o) -> PyObject * + + + Post a 'set_reg_val()' request. + + + @param regname (C++: const char *) + +Help on function request_set_resume_mode in module ida_dbg: + +request_set_resume_mode(*args) + request_set_resume_mode(tid, mode) -> bool + + + Post a 'set_resume_mode()' request. + + + @param tid (C++: thid_t) + @param mode (C++: resume_mode_t) + +Help on function request_set_step_trace_options in module ida_dbg: + +request_set_step_trace_options(*args) + request_set_step_trace_options(options) + + + Post a 'set_step_trace_options()' request. + + + @param options (C++: int) + +Help on function request_start_process in module ida_dbg: + +request_start_process(*args) + request_start_process(path=None, args=None, sdir=None) -> int + + + Post a 'start_process()' request. + + + @param path (C++: const char *) + @param args (C++: const char *) + @param sdir (C++: const char *) + +Help on function request_step_into in module ida_dbg: + +request_step_into(*args) + request_step_into() -> bool + + + Post a 'step_into()' request. + +Help on function request_step_over in module ida_dbg: + +request_step_over(*args) + request_step_over() -> bool + + + Post a 'step_over()' request. + +Help on function request_step_until_ret in module ida_dbg: + +request_step_until_ret(*args) + request_step_until_ret() -> bool + + + Post a 'step_until_ret()' request. + +Help on function request_suspend_process in module ida_dbg: + +request_suspend_process(*args) + request_suspend_process() -> bool + + + Post a 'suspend_process()' request. + +Help on function request_suspend_thread in module ida_dbg: + +request_suspend_thread(*args) + request_suspend_thread(tid) -> int + + + Post a 'suspend_thread()' request. + + + @param tid (C++: thid_t) + +Help on function resume_thread in module ida_dbg: + +resume_thread(*args) + resume_thread(tid) -> int + + + Resume thread. \sq{Type, Synchronous function - available as request, + Notification, none (synchronous function)} + + @param tid: thread id (C++: thid_t) + +Help on function retrieve_exceptions in module ida_dbg: + +retrieve_exceptions(*args) + 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 + +Help on function run_requests in module ida_dbg: + +run_requests(*args) + run_requests() -> bool + + + Execute requests until all requests are processed or an asynchronous + function is called. \sq{Type, Synchronous function, Notification, none + (synchronous function)}If called from a notification handler, the + execution of requests will be postponed to the end of the execution of + all notification handlers. + + @return: false if not all requests could be processed (indicates an + asynchronous function was started) + +Help on function run_to in module ida_dbg: + +run_to(*args) + 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: target address (C++: ea_t) + @param pid: not used yet. please do not specify this parameter. (C++: + pid_t) + @param tid: not used yet. please do not specify this parameter. (C++: + thid_t) + +Help on function save_trace_file in module ida_dbg: + +save_trace_file(*args) + save_trace_file(filename, description) -> bool + + + Save the current trace in the specified file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function select_thread in module ida_dbg: + +select_thread(*args) + 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: ID of the thread to select (C++: thid_t) + @return: false if the thread doesn't exist. + +Help on function send_dbg_command in module ida_dbg: + +send_dbg_command(command) + 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 + +Help on function set_bblk_trace_options in module ida_dbg: + +set_bblk_trace_options(*args) + set_bblk_trace_options(options) + + + Modify basic block tracing options (see 'BT_LOG_INSTS' ) + + + @param options (C++: int) + +Help on function set_bpt_group in module ida_dbg: + +set_bpt_group(*args) + set_bpt_group(bpt, grp_name) + +Help on function set_bptloc_group in module ida_dbg: + +set_bptloc_group(*args) + set_bptloc_group(bptloc, grp_name) -> bool + +Help on function set_bptloc_string in module ida_dbg: + +set_bptloc_string(*args) + set_bptloc_string(s) -> int + + + Helper function for 'bpt_location_t' . + + + @param s (C++: const char *) + +Help on function set_debugger_event_cond in module ida_dbg: + +set_debugger_event_cond(*args) + set_debugger_event_cond(nonnul_cond) + +Help on function set_debugger_options in module ida_dbg: + +set_debugger_options(*args) + 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 + +Help on function set_func_trace_options in module ida_dbg: + +set_func_trace_options(*args) + set_func_trace_options(options) + + + Modify function tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_highlight_trace_options in module ida_dbg: + +set_highlight_trace_options(*args) + 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) + +Help on function set_insn_trace_options in module ida_dbg: + +set_insn_trace_options(*args) + set_insn_trace_options(options) + + + Modify instruction tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_manual_regions in module ida_dbg: + +set_manual_regions(*args) + set_manual_regions(ranges) + +Help on function set_process_options in module ida_dbg: + +set_process_options(*args) + set_process_options(path, args, sdir, host, _pass, port) + + + Set process options. Any of the arguments may be NULL, which means 'do + not modify' + + @param path (C++: const char *) + @param args (C++: const char *) + @param sdir (C++: const char *) + @param host (C++: const char *) + @param port (C++: int) + +Help on function set_process_state in module ida_dbg: + +set_process_state(*args) + 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: new process state (one of Debugged process states ) + if DSTATE_NOTASK is passed then the state is not + changed (C++: int) + @param p_thid: ptr to new thread id. may be NULL or pointer to + NO_THREAD . the pointed variable will contain the old + thread id upon return (C++: thid_t *) + @param dbginv: Debugged process invalidation options (C++: int) + @return: old debugger state (one of Debugged process states ) + +Help on function set_reg_val in module ida_dbg: + +set_reg_val(*args) + set_reg_val(regname, o) -> PyObject + set_reg_val(tid, regidx, o) -> PyObject * + + + Write a register value to the current thread. \sq{Type, Synchronous + function - available as Request, Notification, none (synchronous + function)} + + @param regname (C++: const char *) + +Help on function set_remote_debugger in module ida_dbg: + +set_remote_debugger(*args) + set_remote_debugger(host, _pass, port=-1) + + + Set remote debugging options. Should be used before starting the + debugger. + + @param host: If empty, IDA will use local debugger. If NULL, the host + will not be set. (C++: const char *) + @param port: If -1, the default port number will be used (C++: int) + +Help on function set_resume_mode in module ida_dbg: + +set_resume_mode(*args) + 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) + +Help on function set_step_trace_options in module ida_dbg: + +set_step_trace_options(*args) + set_step_trace_options(options) + + + Modify step tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_trace_base_address in module ida_dbg: + +set_trace_base_address(*args) + 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) + +Help on function set_trace_file_desc in module ida_dbg: + +set_trace_file_desc(*args) + set_trace_file_desc(filename, description) -> bool + + + Change the description of the specified trace file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function set_trace_platform in module ida_dbg: + +set_trace_platform(*args) + set_trace_platform(platform) + + + Set platform name of current trace. + + + @param platform (C++: const char *) + +Help on function set_trace_size in module ida_dbg: + +set_trace_size(*args) + set_trace_size(size) -> bool + + + Specify the new size of the circular buffer. \sq{Type, Synchronous + function, Notification, none (synchronous function)}If you specify 0, + all available memory can be quickly used !!! + + @param size: 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. (C++: int) + +Help on function srcdbg_request_step_into in module ida_dbg: + +srcdbg_request_step_into(*args) + srcdbg_request_step_into() -> bool + +Help on function srcdbg_request_step_over in module ida_dbg: + +srcdbg_request_step_over(*args) + srcdbg_request_step_over() -> bool + +Help on function srcdbg_request_step_until_ret in module ida_dbg: + +srcdbg_request_step_until_ret(*args) + srcdbg_request_step_until_ret() -> bool + +Help on function srcdbg_step_into in module ida_dbg: + +srcdbg_step_into(*args) + srcdbg_step_into() -> bool + +Help on function srcdbg_step_over in module ida_dbg: + +srcdbg_step_over(*args) + srcdbg_step_over() -> bool + +Help on function srcdbg_step_until_ret in module ida_dbg: + +srcdbg_step_until_ret(*args) + srcdbg_step_until_ret() -> bool + +Help on function start_process in module ida_dbg: + +start_process(*args) + 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' }You can also + use the 'run_to()' function to easily start the execution of a process + until a given address is reached.For all parameters, a NULL value + indicates the debugger will take the value from the defined Process + Options. + + @param path: path to the executable to start (C++: const char *) + @param args: arguments to pass to process (C++: const char *) + @param sdir: starting directory for the process (C++: const char *) + +Help on function step_into in module ida_dbg: + +step_into(*args) + 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' } + +Help on function step_over in module ida_dbg: + +step_over(*args) + 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' } + +Help on function step_until_ret in module ida_dbg: + +step_until_ret(*args) + 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' } + +Help on function store_exceptions in module ida_dbg: + +store_exceptions(*args) + store_exceptions() -> bool + + + Update the exception information stored in the debugger module by + invoking its dbg->set_exception_info callback + +Help on function suspend_process in module ida_dbg: + +suspend_process(*args) + 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) }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. + +Help on function suspend_thread in module ida_dbg: + +suspend_thread(*args) + 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: thread id (C++: thid_t) + +Help on class tev_info_reg_t in module ida_dbg: + +class tev_info_reg_t(__builtin__.object) + | Proxy of C++ tev_info_reg_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tev_info_reg_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | info + | tev_info_reg_t_info_get(self) -> tev_info_t + | + | registers + | tev_info_reg_t_registers_get(self) -> tev_reg_values_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tev_info_reg_t(self) + +Help on class tev_info_t in module ida_dbg: + +class tev_info_t(__builtin__.object) + | Proxy of C++ tev_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tev_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | tev_info_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | tid + | tev_info_t_tid_get(self) -> thid_t + | + | type + | tev_info_t_type_get(self) -> tev_type_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tev_info_t(self) + +Help on class tev_reg_value_t in module ida_dbg: + +class tev_reg_value_t(__builtin__.object) + | Proxy of C++ tev_reg_value_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _reg_idx=-1, _value=uint64(-1)) -> tev_reg_value_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | reg_idx + | tev_reg_value_t_reg_idx_get(self) -> int + | + | thisown + | The membership flag + | + | value + | tev_reg_value_t_value_get(self) -> regval_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tev_reg_value_t(self) + +Help on class tev_reg_values_t in module ida_dbg: + +class tev_reg_values_t(__builtin__.object) + | Proxy of C++ qvector< tev_reg_value_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> tev_reg_value_t + | + | __init__(self, *args) + | __init__(self) -> tev_reg_values_t + | __init__(self, x) -> tev_reg_values_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> tev_reg_value_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> tev_reg_value_t + | begin(self) -> tev_reg_value_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> tev_reg_value_t + | end(self) -> tev_reg_value_t + | + | erase(self, *args) + | erase(self, it) -> tev_reg_value_t + | erase(self, first, last) -> tev_reg_value_t + | + | extract(self, *args) + | extract(self) -> tev_reg_value_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=tev_reg_value_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> tev_reg_value_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> tev_reg_value_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tev_reg_values_t(self) + +Help on class tevinforeg_vec_t in module ida_dbg: + +class tevinforeg_vec_t(__builtin__.object) + | Proxy of C++ qvector< tev_info_reg_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> tev_info_reg_t + | + | __init__(self, *args) + | __init__(self) -> tevinforeg_vec_t + | __init__(self, x) -> tevinforeg_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> tev_info_reg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> tev_info_reg_t + | begin(self) -> tev_info_reg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> tev_info_reg_t + | end(self) -> tev_info_reg_t + | + | erase(self, *args) + | erase(self, it) -> tev_info_reg_t + | erase(self, first, last) -> tev_info_reg_t + | + | extract(self, *args) + | extract(self) -> tev_info_reg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=tev_info_reg_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> tev_info_reg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> tev_info_reg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tevinforeg_vec_t(self) + +Help on function update_bpt in module ida_dbg: + +update_bpt(*args) + 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)}Only the following + fields can be modified: 'bpt_t::cndbody' 'bpt_t::pass_count' + 'bpt_t::flags' 'bpt_t::size' 'bpt_t::type' 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 *) + +Help on function wait_for_next_event in module ida_dbg: + +wait_for_next_event(*args) + 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: combination of Wait for debugger event flags constants + (C++: int) + @param timeout: number of seconds to wait, -1-infinity (C++: int) + @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= + 0) + +Help on function write_dbg_memory in module ida_dbg: + +write_dbg_memory(*args) + write_dbg_memory(ea, py_buf, size=size_t(-1)) -> ssize_t + +=== ida_dbg EPYDOC INJECTIONS === +ida_dbg.BKPT_ACTIVE +""" +active? +""" + +ida_dbg.BKPT_BADBPT +""" +failed to write the bpt to the process memory (at least one location) +""" + +ida_dbg.BKPT_CNDREADY +""" +condition has been compiled +""" + +ida_dbg.BKPT_FAKEPEND +""" +bpt of the same type is active at the same address(es) + +fake pending bpt: it is inactive but another +""" + +ida_dbg.BKPT_LISTBPT +""" +include in bpt list (user-defined bpt) +""" + +ida_dbg.BKPT_PAGE +""" +only after writing the bpt to the process. + +written to the process as a page bpt. is available +""" + +ida_dbg.BKPT_PARTIAL +""" +partially active? (some locations were not written yet) +""" + +ida_dbg.BKPT_TRACE +""" +trace bpt; should not be deleted when the process gets suspended +""" + +ida_dbg.BPTCK_ACT +""" +breakpoint is active (written to the process) +""" + +ida_dbg.BPTCK_NO +""" +breakpoint is disabled +""" + +ida_dbg.BPTCK_NONE +""" +breakpoint does not exist +""" + +ida_dbg.BPTCK_YES +""" +breakpoint is enabled +""" + +ida_dbg.BPTEV_ADDED +""" +Breakpoint has been added. +""" + +ida_dbg.BPTEV_CHANGED +""" +Breakpoint has been modified. +""" + +ida_dbg.BPTEV_REMOVED +""" +Breakpoint has been removed. +""" + +ida_dbg.BPT_BRK +""" +suspend execution upon hit +""" + +ida_dbg.BPT_ELANG_SHIFT +""" +index of the extlang (scripting language) of the condition +""" + +ida_dbg.BPT_ENABLED +""" +enabled? +""" + +ida_dbg.BPT_LOWCND +""" +condition is calculated at low level (on the server side) +""" + +ida_dbg.BPT_TRACE +""" +add trace information upon hit +""" + +ida_dbg.BPT_TRACEON +""" +enable tracing when the breakpoint is reached +""" + +ida_dbg.BPT_TRACE_BBLK +""" +basic block tracing +""" + +ida_dbg.BPT_TRACE_FUNC +""" +function tracing +""" + +ida_dbg.BPT_TRACE_INSN +""" +instruction tracing +""" + +ida_dbg.BPT_TRACE_TYPES +""" +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 +""" + +ida_dbg.BPT_UPDMEM +""" +refresh the memory layout and contents before evaluating bpt condition +""" + +ida_dbg.BT_LOG_INSTS +""" +log all instructions in the current basic block +""" + +ida_dbg.DBGINV_ALL +""" +invalidate everything +""" + +ida_dbg.DBGINV_MEMCFG +""" +invalidate cached process segmentation +""" + +ida_dbg.DBGINV_MEMORY +""" +invalidate cached memory contents +""" + +ida_dbg.DBGINV_NONE +""" +invalidate nothing +""" + +ida_dbg.DBGINV_REDRAW +""" +refresh the screen +""" + +ida_dbg.DBGINV_REGS +""" +invalidate cached register values +""" + +ida_dbg.DOPT_BPT_MSGS +""" +log breakpoints +""" + +ida_dbg.DOPT_END_BPT +""" +evaluate event condition on process end +""" + +ida_dbg.DOPT_ENTRY_BPT +""" +break on program entry point +""" + +ida_dbg.DOPT_EXCDLG +""" +exception dialogs: +""" + +ida_dbg.DOPT_INFO_BPT +""" +break on debugging information +""" + +ida_dbg.DOPT_INFO_MSGS +""" +log debugging info events +""" + +ida_dbg.DOPT_LIB_BPT +""" +break on library load/unload +""" + +ida_dbg.DOPT_LIB_MSGS +""" +log library loads/unloads +""" + +ida_dbg.DOPT_LOAD_DINFO +""" +automatically load debug files (pdb) +""" + +ida_dbg.DOPT_REAL_MEMORY +""" +do not hide breakpoint instructions +""" + +ida_dbg.DOPT_REDO_STACK +""" +reconstruct the stack +""" + +ida_dbg.DOPT_SEGM_MSGS +""" +log debugger segments modifications +""" + +ida_dbg.DOPT_START_BPT +""" +break on process start +""" + +ida_dbg.DOPT_TEMP_HWBPT +""" +when possible use hardware bpts for temp bpts +""" + +ida_dbg.DOPT_THREAD_BPT +""" +break on thread start/exit +""" + +ida_dbg.DOPT_THREAD_MSGS +""" +log thread starts/exits +""" + +ida_dbg.DSTATE_NOTASK +""" +no process is currently debugged +""" + +ida_dbg.DSTATE_RUN +""" +process is running +""" + +ida_dbg.DSTATE_SUSP +""" +process is suspended and will not continue +""" + +ida_dbg.EXCDLG_ALWAYS +""" +always display +""" + +ida_dbg.EXCDLG_NEVER +""" +never display exception dialogs +""" + +ida_dbg.EXCDLG_UNKNOWN +""" +display for unknown exceptions +""" + +ida_dbg.FT_LOG_RET +""" +function tracing will log returning instructions +""" + +ida_dbg.IT_LOG_SAME_IP +""" +instruction tracing will log instructions whose IP doesn't change +""" + +ida_dbg.ST_ALREADY_LOGGED +""" +step tracing will be disabled when IP is already logged +""" + +ida_dbg.ST_DIFFERENTIAL +""" +tracing: log only new instructions +""" + +ida_dbg.ST_OPTIONS_MASK +""" +mask of available options, to ensure compatibility with newer IDA +versions +""" + +ida_dbg.ST_OVER_DEBUG_SEG +""" +step tracing will be disabled when IP is in a debugger segment +""" + +ida_dbg.ST_OVER_LIB_FUNC +""" +step tracing will be disabled when IP is in a library function +""" + +ida_dbg.ST_SKIP_LOOPS +""" +step tracing will try to skip loops already recorded +""" + +ida_dbg.WFNE_ANY +""" +return the first event (even if it doesn't suspend the process) +""" + +ida_dbg.WFNE_CONT +""" +continue from the suspended state +""" + +ida_dbg.WFNE_NOWAIT +""" +(to be used with 'WFNE_CONT' ) + +do not wait for any event, immediately return 'DEC_TIMEOUT' +""" + +ida_dbg.WFNE_SILENT +""" +1: be slient, 0:display modal boxes if necessary +""" + +ida_dbg.WFNE_SUSP +""" +wait until the process gets suspended +""" + +ida_dbg.WFNE_USEC +""" +(minimum non-zero timeout is 40000us) + +timeout is specified in microseconds +""" +=== ida_dbg EPYDOC INJECTIONS END === +Help on function close_linput in module ida_diskio: + +close_linput(*args) + close_linput(li) + + + Close loader input. + + + @param li (C++: linput_t *) + +Help on function create_bytearray_linput in module ida_diskio: + +create_bytearray_linput(*args) + create_bytearray_linput(s) -> linput_t * + + + Trivial memory linput. + +Help on function create_generic_linput in module ida_diskio: + +create_generic_linput(*args) + create_generic_linput(gl) -> linput_t * + + + Create a generic linput + + @param gl: linput description. this object will be destroyed by + close_linput() using "delete gl;" (C++: generic_linput_t + *) + +Help on function create_memory_linput in module ida_diskio: + +create_memory_linput(*args) + 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: starting address of the input (C++: ea_t) + @param size: size of the memory area to represent as linput if + unknown, may be passed as 0 (C++: asize_t) + +Help on function eclose in module ida_diskio: + +eclose(*args) + eclose(fp) + +Help on function enumerate_files in module ida_diskio: + +enumerate_files(*args) + 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 + +Help on function fopenA in module ida_diskio: + +fopenA(*args) + fopenA(file) -> FILE * + + + Open a file for append in text mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenM in module ida_diskio: + +fopenM(*args) + fopenM(file) -> FILE * + + + Open a file for read/write in binary mode, deny write. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenRB in module ida_diskio: + +fopenRB(*args) + fopenRB(file) -> FILE * + + + Open a file for read in binary mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenRT in module ida_diskio: + +fopenRT(*args) + fopenRT(file) -> FILE * + + + Open a file for read in text mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenWB in module ida_diskio: + +fopenWB(*args) + 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 *) + @return: NULL if failure + +Help on function fopenWT in module ida_diskio: + +fopenWT(*args) + 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 *) + @return: NULL if failure + +Help on class generic_linput_t in module ida_diskio: + +class generic_linput_t(__builtin__.object) + | Proxy of C++ generic_linput_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | read(self, *args) + | read(self, off, buffer, nbytes) -> ssize_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blocksize + | generic_linput_t_blocksize_get(self) -> uint32 + | + | filesize + | generic_linput_t_filesize_get(self) -> uint64 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_generic_linput_t(self) + +Help on function get_ida_subdirs in module ida_diskio: + +get_ida_subdirs(*args) + 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: name of the resource to list (C++: const char *) + @param flags: Subdirectory modification flags bits (C++: int) + @return: number of directories appended to 'dirs' + +Help on function get_linput_type in module ida_diskio: + +get_linput_type(*args) + get_linput_type(li) -> linput_type_t + + + Get linput type. + + + @param li (C++: linput_t *) + +Help on function get_special_folder in module ida_diskio: + +get_special_folder(*args) + 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) + +Help on function get_user_idadir in module ida_diskio: + +get_user_idadir(*args) + 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) + +Help on function getsysfile in module ida_diskio: + +getsysfile(*args) + getsysfile(filename, subdir) -> str + + + Search for IDA system file. This function searches for a file in:each + directory specified by IDAUSR%ida directory [+ subdir] and returns the + first match. + + @param filename (C++: const char *) + @param subdir (C++: const char *) + @return: NULL if not found, otherwise a pointer to full file name. + +Help on function idadir in module ida_diskio: + +idadir(*args) + idadir(subdir) -> char const * + + + Get IDA directory (if subdir==NULL) or the specified subdirectory (see + 'IDA subdirectories' ) + + @param subdir (C++: const char *) + +Help on function open_linput in module ida_diskio: + +open_linput(*args) + open_linput(file, remote) -> linput_t * + + + Open loader input. + + + @param file (C++: const char *) + @param remote (C++: bool) + +Help on function qlgetz in module ida_diskio: + +qlgetz(*args) + 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) + +=== ida_diskio EPYDOC INJECTIONS === +ida_diskio.IDA_SUBDIR_IDADIR_FIRST +""" +$IDADIR/subdir will be first, not last +""" + +ida_diskio.IDA_SUBDIR_IDP +""" +append the processor name as a subdirectory +""" + +ida_diskio.IDA_SUBDIR_ONLY_EXISTING +""" +only existing directories will be present +""" +=== ida_diskio EPYDOC INJECTIONS END === +Help on function add_entry in module ida_entry: + +add_entry(*args) + add_entry(ord, ea, name, makecode, flags=0) -> bool + + + Add an entry point to the list of entry points. + + @param ord: ordinal number if ordinal number is equal to 'ea' then + ordinal is not used (C++: uval_t) + @param ea: linear address (C++: ea_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to the regular + comment. If name == NULL, then the old name will be + retained. (C++: const char *) + @param makecode: should the kernel convert bytes at the entry point to + instruction(s) (C++: bool) + @param flags: See AEF_* (C++: int) + @return: success (currently always true) + +Help on function get_entry in module ida_entry: + +get_entry(*args) + get_entry(ord) -> ea_t + + + Get entry point address by its ordinal + + @param ord: ordinal number of entry point (C++: uval_t) + @return: address or BADADDR + +Help on function get_entry_forwarder in module ida_entry: + +get_entry_forwarder(*args) + get_entry_forwarder(ord) -> str + + + Get forwarder name for the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry forwarder name or -1 + +Help on function get_entry_name in module ida_entry: + +get_entry_name(*args) + get_entry_name(ord) -> str + + + Get name of the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry name or -1 + +Help on function get_entry_ordinal in module ida_entry: + +get_entry_ordinal(*args) + get_entry_ordinal(idx) -> uval_t + + + Get ordinal number of an entry point. + + @param idx: internal number of entry point. Should be in the range 0.. + get_entry_qty() -1 (C++: size_t) + @return: ordinal number or 0. + +Help on function get_entry_qty in module ida_entry: + +get_entry_qty(*args) + get_entry_qty() -> size_t + + + Get number of entry points. + +Help on function rename_entry in module ida_entry: + +rename_entry(*args) + rename_entry(ord, name, flags=0) -> bool + + + Rename entry point. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to a repeatable + comment. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +Help on function set_entry_forwarder in module ida_entry: + +set_entry_forwarder(*args) + set_entry_forwarder(ord, name, flags=0) -> bool + + + Set forwarder name for ordinal. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: forwarder name for entry point. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +=== ida_entry EPYDOC INJECTIONS === +ida_entry.AEF_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly Specifying AEF_IDBENC also implies AEF_NODUMMY +""" + +ida_entry.AEF_NODUMMY +""" +it begins with a dummy suffix. See also AEF_IDBENC + +automatically prepend the name with '_' if +""" + +ida_entry.AEF_UTF8 +""" +the name is given in UTF-8 (default) +""" +=== ida_entry EPYDOC INJECTIONS END === +Help on function add_enum in module ida_enum: + +add_enum(*args) + add_enum(idx, name, flag) -> enum_t + + + Add new enum type.if idx== 'BADADDR' then add as the last idxif + name==NULL then generate a unique name "enum_%d" + + @param idx (C++: size_t) + @param name (C++: const char *) + @param flag (C++: flags_t) + +Help on function add_enum_member in module ida_enum: + +add_enum_member(*args) + add_enum_member(id, name, value, bmask=(bmask_t(-1))) -> int + + + Add member to enum type. + + @param id (C++: enum_t) + @param name (C++: const char *) + @param value (C++: uval_t) + @param bmask (C++: bmask_t) + @return: 0 if ok, otherwise one of Add enum member result codes + +Help on function del_enum in module ida_enum: + +del_enum(*args) + del_enum(id) + + + Delete an enum type. + + + @param id (C++: enum_t) + +Help on function del_enum_member in module ida_enum: + +del_enum_member(*args) + del_enum_member(id, value, serial, bmask) -> bool + + + Delete member of enum type. + + + @param id (C++: enum_t) + @param value (C++: uval_t) + @param serial (C++: uchar) + @param bmask (C++: bmask_t) + +Help on class enum_member_visitor_t in module ida_enum: + +class enum_member_visitor_t(__builtin__.object) + | Proxy of C++ enum_member_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> enum_member_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_enum_member(self, *args) + | visit_enum_member(self, cid, value) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enum_member_visitor_t(self) + +Help on function for_all_enum_members in module ida_enum: + +for_all_enum_members(*args) + for_all_enum_members(id, cv) -> int + + + Visit all members of a given enum. + + + @param id (C++: enum_t) + @param cv (C++: enum_member_visitor_t &) + +Help on function get_bmask_cmt in module ida_enum: + +get_bmask_cmt(*args) + get_bmask_cmt(id, bmask, repeatable) -> str + +Help on function get_bmask_name in module ida_enum: + +get_bmask_name(*args) + get_bmask_name(id, bmask) -> str + +Help on function get_enum in module ida_enum: + +get_enum(*args) + get_enum(name) -> enum_t + + + Get enum by name. + + + @param name (C++: const char *) + +Help on function get_enum_cmt in module ida_enum: + +get_enum_cmt(*args) + get_enum_cmt(id, repeatable) -> str + + + Get enum comment. + + + @param id (C++: enum_t) + @param repeatable (C++: bool) + +Help on function get_enum_flag in module ida_enum: + +get_enum_flag(*args) + get_enum_flag(id) -> flags_t + + + Get flags determining the representation of the enum. (currently they + define the numeric base: octal, decimal, hex, bin) and signness. + + @param id (C++: enum_t) + +Help on function get_enum_idx in module ida_enum: + +get_enum_idx(*args) + get_enum_idx(id) -> uval_t + + + Get serial number of enum. The serial number determines the place of + the enum in the enum window. + + @param id (C++: enum_t) + +Help on function get_enum_member in module ida_enum: + +get_enum_member(*args) + get_enum_member(id, value, serial, mask) -> const_t + + + Find an enum member by enum, value and bitmaskif serial -1, return a + member with any serial + + @param id (C++: enum_t) + @param value (C++: uval_t) + @param serial (C++: int) + @param mask (C++: bmask_t) + +Help on function get_enum_member_bmask in module ida_enum: + +get_enum_member_bmask(*args) + get_enum_member_bmask(id) -> bmask_t + + + Get bitmask of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_by_name in module ida_enum: + +get_enum_member_by_name(*args) + get_enum_member_by_name(name) -> const_t + + + Get a reference to an enum member by its name. + + + @param name (C++: const char *) + +Help on function get_enum_member_cmt in module ida_enum: + +get_enum_member_cmt(*args) + get_enum_member_cmt(id, repeatable) -> str + + + Get enum member's comment. + + + @param id (C++: const_t) + @param repeatable (C++: bool) + +Help on function get_enum_member_enum in module ida_enum: + +get_enum_member_enum(*args) + get_enum_member_enum(id) -> enum_t + + + Get the parent enum of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_name in module ida_enum: + +get_enum_member_name(*args) + get_enum_member_name(id) -> str + + + Get name of an enum member by const_t. + + + @param id (C++: const_t) + +Help on function get_enum_member_serial in module ida_enum: + +get_enum_member_serial(*args) + get_enum_member_serial(cid) -> uchar + + + Get serial number of an enum member. + + + @param cid (C++: const_t) + +Help on function get_enum_member_value in module ida_enum: + +get_enum_member_value(*args) + get_enum_member_value(id) -> uval_t + + + Get value of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_name in module ida_enum: + +get_enum_name(*args) + get_enum_name(id) -> str + + + Get name of enum. + + + @param id (C++: enum_t) + +Help on function get_enum_name2 in module ida_enum: + +get_enum_name2(*args) + get_enum_name2(id, flags=0) -> str + + + Get name of enum + + @param id: enum id (C++: enum_t) + @param flags: Enum name flags (C++: int) + +Help on function get_enum_qty in module ida_enum: + +get_enum_qty(*args) + get_enum_qty() -> size_t + + + Get number of declared 'enum_t' types. + +Help on function get_enum_size in module ida_enum: + +get_enum_size(*args) + get_enum_size(id) -> size_t + + + Get the number of the members of the enum. + + + @param id (C++: enum_t) + +Help on function get_enum_type_ordinal in module ida_enum: + +get_enum_type_ordinal(*args) + get_enum_type_ordinal(id) -> int32 + + + Get corresponding type ordinal number. + + + @param id (C++: enum_t) + +Help on function get_enum_width in module ida_enum: + +get_enum_width(*args) + get_enum_width(id) -> size_t + + + Get the width of a enum element allowed values: 0 + (unspecified),1,2,4,8,16,32,64 + + @param id (C++: enum_t) + +Help on function get_first_bmask in module ida_enum: + +get_first_bmask(*args) + get_first_bmask(id) -> bmask_t + + + Get first bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the smallest bitmask for enum, or DEFMASK + +Help on function get_first_enum_member in module ida_enum: + +get_first_enum_member(*args) + get_first_enum_member(id, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_first_serial_enum_member in module ida_enum: + +get_first_serial_enum_member(*args) + get_first_serial_enum_member(id, value, bmask) -> const_t + +Help on function get_last_bmask in module ida_enum: + +get_last_bmask(*args) + get_last_bmask(id) -> bmask_t + + + Get last bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the biggest bitmask for enum, or DEFMASK + +Help on function get_last_enum_member in module ida_enum: + +get_last_enum_member(*args) + get_last_enum_member(id, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_last_serial_enum_member in module ida_enum: + +get_last_serial_enum_member(*args) + get_last_serial_enum_member(id, value, bmask) -> const_t + +Help on function get_next_bmask in module ida_enum: + +get_next_bmask(*args) + get_next_bmask(id, bmask) -> bmask_t + + + Get next bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value higher than the specified + value, or DEFMASK + +Help on function get_next_enum_member in module ida_enum: + +get_next_enum_member(*args) + get_next_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_next_serial_enum_member in module ida_enum: + +get_next_serial_enum_member(*args) + get_next_serial_enum_member(in_out_serial, first_cid) -> const_t + +Help on function get_prev_bmask in module ida_enum: + +get_prev_bmask(*args) + get_prev_bmask(id, bmask) -> bmask_t + + + Get prev bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value lower than the specified value, + or DEFMASK + +Help on function get_prev_enum_member in module ida_enum: + +get_prev_enum_member(*args) + get_prev_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_prev_serial_enum_member in module ida_enum: + +get_prev_serial_enum_member(*args) + get_prev_serial_enum_member(in_out_serial, first_cid) -> const_t + +Help on function getn_enum in module ida_enum: + +getn_enum(*args) + getn_enum(n) -> enum_t + + + Get enum by its ordinal number (0..n). + + + @param n (C++: size_t) + +Help on function is_bf in module ida_enum: + +is_bf(*args) + is_bf(id) -> bool + + + Is enum a bitfield? (otherwise - plain enum, no bitmasks except for + 'DEFMASK' are allowed) + + @param id (C++: enum_t) + +Help on function is_enum_fromtil in module ida_enum: + +is_enum_fromtil(*args) + is_enum_fromtil(id) -> bool + + + Does enum come from type library? + + + @param id (C++: enum_t) + +Help on function is_enum_hidden in module ida_enum: + +is_enum_hidden(*args) + is_enum_hidden(id) -> bool + + + Is enum collapsed? + + + @param id (C++: enum_t) + +Help on function is_ghost_enum in module ida_enum: + +is_ghost_enum(*args) + is_ghost_enum(id) -> bool + + + Is a ghost copy of a local type? + + + @param id (C++: enum_t) + +Help on function is_one_bit_mask in module ida_enum: + +is_one_bit_mask(*args) + is_one_bit_mask(mask) -> bool + + + Is bitmask one bit? + + + @param mask (C++: bmask_t) + +Help on function set_bmask_cmt in module ida_enum: + +set_bmask_cmt(*args) + set_bmask_cmt(id, bmask, cmt, repeatable) -> bool + +Help on function set_bmask_name in module ida_enum: + +set_bmask_name(*args) + set_bmask_name(id, bmask, name) -> bool + +Help on function set_enum_bf in module ida_enum: + +set_enum_bf(*args) + set_enum_bf(id, bf) -> bool + + + Set 'bitfield' bit of enum (i.e. convert it to a bitfield) + + + @param id (C++: enum_t) + @param bf (C++: bool) + +Help on function set_enum_cmt in module ida_enum: + +set_enum_cmt(*args) + set_enum_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum type. + + + @param id (C++: enum_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_flag in module ida_enum: + +set_enum_flag(*args) + set_enum_flag(id, flag) -> bool + + + Set data representation flags. + + + @param id (C++: enum_t) + @param flag (C++: flags_t) + +Help on function set_enum_fromtil in module ida_enum: + +set_enum_fromtil(*args) + set_enum_fromtil(id, fromtil) -> bool + + + Specify that enum comes from a type library. + + + @param id (C++: enum_t) + @param fromtil (C++: bool) + +Help on function set_enum_ghost in module ida_enum: + +set_enum_ghost(*args) + set_enum_ghost(id, ghost) -> bool + + + Specify that enum is a ghost copy of a local type. + + + @param id (C++: enum_t) + @param ghost (C++: bool) + +Help on function set_enum_hidden in module ida_enum: + +set_enum_hidden(*args) + set_enum_hidden(id, hidden) -> bool + + + Collapse enum. + + + @param id (C++: enum_t) + @param hidden (C++: bool) + +Help on function set_enum_idx in module ida_enum: + +set_enum_idx(*args) + set_enum_idx(id, idx) -> bool + + + Set serial number of enum. Also see 'get_enum_idx()' . + + @param id (C++: enum_t) + @param idx (C++: size_t) + +Help on function set_enum_member_cmt in module ida_enum: + +set_enum_member_cmt(*args) + set_enum_member_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum member. + + + @param id (C++: const_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_member_name in module ida_enum: + +set_enum_member_name(*args) + set_enum_member_name(id, name) -> bool + + + Set name of enum member. + + + @param id (C++: const_t) + @param name (C++: const char *) + +Help on function set_enum_name in module ida_enum: + +set_enum_name(*args) + set_enum_name(id, name) -> bool + + + Set name of enum type. + + + @param id (C++: enum_t) + @param name (C++: const char *) + +Help on function set_enum_type_ordinal in module ida_enum: + +set_enum_type_ordinal(*args) + set_enum_type_ordinal(id, ord) + + + Set corresponding type ordinal number. + + + @param id (C++: enum_t) + @param ord (C++: int32) + +Help on function set_enum_width in module ida_enum: + +set_enum_width(*args) + set_enum_width(id, width) -> bool + + + See comment for 'get_enum_width()' + + + @param id (C++: enum_t) + @param width (C++: int) + +=== ida_enum EPYDOC INJECTIONS === +ida_enum.DEFMASK +""" +default bitmask +""" + +ida_enum.ENFL_REGEX +""" +apply regular expressions to beautify the name +""" + +ida_enum.ENUM_MEMBER_ERROR_ENUM +""" +bad enum id +""" + +ida_enum.ENUM_MEMBER_ERROR_ILLV +""" +bad bmask and value combination (~bmask & value != 0) +""" + +ida_enum.ENUM_MEMBER_ERROR_MASK +""" +bad bmask +""" + +ida_enum.ENUM_MEMBER_ERROR_NAME +""" +already have member with this name (bad name) +""" + +ida_enum.ENUM_MEMBER_ERROR_VALUE +""" +already have 256 members with this value +""" +=== ida_enum EPYDOC INJECTIONS END === +Help on class _IdcFunction in module ida_expr: + +class _IdcFunction(__builtin__.object) + | Internal class that calls pyw_call_idc_func() with a context + | + | Methods defined here: + | + | __call__(self, args, res) + | + | __init__(self, ctxptr) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fp_ptr + +Help on function add_idc_class in module ida_expr: + +add_idc_class(*args) + add_idc_class(name, super=None) -> idc_class_t * + + + Create a new IDC class. + + @param name: name of the new class (C++: const char *) + @param super: the base class for the new class. if the new class is + not based on any other class, pass NULL (C++: const + idc_class_t *) + @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. + +Help on function add_idc_func in module ida_expr: + +add_idc_func(name, fp, args, defvals=None, flags=0) + Extends the IDC language by exposing a new IDC function that is backed up by a Python function + + @param name: IDC function name to expose + @param fp: Python callable that will receive the arguments and return a tuple. + @param args: Arguments. A tuple of idaapi.VT_XXX constants + @param flags: IDC function flags. A combination of EXTFUN_XXX constants + + @return: Boolean + + + 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 + ", 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, NULL, 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"); + + If the function already exists, it will be replaced by the new + function + + @return: success + +Help on function add_idc_gvar in module ida_expr: + +add_idc_gvar(*args) + add_idc_gvar(name) -> idc_value_t + + + Add global IDC variable. + + @param name: name of the global variable (C++: const char *) + @return: pointer to the created variable or existing variable. NB: the + returned pointer is valid until a new global var is added. + +Help on function compile_idc_file in module ida_expr: + +compile_idc_file(*args) + compile_idc_file(nonnul_line) -> str + +Help on function compile_idc_snippet in module ida_expr: + +compile_idc_snippet(*args) + compile_idc_snippet(func, text, resolver=None, only_safe_funcs=False) -> str + + + Compile text with IDC statements. + + @param func: name of the function to create out of the snippet (C++: + const char *) + @param text: text to compile (C++: const char *) + @param resolver: callback object to get values of undefined variables + This object will be called if IDC function contains + references to undefined variables. May be NULL. (C++: + idc_resolver_t *) + @param only_safe_funcs: if true, any calls to functions without + EXTFUN_SAFE flag will lead to a compilation + error. (C++: bool) + +Help on function compile_idc_text in module ida_expr: + +compile_idc_text(*args) + compile_idc_text(nonnul_line) -> str + +Help on function copy_idcv in module ida_expr: + +copy_idcv(*args) + 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 &) + +Help on function create_idcv_ref in module ida_expr: + +create_idcv_ref(*args) + create_idcv_ref(ref, v) -> bool + + + Create a variable reference. Currently only references to global + variables can be created. + + @param ref: ptr to the result (C++: idc_value_t *) + @param v: variable to reference (C++: const idc_value_t *) + @return: success + +Help on function deep_copy_idcv in module ida_expr: + +deep_copy_idcv(*args) + 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 &) + +Help on function del_idc_func in module ida_expr: + +del_idc_func(name) + Unregisters the specified IDC function + + @param name: IDC function name to unregister + + @return: Boolean + + + Delete an IDC function + +Help on function del_idcv_attr in module ida_expr: + +del_idcv_attr(*args) + del_idcv_attr(obj, attr) -> error_t + + + Delete an object attribute. + + @param obj: variable that holds an object reference (C++: idc_value_t + *) + @param attr: attribute name (C++: const char *) + @return: error code, eOk on success + +Help on function deref_idcv in module ida_expr: + +deref_idcv(*args) + deref_idcv(v, vref_flags) -> idc_value_t + + + Dereference a 'VT_REF' variable. + + @param v: variable to dereference (C++: idc_value_t *) + @param vref_flags: Dereference IDC variable flags (C++: int) + @return: pointer to the dereference result or NULL. If returns NULL, + qerrno is set to eExecBadRef "Illegal variable reference" + +Help on function eval_expr in module ida_expr: + +eval_expr(*args) + eval_expr(rv, where, line) -> str + + + Compile and calculate an expression. + + @param rv: pointer to the result (C++: idc_value_t *) + @param where: 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 . (C++: ea_t) + @param line: the expression to evaluate (C++: const char *) + +Help on function eval_idc_expr in module ida_expr: + +eval_idc_expr(*args) + 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) + +Help on function exec_idc_script in module ida_expr: + +exec_idc_script(*args) + exec_idc_script(result, path, func, args, argsnum) -> str + + + Compile and execute IDC function(s) from file. + + @param result: ptr to idc_value_t to hold result of the function. If + execution fails, this variable will contain the + exception information. You may pass NULL if you are not + interested in the returned value. (C++: idc_value_t *) + @param path: text file containing text of IDC functions (C++: const + char *) + @param func: function name to execute (C++: const char *) + @param args: array of parameters (C++: const idc_value_t) + @param argsnum: number of parameters to pass to 'fname' This number + should be equal to number of parameters the function + expects. (C++: size_t) + +Help on function exec_system_script in module ida_expr: + +exec_system_script(*args) + exec_system_script(file, complain_if_no_file=True) -> bool + + + Compile and execute "main" function from system file. + + @param file: file name with IDC function(s). The file will be searched + in the idc subdir of ida (C++: const char *) + @param complain_if_no_file: 1: display warning if the file is not + found 0: don't complain if file doesn't + exist (C++: bool) + +Help on function find_idc_class in module ida_expr: + +find_idc_class(*args) + find_idc_class(name) -> idc_class_t * + + + Find an existing IDC class by its name. + + @param name: name of the class (C++: const char *) + @return: pointer to the class or NULL. The returned pointer is valid + until a new call to add_idc_class() + +Help on function find_idc_func in module ida_expr: + +find_idc_func(*args) + find_idc_func(prefix, n=0) -> str + +Help on function find_idc_gvar in module ida_expr: + +find_idc_gvar(*args) + find_idc_gvar(name) -> idc_value_t + + + Find an existing global IDC variable by its name. + + @param name: name of the global variable (C++: const char *) + @return: pointer to the variable or NULL. 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 + +Help on function first_idcv_attr in module ida_expr: + +first_idcv_attr(*args) + first_idcv_attr(obj) -> char const * + +Help on function free_idcv in module ida_expr: + +free_idcv(*args) + 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 *) + +Help on function get_idc_filename in module ida_expr: + +get_idc_filename(*args) + get_idc_filename(file) -> str + + + Get full name of IDC file name. Search for file in list of include + directories, IDCPATH directory and the current directory. + + @param file: file name without full path (C++: const char *) + @return: NULL is file not found. otherwise returns pointer to buf + +Help on function get_idcv_attr in module ida_expr: + +get_idcv_attr(*args) + get_idcv_attr(res, obj, attr, may_use_getattr=False) -> error_t + + + Get an object attribute. + + @param res: buffer for the attribute value (C++: idc_value_t *) + @param obj: variable that holds an object reference. if obj is NULL it + searches global variables, then user functions (C++: const + idc_value_t *) + @param attr: attribute name (C++: const char *) + @param may_use_getattr: may call getattr functions to calculate the + attribute if it does not exist (C++: bool) + @return: error code, eOk on success + +Help on function get_idcv_class_name in module ida_expr: + +get_idcv_class_name(*args) + get_idcv_class_name(obj) -> str + + + Retrieves the IDC object class name. + + @param obj: class instance variable (C++: const idc_value_t *) + @return: error code, eOk on success + +Help on function get_idcv_slice in module ida_expr: + +get_idcv_slice(*args) + get_idcv_slice(res, v, i1, i2, flags=0) -> error_t + + + Get slice. + + @param res: output variable that will contain the slice (C++: + idc_value_t *) + @param v: input variable (string or object) (C++: const idc_value_t + *) + @param i1: slice start index (C++: uval_t) + @param i2: slice end index (excluded) (C++: uval_t) + @param flags: IDC variable slice flags or 0 (C++: int) + @return: eOk if success + +Help on class highlighter_cbs_t in module ida_expr: + +class highlighter_cbs_t(__builtin__.object) + | Proxy of C++ highlighter_cbs_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> highlighter_cbs_t + | + | __repr__ = _swig_repr(self) + | + | cur_block_state(self, *args) + | cur_block_state(self) -> int32 + | + | prev_block_state(self, *args) + | prev_block_state(self) -> int32 + | + | set_block_state(self, *args) + | set_block_state(self, arg0) + | + | set_style(self, *args) + | set_style(self, arg0, arg1, arg2) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_highlighter_cbs_t(self) + +Help on class idc_global_t in module ida_expr: + +class idc_global_t(__builtin__.object) + | Proxy of C++ idc_global_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idc_global_t + | __init__(self, n) -> idc_global_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | idc_global_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | idc_global_t_value_get(self) -> idc_value_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idc_global_t(self) + +Help on class idc_value_t in module ida_expr: + +class idc_value_t(__builtin__.object) + | Proxy of C++ idc_value_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=0) -> idc_value_t + | __init__(self, r) -> idc_value_t + | __init__(self, _str) -> idc_value_t + | + | __repr__ = _swig_repr(self) + | + | _create_empty_string(self, *args) + | _create_empty_string(self) + | + | _idc_value_t__get_e = __get_e(self, *args) + | __get_e(self) -> wrapped_array_t< ushort,6 > + | + | c_str(self, *args) + | c_str(self) -> char const * + | + | clear(self, *args) + | clear(self) + | + | create_empty_string(self, *args) + | create_empty_string(self) + | + | is_convertible(self, *args) + | is_convertible(self) -> bool + | + | is_integral(self, *args) + | is_integral(self) -> bool + | + | is_zero(self, *args) + | is_zero(self) -> bool + | + | qstr(self, *args) + | qstr(self) -> qstring + | qstr(self) -> qstring const & + | + | set_float(self, *args) + | set_float(self, f) + | + | set_int64(self, *args) + | set_int64(self, v) + | + | set_long(self, *args) + | set_long(self, v) + | + | set_pvoid(self, *args) + | set_pvoid(self, p) + | + | set_string(self, *args) + | set_string(self, _str, len) + | set_string(self, _str) + | + | swap(self, *args) + | swap(self, v) + | + | u_str(self, *args) + | u_str(self) -> uchar const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | __get_e(self) -> wrapped_array_t< ushort,6 > + | + | funcidx + | idc_value_t_funcidx_get(self) -> int + | + | i64 + | idc_value_t_i64_get(self) -> int64 + | + | num + | idc_value_t_num_get(self) -> sval_t + | + | obj + | idc_value_t_obj_get(self) -> idc_object_t * + | + | pvoid + | idc_value_t_pvoid_get(self) -> void * + | + | reserve + | idc_value_t_reserve_get(self) -> uchar [sizeof(qstring)] + | + | str + | + | thisown + | The membership flag + | + | vtype + | idc_value_t_vtype_get(self) -> char + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idc_value_t(self) + +Help on class idc_values_t in module ida_expr: + +class idc_values_t(__builtin__.object) + | Proxy of C++ qvector< idc_value_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> idc_value_t + | + | __init__(self, *args) + | __init__(self) -> idc_values_t + | __init__(self, x) -> idc_values_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> idc_value_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> idc_value_t + | begin(self) -> idc_value_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> idc_value_t + | end(self) -> idc_value_t + | + | erase(self, *args) + | erase(self, it) -> idc_value_t + | erase(self, first, last) -> idc_value_t + | + | extract(self, *args) + | extract(self) -> idc_value_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=idc_value_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> idc_value_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> idc_value_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idc_values_t(self) + +Help on function idcv_float in module ida_expr: + +idcv_float(*args) + idcv_float(v) -> error_t + + + Convert IDC variable to a floating point. + + + @param v (C++: idc_value_t *) + +Help on function idcv_int64 in module ida_expr: + +idcv_int64(*args) + 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 + +Help on function idcv_long in module ida_expr: + +idcv_long(*args) + 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 + +Help on function idcv_num in module ida_expr: + +idcv_num(*args) + 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 + +Help on function idcv_object in module ida_expr: + +idcv_object(*args) + idcv_object(v, icls=None) -> error_t + + + Create an IDC object. The original value of 'v' is discarded (freed). + + @param v: variable to hold the object. any previous value will be + cleaned (C++: idc_value_t *) + @param icls: ptr to the desired class. NULL means "object" class this + ptr must be returned by add_idc_class() or + find_idc_class() (C++: const idc_class_t *) + @return: always eOk + +Help on function idcv_string in module ida_expr: + +idcv_string(*args) + idcv_string(v) -> error_t + + + Convert IDC variable to a text string. + + + @param v (C++: idc_value_t *) + +Help on function last_idcv_attr in module ida_expr: + +last_idcv_attr(*args) + last_idcv_attr(obj) -> char const * + +Help on function move_idcv in module ida_expr: + +move_idcv(*args) + 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 *) + +Help on function next_idcv_attr in module ida_expr: + +next_idcv_attr(*args) + next_idcv_attr(obj, attr) -> char const * + +Help on function prev_idcv_attr in module ida_expr: + +prev_idcv_attr(*args) + prev_idcv_attr(obj, attr) -> char const * + +Help on function print_idcv in module ida_expr: + +print_idcv(*args) + print_idcv(v, name=None, indent=0) -> str + + + Get text representation of 'idc_value_t' . + + + @param v (C++: const idc_value_t &) + @param name (C++: const char *) + @param indent (C++: int) + +Help on function py_add_idc_func in module ida_expr: + +py_add_idc_func(*args) + py_add_idc_func(name, fp_ptr, args, defvals, flags) -> bool + +Help on function py_get_call_idc_func in module ida_expr: + +py_get_call_idc_func(*args) + py_get_call_idc_func() -> size_t + +Help on function pyw_convert_defvals in module ida_expr: + +pyw_convert_defvals(*args) + pyw_convert_defvals(out, py_seq) -> bool + +Help on function pyw_register_idc_func in module ida_expr: + +pyw_register_idc_func(*args) + pyw_register_idc_func(name, args, py_fp) -> size_t + +Help on function pyw_unregister_idc_func in module ida_expr: + +pyw_unregister_idc_func(*args) + pyw_unregister_idc_func(ctxptr) -> bool + +Help on function set_header_path in module ida_expr: + +set_header_path(*args) + 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: list of directories to add (separated by ';') may be + NULL, in this case nothing is added (C++: const char *) + @param add: true: append. false: remove old paths. (C++: bool) + +Help on function set_idcv_attr in module ida_expr: + +set_idcv_attr(*args) + set_idcv_attr(obj, attr, value, may_use_setattr=False) -> error_t + + + Set an object attribute. + + @param obj: variable that holds an object reference. if obj is NULL + then it tries to modify a global variable with the + attribute name (C++: idc_value_t *) + @param attr: attribute name (C++: const char *) + @param value: new attribute value (C++: const idc_value_t &) + @param may_use_setattr: may call setattr functions for the class (C++: + bool) + @return: error code, eOk on success + +Help on function set_idcv_slice in module ida_expr: + +set_idcv_slice(*args) + set_idcv_slice(v, i1, i2, _in, flags=0) -> error_t + + + Set slice. + + @param v: variable to modify (string or object) (C++: idc_value_t *) + @param i1: slice start index (C++: uval_t) + @param i2: slice end index (excluded) (C++: uval_t) + @param flags: IDC variable slice flags or 0 (C++: int) + @return: eOk on success + +Help on function swap_idcvs in module ida_expr: + +swap_idcvs(*args) + swap_idcvs(v1, v2) + + + Swap 2 variables. + + + @param v1 (C++: idc_value_t *) + @param v2 (C++: idc_value_t *) + +Help on function throw_idc_exception in module ida_expr: + +throw_idc_exception(*args) + 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: object to hold the exception object (C++: idc_value_t *) + @param desc: exception description (C++: const char *) + @return: eExecThrow + +=== ida_expr EPYDOC INJECTIONS === +ida_expr.CPL_DEL_MACROS +""" +delete macros at the end of compilation +""" + +ida_expr.CPL_ONLY_SAFE +""" +allow calls of only thread-safe functions +""" + +ida_expr.CPL_USE_LABELS +""" +allow program labels in the script +""" + +ida_expr.IDC_LANG_EXT +""" +IDC script extension. +""" + +ida_expr.VARSLICE_SINGLE +""" +return single index (i2 is ignored) +""" + +ida_expr.VREF_COPY +""" +copy the result to the input var (v) +""" + +ida_expr.VREF_LOOP +""" +dereference until we get a non 'VT_REF' +""" + +ida_expr.VREF_ONCE +""" +dereference only once, do not loop +""" + +ida_expr.VT_FLOAT +""" +Floating point (see 'idc_value_t::e' ) +""" + +ida_expr.VT_FUNC +""" +Function (see 'idc_value_t::funcidx' ) +""" + +ida_expr.VT_INT64 +""" +i64 +""" + +ida_expr.VT_LONG +""" +Integer (see 'idc_value_t::num' ) +""" + +ida_expr.VT_OBJ +""" +Object (see idc_value_t::obj) +""" + +ida_expr.VT_PVOID +""" +void * +""" + +ida_expr.VT_REF +""" +Reference. +""" + +ida_expr.VT_STR +""" +String (see qstr() and similar functions) +""" + +ida_expr.VT_WILD +""" +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' . +""" + +ida_expr.eExecThrow +""" +See return value of 'idc_func_t' . +""" +=== ida_expr EPYDOC INJECTIONS END === +Help on function calc_fixup_size in module ida_fixup: + +calc_fixup_size(*args) + calc_fixup_size(type) -> int + + + Calculate size of fixup in bytes (the number of bytes the fixup + patches) + + @param type (C++: fixup_type_t) + +Help on function contains_fixups in module ida_fixup: + +contains_fixups(*args) + contains_fixups(ea, size) -> bool + + + Does the specified address range contain any fixup information? + + + @param ea (C++: ea_t) + @param size (C++: asize_t) + +Help on function del_fixup in module ida_fixup: + +del_fixup(*args) + del_fixup(source) + + + Delete fixup information. + + + @param source (C++: ea_t) + +Help on function exists_fixup in module ida_fixup: + +exists_fixup(*args) + exists_fixup(source) -> bool + + + Check that a fixup exists at the given address. + + + @param source (C++: ea_t) + +Help on function find_custom_fixup in module ida_fixup: + +find_custom_fixup(*args) + find_custom_fixup(name) -> fixup_type_t + + + Get id of a custom fixup handler. + + @param name: name of the custom fixup handler (C++: const char *) + @return: id with FIXUP_CUSTOM bit set or 0 + +Help on class fixup_data_t in module ida_fixup: + +class fixup_data_t(__builtin__.object) + | Proxy of C++ fixup_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> fixup_data_t + | __init__(self, type_, flags_=0) -> fixup_data_t + | + | __repr__ = _swig_repr(self) + | + | calc_size(self, *args) + | calc_size(self) -> int + | + | clr_extdef(self, *args) + | clr_extdef(self) + | + | clr_unused(self, *args) + | clr_unused(self) + | + | get(self, *args) + | get(self, source) -> bool + | + | get_base(self, *args) + | get_base(self) -> ea_t + | + | get_desc(self, *args) + | get_desc(self, source) -> char const * + | + | get_flags(self, *args) + | get_flags(self) -> uint32 + | + | get_handler(self, *args) + | get_handler(self) -> fixup_handler_t const * + | + | get_type(self, *args) + | get_type(self) -> fixup_type_t + | + | get_value(self, *args) + | get_value(self, ea) -> uval_t + | + | has_base(self, *args) + | has_base(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_extdef(self, *args) + | is_extdef(self) -> bool + | + | is_unused(self, *args) + | is_unused(self) -> bool + | + | patch_value(self, *args) + | patch_value(self, ea) -> bool + | + | set(self, *args) + | set(self, source) + | + | set_base(self, *args) + | set_base(self, new_base) + | + | set_extdef(self, *args) + | set_extdef(self) + | + | set_sel(self, *args) + | set_sel(self, seg) + | + | set_target_sel(self, *args) + | set_target_sel(self) + | + | set_type(self, *args) + | set_type(self, type_) + | + | set_type_and_flags(self, *args) + | set_type_and_flags(self, type_, flags_=0) + | + | set_unused(self, *args) + | set_unused(self) + | + | was_created(self, *args) + | was_created(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | displacement + | fixup_data_t_displacement_get(self) -> adiff_t + | + | off + | fixup_data_t_off_get(self) -> ea_t + | + | sel + | fixup_data_t_sel_get(self) -> sel_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_fixup_data_t(self) + +Help on class fixup_info_t in module ida_fixup: + +class fixup_info_t(__builtin__.object) + | Proxy of C++ fixup_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> fixup_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | fixup_info_t_ea_get(self) -> ea_t + | + | fd + | fixup_info_t_fd_get(self) -> fixup_data_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_fixup_info_t(self) + +Help on function gen_fix_fixups in module ida_fixup: + +gen_fix_fixups(*args) + 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) + +Help on function get_first_fixup_ea in module ida_fixup: + +get_first_fixup_ea(*args) + get_first_fixup_ea() -> ea_t + + + Get the first address with fixup information + + @return: the first address with fixup information, or BADADDR + +Help on function get_fixup in module ida_fixup: + +get_fixup(*args) + get_fixup(fd, source) -> bool + + + Get fixup information. + + + @param fd (C++: fixup_data_t *) + @param source (C++: ea_t) + +Help on function get_fixup_desc in module ida_fixup: + +get_fixup_desc(*args) + get_fixup_desc(source, fd) -> str + + + Get FIXUP description comment. + + + @param source (C++: ea_t) + @param fd (C++: const fixup_data_t &) + +Help on function get_fixup_handler in module ida_fixup: + +get_fixup_handler(*args) + get_fixup_handler(type) -> fixup_handler_t const * + + + Get handler of standard or custom fixup. + + + @param type (C++: fixup_type_t) + +Help on function get_fixup_value in module ida_fixup: + +get_fixup_value(*args) + 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 'patch_fixup_value()' `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. + 'fixup_handler_t::size' + + @param ea: address to get fixup bytes from, the size of the fixup + bytes depends on the fixup type. (C++: ea_t) + @param type (C++: fixup_type_t) + +Help on function get_fixups in module ida_fixup: + +get_fixups(*args) + get_fixups(out, ea, size) -> bool + +Help on function get_next_fixup_ea in module ida_fixup: + +get_next_fixup_ea(*args) + get_next_fixup_ea(ea) -> ea_t + + + Find next address with fixup information + + @param ea: current address (C++: ea_t) + @return: the next address with fixup information, or BADADDR + +Help on function get_prev_fixup_ea in module ida_fixup: + +get_prev_fixup_ea(*args) + get_prev_fixup_ea(ea) -> ea_t + + + Find previous address with fixup information + + @param ea: current address (C++: ea_t) + @return: the previous address with fixup information, or BADADDR + +Help on function is_fixup_custom in module ida_fixup: + +is_fixup_custom(*args) + is_fixup_custom(type) -> bool + + + Is fixup processed by processor module? + + + @param type (C++: fixup_type_t) + +Help on function patch_fixup_value in module ida_fixup: + +patch_fixup_value(*args) + 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. 'fixup_handler_t::size' + + @param ea: address where data are changed, the size of the changed + data depends on the fixup type. (C++: ea_t) + @param fd (C++: const fixup_data_t &) + +Help on function set_fixup in module ida_fixup: + +set_fixup(*args) + 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: the fixup source address, i.e. the address modified by + the fixup (C++: ea_t) + @param fd: fixup data (C++: const fixup_data_t &) + +=== ida_fixup EPYDOC INJECTIONS === +ida_fixup.FIXUPF_CREATED +""" +fixup was not present in the input file +""" + +ida_fixup.FIXUPF_EXTDEF +""" +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. +""" + +ida_fixup.FIXUPF_LOADER_MASK +""" +additional flags. The bits from this mask are not stored in the +database and can be used by the loader at its discretion. +""" + +ida_fixup.FIXUPF_REL +""" +fixup is relative to the linear address `base' . Otherwise fixup is +relative to the start of the segment with `sel' selector. +""" + +ida_fixup.FIXUPF_UNUSED +""" +fixup is ignored by IDAdisallows the kernel to convert operandsthis +fixup is not used during output +""" +=== ida_fixup EPYDOC INJECTIONS END === +Help on class qfile_t in module ida_fpro: + +class qfile_t(__builtin__.object) + | Proxy of C++ qfile_t class. + | + | + | A helper class to work with FILE related functions. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, rhs) -> qfile_t + | __init__(self, pycapsule=None) -> qfile_t + | + | + | Closes the file + | + | __repr__ = _swig_repr(self) + | + | close(self, *args) + | close(self) + | + | filename(self, *args) + | filename(self) -> PyObject * + | + | flush(self, *args) + | flush(self) -> int + | + | + | Reads a single byte from the file. Returns None if EOF or the read byte + | + | get_char(self, *args) + | get_char(self) -> PyObject * + | + | get_fp(self, *args) + | get_fp(self) -> FILE * + | + | gets(self, *args) + | gets(self, size) -> PyObject * + | + | + | Reads a line from the input file. Returns the read line or None + | + | open(self, *args) + | open(self, filename, mode) -> bool + | + | + | Opens a file + | + | @param filename: the file name + | @param mode: The mode string, ala fopen() style + | @return: Boolean + | + | opened(self, *args) + | opened(self) -> bool + | + | + | Checks if the file is opened or not + | + | put_char(self, *args) + | put_char(self, chr) -> int + | + | puts(self, *args) + | puts(self, str) -> int + | + | read(self, *args) + | read(self, size) -> PyObject * + | + | + | Reads from the file. Returns the buffer or None + | + | readbytes(self, *args) + | readbytes(self, size, big_endian) -> PyObject * + | + | + | Similar to read() but it respect the endianness + | + | seek(self, *args) + | seek(self, offset, whence=SEEK_SET) -> int + | + | + | Set input source position + | @return: the new position (not 0 as fseek!) + | + | size(self, *args) + | size(self) -> int64 + | + | tell(self, *args) + | tell(self) -> int64 + | + | + | Returns the current position + | + | write(self, *args) + | write(self, py_buf) -> int + | + | + | Writes to the file. Returns 0 or the number of bytes written + | + | writebytes(self, *args) + | writebytes(self, py_buf, big_endian) -> int + | + | + | Similar to write() but it respect the endianness + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | from_capsule(*args) + | from_capsule(pycapsule) -> qfile_t + | + | from_fp(*args) + | from_fp(fp) -> qfile_t + | + | tmpfile(*args) + | tmpfile() -> qfile_t + | + | + | A static method to construct an instance using a temporary file + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __idc_cvt_id__ + | qfile_t___idc_cvt_id___get(self) -> int + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qfile_t(self) + +Help on function qfile_t_from_capsule in module ida_fpro: + +qfile_t_from_capsule(*args) + qfile_t_from_capsule(pycapsule) -> qfile_t + +Help on function qfile_t_from_fp in module ida_fpro: + +qfile_t_from_fp(*args) + qfile_t_from_fp(fp) -> qfile_t + +Help on function qfile_t_tmpfile in module ida_fpro: + +qfile_t_tmpfile(*args) + qfile_t_tmpfile() -> qfile_t + +Help on function add_auto_stkpnt in module ida_frame: + +add_auto_stkpnt(*args) + add_auto_stkpnt(pfn, ea, delta) -> bool + + + Add automatic SP register change point. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address where SP changes. usually this is the end of + the instruction which modifies the stack pointer + (\cmd{ea}+\cmd{size}) (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function add_frame in module ida_frame: + +add_frame(*args) + add_frame(pfn, frsize, frregs, argsize) -> bool + + + Add function frame. + + @param pfn: pointer to function structure (C++: func_t *) + @param frsize: size of function local variables (C++: sval_t) + @param frregs: size of saved registers (C++: ushort) + @param argsize: 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. (C++: asize_t) + +Help on function add_regvar in module ida_frame: + +add_regvar(*args) + add_regvar(pfn, ea1, ea2, canon, user, cmt) -> int + + + Define a register variable. + + @param pfn: function in which the definition will be created (C++: + func_t *) + @param ea1: range of addresses within the function where the + definition will be used (C++: ea_t) + @param ea2: range of addresses within the function where the + definition will be used (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @param user: user-defined name for the register (C++: const char *) + @param cmt: comment for the definition (C++: const char *) + @return: Register variable error codes + +Help on function add_user_stkpnt in module ida_frame: + +add_user_stkpnt(*args) + add_user_stkpnt(ea, delta) -> bool + + + Add user-defined SP register change point. + + @param ea: linear address where SP changes (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function build_stkvar_name in module ida_frame: + +build_stkvar_name(*args) + build_stkvar_name(pfn, v) -> str + + + Build automatic stack variable name. + + @param pfn: pointer to function (can't be NULL!) (C++: const func_t + *) + @param v: value of variable offset (C++: sval_t) + @return: length of stack variable name or -1 + +Help on function build_stkvar_xrefs in module ida_frame: + +build_stkvar_xrefs(*args) + build_stkvar_xrefs(out, pfn, mptr) + + + Fill 'out' with a list of all the xrefs made from function 'pfn', to + the argument or variable 'mptr' in 'pfn's stack frame. + + @param out: the list of xrefs to fill. (C++: xreflist_t *) + @param pfn: the function to scan. (C++: func_t *) + @param mptr: the argument/variable in pfn's stack frame. (C++: const + member_t *) + +Help on function calc_stkvar_struc_offset in module ida_frame: + +calc_stkvar_struc_offset(*args) + calc_stkvar_struc_offset(pfn, insn, n) -> ea_t + + + Calculate offset of stack variable in the frame structure. + + @param pfn: pointer to function (can't be NULL!) (C++: func_t *) + @param insn: the instruction (C++: const insn_t &) + @param n: number of operand: (0.. UA_MAXOP -1) -1 if error, return + BADADDR (C++: int) + @return: BADADDR if some error (issue a warning if stack frame is + bad) + +Help on function define_stkvar in module ida_frame: + +define_stkvar(*args) + define_stkvar(pfn, name, off, flags, ti, nbytes) -> bool + + + Define/redefine a stack variable. + + @param pfn: pointer to function (C++: func_t *) + @param name: variable name, NULL means autogenerate a name (C++: const + char *) + @param off: offset of the stack variable in the frame. negative values + denote local variables, positive - function arguments. + (C++: sval_t) + @param flags: variable type flags ( byte_flag() for a byte variable, + for example) (C++: flags_t) + @param ti: additional type information (like offsets, structs, etc) + (C++: const opinfo_t *) + @param nbytes: number of bytes occupied by the variable (C++: asize_t) + @return: success + +Help on function del_frame in module ida_frame: + +del_frame(*args) + del_frame(pfn) -> bool + + + Delete a function frame. + + @param pfn: pointer to function structure (C++: func_t *) + @return: success + +Help on function del_regvar in module ida_frame: + +del_regvar(*args) + del_regvar(pfn, ea1, ea2, canon) -> int + + + Delete a register variable definition. + + @param pfn: function in question (C++: func_t *) + @param ea1: range of addresses within the function where the + definition holds (C++: ea_t) + @param ea2: range of addresses within the function where the + definition holds (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @return: Register variable error codes + +Help on function del_stkpnt in module ida_frame: + +del_stkpnt(*args) + del_stkpnt(pfn, ea) -> bool + + + Delete SP register change point. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: success + +Help on function delete_unreferenced_stkvars in module ida_frame: + +delete_unreferenced_stkvars(*args) + delete_unreferenced_stkvars(pfn) -> int + +Help on function delete_wrong_stkvar_ops in module ida_frame: + +delete_wrong_stkvar_ops(*args) + delete_wrong_stkvar_ops(pfn) -> int + +Help on function find_regvar in module ida_frame: + +find_regvar(*args) + find_regvar(pfn, ea1, ea2, canon, user) -> regvar_t + find_regvar(pfn, ea, canon) -> regvar_t + + + Find a register variable definition (powerful version). One of 'canon' + and 'user' should be NULL. If both 'canon' and 'user' are NULL it + returns the first regvar definition in the range. + + @param pfn: function in question (C++: func_t *) + @param ea1: range of addresses to search. ea1==BADADDR means the + entire function (C++: ea_t) + @param ea2: range of addresses to search. ea1==BADADDR means the + entire function (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @param user: user-defined name for the register (C++: const char *) + @return: NULL-not found, otherwise ptr to regvar_t + +Help on function frame_off_args in module ida_frame: + +frame_off_args(*args) + frame_off_args(pfn) -> ea_t + + + Get starting address of arguments section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_lvars in module ida_frame: + +frame_off_lvars(*args) + frame_off_lvars(pfn) -> ea_t + + + Get start address of local variables section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_retaddr in module ida_frame: + +frame_off_retaddr(*args) + frame_off_retaddr(pfn) -> ea_t + + + Get starting address of return address section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_savregs in module ida_frame: + +frame_off_savregs(*args) + frame_off_savregs(pfn) -> ea_t + + + Get starting address of saved registers section. + + + @param pfn (C++: const func_t *) + +Help on function get_effective_spd in module ida_frame: + +get_effective_spd(*args) + 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: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: 0 or the difference, usually a negative number + +Help on function get_frame in module ida_frame: + +get_frame(*args) + get_frame(pfn) -> struc_t + get_frame(ea) -> struc_t * + + + Get pointer to function frame. + + @param pfn: pointer to function structure (C++: const func_t *) + +Help on function get_frame_part in module ida_frame: + +get_frame_part(*args) + get_frame_part(range, pfn, part) + + + Get offsets of the frame part in the frame. + + @param range: pointer to the output buffer with the frame part + start/end(exclusive) offsets, can't be NULL (C++: + range_t *) + @param pfn: pointer to function structure, can't be NULL (C++: const + func_t *) + @param part: frame part (C++: frame_part_t) + +Help on function get_frame_retsize in module ida_frame: + +get_frame_retsize(*args) + get_frame_retsize(pfn) -> int + + + Get size of function return address. + + @param pfn: pointer to function structure, can't be NULL (C++: const + func_t *) + +Help on function get_frame_size in module ida_frame: + +get_frame_size(*args) + 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: pointer to function structure, may be NULL (C++: const + func_t *) + @return: size of frame in bytes or zero + +Help on function get_func_by_frame in module ida_frame: + +get_func_by_frame(*args) + get_func_by_frame(frame_id) -> ea_t + + + Get function by its frame id.this function works only with databases + created by IDA > 5.6 + + @param frame_id: id of the function frame (C++: tid_t) + @return: start address of the function or BADADDR + +Help on function get_min_spd_ea in module ida_frame: + +get_min_spd_ea(*args) + get_min_spd_ea(pfn) -> ea_t + +Help on function get_sp_delta in module ida_frame: + +get_sp_delta(*args) + get_sp_delta(pfn, ea) -> sval_t + + + Get modification of SP made at the specified location + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: 0 if the specified location doesn't contain a SP change + point. otherwise return delta of SP modification. + +Help on function get_spd in module ida_frame: + +get_spd(*args) + get_spd(pfn, ea) -> sval_t + + + Get difference between the initial and current values of ESP. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address of an instruction (C++: ea_t) + @return: 0 or the difference, usually a negative number. returns the + sp-diff before executing the instruction. + +Help on function get_stkvar in module ida_frame: + +get_stkvar(*args) + get_stkvar(insn, op, v) -> PyObject * + + + Get pointer to stack variable + @param op: reference to instruction operand + @param v: immediate value in the operand (usually op.addr) + @return: + - None on failure + - tuple(member_t, actval) + where actval: actual value used to fetch stack variable + +Help on function has_regvar in module ida_frame: + +has_regvar(*args) + has_regvar(pfn, ea) -> bool + + + Is there a register variable definition? + + @param pfn: function in question (C++: func_t *) + @param ea: current address (C++: ea_t) + +Help on function is_funcarg_off in module ida_frame: + +is_funcarg_off(*args) + is_funcarg_off(pfn, frameoff) -> bool + + + Does the given offset lie within the arguments section? + + + @param pfn (C++: const func_t *) + @param frameoff (C++: uval_t) + +Help on class llabel_t in module ida_frame: + +class llabel_t(__builtin__.object) + | Proxy of C++ llabel_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> llabel_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | llabel_t_ea_get(self) -> ea_t + | + | name + | llabel_t_name_get(self) -> char * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_llabel_t(self) + +Help on function lvar_off in module ida_frame: + +lvar_off(*args) + lvar_off(pfn, frameoff) -> sval_t + + + Does the given offset lie within the local variables section? + + + @param pfn (C++: const func_t *) + @param frameoff (C++: uval_t) + +Help on function recalc_spd in module ida_frame: + +recalc_spd(*args) + 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: linear address of the current instruction (C++: ea_t) + +Help on class regvar_t in module ida_frame: + +class regvar_t(ida_range.range_t) + | Proxy of C++ regvar_t class. + | + | Method resolution order: + | regvar_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regvar_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | canon + | regvar_t_canon_get(self) -> char * + | + | cmt + | regvar_t_cmt_get(self) -> char * + | + | thisown + | The membership flag + | + | user + | regvar_t_user_get(self) -> char * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regvar_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on function rename_regvar in module ida_frame: + +rename_regvar(*args) + rename_regvar(pfn, v, user) -> int + + + Rename a register variable. + + @param pfn: function in question (C++: func_t *) + @param v: variable to rename (C++: regvar_t *) + @param user: new user-defined name for the register (C++: const char + *) + @return: Register variable error codes + +Help on function set_frame_size in module ida_frame: + +set_frame_size(*args) + 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 + get_struc_size(get_frame(pfn)). + + @param pfn: pointer to function structure (C++: func_t *) + @param frsize: size of function local variables (C++: asize_t) + @param frregs: size of saved registers (C++: ushort) + @param argsize: size of function arguments that will be purged from + the stack upon return (C++: asize_t) + @return: success + +Help on function set_purged in module ida_frame: + +set_purged(*args) + 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: address of the function of item (C++: ea_t) + @param nbytes: number of purged bytes (C++: int) + @param override_old_value: may overwrite old information about purged + bytes (C++: bool) + @return: success + +Help on function set_regvar_cmt in module ida_frame: + +set_regvar_cmt(*args) + set_regvar_cmt(pfn, v, cmt) -> int + + + Set comment for a register variable. + + @param pfn: function in question (C++: func_t *) + @param v: variable to rename (C++: regvar_t *) + @param cmt: new comment (C++: const char *) + @return: Register variable error codes + +Help on function soff_to_fpoff in module ida_frame: + +soff_to_fpoff(*args) + soff_to_fpoff(pfn, soff) -> sval_t + + + Convert struct offsets into fp-relative offsets. This function + converts the offsets inside the 'struc_t' object into the frame + pointer offsets (for example, EBP-relative). + + @param pfn (C++: func_t *) + @param soff (C++: uval_t) + +Help on class stkpnt_t in module ida_frame: + +class stkpnt_t(__builtin__.object) + | Proxy of C++ stkpnt_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> stkpnt_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | stkpnt_t_ea_get(self) -> ea_t + | + | spd + | stkpnt_t_spd_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_stkpnt_t(self) + +Help on class stkpnts_t in module ida_frame: + +class stkpnts_t(__builtin__.object) + | Proxy of C++ stkpnts_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> stkpnts_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_stkpnts_t(self) + +Help on function update_fpd in module ida_frame: + +update_fpd(*args) + update_fpd(pfn, fpd) -> bool + + + Update frame pointer delta. + + @param pfn: pointer to function structure (C++: func_t *) + @param fpd: new fpd value. cannot be bigger than the local variable + range size. (C++: asize_t) + @return: success + +Help on class xreflist_entry_t in module ida_frame: + +class xreflist_entry_t(__builtin__.object) + | Proxy of C++ xreflist_entry_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> xreflist_entry_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | xreflist_entry_t_ea_get(self) -> ea_t + | + | opnum + | xreflist_entry_t_opnum_get(self) -> uchar + | + | thisown + | The membership flag + | + | type + | xreflist_entry_t_type_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_xreflist_entry_t(self) + +Help on class xreflist_t in module ida_frame: + +class xreflist_t(__builtin__.object) + | Proxy of C++ qvector< xreflist_entry_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> xreflist_entry_t + | + | __init__(self, *args) + | __init__(self) -> xreflist_t + | __init__(self, x) -> xreflist_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> xreflist_entry_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> xreflist_entry_t + | begin(self) -> xreflist_entry_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> xreflist_entry_t + | end(self) -> xreflist_entry_t + | + | erase(self, *args) + | erase(self, it) -> xreflist_entry_t + | erase(self, first, last) -> xreflist_entry_t + | + | extract(self, *args) + | extract(self) -> xreflist_entry_t + | + | find(self, *args) + | find(self, x) -> xreflist_entry_t + | find(self, x) -> xreflist_entry_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=xreflist_entry_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> xreflist_entry_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> xreflist_entry_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_xreflist_t(self) + +=== ida_frame EPYDOC INJECTIONS === +ida_frame.REGVAR_ERROR_ARG +""" +function arguments are bad +""" + +ida_frame.REGVAR_ERROR_NAME +""" +the provided name(s) can't be accepted +""" + +ida_frame.REGVAR_ERROR_OK +""" +all ok +""" + +ida_frame.REGVAR_ERROR_RANGE +""" +the definition range is bad +""" + +ida_frame.STKVAR_VALID_SIZE +""" +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 +""" +=== ida_frame EPYDOC INJECTIONS END === +Help on function add_func in module ida_funcs: + +add_func(*args) + 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: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @return: success + +Help on function add_func_ex in module ida_funcs: + +add_func_ex(*args) + 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: ptr to filled function structure (C++: func_t *) + @return: success + +Help on function add_regarg in module ida_funcs: + +add_regarg(*args) + add_regarg(pfn, reg, tif, name) + +Help on function append_func_tail in module ida_funcs: + +append_func_tail(*args) + 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 *) + @param ea1: start of the tail. If a tail already exists at the + specified address it must start at 'ea1' (C++: ea_t) + @param ea2: 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. (C++: ea_t) + +Help on function apply_idasgn_to in module ida_funcs: + +apply_idasgn_to(*args) + apply_idasgn_to(signame, ea, is_startup) -> int + + + Apply a signature file to the specified address. + + @param signame: short name of signature file (the file name without + path) (C++: const char *) + @param ea: address to apply the signature (C++: ea_t) + @param is_startup: 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. (C++: bool) + @return: Library function codes + +Help on function apply_startup_sig in module ida_funcs: + +apply_startup_sig(*args) + apply_startup_sig(ea, startup) -> bool + + + Apply a startup signature file to the specified address. + + @param ea: address to apply the signature to; usually \inf{start_ea} + (C++: ea_t) + @param startup: the name of the signature file without path and + extension (C++: const char *) + @return: true if successfully applied the signature + +Help on function calc_func_size in module ida_funcs: + +calc_func_size(*args) + calc_func_size(pfn) -> asize_t + + + Calculate function size. This function takes into account all + fragments of the function. + + @param pfn: ptr to function structure (C++: func_t *) + +Help on function calc_idasgn_state in module ida_funcs: + +calc_idasgn_state(*args) + calc_idasgn_state(n) -> int + + + Get state of a signature in the list of planned signatures + + @param n: number of signature in the list (0.. get_idasgn_qty() -1) + (C++: int) + @return: state of signature or IDASGN_BADARG + +Help on function calc_thunk_func_target in module ida_funcs: + +calc_thunk_func_target(*args) + calc_thunk_func_target(pfn) -> ea_t + + + Calculate target of a thunk function. + + @param pfn: pointer to function (may not be NULL) (C++: func_t *) + @return: the target function or BADADDR + +Help on function del_func in module ida_funcs: + +del_func(*args) + del_func(ea) -> bool + + + Delete a function. + + @param ea: any address in the function entry chunk (C++: ea_t) + @return: success + +Help on function del_idasgn in module ida_funcs: + +del_idasgn(*args) + del_idasgn(n) -> int + + + Remove signature from the list of planned signatures. + + @param n: number of signature in the list (0.. get_idasgn_qty() -1) + (C++: int) + @return: IDASGN_OK , IDASGN_BADARG , IDASGN_APPLIED + +Help on function f_any in module ida_funcs: + +f_any(*args) + f_any(arg1, arg2) -> bool + + + Helper function to accept any address. + +Help on function find_func_bounds in module ida_funcs: + +find_func_bounds(*args) + 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 \ph{func_bounds} in order to fine tune the function + boundaries. + + @param nfn: structure to fill with information \ nfn->start_ea points + to the start address of the new function. (C++: func_t *) + @param flags: Find function bounds flags (C++: int) + @return: Find function bounds result codes + +Help on function func_contains in module ida_funcs: + +func_contains(*args) + func_contains(pfn, ea) -> bool + + + Does the given function contain the given address? + + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on function func_does_return in module ida_funcs: + +func_does_return(*args) + 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) + +Help on function func_item_iterator_decode_preceding_insn in module ida_funcs: + +func_item_iterator_decode_preceding_insn(*args) + func_item_iterator_decode_preceding_insn(fii, visited, p_farref, out) -> bool + +Help on function func_item_iterator_decode_prev_insn in module ida_funcs: + +func_item_iterator_decode_prev_insn(*args) + func_item_iterator_decode_prev_insn(fii, out) -> bool + +Help on function func_item_iterator_next in module ida_funcs: + +func_item_iterator_next(*args) + func_item_iterator_next(fii, testf, ud) -> bool + +Help on function func_item_iterator_prev in module ida_funcs: + +func_item_iterator_prev(*args) + func_item_iterator_prev(fii, testf, ud) -> bool + +Help on class func_item_iterator_t in module ida_funcs: + +class func_item_iterator_t(__builtin__.object) + | Proxy of C++ func_item_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_item_iterator_t + | __init__(self, pfn, _ea=BADADDR) -> func_item_iterator_t + | + | __next__(self, *args) + | __next__(self, func, ud) -> bool + | + | __repr__ = _swig_repr(self) + | + | chunk(self, *args) + | chunk(self) -> range_t + | + | current(self, *args) + | current(self) -> ea_t + | + | decode_preceding_insn(self, *args) + | decode_preceding_insn(self, visited, p_farref, out) -> bool + | + | decode_prev_insn(self, *args) + | decode_prev_insn(self, out) -> bool + | + | first(self, *args) + | first(self) -> bool + | + | last(self, *args) + | last(self) -> bool + | + | next = __next__(self, *args) + | + | next_addr(self, *args) + | next_addr(self) -> bool + | + | next_code(self, *args) + | next_code(self) -> bool + | + | next_data(self, *args) + | next_data(self) -> bool + | + | next_head(self, *args) + | next_head(self) -> bool + | + | next_not_tail(self, *args) + | next_not_tail(self) -> bool + | + | prev(self, *args) + | prev(self, func, ud) -> bool + | + | prev_addr(self, *args) + | prev_addr(self) -> bool + | + | prev_code(self, *args) + | prev_code(self) -> bool + | + | prev_data(self, *args) + | prev_data(self) -> bool + | + | prev_head(self, *args) + | prev_head(self) -> bool + | + | prev_not_tail(self, *args) + | prev_not_tail(self) -> bool + | + | set(self, *args) + | set(self, pfn, _ea=BADADDR) -> bool + | + | set_range(self, *args) + | set_range(self, ea1, ea2) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_item_iterator_t(self) + +Help on function func_parent_iterator_set in module ida_funcs: + +func_parent_iterator_set(*args) + func_parent_iterator_set(fpi, pfn) -> bool + +Help on class func_parent_iterator_t in module ida_funcs: + +class func_parent_iterator_t(__builtin__.object) + | Proxy of C++ func_parent_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_parent_iterator_t + | __init__(self, _fnt) -> func_parent_iterator_t + | + | __next__(self, *args) + | __next__(self) -> bool + | + | __repr__ = _swig_repr(self) + | + | first(self, *args) + | first(self) -> bool + | + | last(self, *args) + | last(self) -> bool + | + | next = __next__(self, *args) + | + | parent(self, *args) + | parent(self) -> ea_t + | + | prev(self, *args) + | prev(self) -> bool + | + | reset_fnt(self, *args) + | reset_fnt(self, _fnt) + | + | set(self, *args) + | set(self, _fnt) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_parent_iterator_t(self) + +Help on class func_t in module ida_funcs: + +class func_t(ida_range.range_t) + | Proxy of C++ func_t class. + | + | Method resolution order: + | func_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __get_points__(self, *args) + | __get_points__(self) -> stkpnt_array + | + | __get_regvars__(self, *args) + | __get_regvars__(self) -> regvar_array + | + | __get_tails__(self, *args) + | __get_tails__(self) -> range_array + | + | __init__(self, *args) + | __init__(self, start=0, end=0, f=0) -> func_t + | + | __repr__ = _swig_repr(self) + | + | analyzed_sp(self, *args) + | analyzed_sp(self) -> bool + | + | does_return(self, *args) + | does_return(self) -> bool + | + | is_far(self, *args) + | is_far(self) -> bool + | + | need_prolog_analysis(self, *args) + | need_prolog_analysis(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | argsize + | func_t_argsize_get(self) -> asize_t + | + | color + | func_t_color_get(self) -> bgcolor_t + | + | flags + | func_t_flags_get(self) -> uint64 + | + | fpd + | func_t_fpd_get(self) -> asize_t + | + | frame + | func_t_frame_get(self) -> uval_t + | + | frregs + | func_t_frregs_get(self) -> ushort + | + | frsize + | func_t_frsize_get(self) -> asize_t + | + | llabelqty + | func_t_llabelqty_get(self) -> int + | + | llabels + | func_t_llabels_get(self) -> llabel_t * + | + | owner + | func_t_owner_get(self) -> ea_t + | + | pntqty + | func_t_pntqty_get(self) -> uint32 + | + | points + | __get_points__(self) -> stkpnt_array + | + | referers + | func_t_referers_get(self) -> ea_t * + | + | refqty + | func_t_refqty_get(self) -> int + | + | regargqty + | func_t_regargqty_get(self) -> int + | + | regargs + | func_t_regargs_get(self) -> regarg_t + | + | regvarqty + | func_t_regvarqty_get(self) -> int + | + | regvars + | __get_regvars__(self) -> regvar_array + | + | tailqty + | func_t_tailqty_get(self) -> int + | + | tails + | __get_tails__(self) -> range_array + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on function func_t__from_ptrval__ in module ida_funcs: + +func_t__from_ptrval__(*args) + func_t__from_ptrval__(ptrval) -> func_t + +Help on function func_tail_iterator_set in module ida_funcs: + +func_tail_iterator_set(*args) + func_tail_iterator_set(fti, pfn, ea) -> bool + +Help on function func_tail_iterator_set_ea in module ida_funcs: + +func_tail_iterator_set_ea(*args) + func_tail_iterator_set_ea(fti, ea) -> bool + +Help on class func_tail_iterator_t in module ida_funcs: + +class func_tail_iterator_t(__builtin__.object) + | Proxy of C++ func_tail_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_tail_iterator_t + | __init__(self, _pfn, ea=BADADDR) -> func_tail_iterator_t + | + | __next__(self, *args) + | __next__(self) -> bool + | + | __repr__ = _swig_repr(self) + | + | chunk(self, *args) + | chunk(self) -> range_t + | + | first(self, *args) + | first(self) -> bool + | + | last(self, *args) + | last(self) -> bool + | + | main(self, *args) + | main(self) -> bool + | + | next = __next__(self, *args) + | + | prev(self, *args) + | prev(self) -> bool + | + | set(self, *args) + | set(self, _pfn, ea=BADADDR) -> bool + | + | set_ea(self, *args) + | set_ea(self, ea) -> bool + | + | set_range(self, *args) + | set_range(self, ea1, ea2) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_tail_iterator_t(self) + +Help on function get_current_idasgn in module ida_funcs: + +get_current_idasgn(*args) + get_current_idasgn() -> int + + + Get number of the the current signature. + + @return: 0..n-1 + +Help on function get_fchunk in module ida_funcs: + +get_fchunk(*args) + get_fchunk(ea) -> func_t + + + Get pointer to function chunk structure by address. + + @param ea: any address in a function chunk (C++: ea_t) + @return: ptr to a function chunk or NULL. This function may return a + function entry as well as a function tail. + +Help on function get_fchunk_num in module ida_funcs: + +get_fchunk_num(*args) + get_fchunk_num(ea) -> int + + + Get ordinal number of a function chunk in the global list of function + chunks. + + @param ea: any address in the function chunk (C++: ea_t) + @return: number of function chunk (0.. get_fchunk_qty() -1). -1 means + 'no function chunk at the specified address'. + +Help on function get_fchunk_qty in module ida_funcs: + +get_fchunk_qty(*args) + get_fchunk_qty() -> size_t + + + Get total number of function chunks in the program. + +Help on function get_fchunk_referer in module ida_funcs: + +get_fchunk_referer(*args) + get_fchunk_referer(ea, idx) -> ea_t + +Help on function get_func in module ida_funcs: + +get_func(*args) + get_func(ea) -> func_t + + + Get pointer to function structure by address. + + @param ea: any address in a function (C++: ea_t) + @return: ptr to a function or NULL. This function returns a function + entry chunk. + +Help on function get_func_bitness in module ida_funcs: + +get_func_bitness(*args) + get_func_bitness(pfn) -> int + + + Get function bitness (which is equal to the function segment bitness). + pfn==NULL => returns 0 + + @param pfn (C++: const func_t *) + +Help on function get_func_bits in module ida_funcs: + +get_func_bits(*args) + get_func_bits(pfn) -> int + + + Get number of bits in the function addressing. + + + @param pfn (C++: const func_t *) + +Help on function get_func_bytes in module ida_funcs: + +get_func_bytes(*args) + get_func_bytes(pfn) -> int + + + Get number of bytes in the function addressing. + + + @param pfn (C++: const func_t *) + +Help on function get_func_chunknum in module ida_funcs: + +get_func_chunknum(*args) + get_func_chunknum(pfn, ea) -> int + + + Get the containing tail chunk of 'ea'. + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on function get_func_cmt in module ida_funcs: + +get_func_cmt(*args) + get_func_cmt(pfn, repeatable) -> str + + + Get function comment. + + @param pfn: ptr to function structure (C++: const func_t *) + @param repeatable: get repeatable comment? (C++: bool) + @return: size of comment or -1 In fact this function works with + function chunks too. + +Help on function get_func_name in module ida_funcs: + +get_func_name(*args) + get_func_name(ea) -> str + + + Get function name. + + @param ea: any address in the function (C++: ea_t) + @return: length of the function name + +Help on function get_func_num in module ida_funcs: + +get_func_num(*args) + get_func_num(ea) -> int + + + Get ordinal number of a function. + + @param ea: any address in the function (C++: ea_t) + @return: number of function (0.. get_func_qty() -1). -1 means 'no + function at the specified address'. + +Help on function get_func_qty in module ida_funcs: + +get_func_qty(*args) + get_func_qty() -> size_t + + + Get total number of functions in the program. + +Help on function get_func_ranges in module ida_funcs: + +get_func_ranges(*args) + get_func_ranges(ranges, pfn) -> ea_t + + + Get function ranges. + + @param ranges: buffer to receive the range info (C++: rangeset_t *) + @param pfn: ptr to function structure (C++: func_t *) + @return: end address of the last function range (BADADDR-error) + +Help on function get_idasgn_desc in module ida_funcs: + +get_idasgn_desc(*args) + get_idasgn_desc(n) -> PyObject * + + + 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) + +Help on function get_idasgn_desc_with_matches in module ida_funcs: + +get_idasgn_desc_with_matches(*args) + get_idasgn_desc_with_matches(n) -> PyObject * + + + 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) + +Help on function get_idasgn_qty in module ida_funcs: + +get_idasgn_qty(*args) + get_idasgn_qty() -> int + + + Get number of signatures in the list of planned and applied + signatures. + + @return: 0..n + +Help on function get_idasgn_title in module ida_funcs: + +get_idasgn_title(*args) + get_idasgn_title(name) -> str + + + Get full description of the signature by its short name. + + @param name: short name of a signature (C++: const char *) + @return: size of signature description or -1 + +Help on function get_next_fchunk in module ida_funcs: + +get_next_fchunk(*args) + get_next_fchunk(ea) -> func_t + + + Get pointer to the next function chunk in the global list. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function chunk or NULL if next function chunk doesn't + exist + +Help on function get_next_func in module ida_funcs: + +get_next_func(*args) + get_next_func(ea) -> func_t + + + Get pointer to the next function. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function or NULL if next function doesn't exist + +Help on function get_next_func_addr in module ida_funcs: + +get_next_func_addr(*args) + get_next_func_addr(pfn, ea) -> ea_t + +Help on function get_prev_fchunk in module ida_funcs: + +get_prev_fchunk(*args) + get_prev_fchunk(ea) -> func_t + + + Get pointer to the previous function chunk in the global list. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function chunk or NULL if previous function chunk + doesn't exist + +Help on function get_prev_func in module ida_funcs: + +get_prev_func(*args) + get_prev_func(ea) -> func_t + + + Get pointer to the previous function. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function or NULL if previous function doesn't exist + +Help on function get_prev_func_addr in module ida_funcs: + +get_prev_func_addr(*args) + get_prev_func_addr(pfn, ea) -> ea_t + +Help on function getn_fchunk in module ida_funcs: + +getn_fchunk(*args) + getn_fchunk(n) -> func_t + + + Get pointer to function chunk structure by number. + + @param n: number of function chunk, is in range 0.. get_fchunk_qty() + -1 (C++: int) + @return: ptr to a function chunk or NULL. This function may return a + function entry as well as a function tail. + +Help on function getn_func in module ida_funcs: + +getn_func(*args) + getn_func(n) -> func_t + + + Get pointer to function structure by number. + + @param n: number of function, is in range 0.. get_func_qty() -1 (C++: + size_t) + @return: ptr to a function or NULL. This function returns a function + entry chunk. + +Help on function is_finally_visible_func in module ida_funcs: + +is_finally_visible_func(*args) + is_finally_visible_func(pfn) -> bool + + + Is the function visible (event after considering 'SCF_SHHID_FUNC' )? + + + @param pfn (C++: func_t *) + +Help on function is_func_entry in module ida_funcs: + +is_func_entry(*args) + is_func_entry(pfn) -> bool + + + Does function describe a function entry chunk? + + + @param pfn (C++: const func_t *) + +Help on function is_func_locked in module ida_funcs: + +is_func_locked(*args) + is_func_locked(pfn) -> bool + + + Is the function pointer locked? + + + @param pfn (C++: const func_t *) + +Help on function is_func_tail in module ida_funcs: + +is_func_tail(*args) + is_func_tail(pfn) -> bool + + + Does function describe a function tail chunk? + + + @param pfn (C++: const func_t *) + +Help on function is_same_func in module ida_funcs: + +is_same_func(*args) + is_same_func(ea1, ea2) -> bool + + + Do two addresses belong to the same function? + + + @param ea1 (C++: ea_t) + @param ea2 (C++: ea_t) + +Help on function is_visible_func in module ida_funcs: + +is_visible_func(*args) + is_visible_func(pfn) -> bool + + + Is the function visible (not hidden)? + + + @param pfn (C++: func_t *) + +Help on class lock_func in module ida_funcs: + +class lock_func(__builtin__.object) + | Proxy of C++ lock_func class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _pfn) -> lock_func + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lock_func(self) + +Help on function lock_func_range in module ida_funcs: + +lock_func_range(*args) + 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 *) + @param lock (C++: bool) + +Help on function plan_to_apply_idasgn in module ida_funcs: + +plan_to_apply_idasgn(*args) + plan_to_apply_idasgn(fname) -> int + + + Add a signature file to the list of planned signature files. + + @param fname: file name. should not contain directory part. (C++: + const char *) + @return: 0 if failed, otherwise number of planned (and applied) + signatures + +Help on class range_array in module ida_funcs: + +class range_array(__builtin__.object) + | Proxy of C++ dynamic_wrapped_array_t< range_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __init__(self, *args) + | __init__(self, _data, _count) -> range_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | range_array_count_get(self) -> size_t + | + | data + | range_array_data_get(self) -> range_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_range_array(self) + +Help on function read_regargs in module ida_funcs: + +read_regargs(*args) + read_regargs(pfn) + +Help on function reanalyze_function in module ida_funcs: + +reanalyze_function(*args) + 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: pointer to a function (C++: func_t *) + @param ea1: start of the range to analyze (C++: ea_t) + @param ea2: end of range to analyze (C++: ea_t) + @param analyze_parents: 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. (C++: bool) + +Help on function reanalyze_noret_flag in module ida_funcs: + +reanalyze_noret_flag(*args) + 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) + +Help on class regarg_t in module ida_funcs: + +class regarg_t(__builtin__.object) + | Proxy of C++ regarg_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regarg_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | regarg_t_name_get(self) -> char * + | + | reg + | regarg_t_reg_get(self) -> int + | + | thisown + | The membership flag + | + | type + | regarg_t_type_get(self) -> type_t * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regarg_t(self) + +Help on class regvar_array in module ida_funcs: + +class regvar_array(__builtin__.object) + | Proxy of C++ dynamic_wrapped_array_t< regvar_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> regvar_t const & + | + | __init__(self, *args) + | __init__(self, _data, _count) -> regvar_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | regvar_array_count_get(self) -> size_t + | + | data + | regvar_array_data_get(self) -> regvar_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regvar_array(self) + +Help on function remove_func_tail in module ida_funcs: + +remove_func_tail(*args) + 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 *) + @param tail_ea (C++: ea_t) + +Help on function set_func_cmt in module ida_funcs: + +set_func_cmt(*args) + set_func_cmt(pfn, cmt, repeatable) -> bool + + + Set function comment. This function works with function chunks too. + + @param pfn: ptr to function structure (C++: const func_t *) + @param cmt: comment string, may be multiline (with ' '). Use empty + str ("") to delete comment (C++: const char *) + @param repeatable: set repeatable comment? (C++: bool) + +Help on function set_func_end in module ida_funcs: + +set_func_end(*args) + set_func_end(ea, newend) -> bool + + + Move function chunk end address. + + @param ea: any address in the function (C++: ea_t) + @param newend: new end address of the function (C++: ea_t) + @return: success + +Help on function set_func_name_if_jumpfunc in module ida_funcs: + +set_func_name_if_jumpfunc(*args) + set_func_name_if_jumpfunc(pfn, oldname) -> int + + + Give a meaningful name to function if it consists of only 'jump' + instruction. + + @param pfn: pointer to function (may be NULL) (C++: func_t *) + @param oldname: 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 NULL. (C++: const char *) + @return: success + +Help on function set_func_start in module ida_funcs: + +set_func_start(*args) + set_func_start(ea, newstart) -> int + + + Move function chunk start address. + + @param ea: any address in the function (C++: ea_t) + @param newstart: new end address of the function (C++: ea_t) + @return: Function move result codes + +Help on function set_noret_insn in module ida_funcs: + +set_noret_insn(*args) + 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 + +Help on function set_tail_owner in module ida_funcs: + +set_tail_owner(*args) + set_tail_owner(fnt, func_start) -> bool + + + Set a function as the possessing function of a function tail. The + function should already refer to the tail (after append_func_tail). + + @param fnt (C++: func_t *) + @param func_start (C++: ea_t) + +Help on function set_visible_func in module ida_funcs: + +set_visible_func(*args) + set_visible_func(pfn, visible) + + + Set visibility of function. + + + @param pfn (C++: func_t *) + @param visible (C++: bool) + +Help on class stkpnt_array in module ida_funcs: + +class stkpnt_array(__builtin__.object) + | Proxy of C++ dynamic_wrapped_array_t< stkpnt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> stkpnt_t const & + | + | __init__(self, *args) + | __init__(self, _data, _count) -> stkpnt_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | stkpnt_array_count_get(self) -> size_t + | + | data + | stkpnt_array_data_get(self) -> stkpnt_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_stkpnt_array(self) + +Help on function try_to_add_libfunc in module ida_funcs: + +try_to_add_libfunc(*args) + 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: any address in the program (C++: ea_t) + @return: Library function codes + +Help on function update_func in module ida_funcs: + +update_func(*args) + 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: ptr to function structure (C++: func_t *) + @return: success + +=== ida_funcs EPYDOC INJECTIONS === +ida_funcs.FIND_FUNC_DEFINE +""" +create instruction if undefined byte is encountered +""" + +ida_funcs.FIND_FUNC_EXIST +""" +its bounds are returned in 'nfn'. + +function exists already. +""" + +ida_funcs.FIND_FUNC_IGNOREFN +""" +ignore existing function boundaries. by default the function returns +function boundaries if ea belongs to a function. +""" + +ida_funcs.FIND_FUNC_KEEPBD +""" +just create instructions inside the boundaries. + +do not modify incoming function boundaries, +""" + +ida_funcs.FIND_FUNC_NORMAL +""" +stop processing if undefined byte is encountered +""" + +ida_funcs.FIND_FUNC_OK +""" +ok, 'nfn' is ready for 'add_func()' +""" + +ida_funcs.FIND_FUNC_UNDEF +""" +nfn->end_ea will have the address of the unexplored byte. + +function has instructions that pass execution flow to unexplored +bytes. +""" + +ida_funcs.FUNC_BOTTOMBP +""" +BP points to the bottom of the stack frame. +""" + +ida_funcs.FUNC_FAR +""" +Far function. +""" + +ida_funcs.FUNC_FRAME +""" +Function uses frame pointer (BP) +""" + +ida_funcs.FUNC_FUZZY_SP +""" +for example: and esp, 0FFFFFFF0h + +Function changes SP in untraceable way, +""" + +ida_funcs.FUNC_HIDDEN +""" +A hidden function chunk. +""" + +ida_funcs.FUNC_LIB +""" +Library function. +""" + +ida_funcs.FUNC_LUMINA +""" +Function info is provided by Lumina. +""" + +ida_funcs.FUNC_NORET +""" +Function doesn't return. +""" + +ida_funcs.FUNC_NORET_PENDING +""" +This flag is verified upon 'func_does_return()' + +Function 'non-return' analysis must be performed. +""" + +ida_funcs.FUNC_PROLOG_OK +""" +by last SP-analysis + +Prolog analysis has be performed +""" + +ida_funcs.FUNC_PURGED_OK +""" +'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. +""" + +ida_funcs.FUNC_SP_READY +""" +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 +""" + +ida_funcs.FUNC_STATICDEF +""" +Static function. +""" + +ida_funcs.FUNC_TAIL +""" +This is a function tail. Other bits must be clear (except +'FUNC_HIDDEN' ). +""" + +ida_funcs.FUNC_THUNK +""" +Thunk (jump) function. +""" + +ida_funcs.FUNC_USERFAR +""" +of the function + +User has specified far-ness +""" + +ida_funcs.IDASGN_APPLIED +""" +signature is already applied +""" + +ida_funcs.IDASGN_BADARG +""" +bad number of signature +""" + +ida_funcs.IDASGN_CURRENT +""" +signature is currently being applied +""" + +ida_funcs.IDASGN_OK +""" +ok +""" + +ida_funcs.IDASGN_PLANNED +""" +signature is planned to be applied +""" + +ida_funcs.LIBFUNC_DELAY +""" +no decision because of lack of information +""" + +ida_funcs.LIBFUNC_FOUND +""" +ok, library function is found +""" + +ida_funcs.LIBFUNC_NONE +""" +no, this is not a library function +""" + +ida_funcs.MOVE_FUNC_BADSTART +""" +bad new start address +""" + +ida_funcs.MOVE_FUNC_NOCODE +""" +no instruction at 'newstart' +""" + +ida_funcs.MOVE_FUNC_NOFUNC +""" +no function at 'ea' +""" + +ida_funcs.MOVE_FUNC_OK +""" +ok +""" + +ida_funcs.MOVE_FUNC_REFUSED +""" +a plugin refused the action +""" +=== ida_funcs EPYDOC INJECTIONS END === +Help on class BasicBlock in module ida_gdl: + +class BasicBlock(__builtin__.object) + | Basic block class. It is returned by the Flowchart class + | + | Methods defined here: + | + | __init__(self, id, bb, fc) + | + | preds(self) + | Iterates the predecessors list + | + | succs(self) + | Iterates the successors list + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | startEA + +Help on class FlowChart in module ida_gdl: + +class FlowChart(__builtin__.object) + | Flowchart class used to determine basic blocks. + | Check ex_gdl_qflow_chart.py for sample usage. + | + | Methods defined here: + | + | __getitem__(self, index) + | Returns a basic block + | + | @return: BasicBlock + | + | __init__(self, f=None, bounds=None, flags=0) + | 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. One interesting flag is FC_PREDS + | + | __iter__(self) + | + | _getitem(self, index) + | + | refresh(self) + | Refreshes the flow chart + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | size + +Help on function display_gdl in module ida_gdl: + +display_gdl(*args) + 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()' . + + @param fname (C++: const char *) + @return: error code from os, 0 if ok + +Help on function gen_complex_call_chart in module ida_gdl: + +gen_complex_call_chart(*args) + gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1) -> bool + + + Build and display a complex xref graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param wait: message to display during graph building (C++: const char + *) + @param title: graph title (C++: const char *) + @param ea1: address range (C++: ea_t) + @param ea2: address range (C++: ea_t) + @param flags: 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. (C++: int) + @param recursion_depth: optional limit of recursion (C++: int32) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function gen_flow_graph in module ida_gdl: + +gen_flow_graph(*args) + gen_flow_graph(filename, title, pfn, ea1, ea2, gflags) -> bool + + + Build and display a flow graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param title: graph title (C++: const char *) + @param pfn: function to graph (C++: func_t *) + @param ea1: if pfn == NULL, then the address range (C++: ea_t) + @param ea2: if pfn == NULL, then the address range (C++: ea_t) + @param gflags: combination of Flow graph building flags . if none of + CHART_GEN_DOT , CHART_GEN_GDL , CHART_WINGRAPH is + specified, the function will return false (C++: int) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function gen_gdl in module ida_gdl: + +gen_gdl(*args) + gen_gdl(g, fname) + + + Create GDL file for graph. + + + @param g (C++: const gdl_graph_t *) + @param fname (C++: const char *) + +Help on function gen_simple_call_chart in module ida_gdl: + +gen_simple_call_chart(*args) + gen_simple_call_chart(filename, wait, title, gflags) -> bool + + + Build and display a simple function call graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param wait: message to display during graph building (C++: const char + *) + @param title: graph title (C++: const char *) + @param gflags: 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. (C++: int) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function is_noret_block in module ida_gdl: + +is_noret_block(*args) + is_noret_block(btype) -> bool + + + Does this block never return? + + + @param btype (C++: fc_block_type_t) + +Help on function is_ret_block in module ida_gdl: + +is_ret_block(*args) + is_ret_block(btype) -> bool + + + Does this block return? + + + @param btype (C++: fc_block_type_t) + +Help on class node_iterator in module ida_gdl: + +class node_iterator(__builtin__.object) + | Proxy of C++ node_iterator class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, n) -> bool + | + | __init__(self, *args) + | __init__(self, _g, n) -> node_iterator + | + | __ne__(self, *args) + | __ne__(self, n) -> bool + | + | __ref__(self, *args) + | __ref__(self) -> int + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_node_iterator(self) + +Help on class qbasic_block_t in module ida_gdl: + +class qbasic_block_t(ida_range.range_t) + | Proxy of C++ qbasic_block_t class. + | + | Method resolution order: + | qbasic_block_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> qbasic_block_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qbasic_block_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on class qflow_chart_t in module ida_gdl: + +class qflow_chart_t(__builtin__.object) + | Proxy of C++ qflow_chart_t class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, n) -> qbasic_block_t + | + | __init__(self, *args) + | __init__(self) -> qflow_chart_t + | __init__(self, _title, _pfn, _ea1, _ea2, _flags) -> qflow_chart_t + | + | __repr__ = _swig_repr(self) + | + | append_to_flowchart(self, *args) + | append_to_flowchart(self, ea1, ea2) + | + | calc_block_type(self, *args) + | calc_block_type(self, blknum) -> fc_block_type_t + | + | create(self, *args) + | create(self, _title, _pfn, _ea1, _ea2, _flags) + | create(self, _title, ranges, _flags) + | + | get_node_label(self, *args) + | get_node_label(self, arg2, arg3, arg4) -> char * + | + | is_noret_block(self, *args) + | is_noret_block(self, blknum) -> bool + | + | is_ret_block(self, *args) + | is_ret_block(self, blknum) -> bool + | + | npred(self, *args) + | npred(self, node) -> int + | + | nsucc(self, *args) + | nsucc(self, node) -> int + | + | pred(self, *args) + | pred(self, node, i) -> int + | + | print_names(self, *args) + | print_names(self) -> bool + | + | print_node_attributes(self, *args) + | print_node_attributes(self, arg2, arg3) + | + | refresh(self, *args) + | refresh(self) + | + | size(self, *args) + | size(self) -> int + | + | succ(self, *args) + | succ(self, node, i) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bounds + | qflow_chart_t_bounds_get(self) -> range_t + | + | flags + | qflow_chart_t_flags_get(self) -> int + | + | nproper + | qflow_chart_t_nproper_get(self) -> int + | + | pfn + | qflow_chart_t_pfn_get(self) -> func_t * + | + | thisown + | The membership flag + | + | title + | qflow_chart_t_title_get(self) -> qstring * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qflow_chart_t(self) + +=== ida_gdl EPYDOC INJECTIONS === +ida_gdl.CHART_FOLLOW_DIRECTION +""" +analyze references to added blocks only in the direction of the +reference who discovered the current block +""" + +ida_gdl.CHART_GEN_DOT +""" +generate .dot file (file extension is forced to .dot) +""" + +ida_gdl.CHART_GEN_GDL +""" +generate .gdl file (file extension is forced to .gdl) +""" + +ida_gdl.CHART_IGNORE_LIB_FROM +""" +ignore references from library functions +""" + +ida_gdl.CHART_IGNORE_LIB_TO +""" +ignore references to library functions +""" + +ida_gdl.CHART_NOLIBFUNCS +""" +don't include library functions in the graph +""" + +ida_gdl.CHART_PRINT_DOTS +""" +print dots if xrefs exist outside of the range recursion depth +""" + +ida_gdl.CHART_PRINT_NAMES +""" +print labels for each block? +""" + +ida_gdl.CHART_RECURSIVE +""" +analyze added blocks +""" + +ida_gdl.CHART_REFERENCED +""" +references from the addresses in the list +""" + +ida_gdl.CHART_REFERENCING +""" +references to the addresses in the list +""" + +ida_gdl.CHART_WINGRAPH +""" +call grapher to display the graph +""" + +ida_gdl.FC_APPND +""" +multirange flowchart (set by append_to_flowchart) +""" + +ida_gdl.FC_CHKBREAK +""" +build_qflow_chart() may be aborted by user +""" + +ida_gdl.FC_NOEXT +""" +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 +""" + +ida_gdl.FC_PREDS +""" +compute predecessor lists +""" + +ida_gdl.FC_PRINT +""" +print names (used only by display_flow_chart()) +""" +=== ida_gdl EPYDOC INJECTIONS END === +Help on class GraphViewer in module ida_graph: + +class GraphViewer(ida_kernwin.CustomIDAMemo) + | Method resolution order: + | GraphViewer + | ida_kernwin.CustomIDAMemo + | ida_kernwin.View_Hooks + | __builtin__.object + | + | Methods defined here: + | + | AddCommand(self, title, shortcut) + | + | AddEdge(self, src_node, dest_node) + | Creates an edge between two given node ids + | + | AddNode(self, obj) + | Creates a node associated with the given object and returns the node id + | + | Clear(self) + | Clears all the nodes and edges + | + | Close(self) + | Closes the graph. + | It is possible to call Show() again (which will recreate the graph) + | + | Count(self) + | Returns the node count + | + | OnCommand(self, cmd_id) + | + | OnPopup(self, widget, popup_handle) + | + | OnRefresh(self) + | 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. + | + | Select(self, node_id) + | Selects a node on the graph + | + | Show(self) + | Shows an existing graph or creates a new one + | + | @return: Boolean + | + | __getitem__(self, idx) + | Returns a reference to the object associated with this node id + | + | __init__(self, title, close_open=False) + | 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? + | + | __iter__(self) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | UI_Hooks_Trampoline = + | + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_kernwin.CustomIDAMemo: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | + | view_click(self, view, ve) + | + | view_close(self, view, *args) + | + | view_curpos(self, view, *args) + | + | view_dblclick(self, view, ve) + | + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | + | view_mouse_over(self, view, ve) + | + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods inherited from ida_kernwin.CustomIDAMemo: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_kernwin.View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | view_created(self, *args) + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_kernwin.View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_kernwin.View_Hooks: + | + | __swig_destroy__ = + | delete_View_Hooks(self) + +Help on class TPointDouble in module ida_graph: + +class TPointDouble(__builtin__.object) + | Proxy of C++ TPointDouble class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> TPointDouble + | __init__(self, a, b) -> TPointDouble + | __init__(self, r) -> TPointDouble + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | add(self, *args) + | add(self, r) + | + | negate(self, *args) + | negate(self) + | + | sub(self, *args) + | sub(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | TPointDouble_x_get(self) -> double + | + | y + | TPointDouble_y_get(self) -> double + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_TPointDouble(self) + +Help on function calc_dist in module ida_graph: + +calc_dist(*args) + calc_dist(p, q) -> double + + + Calculate distance between p and q. + + + @param p (C++: point_t) + @param q (C++: point_t) + +Help on function clr_node_info in module ida_graph: + +clr_node_info(*args) + clr_node_info(gid, node, flags) + + + Clear node info for the given node. + + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @param flags: combination of Node info flags , identifying which + fields of node_info_t will be cleared (C++: uint32) + +Help on function create_disasm_graph in module ida_graph: + +create_disasm_graph(*args) + create_disasm_graph(ea) -> mutable_graph_t + create_disasm_graph(ranges) -> mutable_graph_t + + + Create a graph for the function that contains 'ea'. + + + @param ea (C++: ea_t) + +Help on function create_graph_viewer in module ida_graph: + +create_graph_viewer(*args) + create_graph_viewer(title, id, callback, ud, title_height, parent=None) -> graph_viewer_t * + + + Create a custom graph viewer. + + @param title: the widget title (C++: const char *) + @param id: graph id (C++: uval_t) + @param callback: callback to handle graph notifications ( + graph_notification_t ) (C++: hook_cb_t *) + @param ud: user data passed to callback (C++: void *) + @param title_height: node title height (C++: int) + @param parent (C++: TWidget *) + @return: new viewer + +Help on function create_mutable_graph in module ida_graph: + +create_mutable_graph(*args) + create_mutable_graph(id) -> mutable_graph_t + + + Create a new empty graph with given id. + + + @param id (C++: uval_t) + +Help on function create_user_graph_place in module ida_graph: + +create_user_graph_place(*args) + 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) + +Help on function del_node_info in module ida_graph: + +del_node_info(*args) + del_node_info(gid, node) + + + Delete the 'node_info_t' for the given node. + + + @param gid (C++: graph_id_t) + @param node (C++: int) + +Help on function delete_mutable_graph in module ida_graph: + +delete_mutable_graph(*args) + delete_mutable_graph(g) + + + Delete graph object.use this only if you are dealing with + 'mutable_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++: mutable_graph_t *) + +Help on class edge_info_t in module ida_graph: + +class edge_info_t(__builtin__.object) + | Proxy of C++ edge_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> edge_info_t + | + | __repr__ = _swig_repr(self) + | + | reverse_layout(self, *args) + | reverse_layout(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | color + | edge_info_t_color_get(self) -> bgcolor_t + | + | dstoff + | edge_info_t_dstoff_get(self) -> int + | + | layout + | edge_info_t_layout_get(self) -> pointseq_t + | + | srcoff + | edge_info_t_srcoff_get(self) -> int + | + | thisown + | The membership flag + | + | width + | edge_info_t_width_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_edge_info_t(self) + +Help on class edge_infos_wrapper_t in module ida_graph: + +class edge_infos_wrapper_t(__builtin__.object) + | Proxy of C++ edge_infos_wrapper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ptr + | edge_infos_wrapper_t_ptr_get(self) -> edge_infos_t * + | + | thisown + | The membership flag + +Help on class edge_layout_point_t in module ida_graph: + +class edge_layout_point_t(__builtin__.object) + | Proxy of C++ edge_layout_point_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> edge_layout_point_t + | __init__(self, r) -> edge_layout_point_t + | __init__(self, _e, _pidx) -> edge_layout_point_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | edge_layout_point_t_e_get(self) -> edge_t + | + | pidx + | edge_layout_point_t_pidx_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_edge_layout_point_t(self) + +Help on class edge_segment_t in module ida_graph: + +class edge_segment_t(__builtin__.object) + | Proxy of C++ edge_segment_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> edge_segment_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | length(self, *args) + | length(self) -> size_t + | + | toright(self, *args) + | toright(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | edge_segment_t_e_get(self) -> edge_t + | + | nseg + | edge_segment_t_nseg_get(self) -> int + | + | thisown + | The membership flag + | + | x0 + | edge_segment_t_x0_get(self) -> int + | + | x1 + | edge_segment_t_x1_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_edge_segment_t(self) + +Help on class edge_t in module ida_graph: + +class edge_t(__builtin__.object) + | Proxy of C++ edge_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, y) -> bool + | + | __init__(self, *args) + | __init__(self) -> edge_t + | __init__(self, x, y) -> edge_t + | + | __lt__(self, *args) + | __lt__(self, y) -> bool + | + | __ne__(self, *args) + | __ne__(self, y) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dst + | edge_t_dst_get(self) -> int + | + | src + | edge_t_src_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_edge_t(self) + +Help on function get_graph_viewer in module ida_graph: + +get_graph_viewer(*args) + get_graph_viewer(parent) -> graph_viewer_t * + + + Get custom graph viewer for given form. + + + @param parent (C++: TWidget *) + +Help on function get_node_info in module ida_graph: + +get_node_info(*args) + get_node_info(out, gid, node) -> bool + + + Get node info. + + @param out: result (C++: node_info_t *) + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @return: success + +Help on function get_viewer_graph in module ida_graph: + +get_viewer_graph(*args) + get_viewer_graph(gv) -> mutable_graph_t + + + Get graph object for given custom graph viewer. + + + @param gv (C++: graph_viewer_t *) + +Help on class graph_item_t in module ida_graph: + +class graph_item_t(__builtin__.object) + | Proxy of C++ graph_item_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> graph_item_t + | + | __repr__ = _swig_repr(self) + | + | is_edge(self, *args) + | is_edge(self) -> bool + | + | is_node(self, *args) + | is_node(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | b + | graph_item_t_b_get(self) -> int + | + | e + | graph_item_t_e_get(self) -> edge_t + | + | elp + | graph_item_t_elp_get(self) -> edge_layout_point_t + | + | n + | graph_item_t_n_get(self) -> int + | + | p + | graph_item_t_p_get(self) -> point_t + | + | thisown + | The membership flag + | + | type + | graph_item_t_type_get(self) -> graph_item_type_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_item_t(self) + +Help on class graph_node_visitor_t in module ida_graph: + +class graph_node_visitor_t(__builtin__.object) + | Proxy of C++ graph_node_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_node_visitor_t + | + | __repr__ = _swig_repr(self) + | + | is_forbidden_edge(self, *args) + | is_forbidden_edge(self, arg0, arg1) -> bool + | + | is_visited(self, *args) + | is_visited(self, n) -> bool + | + | reinit(self, *args) + | reinit(self) + | + | set_visited(self, *args) + | set_visited(self, n) + | + | visit_node(self, *args) + | visit_node(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_node_visitor_t(self) + +Help on class graph_path_visitor_t in module ida_graph: + +class graph_path_visitor_t(__builtin__.object) + | Proxy of C++ graph_path_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_path_visitor_t + | + | __repr__ = _swig_repr(self) + | + | walk_backward(self, *args) + | walk_backward(self, arg0) -> int + | + | walk_forward(self, *args) + | walk_forward(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | path + | graph_path_visitor_t_path_get(self) -> intvec_t * + | + | prune + | graph_path_visitor_t_prune_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_path_visitor_t(self) + +Help on class graph_visitor_t in module ida_graph: + +class graph_visitor_t(__builtin__.object) + | Proxy of C++ graph_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_edge(self, *args) + | visit_edge(self, arg2, arg3) -> int + | + | visit_node(self, *args) + | visit_node(self, arg2, arg3) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_visitor_t(self) + +Help on class group_crinfo_t in module ida_graph: + +class group_crinfo_t(__builtin__.object) + | Proxy of C++ group_crinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> group_crinfo_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | nodes + | group_crinfo_t_nodes_get(self) -> intvec_t * + | + | text + | group_crinfo_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_group_crinfo_t(self) + +Help on class interval_t in module ida_graph: + +class interval_t(__builtin__.object) + | Proxy of C++ interval_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> interval_t + | __init__(self, y0, y1) -> interval_t + | __init__(self, s) -> interval_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | contains(self, *args) + | contains(self, x) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | intersect(self, *args) + | intersect(self, r) + | + | length(self, *args) + | length(self) -> int + | + | make_union(self, *args) + | make_union(self, r) + | + | move_by(self, *args) + | move_by(self, shift) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x0 + | interval_t_x0_get(self) -> int + | + | x1 + | interval_t_x1_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_interval_t(self) + +Help on class mutable_graph_t in module ida_graph: + +class mutable_graph_t(__builtin__.object) + | Proxy of C++ mutable_graph_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | calc_group_ea(self, *args) + | calc_group_ea(self, arg0) -> ea_t + | + | change_group_visibility(self, *args) + | change_group_visibility(self, group, expand) -> bool + | + | clear(self, *args) + | clear(self) + | + | create_digraph_layout(self, *args) + | create_digraph_layout(self) -> bool + | + | create_group(self, *args) + | create_group(self, nodes) -> int + | + | del_custom_layout(self, *args) + | del_custom_layout(self) + | + | delete_group(self, *args) + | delete_group(self, group) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | exists(self, *args) + | exists(self, node) -> bool + | + | get_custom_layout(self, *args) + | get_custom_layout(self) -> bool + | + | get_edge(self, *args) + | get_edge(self, e) -> edge_info_t + | + | get_first_subgraph_node(self, *args) + | get_first_subgraph_node(self, group) -> int + | + | get_graph_groups(self, *args) + | get_graph_groups(self) -> bool + | + | get_next_subgraph_node(self, *args) + | get_next_subgraph_node(self, group, current) -> int + | + | get_node_group(self, *args) + | get_node_group(self, node) -> int + | + | get_node_representative(self, *args) + | get_node_representative(self, node) -> int + | + | is_collapsed_node(self, *args) + | is_collapsed_node(self, node) -> bool + | + | is_deleted_node(self, *args) + | is_deleted_node(self, node) -> bool + | + | is_displayable_node(self, *args) + | is_displayable_node(self, node) -> bool + | + | is_dot_node(self, *args) + | is_dot_node(self, node) -> bool + | + | is_group_node(self, *args) + | is_group_node(self, node) -> bool + | + | is_simple_node(self, *args) + | is_simple_node(self, node) -> bool + | + | is_subgraph_node(self, *args) + | is_subgraph_node(self, node) -> bool + | + | is_uncollapsed_node(self, *args) + | is_uncollapsed_node(self, node) -> bool + | + | is_user_graph(self, *args) + | is_user_graph(self) -> bool + | + | is_visible_node(self, *args) + | is_visible_node(self, node) -> bool + | + | node_qty(self, *args) + | node_qty(self) -> int + | + | npred(self, *args) + | npred(self, b) -> int + | + | nrect(self, *args) + | nrect(self, n) -> rect_t + | nrect(self, n) -> rect_t + | + | nsucc(self, *args) + | nsucc(self, b) -> int + | + | pred(self, *args) + | pred(self, b, i) -> int + | + | predset(self, *args) + | predset(self, b) -> intvec_t const & + | + | reset(self, *args) + | reset(self) + | + | set_custom_layout(self, *args) + | set_custom_layout(self) + | + | set_deleted_node(self, *args) + | set_deleted_node(self, node) + | + | set_edge(self, *args) + | set_edge(self, e, ei) -> bool + | + | set_graph_groups(self, *args) + | set_graph_groups(self) + | + | set_node_group(self, *args) + | set_node_group(self, node, group) + | + | size(self, *args) + | size(self) -> int + | + | succ(self, *args) + | succ(self, b, i) -> int + | + | succset(self, *args) + | succset(self, b) -> intvec_t const & + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | belongs + | mutable_graph_t_belongs_get(self) -> intvec_t * + | + | edges + | mutable_graph_t_edges_get(self) -> edge_infos_wrapper_t + | + | gid + | mutable_graph_t_gid_get(self) -> uval_t + | + | node_flags + | mutable_graph_t_node_flags_get(self) -> bytevec_t * + | + | nodes + | mutable_graph_t_nodes_get(self) -> node_layout_t + | + | org_preds + | mutable_graph_t_org_preds_get(self) -> array_of_intvec_t + | + | org_succs + | mutable_graph_t_org_succs_get(self) -> array_of_intvec_t + | + | preds + | mutable_graph_t_preds_get(self) -> array_of_intvec_t + | + | succs + | mutable_graph_t_succs_get(self) -> array_of_intvec_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mutable_graph_t(self) + +Help on class node_info_t in module ida_graph: + +class node_info_t(__builtin__.object) + | Proxy of C++ node_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> node_info_t + | + | __repr__ = _swig_repr(self) + | + | get_flags_for_valid(self, *args) + | get_flags_for_valid(self) -> uint32 + | + | valid_bg_color(self, *args) + | valid_bg_color(self) -> bool + | + | valid_ea(self, *args) + | valid_ea(self) -> bool + | + | valid_flags(self, *args) + | valid_flags(self) -> bool + | + | valid_frame_color(self, *args) + | valid_frame_color(self) -> bool + | + | valid_text(self, *args) + | valid_text(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bg_color + | node_info_t_bg_color_get(self) -> bgcolor_t + | + | ea + | node_info_t_ea_get(self) -> ea_t + | + | flags + | node_info_t_flags_get(self) -> uint32 + | + | frame_color + | node_info_t_frame_color_get(self) -> bgcolor_t + | + | text + | node_info_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_node_info_t(self) + +Help on class node_layout_t in module ida_graph: + +class node_layout_t(__builtin__.object) + | Proxy of C++ qvector< rect_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> rect_t + | + | __init__(self, *args) + | __init__(self) -> node_layout_t + | __init__(self, x) -> node_layout_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> rect_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> rect_t + | begin(self) -> rect_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> rect_t + | end(self) -> rect_t + | + | erase(self, *args) + | erase(self, it) -> rect_t + | erase(self, first, last) -> rect_t + | + | extract(self, *args) + | extract(self) -> rect_t + | + | find(self, *args) + | find(self, x) -> rect_t + | find(self, x) -> rect_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=rect_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> rect_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> rect_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_node_layout_t(self) + +Help on class node_ordering_t in module ida_graph: + +class node_ordering_t(__builtin__.object) + | Proxy of C++ node_ordering_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> node_ordering_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | node(self, *args) + | node(self, _order) -> int + | + | resize(self, *args) + | resize(self, n) + | + | set(self, *args) + | set(self, _node, num) + | + | size(self, *args) + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_node_ordering_t(self) + +Help on class point_t in module ida_graph: + +class point_t(__builtin__.object) + | Proxy of C++ point_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> point_t + | __init__(self, _x, _y) -> point_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | add(self, *args) + | add(self, r) -> point_t + | + | negate(self, *args) + | negate(self) + | + | sub(self, *args) + | sub(self, r) -> point_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | point_t_x_get(self) -> int + | + | y + | point_t_y_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_point_t(self) + +Help on class pointseq_t in module ida_graph: + +class pointseq_t(pointvec_t) + | Proxy of C++ pointseq_t class. + | + | Method resolution order: + | pointseq_t + | pointvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pointseq_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pointseq_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from pointvec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> point_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> point_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> point_t + | begin(self) -> point_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> point_t + | end(self) -> point_t + | + | erase(self, *args) + | erase(self, it) -> point_t + | erase(self, first, last) -> point_t + | + | extract(self, *args) + | extract(self) -> point_t + | + | find(self, *args) + | find(self, x) -> point_t + | find(self, x) -> point_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=point_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> point_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> point_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from pointvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class pointvec_t in module ida_graph: + +class pointvec_t(__builtin__.object) + | Proxy of C++ qvector< point_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> point_t + | + | __init__(self, *args) + | __init__(self) -> pointvec_t + | __init__(self, x) -> pointvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> point_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> point_t + | begin(self) -> point_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> point_t + | end(self) -> point_t + | + | erase(self, *args) + | erase(self, it) -> point_t + | erase(self, first, last) -> point_t + | + | extract(self, *args) + | extract(self) -> point_t + | + | find(self, *args) + | find(self, x) -> point_t + | find(self, x) -> point_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=point_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> point_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> point_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pointvec_t(self) + +Help on function pyg_close in module ida_graph: + +pyg_close(*args) + pyg_close(_self) + +Help on function pyg_select_node in module ida_graph: + +pyg_select_node(*args) + pyg_select_node(_self, nid) + +Help on function pyg_show in module ida_graph: + +pyg_show(*args) + pyg_show(_self) -> bool + +Help on class rect_t in module ida_graph: + +class rect_t(__builtin__.object) + | Proxy of C++ rect_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> rect_t + | __init__(self, l, t, r, b) -> rect_t + | __init__(self, p0, p1) -> rect_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | area(self, *args) + | area(self) -> int + | + | bottomright(self, *args) + | bottomright(self) -> point_t + | + | center(self, *args) + | center(self) -> point_t + | + | contains(self, *args) + | contains(self, p) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | grow(self, *args) + | grow(self, delta) + | + | height(self, *args) + | height(self) -> int + | + | intersect(self, *args) + | intersect(self, r) + | + | is_intersection_empty(self, *args) + | is_intersection_empty(self, r) -> bool + | + | make_union(self, *args) + | make_union(self, r) + | + | move_by(self, *args) + | move_by(self, p) + | + | move_to(self, *args) + | move_to(self, p) + | + | topleft(self, *args) + | topleft(self) -> point_t + | + | width(self, *args) + | width(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bottom + | rect_t_bottom_get(self) -> int + | + | left + | rect_t_left_get(self) -> int + | + | right + | rect_t_right_get(self) -> int + | + | thisown + | The membership flag + | + | top + | rect_t_top_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rect_t(self) + +Help on function refresh_viewer in module ida_graph: + +refresh_viewer(*args) + refresh_viewer(gv) + + + Redraw the graph in the given view. + + + @param gv (C++: graph_viewer_t *) + +Help on class row_info_t in module ida_graph: + +class row_info_t(__builtin__.object) + | Proxy of C++ row_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> row_info_t + | + | __repr__ = _swig_repr(self) + | + | height(self, *args) + | height(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bottom + | row_info_t_bottom_get(self) -> int + | + | nodes + | row_info_t_nodes_get(self) -> intvec_t * + | + | thisown + | The membership flag + | + | top + | row_info_t_top_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_row_info_t(self) + +Help on class screen_graph_selection_base_t in module ida_graph: + +class screen_graph_selection_base_t(__builtin__.object) + | Proxy of C++ qvector< selection_item_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> selection_item_t + | + | __init__(self, *args) + | __init__(self) -> screen_graph_selection_base_t + | __init__(self, x) -> screen_graph_selection_base_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> selection_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> selection_item_t + | begin(self) -> selection_item_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> selection_item_t + | end(self) -> selection_item_t + | + | erase(self, *args) + | erase(self, it) -> selection_item_t + | erase(self, first, last) -> selection_item_t + | + | extract(self, *args) + | extract(self) -> selection_item_t + | + | find(self, *args) + | find(self, x) -> selection_item_t + | find(self, x) -> selection_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=selection_item_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> selection_item_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> selection_item_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = screen_graph_selection_t + | + | __repr__ = _swig_repr(self) + | + | add(self, *args) + | add(self, s) + | + | add_node(self, *args) + | add_node(self, node) + | + | add_point(self, *args) + | add_point(self, e, idx) + | + | del_node(self, *args) + | del_node(self, node) + | + | del_point(self, *args) + | del_point(self, e, idx) + | + | has(self, *args) + | has(self, item) -> bool + | + | items_count(self, *args) + | items_count(self, look_for_nodes) -> size_t + | + | nodes_count(self, *args) + | nodes_count(self) -> size_t + | + | points_count(self, *args) + | points_count(self) -> size_t + | + | sub(self, *args) + | sub(self, s) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_screen_graph_selection_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from screen_graph_selection_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> selection_item_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> selection_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> selection_item_t + | begin(self) -> selection_item_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> selection_item_t + | end(self) -> selection_item_t + | + | erase(self, *args) + | erase(self, it) -> selection_item_t + | erase(self, first, last) -> selection_item_t + | + | extract(self, *args) + | extract(self) -> selection_item_t + | + | find(self, *args) + | find(self, x) -> selection_item_t + | find(self, x) -> selection_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=selection_item_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> selection_item_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> selection_item_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from screen_graph_selection_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class selection_item_t in module ida_graph: + +class selection_item_t(__builtin__.object) + | Proxy of C++ selection_item_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> selection_item_t + | __init__(self, n) -> selection_item_t + | __init__(self, _elp) -> selection_item_t + | __init__(self, e, idx) -> selection_item_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | elp + | selection_item_t_elp_get(self) -> edge_layout_point_t + | + | is_node + | selection_item_t_is_node_get(self) -> bool + | + | node + | selection_item_t_node_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_selection_item_t(self) + +Help on function set_node_info in module ida_graph: + +set_node_info(*args) + set_node_info(gid, node, ni, flags) + + + Set node info. + + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @param ni: node info to use (C++: const node_info_t &) + @param flags: combination of Node info flags , identifying which + fields of 'ni' will be used (C++: uint32) + +Help on function set_viewer_graph in module ida_graph: + +set_viewer_graph(*args) + set_viewer_graph(gv, g) + + + Set the underlying graph object for the given viewer. + + + @param gv (C++: graph_viewer_t *) + @param g (C++: mutable_graph_t *) + +Help on class user_graph_place_t in module ida_graph: + +class user_graph_place_t(__builtin__.object) + | Proxy of C++ user_graph_place_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | node + | user_graph_place_t_node_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_graph_place_t(self) + +Help on function viewer_attach_menu_item in module ida_graph: + +viewer_attach_menu_item(*args) + 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 *) + @param name: action name (C++: const char *) + @return: success + +Help on function viewer_center_on in module ida_graph: + +viewer_center_on(*args) + viewer_center_on(gv, node) + + + Center the graph view on the given node. + + + @param gv (C++: graph_viewer_t *) + @param node (C++: int) + +Help on function viewer_create_groups in module ida_graph: + +viewer_create_groups(*args) + 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 mutable_graph_t::create_group that + will, in essence:clone the current graphfor each 'group_crinfo_t' , + attempt creating group in that new graphif all were successful, + animate to that new graph.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 &) + +Help on function viewer_del_node_info in module ida_graph: + +viewer_del_node_info(*args) + 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) + +Help on function viewer_delete_groups in module ida_graph: + +viewer_delete_groups(*args) + viewer_delete_groups(gv, groups, new_current=-1) -> bool + + + Wrapper around mutable_graph_t::delete_group. This function will:clone + the current graphattempt deleting the groups in that new graphif + successful, animate to that new graph. + + @param gv (C++: graph_viewer_t *) + @param groups (C++: const intvec_t &) + @param new_current (C++: int) + +Help on function viewer_fit_window in module ida_graph: + +viewer_fit_window(*args) + viewer_fit_window(gv) + + + Fit graph viewer to its parent form. + + + @param gv (C++: graph_viewer_t *) + +Help on function viewer_get_curnode in module ida_graph: + +viewer_get_curnode(*args) + viewer_get_curnode(gv) -> int + + + Get number of currently selected node (-1 if none) + + + @param gv (C++: graph_viewer_t *) + +Help on function viewer_get_gli in module ida_graph: + +viewer_get_gli(*args) + 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) + +Help on function viewer_get_node_info in module ida_graph: + +viewer_get_node_info(*args) + 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) + +Help on function viewer_get_selection in module ida_graph: + +viewer_get_selection(*args) + 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 *) + +Help on function viewer_set_gli in module ida_graph: + +viewer_set_gli(*args) + 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 *) + @param flags (C++: uint32) + +Help on function viewer_set_groups_visibility in module ida_graph: + +viewer_set_groups_visibility(*args) + viewer_set_groups_visibility(gv, groups, expand, new_current=-1) -> bool + + + Wrapper around mutable_graph_t::change_visibility. This function + will:clone the current graphattempt changing visibility of the groups + in that new graphif successful, animate to that new graph. + + @param gv (C++: graph_viewer_t *) + @param groups (C++: const intvec_t &) + @param expand (C++: bool) + @param new_current (C++: int) + +Help on function viewer_set_node_info in module ida_graph: + +viewer_set_node_info(*args) + 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 &) + @param flags (C++: uint32) + +Help on function viewer_set_titlebar_height in module ida_graph: + +viewer_set_titlebar_height(*args) + 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) + +=== ida_graph EPYDOC INJECTIONS === +ida_graph.GLICTL_CENTER +""" +the gli should be set/get as center +""" + +ida_graph.MTG_DOT_NODE +""" +is dot node? +""" + +ida_graph.MTG_GROUP_NODE +""" +is group node? +""" + +ida_graph.MTG_NON_DISPLAYABLE_NODE +""" +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) +""" + +ida_graph.NIF_BG_COLOR +""" + 'node_info_t::bg_color' +""" + +ida_graph.NIF_EA +""" + 'node_info_t::ea' +""" + +ida_graph.NIF_FLAGS +""" + 'node_info_t::flags' +""" + +ida_graph.NIF_FRAME_COLOR +""" + 'node_info_t::frame_color' +""" + +ida_graph.NIF_TEXT +""" + 'node_info_t::text' +""" +=== ida_graph EPYDOC INJECTIONS END === +Help on class DecompilationFailure in module ida_hexrays: + +class DecompilationFailure(exceptions.Exception) + | Raised on a decompilation error. + | + | The associated hexrays_failure_t object is stored in the + | 'info' member of this exception. + | + | Method resolution order: + | DecompilationFailure + | exceptions.Exception + | exceptions.BaseException + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, info) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from exceptions.Exception: + | + | __new__ = + | T.__new__(S, ...) -> a new object with type S, a subtype of T + | + | ---------------------------------------------------------------------- + | Methods inherited from exceptions.BaseException: + | + | __delattr__(...) + | x.__delattr__('name') <==> del x.name + | + | __getattribute__(...) + | x.__getattribute__('name') <==> x.name + | + | __getitem__(...) + | x.__getitem__(y) <==> x[y] + | + | __getslice__(...) + | x.__getslice__(i, j) <==> x[i:j] + | + | Use of negative indices is not supported. + | + | __reduce__(...) + | + | __repr__(...) + | x.__repr__() <==> repr(x) + | + | __setattr__(...) + | x.__setattr__('name', value) <==> x.name = value + | + | __setstate__(...) + | + | __str__(...) + | x.__str__() <==> str(x) + | + | __unicode__(...) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from exceptions.BaseException: + | + | __dict__ + | + | args + | + | message + +Help on class Hexrays_Hooks in module ida_hexrays: + +class Hexrays_Hooks(__builtin__.object) + | Proxy of C++ Hexrays_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> Hexrays_Hooks + | + | __repr__ = _swig_repr(self) + | + | close_pseudocode(self, *args) + | close_pseudocode(self, vu) -> int + | + | cmt_changed(self, *args) + | cmt_changed(self, cfunc, loc, cmt) -> int + | + | combine(self, *args) + | combine(self, blk, insn) -> int + | + | create_hint(self, *args) + | create_hint(self, vu) -> PyObject * + | + | curpos(self, *args) + | curpos(self, vu) -> int + | + | double_click(self, *args) + | double_click(self, vu, shift_state) -> int + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | flowchart(self, *args) + | flowchart(self, fc) -> int + | + | func_printed(self, *args) + | func_printed(self, cfunc) -> int + | + | glbopt(self, *args) + | glbopt(self, mba) -> int + | + | hook(self, *args) + | hook(self) -> bool + | + | interr(self, *args) + | interr(self, errcode) -> int + | + | keyboard(self, *args) + | keyboard(self, vu, key_code, shift_state) -> int + | + | locopt(self, *args) + | locopt(self, mba) -> int + | + | lvar_cmt_changed(self, *args) + | lvar_cmt_changed(self, vu, v, cmt) -> int + | + | lvar_mapping_changed(self, *args) + | lvar_mapping_changed(self, vu, frm, to) -> int + | + | lvar_name_changed(self, *args) + | lvar_name_changed(self, vu, v, name, is_user_name) -> int + | + | lvar_type_changed(self, *args) + | lvar_type_changed(self, vu, v, tinfo) -> int + | + | maturity(self, *args) + | maturity(self, cfunc, new_maturity) -> int + | + | microcode(self, *args) + | microcode(self, mba) -> int + | + | open_pseudocode(self, *args) + | open_pseudocode(self, vu) -> int + | + | populating_popup(self, *args) + | populating_popup(self, widget, popup_handle, vu) -> int + | + | prealloc(self, *args) + | prealloc(self, mba) -> int + | + | preoptimized(self, *args) + | preoptimized(self, mba) -> int + | + | print_func(self, *args) + | print_func(self, cfunc, vp) -> int + | + | prolog(self, *args) + | prolog(self, mba, fc, reachable_blocks, decomp_flags) -> int + | + | refresh_pseudocode(self, *args) + | refresh_pseudocode(self, vu) -> int + | + | resolve_stkaddrs(self, *args) + | resolve_stkaddrs(self, mba) -> int + | + | right_click(self, *args) + | right_click(self, vu) -> int + | + | stkpnts(self, *args) + | stkpnts(self, mba, _sps) -> int + | + | structural(self, *args) + | structural(self, ct) -> int + | + | switch_pseudocode(self, *args) + | switch_pseudocode(self, vu) -> int + | + | text_ready(self, *args) + | text_ready(self, vu) -> int + | + | unhook(self, *args) + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_Hexrays_Hooks(self) + +Help on class __cbhooks_t in module ida_hexrays: + +class __cbhooks_t(Hexrays_Hooks) + | Method resolution order: + | __cbhooks_t + | Hexrays_Hooks + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, callback) + | + | close_pseudocode(self, *args) + | + | create_hint(self, *args) + | + | curpos(self, *args) + | + | double_click(self, *args) + | + | func_printed(self, *args) + | + | interr(self, *args) + | + | keyboard(self, *args) + | + | maturity(self, *args) + | + | open_pseudocode(self, *args) + | + | populating_popup(self, *args) + | + | print_func(self, *args) + | + | refresh_pseudocode(self, *args) + | + | right_click(self, *args) + | + | switch_pseudocode(self, *args) + | + | text_ready(self, *args) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | instances = [] + | + | ---------------------------------------------------------------------- + | Methods inherited from Hexrays_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | cmt_changed(self, *args) + | cmt_changed(self, cfunc, loc, cmt) -> int + | + | combine(self, *args) + | combine(self, blk, insn) -> int + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | flowchart(self, *args) + | flowchart(self, fc) -> int + | + | glbopt(self, *args) + | glbopt(self, mba) -> int + | + | hook(self, *args) + | hook(self) -> bool + | + | locopt(self, *args) + | locopt(self, mba) -> int + | + | lvar_cmt_changed(self, *args) + | lvar_cmt_changed(self, vu, v, cmt) -> int + | + | lvar_mapping_changed(self, *args) + | lvar_mapping_changed(self, vu, frm, to) -> int + | + | lvar_name_changed(self, *args) + | lvar_name_changed(self, vu, v, name, is_user_name) -> int + | + | lvar_type_changed(self, *args) + | lvar_type_changed(self, vu, v, tinfo) -> int + | + | microcode(self, *args) + | microcode(self, mba) -> int + | + | prealloc(self, *args) + | prealloc(self, mba) -> int + | + | preoptimized(self, *args) + | preoptimized(self, mba) -> int + | + | prolog(self, *args) + | prolog(self, mba, fc, reachable_blocks, decomp_flags) -> int + | + | resolve_stkaddrs(self, *args) + | resolve_stkaddrs(self, mba) -> int + | + | stkpnts(self, *args) + | stkpnts(self, mba, _sps) -> int + | + | structural(self, *args) + | structural(self, ct) -> int + | + | unhook(self, *args) + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from Hexrays_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from Hexrays_Hooks: + | + | __swig_destroy__ = + | delete_Hexrays_Hooks(self) + +Help on function _call_with_transferrable_ownership in module ida_hexrays: + +_call_with_transferrable_ownership(fun, *args) + # Object ownership + +Help on function _kludge_use_TPopupMenu in module ida_hexrays: + +_kludge_use_TPopupMenu(*args) + _kludge_use_TPopupMenu(m) + +Help on function _ll_call_helper in module ida_hexrays: + +_ll_call_helper(*args) + _ll_call_helper(rettype, args, format) -> cexpr_t + +Help on function _ll_create_helper in module ida_hexrays: + +_ll_create_helper(*args) + _ll_create_helper(standalone, type, format) -> cexpr_t + +Help on function _ll_dereference in module ida_hexrays: + +_ll_dereference(*args) + _ll_dereference(e, ptrsize, is_flt=False) -> cexpr_t + +Help on function _ll_lnot in module ida_hexrays: + +_ll_lnot(*args) + _ll_lnot(e) -> cexpr_t + +Help on function _ll_make_num in module ida_hexrays: + +_ll_make_num(*args) + _ll_make_num(n, func=None, ea=BADADDR, opnum=0, sign=no_sign, size=0) -> cexpr_t + +Help on function _ll_make_ref in module ida_hexrays: + +_ll_make_ref(*args) + _ll_make_ref(e) -> cexpr_t + +Help on function _ll_new_block in module ida_hexrays: + +_ll_new_block(*args) + _ll_new_block() -> cinsn_t + +Help on function _map_as_dict in module ida_hexrays: + +_map_as_dict(maptype, name, keytype, valuetype) + # dictify all dict-like types + +Help on function accepts_small_udts in module ida_hexrays: + +accepts_small_udts(*args) + accepts_small_udts(op) -> bool + + + Is the operator allowed on small structure or union? + + + @param op (C++: ctype_t) + +Help on function accepts_udts in module ida_hexrays: + +accepts_udts(*args) + accepts_udts(op) -> bool + +Help on function arglocs_overlap in module ida_hexrays: + +arglocs_overlap(*args) + arglocs_overlap(loc1, w1, loc2, w2) -> bool + + + Do two arglocs overlap? + + + @param loc1 (C++: const vdloc_t &) + @param w1 (C++: size_t) + @param loc2 (C++: const vdloc_t &) + @param w2 (C++: size_t) + +Help on class array_of_bitsets in module ida_hexrays: + +class array_of_bitsets(__builtin__.object) + | Proxy of C++ qvector< bitset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> bitset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_bitsets + | __init__(self, x) -> array_of_bitsets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> bitset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> bitset_t + | begin(self) -> bitset_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> bitset_t + | end(self) -> bitset_t + | + | erase(self, *args) + | erase(self, it) -> bitset_t + | erase(self, first, last) -> bitset_t + | + | extract(self, *args) + | extract(self) -> bitset_t + | + | find(self, *args) + | find(self, x) -> bitset_t + | find(self, x) -> bitset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=bitset_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> bitset_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> bitset_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_array_of_bitsets(self) + +Help on class array_of_ivlsets in module ida_hexrays: + +class array_of_ivlsets(__builtin__.object) + | Proxy of C++ qvector< ivlset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> ivlset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_ivlsets + | __init__(self, x) -> array_of_ivlsets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> ivlset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> ivlset_t + | begin(self) -> ivlset_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ivlset_t + | end(self) -> ivlset_t + | + | erase(self, *args) + | erase(self, it) -> ivlset_t + | erase(self, first, last) -> ivlset_t + | + | extract(self, *args) + | extract(self) -> ivlset_t + | + | find(self, *args) + | find(self, x) -> ivlset_t + | find(self, x) -> ivlset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=ivlset_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> ivlset_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ivlset_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_array_of_ivlsets(self) + +Help on function asgop in module ida_hexrays: + +asgop(*args) + asgop(cop) -> ctype_t + + + Convert plain operator into assignment operator. For example, cot_add + returns cot_asgadd. + + + @param cop (C++: ctype_t) + +Help on function asgop_revert in module ida_hexrays: + +asgop_revert(*args) + asgop_revert(cop) -> ctype_t + + + Convert assignment operator into plain operator. For example, + cot_asgadd returns cot_add + + @param cop (C++: ctype_t) + @return: cot_empty is the input operator is not an assignment + operator. + +Help on class bit_bound_t in module ida_hexrays: + +class bit_bound_t(__builtin__.object) + | Proxy of C++ bit_bound_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=0, s=0) -> bit_bound_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | nbits + | bit_bound_t_nbits_get(self) -> int16 + | + | sbits + | bit_bound_t_sbits_get(self) -> int16 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bit_bound_t(self) + +Help on class bitset_t in module ida_hexrays: + +class bitset_t(__builtin__.object) + | Proxy of C++ bitset_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> bitset_t + | __init__(self, m) -> bitset_t + | + | __iter__(self) + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __len__ = count(self, *args) + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | add(self, *args) + | add(self, bit) -> bool + | add(self, bit, width) -> bool + | add(self, ml) -> bool + | + | back(self, *args) + | back(self) -> int + | + | begin(self, *args) + | begin(self) -> bitset_t::iterator + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | copy(self, *args) + | copy(self, m) -> bitset_t + | + | count(self, *args) + | count(self) -> int + | count(self, bit) -> int + | + | cut_at(self, *args) + | cut_at(self, maxbit) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> bitset_t::iterator + | + | fill_with_ones(self, *args) + | fill_with_ones(self, maxbit) + | + | front(self, *args) + | front(self) -> int + | + | has(self, *args) + | has(self, bit) -> bool + | + | has_all(self, *args) + | has_all(self, bit, width) -> bool + | + | has_any(self, *args) + | has_any(self, bit, width) -> bool + | + | has_common(self, *args) + | has_common(self, ml) -> bool + | + | inc(self, *args) + | inc(self, p, n=1) + | + | includes(self, *args) + | includes(self, ml) -> bool + | + | intersect(self, *args) + | intersect(self, ml) -> bool + | + | is_subset_of(self, *args) + | is_subset_of(self, ml) -> bool + | + | itat(self, *args) + | itat(self, n) -> bitset_t::iterator + | + | itv(self, *args) + | itv(self, it) -> int + | + | last(self, *args) + | last(self) -> int + | + | shift_down(self, *args) + | shift_down(self, shift) + | + | sub(self, *args) + | sub(self, bit) -> bool + | sub(self, bit, width) -> bool + | sub(self, ml) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bitset_t(self) + +Help on function block_chains_begin in module ida_hexrays: + +block_chains_begin(*args) + 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 *) + +Help on function block_chains_clear in module ida_hexrays: + +block_chains_clear(*args) + block_chains_clear(set) + + + Clear 'block_chains_t' . + + + @param set (C++: block_chains_t *) + +Help on function block_chains_end in module ida_hexrays: + +block_chains_end(*args) + 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 *) + +Help on function block_chains_erase in module ida_hexrays: + +block_chains_erase(*args) + 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) + +Help on function block_chains_find in module ida_hexrays: + +block_chains_find(*args) + 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 *) + @param val (C++: const chain_t &) + +Help on function block_chains_free in module ida_hexrays: + +block_chains_free(*args) + block_chains_free(set) + + + Delete 'block_chains_t' instance. + + + @param set (C++: block_chains_t *) + +Help on function block_chains_get in module ida_hexrays: + +block_chains_get(*args) + block_chains_get(p) -> chain_t + + + Get reference to the current set value. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_insert in module ida_hexrays: + +block_chains_insert(*args) + 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 &) + +Help on class block_chains_iterator_t in module ida_hexrays: + +class block_chains_iterator_t(__builtin__.object) + | Proxy of C++ block_chains_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> block_chains_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | block_chains_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_block_chains_iterator_t(self) + +Help on function block_chains_new in module ida_hexrays: + +block_chains_new(*args) + block_chains_new() -> block_chains_t + + + Create a new 'block_chains_t' instance. + +Help on function block_chains_next in module ida_hexrays: + +block_chains_next(*args) + block_chains_next(p) -> block_chains_iterator_t + + + Move to the next element. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_prev in module ida_hexrays: + +block_chains_prev(*args) + block_chains_prev(p) -> block_chains_iterator_t + + + Move to the previous element. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_size in module ida_hexrays: + +block_chains_size(*args) + block_chains_size(set) -> size_t + + + Get size of 'block_chains_t' . + + + @param set (C++: block_chains_t *) + +Help on class block_chains_t in module ida_hexrays: + +class block_chains_t(__builtin__.object) + | Proxy of C++ block_chains_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> block_chains_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | get_chain(self, *args) + | get_chain(self, k, width=1) -> chain_t + | get_chain(self, k, width=1) -> chain_t + | get_chain(self, ch) -> chain_t + | get_chain(self, ch) -> chain_t + | + | get_reg_chain(self, *args) + | get_reg_chain(self, reg, width=1) -> chain_t + | get_reg_chain(self, reg, width=1) -> chain_t + | + | get_stk_chain(self, *args) + | get_stk_chain(self, off, width=1) -> chain_t + | get_stk_chain(self, off, width=1) -> chain_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_block_chains_t(self) + +Help on class block_chains_vec_t in module ida_hexrays: + +class block_chains_vec_t(__builtin__.object) + | Proxy of C++ qvector< block_chains_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> block_chains_t + | + | __init__(self, *args) + | __init__(self) -> block_chains_vec_t + | __init__(self, x) -> block_chains_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> block_chains_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> block_chains_t + | begin(self) -> block_chains_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> block_chains_t + | end(self) -> block_chains_t + | + | erase(self, *args) + | erase(self, it) -> block_chains_t + | erase(self, first, last) -> block_chains_t + | + | extract(self, *args) + | extract(self) -> block_chains_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=block_chains_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> block_chains_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> block_chains_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_block_chains_vec_t(self) + +Help on function boundaries_begin in module ida_hexrays: + +boundaries_begin(*args) + boundaries_begin(map) -> boundaries_iterator_t + + + Get iterator pointing to the beginning of boundaries_t. + + + @param map (C++: const boundaries_t *) + +Help on function boundaries_clear in module ida_hexrays: + +boundaries_clear(*args) + boundaries_clear(map) + + + Clear boundaries_t. + + + @param map (C++: boundaries_t *) + +Help on function boundaries_end in module ida_hexrays: + +boundaries_end(*args) + boundaries_end(map) -> boundaries_iterator_t + + + Get iterator pointing to the end of boundaries_t. + + + @param map (C++: const boundaries_t *) + +Help on function boundaries_erase in module ida_hexrays: + +boundaries_erase(*args) + boundaries_erase(map, p) + + + Erase current element from boundaries_t. + + + @param map (C++: boundaries_t *) + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_find in module ida_hexrays: + +boundaries_find(*args) + boundaries_find(map, key) -> boundaries_iterator_t + + + Find the specified key in boundaries_t. + + + @param map (C++: const boundaries_t *) + @param key (C++: const cinsn_t *&) + +Help on function boundaries_first in module ida_hexrays: + +boundaries_first(*args) + boundaries_first(p) -> cinsn_t + + + Get reference to the current map key. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_free in module ida_hexrays: + +boundaries_free(*args) + boundaries_free(map) + + + Delete boundaries_t instance. + + + @param map (C++: boundaries_t *) + +Help on function boundaries_insert in module ida_hexrays: + +boundaries_insert(*args) + 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 *&) + @param val (C++: const rangeset_t &) + +Help on class boundaries_iterator_t in module ida_hexrays: + +class boundaries_iterator_t(__builtin__.object) + | Proxy of C++ boundaries_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> boundaries_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | boundaries_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_boundaries_iterator_t(self) + +Help on function boundaries_new in module ida_hexrays: + +boundaries_new(*args) + boundaries_new() -> boundaries_t + + + Create a new boundaries_t instance. + +Help on function boundaries_next in module ida_hexrays: + +boundaries_next(*args) + boundaries_next(p) -> boundaries_iterator_t + + + Move to the next element. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_prev in module ida_hexrays: + +boundaries_prev(*args) + boundaries_prev(p) -> boundaries_iterator_t + + + Move to the previous element. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_second in module ida_hexrays: + +boundaries_second(*args) + boundaries_second(p) -> rangeset_t + + + Get reference to the current map value. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_size in module ida_hexrays: + +boundaries_size(*args) + boundaries_size(map) -> size_t + + + Get size of boundaries_t. + + + @param map (C++: boundaries_t *) + +Help on class boundaries_t in module ida_hexrays: + +class boundaries_t(__builtin__.object) + | Proxy of C++ std::map< cinsn_t *,rangeset_t > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> boundaries_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> rangeset_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | boundaries_begin(map) -> boundaries_iterator_t + | + | __clear = + | boundaries_clear(map) + | + | __end = + | boundaries_end(map) -> boundaries_iterator_t + | + | __erase = + | boundaries_erase(map, p) + | + | __find = + | boundaries_find(map, key) -> boundaries_iterator_t + | + | __first = + | boundaries_first(p) -> cinsn_t + | + | __insert = + | boundaries_insert(map, key, val) -> boundaries_iterator_t + | + | __next = + | boundaries_next(p) -> boundaries_iterator_t + | + | __second = + | boundaries_second(p) -> rangeset_t + | + | __size = + | boundaries_size(map) -> size_t + | + | __swig_destroy__ = + | delete_boundaries_t(self) + | + | keytype = + | Proxy of C++ cinsn_t class. + | + | valuetype = + | Proxy of C++ rangeset_t class. + +Help on function call_helper in module ida_hexrays: + +call_helper(rettype, args, *rest) + +Help on class carg_t in module ida_hexrays: + +class carg_t(cexpr_t) + | Proxy of C++ carg_t class. + | + | Method resolution order: + | carg_t + | cexpr_t + | citem_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> carg_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | consume_cexpr(self, *args) + | consume_cexpr(self, e) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | formal_type + | carg_t_formal_type_get(self) -> tinfo_t + | + | is_vararg + | carg_t_is_vararg_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_carg_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from cexpr_t: + | + | _deregister(self, *args) + | _deregister(self) + | + | _get_a(self, *args) + | _get_a(self) -> carglist_t + | + | _get_fpc(self, *args) + | _get_fpc(self) -> fnumber_t + | + | _get_helper(self, *args) + | _get_helper(self) -> char * + | + | _get_insn(self, *args) + | _get_insn(self) -> cinsn_t + | + | _get_m(self, *args) + | _get_m(self) -> int + | + | _get_n(self, *args) + | _get_n(self) -> cnumber_t + | + | _get_obj_ea(self, *args) + | _get_obj_ea(self) -> ea_t + | + | _get_ptrsize(self, *args) + | _get_ptrsize(self) -> int + | + | _get_refwidth(self, *args) + | _get_refwidth(self) -> int + | + | _get_string(self, *args) + | _get_string(self) -> char * + | + | _get_x(self, *args) + | _get_x(self) -> cexpr_t + | + | _get_y(self, *args) + | _get_y(self) -> cexpr_t + | + | _get_z(self, *args) + | _get_z(self) -> cexpr_t + | + | _register(self, *args) + | _register(self) + | + | _replace_by(self, *args) + | _replace_by(self, r) + | + | _set_a(self, *args) + | _set_a(self, _v) + | + | _set_fpc(self, *args) + | _set_fpc(self, _v) + | + | _set_helper(self, *args) + | _set_helper(self, _v) + | + | _set_insn(self, *args) + | _set_insn(self, _v) + | + | _set_m(self, *args) + | _set_m(self, _v) + | + | _set_n(self, *args) + | _set_n(self, _v) + | + | _set_obj_ea(self, *args) + | _set_obj_ea(self, _v) + | + | _set_ptrsize(self, *args) + | _set_ptrsize(self, _v) + | + | _set_refwidth(self, *args) + | _set_refwidth(self, _v) + | + | _set_string(self, *args) + | _set_string(self, _v) + | + | _set_x(self, *args) + | _set_x(self, _v) + | + | _set_y(self, *args) + | _set_y(self, _v) + | + | _set_z(self, *args) + | _set_z(self, _v) + | + | assign(self, *args) + | assign(self, r) -> cexpr_t + | + | calc_type(self, *args) + | calc_type(self, recursive) + | + | cleanup(self, *args) + | cleanup(self) + | + | contains_comma(self, *args) + | contains_comma(self, times=1) -> bool + | + | contains_comma_or_insn_or_label(self, *args) + | contains_comma_or_insn_or_label(self, maxcommas=1) -> bool + | + | contains_insn(self, *args) + | contains_insn(self, times=1) -> bool + | + | contains_insn_or_label(self, *args) + | contains_insn_or_label(self) -> bool + | + | contains_operator(self, *args) + | contains_operator(self, needed_op, times=1) -> bool + | + | cpadone(self, *args) + | cpadone(self) -> bool + | + | equal_effect(self, *args) + | equal_effect(self, r) -> bool + | + | find_num_op(self, *args) + | find_num_op(self) -> cexpr_t + | find_num_op(self) -> cexpr_t + | + | find_op(self, *args) + | find_op(self, _op) -> cexpr_t + | find_op(self, _op) -> cexpr_t + | + | get_1num_op(self, *args) + | get_1num_op(self, o1, o2) -> bool + | + | get_const_value(self, *args) + | get_const_value(self) -> bool + | + | get_high_nbit_bound(self, *args) + | get_high_nbit_bound(self) -> bit_bound_t + | + | get_low_nbit_bound(self, *args) + | get_low_nbit_bound(self) -> int + | + | get_ptr_or_array(self, *args) + | get_ptr_or_array(self) -> cexpr_t + | + | get_type_sign(self, *args) + | get_type_sign(self) -> type_sign_t + | + | get_v(self, *args) + | get_v(self) -> var_ref_t + | + | has_side_effects(self, *args) + | has_side_effects(self) -> bool + | + | is_call_arg_of(self, *args) + | is_call_arg_of(self, parent) -> bool + | + | is_call_object_of(self, *args) + | is_call_object_of(self, parent) -> bool + | + | is_child_of(self, *args) + | is_child_of(self, parent) -> bool + | + | is_const_value(self, *args) + | is_const_value(self, _v) -> bool + | + | is_cstr(self, *args) + | is_cstr(self) -> bool + | + | is_fpop(self, *args) + | is_fpop(self) -> bool + | + | is_jumpout(self, *args) + | is_jumpout(self) -> bool + | + | is_negative_const(self, *args) + | is_negative_const(self) -> bool + | + | is_nice_cond(self, *args) + | is_nice_cond(self) -> bool + | + | is_nice_expr(self, *args) + | is_nice_expr(self) -> bool + | + | is_non_negative_const(self, *args) + | is_non_negative_const(self) -> bool + | + | is_non_zero_const(self, *args) + | is_non_zero_const(self) -> bool + | + | is_odd_lvalue(self, *args) + | is_odd_lvalue(self) -> bool + | + | is_type_signed(self, *args) + | is_type_signed(self) -> bool + | + | is_type_unsigned(self, *args) + | is_type_unsigned(self) -> bool + | + | is_undef_val(self, *args) + | is_undef_val(self) -> bool + | + | is_vftable(self, *args) + | is_vftable(self) -> bool + | + | is_zero_const(self, *args) + | is_zero_const(self) -> bool + | + | maybe_ptr(self, *args) + | maybe_ptr(self) -> bool + | + | numval(self, *args) + | numval(self) -> uint64 + | + | print1(self, *args) + | print1(self, func) + | + | put_number(self, *args) + | put_number(self, func, value, nbytes, sign=no_sign) + | + | requires_lvalue(self, *args) + | requires_lvalue(self, child) -> bool + | + | set_cpadone(self, *args) + | set_cpadone(self) + | + | set_v(self, *args) + | set_v(self, v) + | + | set_vftable(self, *args) + | set_vftable(self) + | + | swap(self, *args) + | swap(self, r) + | + | theother(self, *args) + | theother(self, what) -> cexpr_t + | theother(self, what) -> cexpr_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cexpr_t: + | + | a + | + | exflags + | cexpr_t_exflags_get(self) -> uint32 + | + | fpc + | + | helper + | + | insn + | + | m + | + | n + | + | obj_ea + | + | operands + | return a dictionary with the operands of a cexpr_t. + | + | opname + | + | ptrsize + | + | refwidth + | + | string + | + | type + | cexpr_t_type_get(self) -> tinfo_t + | + | v + | + | x + | + | y + | + | z + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from cexpr_t: + | + | op_to_typename = {0: 'empty', 1: 'comma', 2: 'asg', 3: 'asgbor', 4: 'a... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) + | _set_op(self, v) + | + | contains_expr(self, *args) + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class carglist_t in module ida_hexrays: + +class carglist_t(qvector_carg_t) + | Proxy of C++ carglist_t class. + | + | Method resolution order: + | carglist_t + | qvector_carg_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> carglist_t + | __init__(self, ftype, fl=0) -> carglist_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | carglist_t_flags_get(self) -> int + | + | functype + | carglist_t_functype_get(self) -> tinfo_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_carglist_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_carg_t: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> carg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> carg_t + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> carg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> carg_t + | begin(self) -> carg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> carg_t + | end(self) -> carg_t + | + | erase(self, *args) + | erase(self, it) -> carg_t + | erase(self, first, last) -> carg_t + | + | extract(self, *args) + | extract(self) -> carg_t + | + | find(self, *args) + | find(self, x) -> carg_t + | find(self, x) -> carg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=carg_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> carg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> carg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_carg_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class casm_t in module ida_hexrays: + +class casm_t(ida_pro.eavec_t)↗ + | Proxy of C++ casm_t class. + | + | Method resolution order: + | casm_t + | ida_pro.eavec_t↗ + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, ea) -> casm_t + | __init__(self, r) -> casm_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | one_insn(self, *args) + | one_insn(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_casm_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_pro.eavec_t:↗ + | + | __getitem__(self, *args) + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> unsigned-ea-like-numeric-type &↗ + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | begin(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | end(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | erase(self, *args) + | erase(self, it) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | erase(self, first, last) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | + | extract(self, *args) + | extract(self) -> unsigned-ea-like-numeric-type *↗ + | + | find(self, *args) + | find(self, x) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | find(self, x) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> unsigned-ea-like-numeric-type &↗ + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_pro.eavec_t:↗ + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function cblock_at in module ida_hexrays: + +cblock_at(self, index) + # cblock.at(int) -> returns the item at the given index index + +Help on function cblock_find in module ida_hexrays: + +cblock_find(self, item) + # cblock.find(cinsn_t) -> returns the iterator positioned at the given item + +Help on function cblock_index in module ida_hexrays: + +cblock_index(self, item) + # cblock.index(cinsn_t) -> returns the index of the given item + +Help on function cblock_insert in module ida_hexrays: + +cblock_insert(self, index, item) + # cblock.insert(index, cinsn_t) + +Help on function cblock_iter in module ida_hexrays: + +cblock_iter(self) + +Help on function cblock_remove in module ida_hexrays: + +cblock_remove(self, item) + # cblock.remove(cinsn_t) + +Help on class cblock_t in module ida_hexrays: + +class cblock_t(qlist_cinsn_t) + | Proxy of C++ cblock_t class. + | + | Method resolution order: + | cblock_t + | qlist_cinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cblock_t + | + | __iter__ = cblock_iter(self) + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _deregister(self, *args) + | _deregister(self) + | + | at = cblock_at(self, index) + | # cblock.at(int) -> returns the item at the given index index + | + | compare(self, *args) + | compare(self, r) -> int + | + | find = cblock_find(self, item) + | # cblock.find(cinsn_t) -> returns the iterator positioned at the given item + | + | index = cblock_index(self, item) + | # cblock.index(cinsn_t) -> returns the index of the given item + | + | insert = cblock_insert(self, index, item) + | # cblock.insert(index, cinsn_t) + | + | remove = cblock_remove(self, item) + | # cblock.remove(cinsn_t) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cblock_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from qlist_cinsn_t: + | + | back(self, *args) + | back(self) -> cinsn_t + | back(self) -> cinsn_t + | + | begin(self, *args) + | begin(self) -> qlist_cinsn_t_iterator + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qlist_cinsn_t_iterator + | + | erase(self, *args) + | erase(self, p) -> qlist< cinsn_t >::iterator + | erase(self, p1, p2) + | erase(self, p) + | + | front(self, *args) + | front(self) -> cinsn_t + | front(self) -> cinsn_t + | + | pop_back(self, *args) + | pop_back(self) + | + | pop_front(self, *args) + | pop_front(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> cinsn_t + | + | push_front(self, *args) + | push_front(self, x) + | + | rbegin(self, *args) + | rbegin(self) -> qlist< cinsn_t >::reverse_iterator + | rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | rend(self, *args) + | rend(self) -> qlist< cinsn_t >::reverse_iterator + | rend(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, x) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qlist_cinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class ccase_t in module ida_hexrays: + +class ccase_t(cinsn_t) + | Proxy of C++ ccase_t class. + | + | Method resolution order: + | ccase_t + | cinsn_t + | citem_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ccase_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | size(self, *args) + | size(self) -> size_t + | + | value(self, *args) + | value(self, i) -> uint64 const & + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | values + | ccase_t_values_get(self) -> ulonglongvec_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ccase_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from cinsn_t: + | + | _deregister(self, *args) + | _deregister(self) + | + | _get_casm(self, *args) + | _get_casm(self) -> casm_t + | + | _get_cblock(self, *args) + | _get_cblock(self) -> cblock_t + | + | _get_cdo(self, *args) + | _get_cdo(self) -> cdo_t + | + | _get_cexpr(self, *args) + | _get_cexpr(self) -> cexpr_t + | + | _get_cfor(self, *args) + | _get_cfor(self) -> cfor_t + | + | _get_cgoto(self, *args) + | _get_cgoto(self) -> cgoto_t + | + | _get_cif(self, *args) + | _get_cif(self) -> cif_t + | + | _get_creturn(self, *args) + | _get_creturn(self) -> creturn_t + | + | _get_cswitch(self, *args) + | _get_cswitch(self) -> cswitch_t + | + | _get_cwhile(self, *args) + | _get_cwhile(self) -> cwhile_t + | + | _print(self, *args) + | _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) + | + | _register(self, *args) + | _register(self) + | + | _replace_by(self, *args) + | _replace_by(self, r) + | + | _set_casm(self, *args) + | _set_casm(self, _v) + | + | _set_cblock(self, *args) + | _set_cblock(self, _v) + | + | _set_cdo(self, *args) + | _set_cdo(self, _v) + | + | _set_cexpr(self, *args) + | _set_cexpr(self, _v) + | + | _set_cfor(self, *args) + | _set_cfor(self, _v) + | + | _set_cgoto(self, *args) + | _set_cgoto(self, _v) + | + | _set_cif(self, *args) + | _set_cif(self, _v) + | + | _set_creturn(self, *args) + | _set_creturn(self, _v) + | + | _set_cswitch(self, *args) + | _set_cswitch(self, _v) + | + | _set_cwhile(self, *args) + | _set_cwhile(self, _v) + | + | assign(self, *args) + | assign(self, r) -> cinsn_t + | + | cleanup(self, *args) + | cleanup(self) + | + | collect_free_breaks(self, *args) + | collect_free_breaks(self, breaks) -> bool + | + | collect_free_continues(self, *args) + | collect_free_continues(self, continues) -> bool + | + | contains_free_break(self, *args) + | contains_free_break(self) -> bool + | + | contains_free_continue(self, *args) + | contains_free_continue(self) -> bool + | + | contains_insn(self, *args) + | contains_insn(self, type, times=1) -> bool + | + | create_if(self, *args) + | create_if(self, cnd) -> cif_t + | + | is_epilog(self) + | + | is_ordinary_flow(self, *args) + | is_ordinary_flow(self) -> bool + | + | new_insn(self, *args) + | new_insn(self, insn_ea) -> cinsn_t + | + | print1(self, *args) + | print1(self, func) + | + | swap(self, *args) + | swap(self, r) + | + | zero(self, *args) + | zero(self) + | + | ---------------------------------------------------------------------- + | Static methods inherited from cinsn_t: + | + | insn_is_epilog(*args) + | insn_is_epilog(insn) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cinsn_t: + | + | casm + | + | cblock + | + | cdo + | + | cexpr + | + | cfor + | + | cgoto + | + | cif + | + | creturn + | + | cswitch + | + | cwhile + | + | details + | 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. + | + | opname + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from cinsn_t: + | + | op_to_typename = {70: 'empty', 71: 'block', 72: 'expr', 73: 'if', 74: ... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) + | _set_op(self, v) + | + | contains_expr(self, *args) + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class ccases_t in module ida_hexrays: + +class ccases_t(qvector_ccase_t) + | Proxy of C++ ccases_t class. + | + | Method resolution order: + | ccases_t + | qvector_ccase_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ccases_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ccases_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_ccase_t: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> ccase_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ccase_t + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> ccase_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> ccase_t + | begin(self) -> ccase_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ccase_t + | end(self) -> ccase_t + | + | erase(self, *args) + | erase(self, it) -> ccase_t + | erase(self, first, last) -> ccase_t + | + | extract(self, *args) + | extract(self) -> ccase_t + | + | find(self, *args) + | find(self, x) -> ccase_t + | find(self, x) -> ccase_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=ccase_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> ccase_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ccase_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_ccase_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class cdg_insn_iterator_t in module ida_hexrays: + +class cdg_insn_iterator_t(__builtin__.object) + | Proxy of C++ cdg_insn_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cdg_insn_iterator_t + | __init__(self, r) -> cdg_insn_iterator_t + | + | __repr__ = _swig_repr(self) + | + | dslot_with_xrefs(self, *args) + | dslot_with_xrefs(self) -> bool + | + | has_dslot(self, *args) + | has_dslot(self) -> bool + | + | next(self, *args) + | next(self, ins) -> merror_t + | + | ok(self, *args) + | ok(self) -> bool + | + | start(self, *args) + | start(self, rng) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dslot + | cdg_insn_iterator_t_dslot_get(self) -> ea_t + | + | dslot_insn + | cdg_insn_iterator_t_dslot_insn_get(self) -> insn_t * + | + | ea + | cdg_insn_iterator_t_ea_get(self) -> ea_t + | + | end + | cdg_insn_iterator_t_end_get(self) -> ea_t + | + | is_likely_dslot + | cdg_insn_iterator_t_is_likely_dslot_get(self) -> bool + | + | is_separate_dslot + | cdg_insn_iterator_t_is_separate_dslot_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cdg_insn_iterator_t(self) + +Help on class cdo_t in module ida_hexrays: + +class cdo_t(cloop_t) + | Proxy of C++ cdo_t class. + | + | Method resolution order: + | cdo_t + | cloop_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cdo_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cdo_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class ceinsn_t in module ida_hexrays: + +class ceinsn_t(__builtin__.object) + | Proxy of C++ ceinsn_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ceinsn_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ceinsn_t(self) + +Help on function cexpr_operands in module ida_hexrays: + +cexpr_operands(self) + return a dictionary with the operands of a cexpr_t. + +Help on class cexpr_t in module ida_hexrays: + +class cexpr_t(citem_t) + | Proxy of C++ cexpr_t class. + | + | Method resolution order: + | cexpr_t + | citem_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cexpr_t + | __init__(self, cop, _x) -> cexpr_t + | __init__(self, cop, _x, _y) -> cexpr_t + | __init__(self, cop, _x, _y, _z) -> cexpr_t + | __init__(self, r) -> cexpr_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _deregister(self, *args) + | _deregister(self) + | + | _get_a(self, *args) + | _get_a(self) -> carglist_t + | + | _get_fpc(self, *args) + | _get_fpc(self) -> fnumber_t + | + | _get_helper(self, *args) + | _get_helper(self) -> char * + | + | _get_insn(self, *args) + | _get_insn(self) -> cinsn_t + | + | _get_m(self, *args) + | _get_m(self) -> int + | + | _get_n(self, *args) + | _get_n(self) -> cnumber_t + | + | _get_obj_ea(self, *args) + | _get_obj_ea(self) -> ea_t + | + | _get_ptrsize(self, *args) + | _get_ptrsize(self) -> int + | + | _get_refwidth(self, *args) + | _get_refwidth(self) -> int + | + | _get_string(self, *args) + | _get_string(self) -> char * + | + | _get_x(self, *args) + | _get_x(self) -> cexpr_t + | + | _get_y(self, *args) + | _get_y(self) -> cexpr_t + | + | _get_z(self, *args) + | _get_z(self) -> cexpr_t + | + | _register(self, *args) + | _register(self) + | + | _replace_by(self, *args) + | _replace_by(self, r) + | + | _set_a(self, *args) + | _set_a(self, _v) + | + | _set_fpc(self, *args) + | _set_fpc(self, _v) + | + | _set_helper(self, *args) + | _set_helper(self, _v) + | + | _set_insn(self, *args) + | _set_insn(self, _v) + | + | _set_m(self, *args) + | _set_m(self, _v) + | + | _set_n(self, *args) + | _set_n(self, _v) + | + | _set_obj_ea(self, *args) + | _set_obj_ea(self, _v) + | + | _set_ptrsize(self, *args) + | _set_ptrsize(self, _v) + | + | _set_refwidth(self, *args) + | _set_refwidth(self, _v) + | + | _set_string(self, *args) + | _set_string(self, _v) + | + | _set_x(self, *args) + | _set_x(self, _v) + | + | _set_y(self, *args) + | _set_y(self, _v) + | + | _set_z(self, *args) + | _set_z(self, _v) + | + | assign(self, *args) + | assign(self, r) -> cexpr_t + | + | calc_type(self, *args) + | calc_type(self, recursive) + | + | cleanup(self, *args) + | cleanup(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains_comma(self, *args) + | contains_comma(self, times=1) -> bool + | + | contains_comma_or_insn_or_label(self, *args) + | contains_comma_or_insn_or_label(self, maxcommas=1) -> bool + | + | contains_insn(self, *args) + | contains_insn(self, times=1) -> bool + | + | contains_insn_or_label(self, *args) + | contains_insn_or_label(self) -> bool + | + | contains_operator(self, *args) + | contains_operator(self, needed_op, times=1) -> bool + | + | cpadone(self, *args) + | cpadone(self) -> bool + | + | equal_effect(self, *args) + | equal_effect(self, r) -> bool + | + | find_num_op(self, *args) + | find_num_op(self) -> cexpr_t + | find_num_op(self) -> cexpr_t + | + | find_op(self, *args) + | find_op(self, _op) -> cexpr_t + | find_op(self, _op) -> cexpr_t + | + | get_1num_op(self, *args) + | get_1num_op(self, o1, o2) -> bool + | + | get_const_value(self, *args) + | get_const_value(self) -> bool + | + | get_high_nbit_bound(self, *args) + | get_high_nbit_bound(self) -> bit_bound_t + | + | get_low_nbit_bound(self, *args) + | get_low_nbit_bound(self) -> int + | + | get_ptr_or_array(self, *args) + | get_ptr_or_array(self) -> cexpr_t + | + | get_type_sign(self, *args) + | get_type_sign(self) -> type_sign_t + | + | get_v(self, *args) + | get_v(self) -> var_ref_t + | + | has_side_effects(self, *args) + | has_side_effects(self) -> bool + | + | is_call_arg_of(self, *args) + | is_call_arg_of(self, parent) -> bool + | + | is_call_object_of(self, *args) + | is_call_object_of(self, parent) -> bool + | + | is_child_of(self, *args) + | is_child_of(self, parent) -> bool + | + | is_const_value(self, *args) + | is_const_value(self, _v) -> bool + | + | is_cstr(self, *args) + | is_cstr(self) -> bool + | + | is_fpop(self, *args) + | is_fpop(self) -> bool + | + | is_jumpout(self, *args) + | is_jumpout(self) -> bool + | + | is_negative_const(self, *args) + | is_negative_const(self) -> bool + | + | is_nice_cond(self, *args) + | is_nice_cond(self) -> bool + | + | is_nice_expr(self, *args) + | is_nice_expr(self) -> bool + | + | is_non_negative_const(self, *args) + | is_non_negative_const(self) -> bool + | + | is_non_zero_const(self, *args) + | is_non_zero_const(self) -> bool + | + | is_odd_lvalue(self, *args) + | is_odd_lvalue(self) -> bool + | + | is_type_signed(self, *args) + | is_type_signed(self) -> bool + | + | is_type_unsigned(self, *args) + | is_type_unsigned(self) -> bool + | + | is_undef_val(self, *args) + | is_undef_val(self) -> bool + | + | is_vftable(self, *args) + | is_vftable(self) -> bool + | + | is_zero_const(self, *args) + | is_zero_const(self) -> bool + | + | maybe_ptr(self, *args) + | maybe_ptr(self) -> bool + | + | numval(self, *args) + | numval(self) -> uint64 + | + | print1(self, *args) + | print1(self, func) + | + | put_number(self, *args) + | put_number(self, func, value, nbytes, sign=no_sign) + | + | requires_lvalue(self, *args) + | requires_lvalue(self, child) -> bool + | + | set_cpadone(self, *args) + | set_cpadone(self) + | + | set_v(self, *args) + | set_v(self, v) + | + | set_vftable(self, *args) + | set_vftable(self) + | + | swap(self, *args) + | swap(self, r) + | + | theother(self, *args) + | theother(self, what) -> cexpr_t + | theother(self, what) -> cexpr_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | a + | + | exflags + | cexpr_t_exflags_get(self) -> uint32 + | + | fpc + | + | helper + | + | insn + | + | m + | + | n + | + | obj_ea + | + | operands + | return a dictionary with the operands of a cexpr_t. + | + | opname + | + | ptrsize + | + | refwidth + | + | string + | + | thisown + | The membership flag + | + | type + | cexpr_t_type_get(self) -> tinfo_t + | + | v + | + | x + | + | y + | + | z + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cexpr_t(self) + | + | op_to_typename = {0: 'empty', 1: 'comma', 2: 'asg', 3: 'asgbor', 4: 'a... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) + | _set_op(self, v) + | + | contains_expr(self, *args) + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class cfor_t in module ida_hexrays: + +class cfor_t(cloop_t) + | Proxy of C++ cfor_t class. + | + | Method resolution order: + | cfor_t + | cloop_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cfor_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | init + | cfor_t_init_get(self) -> cexpr_t + | + | step + | cfor_t_step_get(self) -> cexpr_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cfor_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class cfunc_parentee_t in module ida_hexrays: + +class cfunc_parentee_t(ctree_parentee_t) + | Proxy of C++ cfunc_parentee_t class. + | + | Method resolution order: + | cfunc_parentee_t + | ctree_parentee_t + | ctree_visitor_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, f, post=False) -> cfunc_parentee_t + | + | __repr__ = _swig_repr(self) + | + | calc_rvalue_type(self, *args) + | calc_rvalue_type(self, target, e) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | func + | cfunc_parentee_t_func_get(self) -> cfunc_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cfunc_parentee_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_parentee_t: + | + | recalc_parent_types(self, *args) + | recalc_parent_types(self) -> bool + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_visitor_t: + | + | apply_to(self, *args) + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) + | clr_prune(self) + | + | clr_restart(self, *args) + | clr_restart(self) + | + | is_postorder(self, *args) + | is_postorder(self) -> bool + | + | leave_expr(self, *args) + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) + | maintain_parents(self) -> bool + | + | must_prune(self, *args) + | must_prune(self) -> bool + | + | must_restart(self, *args) + | must_restart(self) -> bool + | + | only_insns(self, *args) + | only_insns(self) -> bool + | + | parent_expr(self, *args) + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) + | prune_now(self) + | + | set_restart(self, *args) + | set_restart(self) + | + | visit_expr(self, *args) + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctree_visitor_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + +Help on class cfunc_t in module ida_hexrays: + +class cfunc_t(__builtin__.object) + | Proxy of C++ cfunc_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) + | __str__(self) -> qstring + | + | build_c_tree(self, *args) + | build_c_tree(self) + | + | del_orphan_cmts(self, *args) + | del_orphan_cmts(self) -> int + | + | find_item_coords(self, *args) + | find_item_coords(self, item, px, py) -> bool + | find_item_coords(self, item) -> PyObject * + | + | find_label(self, *args) + | find_label(self, label) -> citem_t + | + | gather_derefs(self, *args) + | gather_derefs(self, ci, udm=None) -> bool + | + | get_boundaries(self, *args) + | get_boundaries(self) -> boundaries_t + | + | get_eamap(self, *args) + | get_eamap(self) -> eamap_t + | + | get_func_type(self, *args) + | get_func_type(self, type) -> bool + | + | get_line_item(self, *args) + | get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool + | + | get_lvars(self, *args) + | get_lvars(self) -> lvars_t + | + | get_pseudocode(self, *args) + | get_pseudocode(self) -> strvec_t + | + | get_stkoff_delta(self, *args) + | get_stkoff_delta(self) -> sval_t + | + | get_user_cmt(self, *args) + | get_user_cmt(self, loc, rt) -> char const * + | + | get_user_iflags(self, *args) + | get_user_iflags(self, loc) -> int32 + | + | get_user_union_selection(self, *args) + | get_user_union_selection(self, ea, path) -> bool + | + | get_warnings(self, *args) + | get_warnings(self) -> hexwarns_t + | + | has_orphan_cmts(self, *args) + | has_orphan_cmts(self) -> bool + | + | print_dcl(self, *args) + | print_dcl(self) + | + | print_func(self, *args) + | print_func(self, vp) + | + | refresh_func_ctext(self, *args) + | refresh_func_ctext(self) + | + | release(self, *args) + | release(self) + | + | remove_unused_labels(self, *args) + | remove_unused_labels(self) + | + | save_user_cmts(self, *args) + | save_user_cmts(self) + | + | save_user_iflags(self, *args) + | save_user_iflags(self) + | + | save_user_labels(self, *args) + | save_user_labels(self) + | + | save_user_numforms(self, *args) + | save_user_numforms(self) + | + | save_user_unions(self, *args) + | save_user_unions(self) + | + | set_user_cmt(self, *args) + | set_user_cmt(self, loc, cmt) + | + | set_user_iflags(self, *args) + | set_user_iflags(self, loc, iflags) + | + | set_user_union_selection(self, *args) + | set_user_union_selection(self, ea, path) + | + | verify(self, *args) + | verify(self, aul, even_without_debugger) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argidx + | cfunc_t_argidx_get(self) -> intvec_t + | + | arguments + | + | body + | cfunc_t_body_get(self) -> cinsn_t + | + | boundaries + | get_boundaries(self) -> boundaries_t + | + | eamap + | get_eamap(self) -> eamap_t + | + | entry_ea + | cfunc_t_entry_ea_get(self) -> ea_t + | + | hdrlines + | cfunc_t_hdrlines_get(self) -> int + | + | lvars + | get_lvars(self) -> lvars_t + | + | maturity + | cfunc_t_maturity_get(self) -> ctree_maturity_t + | + | mba + | cfunc_t_mba_get(self) -> mbl_array_t + | + | numforms + | cfunc_t_numforms_get(self) -> user_numforms_t + | + | pseudocode + | get_pseudocode(self) -> strvec_t + | + | refcnt + | cfunc_t_refcnt_get(self) -> int + | + | statebits + | cfunc_t_statebits_get(self) -> int + | + | thisown + | The membership flag + | + | treeitems + | cfunc_t_treeitems_get(self) -> ctree_items_t + | + | type + | Get the function's return type tinfo_t object. + | + | user_cmts + | cfunc_t_user_cmts_get(self) -> user_cmts_t + | + | user_iflags + | cfunc_t_user_iflags_get(self) -> user_iflags_t + | + | user_labels + | cfunc_t_user_labels_get(self) -> user_labels_t + | + | user_unions + | cfunc_t_user_unions_get(self) -> user_unions_t + | + | warnings + | get_warnings(self) -> hexwarns_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cfunc_t(self) + +Help on function cfunc_type in module ida_hexrays: + +cfunc_type(self) + Get the function's return type tinfo_t object. + +Help on class cfuncptr_t in module ida_hexrays: + +class cfuncptr_t(__builtin__.object) + | Proxy of C++ qrefcnt_t< cfunc_t > class. + | + | Methods defined here: + | + | __deref__(self, *args) + | __deref__(self) -> cfunc_t + | + | __eq__ lambda self, other + | + | __init__(self, *args) + | __init__(self, p) -> cfuncptr_t + | __init__(self, r) -> cfuncptr_t + | + | __ptrval__(self, *args) + | __ptrval__(self) -> size_t + | + | __ref__(self, *args) + | __ref__(self) -> cfunc_t + | + | __repr__ = _swig_repr(self) + | + | __str__ lambda self + | + | build_c_tree(self, *args) + | build_c_tree(self) + | + | del_orphan_cmts(self, *args) + | del_orphan_cmts(self) -> int + | + | find_item_coords(self, *args) + | find_item_coords(self, item, px, py) -> bool + | find_item_coords(self, item) -> PyObject * + | + | find_label(self, *args) + | find_label(self, label) -> citem_t + | + | gather_derefs(self, *args) + | gather_derefs(self, ci, udm=None) -> bool + | + | get_boundaries(self, *args) + | get_boundaries(self) -> boundaries_t + | + | get_eamap(self, *args) + | get_eamap(self) -> eamap_t + | + | get_func_type(self, *args) + | get_func_type(self, type) -> bool + | + | get_line_item(self, *args) + | get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool + | + | get_lvars(self, *args) + | get_lvars(self) -> lvars_t + | + | get_pseudocode(self, *args) + | get_pseudocode(self) -> strvec_t + | + | get_stkoff_delta(self, *args) + | get_stkoff_delta(self) -> sval_t + | + | get_user_cmt(self, *args) + | get_user_cmt(self, loc, rt) -> char const * + | + | get_user_iflags(self, *args) + | get_user_iflags(self, loc) -> int32 + | + | get_user_union_selection(self, *args) + | get_user_union_selection(self, ea, path) -> bool + | + | get_warnings(self, *args) + | get_warnings(self) -> hexwarns_t + | + | has_orphan_cmts(self, *args) + | has_orphan_cmts(self) -> bool + | + | print_dcl(self, *args) + | print_dcl(self) + | + | print_func(self, *args) + | print_func(self, vp) + | + | refresh_func_ctext(self, *args) + | refresh_func_ctext(self) + | + | release(self, *args) + | release(self) + | + | remove_unused_labels(self, *args) + | remove_unused_labels(self) + | + | reset(self, *args) + | reset(self) + | + | save_user_cmts(self, *args) + | save_user_cmts(self) + | + | save_user_iflags(self, *args) + | save_user_iflags(self) + | + | save_user_labels(self, *args) + | save_user_labels(self) + | + | save_user_numforms(self, *args) + | save_user_numforms(self) + | + | save_user_unions(self, *args) + | save_user_unions(self) + | + | set_user_cmt(self, *args) + | set_user_cmt(self, loc, cmt) + | + | set_user_iflags(self, *args) + | set_user_iflags(self, loc, iflags) + | + | set_user_union_selection(self, *args) + | set_user_union_selection(self, ea, path) + | + | verify(self, *args) + | verify(self, aul, even_without_debugger) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argidx + | cfuncptr_t_argidx_get(self) -> intvec_t + | + | arguments + | + | body + | cfuncptr_t_body_get(self) -> cinsn_t + | + | boundaries + | + | eamap + | + | entry_ea + | cfuncptr_t_entry_ea_get(self) -> ea_t + | + | hdrlines + | cfuncptr_t_hdrlines_get(self) -> int + | + | lvars + | + | maturity + | cfuncptr_t_maturity_get(self) -> ctree_maturity_t + | + | mba + | cfuncptr_t_mba_get(self) -> mbl_array_t + | + | numforms + | cfuncptr_t_numforms_get(self) -> user_numforms_t + | + | pseudocode + | + | refcnt + | cfuncptr_t_refcnt_get(self) -> int + | + | statebits + | cfuncptr_t_statebits_get(self) -> int + | + | thisown + | The membership flag + | + | treeitems + | cfuncptr_t_treeitems_get(self) -> ctree_items_t + | + | type + | + | user_cmts + | cfuncptr_t_user_cmts_get(self) -> user_cmts_t + | + | user_iflags + | cfuncptr_t_user_iflags_get(self) -> user_iflags_t + | + | user_labels + | cfuncptr_t_user_labels_get(self) -> user_labels_t + | + | user_unions + | cfuncptr_t_user_unions_get(self) -> user_unions_t + | + | warnings + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cfuncptr_t(self) + +Help on class cgoto_t in module ida_hexrays: + +class cgoto_t(__builtin__.object) + | Proxy of C++ cgoto_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cgoto_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | label_num + | cgoto_t_label_num_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cgoto_t(self) + +Help on class chain_keeper_t in module ida_hexrays: + +class chain_keeper_t(__builtin__.object) + | Proxy of C++ chain_keeper_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _gc) -> chain_keeper_t + | + | __repr__ = _swig_repr(self) + | + | back(self, *args) + | back(self) -> block_chains_t + | + | for_all_chains(self, *args) + | for_all_chains(self, cv, gca) -> int + | + | front(self, *args) + | front(self) -> block_chains_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_chain_keeper_t(self) + +Help on class chain_t in module ida_hexrays: + +class chain_t(ida_pro.intvec_t) + | Proxy of C++ chain_t class. + | + | Method resolution order: + | chain_t + | ida_pro.intvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> chain_t + | __init__(self, t, off, w=1, v=-1) -> chain_t + | __init__(self, _k, w=1) -> chain_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | append_list(self, *args) + | append_list(self, list) + | + | clear_varnum(self, *args) + | clear_varnum(self) + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | endoff(self, *args) + | endoff(self) -> voff_t + | + | get_reg(self, *args) + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) + | get_stkoff(self) -> sval_t + | + | includes(self, *args) + | includes(self, r) -> bool + | + | is_fake(self, *args) + | is_fake(self) -> bool + | + | is_inited(self, *args) + | is_inited(self) -> bool + | + | is_overlapped(self, *args) + | is_overlapped(self) -> bool + | + | is_passreg(self, *args) + | is_passreg(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_replaced(self, *args) + | is_replaced(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | is_term(self, *args) + | is_term(self) -> bool + | + | key(self, *args) + | key(self) -> voff_t + | + | overlap(self, *args) + | overlap(self, r) -> bool + | + | set_inited(self, *args) + | set_inited(self, b) + | + | set_overlapped(self, *args) + | set_overlapped(self, b) + | + | set_replaced(self, *args) + | set_replaced(self, b) + | + | set_term(self, *args) + | set_term(self, b) + | + | set_value(self, *args) + | set_value(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | chain_t_flags_get(self) -> uchar + | + | thisown + | The membership flag + | + | varnum + | chain_t_varnum_get(self) -> int + | + | width + | chain_t_width_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_chain_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_pro.intvec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> int const & + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> int & + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> int const & + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< int >::iterator + | begin(self) -> qvector< int >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< int >::iterator + | end(self) -> qvector< int >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< int >::iterator + | erase(self, first, last) -> qvector< int >::iterator + | + | extract(self, *args) + | extract(self) -> int * + | + | find(self, *args) + | find(self, x) -> qvector< int >::iterator + | find(self, x) -> qvector< int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< int >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> int & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_pro.intvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class chain_visitor_t in module ida_hexrays: + +class chain_visitor_t(__builtin__.object) + | Proxy of C++ chain_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> chain_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_chain(self, *args) + | visit_chain(self, nblock, ch) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | parent + | chain_visitor_t_parent_get(self) -> block_chains_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_chain_visitor_t(self) + +Help on function checkout_hexrays_license in module ida_hexrays: + +checkout_hexrays_license(*args) + checkout_hexrays_license(silent) -> bool + + + Check out a floating decompiler license. This function will display a + dialog box if the license is not available. For non-floating licenses + this function is effectively no-op. It is not necessary to call this + function before decompiling. If the license was not checked out, the + decompiler will automatically do it. This function can be used to + check out a license in advance and ensure that a license is available. + + @param silent: silently fail if the license can not be checked out. + (C++: bool) + @return: false if failed + +Help on class cif_t in module ida_hexrays: + +class cif_t(ceinsn_t) + | Proxy of C++ cif_t class. + | + | Method resolution order: + | cif_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cif_t + | __init__(self, r) -> cif_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, r) -> cif_t + | + | cleanup(self, *args) + | cleanup(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ielse + | cif_t_ielse_get(self) -> cinsn_t + | + | ithen + | cif_t_ithen_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cif_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function cinsn_details in module ida_hexrays: + +cinsn_details(self) + 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. + +Help on class cinsn_t in module ida_hexrays: + +class cinsn_t(citem_t) + | Proxy of C++ cinsn_t class. + | + | Method resolution order: + | cinsn_t + | citem_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cinsn_t + | __init__(self, r) -> cinsn_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _deregister(self, *args) + | _deregister(self) + | + | _get_casm(self, *args) + | _get_casm(self) -> casm_t + | + | _get_cblock(self, *args) + | _get_cblock(self) -> cblock_t + | + | _get_cdo(self, *args) + | _get_cdo(self) -> cdo_t + | + | _get_cexpr(self, *args) + | _get_cexpr(self) -> cexpr_t + | + | _get_cfor(self, *args) + | _get_cfor(self) -> cfor_t + | + | _get_cgoto(self, *args) + | _get_cgoto(self) -> cgoto_t + | + | _get_cif(self, *args) + | _get_cif(self) -> cif_t + | + | _get_creturn(self, *args) + | _get_creturn(self) -> creturn_t + | + | _get_cswitch(self, *args) + | _get_cswitch(self) -> cswitch_t + | + | _get_cwhile(self, *args) + | _get_cwhile(self) -> cwhile_t + | + | _print(self, *args) + | _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) + | + | _register(self, *args) + | _register(self) + | + | _replace_by(self, *args) + | _replace_by(self, r) + | + | _set_casm(self, *args) + | _set_casm(self, _v) + | + | _set_cblock(self, *args) + | _set_cblock(self, _v) + | + | _set_cdo(self, *args) + | _set_cdo(self, _v) + | + | _set_cexpr(self, *args) + | _set_cexpr(self, _v) + | + | _set_cfor(self, *args) + | _set_cfor(self, _v) + | + | _set_cgoto(self, *args) + | _set_cgoto(self, _v) + | + | _set_cif(self, *args) + | _set_cif(self, _v) + | + | _set_creturn(self, *args) + | _set_creturn(self, _v) + | + | _set_cswitch(self, *args) + | _set_cswitch(self, _v) + | + | _set_cwhile(self, *args) + | _set_cwhile(self, _v) + | + | assign(self, *args) + | assign(self, r) -> cinsn_t + | + | cleanup(self, *args) + | cleanup(self) + | + | collect_free_breaks(self, *args) + | collect_free_breaks(self, breaks) -> bool + | + | collect_free_continues(self, *args) + | collect_free_continues(self, continues) -> bool + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains_free_break(self, *args) + | contains_free_break(self) -> bool + | + | contains_free_continue(self, *args) + | contains_free_continue(self) -> bool + | + | contains_insn(self, *args) + | contains_insn(self, type, times=1) -> bool + | + | create_if(self, *args) + | create_if(self, cnd) -> cif_t + | + | is_epilog(self) + | + | is_ordinary_flow(self, *args) + | is_ordinary_flow(self) -> bool + | + | new_insn(self, *args) + | new_insn(self, insn_ea) -> cinsn_t + | + | print1(self, *args) + | print1(self, func) + | + | swap(self, *args) + | swap(self, r) + | + | zero(self, *args) + | zero(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | insn_is_epilog(*args) + | insn_is_epilog(insn) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | casm + | + | cblock + | + | cdo + | + | cexpr + | + | cfor + | + | cgoto + | + | cif + | + | creturn + | + | cswitch + | + | cwhile + | + | details + | 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. + | + | opname + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cinsn_t(self) + | + | op_to_typename = {70: 'empty', 71: 'block', 72: 'expr', 73: 'if', 74: ... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) + | _set_op(self, v) + | + | contains_expr(self, *args) + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on function cinsn_t_insn_is_epilog in module ida_hexrays: + +cinsn_t_insn_is_epilog(*args) + cinsn_t_insn_is_epilog(insn) -> bool + +Help on class cinsnptrvec_t in module ida_hexrays: + +class cinsnptrvec_t(__builtin__.object) + | Proxy of C++ qvector< cinsn_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> cinsn_t + | + | __init__(self, *args) + | __init__(self) -> cinsnptrvec_t + | __init__(self, x) -> cinsnptrvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< cinsn_t * >::iterator + | begin(self) -> qvector< cinsn_t * >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< cinsn_t * >::iterator + | end(self) -> qvector< cinsn_t * >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< cinsn_t * >::iterator + | erase(self, first, last) -> qvector< cinsn_t * >::iterator + | + | extract(self, *args) + | extract(self) -> cinsn_t ** + | + | find(self, *args) + | find(self, x) -> qvector< cinsn_t * >::iterator + | find(self, x) -> qvector< cinsn_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< cinsn_t * >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> cinsn_t *& + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cinsnptrvec_t(self) + +Help on class citem_cmt_t in module ida_hexrays: + +class citem_cmt_t(__builtin__.object) + | Proxy of C++ citem_cmt_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> citem_cmt_t + | __init__(self, s) -> citem_cmt_t + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) + | __str__(self) -> char const * + | + | c_str(self, *args) + | c_str(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | used + | citem_cmt_t_used_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_citem_cmt_t(self) + +Help on class citem_locator_t in module ida_hexrays: + +class citem_locator_t(__builtin__.object) + | Proxy of C++ citem_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _ea, _op) -> citem_locator_t + | __init__(self, i) -> citem_locator_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | citem_locator_t_ea_get(self) -> ea_t + | + | op + | citem_locator_t_op_get(self) -> ctype_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_citem_locator_t(self) + +Help on class citem_t in module ida_hexrays: + +class citem_t(__builtin__.object) + | Proxy of C++ citem_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> citem_t + | __init__(self, o) -> citem_t + | + | __repr__ = _swig_repr(self) + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) + | _set_op(self, v) + | + | contains_expr(self, *args) + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) + | is_expr(self) -> bool + | + | print1(self, *args) + | print1(self, func) + | + | replace_by(self, o) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | thisown + | The membership flag + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_citem_t(self) + +Help on function citem_to_specific_type in module ida_hexrays: + +citem_to_specific_type(self) + cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on function clear_cached_cfuncs in module ida_hexrays: + +clear_cached_cfuncs(*args) + clear_cached_cfuncs() + + + Flush all cached decompilation results. + +Help on class cloop_t in module ida_hexrays: + +class cloop_t(ceinsn_t) + | Proxy of C++ cloop_t class. + | + | Method resolution order: + | cloop_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cloop_t + | __init__(self, b) -> cloop_t + | __init__(self, r) -> cloop_t + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cloop_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function close_pseudocode in module ida_hexrays: + +close_pseudocode(*args) + close_pseudocode(f) -> bool + + + Close pseudocode window. + + @param f: pointer to window (C++: TWidget *) + @return: false if failed + +Help on class cnumber_t in module ida_hexrays: + +class cnumber_t(__builtin__.object) + | Proxy of C++ cnumber_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _opnum=0) -> cnumber_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, type, parent=None, nice_stroff=None) + | + | assign(self, *args) + | assign(self, v, nbytes, sign) + | + | compare(self, *args) + | compare(self, r) -> int + | + | value(self, *args) + | value(self, type) -> uint64 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _value + | cnumber_t__value_get(self) -> uint64 + | + | nf + | cnumber_t_nf_get(self) -> number_format_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cnumber_t(self) + +Help on class codegen_t in module ida_hexrays: + +class codegen_t(__builtin__.object) + | Proxy of C++ codegen_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, m) -> codegen_t + | + | __repr__ = _swig_repr(self) + | + | analyze_prolog(self, *args) + | analyze_prolog(self, fc, reachable) -> merror_t + | + | emit(self, *args) + | emit(self, code, width, l, r, d, offsize) -> minsn_t + | emit(self, code, l, r, d) -> minsn_t + | + | emit_micro_mvm(self, *args) + | emit_micro_mvm(self, code, dtype, l, r, d, offsize) -> minsn_t + | + | gen_micro(self, *args) + | gen_micro(self) -> merror_t + | + | load_operand(self, *args) + | load_operand(self, opnum) -> mreg_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ignore_micro + | codegen_t_ignore_micro_get(self) -> char + | + | ii + | codegen_t_ii_get(self) -> cdg_insn_iterator_t + | + | insn + | codegen_t_insn_get(self) -> insn_t * + | + | mb + | codegen_t_mb_get(self) -> mblock_t + | + | mba + | codegen_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_codegen_t(self) + +Help on function convert_to_user_call in module ida_hexrays: + +convert_to_user_call(*args) + convert_to_user_call(udc, cdg) -> merror_t + + + try to generate user-defined call for an instruction + + @param udc (C++: const udcall_t &) + @param cdg (C++: codegen_t &) + @return: Microcode error codes code: MERR_OK - user-defined call + generated else - error (MERR_INSN == inacceptable udc.tif) + +Help on function create_field_name in module ida_hexrays: + +create_field_name(*args) + create_field_name(type, offset=BADADDR) -> qstring + +Help on function create_helper in module ida_hexrays: + +create_helper(*args) + +Help on function create_typedef in module ida_hexrays: + +create_typedef(*args) + create_typedef(name) -> tinfo_t + create_typedef(n) -> tinfo_t + + + Create a reference to a named type. + + @param name: type name (C++: const char *) + @return: type which refers to the specified name. For example, if name + is "DWORD", the type info which refers to "DWORD" is created. + +Help on class creturn_t in module ida_hexrays: + +class creturn_t(ceinsn_t) + | Proxy of C++ creturn_t class. + | + | Method resolution order: + | creturn_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> creturn_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_creturn_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class cswitch_t in module ida_hexrays: + +class cswitch_t(ceinsn_t) + | Proxy of C++ cswitch_t class. + | + | Method resolution order: + | cswitch_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cswitch_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cases + | cswitch_t_cases_get(self) -> ccases_t + | + | mvnf + | cswitch_t_mvnf_get(self) -> cnumber_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cswitch_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class ctext_position_t in module ida_hexrays: + +class ctext_position_t(__builtin__.object) + | Proxy of C++ ctext_position_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _lnnum=-1, _x=0, _y=0) -> ctext_position_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | in_ctree(self, *args) + | in_ctree(self, hdrlines) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | ctext_position_t_lnnum_get(self) -> int + | + | thisown + | The membership flag + | + | x + | ctext_position_t_x_get(self) -> int + | + | y + | ctext_position_t_y_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctext_position_t(self) + +Help on class ctree_anchor_t in module ida_hexrays: + +class ctree_anchor_t(__builtin__.object) + | Proxy of C++ ctree_anchor_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ctree_anchor_t + | + | __repr__ = _swig_repr(self) + | + | get_index(self, *args) + | get_index(self) -> int + | + | get_itp(self, *args) + | get_itp(self) -> item_preciser_t + | + | is_blkcmt_anchor(self, *args) + | is_blkcmt_anchor(self) -> bool + | + | is_citem_anchor(self, *args) + | is_citem_anchor(self) -> bool + | + | is_itp_anchor(self, *args) + | is_itp_anchor(self) -> bool + | + | is_lvar_anchor(self, *args) + | is_lvar_anchor(self) -> bool + | + | is_valid_anchor(self, *args) + | is_valid_anchor(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | value + | ctree_anchor_t_value_get(self) -> uval_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctree_anchor_t(self) + +Help on class ctree_item_t in module ida_hexrays: + +class ctree_item_t(__builtin__.object) + | Proxy of C++ ctree_item_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ctree_item_t + | + | __repr__ = _swig_repr(self) + | + | _get_e(self, *args) + | _get_e(self) -> cexpr_t + | + | _get_f(self, *args) + | _get_f(self) -> cfunc_t + | + | _get_i(self, *args) + | _get_i(self) -> cinsn_t + | + | _get_it(self, *args) + | _get_it(self) -> citem_t + | + | _get_l(self, *args) + | _get_l(self) -> lvar_t + | + | get_ea(self, *args) + | get_ea(self) -> ea_t + | + | get_label_num(self, *args) + | get_label_num(self, gln_flags) -> int + | + | get_lvar(self, *args) + | get_lvar(self) -> lvar_t + | + | get_memptr(self, *args) + | get_memptr(self, p_sptr=None) -> member_t * + | + | is_citem(self, *args) + | is_citem(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | citype + | ctree_item_t_citype_get(self) -> cursor_item_type_t + | + | e + | + | f + | + | i + | + | it + | + | l + | + | loc + | ctree_item_t_loc_get(self) -> treeloc_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctree_item_t(self) + +Help on class ctree_items_t in module ida_hexrays: + +class ctree_items_t(__builtin__.object) + | Proxy of C++ qvector< citem_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> citem_t + | + | __init__(self, *args) + | __init__(self) -> ctree_items_t + | __init__(self, x) -> ctree_items_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< citem_t * >::iterator + | begin(self) -> qvector< citem_t * >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< citem_t * >::iterator + | end(self) -> qvector< citem_t * >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< citem_t * >::iterator + | erase(self, first, last) -> qvector< citem_t * >::iterator + | + | extract(self, *args) + | extract(self) -> citem_t ** + | + | find(self, *args) + | find(self, x) -> qvector< citem_t * >::iterator + | find(self, x) -> qvector< citem_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< citem_t * >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> citem_t *& + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctree_items_t(self) + +Help on class ctree_parentee_t in module ida_hexrays: + +class ctree_parentee_t(ctree_visitor_t) + | Proxy of C++ ctree_parentee_t class. + | + | Method resolution order: + | ctree_parentee_t + | ctree_visitor_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, post=False) -> ctree_parentee_t + | + | __repr__ = _swig_repr(self) + | + | recalc_parent_types(self, *args) + | recalc_parent_types(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctree_parentee_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_visitor_t: + | + | apply_to(self, *args) + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) + | clr_prune(self) + | + | clr_restart(self, *args) + | clr_restart(self) + | + | is_postorder(self, *args) + | is_postorder(self) -> bool + | + | leave_expr(self, *args) + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) + | maintain_parents(self) -> bool + | + | must_prune(self, *args) + | must_prune(self) -> bool + | + | must_restart(self, *args) + | must_restart(self) -> bool + | + | only_insns(self, *args) + | only_insns(self) -> bool + | + | parent_expr(self, *args) + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) + | prune_now(self) + | + | set_restart(self, *args) + | set_restart(self) + | + | visit_expr(self, *args) + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctree_visitor_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + +Help on class ctree_visitor_t in module ida_hexrays: + +class ctree_visitor_t(__builtin__.object) + | Proxy of C++ ctree_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags) -> ctree_visitor_t + | + | __repr__ = _swig_repr(self) + | + | apply_to(self, *args) + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) + | clr_prune(self) + | + | clr_restart(self, *args) + | clr_restart(self) + | + | is_postorder(self, *args) + | is_postorder(self) -> bool + | + | leave_expr(self, *args) + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) + | maintain_parents(self) -> bool + | + | must_prune(self, *args) + | must_prune(self) -> bool + | + | must_restart(self, *args) + | must_restart(self) -> bool + | + | only_insns(self, *args) + | only_insns(self) -> bool + | + | parent_expr(self, *args) + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) + | prune_now(self) + | + | set_restart(self, *args) + | set_restart(self) + | + | visit_expr(self, *args) + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctree_visitor_t(self) + +Help on class cwhile_t in module ida_hexrays: + +class cwhile_t(cloop_t) + | Proxy of C++ cwhile_t class. + | + | Method resolution order: + | cwhile_t + | cloop_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cwhile_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cwhile_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function debug_hexrays_ctree in module ida_hexrays: + +debug_hexrays_ctree(*args) + debug_hexrays_ctree(msg) + +Help on function decompile in module ida_hexrays: + +decompile(ea, hf=None, flags=0) + # --------------------------------------------------------------------- + +Help on function decompile_func in module ida_hexrays: + +decompile_func(*args) + decompile_func(pfn, hf, flags=0) -> cfuncptr_t + + + Decompile a function. Multiple decompilations of the same function + return the same object. + + @param pfn: pointer to function to decompile (C++: func_t *) + @param hf: extended error information (if failed) (C++: + hexrays_failure_t *) + @param flags: bitwise combination of decompile() flags ... bits (C++: + int) + @return: pointer to the decompilation result (a reference counted + pointer). NULL if failed. + +Help on function decompile_many in module ida_hexrays: + +decompile_many(*args) + decompile_many(outfile, funcaddrs, flags) -> bool + + + Batch decompilation. Decompile all or the specified functions + + @param outfile: name of the output file (C++: const char *) + @param funcaddrs: list of functions to decompile. If NULL or empty, + then decompile all nonlib functions (C++: const + eavec_t *) + @param flags: Batch decompilation bits (C++: int) + @return: true if no internal error occurred and the user has not + cancelled decompilation + +Help on function dereference in module ida_hexrays: + +dereference(e, ptrsize, is_float=False) + +Help on function dstr in module ida_hexrays: + +dstr(*args) + 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 *) + +Help on function dummy_ptrtype in module ida_hexrays: + +dummy_ptrtype(*args) + dummy_ptrtype(ptrsize, isfp) -> tinfo_t + + + Generate a dummy pointer type + + @param ptrsize: size of pointed object (C++: int) + @param isfp: is floating point object? (C++: bool) + +Help on function eamap_begin in module ida_hexrays: + +eamap_begin(*args) + eamap_begin(map) -> eamap_iterator_t + + + Get iterator pointing to the beginning of eamap_t. + + + @param map (C++: const eamap_t *) + +Help on function eamap_clear in module ida_hexrays: + +eamap_clear(*args) + eamap_clear(map) + + + Clear eamap_t. + + + @param map (C++: eamap_t *) + +Help on function eamap_end in module ida_hexrays: + +eamap_end(*args) + eamap_end(map) -> eamap_iterator_t + + + Get iterator pointing to the end of eamap_t. + + + @param map (C++: const eamap_t *) + +Help on function eamap_erase in module ida_hexrays: + +eamap_erase(*args) + eamap_erase(map, p) + + + Erase current element from eamap_t. + + + @param map (C++: eamap_t *) + @param p (C++: eamap_iterator_t) + +Help on function eamap_find in module ida_hexrays: + +eamap_find(*args) + eamap_find(map, key) -> eamap_iterator_t + + + Find the specified key in eamap_t. + + + @param map (C++: const eamap_t *) + @param key (C++: const ea_t &) + +Help on function eamap_first in module ida_hexrays: + +eamap_first(*args) + eamap_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_free in module ida_hexrays: + +eamap_free(*args) + eamap_free(map) + + + Delete eamap_t instance. + + + @param map (C++: eamap_t *) + +Help on function eamap_insert in module ida_hexrays: + +eamap_insert(*args) + 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 &) + @param val (C++: const cinsnptrvec_t &) + +Help on class eamap_iterator_t in module ida_hexrays: + +class eamap_iterator_t(__builtin__.object) + | Proxy of C++ eamap_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> eamap_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | eamap_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_eamap_iterator_t(self) + +Help on function eamap_new in module ida_hexrays: + +eamap_new(*args) + eamap_new() -> eamap_t + + + Create a new eamap_t instance. + +Help on function eamap_next in module ida_hexrays: + +eamap_next(*args) + eamap_next(p) -> eamap_iterator_t + + + Move to the next element. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_prev in module ida_hexrays: + +eamap_prev(*args) + eamap_prev(p) -> eamap_iterator_t + + + Move to the previous element. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_second in module ida_hexrays: + +eamap_second(*args) + eamap_second(p) -> cinsnptrvec_t + + + Get reference to the current map value. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_size in module ida_hexrays: + +eamap_size(*args) + eamap_size(map) -> size_t + + + Get size of eamap_t. + + + @param map (C++: eamap_t *) + +Help on class eamap_t in module ida_hexrays: + +class eamap_t(__builtin__.object) + | Proxy of C++ std::map< ea_t,cinsnptrvec_t > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> eamap_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> cinsnptrvec_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | eamap_begin(map) -> eamap_iterator_t + | + | __clear = + | eamap_clear(map) + | + | __end = + | eamap_end(map) -> eamap_iterator_t + | + | __erase = + | eamap_erase(map, p) + | + | __find = + | eamap_find(map, key) -> eamap_iterator_t + | + | __first = + | eamap_first(p) -> ea_t const & + | + | __insert = + | eamap_insert(map, key, val) -> eamap_iterator_t + | + | __next = + | eamap_next(p) -> eamap_iterator_t + | + | __second = + | eamap_second(p) -> cinsnptrvec_t + | + | __size = + | eamap_size(map) -> size_t + | + | __swig_destroy__ = + | delete_eamap_t(self) + | + | keytype = + | long(x=0) -> long + | long(x, base=10) -> long + | + | Convert a number or string to a long integer, or return 0L if no arguments + | are given. If x is floating point, the conversion truncates towards zero. + | + | If x is not a number or if base is given, then x must be a string or + | Unicode object 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) + | 4L + | + | valuetype = + | Proxy of C++ qvector< cinsn_t * > class. + +Help on class fnum_array in module ida_hexrays: + +class fnum_array(__builtin__.object) + | Proxy of C++ wrapped_array_t< uint16,6 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> unsigned short const & + | + | __init__(self, *args) + | __init__(self, data) -> fnum_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | fnum_array_data_get(self) -> unsigned short (&)[6] + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_fnum_array(self) + +Help on class fnumber_t in module ida_hexrays: + +class fnumber_t(__builtin__.object) + | Proxy of C++ fnumber_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> fnumber_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _fnumber_t__get_fnum = __get_fnum(self, *args) + | __get_fnum(self) -> fnum_array + | + | _print(self, *args) + | _print(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | dereference_const_uint16(self, *args) + | dereference_const_uint16(self) -> uint16 const * + | + | dereference_uint16(self, *args) + | dereference_uint16(self) -> uint16 * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fnum + | __get_fnum(self) -> fnum_array + | + | nbytes + | fnumber_t_nbytes_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_fnumber_t(self) + +Help on class gco_info_t in module ida_hexrays: + +class gco_info_t(__builtin__.object) + | Proxy of C++ gco_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> gco_info_t + | + | __repr__ = _swig_repr(self) + | + | append_to_list(self, *args) + | append_to_list(self, list, mba) -> bool + | + | is_def(self, *args) + | is_def(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_use(self, *args) + | is_use(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | gco_info_t_flags_get(self) -> int + | + | name + | gco_info_t_name_get(self) -> qstring * + | + | size + | gco_info_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_gco_info_t(self) + +Help on function gen_microcode in module ida_hexrays: + +gen_microcode(*args) + gen_microcode(mbr, hf, retlist=None, flags=0, reqmat=MMAT_GLBOPT3) -> mbl_array_t + + + Generate microcode of an arbitrary code snippet + + @param mbr: snippet ranges (C++: const mba_ranges_t &) + @param hf: extended error information (if failed) (C++: + hexrays_failure_t *) + @param retlist: list of registers the snippet returns (C++: const + mlist_t *) + @param flags: bitwise combination of decompile() flags ... bits (C++: + int) + @param reqmat: required microcode maturity (C++: mba_maturity_t) + @return: pointer to the microcode, NULL if failed. + +Help on function get_ctype_name in module ida_hexrays: + +get_ctype_name(*args) + get_ctype_name(op) -> char const * + +Help on function get_current_operand in module ida_hexrays: + +get_current_operand(*args) + 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 + return true. + + @param out (C++: gco_info_t *) + +Help on function get_float_type in module ida_hexrays: + +get_float_type(*args) + get_float_type(width) -> tinfo_t + + + Get a type of a floating point value with the specified width + + @param width: width of the desired type (C++: int) + @return: type info object + +Help on function get_hexrays_version in module ida_hexrays: + +get_hexrays_version(*args) + 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" + +Help on function get_int_type_by_width_and_sign in module ida_hexrays: + +get_int_type_by_width_and_sign(*args) + 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: size of the type in bytes (C++: int) + @param sign: sign of the type (C++: type_sign_t) + +Help on function get_member_type in module ida_hexrays: + +get_member_type(*args) + get_member_type(mptr, type) -> bool + + + Get type of a structure field. This function performs validity checks + of the field type. Wrong types are rejected. + + @param mptr: structure field (C++: const member_t *) + @param type: pointer to the variable where the type is returned. This + parameter can be NULL. (C++: tinfo_t *) + @return: false if failed + +Help on function get_merror_desc in module ida_hexrays: + +get_merror_desc(*args) + get_merror_desc(code, mba) -> str + + + Get textual description of an error code + + @param code: Microcode error codes (C++: merror_t) + @param mba: the microcode array (C++: mbl_array_t *) + @return: the error address + +Help on function get_mreg_name in module ida_hexrays: + +get_mreg_name(*args) + get_mreg_name(reg, width, ud=None) -> str + + + Get the microregister name + + @param reg (C++: mreg_t) + @param width: size of microregister in bytes. may be bigger than the + real register size. (C++: int) + @param ud: reserved, must be nullptr (C++: void *) + @return: width of the printed register. this value may be less than + the WIDTH argument. + +Help on function get_op_signness in module ida_hexrays: + +get_op_signness(*args) + get_op_signness(op) -> type_sign_t + + + Get operator sign. Meaningful for sign-dependent operators, like + cot_sdiv. + + + @param op (C++: ctype_t) + +Help on function get_signed_mcode in module ida_hexrays: + +get_signed_mcode(*args) + get_signed_mcode(code) -> mcode_t + +Help on function get_temp_regs in module ida_hexrays: + +get_temp_regs(*args) + 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. + +Help on function get_type in module ida_hexrays: + +get_type(*args) + get_type(id, tif, guess) -> bool + + + Get a global type. Global types are types of addressable objects and + struct/union/enum types + + @param id: address or id of the object (C++: uval_t) + @param tif: buffer for the answer (C++: tinfo_t *) + @param guess: what kind of types to consider (C++: type_source_t) + @return: success + +Help on function get_unk_type in module ida_hexrays: + +get_unk_type(*args) + 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: size of the type in bytes (C++: int) + +Help on function get_unsigned_mcode in module ida_hexrays: + +get_unsigned_mcode(*args) + get_unsigned_mcode(code) -> mcode_t + +Help on function get_widget_vdui in module ida_hexrays: + +get_widget_vdui(*args) + get_widget_vdui(f) -> vdui_t + + + Get the 'vdui_t' instance associated to the TWidget + + @param f: pointer to window (C++: TWidget *) + @return: a vdui_t *, or NULL + +Help on function getb_reginsn in module ida_hexrays: + +getb_reginsn(*args) + getb_reginsn(ins) -> minsn_t + + + Skip assertions backward. + + + @param ins (C++: const minsn_t *) + +Help on function getf_reginsn in module ida_hexrays: + +getf_reginsn(*args) + getf_reginsn(ins) -> minsn_t + + + Skip assertions forward. + + + @param ins (C++: const minsn_t *) + +Help on class graph_chains_t in module ida_hexrays: + +class graph_chains_t(block_chains_vec_t) + | Proxy of C++ graph_chains_t class. + | + | Method resolution order: + | graph_chains_t + | block_chains_vec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> graph_chains_t + | + | __repr__ = _swig_repr(self) + | + | acquire(self, *args) + | acquire(self) + | + | for_all_chains(self, *args) + | for_all_chains(self, cv, gca_flags) -> int + | + | is_locked(self, *args) + | is_locked(self) -> bool + | + | release(self, *args) + | release(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_chains_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from block_chains_vec_t: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> block_chains_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> block_chains_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> block_chains_t + | begin(self) -> block_chains_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> block_chains_t + | end(self) -> block_chains_t + | + | erase(self, *args) + | erase(self, it) -> block_chains_t + | erase(self, first, last) -> block_chains_t + | + | extract(self, *args) + | extract(self) -> block_chains_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=block_chains_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> block_chains_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> block_chains_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from block_chains_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function has_cached_cfunc in module ida_hexrays: + +has_cached_cfunc(*args) + has_cached_cfunc(ea) -> bool + + + Do we have a cached decompilation result for 'ea'? + + + @param ea (C++: ea_t) + +Help on function hexrays_alloc in module ida_hexrays: + +hexrays_alloc(*args) + hexrays_alloc(size) -> void * + +Help on class hexrays_failure_t in module ida_hexrays: + +class hexrays_failure_t(__builtin__.object) + | Proxy of C++ hexrays_failure_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> hexrays_failure_t + | __init__(self, c, ea, buf=None) -> hexrays_failure_t + | __init__(self, c, ea, buf) -> hexrays_failure_t + | + | __repr__ = _swig_repr(self) + | + | __str__ lambda self + | + | desc(self, *args) + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | hexrays_failure_t_code_get(self) -> merror_t + | + | errea + | hexrays_failure_t_errea_get(self) -> ea_t + | + | str + | hexrays_failure_t_str_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_hexrays_failure_t(self) + +Help on function hexrays_free in module ida_hexrays: + +hexrays_free(*args) + hexrays_free(ptr) + +Help on class hexwarn_t in module ida_hexrays: + +class hexwarn_t(__builtin__.object) + | Proxy of C++ hexwarn_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> hexwarn_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | hexwarn_t_ea_get(self) -> ea_t + | + | id + | hexwarn_t_id_get(self) -> warnid_t + | + | text + | hexwarn_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_hexwarn_t(self) + +Help on class hexwarns_t in module ida_hexrays: + +class hexwarns_t(__builtin__.object) + | Proxy of C++ qvector< hexwarn_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> hexwarn_t + | + | __init__(self, *args) + | __init__(self) -> hexwarns_t + | __init__(self, x) -> hexwarns_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> hexwarn_t + | begin(self) -> hexwarn_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> hexwarn_t + | end(self) -> hexwarn_t + | + | erase(self, *args) + | erase(self, it) -> hexwarn_t + | erase(self, first, last) -> hexwarn_t + | + | extract(self, *args) + | extract(self) -> hexwarn_t + | + | find(self, *args) + | find(self, x) -> hexwarn_t + | find(self, x) -> hexwarn_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=hexwarn_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> hexwarn_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> hexwarn_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_hexwarns_t(self) + +Help on class history_item_t in module ida_hexrays: + +class history_item_t(ctext_position_t) + | Proxy of C++ history_item_t class. + | + | Method resolution order: + | history_item_t + | ctext_position_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea=BADADDR, _lnnum=-1, _x=0, _y=0) -> history_item_t + | __init__(self, _ea, p) -> history_item_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ea + | history_item_t_ea_get(self) -> ea_t + | + | end + | history_item_t_end_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_history_item_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ctext_position_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | compare(self, *args) + | compare(self, r) -> int + | + | in_ctree(self, *args) + | in_ctree(self, hdrlines) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctext_position_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | ctext_position_t_lnnum_get(self) -> int + | + | x + | ctext_position_t_x_get(self) -> int + | + | y + | ctext_position_t_y_get(self) -> int + +Help on class history_t in module ida_hexrays: + +class history_t(qvector_history_t) + | Proxy of C++ qstack< history_item_t > class. + | + | Method resolution order: + | history_t + | qvector_history_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> history_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> history_item_t + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> history_item_t + | + | pop(self, *args) + | pop(self) -> history_item_t + | + | push(self, *args) + | push(self, v) + | + | top(self, *args) + | top(self) -> history_item_t + | top(self) -> history_item_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_history_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_history_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> history_item_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> history_item_t + | begin(self) -> history_item_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> history_item_t + | end(self) -> history_item_t + | + | erase(self, *args) + | erase(self, it) -> history_item_t + | erase(self, first, last) -> history_item_t + | + | extract(self, *args) + | extract(self) -> history_item_t + | + | find(self, *args) + | find(self, x) -> history_item_t + | find(self, x) -> history_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=history_item_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> history_item_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> history_item_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_history_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function init_hexrays_plugin in module ida_hexrays: + +init_hexrays_plugin(*args) + init_hexrays_plugin(flags=0) -> bool + + + Initialize your plugin for hex-rays decompiler. This function must be + called before calling any other decompiler function. It initializes + the pointer to the dispatcher. + + @param flags: reserved, must be 0 (C++: int) + @return: true if the decompiler exists and the dispatcher pointer is + ready to use. + +Help on function install_hexrays_callback in module ida_hexrays: + +install_hexrays_callback(callback) + Deprecated. Please use Hexrays_Hooks instead + +Help on function install_microcode_filter in module ida_hexrays: + +install_microcode_filter(*args) + install_microcode_filter(filter, install=True) + + + register/unregister non-standard microcode generator + + @param filter: - microcode generator object (C++: microcode_filter_t + *) + @param install: - TRUE - register the object, FALSE - unregister (C++: + bool) + +Help on function is_additive in module ida_hexrays: + +is_additive(*args) + is_additive(op) -> bool + + + Is additive operator? + + + @param op (C++: ctype_t) + +Help on function is_assignment in module ida_hexrays: + +is_assignment(*args) + is_assignment(op) -> bool + + + Is assignment operator? + + + @param op (C++: ctype_t) + +Help on function is_binary in module ida_hexrays: + +is_binary(*args) + is_binary(op) -> bool + + + Is binary operator? + + + @param op (C++: ctype_t) + +Help on function is_bitop in module ida_hexrays: + +is_bitop(*args) + is_bitop(op) -> bool + + + Is bit related operator? + + + @param op (C++: ctype_t) + +Help on function is_bool_type in module ida_hexrays: + +is_bool_type(*args) + is_bool_type(type) -> bool + + + Is a boolean type? + + @param type (C++: const tinfo_t &) + @return: true if the type is a boolean type + +Help on function is_break_consumer in module ida_hexrays: + +is_break_consumer(*args) + is_break_consumer(op) -> bool + + + Does a break statement influence the specified statement code? + + + @param op (C++: ctype_t) + +Help on function is_commutative in module ida_hexrays: + +is_commutative(*args) + is_commutative(op) -> bool + + + Is commutative operator? + + + @param op (C++: ctype_t) + +Help on function is_inplace_def in module ida_hexrays: + +is_inplace_def(*args) + is_inplace_def(type) -> bool + + + Is struct/union/enum definition (not declaration)? + + + @param type (C++: const tinfo_t &) + +Help on function is_kreg in module ida_hexrays: + +is_kreg(*args) + is_kreg(r) -> bool + + + Is a kernel register? + + + @param r (C++: mreg_t) + +Help on function is_logical in module ida_hexrays: + +is_logical(*args) + is_logical(op) -> bool + + + Is logical operator? + + + @param op (C++: ctype_t) + +Help on function is_loop in module ida_hexrays: + +is_loop(*args) + is_loop(op) -> bool + + + Is loop statement code? + + + @param op (C++: ctype_t) + +Help on function is_lvalue in module ida_hexrays: + +is_lvalue(*args) + is_lvalue(op) -> bool + + + Is Lvalue operator? + + + @param op (C++: ctype_t) + +Help on function is_may_access in module ida_hexrays: + +is_may_access(*args) + is_may_access(maymust) -> bool + +Help on function is_mcode_addsub in module ida_hexrays: + +is_mcode_addsub(*args) + is_mcode_addsub(mcode) -> bool + +Help on function is_mcode_call in module ida_hexrays: + +is_mcode_call(*args) + is_mcode_call(mcode) -> bool + +Help on function is_mcode_commutative in module ida_hexrays: + +is_mcode_commutative(*args) + is_mcode_commutative(mcode) -> bool + +Help on function is_mcode_convertible_to_jmp in module ida_hexrays: + +is_mcode_convertible_to_jmp(*args) + is_mcode_convertible_to_jmp(mcode) -> bool + +Help on function is_mcode_convertible_to_set in module ida_hexrays: + +is_mcode_convertible_to_set(*args) + is_mcode_convertible_to_set(mcode) -> bool + +Help on function is_mcode_divmod in module ida_hexrays: + +is_mcode_divmod(*args) + is_mcode_divmod(op) -> bool + +Help on function is_mcode_fpu in module ida_hexrays: + +is_mcode_fpu(*args) + is_mcode_fpu(mcode) -> bool + +Help on function is_mcode_j1 in module ida_hexrays: + +is_mcode_j1(*args) + is_mcode_j1(mcode) -> bool + +Help on function is_mcode_jcond in module ida_hexrays: + +is_mcode_jcond(*args) + is_mcode_jcond(mcode) -> bool + +Help on function is_mcode_propagatable in module ida_hexrays: + +is_mcode_propagatable(*args) + 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) + +Help on function is_mcode_set in module ida_hexrays: + +is_mcode_set(*args) + is_mcode_set(mcode) -> bool + +Help on function is_mcode_set1 in module ida_hexrays: + +is_mcode_set1(*args) + is_mcode_set1(mcode) -> bool + +Help on function is_mcode_shift in module ida_hexrays: + +is_mcode_shift(*args) + is_mcode_shift(mcode) -> bool + +Help on function is_mcode_xdsu in module ida_hexrays: + +is_mcode_xdsu(*args) + is_mcode_xdsu(mcode) -> bool + +Help on function is_multiplicative in module ida_hexrays: + +is_multiplicative(*args) + is_multiplicative(op) -> bool + + + Is multiplicative operator? + + + @param op (C++: ctype_t) + +Help on function is_nonbool_type in module ida_hexrays: + +is_nonbool_type(*args) + is_nonbool_type(type) -> bool + + + Is definitely a non-boolean type? + + @param type (C++: const tinfo_t &) + @return: true if the type is a non-boolean type (non bool and well + defined) + +Help on function is_paf in module ida_hexrays: + +is_paf(*args) + is_paf(t) -> bool + + + Is a pointer, array, or function type? + + + @param t (C++: type_t) + +Help on function is_prepost in module ida_hexrays: + +is_prepost(*args) + is_prepost(op) -> bool + + + Is pre/post increment/decrement operator? + + + @param op (C++: ctype_t) + +Help on function is_ptr_or_array in module ida_hexrays: + +is_ptr_or_array(*args) + is_ptr_or_array(t) -> bool + + + Is a pointer or array type? + + + @param t (C++: type_t) + +Help on function is_relational in module ida_hexrays: + +is_relational(*args) + is_relational(op) -> bool + + + Is comparison operator? + + + @param op (C++: ctype_t) + +Help on function is_signed_mcode in module ida_hexrays: + +is_signed_mcode(*args) + is_signed_mcode(code) -> bool + +Help on function is_small_udt in module ida_hexrays: + +is_small_udt(*args) + is_small_udt(tif) -> bool + + + Is a small structure or union? + + @param tif (C++: const tinfo_t &) + @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. + +Help on function is_type_correct in module ida_hexrays: + +is_type_correct(*args) + is_type_correct(ptr) -> bool + + + Verify a type string. + + @param ptr (C++: const type_t *) + @return: true if type string is correct + +Help on function is_unary in module ida_hexrays: + +is_unary(*args) + is_unary(op) -> bool + + + Is unary operator? + + + @param op (C++: ctype_t) + +Help on function is_unsigned_mcode in module ida_hexrays: + +is_unsigned_mcode(*args) + is_unsigned_mcode(code) -> bool + +Help on class ivl_t in module ida_hexrays: + +class ivl_t(uval_ivl_t) + | Proxy of C++ ivl_t class. + | + | Method resolution order: + | ivl_t + | uval_ivl_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _off, _size) -> ivl_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, off2) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | extend_to_cover(self, *args) + | extend_to_cover(self, r) -> bool + | + | includes(self, *args) + | includes(self, ivl) -> bool + | + | intersect(self, *args) + | intersect(self, r) + | + | overlap(self, *args) + | overlap(self, ivl) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ivl_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from uval_ivl_t: + | + | end(self, *args) + | end(self) -> unsigned-ea-like-numeric-type↗ + | + | last(self, *args) + | last(self) -> unsigned-ea-like-numeric-type↗ + | + | valid(self, *args) + | valid(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from uval_ivl_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type↗ + | + | size + | uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type↗ + +Help on class ivl_with_name_t in module ida_hexrays: + +class ivl_with_name_t(__builtin__.object) + | Proxy of C++ ivl_with_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ivl_with_name_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ivl + | ivl_with_name_t_ivl_get(self) -> ivl_t + | + | part + | ivl_with_name_t_part_get(self) -> char const * + | + | thisown + | The membership flag + | + | whole + | ivl_with_name_t_whole_get(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ivl_with_name_t(self) + +Help on class ivlset_t in module ida_hexrays: + +class ivlset_t(uval_ivl_ivlset_t) + | Proxy of C++ ivlset_t class. + | + | Method resolution order: + | ivlset_t + | uval_ivl_ivlset_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ivlset_t + | __init__(self, ivl) -> ivlset_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | add(self, *args) + | add(self, ivl) -> bool + | add(self, ea, size) -> bool + | add(self, ivs) -> bool + | + | addmasked(self, *args) + | addmasked(self, ivs, mask) -> bool + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, off) -> bool + | + | count(self, *args) + | count(self) -> asize_t + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | has_common(self, *args) + | has_common(self, ivl, strict=False) -> bool + | has_common(self, ivs) -> bool + | + | includes(self, *args) + | includes(self, ivs) -> bool + | + | intersect(self, *args) + | intersect(self, ivs) -> bool + | + | sub(self, *args) + | sub(self, ivl) -> bool + | sub(self, ea, size) -> bool + | sub(self, ivs) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ivlset_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from uval_ivl_ivlset_t: + | + | all_values(self, *args) + | all_values(self) -> bool + | + | begin(self, *args) + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | getivl(self, *args) + | getivl(self, idx) -> ivl_t + | + | lastivl(self, *args) + | lastivl(self) -> ivl_t + | + | nivls(self, *args) + | nivls(self) -> size_t + | + | qclear(self, *args) + | qclear(self) + | + | set_all_values(self, *args) + | set_all_values(self) + | + | single_value(self, *args) + | single_value(self, v) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from uval_ivl_ivlset_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function jcnd2set in module ida_hexrays: + +jcnd2set(*args) + jcnd2set(code) -> mcode_t + +Help on function lexcompare in module ida_hexrays: + +lexcompare(*args) + lexcompare(a, b) -> int + +Help on function lnot in module ida_hexrays: + +lnot(e) + +Help on class lvar_locator_t in module ida_hexrays: + +class lvar_locator_t(__builtin__.object) + | Proxy of C++ lvar_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_locator_t + | __init__(self, loc, ea) -> lvar_locator_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | get_reg1(self, *args) + | get_reg1(self) -> mreg_t + | + | get_reg2(self, *args) + | get_reg2(self) -> mreg_t + | + | get_scattered(self, *args) + | get_scattered(self) -> scattered_aloc_t + | get_scattered(self) -> scattered_aloc_t + | + | get_stkoff(self, *args) + | get_stkoff(self) -> sval_t + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_reg_var(self, *args) + | is_reg_var(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stk_var(self, *args) + | is_stk_var(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | defea + | lvar_locator_t_defea_get(self) -> ea_t + | + | location + | lvar_locator_t_location_get(self) -> vdloc_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_locator_t(self) + +Help on function lvar_mapping_begin in module ida_hexrays: + +lvar_mapping_begin(*args) + 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 *) + +Help on function lvar_mapping_clear in module ida_hexrays: + +lvar_mapping_clear(*args) + lvar_mapping_clear(map) + + + Clear lvar_mapping_t. + + + @param map (C++: lvar_mapping_t *) + +Help on function lvar_mapping_end in module ida_hexrays: + +lvar_mapping_end(*args) + 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 *) + +Help on function lvar_mapping_erase in module ida_hexrays: + +lvar_mapping_erase(*args) + 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) + +Help on function lvar_mapping_find in module ida_hexrays: + +lvar_mapping_find(*args) + lvar_mapping_find(map, key) -> lvar_mapping_iterator_t + + + Find the specified key in lvar_mapping_t. + + + @param map (C++: const lvar_mapping_t *) + @param key (C++: const lvar_locator_t &) + +Help on function lvar_mapping_first in module ida_hexrays: + +lvar_mapping_first(*args) + lvar_mapping_first(p) -> lvar_locator_t + + + Get reference to the current map key. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_free in module ida_hexrays: + +lvar_mapping_free(*args) + lvar_mapping_free(map) + + + Delete lvar_mapping_t instance. + + + @param map (C++: lvar_mapping_t *) + +Help on function lvar_mapping_insert in module ida_hexrays: + +lvar_mapping_insert(*args) + 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 &) + @param val (C++: const lvar_locator_t &) + +Help on class lvar_mapping_iterator_t in module ida_hexrays: + +class lvar_mapping_iterator_t(__builtin__.object) + | Proxy of C++ lvar_mapping_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_mapping_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | lvar_mapping_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_mapping_iterator_t(self) + +Help on function lvar_mapping_new in module ida_hexrays: + +lvar_mapping_new(*args) + lvar_mapping_new() -> lvar_mapping_t + + + Create a new lvar_mapping_t instance. + +Help on function lvar_mapping_next in module ida_hexrays: + +lvar_mapping_next(*args) + lvar_mapping_next(p) -> lvar_mapping_iterator_t + + + Move to the next element. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_prev in module ida_hexrays: + +lvar_mapping_prev(*args) + lvar_mapping_prev(p) -> lvar_mapping_iterator_t + + + Move to the previous element. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_second in module ida_hexrays: + +lvar_mapping_second(*args) + lvar_mapping_second(p) -> lvar_locator_t + + + Get reference to the current map value. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_size in module ida_hexrays: + +lvar_mapping_size(*args) + lvar_mapping_size(map) -> size_t + + + Get size of lvar_mapping_t. + + + @param map (C++: lvar_mapping_t *) + +Help on class lvar_mapping_t in module ida_hexrays: + +class lvar_mapping_t(__builtin__.object) + | Proxy of C++ std::map< lvar_locator_t,lvar_locator_t > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvar_mapping_t + | + | __repr__ = _swig_repr(self) + | + | at(self, *args) + | at(self, _Keyval) -> lvar_locator_t + | + | size(self, *args) + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_mapping_t(self) + +Help on class lvar_ref_t in module ida_hexrays: + +class lvar_ref_t(__builtin__.object) + | Proxy of C++ lvar_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, m, i, o=0) -> lvar_ref_t + | __init__(self, r) -> lvar_ref_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | swap(self, *args) + | swap(self, r) + | + | var(self, *args) + | var(self) -> lvar_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | idx + | lvar_ref_t_idx_get(self) -> int + | + | mba + | lvar_ref_t_mba_get(self) -> mbl_array_t + | + | off + | lvar_ref_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_ref_t(self) + +Help on class lvar_saved_info_t in module ida_hexrays: + +class lvar_saved_info_t(__builtin__.object) + | Proxy of C++ lvar_saved_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_saved_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | clear_keep(self, *args) + | clear_keep(self) + | + | clr_forced_lvar(self, *args) + | clr_forced_lvar(self) + | + | clr_nomap_lvar(self, *args) + | clr_nomap_lvar(self) + | + | clr_noptr_lvar(self, *args) + | clr_noptr_lvar(self) + | + | has_info(self, *args) + | has_info(self) -> bool + | + | is_forced_lvar(self, *args) + | is_forced_lvar(self) -> bool + | + | is_kept(self, *args) + | is_kept(self) -> bool + | + | is_nomap_lvar(self, *args) + | is_nomap_lvar(self) -> bool + | + | is_noptr_lvar(self, *args) + | is_noptr_lvar(self) -> bool + | + | set_forced_lvar(self, *args) + | set_forced_lvar(self) + | + | set_keep(self, *args) + | set_keep(self) + | + | set_nomap_lvar(self, *args) + | set_nomap_lvar(self) + | + | set_noptr_lvar(self, *args) + | set_noptr_lvar(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | lvar_saved_info_t_cmt_get(self) -> qstring * + | + | flags + | lvar_saved_info_t_flags_get(self) -> int + | + | ll + | lvar_saved_info_t_ll_get(self) -> lvar_locator_t + | + | name + | lvar_saved_info_t_name_get(self) -> qstring * + | + | size + | lvar_saved_info_t_size_get(self) -> ssize_t + | + | thisown + | The membership flag + | + | type + | lvar_saved_info_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_saved_info_t(self) + +Help on class lvar_saved_infos_t in module ida_hexrays: + +class lvar_saved_infos_t(__builtin__.object) + | Proxy of C++ qvector< lvar_saved_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> lvar_saved_info_t + | + | __init__(self, *args) + | __init__(self) -> lvar_saved_infos_t + | __init__(self, x) -> lvar_saved_infos_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> lvar_saved_info_t + | begin(self) -> lvar_saved_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> lvar_saved_info_t + | end(self) -> lvar_saved_info_t + | + | erase(self, *args) + | erase(self, it) -> lvar_saved_info_t + | erase(self, first, last) -> lvar_saved_info_t + | + | extract(self, *args) + | extract(self) -> lvar_saved_info_t + | + | find(self, *args) + | find(self, x) -> lvar_saved_info_t + | find(self, x) -> lvar_saved_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=lvar_saved_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> lvar_saved_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> lvar_saved_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_saved_infos_t(self) + +Help on class lvar_t in module ida_hexrays: + +class lvar_t(lvar_locator_t) + | Proxy of C++ lvar_t class. + | + | Method resolution order: + | lvar_t + | lvar_locator_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | accepts_type(self, *args) + | accepts_type(self, t, may_change_thisarg=False) -> bool + | + | append_list(self, *args) + | append_list(self, lst, pad_if_scattered=False) + | + | clear_used(self, *args) + | clear_used(self) + | + | clr_arg_var(self, *args) + | clr_arg_var(self) + | + | clr_automapped(self, *args) + | clr_automapped(self) + | + | clr_dummy_arg(self, *args) + | clr_dummy_arg(self) + | + | clr_fake_var(self, *args) + | clr_fake_var(self) + | + | clr_floating_var(self, *args) + | clr_floating_var(self) + | + | clr_forced_var(self, *args) + | clr_forced_var(self) + | + | clr_mapdst_var(self, *args) + | clr_mapdst_var(self) + | + | clr_mreg_done(self, *args) + | clr_mreg_done(self) + | + | clr_noptr_var(self, *args) + | clr_noptr_var(self) + | + | clr_notarg(self, *args) + | clr_notarg(self) + | + | clr_overlapped_var(self, *args) + | clr_overlapped_var(self) + | + | clr_spoiled_var(self, *args) + | clr_spoiled_var(self) + | + | clr_thisarg(self, *args) + | clr_thisarg(self) + | + | clr_unknown_width(self, *args) + | clr_unknown_width(self) + | + | clr_user_info(self, *args) + | clr_user_info(self) + | + | clr_user_name(self, *args) + | clr_user_name(self) + | + | clr_user_type(self, *args) + | clr_user_type(self) + | + | has_common(self, *args) + | has_common(self, v) -> bool + | + | has_common_bit(self, *args) + | has_common_bit(self, loc, width2) -> bool + | + | has_regname(self, *args) + | has_regname(self) -> bool + | + | is_aliasable(self, *args) + | is_aliasable(self, mba) -> bool + | + | is_automapped(self, *args) + | is_automapped(self) -> bool + | + | is_dummy_arg(self, *args) + | is_dummy_arg(self) -> bool + | + | is_forced_var(self, *args) + | is_forced_var(self) -> bool + | + | is_noptr_var(self, *args) + | is_noptr_var(self) -> bool + | + | is_notarg(self, *args) + | is_notarg(self) -> bool + | + | is_thisarg(self, *args) + | is_thisarg(self) -> bool + | + | set_arg_var(self, *args) + | set_arg_var(self) + | + | set_automapped(self, *args) + | set_automapped(self) + | + | set_dummy_arg(self, *args) + | set_dummy_arg(self) + | + | set_fake_var(self, *args) + | set_fake_var(self) + | + | set_final_lvar_type(self, *args) + | set_final_lvar_type(self, t) + | + | set_floating_var(self, *args) + | set_floating_var(self) + | + | set_forced_var(self, *args) + | set_forced_var(self) + | + | set_lvar_type(self, *args) + | set_lvar_type(self, t, may_fail=False) -> bool + | + | set_mapdst_var(self, *args) + | set_mapdst_var(self) + | + | set_mreg_done(self, *args) + | set_mreg_done(self) + | + | set_non_typed(self, *args) + | set_non_typed(self) + | + | set_noptr_var(self, *args) + | set_noptr_var(self) + | + | set_notarg(self, *args) + | set_notarg(self) + | + | set_overlapped_var(self, *args) + | set_overlapped_var(self) + | + | set_spoiled_var(self, *args) + | set_spoiled_var(self) + | + | set_thisarg(self, *args) + | set_thisarg(self) + | + | set_typed(self, *args) + | set_typed(self) + | + | set_unknown_width(self, *args) + | set_unknown_width(self) + | + | set_used(self, *args) + | set_used(self) + | + | set_user_name(self, *args) + | set_user_name(self) + | + | set_user_type(self, *args) + | set_user_type(self) + | + | set_width(self, *args) + | set_width(self, w, svw_flags=0) -> bool + | + | type(self, *args) + | type(self) -> tinfo_t + | type(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cmt + | lvar_t_cmt_get(self) -> qstring * + | + | defblk + | lvar_t_defblk_get(self) -> int + | + | divisor + | lvar_t_divisor_get(self) -> uint64 + | + | has_nice_name + | has_nice_name(self) -> bool + | + | has_user_info + | has_user_info(self) -> bool + | + | has_user_name + | has_user_name(self) -> bool + | + | has_user_type + | has_user_type(self) -> bool + | + | is_arg_var + | is_arg_var(self) -> bool + | + | is_fake_var + | is_fake_var(self) -> bool + | + | is_floating_var + | is_floating_var(self) -> bool + | + | is_mapdst_var + | is_mapdst_var(self) -> bool + | + | is_overlapped_var + | is_overlapped_var(self) -> bool + | + | is_result_var + | is_result_var(self) -> bool + | + | is_spoiled_var + | is_spoiled_var(self) -> bool + | + | is_unknown_width + | is_unknown_width(self) -> bool + | + | mreg_done + | mreg_done(self) -> bool + | + | name + | lvar_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tif + | lvar_t_tif_get(self) -> tinfo_t + | + | typed + | typed(self) -> bool + | + | used + | used(self) -> bool + | + | width + | lvar_t_width_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from lvar_locator_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | compare(self, *args) + | compare(self, r) -> int + | + | get_reg1(self, *args) + | get_reg1(self) -> mreg_t + | + | get_reg2(self, *args) + | get_reg2(self) -> mreg_t + | + | get_scattered(self, *args) + | get_scattered(self) -> scattered_aloc_t + | get_scattered(self) -> scattered_aloc_t + | + | get_stkoff(self, *args) + | get_stkoff(self) -> sval_t + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_reg_var(self, *args) + | is_reg_var(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stk_var(self, *args) + | is_stk_var(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from lvar_locator_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | defea + | lvar_locator_t_defea_get(self) -> ea_t + | + | location + | lvar_locator_t_location_get(self) -> vdloc_t + +Help on class lvar_uservec_t in module ida_hexrays: + +class lvar_uservec_t(__builtin__.object) + | Proxy of C++ lvar_uservec_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvar_uservec_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | find_info(self, *args) + | find_info(self, vloc) -> lvar_saved_info_t + | + | keep_info(self, *args) + | keep_info(self, v) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lmaps + | lvar_uservec_t_lmaps_get(self) -> lvar_mapping_t + | + | lvvec + | lvar_uservec_t_lvvec_get(self) -> lvar_saved_infos_t + | + | stkoff_delta + | lvar_uservec_t_stkoff_delta_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ulv_flags + | lvar_uservec_t_ulv_flags_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_uservec_t(self) + +Help on class lvars_t in module ida_hexrays: + +class lvars_t(qvector_lvar_t) + | Proxy of C++ lvars_t class. + | + | Method resolution order: + | lvars_t + | qvector_lvar_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvars_t + | + | __repr__ = _swig_repr(self) + | + | find(self, *args) + | find(self, ll) -> lvar_t + | + | find_input_lvar(self, *args) + | find_input_lvar(self, argloc, _size) -> int + | + | find_lvar(self, *args) + | find_lvar(self, location, width, defblk=-1) -> int + | + | find_stkvar(self, *args) + | find_stkvar(self, spoff, width) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvars_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_lvar_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> lvar_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> lvar_t + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> lvar_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> lvar_t + | begin(self) -> lvar_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> lvar_t + | end(self) -> lvar_t + | + | erase(self, *args) + | erase(self, it) -> lvar_t + | erase(self, first, last) -> lvar_t + | + | extract(self, *args) + | extract(self) -> lvar_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=lvar_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> lvar_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> lvar_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_lvar_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function make_num in module ida_hexrays: + +make_num(*args) + +Help on function make_pointer in module ida_hexrays: + +make_pointer(*args) + make_pointer(type) -> tinfo_t + + + Create a pointer type. This function performs the following + conversion: "type" -> "type*" + + @param type: object type. (C++: const tinfo_t &) + @return: "type*". for example, if 'char' is passed as the argument, + +Help on function make_ref in module ida_hexrays: + +make_ref(e) + +Help on function mark_cfunc_dirty in module ida_hexrays: + +mark_cfunc_dirty(*args) + mark_cfunc_dirty(ea, close_views=False) -> bool + + + Flush the cached decompilation results. Erases a cache entry for the + specified function. + + @param ea: function to erase from the cache (C++: ea_t) + @param close_views: close pseudocode windows that show the function + (C++: bool) + @return: if a cache entry existed. + +Help on class mba_range_iterator_t in module ida_hexrays: + +class mba_range_iterator_t(__builtin__.object) + | Proxy of C++ mba_range_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mba_range_iterator_t + | + | __repr__ = _swig_repr(self) + | + | chunk(self, *args) + | chunk(self) -> range_t + | + | is_snippet(self, *args) + | is_snippet(self) -> bool + | + | next(self, *args) + | next(self) -> bool + | + | set(self, *args) + | set(self, mbr) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fii + | mba_range_iterator_t_fii_get(self) -> func_tail_iterator_t + | + | rii + | mba_range_iterator_t_rii_get(self) -> range_chunk_iterator_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mba_range_iterator_t(self) + +Help on class mba_ranges_t in module ida_hexrays: + +class mba_ranges_t(__builtin__.object) + | Proxy of C++ mba_ranges_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _pfn=None) -> mba_ranges_t + | __init__(self, r) -> mba_ranges_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | is_fragmented(self, *args) + | is_fragmented(self) -> bool + | + | is_snippet(self, *args) + | is_snippet(self) -> bool + | + | start(self, *args) + | start(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | pfn + | mba_ranges_t_pfn_get(self) -> func_t * + | + | ranges + | mba_ranges_t_ranges_get(self) -> rangevec_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mba_ranges_t(self) + +Help on class mbl_array_t in module ida_hexrays: + +class mbl_array_t(__builtin__.object) + | Proxy of C++ mbl_array_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | _deregister(self, *args) + | _deregister(self) + | + | _print(self, *args) + | _print(self, vp) + | + | _register(self, *args) + | _register(self) + | + | alloc_lvars(self, *args) + | alloc_lvars(self) + | + | analyze_calls(self, *args) + | analyze_calls(self, acflags) -> int + | + | arg(self, *args) + | arg(self, n) -> lvar_t + | arg(self, n) -> lvar_t + | + | argbase(self, *args) + | argbase(self) -> sval_t + | + | argidx_ok(self, *args) + | argidx_ok(self) -> bool + | + | bad_call_sp_detected(self, *args) + | bad_call_sp_detected(self) -> bool + | + | build_graph(self, *args) + | build_graph(self) -> merror_t + | + | calc_shins_flags(self, *args) + | calc_shins_flags(self) -> int + | + | callinfo_built(self, *args) + | callinfo_built(self) -> bool + | + | chain_varnums_ok(self, *args) + | chain_varnums_ok(self) -> bool + | + | clr_cdtr(self, *args) + | clr_cdtr(self) + | + | clr_mba_flags(self, *args) + | clr_mba_flags(self, f) + | + | clr_mba_flags2(self, *args) + | clr_mba_flags2(self, f) + | + | combine_blocks(self, *args) + | combine_blocks(self) -> bool + | + | common_stkvars_stkargs(self, *args) + | common_stkvars_stkargs(self) -> bool + | + | copy_block(self, *args) + | copy_block(self, blk, new_serial, cpblk_flags=3) -> mblock_t + | + | deleted_pairs(self, *args) + | deleted_pairs(self) -> bool + | + | display_numaddrs(self, *args) + | display_numaddrs(self) -> bool + | + | display_valnums(self, *args) + | display_valnums(self) -> bool + | + | dump(self, *args) + | dump(self) + | + | dump_mba(self, *args) + | dump_mba(self, _verify, title) + | + | find_mop(self, *args) + | find_mop(self, ctx, ea, is_dest, list) -> mop_t + | + | for_all_insns(self, *args) + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) + | for_all_ops(self, mv) -> int + | + | for_all_topinsns(self, *args) + | for_all_topinsns(self, mv) -> int + | + | generated_asserts(self, *args) + | generated_asserts(self) -> bool + | + | get_args_region(self, *args) + | get_args_region(self) -> ivl_t + | + | get_curfunc(self, *args) + | get_curfunc(self) -> func_t * + | + | get_graph(self, *args) + | get_graph(self) -> mbl_graph_t + | + | get_ida_argloc(self, *args) + | get_ida_argloc(self, v) -> argloc_t + | + | get_lvars_region(self, *args) + | get_lvars_region(self) -> ivl_t + | + | get_mba_flags(self, *args) + | get_mba_flags(self) -> int + | + | get_mba_flags2(self, *args) + | get_mba_flags2(self) -> int + | + | get_mblock(self, *args) + | get_mblock(self, n) -> mblock_t + | get_mblock(self, n) -> mblock_t + | + | get_shadow_region(self, *args) + | get_shadow_region(self) -> ivl_t + | + | get_stack_region(self, *args) + | get_stack_region(self) -> ivl_t + | + | get_std_region(self, *args) + | get_std_region(self, idx) -> ivl_t + | + | graph_insns(self, *args) + | graph_insns(self) -> bool + | + | has_bad_sp(self, *args) + | has_bad_sp(self) -> bool + | + | has_over_chains(self, *args) + | has_over_chains(self) -> bool + | + | has_passregs(self, *args) + | has_passregs(self) -> bool + | + | idaloc2vd(self, *args) + | idaloc2vd(self, loc, width) -> vdloc_t + | + | insert_block(self, *args) + | insert_block(self, bblk) -> mblock_t + | + | is_cdtr(self, *args) + | is_cdtr(self) -> bool + | + | is_ctr(self, *args) + | is_ctr(self) -> bool + | + | is_dtr(self, *args) + | is_dtr(self) -> bool + | + | is_pattern(self, *args) + | is_pattern(self) -> bool + | + | is_snippet(self, *args) + | is_snippet(self) -> bool + | + | is_stkarg(self, *args) + | is_stkarg(self, v) -> bool + | + | is_thunk(self, *args) + | is_thunk(self) -> bool + | + | loaded_gdl(self, *args) + | loaded_gdl(self) -> bool + | + | lvar_names_ok(self, *args) + | lvar_names_ok(self) -> bool + | + | lvars_allocated(self, *args) + | lvars_allocated(self) -> bool + | + | lvars_renamed(self, *args) + | lvars_renamed(self) -> bool + | + | mark_chains_dirty(self, *args) + | mark_chains_dirty(self) + | + | may_refine_rettype(self, *args) + | may_refine_rettype(self) -> bool + | + | optimize_global(self, *args) + | optimize_global(self) -> merror_t + | + | optimize_local(self, *args) + | optimize_local(self, locopt_bits) -> int + | + | optimized(self, *args) + | optimized(self) -> bool + | + | precise_defeas(self, *args) + | precise_defeas(self) -> bool + | + | propagated_asserts(self, *args) + | propagated_asserts(self) -> bool + | + | really_alloc(self, *args) + | really_alloc(self) -> bool + | + | regargs_is_not_aligned(self, *args) + | regargs_is_not_aligned(self) -> bool + | + | remove_block(self, *args) + | remove_block(self, blk) -> bool + | + | remove_empty_blocks(self, *args) + | remove_empty_blocks(self) -> bool + | + | returns_fpval(self, *args) + | returns_fpval(self) -> bool + | + | rtype_refined(self, *args) + | rtype_refined(self) -> bool + | + | saverest_done(self, *args) + | saverest_done(self) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | set_mba_flags(self, *args) + | set_mba_flags(self, f) + | + | set_mba_flags2(self, *args) + | set_mba_flags2(self, f) + | + | short_display(self, *args) + | short_display(self) -> bool + | + | should_beautify(self, *args) + | should_beautify(self) -> bool + | + | show_reduction(self, *args) + | show_reduction(self) -> bool + | + | stkoff_ida2vd(self, *args) + | stkoff_ida2vd(self, off) -> sval_t + | + | stkoff_vd2ida(self, *args) + | stkoff_vd2ida(self, off) -> sval_t + | + | term(self, *args) + | term(self) + | + | use_frame(self, *args) + | use_frame(self) -> bool + | + | use_wingraph32(self, *args) + | use_wingraph32(self) -> bool + | + | valranges_done(self, *args) + | valranges_done(self) -> bool + | + | vd2idaloc(self, *args) + | vd2idaloc(self, loc, width, spd) -> argloc_t + | vd2idaloc(self, loc, width) -> argloc_t + | + | verify(self, *args) + | verify(self, always) + | + | write_to_const_detected(self, *args) + | write_to_const_detected(self) -> bool + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | deserialize(*args) + | deserialize(bytes) -> mbl_array_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | aliased_args + | mbl_array_t_aliased_args_get(self) -> ivl_t + | + | aliased_memory + | mbl_array_t_aliased_memory_get(self) -> ivlset_t + | + | aliased_vars + | mbl_array_t_aliased_vars_get(self) -> ivl_t + | + | argidx + | mbl_array_t_argidx_get(self) -> intvec_t + | + | blocks + | mbl_array_t_blocks_get(self) -> mblock_t + | + | cc + | mbl_array_t_cc_get(self) -> cm_t + | + | consumed_argregs + | mbl_array_t_consumed_argregs_get(self) -> rlist_t + | + | entry_ea + | mbl_array_t_entry_ea_get(self) -> ea_t + | + | error_ea + | mbl_array_t_error_ea_get(self) -> ea_t + | + | error_strarg + | mbl_array_t_error_strarg_get(self) -> qstring * + | + | final_type + | mbl_array_t_final_type_get(self) -> bool + | + | first_epilog_ea + | mbl_array_t_first_epilog_ea_get(self) -> ea_t + | + | fpd + | mbl_array_t_fpd_get(self) -> sval_t + | + | frregs + | mbl_array_t_frregs_get(self) -> sval_t + | + | frsize + | mbl_array_t_frsize_get(self) -> sval_t + | + | fti_flags + | mbl_array_t_fti_flags_get(self) -> int + | + | fullsize + | mbl_array_t_fullsize_get(self) -> sval_t + | + | gotoff_stkvars + | mbl_array_t_gotoff_stkvars_get(self) -> ivlset_t + | + | idb_node + | mbl_array_t_idb_node_get(self) -> netnode + | + | idb_spoiled + | mbl_array_t_idb_spoiled_get(self) -> reginfovec_t + | + | idb_type + | mbl_array_t_idb_type_get(self) -> tinfo_t + | + | inargoff + | mbl_array_t_inargoff_get(self) -> sval_t + | + | label + | mbl_array_t_label_get(self) -> qstring * + | + | last_prolog_ea + | mbl_array_t_last_prolog_ea_get(self) -> ea_t + | + | maturity + | mbl_array_t_maturity_get(self) -> mba_maturity_t + | + | mbr + | mbl_array_t_mbr_get(self) -> mba_ranges_t + | + | minargref + | mbl_array_t_minargref_get(self) -> sval_t + | + | minstkref + | mbl_array_t_minstkref_get(self) -> sval_t + | + | minstkref_ea + | mbl_array_t_minstkref_ea_get(self) -> ea_t + | + | natural + | mbl_array_t_natural_get(self) -> mblock_t ** + | + | nodel_memory + | mbl_array_t_nodel_memory_get(self) -> mlist_t + | + | notes + | mbl_array_t_notes_get(self) -> hexwarns_t + | + | npurged + | mbl_array_t_npurged_get(self) -> int + | + | occurred_warns + | mbl_array_t_occurred_warns_get(self) -> uchar [32] + | + | pfn_flags + | mbl_array_t_pfn_flags_get(self) -> int + | + | qty + | mbl_array_t_qty_get(self) -> int + | + | reqmat + | mbl_array_t_reqmat_get(self) -> mba_maturity_t + | + | restricted_memory + | mbl_array_t_restricted_memory_get(self) -> ivlset_t + | + | retsize + | mbl_array_t_retsize_get(self) -> int + | + | retvaridx + | mbl_array_t_retvaridx_get(self) -> int + | + | shadow_args + | mbl_array_t_shadow_args_get(self) -> int + | + | spd_adjust + | mbl_array_t_spd_adjust_get(self) -> sval_t + | + | spoiled_list + | mbl_array_t_spoiled_list_get(self) -> mlist_t + | + | stacksize + | mbl_array_t_stacksize_get(self) -> sval_t + | + | std_ivls + | mbl_array_t_std_ivls_get(self) -> ivl_with_name_t + | + | thisown + | The membership flag + | + | tmpstk_size + | mbl_array_t_tmpstk_size_get(self) -> sval_t + | + | vars + | mbl_array_t_vars_get(self) -> lvars_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mbl_array_t(self) + +Help on function mbl_array_t_deserialize in module ida_hexrays: + +mbl_array_t_deserialize(*args) + mbl_array_t_deserialize(bytes) -> mbl_array_t + +Help on class mbl_graph_t in module ida_hexrays: + +class mbl_graph_t(simple_graph_t) + | Proxy of C++ mbl_graph_t class. + | + | Method resolution order: + | mbl_graph_t + | simple_graph_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | get_chain_stamp(self, *args) + | get_chain_stamp(self) -> int + | + | get_du(self, *args) + | get_du(self, gctype) -> graph_chains_t + | + | get_mblock(self, *args) + | get_mblock(self, n) -> mblock_t + | + | get_ud(self, *args) + | get_ud(self, gctype) -> graph_chains_t + | + | is_du_chain_dirty(self, *args) + | is_du_chain_dirty(self, gctype) -> bool + | + | is_redefined_globally(self, *args) + | is_redefined_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool + | + | is_ud_chain_dirty(self, *args) + | is_ud_chain_dirty(self, gctype) -> bool + | + | is_used_globally(self, *args) + | is_used_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from simple_graph_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | colored_gdl_edges + | simple_graph_t_colored_gdl_edges_get(self) -> bool + | + | title + | simple_graph_t_title_get(self) -> qstring * + +Help on class mblock_t in module ida_hexrays: + +class mblock_t(__builtin__.object) + | Proxy of C++ mblock_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, vp) + | + | append_def_list(self, *args) + | append_def_list(self, list, op, maymust) + | + | append_use_list(self, *args) + | append_use_list(self, list, op, maymust, mask=bitrange_t(0, USHRT_MAX)) + | + | build_def_list(self, *args) + | build_def_list(self, ins, maymust) -> mlist_t + | + | build_lists(self, *args) + | build_lists(self, kill_deads) -> int + | + | build_use_list(self, *args) + | build_use_list(self, ins, maymust) -> mlist_t + | + | dump(self, *args) + | dump(self) + | + | dump_block(self, *args) + | dump_block(self, title) + | + | empty(self, *args) + | empty(self) -> bool + | + | find_access(self, *args) + | find_access(self, op, parent, mend, fdflags) -> minsn_t + | + | find_def(self, *args) + | find_def(self, op, p_i1, i2, fdflags) -> minsn_t + | + | find_first_use(self, *args) + | find_first_use(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t + | + | find_redefinition(self, *args) + | find_redefinition(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t + | + | find_use(self, *args) + | find_use(self, op, p_i1, i2, fdflags) -> minsn_t + | + | for_all_insns(self, *args) + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) + | for_all_ops(self, mv) -> int + | + | for_all_uses(self, *args) + | for_all_uses(self, list, i1, i2, mmv) -> int + | + | get_reginsn_qty(self, *args) + | get_reginsn_qty(self) -> size_t + | + | get_valranges(self, *args) + | get_valranges(self, res, vivl, vrflags) -> bool + | get_valranges(self, res, vivl, m, vrflags) -> bool + | + | insert_into_block(self, *args) + | insert_into_block(self, nm, om) -> minsn_t + | + | is_branch(self, *args) + | is_branch(self) -> bool + | + | is_call_block(self, *args) + | is_call_block(self) -> bool + | + | is_nway(self, *args) + | is_nway(self) -> bool + | + | is_redefined(self, *args) + | is_redefined(self, list, i1, i2, maymust=MAY_ACCESS) -> bool + | + | is_rhs_redefined(self, *args) + | is_rhs_redefined(self, ins, i1, i2) -> bool + | + | is_simple_goto_block(self, *args) + | is_simple_goto_block(self) -> bool + | + | is_simple_jcnd_block(self, *args) + | is_simple_jcnd_block(self) -> bool + | + | is_unknown_call(self, *args) + | is_unknown_call(self) -> bool + | + | is_used(self, *args) + | is_used(self, list, i1, i2, maymust=MAY_ACCESS) -> bool + | + | lists_dirty(self, *args) + | lists_dirty(self) -> bool + | + | lists_ready(self, *args) + | lists_ready(self) -> bool + | + | make_lists_ready(self, *args) + | make_lists_ready(self) -> int + | + | make_nop(self, *args) + | make_nop(self, m) + | + | mark_lists_dirty(self, *args) + | mark_lists_dirty(self) + | + | needs_propagation(self, *args) + | needs_propagation(self) -> bool + | + | npred(self, *args) + | npred(self) -> int + | + | nsucc(self, *args) + | nsucc(self) -> int + | + | optimize_block(self, *args) + | optimize_block(self) -> int + | + | optimize_insn(self, *args) + | optimize_insn(self, m, optflags=0x0002|0x0004) -> int + | + | optimize_useless_jump(self, *args) + | optimize_useless_jump(self) -> int + | + | pred(self, *args) + | pred(self, n) -> int + | + | preds(self) + | Iterates the list of predecessor blocks + | + | remove_from_block(self, *args) + | remove_from_block(self, m) -> minsn_t + | + | request_demote64(self, *args) + | request_demote64(self) + | + | request_propagation(self, *args) + | request_propagation(self) + | + | succ(self, *args) + | succ(self, n) -> int + | + | succs(self) + | Iterates the list of successor blocks + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dead_at_start + | mblock_t_dead_at_start_get(self) -> mlist_t + | + | dnu + | mblock_t_dnu_get(self) -> mlist_t + | + | end + | mblock_t_end_get(self) -> ea_t + | + | flags + | mblock_t_flags_get(self) -> uint32 + | + | head + | mblock_t_head_get(self) -> minsn_t + | + | maxbsp + | mblock_t_maxbsp_get(self) -> sval_t + | + | maybdef + | mblock_t_maybdef_get(self) -> mlist_t + | + | maybuse + | mblock_t_maybuse_get(self) -> mlist_t + | + | mba + | mblock_t_mba_get(self) -> mbl_array_t + | + | minbargref + | mblock_t_minbargref_get(self) -> sval_t + | + | minbstkref + | mblock_t_minbstkref_get(self) -> sval_t + | + | mustbdef + | mblock_t_mustbdef_get(self) -> mlist_t + | + | mustbuse + | mblock_t_mustbuse_get(self) -> mlist_t + | + | nextb + | mblock_t_nextb_get(self) -> mblock_t + | + | predset + | mblock_t_predset_get(self) -> intvec_t + | + | prevb + | mblock_t_prevb_get(self) -> mblock_t + | + | serial + | mblock_t_serial_get(self) -> int + | + | start + | mblock_t_start_get(self) -> ea_t + | + | succset + | mblock_t_succset_get(self) -> intvec_t + | + | tail + | mblock_t_tail_get(self) -> minsn_t + | + | thisown + | The membership flag + | + | type + | mblock_t_type_get(self) -> mblock_type_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mblock_t(self) + +Help on class mcallarg_t in module ida_hexrays: + +class mcallarg_t(mop_t) + | Proxy of C++ mcallarg_t class. + | + | Method resolution order: + | mcallarg_t + | mop_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mcallarg_t + | __init__(self, rarg) -> mcallarg_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, shins_flags=0x04|0x02) + | + | copy_mop(self, *args) + | copy_mop(self, op) + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | make_int(self, *args) + | make_int(self, val, val_ea, opno=0) + | + | make_uint(self, *args) + | make_uint(self, val, val_ea, opno=0) + | + | set_regarg(self, *args) + | set_regarg(self, mr, sz, tif) + | set_regarg(self, mr, tif) + | set_regarg(self, mr, dt, sign=type_unsigned) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | argloc + | mcallarg_t_argloc_get(self) -> argloc_t + | + | ea + | mcallarg_t_ea_get(self) -> ea_t + | + | name + | mcallarg_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | mcallarg_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mcallarg_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from mop_t: + | + | __eq__(self, *args) + | __eq__(self, rop) -> bool + | + | __lt__(self, *args) + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) + | __ne__(self, rop) -> bool + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) + | _get_b(self) -> int + | + | _get_c(self, *args) + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) + | _get_helper(self) -> char const * + | + | _get_l(self, *args) + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) + | _make_gvar(self, ea) + | + | _make_insn(self, *args) + | _make_insn(self, ins) + | + | _make_lvar(self, *args) + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) + | _make_pair(self, _pair) + | + | _make_reg(self, *args) + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _register(self, *args) + | _register(self) + | + | _set_a(self, *args) + | _set_a(self, _v) + | + | _set_b(self, *args) + | _set_b(self, _v) + | + | _set_c(self, *args) + | _set_c(self, _v) + | + | _set_cstr(self, *args) + | _set_cstr(self, _v) + | + | _set_d(self, *args) + | _set_d(self, _v) + | + | _set_f(self, *args) + | _set_f(self, _v) + | + | _set_fpc(self, *args) + | _set_fpc(self, _v) + | + | _set_g(self, *args) + | _set_g(self, _v) + | + | _set_helper(self, *args) + | _set_helper(self, _v) + | + | _set_l(self, *args) + | _set_l(self, _v) + | + | _set_nnn(self, *args) + | _set_nnn(self, _v) + | + | _set_pair(self, *args) + | _set_pair(self, _v) + | + | _set_r(self, *args) + | _set_r(self, _v) + | + | _set_s(self, *args) + | _set_s(self, _v) + | + | _set_scif(self, *args) + | _set_scif(self, _v) + | + | _set_t(self, *args) + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) + | assign(self, rop) -> mop_t + | + | change_size(self, *args) + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | equal_mops(self, *args) + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) + | erase(self) + | + | erase_but_keep_size(self, *args) + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) + | is01(self) -> bool + | + | is_arglist(self, *args) + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) + | is_cc(self) -> bool + | + | is_ccflags(self, *args) + | is_ccflags(self) -> bool + | + | is_constant(self, *args) + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) + | is_kreg(self) -> bool + | + | is_mob(self, *args) + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) + | is_negative_constant(self) -> bool + | + | is_one(self, *args) + | is_one(self) -> bool + | + | is_positive_constant(self, *args) + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) + | is_udt(self) -> bool + | + | is_undef_val(self, *args) + | is_undef_val(self) -> bool + | + | is_zero(self, *args) + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) + | is_zero_extended_from(self, nbytes) -> bool + | + | lexcompare(self, *args) + | lexcompare(self, rop) -> int + | + | make_blkref(self, *args) + | make_blkref(self, blknum) + | + | make_first_half(self, *args) + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) + | make_gvar(self, ea) + | + | make_helper(self, *args) + | make_helper(self, name) + | + | make_high_half(self, *args) + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) + | make_insn(self, ins) + | + | make_low_half(self, *args) + | make_low_half(self, width) -> bool + | + | make_number(self, *args) + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) + | set_impptr_done(self) + | + | set_udt(self, *args) + | set_udt(self) + | + | set_undef_val(self, *args) + | set_undef_val(self) + | + | shift_mop(self, *args) + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) + | signed_value(self) -> int64 + | + | swap(self, *args) + | swap(self, rop) + | + | unsigned_value(self, *args) + | unsigned_value(self) -> uint64 + | + | value(self, *args) + | value(self, is_signed) -> uint64 + | + | zero(self, *args) + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from mop_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | valnum + | mop_t_valnum_get(self) -> uint16 + +Help on class mcallargs_t in module ida_hexrays: + +class mcallargs_t(__builtin__.object) + | Proxy of C++ qvector< mcallarg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> mcallarg_t + | + | __init__(self, *args) + | __init__(self) -> mcallargs_t + | __init__(self, x) -> mcallargs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> mcallarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> mcallarg_t + | begin(self) -> mcallarg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> mcallarg_t + | end(self) -> mcallarg_t + | + | erase(self, *args) + | erase(self, it) -> mcallarg_t + | erase(self, first, last) -> mcallarg_t + | + | extract(self, *args) + | extract(self) -> mcallarg_t + | + | find(self, *args) + | find(self, x) -> mcallarg_t + | find(self, x) -> mcallarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=mcallarg_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> mcallarg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> mcallarg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mcallargs_t(self) + +Help on class mcallinfo_t in module ida_hexrays: + +class mcallinfo_t(__builtin__.object) + | Proxy of C++ mcallinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _callee=BADADDR, _sargs=0) -> mcallinfo_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, size=-1, shins_flags=0x04|0x02) + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | get_type(self, *args) + | get_type(self) -> tinfo_t + | + | is_vararg(self, *args) + | is_vararg(self) -> bool + | + | lexcompare(self, *args) + | lexcompare(self, f) -> int + | + | set_type(self, *args) + | set_type(self, type) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | args + | mcallinfo_t_args_get(self) -> mcallargs_t + | + | call_spd + | mcallinfo_t_call_spd_get(self) -> int + | + | callee + | mcallinfo_t_callee_get(self) -> ea_t + | + | cc + | mcallinfo_t_cc_get(self) -> cm_t + | + | dead_regs + | mcallinfo_t_dead_regs_get(self) -> mlist_t + | + | flags + | mcallinfo_t_flags_get(self) -> int + | + | fti_attrs + | mcallinfo_t_fti_attrs_get(self) -> type_attrs_t + | + | pass_regs + | mcallinfo_t_pass_regs_get(self) -> mlist_t + | + | retregs + | mcallinfo_t_retregs_get(self) -> mopvec_t + | + | return_argloc + | mcallinfo_t_return_argloc_get(self) -> argloc_t + | + | return_regs + | mcallinfo_t_return_regs_get(self) -> mlist_t + | + | return_type + | mcallinfo_t_return_type_get(self) -> tinfo_t + | + | role + | mcallinfo_t_role_get(self) -> funcrole_t + | + | solid_args + | mcallinfo_t_solid_args_get(self) -> int + | + | spoiled + | mcallinfo_t_spoiled_get(self) -> mlist_t + | + | stkargs_top + | mcallinfo_t_stkargs_top_get(self) -> int + | + | thisown + | The membership flag + | + | visible_memory + | mcallinfo_t_visible_memory_get(self) -> ivlset_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mcallinfo_t(self) + +Help on class mcases_t in module ida_hexrays: + +class mcases_t(__builtin__.object) + | Proxy of C++ mcases_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> mcases_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | resize(self, *args) + | resize(self, s) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | targets + | mcases_t_targets_get(self) -> intvec_t + | + | thisown + | The membership flag + | + | values + | mcases_t_values_get(self) -> casevec_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mcases_t(self) + +Help on function mcode_modifies_d in module ida_hexrays: + +mcode_modifies_d(*args) + mcode_modifies_d(mcode) -> bool + +Help on class microcode_filter_t in module ida_hexrays: + +class microcode_filter_t(__builtin__.object) + | Proxy of C++ microcode_filter_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> microcode_filter_t + | + | __repr__ = _swig_repr(self) + | + | apply(self, *args) + | apply(self, cdg) -> merror_t + | + | match(self, *args) + | match(self, cdg) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_microcode_filter_t(self) + +Help on class minsn_t in module ida_hexrays: + +class minsn_t(__builtin__.object) + | Proxy of C++ minsn_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea) -> minsn_t + | __init__(self, m) -> minsn_t + | + | __lt__(self, *args) + | __lt__(self, ri) -> bool + | + | __repr__ = _swig_repr(self) + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _make_nop(self, *args) + | _make_nop(self) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _minsn_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _minsn_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) + | _register(self) + | + | clr_assert(self, *args) + | clr_assert(self) + | + | clr_combinable(self, *args) + | clr_combinable(self) + | + | clr_combined(self, *args) + | clr_combined(self) + | + | clr_fpinsn(self, *args) + | clr_fpinsn(self) + | + | clr_ignlowsrc(self, *args) + | clr_ignlowsrc(self) + | + | clr_multimov(self, *args) + | clr_multimov(self) + | + | clr_noret_icall(self, *args) + | clr_noret_icall(self) + | + | clr_propagatable(self, *args) + | clr_propagatable(self) + | + | clr_tailcall(self, *args) + | clr_tailcall(self) + | + | contains_call(self, *args) + | contains_call(self, with_helpers=False) -> bool + | + | contains_opcode(self, *args) + | contains_opcode(self, mcode) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | equal_insns(self, *args) + | equal_insns(self, m, eqflags) -> bool + | + | find_call(self, *args) + | find_call(self, with_helpers=False) -> minsn_t + | + | find_ins_op(self, *args) + | find_ins_op(self, op=m_nop) -> minsn_t + | + | find_num_op(self, *args) + | find_num_op(self) -> mop_t + | + | find_opcode(self, *args) + | find_opcode(self, mcode) -> minsn_t + | find_opcode(self, mcode) -> minsn_t + | + | for_all_insns(self, *args) + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) + | for_all_ops(self, mv) -> int + | + | get_role(self, *args) + | get_role(self) -> funcrole_t + | + | get_split_size(self, *args) + | get_split_size(self) -> int + | + | has_side_effects(self, *args) + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is_after(self, *args) + | is_after(self, m) -> bool + | + | is_alloca(self, *args) + | is_alloca(self) -> bool + | + | is_assert(self, *args) + | is_assert(self) -> bool + | + | is_between(self, *args) + | is_between(self, m1, m2) -> bool + | + | is_bswap(self, *args) + | is_bswap(self) -> bool + | + | is_cleaning_pop(self, *args) + | is_cleaning_pop(self) -> bool + | + | is_combinable(self, *args) + | is_combinable(self) -> bool + | + | is_combined(self, *args) + | is_combined(self) -> bool + | + | is_extstx(self, *args) + | is_extstx(self) -> bool + | + | is_farcall(self, *args) + | is_farcall(self) -> bool + | + | is_fpinsn(self, *args) + | is_fpinsn(self) -> bool + | + | is_helper(self, *args) + | is_helper(self, name) -> bool + | + | is_ignlowsrc(self, *args) + | is_ignlowsrc(self) -> bool + | + | is_inverted_jx(self, *args) + | is_inverted_jx(self) -> bool + | + | is_like_move(self, *args) + | is_like_move(self) -> bool + | + | is_mbarrier(self, *args) + | is_mbarrier(self) -> bool + | + | is_memcpy(self, *args) + | is_memcpy(self) -> bool + | + | is_memset(self, *args) + | is_memset(self) -> bool + | + | is_mov(self, *args) + | is_mov(self) -> bool + | + | is_multimov(self, *args) + | is_multimov(self) -> bool + | + | is_noret_call(self, *args) + | is_noret_call(self, ignore_noret_icall=False) -> bool + | + | is_optional(self, *args) + | is_optional(self) -> bool + | + | is_persistent(self, *args) + | is_persistent(self) -> bool + | + | is_propagatable(self, *args) + | is_propagatable(self) -> bool + | + | is_readflags(self, *args) + | is_readflags(self) -> bool + | + | is_tailcall(self, *args) + | is_tailcall(self) -> bool + | + | is_unknown_call(self, *args) + | is_unknown_call(self) -> bool + | + | is_wild_match(self, *args) + | is_wild_match(self) -> bool + | + | lexcompare(self, *args) + | lexcompare(self, ri) -> int + | + | may_use_aliased_memory(self, *args) + | may_use_aliased_memory(self) -> bool + | + | modifes_d(self, *args) + | modifes_d(self) -> bool + | + | modifies_pair_mop(self, *args) + | modifies_pair_mop(self) -> bool + | + | optimize_solo(self, *args) + | optimize_solo(self, optflags=0) -> int + | + | optimize_subtree(self, *args) + | optimize_subtree(self, blk, top, parent, converted_call, optflags=0x0002) -> int + | + | replace_by(self, o) + | + | set_assert(self, *args) + | set_assert(self) + | + | set_cleaning_pop(self, *args) + | set_cleaning_pop(self) + | + | set_combinable(self, *args) + | set_combinable(self) + | + | set_extstx(self, *args) + | set_extstx(self) + | + | set_farcall(self, *args) + | set_farcall(self) + | + | set_fpinsn(self, *args) + | set_fpinsn(self) + | + | set_ignlowsrc(self, *args) + | set_ignlowsrc(self) + | + | set_inverted_jx(self, *args) + | set_inverted_jx(self) + | + | set_mbarrier(self, *args) + | set_mbarrier(self) + | + | set_multimov(self, *args) + | set_multimov(self) + | + | set_noret_icall(self, *args) + | set_noret_icall(self) + | + | set_optional(self, *args) + | set_optional(self) + | + | set_persistent(self, *args) + | set_persistent(self) + | + | set_split_size(self, *args) + | set_split_size(self, s) + | + | set_tailcall(self, *args) + | set_tailcall(self) + | + | set_wild_match(self, *args) + | set_wild_match(self) + | + | setaddr(self, *args) + | setaddr(self, new_ea) + | + | swap(self, *args) + | swap(self, m) + | + | was_noret_icall(self, *args) + | was_noret_icall(self) -> bool + | + | was_split(self, *args) + | was_split(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | d + | minsn_t_d_get(self) -> mop_t + | + | ea + | minsn_t_ea_get(self) -> ea_t + | + | iprops + | minsn_t_iprops_get(self) -> int + | + | l + | minsn_t_l_get(self) -> mop_t + | + | meminfo + | + | next + | minsn_t_next_get(self) -> minsn_t + | + | obj_id + | _obj_id(self) -> PyObject * + | + | opcode + | minsn_t_opcode_get(self) -> mcode_t + | + | prev + | minsn_t_prev_get(self) -> minsn_t + | + | r + | minsn_t_r_get(self) -> mop_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_minsn_t(self) + +Help on class minsn_visitor_t in module ida_hexrays: + +class minsn_visitor_t(op_parent_info_t) + | Proxy of C++ minsn_visitor_t class. + | + | Method resolution order: + | minsn_visitor_t + | op_parent_info_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> minsn_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_minsn(self, *args) + | visit_minsn(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_minsn_visitor_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from op_parent_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + +Help on class mlist_mop_visitor_t in module ida_hexrays: + +class mlist_mop_visitor_t(__builtin__.object) + | Proxy of C++ mlist_mop_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> mlist_mop_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_mop(self, *args) + | visit_mop(self, op) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | changed + | mlist_mop_visitor_t_changed_get(self) -> bool + | + | curins + | mlist_mop_visitor_t_curins_get(self) -> minsn_t + | + | list + | mlist_mop_visitor_t_list_get(self) -> mlist_t + | + | thisown + | The membership flag + | + | topins + | mlist_mop_visitor_t_topins_get(self) -> minsn_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mlist_mop_visitor_t(self) + +Help on class mlist_t in module ida_hexrays: + +class mlist_t(__builtin__.object) + | Proxy of C++ mlist_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> mlist_t + | __init__(self, ivl) -> mlist_t + | __init__(self, r, size) -> mlist_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | add(self, *args) + | add(self, r, size) -> bool + | add(self, r) -> bool + | add(self, ivl) -> bool + | add(self, lst) -> bool + | + | addmem(self, *args) + | addmem(self, ea, size) -> bool + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | count(self, *args) + | count(self) -> asize_t + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | has(self, *args) + | has(self, r) -> bool + | + | has_all(self, *args) + | has_all(self, r, size) -> bool + | + | has_any(self, *args) + | has_any(self, r, size) -> bool + | + | has_common(self, *args) + | has_common(self, lst) -> bool + | + | has_memory(self, *args) + | has_memory(self) -> bool + | + | includes(self, *args) + | includes(self, lst) -> bool + | + | intersect(self, *args) + | intersect(self, lst) -> bool + | + | is_subset_of(self, *args) + | is_subset_of(self, lst) -> bool + | + | sub(self, *args) + | sub(self, r, size) -> bool + | sub(self, ivl) -> bool + | sub(self, lst) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | mem + | mlist_t_mem_get(self) -> ivlset_t + | + | reg + | mlist_t_reg_get(self) -> rlist_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mlist_t(self) + +Help on class mnumber_t in module ida_hexrays: + +class mnumber_t(operand_locator_t) + | Proxy of C++ mnumber_t class. + | + | Method resolution order: + | mnumber_t + | operand_locator_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, v, _ea=BADADDR, n=0) -> mnumber_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | update_value(self, *args) + | update_value(self, val64) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | org_value + | mnumber_t_org_value_get(self) -> uint64 + | + | thisown + | The membership flag + | + | value + | mnumber_t_value_get(self) -> uint64 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mnumber_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from operand_locator_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | operand_locator_t_ea_get(self) -> ea_t + | + | opnum + | operand_locator_t_opnum_get(self) -> int + +Help on function modify_user_lvar_info in module ida_hexrays: + +modify_user_lvar_info(*args) + modify_user_lvar_info(func_ea, mli_flags, info) -> bool + + + Modify saved local variable settings. + + @param func_ea (C++: ea_t) + @param mli_flags: bits that specify which attrs defined by INFO are to + be set (C++: uint) + @param info: local variable info attrs (C++: const lvar_saved_info_t + &) + @return: true if modified, false if invalid MLI_FLAGS passed + +Help on function modify_user_lvars in module ida_hexrays: + +modify_user_lvars(*args) + modify_user_lvars(entry_ea, mlv) -> bool + + + Modify saved local variable settings. + + @param entry_ea: function start address (C++: ea_t) + @param mlv: local variable modifier (C++: user_lvar_modifier_t &) + @return: true if modified variables + +Help on class mop_addr_t in module ida_hexrays: + +class mop_addr_t(mop_t) + | Proxy of C++ mop_addr_t class. + | + | Method resolution order: + | mop_addr_t + | mop_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mop_addr_t + | __init__(self, ra) -> mop_addr_t + | __init__(self, ra, isz, osz) -> mop_addr_t + | + | __repr__ = _swig_repr(self) + | + | lexcompare(self, *args) + | lexcompare(self, ra) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | insize + | mop_addr_t_insize_get(self) -> int + | + | outsize + | mop_addr_t_outsize_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mop_addr_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from mop_t: + | + | __eq__(self, *args) + | __eq__(self, rop) -> bool + | + | __lt__(self, *args) + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) + | __ne__(self, rop) -> bool + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) + | _get_b(self) -> int + | + | _get_c(self, *args) + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) + | _get_helper(self) -> char const * + | + | _get_l(self, *args) + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) + | _make_gvar(self, ea) + | + | _make_insn(self, *args) + | _make_insn(self, ins) + | + | _make_lvar(self, *args) + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) + | _make_pair(self, _pair) + | + | _make_reg(self, *args) + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) + | _register(self) + | + | _set_a(self, *args) + | _set_a(self, _v) + | + | _set_b(self, *args) + | _set_b(self, _v) + | + | _set_c(self, *args) + | _set_c(self, _v) + | + | _set_cstr(self, *args) + | _set_cstr(self, _v) + | + | _set_d(self, *args) + | _set_d(self, _v) + | + | _set_f(self, *args) + | _set_f(self, _v) + | + | _set_fpc(self, *args) + | _set_fpc(self, _v) + | + | _set_g(self, *args) + | _set_g(self, _v) + | + | _set_helper(self, *args) + | _set_helper(self, _v) + | + | _set_l(self, *args) + | _set_l(self, _v) + | + | _set_nnn(self, *args) + | _set_nnn(self, _v) + | + | _set_pair(self, *args) + | _set_pair(self, _v) + | + | _set_r(self, *args) + | _set_r(self, _v) + | + | _set_s(self, *args) + | _set_s(self, _v) + | + | _set_scif(self, *args) + | _set_scif(self, _v) + | + | _set_t(self, *args) + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) + | assign(self, rop) -> mop_t + | + | change_size(self, *args) + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | equal_mops(self, *args) + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) + | erase(self) + | + | erase_but_keep_size(self, *args) + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) + | is01(self) -> bool + | + | is_arglist(self, *args) + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) + | is_cc(self) -> bool + | + | is_ccflags(self, *args) + | is_ccflags(self) -> bool + | + | is_constant(self, *args) + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) + | is_kreg(self) -> bool + | + | is_mob(self, *args) + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) + | is_negative_constant(self) -> bool + | + | is_one(self, *args) + | is_one(self) -> bool + | + | is_positive_constant(self, *args) + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) + | is_udt(self) -> bool + | + | is_undef_val(self, *args) + | is_undef_val(self) -> bool + | + | is_zero(self, *args) + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) + | is_zero_extended_from(self, nbytes) -> bool + | + | make_blkref(self, *args) + | make_blkref(self, blknum) + | + | make_first_half(self, *args) + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) + | make_gvar(self, ea) + | + | make_helper(self, *args) + | make_helper(self, name) + | + | make_high_half(self, *args) + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) + | make_insn(self, ins) + | + | make_low_half(self, *args) + | make_low_half(self, width) -> bool + | + | make_number(self, *args) + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) + | set_impptr_done(self) + | + | set_udt(self, *args) + | set_udt(self) + | + | set_undef_val(self, *args) + | set_undef_val(self) + | + | shift_mop(self, *args) + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) + | signed_value(self) -> int64 + | + | swap(self, *args) + | swap(self, rop) + | + | unsigned_value(self, *args) + | unsigned_value(self) -> uint64 + | + | value(self, *args) + | value(self, is_signed) -> uint64 + | + | zero(self, *args) + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from mop_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | valnum + | mop_t_valnum_get(self) -> uint16 + +Help on class mop_pair_t in module ida_hexrays: + +class mop_pair_t(__builtin__.object) + | Proxy of C++ mop_pair_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mop_pair_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hop + | mop_pair_t_hop_get(self) -> mop_t + | + | lop + | mop_pair_t_lop_get(self) -> mop_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mop_pair_t(self) + +Help on class mop_t in module ida_hexrays: + +class mop_t(__builtin__.object) + | Proxy of C++ mop_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, rop) -> bool + | + | __init__(self, *args) + | __init__(self) -> mop_t + | __init__(self, rop) -> mop_t + | __init__(self, _r, _s) -> mop_t + | + | __lt__(self, *args) + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) + | __ne__(self, rop) -> bool + | + | __repr__ = _swig_repr(self) + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) + | _get_b(self) -> int + | + | _get_c(self, *args) + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) + | _get_helper(self) -> char const * + | + | _get_l(self, *args) + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) + | _make_gvar(self, ea) + | + | _make_insn(self, *args) + | _make_insn(self, ins) + | + | _make_lvar(self, *args) + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) + | _make_pair(self, _pair) + | + | _make_reg(self, *args) + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) + | _register(self) + | + | _set_a(self, *args) + | _set_a(self, _v) + | + | _set_b(self, *args) + | _set_b(self, _v) + | + | _set_c(self, *args) + | _set_c(self, _v) + | + | _set_cstr(self, *args) + | _set_cstr(self, _v) + | + | _set_d(self, *args) + | _set_d(self, _v) + | + | _set_f(self, *args) + | _set_f(self, _v) + | + | _set_fpc(self, *args) + | _set_fpc(self, _v) + | + | _set_g(self, *args) + | _set_g(self, _v) + | + | _set_helper(self, *args) + | _set_helper(self, _v) + | + | _set_l(self, *args) + | _set_l(self, _v) + | + | _set_nnn(self, *args) + | _set_nnn(self, _v) + | + | _set_pair(self, *args) + | _set_pair(self, _v) + | + | _set_r(self, *args) + | _set_r(self, _v) + | + | _set_s(self, *args) + | _set_s(self, _v) + | + | _set_scif(self, *args) + | _set_scif(self, _v) + | + | _set_t(self, *args) + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) + | assign(self, rop) -> mop_t + | + | change_size(self, *args) + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | equal_mops(self, *args) + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) + | erase(self) + | + | erase_but_keep_size(self, *args) + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) + | is01(self) -> bool + | + | is_arglist(self, *args) + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) + | is_cc(self) -> bool + | + | is_ccflags(self, *args) + | is_ccflags(self) -> bool + | + | is_constant(self, *args) + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) + | is_kreg(self) -> bool + | + | is_mob(self, *args) + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) + | is_negative_constant(self) -> bool + | + | is_one(self, *args) + | is_one(self) -> bool + | + | is_positive_constant(self, *args) + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) + | is_udt(self) -> bool + | + | is_undef_val(self, *args) + | is_undef_val(self) -> bool + | + | is_zero(self, *args) + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) + | is_zero_extended_from(self, nbytes) -> bool + | + | lexcompare(self, *args) + | lexcompare(self, rop) -> int + | + | make_blkref(self, *args) + | make_blkref(self, blknum) + | + | make_first_half(self, *args) + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) + | make_gvar(self, ea) + | + | make_helper(self, *args) + | make_helper(self, name) + | + | make_high_half(self, *args) + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) + | make_insn(self, ins) + | + | make_low_half(self, *args) + | make_low_half(self, width) -> bool + | + | make_number(self, *args) + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) + | set_impptr_done(self) + | + | set_udt(self, *args) + | set_udt(self) + | + | set_undef_val(self, *args) + | set_undef_val(self) + | + | shift_mop(self, *args) + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) + | signed_value(self) -> int64 + | + | swap(self, *args) + | swap(self, rop) + | + | unsigned_value(self, *args) + | unsigned_value(self) -> uint64 + | + | value(self, *args) + | value(self, is_signed) -> uint64 + | + | zero(self, *args) + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | thisown + | The membership flag + | + | valnum + | mop_t_valnum_get(self) -> uint16 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mop_t(self) + +Help on class mop_visitor_t in module ida_hexrays: + +class mop_visitor_t(op_parent_info_t) + | Proxy of C++ mop_visitor_t class. + | + | Method resolution order: + | mop_visitor_t + | op_parent_info_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> mop_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_mop(self, *args) + | visit_mop(self, op, type, is_target) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | prune + | mop_visitor_t_prune_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mop_visitor_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from op_parent_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + +Help on class mopvec_t in module ida_hexrays: + +class mopvec_t(__builtin__.object) + | Proxy of C++ qvector< mop_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> mop_t + | + | __init__(self, *args) + | __init__(self) -> mopvec_t + | __init__(self, x) -> mopvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> mop_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> mop_t + | begin(self) -> mop_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> mop_t + | end(self) -> mop_t + | + | erase(self, *args) + | erase(self, it) -> mop_t + | erase(self, first, last) -> mop_t + | + | extract(self, *args) + | extract(self) -> mop_t + | + | find(self, *args) + | find(self, x) -> mop_t + | find(self, x) -> mop_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=mop_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> mop_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> mop_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mopvec_t(self) + +Help on function mreg2reg in module ida_hexrays: + +mreg2reg(*args) + mreg2reg(reg, width) -> int + + + Map a microregister to a processor register. + + @param reg: microregister number (C++: mreg_t) + @param width: size of microregister in bytes (C++: int) + @return: processor register id or -1 + +Help on function must_mcode_close_block in module ida_hexrays: + +must_mcode_close_block(*args) + 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: instruction opcode (C++: mcode_t) + @param including_calls: 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 because + before MMAT_CALLS they are closing opcodes. + Afteer MMAT_CALLS that are not considered as + closing opcodes. (C++: bool) + +Help on function negate_mcode_relation in module ida_hexrays: + +negate_mcode_relation(*args) + negate_mcode_relation(code) -> mcode_t + +Help on function negated_relation in module ida_hexrays: + +negated_relation(*args) + negated_relation(op) -> ctype_t + + + Negate a comparison operator. For example, cot_sge becomes cot_slt. + + + @param op (C++: ctype_t) + +Help on function new_block in module ida_hexrays: + +new_block() + +Help on class number_format_t in module ida_hexrays: + +class number_format_t(__builtin__.object) + | Proxy of C++ number_format_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _opnum=0) -> number_format_t + | + | __repr__ = _swig_repr(self) + | + | get_radix(self, *args) + | get_radix(self) -> int + | + | is_char(self, *args) + | is_char(self) -> bool + | + | is_dec(self, *args) + | is_dec(self) -> bool + | + | is_enum(self, *args) + | is_enum(self) -> bool + | + | is_fixed(self, *args) + | is_fixed(self) -> bool + | + | is_hex(self, *args) + | is_hex(self) -> bool + | + | is_numop(self, *args) + | is_numop(self) -> bool + | + | is_oct(self, *args) + | is_oct(self) -> bool + | + | is_stroff(self, *args) + | is_stroff(self) -> bool + | + | needs_to_be_inverted(self, *args) + | needs_to_be_inverted(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | number_format_t_flags_get(self) -> flags_t + | + | opnum + | number_format_t_opnum_get(self) -> char + | + | org_nbytes + | number_format_t_org_nbytes_get(self) -> char + | + | props + | number_format_t_props_get(self) -> char + | + | serial + | number_format_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | type_name + | number_format_t_type_name_get(self) -> qstring * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_number_format_t(self) + +Help on class op_parent_info_t in module ida_hexrays: + +class op_parent_info_t(__builtin__.object) + | Proxy of C++ op_parent_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> op_parent_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_op_parent_info_t(self) + +Help on function op_uses_x in module ida_hexrays: + +op_uses_x(*args) + op_uses_x(op) -> bool + + + Does operator use the 'x' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function op_uses_y in module ida_hexrays: + +op_uses_y(*args) + op_uses_y(op) -> bool + + + Does operator use the 'y' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function op_uses_z in module ida_hexrays: + +op_uses_z(*args) + op_uses_z(op) -> bool + + + Does operator use the 'z' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function open_pseudocode in module ida_hexrays: + +open_pseudocode(*args) + open_pseudocode(ea, new_window) -> vdui_t + + + Open pseudocode window. The specified function is decompiled and the + pseudocode window is opened. + + @param ea: function to decompile (C++: ea_t) + @param new_window: 0:reuse existing window; 1:open new window; -1: + reuse existing window if the current view is + pseudocode (C++: int) + @return: false if failed + +Help on class operand_locator_t in module ida_hexrays: + +class operand_locator_t(__builtin__.object) + | Proxy of C++ operand_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _ea, _opnum) -> operand_locator_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | operand_locator_t_ea_get(self) -> ea_t + | + | opnum + | operand_locator_t_opnum_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_operand_locator_t(self) + +Help on class operator_info_t in module ida_hexrays: + +class operator_info_t(__builtin__.object) + | Proxy of C++ operator_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> operator_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fixtype + | operator_info_t_fixtype_get(self) -> uchar + | + | flags + | operator_info_t_flags_get(self) -> uchar + | + | precedence + | operator_info_t_precedence_get(self) -> uchar + | + | text + | operator_info_t_text_get(self) -> char const * + | + | thisown + | The membership flag + | + | valency + | operator_info_t_valency_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_operator_info_t(self) + +Help on class optblock_t in module ida_hexrays: + +class optblock_t(__builtin__.object) + | Proxy of C++ optblock_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> optblock_t + | + | __repr__ = _swig_repr(self) + | + | func(self, *args) + | func(self, blk) -> int + | + | install(self, *args) + | install(self) + | + | remove(self, *args) + | remove(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_optblock_t(self) + +Help on class optinsn_t in module ida_hexrays: + +class optinsn_t(__builtin__.object) + | Proxy of C++ optinsn_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> optinsn_t + | + | __repr__ = _swig_repr(self) + | + | func(self, *args) + | func(self, blk, ins) -> int + | + | install(self, *args) + | install(self) + | + | remove(self, *args) + | remove(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_optinsn_t(self) + +Help on function parse_user_call in module ida_hexrays: + +parse_user_call(*args) + parse_user_call(udc, decl, silent) -> bool + + + Convert function type declaration into internal structure + + @param udc: - pointer to output structure (C++: udcall_t *) + @param decl: - function type declaration (C++: const char *) + @param silent: - if TRUE: do not show warning in case of incorrect + type (C++: bool) + @return: success + +Help on function partial_type_num in module ida_hexrays: + +partial_type_num(*args) + partial_type_num(type) -> int + + + Calculate number of partial subtypes. + + @param type (C++: const tinfo_t &) + @return: number of partial subtypes. The bigger is this number, the + uglier is the type. + +Help on function print_vdloc in module ida_hexrays: + +print_vdloc(*args) + print_vdloc(loc, nbytes) + + + Print vdloc. Since vdloc does not always carry the size info, we pass + it as NBYTES.. + + @param loc (C++: const vdloc_t &) + @param nbytes (C++: int) + +Help on function property_op_to_typename in module ida_hexrays: + +property_op_to_typename(self) + +Help on class qlist_cinsn_t in module ida_hexrays: + +class qlist_cinsn_t(__builtin__.object) + | Proxy of C++ qlist< cinsn_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> qlist_cinsn_t + | __init__(self, x) -> qlist_cinsn_t + | + | __ne__(self, *args) + | __ne__(self, x) -> bool + | + | __repr__ = _swig_repr(self) + | + | back(self, *args) + | back(self) -> cinsn_t + | back(self) -> cinsn_t + | + | begin(self, *args) + | begin(self) -> qlist_cinsn_t_iterator + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qlist_cinsn_t_iterator + | + | erase(self, *args) + | erase(self, p) -> qlist< cinsn_t >::iterator + | erase(self, p1, p2) + | erase(self, p) + | + | front(self, *args) + | front(self) -> cinsn_t + | front(self) -> cinsn_t + | + | insert(self, *args) + | insert(self, p, x) -> qlist< cinsn_t >::iterator + | insert(self, p) -> qlist< cinsn_t >::iterator + | insert(self, p, x) -> qlist_cinsn_t_iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | pop_front(self, *args) + | pop_front(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> cinsn_t + | + | push_front(self, *args) + | push_front(self, x) + | + | rbegin(self, *args) + | rbegin(self) -> qlist< cinsn_t >::reverse_iterator + | rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | rend(self, *args) + | rend(self) -> qlist< cinsn_t >::reverse_iterator + | rend(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, x) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qlist_cinsn_t(self) + +Help on class qlist_cinsn_t_iterator in module ida_hexrays: + +class qlist_cinsn_t_iterator(__builtin__.object) + | Proxy of C++ qlist_cinsn_t_iterator class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> qlist_cinsn_t_iterator + | + | __ne__(self, *args) + | __ne__(self, x) -> bool + | + | __next__(self, *args) + | __next__(self) + | + | __repr__ = _swig_repr(self) + | + | next = __next__(self, *args) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cur + | qlist_cinsn_t_iterator_cur_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qlist_cinsn_t_iterator(self) + +Help on class qstring_printer_t in module ida_hexrays: + +class qstring_printer_t(vc_printer_t) + | Proxy of C++ qstring_printer_t class. + | + | Method resolution order: + | qstring_printer_t + | vc_printer_t + | vd_printer_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, f, tags) -> qstring_printer_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, indent, format) -> int + | + | get_s(self, *args) + | get_s(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | s + | + | thisown + | The membership flag + | + | with_tags + | qstring_printer_t_with_tags_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Methods inherited from vc_printer_t: + | + | __disown__(self) + | + | oneliner(self, *args) + | oneliner(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vc_printer_t: + | + | func + | vc_printer_t_func_get(self) -> cfunc_t + | + | lastchar + | vc_printer_t_lastchar_get(self) -> char + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from vc_printer_t: + | + | __swig_destroy__ = + | delete_vc_printer_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_printer_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + +Help on function qswap in module ida_hexrays: + +qswap(*args) + qswap(a, b) + +Help on class qvector_carg_t in module ida_hexrays: + +class qvector_carg_t(__builtin__.object) + | Proxy of C++ qvector< carg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> carg_t + | + | __init__(self, *args) + | __init__(self) -> qvector_carg_t + | __init__(self, x) -> qvector_carg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> carg_t + | begin(self) -> carg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> carg_t + | end(self) -> carg_t + | + | erase(self, *args) + | erase(self, it) -> carg_t + | erase(self, first, last) -> carg_t + | + | extract(self, *args) + | extract(self) -> carg_t + | + | find(self, *args) + | find(self, x) -> carg_t + | find(self, x) -> carg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=carg_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> carg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> carg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qvector_carg_t(self) + +Help on class qvector_ccase_t in module ida_hexrays: + +class qvector_ccase_t(__builtin__.object) + | Proxy of C++ qvector< ccase_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> ccase_t + | + | __init__(self, *args) + | __init__(self) -> qvector_ccase_t + | __init__(self, x) -> qvector_ccase_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> ccase_t + | begin(self) -> ccase_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ccase_t + | end(self) -> ccase_t + | + | erase(self, *args) + | erase(self, it) -> ccase_t + | erase(self, first, last) -> ccase_t + | + | extract(self, *args) + | extract(self) -> ccase_t + | + | find(self, *args) + | find(self, x) -> ccase_t + | find(self, x) -> ccase_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=ccase_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> ccase_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ccase_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qvector_ccase_t(self) + +Help on class qvector_history_t in module ida_hexrays: + +class qvector_history_t(__builtin__.object) + | Proxy of C++ qvector< history_item_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> history_item_t + | + | __init__(self, *args) + | __init__(self) -> qvector_history_t + | __init__(self, x) -> qvector_history_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> history_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> history_item_t + | begin(self) -> history_item_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> history_item_t + | end(self) -> history_item_t + | + | erase(self, *args) + | erase(self, it) -> history_item_t + | erase(self, first, last) -> history_item_t + | + | extract(self, *args) + | extract(self) -> history_item_t + | + | find(self, *args) + | find(self, x) -> history_item_t + | find(self, x) -> history_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=history_item_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> history_item_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> history_item_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qvector_history_t(self) + +Help on class qvector_lvar_t in module ida_hexrays: + +class qvector_lvar_t(__builtin__.object) + | Proxy of C++ qvector< lvar_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> lvar_t + | + | __init__(self, *args) + | __init__(self) -> qvector_lvar_t + | __init__(self, x) -> qvector_lvar_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> lvar_t + | begin(self) -> lvar_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> lvar_t + | end(self) -> lvar_t + | + | erase(self, *args) + | erase(self, it) -> lvar_t + | erase(self, first, last) -> lvar_t + | + | extract(self, *args) + | extract(self) -> lvar_t + | + | find(self, *args) + | find(self, x) -> lvar_t + | find(self, x) -> lvar_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=lvar_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> lvar_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> lvar_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qvector_lvar_t(self) + +Help on function reg2mreg in module ida_hexrays: + +reg2mreg(*args) + reg2mreg(reg) -> mreg_t + + + Map a processor register to a microregister. + + @param reg: processor register number (C++: int) + @return: microregister register id or mr_none + +Help on function remitem in module ida_hexrays: + +remitem(*args) + remitem(e) + +Help on function remove_hexrays_callback in module ida_hexrays: + +remove_hexrays_callback(callback) + Deprecated. Please use Hexrays_Hooks instead + +Help on function restore_user_cmts in module ida_hexrays: + +restore_user_cmts(*args) + restore_user_cmts(func_ea) -> user_cmts_t + + + Restore user defined comments from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined comments. The returned object must + be deleted by the caller using delete_user_cmts() + +Help on function restore_user_defined_calls in module ida_hexrays: + +restore_user_defined_calls(*args) + restore_user_defined_calls(udcalls, func_ea) -> bool + + + Restore user defined function calls from the database. + + @param udcalls: ptr to output buffer (C++: udcall_map_t *) + @param func_ea: entry address of the function (C++: ea_t) + @return: success + +Help on function restore_user_iflags in module ida_hexrays: + +restore_user_iflags(*args) + restore_user_iflags(func_ea) -> user_iflags_t + + + Restore user defined citem iflags from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined iflags. The returned object must + be deleted by the caller using delete_user_iflags() + +Help on function restore_user_labels in module ida_hexrays: + +restore_user_labels(*args) + restore_user_labels(func_ea) -> user_labels_t + + + Restore user defined labels from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined labels. The returned object must + be deleted by the caller using delete_user_labels() + +Help on function restore_user_lvar_settings in module ida_hexrays: + +restore_user_lvar_settings(*args) + restore_user_lvar_settings(lvinf, func_ea) -> bool + + + Restore user defined local variable settings in the database. + + @param lvinf: ptr to output buffer (C++: lvar_uservec_t *) + @param func_ea: entry address of the function (C++: ea_t) + @return: success + +Help on function restore_user_numforms in module ida_hexrays: + +restore_user_numforms(*args) + restore_user_numforms(func_ea) -> user_numforms_t + + + Restore user defined number formats from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined number formats. The returned + object must be deleted by the caller using + delete_user_numforms() + +Help on function restore_user_unions in module ida_hexrays: + +restore_user_unions(*args) + restore_user_unions(func_ea) -> user_unions_t + + + Restore user defined union field selections from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of union field selections The returned object must + be deleted by the caller using delete_user_unions() + +Help on class rlist_t in module ida_hexrays: + +class rlist_t(bitset_t) + | Proxy of C++ rlist_t class. + | + | Method resolution order: + | rlist_t + | bitset_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rlist_t + | __init__(self, m) -> rlist_t + | __init__(self, reg, width) -> rlist_t + | + | __repr__ = _swig_repr(self) + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rlist_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from bitset_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __iter__(self) + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __len__ = count(self, *args) + | count(self) -> int + | count(self, bit) -> int + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | add(self, *args) + | add(self, bit) -> bool + | add(self, bit, width) -> bool + | add(self, ml) -> bool + | + | back(self, *args) + | back(self) -> int + | + | begin(self, *args) + | begin(self) -> bitset_t::iterator + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | copy(self, *args) + | copy(self, m) -> bitset_t + | + | count(self, *args) + | count(self) -> int + | count(self, bit) -> int + | + | cut_at(self, *args) + | cut_at(self, maxbit) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> bitset_t::iterator + | + | fill_with_ones(self, *args) + | fill_with_ones(self, maxbit) + | + | front(self, *args) + | front(self) -> int + | + | has(self, *args) + | has(self, bit) -> bool + | + | has_all(self, *args) + | has_all(self, bit, width) -> bool + | + | has_any(self, *args) + | has_any(self, bit, width) -> bool + | + | has_common(self, *args) + | has_common(self, ml) -> bool + | + | inc(self, *args) + | inc(self, p, n=1) + | + | includes(self, *args) + | includes(self, ml) -> bool + | + | intersect(self, *args) + | intersect(self, ml) -> bool + | + | is_subset_of(self, *args) + | is_subset_of(self, ml) -> bool + | + | itat(self, *args) + | itat(self, n) -> bitset_t::iterator + | + | itv(self, *args) + | itv(self, it) -> int + | + | last(self, *args) + | last(self) -> int + | + | shift_down(self, *args) + | shift_down(self, shift) + | + | sub(self, *args) + | sub(self, bit) -> bool + | sub(self, bit, width) -> bool + | sub(self, ml) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from bitset_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function save_user_cmts in module ida_hexrays: + +save_user_cmts(*args) + save_user_cmts(func_ea, user_cmts) + + + Save user defined comments into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param user_cmts: collection of user defined comments (C++: const + user_cmts_t *) + +Help on function save_user_defined_calls in module ida_hexrays: + +save_user_defined_calls(*args) + save_user_defined_calls(func_ea, udcalls) + + + Save user defined local function calls into the database. + + @param func_ea: entry address of the function (C++: ea_t) + @param udcalls: user-specified info about user defined function calls + (C++: const udcall_map_t &) + +Help on function save_user_iflags in module ida_hexrays: + +save_user_iflags(*args) + save_user_iflags(func_ea, iflags) + + + Save user defined citem iflags into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param iflags: collection of user defined citem iflags (C++: const + user_iflags_t *) + +Help on function save_user_labels in module ida_hexrays: + +save_user_labels(*args) + save_user_labels(func_ea, user_labels) + + + Save user defined labels into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param user_labels: collection of user defined labels (C++: const + user_labels_t *) + +Help on function save_user_lvar_settings in module ida_hexrays: + +save_user_lvar_settings(*args) + save_user_lvar_settings(func_ea, lvinf) + + + Save user defined local variable settings into the database. + + @param func_ea: entry address of the function (C++: ea_t) + @param lvinf: user-specified info about local variables (C++: const + lvar_uservec_t &) + +Help on function save_user_numforms in module ida_hexrays: + +save_user_numforms(*args) + save_user_numforms(func_ea, numforms) + + + Save user defined number formats into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param numforms: collection of user defined comments (C++: const + user_numforms_t *) + +Help on function save_user_unions in module ida_hexrays: + +save_user_unions(*args) + save_user_unions(func_ea, unions) + + + Save user defined union field selections into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param unions: collection of union field selections (C++: const + user_unions_t *) + +Help on class scif_t in module ida_hexrays: + +class scif_t(vdloc_t) + | Proxy of C++ scif_t class. + | + | Method resolution order: + | scif_t + | vdloc_t + | ida_typeinf.argloc_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _mba, n, tif) -> scif_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | mba + | scif_t_mba_get(self) -> mbl_array_t + | + | name + | scif_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | scif_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_scif_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from vdloc_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _set_reg1(self, *args) + | _set_reg1(self, r1) + | + | compare(self, *args) + | compare(self, r) -> int + | + | is_aliasable(self, *args) + | is_aliasable(self, mb, size) -> bool + | + | reg1(self, *args) + | reg1(self) -> int + | + | set_reg1(self, *args) + | set_reg1(self, r1) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_typeinf.argloc_t: + | + | _consume_rrel(self, *args) + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) + | _set_badloc(self) + | + | _set_biggest(self, *args) + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) + | _set_ea(self, _ea) + | + | _set_reg2(self, *args) + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) + | _set_stkoff(self, off) + | + | advance(self, *args) + | advance(self, delta) -> bool + | + | atype(self, *args) + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) + | calc_offset(self) -> sval_t + | + | consume_rrel(self, *args) + | consume_rrel(self, p) + | + | consume_scattered(self, *args) + | consume_scattered(self, p) + | + | get_biggest(self, *args) + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) + | get_custom(self) -> void * + | + | get_ea(self, *args) + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) + | has_reg(self) -> bool + | + | has_stkoff(self, *args) + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) + | is_badloc(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_ea(self, *args) + | is_ea(self) -> bool + | + | is_fragmented(self, *args) + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_rrel(self, *args) + | is_rrel(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) + | justify_stkoff_right(self, size, _slotsize) + | + | reg2(self, *args) + | reg2(self) -> int + | + | regoff(self, *args) + | regoff(self) -> int + | + | scattered(self, *args) + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) + | set_badloc(self) + | + | set_ea(self, *args) + | set_ea(self, _ea) + | + | set_reg2(self, *args) + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) + | set_stkoff(self, off) + | + | stkoff(self, *args) + | stkoff(self) -> sval_t + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_typeinf.argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class scif_visitor_t in module ida_hexrays: + +class scif_visitor_t(__builtin__.object) + | Proxy of C++ scif_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> scif_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_scif_mop(self, *args) + | visit_scif_mop(self, r, off) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_scif_visitor_t(self) + +Help on function select_udt_by_offset in module ida_hexrays: + +select_udt_by_offset(*args) + select_udt_by_offset(udts, ops, applicator) -> int + + + Select UDT + + @param udts: list of UDT tinfo_t for the selection, if NULL or empty + then UDTs from the "Local types" will be used (C++: const + qvector < tinfo_t > *) + @param ops: operands (C++: const ui_stroff_ops_t &) + @param applicator (C++: ui_stroff_applicator_t &) + +Help on function send_database in module ida_hexrays: + +send_database(*args) + 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: failure description object. Empty hexrays_failure_t + object can be used if error information is not available. + (C++: const hexrays_failure_t &) + @param silent: if false, a dialog box will be displayed before sending + the database. (C++: bool) + +Help on function set2jcnd in module ida_hexrays: + +set2jcnd(*args) + set2jcnd(code) -> mcode_t + +Help on function set_type in module ida_hexrays: + +set_type(*args) + set_type(id, tif, source, force=False) -> bool + + + Set a global type. + + @param id: address or id of the object (C++: uval_t) + @param tif: new type info (C++: const tinfo_t &) + @param source: where the type comes from (C++: type_source_t) + @param force: true means to set the type as is, false means to merge + the new type with the possibly existing old type info. + (C++: bool) + @return: success + +Help on class simple_graph_t in module ida_hexrays: + +class simple_graph_t(__builtin__.object) + | Proxy of C++ simple_graph_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | colored_gdl_edges + | simple_graph_t_colored_gdl_edges_get(self) -> bool + | + | thisown + | The membership flag + | + | title + | simple_graph_t_title_get(self) -> qstring * + +Help on class stkvar_ref_t in module ida_hexrays: + +class stkvar_ref_t(__builtin__.object) + | Proxy of C++ stkvar_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, m, o) -> stkvar_ref_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | get_stkvar(self, *args) + | get_stkvar(self, p_off=None) -> member_t * + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | mba + | stkvar_ref_t_mba_get(self) -> mbl_array_t + | + | off + | stkvar_ref_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_stkvar_ref_t(self) + +Help on function swap_mcode_relation in module ida_hexrays: + +swap_mcode_relation(*args) + swap_mcode_relation(code) -> mcode_t + +Help on function swapped_relation in module ida_hexrays: + +swapped_relation(*args) + swapped_relation(op) -> ctype_t + + + Swap a comparison operator. For example, cot_sge becomes cot_sle. + + + @param op (C++: ctype_t) + +Help on function term_hexrays_plugin in module ida_hexrays: + +term_hexrays_plugin(*args) + term_hexrays_plugin() + + + Stop working with hex-rays decompiler. + +Help on class treeloc_t in module ida_hexrays: + +class treeloc_t(__builtin__.object) + | Proxy of C++ treeloc_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> treeloc_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | treeloc_t_ea_get(self) -> ea_t + | + | itp + | treeloc_t_itp_get(self) -> item_preciser_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_treeloc_t(self) + +Help on class udc_filter_t in module ida_hexrays: + +class udc_filter_t(microcode_filter_t) + | Proxy of C++ udc_filter_t class. + | + | Method resolution order: + | udc_filter_t + | microcode_filter_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> udc_filter_t + | + | __repr__ = _swig_repr(self) + | + | apply(self, *args) + | apply(self, cdg) -> merror_t + | + | init(self, *args) + | init(self, decl) -> bool + | + | match(self, *args) + | match(self, cdg) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udc_filter_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from microcode_filter_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function udcall_map_begin in module ida_hexrays: + +udcall_map_begin(*args) + 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 *) + +Help on function udcall_map_clear in module ida_hexrays: + +udcall_map_clear(*args) + udcall_map_clear(map) + + + Clear udcall_map_t. + + + @param map (C++: udcall_map_t *) + +Help on function udcall_map_end in module ida_hexrays: + +udcall_map_end(*args) + 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 *) + +Help on function udcall_map_erase in module ida_hexrays: + +udcall_map_erase(*args) + 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) + +Help on function udcall_map_find in module ida_hexrays: + +udcall_map_find(*args) + udcall_map_find(map, key) -> udcall_map_iterator_t + + + Find the specified key in udcall_map_t. + + + @param map (C++: const udcall_map_t *) + @param key (C++: const ea_t &) + +Help on function udcall_map_first in module ida_hexrays: + +udcall_map_first(*args) + udcall_map_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_free in module ida_hexrays: + +udcall_map_free(*args) + udcall_map_free(map) + + + Delete udcall_map_t instance. + + + @param map (C++: udcall_map_t *) + +Help on function udcall_map_insert in module ida_hexrays: + +udcall_map_insert(*args) + 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 &) + @param val (C++: const udcall_t &) + +Help on class udcall_map_iterator_t in module ida_hexrays: + +class udcall_map_iterator_t(__builtin__.object) + | Proxy of C++ udcall_map_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> udcall_map_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | udcall_map_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udcall_map_iterator_t(self) + +Help on function udcall_map_new in module ida_hexrays: + +udcall_map_new(*args) + udcall_map_new() -> udcall_map_t * + + + Create a new udcall_map_t instance. + +Help on function udcall_map_next in module ida_hexrays: + +udcall_map_next(*args) + udcall_map_next(p) -> udcall_map_iterator_t + + + Move to the next element. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_prev in module ida_hexrays: + +udcall_map_prev(*args) + udcall_map_prev(p) -> udcall_map_iterator_t + + + Move to the previous element. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_second in module ida_hexrays: + +udcall_map_second(*args) + udcall_map_second(p) -> udcall_t + + + Get reference to the current map value. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_size in module ida_hexrays: + +udcall_map_size(*args) + udcall_map_size(map) -> size_t + + + Get size of udcall_map_t. + + + @param map (C++: udcall_map_t *) + +Help on class udcall_t in module ida_hexrays: + +class udcall_t(__builtin__.object) + | Proxy of C++ udcall_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> udcall_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | udcall_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tif + | udcall_t_tif_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udcall_t(self) + +Help on class ui_stroff_applicator_t in module ida_hexrays: + +class ui_stroff_applicator_t(__builtin__.object) + | Proxy of C++ ui_stroff_applicator_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_applicator_t + | + | __repr__ = _swig_repr(self) + | + | apply(self, *args) + | apply(self, opnum, path) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ui_stroff_applicator_t(self) + +Help on class ui_stroff_op_t in module ida_hexrays: + +class ui_stroff_op_t(__builtin__.object) + | Proxy of C++ ui_stroff_op_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_op_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | offset + | ui_stroff_op_t_offset_get(self) -> uval_t + | + | text + | ui_stroff_op_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ui_stroff_op_t(self) + +Help on class ui_stroff_ops_t in module ida_hexrays: + +class ui_stroff_ops_t(__builtin__.object) + | Proxy of C++ qvector< ui_stroff_op_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> ui_stroff_op_t + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_ops_t + | __init__(self, x) -> ui_stroff_ops_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> ui_stroff_op_t + | begin(self) -> ui_stroff_op_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ui_stroff_op_t + | end(self) -> ui_stroff_op_t + | + | erase(self, *args) + | erase(self, it) -> ui_stroff_op_t + | erase(self, first, last) -> ui_stroff_op_t + | + | extract(self, *args) + | extract(self) -> ui_stroff_op_t + | + | find(self, *args) + | find(self, x) -> ui_stroff_op_t + | find(self, x) -> ui_stroff_op_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=ui_stroff_op_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> ui_stroff_op_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ui_stroff_op_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ui_stroff_ops_t(self) + +Help on function user_cmts_begin in module ida_hexrays: + +user_cmts_begin(*args) + 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 *) + +Help on function user_cmts_clear in module ida_hexrays: + +user_cmts_clear(*args) + user_cmts_clear(map) + + + Clear user_cmts_t. + + + @param map (C++: user_cmts_t *) + +Help on function user_cmts_end in module ida_hexrays: + +user_cmts_end(*args) + 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 *) + +Help on function user_cmts_erase in module ida_hexrays: + +user_cmts_erase(*args) + 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) + +Help on function user_cmts_find in module ida_hexrays: + +user_cmts_find(*args) + user_cmts_find(map, key) -> user_cmts_iterator_t + + + Find the specified key in user_cmts_t. + + + @param map (C++: const user_cmts_t *) + @param key (C++: const treeloc_t &) + +Help on function user_cmts_first in module ida_hexrays: + +user_cmts_first(*args) + user_cmts_first(p) -> treeloc_t + + + Get reference to the current map key. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_free in module ida_hexrays: + +user_cmts_free(*args) + user_cmts_free(map) + + + Delete user_cmts_t instance. + + + @param map (C++: user_cmts_t *) + +Help on function user_cmts_insert in module ida_hexrays: + +user_cmts_insert(*args) + 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 &) + @param val (C++: const citem_cmt_t &) + +Help on class user_cmts_iterator_t in module ida_hexrays: + +class user_cmts_iterator_t(__builtin__.object) + | Proxy of C++ user_cmts_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_cmts_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_cmts_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_cmts_iterator_t(self) + +Help on function user_cmts_new in module ida_hexrays: + +user_cmts_new(*args) + user_cmts_new() -> user_cmts_t + + + Create a new user_cmts_t instance. + +Help on function user_cmts_next in module ida_hexrays: + +user_cmts_next(*args) + user_cmts_next(p) -> user_cmts_iterator_t + + + Move to the next element. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_prev in module ida_hexrays: + +user_cmts_prev(*args) + user_cmts_prev(p) -> user_cmts_iterator_t + + + Move to the previous element. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_second in module ida_hexrays: + +user_cmts_second(*args) + user_cmts_second(p) -> citem_cmt_t + + + Get reference to the current map value. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_size in module ida_hexrays: + +user_cmts_size(*args) + user_cmts_size(map) -> size_t + + + Get size of user_cmts_t. + + + @param map (C++: user_cmts_t *) + +Help on class user_cmts_t in module ida_hexrays: + +class user_cmts_t(__builtin__.object) + | Proxy of C++ std::map< treeloc_t,citem_cmt_t > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_cmts_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> citem_cmt_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | user_cmts_begin(map) -> user_cmts_iterator_t + | + | __clear = + | user_cmts_clear(map) + | + | __end = + | user_cmts_end(map) -> user_cmts_iterator_t + | + | __erase = + | user_cmts_erase(map, p) + | + | __find = + | user_cmts_find(map, key) -> user_cmts_iterator_t + | + | __first = + | user_cmts_first(p) -> treeloc_t + | + | __insert = + | user_cmts_insert(map, key, val) -> user_cmts_iterator_t + | + | __next = + | user_cmts_next(p) -> user_cmts_iterator_t + | + | __second = + | user_cmts_second(p) -> citem_cmt_t + | + | __size = + | user_cmts_size(map) -> size_t + | + | __swig_destroy__ = + | delete_user_cmts_t(self) + | + | keytype = + | Proxy of C++ treeloc_t class. + | + | valuetype = + | Proxy of C++ citem_cmt_t class. + +Help on function user_iflags_begin in module ida_hexrays: + +user_iflags_begin(*args) + 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 *) + +Help on function user_iflags_clear in module ida_hexrays: + +user_iflags_clear(*args) + user_iflags_clear(map) + + + Clear user_iflags_t. + + + @param map (C++: user_iflags_t *) + +Help on function user_iflags_end in module ida_hexrays: + +user_iflags_end(*args) + 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 *) + +Help on function user_iflags_erase in module ida_hexrays: + +user_iflags_erase(*args) + 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) + +Help on function user_iflags_find in module ida_hexrays: + +user_iflags_find(*args) + user_iflags_find(map, key) -> user_iflags_iterator_t + + + Find the specified key in user_iflags_t. + + + @param map (C++: const user_iflags_t *) + @param key (C++: const citem_locator_t &) + +Help on function user_iflags_first in module ida_hexrays: + +user_iflags_first(*args) + user_iflags_first(p) -> citem_locator_t + + + Get reference to the current map key. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_free in module ida_hexrays: + +user_iflags_free(*args) + user_iflags_free(map) + + + Delete user_iflags_t instance. + + + @param map (C++: user_iflags_t *) + +Help on function user_iflags_insert in module ida_hexrays: + +user_iflags_insert(*args) + 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 &) + @param val (C++: const int32 &) + +Help on class user_iflags_iterator_t in module ida_hexrays: + +class user_iflags_iterator_t(__builtin__.object) + | Proxy of C++ user_iflags_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_iflags_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_iflags_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_iflags_iterator_t(self) + +Help on function user_iflags_new in module ida_hexrays: + +user_iflags_new(*args) + user_iflags_new() -> user_iflags_t + + + Create a new user_iflags_t instance. + +Help on function user_iflags_next in module ida_hexrays: + +user_iflags_next(*args) + user_iflags_next(p) -> user_iflags_iterator_t + + + Move to the next element. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_prev in module ida_hexrays: + +user_iflags_prev(*args) + user_iflags_prev(p) -> user_iflags_iterator_t + + + Move to the previous element. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_second in module ida_hexrays: + +user_iflags_second(*args) + user_iflags_second(p) -> int32 const & + + + Get reference to the current map value. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_size in module ida_hexrays: + +user_iflags_size(*args) + user_iflags_size(map) -> size_t + + + Get size of user_iflags_t. + + + @param map (C++: user_iflags_t *) + +Help on class user_iflags_t in module ida_hexrays: + +class user_iflags_t(__builtin__.object) + | Proxy of C++ std::map< citem_locator_t,int32 > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_iflags_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> int & + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | user_iflags_begin(map) -> user_iflags_iterator_t + | + | __clear = + | user_iflags_clear(map) + | + | __end = + | user_iflags_end(map) -> user_iflags_iterator_t + | + | __erase = + | user_iflags_erase(map, p) + | + | __find = + | user_iflags_find(map, key) -> user_iflags_iterator_t + | + | __first = + | user_iflags_first(p) -> citem_locator_t + | + | __insert = + | user_iflags_insert(map, key, val) -> user_iflags_iterator_t + | + | __next = + | user_iflags_next(p) -> user_iflags_iterator_t + | + | __second = + | user_iflags_second(p) -> int32 const & + | + | __size = + | user_iflags_size(map) -> size_t + | + | __swig_destroy__ = + | delete_user_iflags_t(self) + | + | keytype = + | Proxy of C++ citem_locator_t class. + | + | valuetype = + | int(x=0) -> int or long + | int(x, base=10) -> int or long + | + | Convert a number or string to an integer, or return 0 if no arguments + | are given. If x is floating point, the conversion truncates towards zero. + | If x is outside the integer range, the function returns a long instead. + | + | If x is not a number or if base is given, then x must be a string or + | Unicode object 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 + +Help on function user_labels_begin in module ida_hexrays: + +user_labels_begin(*args) + 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 *) + +Help on function user_labels_clear in module ida_hexrays: + +user_labels_clear(*args) + user_labels_clear(map) + + + Clear user_labels_t. + + + @param map (C++: user_labels_t *) + +Help on function user_labels_end in module ida_hexrays: + +user_labels_end(*args) + 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 *) + +Help on function user_labels_erase in module ida_hexrays: + +user_labels_erase(*args) + 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) + +Help on function user_labels_find in module ida_hexrays: + +user_labels_find(*args) + user_labels_find(map, key) -> user_labels_iterator_t + + + Find the specified key in user_labels_t. + + + @param map (C++: const user_labels_t *) + @param key (C++: const int &) + +Help on function user_labels_first in module ida_hexrays: + +user_labels_first(*args) + user_labels_first(p) -> int const & + + + Get reference to the current map key. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_free in module ida_hexrays: + +user_labels_free(*args) + user_labels_free(map) + + + Delete user_labels_t instance. + + + @param map (C++: user_labels_t *) + +Help on function user_labels_insert in module ida_hexrays: + +user_labels_insert(*args) + 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 &) + @param val (C++: const qstring &) + +Help on class user_labels_iterator_t in module ida_hexrays: + +class user_labels_iterator_t(__builtin__.object) + | Proxy of C++ user_labels_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_labels_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_labels_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_labels_iterator_t(self) + +Help on function user_labels_new in module ida_hexrays: + +user_labels_new(*args) + user_labels_new() -> user_labels_t + + + Create a new user_labels_t instance. + +Help on function user_labels_next in module ida_hexrays: + +user_labels_next(*args) + user_labels_next(p) -> user_labels_iterator_t + + + Move to the next element. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_prev in module ida_hexrays: + +user_labels_prev(*args) + user_labels_prev(p) -> user_labels_iterator_t + + + Move to the previous element. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_second in module ida_hexrays: + +user_labels_second(*args) + user_labels_second(p) -> qstring & + + + Get reference to the current map value. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_size in module ida_hexrays: + +user_labels_size(*args) + user_labels_size(map) -> size_t + + + Get size of user_labels_t. + + + @param map (C++: user_labels_t *) + +Help on class user_labels_t in module ida_hexrays: + +class user_labels_t(__builtin__.object) + | Proxy of C++ std::map< int,qstring > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> user_labels_t + | + | __repr__ = _swig_repr(self) + | + | at(self, *args) + | at(self, _Keyval) -> _qstring< char > & + | + | size(self, *args) + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_labels_t(self) + +Help on class user_lvar_modifier_t in module ida_hexrays: + +class user_lvar_modifier_t(__builtin__.object) + | Proxy of C++ user_lvar_modifier_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> user_lvar_modifier_t + | + | __repr__ = _swig_repr(self) + | + | modify_lvars(self, *args) + | modify_lvars(self, lvinf) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_lvar_modifier_t(self) + +Help on function user_numforms_begin in module ida_hexrays: + +user_numforms_begin(*args) + 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 *) + +Help on function user_numforms_clear in module ida_hexrays: + +user_numforms_clear(*args) + user_numforms_clear(map) + + + Clear user_numforms_t. + + + @param map (C++: user_numforms_t *) + +Help on function user_numforms_end in module ida_hexrays: + +user_numforms_end(*args) + 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 *) + +Help on function user_numforms_erase in module ida_hexrays: + +user_numforms_erase(*args) + 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) + +Help on function user_numforms_find in module ida_hexrays: + +user_numforms_find(*args) + user_numforms_find(map, key) -> user_numforms_iterator_t + + + Find the specified key in user_numforms_t. + + + @param map (C++: const user_numforms_t *) + @param key (C++: const operand_locator_t &) + +Help on function user_numforms_first in module ida_hexrays: + +user_numforms_first(*args) + user_numforms_first(p) -> operand_locator_t + + + Get reference to the current map key. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_free in module ida_hexrays: + +user_numforms_free(*args) + user_numforms_free(map) + + + Delete user_numforms_t instance. + + + @param map (C++: user_numforms_t *) + +Help on function user_numforms_insert in module ida_hexrays: + +user_numforms_insert(*args) + 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 &) + @param val (C++: const number_format_t &) + +Help on class user_numforms_iterator_t in module ida_hexrays: + +class user_numforms_iterator_t(__builtin__.object) + | Proxy of C++ user_numforms_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_numforms_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_numforms_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_numforms_iterator_t(self) + +Help on function user_numforms_new in module ida_hexrays: + +user_numforms_new(*args) + user_numforms_new() -> user_numforms_t + + + Create a new user_numforms_t instance. + +Help on function user_numforms_next in module ida_hexrays: + +user_numforms_next(*args) + user_numforms_next(p) -> user_numforms_iterator_t + + + Move to the next element. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_prev in module ida_hexrays: + +user_numforms_prev(*args) + user_numforms_prev(p) -> user_numforms_iterator_t + + + Move to the previous element. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_second in module ida_hexrays: + +user_numforms_second(*args) + user_numforms_second(p) -> number_format_t + + + Get reference to the current map value. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_size in module ida_hexrays: + +user_numforms_size(*args) + user_numforms_size(map) -> size_t + + + Get size of user_numforms_t. + + + @param map (C++: user_numforms_t *) + +Help on class user_numforms_t in module ida_hexrays: + +class user_numforms_t(__builtin__.object) + | Proxy of C++ std::map< operand_locator_t,number_format_t > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_numforms_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> number_format_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | user_numforms_begin(map) -> user_numforms_iterator_t + | + | __clear = + | user_numforms_clear(map) + | + | __end = + | user_numforms_end(map) -> user_numforms_iterator_t + | + | __erase = + | user_numforms_erase(map, p) + | + | __find = + | user_numforms_find(map, key) -> user_numforms_iterator_t + | + | __first = + | user_numforms_first(p) -> operand_locator_t + | + | __insert = + | user_numforms_insert(map, key, val) -> user_numforms_iterator_t + | + | __next = + | user_numforms_next(p) -> user_numforms_iterator_t + | + | __second = + | user_numforms_second(p) -> number_format_t + | + | __size = + | user_numforms_size(map) -> size_t + | + | __swig_destroy__ = + | delete_user_numforms_t(self) + | + | keytype = + | Proxy of C++ operand_locator_t class. + | + | valuetype = + | Proxy of C++ number_format_t class. + +Help on function user_unions_begin in module ida_hexrays: + +user_unions_begin(*args) + 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 *) + +Help on function user_unions_clear in module ida_hexrays: + +user_unions_clear(*args) + user_unions_clear(map) + + + Clear user_unions_t. + + + @param map (C++: user_unions_t *) + +Help on function user_unions_end in module ida_hexrays: + +user_unions_end(*args) + 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 *) + +Help on function user_unions_erase in module ida_hexrays: + +user_unions_erase(*args) + 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) + +Help on function user_unions_find in module ida_hexrays: + +user_unions_find(*args) + user_unions_find(map, key) -> user_unions_iterator_t + + + Find the specified key in user_unions_t. + + + @param map (C++: const user_unions_t *) + @param key (C++: const ea_t &) + +Help on function user_unions_first in module ida_hexrays: + +user_unions_first(*args) + user_unions_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_free in module ida_hexrays: + +user_unions_free(*args) + user_unions_free(map) + + + Delete user_unions_t instance. + + + @param map (C++: user_unions_t *) + +Help on function user_unions_insert in module ida_hexrays: + +user_unions_insert(*args) + 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 &) + @param val (C++: const intvec_t &) + +Help on class user_unions_iterator_t in module ida_hexrays: + +class user_unions_iterator_t(__builtin__.object) + | Proxy of C++ user_unions_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_unions_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_unions_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_unions_iterator_t(self) + +Help on function user_unions_new in module ida_hexrays: + +user_unions_new(*args) + user_unions_new() -> user_unions_t + + + Create a new user_unions_t instance. + +Help on function user_unions_next in module ida_hexrays: + +user_unions_next(*args) + user_unions_next(p) -> user_unions_iterator_t + + + Move to the next element. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_prev in module ida_hexrays: + +user_unions_prev(*args) + user_unions_prev(p) -> user_unions_iterator_t + + + Move to the previous element. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_second in module ida_hexrays: + +user_unions_second(*args) + user_unions_second(p) -> intvec_t + + + Get reference to the current map value. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_size in module ida_hexrays: + +user_unions_size(*args) + user_unions_size(map) -> size_t + + + Get size of user_unions_t. + + + @param map (C++: user_unions_t *) + +Help on class user_unions_t in module ida_hexrays: + +class user_unions_t(__builtin__.object) + | Proxy of C++ std::map< ea_t,intvec_t > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_unions_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> intvec_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | user_unions_begin(map) -> user_unions_iterator_t + | + | __clear = + | user_unions_clear(map) + | + | __end = + | user_unions_end(map) -> user_unions_iterator_t + | + | __erase = + | user_unions_erase(map, p) + | + | __find = + | user_unions_find(map, key) -> user_unions_iterator_t + | + | __first = + | user_unions_first(p) -> ea_t const & + | + | __insert = + | user_unions_insert(map, key, val) -> user_unions_iterator_t + | + | __next = + | user_unions_next(p) -> user_unions_iterator_t + | + | __second = + | user_unions_second(p) -> intvec_t + | + | __size = + | user_unions_size(map) -> size_t + | + | __swig_destroy__ = + | delete_user_unions_t(self) + | + | keytype = (, ) + | + | valuetype = + | Proxy of C++ qvector< int > class. + +Help on class uval_ivl_ivlset_t in module ida_hexrays: + +class uval_ivl_ivlset_t(__builtin__.object) + | Proxy of C++ ivlset_tpl< ivl_t,uval_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, v) -> bool + | + | __init__(self, *args) + | __init__(self) -> uval_ivl_ivlset_t + | __init__(self, ivl) -> uval_ivl_ivlset_t + | + | __ne__(self, *args) + | __ne__(self, v) -> bool + | + | __repr__ = _swig_repr(self) + | + | all_values(self, *args) + | all_values(self) -> bool + | + | begin(self, *args) + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | getivl(self, *args) + | getivl(self, idx) -> ivl_t + | + | lastivl(self, *args) + | lastivl(self) -> ivl_t + | + | nivls(self, *args) + | nivls(self) -> size_t + | + | qclear(self, *args) + | qclear(self) + | + | set_all_values(self, *args) + | set_all_values(self) + | + | single_value(self, *args) + | single_value(self, v) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_uval_ivl_ivlset_t(self) + +Help on class uval_ivl_t in module ida_hexrays: + +class uval_ivl_t(__builtin__.object) + | Proxy of C++ ivl_tpl< uval_t > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _off, _size) -> uval_ivl_t + | + | __repr__ = _swig_repr(self) + | + | end(self, *args) + | end(self) -> unsigned-ea-like-numeric-type↗ + | + | last(self, *args) + | last(self) -> unsigned-ea-like-numeric-type↗ + | + | valid(self, *args) + | valid(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type↗ + | + | size + | uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type↗ + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_uval_ivl_t(self) + +Help on class valrng_t in module ida_hexrays: + +class valrng_t(__builtin__.object) + | Proxy of C++ valrng_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, size_=MAX_VLR_SIZE) -> valrng_t + | __init__(self, r) -> valrng_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _deregister(self, *args) + | _deregister(self) + | + | _print(self, *args) + | _print(self) + | + | _register(self, *args) + | _register(self) + | + | all_values(self, *args) + | all_values(self) -> bool + | + | compare(self, *args) + | compare(self, r) -> int + | + | cvt_to_cmp(self, *args) + | cvt_to_cmp(self, strict) -> bool + | + | cvt_to_single_value(self, *args) + | cvt_to_single_value(self) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | get_size(self, *args) + | get_size(self) -> int + | + | has(self, *args) + | has(self, v) -> bool + | + | intersect_with(self, *args) + | intersect_with(self, r) -> bool + | + | inverse(self, *args) + | inverse(self) + | + | is_unknown(self, *args) + | is_unknown(self) -> bool + | + | max_svalue(self, *args) + | max_svalue(self, size_) -> uvlr_t + | max_svalue(self) -> uvlr_t + | + | max_value(self, *args) + | max_value(self, size_) -> uvlr_t + | max_value(self) -> uvlr_t + | + | min_svalue(self, *args) + | min_svalue(self, size_) -> uvlr_t + | min_svalue(self) -> uvlr_t + | + | reduce_size(self, *args) + | reduce_size(self, new_size) -> bool + | + | set_all(self, *args) + | set_all(self) + | + | set_cmp(self, *args) + | set_cmp(self, cmp, _value) + | + | set_eq(self, *args) + | set_eq(self, v) + | + | set_none(self, *args) + | set_none(self) + | + | set_unk(self, *args) + | set_unk(self) + | + | swap(self, *args) + | swap(self, r) + | + | unite_with(self, *args) + | unite_with(self, r) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_valrng_t(self) + +Help on class var_ref_t in module ida_hexrays: + +class var_ref_t(__builtin__.object) + | Proxy of C++ var_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> var_ref_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | idx + | var_ref_t_idx_get(self) -> int + | + | mba + | var_ref_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_var_ref_t(self) + +Help on class vc_printer_t in module ida_hexrays: + +class vc_printer_t(vd_printer_t) + | Proxy of C++ vc_printer_t class. + | + | Method resolution order: + | vc_printer_t + | vd_printer_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, f) -> vc_printer_t + | + | __repr__ = _swig_repr(self) + | + | oneliner(self, *args) + | oneliner(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | func + | vc_printer_t_func_get(self) -> cfunc_t + | + | lastchar + | vc_printer_t_lastchar_get(self) -> char + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vc_printer_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from vd_printer_t: + | + | _print(self, *args) + | _print(self, indent, format) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_printer_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + +Help on class vd_failure_t in module ida_hexrays: + +class vd_failure_t(__builtin__.object) + | Proxy of C++ vd_failure_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> vd_failure_t + | __init__(self, code, ea, buf=None) -> vd_failure_t + | __init__(self, code, ea, buf) -> vd_failure_t + | __init__(self, _hf) -> vd_failure_t + | + | __repr__ = _swig_repr(self) + | + | desc(self, *args) + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hf + | vd_failure_t_hf_get(self) -> hexrays_failure_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vd_failure_t(self) + +Help on class vd_interr_t in module ida_hexrays: + +class vd_interr_t(vd_failure_t) + | Proxy of C++ vd_interr_t class. + | + | Method resolution order: + | vd_interr_t + | vd_failure_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, ea, buf) -> vd_interr_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vd_interr_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from vd_failure_t: + | + | desc(self, *args) + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_failure_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hf + | vd_failure_t_hf_get(self) -> hexrays_failure_t + +Help on class vd_printer_t in module ida_hexrays: + +class vd_printer_t(__builtin__.object) + | Proxy of C++ vd_printer_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> vd_printer_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, indent, format) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | thisown + | The membership flag + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vd_printer_t(self) + +Help on class vdloc_t in module ida_hexrays: + +class vdloc_t(ida_typeinf.argloc_t) + | Proxy of C++ vdloc_t class. + | + | Method resolution order: + | vdloc_t + | ida_typeinf.argloc_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> vdloc_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _set_reg1(self, *args) + | _set_reg1(self, r1) + | + | compare(self, *args) + | compare(self, r) -> int + | + | is_aliasable(self, *args) + | is_aliasable(self, mb, size) -> bool + | + | reg1(self, *args) + | reg1(self) -> int + | + | set_reg1(self, *args) + | set_reg1(self, r1) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vdloc_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_typeinf.argloc_t: + | + | _consume_rrel(self, *args) + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) + | _set_badloc(self) + | + | _set_biggest(self, *args) + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) + | _set_ea(self, _ea) + | + | _set_reg2(self, *args) + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) + | _set_stkoff(self, off) + | + | advance(self, *args) + | advance(self, delta) -> bool + | + | atype(self, *args) + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) + | calc_offset(self) -> sval_t + | + | consume_rrel(self, *args) + | consume_rrel(self, p) + | + | consume_scattered(self, *args) + | consume_scattered(self, p) + | + | get_biggest(self, *args) + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) + | get_custom(self) -> void * + | + | get_ea(self, *args) + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) + | has_reg(self) -> bool + | + | has_stkoff(self, *args) + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) + | is_badloc(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_ea(self, *args) + | is_ea(self) -> bool + | + | is_fragmented(self, *args) + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_rrel(self, *args) + | is_rrel(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) + | justify_stkoff_right(self, size, _slotsize) + | + | reg2(self, *args) + | reg2(self) -> int + | + | regoff(self, *args) + | regoff(self) -> int + | + | scattered(self, *args) + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) + | set_badloc(self) + | + | set_ea(self, *args) + | set_ea(self, _ea) + | + | set_reg2(self, *args) + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) + | set_stkoff(self, off) + | + | stkoff(self, *args) + | stkoff(self) -> sval_t + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_typeinf.argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class vdui_t in module ida_hexrays: + +class vdui_t(__builtin__.object) + | Proxy of C++ vdui_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | calc_cmt_type(self, *args) + | calc_cmt_type(self, lnnum, cmttype) -> cmt_type_t + | + | clear(self, *args) + | clear(self) + | + | collapse_item(self, *args) + | collapse_item(self, hide) -> bool + | + | collapse_lvars(self, *args) + | collapse_lvars(self, hide) -> bool + | + | ctree_to_disasm(self, *args) + | ctree_to_disasm(self) -> bool + | + | del_orphan_cmts(self, *args) + | del_orphan_cmts(self) -> bool + | + | edit_cmt(self, *args) + | edit_cmt(self, loc) -> bool + | + | edit_func_cmt(self, *args) + | edit_func_cmt(self) -> bool + | + | get_current_item(self, *args) + | get_current_item(self, idv) -> bool + | + | get_current_label(self, *args) + | get_current_label(self) -> int + | + | get_number(self, *args) + | get_number(self) -> cnumber_t + | + | in_ctree(self, *args) + | in_ctree(self) -> bool + | + | invert_bits(self, *args) + | invert_bits(self) -> bool + | + | invert_sign(self, *args) + | invert_sign(self) -> bool + | + | jump_enter(self, *args) + | jump_enter(self, idv, omflags) -> bool + | + | locked(self, *args) + | locked(self) -> bool + | + | map_lvar(self, *args) + | map_lvar(self, frm, to) -> bool + | + | refresh_cpos(self, *args) + | refresh_cpos(self, idv) -> bool + | + | refresh_ctext(self, *args) + | refresh_ctext(self, activate=True) + | + | refresh_view(self, *args) + | refresh_view(self, redo_mba) + | + | rename_global(self, *args) + | rename_global(self, ea) -> bool + | + | rename_label(self, *args) + | rename_label(self, label) -> bool + | + | rename_lvar(self, *args) + | rename_lvar(self, v, name, is_user_name) -> bool + | + | rename_strmem(self, *args) + | rename_strmem(self, sptr, mptr) -> bool + | + | set_global_type(self, *args) + | set_global_type(self, ea) -> bool + | + | set_locked(self, *args) + | set_locked(self, v) -> bool + | + | set_lvar_cmt(self, *args) + | set_lvar_cmt(self, v, cmt) -> bool + | + | set_lvar_type(self, *args) + | set_lvar_type(self, v, type) -> bool + | + | set_noptr_lvar(self, *args) + | set_noptr_lvar(self, v) -> bool + | + | set_num_enum(self, *args) + | set_num_enum(self) -> bool + | + | set_num_radix(self, *args) + | set_num_radix(self, base) -> bool + | + | set_num_stroff(self, *args) + | set_num_stroff(self) -> bool + | + | set_strmem_type(self, *args) + | set_strmem_type(self, sptr, mptr) -> bool + | + | set_valid(self, *args) + | set_valid(self, v) + | + | set_visible(self, *args) + | set_visible(self, v) + | + | split_item(self, *args) + | split_item(self, split) -> bool + | + | switch_to(self, *args) + | switch_to(self, f, activate) + | + | ui_edit_lvar_cmt(self, *args) + | ui_edit_lvar_cmt(self, v) -> bool + | + | ui_map_lvar(self, *args) + | ui_map_lvar(self, v) -> bool + | + | ui_rename_lvar(self, *args) + | ui_rename_lvar(self, v) -> bool + | + | ui_set_call_type(self, *args) + | ui_set_call_type(self, e) -> bool + | + | ui_set_lvar_type(self, *args) + | ui_set_lvar_type(self, v) -> bool + | + | ui_unmap_lvar(self, *args) + | ui_unmap_lvar(self, v) -> bool + | + | valid(self, *args) + | valid(self) -> bool + | + | visible(self, *args) + | visible(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cfunc + | vdui_t_cfunc_get(self) -> cfuncptr_t + | + | cpos + | vdui_t_cpos_get(self) -> ctext_position_t + | + | ct + | vdui_t_ct_get(self) -> TWidget * + | + | flags + | vdui_t_flags_get(self) -> int + | + | head + | vdui_t_head_get(self) -> ctree_item_t + | + | item + | vdui_t_item_get(self) -> ctree_item_t + | + | last_code + | vdui_t_last_code_get(self) -> merror_t + | + | mba + | vdui_t_mba_get(self) -> mbl_array_t + | + | tail + | vdui_t_tail_get(self) -> ctree_item_t + | + | thisown + | The membership flag + | + | toplevel + | vdui_t_toplevel_get(self) -> TWidget * + | + | view_idx + | vdui_t_view_idx_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vdui_t(self) + +Help on class vivl_t in module ida_hexrays: + +class vivl_t(voff_t) + | Proxy of C++ vivl_t class. + | + | Method resolution order: + | vivl_t + | voff_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | __eq__(self, mop) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _type=mop_z, _off=-1, _size=0) -> vivl_t + | __init__(self, ch) -> vivl_t + | __init__(self, op) -> vivl_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, voff2) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | extend_to_cover(self, *args) + | extend_to_cover(self, r) -> bool + | + | includes(self, *args) + | includes(self, r) -> bool + | + | intersect(self, *args) + | intersect(self, r) -> uval_t + | + | overlap(self, *args) + | overlap(self, r) -> bool + | + | set(self, *args) + | set(self, _type, _off, _size=0) + | set(self, voff, _size) + | + | set_reg(self, *args) + | set_reg(self, mreg, sz=0) + | + | set_stkoff(self, *args) + | set_stkoff(self, stkoff, sz=0) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | size + | vivl_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vivl_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from voff_t: + | + | add(self, *args) + | add(self, width) -> voff_t + | + | defined(self, *args) + | defined(self) -> bool + | + | diff(self, *args) + | diff(self, r) -> sval_t + | + | get_reg(self, *args) + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) + | get_stkoff(self) -> sval_t + | + | inc(self, *args) + | inc(self, delta) + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | undef(self, *args) + | undef(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from voff_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | voff_t_off_get(self) -> sval_t + | + | type + | voff_t_type_get(self) -> mopt_t + +Help on class voff_t in module ida_hexrays: + +class voff_t(__builtin__.object) + | Proxy of C++ voff_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> voff_t + | __init__(self, _type, _off) -> voff_t + | __init__(self, op) -> voff_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | add(self, *args) + | add(self, width) -> voff_t + | + | compare(self, *args) + | compare(self, r) -> int + | + | defined(self, *args) + | defined(self) -> bool + | + | diff(self, *args) + | diff(self, r) -> sval_t + | + | get_reg(self, *args) + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) + | get_stkoff(self) -> sval_t + | + | inc(self, *args) + | inc(self, delta) + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | set(self, *args) + | set(self, _type, _off) + | + | set_reg(self, *args) + | set_reg(self, mreg) + | + | set_stkoff(self, *args) + | set_stkoff(self, stkoff) + | + | undef(self, *args) + | undef(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | voff_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | type + | voff_t_type_get(self) -> mopt_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_voff_t(self) + +=== ida_hexrays EPYDOC INJECTIONS === +ida_hexrays.ACFL_BLKOPT +""" +perform interblock transformations +""" + +ida_hexrays.ACFL_GLBDEL +""" +perform dead code eliminition +""" + +ida_hexrays.ACFL_GLBPROP +""" +perform global propagation +""" + +ida_hexrays.ACFL_GUESS +""" +may guess calling conventions +""" + +ida_hexrays.ACFL_LOCOPT +""" +perform local propagation (requires ACFL_BLKOPT) +""" + +ida_hexrays.ANCHOR_BLKCMT +""" +block comment (for ctree items) +""" + +ida_hexrays.ANCHOR_CITEM +""" +c-tree item +""" + +ida_hexrays.ANCHOR_ITP +""" +item type preciser +""" + +ida_hexrays.ANCHOR_LVAR +""" +declaration of local variable +""" + +ida_hexrays.CFL_FINAL +""" +call type is final, should not be changed +""" + +ida_hexrays.CFL_HELPER +""" +created from a decompiler helper function +""" + +ida_hexrays.CFS_BOUNDS +""" +'eamap' and 'boundaries' are ready +""" + +ida_hexrays.CFS_LVARS_HIDDEN +""" +local variable definitions are collapsed +""" + +ida_hexrays.CFS_TEXT +""" +'sv' is ready (and hdrlines) +""" + +ida_hexrays.CHF_FAKE +""" +fake chain created by widen_chains() +""" + +ida_hexrays.CHF_INITED +""" +is chain initialized? (valid only after lvar allocation) +""" + +ida_hexrays.CHF_OVER +""" +overlapped chain +""" + +ida_hexrays.CHF_PASSTHRU +""" +pass-thru chain, must use the input variable to the block +""" + +ida_hexrays.CHF_REPLACED +""" +chain operands have been replaced? +""" + +ida_hexrays.CHF_TERM +""" +terminating chain; the variable does not survive across the block +""" + +ida_hexrays.CIT_COLLAPSED +""" +display element in collapsed form +""" + +ida_hexrays.CPBLK_FAST +""" +do not update minbstkref and minbargref +""" + +ida_hexrays.CPBLK_MINREF +""" +update minbstkref and minbargref +""" + +ida_hexrays.CPBLK_OPTJMP +""" +if it becomes useless + +del the jump insn at the end of the block +""" + +ida_hexrays.CV_FAST +""" +do not maintain parent information +""" + +ida_hexrays.CV_INSNS +""" +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. +""" + +ida_hexrays.CV_PARENTS +""" +maintain parent information +""" + +ida_hexrays.CV_POST +""" +call the leave...() functions +""" + +ida_hexrays.CV_PRUNE +""" +this bit is set by visit...() to prune the walk +""" + +ida_hexrays.CV_RESTART +""" +restart enumeration at the top expr (apply_to_exprs) +""" + +ida_hexrays.DECOMP_ALL_BLKS +""" +generate microcode for unreachable blocks +""" + +ida_hexrays.DECOMP_NO_CACHE +""" +do not use decompilation cache +""" + +ida_hexrays.DECOMP_NO_FRAME +""" +do not use function frame info (only snippet mode) +""" + +ida_hexrays.DECOMP_NO_WAIT +""" +do not display waitbox +""" + +ida_hexrays.DECOMP_WARNINGS +""" +display warnings in the output window +""" + +ida_hexrays.EQ_CMPDEST +""" +compare instruction destinations +""" + +ida_hexrays.EQ_IGNCODE +""" +ignore instruction opcodes +""" + +ida_hexrays.EQ_IGNSIZE +""" +ignore operand sizes +""" + +ida_hexrays.EQ_OPTINSN +""" +optimize mop_d operands +""" + +ida_hexrays.EXFL_ALL +""" +all currently defined bits +""" + +ida_hexrays.EXFL_ALONE +""" +standalone helper +""" + +ida_hexrays.EXFL_CPADONE +""" +pointer arithmetic correction done +""" + +ida_hexrays.EXFL_CSTR +""" +string literal +""" + +ida_hexrays.EXFL_FPOP +""" +floating point operation +""" + +ida_hexrays.EXFL_JUMPOUT +""" +jump out-of-function +""" + +ida_hexrays.EXFL_LVALUE +""" +expression is lvalue even if it doesn't look like it +""" + +ida_hexrays.EXFL_PARTIAL +""" +type of the expression is considered partial +""" + +ida_hexrays.EXFL_UNDEF +""" +expression uses undefined value +""" + +ida_hexrays.EXFL_VFTABLE +""" +is ptr to vftable (used for cot_memptr, cot_memref) +""" + +ida_hexrays.FCI_DEAD +""" +some return registers were determined dead +""" + +ida_hexrays.FCI_FINAL +""" +call type is final, should not be changed +""" + +ida_hexrays.FCI_HASCALL +""" +A function is an synthetic helper combined from several instructions +and at least one of them was a call to a real functions +""" + +ida_hexrays.FCI_HASFMT +""" +printf- or scanf-style format string + +A variadic function with recognized +""" + +ida_hexrays.FCI_NORET +""" +call does not return +""" + +ida_hexrays.FCI_NOSIDE +""" +call does not have side effects +""" + +ida_hexrays.FCI_PROP +""" +call has been propagated +""" + +ida_hexrays.FCI_PURE +""" +pure function +""" + +ida_hexrays.FCI_SPLOK +""" +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. +""" + +ida_hexrays.FD_BACKWARD +""" +search direction +""" + +ida_hexrays.FD_DEF +""" +look for definition +""" + +ida_hexrays.FD_DIRTY +""" +by function calls and indirect memory access + +ignore possible implicit definitions +""" + +ida_hexrays.FD_FORWARD +""" +search direction +""" + +ida_hexrays.FD_USE +""" +look for use +""" + +ida_hexrays.GCA_ALLOC +""" +enumerate only allocated chains +""" + +ida_hexrays.GCA_EMPTY +""" +include empty chains +""" + +ida_hexrays.GCA_NALLOC +""" +enumerate only non-allocated chains +""" + +ida_hexrays.GCA_OFIRST +""" +consider only chains of the first block +""" + +ida_hexrays.GCA_OLAST +""" +consider only chains of the last block +""" + +ida_hexrays.GCA_SPEC +""" +include chains for special registers +""" + +ida_hexrays.GCO_DEF +""" +is destination operand? +""" + +ida_hexrays.GCO_REG +""" +is register? otherwise a stack variable +""" + +ida_hexrays.GCO_STK +""" +a stack variable +""" + +ida_hexrays.GCO_USE +""" +is source operand? +""" + +ida_hexrays.GLN_ALL +""" +get both +""" + +ida_hexrays.GLN_CURRENT +""" +get label of the current item +""" + +ida_hexrays.GLN_GOTO_TARGET +""" +get goto target +""" + +ida_hexrays.IPROP_ASSERT +""" +assertion: usually mov #val, op. assertions are used to help the +optimizer. assertions are ignored when generating ctree +""" + +ida_hexrays.IPROP_CLNPOP +""" +(e.g. "pop ecx" is often used for that) + +the purpose of the instruction is to clean stack +""" + +ida_hexrays.IPROP_COMBINED +""" +insn has been modified because of a partial reference +""" + +ida_hexrays.IPROP_DONT_COMB +""" +may not combine this instruction with others +""" + +ida_hexrays.IPROP_DONT_PROP +""" +may not propagate +""" + +ida_hexrays.IPROP_EXTSTX +""" +this is m_ext propagated into m_stx +""" + +ida_hexrays.IPROP_FARCALL +""" +call of a far function using push cs/call sequence +""" + +ida_hexrays.IPROP_FPINSN +""" +floating point insn +""" + +ida_hexrays.IPROP_IGNLOWSRC +""" +low part of the instruction source operand has been created +artificially (this bit is used only for 'and x, 80...') +""" + +ida_hexrays.IPROP_INV_JX +""" +inverted conditional jump +""" + +ida_hexrays.IPROP_MBARRIER +""" +(instructions accessing memory may not be reordered past it) + +this instruction acts as a memory barrier +""" + +ida_hexrays.IPROP_MULTI_MOV +""" +(example: STM on ARM may transfer multiple registers) + +the minsn was generated as part of insn that moves multiple +registersbits that can be set by plugins: +""" + +ida_hexrays.IPROP_OPTIONAL +""" +optional instruction +""" + +ida_hexrays.IPROP_PERSIST +""" +persistent insn; they are not destroyed +""" + +ida_hexrays.IPROP_SPLIT +""" +the instruction has been split: +""" + +ida_hexrays.IPROP_SPLIT1 +""" +into 1 byte +""" + +ida_hexrays.IPROP_SPLIT2 +""" +into 2 bytes +""" + +ida_hexrays.IPROP_SPLIT4 +""" +into 4 bytes +""" + +ida_hexrays.IPROP_SPLIT8 +""" +into 8 bytes +""" + +ida_hexrays.IPROP_TAILCALL +""" +tail call +""" + +ida_hexrays.IPROP_WAS_NORET +""" +was noret icall +""" + +ida_hexrays.IPROP_WILDMATCH +""" +match multiple insns +""" + +ida_hexrays.LOCOPT_ALL +""" +is not set, only dirty blocks will be optimized + +redo optimization for all blocks. if this bit +""" + +ida_hexrays.LOCOPT_REFINE +""" +refine return type, ok to fail +""" + +ida_hexrays.LOCOPT_REFINE2 +""" +refine return type, try harder +""" + +ida_hexrays.LVINF_FORCE +""" +force allocation of a new variable. forces the decompiler to create a +new variable at ll.defea +""" + +ida_hexrays.LVINF_KEEP +""" +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. +""" + +ida_hexrays.LVINF_NOMAP +""" +forbid automatic mapping of the variable +""" + +ida_hexrays.LVINF_NOPTR +""" +variable type should not be a pointer +""" + +ida_hexrays.MBA_ASRPROP +""" +assertion have been propagated +""" + +ida_hexrays.MBA_ASRTOK +""" +assertions have been generated +""" + +ida_hexrays.MBA_CALLS +""" +callinfo has been built +""" + +ida_hexrays.MBA_CHVARS +""" +can verify chain varnums +""" + +ida_hexrays.MBA_CMBBLK +""" +request to combine blocks +""" + +ida_hexrays.MBA_CMNSTK +""" +stkvars+stkargs should be considered as one area +""" + +ida_hexrays.MBA_COLGDL +""" +display graph after each reduction +""" + +ida_hexrays.MBA_DELPAIRS +""" +pairs have been deleted once +""" + +ida_hexrays.MBA_GLBOPT +""" +microcode has been optimized globally +""" + +ida_hexrays.MBA_INSGDL +""" +display instruction in graphs +""" + +ida_hexrays.MBA_LOADED +""" +loaded gdl, no instructions (debugging) +""" + +ida_hexrays.MBA_LVARS0 +""" +lvar pre-allocation has been performed +""" + +ida_hexrays.MBA_LVARS1 +""" +lvar real allocation has been performed +""" + +ida_hexrays.MBA_NICE +""" +apply transformations to c code +""" + +ida_hexrays.MBA_NOFUNC +""" +function is not present, addresses might be wrong +""" + +ida_hexrays.MBA_NUMADDR +""" +display definition addresses for numbers +""" + +ida_hexrays.MBA_PASSREGS +""" +has 'mcallinfo_t::pass_regs' +""" + +ida_hexrays.MBA_PATTERN +""" +microcode pattern, callinfo is present +""" + +ida_hexrays.MBA_PRCDEFS +""" +use precise defeas for chain-allocated lvars +""" + +ida_hexrays.MBA_PREOPT +""" +preoptimization stage complete +""" + +ida_hexrays.MBA_REFINE +""" +may refine return value size +""" + +ida_hexrays.MBA_RETFP +""" +function returns floating point value +""" + +ida_hexrays.MBA_RETREF +""" +return type has been refined +""" + +ida_hexrays.MBA_SAVRST +""" +save-restore analysis has been performed +""" + +ida_hexrays.MBA_SHORT +""" +use short display +""" + +ida_hexrays.MBA_SPLINFO +""" +(final_type ? idb_spoiled : spoiled_regs) is valid +""" + +ida_hexrays.MBA_THUNK +""" +thunk function +""" + +ida_hexrays.MBA_VALNUM +""" +display value numbers +""" + +ida_hexrays.MBA_WINGR32 +""" +use wingraph32 +""" + +ida_hexrays.MBL_BACKPROP +""" +performed backprop_cc +""" + +ida_hexrays.MBL_CALL +""" +call information has been built +""" + +ida_hexrays.MBL_COMB +""" +needs "combine" pass +""" + +ida_hexrays.MBL_DEAD +""" +needs "eliminate deads" pass +""" + +ida_hexrays.MBL_DMT64 +""" +needs "demote 64bits" +""" + +ida_hexrays.MBL_DSLOT +""" +block for delay slot +""" + +ida_hexrays.MBL_FAKE +""" +fake block (after a tail call) +""" + +ida_hexrays.MBL_GOTO +""" +this block is a goto target +""" + +ida_hexrays.MBL_INCONST +""" +inconsistent lists: we are building them +""" + +ida_hexrays.MBL_LIST +""" +use/def lists are ready (not dirty) +""" + +ida_hexrays.MBL_NONFAKE +""" +regular block +""" + +ida_hexrays.MBL_NORET +""" +dead end block: doesn't return execution control +""" + +ida_hexrays.MBL_PRIV +""" +the specified are accepted (used in patterns) + +private block - no instructions except +""" + +ida_hexrays.MBL_PROP +""" +needs 'propagation' pass +""" + +ida_hexrays.MBL_PUSH +""" +needs "convert push/pop instructions" +""" + +ida_hexrays.MBL_TCAL +""" +aritifical call block for tail calls +""" + +ida_hexrays.MBL_VALRANGES +""" +should optimize using value ranges +""" + +ida_hexrays.MLI_CLR_FLAGS +""" +clear LVINF_... bits +""" + +ida_hexrays.MLI_CMT +""" +apply lvar comment +""" + +ida_hexrays.MLI_NAME +""" +apply lvar name +""" + +ida_hexrays.MLI_SET_FLAGS +""" +set LVINF_... bits +""" + +ida_hexrays.MLI_TYPE +""" +apply lvar type +""" + +ida_hexrays.NALT_VD +""" +this index is not used by ida +""" + +ida_hexrays.NF_BINVDONE +""" +temporary internal bit: inverting bits is done +""" + +ida_hexrays.NF_BITNOT +""" +The user asked to invert bits of the constant. +""" + +ida_hexrays.NF_FIXED +""" +number format has been defined by the user +""" + +ida_hexrays.NF_NEGATE +""" +The user asked to negate the constant. +""" + +ida_hexrays.NF_NEGDONE +""" +temporary internal bit: negation has been performed +""" + +ida_hexrays.NF_STROFF +""" +internal bit: used as stroff, valid iff 'is_stroff()' +""" + +ida_hexrays.OPROP_CCFLAGS +""" +condition codes register value +""" + +ida_hexrays.OPROP_FLOAT +""" +possibly floating value +""" + +ida_hexrays.OPROP_IMPDONE +""" +imported operand (a pointer) has been dereferenced +""" + +ida_hexrays.OPROP_UDEFVAL +""" +uses undefined value +""" + +ida_hexrays.OPROP_UDT +""" +a struct or union +""" + +ida_hexrays.OPTI_ADDREXPRS +""" +optimize all address expressions (&x+N; &x-&y) +""" + +ida_hexrays.OPTI_COMBINSNS +""" +may combine insns (only for optimize_insn) +""" + +ida_hexrays.OPTI_MINSTKREF +""" +may update minstkref +""" + +ida_hexrays.OPTI_NO_LDXOPT +""" +do not optimize low/high(ldx) +""" + +ida_hexrays.SHINS_LDXEA +""" +display address of ldx expressions (not used) +""" + +ida_hexrays.SHINS_NUMADDR +""" +display definition addresses for numbers +""" + +ida_hexrays.SHINS_SHORT +""" +do not display use-def chains and other attrs +""" + +ida_hexrays.SHINS_VALNUM +""" +display value numbers +""" + +ida_hexrays.ULV_PRECISE_DEFEA +""" +Use precise defea's for lvar locations. +""" + +ida_hexrays.VDRUN_APPEND +""" +Create a new file or append to existing file. +""" + +ida_hexrays.VDRUN_CMDLINE +""" +Called from ida's command line. +""" + +ida_hexrays.VDRUN_LUMINA +""" +Use lumina server. +""" + +ida_hexrays.VDRUN_MAYSTOP +""" +The user can cancel decompilation. +""" + +ida_hexrays.VDRUN_NEWFILE +""" +Create a new file or overwrite existing file. +""" + +ida_hexrays.VDRUN_ONLYNEW +""" +Fail if output file already exists. +""" + +ida_hexrays.VDRUN_SENDIDB +""" +Send problematic databases to hex-rays.com. +""" + +ida_hexrays.VDRUN_SILENT +""" +Silent decompilation. +""" + +ida_hexrays.VDRUN_STATS +""" +Print statistics into vd_stats.txt. +""" + +ida_hexrays.VDUI_LOCKED +""" +is locked? +""" + +ida_hexrays.VDUI_VALID +""" +is valid? +""" + +ida_hexrays.VDUI_VISIBLE +""" +is visible? +""" + +ida_hexrays.VR_AT_END +""" +get value ranges after the instruction or at the block end, just after +the last instruction (if M is NULL) +""" + +ida_hexrays.VR_AT_START +""" +at the block start (if M is NULL) + +get value ranges before the instruction or +""" + +ida_hexrays.VR_EXACT +""" +valrng size will be >= vivl.size + +find exact match. if not set, the returned +""" +=== ida_hexrays EPYDOC INJECTIONS END === +Help on function __make_idainfo_accessors in module ida_ida: + +__make_idainfo_accessors(attr, getter_name=None, setter_name=None) + +Help on function __make_idainfo_bound in module ida_ida: + +__make_idainfo_bound(func, attr) + # + +Help on function __make_idainfo_getter in module ida_ida: + +__make_idainfo_getter(name) + +Help on function calc_default_idaplace_flags in module ida_ida: + +calc_default_idaplace_flags(*args) + calc_default_idaplace_flags() -> int + + + Get default disassembly line options. + +Help on class compiler_info_t in module ida_ida: + +class compiler_info_t(__builtin__.object) + | Proxy of C++ compiler_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> compiler_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cm + | compiler_info_t_cm_get(self) -> cm_t + | + | defalign + | compiler_info_t_defalign_get(self) -> uchar + | + | id + | compiler_info_t_id_get(self) -> comp_t + | + | size_b + | compiler_info_t_size_b_get(self) -> uchar + | + | size_e + | compiler_info_t_size_e_get(self) -> uchar + | + | size_i + | compiler_info_t_size_i_get(self) -> uchar + | + | size_l + | compiler_info_t_size_l_get(self) -> uchar + | + | size_ldbl + | compiler_info_t_size_ldbl_get(self) -> uchar + | + | size_ll + | compiler_info_t_size_ll_get(self) -> uchar + | + | size_s + | compiler_info_t_size_s_get(self) -> uchar + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_compiler_info_t(self) + +Help on class idainfo in module ida_ida: + +class idainfo(__builtin__.object) + | Proxy of C++ idainfo class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | big_arg_align = __func(self, *args) + | + | gen_lzero = __func(self, *args) + | + | gen_null = __func(self, *args) + | + | gen_tryblks = __func(self, *args) + | + | get_abiname(self, *args) + | get_abiname(self) -> qstring + | + | get_demname_form = __func(self, *args) + | + | get_maxEA(self, *args) + | get_maxEA(self) -> ea_t + | + | get_minEA(self, *args) + | get_minEA(self) -> ea_t + | + | get_pack_mode = __func(self, *args) + | + | get_procName(self, *args) + | get_procName(self) -> qstring + | + | is_32bit = __func(self, *args) + | + | is_64bit = __func(self, *args) + | + | is_auto_enabled = __func(self, *args) + | + | is_be = __func(self, *args) + | + | is_dll = __func(self, *args) + | + | is_flat_off32 = __func(self, *args) + | + | is_graph_view = __func(self, *args) + | + | is_hard_float = __func(self, *args) + | + | is_kernel_mode = __func(self, *args) + | + | is_mem_aligned4 = __func(self, *args) + | + | is_snapshot = __func(self, *args) + | + | is_wide_high_byte_first = __func(self, *args) + | + | like_binary = __func(self, *args) + | + | line_pref_with_seg = __func(self, *args) + | + | loading_idc = __func(self, *args) + | + | map_stkargs = __func(self, *args) + | + | pack_stkargs = __func(self, *args) + | + | readonly_idb = __func(self, *args) + | + | set_64bit = __func(self, *args) + | + | set_auto_enabled = __func(self, *args) + | + | set_be = __func(self, *args) + | + | set_gen_lzero = __func(self, *args) + | + | set_gen_null = __func(self, *args) + | + | set_gen_tryblks = __func(self, *args) + | + | set_graph_view = __func(self, *args) + | + | set_line_pref_with_seg = __func(self, *args) + | + | set_maxEA(self, *args) + | set_maxEA(self, ea) + | + | set_minEA(self, *args) + | set_minEA(self, ea) + | + | set_pack_mode = __func(self, *args) + | + | set_show_auto = __func(self, *args) + | + | set_show_line_pref = __func(self, *args) + | + | set_show_void = __func(self, *args) + | + | set_wide_high_byte_first = __func(self, *args) + | + | show_auto = __func(self, *args) + | + | show_line_pref = __func(self, *args) + | + | show_void = __func(self, *args) + | + | stack_ldbl = __func(self, *args) + | + | stack_varargs = __func(self, *args) + | + | use_allasm = __func(self, *args) + | + | use_gcc_layout = __func(self, *args) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | abibits + | idainfo_abibits_get(self) -> uint32 + | + | abiname + | get_abiname(self) -> qstring + | + | af + | idainfo_af_get(self) -> uint32 + | + | af2 + | idainfo_af2_get(self) -> uint32 + | + | appcall_options + | idainfo_appcall_options_get(self) -> uint32 + | + | apptype + | idainfo_apptype_get(self) -> ushort + | + | asmtype + | idainfo_asmtype_get(self) -> uchar + | + | baseaddr + | idainfo_baseaddr_get(self) -> uval_t + | + | bin_prefix_size + | idainfo_bin_prefix_size_get(self) -> short + | + | cc + | idainfo_cc_get(self) -> compiler_info_t + | + | comment + | idainfo_comment_get(self) -> uchar + | + | database_change_count + | idainfo_database_change_count_get(self) -> uint32 + | + | datatypes + | idainfo_datatypes_get(self) -> uval_t + | + | demnames + | idainfo_demnames_get(self) -> uchar + | + | filetype + | idainfo_filetype_get(self) -> ushort + | + | highoff + | idainfo_highoff_get(self) -> ea_t + | + | indent + | idainfo_indent_get(self) -> uchar + | + | lenxref + | idainfo_lenxref_get(self) -> ushort + | + | lflags + | idainfo_lflags_get(self) -> uint32 + | + | listnames + | idainfo_listnames_get(self) -> uchar + | + | long_demnames + | idainfo_long_demnames_get(self) -> uint32 + | + | lowoff + | idainfo_lowoff_get(self) -> ea_t + | + | main + | idainfo_main_get(self) -> ea_t + | + | margin + | idainfo_margin_get(self) -> ushort + | + | maxEA + | get_maxEA(self) -> ea_t + | + | max_autoname_len + | idainfo_max_autoname_len_get(self) -> ushort + | + | max_ea + | idainfo_max_ea_get(self) -> ea_t + | + | maxref + | idainfo_maxref_get(self) -> uval_t + | + | minEA + | get_minEA(self) -> ea_t + | + | min_ea + | idainfo_min_ea_get(self) -> ea_t + | + | nametype + | idainfo_nametype_get(self) -> char + | + | omax_ea + | idainfo_omax_ea_get(self) -> ea_t + | + | omin_ea + | idainfo_omin_ea_get(self) -> ea_t + | + | ostype + | idainfo_ostype_get(self) -> ushort + | + | outflags + | idainfo_outflags_get(self) -> uint32 + | + | procName + | get_procName(self) -> qstring + | + | procname + | idainfo_procname_get(self) -> char [16] + | + | refcmtnum + | idainfo_refcmtnum_get(self) -> uchar + | + | s_cmtflg + | idainfo_s_cmtflg_get(self) -> uchar + | + | s_genflags + | idainfo_s_genflags_get(self) -> ushort + | + | s_limiter + | idainfo_s_limiter_get(self) -> uchar + | + | s_prefflag + | idainfo_s_prefflag_get(self) -> uchar + | + | s_xrefflag + | idainfo_s_xrefflag_get(self) -> uchar + | + | short_demnames + | idainfo_short_demnames_get(self) -> uint32 + | + | specsegs + | idainfo_specsegs_get(self) -> uchar + | + | start_cs + | idainfo_start_cs_get(self) -> sel_t + | + | start_ea + | idainfo_start_ea_get(self) -> ea_t + | + | start_ip + | idainfo_start_ip_get(self) -> ea_t + | + | start_sp + | idainfo_start_sp_get(self) -> ea_t + | + | start_ss + | idainfo_start_ss_get(self) -> sel_t + | + | strlit_break + | idainfo_strlit_break_get(self) -> uchar + | + | strlit_flags + | idainfo_strlit_flags_get(self) -> uchar + | + | strlit_pref + | idainfo_strlit_pref_get(self) -> char [16] + | + | strlit_sernum + | idainfo_strlit_sernum_get(self) -> uval_t + | + | strlit_zeroes + | idainfo_strlit_zeroes_get(self) -> char + | + | strtype + | idainfo_strtype_get(self) -> int32 + | + | tag + | idainfo_tag_get(self) -> char [3] + | + | thisown + | The membership flag + | + | type_xrefnum + | idainfo_type_xrefnum_get(self) -> uchar + | + | version + | idainfo_version_get(self) -> ushort + | + | xrefnum + | idainfo_xrefnum_get(self) -> uchar + +Help on function inf_big_arg_align in module ida_ida: + +inf_big_arg_align(*args) + inf_big_arg_align() -> bool + +Help on function inf_gen_lzero in module ida_ida: + +inf_gen_lzero(*args) + inf_gen_lzero() -> bool + +Help on function inf_gen_null in module ida_ida: + +inf_gen_null(*args) + inf_gen_null() -> bool + +Help on function inf_gen_tryblks in module ida_ida: + +inf_gen_tryblks(*args) + inf_gen_tryblks() -> bool + +Help on function inf_get_demname_form in module ida_ida: + +inf_get_demname_form(*args) + inf_get_demname_form() -> uchar + + + Get 'DEMNAM_MASK' bits of #demnames. + +Help on function inf_get_pack_mode in module ida_ida: + +inf_get_pack_mode(*args) + inf_get_pack_mode() -> int + +Help on function inf_is_32bit in module ida_ida: + +inf_is_32bit(*args) + inf_is_32bit() -> bool + +Help on function inf_is_64bit in module ida_ida: + +inf_is_64bit(*args) + inf_is_64bit() -> bool + +Help on function inf_is_auto_enabled in module ida_ida: + +inf_is_auto_enabled(*args) + inf_is_auto_enabled() -> bool + +Help on function inf_is_be in module ida_ida: + +inf_is_be(*args) + inf_is_be() -> bool + +Help on function inf_is_dll in module ida_ida: + +inf_is_dll(*args) + inf_is_dll() -> bool + +Help on function inf_is_flat_off32 in module ida_ida: + +inf_is_flat_off32(*args) + inf_is_flat_off32() -> bool + +Help on function inf_is_graph_view in module ida_ida: + +inf_is_graph_view(*args) + inf_is_graph_view() -> bool + +Help on function inf_is_hard_float in module ida_ida: + +inf_is_hard_float(*args) + inf_is_hard_float() -> bool + +Help on function inf_is_kernel_mode in module ida_ida: + +inf_is_kernel_mode(*args) + inf_is_kernel_mode() -> bool + +Help on function inf_is_mem_aligned4 in module ida_ida: + +inf_is_mem_aligned4(*args) + inf_is_mem_aligned4() -> bool + +Help on function inf_is_snapshot in module ida_ida: + +inf_is_snapshot(*args) + inf_is_snapshot() -> bool + +Help on function inf_is_wide_high_byte_first in module ida_ida: + +inf_is_wide_high_byte_first(*args) + inf_is_wide_high_byte_first() -> bool + +Help on function inf_like_binary in module ida_ida: + +inf_like_binary(*args) + inf_like_binary() -> bool + +Help on function inf_line_pref_with_seg in module ida_ida: + +inf_line_pref_with_seg(*args) + inf_line_pref_with_seg() -> bool + +Help on function inf_loading_idc in module ida_ida: + +inf_loading_idc(*args) + inf_loading_idc() -> bool + +Help on function inf_map_stkargs in module ida_ida: + +inf_map_stkargs(*args) + inf_map_stkargs() -> bool + +Help on function inf_pack_stkargs in module ida_ida: + +inf_pack_stkargs(*args) + inf_pack_stkargs() -> bool + +Help on function inf_readonly_idb in module ida_ida: + +inf_readonly_idb(*args) + inf_readonly_idb() -> bool + +Help on function inf_set_64bit in module ida_ida: + +inf_set_64bit(*args) + inf_set_64bit(_v=True) -> bool + +Help on function inf_set_auto_enabled in module ida_ida: + +inf_set_auto_enabled(*args) + inf_set_auto_enabled(_v=True) -> bool + +Help on function inf_set_be in module ida_ida: + +inf_set_be(*args) + inf_set_be(_v=True) -> bool + +Help on function inf_set_gen_lzero in module ida_ida: + +inf_set_gen_lzero(*args) + inf_set_gen_lzero(_v=True) -> bool + +Help on function inf_set_gen_null in module ida_ida: + +inf_set_gen_null(*args) + inf_set_gen_null(_v=True) -> bool + +Help on function inf_set_gen_tryblks in module ida_ida: + +inf_set_gen_tryblks(*args) + inf_set_gen_tryblks(_v=True) -> bool + +Help on function inf_set_graph_view in module ida_ida: + +inf_set_graph_view(*args) + inf_set_graph_view(_v=True) -> bool + +Help on function inf_set_line_pref_with_seg in module ida_ida: + +inf_set_line_pref_with_seg(*args) + inf_set_line_pref_with_seg(_v=True) -> bool + +Help on function inf_set_pack_mode in module ida_ida: + +inf_set_pack_mode(*args) + inf_set_pack_mode(pack_mode) -> int + +Help on function inf_set_show_auto in module ida_ida: + +inf_set_show_auto(*args) + inf_set_show_auto(_v=True) -> bool + +Help on function inf_set_show_line_pref in module ida_ida: + +inf_set_show_line_pref(*args) + inf_set_show_line_pref(_v=True) -> bool + +Help on function inf_set_show_void in module ida_ida: + +inf_set_show_void(*args) + inf_set_show_void(_v=True) -> bool + +Help on function in module ida_ida: + + lambda *args + +Help on function inf_set_wide_high_byte_first in module ida_ida: + +inf_set_wide_high_byte_first(*args) + inf_set_wide_high_byte_first(_v=True) -> bool + +Help on function inf_show_auto in module ida_ida: + +inf_show_auto(*args) + inf_show_auto() -> bool + +Help on function inf_show_line_pref in module ida_ida: + +inf_show_line_pref(*args) + inf_show_line_pref() -> bool + +Help on function inf_show_void in module ida_ida: + +inf_show_void(*args) + inf_show_void() -> bool + +Help on function inf_stack_ldbl in module ida_ida: + +inf_stack_ldbl(*args) + inf_stack_ldbl() -> bool + +Help on function inf_stack_varargs in module ida_ida: + +inf_stack_varargs(*args) + inf_stack_varargs() -> bool + +Help on function inf_use_allasm in module ida_ida: + +inf_use_allasm(*args) + inf_use_allasm() -> bool + +Help on function inf_use_gcc_layout in module ida_ida: + +inf_use_gcc_layout(*args) + inf_use_gcc_layout() -> bool + +Help on function inf_abi_set_by_user in module ida_ida: + +inf_abi_set_by_user(*args) + inf_abi_set_by_user() -> bool + +Help on function inf_allow_non_matched_ops in module ida_ida: + +inf_allow_non_matched_ops(*args) + inf_allow_non_matched_ops() -> bool + +Help on function inf_allow_sigmulti in module ida_ida: + +inf_allow_sigmulti(*args) + inf_allow_sigmulti() -> bool + +Help on function inf_append_sigcmt in module ida_ida: + +inf_append_sigcmt(*args) + inf_append_sigcmt() -> bool + +Help on function inf_check_manual_ops in module ida_ida: + +inf_check_manual_ops(*args) + inf_check_manual_ops() -> bool + +Help on function inf_check_unicode_strlits in module ida_ida: + +inf_check_unicode_strlits(*args) + inf_check_unicode_strlits() -> bool + +Help on function inf_coagulate_code in module ida_ida: + +inf_coagulate_code(*args) + inf_coagulate_code() -> bool + +Help on function inf_coagulate_data in module ida_ida: + +inf_coagulate_data(*args) + inf_coagulate_data() -> bool + +Help on function inf_compress_idb in module ida_ida: + +inf_compress_idb(*args) + inf_compress_idb() -> bool + +Help on function inf_create_all_xrefs in module ida_ida: + +inf_create_all_xrefs(*args) + inf_create_all_xrefs() -> bool + +Help on function inf_create_func_from_call in module ida_ida: + +inf_create_func_from_call(*args) + inf_create_func_from_call() -> bool + +Help on function inf_create_func_from_ptr in module ida_ida: + +inf_create_func_from_ptr(*args) + inf_create_func_from_ptr() -> bool + +Help on function inf_create_func_tails in module ida_ida: + +inf_create_func_tails(*args) + inf_create_func_tails() -> bool + +Help on function inf_create_jump_tables in module ida_ida: + +inf_create_jump_tables(*args) + inf_create_jump_tables() -> bool + +Help on function inf_create_off_on_dref in module ida_ida: + +inf_create_off_on_dref(*args) + inf_create_off_on_dref() -> bool + +Help on function inf_create_off_using_fixup in module ida_ida: + +inf_create_off_using_fixup(*args) + inf_create_off_using_fixup() -> bool + +Help on function inf_create_strlit_on_xref in module ida_ida: + +inf_create_strlit_on_xref(*args) + inf_create_strlit_on_xref() -> bool + +Help on function inf_data_offset in module ida_ida: + +inf_data_offset(*args) + inf_data_offset() -> bool + +Help on function inf_dbg_no_store_path in module ida_ida: + +inf_dbg_no_store_path(*args) + inf_dbg_no_store_path() -> bool + +Help on function inf_decode_fpp in module ida_ida: + +inf_decode_fpp(*args) + inf_decode_fpp() -> bool + +Help on function inf_del_no_xref_insns in module ida_ida: + +inf_del_no_xref_insns(*args) + inf_del_no_xref_insns() -> bool + +Help on function inf_final_pass in module ida_ida: + +inf_final_pass(*args) + inf_final_pass() -> bool + +Help on function inf_full_sp_ana in module ida_ida: + +inf_full_sp_ana(*args) + inf_full_sp_ana() -> bool + +Help on function inf_gen_assume in module ida_ida: + +inf_gen_assume(*args) + inf_gen_assume() -> bool + +Help on function inf_gen_org in module ida_ida: + +inf_gen_org(*args) + inf_gen_org() -> bool + +Help on function inf_get_abibits in module ida_ida: + +inf_get_abibits(*args) + inf_get_abibits() -> uint32 + +Help on function inf_get_af in module ida_ida: + +inf_get_af(*args) + inf_get_af() -> uint32 + +Help on function inf_get_af2 in module ida_ida: + +inf_get_af2(*args) + inf_get_af2() -> uint32 + +Help on function inf_get_af2_low in module ida_ida: + +inf_get_af2_low(*args) + inf_get_af2_low() -> ushort + + + Get/set low 16bit half of inf.af2. + +Help on function inf_get_af_high in module ida_ida: + +inf_get_af_high(*args) + inf_get_af_high() -> ushort + +Help on function inf_get_af_low in module ida_ida: + +inf_get_af_low(*args) + inf_get_af_low() -> ushort + + + Get/set low/high 16bit halves of inf.af. + +Help on function inf_get_appcall_options in module ida_ida: + +inf_get_appcall_options(*args) + inf_get_appcall_options() -> uint32 + +Help on function inf_get_apptype in module ida_ida: + +inf_get_apptype(*args) + inf_get_apptype() -> ushort + +Help on function inf_get_asmtype in module ida_ida: + +inf_get_asmtype(*args) + inf_get_asmtype() -> uchar + +Help on function inf_get_baseaddr in module ida_ida: + +inf_get_baseaddr(*args) + inf_get_baseaddr() -> uval_t + +Help on function inf_get_bin_prefix_size in module ida_ida: + +inf_get_bin_prefix_size(*args) + inf_get_bin_prefix_size() -> short + +Help on function inf_get_cc in module ida_ida: + +inf_get_cc(*args) + inf_get_cc(out) -> bool + +Help on function inf_get_cc_cm in module ida_ida: + +inf_get_cc_cm(*args) + inf_get_cc_cm() -> cm_t + +Help on function inf_get_cc_defalign in module ida_ida: + +inf_get_cc_defalign(*args) + inf_get_cc_defalign() -> uchar + +Help on function inf_get_cc_id in module ida_ida: + +inf_get_cc_id(*args) + inf_get_cc_id() -> comp_t + +Help on function inf_get_cc_size_b in module ida_ida: + +inf_get_cc_size_b(*args) + inf_get_cc_size_b() -> uchar + +Help on function inf_get_cc_size_e in module ida_ida: + +inf_get_cc_size_e(*args) + inf_get_cc_size_e() -> uchar + +Help on function inf_get_cc_size_i in module ida_ida: + +inf_get_cc_size_i(*args) + inf_get_cc_size_i() -> uchar + +Help on function inf_get_cc_size_l in module ida_ida: + +inf_get_cc_size_l(*args) + inf_get_cc_size_l() -> uchar + +Help on function inf_get_cc_size_ldbl in module ida_ida: + +inf_get_cc_size_ldbl(*args) + inf_get_cc_size_ldbl() -> uchar + +Help on function inf_get_cc_size_ll in module ida_ida: + +inf_get_cc_size_ll(*args) + inf_get_cc_size_ll() -> uchar + +Help on function inf_get_cc_size_s in module ida_ida: + +inf_get_cc_size_s(*args) + inf_get_cc_size_s() -> uchar + +Help on function inf_get_cmtflg in module ida_ida: + +inf_get_cmtflg(*args) + inf_get_cmtflg() -> uchar + +Help on function inf_get_comment in module ida_ida: + +inf_get_comment(*args) + inf_get_comment() -> uchar + +Help on function inf_get_database_change_count in module ida_ida: + +inf_get_database_change_count(*args) + inf_get_database_change_count() -> uint32 + +Help on function inf_get_datatypes in module ida_ida: + +inf_get_datatypes(*args) + inf_get_datatypes() -> uval_t + +Help on function inf_get_demnames in module ida_ida: + +inf_get_demnames(*args) + inf_get_demnames() -> uchar + +Help on function inf_get_filetype in module ida_ida: + +inf_get_filetype(*args) + inf_get_filetype() -> filetype_t + +Help on function inf_get_genflags in module ida_ida: + +inf_get_genflags(*args) + inf_get_genflags() -> ushort + +Help on function inf_get_highoff in module ida_ida: + +inf_get_highoff(*args) + inf_get_highoff() -> ea_t + +Help on function inf_get_indent in module ida_ida: + +inf_get_indent(*args) + inf_get_indent() -> uchar + +Help on function inf_get_lenxref in module ida_ida: + +inf_get_lenxref(*args) + inf_get_lenxref() -> ushort + +Help on function inf_get_lflags in module ida_ida: + +inf_get_lflags(*args) + inf_get_lflags() -> uint32 + +Help on function inf_get_limiter in module ida_ida: + +inf_get_limiter(*args) + inf_get_limiter() -> uchar + +Help on function inf_get_listnames in module ida_ida: + +inf_get_listnames(*args) + inf_get_listnames() -> uchar + +Help on function inf_get_long_demnames in module ida_ida: + +inf_get_long_demnames(*args) + inf_get_long_demnames() -> uint32 + +Help on function inf_get_lowoff in module ida_ida: + +inf_get_lowoff(*args) + inf_get_lowoff() -> ea_t + +Help on function inf_get_main in module ida_ida: + +inf_get_main(*args) + inf_get_main() -> ea_t + +Help on function inf_get_margin in module ida_ida: + +inf_get_margin(*args) + inf_get_margin() -> ushort + +Help on function inf_get_max_autoname_len in module ida_ida: + +inf_get_max_autoname_len(*args) + inf_get_max_autoname_len() -> ushort + +Help on function inf_get_max_ea in module ida_ida: + +inf_get_max_ea(*args) + inf_get_max_ea() -> ea_t + +Help on function inf_get_maxref in module ida_ida: + +inf_get_maxref(*args) + inf_get_maxref() -> uval_t + +Help on function inf_get_min_ea in module ida_ida: + +inf_get_min_ea(*args) + inf_get_min_ea() -> ea_t + +Help on function inf_get_nametype in module ida_ida: + +inf_get_nametype(*args) + inf_get_nametype() -> char + +Help on function inf_get_netdelta in module ida_ida: + +inf_get_netdelta(*args) + inf_get_netdelta() -> sval_t + +Help on function inf_get_omax_ea in module ida_ida: + +inf_get_omax_ea(*args) + inf_get_omax_ea() -> ea_t + +Help on function inf_get_omin_ea in module ida_ida: + +inf_get_omin_ea(*args) + inf_get_omin_ea() -> ea_t + +Help on function inf_get_ostype in module ida_ida: + +inf_get_ostype(*args) + inf_get_ostype() -> ushort + +Help on function inf_get_outflags in module ida_ida: + +inf_get_outflags(*args) + inf_get_outflags() -> uint32 + +Help on function inf_get_prefflag in module ida_ida: + +inf_get_prefflag(*args) + inf_get_prefflag() -> uchar + +Help on function inf_get_privrange in module ida_ida: + +inf_get_privrange(*args) + inf_get_privrange(out) -> bool + inf_get_privrange() -> range_t + +Help on function inf_get_privrange_end_ea in module ida_ida: + +inf_get_privrange_end_ea(*args) + inf_get_privrange_end_ea() -> ea_t + +Help on function inf_get_privrange_start_ea in module ida_ida: + +inf_get_privrange_start_ea(*args) + inf_get_privrange_start_ea() -> ea_t + +Help on function inf_get_procname in module ida_ida: + +inf_get_procname(*args) + inf_get_procname() -> str + +Help on function inf_get_refcmtnum in module ida_ida: + +inf_get_refcmtnum(*args) + inf_get_refcmtnum() -> uchar + +Help on function inf_get_short_demnames in module ida_ida: + +inf_get_short_demnames(*args) + inf_get_short_demnames() -> uint32 + +Help on function inf_get_specsegs in module ida_ida: + +inf_get_specsegs(*args) + inf_get_specsegs() -> uchar + +Help on function inf_get_start_cs in module ida_ida: + +inf_get_start_cs(*args) + inf_get_start_cs() -> sel_t + +Help on function inf_get_start_ea in module ida_ida: + +inf_get_start_ea(*args) + inf_get_start_ea() -> ea_t + +Help on function inf_get_start_ip in module ida_ida: + +inf_get_start_ip(*args) + inf_get_start_ip() -> ea_t + +Help on function inf_get_start_sp in module ida_ida: + +inf_get_start_sp(*args) + inf_get_start_sp() -> ea_t + +Help on function inf_get_start_ss in module ida_ida: + +inf_get_start_ss(*args) + inf_get_start_ss() -> sel_t + +Help on function inf_get_strlit_break in module ida_ida: + +inf_get_strlit_break(*args) + inf_get_strlit_break() -> uchar + +Help on function inf_get_strlit_flags in module ida_ida: + +inf_get_strlit_flags(*args) + inf_get_strlit_flags() -> uchar + +Help on function inf_get_strlit_pref in module ida_ida: + +inf_get_strlit_pref(*args) + inf_get_strlit_pref() -> str + +Help on function inf_get_strlit_sernum in module ida_ida: + +inf_get_strlit_sernum(*args) + inf_get_strlit_sernum() -> uval_t + +Help on function inf_get_strlit_zeroes in module ida_ida: + +inf_get_strlit_zeroes(*args) + inf_get_strlit_zeroes() -> char + +Help on function inf_get_strtype in module ida_ida: + +inf_get_strtype(*args) + inf_get_strtype() -> int32 + +Help on function inf_get_type_xrefnum in module ida_ida: + +inf_get_type_xrefnum(*args) + inf_get_type_xrefnum() -> uchar + +Help on function inf_get_version in module ida_ida: + +inf_get_version(*args) + inf_get_version() -> ushort + +Help on function inf_get_xrefflag in module ida_ida: + +inf_get_xrefflag(*args) + inf_get_xrefflag() -> uchar + +Help on function inf_get_xrefnum in module ida_ida: + +inf_get_xrefnum(*args) + inf_get_xrefnum() -> uchar + +Help on function inf_guess_func_type in module ida_ida: + +inf_guess_func_type(*args) + inf_guess_func_type() -> bool + +Help on function inf_handle_eh in module ida_ida: + +inf_handle_eh(*args) + inf_handle_eh() -> bool + +Help on function inf_handle_rtti in module ida_ida: + +inf_handle_rtti(*args) + inf_handle_rtti() -> bool + +Help on function inf_hide_comments in module ida_ida: + +inf_hide_comments(*args) + inf_hide_comments() -> bool + +Help on function inf_hide_libfuncs in module ida_ida: + +inf_hide_libfuncs(*args) + inf_hide_libfuncs() -> bool + +Help on function inf_huge_arg_align in module ida_ida: + +inf_huge_arg_align(*args) + inf_huge_arg_align() -> bool + +Help on function inf_inc_database_change_count in module ida_ida: + +inf_inc_database_change_count(*args) + inf_inc_database_change_count(cnt=1) + +Help on function inf_is_limiter_empty in module ida_ida: + +inf_is_limiter_empty(*args) + inf_is_limiter_empty() -> bool + +Help on function inf_is_limiter_thick in module ida_ida: + +inf_is_limiter_thick(*args) + inf_is_limiter_thick() -> bool + +Help on function inf_is_limiter_thin in module ida_ida: + +inf_is_limiter_thin(*args) + inf_is_limiter_thin() -> bool + +Help on function inf_macros_enabled in module ida_ida: + +inf_macros_enabled(*args) + inf_macros_enabled() -> bool + +Help on function inf_mark_code in module ida_ida: + +inf_mark_code(*args) + inf_mark_code() -> bool + +Help on function inf_no_store_user_info in module ida_ida: + +inf_no_store_user_info(*args) + inf_no_store_user_info() -> bool + +Help on function inf_noflow_to_data in module ida_ida: + +inf_noflow_to_data(*args) + inf_noflow_to_data() -> bool + +Help on function inf_noret_ana in module ida_ida: + +inf_noret_ana(*args) + inf_noret_ana() -> bool + +Help on function inf_op_offset in module ida_ida: + +inf_op_offset(*args) + inf_op_offset() -> bool + +Help on function inf_pack_idb in module ida_ida: + +inf_pack_idb(*args) + inf_pack_idb() -> bool + +Help on function inf_postinc_strlit_sernum in module ida_ida: + +inf_postinc_strlit_sernum(*args) + inf_postinc_strlit_sernum(cnt=1) -> uval_t + +Help on function inf_prefix_show_funcoff in module ida_ida: + +inf_prefix_show_funcoff(*args) + inf_prefix_show_funcoff() -> bool + +Help on function inf_prefix_show_segaddr in module ida_ida: + +inf_prefix_show_segaddr(*args) + inf_prefix_show_segaddr() -> bool + +Help on function inf_prefix_show_stack in module ida_ida: + +inf_prefix_show_stack(*args) + inf_prefix_show_stack() -> bool + +Help on function inf_prefix_truncate_opcode_bytes in module ida_ida: + +inf_prefix_truncate_opcode_bytes(*args) + inf_prefix_truncate_opcode_bytes() -> bool + +Help on function inf_propagate_regargs in module ida_ida: + +inf_propagate_regargs(*args) + inf_propagate_regargs() -> bool + +Help on function inf_propagate_stkargs in module ida_ida: + +inf_propagate_stkargs(*args) + inf_propagate_stkargs() -> bool + +Help on function inf_rename_jumpfunc in module ida_ida: + +inf_rename_jumpfunc(*args) + inf_rename_jumpfunc() -> bool + +Help on function inf_rename_nullsub in module ida_ida: + +inf_rename_nullsub(*args) + inf_rename_nullsub() -> bool + +Help on function inf_set_32bit in module ida_ida: + +inf_set_32bit(*args) + inf_set_32bit(_v=True) -> bool + +Help on function inf_set_abi_set_by_user in module ida_ida: + +inf_set_abi_set_by_user(*args) + inf_set_abi_set_by_user(_v=True) -> bool + +Help on function inf_set_abibits in module ida_ida: + +inf_set_abibits(*args) + inf_set_abibits(_v) -> bool + +Help on function inf_set_af in module ida_ida: + +inf_set_af(*args) + inf_set_af(_v) -> bool + +Help on function inf_set_af2 in module ida_ida: + +inf_set_af2(*args) + inf_set_af2(_v) -> bool + +Help on function inf_set_af2_low in module ida_ida: + +inf_set_af2_low(*args) + inf_set_af2_low(saf) + +Help on function inf_set_af_high in module ida_ida: + +inf_set_af_high(*args) + inf_set_af_high(saf2) + +Help on function inf_set_af_low in module ida_ida: + +inf_set_af_low(*args) + inf_set_af_low(saf) + +Help on function inf_set_allow_non_matched_ops in module ida_ida: + +inf_set_allow_non_matched_ops(*args) + inf_set_allow_non_matched_ops(_v=True) -> bool + +Help on function inf_set_allow_sigmulti in module ida_ida: + +inf_set_allow_sigmulti(*args) + inf_set_allow_sigmulti(_v=True) -> bool + +Help on function inf_set_appcall_options in module ida_ida: + +inf_set_appcall_options(*args) + inf_set_appcall_options(_v) -> bool + +Help on function inf_set_append_sigcmt in module ida_ida: + +inf_set_append_sigcmt(*args) + inf_set_append_sigcmt(_v=True) -> bool + +Help on function inf_set_apptype in module ida_ida: + +inf_set_apptype(*args) + inf_set_apptype(_v) -> bool + +Help on function inf_set_asmtype in module ida_ida: + +inf_set_asmtype(*args) + inf_set_asmtype(_v) -> bool + +Help on function inf_set_baseaddr in module ida_ida: + +inf_set_baseaddr(*args) + inf_set_baseaddr(_v) -> bool + +Help on function inf_set_big_arg_align in module ida_ida: + +inf_set_big_arg_align(*args) + inf_set_big_arg_align(_v=True) -> bool + +Help on function inf_set_bin_prefix_size in module ida_ida: + +inf_set_bin_prefix_size(*args) + inf_set_bin_prefix_size(_v) -> bool + +Help on function inf_set_cc in module ida_ida: + +inf_set_cc(*args) + inf_set_cc(_v) -> bool + +Help on function inf_set_cc_cm in module ida_ida: + +inf_set_cc_cm(*args) + inf_set_cc_cm(_v) -> bool + +Help on function inf_set_cc_defalign in module ida_ida: + +inf_set_cc_defalign(*args) + inf_set_cc_defalign(_v) -> bool + +Help on function inf_set_cc_id in module ida_ida: + +inf_set_cc_id(*args) + inf_set_cc_id(_v) -> bool + +Help on function inf_set_cc_size_b in module ida_ida: + +inf_set_cc_size_b(*args) + inf_set_cc_size_b(_v) -> bool + +Help on function inf_set_cc_size_e in module ida_ida: + +inf_set_cc_size_e(*args) + inf_set_cc_size_e(_v) -> bool + +Help on function inf_set_cc_size_i in module ida_ida: + +inf_set_cc_size_i(*args) + inf_set_cc_size_i(_v) -> bool + +Help on function inf_set_cc_size_l in module ida_ida: + +inf_set_cc_size_l(*args) + inf_set_cc_size_l(_v) -> bool + +Help on function inf_set_cc_size_ldbl in module ida_ida: + +inf_set_cc_size_ldbl(*args) + inf_set_cc_size_ldbl(_v) -> bool + +Help on function inf_set_cc_size_ll in module ida_ida: + +inf_set_cc_size_ll(*args) + inf_set_cc_size_ll(_v) -> bool + +Help on function inf_set_cc_size_s in module ida_ida: + +inf_set_cc_size_s(*args) + inf_set_cc_size_s(_v) -> bool + +Help on function inf_set_check_manual_ops in module ida_ida: + +inf_set_check_manual_ops(*args) + inf_set_check_manual_ops(_v=True) -> bool + +Help on function inf_set_check_unicode_strlits in module ida_ida: + +inf_set_check_unicode_strlits(*args) + inf_set_check_unicode_strlits(_v=True) -> bool + +Help on function inf_set_cmtflg in module ida_ida: + +inf_set_cmtflg(*args) + inf_set_cmtflg(_v) -> bool + +Help on function inf_set_coagulate_code in module ida_ida: + +inf_set_coagulate_code(*args) + inf_set_coagulate_code(_v=True) -> bool + +Help on function inf_set_coagulate_data in module ida_ida: + +inf_set_coagulate_data(*args) + inf_set_coagulate_data(_v=True) -> bool + +Help on function inf_set_comment in module ida_ida: + +inf_set_comment(*args) + inf_set_comment(_v) -> bool + +Help on function inf_set_compress_idb in module ida_ida: + +inf_set_compress_idb(*args) + inf_set_compress_idb(_v=True) -> bool + +Help on function inf_set_create_all_xrefs in module ida_ida: + +inf_set_create_all_xrefs(*args) + inf_set_create_all_xrefs(_v=True) -> bool + +Help on function inf_set_create_func_from_call in module ida_ida: + +inf_set_create_func_from_call(*args) + inf_set_create_func_from_call(_v=True) -> bool + +Help on function inf_set_create_func_from_ptr in module ida_ida: + +inf_set_create_func_from_ptr(*args) + inf_set_create_func_from_ptr(_v=True) -> bool + +Help on function inf_set_create_func_tails in module ida_ida: + +inf_set_create_func_tails(*args) + inf_set_create_func_tails(_v=True) -> bool + +Help on function inf_set_create_jump_tables in module ida_ida: + +inf_set_create_jump_tables(*args) + inf_set_create_jump_tables(_v=True) -> bool + +Help on function inf_set_create_off_on_dref in module ida_ida: + +inf_set_create_off_on_dref(*args) + inf_set_create_off_on_dref(_v=True) -> bool + +Help on function inf_set_create_off_using_fixup in module ida_ida: + +inf_set_create_off_using_fixup(*args) + inf_set_create_off_using_fixup(_v=True) -> bool + +Help on function inf_set_create_strlit_on_xref in module ida_ida: + +inf_set_create_strlit_on_xref(*args) + inf_set_create_strlit_on_xref(_v=True) -> bool + +Help on function inf_set_data_offset in module ida_ida: + +inf_set_data_offset(*args) + inf_set_data_offset(_v=True) -> bool + +Help on function inf_set_database_change_count in module ida_ida: + +inf_set_database_change_count(*args) + inf_set_database_change_count(_v) -> bool + +Help on function inf_set_datatypes in module ida_ida: + +inf_set_datatypes(*args) + inf_set_datatypes(_v) -> bool + +Help on function inf_set_dbg_no_store_path in module ida_ida: + +inf_set_dbg_no_store_path(*args) + inf_set_dbg_no_store_path(_v=True) -> bool + +Help on function inf_set_decode_fpp in module ida_ida: + +inf_set_decode_fpp(*args) + inf_set_decode_fpp(_v=True) -> bool + +Help on function inf_set_del_no_xref_insns in module ida_ida: + +inf_set_del_no_xref_insns(*args) + inf_set_del_no_xref_insns(_v=True) -> bool + +Help on function inf_set_demnames in module ida_ida: + +inf_set_demnames(*args) + inf_set_demnames(_v) -> bool + +Help on function inf_set_dll in module ida_ida: + +inf_set_dll(*args) + inf_set_dll(_v=True) -> bool + +Help on function inf_set_filetype in module ida_ida: + +inf_set_filetype(*args) + inf_set_filetype(_v) -> bool + +Help on function inf_set_final_pass in module ida_ida: + +inf_set_final_pass(*args) + inf_set_final_pass(_v=True) -> bool + +Help on function inf_set_flat_off32 in module ida_ida: + +inf_set_flat_off32(*args) + inf_set_flat_off32(_v=True) -> bool + +Help on function inf_set_full_sp_ana in module ida_ida: + +inf_set_full_sp_ana(*args) + inf_set_full_sp_ana(_v=True) -> bool + +Help on function inf_set_gen_assume in module ida_ida: + +inf_set_gen_assume(*args) + inf_set_gen_assume(_v=True) -> bool + +Help on function inf_set_gen_org in module ida_ida: + +inf_set_gen_org(*args) + inf_set_gen_org(_v=True) -> bool + +Help on function inf_set_genflags in module ida_ida: + +inf_set_genflags(*args) + inf_set_genflags(_v) -> bool + +Help on function inf_set_guess_func_type in module ida_ida: + +inf_set_guess_func_type(*args) + inf_set_guess_func_type(_v=True) -> bool + +Help on function inf_set_handle_eh in module ida_ida: + +inf_set_handle_eh(*args) + inf_set_handle_eh(_v=True) -> bool + +Help on function inf_set_handle_rtti in module ida_ida: + +inf_set_handle_rtti(*args) + inf_set_handle_rtti(_v=True) -> bool + +Help on function inf_set_hard_float in module ida_ida: + +inf_set_hard_float(*args) + inf_set_hard_float(_v=True) -> bool + +Help on function inf_set_hide_comments in module ida_ida: + +inf_set_hide_comments(*args) + inf_set_hide_comments(_v=True) -> bool + +Help on function inf_set_hide_libfuncs in module ida_ida: + +inf_set_hide_libfuncs(*args) + inf_set_hide_libfuncs(_v=True) -> bool + +Help on function inf_set_highoff in module ida_ida: + +inf_set_highoff(*args) + inf_set_highoff(_v) -> bool + +Help on function inf_set_huge_arg_align in module ida_ida: + +inf_set_huge_arg_align(*args) + inf_set_huge_arg_align(_v=True) -> bool + +Help on function inf_set_indent in module ida_ida: + +inf_set_indent(*args) + inf_set_indent(_v) -> bool + +Help on function inf_set_kernel_mode in module ida_ida: + +inf_set_kernel_mode(*args) + inf_set_kernel_mode(_v=True) -> bool + +Help on function inf_set_lenxref in module ida_ida: + +inf_set_lenxref(*args) + inf_set_lenxref(_v) -> bool + +Help on function inf_set_lflags in module ida_ida: + +inf_set_lflags(*args) + inf_set_lflags(_v) -> bool + +Help on function inf_set_limiter in module ida_ida: + +inf_set_limiter(*args) + inf_set_limiter(_v) -> bool + +Help on function inf_set_limiter_empty in module ida_ida: + +inf_set_limiter_empty(*args) + inf_set_limiter_empty(_v=True) -> bool + +Help on function inf_set_limiter_thick in module ida_ida: + +inf_set_limiter_thick(*args) + inf_set_limiter_thick(_v=True) -> bool + +Help on function inf_set_limiter_thin in module ida_ida: + +inf_set_limiter_thin(*args) + inf_set_limiter_thin(_v=True) -> bool + +Help on function inf_set_listnames in module ida_ida: + +inf_set_listnames(*args) + inf_set_listnames(_v) -> bool + +Help on function inf_set_loading_idc in module ida_ida: + +inf_set_loading_idc(*args) + inf_set_loading_idc(_v=True) -> bool + +Help on function inf_set_long_demnames in module ida_ida: + +inf_set_long_demnames(*args) + inf_set_long_demnames(_v) -> bool + +Help on function inf_set_lowoff in module ida_ida: + +inf_set_lowoff(*args) + inf_set_lowoff(_v) -> bool + +Help on function inf_set_macros_enabled in module ida_ida: + +inf_set_macros_enabled(*args) + inf_set_macros_enabled(_v=True) -> bool + +Help on function inf_set_main in module ida_ida: + +inf_set_main(*args) + inf_set_main(_v) -> bool + +Help on function inf_set_map_stkargs in module ida_ida: + +inf_set_map_stkargs(*args) + inf_set_map_stkargs(_v=True) -> bool + +Help on function inf_set_margin in module ida_ida: + +inf_set_margin(*args) + inf_set_margin(_v) -> bool + +Help on function inf_set_mark_code in module ida_ida: + +inf_set_mark_code(*args) + inf_set_mark_code(_v=True) -> bool + +Help on function inf_set_max_autoname_len in module ida_ida: + +inf_set_max_autoname_len(*args) + inf_set_max_autoname_len(_v) -> bool + +Help on function inf_set_max_ea in module ida_ida: + +inf_set_max_ea(*args) + inf_set_max_ea(_v) -> bool + +Help on function inf_set_maxref in module ida_ida: + +inf_set_maxref(*args) + inf_set_maxref(_v) -> bool + +Help on function inf_set_mem_aligned4 in module ida_ida: + +inf_set_mem_aligned4(*args) + inf_set_mem_aligned4(_v=True) -> bool + +Help on function inf_set_min_ea in module ida_ida: + +inf_set_min_ea(*args) + inf_set_min_ea(_v) -> bool + +Help on function inf_set_nametype in module ida_ida: + +inf_set_nametype(*args) + inf_set_nametype(_v) -> bool + +Help on function inf_set_netdelta in module ida_ida: + +inf_set_netdelta(*args) + inf_set_netdelta(_v) -> bool + +Help on function inf_set_no_store_user_info in module ida_ida: + +inf_set_no_store_user_info(*args) + inf_set_no_store_user_info(_v=True) -> bool + +Help on function inf_set_noflow_to_data in module ida_ida: + +inf_set_noflow_to_data(*args) + inf_set_noflow_to_data(_v=True) -> bool + +Help on function inf_set_noret_ana in module ida_ida: + +inf_set_noret_ana(*args) + inf_set_noret_ana(_v=True) -> bool + +Help on function inf_set_omax_ea in module ida_ida: + +inf_set_omax_ea(*args) + inf_set_omax_ea(_v) -> bool + +Help on function inf_set_omin_ea in module ida_ida: + +inf_set_omin_ea(*args) + inf_set_omin_ea(_v) -> bool + +Help on function inf_set_op_offset in module ida_ida: + +inf_set_op_offset(*args) + inf_set_op_offset(_v=True) -> bool + +Help on function inf_set_ostype in module ida_ida: + +inf_set_ostype(*args) + inf_set_ostype(_v) -> bool + +Help on function inf_set_outflags in module ida_ida: + +inf_set_outflags(*args) + inf_set_outflags(_v) -> bool + +Help on function inf_set_pack_idb in module ida_ida: + +inf_set_pack_idb(*args) + inf_set_pack_idb(_v=True) -> bool + +Help on function inf_set_pack_stkargs in module ida_ida: + +inf_set_pack_stkargs(*args) + inf_set_pack_stkargs(_v=True) -> bool + +Help on function inf_set_prefflag in module ida_ida: + +inf_set_prefflag(*args) + inf_set_prefflag(_v) -> bool + +Help on function inf_set_prefix_show_funcoff in module ida_ida: + +inf_set_prefix_show_funcoff(*args) + inf_set_prefix_show_funcoff(_v=True) -> bool + +Help on function inf_set_prefix_show_segaddr in module ida_ida: + +inf_set_prefix_show_segaddr(*args) + inf_set_prefix_show_segaddr(_v=True) -> bool + +Help on function inf_set_prefix_show_stack in module ida_ida: + +inf_set_prefix_show_stack(*args) + inf_set_prefix_show_stack(_v=True) -> bool + +Help on function inf_set_prefix_truncate_opcode_bytes in module ida_ida: + +inf_set_prefix_truncate_opcode_bytes(*args) + inf_set_prefix_truncate_opcode_bytes(_v=True) -> bool + +Help on function inf_set_privrange in module ida_ida: + +inf_set_privrange(*args) + inf_set_privrange(_v) -> bool + +Help on function inf_set_privrange_end_ea in module ida_ida: + +inf_set_privrange_end_ea(*args) + inf_set_privrange_end_ea(_v) -> bool + +Help on function inf_set_privrange_start_ea in module ida_ida: + +inf_set_privrange_start_ea(*args) + inf_set_privrange_start_ea(_v) -> bool + +Help on function inf_set_procname in module ida_ida: + +inf_set_procname(*args) + inf_set_procname(_v, len=size_t(-1)) -> bool + +Help on function inf_set_propagate_regargs in module ida_ida: + +inf_set_propagate_regargs(*args) + inf_set_propagate_regargs(_v=True) -> bool + +Help on function inf_set_propagate_stkargs in module ida_ida: + +inf_set_propagate_stkargs(*args) + inf_set_propagate_stkargs(_v=True) -> bool + +Help on function inf_set_readonly_idb in module ida_ida: + +inf_set_readonly_idb(*args) + inf_set_readonly_idb(_v=True) -> bool + +Help on function inf_set_refcmtnum in module ida_ida: + +inf_set_refcmtnum(*args) + inf_set_refcmtnum(_v) -> bool + +Help on function inf_set_rename_jumpfunc in module ida_ida: + +inf_set_rename_jumpfunc(*args) + inf_set_rename_jumpfunc(_v=True) -> bool + +Help on function inf_set_rename_nullsub in module ida_ida: + +inf_set_rename_nullsub(*args) + inf_set_rename_nullsub(_v=True) -> bool + +Help on function inf_set_short_demnames in module ida_ida: + +inf_set_short_demnames(*args) + inf_set_short_demnames(_v) -> bool + +Help on function inf_set_should_create_stkvars in module ida_ida: + +inf_set_should_create_stkvars(*args) + inf_set_should_create_stkvars(_v=True) -> bool + +Help on function inf_set_should_trace_sp in module ida_ida: + +inf_set_should_trace_sp(*args) + inf_set_should_trace_sp(_v=True) -> bool + +Help on function inf_set_show_all_comments in module ida_ida: + +inf_set_show_all_comments(*args) + inf_set_show_all_comments(_v=True) -> bool + +Help on function inf_set_show_hidden_funcs in module ida_ida: + +inf_set_show_hidden_funcs(*args) + inf_set_show_hidden_funcs(_v=True) -> bool + +Help on function inf_set_show_hidden_insns in module ida_ida: + +inf_set_show_hidden_insns(*args) + inf_set_show_hidden_insns(_v=True) -> bool + +Help on function inf_set_show_hidden_segms in module ida_ida: + +inf_set_show_hidden_segms(*args) + inf_set_show_hidden_segms(_v=True) -> bool + +Help on function inf_set_show_repeatables in module ida_ida: + +inf_set_show_repeatables(*args) + inf_set_show_repeatables(_v=True) -> bool + +Help on function inf_set_show_src_linnum in module ida_ida: + +inf_set_show_src_linnum(*args) + inf_set_show_src_linnum(_v=True) -> bool + +Help on function inf_set_show_xref_fncoff in module ida_ida: + +inf_set_show_xref_fncoff(*args) + inf_set_show_xref_fncoff(_v=True) -> bool + +Help on function inf_set_show_xref_seg in module ida_ida: + +inf_set_show_xref_seg(*args) + inf_set_show_xref_seg(_v=True) -> bool + +Help on function inf_set_show_xref_tmarks in module ida_ida: + +inf_set_show_xref_tmarks(*args) + inf_set_show_xref_tmarks(_v=True) -> bool + +Help on function inf_set_show_xref_val in module ida_ida: + +inf_set_show_xref_val(*args) + inf_set_show_xref_val(_v=True) -> bool + +Help on function inf_set_snapshot in module ida_ida: + +inf_set_snapshot(*args) + inf_set_snapshot(_v=True) -> bool + +Help on function inf_set_specsegs in module ida_ida: + +inf_set_specsegs(*args) + inf_set_specsegs(_v) -> bool + +Help on function inf_set_stack_ldbl in module ida_ida: + +inf_set_stack_ldbl(*args) + inf_set_stack_ldbl(_v=True) -> bool + +Help on function inf_set_stack_varargs in module ida_ida: + +inf_set_stack_varargs(*args) + inf_set_stack_varargs(_v=True) -> bool + +Help on function inf_set_start_cs in module ida_ida: + +inf_set_start_cs(*args) + inf_set_start_cs(_v) -> bool + +Help on function inf_set_start_ea in module ida_ida: + +inf_set_start_ea(*args) + inf_set_start_ea(_v) -> bool + +Help on function inf_set_start_ip in module ida_ida: + +inf_set_start_ip(*args) + inf_set_start_ip(_v) -> bool + +Help on function inf_set_start_sp in module ida_ida: + +inf_set_start_sp(*args) + inf_set_start_sp(_v) -> bool + +Help on function inf_set_start_ss in module ida_ida: + +inf_set_start_ss(*args) + inf_set_start_ss(_v) -> bool + +Help on function inf_set_strlit_autocmt in module ida_ida: + +inf_set_strlit_autocmt(*args) + inf_set_strlit_autocmt(_v=True) -> bool + +Help on function inf_set_strlit_break in module ida_ida: + +inf_set_strlit_break(*args) + inf_set_strlit_break(_v) -> bool + +Help on function inf_set_strlit_flags in module ida_ida: + +inf_set_strlit_flags(*args) + inf_set_strlit_flags(_v) -> bool + +Help on function inf_set_strlit_name_bit in module ida_ida: + +inf_set_strlit_name_bit(*args) + inf_set_strlit_name_bit(_v=True) -> bool + +Help on function inf_set_strlit_names in module ida_ida: + +inf_set_strlit_names(*args) + inf_set_strlit_names(_v=True) -> bool + +Help on function inf_set_strlit_pref in module ida_ida: + +inf_set_strlit_pref(*args) + inf_set_strlit_pref(_v, len=size_t(-1)) -> bool + +Help on function inf_set_strlit_savecase in module ida_ida: + +inf_set_strlit_savecase(*args) + inf_set_strlit_savecase(_v=True) -> bool + +Help on function inf_set_strlit_serial_names in module ida_ida: + +inf_set_strlit_serial_names(*args) + inf_set_strlit_serial_names(_v=True) -> bool + +Help on function inf_set_strlit_sernum in module ida_ida: + +inf_set_strlit_sernum(*args) + inf_set_strlit_sernum(_v) -> bool + +Help on function inf_set_strlit_zeroes in module ida_ida: + +inf_set_strlit_zeroes(*args) + inf_set_strlit_zeroes(_v) -> bool + +Help on function inf_set_strtype in module ida_ida: + +inf_set_strtype(*args) + inf_set_strtype(_v) -> bool + +Help on function inf_set_test_mode in module ida_ida: + +inf_set_test_mode(*args) + inf_set_test_mode(_v=True) -> bool + +Help on function inf_set_trace_flow in module ida_ida: + +inf_set_trace_flow(*args) + inf_set_trace_flow(_v=True) -> bool + +Help on function inf_set_truncate_on_del in module ida_ida: + +inf_set_truncate_on_del(*args) + inf_set_truncate_on_del(_v=True) -> bool + +Help on function inf_set_type_xrefnum in module ida_ida: + +inf_set_type_xrefnum(*args) + inf_set_type_xrefnum(_v) -> bool + +Help on function inf_set_unicode_strlits in module ida_ida: + +inf_set_unicode_strlits(*args) + inf_set_unicode_strlits(_v=True) -> bool + +Help on function inf_set_use_allasm in module ida_ida: + +inf_set_use_allasm(*args) + inf_set_use_allasm(_v=True) -> bool + +Help on function inf_set_use_flirt in module ida_ida: + +inf_set_use_flirt(*args) + inf_set_use_flirt(_v=True) -> bool + +Help on function inf_set_use_gcc_layout in module ida_ida: + +inf_set_use_gcc_layout(*args) + inf_set_use_gcc_layout(_v=True) -> bool + +Help on function inf_set_version in module ida_ida: + +inf_set_version(*args) + inf_set_version(_v) -> bool + +Help on function inf_set_xrefflag in module ida_ida: + +inf_set_xrefflag(*args) + inf_set_xrefflag(_v) -> bool + +Help on function inf_set_xrefnum in module ida_ida: + +inf_set_xrefnum(*args) + inf_set_xrefnum(_v) -> bool + +Help on function inf_should_create_stkvars in module ida_ida: + +inf_should_create_stkvars(*args) + inf_should_create_stkvars() -> bool + +Help on function inf_should_trace_sp in module ida_ida: + +inf_should_trace_sp(*args) + inf_should_trace_sp() -> bool + +Help on function inf_show_all_comments in module ida_ida: + +inf_show_all_comments(*args) + inf_show_all_comments() -> bool + +Help on function inf_show_hidden_funcs in module ida_ida: + +inf_show_hidden_funcs(*args) + inf_show_hidden_funcs() -> bool + +Help on function inf_show_hidden_insns in module ida_ida: + +inf_show_hidden_insns(*args) + inf_show_hidden_insns() -> bool + +Help on function inf_show_hidden_segms in module ida_ida: + +inf_show_hidden_segms(*args) + inf_show_hidden_segms() -> bool + +Help on function inf_show_repeatables in module ida_ida: + +inf_show_repeatables(*args) + inf_show_repeatables() -> bool + +Help on function inf_show_src_linnum in module ida_ida: + +inf_show_src_linnum(*args) + inf_show_src_linnum() -> bool + +Help on function inf_show_xref_fncoff in module ida_ida: + +inf_show_xref_fncoff(*args) + inf_show_xref_fncoff() -> bool + +Help on function inf_show_xref_seg in module ida_ida: + +inf_show_xref_seg(*args) + inf_show_xref_seg() -> bool + +Help on function inf_show_xref_tmarks in module ida_ida: + +inf_show_xref_tmarks(*args) + inf_show_xref_tmarks() -> bool + +Help on function inf_show_xref_val in module ida_ida: + +inf_show_xref_val(*args) + inf_show_xref_val() -> bool + +Help on function inf_strlit_autocmt in module ida_ida: + +inf_strlit_autocmt(*args) + inf_strlit_autocmt() -> bool + +Help on function inf_strlit_name_bit in module ida_ida: + +inf_strlit_name_bit(*args) + inf_strlit_name_bit() -> bool + +Help on function inf_strlit_names in module ida_ida: + +inf_strlit_names(*args) + inf_strlit_names() -> bool + +Help on function inf_strlit_savecase in module ida_ida: + +inf_strlit_savecase(*args) + inf_strlit_savecase() -> bool + +Help on function inf_strlit_serial_names in module ida_ida: + +inf_strlit_serial_names(*args) + inf_strlit_serial_names() -> bool + +Help on function inf_test_mode in module ida_ida: + +inf_test_mode(*args) + inf_test_mode() -> bool + +Help on function inf_trace_flow in module ida_ida: + +inf_trace_flow(*args) + inf_trace_flow() -> bool + +Help on function inf_truncate_on_del in module ida_ida: + +inf_truncate_on_del(*args) + inf_truncate_on_del() -> bool + +Help on function inf_unicode_strlits in module ida_ida: + +inf_unicode_strlits(*args) + inf_unicode_strlits() -> bool + +Help on function inf_use_flirt in module ida_ida: + +inf_use_flirt(*args) + inf_use_flirt() -> bool + +Help on function is_filetype_like_binary in module ida_ida: + +is_filetype_like_binary(*args) + is_filetype_like_binary(ft) -> bool + + + Is unstructured input file? + + + @param ft (C++: filetype_t) + +Help on function in module ida_ida: + + lambda *args + +Help on function to_ea in module ida_ida: + +to_ea(*args) + 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) + +=== ida_ida EPYDOC INJECTIONS === +ida_ida.ABI_8ALIGN4 +""" +4 byte alignment for 8byte scalars (__int64/double) inside structures? +""" + +ida_ida.ABI_BIGARG_ALIGN +""" +(e.g. __int64 argument should be 8byte aligned on some 32bit +platforms) + +use natural type alignment for argument if the alignment exceeds +native word size +""" + +ida_ida.ABI_GCC_LAYOUT +""" +use gcc layout for udts (used for mingw) +""" + +ida_ida.ABI_HARD_FLOAT +""" +use the floating-point register set +""" + +ida_ida.ABI_HUGEARG_ALIGN +""" +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 +""" + +ida_ida.ABI_MAP_STKARGS +""" +register arguments are mapped to stack area (and consume stack slots) +""" + +ida_ida.ABI_PACK_STKARGS +""" +do not align stack arguments to stack slots +""" + +ida_ida.ABI_SET_BY_USER +""" +compiler/abi were set by user flag and require SETCOMP_BY_USER flag to +be changed +""" + +ida_ida.ABI_STACK_LDBL +""" +long double arguments are passed on stack +""" + +ida_ida.ABI_STACK_VARARGS +""" +varargs are always passed on stack (even when there are free +registers) +""" + +ida_ida.AF2_DOEH +""" +Handle EH information. +""" + +ida_ida.AF2_DORTTI +""" +Handle RTTI information. +""" + +ida_ida.AF2_MACRO +""" +Try to combine several instructions into a macro instruction +""" + +ida_ida.AF_ANORET +""" +Perform 'no-return' analysis. +""" + +ida_ida.AF_CHKUNI +""" +Check for unicode strings. +""" + +ida_ida.AF_CODE +""" +Trace execution flow. +""" + +ida_ida.AF_DATOFF +""" +Automatically convert data to offsets. +""" + +ida_ida.AF_DOCODE +""" +Coagulate code segs at the final pass. +""" + +ida_ida.AF_DODATA +""" +Coagulate data segs at the final pass. +""" + +ida_ida.AF_DREFOFF +""" +Create offset if data xref to seg32 exists. +""" + +ida_ida.AF_FINAL +""" +Final pass of analysis. +""" + +ida_ida.AF_FIXUP +""" +Create offsets and segments using fixup info. +""" + +ida_ida.AF_FLIRT +""" +Use flirt signatures. +""" + +ida_ida.AF_FTAIL +""" +Create function tails. +""" + +ida_ida.AF_HFLIRT +""" +Automatically hide library functions. +""" + +ida_ida.AF_IMMOFF +""" +Convert 32bit instruction operand to offset. +""" + +ida_ida.AF_JFUNC +""" +Rename jump functions as j_... +""" + +ida_ida.AF_JUMPTBL +""" +Locate and create jump tables. +""" + +ida_ida.AF_LVAR +""" +Create stack variables. +""" + +ida_ida.AF_MARKCODE +""" +Mark typical code sequences as code. +""" + +ida_ida.AF_MEMFUNC +""" +Try to guess member function types. +""" + +ida_ida.AF_NULLSUB +""" +Rename empty functions as nullsub_... +""" + +ida_ida.AF_PROC +""" +Create functions if call is present. +""" + +ida_ida.AF_PROCPTR +""" +Create function if data xref data->code32 exists. +""" + +ida_ida.AF_PURDAT +""" +Control flow to data segment is ignored. +""" + +ida_ida.AF_REGARG +""" +Propagate register argument information. +""" + +ida_ida.AF_SIGCMT +""" +Append a signature name comment for recognized anonymous library +functions. +""" + +ida_ida.AF_SIGMLT +""" +Allow recognition of several copies of the same function. +""" + +ida_ida.AF_STKARG +""" +Propagate stack argument information. +""" + +ida_ida.AF_STRLIT +""" +Create string literal if data xref exists. +""" + +ida_ida.AF_TRACE +""" +Trace stack pointer. +""" + +ida_ida.AF_TRFUNC +""" +Truncate functions upon code deletion. +""" + +ida_ida.AF_UNK +""" +Delete instructions with no xrefs. +""" + +ida_ida.AF_USED +""" +Analyze and create all xrefs. +""" + +ida_ida.AF_VERSP +""" +Perform full SP-analysis. (\\ph{verify_sp}) +""" + +ida_ida.DEMNAM_CMNT +""" +display demangled names as comments +""" + +ida_ida.DEMNAM_FIRST +""" +override type info +""" + +ida_ida.DEMNAM_GCC3 +""" +assume gcc3 names (valid for gnu compiler) +""" + +ida_ida.DEMNAM_MASK +""" +mask for name form +""" + +ida_ida.DEMNAM_NAME +""" +display demangled names as regular names +""" + +ida_ida.DEMNAM_NONE +""" +don't display demangled names +""" + +ida_ida.IDAINFO_TAG_SIZE +""" +The database parameters. This structure is kept in the ida database. +It contains the essential parameters for the current program +""" + +ida_ida.IDB_COMPRESSED +""" +compress & pack database components +""" + +ida_ida.IDB_PACKED +""" +pack database components into .idb +""" + +ida_ida.IDB_UNPACKED +""" +leave database components unpacked +""" + +ida_ida.INFFL_ALLASM +""" +the target assembler + +may use constructs not supported by +""" + +ida_ida.INFFL_AUTO +""" +Autoanalysis is enabled? +""" + +ida_ida.INFFL_CHKOPS +""" +check manual operands? (unused) +""" + +ida_ida.INFFL_GRAPH_VIEW +""" +currently using graph options (\\dto{graph}) +""" + +ida_ida.INFFL_LOADIDC +""" +loading an idc file that contains database info +""" + +ida_ida.INFFL_NMOPS +""" +allow non-matched operands? (unused) +""" + +ida_ida.INFFL_NOUSER +""" +do not store user info in the database +""" + +ida_ida.INFFL_READONLY +""" +(internal) temporary interdiction to modify the database +""" + +ida_ida.LFLG_64BIT +""" +64-bit program? +""" + +ida_ida.LFLG_COMPRESS +""" +compress the database? +""" + +ida_ida.LFLG_DBG_NOPATH +""" +do not store input full path in debugger process options +""" + +ida_ida.LFLG_FLAT_OFF32 +""" +treat 'REF_OFF32' as 32-bit offset for 16bit segments (otherwise try +SEG16:OFF16) +""" + +ida_ida.LFLG_IS_DLL +""" +Is dynamic library? +""" + +ida_ida.LFLG_KERNMODE +""" +is kernel mode binary? +""" + +ida_ida.LFLG_MSF +""" +Byte order: is MSB first? +""" + +ida_ida.LFLG_PACK +""" +pack the database? +""" + +ida_ida.LFLG_PC_FLAT +""" +32-bit program? +""" + +ida_ida.LFLG_PC_FPP +""" +decode floating point processor instructions? +""" + +ida_ida.LFLG_SNAPSHOT +""" +memory snapshot was taken? +""" + +ida_ida.LFLG_WIDE_HBF +""" +(wide bytes: \\ph{dnbits} > 8) + +Bit order of wide bytes: high byte first? +""" + +ida_ida.LMT_EMPTY +""" +empty lines at the end of basic blocks +""" + +ida_ida.LMT_THICK +""" +thick borders +""" + +ida_ida.LMT_THIN +""" +thin borders +""" + +ida_ida.LN_AUTO +""" +include autogenerated names +""" + +ida_ida.LN_NORMAL +""" +include normal names +""" + +ida_ida.LN_PUBLIC +""" +include public names +""" + +ida_ida.LN_WEAK +""" +include weak names +""" + +ida_ida.OFLG_GEN_ASSUME +""" +Generate 'assume' directives? +""" + +ida_ida.OFLG_GEN_NULL +""" +Generate empty lines? +""" + +ida_ida.OFLG_GEN_ORG +""" +Generate 'org' directives? +""" + +ida_ida.OFLG_GEN_TRYBLKS +""" +Generate try/catch directives? +""" + +ida_ida.OFLG_LZERO +""" +generate leading zeroes in numbers +""" + +ida_ida.OFLG_PREF_SEG +""" +line prefixes with segment name? +""" + +ida_ida.OFLG_SHOW_AUTO +""" +Display autoanalysis indicator? +""" + +ida_ida.OFLG_SHOW_PREF +""" +Show line prefixes? +""" + +ida_ida.OFLG_SHOW_VOID +""" +Display void marks? +""" + +ida_ida.PREF_FNCOFF +""" +show function offsets? +""" + +ida_ida.PREF_PFXTRUNC +""" +truncate instruction bytes if they would need more than 1 line +""" + +ida_ida.PREF_SEGADR +""" +show segment addresses? +""" + +ida_ida.PREF_STACK +""" +show stack pointer? +""" + +ida_ida.SCF_ALLCMT +""" +comment all lines? +""" + +ida_ida.SCF_LINNUM +""" +show source line numbers +""" + +ida_ida.SCF_NOCMT +""" +no comments at all +""" + +ida_ida.SCF_RPTCMT +""" +show repeatable comments? +""" + +ida_ida.SCF_SHHID_FUNC +""" +show hidden functions +""" + +ida_ida.SCF_SHHID_ITEM +""" +show hidden instructions +""" + +ida_ida.SCF_SHHID_SEGM +""" +show hidden segments +""" + +ida_ida.SCF_TESTMODE +""" +testida.idc is running +""" + +ida_ida.STRF_AUTO +""" +names have 'autogenerated' bit? +""" + +ida_ida.STRF_COMMENT +""" +generate auto comment for string references? +""" + +ida_ida.STRF_GEN +""" +generate names? +""" + +ida_ida.STRF_SAVECASE +""" +preserve case of strings for identifiers +""" + +ida_ida.STRF_SERIAL +""" +generate serial names? +""" + +ida_ida.STRF_UNICODE +""" +unicode strings are present? +""" + +ida_ida.SW_SEGXRF +""" +show segments in xrefs? +""" + +ida_ida.SW_XRFFNC +""" +show function offsets? +""" + +ida_ida.SW_XRFMRK +""" +show xref type marks? +""" + +ida_ida.SW_XRFVAL +""" +show xref values? (otherwise-"...") +""" + +ida_ida.UA_MAXOP +""" +max number of operands allowed for an instruction +""" +=== ida_ida EPYDOC INJECTIONS END === +Help on class CustomIDAMemo in module ida_kernwin: + +class CustomIDAMemo(View_Hooks) + | # + | # ----------------------------------------------------------------------- + | # CustomIDAMemo + | # ----------------------------------------------------------------------- + | + | Method resolution order: + | CustomIDAMemo + | View_Hooks + | __builtin__.object + | + | Methods defined here: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | __init__(self) + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | + | view_click(self, view, ve) + | + | view_close(self, view, *args) + | + | view_curpos(self, view, *args) + | + | view_dblclick(self, view, ve) + | + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | + | view_mouse_over(self, view, ve) + | + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | view_created(self, *args) + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from View_Hooks: + | + | __swig_destroy__ = + | delete_View_Hooks(self) + +Help on __IDAPython_Completion_Util in module ida_idaapi object: + +class __IDAPython_Completion_Util(__builtin__.object) + | Internal utility class for auto-completion support + | + | Methods defined here: + | + | __call__(self, line, x) + | + | __init__(self) + | + | debug(self, *args) + | + | dir_namespace(self, m, prefix) + | + | get_candidates(self, qname, line, match_syntax_char) + | + | maybe_extend_syntactically(self, ns, name, line, syntax_char) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | QNAME_PAT = <_sre.SRE_Pattern object> + +Help on function IDAPython_ExecScript in module ida_idaapi: + +IDAPython_ExecScript(script, g, print_error=True) + Run the specified script. + It also addresses http://code.google.com/p/idapython/issues/detail?id=42 + + This function is used by the low-level plugin code. + +Help on function IDAPython_ExecSystem in module ida_idaapi: + +IDAPython_ExecSystem(cmd) + Executes a command with popen(). + +Help on function IDAPython_FormatExc in module ida_idaapi: + +IDAPython_FormatExc(etype, value=None, tb=None, limit=None) + This function is used to format an exception given the + values returned by a PyErr_Fetch() + +Help on function IDAPython_LoadProcMod in module ida_idaapi: + +IDAPython_LoadProcMod(script, g, print_error=True) + Load processor module. + +Help on function IDAPython_UnLoadProcMod in module ida_idaapi: + +IDAPython_UnLoadProcMod(script, g, print_error=True) + Unload processor module. + +Help on class IDAPython_displayhook in module ida_idaapi: + +class IDAPython_displayhook + | # ------------------------------------------------------------ + | + | Methods defined here: + | + | __init__(self) + | + | _print_hex(self, x) + | + | displayhook(self, item) + | + | format_item(self, num_printer, storage, item) + | + | format_seq(self, num_printer, storage, item, opn, cls) + +Help on class PyIdc_cvt_int64__ in module ida_idaapi: + +class PyIdc_cvt_int64__(pyidc_cvt_helper__) + | Helper class for explicitly representing VT_INT64 values + | + | Method resolution order: + | PyIdc_cvt_int64__ + | pyidc_cvt_helper__ + | __builtin__.object + | + | Methods defined here: + | + | _PyIdc_cvt_int64____op = __op(self, op_n, other, rev=False) + | + | __add__(self, other) + | + | __div__(self, other) + | + | __init__(self, v) + | + | __mul__(self, other) + | + | __radd__(self, other) + | + | __rdiv__(self, other) + | + | __rmul__(self, other) + | + | __rsub__(self, other) + | + | __sub__(self, other) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _PyIdc_cvt_int64____op_table = {0: >, 1: + +Help on function __install_excepthook in module ida_idaapi: + +__install_excepthook() + # Since version 5.5, PyQt5 doesn't simply print the PyQt exceptions by default + # anymore: https://github.com/baoboa/pyqt5/commit/1e1d8a3ba677ef3e47b916b8a5b9c281d0f8e4b5#diff-848704a82f6a6e3a13112145ce32ac69L63 + # The default behavior now is that qFatal() is called, causing the application + # to abort(). + # We do not want that to happen in IDA, and simply having a sys.excepthook + # that is different from sys.__excepthook__ is enough for PyQt5 to return + # to the previous behavior + +Help on function _bounded_getitem_iterator in module ida_idaapi: + +_bounded_getitem_iterator(self) + Helper function, to be set as __iter__ method for qvector-, or array-based classes. + +Help on function _listify_types in module ida_idaapi: + +_listify_types(*classes) + +Help on function _qvector_back in module ida_idaapi: + +_qvector_back(self) + # ----------------------------------------------------------------------- + +Help on function _qvector_front in module ida_idaapi: + +_qvector_front(self) + # ----------------------------------------------------------------------- + +Help on function _replace_module_function in module ida_idaapi: + +_replace_module_function(replacement) + +Help on function _utf8_native in module ida_idaapi: + +_utf8_native(utf8) + +Help on function as_UTF16 in module ida_idaapi: + +as_UTF16(s) + Convenience function to convert a string into appropriate unicode format + +Help on function as_cstr in module ida_idaapi: + +as_cstr(val) + 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 and returns the string value up to that point. + +Help on function as_int32 in module ida_idaapi: + +as_int32(v) + Returns a number as a signed int32 number + +Help on function as_signed in module ida_idaapi: + +as_signed(v, nbits=32) + Returns a number as signed. The number of bits are specified by the user. + The MSB holds the sign. + +Help on function as_uint32 in module ida_idaapi: + +as_uint32(v) + Returns a number as an unsigned int32 number + +Help on function copy_bits in module ida_idaapi: + +copy_bits(v, s, e=-1) + Copy bits from a value + @param v: the value + @param s: starting bit (0-based) + @param e: ending bit + +Help on function disable_script_timeout in module ida_idaapi: + +disable_script_timeout(*args) + 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 + +Help on function enable_extlang_python in module ida_idaapi: + +enable_extlang_python(*args) + 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 + +Help on function enable_python_cli in module ida_idaapi: + +enable_python_cli(*args) + enable_python_cli(enable) + +Help on function format_basestring in module ida_idaapi: + +format_basestring(*args) + format_basestring(_in) -> PyObject * + +Help on function get_inf_structure in module ida_idaapi: + +get_inf_structure(*args) + get_inf_structure() -> idainfo + + + Returns the global variable 'inf' (an instance of idainfo structure, see ida.hpp) + +Help on class loader_input_t in module ida_idaapi: + +class loader_input_t(__builtin__.object) + | Proxy of C++ loader_input_t class. + | + | + | A helper class to work with linput_t related functions. + | This class is also used by file loaders scripts. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, pycapsule=None) -> loader_input_t + | + | + | Closes the file + | + | __repr__ = _swig_repr(self) + | + | close(self, *args) + | close(self) + | + | file2base(self, *args) + | 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 li: pointer ot input source + | @param pos: position in the file + | @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 + | + | filename(self, *args) + | filename(self) -> PyObject * + | + | get_char(self, *args) + | get_char(self) -> PyObject * + | + | get_linput(self, *args) + | get_linput(self) -> linput_t * + | + | gets(self, *args) + | gets(self, len) -> PyObject * + | + | + | Reads a line from the input file. Returns the read line or None + | + | getz(self, *args) + | 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. + | + | open(self, *args) + | open(self, filename, remote=False) -> bool + | + | + | Opens a file (or a remote file) + | @return: Boolean + | + | open_memory(self, *args) + | 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 + | + | opened(self, *args) + | opened(self) -> bool + | + | + | Checks if the file is opened or not + | + | read(self, *args) + | read(self, size) -> PyObject * + | + | + | Reads from the file. Returns the buffer or None + | + | readbytes(self, *args) + | readbytes(self, size, big_endian) -> PyObject * + | + | + | Similar to read() but it respect the endianness + | + | seek(self, *args) + | seek(self, pos, whence=SEEK_SET) -> int64 + | + | + | Set input source position + | @return: the new position (not 0 as fseek!) + | + | set_linput(self, *args) + | set_linput(self, linput) + | + | + | Links the current loader_input_t instance to a linput_t instance + | + | size(self, *args) + | size(self) -> int64 + | + | tell(self, *args) + | tell(self) -> int64 + | + | + | Returns the current position + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | from_capsule(*args) + | from_capsule(pycapsule) -> loader_input_t + | + | from_fp(*args) + | from_fp(fp) -> loader_input_t + | + | + | A static method to construct an instance from a FILE* + | + | from_linput(*args) + | from_linput(linput) -> loader_input_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __idc_cvt_id__ + | loader_input_t___idc_cvt_id___get(self) -> int + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_loader_input_t(self) + +Help on function loader_input_t_from_capsule in module ida_idaapi: + +loader_input_t_from_capsule(*args) + loader_input_t_from_capsule(pycapsule) -> loader_input_t + +Help on function loader_input_t_from_fp in module ida_idaapi: + +loader_input_t_from_fp(*args) + loader_input_t_from_fp(fp) -> loader_input_t + +Help on function loader_input_t_from_linput in module ida_idaapi: + +loader_input_t_from_linput(*args) + loader_input_t_from_linput(linput) -> loader_input_t + +Help on function notify_when in module ida_idaapi: + +notify_when(when, callback) + 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 + +Help on class object_t in module ida_idaapi: + +class object_t(__builtin__.object) + | Helper class used to initialize empty objects + | + | Methods defined here: + | + | __getitem__(self, idx) + | Allow access to object attributes by index (like dictionaries) + | + | __init__(self, **kwds) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function parse_command_line3 in module ida_idaapi: + +parse_command_line3(*args) + parse_command_line3(cmdline) -> PyObject * + +Help on class plugin_t in module ida_idaapi: + +class plugin_t(pyidc_opaque_object_t) + | Base class for all scripted plugins. + | + | Method resolution order: + | plugin_t + | pyidc_opaque_object_t + | __builtin__.object + | + | Data descriptors inherited from pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on class py_clinked_object_t in module ida_idaapi: + +class py_clinked_object_t(pyidc_opaque_object_t) + | This is a utility and base class for C linked objects + | + | Method resolution order: + | py_clinked_object_t + | pyidc_opaque_object_t + | __builtin__.object + | + | Methods defined here: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | __init__(self, lnk=None) + | + | _create_clink(self) + | Overwrite me. + | Creates a new clink + | @return: PyCapsule representing the C link + | + | _del_clink(self, lnk) + | Overwrite me. + | This method deletes the link + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | _get_clink_ptr(self) + | Overwrite me. + | Returns the C link pointer as a 64bit number + | + | assign(self, other) + | Overwrite me. + | This method allows you to assign an instance contents to anothers + | @return: Boolean + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function pycim_get_widget in module ida_idaapi: + +pycim_get_widget(*args) + pycim_get_widget(_self) -> TWidget * + +Help on function pycim_view_close in module ida_idaapi: + +pycim_view_close(*args) + pycim_view_close(_self) + +Help on function pygc_create_groups in module ida_idaapi: + +pygc_create_groups(*args) + pygc_create_groups(_self, groups_infos) -> PyObject * + +Help on function pygc_delete_groups in module ida_idaapi: + +pygc_delete_groups(*args) + pygc_delete_groups(_self, groups, new_current) -> PyObject * + +Help on function pygc_refresh in module ida_idaapi: + +pygc_refresh(*args) + pygc_refresh(_self) + +Help on function pygc_set_groups_visibility in module ida_idaapi: + +pygc_set_groups_visibility(*args) + pygc_set_groups_visibility(_self, groups, expand, new_current) -> PyObject * + +Help on class pyidc_cvt_helper__ in module ida_idaapi: + +class pyidc_cvt_helper__(__builtin__.object) + | 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 + | + | Methods defined here: + | + | __init__(self, cvt_id, value) + | + | _pyidc_cvt_helper____get_value = __get_value(self) + | + | _pyidc_cvt_helper____set_value = __set_value(self, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | value + +Help on class pyidc_opaque_object_t in module ida_idaapi: + +class pyidc_opaque_object_t(__builtin__.object) + | This is the base class for all Python<->IDC opaque objects + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __idc_cvt_id__ = 2 + +Help on function replfun in module ida_idaapi: + +replfun(func) + +Help on function require in module ida_idaapi: + +require(modulename, package=None) + 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: . + +Help on function set_script_timeout in module ida_idaapi: + +set_script_timeout(*args) + 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 + +Help on function struct_unpack in module ida_idaapi: + +struct_unpack(buffer, signed=False, offs=0) + 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. + +Help on function get_mark_comment in module ida_idc: + +get_mark_comment(*args) + get_mark_comment(slot) -> PyObject * + +Help on function get_marked_pos in module ida_idc: + +get_marked_pos(*args) + get_marked_pos(slot) -> ea_t + +Help on function mark_position in module ida_idc: + +mark_position(*args) + mark_position(ea, lnnum, x, y, slot, comment) + +Help on Appcall__ in module ida_idd object: + +class Appcall__(__builtin__.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | _Appcall____get_consts = __get_consts(self) + | + | __getattr__(self, name_or_ea) + | Allows you to call functions as if they were member functions (by returning a callable object) + | + | __getitem__(self, idx) + | Use self[func_name] syntax if the function name contains invalid characters for an attribute name + | See __getattr___ + | + | __init__(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | UTF16(s) + | + | _Appcall____name_or_ea = __name_or_ea(name_or_ea) + | Function that accepts a name or an ea and checks if the address is enabled. + | If a name is passed then idaapi.get_name_ea() is applied to retrieve the name + | @return: + | - Returns the resolved EA or + | - Raises an exception if the address is not enabled + | + | _Appcall____typedecl_or_tinfo = __typedecl_or_tinfo(typedecl_or_tinfo, flags=None) + | Function that accepts a tinfo_t object or type declaration as a string + | If a type declaration is passed then ida_typeinf.parse_decl() is applied to prepare tinfo_t object + | @return: + | - Returns the tinfo_t object + | - Raises an exception if the declaration cannot be parsed + | + | array(type_name) + | Defines an array type. Later you need to pack() / unpack() + | + | buffer(str=None, size=0, fill='\x00') + | 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 + | + | byref(val) + | 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) + | + | cleanup_appcall(tid=0) + | Equivalent to IDC's CleanupAppcall() + | + | cstr(val) + | + | get_appcall_options() + | Return the global Appcall options + | + | int64(v) + | Whenever a 64bit number is needed use this method to construct an object + | + | obj(**kwds) + | Returns an empty object or objects with attributes as passed via its keywords arguments + | + | proto(name_or_ea, proto_or_tinfo, flags=None) + | 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 + | + | set_appcall_options(opt) + | Method to change the Appcall options globally (not per Appcall) + | + | typedobj(typedecl_or_tinfo, ea=None) + | 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 + | + | unicode = UTF16(s) + | + | valueof(name, default=0) + | Returns the numeric value of a given name string. + | If the name could not be resolved then the default value will be returned + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Consts + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | APPCALL_DEBEV = 2 + | + | APPCALL_MANUAL = 1 + | + | APPCALL_TIMEOUT = 4 + | + | __name__ = 'Appcall__' + +Help on class Appcall__ in module ida_idd: + +class Appcall__(__builtin__.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | _Appcall____get_consts = __get_consts(self) + | + | __getattr__(self, name_or_ea) + | Allows you to call functions as if they were member functions (by returning a callable object) + | + | __getitem__(self, idx) + | Use self[func_name] syntax if the function name contains invalid characters for an attribute name + | See __getattr___ + | + | __init__(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | UTF16(s) + | + | _Appcall____name_or_ea = __name_or_ea(name_or_ea) + | Function that accepts a name or an ea and checks if the address is enabled. + | If a name is passed then idaapi.get_name_ea() is applied to retrieve the name + | @return: + | - Returns the resolved EA or + | - Raises an exception if the address is not enabled + | + | _Appcall____typedecl_or_tinfo = __typedecl_or_tinfo(typedecl_or_tinfo, flags=None) + | Function that accepts a tinfo_t object or type declaration as a string + | If a type declaration is passed then ida_typeinf.parse_decl() is applied to prepare tinfo_t object + | @return: + | - Returns the tinfo_t object + | - Raises an exception if the declaration cannot be parsed + | + | array(type_name) + | Defines an array type. Later you need to pack() / unpack() + | + | buffer(str=None, size=0, fill='\x00') + | 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 + | + | byref(val) + | 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) + | + | cleanup_appcall(tid=0) + | Equivalent to IDC's CleanupAppcall() + | + | cstr(val) + | + | get_appcall_options() + | Return the global Appcall options + | + | int64(v) + | Whenever a 64bit number is needed use this method to construct an object + | + | obj(**kwds) + | Returns an empty object or objects with attributes as passed via its keywords arguments + | + | proto(name_or_ea, proto_or_tinfo, flags=None) + | 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 + | + | set_appcall_options(opt) + | Method to change the Appcall options globally (not per Appcall) + | + | typedobj(typedecl_or_tinfo, ea=None) + | 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 + | + | unicode = UTF16(s) + | + | valueof(name, default=0) + | Returns the numeric value of a given name string. + | If the name could not be resolved then the default value will be returned + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Consts + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | APPCALL_DEBEV = 2 + | + | APPCALL_MANUAL = 1 + | + | APPCALL_TIMEOUT = 4 + | + | __name__ = 'Appcall__' + +Help on class Appcall_array__ in module ida_idd: + +class Appcall_array__(__builtin__.object) + | This class is used with Appcall.array() method + | + | Methods defined here: + | + | __init__(self, tp) + | + | pack(self, L) + | Packs a list or tuple into a byref buffer + | + | try_to_convert_to_list(self, obj) + | Is this object a list? We check for the existance of attribute zero and attribute self.size-1 + | + | unpack(self, buf, as_list=True) + | Unpacks an array back into a list or an object + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class Appcall_callable__ in module ida_idd: + +class Appcall_callable__(__builtin__.object) + | 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) + | + | Methods defined here: + | + | _Appcall_callable____get_ea = __get_ea(self) + | + | _Appcall_callable____get_fields = __get_fields(self) + | + | _Appcall_callable____get_options = __get_options(self) + | + | _Appcall_callable____get_size = __get_size(self) + | + | _Appcall_callable____get_tif = __get_tif(self) + | + | _Appcall_callable____get_timeout = __get_timeout(self) + | + | _Appcall_callable____get_type = __get_type(self) + | + | _Appcall_callable____set_ea = __set_ea(self, val) + | + | _Appcall_callable____set_options = __set_options(self, v) + | + | _Appcall_callable____set_timeout = __set_timeout(self, v) + | + | __call__(self, *args) + | Make object callable. We redirect execution to idaapi.appcall() + | + | __init__(self, ea, tinfo_or_typestr=None, fields=None) + | Initializes an appcall with a given function ea + | + | retrieve(self, src=None, flags=0) + | 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). + | + | store(self, obj, dest_ea=None, base_ea=0, flags=0) + | 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) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | + | fields + | + | options + | + | size + | + | tif + | + | timeout + | + | type + +Help on class Appcall_consts__ in module ida_idd: + +class Appcall_consts__(__builtin__.object) + | Helper class used by Appcall.Consts attribute + | It is used to retrieve constants via attribute access + | + | Methods defined here: + | + | __getattr__(self, attr) + | + | __init__(self, default=None) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function appcall in module ida_idd: + +appcall(*args) + appcall(func_ea, tid, _type_or_none, _fields, arg_list) -> PyObject * + +Help on class bptaddr_t in module ida_idd: + +class bptaddr_t(__builtin__.object) + | Proxy of C++ bptaddr_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bptaddr_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hea + | bptaddr_t_hea_get(self) -> ea_t + | + | kea + | bptaddr_t_kea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bptaddr_t(self) + +Help on class call_stack_info_t in module ida_idd: + +class call_stack_info_t(__builtin__.object) + | Proxy of C++ call_stack_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> call_stack_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | callea + | call_stack_info_t_callea_get(self) -> ea_t + | + | fp + | call_stack_info_t_fp_get(self) -> ea_t + | + | funcea + | call_stack_info_t_funcea_get(self) -> ea_t + | + | funcok + | call_stack_info_t_funcok_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_call_stack_info_t(self) + +Help on class call_stack_t in module ida_idd: + +class call_stack_t(__builtin__.object) + | Proxy of C++ qvector< call_stack_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> call_stack_info_t + | + | __init__(self, *args) + | __init__(self) -> call_stack_t + | __init__(self, x) -> call_stack_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> call_stack_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> call_stack_info_t + | begin(self) -> call_stack_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> call_stack_info_t + | end(self) -> call_stack_info_t + | + | erase(self, *args) + | erase(self, it) -> call_stack_info_t + | erase(self, first, last) -> call_stack_info_t + | + | extract(self, *args) + | extract(self) -> call_stack_info_t + | + | find(self, *args) + | find(self, x) -> call_stack_info_t + | find(self, x) -> call_stack_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=call_stack_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> call_stack_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> call_stack_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_call_stack_t(self) + +Help on function can_exc_continue in module ida_idd: + +can_exc_continue(*args) + can_exc_continue(ev) -> bool + +Help on function cleanup_appcall in module ida_idd: + +cleanup_appcall(*args) + cleanup_appcall(tid) -> error_t + + + Cleanup after manual appcall. + + @param tid: 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. (C++: + thid_t) + @return: eOk if successful, otherwise an error code + +Help on function dbg_appcall in module ida_idd: + +dbg_appcall(*args) + dbg_appcall(retval, func_ea, tid, ptif, argv, argnum) -> error_t + + + Call a function from the debugged application. + + @param retval (C++: idc_value_t *) + @param func_ea: address to call (C++: ea_t) + @param tid: thread to use. NO_THREAD means to use the current thread + (C++: thid_t) + @param ptif: pointer to type of the function to call (C++: const + tinfo_t *) + @param argv: array of arguments (C++: idc_value_t *) + @param argnum: number of actual arguments (C++: size_t) + @return: eOk if successful, otherwise an error code + +Help on built-in function dbg_can_query in module _ida_dbg: + +dbg_can_query(...) + dbg_can_query() -> bool + +Help on function dbg_get_memory_info in module ida_idd: + +dbg_get_memory_info(*args) + 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) + +Help on function dbg_get_name in module ida_idd: + +dbg_get_name(*args) + dbg_get_name() -> PyObject * + + + This function returns the current debugger's name. + @return: Debugger name or None if no debugger is active + +Help on function dbg_get_registers in module ida_idd: + +dbg_get_registers(*args) + 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) + +Help on function dbg_get_thread_sreg_base in module ida_idd: + +dbg_get_thread_sreg_base(*args) + 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 + +Help on function dbg_read_memory in module ida_idd: + +dbg_read_memory(*args) + dbg_read_memory(ea, sz) -> PyObject * + + + Reads from the debugee's memory at the specified ea + @return: + - The read buffer (as a string) + - Or None on failure + +Help on function dbg_write_memory in module ida_idd: + +dbg_write_memory(*args) + dbg_write_memory(ea, buf) -> PyObject * + + + Writes a buffer to the debugee's memory + @return: Boolean + +Help on class debapp_attrs_t in module ida_idd: + +class debapp_attrs_t(__builtin__.object) + | Proxy of C++ debapp_attrs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> debapp_attrs_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | addrsize + | debapp_attrs_t_addrsize_get(self) -> int + | + | cbsize + | debapp_attrs_t_cbsize_get(self) -> int32 + | + | is_be + | debapp_attrs_t_is_be_get(self) -> int + | + | platform + | debapp_attrs_t_platform_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_debapp_attrs_t(self) + +Help on class debug_event_t in module ida_idd: + +class debug_event_t(__builtin__.object) + | Proxy of C++ debug_event_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> debug_event_t + | __init__(self, r) -> debug_event_t + | + | __repr__ = _swig_repr(self) + | + | bpt(self, *args) + | bpt(self) -> bptaddr_t + | bpt(self) -> bptaddr_t + | + | bpt_ea(self, *args) + | bpt_ea(self) -> ea_t + | + | clear(self, *args) + | clear(self) + | + | clear_all(self, *args) + | clear_all(self) + | + | copy(self, *args) + | copy(self, r) -> debug_event_t + | + | eid(self, *args) + | eid(self) -> event_id_t + | + | exc(self, *args) + | exc(self) -> excinfo_t + | exc(self) -> excinfo_t + | + | exit_code(self, *args) + | exit_code(self) -> int const & + | + | info(self, *args) + | info(self) -> qstring + | info(self) -> qstring const & + | + | modinfo(self, *args) + | modinfo(self) -> modinfo_t + | modinfo(self) -> modinfo_t + | + | set_bpt(self, *args) + | set_bpt(self) -> bptaddr_t + | + | set_eid(self, *args) + | set_eid(self, id) + | + | set_exception(self, *args) + | set_exception(self) -> excinfo_t + | + | set_exit_code(self, *args) + | set_exit_code(self, id, code) + | + | set_info(self, *args) + | set_info(self, id) -> qstring & + | + | set_modinfo(self, *args) + | set_modinfo(self, id) -> modinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | debug_event_t_ea_get(self) -> ea_t + | + | handled + | debug_event_t_handled_get(self) -> bool + | + | pid + | debug_event_t_pid_get(self) -> pid_t + | + | thisown + | The membership flag + | + | tid + | debug_event_t_tid_get(self) -> thid_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_debug_event_t(self) + +Help on class exception_info_t in module ida_idd: + +class exception_info_t(__builtin__.object) + | Proxy of C++ exception_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> exception_info_t + | __init__(self, _code, _flags, _name, _desc) -> exception_info_t + | + | __repr__ = _swig_repr(self) + | + | break_on(self, *args) + | break_on(self) -> bool + | + | handle(self, *args) + | handle(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | exception_info_t_code_get(self) -> uint + | + | desc + | exception_info_t_desc_get(self) -> qstring * + | + | flags + | exception_info_t_flags_get(self) -> uint32 + | + | name + | exception_info_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_exception_info_t(self) + +Help on class excinfo_t in module ida_idd: + +class excinfo_t(__builtin__.object) + | Proxy of C++ excinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> excinfo_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | can_cont + | excinfo_t_can_cont_get(self) -> bool + | + | code + | excinfo_t_code_get(self) -> uint32 + | + | ea + | excinfo_t_ea_get(self) -> ea_t + | + | info + | excinfo_t_info_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_excinfo_t(self) + +Help on class excvec_t in module ida_idd: + +class excvec_t(__builtin__.object) + | Proxy of C++ qvector< exception_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> exception_info_t + | + | __init__(self, *args) + | __init__(self) -> excvec_t + | __init__(self, x) -> excvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> exception_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> exception_info_t + | begin(self) -> exception_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> exception_info_t + | end(self) -> exception_info_t + | + | erase(self, *args) + | erase(self, it) -> exception_info_t + | erase(self, first, last) -> exception_info_t + | + | extract(self, *args) + | extract(self) -> exception_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=exception_info_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> exception_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> exception_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_excvec_t(self) + +Help on function get_event_bpt_hea in module ida_idd: + +get_event_bpt_hea(*args) + get_event_bpt_hea(ev) -> ea_t + +Help on function get_event_exc_code in module ida_idd: + +get_event_exc_code(*args) + get_event_exc_code(ev) -> uint + +Help on function get_event_exc_ea in module ida_idd: + +get_event_exc_ea(*args) + get_event_exc_ea(ev) -> ea_t + +Help on function get_event_exc_info in module ida_idd: + +get_event_exc_info(*args) + get_event_exc_info(ev) -> str + +Help on function get_event_info in module ida_idd: + +get_event_info(*args) + get_event_info(ev) -> str + +Help on function get_event_module_base in module ida_idd: + +get_event_module_base(*args) + get_event_module_base(ev) -> ea_t + +Help on function get_event_module_name in module ida_idd: + +get_event_module_name(*args) + get_event_module_name(ev) -> str + +Help on function get_event_module_size in module ida_idd: + +get_event_module_size(*args) + get_event_module_size(ev) -> asize_t + +Help on class meminfo_vec_t in module ida_idd: + +class meminfo_vec_t(__builtin__.object) + | Proxy of C++ qvector< memory_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> memory_info_t + | + | __init__(self, *args) + | __init__(self) -> meminfo_vec_t + | __init__(self, x) -> meminfo_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> memory_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> memory_info_t + | begin(self) -> memory_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> memory_info_t + | end(self) -> memory_info_t + | + | erase(self, *args) + | erase(self, it) -> memory_info_t + | erase(self, first, last) -> memory_info_t + | + | extract(self, *args) + | extract(self) -> memory_info_t + | + | find(self, *args) + | find(self, x) -> memory_info_t + | find(self, x) -> memory_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=memory_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> memory_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> memory_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_meminfo_vec_t(self) + +Help on class memory_info_t in module ida_idd: + +class memory_info_t(ida_range.range_t) + | Proxy of C++ memory_info_t class. + | + | Method resolution order: + | memory_info_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> memory_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bitness + | memory_info_t_bitness_get(self) -> uchar + | + | name + | memory_info_t_name_get(self) -> qstring * + | + | perm + | memory_info_t_perm_get(self) -> uchar + | + | sbase + | memory_info_t_sbase_get(self) -> ea_t + | + | sclass + | memory_info_t_sclass_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_memory_info_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on class modinfo_t in module ida_idd: + +class modinfo_t(__builtin__.object) + | Proxy of C++ modinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> modinfo_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | modinfo_t_base_get(self) -> ea_t + | + | name + | modinfo_t_name_get(self) -> qstring * + | + | rebase_to + | modinfo_t_rebase_to_get(self) -> ea_t + | + | size + | modinfo_t_size_get(self) -> asize_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_modinfo_t(self) + +Help on class process_info_t in module ida_idd: + +class process_info_t(__builtin__.object) + | Proxy of C++ process_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> process_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | process_info_t_name_get(self) -> qstring * + | + | pid + | process_info_t_pid_get(self) -> pid_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_process_info_t(self) + +Help on class procinfo_vec_t in module ida_idd: + +class procinfo_vec_t(__builtin__.object) + | Proxy of C++ qvector< process_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> process_info_t + | + | __init__(self, *args) + | __init__(self) -> procinfo_vec_t + | __init__(self, x) -> procinfo_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> process_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> process_info_t + | begin(self) -> process_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> process_info_t + | end(self) -> process_info_t + | + | erase(self, *args) + | erase(self, it) -> process_info_t + | erase(self, first, last) -> process_info_t + | + | extract(self, *args) + | extract(self) -> process_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=process_info_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> process_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> process_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_procinfo_vec_t(self) + +Help on class register_info_t in module ida_idd: + +class register_info_t(__builtin__.object) + | Proxy of C++ register_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> register_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bit_strings + | register_info_t_bit_strings_get(self) -> char const *const * + | + | default_bit_strings_mask + | register_info_t_default_bit_strings_mask_get(self) -> uval_t + | + | dtype + | register_info_t_dtype_get(self) -> op_dtype_t + | + | flags + | register_info_t_flags_get(self) -> uint32 + | + | name + | register_info_t_name_get(self) -> char const * + | + | register_class + | register_info_t_register_class_get(self) -> register_class_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_register_info_t(self) + +Help on class regval_t in module ida_idd: + +class regval_t(__builtin__.object) + | Proxy of C++ regval_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> regval_t + | __init__(self, r) -> regval_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | bytes(self, *args) + | bytes(self) -> bytevec_t + | bytes(self) -> bytevec_t const & + | + | clear(self, *args) + | clear(self) + | + | get_data(self, *args) + | get_data(self) + | get_data(self) -> void const * + | + | get_data_size(self, *args) + | get_data_size(self) -> size_t + | + | set_bytes(self, *args) + | set_bytes(self, data, size) + | set_bytes(self, v) + | set_bytes(self) -> bytevec_t & + | + | set_float(self, *args) + | set_float(self, x) + | + | set_int(self, *args) + | set_int(self, x) + | + | set_unavailable(self, *args) + | set_unavailable(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fval + | regval_t_fval_get(self) -> uint16 [6] + | + | ival + | regval_t_ival_get(self) -> uint64 + | + | rvtype + | regval_t_rvtype_get(self) -> int32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regval_t(self) + +Help on class scattered_segm_t in module ida_idd: + +class scattered_segm_t(ida_range.range_t) + | Proxy of C++ scattered_segm_t class. + | + | Method resolution order: + | scattered_segm_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> scattered_segm_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | name + | scattered_segm_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_scattered_segm_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on function set_debug_event_code in module ida_idd: + +set_debug_event_code(*args) + set_debug_event_code(ev, id) + +Help on class thread_name_t in module ida_idd: + +class thread_name_t(__builtin__.object) + | Proxy of C++ thread_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> thread_name_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | thread_name_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tid + | thread_name_t_tid_get(self) -> thid_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_thread_name_t(self) + +=== ida_idd EPYDOC INJECTIONS === +ida_idd.EXC_BREAK +""" +break on the exception +""" + +ida_idd.EXC_HANDLE +""" +should be handled by the debugger? +""" + +ida_idd.EXC_MSG +""" +instead of a warning, log the exception to the output window +""" + +ida_idd.EXC_SILENT +""" +do not warn or log to the output window +""" + +ida_idd.IDD_INTERFACE_VERSION +""" +The IDD interface version number. +""" + +ida_idd.NO_PROCESS +""" +No process. +""" + +ida_idd.NO_THREAD +""" +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. +""" + +ida_idd.REGISTER_ADDRESS +""" +may contain an address +""" + +ida_idd.REGISTER_CS +""" +code segment +""" + +ida_idd.REGISTER_CUSTFMT +""" +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' +""" + +ida_idd.REGISTER_FP +""" +frame pointer +""" + +ida_idd.REGISTER_IP +""" +instruction pointer +""" + +ida_idd.REGISTER_NOLF +""" +allowing the next register to be displayed to its right (on the same +line) + +displays this register without returning to the next line +""" + +ida_idd.REGISTER_READONLY +""" +the user can't modify the current value of this register +""" + +ida_idd.REGISTER_SP +""" +stack pointer +""" + +ida_idd.REGISTER_SS +""" +stack segment +""" + +ida_idd.RVT_FLOAT +""" +floating point +""" + +ida_idd.RVT_INT +""" +integer +""" + +ida_idd.RVT_UNAVAILABLE +""" +other values mean custom data type + +unavailable +""" +=== ida_idd EPYDOC INJECTIONS END === +Help on function AssembleLine in module ida_idp: + +AssembleLine(*args) + AssembleLine(ea, cs, ip, use32, nonnul_line) -> PyObject * + + + 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 line: line to assemble + @return: + - None on failure + - or a string containing the assembled instruction + +Help on class IDB_Hooks in module ida_idp: + +class IDB_Hooks(__builtin__.object) + | Proxy of C++ IDB_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> IDB_Hooks + | + | __repr__ = _swig_repr(self) + | + | allsegs_moved(self, *args) + | allsegs_moved(self, info) + | + | auto_empty(self, *args) + | auto_empty(self) + | + | auto_empty_finally(self, *args) + | auto_empty_finally(self) + | + | bookmark_changed(self, *args) + | bookmark_changed(self, index, pos, desc) + | + | byte_patched(self, *args) + | byte_patched(self, ea, old_value) + | + | callee_addr_changed(self, *args) + | callee_addr_changed(self, ea, callee) + | + | changing_cmt(self, *args) + | changing_cmt(self, ea, repeatable_cmt, newcmt) + | + | changing_enum_bf(self, *args) + | changing_enum_bf(self, id, new_bf) + | + | changing_enum_cmt(self, *args) + | changing_enum_cmt(self, id, repeatable, newcmt) + | + | changing_op_ti(self, *args) + | changing_op_ti(self, ea, n, new_type, new_fnames) + | + | changing_op_type(self, *args) + | changing_op_type(self, ea, n, opinfo) + | + | changing_range_cmt(self, *args) + | changing_range_cmt(self, kind, a, cmt, repeatable) + | + | changing_segm_class(self, *args) + | changing_segm_class(self, s) + | + | changing_segm_end(self, *args) + | changing_segm_end(self, s, new_end, segmod_flags) + | + | changing_segm_name(self, *args) + | changing_segm_name(self, s, oldname) + | + | changing_segm_start(self, *args) + | changing_segm_start(self, s, new_start, segmod_flags) + | + | changing_struc_align(self, *args) + | changing_struc_align(self, sptr) + | + | changing_struc_cmt(self, *args) + | changing_struc_cmt(self, struc_id, repeatable, newcmt) + | + | changing_struc_member(self, *args) + | changing_struc_member(self, sptr, mptr, flag, ti, nbytes) + | + | changing_ti(self, *args) + | changing_ti(self, ea, new_type, new_fnames) + | + | closebase(self, *args) + | closebase(self) + | + | cmt_changed(self, *args) + | cmt_changed(self, ea, repeatable_cmt) + | + | compiler_changed(self, *args) + | compiler_changed(self) + | + | deleting_enum(self, *args) + | deleting_enum(self, id) + | + | deleting_enum_member(self, *args) + | deleting_enum_member(self, id, cid) + | + | deleting_func(self, *args) + | deleting_func(self, pfn) + | + | deleting_func_tail(self, *args) + | deleting_func_tail(self, pfn, tail) + | + | deleting_segm(self, *args) + | deleting_segm(self, start_ea) + | + | deleting_struc(self, *args) + | deleting_struc(self, sptr) + | + | deleting_struc_member(self, *args) + | deleting_struc_member(self, sptr, mptr) + | + | deleting_tryblks(self, *args) + | deleting_tryblks(self, range) + | + | destroyed_items(self, *args) + | destroyed_items(self, ea1, ea2, will_disable_range) + | + | determined_main(self, *args) + | determined_main(self, main) + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | enum_bf_changed(self, *args) + | enum_bf_changed(self, id) + | + | enum_cmt_changed(self, *args) + | enum_cmt_changed(self, id, repeatable) + | + | enum_created(self, *args) + | enum_created(self, id) + | + | enum_deleted(self, *args) + | enum_deleted(self, id) + | + | enum_member_created(self, *args) + | enum_member_created(self, id, cid) + | + | enum_member_deleted(self, *args) + | enum_member_deleted(self, id, cid) + | + | enum_renamed(self, *args) + | enum_renamed(self, id) + | + | expanding_struc(self, *args) + | expanding_struc(self, sptr, offset, delta) + | + | extlang_changed(self, *args) + | extlang_changed(self, kind, el, idx) + | + | extra_cmt_changed(self, *args) + | extra_cmt_changed(self, ea, line_idx, cmt) + | + | flow_chart_created(self, *args) + | flow_chart_created(self, fc) + | + | frame_deleted(self, *args) + | frame_deleted(self, pfn) + | + | func_added(self, *args) + | func_added(self, pfn) + | + | func_noret_changed(self, *args) + | func_noret_changed(self, pfn) + | + | func_tail_appended(self, *args) + | func_tail_appended(self, pfn, tail) + | + | func_tail_deleted(self, *args) + | func_tail_deleted(self, pfn, tail_ea) + | + | func_updated(self, *args) + | func_updated(self, pfn) + | + | hook(self, *args) + | hook(self) -> bool + | + | idasgn_loaded(self, *args) + | idasgn_loaded(self, short_sig_name) + | + | item_color_changed(self, *args) + | item_color_changed(self, ea, color) + | + | kernel_config_loaded(self, *args) + | kernel_config_loaded(self) + | + | loader_finished(self, *args) + | loader_finished(self, li, neflags, filetypename) + | + | local_types_changed(self, *args) + | local_types_changed(self) + | + | make_code(self, *args) + | make_code(self, insn) + | + | make_data(self, *args) + | make_data(self, ea, flags, tid, len) + | + | op_ti_changed(self, *args) + | op_ti_changed(self, ea, n, type, fnames) + | + | op_type_changed(self, *args) + | op_type_changed(self, ea, n) + | + | range_cmt_changed(self, *args) + | range_cmt_changed(self, kind, a, cmt, repeatable) + | + | renamed(self, *args) + | renamed(self, ea, new_name, local_name) + | + | renaming_enum(self, *args) + | renaming_enum(self, id, is_enum, newname) + | + | renaming_struc(self, *args) + | renaming_struc(self, id, oldname, newname) + | + | renaming_struc_member(self, *args) + | renaming_struc_member(self, sptr, mptr, newname) + | + | savebase(self, *args) + | savebase(self) + | + | segm_added(self, *args) + | segm_added(self, s) + | + | segm_attrs_updated(self, *args) + | segm_attrs_updated(self, s) + | + | segm_class_changed(self, *args) + | segm_class_changed(self, s, sclass) + | + | segm_deleted(self, *args) + | segm_deleted(self, start_ea, end_ea) + | + | segm_end_changed(self, *args) + | segm_end_changed(self, s, oldend) + | + | segm_moved(self, *args) + | segm_moved(self, _from, to, size, changed_netmap) + | + | segm_name_changed(self, *args) + | segm_name_changed(self, s, name) + | + | segm_start_changed(self, *args) + | segm_start_changed(self, s, oldstart) + | + | set_func_end(self, *args) + | set_func_end(self, pfn, new_end) + | + | set_func_start(self, *args) + | set_func_start(self, pfn, new_start) + | + | sgr_changed(self, *args) + | sgr_changed(self, start_ea, end_ea, regnum, value, old_value, tag) + | + | sgr_deleted(self, *args) + | sgr_deleted(self, start_ea, end_ea, regnum) + | + | stkpnts_changed(self, *args) + | stkpnts_changed(self, pfn) + | + | struc_align_changed(self, *args) + | struc_align_changed(self, sptr) + | + | struc_cmt_changed(self, *args) + | struc_cmt_changed(self, struc_id, repeatable_cmt) + | + | struc_created(self, *args) + | struc_created(self, struc_id) + | + | struc_deleted(self, *args) + | struc_deleted(self, struc_id) + | + | struc_expanded(self, *args) + | struc_expanded(self, sptr) + | + | struc_member_changed(self, *args) + | struc_member_changed(self, sptr, mptr) + | + | struc_member_created(self, *args) + | struc_member_created(self, sptr, mptr) + | + | struc_member_deleted(self, *args) + | struc_member_deleted(self, sptr, member_id, offset) + | + | struc_member_renamed(self, *args) + | struc_member_renamed(self, sptr, mptr) + | + | struc_renamed(self, *args) + | struc_renamed(self, sptr) + | + | tail_owner_changed(self, *args) + | tail_owner_changed(self, tail, owner_func, old_owner) + | + | thunk_func_created(self, *args) + | thunk_func_created(self, pfn) + | + | ti_changed(self, *args) + | ti_changed(self, ea, type, fnames) + | + | tryblks_updated(self, *args) + | tryblks_updated(self, tbv) + | + | unhook(self, *args) + | unhook(self) -> bool + | + | updating_tryblks(self, *args) + | updating_tryblks(self, tbv) + | + | upgraded(self, *args) + | upgraded(self, _from) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_IDB_Hooks(self) + +Help on class IDP_Hooks in module ida_idp: + +class IDP_Hooks(__builtin__.object) + | Proxy of C++ IDP_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> IDP_Hooks + | + | __repr__ = _swig_repr(self) + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | ev_add_cref(self, *args) + | ev_add_cref(self, _from, to, type) -> int + | + | ev_add_dref(self, *args) + | ev_add_dref(self, _from, to, type) -> int + | + | ev_adjust_argloc(self, *args) + | ev_adjust_argloc(self, argloc, optional_type, size) -> int + | + | ev_adjust_libfunc_ea(self, *args) + | ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int + | + | ev_adjust_refinfo(self, *args) + | ev_adjust_refinfo(self, ri, ea, n, fd) -> int + | + | ev_ana_insn(self, *args) + | ev_ana_insn(self, out) -> bool + | + | + | Analyzes and decodes an instruction at insn.ea + | - insn.itype must be set >= idaapi.CUSTOM_CMD_ITYPE + | - insn.size must be set to the instruction length + | + | @return: Boolean + | - False if the instruction is not recognized + | - True if the instruction was decoded. 'insn' should be filled in that case. + | + | ev_analyze_prolog(self, *args) + | ev_analyze_prolog(self, ea) -> int + | + | ev_arg_addrs_ready(self, *args) + | ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int + | + | ev_assemble(self, *args) + | ev_assemble(self, ea, cs, ip, use32, line) -> PyObject * + | + | + | Assembles an instruction + | + | @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: - None to let the underlying processor module assemble the line + | - or a string containing the assembled buffer + | + | ev_auto_queue_empty(self, *args) + | ev_auto_queue_empty(self, type) + | + | ev_calc_arglocs(self, *args) + | ev_calc_arglocs(self, fti) -> int + | + | ev_calc_cdecl_purged_bytes(self, *args) + | ev_calc_cdecl_purged_bytes(self, ea) -> int + | + | ev_calc_next_eas(self, *args) + | ev_calc_next_eas(self, res, insn, over) -> int + | + | ev_calc_purged_bytes(self, *args) + | ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int + | + | ev_calc_retloc(self, *args) + | ev_calc_retloc(self, retloc, rettype, cc) -> int + | + | ev_calc_spdelta(self, *args) + | ev_calc_spdelta(self, spdelta, insn) -> int + | + | ev_calc_step_over(self, *args) + | ev_calc_step_over(self, target, ip) -> int + | + | ev_calc_switch_cases(self, *args) + | ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int + | + | ev_calc_varglocs(self, *args) + | ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int + | + | ev_calcrel(self, *args) + | ev_calcrel(self) -> int + | + | ev_can_have_type(self, *args) + | ev_can_have_type(self, op) -> int + | + | ev_clean_tbit(self, *args) + | ev_clean_tbit(self, ea, getreg, regvalues) -> int + | + | ev_cmp_operands(self, *args) + | ev_cmp_operands(self, op1, op2) -> int + | + | ev_coagulate(self, *args) + | ev_coagulate(self, start_ea) -> int + | + | ev_coagulate_dref(self, *args) + | ev_coagulate_dref(self, _from, to, may_define, code_ea) -> int + | + | ev_create_flat_group(self, *args) + | ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int + | + | ev_create_func_frame(self, *args) + | ev_create_func_frame(self, pfn) -> int + | + | ev_create_switch_xrefs(self, *args) + | ev_create_switch_xrefs(self, jumpea, si) -> int + | + | ev_creating_segm(self, *args) + | ev_creating_segm(self, seg) -> int + | + | ev_decorate_name(self, *args) + | ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * + | + | ev_del_cref(self, *args) + | ev_del_cref(self, _from, to, expand) -> int + | + | ev_del_dref(self, *args) + | ev_del_dref(self, _from, to) -> int + | + | ev_delay_slot_insn(self, *args) + | ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * + | + | ev_demangle_name(self, *args) + | ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * + | + | ev_emu_insn(self, *args) + | 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. + | + | @return: Boolean (whether this instruction has been emulated or not) + | + | ev_endbinary(self, *args) + | ev_endbinary(self, ok) -> int + | + | ev_ending_undo(self, *args) + | ev_ending_undo(self, action_name, is_undo) -> int + | + | ev_equal_reglocs(self, *args) + | ev_equal_reglocs(self, a1, a2) -> int + | + | ev_extract_address(self, *args) + | ev_extract_address(self, out_ea, screen_ea, string, position) -> int + | + | ev_find_op_value(self, *args) + | ev_find_op_value(self, pinsn, opn) -> PyObject * + | + | ev_find_reg_value(self, *args) + | ev_find_reg_value(self, pinsn, reg) -> PyObject * + | + | ev_func_bounds(self, *args) + | ev_func_bounds(self, possible_return_code, pfn, max_func_end_ea) + | + | ev_gen_asm_or_lst(self, *args) + | ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) + | + | ev_gen_map_file(self, *args) + | ev_gen_map_file(self, nlines, fp) -> int + | + | ev_gen_regvar_def(self, *args) + | ev_gen_regvar_def(self, outctx, v) -> int + | + | ev_gen_src_file_lnnum(self, *args) + | ev_gen_src_file_lnnum(self, outctx, file, lnnum) -> int + | + | ev_gen_stkvar_def(self, *args) + | ev_gen_stkvar_def(self, outctx, mptr, v) -> int + | + | ev_get_abi_info(self, *args) + | ev_get_abi_info(self, abi_names, abi_opts, comp) -> int + | + | ev_get_autocmt(self, *args) + | ev_get_autocmt(self, insn) -> PyObject * + | + | ev_get_bg_color(self, *args) + | ev_get_bg_color(self, ea) -> int or None + | + | ev_get_cc_regs(self, *args) + | ev_get_cc_regs(self, regs, cc) -> int + | + | ev_get_code16_mode(self, *args) + | ev_get_code16_mode(self, ea) -> int + | + | ev_get_dbr_opnum(self, *args) + | ev_get_dbr_opnum(self, opnum, insn) -> int + | + | ev_get_default_enum_size(self, *args) + | ev_get_default_enum_size(self, cm) -> int + | + | ev_get_frame_retsize(self, *args) + | ev_get_frame_retsize(self, frsize, pfn) -> int + | + | ev_get_macro_insn_head(self, *args) + | ev_get_macro_insn_head(self, head, ip) -> int + | + | ev_get_operand_string(self, *args) + | ev_get_operand_string(self, insn, opnum) -> PyObject * + | + | ev_get_reg_info(self, *args) + | ev_get_reg_info(self, main_regname, bitrange, regname) -> int + | + | ev_get_reg_name(self, *args) + | ev_get_reg_name(self, reg, width, reghi) -> PyObject * + | + | ev_get_simd_types(self, *args) + | ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int + | + | ev_get_stkarg_offset(self, *args) + | ev_get_stkarg_offset(self) -> int + | + | ev_get_stkvar_scale_factor(self, *args) + | ev_get_stkvar_scale_factor(self) -> int + | + | ev_getreg(self, *args) + | ev_getreg(self, regval, regnum) -> int + | + | ev_init(self, *args) + | ev_init(self, idp_modname) -> int + | + | ev_insn_reads_tbit(self, *args) + | ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int + | + | ev_is_align_insn(self, *args) + | ev_is_align_insn(self, ea) -> int + | + | ev_is_alloca_probe(self, *args) + | ev_is_alloca_probe(self, ea) -> int + | + | ev_is_basic_block_end(self, *args) + | ev_is_basic_block_end(self, insn, call_insn_stops_block) -> int + | + | ev_is_call_insn(self, *args) + | ev_is_call_insn(self, insn) -> int + | + | + | Is the instruction a "call"? + | + | @param insn: instruction + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_cond_insn(self, *args) + | ev_is_cond_insn(self, insn) -> int + | + | ev_is_far_jump(self, *args) + | ev_is_far_jump(self, icode) -> int + | + | ev_is_indirect_jump(self, *args) + | ev_is_indirect_jump(self, insn) -> int + | + | ev_is_insn_table_jump(self, *args) + | ev_is_insn_table_jump(self, insn) -> int + | + | ev_is_jump_func(self, *args) + | ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int + | + | ev_is_ret_insn(self, *args) + | ev_is_ret_insn(self, insn, strict) -> int + | + | + | Is the instruction a "return"? + | + | @param insn: instruction + | @param strict: - True: report only ret instructions + | False: include instructions like "leave" which begins the function epilog + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_sane_insn(self, *args) + | ev_is_sane_insn(self, insn, no_crefs) -> int + | + | + | is the instruction sane for the current file type? + | @param insn: the instruction + | @param no_crefs: + | - 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. + | @return: >=0-ok, <0-no, the instruction isn't likely to appear in the program + | + | ev_is_sp_based(self, *args) + | ev_is_sp_based(self, mode, insn, op) -> int + | + | ev_is_switch(self, *args) + | ev_is_switch(self, si, insn) -> int + | + | ev_last_cb_before_loader(self, *args) + | ev_last_cb_before_loader(self) -> int + | + | ev_loader(self, *args) + | ev_loader(self) -> int + | + | ev_lower_func_type(self, *args) + | ev_lower_func_type(self, argnums, fti) -> int + | + | ev_max_ptr_size(self, *args) + | ev_max_ptr_size(self) -> int + | + | ev_may_be_func(self, *args) + | ev_may_be_func(self, insn, state) -> int + | + | + | Can a function start here? + | @param insn: the instruction + | @param state: autoanalysis phase + | 0: creating functions + | 1: creating chunks + | + | @return: integer (probability 0..100) + | + | ev_may_show_sreg(self, *args) + | ev_may_show_sreg(self, current_ea) -> int + | + | ev_moving_segm(self, *args) + | ev_moving_segm(self, seg, to, flags) -> int + | + | ev_newasm(self, *args) + | ev_newasm(self, asmnum) -> int + | + | ev_newbinary(self, *args) + | ev_newbinary(self, filename, fileoff, basepara, binoff, nbytes) -> int + | + | ev_newfile(self, *args) + | ev_newfile(self, fname) -> int + | + | ev_newprc(self, *args) + | ev_newprc(self, pnum, keep_cfg) -> int + | + | ev_next_exec_insn(self, *args) + | ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int + | + | ev_oldfile(self, *args) + | ev_oldfile(self, fname) -> int + | + | ev_out_assumes(self, *args) + | ev_out_assumes(self, outctx) -> int + | + | ev_out_data(self, *args) + | ev_out_data(self, outctx, analyze_only) -> int + | + | ev_out_footer(self, *args) + | ev_out_footer(self, outctx) + | + | ev_out_header(self, *args) + | ev_out_header(self, outctx) + | + | ev_out_insn(self, *args) + | ev_out_insn(self, outctx) -> bool + | + | + | Outputs the instruction defined in 'ctx.insn' + | + | @return: Boolean (whether this instruction can be outputted or not) + | + | ev_out_label(self, *args) + | ev_out_label(self, outctx, colored_name) -> int + | + | ev_out_mnem(self, *args) + | ev_out_mnem(self, outctx) -> int + | + | ev_out_operand(self, *args) + | ev_out_operand(self, outctx, op) -> bool + | + | + | Notification to generate operand text. + | If False was returned, then the standard operand output function will be called. + | + | this notification may use out_...() functions to form the operand text + | + | @return: Boolean (whether the operand has been outputted or not) + | + | ev_out_segend(self, *args) + | ev_out_segend(self, outctx, seg) -> int + | + | ev_out_segstart(self, *args) + | ev_out_segstart(self, outctx, seg) -> int + | + | ev_out_special_item(self, *args) + | ev_out_special_item(self, outctx, segtype) -> int + | + | ev_realcvt(self, *args) + | ev_realcvt(self, m, e, swt) -> int + | + | ev_rename(self, *args) + | ev_rename(self, ea, new_name) -> int + | + | + | The kernel is going to rename a byte. + | + | @param ea: Address + | @param new_name: The new name + | + | @return: + | - If returns value <0, then the kernel should + | not rename it. See also the 'renamed' event + | + | ev_replaying_undo(self, *args) + | ev_replaying_undo(self, action_name, vec, is_undo) -> int + | + | ev_set_code16_mode(self, *args) + | ev_set_code16_mode(self, ea, code16) -> int + | + | ev_set_idp_options(self, *args) + | ev_set_idp_options(self, keyword, value_type, value, errbuf, idb_loaded) -> int + | + | ev_set_proc_options(self, *args) + | ev_set_proc_options(self, options, confidence) -> int + | + | ev_setup_til(self, *args) + | ev_setup_til(self) + | + | ev_shadow_args_size(self, *args) + | ev_shadow_args_size(self, shadow_args_size, pfn) -> int + | + | ev_str2reg(self, *args) + | ev_str2reg(self, regname) -> int + | + | ev_term(self, *args) + | ev_term(self) -> int + | + | ev_treat_hindering_item(self, *args) + | ev_treat_hindering_item(self, hindering_item_ea, new_item_flags, new_item_ea, new_item_length) -> int + | + | ev_undefine(self, *args) + | ev_undefine(self, ea) -> int + | + | + | An item in the database (insn or data) is being deleted + | @param ea: Address + | @return: + | - 1 - do not delete srranges at the item end + | - 0 - srranges can be deleted + | + | ev_use_arg_types(self, *args) + | ev_use_arg_types(self, ea, fti, rargs) -> int + | + | ev_use_regarg_type(self, *args) + | ev_use_regarg_type(self, ea, rargs) -> PyObject * + | + | ev_use_stkarg_type(self, *args) + | ev_use_stkarg_type(self, ea, arg) -> int + | + | ev_validate_flirt_func(self, *args) + | ev_validate_flirt_func(self, start_ea, funcname) -> int + | + | ev_verify_noreturn(self, *args) + | ev_verify_noreturn(self, pfn) -> int + | + | ev_verify_sp(self, *args) + | ev_verify_sp(self, pfn) -> int + | + | hook(self, *args) + | hook(self) -> bool + | + | + | Creates an IDP hook + | + | @return: Boolean true on success + | + | unhook(self, *args) + | unhook(self) -> bool + | + | + | Removes the IDP hook + | @return: Boolean true on success + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_IDP_Hooks(self) + +Help on class __ph in module ida_idp: + +class __ph(__builtin__.object) + | # ---------------------------------------------------------------------- + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cnbits + | + | dnbits + | + | flag + | + | icode_return + | + | id + | + | instruc + | + | instruc_end + | + | instruc_start + | + | reg_code_sreg + | + | reg_data_sreg + | + | reg_first_sreg + | + | reg_last_sreg + | + | regnames + | + | segreg_size + | + | tbyte_size + | + | version + +Help on class _notify_when_dispatcher_t in module ida_idp: + +class _notify_when_dispatcher_t + | Methods defined here: + | + | __init__(self) + | + | _find(self, fun) + | + | dispatch(self, slot, *args) + | + | notify_when(self, when, fun) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _IDB_Hooks = + | + | + | _IDP_Hooks = + | + | + | _callback_t = + +Help on class _processor_t_Trampoline_IDB_Hooks in module ida_idp: + +class _processor_t_Trampoline_IDB_Hooks(IDB_Hooks) + | Method resolution order: + | _processor_t_Trampoline_IDB_Hooks + | IDB_Hooks + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, proc) + | + | _processor_t_Trampoline_IDB_Hooks__dummy = __dummy(self, *args) + | + | _processor_t_Trampoline_IDB_Hooks__make_parent_caller = __make_parent_caller(self, key) + | + | ---------------------------------------------------------------------- + | Methods inherited from IDB_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | allsegs_moved(self, *args) + | allsegs_moved(self, info) + | + | auto_empty(self, *args) + | auto_empty(self) + | + | auto_empty_finally(self, *args) + | auto_empty_finally(self) + | + | bookmark_changed(self, *args) + | bookmark_changed(self, index, pos, desc) + | + | byte_patched(self, *args) + | byte_patched(self, ea, old_value) + | + | callee_addr_changed(self, *args) + | callee_addr_changed(self, ea, callee) + | + | changing_cmt(self, *args) + | changing_cmt(self, ea, repeatable_cmt, newcmt) + | + | changing_enum_bf(self, *args) + | changing_enum_bf(self, id, new_bf) + | + | changing_enum_cmt(self, *args) + | changing_enum_cmt(self, id, repeatable, newcmt) + | + | changing_op_ti(self, *args) + | changing_op_ti(self, ea, n, new_type, new_fnames) + | + | changing_op_type(self, *args) + | changing_op_type(self, ea, n, opinfo) + | + | changing_range_cmt(self, *args) + | changing_range_cmt(self, kind, a, cmt, repeatable) + | + | changing_segm_class(self, *args) + | changing_segm_class(self, s) + | + | changing_segm_end(self, *args) + | changing_segm_end(self, s, new_end, segmod_flags) + | + | changing_segm_name(self, *args) + | changing_segm_name(self, s, oldname) + | + | changing_segm_start(self, *args) + | changing_segm_start(self, s, new_start, segmod_flags) + | + | changing_struc_align(self, *args) + | changing_struc_align(self, sptr) + | + | changing_struc_cmt(self, *args) + | changing_struc_cmt(self, struc_id, repeatable, newcmt) + | + | changing_struc_member(self, *args) + | changing_struc_member(self, sptr, mptr, flag, ti, nbytes) + | + | changing_ti(self, *args) + | changing_ti(self, ea, new_type, new_fnames) + | + | closebase(self, *args) + | closebase(self) + | + | cmt_changed(self, *args) + | cmt_changed(self, ea, repeatable_cmt) + | + | compiler_changed(self, *args) + | compiler_changed(self) + | + | deleting_enum(self, *args) + | deleting_enum(self, id) + | + | deleting_enum_member(self, *args) + | deleting_enum_member(self, id, cid) + | + | deleting_func(self, *args) + | deleting_func(self, pfn) + | + | deleting_func_tail(self, *args) + | deleting_func_tail(self, pfn, tail) + | + | deleting_segm(self, *args) + | deleting_segm(self, start_ea) + | + | deleting_struc(self, *args) + | deleting_struc(self, sptr) + | + | deleting_struc_member(self, *args) + | deleting_struc_member(self, sptr, mptr) + | + | deleting_tryblks(self, *args) + | deleting_tryblks(self, range) + | + | destroyed_items(self, *args) + | destroyed_items(self, ea1, ea2, will_disable_range) + | + | determined_main(self, *args) + | determined_main(self, main) + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | enum_bf_changed(self, *args) + | enum_bf_changed(self, id) + | + | enum_cmt_changed(self, *args) + | enum_cmt_changed(self, id, repeatable) + | + | enum_created(self, *args) + | enum_created(self, id) + | + | enum_deleted(self, *args) + | enum_deleted(self, id) + | + | enum_member_created(self, *args) + | enum_member_created(self, id, cid) + | + | enum_member_deleted(self, *args) + | enum_member_deleted(self, id, cid) + | + | enum_renamed(self, *args) + | enum_renamed(self, id) + | + | expanding_struc(self, *args) + | expanding_struc(self, sptr, offset, delta) + | + | extlang_changed(self, *args) + | extlang_changed(self, kind, el, idx) + | + | extra_cmt_changed(self, *args) + | extra_cmt_changed(self, ea, line_idx, cmt) + | + | flow_chart_created(self, *args) + | flow_chart_created(self, fc) + | + | frame_deleted(self, *args) + | frame_deleted(self, pfn) + | + | func_added(self, *args) + | func_added(self, pfn) + | + | func_noret_changed(self, *args) + | func_noret_changed(self, pfn) + | + | func_tail_appended(self, *args) + | func_tail_appended(self, pfn, tail) + | + | func_tail_deleted(self, *args) + | func_tail_deleted(self, pfn, tail_ea) + | + | func_updated(self, *args) + | func_updated(self, pfn) + | + | hook(self, *args) + | hook(self) -> bool + | + | idasgn_loaded(self, *args) + | idasgn_loaded(self, short_sig_name) + | + | item_color_changed(self, *args) + | item_color_changed(self, ea, color) + | + | kernel_config_loaded(self, *args) + | kernel_config_loaded(self) + | + | loader_finished(self, *args) + | loader_finished(self, li, neflags, filetypename) + | + | local_types_changed(self, *args) + | local_types_changed(self) + | + | make_code(self, *args) + | make_code(self, insn) + | + | make_data(self, *args) + | make_data(self, ea, flags, tid, len) + | + | op_ti_changed(self, *args) + | op_ti_changed(self, ea, n, type, fnames) + | + | op_type_changed(self, *args) + | op_type_changed(self, ea, n) + | + | range_cmt_changed(self, *args) + | range_cmt_changed(self, kind, a, cmt, repeatable) + | + | renamed(self, *args) + | renamed(self, ea, new_name, local_name) + | + | renaming_enum(self, *args) + | renaming_enum(self, id, is_enum, newname) + | + | renaming_struc(self, *args) + | renaming_struc(self, id, oldname, newname) + | + | renaming_struc_member(self, *args) + | renaming_struc_member(self, sptr, mptr, newname) + | + | savebase(self, *args) + | savebase(self) + | + | segm_added(self, *args) + | segm_added(self, s) + | + | segm_attrs_updated(self, *args) + | segm_attrs_updated(self, s) + | + | segm_class_changed(self, *args) + | segm_class_changed(self, s, sclass) + | + | segm_deleted(self, *args) + | segm_deleted(self, start_ea, end_ea) + | + | segm_end_changed(self, *args) + | segm_end_changed(self, s, oldend) + | + | segm_moved(self, *args) + | segm_moved(self, _from, to, size, changed_netmap) + | + | segm_name_changed(self, *args) + | segm_name_changed(self, s, name) + | + | segm_start_changed(self, *args) + | segm_start_changed(self, s, oldstart) + | + | set_func_end(self, *args) + | set_func_end(self, pfn, new_end) + | + | set_func_start(self, *args) + | set_func_start(self, pfn, new_start) + | + | sgr_changed(self, *args) + | sgr_changed(self, start_ea, end_ea, regnum, value, old_value, tag) + | + | sgr_deleted(self, *args) + | sgr_deleted(self, start_ea, end_ea, regnum) + | + | stkpnts_changed(self, *args) + | stkpnts_changed(self, pfn) + | + | struc_align_changed(self, *args) + | struc_align_changed(self, sptr) + | + | struc_cmt_changed(self, *args) + | struc_cmt_changed(self, struc_id, repeatable_cmt) + | + | struc_created(self, *args) + | struc_created(self, struc_id) + | + | struc_deleted(self, *args) + | struc_deleted(self, struc_id) + | + | struc_expanded(self, *args) + | struc_expanded(self, sptr) + | + | struc_member_changed(self, *args) + | struc_member_changed(self, sptr, mptr) + | + | struc_member_created(self, *args) + | struc_member_created(self, sptr, mptr) + | + | struc_member_deleted(self, *args) + | struc_member_deleted(self, sptr, member_id, offset) + | + | struc_member_renamed(self, *args) + | struc_member_renamed(self, sptr, mptr) + | + | struc_renamed(self, *args) + | struc_renamed(self, sptr) + | + | tail_owner_changed(self, *args) + | tail_owner_changed(self, tail, owner_func, old_owner) + | + | thunk_func_created(self, *args) + | thunk_func_created(self, pfn) + | + | ti_changed(self, *args) + | ti_changed(self, ea, type, fnames) + | + | tryblks_updated(self, *args) + | tryblks_updated(self, tbv) + | + | unhook(self, *args) + | unhook(self) -> bool + | + | updating_tryblks(self, *args) + | updating_tryblks(self, tbv) + | + | upgraded(self, *args) + | upgraded(self, _from) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from IDB_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from IDB_Hooks: + | + | __swig_destroy__ = + | delete_IDB_Hooks(self) + +Help on class asm_t in module ida_idp: + +class asm_t(__builtin__.object) + | Proxy of C++ asm_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> asm_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a_align + | asm_t_a_align_get(self) -> char const * + | + | a_ascii + | asm_t_a_ascii_get(self) -> char const * + | + | a_band + | asm_t_a_band_get(self) -> char const * + | + | a_bnot + | asm_t_a_bnot_get(self) -> char const * + | + | a_bor + | asm_t_a_bor_get(self) -> char const * + | + | a_bss + | asm_t_a_bss_get(self) -> char const * + | + | a_byte + | asm_t_a_byte_get(self) -> char const * + | + | a_comdef + | asm_t_a_comdef_get(self) -> char const * + | + | a_curip + | asm_t_a_curip_get(self) -> char const * + | + | a_double + | asm_t_a_double_get(self) -> char const * + | + | a_dups + | asm_t_a_dups_get(self) -> char const * + | + | a_dword + | asm_t_a_dword_get(self) -> char const * + | + | a_equ + | asm_t_a_equ_get(self) -> char const * + | + | a_extrn + | asm_t_a_extrn_get(self) -> char const * + | + | a_float + | asm_t_a_float_get(self) -> char const * + | + | a_include_fmt + | asm_t_a_include_fmt_get(self) -> char const * + | + | a_mod + | asm_t_a_mod_get(self) -> char const * + | + | a_oword + | asm_t_a_oword_get(self) -> char const * + | + | a_packreal + | asm_t_a_packreal_get(self) -> char const * + | + | a_public + | asm_t_a_public_get(self) -> char const * + | + | a_qword + | asm_t_a_qword_get(self) -> char const * + | + | a_rva + | asm_t_a_rva_get(self) -> char const * + | + | a_seg + | asm_t_a_seg_get(self) -> char const * + | + | a_shl + | asm_t_a_shl_get(self) -> char const * + | + | a_shr + | asm_t_a_shr_get(self) -> char const * + | + | a_sizeof_fmt + | asm_t_a_sizeof_fmt_get(self) -> char const * + | + | a_tbyte + | asm_t_a_tbyte_get(self) -> char const * + | + | a_vstruc_fmt + | asm_t_a_vstruc_fmt_get(self) -> char const * + | + | a_weak + | asm_t_a_weak_get(self) -> char const * + | + | a_word + | asm_t_a_word_get(self) -> char const * + | + | a_xor + | asm_t_a_xor_get(self) -> char const * + | + | a_yword + | asm_t_a_yword_get(self) -> char const * + | + | accsep + | asm_t_accsep_get(self) -> char + | + | ascsep + | asm_t_ascsep_get(self) -> char + | + | cmnt + | asm_t_cmnt_get(self) -> char const * + | + | cmnt2 + | asm_t_cmnt2_get(self) -> char const * + | + | end + | asm_t_end_get(self) -> char const * + | + | esccodes + | asm_t_esccodes_get(self) -> char const * + | + | flag + | asm_t_flag_get(self) -> uint32 + | + | flag2 + | asm_t_flag2_get(self) -> uint32 + | + | header + | asm_t_header_get(self) -> char const *const * + | + | help + | asm_t_help_get(self) -> help_t + | + | high16 + | asm_t_high16_get(self) -> char const * + | + | high8 + | asm_t_high8_get(self) -> char const * + | + | lbrace + | asm_t_lbrace_get(self) -> char + | + | low16 + | asm_t_low16_get(self) -> char const * + | + | low8 + | asm_t_low8_get(self) -> char const * + | + | name + | asm_t_name_get(self) -> char const * + | + | origin + | asm_t_origin_get(self) -> char const * + | + | rbrace + | asm_t_rbrace_get(self) -> char + | + | thisown + | The membership flag + | + | uflag + | asm_t_uflag_get(self) -> uint16 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_asm_t(self) + +Help on function assemble in module ida_idp: + +assemble(*args) + 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. + +Help on function cfg_get_cc_header_path in module ida_idp: + +cfg_get_cc_header_path(*args) + cfg_get_cc_header_path(compid) -> char const * + +Help on function cfg_get_cc_parm in module ida_idp: + +cfg_get_cc_parm(*args) + cfg_get_cc_parm(compid, name) -> char const * + +Help on function cfg_get_cc_predefined_macros in module ida_idp: + +cfg_get_cc_predefined_macros(*args) + cfg_get_cc_predefined_macros(compid) -> char const * + +Help on function delay_slot_insn in module ida_idp: + +delay_slot_insn(*args) + delay_slot_insn(ea, bexec, fexec) -> bool + + + Helper function to get the delay slot instruction. + + + @param ea (C++: ea_t *) + @param bexec (C++: bool *) + @param fexec (C++: bool *) + +Help on function gen_idb_event in module ida_idp: + +gen_idb_event(*args) + gen_idb_event(code) + + + the kernel will use this function to generate idb_events + + + @param code (C++: idb_event::event_code_t) + +Help on function get_idb_notifier_addr in module ida_idp: + +get_idb_notifier_addr(*args) + get_idb_notifier_addr(arg1) -> PyObject * + +Help on function get_idb_notifier_ud_addr in module ida_idp: + +get_idb_notifier_ud_addr(*args) + get_idb_notifier_ud_addr(hooks) -> PyObject * + +Help on function get_idp_name in module ida_idp: + +get_idp_name(*args) + 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 NULL + +Help on function get_idp_notifier_addr in module ida_idp: + +get_idp_notifier_addr(*args) + get_idp_notifier_addr(arg1) -> PyObject * + +Help on function get_idp_notifier_ud_addr in module ida_idp: + +get_idp_notifier_ud_addr(*args) + get_idp_notifier_ud_addr(hooks) -> PyObject * + +Help on function get_reg_info in module ida_idp: + +get_reg_info(*args) + get_reg_info(regname, bitrange) -> char const * + + + Get register information - useful for registers like al, ah, dil, etc. + + @param regname (C++: const char *) + @param bitrange (C++: bitrange_t *) + @return: NULL no such register + +Help on function get_reg_name in module ida_idp: + +get_reg_name(*args) + get_reg_name(reg, width, reghi=-1) -> str + + + Get text representation of a register. For most processors this + function will just return \ph{reg_names}[reg]. If the processor module + has implemented processor_t::get_reg_name, it will be used instead + + @param reg: internal register number as defined in the processor + module (C++: int) + @param width: register width in bytes (C++: size_t) + @param reghi: if specified, then this function will return the + register pair (C++: int) + @return: length of register name in bytes or -1 if failure + +Help on function has_cf_chg in module ida_idp: + +has_cf_chg(*args) + 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) + +Help on function has_cf_use in module ida_idp: + +has_cf_use(*args) + 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) + +Help on function has_insn_feature in module ida_idp: + +has_insn_feature(*args) + has_insn_feature(icode, bit) -> bool + + + Does the specified instruction have the specified feature? + + + @param icode (C++: int) + @param bit (C++: uint32) + +Help on function is_align_insn in module ida_idp: + +is_align_insn(*args) + 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) + +Help on function is_basic_block_end in module ida_idp: + +is_basic_block_end(*args) + 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 &) + @param call_insn_stops_block (C++: bool) + +Help on function is_call_insn in module ida_idp: + +is_call_insn(*args) + is_call_insn(insn) -> bool + + + Is the instruction a "call"? + + + @param insn (C++: const insn_t &) + +Help on function is_indirect_jump_insn in module ida_idp: + +is_indirect_jump_insn(*args) + is_indirect_jump_insn(insn) -> bool + + + Is the instruction an indirect jump? + + + @param insn (C++: const insn_t &) + +Help on function is_ret_insn in module ida_idp: + +is_ret_insn(*args) + is_ret_insn(insn, strict=True) -> bool + + + Is the instruction a "return"? + + + @param insn (C++: const insn_t &) + @param strict (C++: bool) + +Help on function parse_reg_name in module ida_idp: + +parse_reg_name(*args) + parse_reg_name(ri, regname) -> bool + + + Get register info by name. + + @param ri: result (C++: reg_info_t *) + @param regname: name of register (C++: const char *) + @return: success + +Help on __ph in module ida_idp object: + +class __ph(__builtin__.object) + | # ---------------------------------------------------------------------- + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cnbits + | + | dnbits + | + | flag + | + | icode_return + | + | id + | + | instruc + | + | instruc_end + | + | instruc_start + | + | reg_code_sreg + | + | reg_data_sreg + | + | reg_first_sreg + | + | reg_last_sreg + | + | regnames + | + | segreg_size + | + | tbyte_size + | + | version + +Help on function ph_calcrel in module ida_idp: + +ph_calcrel(*args) + ph_calcrel(ea) + +Help on function ph_find_op_value in module ida_idp: + +ph_find_op_value(*args) + ph_find_op_value(insn, op) -> ssize_t + +Help on function ph_find_reg_value in module ida_idp: + +ph_find_reg_value(*args) + ph_find_reg_value(insn, reg) -> ssize_t + +Help on function ph_get_cnbits in module ida_idp: + +ph_get_cnbits(*args) + ph_get_cnbits() -> size_t + + + Returns the 'ph.cnbits' + +Help on function ph_get_dnbits in module ida_idp: + +ph_get_dnbits(*args) + ph_get_dnbits() -> size_t + + + Returns the 'ph.dnbits' + +Help on function ph_get_flag in module ida_idp: + +ph_get_flag(*args) + ph_get_flag() -> size_t + + + Returns the 'ph.flag' + +Help on function ph_get_icode_return in module ida_idp: + +ph_get_icode_return(*args) + ph_get_icode_return() -> size_t + + + Returns the 'ph.icode_return' + +Help on function ph_get_id in module ida_idp: + +ph_get_id(*args) + ph_get_id() -> size_t + + + Returns the 'ph.id' field + +Help on function ph_get_instruc in module ida_idp: + +ph_get_instruc(*args) + ph_get_instruc() -> PyObject * + + + Returns a list of tuples (instruction_name, instruction_feature) containing the + instructions list as defined in he processor module + +Help on function ph_get_instruc_end in module ida_idp: + +ph_get_instruc_end(*args) + ph_get_instruc_end() -> size_t + + + Returns the 'ph.instruc_end' + +Help on function ph_get_instruc_start in module ida_idp: + +ph_get_instruc_start(*args) + ph_get_instruc_start() -> size_t + + + Returns the 'ph.instruc_start' + +Help on function ph_get_operand_info in module ida_idp: + +ph_get_operand_info(*args) + ph_get_operand_info(ea, n) -> PyObject * + + + 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. + +Help on function ph_get_reg_code_sreg in module ida_idp: + +ph_get_reg_code_sreg(*args) + ph_get_reg_code_sreg() -> size_t + + + Returns the 'ph.reg_code_sreg' + +Help on function ph_get_reg_data_sreg in module ida_idp: + +ph_get_reg_data_sreg(*args) + ph_get_reg_data_sreg() -> size_t + + + Returns the 'ph.reg_data_sreg' + +Help on function ph_get_reg_first_sreg in module ida_idp: + +ph_get_reg_first_sreg(*args) + ph_get_reg_first_sreg() -> size_t + + + Returns the 'ph.reg_first_sreg' + +Help on function ph_get_reg_last_sreg in module ida_idp: + +ph_get_reg_last_sreg(*args) + ph_get_reg_last_sreg() -> size_t + + + Returns the 'ph.reg_last_sreg' + +Help on function ph_get_regnames in module ida_idp: + +ph_get_regnames(*args) + ph_get_regnames() -> PyObject * + + + Returns the list of register names as defined in the processor module + +Help on function ph_get_segreg_size in module ida_idp: + +ph_get_segreg_size(*args) + ph_get_segreg_size() -> size_t + + + Returns the 'ph.segreg_size' + +Help on function ph_get_tbyte_size in module ida_idp: + +ph_get_tbyte_size(*args) + ph_get_tbyte_size() -> size_t + + + Returns the 'ph.tbyte_size' field as defined in he processor module + +Help on function ph_get_version in module ida_idp: + +ph_get_version(*args) + ph_get_version() -> size_t + + + Returns the 'ph.version' + +Help on class processor_t in module ida_idp: + +class processor_t(IDP_Hooks) + | Method resolution order: + | processor_t + | IDP_Hooks + | __builtin__.object + | + | Methods defined here: + | + | __init__(self) + | + | _get_idb_notifier_addr(self) + | + | _get_idb_notifier_ud_addr(self) + | + | _get_idp_notifier_addr(self) + | + | _get_idp_notifier_ud_addr(self) + | + | _get_notify(self, what, unimp_val=0, imp_forced_val=None, add_prefix=True, mandatory_impl=None) + | This helper is used to implement backward-compatibility + | of pre IDA 7.3 processor_t interfaces. + | + | _make_forced_value_wrapper(self, val, meth=None) + | + | _make_int_returning_wrapper(self, meth, intval=0) + | + | auto_empty(self, *args) + | + | auto_empty_finally(self, *args) + | + | closebase(self, *args) + | + | compiler_changed(self, *args) + | + | deleting_func(self, pfn) + | + | determined_main(self, *args) + | + | ev_ana_insn(self, *args) + | + | ev_assemble(self, *args) + | + | ev_auto_queue_empty(self, *args) + | + | ev_calc_step_over(self, target, ip) + | + | ev_can_have_type(self, *args) + | + | ev_cmp_operands(self, *args) + | + | ev_coagulate(self, *args) + | + | ev_coagulate_dref(self, from_ea, to_ea, may_define, _code_ea) + | + | ev_create_func_frame(self, pfn) + | + | ev_create_switch_xrefs(self, *args) + | + | ev_creating_segm(self, s) + | + | ev_emu_insn(self, *args) + | + | ev_endbinary(self, *args) + | + | ev_func_bounds(self, _possible_return_code, pfn, max_func_end_ea) + | + | ev_gen_map_file(self, nlines, fp) + | + | ev_gen_regvar_def(self, ctx, v) + | + | ev_gen_src_file_lnnum(self, *args) + | + | ev_get_autocmt(self, *args) + | + | ev_get_frame_retsize(self, frsize, pfn) + | + | ev_get_operand_string(self, buf, insn, opnum) + | + | ev_is_align_insn(self, *args) + | + | ev_is_alloca_probe(self, *args) + | + | ev_is_basic_block_end(self, *args) + | + | ev_is_call_insn(self, *args) + | + | ev_is_far_jump(self, *args) + | + | ev_is_indirect_jump(self, *args) + | + | ev_is_insn_table_jump(self, *args) + | + | ev_is_ret_insn(self, *args) + | + | ev_is_sane_insn(self, *args) + | + | ev_is_sp_based(self, mode, insn, op) + | + | ev_is_switch(self, *args) + | + | ev_may_be_func(self, *args) + | + | ev_may_show_sreg(self, *args) + | + | ev_moving_segm(self, s, to_ea, flags) + | + | ev_newbinary(self, *args) + | + | ev_newfile(self, *args) + | + | ev_newprc(self, *args) + | + | ev_oldfile(self, *args) + | + | ev_out_assumes(self, *args) + | + | ev_out_data(self, *args) + | + | ev_out_footer(self, *args) + | + | ev_out_header(self, *args) + | + | ev_out_insn(self, *args) + | + | ev_out_label(self, *args) + | + | ev_out_mnem(self, *args) + | + | ev_out_operand(self, *args) + | + | ev_out_segend(self, ctx, s) + | + | ev_out_segstart(self, ctx, s) + | + | ev_out_special_item(self, *args) + | + | ev_rename(self, *args) + | + | ev_set_idp_options(self, keyword, value_type, value) + | + | ev_set_proc_options(self, *args) + | + | ev_str2reg(self, *args) + | + | ev_treat_hindering_item(self, *args) + | + | ev_undefine(self, *args) + | + | ev_validate_flirt_func(self, *args) + | + | ev_verify_noreturn(self, pfn) + | + | ev_verify_sp(self, pfn) + | + | func_added(self, pfn) + | + | get_auxpref(self, insn) + | This function returns insn.auxpref value + | + | get_idpdesc(self) + | 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. + | + | get_uFlag(self) + | Use this utility function to retrieve the 'uFlag' global variable + | + | idasgn_loaded(self, *args) + | + | kernel_config_loaded(self, *args) + | + | make_code(self, *args) + | + | make_data(self, *args) + | + | renamed(self, *args) + | + | savebase(self, *args) + | + | segm_moved(self, from_ea, to_ea, size, changed_netmap) + | + | set_func_end(self, *args) + | + | set_func_start(self, *args) + | + | sgr_changed(self, *args) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __idc_cvt_id__ = 2 + | + | ---------------------------------------------------------------------- + | Methods inherited from IDP_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | ev_add_cref(self, *args) + | ev_add_cref(self, _from, to, type) -> int + | + | ev_add_dref(self, *args) + | ev_add_dref(self, _from, to, type) -> int + | + | ev_adjust_argloc(self, *args) + | ev_adjust_argloc(self, argloc, optional_type, size) -> int + | + | ev_adjust_libfunc_ea(self, *args) + | ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int + | + | ev_adjust_refinfo(self, *args) + | ev_adjust_refinfo(self, ri, ea, n, fd) -> int + | + | ev_analyze_prolog(self, *args) + | ev_analyze_prolog(self, ea) -> int + | + | ev_arg_addrs_ready(self, *args) + | ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int + | + | ev_calc_arglocs(self, *args) + | ev_calc_arglocs(self, fti) -> int + | + | ev_calc_cdecl_purged_bytes(self, *args) + | ev_calc_cdecl_purged_bytes(self, ea) -> int + | + | ev_calc_next_eas(self, *args) + | ev_calc_next_eas(self, res, insn, over) -> int + | + | ev_calc_purged_bytes(self, *args) + | ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int + | + | ev_calc_retloc(self, *args) + | ev_calc_retloc(self, retloc, rettype, cc) -> int + | + | ev_calc_spdelta(self, *args) + | ev_calc_spdelta(self, spdelta, insn) -> int + | + | ev_calc_switch_cases(self, *args) + | ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int + | + | ev_calc_varglocs(self, *args) + | ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int + | + | ev_calcrel(self, *args) + | ev_calcrel(self) -> int + | + | ev_clean_tbit(self, *args) + | ev_clean_tbit(self, ea, getreg, regvalues) -> int + | + | ev_create_flat_group(self, *args) + | ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int + | + | ev_decorate_name(self, *args) + | ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * + | + | ev_del_cref(self, *args) + | ev_del_cref(self, _from, to, expand) -> int + | + | ev_del_dref(self, *args) + | ev_del_dref(self, _from, to) -> int + | + | ev_delay_slot_insn(self, *args) + | ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * + | + | ev_demangle_name(self, *args) + | ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * + | + | ev_ending_undo(self, *args) + | ev_ending_undo(self, action_name, is_undo) -> int + | + | ev_equal_reglocs(self, *args) + | ev_equal_reglocs(self, a1, a2) -> int + | + | ev_extract_address(self, *args) + | ev_extract_address(self, out_ea, screen_ea, string, position) -> int + | + | ev_find_op_value(self, *args) + | ev_find_op_value(self, pinsn, opn) -> PyObject * + | + | ev_find_reg_value(self, *args) + | ev_find_reg_value(self, pinsn, reg) -> PyObject * + | + | ev_gen_asm_or_lst(self, *args) + | ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) + | + | ev_gen_stkvar_def(self, *args) + | ev_gen_stkvar_def(self, outctx, mptr, v) -> int + | + | ev_get_abi_info(self, *args) + | ev_get_abi_info(self, abi_names, abi_opts, comp) -> int + | + | ev_get_bg_color(self, *args) + | ev_get_bg_color(self, ea) -> int or None + | + | ev_get_cc_regs(self, *args) + | ev_get_cc_regs(self, regs, cc) -> int + | + | ev_get_code16_mode(self, *args) + | ev_get_code16_mode(self, ea) -> int + | + | ev_get_dbr_opnum(self, *args) + | ev_get_dbr_opnum(self, opnum, insn) -> int + | + | ev_get_default_enum_size(self, *args) + | ev_get_default_enum_size(self, cm) -> int + | + | ev_get_macro_insn_head(self, *args) + | ev_get_macro_insn_head(self, head, ip) -> int + | + | ev_get_reg_info(self, *args) + | ev_get_reg_info(self, main_regname, bitrange, regname) -> int + | + | ev_get_reg_name(self, *args) + | ev_get_reg_name(self, reg, width, reghi) -> PyObject * + | + | ev_get_simd_types(self, *args) + | ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int + | + | ev_get_stkarg_offset(self, *args) + | ev_get_stkarg_offset(self) -> int + | + | ev_get_stkvar_scale_factor(self, *args) + | ev_get_stkvar_scale_factor(self) -> int + | + | ev_getreg(self, *args) + | ev_getreg(self, regval, regnum) -> int + | + | ev_init(self, *args) + | ev_init(self, idp_modname) -> int + | + | ev_insn_reads_tbit(self, *args) + | ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int + | + | ev_is_cond_insn(self, *args) + | ev_is_cond_insn(self, insn) -> int + | + | ev_is_jump_func(self, *args) + | ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int + | + | ev_last_cb_before_loader(self, *args) + | ev_last_cb_before_loader(self) -> int + | + | ev_loader(self, *args) + | ev_loader(self) -> int + | + | ev_lower_func_type(self, *args) + | ev_lower_func_type(self, argnums, fti) -> int + | + | ev_max_ptr_size(self, *args) + | ev_max_ptr_size(self) -> int + | + | ev_newasm(self, *args) + | ev_newasm(self, asmnum) -> int + | + | ev_next_exec_insn(self, *args) + | ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int + | + | ev_realcvt(self, *args) + | ev_realcvt(self, m, e, swt) -> int + | + | ev_replaying_undo(self, *args) + | ev_replaying_undo(self, action_name, vec, is_undo) -> int + | + | ev_set_code16_mode(self, *args) + | ev_set_code16_mode(self, ea, code16) -> int + | + | ev_setup_til(self, *args) + | ev_setup_til(self) + | + | ev_shadow_args_size(self, *args) + | ev_shadow_args_size(self, shadow_args_size, pfn) -> int + | + | ev_term(self, *args) + | ev_term(self) -> int + | + | ev_use_arg_types(self, *args) + | ev_use_arg_types(self, ea, fti, rargs) -> int + | + | ev_use_regarg_type(self, *args) + | ev_use_regarg_type(self, ea, rargs) -> PyObject * + | + | ev_use_stkarg_type(self, *args) + | ev_use_stkarg_type(self, ea, arg) -> int + | + | hook(self, *args) + | hook(self) -> bool + | + | + | Creates an IDP hook + | + | @return: Boolean true on success + | + | unhook(self, *args) + | unhook(self) -> bool + | + | + | Removes the IDP hook + | @return: Boolean true on success + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from IDP_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from IDP_Hooks: + | + | __swig_destroy__ = + | delete_IDP_Hooks(self) + +Help on class reg_info_t in module ida_idp: + +class reg_info_t(__builtin__.object) + | Proxy of C++ reg_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> reg_info_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | reg + | reg_info_t_reg_get(self) -> int + | + | size + | reg_info_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_reg_info_t(self) + +Help on function set_processor_type in module ida_idp: + +set_processor_type(*args) + 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: name of processor type (one of names present in + \ph{psnames}) (C++: const char *) + @param level: SETPROC_ (C++: setproc_level_t) + @return: success + +Help on function set_target_assembler in module ida_idp: + +set_target_assembler(*args) + set_target_assembler(asmnum) -> bool + + + Set target assembler. + + @param asmnum: number of assembler in the current processor module + (C++: int) + @return: success + +Help on function sizeof_ldbl in module ida_idp: + +sizeof_ldbl(*args) + sizeof_ldbl() -> size_t + + + Get size of long double. + +Help on function str2reg in module ida_idp: + +str2reg(*args) + str2reg(p) -> int + + + Get any reg number (-1 on error) + + + @param p (C++: const char *) + +=== ida_idp EPYDOC INJECTIONS === +ida_idp.AS2_BRACE +""" +Use braces for all expressions. +""" + +ida_idp.AS2_BYTE1CHAR +""" +Meaningful only for wide byte processors. + +One symbol per processor byte +""" + +ida_idp.AS2_COLONSUF +""" +addresses may have ":xx" suffix this suffix must be ignored when +extracting the address under the cursor +""" + +ida_idp.AS2_IDEALDSCR +""" +Description of struc/union is in the 'reverse' form (keyword before +name) the same as in borland tasm ideal +""" + +ida_idp.AS2_STRINV +""" +(For processors with bytes bigger than 8 bits) + +Invert meaning of \\inf{wide_high_byte_first} for text strings +""" + +ida_idp.AS2_TERSESTR +""" +NAME is supported. + +'terse' structure initialization form +""" + +ida_idp.AS2_YWORD +""" +a_yword field is present and valid +""" + +ida_idp.ASB_BINF0 +""" +010101b +""" + +ida_idp.ASB_BINF1 +""" +^B010101 +""" + +ida_idp.ASB_BINF2 +""" +%010101 +""" + +ida_idp.ASB_BINF3 +""" +0b1010101 +""" + +ida_idp.ASB_BINF4 +""" +b'1010101 +""" + +ida_idp.ASB_BINF5 +""" +b'1010101' +""" + +ida_idp.ASD_DECF0 +""" +34 +""" + +ida_idp.ASD_DECF1 +""" +#34 +""" + +ida_idp.ASD_DECF3 +""" +.34 +""" + +ida_idp.ASH_HEXF0 +""" +34h +""" + +ida_idp.ASH_HEXF1 +""" +h'34 +""" + +ida_idp.ASH_HEXF2 +""" +34 +""" + +ida_idp.ASH_HEXF3 +""" +0x34 +""" + +ida_idp.ASH_HEXF4 +""" +$34 +""" + +ida_idp.ASH_HEXF5 +""" +<^R > (radix) +""" + +ida_idp.ASO_OCTF0 +""" +123o +""" + +ida_idp.ASO_OCTF1 +""" +0123 +""" + +ida_idp.ASO_OCTF2 +""" +123 +""" + +ida_idp.ASO_OCTF3 +""" +@123 +""" + +ida_idp.ASO_OCTF4 +""" +o'123 +""" + +ida_idp.ASO_OCTF5 +""" +123q +""" + +ida_idp.ASO_OCTF6 +""" +~123 +""" + +ida_idp.ASO_OCTF7 +""" +q'123 +""" + +ida_idp.AS_1TEXT +""" +1 text per line, no bytes +""" + +ida_idp.AS_2CHRE +""" +double char constants are: "xy +""" + +ida_idp.AS_ALIGN2 +""" +(.align 5 means to align at 32byte boundary) + +.align directive expects an exponent rather than a power of 2 +""" + +ida_idp.AS_ASCIIC +""" +(\\n,\\x01 and similar) + +ascii directive accepts C-like escape sequences +""" + +ida_idp.AS_ASCIIZ +""" +ascii directive inserts implicit zero byte at the end +""" + +ida_idp.AS_BINFM +""" +mask - binary number format +""" + +ida_idp.AS_COLON +""" +create colons after data names ? +""" + +ida_idp.AS_DECFM +""" +mask - decimal number format +""" + +ida_idp.AS_HEXFM +""" +mask - hex number format +""" + +ida_idp.AS_LALIGN +""" +Labels at "align" keyword are supported. +""" + +ida_idp.AS_N2CHR +""" +can't have 2 byte char consts +""" + +ida_idp.AS_NCHRE +""" +char constants are: 'x +""" + +ida_idp.AS_NCMAS +""" +no commas in ascii directives +""" + +ida_idp.AS_NHIAS +""" +no characters with high bit +""" + +ida_idp.AS_NOCODECLN +""" +don't create colons after code names +""" + +ida_idp.AS_NOSPACE +""" +No spaces in expressions. +""" + +ida_idp.AS_NOXRF +""" +Disable xrefs during the output file generation. +""" + +ida_idp.AS_OCTFM +""" +mask - octal number format +""" + +ida_idp.AS_OFFST +""" +offsets are 'offset xxx' ? +""" + +ida_idp.AS_ONEDUP +""" +One array definition per line. +""" + +ida_idp.AS_RELSUP +""" +Checkarg: 'and','or','xor' operations with addresses are possible. +""" + +ida_idp.AS_UDATA +""" +can use '?' in data directives +""" + +ida_idp.AS_UNEQU +""" +replace undefined data items with EQU (for ANTA's A80) +""" + +ida_idp.AS_XTRNTYPE +""" +Assembler understands type of extern symbols as ":type" suffix. +""" + +ida_idp.CF_CALL +""" +CALL instruction (should make a procedure here) +""" + +ida_idp.CF_CHG1 +""" +The instruction modifies the first operand. +""" + +ida_idp.CF_CHG2 +""" +The instruction modifies the second operand. +""" + +ida_idp.CF_CHG3 +""" +The instruction modifies the third operand. +""" + +ida_idp.CF_CHG4 +""" +The instruction modifies 4 operand. +""" + +ida_idp.CF_CHG5 +""" +The instruction modifies 5 operand. +""" + +ida_idp.CF_CHG6 +""" +The instruction modifies 6 operand. +""" + +ida_idp.CF_HLL +""" +language function. + +Instruction may be present in a high level +""" + +ida_idp.CF_JUMP +""" +jump or call (thus needs additional analysis) + +The instruction passes execution using indirect +""" + +ida_idp.CF_SHFT +""" +Bit-shift instruction (shl,shr...) +""" + +ida_idp.CF_STOP +""" +next instruction + +Instruction doesn't pass execution to the +""" + +ida_idp.CF_USE1 +""" +The instruction uses value of the first operand. +""" + +ida_idp.CF_USE2 +""" +The instruction uses value of the second operand. +""" + +ida_idp.CF_USE3 +""" +The instruction uses value of the third operand. +""" + +ida_idp.CF_USE4 +""" +The instruction uses value of the 4 operand. +""" + +ida_idp.CF_USE5 +""" +The instruction uses value of the 5 operand. +""" + +ida_idp.CF_USE6 +""" +The instruction uses value of the 6 operand. +""" + +ida_idp.CUSTOM_INSN_ITYPE +""" +Custom instruction codes defined by processor extension plugins must +be greater than or equal to this +""" + +ida_idp.IDP_INTERFACE_VERSION +""" +The interface version number.see also 'IDA_SDK_VERSION' from 'pro.h' +""" + +ida_idp.OP_FP_BASED +""" +operand is FP based +""" + +ida_idp.OP_SP_ADD +""" +operand value is added to the pointer +""" + +ida_idp.OP_SP_BASED +""" +operand is SP based +""" + +ida_idp.OP_SP_SUB +""" +operand value is subtracted from the pointer +""" + +ida_idp.PLFM_386 +""" +Intel 80x86. +""" + +ida_idp.PLFM_6502 +""" +6502 +""" + +ida_idp.PLFM_65C816 +""" +65802/65816 +""" + +ida_idp.PLFM_6800 +""" +Motorola 68xx. +""" + +ida_idp.PLFM_68K +""" +Motorola 680x0. +""" + +ida_idp.PLFM_80196 +""" +Intel 80196. +""" + +ida_idp.PLFM_8051 +""" +8051 +""" + +ida_idp.PLFM_AD2106X +""" +Analog Devices ADSP 2106X. +""" + +ida_idp.PLFM_AD218X +""" +Analog Devices ADSP 218X. +""" + +ida_idp.PLFM_ALPHA +""" +DEC Alpha. +""" + +ida_idp.PLFM_ARC +""" +Argonaut RISC Core. +""" + +ida_idp.PLFM_ARM +""" +Advanced RISC Machines. +""" + +ida_idp.PLFM_AVR +""" +Atmel 8-bit RISC processor(s) +""" + +ida_idp.PLFM_C166 +""" +Siemens C166 family. +""" + +ida_idp.PLFM_C39 +""" +Rockwell C39. +""" + +ida_idp.PLFM_CR16 +""" +NSC CR16. +""" + +ida_idp.PLFM_DALVIK +""" +Android Dalvik Virtual Machine. +""" + +ida_idp.PLFM_DSP56K +""" +Motorola DSP5600x. +""" + +ida_idp.PLFM_DSP96K +""" +Motorola DSP96000. +""" + +ida_idp.PLFM_EBC +""" +EFI Bytecode. +""" + +ida_idp.PLFM_F2MC +""" +Fujistu F2MC-16. +""" + +ida_idp.PLFM_FR +""" +Fujitsu FR Family. +""" + +ida_idp.PLFM_H8 +""" +Hitachi H8/300, H8/2000. +""" + +ida_idp.PLFM_H8500 +""" +Hitachi H8/500. +""" + +ida_idp.PLFM_HPPA +""" +Hewlett-Packard PA-RISC. +""" + +ida_idp.PLFM_I860 +""" +Intel 860. +""" + +ida_idp.PLFM_I960 +""" +Intel 960. +""" + +ida_idp.PLFM_IA64 +""" +Intel Itanium IA64. +""" + +ida_idp.PLFM_JAVA +""" +Java. +""" + +ida_idp.PLFM_KR1878 +""" +Angstrem KR1878. +""" + +ida_idp.PLFM_M16C +""" +Renesas M16C. +""" + +ida_idp.PLFM_M32R +""" +Mitsubishi 32bit RISC. +""" + +ida_idp.PLFM_M740 +""" +Mitsubishi 8bit. +""" + +ida_idp.PLFM_M7700 +""" +Mitsubishi 16bit. +""" + +ida_idp.PLFM_M7900 +""" +Mitsubishi 7900. +""" + +ida_idp.PLFM_MC6812 +""" +Motorola 68HC12. +""" + +ida_idp.PLFM_MC6816 +""" +Motorola 68HC16. +""" + +ida_idp.PLFM_MIPS +""" +MIPS. +""" + +ida_idp.PLFM_MN102L00 +""" +Panasonic MN10200. +""" + +ida_idp.PLFM_MSP430 +""" +Texas Instruments MSP430. +""" + +ida_idp.PLFM_NEC_78K0 +""" +NEC 78K0. +""" + +ida_idp.PLFM_NEC_78K0S +""" +NEC 78K0S. +""" + +ida_idp.PLFM_NEC_V850X +""" +NEC V850 and V850ES/E1/E2. +""" + +ida_idp.PLFM_NET +""" +Microsoft Visual Studio.Net. +""" + +ida_idp.PLFM_OAKDSP +""" +Atmel OAK DSP. +""" + +ida_idp.PLFM_PDP +""" +PDP11. +""" + +ida_idp.PLFM_PIC +""" +Microchip's PIC. +""" + +ida_idp.PLFM_PIC16 +""" +Microchip's 16-bit PIC. +""" + +ida_idp.PLFM_PPC +""" +PowerPC. +""" + +ida_idp.PLFM_S390 +""" +IBM's S390. +""" + +ida_idp.PLFM_SCR_ADPT +""" +Processor module adapter for processor modules written in scripting +languages. +""" + +ida_idp.PLFM_SH +""" +Renesas (formerly Hitachi) SuperH. +""" + +ida_idp.PLFM_SPARC +""" +SPARC. +""" + +ida_idp.PLFM_SPC700 +""" +Sony SPC700. +""" + +ida_idp.PLFM_SPU +""" +Cell Broadband Engine Synergistic Processor Unit. +""" + +ida_idp.PLFM_ST20 +""" +SGS-Thomson ST20. +""" + +ida_idp.PLFM_ST7 +""" +SGS-Thomson ST7. +""" + +ida_idp.PLFM_ST9 +""" +ST9+. +""" + +ida_idp.PLFM_TLCS900 +""" +Toshiba TLCS-900. +""" + +ida_idp.PLFM_TMS +""" +Texas Instruments TMS320C5x. +""" + +ida_idp.PLFM_TMS320C1X +""" +Texas Instruments TMS320C1x. +""" + +ida_idp.PLFM_TMS320C28 +""" +Texas Instruments TMS320C28x. +""" + +ida_idp.PLFM_TMS320C3 +""" +Texas Instruments TMS320C3. +""" + +ida_idp.PLFM_TMS320C54 +""" +Texas Instruments TMS320C54xx. +""" + +ida_idp.PLFM_TMS320C55 +""" +Texas Instruments TMS320C55xx. +""" + +ida_idp.PLFM_TMSC6 +""" +Texas Instruments TMS320C6x. +""" + +ida_idp.PLFM_TRICORE +""" +Tasking Tricore. +""" + +ida_idp.PLFM_TRIMEDIA +""" +Trimedia. +""" + +ida_idp.PLFM_UNSP +""" +SunPlus unSP. +""" + +ida_idp.PLFM_Z8 +""" +Z8. +""" + +ida_idp.PLFM_Z80 +""" +8085, Z80 +""" + +ida_idp.PRN_BIN +""" +binary +""" + +ida_idp.PRN_DEC +""" +decimal +""" + +ida_idp.PRN_HEX +""" +hex +""" + +ida_idp.PRN_OCT +""" +octal +""" + +ida_idp.PR_ADJSEGS +""" +IDA may adjust segments' starting/ending addresses. +""" + +ida_idp.PR_ALIGN +""" +All data items should be aligned properly. +""" + +ida_idp.PR_ALIGN_INSN +""" +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 +""" + +ida_idp.PR_ASSEMBLE +""" +Module has a built-in assembler and will react to ev_assemble. +""" + +ida_idp.PR_BINMEM +""" +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 +""" + +ida_idp.PR_CHK_XREF +""" +don't allow near xrefs between segments with different bases +""" + +ida_idp.PR_CNDINSNS +""" +has conditional instructions +""" + +ida_idp.PR_DEFNUM +""" +mask - default number representation +""" + +ida_idp.PR_DEFSEG32 +""" +segments are 32-bit by default +""" + +ida_idp.PR_DEFSEG64 +""" +segments are 64-bit by default +""" + +ida_idp.PR_DELAYED +""" +has delayed jumps and calls if this flag is set, +\\ph{is_basic_block_end}, \\ph{has_delay_slot} should be implemented +""" + +ida_idp.PR_NOCHANGE +""" +(display only) + +The user can't change segments and code/data attributes +""" + +ida_idp.PR_NO_SEGMOVE +""" +(i.e. the user can't move segments) + +the processor module doesn't support 'move_segm()' +""" + +ida_idp.PR_PURGING +""" +there are calling conventions which may purge bytes from the stack +""" + +ida_idp.PR_RNAMESOK +""" +allow user register names for location names +""" + +ida_idp.PR_SCALE_STKVARS +""" +use \\ph{get_stkvar_scale} callback +""" + +ida_idp.PR_SEGS +""" +has segment registers? +""" + +ida_idp.PR_SEGTRANS +""" +the processor module supports the segment translation feature (meaning +it calculates the code addresses using the 'map_code_ea()' function) +""" + +ida_idp.PR_SGROTHER +""" +the segment registers don't contain the segment selectors. +""" + +ida_idp.PR_STACK_UP +""" +the stack grows up +""" + +ida_idp.PR_TYPEINFO +""" +ALL OF THEM SHOULD BE IMPLEMENTED! + +the processor module supports type information callbacks +""" + +ida_idp.PR_USE32 +""" +supports 32-bit addressing? +""" + +ida_idp.PR_USE64 +""" +supports 64-bit addressing? +""" + +ida_idp.PR_USE_ARG_TYPES +""" +use \\ph{use_arg_types} callback +""" + +ida_idp.PR_USE_TBYTE +""" + 'BTMT_SPECFLT' means _TBYTE type +""" + +ida_idp.PR_WORD_INS +""" +instruction codes are grouped 2bytes in binary line prefix +""" + +ida_idp.REG_SPOIL +""" +processor_t::use_regarg_type uses this bit in the return value to +indicate that the register value has been spoiled +""" +=== ida_idp EPYDOC INJECTIONS END === +Help on class Choose in module ida_kernwin: + +class Choose(__builtin__.object) + | Chooser wrapper class. + | + | Some constants are defined in this class. + | Please refer to kernwin.hpp for more information. + | + | Methods defined here: + | + | Activate(self) + | Activates a visible chooser + | + | AddCommand(self, caption, flags=4, menu_index=-1, icon=-1, emb=None, shortcut=None) + | + | Close(self) + | Closes the chooser + | + | Embedded(self, create_chobj=False) + | Creates an embedded chooser (as opposed to Show()) + | @return: Returns 0 on success or NO_ATTR + | + | GetEmbSelection(self) + | Deprecated. For embedded choosers, the selection is + | available through 'Form.EmbeddedChooserControl.selection' + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | OnPopup(self, widget, popup_handle) + | + | Refresh(self) + | Causes the refresh callback to trigger + | + | Show(self, modal=False) + | 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; + | + | __init__(self, title, cols, flags=0, popup_names=None, icon=-1, x1=-1, y1=-1, x2=-1, y2=-1, deflt=None, embedded=False, width=None, height=None, forbidden_cb=0) + | 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 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 + | + | adjust_last_item(self, n) + | 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) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | ALL_CHANGED = 1 + | + | ALREADY_EXISTS = -3 + | + | CHCOL_DEC = 196608 + | + | CHCOL_EA = 262144 + | + | CHCOL_FNAME = 327680 + | + | CHCOL_FORMAT = 458752 + | + | CHCOL_HEX = 131072 + | + | CHCOL_PATH = 65536 + | + | CHCOL_PLAIN = 0 + | + | CHOOSE_HAVE_DEL = 16 + | + | CHOOSE_HAVE_EDIT = 32 + | + | CHOOSE_HAVE_ENTER = 64 + | + | CHOOSE_HAVE_GETATTR = 4 + | + | CHOOSE_HAVE_GETICON = 2 + | + | CHOOSE_HAVE_INIT = 1 + | + | CHOOSE_HAVE_INS = 8 + | + | CHOOSE_HAVE_ONCLOSE = 512 + | + | CHOOSE_HAVE_REFRESH = 128 + | + | CHOOSE_HAVE_SELECT = 256 + | + | CH_ATTRS = 32 + | + | CH_BUILTIN_MASK = 33030144 + | + | CH_BUILTIN_SHIFT = 19 + | + | CH_CAN_DEL = 512 + | + | CH_CAN_EDIT = 1024 + | + | CH_CAN_INS = 256 + | + | CH_CAN_REFRESH = 2048 + | + | CH_FORCE_DEFAULT = 128 + | + | CH_MODAL = 1 + | + | CH_MULTI = 4 + | + | CH_NOBTNS = 16 + | + | CH_NOIDB = 64 + | + | CH_NO_STATUS_BAR = 65536 + | + | CH_QFLT = 4096 + | + | CH_QFTYP_DEFAULT = 0 + | + | CH_QFTYP_FUZZY = 32768 + | + | CH_QFTYP_MASK = 57344 + | + | CH_QFTYP_NORMAL = 8192 + | + | CH_QFTYP_REGEX = 24576 + | + | CH_QFTYP_SHIFT = 13 + | + | CH_QFTYP_WHOLE_WORDS = 16384 + | + | CH_RESTORE = 131072 + | + | EMPTY_CHOOSER = -2 + | + | NOTHING_CHANGED = 0 + | + | NO_ATTR = -4 + | + | NO_SELECTION = -1 + | + | SELECTION_CHANGED = 2 + | + | UI_Hooks_Trampoline = + +Help on class CustomIDAMemo in module ida_kernwin: + +class CustomIDAMemo(View_Hooks) + | # + | # ----------------------------------------------------------------------- + | # CustomIDAMemo + | # ----------------------------------------------------------------------- + | + | Method resolution order: + | CustomIDAMemo + | View_Hooks + | __builtin__.object + | + | Methods defined here: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | __init__(self) + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | + | view_click(self, view, ve) + | + | view_close(self, view, *args) + | + | view_curpos(self, view, *args) + | + | view_dblclick(self, view, ve) + | + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | + | view_mouse_over(self, view, ve) + | + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | view_created(self, *args) + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from View_Hooks: + | + | __swig_destroy__ = + | delete_View_Hooks(self) + +Help on class Form in module ida_kernwin: + +class Form(__builtin__.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | Add(self, name, ctrl, mkattr=True) + | 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 + | + | AddControls(self, controls, mkattr=True) + | 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 + | + | Close(self, close_normally) + | 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 + | + | Compile(self) + | 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 + | + | CompileEx(self, form) + | 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() + | + | Compiled(self) + | Checks if the form has already been compiled + | + | @return: Boolean + | + | EnableField(self, ctrl, enable) + | Enable or disable an input field + | @return: False - no such control + | + | Execute(self) + | Displays a modal dialog containing the compiled form. + | @return: 1 - ok ; 0 - cancel + | + | FindControlById(self, id) + | Finds a control instance given its id + | + | Free(self) + | Frees all resources associated with a compiled form. + | Make sure you call this function when you finish using the form. + | + | GetControlValue(self, ctrl) + | 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 + | + | GetFocusedField(self) + | Get currently focused input field. + | @return: None if no field is selected otherwise the control ID + | + | MoveField(self, ctrl, x, y, w, h) + | Move/resize an input field + | + | @return: False - no such fiel + | + | Open(self) + | Opens a widget containing the compiled form. + | + | RefreshField(self, ctrl) + | Refresh a field + | @return: False - no such control + | + | SetControlValue(self, ctrl, value) + | 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 + | + | SetFocusedField(self, ctrl) + | Set currently focused input field + | @return: False - no such control + | + | ShowField(self, ctrl, show) + | Show or hide an input field + | @return: False - no such control + | + | _AddGroup(self, Group, mkattr=True) + | Internal function. + | This function expands the group item names and creates individual group item controls + | + | @param Group: The group class (checkbox or radio group class) + | + | _ChkCompiled(self) + | + | __getitem__(self, name) + | Returns a control object by name + | + | __init__(self, form, controls) + | 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_ + | + | _reset(self) + | Resets the Form class state variables + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | ControlToFieldTypeIdAndSize(ctrl) + | Converts a control object to a tuple containing the field id + | and the associated buffer size + | + | _ParseFormTitle(form) + | Parses the form's title from the form text + | + | create_string_buffer(value, size=None) + | + | fieldtype_to_ctype(tp, i64=False) + | Factory method returning a ctype class corresponding to the field type string + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | ButtonInput = + | 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) + | + | ChkGroupControl = + | Checkbox group control class. + | It holds a set of checkbox controls + | + | ChkGroupItemControl = + | Checkbox group item control + | + | ColorInput = + | Color button input control + | + | Control = + | + | + | DirInput = + | Directory browsing control + | + | DropdownListControl = + | Dropdown control + | This control allows manipulating a dropdown control + | + | EmbeddedChooserControl = + | Embedded chooser control. + | This control links to a Chooser2 control created with the 'embedded=True' + | + | FT_ADDR = '$' + | + | FT_ASCII = 'A' + | + | FT_BIN = 'Y' + | + | FT_BUTTON = 'B' + | + | FT_CHAR = 'H' + | + | FT_CHKGRP = 'C' + | + | FT_CHKGRP2 = 'c' + | + | FT_COLOR = 'K' + | + | FT_DEC = 'D' + | + | FT_DIR = 'F' + | + | FT_DROPDOWN_LIST = 'b' + | + | FT_ECHOOSER = 'E' + | + | FT_FILE = 'f' + | + | FT_FORMCHG = '%/' + | + | FT_HEX = 'N' + | + | FT_HTML_LABEL = 'h' + | + | FT_IDENT = 'I' + | + | FT_INT64 = 'l' + | + | FT_MULTI_LINE_TEXT = 't' + | + | FT_OCT = 'O' + | + | FT_RADGRP = 'R' + | + | FT_RADGRP2 = 'r' + | + | FT_RAWHEX = 'M' + | + | FT_SEG = 'S' + | + | FT_SHEX = 'n' + | + | FT_TYPE = 'T' + | + | FT_UINT64 = 'L' + | + | FileInput = + | File Open/Save input control + | + | FormChangeCb = + | 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) + | + | GroupControl = + | Base class for group controls + | + | GroupItemControl = + | Base class for group control items + | + | InputControl = + | Generic form input control. + | It could be numeric control, string control, directory/file browsing, etc... + | + | LabelControl = + | Base class for static label control + | + | MultiLineTextControl = + | Multi line text control. + | This class inherits from textctrl_info_t. Thus the attributes are also inherited + | This control allows manipulating a multilinetext control + | + | NumericArgument = + | Argument representing various integer arguments (ushort, uint32, uint64, etc...) + | @param tp: One of Form.FT_XXX + | + | NumericInput = + | A composite class serving as a base numeric input control class + | + | NumericLabel = + | Numeric label control + | + | RadGroupControl = + | Radiobox group control class. + | It holds a set of radiobox controls + | + | RadGroupItemControl = + | Radiobox group item control + | + | StringArgument = + | Argument representing a character buffer + | + | StringInput = + | Base string input control class. + | This class also constructs a StringArgument + | + | StringLabel = + | String label control + | + | _FT_USHORT = '_US' + +Help on class IDAViewWrapper in module ida_kernwin: + +class IDAViewWrapper(CustomIDAMemo) + | 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.) + | + | Method resolution order: + | IDAViewWrapper + | CustomIDAMemo + | View_Hooks + | __builtin__.object + | + | Methods defined here: + | + | Bind(self) + | + | Unbind(self) + | + | __init__(self, title) + | + | ---------------------------------------------------------------------- + | Methods inherited from CustomIDAMemo: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | + | view_click(self, view, ve) + | + | view_close(self, view, *args) + | + | view_curpos(self, view, *args) + | + | view_dblclick(self, view, ve) + | + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | + | view_mouse_over(self, view, ve) + | + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods inherited from CustomIDAMemo: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | view_created(self, *args) + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from View_Hooks: + | + | __swig_destroy__ = + | delete_View_Hooks(self) + +Help on class PluginForm in module ida_kernwin: + +class PluginForm(__builtin__.object) + | PluginForm class. + | + | This form can be used to host additional controls. Please check the PyQt example. + | + | Methods defined here: + | + | Close(self, options) + | Closes the form. + | + | @param options: Close options (WCLS_SAVE, WCLS_NO_CONTEXT, ...) + | + | @return: None + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | OnClose(self, form) + | Called when the plugin form is closed + | + | @return: None + | + | OnCreate(self, form) + | This event is called when the plugin form is created. + | The programmer should populate the form when this event is triggered. + | + | @return: None + | + | Show(self, caption, options=0) + | 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 + | + | __init__(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | FormToPyQtWidget = TWidgetToPyQtWidget(tw, ctx=) + | 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 + | + | FormToPySideWidget = TWidgetToPySideWidget(tw, ctx=) + | 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 + | + | QtWidgetToTWidget(w, ctx=) + | 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 + | + | TWidgetToPyQtWidget(tw, ctx=) + | 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 + | + | TWidgetToPySideWidget(tw, ctx=) + | 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 + | + | _ensure_widget_deps(ctx) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | VALID_CAPSULE_NAME = '$valid$' + | + | WCLS_CLOSE_LATER = 8 + | + | WCLS_DONT_SAVE_SIZE = 4 + | + | WCLS_NO_CONTEXT = 2 + | + | WCLS_SAVE = 1 + | + | WOPN_CENTERED = 32 + | + | WOPN_CREATE_ONLY = {} + | + | WOPN_DP_BEFORE = 2097152 + | + | WOPN_DP_BOTTOM = 524288 + | + | WOPN_DP_FLOATING = 8388608 + | + | WOPN_DP_INSIDE = 1048576 + | + | WOPN_DP_INSIDE_BEFORE = 3145728 + | + | WOPN_DP_LEFT = 65536 + | + | WOPN_DP_RIGHT = 262144 + | + | WOPN_DP_TAB = 4194304 + | + | WOPN_DP_TAB_BEFORE = 6291456 + | + | WOPN_DP_TOP = 131072 + | + | WOPN_MDI = 1 + | + | WOPN_MENU = 16 + | + | WOPN_ONTOP = 8 + | + | WOPN_PERSIST = 64 + | + | WOPN_RESTORE = 4 + | + | WOPN_TAB = 2 + +Help on function TWidget__from_ptrval__ in module ida_kernwin: + +TWidget__from_ptrval__(*args) + TWidget__from_ptrval__(ptrval) -> TWidget * + +Help on class UI_Hooks in module ida_kernwin: + +class UI_Hooks(__builtin__.object) + | Proxy of C++ UI_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> UI_Hooks + | + | __repr__ = _swig_repr(self) + | + | create_desktop_widget(self, *args) + | create_desktop_widget(self, title, cfg) -> PyObject * + | + | current_widget_changed(self, *args) + | current_widget_changed(self, widget, prev_widget) + | + | database_inited(self, *args) + | database_inited(self, is_new_database, idc_script) + | + | debugger_menu_change(self, *args) + | debugger_menu_change(self, enable) + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | finish_populating_widget_popup(self, *args) + | finish_populating_widget_popup(self, widget, popup_handle, ctx=None) + | + | + | The UI is about to be done populating the TWidget's popup menu. + | Now is a good time to call idaapi.attach_action_to_popup() + | + | @param widget: The widget + | @param popup: The popup menu. + | @return: Ignored + | + | get_chooser_item_attrs(self, *args) + | get_chooser_item_attrs(self, chooser, n, attrs) + | + | get_custom_viewer_hint(self, *args) + | get_custom_viewer_hint(self, viewer, place) -> PyObject * + | + | get_ea_hint(self, *args) + | get_ea_hint(self, ea) -> PyObject * + | + | + | The UI wants to display a simple hint for an address in the navigation band + | + | @param ea: The address + | @return: String with the hint or None + | + | get_item_hint(self, *args) + | get_item_hint(self, ea, max_lines) -> PyObject * + | + | get_widget_config(self, *args) + | get_widget_config(self, widget, cfg) -> PyObject * + | + | hook(self, *args) + | hook(self) -> bool + | + | + | Creates an UI hook + | + | @return: Boolean true on success + | + | idcstart(self, *args) + | idcstart(self) + | + | idcstop(self, *args) + | idcstop(self) + | + | plugin_loaded(self, *args) + | plugin_loaded(self, plugin_info) + | + | plugin_unloading(self, *args) + | plugin_unloading(self, plugin_info) + | + | populating_widget_popup(self, *args) + | populating_widget_popup(self, widget, popup_handle, ctx=None) + | + | + | The UI is populating the TWidget's popup menu. + | Now is a good time to call idaapi.attach_action_to_popup() + | + | @param widget: The widget + | @param popup: The popup menu. + | @return: Ignored + | + | postprocess_action(self, *args) + | postprocess_action(self) + | + | + | An ida ui action has been handled + | + | @return: Ignored + | + | preprocess_action(self, *args) + | preprocess_action(self, name) + | + | + | IDA ui is about to handle a user action + | + | @param name: ui action name + | (these names can be looked up in ida[tg]ui.cfg) + | @return: 0-ok, nonzero - a plugin has handled the action + | + | range(self, *args) + | range(self) + | + | ready_to_run(self, *args) + | ready_to_run(self) + | + | resume(self, *args) + | resume(self) + | + | saved(self, *args) + | saved(self) + | + | + | The kernel has saved the database. + | + | @return: Ignored + | + | saving(self, *args) + | saving(self) + | + | + | The kernel is saving the database. + | + | @return: Ignored + | + | screen_ea_changed(self, *args) + | screen_ea_changed(self, ea, prev_ea) + | + | set_widget_config(self, *args) + | set_widget_config(self, widget, cfg) + | + | suspend(self, *args) + | suspend(self) + | + | term(self, *args) + | term(self) + | + | + | IDA is terminated and the database is already closed. + | The UI may close its windows in this callback. + | + | unhook(self, *args) + | unhook(self) -> bool + | + | + | Removes the UI hook + | @return: Boolean true on success + | + | updated_actions(self, *args) + | updated_actions(self) + | + | + | The UI is done updating actions. + | + | @return: Ignored + | + | updating_actions(self, *args) + | updating_actions(self, ctx) + | + | + | The UI is about to batch-update some actions. + | + | @param ctx: The action_update_ctx_t instance + | @return: Ignored + | + | widget_closing(self, *args) + | widget_closing(self, widget) + | + | widget_invisible(self, *args) + | widget_invisible(self, widget) + | + | widget_visible(self, *args) + | widget_visible(self, widget) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_UI_Hooks(self) + +Help on class View_Hooks in module ida_kernwin: + +class View_Hooks(__builtin__.object) + | Proxy of C++ View_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> View_Hooks + | + | __repr__ = _swig_repr(self) + | + | dump_state(self, *args) + | dump_state(self) -> qstring + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | view_activated(self, *args) + | view_activated(self, view) + | + | view_click(self, *args) + | view_click(self, view, event) + | + | view_close(self, *args) + | view_close(self, view) + | + | view_created(self, *args) + | view_created(self, view) + | + | view_curpos(self, *args) + | view_curpos(self, view) + | + | view_dblclick(self, *args) + | view_dblclick(self, view, event) + | + | view_deactivated(self, *args) + | view_deactivated(self, view) + | + | view_keydown(self, *args) + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, *args) + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, *args) + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, *args) + | view_mouse_over(self, view, event) + | + | view_switched(self, *args) + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_View_Hooks(self) + +Help on class __qtimer_t in module ida_kernwin: + +class __qtimer_t(__builtin__.object) + | Proxy of C++ __qtimer_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qtimer_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete___qtimer_t(self) + +Help on function _ask_addr in module ida_kernwin: + +_ask_addr(*args) + _ask_addr(addr, format) -> bool + +Help on function _ask_long in module ida_kernwin: + +_ask_long(*args) + _ask_long(value, format) -> bool + +Help on function _ask_seg in module ida_kernwin: + +_ask_seg(*args) + _ask_seg(sel, format) -> bool + +Help on function _call_ask_form in module ida_kernwin: + +_call_ask_form(*args) + +Help on function _call_open_form in module ida_kernwin: + +_call_open_form(*args) + +Help on class action_ctx_base_t in module ida_kernwin: + +class action_ctx_base_t(__builtin__.object) + | Proxy of C++ action_ctx_base_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> action_ctx_base_t + | + | __repr__ = _swig_repr(self) + | + | _get_form(self, *args) + | _get_form(self) -> TWidget * + | + | _get_form_title(self, *args) + | _get_form_title(self) -> qstring + | + | _get_form_type(self, *args) + | _get_form_type(self) -> twidget_type_t + | + | has_flag(self, *args) + | has_flag(self, flag) -> bool + | + | reset(self, *args) + | reset(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | action + | action_ctx_base_t_action_get(self) -> char const * + | + | chooser_selection + | action_ctx_base_t_chooser_selection_get(self) -> sizevec_t * + | + | cur_ea + | action_ctx_base_t_cur_ea_get(self) -> ea_t + | + | cur_enum + | action_ctx_base_t_cur_enum_get(self) -> enum_t + | + | cur_extracted_ea + | action_ctx_base_t_cur_value_get(self) -> uval_t + | + | cur_fchunk + | action_ctx_base_t_cur_fchunk_get(self) -> func_t * + | + | cur_flags + | action_ctx_base_t_cur_flags_get(self) -> uint32 + | + | cur_func + | action_ctx_base_t_cur_func_get(self) -> func_t * + | + | cur_seg + | action_ctx_base_t_cur_seg_get(self) -> segment_t * + | + | cur_strmem + | action_ctx_base_t_cur_strmem_get(self) -> member_t * + | + | cur_struc + | action_ctx_base_t_cur_struc_get(self) -> struc_t * + | + | cur_value + | action_ctx_base_t_cur_value_get(self) -> uval_t + | + | focus + | action_ctx_base_t_focus_get(self) -> TWidget * + | + | form + | _get_form(self) -> TWidget * + | + | form_title + | _get_form_title(self) -> qstring + | + | form_type + | _get_form_type(self) -> twidget_type_t + | + | graph_selection + | action_ctx_base_t_graph_selection_get(self) -> screen_graph_selection_t * + | + | regname + | action_ctx_base_t_regname_get(self) -> char const * + | + | thisown + | The membership flag + | + | widget + | action_ctx_base_t_widget_get(self) -> TWidget * + | + | widget_title + | action_ctx_base_t_widget_title_get(self) -> qstring * + | + | widget_type + | action_ctx_base_t_widget_type_get(self) -> twidget_type_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_action_ctx_base_t(self) + +Help on class action_desc_t in module ida_kernwin: + +class action_desc_t(__builtin__.object) + | Proxy of C++ action_desc_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, name, label, handler, shortcut=None, tooltip=None, icon=-1, flags=0) -> action_desc_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | action_desc_t_cb_get(self) -> int + | + | flags + | action_desc_t_flags_get(self) -> int + | + | icon + | action_desc_t_icon_get(self) -> int + | + | label + | action_desc_t_label_get(self) -> char const * + | + | name + | action_desc_t_name_get(self) -> char const * + | + | owner + | action_desc_t_owner_get(self) -> plugin_t const * + | + | shortcut + | action_desc_t_shortcut_get(self) -> char const * + | + | thisown + | The membership flag + | + | tooltip + | action_desc_t_tooltip_get(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_action_desc_t(self) + +Help on class action_handler_t in module ida_kernwin: + +class action_handler_t(__builtin__.object) + | # ---------------------------------------------------------------------- + | + | Methods defined here: + | + | __init__(self) + | + | activate(self, ctx) + | + | update(self, ctx) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function activate_widget in module ida_kernwin: + +activate_widget(*args) + activate_widget(widget, take_focus) + + + Activate widget (only gui version) ( 'ui_activate_widget' ). + + @param widget: existing widget to display (C++: TWidget *) + @param take_focus: give focus to given widget (C++: bool) + +Help on function add_hotkey in module ida_kernwin: + +add_hotkey(*args) + add_hotkey(hotkey, pyfunc) -> PyObject * + + + 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. + +Help on function add_idc_hotkey in module ida_kernwin: + +add_idc_hotkey(*args) + add_idc_hotkey(hotkey, idcfunc) -> int + + + Add hotkey for IDC function ( 'ui_add_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + @param idcfunc: IDC function name (C++: const char *) + @return: IDC hotkey error codes + +Help on function add_spaces in module ida_kernwin: + +add_spaces(*args) + add_spaces(s, len) -> PyObject * + + + 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 len: the desired length of the string (C++: ssize_t) + @return: pointer to the end of input string + +Help on function addon_count in module ida_kernwin: + +addon_count(*args) + addon_count() -> int + + + Get number of installed addons. + +Help on class addon_info_t in module ida_kernwin: + +class addon_info_t(__builtin__.object) + | Proxy of C++ addon_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> addon_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | addon_info_t_cb_get(self) -> size_t + | + | custom_data + | addon_info_t_custom_data_get(self) -> void const * + | + | custom_size + | addon_info_t_custom_size_get(self) -> size_t + | + | freeform + | addon_info_t_freeform_get(self) -> char const * + | + | id + | addon_info_t_id_get(self) -> char const * + | + | name + | addon_info_t_name_get(self) -> char const * + | + | producer + | addon_info_t_producer_get(self) -> char const * + | + | thisown + | The membership flag + | + | url + | addon_info_t_url_get(self) -> char const * + | + | version + | addon_info_t_version_get(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_addon_info_t(self) + +Help on function analyzer_options in module ida_kernwin: + +analyzer_options(*args) + analyzer_options() + + + Allow the user to set analyzer options. (show a dialog box) ( + 'ui_analyzer_options' ) + +Help on function ask_addr in module ida_kernwin: + +ask_addr(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_buttons in module ida_kernwin: + +ask_buttons(*args) + ask_buttons(Yes, No, Cancel, deflt, format) -> int + + + Display a dialog box and get choice from maximum three possibilities ( + 'ui_ask_buttons' ).for all buttons:use "" or NULL to take the default + name for the button.use 'format' to hide the cancel button + + @param Yes: text for the first button (C++: const char *) + @param No: text for the second button (C++: const char *) + @param Cancel: text for the third button (C++: const char *) + @param deflt: default choice: one of Button IDs (C++: int) + @param format: printf-style format string for question. It may have + some prefixes, see below. (C++: const char *) + @return: one of Button IDs specifying the selected button (Esc key + returns Cancel/3rd button value) + +Help on function ask_file in module ida_kernwin: + +ask_file(*args) + ask_file(for_saving, defval, format) -> char * + +Help on function ask_for_feedback in module ida_kernwin: + +ask_for_feedback(*args) + ask_for_feedback(format) + + + Show a message box asking to send the input file tosupport@hex- + rays.com. + + @param format: the reason why the input file is bad (C++: const char + *) + +Help on function ask_ident in module ida_kernwin: + +ask_ident(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_long in module ida_kernwin: + +ask_long(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_seg in module ida_kernwin: + +ask_seg(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_str in module ida_kernwin: + +ask_str(*args) + ask_str(defval, hist, prompt) -> PyObject * + + + Asks for a long text + + @param hist: history id + @param defval: The default value + @param prompt: The prompt value + @return: None or the entered string + +Help on function ask_text in module ida_kernwin: + +ask_text(*args) + ask_text(max_size, defval, prompt) -> PyObject * + + + 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 + +Help on function ask_yn in module ida_kernwin: + +ask_yn(*args) + ask_yn(deflt, format) -> int + + + Display a dialog box and get choice from "Yes", "No", "Cancel". + + @param deflt: default choice: one of Button IDs (C++: int) + @param format: The question in printf() style format (C++: const char + *) + @return: the selected button (one of Button IDs ). Esc key returns + ASKBTN_CANCEL . + +Help on function attach_action_to_menu in module ida_kernwin: + +attach_action_to_menu(*args) + attach_action_to_menu(menupath, name, flags) -> bool + + + Attach a previously-registered action to the menu ( + 'ui_attach_action_to_menu' ).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: 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 (C++: const + char *) + @param name: the action name (C++: const char *) + @param flags: a combination of Set menu flags , to determine menu + item position (C++: int) + @return: success + +Help on function attach_action_to_popup in module ida_kernwin: + +attach_action_to_popup(*args) + 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: target widget (C++: TWidget *) + @param popup_handle: target popup menu if non-NULL, the action is + added to this popup menu invocation (i.e., + 'single-shot') if NULL, the action is added to + a list of actions that should always be present + in context menus for this widget (i.e., + 'permanent'.) (C++: TPopupMenu *) + @param name: action name (C++: const char *) + @param popuppath: can be NULL (C++: const char *) + @param flags: a combination of SETMENU_ flags (see Set menu flags ) + (C++: int) + @return: success + +Help on function attach_action_to_toolbar in module ida_kernwin: + +attach_action_to_toolbar(*args) + attach_action_to_toolbar(toolbar_name, name) -> bool + + + Attach an action to an existing toolbar ( + 'ui_attach_action_to_toolbar' ). + + @param toolbar_name: the name of the toolbar (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on function attach_dynamic_action_to_popup in module ida_kernwin: + +attach_dynamic_action_to_popup(*args) + attach_dynamic_action_to_popup(widget, popup_handle, desc, popuppath=None, flags=0) -> bool + + + Create & insert an action into the widget's popup menu ( + 'ui_attach_dynamic_action_to_popup' ). 'action_desc_t::handler' for + 'desc' must be instantiated using 'new', as it will be 'delete'd when + the action is unregistered. + + @param widget: target widget (C++: TWidget *) + @param popup_handle: target popup (C++: TPopupMenu *) + @param desc: created with DYNACTION_DESC_LITERAL (C++: const + action_desc_t &) + @param popuppath: can be NULL (C++: const char *) + @param flags: a combination of SETMENU_ constants (see Set menu flags + ) (C++: int) + @return: success + +Help on function banner in module ida_kernwin: + +banner(*args) + banner(wait) -> bool + + + Show a banner dialog box ( 'ui_banner' ). + + @param wait: time to wait before closing (C++: int) + +Help on function beep in module ida_kernwin: + +beep(*args) + beep(beep_type=beep_default) + + + Issue a beeping sound ( 'ui_beep' ). + + @param beep_type: beep_t (C++: beep_t) + +Help on function call_nav_colorizer in module ida_kernwin: + +call_nav_colorizer(*args) + 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(). + +Help on function cancel_exec_request in module ida_kernwin: + +cancel_exec_request(*args) + cancel_exec_request(req_id) -> bool + + + Try to cancel an asynchronous exec request ( 'ui_cancel_exec_request' + ). + + @param req_id: request id (C++: int) + +Help on function choose_activate in module ida_kernwin: + +choose_activate(*args) + choose_activate(_self) + +Help on function choose_choose in module ida_kernwin: + +choose_choose(*args) + choose_choose(_self) -> PyObject * + +Help on function choose_close in module ida_kernwin: + +choose_close(*args) + choose_close(_self) + +Help on function choose_create_embedded_chobj in module ida_kernwin: + +choose_create_embedded_chobj(*args) + choose_create_embedded_chobj(_self) -> PyObject * + +Help on function choose_entry in module ida_kernwin: + +choose_entry(*args) + choose_entry(title) -> ea_t + + + Choose an entry point ( 'ui_choose' , 'chtype_entry' ). + + @param title: chooser title (C++: const char *) + @return: ea of selected entry point, BADADDR if none selected + +Help on function choose_enum in module ida_kernwin: + +choose_enum(*args) + choose_enum(title, default_id) -> enum_t + + + Choose an enum ( 'ui_choose' , 'chtype_enum' ). + + @param title: chooser title (C++: const char *) + @param default_id: id of enum to select by default (C++: enum_t) + @return: enum id of selected enum, BADNODE if none selected + +Help on function choose_enum_by_value in module ida_kernwin: + +choose_enum_by_value(*args) + choose_enum_by_value(title, default_id, value, nbytes) -> enum_t + + + 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 title: chooser title (C++: const char *) + @param default_id: id of enum to select by default (C++: enum_t) + @param value: value to search for (C++: uval_t) + @param nbytes: size of value (C++: int) + @return: enum id of selected (or imported) enum, BADNODE if none was + found + +Help on function choose_find in module ida_kernwin: + +choose_find(*args) + choose_find(title) -> PyObject * + +Help on function choose_func in module ida_kernwin: + +choose_func(*args) + choose_func(title, default_ea) -> func_t * + + + Choose a function ( 'ui_choose' , 'chtype_func' ). + + @param title: chooser title (C++: const char *) + @param default_ea: ea of function to select by default (C++: ea_t) + @return: pointer to function that was selected, NULL if none selected + +Help on function choose_get_widget in module ida_kernwin: + +choose_get_widget(*args) + choose_get_widget(_self) -> TWidget * + +Help on function choose_idasgn in module ida_kernwin: + +choose_idasgn(*args) + choose_idasgn() -> PyObject * + + + Opens the signature chooser + + @return: None or the selected signature name + +Help on function choose_name in module ida_kernwin: + +choose_name(*args) + choose_name(title) -> ea_t + + + Choose a name ( 'ui_choose' , 'chtype_name' ). + + @param title: chooser title (C++: const char *) + @return: ea of selected name, BADADDR if none selected + +Help on function choose_refresh in module ida_kernwin: + +choose_refresh(*args) + choose_refresh(_self) + +Help on function choose_segm in module ida_kernwin: + +choose_segm(*args) + choose_segm(title, default_ea) -> segment_t * + + + Choose a segment ( 'ui_choose' , 'chtype_segm' ). + + @param title: chooser title (C++: const char *) + @param default_ea: ea of segment to select by default (C++: ea_t) + @return: pointer to segment that was selected, NULL if none selected + +Help on function choose_srcp in module ida_kernwin: + +choose_srcp(*args) + choose_srcp(title) -> sreg_range_t * + + + Choose a segment register change point ( 'ui_choose' , 'chtype_srcp' + ). + + @param title: chooser title (C++: const char *) + @return: pointer to segment register range of selected change point, + NULL if none selected + +Help on function choose_stkvar_xref in module ida_kernwin: + +choose_stkvar_xref(*args) + choose_stkvar_xref(pfn, mptr) -> ea_t + + + Choose an xref to a stack variable ( 'ui_choose' , 'chtype_name' ). + + @param pfn: function (C++: func_t *) + @param mptr: variable (C++: member_t *) + @return: ea of the selected xref, BADADDR if none selected + +Help on function choose_struc in module ida_kernwin: + +choose_struc(*args) + choose_struc(title) -> struc_t * + + + Choose a structure ( 'ui_choose' , 'chtype_segm' ). + + @param title: chooser title; (C++: const char *) + @return: pointer to structure that was selected, NULL if none selected + +Help on function choose_til in module ida_kernwin: + +choose_til(*args) + choose_til() -> str + + + Choose a type library ( 'ui_choose' , 'chtype_idatil' ). + +Help on function choose_xref in module ida_kernwin: + +choose_xref(*args) + choose_xref(to) -> ea_t + + + Choose an xref to an address ( 'ui_choose' , 'chtype_xref' ). + + @param to: referenced address (C++: ea_t) + @return: ea of selected xref, BADADDR if none selected + +Help on class chooser_item_attrs_t in module ida_kernwin: + +class chooser_item_attrs_t(__builtin__.object) + | Proxy of C++ chooser_item_attrs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> chooser_item_attrs_t + | + | __repr__ = _swig_repr(self) + | + | reset(self, *args) + | reset(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | color + | chooser_item_attrs_t_color_get(self) -> bgcolor_t + | + | flags + | chooser_item_attrs_t_flags_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_chooser_item_attrs_t(self) + +Help on function clear_refresh_request in module ida_kernwin: + +clear_refresh_request(*args) + clear_refresh_request(mask) + +Help on class cli_t in module ida_kernwin: + +class cli_t(ida_idaapi.pyidc_opaque_object_t) + | cli_t wrapper class. + | + | This class allows you to implement your own command line interface handlers. + | + | Method resolution order: + | cli_t + | ida_idaapi.pyidc_opaque_object_t + | __builtin__.object + | + | Methods defined here: + | + | __del__(self) + | + | __init__(self) + | + | register(self, flags=0, sname=None, lname=None, hint=None) + | 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 + | + | unregister(self) + | Unregisters the CLI (if it was registered) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function close_chooser in module ida_kernwin: + +close_chooser(*args) + close_chooser(title) -> bool + + + Close a non-modal chooser ( 'ui_close_chooser' ). + + @param title: window title of chooser to close (C++: const char *) + @return: success + +Help on function close_widget in module ida_kernwin: + +close_widget(*args) + close_widget(widget, options) + + + Close widget ( 'ui_close_widget' , only gui version). + + @param widget: pointer to the widget to close (C++: TWidget *) + @param options: Form close flags (C++: int) + +Help on function clr_cancelled in module ida_kernwin: + +clr_cancelled(*args) + clr_cancelled() + + + Clear "Cancelled" flag ( 'ui_clr_cancelled' ) + +Help on function create_code_viewer in module ida_kernwin: + +create_code_viewer(*args) + 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: the custom view to be added (C++: TWidget *) + @param flags: Code viewer flags (C++: int) + @param parent: widget to contain the new code viewer (C++: TWidget *) + +Help on function create_empty_widget in module ida_kernwin: + +create_empty_widget(*args) + create_empty_widget(title, icon=-1) -> TWidget * + + + Create an empty widget, serving as a container for custom user widgets + + @param title (C++: const char *) + @param icon (C++: int) + +Help on function create_menu in module ida_kernwin: + +create_menu(*args) + 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-NULL, 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: name of menu (must be unique) (C++: const char *) + @param label: label of menu (C++: const char *) + @param menupath: where should the menu be inserted (C++: const char *) + @return: success + +Help on function create_toolbar in module ida_kernwin: + +create_toolbar(*args) + create_toolbar(name, label, before=None, flags=0) -> bool + + + Create a toolbar with the given name, label and optional position + + @param name: name of toolbar (must be unique) (C++: const char *) + @param label: label of toolbar (C++: const char *) + @param before: if non-NULL, the toolbar before which the new toolbar + will be inserted (C++: const char *) + @param flags: a combination of create toolbar flags , to determine + toolbar position (C++: int) + @return: success + +Help on function custom_viewer_jump in module ida_kernwin: + +custom_viewer_jump(*args) + custom_viewer_jump(v, loc, flags=0) -> bool + + + Append 'loc' to the viewer's history, and cause the viewer to display + it. + + @param v: (TWidget *) (C++: TWidget *) + @param loc: (const lochist_entry_t &) (C++: const lochist_entry_t + &) + @param flags: (uint32) or'ed combination of CVNF_* values (C++: + uint32) + @return: success + +Help on function del_hotkey in module ida_kernwin: + +del_hotkey(*args) + del_hotkey(pyctx) -> bool + + + Deletes a previously registered function hotkey + + @param ctx: Hotkey context previously returned by add_hotkey() + + @return: Boolean. + +Help on function del_idc_hotkey in module ida_kernwin: + +del_idc_hotkey(*args) + del_idc_hotkey(hotkey) -> bool + + + Delete IDC function hotkey ( 'ui_del_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + +Help on function delete_menu in module ida_kernwin: + +delete_menu(*args) + delete_menu(name) -> bool + + + Delete an existing menu + + @param name: name of menu (C++: const char *) + @return: success + +Help on function delete_toolbar in module ida_kernwin: + +delete_toolbar(*args) + delete_toolbar(name) -> bool + + + Delete an existing toolbar + + @param name: name of toolbar (C++: const char *) + @return: success + +Help on function detach_action_from_menu in module ida_kernwin: + +detach_action_from_menu(*args) + detach_action_from_menu(menupath, name) -> bool + + + Detach an action from the menu ( 'ui_detach_action_from_menu' ). + + @param menupath: path to the menu item (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on function detach_action_from_popup in module ida_kernwin: + +detach_action_from_popup(*args) + 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: target widget (C++: TWidget *) + @param name: action name (C++: const char *) + +Help on function detach_action_from_toolbar in module ida_kernwin: + +detach_action_from_toolbar(*args) + detach_action_from_toolbar(toolbar_name, name) -> bool + + + Detach an action from the toolbar ( 'ui_detach_action_from_toolbar' ). + + @param toolbar_name: the name of the toolbar (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on class disasm_line_t in module ida_kernwin: + +class disasm_line_t(__builtin__.object) + | Proxy of C++ disasm_line_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> disasm_line_t + | __init__(self, other) -> disasm_line_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | at + | disasm_line_t_at_get(self) -> place_t + | + | bg_color + | disasm_line_t_bg_color_get(self) -> bgcolor_t + | + | is_default + | disasm_line_t_is_default_get(self) -> bool + | + | line + | disasm_line_t_line_get(self) -> qstring * + | + | prefix_color + | disasm_line_t_prefix_color_get(self) -> color_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_disasm_line_t(self) + +Help on class disasm_text_t in module ida_kernwin: + +class disasm_text_t(__builtin__.object) + | Proxy of C++ qvector< disasm_line_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> disasm_line_t + | + | __init__(self, *args) + | __init__(self) -> disasm_text_t + | __init__(self, x) -> disasm_text_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> disasm_line_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> disasm_line_t + | begin(self) -> disasm_line_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> disasm_line_t + | end(self) -> disasm_line_t + | + | erase(self, *args) + | erase(self, it) -> disasm_line_t + | erase(self, first, last) -> disasm_line_t + | + | extract(self, *args) + | extract(self) -> disasm_line_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=disasm_line_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> disasm_line_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> disasm_line_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_disasm_text_t(self) + +Help on function display_copyright_warning in module ida_kernwin: + +display_copyright_warning(*args) + display_copyright_warning() -> bool + + + Display copyright warning ( 'ui_copywarn' ). + + @return: yes/no + +Help on function display_widget in module ida_kernwin: + +display_widget(*args) + display_widget(widget, options, dest_ctrl=None) + + + Display a widget, dock it if not done before + + @param widget: widget to display (C++: TWidget *) + @param options: Widget open flags (C++: uint32) + @param dest_ctrl: where to dock: if NULL or invalid then use the + active docker if there is not create a new tab + relative to current active tab (C++: const char *) + +Help on function ea2str in module ida_kernwin: + +ea2str(*args) + ea2str(ea) -> str + + + Convert linear address to UTF-8 string. + + + @param ea (C++: ea_t) + +Help on function ea_viewer_history_push_and_jump in module ida_kernwin: + +ea_viewer_history_push_and_jump(*args) + 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: ea viewer (C++: TWidget *) + @param ea: jump destination (C++: ea_t) + @param x: coords on screen (C++: int) + @param y: coords on screen (C++: int) + @param lnnum: desired line number of given address (C++: int) + +Help on function enable_chooser_item_attrs in module ida_kernwin: + +enable_chooser_item_attrs(*args) + 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_attrsevents 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 *) + @param enable (C++: bool) + @return: success + +Help on class enumplace_t in module ida_kernwin: + +class enumplace_t(place_t) + | Proxy of C++ enumplace_t class. + | + | Method resolution order: + | enumplace_t + | place_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bmask + | enumplace_t_bmask_get(self) -> bmask_t + | + | idx + | enumplace_t_idx_get(self) -> size_t + | + | serial + | enumplace_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | value + | enumplace_t_value_get(self) -> uval_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enumplace_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) + | _print(self, out_buf, ud) + | + | adjust(self, *args) + | adjust(self, ud) + | + | beginning(self, *args) + | beginning(self, ud) -> bool + | + | clone(self, *args) + | clone(self) -> place_t + | + | compare(self, *args) + | compare(self, t2) -> int + | + | copyfrom(self, *args) + | copyfrom(self, _from) + | + | deserialize(self, *args) + | deserialize(self, _in) -> bool + | + | ending(self, *args) + | ending(self, ud) -> bool + | + | enter(self, *args) + | enter(self, arg2) -> place_t + | + | generate(self, *args) + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) + | id(self) -> int + | + | leave(self, *args) + | leave(self, arg2) + | + | makeplace(self, *args) + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) + | name(self) -> char const * + | + | next(self, *args) + | next(self, ud) -> bool + | + | prev(self, *args) + | prev(self, ud) -> bool + | + | rebase(self, *args) + | rebase(self, arg2) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | toea(self, *args) + | toea(self) -> ea_t + | + | touval(self, *args) + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on function error in module ida_kernwin: + +error(*args) + error(format) + + + Display a fatal message in a message box and quit IDA + + @param format: message to print + +Help on function execute_sync in module ida_kernwin: + +execute_sync(*args) + execute_sync(py_callable, reqf) -> int + + + 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 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 + +Help on function execute_ui_requests in module ida_kernwin: + +execute_ui_requests(*args) + 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 callabale item + +Help on function find_widget in module ida_kernwin: + +find_widget(*args) + 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: title of tab, or window title if widget is not tabbed + (C++: const char *) + @return: pointer to the TWidget, NULL if none is found + +Help on function formchgcbfa_close in module ida_kernwin: + +formchgcbfa_close(*args) + formchgcbfa_close(p_fa, close_normally) + +Help on function formchgcbfa_enable_field in module ida_kernwin: + +formchgcbfa_enable_field(*args) + formchgcbfa_enable_field(p_fa, fid, enable) -> bool + +Help on function formchgcbfa_get_field_value in module ida_kernwin: + +formchgcbfa_get_field_value(*args) + formchgcbfa_get_field_value(p_fa, fid, ft, sz) -> PyObject * + +Help on function formchgcbfa_get_focused_field in module ida_kernwin: + +formchgcbfa_get_focused_field(*args) + formchgcbfa_get_focused_field(p_fa) -> int + +Help on function formchgcbfa_move_field in module ida_kernwin: + +formchgcbfa_move_field(*args) + formchgcbfa_move_field(p_fa, fid, x, y, w, h) -> bool + +Help on function formchgcbfa_refresh_field in module ida_kernwin: + +formchgcbfa_refresh_field(*args) + formchgcbfa_refresh_field(p_fa, fid) + +Help on function formchgcbfa_set_field_value in module ida_kernwin: + +formchgcbfa_set_field_value(*args) + formchgcbfa_set_field_value(p_fa, fid, ft, py_val) -> bool + +Help on function formchgcbfa_set_focused_field in module ida_kernwin: + +formchgcbfa_set_focused_field(*args) + formchgcbfa_set_focused_field(p_fa, fid) -> bool + +Help on function formchgcbfa_show_field in module ida_kernwin: + +formchgcbfa_show_field(*args) + formchgcbfa_show_field(p_fa, fid, show) -> bool + +Help on function free_custom_icon in module ida_kernwin: + +free_custom_icon(*args) + free_custom_icon(icon_id) + + + Frees an icon loaded with load_custom_icon() + +Help on function gen_disasm_text in module ida_kernwin: + +gen_disasm_text(*args) + gen_disasm_text(text, ea1, ea2, truncate_lines) + + + Generate disassembly text for a range. + + @param text: result (C++: text_t &) + @param ea1: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @param truncate_lines: (on idainfo::margin ) (C++: bool) + +Help on function get_action_checkable in module ida_kernwin: + +get_action_checkable(*args) + get_action_checkable(name) -> bool + + + Get an action's checkability ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_checked in module ida_kernwin: + +get_action_checked(*args) + get_action_checked(name) -> bool + + + Get an action's checked state ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_icon in module ida_kernwin: + +get_action_icon(*args) + get_action_icon(name) -> bool + + + Get an action's icon ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_label in module ida_kernwin: + +get_action_label(*args) + get_action_label(name) -> str + + + Get an action's label ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_shortcut in module ida_kernwin: + +get_action_shortcut(*args) + get_action_shortcut(name) -> str + + + Get an action's shortcut ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_state in module ida_kernwin: + +get_action_state(*args) + get_action_state(name) -> bool + + + Get an action's state ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_tooltip in module ida_kernwin: + +get_action_tooltip(*args) + get_action_tooltip(name) -> str + + + Get an action's tooltip ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_visibility in module ida_kernwin: + +get_action_visibility(*args) + get_action_visibility(name) -> bool + + + Get an action's visibility ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_active_modal_widget in module ida_kernwin: + +get_active_modal_widget(*args) + 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 NULL even if it is currently shown. + + @return: TWidget * the active modal widget, or NULL + +Help on function get_addon_info in module ida_kernwin: + +get_addon_info(*args) + 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 *) + @param info (C++: addon_info_t *) + @return: false if not found + +Help on function get_addon_info_idx in module ida_kernwin: + +get_addon_info_idx(*args) + 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 + +Help on function get_chooser_data in module ida_kernwin: + +get_chooser_data(*args) + get_chooser_data(chooser_caption, n) -> PyObject * + + + Get the text corresponding to the index N in the chooser data. Use -1 + to get the header. + + @param chooser_caption (C++: const char *) + @param n (C++: int) + +Help on function get_chooser_obj in module ida_kernwin: + +get_chooser_obj(*args) + get_chooser_obj(chooser_caption) -> void * + + + Get the underlying object of the specified chooser ( + 'ui_get_chooser_obj' ).This is object is chooser-specific. + + @param chooser_caption (C++: const char *) + @return: the object that was used to create the chooser + +Help on function get_curline in module ida_kernwin: + +get_curline(*args) + 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) + +Help on function get_current_viewer in module ida_kernwin: + +get_current_viewer(*args) + get_current_viewer() -> TWidget * + + + Get current ida viewer (idaview or custom viewer) ( + 'ui_get_current_viewer' ) + +Help on function get_current_widget in module ida_kernwin: + +get_current_widget(*args) + get_current_widget() -> TWidget * + + + Get a pointer to the current widget ( 'ui_get_current_widget' ). + +Help on function get_cursor in module ida_kernwin: + +get_cursor(*args) + get_cursor() -> bool + + + Get the cursor position on the screen ( 'ui_get_cursor' ).coordinates + are 0-based + +Help on function get_custom_viewer_curline in module ida_kernwin: + +get_custom_viewer_curline(*args) + 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 + + @param custom_viewer: view (C++: TWidget *) + @param mouse: mouse position (otherwise cursor position) (C++: bool) + @return: pointer to contents of current line + +Help on function get_custom_viewer_location in module ida_kernwin: + +get_custom_viewer_location(*args) + get_custom_viewer_location(out, custom_viewer, mouse=False) -> bool + + + Get the current location in a custom viewer ( + 'ui_get_custom_viewer_location' ). + + + @param out (C++: lochist_entry_t *) + @param custom_viewer (C++: TWidget *) + @param mouse (C++: bool) + +Help on function get_custom_viewer_place in module ida_kernwin: + +get_custom_viewer_place(*args) + 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: view (C++: TWidget *) + @param mouse: mouse position (otherwise cursor position) (C++: bool) + +Help on function get_ea_viewer_history_info in module ida_kernwin: + +get_ea_viewer_history_info(*args) + get_ea_viewer_history_info(nback, nfwd, v) -> bool + + + Get information about what's in the history ( + 'ui_ea_viewer_history_info' ). + + @param nback: number of available back steps (C++: int *) + @param nfwd: number of available forward steps (C++: int *) + @param v: ea viewer (C++: TWidget *) + +Help on function get_hexdump_ea in module ida_kernwin: + +get_hexdump_ea(*args) + get_hexdump_ea(hexdump_num) -> ea_t + + + Get the current address in a hex view. + + @param hexdump_num: number of hexview window (C++: int) + +Help on function get_highlight in module ida_kernwin: + +get_highlight(*args) + get_highlight(v) -> PyObject * + + + Returns the currently highlighted identifier and flags + + @return: a tuple (text, flags), or None if nothing + is highlighted or in case of error. + +Help on function get_kernel_version in module ida_kernwin: + +get_kernel_version(*args) + get_kernel_version() -> str + + + Get IDA kernel version (in a string like "5.1"). + +Help on function get_key_code in module ida_kernwin: + +get_key_code(*args) + get_key_code(keyname) -> ushort + + + Get keyboard key code by its name ( 'ui_get_key_code' ) + + + @param keyname (C++: const char *) + +Help on function get_navband_ea in module ida_kernwin: + +get_navband_ea(*args) + get_navband_ea(pixel) -> ea_t + + + Translate the pixel position on the navigation band, into an address. + + + @param pixel (C++: int) + +Help on function get_navband_pixel in module ida_kernwin: + +get_navband_pixel(*args) + get_navband_pixel(ea) -> int + + + Maps an address, onto a pixel coordinate within the navband + + @param ea: The address to map + @return: a list [pixel, is_vertical] + +Help on function get_opnum in module ida_kernwin: + +get_opnum(*args) + get_opnum() -> int + + + Get current operand number, -1 means no operand ( 'ui_get_opnum' ) + +Help on function get_output_curline in module ida_kernwin: + +get_output_curline(*args) + get_output_curline(mouse) -> str + + + Get current line of output window ( 'ui_get_output_curline' ). + + @param mouse: current for mouse pointer? (C++: bool) + @return: false if output contains no text + +Help on function get_output_cursor in module ida_kernwin: + +get_output_cursor(*args) + get_output_cursor() -> bool + + + Get coordinates of the output window's cursor ( 'ui_get_output_cursor' + ).coordinates are 0-basedthis function will succeed even if the output + window is not visible + +Help on function get_output_selected_text in module ida_kernwin: + +get_output_selected_text(*args) + get_output_selected_text() -> str + + + Returns selected text from output window ( + 'ui_get_output_selected_text' ). + + @return: true if there is a selection + +Help on function get_place_class in module ida_kernwin: + +get_place_class(*args) + 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: output flags (can be NULL) (C++: int *) + @param out_sdk_version: sdk version the place was created with (can be + NULL) (C++: int *) + @param id: place class ID (C++: int) + @return: the place_t template, or NULL if not found + +Help on function get_place_class_id in module ida_kernwin: + +get_place_class_id(*args) + get_place_class_id(name) -> int + + + Get the place class ID for the place that has been registered as + 'name'. + + @param name: the class name (C++: const char *) + @return: the place class ID, or -1 if not found + +Help on function get_place_class_template in module ida_kernwin: + +get_place_class_template(*args) + get_place_class_template(id) -> place_t + + + See 'get_place_class()' + + + @param id (C++: int) + +Help on function get_registered_actions in module ida_kernwin: + +get_registered_actions(*args) + get_registered_actions() -> PyObject * + + + Get a list of all currently-registered actions + +Help on function get_screen_ea in module ida_kernwin: + +get_screen_ea(*args) + get_screen_ea() -> ea_t + + + Get the address at the screen cursor ( 'ui_screenea' ) + +Help on function get_tab_size in module ida_kernwin: + +get_tab_size(*args) + get_tab_size(path) -> int + + + Get the size of a tab in spaces ( 'ui_get_tab_size' ). + + @param path: the path of the source view for which the tab size is + requested. if NULL, the default size is returned. (C++: + const char *) + +Help on function get_user_strlist_options in module ida_kernwin: + +get_user_strlist_options(*args) + get_user_strlist_options(out) + +Help on function get_view_renderer_type in module ida_kernwin: + +get_view_renderer_type(*args) + 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 *) + +Help on function get_viewer_place_type in module ida_kernwin: + +get_viewer_place_type(*args) + 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 *) + +Help on function get_viewer_user_data in module ida_kernwin: + +get_viewer_user_data(*args) + get_viewer_user_data(viewer) -> void * + + + Get the user data from a custom viewer ( 'ui_get_viewer_user_data' ) + + + @param viewer (C++: TWidget *) + +Help on function get_widget_title in module ida_kernwin: + +get_widget_title(*args) + get_widget_title(widget) -> str + + + Get the TWidget's title ( 'ui_get_widget_title' ). + + + @param widget (C++: TWidget *) + +Help on function get_widget_type in module ida_kernwin: + +get_widget_type(*args) + get_widget_type(widget) -> twidget_type_t + + + Get the type of the TWidget * ( 'ui_get_widget_type' ). + + + @param widget (C++: TWidget *) + +Help on function get_window_id in module ida_kernwin: + +get_window_id(*args) + get_window_id(name=None) -> void * + + + Get the system-specific window ID (GUI version only) + + @param name (C++: const char *) + @return: the low-level window ID + +Help on function hide_wait_box in module ida_kernwin: + +hide_wait_box(*args) + hide_wait_box() + + + Hide the "Please wait dialog box". + +Help on class idaplace_t in module ida_kernwin: + +class idaplace_t(place_t) + | Proxy of C++ idaplace_t class. + | + | Method resolution order: + | idaplace_t + | place_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ea + | idaplace_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idaplace_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) + | _print(self, out_buf, ud) + | + | adjust(self, *args) + | adjust(self, ud) + | + | beginning(self, *args) + | beginning(self, ud) -> bool + | + | clone(self, *args) + | clone(self) -> place_t + | + | compare(self, *args) + | compare(self, t2) -> int + | + | copyfrom(self, *args) + | copyfrom(self, _from) + | + | deserialize(self, *args) + | deserialize(self, _in) -> bool + | + | ending(self, *args) + | ending(self, ud) -> bool + | + | enter(self, *args) + | enter(self, arg2) -> place_t + | + | generate(self, *args) + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) + | id(self) -> int + | + | leave(self, *args) + | leave(self, arg2) + | + | makeplace(self, *args) + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) + | name(self) -> char const * + | + | next(self, *args) + | next(self, ud) -> bool + | + | prev(self, *args) + | prev(self, ud) -> bool + | + | rebase(self, *args) + | rebase(self, arg2) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | toea(self, *args) + | toea(self) -> ea_t + | + | touval(self, *args) + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on function info in module ida_kernwin: + +info(*args) + info(format) + +Help on function install_command_interpreter in module ida_kernwin: + +install_command_interpreter(*args) + install_command_interpreter(py_obj) -> int + + + Install command line interpreter ( 'ui_install_cli' ) + +Help on function internal_register_place_class in module ida_kernwin: + +internal_register_place_class(*args) + internal_register_place_class(tmplate, flags, owner, sdk_version) -> int + +Help on function is_action_enabled in module ida_kernwin: + +is_action_enabled(*args) + is_action_enabled(s) -> bool + + + Check if the given action state is one of AST_ENABLE*. + + + @param s (C++: action_state_t) + +Help on function is_chooser_widget in module ida_kernwin: + +is_chooser_widget(*args) + is_chooser_widget(t) -> bool + + + Does the given widget type specify a chooser widget? + + + @param t (C++: twidget_type_t) + +Help on function is_idaq in module ida_kernwin: + +is_idaq(*args) + is_idaq() -> bool + + + Returns True or False depending if IDAPython is hosted by IDAQ + +Help on function is_msg_inited in module ida_kernwin: + +is_msg_inited(*args) + is_msg_inited() -> bool + + + Can we use msg() functions? + +Help on function is_place_class_ea_capable in module ida_kernwin: + +is_place_class_ea_capable(*args) + is_place_class_ea_capable(id) -> bool + + + See 'get_place_class()' + + + @param id (C++: int) + +Help on function is_refresh_requested in module ida_kernwin: + +is_refresh_requested(*args) + is_refresh_requested(mask) -> bool + + + Get a refresh request state + + @param mask: Window refresh flags (C++: uint64) + @return: the state (set or cleared) + +Help on class jobj_wrapper_t in module ida_kernwin: + +class jobj_wrapper_t(__builtin__.object) + | Proxy of C++ jobj_wrapper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | get_dict(self, *args) + | get_dict(self) -> PyObject * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function jumpto in module ida_kernwin: + +jumpto(*args) + jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool + jumpto(custom_viewer, place, x, y) -> bool + + + Jump to the specified address ( 'ui_jumpto' ). + + @param ea: destination (C++: ea_t) + @param opnum: -1: don't change x coord (C++: int) + @param uijmp_flags: Jump flags (C++: int) + @return: success + +Help on function load_custom_icon in module ida_kernwin: + +load_custom_icon(file_name=None, data=None, format=None) + 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. + + @param file_name: The icon file name + @param data: The icon data + @param format: The icon data format + + @return: Icon id or 0 on failure. + Use free_custom_icon() to free it + + + Load an icon from a file ( 'ui_load_custom_icon_file' ). Also see + 'load_custom_icon(const void *, unsigned int, const char *)' + + @return: icon id + +Help on function load_dbg_dbginfo in module ida_kernwin: + +load_dbg_dbginfo(*args) + load_dbg_dbginfo(path, li=None, base=BADADDR, verbose=False) -> bool + + + Load debugging information from a file. + + @param path: path to file (C++: const char *) + @param li: loader input. if NULL, check DBG_NAME_KEY (C++: linput_t *) + @param base: loading address (C++: ea_t) + @param verbose: dump status to message window (C++: bool) + +Help on function lookup_key_code in module ida_kernwin: + +lookup_key_code(*args) + lookup_key_code(key, shift, is_qt) -> ushort + + + Get shortcut code previously created by 'ui_get_key_code' . + + @param key: key constant (C++: int) + @param shift: modifiers (C++: int) + @param is_qt: are we using gui version? (C++: bool) + +Help on function msg in module ida_kernwin: + +msg(*args) + msg(o) -> PyObject * + + + 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 + +Help on function msg_clear in module ida_kernwin: + +msg_clear(*args) + msg_clear() + + + Clear the "Output window". + +Help on function msg_get_lines in module ida_kernwin: + +msg_get_lines(*args) + 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: The number of lines to retrieve. -1 means: all (C++: + int) + +Help on function msg_save in module ida_kernwin: + +msg_save(*args) + msg_save(path) -> bool + + + Save the "Output window" contents into a file + + @param path: 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. (C++: qstring &) + @return: success + +Help on function nomem in module ida_kernwin: + +nomem(*args) + nomem(format) + +Help on function open_bpts_window in module ida_kernwin: + +open_bpts_window(*args) + open_bpts_window(ea) -> TWidget * + + + Open the breakpoints window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_calls_window in module ida_kernwin: + +open_calls_window(*args) + open_calls_window(ea) -> TWidget * + + + Open the function calls window ( 'ui_open_builtin' ). + + @param ea (C++: ea_t) + @return: pointer to resulting window + +Help on function open_disasm_window in module ida_kernwin: + +open_disasm_window(*args) + open_disasm_window(window_title, ranges=None) -> TWidget * + + + Open a disassembly view ( 'ui_open_builtin' ). + + @param window_title: title of view to open (C++: const char *) + @param ranges: if != NULL, then display a flow chart with the + specified ranges (C++: const rangevec_t *) + @return: pointer to resulting window + +Help on function open_enums_window in module ida_kernwin: + +open_enums_window(*args) + open_enums_window(const_id=BADADDR) -> TWidget * + + + Open the enums window ( 'ui_open_builtin' ). + + @param const_id: index of entry to select by default (C++: tid_t) + @return: pointer to resulting window + +Help on function open_exports_window in module ida_kernwin: + +open_exports_window(*args) + open_exports_window(ea) -> TWidget * + + + Open the exports window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_frame_window in module ida_kernwin: + +open_frame_window(*args) + open_frame_window(pfn, offset) -> TWidget * + + + Open the frame window for the given function ( 'ui_open_builtin' ). + + @param pfn: function to analyze (C++: func_t *) + @param offset: offset where the cursor is placed (C++: uval_t) + @return: pointer to resulting window if 'pfn' is a valid function and + the window was displayed, NULL otherwise + +Help on function open_funcs_window in module ida_kernwin: + +open_funcs_window(*args) + open_funcs_window(ea) -> TWidget * + + + Open the functions window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_hexdump_window in module ida_kernwin: + +open_hexdump_window(*args) + open_hexdump_window(window_title) -> TWidget * + + + Open a hexdump view ( 'ui_open_builtin' ). + + @param window_title: title of view to open (C++: const char *) + @return: pointer to resulting window + +Help on function open_imports_window in module ida_kernwin: + +open_imports_window(*args) + open_imports_window(ea) -> TWidget * + + + Open the exports window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_loctypes_window in module ida_kernwin: + +open_loctypes_window(*args) + open_loctypes_window(ordinal) -> TWidget * + + + Open the local types window ( 'ui_open_builtin' ). + + @param ordinal: ordinal of type to select by default (C++: int) + @return: pointer to resulting window + +Help on function open_modules_window in module ida_kernwin: + +open_modules_window(*args) + open_modules_window() -> TWidget * + + + Open the modules window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_names_window in module ida_kernwin: + +open_names_window(*args) + open_names_window(ea) -> TWidget * + + + Open the names window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_navband_window in module ida_kernwin: + +open_navband_window(*args) + open_navband_window(ea, zoom) -> TWidget * + + + Open the navigation band window ( 'ui_open_builtin' ). + + @param ea: sets the address of the navband arrow (C++: ea_t) + @param zoom: sets the navband zoom level (C++: int) + @return: pointer to resulting window + +Help on function open_notepad_window in module ida_kernwin: + +open_notepad_window(*args) + open_notepad_window() -> TWidget * + + + Open the notepad window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_problems_window in module ida_kernwin: + +open_problems_window(*args) + open_problems_window(ea) -> TWidget * + + + Open the problems window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_segments_window in module ida_kernwin: + +open_segments_window(*args) + open_segments_window(ea) -> TWidget * + + + Open the segments window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_segregs_window in module ida_kernwin: + +open_segregs_window(*args) + open_segregs_window(ea) -> TWidget * + + + Open the segment registers window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_selectors_window in module ida_kernwin: + +open_selectors_window(*args) + open_selectors_window() -> TWidget * + + + Open the selectors window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_signatures_window in module ida_kernwin: + +open_signatures_window(*args) + open_signatures_window() -> TWidget * + + + Open the signatures window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_stack_window in module ida_kernwin: + +open_stack_window(*args) + open_stack_window() -> TWidget * + + + Open the call stack window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_strings_window in module ida_kernwin: + +open_strings_window(*args) + open_strings_window(ea, selstart=BADADDR, selend=BADADDR) -> TWidget * + + + Open the strings window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @param selstart: only display strings that occur within this range + (C++: ea_t) + @param selend: only display strings that occur within this range (C++: + ea_t) + @return: pointer to resulting window + +Help on function open_structs_window in module ida_kernwin: + +open_structs_window(*args) + open_structs_window(id=BADADDR, offset=0) -> TWidget * + + + Open the structs window ( 'ui_open_builtin' ). + + @param id: index of entry to select by default (C++: tid_t) + @param offset: offset where the cursor is placed (C++: uval_t) + @return: pointer to resulting window + +Help on function open_threads_window in module ida_kernwin: + +open_threads_window(*args) + open_threads_window() -> TWidget * + + + Open the threads window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_tils_window in module ida_kernwin: + +open_tils_window(*args) + open_tils_window() -> TWidget * + + + Open the type libraries window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_trace_window in module ida_kernwin: + +open_trace_window(*args) + open_trace_window() -> TWidget * + + + Open the trace window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_url in module ida_kernwin: + +open_url(*args) + open_url(url) + + + Open the given url ( 'ui_open_url' ) + + + @param url (C++: const char *) + +Help on function open_xrefs_window in module ida_kernwin: + +open_xrefs_window(*args) + open_xrefs_window(ea) -> TWidget * + + + Open the cross references window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on class place_t in module ida_kernwin: + +class place_t(__builtin__.object) + | Proxy of C++ place_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, out_buf, ud) + | + | adjust(self, *args) + | adjust(self, ud) + | + | beginning(self, *args) + | beginning(self, ud) -> bool + | + | clone(self, *args) + | clone(self) -> place_t + | + | compare(self, *args) + | compare(self, t2) -> int + | + | copyfrom(self, *args) + | copyfrom(self, _from) + | + | deserialize(self, *args) + | deserialize(self, _in) -> bool + | + | ending(self, *args) + | ending(self, ud) -> bool + | + | enter(self, *args) + | enter(self, arg2) -> place_t + | + | generate(self, *args) + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) + | id(self) -> int + | + | leave(self, *args) + | leave(self, arg2) + | + | makeplace(self, *args) + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) + | name(self) -> char const * + | + | next(self, *args) + | next(self, ud) -> bool + | + | prev(self, *args) + | prev(self, ud) -> bool + | + | rebase(self, *args) + | rebase(self, arg2) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | toea(self, *args) + | toea(self) -> ea_t + | + | touval(self, *args) + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | as_enumplace_t(*args) + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_place_t(self) + +Help on function place_t_as_enumplace_t in module ida_kernwin: + +place_t_as_enumplace_t(*args) + place_t_as_enumplace_t(p) -> enumplace_t + +Help on function place_t_as_idaplace_t in module ida_kernwin: + +place_t_as_idaplace_t(*args) + place_t_as_idaplace_t(p) -> idaplace_t + +Help on function place_t_as_simpleline_place_t in module ida_kernwin: + +place_t_as_simpleline_place_t(*args) + place_t_as_simpleline_place_t(p) -> simpleline_place_t + +Help on function place_t_as_structplace_t in module ida_kernwin: + +place_t_as_structplace_t(*args) + place_t_as_structplace_t(p) -> structplace_t + +Help on function plgform_close in module ida_kernwin: + +plgform_close(*args) + plgform_close(py_link, options) + +Help on function plgform_get_widget in module ida_kernwin: + +plgform_get_widget(*args) + plgform_get_widget(py_link) -> TWidget * + +Help on function plgform_new in module ida_kernwin: + +plgform_new(*args) + plgform_new() -> PyObject * + +Help on function plgform_show in module ida_kernwin: + +plgform_show(*args) + plgform_show(py_link, py_obj, caption, options=WOPN_DP_TAB|WOPN_RESTORE) -> bool + +Help on function process_ui_action in module ida_kernwin: + +process_ui_action(*args) + process_ui_action(name, flags=0) -> bool + + + Invokes an IDA UI action by name + + @param name: action name + @return: Boolean + +Help on function py_get_ask_form in module ida_kernwin: + +py_get_ask_form(*args) + py_get_ask_form() -> size_t + +Help on function py_get_open_form in module ida_kernwin: + +py_get_open_form(*args) + py_get_open_form() -> size_t + +Help on function py_load_custom_icon_data in module ida_kernwin: + +py_load_custom_icon_data(*args) + py_load_custom_icon_data(data, format) -> int + +Help on function py_load_custom_icon_fn in module ida_kernwin: + +py_load_custom_icon_fn(*args) + py_load_custom_icon_fn(filename) -> int + +Help on function py_register_compiled_form in module ida_kernwin: + +py_register_compiled_form(*args) + py_register_compiled_form(py_form) + +Help on function py_ss_restore_callback in module ida_kernwin: + +py_ss_restore_callback(*args) + py_ss_restore_callback(err_msg, userdata) + +Help on function py_unregister_compiled_form in module ida_kernwin: + +py_unregister_compiled_form(*args) + py_unregister_compiled_form(py_form) + +Help on function pyidag_bind in module ida_kernwin: + +pyidag_bind(*args) + pyidag_bind(_self) -> bool + +Help on function pyidag_unbind in module ida_kernwin: + +pyidag_unbind(*args) + pyidag_unbind(_self) -> bool + +Help on function pyscv_add_line in module ida_kernwin: + +pyscv_add_line(*args) + pyscv_add_line(py_this, py_sl) -> bool + +Help on function pyscv_clear_lines in module ida_kernwin: + +pyscv_clear_lines(*args) + pyscv_clear_lines(py_this) -> PyObject * + +Help on function pyscv_close in module ida_kernwin: + +pyscv_close(*args) + pyscv_close(py_this) + +Help on function pyscv_count in module ida_kernwin: + +pyscv_count(*args) + pyscv_count(py_this) -> size_t + +Help on function pyscv_del_line in module ida_kernwin: + +pyscv_del_line(*args) + pyscv_del_line(py_this, nline) -> bool + +Help on function pyscv_edit_line in module ida_kernwin: + +pyscv_edit_line(*args) + pyscv_edit_line(py_this, nline, py_sl) -> bool + +Help on function pyscv_get_current_line in module ida_kernwin: + +pyscv_get_current_line(*args) + pyscv_get_current_line(py_this, mouse, notags) -> PyObject * + +Help on function pyscv_get_current_word in module ida_kernwin: + +pyscv_get_current_word(*args) + pyscv_get_current_word(py_this, mouse) -> PyObject * + +Help on function pyscv_get_line in module ida_kernwin: + +pyscv_get_line(*args) + pyscv_get_line(py_this, nline) -> PyObject * + +Help on function pyscv_get_pos in module ida_kernwin: + +pyscv_get_pos(*args) + pyscv_get_pos(py_this, mouse) -> PyObject * + +Help on function pyscv_get_selection in module ida_kernwin: + +pyscv_get_selection(*args) + pyscv_get_selection(py_this) -> PyObject * + +Help on function pyscv_get_widget in module ida_kernwin: + +pyscv_get_widget(*args) + pyscv_get_widget(py_this) -> TWidget * + +Help on function pyscv_init in module ida_kernwin: + +pyscv_init(*args) + pyscv_init(py_link, title) -> PyObject * + +Help on function pyscv_insert_line in module ida_kernwin: + +pyscv_insert_line(*args) + pyscv_insert_line(py_this, nline, py_sl) -> bool + +Help on function pyscv_is_focused in module ida_kernwin: + +pyscv_is_focused(*args) + pyscv_is_focused(py_this) -> bool + +Help on function pyscv_jumpto in module ida_kernwin: + +pyscv_jumpto(*args) + pyscv_jumpto(py_this, ln, x, y) -> bool + +Help on function pyscv_patch_line in module ida_kernwin: + +pyscv_patch_line(*args) + pyscv_patch_line(py_this, nline, offs, value) -> bool + +Help on function pyscv_refresh in module ida_kernwin: + +pyscv_refresh(*args) + pyscv_refresh(py_this) -> bool + +Help on function pyscv_show in module ida_kernwin: + +pyscv_show(*args) + pyscv_show(py_this) -> bool + +Help on function qcleanline in module ida_kernwin: + +qcleanline(*args) + qcleanline(cmt_char='\0', flags=((1 << 0)|(1 << 1))|(1 << 2)) -> str + + + Performs some cleanup operations to a line. + + @param cmt_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 (C++: char) + @param flags: a combination of line cleanup flags . defaults to + CLNL_TRIM (C++: uint32) + @return: length of line + +Help on class quick_widget_commands_t in module ida_kernwin: + +class quick_widget_commands_t + | # ---------------------------------------------------------------------- + | # This provides an alternative to register_action()+attach_action_to_popup_menu() + | + | Methods defined here: + | + | __init__(self, callback) + | + | add(self, caption, flags, menu_index, icon, emb, shortcut) + | + | populate_popup(self, widget, popup) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _ah_t = + | + | + | _cmd_t = + +Help on function read_range_selection in module ida_kernwin: + +read_range_selection(*args) + read_range_selection(v) -> bool + + + Get the address range for the selected range boundaries, this is the + convenient function for 'read_selection()' + + @param v: view, NULL means the last active window containing addresses + (C++: TWidget *) + +Help on function read_selection in module ida_kernwin: + +read_selection(*args) + 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 p0: Storage for the "from" part of the selection. + @param p1: Storage for the "to" part of the selection. + @return: a bool value indicating success. + +Help on function refresh_chooser in module ida_kernwin: + +refresh_chooser(*args) + refresh_chooser(title) -> bool + + + Mark a non-modal custom chooser for a refresh ( 'ui_refresh_chooser' + ). + + @param title: title of chooser (C++: const char *) + @return: success + +Help on function refresh_choosers in module ida_kernwin: + +refresh_choosers(*args) + refresh_choosers() + +Help on function refresh_idaview in module ida_kernwin: + +refresh_idaview(*args) + refresh_idaview() + + + Refresh marked windows ( 'ui_refreshmarked' ) + +Help on function refresh_idaview_anyway in module ida_kernwin: + +refresh_idaview_anyway(*args) + refresh_idaview_anyway() + + + Refresh all disassembly views ( 'ui_refresh' ), forces an immediate + refresh. Please consider 'request_refresh()' instead + +Help on function refresh_navband in module ida_kernwin: + +refresh_navband(*args) + refresh_navband(force) + + + Refresh navigation band if changed ( 'ui_refresh_navband' ). + + @param force: refresh regardless (C++: bool) + +Help on function register_action in module ida_kernwin: + +register_action(*args) + 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: action to register (C++: const action_desc_t &) + @return: success + +Help on function register_addon in module ida_kernwin: + +register_addon(*args) + 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 *) + +Help on function register_and_attach_to_menu in module ida_kernwin: + +register_and_attach_to_menu(*args) + register_and_attach_to_menu(menupath, name, label, shortcut, flags, handler, owner) -> 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 *) + @param name (C++: const char *) + @param label (C++: const char *) + @param shortcut (C++: const char *) + @param flags (C++: int) + @param handler (C++: action_handler_t *) + @param owner (C++: const plugin_t *) + +Help on function register_timer in module ida_kernwin: + +register_timer(*args) + register_timer(interval, py_callback) -> PyObject * + + + Register a timer + + @param interval: Interval in milliseconds + @param 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 + +Help on function remove_command_interpreter in module ida_kernwin: + +remove_command_interpreter(*args) + remove_command_interpreter(cli_idx) + + + Remove command line interpreter ( 'ui_install_cli' ) + +Help on class renderer_pos_info_t in module ida_kernwin: + +class renderer_pos_info_t(__builtin__.object) + | Proxy of C++ renderer_pos_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_pos_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cx + | renderer_pos_info_t_cx_get(self) -> short + | + | cy + | renderer_pos_info_t_cy_get(self) -> short + | + | node + | renderer_pos_info_t_node_get(self) -> int + | + | sx + | renderer_pos_info_t_sx_get(self) -> short + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_renderer_pos_info_t(self) + +Help on function repaint_custom_viewer in module ida_kernwin: + +repaint_custom_viewer(*args) + repaint_custom_viewer(custom_viewer) + + + Repaint the given widget immediately ( 'ui_repaint_qwidget' ) + + + @param custom_viewer (C++: TWidget *) + +Help on function replace_wait_box in module ida_kernwin: + +replace_wait_box(*args) + replace_wait_box(format) + + + Replace the label of "Please wait dialog box". + + + @param format (C++: const char *) + +Help on function request_refresh in module ida_kernwin: + +request_refresh(*args) + request_refresh(mask, cnd=True) + + + Request a refresh of a builtin window. + + @param mask: Window refresh flags (C++: uint64) + @param cnd: set if true or clear flag otherwise (C++: bool) + +Help on function restore_database_snapshot in module ida_kernwin: + +restore_database_snapshot(*args) + restore_database_snapshot(ss, pyfunc_or_none, pytuple_or_none) -> PyObject * + + + Restore a database snapshot. Note: This call is asynchronous. When it + is completed, the callback will be triggered. + + @param ss: snapshot instance (see build_snapshot_tree() ) (C++: const + snapshot_t *) + @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. + +Help on function set_cancelled in module ida_kernwin: + +set_cancelled(*args) + set_cancelled() + + + Set "Cancelled" flag ( 'ui_set_cancelled' ) + +Help on function set_code_viewer_handler in module ida_kernwin: + +set_code_viewer_handler(*args) + 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: the code viewer (C++: TWidget *) + @param handler_id: one of CDVH_ in custom_viewer_handler_id_t (C++: + custom_viewer_handler_id_t) + @param handler_or_data: can be a handler or data. see examples in + Functions: custom viewer handlers (C++: void + *) + @return: old value of the handler or data + +Help on function set_code_viewer_is_source in module ida_kernwin: + +set_code_viewer_is_source(*args) + 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 *) + +Help on function set_code_viewer_line_handlers in module ida_kernwin: + +set_code_viewer_line_handlers(*args) + 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 + NULL + + @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 *) + +Help on function set_code_viewer_lines_alignment in module ida_kernwin: + +set_code_viewer_lines_alignment(*args) + 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) + +Help on function set_code_viewer_lines_icon_margin in module ida_kernwin: + +set_code_viewer_lines_icon_margin(*args) + 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) + +Help on function set_code_viewer_lines_radix in module ida_kernwin: + +set_code_viewer_lines_radix(*args) + 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) + +Help on function set_code_viewer_user_data in module ida_kernwin: + +set_code_viewer_user_data(*args) + 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 *) + +Help on function set_custom_viewer_qt_aware in module ida_kernwin: + +set_custom_viewer_qt_aware(*args) + 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 *) + +Help on function set_dock_pos in module ida_kernwin: + +set_dock_pos(*args) + 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. + + @param src: Source docking control + @param dest: Destination docking control + @param orient: One of DOR_XXXX constants + @param left, top, right, bottom: These parameter if DOR_FLOATING is used, or if you want to specify the width of docked windows + @return: Boolean + + Example: + set_dock_pos('Structures', 'Enums', DOR_RIGHT) <- docks the Structures window to the right of Enums window + +Help on function set_highlight in module ida_kernwin: + +set_highlight(*args) + set_highlight(viewer, str, flags) -> bool + + + Set the highlighted identifier in the viewer ( 'ui_set_highlight' ). + + @param viewer: the viewer (C++: TWidget *) + @param str: the text to match, or NULL to remove current (C++: const + char *) + @param flags: combination of HIF_... bits (see set_highlightr flags ) + (C++: int) + @return: false if an error occurred + +Help on function set_nav_colorizer in module ida_kernwin: + +set_nav_colorizer(*args) + set_nav_colorizer(new_py_colorizer) -> PyObject * + + + 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) + +Help on function set_view_renderer_type in module ida_kernwin: + +set_view_renderer_type(*args) + 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) + +Help on function show_wait_box in module ida_kernwin: + +show_wait_box(*args) + show_wait_box(message) + + + Display a dialog box with "Please wait...". If the text message starts + with "HIDECANCEL\n", the cancel buttonwon't be displayed in the dialog + box and you don't need to checkfor cancellations with + 'user_cancelled()' . Plugins must call 'hide_wait_box()' to close the + dialog box, otherwise the user interface will be disabled.Note that, + if the wait dialog is already visible, 'show_wait_box()' will1) push + the currently-displayed text on a stack2) display the new textThen, + when 'hide_wait_box()' is called, if that stack isn't empty its + toplabel will be popped and restored in the wait dialog.This implies + that a plugin should call 'hide_wait_box()' exactly as manytimes as it + called 'show_wait_box()' , or the wait dialog might remainvisible 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 thedialog without pushing the currently- + displayed text on the stack. + +Help on class simplecustviewer_t in module ida_kernwin: + +class simplecustviewer_t(__builtin__.object) + | The base class for implementing simple custom viewers + | + | Methods defined here: + | + | AddLine(self, line, fgcolor=None, bgcolor=None) + | Adds a colored line to the view + | @return: Boolean + | + | ClearLines(self) + | Clears all the lines + | + | Close(self) + | Destroys the view. + | One has to call Create() afterwards. + | Show() can be called and it will call Create() internally. + | @return: Boolean + | + | Count(self) + | Returns the number of lines in the view + | + | Create(self, title) + | 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 + | + | DelLine(self, lineno) + | Deletes an existing line + | @return: Boolean + | + | EditLine(self, lineno, line, fgcolor=None, bgcolor=None) + | Edits an existing line. + | @return: Boolean + | + | GetCurrentLine(self, mouse=0, notags=0) + | 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 + | + | GetCurrentWord(self, mouse=0) + | 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 + | + | GetLine(self, lineno) + | Returns a line + | @param lineno: The line number + | @return: + | Returns a tuple (colored_line, fgcolor, bgcolor) or None + | + | GetLineNo(self, mouse=0) + | Calls GetPos() and returns the current line number or -1 on failure + | + | GetPos(self, mouse=0) + | Returns the current cursor or mouse position. + | @param mouse: return mouse position + | @return: Returns a tuple (lineno, x, y) + | + | GetSelection(self) + | Returns the selected range or None + | @return: + | - tuple(x1, y1, x2, y2) + | - None if no selection + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | InsertLine(self, lineno, line, fgcolor=None, bgcolor=None) + | Inserts a line in the given position + | @return: Boolean + | + | IsFocused(self) + | Returns True if the current view is the focused view + | + | Jump(self, lineno, x=0, y=0) + | + | OnPopup(self, form, popup_handle) + | Context menu popup is about to be shown. Create items dynamically if you wish + | @return: Boolean. True if you handled the event + | + | PatchLine(self, lineno, offs, value) + | Patches an existing line character at the given offset. This is a low level function. You must know what you're doing + | + | Refresh(self) + | + | RefreshCurrent(self) + | Refreshes the current line only + | + | Show(self) + | Shows an already created view. It the view was close, then it will call Create() for you + | @return: Boolean + | + | __init__(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _simplecustviewer_t__make_sl_arg = __make_sl_arg(line, fgcolor=None, bgcolor=None) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | UI_Hooks_Trampoline = + +Help on class simpleline_place_t in module ida_kernwin: + +class simpleline_place_t(place_t) + | Proxy of C++ simpleline_place_t class. + | + | Method resolution order: + | simpleline_place_t + | place_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | n + | simpleline_place_t_n_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_simpleline_place_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) + | _print(self, out_buf, ud) + | + | adjust(self, *args) + | adjust(self, ud) + | + | beginning(self, *args) + | beginning(self, ud) -> bool + | + | clone(self, *args) + | clone(self) -> place_t + | + | compare(self, *args) + | compare(self, t2) -> int + | + | copyfrom(self, *args) + | copyfrom(self, _from) + | + | deserialize(self, *args) + | deserialize(self, _in) -> bool + | + | ending(self, *args) + | ending(self, ud) -> bool + | + | enter(self, *args) + | enter(self, arg2) -> place_t + | + | generate(self, *args) + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) + | id(self) -> int + | + | leave(self, *args) + | leave(self, arg2) + | + | makeplace(self, *args) + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) + | name(self) -> char const * + | + | next(self, *args) + | next(self, ud) -> bool + | + | prev(self, *args) + | prev(self, ud) -> bool + | + | rebase(self, *args) + | rebase(self, arg2) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | toea(self, *args) + | toea(self) -> ea_t + | + | touval(self, *args) + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on class simpleline_t in module ida_kernwin: + +class simpleline_t(__builtin__.object) + | Proxy of C++ simpleline_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> simpleline_t + | __init__(self, c, str) -> simpleline_t + | __init__(self, str) -> simpleline_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bgcolor + | simpleline_t_bgcolor_get(self) -> bgcolor_t + | + | color + | simpleline_t_color_get(self) -> color_t + | + | line + | simpleline_t_line_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_simpleline_t(self) + +Help on function str2ea in module ida_kernwin: + +str2ea(*args) + str2ea(str, screenEA=BADADDR) -> ea_t + + + Converts a string express to EA. The expression evaluator may be called as well. + + @return: BADADDR or address value + +Help on function str2user in module ida_pro: + +str2user(*args) + str2user(str) -> PyObject * + + + Insert C-style escape characters to string + + @return: new string with escape characters inserted + +Help on function strarray in module ida_kernwin: + +strarray(*args) + 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 *) + @param array_size (C++: size_t) + @param code (C++: int) + +Help on class strarray_t in module ida_kernwin: + +class strarray_t(__builtin__.object) + | Proxy of C++ strarray_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strarray_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | strarray_t_code_get(self) -> int + | + | text + | strarray_t_text_get(self) -> char const * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_strarray_t(self) + +Help on class structplace_t in module ida_kernwin: + +class structplace_t(place_t) + | Proxy of C++ structplace_t class. + | + | Method resolution order: + | structplace_t + | place_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | idx + | structplace_t_idx_get(self) -> uval_t + | + | offset + | structplace_t_offset_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_structplace_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) + | _print(self, out_buf, ud) + | + | adjust(self, *args) + | adjust(self, ud) + | + | beginning(self, *args) + | beginning(self, ud) -> bool + | + | clone(self, *args) + | clone(self) -> place_t + | + | compare(self, *args) + | compare(self, t2) -> int + | + | copyfrom(self, *args) + | copyfrom(self, _from) + | + | deserialize(self, *args) + | deserialize(self, _in) -> bool + | + | ending(self, *args) + | ending(self, ud) -> bool + | + | enter(self, *args) + | enter(self, arg2) -> place_t + | + | generate(self, *args) + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) + | id(self) -> int + | + | leave(self, *args) + | leave(self, arg2) + | + | makeplace(self, *args) + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) + | name(self) -> char const * + | + | next(self, *args) + | next(self, ud) -> bool + | + | prev(self, *args) + | prev(self, ud) -> bool + | + | rebase(self, *args) + | rebase(self, arg2) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | toea(self, *args) + | toea(self) -> ea_t + | + | touval(self, *args) + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on class sync_source_t in module ida_kernwin: + +class sync_source_t(__builtin__.object) + | Proxy of C++ sync_source_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, _o) -> bool + | + | __init__(self, *args) + | __init__(self, _view) -> sync_source_t + | __init__(self, _regname) -> sync_source_t + | + | __ne__(self, *args) + | __ne__(self, _o) -> bool + | + | __repr__ = _swig_repr(self) + | + | get_register(self, *args) + | get_register(self) -> char const * + | + | get_widget(self, *args) + | get_widget(self) -> TWidget const * + | + | is_register(self, *args) + | is_register(self) -> bool + | + | is_widget(self, *args) + | is_widget(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sync_source_t(self) + +Help on function sync_sources in module ida_kernwin: + +sync_sources(*args) + 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 + +Help on function take_database_snapshot in module ida_kernwin: + +take_database_snapshot(*args) + take_database_snapshot(ss) -> PyObject * + + + Take a database snapshot ( 'ui_take_database_snapshot' ). + + @param ss: in/out parameter. in: description, flags out: filename, + id (C++: snapshot_t *) + @return: success + +Help on class textctrl_info_t in module ida_kernwin: + +class textctrl_info_t(ida_idaapi.py_clinked_object_t) + | Class representing textctrl_info_t + | + | Method resolution order: + | textctrl_info_t + | ida_idaapi.py_clinked_object_t + | ida_idaapi.pyidc_opaque_object_t + | __builtin__.object + | + | Methods defined here: + | + | __get_flags__(self) + | Returns the flags value + | + | __get_tabsize__(self) + | Returns the tabsize value + | + | __init__(self, text='', flags=0, tabsize=0) + | + | __set_flags__(self, flags) + | Sets the flags value + | + | __set_tabsize__(self, tabsize) + | Sets the tabsize value + | + | _create_clink(self) + | + | _del_clink(self, lnk) + | + | _get_clink_ptr(self) + | + | _textctrl_info_t__get_text = __get_text(self) + | Sets the text value + | + | _textctrl_info_t__set_text = __set_text(self, s) + | Sets the text value + | + | assign(self, other) + | Copies the contents of 'other' to 'self' + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | Returns the flags value + | + | tabsize + | Returns the tabsize value + | + | text + | Sets the text value + | + | value + | Sets the text value + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | TXTF_ACCEPTTABS = 2 + | + | TXTF_AUTOINDENT = 1 + | + | TXTF_FIXEDFONT = 32 + | + | TXTF_MODIFIED = 16 + | + | TXTF_READONLY = 4 + | + | TXTF_SELECTED = 8 + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_idaapi.py_clinked_object_t: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.py_clinked_object_t: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function textctrl_info_t_assign in module ida_kernwin: + +textctrl_info_t_assign(*args) + textctrl_info_t_assign(_self, other) -> bool + +Help on function textctrl_info_t_create in module ida_kernwin: + +textctrl_info_t_create(*args) + textctrl_info_t_create() -> PyObject * + +Help on function textctrl_info_t_destroy in module ida_kernwin: + +textctrl_info_t_destroy(*args) + textctrl_info_t_destroy(py_obj) -> bool + +Help on function textctrl_info_t_get_clink in module ida_kernwin: + +textctrl_info_t_get_clink(*args) + textctrl_info_t_get_clink(_self) -> textctrl_info_t * + +Help on function textctrl_info_t_get_clink_ptr in module ida_kernwin: + +textctrl_info_t_get_clink_ptr(*args) + textctrl_info_t_get_clink_ptr(_self) -> PyObject * + +Help on function textctrl_info_t_get_flags in module ida_kernwin: + +textctrl_info_t_get_flags(*args) + textctrl_info_t_get_flags(_self) -> unsigned int + +Help on function textctrl_info_t_get_tabsize in module ida_kernwin: + +textctrl_info_t_get_tabsize(*args) + textctrl_info_t_get_tabsize(_self) -> unsigned int + +Help on function textctrl_info_t_get_text in module ida_kernwin: + +textctrl_info_t_get_text(*args) + textctrl_info_t_get_text(_self) -> char const * + +Help on function textctrl_info_t_set_flags in module ida_kernwin: + +textctrl_info_t_set_flags(*args) + textctrl_info_t_set_flags(_self, flags) -> bool + +Help on function textctrl_info_t_set_tabsize in module ida_kernwin: + +textctrl_info_t_set_tabsize(*args) + textctrl_info_t_set_tabsize(_self, tabsize) -> bool + +Help on function textctrl_info_t_set_text in module ida_kernwin: + +textctrl_info_t_set_text(*args) + textctrl_info_t_set_text(_self, s) -> bool + +Help on class twinpos_t in module ida_kernwin: + +class twinpos_t(__builtin__.object) + | Proxy of C++ twinpos_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> twinpos_t + | __init__(self, t) -> twinpos_t + | __init__(self, t, x0) -> twinpos_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | place(self, view) + | + | place_as_enumplace_t(self) + | + | place_as_idaplace_t(self) + | + | place_as_simpleline_place_t(self) + | + | place_as_structplace_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | at + | twinpos_t_at_get(self) -> place_t + | + | thisown + | The membership flag + | + | x + | twinpos_t_x_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_twinpos_t(self) + +Help on function ui_load_new_file in module ida_kernwin: + +ui_load_new_file(*args) + 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: name of the file with the extracted archive member. + (C++: qstring *) + @param filename: the name of input file as is, library or archive name + (C++: qstring *) + @param pli: loader input source, may be changed to point to temp_file + (C++: linput_t **) + @param neflags: combination of NEF_... bits (see Load file flags ) + (C++: ushort) + @param ploaders: list of loaders which accept file, may be changed for + loaders of temp_file (C++: load_info_t **) + +Help on class ui_requests_t in module ida_kernwin: + +class ui_requests_t(__builtin__.object) + | Proxy of C++ ui_requests_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ui_requests_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ui_requests_t(self) + +Help on function ui_run_debugger in module ida_kernwin: + +ui_run_debugger(*args) + ui_run_debugger(dbgopts, exename, argc, argv) -> bool + + + Load a debugger plugin and run the specified program ( 'ui_run_dbg' ). + + @param dbgopts: value of the -r command line switch (C++: const char + *) + @param exename: name of the file to run (C++: const char *) + @param argc: number of arguments for the executable (C++: int) + @param argv: argument vector (C++: const char *const *) + @return: success + +Help on function unmark_selection in module ida_kernwin: + +unmark_selection(*args) + unmark_selection() + + + Unmark selection ( 'ui_unmarksel' ) + +Help on function unregister_action in module ida_kernwin: + +unregister_action(*args) + unregister_action(name) -> bool + + + Delete a previously-registered action ( 'ui_unregister_action' ). + + @param name: name of action (C++: const char *) + @return: success + +Help on function unregister_timer in module ida_kernwin: + +unregister_timer(*args) + 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. + +Help on function update_action_checkable in module ida_kernwin: + +update_action_checkable(*args) + update_action_checkable(name, checkable) -> bool + + + Update an action's checkability ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param checkable: new checkability (C++: bool) + @return: success + +Help on function update_action_checked in module ida_kernwin: + +update_action_checked(*args) + update_action_checked(name, checked) -> bool + + + Update an action's checked state ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param checked: new checked state (C++: bool) + @return: success + +Help on function update_action_icon in module ida_kernwin: + +update_action_icon(*args) + update_action_icon(name, icon) -> bool + + + Update an action's icon ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param icon: new icon id (C++: int) + @return: success + +Help on function update_action_label in module ida_kernwin: + +update_action_label(*args) + update_action_label(name, label) -> bool + + + Update an action's label ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param label: new label (C++: const char *) + @return: success + +Help on function update_action_shortcut in module ida_kernwin: + +update_action_shortcut(*args) + update_action_shortcut(name, shortcut) -> bool + + + Update an action's shortcut ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param shortcut: new shortcut (C++: const char *) + @return: success + +Help on function update_action_state in module ida_kernwin: + +update_action_state(*args) + update_action_state(name, state) -> bool + + + Update an action's state ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param state: new state (C++: action_state_t) + @return: success + +Help on function update_action_tooltip in module ida_kernwin: + +update_action_tooltip(*args) + update_action_tooltip(name, tooltip) -> bool + + + Update an action's tooltip ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param tooltip: new tooltip (C++: const char *) + @return: success + +Help on function update_action_visibility in module ida_kernwin: + +update_action_visibility(*args) + update_action_visibility(name, visible) -> bool + + + Update an action's visibility ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param visible: new visibility (C++: bool) + @return: success + +Help on function user_cancelled in module ida_kernwin: + +user_cancelled(*args) + user_cancelled() -> bool + + + Test the ctrl-break flag ( 'ui_test_cancelled' ). + +Help on class view_mouse_event_location_t in module ida_kernwin: + +class view_mouse_event_location_t(__builtin__.object) + | Proxy of C++ view_mouse_event_location_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> view_mouse_event_location_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | view_mouse_event_location_t_ea_get(self) -> ea_t + | + | item + | view_mouse_event_location_t_item_get(self) -> selection_item_t const * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = view_mouse_event_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | button + | view_mouse_event_t_button_get(self) -> vme_button_t + | + | location + | view_mouse_event_t_location_get(self) -> view_mouse_event_location_t + | + | renderer_pos + | view_mouse_event_t_renderer_pos_get(self) -> renderer_pos_info_t + | + | rtype + | view_mouse_event_t_rtype_get(self) -> tcc_renderer_type_t + | + | state + | view_mouse_event_t_state_get(self) -> view_event_state_t + | + | thisown + | The membership flag + | + | x + | view_mouse_event_t_x_get(self) -> uint32 + | + | y + | view_mouse_event_t_y_get(self) -> uint32 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_view_mouse_event_t(self) + +Help on function warning in module ida_kernwin: + +warning(*args) + warning(format) + + + Display a message in a message box + + @param message: 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 + +=== ida_kernwin EPYDOC INJECTIONS === +ida_kernwin.ACF_HAS_SELECTION +""" +there is currently a valid selection +""" + +ida_kernwin.ACF_XTRN_EA +""" +cur_ea is in 'externs' segment +""" + +ida_kernwin.ADF_NO_UNDO +""" +useful for actions that do not modify the database. + +the action does not create an undo point. +""" + +ida_kernwin.ADF_OWN_HANDLER +""" +handler is owned by the action; it'll be destroyed when the action is +unregistered. You shouldn't have to use this. +""" + +ida_kernwin.AHF_VERSION +""" +action handler version (used by 'action_handler_t::flags' ) +""" + +ida_kernwin.AHF_VERSION_MASK +""" +mask for 'action_handler_t::flags' +""" + +ida_kernwin.ASKBTN_BTN1 +""" +First (Yes) button. +""" + +ida_kernwin.ASKBTN_BTN2 +""" +Second (No) button. +""" + +ida_kernwin.ASKBTN_BTN3 +""" +Third (Cancel) button. +""" + +ida_kernwin.ASKBTN_CANCEL +""" +Cancel button. +""" + +ida_kernwin.ASKBTN_NO +""" +No button. +""" + +ida_kernwin.ASKBTN_YES +""" +Yes button. +""" + +ida_kernwin.BWN_ADDRWATCH +""" +the 'Watch List' window +""" + +ida_kernwin.BWN_BPTS +""" +breakpoints +""" + +ida_kernwin.BWN_CALLS +""" +function calls +""" + +ida_kernwin.BWN_CALLS_CALLEES +""" +function calls, callees +""" + +ida_kernwin.BWN_CALLS_CALLERS +""" +function calls, callers +""" + +ida_kernwin.BWN_CALL_STACK +""" +call stack +""" + +ida_kernwin.BWN_CHOOSER +""" +a non-builtin chooser +""" + +ida_kernwin.BWN_CLI +""" +the command-line, in the output window +""" + +ida_kernwin.BWN_CMDPALCSR +""" +the command palette chooser (Qt version only) +""" + +ida_kernwin.BWN_CMDPALWIN +""" +the command palette window (Qt version only) +""" + +ida_kernwin.BWN_CPUREGS +""" +one of the 'General registers', 'FPU register', ... debugger windows +""" + +ida_kernwin.BWN_CUSTVIEW +""" +custom viewers +""" + +ida_kernwin.BWN_CV_LINE_INFOS +""" +custom viewers' lineinfo widget +""" + +ida_kernwin.BWN_DISASM +""" +disassembly views +""" + +ida_kernwin.BWN_DISASMS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_DISASM_ARROWS +""" +disassembly arrows widget +""" + +ida_kernwin.BWN_DUMP +""" +hex dumps +""" + +ida_kernwin.BWN_DUMPS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_ENUMS +""" +enumerations +""" + +ida_kernwin.BWN_EXPORTS +""" +exports +""" + +ida_kernwin.BWN_FRAME +""" +function frame +""" + +ida_kernwin.BWN_FUNCS +""" +functions +""" + +ida_kernwin.BWN_IMPORTS +""" +imports +""" + +ida_kernwin.BWN_LOCALS +""" +the 'locals' debugger window +""" + +ida_kernwin.BWN_LOCTYPS +""" +local types +""" + +ida_kernwin.BWN_MDVIEWCSR +""" +lumina metadata view chooser +""" + +ida_kernwin.BWN_MODULES +""" +modules +""" + +ida_kernwin.BWN_NAMES +""" +names +""" + +ida_kernwin.BWN_NAVBAND +""" +navigation band +""" + +ida_kernwin.BWN_NOTEPAD +""" +notepad +""" + +ida_kernwin.BWN_OUTPUT +""" +the text area, in the output window +""" + +ida_kernwin.BWN_PROBS +""" +problems +""" + +ida_kernwin.BWN_PSEUDOCODE +""" +hexrays decompiler views +""" + +ida_kernwin.BWN_SCRIPTS_CSR +""" +the "Recent scripts" chooser +""" + +ida_kernwin.BWN_SEARCH +""" +search results +""" + +ida_kernwin.BWN_SEARCHS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_SEGREGS +""" +segment registers +""" + +ida_kernwin.BWN_SEGS +""" +segments +""" + +ida_kernwin.BWN_SELS +""" +selectors +""" + +ida_kernwin.BWN_SHORTCUTCSR +""" +the shortcuts chooser (Qt version only) +""" + +ida_kernwin.BWN_SHORTCUTWIN +""" +the shortcuts window (Qt version only) +""" + +ida_kernwin.BWN_SIGNS +""" +signatures +""" + +ida_kernwin.BWN_SNIPPETS +""" +the 'Execute script' window +""" + +ida_kernwin.BWN_SNIPPETS_CSR +""" +the list of snippets in the 'Execute script' window +""" + +ida_kernwin.BWN_SO_OFFSETS +""" +the 'Structure offsets' dialog's offset panel +""" + +ida_kernwin.BWN_SO_STRUCTS +""" +the 'Structure offsets' dialog's 'Structures and Unions' panel +""" + +ida_kernwin.BWN_SRCPTHMAP_CSR +""" +"Source paths..."'s path mappings chooser +""" + +ida_kernwin.BWN_SRCPTHUND_CSR +""" +"Source paths..."'s undesired paths chooser +""" + +ida_kernwin.BWN_STACK +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_STKVIEW +""" +the 'Stack view' debugger window +""" + +ida_kernwin.BWN_STRINGS +""" +strings +""" + +ida_kernwin.BWN_STRUCTS +""" +structures +""" + +ida_kernwin.BWN_THREADS +""" +threads +""" + +ida_kernwin.BWN_TILS +""" +type libraries +""" + +ida_kernwin.BWN_TRACE +""" +trace view +""" + +ida_kernwin.BWN_UNDOHIST +""" +Undo history. +""" + +ida_kernwin.BWN_UNKNOWN +""" +unknown window +""" + +ida_kernwin.BWN_WATCH +""" +the 'watches' debugger window +""" + +ida_kernwin.BWN_XREFS +""" +xrefs +""" + +ida_kernwin.CHCOL_DEC +""" +decimal number +""" + +ida_kernwin.CHCOL_DEFHIDDEN +""" +column should be hidden by default +""" + +ida_kernwin.CHCOL_EA +""" +address +""" + +ida_kernwin.CHCOL_FNAME +""" +function name +""" + +ida_kernwin.CHCOL_FORMAT +""" +column format mask +""" + +ida_kernwin.CHCOL_HEX +""" +hexadecimal number +""" + +ida_kernwin.CHCOL_PATH +""" +file path +""" + +ida_kernwin.CHCOL_PLAIN +""" +plain string +""" + +ida_kernwin.CHITEM_BOLD +""" +display the item in bold +""" + +ida_kernwin.CHITEM_GRAY +""" +gray out the item +""" + +ida_kernwin.CHITEM_ITALIC +""" +display the item in italic +""" + +ida_kernwin.CHITEM_STRIKE +""" +strikeout the item +""" + +ida_kernwin.CHITEM_UNDER +""" +underline the item +""" + +ida_kernwin.CHOOSER_MENU_EDIT +""" +Values of the 'menu_index' parameter. + +Obsolete. Please don't use +""" + +ida_kernwin.CHOOSER_MENU_JUMP +""" +Obsolete. Please don't use. +""" + +ida_kernwin.CHOOSER_MENU_SEARCH +""" +Obsolete. Please don't use. +""" + +ida_kernwin.CHOOSER_MULTI_SELECTION +""" +enable for multiple selections. A callback of type +'chooser_multi_cb_t' will be called for all selected items. +""" + +ida_kernwin.CHOOSER_NO_SELECTION +""" +Flags. + +enable even if there's no selected item. 'n' will be NO_SELECTION for +a callback. +""" + +ida_kernwin.CHOOSER_POPUP_MENU +""" +Add command to the popup menu. +""" + +ida_kernwin.CH_ATTRS +""" +generate ui_get_chooser_item_attrs (gui only) +""" + +ida_kernwin.CH_BUILTIN_MASK +""" +Mask for builtin chooser numbers. Plugins should not use them. +""" + +ida_kernwin.CH_CAN_DEL +""" +allow to delete existing item(s) +""" + +ida_kernwin.CH_CAN_EDIT +""" +allow to edit existing item(s) +""" + +ida_kernwin.CH_CAN_INS +""" +allow to insert new items +""" + +ida_kernwin.CH_CAN_REFRESH +""" +allow to refresh chooser +""" + +ida_kernwin.CH_FORCE_DEFAULT +""" +if a non-modal chooser was already open, change selection to the +default one +""" + +ida_kernwin.CH_KEEP +""" +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. +""" + +ida_kernwin.CH_MODAL +""" +Modal chooser. +""" + +ida_kernwin.CH_MULTI +""" +Obsolete. + +The chooser will allow multi-selection (only for GUI choosers). This +bit is set when using the 'chooser_multi_t' structure. +""" + +ida_kernwin.CH_NOBTNS +""" +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. +""" + +ida_kernwin.CH_NOIDB +""" +use the chooser before opening the database +""" + +ida_kernwin.CH_NO_STATUS_BAR +""" +don't show a status bar +""" + +ida_kernwin.CH_QFLT +""" +open with quick filter enabled and focused +""" + +ida_kernwin.CH_QFTYP_DEFAULT +""" +set quick filtering type to the possible existing default for this +chooser +""" + +ida_kernwin.CH_QFTYP_FUZZY +""" +fuzzy search quick filter type +""" + +ida_kernwin.CH_QFTYP_NORMAL +""" +normal (i.e., lexicographical) quick filter type +""" + +ida_kernwin.CH_QFTYP_REGEX +""" +regex quick filter type +""" + +ida_kernwin.CH_QFTYP_WHOLE_WORDS +""" +whole words quick filter type +""" + +ida_kernwin.CH_RESTORE +""" +restore floating position if present (equivalent of WOPN_RESTORE) (GUI +version only) +""" + +ida_kernwin.CLNL_FINDCMT +""" +Search for the comment symbol everywhere in the line, not only at the +beginning. +""" + +ida_kernwin.CLNL_LTRIM +""" +Remove leading space characters. +""" + +ida_kernwin.CLNL_RTRIM +""" +Remove trailing space characters. +""" + +ida_kernwin.CREATETB_ADV +""" +toolbar is for 'advanced mode' only +""" + +ida_kernwin.DP_BEFORE +""" +used with 'DP_INSIDE' . + +place src_form before dst_form in the tab bar instead of after +""" + +ida_kernwin.DP_BOTTOM +""" +Dock src_form below dest_form. +""" + +ida_kernwin.DP_FLOATING +""" +Make src_form floating. +""" + +ida_kernwin.DP_INSIDE +""" +Create a new tab bar with both src_form and dest_form. +""" + +ida_kernwin.DP_LEFT +""" +Dock src_form to the left of dest_form. +""" + +ida_kernwin.DP_RIGHT +""" +Dock src_form to the right of dest_form. +""" + +ida_kernwin.DP_TAB +""" +Place src_form into a tab next to dest_form, if dest_form is in a tab +bar (otherwise the same as 'DP_INSIDE' ) +""" + +ida_kernwin.DP_TOP +""" +Dock src_form above dest_form. +""" + +ida_kernwin.HIF_IDENTIFIER +""" +text is an identifier (i.e., when searching for the current highlight, +SEARCH_IDENT will be used) +""" + +ida_kernwin.HIF_LOCKED +""" +locked; clicking/moving the cursor around doesn't change the highlight +""" + +ida_kernwin.HIF_NOCASE +""" +case insensitive +""" + +ida_kernwin.HIF_REGISTER +""" +text represents a register (aliases/subregisters will be highlit as +well) +""" + +ida_kernwin.HIST_CMD +""" +commands +""" + +ida_kernwin.HIST_CMT +""" +comments +""" + +ida_kernwin.HIST_DIR +""" +directory names (text version only) +""" + +ida_kernwin.HIST_FILE +""" +file names +""" + +ida_kernwin.HIST_IDENT +""" +names +""" + +ida_kernwin.HIST_SEG +""" +segment names +""" + +ida_kernwin.HIST_SRCH +""" +search substrings +""" + +ida_kernwin.HIST_TYPE +""" +type declarations +""" + +ida_kernwin.IWID_ADDRWATCH +""" +address watches (47) +""" + +ida_kernwin.IWID_ALL +""" +mask +""" + +ida_kernwin.IWID_BPTS +""" +breakpoints (13) +""" + +ida_kernwin.IWID_CALLS +""" +function calls (11) +""" + +ida_kernwin.IWID_CALLS_CALLEES +""" +funcalls, callees (50) +""" + +ida_kernwin.IWID_CALLS_CALLERS +""" +funcalls, callers (49) +""" + +ida_kernwin.IWID_CALL_STACK +""" +call stack (17) +""" + +ida_kernwin.IWID_CHOOSER +""" +chooser (37) +""" + +ida_kernwin.IWID_CLI +""" +input line (33) +""" + +ida_kernwin.IWID_CMDPALCSR +""" +command palette (43) +""" + +ida_kernwin.IWID_CMDPALWIN +""" +command palette (44) +""" + +ida_kernwin.IWID_CPUREGS +""" +registers (40) +""" + +ida_kernwin.IWID_CUSTVIEW +""" +custom viewers (46) +""" + +ida_kernwin.IWID_CV_LINE_INFOS +""" +lineinfo widget (53) +""" + +ida_kernwin.IWID_DISASM +""" +disassembly views (29) +""" + +ida_kernwin.IWID_DISASM_ARROWS +""" +arrows widget (52) +""" + +ida_kernwin.IWID_DUMP +""" +hex dumps (30) +""" + +ida_kernwin.IWID_ENUMS +""" +enumerations (27) +""" + +ida_kernwin.IWID_EXPORTS +""" +exports (0) +""" + +ida_kernwin.IWID_FRAME +""" +function frame (25) +""" + +ida_kernwin.IWID_FUNCS +""" +functions (3) +""" + +ida_kernwin.IWID_IMPORTS +""" +imports (1) +""" + +ida_kernwin.IWID_LOCALS +""" +locals (35) +""" + +ida_kernwin.IWID_LOCTYPS +""" +local types (10) +""" + +ida_kernwin.IWID_MDVIEWCSR +""" +lumina md view (51) +""" + +ida_kernwin.IWID_MODULES +""" +modules (15) +""" + +ida_kernwin.IWID_NAMES +""" +names (2) +""" + +ida_kernwin.IWID_NAVBAND +""" +navigation band (26) +""" + +ida_kernwin.IWID_NOTEPAD +""" +notepad (31) +""" + +ida_kernwin.IWID_OUTPUT +""" +output (32) +""" + +ida_kernwin.IWID_PROBS +""" +problems (12) +""" + +ida_kernwin.IWID_PSEUDOCODE +""" +decompiler (48) +""" + +ida_kernwin.IWID_SCRIPTS_CSR +""" +recent scripts (58) +""" + +ida_kernwin.IWID_SEARCH +""" +search results (19) +""" + +ida_kernwin.IWID_SEGREGS +""" +segment registers (6) +""" + +ida_kernwin.IWID_SEGS +""" +segments (5) +""" + +ida_kernwin.IWID_SELS +""" +selectors (7) +""" + +ida_kernwin.IWID_SHORTCUTCSR +""" +shortcuts chooser (38) +""" + +ida_kernwin.IWID_SHORTCUTWIN +""" +shortcuts window (39) +""" + +ida_kernwin.IWID_SIGNS +""" +signatures (8) +""" + +ida_kernwin.IWID_SNIPPETS +""" +snippets (45) +""" + +ida_kernwin.IWID_SNIPPETS_CSR +""" +snippets chooser (57) +""" + +ida_kernwin.IWID_SO_OFFSETS +""" +stroff (42) +""" + +ida_kernwin.IWID_SO_STRUCTS +""" +stroff (41) +""" + +ida_kernwin.IWID_SRCPTHMAP_CSR +""" +mappings chooser (54) +""" + +ida_kernwin.IWID_SRCPTHUND_CSR +""" +undesired chooser (55) +""" + +ida_kernwin.IWID_STACK +""" +Alias. Some IWID_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.IWID_STKVIEW +""" +stack view (36) +""" + +ida_kernwin.IWID_STRINGS +""" +strings (4) +""" + +ida_kernwin.IWID_STRUCTS +""" +structures (28) +""" + +ida_kernwin.IWID_THREADS +""" +threads (14) +""" + +ida_kernwin.IWID_TILS +""" +type libraries (9) +""" + +ida_kernwin.IWID_TRACE +""" +trace view (16) +""" + +ida_kernwin.IWID_UNDOHIST +""" +Undo history (56) +""" + +ida_kernwin.IWID_WATCH +""" +watches (34) +""" + +ida_kernwin.IWID_XREFS +""" +xrefs (18) +""" + +ida_kernwin.MFF_FAST +""" +Execute code as soon as possible. this mode is ok for calling ui +related functions that do not query the database. +""" + +ida_kernwin.MFF_NOWAIT +""" +Do not wait for the request to be executed. the caller should ensure +that the request is not destroyed until the execution completes. if +not, the request will be ignored. 'execute_sync()' returns the request +id in this case. it can be used in 'cancel_exec_request()' . This flag +can be used to delay the code execution until the next UI loop run +even from the main thread. +""" + +ida_kernwin.MFF_READ +""" +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) +""" + +ida_kernwin.MFF_WRITE +""" +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' +""" + +ida_kernwin.SETMENU_APP +""" +add menu item after the specified path +""" + +ida_kernwin.SETMENU_FIRST +""" +add item to the beginning of menu +""" + +ida_kernwin.SETMENU_INS +""" +add menu item before the specified path (default) +""" + +ida_kernwin.UIJMP_ACTIVATE +""" +activate the new window +""" + +ida_kernwin.UIJMP_ANYVIEW +""" +jump in any ea_t-capable view +""" + +ida_kernwin.UIJMP_DONTPUSH +""" +in the navigation history + +do not remember the current address +""" + +ida_kernwin.UIJMP_IDAVIEW +""" +jump in idaview +""" + +ida_kernwin.UIJMP_IDAVIEW_NEW +""" +jump in new idaview +""" + +ida_kernwin.VES_SHIFT +""" +state & 1 => Shift is pressedstate & 2 => Alt is pressedstate & 4 => +Ctrl is pressedstate & 8 => Mouse left button is pressedstate & 16 => +Mouse right button is pressedstate & 32 => Mouse middle button is +pressedstate & 128 => Meta is pressed (OSX only) +""" +=== ida_kernwin EPYDOC INJECTIONS END === +Help on function COLSTR in module ida_lines: + +COLSTR(str, tag) + Utility function to create a colored line + @param str: The string + @param tag: Color tag constant. One of SCOLOR_XXXX + +Help on function add_extra_cmt in module ida_lines: + +add_extra_cmt(*args) + add_extra_cmt(ea, isprev, format) -> bool + + + Add anterior/posterior comment line(s). + + @param ea: linear address (C++: ea_t) + @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) + @param format: 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. (C++: const char *) + @return: true if success + +Help on function add_extra_line in module ida_lines: + +add_extra_line(*args) + add_extra_line(ea, isprev, format) -> bool + + + Add anterior/posterior non-comment line(s). + + @param ea: linear address (C++: ea_t) + @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) + @param format: printf() style format string. may contain \n to denote + new lines. (C++: const char *) + @return: true if success + +Help on function add_pgm_cmt in module ida_lines: + +add_pgm_cmt(*args) + add_pgm_cmt(format) -> bool + + + Add anterior comment line(s) at the start of program. + + @param format: 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. (C++: const char *) + @return: true if success + +Help on function add_sourcefile in module ida_lines: + +add_sourcefile(*args) + 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: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (excluded) + (C++: ea_t) + @param filename: name of source file. (C++: const char *) + @return: success + +Help on class bgcolors_t in module ida_lines: + +class bgcolors_t(__builtin__.object) + | Proxy of C++ bgcolors_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bgcolors_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | epilog_color + | bgcolors_t_epilog_color_get(self) -> bgcolor_t + | + | prolog_color + | bgcolors_t_prolog_color_get(self) -> bgcolor_t + | + | switch_color + | bgcolors_t_switch_color_get(self) -> bgcolor_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bgcolors_t(self) + +Help on function calc_bg_color in module ida_lines: + +calc_bg_color(*args) + calc_bg_color(ea) -> bgcolor_t + + + Get background color for line at 'ea' + + @param ea (C++: ea_t) + @return: RGB color + +Help on function calc_prefix_color in module ida_lines: + +calc_prefix_color(*args) + calc_prefix_color(ea) -> color_t + + + Get prefix color for line at 'ea' + + @param ea (C++: ea_t) + @return: Line prefix colors + +Help on function create_encoding_helper in module ida_lines: + +create_encoding_helper(*args) + create_encoding_helper(encidx=-1, nr=nr_once) -> encoder_t * + +Help on function del_extra_cmt in module ida_lines: + +del_extra_cmt(*args) + del_extra_cmt(ea, what) + +Help on function del_sourcefile in module ida_lines: + +del_sourcefile(*args) + del_sourcefile(ea) -> bool + + + Delete information about the source file. + + @param ea: linear address (C++: ea_t) + @return: success + +Help on function delete_extra_cmts in module ida_lines: + +delete_extra_cmts(*args) + delete_extra_cmts(ea, what) + +Help on function generate_disasm_line in module ida_lines: + +generate_disasm_line(*args) + generate_disasm_line(ea, flags=0) -> str + +Help on function generate_disassembly in module ida_lines: + +generate_disassembly(*args) + generate_disassembly(ea, max_lines, as_stack, notags) -> PyObject * + + + 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 + @return: + - None on failure + - tuple(most_important_line_number, tuple(lines)) : Returns a tuple containing + the most important line number and a tuple of generated lines + +Help on function get_extra_cmt in module ida_lines: + +get_extra_cmt(*args) + get_extra_cmt(ea, what) -> ssize_t + +Help on function get_first_free_extra_cmtidx in module ida_lines: + +get_first_free_extra_cmtidx(*args) + get_first_free_extra_cmtidx(ea, start) -> int + +Help on function get_sourcefile in module ida_lines: + +get_sourcefile(*args) + get_sourcefile(ea, bounds=None) -> char const * + + + Get name of source file occupying the given address. + + @param ea: linear address (C++: ea_t) + @param bounds: pointer to the output buffer with the address range for + the current file. May be NULL. (C++: range_t *) + @return: NULL if source file information is not found, otherwise + returns pointer to file name + +Help on function requires_color_esc in module ida_lines: + +requires_color_esc(c) + Checks if the given character requires escaping + @param c: character (string of one char) + @return: Boolean + + + Is the given char a color escape character? + +Help on function set_user_defined_prefix in module ida_lines: + +set_user_defined_prefix(*args) + set_user_defined_prefix(width, pycb) -> PyObject * + + + User-defined line-prefixes are displayed just after the autogenerated + line prefixes. In order to use them, the plugin should call the + following function to specify its width and contents. + @param width: the width of the user-defined prefix + @param callback: a get_user_defined_prefix callback to get the contents of the prefix. + Its arguments: + ea - linear address + lnnum - line number + indent - indent of the line contents (-1 means the default instruction) + indent and is used for instruction itself. see explanations for printf_line() + line - the line to be generated. the line usually contains color tags this argument + can be examined to decide whether to generated the prefix + It returns a buffer of size < bufsize + + In order to remove the callback before unloading the plugin, specify the width = 0 or the callback = None + +Help on function tag_addr in module ida_lines: + +tag_addr(*args) + tag_addr(ea) -> PyObject * + + + Insert an address mark into a string. + + @param ea: address to include (C++: ea_t) + +Help on function tag_advance in module ida_lines: + +tag_advance(*args) + tag_advance(line, cnt) -> int + + + Move pointer to a 'line' to 'cnt' positions right. Take into account + escape sequences. + + @param line: pointer to string (C++: const char *) + @param cnt: number of positions to move right (C++: int) + @return: moved pointer + +Help on function tag_remove in module ida_lines: + +tag_remove(*args) + tag_remove(nonnul_instr) -> PyObject * + + + Remove color escape sequences from a string + @param colstr: the colored string with embedded tags + @return: a new string w/o the tags + +Help on function tag_skipcode in module ida_lines: + +tag_skipcode(*args) + 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 *) + @return: moved pointer + +Help on function tag_skipcodes in module ida_lines: + +tag_skipcodes(*args) + tag_skipcodes(line) -> int + + + Move the pointer past all color codes. + + @param line: can't be NULL (C++: const char *) + @return: moved pointer, can't be NULL + +Help on function tag_strlen in module ida_lines: + +tag_strlen(*args) + 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 *) + @return: the number of codepoints in the line, or -1 on error + +Help on function update_extra_cmt in module ida_lines: + +update_extra_cmt(*args) + update_extra_cmt(ea, what, str) + +=== ida_lines EPYDOC INJECTIONS === +ida_lines.COLOR_ADDR_SIZE +""" +Size of a tagged address (see 'COLOR_ADDR' ) +""" + +ida_lines.COLOR_BG_MAX +""" +Max color number. +""" + +ida_lines.COLOR_CODE +""" +Single instruction. +""" + +ida_lines.COLOR_CURITEM +""" +Current item. +""" + +ida_lines.COLOR_CURLINE +""" +Current line. +""" + +ida_lines.COLOR_DATA +""" +Data bytes. +""" + +ida_lines.COLOR_DEFAULT +""" +Default. +""" + +ida_lines.COLOR_ESC +""" +Escape character (Quote next character). This is needed to output '\\1' +and '\\2' characters. +""" + +ida_lines.COLOR_EXTERN +""" +External name definition segment. +""" + +ida_lines.COLOR_HIDLINE +""" +Hidden line. +""" + +ida_lines.COLOR_INV +""" +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. +""" + +ida_lines.COLOR_LIBFUNC +""" +Library function. +""" + +ida_lines.COLOR_LUMFUNC +""" +Lumina function. +""" + +ida_lines.COLOR_OFF +""" +Followed by a color code ( 'color_t' ). + +Escape character (OFF). +""" + +ida_lines.COLOR_ON +""" +Followed by a color code ( 'color_t' ). + +Escape character (ON). +""" + +ida_lines.COLOR_REGFUNC +""" +Regular function. +""" + +ida_lines.COLOR_SELECTED +""" +Selected. +""" + +ida_lines.COLOR_UNKNOWN +""" +Unexplored byte. +""" + +ida_lines.SCOLOR_ADDR +""" +Hidden address mark. +""" + +ida_lines.SCOLOR_ALTOP +""" +Alternative operand. +""" + +ida_lines.SCOLOR_ASMDIR +""" +Assembler directive. +""" + +ida_lines.SCOLOR_AUTOCMT +""" +Automatic comment. +""" + +ida_lines.SCOLOR_BINPREF +""" +Binary line prefix bytes. +""" + +ida_lines.SCOLOR_CHAR +""" +Char constant in instruction. +""" + +ida_lines.SCOLOR_CNAME +""" +Regular code name. +""" + +ida_lines.SCOLOR_CODNAME +""" +Dummy code name. +""" + +ida_lines.SCOLOR_COLLAPSED +""" +Collapsed line. +""" + +ida_lines.SCOLOR_CREF +""" +Code reference. +""" + +ida_lines.SCOLOR_CREFTAIL +""" +Code reference to tail byte. +""" + +ida_lines.SCOLOR_DATNAME +""" +Dummy Data Name. +""" + +ida_lines.SCOLOR_DCHAR +""" +Char constant in data directive. +""" + +ida_lines.SCOLOR_DEFAULT +""" +Default. +""" + +ida_lines.SCOLOR_DEMNAME +""" +Demangled Name. +""" + +ida_lines.SCOLOR_DNAME +""" +Regular Data Name. +""" + +ida_lines.SCOLOR_DNUM +""" +Numeric constant in data directive. +""" + +ida_lines.SCOLOR_DREF +""" +Data reference. +""" + +ida_lines.SCOLOR_DREFTAIL +""" +Data reference to tail byte. +""" + +ida_lines.SCOLOR_DSTR +""" +String constant in data directive. +""" + +ida_lines.SCOLOR_ERROR +""" +Error or problem. +""" + +ida_lines.SCOLOR_ESC +""" +Escape character (Quote next character) +""" + +ida_lines.SCOLOR_EXTRA +""" +Extra line. +""" + +ida_lines.SCOLOR_HIDNAME +""" +Hidden name. +""" + +ida_lines.SCOLOR_IMPNAME +""" +Imported name. +""" + +ida_lines.SCOLOR_INSN +""" +Instruction. +""" + +ida_lines.SCOLOR_INV +""" +Escape character (Inverse colors) +""" + +ida_lines.SCOLOR_KEYWORD +""" +Keywords. +""" + +ida_lines.SCOLOR_LIBNAME +""" +Library function name. +""" + +ida_lines.SCOLOR_LOCNAME +""" +Local variable name. +""" + +ida_lines.SCOLOR_MACRO +""" +Macro. +""" + +ida_lines.SCOLOR_NUMBER +""" +Numeric constant in instruction. +""" + +ida_lines.SCOLOR_OFF +""" +Escape character (OFF) +""" + +ida_lines.SCOLOR_ON +""" +Escape character (ON) +""" + +ida_lines.SCOLOR_PREFIX +""" +Line prefix. +""" + +ida_lines.SCOLOR_REG +""" +Register name. +""" + +ida_lines.SCOLOR_REGCMT +""" +Regular comment. +""" + +ida_lines.SCOLOR_RPTCMT +""" +Repeatable comment (defined not here) +""" + +ida_lines.SCOLOR_SEGNAME +""" +Segment name. +""" + +ida_lines.SCOLOR_STRING +""" +String constant in instruction. +""" + +ida_lines.SCOLOR_SYMBOL +""" +Punctuation. +""" + +ida_lines.SCOLOR_UNAME +""" +Regular unknown name. +""" + +ida_lines.SCOLOR_UNKNAME +""" +Dummy unknown name. +""" + +ida_lines.SCOLOR_VOIDOP +""" +Void operand. +""" +=== ida_lines EPYDOC INJECTIONS END === +Help on function base2file in module ida_loader: + +base2file(*args) + base2file(fp, pos, ea1, ea2) -> int + + + Unload database to a binary file. This function works for wide byte + processors too. + + @param fp: pointer to file (C++: FILE *) + @param pos: position in the file (C++: qoff64_t) + @param ea1: range of source linear addresses (C++: ea_t) + @param ea2: range of source linear addresses (C++: ea_t) + @return: 1-ok(always), write error leads to immediate exit + +Help on function build_snapshot_tree in module ida_loader: + +build_snapshot_tree(*args) + build_snapshot_tree(root) -> bool + + + Build the snapshot tree. + + @param root: snapshot root that will contain the snapshot tree + elements. (C++: snapshot_t *) + @return: success + +Help on function clr_database_flag in module ida_loader: + +clr_database_flag(*args) + clr_database_flag(dbfl) + +Help on function extract_module_from_archive in module ida_loader: + +extract_module_from_archive(*args) + 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 is_remote: is the input file remote? (C++: bool) + +Help on function file2base in module ida_loader: + +file2base(*args) + 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: pointer of input source (C++: linput_t *) + @param pos: position in the file (C++: qoff64_t) + @param ea1: range of destination linear addresses (C++: ea_t) + @param ea2: range of destination linear addresses (C++: ea_t) + @param patchable: should the kernel remember correspondence of file + offsets to linear addresses. (C++: int) + +Help on function find_plugin in module ida_loader: + +find_plugin(*args) + find_plugin(name, load_if_needed=False) -> plugin_t * + + + Find a user-defined plugin and optionally load it. + + @param name: short plugin name without path and extension, or absolute + path to the file name (C++: const char *) + @param load_if_needed: if the plugin is not present in the memory, try + to load it (C++: bool) + @return: pointer to plugin description block + +Help on function flush_buffers in module ida_loader: + +flush_buffers(*args) + flush_buffers() -> int + + + Flush buffers to the disk. + +Help on function gen_exe_file in module ida_loader: + +gen_exe_file(*args) + 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 == NULL then return: 1: + can generate an executable file 0: can't generate an + executable file + +Help on function gen_file in module ida_loader: + +gen_file(*args) + gen_file(otype, fp, ea1, ea2, flags) -> int + + + Generate an output file. 'OFILE_EXE' : + + @param otype: type of output file. (C++: ofile_type_t) + @param fp: the output file handle (C++: FILE *) + @param ea1: start address. For some file types this argument is + ignored (C++: ea_t) + @param ea2: end address. For some file types this argument is ignored + as usual in ida, the end address of the range is not + included (C++: ea_t) + @param flags: Generate file flags (C++: int) + @return: number of the generated lines. -1 if an error occurred + +Help on function get_basic_file_type in module ida_loader: + +get_basic_file_type(*args) + 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 *) + +Help on function get_elf_debug_file_directory in module ida_loader: + +get_elf_debug_file_directory(*args) + get_elf_debug_file_directory() -> char const * + + + Get the value of the ELF_DEBUG_FILE_DIRECTORY configuration directive. + +Help on function get_file_type_name in module ida_loader: + +get_file_type_name(*args) + get_file_type_name() -> str + + + Get name of the current file type. The current file type is kept in + \inf{filetype}. + + @return: size of answer, this function always succeeds + +Help on function get_fileregion_ea in module ida_loader: + +get_fileregion_ea(*args) + 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) + +Help on function get_fileregion_offset in module ida_loader: + +get_fileregion_offset(*args) + 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) + +Help on function get_path in module ida_loader: + +get_path(*args) + get_path(pt) -> char const * + + + Get the file path + + @param pt: file path type Types of the file pathes (C++: path_type_t) + @return: file path, never returns NULL + +Help on function get_plugin_options in module ida_loader: + +get_plugin_options(*args) + 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 NULL if there we no options specified + + @param plugin (C++: const char *) + +Help on class idp_desc_t in module ida_loader: + +class idp_desc_t(__builtin__.object) + | Proxy of C++ idp_desc_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idp_desc_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | checked + | idp_desc_t_checked_get(self) -> bool + | + | family + | idp_desc_t_family_get(self) -> qstring * + | + | is_script + | idp_desc_t_is_script_get(self) -> bool + | + | mtime + | idp_desc_t_mtime_get(self) -> time_t + | + | names + | idp_desc_t_names_get(self) -> idp_names_t * + | + | path + | idp_desc_t_path_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idp_desc_t(self) + +Help on class idp_name_t in module ida_loader: + +class idp_name_t(__builtin__.object) + | Proxy of C++ idp_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idp_name_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hidden + | idp_name_t_hidden_get(self) -> bool + | + | lname + | idp_name_t_lname_get(self) -> qstring * + | + | sname + | idp_name_t_sname_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idp_name_t(self) + +Help on function is_database_flag in module ida_loader: + +is_database_flag(*args) + is_database_flag(dbfl) -> bool + + + Get the current database flag + + @param dbfl: flag Database flags (C++: uint32) + @return: the state of the flag (set or cleared) + +Help on function is_trusted_idb in module ida_loader: + +is_trusted_idb(*args) + is_trusted_idb() -> bool + + + Is the database considered as trusted? + +Help on function load_and_run_plugin in module ida_loader: + +load_and_run_plugin(*args) + load_and_run_plugin(name, arg) -> bool + + + Load & run a plugin. + + + @param name (C++: const char *) + @param arg (C++: size_t) + +Help on function load_binary_file in module ida_loader: + +load_binary_file(*args) + 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: the name of input file as is (if the input file is + from library, then this is the name from the library) + (C++: const char *) + @param li: loader input source (C++: linput_t *) + @param _neflags: Load file flags . For the first file, the flag + NEF_FIRST must be set. (C++: ushort) + @param fileoff: Offset in the input file (C++: qoff64_t) + @param basepara: Load address in paragraphs (C++: ea_t) + @param binoff: Load offset (load_address=(basepara<<4)+binoff) (C++: + ea_t) + @param nbytes: Number of bytes to load from the file. 0: up to the + end of the file (C++: uint64) + +Help on function load_ids_module in module ida_loader: + +load_ids_module(*args) + 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: name of file to apply (C++: char *) + +Help on function load_plugin in module ida_loader: + +load_plugin(*args) + load_plugin(name) -> PyObject * + + + Loads a plugin + @return: + - None if plugin could not be loaded + - An opaque object representing the loaded plugin + +Help on class loader_t in module ida_loader: + +class loader_t(__builtin__.object) + | Proxy of C++ loader_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> loader_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | loader_t_flags_get(self) -> uint32 + | + | thisown + | The membership flag + | + | version + | loader_t_version_get(self) -> uint32 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_loader_t(self) + +Help on function mem2base in module ida_loader: + +mem2base(*args) + mem2base(py_mem, ea, fpos=-1) -> int + + + Load database from the memory. + @param 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 + +Help on class plugin_info_t in module ida_loader: + +class plugin_info_t(__builtin__.object) + | Proxy of C++ plugin_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> plugin_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | arg + | plugin_info_t_arg_get(self) -> size_t + | + | comment + | plugin_info_t_comment_get(self) -> char * + | + | dllmem + | plugin_info_t_dllmem_get(self) -> idadll_t * + | + | entry + | plugin_info_t_entry_get(self) -> plugin_t * + | + | flags + | plugin_info_t_flags_get(self) -> int + | + | hotkey + | plugin_info_t_hotkey_get(self) -> ushort + | + | name + | plugin_info_t_name_get(self) -> char * + | + | next + | plugin_info_t_next_get(self) -> plugin_info_t + | + | org_hotkey + | plugin_info_t_org_hotkey_get(self) -> ushort + | + | org_name + | plugin_info_t_org_name_get(self) -> char * + | + | path + | plugin_info_t_path_get(self) -> char * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_plugin_info_t(self) + +Help on function process_archive in module ida_loader: + +process_archive(*args) + 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: + + @param temp_file (C++: qstring *) + @param li (C++: linput_t *) + @param module_name (C++: qstring *) + @param neflags (C++: ushort *) + @param defmember (C++: const char *) + @param loader: pointer to load_info_t structure. (C++: const + load_info_t *) + +Help on class qvector_snapshotvec_t in module ida_loader: + +class qvector_snapshotvec_t(__builtin__.object) + | Proxy of C++ qvector< snapshot_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> snapshot_t + | + | __init__(self, *args) + | __init__(self) -> qvector_snapshotvec_t + | __init__(self, x) -> qvector_snapshotvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> snapshot_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< snapshot_t * >::iterator + | begin(self) -> qvector< snapshot_t * >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< snapshot_t * >::iterator + | end(self) -> qvector< snapshot_t * >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< snapshot_t * >::iterator + | erase(self, first, last) -> qvector< snapshot_t * >::iterator + | + | extract(self, *args) + | extract(self) -> snapshot_t ** + | + | find(self, *args) + | find(self, x) -> qvector< snapshot_t * >::iterator + | find(self, x) -> qvector< snapshot_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< snapshot_t * >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> snapshot_t *& + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qvector_snapshotvec_t(self) + +Help on function reload_file in module ida_loader: + +reload_file(*args) + 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: name of the input file. if file == NULL then returns: + 1: can reload the input file 0: can't reload the input + file (C++: const char *) + @param is_remote: is the file located on a remote computer with the + debugger server? (C++: bool) + @return: success + +Help on function run_plugin in module ida_loader: + +run_plugin(*args) + run_plugin(plg, arg) -> bool + + + Runs a plugin + @param plg: A plugin object (returned by load_plugin()) + @return: Boolean + +Help on function save_database in module ida_loader: + +save_database(*args) + save_database(outfile, flags, root=None, attr=None) -> bool + + + Save current database using a new file name.when both root and attr + are not NULL then the snapshot attributes will be updated, otherwise + the snapshot attributes will be inherited from the current database. + + @param outfile: output database file name (C++: const char *) + @param flags: Database flags (C++: uint32) + @param root: optional: snapshot tree root. (C++: const snapshot_t *) + @param attr: optional: snapshot attributes (C++: const snapshot_t *) + @return: success + +Help on function set_database_flag in module ida_loader: + +set_database_flag(*args) + set_database_flag(dbfl, cnd=True) + + + Set or clear database flag + + @param dbfl: flag Database flags (C++: uint32) + @param cnd: set if true or clear flag otherwise (C++: bool) + +Help on function set_path in module ida_loader: + +set_path(*args) + set_path(pt, path) + + + Set the file path + + @param pt: file path type Types of the file pathes (C++: path_type_t) + @param path: new file path, use NULL or empty string to clear the file + path (C++: const char *) + +Help on class snapshot_t in module ida_loader: + +class snapshot_t(__builtin__.object) + | Proxy of C++ snapshot_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> snapshot_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | children + | snapshot_t_children_get(self) -> qvector_snapshotvec_t + | + | desc + | snapshot_t_desc_get(self) -> char [128] + | + | filename + | snapshot_t_filename_get(self) -> char [QMAXPATH] + | + | flags + | snapshot_t_flags_get(self) -> uint16 + | + | id + | snapshot_t_id_get(self) -> qtime64_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_snapshot_t(self) + +=== ida_loader EPYDOC INJECTIONS === +ida_loader.ACCEPT_ARCHIVE +""" +Specify that a file format is served by archive loader See +'loader_t::accept_file' +""" + +ida_loader.ACCEPT_CONTINUE +""" +Specify that the function must be called another time See +'loader_t::accept_file' +""" + +ida_loader.ACCEPT_FIRST +""" +Specify that a file format should be place first in "load file" dialog +box. See 'loader_t::accept_file' +""" + +ida_loader.DBFL_BAK +""" +create backup file (if !DBFL_KILL) +""" + +ida_loader.DBFL_COMP +""" +collect garbage +""" + +ida_loader.DBFL_KILL +""" +delete unpacked database +""" + +ida_loader.DBFL_TEMP +""" +temporary database +""" + +ida_loader.FILEREG_NOTPATCHABLE +""" +form in the file. + +the data is kept in some encoded +""" + +ida_loader.FILEREG_PATCHABLE +""" +means that the input file may be patched (i.e. no compression, no +iterated data, etc) +""" + +ida_loader.GENFLG_ASMINC +""" + 'OFILE_ASM' , 'OFILE_LST' : gen information only about types +""" + +ida_loader.GENFLG_ASMTYPE +""" + 'OFILE_ASM' , 'OFILE_LST' : gen information about types too +""" + +ida_loader.GENFLG_GENHTML +""" + 'OFILE_ASM' , 'OFILE_LST' : generate html ( 'ui_genfile_callback' +will be used) +""" + +ida_loader.GENFLG_IDCTYPE +""" + 'OFILE_IDC' : gen only information about types +""" + +ida_loader.GENFLG_MAPDMNG +""" + 'OFILE_MAP' : demangle names +""" + +ida_loader.GENFLG_MAPLOC +""" + 'OFILE_MAP' : include local names +""" + +ida_loader.GENFLG_MAPNAME +""" + 'OFILE_MAP' : include dummy names +""" + +ida_loader.GENFLG_MAPSEG +""" + 'OFILE_MAP' : generate map of segments +""" + +ida_loader.LDRF_RELOAD +""" +loader recognizes 'NEF_RELOAD' flag +""" + +ida_loader.LDRF_REQ_PROC +""" +Requires a processor to be set. if this bit is not set, load_file() +must call set_processor_type(..., SETPROC_LOADER) +""" + +ida_loader.MAX_DATABASE_DESCRIPTION +""" +Maximum database snapshot description length. +""" + +ida_loader.NEF_CODE +""" +load as a code segment + +for 'load_binary_file()' : +""" + +ida_loader.NEF_FILL +""" +Fill segment gaps. +""" + +ida_loader.NEF_FIRST +""" +into the database. + +This is the first file loaded +""" + +ida_loader.NEF_FLAT +""" +Autocreate FLAT group (PE) +""" + +ida_loader.NEF_IMPS +""" +Create import segment. +""" + +ida_loader.NEF_LALL +""" +Load all segments without questions. +""" + +ida_loader.NEF_LOPT +""" +Display additional loader options dialog. +""" + +ida_loader.NEF_MAN +""" +Manual load. +""" + +ida_loader.NEF_MINI +""" +Create mini database (do not copy segment bytes from the input file; +use only the file header metadata) +""" + +ida_loader.NEF_NAME +""" +Rename entries. +""" + +ida_loader.NEF_RELOAD +""" +reload the file at the same place: - don't create segmentsdon't create +fixup infodon't import segmentsetc load only the bytes into the base. +a loader should have 'LDRF_RELOAD' bit set +""" + +ida_loader.NEF_RSCS +""" +Load resources. +""" + +ida_loader.NEF_SEGS +""" +Create segments. +""" + +ida_loader.PLUGIN_DLL +""" +Pattern to find plugin files. +""" + +ida_loader.SSF_AUTOMATIC +""" +automatic snapshot +""" + +ida_loader.SSUF_DESC +""" +Update the description. +""" + +ida_loader.SSUF_FLAGS +""" +Update the flags. +""" + +ida_loader.SSUF_PATH +""" +Update the path. +""" +=== ida_loader EPYDOC INJECTIONS END === +Help on function apply_metadata in module ida_lumina: + +apply_metadata(*args) + apply_metadata(ea, fi, flags=0) + +Help on function backup_metadata in module ida_lumina: + +backup_metadata(*args) + backup_metadata(ea) -> bool + +Help on function calc_func_metadata in module ida_lumina: + +calc_func_metadata(*args) + calc_func_metadata(out_fi, pfn, append_metadata=None) -> asize_t + +Help on function create_simple_diff_handler in module ida_lumina: + +create_simple_diff_handler(*args) + create_simple_diff_handler() -> simple_diff_handler_t + +Help on function create_simple_idb_diff_handler in module ida_lumina: + +create_simple_idb_diff_handler(*args) + create_simple_idb_diff_handler(pfn) -> simple_idb_diff_handler_t + +Help on function diff_metadata in module ida_lumina: + +diff_metadata(*args) + diff_metadata(handler, left, right, flags=0) -> bool + +Help on function ea_to_ea64 in module ida_lumina: + +ea_to_ea64(*args) + ea_to_ea64(ea) -> ea64_t + +Help on class extra_cmt_t in module ida_lumina: + +class extra_cmt_t(insn_site_t) + | Proxy of C++ extra_cmt_t class. + | + | Method resolution order: + | extra_cmt_t + | insn_site_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> extra_cmt_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | next + | extra_cmt_t_next_get(self) -> qstring * + | + | prev + | extra_cmt_t_prev_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_extra_cmt_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from insn_site_t: + | + | toea(self, *args) + | toea(self, pfn) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from insn_site_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fchunk_nr + | insn_site_t_fchunk_nr_get(self) -> uint32 + | + | fchunk_off + | insn_site_t_fchunk_off_get(self) -> uint32 + +Help on class extra_cmts_t in module ida_lumina: + +class extra_cmts_t(__builtin__.object) + | Proxy of C++ qvector< extra_cmt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> extra_cmt_t + | + | __init__(self, *args) + | __init__(self) -> extra_cmts_t + | __init__(self, x) -> extra_cmts_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> extra_cmt_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> extra_cmt_t + | begin(self) -> extra_cmt_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> extra_cmt_t + | end(self) -> extra_cmt_t + | + | erase(self, *args) + | erase(self, it) -> extra_cmt_t + | erase(self, first, last) -> extra_cmt_t + | + | extract(self, *args) + | extract(self) -> extra_cmt_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=extra_cmt_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> extra_cmt_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> extra_cmt_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_extra_cmts_t(self) + +Help on function extract_extra_cmts_from_metadata in module ida_lumina: + +extract_extra_cmts_from_metadata(*args) + extract_extra_cmts_from_metadata(out, ptr) + +Help on function extract_frame_desc_from_metadata in module ida_lumina: + +extract_frame_desc_from_metadata(*args) + extract_frame_desc_from_metadata(out, ptr) + +Help on function extract_insn_cmts_from_metadata in module ida_lumina: + +extract_insn_cmts_from_metadata(*args) + extract_insn_cmts_from_metadata(out, ptr) + +Help on function extract_insn_opreprs_from_metadata in module ida_lumina: + +extract_insn_opreprs_from_metadata(*args) + extract_insn_opreprs_from_metadata(out, ptr) + +Help on function extract_type_from_metadata in module ida_lumina: + +extract_type_from_metadata(*args) + extract_type_from_metadata(out, _in) -> bool + +Help on function extract_user_stkpnts_from_metadata in module ida_lumina: + +extract_user_stkpnts_from_metadata(*args) + extract_user_stkpnts_from_metadata(out, ptr) + +Help on class frame_desc_t in module ida_lumina: + +class frame_desc_t(__builtin__.object) + | Proxy of C++ frame_desc_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> frame_desc_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argsize + | frame_desc_t_argsize_get(self) -> asize_t + | + | frregs + | frame_desc_t_frregs_get(self) -> ushort + | + | frsize + | frame_desc_t_frsize_get(self) -> sval_t + | + | members + | frame_desc_t_members_get(self) -> frame_mems_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_frame_desc_t(self) + +Help on class frame_mem_t in module ida_lumina: + +class frame_mem_t(__builtin__.object) + | Proxy of C++ frame_mem_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> frame_mem_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | frame_mem_t_cmt_get(self) -> qstring * + | + | info + | frame_mem_t_info_get(self) -> oprepr_t + | + | name + | frame_mem_t_name_get(self) -> qstring * + | + | nbytes + | frame_mem_t_nbytes_get(self) -> asize_t + | + | offset + | frame_mem_t_offset_get(self) -> ea64_t + | + | rptcmt + | frame_mem_t_rptcmt_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | frame_mem_t_type_get(self) -> serialized_tinfo + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_frame_mem_t(self) + +Help on class frame_mems_t in module ida_lumina: + +class frame_mems_t(__builtin__.object) + | Proxy of C++ qvector< frame_mem_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> frame_mem_t + | + | __init__(self, *args) + | __init__(self) -> frame_mems_t + | __init__(self, x) -> frame_mems_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> frame_mem_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> frame_mem_t + | begin(self) -> frame_mem_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> frame_mem_t + | end(self) -> frame_mem_t + | + | erase(self, *args) + | erase(self, it) -> frame_mem_t + | erase(self, first, last) -> frame_mem_t + | + | extract(self, *args) + | extract(self) -> frame_mem_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=frame_mem_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> frame_mem_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> frame_mem_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_frame_mems_t(self) + +Help on class func_info_and_frequency_t in module ida_lumina: + +class func_info_and_frequency_t(func_info_t) + | Proxy of C++ func_info_and_frequency_t class. + | + | Method resolution order: + | func_info_and_frequency_t + | func_info_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_info_and_frequency_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | frequency + | func_info_and_frequency_t_frequency_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = metadata_t * + | + | name + | func_info_t_name_get(self) -> qstring * + | + | size + | func_info_t_size_get(self) -> uint32 + +Help on class func_info_and_frequency_vec_t in module ida_lumina: + +class func_info_and_frequency_vec_t(__builtin__.object) + | Proxy of C++ qvector< func_info_and_frequency_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> func_info_and_frequency_t + | + | __init__(self, *args) + | __init__(self) -> func_info_and_frequency_vec_t + | __init__(self, x) -> func_info_and_frequency_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> func_info_and_frequency_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> func_info_and_frequency_t + | begin(self) -> func_info_and_frequency_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> func_info_and_frequency_t + | end(self) -> func_info_and_frequency_t + | + | erase(self, *args) + | erase(self, it) -> func_info_and_frequency_t + | erase(self, first, last) -> func_info_and_frequency_t + | + | extract(self, *args) + | extract(self) -> func_info_and_frequency_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=func_info_and_frequency_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> func_info_and_frequency_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> func_info_and_frequency_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = func_info_and_pattern_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | pattern_id + | func_info_and_pattern_t_pattern_id_get(self) -> pattern_id_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_info_and_pattern_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | metadata + | func_info_t_metadata_get(self) -> metadata_t * + | + | name + | func_info_t_name_get(self) -> qstring * + | + | size + | func_info_t_size_get(self) -> uint32 + +Help on class func_info_and_pattern_vec_t in module ida_lumina: + +class func_info_and_pattern_vec_t(__builtin__.object) + | Proxy of C++ qvector< func_info_and_pattern_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> func_info_and_pattern_t + | + | __init__(self, *args) + | __init__(self) -> func_info_and_pattern_vec_t + | __init__(self, x) -> func_info_and_pattern_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> func_info_and_pattern_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> func_info_and_pattern_t + | begin(self) -> func_info_and_pattern_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> func_info_and_pattern_t + | end(self) -> func_info_and_pattern_t + | + | erase(self, *args) + | erase(self, it) -> func_info_and_pattern_t + | erase(self, first, last) -> func_info_and_pattern_t + | + | extract(self, *args) + | extract(self) -> func_info_and_pattern_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=func_info_and_pattern_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> func_info_and_pattern_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> func_info_and_pattern_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = func_info_base_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | metadata + | func_info_base_t_metadata_get(self) -> metadata_t * + | + | name + | func_info_base_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_info_base_t(self) + +Help on class func_info_pattern_and_frequency_t in module ida_lumina: + +class func_info_pattern_and_frequency_t(func_info_and_pattern_t) + | Proxy of C++ func_info_pattern_and_frequency_t class. + | + | Method resolution order: + | func_info_pattern_and_frequency_t + | func_info_and_pattern_t + | func_info_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_info_pattern_and_frequency_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | frequency + | func_info_pattern_and_frequency_t_frequency_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = pattern_id_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | metadata + | func_info_t_metadata_get(self) -> metadata_t * + | + | name + | func_info_t_name_get(self) -> qstring * + | + | size + | func_info_t_size_get(self) -> uint32 + +Help on class func_info_pattern_and_frequency_vec_t in module ida_lumina: + +class func_info_pattern_and_frequency_vec_t(__builtin__.object) + | Proxy of C++ qvector< func_info_pattern_and_frequency_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> func_info_pattern_and_frequency_t + | + | __init__(self, *args) + | __init__(self) -> func_info_pattern_and_frequency_vec_t + | __init__(self, x) -> func_info_pattern_and_frequency_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> func_info_pattern_and_frequency_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> func_info_pattern_and_frequency_t + | begin(self) -> func_info_pattern_and_frequency_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> func_info_pattern_and_frequency_t + | end(self) -> func_info_pattern_and_frequency_t + | + | erase(self, *args) + | erase(self, it) -> func_info_pattern_and_frequency_t + | erase(self, first, last) -> func_info_pattern_and_frequency_t + | + | extract(self, *args) + | extract(self) -> func_info_pattern_and_frequency_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=func_info_pattern_and_frequency_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> func_info_pattern_and_frequency_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> func_info_pattern_and_frequency_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = func_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | metadata + | func_info_t_metadata_get(self) -> metadata_t * + | + | name + | func_info_t_name_get(self) -> qstring * + | + | size + | func_info_t_size_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_info_t(self) + +Help on class func_info_vec_t in module ida_lumina: + +class func_info_vec_t(__builtin__.object) + | Proxy of C++ qvector< func_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> func_info_t + | + | __init__(self, *args) + | __init__(self) -> func_info_vec_t + | __init__(self, x) -> func_info_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> func_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> func_info_t + | begin(self) -> func_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> func_info_t + | end(self) -> func_info_t + | + | erase(self, *args) + | erase(self, it) -> func_info_t + | erase(self, first, last) -> func_info_t + | + | extract(self, *args) + | extract(self) -> func_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=func_info_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> func_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> func_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_info_vec_t(self) + +Help on class func_md_diff_handler_t in module ida_lumina: + +class func_md_diff_handler_t(__builtin__.object) + | Proxy of C++ func_md_diff_handler_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> func_md_diff_handler_t + | + | __repr__ = _swig_repr(self) + | + | on_comment_changed(self, *args) + | on_comment_changed(self, fchunk_nr, fchunk_off, l, r, rep) + | + | on_extra_comment_changed(self, *args) + | on_extra_comment_changed(self, fchunk_nr, fchunk_off, l, r, is_prev) + | + | on_frame_member_changed(self, *args) + | on_frame_member_changed(self, offset, l, r) + | + | on_function_comment_changed(self, *args) + | on_function_comment_changed(self, l, r, rep) + | + | on_insn_ops_repr_changed(self, *args) + | on_insn_ops_repr_changed(self, fchunk_nr, fchunk_off, l, r) + | + | on_name_changed(self, *args) + | on_name_changed(self, l, r) + | + | on_proto_changed(self, *args) + | on_proto_changed(self, l, r) + | + | on_score_changed(self, *args) + | on_score_changed(self, l, r) + | + | on_user_stkpnt_changed(self, *args) + | on_user_stkpnt_changed(self, fchunk_nr, fchunk_off, l, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_md_diff_handler_t(self) + +Help on function get_lumina_rpc_packet_t_index_from_base in module ida_lumina: + +get_lumina_rpc_packet_t_index_from_base(*args) + get_lumina_rpc_packet_t_index_from_base(code) -> uchar + +Help on function get_server_connection in module ida_lumina: + +get_server_connection(*args) + get_server_connection() -> lumina_client_t + +Help on function has_backup_metadata in module ida_lumina: + +has_backup_metadata(*args) + has_backup_metadata(ea) -> bool + +Help on class history_entries_helper_t in module ida_lumina: + +class history_entries_helper_t(__builtin__.object) + | Proxy of C++ history_entries_helper_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _r) -> history_entries_helper_t + | + | __repr__ = _swig_repr(self) + | + | next_entry(self, *args) + | next_entry(self, _from) -> change_desc_base_t const & + | + | next_entry_index(self, *args) + | next_entry_index(self, out_index, _from) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | res + | history_entries_helper_t_res_get(self) -> pkt_show_entries_result_t const & + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_history_entries_helper_t(self) + +Help on class input_file_t in module ida_lumina: + +class input_file_t(__builtin__.object) + | Proxy of C++ input_file_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> input_file_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | md5 + | input_file_t_md5_get(self) -> md5_t * + | + | path + | input_file_t_path_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_input_file_t(self) + +Help on class insn_cmt_t in module ida_lumina: + +class insn_cmt_t(insn_site_t) + | Proxy of C++ insn_cmt_t class. + | + | Method resolution order: + | insn_cmt_t + | insn_site_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> insn_cmt_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cmt + | insn_cmt_t_cmt_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_insn_cmt_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from insn_site_t: + | + | toea(self, *args) + | toea(self, pfn) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from insn_site_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fchunk_nr + | insn_site_t_fchunk_nr_get(self) -> uint32 + | + | fchunk_off + | insn_site_t_fchunk_off_get(self) -> uint32 + +Help on class insn_cmts_t in module ida_lumina: + +class insn_cmts_t(__builtin__.object) + | Proxy of C++ qvector< insn_cmt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> insn_cmt_t + | + | __init__(self, *args) + | __init__(self) -> insn_cmts_t + | __init__(self, x) -> insn_cmts_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> insn_cmt_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> insn_cmt_t + | begin(self) -> insn_cmt_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> insn_cmt_t + | end(self) -> insn_cmt_t + | + | erase(self, *args) + | erase(self, it) -> insn_cmt_t + | erase(self, first, last) -> insn_cmt_t + | + | extract(self, *args) + | extract(self) -> insn_cmt_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=insn_cmt_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> insn_cmt_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> insn_cmt_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_insn_cmts_t(self) + +Help on class insn_ops_repr_t in module ida_lumina: + +class insn_ops_repr_t(insn_site_t) + | Proxy of C++ insn_ops_repr_t class. + | + | Method resolution order: + | insn_ops_repr_t + | insn_site_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> insn_ops_repr_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | insn_ops_repr_t_flags_get(self) -> flags_t + | + | op0 + | insn_ops_repr_t_op0_get(self) -> opinfo_t + | + | op1 + | insn_ops_repr_t_op1_get(self) -> opinfo_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_insn_ops_repr_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from insn_site_t: + | + | toea(self, *args) + | toea(self, pfn) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from insn_site_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fchunk_nr + | insn_site_t_fchunk_nr_get(self) -> uint32 + | + | fchunk_off + | insn_site_t_fchunk_off_get(self) -> uint32 + +Help on class insn_ops_reprs_t in module ida_lumina: + +class insn_ops_reprs_t(__builtin__.object) + | Proxy of C++ qvector< insn_ops_repr_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> insn_ops_repr_t + | + | __init__(self, *args) + | __init__(self) -> insn_ops_reprs_t + | __init__(self, x) -> insn_ops_reprs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> insn_ops_repr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> insn_ops_repr_t + | begin(self) -> insn_ops_repr_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> insn_ops_repr_t + | end(self) -> insn_ops_repr_t + | + | erase(self, *args) + | erase(self, it) -> insn_ops_repr_t + | erase(self, first, last) -> insn_ops_repr_t + | + | extract(self, *args) + | extract(self) -> insn_ops_repr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=insn_ops_repr_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> insn_ops_repr_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> insn_ops_repr_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_insn_ops_reprs_t(self) + +Help on class insn_site_t in module ida_lumina: + +class insn_site_t(__builtin__.object) + | Proxy of C++ insn_site_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> insn_site_t + | + | __repr__ = _swig_repr(self) + | + | toea(self, *args) + | toea(self, pfn) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fchunk_nr + | insn_site_t_fchunk_nr_get(self) -> uint32 + | + | fchunk_off + | insn_site_t_fchunk_off_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_insn_site_t(self) + +Help on class lumina_client_t in module ida_lumina: + +class lumina_client_t(__builtin__.object) + | Proxy of C++ lumina_client_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | get_pop(self, *args) + | get_pop(self, nresults=10) -> pkt_get_pop_result_t + | + | is_pattern_id(self, *args) + | is_pattern_id(self, pid, md5) -> bool + | + | pull_md(self, *args) + | pull_md(self, pattern_ids, pull_md_flags=0) -> pkt_pull_md_result_t + | pull_md(self, funcs, pull_md_flags=0) -> pkt_pull_md_result_t + | + | push_md(self, *args) + | push_md(self, result, opts, append_metadata=None, flags=0) -> bool + | + | set_pattern_id_md5(self, *args) + | set_pattern_id_md5(self, out, md5) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lumina_client_t(self) + +Help on class lumina_op_res_vec_t in module ida_lumina: + +class lumina_op_res_vec_t(__builtin__.object) + | Proxy of C++ qvector< lumina_op_res_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> lumina_op_res_t const & + | + | __init__(self, *args) + | __init__(self) -> lumina_op_res_vec_t + | __init__(self, x) -> lumina_op_res_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> lumina_op_res_t const & + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< lumina_op_res_t >::iterator + | begin(self) -> qvector< lumina_op_res_t >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< lumina_op_res_t >::iterator + | end(self) -> qvector< lumina_op_res_t >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< lumina_op_res_t >::iterator + | erase(self, first, last) -> qvector< lumina_op_res_t >::iterator + | + | extract(self, *args) + | extract(self) -> lumina_op_res_t * + | + | find(self, *args) + | find(self, x) -> qvector< lumina_op_res_t >::iterator + | find(self, x) -> qvector< lumina_op_res_t >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=lumina_op_res_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< lumina_op_res_t >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> lumina_op_res_t & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lumina_op_res_vec_t(self) + +Help on class md_type_parts_t in module ida_lumina: + +class md_type_parts_t(__builtin__.object) + | Proxy of C++ md_type_parts_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> md_type_parts_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fields + | md_type_parts_t_fields_get(self) -> qtype * + | + | thisown + | The membership flag + | + | type + | md_type_parts_t_type_get(self) -> qtype * + | + | userti + | md_type_parts_t_userti_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_md_type_parts_t(self) + +Help on class metadata_iterator_t in module ida_lumina: + +class metadata_iterator_t(__builtin__.object) + | Proxy of C++ metadata_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _md) -> metadata_iterator_t + | + | __repr__ = _swig_repr(self) + | + | data_end(self, *args) + | data_end(self) -> uchar const * + | + | next(self, *args) + | next(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | metadata_iterator_t_data_get(self) -> uchar const * + | + | key + | metadata_iterator_t_key_get(self) -> mdkey_t + | + | size + | metadata_iterator_t_size_get(self) -> size_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_metadata_iterator_t(self) + +Help on function new_packet in module ida_lumina: + +new_packet(*args) + new_packet(code, ptr=None, len=0, version=-1) -> rpc_packet_data_t * + +Help on class oprepr_t in module ida_lumina: + +class oprepr_t(__builtin__.object) + | Proxy of C++ oprepr_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> oprepr_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | oprepr_t_flags_get(self) -> flags_t + | + | opinfo + | oprepr_t_opinfo_get(self) -> opinfo_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_oprepr_t(self) + +Help on class pattern_id_t in module ida_lumina: + +class pattern_id_t(__builtin__.object) + | Proxy of C++ pattern_id_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pattern_id_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | pattern_id_t_data_get(self) -> bytevec_t * + | + | thisown + | The membership flag + | + | type + | pattern_id_t_type_get(self) -> pattern_type_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pattern_id_t(self) + +Help on class pkt_clean_db_t in module ida_lumina: + +class pkt_clean_db_t(__builtin__.object) + | Proxy of C++ pkt_clean_db_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_clean_db_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_clean_db_t(self) + +Help on class pkt_debugctl_t in module ida_lumina: + +class pkt_debugctl_t(__builtin__.object) + | Proxy of C++ pkt_debugctl_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_debugctl_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | args + | pkt_debugctl_t_args_get(self) -> qstrvec_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_debugctl_t(self) + +Help on class pkt_dump_md_result_t in module ida_lumina: + +class pkt_dump_md_result_t(__builtin__.object) + | Proxy of C++ pkt_dump_md_result_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_dump_md_result_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | contents + | pkt_dump_md_result_t_contents_get(self) -> func_info_pattern_and_frequency_vec_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_dump_md_result_t(self) + +Help on class pkt_dump_md_t in module ida_lumina: + +class pkt_dump_md_t(__builtin__.object) + | Proxy of C++ pkt_dump_md_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_dump_md_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | sort + | pkt_dump_md_t_sort_get(self) -> dump_md_sort_type_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_dump_md_t(self) + +Help on class pkt_get_pop_result_t in module ida_lumina: + +class pkt_get_pop_result_t(__builtin__.object) + | Proxy of C++ pkt_get_pop_result_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_get_pop_result_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | results + | pkt_get_pop_result_t_results_get(self) -> pop_fun_vec_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_get_pop_result_t(self) + +Help on class pkt_get_pop_t in module ida_lumina: + +class pkt_get_pop_t(__builtin__.object) + | Proxy of C++ pkt_get_pop_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_get_pop_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | nresults + | pkt_get_pop_t_nresults_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_get_pop_t(self) + +Help on class pkt_helo_t in module ida_lumina: + +class pkt_helo_t(__builtin__.object) + | Proxy of C++ pkt_helo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_helo_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | client_version + | pkt_helo_t_client_version_get(self) -> int + | + | key + | pkt_helo_t_key_get(self) -> bytevec_t * + | + | license_id + | pkt_helo_t_license_id_get(self) -> uchar [6] + | + | record_conv + | pkt_helo_t_record_conv_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_helo_t(self) + +Help on class pkt_pull_md_result_t in module ida_lumina: + +class pkt_pull_md_result_t(__builtin__.object) + | Proxy of C++ pkt_pull_md_result_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_pull_md_result_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | codes + | pkt_pull_md_result_t_codes_get(self) -> lumina_op_res_vec_t + | + | results + | pkt_pull_md_result_t_results_get(self) -> func_info_and_frequency_vec_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_pull_md_result_t(self) + +Help on class pkt_pull_md_t in module ida_lumina: + +class pkt_pull_md_t(__builtin__.object) + | Proxy of C++ pkt_pull_md_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_pull_md_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | pkt_pull_md_t_flags_get(self) -> uint32 + | + | keys + | pkt_pull_md_t_keys_get(self) -> mdkey_vec_t * + | + | pattern_ids + | pkt_pull_md_t_pattern_ids_get(self) -> pattern_ids_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_pull_md_t(self) + +Help on class pkt_push_md_result_t in module ida_lumina: + +class pkt_push_md_result_t(__builtin__.object) + | Proxy of C++ pkt_push_md_result_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_push_md_result_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | codes + | pkt_push_md_result_t_codes_get(self) -> lumina_op_res_vec_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_push_md_result_t(self) + +Help on class pkt_push_md_t in module ida_lumina: + +class pkt_push_md_t(__builtin__.object) + | Proxy of C++ pkt_push_md_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_push_md_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | contents + | pkt_push_md_t_contents_get(self) -> func_info_and_pattern_vec_t + | + | ea64s + | pkt_push_md_t_ea64s_get(self) -> ea64vec_t * + | + | flags + | pkt_push_md_t_flags_get(self) -> uint32 + | + | hostname + | pkt_push_md_t_hostname_get(self) -> qstring * + | + | idb + | pkt_push_md_t_idb_get(self) -> qstring * + | + | input + | pkt_push_md_t_input_get(self) -> input_file_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_push_md_t(self) + +Help on class pkt_rpc_fail_t in module ida_lumina: + +class pkt_rpc_fail_t(__builtin__.object) + | Proxy of C++ pkt_rpc_fail_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_rpc_fail_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | error + | pkt_rpc_fail_t_error_get(self) -> qstring * + | + | result + | pkt_rpc_fail_t_result_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_rpc_fail_t(self) + +Help on class pkt_rpc_notify_t in module ida_lumina: + +class pkt_rpc_notify_t(__builtin__.object) + | Proxy of C++ pkt_rpc_notify_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_rpc_notify_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | text + | pkt_rpc_notify_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | pkt_rpc_notify_t_type_get(self) -> rpc_notification_type_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_rpc_notify_t(self) + +Help on class pkt_rpc_ok_t in module ida_lumina: + +class pkt_rpc_ok_t(__builtin__.object) + | Proxy of C++ pkt_rpc_ok_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_rpc_ok_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pkt_rpc_ok_t(self) + +Help on class pop_fun_t in module ida_lumina: + +class pop_fun_t(func_info_pattern_and_frequency_t) + | Proxy of C++ pop_fun_t class. + | + | Method resolution order: + | pop_fun_t + | func_info_pattern_and_frequency_t + | func_info_and_pattern_t + | func_info_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pop_fun_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ea64 + | pop_fun_t_ea64_get(self) -> ea64_t + | + | hostname + | pop_fun_t_hostname_get(self) -> qstring * + | + | input + | pop_fun_t_input_get(self) -> input_file_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pop_fun_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_pattern_and_frequency_t: + | + | frequency + | func_info_pattern_and_frequency_t_frequency_get(self) -> uint32 + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_and_pattern_t: + | + | pattern_id + | func_info_and_pattern_t_pattern_id_get(self) -> pattern_id_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | metadata + | func_info_t_metadata_get(self) -> metadata_t * + | + | name + | func_info_t_name_get(self) -> qstring * + | + | size + | func_info_t_size_get(self) -> uint32 + +Help on class push_md_opts_t in module ida_lumina: + +class push_md_opts_t(__builtin__.object) + | Proxy of C++ push_md_opts_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, mfs=size_t(-1)) -> push_md_opts_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | eas + | push_md_opts_t_eas_get(self) -> eavec_t * + | + | min_func_size + | push_md_opts_t_min_func_size_get(self) -> size_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_push_md_opts_t(self) + +Help on class push_md_result_t in module ida_lumina: + +class push_md_result_t(__builtin__.object) + | Proxy of C++ push_md_result_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> push_md_result_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | codes + | push_md_result_t_codes_get(self) -> lumina_op_res_vec_t + | + | contents + | push_md_result_t_contents_get(self) -> func_info_and_pattern_vec_t + | + | eas + | push_md_result_t_eas_get(self) -> eavec_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_push_md_result_t(self) + +Help on function revert_metadata in module ida_lumina: + +revert_metadata(*args) + revert_metadata(ea) -> bool + +Help on function score_metadata in module ida_lumina: + +score_metadata(*args) + score_metadata(fi) -> uint32 + +Help on class serialized_tinfo in module ida_lumina: + +class serialized_tinfo(__builtin__.object) + | Proxy of C++ serialized_tinfo class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> serialized_tinfo + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fields + | serialized_tinfo_fields_get(self) -> qtype * + | + | thisown + | The membership flag + | + | type + | serialized_tinfo_type_get(self) -> qtype * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_serialized_tinfo(self) + +Help on class simple_diff_handler_t in module ida_lumina: + +class simple_diff_handler_t(func_md_diff_handler_t) + | Proxy of C++ simple_diff_handler_t class. + | + | Method resolution order: + | simple_diff_handler_t + | func_md_diff_handler_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | on_comment_changed(self, *args) + | on_comment_changed(self, fchunk_nr, fchunk_off, l, r, rep) + | + | on_extra_comment_changed(self, *args) + | on_extra_comment_changed(self, fchunk_nr, fchunk_off, l, r, is_prev) + | + | on_frame_member_changed(self, *args) + | on_frame_member_changed(self, offset, l, r) + | + | on_function_comment_changed(self, *args) + | on_function_comment_changed(self, l, r, rep) + | + | on_insn_ops_repr_changed(self, *args) + | on_insn_ops_repr_changed(self, fchunk_nr, fchunk_off, l, r) + | + | on_name_changed(self, *args) + | on_name_changed(self, l, r) + | + | on_proto_changed(self, *args) + | on_proto_changed(self, l, r) + | + | on_score_changed(self, *args) + | on_score_changed(self, l, r) + | + | on_user_stkpnt_changed(self, *args) + | on_user_stkpnt_changed(self, fchunk_nr, fchunk_off, l, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | indent + | simple_diff_handler_t_indent_get(self) -> uint32 + | + | lines + | simple_diff_handler_t_lines_get(self) -> qstrvec_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_simple_diff_handler_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from func_md_diff_handler_t: + | + | __disown__(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_md_diff_handler_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class simple_idb_diff_handler_t in module ida_lumina: + +class simple_idb_diff_handler_t(simple_diff_handler_t) + | Proxy of C++ simple_idb_diff_handler_t class. + | + | Method resolution order: + | simple_idb_diff_handler_t + | simple_diff_handler_t + | func_md_diff_handler_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | header_generated + | simple_idb_diff_handler_t_header_generated_get(self) -> bool + | + | pfn + | simple_idb_diff_handler_t_pfn_get(self) -> func_t const * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = uint32 + | + | lines + | simple_diff_handler_t_lines_get(self) -> qstrvec_t * + | + | ---------------------------------------------------------------------- + | Methods inherited from func_md_diff_handler_t: + | + | __disown__(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_md_diff_handler_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class skipped_func_t in module ida_lumina: + +class skipped_func_t(__builtin__.object) + | Proxy of C++ skipped_func_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> skipped_func_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | skipped_func_t_count_get(self) -> uint32 + | + | pattern_id + | skipped_func_t_pattern_id_get(self) -> pattern_id_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_skipped_func_t(self) + +Help on class skipped_funcs_t in module ida_lumina: + +class skipped_funcs_t(__builtin__.object) + | Proxy of C++ qvector< skipped_func_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> skipped_func_t + | + | __init__(self, *args) + | __init__(self) -> skipped_funcs_t + | __init__(self, x) -> skipped_funcs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> skipped_func_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> skipped_func_t + | begin(self) -> skipped_func_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> skipped_func_t + | end(self) -> skipped_func_t + | + | erase(self, *args) + | erase(self, it) -> skipped_func_t + | erase(self, first, last) -> skipped_func_t + | + | extract(self, *args) + | extract(self) -> skipped_func_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=skipped_func_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> skipped_func_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> skipped_func_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_skipped_funcs_t(self) + +Help on function split_metadata in module ida_lumina: + +split_metadata(*args) + split_metadata(md) -> PyObject * + +Help on class user_identification_t in module ida_lumina: + +class user_identification_t(__builtin__.object) + | Proxy of C++ user_identification_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> user_identification_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | email + | user_identification_t_email_get(self) -> qstring * + | + | license_id + | user_identification_t_license_id_get(self) -> qstring * + | + | thisown + | The membership flag + | + | user_name + | user_identification_t_user_name_get(self) -> qstring * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_identification_t(self) + +Help on class user_stkpnt_t in module ida_lumina: + +class user_stkpnt_t(insn_site_t) + | Proxy of C++ user_stkpnt_t class. + | + | Method resolution order: + | user_stkpnt_t + | insn_site_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> user_stkpnt_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | delta + | user_stkpnt_t_delta_get(self) -> int64 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_stkpnt_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from insn_site_t: + | + | toea(self, *args) + | toea(self, pfn) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from insn_site_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fchunk_nr + | insn_site_t_fchunk_nr_get(self) -> uint32 + | + | fchunk_off + | insn_site_t_fchunk_off_get(self) -> uint32 + +Help on class user_stkpnts_t in module ida_lumina: + +class user_stkpnts_t(__builtin__.object) + | Proxy of C++ qvector< user_stkpnt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> user_stkpnt_t + | + | __init__(self, *args) + | __init__(self) -> user_stkpnts_t + | __init__(self, x) -> user_stkpnts_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> user_stkpnt_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> user_stkpnt_t + | begin(self) -> user_stkpnt_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> user_stkpnt_t + | end(self) -> user_stkpnt_t + | + | erase(self, *args) + | erase(self, it) -> user_stkpnt_t + | erase(self, first, last) -> user_stkpnt_t + | + | extract(self, *args) + | extract(self) -> user_stkpnt_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=user_stkpnt_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> user_stkpnt_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> user_stkpnt_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_stkpnts_t(self) + +=== ida_lumina EPYDOC INJECTIONS === +ida_lumina.AMDF_FORCE +""" +apply kvps regardless of what's currently in the IDB, possibly +removing some attributes currently present (e.g., name, or prototype +could be lost) +""" + +ida_lumina.AMDF_UPGRADE +""" +"quality" than what's currently in the IDB + +apply kvps that seem to be of higher +""" + +ida_lumina.PMF_PUSH_MODE_MASK +""" +Conflict resolution mode. +""" +=== ida_lumina EPYDOC INJECTIONS END === +Help on class bookmarks_t in module ida_moves: + +class bookmarks_t(__builtin__.object) + | Proxy of C++ bookmarks_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | erase(*args) + | erase(e, index, ud) -> bool + | + | find_index(*args) + | find_index(e, ud) -> uint32 + | + | get(*args) + | get(out_entry, out_desc, index, ud) -> bool + | + | get_desc(*args) + | get_desc(e, index, ud) -> bool + | + | mark(*args) + | mark(e, index, title, desc, ud) -> uint32 + | + | size(*args) + | size(e, ud) -> uint32 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function bookmarks_t_erase in module ida_moves: + +bookmarks_t_erase(*args) + bookmarks_t_erase(e, index, ud) -> bool + +Help on function bookmarks_t_find_index in module ida_moves: + +bookmarks_t_find_index(*args) + bookmarks_t_find_index(e, ud) -> uint32 + +Help on function bookmarks_t_get in module ida_moves: + +bookmarks_t_get(*args) + bookmarks_t_get(out_entry, out_desc, index, ud) -> bool + +Help on function bookmarks_t_get_desc in module ida_moves: + +bookmarks_t_get_desc(*args) + bookmarks_t_get_desc(e, index, ud) -> str + +Help on function bookmarks_t_mark in module ida_moves: + +bookmarks_t_mark(*args) + bookmarks_t_mark(e, index, title, desc, ud) -> uint32 + +Help on function bookmarks_t_size in module ida_moves: + +bookmarks_t_size(*args) + bookmarks_t_size(e, ud) -> uint32 + +Help on class graph_location_info_t in module ida_moves: + +class graph_location_info_t(__builtin__.object) + | Proxy of C++ graph_location_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> graph_location_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | orgx + | graph_location_info_t_orgx_get(self) -> double + | + | orgy + | graph_location_info_t_orgy_get(self) -> double + | + | thisown + | The membership flag + | + | zoom + | graph_location_info_t_zoom_get(self) -> double + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_location_info_t(self) + +Help on class lochist_entry_t in module ida_moves: + +class lochist_entry_t(__builtin__.object) + | Proxy of C++ lochist_entry_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lochist_entry_t + | __init__(self, p, r) -> lochist_entry_t + | __init__(self, other) -> lochist_entry_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | acquire_place(self, *args) + | acquire_place(self, in_p) + | + | is_valid(self, *args) + | is_valid(self) -> bool + | + | place(self, *args) + | place(self) -> place_t + | place(self) -> place_t + | + | renderer_info(self, *args) + | renderer_info(self) -> renderer_info_t + | renderer_info(self) -> renderer_info_t + | + | set_place(self, *args) + | set_place(self, p) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | plce + | lochist_entry_t_plce_get(self) -> place_t + | + | rinfo + | lochist_entry_t_rinfo_get(self) -> renderer_info_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lochist_entry_t(self) + +Help on class lochist_t in module ida_moves: + +class lochist_t(__builtin__.object) + | Proxy of C++ lochist_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lochist_t + | + | __repr__ = _swig_repr(self) + | + | back(self, *args) + | back(self, cnt, try_to_unhide) -> bool + | + | clear(self, *args) + | clear(self) + | + | current_index(self, *args) + | current_index(self) -> uint32 + | + | fwd(self, *args) + | fwd(self, cnt, try_to_unhide) -> bool + | + | get(self, *args) + | get(self, out, index) -> bool + | + | get_current(self, *args) + | get_current(self) -> lochist_entry_t + | + | get_place_id(self, *args) + | get_place_id(self) -> int + | + | get_template_place(self, *args) + | get_template_place(self) -> place_t + | + | init(self, *args) + | init(self, stream_name, _defpos, _ud, _flags) -> bool + | + | is_history_enabled(self, *args) + | is_history_enabled(self) -> bool + | + | jump(self, *args) + | jump(self, try_to_unhide, e) + | + | netcode(self, *args) + | netcode(self) -> nodeidx_t + | + | save(self, *args) + | save(self) + | + | seek(self, *args) + | seek(self, index, try_to_unhide) -> bool + | + | set(self, *args) + | set(self, index, e) + | + | set_current(self, *args) + | set_current(self, e) + | + | size(self, *args) + | size(self) -> uint32 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lochist_t(self) + +Help on class renderer_info_pos_t in module ida_moves: + +class renderer_info_pos_t(__builtin__.object) + | Proxy of C++ renderer_info_pos_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_info_pos_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cx + | renderer_info_pos_t_cx_get(self) -> short + | + | cy + | renderer_info_pos_t_cy_get(self) -> short + | + | node + | renderer_info_pos_t_node_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_renderer_info_pos_t(self) + +Help on class renderer_info_t in module ida_moves: + +class renderer_info_t(__builtin__.object) + | Proxy of C++ renderer_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | gli + | renderer_info_t_gli_get(self) -> graph_location_info_t + | + | pos + | renderer_info_t_pos_get(self) -> renderer_info_pos_t + | + | rtype + | renderer_info_t_rtype_get(self) -> tcc_renderer_type_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_renderer_info_t(self) + +Help on class segm_move_info_t in module ida_moves: + +class segm_move_info_t(__builtin__.object) + | Proxy of C++ segm_move_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _from=0, _to=0, _sz=0) -> segm_move_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _from + | segm_move_info_t__from_get(self) -> ea_t + | + | size + | segm_move_info_t_size_get(self) -> size_t + | + | thisown + | The membership flag + | + | to + | segm_move_info_t_to_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_segm_move_info_t(self) + +Help on class segm_move_info_vec_t in module ida_moves: + +class segm_move_info_vec_t(__builtin__.object) + | Proxy of C++ qvector< segm_move_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> segm_move_info_t + | + | __init__(self, *args) + | __init__(self) -> segm_move_info_vec_t + | __init__(self, x) -> segm_move_info_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> segm_move_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> segm_move_info_t + | begin(self) -> segm_move_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> segm_move_info_t + | end(self) -> segm_move_info_t + | + | erase(self, *args) + | erase(self, it) -> segm_move_info_t + | erase(self, first, last) -> segm_move_info_t + | + | extract(self, *args) + | extract(self) -> segm_move_info_t + | + | find(self, *args) + | find(self, x) -> segm_move_info_t + | find(self, x) -> segm_move_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=segm_move_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> segm_move_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> segm_move_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_segm_move_info_vec_t(self) + +Help on class segm_move_infos_t in module ida_moves: + +class segm_move_infos_t(segm_move_info_vec_t) + | Proxy of C++ segm_move_infos_t class. + | + | Method resolution order: + | segm_move_infos_t + | segm_move_info_vec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> segm_move_infos_t + | + | __repr__ = _swig_repr(self) + | + | find(self, *args) + | find(self, ea) -> segm_move_info_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_segm_move_infos_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from segm_move_info_vec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> segm_move_info_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> segm_move_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> segm_move_info_t + | begin(self) -> segm_move_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> segm_move_info_t + | end(self) -> segm_move_info_t + | + | erase(self, *args) + | erase(self, it) -> segm_move_info_t + | erase(self, first, last) -> segm_move_info_t + | + | extract(self, *args) + | extract(self) -> segm_move_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=segm_move_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> segm_move_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> segm_move_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from segm_move_info_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function get_switch_info in module ida_nalt: + +get_switch_info(*args) + get_switch_info(out, ea) -> ssize_t + +Help on function add_encoding in module ida_nalt: + +add_encoding(*args) + add_encoding(encoding) -> int + + + Add a new encoding (e.g. "UTF-8"). + + @param encoding (C++: const char *) + @return: its index (1-based) if it's already in the list, return its + index + +Help on class array_parameters_t in module ida_nalt: + +class array_parameters_t(__builtin__.object) + | Proxy of C++ array_parameters_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> array_parameters_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | alignment + | array_parameters_t_alignment_get(self) -> int32 + | + | flags + | array_parameters_t_flags_get(self) -> int32 + | + | lineitems + | array_parameters_t_lineitems_get(self) -> int32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_array_parameters_t(self) + +Help on function clr__bnot0 in module ida_nalt: + +clr__bnot0(*args) + clr__bnot0(ea) + +Help on function clr__bnot1 in module ida_nalt: + +clr__bnot1(*args) + clr__bnot1(ea) + +Help on function clr__invsign0 in module ida_nalt: + +clr__invsign0(*args) + clr__invsign0(ea) + +Help on function clr__invsign1 in module ida_nalt: + +clr__invsign1(*args) + clr__invsign1(ea) + +Help on function clr_abits in module ida_nalt: + +clr_abits(*args) + clr_abits(ea, bits) + +Help on function clr_align_flow in module ida_nalt: + +clr_align_flow(*args) + clr_align_flow(ea) + +Help on function clr_colored_item in module ida_nalt: + +clr_colored_item(*args) + clr_colored_item(ea) + +Help on function clr_fixed_spd in module ida_nalt: + +clr_fixed_spd(*args) + clr_fixed_spd(ea) + +Help on function clr_has_lname in module ida_nalt: + +clr_has_lname(*args) + clr_has_lname(ea) + +Help on function clr_has_ti in module ida_nalt: + +clr_has_ti(*args) + clr_has_ti(ea) + +Help on function clr_has_ti0 in module ida_nalt: + +clr_has_ti0(*args) + clr_has_ti0(ea) + +Help on function clr_has_ti1 in module ida_nalt: + +clr_has_ti1(*args) + clr_has_ti1(ea) + +Help on function clr_libitem in module ida_nalt: + +clr_libitem(*args) + clr_libitem(ea) + +Help on function clr_lzero0 in module ida_nalt: + +clr_lzero0(*args) + clr_lzero0(ea) + +Help on function clr_lzero1 in module ida_nalt: + +clr_lzero1(*args) + clr_lzero1(ea) + +Help on function clr_noret in module ida_nalt: + +clr_noret(*args) + clr_noret(ea) + +Help on function clr_notcode in module ida_nalt: + +clr_notcode(*args) + clr_notcode(ea) + + + Clear not-code mark. + + + @param ea (C++: ea_t) + +Help on function clr_notproc in module ida_nalt: + +clr_notproc(*args) + clr_notproc(ea) + +Help on function clr_retfp in module ida_nalt: + +clr_retfp(*args) + clr_retfp(ea) + +Help on function clr_terse_struc in module ida_nalt: + +clr_terse_struc(*args) + clr_terse_struc(ea) + +Help on function clr_tilcmt in module ida_nalt: + +clr_tilcmt(*args) + clr_tilcmt(ea) + +Help on function clr_usemodsp in module ida_nalt: + +clr_usemodsp(*args) + clr_usemodsp(ea) + +Help on function clr_usersp in module ida_nalt: + +clr_usersp(*args) + clr_usersp(ea) + +Help on function clr_userti in module ida_nalt: + +clr_userti(*args) + clr_userti(ea) + +Help on function clr_zstroff in module ida_nalt: + +clr_zstroff(*args) + clr_zstroff(ea) + +Help on class custom_data_type_ids_fids_array in module ida_nalt: + +class custom_data_type_ids_fids_array(__builtin__.object) + | Proxy of C++ wrapped_array_t< int16,8 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> short const & + | + | __init__(self, *args) + | __init__(self, data) -> custom_data_type_ids_fids_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | custom_data_type_ids_fids_array_data_get(self) -> short (&)[8] + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = custom_data_type_ids_t + | + | __repr__ = _swig_repr(self) + | + | _custom_data_type_ids_t__getFids = __getFids(self, *args) + | __getFids(self) -> custom_data_type_ids_fids_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dtid + | custom_data_type_ids_t_dtid_get(self) -> int16 + | + | fids + | __getFids(self) -> custom_data_type_ids_fids_array + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_custom_data_type_ids_t(self) + +Help on function dbg_get_input_path in module ida_nalt: + +dbg_get_input_path(*args) + dbg_get_input_path() -> str + + + Get debugger input file name/path (see 'LFLG_DBG_NOPATH' ) + +Help on function del_absbase in module ida_nalt: + +del_absbase(*args) + del_absbase(ea) + +Help on function del_aflags in module ida_nalt: + +del_aflags(*args) + del_aflags(ea) + +Help on function del_alignment in module ida_nalt: + +del_alignment(*args) + del_alignment(ea) + +Help on function del_array_parameters in module ida_nalt: + +del_array_parameters(*args) + del_array_parameters(ea) + +Help on function del_custom_data_type_ids in module ida_nalt: + +del_custom_data_type_ids(*args) + del_custom_data_type_ids(ea) + +Help on function del_encoding in module ida_nalt: + +del_encoding(*args) + del_encoding(idx) -> bool + + + Delete an encoding (1-based) + + + @param idx (C++: int) + +Help on function del_ind_purged in module ida_nalt: + +del_ind_purged(*args) + del_ind_purged(ea) + +Help on function del_item_color in module ida_nalt: + +del_item_color(*args) + del_item_color(ea) -> bool + +Help on function del_op_tinfo in module ida_nalt: + +del_op_tinfo(*args) + del_op_tinfo(ea, n) + +Help on function del_refinfo in module ida_nalt: + +del_refinfo(*args) + del_refinfo(ea, n) -> bool + +Help on function del_source_linnum in module ida_nalt: + +del_source_linnum(*args) + del_source_linnum(ea) + +Help on function del_str_type in module ida_nalt: + +del_str_type(*args) + del_str_type(ea) + +Help on function del_switch_info in module ida_nalt: + +del_switch_info(*args) + del_switch_info(ea) + +Help on function del_switch_parent in module ida_nalt: + +del_switch_parent(*args) + del_switch_parent(ea) + +Help on function del_tinfo in module ida_nalt: + +del_tinfo(*args) + del_tinfo(ea) + +Help on function delete_imports in module ida_nalt: + +delete_imports(*args) + delete_imports() + + + Delete all imported modules information. + +Help on function ea2node in module ida_nalt: + +ea2node(*args) + ea2node(ea) -> nodeidx_t + + + Get netnode for the specified address. + + + @param ea (C++: ea_t) + +Help on function encoding_from_strtype in module ida_nalt: + +encoding_from_strtype(*args) + encoding_from_strtype(strtype) -> char const * + + + Get encoding name for this strtype. + + + @param strtype (C++: int32) + +Help on class enum_const_t in module ida_nalt: + +class enum_const_t(__builtin__.object) + | Proxy of C++ enum_const_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> enum_const_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | serial + | enum_const_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | tid + | enum_const_t_tid_get(self) -> tid_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enum_const_t(self) + +Help on function enum_import_names in module ida_nalt: + +enum_import_names(*args) + enum_import_names(mod_index, py_cb) -> int + + + Enumerate imports from a specific module. + Please refer to ex_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) + +Help on function find_custom_refinfo in module ida_nalt: + +find_custom_refinfo(*args) + find_custom_refinfo(name) -> int + + + Get id of a custom refinfo type. + + + @param name (C++: const char *) + +Help on function get_abi_name in module ida_nalt: + +get_abi_name(*args) + +Help on function get_absbase in module ida_nalt: + +get_absbase(*args) + get_absbase(ea) -> ea_t + +Help on function get_aflags in module ida_nalt: + +get_aflags(*args) + get_aflags(ea) -> uint32 + +Help on function get_alignment in module ida_nalt: + +get_alignment(*args) + get_alignment(ea) -> uint32 + +Help on function get_archive_path in module ida_nalt: + +get_archive_path(*args) + get_archive_path() -> str + + + Get archive file path from which input file was extracted. + +Help on function get_array_parameters in module ida_nalt: + +get_array_parameters(*args) + get_array_parameters(out, ea) -> ssize_t + +Help on function get_asm_inc_file in module ida_nalt: + +get_asm_inc_file(*args) + get_asm_inc_file() -> str + + + Get name of the include file. + +Help on function get_custom_data_type_ids in module ida_nalt: + +get_custom_data_type_ids(*args) + get_custom_data_type_ids(cdis, ea) -> int + +Help on function get_custom_refinfo in module ida_nalt: + +get_custom_refinfo(*args) + get_custom_refinfo(crid) -> custom_refinfo_handler_t const * + + + Get definition of a registered custom refinfo type. + + + @param crid (C++: int) + +Help on function get_default_encoding_idx in module ida_nalt: + +get_default_encoding_idx(*args) + get_default_encoding_idx(bpu) -> int + + + Get default encoding index for a specific string type. + + @param bpu: the amount of bytes per unit (e.g., 1 for ASCII, CP1252, + UTF-8..., 2 for UTF-16, 4 for UTF-32) 0 means no specific + encoding is set - byte values are displayed without + conversion. (C++: int) + +Help on function get_encoding_bpu in module ida_nalt: + +get_encoding_bpu(*args) + 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: the encoding index (C++: int) + @return: the number of bytes per units (1/2/4); -1 means error + +Help on function get_encoding_name in module ida_nalt: + +get_encoding_name(*args) + get_encoding_name(idx) -> char const * + + + Get encoding name for specific index (1-based). + + @param idx (C++: int) + @return: NULL if idx is out of bounds + +Help on function get_encoding_qty in module ida_nalt: + +get_encoding_qty(*args) + get_encoding_qty() -> int + + + Get total number of encodings (counted from 0) + +Help on function get_gotea in module ida_nalt: + +get_gotea(*args) + get_gotea() -> ea_t + +Help on function get_ids_modnode in module ida_nalt: + +get_ids_modnode(*args) + get_ids_modnode() -> netnode + + + Get ids modnode. + +Help on function get_imagebase in module ida_nalt: + +get_imagebase(*args) + get_imagebase() -> ea_t + + + Get image base address. + +Help on function get_import_module_name in module ida_nalt: + +get_import_module_name(*args) + get_import_module_name(mod_index) -> PyObject * + + + Returns the name of an imported module given its index + @return: None or the module name + +Help on function get_import_module_qty in module ida_nalt: + +get_import_module_qty(*args) + get_import_module_qty() -> uint + + + Get number of import modules. + +Help on function get_ind_purged in module ida_nalt: + +get_ind_purged(*args) + get_ind_purged(ea) -> ea_t + +Help on function get_input_file_path in module ida_nalt: + +get_input_file_path(*args) + get_input_file_path() -> str + + + Get full path of the input file. + +Help on function get_item_color in module ida_nalt: + +get_item_color(*args) + get_item_color(ea) -> bgcolor_t + +Help on function get_op_tinfo in module ida_nalt: + +get_op_tinfo(*args) + get_op_tinfo(tif, ea, n) -> bool + +Help on function get_outfile_encoding_idx in module ida_nalt: + +get_outfile_encoding_idx(*args) + get_outfile_encoding_idx() -> int + + + Get the index of the encoding used when producing files 0 means no + that the IDB's default 1 byte-per-unit encoding is used + +Help on function get_refinfo in module ida_nalt: + +get_refinfo(*args) + get_refinfo(ri, ea, n) -> bool + +Help on function get_reftype_by_size in module ida_nalt: + +get_reftype_by_size(*args) + 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) + +Help on function get_root_filename in module ida_nalt: + +get_root_filename(*args) + get_root_filename() -> str + + + Get file name only of the input file. + +Help on function get_source_linnum in module ida_nalt: + +get_source_linnum(*args) + get_source_linnum(ea) -> uval_t + +Help on function get_str_encoding_idx in module ida_nalt: + +get_str_encoding_idx(*args) + get_str_encoding_idx(strtype) -> uchar + + + Get index of the string encoding for this string. + + + @param strtype (C++: int32) + +Help on function get_str_term1 in module ida_nalt: + +get_str_term1(*args) + get_str_term1(strtype) -> char + +Help on function get_str_term2 in module ida_nalt: + +get_str_term2(*args) + get_str_term2(strtype) -> char + +Help on function get_str_type in module ida_nalt: + +get_str_type(*args) + get_str_type(ea) -> uint32 + +Help on function get_str_type_code in module ida_nalt: + +get_str_type_code(*args) + get_str_type_code(strtype) -> uchar + +Help on function get_strtype_bpu in module ida_nalt: + +get_strtype_bpu(*args) + get_strtype_bpu(strtype) -> int + +Help on function get_switch_info in module ida_nalt: + +get_switch_info(*args) + +Help on function get_switch_parent in module ida_nalt: + +get_switch_parent(*args) + get_switch_parent(ea) -> ea_t + +Help on function get_tinfo in module ida_nalt: + +get_tinfo(*args) + get_tinfo(tif, ea) -> bool + +Help on function getnode in module ida_nalt: + +getnode(*args) + getnode(ea) -> netnode + +Help on function has_lname in module ida_nalt: + +has_lname(*args) + has_lname(ea) -> bool + +Help on function has_ti in module ida_nalt: + +has_ti(*args) + has_ti(ea) -> bool + +Help on function has_ti0 in module ida_nalt: + +has_ti0(*args) + has_ti0(ea) -> bool + +Help on function has_ti1 in module ida_nalt: + +has_ti1(*args) + has_ti1(ea) -> bool + +Help on function hide_border in module ida_nalt: + +hide_border(*args) + hide_border(ea) + +Help on function hide_item in module ida_nalt: + +hide_item(*args) + hide_item(ea) + +Help on function is__bnot0 in module ida_nalt: + +is__bnot0(*args) + is__bnot0(ea) -> bool + +Help on function is__bnot1 in module ida_nalt: + +is__bnot1(*args) + is__bnot1(ea) -> bool + +Help on function is__invsign0 in module ida_nalt: + +is__invsign0(*args) + is__invsign0(ea) -> bool + +Help on function is__invsign1 in module ida_nalt: + +is__invsign1(*args) + is__invsign1(ea) -> bool + +Help on function is_align_flow in module ida_nalt: + +is_align_flow(*args) + is_align_flow(ea) -> bool + +Help on function is_colored_item in module ida_nalt: + +is_colored_item(*args) + is_colored_item(ea) -> bool + +Help on function is_finally_visible_item in module ida_nalt: + +is_finally_visible_item(*args) + is_finally_visible_item(ea) -> bool + + + Is instruction visible? + + + @param ea (C++: ea_t) + +Help on function is_fixed_spd in module ida_nalt: + +is_fixed_spd(*args) + is_fixed_spd(ea) -> bool + +Help on function is_hidden_border in module ida_nalt: + +is_hidden_border(*args) + is_hidden_border(ea) -> bool + +Help on function is_hidden_item in module ida_nalt: + +is_hidden_item(*args) + is_hidden_item(ea) -> bool + +Help on function is_libitem in module ida_nalt: + +is_libitem(*args) + is_libitem(ea) -> bool + +Help on function is_lzero0 in module ida_nalt: + +is_lzero0(*args) + is_lzero0(ea) -> bool + +Help on function is_lzero1 in module ida_nalt: + +is_lzero1(*args) + is_lzero1(ea) -> bool + +Help on function is_noret in module ida_nalt: + +is_noret(*args) + is_noret(ea) -> bool + +Help on function is_notcode in module ida_nalt: + +is_notcode(*args) + is_notcode(ea) -> bool + + + Is the address marked as not-code? + + + @param ea (C++: ea_t) + +Help on function is_notproc in module ida_nalt: + +is_notproc(*args) + is_notproc(ea) -> bool + +Help on function is_pascal in module ida_nalt: + +is_pascal(*args) + is_pascal(strtype) -> bool + +Help on function is_reftype_target_optional in module ida_nalt: + +is_reftype_target_optional(*args) + is_reftype_target_optional(type) -> bool + + + Can the target be calculated using operand value? + + + @param type (C++: reftype_t) + +Help on function is_retfp in module ida_nalt: + +is_retfp(*args) + is_retfp(ea) -> bool + +Help on function is_terse_struc in module ida_nalt: + +is_terse_struc(*args) + is_terse_struc(ea) -> bool + +Help on function is_tilcmt in module ida_nalt: + +is_tilcmt(*args) + is_tilcmt(ea) -> bool + +Help on function is_usersp in module ida_nalt: + +is_usersp(*args) + is_usersp(ea) -> bool + +Help on function is_userti in module ida_nalt: + +is_userti(*args) + is_userti(ea) -> bool + +Help on function is_visible_item in module ida_nalt: + +is_visible_item(*args) + is_visible_item(ea) -> bool + + + Test visibility of item at given ea. + + + @param ea (C++: ea_t) + +Help on function is_zstroff in module ida_nalt: + +is_zstroff(*args) + is_zstroff(ea) -> bool + +Help on function node2ea in module ida_nalt: + +node2ea(*args) + node2ea(ndx) -> ea_t + +Help on class opinfo_t in module ida_nalt: + +class opinfo_t(__builtin__.object) + | Proxy of C++ opinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> opinfo_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cd + | opinfo_t_cd_get(self) -> custom_data_type_ids_t + | + | ec + | opinfo_t_ec_get(self) -> enum_const_t + | + | path + | opinfo_t_path_get(self) -> strpath_t + | + | ri + | opinfo_t_ri_get(self) -> refinfo_t + | + | strtype + | opinfo_t_strtype_get(self) -> int32 + | + | thisown + | The membership flag + | + | tid + | opinfo_t_tid_get(self) -> tid_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_opinfo_t(self) + +Help on class printop_t in module ida_nalt: + +class printop_t(__builtin__.object) + | Proxy of C++ printop_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> printop_t + | + | __repr__ = _swig_repr(self) + | + | get_ti(self, *args) + | get_ti(self) -> opinfo_t + | + | is_aflags_initialized(self, *args) + | is_aflags_initialized(self) -> bool + | + | is_ti_initialized(self, *args) + | is_ti_initialized(self) -> bool + | + | set_aflags_initialized(self, *args) + | set_aflags_initialized(self, v=True) + | + | set_ti_initialized(self, *args) + | set_ti_initialized(self, v=True) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | aflags + | printop_t_aflags_get(self) -> flags_t + | + | features + | printop_t_features_get(self) -> uchar + | + | flags + | printop_t_flags_get(self) -> flags_t + | + | is_ti_valid + | is_ti_initialized(self) -> bool + | + | suspop + | printop_t_suspop_get(self) -> int + | + | thisown + | The membership flag + | + | ti + | printop_t_ti_get(self) -> opinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_printop_t(self) + +Help on class refinfo_t in module ida_nalt: + +class refinfo_t(__builtin__.object) + | Proxy of C++ refinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> refinfo_t + | + | __repr__ = _swig_repr(self) + | + | init(self, *args) + | init(self, reft_and_flags, _base=0, _target=BADADDR, _tdelta=0) + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_pastend(self, *args) + | is_pastend(self) -> bool + | + | is_rvaoff(self, *args) + | is_rvaoff(self) -> bool + | + | is_signed(self, *args) + | is_signed(self) -> bool + | + | is_subtract(self, *args) + | is_subtract(self) -> bool + | + | is_target_optional(self, *args) + | is_target_optional(self) -> bool + | + | no_base_xref(self, *args) + | no_base_xref(self) -> bool + | + | set_type(self, *args) + | set_type(self, t) + | + | type(self, *args) + | type(self) -> reftype_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | refinfo_t_base_get(self) -> ea_t + | + | flags + | refinfo_t_flags_get(self) -> uint32 + | + | target + | refinfo_t_target_get(self) -> ea_t + | + | tdelta + | refinfo_t_tdelta_get(self) -> adiff_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_refinfo_t(self) + +Help on function rename_encoding in module ida_nalt: + +rename_encoding(*args) + rename_encoding(idx, encoding) -> bool + + + Change name for an encoding (1-based) + + + @param idx (C++: int) + @param encoding (C++: const char *) + +Help on function retrieve_input_file_crc32 in module ida_nalt: + +retrieve_input_file_crc32(*args) + 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. + +Help on function retrieve_input_file_md5 in module ida_nalt: + +retrieve_input_file_md5(*args) + retrieve_input_file_md5() -> str + + + Get input file md5. + +Help on function retrieve_input_file_sha256 in module ida_nalt: + +retrieve_input_file_sha256(*args) + retrieve_input_file_sha256() -> str + + + Get input file sha256. + +Help on function retrieve_input_file_size in module ida_nalt: + +retrieve_input_file_size(*args) + retrieve_input_file_size() -> uint32 + + + Get size of input file in bytes. + +Help on function set__bnot0 in module ida_nalt: + +set__bnot0(*args) + set__bnot0(ea) + +Help on function set__bnot1 in module ida_nalt: + +set__bnot1(*args) + set__bnot1(ea) + +Help on function set__invsign0 in module ida_nalt: + +set__invsign0(*args) + set__invsign0(ea) + +Help on function set__invsign1 in module ida_nalt: + +set__invsign1(*args) + set__invsign1(ea) + +Help on function set_abits in module ida_nalt: + +set_abits(*args) + set_abits(ea, bits) + +Help on function set_absbase in module ida_nalt: + +set_absbase(*args) + set_absbase(ea, x) + +Help on function set_aflags in module ida_nalt: + +set_aflags(*args) + set_aflags(ea, flags) + +Help on function set_align_flow in module ida_nalt: + +set_align_flow(*args) + set_align_flow(ea) + +Help on function set_alignment in module ida_nalt: + +set_alignment(*args) + set_alignment(ea, x) + +Help on function set_archive_path in module ida_nalt: + +set_archive_path(*args) + set_archive_path(file) -> bool + + + Set archive file path from which input file was extracted. + + + @param file (C++: const char *) + +Help on function set_array_parameters in module ida_nalt: + +set_array_parameters(*args) + set_array_parameters(ea, _in) + +Help on function set_asm_inc_file in module ida_nalt: + +set_asm_inc_file(*args) + set_asm_inc_file(file) -> bool + + + Set name of the include file. + + + @param file (C++: const char *) + +Help on function set_colored_item in module ida_nalt: + +set_colored_item(*args) + set_colored_item(ea) + +Help on function set_custom_data_type_ids in module ida_nalt: + +set_custom_data_type_ids(*args) + set_custom_data_type_ids(ea, cdis) + +Help on function set_default_encoding_idx in module ida_nalt: + +set_default_encoding_idx(*args) + set_default_encoding_idx(bpu, idx) -> bool + + + set default encoding for a string type + + @param bpu: the amount of bytes per unit (C++: int) + @param idx: the encoding index idx can be 0 to disable encoding + conversion (C++: int) + +Help on function set_fixed_spd in module ida_nalt: + +set_fixed_spd(*args) + set_fixed_spd(ea) + +Help on function set_gotea in module ida_nalt: + +set_gotea(*args) + set_gotea(gotea) + +Help on function set_has_lname in module ida_nalt: + +set_has_lname(*args) + set_has_lname(ea) + +Help on function set_has_ti in module ida_nalt: + +set_has_ti(*args) + set_has_ti(ea) + +Help on function set_has_ti0 in module ida_nalt: + +set_has_ti0(*args) + set_has_ti0(ea) + +Help on function set_has_ti1 in module ida_nalt: + +set_has_ti1(*args) + set_has_ti1(ea) + +Help on function set_ids_modnode in module ida_nalt: + +set_ids_modnode(*args) + set_ids_modnode(id) + + + Set ids modnode. + + + @param id (C++: netnode) + +Help on function set_imagebase in module ida_nalt: + +set_imagebase(*args) + set_imagebase(base) + + + Set image base address. + + + @param base (C++: ea_t) + +Help on function set_item_color in module ida_nalt: + +set_item_color(*args) + set_item_color(ea, color) + +Help on function set_libitem in module ida_nalt: + +set_libitem(*args) + set_libitem(ea) + +Help on function set_lzero0 in module ida_nalt: + +set_lzero0(*args) + set_lzero0(ea) + +Help on function set_lzero1 in module ida_nalt: + +set_lzero1(*args) + set_lzero1(ea) + +Help on function set_noret in module ida_nalt: + +set_noret(*args) + set_noret(ea) + +Help on function set_notcode in module ida_nalt: + +set_notcode(*args) + set_notcode(ea) + + + Mark address so that it cannot be converted to instruction. + + + @param ea (C++: ea_t) + +Help on function set_notproc in module ida_nalt: + +set_notproc(*args) + set_notproc(ea) + +Help on function set_op_tinfo in module ida_nalt: + +set_op_tinfo(*args) + set_op_tinfo(ea, n, tif) -> bool + +Help on function set_outfile_encoding_idx in module ida_nalt: + +set_outfile_encoding_idx(*args) + set_outfile_encoding_idx(idx) -> bool + + + set encoding to be used when producing files + + @param idx: the encoding index idx can be 0 to use the IDB's default 1 + -byte-per-unit encoding (C++: int) + +Help on function set_refinfo in module ida_nalt: + +set_refinfo(*args) + set_refinfo(ea, n, type, target=BADADDR, base=0, tdelta=0) -> bool + +Help on function set_refinfo_ex in module ida_nalt: + +set_refinfo_ex(*args) + set_refinfo_ex(ea, n, ri) -> bool + +Help on function set_retfp in module ida_nalt: + +set_retfp(*args) + set_retfp(ea) + +Help on function set_root_filename in module ida_nalt: + +set_root_filename(*args) + set_root_filename(file) + + + Set full path of the input file. + + + @param file (C++: const char *) + +Help on function set_source_linnum in module ida_nalt: + +set_source_linnum(*args) + set_source_linnum(ea, lnnum) + +Help on function set_str_type in module ida_nalt: + +set_str_type(*args) + set_str_type(ea, x) + +Help on function set_switch_info in module ida_nalt: + +set_switch_info(*args) + set_switch_info(ea, _in) + +Help on function set_switch_parent in module ida_nalt: + +set_switch_parent(*args) + set_switch_parent(ea, x) + +Help on function set_terse_struc in module ida_nalt: + +set_terse_struc(*args) + set_terse_struc(ea) + +Help on function set_tilcmt in module ida_nalt: + +set_tilcmt(*args) + set_tilcmt(ea) + +Help on function set_tinfo in module ida_nalt: + +set_tinfo(*args) + set_tinfo(ea, tif) -> bool + +Help on function set_usemodsp in module ida_nalt: + +set_usemodsp(*args) + set_usemodsp(ea) + +Help on function set_usersp in module ida_nalt: + +set_usersp(*args) + set_usersp(ea) + +Help on function set_userti in module ida_nalt: + +set_userti(*args) + set_userti(ea) + +Help on function set_visible_item in module ida_nalt: + +set_visible_item(*args) + set_visible_item(ea, visible) + + + Change visibility of item at given ea. + + + @param ea (C++: ea_t) + @param visible (C++: bool) + +Help on function set_zstroff in module ida_nalt: + +set_zstroff(*args) + set_zstroff(ea) + +Help on class strpath_ids_array in module ida_nalt: + +class strpath_ids_array(__builtin__.object) + | Proxy of C++ wrapped_array_t< tid_t,32 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | __init__(self, *args) + | __init__(self, data) -> strpath_ids_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | strpath_ids_array_data_get(self) -> unsigned-ea-like-numeric-type (&)[32]↗ + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_strpath_ids_array(self) + +Help on class strpath_t in module ida_nalt: + +class strpath_t(__builtin__.object) + | Proxy of C++ strpath_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strpath_t + | + | __repr__ = _swig_repr(self) + | + | _strpath_t__getIds = __getIds(self, *args) + | __getIds(self) -> strpath_ids_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | delta + | strpath_t_delta_get(self) -> adiff_t + | + | ids + | __getIds(self) -> strpath_ids_array + | + | len + | strpath_t_len_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_strpath_t(self) + +Help on class switch_info_t in module ida_nalt: + +class switch_info_t(__builtin__.object) + | Proxy of C++ switch_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> switch_info_t + | + | __repr__ = _swig_repr(self) + | + | _get_values_lowcase(self, *args) + | _get_values_lowcase(self) -> ea_t + | + | _set_values_lowcase(self, *args) + | _set_values_lowcase(self, values) + | + | assign(self, *args) + | assign(self, other) + | + | clear(self, *args) + | clear(self) + | + | get_jrange_vrange(self, *args) + | get_jrange_vrange(self, jrange=None, vrange=None) -> bool + | + | get_jtable_element_size(self, *args) + | get_jtable_element_size(self) -> int + | + | get_jtable_size(self, *args) + | get_jtable_size(self) -> int + | + | get_lowcase(self, *args) + | get_lowcase(self) -> sval_t + | + | get_shift(self, *args) + | get_shift(self) -> int + | + | get_version(self, *args) + | get_version(self) -> int + | + | get_vtable_element_size(self, *args) + | get_vtable_element_size(self) -> int + | + | has_default(self, *args) + | has_default(self) -> bool + | + | has_elbase(self, *args) + | has_elbase(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_indirect(self, *args) + | is_indirect(self) -> bool + | + | is_nolowcase(self, *args) + | is_nolowcase(self) -> bool + | + | is_sparse(self, *args) + | is_sparse(self) -> bool + | + | is_subtract(self, *args) + | is_subtract(self) -> bool + | + | set_elbase(self, *args) + | set_elbase(self, base) + | + | set_expr(self, *args) + | set_expr(self, r, dt) + | + | set_jtable_element_size(self, *args) + | set_jtable_element_size(self, size) + | + | set_jtable_size(self, *args) + | set_jtable_size(self, size) + | + | set_shift(self, *args) + | set_shift(self, shift) + | + | set_vtable_element_size(self, *args) + | set_vtable_element_size(self, size) + | + | use_std_table(self, *args) + | use_std_table(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | custom + | switch_info_t_custom_get(self) -> uval_t + | + | defjump + | switch_info_t_defjump_get(self) -> ea_t + | + | elbase + | switch_info_t_elbase_get(self) -> ea_t + | + | expr_ea + | switch_info_t_expr_ea_get(self) -> ea_t + | + | flags + | switch_info_t_flags_get(self) -> uint32 + | + | ind_lowcase + | switch_info_t_ind_lowcase_get(self) -> sval_t + | + | jcases + | switch_info_t_jcases_get(self) -> int + | + | jumps + | switch_info_t_jumps_get(self) -> ea_t + | + | lowcase + | _get_values_lowcase(self) -> ea_t + | + | marks + | switch_info_t_marks_get(self) -> eavec_t * + | + | ncases + | switch_info_t_ncases_get(self) -> ushort + | + | regdtype + | switch_info_t_regdtype_get(self) -> op_dtype_t + | + | regnum + | switch_info_t_regnum_get(self) -> int + | + | startea + | switch_info_t_startea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | values + | _get_values_lowcase(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | SWITCH_INFO_VERSION = 2 + | + | __swig_destroy__ = + | delete_switch_info_t(self) + +Help on function switch_info_t__from_ptrval__ in module ida_nalt: + +switch_info_t__from_ptrval__(*args) + switch_info_t__from_ptrval__(ptrval) -> switch_info_t + +Help on function unhide_border in module ida_nalt: + +unhide_border(*args) + unhide_border(ea) + +Help on function unhide_item in module ida_nalt: + +unhide_item(*args) + unhide_item(ea) + +Help on function uses_modsp in module ida_nalt: + +uses_modsp(*args) + uses_modsp(ea) -> bool + +Help on function validate_idb_names in module ida_nalt: + +validate_idb_names(*args) + validate_idb_names(do_repair) -> int + +=== ida_nalt EPYDOC INJECTIONS === +ida_nalt.AFL_ALIGNFLOW +""" +the previous insn was created for alignment purposes only +""" + +ida_nalt.AFL_BNOT0 +""" +the 1st operand is bitwise negated +""" + +ida_nalt.AFL_BNOT1 +""" +the 2nd operand is bitwise negated +""" + +ida_nalt.AFL_COLORED +""" +has user defined instruction color? +""" + +ida_nalt.AFL_FIXEDSPD +""" +should not be modified by modules + +sp delta value is fixed by analysis. +""" + +ida_nalt.AFL_HIDDEN +""" +the item is hidden completely +""" + +ida_nalt.AFL_LIB +""" +item from the standard library. low level flag, is used to set +'FUNC_LIB' of 'func_t' +""" + +ida_nalt.AFL_LINNUM +""" +has line number info +""" + +ida_nalt.AFL_LNAME +""" +has local name too ( 'FF_NAME' should be set) +""" + +ida_nalt.AFL_LZERO0 +""" +toggle leading zeroes for the 1st operand +""" + +ida_nalt.AFL_LZERO1 +""" +toggle leading zeroes for the 2nd operand +""" + +ida_nalt.AFL_MANUAL +""" +the instruction/data is specified by the user +""" + +ida_nalt.AFL_NOBRD +""" +the code/data border is hidden +""" + +ida_nalt.AFL_NORET +""" +for imported function pointers: doesn't return. this flag can also be +used for any instruction which halts or finishes the program execution +""" + +ida_nalt.AFL_NOTCODE +""" +autoanalysis should not create code here +""" + +ida_nalt.AFL_NOTPROC +""" +autoanalysis should not create proc here +""" + +ida_nalt.AFL_PUBNAM +""" +name is public (inter-file linkage) +""" + +ida_nalt.AFL_RETFP +""" +function returns a floating point value +""" + +ida_nalt.AFL_SIGN0 +""" +code: toggle sign of the 1st operand +""" + +ida_nalt.AFL_SIGN1 +""" +code: toggle sign of the 2nd operand +""" + +ida_nalt.AFL_TERSESTR +""" +terse structure variable display? +""" + +ida_nalt.AFL_TI +""" +has typeinfo? ( 'NSUP_TYPEINFO' ) +""" + +ida_nalt.AFL_TI0 +""" +has typeinfo for operand 0? ( 'NSUP_OPTYPES' ) +""" + +ida_nalt.AFL_TI1 +""" +has typeinfo for operand 1? ( 'NSUP_OPTYPES' +1) +""" + +ida_nalt.AFL_TILCMT +""" +has type comment? (such a comment may be changed by IDA) +""" + +ida_nalt.AFL_USEMODSP +""" +example: pop [rsp+N] + +insn modifes SP and uses the modified value +""" + +ida_nalt.AFL_USERSP +""" +user-defined SP value +""" + +ida_nalt.AFL_USERTI +""" +(comes from the user or type library) + +the type information is definitive. +""" + +ida_nalt.AFL_WEAKNAM +""" +name is weak +""" + +ida_nalt.AFL_ZSTROFF +""" +display struct field name at 0 offset when displaying an offset. +example: \\v{offset somestruct.field_0} if this flag is clear, then +\\v{offset somestruct} +""" + +ida_nalt.AP_ALLOWDUPS +""" +use 'dup' construct +""" + +ida_nalt.AP_ARRAY +""" +create as array (this flag is not stored in database) +""" + +ida_nalt.AP_IDXBASEMASK +""" +mask for number base of the indexes +""" + +ida_nalt.AP_IDXBIN +""" +display indexes in binary +""" + +ida_nalt.AP_IDXDEC +""" +display indexes in decimal +""" + +ida_nalt.AP_IDXHEX +""" +display indexes in hex +""" + +ida_nalt.AP_IDXOCT +""" +display indexes in octal +""" + +ida_nalt.AP_INDEX +""" +display array element indexes as comments +""" + +ida_nalt.AP_SIGNED +""" +treats numbers as signed +""" + +ida_nalt.MAXSTRUCPATH +""" +maximal inclusion depth of unions +""" + +ida_nalt.NALT_ABSBASE +""" +absolute segment location +""" + +ida_nalt.NALT_AFLAGS +""" +additional flags for an item +""" + +ida_nalt.NALT_ALIGN +""" +(should by equal to power of 2) + +alignment value if the item is 'FF_ALIGN' +""" + +ida_nalt.NALT_COLOR +""" +instruction/data background color +""" + +ida_nalt.NALT_CREF_FROM +""" +code xref from, idx: source address +""" + +ida_nalt.NALT_CREF_TO +""" +code xref to, idx: target address +""" + +ida_nalt.NALT_DREF_FROM +""" +data xref from, idx: source address +""" + +ida_nalt.NALT_DREF_TO +""" +data xref to, idx: target address +""" + +ida_nalt.NALT_ENUM0 +""" +enum id for the first operand +""" + +ida_nalt.NALT_ENUM1 +""" +enum id for the second operand +""" + +ida_nalt.NALT_GR_LAYX +""" +group layout ptrs, hash: md5 of 'belongs' +""" + +ida_nalt.NALT_LINNUM +""" +source line number +""" + +ida_nalt.NALT_PURGE +""" +number of bytes purged from the stack when a function is called +indirectly +""" + +ida_nalt.NALT_STRTYPE +""" +type of string item +""" + +ida_nalt.NALT_STRUCT +""" +struct id +""" + +ida_nalt.NALT_SWITCH +""" +switch idiom address (used at jump targets) +""" + +ida_nalt.NSUP_ARGEAS +""" +instructions that initialize call arguments +""" + +ida_nalt.NSUP_ARRAY +""" +array parameters +""" + +ida_nalt.NSUP_CMT +""" +regular comment +""" + +ida_nalt.NSUP_CUSTDT +""" +custom data type id +""" + +ida_nalt.NSUP_FOP1 +""" +forced operand 1 +""" + +ida_nalt.NSUP_FOP2 +""" +forced operand 2 +""" + +ida_nalt.NSUP_FOP3 +""" +forced operand 3 +""" + +ida_nalt.NSUP_FOP4 +""" +forced operand 4 +""" + +ida_nalt.NSUP_FOP5 +""" +forced operand 5 +""" + +ida_nalt.NSUP_FOP6 +""" +forced operand 6 +""" + +ida_nalt.NSUP_FOP7 +""" +forced operand 7 +""" + +ida_nalt.NSUP_FOP8 +""" +forced operand 8 +""" + +ida_nalt.NSUP_FTAILS +""" +function tails or tail referers values NSUP_FTAILS..NSUP_FTAILS+0x1000 +are reserved +""" + +ida_nalt.NSUP_GROUP +""" +graph group information values NSUP_GROUP..NSUP_GROUP+0x1000 are +reserved +""" + +ida_nalt.NSUP_GROUPS +""" +SEG_GRP: pack_dd encoded list of selectors. +""" + +ida_nalt.NSUP_GR_INFO +""" +group node info: color, ea, text +""" + +ida_nalt.NSUP_GR_LAYT +""" +group layouts, idx: layout pointer +""" + +ida_nalt.NSUP_JINFO +""" +jump table info +""" + +ida_nalt.NSUP_LLABEL +""" +local labels. values NSUP_LLABEL..NSUP_LLABEL+0x1000 are reserved +""" + +ida_nalt.NSUP_MANUAL +""" +manual instruction. values NSUP_MANUAL..NSUP_MANUAL+0x1000 are +reserved +""" + +ida_nalt.NSUP_OMFGRP +""" +OMF: group of segments (not used anymore) +""" + +ida_nalt.NSUP_OPTYPES +""" +operand type information. values NSUP_OPTYPES..NSUP_OPTYPES+0x100000 +are reserved +""" + +ida_nalt.NSUP_OREF0 +""" +outer complex reference information for operand 1 +""" + +ida_nalt.NSUP_OREF1 +""" +outer complex reference information for operand 2 +""" + +ida_nalt.NSUP_OREF2 +""" +outer complex reference information for operand 3 +""" + +ida_nalt.NSUP_OREF3 +""" +outer complex reference information for operand 4 +""" + +ida_nalt.NSUP_OREF4 +""" +outer complex reference information for operand 5 +""" + +ida_nalt.NSUP_OREF5 +""" +outer complex reference information for operand 6 +""" + +ida_nalt.NSUP_OREF6 +""" +outer complex reference information for operand 7 +""" + +ida_nalt.NSUP_OREF7 +""" +outer complex reference information for operand 8 +""" + +ida_nalt.NSUP_ORIGFMD +""" +function metadata before lumina information was applied values +NSUP_ORIGFMD..NSUP_ORIGFMD+0x1000 are reserved +""" + +ida_nalt.NSUP_POINTS +""" +SP change points blob (see funcs.cpp). values +NSUP_POINTS..NSUP_POINTS+0x1000 are reserved +""" + +ida_nalt.NSUP_REF0 +""" +complex reference information for operand 1 +""" + +ida_nalt.NSUP_REF1 +""" +complex reference information for operand 2 +""" + +ida_nalt.NSUP_REF2 +""" +complex reference information for operand 3 +""" + +ida_nalt.NSUP_REF3 +""" +complex reference information for operand 4 +""" + +ida_nalt.NSUP_REF4 +""" +complex reference information for operand 5 +""" + +ida_nalt.NSUP_REF5 +""" +complex reference information for operand 6 +""" + +ida_nalt.NSUP_REF6 +""" +complex reference information for operand 7 +""" + +ida_nalt.NSUP_REF7 +""" +complex reference information for operand 8 +""" + +ida_nalt.NSUP_REGARG +""" +register argument type/name descriptions values +NSUP_REGARG..NSUP_REGARG+0x1000 are reserved +""" + +ida_nalt.NSUP_REGVAR +""" +register variables. values NSUP_REGVAR..NSUP_REGVAR+0x1000 are +reserved +""" + +ida_nalt.NSUP_REPCMT +""" +repeatable comment +""" + +ida_nalt.NSUP_SEGTRANS +""" +segment translations +""" + +ida_nalt.NSUP_STROFF0 +""" +stroff: struct path for the first operand +""" + +ida_nalt.NSUP_STROFF1 +""" +stroff: struct path for the second operand +""" + +ida_nalt.NSUP_SWITCH +""" +switch information +""" + +ida_nalt.NSUP_TYPEINFO +""" +type information. values NSUP_TYPEINFO..NSUP_TYPEINFO+0x1000 are +reserved +""" + +ida_nalt.NSUP_XREFPOS +""" +saved xref address and type in the xrefs window +""" + +ida_nalt.PATCH_TAG +""" +Patch netnode tag. +""" + +ida_nalt.REFINFO_CUSTOM +""" +a custom reference the kernel will call \\ph{notify}(ph.custom_offset, +.... that can change all arguments used for calculations. This flag is +useful for custom fixups +""" + +ida_nalt.REFINFO_NOBASE +""" +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 +""" + +ida_nalt.REFINFO_PASTEND +""" +reference past an item it may point to an nonexistent address do not +destroy alignment dirs +""" + +ida_nalt.REFINFO_RVAOFF +""" +based reference (rva) 'refinfo_t::base' will be forced to +'get_imagebase()' such a reference is displayed with the \\ash{a_rva} +keyword +""" + +ida_nalt.REFINFO_SIGNEDOP +""" +the operand value is sign-extended (only supported for +REF_OFF8/16/32/64) +""" + +ida_nalt.REFINFO_SUBTRACT +""" +the reference value is subtracted from the base value instead of (as +usual) being added to it +""" + +ida_nalt.REFINFO_TYPE +""" +reference type +""" + +ida_nalt.RIDX_ABINAME +""" +ABI name (processor specific) +""" + +ida_nalt.RIDX_ARCHIVE_PATH +""" +archive file path +""" + +ida_nalt.RIDX_C_MACROS +""" +C predefined macros. +""" + +ida_nalt.RIDX_DBG_BINPATHS +""" +unused (20 indexes) +""" + +ida_nalt.RIDX_DUALOP_GRAPH +""" +Graph text representation options. +""" + +ida_nalt.RIDX_DUALOP_TEXT +""" +Text text representation options. +""" + +ida_nalt.RIDX_FILE_FORMAT_NAME +""" +file format name for loader modules +""" + +ida_nalt.RIDX_GROUPS +""" +segment group information (see init_groups()) +""" + +ida_nalt.RIDX_H_PATH +""" +C header path. +""" + +ida_nalt.RIDX_IDA_VERSION +""" +version of ida which created the database +""" + +ida_nalt.RIDX_INCLUDE +""" +assembler include file name +""" + +ida_nalt.RIDX_MD5 +""" +MD5 of the input file. +""" + +ida_nalt.RIDX_NOTEPAD +""" +notepad blob, occupies 1000 indexes (1MB of text) +""" + +ida_nalt.RIDX_PROBLEMS +""" +problem lists +""" + +ida_nalt.RIDX_SELECTED_EXTLANG +""" +last selected extlang name (from the execute script box) +""" + +ida_nalt.RIDX_SELECTORS +""" +2..63 are for selector_t blob (see init_selectors()) +""" + +ida_nalt.RIDX_SHA256 +""" +SHA256 of the input file. +""" + +ida_nalt.RIDX_SMALL_IDC +""" +Instant IDC statements, blob. +""" + +ida_nalt.RIDX_SMALL_IDC_OLD +""" +Instant IDC statements (obsolete) +""" + +ida_nalt.RIDX_SRCDBG_PATHS +""" +source debug paths, occupies 20 indexes +""" + +ida_nalt.RIDX_SRCDBG_UNDESIRED +""" +user-closed source files, occupies 20 indexes +""" + +ida_nalt.RIDX_STR_ENCODINGS +""" +a list of encodings for the program strings +""" + +ida_nalt.STRENC_DEFAULT +""" +use default encoding for this type (see 'get_default_encoding_idx()' ) +""" + +ida_nalt.STRENC_NONE +""" +force no-conversion encoding +""" + +ida_nalt.STRTYPE_C +""" +Zero-terminated 16bit chars. +""" + +ida_nalt.STRTYPE_C_16 +""" +Zero-terminated 32bit chars. +""" + +ida_nalt.STRTYPE_C_32 +""" +Pascal-style, one-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN2 +""" +Pascal-style, 16bit chars, two-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN2_16 +""" +Pascal-style, four-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN4 +""" +Pascal-style, 16bit chars, four-byte length prefix. +""" + +ida_nalt.STRTYPE_PASCAL +""" +Pascal-style, 16bit chars, one-byte length prefix. +""" + +ida_nalt.STRTYPE_PASCAL_16 +""" +Pascal-style, two-byte length prefix. +""" + +ida_nalt.STRTYPE_TERMCHR +""" +C-style string. + +< Character-terminated string. The termination characters are kept in +the next bytes of string type. +""" + +ida_nalt.SWI_CUSTOM +""" +custom jump table. \\ph{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' ) +""" + +ida_nalt.SWI_DEFRET +""" +return in the default case (defjump==BADADDR) +""" + +ida_nalt.SWI_DEF_IN_TBL +""" +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) +=""> ==+ 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. +""" + +ida_nalt.SWI_ELBASE +""" +segment will be used) + +elbase is present (otherwise the base of the switch +""" + +ida_nalt.SWI_HXNOLOWCASE +""" +lowcase value should not be used by the decompiler (internal flag) +""" + +ida_nalt.SWI_INDIRECT +""" +(for sparse switches) + +value table elements are used as indexes into the jump table +""" + +ida_nalt.SWI_J32 +""" +32-bit jump offsets +""" + +ida_nalt.SWI_JMPINSN +""" +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. +""" + +ida_nalt.SWI_JMP_INV +""" +for first entry in values table) + +jumptable is inversed. (last entry is +""" + +ida_nalt.SWI_JSIZE +""" +jump offset expansion bit +""" + +ida_nalt.SWI_RESERVED +""" +was: SWI_DEFAULT +""" + +ida_nalt.SWI_SELFREL +""" +jump address is relative to the element not to ELBASE +""" + +ida_nalt.SWI_SEPARATE +""" +create an array of individual elements (otherwise separate items) +""" + +ida_nalt.SWI_SHIFT_MASK +""" +use formula (element< str + + + Append names of struct fields to a name if the name is a struct name. + + @param disp: displacement from the name (C++: adiff_t *) + @param n: number of operand n which the name appears (C++: int) + @param path: 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). (C++: const tid_t + *) + @param flags: the input flags. they will be returned if the struct + cannot be found. (C++: flags_t) + @param delta: delta to add to displacement (C++: adiff_t) + @param appzero: should append a struct field name if the displacement + is zero? (C++: bool) + @return: flags of the innermost struct member or the input flags + +Help on function calc_gtn_flags in module ida_name: + +calc_gtn_flags(fromaddr, ea) + Calculate flags for get_ea_name() function + + @param fromaddr: the referring address. May be BADADDR. + @param ea: linear address + + @return: flags + +Help on function cleanup_name in module ida_name: + +cleanup_name(*args) + cleanup_name(ea, name, flags=0) -> str + +Help on function del_debug_names in module ida_name: + +del_debug_names(*args) + del_debug_names(ea1, ea2) + +Help on function del_global_name in module ida_name: + +del_global_name(*args) + del_global_name(ea) -> bool + +Help on function del_local_name in module ida_name: + +del_local_name(*args) + del_local_name(ea) -> bool + +Help on function demangle_name in module ida_name: + +demangle_name(*args) + demangle_name(name, disable_mask, demreq=DQT_FULL) -> str + + + Demangle a name. + + @param name: name to demangle (C++: const char *) + @param disable_mask: bits to inhibit parts of demangled name (see + MNG_). by the M_COMPILER bits a specific compiler + can be selected (see MT_). (C++: uint32) + @param demreq (C++: demreq_type_t) + @return: ME_... or MT__ bitmasks from demangle.hpp + +Help on class ea_name_t in module ida_name: + +class ea_name_t(__builtin__.object) + | Proxy of C++ ea_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ea_name_t + | __init__(self, _ea, _name) -> ea_name_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | ea_name_t_ea_get(self) -> ea_t + | + | name + | ea_name_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ea_name_t(self) + +Help on class ea_name_vec_t in module ida_name: + +class ea_name_vec_t(__builtin__.object) + | Proxy of C++ qvector< ea_name_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> ea_name_t + | + | __init__(self, *args) + | __init__(self) -> ea_name_vec_t + | __init__(self, x) -> ea_name_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> ea_name_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> ea_name_t + | begin(self) -> ea_name_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ea_name_t + | end(self) -> ea_name_t + | + | erase(self, *args) + | erase(self, it) -> ea_name_t + | erase(self, first, last) -> ea_name_t + | + | extract(self, *args) + | extract(self) -> ea_name_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=ea_name_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> ea_name_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ea_name_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ea_name_vec_t(self) + +Help on function extract_name in module ida_name: + +extract_name(*args) + extract_name(line, x) -> str + + + Extract a name or address from the specified string. + + @param line: input string (C++: const char *) + @param x: x coordinate of cursor (C++: int) + @return: -1 if cannot extract. otherwise length of the name + +Help on function force_name in module ida_name: + +force_name(*args) + force_name(ea, name, flags=0) -> bool + +Help on function get_colored_demangled_name in module ida_name: + +get_colored_demangled_name(*args) + get_colored_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring + +Help on function get_colored_long_name in module ida_name: + +get_colored_long_name(*args) + get_colored_long_name(ea, gtn_flags=0) -> qstring + +Help on function get_colored_name in module ida_name: + +get_colored_name(*args) + get_colored_name(ea) -> qstring + +Help on function get_colored_short_name in module ida_name: + +get_colored_short_name(*args) + get_colored_short_name(ea, gtn_flags=0) -> qstring + +Help on function get_cp_validity in module ida_name: + +get_cp_validity(*args) + 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) + @param cp (C++: wchar32_t) + @param endcp (C++: wchar32_t) + +Help on function get_debug_name in module ida_name: + +get_debug_name(*args) + get_debug_name(ea_ptr, how) -> str + +Help on function get_debug_name_ea in module ida_name: + +get_debug_name_ea(*args) + get_debug_name_ea(name) -> ea_t + +Help on function get_debug_names in module ida_name: + +get_debug_names(*args) + get_debug_names(names, ea1, ea2) + get_debug_names(ea1, ea2, return_list=False) -> PyObject * + +Help on function get_demangled_name in module ida_name: + +get_demangled_name(*args) + get_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring + +Help on function get_ea_name in module ida_name: + +get_ea_name(*args) + get_ea_name(ea, gtn_flags=0) -> qstring + + + Get name at the specified address. + + @param ea: linear address (C++: ea_t) + @param gtn_flags: how exactly the name should be retrieved. + combination of bits for get_ea_name() function. + There is a convenience bits (C++: int) + @return: success + +Help on function get_long_name in module ida_name: + +get_long_name(*args) + get_long_name(ea, gtn_flags=0) -> qstring + +Help on function get_name in module ida_name: + +get_name(*args) + get_name(ea) -> qstring + +Help on function get_name_base_ea in module ida_name: + +get_name_base_ea(*args) + get_name_base_ea(_from, to) -> ea_t + + + Get address of the name used in the expression for the address + + @param _from: address of the operand which references to the address + (C++: ea_t) + @param to: the referenced address (C++: ea_t) + @return: address of the name used to represent the operand + +Help on function get_name_color in module ida_name: + +get_name_color(*args) + get_name_color(_from, ea) -> color_t + + + Calculate flags for 'get_ea_name()' function. + + Get name color. + + @param _from: 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. (C++: ea_t) + @param ea: linear address (C++: ea_t) + +Help on function get_name_ea in module ida_name: + +get_name_ea(*args) + get_name_ea(_from, name) -> ea_t + + + Get address of the name. Dummy names (like byte_xxxx where xxxx are + hex digits) are parsed by this function to obtain the address. The + database is not consulted for them. This function works only with + regular names. + + @param _from: linear address where the name is used. if not + applicable, then should be BADADDR . (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: address of the name or BADADDR + +Help on function get_name_expr in module ida_name: + +get_name_expr(*args) + get_name_expr(_from, n, ea, off, flags=0x0001) -> str + + + 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: 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. (C++: ea_t) + @param n: number of referencing operand. for data items specify 0 + (C++: int) + @param ea: address to convert to name expression (C++: ea_t) + @param off: 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. (C++: uval_t) + @param flags: Name expression flags (C++: int) + @return: < 0 if address is not valid, no segment or other failure. + otherwise the length of the name expression in characters. + +Help on function get_name_value in module ida_name: + +get_name_value(*args) + get_name_value(_from, name) -> int + + + Get value of the name. This function knows about: regular names, + enums, special segments, etc. + + @param _from: linear address where the name is used if not applicable, + then should be BADADDR (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: Name value result codes + +Help on function get_nice_colored_name in module ida_name: + +get_nice_colored_name(*args) + get_nice_colored_name(ea, flags=0) -> str + + + Get a nice colored name at the specified address. Ex:segment:sub+offse + tsegment:sub:local_labelsegment:labelsegment:addresssegment:address+of + fset + + @param ea (C++: ea_t) + @param flags (C++: int) + @return: the length of the generated name in bytes. + +Help on function get_nlist_ea in module ida_name: + +get_nlist_ea(*args) + get_nlist_ea(idx) -> ea_t + + + Get address from the list at 'idx'. + + + @param idx (C++: size_t) + +Help on function get_nlist_idx in module ida_name: + +get_nlist_idx(*args) + get_nlist_idx(ea) -> size_t + + + Get index of the name in the listreturns the closest match. may return + idx >= size. + + @param ea (C++: ea_t) + +Help on function get_nlist_name in module ida_name: + +get_nlist_name(*args) + get_nlist_name(idx) -> char const * + + + Get name using idx. + + + @param idx (C++: size_t) + +Help on function get_nlist_size in module ida_name: + +get_nlist_size(*args) + get_nlist_size() -> size_t + + + Get number of names in the list. + +Help on function get_short_name in module ida_name: + +get_short_name(*args) + get_short_name(ea, gtn_flags=0) -> qstring + +Help on function get_visible_name in module ida_name: + +get_visible_name(*args) + get_visible_name(ea, gtn_flags=0) -> qstring + +Help on function hide_name in module ida_name: + +hide_name(*args) + hide_name(ea) + + + Remove name from the list of names + + @param ea: address of the name (C++: ea_t) + +Help on function is_ident in module ida_name: + +is_ident(*args) + is_ident(name) -> bool + + + Is a valid name? (including ::MangleChars) + + + @param name (C++: const char *) + +Help on function is_ident_cp in module ida_name: + +is_ident_cp(*args) + is_ident_cp(cp) -> bool + + + Can a character appear in a name? (present in ::NameChars or + ::MangleChars) + + + @param cp (C++: wchar32_t) + +Help on function is_in_nlist in module ida_name: + +is_in_nlist(*args) + is_in_nlist(ea) -> bool + + + Is name included into names list? + + + @param ea (C++: ea_t) + +Help on function is_name_defined_locally in module ida_name: + +is_name_defined_locally(*args) + 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: pointer to function (C++: func_t *) + @param name: name to check (C++: const char *) + @param ignore_name_def: which names to ignore when checking (C++: + ignore_name_def_t) + @param ea1: the starting address of the range inside the function + (optional) (C++: ea_t) + @param ea2: the ending address of the range inside the function + (optional) (C++: ea_t) + @return: true if the name has been defined + +Help on function is_public_name in module ida_name: + +is_public_name(*args) + is_public_name(ea) -> bool + +Help on function is_strlit_cp in module ida_name: + +is_strlit_cp(*args) + 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 *) + +Help on function is_uname in module ida_name: + +is_uname(*args) + is_uname(name) -> bool + + + Is valid user-specified name? (valid name & !dummy prefix). + + @param name: name to test. may be NULL. (C++: const char *) + +Help on function is_valid_cp in module ida_name: + +is_valid_cp(*args) + 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) + @param data (C++: void *) + +Help on function is_valid_typename in module ida_name: + +is_valid_typename(*args) + is_valid_typename(name) -> bool + + + Is valid type name? + + @param name: name to test. may be NULL. (C++: const char *) + +Help on function is_visible_cp in module ida_name: + +is_visible_cp(*args) + is_visible_cp(cp) -> bool + + + Can a character be displayed in a name? (present in ::NameChars) + + + @param cp (C++: wchar32_t) + +Help on function is_weak_name in module ida_name: + +is_weak_name(*args) + is_weak_name(ea) -> bool + +Help on function make_name_auto in module ida_name: + +make_name_auto(*args) + make_name_auto(ea) -> bool + +Help on function make_name_non_public in module ida_name: + +make_name_non_public(*args) + make_name_non_public(ea) + +Help on function make_name_non_weak in module ida_name: + +make_name_non_weak(*args) + make_name_non_weak(ea) + +Help on function make_name_public in module ida_name: + +make_name_public(*args) + make_name_public(ea) + +Help on function make_name_user in module ida_name: + +make_name_user(*args) + make_name_user(ea) -> bool + +Help on function make_name_weak in module ida_name: + +make_name_weak(*args) + make_name_weak(ea) + +Help on function rebuild_nlist in module ida_name: + +rebuild_nlist(*args) + rebuild_nlist() + + + Rebuild names list. + +Help on function reorder_dummy_names in module ida_name: + +reorder_dummy_names(*args) + reorder_dummy_names() + + + Renumber dummy names. + +Help on function set_cp_validity in module ida_name: + +set_cp_validity(*args) + 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) + @param cp (C++: wchar32_t) + @param endcp (C++: wchar32_t) + @param valid (C++: bool) + +Help on function set_debug_name in module ida_name: + +set_debug_name(*args) + set_debug_name(ea, name) -> bool + +Help on function set_dummy_name in module ida_name: + +set_dummy_name(*args) + set_dummy_name(_from, ea) -> bool + + + Give an autogenerated (dummy) name. Autogenerated names have special + prefixes (loc_...). + + @param _from: linear address of the operand which references to the + address (C++: ea_t) + @param ea: linear address (C++: ea_t) + +Help on function set_name in module ida_name: + +set_name(*args) + 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: linear address. do nothing if ea is not valid (return 0). + tail bytes can't have names. (C++: ea_t) + @param name: new name. NULL: do nothing (return 0). "" : delete + name. otherwise this is a new name. (C++: const char *) + @param flags: 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. (C++: int) + +Help on function show_name in module ida_name: + +show_name(*args) + show_name(ea) + + + Insert name to the list of names. + + + @param ea (C++: ea_t) + +Help on function validate_name in module ida_name: + +validate_name(*args) + validate_name(name, type, flags=0) -> PyObject * + + + Validate a name. 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: ptr to name. the name will be modified (C++: qstring *) + @param type: the type of name we want to validate (C++: nametype_t) + @param flags: see SN_* . Only SN_IDBENC is currently considered (C++: + int) + @return: success + +=== ida_name EPYDOC INJECTIONS === +ida_name.FUNC_IMPORT_PREFIX +""" +Name prefix used by IDA for the imported functions. +""" + +ida_name.GETN_APPZERO +""" +append a struct field name if the field offset is zero? + +meaningful only if the name refers to a structure. +""" + +ida_name.GETN_NODUMMY +""" +do not create a new dummy name but pretend it exists +""" + +ida_name.GETN_NOFIXUP +""" +ignore the fixup information when producing the name +""" + +ida_name.GNCN_NOCOLOR +""" +generate an uncolored name +""" + +ida_name.GNCN_NODBGNM +""" +don't use debug names +""" + +ida_name.GNCN_NOFUNC +""" +don't generate funcname+... expressions +""" + +ida_name.GNCN_NOLABEL +""" +don't generate labels +""" + +ida_name.GNCN_NOSEG +""" +ignore the segment prefix when producing the name +""" + +ida_name.GNCN_PREFDBG +""" +if using debug names, prefer debug names over function names +""" + +ida_name.GNCN_REQFUNC +""" +return 0 if the address does not belong to a function +""" + +ida_name.GNCN_REQNAME +""" +return 0 if the address can only be represented as a hex number +""" + +ida_name.GNCN_SEGNUM +""" +segment part is displayed as a hex number +""" + +ida_name.GNCN_SEG_FUNC +""" +generate both segment and function names (default is to omit segment +name if a function name is present) +""" + +ida_name.GN_COLORED +""" +return colored name +""" + +ida_name.GN_DEMANGLED +""" +return demangled name +""" + +ida_name.GN_ISRET +""" +for dummy names: use retloc +""" + +ida_name.GN_LOCAL +""" +try to get local name first; if failed, get global +""" + +ida_name.GN_LONG +""" +use long form of demangled name +""" + +ida_name.GN_NOT_DUMMY +""" +do not return a dummy name +""" + +ida_name.GN_NOT_ISRET +""" +for dummy names: do not use retloc +""" + +ida_name.GN_SHORT +""" +use short form of demangled name +""" + +ida_name.GN_STRICT +""" +fail if cannot demangle +""" + +ida_name.GN_VISIBLE +""" +replace forbidden characters by SUBSTCHAR +""" + +ida_name.MAXNAMELEN +""" +Maximum length of a name in IDA (with the trailing zero) +""" + +ida_name.NT_ABS +""" +name is absolute symbol ( 'SEG_ABSSYM' ) +""" + +ida_name.NT_BMASK +""" +name is a bit group mask name +""" + +ida_name.NT_BYTE +""" +name is byte name (regular name) +""" + +ida_name.NT_ENUM +""" +name is symbolic constant +""" + +ida_name.NT_LOCAL +""" +name is local label +""" + +ida_name.NT_NONE +""" +name doesn't exist or has no value +""" + +ida_name.NT_REGVAR +""" +name is a renamed register (*value is idx into pfn->regvars) +""" + +ida_name.NT_SEG +""" +name is segment or segment register name +""" + +ida_name.NT_STKVAR +""" +name is stack variable name +""" + +ida_name.NT_STROFF +""" +name is structure member +""" + +ida_name.SN_AUTO +""" +if set, make name autogenerated +""" + +ida_name.SN_DELTAIL +""" +delete the hindering item + +if name cannot be set because of a tail byte, +""" + +ida_name.SN_FORCE +""" +if the specified name is already present in the database, try +variations with a numerical suffix like "_123" +""" + +ida_name.SN_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly. Specifying SN_IDBENC also implies SN_NODUMMY +""" + +ida_name.SN_LOCAL +""" +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. +""" + +ida_name.SN_NOCHECK +""" +Don't fail if the name contains invalid characters. If this bit is +clear, all invalid chars (those !is_ident_cp()) will be replaced by +SUBSTCHAR List of valid characters is defined in ida.cfg +""" + +ida_name.SN_NODUMMY +""" +automatically prepend the name with '_' if it begins with a dummy +suffix such as 'sub_'. See also SN_IDBENC +""" + +ida_name.SN_NOLIST +""" +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). +""" + +ida_name.SN_NON_AUTO +""" +if set, make name non-autogenerated +""" + +ida_name.SN_NON_PUBLIC +""" +if set, make name non-public +""" + +ida_name.SN_NON_WEAK +""" +if set, make name non-weak +""" + +ida_name.SN_NOWARN +""" +don't display a warning if failed +""" + +ida_name.SN_PUBLIC +""" +if set, make name public +""" + +ida_name.SN_WEAK +""" +if set, make name weak +""" +=== ida_name EPYDOC INJECTIONS END === +Help on function exist in module ida_netnode: + +exist(*args) + exist(n) -> bool + +Help on class netnode in module ida_netnode: + +class netnode(__builtin__.object) + | Proxy of C++ netnode class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, n) -> bool + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> netnode + | __init__(self, num) -> netnode + | __init__(self, _name, namlen=0, do_create=False) -> netnode + | + | __ne__(self, *args) + | __ne__(self, n) -> bool + | __ne__(self, x) -> bool + | + | __repr__ = _swig_repr(self) + | + | altdel(self, *args) + | altdel(self, alt, tag=atag) -> bool + | altdel(self) -> bool + | + | altdel_all(self, *args) + | altdel_all(self, tag) -> bool + | + | altdel_ea(self, *args) + | altdel_ea(self, ea, tag=atag) -> bool + | + | altdel_idx8(self, *args) + | altdel_idx8(self, alt, tag) -> bool + | + | altfirst(self, *args) + | altfirst(self, tag=atag) -> nodeidx_t + | + | altfirst_idx8(self, *args) + | altfirst_idx8(self, tag) -> nodeidx_t + | + | altlast(self, *args) + | altlast(self, tag=atag) -> nodeidx_t + | + | altlast_idx8(self, *args) + | altlast_idx8(self, tag) -> nodeidx_t + | + | altnext(self, *args) + | altnext(self, cur, tag=atag) -> nodeidx_t + | + | altnext_idx8(self, *args) + | altnext_idx8(self, cur, tag) -> nodeidx_t + | + | altprev(self, *args) + | altprev(self, cur, tag=atag) -> nodeidx_t + | + | altprev_idx8(self, *args) + | altprev_idx8(self, cur, tag) -> nodeidx_t + | + | altset(self, *args) + | altset(self, alt, value, tag=atag) -> bool + | + | altset_ea(self, *args) + | altset_ea(self, ea, value, tag=atag) -> bool + | + | altset_idx8(self, *args) + | altset_idx8(self, alt, val, tag) -> bool + | + | altshift(self, *args) + | altshift(self, _from, to, size, tag=atag) -> size_t + | + | altval(self, *args) + | altval(self, alt, tag=atag) -> nodeidx_t + | + | altval_ea(self, *args) + | altval_ea(self, ea, tag=atag) -> nodeidx_t + | + | altval_idx8(self, *args) + | altval_idx8(self, alt, tag) -> nodeidx_t + | + | blobsize(self, *args) + | blobsize(self, _start, tag) -> size_t + | + | blobsize_ea(self, *args) + | blobsize_ea(self, ea, tag) -> size_t + | + | chardel(self, *args) + | chardel(self, alt, tag) -> bool + | + | chardel_ea(self, *args) + | chardel_ea(self, ea, tag) -> bool + | + | chardel_idx8(self, *args) + | chardel_idx8(self, alt, tag) -> bool + | + | charfirst(self, *args) + | charfirst(self, tag) -> nodeidx_t + | + | charfirst_idx8(self, *args) + | charfirst_idx8(self, tag) -> nodeidx_t + | + | charlast(self, *args) + | charlast(self, tag) -> nodeidx_t + | + | charlast_idx8(self, *args) + | charlast_idx8(self, tag) -> nodeidx_t + | + | charnext(self, *args) + | charnext(self, cur, tag) -> nodeidx_t + | + | charnext_idx8(self, *args) + | charnext_idx8(self, cur, tag) -> nodeidx_t + | + | charprev(self, *args) + | charprev(self, cur, tag) -> nodeidx_t + | + | charprev_idx8(self, *args) + | charprev_idx8(self, cur, tag) -> nodeidx_t + | + | charset(self, *args) + | charset(self, alt, val, tag) -> bool + | + | charset_ea(self, *args) + | charset_ea(self, ea, val, tag) -> bool + | + | charset_idx8(self, *args) + | charset_idx8(self, alt, val, tag) -> bool + | + | charshift(self, *args) + | charshift(self, _from, to, size, tag) -> size_t + | + | charval(self, *args) + | charval(self, alt, tag) -> uchar + | + | charval_ea(self, *args) + | charval_ea(self, ea, tag) -> uchar + | + | charval_idx8(self, *args) + | charval_idx8(self, alt, tag) -> uchar + | + | copyto(self, *args) + | copyto(self, target, count=1) -> size_t + | + | create(self, *args) + | create(self, _name, namlen=0) -> bool + | create(self) -> bool + | + | delblob(self, *args) + | delblob(self, _start, tag) -> int + | + | delblob_ea(self, *args) + | delblob_ea(self, ea, tag) -> int + | + | delvalue(self, *args) + | delvalue(self) -> bool + | + | eadel(self, *args) + | eadel(self, ea, tag) -> bool + | + | eadel_idx8(self, *args) + | eadel_idx8(self, idx, tag) -> bool + | + | eaget(self, *args) + | eaget(self, ea, tag) -> ea_t + | + | eaget_idx(self, *args) + | eaget_idx(self, idx, tag) -> ea_t + | + | eaget_idx8(self, *args) + | eaget_idx8(self, idx, tag) -> ea_t + | + | easet(self, *args) + | easet(self, ea, addr, tag) -> bool + | + | easet_idx(self, *args) + | easet_idx(self, idx, addr, tag) -> bool + | + | easet_idx8(self, *args) + | easet_idx8(self, idx, addr, tag) -> bool + | + | end(self, *args) + | end(self) -> bool + | + | get_name(self, *args) + | get_name(self) -> ssize_t + | + | getblob(self, *args) + | getblob(self, start, tag) -> PyObject * + | + | getblob_ea(self, *args) + | getblob_ea(self, ea, tag) -> PyObject * + | + | getclob(self, *args) + | getclob(self, start, tag) -> PyObject * + | + | hashdel(self, *args) + | hashdel(self, idx, tag=htag) -> bool + | + | hashdel_all(self, *args) + | hashdel_all(self, tag=htag) -> bool + | + | hashfirst(self, *args) + | hashfirst(self, tag=htag) -> ssize_t + | + | hashlast(self, *args) + | hashlast(self, tag=htag) -> ssize_t + | + | hashnext(self, *args) + | hashnext(self, idx, tag=htag) -> ssize_t + | + | hashprev(self, *args) + | hashprev(self, idx, tag=htag) -> ssize_t + | + | hashset(self, *args) + | hashset(self, idx, value, tag=htag) -> bool + | + | hashset_buf(self, *args) + | hashset_buf(self, idx, py_str, tag=htag) -> bool + | + | hashset_idx(self, *args) + | hashset_idx(self, idx, value, tag=htag) -> bool + | + | hashstr(self, *args) + | hashstr(self, idx, tag=htag) -> ssize_t + | + | hashstr_buf(self, *args) + | hashstr_buf(self, idx, tag=htag) -> PyObject * + | + | hashval(self, *args) + | hashval(self, idx, tag=htag) -> ssize_t + | + | hashval_long(self, *args) + | hashval_long(self, idx, tag=htag) -> nodeidx_t + | + | index(self, *args) + | index(self) -> nodeidx_t + | + | kill(self, *args) + | kill(self) + | + | long_value(self, *args) + | long_value(self) -> nodeidx_t + | + | lower_bound(self, *args) + | lower_bound(self, cur, tag=stag) -> nodeidx_t + | + | lower_bound_ea(self, *args) + | lower_bound_ea(self, ea, tag=stag) -> nodeidx_t + | + | lower_bound_idx8(self, *args) + | lower_bound_idx8(self, alt, tag) -> nodeidx_t + | + | moveto(self, *args) + | moveto(self, target, count=1) -> size_t + | + | next(self, *args) + | next(self) -> bool + | + | prev(self, *args) + | prev(self) -> bool + | + | rename(self, *args) + | rename(self, newname, namlen=0) -> bool + | + | set(self, *args) + | set(self, value) -> bool + | + | set_long(self, *args) + | set_long(self, x) -> bool + | + | setblob(self, *args) + | setblob(self, buf, _start, tag) -> bool + | + | setblob_ea(self, *args) + | setblob_ea(self, buf, ea, tag) -> bool + | + | start(self, *args) + | start(self) -> bool + | + | supdel(self, *args) + | supdel(self, alt, tag=stag) -> bool + | supdel(self) -> bool + | + | supdel_all(self, *args) + | supdel_all(self, tag) -> bool + | + | supdel_ea(self, *args) + | supdel_ea(self, ea, tag=stag) -> bool + | + | supdel_idx8(self, *args) + | supdel_idx8(self, alt, tag) -> bool + | + | supdel_range(self, *args) + | supdel_range(self, idx1, idx2, tag) -> int + | + | supdel_range_idx8(self, *args) + | supdel_range_idx8(self, idx1, idx2, tag) -> int + | + | supfirst(self, *args) + | supfirst(self, tag=stag) -> nodeidx_t + | + | supfirst_idx8(self, *args) + | supfirst_idx8(self, tag) -> nodeidx_t + | + | suplast(self, *args) + | suplast(self, tag=stag) -> nodeidx_t + | + | suplast_idx8(self, *args) + | suplast_idx8(self, tag) -> nodeidx_t + | + | supnext(self, *args) + | supnext(self, cur, tag=stag) -> nodeidx_t + | + | supnext_idx8(self, *args) + | supnext_idx8(self, alt, tag) -> nodeidx_t + | + | supprev(self, *args) + | supprev(self, cur, tag=stag) -> nodeidx_t + | + | supprev_idx8(self, *args) + | supprev_idx8(self, alt, tag) -> nodeidx_t + | + | supset(self, *args) + | supset(self, alt, value, tag=stag) -> bool + | + | supset_ea(self, *args) + | supset_ea(self, ea, value, tag=stag) -> bool + | + | supset_idx8(self, *args) + | supset_idx8(self, alt, value, tag) -> bool + | + | supshift(self, *args) + | supshift(self, _from, to, size, tag=stag) -> size_t + | + | supstr(self, *args) + | supstr(self, alt, tag=stag) -> ssize_t + | + | supstr_ea(self, *args) + | supstr_ea(self, ea, tag=stag) -> ssize_t + | + | supstr_idx8(self, *args) + | supstr_idx8(self, alt, tag) -> ssize_t + | + | supval(self, *args) + | supval(self, alt, tag=stag) -> ssize_t + | + | supval_ea(self, *args) + | supval_ea(self, ea, tag=stag) -> ssize_t + | + | supval_idx8(self, *args) + | supval_idx8(self, alt, tag) -> ssize_t + | + | valobj(self, *args) + | valobj(self) -> ssize_t + | + | valstr(self, *args) + | valstr(self) -> ssize_t + | + | value_exists(self, *args) + | value_exists(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_netnode(self) + +=== ida_netnode EPYDOC INJECTIONS === +ida_netnode.BADNODE +""" +A number to represent a bad netnode reference. +""" +=== ida_netnode EPYDOC INJECTIONS END === +Help on function add_refinfo_dref in module ida_offset: + +add_refinfo_dref(*args) + 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: the referencing instruction (C++: const insn_t &) + @param _from: the referencing instruction/data address (C++: ea_t) + @param ri: reference info block from the database (C++: const + refinfo_t &) + @param opval: operand value (usually op_t::value or op_t::addr ) + (C++: adiff_t) + @param type: type of xref (C++: dref_t) + @param opoff: offset of the operand from the start of instruction + (C++: int) + @return: the target address of the reference + +Help on function calc_basevalue in module ida_offset: + +calc_basevalue(*args) + calc_basevalue(target, base) -> ea_t + + + Calculate the value of the reference base. + + + @param target (C++: ea_t) + @param base (C++: ea_t) + +Help on function calc_offset_base in module ida_offset: + +calc_offset_base(*args) + 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: the referencing instruction/data address (C++: ea_t) + @param n: operand number 0: first operand 1: other operand (C++: + int) + @return: output base address or BADADDR + +Help on function calc_probable_base_by_value in module ida_offset: + +calc_probable_base_by_value(*args) + 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) + +Help on function calc_reference_data in module ida_offset: + +calc_reference_data(*args) + 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: output target address (C++: ea_t *) + @param base: output base address (C++: ea_t *) + @param _from: the referencing instruction/data address (C++: ea_t) + @param ri: reference info block from the database (C++: const + refinfo_t &) + @param opval: operand value (usually op_t::value or op_t::addr ) + (C++: adiff_t) + @return: success + +Help on function calc_target in module ida_offset: + +calc_target(*args) + calc_target(_from, opval, ri) -> ea_t + calc_target(_from, ea, n, opval) -> ea_t + + + Calculates the target, using the provided 'refinfo_t' . + + + @param _from (C++: ea_t) + @param opval (C++: adiff_t) + @param ri (C++: const refinfo_t &) + +Help on function can_be_off32 in module ida_offset: + +can_be_off32(*args) + 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) + +Help on function get_default_reftype in module ida_offset: + +get_default_reftype(*args) + 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 + +Help on function get_offbase in module ida_offset: + +get_offbase(*args) + get_offbase(ea, n) -> ea_t + + + Get offset base value + + @param ea: linear address (C++: ea_t) + @param n: number of operand (C++: int) + @return: offset base or BADADDR + +Help on function get_offset_expr in module ida_offset: + +get_offset_expr(*args) + get_offset_expr(ea, n, ri, _from, offset, getn_flags=0) -> str + + + See 'get_offset_expression()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param ri (C++: const refinfo_t &) + @param _from (C++: ea_t) + @param offset (C++: adiff_t) + @param getn_flags (C++: int) + +Help on function get_offset_expression in module ida_offset: + +get_offset_expression(*args) + get_offset_expression(ea, n, _from, offset, getn_flags=0) -> str + + + Get offset expression (in the form "offset name+displ"). This function + uses offset translation function (\ph{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: \v{mov ax, [bx+7422h]} and + at ds:7422h: \v{array dw ...} We want to represent the second operand + with an offset expression, so then we call: \v{ + 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: \v{offset + array} + + @param ea: start of instruction or data with the offset expression + (C++: ea_t) + @param n: number of operand (may be ORed with OPND_OUTER ) 0: first + operand 1: second operand (C++: int) + @param _from: 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. (C++: ea_t) + @param offset: value of operand or its part. The function will return + text representation of this value as offset expression. + (C++: adiff_t) + @param getn_flags: 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) (C++: int) + +Help on function op_offset in module ida_offset: + +op_offset(*args) + op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int + + + See 'op_offset_ex()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param type (C++: reftype_t) + @param target (C++: ea_t) + @param base (C++: ea_t) + @param tdelta (C++: adiff_t) + +Help on function op_offset_ex in module ida_offset: + +op_offset_ex(*args) + op_offset_ex(ea, n, ri) -> int + + + Convert operand to a reference. To delete an offset, use + 'clr_op_type()' function. + + @param ea: 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 (C++: ea_t) + @param n: number of operand (may be ORed with OPND_OUTER ) 0: first + 1: second 2: third OPND_MASK : all operands (C++: int) + @param ri: reference information (C++: const refinfo_t *) + @return: success + +Help on function op_plain_offset in module ida_offset: + +op_plain_offset(*args) + 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) + +Help on class __qmutex_t in module ida_pro: + +class __qmutex_t(__builtin__.object) + | Proxy of C++ __qmutex_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qmutex_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete___qmutex_t(self) + +Help on class __qsemaphore_t in module ida_pro: + +class __qsemaphore_t(__builtin__.object) + | Proxy of C++ __qsemaphore_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qsemaphore_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete___qsemaphore_t(self) + +Help on class __qthread_t in module ida_pro: + +class __qthread_t(__builtin__.object) + | Proxy of C++ __qthread_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qthread_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete___qthread_t(self) + +Help on class _qstrvec_t in module ida_pro: + +class _qstrvec_t(ida_idaapi.py_clinked_object_t) + | WARNING: It is very unlikely an IDAPython user should ever, ever + | have to use this type. It should only be used for IDAPython internals. + | + | For example, in py_askusingform.py, we ctypes-expose to the IDA + | kernel & UI a qstrvec instance, in case a DropdownListControl is + | constructed. + | That's because that's what ask_form expects, and we have no + | choice but to make a DropdownListControl hold a qstrvec_t. + | This is, afaict, the only situation where a Python + | _qstrvec_t is required. + | + | Method resolution order: + | _qstrvec_t + | ida_idaapi.py_clinked_object_t + | ida_idaapi.pyidc_opaque_object_t + | __builtin__.object + | + | Methods defined here: + | + | __getitem__(self, idx) + | Gets the string at the given index + | + | __init__(self, items=None) + | + | __setitem__(self, idx, s) + | Sets string at the given index + | + | _create_clink(self) + | + | _del_clink(self, lnk) + | + | _get_clink_ptr(self) + | + | _qstrvec_t__get_size = __get_size(self) + | + | add(self, s) + | Add a string to the vector + | + | addressof(self, idx) + | Returns the address (as number) of the qstring at the given index + | + | assign(self, other) + | Copies the contents of 'other' to 'self' + | + | clear(self, qclear=False) + | Clears all strings from the vector. + | @param qclear: Just reset the size but do not actually free the memory + | + | from_list(self, lst) + | Populates the vector from a Python string list + | + | insert(self, idx, s) + | Insert a string into the vector + | + | remove(self, idx) + | Removes a string from the vector + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | size + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_idaapi.py_clinked_object_t: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.py_clinked_object_t: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on class boolvec_t in module ida_pro: + +class boolvec_t(__builtin__.object) + | Proxy of C++ qvector< bool > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> bool const & + | + | __init__(self, *args) + | __init__(self) -> boolvec_t + | __init__(self, x) -> boolvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< bool >::iterator + | begin(self) -> qvector< bool >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< bool >::iterator + | end(self) -> qvector< bool >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< bool >::iterator + | erase(self, first, last) -> qvector< bool >::iterator + | + | extract(self, *args) + | extract(self) -> bool * + | + | find(self, *args) + | find(self, x) -> qvector< bool >::iterator + | find(self, x) -> qvector< bool >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=bool()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< bool >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> bool & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_boolvec_t(self) + +Help on class channel_redir_t in module ida_pro: + +class channel_redir_t(__builtin__.object) + | Proxy of C++ channel_redir_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> channel_redir_t + | + | __repr__ = _swig_repr(self) + | + | is_append(self, *args) + | is_append(self) -> bool + | + | is_input(self, *args) + | is_input(self) -> bool + | + | is_output(self, *args) + | is_output(self) -> bool + | + | is_quoted(self, *args) + | is_quoted(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fd + | channel_redir_t_fd_get(self) -> int + | + | file + | channel_redir_t_file_get(self) -> qstring * + | + | flags + | channel_redir_t_flags_get(self) -> int + | + | length + | channel_redir_t_length_get(self) -> int + | + | start + | channel_redir_t_start_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_channel_redir_t(self) + +Help on function check_process_exit in module ida_pro: + +check_process_exit(*args) + check_process_exit(handle, exit_code, msecs=-1) -> int + + + Check whether process has terminated or not. + + @param handle: process handle to wait for (C++: void *) + @param exit_code: pointer to the buffer for the exit code (C++: int *) + +Help on function clear_bits in module ida_pro: + +clear_bits(*args) + clear_bits(bitmap, low, high) + + + Clear bits between [low, high) in 'bitmap'. + + + @param bitmap (C++: uchar *) + @param low (C++: size_t) + @param high (C++: size_t) + +Help on class ea_array in module ida_pro: + +class ea_array(__builtin__.object) + | Proxy of C++ ea_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, index) -> ea_t + | + | __init__(self, *args) + | __init__(self, nelements) -> ea_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, index, value) + | + | cast(self, *args) + | cast(self) -> ea_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> ea_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ea_array(self) + +Help on function ea_array_frompointer in module ida_pro: + +ea_array_frompointer(*args) + ea_array_frompointer(t) -> ea_array + +Help on class ea_pointer in module ida_pro: + +class ea_pointer(__builtin__.object) + | Proxy of C++ ea_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ea_pointer + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, value) + | + | cast(self, *args) + | cast(self) -> ea_t * + | + | value(self, *args) + | value(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> ea_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ea_pointer(self) + +Help on function ea_pointer_frompointer in module ida_pro: + +ea_pointer_frompointer(*args) + ea_pointer_frompointer(t) -> ea_pointer + +Help on function extend_sign in module ida_pro: + +extend_sign(*args) + 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) + +Help on class instant_dbgopts_t in module ida_pro: + +class instant_dbgopts_t(__builtin__.object) + | Proxy of C++ instant_dbgopts_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> instant_dbgopts_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _pass + | instant_dbgopts_t__pass_get(self) -> qstring * + | + | attach + | instant_dbgopts_t_attach_get(self) -> bool + | + | debmod + | instant_dbgopts_t_debmod_get(self) -> qstring * + | + | env + | instant_dbgopts_t_env_get(self) -> qstring * + | + | event_id + | instant_dbgopts_t_event_id_get(self) -> int + | + | host + | instant_dbgopts_t_host_get(self) -> qstring * + | + | pid + | instant_dbgopts_t_pid_get(self) -> int + | + | port + | instant_dbgopts_t_port_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_instant_dbgopts_t(self) + +Help on class longlongvec_t in module ida_pro: + +class longlongvec_t(__builtin__.object) + | Proxy of C++ qvector< long long > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> long long const & + | + | __init__(self, *args) + | __init__(self) -> longlongvec_t + | __init__(self, x) -> longlongvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< long long >::iterator + | begin(self) -> qvector< long long >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< long long >::iterator + | end(self) -> qvector< long long >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< long long >::iterator + | erase(self, first, last) -> qvector< long long >::iterator + | + | extract(self, *args) + | extract(self) -> long long * + | + | find(self, *args) + | find(self, x) -> qvector< long long >::iterator + | find(self, x) -> qvector< long long >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< long long >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> long long & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_longlongvec_t(self) + +Help on class int_pointer in module ida_pro: + +class int_pointer(__builtin__.object) + | Proxy of C++ int_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> int_pointer + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, value) + | + | cast(self, *args) + | cast(self) -> int * + | + | value(self, *args) + | value(self) -> int + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> int_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_int_pointer(self) + +Help on function int_pointer_frompointer in module ida_pro: + +int_pointer_frompointer(*args) + int_pointer_frompointer(t) -> int_pointer + +Help on class intvec_t in module ida_pro: + +class intvec_t(__builtin__.object) + | Proxy of C++ qvector< int > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> int const & + | + | __init__(self, *args) + | __init__(self) -> intvec_t + | __init__(self, x) -> intvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< int >::iterator + | begin(self) -> qvector< int >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< int >::iterator + | end(self) -> qvector< int >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< int >::iterator + | erase(self, first, last) -> qvector< int >::iterator + | + | extract(self, *args) + | extract(self) -> int * + | + | find(self, *args) + | find(self, x) -> qvector< int >::iterator + | find(self, x) -> qvector< int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< int >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> int & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_intvec_t(self) + +Help on function is_control_tty in module ida_pro: + +is_control_tty(*args) + 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) + +Help on function is_main_thread in module ida_pro: + +is_main_thread(*args) + is_main_thread() -> bool + + + Are we running in the main thread? + +Help on function log2ceil in module ida_pro: + +log2ceil(*args) + log2ceil(d64) -> int + + + calculate ceil(log2(d64)) or floor(log2(d64)), it returns 0 if d64 == + 0 + + @param d64 (C++: uint64) + +Help on function log2floor in module ida_pro: + +log2floor(*args) + log2floor(d64) -> int + +Help on function parse_dbgopts in module ida_pro: + +parse_dbgopts(*args) + 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 *) + @param r_switch (C++: const char *) + @return: true-ok, false-parse error + +Help on function qatoll in module ida_pro: + +qatoll(*args) + qatoll(nptr) -> int64 + +Help on function qcontrol_tty in module ida_pro: + +qcontrol_tty(*args) + qcontrol_tty() + + + Make the current terminal the controlling terminal of the calling + process.The current terminal is supposed to be /dev/tty + +Help on function qdetach_tty in module ida_pro: + +qdetach_tty(*args) + qdetach_tty() + + + If the current terminal is the controlling terminal of the calling + process, give up this controlling terminal.The current terminal is + supposed to be /dev/tty + +Help on function qexit in module ida_pro: + +qexit(*args) + qexit(code) + + + Call qatexit functions, shut down UI and kernel, and exit. + + @param code: exit code (C++: int) + +Help on class qmutex_locker_t in module ida_pro: + +class qmutex_locker_t(__builtin__.object) + | Proxy of C++ qmutex_locker_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _lock) -> qmutex_locker_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qmutex_locker_t(self) + +Help on class qrefcnt_obj_t in module ida_pro: + +class qrefcnt_obj_t(__builtin__.object) + | Proxy of C++ qrefcnt_obj_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | release(self, *args) + | release(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | refcnt + | qrefcnt_obj_t_refcnt_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qrefcnt_obj_t(self) + +Help on function qstrvec_t_add in module ida_pro: + +qstrvec_t_add(*args) + qstrvec_t_add(_self, s) -> bool + +Help on function qstrvec_t_addressof in module ida_pro: + +qstrvec_t_addressof(*args) + qstrvec_t_addressof(_self, idx) -> PyObject * + +Help on function qstrvec_t_assign in module ida_pro: + +qstrvec_t_assign(*args) + qstrvec_t_assign(_self, other) -> bool + +Help on function qstrvec_t_clear in module ida_pro: + +qstrvec_t_clear(*args) + qstrvec_t_clear(_self, qclear) -> bool + +Help on function qstrvec_t_create in module ida_pro: + +qstrvec_t_create(*args) + qstrvec_t_create() -> PyObject * + +Help on function qstrvec_t_destroy in module ida_pro: + +qstrvec_t_destroy(*args) + qstrvec_t_destroy(py_obj) -> bool + +Help on function qstrvec_t_from_list in module ida_pro: + +qstrvec_t_from_list(*args) + qstrvec_t_from_list(_self, py_list) -> bool + +Help on function qstrvec_t_get in module ida_pro: + +qstrvec_t_get(*args) + qstrvec_t_get(_self, idx) -> PyObject * + +Help on function qstrvec_t_get_clink in module ida_pro: + +qstrvec_t_get_clink(*args) + qstrvec_t_get_clink(_self) -> qstrvec_t * + +Help on function qstrvec_t_get_clink_ptr in module ida_pro: + +qstrvec_t_get_clink_ptr(*args) + qstrvec_t_get_clink_ptr(_self) -> PyObject * + +Help on function qstrvec_t_insert in module ida_pro: + +qstrvec_t_insert(*args) + qstrvec_t_insert(_self, idx, s) -> bool + +Help on function qstrvec_t_remove in module ida_pro: + +qstrvec_t_remove(*args) + qstrvec_t_remove(_self, idx) -> bool + +Help on function qstrvec_t_set in module ida_pro: + +qstrvec_t_set(*args) + qstrvec_t_set(_self, idx, s) -> bool + +Help on function qstrvec_t_size in module ida_pro: + +qstrvec_t_size(*args) + qstrvec_t_size(_self) -> size_t + +Help on function quote_cmdline_arg in module ida_pro: + +quote_cmdline_arg(*args) + 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' + +Help on function qvector_reserve in module ida_pro: + +qvector_reserve(*args) + qvector_reserve(vec, old, cnt, elsize) -> void * + + + Change capacity of given qvector. + + @param vec: a pointer to a qvector (C++: void *) + @param old: a pointer to the qvector's array (C++: void *) + @param cnt: number of elements to reserve (C++: size_t) + @param elsize: size of each element (C++: size_t) + @return: a pointer to the newly allocated array + +Help on function readbytes in module ida_pro: + +readbytes(*args) + readbytes(h, res, size, mf) -> int + + + Read at most 4 bytes from file. + + @param h: file handle (C++: int) + @param res: value read from file (C++: uint32 *) + @param size: size of value in bytes (1,2,4) (C++: int) + @param mf: is MSB first? (C++: bool) + @return: 0 on success, nonzero otherwise + +Help on function reloc_value in module ida_pro: + +reloc_value(*args) + reloc_value(value, size, delta, mf) + +Help on function relocate_relobj in module ida_pro: + +relocate_relobj(*args) + relocate_relobj(_relobj, ea, mf) -> bool + +Help on class sel_array in module ida_pro: + +class sel_array(__builtin__.object) + | Proxy of C++ sel_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, index) -> sel_t + | + | __init__(self, *args) + | __init__(self, nelements) -> sel_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, index, value) + | + | cast(self, *args) + | cast(self) -> sel_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> sel_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sel_array(self) + +Help on function sel_array_frompointer in module ida_pro: + +sel_array_frompointer(*args) + sel_array_frompointer(t) -> sel_array + +Help on class sel_pointer in module ida_pro: + +class sel_pointer(__builtin__.object) + | Proxy of C++ sel_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sel_pointer + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, value) + | + | cast(self, *args) + | cast(self) -> sel_t * + | + | value(self, *args) + | value(self) -> sel_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> sel_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sel_pointer(self) + +Help on function sel_pointer_frompointer in module ida_pro: + +sel_pointer_frompointer(*args) + sel_pointer_frompointer(t) -> sel_pointer + +Help on function set_bits in module ida_pro: + +set_bits(*args) + set_bits(bitmap, low, high) + + + Set bits between [low, high) in 'bitmap'. + + + @param bitmap (C++: uchar *) + @param low (C++: size_t) + @param high (C++: size_t) + +Help on class sizevec_t in module ida_pro: + +class sizevec_t(__builtin__.object) + | Proxy of C++ qvector< size_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> size_t const & + | + | __init__(self, *args) + | __init__(self) -> sizevec_t + | __init__(self, x) -> sizevec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> size_t const & + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< size_t >::iterator + | begin(self) -> qvector< size_t >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< size_t >::iterator + | end(self) -> qvector< size_t >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< size_t >::iterator + | erase(self, first, last) -> qvector< size_t >::iterator + | + | extract(self, *args) + | extract(self) -> size_t * + | + | find(self, *args) + | find(self, x) -> qvector< size_t >::iterator + | find(self, x) -> qvector< size_t >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=size_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< size_t >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> size_t & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sizevec_t(self) + +Help on function str2user in module ida_pro: + +str2user(*args) + str2user(str) -> PyObject * + + + Insert C-style escape characters to string + + @return: new string with escape characters inserted + +Help on class strvec_t in module ida_pro: + +class strvec_t(__builtin__.object) + | Proxy of C++ qvector< simpleline_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> simpleline_t const & + | + | __init__(self, *args) + | __init__(self) -> strvec_t + | __init__(self, x) -> strvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< simpleline_t >::iterator + | begin(self) -> qvector< simpleline_t >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< simpleline_t >::iterator + | end(self) -> qvector< simpleline_t >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< simpleline_t >::iterator + | erase(self, first, last) -> qvector< simpleline_t >::iterator + | + | extract(self, *args) + | extract(self) -> simpleline_t * + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=simpleline_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< simpleline_t >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> simpleline_t & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_strvec_t(self) + +Help on class sval_pointer in module ida_pro: + +class sval_pointer(__builtin__.object) + | Proxy of C++ sval_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sval_pointer + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, value) + | + | cast(self, *args) + | cast(self) -> sval_t * + | + | value(self, *args) + | value(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> sval_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sval_pointer(self) + +Help on function sval_pointer_frompointer in module ida_pro: + +sval_pointer_frompointer(*args) + sval_pointer_frompointer(t) -> sval_pointer + +Help on class tid_array in module ida_pro: + +class tid_array(__builtin__.object) + | Proxy of C++ tid_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, index) -> tid_t + | + | __init__(self, *args) + | __init__(self, nelements) -> tid_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, index, value) + | + | cast(self, *args) + | cast(self) -> tid_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> tid_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tid_array(self) + +Help on function tid_array_frompointer in module ida_pro: + +tid_array_frompointer(*args) + tid_array_frompointer(t) -> tid_array + +Help on class uchar_array in module ida_pro: + +class uchar_array(__builtin__.object) + | Proxy of C++ uchar_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, index) -> uchar + | + | __init__(self, *args) + | __init__(self, nelements) -> uchar_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, index, value) + | + | cast(self, *args) + | cast(self) -> uchar * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> uchar_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_uchar_array(self) + +Help on function uchar_array_frompointer in module ida_pro: + +uchar_array_frompointer(*args) + uchar_array_frompointer(t) -> uchar_array + +Help on class ulonglongvec_t in module ida_pro: + +class ulonglongvec_t(__builtin__.object) + | Proxy of C++ qvector< unsigned long long > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> unsigned long long const & + | + | __init__(self, *args) + | __init__(self) -> ulonglongvec_t + | __init__(self, x) -> ulonglongvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< unsigned long long >::iterator + | begin(self) -> qvector< unsigned long long >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< unsigned long long >::iterator + | end(self) -> qvector< unsigned long long >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< unsigned long long >::iterator + | erase(self, first, last) -> qvector< unsigned long long >::iterator + | + | extract(self, *args) + | extract(self) -> unsigned long long * + | + | find(self, *args) + | find(self, x) -> qvector< unsigned long long >::iterator + | find(self, x) -> qvector< unsigned long long >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< unsigned long long >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> unsigned long long & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ulonglongvec_t(self) + +Help on class uintvec_t in module ida_pro: + +class uintvec_t(__builtin__.object) + | Proxy of C++ qvector< unsigned int > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> unsigned int const & + | + | __init__(self, *args) + | __init__(self) -> uintvec_t + | __init__(self, x) -> uintvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< unsigned int >::iterator + | begin(self) -> qvector< unsigned int >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< unsigned int >::iterator + | end(self) -> qvector< unsigned int >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< unsigned int >::iterator + | erase(self, first, last) -> qvector< unsigned int >::iterator + | + | extract(self, *args) + | extract(self) -> unsigned int * + | + | find(self, *args) + | find(self, x) -> qvector< unsigned int >::iterator + | find(self, x) -> qvector< unsigned int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< unsigned int >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> unsigned int & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_uintvec_t(self) + +Help on class uval_array in module ida_pro: + +class uval_array(__builtin__.object) + | Proxy of C++ uval_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, index) -> uval_t + | + | __init__(self, *args) + | __init__(self, nelements) -> uval_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, index, value) + | + | cast(self, *args) + | cast(self) -> uval_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> uval_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_uval_array(self) + +Help on function uval_array_frompointer in module ida_pro: + +uval_array_frompointer(*args) + uval_array_frompointer(t) -> uval_array + +Help on function writebytes in module ida_pro: + +writebytes(*args) + writebytes(h, l, size, mf) -> int + + + Write at most 4 bytes to file. + + @param h: file handle (C++: int) + @param l: value to write (C++: uint32) + @param size: size of value in bytes (1,2,4) (C++: int) + @param mf: is MSB first? (C++: bool) + @return: 0 on success, nonzero otherwise + +=== ida_pro EPYDOC INJECTIONS === +ida_pro.CP_UTF16 +""" +UTF-16 codepage. +""" + +ida_pro.IDA_SDK_VERSION +""" +IDA SDK v7.4. +""" + +ida_pro.IDBDEC_ESCAPE +""" +convert non-printable characters to C escapes (, \\xNN, \\uNNNN) +""" + +ida_pro.IOREDIR_APPEND +""" +append, do not overwrite the output file +""" + +ida_pro.IOREDIR_INPUT +""" +input redirection +""" + +ida_pro.IOREDIR_OUTPUT +""" +output redirection +""" + +ida_pro.IOREDIR_QUOTED +""" +the file name was quoted +""" + +ida_pro.MAXSTR +""" +maximum string size +""" + +ida_pro.SUBSTCHAR +""" +default char, used if a char cannot be represented in a codepage +""" + +ida_pro.__MF__ +""" +byte sex of our platform (Most significant byte First). 0: little +endian (Intel 80x86). 1: big endian (PowerPC). +""" +=== ida_pro EPYDOC INJECTIONS END === +Help on function forget_problem in module ida_problems: + +forget_problem(*args) + forget_problem(type, ea) -> bool + + + Remove an address from a problem list + + @param type: problem list type (C++: problist_id_t) + @param ea: linear address (C++: ea_t) + @return: success + +Help on function get_problem in module ida_problems: + +get_problem(*args) + get_problem(type, lowea) -> ea_t + + + Get an address from the specified problem list. The address is not + removed from the list. + + @param type: problem list type (C++: problist_id_t) + @param lowea: the returned address will be higher or equal than the + specified address (C++: ea_t) + @return: linear address or BADADDR + +Help on function get_problem_desc in module ida_problems: + +get_problem_desc(*args) + get_problem_desc(t, ea) -> str + + + Get the human-friendly description of the problem, if one was provided + to remember_problem. + + @param t: problem list type. (C++: problist_id_t) + @param ea: linear address. (C++: ea_t) + @return: the message length or -1 if none + +Help on function get_problem_name in module ida_problems: + +get_problem_name(*args) + get_problem_name(type, longname=True) -> char const * + + + Get problem list description. + + + @param type (C++: problist_id_t) + @param longname (C++: bool) + +Help on function is_problem_present in module ida_problems: + +is_problem_present(*args) + 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) + +Help on function remember_problem in module ida_problems: + +remember_problem(*args) + 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: problem list type (C++: problist_id_t) + @param ea: linear address (C++: ea_t) + @param msg: a user-friendly message to be displayed instead of the + default more generic one associated with the type of + problem. Defaults to NULL. (C++: const char *) + +Help on function was_ida_decision in module ida_problems: + +was_ida_decision(*args) + was_ida_decision(ea) -> bool + +Help on class array_of_rangesets in module ida_range: + +class array_of_rangesets(__builtin__.object) + | Proxy of C++ qvector< rangeset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> rangeset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_rangesets + | __init__(self, x) -> array_of_rangesets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> rangeset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> rangeset_t + | begin(self) -> rangeset_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> rangeset_t + | end(self) -> rangeset_t + | + | erase(self, *args) + | erase(self, it) -> rangeset_t + | erase(self, first, last) -> rangeset_t + | + | extract(self, *args) + | extract(self) -> rangeset_t + | + | find(self, *args) + | find(self, x) -> rangeset_t + | find(self, x) -> rangeset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=rangeset_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> rangeset_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> rangeset_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_array_of_rangesets(self) + +Help on class range_t in module ida_range: + +class range_t(__builtin__.object) + | Proxy of C++ range_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> range_t + | __init__(self, ea1, ea2) -> range_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_range_t(self) + +Help on function range_t_print in module ida_range: + +range_t_print(*args) + range_t_print(cb) -> str + + + Helper function. Should not be called directly! + +Help on class rangeset_t in module ida_range: + +class rangeset_t(__builtin__.object) + | Proxy of C++ rangeset_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, aset) -> bool + | + | __getitem__(self, idx) + | + | __init__(self, *args) + | __init__(self) -> rangeset_t + | __init__(self, range) -> rangeset_t + | __init__(self, ivs) -> rangeset_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = nranges(self, *args) + | + | __ne__(self, *args) + | __ne__(self, aset) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) -> size_t + | + | add(self, *args) + | add(self, range) -> bool + | add(self, start, _end) -> bool + | add(self, aset) -> bool + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | cached_range(self, *args) + | cached_range(self) -> range_t + | + | clear(self, *args) + | clear(self) + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, aset) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | find_range(self, *args) + | find_range(self, ea) -> range_t + | + | getrange(self, *args) + | getrange(self, idx) -> range_t + | + | has_common(self, *args) + | has_common(self, range) -> bool + | has_common(self, aset) -> bool + | + | includes(self, *args) + | includes(self, range) -> bool + | + | intersect(self, *args) + | intersect(self, aset) -> bool + | + | is_equal(self, *args) + | is_equal(self, aset) -> bool + | + | is_subset_of(self, *args) + | is_subset_of(self, aset) -> bool + | + | lastrange(self, *args) + | lastrange(self) -> range_t + | + | next_addr(self, *args) + | next_addr(self, ea) -> ea_t + | + | next_range(self, *args) + | next_range(self, ea) -> ea_t + | + | nranges(self, *args) + | nranges(self) -> size_t + | + | prev_addr(self, *args) + | prev_addr(self, ea) -> ea_t + | + | prev_range(self, *args) + | prev_range(self, ea) -> ea_t + | + | sub(self, *args) + | sub(self, range) -> bool + | sub(self, ea) -> bool + | sub(self, aset) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rangeset_t(self) + +Help on class rangevec_base_t in module ida_range: + +class rangevec_base_t(__builtin__.object) + | Proxy of C++ qvector< range_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __init__(self, *args) + | __init__(self) -> rangevec_base_t + | __init__(self, x) -> rangevec_base_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rangevec_base_t(self) + +Help on class rangevec_t in module ida_range: + +class rangevec_t(rangevec_base_t) + | Proxy of C++ rangevec_t class. + | + | Method resolution order: + | rangevec_t + | rangevec_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rangevec_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rangevec_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from rangevec_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function reg_data_type in module ida_registry: + +reg_data_type(*args) + reg_data_type(name, subkey=None) -> regval_type_t + + + Get data type of a given value. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: false if the [key+]value doesn't exist + +Help on function reg_delete in module ida_registry: + +reg_delete(*args) + reg_delete(name, subkey=None) -> bool + + + Delete a value from the registry. + + @param name: value name (C++: const char *) + @param subkey: parent key (C++: const char *) + @return: success + +Help on function reg_delete_subkey in module ida_registry: + +reg_delete_subkey(*args) + reg_delete_subkey(name) -> bool + + + Delete a key from the registry. + + + @param name (C++: const char *) + +Help on function reg_delete_tree in module ida_registry: + +reg_delete_tree(*args) + reg_delete_tree(name) -> bool + + + Delete a subtree from the registry. + + + @param name (C++: const char *) + +Help on function reg_exists in module ida_registry: + +reg_exists(*args) + reg_exists(name, subkey=None) -> bool + + + Is there already a value with the given name? + + @param name: value name (C++: const char *) + @param subkey: parent key (C++: const char *) + +Help on function reg_flush in module ida_registry: + +reg_flush(*args) + reg_flush() + +Help on function reg_load in module ida_registry: + +reg_load(*args) + reg_load() + +Help on function reg_read_binary in module ida_registry: + +reg_read_binary(*args) + reg_read_binary(name, subkey=None) -> PyObject * + + + Read binary data from the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: false if 'data' is not large enough to hold all data present. + in this case 'data' is left untouched. + +Help on function reg_read_bool in module ida_registry: + +reg_read_bool(*args) + reg_read_bool(name, defval, subkey=None) -> bool + + + Read boolean value from the registry. + + @param name: value name (C++: const char *) + @param defval: default value (C++: bool) + @param subkey: key name (C++: const char *) + @return: boolean read from registry, or 'defval' if the read failed + +Help on function reg_read_int in module ida_registry: + +reg_read_int(*args) + reg_read_int(name, defval, subkey=None) -> int + + + Read integer value from the registry. + + @param name: value name (C++: const char *) + @param defval: default value (C++: int) + @param subkey: key name (C++: const char *) + @return: the value read from the registry, or 'defval' if the read + failed + +Help on function reg_read_string in module ida_registry: + +reg_read_string(*args) + reg_read_string(name, subkey=None, _def=None) -> PyObject * + + + Read a string from the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: success + +Help on function reg_read_strlist in module ida_registry: + +reg_read_strlist(*args) + reg_read_strlist(subkey) + + + Retrieve all string values associated with the given key. Also see + 'reg_update_strlist()' . + + @param subkey (C++: const char *) + +Help on function reg_subkey_exists in module ida_registry: + +reg_subkey_exists(*args) + reg_subkey_exists(name) -> bool + + + Is there already a key with the given name? + + + @param name (C++: const char *) + +Help on function reg_subkey_subkeys in module ida_registry: + +reg_subkey_subkeys(*args) + reg_subkey_subkeys(name) -> PyObject * + + + Get all subkey names of given key. + + + @param name (C++: const char *) + +Help on function reg_subkey_values in module ida_registry: + +reg_subkey_values(*args) + reg_subkey_values(name) -> PyObject * + + + Get all value names under given key. + + + @param name (C++: const char *) + +Help on function reg_update_filestrlist in module ida_registry: + +reg_update_filestrlist(*args) + reg_update_filestrlist(subkey, add, maxrecs, rem=None) + + + Update registry with a file list. Case sensitivity will vary depending + on the target OS.'add' and 'rem' must be UTF-8, just like for regular + string operations. + + @param subkey (C++: const char *) + @param add (C++: const char *) + @param maxrecs (C++: size_t) + @param rem (C++: const char *) + +Help on function reg_update_strlist in module ida_registry: + +reg_update_strlist(*args) + reg_update_strlist(subkey, add, maxrecs, rem=None, ignorecase=False) + + + Update list of strings associated with given key. + + @param subkey: key name (C++: const char *) + @param add: string to be added to list, can be NULL (C++: const char + *) + @param maxrecs: limit list to this size (C++: size_t) + @param rem: string to be removed from list, can be NULL (C++: const + char *) + @param ignorecase: ignore case for 'add' and 'rem' (C++: bool) + +Help on function reg_write_binary in module ida_registry: + +reg_write_binary(*args) + reg_write_binary(name, py_bytes, subkey=None) -> PyObject * + + + Write binary data to the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + +Help on function reg_write_bool in module ida_registry: + +reg_write_bool(*args) + reg_write_bool(name, value, subkey=None) + + + Write boolean value to the registry. + + @param name: value name (C++: const char *) + @param value: boolean to write (nonzero = true) (C++: int) + @param subkey: key name (C++: const char *) + +Help on function reg_write_int in module ida_registry: + +reg_write_int(*args) + reg_write_int(name, value, subkey=None) + + + Write integer value to the registry. + + @param name: value name (C++: const char *) + @param value: value to write (C++: int) + @param subkey: key name (C++: const char *) + +Help on function reg_write_string in module ida_registry: + +reg_write_string(*args) + reg_write_string(name, utf8, subkey=None) + + + Write a string to the registry. + + @param name: value name (C++: const char *) + @param utf8: utf8-encoded string (C++: const char *) + @param subkey: key name (C++: const char *) + +=== ida_registry EPYDOC INJECTIONS === +ida_registry.ROOT_KEY_NAME +""" +Key used to store IDA settings in registry (Windows version).this name +is automatically prepended to all key names passed to functions in +this file. +""" +=== ida_registry EPYDOC INJECTIONS END === +Help on function find_binary in module ida_search: + +find_binary(*args) + find_binary(arg1, arg2, arg3, arg4, arg5) -> ea_t + +Help on function find_code in module ida_search: + +find_code(*args) + find_code(ea, sflag) -> ea_t + + + Find next code address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_data in module ida_search: + +find_data(*args) + find_data(ea, sflag) -> ea_t + + + Find next data address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_defined in module ida_search: + +find_defined(*args) + 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) + +Help on function find_error in module ida_search: + +find_error(*args) + find_error(ea, sflag) -> ea_t + + + Find next error or problem. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_imm in module ida_search: + +find_imm(*args) + find_imm(newEA, sflag, srchValue) -> ea_t + + + Find next immediate operand with the given value. + + + @param newEA (C++: ea_t) + @param sflag (C++: int) + @param srchValue (C++: uval_t) + +Help on function find_not_func in module ida_search: + +find_not_func(*args) + 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) + +Help on function find_notype in module ida_search: + +find_notype(*args) + find_notype(ea, sflag) -> ea_t + + + Find next operand without any type info. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_suspop in module ida_search: + +find_suspop(*args) + find_suspop(ea, sflag) -> ea_t + + + Find next suspicious operand. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_text in module ida_search: + +find_text(*args) + 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 *) + @param sflag (C++: int) + +Help on function find_unknown in module ida_search: + +find_unknown(*args) + find_unknown(ea, sflag) -> ea_t + + + Find next unexplored address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function search_down in module ida_search: + +search_down(*args) + search_down(sflag) -> bool + + + Is the 'SEARCH_DOWN' bit set? + + + @param sflag (C++: int) + +=== ida_search EPYDOC INJECTIONS === +ida_search.SEARCH_BRK +""" +return 'BADADDR' if Ctrl-Break wass pressed during search +""" + +ida_search.SEARCH_CASE +""" +case-sensitive search (case-insensitive otherwise) +""" + +ida_search.SEARCH_DOWN +""" +search towards higher addresses +""" + +ida_search.SEARCH_IDENT +""" +search for an identifier (text search). it means that the characters +before and after the match cannot be is_visible_char(). +""" + +ida_search.SEARCH_NEXT +""" +for other find_.. functions it is implicitly set + +useful only for 'search()' and find_binary(). +""" + +ida_search.SEARCH_NOBRK +""" +don't test for ctrl-break to interrupt the search +""" + +ida_search.SEARCH_NOSHOW +""" +don't display the search progress/refresh screen +""" + +ida_search.SEARCH_REGEX +""" +regular expressions in search string (only supported for txt search) +""" + +ida_search.SEARCH_UP +""" +search towards lower addresses +""" +=== ida_search EPYDOC INJECTIONS END === +Help on function add_segm in module ida_segment: + +add_segm(*args) + 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: segment base paragraph. if paragraph can't fit in 16bit, + then a new selector is allocated and mapped to the + paragraph. (C++: ea_t) + @param start: start address of the segment. if start== BADADDR then + start <- to_ea(para,0). (C++: ea_t) + @param end: end address of the segment. end address should be higher + than start address. For emulate empty segments, use + SEG_NULL segment type. If the end address is lower than + start address, then fail. If end== BADADDR , then a + segment up to the next segment will be created (if the + next segment doesn't exist, then 1 byte segment will be + created). If 'end' is too high and the new segment would + overlap the next segment, 'end' is adjusted properly. + (C++: ea_t) + @param name: name of new segment. may be NULL (C++: const char *) + @param sclass: class of the segment. may be NULL. type of the new + segment is modified if class is one of predefined + names: "CODE" -> SEG_CODE "DATA" -> SEG_DATA + "CONST" -> SEG_DATA "STACK" -> SEG_BSS "BSS" -> + SEG_BSS "XTRN" -> SEG_XTRN "COMM" -> SEG_COMM + "ABS" -> SEG_ABSSYM (C++: const char *) + @param flags (C++: int) + +Help on function add_segm_ex in module ida_segment: + +add_segm_ex(*args) + add_segm_ex(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 s: pointer to filled segment structure. segment selector should + have proper mapping (see set_selector() ). if + s.start_ea== BADADDR then s.start_ea <- get_segm_base(&s) + if s.end_ea== BADADDR , then a segment up to the next + segment will be created (if the next segment doesn't exist, + then 1 byte segment will be created). if the s.end_ea < + s.start_ea, then fail. if s.end_ea is too high and the new + segment would overlap the next segment, s.end_ea is adjusted + properly. (C++: segment_t *) + @param name: name of new segment. may be NULL. if specified, the + segment is immediately renamed (C++: const char *) + @param sclass: class of the segment. may be NULL. if specified, the + segment class is immediately changed (C++: const char + *) + @param flags: Add segment flags (C++: int) + +Help on function add_segment_translation in module ida_segment: + +add_segment_translation(*args) + add_segment_translation(segstart, mappedseg) -> bool + + + Add segment translation. + + @param segstart: start address of the segment to add translation to + (C++: ea_t) + @param mappedseg: start address of the overlayed segment (C++: ea_t) + +Help on function allocate_selector in module ida_segment: + +allocate_selector(*args) + 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: a new segment base paragraph (C++: ea_t) + @return: the allocated selector number + +Help on function change_segment_status in module ida_segment: + +change_segment_status(*args) + 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: segment to modify (C++: segment_t *) + @param is_deb_segm: new status of the segment (C++: bool) + @return: Change segment status result codes + +Help on function del_segm in module ida_segment: + +del_segm(*args) + del_segm(ea, flags) -> bool + + + Delete a segment. + + @param ea: any address belonging to the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function del_segment_translations in module ida_segment: + +del_segment_translations(*args) + del_segment_translations(segstart) + + + Delete the translation list + + @param segstart: start address of the segment to delete translation + list (C++: ea_t) + +Help on function del_selector in module ida_segment: + +del_selector(*args) + 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: number of selector to remove from the translation + table (C++: sel_t) + +Help on function find_free_selector in module ida_segment: + +find_free_selector(*args) + find_free_selector() -> sel_t + + + Find first unused selector. + + @return: a number >= 1 + +Help on function find_selector in module ida_segment: + +find_selector(*args) + find_selector(base) -> sel_t + + + Find a selector that has mapping to the specified paragraph. + + @param base: paragraph to search in the translation table (C++: ea_t) + @return: selector value or base + +Help on function get_defsr in module ida_segment: + +get_defsr(*args) + get_defsr(s, reg) -> sel_t + +Help on function get_first_seg in module ida_segment: + +get_first_seg(*args) + get_first_seg() -> segment_t + + + Get pointer to the first segment. + +Help on function get_group_selector in module ida_segment: + +get_group_selector(*args) + get_group_selector(grpsel) -> sel_t + + + Get common selector for a group of segments. + + @param grpsel: selector of group segment (C++: sel_t) + @return: common selector of the group or 'grpsel' if no such group is + found + +Help on function get_last_seg in module ida_segment: + +get_last_seg(*args) + get_last_seg() -> segment_t + + + Get pointer to the last segment. + +Help on function get_next_seg in module ida_segment: + +get_next_seg(*args) + get_next_seg(ea) -> segment_t + + + Get pointer to the next segment. + + + @param ea (C++: ea_t) + +Help on function get_prev_seg in module ida_segment: + +get_prev_seg(*args) + get_prev_seg(ea) -> segment_t + + + Get pointer to the previous segment. + + + @param ea (C++: ea_t) + +Help on function get_segm_base in module ida_segment: + +get_segm_base(*args) + 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: pointer to segment (C++: const segment_t *) + @return: 0 if s == NULL, otherwise segment base linear address + +Help on function get_segm_by_name in module ida_segment: + +get_segm_by_name(*args) + 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: segment name. may be NULL. (C++: const char *) + @return: NULL or pointer to segment structure + +Help on function get_segm_by_sel in module ida_segment: + +get_segm_by_sel(*args) + 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: a segment with the specified selector will be + returned (C++: sel_t) + @return: pointer to segment or NULL + +Help on function get_segm_class in module ida_segment: + +get_segm_class(*args) + get_segm_class(s) -> str + + + Get segment class. Segment class is arbitrary text (max 8 characters). + + @param s: pointer to segment (C++: const segment_t *) + @return: size of segment class (-1 if s==NULL or bufsize<=0) + +Help on function get_segm_name in module ida_segment: + +get_segm_name(*args) + get_segm_name(s, flags=0) -> str + + + Get true segment name by pointer to segment. + + @param s: pointer to segment (C++: const segment_t *) + @param flags: 0-return name as is; 1-substitute bad symbols with _ 1 + corresponds to GN_VISIBLE (C++: int) + @return: size of segment name (-1 if s==NULL) + +Help on function get_segm_num in module ida_segment: + +get_segm_num(*args) + get_segm_num(ea) -> int + + + Get number of segment by address. + + @param ea: linear address belonging to the segment (C++: ea_t) + @return: -1 if no segment occupies the specified address. otherwise + returns number of the specified segment (0.. get_segm_qty() + -1) + +Help on function get_segm_para in module ida_segment: + +get_segm_para(*args) + 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: pointer to segment (C++: const segment_t *) + @return: 0 if s == NULL, the segment base paragraph + +Help on function get_segm_qty in module ida_segment: + +get_segm_qty(*args) + get_segm_qty() -> int + + + Get number of segments. + +Help on function get_segment_alignment in module ida_segment: + +get_segment_alignment(*args) + get_segment_alignment(align) -> char const * + + + Get text representation of segment alignment code. + + @param align (C++: uchar) + @return: text digestable by IBM PC assembler. + +Help on function get_segment_cmt in module ida_segment: + +get_segment_cmt(*args) + get_segment_cmt(s, repeatable) -> str + + + Get segment comment. + + @param s: pointer to segment structure (C++: const segment_t *) + @param repeatable: 0: get regular comment. 1: get repeatable comment. + (C++: bool) + @return: size of comment or -1 + +Help on function get_segment_combination in module ida_segment: + +get_segment_combination(*args) + get_segment_combination(comb) -> char const * + + + Get text representation of segment combination code. + + @param comb (C++: uchar) + @return: text digestable by IBM PC assembler. + +Help on function get_segment_translations in module ida_segment: + +get_segment_translations(*args) + get_segment_translations(transmap, segstart) -> ssize_t + + + Get segment translation list. + + @param transmap: vector of segment start addresses for the translation + list (C++: eavec_t *) + @param segstart: start address of the segment to get information about + (C++: ea_t) + @return: -1 if no translation list or bad segstart. otherwise returns + size of translation list. + +Help on function get_selector_qty in module ida_segment: + +get_selector_qty(*args) + get_selector_qty() -> int + + + Get number of defined selectors. + +Help on function get_visible_segm_name in module ida_segment: + +get_visible_segm_name(*args) + get_visible_segm_name(s) -> str + + + Get segment name by pointer to segment. + + @param s: pointer to segment (C++: const segment_t *) + @return: size of segment name (-1 if s==NULL) + +Help on function getn_selector in module ida_segment: + +getn_selector(*args) + getn_selector(n) -> bool + + + Get description of selector (0.. 'get_selector_qty()' -1) + + + @param n (C++: int) + +Help on function getnseg in module ida_segment: + +getnseg(*args) + getnseg(n) -> segment_t + + + Get pointer to segment by its number.Obsoleted because it can slow + down the debugger (it has to refresh the whole memory segmentation to + calculate the correct answer) + + @param n: segment number in the range (0.. get_segm_qty() -1) (C++: + int) + @return: NULL or pointer to segment structure + +Help on function getseg in module ida_segment: + +getseg(*args) + getseg(ea) -> segment_t + + + Get pointer to segment by linear address. + + @param ea: linear address belonging to the segment (C++: ea_t) + @return: NULL or pointer to segment structure + +Help on function is_finally_visible_segm in module ida_segment: + +is_finally_visible_segm(*args) + is_finally_visible_segm(s) -> bool + + + See 'SFL_HIDDEN' , 'SCF_SHHID_SEGM' . + + + @param s (C++: segment_t *) + +Help on function is_miniidb in module ida_segment: + +is_miniidb(*args) + is_miniidb() -> bool + + + Is the database a miniidb created by the debugger?. + + @return: true if the database contains no segments or only debugger + segments + +Help on function is_segm_locked in module ida_segment: + +is_segm_locked(*args) + is_segm_locked(segm) -> bool + + + Is a segment pointer locked? + + + @param segm (C++: const segment_t *) + +Help on function is_spec_ea in module ida_segment: + +is_spec_ea(*args) + 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: linear address (C++: ea_t) + +Help on function is_spec_segm in module ida_segment: + +is_spec_segm(*args) + is_spec_segm(seg_type) -> bool + + + Has segment a special type?. ( 'SEG_XTRN' , 'SEG_GRP' , 'SEG_ABSSYM' , + 'SEG_COMM' ) + + @param seg_type (C++: uchar) + +Help on function is_visible_segm in module ida_segment: + +is_visible_segm(*args) + is_visible_segm(s) -> bool + + + See 'SFL_HIDDEN' . + + + @param s (C++: segment_t *) + +Help on function lock_segm in module ida_segment: + +lock_segm(*args) + 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 *) + @param lock (C++: bool) + +Help on class lock_segment in module ida_segment: + +class lock_segment(__builtin__.object) + | Proxy of C++ lock_segment class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _segm) -> lock_segment + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lock_segment(self) + +Help on function move_segm in module ida_segment: + +move_segm(*args) + move_segm(s, to, flags=0) -> int + + + 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. 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: segment to move (C++: segment_t *) + @param to: new segment start address (C++: ea_t) + @param flags: Move segment flags (C++: int) + @return: Move segment result codes + +Help on function move_segm_start in module ida_segment: + +move_segm_start(*args) + 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.this function never disables addresses. + + @param ea: any address belonging to the segment (C++: ea_t) + @param newstart: new start address of the segment note that segment + start address should be higher than segment base + linear address. (C++: ea_t) + @param mode: 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) (C++: int) + +Help on function rebase_program in module ida_segment: + +rebase_program(*args) + rebase_program(delta, flags) -> int + + + Rebase the whole program by 'delta' bytes. + + @param delta: number of bytes to move the program (C++: adiff_t) + @param flags: Move segment flags it is recommended to use + MSF_FIXONCE so that the loader takes care of global + variables it stored in the database (C++: int) + @return: Move segment result codes + +Help on function segm_adjust_diff in module ida_segment: + +segm_adjust_diff(*args) + segm_adjust_diff(s, delta) -> adiff_t + + + Truncate and sign extend a delta depending on the segment. + + + @param s (C++: const segment_t *) + @param delta (C++: adiff_t) + +Help on function segm_adjust_ea in module ida_segment: + +segm_adjust_ea(*args) + segm_adjust_ea(s, ea) -> ea_t + + + Truncate an address depending on the segment. + + + @param s (C++: const segment_t *) + @param ea (C++: ea_t) + +Help on class segment_t in module ida_segment: + +class segment_t(ida_range.range_t) + | Proxy of C++ segment_t class. + | + | Method resolution order: + | segment_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> segment_t + | + | __repr__ = _swig_repr(self) + | + | abits(self, *args) + | abits(self) -> int + | + | abytes(self, *args) + | abytes(self) -> int + | + | clr_comorg(self, *args) + | clr_comorg(self) + | + | clr_ob_ok(self, *args) + | clr_ob_ok(self) + | + | comorg(self, *args) + | comorg(self) -> bool + | + | is_header_segm(self, *args) + | is_header_segm(self) -> bool + | + | is_hidden_segtype(self, *args) + | is_hidden_segtype(self) -> bool + | + | is_loader_segm(self, *args) + | is_loader_segm(self) -> bool + | + | is_visible_segm(self, *args) + | is_visible_segm(self) -> bool + | + | ob_ok(self, *args) + | ob_ok(self) -> bool + | + | set_comorg(self, *args) + | set_comorg(self) + | + | set_debugger_segm(self, *args) + | set_debugger_segm(self, debseg) + | + | set_header_segm(self, *args) + | set_header_segm(self, on) + | + | set_hidden_segtype(self, *args) + | set_hidden_segtype(self, hide) + | + | set_loader_segm(self, *args) + | set_loader_segm(self, ldrseg) + | + | set_ob_ok(self, *args) + | set_ob_ok(self) + | + | set_visible_segm(self, *args) + | set_visible_segm(self, visible) + | + | update(self, *args) + | update(self) -> bool + | + | use32(self, *args) + | use32(self) -> bool + | + | use64(self, *args) + | use64(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | align + | segment_t_align_get(self) -> uchar + | + | bitness + | segment_t_bitness_get(self) -> uchar + | + | color + | segment_t_color_get(self) -> bgcolor_t + | + | comb + | segment_t_comb_get(self) -> uchar + | + | defsr + | segment_t_defsr_get(self) -> sel_t [16] + | + | end_ea + | segment_t_end_ea_get(self) -> ea_t + | + | flags + | segment_t_flags_get(self) -> ushort + | + | name + | segment_t_name_get(self) -> uval_t + | + | orgbase + | segment_t_orgbase_get(self) -> uval_t + | + | perm + | segment_t_perm_get(self) -> uchar + | + | sclass + | segment_t_sclass_get(self) -> uval_t + | + | sel + | segment_t_sel_get(self) -> sel_t + | + | start_ea + | segment_t_start_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | type + | segment_t_type_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_segment_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | startEA + +Help on function segtype in module ida_segment: + +segtype(*args) + segtype(ea) -> uchar + + + Get segment type. + + @param ea: any linear address within the segment (C++: ea_t) + @return: Segment types , SEG_UNDF if no segment found at 'ea' + +Help on function sel2ea in module ida_segment: + +sel2ea(*args) + sel2ea(selector) -> ea_t + + + Get mapping of a selector as a linear address. + + @param selector: number of selector to translate to linear address + (C++: sel_t) + @return: linear address the specified selector is mapped to. if there + is no mapping, returns to_ea(selector,0); + +Help on function sel2para in module ida_segment: + +sel2para(*args) + sel2para(selector) -> ea_t + + + Get mapping of a selector. + + @param selector: number of selector to translate (C++: sel_t) + @return: paragraph the specified selector is mapped to. if there is no + mapping, returns 'selector'. + +Help on function set_defsr in module ida_segment: + +set_defsr(*args) + set_defsr(s, reg, value) + +Help on function set_group_selector in module ida_segment: + +set_group_selector(*args) + set_group_selector(grp, sel) -> int + + + Initialize groups. The kernel calls this function at the start of + work.Create a new group of segments (used OMF files). + + @param grp: 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. (C++: + sel_t) + @param sel: common selector of all segments belonging to the segment + You should create all segments within the group with the + same selector value. (C++: sel_t) + @return: 1 ok + +Help on function set_segm_addressing in module ida_segment: + +set_segm_addressing(*args) + 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: pointer to segment (C++: segment_t *) + @param bitness: new addressing mode of segment 2: 64bit segment 1: + 32bit segment 0: 16bit segment (C++: size_t) + @return: success + +Help on function set_segm_base in module ida_segment: + +set_segm_base(*args) + set_segm_base(s, newbase) -> bool + + + Internal function. + + + @param s (C++: segment_t *) + @param newbase (C++: ea_t) + +Help on function set_segm_class in module ida_segment: + +set_segm_class(*args) + set_segm_class(s, sclass, flags=0) -> int + + + Set segment class. + + @param s: pointer to segment (may be NULL) (C++: segment_t *) + @param sclass: segment class (may be NULL). 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 . (C++: const char *) + @param flags (C++: int) + +Help on function set_segm_end in module ida_segment: + +set_segm_end(*args) + 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: any address belonging to the segment (C++: ea_t) + @param newend: new end address of the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function set_segm_name in module ida_segment: + +set_segm_name(*args) + 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: pointer to segment (may be NULL) (C++: segment_t *) + @param name: new segment name (C++: const char *) + @param flags: ADDSEG_IDBENC or 0 (C++: int) + +Help on function set_segm_start in module ida_segment: + +set_segm_start(*args) + 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: any address belonging to the segment (C++: ea_t) + @param newstart: new start address of the segment note that segment + start address should be higher than segment base + linear address. (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function set_segment_cmt in module ida_segment: + +set_segment_cmt(*args) + set_segment_cmt(s, cmt, repeatable) + + + Set segment comment. + + @param s: pointer to segment structure (C++: const segment_t *) + @param cmt: comment string, may be multiline (with ' '). maximal size + is 4096 bytes. Use empty str ("") to delete comment (C++: + const char *) + @param repeatable: 0: set regular comment. 1: set repeatable comment. + (C++: bool) + +Help on function set_segment_translations in module ida_segment: + +set_segment_translations(*args) + set_segment_translations(segstart, transmap) -> bool + + + Set new translation list. + + @param segstart: start address of the segment to add translation to + (C++: ea_t) + @param transmap: vector of segment start addresses for the translation + list. If transmap is empty, the translation list is + deleted. (C++: const eavec_t &) + +Help on function set_selector in module ida_segment: + +set_selector(*args) + set_selector(selector, paragraph) -> int + + + Set mapping of selector to a paragraph. You should call this + functionbeforecreating a segment which uses the selector, otherwise + the creation of the segment will fail. + + @param selector: 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. (C++: sel_t) + @param paragraph: paragraph to map selector (C++: ea_t) + +Help on function set_visible_segm in module ida_segment: + +set_visible_segm(*args) + set_visible_segm(s, visible) + + + See 'SFL_HIDDEN' . + + + @param s (C++: segment_t *) + @param visible (C++: bool) + +Help on function setup_selector in module ida_segment: + +setup_selector(*args) + 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: a new segment base paragraph (C++: ea_t) + @return: the allocated selector number + +Help on function std_out_segm_footer in module ida_segment: + +std_out_segm_footer(*args) + 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 &) + @param seg (C++: segment_t *) + +Help on function take_memory_snapshot in module ida_segment: + +take_memory_snapshot(*args) + take_memory_snapshot(only_loader_segs) -> bool + + + Take a memory snapshot of the running process. + + @param only_loader_segs: only is_loader_segm() segments will be + affected (C++: bool) + @return: success + +Help on function update_segm in module ida_segment: + +update_segm(*args) + update_segm(s) -> bool + +=== ida_segment EPYDOC INJECTIONS === +ida_segment.ADDSEG_FILLGAP +""" +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. +""" + +ida_segment.ADDSEG_IDBENC +""" +non-ASCII bytes will be decoded accordingly + +'name' and 'sclass' are given in the IDB encoding; +""" + +ida_segment.ADDSEG_NOAA +""" +do not mark new segment for auto-analysis +""" + +ida_segment.ADDSEG_NOSREG +""" +(undefine all default segment registers) + +set all default segment register values to 'BADSEL' +""" + +ida_segment.ADDSEG_NOTRUNC +""" +destroy/truncate old segments instead. + +don't truncate the new segment at the beginning of the next segment if +they overlap. +""" + +ida_segment.ADDSEG_OR_DIE +""" + 'qexit()' if can't add a segment +""" + +ida_segment.ADDSEG_QUIET +""" +silent mode, no "Adding segment..." in the messages window +""" + +ida_segment.ADDSEG_SPARSE +""" +use sparse storage method for the new segment +""" + +ida_segment.CSS_BREAK +""" +memory reading process stopped by user +""" + +ida_segment.CSS_NODBG +""" +debugger is not running +""" + +ida_segment.CSS_NOMEM +""" +is too big) + +not enough memory (might be because the segment +""" + +ida_segment.CSS_NORANGE +""" +could not find corresponding memory range +""" + +ida_segment.CSS_OK +""" +ok +""" + +ida_segment.MAX_GROUPS +""" +max number of segment groups +""" + +ida_segment.MAX_SEGM_TRANSLATIONS +""" +max number of segment translations +""" + +ida_segment.MOVE_SEGM_CHUNK +""" +Too many chunks are defined, can't move. +""" + +ida_segment.MOVE_SEGM_DEBUG +""" +Debugger segments cannot be moved. +""" + +ida_segment.MOVE_SEGM_IDP +""" +IDP module forbids moving the segment. +""" + +ida_segment.MOVE_SEGM_LOADER +""" +The segment has been moved but the loader complained. +""" + +ida_segment.MOVE_SEGM_ODD +""" +Cannot move segments by an odd number of bytes. +""" + +ida_segment.MOVE_SEGM_OK +""" +all ok +""" + +ida_segment.MOVE_SEGM_ORPHAN +""" +Orphan bytes hinder segment movement. +""" + +ida_segment.MOVE_SEGM_PARAM +""" +The specified segment does not exist. +""" + +ida_segment.MOVE_SEGM_ROOM +""" +Not enough free room at the target address. +""" + +ida_segment.MSF_FIXONCE +""" +valid for 'rebase_program()' . see 'loader_t::move_segm' . + +call loader only once with the special calling method. +""" + +ida_segment.MSF_LDKEEP +""" +keep the loader in the memory (optimization) +""" + +ida_segment.MSF_NETNODES +""" +valid for 'rebase_program()' + +move netnodes instead of changing inf.netdelta (this is slower) +""" + +ida_segment.MSF_NOFIX +""" +don't call the loader to fix relocations +""" + +ida_segment.MSF_PRIORITY +""" +valid for 'move_segm()' + +loader segments will overwrite any existing debugger segments when +moved. +""" + +ida_segment.MSF_SILENT +""" +don't display a "please wait" box on the screen +""" + +ida_segment.SEGMOD_KEEP +""" +keep information (code & data, etc) +""" + +ida_segment.SEGMOD_KEEP0 +""" +flag for internal use, don't set +""" + +ida_segment.SEGMOD_KEEPSEL +""" +do not try to delete unused selector +""" + +ida_segment.SEGMOD_KILL +""" +disable addresses if segment gets shrinked or deleted +""" + +ida_segment.SEGMOD_NOMOVE +""" +(for 'set_segm_start()' ) + +don't move info from the start of segment to the new start address +""" + +ida_segment.SEGMOD_SILENT +""" +be silent +""" + +ida_segment.SEGMOD_SPARSE +""" +(for 'set_segm_start()' , 'set_segm_end()' ) + +use sparse storage if extending the segment +""" + +ida_segment.SEGPERM_EXEC +""" +Execute. +""" + +ida_segment.SEGPERM_READ +""" +Read. +""" + +ida_segment.SEGPERM_WRITE +""" +Write. +""" + +ida_segment.SEG_ABSSYM +""" +segment with definitions of absolute symbols +""" + +ida_segment.SEG_BSS +""" +uninitialized segment +""" + +ida_segment.SEG_CODE +""" +code segment +""" + +ida_segment.SEG_COMM +""" +segment with communal definitions +""" + +ida_segment.SEG_DATA +""" +data segment +""" + +ida_segment.SEG_GRP +""" +group of segments +""" + +ida_segment.SEG_IMEM +""" +internal processor memory & sfr (8051) +""" + +ida_segment.SEG_IMP +""" +java: implementation segment +""" + +ida_segment.SEG_NORM +""" +unknown type, no assumptions +""" + +ida_segment.SEG_NULL +""" +zero-length segment +""" + +ida_segment.SEG_UNDF +""" +undefined segment type (not used) +""" + +ida_segment.SEG_XTRN +""" +no instructions are allowed + +segment with 'extern' definitions. +""" + +ida_segment.SFL_COMORG +""" +IDP dependent field (IBM PC: if set, ORG directive is not commented +out) +""" + +ida_segment.SFL_DEBUG +""" +Is the segment created for the debugger?. Such segments are temporary +and do not have permanent flags. +""" + +ida_segment.SFL_HEADER +""" +Header segment (do not create offsets to it in the disassembly) +""" + +ida_segment.SFL_HIDDEN +""" +Is the segment hidden? +""" + +ida_segment.SFL_HIDETYPE +""" +Hide segment type (do not print it in the listing) +""" + +ida_segment.SFL_LOADER +""" +Is the segment created by the loader? +""" + +ida_segment.SFL_OBOK +""" +Orgbase is present? (IDP dependent field) +""" + +ida_segment.SREG_NUM +""" +Maximum number of segment registers is 16 (see 'segregs.hpp' ) +""" + +ida_segment.saAbs +""" +Absolute segment. +""" + +ida_segment.saGroup +""" +Segment group. +""" + +ida_segment.saRel1024Bytes +""" +1024 bytes +""" + +ida_segment.saRel128Bytes +""" +128 bytes +""" + +ida_segment.saRel2048Bytes +""" +2048 bytes +""" + +ida_segment.saRel32Bytes +""" +32 bytes +""" + +ida_segment.saRel4K +""" +alignment. It is not supported by LINK. + +This value is used by the PharLap OMF for page (4K) +""" + +ida_segment.saRel512Bytes +""" +512 bytes +""" + +ida_segment.saRel64Bytes +""" +64 bytes +""" + +ida_segment.saRelByte +""" +Relocatable, byte aligned. +""" + +ida_segment.saRelDble +""" +boundary. + +Relocatable, aligned on a double word (4-byte) +""" + +ida_segment.saRelPage +""" +Relocatable, aligned on 256-byte boundary. +""" + +ida_segment.saRelPara +""" +Relocatable, paragraph (16-byte) aligned. +""" + +ida_segment.saRelQword +""" +8 bytes +""" + +ida_segment.saRelWord +""" +Relocatable, word (2-byte) aligned. +""" + +ida_segment.scCommon +""" +Common. Combine by overlay using maximum size. +""" + +ida_segment.scGroup +""" +Segment group. +""" + +ida_segment.scPriv +""" +segment. + +Private. Do not combine with any other program +""" + +ida_segment.scPub +""" +the alignment requirement. + +Public. Combine by appending at an offset that meets +""" + +ida_segment.scPub2 +""" +As defined by Microsoft, same as C=2 (public). +""" + +ida_segment.scPub3 +""" +As defined by Microsoft, same as C=2 (public). +""" + +ida_segment.scStack +""" +byte alignment. + +Stack. Combine as for C=2. This combine type forces +""" +=== ida_segment EPYDOC INJECTIONS END === +Help on function copy_sreg_ranges in module ida_segregs: + +copy_sreg_ranges(*args) + copy_sreg_ranges(dst_rg, src_rg, map_selector=False) + + + Duplicate segment register ranges. + + @param dst_rg: number of destination segment register (C++: int) + @param src_rg: copy ranges from (C++: int) + @param map_selector: map selectors to linear addresses using sel2ea() + (C++: bool) + +Help on function del_sreg_range in module ida_segregs: + +del_sreg_range(*args) + 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: start_ea of the deleted range (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_prev_sreg_range in module ida_segregs: + +get_prev_sreg_range(*args) + get_prev_sreg_range(out, ea, rg) -> bool + + + Get segment register range previous to one with address.more efficient + then get_sreg_range(reg, ea-1) + + @param out: segment register range (C++: sreg_range_t *) + @param ea: any linear address in the program (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_sreg in module ida_segregs: + +get_sreg(*args) + 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: linear address in the program (C++: ea_t) + @param rg: number of the segment register (C++: int) + @return: value of the segment register, BADSEL if value is unknown. + +Help on function get_sreg_range in module ida_segregs: + +get_sreg_range(*args) + get_sreg_range(out, ea, rg) -> bool + + + Get segment register range by linear address. + + @param out: segment register range (C++: sreg_range_t *) + @param ea: any linear address in the program (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_sreg_range_num in module ida_segregs: + +get_sreg_range_num(*args) + get_sreg_range_num(ea, rg) -> int + + + Get number of segment register range by address. + + @param ea: any address in the range (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: -1 if no range occupies the specified address. otherwise + returns number of the specified range + (0..get_srranges_qty()-1) + +Help on function get_sreg_ranges_qty in module ida_segregs: + +get_sreg_ranges_qty(*args) + get_sreg_ranges_qty(rg) -> size_t + + + Get number of segment register ranges. + + @param rg: the segment register number (C++: int) + +Help on function getn_sreg_range in module ida_segregs: + +getn_sreg_range(*args) + getn_sreg_range(out, rg, n) -> bool + + + Get segment register range by its number. + + @param out: segment register range (C++: sreg_range_t *) + @param rg: the segment register number (C++: int) + @param n: number of range (0..qty()-1) (C++: int) + @return: success + +Help on function set_default_dataseg in module ida_segregs: + +set_default_dataseg(*args) + set_default_dataseg(ds_sel) + + + Set default value of DS register for all segments. + + + @param ds_sel (C++: sel_t) + +Help on function set_default_sreg_value in module ida_segregs: + +set_default_sreg_value(*args) + set_default_sreg_value(sg, rg, value) -> bool + + + Set default value of a segment register for a segment. + + @param sg: pointer to segment structure if NULL, then set the register + for all segments (C++: segment_t *) + @param rg: number of segment register (C++: int) + @param value: its default value. this value will be used by + get_sreg() if value of the register is unknown at the + specified address. (C++: sel_t) + @return: success + +Help on function set_sreg_at_next_code in module ida_segregs: + +set_sreg_at_next_code(*args) + 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: address to start to search for an instruction (C++: ea_t) + @param ea2: the maximal address (C++: ea_t) + @param rg: the segment register number (C++: int) + @param value: the segment register value (C++: sel_t) + +Help on function split_sreg_range in module ida_segregs: + +split_sreg_range(*args) + 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: linear address where the segment register will have a new + value. if ea== BADADDR , nothing to do. (C++: ea_t) + @param rg: the number of the segment register (C++: int) + @param v: the new value of the segment register. If the value is + unknown, you should specify BADSEL . (C++: sel_t) + @param tag: the register info tag. see Segment register range tags + (C++: uchar) + @param silent: if false, display a warning() in the case of failure + (C++: bool) + @return: success + +Help on class sreg_range_t in module ida_segregs: + +class sreg_range_t(ida_range.range_t) + | Proxy of C++ sreg_range_t class. + | + | Method resolution order: + | sreg_range_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sreg_range_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | tag + | sreg_range_t_tag_get(self) -> uchar + | + | thisown + | The membership flag + | + | val + | sreg_range_t_val_get(self) -> sel_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sreg_range_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +=== ida_segregs EPYDOC INJECTIONS === +ida_segregs.SR_auto +""" +the value is determined by IDA +""" + +ida_segregs.SR_autostart +""" +used as 'SR_auto' for segment starting address +""" + +ida_segregs.SR_inherit +""" +the value is inherited from the previous range +""" + +ida_segregs.SR_user +""" +the value is specified by the user +""" +=== ida_segregs EPYDOC INJECTIONS END === +Help on function build_strlist in module ida_strlist: + +build_strlist(*args) + build_strlist() + + + Build the string list. You should initialize options before this call + using the restore_config() or setup_strings_window() methods. + +Help on function clear_strlist in module ida_strlist: + +clear_strlist(*args) + clear_strlist() + + + Clear the string list. + +Help on function get_strlist_item in module ida_strlist: + +get_strlist_item(*args) + 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) + +Help on function get_strlist_options in module ida_strlist: + +get_strlist_options(*args) + get_strlist_options() -> strwinsetup_t + + + Get access to the static string list options. + +Help on function get_strlist_qty in module ida_strlist: + +get_strlist_qty(*args) + get_strlist_qty() -> size_t + + + Get number of elements in the string list. + +Help on class string_info_t in module ida_strlist: + +class string_info_t(__builtin__.object) + | Proxy of C++ string_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> string_info_t + | __init__(self, _ea) -> string_info_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | string_info_t_ea_get(self) -> ea_t + | + | length + | string_info_t_length_get(self) -> int + | + | thisown + | The membership flag + | + | type + | string_info_t_type_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_string_info_t(self) + +Help on class strwinsetup_t in module ida_strlist: + +class strwinsetup_t(__builtin__.object) + | Proxy of C++ strwinsetup_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strwinsetup_t + | + | __repr__ = _swig_repr(self) + | + | _get_strtypes(self, *args) + | _get_strtypes(self) -> PyObject * + | + | _set_strtypes(self, *args) + | _set_strtypes(self, py_t) -> PyObject * + | + | is_initialized(self, *args) + | is_initialized(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | display_only_existing_strings + | strwinsetup_t_display_only_existing_strings_get(self) -> uchar + | + | ignore_heads + | strwinsetup_t_ignore_heads_get(self) -> uchar + | + | minlen + | strwinsetup_t_minlen_get(self) -> sval_t + | + | only_7bit + | strwinsetup_t_only_7bit_get(self) -> uchar + | + | strtypes + | _get_strtypes(self) -> PyObject * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_strwinsetup_t(self) + +Help on function add_struc in module ida_struct: + +add_struc(*args) + add_struc(idx, name, is_union=False) -> tid_t + + + Create a structure type. if idx== 'BADADDR' then add as the last idx. + if name==NULL then a name will be generated "struct_%d". + + @param idx (C++: uval_t) + @param name (C++: const char *) + @param is_union (C++: bool) + +Help on function add_struc_member in module ida_struct: + +add_struc_member(*args) + add_struc_member(sptr, fieldname, offset, flag, mt, nbytes) -> struc_error_t + + + Add member to existing structure. + + @param sptr: structure to modify (C++: struc_t *) + @param fieldname: if NULL, then "anonymous_#" name will be generated + (C++: const char *) + @param offset: BADADDR means add to the end of structure (C++: ea_t) + @param flag: type + representation bits (C++: flags_t) + @param mt: additional info about member type. must be present for + structs, offsets, enums, strings, struct offsets. (C++: + const opinfo_t *) + @param nbytes: if == 0 then the structure will be a varstruct. in this + case the member should be the last member in the + structure (C++: asize_t) + +Help on function del_member_tinfo in module ida_struct: + +del_member_tinfo(*args) + del_member_tinfo(sptr, mptr) -> bool + + + Delete tinfo for given member. + + + @param sptr (C++: struc_t *) + @param mptr (C++: member_t *) + +Help on function del_struc in module ida_struct: + +del_struc(*args) + del_struc(sptr) -> bool + + + Delete a structure type. + + + @param sptr (C++: struc_t *) + +Help on function del_struc_member in module ida_struct: + +del_struc_member(*args) + del_struc_member(sptr, offset) -> bool + + + Delete member at given offset. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + +Help on function del_struc_members in module ida_struct: + +del_struc_members(*args) + del_struc_members(sptr, off1, off2) -> int + + + Delete members which occupy range of offsets (off1..off2). + + @param sptr (C++: struc_t *) + @param off1 (C++: ea_t) + @param off2 (C++: ea_t) + @return: number of deleted members or -1 on error + +Help on function expand_struc in module ida_struct: + +expand_struc(*args) + expand_struc(sptr, offset, delta, recalc=True) -> bool + + + Expand/Shrink structure type. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param delta (C++: adiff_t) + @param recalc (C++: bool) + +Help on function get_best_fit_member in module ida_struct: + +get_best_fit_member(*args) + get_best_fit_member(sptr, offset) -> member_t + + + Get member that is most likely referenced by the specified offset. + Useful for offsets > sizeof(struct). + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_first_struc_idx in module ida_struct: + +get_first_struc_idx(*args) + get_first_struc_idx() -> uval_t + + + Get index of first structure. + + @return: BADADDR if no known structures, 0 otherwise + +Help on function get_last_struc_idx in module ida_struct: + +get_last_struc_idx(*args) + get_last_struc_idx() -> uval_t + + + Get index of last structure. + + @return: BADADDR if no known structures, get_struc_qty() -1 + otherwise + +Help on function get_max_offset in module ida_struct: + +get_max_offset(*args) + get_max_offset(sptr) -> ea_t + + + For unions: returns number of members, for structs: returns size of + structure. + + + @param sptr (C++: struc_t *) + +Help on function get_member in module ida_struct: + +get_member(*args) + get_member(sptr, offset) -> member_t + + + Get member at given offset. + + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_member_by_fullname in module ida_struct: + +get_member_by_fullname(*args) + get_member_by_fullname(fullname) -> member_t + + + Get a member by its fully qualified name, "struct.field". + + + @param fullname (C++: const char *) + +Help on function get_member_by_id in module ida_struct: + +get_member_by_id(*args) + get_member_by_id(mid) -> member_t + + + Check if the specified member id points to a struct member. + + + @param mid (C++: tid_t) + +Help on function get_member_by_name in module ida_struct: + +get_member_by_name(*args) + get_member_by_name(sptr, membername) -> member_t + + + Get a member by its name, like "field44". + + + @param sptr (C++: const struc_t *) + @param membername (C++: const char *) + +Help on function get_member_cmt in module ida_struct: + +get_member_cmt(*args) + get_member_cmt(mid, repeatable) -> str + + + Get comment of structure member. + + + @param mid (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_member_fullname in module ida_struct: + +get_member_fullname(*args) + get_member_fullname(mid) -> str + + + Get a member's fully qualified name, "struct.field". + + + @param mid (C++: tid_t) + +Help on function get_member_id in module ida_struct: + +get_member_id(*args) + get_member_id(sptr, offset) -> tid_t + + + Get member id at given offset. + + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_member_name in module ida_struct: + +get_member_name(*args) + get_member_name(mid) -> str + + + Get name of structure member. + + + @param mid (C++: tid_t) + +Help on function get_member_size in module ida_struct: + +get_member_size(*args) + get_member_size(nonnul_mptr) -> asize_t + + + Get size of structure member. May return 0 for the last member of + varstruct. For union members, returns 'member_t::eoff' . + +Help on function get_member_struc in module ida_struct: + +get_member_struc(*args) + get_member_struc(fullname) -> struc_t + + + Get containing structure of member by its full name "struct.field". + + + @param fullname (C++: const char *) + +Help on function get_member_tinfo in module ida_struct: + +get_member_tinfo(*args) + get_member_tinfo(tif, mptr) -> bool + + + Get tinfo for given member. + + + @param tif (C++: tinfo_t *) + @param mptr (C++: const member_t *) + +Help on function get_next_member_idx in module ida_struct: + +get_next_member_idx(*args) + get_next_member_idx(sptr, off) -> ssize_t + + + Get the next member idx, if it does not exist, return -1. + + + @param sptr (C++: const struc_t *) + @param off (C++: asize_t) + +Help on function get_next_struc_idx in module ida_struct: + +get_next_struc_idx(*args) + get_next_struc_idx(idx) -> uval_t + + + Get next struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is out of bounds, otherwise idx++ + +Help on function get_or_guess_member_tinfo in module ida_struct: + +get_or_guess_member_tinfo(*args) + get_or_guess_member_tinfo(tif, mptr) -> bool + + + Try to get tinfo for given member - if failed, generate a tinfo using + information about the member id from the disassembly + + @param tif (C++: tinfo_t *) + @param mptr (C++: const member_t *) + +Help on function get_prev_member_idx in module ida_struct: + +get_prev_member_idx(*args) + get_prev_member_idx(sptr, off) -> ssize_t + + + Get the prev member idx, if it does not exist, return -1. + + + @param sptr (C++: const struc_t *) + @param off (C++: asize_t) + +Help on function get_prev_struc_idx in module ida_struct: + +get_prev_struc_idx(*args) + get_prev_struc_idx(idx) -> uval_t + + + Get previous struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is negative, otherwise idx - 1 + +Help on function get_sptr in module ida_struct: + +get_sptr(*args) + get_sptr(mptr) -> struc_t + + + Get child struct if member is a struct. + + + @param mptr (C++: const member_t *) + +Help on function get_struc in module ida_struct: + +get_struc(*args) + get_struc(id) -> struc_t + + + Get pointer to struct type info. + + + @param id (C++: tid_t) + +Help on function get_struc_by_idx in module ida_struct: + +get_struc_by_idx(*args) + get_struc_by_idx(idx) -> tid_t + + + Get struct id by struct number. + + + @param idx (C++: uval_t) + +Help on function get_struc_cmt in module ida_struct: + +get_struc_cmt(*args) + get_struc_cmt(id, repeatable) -> str + + + Get struct comment. + + + @param id (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_struc_first_offset in module ida_struct: + +get_struc_first_offset(*args) + get_struc_first_offset(sptr) -> ea_t + + + Get offset of first member. + + @param sptr (C++: const struc_t *) + @return: BADADDR if memqty == 0 + +Help on function get_struc_id in module ida_struct: + +get_struc_id(*args) + get_struc_id(name) -> tid_t + + + Get struct id by name. + + + @param name (C++: const char *) + +Help on function get_struc_idx in module ida_struct: + +get_struc_idx(*args) + get_struc_idx(id) -> uval_t + + + Get internal number of the structure. + + + @param id (C++: tid_t) + +Help on function get_struc_last_offset in module ida_struct: + +get_struc_last_offset(*args) + get_struc_last_offset(sptr) -> ea_t + + + Get offset of last member. + + @param sptr (C++: const struc_t *) + @return: BADADDR if memqty == 0 + +Help on function get_struc_name in module ida_struct: + +get_struc_name(*args) + get_struc_name(id, flags=0) -> str + + + Get struct name by id + + @param id: struct id (C++: tid_t) + @param flags: Struct name flags (C++: int) + +Help on function get_struc_next_offset in module ida_struct: + +get_struc_next_offset(*args) + get_struc_next_offset(sptr, offset) -> ea_t + + + Get offset of member with smallest offset larger than 'offset'. + + @param sptr (C++: const struc_t *) + @param offset (C++: ea_t) + @return: BADADDR if no next offset + +Help on function get_struc_prev_offset in module ida_struct: + +get_struc_prev_offset(*args) + get_struc_prev_offset(sptr, offset) -> ea_t + + + Get offset of member with largest offset less than 'offset'. + + @param sptr (C++: const struc_t *) + @param offset (C++: ea_t) + @return: BADADDR if no prev offset + +Help on function get_struc_qty in module ida_struct: + +get_struc_qty(*args) + get_struc_qty() -> size_t + + + Get number of known structures. + +Help on function get_struc_size in module ida_struct: + +get_struc_size(*args) + get_struc_size(sptr) -> asize_t + get_struc_size(id) -> asize_t + + + Get struct size (also see 'get_struc_size(tid_t)' ) + + + @param sptr (C++: const struc_t *) + +Help on function is_anonymous_member_name in module ida_struct: + +is_anonymous_member_name(*args) + is_anonymous_member_name(name) -> bool + + + Is member name prefixed with "anonymous"? + + + @param name (C++: const char *) + +Help on function is_dummy_member_name in module ida_struct: + +is_dummy_member_name(*args) + is_dummy_member_name(name) -> bool + + + Is member name an auto-generated name? + + + @param name (C++: const char *) + +Help on function is_member_id in module ida_struct: + +is_member_id(*args) + is_member_id(mid) -> bool + + + Is a member id? + + + @param mid (C++: tid_t) + +Help on function is_special_member in module ida_struct: + +is_special_member(*args) + is_special_member(id) -> bool + + + Is a special member with the name beginning with ' '? + + + @param id (C++: tid_t) + +Help on function is_union in module ida_struct: + +is_union(*args) + is_union(id) -> bool + + + Is a union? + + + @param id (C++: tid_t) + +Help on function is_varmember in module ida_struct: + +is_varmember(*args) + is_varmember(mptr) -> bool + + + Is variable size member? + + + @param mptr (C++: const member_t *) + +Help on function is_varstr in module ida_struct: + +is_varstr(*args) + is_varstr(id) -> bool + + + Is variable size structure? + + + @param id (C++: tid_t) + +Help on class member_t in module ida_struct: + +class member_t(__builtin__.object) + | Proxy of C++ member_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> member_t + | + | __repr__ = _swig_repr(self) + | + | by_til(self, *args) + | by_til(self) -> bool + | + | get_soff(self, *args) + | get_soff(self) -> ea_t + | + | has_ti(self, *args) + | has_ti(self) -> bool + | + | has_union(self, *args) + | has_union(self) -> bool + | + | is_baseclass(self, *args) + | is_baseclass(self) -> bool + | + | is_destructor(self, *args) + | is_destructor(self) -> bool + | + | is_dupname(self, *args) + | is_dupname(self) -> bool + | + | unimem(self, *args) + | unimem(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | eoff + | member_t_eoff_get(self) -> ea_t + | + | flag + | member_t_flag_get(self) -> flags_t + | + | id + | member_t_id_get(self) -> tid_t + | + | props + | member_t_props_get(self) -> uint32 + | + | soff + | member_t_soff_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_member_t(self) + +Help on function retrieve_member_info in module ida_struct: + +retrieve_member_info(*args) + retrieve_member_info(buf, mptr) -> opinfo_t + + + Get operand type info for member. + + + @param buf (C++: opinfo_t *) + @param mptr (C++: const member_t *) + +Help on function save_struc in module ida_struct: + +save_struc(*args) + save_struc(sptr, may_update_ltypes=True) + + + Update struct information in the database (internal function) + + + @param sptr (C++: struc_t *) + @param may_update_ltypes (C++: bool) + +Help on function set_member_cmt in module ida_struct: + +set_member_cmt(*args) + set_member_cmt(mptr, cmt, repeatable) -> bool + + + Set member comment. + + + @param mptr (C++: member_t *) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_member_name in module ida_struct: + +set_member_name(*args) + set_member_name(sptr, offset, name) -> bool + + + Set name of member at given offset. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param name (C++: const char *) + +Help on function set_member_tinfo in module ida_struct: + +set_member_tinfo(*args) + set_member_tinfo(sptr, mptr, memoff, tif, flags) -> smt_code_t + + + Set tinfo for given member. + + @param sptr: containing struct (C++: struc_t *) + @param mptr: target member (C++: member_t *) + @param memoff: offset within member (C++: uval_t) + @param tif: type info (C++: const tinfo_t &) + @param flags: Set member tinfo flags (C++: int) + +Help on function set_member_type in module ida_struct: + +set_member_type(*args) + set_member_type(sptr, offset, flag, mt, nbytes) -> bool + + + Set type of member at given offset (also see 'add_struc_member()' ) + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param flag (C++: flags_t) + @param mt (C++: const opinfo_t *) + @param nbytes (C++: asize_t) + +Help on function set_struc_align in module ida_struct: + +set_struc_align(*args) + set_struc_align(sptr, shift) -> bool + + + Set structure alignment ( 'SF_ALIGN' ) + + + @param sptr (C++: struc_t *) + @param shift (C++: int) + +Help on function set_struc_cmt in module ida_struct: + +set_struc_cmt(*args) + set_struc_cmt(id, cmt, repeatable) -> bool + + + Set structure comment. + + + @param id (C++: tid_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_struc_hidden in module ida_struct: + +set_struc_hidden(*args) + set_struc_hidden(sptr, is_hidden) + + + Hide/unhide a struct type. + + + @param sptr (C++: struc_t *) + @param is_hidden (C++: bool) + +Help on function set_struc_idx in module ida_struct: + +set_struc_idx(*args) + set_struc_idx(sptr, idx) -> bool + + + Set internal number of struct. Also see 'get_struc_idx()' , + 'get_struc_by_idx()' . + + @param sptr (C++: const struc_t *) + @param idx (C++: uval_t) + +Help on function set_struc_listed in module ida_struct: + +set_struc_listed(*args) + set_struc_listed(sptr, is_listed) + + + Add/remove a struct type from the struct list. + + + @param sptr (C++: struc_t *) + @param is_listed (C++: bool) + +Help on function set_struc_name in module ida_struct: + +set_struc_name(*args) + set_struc_name(id, name) -> bool + + + Set structure name. + + + @param id (C++: tid_t) + @param name (C++: const char *) + +Help on function stroff_as_size in module ida_struct: + +stroff_as_size(*args) + stroff_as_size(plen, sptr, value) -> bool + + + Should display a structure offset expression as the structure size? + + + @param plen (C++: int) + @param sptr (C++: const struc_t *) + @param value (C++: asize_t) + +Help on class struc_t in module ida_struct: + +class struc_t(__builtin__.object) + | Proxy of C++ struc_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | from_til(self, *args) + | from_til(self) -> bool + | + | get_alignment(self, *args) + | get_alignment(self) -> int + | + | get_member(self, *args) + | get_member(self, index) -> member_t + | + | has_union(self, *args) + | has_union(self) -> bool + | + | is_choosable(self, *args) + | is_choosable(self) -> bool + | + | is_frame(self, *args) + | is_frame(self) -> bool + | + | is_ghost(self, *args) + | is_ghost(self) -> bool + | + | is_hidden(self, *args) + | is_hidden(self) -> bool + | + | is_union(self, *args) + | is_union(self) -> bool + | + | is_varstr(self, *args) + | is_varstr(self) -> bool + | + | set_alignment(self, *args) + | set_alignment(self, shift) + | + | set_ghost(self, *args) + | set_ghost(self, _is_ghost) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | age + | struc_t_age_get(self) -> ushort + | + | id + | struc_t_id_get(self) -> tid_t + | + | members + | struc_t_members_get(self) -> member_t + | + | memqty + | struc_t_memqty_get(self) -> uint32 + | + | ordinal + | struc_t_ordinal_get(self) -> int32 + | + | props + | struc_t_props_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_struc_t(self) + +Help on class struct_field_visitor_t in module ida_struct: + +class struct_field_visitor_t(__builtin__.object) + | Proxy of C++ struct_field_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> struct_field_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_field(self, *args) + | visit_field(self, sptr, mptr) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_struct_field_visitor_t(self) + +Help on function visit_stroff_fields in module ida_struct: + +visit_stroff_fields(*args) + visit_stroff_fields(sfv, path, disp, appzero) -> flags_t + + + 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: visitor object (C++: struct_field_visitor_t &) + @param path: struct path (path[0] contains the initial struct id) + (C++: const tid_t *) + @param disp: offset into structure (C++: adiff_t *) + @param appzero: should visit field at offset zero? (C++: bool) + +=== ida_struct EPYDOC INJECTIONS === +ida_struct.MF_BASECLASS +""" +a special member representing base class +""" + +ida_struct.MF_BYTIL +""" +the member was created due to the type system +""" + +ida_struct.MF_DTOR +""" +a special member representing destructor +""" + +ida_struct.MF_DUPNAME +""" +duplicate name resolved with _N suffix (N==soff) +""" + +ida_struct.MF_HASTI +""" +has type information? +""" + +ida_struct.MF_HASUNI +""" +has members of type "union"? +""" + +ida_struct.MF_OK +""" +is the member ok? (always yes) +""" + +ida_struct.MF_UNIMEM +""" +is a member of a union? +""" + +ida_struct.SET_MEMTI_BYTIL +""" +new type was created by the type subsystem +""" + +ida_struct.SET_MEMTI_COMPATIBLE +""" +new type must be compatible with the old +""" + +ida_struct.SET_MEMTI_FUNCARG +""" +mptr is function argument (cannot create arrays) +""" + +ida_struct.SET_MEMTI_MAY_DESTROY +""" +may destroy other members +""" + +ida_struct.SET_MEMTI_USERTI +""" +user-specified type +""" + +ida_struct.SF_ALIGN +""" +alignment (shift amount: 0..31) +""" + +ida_struct.SF_FRAME +""" +the structure is a function frame +""" + +ida_struct.SF_GHOST +""" +ghost copy of a local type +""" + +ida_struct.SF_HASUNI +""" +has members of type "union"? +""" + +ida_struct.SF_HIDDEN +""" +the structure is collapsed +""" + +ida_struct.SF_NOLIST +""" +don't include in the chooser list +""" + +ida_struct.SF_TYPLIB +""" +the structure comes from type library +""" + +ida_struct.SF_UNION +""" +varunions are prohibited! + +is a union? +""" + +ida_struct.SF_VAR +""" +is variable size structure (varstruct)? a variable size structure is +one with the zero size last member. if the last member is a varstruct, +then the current structure is a varstruct too. +""" + +ida_struct.STRNFL_REGEX +""" +apply regular expressions to beautify the name +""" + +ida_struct.STRUC_SEPARATOR +""" +structname.fieldname +""" +=== ida_struct EPYDOC INJECTIONS END === +Help on function add_tryblk in module ida_tryblks: + +add_tryblk(*args) + add_tryblk(tb) -> int + + + Add one try block information. + + @param tb: try block to add. (C++: const tryblk_t &) + @return: error code; 0 means good + +Help on class catch_t in module ida_tryblks: + +class catch_t(try_handler_t) + | Proxy of C++ catch_t class. + | + | Method resolution order: + | catch_t + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> catch_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | obj + | catch_t_obj_get(self) -> sval_t + | + | thisown + | The membership flag + | + | type_id + | catch_t_type_id_get(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_catch_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from try_handler_t: + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from try_handler_t: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class catchvec_t in module ida_tryblks: + +class catchvec_t(__builtin__.object) + | Proxy of C++ qvector< catch_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> catch_t + | + | __init__(self, *args) + | __init__(self) -> catchvec_t + | __init__(self, x) -> catchvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> catch_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> catch_t + | begin(self) -> catch_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> catch_t + | end(self) -> catch_t + | + | erase(self, *args) + | erase(self, it) -> catch_t + | erase(self, first, last) -> catch_t + | + | extract(self, *args) + | extract(self) -> catch_t + | + | find(self, *args) + | find(self, x) -> catch_t + | find(self, x) -> catch_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=catch_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> catch_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> catch_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_catchvec_t(self) + +Help on function del_tryblks in module ida_tryblks: + +del_tryblks(*args) + del_tryblks(range) + + + Delete try block information in the specified range. + + @param range: the range to be cleared (C++: const range_t &) + +Help on function find_syseh in module ida_tryblks: + +find_syseh(*args) + find_syseh(ea) -> ea_t + + + Find the start address of the system eh region including the argument. + + @param ea: search address (C++: ea_t) + @return: start address of surrounding tryblk, otherwise BADADDR + +Help on function get_tryblks in module ida_tryblks: + +get_tryblks(*args) + 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: output buffer; may be NULL (C++: tryblks_t *) + @param range: address range to change (C++: const range_t &) + @return: number of found try blocks + +Help on class seh_t in module ida_tryblks: + +class seh_t(try_handler_t) + | Proxy of C++ seh_t class. + | + | Method resolution order: + | seh_t + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> seh_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | filter + | seh_t_filter_get(self) -> rangevec_t + | + | seh_code + | seh_t_seh_code_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_seh_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from try_handler_t: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class try_handler_t in module ida_tryblks: + +class try_handler_t(ida_range.rangevec_t) + | Proxy of C++ try_handler_t class. + | + | Method resolution order: + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> try_handler_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_try_handler_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class tryblk_t in module ida_tryblks: + +class tryblk_t(ida_range.rangevec_t) + | Proxy of C++ tryblk_t class. + | + | Method resolution order: + | tryblk_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tryblk_t + | __init__(self, r) -> tryblk_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | cpp(self, *args) + | cpp(self) -> catchvec_t + | + | empty(self, *args) + | empty(self) -> bool + | + | get_kind(self, *args) + | get_kind(self) -> uchar + | + | is_cpp(self, *args) + | is_cpp(self) -> bool + | + | is_seh(self, *args) + | is_seh(self) -> bool + | + | seh(self, *args) + | seh(self) -> seh_t + | + | set_cpp(self, *args) + | set_cpp(self) -> catchvec_t + | + | set_seh(self, *args) + | set_seh(self) -> seh_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | level + | tryblk_t_level_get(self) -> uchar + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tryblk_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class tryblks_t in module ida_tryblks: + +class tryblks_t(__builtin__.object) + | Proxy of C++ qvector< tryblk_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> tryblk_t + | + | __init__(self, *args) + | __init__(self) -> tryblks_t + | __init__(self, x) -> tryblks_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> tryblk_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> tryblk_t + | begin(self) -> tryblk_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> tryblk_t + | end(self) -> tryblk_t + | + | erase(self, *args) + | erase(self, it) -> tryblk_t + | erase(self, first, last) -> tryblk_t + | + | extract(self, *args) + | extract(self) -> tryblk_t + | + | find(self, *args) + | find(self, x) -> tryblk_t + | find(self, x) -> tryblk_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=tryblk_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> tryblk_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> tryblk_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tryblks_t(self) + +=== ida_tryblks EPYDOC INJECTIONS === +ida_tryblks.TBERR_EMPTY +""" +empty try block +""" + +ida_tryblks.TBERR_END +""" +bad end address +""" + +ida_tryblks.TBERR_INTERSECT +""" +range would intersect inner tryblk +""" + +ida_tryblks.TBERR_KIND +""" +illegal try block kind +""" + +ida_tryblks.TBERR_NO_CATCHES +""" +no catch blocks at all +""" + +ida_tryblks.TBERR_OK +""" +ok +""" + +ida_tryblks.TBERR_ORDER +""" +bad address order +""" + +ida_tryblks.TBERR_START +""" +bad start address +""" +=== ida_tryblks EPYDOC INJECTIONS END === +Help on function add_til in module ida_typeinf: + +add_til(*args) + add_til(name, flags) -> int + + + Load a til file. + + @param name: til name (C++: const char *) + @param flags: combination of Load TIL flags (C++: int) + @return: one of Load TIL result codes + +Help on function alloc_type_ordinal in module ida_typeinf: + +alloc_type_ordinal(*args) + alloc_type_ordinal(ti) -> uint32 + + + \call2{alloc_type_ordinals,ti,1} + + + @param ti (C++: til_t *) + +Help on function alloc_type_ordinals in module ida_typeinf: + +alloc_type_ordinals(*args) + alloc_type_ordinals(ti, qty) -> uint32 + + + Allocate a range of ordinal numbers for new types. + + @param ti: type library (C++: til_t *) + @param qty: number of ordinals to allocate (C++: int) + @return: the first ordinal. 0 means failure. + +Help on class aloc_visitor_t in module ida_typeinf: + +class aloc_visitor_t(__builtin__.object) + | Proxy of C++ aloc_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> aloc_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_location(self, *args) + | visit_location(self, v, off, size) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_aloc_visitor_t(self) + +Help on function append_abi_opts in module ida_typeinf: + +append_abi_opts(*args) + 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: - ABI options to add/remove in form opt1-opt2-... + (C++: const char *) + @param user_level: - initiated by user if TRUE (==SETCOMP_BY_USER) + (C++: bool) + @return: success + +Help on function append_argloc in module ida_typeinf: + +append_argloc(*args) + append_argloc(out, vloc) -> bool + + + Serialize argument location. + + + @param out (C++: qtype *) + @param vloc (C++: const argloc_t &) + +Help on function append_tinfo_covered in module ida_typeinf: + +append_tinfo_covered(*args) + append_tinfo_covered(out, typid, offset) -> bool + +Help on function apply_callee_tinfo in module ida_typeinf: + +apply_callee_tinfo(*args) + 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: linear address of the calling instruction. must belong + to a function. (C++: ea_t) + @param tif: type info (C++: const tinfo_t &) + @return: success + +Help on function apply_cdecl in module ida_typeinf: + +apply_cdecl(*args) + 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: type library (C++: til_t *) + @param ea: linear address (C++: ea_t) + @param decl: type declaration in C form (C++: const char *) + @param flags: flags to pass to apply_tinfo ( TINFO_DEFINITE is always + passed) (C++: int) + @return: success + +Help on function apply_named_type in module ida_typeinf: + +apply_named_type(*args) + apply_named_type(ea, name) -> bool + + + Apply the specified named type to the address. + + @param ea: linear address (C++: ea_t) + @param name: the type name, e.g. "FILE" (C++: const char *) + @return: success + +Help on function apply_once_tinfo_and_name in module ida_typeinf: + +apply_once_tinfo_and_name(*args) + 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 typedoes not exist or + the new type is 'better' than the old type, then thenew type will be + applied. A type is considered better if it has moreinformation (e.g. + 'BTMT_STRUCT' is better than 'BT_INT' ).The same logic is with the + name: if the address already have a meaningfulname, it will be + preserved. Only if the old name does not exist or itis a dummy name + like byte_123, it will be replaced by the new name. + + @param dea: linear address (C++: ea_t) + @param tif: type string in the internal format (C++: const tinfo_t + &) + @param name: new name for the address (C++: const char *) + @return: success + +Help on function apply_tinfo in module ida_typeinf: + +apply_tinfo(*args) + 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: linear address (C++: ea_t) + @param tif: type string in internal format (C++: const tinfo_t &) + @param flags: combination of Apply tinfo flags (C++: uint32) + @return: success + +Help on function apply_tinfo_to_stkarg in module ida_typeinf: + +apply_tinfo_to_stkarg(*args) + apply_tinfo_to_stkarg(insn, x, v, tif, name) -> bool + + + Helper function for the processor modules. to be called from + \ph{use_stkarg_type} + + @param insn (C++: const insn_t &) + @param x (C++: const op_t &) + @param v (C++: uval_t) + @param tif (C++: const tinfo_t &) + @param name (C++: const char *) + +Help on function apply_type in module ida_typeinf: + +apply_type(*args) + 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 py_type: type string + @param py_fields: fields string (may be empty or None) + @param ea: the address of the object + @param flags: combination of TINFO_... constants or 0 + @return: Boolean + +Help on class argloc_t in module ida_typeinf: + +class argloc_t(__builtin__.object) + | Proxy of C++ argloc_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> argloc_t + | __init__(self, r) -> argloc_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _consume_rrel(self, *args) + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) + | _set_badloc(self) + | + | _set_biggest(self, *args) + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) + | _set_ea(self, _ea) + | + | _set_reg1(self, *args) + | _set_reg1(self, reg, off=0) + | + | _set_reg2(self, *args) + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) + | _set_stkoff(self, off) + | + | advance(self, *args) + | advance(self, delta) -> bool + | + | atype(self, *args) + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) + | calc_offset(self) -> sval_t + | + | compare(self, *args) + | compare(self, r) -> int + | + | consume_rrel(self, *args) + | consume_rrel(self, p) + | + | consume_scattered(self, *args) + | consume_scattered(self, p) + | + | get_biggest(self, *args) + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) + | get_custom(self) -> void * + | + | get_ea(self, *args) + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) + | has_reg(self) -> bool + | + | has_stkoff(self, *args) + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) + | is_badloc(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_ea(self, *args) + | is_ea(self) -> bool + | + | is_fragmented(self, *args) + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_rrel(self, *args) + | is_rrel(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) + | justify_stkoff_right(self, size, _slotsize) + | + | reg1(self, *args) + | reg1(self) -> int + | + | reg2(self, *args) + | reg2(self) -> int + | + | regoff(self, *args) + | regoff(self) -> int + | + | scattered(self, *args) + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) + | set_badloc(self) + | + | set_ea(self, *args) + | set_ea(self, _ea) + | + | set_reg1(self, *args) + | set_reg1(self, reg, off=0) + | + | set_reg2(self, *args) + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) + | set_stkoff(self, off) + | + | stkoff(self, *args) + | stkoff(self) -> sval_t + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_argloc_t(self) + +Help on class argpart_t in module ida_typeinf: + +class argpart_t(argloc_t) + | Proxy of C++ argpart_t class. + | + | Method resolution order: + | argpart_t + | argloc_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, a) -> argpart_t + | __init__(self) -> argpart_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | bad_offset(self, *args) + | bad_offset(self) -> bool + | + | bad_size(self, *args) + | bad_size(self) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | off + | argpart_t_off_get(self) -> ushort + | + | size + | argpart_t_size_get(self) -> ushort + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_argpart_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from argloc_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _consume_rrel(self, *args) + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) + | _set_badloc(self) + | + | _set_biggest(self, *args) + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) + | _set_ea(self, _ea) + | + | _set_reg1(self, *args) + | _set_reg1(self, reg, off=0) + | + | _set_reg2(self, *args) + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) + | _set_stkoff(self, off) + | + | advance(self, *args) + | advance(self, delta) -> bool + | + | atype(self, *args) + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) + | calc_offset(self) -> sval_t + | + | compare(self, *args) + | compare(self, r) -> int + | + | consume_rrel(self, *args) + | consume_rrel(self, p) + | + | consume_scattered(self, *args) + | consume_scattered(self, p) + | + | get_biggest(self, *args) + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) + | get_custom(self) -> void * + | + | get_ea(self, *args) + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) + | has_reg(self) -> bool + | + | has_stkoff(self, *args) + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) + | is_badloc(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_ea(self, *args) + | is_ea(self) -> bool + | + | is_fragmented(self, *args) + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_rrel(self, *args) + | is_rrel(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) + | justify_stkoff_right(self, size, _slotsize) + | + | reg1(self, *args) + | reg1(self) -> int + | + | reg2(self, *args) + | reg2(self) -> int + | + | regoff(self, *args) + | regoff(self) -> int + | + | scattered(self, *args) + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) + | set_badloc(self) + | + | set_ea(self, *args) + | set_ea(self, _ea) + | + | set_reg1(self, *args) + | set_reg1(self, reg, off=0) + | + | set_reg2(self, *args) + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) + | set_stkoff(self, off) + | + | stkoff(self, *args) + | stkoff(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class argpartvec_t in module ida_typeinf: + +class argpartvec_t(__builtin__.object) + | Proxy of C++ qvector< argpart_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> argpart_t + | + | __init__(self, *args) + | __init__(self) -> argpartvec_t + | __init__(self, x) -> argpartvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> argpart_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> argpart_t + | begin(self) -> argpart_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> argpart_t + | end(self) -> argpart_t + | + | erase(self, *args) + | erase(self, it) -> argpart_t + | erase(self, first, last) -> argpart_t + | + | extract(self, *args) + | extract(self) -> argpart_t + | + | find(self, *args) + | find(self, x) -> argpart_t + | find(self, x) -> argpart_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=argpart_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> argpart_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> argpart_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_argpartvec_t(self) + +Help on class array_type_data_t in module ida_typeinf: + +class array_type_data_t(__builtin__.object) + | Proxy of C++ array_type_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, b=0, n=0) -> array_type_data_t + | + | __repr__ = _swig_repr(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | array_type_data_t_base_get(self) -> uint32 + | + | elem_type + | array_type_data_t_elem_type_get(self) -> tinfo_t + | + | nelems + | array_type_data_t_nelems_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_array_type_data_t(self) + +Help on function begin_type_updating in module ida_typeinf: + +begin_type_updating(*args) + 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) + +Help on class bitfield_type_data_t in module ida_typeinf: + +class bitfield_type_data_t(__builtin__.object) + | Proxy of C++ bitfield_type_data_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _nbytes=0, _width=0, _is_unsigned=False) -> bitfield_type_data_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | is_unsigned + | bitfield_type_data_t_is_unsigned_get(self) -> bool + | + | nbytes + | bitfield_type_data_t_nbytes_get(self) -> uchar + | + | thisown + | The membership flag + | + | width + | bitfield_type_data_t_width_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bitfield_type_data_t(self) + +Help on function calc_c_cpp_name in module ida_typeinf: + +calc_c_cpp_name(*args) + calc_c_cpp_name(name, type, ccn_flags) -> str + + + Get C or C++ form of the name. + + @param name: original (mangled or decorated) name (C++: const char *) + @param type: name type if known, otherwise NULL (C++: const tinfo_t + *) + @param ccn_flags: one of C/C++ naming flags (C++: int) + +Help on function calc_number_of_children in module ida_typeinf: + +calc_number_of_children(*args) + 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: location of the data ( ALOC_STATIC or ALOC_CUSTOM ) + (C++: const argloc_t &) + @param tif: type info (C++: const tinfo_t &) + @param dont_deref_ptr: consider 'ea' as the ptr value (C++: bool) + +Help on function calc_tinfo_gaps in module ida_typeinf: + +calc_tinfo_gaps(*args) + calc_tinfo_gaps(out, typid) -> bool + +Help on function calc_type_size in module ida_typeinf: + +calc_type_size(*args) + calc_type_size(ti, tp) -> PyObject * + + + Returns the size of a type + @param ti: Type info. 'None' can be passed. + @param tp: type string + @return: + - None on failure + - The size of the type + +Help on class callregs_t in module ida_typeinf: + +class callregs_t(__builtin__.object) + | Proxy of C++ callregs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> callregs_t + | __init__(self, cc) -> callregs_t + | + | __repr__ = _swig_repr(self) + | + | init_regs(self, *args) + | init_regs(self, cc) + | + | reginds(self, *args) + | reginds(self, gp_ind, fp_ind, r) -> bool + | + | reset(self, *args) + | reset(self) + | + | set(self, *args) + | set(self, _policy, gprs, fprs) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | regcount(*args) + | regcount(cc) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fpregs + | callregs_t_fpregs_get(self) -> intvec_t * + | + | gpregs + | callregs_t_gpregs_get(self) -> intvec_t * + | + | nregs + | callregs_t_nregs_get(self) -> int + | + | policy + | callregs_t_policy_get(self) -> argreg_policy_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_callregs_t(self) + +Help on function callregs_t_regcount in module ida_typeinf: + +callregs_t_regcount(*args) + callregs_t_regcount(cc) -> int + +Help on function choose_local_tinfo in module ida_typeinf: + +choose_local_tinfo(*args) + choose_local_tinfo(ti, title, func=None, def_ord=0, ud=None) -> uint32 + + + Choose a type from the local type library. + + @param ti: pointer to til (C++: const til_t *) + @param title: title of listbox to display (C++: const char *) + @param func: predicate to select types to display (maybe NULL) (C++: + local_tinfo_predicate_t *) + @param def_ord: ordinal to position cursor before choose (C++: uint32) + @param ud: user data (C++: void *) + @return: == 0 means nothing is chosen, otherwise an ordinal number + +Help on function choose_local_tinfo_and_delta in module ida_typeinf: + +choose_local_tinfo_and_delta(*args) + 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: pointer shift value (C++: int32 *) + @param ti: pointer to til (C++: const til_t *) + @param title: title of listbox to display (C++: const char *) + @param func: predicate to select types to display (maybe NULL) (C++: + local_tinfo_predicate_t *) + @param def_ord: ordinal to position cursor before choose (C++: uint32) + @param ud: user data (C++: void *) + @return: == 0 means nothing is chosen, otherwise an ordinal number + +Help on function choose_named_type in module ida_typeinf: + +choose_named_type(*args) + choose_named_type(out_sym, root_til, title, ntf_flags, predicate=None) -> bool + + + Choose a type from a type library. + + @param out_sym: pointer to be filled with the chosen type (C++: + til_symbol_t *) + @param root_til: pointer to starting til (the function will inspect + the base tils if allowed by flags) (C++: const til_t + *) + @param title: title of listbox to display (C++: const char *) + @param ntf_flags: combination of Flags for named types (C++: int) + @param predicate: predicate to select types to display (maybe NULL) + (C++: predicate_t *) + @return: false if nothing is chosen, otherwise true + +Help on function clear_tinfo_t in module ida_typeinf: + +clear_tinfo_t(*args) + clear_tinfo_t(_this) + +Help on function compact_til in module ida_typeinf: + +compact_til(*args) + 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 + +Help on function compare_tinfo in module ida_typeinf: + +compare_tinfo(*args) + compare_tinfo(t1, t2, tcflags) -> bool + +Help on class const_aloc_visitor_t in module ida_typeinf: + +class const_aloc_visitor_t(__builtin__.object) + | Proxy of C++ const_aloc_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> const_aloc_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_location(self, *args) + | visit_location(self, v, off, size) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_const_aloc_visitor_t(self) + +Help on function convert_pt_flags_to_hti in module ida_typeinf: + +convert_pt_flags_to_hti(*args) + 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) + +Help on function copy_named_type in module ida_typeinf: + +copy_named_type(*args) + 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: Destination til. It must have orginal types enabled + (C++: til_t *) + @param srctil: Source til. (C++: const til_t *) + @param name: name of the type to copy (C++: const char *) + @return: ordinal number of the copied type. 0 means error + +Help on function copy_tinfo_t in module ida_typeinf: + +copy_tinfo_t(*args) + copy_tinfo_t(_this, r) + +Help on function create_numbered_type_name in module ida_typeinf: + +create_numbered_type_name(*args) + 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) + +Help on function create_tinfo in module ida_typeinf: + +create_tinfo(*args) + create_tinfo(_this, bt, bt2, ptr) -> bool + +Help on function default_compiler in module ida_typeinf: + +default_compiler(*args) + default_compiler() -> comp_t + + + Get compiler specified by \varmem{inf,idainfo,cc}. + +Help on function del_named_type in module ida_typeinf: + +del_named_type(*args) + del_named_type(ti, name, ntf_flags) -> bool + + + Delete information about a symbol. + + @param ti: type library (C++: til_t *) + @param name: name of symbol (C++: const char *) + @param ntf_flags: combination of Flags for named types (C++: int) + @return: success + +Help on function del_numbered_type in module ida_typeinf: + +del_numbered_type(*args) + del_numbered_type(ti, ordinal) -> bool + + + Delete a numbered type. + + + @param ti (C++: til_t *) + @param ordinal (C++: uint32) + +Help on function del_til in module ida_typeinf: + +del_til(*args) + del_til(name) -> bool + + + Unload a til file. + + + @param name (C++: const char *) + +Help on function del_tinfo_attr in module ida_typeinf: + +del_tinfo_attr(*args) + del_tinfo_attr(tif, key, make_copy) -> bool + +Help on function deref_ptr in module ida_typeinf: + +deref_ptr(*args) + deref_ptr(ptr_ea, tif, closure_obj=None) -> bool + + + Dereference a pointer. + + @param ptr_ea: in/out parameter in: address of the pointer out: + the pointed address (C++: ea_t *) + @param tif: type of the pointer (C++: const tinfo_t &) + @param closure_obj: closure object (not used yet) (C++: ea_t *) + @return: success + +Help on function deserialize_tinfo in module ida_typeinf: + +deserialize_tinfo(*args) + deserialize_tinfo(tif, til, ptype, pfields, pfldcmts) -> bool + +Help on function dstr_tinfo in module ida_typeinf: + +dstr_tinfo(*args) + dstr_tinfo(tif) -> char const * + +Help on function dump_func_type_data in module ida_typeinf: + +dump_func_type_data(*args) + dump_func_type_data(fti, praloc_bits) -> str + + + Use 'func_type_data_t::dump()' + + + @param fti (C++: const func_type_data_t &) + @param praloc_bits (C++: int) + +Help on function end_type_updating in module ida_typeinf: + +end_type_updating(*args) + 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) + +Help on class enum_member_t in module ida_typeinf: + +class enum_member_t(__builtin__.object) + | Proxy of C++ enum_member_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> enum_member_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | enum_member_t_cmt_get(self) -> qstring * + | + | name + | enum_member_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | enum_member_t_value_get(self) -> uint64 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enum_member_t(self) + +Help on class enum_member_vec_t in module ida_typeinf: + +class enum_member_vec_t(__builtin__.object) + | Proxy of C++ qvector< enum_member_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> enum_member_t + | + | __init__(self, *args) + | __init__(self) -> enum_member_vec_t + | __init__(self, x) -> enum_member_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> enum_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> enum_member_t + | begin(self) -> enum_member_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> enum_member_t + | end(self) -> enum_member_t + | + | erase(self, *args) + | erase(self, it) -> enum_member_t + | erase(self, first, last) -> enum_member_t + | + | extract(self, *args) + | extract(self) -> enum_member_t + | + | find(self, *args) + | find(self, x) -> enum_member_t + | find(self, x) -> enum_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=enum_member_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> enum_member_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> enum_member_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enum_member_vec_t(self) + +Help on class enum_type_data_t in module ida_typeinf: + +class enum_type_data_t(enum_member_vec_t) + | Proxy of C++ enum_type_data_t class. + | + | Method resolution order: + | enum_type_data_t + | enum_member_vec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _bte=BTE_ALWAYS|BTE_HEX) -> enum_type_data_t + | + | __repr__ = _swig_repr(self) + | + | calc_mask(self, *args) + | calc_mask(self) -> uint64 + | + | calc_nbytes(self, *args) + | calc_nbytes(self) -> int + | + | is_64bit(self, *args) + | is_64bit(self) -> bool + | + | is_char(self, *args) + | is_char(self) -> bool + | + | is_hex(self, *args) + | is_hex(self) -> bool + | + | is_sdec(self, *args) + | is_sdec(self) -> bool + | + | is_udec(self, *args) + | is_udec(self) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bte + | enum_type_data_t_bte_get(self) -> bte_t + | + | group_sizes + | enum_type_data_t_group_sizes_get(self) -> intvec_t * + | + | taenum_bits + | enum_type_data_t_taenum_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enum_type_data_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from enum_member_vec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> enum_member_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> enum_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> enum_member_t + | begin(self) -> enum_member_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> enum_member_t + | end(self) -> enum_member_t + | + | erase(self, *args) + | erase(self, it) -> enum_member_t + | erase(self, first, last) -> enum_member_t + | + | extract(self, *args) + | extract(self) -> enum_member_t + | + | find(self, *args) + | find(self, x) -> enum_member_t + | find(self, x) -> enum_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=enum_member_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> enum_member_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> enum_member_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from enum_member_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function extract_argloc in module ida_typeinf: + +extract_argloc(*args) + extract_argloc(vloc, ptype, is_retval) -> bool + + + Deserialize argument location. + + + @param vloc (C++: argloc_t *) + @param ptype (C++: const type_t **) + @param is_retval (C++: bool) + +Help on function find_tinfo_udt_member in module ida_typeinf: + +find_tinfo_udt_member(*args) + find_tinfo_udt_member(udm, typid, strmem_flags) -> int + +Help on function first_named_type in module ida_typeinf: + +first_named_type(*args) + first_named_type(ti, ntf_flags) -> char const * + + + Enumerate types. Returns mangled names. Never returns anonymous types. + To include it, enumerate types by ordinals. + + @param ti (C++: const til_t *) + @param ntf_flags (C++: int) + +Help on function for_all_arglocs in module ida_typeinf: + +for_all_arglocs(*args) + 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) + +Help on function for_all_const_arglocs in module ida_typeinf: + +for_all_const_arglocs(*args) + 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 &) + @param size (C++: int) + @param off (C++: int) + +Help on function free_til in module ida_typeinf: + +free_til(*args) + free_til(ti) + + + Free memory allocated by til. + + + @param ti (C++: til_t *) + +Help on function func_has_stkframe_hole in module ida_typeinf: + +func_has_stkframe_hole(*args) + 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 &) + +Help on class func_type_data_t in module ida_typeinf: + +class func_type_data_t(funcargvec_t) + | Proxy of C++ func_type_data_t class. + | + | Method resolution order: + | func_type_data_t + | funcargvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_type_data_t + | + | __repr__ = _swig_repr(self) + | + | dump(self, *args) + | dump(self, praloc_bits=0x02) -> bool + | + | get_call_method(self, *args) + | get_call_method(self) -> int + | + | guess_cc(self, *args) + | guess_cc(self, purged, cc_flags) -> cm_t + | + | is_high(self, *args) + | is_high(self) -> bool + | + | is_noret(self, *args) + | is_noret(self) -> bool + | + | is_pure(self, *args) + | is_pure(self) -> bool + | + | is_vararg_cc(self, *args) + | is_vararg_cc(self) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cc + | func_type_data_t_cc_get(self) -> cm_t + | + | flags + | func_type_data_t_flags_get(self) -> int + | + | retloc + | func_type_data_t_retloc_get(self) -> argloc_t + | + | rettype + | func_type_data_t_rettype_get(self) -> tinfo_t + | + | spoiled + | func_type_data_t_spoiled_get(self) -> reginfovec_t + | + | stkargs + | func_type_data_t_stkargs_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_type_data_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from funcargvec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> funcarg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> funcarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> funcarg_t + | begin(self) -> funcarg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> funcarg_t + | end(self) -> funcarg_t + | + | erase(self, *args) + | erase(self, it) -> funcarg_t + | erase(self, first, last) -> funcarg_t + | + | extract(self, *args) + | extract(self) -> funcarg_t + | + | find(self, *args) + | find(self, x) -> funcarg_t + | find(self, x) -> funcarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=funcarg_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> funcarg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> funcarg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from funcargvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class funcarg_t in module ida_typeinf: + +class funcarg_t(__builtin__.object) + | Proxy of C++ funcarg_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> funcarg_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argloc + | funcarg_t_argloc_get(self) -> argloc_t + | + | cmt + | funcarg_t_cmt_get(self) -> qstring * + | + | flags + | funcarg_t_flags_get(self) -> uint32 + | + | name + | funcarg_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | funcarg_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_funcarg_t(self) + +Help on class funcargvec_t in module ida_typeinf: + +class funcargvec_t(__builtin__.object) + | Proxy of C++ qvector< funcarg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> funcarg_t + | + | __init__(self, *args) + | __init__(self) -> funcargvec_t + | __init__(self, x) -> funcargvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> funcarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> funcarg_t + | begin(self) -> funcarg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> funcarg_t + | end(self) -> funcarg_t + | + | erase(self, *args) + | erase(self, it) -> funcarg_t + | erase(self, first, last) -> funcarg_t + | + | extract(self, *args) + | extract(self) -> funcarg_t + | + | find(self, *args) + | find(self, x) -> funcarg_t + | find(self, x) -> funcarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=funcarg_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> funcarg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> funcarg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_funcargvec_t(self) + +Help on function gcc_layout in module ida_typeinf: + +gcc_layout(*args) + gcc_layout() -> bool + + + Should use the struct/union layout as done by gcc? + +Help on function gen_decorate_name in module ida_typeinf: + +gen_decorate_name(*args) + gen_decorate_name(name, mangle, cc, type) -> str + + + Generic function for 'decorate_name()' (may be used in IDP modules) + + + @param name (C++: const char *) + @param mangle (C++: bool) + @param cc (C++: cm_t) + @param type (C++: const tinfo_t *) + +Help on function gen_use_arg_tinfos in module ida_typeinf: + +gen_use_arg_tinfos(*args) + gen_use_arg_tinfos(caller, fti, rargs, set_optype, is_stkarg_load, has_delay_slot) + + + The main function using these callbacks: + + + @param caller (C++: ea_t) + @param fti (C++: func_type_data_t *) + @param rargs (C++: funcargvec_t *) + @param set_optype (C++: set_op_tinfo_t *) + @param is_stkarg_load (C++: is_stkarg_load_t *) + @param has_delay_slot (C++: has_delay_slot_t *) + +Help on function get_abi_name in module ida_typeinf: + +get_abi_name(*args) + get_abi_name() -> str + + + Get ABI name. + + @return: length of the name (>=0) + +Help on function get_alias_target in module ida_typeinf: + +get_alias_target(*args) + 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 *) + @param ordinal (C++: uint32) + +Help on function get_arg_addrs in module ida_typeinf: + +get_arg_addrs(*args) + get_arg_addrs(caller) -> PyObject * + + + Retrieve addresses of argument initialization instructions + + @param caller: the address of the call instruction + @return: list of instruction addresses + +Help on function get_base_type in module ida_typeinf: + +get_base_type(*args) + get_base_type(t) -> type_t + + + Get get basic type bits ( 'TYPE_BASE_MASK' ) + + + @param t (C++: type_t) + +Help on function get_c_header_path in module ida_typeinf: + +get_c_header_path(*args) + get_c_header_path() -> str + + + Get the include directory path of the target compiler. + +Help on function get_c_macros in module ida_typeinf: + +get_c_macros(*args) + get_c_macros() -> str + + + Get predefined macros for the target compiler. + +Help on function get_comp in module ida_typeinf: + +get_comp(*args) + get_comp(comp) -> comp_t + + + Get compiler bits. + + + @param comp (C++: comp_t) + +Help on function get_compiler_abbr in module ida_typeinf: + +get_compiler_abbr(*args) + get_compiler_abbr(id) -> char const * + + + Get abbreviated compiler name. + + + @param id (C++: comp_t) + +Help on function get_compiler_name in module ida_typeinf: + +get_compiler_name(*args) + get_compiler_name(id) -> char const * + + + Get full compiler name. + + + @param id (C++: comp_t) + +Help on function get_compilers in module ida_typeinf: + +get_compilers(*args) + 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 *) + +Help on function get_enum_member_expr in module ida_typeinf: + +get_enum_member_expr(*args) + 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: enumeration type (C++: const tinfo_t &) + @param serial: which enumeration member to use (0 means the first with + the given value) (C++: int) + @param value: value to search in the enumeration type. only 32-bit + number can be handled yet (C++: uint64) + @return: success + +Help on function get_full_type in module ida_typeinf: + +get_full_type(*args) + get_full_type(t) -> type_t + + + Get basic type bits + type flags ( 'TYPE_FULL_MASK' ) + + + @param t (C++: type_t) + +Help on function get_idainfo_by_type in module ida_typeinf: + +get_idainfo_by_type(*args) + get_idainfo_by_type(tif) -> bool + + + Extract information from a 'tinfo_t' . + + @param tif: the type to inspect (C++: const tinfo_t &) + +Help on function get_idati in module ida_typeinf: + +get_idati(*args) + get_idati() -> til_t + + + Pointer to the local type library - this til is private for each IDB + file Function that accepts til_t* uses local type library instead of + NULL. + +Help on function get_named_type in module ida_typeinf: + +get_named_type(*args) + get_named_type(til, name, ntf_flags) -> PyObject * + + + 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 + +Help on function get_named_type64 in module ida_typeinf: + +get_named_type64(*args) + get_named_type64(til, name, ntf_flags) -> PyObject * + + + See 'get_named_type()' above.If the value in the 'ti' library is + 32-bit, it will be sign-extended before being stored in the 'value' + pointer. + + @param name (C++: const char *) + @param ntf_flags (C++: int) + +Help on function get_numbered_type in module ida_typeinf: + +get_numbered_type(*args) + get_numbered_type(til, ordinal) -> PyObject * + + + Retrieve a type by its ordinal number. + + + @param ordinal (C++: uint32) + +Help on function get_numbered_type_name in module ida_typeinf: + +get_numbered_type_name(*args) + 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 NULL + + @param ti (C++: const til_t *) + @param ordinal (C++: uint32) + +Help on function get_ordinal_from_idb_type in module ida_typeinf: + +get_ordinal_from_idb_type(*args) + get_ordinal_from_idb_type(name, type) -> int + + + Get ordinal number of an idb type (struct/enum). The 'type' parameter + is used only to determine the kind of the type (struct or enum) Use + this function to find out the correspondence between idb types and til + types + + @param name (C++: const char *) + @param type (C++: const type_t *) + +Help on function get_ordinal_qty in module ida_typeinf: + +get_ordinal_qty(*args) + get_ordinal_qty(ti) -> uint32 + + + Get number of allocated ordinals. + + @param ti (C++: const til_t *) + @return: uint32(-1) if failed + +Help on function get_scalar_bt in module ida_typeinf: + +get_scalar_bt(*args) + get_scalar_bt(size) -> type_t + +Help on function get_stock_tinfo in module ida_typeinf: + +get_stock_tinfo(*args) + get_stock_tinfo(tif, id) -> bool + +Help on function get_tinfo_attr in module ida_typeinf: + +get_tinfo_attr(*args) + get_tinfo_attr(typid, key, bv, all_attrs) -> bool + +Help on function get_tinfo_attrs in module ida_typeinf: + +get_tinfo_attrs(*args) + get_tinfo_attrs(typid, tav, include_ref_attrs) -> bool + +Help on function get_tinfo_details in module ida_typeinf: + +get_tinfo_details(*args) + get_tinfo_details(typid, bt2, buf) -> bool + +Help on function get_tinfo_pdata in module ida_typeinf: + +get_tinfo_pdata(*args) + get_tinfo_pdata(outptr, typid, what) -> size_t + +Help on function get_tinfo_property in module ida_typeinf: + +get_tinfo_property(*args) + get_tinfo_property(typid, gta_prop) -> size_t + +Help on function get_tinfo_size in module ida_typeinf: + +get_tinfo_size(*args) + get_tinfo_size(p_effalign, typid, gts_code) -> size_t + +Help on function get_type_flags in module ida_typeinf: + +get_type_flags(*args) + get_type_flags(t) -> type_t + + + Get type flags ( 'TYPE_FLAGS_MASK' ) + + + @param t (C++: type_t) + +Help on function get_type_ordinal in module ida_typeinf: + +get_type_ordinal(*args) + get_type_ordinal(ti, name) -> int32 + + + Get type ordinal by its name. + + + @param ti (C++: const til_t *) + @param name (C++: const char *) + +Help on function guess_func_cc in module ida_typeinf: + +guess_func_cc(*args) + guess_func_cc(fti, npurged, cc_flags) -> cm_t + + + Use 'func_type_data_t::guess_cc()' + + + @param fti (C++: const func_type_data_t &) + @param npurged (C++: int) + @param cc_flags (C++: int) + +Help on function guess_tinfo in module ida_typeinf: + +guess_tinfo(*args) + guess_tinfo(tif, id) -> int + + + Generate a type information about the id from the disassembly. id can + be a structure/union/enum id or an address. + + @param tif (C++: tinfo_t *) + @param id (C++: tid_t) + @return: one of Guess tinfo codes + +Help on class ida_lowertype_helper_t in module ida_typeinf: + +class ida_lowertype_helper_t(lowertype_helper_t) + | Proxy of C++ ida_lowertype_helper_t class. + | + | Method resolution order: + | ida_lowertype_helper_t + | lowertype_helper_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _tif, _ea, _pb) -> ida_lowertype_helper_t + | + | __repr__ = _swig_repr(self) + | + | func_has_stkframe_hole(self, *args) + | func_has_stkframe_hole(self, candidate, candidate_data) -> bool + | + | get_func_purged_bytes(self, *args) + | get_func_purged_bytes(self, candidate, arg3) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ida_lowertype_helper_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from lowertype_helper_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function idc_get_local_type in module ida_typeinf: + +idc_get_local_type(*args) + idc_get_local_type(ordinal, flags, buf, maxsize) -> int + +Help on function idc_get_local_type_name in module ida_typeinf: + +idc_get_local_type_name(*args) + idc_get_local_type_name(ordinal) -> str + +Help on function idc_get_local_type_raw in module ida_typeinf: + +idc_get_local_type_raw(*args) + idc_get_local_type_raw(ordinal) -> PyObject * + +Help on function idc_get_type in module ida_typeinf: + +idc_get_type(*args) + idc_get_type(ea) -> str + +Help on function idc_get_type_raw in module ida_typeinf: + +idc_get_type_raw(*args) + idc_get_type_raw(ea) -> PyObject * + +Help on function idc_guess_type in module ida_typeinf: + +idc_guess_type(*args) + idc_guess_type(ea) -> str + +Help on function idc_parse_decl in module ida_typeinf: + +idc_parse_decl(*args) + idc_parse_decl(ti, decl, flags) -> PyObject * + +Help on function idc_parse_types in module ida_typeinf: + +idc_parse_types(*args) + idc_parse_types(input, flags) -> int + +Help on function idc_print_type in module ida_typeinf: + +idc_print_type(*args) + idc_print_type(_type, _fields, name, flags) -> PyObject * + +Help on function idc_set_local_type in module ida_typeinf: + +idc_set_local_type(*args) + idc_set_local_type(ordinal, dcl, flags) -> int + +Help on function import_type in module ida_typeinf: + +import_type(*args) + import_type(til, idx, name, flags=0) -> tid_t + + + Copy a named type from til to idb. + + @param til: type library (C++: const til_t *) + @param idx: the position of the new type in the list of types + (structures or enums). -1 means at the end of the list + (C++: int) + @param name: the type name (C++: const char *) + @param flags: combination of Import type flags (C++: int) + @return: BADNODE on error + +Help on function is_autosync in module ida_typeinf: + +is_autosync(*args) + is_autosync(name, type) -> bool + is_autosync(name, tif) -> bool + + + Is the specified idb type automatically synchronized? + + + @param name (C++: const char *) + @param type (C++: const type_t *) + +Help on function is_code_far in module ida_typeinf: + +is_code_far(*args) + is_code_far(cm) -> bool + + + Does the given model specify far code?. + + + @param cm (C++: cm_t) + +Help on function is_comp_unsure in module ida_typeinf: + +is_comp_unsure(*args) + is_comp_unsure(comp) -> comp_t + + + See 'COMP_UNSURE' . + + + @param comp (C++: comp_t) + +Help on function is_data_far in module ida_typeinf: + +is_data_far(*args) + is_data_far(cm) -> bool + + + Does the given model specify far data?. + + + @param cm (C++: cm_t) + +Help on function is_gcc in module ida_typeinf: + +is_gcc(*args) + is_gcc() -> bool + + + Is the target compiler 'COMP_GNU' ? + +Help on function is_gcc32 in module ida_typeinf: + +is_gcc32(*args) + is_gcc32() -> bool + + + Is the target compiler 32 bit gcc? + +Help on function is_gcc64 in module ida_typeinf: + +is_gcc64(*args) + is_gcc64() -> bool + + + Is the target compiler 64 bit gcc? + +Help on function is_ordinal_name in module ida_typeinf: + +is_ordinal_name(*args) + 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 *) + @param ord (C++: uint32 *) + +Help on function is_purging_cc in module ida_typeinf: + +is_purging_cc(*args) + is_purging_cc(cm) -> bool + + + Does the calling convention clean the stack arguments upon + return?.this function is valid only for x86 code + + @param cm (C++: cm_t) + +Help on function is_restype_enum in module ida_typeinf: + +is_restype_enum(*args) + is_restype_enum(til, type) -> bool + +Help on function is_restype_struct in module ida_typeinf: + +is_restype_struct(*args) + is_restype_struct(til, type) -> bool + +Help on function is_restype_struni in module ida_typeinf: + +is_restype_struni(*args) + is_restype_struni(til, type) -> bool + +Help on function is_restype_void in module ida_typeinf: + +is_restype_void(*args) + is_restype_void(til, type) -> bool + +Help on function is_sdacl_byte in module ida_typeinf: + +is_sdacl_byte(*args) + 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) + +Help on function is_tah_byte in module ida_typeinf: + +is_tah_byte(*args) + 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) + +Help on function is_type_arithmetic in module ida_typeinf: + +is_type_arithmetic(*args) + is_type_arithmetic(t) -> bool + + + Is the type an arithmetic type? (floating or integral) + + + @param t (C++: type_t) + +Help on function is_type_array in module ida_typeinf: + +is_type_array(*args) + is_type_array(t) -> bool + + + See 'BT_ARRAY' . + + + @param t (C++: type_t) + +Help on function is_type_bitfld in module ida_typeinf: + +is_type_bitfld(*args) + is_type_bitfld(t) -> bool + + + See 'BT_BITFIELD' . + + + @param t (C++: type_t) + +Help on function is_type_bool in module ida_typeinf: + +is_type_bool(*args) + is_type_bool(t) -> bool + + + See 'BTF_BOOL' . + + + @param t (C++: type_t) + +Help on function is_type_char in module ida_typeinf: + +is_type_char(*args) + is_type_char(t) -> bool + + + Does the type specify a char value? (signed or unsigned, see 'Basic + type: integer' ) + + + @param t (C++: type_t) + +Help on function is_type_complex in module ida_typeinf: + +is_type_complex(*args) + is_type_complex(t) -> bool + + + See 'BT_COMPLEX' . + + + @param t (C++: type_t) + +Help on function is_type_const in module ida_typeinf: + +is_type_const(*args) + is_type_const(t) -> bool + + + See 'BTM_CONST' . + + + @param t (C++: type_t) + +Help on function is_type_double in module ida_typeinf: + +is_type_double(*args) + is_type_double(t) -> bool + + + See 'BTF_DOUBLE' . + + + @param t (C++: type_t) + +Help on function is_type_enum in module ida_typeinf: + +is_type_enum(*args) + is_type_enum(t) -> bool + + + See 'BTF_ENUM' . + + + @param t (C++: type_t) + +Help on function is_type_ext_arithmetic in module ida_typeinf: + +is_type_ext_arithmetic(*args) + is_type_ext_arithmetic(t) -> bool + + + Is the type an extended arithmetic type? (arithmetic or enum) + + + @param t (C++: type_t) + +Help on function is_type_ext_integral in module ida_typeinf: + +is_type_ext_integral(*args) + is_type_ext_integral(t) -> bool + + + Is the type an extended integral type? (integral or enum) + + + @param t (C++: type_t) + +Help on function is_type_float in module ida_typeinf: + +is_type_float(*args) + is_type_float(t) -> bool + + + See 'BTF_FLOAT' . + + + @param t (C++: type_t) + +Help on function is_type_floating in module ida_typeinf: + +is_type_floating(*args) + is_type_floating(t) -> bool + + + Is the type a floating point type? + + + @param t (C++: type_t) + +Help on function is_type_func in module ida_typeinf: + +is_type_func(*args) + is_type_func(t) -> bool + + + See 'BT_FUNC' . + + + @param t (C++: type_t) + +Help on function is_type_int in module ida_typeinf: + +is_type_int(*args) + is_type_int(bt) -> bool + + + Does the type_t specify one of the basic types in 'Basic type: + integer' ? + + + @param bt (C++: type_t) + +Help on function is_type_int128 in module ida_typeinf: + +is_type_int128(*args) + 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) + +Help on function is_type_int16 in module ida_typeinf: + +is_type_int16(*args) + 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) + +Help on function is_type_int32 in module ida_typeinf: + +is_type_int32(*args) + 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) + +Help on function is_type_int64 in module ida_typeinf: + +is_type_int64(*args) + 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) + +Help on function is_type_integral in module ida_typeinf: + +is_type_integral(*args) + is_type_integral(t) -> bool + + + Is the type an integral type (char/short/int/long/bool)? + + + @param t (C++: type_t) + +Help on function is_type_ldouble in module ida_typeinf: + +is_type_ldouble(*args) + is_type_ldouble(t) -> bool + + + See 'BTF_LDOUBLE' . + + + @param t (C++: type_t) + +Help on function is_type_paf in module ida_typeinf: + +is_type_paf(*args) + is_type_paf(t) -> bool + + + Is the type a pointer, array, or function type? + + + @param t (C++: type_t) + +Help on function is_type_partial in module ida_typeinf: + +is_type_partial(*args) + 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) + +Help on function is_type_ptr in module ida_typeinf: + +is_type_ptr(*args) + is_type_ptr(t) -> bool + + + See 'BT_PTR' . + + + @param t (C++: type_t) + +Help on function is_type_ptr_or_array in module ida_typeinf: + +is_type_ptr_or_array(*args) + is_type_ptr_or_array(t) -> bool + + + Is the type a pointer or array type? + + + @param t (C++: type_t) + +Help on function is_type_struct in module ida_typeinf: + +is_type_struct(*args) + is_type_struct(t) -> bool + + + See 'BTF_STRUCT' . + + + @param t (C++: type_t) + +Help on function is_type_struni in module ida_typeinf: + +is_type_struni(*args) + is_type_struni(t) -> bool + + + Is the type a struct or union? + + + @param t (C++: type_t) + +Help on function is_type_sue in module ida_typeinf: + +is_type_sue(*args) + is_type_sue(t) -> bool + + + Is the type a struct/union/enum? + + + @param t (C++: type_t) + +Help on function is_type_tbyte in module ida_typeinf: + +is_type_tbyte(*args) + is_type_tbyte(t) -> bool + + + See 'BTF_FLOAT' . + + + @param t (C++: type_t) + +Help on function is_type_typedef in module ida_typeinf: + +is_type_typedef(*args) + is_type_typedef(t) -> bool + + + See 'BTF_TYPEDEF' . + + + @param t (C++: type_t) + +Help on function is_type_uchar in module ida_typeinf: + +is_type_uchar(*args) + is_type_uchar(t) -> bool + + + See 'BTF_UCHAR' . + + + @param t (C++: type_t) + +Help on function is_type_uint in module ida_typeinf: + +is_type_uint(*args) + is_type_uint(t) -> bool + + + See 'BTF_UINT' . + + + @param t (C++: type_t) + +Help on function is_type_uint128 in module ida_typeinf: + +is_type_uint128(*args) + is_type_uint128(t) -> bool + + + See 'BTF_UINT128' . + + + @param t (C++: type_t) + +Help on function is_type_uint16 in module ida_typeinf: + +is_type_uint16(*args) + is_type_uint16(t) -> bool + + + See 'BTF_UINT16' . + + + @param t (C++: type_t) + +Help on function is_type_uint32 in module ida_typeinf: + +is_type_uint32(*args) + is_type_uint32(t) -> bool + + + See 'BTF_UINT32' . + + + @param t (C++: type_t) + +Help on function is_type_uint64 in module ida_typeinf: + +is_type_uint64(*args) + is_type_uint64(t) -> bool + + + See 'BTF_UINT64' . + + + @param t (C++: type_t) + +Help on function is_type_union in module ida_typeinf: + +is_type_union(*args) + is_type_union(t) -> bool + + + See 'BTF_UNION' . + + + @param t (C++: type_t) + +Help on function is_type_unknown in module ida_typeinf: + +is_type_unknown(*args) + is_type_unknown(t) -> bool + + + See 'BT_UNKNOWN' . + + + @param t (C++: type_t) + +Help on function is_type_void in module ida_typeinf: + +is_type_void(*args) + is_type_void(t) -> bool + + + See 'BTF_VOID' . + + + @param t (C++: type_t) + +Help on function is_type_volatile in module ida_typeinf: + +is_type_volatile(*args) + is_type_volatile(t) -> bool + + + See 'BTM_VOLATILE' . + + + @param t (C++: type_t) + +Help on function is_typeid_last in module ida_typeinf: + +is_typeid_last(*args) + 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) + +Help on function is_user_cc in module ida_typeinf: + +is_user_cc(*args) + is_user_cc(cm) -> bool + + + Does the calling convention specify argument locations explicitly? + + + @param cm (C++: cm_t) + +Help on function is_vararg_cc in module ida_typeinf: + +is_vararg_cc(*args) + is_vararg_cc(cm) -> bool + + + Does the calling convention use ellipsis? + + + @param cm (C++: cm_t) + +Help on function lexcompare_tinfo in module ida_typeinf: + +lexcompare_tinfo(*args) + lexcompare_tinfo(t1, t2, arg3) -> int + +Help on function load_til in module ida_typeinf: + +load_til(*args) + load_til(name, tildir=None) -> til_t + + + Load til from a file. Failure to load base tils are reported into + 'errbuf'. They do not prevent loading of the main til. + + @param name: filename of the til. If it's an absolute path, tildir is + ignored. NB: the file extension is forced to .til (C++: + const char *) + @param tildir: directory where to load the til from. NULL means + default til subdirectories. (C++: const char *) + @return: pointer to resulting til, NULL if failed and error message is + in errbuf + +Help on function load_til_header in module ida_typeinf: + +load_til_header(*args) + load_til_header(tildir, name) -> til_t + + + Get human-readable til description. + + + @param tildir (C++: const char *) + @param name (C++: const char *) + +Help on function lower_type in module ida_typeinf: + +lower_type(*args) + 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, etcWe 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 childrentypes walked through by recursion. + + @param til (C++: til_t *) + @param tif (C++: tinfo_t *) + @param name (C++: const char *) + @param _helper (C++: lowertype_helper_t *) + +Help on class lowertype_helper_t in module ida_typeinf: + +class lowertype_helper_t(__builtin__.object) + | Proxy of C++ lowertype_helper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | func_has_stkframe_hole(self, *args) + | func_has_stkframe_hole(self, candidate, candidate_data) -> bool + | + | get_func_purged_bytes(self, *args) + | get_func_purged_bytes(self, candidate, candidate_data) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lowertype_helper_t(self) + +Help on function new_til in module ida_typeinf: + +new_til(*args) + new_til(name, desc) -> til_t + + + Initialize a til. + + + @param name (C++: const char *) + @param desc (C++: const char *) + +Help on function next_named_type in module ida_typeinf: + +next_named_type(*args) + next_named_type(ti, name, ntf_flags) -> char const * + + + Enumerate types. Returns mangled names. Never returns anonymous types. + To include it, enumerate types by ordinals. + + @param ti (C++: const til_t *) + @param name (C++: const char *) + @param ntf_flags (C++: int) + +Help on function optimize_argloc in module ida_typeinf: + +optimize_argloc(*args) + optimize_argloc(vloc, size, gaps) -> bool + + + Verify and optimize scattered argloc into simple form. All new arglocs + must be processed by this function. + + @param vloc (C++: argloc_t *) + @param size (C++: int) + @param gaps (C++: const rangeset_t *) + +Help on function pack_idcobj_to_bv in module ida_typeinf: + +pack_idcobj_to_bv(*args) + 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 *) + @param tif (C++: const tinfo_t &) + @param bytes (C++: relobj_t *) + @param objoff (C++: void *) + @param pio_flags (C++: int) + +Help on function pack_idcobj_to_idb in module ida_typeinf: + +pack_idcobj_to_idb(*args) + 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 *) + @param tif (C++: const tinfo_t &) + @param ea (C++: ea_t) + @param pio_flags (C++: int) + +Help on function pack_object_to_bv in module ida_typeinf: + +pack_object_to_bv(*args) + pack_object_to_bv(py_obj, ti, _type, _fields, base_ea, pio_flags=0) -> PyObject * + + + Packs a typed object to a string + @param ti: Type info. 'None' can be passed. + @param tp: type string + @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 + +Help on function pack_object_to_idb in module ida_typeinf: + +pack_object_to_idb(*args) + 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 ti: Type info. 'None' can be passed. + @param tp: type string + @param fields: fields string (may be empty or None) + @param ea: ea to be used while packing + @param pio_flags: flags used while unpacking + +Help on function parse_decl in module ida_typeinf: + +parse_decl(*args) + parse_decl(tif, til, decl, 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.name & tif may be + empty after the call! + + @param tif: type info (C++: tinfo_t *) + @param til: type library to use. may be NULL (C++: til_t *) + @param decl: C declaration to parse (C++: const char *) + @param flags: combination of Type parsing flags bits (C++: int) + +Help on function parse_decls in module ida_typeinf: + +parse_decls(*args) + 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: type library to store the result (C++: til_t *) + @param input: input string or file name (see hti_flags) (C++: const + char *) + @param printer: function to output error messages (use msg or NULL or + your own callback) (C++: printer_t *) + @param hti_flags: combination of Type formatting flags (C++: int) + @return: number of errors, 0 means ok. + +Help on class predicate_t in module ida_typeinf: + +class predicate_t(__builtin__.object) + | Proxy of C++ predicate_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> predicate_t + | + | __repr__ = _swig_repr(self) + | + | should_display(self, *args) + | should_display(self, til, name, type, fields) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_predicate_t(self) + +Help on function print_argloc in module ida_typeinf: + +print_argloc(*args) + print_argloc(vloc, size=0, vflags=0) -> str + + + Convert an argloc to human readable form. + + + @param vloc (C++: const argloc_t &) + @param size (C++: int) + @param vflags (C++: int) + +Help on function print_decls in module ida_typeinf: + +print_decls(*args) + print_decls(printer, til, py_ordinals, flags) -> PyObject * + + + Print types (and possibly their dependencies) in a format suitable for + use in a header file. This is the reverse 'parse_decls()' . + + @param printer: a handler for printing text (C++: text_sink_t &) + @param til: the type library holding the ordinals (C++: til_t *) + @param flags: flags for the algorithm. A combination of PDF_* + constants (C++: uint32) + +Help on function print_tinfo in module ida_typeinf: + +print_tinfo(*args) + print_tinfo(prefix, indent, cmtindent, flags, tif, name, cmt) -> str + +Help on function print_type in module ida_typeinf: + +print_type(*args) + print_type(ea, prtype_flags) -> str + + + Get type declaration for the specified address. + + @param ea: address (C++: ea_t) + @param prtype_flags: combination of Type printing flags (C++: int) + @return: success + +Help on class ptr_type_data_t in module ida_typeinf: + +class ptr_type_data_t(__builtin__.object) + | Proxy of C++ ptr_type_data_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, c=tinfo_t(), bps=0, p=tinfo_t(), d=0) -> ptr_type_data_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | is_code_ptr(self, *args) + | is_code_ptr(self) -> bool + | + | is_shifted(self, *args) + | is_shifted(self) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | based_ptr_size + | ptr_type_data_t_based_ptr_size_get(self) -> uchar + | + | closure + | ptr_type_data_t_closure_get(self) -> tinfo_t + | + | delta + | ptr_type_data_t_delta_get(self) -> int32 + | + | obj_type + | ptr_type_data_t_obj_type_get(self) -> tinfo_t + | + | parent + | ptr_type_data_t_parent_get(self) -> tinfo_t + | + | taptr_bits + | ptr_type_data_t_taptr_bits_get(self) -> uchar + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ptr_type_data_t(self) + +Help on function read_tinfo_bitfield_value in module ida_typeinf: + +read_tinfo_bitfield_value(*args) + read_tinfo_bitfield_value(typid, v, bitoff) -> uint64 + +Help on class reginfovec_t in module ida_typeinf: + +class reginfovec_t(__builtin__.object) + | Proxy of C++ qvector< reg_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> reg_info_t + | + | __init__(self, *args) + | __init__(self) -> reginfovec_t + | __init__(self, x) -> reginfovec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> reg_info_t + | begin(self) -> reg_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> reg_info_t + | end(self) -> reg_info_t + | + | erase(self, *args) + | erase(self, it) -> reg_info_t + | erase(self, first, last) -> reg_info_t + | + | extract(self, *args) + | extract(self) -> reg_info_t + | + | find(self, *args) + | find(self, x) -> reg_info_t + | find(self, x) -> reg_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=reg_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> reg_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> reg_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_reginfovec_t(self) + +Help on class regobj_t in module ida_typeinf: + +class regobj_t(__builtin__.object) + | Proxy of C++ regobj_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regobj_t + | + | __repr__ = _swig_repr(self) + | + | size(self, *args) + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | regidx + | regobj_t_regidx_get(self) -> int + | + | relocate + | regobj_t_relocate_get(self) -> int + | + | thisown + | The membership flag + | + | value + | regobj_t_value_get(self) -> bytevec_t * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regobj_t(self) + +Help on class regobjs_t in module ida_typeinf: + +class regobjs_t(regobjvec_t) + | Proxy of C++ regobjs_t class. + | + | Method resolution order: + | regobjs_t + | regobjvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regobjs_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regobjs_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from regobjvec_t: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> regobj_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> regobj_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> regobj_t + | begin(self) -> regobj_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> regobj_t + | end(self) -> regobj_t + | + | erase(self, *args) + | erase(self, it) -> regobj_t + | erase(self, first, last) -> regobj_t + | + | extract(self, *args) + | extract(self) -> regobj_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=regobj_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> regobj_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> regobj_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from regobjvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class regobjvec_t in module ida_typeinf: + +class regobjvec_t(__builtin__.object) + | Proxy of C++ qvector< regobj_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> regobj_t + | + | __init__(self, *args) + | __init__(self) -> regobjvec_t + | __init__(self, x) -> regobjvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> regobj_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> regobj_t + | begin(self) -> regobj_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> regobj_t + | end(self) -> regobj_t + | + | erase(self, *args) + | erase(self, it) -> regobj_t + | erase(self, first, last) -> regobj_t + | + | extract(self, *args) + | extract(self) -> regobj_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=regobj_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> regobj_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> regobj_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regobjvec_t(self) + +Help on function remove_abi_opts in module ida_typeinf: + +remove_abi_opts(*args) + remove_abi_opts(abi_opts, user_level=False) -> bool + +Help on function remove_pointer in module ida_typeinf: + +remove_pointer(*args) + remove_pointer(tif) -> tinfo_t + + + '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() + + @param tif (C++: const tinfo_t &) + +Help on function remove_tinfo_pointer in module ida_typeinf: + +remove_tinfo_pointer(*args) + remove_tinfo_pointer(tif, name, til) -> PyObject * + + + 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 til (C++: const til_t *) + +Help on function replace_ordinal_typerefs in module ida_typeinf: + +replace_ordinal_typerefs(*args) + 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: type library to use. may be NULL. (C++: til_t *) + @param tif: type to modify (in/out) (C++: tinfo_t *) + +Help on function resolve_typedef in module ida_typeinf: + +resolve_typedef(*args) + resolve_typedef(til, type) -> type_t const * + +Help on class rrel_t in module ida_typeinf: + +class rrel_t(__builtin__.object) + | Proxy of C++ rrel_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rrel_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | rrel_t_off_get(self) -> sval_t + | + | reg + | rrel_t_reg_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rrel_t(self) + +Help on function save_tinfo in module ida_typeinf: + +save_tinfo(*args) + save_tinfo(tif, til, ord, name, ntf_flags) -> tinfo_code_t + +Help on class scattered_aloc_t in module ida_typeinf: + +class scattered_aloc_t(argpartvec_t) + | Proxy of C++ scattered_aloc_t class. + | + | Method resolution order: + | scattered_aloc_t + | argpartvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> scattered_aloc_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_scattered_aloc_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from argpartvec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> argpart_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> argpart_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> argpart_t + | begin(self) -> argpart_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> argpart_t + | end(self) -> argpart_t + | + | erase(self, *args) + | erase(self, it) -> argpart_t + | erase(self, first, last) -> argpart_t + | + | extract(self, *args) + | extract(self) -> argpart_t + | + | find(self, *args) + | find(self, x) -> argpart_t + | find(self, x) -> argpart_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=argpart_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> argpart_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> argpart_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from argpartvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function score_tinfo in module ida_typeinf: + +score_tinfo(*args) + score_tinfo(tif) -> uint32 + +Help on function serialize_tinfo in module ida_typeinf: + +serialize_tinfo(*args) + serialize_tinfo(type, fields, fldcmts, tif, sudt_flags) -> bool + +Help on function set_abi_name in module ida_typeinf: + +set_abi_name(*args) + set_abi_name(abiname, user_level=False) -> bool + + + Set abi name (see 'Compiler IDs' ) + + + @param abiname (C++: const char *) + @param user_level (C++: bool) + +Help on function set_c_header_path in module ida_typeinf: + +set_c_header_path(*args) + set_c_header_path(incdir) + + + Set include directory path the target compiler. + + + @param incdir (C++: const char *) + +Help on function set_c_macros in module ida_typeinf: + +set_c_macros(*args) + set_c_macros(macros) + + + Set predefined macros for the target compiler. + + + @param macros (C++: const char *) + +Help on function set_compiler in module ida_typeinf: + +set_compiler(*args) + set_compiler(cc, flags, abiname=None) -> bool + + + Change current compiler. + + @param cc: compiler to switch to (C++: const compiler_info_t &) + @param flags: Set compiler flags (C++: int) + @param abiname: ABI name (C++: const char *) + @return: success + +Help on function set_compiler_id in module ida_typeinf: + +set_compiler_id(*args) + set_compiler_id(id, abiname=None) -> bool + + + Set the compiler id (see 'Compiler IDs' ) + + + @param id (C++: comp_t) + @param abiname (C++: const char *) + +Help on function set_compiler_string in module ida_typeinf: + +set_compiler_string(*args) + set_compiler_string(compstr, user_level) -> bool + +Help on function set_numbered_type in module ida_typeinf: + +set_numbered_type(*args) + set_numbered_type(ti, ordinal, ntf_flags, name, type, fields=None, cmt=None, fldcmts=None, sclass=None) -> tinfo_code_t + + + Store a type in the til. 'name' may be NULL for anonymous types. The + specified ordinal must be free (no other type is using it). For + ntf_flags, only 'NTF_REPLACE' is consulted. + + @param ti (C++: til_t *) + @param ordinal (C++: uint32) + @param ntf_flags (C++: int) + @param name (C++: const char *) + @param type (C++: const type_t *) + @param fields (C++: const p_list *) + @param cmt (C++: const char *) + @param fldcmts (C++: const p_list *) + @param sclass (C++: const sclass_t *) + +Help on function set_tinfo_attr in module ida_typeinf: + +set_tinfo_attr(*args) + set_tinfo_attr(tif, ta, may_overwrite) -> bool + +Help on function set_tinfo_attrs in module ida_typeinf: + +set_tinfo_attrs(*args) + set_tinfo_attrs(tif, ta) -> bool + +Help on function set_tinfo_property in module ida_typeinf: + +set_tinfo_property(*args) + set_tinfo_property(tif, sta_prop, x) -> size_t + +Help on function set_type_alias in module ida_typeinf: + +set_type_alias(*args) + 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 + reference to srctype by dsttype. + + @param ti (C++: til_t *) + @param src_ordinal (C++: uint32) + @param dst_ordinal (C++: uint32) + +Help on class simd_info_t in module ida_typeinf: + +class simd_info_t(__builtin__.object) + | Proxy of C++ simd_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, nm=None, sz=0, memt=BTF_UNK) -> simd_info_t + | + | __repr__ = _swig_repr(self) + | + | match_pattern(self, *args) + | match_pattern(self, pattern) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | memtype + | simd_info_t_memtype_get(self) -> type_t + | + | name + | simd_info_t_name_get(self) -> char const * + | + | size + | simd_info_t_size_get(self) -> uint16 + | + | thisown + | The membership flag + | + | tif + | simd_info_t_tif_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_simd_info_t(self) + +Help on function store_til in module ida_typeinf: + +store_til(*args) + 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: type library to store (C++: til_t *) + @param tildir: directory where to store the til. NULL means current + directory. (C++: const char *) + @param name: filename of the til. If it's an absolute path, tildir is + ignored. NB: the file extension is forced to .til (C++: + const char *) + @return: success + +Help on class text_sink_t in module ida_typeinf: + +class text_sink_t(__builtin__.object) + | Proxy of C++ text_sink_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> text_sink_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, str) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_text_sink_t(self) + +Help on class til_symbol_t in module ida_typeinf: + +class til_symbol_t(__builtin__.object) + | Proxy of C++ til_symbol_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=None, t=None) -> til_symbol_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | til_symbol_t_name_get(self) -> char const * + | + | thisown + | The membership flag + | + | til + | til_symbol_t_til_get(self) -> til_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_til_symbol_t(self) + +Help on class til_t in module ida_typeinf: + +class til_t(__builtin__.object) + | Proxy of C++ til_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> til_t + | + | __repr__ = _swig_repr(self) + | + | base(self, *args) + | base(self, n) -> til_t + | + | is_dirty(self, *args) + | is_dirty(self) -> bool + | + | set_dirty(self, *args) + | set_dirty(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cc + | til_t_cc_get(self) -> compiler_info_t + | + | desc + | til_t_desc_get(self) -> char * + | + | flags + | til_t_flags_get(self) -> uint32 + | + | name + | til_t_name_get(self) -> char * + | + | nbases + | til_t_nbases_get(self) -> int + | + | nrefs + | til_t_nrefs_get(self) -> int + | + | nstreams + | til_t_nstreams_get(self) -> int + | + | streams + | til_t_streams_get(self) -> til_stream_t ** + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_til_t(self) + +Help on class tinfo_t in module ida_typeinf: + +class tinfo_t(__builtin__.object) + | Proxy of C++ tinfo_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> tinfo_t + | __init__(self, decl_type) -> tinfo_t + | __init__(self, r) -> tinfo_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) + | __str__(self) -> qstring + | + | _print(self, *args) + | _print(self, name=None, prtype_flags=0, indent=0, cmtindent=0, prefix=None, cmt=None) -> bool + | + | append_covered(self, *args) + | append_covered(self, out, offset=0) -> bool + | + | calc_gaps(self, *args) + | calc_gaps(self, out) -> bool + | + | calc_purged_bytes(self, *args) + | calc_purged_bytes(self) -> int + | + | calc_score(self, *args) + | calc_score(self) -> uint32 + | + | calc_udt_aligns(self, *args) + | calc_udt_aligns(self, sudt_flags=0x0004) -> bool + | + | change_sign(self, *args) + | change_sign(self, sign) -> bool + | + | clear(self, *args) + | clear(self) + | + | clr_const(self, *args) + | clr_const(self) + | + | clr_const_volatile(self, *args) + | clr_const_volatile(self) + | + | clr_volatile(self, *args) + | clr_volatile(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | compare_with(self, *args) + | compare_with(self, r, tcflags=0) -> bool + | + | convert_array_to_ptr(self, *args) + | convert_array_to_ptr(self) -> bool + | + | copy(self, *args) + | copy(self) -> tinfo_t + | + | create_array(self, *args) + | create_array(self, p, decl_type=BT_ARRAY) -> bool + | create_array(self, tif, nelems=0, base=0, decl_type=BT_ARRAY) -> bool + | + | create_bitfield(self, *args) + | create_bitfield(self, p, decl_type=BT_BITFIELD) -> bool + | create_bitfield(self, nbytes, width, is_unsigned=False, decl_type=BT_BITFIELD) -> bool + | + | create_enum(self, *args) + | create_enum(self, p, decl_type=BTF_ENUM) -> bool + | + | create_forward_decl(self, *args) + | create_forward_decl(self, til, decl_type, name, ntf_flags=0) -> tinfo_code_t + | + | create_func(self, *args) + | create_func(self, p, decl_type=BT_FUNC) -> bool + | + | create_ptr(self, *args) + | create_ptr(self, p, decl_type=BT_PTR) -> bool + | create_ptr(self, tif, bps=0, decl_type=BT_PTR) -> bool + | + | create_simple_type(self, *args) + | create_simple_type(self, decl_type) -> bool + | + | create_typedef(self, *args) + | create_typedef(self, p, decl_type=BTF_TYPEDEF, try_ordinal=True) -> bool + | create_typedef(self, til, name, decl_type=BTF_TYPEDEF, try_ordinal=True) + | create_typedef(self, til, ord, decl_type=BTF_TYPEDEF) + | + | create_udt(self, *args) + | create_udt(self, p, decl_type) -> bool + | + | del_attr(self, *args) + | del_attr(self, key, make_copy=True) -> bool + | + | del_attrs(self, *args) + | del_attrs(self) + | + | deserialize(self, *args) + | deserialize(self, til, ptype, pfields=None, pfldcmts=None) -> bool + | deserialize(self, til, type, fields, cmts=None) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | equals_to(self, *args) + | equals_to(self, r) -> bool + | + | find_udt_member(self, *args) + | find_udt_member(self, udm, strmem_flags) -> int + | + | get_array_details(self, *args) + | get_array_details(self, ai) -> bool + | + | get_array_element(self, *args) + | get_array_element(self) -> tinfo_t + | + | get_array_nelems(self, *args) + | get_array_nelems(self) -> int + | + | get_attr(self, *args) + | get_attr(self, key, all_attrs=True) -> PyObject * + | + | get_attrs(self, *args) + | get_attrs(self, tav, all_attrs=False) -> bool + | + | get_bitfield_details(self, *args) + | get_bitfield_details(self, bi) -> bool + | + | get_declalign(self, *args) + | get_declalign(self) -> uchar + | + | get_decltype(self, *args) + | get_decltype(self) -> type_t + | + | get_enum_base_type(self, *args) + | get_enum_base_type(self) -> type_t + | + | get_enum_details(self, *args) + | get_enum_details(self, ei) -> bool + | + | get_final_ordinal(self, *args) + | get_final_ordinal(self) -> uint32 + | + | get_final_type_name(self, *args) + | get_final_type_name(self) -> bool + | + | get_func_details(self, *args) + | get_func_details(self, fi, gtd=GTD_CALC_ARGLOCS) -> bool + | + | get_modifiers(self, *args) + | get_modifiers(self) -> type_t + | + | get_named_type(self, *args) + | get_named_type(self, til, name, decl_type=BTF_TYPEDEF, resolve=True, try_ordinal=True) -> bool + | + | get_nargs(self, *args) + | get_nargs(self) -> int + | + | get_next_type_name(self, *args) + | get_next_type_name(self) -> bool + | + | get_nth_arg(self, *args) + | get_nth_arg(self, n) -> tinfo_t + | + | get_numbered_type(self, *args) + | get_numbered_type(self, til, ordinal, decl_type=BTF_TYPEDEF, resolve=True) -> bool + | + | get_onemember_type(self, *args) + | get_onemember_type(self) -> tinfo_t + | + | get_ordinal(self, *args) + | get_ordinal(self) -> uint32 + | + | get_pointed_object(self, *args) + | get_pointed_object(self) -> tinfo_t + | + | get_ptr_details(self, *args) + | get_ptr_details(self, pi) -> bool + | + | get_ptrarr_object(self, *args) + | get_ptrarr_object(self) -> tinfo_t + | + | get_ptrarr_objsize(self, *args) + | get_ptrarr_objsize(self) -> int + | + | get_realtype(self, *args) + | get_realtype(self, full=False) -> type_t + | + | get_rettype(self, *args) + | get_rettype(self) -> tinfo_t + | + | get_sign(self, *args) + | get_sign(self) -> type_sign_t + | + | get_size(self, *args) + | get_size(self, p_effalign=None, gts_code=0) -> size_t + | + | get_til(self, *args) + | get_til(self) -> til_t + | + | get_type_name(self, *args) + | get_type_name(self) -> bool + | + | get_udt_details(self, *args) + | get_udt_details(self, udt, gtd=GTD_CALC_LAYOUT) -> bool + | + | get_udt_nmembers(self, *args) + | get_udt_nmembers(self) -> int + | + | get_unpadded_size(self, *args) + | get_unpadded_size(self) -> size_t + | + | has_details(self, *args) + | has_details(self) -> bool + | + | has_vftable(self, *args) + | has_vftable(self) -> bool + | + | is_anonymous_udt(self, *args) + | is_anonymous_udt(self) -> bool + | + | is_arithmetic(self, *args) + | is_arithmetic(self) -> bool + | + | is_array(self, *args) + | is_array(self) -> bool + | + | is_bitfield(self, *args) + | is_bitfield(self) -> bool + | + | is_bool(self, *args) + | is_bool(self) -> bool + | + | is_castable_to(self, *args) + | is_castable_to(self, target) -> bool + | + | is_char(self, *args) + | is_char(self) -> bool + | + | is_complex(self, *args) + | is_complex(self) -> bool + | + | is_const(self, *args) + | is_const(self) -> bool + | + | is_correct(self, *args) + | is_correct(self) -> bool + | + | is_decl_array(self, *args) + | is_decl_array(self) -> bool + | + | is_decl_bitfield(self, *args) + | is_decl_bitfield(self) -> bool + | + | is_decl_bool(self, *args) + | is_decl_bool(self) -> bool + | + | is_decl_char(self, *args) + | is_decl_char(self) -> bool + | + | is_decl_complex(self, *args) + | is_decl_complex(self) -> bool + | + | is_decl_const(self, *args) + | is_decl_const(self) -> bool + | + | is_decl_double(self, *args) + | is_decl_double(self) -> bool + | + | is_decl_enum(self, *args) + | is_decl_enum(self) -> bool + | + | is_decl_float(self, *args) + | is_decl_float(self) -> bool + | + | is_decl_floating(self, *args) + | is_decl_floating(self) -> bool + | + | is_decl_func(self, *args) + | is_decl_func(self) -> bool + | + | is_decl_int(self, *args) + | is_decl_int(self) -> bool + | + | is_decl_int128(self, *args) + | is_decl_int128(self) -> bool + | + | is_decl_int16(self, *args) + | is_decl_int16(self) -> bool + | + | is_decl_int32(self, *args) + | is_decl_int32(self) -> bool + | + | is_decl_int64(self, *args) + | is_decl_int64(self) -> bool + | + | is_decl_last(self, *args) + | is_decl_last(self) -> bool + | + | is_decl_ldouble(self, *args) + | is_decl_ldouble(self) -> bool + | + | is_decl_paf(self, *args) + | is_decl_paf(self) -> bool + | + | is_decl_partial(self, *args) + | is_decl_partial(self) -> bool + | + | is_decl_ptr(self, *args) + | is_decl_ptr(self) -> bool + | + | is_decl_struct(self, *args) + | is_decl_struct(self) -> bool + | + | is_decl_sue(self, *args) + | is_decl_sue(self) -> bool + | + | is_decl_tbyte(self, *args) + | is_decl_tbyte(self) -> bool + | + | is_decl_typedef(self, *args) + | is_decl_typedef(self) -> bool + | + | is_decl_uchar(self, *args) + | is_decl_uchar(self) -> bool + | + | is_decl_udt(self, *args) + | is_decl_udt(self) -> bool + | + | is_decl_uint(self, *args) + | is_decl_uint(self) -> bool + | + | is_decl_uint128(self, *args) + | is_decl_uint128(self) -> bool + | + | is_decl_uint16(self, *args) + | is_decl_uint16(self) -> bool + | + | is_decl_uint32(self, *args) + | is_decl_uint32(self) -> bool + | + | is_decl_uint64(self, *args) + | is_decl_uint64(self) -> bool + | + | is_decl_union(self, *args) + | is_decl_union(self) -> bool + | + | is_decl_unknown(self, *args) + | is_decl_unknown(self) -> bool + | + | is_decl_void(self, *args) + | is_decl_void(self) -> bool + | + | is_decl_volatile(self, *args) + | is_decl_volatile(self) -> bool + | + | is_double(self, *args) + | is_double(self) -> bool + | + | is_empty_udt(self, *args) + | is_empty_udt(self) -> bool + | + | is_enum(self, *args) + | is_enum(self) -> bool + | + | is_ext_arithmetic(self, *args) + | is_ext_arithmetic(self) -> bool + | + | is_ext_integral(self, *args) + | is_ext_integral(self) -> bool + | + | is_float(self, *args) + | is_float(self) -> bool + | + | is_floating(self, *args) + | is_floating(self) -> bool + | + | is_forward_decl(self, *args) + | is_forward_decl(self) -> bool + | + | is_from_subtil(self, *args) + | is_from_subtil(self) -> bool + | + | is_func(self, *args) + | is_func(self) -> bool + | + | is_funcptr(self, *args) + | is_funcptr(self) -> bool + | + | is_high_func(self, *args) + | is_high_func(self) -> bool + | + | is_int(self, *args) + | is_int(self) -> bool + | + | is_int128(self, *args) + | is_int128(self) -> bool + | + | is_int16(self, *args) + | is_int16(self) -> bool + | + | is_int32(self, *args) + | is_int32(self) -> bool + | + | is_int64(self, *args) + | is_int64(self) -> bool + | + | is_integral(self, *args) + | is_integral(self) -> bool + | + | is_ldouble(self, *args) + | is_ldouble(self) -> bool + | + | is_manually_castable_to(self, *args) + | is_manually_castable_to(self, target) -> bool + | + | is_one_fpval(self, *args) + | is_one_fpval(self) -> bool + | + | is_paf(self, *args) + | is_paf(self) -> bool + | + | is_partial(self, *args) + | is_partial(self) -> bool + | + | is_ptr(self, *args) + | is_ptr(self) -> bool + | + | is_ptr_or_array(self, *args) + | is_ptr_or_array(self) -> bool + | + | is_purging_cc(self, *args) + | is_purging_cc(self) -> bool + | + | is_pvoid(self, *args) + | is_pvoid(self) -> bool + | + | is_scalar(self, *args) + | is_scalar(self) -> bool + | + | is_shifted_ptr(self, *args) + | is_shifted_ptr(self) -> bool + | + | is_signed(self, *args) + | is_signed(self) -> bool + | + | is_small_udt(self, *args) + | is_small_udt(self) -> bool + | + | is_sse_type(self, *args) + | is_sse_type(self) -> bool + | + | is_struct(self, *args) + | is_struct(self) -> bool + | + | is_sue(self, *args) + | is_sue(self) -> bool + | + | is_tbyte(self, *args) + | is_tbyte(self) -> bool + | + | is_typeref(self, *args) + | is_typeref(self) -> bool + | + | is_uchar(self, *args) + | is_uchar(self) -> bool + | + | is_udt(self, *args) + | is_udt(self) -> bool + | + | is_uint(self, *args) + | is_uint(self) -> bool + | + | is_uint128(self, *args) + | is_uint128(self) -> bool + | + | is_uint16(self, *args) + | is_uint16(self) -> bool + | + | is_uint32(self, *args) + | is_uint32(self) -> bool + | + | is_uint64(self, *args) + | is_uint64(self) -> bool + | + | is_union(self, *args) + | is_union(self) -> bool + | + | is_unknown(self, *args) + | is_unknown(self) -> bool + | + | is_unsigned(self, *args) + | is_unsigned(self) -> bool + | + | is_user_cc(self, *args) + | is_user_cc(self) -> bool + | + | is_vararg_cc(self, *args) + | is_vararg_cc(self) -> bool + | + | is_varstruct(self, *args) + | is_varstruct(self) -> bool + | + | is_vftable(self, *args) + | is_vftable(self) -> bool + | + | is_void(self, *args) + | is_void(self) -> bool + | + | is_volatile(self, *args) + | is_volatile(self) -> bool + | + | is_well_defined(self, *args) + | is_well_defined(self) -> bool + | + | present(self, *args) + | present(self) -> bool + | + | read_bitfield_value(self, *args) + | read_bitfield_value(self, v, bitoff) -> uint64 + | + | remove_ptr_or_array(self, *args) + | remove_ptr_or_array(self) -> bool + | + | requires_qualifier(self, *args) + | requires_qualifier(self, name, offset) -> bool + | + | serialize(self, *args) + | serialize(self, sudt_flags=SUDT_FAST|SUDT_TRUNC) -> PyObject * + | + | set_attr(self, *args) + | set_attr(self, ta, may_overwrite=True) -> bool + | + | set_attrs(self, *args) + | set_attrs(self, tav) -> bool + | + | set_const(self, *args) + | set_const(self) + | + | set_declalign(self, *args) + | set_declalign(self, declalign) -> bool + | + | set_modifiers(self, *args) + | set_modifiers(self, mod) + | + | set_named_type(self, *args) + | set_named_type(self, til, name, ntf_flags=0) -> tinfo_code_t + | + | set_numbered_type(self, *args) + | set_numbered_type(self, til, ord, ntf_flags=0, name=None) -> tinfo_code_t + | + | set_symbol_type(self, *args) + | set_symbol_type(self, til, name, ntf_flags=0) -> tinfo_code_t + | + | set_volatile(self, *args) + | set_volatile(self) + | + | swap(self, *args) + | swap(self, r) + | + | write_bitfield_value(self, *args) + | write_bitfield_value(self, dst, v, bitoff) -> uint64 + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | get_stock(*args) + | get_stock(id) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tinfo_t(self) + +Help on function tinfo_t_get_stock in module ida_typeinf: + +tinfo_t_get_stock(*args) + tinfo_t_get_stock(id) -> tinfo_t + +Help on class tinfo_visitor_t in module ida_typeinf: + +class tinfo_visitor_t(__builtin__.object) + | Proxy of C++ tinfo_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, s=0) -> tinfo_visitor_t + | + | __repr__ = _swig_repr(self) + | + | apply_to(self, *args) + | apply_to(self, tif, out=None, name=None, cmt=None) -> int + | + | prune_now(self, *args) + | prune_now(self) + | + | visit_type(self, *args) + | visit_type(self, out, tif, name, cmt) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | state + | tinfo_visitor_t_state_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tinfo_visitor_t(self) + +Help on class type_attr_t in module ida_typeinf: + +class type_attr_t(__builtin__.object) + | Proxy of C++ type_attr_t class. + | + | Methods defined here: + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> type_attr_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | key + | type_attr_t_key_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | type_attr_t_value_get(self) -> bytevec_t * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_type_attr_t(self) + +Help on class type_attrs_t in module ida_typeinf: + +class type_attrs_t(__builtin__.object) + | Proxy of C++ qvector< type_attr_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> type_attr_t + | + | __init__(self, *args) + | __init__(self) -> type_attrs_t + | __init__(self, x) -> type_attrs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> type_attr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> type_attr_t + | begin(self) -> type_attr_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> type_attr_t + | end(self) -> type_attr_t + | + | erase(self, *args) + | erase(self, it) -> type_attr_t + | erase(self, first, last) -> type_attr_t + | + | extract(self, *args) + | extract(self) -> type_attr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=type_attr_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> type_attr_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> type_attr_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_type_attrs_t(self) + +Help on class type_mods_t in module ida_typeinf: + +class type_mods_t(__builtin__.object) + | Proxy of C++ type_mods_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> type_mods_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | has_cmt(self, *args) + | has_cmt(self) -> bool + | + | has_info(self, *args) + | has_info(self) -> bool + | + | has_name(self, *args) + | has_name(self) -> bool + | + | has_type(self, *args) + | has_type(self) -> bool + | + | set_new_cmt(self, *args) + | set_new_cmt(self, c) + | + | set_new_name(self, *args) + | set_new_name(self, n) + | + | set_new_type(self, *args) + | set_new_type(self, t) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | type_mods_t_cmt_get(self) -> qstring * + | + | flags + | type_mods_t_flags_get(self) -> int + | + | name + | type_mods_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | type_mods_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_type_mods_t(self) + +Help on class typedef_type_data_t in module ida_typeinf: + +class typedef_type_data_t(__builtin__.object) + | Proxy of C++ typedef_type_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _til, _name, _resolve=False) -> typedef_type_data_t + | __init__(self, _til, ord, _resolve=False) -> typedef_type_data_t + | + | __repr__ = _swig_repr(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | is_ordref + | typedef_type_data_t_is_ordref_get(self) -> bool + | + | resolve + | typedef_type_data_t_resolve_get(self) -> bool + | + | thisown + | The membership flag + | + | til + | typedef_type_data_t_til_get(self) -> til_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_typedef_type_data_t(self) + +Help on class udt_member_t in module ida_typeinf: + +class udt_member_t(__builtin__.object) + | Proxy of C++ udt_member_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> udt_member_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | begin(self, *args) + | begin(self) -> uint64 + | + | clr_baseclass(self, *args) + | clr_baseclass(self) + | + | clr_unaligned(self, *args) + | clr_unaligned(self) + | + | clr_vftable(self, *args) + | clr_vftable(self) + | + | clr_virtbase(self, *args) + | clr_virtbase(self) + | + | end(self, *args) + | end(self) -> uint64 + | + | is_anonymous_udm(self, *args) + | is_anonymous_udm(self) -> bool + | + | is_baseclass(self, *args) + | is_baseclass(self) -> bool + | + | is_bitfield(self, *args) + | is_bitfield(self) -> bool + | + | is_unaligned(self, *args) + | is_unaligned(self) -> bool + | + | is_vftable(self, *args) + | is_vftable(self) -> bool + | + | is_virtbase(self, *args) + | is_virtbase(self) -> bool + | + | is_zero_bitfield(self, *args) + | is_zero_bitfield(self) -> bool + | + | set_baseclass(self, *args) + | set_baseclass(self) + | + | set_unaligned(self, *args) + | set_unaligned(self) + | + | set_vftable(self, *args) + | set_vftable(self) + | + | set_virtbase(self, *args) + | set_virtbase(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | udt_member_t_cmt_get(self) -> qstring * + | + | effalign + | udt_member_t_effalign_get(self) -> int + | + | fda + | udt_member_t_fda_get(self) -> uchar + | + | name + | udt_member_t_name_get(self) -> qstring * + | + | offset + | udt_member_t_offset_get(self) -> uint64 + | + | size + | udt_member_t_size_get(self) -> uint64 + | + | tafld_bits + | udt_member_t_tafld_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | type + | udt_member_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udt_member_t(self) + +Help on class udt_type_data_t in module ida_typeinf: + +class udt_type_data_t(udtmembervec_t) + | Proxy of C++ udt_type_data_t class. + | + | Method resolution order: + | udt_type_data_t + | udtmembervec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> udt_type_data_t + | + | __repr__ = _swig_repr(self) + | + | is_cppobj(self, *args) + | is_cppobj(self) -> bool + | + | is_last_baseclass(self, *args) + | is_last_baseclass(self, idx) -> bool + | + | is_msstruct(self, *args) + | is_msstruct(self) -> bool + | + | is_unaligned(self, *args) + | is_unaligned(self) -> bool + | + | is_vftable(self, *args) + | is_vftable(self) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | effalign + | udt_type_data_t_effalign_get(self) -> uint32 + | + | is_union + | udt_type_data_t_is_union_get(self) -> bool + | + | pack + | udt_type_data_t_pack_get(self) -> uchar + | + | sda + | udt_type_data_t_sda_get(self) -> uchar + | + | taudt_bits + | udt_type_data_t_taudt_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | total_size + | udt_type_data_t_total_size_get(self) -> size_t + | + | unpadded_size + | udt_type_data_t_unpadded_size_get(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udt_type_data_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from udtmembervec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> udt_member_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> udt_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> udt_member_t + | begin(self) -> udt_member_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> udt_member_t + | end(self) -> udt_member_t + | + | erase(self, *args) + | erase(self, it) -> udt_member_t + | erase(self, first, last) -> udt_member_t + | + | extract(self, *args) + | extract(self) -> udt_member_t + | + | find(self, *args) + | find(self, x) -> udt_member_t + | find(self, x) -> udt_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=udt_member_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> udt_member_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> udt_member_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from udtmembervec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class udtmembervec_t in module ida_typeinf: + +class udtmembervec_t(__builtin__.object) + | Proxy of C++ qvector< udt_member_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> udt_member_t + | + | __init__(self, *args) + | __init__(self) -> udtmembervec_t + | __init__(self, x) -> udtmembervec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> udt_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> udt_member_t + | begin(self) -> udt_member_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> udt_member_t + | end(self) -> udt_member_t + | + | erase(self, *args) + | erase(self, it) -> udt_member_t + | erase(self, first, last) -> udt_member_t + | + | extract(self, *args) + | extract(self) -> udt_member_t + | + | find(self, *args) + | find(self, x) -> udt_member_t + | find(self, x) -> udt_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=udt_member_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> udt_member_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> udt_member_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udtmembervec_t(self) + +Help on function unpack_idcobj_from_bv in module ida_typeinf: + +unpack_idcobj_from_bv(*args) + 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 &) + @param bytes (C++: const bytevec_t &) + @param pio_flags (C++: int) + +Help on function unpack_idcobj_from_idb in module ida_typeinf: + +unpack_idcobj_from_idb(*args) + 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 &) + @param ea (C++: ea_t) + @param off0 (C++: const bytevec_t *) + @param pio_flags (C++: int) + +Help on function unpack_object_from_bv in module ida_typeinf: + +unpack_object_from_bv(*args) + 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 tp: type string + @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 + +Help on function unpack_object_from_idb in module ida_typeinf: + +unpack_object_from_idb(*args) + unpack_object_from_idb(ti, _type, _fields, ea, pio_flags=0) -> PyObject * + +Help on class valstr_t in module ida_typeinf: + +class valstr_t(__builtin__.object) + | Proxy of C++ valstr_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> valstr_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | info + | valstr_t_info_get(self) -> valinfo_t * + | + | length + | valstr_t_length_get(self) -> size_t + | + | members + | valstr_t_members_get(self) -> valstrs_t + | + | oneline + | valstr_t_oneline_get(self) -> qstring * + | + | props + | valstr_t_props_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_valstr_t(self) + +Help on class valstrs_t in module ida_typeinf: + +class valstrs_t(valstrvec_t) + | Proxy of C++ valstrs_t class. + | + | Method resolution order: + | valstrs_t + | valstrvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> valstrs_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_valstrs_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from valstrvec_t: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> valstr_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> valstr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> valstr_t + | begin(self) -> valstr_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> valstr_t + | end(self) -> valstr_t + | + | erase(self, *args) + | erase(self, it) -> valstr_t + | erase(self, first, last) -> valstr_t + | + | extract(self, *args) + | extract(self) -> valstr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=valstr_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> valstr_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> valstr_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from valstrvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class valstrvec_t in module ida_typeinf: + +class valstrvec_t(__builtin__.object) + | Proxy of C++ qvector< valstr_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> valstr_t + | + | __init__(self, *args) + | __init__(self) -> valstrvec_t + | __init__(self, x) -> valstrvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> valstr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> valstr_t + | begin(self) -> valstr_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> valstr_t + | end(self) -> valstr_t + | + | erase(self, *args) + | erase(self, it) -> valstr_t + | erase(self, first, last) -> valstr_t + | + | extract(self, *args) + | extract(self) -> valstr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=valstr_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> valstr_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> valstr_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_valstrvec_t(self) + +Help on function verify_argloc in module ida_typeinf: + +verify_argloc(*args) + verify_argloc(vloc, size, gaps) -> int + + + Verify 'argloc_t' . + + @param vloc (C++: const argloc_t &) + @param size: total size of the variable (C++: int) + @param gaps: if not NULL, specifies gaps in structure definition. + these gaps should not map to any argloc, but everything + else must be covered (C++: const rangeset_t *) + @return: 0 if ok, otherwise an interr code. + +Help on function verify_tinfo in module ida_typeinf: + +verify_tinfo(*args) + verify_tinfo(typid) -> int + +Help on function visit_subtypes in module ida_typeinf: + +visit_subtypes(*args) + visit_subtypes(visitor, out, tif, name, cmt) -> int + +Help on function write_tinfo_bitfield_value in module ida_typeinf: + +write_tinfo_bitfield_value(*args) + write_tinfo_bitfield_value(typid, dst, v, bitoff) -> uint64 + +=== ida_typeinf EPYDOC INJECTIONS === +ida_typeinf.ADDTIL_ABORTED +""" +til was not loaded (incompatible til rejected by user) +""" + +ida_typeinf.ADDTIL_COMP +""" +ok, but til is not compatible with the current compiler +""" + +ida_typeinf.ADDTIL_DEFAULT +""" +default behavior +""" + +ida_typeinf.ADDTIL_FAILED +""" +something bad, the warning is displayed +""" + +ida_typeinf.ADDTIL_INCOMP +""" +load incompatible tils +""" + +ida_typeinf.ADDTIL_OK +""" +ok, til is loaded +""" + +ida_typeinf.ADDTIL_SILENT +""" +do not ask any questions +""" + +ida_typeinf.CC_ALLOW_ARGPERM +""" +disregard argument order? +""" + +ida_typeinf.CC_ALLOW_REGHOLES +""" +allow holes in register argument list? +""" + +ida_typeinf.CC_CDECL_OK +""" +can use __cdecl calling convention? +""" + +ida_typeinf.CC_HAS_ELLIPSIS +""" +function has a variable list of arguments? +""" + +ida_typeinf.FAH_BYTE +""" +function argument attribute header byte +""" + +ida_typeinf.FAI_ARRAY +""" +was initially an array see "__org_typedef" or "__org_arrdim" type +attributes to determine the original type +""" + +ida_typeinf.FAI_HIDDEN +""" +hidden argument +""" + +ida_typeinf.FAI_RETPTR +""" +pointer to return value. implies hidden +""" + +ida_typeinf.FAI_STRUCT +""" +was initially a structure +""" + +ida_typeinf.FTI_ALL +""" +all defined bits +""" + +ida_typeinf.FTI_ARGLOCS +""" +(stkargs and retloc too) + +info about argument locations has been calculated +""" + +ida_typeinf.FTI_CALLTYPE +""" +mask for FTI_*CALL +""" + +ida_typeinf.FTI_DEFCALL +""" +default call +""" + +ida_typeinf.FTI_FARCALL +""" +far call +""" + +ida_typeinf.FTI_HIGH +""" +high level prototype (with possibly hidden args) +""" + +ida_typeinf.FTI_INTCALL +""" +interrupt call +""" + +ida_typeinf.FTI_NEARCALL +""" +near call +""" + +ida_typeinf.FTI_NORET +""" +noreturn +""" + +ida_typeinf.FTI_PURE +""" +__pure +""" + +ida_typeinf.FTI_SPOILED +""" +information about spoiled registers is present +""" + +ida_typeinf.FTI_STATIC +""" +static +""" + +ida_typeinf.FTI_VIRTUAL +""" +virtual +""" + +ida_typeinf.GUESS_FUNC_FAILED +""" +couldn't guess the function type +""" + +ida_typeinf.GUESS_FUNC_OK +""" +ok, some non-trivial information is gathered +""" + +ida_typeinf.GUESS_FUNC_TRIVIAL +""" +the function type doesn't have interesting info +""" + +ida_typeinf.HTI_CPP +""" +C++ mode (not implemented) +""" + +ida_typeinf.HTI_DCL +""" +don't complain about redeclarations +""" + +ida_typeinf.HTI_EXT +""" +debug: print external representation of types +""" + +ida_typeinf.HTI_FIL +""" +otherwise "input" contains a C declaration + +"input" is file name, +""" + +ida_typeinf.HTI_HIGH +""" +(with hidden args, etc) + +assume high level prototypes +""" + +ida_typeinf.HTI_INT +""" +debug: print internal representation of types +""" + +ida_typeinf.HTI_LEX +""" +debug: print tokens +""" + +ida_typeinf.HTI_LOWER +""" +lower the function prototypes +""" + +ida_typeinf.HTI_MAC +""" +define macros from the base tils +""" + +ida_typeinf.HTI_NDC +""" +don't decorate names +""" + +ida_typeinf.HTI_NER +""" +ignore all errors but display them +""" + +ida_typeinf.HTI_NWR +""" +no warning messages +""" + +ida_typeinf.HTI_PAK +""" +explicit structure pack value (#pragma pack) +""" + +ida_typeinf.HTI_PAK1 +""" +#pragma pack(1) +""" + +ida_typeinf.HTI_PAK16 +""" +#pragma pack(16) +""" + +ida_typeinf.HTI_PAK2 +""" +#pragma pack(2) +""" + +ida_typeinf.HTI_PAK4 +""" +#pragma pack(4) +""" + +ida_typeinf.HTI_PAK8 +""" +#pragma pack(8) +""" + +ida_typeinf.HTI_PAKDEF +""" +default pack value +""" + +ida_typeinf.HTI_PAK_SHIFT +""" +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 +""" + +ida_typeinf.HTI_RAWARGS +""" +leave argument names unchanged (do not remove underscores) +""" + +ida_typeinf.HTI_TST +""" +test mode: discard the result +""" + +ida_typeinf.HTI_UNP +""" +debug: check the result by unpacking it +""" + +ida_typeinf.IMPTYPE_LOCAL +""" +the type is local, the struct/enum won't be marked as til type. there +is no need to specify this bit if til==idati, the kernel will set it +automatically +""" + +ida_typeinf.IMPTYPE_OVERRIDE +""" +override existing type +""" + +ida_typeinf.IMPTYPE_VERBOSE +""" +more verbose output (dialog boxes may appear) +""" + +ida_typeinf.MAX_FUNC_ARGS +""" +max number of function arguments +""" + +ida_typeinf.NTF_64BIT +""" +value is 64bit +""" + +ida_typeinf.NTF_CHKSYNC +""" +(set_numbered_type, set_named_type) + +check that synchronization to IDB passed OK +""" + +ida_typeinf.NTF_FIXNAME +""" +(set_named_type, set_numbered_type only) + +force-validate the name of the type when setting +""" + +ida_typeinf.NTF_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly (set_named_type, set_numbered_type only) +""" + +ida_typeinf.NTF_NOBASE +""" +don't inspect base tils (for get_named_type) +""" + +ida_typeinf.NTF_NOCUR +""" +don't inspect current til file (for get_named_type) +""" + +ida_typeinf.NTF_REPLACE +""" +replace original type (for set_named_type) +""" + +ida_typeinf.NTF_SYMM +""" +only one of 'NTF_TYPE' and 'NTF_SYMU' , 'NTF_SYMM' can be used + +symbol, name is mangled ('_func') +""" + +ida_typeinf.NTF_SYMU +""" +symbol, name is unmangled ('func') +""" + +ida_typeinf.NTF_TYPE +""" +type name +""" + +ida_typeinf.NTF_UMANGLED +""" +name is unmangled (don't use this flag) +""" + +ida_typeinf.PCN_CHR +""" +character +""" + +ida_typeinf.PCN_DEC +""" +decimal +""" + +ida_typeinf.PCN_DECSEXT +""" +automatically extend sign of signed decimal numbers +""" + +ida_typeinf.PCN_HEX +""" +hexadecimal +""" + +ida_typeinf.PCN_LZHEX +""" +print leading zeroes for hexdecimal number +""" + +ida_typeinf.PCN_NEGSIGN +""" +print negated value (-N) for negative numbers +""" + +ida_typeinf.PCN_OCT +""" +octal +""" + +ida_typeinf.PCN_RADIX +""" +number base to use +""" + +ida_typeinf.PCN_UNSIGNED +""" +add 'u' suffix +""" + +ida_typeinf.PDF_DEF_BASE +""" +Include base types: __int8, __int16, etc.. +""" + +ida_typeinf.PDF_DEF_FWD +""" +Allow forward declarations. +""" + +ida_typeinf.PDF_HEADER_CMT +""" +Prepend output with a descriptive comment. +""" + +ida_typeinf.PDF_INCL_DEPS +""" +Include all type dependencies. +""" + +ida_typeinf.PIO_IGNORE_PTRS +""" +do not follow pointers +""" + +ida_typeinf.PIO_NOATTR_FAIL +""" +missing attributes are not ok +""" + +ida_typeinf.PRALOC_STKOFF +""" +print stack offsets +""" + +ida_typeinf.PRALOC_VERIFY +""" +interr if illegal argloc +""" + +ida_typeinf.PRTYPE_1LINE +""" +print to one line +""" + +ida_typeinf.PRTYPE_COLORED +""" +add color tag COLOR_SYMBOL for any parentheses, commas and colons +""" + +ida_typeinf.PRTYPE_CPP +""" +use c++ name (only for 'print_type()' ) +""" + +ida_typeinf.PRTYPE_DEF +""" + 'tinfo_t' : print definition, if available +""" + +ida_typeinf.PRTYPE_MULTI +""" +print to many lines +""" + +ida_typeinf.PRTYPE_NOARGS +""" + 'tinfo_t' : do not print function argument names +""" + +ida_typeinf.PRTYPE_NOARRS +""" + 'tinfo_t' : print arguments with 'FAI_ARRAY' as pointers +""" + +ida_typeinf.PRTYPE_NOREGEX +""" +do not apply regular expressions to beautify name +""" + +ida_typeinf.PRTYPE_NORES +""" + 'tinfo_t' : never resolve types (meaningful with PRTYPE_DEF) +""" + +ida_typeinf.PRTYPE_PRAGMA +""" +print pragmas for alignment +""" + +ida_typeinf.PRTYPE_RESTORE +""" + 'tinfo_t' : print restored types for 'FAI_ARRAY' and 'FAI_STRUCT' +""" + +ida_typeinf.PRTYPE_SEMI +""" +append ; to the end +""" + +ida_typeinf.PRTYPE_TYPE +""" +print type declaration (not variable declaration) +""" + +ida_typeinf.PT_HIGH +""" +(with hidden args, etc) + +assume high level prototypes +""" + +ida_typeinf.PT_LOWER +""" +lower the function prototypes +""" + +ida_typeinf.PT_NDC +""" +don't decorate names +""" + +ida_typeinf.PT_PACKMASK +""" +mask for pack alignment values +""" + +ida_typeinf.PT_RAWARGS +""" +leave argument names unchanged (do not remove underscores) +""" + +ida_typeinf.PT_REPLACE +""" +replace the old type (used in idc) +""" + +ida_typeinf.PT_SIL +""" +silent, no messages +""" + +ida_typeinf.PT_TYP +""" +return declared type information +""" + +ida_typeinf.PT_VAR +""" +return declared object information +""" + +ida_typeinf.RESERVED_BYTE +""" +multifunctional purpose +""" + +ida_typeinf.SETCOMP_BY_USER +""" +invoked by user, cannot be replaced by module/loader +""" + +ida_typeinf.SETCOMP_ONLY_ABI +""" +ignore cc field complete, use only abiname +""" + +ida_typeinf.SETCOMP_ONLY_ID +""" +cc has only 'id' field the rest will be set to defaults corresponding +to the program bitness +""" + +ida_typeinf.SETCOMP_OVERRIDE +""" +may override old compiler info +""" + +ida_typeinf.STRMEM_ANON +""" +can be combined with 'STRMEM_NAME' : look inside anonymous members +too. +""" + +ida_typeinf.STRMEM_AUTO +""" +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)! +""" + +ida_typeinf.STRMEM_CASTABLE_TO +""" +can be combined with 'STRMEM_TYPE' : member type must be castable to +the specified type +""" + +ida_typeinf.STRMEM_INDEX +""" +get member by number- in: udm->offset - is a member number +""" + +ida_typeinf.STRMEM_MAXS +""" +get biggest member by size. +""" + +ida_typeinf.STRMEM_MINS +""" +get smallest member by size. +""" + +ida_typeinf.STRMEM_NAME +""" +get member by name- in: udm->name - the desired member name. +""" + +ida_typeinf.STRMEM_OFFSET +""" +get member by offset- in: udm->offset - is a member offset in bits +""" + +ida_typeinf.STRMEM_SIZE +""" +get member by size.- in: udm->size - the desired member size. +""" + +ida_typeinf.STRMEM_SKIP_EMPTY +""" +can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' skip empty +members (i.e. having zero size) only last empty member can be returned +""" + +ida_typeinf.STRMEM_TYPE +""" +get member by type. - in: udm->type - the desired member type. member +types are compared with tinfo_t::equals_to() +""" + +ida_typeinf.STRMEM_VFTABLE +""" +can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' get vftable +instead of the base class +""" + +ida_typeinf.SUDT_ALIGN +""" +to match the offsets and size info + +recalculate field alignments, struct packing, etc +""" + +ida_typeinf.SUDT_CONST +""" +only for serialize_udt: make type const +""" + +ida_typeinf.SUDT_FAST +""" +serialize without verifying offsets and alignments +""" + +ida_typeinf.SUDT_GAPS +""" +allow to fill gaps with additional members (_BYTE[]) +""" + +ida_typeinf.SUDT_SORT +""" +fields are not sorted by offset, sort them first +""" + +ida_typeinf.SUDT_TRUNC +""" +serialize: truncate useless strings from fields, fldcmts +""" + +ida_typeinf.SUDT_UNEX +""" +references to nonexistent member types are acceptable in this case it +is better to set the corresponding 'udt_member_t::fda' field to the +type alignment. if this field is not set, ida will try to guess the +alignment. +""" + +ida_typeinf.SUDT_VOLATILE +""" +only for serialize_udt: make type volatile +""" + +ida_typeinf.TAENUM_64BIT +""" +enum: store 64-bit values +""" + +ida_typeinf.TAENUM_SIGNED +""" +enum: signed +""" + +ida_typeinf.TAENUM_UNSIGNED +""" +enum: unsigned +""" + +ida_typeinf.TAFLD_BASECLASS +""" +field: do not include but inherit from the current field +""" + +ida_typeinf.TAFLD_UNALIGNED +""" +field: unaligned field +""" + +ida_typeinf.TAFLD_VFTABLE +""" +field: ptr to virtual function table +""" + +ida_typeinf.TAFLD_VIRTBASE +""" +field: virtual base (not supported yet) +""" + +ida_typeinf.TAH_ALL +""" +all defined bits +""" + +ida_typeinf.TAH_BYTE +""" +type attribute header byte +""" + +ida_typeinf.TAH_HASATTRS +""" +has extended attributes +""" + +ida_typeinf.TAPTR_PTR32 +""" +ptr: __ptr32 +""" + +ida_typeinf.TAPTR_PTR64 +""" +ptr: __ptr64 +""" + +ida_typeinf.TAPTR_RESTRICT +""" +ptr: __restrict +""" + +ida_typeinf.TAPTR_SHIFTED +""" +ptr: __shifted(parent_struct, delta) +""" + +ida_typeinf.TAUDT_CPPOBJ +""" +struct: a c++ object, not simple pod type +""" + +ida_typeinf.TAUDT_MSSTRUCT +""" +struct: gcc msstruct attribute +""" + +ida_typeinf.TAUDT_UNALIGNED +""" +struct: unaligned struct +""" + +ida_typeinf.TAUDT_VFTABLE +""" +struct: is virtual function table +""" + +ida_typeinf.TA_FORMAT +""" +info about the 'format' argument 3 times pack_dd: 'format_functype_t' +, argument number of 'format', argument number of '...' +""" + +ida_typeinf.TA_ORG_ARRDIM +""" +the original array dimension (pack_dd) +""" + +ida_typeinf.TA_ORG_TYPEDEF +""" +the original typedef name (simple string) +""" + +ida_typeinf.TCMP_ANYBASE +""" +accept any base class when casting +""" + +ida_typeinf.TCMP_AUTOCAST +""" +can t1 be cast into t2 automatically? +""" + +ida_typeinf.TCMP_CALL +""" +can t1 be called with t2 type? +""" + +ida_typeinf.TCMP_DECL +""" +compare declarations without resolving them +""" + +ida_typeinf.TCMP_DELPTR +""" +remove pointer from types before comparing +""" + +ida_typeinf.TCMP_EQUAL +""" +are types equal? +""" + +ida_typeinf.TCMP_IGNMODS +""" +ignore const/volatile modifiers +""" + +ida_typeinf.TCMP_MANCAST +""" +can t1 be cast into t2 manually? +""" + +ida_typeinf.TCMP_SKIPTHIS +""" +skip the first function argument in comparison +""" + +ida_typeinf.TIL_ADD_ALREADY +""" +the base til was already added +""" + +ida_typeinf.TIL_ADD_FAILED +""" +see errbuf +""" + +ida_typeinf.TIL_ADD_OK +""" +some tils were added +""" + +ida_typeinf.TIL_ALI +""" +type aliases are present (this bit is used only on the disk) +""" + +ida_typeinf.TIL_ESI +""" +extended sizeof info (short, long, longlong) +""" + +ida_typeinf.TIL_MAC +""" +til has macro table +""" + +ida_typeinf.TIL_MOD +""" +til has been modified, should be saved +""" + +ida_typeinf.TIL_ORD +""" +type ordinal numbers are present +""" + +ida_typeinf.TIL_SLD +""" +sizeof(long double) +""" + +ida_typeinf.TIL_STM +""" +til has extra streams +""" + +ida_typeinf.TIL_UNI +""" +universal til for any compiler +""" + +ida_typeinf.TIL_ZIP +""" +pack buckets using zip +""" + +ida_typeinf.TINFO_DEFINITE +""" +this is a definite type +""" + +ida_typeinf.TINFO_DELAYFUNC +""" +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 +""" + +ida_typeinf.TINFO_GUESSED +""" +this is a guessed type +""" + +ida_typeinf.TINFO_STRICT +""" +never convert given type to another one before applying +""" + +ida_typeinf.TVIS_CMT +""" +new comment is present +""" + +ida_typeinf.TVIS_NAME +""" +new name is present +""" + +ida_typeinf.TVIS_TYPE +""" +new type info is present +""" + +ida_typeinf.TVST_DEF +""" +visit type definition (meaningful for typerefs) +""" + +ida_typeinf.TVST_PRUNE +""" +don't visit children of current type +""" + +ida_typeinf.VALSTR_OPEN +""" +printed opening curly brace '{' +""" +=== ida_typeinf EPYDOC INJECTIONS END === +Help on function calc_dataseg in module ida_ua: + +calc_dataseg(*args) + 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 &) + @param n (C++: int) + @param rgnum (C++: int) + +Help on function can_decode in module ida_ua: + +can_decode(*args) + can_decode(ea) -> bool + + + Can the bytes at address 'ea' be decoded as instruction? + + @param ea: linear address (C++: ea_t) + @return: whether or not the contents at that address could be a valid + instruction + +Help on function construct_macro in module ida_ua: + +construct_macro(*args) + construct_macro(insn, enable, build_macro) -> bool + + + See ua.hpp's construct_macro(). + +Help on function create_insn in module ida_ua: + +create_insn(*args) + 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: linear address (C++: ea_t) + @param out: the resulting instruction (C++: insn_t *) + @return: the length of the instruction or 0 + +Help on function create_outctx in module ida_ua: + +create_outctx(*args) + 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++: flags_t) + @param suspop (C++: int) + +Help on function decode_insn in module ida_ua: + +decode_insn(*args) + 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: the resulting instruction (C++: insn_t *) + @param ea: linear address (C++: ea_t) + @return: the length of the (possible) instruction or 0 + +Help on function decode_preceding_insn in module ida_ua: + +decode_preceding_insn(*args) + decode_preceding_insn(out, ea) -> PyObject * + + + Decodes the preceding instruction. Please check ua.hpp / decode_preceding_insn() + @param ea: current ea + @param out: instruction storage + @return: tuple(preceeding_ea or BADADDR, farref = Boolean) + +Help on function decode_prev_insn in module ida_ua: + +decode_prev_insn(*args) + decode_prev_insn(out, ea) -> ea_t + + + Decode previous instruction if it exists, fill 'out'. + + @param out: the resulting instruction (C++: insn_t *) + @param ea: the address to decode the previous instruction from (C++: + ea_t) + @return: the previous instruction address ( BADADDR -no such insn) + +Help on function get_dtype_by_size in module ida_ua: + +get_dtype_by_size(*args) + get_dtype_by_size(size) -> int + + + Get 'op_t::dtype' from size. + + + @param size (C++: asize_t) + +Help on function get_dtype_flag in module ida_ua: + +get_dtype_flag(*args) + get_dtype_flag(dtype) -> flags_t + + + Get flags for 'op_t::dtype' field. + + + @param dtype (C++: op_dtype_t) + +Help on function get_dtype_size in module ida_ua: + +get_dtype_size(*args) + get_dtype_size(dtype) -> size_t + + + Get size of opt_::dtype field. + + + @param dtype (C++: op_dtype_t) + +Help on function get_immvals in module ida_ua: + +get_immvals(*args) + 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: address to analyze (C++: ea_t) + @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands + (C++: int) + @param F: flags for the specified address (C++: flags_t) + @return: number of immediate values (0..2* UA_MAXOP ) + +Help on function get_lookback in module ida_ua: + +get_lookback(*args) + 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) + +Help on function get_printable_immvals in module ida_ua: + +get_printable_immvals(*args) + get_printable_immvals(ea, n, F=0) -> PyObject * + + + Get immediate ready-to-print values at the specified address + + @param ea: address to analyze (C++: ea_t) + @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands + (C++: int) + @param F: flags for the specified address (C++: flags_t) + @return: number of immediate values (0..2* UA_MAXOP ) + +Help on function guess_table_address in module ida_ua: + +guess_table_address(*args) + guess_table_address(insn) -> ea_t + + + Guess the jump table address (ibm pc specific) + + + @param insn (C++: const insn_t &) + +Help on function guess_table_size in module ida_ua: + +guess_table_size(*args) + guess_table_size(insn, jump_table) -> asize_t + + + Guess the jump table size. + + + @param insn (C++: const insn_t &) + @param jump_table (C++: ea_t) + +Help on function insn_add_cref in module ida_ua: + +insn_add_cref(*args) + insn_add_cref(insn, to, opoff, type) + +Help on function insn_add_dref in module ida_ua: + +insn_add_dref(*args) + insn_add_dref(insn, to, opoff, type) + +Help on function insn_add_off_drefs in module ida_ua: + +insn_add_off_drefs(*args) + insn_add_off_drefs(insn, x, type, outf) -> ea_t + +Help on function insn_create_stkvar in module ida_ua: + +insn_create_stkvar(*args) + insn_create_stkvar(insn, x, v, flags) -> bool + +Help on class insn_t in module ida_ua: + +class insn_t(__builtin__.object) + | Proxy of C++ insn_t class. + | + | Methods defined here: + | + | __get_auxpref__(self, *args) + | __get_auxpref__(self) -> uint16 + | + | __get_operand__(self, *args) + | __get_operand__(self, n) -> op_t + | + | __get_ops__(self, *args) + | __get_ops__(self) -> operands_array + | + | __getitem__(self, idx) + | Operands can be accessed directly as indexes + | @return op_t: Returns an operand of type op_t + | + | __init__(self, *args) + | __init__(self) -> insn_t + | + | __iter__(self) + | + | __repr__ = _swig_repr(self) + | + | __set_auxpref__(self, *args) + | __set_auxpref__(self, v) + | + | add_cref(self, *args) + | add_cref(self, to, opoff, type) + | + | add_dref(self, *args) + | add_dref(self, to, opoff, type) + | + | add_off_drefs(self, *args) + | add_off_drefs(self, x, type, outf) -> ea_t + | + | assign(self, *args) + | assign(self, other) + | + | create_op_data(self, *args) + | create_op_data(self, ea_, opoff, dtype) -> bool + | create_op_data(self, ea_, op) -> bool + | + | create_stkvar(self, *args) + | create_stkvar(self, x, v, flags_) -> bool + | + | get_canon_feature(self, *args) + | get_canon_feature(self) -> uint32 + | + | get_canon_mnem(self, *args) + | get_canon_mnem(self) -> char const * + | + | get_next_byte(self, *args) + | get_next_byte(self) -> uint8 + | + | get_next_dword(self, *args) + | get_next_dword(self) -> uint32 + | + | get_next_qword(self, *args) + | get_next_qword(self) -> uint64 + | + | get_next_word(self, *args) + | get_next_word(self) -> uint16 + | + | is_64bit(self, *args) + | is_64bit(self) -> bool + | + | is_canon_insn(self, *args) + | is_canon_insn(self) -> bool + | + | is_macro(self, *args) + | is_macro(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Op1 + | + | Op2 + | + | Op3 + | + | Op4 + | + | Op5 + | + | Op6 + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | auxpref + | __get_auxpref__(self) -> uint16 + | + | cs + | insn_t_cs_get(self) -> ea_t + | + | ea + | insn_t_ea_get(self) -> ea_t + | + | flags + | insn_t_flags_get(self) -> int16 + | + | insnpref + | insn_t_insnpref_get(self) -> char + | + | ip + | insn_t_ip_get(self) -> ea_t + | + | itype + | insn_t_itype_get(self) -> uint16 + | + | ops + | __get_ops__(self) -> operands_array + | + | segpref + | insn_t_segpref_get(self) -> char + | + | size + | insn_t_size_get(self) -> uint16 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_insn_t(self) + +Help on function insn_t__from_ptrval__ in module ida_ua: + +insn_t__from_ptrval__(*args) + insn_t__from_ptrval__(ptrval) -> insn_t + +Help on function is_floating_dtype in module ida_ua: + +is_floating_dtype(*args) + is_floating_dtype(dtype) -> bool + + + Is a floating type operand? + + + @param dtype (C++: op_dtype_t) + +Help on function map_code_ea in module ida_ua: + +map_code_ea(*args) + map_code_ea(insn, addr, opnum) -> ea_t + map_code_ea(insn, op) -> ea_t + + + Map a code address. This function takes into account the segment + translations. + + @param insn: the current instruction (C++: const insn_t &) + @param addr: the referenced address to map (C++: ea_t) + @param opnum: operand number (C++: int) + +Help on function map_data_ea in module ida_ua: + +map_data_ea(*args) + map_data_ea(insn, addr, opnum=-1) -> ea_t + map_data_ea(insn, op) -> ea_t + + + Map a data address. + + @param insn: the current instruction (C++: const insn_t &) + @param addr: the referenced address to map (C++: ea_t) + @param opnum: operand number (C++: int) + +Help on function map_ea in module ida_ua: + +map_ea(*args) + map_ea(insn, op, iscode) -> ea_t + map_ea(insn, addr, opnum, iscode) -> ea_t + +Help on class op_t in module ida_ua: + +class op_t(__builtin__.object) + | Proxy of C++ op_t class. + | + | Methods defined here: + | + | __get_addr__(self, *args) + | __get_addr__(self) -> ea_t + | + | __get_reg_phrase__(self, *args) + | __get_reg_phrase__(self) -> uint16 + | + | __get_specval__(self, *args) + | __get_specval__(self) -> ea_t + | + | __get_value__(self, *args) + | __get_value__(self) -> ea_t + | + | __init__(self, *args) + | __init__(self) -> op_t + | + | __repr__ = _swig_repr(self) + | + | __set_addr__(self, *args) + | __set_addr__(self, v) + | + | __set_reg_phrase__(self, *args) + | __set_reg_phrase__(self, r) + | + | __set_specval__(self, *args) + | __set_specval__(self, v) + | + | __set_value__(self, *args) + | __set_value__(self, v) + | + | assign(self, *args) + | assign(self, other) + | + | clr_shown(self, *args) + | clr_shown(self) + | + | has_reg(self, r) + | Checks if the operand accesses the given processor register + | + | is_imm(self, *args) + | is_imm(self, v) -> bool + | + | is_reg(self, *args) + | is_reg(self, r) -> bool + | + | set_shown(self, *args) + | set_shown(self) + | + | shown(self, *args) + | shown(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | addr + | __get_addr__(self) -> ea_t + | + | dtype + | op_t_dtype_get(self) -> op_dtype_t + | + | flags + | op_t_flags_get(self) -> uchar + | + | n + | op_t_n_get(self) -> uchar + | + | offb + | op_t_offb_get(self) -> char + | + | offo + | op_t_offo_get(self) -> char + | + | phrase + | __get_reg_phrase__(self) -> uint16 + | + | reg + | __get_reg_phrase__(self) -> uint16 + | + | specflag1 + | op_t_specflag1_get(self) -> char + | + | specflag2 + | op_t_specflag2_get(self) -> char + | + | specflag3 + | op_t_specflag3_get(self) -> char + | + | specflag4 + | op_t_specflag4_get(self) -> char + | + | specval + | __get_specval__(self) -> ea_t + | + | thisown + | The membership flag + | + | type + | op_t_type_get(self) -> optype_t + | + | value + | __get_value__(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_op_t(self) + +Help on function op_t__from_ptrval__ in module ida_ua: + +op_t__from_ptrval__(*args) + op_t__from_ptrval__(ptrval) -> op_t + +Help on class operands_array in module ida_ua: + +class operands_array(__builtin__.object) + | Proxy of C++ wrapped_array_t< op_t,8 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> op_t + | + | __init__(self, *args) + | __init__(self, data) -> operands_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | operands_array_data_get(self) -> op_t (&)[8] + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_operands_array(self) + +Help on class outctx_base_t in module ida_ua: + +class outctx_base_t(__builtin__.object) + | Proxy of C++ outctx_base_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | close_comment(self, *args) + | close_comment(self) + | + | clr_gen_label(self, *args) + | clr_gen_label(self) + | + | display_voids(self, *args) + | display_voids(self) -> bool + | + | flush_buf(self, *args) + | flush_buf(self, buf, indent=-1) -> bool + | + | flush_outbuf(self, *args) + | flush_outbuf(self, indent=-1) -> bool + | + | forbid_annotations(self, *args) + | forbid_annotations(self) -> int + | + | force_code(self, *args) + | force_code(self) -> bool + | + | gen_block_cmt(self, *args) + | gen_block_cmt(self, cmt, color) -> bool + | + | gen_border_line(self, *args) + | gen_border_line(self, solid=False) -> bool + | + | gen_cmt_line(self, *args) + | gen_cmt_line(self, format) -> bool + | + | gen_collapsed_line(self, *args) + | gen_collapsed_line(self, format) -> bool + | + | gen_empty_line(self, *args) + | gen_empty_line(self) -> bool + | + | gen_empty_line_without_annotations(self, *args) + | gen_empty_line_without_annotations(self) + | + | gen_printf(self, *args) + | gen_printf(self, indent, format) -> bool + | + | gen_xref_lines(self, *args) + | gen_xref_lines(self) -> bool + | + | get_stkvar(self, *args) + | get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * + | + | init_lines_array(self, *args) + | init_lines_array(self, answers, maxsize) + | + | multiline(self, *args) + | multiline(self) -> bool + | + | only_main_line(self, *args) + | only_main_line(self) -> bool + | + | out_addr_tag(self, *args) + | out_addr_tag(self, ea) + | + | out_btoa(self, *args) + | out_btoa(self, Word, radix=0) + | + | out_char(self, *args) + | out_char(self, c) + | + | out_chars(self, *args) + | out_chars(self, c, n) + | + | out_colored_register_line(self, *args) + | out_colored_register_line(self, str) + | + | out_keyword(self, *args) + | out_keyword(self, str) + | + | out_line(self, *args) + | out_line(self, str, color=0) + | + | out_long(self, *args) + | out_long(self, v, radix) + | + | out_name_expr(self, *args) + | out_name_expr(self, x, ea, off=BADADDR) -> bool + | + | out_printf(self, *args) + | out_printf(self, format) + | + | out_register(self, *args) + | out_register(self, str) + | + | out_spaces(self, *args) + | out_spaces(self, len) + | + | out_symbol(self, *args) + | out_symbol(self, c) + | + | out_tagoff(self, *args) + | out_tagoff(self, tag) + | + | out_tagon(self, *args) + | out_tagon(self, tag) + | + | out_value(self, *args) + | out_value(self, x, outf=0) -> flags_t + | + | print_label_now(self, *args) + | print_label_now(self) -> bool + | + | restore_ctxflags(self, *args) + | restore_ctxflags(self, saved_flags) + | + | retrieve_cmt(self, *args) + | retrieve_cmt(self) -> ssize_t + | + | retrieve_name(self, *args) + | retrieve_name(self, arg2, arg3) -> ssize_t + | + | set_comment_addr(self, *args) + | set_comment_addr(self, ea) + | + | set_dlbind_opnd(self, *args) + | set_dlbind_opnd(self) + | + | set_gen_cmt(self, *args) + | set_gen_cmt(self, on=True) + | + | set_gen_demangled_label(self, *args) + | set_gen_demangled_label(self) + | + | set_gen_label(self, *args) + | set_gen_label(self) + | + | set_gen_xrefs(self, *args) + | set_gen_xrefs(self, on=True) + | + | setup_outctx(self, *args) + | setup_outctx(self, prefix, makeline_flags) + | + | stack_view(self, *args) + | stack_view(self) -> bool + | + | term_outctx(self, *args) + | term_outctx(self, prefix=None) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | default_lnnum + | outctx_base_t_default_lnnum_get(self) -> int + | + | insn_ea + | outctx_base_t_insn_ea_get(self) -> ea_t + | + | outbuf + | outctx_base_t_outbuf_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on function outctx_base_t__from_ptrval__ in module ida_ua: + +outctx_base_t__from_ptrval__(*args) + outctx_base_t__from_ptrval__(ptrval) -> outctx_base_t + +Help on class outctx_t in module ida_ua: + +class outctx_t(outctx_base_t) + | Proxy of C++ outctx_t class. + | + | Method resolution order: + | outctx_t + | outctx_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | gen_func_footer(self, *args) + | gen_func_footer(self, pfn) + | + | gen_func_header(self, *args) + | gen_func_header(self, pfn) + | + | gen_header(self, *args) + | gen_header(self, flags=((1 << 0)|(1 << 1)), proc_name=None, proc_flavour=None) + | + | gen_header_extra(self, *args) + | gen_header_extra(self) + | + | gen_xref_lines(self, *args) + | gen_xref_lines(self) -> bool + | + | out_custom_mnem(self, *args) + | out_custom_mnem(self, mnem, width=8, postfix=None) + | + | out_data(self, *args) + | out_data(self, analyze_only) + | + | out_immchar_cmts(self, *args) + | out_immchar_cmts(self) + | + | out_mnem(self, *args) + | out_mnem(self, width=8, postfix=None) + | + | out_mnemonic(self, *args) + | out_mnemonic(self) + | + | out_one_operand(self, *args) + | out_one_operand(self, n) -> bool + | + | out_specea(self, *args) + | out_specea(self, segtype) -> bool + | + | retrieve_cmt(self, *args) + | retrieve_cmt(self) -> ssize_t + | + | retrieve_name(self, *args) + | retrieve_name(self, arg2, arg3) -> ssize_t + | + | set_bin_state(self, *args) + | set_bin_state(self, value) + | + | setup_outctx(self, *args) + | setup_outctx(self, prefix, flags) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bin_ea + | outctx_t_bin_ea_get(self) -> ea_t + | + | bin_state + | outctx_t_bin_state_get(self) -> char + | + | bin_width + | outctx_t_bin_width_get(self) -> int + | + | curlabel + | outctx_t_curlabel_get(self) -> qstring * + | + | gl_bpsize + | outctx_t_gl_bpsize_get(self) -> int + | + | insn + | outctx_t_insn_get(self) -> insn_t + | + | thisown + | The membership flag + | + | wif + | outctx_t_wif_get(self) -> printop_t + | + | ---------------------------------------------------------------------- + | Methods inherited from outctx_base_t: + | + | close_comment(self, *args) + | close_comment(self) + | + | clr_gen_label(self, *args) + | clr_gen_label(self) + | + | display_voids(self, *args) + | display_voids(self) -> bool + | + | flush_buf(self, *args) + | flush_buf(self, buf, indent=-1) -> bool + | + | flush_outbuf(self, *args) + | flush_outbuf(self, indent=-1) -> bool + | + | forbid_annotations(self, *args) + | forbid_annotations(self) -> int + | + | force_code(self, *args) + | force_code(self) -> bool + | + | gen_block_cmt(self, *args) + | gen_block_cmt(self, cmt, color) -> bool + | + | gen_border_line(self, *args) + | gen_border_line(self, solid=False) -> bool + | + | gen_cmt_line(self, *args) + | gen_cmt_line(self, format) -> bool + | + | gen_collapsed_line(self, *args) + | gen_collapsed_line(self, format) -> bool + | + | gen_empty_line(self, *args) + | gen_empty_line(self) -> bool + | + | gen_empty_line_without_annotations(self, *args) + | gen_empty_line_without_annotations(self) + | + | gen_printf(self, *args) + | gen_printf(self, indent, format) -> bool + | + | get_stkvar(self, *args) + | get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * + | + | init_lines_array(self, *args) + | init_lines_array(self, answers, maxsize) + | + | multiline(self, *args) + | multiline(self) -> bool + | + | only_main_line(self, *args) + | only_main_line(self) -> bool + | + | out_addr_tag(self, *args) + | out_addr_tag(self, ea) + | + | out_btoa(self, *args) + | out_btoa(self, Word, radix=0) + | + | out_char(self, *args) + | out_char(self, c) + | + | out_chars(self, *args) + | out_chars(self, c, n) + | + | out_colored_register_line(self, *args) + | out_colored_register_line(self, str) + | + | out_keyword(self, *args) + | out_keyword(self, str) + | + | out_line(self, *args) + | out_line(self, str, color=0) + | + | out_long(self, *args) + | out_long(self, v, radix) + | + | out_name_expr(self, *args) + | out_name_expr(self, x, ea, off=BADADDR) -> bool + | + | out_printf(self, *args) + | out_printf(self, format) + | + | out_register(self, *args) + | out_register(self, str) + | + | out_spaces(self, *args) + | out_spaces(self, len) + | + | out_symbol(self, *args) + | out_symbol(self, c) + | + | out_tagoff(self, *args) + | out_tagoff(self, tag) + | + | out_tagon(self, *args) + | out_tagon(self, tag) + | + | out_value(self, *args) + | out_value(self, x, outf=0) -> flags_t + | + | print_label_now(self, *args) + | print_label_now(self) -> bool + | + | restore_ctxflags(self, *args) + | restore_ctxflags(self, saved_flags) + | + | set_comment_addr(self, *args) + | set_comment_addr(self, ea) + | + | set_dlbind_opnd(self, *args) + | set_dlbind_opnd(self) + | + | set_gen_cmt(self, *args) + | set_gen_cmt(self, on=True) + | + | set_gen_demangled_label(self, *args) + | set_gen_demangled_label(self) + | + | set_gen_label(self, *args) + | set_gen_label(self) + | + | set_gen_xrefs(self, *args) + | set_gen_xrefs(self, on=True) + | + | stack_view(self, *args) + | stack_view(self) -> bool + | + | term_outctx(self, *args) + | term_outctx(self, prefix=None) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from outctx_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | default_lnnum + | outctx_base_t_default_lnnum_get(self) -> int + | + | insn_ea + | outctx_base_t_insn_ea_get(self) -> ea_t + | + | outbuf + | outctx_base_t_outbuf_get(self) -> qstring * + +Help on function outctx_t__from_ptrval__ in module ida_ua: + +outctx_t__from_ptrval__(*args) + outctx_t__from_ptrval__(ptrval) -> outctx_t + +Help on function print_insn_mnem in module ida_ua: + +print_insn_mnem(*args) + print_insn_mnem(ea) -> str + + + Print instruction mnemonics. + + @param ea: linear address of the instruction (C++: ea_t) + @return: success + +Help on function print_operand in module ida_ua: + +print_operand(*args) + print_operand(ea, n, getn_flags=0, newtype=None) -> str + + + Generate text representation for operand #n. This function will + generate the text representation of the specified operand (includes + color codes.) + + @param ea: the item address (instruction or data) (C++: ea_t) + @param n: operand number (0,1,2...). meaningful only for instructions + (C++: int) + @param getn_flags (C++: int) + @param newtype: if specified, print the operand using the specified + type (C++: struct printop_t *) + @return: success + +=== ida_ua EPYDOC INJECTIONS === +ida_ua.FCBF_CONT +""" +don't stop on decoding, or any other kind of error +""" + +ida_ua.FCBF_DELIM +""" +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 +""" + +ida_ua.FCBF_ERR_REPL +""" +of a hex representation of the problematic byte + +in case of an error, use a CP_REPLCHAR instead +""" + +ida_ua.FCBF_FF_LIT +""" +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 +""" + +ida_ua.INSN_64BIT +""" +belongs to 64bit segment? +""" + +ida_ua.INSN_MACRO +""" +macro instruction +""" + +ida_ua.INSN_MODMAC +""" +may modify the database to make room for the macro insn +""" + +ida_ua.OF_NO_BASE_DISP +""" +base displacement doesn't exist. meaningful only for 'o_displ' type. +if set, base displacement ( 'op_t::addr' ) doesn't exist. +""" + +ida_ua.OF_NUMBER +""" +the operand can be converted to a number only +""" + +ida_ua.OF_OUTER_DISP +""" +outer displacement exists. meaningful only for 'o_displ' type. if set, +outer displacement ( 'op_t::value' ) exists. +""" + +ida_ua.OF_SHOW +""" +should the operand be displayed? +""" + +ida_ua.OOFS_IFSIGN +""" +output sign if needed +""" + +ida_ua.OOFS_NEEDSIGN +""" +always out sign (+-) +""" + +ida_ua.OOFS_NOSIGN +""" +don't output sign, forbid the user to change the sign +""" + +ida_ua.OOFW_16 +""" +16 bit width +""" + +ida_ua.OOFW_24 +""" +24 bit width +""" + +ida_ua.OOFW_32 +""" +32 bit width +""" + +ida_ua.OOFW_64 +""" +64 bit width +""" + +ida_ua.OOFW_8 +""" +8 bit width +""" + +ida_ua.OOFW_IMM +""" +take from x.dtype +""" + +ida_ua.OOF_ADDR +""" +output x.addr, otherwise x.value +""" + +ida_ua.OOF_ANYSERIAL +""" +if enum: select first available serial +""" + +ida_ua.OOF_NOBNOT +""" +prohibit use of binary not +""" + +ida_ua.OOF_NUMBER +""" +always as a number +""" + +ida_ua.OOF_OUTER +""" +output outer operand +""" + +ida_ua.OOF_SIGNED +""" +output as signed if < 0 +""" + +ida_ua.OOF_SIGNMASK +""" +sign symbol (+/-) output +""" + +ida_ua.OOF_SPACES +""" +currently works only for floating point numbers + +do not suppress leading spaces +""" + +ida_ua.OOF_WIDTHMASK +""" +width of value in bits +""" + +ida_ua.OOF_ZSTROFF +""" +meaningful only if is_stroff(uFlag) append a struct field name if the +field offset is zero? if 'AFL_ZSTROFF' is set, then this flag is +ignored. +""" + +ida_ua.PACK_FORM_DEF +""" +(! 'o_reg' + 'dt_packreal' ) + +packed factor defined. +""" + +ida_ua.dt_bitfild +""" +bit field (mc680x0) +""" + +ida_ua.dt_byte +""" +8 bit integer +""" + +ida_ua.dt_byte16 +""" +128 bit integer +""" + +ida_ua.dt_byte32 +""" +256 bit integer +""" + +ida_ua.dt_byte64 +""" +512 bit integer +""" + +ida_ua.dt_code +""" +ptr to code (not used?) +""" + +ida_ua.dt_double +""" +8 byte floating point +""" + +ida_ua.dt_dword +""" +32 bit integer +""" + +ida_ua.dt_float +""" +4 byte floating point +""" + +ida_ua.dt_fword +""" +48 bit +""" + +ida_ua.dt_half +""" +2-byte floating point +""" + +ida_ua.dt_ldbl +""" +long double (which may be different from tbyte) +""" + +ida_ua.dt_packreal +""" +packed real format for mc68040 +""" + +ida_ua.dt_qword +""" +64 bit integer +""" + +ida_ua.dt_string +""" +pointer to asciiz string +""" + +ida_ua.dt_tbyte +""" +variable size (\\ph{tbyte_size}) floating point +""" + +ida_ua.dt_unicode +""" +pointer to unicode string +""" + +ida_ua.dt_void +""" +none +""" + +ida_ua.dt_word +""" +16 bit integer +""" +=== ida_ua EPYDOC INJECTIONS END === +Help on function add_cref in module ida_xref: + +add_cref(*args) + add_cref(frm, to, type) -> bool + + + Create a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param type: cross-reference type (C++: cref_t) + @return: success + +Help on function add_dref in module ida_xref: + +add_dref(*args) + add_dref(frm, to, type) -> bool + + + Create a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + @param type: cross-reference type (C++: dref_t) + @return: success (may fail if user-defined xref exists from->to) + +Help on function calc_switch_cases in module ida_xref: + +calc_switch_cases(*args) + 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'. + +Help on class cases_and_targets_t in module ida_xref: + +class cases_and_targets_t(__builtin__.object) + | Proxy of C++ cases_and_targets_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cases_and_targets_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cases + | cases_and_targets_t_cases_get(self) -> casevec_t + | + | targets + | cases_and_targets_t_targets_get(self) -> eavec_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cases_and_targets_t(self) + +Help on class casevec_t in module ida_xref: + +class casevec_t(__builtin__.object) + | Proxy of C++ qvector< qvector< sval_t > > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> qvector< signed-ea-like-numeric-type > const &↗ + | + | __init__(self, *args) + | __init__(self) -> casevec_t + | __init__(self, x) -> casevec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | erase(self, *args) + | erase(self, it) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | erase(self, first, last) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | + | extract(self, *args) + | extract(self) -> qvector< signed-ea-like-numeric-type > *↗ + | + | find(self, *args) + | find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=qvector< signed-ea-like-numeric-type >())↗ + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> qvector< signed-ea-like-numeric-type > &↗ + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_casevec_t(self) + +Help on function create_switch_table in module ida_xref: + +create_switch_table(*args) + 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 + +Help on function create_switch_xrefs in module ida_xref: + +create_switch_xrefs(*args) + 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 + +Help on function del_cref in module ida_xref: + +del_cref(*args) + del_cref(frm, to, expand) -> int + + + Delete a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param expand: 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 (C++: bool) + +Help on function del_dref in module ida_xref: + +del_dref(*args) + del_dref(frm, to) + + + Delete a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + +Help on function delete_switch_table in module ida_xref: + +delete_switch_table(*args) + delete_switch_table(jump_ea, si) + +Help on function get_first_cref_from in module ida_xref: + +get_first_cref_from(*args) + 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!). + + @return: first referenced address. The lastXR variable contains type + of the reference. If the specified instruction doesn't + reference to other instructions then returns BADADDR . + +Help on function get_first_cref_to in module ida_xref: + +get_first_cref_to(*args) + 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: linear address of referenced instruction (C++: ea_t) + @return: linear address of the first referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_first_dref_from in module ida_xref: + +get_first_dref_from(*args) + get_first_dref_from(frm) -> ea_t + + + Get first data referenced from the specified address. + + @return: linear address of first (lowest) data referenced from the + specified address. The lastXR variable contains type of the + reference. Return BADADDR if the specified instruction/data + doesn't reference to anything. + +Help on function get_first_dref_to in module ida_xref: + +get_first_dref_to(*args) + get_first_dref_to(to) -> ea_t + + + Get address of instruction/data referencing to the specified data. + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_first_fcref_from in module ida_xref: + +get_first_fcref_from(*args) + get_first_fcref_from(frm) -> ea_t + +Help on function get_first_fcref_to in module ida_xref: + +get_first_fcref_to(*args) + get_first_fcref_to(to) -> ea_t + +Help on function get_next_cref_from in module ida_xref: + +get_next_cref_from(*args) + get_next_cref_from(frm, current) -> ea_t + + + Get next instruction referenced from the specified instruction. + + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_from() or + previous call to get_next_cref_from() functions. + (C++: ea_t) + @return: next referenced address or BADADDR . The lastXR variable + contains type of the reference. + +Help on function get_next_cref_to in module ida_xref: + +get_next_cref_to(*args) + get_next_cref_to(to, current) -> ea_t + + + Get next instruction referencing to the specified instruction. + + @param to: linear address of referenced instruction (C++: ea_t) + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_to() or previous + call to get_next_cref_to() functions. (C++: ea_t) + @return: linear address of the next referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_next_dref_from in module ida_xref: + +get_next_dref_from(*args) + get_next_dref_from(frm, current) -> ea_t + + + Get next data referenced from the specified address. + + @param current: linear address of current referenced data. This value + is returned by get_first_dref_from() or previous + call to get_next_dref_from() functions. (C++: ea_t) + @return: linear address of next data or BADADDR . The lastXR + variable contains type of the reference + +Help on function get_next_dref_to in module ida_xref: + +get_next_dref_to(*args) + get_next_dref_to(to, current) -> ea_t + + + Get address of instruction/data referencing to the specified data + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @param current: current linear address. This value is returned by + get_first_dref_to() or previous call to + get_next_dref_to() functions. (C++: ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_next_fcref_from in module ida_xref: + +get_next_fcref_from(*args) + get_next_fcref_from(frm, current) -> ea_t + +Help on function get_next_fcref_to in module ida_xref: + +get_next_fcref_to(*args) + get_next_fcref_to(to, current) -> ea_t + +Help on function has_external_refs in module ida_xref: + +has_external_refs(*args) + has_external_refs(pfn, ea) -> bool + + + Has a location external to the function references? + + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on class xrefblk_t in module ida_xref: + +class xrefblk_t(__builtin__.object) + | Proxy of C++ xrefblk_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> xrefblk_t + | + | __repr__ = _swig_repr(self) + | + | first_from(self, *args) + | first_from(self, _from, flags) -> bool + | + | first_to(self, *args) + | first_to(self, _to, flags) -> bool + | + | next_from(self, *args) + | next_from(self) -> bool + | next_from(self, _from, _to, flags) -> bool + | + | next_to(self, *args) + | next_to(self) -> bool + | next_to(self, _from, _to, flags) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | frm + | xrefblk_t_frm_get(self) -> ea_t + | + | iscode + | xrefblk_t_iscode_get(self) -> uchar + | + | thisown + | The membership flag + | + | to + | xrefblk_t_to_get(self) -> ea_t + | + | type + | xrefblk_t_type_get(self) -> uchar + | + | user + | xrefblk_t_user_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_xrefblk_t(self) + +Help on function xrefchar in module ida_xref: + +xrefchar(*args) + xrefchar(xrtype) -> char + + + Get character describing the xref type. + + @param xrtype: combination of Cross-Reference type flags and a + cref_t of dref_t value (C++: char) + +=== ida_xref EPYDOC INJECTIONS === +ida_xref.XREF_ALL +""" +return all references +""" + +ida_xref.XREF_BASE +""" +Reference to the base part of an offset. +""" + +ida_xref.XREF_DATA +""" +return data references only +""" + +ida_xref.XREF_FAR +""" +don't return ordinary flow xrefs +""" + +ida_xref.XREF_MASK +""" +Mask to get xref type. +""" + +ida_xref.XREF_PASTEND +""" +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. +""" + +ida_xref.XREF_TAIL +""" +Reference to tail byte in extrn symbols. +""" + +ida_xref.XREF_USER +""" +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 +""" +=== ida_xref EPYDOC INJECTIONS END === +Help on function AddSeg in module idc: + +AddSeg(startea, endea, base, use32, align, comb) + +Help on function AutoMark in module idc: + +AutoMark(ea, qtype) + Plan to analyze an address + +Help on class DeprecatedIDCError in module idc: + +class DeprecatedIDCError(exceptions.Exception) + | Exception for deprecated function calls + | + | Method resolution order: + | DeprecatedIDCError + | exceptions.Exception + | exceptions.BaseException + | __builtin__.object + | + | Data descriptors defined here: + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Methods inherited from exceptions.Exception: + | + | __init__(...) + | x.__init__(...) initializes x; see help(type(x)) for signature + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from exceptions.Exception: + | + | __new__ = + | T.__new__(S, ...) -> a new object with type S, a subtype of T + | + | ---------------------------------------------------------------------- + | Methods inherited from exceptions.BaseException: + | + | __delattr__(...) + | x.__delattr__('name') <==> del x.name + | + | __getattribute__(...) + | x.__getattribute__('name') <==> x.name + | + | __getitem__(...) + | x.__getitem__(y) <==> x[y] + | + | __getslice__(...) + | x.__getslice__(i, j) <==> x[i:j] + | + | Use of negative indices is not supported. + | + | __reduce__(...) + | + | __repr__(...) + | x.__repr__() <==> repr(x) + | + | __setattr__(...) + | x.__setattr__('name', value) <==> x.name = value + | + | __setstate__(...) + | + | __str__(...) + | x.__str__() <==> str(x) + | + | __unicode__(...) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from exceptions.BaseException: + | + | __dict__ + | + | args + | + | message + +Help on function EVAL_FAILURE in module idc: + +EVAL_FAILURE(code) + Check the result of eval_idc() for evaluation failures + + @param code: result of eval_idc() + + @return: True if there was an evaluation error + +Help on function get_cmt in module ida_bytes: + +get_cmt(*args) + get_cmt(ea, rptble) -> str + + + Get an indented comment. + + @param ea: linear address. may point to tail byte, the function will + find start of the item (C++: ea_t) + @param rptble: get repeatable comment? (C++: bool) + @return: size of comment or -1 + +Help on function GetDisasm in module idc: + +GetDisasm(ea) + 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. + +Help on function GetDouble in module idc: + +GetDouble(ea) + 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 + +Help on function GetFloat in module idc: + +GetFloat(ea) + 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 + +Help on function GetLocalType in module idc: + +GetLocalType(ordinal, flags) + Retrieve a local type declaration + @param flags: any of PRTYPE_* constants + @return: local type as a C declaration or "" + +Help on function LoadFile in module idc: + +LoadFile(filepath, pos, ea, size) + 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 + +Help on function MakeVar in module idc: + +MakeVar(ea) + Mark the location as "variable" + + @param ea: address to mark + + @return: None + + @note: All that IDA does is to mark the location as "variable". + Nothing else, no additional analysis is performed. + This function may disappear in the future. + +Help on function SaveFile in module idc: + +SaveFile(filepath, pos, ea, size) + 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 + +Help on function SetPrcsr in module idc: + +SetPrcsr(processor) + +Help on function SetType in module idc: + +SetType(ea, newtype) + 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. + +Help on function SizeOf in module idc: + +SizeOf(typestr) + Returns the size of the type. It is equivalent to IDC's sizeof(). + Use name, tp, fld = idc.parse_decl() ; SizeOf(tp) to retrieve the size + @return: -1 if typestring is not valid otherwise the size of the type + +Help on function _IDC_GetAttr in module idc: + +_IDC_GetAttr(obj, attrmap, attroffs) + Internal function to generically get object attributes + Do not use unless you know what you are doing + +Help on function _IDC_SetAttr in module idc: + +_IDC_SetAttr(obj, attrmap, attroffs, value) + Internal function to generically set object attributes + Do not use unless you know what you are doing + +Help on function __DbgValue in module idc: + +__DbgValue(ea, len) + +Help on function __GetArrayById in module idc: + +__GetArrayById(array_id) + Get an array, by its ID. + + This (internal) wrapper around 'idaaip.netnode(array_id)' + will ensure a certain safety around the retrieval of + arrays (by catching quite unexpect[ed|able] exceptions, + and making sure we don't create & use `transient' netnodes). + + @param array_id: A positive, valid array ID. + +Help on class __dummy_netnode in module idc: + +class __dummy_netnode(__builtin__.object) + | Implements, in an "always failing" fashion, the + | netnode functions that are necessary for the + | array-related functions. + | + | The sole purpose of this singleton class is to + | serve as a placeholder for netnode-manipulating + | functions, that don't want to each have to perform + | checks on the existence of the netnode. + | (..in other words: it avoids a bunch of if/else's). + | + | See __GetArrayById() for more info. + | + | Methods defined here: + | + | altdel(self, *args) + | + | altfirst(self, *args) + | + | altlast(self, *args) + | + | altnext(self, *args) + | + | altprev(self, *args) + | + | altset(self, *args) + | + | altval(self, *args) + | + | hashdel(self, *args) + | + | hashfirst(self, *args) + | + | hashlast(self, *args) + | + | hashnext(self, *args) + | + | hashprev(self, *args) + | + | hashset(self, *args) + | + | hashset_buf(self, *args) + | + | hashset_idx(self, *args) + | + | hashstr(self, *args) + | + | hashstr_buf(self, *args) + | + | hashval(self, *args) + | + | hashval_long(self, *args) + | + | index(self, *args) + | + | kill(self, *args) + | + | rename(self, *args) + | + | supdel(self, *args) + | + | supfirst(self, *args) + | + | suplast(self, *args) + | + | supnext(self, *args) + | + | supprev(self, *args) + | + | supset(self, *args) + | + | supval(self, *args) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | instance = + +Help on function __l2m1 in module idc: + +__l2m1(v) + Long to minus 1: If the 'v' appears to be the + 'signed long' version of -1, then return -1. + Otherwise, return 'v'. + +Help on function __warn_once_deprecated_proto_confusion in module idc: + +__warn_once_deprecated_proto_confusion(what, alternative) + +Help on function _get_modules in module idc: + +_get_modules() + INTERNAL: Enumerate process modules + +Help on function add_auto_stkpnt in module idc: + +add_auto_stkpnt(func_ea, ea, delta) + Add automatical 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 + +Help on function add_bpt in module ida_dbg: + +add_bpt(*args) + add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + add_bpt(bpt) -> bool + + + Add a new breakpoint in the debugged process. \sq{Type, Synchronous + function - available as request, Notification, none (synchronous + function)}Only one breakpoint can exist at a given address. + + @param ea: any address in the process memory space. Depending on the + architecture, hardware breakpoints always be setup at + random address. For example, on x86, hardware breakpoints + should be aligned depending on their size. Moreover, on the + x86 architecture, it is impossible to setup more than 4 + hardware breakpoints. (C++: ea_t) + @param size: size of the breakpoint (irrelevant for software + breakpoints): As for the address, hardware breakpoints + can't always be setup with random size. (C++: asize_t) + @param type: type of the breakpoint ( BPT_SOFT for software + breakpoint) special case BPT_DEFAULT ( BPT_SOFT | + BPT_EXEC ): try to add instruction breakpoint of the + appropriate type as follows: software bpt if supported, + hwbpt otherwise (C++: bpttype_t) + +Help on function add_cref in module ida_xref: + +add_cref(*args) + add_cref(frm, to, type) -> bool + + + Create a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param type: cross-reference type (C++: cref_t) + @return: success + +Help on function add_default_til in module idc: + +add_default_til(name) + Load a type library + + @param name: name of type library. + @return: 1-ok, 0-failed. + +Help on function add_dref in module ida_xref: + +add_dref(*args) + add_dref(frm, to, type) -> bool + + + Create a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + @param type: cross-reference type (C++: dref_t) + @return: success (may fail if user-defined xref exists from->to) + +Help on function add_entry in module ida_entry: + +add_entry(*args) + add_entry(ord, ea, name, makecode, flags=0) -> bool + + + Add an entry point to the list of entry points. + + @param ord: ordinal number if ordinal number is equal to 'ea' then + ordinal is not used (C++: uval_t) + @param ea: linear address (C++: ea_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to the regular + comment. If name == NULL, then the old name will be + retained. (C++: const char *) + @param makecode: should the kernel convert bytes at the entry point to + instruction(s) (C++: bool) + @param flags: See AEF_* (C++: int) + @return: success (currently always true) + +Help on function add_enum in module idc: + +add_enum(idx, name, flag) + Add a new enum type + + @param idx: serial number of the new enum. + If another enum with the same serial number + exists, then all enums with serial + numbers >= the specified idx get their + serial numbers incremented (in other words, + the new enum is put in the middle of the list of enums). + + If idx >= get_enum_qty() or idx == idaapi.BADNODE + then the new enum is created at the end of + the list of enums. + + @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 + +Help on function add_enum_member in module idc: + +add_enum_member(enum_id, name, value, bmask) + 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 ida_enum.DEFMASK 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_*) + +Help on function add_func in module ida_funcs: + +add_func(*args) + 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: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @return: success + +Help on function add_hidden_range in module ida_bytes: + +add_hidden_range(*args) + add_hidden_range(ea1, ea2, description, header, footer, color) -> bool + + + Mark a range of addresses as hidden. The range will be created in the + invisible state with the default color + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (C++: ea_t) + @param description: range parameters (C++: const char *) + @param header: range parameters (C++: const char *) + @param footer: range parameters (C++: const char *) + @param color (C++: bgcolor_t) + @return: success + +Help on function add_idc_hotkey in module ida_kernwin: + +add_idc_hotkey(*args) + add_idc_hotkey(hotkey, idcfunc) -> int + + + Add hotkey for IDC function ( 'ui_add_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + @param idcfunc: IDC function name (C++: const char *) + @return: IDC hotkey error codes + +Help on function add_segm_ex in module idc: + +add_segm_ex(startea, endea, base, use32, align, comb, flags) + 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 + +Help on function add_sourcefile in module ida_lines: + +add_sourcefile(*args) + 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: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (excluded) + (C++: ea_t) + @param filename: name of source file. (C++: const char *) + @return: success + +Help on function add_struc in module idc: + +add_struc(index, name, is_union) + Define a new structure type + + @param index: index of new structure type + If another structure has the specified index, + then index of that structure and all other + structures will be incremented, freeing the specifed + index. If index is == -1, then the biggest index + number will be used. + See get_first_struc_idx() for the explanation of + structure indices and IDs. + @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 + +Help on function add_struc_member in module idc: + +add_struc_member(sid, name, offset, flag, typeid, nbytes, target=-1, tdelta=0, reftype=2) + 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 STRUC_ERROR_*) + +Help on function add_user_stkpnt in module ida_frame: + +add_user_stkpnt(*args) + add_user_stkpnt(ea, delta) -> bool + + + Add user-defined SP register change point. + + @param ea: linear address where SP changes (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function append_func_tail in module idc: + +append_func_tail(funcea, ea1, ea2) + 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 + +Help on function apply_type in module idc: + +apply_type(ea, py_type, flags=1) + 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 + +Help on function ask_seg in module ida_kernwin: + +ask_seg(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_yn in module ida_kernwin: + +ask_yn(*args) + ask_yn(deflt, format) -> int + + + Display a dialog box and get choice from "Yes", "No", "Cancel". + + @param deflt: default choice: one of Button IDs (C++: int) + @param format: The question in printf() style format (C++: const char + *) + @return: the selected button (one of Button IDs ). Esc key returns + ASKBTN_CANCEL . + +Help on function atoa in module idc: + +atoa(ea) + Convert address value to a string + Return address in the form 'seg000:1234' + (the same as in line prefixes) + + @param ea: address to format + +Help on function atol in module idc: + +atol(s) + +Help on function attach_process in module ida_dbg: + +attach_process(*args) + 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' + }This function shouldn't be called as a request if 'NO_PROCESS' is + used. + + @param pid: PID of the process to attach to. If NO_PROCESS , a dialog + box will interactively ask the user for the process to + attach to. (C++: pid_t) + @param event_id (C++: int) + +Help on function auto_mark_range in module ida_auto: + +auto_mark_range(*args) + 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) + +Help on function auto_unmark in module ida_auto: + +auto_unmark(*args) + 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) + +Help on function auto_wait in module ida_auto: + +auto_wait(*args) + 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) + +Help on function batch in module idc: + +batch(batch) + 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 + +Help on function byte_value in module idc: + +byte_value(F) + 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. + +Help on function calc_gtn_flags in module ida_name: + +calc_gtn_flags(fromaddr, ea) + Calculate flags for get_ea_name() function + + @param fromaddr: the referring address. May be BADADDR. + @param ea: linear address + + @return: flags + +Help on function call_system in module idc: + +call_system(command) + 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. + +Help on function can_exc_continue in module idc: + +can_exc_continue() + Can it continue after EXCEPTION event? + + @return: boolean + +Help on function check_bpt in module ida_dbg: + +check_bpt(*args) + check_bpt(ea) -> int + + + Check the breakpoint at the specified address. + + @param ea (C++: ea_t) + @return: one of Breakpoint status codes + +Help on function choose_func in module idc: + +choose_func(title) + 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 + +Help on function clear_trace in module idc: + +clear_trace(filename) + Clear the current trace buffer + +Help on function create_align in module ida_bytes: + +create_align(*args) + create_align(ea, length, alignment) -> bool + + + Alignment: 0 or 2..32. If it is 0, is will be calculated. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param alignment (C++: int) + +Help on function create_array in module idc: + +create_array(name) + Create array. + + @param name: The array name. + + @return: -1 in case of failure, a valid array_id otherwise. + +Help on function create_byte in module idc: + +create_byte(ea) + Convert the current item to a byte + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_custdata in module ida_bytes: + +create_custdata(*args) + 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) + +Help on function create_data in module ida_bytes: + +create_data(*args) + create_data(ea, dataflag, size, tid) -> bool + + + Convert to data (byte, word, dword, etc). This function may be used to + create arrays. + + @param ea: linear address (C++: ea_t) + @param dataflag: type of data. Value of function byte_flag() , + word_flag() , etc. (C++: flags_t) + @param size: 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. (C++: asize_t) + @param tid: type id. If the specified type is a structure, then tid is + structure id. Otherwise should be BADNODE . (C++: tid_t) + @return: success + +Help on function create_double in module idc: + +create_double(ea) + Convert the current item to a double floating point (8 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_dword in module idc: + +create_dword(ea) + Convert the current item to a double word (4 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_float in module idc: + +create_float(ea) + Convert the current item to a floating point (4 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_insn in module ida_ua: + +create_insn(*args) + 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: linear address (C++: ea_t) + @param out: the resulting instruction (C++: insn_t *) + @return: the length of the instruction or 0 + +Help on function create_oword in module idc: + +create_oword(ea) + Convert the current item to an octa word (16 bytes/128 bits) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_pack_real in module idc: + +create_pack_real(ea) + Convert the current item to a packed real (10 or 12 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_qword in module idc: + +create_qword(ea) + Convert the current item to a quadro word (8 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_strlit in module idc: + +create_strlit(ea, endea) + 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() + +Help on function create_struct in module idc: + +create_struct(ea, size, strname) + 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 + +Help on function create_tbyte in module idc: + +create_tbyte(ea) + Convert the current item to a tbyte (10 or 12 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_word in module idc: + +create_word(ea) + Convert the current item to a word (2 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_yword in module idc: + +create_yword(ea) + Convert the current item to a ymm word (32 bytes/256 bits) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function define_exception in module ida_dbg: + +define_exception(*args) + define_exception(code, name, desc, flags) -> char const * + + + Convenience function: define new exception code. + + @param code: exception code (cannot be 0) (C++: uint) + @param name: exception name (cannot be empty or NULL) (C++: const char + *) + @param desc: exception description (maybe NULL) (C++: const char *) + @param flags: combination of Exception info flags (C++: int) + @return: failure message or NULL. You must call store_exceptions() + if this function succeeds + +Help on function define_local_var in module idc: + +define_local_var(start, end, location, name) + 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. + +Help on function del_array_element in module idc: + +del_array_element(tag, array_id, idx) + 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. + +Help on function del_bpt in module ida_dbg: + +del_bpt(*args) + del_bpt(ea) -> bool + del_bpt(bptloc) -> bool + + + Delete an existing breakpoint in the debugged process. \sq{Type, + Synchronous function - available as request, Notification, none + (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + +Help on function del_cref in module ida_xref: + +del_cref(*args) + del_cref(frm, to, expand) -> int + + + Delete a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param expand: 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 (C++: bool) + +Help on function del_dref in module ida_xref: + +del_dref(*args) + del_dref(frm, to) + + + Delete a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + +Help on function del_enum in module ida_enum: + +del_enum(*args) + del_enum(id) + + + Delete an enum type. + + + @param id (C++: enum_t) + +Help on function del_enum_member in module idc: + +del_enum_member(enum_id, value, serial, bmask) + 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 ida_enum.DEFMASK as a bitmask + + @return: 1-ok, 0-failed + +Help on function del_extra_cmt in module ida_lines: + +del_extra_cmt(*args) + del_extra_cmt(ea, what) + +Help on function del_fixup in module ida_fixup: + +del_fixup(*args) + del_fixup(source) + + + Delete fixup information. + + + @param source (C++: ea_t) + +Help on function del_func in module ida_funcs: + +del_func(*args) + del_func(ea) -> bool + + + Delete a function. + + @param ea: any address in the function entry chunk (C++: ea_t) + @return: success + +Help on function del_hash_string in module idc: + +del_hash_string(hash_id, key) + Delete a hash element. + + @param hash_id: The hash ID. + @param key: Key of an element + + @return: 1 upon success, 0 otherwise. + +Help on function del_hidden_range in module ida_bytes: + +del_hidden_range(*args) + del_hidden_range(ea) -> bool + + + Delete hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: success + +Help on function del_idc_hotkey in module ida_kernwin: + +del_idc_hotkey(*args) + del_idc_hotkey(hotkey) -> bool + + + Delete IDC function hotkey ( 'ui_del_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + +Help on function del_items in module ida_bytes: + +del_items(*args) + 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: any address within the first item to delete (C++: ea_t) + @param flags: combination of Unexplored byte conversion flags (C++: + int) + @param nbytes: number of bytes in the range to be undefined (C++: + asize_t) + @param may_destroy: optional routine invoked before deleting a head + item. If callback returns false then item has not + to be deleted and operation fails (C++: + may_destroy_cb_t *) + @return: true on sucessful operation, otherwise false + +Help on function del_segm in module ida_segment: + +del_segm(*args) + del_segm(ea, flags) -> bool + + + Delete a segment. + + @param ea: any address belonging to the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function del_selector in module ida_segment: + +del_selector(*args) + 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: number of selector to remove from the translation + table (C++: sel_t) + +Help on function del_source_linnum in module ida_nalt: + +del_source_linnum(*args) + del_source_linnum(ea) + +Help on function del_sourcefile in module ida_lines: + +del_sourcefile(*args) + del_sourcefile(ea) -> bool + + + Delete information about the source file. + + @param ea: linear address (C++: ea_t) + @return: success + +Help on function del_stkpnt in module idc: + +del_stkpnt(func_ea, ea) + Delete SP register change point + + @param func_ea: function start + @param ea: linear address + @return: 1-ok, 0-failed + +Help on function del_struc in module idc: + +del_struc(sid) + 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. + +Help on function del_struc_member in module idc: + +del_struc_member(sid, member_offset) + 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. + +Help on function delete_all_segments in module idc: + +delete_all_segments() + Delete all segments, instructions, comments, i.e. everything + except values of bytes. + +Help on function delete_array in module idc: + +delete_array(array_id) + Delete array, by its ID. + + @param array_id: The ID of the array to delete. + +Help on function demangle_name in module idc: + +demangle_name(name, disable_mask) + 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 + +Help on function detach_process in module ida_dbg: + +detach_process(*args) + detach_process() -> bool + + + Detach the debugger from the debugged process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_detach' } + +Help on function diff_trace_file in module ida_dbg: + +diff_trace_file(*args) + diff_trace_file(nonnul_filename) -> bool + + + Show difference between the current trace and the one from 'filename'. + +Help on function enable_bpt in module ida_dbg: + +enable_bpt(*args) + enable_bpt(ea, enable=True) -> bool + enable_bpt(bptloc, enable=True) -> bool + +Help on function enable_tracing in module idc: + +enable_tracing(trace_level, enable) + Enable step tracing + + @param trace_level: what kind of trace to modify + @param enable: 0: turn off, 1: turn on + + @return: success + +Help on function error in module ida_kernwin: + +error(*args) + error(format) + + + Display a fatal message in a message box and quit IDA + + @param format: message to print + +Help on function eval_idc in module idc: + +eval_idc(expr) + 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 + +Help on function exit_process in module ida_dbg: + +exit_process(*args) + exit_process() -> bool + + + Terminate the debugging of the current process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_exit' } + +Help on function expand_struc in module idc: + +expand_struc(sid, offset, delta, recalc) + 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: recalculate the locations where the structure + type is used + @return: != 0 - ok + +Help on function fclose in module idc: + +fclose(handle) + +Help on function fgetc in module idc: + +fgetc(handle) + +Help on function filelength in module idc: + +filelength(handle) + +Help on function find_binary in module idc: + +find_binary(ea, flag, searchstr, radix=16, from_bc695=False) + +Help on function find_code in module ida_search: + +find_code(*args) + find_code(ea, sflag) -> ea_t + + + Find next code address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_data in module ida_search: + +find_data(*args) + find_data(ea, sflag) -> ea_t + + + Find next data address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_defined in module ida_search: + +find_defined(*args) + 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) + +Help on function find_func_end in module idc: + +find_func_end(ea) + 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 + +Help on function find_imm in module ida_search: + +find_imm(*args) + find_imm(newEA, sflag, srchValue) -> ea_t + + + Find next immediate operand with the given value. + + + @param newEA (C++: ea_t) + @param sflag (C++: int) + @param srchValue (C++: uval_t) + +Help on function find_selector in module idc: + +find_selector(val) + Find a selector which has the specifed 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 + +Help on function find_suspop in module ida_search: + +find_suspop(*args) + find_suspop(ea, sflag) -> ea_t + + + Find next suspicious operand. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_text in module idc: + +find_text(ea, flag, y, x, searchstr, from_bc695=False) + +Help on function find_unknown in module ida_search: + +find_unknown(*args) + find_unknown(ea, sflag) -> ea_t + + + Find next unexplored address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function first_func_chunk in module idc: + +first_func_chunk(funcea) + 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 + +Help on function fopen in module idc: + +fopen(f, mode) + #---------------------------------------------------------------------------- + # F I L E I / O + #---------------------------------------------------------------------------- + +Help on function force_bl_call in module idc: + +force_bl_call(ea) + Force BL instruction to be a call + + @param ea: address of the BL instruction + + @return: 1-ok, 0-failed + +Help on function force_bl_jump in module idc: + +force_bl_jump(ea) + 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 + +Help on function form in module idc: + +form(format, *args) + +Help on function fprintf in module idc: + +fprintf(handle, format, *args) + +Help on function fputc in module idc: + +fputc(byte, handle) + +Help on function fseek in module idc: + +fseek(handle, offset, origin) + +Help on function ftell in module idc: + +ftell(handle) + +Help on function func_contains in module idc: + +func_contains(func_ea, ea) + Does the given function contain the given address? + + @param func_ea: any address belonging to the function + @param ea: linear address + + @return: success + +Help on function gen_file in module idc: + +gen_file(filetype, path, ea1, ea2, flags) + 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 + +Help on function gen_flow_graph in module idc: + +gen_flow_graph(outfile, title, ea1, ea2, flags) + 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. + +Help on function gen_simple_call_chart in module idc: + +gen_simple_call_chart(outfile, title, flags) + 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 + +Help on function generate_disasm_line in module idc: + +generate_disasm_line(ea, flags) + 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. + +Help on function get_array_element in module idc: + +get_array_element(tag, array_id, idx) + 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. + +Help on function get_array_id in module idc: + +get_array_id(name) + 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. + +Help on function get_bmask_cmt in module idc: + +get_bmask_cmt(enum_id, bmask, repeatable) + 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 + +Help on function get_bmask_name in module idc: + +get_bmask_name(enum_id, bmask) + Get bitmask name (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + + @return: name of bitmask or None + +Help on function get_marked_pos in module ida_idc: + +get_marked_pos(*args) + get_marked_pos(slot) -> ea_t + +Help on function get_mark_comment in module ida_idc: + +get_mark_comment(*args) + get_mark_comment(slot) -> PyObject * + +Help on function get_bpt_attr in module idc: + +get_bpt_attr(ea, bptattr) + 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 + +Help on function get_bpt_ea in module idc: + +get_bpt_ea(n) + Get breakpoint address + + @param n: number of breakpoint, is in range 0..get_bpt_qty()-1 + + @return: address of the breakpoint or BADADDR + +Help on function get_bpt_qty in module ida_dbg: + +get_bpt_qty(*args) + get_bpt_qty() -> int + + + Get number of breakpoints. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function get_bpt_tev_ea in module ida_dbg: + +get_bpt_tev_ea(*args) + 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)}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. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a read, read/write or execution trace event. + +Help on function get_bytes in module idc: + +get_bytes(ea, size, use_dbg=False) + 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 + +Help on function get_call_tev_callee in module ida_dbg: + +get_call_tev_callee(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function call event. + +Help on function get_color in module idc: + +get_color(ea, what) + 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) + +Help on function get_curline in module idc: + +get_curline() + Get the disassembly line at the cursor + + @return: string + +Help on function get_current_thread in module ida_dbg: + +get_current_thread(*args) + get_current_thread() -> thid_t + + + Get current thread ID. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_db_byte in module ida_bytes: + +get_db_byte(*args) + 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) + +Help on function get_debugger_event_cond in module ida_dbg: + +get_debugger_event_cond(*args) + get_debugger_event_cond() -> char const * + +Help on function get_entry in module ida_entry: + +get_entry(*args) + get_entry(ord) -> ea_t + + + Get entry point address by its ordinal + + @param ord: ordinal number of entry point (C++: uval_t) + @return: address or BADADDR + +Help on function get_entry_name in module ida_entry: + +get_entry_name(*args) + get_entry_name(ord) -> str + + + Get name of the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry name or -1 + +Help on function get_entry_ordinal in module ida_entry: + +get_entry_ordinal(*args) + get_entry_ordinal(idx) -> uval_t + + + Get ordinal number of an entry point. + + @param idx: internal number of entry point. Should be in the range 0.. + get_entry_qty() -1 (C++: size_t) + @return: ordinal number or 0. + +Help on function get_entry_qty in module ida_entry: + +get_entry_qty(*args) + get_entry_qty() -> size_t + + + Get number of entry points. + +Help on function get_enum in module ida_enum: + +get_enum(*args) + get_enum(name) -> enum_t + + + Get enum by name. + + + @param name (C++: const char *) + +Help on function get_enum_cmt in module ida_enum: + +get_enum_cmt(*args) + get_enum_cmt(id, repeatable) -> str + + + Get enum comment. + + + @param id (C++: enum_t) + @param repeatable (C++: bool) + +Help on function get_enum_flag in module ida_enum: + +get_enum_flag(*args) + get_enum_flag(id) -> flags_t + + + Get flags determining the representation of the enum. (currently they + define the numeric base: octal, decimal, hex, bin) and signness. + + @param id (C++: enum_t) + +Help on function get_enum_idx in module ida_enum: + +get_enum_idx(*args) + get_enum_idx(id) -> uval_t + + + Get serial number of enum. The serial number determines the place of + the enum in the enum window. + + @param id (C++: enum_t) + +Help on function get_enum_member in module idc: + +get_enum_member(enum_id, value, serial, bmask) + 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 ida_enum.DEFMASK as a bitmask + + @return: id of constant or -1 if error + +Help on function get_enum_member_bmask in module ida_enum: + +get_enum_member_bmask(*args) + get_enum_member_bmask(id) -> bmask_t + + + Get bitmask of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_by_name in module ida_enum: + +get_enum_member_by_name(*args) + get_enum_member_by_name(name) -> const_t + + + Get a reference to an enum member by its name. + + + @param name (C++: const char *) + +Help on function get_enum_member_cmt in module idc: + +get_enum_member_cmt(const_id, repeatable) + Get comment of a constant + + @param const_id: id of const + @param repeatable: 0:get regular comment, 1:get repeatable comment + + @return: comment string + +Help on function get_enum_member_enum in module ida_enum: + +get_enum_member_enum(*args) + get_enum_member_enum(id) -> enum_t + + + Get the parent enum of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_name in module idc: + +get_enum_member_name(const_id) + Get name of a constant + + @param const_id: id of const + + Returns: name of constant + +Help on function get_enum_member_value in module ida_enum: + +get_enum_member_value(*args) + get_enum_member_value(id) -> uval_t + + + Get value of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_name in module ida_enum: + +get_enum_name(*args) + get_enum_name(id) -> str + + + Get name of enum. + + + @param id (C++: enum_t) + +Help on function get_enum_qty in module ida_enum: + +get_enum_qty(*args) + get_enum_qty() -> size_t + + + Get number of declared 'enum_t' types. + +Help on function get_enum_size in module ida_enum: + +get_enum_size(*args) + get_enum_size(id) -> size_t + + + Get the number of the members of the enum. + + + @param id (C++: enum_t) + +Help on function get_enum_width in module ida_enum: + +get_enum_width(*args) + get_enum_width(id) -> size_t + + + Get the width of a enum element allowed values: 0 + (unspecified),1,2,4,8,16,32,64 + + @param id (C++: enum_t) + +Help on function get_event_bpt_hea in module idc: + +get_event_bpt_hea() + Get hardware address for BREAKPOINT event + + @return: hardware address + +Help on function get_event_ea in module idc: + +get_event_ea() + Get ea for debug event + + @return: ea + +Help on function get_event_exc_code in module idc: + +get_event_exc_code() + Get exception code for EXCEPTION event + + @return: exception code + +Help on function get_event_exc_ea in module idc: + +get_event_exc_ea() + Get address for EXCEPTION event + + @return: adress of exception + +Help on function get_event_exc_info in module idc: + +get_event_exc_info() + Get info for EXCEPTION event + + @return: info string + +Help on function get_event_exit_code in module idc: + +get_event_exit_code() + Get exit code for debug event + + @return: exit code for PROCESS_EXITED, THREAD_EXITED events + +Help on function get_event_id in module idc: + +get_event_id() + Get ID of debug event + + @return: event ID + +Help on function get_event_info in module idc: + +get_event_info() + Get debug event info + + @return: event info: for THREAD_STARTED (thread name) + for LIB_UNLOADED (unloaded library name) + for INFORMATION (message to display) + +Help on function get_event_module_base in module idc: + +get_event_module_base() + Get module base for debug event + + @return: module base + +Help on function get_event_module_name in module idc: + +get_event_module_name() + Get module name for debug event + + @return: module name + +Help on function get_event_module_size in module idc: + +get_event_module_size() + Get module size for debug event + + @return: module size + +Help on function get_event_pid in module idc: + +get_event_pid() + Get process ID for debug event + + @return: process ID + +Help on function get_event_tid in module idc: + +get_event_tid() + Get type ID for debug event + + @return: type ID + +Help on function get_extra_cmt in module ida_lines: + +get_extra_cmt(*args) + get_extra_cmt(ea, what) -> ssize_t + +Help on function get_fchunk_attr in module idc: + +get_fchunk_attr(ea, attr) + 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 + +Help on function get_fchunk_referer in module ida_funcs: + +get_fchunk_referer(*args) + get_fchunk_referer(ea, idx) -> ea_t + +Help on function get_first_bmask in module ida_enum: + +get_first_bmask(*args) + get_first_bmask(id) -> bmask_t + + + Get first bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the smallest bitmask for enum, or DEFMASK + +Help on function get_first_cref_from in module ida_xref: + +get_first_cref_from(*args) + 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!). + + @return: first referenced address. The lastXR variable contains type + of the reference. If the specified instruction doesn't + reference to other instructions then returns BADADDR . + +Help on function get_first_cref_to in module ida_xref: + +get_first_cref_to(*args) + 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: linear address of referenced instruction (C++: ea_t) + @return: linear address of the first referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_first_dref_from in module ida_xref: + +get_first_dref_from(*args) + get_first_dref_from(frm) -> ea_t + + + Get first data referenced from the specified address. + + @return: linear address of first (lowest) data referenced from the + specified address. The lastXR variable contains type of the + reference. Return BADADDR if the specified instruction/data + doesn't reference to anything. + +Help on function get_first_dref_to in module ida_xref: + +get_first_dref_to(*args) + get_first_dref_to(to) -> ea_t + + + Get address of instruction/data referencing to the specified data. + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_first_enum_member in module idc: + +get_first_enum_member(enum_id, bmask) + Get first constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) + + @return: value of constant or idaapi.BADNODE no constants are defined + All constants are sorted by their values as unsigned longs. + +Help on function get_first_fcref_from in module ida_xref: + +get_first_fcref_from(*args) + get_first_fcref_from(frm) -> ea_t + +Help on function get_first_fcref_to in module ida_xref: + +get_first_fcref_to(*args) + get_first_fcref_to(to) -> ea_t + +Help on function get_first_hash_key in module idc: + +get_first_hash_key(hash_id) + Get the first key in the hash. + + @param hash_id: The hash ID. + + @return: the key, 0 otherwise. + +Help on function get_first_index in module idc: + +get_first_index(tag, array_id) + 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. + +Help on function get_first_member in module idc: + +get_first_member(sid) + Get offset of the first member of a structure + + @param sid: structure type ID + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if structure has no members, + otherwise returns offset of the first member. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_first_module in module idc: + +get_first_module() + Enumerate process modules + + @return: first module's base address or None on failure + +Help on function get_first_seg in module idc: + +get_first_seg() + Get first segment + + @return: address of the start of the first segment + BADADDR - no segments are defined + +Help on function get_first_struc_idx in module ida_struct: + +get_first_struc_idx(*args) + get_first_struc_idx() -> uval_t + + + Get index of first structure. + + @return: BADADDR if no known structures, 0 otherwise + +Help on function get_fixup_target_dis in module idc: + +get_fixup_target_dis(ea) + Get fixup target displacement + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup target displacement + +Help on function get_fixup_target_flags in module idc: + +get_fixup_target_flags(ea) + Get fixup target flags + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup target flags + +Help on function get_fixup_target_off in module idc: + +get_fixup_target_off(ea) + Get fixup target offset + + @param ea: address to get information about + + @return: BADADDR - no fixup at the specified address + otherwise returns fixup target offset + +Help on function get_fixup_target_sel in module idc: + +get_fixup_target_sel(ea) + Get fixup target selector + + @param ea: address to get information about + + @return: BADSEL - no fixup at the specified address + otherwise returns fixup target selector + +Help on function get_fixup_target_type in module idc: + +get_fixup_target_type(ea) + Get fixup target type + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup type + +Help on function get_forced_operand in module ida_bytes: + +get_forced_operand(*args) + get_forced_operand(ea, n) -> str + + + Get forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @return: size of forced operand or -1 + +Help on function get_frame_args_size in module idc: + +get_frame_args_size(ea) + 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 does't exist, return -1 + +Help on function get_frame_id in module idc: + +get_frame_id(ea) + 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. + +Help on function get_frame_lvar_size in module idc: + +get_frame_lvar_size(ea) + 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 does't exist, return None + +Help on function get_frame_regs_size in module idc: + +get_frame_regs_size(ea) + 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 does't exist, return None + +Help on function get_frame_size in module idc: + +get_frame_size(ea) + 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 does't exist, return 0 + +Help on function get_full_flags in module ida_bytes: + +get_full_flags(*args) + get_full_flags(ea) -> flags_t + + + Get flags value for address 'ea'. + + @param ea (C++: ea_t) + @return: 0 if address is not present in the program + +Help on function get_func_attr in module idc: + +get_func_attr(ea, attr) + 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 + +Help on function get_func_cmt in module idc: + +get_func_cmt(ea, repeatable) + 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 + +Help on function get_func_flags in module idc: + +get_func_flags(ea) + Retrieve function flags + + @param ea: any address belonging to the function + + @return: -1 - function doesn't exist otherwise returns the flags + +Help on function get_func_name in module idc: + +get_func_name(ea) + Retrieve function name + + @param ea: any address belonging to the function + + @return: null string - function doesn't exist + otherwise returns function name + +Help on function get_func_off_str in module idc: + +get_func_off_str(ea) + 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 + +Help on function get_hash_long in module idc: + +get_hash_long(hash_id, key) + 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. + +Help on function get_hash_string in module idc: + +get_hash_string(hash_id, key) + 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. + +Help on function get_idb_path in module idc: + +get_idb_path() + Get IDB full path + + This function returns full path of the current IDB database + +Help on function get_inf_attr in module idc: + +get_inf_attr(attr) + +Help on function get_input_file_path in module ida_nalt: + +get_input_file_path(*args) + get_input_file_path() -> str + + + Get full path of the input file. + +Help on function get_item_end in module ida_bytes: + +get_item_end(*args) + 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) + +Help on function get_item_head in module ida_bytes: + +get_item_head(*args) + 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) + +Help on function get_item_size in module idc: + +get_item_size(ea) + Get size of instruction or data item in bytes + + @param ea: linear address + + @return: 1..n + +Help on function get_last_bmask in module ida_enum: + +get_last_bmask(*args) + get_last_bmask(id) -> bmask_t + + + Get last bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the biggest bitmask for enum, or DEFMASK + +Help on function get_last_enum_member in module idc: + +get_last_enum_member(enum_id, bmask) + Get last constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) + + @return: value of constant or idaapi.BADNODE no constants are defined + All constants are sorted by their values + as unsigned longs. + +Help on function get_last_hash_key in module idc: + +get_last_hash_key(hash_id) + Get the last key in the hash. + + @param hash_id: The hash ID. + + @return: the key, 0 otherwise. + +Help on function get_last_index in module idc: + +get_last_index(tag, array_id) + 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. + +Help on function get_last_member in module idc: + +get_last_member(sid) + Get offset of the last member of a structure + + @param sid: structure type ID + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if structure has no members, + otherwise returns offset of the last member. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_last_struc_idx in module ida_struct: + +get_last_struc_idx(*args) + get_last_struc_idx() -> uval_t + + + Get index of last structure. + + @return: BADADDR if no known structures, get_struc_qty() -1 + otherwise + +Help on function get_local_tinfo in module idc: + +get_local_tinfo(ordinal) + Get local type information as 'typeinfo' object + + @param ordinal: slot number (1...NumberOfLocalTypes) + @return: None on failure, or (type, fields) tuple. + +Help on function get_manual_insn in module ida_bytes: + +get_manual_insn(*args) + get_manual_insn(ea) -> str + + + Retrieve the user-specified string for the manual instruction. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @return: size of manual instruction or -1 + +Help on function get_member_cmt in module idc: + +get_member_cmt(sid, member_offset, repeatable) + 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: 1: get repeatable comment + 0: get regular comment + + @return: None if bad structure type ID is passed + or no such member in the structure + otherwise returns comment of the specified member. + +Help on function get_member_flag in module idc: + +get_member_flag(sid, member_offset) + Get type 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 type of the member, see bit + definitions above. If the member type is a structure + then function GetMemberStrid() should be used to + get the structure type id. + +Help on function get_member_id in module idc: + +get_member_id(sid, member_offset) + @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. + +Help on function get_member_name in module idc: + +get_member_name(sid, member_offset) + 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. + +Help on function get_member_offset in module idc: + +get_member_offset(sid, member_name) + 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... + +Help on function get_member_qty in module idc: + +get_member_qty(sid) + 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. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_member_size in module idc: + +get_member_size(sid, member_offset) + 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. + +Help on function get_member_strid in module idc: + +get_member_strid(sid, member_offset) + 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. + +Help on function get_min_spd_ea in module idc: + +get_min_spd_ea(func_ea) + 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 + +Help on function get_module_name in module idc: + +get_module_name(base) + Get process module name + + @param base: the base address of the module + + @return: required info or None + +Help on function get_module_size in module idc: + +get_module_size(base) + Get process module size + + @param base: the base address of the module + + @return: required info or -1 + +Help on function get_name in module idc: + +get_name(ea, gtn_flags=0) + 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 + +Help on function get_name_ea in module ida_name: + +get_name_ea(*args) + get_name_ea(_from, name) -> ea_t + + + Get address of the name. Dummy names (like byte_xxxx where xxxx are + hex digits) are parsed by this function to obtain the address. The + database is not consulted for them. This function works only with + regular names. + + @param _from: linear address where the name is used. if not + applicable, then should be BADADDR . (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: address of the name or BADADDR + +Help on function get_name_ea_simple in module idc: + +get_name_ea_simple(name) + Get linear address of a name + + @param name: name of program byte + + @return: address of the name + BADADDR - No such name + +Help on function get_next_bmask in module ida_enum: + +get_next_bmask(*args) + get_next_bmask(id, bmask) -> bmask_t + + + Get next bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value higher than the specified + value, or DEFMASK + +Help on function get_next_cref_from in module ida_xref: + +get_next_cref_from(*args) + get_next_cref_from(frm, current) -> ea_t + + + Get next instruction referenced from the specified instruction. + + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_from() or + previous call to get_next_cref_from() functions. + (C++: ea_t) + @return: next referenced address or BADADDR . The lastXR variable + contains type of the reference. + +Help on function get_next_cref_to in module ida_xref: + +get_next_cref_to(*args) + get_next_cref_to(to, current) -> ea_t + + + Get next instruction referencing to the specified instruction. + + @param to: linear address of referenced instruction (C++: ea_t) + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_to() or previous + call to get_next_cref_to() functions. (C++: ea_t) + @return: linear address of the next referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_next_dref_from in module ida_xref: + +get_next_dref_from(*args) + get_next_dref_from(frm, current) -> ea_t + + + Get next data referenced from the specified address. + + @param current: linear address of current referenced data. This value + is returned by get_first_dref_from() or previous + call to get_next_dref_from() functions. (C++: ea_t) + @return: linear address of next data or BADADDR . The lastXR + variable contains type of the reference + +Help on function get_next_dref_to in module ida_xref: + +get_next_dref_to(*args) + get_next_dref_to(to, current) -> ea_t + + + Get address of instruction/data referencing to the specified data + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @param current: current linear address. This value is returned by + get_first_dref_to() or previous call to + get_next_dref_to() functions. (C++: ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_next_enum_member in module idc: + +get_next_enum_member(enum_id, value, bmask) + Get next constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant ordinary enums accept only ida_enum.DEFMASK as a bitmask + @param value: value of the current constant + + @return: value of a constant with value higher than the specified + value. idaapi.BADNODE no such constants exist. + All constants are sorted by their values as unsigned longs. + +Help on function get_next_fchunk in module idc: + +get_next_fchunk(ea) + 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 + +Help on function get_next_fcref_from in module ida_xref: + +get_next_fcref_from(*args) + get_next_fcref_from(frm, current) -> ea_t + +Help on function get_next_fcref_to in module ida_xref: + +get_next_fcref_to(*args) + get_next_fcref_to(to, current) -> ea_t + +Help on function get_next_fixup_ea in module ida_fixup: + +get_next_fixup_ea(*args) + get_next_fixup_ea(ea) -> ea_t + + + Find next address with fixup information + + @param ea: current address (C++: ea_t) + @return: the next address with fixup information, or BADADDR + +Help on function get_next_func in module idc: + +get_next_func(ea) + Find next function + + @param ea: any address belonging to the function + + @return: BADADDR - no more functions + otherwise returns the next function start address + +Help on function get_next_hash_key in module idc: + +get_next_hash_key(hash_id, key) + Get the next key in the hash. + + @param hash_id: The hash ID. + @param key: The current key. + + @return: the next key, 0 otherwise + +Help on function get_next_index in module idc: + +get_next_index(tag, array_id, idx) + 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. + +Help on function get_next_module in module idc: + +get_next_module(base) + Enumerate process modules + + @param base: previous module's base address + + @return: next module's base address or None on failure + +Help on function get_next_offset in module idc: + +get_next_offset(sid, offset) + Get next offset in a structure + + @param sid: structure type ID + @param offset: current offset + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if no (more) offsets in the structure, + otherwise returns next offset in a structure. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + This function returns a member offset or a hole offset. + It will return size of the structure if input + 'offset' belongs to the last member of the structure. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_next_seg in module idc: + +get_next_seg(ea) + Get next segment + + @param ea: linear address + + @return: start of the next segment + BADADDR - no next segment + +Help on function get_next_struc_idx in module ida_struct: + +get_next_struc_idx(*args) + get_next_struc_idx(idx) -> uval_t + + + Get next struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is out of bounds, otherwise idx++ + +Help on function get_numbered_type_name in module idc: + +get_numbered_type_name(ordinal) + Retrieve a local type name + + @param ordinal: slot number (1...NumberOfLocalTypes) + + returns: local type name or None + +Help on function get_operand_type in module idc: + +get_operand_type(ea, n) + 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 + +Help on function get_operand_value in module idc: + +get_operand_value(ea, n) + 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 + +Help on function get_ordinal_qty in module idc: + +get_ordinal_qty() + Get number of local types + 1 + + @return: value >= 1. 1 means that there are no local types. + +Help on function get_original_byte in module ida_bytes: + +get_original_byte(*args) + 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) + +Help on function get_prev_bmask in module ida_enum: + +get_prev_bmask(*args) + get_prev_bmask(id, bmask) -> bmask_t + + + Get prev bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value lower than the specified value, + or DEFMASK + +Help on function get_prev_enum_member in module idc: + +get_prev_enum_member(enum_id, value, bmask) + Get prev constant in the enum + + @param enum_id: id of enum + @param bmask : bitmask of the constant + ordinary enums accept only ida_enum.DEFMASK as a bitmask + @param value: value of the current constant + + @return: value of a constant with value lower than the specified + value. idaapi.BADNODE no such constants exist. + All constants are sorted by their values as unsigned longs. + +Help on function get_prev_fchunk in module idc: + +get_prev_fchunk(ea) + 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 + +Help on function get_prev_fixup_ea in module ida_fixup: + +get_prev_fixup_ea(*args) + get_prev_fixup_ea(ea) -> ea_t + + + Find previous address with fixup information + + @param ea: current address (C++: ea_t) + @return: the previous address with fixup information, or BADADDR + +Help on function get_prev_func in module idc: + +get_prev_func(ea) + Find previous function + + @param ea: any address belonging to the function + + @return: BADADDR - no more functions + otherwise returns the previous function start address + +Help on function get_prev_hash_key in module idc: + +get_prev_hash_key(hash_id, key) + Get the previous key in the hash. + + @param hash_id: The hash ID. + @param key: The current key. + + @return: the previous key, 0 otherwise + +Help on function get_prev_index in module idc: + +get_prev_index(tag, array_id, idx) + 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. + +Help on function get_prev_offset in module idc: + +get_prev_offset(sid, offset) + Get previous offset in a structure + + @param sid: structure type ID + @param offset: current offset + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if no (more) offsets in the structure, + otherwise returns previous offset in a structure. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + This function returns a member offset or a hole offset. + It will return size of the structure if input + 'offset' is bigger than the structure size. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_prev_struc_idx in module ida_struct: + +get_prev_struc_idx(*args) + get_prev_struc_idx(idx) -> uval_t + + + Get previous struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is negative, otherwise idx - 1 + +Help on function get_process_state in module ida_dbg: + +get_process_state(*args) + 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 + +Help on function get_processes in module ida_dbg: + +get_processes(*args) + 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 *) + @return: number of processes or -1 on error + +Help on function get_qword in module ida_bytes: + +get_qword(*args) + get_qword(ea) -> uint64 + + + Get one qword (64-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_reg_value in module idc: + +get_reg_value(name) + Get register value + + @param name: the register name + + @note: The debugger should be running. otherwise the function fails + the register name should be valid. + It is not necessary to use this function to get register values + because a register name in the script will do too. + + @return: register value (integer or floating point) + +Help on function get_ret_tev_return in module ida_dbg: + +get_ret_tev_return(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function return event. + +Help on function get_root_filename in module ida_nalt: + +get_root_filename(*args) + get_root_filename() -> str + + + Get file name only of the input file. + +Help on function get_screen_ea in module ida_kernwin: + +get_screen_ea(*args) + get_screen_ea() -> ea_t + + + Get the address at the screen cursor ( 'ui_screenea' ) + +Help on function get_segm_attr in module idc: + +get_segm_attr(segea, attr) + Get segment attribute + + @param segea: any address within segment + @param attr: one of SEGATTR_... constants + +Help on function get_segm_by_sel in module idc: + +get_segm_by_sel(base) + 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 + +Help on function get_segm_end in module idc: + +get_segm_end(ea) + 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 + +Help on function get_segm_name in module idc: + +get_segm_name(ea) + Get name of a segment + + @param ea: any address in the segment + + @return: "" - no segment at the specified address + +Help on function get_segm_start in module idc: + +get_segm_start(ea) + 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 + +Help on function get_source_linnum in module ida_nalt: + +get_source_linnum(*args) + get_source_linnum(ea) -> uval_t + +Help on function get_sourcefile in module ida_lines: + +get_sourcefile(*args) + get_sourcefile(ea, bounds=None) -> char const * + + + Get name of source file occupying the given address. + + @param ea: linear address (C++: ea_t) + @param bounds: pointer to the output buffer with the address range for + the current file. May be NULL. (C++: range_t *) + @return: NULL if source file information is not found, otherwise + returns pointer to file name + +Help on function get_sp_delta in module idc: + +get_sp_delta(ea) + 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 + +Help on function get_spd in module idc: + +get_spd(ea) + 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 + +Help on function get_sreg in module idc: + +get_sreg(ea, reg) + 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. + +Help on function get_step_trace_options in module ida_dbg: + +get_step_trace_options(*args) + get_step_trace_options() -> int + + + Get current step tracing options. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @return: Step trace options + +Help on function get_str_type in module idc: + +get_str_type(ea) + Get string type + + @param ea: linear address + + @return: One of STRTYPE_... constants + +Help on function get_strlit_contents in module idc: + +get_strlit_contents(ea, length=-1, strtype=0) + 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 + +Help on function get_struc_by_idx in module ida_struct: + +get_struc_by_idx(*args) + get_struc_by_idx(idx) -> tid_t + + + Get struct id by struct number. + + + @param idx (C++: uval_t) + +Help on function get_struc_cmt in module ida_struct: + +get_struc_cmt(*args) + get_struc_cmt(id, repeatable) -> str + + + Get struct comment. + + + @param id (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_struc_id in module ida_struct: + +get_struc_id(*args) + get_struc_id(name) -> tid_t + + + Get struct id by name. + + + @param name (C++: const char *) + +Help on function get_struc_idx in module ida_struct: + +get_struc_idx(*args) + get_struc_idx(id) -> uval_t + + + Get internal number of the structure. + + + @param id (C++: tid_t) + +Help on function get_struc_name in module ida_struct: + +get_struc_name(*args) + get_struc_name(id, flags=0) -> str + + + Get struct name by id + + @param id: struct id (C++: tid_t) + @param flags: Struct name flags (C++: int) + +Help on function get_struc_qty in module ida_struct: + +get_struc_qty(*args) + get_struc_qty() -> size_t + + + Get number of known structures. + +Help on function get_struc_size in module ida_struct: + +get_struc_size(*args) + get_struc_size(sptr) -> asize_t + get_struc_size(id) -> asize_t + + + Get struct size (also see 'get_struc_size(tid_t)' ) + + + @param sptr (C++: const struc_t *) + +Help on function get_tev_ea in module ida_dbg: + +get_tev_ea(*args) + get_tev_ea(n) -> ea_t + +Help on function get_tev_reg_mem in module ida_dbg: + +get_tev_reg_mem(tev, idx) + +Help on function get_tev_reg_mem_ea in module ida_dbg: + +get_tev_reg_mem_ea(tev, idx) + +Help on function get_tev_reg_mem_qty in module ida_dbg: + +get_tev_reg_mem_qty(tev) + +Help on function get_tev_qty in module ida_dbg: + +get_tev_qty(*args) + get_tev_qty() -> int + + + Get number of trace events available in trace buffer. \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_tev_reg_val in module ida_dbg: + +get_tev_reg_val(tev, reg) + +Help on function get_tev_tid in module ida_dbg: + +get_tev_tid(*args) + get_tev_tid(n) -> int + +Help on function get_tev_type in module ida_dbg: + +get_tev_type(*args) + get_tev_type(n) -> int + +Help on function get_thread_qty in module ida_dbg: + +get_thread_qty(*args) + get_thread_qty() -> int + + + Get number of threads. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_tinfo in module idc: + +get_tinfo(ea) + Get type information of function/variable as 'typeinfo' object + + @param ea: the address of the object + @return: None on failure, or (type, fields) tuple. + +Help on function get_trace_file_desc in module ida_dbg: + +get_trace_file_desc(*args) + get_trace_file_desc(filename) -> str + + + Get the file header of the specified trace file. + + + @param filename (C++: const char *) + +Help on function get_type in module idc: + +get_type(ea) + Get type of function/variable + + @param ea: the address of the object + + @return: type string or None if failed + +Help on function get_wide_byte in module ida_bytes: + +get_wide_byte(*args) + 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) + +Help on function get_wide_dword in module ida_bytes: + +get_wide_dword(*args) + 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 + \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 + + @param ea (C++: ea_t) + +Help on function get_wide_word in module ida_bytes: + +get_wide_word(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_xref_type in module idc: + +get_xref_type() + Return type of the last xref obtained by + [RD]first/next[B0] functions. + + @return: constants fl_* or dr_* + +Help on function getn_enum in module ida_enum: + +getn_enum(*args) + getn_enum(n) -> enum_t + + + Get enum by its ordinal number (0..n). + + + @param n (C++: size_t) + +Help on function getn_thread in module ida_dbg: + +getn_thread(*args) + getn_thread(n) -> thid_t + + + Get the ID of a thread. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: + int) + @return: NO_THREAD if the thread doesn't exist. + +Help on function getn_thread_name in module ida_dbg: + +getn_thread_name(*args) + getn_thread_name(n) -> char const * + + + Get the NAME of a thread \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 + for the current thread (C++: int) + @return: thread name or NULL if the thread doesn't exist. + +Help on function guess_type in module idc: + +guess_type(ea) + 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 + +Help on function hasName in module idc: + +hasName(F) + +Help on function hasUserName in module idc: + +hasUserName(F) + +Help on function has_value in module idc: + +has_value(F) + +Help on function here in module idc: + +here() + # Convenience functions: + +Help on function idadir in module idc: + +idadir() + Get IDA directory + + This function returns the directory where IDA.EXE resides + +Help on function import_type in module idc: + +import_type(idx, type_name) + Copy information from type library to database + Copy structure, union, or enum definition from the type library + to the IDA database. + + @param idx: the position of the new type in the list of + types (structures or enums) -1 means at the end of the list + @param type_name: name of type to copy + + @return: BADNODE-failed, otherwise the type id (structure id or enum id) + +Help on function isBin0 in module idc: + +isBin0(F) + +Help on function isBin1 in module idc: + +isBin1(F) + +Help on function isDec0 in module idc: + +isDec0(F) + +Help on function isDec1 in module idc: + +isDec1(F) + +Help on function isExtra in module idc: + +isExtra(F) + +Help on function isHex0 in module idc: + +isHex0(F) + +Help on function isHex1 in module idc: + +isHex1(F) + +Help on function isOct0 in module idc: + +isOct0(F) + +Help on function isOct1 in module idc: + +isOct1(F) + +Help on function isRef in module idc: + +isRef(F) + +Help on function is_align in module idc: + +is_align(F) + +Help on function is_bf in module ida_enum: + +is_bf(*args) + is_bf(id) -> bool + + + Is enum a bitfield? (otherwise - plain enum, no bitmasks except for + 'DEFMASK' are allowed) + + @param id (C++: enum_t) + +Help on function is_byte in module idc: + +is_byte(F) + +Help on function is_char0 in module idc: + +is_char0(F) + +Help on function is_char1 in module idc: + +is_char1(F) + +Help on function is_code in module idc: + +is_code(F) + +Help on function is_data in module idc: + +is_data(F) + +Help on function is_defarg0 in module idc: + +is_defarg0(F) + +Help on function is_defarg1 in module idc: + +is_defarg1(F) + +Help on function is_double in module idc: + +is_double(F) + +Help on function is_dword in module idc: + +is_dword(F) + +Help on function is_enum0 in module idc: + +is_enum0(F) + +Help on function is_enum1 in module idc: + +is_enum1(F) + +Help on function is_event_handled in module idc: + +is_event_handled() + Is the debug event handled? + + @return: boolean + +Help on function is_float in module idc: + +is_float(F) + +Help on function is_flow in module idc: + +is_flow(F) + +Help on function is_head in module idc: + +is_head(F) + +Help on function is_loaded in module idc: + +is_loaded(ea) + Is the byte initialized? + +Help on function is_manual0 in module idc: + +is_manual0(F) + +Help on function is_manual1 in module idc: + +is_manual1(F) + +Help on function is_mapped in module idc: + +is_mapped(ea) + +Help on function is_off0 in module idc: + +is_off0(F) + +Help on function is_off1 in module idc: + +is_off1(F) + +Help on function is_oword in module idc: + +is_oword(F) + +Help on function is_pack_real in module idc: + +is_pack_real(F) + +Help on function is_qword in module idc: + +is_qword(F) + +Help on function is_seg0 in module idc: + +is_seg0(F) + +Help on function is_seg1 in module idc: + +is_seg1(F) + +Help on function is_stkvar0 in module idc: + +is_stkvar0(F) + +Help on function is_stkvar1 in module idc: + +is_stkvar1(F) + +Help on function is_strlit in module idc: + +is_strlit(F) + +Help on function is_stroff0 in module idc: + +is_stroff0(F) + +Help on function is_stroff1 in module idc: + +is_stroff1(F) + +Help on function is_struct in module idc: + +is_struct(F) + +Help on function is_tail in module idc: + +is_tail(F) + +Help on function is_tbyte in module idc: + +is_tbyte(F) + +Help on function is_union in module idc: + +is_union(sid) + Is a structure a union? + + @param sid: structure type ID + + @return: 1: yes, this is a union id + 0: no + + @note: Unions are a special kind of structures + +Help on function is_unknown in module idc: + +is_unknown(F) + +Help on function is_valid_trace_file in module ida_dbg: + +is_valid_trace_file(*args) + is_valid_trace_file(filename) -> bool + + + Is the specified file a valid trace file for the current database? + + + @param filename (C++: const char *) + +Help on function is_word in module idc: + +is_word(F) + +Help on function jumpto in module ida_kernwin: + +jumpto(*args) + jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool + jumpto(custom_viewer, place, x, y) -> bool + + + Jump to the specified address ( 'ui_jumpto' ). + + @param ea: destination (C++: ea_t) + @param opnum: -1: don't change x coord (C++: int) + @param uijmp_flags: Jump flags (C++: int) + @return: success + +Help on function load_and_run_plugin in module ida_loader: + +load_and_run_plugin(*args) + load_and_run_plugin(name, arg) -> bool + + + Load & run a plugin. + + + @param name (C++: const char *) + @param arg (C++: size_t) + +Help on function load_debugger in module ida_dbg: + +load_debugger(*args) + load_debugger(dbgname, use_remote) -> bool + +Help on function load_trace_file in module ida_dbg: + +load_trace_file(*args) + load_trace_file(filename) -> str + + + Load a recorded trace file in the trace 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 *) + +Help on function loadfile in module idc: + +loadfile(filepath, pos, ea, size) + +Help on function ltoa in module idc: + +ltoa(n, radix) + +Help on function make_array in module idc: + +make_array(ea, nitems) + 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. + +Help on function move_segm in module idc: + +move_segm(ea, to, flags) + 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 + +Help on function msg in module ida_kernwin: + +msg(*args) + msg(o) -> PyObject * + + + 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 + +Help on function next_addr in module ida_bytes: + +next_addr(*args) + 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. + +Help on function next_func_chunk in module idc: + +next_func_chunk(funcea, tailea) + 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 + +Help on function next_head in module idc: + +next_head(ea, maxea=BADADDR)↗ + 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 + +Help on function next_not_tail in module ida_bytes: + +next_not_tail(*args) + next_not_tail(ea) -> ea_t + + + Get address of next non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function op_bin in module ida_bytes: + +op_bin(*args) + op_bin(ea, n) -> bool + + + set op type to 'bin_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_chr in module ida_bytes: + +op_chr(*args) + op_chr(ea, n) -> bool + + + set op type to 'char_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_dec in module ida_bytes: + +op_dec(*args) + op_dec(ea, n) -> bool + + + set op type to 'dec_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_enum in module ida_bytes: + +op_enum(*args) + op_enum(ea, n, id, serial) -> bool + + + Set operand representation to be 'enum_t'. If applied to unexplored + bytes, converts them to 16/32bit word data + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @param id: id of enum (C++: enum_t) + @param serial: 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 (C++: uchar) + @return: success + +Help on function op_flt in module ida_bytes: + +op_flt(*args) + op_flt(ea, n) -> bool + + + set op type to 'flt_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_hex in module ida_bytes: + +op_hex(*args) + op_hex(ea, n) -> bool + + + set op type to 'hex_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function set_forced_operand in module ida_bytes: + +set_forced_operand(*args) + set_forced_operand(ea, n, op) -> bool + + + Set forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @param op: text of operand NULL: do nothing (return 0) "" : delete + forced operand (C++: const char *) + @return: success + +Help on function op_num in module ida_bytes: + +op_num(*args) + op_num(ea, n) -> bool + + + set op type to 'num_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_oct in module ida_bytes: + +op_oct(*args) + op_oct(ea, n) -> bool + + + set op type to 'oct_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_offset in module ida_offset: + +op_offset(*args) + op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int + + + See 'op_offset_ex()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param type (C++: reftype_t) + @param target (C++: ea_t) + @param base (C++: ea_t) + @param tdelta (C++: adiff_t) + +Help on function op_offset_high16 in module idc: + +op_offset_high16(ea, n, target) + 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 + +Help on function op_plain_offset in module idc: + +op_plain_offset(ea, n, base) + 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 + +Help on function op_seg in module ida_bytes: + +op_seg(*args) + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stkvar in module ida_bytes: + +op_stkvar(*args) + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stroff in module idc: + +op_stroff(ea, n, strid, delta) + 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. + +Help on function parse_decl in module idc: + +parse_decl(inputtype, flags) + 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 + +Help on function parse_decls in module idc: + +parse_decls(inputtype, flags=0) + 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) + +Help on function patch_byte in module ida_bytes: + +patch_byte(*args) + 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. + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function put_dbg_byte in module ida_dbg: + +put_dbg_byte(*args) + put_dbg_byte(ea, x) -> bool + + + Change one byte of the debugged process memory. + + @param ea: linear address (C++: ea_t) + @param x: byte value (C++: uint32) + @return: true if the process memory has been modified + +Help on function patch_dword in module ida_bytes: + +patch_dword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_qword in module ida_bytes: + +patch_qword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_word in module ida_bytes: + +patch_word(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function plan_and_wait in module idc: + +plan_and_wait(sEA, eEA, final_pass=True) + 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. + +Help on function plan_to_apply_idasgn in module ida_funcs: + +plan_to_apply_idasgn(*args) + plan_to_apply_idasgn(fname) -> int + + + Add a signature file to the list of planned signature files. + + @param fname: file name. should not contain directory part. (C++: + const char *) + @return: 0 if failed, otherwise number of planned (and applied) + signatures + +Help on function prev_addr in module ida_bytes: + +prev_addr(*args) + prev_addr(ea) -> ea_t + + + Get previous address in the program. + + @param ea (C++: ea_t) + @return: BADADDR if no such address exist. + +Help on function prev_head in module idc: + +prev_head(ea, minea=0) + 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 + +Help on function prev_not_tail in module ida_bytes: + +prev_not_tail(*args) + prev_not_tail(ea) -> ea_t + + + Get address of previous non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function print_decls in module idc: + +print_decls(ordinals, flags) + 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 + +Help on instance of _Feature in module __future__: + +class _Feature + | Methods defined here: + | + | __init__(self, optionalRelease, mandatoryRelease, compiler_flag) + | + | __repr__(self) + | + | getMandatoryRelease(self) + | Return release in which this feature will become mandatory. + | + | This is a 5-tuple, of the same form as sys.version_info, or, if + | the feature was dropped, is None. + | + | getOptionalRelease(self) + | Return first release in which this feature was recognized. + | + | This is a 5-tuple, of the same form as sys.version_info. + +Help on function print_insn_mnem in module idc: + +print_insn_mnem(ea) + 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. + +Help on function print_operand in module idc: + +print_operand(ea, n) + 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 "" + +Help on function process_config_line in module idc: + +process_config_line(directive) + Parse one or more ida.cfg config directives + @param directive: directives to process, for example: PACK_DATABASE=2 + + @note: If the directives are erroneous, a fatal error will be generated. + The settings are permanent: effective for the current session and the next ones + +Help on function process_ui_action in module idc: + +process_ui_action(name, flags=0) + Invokes an IDA UI action by name + + @param name: Command name + @param flags: Reserved. Must be zero + @return: Boolean + +Help on function mark_position in module ida_idc: + +mark_position(*args) + mark_position(ea, lnnum, x, y, slot, comment) + +Help on function qexit in module ida_pro: + +qexit(*args) + qexit(code) + + + Call qatexit functions, shut down UI and kernel, and exit. + + @param code: exit code (C++: int) + +Help on function qsleep in module idc: + +qsleep(milliseconds) + qsleep the specified number of milliseconds + This function suspends IDA for the specified amount of time + + @param milliseconds: time to sleep + +Help on function read_dbg_byte in module idc: + +read_dbg_byte(ea) + Get value of program byte using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_dbg_dword in module idc: + +read_dbg_dword(ea) + Get value of program double-word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function dbg_read_memory in module ida_idd: + +dbg_read_memory(*args) + dbg_read_memory(ea, sz) -> PyObject * + + + Reads from the debugee's memory at the specified ea + @return: + - The read buffer (as a string) + - Or None on failure + +Help on function read_dbg_qword in module idc: + +read_dbg_qword(ea) + Get value of program quadro-word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_dbg_word in module idc: + +read_dbg_word(ea) + Get value of program word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_selection_end in module idc: + +read_selection_end() + Get end address of the selected range + + @return: BADADDR - the user has not selected an range + +Help on function read_selection_start in module idc: + +read_selection_start() + Get start address of the selected range + returns BADADDR - the user has not selected an range + +Help on function readlong in module idc: + +readlong(handle, mostfirst) + +Help on function readshort in module idc: + +readshort(handle, mostfirst) + +Help on function readstr in module idc: + +readstr(handle) + +Help on function rebase_program in module ida_segment: + +rebase_program(*args) + rebase_program(delta, flags) -> int + + + Rebase the whole program by 'delta' bytes. + + @param delta: number of bytes to move the program (C++: adiff_t) + @param flags: Move segment flags it is recommended to use + MSF_FIXONCE so that the loader takes care of global + variables it stored in the database (C++: int) + @return: Move segment result codes + +Help on function recalc_spd in module ida_frame: + +recalc_spd(*args) + 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: linear address of the current instruction (C++: ea_t) + +Help on function refresh_debugger_memory in module ida_dbg: + +refresh_debugger_memory(*args) + refresh_debugger_memory() -> PyObject * + + + Refreshes the debugger memory + @return: Nothing + +Help on function refresh_idaview_anyway in module ida_kernwin: + +refresh_idaview_anyway(*args) + refresh_idaview_anyway() + + + Refresh all disassembly views ( 'ui_refresh' ), forces an immediate + refresh. Please consider 'request_refresh()' instead + +Help on function refresh_choosers in module ida_kernwin: + +refresh_choosers(*args) + refresh_choosers() + +Help on function remove_fchunk in module idc: + +remove_fchunk(funcea, tailea) + 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 + +Help on function rename_array in module idc: + +rename_array(array_id, newname) + 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 + +Help on function rename_entry in module ida_entry: + +rename_entry(*args) + rename_entry(ord, name, flags=0) -> bool + + + Rename entry point. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to a repeatable + comment. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +Help on function resume_process in module idc: + +resume_process() + +Help on function resume_thread in module ida_dbg: + +resume_thread(*args) + resume_thread(tid) -> int + + + Resume thread. \sq{Type, Synchronous function - available as request, + Notification, none (synchronous function)} + + @param tid: thread id (C++: thid_t) + +Help on function retrieve_input_file_md5 in module ida_nalt: + +retrieve_input_file_md5(*args) + retrieve_input_file_md5() -> str + + + Get input file md5. + +Help on function rotate_byte in module idc: + +rotate_byte(x, count) + +Help on function rotate_dword in module idc: + +rotate_dword(x, count) + +Help on function rotate_left in module idc: + +rotate_left(value, count, nbits, offset) + 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 + +Help on function rotate_word in module idc: + +rotate_word(x, count) + +Help on function run_to in module ida_dbg: + +run_to(*args) + 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: target address (C++: ea_t) + @param pid: not used yet. please do not specify this parameter. (C++: + pid_t) + @param tid: not used yet. please do not specify this parameter. (C++: + thid_t) + +Help on function save_database in module idc: + +save_database(idbname, flags=0) + 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 + +Help on function save_trace_file in module ida_dbg: + +save_trace_file(*args) + save_trace_file(filename, description) -> bool + + + Save the current trace in the specified file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function savefile in module idc: + +savefile(filepath, pos, ea, size) + +Help on function sel2para in module idc: + +sel2para(sel) + 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 + +Help on function select_thread in module ida_dbg: + +select_thread(*args) + 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: ID of the thread to select (C++: thid_t) + @return: false if the thread doesn't exist. + +Help on function selector_by_name in module idc: + +selector_by_name(segname) + Get segment selector by name + + @param segname: name of segment + + @return: segment selector or BADADDR + +Help on function send_dbg_command in module idc: + +send_dbg_command(cmd) + 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. + +Help on function set_array_long in module idc: + +set_array_long(array_id, idx, value) + 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 + +Help on function set_array_params in module idc: + +set_array_params(ea, flags, litems, align) + 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 + +Help on function set_array_string in module idc: + +set_array_string(array_id, idx, value) + 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 + +Help on function set_bmask_cmt in module idc: + +set_bmask_cmt(enum_id, bmask, cmt, repeatable) + Set bitmask comment (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + @param cmt: comment + repeatable - type of comment, 0-regular, 1-repeatable + + @return: 1-ok, 0-failed + +Help on function set_bmask_name in module idc: + +set_bmask_name(enum_id, bmask, name) + Set bitmask name (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + @param name: name of bitmask + + @return: 1-ok, 0-failed + +Help on function set_bpt_attr in module idc: + +set_bpt_attr(address, bptattr, value) + 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 attibute value + + @return: success + +Help on function set_bpt_cond in module idc: + +set_bpt_cond(ea, cnd, is_lowcnd=0) + 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 + +Help on function set_cmt in module ida_bytes: + +set_cmt(*args) + set_cmt(ea, comm, rptble) -> bool + + + Set an indented comment. + + @param ea: linear address (C++: ea_t) + @param comm: comment string NULL: do nothing (return 0) "" : + delete comment (C++: const char *) + @param rptble: is repeatable? (C++: bool) + @return: success + +Help on function set_color in module idc: + +set_color(ea, what, color) + 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) + +Help on function set_debugger_event_cond in module ida_dbg: + +set_debugger_event_cond(*args) + set_debugger_event_cond(nonnul_cond) + +Help on function set_debugger_options in module ida_dbg: + +set_debugger_options(*args) + 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 + +Help on function set_default_sreg_value in module idc: + +set_default_sreg_value(ea, reg, value) + 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. + +Help on function set_enum_bf in module ida_enum: + +set_enum_bf(*args) + set_enum_bf(id, bf) -> bool + + + Set 'bitfield' bit of enum (i.e. convert it to a bitfield) + + + @param id (C++: enum_t) + @param bf (C++: bool) + +Help on function set_enum_cmt in module ida_enum: + +set_enum_cmt(*args) + set_enum_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum type. + + + @param id (C++: enum_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_flag in module ida_enum: + +set_enum_flag(*args) + set_enum_flag(id, flag) -> bool + + + Set data representation flags. + + + @param id (C++: enum_t) + @param flag (C++: flags_t) + +Help on function set_enum_idx in module ida_enum: + +set_enum_idx(*args) + set_enum_idx(id, idx) -> bool + + + Set serial number of enum. Also see 'get_enum_idx()' . + + @param id (C++: enum_t) + @param idx (C++: size_t) + +Help on function set_enum_member_cmt in module ida_enum: + +set_enum_member_cmt(*args) + set_enum_member_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum member. + + + @param id (C++: const_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_member_name in module ida_enum: + +set_enum_member_name(*args) + set_enum_member_name(id, name) -> bool + + + Set name of enum member. + + + @param id (C++: const_t) + @param name (C++: const char *) + +Help on function set_enum_name in module ida_enum: + +set_enum_name(*args) + set_enum_name(id, name) -> bool + + + Set name of enum type. + + + @param id (C++: enum_t) + @param name (C++: const char *) + +Help on function set_enum_width in module ida_enum: + +set_enum_width(*args) + set_enum_width(id, width) -> bool + + + See comment for 'get_enum_width()' + + + @param id (C++: enum_t) + @param width (C++: int) + +Help on function set_fchunk_attr in module idc: + +set_fchunk_attr(ea, attr, value) + 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 + +Help on function set_fixup in module idc: + +set_fixup(ea, fixuptype, fixupflags, targetsel, targetoff, displ) + 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 + +Help on function set_flag in module idc: + +set_flag(off, bit, value) + #-------------------------------------------------------------------------- + +Help on function set_frame_size in module idc: + +set_frame_size(ea, lvsize, frregs, argsize) + 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 + +Help on function set_func_attr in module idc: + +set_func_attr(ea, attr, value) + 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 + +Help on function set_func_cmt in module idc: + +set_func_cmt(ea, cmt, repeatable) + 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 + +Help on function set_func_end in module ida_funcs: + +set_func_end(*args) + set_func_end(ea, newend) -> bool + + + Move function chunk end address. + + @param ea: any address in the function (C++: ea_t) + @param newend: new end address of the function (C++: ea_t) + @return: success + +Help on function set_func_flags in module idc: + +set_func_flags(ea, flags) + Change function flags + + @param ea: any address belonging to the function + @param flags: see get_func_flags() for explanations + + @return: !=0 - ok + +Help on function set_hash_long in module idc: + +set_hash_long(hash_id, key, value) + 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 + +Help on function set_hash_string in module idc: + +set_hash_string(hash_id, key, value) + 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 + +Help on function set_ida_state in module ida_auto: + +set_ida_state(*args) + set_ida_state(st) -> idastate_t + + + Change IDA status indicator value + + @param st: - new indicator status (C++: idastate_t) + @return: old indicator status + +Help on function set_inf_attr in module idc: + +set_inf_attr(attr, value) + +Help on function set_local_type in module idc: + +set_local_type(ordinal, input, flags) + 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 + +Help on function set_manual_insn in module ida_bytes: + +set_manual_insn(*args) + set_manual_insn(ea, manual_insn) + + + Set manual instruction string. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @param manual_insn: "" - delete manual string. NULL - do nothing (C++: + const char *) + +Help on function set_member_cmt in module idc: + +set_member_cmt(sid, member_offset, comment, repeatable) + 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 + +Help on function set_member_name in module idc: + +set_member_name(sid, member_offset, name) + 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. + +Help on function set_member_type in module idc: + +set_member_type(sid, member_offset, flag, typeid, nitems, target=-1, tdelta=0, reftype=2) + 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. + +Help on function set_name in module idc: + +set_name(ea, name, flags=0) + 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 + +Help on function set_processor_type in module ida_idp: + +set_processor_type(*args) + 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: name of processor type (one of names present in + \ph{psnames}) (C++: const char *) + @param level: SETPROC_ (C++: setproc_level_t) + @return: success + +Help on function set_reg_value in module idc: + +set_reg_value(value, name) + 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. + +Help on function set_remote_debugger in module ida_dbg: + +set_remote_debugger(*args) + set_remote_debugger(host, _pass, port=-1) + + + Set remote debugging options. Should be used before starting the + debugger. + + @param host: If empty, IDA will use local debugger. If NULL, the host + will not be set. (C++: const char *) + @param port: If -1, the default port number will be used (C++: int) + +Help on function set_root_filename in module ida_nalt: + +set_root_filename(*args) + set_root_filename(file) + + + Set full path of the input file. + + + @param file (C++: const char *) + +Help on function set_segm_addressing in module idc: + +set_segm_addressing(ea, bitness) + Change segment addressing + + @param ea: any address in the segment + @param bitness: 0: 16bit, 1: 32bit, 2: 64bit + + @return: success (boolean) + +Help on function set_segm_alignment in module idc: + +set_segm_alignment(ea, alignment) + 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) + +Help on function set_segm_attr in module idc: + +set_segm_attr(segea, attr, value) + 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. + +Help on function set_segm_class in module idc: + +set_segm_class(ea, segclass) + Change class of the segment + + @param ea: any address in the segment + @param segclass: new class of the segment + + @return: success (boolean) + +Help on function set_segm_combination in module idc: + +set_segm_combination(segea, comb) + 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) + +Help on function set_segm_name in module idc: + +set_segm_name(ea, name) + Change name of the segment + + @param ea: any address in the segment + @param name: new name of the segment + + @return: success (boolean) + +Help on function set_segm_type in module idc: + +set_segm_type(segea, segtype) + Set segment type + + @param segea: any address within segment + @param segtype: new segment type: + + @return: !=0 - ok + +Help on function set_segment_bounds in module idc: + +set_segment_bounds(ea, startea, endea, flags) + 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 + +Help on function set_selector in module ida_segment: + +set_selector(*args) + set_selector(selector, paragraph) -> int + + + Set mapping of selector to a paragraph. You should call this + functionbeforecreating a segment which uses the selector, otherwise + the creation of the segment will fail. + + @param selector: 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. (C++: sel_t) + @param paragraph: paragraph to map selector (C++: ea_t) + +Help on function set_source_linnum in module ida_nalt: + +set_source_linnum(*args) + set_source_linnum(ea, lnnum) + +Help on function set_step_trace_options in module ida_dbg: + +set_step_trace_options(*args) + set_step_trace_options(options) + + + Modify step tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function change_storage_type in module ida_bytes: + +change_storage_type(*args) + change_storage_type(start_ea, end_ea, stt) -> error_t + + + Change flag storage type for address range. + + @param start_ea: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: error code + +Help on function set_struc_cmt in module ida_struct: + +set_struc_cmt(*args) + set_struc_cmt(id, cmt, repeatable) -> bool + + + Set structure comment. + + + @param id (C++: tid_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_struc_idx in module idc: + +set_struc_idx(sid, index) + Change structure index + + @param sid: structure type ID + @param index: new index of the structure + + @return: != 0 - ok + + @note: See get_first_struc_idx() for the explanation of + structure indices and IDs. + +Help on function set_struc_name in module ida_struct: + +set_struc_name(*args) + set_struc_name(id, name) -> bool + + + Set structure name. + + + @param id (C++: tid_t) + @param name (C++: const char *) + +Help on function set_tail_owner in module idc: + +set_tail_owner(tailea, funcea) + 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 + +Help on function set_target_assembler in module ida_idp: + +set_target_assembler(*args) + set_target_assembler(asmnum) -> bool + + + Set target assembler. + + @param asmnum: number of assembler in the current processor module + (C++: int) + @return: success + +Help on function set_trace_file_desc in module ida_dbg: + +set_trace_file_desc(*args) + set_trace_file_desc(filename, description) -> bool + + + Change the description of the specified trace file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function split_sreg_range in module idc: + +split_sreg_range(ea, reg, value, tag=2) + 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 corrent value. + +Help on function start_process in module ida_dbg: + +start_process(*args) + 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' }You can also + use the 'run_to()' function to easily start the execution of a process + until a given address is reached.For all parameters, a NULL value + indicates the debugger will take the value from the defined Process + Options. + + @param path: path to the executable to start (C++: const char *) + @param args: arguments to pass to process (C++: const char *) + @param sdir: starting directory for the process (C++: const char *) + +Help on function step_into in module ida_dbg: + +step_into(*args) + 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' } + +Help on function step_over in module ida_dbg: + +step_over(*args) + 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' } + +Help on function step_until_ret in module ida_dbg: + +step_until_ret(*args) + 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' } + +Help on function strlen in module idc: + +strlen(s) + +Help on function strstr in module idc: + +strstr(s1, s2) + +Help on function substr in module idc: + +substr(s, x1, x2) + +Help on function suspend_process in module ida_dbg: + +suspend_process(*args) + 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) }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. + +Help on function suspend_thread in module ida_dbg: + +suspend_thread(*args) + 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: thread id (C++: thid_t) + +Help on function take_memory_snapshot in module ida_segment: + +take_memory_snapshot(*args) + take_memory_snapshot(only_loader_segs) -> bool + + + Take a memory snapshot of the running process. + + @param only_loader_segs: only is_loader_segm() segments will be + affected (C++: bool) + @return: success + +Help on function to_ea in module idc: + +to_ea(seg, off) + Return value of expression: ((seg<<4) + off) + +Help on function toggle_bnot in module idc: + +toggle_bnot(ea, n) + 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 + +Help on function toggle_sign in module ida_bytes: + +toggle_sign(*args) + 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) + +Help on function update_extra_cmt in module ida_lines: + +update_extra_cmt(*args) + update_extra_cmt(ea, what, str) + +Help on function update_hidden_range in module idc: + +update_hidden_range(ea, visible) + Set hidden range state + + @param ea: any address belonging to the hidden range + @param visible: new state of the range + + @return: != 0 - ok + +Help on function validate_idb_names in module idc: + +validate_idb_names(do_repair=0) + check consistency of IDB name records + @param do_repair: try to repair netnode header it TRUE + @return: number of inconsistent name records + +Help on function value_is_float in module idc: + +value_is_float(var) + +Help on function value_is_func in module idc: + +value_is_func(var) + +Help on function value_is_int64 in module idc: + +value_is_int64(var) + +Help on function value_is_long in module idc: + +value_is_long(var) + +Help on function value_is_pvoid in module idc: + +value_is_pvoid(var) + +Help on function value_is_string in module idc: + +value_is_string(var) + # List of built-in functions + # -------------------------- + # + # The following conventions are used in this list: + # 'ea' is a linear address + # 'success' is 0 if a function failed, 1 otherwise + # 'void' means that function returns no meaningful value (always 0) + # + # All function parameter conversions are made automatically. + # + # ---------------------------------------------------------------------------- + # M I S C E L L A N E O U S + # ---------------------------------------------------------------------------- + +Help on function wait_for_next_event in module ida_dbg: + +wait_for_next_event(*args) + 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: combination of Wait for debugger event flags constants + (C++: int) + @param timeout: number of seconds to wait, -1-infinity (C++: int) + @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= + 0) + +Help on function warning in module ida_kernwin: + +warning(*args) + warning(format) + + + Display a message in a message box + + @param message: 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 + +Help on function write_dbg_memory in module idc: + +write_dbg_memory(ea, data) + 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) + +Help on function writelong in module idc: + +writelong(handle, dword, mostfirst) + +Help on function writeshort in module idc: + +writeshort(handle, word, mostfirst) + +Help on function writestr in module idc: + +writestr(handle, s) + +Help on function xtol in module idc: + +xtol(s) + diff --git a/pydoc_injections3.txt b/pydoc_injections3.txt new file mode 100644 index 0000000..8d7bc97 --- /dev/null +++ b/pydoc_injections3.txt @@ -0,0 +1,82030 @@ +Help on function auto_apply_tail in module ida_auto: + +auto_apply_tail(*args) -> 'void' + auto_apply_tail(tail_ea, parent_ea) + + + Plan to apply the tail_ea chunk to the parent + + @param tail_ea: linear address of start of tail (C++: ea_t) + @param parent_ea: linear address within parent. If BADADDR, + automatically try to find parent via xrefs. (C++: + ea_t) + +Help on function auto_apply_type in module ida_auto: + +auto_apply_type(*args) -> 'void' + 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) + +Help on function auto_cancel in module ida_auto: + +auto_cancel(*args) -> 'void' + 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) + +Help on class auto_display_t in module ida_auto: + +class auto_display_t(builtins.object) + | Proxy of C++ auto_display_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> auto_display_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_auto_display_t(...) + | delete_auto_display_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | auto_display_t_ea_get(self) -> ea_t + | + | state + | auto_display_t_state_get(self) -> idastate_t + | + | thisown + | The membership flag + | + | type + | auto_display_t_type_get(self) -> atype_t + +Help on function auto_get in module ida_auto: + +auto_get(*args) -> 'ea_t' + 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) + +Help on function auto_is_ok in module ida_auto: + +auto_is_ok(*args) -> 'bool' + auto_is_ok() -> bool + + + Are all queues empty? (i.e. has autoanalysis finished?). + +Help on function auto_make_code in module ida_auto: + +auto_make_code(*args) -> 'void' + auto_make_code(ea) + + + Plan to make code. + + + @param ea (C++: ea_t) + +Help on function auto_make_proc in module ida_auto: + +auto_make_proc(*args) -> 'void' + auto_make_proc(ea) + + + Plan to make code&function. + + + @param ea (C++: ea_t) + +Help on function auto_mark in module ida_auto: + +auto_mark(*args) -> 'void' + auto_mark(ea, type) + + + Put single address into a queue. Queues keep addresses sorted. + + + @param ea (C++: ea_t) + @param type (C++: atype_t) + +Help on function auto_mark_range in module ida_auto: + +auto_mark_range(*args) -> 'void' + 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) + +Help on function auto_recreate_insn in module ida_auto: + +auto_recreate_insn(*args) -> 'int' + auto_recreate_insn(ea) -> int + + + Try to create instruction + + @param ea: linear address of callee (C++: ea_t) + @return: the length of the instruction or 0 + +Help on function auto_unmark in module ida_auto: + +auto_unmark(*args) -> 'void' + 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) + +Help on function auto_wait in module ida_auto: + +auto_wait(*args) -> 'bool' + 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) + +Help on function auto_wait_range in module ida_auto: + +auto_wait_range(*args) -> 'ssize_t' + 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) + +Help on function enable_auto in module ida_auto: + +enable_auto(*args) -> 'bool' + 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 + +Help on function get_auto_display in module ida_auto: + +get_auto_display(*args) -> 'void' + get_auto_display(auto_display) + + + Get structure which holds the autoanalysis indicator contents. + + + @param auto_display (C++: auto_display_t *) + +Help on function get_auto_state in module ida_auto: + +get_auto_state(*args) -> 'atype_t' + 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). + +Help on function is_auto_enabled in module ida_auto: + +is_auto_enabled(*args) -> 'bool' + is_auto_enabled() -> bool + + + Get autoanalyzer state. + +Help on function may_create_stkvars in module ida_auto: + +may_create_stkvars(*args) -> 'bool' + may_create_stkvars() -> bool + + + Is it allowed to create stack variables automatically?. This function + should be used by IDP modules before creating stack vars. + +Help on function may_trace_sp in module ida_auto: + +may_trace_sp(*args) -> 'bool' + may_trace_sp() -> bool + + + Is it allowed to trace stack pointer automatically?. This function + should be used by IDP modules before tracing sp. + +Help on function peek_auto_queue in module ida_auto: + +peek_auto_queue(*args) -> 'ea_t' + 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 + +Help on function plan_and_wait in module ida_auto: + +plan_and_wait(*args) -> 'int' + 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. + + @param ea1 (C++: ea_t) + @param ea2 (C++: ea_t) + @param final_pass (C++: bool) + +Help on function plan_ea in module ida_auto: + +plan_ea(*args) -> 'void' + plan_ea(ea) + + + Plan to perform reanalysis. + + + @param ea (C++: ea_t) + +Help on function plan_range in module ida_auto: + +plan_range(*args) -> 'void' + plan_range(sEA, eEA) + + + Plan to perform reanalysis. + + + @param sEA (C++: ea_t) + @param eEA (C++: ea_t) + +Help on function reanalyze_callers in module ida_auto: + +reanalyze_callers(*args) -> 'void' + 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: linear address of callee (C++: ea_t) + @param noret: !=0: the callee doesn't return, mark to undefine + subsequent instructions in the caller. 0: do nothing. + (C++: bool) + +Help on function revert_ida_decisions in module ida_auto: + +revert_ida_decisions(*args) -> 'void' + 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) + +Help on function set_auto_state in module ida_auto: + +set_auto_state(*args) -> 'atype_t' + set_auto_state(new_state) -> atype_t + + + Set current state of autoanalyzer. + + @param new_state: new state of autoanalyzer (C++: atype_t) + @return: previous state + +Help on function set_ida_state in module ida_auto: + +set_ida_state(*args) -> 'idastate_t' + set_ida_state(st) -> idastate_t + + + Change IDA status indicator value + + @param st: - new indicator status (C++: idastate_t) + @return: old indicator status + +Help on function show_addr in module ida_auto: + +show_addr(*args) -> 'void' + show_addr(ea) + + + Show an address on the autoanalysis indicator. The address is + displayed in the form " @:12345678". + + @param ea: - linear address to display (C++: ea_t) + +Help on function show_auto in module ida_auto: + +show_auto(*args) -> 'void' + show_auto(ea, type=AU_NONE) + + + Change autoanalysis indicator value. + + @param ea: linear address being analyzed (C++: ea_t) + @param type: autoanalysis type (see Autoanalysis queues ) (C++: + atype_t) + +Help on function __walk_types_and_formats in module ida_bytes: + +__walk_types_and_formats(formats, type_action, format_action, installing) + # ----------------------------------------------------------------------- + +Help on function add_byte in module ida_bytes: + +add_byte(*args) -> 'void' + add_byte(ea, value) + + + Add a value to one byte of the program. This function works for wide + byte processors too. + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint32) + +Help on function add_dword in module ida_bytes: + +add_dword(*args) -> 'void' + 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 \inf{is_be()}this function works incorrectly if + \ph{nbits} > 16 + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function add_hidden_range in module ida_bytes: + +add_hidden_range(*args) -> 'bool' + add_hidden_range(ea1, ea2, description, header, footer, color) -> bool + + + Mark a range of addresses as hidden. The range will be created in the + invisible state with the default color + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (C++: ea_t) + @param description: range parameters (C++: const char *) + @param header: range parameters (C++: const char *) + @param footer: range parameters (C++: const char *) + @param color (C++: bgcolor_t) + @return: success + +Help on function add_mapping in module ida_bytes: + +add_mapping(*args) -> 'bool' + 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.You should + set flag PR2_MAPPING in ph.flag2 to use memory mapping Add memory + mapping range. + + @param _from: start of the mapped range (nonexistent address) (C++: + ea_t) + @param to: start of the mapping range (existent address) (C++: ea_t) + @param size: size of the range (C++: asize_t) + @return: success + +Help on function add_qword in module ida_bytes: + +add_qword(*args) -> 'void' + 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 \inf{is_be()} + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function add_word in module ida_bytes: + +add_word(*args) -> 'void' + 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 \inf{is_be()} + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function align_flag in module ida_bytes: + +align_flag(*args) -> 'flags_t' + align_flag() -> flags_t + + + Get a flags_t representing an alignment directive. + +Help on function append_cmt in module ida_bytes: + +append_cmt(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param str: comment string to append (C++: const char *) + @param rptble: append to repeatable comment? (C++: bool) + @return: success + +Help on function attach_custom_data_format in module ida_bytes: + +attach_custom_data_format(*args) -> 'bool' + attach_custom_data_format(dtid, dfid) -> bool + + + Attach the data format to the data type. + + @param dtid: 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. (C++: int) + @param dfid: data format id (C++: int) + +Help on function bin_flag in module ida_bytes: + +bin_flag(*args) -> 'flags_t' + bin_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function bin_search in module ida_bytes: + +bin_search(*args) -> 'ea_t' + bin_search(start_ea, end_ea, image, imask, step, flags) -> ea_t + +Help on function byte_flag in module ida_bytes: + +byte_flag(*args) -> 'flags_t' + byte_flag() -> flags_t + + + Get a flags_t representing a byte. + +Help on function bytesize in module ida_bytes: + +bytesize(*args) -> 'int' + bytesize(ea) -> int + + + Get number of bytes required to store a byte at the given address. + + + @param ea (C++: ea_t) + +Help on function calc_def_align in module ida_bytes: + +calc_def_align(*args) -> 'int' + calc_def_align(ea, mina, maxa) -> int + + + Calculate default alignment. + + + @param ea (C++: ea_t) + @param mina (C++: int) + @param maxa (C++: int) + +Help on function calc_dflags in module ida_bytes: + +calc_dflags(*args) -> 'flags_t' + calc_dflags(f, force) -> flags_t + +Help on function calc_max_align in module ida_bytes: + +calc_max_align(*args) -> 'int' + calc_max_align(endea) -> int + + + Returns: 0..32. + + + @param endea (C++: ea_t) + +Help on function calc_max_item_end in module ida_bytes: + +calc_max_item_end(*args) -> 'ea_t' + 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: linear address (C++: ea_t) + @param how: when to stop the search. A combination of Item end search + flags (C++: int) + @return: end of new item. If it is not possible to create an item, it + will return 'ea'. + +Help on function calc_min_align in module ida_bytes: + +calc_min_align(*args) -> 'int' + calc_min_align(length) -> int + + + Returns: 1..32. + + + @param length (C++: asize_t) + +Help on function can_define_item in module ida_bytes: + +can_define_item(*args) -> 'bool' + can_define_item(ea, length, flags) -> bool + + + Can define item (instruction/data) of the specified 'length', starting + at 'ea'?if there is an item starting at 'ea', this function ignores + itthis function converts to unexplored all encountered data items with + fixup information. Should be fixed in the future.a new item would + cross segment boundariesa new item would overlap with existing items + (except items specified by 'flags') + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param flags: 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 (C++: + flags_t) + @return: 1-yes, 0-no + +Help on function change_storage_type in module ida_bytes: + +change_storage_type(*args) -> 'error_t' + change_storage_type(start_ea, end_ea, stt) -> error_t + + + Change flag storage type for address range. + + @param start_ea: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: error code + +Help on function char_flag in module ida_bytes: + +char_flag(*args) -> 'flags_t' + char_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function chunk_size in module ida_bytes: + +chunk_size(*args) -> 'asize_t' + 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. + +Help on function chunk_start in module ida_bytes: + +chunk_start(*args) -> 'ea_t' + 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. + +Help on function clr_lzero in module ida_bytes: + +clr_lzero(*args) -> 'bool' + clr_lzero(ea, n) -> bool + + + Clear lzero bit. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function clr_op_type in module ida_bytes: + +clr_op_type(*args) -> 'bool' + clr_op_type(ea, n) -> bool + + + Remove operand representation information. (set operand representation + to be 'undefined') + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function code_flag in module ida_bytes: + +code_flag(*args) -> 'flags_t' + code_flag() -> flags_t + + + 'FF_CODE' + +Help on function create_16bit_data in module ida_bytes: + +create_16bit_data(*args) -> 'bool' + create_16bit_data(ea, length) -> bool + + + Convert to 16-bit quantity (take byte size into account) + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + +Help on function create_32bit_data in module ida_bytes: + +create_32bit_data(*args) -> 'bool' + create_32bit_data(ea, length) -> bool + + + Convert to 32-bit quantity (take byte size into account) + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + +Help on function create_align in module ida_bytes: + +create_align(*args) -> 'bool' + create_align(ea, length, alignment) -> bool + + + Alignment: 0 or 2..32. If it is 0, is will be calculated. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param alignment (C++: int) + +Help on function create_byte in module ida_bytes: + +create_byte(*args) -> 'bool' + create_byte(ea, length, force=False) -> bool + + + Convert to byte. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_custdata in module ida_bytes: + +create_custdata(*args) -> 'bool' + 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) + +Help on function create_data in module ida_bytes: + +create_data(*args) -> 'bool' + create_data(ea, dataflag, size, tid) -> bool + + + Convert to data (byte, word, dword, etc). This function may be used to + create arrays. + + @param ea: linear address (C++: ea_t) + @param dataflag: type of data. Value of function byte_flag() , + word_flag() , etc. (C++: flags_t) + @param size: 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. (C++: asize_t) + @param tid: type id. If the specified type is a structure, then tid is + structure id. Otherwise should be BADNODE . (C++: tid_t) + @return: success + +Help on function create_double in module ida_bytes: + +create_double(*args) -> 'bool' + create_double(ea, length, force=False) -> bool + + + Convert to double. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_dword in module ida_bytes: + +create_dword(*args) -> 'bool' + create_dword(ea, length, force=False) -> bool + + + Convert to dword. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_float in module ida_bytes: + +create_float(*args) -> 'bool' + create_float(ea, length, force=False) -> bool + + + Convert to float. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_oword in module ida_bytes: + +create_oword(*args) -> 'bool' + 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) + +Help on function create_packed_real in module ida_bytes: + +create_packed_real(*args) -> 'bool' + 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) + +Help on function create_qword in module ida_bytes: + +create_qword(*args) -> 'bool' + create_qword(ea, length, force=False) -> bool + + + Convert to quadword. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_strlit in module ida_bytes: + +create_strlit(*args) -> 'bool' + 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: starting address (C++: ea_t) + @param len: length of the string in bytes. if 0, then + get_max_strlit_length() will be used to determine the + length (C++: size_t) + @param strtype: string type. one of String type codes (C++: int32) + @return: success + +Help on function create_struct in module ida_bytes: + +create_struct(*args) -> 'bool' + 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) + +Help on function create_tbyte in module ida_bytes: + +create_tbyte(*args) -> 'bool' + create_tbyte(ea, length, force=False) -> bool + + + Convert to tbyte. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_word in module ida_bytes: + +create_word(*args) -> 'bool' + create_word(ea, length, force=False) -> bool + + + Convert to word. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_yword in module ida_bytes: + +create_yword(*args) -> 'bool' + 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) + +Help on function create_zword in module ida_bytes: + +create_zword(*args) -> 'bool' + 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) + +Help on function cust_flag in module ida_bytes: + +cust_flag(*args) -> 'flags_t' + cust_flag() -> flags_t + + + Get a flags_t representing custom type data. + +Help on function custfmt_flag in module ida_bytes: + +custfmt_flag(*args) -> 'flags_t' + custfmt_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on class data_format_t in module ida_bytes: + +class data_format_t(builtins.object) + | Proxy of C++ data_format_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | Initialize self. See help(type(self)) for accurate signature. + | + | __real__init__ = __init__(self, *args) + | __init__(self, _self, name, value_size=0, menu_name=None, props=0, hotkey=None, text_width=0) -> data_format_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_data_format_t(...) + | delete_data_format_t(self) + | + | _data_format_t__get_id = __get_id(self, *args) -> 'int' + | __get_id(self) -> int + | + | is_present_in_menus(self, *args) -> 'bool' + | is_present_in_menus(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hotkey + | data_format_t_hotkey_get(self) -> char const * + | + | id + | __get_id(self) -> int + | + | menu_name + | data_format_t_menu_name_get(self) -> char const * + | + | name + | data_format_t_name_get(self) -> char const * + | + | props + | data_format_t_props_get(self) -> int + | + | text_width + | data_format_t_text_width_get(self) -> int32 + | + | thisown + | The membership flag + | + | value_size + | data_format_t_value_size_get(self) -> asize_t + +Help on class data_type_t in module ida_bytes: + +class data_type_t(builtins.object) + | Proxy of C++ data_type_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | Initialize self. See help(type(self)) for accurate signature. + | + | __real__init__ = __init__(self, *args) + | __init__(self, _self, name, value_size=0, menu_name=None, hotkey=None, asm_keyword=None, props=0) -> data_type_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_data_type_t(...) + | delete_data_type_t(self) + | + | _data_type_t__get_id = __get_id(self, *args) -> 'int' + | __get_id(self) -> int + | + | is_present_in_menus(self, *args) -> 'bool' + | is_present_in_menus(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | asm_keyword + | data_type_t_asm_keyword_get(self) -> char const * + | + | hotkey + | data_type_t_hotkey_get(self) -> char const * + | + | id + | __get_id(self) -> int + | + | menu_name + | data_type_t_menu_name_get(self) -> char const * + | + | name + | data_type_t_name_get(self) -> char const * + | + | props + | data_type_t_props_get(self) -> int + | + | thisown + | The membership flag + | + | value_size + | data_type_t_value_size_get(self) -> asize_t + +Help on function dec_flag in module ida_bytes: + +dec_flag(*args) -> 'flags_t' + dec_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function del_hidden_range in module ida_bytes: + +del_hidden_range(*args) -> 'bool' + del_hidden_range(ea) -> bool + + + Delete hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: success + +Help on function del_items in module ida_bytes: + +del_items(*args) -> 'bool' + 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: any address within the first item to delete (C++: ea_t) + @param flags: combination of Unexplored byte conversion flags (C++: + int) + @param nbytes: number of bytes in the range to be undefined (C++: + asize_t) + @param may_destroy: optional routine invoked before deleting a head + item. If callback returns false then item has not + to be deleted and operation fails (C++: + may_destroy_cb_t *) + @return: true on sucessful operation, otherwise false + +Help on function del_mapping in module ida_bytes: + +del_mapping(*args) -> 'void' + del_mapping(ea) + + + Delete memory mapping range. + + @param ea: any address in the mapped range (C++: ea_t) + +Help on function del_value in module ida_bytes: + +del_value(*args) -> 'void' + del_value(ea) + + + Delete byte value from flags. The corresponding byte becomes + uninitialized. + + @param ea (C++: ea_t) + +Help on function detach_custom_data_format in module ida_bytes: + +detach_custom_data_format(*args) -> 'bool' + 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: data type id to detach data format from (C++: int) + @param dfid: data format id to detach (C++: int) + +Help on function disable_flags in module ida_bytes: + +disable_flags(*args) -> 'error_t' + 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: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @return: 0 if ok, otherwise return error code + +Help on function double_flag in module ida_bytes: + +double_flag(*args) -> 'flags_t' + double_flag() -> flags_t + + + Get a flags_t representing a double. + +Help on function dword_flag in module ida_bytes: + +dword_flag(*args) -> 'flags_t' + dword_flag() -> flags_t + + + Get a flags_t representing a double word. + +Help on function enable_flags in module ida_bytes: + +enable_flags(*args) -> 'error_t' + 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: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: 0 if ok, otherwise an error code + +Help on function enum_flag in module ida_bytes: + +enum_flag(*args) -> 'flags_t' + enum_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function equal_bytes in module ida_bytes: + +equal_bytes(*args) -> 'bool' + equal_bytes(ea, image, mask, len, sense_case) -> bool + + + Compare 'len' bytes of the program starting from 'ea' with 'image'. + + @param ea: linear address (C++: ea_t) + @param image: bytes to compare with (C++: const uchar *) + @param mask: array of 1/0 bytes, it's length is 'len'. 1 means to + perform the comparison of the corresponding byte. 0 means + not to perform. if mask == NULL, then all bytes of + 'image' will be compared. if mask == SKIP_FF_MASK then + 0xFF bytes will be skipped (C++: const uchar *) + @param len: length of block to compare in bytes. (C++: size_t) + @param sense_case: case-sensitive comparison? (C++: bool) + +Help on function f_has_cmt in module ida_bytes: + +f_has_cmt(*args) -> 'bool' + f_has_cmt(f, arg2) -> bool + +Help on function f_has_dummy_name in module ida_bytes: + +f_has_dummy_name(*args) -> 'bool' + f_has_dummy_name(f, arg2) -> bool + + + Does the current byte have dummy (auto-generated, with special prefix) + name? + + + @param f (C++: flags_t) + +Help on function f_has_extra_cmts in module ida_bytes: + +f_has_extra_cmts(*args) -> 'bool' + f_has_extra_cmts(f, arg2) -> bool + +Help on function f_has_name in module ida_bytes: + +f_has_name(*args) -> 'bool' + f_has_name(f, arg2) -> bool + + + Does the current byte have non-trivial (non-dummy) name? + + + @param f (C++: flags_t) + +Help on function f_has_user_name in module ida_bytes: + +f_has_user_name(*args) -> 'bool' + f_has_user_name(F, arg2) -> bool + + + Does the current byte have user-specified name? + + + @param F (C++: flags_t) + +Help on function f_has_xref in module ida_bytes: + +f_has_xref(*args) -> 'bool' + f_has_xref(f, arg2) -> bool + + + Does the current byte have cross-references to it? + + + @param f (C++: flags_t) + +Help on function f_is_align in module ida_bytes: + +f_is_align(*args) -> 'bool' + f_is_align(F, arg2) -> bool + + + See 'is_align()' + + + @param F (C++: flags_t) + +Help on function f_is_byte in module ida_bytes: + +f_is_byte(*args) -> 'bool' + f_is_byte(F, arg2) -> bool + + + See 'is_byte()' + + + @param F (C++: flags_t) + +Help on function f_is_code in module ida_bytes: + +f_is_code(*args) -> 'bool' + f_is_code(F, arg2) -> bool + + + Does flag denote start of an instruction? + + + @param F (C++: flags_t) + +Help on function f_is_custom in module ida_bytes: + +f_is_custom(*args) -> 'bool' + f_is_custom(F, arg2) -> bool + + + See 'is_custom()' + + + @param F (C++: flags_t) + +Help on function f_is_data in module ida_bytes: + +f_is_data(*args) -> 'bool' + f_is_data(F, arg2) -> bool + + + Does flag denote start of data? + + + @param F (C++: flags_t) + +Help on function f_is_double in module ida_bytes: + +f_is_double(*args) -> 'bool' + f_is_double(F, arg2) -> bool + + + See 'is_double()' + + + @param F (C++: flags_t) + +Help on function f_is_dword in module ida_bytes: + +f_is_dword(*args) -> 'bool' + f_is_dword(F, arg2) -> bool + + + See 'is_dword()' + + + @param F (C++: flags_t) + +Help on function f_is_float in module ida_bytes: + +f_is_float(*args) -> 'bool' + f_is_float(F, arg2) -> bool + + + See 'is_float()' + + + @param F (C++: flags_t) + +Help on function f_is_head in module ida_bytes: + +f_is_head(*args) -> 'bool' + f_is_head(F, arg2) -> bool + + + Does flag denote start of instruction OR data? + + + @param F (C++: flags_t) + +Help on function f_is_not_tail in module ida_bytes: + +f_is_not_tail(*args) -> 'bool' + f_is_not_tail(F, arg2) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function f_is_oword in module ida_bytes: + +f_is_oword(*args) -> 'bool' + f_is_oword(F, arg2) -> bool + + + See 'is_oword()' + + + @param F (C++: flags_t) + +Help on function f_is_pack_real in module ida_bytes: + +f_is_pack_real(*args) -> 'bool' + f_is_pack_real(F, arg2) -> bool + + + See 'is_pack_real()' + + + @param F (C++: flags_t) + +Help on function f_is_qword in module ida_bytes: + +f_is_qword(*args) -> 'bool' + f_is_qword(F, arg2) -> bool + + + See 'is_qword()' + + + @param F (C++: flags_t) + +Help on function f_is_strlit in module ida_bytes: + +f_is_strlit(*args) -> 'bool' + f_is_strlit(F, arg2) -> bool + + + See 'is_strlit()' + + + @param F (C++: flags_t) + +Help on function f_is_struct in module ida_bytes: + +f_is_struct(*args) -> 'bool' + f_is_struct(F, arg2) -> bool + + + See 'is_struct()' + + + @param F (C++: flags_t) + +Help on function f_is_tail in module ida_bytes: + +f_is_tail(*args) -> 'bool' + f_is_tail(F, arg2) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function f_is_tbyte in module ida_bytes: + +f_is_tbyte(*args) -> 'bool' + f_is_tbyte(F, arg2) -> bool + + + See 'is_tbyte()' + + + @param F (C++: flags_t) + +Help on function f_is_word in module ida_bytes: + +f_is_word(*args) -> 'bool' + f_is_word(F, arg2) -> bool + + + See 'is_word()' + + + @param F (C++: flags_t) + +Help on function f_is_yword in module ida_bytes: + +f_is_yword(*args) -> 'bool' + f_is_yword(F, arg2) -> bool + + + See 'is_yword()' + + + @param F (C++: flags_t) + +Help on function find_byte in module ida_bytes: + +find_byte(*args) -> 'ea_t' + 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: linear address (C++: ea_t) + @param size: number of bytes to inspect (C++: asize_t) + @param value: value to find (C++: uchar) + @param bin_search_flags: combination of Search flags (C++: int) + @return: address of byte or BADADDR + +Help on function find_byter in module ida_bytes: + +find_byter(*args) -> 'ea_t' + 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: the lower address of the search range (C++: ea_t) + @param size: number of bytes to inspect (C++: asize_t) + @param value: value to find (C++: uchar) + @param bin_search_flags: combination of Search flags (C++: int) + @return: address of byte or BADADDR + +Help on function find_custom_data_format in module ida_bytes: + +find_custom_data_format(*args) -> 'int' + find_custom_data_format(name) -> int + + + Get id of a custom data format. + + @param name: name of the custom data format (C++: const char *) + @return: id or -1 + +Help on function find_custom_data_type in module ida_bytes: + +find_custom_data_type(*args) -> 'int' + find_custom_data_type(name) -> int + + + Get id of a custom data type. + + @param name: name of the custom data type (C++: const char *) + @return: id or -1 + +Help on function float_flag in module ida_bytes: + +float_flag(*args) -> 'flags_t' + float_flag() -> flags_t + + + Get a flags_t representing a float. + +Help on function flt_flag in module ida_bytes: + +flt_flag(*args) -> 'flags_t' + flt_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function free_chunk in module ida_bytes: + +free_chunk(*args) -> 'ea_t' + free_chunk(bottom, size, step) -> ea_t + + + Search for a hole in the addressing space of the program. + + @param bottom: address to start searching (C++: ea_t) + @param size: size of desired block (C++: asize_t) + @param step: bit mask for the start of hole (0xF would align hole to a + paragraph). if 'step' is negative, the bottom address + with be aligned. otherwise the kernel will try to use it + as is and align it only when the hole is too small. (C++: + int32) + @return: start of the hole or BADADDR + +Help on function get_16bit in module ida_bytes: + +get_16bit(*args) -> 'uint32' + 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() + +Help on function get_32bit in module ida_bytes: + +get_32bit(*args) -> 'uint32' + 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 \ph{nbits}: if ( nbits <= 8 ) + return get_dword(ea); if ( nbits <= 16) return + get_wide_word(ea); return get_wide_byte(ea); + +Help on function get_64bit in module ida_bytes: + +get_64bit(*args) -> 'uint64' + 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 \ph{nbits}: if ( nbits <= 8 ) + return get_qword(ea); if ( nbits <= 16) return + get_wide_dword(ea); return get_wide_byte(ea); + +Help on function get_8bit in module ida_bytes: + +get_8bit(*args) -> 'PyObject *' + get_8bit(ea, v, nbit) -> PyObject * + +Help on function get_byte in module ida_bytes: + +get_byte(*args) -> 'uchar' + 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) + +Help on function get_bytes in module ida_bytes: + +get_bytes(*args) -> 'PyObject *' + 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 + @return: the bytes (as a str), or None in case of failure + +Help on function get_bytes_and_mask in module ida_bytes: + +get_bytes_and_mask(*args) -> 'PyObject *' + 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 + @return: a tuple (bytes, mask), or None in case of failure. + Both 'bytes' and 'mask' are 'str' instances. + +Help on function get_cmt in module ida_bytes: + +get_cmt(*args) -> 'qstring *' + get_cmt(ea, rptble) -> str + + + Get an indented comment. + + @param ea: linear address. may point to tail byte, the function will + find start of the item (C++: ea_t) + @param rptble: get repeatable comment? (C++: bool) + @return: size of comment or -1 + +Help on function get_custom_data_format in module ida_bytes: + +get_custom_data_format(*args) -> 'data_format_t const *' + get_custom_data_format(dfid) -> data_format_t + + + Get definition of a registered custom data format. + + @param dfid: data format id (C++: int) + @return: data format definition or NULL + +Help on function get_custom_data_formats in module ida_bytes: + +get_custom_data_formats(*args) -> 'int' + get_custom_data_formats(out, dtid) -> int + + + Get list of attached custom data formats for the specified data type. + + @param out: buffer for the output. may be NULL (C++: intvec_t *) + @param dtid: data type id (C++: int) + @return: number of returned custom data formats. if error, returns -1 + +Help on function get_custom_data_type in module ida_bytes: + +get_custom_data_type(*args) -> 'data_type_t const *' + get_custom_data_type(dtid) -> data_type_t + + + Get definition of a registered custom data type. + + @param dtid: data type id (C++: int) + @return: data type definition or NULL + +Help on function get_custom_data_types in module ida_bytes: + +get_custom_data_types(*args) -> 'int' + get_custom_data_types(out, min_size=0, max_size=BADADDR) -> int + + + Get list of registered custom data type ids. + + @param out: buffer for the output. may be NULL (C++: intvec_t *) + @param min_size: minimum value size (C++: asize_t) + @param max_size: maximum value size (C++: asize_t) + @return: number of custom data types with the specified size limits + +Help on function get_data_elsize in module ida_bytes: + +get_data_elsize(*args) -> 'asize_t' + get_data_elsize(ea, F, ti=None) -> asize_t + + + Get size of data type specified in flags 'F'. + + @param ea: linear address of the item (C++: ea_t) + @param F: flags (C++: flags_t) + @param ti: 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 NULL). If + specified as NULL, will be automatically retrieved from the + database (C++: const opinfo_t *) + @return: byte : 1 word : 2 etc... + +Help on function get_data_value in module ida_bytes: + +get_data_value(*args) -> 'bool' + 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: pointer to the result. may be NULL (C++: uval_t *) + @param ea: linear address (C++: ea_t) + @param size: size of data to read. If 0, then the item type at 'ea' + will be used (C++: asize_t) + @return: success + +Help on function get_db_byte in module ida_bytes: + +get_db_byte(*args) -> 'uchar' + 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) + +Help on function get_default_radix in module ida_bytes: + +get_default_radix(*args) -> 'int' + get_default_radix() -> int + + + Get default base of number for the current processor. + + @return: 2, 8, 10, 16 + +Help on function get_dword in module ida_bytes: + +get_dword(*args) -> 'uint32' + get_dword(ea) -> uint32 + + + Get one dword (32-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_enum_id in module ida_bytes: + +get_enum_id(*args) -> 'uchar *' + get_enum_id(ea, n) -> enum_t + + + Get enum id of 'enum' operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: id of enum or BADNODE + +Help on function get_first_hidden_range in module ida_bytes: + +get_first_hidden_range(*args) -> 'hidden_range_t *' + get_first_hidden_range() -> hidden_range_t + + + Get pointer to the first hidden range. + + @return: ptr to hidden range or NULL + +Help on function get_flags in module ida_bytes: + +get_flags(*args) -> 'flags_t' + get_flags(ea) -> flags_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) + +Help on function get_flags_by_size in module ida_bytes: + +get_flags_by_size(*args) -> 'flags_t' + get_flags_by_size(size) -> flags_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) + +Help on function get_flags_ex in module ida_bytes: + +get_flags_ex(*args) -> 'flags_t' + get_flags_ex(ea, how) -> flags_t + + + Get flags for the specified address, extended form. + + + @param ea (C++: ea_t) + @param how (C++: int) + +Help on function get_forced_operand in module ida_bytes: + +get_forced_operand(*args) -> 'qstring *' + get_forced_operand(ea, n) -> str + + + Get forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @return: size of forced operand or -1 + +Help on function get_full_data_elsize in module ida_bytes: + +get_full_data_elsize(*args) -> 'asize_t' + 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++: flags_t) + @param ti (C++: const opinfo_t *) + +Help on function get_full_flags in module ida_bytes: + +get_full_flags(*args) -> 'flags_t' + get_full_flags(ea) -> flags_t + + + Get flags value for address 'ea'. + + @param ea (C++: ea_t) + @return: 0 if address is not present in the program + +Help on function get_hidden_range in module ida_bytes: + +get_hidden_range(*args) -> 'hidden_range_t *' + get_hidden_range(ea) -> hidden_range_t + + + Get pointer to hidden range structure, in: linear address. + + @param ea: any address in the hidden range (C++: ea_t) + +Help on function get_hidden_range_num in module ida_bytes: + +get_hidden_range_num(*args) -> 'int' + get_hidden_range_num(ea) -> int + + + Get number of a hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: number of hidden range (0.. get_hidden_range_qty() -1) + +Help on function get_hidden_range_qty in module ida_bytes: + +get_hidden_range_qty(*args) -> 'int' + get_hidden_range_qty() -> int + + + Get number of hidden ranges. + +Help on function get_item_end in module ida_bytes: + +get_item_end(*args) -> 'ea_t' + 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) + +Help on function get_item_flag in module ida_bytes: + +get_item_flag(*args) -> 'flags_t' + get_item_flag(_from, n, ea, appzero) -> flags_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: linear address of the instruction which refers to 'ea' + (C++: ea_t) + @param n: number of operand which refers to 'ea' (C++: int) + @param ea: the referenced address (C++: ea_t) + @param appzero: append a struct field name if the field offset is + zero? meaningful only if the name refers to a + structure. (C++: bool) + @return: flags or 0 (if failed) + +Help on function get_item_head in module ida_bytes: + +get_item_head(*args) -> 'ea_t' + 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) + +Help on function get_item_size in module ida_bytes: + +get_item_size(*args) -> 'asize_t' + get_item_size(ea) -> asize_t + + + Get size of item (instruction/data) in bytes. Unexplored bytes have + length of 1 byte. This function never returns 0. + + @param ea (C++: ea_t) + +Help on function get_last_hidden_range in module ida_bytes: + +get_last_hidden_range(*args) -> 'hidden_range_t *' + get_last_hidden_range() -> hidden_range_t + + + Get pointer to the last hidden range. + + @return: ptr to hidden range or NULL + +Help on function get_manual_insn in module ida_bytes: + +get_manual_insn(*args) -> 'qstring *' + get_manual_insn(ea) -> str + + + Retrieve the user-specified string for the manual instruction. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @return: size of manual instruction or -1 + +Help on function get_mapping in module ida_bytes: + +get_mapping(*args) -> 'ea_t *, ea_t *, asize_t *' + get_mapping(n) -> bool + + + Get memory mapping range by its number. + + @param n: number of mapping range (0.. get_mappings_qty() -1) (C++: + size_t) + @return: false if the specified range doesn't exist, otherwise returns + from , to , size + +Help on function get_mappings_qty in module ida_bytes: + +get_mappings_qty(*args) -> 'size_t' + get_mappings_qty() -> size_t + + + Get number of mappings. + +Help on function get_max_strlit_length in module ida_bytes: + +get_max_strlit_length(*args) -> 'size_t' + get_max_strlit_length(ea, strtype, options=0) -> size_t + + + Determine maximum length of string literal. + + @param ea: starting address (C++: ea_t) + @param strtype: string type. one of String type codes (C++: int32) + @param options: combination of string literal length options (C++: + int) + @return: length of the string in octets (octet==8bit) + +Help on function get_next_hidden_range in module ida_bytes: + +get_next_hidden_range(*args) -> 'hidden_range_t *' + get_next_hidden_range(ea) -> hidden_range_t + + + Get pointer to next hidden range. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to hidden range or NULL if next hidden range doesn't + exist + +Help on function get_octet in module ida_bytes: + +get_octet(*args) -> 'PyObject *' + get_octet(ea, v, nbit) -> PyObject * + + + Get 8 bits of the program at 'ea'. The main usage of this function is + to iterate range of bytes. Here is an example: + + uint64 v; + int nbit = 0; + for ( ... ) { + uchar byte = get_octet(&ea, &v, &nbit); + ... + } + + 'ea' is incremented each time when a new byte is read. In the above + example, it will be incremented in the first loop iteration. + + @param ea (C++: ea_t *) + @param v (C++: uint64 *) + @param nbit (C++: int *) + +Help on function get_opinfo in module ida_bytes: + +get_opinfo(*args) -> 'opinfo_t *' + get_opinfo(buf, ea, n, flags) -> opinfo_t + + + Get additional information about an operand representation. + + @param buf: buffer to receive the result. may not be NULL (C++: + opinfo_t *) + @param ea: linear address of item (C++: ea_t) + @param n: number of operand, 0 or 1 (C++: int) + @param flags: flags of the item (C++: flags_t) + @return: NULL if no additional representation information + +Help on function get_optype_flags0 in module ida_bytes: + +get_optype_flags0(*args) -> 'flags_t' + get_optype_flags0(F) -> flags_t + + + Get flags for first operand. + + + @param F (C++: flags_t) + +Help on function get_optype_flags1 in module ida_bytes: + +get_optype_flags1(*args) -> 'flags_t' + get_optype_flags1(F) -> flags_t + + + Get flags for second operand. + + + @param F (C++: flags_t) + +Help on function get_original_byte in module ida_bytes: + +get_original_byte(*args) -> 'uint64' + 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) + +Help on function get_original_dword in module ida_bytes: + +get_original_dword(*args) -> 'uint64' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_original_qword in module ida_bytes: + +get_original_qword(*args) -> 'uint64' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_original_word in module ida_bytes: + +get_original_word(*args) -> 'uint64' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_predef_insn_cmt in module ida_bytes: + +get_predef_insn_cmt(*args) -> 'qstring *' + get_predef_insn_cmt(ins) -> str + + + Get predefined comment. + + @param ins: current instruction information (C++: const insn_t &) + @return: size of comment or -1 + +Help on function get_prev_hidden_range in module ida_bytes: + +get_prev_hidden_range(*args) -> 'hidden_range_t *' + get_prev_hidden_range(ea) -> hidden_range_t + + + Get pointer to previous hidden range. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to hidden range or NULL if previous hidden range doesn't + exist + +Help on function get_qword in module ida_bytes: + +get_qword(*args) -> 'uint64' + get_qword(ea) -> uint64 + + + Get one qword (64-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_radix in module ida_bytes: + +get_radix(*args) -> 'int' + 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: flags (C++: flags_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: 2, 8, 10, 16 + +Help on function get_strlit_contents in module ida_bytes: + +get_strlit_contents(*args) -> 'PyObject *' + get_strlit_contents(ea, py_len, type, flags=0) -> PyObject * + + + Get bytes contents at location, possibly converted. + It works even if the string has not been created in the database yet. + + Note that this will always return a simple string of bytes + (i.e., a 'str' instance), and not a string of unicode characters. + + If you want auto-conversion to unicode strings (that is: real strings), + you should probably be using the idautils.Strings class. + + @param ea: linear address of the string + @param 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. + +Help on function get_stroff_path in module ida_bytes: + +get_stroff_path(*args) -> 'int' + get_stroff_path(path, delta, ea, n) -> int + + + Get struct path of operand. + + @param path: buffer for structure path (strpath). see nalt.hpp for + more info. (C++: tid_t *) + @param delta: struct offset delta (C++: adiff_t *) + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: length of strpath + +Help on function get_wide_byte in module ida_bytes: + +get_wide_byte(*args) -> 'uint64' + 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) + +Help on function get_wide_dword in module ida_bytes: + +get_wide_dword(*args) -> 'uint64' + 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 + \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 + + @param ea (C++: ea_t) + +Help on function get_wide_word in module ida_bytes: + +get_wide_word(*args) -> 'uint64' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_word in module ida_bytes: + +get_word(*args) -> 'ushort' + get_word(ea) -> ushort + + + Get one word (16-bit) of the program at 'ea'. This function takes into + account order of bytes specified in \inf{is_be()} This function works + only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_zero_ranges in module ida_bytes: + +get_zero_ranges(*args) -> 'bool' + 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: pointer to the return value. cannot be NULL (C++: + rangeset_t *) + @param range: the range of addresses to verify. can be NULL - means + all ranges (C++: const range_t *) + @return: true if the result is a non-empty set + +Help on function getn_hidden_range in module ida_bytes: + +getn_hidden_range(*args) -> 'hidden_range_t *' + getn_hidden_range(n) -> hidden_range_t + + + Get pointer to hidden range structure, in: number of hidden range. + + @param n: number of hidden range, is in range 0.. + get_hidden_range_qty() -1 (C++: int) + +Help on function has_any_name in module ida_bytes: + +has_any_name(*args) -> 'bool' + has_any_name(F) -> bool + + + Does the current byte have any name? + + + @param F (C++: flags_t) + +Help on function has_auto_name in module ida_bytes: + +has_auto_name(*args) -> 'bool' + has_auto_name(F) -> bool + + + Does the current byte have auto-generated (no special prefix) name? + + + @param F (C++: flags_t) + +Help on function has_cmt in module ida_bytes: + +has_cmt(*args) -> 'bool' + has_cmt(F) -> bool + + + Does the current byte have an indented comment? + + + @param F (C++: flags_t) + +Help on function has_dummy_name in module ida_bytes: + +has_dummy_name(*args) -> 'bool' + has_dummy_name(F) -> bool + + + Does the current byte have dummy (auto-generated, with special prefix) + name? + + + @param F (C++: flags_t) + +Help on function has_extra_cmts in module ida_bytes: + +has_extra_cmts(*args) -> 'bool' + has_extra_cmts(F) -> bool + + + Does the current byte have additional anterior or posterior lines? + + + @param F (C++: flags_t) + +Help on function has_immd in module ida_bytes: + +has_immd(*args) -> 'bool' + has_immd(F) -> bool + + + Has immediate value? + + + @param F (C++: flags_t) + +Help on function has_name in module ida_bytes: + +has_name(*args) -> 'bool' + has_name(F) -> bool + + + Does the current byte have non-trivial (non-dummy) name? + + + @param F (C++: flags_t) + +Help on function has_user_name in module ida_bytes: + +has_user_name(*args) -> 'bool' + has_user_name(F) -> bool + + + Does the current byte have user-specified name? + + + @param F (C++: flags_t) + +Help on function has_value in module ida_bytes: + +has_value(*args) -> 'bool' + has_value(F) -> bool + + + Do flags contain byte value? + + + @param F (C++: flags_t) + +Help on function has_xref in module ida_bytes: + +has_xref(*args) -> 'bool' + has_xref(F) -> bool + + + Does the current byte have cross-references to it? + + + @param F (C++: flags_t) + +Help on function hex_flag in module ida_bytes: + +hex_flag(*args) -> 'flags_t' + hex_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on class hidden_range_t in module ida_bytes: + +class hidden_range_t(ida_range.range_t) + | Proxy of C++ hidden_range_t class. + | + | Method resolution order: + | hidden_range_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> hidden_range_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_hidden_range_t(...) + | delete_hidden_range_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | color + | hidden_range_t_color_get(self) -> bgcolor_t + | + | description + | hidden_range_t_description_get(self) -> char * + | + | footer + | hidden_range_t_footer_get(self) -> char * + | + | header + | hidden_range_t_header_get(self) -> char * + | + | thisown + | The membership flag + | + | visible + | hidden_range_t_visible_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on function is_align in module ida_bytes: + +is_align(*args) -> 'bool' + is_align(F) -> bool + + + 'FF_ALIGN' + + + @param F (C++: flags_t) + +Help on function is_attached_custom_data_format in module ida_bytes: + +is_attached_custom_data_format(*args) -> 'bool' + is_attached_custom_data_format(dtid, dfid) -> bool + +Help on function is_bnot in module ida_bytes: + +is_bnot(*args) -> 'bool' + is_bnot(ea, F, n) -> bool + + + Should we negate the operand?. \ash{a_bnot} should be defined in the + idp module in order to work with this function + + @param ea (C++: ea_t) + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_byte in module ida_bytes: + +is_byte(*args) -> 'bool' + is_byte(F) -> bool + + + 'FF_BYTE' + + + @param F (C++: flags_t) + +Help on function is_char in module ida_bytes: + +is_char(*args) -> 'bool' + is_char(F, n) -> bool + + + is character constant? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_char0 in module ida_bytes: + +is_char0(*args) -> 'bool' + is_char0(F) -> bool + + + Is the first operand character constant? (example: push 'a') + + + @param F (C++: flags_t) + +Help on function is_char1 in module ida_bytes: + +is_char1(*args) -> 'bool' + is_char1(F) -> bool + + + Is the second operand character constant? (example: mov al, 'a') + + + @param F (C++: flags_t) + +Help on function is_code in module ida_bytes: + +is_code(*args) -> 'bool' + is_code(F) -> bool + + + Does flag denote start of an instruction? + + + @param F (C++: flags_t) + +Help on function is_custfmt in module ida_bytes: + +is_custfmt(*args) -> 'bool' + is_custfmt(F, n) -> bool + + + is custom data format? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_custfmt0 in module ida_bytes: + +is_custfmt0(*args) -> 'bool' + is_custfmt0(F) -> bool + + + Does the first operand use a custom data representation? + + + @param F (C++: flags_t) + +Help on function is_custfmt1 in module ida_bytes: + +is_custfmt1(*args) -> 'bool' + is_custfmt1(F) -> bool + + + Does the second operand use a custom data representation? + + + @param F (C++: flags_t) + +Help on function is_custom in module ida_bytes: + +is_custom(*args) -> 'bool' + is_custom(F) -> bool + + + 'FF_CUSTOM' + + + @param F (C++: flags_t) + +Help on function is_data in module ida_bytes: + +is_data(*args) -> 'bool' + is_data(F) -> bool + + + Does flag denote start of data? + + + @param F (C++: flags_t) + +Help on function is_defarg in module ida_bytes: + +is_defarg(*args) -> 'bool' + is_defarg(F, n) -> bool + + + is defined? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_defarg0 in module ida_bytes: + +is_defarg0(*args) -> 'bool' + is_defarg0(F) -> bool + + + Is the first operand defined? Initially operand has no defined + representation. + + + @param F (C++: flags_t) + +Help on function is_defarg1 in module ida_bytes: + +is_defarg1(*args) -> 'bool' + is_defarg1(F) -> bool + + + Is the second operand defined? Initially operand has no defined + representation. + + + @param F (C++: flags_t) + +Help on function is_double in module ida_bytes: + +is_double(*args) -> 'bool' + is_double(F) -> bool + + + 'FF_DOUBLE' + + + @param F (C++: flags_t) + +Help on function is_dword in module ida_bytes: + +is_dword(*args) -> 'bool' + is_dword(F) -> bool + + + 'FF_DWORD' + + + @param F (C++: flags_t) + +Help on function is_enum in module ida_bytes: + +is_enum(*args) -> 'bool' + is_enum(F, n) -> bool + + + is enum? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_enum0 in module ida_bytes: + +is_enum0(*args) -> 'bool' + is_enum0(F) -> bool + + + Is the first operand a symbolic constant (enum member)? + + + @param F (C++: flags_t) + +Help on function is_enum1 in module ida_bytes: + +is_enum1(*args) -> 'bool' + is_enum1(F) -> bool + + + Is the second operand a symbolic constant (enum member)? + + + @param F (C++: flags_t) + +Help on function is_float in module ida_bytes: + +is_float(*args) -> 'bool' + is_float(F) -> bool + + + 'FF_FLOAT' + + + @param F (C++: flags_t) + +Help on function is_float0 in module ida_bytes: + +is_float0(*args) -> 'bool' + is_float0(F) -> bool + + + Is the first operand a floating point number? + + + @param F (C++: flags_t) + +Help on function is_float1 in module ida_bytes: + +is_float1(*args) -> 'bool' + is_float1(F) -> bool + + + Is the second operand a floating point number? + + + @param F (C++: flags_t) + +Help on function is_flow in module ida_bytes: + +is_flow(*args) -> 'bool' + is_flow(F) -> bool + + + Does the previous instruction exist and pass execution flow to the + current byte? + + + @param F (C++: flags_t) + +Help on function is_fltnum in module ida_bytes: + +is_fltnum(*args) -> 'bool' + is_fltnum(F, n) -> bool + + + is floating point number? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_forced_operand in module ida_bytes: + +is_forced_operand(*args) -> 'bool' + is_forced_operand(ea, n) -> bool + + + Is operand manually defined?. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + +Help on function is_func in module ida_bytes: + +is_func(*args) -> 'bool' + is_func(F) -> bool + + + Is function start? + + + @param F (C++: flags_t) + +Help on function is_head in module ida_bytes: + +is_head(*args) -> 'bool' + is_head(F) -> bool + + + Does flag denote start of instruction OR data? + + + @param F (C++: flags_t) + +Help on function is_invsign in module ida_bytes: + +is_invsign(*args) -> 'bool' + 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++: flags_t) + @param n (C++: int) + +Help on function is_loaded in module ida_bytes: + +is_loaded(*args) -> 'bool' + is_loaded(ea) -> bool + + + Does the specified address have a byte value (is initialized?) + + + @param ea (C++: ea_t) + +Help on function is_lzero in module ida_bytes: + +is_lzero(*args) -> 'bool' + is_lzero(ea, n) -> bool + + + Display leading zeroes in operands. The global switch for the leading + zeroes is in \inf{s_genflags} The leading zeroes doesn't work if the + octal numbers start with 0 Display leading zeroes? (takes into account + \inf{s_genflags}) + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function is_manual in module ida_bytes: + +is_manual(*args) -> 'bool' + is_manual(F, n) -> bool + + + is forced operand? (use 'is_forced_operand()' ) + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_manual_insn in module ida_bytes: + +is_manual_insn(*args) -> 'bool' + is_manual_insn(ea) -> bool + + + Is the instruction overridden? + + @param ea: linear address of the instruction or data item (C++: ea_t) + +Help on function is_mapped in module ida_bytes: + +is_mapped(*args) -> 'bool' + is_mapped(ea) -> bool + + + Is the specified address 'ea' present in the program? + + + @param ea (C++: ea_t) + +Help on function is_not_tail in module ida_bytes: + +is_not_tail(*args) -> 'bool' + is_not_tail(F) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function is_numop in module ida_bytes: + +is_numop(*args) -> 'bool' + is_numop(F, n) -> bool + + + is number (bin, oct, dec, hex)? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_numop0 in module ida_bytes: + +is_numop0(*args) -> 'bool' + is_numop0(F) -> bool + + + Is the first operand a number (i.e. binary, octal, decimal or hex?) + + + @param F (C++: flags_t) + +Help on function is_numop1 in module ida_bytes: + +is_numop1(*args) -> 'bool' + is_numop1(F) -> bool + + + Is the second operand a number (i.e. binary, octal, decimal or hex?) + + + @param F (C++: flags_t) + +Help on function is_off in module ida_bytes: + +is_off(*args) -> 'bool' + is_off(F, n) -> bool + + + is offset? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_off0 in module ida_bytes: + +is_off0(*args) -> 'bool' + is_off0(F) -> bool + + + Is the first operand offset? (example: push offset xxx) + + + @param F (C++: flags_t) + +Help on function is_off1 in module ida_bytes: + +is_off1(*args) -> 'bool' + is_off1(F) -> bool + + + Is the second operand offset? (example: mov ax, offset xxx) + + + @param F (C++: flags_t) + +Help on function is_oword in module ida_bytes: + +is_oword(*args) -> 'bool' + is_oword(F) -> bool + + + 'FF_OWORD' + + + @param F (C++: flags_t) + +Help on function is_pack_real in module ida_bytes: + +is_pack_real(*args) -> 'bool' + is_pack_real(F) -> bool + + + 'FF_PACKREAL' + + + @param F (C++: flags_t) + +Help on function is_qword in module ida_bytes: + +is_qword(*args) -> 'bool' + is_qword(F) -> bool + + + 'FF_QWORD' + + + @param F (C++: flags_t) + +Help on function is_same_data_type in module ida_bytes: + +is_same_data_type(*args) -> 'bool' + is_same_data_type(F1, F2) -> bool + + + Do the given flags specify the same data type? + + + @param F1 (C++: flags_t) + @param F2 (C++: flags_t) + +Help on function is_seg in module ida_bytes: + +is_seg(*args) -> 'bool' + is_seg(F, n) -> bool + + + is segment? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_seg0 in module ida_bytes: + +is_seg0(*args) -> 'bool' + is_seg0(F) -> bool + + + Is the first operand segment selector? (example: push seg seg001) + + + @param F (C++: flags_t) + +Help on function is_seg1 in module ida_bytes: + +is_seg1(*args) -> 'bool' + is_seg1(F) -> bool + + + Is the second operand segment selector? (example: mov dx, seg dseg) + + + @param F (C++: flags_t) + +Help on function is_stkvar in module ida_bytes: + +is_stkvar(*args) -> 'bool' + is_stkvar(F, n) -> bool + + + is stack variable? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_stkvar0 in module ida_bytes: + +is_stkvar0(*args) -> 'bool' + is_stkvar0(F) -> bool + + + Is the first operand a stack variable? + + + @param F (C++: flags_t) + +Help on function is_stkvar1 in module ida_bytes: + +is_stkvar1(*args) -> 'bool' + is_stkvar1(F) -> bool + + + Is the second operand a stack variable? + + + @param F (C++: flags_t) + +Help on function is_strlit in module ida_bytes: + +is_strlit(*args) -> 'bool' + is_strlit(F) -> bool + + + 'FF_STRLIT' + + + @param F (C++: flags_t) + +Help on function is_stroff in module ida_bytes: + +is_stroff(*args) -> 'bool' + is_stroff(F, n) -> bool + + + is struct offset? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_stroff0 in module ida_bytes: + +is_stroff0(*args) -> 'bool' + is_stroff0(F) -> bool + + + Is the first operand an offset within a struct? + + + @param F (C++: flags_t) + +Help on function is_stroff1 in module ida_bytes: + +is_stroff1(*args) -> 'bool' + is_stroff1(F) -> bool + + + Is the second operand an offset within a struct? + + + @param F (C++: flags_t) + +Help on function is_struct in module ida_bytes: + +is_struct(*args) -> 'bool' + is_struct(F) -> bool + + + 'FF_STRUCT' + + + @param F (C++: flags_t) + +Help on function is_suspop in module ida_bytes: + +is_suspop(*args) -> 'bool' + is_suspop(ea, F, n) -> bool + + + is suspicious operand? + + + @param ea (C++: ea_t) + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_tail in module ida_bytes: + +is_tail(*args) -> 'bool' + is_tail(F) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function is_tbyte in module ida_bytes: + +is_tbyte(*args) -> 'bool' + is_tbyte(F) -> bool + + + 'FF_TBYTE' + + + @param F (C++: flags_t) + +Help on function is_unknown in module ida_bytes: + +is_unknown(*args) -> 'bool' + is_unknown(F) -> bool + + + Does flag denote unexplored byte? + + + @param F (C++: flags_t) + +Help on function is_varsize_item in module ida_bytes: + +is_varsize_item(*args) -> 'int' + is_varsize_item(ea, F, ti=None, itemsize=None) -> int + + + Is the item at 'ea' variable size?. + + @param ea: linear address of the item (C++: ea_t) + @param F: flags (C++: flags_t) + @param ti: 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 NULL). If + specified as NULL, will be automatically retrieved from the + database (C++: const opinfo_t *) + @param itemsize: if not NULL and the item is varsize, itemsize will + contain the calculated item size (for struct types, + the minimal size is returned) (C++: asize_t *) + +Help on function is_word in module ida_bytes: + +is_word(*args) -> 'bool' + is_word(F) -> bool + + + 'FF_WORD' + + + @param F (C++: flags_t) + +Help on function is_yword in module ida_bytes: + +is_yword(*args) -> 'bool' + is_yword(F) -> bool + + + 'FF_YWORD' + + + @param F (C++: flags_t) + +Help on function is_zword in module ida_bytes: + +is_zword(*args) -> 'bool' + is_zword(F) -> bool + + + 'FF_ZWORD' + + + @param F (C++: flags_t) + +Help on function leading_zero_important in module ida_bytes: + +leading_zero_important(*args) -> 'bool' + leading_zero_important(ea, n) -> bool + + + Check if leading zeroes are important. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function nbits in module ida_bytes: + +nbits(*args) -> 'int' + nbits(ea) -> int + + + Get number of bits in a byte at the given address. + + @param ea (C++: ea_t) + @return: \ph{dnbits()} if the address doesn't belong to a segment, + otherwise the result depends on the segment type + +Help on function next_addr in module ida_bytes: + +next_addr(*args) -> 'ea_t' + 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. + +Help on function next_chunk in module ida_bytes: + +next_chunk(*args) -> 'ea_t' + 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. + +Help on function next_head in module ida_bytes: + +next_head(*args) -> 'ea_t' + next_head(ea, maxea) -> ea_t + + + Get start of next defined item. + + @param ea: begin search at this address (C++: ea_t) + @param maxea: not included in the search range (C++: ea_t) + @return: BADADDR if none exists. + +Help on function next_inited in module ida_bytes: + +next_inited(*args) -> 'ea_t' + next_inited(ea, maxea) -> ea_t + + + Find the next initialized address. + + + @param ea (C++: ea_t) + @param maxea (C++: ea_t) + +Help on function next_not_tail in module ida_bytes: + +next_not_tail(*args) -> 'ea_t' + next_not_tail(ea) -> ea_t + + + Get address of next non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function next_that in module ida_bytes: + +next_that(*args) -> 'ea_t' + next_that(ea, maxea, callable) -> ea_t + + + Find next address with a flag satisfying the function 'testf'. + Start searching from address 'ea'+1 and inspect bytes up to 'maxea'. + maxea is not included in the search range. + + @param callable: a Python callable with the following prototype: + callable(flags). Return True to stop enumeration. + @return: the found address or BADADDR. + +Help on function next_unknown in module ida_bytes: + +next_unknown(*args) -> 'ea_t' + 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) + +Help on function num_flag in module ida_bytes: + +num_flag(*args) -> 'flags_t' + num_flag() -> flags_t + + + Get number of default base (bin, oct, dec, hex) + +Help on function oct_flag in module ida_bytes: + +oct_flag(*args) -> 'flags_t' + oct_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function off_flag in module ida_bytes: + +off_flag(*args) -> 'flags_t' + off_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function op_adds_xrefs in module ida_bytes: + +op_adds_xrefs(*args) -> 'bool' + 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++: flags_t) + @param n (C++: int) + +Help on function op_bin in module ida_bytes: + +op_bin(*args) -> 'bool' + op_bin(ea, n) -> bool + + + set op type to 'bin_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_chr in module ida_bytes: + +op_chr(*args) -> 'bool' + op_chr(ea, n) -> bool + + + set op type to 'char_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_custfmt in module ida_bytes: + +op_custfmt(*args) -> 'bool' + 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) + +Help on function op_dec in module ida_bytes: + +op_dec(*args) -> 'bool' + op_dec(ea, n) -> bool + + + set op type to 'dec_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_enum in module ida_bytes: + +op_enum(*args) -> 'bool' + op_enum(ea, n, id, serial) -> bool + + + Set operand representation to be 'enum_t'. If applied to unexplored + bytes, converts them to 16/32bit word data + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @param id: id of enum (C++: enum_t) + @param serial: 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 (C++: uchar) + @return: success + +Help on function op_flt in module ida_bytes: + +op_flt(*args) -> 'bool' + op_flt(ea, n) -> bool + + + set op type to 'flt_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_hex in module ida_bytes: + +op_hex(*args) -> 'bool' + op_hex(ea, n) -> bool + + + set op type to 'hex_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_num in module ida_bytes: + +op_num(*args) -> 'bool' + op_num(ea, n) -> bool + + + set op type to 'num_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_oct in module ida_bytes: + +op_oct(*args) -> 'bool' + op_oct(ea, n) -> bool + + + set op type to 'oct_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_seg in module ida_bytes: + +op_seg(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stkvar in module ida_bytes: + +op_stkvar(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stroff in module ida_bytes: + +op_stroff(*args) -> 'bool' + op_stroff(insn, n, path, path_len, delta) -> bool + + + Set operand representation to be 'struct offset'. If applied to + unexplored bytes, converts them to 16/32bit word data + + @param insn: the instruction (C++: const insn_t &) + @param n: number of operand (0, 1, -1) (C++: int) + @param path: structure path (strpath). see nalt.hpp for more info. + (C++: const tid_t *) + @param path_len: length of the structure path (C++: int) + @param delta: struct offset delta. usually 0. denotes the difference + between the structure base and the pointer into the + structure. (C++: adiff_t) + @return: success + + Example: + Python> + Python> ins = ida_ua.insn_t() + Python> if ida_ua.decode_insn(ins, some_address): + Python> path_len = 1 + Python> path = ida_pro.tid_array(path_len) + Python> path[0] = ida_struct.get_struc_id("my_stucture_t") + Python> ida_bytes.op_stroff(ins, 0, path.cast(), path_len, 0) + Python> + +Help on function oword_flag in module ida_bytes: + +oword_flag(*args) -> 'flags_t' + oword_flag() -> flags_t + + + Get a flags_t representing a octaword. + +Help on function packreal_flag in module ida_bytes: + +packreal_flag(*args) -> 'flags_t' + packreal_flag() -> flags_t + + + Get a flags_t representing a packed decimal real. + +Help on function patch_byte in module ida_bytes: + +patch_byte(*args) -> 'bool' + 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. + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_bytes in module ida_bytes: + +patch_bytes(*args) -> 'void' + 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: linear address (C++: ea_t) + @param buf: buffer with new values of bytes (C++: const void *) + +Help on function patch_dword in module ida_bytes: + +patch_dword(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_qword in module ida_bytes: + +patch_qword(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_word in module ida_bytes: + +patch_word(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function prev_addr in module ida_bytes: + +prev_addr(*args) -> 'ea_t' + prev_addr(ea) -> ea_t + + + Get previous address in the program. + + @param ea (C++: ea_t) + @return: BADADDR if no such address exist. + +Help on function prev_chunk in module ida_bytes: + +prev_chunk(*args) -> 'ea_t' + 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. + +Help on function prev_head in module ida_bytes: + +prev_head(*args) -> 'ea_t' + prev_head(ea, minea) -> ea_t + + + Get start of previous defined item. + + @param ea: begin search at this address (C++: ea_t) + @param minea: included in the search range (C++: ea_t) + @return: BADADDR if none exists. + +Help on function prev_inited in module ida_bytes: + +prev_inited(*args) -> 'ea_t' + prev_inited(ea, minea) -> ea_t + + + Find the previous initialized address. + + + @param ea (C++: ea_t) + @param minea (C++: ea_t) + +Help on function prev_not_tail in module ida_bytes: + +prev_not_tail(*args) -> 'ea_t' + prev_not_tail(ea) -> ea_t + + + Get address of previous non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function prev_that in module ida_bytes: + +prev_that(*args) -> 'ea_t' + prev_that(ea, minea, callable) -> ea_t + + + Find previous address with a flag satisfying the function 'testf'.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: start searching from this address - 1. (C++: ea_t) + @param minea: included in the search range. (C++: ea_t) + @return: the found address or BADADDR . + +Help on function prev_unknown in module ida_bytes: + +prev_unknown(*args) -> 'ea_t' + 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) + +Help on function print_strlit_type in module ida_bytes: + +print_strlit_type(*args) -> 'PyObject *' + 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: the string type (C++: int32) + @param flags: or'ed PSTF_* constants (C++: int) + @return: length of generated text + +Help on function put_byte in module ida_bytes: + +put_byte(*args) -> 'bool' + 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.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: linear address (C++: ea_t) + @param x: byte value (C++: uint64) + @return: true if the database has been modified + +Help on function put_bytes in module ida_bytes: + +put_bytes(*args) -> 'void' + 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: linear address (C++: ea_t) + @param buf: buffer with new values of bytes (C++: const void *) + +Help on function put_dword in module ida_bytes: + +put_dword(*args) -> 'void' + put_dword(ea, x) + + + Set value of one dword of the program. This function takes into + account order of bytes specified in \inf{is_be()} This function works + for wide byte processors too.the original value of the dword is + completely lost and can't be recovered by the 'get_original_dword()' + function. + + @param ea: linear address (C++: ea_t) + @param x: dword value (C++: uint64) + +Help on function put_qword in module ida_bytes: + +put_qword(*args) -> 'void' + put_qword(ea, x) + + + Set value of one qword (8 bytes) of the program. This function takes + into account order of bytes specified in \inf{is_be()} This function + DOESN'T works for wide byte processors. + + @param ea: linear address (C++: ea_t) + @param x: qword value (C++: uint64) + +Help on function put_word in module ida_bytes: + +put_word(*args) -> 'void' + put_word(ea, x) + + + Set value of one word of the program. This function takes into account + order of bytes specified in \inf{is_be()} This function works for wide + byte processors too.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) + +Help on function qword_flag in module ida_bytes: + +qword_flag(*args) -> 'flags_t' + qword_flag() -> flags_t + + + Get a flags_t representing a quad word. + +Help on function register_custom_data_format in module ida_bytes: + +register_custom_data_format(*args) -> 'int' + register_custom_data_format(py_df) -> int + + + Registers a custom data format with a given data type. + @param df: an instance of data_format_t + @return: + < 0 if failed to register + > 0 data format id + +Help on function register_custom_data_type in module ida_bytes: + +register_custom_data_type(*args) -> 'int' + register_custom_data_type(py_dt) -> int + + + Registers a custom data type. + @param dt: an instance of the data_type_t class + @return: + < 0 if failed to register + > 0 data type id + +Help on function register_data_types_and_formats in module ida_bytes: + +register_data_types_and_formats(formats) + 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 + +Help on function revert_byte in module ida_bytes: + +revert_byte(*args) -> 'bool' + revert_byte(ea) -> bool + + + Revert patched byte + + @param ea (C++: ea_t) + +Help on function seg_flag in module ida_bytes: + +seg_flag(*args) -> 'flags_t' + seg_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function set_cmt in module ida_bytes: + +set_cmt(*args) -> 'bool' + set_cmt(ea, comm, rptble) -> bool + + + Set an indented comment. + + @param ea: linear address (C++: ea_t) + @param comm: comment string NULL: do nothing (return 0) "" : + delete comment (C++: const char *) + @param rptble: is repeatable? (C++: bool) + @return: success + +Help on function set_forced_operand in module ida_bytes: + +set_forced_operand(*args) -> 'bool' + set_forced_operand(ea, n, op) -> bool + + + Set forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @param op: text of operand NULL: do nothing (return 0) "" : delete + forced operand (C++: const char *) + @return: success + +Help on function set_immd in module ida_bytes: + +set_immd(*args) -> 'bool' + 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) + +Help on function set_lzero in module ida_bytes: + +set_lzero(*args) -> 'bool' + set_lzero(ea, n) -> bool + + + Set toggle lzero bit. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function set_manual_insn in module ida_bytes: + +set_manual_insn(*args) -> 'void' + set_manual_insn(ea, manual_insn) + + + Set manual instruction string. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @param manual_insn: "" - delete manual string. NULL - do nothing (C++: + const char *) + +Help on function set_op_type in module ida_bytes: + +set_op_type(*args) -> 'bool' + set_op_type(ea, type, n) -> bool + + + (internal function) change representation of operand(s). + + @param ea: linear address (C++: ea_t) + @param type: new flag value (should be obtained from char_flag() , + num_flag() and similar functions) (C++: flags_t) + @param n: number of operand (0, 1, -1) (C++: int) + +Help on function set_opinfo in module ida_bytes: + +set_opinfo(*args) -> 'bool' + 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: linear address of the item (C++: ea_t) + @param n: number of operand, 0 or 1 (C++: int) + @param flag: flags of the item (C++: flags_t) + @param ti: additional representation information (C++: const opinfo_t + *) + @param suppress_events: do not generate changing_op_type and + op_type_changed events (C++: bool) + @return: success + +Help on function stkvar_flag in module ida_bytes: + +stkvar_flag(*args) -> 'flags_t' + stkvar_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function strlit_flag in module ida_bytes: + +strlit_flag(*args) -> 'flags_t' + strlit_flag() -> flags_t + + + Get a flags_t representing a string literal. + +Help on function stroff_flag in module ida_bytes: + +stroff_flag(*args) -> 'flags_t' + stroff_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function stru_flag in module ida_bytes: + +stru_flag(*args) -> 'flags_t' + stru_flag() -> flags_t + + + Get a flags_t representing a struct. + +Help on function tbyte_flag in module ida_bytes: + +tbyte_flag(*args) -> 'flags_t' + tbyte_flag() -> flags_t + + + Get a flags_t representing a tbyte. + +Help on function toggle_bnot in module ida_bytes: + +toggle_bnot(*args) -> 'bool' + toggle_bnot(ea, n) -> bool + + + Toggle binary negation of operand. also see 'is_bnot()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function toggle_lzero in module ida_bytes: + +toggle_lzero(*args) -> 'bool' + toggle_lzero(ea, n) -> bool + +Help on function toggle_sign in module ida_bytes: + +toggle_sign(*args) -> 'bool' + 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) + +Help on function unregister_custom_data_format in module ida_bytes: + +unregister_custom_data_format(*args) -> 'bool' + unregister_custom_data_format(dfid) -> bool + + + Unregisters a custom data format + @param dfid: data format id + @return: Boolean + +Help on function unregister_custom_data_type in module ida_bytes: + +unregister_custom_data_type(*args) -> 'bool' + unregister_custom_data_type(dtid) -> bool + + + Unregisters a custom data type. + @param dtid: the data type id + @return: Boolean + +Help on function unregister_data_types_and_formats in module ida_bytes: + +unregister_data_types_and_formats(formats) + As opposed to register_data_types_and_formats(), this function + unregisters multiple data types and formats at once. + +Help on function update_hidden_range in module ida_bytes: + +update_hidden_range(*args) -> 'bool' + update_hidden_range(ha) -> bool + + + Update hidden range information in the database. You cannot use this + function to change the range boundaries + + @param ha: range to update (C++: const hidden_range_t *) + @return: success + +Help on function use_mapping in module ida_bytes: + +use_mapping(*args) -> 'ea_t' + use_mapping(ea) -> ea_t + + + Translate address according to current mappings. + + @param ea: address to translate (C++: ea_t) + @return: translated address + +Help on function visit_patched_bytes in module ida_bytes: + +visit_patched_bytes(*args) -> 'int' + 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 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. + +Help on function word_flag in module ida_bytes: + +word_flag(*args) -> 'flags_t' + word_flag() -> flags_t + + + Get a flags_t representing a word. + +Help on function yword_flag in module ida_bytes: + +yword_flag(*args) -> 'flags_t' + yword_flag() -> flags_t + + + Get a flags_t representing a ymm word. + +Help on function zword_flag in module ida_bytes: + +zword_flag(*args) -> 'flags_t' + zword_flag() -> flags_t + + + Get a flags_t representing a zmm word. + +=== ida_bytes EPYDOC INJECTIONS === +ida_bytes.ALOPT_IGNCLT +""" +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.) +""" + +ida_bytes.ALOPT_IGNHEADS +""" +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 +""" + +ida_bytes.ALOPT_IGNPRINT +""" +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)) +""" + +ida_bytes.ALOPT_MAX4K +""" +accumulated length + +if string length is more than 4K, return the +""" + +ida_bytes.BIN_SEARCH_BACKWARD +""" +search backward for bytes +""" + +ida_bytes.BIN_SEARCH_CASE +""" +case sensitive +""" + +ida_bytes.BIN_SEARCH_FORWARD +""" +search forward for bytes +""" + +ida_bytes.BIN_SEARCH_INITED +""" +find_byte, find_byter: any initilized value +""" + +ida_bytes.BIN_SEARCH_NOBREAK +""" +don't check for Ctrl-Break +""" + +ida_bytes.BIN_SEARCH_NOCASE +""" +case insensitive +""" + +ida_bytes.BIN_SEARCH_NOSHOW +""" +don't show search progress or update screen +""" + +ida_bytes.DELIT_DELNAMES +""" +delete any names at the specified address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_EXPAND +""" +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. +""" + +ida_bytes.DELIT_KEEPFUNC +""" +Just delete xrefs, ops e.t.c. + +do not undefine the function start. +""" + +ida_bytes.DELIT_NOCMT +""" +reject to delete if a comment is in address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_NOTRUNC +""" +even if 'AF_TRFUNC' is set + +don't truncate the current function +""" + +ida_bytes.DELIT_NOUNAME +""" +reject to delete if a user name is in address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_SIMPLE +""" +simply undefine the specified item(s) +""" + +ida_bytes.DTP_NODUP +""" +do not use dup construct +""" + +ida_bytes.DT_TYPE +""" +Mask for DATA typing. +""" + +ida_bytes.FF_0CHAR +""" +Char ('x')? +""" + +ida_bytes.FF_0CUST +""" +Custom representation? +""" + +ida_bytes.FF_0ENUM +""" +Enumeration? +""" + +ida_bytes.FF_0FLT +""" +Floating point number? +""" + +ida_bytes.FF_0FOP +""" +Forced operand? +""" + +ida_bytes.FF_0NUMB +""" +Binary number? +""" + +ida_bytes.FF_0NUMD +""" +Decimal number? +""" + +ida_bytes.FF_0NUMH +""" +Hexadecimal number? +""" + +ida_bytes.FF_0NUMO +""" +Octal number? +""" + +ida_bytes.FF_0OFF +""" +Offset? +""" + +ida_bytes.FF_0SEG +""" +Segment? +""" + +ida_bytes.FF_0STK +""" +Stack variable? +""" + +ida_bytes.FF_0STRO +""" +Struct offset? +""" + +ida_bytes.FF_0VOID +""" +Void (unknown)? +""" + +ida_bytes.FF_1CHAR +""" +Char ('x')? +""" + +ida_bytes.FF_1CUST +""" +Custom representation? +""" + +ida_bytes.FF_1ENUM +""" +Enumeration? +""" + +ida_bytes.FF_1FLT +""" +Floating point number? +""" + +ida_bytes.FF_1FOP +""" +Forced operand? +""" + +ida_bytes.FF_1NUMB +""" +Binary number? +""" + +ida_bytes.FF_1NUMD +""" +Decimal number? +""" + +ida_bytes.FF_1NUMH +""" +Hexadecimal number? +""" + +ida_bytes.FF_1NUMO +""" +Octal number? +""" + +ida_bytes.FF_1OFF +""" +Offset? +""" + +ida_bytes.FF_1SEG +""" +Segment? +""" + +ida_bytes.FF_1STK +""" +Stack variable? +""" + +ida_bytes.FF_1STRO +""" +Struct offset? +""" + +ida_bytes.FF_1VOID +""" +Void (unknown)? +""" + +ida_bytes.FF_ALIGN +""" +alignment directive +""" + +ida_bytes.FF_BNOT +""" +Bitwise negation of operands. +""" + +ida_bytes.FF_BYTE +""" +byte +""" + +ida_bytes.FF_CODE +""" +Code ? +""" + +ida_bytes.FF_COMM +""" +Has comment ? +""" + +ida_bytes.FF_CUSTOM +""" +custom data type +""" + +ida_bytes.FF_DATA +""" +Data ? +""" + +ida_bytes.FF_DOUBLE +""" +double +""" + +ida_bytes.FF_DWORD +""" +double word +""" + +ida_bytes.FF_FLOAT +""" +float +""" + +ida_bytes.FF_FLOW +""" +Exec flow from prev instruction. +""" + +ida_bytes.FF_FUNC +""" +function start? +""" + +ida_bytes.FF_IMMD +""" +Has Immediate value ? +""" + +ida_bytes.FF_IVL +""" +Byte has value ? +""" + +ida_bytes.FF_JUMP +""" +Has jump table or switch_info? +""" + +ida_bytes.FF_LABL +""" +Has dummy name? +""" + +ida_bytes.FF_LINE +""" +Has next or prev lines ? +""" + +ida_bytes.FF_NAME +""" +Has name ? +""" + +ida_bytes.FF_OWORD +""" +octaword/xmm word (16 bytes/128 bits) +""" + +ida_bytes.FF_PACKREAL +""" +packed decimal real +""" + +ida_bytes.FF_QWORD +""" +quadro word +""" + +ida_bytes.FF_REF +""" +has references +""" + +ida_bytes.FF_SIGN +""" +Inverted sign of operands. +""" + +ida_bytes.FF_STRLIT +""" +string literal +""" + +ida_bytes.FF_STRUCT +""" +struct variable +""" + +ida_bytes.FF_TAIL +""" +Tail ? +""" + +ida_bytes.FF_TBYTE +""" +tbyte +""" + +ida_bytes.FF_UNK +""" +Unknown ? +""" + +ida_bytes.FF_UNUSED +""" +unused bit (was used for variable bytes) +""" + +ida_bytes.FF_WORD +""" +word +""" + +ida_bytes.FF_YWORD +""" +ymm word (32 bytes/256 bits) +""" + +ida_bytes.FF_ZWORD +""" +zmm word (64 bytes/512 bits) +""" + +ida_bytes.GFE_VALUE +""" +get flags with 'FF_IVL' & 'MS_VAL' . It is much slower under remote +debugging because the kernel needs to read the process memory. +""" + +ida_bytes.GMB_READALL +""" +if this bit is not set, fail at first uninited byte + +try to read all bytes +""" + +ida_bytes.GMB_WAITBOX +""" +show wait box (may return -1 in this case) +""" + +ida_bytes.ITEM_END_FIXUP +""" +stop at the first fixup +""" + +ida_bytes.ITEM_END_INITED +""" +stop when initialization changes i.e.if is_loaded(ea): stop if +uninitialized byte is encounteredif !is_loaded(ea): stop if +initialized byte is encountered +""" + +ida_bytes.ITEM_END_NAME +""" +stop at the first named location +""" + +ida_bytes.ITEM_END_XREF +""" +stop at the first referenced location +""" + +ida_bytes.MS_0TYPE +""" +Mask for 1st arg typing. +""" + +ida_bytes.MS_1TYPE +""" +Mask for the type of other operands. +""" + +ida_bytes.MS_CLS +""" +Mask for typing. +""" + +ida_bytes.MS_CODE +""" +Mask for code bits. +""" + +ida_bytes.MS_COMM +""" +Mask of common bits. +""" + +ida_bytes.MS_VAL +""" +Mask for byte value. +""" + +ida_bytes.OPND_ALL +""" +all operands +""" + +ida_bytes.OPND_MASK +""" +mask for operand number +""" + +ida_bytes.OPND_OUTER +""" +used only in set, get, del_offset() functions + +outer offset base (combined with operand number). +""" + +ida_bytes.PSTF_ENC +""" +if encoding is specified, append it +""" + +ida_bytes.PSTF_HOTKEY +""" +have hotkey markers part of the name +""" + +ida_bytes.PSTF_TBRIEF +""" +use brief name (e.g., in the 'Strings window') +""" + +ida_bytes.PSTF_TINLIN +""" +use 'inline' name (e.g., in the structures comments) +""" + +ida_bytes.PSTF_TMASK +""" +type mask +""" + +ida_bytes.PSTF_TNORM +""" +use normal name +""" + +ida_bytes.STRCONV_ESCAPE +""" +convert non-printable characters to C escapes (, \\xNN, \\uNNNN) +""" + +ida_bytes.STRCONV_INCLLEN +""" +for Pascal-style strings, include the prefixing length byte(s) as +C-escaped sequence +""" + +ida_bytes.STRCONV_REPLCHAR +""" +convert non-printable characters to the Unicode replacement character +(U+FFFD) +""" +=== ida_bytes EPYDOC INJECTIONS END === +Help on class DBG_Hooks in module ida_dbg: + +class DBG_Hooks(builtins.object) + | Proxy of C++ DBG_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> DBG_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_DBG_Hooks(...) + | delete_DBG_Hooks(self) + | + | dbg_bpt(self, *args) -> 'int' + | dbg_bpt(self, tid, bptea) -> int + | + | dbg_bpt_changed(self, *args) -> 'void' + | dbg_bpt_changed(self, bptev_code, bpt) + | + | dbg_exception(self, *args) -> 'int' + | dbg_exception(self, pid, tid, ea, exc_code, exc_can_cont, exc_ea, exc_info) -> int + | + | dbg_finished_loading_bpts(self, *args) -> 'void' + | dbg_finished_loading_bpts(self) + | + | dbg_information(self, *args) -> 'void' + | dbg_information(self, pid, tid, ea, info) + | + | dbg_library_load(self, *args) -> 'void' + | dbg_library_load(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_library_unload(self, *args) -> 'void' + | dbg_library_unload(self, pid, tid, ea, info) + | + | dbg_process_attach(self, *args) -> 'void' + | dbg_process_attach(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_process_detach(self, *args) -> 'void' + | dbg_process_detach(self, pid, tid, ea) + | + | dbg_process_exit(self, *args) -> 'void' + | dbg_process_exit(self, pid, tid, ea, exit_code) + | + | dbg_process_start(self, *args) -> 'void' + | dbg_process_start(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_request_error(self, *args) -> 'void' + | dbg_request_error(self, failed_command, failed_dbg_notification) + | + | dbg_run_to(self, *args) -> 'void' + | dbg_run_to(self, pid, tid, ea) + | + | dbg_started_loading_bpts(self, *args) -> 'void' + | dbg_started_loading_bpts(self) + | + | dbg_step_into(self, *args) -> 'void' + | dbg_step_into(self) + | + | dbg_step_over(self, *args) -> 'void' + | dbg_step_over(self) + | + | dbg_step_until_ret(self, *args) -> 'void' + | dbg_step_until_ret(self) + | + | dbg_suspend_process(self, *args) -> 'void' + | dbg_suspend_process(self) + | + | dbg_thread_exit(self, *args) -> 'void' + | dbg_thread_exit(self, pid, tid, ea, exit_code) + | + | dbg_thread_start(self, *args) -> 'void' + | dbg_thread_start(self, pid, tid, ea) + | + | dbg_trace(self, *args) -> 'int' + | dbg_trace(self, tid, ip) -> int + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function add_bpt in module ida_dbg: + +add_bpt(*args) -> 'bool' + add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + add_bpt(bpt) -> bool + + + Add a new breakpoint in the debugged process. \sq{Type, Synchronous + function - available as request, Notification, none (synchronous + function)}Only one breakpoint can exist at a given address. + + @param ea: any address in the process memory space. Depending on the + architecture, hardware breakpoints always be setup at + random address. For example, on x86, hardware breakpoints + should be aligned depending on their size. Moreover, on the + x86 architecture, it is impossible to setup more than 4 + hardware breakpoints. (C++: ea_t) + @param size: size of the breakpoint (irrelevant for software + breakpoints): As for the address, hardware breakpoints + can't always be setup with random size. (C++: asize_t) + @param type: type of the breakpoint ( BPT_SOFT for software + breakpoint) special case BPT_DEFAULT ( BPT_SOFT | + BPT_EXEC ): try to add instruction breakpoint of the + appropriate type as follows: software bpt if supported, + hwbpt otherwise (C++: bpttype_t) + +Help on function add_path_mapping in module ida_dbg: + +add_path_mapping(*args) -> 'void' + add_path_mapping(src, dst) + +Help on function add_virt_module in module ida_dbg: + +add_virt_module(*args) -> 'bool' + add_virt_module(mod) -> bool + +Help on function attach_process in module ida_dbg: + +attach_process(*args) -> 'int' + 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' + }This function shouldn't be called as a request if 'NO_PROCESS' is + used. + + @param pid: PID of the process to attach to. If NO_PROCESS , a dialog + box will interactively ask the user for the process to + attach to. (C++: pid_t) + @param event_id (C++: int) + +Help on class bpt_location_t in module ida_dbg: + +class bpt_location_t(builtins.object) + | Proxy of C++ bpt_location_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> bpt_location_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bpt_location_t(...) + | delete_bpt_location_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ea(self, *args) -> 'ea_t' + | ea(self) -> ea_t + | + | is_empty_path(self, *args) -> 'bool' + | is_empty_path(self) -> bool + | + | lineno(self, *args) -> 'int' + | lineno(self) -> int + | + | offset(self, *args) -> 'uval_t' + | offset(self) -> uval_t + | + | path(self, *args) -> 'char const *' + | path(self) -> char const * + | + | set_abs_bpt(self, *args) -> 'void' + | set_abs_bpt(self, a) + | + | set_rel_bpt(self, *args) -> 'void' + | set_rel_bpt(self, mod, _offset) + | + | set_src_bpt(self, *args) -> 'void' + | set_src_bpt(self, fn, _lineno) + | + | set_sym_bpt(self, *args) -> 'void' + | set_sym_bpt(self, _symbol, _offset=0) + | + | symbol(self, *args) -> 'char const *' + | symbol(self) -> char const * + | + | type(self, *args) -> 'bpt_loctype_t' + | type(self) -> bpt_loctype_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | index + | bpt_location_t_index_get(self) -> int + | + | info + | bpt_location_t_info_get(self) -> ea_t + | + | loctype + | bpt_location_t_loctype_get(self) -> bpt_loctype_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class bpt_t in module ida_dbg: + +class bpt_t(builtins.object) + | Proxy of C++ bpt_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bpt_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bpt_t(...) + | delete_bpt_t(self) + | + | badbpt(self, *args) -> 'bool' + | badbpt(self) -> bool + | + | enabled(self, *args) -> 'bool' + | enabled(self) -> bool + | + | get_cnd_elang_idx(self, *args) -> 'size_t' + | get_cnd_elang_idx(self) -> size_t + | + | get_size(self, *args) -> 'int' + | get_size(self) -> int + | + | is_absbpt(self, *args) -> 'bool' + | is_absbpt(self) -> bool + | + | is_active(self, *args) -> 'bool' + | is_active(self) -> bool + | + | is_compiled(self, *args) -> 'bool' + | is_compiled(self) -> bool + | + | is_hwbpt(self, *args) -> 'bool' + | is_hwbpt(self) -> bool + | + | is_inactive(self, *args) -> 'bool' + | is_inactive(self) -> bool + | + | is_low_level(self, *args) -> 'bool' + | is_low_level(self) -> bool + | + | is_page_bpt(self, *args) -> 'bool' + | is_page_bpt(self) -> bool + | + | is_partially_active(self, *args) -> 'bool' + | is_partially_active(self) -> bool + | + | is_relbpt(self, *args) -> 'bool' + | is_relbpt(self) -> bool + | + | is_srcbpt(self, *args) -> 'bool' + | is_srcbpt(self) -> bool + | + | is_symbpt(self, *args) -> 'bool' + | is_symbpt(self) -> bool + | + | is_tracemodebpt(self, *args) -> 'bool' + | is_tracemodebpt(self) -> bool + | + | is_traceoffbpt(self, *args) -> 'bool' + | is_traceoffbpt(self) -> bool + | + | is_traceonbpt(self, *args) -> 'bool' + | is_traceonbpt(self) -> bool + | + | listbpt(self, *args) -> 'bool' + | listbpt(self) -> bool + | + | set_abs_bpt(self, *args) -> 'void' + | set_abs_bpt(self, a) + | + | set_rel_bpt(self, *args) -> 'void' + | set_rel_bpt(self, mod, o) + | + | set_src_bpt(self, *args) -> 'void' + | set_src_bpt(self, fn, lineno) + | + | set_sym_bpt(self, *args) -> 'void' + | set_sym_bpt(self, sym, o) + | + | set_trace_action(self, *args) -> 'bool' + | set_trace_action(self, enable, trace_types) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | bpt_t_cb_get(self) -> size_t + | + | cndidx + | bpt_t_cndidx_get(self) -> int + | + | condition + | bpt_t_condition_get(self) -> PyObject * + | + | ea + | bpt_t_ea_get(self) -> ea_t + | + | elang + | bpt_t_elang_get(self) -> PyObject * + | + | flags + | bpt_t_flags_get(self) -> uint32 + | + | loc + | bpt_t_loc_get(self) -> bpt_location_t + | + | pass_count + | bpt_t_pass_count_get(self) -> int + | + | pid + | bpt_t_pid_get(self) -> pid_t + | + | props + | bpt_t_props_get(self) -> uint32 + | + | size + | bpt_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | tid + | bpt_t_tid_get(self) -> thid_t + | + | type + | bpt_t_type_get(self) -> bpttype_t + +Help on class bpt_vec_t in module ida_dbg: + +class bpt_vec_t(builtins.object) + | Proxy of C++ qvector< bpt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'bpt_t const &' + | __getitem__(self, i) -> bpt_t + | + | __init__(self, *args) + | __init__(self) -> bpt_vec_t + | __init__(self, x) -> bpt_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_bpt_vec_t(...) + | delete_bpt_vec_t(self) + | + | at(self, *args) -> 'bpt_t const &' + | at(self, _idx) -> bpt_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< bpt_t >::const_iterator' + | begin(self) -> bpt_t + | begin(self) -> bpt_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< bpt_t >::const_iterator' + | end(self) -> bpt_t + | end(self) -> bpt_t + | + | erase(self, *args) -> 'qvector< bpt_t >::iterator' + | erase(self, it) -> bpt_t + | erase(self, first, last) -> bpt_t + | + | extract(self, *args) -> 'bpt_t *' + | extract(self) -> bpt_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=bpt_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< bpt_t >::iterator' + | insert(self, it, x) -> bpt_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'bpt_t &' + | push_back(self, x) + | push_back(self) -> bpt_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function bring_debugger_to_front in module ida_dbg: + +bring_debugger_to_front(*args) -> 'void' + bring_debugger_to_front() + +Help on function check_bpt in module ida_dbg: + +check_bpt(*args) -> 'int' + check_bpt(ea) -> int + + + Check the breakpoint at the specified address. + + @param ea (C++: ea_t) + @return: one of Breakpoint status codes + +Help on function choose_trace_file in module ida_dbg: + +choose_trace_file(*args) -> 'qstring *' + choose_trace_file() -> str + + + Show the choose trace dialog. + +Help on function clear_requests_queue in module ida_dbg: + +clear_requests_queue(*args) -> 'void' + clear_requests_queue() + + + Clear the queue of waiting requests. \sq{Type, Synchronous function, + Notification, none (synchronous function)}If a request is currently + running, this one isn't stopped. + +Help on function clear_trace in module ida_dbg: + +clear_trace(*args) -> 'void' + clear_trace() + + + Clear all events in the trace buffer. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + +Help on function collect_stack_trace in module ida_dbg: + +collect_stack_trace(*args) -> 'bool' + collect_stack_trace(tid, trace) -> bool + +Help on function continue_process in module ida_dbg: + +continue_process(*args) -> 'bool' + continue_process() -> bool + + + Continue the execution of the process in the debugger. \sq{Type, + Synchronous function - available as Request, Notification, none + (synchronous function)}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. + +Help on function create_source_viewer in module ida_dbg: + +create_source_viewer(*args) -> 'source_view_t *' + 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) + +Help on function dbg_add_bpt_tev in module ida_dbg: + +dbg_add_bpt_tev(*args) -> 'bool' + 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 + +Help on function dbg_add_call_tev in module ida_dbg: + +dbg_add_call_tev(*args) -> 'void' + 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) + +Help on function dbg_add_debug_event in module ida_dbg: + +dbg_add_debug_event(*args) -> 'void' + 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 *) + +Help on function dbg_add_insn_tev in module ida_dbg: + +dbg_add_insn_tev(*args) -> 'bool' + 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) + @return: false if the operation failed, true otherwise + +Help on function dbg_add_many_tevs in module ida_dbg: + +dbg_add_many_tevs(*args) -> 'bool' + 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 + +Help on function dbg_add_ret_tev in module ida_dbg: + +dbg_add_ret_tev(*args) -> 'void' + 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) + +Help on function dbg_add_tev in module ida_dbg: + +dbg_add_tev(*args) -> 'void' + 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) + @param tid (C++: thid_t) + @param address (C++: ea_t) + +Help on function dbg_add_thread in module ida_dbg: + +dbg_add_thread(*args) -> 'void' + dbg_add_thread(tid) + + + Add a thread to the current trace. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @param tid (C++: thid_t) + +Help on function dbg_bin_search in module ida_dbg: + +dbg_bin_search(*args) -> 'unsigned-ea-like-numeric-type *, qstring *'↗ + dbg_bin_search(start_ea, end_ea, data, srch_flags) -> str + +Help on function dbg_can_query in module ida_dbg: + +dbg_can_query(*args) -> 'bool' + 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 + +Help on function dbg_del_thread in module ida_dbg: + +dbg_del_thread(*args) -> 'void' + dbg_del_thread(tid) + + + Delete a thread from the current trace. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param tid (C++: thid_t) + +Help on function dbg_is_loaded in module ida_dbg: + +dbg_is_loaded(*args) -> 'bool' + dbg_is_loaded() -> bool + + + Checks if a debugger is loaded + @return: Boolean + +Help on function define_exception in module ida_dbg: + +define_exception(*args) -> 'char const *' + define_exception(code, name, desc, flags) -> char const * + + + Convenience function: define new exception code. + + @param code: exception code (cannot be 0) (C++: uint) + @param name: exception name (cannot be empty or NULL) (C++: const char + *) + @param desc: exception description (maybe NULL) (C++: const char *) + @param flags: combination of Exception info flags (C++: int) + @return: failure message or NULL. You must call store_exceptions() + if this function succeeds + +Help on function del_bpt in module ida_dbg: + +del_bpt(*args) -> 'bool' + del_bpt(ea) -> bool + del_bpt(bptloc) -> bool + + + Delete an existing breakpoint in the debugged process. \sq{Type, + Synchronous function - available as request, Notification, none + (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + +Help on function del_bptgrp in module ida_dbg: + +del_bptgrp(*args) -> 'bool' + del_bptgrp(name) -> bool + +Help on function del_virt_module in module ida_dbg: + +del_virt_module(*args) -> 'bool' + del_virt_module(base) -> bool + +Help on function detach_process in module ida_dbg: + +detach_process(*args) -> 'bool' + detach_process() -> bool + + + Detach the debugger from the debugged process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_detach' } + +Help on function diff_trace_file in module ida_dbg: + +diff_trace_file(*args) -> 'bool' + diff_trace_file(nonnul_filename) -> bool + + + Show difference between the current trace and the one from 'filename'. + +Help on function disable_bblk_trace in module ida_dbg: + +disable_bblk_trace(*args) -> 'bool' + disable_bblk_trace() -> bool + +Help on function disable_bpt in module ida_dbg: + +disable_bpt(*args) -> 'bool' + disable_bpt(ea) -> bool + disable_bpt(bptloc) -> bool + +Help on function disable_func_trace in module ida_dbg: + +disable_func_trace(*args) -> 'bool' + disable_func_trace() -> bool + +Help on function disable_insn_trace in module ida_dbg: + +disable_insn_trace(*args) -> 'bool' + disable_insn_trace() -> bool + +Help on function disable_step_trace in module ida_dbg: + +disable_step_trace(*args) -> 'bool' + disable_step_trace() -> bool + +Help on function edit_manual_regions in module ida_dbg: + +edit_manual_regions(*args) -> 'void' + edit_manual_regions() + +Help on function enable_bblk_trace in module ida_dbg: + +enable_bblk_trace(*args) -> 'bool' + enable_bblk_trace(enable=True) -> bool + +Help on function enable_bpt in module ida_dbg: + +enable_bpt(*args) -> 'bool' + enable_bpt(ea, enable=True) -> bool + enable_bpt(bptloc, enable=True) -> bool + +Help on function enable_func_trace in module ida_dbg: + +enable_func_trace(*args) -> 'bool' + enable_func_trace(enable=True) -> bool + +Help on function enable_insn_trace in module ida_dbg: + +enable_insn_trace(*args) -> 'bool' + enable_insn_trace(enable=True) -> bool + +Help on function enable_manual_regions in module ida_dbg: + +enable_manual_regions(*args) -> 'void' + enable_manual_regions(enable) + +Help on function enable_step_trace in module ida_dbg: + +enable_step_trace(*args) -> 'bool' + enable_step_trace(enable=True) -> bool + +Help on class eval_ctx_t in module ida_dbg: + +class eval_ctx_t(builtins.object) + | Proxy of C++ eval_ctx_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea) -> eval_ctx_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_eval_ctx_t(...) + | delete_eval_ctx_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | eval_ctx_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + +Help on function exist_bpt in module ida_dbg: + +exist_bpt(*args) -> 'bool' + exist_bpt(ea) -> bool + + + Does a breakpoint exist at the given location? + + + @param ea (C++: ea_t) + +Help on function exit_process in module ida_dbg: + +exit_process(*args) -> 'bool' + exit_process() -> bool + + + Terminate the debugging of the current process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_exit' } + +Help on function find_bpt in module ida_dbg: + +find_bpt(*args) -> 'bool' + find_bpt(bptloc, bpt) -> bool + + + Find a breakpoint by location. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param bptloc: Breakpoint location (C++: const bpt_location_t &) + @param bpt: bpt is filled if the breakpoint was found (C++: bpt_t *) + +Help on function get_bblk_trace_options in module ida_dbg: + +get_bblk_trace_options(*args) -> 'int' + get_bblk_trace_options() -> int + + + Get current basic block tracing options. Also see 'BT_LOG_INSTS' + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + +Help on function get_bpt in module ida_dbg: + +get_bpt(*args) -> 'bool' + get_bpt(ea, bpt) -> bool + + + Get the characteristics of a breakpoint. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + @param bpt: if not NULL, is filled with the characteristics. (C++: + bpt_t *) + @return: false if no breakpoint exists + +Help on function get_bpt_group in module ida_dbg: + +get_bpt_group(*args) -> 'qstring *' + get_bpt_group(bptloc) -> str + +Help on function get_bpt_qty in module ida_dbg: + +get_bpt_qty(*args) -> 'int' + get_bpt_qty() -> int + + + Get number of breakpoints. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function get_bpt_tev_ea in module ida_dbg: + +get_bpt_tev_ea(*args) -> 'ea_t' + 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)}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. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a read, read/write or execution trace event. + +Help on function get_bptloc_string in module ida_dbg: + +get_bptloc_string(*args) -> 'char const *' + get_bptloc_string(i) -> char const * + + + Helper function for 'bpt_location_t' . + + + @param i (C++: int) + +Help on function get_call_tev_callee in module ida_dbg: + +get_call_tev_callee(*args) -> 'ea_t' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function call event. + +Help on function get_current_source_file in module ida_dbg: + +get_current_source_file(*args) -> 'bool' + get_current_source_file(path) -> bool + +Help on function get_current_source_line in module ida_dbg: + +get_current_source_line(*args) -> 'int' + get_current_source_line() -> int + +Help on function get_current_thread in module ida_dbg: + +get_current_thread(*args) -> 'thid_t' + get_current_thread() -> thid_t + + + Get current thread ID. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_dbg_byte in module ida_dbg: + +get_dbg_byte(*args) -> 'bool' + get_dbg_byte(x, ea) -> bool + + + Get one byte of the debugged process memory. + + @param x: pointer to byte value (C++: uint32 *) + @param ea: linear address (C++: ea_t) + @return: true success + +Help on function get_dbg_memory_info in module ida_dbg: + +get_dbg_memory_info(*args) -> 'int' + get_dbg_memory_info(ranges) -> int + +Help on function get_dbg_reg_info in module ida_dbg: + +get_dbg_reg_info(*args) -> 'bool' + get_dbg_reg_info(regname, ri) -> bool + + + Get register information \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param regname (C++: const char *) + @param ri (C++: register_info_t *) + +Help on function get_debug_event in module ida_dbg: + +get_debug_event(*args) -> 'debug_event_t const *' + get_debug_event() -> debug_event_t + + + Get the current debugger event. + +Help on function get_debugger_event_cond in module ida_dbg: + +get_debugger_event_cond(*args) -> 'char const *' + get_debugger_event_cond() -> char const * + +Help on function get_first_module in module ida_dbg: + +get_first_module(*args) -> 'bool' + get_first_module(modinfo) -> bool + +Help on function get_func_trace_options in module ida_dbg: + +get_func_trace_options(*args) -> 'int' + get_func_trace_options() -> int + + + Get current function tracing options. Also see 'FT_LOG_RET' \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_global_var in module ida_dbg: + +get_global_var(*args) -> 'bool' + get_global_var(prov, ea, name, out) -> bool + +Help on function get_grp_bpts in module ida_dbg: + +get_grp_bpts(*args) -> 'ssize_t' + get_grp_bpts(bpts, grp_name) -> ssize_t + +Help on function get_insn_tev_reg_mem in module ida_dbg: + +get_insn_tev_reg_mem(*args) -> 'bool' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param memmap: result (C++: memreg_infos_t *) + @return: false if not an instruction event or no memory is available + +Help on function get_insn_tev_reg_result in module ida_dbg: + +get_insn_tev_reg_result(*args) -> 'bool' + get_insn_tev_reg_result(n, regname, regval) -> bool + + + Read the resulting register value from an instruction trace event. + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param regname: name of desired register (C++: const char *) + @param regval: result (C++: regval_t *) + @return: false if not an instruction trace event or register wasn't + modified. + +Help on function get_insn_tev_reg_val in module ida_dbg: + +get_insn_tev_reg_val(*args) -> 'bool' + get_insn_tev_reg_val(n, regname, regval) -> bool + + + Read a register value from an instruction trace event. \sq{Type, + Synchronous function, Notification, none (synchronous function)}This + is the value of the register before the execution of the instruction. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param regname: name of desired register (C++: const char *) + @param regval: result (C++: regval_t *) + @return: false if not an instruction event. + +Help on function get_insn_trace_options in module ida_dbg: + +get_insn_trace_options(*args) -> 'int' + get_insn_trace_options() -> int + + + Get current instruction tracing options. Also see 'IT_LOG_SAME_IP' + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + +Help on function get_ip_val in module ida_dbg: + +get_ip_val(*args) -> 'unsigned-ea-like-numeric-type *'↗ + get_ip_val() -> bool + + + Get value of the IP (program counter) register for the current thread. + Requires a suspended debugger. + +Help on function get_local_var in module ida_dbg: + +get_local_var(*args) -> 'bool' + get_local_var(prov, ea, name, out) -> bool + +Help on function get_local_vars in module ida_dbg: + +get_local_vars(*args) -> 'bool' + get_local_vars(prov, ea, out) -> bool + +Help on function get_manual_regions in module ida_dbg: + +get_manual_regions(*args) -> 'PyObject *' + get_manual_regions(ranges) + get_manual_regions() -> PyObject * + + + Returns the manual memory regions + @return: list(start_ea, end_ea, name, sclass, sbase, bitness, perm) + +Help on function get_module_info in module ida_dbg: + +get_module_info(*args) -> 'bool' + get_module_info(ea, modinfo) -> bool + +Help on function get_next_module in module ida_dbg: + +get_next_module(*args) -> 'bool' + get_next_module(modinfo) -> bool + +Help on function get_process_options in module ida_dbg: + +get_process_options(*args) -> 'void' + get_process_options(path, args, sdir, host, _pass, port) + + + Get process options. Any of the arguments may be NULL + + @param path (C++: qstring *) + @param args (C++: qstring *) + @param sdir (C++: qstring *) + @param host (C++: qstring *) + @param port (C++: int *) + +Help on function get_process_state in module ida_dbg: + +get_process_state(*args) -> 'int' + 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 + +Help on function get_processes in module ida_dbg: + +get_processes(*args) -> 'ssize_t' + 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 *) + @return: number of processes or -1 on error + +Help on function get_reg_val in module ida_dbg: + +get_reg_val(*args) -> 'PyObject *' + get_reg_val(regname, regval) -> bool + get_reg_val(regname, ival) -> bool + get_reg_val(regname) -> PyObject * + + + Read a register value from the current thread. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param regname (C++: const char *) + @param regval (C++: regval_t *) + +Help on function get_reg_vals in module ida_dbg: + +get_reg_vals(*args) -> 'int' + get_reg_vals(tid, clsmask, values) -> int + +Help on function get_ret_tev_return in module ida_dbg: + +get_ret_tev_return(*args) -> 'ea_t' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function return event. + +Help on function get_running_notification in module ida_dbg: + +get_running_notification(*args) -> 'dbg_notification_t' + 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 + +Help on function get_running_request in module ida_dbg: + +get_running_request(*args) -> 'ui_notification_t' + 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 + +Help on function get_sp_val in module ida_dbg: + +get_sp_val(*args) -> 'unsigned-ea-like-numeric-type *'↗ + get_sp_val() -> bool + + + Get value of the SP register for the current thread. Requires a + suspended debugger. + +Help on function get_srcinfo_provider in module ida_dbg: + +get_srcinfo_provider(*args) -> 'srcinfo_provider_t *' + get_srcinfo_provider(name) -> srcinfo_provider_t * + +Help on function get_step_trace_options in module ida_dbg: + +get_step_trace_options(*args) -> 'int' + get_step_trace_options() -> int + + + Get current step tracing options. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @return: Step trace options + +Help on function get_tev_ea in module ida_dbg: + +get_tev_ea(*args) -> 'ea_t' + get_tev_ea(n) -> ea_t + +Help on function get_tev_event in module ida_dbg: + +get_tev_event(*args) -> 'bool' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param d: result (C++: debug_event_t *) + @return: false if the tev_t object doesn't have any associated debug + event, true otherwise, with the debug event in "d". + +Help on function get_tev_info in module ida_dbg: + +get_tev_info(*args) -> 'bool' + get_tev_info(n, tev_info) -> bool + + + Get main information about a trace event. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param tev_info: result (C++: tev_info_t *) + @return: success + +Help on function get_tev_memory_info in module ida_dbg: + +get_tev_memory_info(*args) -> 'bool' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param mi: result (C++: meminfo_vec_t *) + @return: false if the tev_t object is not of type tev_mem , true + otherwise, with the new memory layout in "mi". + +Help on function get_tev_qty in module ida_dbg: + +get_tev_qty(*args) -> 'int' + get_tev_qty() -> int + + + Get number of trace events available in trace buffer. \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_tev_reg_mem in module ida_dbg: + +get_tev_reg_mem(tev, idx) + +Help on function get_tev_reg_mem_ea in module ida_dbg: + +get_tev_reg_mem_ea(tev, idx) + +Help on function get_tev_reg_mem_qty in module ida_dbg: + +get_tev_reg_mem_qty(tev) + +Help on function get_tev_reg_val in module ida_dbg: + +get_tev_reg_val(tev, reg) + +Help on function get_tev_tid in module ida_dbg: + +get_tev_tid(*args) -> 'int' + get_tev_tid(n) -> int + +Help on function get_tev_type in module ida_dbg: + +get_tev_type(*args) -> 'int' + get_tev_type(n) -> int + +Help on function get_thread_qty in module ida_dbg: + +get_thread_qty(*args) -> 'int' + get_thread_qty() -> int + + + Get number of threads. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_trace_base_address in module ida_dbg: + +get_trace_base_address(*args) -> 'ea_t' + 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 + +Help on function get_trace_file_desc in module ida_dbg: + +get_trace_file_desc(*args) -> 'qstring *' + get_trace_file_desc(filename) -> str + + + Get the file header of the specified trace file. + + + @param filename (C++: const char *) + +Help on function get_trace_platform in module ida_dbg: + +get_trace_platform(*args) -> 'char const *' + get_trace_platform() -> char const * + + + Get platform name of current trace. + +Help on function getn_bpt in module ida_dbg: + +getn_bpt(*args) -> 'bool' + getn_bpt(n, bpt) -> bool + + + Get the characteristics of a breakpoint. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param n: number of breakpoint, is in range 0.. get_bpt_qty() -1 (C++: + int) + @param bpt: filled with the characteristics. (C++: bpt_t *) + @return: false if no breakpoint exists + +Help on function getn_thread in module ida_dbg: + +getn_thread(*args) -> 'thid_t' + getn_thread(n) -> thid_t + + + Get the ID of a thread. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: + int) + @return: NO_THREAD if the thread doesn't exist. + +Help on function getn_thread_name in module ida_dbg: + +getn_thread_name(*args) -> 'char const *' + getn_thread_name(n) -> char const * + + + Get the NAME of a thread \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 + for the current thread (C++: int) + @return: thread name or NULL if the thread doesn't exist. + +Help on function graph_trace in module ida_dbg: + +graph_trace(*args) -> 'bool' + graph_trace() -> bool + + + Show the trace callgraph. + +Help on function handle_debug_event in module ida_dbg: + +handle_debug_event(*args) -> 'int' + handle_debug_event(ev, rqflags) -> int + +Help on function hide_all_bpts in module ida_dbg: + +hide_all_bpts(*args) -> 'int' + hide_all_bpts() -> int + +Help on function internal_get_sreg_base in module ida_dbg: + +internal_get_sreg_base(*args) -> 'ea_t' + internal_get_sreg_base(tid, sreg_value) -> ea_t + + + Get the sreg base, for the given thread. + + @return: The sreg base, or BADADDR on failure. + +Help on function internal_ioctl in module ida_dbg: + +internal_ioctl(*args) -> 'int' + internal_ioctl(fn, buf, poutbuf, poutsize) -> int + +Help on function invalidate_dbg_state in module ida_dbg: + +invalidate_dbg_state(*args) -> 'int' + invalidate_dbg_state(dbginv) -> int + + + Invalidate cached debugger information. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param dbginv: Debugged process invalidation options (C++: int) + @return: current debugger state (one of Debugged process states ) + +Help on function invalidate_dbgmem_config in module ida_dbg: + +invalidate_dbgmem_config(*args) -> 'void' + 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) + +Help on function invalidate_dbgmem_contents in module ida_dbg: + +invalidate_dbgmem_contents(*args) -> 'void' + 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) + +Help on function is_bblk_trace_enabled in module ida_dbg: + +is_bblk_trace_enabled(*args) -> 'bool' + is_bblk_trace_enabled() -> bool + +Help on function is_debugger_busy in module ida_dbg: + +is_debugger_busy(*args) -> 'bool' + 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 + +Help on function is_debugger_memory in module ida_dbg: + +is_debugger_memory(*args) -> 'bool' + is_debugger_memory(ea) -> bool + + + Is the address mapped to debugger memory? + + + @param ea (C++: ea_t) + +Help on function is_debugger_on in module ida_dbg: + +is_debugger_on(*args) -> 'bool' + is_debugger_on() -> bool + + + Is the debugger currently running? + +Help on function is_func_trace_enabled in module ida_dbg: + +is_func_trace_enabled(*args) -> 'bool' + is_func_trace_enabled() -> bool + + + Get current state of functions tracing. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + +Help on function is_insn_trace_enabled in module ida_dbg: + +is_insn_trace_enabled(*args) -> 'bool' + is_insn_trace_enabled() -> bool + + + Get current state of instructions tracing. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + +Help on function is_reg_custom in module ida_dbg: + +is_reg_custom(*args) -> 'bool' + 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 *) + +Help on function is_reg_float in module ida_dbg: + +is_reg_float(*args) -> 'bool' + 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 *) + +Help on function is_reg_integer in module ida_dbg: + +is_reg_integer(*args) -> 'bool' + 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 *) + +Help on function is_request_running in module ida_dbg: + +is_request_running(*args) -> 'bool' + is_request_running() -> bool + + + Is a request currently running? + +Help on function is_step_trace_enabled in module ida_dbg: + +is_step_trace_enabled(*args) -> 'bool' + is_step_trace_enabled() -> bool + + + Get current state of step tracing. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function is_valid_trace_file in module ida_dbg: + +is_valid_trace_file(*args) -> 'bool' + is_valid_trace_file(filename) -> bool + + + Is the specified file a valid trace file for the current database? + + + @param filename (C++: const char *) + +Help on function list_bptgrps in module ida_dbg: + +list_bptgrps(*args) -> 'PyObject *' + list_bptgrps(bptgrps) -> size_t + list_bptgrps() -> PyObject * + +Help on function load_debugger in module ida_dbg: + +load_debugger(*args) -> 'bool' + load_debugger(dbgname, use_remote) -> bool + +Help on function load_trace_file in module ida_dbg: + +load_trace_file(*args) -> 'qstring *' + load_trace_file(filename) -> str + + + Load a recorded trace file in the trace 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 *) + +Help on class memreg_info_t in module ida_dbg: + +class memreg_info_t(builtins.object) + | Proxy of C++ memreg_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> memreg_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_memreg_info_t(...) + | delete_memreg_info_t(self) + | + | get_bytes(self, *args) -> 'PyObject *' + | get_bytes(self) -> PyObject * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bytes + | get_bytes(self) -> PyObject * + | + | ea + | memreg_info_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + +Help on class memreg_infos_t in module ida_dbg: + +class memreg_infos_t(builtins.object) + | Proxy of C++ qvector< memreg_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'memreg_info_t const &' + | __getitem__(self, i) -> memreg_info_t + | + | __init__(self, *args) + | __init__(self) -> memreg_infos_t + | __init__(self, x) -> memreg_infos_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_memreg_infos_t(...) + | delete_memreg_infos_t(self) + | + | at(self, *args) -> 'memreg_info_t const &' + | at(self, _idx) -> memreg_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< memreg_info_t >::const_iterator' + | begin(self) -> memreg_info_t + | begin(self) -> memreg_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< memreg_info_t >::const_iterator' + | end(self) -> memreg_info_t + | end(self) -> memreg_info_t + | + | erase(self, *args) -> 'qvector< memreg_info_t >::iterator' + | erase(self, it) -> memreg_info_t + | erase(self, first, last) -> memreg_info_t + | + | extract(self, *args) -> 'memreg_info_t *' + | extract(self) -> memreg_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=memreg_info_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< memreg_info_t >::iterator' + | insert(self, it, x) -> memreg_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'memreg_info_t &' + | push_back(self, x) + | push_back(self) -> memreg_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function move_bpt_to_grp in module ida_dbg: + +move_bpt_to_grp(*args) -> 'void' + move_bpt_to_grp(bpt, grp_name) + + + Sets new group for the breakpoint + +Help on function put_dbg_byte in module ida_dbg: + +put_dbg_byte(*args) -> 'bool' + put_dbg_byte(ea, x) -> bool + + + Change one byte of the debugged process memory. + + @param ea: linear address (C++: ea_t) + @param x: byte value (C++: uint32) + @return: true if the process memory has been modified + +Help on function read_dbg_memory in module ida_dbg: + +read_dbg_memory(*args) -> 'ssize_t' + read_dbg_memory(ea, buffer, size) -> ssize_t + +Help on function refresh_debugger_memory in module ida_dbg: + +refresh_debugger_memory(*args) -> 'PyObject *' + refresh_debugger_memory() -> PyObject * + + + Refreshes the debugger memory + @return: Nothing + +Help on function rename_bptgrp in module ida_dbg: + +rename_bptgrp(*args) -> 'bool' + rename_bptgrp(old_name, new_name) -> bool + +Help on function request_add_bpt in module ida_dbg: + +request_add_bpt(*args) -> 'bool' + request_add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + request_add_bpt(bpt) -> bool + + + Post an 'add_bpt(ea_t, asize_t, bpttype_t)' request. + + + @param ea (C++: ea_t) + @param size (C++: asize_t) + @param type (C++: bpttype_t) + +Help on function request_attach_process in module ida_dbg: + +request_attach_process(*args) -> 'int' + request_attach_process(pid, event_id) -> int + + + Post an 'attach_process()' request. + + + @param pid (C++: pid_t) + @param event_id (C++: int) + +Help on function request_clear_trace in module ida_dbg: + +request_clear_trace(*args) -> 'void' + request_clear_trace() + + + Post a 'clear_trace()' request. + +Help on function request_continue_process in module ida_dbg: + +request_continue_process(*args) -> 'bool' + request_continue_process() -> bool + + + Post a 'continue_process()' request.This requires an explicit call to + 'run_requests()' + +Help on function request_del_bpt in module ida_dbg: + +request_del_bpt(*args) -> 'bool' + request_del_bpt(ea) -> bool + request_del_bpt(bptloc) -> bool + + + Post a 'del_bpt(ea_t)' request. + + + @param ea (C++: ea_t) + +Help on function request_detach_process in module ida_dbg: + +request_detach_process(*args) -> 'bool' + request_detach_process() -> bool + + + Post a 'detach_process()' request. + +Help on function request_disable_bblk_trace in module ida_dbg: + +request_disable_bblk_trace(*args) -> 'bool' + request_disable_bblk_trace() -> bool + +Help on function request_disable_bpt in module ida_dbg: + +request_disable_bpt(*args) -> 'bool' + request_disable_bpt(ea) -> bool + request_disable_bpt(bptloc) -> bool + +Help on function request_disable_func_trace in module ida_dbg: + +request_disable_func_trace(*args) -> 'bool' + request_disable_func_trace() -> bool + +Help on function request_disable_insn_trace in module ida_dbg: + +request_disable_insn_trace(*args) -> 'bool' + request_disable_insn_trace() -> bool + +Help on function request_disable_step_trace in module ida_dbg: + +request_disable_step_trace(*args) -> 'bool' + request_disable_step_trace() -> bool + +Help on function request_enable_bblk_trace in module ida_dbg: + +request_enable_bblk_trace(*args) -> 'bool' + request_enable_bblk_trace(enable=True) -> bool + +Help on function request_enable_bpt in module ida_dbg: + +request_enable_bpt(*args) -> 'bool' + request_enable_bpt(ea, enable=True) -> bool + request_enable_bpt(bptloc, enable=True) -> bool + +Help on function request_enable_func_trace in module ida_dbg: + +request_enable_func_trace(*args) -> 'bool' + request_enable_func_trace(enable=True) -> bool + +Help on function request_enable_insn_trace in module ida_dbg: + +request_enable_insn_trace(*args) -> 'bool' + request_enable_insn_trace(enable=True) -> bool + +Help on function request_enable_step_trace in module ida_dbg: + +request_enable_step_trace(*args) -> 'bool' + request_enable_step_trace(enable=True) -> bool + +Help on function request_exit_process in module ida_dbg: + +request_exit_process(*args) -> 'bool' + request_exit_process() -> bool + + + Post an 'exit_process()' request. + +Help on function request_resume_thread in module ida_dbg: + +request_resume_thread(*args) -> 'int' + request_resume_thread(tid) -> int + + + Post a 'resume_thread()' request. + + + @param tid (C++: thid_t) + +Help on function request_run_to in module ida_dbg: + +request_run_to(*args) -> 'bool' + 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) + @param tid (C++: thid_t) + +Help on function request_select_thread in module ida_dbg: + +request_select_thread(*args) -> 'bool' + request_select_thread(tid) -> bool + + + Post a 'select_thread()' request. + + + @param tid (C++: thid_t) + +Help on function request_set_bblk_trace_options in module ida_dbg: + +request_set_bblk_trace_options(*args) -> 'void' + request_set_bblk_trace_options(options) + + + Post a 'set_bblk_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_func_trace_options in module ida_dbg: + +request_set_func_trace_options(*args) -> 'void' + request_set_func_trace_options(options) + + + Post a 'set_func_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_insn_trace_options in module ida_dbg: + +request_set_insn_trace_options(*args) -> 'void' + request_set_insn_trace_options(options) + + + Post a 'set_insn_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_reg_val in module ida_dbg: + +request_set_reg_val(*args) -> 'PyObject *' + request_set_reg_val(regname, o) -> PyObject * + + + Post a 'set_reg_val()' request. + + + @param regname (C++: const char *) + +Help on function request_set_resume_mode in module ida_dbg: + +request_set_resume_mode(*args) -> 'bool' + request_set_resume_mode(tid, mode) -> bool + + + Post a 'set_resume_mode()' request. + + + @param tid (C++: thid_t) + @param mode (C++: resume_mode_t) + +Help on function request_set_step_trace_options in module ida_dbg: + +request_set_step_trace_options(*args) -> 'void' + request_set_step_trace_options(options) + + + Post a 'set_step_trace_options()' request. + + + @param options (C++: int) + +Help on function request_start_process in module ida_dbg: + +request_start_process(*args) -> 'int' + request_start_process(path=None, args=None, sdir=None) -> int + + + Post a 'start_process()' request. + + + @param path (C++: const char *) + @param args (C++: const char *) + @param sdir (C++: const char *) + +Help on function request_step_into in module ida_dbg: + +request_step_into(*args) -> 'bool' + request_step_into() -> bool + + + Post a 'step_into()' request. + +Help on function request_step_over in module ida_dbg: + +request_step_over(*args) -> 'bool' + request_step_over() -> bool + + + Post a 'step_over()' request. + +Help on function request_step_until_ret in module ida_dbg: + +request_step_until_ret(*args) -> 'bool' + request_step_until_ret() -> bool + + + Post a 'step_until_ret()' request. + +Help on function request_suspend_process in module ida_dbg: + +request_suspend_process(*args) -> 'bool' + request_suspend_process() -> bool + + + Post a 'suspend_process()' request. + +Help on function request_suspend_thread in module ida_dbg: + +request_suspend_thread(*args) -> 'int' + request_suspend_thread(tid) -> int + + + Post a 'suspend_thread()' request. + + + @param tid (C++: thid_t) + +Help on function resume_thread in module ida_dbg: + +resume_thread(*args) -> 'int' + resume_thread(tid) -> int + + + Resume thread. \sq{Type, Synchronous function - available as request, + Notification, none (synchronous function)} + + @param tid: thread id (C++: thid_t) + +Help on function retrieve_exceptions in module ida_dbg: + +retrieve_exceptions(*args) -> 'excvec_t *' + 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 + +Help on function run_requests in module ida_dbg: + +run_requests(*args) -> 'bool' + run_requests() -> bool + + + Execute requests until all requests are processed or an asynchronous + function is called. \sq{Type, Synchronous function, Notification, none + (synchronous function)}If called from a notification handler, the + execution of requests will be postponed to the end of the execution of + all notification handlers. + + @return: false if not all requests could be processed (indicates an + asynchronous function was started) + +Help on function run_to in module ida_dbg: + +run_to(*args) -> 'bool' + 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: target address (C++: ea_t) + @param pid: not used yet. please do not specify this parameter. (C++: + pid_t) + @param tid: not used yet. please do not specify this parameter. (C++: + thid_t) + +Help on function save_trace_file in module ida_dbg: + +save_trace_file(*args) -> 'bool' + save_trace_file(filename, description) -> bool + + + Save the current trace in the specified file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function select_thread in module ida_dbg: + +select_thread(*args) -> 'bool' + 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: ID of the thread to select (C++: thid_t) + @return: false if the thread doesn't exist. + +Help on function send_dbg_command in module ida_dbg: + +send_dbg_command(command) + 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 + +Help on function set_bblk_trace_options in module ida_dbg: + +set_bblk_trace_options(*args) -> 'void' + set_bblk_trace_options(options) + + + Modify basic block tracing options (see 'BT_LOG_INSTS' ) + + + @param options (C++: int) + +Help on function set_bpt_group in module ida_dbg: + +set_bpt_group(*args) -> 'void' + set_bpt_group(bpt, grp_name) + +Help on function set_bptloc_group in module ida_dbg: + +set_bptloc_group(*args) -> 'bool' + set_bptloc_group(bptloc, grp_name) -> bool + +Help on function set_bptloc_string in module ida_dbg: + +set_bptloc_string(*args) -> 'int' + set_bptloc_string(s) -> int + + + Helper function for 'bpt_location_t' . + + + @param s (C++: const char *) + +Help on function set_debugger_event_cond in module ida_dbg: + +set_debugger_event_cond(*args) -> 'void' + set_debugger_event_cond(nonnul_cond) + +Help on function set_debugger_options in module ida_dbg: + +set_debugger_options(*args) -> 'uint' + 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 + +Help on function set_func_trace_options in module ida_dbg: + +set_func_trace_options(*args) -> 'void' + set_func_trace_options(options) + + + Modify function tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_highlight_trace_options in module ida_dbg: + +set_highlight_trace_options(*args) -> 'void' + 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) + +Help on function set_insn_trace_options in module ida_dbg: + +set_insn_trace_options(*args) -> 'void' + set_insn_trace_options(options) + + + Modify instruction tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_manual_regions in module ida_dbg: + +set_manual_regions(*args) -> 'void' + set_manual_regions(ranges) + +Help on function set_process_options in module ida_dbg: + +set_process_options(*args) -> 'void' + set_process_options(path, args, sdir, host, _pass, port) + + + Set process options. Any of the arguments may be NULL, which means 'do + not modify' + + @param path (C++: const char *) + @param args (C++: const char *) + @param sdir (C++: const char *) + @param host (C++: const char *) + @param port (C++: int) + +Help on function set_process_state in module ida_dbg: + +set_process_state(*args) -> 'int' + 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: new process state (one of Debugged process states ) + if DSTATE_NOTASK is passed then the state is not + changed (C++: int) + @param p_thid: ptr to new thread id. may be NULL or pointer to + NO_THREAD . the pointed variable will contain the old + thread id upon return (C++: thid_t *) + @param dbginv: Debugged process invalidation options (C++: int) + @return: old debugger state (one of Debugged process states ) + +Help on function set_reg_val in module ida_dbg: + +set_reg_val(*args) -> 'PyObject *' + set_reg_val(regname, o) -> PyObject + set_reg_val(tid, regidx, o) -> PyObject * + + + Write a register value to the current thread. \sq{Type, Synchronous + function - available as Request, Notification, none (synchronous + function)} + + @param regname (C++: const char *) + +Help on function set_remote_debugger in module ida_dbg: + +set_remote_debugger(*args) -> 'void' + set_remote_debugger(host, _pass, port=-1) + + + Set remote debugging options. Should be used before starting the + debugger. + + @param host: If empty, IDA will use local debugger. If NULL, the host + will not be set. (C++: const char *) + @param port: If -1, the default port number will be used (C++: int) + +Help on function set_resume_mode in module ida_dbg: + +set_resume_mode(*args) -> 'bool' + 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) + +Help on function set_step_trace_options in module ida_dbg: + +set_step_trace_options(*args) -> 'void' + set_step_trace_options(options) + + + Modify step tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_trace_base_address in module ida_dbg: + +set_trace_base_address(*args) -> 'void' + 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) + +Help on function set_trace_file_desc in module ida_dbg: + +set_trace_file_desc(*args) -> 'bool' + set_trace_file_desc(filename, description) -> bool + + + Change the description of the specified trace file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function set_trace_platform in module ida_dbg: + +set_trace_platform(*args) -> 'void' + set_trace_platform(platform) + + + Set platform name of current trace. + + + @param platform (C++: const char *) + +Help on function set_trace_size in module ida_dbg: + +set_trace_size(*args) -> 'bool' + set_trace_size(size) -> bool + + + Specify the new size of the circular buffer. \sq{Type, Synchronous + function, Notification, none (synchronous function)}If you specify 0, + all available memory can be quickly used !!! + + @param size: 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. (C++: int) + +Help on function srcdbg_request_step_into in module ida_dbg: + +srcdbg_request_step_into(*args) -> 'bool' + srcdbg_request_step_into() -> bool + +Help on function srcdbg_request_step_over in module ida_dbg: + +srcdbg_request_step_over(*args) -> 'bool' + srcdbg_request_step_over() -> bool + +Help on function srcdbg_request_step_until_ret in module ida_dbg: + +srcdbg_request_step_until_ret(*args) -> 'bool' + srcdbg_request_step_until_ret() -> bool + +Help on function srcdbg_step_into in module ida_dbg: + +srcdbg_step_into(*args) -> 'bool' + srcdbg_step_into() -> bool + +Help on function srcdbg_step_over in module ida_dbg: + +srcdbg_step_over(*args) -> 'bool' + srcdbg_step_over() -> bool + +Help on function srcdbg_step_until_ret in module ida_dbg: + +srcdbg_step_until_ret(*args) -> 'bool' + srcdbg_step_until_ret() -> bool + +Help on function start_process in module ida_dbg: + +start_process(*args) -> 'int' + 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' }You can also + use the 'run_to()' function to easily start the execution of a process + until a given address is reached.For all parameters, a NULL value + indicates the debugger will take the value from the defined Process + Options. + + @param path: path to the executable to start (C++: const char *) + @param args: arguments to pass to process (C++: const char *) + @param sdir: starting directory for the process (C++: const char *) + +Help on function step_into in module ida_dbg: + +step_into(*args) -> 'bool' + 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' } + +Help on function step_over in module ida_dbg: + +step_over(*args) -> 'bool' + 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' } + +Help on function step_until_ret in module ida_dbg: + +step_until_ret(*args) -> 'bool' + 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' } + +Help on function store_exceptions in module ida_dbg: + +store_exceptions(*args) -> 'bool' + store_exceptions() -> bool + + + Update the exception information stored in the debugger module by + invoking its dbg->set_exception_info callback + +Help on function suspend_process in module ida_dbg: + +suspend_process(*args) -> 'bool' + 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) }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. + +Help on function suspend_thread in module ida_dbg: + +suspend_thread(*args) -> 'int' + 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: thread id (C++: thid_t) + +Help on class tev_info_reg_t in module ida_dbg: + +class tev_info_reg_t(builtins.object) + | Proxy of C++ tev_info_reg_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tev_info_reg_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_tev_info_reg_t(...) + | delete_tev_info_reg_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | info + | tev_info_reg_t_info_get(self) -> tev_info_t + | + | registers + | tev_info_reg_t_registers_get(self) -> tev_reg_values_t + | + | thisown + | The membership flag + +Help on class tev_info_t in module ida_dbg: + +class tev_info_t(builtins.object) + | Proxy of C++ tev_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tev_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_tev_info_t(...) + | delete_tev_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | tev_info_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | tid + | tev_info_t_tid_get(self) -> thid_t + | + | type + | tev_info_t_type_get(self) -> tev_type_t + +Help on class tev_reg_value_t in module ida_dbg: + +class tev_reg_value_t(builtins.object) + | Proxy of C++ tev_reg_value_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _reg_idx=-1, _value=uint64(-1)) -> tev_reg_value_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_tev_reg_value_t(...) + | delete_tev_reg_value_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | reg_idx + | tev_reg_value_t_reg_idx_get(self) -> int + | + | thisown + | The membership flag + | + | value + | tev_reg_value_t_value_get(self) -> regval_t + +Help on class tev_reg_values_t in module ida_dbg: + +class tev_reg_values_t(builtins.object) + | Proxy of C++ qvector< tev_reg_value_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'tev_reg_value_t const &' + | __getitem__(self, i) -> tev_reg_value_t + | + | __init__(self, *args) + | __init__(self) -> tev_reg_values_t + | __init__(self, x) -> tev_reg_values_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_tev_reg_values_t(...) + | delete_tev_reg_values_t(self) + | + | at(self, *args) -> 'tev_reg_value_t const &' + | at(self, _idx) -> tev_reg_value_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< tev_reg_value_t >::const_iterator' + | begin(self) -> tev_reg_value_t + | begin(self) -> tev_reg_value_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< tev_reg_value_t >::const_iterator' + | end(self) -> tev_reg_value_t + | end(self) -> tev_reg_value_t + | + | erase(self, *args) -> 'qvector< tev_reg_value_t >::iterator' + | erase(self, it) -> tev_reg_value_t + | erase(self, first, last) -> tev_reg_value_t + | + | extract(self, *args) -> 'tev_reg_value_t *' + | extract(self) -> tev_reg_value_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=tev_reg_value_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< tev_reg_value_t >::iterator' + | insert(self, it, x) -> tev_reg_value_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'tev_reg_value_t &' + | push_back(self, x) + | push_back(self) -> tev_reg_value_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class tevinforeg_vec_t in module ida_dbg: + +class tevinforeg_vec_t(builtins.object) + | Proxy of C++ qvector< tev_info_reg_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'tev_info_reg_t const &' + | __getitem__(self, i) -> tev_info_reg_t + | + | __init__(self, *args) + | __init__(self) -> tevinforeg_vec_t + | __init__(self, x) -> tevinforeg_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_tevinforeg_vec_t(...) + | delete_tevinforeg_vec_t(self) + | + | at(self, *args) -> 'tev_info_reg_t const &' + | at(self, _idx) -> tev_info_reg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< tev_info_reg_t >::const_iterator' + | begin(self) -> tev_info_reg_t + | begin(self) -> tev_info_reg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< tev_info_reg_t >::const_iterator' + | end(self) -> tev_info_reg_t + | end(self) -> tev_info_reg_t + | + | erase(self, *args) -> 'qvector< tev_info_reg_t >::iterator' + | erase(self, it) -> tev_info_reg_t + | erase(self, first, last) -> tev_info_reg_t + | + | extract(self, *args) -> 'tev_info_reg_t *' + | extract(self) -> tev_info_reg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=tev_info_reg_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< tev_info_reg_t >::iterator' + | insert(self, it, x) -> tev_info_reg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'tev_info_reg_t &' + | push_back(self, x) + | push_back(self) -> tev_info_reg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function update_bpt in module ida_dbg: + +update_bpt(*args) -> 'bool' + 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)}Only the following + fields can be modified: 'bpt_t::cndbody' 'bpt_t::pass_count' + 'bpt_t::flags' 'bpt_t::size' 'bpt_t::type' 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 *) + +Help on function wait_for_next_event in module ida_dbg: + +wait_for_next_event(*args) -> 'dbg_event_code_t' + 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: combination of Wait for debugger event flags constants + (C++: int) + @param timeout: number of seconds to wait, -1-infinity (C++: int) + @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= + 0) + +Help on function write_dbg_memory in module ida_dbg: + +write_dbg_memory(*args) -> 'ssize_t' + write_dbg_memory(ea, py_buf, size=size_t(-1)) -> ssize_t + +=== ida_dbg EPYDOC INJECTIONS === +ida_dbg.BKPT_ACTIVE +""" +active? +""" + +ida_dbg.BKPT_BADBPT +""" +failed to write the bpt to the process memory (at least one location) +""" + +ida_dbg.BKPT_CNDREADY +""" +condition has been compiled +""" + +ida_dbg.BKPT_FAKEPEND +""" +bpt of the same type is active at the same address(es) + +fake pending bpt: it is inactive but another +""" + +ida_dbg.BKPT_LISTBPT +""" +include in bpt list (user-defined bpt) +""" + +ida_dbg.BKPT_PAGE +""" +only after writing the bpt to the process. + +written to the process as a page bpt. is available +""" + +ida_dbg.BKPT_PARTIAL +""" +partially active? (some locations were not written yet) +""" + +ida_dbg.BKPT_TRACE +""" +trace bpt; should not be deleted when the process gets suspended +""" + +ida_dbg.BPTCK_ACT +""" +breakpoint is active (written to the process) +""" + +ida_dbg.BPTCK_NO +""" +breakpoint is disabled +""" + +ida_dbg.BPTCK_NONE +""" +breakpoint does not exist +""" + +ida_dbg.BPTCK_YES +""" +breakpoint is enabled +""" + +ida_dbg.BPTEV_ADDED +""" +Breakpoint has been added. +""" + +ida_dbg.BPTEV_CHANGED +""" +Breakpoint has been modified. +""" + +ida_dbg.BPTEV_REMOVED +""" +Breakpoint has been removed. +""" + +ida_dbg.BPT_BRK +""" +suspend execution upon hit +""" + +ida_dbg.BPT_ELANG_SHIFT +""" +index of the extlang (scripting language) of the condition +""" + +ida_dbg.BPT_ENABLED +""" +enabled? +""" + +ida_dbg.BPT_LOWCND +""" +condition is calculated at low level (on the server side) +""" + +ida_dbg.BPT_TRACE +""" +add trace information upon hit +""" + +ida_dbg.BPT_TRACEON +""" +enable tracing when the breakpoint is reached +""" + +ida_dbg.BPT_TRACE_BBLK +""" +basic block tracing +""" + +ida_dbg.BPT_TRACE_FUNC +""" +function tracing +""" + +ida_dbg.BPT_TRACE_INSN +""" +instruction tracing +""" + +ida_dbg.BPT_TRACE_TYPES +""" +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 +""" + +ida_dbg.BPT_UPDMEM +""" +refresh the memory layout and contents before evaluating bpt condition +""" + +ida_dbg.BT_LOG_INSTS +""" +log all instructions in the current basic block +""" + +ida_dbg.DBGINV_ALL +""" +invalidate everything +""" + +ida_dbg.DBGINV_MEMCFG +""" +invalidate cached process segmentation +""" + +ida_dbg.DBGINV_MEMORY +""" +invalidate cached memory contents +""" + +ida_dbg.DBGINV_NONE +""" +invalidate nothing +""" + +ida_dbg.DBGINV_REDRAW +""" +refresh the screen +""" + +ida_dbg.DBGINV_REGS +""" +invalidate cached register values +""" + +ida_dbg.DOPT_BPT_MSGS +""" +log breakpoints +""" + +ida_dbg.DOPT_END_BPT +""" +evaluate event condition on process end +""" + +ida_dbg.DOPT_ENTRY_BPT +""" +break on program entry point +""" + +ida_dbg.DOPT_EXCDLG +""" +exception dialogs: +""" + +ida_dbg.DOPT_INFO_BPT +""" +break on debugging information +""" + +ida_dbg.DOPT_INFO_MSGS +""" +log debugging info events +""" + +ida_dbg.DOPT_LIB_BPT +""" +break on library load/unload +""" + +ida_dbg.DOPT_LIB_MSGS +""" +log library loads/unloads +""" + +ida_dbg.DOPT_LOAD_DINFO +""" +automatically load debug files (pdb) +""" + +ida_dbg.DOPT_REAL_MEMORY +""" +do not hide breakpoint instructions +""" + +ida_dbg.DOPT_REDO_STACK +""" +reconstruct the stack +""" + +ida_dbg.DOPT_SEGM_MSGS +""" +log debugger segments modifications +""" + +ida_dbg.DOPT_START_BPT +""" +break on process start +""" + +ida_dbg.DOPT_TEMP_HWBPT +""" +when possible use hardware bpts for temp bpts +""" + +ida_dbg.DOPT_THREAD_BPT +""" +break on thread start/exit +""" + +ida_dbg.DOPT_THREAD_MSGS +""" +log thread starts/exits +""" + +ida_dbg.DSTATE_NOTASK +""" +no process is currently debugged +""" + +ida_dbg.DSTATE_RUN +""" +process is running +""" + +ida_dbg.DSTATE_SUSP +""" +process is suspended and will not continue +""" + +ida_dbg.EXCDLG_ALWAYS +""" +always display +""" + +ida_dbg.EXCDLG_NEVER +""" +never display exception dialogs +""" + +ida_dbg.EXCDLG_UNKNOWN +""" +display for unknown exceptions +""" + +ida_dbg.FT_LOG_RET +""" +function tracing will log returning instructions +""" + +ida_dbg.IT_LOG_SAME_IP +""" +instruction tracing will log instructions whose IP doesn't change +""" + +ida_dbg.ST_ALREADY_LOGGED +""" +step tracing will be disabled when IP is already logged +""" + +ida_dbg.ST_DIFFERENTIAL +""" +tracing: log only new instructions +""" + +ida_dbg.ST_OPTIONS_MASK +""" +mask of available options, to ensure compatibility with newer IDA +versions +""" + +ida_dbg.ST_OVER_DEBUG_SEG +""" +step tracing will be disabled when IP is in a debugger segment +""" + +ida_dbg.ST_OVER_LIB_FUNC +""" +step tracing will be disabled when IP is in a library function +""" + +ida_dbg.ST_SKIP_LOOPS +""" +step tracing will try to skip loops already recorded +""" + +ida_dbg.WFNE_ANY +""" +return the first event (even if it doesn't suspend the process) +""" + +ida_dbg.WFNE_CONT +""" +continue from the suspended state +""" + +ida_dbg.WFNE_NOWAIT +""" +(to be used with 'WFNE_CONT' ) + +do not wait for any event, immediately return 'DEC_TIMEOUT' +""" + +ida_dbg.WFNE_SILENT +""" +1: be slient, 0:display modal boxes if necessary +""" + +ida_dbg.WFNE_SUSP +""" +wait until the process gets suspended +""" + +ida_dbg.WFNE_USEC +""" +(minimum non-zero timeout is 40000us) + +timeout is specified in microseconds +""" +=== ida_dbg EPYDOC INJECTIONS END === +Help on function close_linput in module ida_diskio: + +close_linput(*args) -> 'void' + close_linput(li) + + + Close loader input. + + + @param li (C++: linput_t *) + +Help on function create_bytearray_linput in module ida_diskio: + +create_bytearray_linput(*args) -> 'linput_t *' + create_bytearray_linput(s) -> linput_t * + + + Trivial memory linput. + +Help on function create_generic_linput in module ida_diskio: + +create_generic_linput(*args) -> 'linput_t *' + create_generic_linput(gl) -> linput_t * + + + Create a generic linput + + @param gl: linput description. this object will be destroyed by + close_linput() using "delete gl;" (C++: generic_linput_t + *) + +Help on function create_memory_linput in module ida_diskio: + +create_memory_linput(*args) -> 'linput_t *' + 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: starting address of the input (C++: ea_t) + @param size: size of the memory area to represent as linput if + unknown, may be passed as 0 (C++: asize_t) + +Help on function eclose in module ida_diskio: + +eclose(*args) -> 'void' + eclose(fp) + +Help on function enumerate_files in module ida_diskio: + +enumerate_files(*args) -> 'PyObject *' + 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 + +Help on function fopenA in module ida_diskio: + +fopenA(*args) -> 'FILE *' + fopenA(file) -> FILE * + + + Open a file for append in text mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenM in module ida_diskio: + +fopenM(*args) -> 'FILE *' + fopenM(file) -> FILE * + + + Open a file for read/write in binary mode, deny write. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenRB in module ida_diskio: + +fopenRB(*args) -> 'FILE *' + fopenRB(file) -> FILE * + + + Open a file for read in binary mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenRT in module ida_diskio: + +fopenRT(*args) -> 'FILE *' + fopenRT(file) -> FILE * + + + Open a file for read in text mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenWB in module ida_diskio: + +fopenWB(*args) -> 'FILE *' + 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 *) + @return: NULL if failure + +Help on function fopenWT in module ida_diskio: + +fopenWT(*args) -> 'FILE *' + 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 *) + @return: NULL if failure + +Help on class generic_linput_t in module ida_diskio: + +class generic_linput_t(builtins.object) + | Proxy of C++ generic_linput_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_generic_linput_t(...) + | delete_generic_linput_t(self) + | + | read(self, *args) -> 'ssize_t' + | read(self, off, buffer, nbytes) -> ssize_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blocksize + | generic_linput_t_blocksize_get(self) -> uint32 + | + | filesize + | generic_linput_t_filesize_get(self) -> uint64 + | + | thisown + | The membership flag + +Help on function get_ida_subdirs in module ida_diskio: + +get_ida_subdirs(*args) -> 'qstrvec_t *' + 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: name of the resource to list (C++: const char *) + @param flags: Subdirectory modification flags bits (C++: int) + @return: number of directories appended to 'dirs' + +Help on function get_linput_type in module ida_diskio: + +get_linput_type(*args) -> 'linput_type_t' + get_linput_type(li) -> linput_type_t + + + Get linput type. + + + @param li (C++: linput_t *) + +Help on function get_special_folder in module ida_diskio: + +get_special_folder(*args) -> 'size_t' + 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) + +Help on function get_user_idadir in module ida_diskio: + +get_user_idadir(*args) -> 'char const *' + 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) + +Help on function getsysfile in module ida_diskio: + +getsysfile(*args) -> 'char const *' + getsysfile(filename, subdir) -> str + + + Search for IDA system file. This function searches for a file in:each + directory specified by IDAUSR%ida directory [+ subdir] and returns the + first match. + + @param filename (C++: const char *) + @param subdir (C++: const char *) + @return: NULL if not found, otherwise a pointer to full file name. + +Help on function idadir in module ida_diskio: + +idadir(*args) -> 'char const *' + idadir(subdir) -> char const * + + + Get IDA directory (if subdir==NULL) or the specified subdirectory (see + 'IDA subdirectories' ) + + @param subdir (C++: const char *) + +Help on function open_linput in module ida_diskio: + +open_linput(*args) -> 'linput_t *' + open_linput(file, remote) -> linput_t * + + + Open loader input. + + + @param file (C++: const char *) + @param remote (C++: bool) + +Help on function qlgetz in module ida_diskio: + +qlgetz(*args) -> 'size_t' + 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) + +=== ida_diskio EPYDOC INJECTIONS === +ida_diskio.IDA_SUBDIR_IDADIR_FIRST +""" +$IDADIR/subdir will be first, not last +""" + +ida_diskio.IDA_SUBDIR_IDP +""" +append the processor name as a subdirectory +""" + +ida_diskio.IDA_SUBDIR_ONLY_EXISTING +""" +only existing directories will be present +""" +=== ida_diskio EPYDOC INJECTIONS END === +Help on function add_entry in module ida_entry: + +add_entry(*args) -> 'bool' + add_entry(ord, ea, name, makecode, flags=0) -> bool + + + Add an entry point to the list of entry points. + + @param ord: ordinal number if ordinal number is equal to 'ea' then + ordinal is not used (C++: uval_t) + @param ea: linear address (C++: ea_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to the regular + comment. If name == NULL, then the old name will be + retained. (C++: const char *) + @param makecode: should the kernel convert bytes at the entry point to + instruction(s) (C++: bool) + @param flags: See AEF_* (C++: int) + @return: success (currently always true) + +Help on function get_entry in module ida_entry: + +get_entry(*args) -> 'ea_t' + get_entry(ord) -> ea_t + + + Get entry point address by its ordinal + + @param ord: ordinal number of entry point (C++: uval_t) + @return: address or BADADDR + +Help on function get_entry_forwarder in module ida_entry: + +get_entry_forwarder(*args) -> 'qstring *' + get_entry_forwarder(ord) -> str + + + Get forwarder name for the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry forwarder name or -1 + +Help on function get_entry_name in module ida_entry: + +get_entry_name(*args) -> 'qstring *' + get_entry_name(ord) -> str + + + Get name of the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry name or -1 + +Help on function get_entry_ordinal in module ida_entry: + +get_entry_ordinal(*args) -> 'uval_t' + get_entry_ordinal(idx) -> uval_t + + + Get ordinal number of an entry point. + + @param idx: internal number of entry point. Should be in the range 0.. + get_entry_qty() -1 (C++: size_t) + @return: ordinal number or 0. + +Help on function get_entry_qty in module ida_entry: + +get_entry_qty(*args) -> 'size_t' + get_entry_qty() -> size_t + + + Get number of entry points. + +Help on function rename_entry in module ida_entry: + +rename_entry(*args) -> 'bool' + rename_entry(ord, name, flags=0) -> bool + + + Rename entry point. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to a repeatable + comment. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +Help on function set_entry_forwarder in module ida_entry: + +set_entry_forwarder(*args) -> 'bool' + set_entry_forwarder(ord, name, flags=0) -> bool + + + Set forwarder name for ordinal. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: forwarder name for entry point. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +=== ida_entry EPYDOC INJECTIONS === +ida_entry.AEF_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly Specifying AEF_IDBENC also implies AEF_NODUMMY +""" + +ida_entry.AEF_NODUMMY +""" +it begins with a dummy suffix. See also AEF_IDBENC + +automatically prepend the name with '_' if +""" + +ida_entry.AEF_UTF8 +""" +the name is given in UTF-8 (default) +""" +=== ida_entry EPYDOC INJECTIONS END === +Help on function add_enum in module ida_enum: + +add_enum(*args) -> 'enum_t' + add_enum(idx, name, flag) -> enum_t + + + Add new enum type.if idx== 'BADADDR' then add as the last idxif + name==NULL then generate a unique name "enum_%d" + + @param idx (C++: size_t) + @param name (C++: const char *) + @param flag (C++: flags_t) + +Help on function add_enum_member in module ida_enum: + +add_enum_member(*args) -> 'int' + add_enum_member(id, name, value, bmask=(bmask_t(-1))) -> int + + + Add member to enum type. + + @param id (C++: enum_t) + @param name (C++: const char *) + @param value (C++: uval_t) + @param bmask (C++: bmask_t) + @return: 0 if ok, otherwise one of Add enum member result codes + +Help on function del_enum in module ida_enum: + +del_enum(*args) -> 'void' + del_enum(id) + + + Delete an enum type. + + + @param id (C++: enum_t) + +Help on function del_enum_member in module ida_enum: + +del_enum_member(*args) -> 'bool' + del_enum_member(id, value, serial, bmask) -> bool + + + Delete member of enum type. + + + @param id (C++: enum_t) + @param value (C++: uval_t) + @param serial (C++: uchar) + @param bmask (C++: bmask_t) + +Help on class enum_member_visitor_t in module ida_enum: + +class enum_member_visitor_t(builtins.object) + | Proxy of C++ enum_member_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> enum_member_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_enum_member_visitor_t(...) + | delete_enum_member_visitor_t(self) + | + | visit_enum_member(self, *args) -> 'int' + | visit_enum_member(self, cid, value) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function for_all_enum_members in module ida_enum: + +for_all_enum_members(*args) -> 'int' + for_all_enum_members(id, cv) -> int + + + Visit all members of a given enum. + + + @param id (C++: enum_t) + @param cv (C++: enum_member_visitor_t &) + +Help on function get_bmask_cmt in module ida_enum: + +get_bmask_cmt(*args) -> 'qstring *' + get_bmask_cmt(id, bmask, repeatable) -> str + +Help on function get_bmask_name in module ida_enum: + +get_bmask_name(*args) -> 'qstring *' + get_bmask_name(id, bmask) -> str + +Help on function get_enum in module ida_enum: + +get_enum(*args) -> 'enum_t' + get_enum(name) -> enum_t + + + Get enum by name. + + + @param name (C++: const char *) + +Help on function get_enum_cmt in module ida_enum: + +get_enum_cmt(*args) -> 'qstring *' + get_enum_cmt(id, repeatable) -> str + + + Get enum comment. + + + @param id (C++: enum_t) + @param repeatable (C++: bool) + +Help on function get_enum_flag in module ida_enum: + +get_enum_flag(*args) -> 'flags_t' + get_enum_flag(id) -> flags_t + + + Get flags determining the representation of the enum. (currently they + define the numeric base: octal, decimal, hex, bin) and signness. + + @param id (C++: enum_t) + +Help on function get_enum_idx in module ida_enum: + +get_enum_idx(*args) -> 'uval_t' + get_enum_idx(id) -> uval_t + + + Get serial number of enum. The serial number determines the place of + the enum in the enum window. + + @param id (C++: enum_t) + +Help on function get_enum_member in module ida_enum: + +get_enum_member(*args) -> 'const_t' + get_enum_member(id, value, serial, mask) -> const_t + + + Find an enum member by enum, value and bitmaskif serial -1, return a + member with any serial + + @param id (C++: enum_t) + @param value (C++: uval_t) + @param serial (C++: int) + @param mask (C++: bmask_t) + +Help on function get_enum_member_bmask in module ida_enum: + +get_enum_member_bmask(*args) -> 'bmask_t' + get_enum_member_bmask(id) -> bmask_t + + + Get bitmask of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_by_name in module ida_enum: + +get_enum_member_by_name(*args) -> 'const_t' + get_enum_member_by_name(name) -> const_t + + + Get a reference to an enum member by its name. + + + @param name (C++: const char *) + +Help on function get_enum_member_cmt in module ida_enum: + +get_enum_member_cmt(*args) -> 'qstring *' + get_enum_member_cmt(id, repeatable) -> str + + + Get enum member's comment. + + + @param id (C++: const_t) + @param repeatable (C++: bool) + +Help on function get_enum_member_enum in module ida_enum: + +get_enum_member_enum(*args) -> 'enum_t' + get_enum_member_enum(id) -> enum_t + + + Get the parent enum of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_name in module ida_enum: + +get_enum_member_name(*args) -> 'qstring *' + get_enum_member_name(id) -> str + + + Get name of an enum member by const_t. + + + @param id (C++: const_t) + +Help on function get_enum_member_serial in module ida_enum: + +get_enum_member_serial(*args) -> 'uchar' + get_enum_member_serial(cid) -> uchar + + + Get serial number of an enum member. + + + @param cid (C++: const_t) + +Help on function get_enum_member_value in module ida_enum: + +get_enum_member_value(*args) -> 'uval_t' + get_enum_member_value(id) -> uval_t + + + Get value of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_name in module ida_enum: + +get_enum_name(*args) -> 'qstring *' + get_enum_name(id) -> str + + + Get name of enum. + + + @param id (C++: enum_t) + +Help on function get_enum_name2 in module ida_enum: + +get_enum_name2(*args) -> 'qstring *' + get_enum_name2(id, flags=0) -> str + + + Get name of enum + + @param id: enum id (C++: enum_t) + @param flags: Enum name flags (C++: int) + +Help on function get_enum_qty in module ida_enum: + +get_enum_qty(*args) -> 'size_t' + get_enum_qty() -> size_t + + + Get number of declared 'enum_t' types. + +Help on function get_enum_size in module ida_enum: + +get_enum_size(*args) -> 'size_t' + get_enum_size(id) -> size_t + + + Get the number of the members of the enum. + + + @param id (C++: enum_t) + +Help on function get_enum_type_ordinal in module ida_enum: + +get_enum_type_ordinal(*args) -> 'int32' + get_enum_type_ordinal(id) -> int32 + + + Get corresponding type ordinal number. + + + @param id (C++: enum_t) + +Help on function get_enum_width in module ida_enum: + +get_enum_width(*args) -> 'size_t' + get_enum_width(id) -> size_t + + + Get the width of a enum element allowed values: 0 + (unspecified),1,2,4,8,16,32,64 + + @param id (C++: enum_t) + +Help on function get_first_bmask in module ida_enum: + +get_first_bmask(*args) -> 'bmask_t' + get_first_bmask(id) -> bmask_t + + + Get first bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the smallest bitmask for enum, or DEFMASK + +Help on function get_first_enum_member in module ida_enum: + +get_first_enum_member(*args) -> 'uval_t' + get_first_enum_member(id, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_first_serial_enum_member in module ida_enum: + +get_first_serial_enum_member(*args) -> 'uchar *' + get_first_serial_enum_member(id, value, bmask) -> const_t + +Help on function get_last_bmask in module ida_enum: + +get_last_bmask(*args) -> 'bmask_t' + get_last_bmask(id) -> bmask_t + + + Get last bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the biggest bitmask for enum, or DEFMASK + +Help on function get_last_enum_member in module ida_enum: + +get_last_enum_member(*args) -> 'uval_t' + get_last_enum_member(id, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_last_serial_enum_member in module ida_enum: + +get_last_serial_enum_member(*args) -> 'uchar *' + get_last_serial_enum_member(id, value, bmask) -> const_t + +Help on function get_next_bmask in module ida_enum: + +get_next_bmask(*args) -> 'bmask_t' + get_next_bmask(id, bmask) -> bmask_t + + + Get next bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value higher than the specified + value, or DEFMASK + +Help on function get_next_enum_member in module ida_enum: + +get_next_enum_member(*args) -> 'uval_t' + get_next_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_next_serial_enum_member in module ida_enum: + +get_next_serial_enum_member(*args) -> 'uchar *' + get_next_serial_enum_member(in_out_serial, first_cid) -> const_t + +Help on function get_prev_bmask in module ida_enum: + +get_prev_bmask(*args) -> 'bmask_t' + get_prev_bmask(id, bmask) -> bmask_t + + + Get prev bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value lower than the specified value, + or DEFMASK + +Help on function get_prev_enum_member in module ida_enum: + +get_prev_enum_member(*args) -> 'uval_t' + get_prev_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_prev_serial_enum_member in module ida_enum: + +get_prev_serial_enum_member(*args) -> 'uchar *' + get_prev_serial_enum_member(in_out_serial, first_cid) -> const_t + +Help on function getn_enum in module ida_enum: + +getn_enum(*args) -> 'enum_t' + getn_enum(n) -> enum_t + + + Get enum by its ordinal number (0..n). + + + @param n (C++: size_t) + +Help on function is_bf in module ida_enum: + +is_bf(*args) -> 'bool' + is_bf(id) -> bool + + + Is enum a bitfield? (otherwise - plain enum, no bitmasks except for + 'DEFMASK' are allowed) + + @param id (C++: enum_t) + +Help on function is_enum_fromtil in module ida_enum: + +is_enum_fromtil(*args) -> 'bool' + is_enum_fromtil(id) -> bool + + + Does enum come from type library? + + + @param id (C++: enum_t) + +Help on function is_enum_hidden in module ida_enum: + +is_enum_hidden(*args) -> 'bool' + is_enum_hidden(id) -> bool + + + Is enum collapsed? + + + @param id (C++: enum_t) + +Help on function is_ghost_enum in module ida_enum: + +is_ghost_enum(*args) -> 'bool' + is_ghost_enum(id) -> bool + + + Is a ghost copy of a local type? + + + @param id (C++: enum_t) + +Help on function is_one_bit_mask in module ida_enum: + +is_one_bit_mask(*args) -> 'bool' + is_one_bit_mask(mask) -> bool + + + Is bitmask one bit? + + + @param mask (C++: bmask_t) + +Help on function set_bmask_cmt in module ida_enum: + +set_bmask_cmt(*args) -> 'bool' + set_bmask_cmt(id, bmask, cmt, repeatable) -> bool + +Help on function set_bmask_name in module ida_enum: + +set_bmask_name(*args) -> 'bool' + set_bmask_name(id, bmask, name) -> bool + +Help on function set_enum_bf in module ida_enum: + +set_enum_bf(*args) -> 'bool' + set_enum_bf(id, bf) -> bool + + + Set 'bitfield' bit of enum (i.e. convert it to a bitfield) + + + @param id (C++: enum_t) + @param bf (C++: bool) + +Help on function set_enum_cmt in module ida_enum: + +set_enum_cmt(*args) -> 'bool' + set_enum_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum type. + + + @param id (C++: enum_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_flag in module ida_enum: + +set_enum_flag(*args) -> 'bool' + set_enum_flag(id, flag) -> bool + + + Set data representation flags. + + + @param id (C++: enum_t) + @param flag (C++: flags_t) + +Help on function set_enum_fromtil in module ida_enum: + +set_enum_fromtil(*args) -> 'bool' + set_enum_fromtil(id, fromtil) -> bool + + + Specify that enum comes from a type library. + + + @param id (C++: enum_t) + @param fromtil (C++: bool) + +Help on function set_enum_ghost in module ida_enum: + +set_enum_ghost(*args) -> 'bool' + set_enum_ghost(id, ghost) -> bool + + + Specify that enum is a ghost copy of a local type. + + + @param id (C++: enum_t) + @param ghost (C++: bool) + +Help on function set_enum_hidden in module ida_enum: + +set_enum_hidden(*args) -> 'bool' + set_enum_hidden(id, hidden) -> bool + + + Collapse enum. + + + @param id (C++: enum_t) + @param hidden (C++: bool) + +Help on function set_enum_idx in module ida_enum: + +set_enum_idx(*args) -> 'bool' + set_enum_idx(id, idx) -> bool + + + Set serial number of enum. Also see 'get_enum_idx()' . + + @param id (C++: enum_t) + @param idx (C++: size_t) + +Help on function set_enum_member_cmt in module ida_enum: + +set_enum_member_cmt(*args) -> 'bool' + set_enum_member_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum member. + + + @param id (C++: const_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_member_name in module ida_enum: + +set_enum_member_name(*args) -> 'bool' + set_enum_member_name(id, name) -> bool + + + Set name of enum member. + + + @param id (C++: const_t) + @param name (C++: const char *) + +Help on function set_enum_name in module ida_enum: + +set_enum_name(*args) -> 'bool' + set_enum_name(id, name) -> bool + + + Set name of enum type. + + + @param id (C++: enum_t) + @param name (C++: const char *) + +Help on function set_enum_type_ordinal in module ida_enum: + +set_enum_type_ordinal(*args) -> 'void' + set_enum_type_ordinal(id, ord) + + + Set corresponding type ordinal number. + + + @param id (C++: enum_t) + @param ord (C++: int32) + +Help on function set_enum_width in module ida_enum: + +set_enum_width(*args) -> 'bool' + set_enum_width(id, width) -> bool + + + See comment for 'get_enum_width()' + + + @param id (C++: enum_t) + @param width (C++: int) + +=== ida_enum EPYDOC INJECTIONS === +ida_enum.DEFMASK +""" +default bitmask +""" + +ida_enum.ENFL_REGEX +""" +apply regular expressions to beautify the name +""" + +ida_enum.ENUM_MEMBER_ERROR_ENUM +""" +bad enum id +""" + +ida_enum.ENUM_MEMBER_ERROR_ILLV +""" +bad bmask and value combination (~bmask & value != 0) +""" + +ida_enum.ENUM_MEMBER_ERROR_MASK +""" +bad bmask +""" + +ida_enum.ENUM_MEMBER_ERROR_NAME +""" +already have member with this name (bad name) +""" + +ida_enum.ENUM_MEMBER_ERROR_VALUE +""" +already have 256 members with this value +""" +=== ida_enum EPYDOC INJECTIONS END === +Help on class _IdcFunction in module ida_expr: + +class _IdcFunction(builtins.object) + | Internal class that calls pyw_call_idc_func() with a context + | + | Methods defined here: + | + | __call__(self, args, res) + | Call self as a function. + | + | __init__(self, ctxptr) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fp_ptr + +Help on function add_idc_class in module ida_expr: + +add_idc_class(*args) -> 'idc_class_t *' + add_idc_class(name, super=None) -> idc_class_t * + + + Create a new IDC class. + + @param name: name of the new class (C++: const char *) + @param super: the base class for the new class. if the new class is + not based on any other class, pass NULL (C++: const + idc_class_t *) + @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. + +Help on function add_idc_func in module ida_expr: + +add_idc_func(name, fp, args, defvals=None, flags=0) + Extends the IDC language by exposing a new IDC function that is backed up by a Python function + + @param name: IDC function name to expose + @param fp: Python callable that will receive the arguments and return a tuple. + @param args: Arguments. A tuple of idaapi.VT_XXX constants + @param flags: IDC function flags. A combination of EXTFUN_XXX constants + + @return: Boolean + + + 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 + ", 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, NULL, 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"); + + If the function already exists, it will be replaced by the new + function + + @return: success + +Help on function add_idc_gvar in module ida_expr: + +add_idc_gvar(*args) -> 'idc_value_t *' + add_idc_gvar(name) -> idc_value_t + + + Add global IDC variable. + + @param name: name of the global variable (C++: const char *) + @return: pointer to the created variable or existing variable. NB: the + returned pointer is valid until a new global var is added. + +Help on function compile_idc_file in module ida_expr: + +compile_idc_file(*args) -> 'qstring *' + compile_idc_file(nonnul_line) -> str + +Help on function compile_idc_snippet in module ida_expr: + +compile_idc_snippet(*args) -> 'qstring *' + compile_idc_snippet(func, text, resolver=None, only_safe_funcs=False) -> str + + + Compile text with IDC statements. + + @param func: name of the function to create out of the snippet (C++: + const char *) + @param text: text to compile (C++: const char *) + @param resolver: callback object to get values of undefined variables + This object will be called if IDC function contains + references to undefined variables. May be NULL. (C++: + idc_resolver_t *) + @param only_safe_funcs: if true, any calls to functions without + EXTFUN_SAFE flag will lead to a compilation + error. (C++: bool) + +Help on function compile_idc_text in module ida_expr: + +compile_idc_text(*args) -> 'qstring *' + compile_idc_text(nonnul_line) -> str + +Help on function copy_idcv in module ida_expr: + +copy_idcv(*args) -> 'error_t' + 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 &) + +Help on function create_idcv_ref in module ida_expr: + +create_idcv_ref(*args) -> 'bool' + create_idcv_ref(ref, v) -> bool + + + Create a variable reference. Currently only references to global + variables can be created. + + @param ref: ptr to the result (C++: idc_value_t *) + @param v: variable to reference (C++: const idc_value_t *) + @return: success + +Help on function deep_copy_idcv in module ida_expr: + +deep_copy_idcv(*args) -> 'error_t' + 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 &) + +Help on function del_idc_func in module ida_expr: + +del_idc_func(name) + Unregisters the specified IDC function + + @param name: IDC function name to unregister + + @return: Boolean + + + Delete an IDC function + +Help on function del_idcv_attr in module ida_expr: + +del_idcv_attr(*args) -> 'error_t' + del_idcv_attr(obj, attr) -> error_t + + + Delete an object attribute. + + @param obj: variable that holds an object reference (C++: idc_value_t + *) + @param attr: attribute name (C++: const char *) + @return: error code, eOk on success + +Help on function deref_idcv in module ida_expr: + +deref_idcv(*args) -> 'idc_value_t *' + deref_idcv(v, vref_flags) -> idc_value_t + + + Dereference a 'VT_REF' variable. + + @param v: variable to dereference (C++: idc_value_t *) + @param vref_flags: Dereference IDC variable flags (C++: int) + @return: pointer to the dereference result or NULL. If returns NULL, + qerrno is set to eExecBadRef "Illegal variable reference" + +Help on function eval_expr in module ida_expr: + +eval_expr(*args) -> 'qstring *' + eval_expr(rv, where, line) -> str + + + Compile and calculate an expression. + + @param rv: pointer to the result (C++: idc_value_t *) + @param where: 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 . (C++: ea_t) + @param line: the expression to evaluate (C++: const char *) + +Help on function eval_idc_expr in module ida_expr: + +eval_idc_expr(*args) -> 'qstring *' + 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) + +Help on function exec_idc_script in module ida_expr: + +exec_idc_script(*args) -> 'qstring *' + exec_idc_script(result, path, func, args, argsnum) -> str + + + Compile and execute IDC function(s) from file. + + @param result: ptr to idc_value_t to hold result of the function. If + execution fails, this variable will contain the + exception information. You may pass NULL if you are not + interested in the returned value. (C++: idc_value_t *) + @param path: text file containing text of IDC functions (C++: const + char *) + @param func: function name to execute (C++: const char *) + @param args: array of parameters (C++: const idc_value_t) + @param argsnum: number of parameters to pass to 'fname' This number + should be equal to number of parameters the function + expects. (C++: size_t) + +Help on function exec_system_script in module ida_expr: + +exec_system_script(*args) -> 'bool' + exec_system_script(file, complain_if_no_file=True) -> bool + + + Compile and execute "main" function from system file. + + @param file: file name with IDC function(s). The file will be searched + in the idc subdir of ida (C++: const char *) + @param complain_if_no_file: 1: display warning if the file is not + found 0: don't complain if file doesn't + exist (C++: bool) + +Help on function find_idc_class in module ida_expr: + +find_idc_class(*args) -> 'idc_class_t *' + find_idc_class(name) -> idc_class_t * + + + Find an existing IDC class by its name. + + @param name: name of the class (C++: const char *) + @return: pointer to the class or NULL. The returned pointer is valid + until a new call to add_idc_class() + +Help on function find_idc_func in module ida_expr: + +find_idc_func(*args) -> 'qstring *' + find_idc_func(prefix, n=0) -> str + +Help on function find_idc_gvar in module ida_expr: + +find_idc_gvar(*args) -> 'idc_value_t *' + find_idc_gvar(name) -> idc_value_t + + + Find an existing global IDC variable by its name. + + @param name: name of the global variable (C++: const char *) + @return: pointer to the variable or NULL. 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 + +Help on function first_idcv_attr in module ida_expr: + +first_idcv_attr(*args) -> 'char const *' + first_idcv_attr(obj) -> char const * + +Help on function free_idcv in module ida_expr: + +free_idcv(*args) -> 'void' + 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 *) + +Help on function get_idc_filename in module ida_expr: + +get_idc_filename(*args) -> 'char const *' + get_idc_filename(file) -> str + + + Get full name of IDC file name. Search for file in list of include + directories, IDCPATH directory and the current directory. + + @param file: file name without full path (C++: const char *) + @return: NULL is file not found. otherwise returns pointer to buf + +Help on function get_idcv_attr in module ida_expr: + +get_idcv_attr(*args) -> 'error_t' + get_idcv_attr(res, obj, attr, may_use_getattr=False) -> error_t + + + Get an object attribute. + + @param res: buffer for the attribute value (C++: idc_value_t *) + @param obj: variable that holds an object reference. if obj is NULL it + searches global variables, then user functions (C++: const + idc_value_t *) + @param attr: attribute name (C++: const char *) + @param may_use_getattr: may call getattr functions to calculate the + attribute if it does not exist (C++: bool) + @return: error code, eOk on success + +Help on function get_idcv_class_name in module ida_expr: + +get_idcv_class_name(*args) -> 'qstring *' + get_idcv_class_name(obj) -> str + + + Retrieves the IDC object class name. + + @param obj: class instance variable (C++: const idc_value_t *) + @return: error code, eOk on success + +Help on function get_idcv_slice in module ida_expr: + +get_idcv_slice(*args) -> 'error_t' + get_idcv_slice(res, v, i1, i2, flags=0) -> error_t + + + Get slice. + + @param res: output variable that will contain the slice (C++: + idc_value_t *) + @param v: input variable (string or object) (C++: const idc_value_t + *) + @param i1: slice start index (C++: uval_t) + @param i2: slice end index (excluded) (C++: uval_t) + @param flags: IDC variable slice flags or 0 (C++: int) + @return: eOk if success + +Help on class highlighter_cbs_t in module ida_expr: + +class highlighter_cbs_t(builtins.object) + | Proxy of C++ highlighter_cbs_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> highlighter_cbs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_highlighter_cbs_t(...) + | delete_highlighter_cbs_t(self) + | + | cur_block_state(self, *args) -> 'int32' + | cur_block_state(self) -> int32 + | + | prev_block_state(self, *args) -> 'int32' + | prev_block_state(self) -> int32 + | + | set_block_state(self, *args) -> 'void' + | set_block_state(self, arg0) + | + | set_style(self, *args) -> 'void' + | set_style(self, arg0, arg1, arg2) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class idc_global_t in module ida_expr: + +class idc_global_t(builtins.object) + | Proxy of C++ idc_global_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idc_global_t + | __init__(self, n) -> idc_global_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_idc_global_t(...) + | delete_idc_global_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | idc_global_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | idc_global_t_value_get(self) -> idc_value_t + +Help on class idc_value_t in module ida_expr: + +class idc_value_t(builtins.object) + | Proxy of C++ idc_value_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=0) -> idc_value_t + | __init__(self, r) -> idc_value_t + | __init__(self, _str) -> idc_value_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_idc_value_t(...) + | delete_idc_value_t(self) + | + | _create_empty_string(self, *args) -> 'void' + | _create_empty_string(self) + | + | _idc_value_t__get_e = __get_e(self, *args) -> 'wrapped_array_t< ushort,6 >' + | __get_e(self) -> wrapped_array_t< ushort,6 > + | + | c_str(self, *args) -> 'char const *' + | c_str(self) -> char const * + | + | clear(self, *args) -> 'void' + | clear(self) + | + | create_empty_string(self, *args) -> 'void' + | create_empty_string(self) + | + | is_convertible(self, *args) -> 'bool' + | is_convertible(self) -> bool + | + | is_integral(self, *args) -> 'bool' + | is_integral(self) -> bool + | + | is_zero(self, *args) -> 'bool' + | is_zero(self) -> bool + | + | qstr(self, *args) -> 'qstring const &' + | qstr(self) -> qstring + | qstr(self) -> qstring const & + | + | set_float(self, *args) -> 'void' + | set_float(self, f) + | + | set_int64(self, *args) -> 'void' + | set_int64(self, v) + | + | set_long(self, *args) -> 'void' + | set_long(self, v) + | + | set_pvoid(self, *args) -> 'void' + | set_pvoid(self, p) + | + | set_string(self, *args) -> 'void' + | set_string(self, _str, len) + | set_string(self, _str) + | + | swap(self, *args) -> 'void' + | swap(self, v) + | + | u_str(self, *args) -> 'uchar const *' + | u_str(self) -> uchar const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | __get_e(self) -> wrapped_array_t< ushort,6 > + | + | funcidx + | idc_value_t_funcidx_get(self) -> int + | + | i64 + | idc_value_t_i64_get(self) -> int64 + | + | num + | idc_value_t_num_get(self) -> sval_t + | + | obj + | idc_value_t_obj_get(self) -> idc_object_t * + | + | pvoid + | idc_value_t_pvoid_get(self) -> void * + | + | reserve + | idc_value_t_reserve_get(self) -> uchar [sizeof(qstring)] + | + | str + | + | thisown + | The membership flag + | + | vtype + | idc_value_t_vtype_get(self) -> char + +Help on class idc_values_t in module ida_expr: + +class idc_values_t(builtins.object) + | Proxy of C++ qvector< idc_value_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'idc_value_t const &' + | __getitem__(self, i) -> idc_value_t + | + | __init__(self, *args) + | __init__(self) -> idc_values_t + | __init__(self, x) -> idc_values_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_idc_values_t(...) + | delete_idc_values_t(self) + | + | at(self, *args) -> 'idc_value_t const &' + | at(self, _idx) -> idc_value_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< idc_value_t >::const_iterator' + | begin(self) -> idc_value_t + | begin(self) -> idc_value_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< idc_value_t >::const_iterator' + | end(self) -> idc_value_t + | end(self) -> idc_value_t + | + | erase(self, *args) -> 'qvector< idc_value_t >::iterator' + | erase(self, it) -> idc_value_t + | erase(self, first, last) -> idc_value_t + | + | extract(self, *args) -> 'idc_value_t *' + | extract(self) -> idc_value_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=idc_value_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< idc_value_t >::iterator' + | insert(self, it, x) -> idc_value_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'idc_value_t &' + | push_back(self, x) + | push_back(self) -> idc_value_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function idcv_float in module ida_expr: + +idcv_float(*args) -> 'error_t' + idcv_float(v) -> error_t + + + Convert IDC variable to a floating point. + + + @param v (C++: idc_value_t *) + +Help on function idcv_int64 in module ida_expr: + +idcv_int64(*args) -> 'error_t' + 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 + +Help on function idcv_long in module ida_expr: + +idcv_long(*args) -> 'error_t' + 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 + +Help on function idcv_num in module ida_expr: + +idcv_num(*args) -> 'error_t' + 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 + +Help on function idcv_object in module ida_expr: + +idcv_object(*args) -> 'error_t' + idcv_object(v, icls=None) -> error_t + + + Create an IDC object. The original value of 'v' is discarded (freed). + + @param v: variable to hold the object. any previous value will be + cleaned (C++: idc_value_t *) + @param icls: ptr to the desired class. NULL means "object" class this + ptr must be returned by add_idc_class() or + find_idc_class() (C++: const idc_class_t *) + @return: always eOk + +Help on function idcv_string in module ida_expr: + +idcv_string(*args) -> 'error_t' + idcv_string(v) -> error_t + + + Convert IDC variable to a text string. + + + @param v (C++: idc_value_t *) + +Help on function last_idcv_attr in module ida_expr: + +last_idcv_attr(*args) -> 'char const *' + last_idcv_attr(obj) -> char const * + +Help on function move_idcv in module ida_expr: + +move_idcv(*args) -> 'error_t' + 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 *) + +Help on function next_idcv_attr in module ida_expr: + +next_idcv_attr(*args) -> 'char const *' + next_idcv_attr(obj, attr) -> char const * + +Help on function prev_idcv_attr in module ida_expr: + +prev_idcv_attr(*args) -> 'char const *' + prev_idcv_attr(obj, attr) -> char const * + +Help on function print_idcv in module ida_expr: + +print_idcv(*args) -> 'qstring *' + print_idcv(v, name=None, indent=0) -> str + + + Get text representation of 'idc_value_t' . + + + @param v (C++: const idc_value_t &) + @param name (C++: const char *) + @param indent (C++: int) + +Help on function py_add_idc_func in module ida_expr: + +py_add_idc_func(*args) -> 'bool' + py_add_idc_func(name, fp_ptr, args, defvals, flags) -> bool + +Help on function py_get_call_idc_func in module ida_expr: + +py_get_call_idc_func(*args) -> 'size_t' + py_get_call_idc_func() -> size_t + +Help on function pyw_convert_defvals in module ida_expr: + +pyw_convert_defvals(*args) -> 'bool' + pyw_convert_defvals(out, py_seq) -> bool + +Help on function pyw_register_idc_func in module ida_expr: + +pyw_register_idc_func(*args) -> 'size_t' + pyw_register_idc_func(name, args, py_fp) -> size_t + +Help on function pyw_unregister_idc_func in module ida_expr: + +pyw_unregister_idc_func(*args) -> 'bool' + pyw_unregister_idc_func(ctxptr) -> bool + +Help on function set_header_path in module ida_expr: + +set_header_path(*args) -> 'bool' + 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: list of directories to add (separated by ';') may be + NULL, in this case nothing is added (C++: const char *) + @param add: true: append. false: remove old paths. (C++: bool) + +Help on function set_idcv_attr in module ida_expr: + +set_idcv_attr(*args) -> 'error_t' + set_idcv_attr(obj, attr, value, may_use_setattr=False) -> error_t + + + Set an object attribute. + + @param obj: variable that holds an object reference. if obj is NULL + then it tries to modify a global variable with the + attribute name (C++: idc_value_t *) + @param attr: attribute name (C++: const char *) + @param value: new attribute value (C++: const idc_value_t &) + @param may_use_setattr: may call setattr functions for the class (C++: + bool) + @return: error code, eOk on success + +Help on function set_idcv_slice in module ida_expr: + +set_idcv_slice(*args) -> 'error_t' + set_idcv_slice(v, i1, i2, _in, flags=0) -> error_t + + + Set slice. + + @param v: variable to modify (string or object) (C++: idc_value_t *) + @param i1: slice start index (C++: uval_t) + @param i2: slice end index (excluded) (C++: uval_t) + @param flags: IDC variable slice flags or 0 (C++: int) + @return: eOk on success + +Help on function swap_idcvs in module ida_expr: + +swap_idcvs(*args) -> 'void' + swap_idcvs(v1, v2) + + + Swap 2 variables. + + + @param v1 (C++: idc_value_t *) + @param v2 (C++: idc_value_t *) + +Help on function throw_idc_exception in module ida_expr: + +throw_idc_exception(*args) -> 'error_t' + 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: object to hold the exception object (C++: idc_value_t *) + @param desc: exception description (C++: const char *) + @return: eExecThrow + +=== ida_expr EPYDOC INJECTIONS === +ida_expr.CPL_DEL_MACROS +""" +delete macros at the end of compilation +""" + +ida_expr.CPL_ONLY_SAFE +""" +allow calls of only thread-safe functions +""" + +ida_expr.CPL_USE_LABELS +""" +allow program labels in the script +""" + +ida_expr.IDC_LANG_EXT +""" +IDC script extension. +""" + +ida_expr.VARSLICE_SINGLE +""" +return single index (i2 is ignored) +""" + +ida_expr.VREF_COPY +""" +copy the result to the input var (v) +""" + +ida_expr.VREF_LOOP +""" +dereference until we get a non 'VT_REF' +""" + +ida_expr.VREF_ONCE +""" +dereference only once, do not loop +""" + +ida_expr.VT_FLOAT +""" +Floating point (see 'idc_value_t::e' ) +""" + +ida_expr.VT_FUNC +""" +Function (see 'idc_value_t::funcidx' ) +""" + +ida_expr.VT_INT64 +""" +i64 +""" + +ida_expr.VT_LONG +""" +Integer (see 'idc_value_t::num' ) +""" + +ida_expr.VT_OBJ +""" +Object (see idc_value_t::obj) +""" + +ida_expr.VT_PVOID +""" +void * +""" + +ida_expr.VT_REF +""" +Reference. +""" + +ida_expr.VT_STR +""" +String (see qstr() and similar functions) +""" + +ida_expr.VT_WILD +""" +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' . +""" + +ida_expr.eExecThrow +""" +See return value of 'idc_func_t' . +""" +=== ida_expr EPYDOC INJECTIONS END === +Help on function calc_fixup_size in module ida_fixup: + +calc_fixup_size(*args) -> 'int' + calc_fixup_size(type) -> int + + + Calculate size of fixup in bytes (the number of bytes the fixup + patches) + + @param type (C++: fixup_type_t) + +Help on function contains_fixups in module ida_fixup: + +contains_fixups(*args) -> 'bool' + contains_fixups(ea, size) -> bool + + + Does the specified address range contain any fixup information? + + + @param ea (C++: ea_t) + @param size (C++: asize_t) + +Help on function del_fixup in module ida_fixup: + +del_fixup(*args) -> 'void' + del_fixup(source) + + + Delete fixup information. + + + @param source (C++: ea_t) + +Help on function exists_fixup in module ida_fixup: + +exists_fixup(*args) -> 'bool' + exists_fixup(source) -> bool + + + Check that a fixup exists at the given address. + + + @param source (C++: ea_t) + +Help on function find_custom_fixup in module ida_fixup: + +find_custom_fixup(*args) -> 'fixup_type_t' + find_custom_fixup(name) -> fixup_type_t + + + Get id of a custom fixup handler. + + @param name: name of the custom fixup handler (C++: const char *) + @return: id with FIXUP_CUSTOM bit set or 0 + +Help on class fixup_data_t in module ida_fixup: + +class fixup_data_t(builtins.object) + | Proxy of C++ fixup_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> fixup_data_t + | __init__(self, type_, flags_=0) -> fixup_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_fixup_data_t(...) + | delete_fixup_data_t(self) + | + | calc_size(self, *args) -> 'int' + | calc_size(self) -> int + | + | clr_extdef(self, *args) -> 'void' + | clr_extdef(self) + | + | clr_unused(self, *args) -> 'void' + | clr_unused(self) + | + | get(self, *args) -> 'bool' + | get(self, source) -> bool + | + | get_base(self, *args) -> 'ea_t' + | get_base(self) -> ea_t + | + | get_desc(self, *args) -> 'char const *' + | get_desc(self, source) -> char const * + | + | get_flags(self, *args) -> 'uint32' + | get_flags(self) -> uint32 + | + | get_handler(self, *args) -> 'fixup_handler_t const *' + | get_handler(self) -> fixup_handler_t const * + | + | get_type(self, *args) -> 'fixup_type_t' + | get_type(self) -> fixup_type_t + | + | get_value(self, *args) -> 'uval_t' + | get_value(self, ea) -> uval_t + | + | has_base(self, *args) -> 'bool' + | has_base(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_extdef(self, *args) -> 'bool' + | is_extdef(self) -> bool + | + | is_unused(self, *args) -> 'bool' + | is_unused(self) -> bool + | + | patch_value(self, *args) -> 'bool' + | patch_value(self, ea) -> bool + | + | set(self, *args) -> 'void' + | set(self, source) + | + | set_base(self, *args) -> 'void' + | set_base(self, new_base) + | + | set_extdef(self, *args) -> 'void' + | set_extdef(self) + | + | set_sel(self, *args) -> 'void' + | set_sel(self, seg) + | + | set_target_sel(self, *args) -> 'void' + | set_target_sel(self) + | + | set_type(self, *args) -> 'void' + | set_type(self, type_) + | + | set_type_and_flags(self, *args) -> 'void' + | set_type_and_flags(self, type_, flags_=0) + | + | set_unused(self, *args) -> 'void' + | set_unused(self) + | + | was_created(self, *args) -> 'bool' + | was_created(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | displacement + | fixup_data_t_displacement_get(self) -> adiff_t + | + | off + | fixup_data_t_off_get(self) -> ea_t + | + | sel + | fixup_data_t_sel_get(self) -> sel_t + | + | thisown + | The membership flag + +Help on class fixup_info_t in module ida_fixup: + +class fixup_info_t(builtins.object) + | Proxy of C++ fixup_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> fixup_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_fixup_info_t(...) + | delete_fixup_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | fixup_info_t_ea_get(self) -> ea_t + | + | fd + | fixup_info_t_fd_get(self) -> fixup_data_t + | + | thisown + | The membership flag + +Help on function gen_fix_fixups in module ida_fixup: + +gen_fix_fixups(*args) -> 'void' + 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) + +Help on function get_first_fixup_ea in module ida_fixup: + +get_first_fixup_ea(*args) -> 'ea_t' + get_first_fixup_ea() -> ea_t + + + Get the first address with fixup information + + @return: the first address with fixup information, or BADADDR + +Help on function get_fixup in module ida_fixup: + +get_fixup(*args) -> 'bool' + get_fixup(fd, source) -> bool + + + Get fixup information. + + + @param fd (C++: fixup_data_t *) + @param source (C++: ea_t) + +Help on function get_fixup_desc in module ida_fixup: + +get_fixup_desc(*args) -> 'fixup_data_t const &' + get_fixup_desc(source, fd) -> str + + + Get FIXUP description comment. + + + @param source (C++: ea_t) + @param fd (C++: const fixup_data_t &) + +Help on function get_fixup_handler in module ida_fixup: + +get_fixup_handler(*args) -> 'fixup_handler_t const *' + get_fixup_handler(type) -> fixup_handler_t const * + + + Get handler of standard or custom fixup. + + + @param type (C++: fixup_type_t) + +Help on function get_fixup_value in module ida_fixup: + +get_fixup_value(*args) -> 'uval_t' + 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 'patch_fixup_value()' `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. + 'fixup_handler_t::size' + + @param ea: address to get fixup bytes from, the size of the fixup + bytes depends on the fixup type. (C++: ea_t) + @param type (C++: fixup_type_t) + +Help on function get_fixups in module ida_fixup: + +get_fixups(*args) -> 'bool' + get_fixups(out, ea, size) -> bool + +Help on function get_next_fixup_ea in module ida_fixup: + +get_next_fixup_ea(*args) -> 'ea_t' + get_next_fixup_ea(ea) -> ea_t + + + Find next address with fixup information + + @param ea: current address (C++: ea_t) + @return: the next address with fixup information, or BADADDR + +Help on function get_prev_fixup_ea in module ida_fixup: + +get_prev_fixup_ea(*args) -> 'ea_t' + get_prev_fixup_ea(ea) -> ea_t + + + Find previous address with fixup information + + @param ea: current address (C++: ea_t) + @return: the previous address with fixup information, or BADADDR + +Help on function is_fixup_custom in module ida_fixup: + +is_fixup_custom(*args) -> 'bool' + is_fixup_custom(type) -> bool + + + Is fixup processed by processor module? + + + @param type (C++: fixup_type_t) + +Help on function patch_fixup_value in module ida_fixup: + +patch_fixup_value(*args) -> 'bool' + 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. 'fixup_handler_t::size' + + @param ea: address where data are changed, the size of the changed + data depends on the fixup type. (C++: ea_t) + @param fd (C++: const fixup_data_t &) + +Help on function set_fixup in module ida_fixup: + +set_fixup(*args) -> 'void' + 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: the fixup source address, i.e. the address modified by + the fixup (C++: ea_t) + @param fd: fixup data (C++: const fixup_data_t &) + +=== ida_fixup EPYDOC INJECTIONS === +ida_fixup.FIXUPF_CREATED +""" +fixup was not present in the input file +""" + +ida_fixup.FIXUPF_EXTDEF +""" +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. +""" + +ida_fixup.FIXUPF_LOADER_MASK +""" +additional flags. The bits from this mask are not stored in the +database and can be used by the loader at its discretion. +""" + +ida_fixup.FIXUPF_REL +""" +fixup is relative to the linear address `base' . Otherwise fixup is +relative to the start of the segment with `sel' selector. +""" + +ida_fixup.FIXUPF_UNUSED +""" +fixup is ignored by IDAdisallows the kernel to convert operandsthis +fixup is not used during output +""" +=== ida_fixup EPYDOC INJECTIONS END === +Help on class qfile_t in module ida_fpro: + +class qfile_t(builtins.object) + | Proxy of C++ qfile_t class. + | + | + | A helper class to work with FILE related functions. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, rhs) -> qfile_t + | __init__(self, pycapsule=None) -> qfile_t + | + | + | Closes the file + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qfile_t(...) + | delete_qfile_t(self) + | + | close(self, *args) -> 'void' + | close(self) + | + | filename(self, *args) -> 'PyObject *' + | filename(self) -> PyObject * + | + | flush(self, *args) -> 'int' + | flush(self) -> int + | + | + | Reads a single byte from the file. Returns None if EOF or the read byte + | + | get_byte(self, *args) -> 'PyObject *' + | get_byte(self) -> PyObject * + | + | get_fp(self, *args) -> 'FILE *' + | get_fp(self) -> FILE * + | + | gets(self, *args) -> 'PyObject *' + | gets(self, size) -> PyObject * + | + | + | Reads a line from the input file. Returns the read line or None + | + | open(self, *args) -> 'bool' + | open(self, filename, mode) -> bool + | + | + | Opens a file + | + | @param filename: the file name + | @param mode: The mode string, ala fopen() style + | @return: Boolean + | + | opened(self, *args) -> 'bool' + | opened(self) -> bool + | + | + | Checks if the file is opened or not + | + | put_byte(self, *args) -> 'int' + | put_byte(self, chr) -> int + | + | + | Writes a single byte to the file + | + | puts(self, *args) -> 'int' + | puts(self, str) -> int + | + | read(self, *args) -> 'PyObject *' + | read(self, size) -> PyObject * + | + | + | Reads from the file. Returns the buffer or None + | + | readbytes(self, *args) -> 'PyObject *' + | readbytes(self, size, big_endian) -> PyObject * + | + | + | Similar to read() but it respect the endianness + | + | seek(self, *args) -> 'int' + | seek(self, offset, whence=SEEK_SET) -> int + | + | + | Set input source position + | @return: the new position (not 0 as fseek!) + | + | size(self, *args) -> 'int64' + | size(self) -> int64 + | + | tell(self, *args) -> 'int64' + | tell(self) -> int64 + | + | + | Returns the current position + | + | write(self, *args) -> 'int' + | write(self, py_buf) -> int + | + | + | Writes to the file. Returns 0 or the number of bytes written + | + | writebytes(self, *args) -> 'int' + | writebytes(self, py_buf, big_endian) -> int + | + | + | Similar to write() but it respect the endianness + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | from_capsule(*args) -> 'qfile_t *' + | from_capsule(pycapsule) -> qfile_t + | + | from_fp(*args) -> 'qfile_t *' + | from_fp(fp) -> qfile_t + | + | tmpfile(*args) -> 'qfile_t *' + | tmpfile() -> qfile_t + | + | + | A static method to construct an instance using a temporary file + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __idc_cvt_id__ + | qfile_t___idc_cvt_id___get(self) -> int + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function qfile_t_from_capsule in module ida_fpro: + +qfile_t_from_capsule(*args) -> 'qfile_t *' + qfile_t_from_capsule(pycapsule) -> qfile_t + +Help on function qfile_t_from_fp in module ida_fpro: + +qfile_t_from_fp(*args) -> 'qfile_t *' + qfile_t_from_fp(fp) -> qfile_t + +Help on function qfile_t_tmpfile in module ida_fpro: + +qfile_t_tmpfile(*args) -> 'qfile_t *' + qfile_t_tmpfile() -> qfile_t + +Help on function add_auto_stkpnt in module ida_frame: + +add_auto_stkpnt(*args) -> 'bool' + add_auto_stkpnt(pfn, ea, delta) -> bool + + + Add automatic SP register change point. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address where SP changes. usually this is the end of + the instruction which modifies the stack pointer + (\cmd{ea}+\cmd{size}) (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function add_frame in module ida_frame: + +add_frame(*args) -> 'bool' + add_frame(pfn, frsize, frregs, argsize) -> bool + + + Add function frame. + + @param pfn: pointer to function structure (C++: func_t *) + @param frsize: size of function local variables (C++: sval_t) + @param frregs: size of saved registers (C++: ushort) + @param argsize: 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. (C++: asize_t) + +Help on function add_regvar in module ida_frame: + +add_regvar(*args) -> 'int' + add_regvar(pfn, ea1, ea2, canon, user, cmt) -> int + + + Define a register variable. + + @param pfn: function in which the definition will be created (C++: + func_t *) + @param ea1: range of addresses within the function where the + definition will be used (C++: ea_t) + @param ea2: range of addresses within the function where the + definition will be used (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @param user: user-defined name for the register (C++: const char *) + @param cmt: comment for the definition (C++: const char *) + @return: Register variable error codes + +Help on function add_user_stkpnt in module ida_frame: + +add_user_stkpnt(*args) -> 'bool' + add_user_stkpnt(ea, delta) -> bool + + + Add user-defined SP register change point. + + @param ea: linear address where SP changes (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function build_stkvar_name in module ida_frame: + +build_stkvar_name(*args) -> 'qstring *' + build_stkvar_name(pfn, v) -> str + + + Build automatic stack variable name. + + @param pfn: pointer to function (can't be NULL!) (C++: const func_t + *) + @param v: value of variable offset (C++: sval_t) + @return: length of stack variable name or -1 + +Help on function build_stkvar_xrefs in module ida_frame: + +build_stkvar_xrefs(*args) -> 'void' + build_stkvar_xrefs(out, pfn, mptr) + + + Fill 'out' with a list of all the xrefs made from function 'pfn', to + the argument or variable 'mptr' in 'pfn's stack frame. + + @param out: the list of xrefs to fill. (C++: xreflist_t *) + @param pfn: the function to scan. (C++: func_t *) + @param mptr: the argument/variable in pfn's stack frame. (C++: const + member_t *) + +Help on function calc_stkvar_struc_offset in module ida_frame: + +calc_stkvar_struc_offset(*args) -> 'ea_t' + calc_stkvar_struc_offset(pfn, insn, n) -> ea_t + + + Calculate offset of stack variable in the frame structure. + + @param pfn: pointer to function (can't be NULL!) (C++: func_t *) + @param insn: the instruction (C++: const insn_t &) + @param n: number of operand: (0.. UA_MAXOP -1) -1 if error, return + BADADDR (C++: int) + @return: BADADDR if some error (issue a warning if stack frame is + bad) + +Help on function define_stkvar in module ida_frame: + +define_stkvar(*args) -> 'bool' + define_stkvar(pfn, name, off, flags, ti, nbytes) -> bool + + + Define/redefine a stack variable. + + @param pfn: pointer to function (C++: func_t *) + @param name: variable name, NULL means autogenerate a name (C++: const + char *) + @param off: offset of the stack variable in the frame. negative values + denote local variables, positive - function arguments. + (C++: sval_t) + @param flags: variable type flags ( byte_flag() for a byte variable, + for example) (C++: flags_t) + @param ti: additional type information (like offsets, structs, etc) + (C++: const opinfo_t *) + @param nbytes: number of bytes occupied by the variable (C++: asize_t) + @return: success + +Help on function del_frame in module ida_frame: + +del_frame(*args) -> 'bool' + del_frame(pfn) -> bool + + + Delete a function frame. + + @param pfn: pointer to function structure (C++: func_t *) + @return: success + +Help on function del_regvar in module ida_frame: + +del_regvar(*args) -> 'int' + del_regvar(pfn, ea1, ea2, canon) -> int + + + Delete a register variable definition. + + @param pfn: function in question (C++: func_t *) + @param ea1: range of addresses within the function where the + definition holds (C++: ea_t) + @param ea2: range of addresses within the function where the + definition holds (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @return: Register variable error codes + +Help on function del_stkpnt in module ida_frame: + +del_stkpnt(*args) -> 'bool' + del_stkpnt(pfn, ea) -> bool + + + Delete SP register change point. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: success + +Help on function delete_unreferenced_stkvars in module ida_frame: + +delete_unreferenced_stkvars(*args) -> 'int' + delete_unreferenced_stkvars(pfn) -> int + +Help on function delete_wrong_stkvar_ops in module ida_frame: + +delete_wrong_stkvar_ops(*args) -> 'int' + delete_wrong_stkvar_ops(pfn) -> int + +Help on function find_regvar in module ida_frame: + +find_regvar(*args) -> 'regvar_t *' + find_regvar(pfn, ea1, ea2, canon, user) -> regvar_t + find_regvar(pfn, ea, canon) -> regvar_t + + + Find a register variable definition (powerful version). One of 'canon' + and 'user' should be NULL. If both 'canon' and 'user' are NULL it + returns the first regvar definition in the range. + + @param pfn: function in question (C++: func_t *) + @param ea1: range of addresses to search. ea1==BADADDR means the + entire function (C++: ea_t) + @param ea2: range of addresses to search. ea1==BADADDR means the + entire function (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @param user: user-defined name for the register (C++: const char *) + @return: NULL-not found, otherwise ptr to regvar_t + +Help on function frame_off_args in module ida_frame: + +frame_off_args(*args) -> 'ea_t' + frame_off_args(pfn) -> ea_t + + + Get starting address of arguments section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_lvars in module ida_frame: + +frame_off_lvars(*args) -> 'ea_t' + frame_off_lvars(pfn) -> ea_t + + + Get start address of local variables section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_retaddr in module ida_frame: + +frame_off_retaddr(*args) -> 'ea_t' + frame_off_retaddr(pfn) -> ea_t + + + Get starting address of return address section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_savregs in module ida_frame: + +frame_off_savregs(*args) -> 'ea_t' + frame_off_savregs(pfn) -> ea_t + + + Get starting address of saved registers section. + + + @param pfn (C++: const func_t *) + +Help on function get_effective_spd in module ida_frame: + +get_effective_spd(*args) -> 'sval_t' + 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: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: 0 or the difference, usually a negative number + +Help on function get_frame in module ida_frame: + +get_frame(*args) -> 'struc_t *' + get_frame(pfn) -> struc_t + get_frame(ea) -> struc_t * + + + Get pointer to function frame. + + @param pfn: pointer to function structure (C++: const func_t *) + +Help on function get_frame_part in module ida_frame: + +get_frame_part(*args) -> 'void' + get_frame_part(range, pfn, part) + + + Get offsets of the frame part in the frame. + + @param range: pointer to the output buffer with the frame part + start/end(exclusive) offsets, can't be NULL (C++: + range_t *) + @param pfn: pointer to function structure, can't be NULL (C++: const + func_t *) + @param part: frame part (C++: frame_part_t) + +Help on function get_frame_retsize in module ida_frame: + +get_frame_retsize(*args) -> 'int' + get_frame_retsize(pfn) -> int + + + Get size of function return address. + + @param pfn: pointer to function structure, can't be NULL (C++: const + func_t *) + +Help on function get_frame_size in module ida_frame: + +get_frame_size(*args) -> 'asize_t' + 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: pointer to function structure, may be NULL (C++: const + func_t *) + @return: size of frame in bytes or zero + +Help on function get_func_by_frame in module ida_frame: + +get_func_by_frame(*args) -> 'ea_t' + get_func_by_frame(frame_id) -> ea_t + + + Get function by its frame id.this function works only with databases + created by IDA > 5.6 + + @param frame_id: id of the function frame (C++: tid_t) + @return: start address of the function or BADADDR + +Help on function get_min_spd_ea in module ida_frame: + +get_min_spd_ea(*args) -> 'ea_t' + get_min_spd_ea(pfn) -> ea_t + +Help on function get_sp_delta in module ida_frame: + +get_sp_delta(*args) -> 'sval_t' + get_sp_delta(pfn, ea) -> sval_t + + + Get modification of SP made at the specified location + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: 0 if the specified location doesn't contain a SP change + point. otherwise return delta of SP modification. + +Help on function get_spd in module ida_frame: + +get_spd(*args) -> 'sval_t' + get_spd(pfn, ea) -> sval_t + + + Get difference between the initial and current values of ESP. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address of an instruction (C++: ea_t) + @return: 0 or the difference, usually a negative number. returns the + sp-diff before executing the instruction. + +Help on function get_stkvar in module ida_frame: + +get_stkvar(*args) -> 'PyObject *' + get_stkvar(insn, op, v) -> PyObject * + + + Get pointer to stack variable + @param op: reference to instruction operand + @param v: immediate value in the operand (usually op.addr) + @return: + - None on failure + - tuple(member_t, actval) + where actval: actual value used to fetch stack variable + +Help on function has_regvar in module ida_frame: + +has_regvar(*args) -> 'bool' + has_regvar(pfn, ea) -> bool + + + Is there a register variable definition? + + @param pfn: function in question (C++: func_t *) + @param ea: current address (C++: ea_t) + +Help on function is_funcarg_off in module ida_frame: + +is_funcarg_off(*args) -> 'bool' + is_funcarg_off(pfn, frameoff) -> bool + + + Does the given offset lie within the arguments section? + + + @param pfn (C++: const func_t *) + @param frameoff (C++: uval_t) + +Help on class llabel_t in module ida_frame: + +class llabel_t(builtins.object) + | Proxy of C++ llabel_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> llabel_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_llabel_t(...) + | delete_llabel_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | llabel_t_ea_get(self) -> ea_t + | + | name + | llabel_t_name_get(self) -> char * + | + | thisown + | The membership flag + +Help on function lvar_off in module ida_frame: + +lvar_off(*args) -> 'sval_t' + lvar_off(pfn, frameoff) -> sval_t + + + Does the given offset lie within the local variables section? + + + @param pfn (C++: const func_t *) + @param frameoff (C++: uval_t) + +Help on function recalc_spd in module ida_frame: + +recalc_spd(*args) -> 'bool' + 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: linear address of the current instruction (C++: ea_t) + +Help on class regvar_t in module ida_frame: + +class regvar_t(ida_range.range_t) + | Proxy of C++ regvar_t class. + | + | Method resolution order: + | regvar_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regvar_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_regvar_t(...) + | delete_regvar_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | canon + | regvar_t_canon_get(self) -> char * + | + | cmt + | regvar_t_cmt_get(self) -> char * + | + | thisown + | The membership flag + | + | user + | regvar_t_user_get(self) -> char * + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on function rename_regvar in module ida_frame: + +rename_regvar(*args) -> 'int' + rename_regvar(pfn, v, user) -> int + + + Rename a register variable. + + @param pfn: function in question (C++: func_t *) + @param v: variable to rename (C++: regvar_t *) + @param user: new user-defined name for the register (C++: const char + *) + @return: Register variable error codes + +Help on function set_frame_size in module ida_frame: + +set_frame_size(*args) -> 'bool' + 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 + get_struc_size(get_frame(pfn)). + + @param pfn: pointer to function structure (C++: func_t *) + @param frsize: size of function local variables (C++: asize_t) + @param frregs: size of saved registers (C++: ushort) + @param argsize: size of function arguments that will be purged from + the stack upon return (C++: asize_t) + @return: success + +Help on function set_purged in module ida_frame: + +set_purged(*args) -> 'bool' + 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: address of the function of item (C++: ea_t) + @param nbytes: number of purged bytes (C++: int) + @param override_old_value: may overwrite old information about purged + bytes (C++: bool) + @return: success + +Help on function set_regvar_cmt in module ida_frame: + +set_regvar_cmt(*args) -> 'int' + set_regvar_cmt(pfn, v, cmt) -> int + + + Set comment for a register variable. + + @param pfn: function in question (C++: func_t *) + @param v: variable to rename (C++: regvar_t *) + @param cmt: new comment (C++: const char *) + @return: Register variable error codes + +Help on function soff_to_fpoff in module ida_frame: + +soff_to_fpoff(*args) -> 'sval_t' + soff_to_fpoff(pfn, soff) -> sval_t + + + Convert struct offsets into fp-relative offsets. This function + converts the offsets inside the 'struc_t' object into the frame + pointer offsets (for example, EBP-relative). + + @param pfn (C++: func_t *) + @param soff (C++: uval_t) + +Help on class stkpnt_t in module ida_frame: + +class stkpnt_t(builtins.object) + | Proxy of C++ stkpnt_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> stkpnt_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_stkpnt_t(...) + | delete_stkpnt_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | stkpnt_t_ea_get(self) -> ea_t + | + | spd + | stkpnt_t_spd_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class stkpnts_t in module ida_frame: + +class stkpnts_t(builtins.object) + | Proxy of C++ stkpnts_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> stkpnts_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_stkpnts_t(...) + | delete_stkpnts_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function update_fpd in module ida_frame: + +update_fpd(*args) -> 'bool' + update_fpd(pfn, fpd) -> bool + + + Update frame pointer delta. + + @param pfn: pointer to function structure (C++: func_t *) + @param fpd: new fpd value. cannot be bigger than the local variable + range size. (C++: asize_t) + @return: success + +Help on class xreflist_entry_t in module ida_frame: + +class xreflist_entry_t(builtins.object) + | Proxy of C++ xreflist_entry_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> xreflist_entry_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_xreflist_entry_t(...) + | delete_xreflist_entry_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | xreflist_entry_t_ea_get(self) -> ea_t + | + | opnum + | xreflist_entry_t_opnum_get(self) -> uchar + | + | thisown + | The membership flag + | + | type + | xreflist_entry_t_type_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class xreflist_t in module ida_frame: + +class xreflist_t(builtins.object) + | Proxy of C++ qvector< xreflist_entry_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'xreflist_entry_t const &' + | __getitem__(self, i) -> xreflist_entry_t + | + | __init__(self, *args) + | __init__(self) -> xreflist_t + | __init__(self, x) -> xreflist_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_xreflist_t(...) + | delete_xreflist_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'xreflist_entry_t const &' + | at(self, _idx) -> xreflist_entry_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< xreflist_entry_t >::const_iterator' + | begin(self) -> xreflist_entry_t + | begin(self) -> xreflist_entry_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< xreflist_entry_t >::const_iterator' + | end(self) -> xreflist_entry_t + | end(self) -> xreflist_entry_t + | + | erase(self, *args) -> 'qvector< xreflist_entry_t >::iterator' + | erase(self, it) -> xreflist_entry_t + | erase(self, first, last) -> xreflist_entry_t + | + | extract(self, *args) -> 'xreflist_entry_t *' + | extract(self) -> xreflist_entry_t + | + | find(self, *args) -> 'qvector< xreflist_entry_t >::const_iterator' + | find(self, x) -> xreflist_entry_t + | find(self, x) -> xreflist_entry_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=xreflist_entry_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< xreflist_entry_t >::iterator' + | insert(self, it, x) -> xreflist_entry_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'xreflist_entry_t &' + | push_back(self, x) + | push_back(self) -> xreflist_entry_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +=== ida_frame EPYDOC INJECTIONS === +ida_frame.REGVAR_ERROR_ARG +""" +function arguments are bad +""" + +ida_frame.REGVAR_ERROR_NAME +""" +the provided name(s) can't be accepted +""" + +ida_frame.REGVAR_ERROR_OK +""" +all ok +""" + +ida_frame.REGVAR_ERROR_RANGE +""" +the definition range is bad +""" + +ida_frame.STKVAR_VALID_SIZE +""" +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 +""" +=== ida_frame EPYDOC INJECTIONS END === +Help on function add_func in module ida_funcs: + +add_func(*args) -> 'bool' + 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: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @return: success + +Help on function add_func_ex in module ida_funcs: + +add_func_ex(*args) -> 'bool' + 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: ptr to filled function structure (C++: func_t *) + @return: success + +Help on function add_regarg in module ida_funcs: + +add_regarg(*args) -> 'void' + add_regarg(pfn, reg, tif, name) + +Help on function append_func_tail in module ida_funcs: + +append_func_tail(*args) -> 'bool' + 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 *) + @param ea1: start of the tail. If a tail already exists at the + specified address it must start at 'ea1' (C++: ea_t) + @param ea2: 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. (C++: ea_t) + +Help on function apply_idasgn_to in module ida_funcs: + +apply_idasgn_to(*args) -> 'int' + apply_idasgn_to(signame, ea, is_startup) -> int + + + Apply a signature file to the specified address. + + @param signame: short name of signature file (the file name without + path) (C++: const char *) + @param ea: address to apply the signature (C++: ea_t) + @param is_startup: 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. (C++: bool) + @return: Library function codes + +Help on function apply_startup_sig in module ida_funcs: + +apply_startup_sig(*args) -> 'bool' + apply_startup_sig(ea, startup) -> bool + + + Apply a startup signature file to the specified address. + + @param ea: address to apply the signature to; usually \inf{start_ea} + (C++: ea_t) + @param startup: the name of the signature file without path and + extension (C++: const char *) + @return: true if successfully applied the signature + +Help on function calc_func_size in module ida_funcs: + +calc_func_size(*args) -> 'asize_t' + calc_func_size(pfn) -> asize_t + + + Calculate function size. This function takes into account all + fragments of the function. + + @param pfn: ptr to function structure (C++: func_t *) + +Help on function calc_idasgn_state in module ida_funcs: + +calc_idasgn_state(*args) -> 'int' + calc_idasgn_state(n) -> int + + + Get state of a signature in the list of planned signatures + + @param n: number of signature in the list (0.. get_idasgn_qty() -1) + (C++: int) + @return: state of signature or IDASGN_BADARG + +Help on function calc_thunk_func_target in module ida_funcs: + +calc_thunk_func_target(*args) + calc_thunk_func_target(pfn) -> ea_t + + + Calculate target of a thunk function. + + @param pfn: pointer to function (may not be NULL) (C++: func_t *) + @return: the target function or BADADDR + +Help on function del_func in module ida_funcs: + +del_func(*args) -> 'bool' + del_func(ea) -> bool + + + Delete a function. + + @param ea: any address in the function entry chunk (C++: ea_t) + @return: success + +Help on function del_idasgn in module ida_funcs: + +del_idasgn(*args) -> 'int' + del_idasgn(n) -> int + + + Remove signature from the list of planned signatures. + + @param n: number of signature in the list (0.. get_idasgn_qty() -1) + (C++: int) + @return: IDASGN_OK , IDASGN_BADARG , IDASGN_APPLIED + +Help on function f_any in module ida_funcs: + +f_any(*args) -> 'bool' + f_any(arg1, arg2) -> bool + + + Helper function to accept any address. + +Help on function find_func_bounds in module ida_funcs: + +find_func_bounds(*args) -> 'int' + 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 \ph{func_bounds} in order to fine tune the function + boundaries. + + @param nfn: structure to fill with information \ nfn->start_ea points + to the start address of the new function. (C++: func_t *) + @param flags: Find function bounds flags (C++: int) + @return: Find function bounds result codes + +Help on function func_contains in module ida_funcs: + +func_contains(*args) -> 'bool' + func_contains(pfn, ea) -> bool + + + Does the given function contain the given address? + + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on function func_does_return in module ida_funcs: + +func_does_return(*args) -> 'bool' + 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) + +Help on function func_item_iterator_decode_preceding_insn in module ida_funcs: + +func_item_iterator_decode_preceding_insn(*args) -> 'bool' + func_item_iterator_decode_preceding_insn(fii, visited, p_farref, out) -> bool + +Help on function func_item_iterator_decode_prev_insn in module ida_funcs: + +func_item_iterator_decode_prev_insn(*args) -> 'bool' + func_item_iterator_decode_prev_insn(fii, out) -> bool + +Help on function func_item_iterator_next in module ida_funcs: + +func_item_iterator_next(*args) -> 'bool' + func_item_iterator_next(fii, testf, ud) -> bool + +Help on function func_item_iterator_prev in module ida_funcs: + +func_item_iterator_prev(*args) -> 'bool' + func_item_iterator_prev(fii, testf, ud) -> bool + +Help on class func_item_iterator_t in module ida_funcs: + +class func_item_iterator_t(builtins.object) + | Proxy of C++ func_item_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_item_iterator_t + | __init__(self, pfn, _ea=BADADDR) -> func_item_iterator_t + | + | __next__(self, *args) -> 'bool' + | __next__(self, func, ud) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_item_iterator_t(...) + | delete_func_item_iterator_t(self) + | + | chunk(self, *args) -> 'range_t const &' + | chunk(self) -> range_t + | + | current(self, *args) -> 'ea_t' + | current(self) -> ea_t + | + | decode_preceding_insn(self, *args) -> 'bool' + | decode_preceding_insn(self, visited, p_farref, out) -> bool + | + | decode_prev_insn(self, *args) -> 'bool' + | decode_prev_insn(self, out) -> bool + | + | first(self, *args) -> 'bool' + | first(self) -> bool + | + | last(self, *args) -> 'bool' + | last(self) -> bool + | + | next = __next__(self, *args) -> 'bool' + | + | next_addr(self, *args) -> 'bool' + | next_addr(self) -> bool + | + | next_code(self, *args) -> 'bool' + | next_code(self) -> bool + | + | next_data(self, *args) -> 'bool' + | next_data(self) -> bool + | + | next_head(self, *args) -> 'bool' + | next_head(self) -> bool + | + | next_not_tail(self, *args) -> 'bool' + | next_not_tail(self) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, func, ud) -> bool + | + | prev_addr(self, *args) -> 'bool' + | prev_addr(self) -> bool + | + | prev_code(self, *args) -> 'bool' + | prev_code(self) -> bool + | + | prev_data(self, *args) -> 'bool' + | prev_data(self) -> bool + | + | prev_head(self, *args) -> 'bool' + | prev_head(self) -> bool + | + | prev_not_tail(self, *args) -> 'bool' + | prev_not_tail(self) -> bool + | + | set(self, *args) -> 'bool' + | set(self, pfn, _ea=BADADDR) -> bool + | + | set_range(self, *args) -> 'bool' + | set_range(self, ea1, ea2) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function func_parent_iterator_set in module ida_funcs: + +func_parent_iterator_set(*args) -> 'bool' + func_parent_iterator_set(fpi, pfn) -> bool + +Help on class func_parent_iterator_t in module ida_funcs: + +class func_parent_iterator_t(builtins.object) + | Proxy of C++ func_parent_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_parent_iterator_t + | __init__(self, _fnt) -> func_parent_iterator_t + | + | __next__(self, *args) -> 'bool' + | __next__(self) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_parent_iterator_t(...) + | delete_func_parent_iterator_t(self) + | + | first(self, *args) -> 'bool' + | first(self) -> bool + | + | last(self, *args) -> 'bool' + | last(self) -> bool + | + | next = __next__(self, *args) -> 'bool' + | + | parent(self, *args) -> 'ea_t' + | parent(self) -> ea_t + | + | prev(self, *args) -> 'bool' + | prev(self) -> bool + | + | reset_fnt(self, *args) -> 'void' + | reset_fnt(self, _fnt) + | + | set(self, *args) -> 'bool' + | set(self, _fnt) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class func_t in module ida_funcs: + +class func_t(ida_range.range_t) + | Proxy of C++ func_t class. + | + | Method resolution order: + | func_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __get_points__(self, *args) -> 'dynamic_wrapped_array_t< stkpnt_t >' + | __get_points__(self) -> stkpnt_array + | + | __get_regvars__(self, *args) -> 'dynamic_wrapped_array_t< regvar_t >' + | __get_regvars__(self) -> regvar_array + | + | __get_tails__(self, *args) -> 'dynamic_wrapped_array_t< range_t >' + | __get_tails__(self) -> range_array + | + | __init__(self, *args) + | __init__(self, start=0, end=0, f=0) -> func_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_t(...) + | delete_func_t(self) + | + | analyzed_sp(self, *args) -> 'bool' + | analyzed_sp(self) -> bool + | + | does_return(self, *args) -> 'bool' + | does_return(self) -> bool + | + | is_far(self, *args) -> 'bool' + | is_far(self) -> bool + | + | need_prolog_analysis(self, *args) -> 'bool' + | need_prolog_analysis(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | argsize + | func_t_argsize_get(self) -> asize_t + | + | color + | func_t_color_get(self) -> bgcolor_t + | + | flags + | func_t_flags_get(self) -> uint64 + | + | fpd + | func_t_fpd_get(self) -> asize_t + | + | frame + | func_t_frame_get(self) -> uval_t + | + | frregs + | func_t_frregs_get(self) -> ushort + | + | frsize + | func_t_frsize_get(self) -> asize_t + | + | llabelqty + | func_t_llabelqty_get(self) -> int + | + | llabels + | func_t_llabels_get(self) -> llabel_t * + | + | owner + | func_t_owner_get(self) -> ea_t + | + | pntqty + | func_t_pntqty_get(self) -> uint32 + | + | points + | __get_points__(self) -> stkpnt_array + | + | referers + | func_t_referers_get(self) -> ea_t * + | + | refqty + | func_t_refqty_get(self) -> int + | + | regargqty + | func_t_regargqty_get(self) -> int + | + | regargs + | func_t_regargs_get(self) -> regarg_t + | + | regvarqty + | func_t_regvarqty_get(self) -> int + | + | regvars + | __get_regvars__(self) -> regvar_array + | + | tailqty + | func_t_tailqty_get(self) -> int + | + | tails + | __get_tails__(self) -> range_array + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on function func_t__from_ptrval__ in module ida_funcs: + +func_t__from_ptrval__(*args) -> 'func_t *' + func_t__from_ptrval__(ptrval) -> func_t + +Help on function func_tail_iterator_set in module ida_funcs: + +func_tail_iterator_set(*args) -> 'bool' + func_tail_iterator_set(fti, pfn, ea) -> bool + +Help on function func_tail_iterator_set_ea in module ida_funcs: + +func_tail_iterator_set_ea(*args) -> 'bool' + func_tail_iterator_set_ea(fti, ea) -> bool + +Help on class func_tail_iterator_t in module ida_funcs: + +class func_tail_iterator_t(builtins.object) + | Proxy of C++ func_tail_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_tail_iterator_t + | __init__(self, _pfn, ea=BADADDR) -> func_tail_iterator_t + | + | __next__(self, *args) -> 'bool' + | __next__(self) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_tail_iterator_t(...) + | delete_func_tail_iterator_t(self) + | + | chunk(self, *args) -> 'range_t const &' + | chunk(self) -> range_t + | + | first(self, *args) -> 'bool' + | first(self) -> bool + | + | last(self, *args) -> 'bool' + | last(self) -> bool + | + | main(self, *args) -> 'bool' + | main(self) -> bool + | + | next = __next__(self, *args) -> 'bool' + | + | prev(self, *args) -> 'bool' + | prev(self) -> bool + | + | set(self, *args) -> 'bool' + | set(self, _pfn, ea=BADADDR) -> bool + | + | set_ea(self, *args) -> 'bool' + | set_ea(self, ea) -> bool + | + | set_range(self, *args) -> 'bool' + | set_range(self, ea1, ea2) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function get_current_idasgn in module ida_funcs: + +get_current_idasgn(*args) -> 'int' + get_current_idasgn() -> int + + + Get number of the the current signature. + + @return: 0..n-1 + +Help on function get_fchunk in module ida_funcs: + +get_fchunk(*args) -> 'func_t *' + get_fchunk(ea) -> func_t + + + Get pointer to function chunk structure by address. + + @param ea: any address in a function chunk (C++: ea_t) + @return: ptr to a function chunk or NULL. This function may return a + function entry as well as a function tail. + +Help on function get_fchunk_num in module ida_funcs: + +get_fchunk_num(*args) -> 'int' + get_fchunk_num(ea) -> int + + + Get ordinal number of a function chunk in the global list of function + chunks. + + @param ea: any address in the function chunk (C++: ea_t) + @return: number of function chunk (0.. get_fchunk_qty() -1). -1 means + 'no function chunk at the specified address'. + +Help on function get_fchunk_qty in module ida_funcs: + +get_fchunk_qty(*args) -> 'size_t' + get_fchunk_qty() -> size_t + + + Get total number of function chunks in the program. + +Help on function get_fchunk_referer in module ida_funcs: + +get_fchunk_referer(*args) -> 'ea_t' + get_fchunk_referer(ea, idx) -> ea_t + +Help on function get_func in module ida_funcs: + +get_func(*args) -> 'func_t *' + get_func(ea) -> func_t + + + Get pointer to function structure by address. + + @param ea: any address in a function (C++: ea_t) + @return: ptr to a function or NULL. This function returns a function + entry chunk. + +Help on function get_func_bitness in module ida_funcs: + +get_func_bitness(*args) -> 'int' + get_func_bitness(pfn) -> int + + + Get function bitness (which is equal to the function segment bitness). + pfn==NULL => returns 0 + + @param pfn (C++: const func_t *) + +Help on function get_func_bits in module ida_funcs: + +get_func_bits(*args) -> 'int' + get_func_bits(pfn) -> int + + + Get number of bits in the function addressing. + + + @param pfn (C++: const func_t *) + +Help on function get_func_bytes in module ida_funcs: + +get_func_bytes(*args) -> 'int' + get_func_bytes(pfn) -> int + + + Get number of bytes in the function addressing. + + + @param pfn (C++: const func_t *) + +Help on function get_func_chunknum in module ida_funcs: + +get_func_chunknum(*args) -> 'int' + get_func_chunknum(pfn, ea) -> int + + + Get the containing tail chunk of 'ea'. + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on function get_func_cmt in module ida_funcs: + +get_func_cmt(*args) -> 'qstring *' + get_func_cmt(pfn, repeatable) -> str + + + Get function comment. + + @param pfn: ptr to function structure (C++: const func_t *) + @param repeatable: get repeatable comment? (C++: bool) + @return: size of comment or -1 In fact this function works with + function chunks too. + +Help on function get_func_name in module ida_funcs: + +get_func_name(*args) -> 'qstring *' + get_func_name(ea) -> str + + + Get function name. + + @param ea: any address in the function (C++: ea_t) + @return: length of the function name + +Help on function get_func_num in module ida_funcs: + +get_func_num(*args) -> 'int' + get_func_num(ea) -> int + + + Get ordinal number of a function. + + @param ea: any address in the function (C++: ea_t) + @return: number of function (0.. get_func_qty() -1). -1 means 'no + function at the specified address'. + +Help on function get_func_qty in module ida_funcs: + +get_func_qty(*args) -> 'size_t' + get_func_qty() -> size_t + + + Get total number of functions in the program. + +Help on function get_func_ranges in module ida_funcs: + +get_func_ranges(*args) -> 'ea_t' + get_func_ranges(ranges, pfn) -> ea_t + + + Get function ranges. + + @param ranges: buffer to receive the range info (C++: rangeset_t *) + @param pfn: ptr to function structure (C++: func_t *) + @return: end address of the last function range (BADADDR-error) + +Help on function get_idasgn_desc in module ida_funcs: + +get_idasgn_desc(*args) -> 'PyObject *' + get_idasgn_desc(n) -> PyObject * + + + 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) + +Help on function get_idasgn_desc_with_matches in module ida_funcs: + +get_idasgn_desc_with_matches(*args) -> 'PyObject *' + get_idasgn_desc_with_matches(n) -> PyObject * + + + 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) + +Help on function get_idasgn_qty in module ida_funcs: + +get_idasgn_qty(*args) -> 'int' + get_idasgn_qty() -> int + + + Get number of signatures in the list of planned and applied + signatures. + + @return: 0..n + +Help on function get_idasgn_title in module ida_funcs: + +get_idasgn_title(*args) -> 'qstring *' + get_idasgn_title(name) -> str + + + Get full description of the signature by its short name. + + @param name: short name of a signature (C++: const char *) + @return: size of signature description or -1 + +Help on function get_next_fchunk in module ida_funcs: + +get_next_fchunk(*args) -> 'func_t *' + get_next_fchunk(ea) -> func_t + + + Get pointer to the next function chunk in the global list. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function chunk or NULL if next function chunk doesn't + exist + +Help on function get_next_func in module ida_funcs: + +get_next_func(*args) -> 'func_t *' + get_next_func(ea) -> func_t + + + Get pointer to the next function. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function or NULL if next function doesn't exist + +Help on function get_next_func_addr in module ida_funcs: + +get_next_func_addr(*args) -> 'ea_t' + get_next_func_addr(pfn, ea) -> ea_t + +Help on function get_prev_fchunk in module ida_funcs: + +get_prev_fchunk(*args) -> 'func_t *' + get_prev_fchunk(ea) -> func_t + + + Get pointer to the previous function chunk in the global list. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function chunk or NULL if previous function chunk + doesn't exist + +Help on function get_prev_func in module ida_funcs: + +get_prev_func(*args) -> 'func_t *' + get_prev_func(ea) -> func_t + + + Get pointer to the previous function. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function or NULL if previous function doesn't exist + +Help on function get_prev_func_addr in module ida_funcs: + +get_prev_func_addr(*args) -> 'ea_t' + get_prev_func_addr(pfn, ea) -> ea_t + +Help on function getn_fchunk in module ida_funcs: + +getn_fchunk(*args) -> 'func_t *' + getn_fchunk(n) -> func_t + + + Get pointer to function chunk structure by number. + + @param n: number of function chunk, is in range 0.. get_fchunk_qty() + -1 (C++: int) + @return: ptr to a function chunk or NULL. This function may return a + function entry as well as a function tail. + +Help on function getn_func in module ida_funcs: + +getn_func(*args) -> 'func_t *' + getn_func(n) -> func_t + + + Get pointer to function structure by number. + + @param n: number of function, is in range 0.. get_func_qty() -1 (C++: + size_t) + @return: ptr to a function or NULL. This function returns a function + entry chunk. + +Help on function is_finally_visible_func in module ida_funcs: + +is_finally_visible_func(*args) -> 'bool' + is_finally_visible_func(pfn) -> bool + + + Is the function visible (event after considering 'SCF_SHHID_FUNC' )? + + + @param pfn (C++: func_t *) + +Help on function is_func_entry in module ida_funcs: + +is_func_entry(*args) -> 'bool' + is_func_entry(pfn) -> bool + + + Does function describe a function entry chunk? + + + @param pfn (C++: const func_t *) + +Help on function is_func_locked in module ida_funcs: + +is_func_locked(*args) -> 'bool' + is_func_locked(pfn) -> bool + + + Is the function pointer locked? + + + @param pfn (C++: const func_t *) + +Help on function is_func_tail in module ida_funcs: + +is_func_tail(*args) -> 'bool' + is_func_tail(pfn) -> bool + + + Does function describe a function tail chunk? + + + @param pfn (C++: const func_t *) + +Help on function is_same_func in module ida_funcs: + +is_same_func(*args) -> 'bool' + is_same_func(ea1, ea2) -> bool + + + Do two addresses belong to the same function? + + + @param ea1 (C++: ea_t) + @param ea2 (C++: ea_t) + +Help on function is_visible_func in module ida_funcs: + +is_visible_func(*args) -> 'bool' + is_visible_func(pfn) -> bool + + + Is the function visible (not hidden)? + + + @param pfn (C++: func_t *) + +Help on class lock_func in module ida_funcs: + +class lock_func(builtins.object) + | Proxy of C++ lock_func class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _pfn) -> lock_func + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lock_func(...) + | delete_lock_func(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function lock_func_range in module ida_funcs: + +lock_func_range(*args) -> 'void' + 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 *) + @param lock (C++: bool) + +Help on function plan_to_apply_idasgn in module ida_funcs: + +plan_to_apply_idasgn(*args) -> 'int' + plan_to_apply_idasgn(fname) -> int + + + Add a signature file to the list of planned signature files. + + @param fname: file name. should not contain directory part. (C++: + const char *) + @return: 0 if failed, otherwise number of planned (and applied) + signatures + +Help on class range_array in module ida_funcs: + +class range_array(builtins.object) + | Proxy of C++ dynamic_wrapped_array_t< range_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __init__(self, *args) + | __init__(self, _data, _count) -> range_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_range_array(...) + | delete_range_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | range_array_count_get(self) -> size_t + | + | data + | range_array_data_get(self) -> range_t + | + | thisown + | The membership flag + +Help on function read_regargs in module ida_funcs: + +read_regargs(*args) -> 'void' + read_regargs(pfn) + +Help on function reanalyze_function in module ida_funcs: + +reanalyze_function(*args) -> 'void' + 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: pointer to a function (C++: func_t *) + @param ea1: start of the range to analyze (C++: ea_t) + @param ea2: end of range to analyze (C++: ea_t) + @param analyze_parents: 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. (C++: bool) + +Help on function reanalyze_noret_flag in module ida_funcs: + +reanalyze_noret_flag(*args) -> 'bool' + 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) + +Help on class regarg_t in module ida_funcs: + +class regarg_t(builtins.object) + | Proxy of C++ regarg_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regarg_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_regarg_t(...) + | delete_regarg_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | regarg_t_name_get(self) -> char * + | + | reg + | regarg_t_reg_get(self) -> int + | + | thisown + | The membership flag + | + | type + | regarg_t_type_get(self) -> type_t * + +Help on class regvar_array in module ida_funcs: + +class regvar_array(builtins.object) + | Proxy of C++ dynamic_wrapped_array_t< regvar_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'regvar_t const &' + | __getitem__(self, i) -> regvar_t const & + | + | __init__(self, *args) + | __init__(self, _data, _count) -> regvar_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_regvar_array(...) + | delete_regvar_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | regvar_array_count_get(self) -> size_t + | + | data + | regvar_array_data_get(self) -> regvar_t * + | + | thisown + | The membership flag + +Help on function remove_func_tail in module ida_funcs: + +remove_func_tail(*args) -> 'bool' + 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 *) + @param tail_ea (C++: ea_t) + +Help on function set_func_cmt in module ida_funcs: + +set_func_cmt(*args) -> 'bool' + set_func_cmt(pfn, cmt, repeatable) -> bool + + + Set function comment. This function works with function chunks too. + + @param pfn: ptr to function structure (C++: const func_t *) + @param cmt: comment string, may be multiline (with ' '). Use empty + str ("") to delete comment (C++: const char *) + @param repeatable: set repeatable comment? (C++: bool) + +Help on function set_func_end in module ida_funcs: + +set_func_end(*args) -> 'bool' + set_func_end(ea, newend) -> bool + + + Move function chunk end address. + + @param ea: any address in the function (C++: ea_t) + @param newend: new end address of the function (C++: ea_t) + @return: success + +Help on function set_func_name_if_jumpfunc in module ida_funcs: + +set_func_name_if_jumpfunc(*args) -> 'int' + set_func_name_if_jumpfunc(pfn, oldname) -> int + + + Give a meaningful name to function if it consists of only 'jump' + instruction. + + @param pfn: pointer to function (may be NULL) (C++: func_t *) + @param oldname: 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 NULL. (C++: const char *) + @return: success + +Help on function set_func_start in module ida_funcs: + +set_func_start(*args) -> 'int' + set_func_start(ea, newstart) -> int + + + Move function chunk start address. + + @param ea: any address in the function (C++: ea_t) + @param newstart: new end address of the function (C++: ea_t) + @return: Function move result codes + +Help on function set_noret_insn in module ida_funcs: + +set_noret_insn(*args) -> 'bool' + 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 + +Help on function set_tail_owner in module ida_funcs: + +set_tail_owner(*args) -> 'bool' + set_tail_owner(fnt, func_start) -> bool + + + Set a function as the possessing function of a function tail. The + function should already refer to the tail (after append_func_tail). + + @param fnt (C++: func_t *) + @param func_start (C++: ea_t) + +Help on function set_visible_func in module ida_funcs: + +set_visible_func(*args) -> 'void' + set_visible_func(pfn, visible) + + + Set visibility of function. + + + @param pfn (C++: func_t *) + @param visible (C++: bool) + +Help on class stkpnt_array in module ida_funcs: + +class stkpnt_array(builtins.object) + | Proxy of C++ dynamic_wrapped_array_t< stkpnt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'stkpnt_t const &' + | __getitem__(self, i) -> stkpnt_t const & + | + | __init__(self, *args) + | __init__(self, _data, _count) -> stkpnt_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_stkpnt_array(...) + | delete_stkpnt_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | stkpnt_array_count_get(self) -> size_t + | + | data + | stkpnt_array_data_get(self) -> stkpnt_t * + | + | thisown + | The membership flag + +Help on function try_to_add_libfunc in module ida_funcs: + +try_to_add_libfunc(*args) -> 'int' + 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: any address in the program (C++: ea_t) + @return: Library function codes + +Help on function update_func in module ida_funcs: + +update_func(*args) -> 'bool' + 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: ptr to function structure (C++: func_t *) + @return: success + +=== ida_funcs EPYDOC INJECTIONS === +ida_funcs.FIND_FUNC_DEFINE +""" +create instruction if undefined byte is encountered +""" + +ida_funcs.FIND_FUNC_EXIST +""" +its bounds are returned in 'nfn'. + +function exists already. +""" + +ida_funcs.FIND_FUNC_IGNOREFN +""" +ignore existing function boundaries. by default the function returns +function boundaries if ea belongs to a function. +""" + +ida_funcs.FIND_FUNC_KEEPBD +""" +just create instructions inside the boundaries. + +do not modify incoming function boundaries, +""" + +ida_funcs.FIND_FUNC_NORMAL +""" +stop processing if undefined byte is encountered +""" + +ida_funcs.FIND_FUNC_OK +""" +ok, 'nfn' is ready for 'add_func()' +""" + +ida_funcs.FIND_FUNC_UNDEF +""" +nfn->end_ea will have the address of the unexplored byte. + +function has instructions that pass execution flow to unexplored +bytes. +""" + +ida_funcs.FUNC_BOTTOMBP +""" +BP points to the bottom of the stack frame. +""" + +ida_funcs.FUNC_FAR +""" +Far function. +""" + +ida_funcs.FUNC_FRAME +""" +Function uses frame pointer (BP) +""" + +ida_funcs.FUNC_FUZZY_SP +""" +for example: and esp, 0FFFFFFF0h + +Function changes SP in untraceable way, +""" + +ida_funcs.FUNC_HIDDEN +""" +A hidden function chunk. +""" + +ida_funcs.FUNC_LIB +""" +Library function. +""" + +ida_funcs.FUNC_LUMINA +""" +Function info is provided by Lumina. +""" + +ida_funcs.FUNC_NORET +""" +Function doesn't return. +""" + +ida_funcs.FUNC_NORET_PENDING +""" +This flag is verified upon 'func_does_return()' + +Function 'non-return' analysis must be performed. +""" + +ida_funcs.FUNC_PROLOG_OK +""" +by last SP-analysis + +Prolog analysis has be performed +""" + +ida_funcs.FUNC_PURGED_OK +""" +'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. +""" + +ida_funcs.FUNC_SP_READY +""" +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 +""" + +ida_funcs.FUNC_STATICDEF +""" +Static function. +""" + +ida_funcs.FUNC_TAIL +""" +This is a function tail. Other bits must be clear (except +'FUNC_HIDDEN' ). +""" + +ida_funcs.FUNC_THUNK +""" +Thunk (jump) function. +""" + +ida_funcs.FUNC_USERFAR +""" +of the function + +User has specified far-ness +""" + +ida_funcs.IDASGN_APPLIED +""" +signature is already applied +""" + +ida_funcs.IDASGN_BADARG +""" +bad number of signature +""" + +ida_funcs.IDASGN_CURRENT +""" +signature is currently being applied +""" + +ida_funcs.IDASGN_OK +""" +ok +""" + +ida_funcs.IDASGN_PLANNED +""" +signature is planned to be applied +""" + +ida_funcs.LIBFUNC_DELAY +""" +no decision because of lack of information +""" + +ida_funcs.LIBFUNC_FOUND +""" +ok, library function is found +""" + +ida_funcs.LIBFUNC_NONE +""" +no, this is not a library function +""" + +ida_funcs.MOVE_FUNC_BADSTART +""" +bad new start address +""" + +ida_funcs.MOVE_FUNC_NOCODE +""" +no instruction at 'newstart' +""" + +ida_funcs.MOVE_FUNC_NOFUNC +""" +no function at 'ea' +""" + +ida_funcs.MOVE_FUNC_OK +""" +ok +""" + +ida_funcs.MOVE_FUNC_REFUSED +""" +a plugin refused the action +""" +=== ida_funcs EPYDOC INJECTIONS END === +Help on class BasicBlock in module ida_gdl: + +class BasicBlock(builtins.object) + | Basic block class. It is returned by the Flowchart class + | + | Methods defined here: + | + | __init__(self, id, bb, fc) + | Initialize self. See help(type(self)) for accurate signature. + | + | preds(self) + | Iterates the predecessors list + | + | succs(self) + | Iterates the successors list + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | startEA + +Help on class FlowChart in module ida_gdl: + +class FlowChart(builtins.object) + | Flowchart class used to determine basic blocks. + | Check ex_gdl_qflow_chart.py for sample usage. + | + | Methods defined here: + | + | __getitem__(self, index) + | Returns a basic block + | + | @return: BasicBlock + | + | __init__(self, f=None, bounds=None, flags=0) + | 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. One interesting flag is FC_PREDS + | + | __iter__(self) + | + | _getitem(self, index) + | + | refresh(self) + | Refreshes the flow chart + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | size + +Help on function display_gdl in module ida_gdl: + +display_gdl(*args) -> 'int' + 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()' . + + @param fname (C++: const char *) + @return: error code from os, 0 if ok + +Help on function gen_complex_call_chart in module ida_gdl: + +gen_complex_call_chart(*args) -> 'bool' + gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1) -> bool + + + Build and display a complex xref graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param wait: message to display during graph building (C++: const char + *) + @param title: graph title (C++: const char *) + @param ea1: address range (C++: ea_t) + @param ea2: address range (C++: ea_t) + @param flags: 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. (C++: int) + @param recursion_depth: optional limit of recursion (C++: int32) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function gen_flow_graph in module ida_gdl: + +gen_flow_graph(*args) -> 'bool' + gen_flow_graph(filename, title, pfn, ea1, ea2, gflags) -> bool + + + Build and display a flow graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param title: graph title (C++: const char *) + @param pfn: function to graph (C++: func_t *) + @param ea1: if pfn == NULL, then the address range (C++: ea_t) + @param ea2: if pfn == NULL, then the address range (C++: ea_t) + @param gflags: combination of Flow graph building flags . if none of + CHART_GEN_DOT , CHART_GEN_GDL , CHART_WINGRAPH is + specified, the function will return false (C++: int) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function gen_gdl in module ida_gdl: + +gen_gdl(*args) -> 'void' + gen_gdl(g, fname) + + + Create GDL file for graph. + + + @param g (C++: const gdl_graph_t *) + @param fname (C++: const char *) + +Help on function gen_simple_call_chart in module ida_gdl: + +gen_simple_call_chart(*args) -> 'bool' + gen_simple_call_chart(filename, wait, title, gflags) -> bool + + + Build and display a simple function call graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param wait: message to display during graph building (C++: const char + *) + @param title: graph title (C++: const char *) + @param gflags: 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. (C++: int) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function is_noret_block in module ida_gdl: + +is_noret_block(*args) -> 'bool' + is_noret_block(btype) -> bool + + + Does this block never return? + + + @param btype (C++: fc_block_type_t) + +Help on function is_ret_block in module ida_gdl: + +is_ret_block(*args) -> 'bool' + is_ret_block(btype) -> bool + + + Does this block return? + + + @param btype (C++: fc_block_type_t) + +Help on class node_iterator in module ida_gdl: + +class node_iterator(builtins.object) + | Proxy of C++ node_iterator class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, n) -> bool + | + | __init__(self, *args) + | __init__(self, _g, n) -> node_iterator + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, n) -> bool + | + | __ref__(self, *args) -> 'int' + | __ref__(self) -> int + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_node_iterator(...) + | delete_node_iterator(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qbasic_block_t in module ida_gdl: + +class qbasic_block_t(ida_range.range_t) + | Proxy of C++ qbasic_block_t class. + | + | Method resolution order: + | qbasic_block_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> qbasic_block_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qbasic_block_t(...) + | delete_qbasic_block_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on class qflow_chart_t in module ida_gdl: + +class qflow_chart_t(builtins.object) + | Proxy of C++ qflow_chart_t class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'qbasic_block_t *' + | __getitem__(self, n) -> qbasic_block_t + | + | __init__(self, *args) + | __init__(self) -> qflow_chart_t + | __init__(self, _title, _pfn, _ea1, _ea2, _flags) -> qflow_chart_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qflow_chart_t(...) + | delete_qflow_chart_t(self) + | + | append_to_flowchart(self, *args) -> 'void' + | append_to_flowchart(self, ea1, ea2) + | + | calc_block_type(self, *args) -> 'fc_block_type_t' + | calc_block_type(self, blknum) -> fc_block_type_t + | + | create(self, *args) -> 'void' + | create(self, _title, _pfn, _ea1, _ea2, _flags) + | create(self, _title, ranges, _flags) + | + | get_node_label(self, *args) -> 'char *' + | get_node_label(self, arg2, arg3, arg4) -> char * + | + | is_noret_block(self, *args) -> 'bool' + | is_noret_block(self, blknum) -> bool + | + | is_ret_block(self, *args) -> 'bool' + | is_ret_block(self, blknum) -> bool + | + | npred(self, *args) -> 'int' + | npred(self, node) -> int + | + | nsucc(self, *args) -> 'int' + | nsucc(self, node) -> int + | + | pred(self, *args) -> 'int' + | pred(self, node, i) -> int + | + | print_names(self, *args) -> 'bool' + | print_names(self) -> bool + | + | print_node_attributes(self, *args) -> 'void' + | print_node_attributes(self, arg2, arg3) + | + | refresh(self, *args) -> 'void' + | refresh(self) + | + | size(self, *args) -> 'int' + | size(self) -> int + | + | succ(self, *args) -> 'int' + | succ(self, node, i) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bounds + | qflow_chart_t_bounds_get(self) -> range_t + | + | flags + | qflow_chart_t_flags_get(self) -> int + | + | nproper + | qflow_chart_t_nproper_get(self) -> int + | + | pfn + | qflow_chart_t_pfn_get(self) -> func_t * + | + | thisown + | The membership flag + | + | title + | qflow_chart_t_title_get(self) -> qstring * + +=== ida_gdl EPYDOC INJECTIONS === +ida_gdl.CHART_FOLLOW_DIRECTION +""" +analyze references to added blocks only in the direction of the +reference who discovered the current block +""" + +ida_gdl.CHART_GEN_DOT +""" +generate .dot file (file extension is forced to .dot) +""" + +ida_gdl.CHART_GEN_GDL +""" +generate .gdl file (file extension is forced to .gdl) +""" + +ida_gdl.CHART_IGNORE_LIB_FROM +""" +ignore references from library functions +""" + +ida_gdl.CHART_IGNORE_LIB_TO +""" +ignore references to library functions +""" + +ida_gdl.CHART_NOLIBFUNCS +""" +don't include library functions in the graph +""" + +ida_gdl.CHART_PRINT_DOTS +""" +print dots if xrefs exist outside of the range recursion depth +""" + +ida_gdl.CHART_PRINT_NAMES +""" +print labels for each block? +""" + +ida_gdl.CHART_RECURSIVE +""" +analyze added blocks +""" + +ida_gdl.CHART_REFERENCED +""" +references from the addresses in the list +""" + +ida_gdl.CHART_REFERENCING +""" +references to the addresses in the list +""" + +ida_gdl.CHART_WINGRAPH +""" +call grapher to display the graph +""" + +ida_gdl.FC_APPND +""" +multirange flowchart (set by append_to_flowchart) +""" + +ida_gdl.FC_CHKBREAK +""" +build_qflow_chart() may be aborted by user +""" + +ida_gdl.FC_NOEXT +""" +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 +""" + +ida_gdl.FC_PREDS +""" +compute predecessor lists +""" + +ida_gdl.FC_PRINT +""" +print names (used only by display_flow_chart()) +""" +=== ida_gdl EPYDOC INJECTIONS END === +Help on class GraphViewer in module ida_graph: + +class GraphViewer(ida_kernwin.CustomIDAMemo) + | Proxy of C++ View_Hooks class. + | + | Method resolution order: + | GraphViewer + | ida_kernwin.CustomIDAMemo + | ida_kernwin.View_Hooks + | builtins.object + | + | Methods defined here: + | + | AddCommand(self, title, shortcut) + | + | AddEdge(self, src_node, dest_node) + | Creates an edge between two given node ids + | + | AddNode(self, obj) + | Creates a node associated with the given object and returns the node id + | + | Clear(self) + | Clears all the nodes and edges + | + | Close(self) + | Closes the graph. + | It is possible to call Show() again (which will recreate the graph) + | + | Count(self) + | Returns the node count + | + | OnCommand(self, cmd_id) + | + | OnPopup(self, widget, popup_handle) + | + | OnRefresh(self) + | 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. + | + | Select(self, node_id) + | Selects a node on the graph + | + | Show(self) + | Shows an existing graph or creates a new one + | + | @return: Boolean + | + | __getitem__(self, idx) + | Returns a reference to the object associated with this node id + | + | __init__(self, title, close_open=False) + | 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? + | + | __iter__(self) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | UI_Hooks_Trampoline = , , , ...] # 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | view_activated(self, view) + | + | view_click(self, view, ve) + | view_click(self, view, event) + | + | view_close(self, view, *args) + | view_close(self, view) + | + | view_curpos(self, view, *args) + | view_curpos(self, view) + | + | view_dblclick(self, view, ve) + | view_dblclick(self, view, event) + | + | view_deactivated(self, view) + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, view, ve) + | view_mouse_over(self, view, event) + | + | view_switched(self, view, rt) + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods inherited from ida_kernwin.CustomIDAMemo: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_kernwin.View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_View_Hooks(...) + | delete_View_Hooks(self) + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | view_created(self, *args) -> 'void' + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_kernwin.View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class TPointDouble in module ida_graph: + +class TPointDouble(builtins.object) + | Proxy of C++ TPointDouble class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> TPointDouble + | __init__(self, a, b) -> TPointDouble + | __init__(self, r) -> TPointDouble + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_TPointDouble(...) + | delete_TPointDouble(self) + | + | add(self, *args) -> 'void' + | add(self, r) + | + | negate(self, *args) -> 'void' + | negate(self) + | + | sub(self, *args) -> 'void' + | sub(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | TPointDouble_x_get(self) -> double + | + | y + | TPointDouble_y_get(self) -> double + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function calc_dist in module ida_graph: + +calc_dist(*args) -> 'double' + calc_dist(p, q) -> double + + + Calculate distance between p and q. + + + @param p (C++: point_t) + @param q (C++: point_t) + +Help on function clr_node_info in module ida_graph: + +clr_node_info(*args) -> 'void' + clr_node_info(gid, node, flags) + + + Clear node info for the given node. + + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @param flags: combination of Node info flags , identifying which + fields of node_info_t will be cleared (C++: uint32) + +Help on function create_disasm_graph in module ida_graph: + +create_disasm_graph(*args) -> 'mutable_graph_t *' + create_disasm_graph(ea) -> mutable_graph_t + create_disasm_graph(ranges) -> mutable_graph_t + + + Create a graph for the function that contains 'ea'. + + + @param ea (C++: ea_t) + +Help on function create_graph_viewer in module ida_graph: + +create_graph_viewer(*args) -> 'graph_viewer_t *' + create_graph_viewer(title, id, callback, ud, title_height, parent=None) -> graph_viewer_t * + + + Create a custom graph viewer. + + @param title: the widget title (C++: const char *) + @param id: graph id (C++: uval_t) + @param callback: callback to handle graph notifications ( + graph_notification_t ) (C++: hook_cb_t *) + @param ud: user data passed to callback (C++: void *) + @param title_height: node title height (C++: int) + @param parent (C++: TWidget *) + @return: new viewer + +Help on function create_mutable_graph in module ida_graph: + +create_mutable_graph(*args) -> 'mutable_graph_t *' + create_mutable_graph(id) -> mutable_graph_t + + + Create a new empty graph with given id. + + + @param id (C++: uval_t) + +Help on function create_user_graph_place in module ida_graph: + +create_user_graph_place(*args) -> 'user_graph_place_t *' + 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) + +Help on function del_node_info in module ida_graph: + +del_node_info(*args) -> 'void' + del_node_info(gid, node) + + + Delete the 'node_info_t' for the given node. + + + @param gid (C++: graph_id_t) + @param node (C++: int) + +Help on function delete_mutable_graph in module ida_graph: + +delete_mutable_graph(*args) -> 'void' + delete_mutable_graph(g) + + + Delete graph object.use this only if you are dealing with + 'mutable_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++: mutable_graph_t *) + +Help on class edge_info_t in module ida_graph: + +class edge_info_t(builtins.object) + | Proxy of C++ edge_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> edge_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_edge_info_t(...) + | delete_edge_info_t(self) + | + | reverse_layout(self, *args) -> 'void' + | reverse_layout(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | color + | edge_info_t_color_get(self) -> bgcolor_t + | + | dstoff + | edge_info_t_dstoff_get(self) -> int + | + | layout + | edge_info_t_layout_get(self) -> pointseq_t + | + | srcoff + | edge_info_t_srcoff_get(self) -> int + | + | thisown + | The membership flag + | + | width + | edge_info_t_width_get(self) -> int + +Help on class edge_infos_wrapper_t in module ida_graph: + +class edge_infos_wrapper_t(builtins.object) + | Proxy of C++ edge_infos_wrapper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ptr + | edge_infos_wrapper_t_ptr_get(self) -> edge_infos_t * + | + | thisown + | The membership flag + +Help on class edge_layout_point_t in module ida_graph: + +class edge_layout_point_t(builtins.object) + | Proxy of C++ edge_layout_point_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> edge_layout_point_t + | __init__(self, r) -> edge_layout_point_t + | __init__(self, _e, _pidx) -> edge_layout_point_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_edge_layout_point_t(...) + | delete_edge_layout_point_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | edge_layout_point_t_e_get(self) -> edge_t + | + | pidx + | edge_layout_point_t_pidx_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class edge_segment_t in module ida_graph: + +class edge_segment_t(builtins.object) + | Proxy of C++ edge_segment_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> edge_segment_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_edge_segment_t(...) + | delete_edge_segment_t(self) + | + | length(self, *args) -> 'size_t' + | length(self) -> size_t + | + | toright(self, *args) -> 'bool' + | toright(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | edge_segment_t_e_get(self) -> edge_t + | + | nseg + | edge_segment_t_nseg_get(self) -> int + | + | thisown + | The membership flag + | + | x0 + | edge_segment_t_x0_get(self) -> int + | + | x1 + | edge_segment_t_x1_get(self) -> int + +Help on class edge_t in module ida_graph: + +class edge_t(builtins.object) + | Proxy of C++ edge_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, y) -> bool + | + | __init__(self, *args) + | __init__(self) -> edge_t + | __init__(self, x, y) -> edge_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, y) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, y) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_edge_t(...) + | delete_edge_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dst + | edge_t_dst_get(self) -> int + | + | src + | edge_t_src_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function get_graph_viewer in module ida_graph: + +get_graph_viewer(*args) -> 'graph_viewer_t *' + get_graph_viewer(parent) -> graph_viewer_t * + + + Get custom graph viewer for given form. + + + @param parent (C++: TWidget *) + +Help on function get_node_info in module ida_graph: + +get_node_info(*args) -> 'bool' + get_node_info(out, gid, node) -> bool + + + Get node info. + + @param out: result (C++: node_info_t *) + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @return: success + +Help on function get_viewer_graph in module ida_graph: + +get_viewer_graph(*args) -> 'mutable_graph_t *' + get_viewer_graph(gv) -> mutable_graph_t + + + Get graph object for given custom graph viewer. + + + @param gv (C++: graph_viewer_t *) + +Help on class graph_item_t in module ida_graph: + +class graph_item_t(builtins.object) + | Proxy of C++ graph_item_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> graph_item_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_item_t(...) + | delete_graph_item_t(self) + | + | is_edge(self, *args) -> 'bool' + | is_edge(self) -> bool + | + | is_node(self, *args) -> 'bool' + | is_node(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | b + | graph_item_t_b_get(self) -> int + | + | e + | graph_item_t_e_get(self) -> edge_t + | + | elp + | graph_item_t_elp_get(self) -> edge_layout_point_t + | + | n + | graph_item_t_n_get(self) -> int + | + | p + | graph_item_t_p_get(self) -> point_t + | + | thisown + | The membership flag + | + | type + | graph_item_t_type_get(self) -> graph_item_type_t + +Help on class graph_node_visitor_t in module ida_graph: + +class graph_node_visitor_t(builtins.object) + | Proxy of C++ graph_node_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_node_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_node_visitor_t(...) + | delete_graph_node_visitor_t(self) + | + | is_forbidden_edge(self, *args) -> 'bool' + | is_forbidden_edge(self, arg0, arg1) -> bool + | + | is_visited(self, *args) -> 'bool' + | is_visited(self, n) -> bool + | + | reinit(self, *args) -> 'void' + | reinit(self) + | + | set_visited(self, *args) -> 'void' + | set_visited(self, n) + | + | visit_node(self, *args) -> 'int' + | visit_node(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class graph_path_visitor_t in module ida_graph: + +class graph_path_visitor_t(builtins.object) + | Proxy of C++ graph_path_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_path_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_path_visitor_t(...) + | delete_graph_path_visitor_t(self) + | + | walk_backward(self, *args) -> 'int' + | walk_backward(self, arg0) -> int + | + | walk_forward(self, *args) -> 'int' + | walk_forward(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | path + | graph_path_visitor_t_path_get(self) -> intvec_t * + | + | prune + | graph_path_visitor_t_prune_get(self) -> bool + | + | thisown + | The membership flag + +Help on class graph_visitor_t in module ida_graph: + +class graph_visitor_t(builtins.object) + | Proxy of C++ graph_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_visitor_t(...) + | delete_graph_visitor_t(self) + | + | visit_edge(self, *args) -> 'int' + | visit_edge(self, arg2, arg3) -> int + | + | visit_node(self, *args) -> 'int' + | visit_node(self, arg2, arg3) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class group_crinfo_t in module ida_graph: + +class group_crinfo_t(builtins.object) + | Proxy of C++ group_crinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> group_crinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_group_crinfo_t(...) + | delete_group_crinfo_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | nodes + | group_crinfo_t_nodes_get(self) -> intvec_t * + | + | text + | group_crinfo_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class interval_t in module ida_graph: + +class interval_t(builtins.object) + | Proxy of C++ interval_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> interval_t + | __init__(self, y0, y1) -> interval_t + | __init__(self, s) -> interval_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_interval_t(...) + | delete_interval_t(self) + | + | contains(self, *args) -> 'bool' + | contains(self, x) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | length(self, *args) -> 'int' + | length(self) -> int + | + | make_union(self, *args) -> 'void' + | make_union(self, r) + | + | move_by(self, *args) -> 'void' + | move_by(self, shift) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x0 + | interval_t_x0_get(self) -> int + | + | x1 + | interval_t_x1_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class mutable_graph_t in module ida_graph: + +class mutable_graph_t(builtins.object) + | Proxy of C++ mutable_graph_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mutable_graph_t(...) + | delete_mutable_graph_t(self) + | + | calc_group_ea(self, *args) -> 'ea_t' + | calc_group_ea(self, arg0) -> ea_t + | + | change_group_visibility(self, *args) -> 'bool' + | change_group_visibility(self, group, expand) -> bool + | + | clear(self, *args) -> 'void' + | clear(self) + | + | create_digraph_layout(self, *args) -> 'bool' + | create_digraph_layout(self) -> bool + | + | create_group(self, *args) -> 'int' + | create_group(self, nodes) -> int + | + | del_custom_layout(self, *args) -> 'void' + | del_custom_layout(self) + | + | delete_group(self, *args) -> 'bool' + | delete_group(self, group) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | exists(self, *args) -> 'bool' + | exists(self, node) -> bool + | + | get_custom_layout(self, *args) -> 'bool' + | get_custom_layout(self) -> bool + | + | get_edge(self, *args) -> 'edge_info_t' + | get_edge(self, e) -> edge_info_t + | + | get_first_subgraph_node(self, *args) -> 'int' + | get_first_subgraph_node(self, group) -> int + | + | get_graph_groups(self, *args) -> 'bool' + | get_graph_groups(self) -> bool + | + | get_next_subgraph_node(self, *args) -> 'int' + | get_next_subgraph_node(self, group, current) -> int + | + | get_node_group(self, *args) -> 'int' + | get_node_group(self, node) -> int + | + | get_node_representative(self, *args) -> 'int' + | get_node_representative(self, node) -> int + | + | is_collapsed_node(self, *args) -> 'bool' + | is_collapsed_node(self, node) -> bool + | + | is_deleted_node(self, *args) -> 'bool' + | is_deleted_node(self, node) -> bool + | + | is_displayable_node(self, *args) -> 'bool' + | is_displayable_node(self, node) -> bool + | + | is_dot_node(self, *args) -> 'bool' + | is_dot_node(self, node) -> bool + | + | is_group_node(self, *args) -> 'bool' + | is_group_node(self, node) -> bool + | + | is_simple_node(self, *args) -> 'bool' + | is_simple_node(self, node) -> bool + | + | is_subgraph_node(self, *args) -> 'bool' + | is_subgraph_node(self, node) -> bool + | + | is_uncollapsed_node(self, *args) -> 'bool' + | is_uncollapsed_node(self, node) -> bool + | + | is_user_graph(self, *args) -> 'bool' + | is_user_graph(self) -> bool + | + | is_visible_node(self, *args) -> 'bool' + | is_visible_node(self, node) -> bool + | + | node_qty(self, *args) -> 'int' + | node_qty(self) -> int + | + | npred(self, *args) -> 'int' + | npred(self, b) -> int + | + | nrect(self, *args) -> 'rect_t &' + | nrect(self, n) -> rect_t + | nrect(self, n) -> rect_t + | + | nsucc(self, *args) -> 'int' + | nsucc(self, b) -> int + | + | pred(self, *args) -> 'int' + | pred(self, b, i) -> int + | + | predset(self, *args) -> 'intvec_t const &' + | predset(self, b) -> intvec_t const & + | + | reset(self, *args) -> 'void' + | reset(self) + | + | set_custom_layout(self, *args) -> 'void' + | set_custom_layout(self) + | + | set_deleted_node(self, *args) -> 'void' + | set_deleted_node(self, node) + | + | set_edge(self, *args) -> 'bool' + | set_edge(self, e, ei) -> bool + | + | set_graph_groups(self, *args) -> 'void' + | set_graph_groups(self) + | + | set_node_group(self, *args) -> 'void' + | set_node_group(self, node, group) + | + | size(self, *args) -> 'int' + | size(self) -> int + | + | succ(self, *args) -> 'int' + | succ(self, b, i) -> int + | + | succset(self, *args) -> 'intvec_t const &' + | succset(self, b) -> intvec_t const & + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | belongs + | mutable_graph_t_belongs_get(self) -> intvec_t * + | + | edges + | mutable_graph_t_edges_get(self) -> edge_infos_wrapper_t + | + | gid + | mutable_graph_t_gid_get(self) -> uval_t + | + | node_flags + | mutable_graph_t_node_flags_get(self) -> bytevec_t * + | + | nodes + | mutable_graph_t_nodes_get(self) -> node_layout_t + | + | org_preds + | mutable_graph_t_org_preds_get(self) -> array_of_intvec_t + | + | org_succs + | mutable_graph_t_org_succs_get(self) -> array_of_intvec_t + | + | preds + | mutable_graph_t_preds_get(self) -> array_of_intvec_t + | + | succs + | mutable_graph_t_succs_get(self) -> array_of_intvec_t + | + | thisown + | The membership flag + +Help on class node_info_t in module ida_graph: + +class node_info_t(builtins.object) + | Proxy of C++ node_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> node_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_node_info_t(...) + | delete_node_info_t(self) + | + | get_flags_for_valid(self, *args) -> 'uint32' + | get_flags_for_valid(self) -> uint32 + | + | valid_bg_color(self, *args) -> 'bool' + | valid_bg_color(self) -> bool + | + | valid_ea(self, *args) -> 'bool' + | valid_ea(self) -> bool + | + | valid_flags(self, *args) -> 'bool' + | valid_flags(self) -> bool + | + | valid_frame_color(self, *args) -> 'bool' + | valid_frame_color(self) -> bool + | + | valid_text(self, *args) -> 'bool' + | valid_text(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bg_color + | node_info_t_bg_color_get(self) -> bgcolor_t + | + | ea + | node_info_t_ea_get(self) -> ea_t + | + | flags + | node_info_t_flags_get(self) -> uint32 + | + | frame_color + | node_info_t_frame_color_get(self) -> bgcolor_t + | + | text + | node_info_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class node_layout_t in module ida_graph: + +class node_layout_t(builtins.object) + | Proxy of C++ qvector< rect_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'rect_t const &' + | __getitem__(self, i) -> rect_t + | + | __init__(self, *args) + | __init__(self) -> node_layout_t + | __init__(self, x) -> node_layout_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_node_layout_t(...) + | delete_node_layout_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'rect_t const &' + | at(self, _idx) -> rect_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< rect_t >::const_iterator' + | begin(self) -> rect_t + | begin(self) -> rect_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< rect_t >::const_iterator' + | end(self) -> rect_t + | end(self) -> rect_t + | + | erase(self, *args) -> 'qvector< rect_t >::iterator' + | erase(self, it) -> rect_t + | erase(self, first, last) -> rect_t + | + | extract(self, *args) -> 'rect_t *' + | extract(self) -> rect_t + | + | find(self, *args) -> 'qvector< rect_t >::const_iterator' + | find(self, x) -> rect_t + | find(self, x) -> rect_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=rect_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< rect_t >::iterator' + | insert(self, it, x) -> rect_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'rect_t &' + | push_back(self, x) + | push_back(self) -> rect_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class node_ordering_t in module ida_graph: + +class node_ordering_t(builtins.object) + | Proxy of C++ node_ordering_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> node_ordering_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_node_ordering_t(...) + | delete_node_ordering_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | node(self, *args) -> 'int' + | node(self, _order) -> int + | + | resize(self, *args) -> 'void' + | resize(self, n) + | + | set(self, *args) -> 'void' + | set(self, _node, num) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class point_t in module ida_graph: + +class point_t(builtins.object) + | Proxy of C++ point_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> point_t + | __init__(self, _x, _y) -> point_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_point_t(...) + | delete_point_t(self) + | + | add(self, *args) -> 'point_t &' + | add(self, r) -> point_t + | + | negate(self, *args) -> 'void' + | negate(self) + | + | sub(self, *args) -> 'point_t &' + | sub(self, r) -> point_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | point_t_x_get(self) -> int + | + | y + | point_t_y_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class pointseq_t in module ida_graph: + +class pointseq_t(pointvec_t) + | Proxy of C++ pointseq_t class. + | + | Method resolution order: + | pointseq_t + | pointvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pointseq_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pointseq_t(...) + | delete_pointseq_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from pointvec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'point_t const &' + | __getitem__(self, i) -> point_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'point_t const &' + | at(self, _idx) -> point_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< point_t >::const_iterator' + | begin(self) -> point_t + | begin(self) -> point_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< point_t >::const_iterator' + | end(self) -> point_t + | end(self) -> point_t + | + | erase(self, *args) -> 'qvector< point_t >::iterator' + | erase(self, it) -> point_t + | erase(self, first, last) -> point_t + | + | extract(self, *args) -> 'point_t *' + | extract(self) -> point_t + | + | find(self, *args) -> 'qvector< point_t >::const_iterator' + | find(self, x) -> point_t + | find(self, x) -> point_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=point_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< point_t >::iterator' + | insert(self, it, x) -> point_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'point_t &' + | push_back(self, x) + | push_back(self) -> point_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from pointvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from pointvec_t: + | + | __hash__ = None + +Help on class pointvec_t in module ida_graph: + +class pointvec_t(builtins.object) + | Proxy of C++ qvector< point_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'point_t const &' + | __getitem__(self, i) -> point_t + | + | __init__(self, *args) + | __init__(self) -> pointvec_t + | __init__(self, x) -> pointvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_pointvec_t(...) + | delete_pointvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'point_t const &' + | at(self, _idx) -> point_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< point_t >::const_iterator' + | begin(self) -> point_t + | begin(self) -> point_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< point_t >::const_iterator' + | end(self) -> point_t + | end(self) -> point_t + | + | erase(self, *args) -> 'qvector< point_t >::iterator' + | erase(self, it) -> point_t + | erase(self, first, last) -> point_t + | + | extract(self, *args) -> 'point_t *' + | extract(self) -> point_t + | + | find(self, *args) -> 'qvector< point_t >::const_iterator' + | find(self, x) -> point_t + | find(self, x) -> point_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=point_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< point_t >::iterator' + | insert(self, it, x) -> point_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'point_t &' + | push_back(self, x) + | push_back(self) -> point_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function pyg_close in module ida_graph: + +pyg_close(*args) -> 'void' + pyg_close(_self) + +Help on function pyg_select_node in module ida_graph: + +pyg_select_node(*args) -> 'void' + pyg_select_node(_self, nid) + +Help on function pyg_show in module ida_graph: + +pyg_show(*args) -> 'bool' + pyg_show(_self) -> bool + +Help on class rect_t in module ida_graph: + +class rect_t(builtins.object) + | Proxy of C++ rect_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> rect_t + | __init__(self, l, t, r, b) -> rect_t + | __init__(self, p0, p1) -> rect_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_rect_t(...) + | delete_rect_t(self) + | + | area(self, *args) -> 'int' + | area(self) -> int + | + | bottomright(self, *args) -> 'point_t' + | bottomright(self) -> point_t + | + | center(self, *args) -> 'point_t' + | center(self) -> point_t + | + | contains(self, *args) -> 'bool' + | contains(self, p) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | grow(self, *args) -> 'void' + | grow(self, delta) + | + | height(self, *args) -> 'int' + | height(self) -> int + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | is_intersection_empty(self, *args) -> 'bool' + | is_intersection_empty(self, r) -> bool + | + | make_union(self, *args) -> 'void' + | make_union(self, r) + | + | move_by(self, *args) -> 'void' + | move_by(self, p) + | + | move_to(self, *args) -> 'void' + | move_to(self, p) + | + | topleft(self, *args) -> 'point_t' + | topleft(self) -> point_t + | + | width(self, *args) -> 'int' + | width(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bottom + | rect_t_bottom_get(self) -> int + | + | left + | rect_t_left_get(self) -> int + | + | right + | rect_t_right_get(self) -> int + | + | thisown + | The membership flag + | + | top + | rect_t_top_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function refresh_viewer in module ida_graph: + +refresh_viewer(*args) -> 'void' + refresh_viewer(gv) + + + Redraw the graph in the given view. + + + @param gv (C++: graph_viewer_t *) + +Help on class row_info_t in module ida_graph: + +class row_info_t(builtins.object) + | Proxy of C++ row_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> row_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_row_info_t(...) + | delete_row_info_t(self) + | + | height(self, *args) -> 'int' + | height(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bottom + | row_info_t_bottom_get(self) -> int + | + | nodes + | row_info_t_nodes_get(self) -> intvec_t * + | + | thisown + | The membership flag + | + | top + | row_info_t_top_get(self) -> int + +Help on class screen_graph_selection_base_t in module ida_graph: + +class screen_graph_selection_base_t(builtins.object) + | Proxy of C++ qvector< selection_item_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'selection_item_t const &' + | __getitem__(self, i) -> selection_item_t + | + | __init__(self, *args) + | __init__(self) -> screen_graph_selection_base_t + | __init__(self, x) -> screen_graph_selection_base_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_screen_graph_selection_base_t(...) + | delete_screen_graph_selection_base_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'selection_item_t const &' + | at(self, _idx) -> selection_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | begin(self) -> selection_item_t + | begin(self) -> selection_item_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | end(self) -> selection_item_t + | end(self) -> selection_item_t + | + | erase(self, *args) -> 'qvector< selection_item_t >::iterator' + | erase(self, it) -> selection_item_t + | erase(self, first, last) -> selection_item_t + | + | extract(self, *args) -> 'selection_item_t *' + | extract(self) -> selection_item_t + | + | find(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | find(self, x) -> selection_item_t + | find(self, x) -> selection_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=selection_item_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< selection_item_t >::iterator' + | insert(self, it, x) -> selection_item_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'selection_item_t &' + | push_back(self, x) + | push_back(self) -> selection_item_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class screen_graph_selection_t in module ida_graph: + +class screen_graph_selection_t(screen_graph_selection_base_t) + | Proxy of C++ screen_graph_selection_t class. + | + | Method resolution order: + | screen_graph_selection_t + | screen_graph_selection_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> screen_graph_selection_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_screen_graph_selection_t(...) + | delete_screen_graph_selection_t(self) + | + | add(self, *args) -> 'void' + | add(self, s) + | + | add_node(self, *args) -> 'void' + | add_node(self, node) + | + | add_point(self, *args) -> 'void' + | add_point(self, e, idx) + | + | del_node(self, *args) -> 'void' + | del_node(self, node) + | + | del_point(self, *args) -> 'void' + | del_point(self, e, idx) + | + | has(self, *args) -> 'bool' + | has(self, item) -> bool + | + | items_count(self, *args) -> 'size_t' + | items_count(self, look_for_nodes) -> size_t + | + | nodes_count(self, *args) -> 'size_t' + | nodes_count(self) -> size_t + | + | points_count(self, *args) -> 'size_t' + | points_count(self) -> size_t + | + | sub(self, *args) -> 'void' + | sub(self, s) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from screen_graph_selection_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'selection_item_t const &' + | __getitem__(self, i) -> selection_item_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'selection_item_t const &' + | at(self, _idx) -> selection_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | begin(self) -> selection_item_t + | begin(self) -> selection_item_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | end(self) -> selection_item_t + | end(self) -> selection_item_t + | + | erase(self, *args) -> 'qvector< selection_item_t >::iterator' + | erase(self, it) -> selection_item_t + | erase(self, first, last) -> selection_item_t + | + | extract(self, *args) -> 'selection_item_t *' + | extract(self) -> selection_item_t + | + | find(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | find(self, x) -> selection_item_t + | find(self, x) -> selection_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=selection_item_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< selection_item_t >::iterator' + | insert(self, it, x) -> selection_item_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'selection_item_t &' + | push_back(self, x) + | push_back(self) -> selection_item_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from screen_graph_selection_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from screen_graph_selection_base_t: + | + | __hash__ = None + +Help on class selection_item_t in module ida_graph: + +class selection_item_t(builtins.object) + | Proxy of C++ selection_item_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> selection_item_t + | __init__(self, n) -> selection_item_t + | __init__(self, _elp) -> selection_item_t + | __init__(self, e, idx) -> selection_item_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_selection_item_t(...) + | delete_selection_item_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | elp + | selection_item_t_elp_get(self) -> edge_layout_point_t + | + | is_node + | selection_item_t_is_node_get(self) -> bool + | + | node + | selection_item_t_node_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function set_node_info in module ida_graph: + +set_node_info(*args) -> 'void' + set_node_info(gid, node, ni, flags) + + + Set node info. + + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @param ni: node info to use (C++: const node_info_t &) + @param flags: combination of Node info flags , identifying which + fields of 'ni' will be used (C++: uint32) + +Help on function set_viewer_graph in module ida_graph: + +set_viewer_graph(*args) -> 'void' + set_viewer_graph(gv, g) + + + Set the underlying graph object for the given viewer. + + + @param gv (C++: graph_viewer_t *) + @param g (C++: mutable_graph_t *) + +Help on class user_graph_place_t in module ida_graph: + +class user_graph_place_t(builtins.object) + | Proxy of C++ user_graph_place_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_graph_place_t(...) + | delete_user_graph_place_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | node + | user_graph_place_t_node_get(self) -> int + | + | thisown + | The membership flag + +Help on function viewer_attach_menu_item in module ida_graph: + +viewer_attach_menu_item(*args) -> 'bool' + 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 *) + @param name: action name (C++: const char *) + @return: success + +Help on function viewer_center_on in module ida_graph: + +viewer_center_on(*args) -> 'void' + viewer_center_on(gv, node) + + + Center the graph view on the given node. + + + @param gv (C++: graph_viewer_t *) + @param node (C++: int) + +Help on function viewer_create_groups in module ida_graph: + +viewer_create_groups(*args) -> 'bool' + 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 mutable_graph_t::create_group that + will, in essence:clone the current graphfor each 'group_crinfo_t' , + attempt creating group in that new graphif all were successful, + animate to that new graph.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 &) + +Help on function viewer_del_node_info in module ida_graph: + +viewer_del_node_info(*args) -> 'void' + 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) + +Help on function viewer_delete_groups in module ida_graph: + +viewer_delete_groups(*args) -> 'bool' + viewer_delete_groups(gv, groups, new_current=-1) -> bool + + + Wrapper around mutable_graph_t::delete_group. This function will:clone + the current graphattempt deleting the groups in that new graphif + successful, animate to that new graph. + + @param gv (C++: graph_viewer_t *) + @param groups (C++: const intvec_t &) + @param new_current (C++: int) + +Help on function viewer_fit_window in module ida_graph: + +viewer_fit_window(*args) -> 'void' + viewer_fit_window(gv) + + + Fit graph viewer to its parent form. + + + @param gv (C++: graph_viewer_t *) + +Help on function viewer_get_curnode in module ida_graph: + +viewer_get_curnode(*args) -> 'int' + viewer_get_curnode(gv) -> int + + + Get number of currently selected node (-1 if none) + + + @param gv (C++: graph_viewer_t *) + +Help on function viewer_get_gli in module ida_graph: + +viewer_get_gli(*args) -> 'bool' + 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) + +Help on function viewer_get_node_info in module ida_graph: + +viewer_get_node_info(*args) -> 'bool' + 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) + +Help on function viewer_get_selection in module ida_graph: + +viewer_get_selection(*args) -> 'bool' + 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 *) + +Help on function viewer_set_gli in module ida_graph: + +viewer_set_gli(*args) -> 'void' + 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 *) + @param flags (C++: uint32) + +Help on function viewer_set_groups_visibility in module ida_graph: + +viewer_set_groups_visibility(*args) -> 'bool' + viewer_set_groups_visibility(gv, groups, expand, new_current=-1) -> bool + + + Wrapper around mutable_graph_t::change_visibility. This function + will:clone the current graphattempt changing visibility of the groups + in that new graphif successful, animate to that new graph. + + @param gv (C++: graph_viewer_t *) + @param groups (C++: const intvec_t &) + @param expand (C++: bool) + @param new_current (C++: int) + +Help on function viewer_set_node_info in module ida_graph: + +viewer_set_node_info(*args) -> 'void' + 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 &) + @param flags (C++: uint32) + +Help on function viewer_set_titlebar_height in module ida_graph: + +viewer_set_titlebar_height(*args) -> 'int' + 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) + +=== ida_graph EPYDOC INJECTIONS === +ida_graph.GLICTL_CENTER +""" +the gli should be set/get as center +""" + +ida_graph.MTG_DOT_NODE +""" +is dot node? +""" + +ida_graph.MTG_GROUP_NODE +""" +is group node? +""" + +ida_graph.MTG_NON_DISPLAYABLE_NODE +""" +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) +""" + +ida_graph.NIF_BG_COLOR +""" + 'node_info_t::bg_color' +""" + +ida_graph.NIF_EA +""" + 'node_info_t::ea' +""" + +ida_graph.NIF_FLAGS +""" + 'node_info_t::flags' +""" + +ida_graph.NIF_FRAME_COLOR +""" + 'node_info_t::frame_color' +""" + +ida_graph.NIF_TEXT +""" + 'node_info_t::text' +""" +=== ida_graph EPYDOC INJECTIONS END === +Help on class DecompilationFailure in module ida_hexrays: + +class DecompilationFailure(builtins.Exception) + | Raised on a decompilation error. + | + | The associated hexrays_failure_t object is stored in the + | 'info' member of this exception. + | + | Method resolution order: + | DecompilationFailure + | builtins.Exception + | builtins.BaseException + | builtins.object + | + | Methods defined here: + | + | __init__(self, info) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Methods inherited from builtins.Exception: + | + | __new__(*args, **kwargs) from builtins.type + | Create and return a new object. See help(type) for accurate signature. + | + | ---------------------------------------------------------------------- + | Methods inherited from builtins.BaseException: + | + | __delattr__(self, name, /) + | Implement delattr(self, name). + | + | __getattribute__(self, name, /) + | Return getattr(self, name). + | + | __reduce__(...) + | helper for pickle + | + | __repr__(self, /) + | Return repr(self). + | + | __setattr__(self, name, value, /) + | Implement setattr(self, name, value). + | + | __setstate__(...) + | + | __str__(self, /) + | Return str(self). + | + | with_traceback(...) + | Exception.with_traceback(tb) -- + | set self.__traceback__ to tb and return self. + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from builtins.BaseException: + | + | __cause__ + | exception cause + | + | __context__ + | exception context + | + | __dict__ + | + | __suppress_context__ + | + | __traceback__ + | + | args + +Help on class Hexrays_Hooks in module ida_hexrays: + +class Hexrays_Hooks(builtins.object) + | Proxy of C++ Hexrays_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> Hexrays_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_Hexrays_Hooks(...) + | delete_Hexrays_Hooks(self) + | + | close_pseudocode(self, *args) -> 'int' + | close_pseudocode(self, vu) -> int + | + | cmt_changed(self, *args) -> 'int' + | cmt_changed(self, cfunc, loc, cmt) -> int + | + | combine(self, *args) -> 'int' + | combine(self, blk, insn) -> int + | + | create_hint(self, *args) -> 'PyObject *' + | create_hint(self, vu) -> PyObject * + | + | curpos(self, *args) -> 'int' + | curpos(self, vu) -> int + | + | double_click(self, *args) -> 'int' + | double_click(self, vu, shift_state) -> int + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | flowchart(self, *args) -> 'int' + | flowchart(self, fc) -> int + | + | func_printed(self, *args) -> 'int' + | func_printed(self, cfunc) -> int + | + | glbopt(self, *args) -> 'int' + | glbopt(self, mba) -> int + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | interr(self, *args) -> 'int' + | interr(self, errcode) -> int + | + | keyboard(self, *args) -> 'int' + | keyboard(self, vu, key_code, shift_state) -> int + | + | locopt(self, *args) -> 'int' + | locopt(self, mba) -> int + | + | lvar_cmt_changed(self, *args) -> 'int' + | lvar_cmt_changed(self, vu, v, cmt) -> int + | + | lvar_mapping_changed(self, *args) -> 'int' + | lvar_mapping_changed(self, vu, frm, to) -> int + | + | lvar_name_changed(self, *args) -> 'int' + | lvar_name_changed(self, vu, v, name, is_user_name) -> int + | + | lvar_type_changed(self, *args) -> 'int' + | lvar_type_changed(self, vu, v, tinfo) -> int + | + | maturity(self, *args) -> 'int' + | maturity(self, cfunc, new_maturity) -> int + | + | microcode(self, *args) -> 'int' + | microcode(self, mba) -> int + | + | open_pseudocode(self, *args) -> 'int' + | open_pseudocode(self, vu) -> int + | + | populating_popup(self, *args) -> 'int' + | populating_popup(self, widget, popup_handle, vu) -> int + | + | prealloc(self, *args) -> 'int' + | prealloc(self, mba) -> int + | + | preoptimized(self, *args) -> 'int' + | preoptimized(self, mba) -> int + | + | print_func(self, *args) -> 'int' + | print_func(self, cfunc, vp) -> int + | + | prolog(self, *args) -> 'int' + | prolog(self, mba, fc, reachable_blocks, decomp_flags) -> int + | + | refresh_pseudocode(self, *args) -> 'int' + | refresh_pseudocode(self, vu) -> int + | + | resolve_stkaddrs(self, *args) -> 'int' + | resolve_stkaddrs(self, mba) -> int + | + | right_click(self, *args) -> 'int' + | right_click(self, vu) -> int + | + | stkpnts(self, *args) -> 'int' + | stkpnts(self, mba, _sps) -> int + | + | structural(self, *args) -> 'int' + | structural(self, ct) -> int + | + | switch_pseudocode(self, *args) -> 'int' + | switch_pseudocode(self, vu) -> int + | + | text_ready(self, *args) -> 'int' + | text_ready(self, vu) -> int + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class __cbhooks_t in module ida_hexrays: + +class __cbhooks_t(Hexrays_Hooks) + | Proxy of C++ Hexrays_Hooks class. + | + | Method resolution order: + | __cbhooks_t + | Hexrays_Hooks + | builtins.object + | + | Methods defined here: + | + | __init__(self, callback) + | __init__(self, _flags=0) -> Hexrays_Hooks + | + | close_pseudocode(self, *args) + | close_pseudocode(self, vu) -> int + | + | create_hint(self, *args) + | create_hint(self, vu) -> PyObject * + | + | curpos(self, *args) + | curpos(self, vu) -> int + | + | double_click(self, *args) + | double_click(self, vu, shift_state) -> int + | + | func_printed(self, *args) + | func_printed(self, cfunc) -> int + | + | interr(self, *args) + | interr(self, errcode) -> int + | + | keyboard(self, *args) + | keyboard(self, vu, key_code, shift_state) -> int + | + | maturity(self, *args) + | maturity(self, cfunc, new_maturity) -> int + | + | open_pseudocode(self, *args) + | open_pseudocode(self, vu) -> int + | + | populating_popup(self, *args) + | populating_popup(self, widget, popup_handle, vu) -> int + | + | print_func(self, *args) + | print_func(self, cfunc, vp) -> int + | + | refresh_pseudocode(self, *args) + | refresh_pseudocode(self, vu) -> int + | + | right_click(self, *args) + | right_click(self, vu) -> int + | + | switch_pseudocode(self, *args) + | switch_pseudocode(self, vu) -> int + | + | text_ready(self, *args) + | text_ready(self, vu) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | instances = [] + | + | ---------------------------------------------------------------------- + | Methods inherited from Hexrays_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_Hexrays_Hooks(...) + | delete_Hexrays_Hooks(self) + | + | cmt_changed(self, *args) -> 'int' + | cmt_changed(self, cfunc, loc, cmt) -> int + | + | combine(self, *args) -> 'int' + | combine(self, blk, insn) -> int + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | flowchart(self, *args) -> 'int' + | flowchart(self, fc) -> int + | + | glbopt(self, *args) -> 'int' + | glbopt(self, mba) -> int + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | locopt(self, *args) -> 'int' + | locopt(self, mba) -> int + | + | lvar_cmt_changed(self, *args) -> 'int' + | lvar_cmt_changed(self, vu, v, cmt) -> int + | + | lvar_mapping_changed(self, *args) -> 'int' + | lvar_mapping_changed(self, vu, frm, to) -> int + | + | lvar_name_changed(self, *args) -> 'int' + | lvar_name_changed(self, vu, v, name, is_user_name) -> int + | + | lvar_type_changed(self, *args) -> 'int' + | lvar_type_changed(self, vu, v, tinfo) -> int + | + | microcode(self, *args) -> 'int' + | microcode(self, mba) -> int + | + | prealloc(self, *args) -> 'int' + | prealloc(self, mba) -> int + | + | preoptimized(self, *args) -> 'int' + | preoptimized(self, mba) -> int + | + | prolog(self, *args) -> 'int' + | prolog(self, mba, fc, reachable_blocks, decomp_flags) -> int + | + | resolve_stkaddrs(self, *args) -> 'int' + | resolve_stkaddrs(self, mba) -> int + | + | stkpnts(self, *args) -> 'int' + | stkpnts(self, mba, _sps) -> int + | + | structural(self, *args) -> 'int' + | structural(self, ct) -> int + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from Hexrays_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function _call_with_transferrable_ownership in module ida_hexrays: + +_call_with_transferrable_ownership(fun, *args) + # Object ownership + +Help on function _kludge_use_TPopupMenu in module ida_hexrays: + +_kludge_use_TPopupMenu(*args) -> 'void' + _kludge_use_TPopupMenu(m) + +Help on function _ll_call_helper in module ida_hexrays: + +_ll_call_helper(*args) -> 'cexpr_t *' + _ll_call_helper(rettype, args, format) -> cexpr_t + +Help on function _ll_create_helper in module ida_hexrays: + +_ll_create_helper(*args) -> 'cexpr_t *' + _ll_create_helper(standalone, type, format) -> cexpr_t + +Help on function _ll_dereference in module ida_hexrays: + +_ll_dereference(*args) -> 'cexpr_t *' + _ll_dereference(e, ptrsize, is_flt=False) -> cexpr_t + +Help on function _ll_lnot in module ida_hexrays: + +_ll_lnot(*args) -> 'cexpr_t *' + _ll_lnot(e) -> cexpr_t + +Help on function _ll_make_num in module ida_hexrays: + +_ll_make_num(*args) -> 'cexpr_t *' + _ll_make_num(n, func=None, ea=BADADDR, opnum=0, sign=no_sign, size=0) -> cexpr_t + +Help on function _ll_make_ref in module ida_hexrays: + +_ll_make_ref(*args) -> 'cexpr_t *' + _ll_make_ref(e) -> cexpr_t + +Help on function _ll_new_block in module ida_hexrays: + +_ll_new_block(*args) -> 'cinsn_t *' + _ll_new_block() -> cinsn_t + +Help on function _map_as_dict in module ida_hexrays: + +_map_as_dict(maptype, name, keytype, valuetype) + # dictify all dict-like types + +Help on function accepts_small_udts in module ida_hexrays: + +accepts_small_udts(*args) -> 'bool' + accepts_small_udts(op) -> bool + + + Is the operator allowed on small structure or union? + + + @param op (C++: ctype_t) + +Help on function accepts_udts in module ida_hexrays: + +accepts_udts(*args) -> 'bool' + accepts_udts(op) -> bool + +Help on function arglocs_overlap in module ida_hexrays: + +arglocs_overlap(*args) -> 'bool' + arglocs_overlap(loc1, w1, loc2, w2) -> bool + + + Do two arglocs overlap? + + + @param loc1 (C++: const vdloc_t &) + @param w1 (C++: size_t) + @param loc2 (C++: const vdloc_t &) + @param w2 (C++: size_t) + +Help on class array_of_bitsets in module ida_hexrays: + +class array_of_bitsets(builtins.object) + | Proxy of C++ qvector< bitset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'bitset_t const &' + | __getitem__(self, i) -> bitset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_bitsets + | __init__(self, x) -> array_of_bitsets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_array_of_bitsets(...) + | delete_array_of_bitsets(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'bitset_t const &' + | at(self, _idx) -> bitset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< bitset_t >::const_iterator' + | begin(self) -> bitset_t + | begin(self) -> bitset_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< bitset_t >::const_iterator' + | end(self) -> bitset_t + | end(self) -> bitset_t + | + | erase(self, *args) -> 'qvector< bitset_t >::iterator' + | erase(self, it) -> bitset_t + | erase(self, first, last) -> bitset_t + | + | extract(self, *args) -> 'bitset_t *' + | extract(self) -> bitset_t + | + | find(self, *args) -> 'qvector< bitset_t >::const_iterator' + | find(self, x) -> bitset_t + | find(self, x) -> bitset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=bitset_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< bitset_t >::iterator' + | insert(self, it, x) -> bitset_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'bitset_t &' + | push_back(self, x) + | push_back(self) -> bitset_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class array_of_ivlsets in module ida_hexrays: + +class array_of_ivlsets(builtins.object) + | Proxy of C++ qvector< ivlset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'ivlset_t const &' + | __getitem__(self, i) -> ivlset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_ivlsets + | __init__(self, x) -> array_of_ivlsets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_array_of_ivlsets(...) + | delete_array_of_ivlsets(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'ivlset_t const &' + | at(self, _idx) -> ivlset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< ivlset_t >::const_iterator' + | begin(self) -> ivlset_t + | begin(self) -> ivlset_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< ivlset_t >::const_iterator' + | end(self) -> ivlset_t + | end(self) -> ivlset_t + | + | erase(self, *args) -> 'qvector< ivlset_t >::iterator' + | erase(self, it) -> ivlset_t + | erase(self, first, last) -> ivlset_t + | + | extract(self, *args) -> 'ivlset_t *' + | extract(self) -> ivlset_t + | + | find(self, *args) -> 'qvector< ivlset_t >::const_iterator' + | find(self, x) -> ivlset_t + | find(self, x) -> ivlset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=ivlset_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< ivlset_t >::iterator' + | insert(self, it, x) -> ivlset_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'ivlset_t &' + | push_back(self, x) + | push_back(self) -> ivlset_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function asgop in module ida_hexrays: + +asgop(*args) -> 'ctype_t' + asgop(cop) -> ctype_t + + + Convert plain operator into assignment operator. For example, cot_add + returns cot_asgadd. + + + @param cop (C++: ctype_t) + +Help on function asgop_revert in module ida_hexrays: + +asgop_revert(*args) -> 'ctype_t' + asgop_revert(cop) -> ctype_t + + + Convert assignment operator into plain operator. For example, + cot_asgadd returns cot_add + + @param cop (C++: ctype_t) + @return: cot_empty is the input operator is not an assignment + operator. + +Help on class bit_bound_t in module ida_hexrays: + +class bit_bound_t(builtins.object) + | Proxy of C++ bit_bound_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=0, s=0) -> bit_bound_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bit_bound_t(...) + | delete_bit_bound_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | nbits + | bit_bound_t_nbits_get(self) -> int16 + | + | sbits + | bit_bound_t_sbits_get(self) -> int16 + | + | thisown + | The membership flag + +Help on class bitset_t in module ida_hexrays: + +class bitset_t(builtins.object) + | Proxy of C++ bitset_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> bitset_t + | __init__(self, m) -> bitset_t + | + | __iter__(self) + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __len__ = count(self, *args) -> 'int' + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bitset_t(...) + | delete_bitset_t(self) + | + | add(self, *args) -> 'bool' + | add(self, bit) -> bool + | add(self, bit, width) -> bool + | add(self, ml) -> bool + | + | back(self, *args) -> 'int' + | back(self) -> int + | + | begin(self, *args) -> 'bitset_t::iterator' + | begin(self) -> bitset_t::iterator + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | copy(self, *args) -> 'bitset_t &' + | copy(self, m) -> bitset_t + | + | count(self, *args) -> 'int' + | count(self) -> int + | count(self, bit) -> int + | + | cut_at(self, *args) -> 'bool' + | cut_at(self, maxbit) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'bitset_t::iterator' + | end(self) -> bitset_t::iterator + | + | fill_with_ones(self, *args) -> 'void' + | fill_with_ones(self, maxbit) + | + | front(self, *args) -> 'int' + | front(self) -> int + | + | has(self, *args) -> 'bool' + | has(self, bit) -> bool + | + | has_all(self, *args) -> 'bool' + | has_all(self, bit, width) -> bool + | + | has_any(self, *args) -> 'bool' + | has_any(self, bit, width) -> bool + | + | has_common(self, *args) -> 'bool' + | has_common(self, ml) -> bool + | + | inc(self, *args) -> 'void' + | inc(self, p, n=1) + | + | includes(self, *args) -> 'bool' + | includes(self, ml) -> bool + | + | intersect(self, *args) -> 'bool' + | intersect(self, ml) -> bool + | + | is_subset_of(self, *args) -> 'bool' + | is_subset_of(self, ml) -> bool + | + | itat(self, *args) -> 'bitset_t::iterator' + | itat(self, n) -> bitset_t::iterator + | + | itv(self, *args) -> 'int' + | itv(self, it) -> int + | + | last(self, *args) -> 'int' + | last(self) -> int + | + | shift_down(self, *args) -> 'void' + | shift_down(self, shift) + | + | sub(self, *args) -> 'bool' + | sub(self, bit) -> bool + | sub(self, bit, width) -> bool + | sub(self, ml) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function block_chains_begin in module ida_hexrays: + +block_chains_begin(*args) -> 'block_chains_iterator_t' + 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 *) + +Help on function block_chains_clear in module ida_hexrays: + +block_chains_clear(*args) -> 'void' + block_chains_clear(set) + + + Clear 'block_chains_t' . + + + @param set (C++: block_chains_t *) + +Help on function block_chains_end in module ida_hexrays: + +block_chains_end(*args) -> 'block_chains_iterator_t' + 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 *) + +Help on function block_chains_erase in module ida_hexrays: + +block_chains_erase(*args) -> 'void' + 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) + +Help on function block_chains_find in module ida_hexrays: + +block_chains_find(*args) -> 'block_chains_iterator_t' + 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 *) + @param val (C++: const chain_t &) + +Help on function block_chains_free in module ida_hexrays: + +block_chains_free(*args) -> 'void' + block_chains_free(set) + + + Delete 'block_chains_t' instance. + + + @param set (C++: block_chains_t *) + +Help on function block_chains_get in module ida_hexrays: + +block_chains_get(*args) -> 'chain_t &' + block_chains_get(p) -> chain_t + + + Get reference to the current set value. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_insert in module ida_hexrays: + +block_chains_insert(*args) -> 'block_chains_iterator_t' + 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 &) + +Help on class block_chains_iterator_t in module ida_hexrays: + +class block_chains_iterator_t(builtins.object) + | Proxy of C++ block_chains_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> block_chains_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_block_chains_iterator_t(...) + | delete_block_chains_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | block_chains_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function block_chains_new in module ida_hexrays: + +block_chains_new(*args) -> 'block_chains_t *' + block_chains_new() -> block_chains_t + + + Create a new 'block_chains_t' instance. + +Help on function block_chains_next in module ida_hexrays: + +block_chains_next(*args) -> 'block_chains_iterator_t' + block_chains_next(p) -> block_chains_iterator_t + + + Move to the next element. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_prev in module ida_hexrays: + +block_chains_prev(*args) -> 'block_chains_iterator_t' + block_chains_prev(p) -> block_chains_iterator_t + + + Move to the previous element. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_size in module ida_hexrays: + +block_chains_size(*args) -> 'size_t' + block_chains_size(set) -> size_t + + + Get size of 'block_chains_t' . + + + @param set (C++: block_chains_t *) + +Help on class block_chains_t in module ida_hexrays: + +class block_chains_t(builtins.object) + | Proxy of C++ block_chains_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> block_chains_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_block_chains_t(...) + | delete_block_chains_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | get_chain(self, *args) -> 'chain_t *' + | get_chain(self, k, width=1) -> chain_t + | get_chain(self, k, width=1) -> chain_t + | get_chain(self, ch) -> chain_t + | get_chain(self, ch) -> chain_t + | + | get_reg_chain(self, *args) -> 'chain_t *' + | get_reg_chain(self, reg, width=1) -> chain_t + | get_reg_chain(self, reg, width=1) -> chain_t + | + | get_stk_chain(self, *args) -> 'chain_t *' + | get_stk_chain(self, off, width=1) -> chain_t + | get_stk_chain(self, off, width=1) -> chain_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class block_chains_vec_t in module ida_hexrays: + +class block_chains_vec_t(builtins.object) + | Proxy of C++ qvector< block_chains_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'block_chains_t const &' + | __getitem__(self, i) -> block_chains_t + | + | __init__(self, *args) + | __init__(self) -> block_chains_vec_t + | __init__(self, x) -> block_chains_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_block_chains_vec_t(...) + | delete_block_chains_vec_t(self) + | + | at(self, *args) -> 'block_chains_t const &' + | at(self, _idx) -> block_chains_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< block_chains_t >::const_iterator' + | begin(self) -> block_chains_t + | begin(self) -> block_chains_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< block_chains_t >::const_iterator' + | end(self) -> block_chains_t + | end(self) -> block_chains_t + | + | erase(self, *args) -> 'qvector< block_chains_t >::iterator' + | erase(self, it) -> block_chains_t + | erase(self, first, last) -> block_chains_t + | + | extract(self, *args) -> 'block_chains_t *' + | extract(self) -> block_chains_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=block_chains_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< block_chains_t >::iterator' + | insert(self, it, x) -> block_chains_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'block_chains_t &' + | push_back(self, x) + | push_back(self) -> block_chains_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function boundaries_begin in module ida_hexrays: + +boundaries_begin(*args) -> 'boundaries_iterator_t' + boundaries_begin(map) -> boundaries_iterator_t + + + Get iterator pointing to the beginning of boundaries_t. + + + @param map (C++: const boundaries_t *) + +Help on function boundaries_clear in module ida_hexrays: + +boundaries_clear(*args) -> 'void' + boundaries_clear(map) + + + Clear boundaries_t. + + + @param map (C++: boundaries_t *) + +Help on function boundaries_end in module ida_hexrays: + +boundaries_end(*args) -> 'boundaries_iterator_t' + boundaries_end(map) -> boundaries_iterator_t + + + Get iterator pointing to the end of boundaries_t. + + + @param map (C++: const boundaries_t *) + +Help on function boundaries_erase in module ida_hexrays: + +boundaries_erase(*args) -> 'void' + boundaries_erase(map, p) + + + Erase current element from boundaries_t. + + + @param map (C++: boundaries_t *) + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_find in module ida_hexrays: + +boundaries_find(*args) -> 'boundaries_iterator_t' + boundaries_find(map, key) -> boundaries_iterator_t + + + Find the specified key in boundaries_t. + + + @param map (C++: const boundaries_t *) + @param key (C++: const cinsn_t *&) + +Help on function boundaries_first in module ida_hexrays: + +boundaries_first(*args) -> 'cinsn_t *const &' + boundaries_first(p) -> cinsn_t + + + Get reference to the current map key. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_free in module ida_hexrays: + +boundaries_free(*args) -> 'void' + boundaries_free(map) + + + Delete boundaries_t instance. + + + @param map (C++: boundaries_t *) + +Help on function boundaries_insert in module ida_hexrays: + +boundaries_insert(*args) -> 'boundaries_iterator_t' + 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 *&) + @param val (C++: const rangeset_t &) + +Help on class boundaries_iterator_t in module ida_hexrays: + +class boundaries_iterator_t(builtins.object) + | Proxy of C++ boundaries_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> boundaries_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_boundaries_iterator_t(...) + | delete_boundaries_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | boundaries_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function boundaries_new in module ida_hexrays: + +boundaries_new(*args) -> 'boundaries_t *' + boundaries_new() -> boundaries_t + + + Create a new boundaries_t instance. + +Help on function boundaries_next in module ida_hexrays: + +boundaries_next(*args) -> 'boundaries_iterator_t' + boundaries_next(p) -> boundaries_iterator_t + + + Move to the next element. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_prev in module ida_hexrays: + +boundaries_prev(*args) -> 'boundaries_iterator_t' + boundaries_prev(p) -> boundaries_iterator_t + + + Move to the previous element. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_second in module ida_hexrays: + +boundaries_second(*args) -> 'rangeset_t &' + boundaries_second(p) -> rangeset_t + + + Get reference to the current map value. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_size in module ida_hexrays: + +boundaries_size(*args) -> 'size_t' + boundaries_size(map) -> size_t + + + Get size of boundaries_t. + + + @param map (C++: boundaries_t *) + +Help on class boundaries_t in module ida_hexrays: + +class boundaries_t(builtins.object) + | Proxy of C++ std::map< cinsn_t *,rangeset_t > class. + | + | Methods defined here: + | + | __begin = boundaries_begin(...) + | boundaries_begin(map) -> boundaries_iterator_t + | + | __clear = boundaries_clear(...) + | boundaries_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = boundaries_end(...) + | boundaries_end(map) -> boundaries_iterator_t + | + | __erase = boundaries_erase(...) + | boundaries_erase(map, p) + | + | __find = boundaries_find(...) + | boundaries_find(map, key) -> boundaries_iterator_t + | + | __first = boundaries_first(...) + | boundaries_first(p) -> cinsn_t + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> boundaries_t + | + | __insert = boundaries_insert(...) + | boundaries_insert(map, key, val) -> boundaries_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = boundaries_next(...) + | boundaries_next(p) -> boundaries_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = boundaries_second(...) + | boundaries_second(p) -> rangeset_t + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = boundaries_size(...) + | boundaries_size(map) -> size_t + | + | __swig_destroy__ = delete_boundaries_t(...) + | delete_boundaries_t(self) + | + | at(self, *args) -> 'rangeset_t &' + | at(self, _Keyval) -> rangeset_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = + | Proxy of C++ cinsn_t class. + | + | valuetype = + | Proxy of C++ rangeset_t class. + +Help on function call_helper in module ida_hexrays: + +call_helper(rettype, args, *rest) + +Help on class carg_t in module ida_hexrays: + +class carg_t(cexpr_t) + | Proxy of C++ carg_t class. + | + | Method resolution order: + | carg_t + | cexpr_t + | citem_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> carg_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_carg_t(...) + | delete_carg_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | consume_cexpr(self, *args) -> 'void' + | consume_cexpr(self, e) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | formal_type + | carg_t_formal_type_get(self) -> tinfo_t + | + | is_vararg + | carg_t_is_vararg_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from cexpr_t: + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _get_a(self, *args) -> 'carglist_t *' + | _get_a(self) -> carglist_t + | + | _get_fpc(self, *args) -> 'fnumber_t *' + | _get_fpc(self) -> fnumber_t + | + | _get_helper(self, *args) -> 'char *' + | _get_helper(self) -> char * + | + | _get_insn(self, *args) -> 'cinsn_t *' + | _get_insn(self) -> cinsn_t + | + | _get_m(self, *args) -> 'int' + | _get_m(self) -> int + | + | _get_n(self, *args) -> 'cnumber_t *' + | _get_n(self) -> cnumber_t + | + | _get_obj_ea(self, *args) -> 'ea_t' + | _get_obj_ea(self) -> ea_t + | + | _get_ptrsize(self, *args) -> 'int' + | _get_ptrsize(self) -> int + | + | _get_refwidth(self, *args) -> 'int' + | _get_refwidth(self) -> int + | + | _get_string(self, *args) -> 'char *' + | _get_string(self) -> char * + | + | _get_x(self, *args) -> 'cexpr_t *' + | _get_x(self) -> cexpr_t + | + | _get_y(self, *args) -> 'cexpr_t *' + | _get_y(self) -> cexpr_t + | + | _get_z(self, *args) -> 'cexpr_t *' + | _get_z(self) -> cexpr_t + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _replace_by(self, *args) -> 'void' + | _replace_by(self, r) + | + | _set_a(self, *args) -> 'void' + | _set_a(self, _v) + | + | _set_fpc(self, *args) -> 'void' + | _set_fpc(self, _v) + | + | _set_helper(self, *args) -> 'void' + | _set_helper(self, _v) + | + | _set_insn(self, *args) -> 'void' + | _set_insn(self, _v) + | + | _set_m(self, *args) -> 'void' + | _set_m(self, _v) + | + | _set_n(self, *args) -> 'void' + | _set_n(self, _v) + | + | _set_obj_ea(self, *args) -> 'void' + | _set_obj_ea(self, _v) + | + | _set_ptrsize(self, *args) -> 'void' + | _set_ptrsize(self, _v) + | + | _set_refwidth(self, *args) -> 'void' + | _set_refwidth(self, _v) + | + | _set_string(self, *args) -> 'void' + | _set_string(self, _v) + | + | _set_x(self, *args) -> 'void' + | _set_x(self, _v) + | + | _set_y(self, *args) -> 'void' + | _set_y(self, _v) + | + | _set_z(self, *args) -> 'void' + | _set_z(self, _v) + | + | assign(self, *args) -> 'cexpr_t &' + | assign(self, r) -> cexpr_t + | + | calc_type(self, *args) -> 'void' + | calc_type(self, recursive) + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | contains_comma(self, *args) -> 'bool' + | contains_comma(self, times=1) -> bool + | + | contains_comma_or_insn_or_label(self, *args) -> 'bool' + | contains_comma_or_insn_or_label(self, maxcommas=1) -> bool + | + | contains_insn(self, *args) -> 'bool' + | contains_insn(self, times=1) -> bool + | + | contains_insn_or_label(self, *args) -> 'bool' + | contains_insn_or_label(self) -> bool + | + | contains_operator(self, *args) -> 'bool' + | contains_operator(self, needed_op, times=1) -> bool + | + | cpadone(self, *args) -> 'bool' + | cpadone(self) -> bool + | + | equal_effect(self, *args) -> 'bool' + | equal_effect(self, r) -> bool + | + | find_num_op(self, *args) -> 'cexpr_t *' + | find_num_op(self) -> cexpr_t + | find_num_op(self) -> cexpr_t + | + | find_op(self, *args) -> 'cexpr_t *' + | find_op(self, _op) -> cexpr_t + | find_op(self, _op) -> cexpr_t + | + | get_1num_op(self, *args) -> 'bool' + | get_1num_op(self, o1, o2) -> bool + | + | get_const_value(self, *args) -> 'bool' + | get_const_value(self) -> bool + | + | get_high_nbit_bound(self, *args) -> 'bit_bound_t' + | get_high_nbit_bound(self) -> bit_bound_t + | + | get_low_nbit_bound(self, *args) -> 'int' + | get_low_nbit_bound(self) -> int + | + | get_ptr_or_array(self, *args) -> 'cexpr_t *' + | get_ptr_or_array(self) -> cexpr_t + | + | get_type_sign(self, *args) -> 'type_sign_t' + | get_type_sign(self) -> type_sign_t + | + | get_v(self, *args) -> 'var_ref_t *' + | get_v(self) -> var_ref_t + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self) -> bool + | + | is_call_arg_of(self, *args) -> 'bool' + | is_call_arg_of(self, parent) -> bool + | + | is_call_object_of(self, *args) -> 'bool' + | is_call_object_of(self, parent) -> bool + | + | is_child_of(self, *args) -> 'bool' + | is_child_of(self, parent) -> bool + | + | is_const_value(self, *args) -> 'bool' + | is_const_value(self, _v) -> bool + | + | is_cstr(self, *args) -> 'bool' + | is_cstr(self) -> bool + | + | is_fpop(self, *args) -> 'bool' + | is_fpop(self) -> bool + | + | is_jumpout(self, *args) -> 'bool' + | is_jumpout(self) -> bool + | + | is_negative_const(self, *args) -> 'bool' + | is_negative_const(self) -> bool + | + | is_nice_cond(self, *args) -> 'bool' + | is_nice_cond(self) -> bool + | + | is_nice_expr(self, *args) -> 'bool' + | is_nice_expr(self) -> bool + | + | is_non_negative_const(self, *args) -> 'bool' + | is_non_negative_const(self) -> bool + | + | is_non_zero_const(self, *args) -> 'bool' + | is_non_zero_const(self) -> bool + | + | is_odd_lvalue(self, *args) -> 'bool' + | is_odd_lvalue(self) -> bool + | + | is_type_signed(self, *args) -> 'bool' + | is_type_signed(self) -> bool + | + | is_type_unsigned(self, *args) -> 'bool' + | is_type_unsigned(self) -> bool + | + | is_undef_val(self, *args) -> 'bool' + | is_undef_val(self) -> bool + | + | is_vftable(self, *args) -> 'bool' + | is_vftable(self) -> bool + | + | is_zero_const(self, *args) -> 'bool' + | is_zero_const(self) -> bool + | + | maybe_ptr(self, *args) -> 'bool' + | maybe_ptr(self) -> bool + | + | numval(self, *args) -> 'uint64' + | numval(self) -> uint64 + | + | print1(self, *args) -> 'void' + | print1(self, func) + | + | put_number(self, *args) -> 'void' + | put_number(self, func, value, nbytes, sign=no_sign) + | + | requires_lvalue(self, *args) -> 'bool' + | requires_lvalue(self, child) -> bool + | + | set_cpadone(self, *args) -> 'void' + | set_cpadone(self) + | + | set_v(self, *args) -> 'void' + | set_v(self, v) + | + | set_vftable(self, *args) -> 'void' + | set_vftable(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | theother(self, *args) -> 'cexpr_t *' + | theother(self, what) -> cexpr_t + | theother(self, what) -> cexpr_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cexpr_t: + | + | a + | + | exflags + | cexpr_t_exflags_get(self) -> uint32 + | + | fpc + | + | helper + | + | insn + | + | m + | + | n + | + | obj_ea + | + | operands + | return a dictionary with the operands of a cexpr_t. + | + | opname + | + | ptrsize + | + | refwidth + | + | string + | + | type + | cexpr_t_type_get(self) -> tinfo_t + | + | v + | + | x + | + | y + | + | z + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from cexpr_t: + | + | op_to_typename = {0: 'empty', 1: 'comma', 2: 'asg', 3: 'asgbor', 4: 'a... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) -> 'ctype_t' + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) -> 'void' + | _set_op(self, v) + | + | contains_expr(self, *args) -> 'bool' + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) -> 'bool' + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) -> 'citem_t *' + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) -> 'citem_t *' + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) -> 'bool' + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class carglist_t in module ida_hexrays: + +class carglist_t(qvector_carg_t) + | Proxy of C++ carglist_t class. + | + | Method resolution order: + | carglist_t + | qvector_carg_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> carglist_t + | __init__(self, ftype, fl=0) -> carglist_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_carglist_t(...) + | delete_carglist_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | carglist_t_flags_get(self) -> int + | + | functype + | carglist_t_functype_get(self) -> tinfo_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_carg_t: + | + | __getitem__(self, *args) -> 'carg_t const &' + | __getitem__(self, i) -> carg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'carg_t &' + | push_back(self, x) + | push_back(self) -> carg_t + | + | at = __getitem__(self, *args) -> 'carg_t const &' + | __getitem__(self, i) -> carg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< carg_t >::const_iterator' + | begin(self) -> carg_t + | begin(self) -> carg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< carg_t >::const_iterator' + | end(self) -> carg_t + | end(self) -> carg_t + | + | erase(self, *args) -> 'qvector< carg_t >::iterator' + | erase(self, it) -> carg_t + | erase(self, first, last) -> carg_t + | + | extract(self, *args) -> 'carg_t *' + | extract(self) -> carg_t + | + | find(self, *args) -> 'qvector< carg_t >::const_iterator' + | find(self, x) -> carg_t + | find(self, x) -> carg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=carg_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< carg_t >::iterator' + | insert(self, it, x) -> carg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'carg_t &' + | push_back(self, x) + | push_back(self) -> carg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_carg_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class casm_t in module ida_hexrays: + +class casm_t(ida_pro.eavec_t)↗ + | Proxy of C++ casm_t class. + | + | Method resolution order: + | casm_t + | ida_pro.eavec_t↗ + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, ea) -> casm_t + | __init__(self, r) -> casm_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_casm_t(...) + | delete_casm_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | one_insn(self, *args) -> 'bool' + | one_insn(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_pro.eavec_t:↗ + | + | __getitem__(self, *args) -> 'unsigned-ea-like-numeric-type const &'↗ + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'unsigned-ea-like-numeric-type &'↗ + | push_back(self, x) + | push_back(self) -> unsigned-ea-like-numeric-type &↗ + | + | at = __getitem__(self, *args) -> 'unsigned-ea-like-numeric-type const &'↗ + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< unsigned-ea-like-numeric-type >::const_iterator'↗ + | begin(self) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | begin(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< unsigned-ea-like-numeric-type >::const_iterator'↗ + | end(self) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | end(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | erase(self, *args) -> 'qvector< unsigned-ea-like-numeric-type >::iterator'↗ + | erase(self, it) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | erase(self, first, last) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | + | extract(self, *args) -> 'unsigned-ea-like-numeric-type *'↗ + | extract(self) -> unsigned-ea-like-numeric-type *↗ + | + | find(self, *args) -> 'qvector< unsigned-ea-like-numeric-type >::const_iterator'↗ + | find(self, x) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | find(self, x) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< unsigned-ea-like-numeric-type >::iterator'↗ + | insert(self, it, x) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'unsigned-ea-like-numeric-type &'↗ + | push_back(self, x) + | push_back(self) -> unsigned-ea-like-numeric-type &↗ + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_pro.eavec_t:↗ + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function cblock_at in module ida_hexrays: + +cblock_at(self, index) + # cblock.at(int) -> returns the item at the given index index + +Help on function cblock_find in module ida_hexrays: + +cblock_find(self, item) + # cblock.find(cinsn_t) -> returns the iterator positioned at the given item + +Help on function cblock_index in module ida_hexrays: + +cblock_index(self, item) + # cblock.index(cinsn_t) -> returns the index of the given item + +Help on function cblock_insert in module ida_hexrays: + +cblock_insert(self, index, item) + # cblock.insert(index, cinsn_t) + +Help on function cblock_iter in module ida_hexrays: + +cblock_iter(self) + +Help on function cblock_remove in module ida_hexrays: + +cblock_remove(self, item) + # cblock.remove(cinsn_t) + +Help on class cblock_t in module ida_hexrays: + +class cblock_t(qlist_cinsn_t) + | Proxy of C++ cblock_t class. + | + | Method resolution order: + | cblock_t + | qlist_cinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cblock_t + | + | __iter__ = cblock_iter(self) + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cblock_t(...) + | delete_cblock_t(self) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | at = cblock_at(self, index) + | # cblock.at(int) -> returns the item at the given index index + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | find = cblock_find(self, item) + | # cblock.find(cinsn_t) -> returns the iterator positioned at the given item + | + | index = cblock_index(self, item) + | # cblock.index(cinsn_t) -> returns the index of the given item + | + | insert = cblock_insert(self, index, item) + | # cblock.insert(index, cinsn_t) + | + | remove = cblock_remove(self, item) + | # cblock.remove(cinsn_t) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from qlist_cinsn_t: + | + | back(self, *args) -> 'cinsn_t const &' + | back(self) -> cinsn_t + | back(self) -> cinsn_t + | + | begin(self, *args) -> 'qlist_cinsn_t_iterator' + | begin(self) -> qlist_cinsn_t_iterator + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qlist_cinsn_t_iterator' + | end(self) -> qlist_cinsn_t_iterator + | + | erase(self, *args) -> 'void' + | erase(self, p) -> qlist< cinsn_t >::iterator + | erase(self, p1, p2) + | erase(self, p) + | + | front(self, *args) -> 'cinsn_t const &' + | front(self) -> cinsn_t + | front(self) -> cinsn_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | pop_front(self, *args) -> 'void' + | pop_front(self) + | + | push_back(self, *args) -> 'cinsn_t &' + | push_back(self, x) + | push_back(self) -> cinsn_t + | + | push_front(self, *args) -> 'void' + | push_front(self, x) + | + | rbegin(self, *args) -> 'qlist< cinsn_t >::const_reverse_iterator' + | rbegin(self) -> qlist< cinsn_t >::reverse_iterator + | rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | rend(self, *args) -> 'qlist< cinsn_t >::const_reverse_iterator' + | rend(self) -> qlist< cinsn_t >::reverse_iterator + | rend(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, x) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qlist_cinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class ccase_t in module ida_hexrays: + +class ccase_t(cinsn_t) + | Proxy of C++ ccase_t class. + | + | Method resolution order: + | ccase_t + | cinsn_t + | citem_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ccase_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ccase_t(...) + | delete_ccase_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | value(self, *args) -> 'uint64 const &' + | value(self, i) -> uint64 const & + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | values + | ccase_t_values_get(self) -> ulonglongvec_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from cinsn_t: + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _get_casm(self, *args) -> 'casm_t *' + | _get_casm(self) -> casm_t + | + | _get_cblock(self, *args) -> 'cblock_t *' + | _get_cblock(self) -> cblock_t + | + | _get_cdo(self, *args) -> 'cdo_t *' + | _get_cdo(self) -> cdo_t + | + | _get_cexpr(self, *args) -> 'cexpr_t *' + | _get_cexpr(self) -> cexpr_t + | + | _get_cfor(self, *args) -> 'cfor_t *' + | _get_cfor(self) -> cfor_t + | + | _get_cgoto(self, *args) -> 'cgoto_t *' + | _get_cgoto(self) -> cgoto_t + | + | _get_cif(self, *args) -> 'cif_t *' + | _get_cif(self) -> cif_t + | + | _get_creturn(self, *args) -> 'creturn_t *' + | _get_creturn(self) -> creturn_t + | + | _get_cswitch(self, *args) -> 'cswitch_t *' + | _get_cswitch(self) -> cswitch_t + | + | _get_cwhile(self, *args) -> 'cwhile_t *' + | _get_cwhile(self) -> cwhile_t + | + | _print(self, *args) -> 'void' + | _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _replace_by(self, *args) -> 'void' + | _replace_by(self, r) + | + | _set_casm(self, *args) -> 'void' + | _set_casm(self, _v) + | + | _set_cblock(self, *args) -> 'void' + | _set_cblock(self, _v) + | + | _set_cdo(self, *args) -> 'void' + | _set_cdo(self, _v) + | + | _set_cexpr(self, *args) -> 'void' + | _set_cexpr(self, _v) + | + | _set_cfor(self, *args) -> 'void' + | _set_cfor(self, _v) + | + | _set_cgoto(self, *args) -> 'void' + | _set_cgoto(self, _v) + | + | _set_cif(self, *args) -> 'void' + | _set_cif(self, _v) + | + | _set_creturn(self, *args) -> 'void' + | _set_creturn(self, _v) + | + | _set_cswitch(self, *args) -> 'void' + | _set_cswitch(self, _v) + | + | _set_cwhile(self, *args) -> 'void' + | _set_cwhile(self, _v) + | + | assign(self, *args) -> 'cinsn_t &' + | assign(self, r) -> cinsn_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | collect_free_breaks(self, *args) -> 'bool' + | collect_free_breaks(self, breaks) -> bool + | + | collect_free_continues(self, *args) -> 'bool' + | collect_free_continues(self, continues) -> bool + | + | contains_free_break(self, *args) -> 'bool' + | contains_free_break(self) -> bool + | + | contains_free_continue(self, *args) -> 'bool' + | contains_free_continue(self) -> bool + | + | contains_insn(self, *args) -> 'bool' + | contains_insn(self, type, times=1) -> bool + | + | create_if(self, *args) -> 'cif_t &' + | create_if(self, cnd) -> cif_t + | + | is_epilog(self) + | + | is_ordinary_flow(self, *args) -> 'bool' + | is_ordinary_flow(self) -> bool + | + | new_insn(self, *args) -> 'cinsn_t &' + | new_insn(self, insn_ea) -> cinsn_t + | + | print1(self, *args) -> 'void' + | print1(self, func) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | zero(self, *args) -> 'void' + | zero(self) + | + | ---------------------------------------------------------------------- + | Static methods inherited from cinsn_t: + | + | insn_is_epilog(*args) -> 'bool' + | insn_is_epilog(insn) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cinsn_t: + | + | casm + | + | cblock + | + | cdo + | + | cexpr + | + | cfor + | + | cgoto + | + | cif + | + | creturn + | + | cswitch + | + | cwhile + | + | details + | 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. + | + | opname + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from cinsn_t: + | + | op_to_typename = {70: 'empty', 71: 'block', 72: 'expr', 73: 'if', 74: ... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) -> 'ctype_t' + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) -> 'void' + | _set_op(self, v) + | + | contains_expr(self, *args) -> 'bool' + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) -> 'bool' + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) -> 'citem_t *' + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) -> 'citem_t *' + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) -> 'bool' + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class ccases_t in module ida_hexrays: + +class ccases_t(qvector_ccase_t) + | Proxy of C++ ccases_t class. + | + | Method resolution order: + | ccases_t + | qvector_ccase_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ccases_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ccases_t(...) + | delete_ccases_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_ccase_t: + | + | __getitem__(self, *args) -> 'ccase_t const &' + | __getitem__(self, i) -> ccase_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'ccase_t &' + | push_back(self, x) + | push_back(self) -> ccase_t + | + | at = __getitem__(self, *args) -> 'ccase_t const &' + | __getitem__(self, i) -> ccase_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< ccase_t >::const_iterator' + | begin(self) -> ccase_t + | begin(self) -> ccase_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< ccase_t >::const_iterator' + | end(self) -> ccase_t + | end(self) -> ccase_t + | + | erase(self, *args) -> 'qvector< ccase_t >::iterator' + | erase(self, it) -> ccase_t + | erase(self, first, last) -> ccase_t + | + | extract(self, *args) -> 'ccase_t *' + | extract(self) -> ccase_t + | + | find(self, *args) -> 'qvector< ccase_t >::const_iterator' + | find(self, x) -> ccase_t + | find(self, x) -> ccase_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=ccase_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< ccase_t >::iterator' + | insert(self, it, x) -> ccase_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'ccase_t &' + | push_back(self, x) + | push_back(self) -> ccase_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_ccase_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class cdg_insn_iterator_t in module ida_hexrays: + +class cdg_insn_iterator_t(builtins.object) + | Proxy of C++ cdg_insn_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cdg_insn_iterator_t + | __init__(self, r) -> cdg_insn_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cdg_insn_iterator_t(...) + | delete_cdg_insn_iterator_t(self) + | + | dslot_with_xrefs(self, *args) -> 'bool' + | dslot_with_xrefs(self) -> bool + | + | has_dslot(self, *args) -> 'bool' + | has_dslot(self) -> bool + | + | next(self, *args) -> 'merror_t' + | next(self, ins) -> merror_t + | + | ok(self, *args) -> 'bool' + | ok(self) -> bool + | + | start(self, *args) -> 'void' + | start(self, rng) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dslot + | cdg_insn_iterator_t_dslot_get(self) -> ea_t + | + | dslot_insn + | cdg_insn_iterator_t_dslot_insn_get(self) -> insn_t * + | + | ea + | cdg_insn_iterator_t_ea_get(self) -> ea_t + | + | end + | cdg_insn_iterator_t_end_get(self) -> ea_t + | + | is_likely_dslot + | cdg_insn_iterator_t_is_likely_dslot_get(self) -> bool + | + | is_separate_dslot + | cdg_insn_iterator_t_is_separate_dslot_get(self) -> bool + | + | thisown + | The membership flag + +Help on class cdo_t in module ida_hexrays: + +class cdo_t(cloop_t) + | Proxy of C++ cdo_t class. + | + | Method resolution order: + | cdo_t + | cloop_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cdo_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cdo_t(...) + | delete_cdo_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) -> 'cloop_t &' + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class ceinsn_t in module ida_hexrays: + +class ceinsn_t(builtins.object) + | Proxy of C++ ceinsn_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ceinsn_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ceinsn_t(...) + | delete_ceinsn_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + | + | thisown + | The membership flag + +Help on function cexpr_operands in module ida_hexrays: + +cexpr_operands(self) + return a dictionary with the operands of a cexpr_t. + +Help on class cexpr_t in module ida_hexrays: + +class cexpr_t(citem_t) + | Proxy of C++ cexpr_t class. + | + | Method resolution order: + | cexpr_t + | citem_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cexpr_t + | __init__(self, cop, _x) -> cexpr_t + | __init__(self, cop, _x, _y) -> cexpr_t + | __init__(self, cop, _x, _y, _z) -> cexpr_t + | __init__(self, r) -> cexpr_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cexpr_t(...) + | delete_cexpr_t(self) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _get_a(self, *args) -> 'carglist_t *' + | _get_a(self) -> carglist_t + | + | _get_fpc(self, *args) -> 'fnumber_t *' + | _get_fpc(self) -> fnumber_t + | + | _get_helper(self, *args) -> 'char *' + | _get_helper(self) -> char * + | + | _get_insn(self, *args) -> 'cinsn_t *' + | _get_insn(self) -> cinsn_t + | + | _get_m(self, *args) -> 'int' + | _get_m(self) -> int + | + | _get_n(self, *args) -> 'cnumber_t *' + | _get_n(self) -> cnumber_t + | + | _get_obj_ea(self, *args) -> 'ea_t' + | _get_obj_ea(self) -> ea_t + | + | _get_ptrsize(self, *args) -> 'int' + | _get_ptrsize(self) -> int + | + | _get_refwidth(self, *args) -> 'int' + | _get_refwidth(self) -> int + | + | _get_string(self, *args) -> 'char *' + | _get_string(self) -> char * + | + | _get_x(self, *args) -> 'cexpr_t *' + | _get_x(self) -> cexpr_t + | + | _get_y(self, *args) -> 'cexpr_t *' + | _get_y(self) -> cexpr_t + | + | _get_z(self, *args) -> 'cexpr_t *' + | _get_z(self) -> cexpr_t + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _replace_by(self, *args) -> 'void' + | _replace_by(self, r) + | + | _set_a(self, *args) -> 'void' + | _set_a(self, _v) + | + | _set_fpc(self, *args) -> 'void' + | _set_fpc(self, _v) + | + | _set_helper(self, *args) -> 'void' + | _set_helper(self, _v) + | + | _set_insn(self, *args) -> 'void' + | _set_insn(self, _v) + | + | _set_m(self, *args) -> 'void' + | _set_m(self, _v) + | + | _set_n(self, *args) -> 'void' + | _set_n(self, _v) + | + | _set_obj_ea(self, *args) -> 'void' + | _set_obj_ea(self, _v) + | + | _set_ptrsize(self, *args) -> 'void' + | _set_ptrsize(self, _v) + | + | _set_refwidth(self, *args) -> 'void' + | _set_refwidth(self, _v) + | + | _set_string(self, *args) -> 'void' + | _set_string(self, _v) + | + | _set_x(self, *args) -> 'void' + | _set_x(self, _v) + | + | _set_y(self, *args) -> 'void' + | _set_y(self, _v) + | + | _set_z(self, *args) -> 'void' + | _set_z(self, _v) + | + | assign(self, *args) -> 'cexpr_t &' + | assign(self, r) -> cexpr_t + | + | calc_type(self, *args) -> 'void' + | calc_type(self, recursive) + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains_comma(self, *args) -> 'bool' + | contains_comma(self, times=1) -> bool + | + | contains_comma_or_insn_or_label(self, *args) -> 'bool' + | contains_comma_or_insn_or_label(self, maxcommas=1) -> bool + | + | contains_insn(self, *args) -> 'bool' + | contains_insn(self, times=1) -> bool + | + | contains_insn_or_label(self, *args) -> 'bool' + | contains_insn_or_label(self) -> bool + | + | contains_operator(self, *args) -> 'bool' + | contains_operator(self, needed_op, times=1) -> bool + | + | cpadone(self, *args) -> 'bool' + | cpadone(self) -> bool + | + | equal_effect(self, *args) -> 'bool' + | equal_effect(self, r) -> bool + | + | find_num_op(self, *args) -> 'cexpr_t *' + | find_num_op(self) -> cexpr_t + | find_num_op(self) -> cexpr_t + | + | find_op(self, *args) -> 'cexpr_t *' + | find_op(self, _op) -> cexpr_t + | find_op(self, _op) -> cexpr_t + | + | get_1num_op(self, *args) -> 'bool' + | get_1num_op(self, o1, o2) -> bool + | + | get_const_value(self, *args) -> 'bool' + | get_const_value(self) -> bool + | + | get_high_nbit_bound(self, *args) -> 'bit_bound_t' + | get_high_nbit_bound(self) -> bit_bound_t + | + | get_low_nbit_bound(self, *args) -> 'int' + | get_low_nbit_bound(self) -> int + | + | get_ptr_or_array(self, *args) -> 'cexpr_t *' + | get_ptr_or_array(self) -> cexpr_t + | + | get_type_sign(self, *args) -> 'type_sign_t' + | get_type_sign(self) -> type_sign_t + | + | get_v(self, *args) -> 'var_ref_t *' + | get_v(self) -> var_ref_t + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self) -> bool + | + | is_call_arg_of(self, *args) -> 'bool' + | is_call_arg_of(self, parent) -> bool + | + | is_call_object_of(self, *args) -> 'bool' + | is_call_object_of(self, parent) -> bool + | + | is_child_of(self, *args) -> 'bool' + | is_child_of(self, parent) -> bool + | + | is_const_value(self, *args) -> 'bool' + | is_const_value(self, _v) -> bool + | + | is_cstr(self, *args) -> 'bool' + | is_cstr(self) -> bool + | + | is_fpop(self, *args) -> 'bool' + | is_fpop(self) -> bool + | + | is_jumpout(self, *args) -> 'bool' + | is_jumpout(self) -> bool + | + | is_negative_const(self, *args) -> 'bool' + | is_negative_const(self) -> bool + | + | is_nice_cond(self, *args) -> 'bool' + | is_nice_cond(self) -> bool + | + | is_nice_expr(self, *args) -> 'bool' + | is_nice_expr(self) -> bool + | + | is_non_negative_const(self, *args) -> 'bool' + | is_non_negative_const(self) -> bool + | + | is_non_zero_const(self, *args) -> 'bool' + | is_non_zero_const(self) -> bool + | + | is_odd_lvalue(self, *args) -> 'bool' + | is_odd_lvalue(self) -> bool + | + | is_type_signed(self, *args) -> 'bool' + | is_type_signed(self) -> bool + | + | is_type_unsigned(self, *args) -> 'bool' + | is_type_unsigned(self) -> bool + | + | is_undef_val(self, *args) -> 'bool' + | is_undef_val(self) -> bool + | + | is_vftable(self, *args) -> 'bool' + | is_vftable(self) -> bool + | + | is_zero_const(self, *args) -> 'bool' + | is_zero_const(self) -> bool + | + | maybe_ptr(self, *args) -> 'bool' + | maybe_ptr(self) -> bool + | + | numval(self, *args) -> 'uint64' + | numval(self) -> uint64 + | + | print1(self, *args) -> 'void' + | print1(self, func) + | + | put_number(self, *args) -> 'void' + | put_number(self, func, value, nbytes, sign=no_sign) + | + | requires_lvalue(self, *args) -> 'bool' + | requires_lvalue(self, child) -> bool + | + | set_cpadone(self, *args) -> 'void' + | set_cpadone(self) + | + | set_v(self, *args) -> 'void' + | set_v(self, v) + | + | set_vftable(self, *args) -> 'void' + | set_vftable(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | theother(self, *args) -> 'cexpr_t *' + | theother(self, what) -> cexpr_t + | theother(self, what) -> cexpr_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | a + | + | exflags + | cexpr_t_exflags_get(self) -> uint32 + | + | fpc + | + | helper + | + | insn + | + | m + | + | n + | + | obj_ea + | + | operands + | return a dictionary with the operands of a cexpr_t. + | + | opname + | + | ptrsize + | + | refwidth + | + | string + | + | thisown + | The membership flag + | + | type + | cexpr_t_type_get(self) -> tinfo_t + | + | v + | + | x + | + | y + | + | z + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | op_to_typename = {0: 'empty', 1: 'comma', 2: 'asg', 3: 'asgbor', 4: 'a... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) -> 'ctype_t' + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) -> 'void' + | _set_op(self, v) + | + | contains_expr(self, *args) -> 'bool' + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) -> 'bool' + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) -> 'citem_t *' + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) -> 'citem_t *' + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) -> 'bool' + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class cfor_t in module ida_hexrays: + +class cfor_t(cloop_t) + | Proxy of C++ cfor_t class. + | + | Method resolution order: + | cfor_t + | cloop_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cfor_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cfor_t(...) + | delete_cfor_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | init + | cfor_t_init_get(self) -> cexpr_t + | + | step + | cfor_t_step_get(self) -> cexpr_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) -> 'cloop_t &' + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class cfunc_parentee_t in module ida_hexrays: + +class cfunc_parentee_t(ctree_parentee_t) + | Proxy of C++ cfunc_parentee_t class. + | + | Method resolution order: + | cfunc_parentee_t + | ctree_parentee_t + | ctree_visitor_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, f, post=False) -> cfunc_parentee_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cfunc_parentee_t(...) + | delete_cfunc_parentee_t(self) + | + | calc_rvalue_type(self, *args) -> 'bool' + | calc_rvalue_type(self, target, e) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | func + | cfunc_parentee_t_func_get(self) -> cfunc_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_parentee_t: + | + | recalc_parent_types(self, *args) -> 'bool' + | recalc_parent_types(self) -> bool + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_visitor_t: + | + | apply_to(self, *args) -> 'int' + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) -> 'int' + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) -> 'void' + | clr_prune(self) + | + | clr_restart(self, *args) -> 'void' + | clr_restart(self) + | + | is_postorder(self, *args) -> 'bool' + | is_postorder(self) -> bool + | + | leave_expr(self, *args) -> 'int' + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) -> 'int' + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) -> 'bool' + | maintain_parents(self) -> bool + | + | must_prune(self, *args) -> 'bool' + | must_prune(self) -> bool + | + | must_restart(self, *args) -> 'bool' + | must_restart(self) -> bool + | + | only_insns(self, *args) -> 'bool' + | only_insns(self) -> bool + | + | parent_expr(self, *args) -> 'cexpr_t *' + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) -> 'cinsn_t *' + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) -> 'void' + | prune_now(self) + | + | set_restart(self, *args) -> 'void' + | set_restart(self) + | + | visit_expr(self, *args) -> 'int' + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) -> 'int' + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctree_visitor_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + +Help on class cfunc_t in module ida_hexrays: + +class cfunc_t(builtins.object) + | Proxy of C++ cfunc_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) -> 'qstring' + | __str__(self) -> qstring + | + | __swig_destroy__ = delete_cfunc_t(...) + | delete_cfunc_t(self) + | + | build_c_tree(self, *args) -> 'void' + | build_c_tree(self) + | + | del_orphan_cmts(self, *args) -> 'int' + | del_orphan_cmts(self) -> int + | + | find_item_coords(self, *args) -> 'PyObject *' + | find_item_coords(self, item, px, py) -> bool + | find_item_coords(self, item) -> PyObject * + | + | find_label(self, *args) -> 'citem_t *' + | find_label(self, label) -> citem_t + | + | gather_derefs(self, *args) -> 'bool' + | gather_derefs(self, ci, udm=None) -> bool + | + | get_boundaries(self, *args) -> 'boundaries_t &' + | get_boundaries(self) -> boundaries_t + | + | get_eamap(self, *args) -> 'eamap_t &' + | get_eamap(self) -> eamap_t + | + | get_func_type(self, *args) -> 'bool' + | get_func_type(self, type) -> bool + | + | get_line_item(self, *args) -> 'bool' + | get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool + | + | get_lvars(self, *args) -> 'lvars_t *' + | get_lvars(self) -> lvars_t + | + | get_pseudocode(self, *args) -> 'strvec_t const &' + | get_pseudocode(self) -> strvec_t + | + | get_stkoff_delta(self, *args) -> 'sval_t' + | get_stkoff_delta(self) -> sval_t + | + | get_user_cmt(self, *args) -> 'char const *' + | get_user_cmt(self, loc, rt) -> char const * + | + | get_user_iflags(self, *args) -> 'int32' + | get_user_iflags(self, loc) -> int32 + | + | get_user_union_selection(self, *args) -> 'bool' + | get_user_union_selection(self, ea, path) -> bool + | + | get_warnings(self, *args) -> 'hexwarns_t &' + | get_warnings(self) -> hexwarns_t + | + | has_orphan_cmts(self, *args) -> 'bool' + | has_orphan_cmts(self) -> bool + | + | print_dcl(self, *args) -> 'void' + | print_dcl(self) + | + | print_func(self, *args) -> 'void' + | print_func(self, vp) + | + | refresh_func_ctext(self, *args) -> 'void' + | refresh_func_ctext(self) + | + | release(self, *args) -> 'void' + | release(self) + | + | remove_unused_labels(self, *args) -> 'void' + | remove_unused_labels(self) + | + | save_user_cmts(self, *args) -> 'void' + | save_user_cmts(self) + | + | save_user_iflags(self, *args) -> 'void' + | save_user_iflags(self) + | + | save_user_labels(self, *args) -> 'void' + | save_user_labels(self) + | + | save_user_numforms(self, *args) -> 'void' + | save_user_numforms(self) + | + | save_user_unions(self, *args) -> 'void' + | save_user_unions(self) + | + | set_user_cmt(self, *args) -> 'void' + | set_user_cmt(self, loc, cmt) + | + | set_user_iflags(self, *args) -> 'void' + | set_user_iflags(self, loc, iflags) + | + | set_user_union_selection(self, *args) -> 'void' + | set_user_union_selection(self, ea, path) + | + | verify(self, *args) -> 'void' + | verify(self, aul, even_without_debugger) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argidx + | cfunc_t_argidx_get(self) -> intvec_t + | + | arguments + | + | body + | cfunc_t_body_get(self) -> cinsn_t + | + | boundaries + | get_boundaries(self) -> boundaries_t + | + | eamap + | get_eamap(self) -> eamap_t + | + | entry_ea + | cfunc_t_entry_ea_get(self) -> ea_t + | + | hdrlines + | cfunc_t_hdrlines_get(self) -> int + | + | lvars + | get_lvars(self) -> lvars_t + | + | maturity + | cfunc_t_maturity_get(self) -> ctree_maturity_t + | + | mba + | cfunc_t_mba_get(self) -> mbl_array_t + | + | numforms + | cfunc_t_numforms_get(self) -> user_numforms_t + | + | pseudocode + | get_pseudocode(self) -> strvec_t + | + | refcnt + | cfunc_t_refcnt_get(self) -> int + | + | statebits + | cfunc_t_statebits_get(self) -> int + | + | thisown + | The membership flag + | + | treeitems + | cfunc_t_treeitems_get(self) -> ctree_items_t + | + | type + | Get the function's return type tinfo_t object. + | + | user_cmts + | cfunc_t_user_cmts_get(self) -> user_cmts_t + | + | user_iflags + | cfunc_t_user_iflags_get(self) -> user_iflags_t + | + | user_labels + | cfunc_t_user_labels_get(self) -> user_labels_t + | + | user_unions + | cfunc_t_user_unions_get(self) -> user_unions_t + | + | warnings + | get_warnings(self) -> hexwarns_t + +Help on function cfunc_type in module ida_hexrays: + +cfunc_type(self) + Get the function's return type tinfo_t object. + +Help on class cfuncptr_t in module ida_hexrays: + +class cfuncptr_t(builtins.object) + | Proxy of C++ qrefcnt_t< cfunc_t > class. + | + | Methods defined here: + | + | __deref__(self, *args) -> 'cfunc_t *' + | __deref__(self) -> cfunc_t + | + | __eq__ lambda self, other + | + | __init__(self, *args) + | __init__(self, p) -> cfuncptr_t + | __init__(self, r) -> cfuncptr_t + | + | __ptrval__(self, *args) -> 'size_t' + | __ptrval__(self) -> size_t + | + | __ref__(self, *args) -> 'cfunc_t &' + | __ref__(self) -> cfunc_t + | + | __repr__ = _swig_repr(self) + | + | __str__ lambda self + | + | __swig_destroy__ = delete_cfuncptr_t(...) + | delete_cfuncptr_t(self) + | + | build_c_tree(self, *args) -> 'void' + | build_c_tree(self) + | + | del_orphan_cmts(self, *args) -> 'int' + | del_orphan_cmts(self) -> int + | + | find_item_coords(self, *args) -> 'PyObject *' + | find_item_coords(self, item, px, py) -> bool + | find_item_coords(self, item) -> PyObject * + | + | find_label(self, *args) -> 'citem_t *' + | find_label(self, label) -> citem_t + | + | gather_derefs(self, *args) -> 'bool' + | gather_derefs(self, ci, udm=None) -> bool + | + | get_boundaries(self, *args) -> 'boundaries_t &' + | get_boundaries(self) -> boundaries_t + | + | get_eamap(self, *args) -> 'eamap_t &' + | get_eamap(self) -> eamap_t + | + | get_func_type(self, *args) -> 'bool' + | get_func_type(self, type) -> bool + | + | get_line_item(self, *args) -> 'bool' + | get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool + | + | get_lvars(self, *args) -> 'lvars_t *' + | get_lvars(self) -> lvars_t + | + | get_pseudocode(self, *args) -> 'strvec_t const &' + | get_pseudocode(self) -> strvec_t + | + | get_stkoff_delta(self, *args) -> 'sval_t' + | get_stkoff_delta(self) -> sval_t + | + | get_user_cmt(self, *args) -> 'char const *' + | get_user_cmt(self, loc, rt) -> char const * + | + | get_user_iflags(self, *args) -> 'int32' + | get_user_iflags(self, loc) -> int32 + | + | get_user_union_selection(self, *args) -> 'bool' + | get_user_union_selection(self, ea, path) -> bool + | + | get_warnings(self, *args) -> 'hexwarns_t &' + | get_warnings(self) -> hexwarns_t + | + | has_orphan_cmts(self, *args) -> 'bool' + | has_orphan_cmts(self) -> bool + | + | print_dcl(self, *args) -> 'void' + | print_dcl(self) + | + | print_func(self, *args) -> 'void' + | print_func(self, vp) + | + | refresh_func_ctext(self, *args) -> 'void' + | refresh_func_ctext(self) + | + | release(self, *args) -> 'void' + | release(self) + | + | remove_unused_labels(self, *args) -> 'void' + | remove_unused_labels(self) + | + | reset(self, *args) -> 'void' + | reset(self) + | + | save_user_cmts(self, *args) -> 'void' + | save_user_cmts(self) + | + | save_user_iflags(self, *args) -> 'void' + | save_user_iflags(self) + | + | save_user_labels(self, *args) -> 'void' + | save_user_labels(self) + | + | save_user_numforms(self, *args) -> 'void' + | save_user_numforms(self) + | + | save_user_unions(self, *args) -> 'void' + | save_user_unions(self) + | + | set_user_cmt(self, *args) -> 'void' + | set_user_cmt(self, loc, cmt) + | + | set_user_iflags(self, *args) -> 'void' + | set_user_iflags(self, loc, iflags) + | + | set_user_union_selection(self, *args) -> 'void' + | set_user_union_selection(self, ea, path) + | + | verify(self, *args) -> 'void' + | verify(self, aul, even_without_debugger) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argidx + | cfuncptr_t_argidx_get(self) -> intvec_t + | + | arguments + | + | body + | cfuncptr_t_body_get(self) -> cinsn_t + | + | boundaries + | + | eamap + | + | entry_ea + | cfuncptr_t_entry_ea_get(self) -> ea_t + | + | hdrlines + | cfuncptr_t_hdrlines_get(self) -> int + | + | lvars + | + | maturity + | cfuncptr_t_maturity_get(self) -> ctree_maturity_t + | + | mba + | cfuncptr_t_mba_get(self) -> mbl_array_t + | + | numforms + | cfuncptr_t_numforms_get(self) -> user_numforms_t + | + | pseudocode + | + | refcnt + | cfuncptr_t_refcnt_get(self) -> int + | + | statebits + | cfuncptr_t_statebits_get(self) -> int + | + | thisown + | The membership flag + | + | treeitems + | cfuncptr_t_treeitems_get(self) -> ctree_items_t + | + | type + | + | user_cmts + | cfuncptr_t_user_cmts_get(self) -> user_cmts_t + | + | user_iflags + | cfuncptr_t_user_iflags_get(self) -> user_iflags_t + | + | user_labels + | cfuncptr_t_user_labels_get(self) -> user_labels_t + | + | user_unions + | cfuncptr_t_user_unions_get(self) -> user_unions_t + | + | warnings + +Help on class cgoto_t in module ida_hexrays: + +class cgoto_t(builtins.object) + | Proxy of C++ cgoto_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cgoto_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cgoto_t(...) + | delete_cgoto_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | label_num + | cgoto_t_label_num_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class chain_keeper_t in module ida_hexrays: + +class chain_keeper_t(builtins.object) + | Proxy of C++ chain_keeper_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _gc) -> chain_keeper_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_chain_keeper_t(...) + | delete_chain_keeper_t(self) + | + | back(self, *args) -> 'block_chains_t &' + | back(self) -> block_chains_t + | + | for_all_chains(self, *args) -> 'int' + | for_all_chains(self, cv, gca) -> int + | + | front(self, *args) -> 'block_chains_t &' + | front(self) -> block_chains_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class chain_t in module ida_hexrays: + +class chain_t(ida_pro.intvec_t) + | Proxy of C++ chain_t class. + | + | Method resolution order: + | chain_t + | ida_pro.intvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> chain_t + | __init__(self, t, off, w=1, v=-1) -> chain_t + | __init__(self, _k, w=1) -> chain_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_chain_t(...) + | delete_chain_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | append_list(self, *args) -> 'void' + | append_list(self, list) + | + | clear_varnum(self, *args) -> 'void' + | clear_varnum(self) + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | endoff(self, *args) -> 'voff_t const' + | endoff(self) -> voff_t + | + | get_reg(self, *args) -> 'mreg_t' + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) -> 'sval_t' + | get_stkoff(self) -> sval_t + | + | includes(self, *args) -> 'bool' + | includes(self, r) -> bool + | + | is_fake(self, *args) -> 'bool' + | is_fake(self) -> bool + | + | is_inited(self, *args) -> 'bool' + | is_inited(self) -> bool + | + | is_overlapped(self, *args) -> 'bool' + | is_overlapped(self) -> bool + | + | is_passreg(self, *args) -> 'bool' + | is_passreg(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_replaced(self, *args) -> 'bool' + | is_replaced(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | is_term(self, *args) -> 'bool' + | is_term(self) -> bool + | + | key(self, *args) -> 'voff_t const &' + | key(self) -> voff_t + | + | overlap(self, *args) -> 'bool' + | overlap(self, r) -> bool + | + | set_inited(self, *args) -> 'void' + | set_inited(self, b) + | + | set_overlapped(self, *args) -> 'void' + | set_overlapped(self, b) + | + | set_replaced(self, *args) -> 'void' + | set_replaced(self, b) + | + | set_term(self, *args) -> 'void' + | set_term(self, b) + | + | set_value(self, *args) -> 'void' + | set_value(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | chain_t_flags_get(self) -> uchar + | + | thisown + | The membership flag + | + | varnum + | chain_t_varnum_get(self) -> int + | + | width + | chain_t_width_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_pro.intvec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'int const &' + | __getitem__(self, i) -> int const & + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'int &' + | push_back(self, x) + | push_back(self) -> int & + | + | at = __getitem__(self, *args) -> 'int const &' + | __getitem__(self, i) -> int const & + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< int >::const_iterator' + | begin(self) -> qvector< int >::iterator + | begin(self) -> qvector< int >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< int >::const_iterator' + | end(self) -> qvector< int >::iterator + | end(self) -> qvector< int >::const_iterator + | + | erase(self, *args) -> 'qvector< int >::iterator' + | erase(self, it) -> qvector< int >::iterator + | erase(self, first, last) -> qvector< int >::iterator + | + | extract(self, *args) -> 'int *' + | extract(self) -> int * + | + | find(self, *args) -> 'qvector< int >::const_iterator' + | find(self, x) -> qvector< int >::iterator + | find(self, x) -> qvector< int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< int >::iterator' + | insert(self, it, x) -> qvector< int >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'int &' + | push_back(self, x) + | push_back(self) -> int & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_pro.intvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_pro.intvec_t: + | + | __hash__ = None + +Help on class chain_visitor_t in module ida_hexrays: + +class chain_visitor_t(builtins.object) + | Proxy of C++ chain_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> chain_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_chain_visitor_t(...) + | delete_chain_visitor_t(self) + | + | visit_chain(self, *args) -> 'int' + | visit_chain(self, nblock, ch) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | parent + | chain_visitor_t_parent_get(self) -> block_chains_t + | + | thisown + | The membership flag + +Help on function checkout_hexrays_license in module ida_hexrays: + +checkout_hexrays_license(*args) -> 'bool' + checkout_hexrays_license(silent) -> bool + + + Check out a floating decompiler license. This function will display a + dialog box if the license is not available. For non-floating licenses + this function is effectively no-op. It is not necessary to call this + function before decompiling. If the license was not checked out, the + decompiler will automatically do it. This function can be used to + check out a license in advance and ensure that a license is available. + + @param silent: silently fail if the license can not be checked out. + (C++: bool) + @return: false if failed + +Help on class cif_t in module ida_hexrays: + +class cif_t(ceinsn_t) + | Proxy of C++ cif_t class. + | + | Method resolution order: + | cif_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cif_t + | __init__(self, r) -> cif_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cif_t(...) + | delete_cif_t(self) + | + | assign(self, *args) -> 'cif_t &' + | assign(self, r) -> cif_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ielse + | cif_t_ielse_get(self) -> cinsn_t + | + | ithen + | cif_t_ithen_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function cinsn_details in module ida_hexrays: + +cinsn_details(self) + 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. + +Help on class cinsn_t in module ida_hexrays: + +class cinsn_t(citem_t) + | Proxy of C++ cinsn_t class. + | + | Method resolution order: + | cinsn_t + | citem_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cinsn_t + | __init__(self, r) -> cinsn_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cinsn_t(...) + | delete_cinsn_t(self) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _get_casm(self, *args) -> 'casm_t *' + | _get_casm(self) -> casm_t + | + | _get_cblock(self, *args) -> 'cblock_t *' + | _get_cblock(self) -> cblock_t + | + | _get_cdo(self, *args) -> 'cdo_t *' + | _get_cdo(self) -> cdo_t + | + | _get_cexpr(self, *args) -> 'cexpr_t *' + | _get_cexpr(self) -> cexpr_t + | + | _get_cfor(self, *args) -> 'cfor_t *' + | _get_cfor(self) -> cfor_t + | + | _get_cgoto(self, *args) -> 'cgoto_t *' + | _get_cgoto(self) -> cgoto_t + | + | _get_cif(self, *args) -> 'cif_t *' + | _get_cif(self) -> cif_t + | + | _get_creturn(self, *args) -> 'creturn_t *' + | _get_creturn(self) -> creturn_t + | + | _get_cswitch(self, *args) -> 'cswitch_t *' + | _get_cswitch(self) -> cswitch_t + | + | _get_cwhile(self, *args) -> 'cwhile_t *' + | _get_cwhile(self) -> cwhile_t + | + | _print(self, *args) -> 'void' + | _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _replace_by(self, *args) -> 'void' + | _replace_by(self, r) + | + | _set_casm(self, *args) -> 'void' + | _set_casm(self, _v) + | + | _set_cblock(self, *args) -> 'void' + | _set_cblock(self, _v) + | + | _set_cdo(self, *args) -> 'void' + | _set_cdo(self, _v) + | + | _set_cexpr(self, *args) -> 'void' + | _set_cexpr(self, _v) + | + | _set_cfor(self, *args) -> 'void' + | _set_cfor(self, _v) + | + | _set_cgoto(self, *args) -> 'void' + | _set_cgoto(self, _v) + | + | _set_cif(self, *args) -> 'void' + | _set_cif(self, _v) + | + | _set_creturn(self, *args) -> 'void' + | _set_creturn(self, _v) + | + | _set_cswitch(self, *args) -> 'void' + | _set_cswitch(self, _v) + | + | _set_cwhile(self, *args) -> 'void' + | _set_cwhile(self, _v) + | + | assign(self, *args) -> 'cinsn_t &' + | assign(self, r) -> cinsn_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | collect_free_breaks(self, *args) -> 'bool' + | collect_free_breaks(self, breaks) -> bool + | + | collect_free_continues(self, *args) -> 'bool' + | collect_free_continues(self, continues) -> bool + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains_free_break(self, *args) -> 'bool' + | contains_free_break(self) -> bool + | + | contains_free_continue(self, *args) -> 'bool' + | contains_free_continue(self) -> bool + | + | contains_insn(self, *args) -> 'bool' + | contains_insn(self, type, times=1) -> bool + | + | create_if(self, *args) -> 'cif_t &' + | create_if(self, cnd) -> cif_t + | + | is_epilog(self) + | + | is_ordinary_flow(self, *args) -> 'bool' + | is_ordinary_flow(self) -> bool + | + | new_insn(self, *args) -> 'cinsn_t &' + | new_insn(self, insn_ea) -> cinsn_t + | + | print1(self, *args) -> 'void' + | print1(self, func) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | zero(self, *args) -> 'void' + | zero(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | insn_is_epilog(*args) -> 'bool' + | insn_is_epilog(insn) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | casm + | + | cblock + | + | cdo + | + | cexpr + | + | cfor + | + | cgoto + | + | cif + | + | creturn + | + | cswitch + | + | cwhile + | + | details + | 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. + | + | opname + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | op_to_typename = {70: 'empty', 71: 'block', 72: 'expr', 73: 'if', 74: ... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) -> 'ctype_t' + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) -> 'void' + | _set_op(self, v) + | + | contains_expr(self, *args) -> 'bool' + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) -> 'bool' + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) -> 'citem_t *' + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) -> 'citem_t *' + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) -> 'bool' + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on function cinsn_t_insn_is_epilog in module ida_hexrays: + +cinsn_t_insn_is_epilog(*args) -> 'bool' + cinsn_t_insn_is_epilog(insn) -> bool + +Help on class cinsnptrvec_t in module ida_hexrays: + +class cinsnptrvec_t(builtins.object) + | Proxy of C++ qvector< cinsn_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'cinsn_t *const &' + | __getitem__(self, i) -> cinsn_t + | + | __init__(self, *args) + | __init__(self) -> cinsnptrvec_t + | __init__(self, x) -> cinsnptrvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_cinsnptrvec_t(...) + | delete_cinsnptrvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'cinsn_t *&' + | + | at = __getitem__(self, *args) -> 'cinsn_t *const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< cinsn_t * >::const_iterator' + | begin(self) -> qvector< cinsn_t * >::iterator + | begin(self) -> qvector< cinsn_t * >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< cinsn_t * >::const_iterator' + | end(self) -> qvector< cinsn_t * >::iterator + | end(self) -> qvector< cinsn_t * >::const_iterator + | + | erase(self, *args) -> 'qvector< cinsn_t * >::iterator' + | erase(self, it) -> qvector< cinsn_t * >::iterator + | erase(self, first, last) -> qvector< cinsn_t * >::iterator + | + | extract(self, *args) -> 'cinsn_t **' + | extract(self) -> cinsn_t ** + | + | find(self, *args) -> 'qvector< cinsn_t * >::const_iterator' + | find(self, x) -> qvector< cinsn_t * >::iterator + | find(self, x) -> qvector< cinsn_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< cinsn_t * >::iterator' + | insert(self, it, x) -> qvector< cinsn_t * >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'cinsn_t *&' + | push_back(self, x) + | push_back(self) -> cinsn_t *& + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class citem_cmt_t in module ida_hexrays: + +class citem_cmt_t(builtins.object) + | Proxy of C++ citem_cmt_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> citem_cmt_t + | __init__(self, s) -> citem_cmt_t + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) -> 'char const *' + | __str__(self) -> char const * + | + | __swig_destroy__ = delete_citem_cmt_t(...) + | delete_citem_cmt_t(self) + | + | c_str(self, *args) -> 'char const *' + | c_str(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | used + | citem_cmt_t_used_get(self) -> bool + +Help on class citem_locator_t in module ida_hexrays: + +class citem_locator_t(builtins.object) + | Proxy of C++ citem_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _ea, _op) -> citem_locator_t + | __init__(self, i) -> citem_locator_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_citem_locator_t(...) + | delete_citem_locator_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | citem_locator_t_ea_get(self) -> ea_t + | + | op + | citem_locator_t_op_get(self) -> ctype_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class citem_t in module ida_hexrays: + +class citem_t(builtins.object) + | Proxy of C++ citem_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> citem_t + | __init__(self, o) -> citem_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_citem_t(...) + | delete_citem_t(self) + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) -> 'ctype_t' + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) -> 'void' + | _set_op(self, v) + | + | contains_expr(self, *args) -> 'bool' + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) -> 'bool' + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) -> 'citem_t *' + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) -> 'citem_t *' + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) -> 'bool' + | is_expr(self) -> bool + | + | print1(self, *args) -> 'void' + | print1(self, func) + | + | replace_by(self, o) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | thisown + | The membership flag + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on function citem_to_specific_type in module ida_hexrays: + +citem_to_specific_type(self) + cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on function clear_cached_cfuncs in module ida_hexrays: + +clear_cached_cfuncs(*args) -> 'void' + clear_cached_cfuncs() + + + Flush all cached decompilation results. + +Help on class cloop_t in module ida_hexrays: + +class cloop_t(ceinsn_t) + | Proxy of C++ cloop_t class. + | + | Method resolution order: + | cloop_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cloop_t + | __init__(self, b) -> cloop_t + | __init__(self, r) -> cloop_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cloop_t(...) + | delete_cloop_t(self) + | + | assign(self, *args) -> 'cloop_t &' + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function close_pseudocode in module ida_hexrays: + +close_pseudocode(*args) -> 'bool' + close_pseudocode(f) -> bool + + + Close pseudocode window. + + @param f: pointer to window (C++: TWidget *) + @return: false if failed + +Help on class cnumber_t in module ida_hexrays: + +class cnumber_t(builtins.object) + | Proxy of C++ cnumber_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _opnum=0) -> cnumber_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cnumber_t(...) + | delete_cnumber_t(self) + | + | _print(self, *args) -> 'void' + | _print(self, type, parent=None, nice_stroff=None) + | + | assign(self, *args) -> 'void' + | assign(self, v, nbytes, sign) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | value(self, *args) -> 'uint64' + | value(self, type) -> uint64 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _value + | cnumber_t__value_get(self) -> uint64 + | + | nf + | cnumber_t_nf_get(self) -> number_format_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class codegen_t in module ida_hexrays: + +class codegen_t(builtins.object) + | Proxy of C++ codegen_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, m) -> codegen_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_codegen_t(...) + | delete_codegen_t(self) + | + | analyze_prolog(self, *args) -> 'merror_t' + | analyze_prolog(self, fc, reachable) -> merror_t + | + | emit(self, *args) -> 'minsn_t *' + | emit(self, code, width, l, r, d, offsize) -> minsn_t + | emit(self, code, l, r, d) -> minsn_t + | + | emit_micro_mvm(self, *args) -> 'minsn_t *' + | emit_micro_mvm(self, code, dtype, l, r, d, offsize) -> minsn_t + | + | gen_micro(self, *args) -> 'merror_t' + | gen_micro(self) -> merror_t + | + | load_operand(self, *args) -> 'mreg_t' + | load_operand(self, opnum) -> mreg_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ignore_micro + | codegen_t_ignore_micro_get(self) -> char + | + | ii + | codegen_t_ii_get(self) -> cdg_insn_iterator_t + | + | insn + | codegen_t_insn_get(self) -> insn_t * + | + | mb + | codegen_t_mb_get(self) -> mblock_t + | + | mba + | codegen_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + +Help on function convert_to_user_call in module ida_hexrays: + +convert_to_user_call(*args) -> 'merror_t' + convert_to_user_call(udc, cdg) -> merror_t + + + try to generate user-defined call for an instruction + + @param udc (C++: const udcall_t &) + @param cdg (C++: codegen_t &) + @return: Microcode error codes code: MERR_OK - user-defined call + generated else - error (MERR_INSN == inacceptable udc.tif) + +Help on function create_field_name in module ida_hexrays: + +create_field_name(*args) -> 'qstring' + create_field_name(type, offset=BADADDR) -> qstring + +Help on function create_helper in module ida_hexrays: + +create_helper(*args) + +Help on function create_typedef in module ida_hexrays: + +create_typedef(*args) -> 'tinfo_t' + create_typedef(name) -> tinfo_t + create_typedef(n) -> tinfo_t + + + Create a reference to a named type. + + @param name: type name (C++: const char *) + @return: type which refers to the specified name. For example, if name + is "DWORD", the type info which refers to "DWORD" is created. + +Help on class creturn_t in module ida_hexrays: + +class creturn_t(ceinsn_t) + | Proxy of C++ creturn_t class. + | + | Method resolution order: + | creturn_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> creturn_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_creturn_t(...) + | delete_creturn_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class cswitch_t in module ida_hexrays: + +class cswitch_t(ceinsn_t) + | Proxy of C++ cswitch_t class. + | + | Method resolution order: + | cswitch_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cswitch_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cswitch_t(...) + | delete_cswitch_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cases + | cswitch_t_cases_get(self) -> ccases_t + | + | mvnf + | cswitch_t_mvnf_get(self) -> cnumber_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class ctext_position_t in module ida_hexrays: + +class ctext_position_t(builtins.object) + | Proxy of C++ ctext_position_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _lnnum=-1, _x=0, _y=0) -> ctext_position_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ctext_position_t(...) + | delete_ctext_position_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | in_ctree(self, *args) -> 'bool' + | in_ctree(self, hdrlines) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | ctext_position_t_lnnum_get(self) -> int + | + | thisown + | The membership flag + | + | x + | ctext_position_t_x_get(self) -> int + | + | y + | ctext_position_t_y_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class ctree_anchor_t in module ida_hexrays: + +class ctree_anchor_t(builtins.object) + | Proxy of C++ ctree_anchor_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ctree_anchor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ctree_anchor_t(...) + | delete_ctree_anchor_t(self) + | + | get_index(self, *args) -> 'int' + | get_index(self) -> int + | + | get_itp(self, *args) -> 'item_preciser_t' + | get_itp(self) -> item_preciser_t + | + | is_blkcmt_anchor(self, *args) -> 'bool' + | is_blkcmt_anchor(self) -> bool + | + | is_citem_anchor(self, *args) -> 'bool' + | is_citem_anchor(self) -> bool + | + | is_itp_anchor(self, *args) -> 'bool' + | is_itp_anchor(self) -> bool + | + | is_lvar_anchor(self, *args) -> 'bool' + | is_lvar_anchor(self) -> bool + | + | is_valid_anchor(self, *args) -> 'bool' + | is_valid_anchor(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | value + | ctree_anchor_t_value_get(self) -> uval_t + +Help on class ctree_item_t in module ida_hexrays: + +class ctree_item_t(builtins.object) + | Proxy of C++ ctree_item_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ctree_item_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ctree_item_t(...) + | delete_ctree_item_t(self) + | + | _get_e(self, *args) -> 'cexpr_t *' + | _get_e(self) -> cexpr_t + | + | _get_f(self, *args) -> 'cfunc_t *' + | _get_f(self) -> cfunc_t + | + | _get_i(self, *args) -> 'cinsn_t *' + | _get_i(self) -> cinsn_t + | + | _get_it(self, *args) -> 'citem_t *' + | _get_it(self) -> citem_t + | + | _get_l(self, *args) -> 'lvar_t *' + | _get_l(self) -> lvar_t + | + | get_ea(self, *args) -> 'ea_t' + | get_ea(self) -> ea_t + | + | get_label_num(self, *args) -> 'int' + | get_label_num(self, gln_flags) -> int + | + | get_lvar(self, *args) -> 'lvar_t *' + | get_lvar(self) -> lvar_t + | + | get_memptr(self, *args) -> 'member_t *' + | get_memptr(self, p_sptr=None) -> member_t * + | + | is_citem(self, *args) -> 'bool' + | is_citem(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | citype + | ctree_item_t_citype_get(self) -> cursor_item_type_t + | + | e + | + | f + | + | i + | + | it + | + | l + | + | loc + | ctree_item_t_loc_get(self) -> treeloc_t + | + | thisown + | The membership flag + +Help on class ctree_items_t in module ida_hexrays: + +class ctree_items_t(builtins.object) + | Proxy of C++ qvector< citem_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'citem_t *const &' + | __getitem__(self, i) -> citem_t + | + | __init__(self, *args) + | __init__(self) -> ctree_items_t + | __init__(self, x) -> ctree_items_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_ctree_items_t(...) + | delete_ctree_items_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'citem_t *&' + | + | at = __getitem__(self, *args) -> 'citem_t *const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< citem_t * >::const_iterator' + | begin(self) -> qvector< citem_t * >::iterator + | begin(self) -> qvector< citem_t * >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< citem_t * >::const_iterator' + | end(self) -> qvector< citem_t * >::iterator + | end(self) -> qvector< citem_t * >::const_iterator + | + | erase(self, *args) -> 'qvector< citem_t * >::iterator' + | erase(self, it) -> qvector< citem_t * >::iterator + | erase(self, first, last) -> qvector< citem_t * >::iterator + | + | extract(self, *args) -> 'citem_t **' + | extract(self) -> citem_t ** + | + | find(self, *args) -> 'qvector< citem_t * >::const_iterator' + | find(self, x) -> qvector< citem_t * >::iterator + | find(self, x) -> qvector< citem_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< citem_t * >::iterator' + | insert(self, it, x) -> qvector< citem_t * >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'citem_t *&' + | push_back(self, x) + | push_back(self) -> citem_t *& + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class ctree_parentee_t in module ida_hexrays: + +class ctree_parentee_t(ctree_visitor_t) + | Proxy of C++ ctree_parentee_t class. + | + | Method resolution order: + | ctree_parentee_t + | ctree_visitor_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, post=False) -> ctree_parentee_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ctree_parentee_t(...) + | delete_ctree_parentee_t(self) + | + | recalc_parent_types(self, *args) -> 'bool' + | recalc_parent_types(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_visitor_t: + | + | apply_to(self, *args) -> 'int' + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) -> 'int' + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) -> 'void' + | clr_prune(self) + | + | clr_restart(self, *args) -> 'void' + | clr_restart(self) + | + | is_postorder(self, *args) -> 'bool' + | is_postorder(self) -> bool + | + | leave_expr(self, *args) -> 'int' + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) -> 'int' + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) -> 'bool' + | maintain_parents(self) -> bool + | + | must_prune(self, *args) -> 'bool' + | must_prune(self) -> bool + | + | must_restart(self, *args) -> 'bool' + | must_restart(self) -> bool + | + | only_insns(self, *args) -> 'bool' + | only_insns(self) -> bool + | + | parent_expr(self, *args) -> 'cexpr_t *' + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) -> 'cinsn_t *' + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) -> 'void' + | prune_now(self) + | + | set_restart(self, *args) -> 'void' + | set_restart(self) + | + | visit_expr(self, *args) -> 'int' + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) -> 'int' + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctree_visitor_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + +Help on class ctree_visitor_t in module ida_hexrays: + +class ctree_visitor_t(builtins.object) + | Proxy of C++ ctree_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags) -> ctree_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ctree_visitor_t(...) + | delete_ctree_visitor_t(self) + | + | apply_to(self, *args) -> 'int' + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) -> 'int' + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) -> 'void' + | clr_prune(self) + | + | clr_restart(self, *args) -> 'void' + | clr_restart(self) + | + | is_postorder(self, *args) -> 'bool' + | is_postorder(self) -> bool + | + | leave_expr(self, *args) -> 'int' + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) -> 'int' + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) -> 'bool' + | maintain_parents(self) -> bool + | + | must_prune(self, *args) -> 'bool' + | must_prune(self) -> bool + | + | must_restart(self, *args) -> 'bool' + | must_restart(self) -> bool + | + | only_insns(self, *args) -> 'bool' + | only_insns(self) -> bool + | + | parent_expr(self, *args) -> 'cexpr_t *' + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) -> 'cinsn_t *' + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) -> 'void' + | prune_now(self) + | + | set_restart(self, *args) -> 'void' + | set_restart(self) + | + | visit_expr(self, *args) -> 'int' + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) -> 'int' + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + | + | thisown + | The membership flag + +Help on class cwhile_t in module ida_hexrays: + +class cwhile_t(cloop_t) + | Proxy of C++ cwhile_t class. + | + | Method resolution order: + | cwhile_t + | cloop_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cwhile_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cwhile_t(...) + | delete_cwhile_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) -> 'cloop_t &' + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function debug_hexrays_ctree in module ida_hexrays: + +debug_hexrays_ctree(*args) -> 'void' + debug_hexrays_ctree(msg) + +Help on function decompile in module ida_hexrays: + +decompile(ea, hf=None, flags=0) + # --------------------------------------------------------------------- + +Help on function decompile_func in module ida_hexrays: + +decompile_func(*args) -> 'cfuncptr_t' + decompile_func(pfn, hf, flags=0) -> cfuncptr_t + + + Decompile a function. Multiple decompilations of the same function + return the same object. + + @param pfn: pointer to function to decompile (C++: func_t *) + @param hf: extended error information (if failed) (C++: + hexrays_failure_t *) + @param flags: bitwise combination of decompile() flags ... bits (C++: + int) + @return: pointer to the decompilation result (a reference counted + pointer). NULL if failed. + +Help on function decompile_many in module ida_hexrays: + +decompile_many(*args) -> 'bool' + decompile_many(outfile, funcaddrs, flags) -> bool + + + Batch decompilation. Decompile all or the specified functions + + @param outfile: name of the output file (C++: const char *) + @param funcaddrs: list of functions to decompile. If NULL or empty, + then decompile all nonlib functions (C++: const + eavec_t *) + @param flags: Batch decompilation bits (C++: int) + @return: true if no internal error occurred and the user has not + cancelled decompilation + +Help on function dereference in module ida_hexrays: + +dereference(e, ptrsize, is_float=False) + +Help on function dstr in module ida_hexrays: + +dstr(*args) -> 'char const *' + 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 *) + +Help on function dummy_ptrtype in module ida_hexrays: + +dummy_ptrtype(*args) -> 'tinfo_t' + dummy_ptrtype(ptrsize, isfp) -> tinfo_t + + + Generate a dummy pointer type + + @param ptrsize: size of pointed object (C++: int) + @param isfp: is floating point object? (C++: bool) + +Help on function eamap_begin in module ida_hexrays: + +eamap_begin(*args) -> 'eamap_iterator_t' + eamap_begin(map) -> eamap_iterator_t + + + Get iterator pointing to the beginning of eamap_t. + + + @param map (C++: const eamap_t *) + +Help on function eamap_clear in module ida_hexrays: + +eamap_clear(*args) -> 'void' + eamap_clear(map) + + + Clear eamap_t. + + + @param map (C++: eamap_t *) + +Help on function eamap_end in module ida_hexrays: + +eamap_end(*args) -> 'eamap_iterator_t' + eamap_end(map) -> eamap_iterator_t + + + Get iterator pointing to the end of eamap_t. + + + @param map (C++: const eamap_t *) + +Help on function eamap_erase in module ida_hexrays: + +eamap_erase(*args) -> 'void' + eamap_erase(map, p) + + + Erase current element from eamap_t. + + + @param map (C++: eamap_t *) + @param p (C++: eamap_iterator_t) + +Help on function eamap_find in module ida_hexrays: + +eamap_find(*args) -> 'eamap_iterator_t' + eamap_find(map, key) -> eamap_iterator_t + + + Find the specified key in eamap_t. + + + @param map (C++: const eamap_t *) + @param key (C++: const ea_t &) + +Help on function eamap_first in module ida_hexrays: + +eamap_first(*args) -> 'ea_t const &' + eamap_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_free in module ida_hexrays: + +eamap_free(*args) -> 'void' + eamap_free(map) + + + Delete eamap_t instance. + + + @param map (C++: eamap_t *) + +Help on function eamap_insert in module ida_hexrays: + +eamap_insert(*args) -> 'eamap_iterator_t' + 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 &) + @param val (C++: const cinsnptrvec_t &) + +Help on class eamap_iterator_t in module ida_hexrays: + +class eamap_iterator_t(builtins.object) + | Proxy of C++ eamap_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> eamap_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_eamap_iterator_t(...) + | delete_eamap_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | eamap_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function eamap_new in module ida_hexrays: + +eamap_new(*args) -> 'eamap_t *' + eamap_new() -> eamap_t + + + Create a new eamap_t instance. + +Help on function eamap_next in module ida_hexrays: + +eamap_next(*args) -> 'eamap_iterator_t' + eamap_next(p) -> eamap_iterator_t + + + Move to the next element. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_prev in module ida_hexrays: + +eamap_prev(*args) -> 'eamap_iterator_t' + eamap_prev(p) -> eamap_iterator_t + + + Move to the previous element. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_second in module ida_hexrays: + +eamap_second(*args) -> 'cinsnptrvec_t &' + eamap_second(p) -> cinsnptrvec_t + + + Get reference to the current map value. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_size in module ida_hexrays: + +eamap_size(*args) -> 'size_t' + eamap_size(map) -> size_t + + + Get size of eamap_t. + + + @param map (C++: eamap_t *) + +Help on class eamap_t in module ida_hexrays: + +class eamap_t(builtins.object) + | Proxy of C++ std::map< ea_t,cinsnptrvec_t > class. + | + | Methods defined here: + | + | __begin = eamap_begin(...) + | eamap_begin(map) -> eamap_iterator_t + | + | __clear = eamap_clear(...) + | eamap_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = eamap_end(...) + | eamap_end(map) -> eamap_iterator_t + | + | __erase = eamap_erase(...) + | eamap_erase(map, p) + | + | __find = eamap_find(...) + | eamap_find(map, key) -> eamap_iterator_t + | + | __first = eamap_first(...) + | eamap_first(p) -> ea_t const & + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> eamap_t + | + | __insert = eamap_insert(...) + | eamap_insert(map, key, val) -> eamap_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = eamap_next(...) + | eamap_next(p) -> eamap_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = eamap_second(...) + | eamap_second(p) -> cinsnptrvec_t + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = eamap_size(...) + | eamap_size(map) -> size_t + | + | __swig_destroy__ = delete_eamap_t(...) + | delete_eamap_t(self) + | + | at(self, *args) -> 'cinsnptrvec_t &' + | at(self, _Keyval) -> cinsnptrvec_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = + | int(x=0) -> 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 + | + | valuetype = + | Proxy of C++ qvector< cinsn_t * > class. + +Help on class fnum_array in module ida_hexrays: + +class fnum_array(builtins.object) + | Proxy of C++ wrapped_array_t< uint16,6 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'unsigned short const &' + | __getitem__(self, i) -> unsigned short const & + | + | __init__(self, *args) + | __init__(self, data) -> fnum_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_fnum_array(...) + | delete_fnum_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | fnum_array_data_get(self) -> unsigned short (&)[6] + | + | thisown + | The membership flag + +Help on class fnumber_t in module ida_hexrays: + +class fnumber_t(builtins.object) + | Proxy of C++ fnumber_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> fnumber_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_fnumber_t(...) + | delete_fnumber_t(self) + | + | _fnumber_t__get_fnum = __get_fnum(self, *args) -> 'wrapped_array_t< uint16,6 >' + | __get_fnum(self) -> fnum_array + | + | _print(self, *args) -> 'void' + | _print(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | dereference_const_uint16(self, *args) -> 'uint16 const *' + | dereference_const_uint16(self) -> uint16 const * + | + | dereference_uint16(self, *args) -> 'uint16 *' + | dereference_uint16(self) -> uint16 * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fnum + | __get_fnum(self) -> fnum_array + | + | nbytes + | fnumber_t_nbytes_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class gco_info_t in module ida_hexrays: + +class gco_info_t(builtins.object) + | Proxy of C++ gco_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> gco_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_gco_info_t(...) + | delete_gco_info_t(self) + | + | append_to_list(self, *args) -> 'bool' + | append_to_list(self, list, mba) -> bool + | + | is_def(self, *args) -> 'bool' + | is_def(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_use(self, *args) -> 'bool' + | is_use(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | gco_info_t_flags_get(self) -> int + | + | name + | gco_info_t_name_get(self) -> qstring * + | + | size + | gco_info_t_size_get(self) -> int + | + | thisown + | The membership flag + +Help on function gen_microcode in module ida_hexrays: + +gen_microcode(*args) -> 'mbl_array_t *' + gen_microcode(mbr, hf, retlist=None, flags=0, reqmat=MMAT_GLBOPT3) -> mbl_array_t + + + Generate microcode of an arbitrary code snippet + + @param mbr: snippet ranges (C++: const mba_ranges_t &) + @param hf: extended error information (if failed) (C++: + hexrays_failure_t *) + @param retlist: list of registers the snippet returns (C++: const + mlist_t *) + @param flags: bitwise combination of decompile() flags ... bits (C++: + int) + @param reqmat: required microcode maturity (C++: mba_maturity_t) + @return: pointer to the microcode, NULL if failed. + +Help on function get_ctype_name in module ida_hexrays: + +get_ctype_name(*args) -> 'char const *' + get_ctype_name(op) -> char const * + +Help on function get_current_operand in module ida_hexrays: + +get_current_operand(*args) -> 'bool' + 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 + return true. + + @param out (C++: gco_info_t *) + +Help on function get_float_type in module ida_hexrays: + +get_float_type(*args) -> 'tinfo_t' + get_float_type(width) -> tinfo_t + + + Get a type of a floating point value with the specified width + + @param width: width of the desired type (C++: int) + @return: type info object + +Help on function get_hexrays_version in module ida_hexrays: + +get_hexrays_version(*args) -> 'char const *' + 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" + +Help on function get_int_type_by_width_and_sign in module ida_hexrays: + +get_int_type_by_width_and_sign(*args) -> 'tinfo_t' + 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: size of the type in bytes (C++: int) + @param sign: sign of the type (C++: type_sign_t) + +Help on function get_member_type in module ida_hexrays: + +get_member_type(*args) -> 'bool' + get_member_type(mptr, type) -> bool + + + Get type of a structure field. This function performs validity checks + of the field type. Wrong types are rejected. + + @param mptr: structure field (C++: const member_t *) + @param type: pointer to the variable where the type is returned. This + parameter can be NULL. (C++: tinfo_t *) + @return: false if failed + +Help on function get_merror_desc in module ida_hexrays: + +get_merror_desc(*args) -> 'qstring *' + get_merror_desc(code, mba) -> str + + + Get textual description of an error code + + @param code: Microcode error codes (C++: merror_t) + @param mba: the microcode array (C++: mbl_array_t *) + @return: the error address + +Help on function get_mreg_name in module ida_hexrays: + +get_mreg_name(*args) -> 'qstring *' + get_mreg_name(reg, width, ud=None) -> str + + + Get the microregister name + + @param reg (C++: mreg_t) + @param width: size of microregister in bytes. may be bigger than the + real register size. (C++: int) + @param ud: reserved, must be nullptr (C++: void *) + @return: width of the printed register. this value may be less than + the WIDTH argument. + +Help on function get_op_signness in module ida_hexrays: + +get_op_signness(*args) -> 'type_sign_t' + get_op_signness(op) -> type_sign_t + + + Get operator sign. Meaningful for sign-dependent operators, like + cot_sdiv. + + + @param op (C++: ctype_t) + +Help on function get_signed_mcode in module ida_hexrays: + +get_signed_mcode(*args) -> 'mcode_t' + get_signed_mcode(code) -> mcode_t + +Help on function get_temp_regs in module ida_hexrays: + +get_temp_regs(*args) -> 'mlist_t const &' + 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. + +Help on function get_type in module ida_hexrays: + +get_type(*args) -> 'bool' + get_type(id, tif, guess) -> bool + + + Get a global type. Global types are types of addressable objects and + struct/union/enum types + + @param id: address or id of the object (C++: uval_t) + @param tif: buffer for the answer (C++: tinfo_t *) + @param guess: what kind of types to consider (C++: type_source_t) + @return: success + +Help on function get_unk_type in module ida_hexrays: + +get_unk_type(*args) -> 'tinfo_t' + 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: size of the type in bytes (C++: int) + +Help on function get_unsigned_mcode in module ida_hexrays: + +get_unsigned_mcode(*args) -> 'mcode_t' + get_unsigned_mcode(code) -> mcode_t + +Help on function get_widget_vdui in module ida_hexrays: + +get_widget_vdui(*args) -> 'vdui_t *' + get_widget_vdui(f) -> vdui_t + + + Get the 'vdui_t' instance associated to the TWidget + + @param f: pointer to window (C++: TWidget *) + @return: a vdui_t *, or NULL + +Help on function getb_reginsn in module ida_hexrays: + +getb_reginsn(*args) -> 'minsn_t *' + getb_reginsn(ins) -> minsn_t + + + Skip assertions backward. + + + @param ins (C++: const minsn_t *) + +Help on function getf_reginsn in module ida_hexrays: + +getf_reginsn(*args) -> 'minsn_t *' + getf_reginsn(ins) -> minsn_t + + + Skip assertions forward. + + + @param ins (C++: const minsn_t *) + +Help on class graph_chains_t in module ida_hexrays: + +class graph_chains_t(block_chains_vec_t) + | Proxy of C++ graph_chains_t class. + | + | Method resolution order: + | graph_chains_t + | block_chains_vec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> graph_chains_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_chains_t(...) + | delete_graph_chains_t(self) + | + | acquire(self, *args) -> 'void' + | acquire(self) + | + | for_all_chains(self, *args) -> 'int' + | for_all_chains(self, cv, gca_flags) -> int + | + | is_locked(self, *args) -> 'bool' + | is_locked(self) -> bool + | + | release(self, *args) -> 'void' + | release(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from block_chains_vec_t: + | + | __getitem__(self, *args) -> 'block_chains_t const &' + | __getitem__(self, i) -> block_chains_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | at(self, *args) -> 'block_chains_t const &' + | at(self, _idx) -> block_chains_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< block_chains_t >::const_iterator' + | begin(self) -> block_chains_t + | begin(self) -> block_chains_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< block_chains_t >::const_iterator' + | end(self) -> block_chains_t + | end(self) -> block_chains_t + | + | erase(self, *args) -> 'qvector< block_chains_t >::iterator' + | erase(self, it) -> block_chains_t + | erase(self, first, last) -> block_chains_t + | + | extract(self, *args) -> 'block_chains_t *' + | extract(self) -> block_chains_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=block_chains_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< block_chains_t >::iterator' + | insert(self, it, x) -> block_chains_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'block_chains_t &' + | push_back(self, x) + | push_back(self) -> block_chains_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from block_chains_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function has_cached_cfunc in module ida_hexrays: + +has_cached_cfunc(*args) -> 'bool' + has_cached_cfunc(ea) -> bool + + + Do we have a cached decompilation result for 'ea'? + + + @param ea (C++: ea_t) + +Help on function hexrays_alloc in module ida_hexrays: + +hexrays_alloc(*args) -> 'void *' + hexrays_alloc(size) -> void * + +Help on class hexrays_failure_t in module ida_hexrays: + +class hexrays_failure_t(builtins.object) + | Proxy of C++ hexrays_failure_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> hexrays_failure_t + | __init__(self, c, ea, buf=None) -> hexrays_failure_t + | __init__(self, c, ea, buf) -> hexrays_failure_t + | + | __repr__ = _swig_repr(self) + | + | __str__ lambda self + | + | __swig_destroy__ = delete_hexrays_failure_t(...) + | delete_hexrays_failure_t(self) + | + | desc(self, *args) -> 'qstring' + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | hexrays_failure_t_code_get(self) -> merror_t + | + | errea + | hexrays_failure_t_errea_get(self) -> ea_t + | + | str + | hexrays_failure_t_str_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on function hexrays_free in module ida_hexrays: + +hexrays_free(*args) -> 'void' + hexrays_free(ptr) + +Help on class hexwarn_t in module ida_hexrays: + +class hexwarn_t(builtins.object) + | Proxy of C++ hexwarn_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> hexwarn_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_hexwarn_t(...) + | delete_hexwarn_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | hexwarn_t_ea_get(self) -> ea_t + | + | id + | hexwarn_t_id_get(self) -> warnid_t + | + | text + | hexwarn_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class hexwarns_t in module ida_hexrays: + +class hexwarns_t(builtins.object) + | Proxy of C++ qvector< hexwarn_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'hexwarn_t const &' + | __getitem__(self, i) -> hexwarn_t + | + | __init__(self, *args) + | __init__(self) -> hexwarns_t + | __init__(self, x) -> hexwarns_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_hexwarns_t(...) + | delete_hexwarns_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'hexwarn_t &' + | + | at = __getitem__(self, *args) -> 'hexwarn_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< hexwarn_t >::const_iterator' + | begin(self) -> hexwarn_t + | begin(self) -> hexwarn_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< hexwarn_t >::const_iterator' + | end(self) -> hexwarn_t + | end(self) -> hexwarn_t + | + | erase(self, *args) -> 'qvector< hexwarn_t >::iterator' + | erase(self, it) -> hexwarn_t + | erase(self, first, last) -> hexwarn_t + | + | extract(self, *args) -> 'hexwarn_t *' + | extract(self) -> hexwarn_t + | + | find(self, *args) -> 'qvector< hexwarn_t >::const_iterator' + | find(self, x) -> hexwarn_t + | find(self, x) -> hexwarn_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=hexwarn_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< hexwarn_t >::iterator' + | insert(self, it, x) -> hexwarn_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'hexwarn_t &' + | push_back(self, x) + | push_back(self) -> hexwarn_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class history_item_t in module ida_hexrays: + +class history_item_t(ctext_position_t) + | Proxy of C++ history_item_t class. + | + | Method resolution order: + | history_item_t + | ctext_position_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea=BADADDR, _lnnum=-1, _x=0, _y=0) -> history_item_t + | __init__(self, _ea, p) -> history_item_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_history_item_t(...) + | delete_history_item_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ea + | history_item_t_ea_get(self) -> ea_t + | + | end + | history_item_t_end_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ctext_position_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | in_ctree(self, *args) -> 'bool' + | in_ctree(self, hdrlines) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctext_position_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | ctext_position_t_lnnum_get(self) -> int + | + | x + | ctext_position_t_x_get(self) -> int + | + | y + | ctext_position_t_y_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ctext_position_t: + | + | __hash__ = None + +Help on class history_t in module ida_hexrays: + +class history_t(qvector_history_t) + | Proxy of C++ qstack< history_item_t > class. + | + | Method resolution order: + | history_t + | qvector_history_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> history_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_history_t(...) + | delete_history_t(self) + | + | append = push_back(self, *args) -> 'history_item_t &' + | push_back(self, x) + | push_back(self) -> history_item_t + | + | at = __getitem__(self, *args) -> 'history_item_t const &' + | __getitem__(self, i) -> history_item_t + | + | pop(self, *args) -> 'history_item_t' + | pop(self) -> history_item_t + | + | push(self, *args) -> 'void' + | push(self, v) + | + | top(self, *args) -> 'history_item_t &' + | top(self) -> history_item_t + | top(self) -> history_item_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_history_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'history_item_t const &' + | __getitem__(self, i) -> history_item_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< history_item_t >::const_iterator' + | begin(self) -> history_item_t + | begin(self) -> history_item_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< history_item_t >::const_iterator' + | end(self) -> history_item_t + | end(self) -> history_item_t + | + | erase(self, *args) -> 'qvector< history_item_t >::iterator' + | erase(self, it) -> history_item_t + | erase(self, first, last) -> history_item_t + | + | extract(self, *args) -> 'history_item_t *' + | extract(self) -> history_item_t + | + | find(self, *args) -> 'qvector< history_item_t >::const_iterator' + | find(self, x) -> history_item_t + | find(self, x) -> history_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=history_item_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< history_item_t >::iterator' + | insert(self, it, x) -> history_item_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'history_item_t &' + | push_back(self, x) + | push_back(self) -> history_item_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_history_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from qvector_history_t: + | + | __hash__ = None + +Help on function init_hexrays_plugin in module ida_hexrays: + +init_hexrays_plugin(*args) -> 'bool' + init_hexrays_plugin(flags=0) -> bool + + + Initialize your plugin for hex-rays decompiler. This function must be + called before calling any other decompiler function. It initializes + the pointer to the dispatcher. + + @param flags: reserved, must be 0 (C++: int) + @return: true if the decompiler exists and the dispatcher pointer is + ready to use. + +Help on function install_hexrays_callback in module ida_hexrays: + +install_hexrays_callback(callback) + Deprecated. Please use Hexrays_Hooks instead + +Help on function install_microcode_filter in module ida_hexrays: + +install_microcode_filter(*args) -> 'void' + install_microcode_filter(filter, install=True) + + + register/unregister non-standard microcode generator + + @param filter: - microcode generator object (C++: microcode_filter_t + *) + @param install: - TRUE - register the object, FALSE - unregister (C++: + bool) + +Help on function is_additive in module ida_hexrays: + +is_additive(*args) -> 'bool' + is_additive(op) -> bool + + + Is additive operator? + + + @param op (C++: ctype_t) + +Help on function is_assignment in module ida_hexrays: + +is_assignment(*args) -> 'bool' + is_assignment(op) -> bool + + + Is assignment operator? + + + @param op (C++: ctype_t) + +Help on function is_binary in module ida_hexrays: + +is_binary(*args) -> 'bool' + is_binary(op) -> bool + + + Is binary operator? + + + @param op (C++: ctype_t) + +Help on function is_bitop in module ida_hexrays: + +is_bitop(*args) -> 'bool' + is_bitop(op) -> bool + + + Is bit related operator? + + + @param op (C++: ctype_t) + +Help on function is_bool_type in module ida_hexrays: + +is_bool_type(*args) -> 'bool' + is_bool_type(type) -> bool + + + Is a boolean type? + + @param type (C++: const tinfo_t &) + @return: true if the type is a boolean type + +Help on function is_break_consumer in module ida_hexrays: + +is_break_consumer(*args) -> 'bool' + is_break_consumer(op) -> bool + + + Does a break statement influence the specified statement code? + + + @param op (C++: ctype_t) + +Help on function is_commutative in module ida_hexrays: + +is_commutative(*args) -> 'bool' + is_commutative(op) -> bool + + + Is commutative operator? + + + @param op (C++: ctype_t) + +Help on function is_inplace_def in module ida_hexrays: + +is_inplace_def(*args) -> 'bool' + is_inplace_def(type) -> bool + + + Is struct/union/enum definition (not declaration)? + + + @param type (C++: const tinfo_t &) + +Help on function is_kreg in module ida_hexrays: + +is_kreg(*args) -> 'bool' + is_kreg(r) -> bool + + + Is a kernel register? + + + @param r (C++: mreg_t) + +Help on function is_logical in module ida_hexrays: + +is_logical(*args) -> 'bool' + is_logical(op) -> bool + + + Is logical operator? + + + @param op (C++: ctype_t) + +Help on function is_loop in module ida_hexrays: + +is_loop(*args) -> 'bool' + is_loop(op) -> bool + + + Is loop statement code? + + + @param op (C++: ctype_t) + +Help on function is_lvalue in module ida_hexrays: + +is_lvalue(*args) -> 'bool' + is_lvalue(op) -> bool + + + Is Lvalue operator? + + + @param op (C++: ctype_t) + +Help on function is_may_access in module ida_hexrays: + +is_may_access(*args) -> 'bool' + is_may_access(maymust) -> bool + +Help on function is_mcode_addsub in module ida_hexrays: + +is_mcode_addsub(*args) -> 'bool' + is_mcode_addsub(mcode) -> bool + +Help on function is_mcode_call in module ida_hexrays: + +is_mcode_call(*args) -> 'bool' + is_mcode_call(mcode) -> bool + +Help on function is_mcode_commutative in module ida_hexrays: + +is_mcode_commutative(*args) -> 'bool' + is_mcode_commutative(mcode) -> bool + +Help on function is_mcode_convertible_to_jmp in module ida_hexrays: + +is_mcode_convertible_to_jmp(*args) -> 'bool' + is_mcode_convertible_to_jmp(mcode) -> bool + +Help on function is_mcode_convertible_to_set in module ida_hexrays: + +is_mcode_convertible_to_set(*args) -> 'bool' + is_mcode_convertible_to_set(mcode) -> bool + +Help on function is_mcode_divmod in module ida_hexrays: + +is_mcode_divmod(*args) -> 'bool' + is_mcode_divmod(op) -> bool + +Help on function is_mcode_fpu in module ida_hexrays: + +is_mcode_fpu(*args) -> 'bool' + is_mcode_fpu(mcode) -> bool + +Help on function is_mcode_j1 in module ida_hexrays: + +is_mcode_j1(*args) -> 'bool' + is_mcode_j1(mcode) -> bool + +Help on function is_mcode_jcond in module ida_hexrays: + +is_mcode_jcond(*args) -> 'bool' + is_mcode_jcond(mcode) -> bool + +Help on function is_mcode_propagatable in module ida_hexrays: + +is_mcode_propagatable(*args) -> 'bool' + 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) + +Help on function is_mcode_set in module ida_hexrays: + +is_mcode_set(*args) -> 'bool' + is_mcode_set(mcode) -> bool + +Help on function is_mcode_set1 in module ida_hexrays: + +is_mcode_set1(*args) -> 'bool' + is_mcode_set1(mcode) -> bool + +Help on function is_mcode_shift in module ida_hexrays: + +is_mcode_shift(*args) -> 'bool' + is_mcode_shift(mcode) -> bool + +Help on function is_mcode_xdsu in module ida_hexrays: + +is_mcode_xdsu(*args) -> 'bool' + is_mcode_xdsu(mcode) -> bool + +Help on function is_multiplicative in module ida_hexrays: + +is_multiplicative(*args) -> 'bool' + is_multiplicative(op) -> bool + + + Is multiplicative operator? + + + @param op (C++: ctype_t) + +Help on function is_nonbool_type in module ida_hexrays: + +is_nonbool_type(*args) -> 'bool' + is_nonbool_type(type) -> bool + + + Is definitely a non-boolean type? + + @param type (C++: const tinfo_t &) + @return: true if the type is a non-boolean type (non bool and well + defined) + +Help on function is_paf in module ida_hexrays: + +is_paf(*args) -> 'bool' + is_paf(t) -> bool + + + Is a pointer, array, or function type? + + + @param t (C++: type_t) + +Help on function is_prepost in module ida_hexrays: + +is_prepost(*args) -> 'bool' + is_prepost(op) -> bool + + + Is pre/post increment/decrement operator? + + + @param op (C++: ctype_t) + +Help on function is_ptr_or_array in module ida_hexrays: + +is_ptr_or_array(*args) -> 'bool' + is_ptr_or_array(t) -> bool + + + Is a pointer or array type? + + + @param t (C++: type_t) + +Help on function is_relational in module ida_hexrays: + +is_relational(*args) -> 'bool' + is_relational(op) -> bool + + + Is comparison operator? + + + @param op (C++: ctype_t) + +Help on function is_signed_mcode in module ida_hexrays: + +is_signed_mcode(*args) -> 'bool' + is_signed_mcode(code) -> bool + +Help on function is_small_udt in module ida_hexrays: + +is_small_udt(*args) -> 'bool' + is_small_udt(tif) -> bool + + + Is a small structure or union? + + @param tif (C++: const tinfo_t &) + @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. + +Help on function is_type_correct in module ida_hexrays: + +is_type_correct(*args) -> 'bool' + is_type_correct(ptr) -> bool + + + Verify a type string. + + @param ptr (C++: const type_t *) + @return: true if type string is correct + +Help on function is_unary in module ida_hexrays: + +is_unary(*args) -> 'bool' + is_unary(op) -> bool + + + Is unary operator? + + + @param op (C++: ctype_t) + +Help on function is_unsigned_mcode in module ida_hexrays: + +is_unsigned_mcode(*args) -> 'bool' + is_unsigned_mcode(code) -> bool + +Help on class ivl_t in module ida_hexrays: + +class ivl_t(uval_ivl_t) + | Proxy of C++ ivl_t class. + | + | Method resolution order: + | ivl_t + | uval_ivl_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _off, _size) -> ivl_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ivl_t(...) + | delete_ivl_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, off2) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend_to_cover(self, *args) -> 'bool' + | extend_to_cover(self, r) -> bool + | + | includes(self, *args) -> 'bool' + | includes(self, ivl) -> bool + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlap(self, *args) -> 'bool' + | overlap(self, ivl) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from uval_ivl_t: + | + | end(self, *args) -> 'unsigned-ea-like-numeric-type'↗ + | end(self) -> unsigned-ea-like-numeric-type↗ + | + | last(self, *args) -> 'unsigned-ea-like-numeric-type'↗ + | last(self) -> unsigned-ea-like-numeric-type↗ + | + | valid(self, *args) -> 'bool' + | valid(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from uval_ivl_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type↗ + | + | size + | uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type↗ + +Help on class ivl_with_name_t in module ida_hexrays: + +class ivl_with_name_t(builtins.object) + | Proxy of C++ ivl_with_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ivl_with_name_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ivl_with_name_t(...) + | delete_ivl_with_name_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ivl + | ivl_with_name_t_ivl_get(self) -> ivl_t + | + | part + | ivl_with_name_t_part_get(self) -> char const * + | + | thisown + | The membership flag + | + | whole + | ivl_with_name_t_whole_get(self) -> char const * + +Help on class ivlset_t in module ida_hexrays: + +class ivlset_t(uval_ivl_ivlset_t) + | Proxy of C++ ivlset_t class. + | + | Method resolution order: + | ivlset_t + | uval_ivl_ivlset_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ivlset_t + | __init__(self, ivl) -> ivlset_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ivlset_t(...) + | delete_ivlset_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | add(self, *args) -> 'bool' + | add(self, ivl) -> bool + | add(self, ea, size) -> bool + | add(self, ivs) -> bool + | + | addmasked(self, *args) -> 'bool' + | addmasked(self, ivs, mask) -> bool + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, off) -> bool + | + | count(self, *args) -> 'asize_t' + | count(self) -> asize_t + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | has_common(self, *args) -> 'bool' + | has_common(self, ivl, strict=False) -> bool + | has_common(self, ivs) -> bool + | + | includes(self, *args) -> 'bool' + | includes(self, ivs) -> bool + | + | intersect(self, *args) -> 'bool' + | intersect(self, ivs) -> bool + | + | sub(self, *args) -> 'bool' + | sub(self, ivl) -> bool + | sub(self, ea, size) -> bool + | sub(self, ivs) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from uval_ivl_ivlset_t: + | + | all_values(self, *args) -> 'bool' + | all_values(self) -> bool + | + | begin(self, *args) -> 'ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator'↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator'↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | getivl(self, *args) -> 'ivl_t const &' + | getivl(self, idx) -> ivl_t + | + | lastivl(self, *args) -> 'ivl_t const &' + | lastivl(self) -> ivl_t + | + | nivls(self, *args) -> 'size_t' + | nivls(self) -> size_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | set_all_values(self, *args) -> 'void' + | set_all_values(self) + | + | single_value(self, *args) -> 'bool' + | single_value(self, v) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from uval_ivl_ivlset_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function jcnd2set in module ida_hexrays: + +jcnd2set(*args) -> 'mcode_t' + jcnd2set(code) -> mcode_t + +Help on function lexcompare in module ida_hexrays: + +lexcompare(*args) -> 'int' + lexcompare(a, b) -> int + +Help on function lnot in module ida_hexrays: + +lnot(e) + +Help on class lvar_locator_t in module ida_hexrays: + +class lvar_locator_t(builtins.object) + | Proxy of C++ lvar_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_locator_t + | __init__(self, loc, ea) -> lvar_locator_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_locator_t(...) + | delete_lvar_locator_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | get_reg1(self, *args) -> 'mreg_t' + | get_reg1(self) -> mreg_t + | + | get_reg2(self, *args) -> 'mreg_t' + | get_reg2(self) -> mreg_t + | + | get_scattered(self, *args) -> 'scattered_aloc_t &' + | get_scattered(self) -> scattered_aloc_t + | get_scattered(self) -> scattered_aloc_t + | + | get_stkoff(self, *args) -> 'sval_t' + | get_stkoff(self) -> sval_t + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_reg_var(self, *args) -> 'bool' + | is_reg_var(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stk_var(self, *args) -> 'bool' + | is_stk_var(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | defea + | lvar_locator_t_defea_get(self) -> ea_t + | + | location + | lvar_locator_t_location_get(self) -> vdloc_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function lvar_mapping_begin in module ida_hexrays: + +lvar_mapping_begin(*args) -> 'lvar_mapping_iterator_t' + 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 *) + +Help on function lvar_mapping_clear in module ida_hexrays: + +lvar_mapping_clear(*args) -> 'void' + lvar_mapping_clear(map) + + + Clear lvar_mapping_t. + + + @param map (C++: lvar_mapping_t *) + +Help on function lvar_mapping_end in module ida_hexrays: + +lvar_mapping_end(*args) -> 'lvar_mapping_iterator_t' + 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 *) + +Help on function lvar_mapping_erase in module ida_hexrays: + +lvar_mapping_erase(*args) -> 'void' + 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) + +Help on function lvar_mapping_find in module ida_hexrays: + +lvar_mapping_find(*args) -> 'lvar_mapping_iterator_t' + lvar_mapping_find(map, key) -> lvar_mapping_iterator_t + + + Find the specified key in lvar_mapping_t. + + + @param map (C++: const lvar_mapping_t *) + @param key (C++: const lvar_locator_t &) + +Help on function lvar_mapping_first in module ida_hexrays: + +lvar_mapping_first(*args) -> 'lvar_locator_t const &' + lvar_mapping_first(p) -> lvar_locator_t + + + Get reference to the current map key. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_free in module ida_hexrays: + +lvar_mapping_free(*args) -> 'void' + lvar_mapping_free(map) + + + Delete lvar_mapping_t instance. + + + @param map (C++: lvar_mapping_t *) + +Help on function lvar_mapping_insert in module ida_hexrays: + +lvar_mapping_insert(*args) -> 'lvar_mapping_iterator_t' + 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 &) + @param val (C++: const lvar_locator_t &) + +Help on class lvar_mapping_iterator_t in module ida_hexrays: + +class lvar_mapping_iterator_t(builtins.object) + | Proxy of C++ lvar_mapping_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_mapping_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_mapping_iterator_t(...) + | delete_lvar_mapping_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | lvar_mapping_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function lvar_mapping_new in module ida_hexrays: + +lvar_mapping_new(*args) -> 'lvar_mapping_t *' + lvar_mapping_new() -> lvar_mapping_t + + + Create a new lvar_mapping_t instance. + +Help on function lvar_mapping_next in module ida_hexrays: + +lvar_mapping_next(*args) -> 'lvar_mapping_iterator_t' + lvar_mapping_next(p) -> lvar_mapping_iterator_t + + + Move to the next element. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_prev in module ida_hexrays: + +lvar_mapping_prev(*args) -> 'lvar_mapping_iterator_t' + lvar_mapping_prev(p) -> lvar_mapping_iterator_t + + + Move to the previous element. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_second in module ida_hexrays: + +lvar_mapping_second(*args) -> 'lvar_locator_t &' + lvar_mapping_second(p) -> lvar_locator_t + + + Get reference to the current map value. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_size in module ida_hexrays: + +lvar_mapping_size(*args) -> 'size_t' + lvar_mapping_size(map) -> size_t + + + Get size of lvar_mapping_t. + + + @param map (C++: lvar_mapping_t *) + +Help on class lvar_mapping_t in module ida_hexrays: + +class lvar_mapping_t(builtins.object) + | Proxy of C++ std::map< lvar_locator_t,lvar_locator_t > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvar_mapping_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_mapping_t(...) + | delete_lvar_mapping_t(self) + | + | at(self, *args) -> 'lvar_locator_t &' + | at(self, _Keyval) -> lvar_locator_t + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class lvar_ref_t in module ida_hexrays: + +class lvar_ref_t(builtins.object) + | Proxy of C++ lvar_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, m, i, o=0) -> lvar_ref_t + | __init__(self, r) -> lvar_ref_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_ref_t(...) + | delete_lvar_ref_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | var(self, *args) -> 'lvar_t &' + | var(self) -> lvar_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | idx + | lvar_ref_t_idx_get(self) -> int + | + | mba + | lvar_ref_t_mba_get(self) -> mbl_array_t + | + | off + | lvar_ref_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class lvar_saved_info_t in module ida_hexrays: + +class lvar_saved_info_t(builtins.object) + | Proxy of C++ lvar_saved_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_saved_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_saved_info_t(...) + | delete_lvar_saved_info_t(self) + | + | clear_keep(self, *args) -> 'void' + | clear_keep(self) + | + | clr_forced_lvar(self, *args) -> 'void' + | clr_forced_lvar(self) + | + | clr_nomap_lvar(self, *args) -> 'void' + | clr_nomap_lvar(self) + | + | clr_noptr_lvar(self, *args) -> 'void' + | clr_noptr_lvar(self) + | + | has_info(self, *args) -> 'bool' + | has_info(self) -> bool + | + | is_forced_lvar(self, *args) -> 'bool' + | is_forced_lvar(self) -> bool + | + | is_kept(self, *args) -> 'bool' + | is_kept(self) -> bool + | + | is_nomap_lvar(self, *args) -> 'bool' + | is_nomap_lvar(self) -> bool + | + | is_noptr_lvar(self, *args) -> 'bool' + | is_noptr_lvar(self) -> bool + | + | set_forced_lvar(self, *args) -> 'void' + | set_forced_lvar(self) + | + | set_keep(self, *args) -> 'void' + | set_keep(self) + | + | set_nomap_lvar(self, *args) -> 'void' + | set_nomap_lvar(self) + | + | set_noptr_lvar(self, *args) -> 'void' + | set_noptr_lvar(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | lvar_saved_info_t_cmt_get(self) -> qstring * + | + | flags + | lvar_saved_info_t_flags_get(self) -> int + | + | ll + | lvar_saved_info_t_ll_get(self) -> lvar_locator_t + | + | name + | lvar_saved_info_t_name_get(self) -> qstring * + | + | size + | lvar_saved_info_t_size_get(self) -> ssize_t + | + | thisown + | The membership flag + | + | type + | lvar_saved_info_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class lvar_saved_infos_t in module ida_hexrays: + +class lvar_saved_infos_t(builtins.object) + | Proxy of C++ qvector< lvar_saved_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'lvar_saved_info_t const &' + | __getitem__(self, i) -> lvar_saved_info_t + | + | __init__(self, *args) + | __init__(self) -> lvar_saved_infos_t + | __init__(self, x) -> lvar_saved_infos_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_lvar_saved_infos_t(...) + | delete_lvar_saved_infos_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'lvar_saved_info_t &' + | + | at = __getitem__(self, *args) -> 'lvar_saved_info_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< lvar_saved_info_t >::const_iterator' + | begin(self) -> lvar_saved_info_t + | begin(self) -> lvar_saved_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< lvar_saved_info_t >::const_iterator' + | end(self) -> lvar_saved_info_t + | end(self) -> lvar_saved_info_t + | + | erase(self, *args) -> 'qvector< lvar_saved_info_t >::iterator' + | erase(self, it) -> lvar_saved_info_t + | erase(self, first, last) -> lvar_saved_info_t + | + | extract(self, *args) -> 'lvar_saved_info_t *' + | extract(self) -> lvar_saved_info_t + | + | find(self, *args) -> 'qvector< lvar_saved_info_t >::const_iterator' + | find(self, x) -> lvar_saved_info_t + | find(self, x) -> lvar_saved_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=lvar_saved_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< lvar_saved_info_t >::iterator' + | insert(self, it, x) -> lvar_saved_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'lvar_saved_info_t &' + | push_back(self, x) + | push_back(self) -> lvar_saved_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class lvar_t in module ida_hexrays: + +class lvar_t(lvar_locator_t) + | Proxy of C++ lvar_t class. + | + | Method resolution order: + | lvar_t + | lvar_locator_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | __init__(self) -> lvar_locator_t + | __init__(self, loc, ea) -> lvar_locator_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_t(...) + | delete_lvar_t(self) + | + | accepts_type(self, *args) -> 'bool' + | accepts_type(self, t, may_change_thisarg=False) -> bool + | + | append_list(self, *args) -> 'void' + | append_list(self, lst, pad_if_scattered=False) + | + | clear_used(self, *args) -> 'void' + | clear_used(self) + | + | clr_arg_var(self, *args) -> 'void' + | clr_arg_var(self) + | + | clr_automapped(self, *args) -> 'void' + | clr_automapped(self) + | + | clr_dummy_arg(self, *args) -> 'void' + | clr_dummy_arg(self) + | + | clr_fake_var(self, *args) -> 'void' + | clr_fake_var(self) + | + | clr_floating_var(self, *args) -> 'void' + | clr_floating_var(self) + | + | clr_forced_var(self, *args) -> 'void' + | clr_forced_var(self) + | + | clr_mapdst_var(self, *args) -> 'void' + | clr_mapdst_var(self) + | + | clr_mreg_done(self, *args) -> 'void' + | clr_mreg_done(self) + | + | clr_noptr_var(self, *args) -> 'void' + | clr_noptr_var(self) + | + | clr_notarg(self, *args) -> 'void' + | clr_notarg(self) + | + | clr_overlapped_var(self, *args) -> 'void' + | clr_overlapped_var(self) + | + | clr_spoiled_var(self, *args) -> 'void' + | clr_spoiled_var(self) + | + | clr_thisarg(self, *args) -> 'void' + | clr_thisarg(self) + | + | clr_unknown_width(self, *args) -> 'void' + | clr_unknown_width(self) + | + | clr_user_info(self, *args) -> 'void' + | clr_user_info(self) + | + | clr_user_name(self, *args) -> 'void' + | clr_user_name(self) + | + | clr_user_type(self, *args) -> 'void' + | clr_user_type(self) + | + | has_common(self, *args) -> 'bool' + | has_common(self, v) -> bool + | + | has_common_bit(self, *args) -> 'bool' + | has_common_bit(self, loc, width2) -> bool + | + | has_regname(self, *args) -> 'bool' + | has_regname(self) -> bool + | + | is_aliasable(self, *args) -> 'bool' + | is_aliasable(self, mba) -> bool + | + | is_automapped(self, *args) -> 'bool' + | is_automapped(self) -> bool + | + | is_dummy_arg(self, *args) -> 'bool' + | is_dummy_arg(self) -> bool + | + | is_forced_var(self, *args) -> 'bool' + | is_forced_var(self) -> bool + | + | is_noptr_var(self, *args) -> 'bool' + | is_noptr_var(self) -> bool + | + | is_notarg(self, *args) -> 'bool' + | is_notarg(self) -> bool + | + | is_thisarg(self, *args) -> 'bool' + | is_thisarg(self) -> bool + | + | set_arg_var(self, *args) -> 'void' + | set_arg_var(self) + | + | set_automapped(self, *args) -> 'void' + | set_automapped(self) + | + | set_dummy_arg(self, *args) -> 'void' + | set_dummy_arg(self) + | + | set_fake_var(self, *args) -> 'void' + | set_fake_var(self) + | + | set_final_lvar_type(self, *args) -> 'void' + | set_final_lvar_type(self, t) + | + | set_floating_var(self, *args) -> 'void' + | set_floating_var(self) + | + | set_forced_var(self, *args) -> 'void' + | set_forced_var(self) + | + | set_lvar_type(self, *args) -> 'bool' + | set_lvar_type(self, t, may_fail=False) -> bool + | + | set_mapdst_var(self, *args) -> 'void' + | set_mapdst_var(self) + | + | set_mreg_done(self, *args) -> 'void' + | set_mreg_done(self) + | + | set_non_typed(self, *args) -> 'void' + | set_non_typed(self) + | + | set_noptr_var(self, *args) -> 'void' + | set_noptr_var(self) + | + | set_notarg(self, *args) -> 'void' + | set_notarg(self) + | + | set_overlapped_var(self, *args) -> 'void' + | set_overlapped_var(self) + | + | set_spoiled_var(self, *args) -> 'void' + | set_spoiled_var(self) + | + | set_thisarg(self, *args) -> 'void' + | set_thisarg(self) + | + | set_typed(self, *args) -> 'void' + | set_typed(self) + | + | set_unknown_width(self, *args) -> 'void' + | set_unknown_width(self) + | + | set_used(self, *args) -> 'void' + | set_used(self) + | + | set_user_name(self, *args) -> 'void' + | set_user_name(self) + | + | set_user_type(self, *args) -> 'void' + | set_user_type(self) + | + | set_width(self, *args) -> 'bool' + | set_width(self, w, svw_flags=0) -> bool + | + | type(self, *args) -> 'tinfo_t &' + | type(self) -> tinfo_t + | type(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cmt + | lvar_t_cmt_get(self) -> qstring * + | + | defblk + | lvar_t_defblk_get(self) -> int + | + | divisor + | lvar_t_divisor_get(self) -> uint64 + | + | has_nice_name + | has_nice_name(self) -> bool + | + | has_user_info + | has_user_info(self) -> bool + | + | has_user_name + | has_user_name(self) -> bool + | + | has_user_type + | has_user_type(self) -> bool + | + | is_arg_var + | is_arg_var(self) -> bool + | + | is_fake_var + | is_fake_var(self) -> bool + | + | is_floating_var + | is_floating_var(self) -> bool + | + | is_mapdst_var + | is_mapdst_var(self) -> bool + | + | is_overlapped_var + | is_overlapped_var(self) -> bool + | + | is_result_var + | is_result_var(self) -> bool + | + | is_spoiled_var + | is_spoiled_var(self) -> bool + | + | is_unknown_width + | is_unknown_width(self) -> bool + | + | mreg_done + | mreg_done(self) -> bool + | + | name + | lvar_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tif + | lvar_t_tif_get(self) -> tinfo_t + | + | typed + | typed(self) -> bool + | + | used + | used(self) -> bool + | + | width + | lvar_t_width_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from lvar_locator_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | get_reg1(self, *args) -> 'mreg_t' + | get_reg1(self) -> mreg_t + | + | get_reg2(self, *args) -> 'mreg_t' + | get_reg2(self) -> mreg_t + | + | get_scattered(self, *args) -> 'scattered_aloc_t &' + | get_scattered(self) -> scattered_aloc_t + | get_scattered(self) -> scattered_aloc_t + | + | get_stkoff(self, *args) -> 'sval_t' + | get_stkoff(self) -> sval_t + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_reg_var(self, *args) -> 'bool' + | is_reg_var(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stk_var(self, *args) -> 'bool' + | is_stk_var(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from lvar_locator_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | defea + | lvar_locator_t_defea_get(self) -> ea_t + | + | location + | lvar_locator_t_location_get(self) -> vdloc_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from lvar_locator_t: + | + | __hash__ = None + +Help on class lvar_uservec_t in module ida_hexrays: + +class lvar_uservec_t(builtins.object) + | Proxy of C++ lvar_uservec_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvar_uservec_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_uservec_t(...) + | delete_lvar_uservec_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | find_info(self, *args) -> 'lvar_saved_info_t *' + | find_info(self, vloc) -> lvar_saved_info_t + | + | keep_info(self, *args) -> 'void' + | keep_info(self, v) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lmaps + | lvar_uservec_t_lmaps_get(self) -> lvar_mapping_t + | + | lvvec + | lvar_uservec_t_lvvec_get(self) -> lvar_saved_infos_t + | + | stkoff_delta + | lvar_uservec_t_stkoff_delta_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ulv_flags + | lvar_uservec_t_ulv_flags_get(self) -> int + +Help on class lvars_t in module ida_hexrays: + +class lvars_t(qvector_lvar_t) + | Proxy of C++ lvars_t class. + | + | Method resolution order: + | lvars_t + | qvector_lvar_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvars_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvars_t(...) + | delete_lvars_t(self) + | + | find(self, *args) -> 'lvar_t *' + | find(self, ll) -> lvar_t + | + | find_input_lvar(self, *args) -> 'int' + | find_input_lvar(self, argloc, _size) -> int + | + | find_lvar(self, *args) -> 'int' + | find_lvar(self, location, width, defblk=-1) -> int + | + | find_stkvar(self, *args) -> 'int' + | find_stkvar(self, spoff, width) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_lvar_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'lvar_t const &' + | __getitem__(self, i) -> lvar_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'lvar_t &' + | push_back(self, x) + | push_back(self) -> lvar_t + | + | at = __getitem__(self, *args) -> 'lvar_t const &' + | __getitem__(self, i) -> lvar_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< lvar_t >::const_iterator' + | begin(self) -> lvar_t + | begin(self) -> lvar_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< lvar_t >::const_iterator' + | end(self) -> lvar_t + | end(self) -> lvar_t + | + | erase(self, *args) -> 'qvector< lvar_t >::iterator' + | erase(self, it) -> lvar_t + | erase(self, first, last) -> lvar_t + | + | extract(self, *args) -> 'lvar_t *' + | extract(self) -> lvar_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=lvar_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< lvar_t >::iterator' + | insert(self, it, x) -> lvar_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'lvar_t &' + | push_back(self, x) + | push_back(self) -> lvar_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_lvar_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from qvector_lvar_t: + | + | __hash__ = None + +Help on function make_num in module ida_hexrays: + +make_num(*args) + +Help on function make_pointer in module ida_hexrays: + +make_pointer(*args) -> 'tinfo_t' + make_pointer(type) -> tinfo_t + + + Create a pointer type. This function performs the following + conversion: "type" -> "type*" + + @param type: object type. (C++: const tinfo_t &) + @return: "type*". for example, if 'char' is passed as the argument, + +Help on function make_ref in module ida_hexrays: + +make_ref(e) + +Help on function mark_cfunc_dirty in module ida_hexrays: + +mark_cfunc_dirty(*args) -> 'bool' + mark_cfunc_dirty(ea, close_views=False) -> bool + + + Flush the cached decompilation results. Erases a cache entry for the + specified function. + + @param ea: function to erase from the cache (C++: ea_t) + @param close_views: close pseudocode windows that show the function + (C++: bool) + @return: if a cache entry existed. + +Help on class mba_range_iterator_t in module ida_hexrays: + +class mba_range_iterator_t(builtins.object) + | Proxy of C++ mba_range_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mba_range_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mba_range_iterator_t(...) + | delete_mba_range_iterator_t(self) + | + | chunk(self, *args) -> 'range_t const &' + | chunk(self) -> range_t + | + | is_snippet(self, *args) -> 'bool' + | is_snippet(self) -> bool + | + | next(self, *args) -> 'bool' + | next(self) -> bool + | + | set(self, *args) -> 'bool' + | set(self, mbr) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fii + | mba_range_iterator_t_fii_get(self) -> func_tail_iterator_t + | + | rii + | mba_range_iterator_t_rii_get(self) -> range_chunk_iterator_t * + | + | thisown + | The membership flag + +Help on class mba_ranges_t in module ida_hexrays: + +class mba_ranges_t(builtins.object) + | Proxy of C++ mba_ranges_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _pfn=None) -> mba_ranges_t + | __init__(self, r) -> mba_ranges_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mba_ranges_t(...) + | delete_mba_ranges_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | is_fragmented(self, *args) -> 'bool' + | is_fragmented(self) -> bool + | + | is_snippet(self, *args) -> 'bool' + | is_snippet(self) -> bool + | + | start(self, *args) -> 'ea_t' + | start(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | pfn + | mba_ranges_t_pfn_get(self) -> func_t * + | + | ranges + | mba_ranges_t_ranges_get(self) -> rangevec_t + | + | thisown + | The membership flag + +Help on class mbl_array_t in module ida_hexrays: + +class mbl_array_t(builtins.object) + | Proxy of C++ mbl_array_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mbl_array_t(...) + | delete_mbl_array_t(self) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _print(self, *args) -> 'void' + | _print(self, vp) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | alloc_lvars(self, *args) -> 'void' + | alloc_lvars(self) + | + | analyze_calls(self, *args) -> 'int' + | analyze_calls(self, acflags) -> int + | + | arg(self, *args) -> 'lvar_t const &' + | arg(self, n) -> lvar_t + | arg(self, n) -> lvar_t + | + | argbase(self, *args) -> 'sval_t' + | argbase(self) -> sval_t + | + | argidx_ok(self, *args) -> 'bool' + | argidx_ok(self) -> bool + | + | bad_call_sp_detected(self, *args) -> 'bool' + | bad_call_sp_detected(self) -> bool + | + | build_graph(self, *args) -> 'merror_t' + | build_graph(self) -> merror_t + | + | calc_shins_flags(self, *args) -> 'int' + | calc_shins_flags(self) -> int + | + | callinfo_built(self, *args) -> 'bool' + | callinfo_built(self) -> bool + | + | chain_varnums_ok(self, *args) -> 'bool' + | chain_varnums_ok(self) -> bool + | + | clr_cdtr(self, *args) -> 'void' + | clr_cdtr(self) + | + | clr_mba_flags(self, *args) -> 'void' + | clr_mba_flags(self, f) + | + | clr_mba_flags2(self, *args) -> 'void' + | clr_mba_flags2(self, f) + | + | combine_blocks(self, *args) -> 'bool' + | combine_blocks(self) -> bool + | + | common_stkvars_stkargs(self, *args) -> 'bool' + | common_stkvars_stkargs(self) -> bool + | + | copy_block(self, *args) -> 'mblock_t *' + | copy_block(self, blk, new_serial, cpblk_flags=3) -> mblock_t + | + | deleted_pairs(self, *args) -> 'bool' + | deleted_pairs(self) -> bool + | + | display_numaddrs(self, *args) -> 'bool' + | display_numaddrs(self) -> bool + | + | display_valnums(self, *args) -> 'bool' + | display_valnums(self) -> bool + | + | dump(self, *args) -> 'void' + | dump(self) + | + | dump_mba(self, *args) -> 'void' + | dump_mba(self, _verify, title) + | + | find_mop(self, *args) -> 'mop_t *' + | find_mop(self, ctx, ea, is_dest, list) -> mop_t + | + | for_all_insns(self, *args) -> 'int' + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv) -> int + | + | for_all_topinsns(self, *args) -> 'int' + | for_all_topinsns(self, mv) -> int + | + | generated_asserts(self, *args) -> 'bool' + | generated_asserts(self) -> bool + | + | get_args_region(self, *args) -> 'ivl_t const &' + | get_args_region(self) -> ivl_t + | + | get_curfunc(self, *args) -> 'func_t *' + | get_curfunc(self) -> func_t * + | + | get_graph(self, *args) -> 'mbl_graph_t *' + | get_graph(self) -> mbl_graph_t + | + | get_ida_argloc(self, *args) -> 'argloc_t' + | get_ida_argloc(self, v) -> argloc_t + | + | get_lvars_region(self, *args) -> 'ivl_t const &' + | get_lvars_region(self) -> ivl_t + | + | get_mba_flags(self, *args) -> 'int' + | get_mba_flags(self) -> int + | + | get_mba_flags2(self, *args) -> 'int' + | get_mba_flags2(self) -> int + | + | get_mblock(self, *args) -> 'mblock_t *' + | get_mblock(self, n) -> mblock_t + | get_mblock(self, n) -> mblock_t + | + | get_shadow_region(self, *args) -> 'ivl_t const &' + | get_shadow_region(self) -> ivl_t + | + | get_stack_region(self, *args) -> 'ivl_t' + | get_stack_region(self) -> ivl_t + | + | get_std_region(self, *args) -> 'ivl_t const &' + | get_std_region(self, idx) -> ivl_t + | + | graph_insns(self, *args) -> 'bool' + | graph_insns(self) -> bool + | + | has_bad_sp(self, *args) -> 'bool' + | has_bad_sp(self) -> bool + | + | has_over_chains(self, *args) -> 'bool' + | has_over_chains(self) -> bool + | + | has_passregs(self, *args) -> 'bool' + | has_passregs(self) -> bool + | + | idaloc2vd(self, *args) -> 'vdloc_t' + | idaloc2vd(self, loc, width) -> vdloc_t + | + | insert_block(self, *args) -> 'mblock_t *' + | insert_block(self, bblk) -> mblock_t + | + | is_cdtr(self, *args) -> 'bool' + | is_cdtr(self) -> bool + | + | is_ctr(self, *args) -> 'bool' + | is_ctr(self) -> bool + | + | is_dtr(self, *args) -> 'bool' + | is_dtr(self) -> bool + | + | is_pattern(self, *args) -> 'bool' + | is_pattern(self) -> bool + | + | is_snippet(self, *args) -> 'bool' + | is_snippet(self) -> bool + | + | is_stkarg(self, *args) -> 'bool' + | is_stkarg(self, v) -> bool + | + | is_thunk(self, *args) -> 'bool' + | is_thunk(self) -> bool + | + | loaded_gdl(self, *args) -> 'bool' + | loaded_gdl(self) -> bool + | + | lvar_names_ok(self, *args) -> 'bool' + | lvar_names_ok(self) -> bool + | + | lvars_allocated(self, *args) -> 'bool' + | lvars_allocated(self) -> bool + | + | lvars_renamed(self, *args) -> 'bool' + | lvars_renamed(self) -> bool + | + | mark_chains_dirty(self, *args) -> 'void' + | mark_chains_dirty(self) + | + | may_refine_rettype(self, *args) -> 'bool' + | may_refine_rettype(self) -> bool + | + | optimize_global(self, *args) -> 'merror_t' + | optimize_global(self) -> merror_t + | + | optimize_local(self, *args) -> 'int' + | optimize_local(self, locopt_bits) -> int + | + | optimized(self, *args) -> 'bool' + | optimized(self) -> bool + | + | precise_defeas(self, *args) -> 'bool' + | precise_defeas(self) -> bool + | + | propagated_asserts(self, *args) -> 'bool' + | propagated_asserts(self) -> bool + | + | really_alloc(self, *args) -> 'bool' + | really_alloc(self) -> bool + | + | regargs_is_not_aligned(self, *args) -> 'bool' + | regargs_is_not_aligned(self) -> bool + | + | remove_block(self, *args) -> 'bool' + | remove_block(self, blk) -> bool + | + | remove_empty_blocks(self, *args) -> 'bool' + | remove_empty_blocks(self) -> bool + | + | returns_fpval(self, *args) -> 'bool' + | returns_fpval(self) -> bool + | + | rtype_refined(self, *args) -> 'bool' + | rtype_refined(self) -> bool + | + | saverest_done(self, *args) -> 'bool' + | saverest_done(self) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | set_mba_flags(self, *args) -> 'void' + | set_mba_flags(self, f) + | + | set_mba_flags2(self, *args) -> 'void' + | set_mba_flags2(self, f) + | + | short_display(self, *args) -> 'bool' + | short_display(self) -> bool + | + | should_beautify(self, *args) -> 'bool' + | should_beautify(self) -> bool + | + | show_reduction(self, *args) -> 'bool' + | show_reduction(self) -> bool + | + | stkoff_ida2vd(self, *args) -> 'sval_t' + | stkoff_ida2vd(self, off) -> sval_t + | + | stkoff_vd2ida(self, *args) -> 'sval_t' + | stkoff_vd2ida(self, off) -> sval_t + | + | term(self, *args) -> 'void' + | term(self) + | + | use_frame(self, *args) -> 'bool' + | use_frame(self) -> bool + | + | use_wingraph32(self, *args) -> 'bool' + | use_wingraph32(self) -> bool + | + | valranges_done(self, *args) -> 'bool' + | valranges_done(self) -> bool + | + | vd2idaloc(self, *args) -> 'argloc_t' + | vd2idaloc(self, loc, width, spd) -> argloc_t + | vd2idaloc(self, loc, width) -> argloc_t + | + | verify(self, *args) -> 'void' + | verify(self, always) + | + | write_to_const_detected(self, *args) -> 'bool' + | write_to_const_detected(self) -> bool + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | deserialize(*args) -> 'mbl_array_t *' + | deserialize(bytes) -> mbl_array_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | aliased_args + | mbl_array_t_aliased_args_get(self) -> ivl_t + | + | aliased_memory + | mbl_array_t_aliased_memory_get(self) -> ivlset_t + | + | aliased_vars + | mbl_array_t_aliased_vars_get(self) -> ivl_t + | + | argidx + | mbl_array_t_argidx_get(self) -> intvec_t + | + | blocks + | mbl_array_t_blocks_get(self) -> mblock_t + | + | cc + | mbl_array_t_cc_get(self) -> cm_t + | + | consumed_argregs + | mbl_array_t_consumed_argregs_get(self) -> rlist_t + | + | entry_ea + | mbl_array_t_entry_ea_get(self) -> ea_t + | + | error_ea + | mbl_array_t_error_ea_get(self) -> ea_t + | + | error_strarg + | mbl_array_t_error_strarg_get(self) -> qstring * + | + | final_type + | mbl_array_t_final_type_get(self) -> bool + | + | first_epilog_ea + | mbl_array_t_first_epilog_ea_get(self) -> ea_t + | + | fpd + | mbl_array_t_fpd_get(self) -> sval_t + | + | frregs + | mbl_array_t_frregs_get(self) -> sval_t + | + | frsize + | mbl_array_t_frsize_get(self) -> sval_t + | + | fti_flags + | mbl_array_t_fti_flags_get(self) -> int + | + | fullsize + | mbl_array_t_fullsize_get(self) -> sval_t + | + | gotoff_stkvars + | mbl_array_t_gotoff_stkvars_get(self) -> ivlset_t + | + | idb_node + | mbl_array_t_idb_node_get(self) -> netnode + | + | idb_spoiled + | mbl_array_t_idb_spoiled_get(self) -> reginfovec_t + | + | idb_type + | mbl_array_t_idb_type_get(self) -> tinfo_t + | + | inargoff + | mbl_array_t_inargoff_get(self) -> sval_t + | + | label + | mbl_array_t_label_get(self) -> qstring * + | + | last_prolog_ea + | mbl_array_t_last_prolog_ea_get(self) -> ea_t + | + | maturity + | mbl_array_t_maturity_get(self) -> mba_maturity_t + | + | mbr + | mbl_array_t_mbr_get(self) -> mba_ranges_t + | + | minargref + | mbl_array_t_minargref_get(self) -> sval_t + | + | minstkref + | mbl_array_t_minstkref_get(self) -> sval_t + | + | minstkref_ea + | mbl_array_t_minstkref_ea_get(self) -> ea_t + | + | natural + | mbl_array_t_natural_get(self) -> mblock_t ** + | + | nodel_memory + | mbl_array_t_nodel_memory_get(self) -> mlist_t + | + | notes + | mbl_array_t_notes_get(self) -> hexwarns_t + | + | npurged + | mbl_array_t_npurged_get(self) -> int + | + | occurred_warns + | mbl_array_t_occurred_warns_get(self) -> uchar [32] + | + | pfn_flags + | mbl_array_t_pfn_flags_get(self) -> int + | + | qty + | mbl_array_t_qty_get(self) -> int + | + | reqmat + | mbl_array_t_reqmat_get(self) -> mba_maturity_t + | + | restricted_memory + | mbl_array_t_restricted_memory_get(self) -> ivlset_t + | + | retsize + | mbl_array_t_retsize_get(self) -> int + | + | retvaridx + | mbl_array_t_retvaridx_get(self) -> int + | + | shadow_args + | mbl_array_t_shadow_args_get(self) -> int + | + | spd_adjust + | mbl_array_t_spd_adjust_get(self) -> sval_t + | + | spoiled_list + | mbl_array_t_spoiled_list_get(self) -> mlist_t + | + | stacksize + | mbl_array_t_stacksize_get(self) -> sval_t + | + | std_ivls + | mbl_array_t_std_ivls_get(self) -> ivl_with_name_t + | + | thisown + | The membership flag + | + | tmpstk_size + | mbl_array_t_tmpstk_size_get(self) -> sval_t + | + | vars + | mbl_array_t_vars_get(self) -> lvars_t + +Help on function mbl_array_t_deserialize in module ida_hexrays: + +mbl_array_t_deserialize(*args) -> 'mbl_array_t *' + mbl_array_t_deserialize(bytes) -> mbl_array_t + +Help on class mbl_graph_t in module ida_hexrays: + +class mbl_graph_t(simple_graph_t) + | Proxy of C++ mbl_graph_t class. + | + | Method resolution order: + | mbl_graph_t + | simple_graph_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | get_chain_stamp(self, *args) -> 'int' + | get_chain_stamp(self) -> int + | + | get_du(self, *args) -> 'graph_chains_t *' + | get_du(self, gctype) -> graph_chains_t + | + | get_mblock(self, *args) -> 'mblock_t *' + | get_mblock(self, n) -> mblock_t + | + | get_ud(self, *args) -> 'graph_chains_t *' + | get_ud(self, gctype) -> graph_chains_t + | + | is_du_chain_dirty(self, *args) -> 'bool' + | is_du_chain_dirty(self, gctype) -> bool + | + | is_redefined_globally(self, *args) -> 'bool' + | is_redefined_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool + | + | is_ud_chain_dirty(self, *args) -> 'bool' + | is_ud_chain_dirty(self, gctype) -> bool + | + | is_used_globally(self, *args) -> 'bool' + | is_used_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from simple_graph_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | colored_gdl_edges + | simple_graph_t_colored_gdl_edges_get(self) -> bool + | + | title + | simple_graph_t_title_get(self) -> qstring * + +Help on class mblock_t in module ida_hexrays: + +class mblock_t(builtins.object) + | Proxy of C++ mblock_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mblock_t(...) + | delete_mblock_t(self) + | + | _print(self, *args) -> 'void' + | _print(self, vp) + | + | append_def_list(self, *args) -> 'void' + | append_def_list(self, list, op, maymust) + | + | append_use_list(self, *args) -> 'void' + | append_use_list(self, list, op, maymust, mask=bitrange_t(0, USHRT_MAX)) + | + | build_def_list(self, *args) -> 'mlist_t' + | build_def_list(self, ins, maymust) -> mlist_t + | + | build_lists(self, *args) -> 'int' + | build_lists(self, kill_deads) -> int + | + | build_use_list(self, *args) -> 'mlist_t' + | build_use_list(self, ins, maymust) -> mlist_t + | + | dump(self, *args) -> 'void' + | dump(self) + | + | dump_block(self, *args) -> 'void' + | dump_block(self, title) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | find_access(self, *args) -> 'minsn_t *' + | find_access(self, op, parent, mend, fdflags) -> minsn_t + | + | find_def(self, *args) -> 'minsn_t *' + | find_def(self, op, p_i1, i2, fdflags) -> minsn_t + | + | find_first_use(self, *args) -> 'minsn_t *' + | find_first_use(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t + | + | find_redefinition(self, *args) -> 'minsn_t *' + | find_redefinition(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t + | + | find_use(self, *args) -> 'minsn_t *' + | find_use(self, op, p_i1, i2, fdflags) -> minsn_t + | + | for_all_insns(self, *args) -> 'int' + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv) -> int + | + | for_all_uses(self, *args) -> 'int' + | for_all_uses(self, list, i1, i2, mmv) -> int + | + | get_reginsn_qty(self, *args) -> 'size_t' + | get_reginsn_qty(self) -> size_t + | + | get_valranges(self, *args) -> 'bool' + | get_valranges(self, res, vivl, vrflags) -> bool + | get_valranges(self, res, vivl, m, vrflags) -> bool + | + | insert_into_block(self, *args) -> 'minsn_t *' + | insert_into_block(self, nm, om) -> minsn_t + | + | is_branch(self, *args) -> 'bool' + | is_branch(self) -> bool + | + | is_call_block(self, *args) -> 'bool' + | is_call_block(self) -> bool + | + | is_nway(self, *args) -> 'bool' + | is_nway(self) -> bool + | + | is_redefined(self, *args) -> 'bool' + | is_redefined(self, list, i1, i2, maymust=MAY_ACCESS) -> bool + | + | is_rhs_redefined(self, *args) -> 'bool' + | is_rhs_redefined(self, ins, i1, i2) -> bool + | + | is_simple_goto_block(self, *args) -> 'bool' + | is_simple_goto_block(self) -> bool + | + | is_simple_jcnd_block(self, *args) -> 'bool' + | is_simple_jcnd_block(self) -> bool + | + | is_unknown_call(self, *args) -> 'bool' + | is_unknown_call(self) -> bool + | + | is_used(self, *args) -> 'bool' + | is_used(self, list, i1, i2, maymust=MAY_ACCESS) -> bool + | + | lists_dirty(self, *args) -> 'bool' + | lists_dirty(self) -> bool + | + | lists_ready(self, *args) -> 'bool' + | lists_ready(self) -> bool + | + | make_lists_ready(self, *args) -> 'int' + | make_lists_ready(self) -> int + | + | make_nop(self, *args) -> 'void' + | make_nop(self, m) + | + | mark_lists_dirty(self, *args) -> 'void' + | mark_lists_dirty(self) + | + | needs_propagation(self, *args) -> 'bool' + | needs_propagation(self) -> bool + | + | npred(self, *args) -> 'int' + | npred(self) -> int + | + | nsucc(self, *args) -> 'int' + | nsucc(self) -> int + | + | optimize_block(self, *args) -> 'int' + | optimize_block(self) -> int + | + | optimize_insn(self, *args) -> 'int' + | optimize_insn(self, m, optflags=0x0002|0x0004) -> int + | + | optimize_useless_jump(self, *args) -> 'int' + | optimize_useless_jump(self) -> int + | + | pred(self, *args) -> 'int' + | pred(self, n) -> int + | + | preds(self) + | Iterates the list of predecessor blocks + | + | remove_from_block(self, *args) -> 'minsn_t *' + | remove_from_block(self, m) -> minsn_t + | + | request_demote64(self, *args) -> 'void' + | request_demote64(self) + | + | request_propagation(self, *args) -> 'void' + | request_propagation(self) + | + | succ(self, *args) -> 'int' + | succ(self, n) -> int + | + | succs(self) + | Iterates the list of successor blocks + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dead_at_start + | mblock_t_dead_at_start_get(self) -> mlist_t + | + | dnu + | mblock_t_dnu_get(self) -> mlist_t + | + | end + | mblock_t_end_get(self) -> ea_t + | + | flags + | mblock_t_flags_get(self) -> uint32 + | + | head + | mblock_t_head_get(self) -> minsn_t + | + | maxbsp + | mblock_t_maxbsp_get(self) -> sval_t + | + | maybdef + | mblock_t_maybdef_get(self) -> mlist_t + | + | maybuse + | mblock_t_maybuse_get(self) -> mlist_t + | + | mba + | mblock_t_mba_get(self) -> mbl_array_t + | + | minbargref + | mblock_t_minbargref_get(self) -> sval_t + | + | minbstkref + | mblock_t_minbstkref_get(self) -> sval_t + | + | mustbdef + | mblock_t_mustbdef_get(self) -> mlist_t + | + | mustbuse + | mblock_t_mustbuse_get(self) -> mlist_t + | + | nextb + | mblock_t_nextb_get(self) -> mblock_t + | + | predset + | mblock_t_predset_get(self) -> intvec_t + | + | prevb + | mblock_t_prevb_get(self) -> mblock_t + | + | serial + | mblock_t_serial_get(self) -> int + | + | start + | mblock_t_start_get(self) -> ea_t + | + | succset + | mblock_t_succset_get(self) -> intvec_t + | + | tail + | mblock_t_tail_get(self) -> minsn_t + | + | thisown + | The membership flag + | + | type + | mblock_t_type_get(self) -> mblock_type_t + +Help on class mcallarg_t in module ida_hexrays: + +class mcallarg_t(mop_t) + | Proxy of C++ mcallarg_t class. + | + | Method resolution order: + | mcallarg_t + | mop_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mcallarg_t + | __init__(self, rarg) -> mcallarg_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mcallarg_t(...) + | delete_mcallarg_t(self) + | + | _print(self, *args) -> 'void' + | _print(self, shins_flags=0x04|0x02) + | + | copy_mop(self, *args) -> 'void' + | copy_mop(self, op) + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | make_int(self, *args) -> 'void' + | make_int(self, val, val_ea, opno=0) + | + | make_uint(self, *args) -> 'void' + | make_uint(self, val, val_ea, opno=0) + | + | set_regarg(self, *args) -> 'void' + | set_regarg(self, mr, sz, tif) + | set_regarg(self, mr, tif) + | set_regarg(self, mr, dt, sign=type_unsigned) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | argloc + | mcallarg_t_argloc_get(self) -> argloc_t + | + | ea + | mcallarg_t_ea_get(self) -> ea_t + | + | name + | mcallarg_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | mcallarg_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Methods inherited from mop_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, rop) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, rop) -> bool + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) -> 'mop_addr_t *' + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) -> 'int' + | _get_b(self) -> int + | + | _get_c(self, *args) -> 'mcases_t *' + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) -> 'char const *' + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) -> 'minsn_t *' + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) -> 'mcallinfo_t *' + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) -> 'fnumber_t *' + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) -> 'ea_t' + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) -> 'char const *' + | _get_helper(self) -> char const * + | + | _get_l(self, *args) -> 'lvar_ref_t *' + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) -> 'mnumber_t *' + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) -> 'mop_pair_t *' + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) -> 'mreg_t' + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) -> 'stkvar_ref_t *' + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) -> 'scif_t *' + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) -> 'mopt_t' + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) -> 'void' + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) -> 'void' + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) -> 'void' + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) -> 'void' + | _make_gvar(self, ea) + | + | _make_insn(self, *args) -> 'void' + | _make_insn(self, ins) + | + | _make_lvar(self, *args) -> 'void' + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) -> 'void' + | _make_pair(self, _pair) + | + | _make_reg(self, *args) -> 'void' + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) -> 'void' + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) -> 'void' + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _set_a(self, *args) -> 'void' + | _set_a(self, _v) + | + | _set_b(self, *args) -> 'void' + | _set_b(self, _v) + | + | _set_c(self, *args) -> 'void' + | _set_c(self, _v) + | + | _set_cstr(self, *args) -> 'void' + | _set_cstr(self, _v) + | + | _set_d(self, *args) -> 'void' + | _set_d(self, _v) + | + | _set_f(self, *args) -> 'void' + | _set_f(self, _v) + | + | _set_fpc(self, *args) -> 'void' + | _set_fpc(self, _v) + | + | _set_g(self, *args) -> 'void' + | _set_g(self, _v) + | + | _set_helper(self, *args) -> 'void' + | _set_helper(self, _v) + | + | _set_l(self, *args) -> 'void' + | _set_l(self, _v) + | + | _set_nnn(self, *args) -> 'void' + | _set_nnn(self, _v) + | + | _set_pair(self, *args) -> 'void' + | _set_pair(self, _v) + | + | _set_r(self, *args) -> 'void' + | _set_r(self, _v) + | + | _set_s(self, *args) -> 'void' + | _set_s(self, _v) + | + | _set_scif(self, *args) -> 'void' + | _set_scif(self, _v) + | + | _set_t(self, *args) -> 'void' + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) -> 'void' + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) -> 'void' + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) -> 'void' + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) -> 'mop_t &' + | assign(self, rop) -> mop_t + | + | change_size(self, *args) -> 'bool' + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) -> 'void' + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) -> 'bool' + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) -> 'bool' + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) -> 'void' + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) -> 'void' + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) -> 'bool' + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | equal_mops(self, *args) -> 'bool' + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) -> 'void' + | erase(self) + | + | erase_but_keep_size(self, *args) -> 'void' + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) -> 'int' + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) -> 'minsn_t *' + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) -> 'bool' + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) -> 'bool' + | is01(self) -> bool + | + | is_arglist(self, *args) -> 'bool' + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) -> 'bool' + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) -> 'bool' + | is_cc(self) -> bool + | + | is_ccflags(self, *args) -> 'bool' + | is_ccflags(self) -> bool + | + | is_constant(self, *args) -> 'bool' + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) -> 'bool' + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) -> 'bool' + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) -> 'bool' + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) -> 'bool' + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) -> 'bool' + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) -> 'bool' + | is_kreg(self) -> bool + | + | is_mob(self, *args) -> 'bool' + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) -> 'bool' + | is_negative_constant(self) -> bool + | + | is_one(self, *args) -> 'bool' + | is_one(self) -> bool + | + | is_positive_constant(self, *args) -> 'bool' + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) -> 'bool' + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) -> 'bool' + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) -> 'bool' + | is_udt(self) -> bool + | + | is_undef_val(self, *args) -> 'bool' + | is_undef_val(self) -> bool + | + | is_zero(self, *args) -> 'bool' + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) -> 'bool' + | is_zero_extended_from(self, nbytes) -> bool + | + | lexcompare(self, *args) -> 'int' + | lexcompare(self, rop) -> int + | + | make_blkref(self, *args) -> 'void' + | make_blkref(self, blknum) + | + | make_first_half(self, *args) -> 'bool' + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) -> 'bool' + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) -> 'void' + | make_gvar(self, ea) + | + | make_helper(self, *args) -> 'void' + | make_helper(self, name) + | + | make_high_half(self, *args) -> 'bool' + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) -> 'void' + | make_insn(self, ins) + | + | make_low_half(self, *args) -> 'bool' + | make_low_half(self, width) -> bool + | + | make_number(self, *args) -> 'void' + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) -> 'void' + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) -> 'void' + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) -> 'bool' + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) -> 'bool' + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) -> 'bool' + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) -> 'bool' + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) -> 'void' + | set_impptr_done(self) + | + | set_udt(self, *args) -> 'void' + | set_udt(self) + | + | set_undef_val(self, *args) -> 'void' + | set_undef_val(self) + | + | shift_mop(self, *args) -> 'bool' + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) -> 'int64' + | signed_value(self) -> int64 + | + | swap(self, *args) -> 'void' + | swap(self, rop) + | + | unsigned_value(self, *args) -> 'uint64' + | unsigned_value(self) -> uint64 + | + | value(self, *args) -> 'uint64' + | value(self, is_signed) -> uint64 + | + | zero(self, *args) -> 'void' + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from mop_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | valnum + | mop_t_valnum_get(self) -> uint16 + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from mop_t: + | + | __hash__ = None + +Help on class mcallargs_t in module ida_hexrays: + +class mcallargs_t(builtins.object) + | Proxy of C++ qvector< mcallarg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'mcallarg_t const &' + | __getitem__(self, i) -> mcallarg_t + | + | __init__(self, *args) + | __init__(self) -> mcallargs_t + | __init__(self, x) -> mcallargs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_mcallargs_t(...) + | delete_mcallargs_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'mcallarg_t const &' + | at(self, _idx) -> mcallarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< mcallarg_t >::const_iterator' + | begin(self) -> mcallarg_t + | begin(self) -> mcallarg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< mcallarg_t >::const_iterator' + | end(self) -> mcallarg_t + | end(self) -> mcallarg_t + | + | erase(self, *args) -> 'qvector< mcallarg_t >::iterator' + | erase(self, it) -> mcallarg_t + | erase(self, first, last) -> mcallarg_t + | + | extract(self, *args) -> 'mcallarg_t *' + | extract(self) -> mcallarg_t + | + | find(self, *args) -> 'qvector< mcallarg_t >::const_iterator' + | find(self, x) -> mcallarg_t + | find(self, x) -> mcallarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=mcallarg_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< mcallarg_t >::iterator' + | insert(self, it, x) -> mcallarg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'mcallarg_t &' + | push_back(self, x) + | push_back(self) -> mcallarg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class mcallinfo_t in module ida_hexrays: + +class mcallinfo_t(builtins.object) + | Proxy of C++ mcallinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _callee=BADADDR, _sargs=0) -> mcallinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mcallinfo_t(...) + | delete_mcallinfo_t(self) + | + | _print(self, *args) -> 'void' + | _print(self, size=-1, shins_flags=0x04|0x02) + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | get_type(self, *args) -> 'tinfo_t' + | get_type(self) -> tinfo_t + | + | is_vararg(self, *args) -> 'bool' + | is_vararg(self) -> bool + | + | lexcompare(self, *args) -> 'int' + | lexcompare(self, f) -> int + | + | set_type(self, *args) -> 'bool' + | set_type(self, type) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | args + | mcallinfo_t_args_get(self) -> mcallargs_t + | + | call_spd + | mcallinfo_t_call_spd_get(self) -> int + | + | callee + | mcallinfo_t_callee_get(self) -> ea_t + | + | cc + | mcallinfo_t_cc_get(self) -> cm_t + | + | dead_regs + | mcallinfo_t_dead_regs_get(self) -> mlist_t + | + | flags + | mcallinfo_t_flags_get(self) -> int + | + | fti_attrs + | mcallinfo_t_fti_attrs_get(self) -> type_attrs_t + | + | pass_regs + | mcallinfo_t_pass_regs_get(self) -> mlist_t + | + | retregs + | mcallinfo_t_retregs_get(self) -> mopvec_t + | + | return_argloc + | mcallinfo_t_return_argloc_get(self) -> argloc_t + | + | return_regs + | mcallinfo_t_return_regs_get(self) -> mlist_t + | + | return_type + | mcallinfo_t_return_type_get(self) -> tinfo_t + | + | role + | mcallinfo_t_role_get(self) -> funcrole_t + | + | solid_args + | mcallinfo_t_solid_args_get(self) -> int + | + | spoiled + | mcallinfo_t_spoiled_get(self) -> mlist_t + | + | stkargs_top + | mcallinfo_t_stkargs_top_get(self) -> int + | + | thisown + | The membership flag + | + | visible_memory + | mcallinfo_t_visible_memory_get(self) -> ivlset_t + +Help on class mcases_t in module ida_hexrays: + +class mcases_t(builtins.object) + | Proxy of C++ mcases_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> mcases_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mcases_t(...) + | delete_mcases_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | resize(self, *args) -> 'void' + | resize(self, s) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | targets + | mcases_t_targets_get(self) -> intvec_t + | + | thisown + | The membership flag + | + | values + | mcases_t_values_get(self) -> casevec_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function mcode_modifies_d in module ida_hexrays: + +mcode_modifies_d(*args) -> 'bool' + mcode_modifies_d(mcode) -> bool + +Help on class microcode_filter_t in module ida_hexrays: + +class microcode_filter_t(builtins.object) + | Proxy of C++ microcode_filter_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> microcode_filter_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_microcode_filter_t(...) + | delete_microcode_filter_t(self) + | + | apply(self, *args) -> 'merror_t' + | apply(self, cdg) -> merror_t + | + | match(self, *args) -> 'bool' + | match(self, cdg) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class minsn_t in module ida_hexrays: + +class minsn_t(builtins.object) + | Proxy of C++ minsn_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea) -> minsn_t + | __init__(self, m) -> minsn_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, ri) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_minsn_t(...) + | delete_minsn_t(self) + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _make_nop(self, *args) -> 'void' + | _make_nop(self) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _minsn_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _minsn_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) -> 'void' + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | clr_assert(self, *args) -> 'void' + | clr_assert(self) + | + | clr_combinable(self, *args) -> 'void' + | clr_combinable(self) + | + | clr_combined(self, *args) -> 'void' + | clr_combined(self) + | + | clr_fpinsn(self, *args) -> 'void' + | clr_fpinsn(self) + | + | clr_ignlowsrc(self, *args) -> 'void' + | clr_ignlowsrc(self) + | + | clr_multimov(self, *args) -> 'void' + | clr_multimov(self) + | + | clr_noret_icall(self, *args) -> 'void' + | clr_noret_icall(self) + | + | clr_propagatable(self, *args) -> 'void' + | clr_propagatable(self) + | + | clr_tailcall(self, *args) -> 'void' + | clr_tailcall(self) + | + | contains_call(self, *args) -> 'bool' + | contains_call(self, with_helpers=False) -> bool + | + | contains_opcode(self, *args) -> 'bool' + | contains_opcode(self, mcode) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | equal_insns(self, *args) -> 'bool' + | equal_insns(self, m, eqflags) -> bool + | + | find_call(self, *args) -> 'minsn_t *' + | find_call(self, with_helpers=False) -> minsn_t + | + | find_ins_op(self, *args) -> 'minsn_t *' + | find_ins_op(self, op=m_nop) -> minsn_t + | + | find_num_op(self, *args) -> 'mop_t *' + | find_num_op(self) -> mop_t + | + | find_opcode(self, *args) -> 'minsn_t *' + | find_opcode(self, mcode) -> minsn_t + | find_opcode(self, mcode) -> minsn_t + | + | for_all_insns(self, *args) -> 'int' + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv) -> int + | + | get_role(self, *args) -> 'funcrole_t' + | get_role(self) -> funcrole_t + | + | get_split_size(self, *args) -> 'int' + | get_split_size(self) -> int + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is_after(self, *args) -> 'bool' + | is_after(self, m) -> bool + | + | is_alloca(self, *args) -> 'bool' + | is_alloca(self) -> bool + | + | is_assert(self, *args) -> 'bool' + | is_assert(self) -> bool + | + | is_between(self, *args) -> 'bool' + | is_between(self, m1, m2) -> bool + | + | is_bswap(self, *args) -> 'bool' + | is_bswap(self) -> bool + | + | is_cleaning_pop(self, *args) -> 'bool' + | is_cleaning_pop(self) -> bool + | + | is_combinable(self, *args) -> 'bool' + | is_combinable(self) -> bool + | + | is_combined(self, *args) -> 'bool' + | is_combined(self) -> bool + | + | is_extstx(self, *args) -> 'bool' + | is_extstx(self) -> bool + | + | is_farcall(self, *args) -> 'bool' + | is_farcall(self) -> bool + | + | is_fpinsn(self, *args) -> 'bool' + | is_fpinsn(self) -> bool + | + | is_helper(self, *args) -> 'bool' + | is_helper(self, name) -> bool + | + | is_ignlowsrc(self, *args) -> 'bool' + | is_ignlowsrc(self) -> bool + | + | is_inverted_jx(self, *args) -> 'bool' + | is_inverted_jx(self) -> bool + | + | is_like_move(self, *args) -> 'bool' + | is_like_move(self) -> bool + | + | is_mbarrier(self, *args) -> 'bool' + | is_mbarrier(self) -> bool + | + | is_memcpy(self, *args) -> 'bool' + | is_memcpy(self) -> bool + | + | is_memset(self, *args) -> 'bool' + | is_memset(self) -> bool + | + | is_mov(self, *args) -> 'bool' + | is_mov(self) -> bool + | + | is_multimov(self, *args) -> 'bool' + | is_multimov(self) -> bool + | + | is_noret_call(self, *args) -> 'bool' + | is_noret_call(self, ignore_noret_icall=False) -> bool + | + | is_optional(self, *args) -> 'bool' + | is_optional(self) -> bool + | + | is_persistent(self, *args) -> 'bool' + | is_persistent(self) -> bool + | + | is_propagatable(self, *args) -> 'bool' + | is_propagatable(self) -> bool + | + | is_readflags(self, *args) -> 'bool' + | is_readflags(self) -> bool + | + | is_tailcall(self, *args) -> 'bool' + | is_tailcall(self) -> bool + | + | is_unknown_call(self, *args) -> 'bool' + | is_unknown_call(self) -> bool + | + | is_wild_match(self, *args) -> 'bool' + | is_wild_match(self) -> bool + | + | lexcompare(self, *args) -> 'int' + | lexcompare(self, ri) -> int + | + | may_use_aliased_memory(self, *args) -> 'bool' + | may_use_aliased_memory(self) -> bool + | + | modifes_d(self, *args) -> 'bool' + | modifes_d(self) -> bool + | + | modifies_pair_mop(self, *args) -> 'bool' + | modifies_pair_mop(self) -> bool + | + | optimize_solo(self, *args) -> 'int' + | optimize_solo(self, optflags=0) -> int + | + | optimize_subtree(self, *args) -> 'int' + | optimize_subtree(self, blk, top, parent, converted_call, optflags=0x0002) -> int + | + | replace_by(self, o) + | + | set_assert(self, *args) -> 'void' + | set_assert(self) + | + | set_cleaning_pop(self, *args) -> 'void' + | set_cleaning_pop(self) + | + | set_combinable(self, *args) -> 'void' + | set_combinable(self) + | + | set_extstx(self, *args) -> 'void' + | set_extstx(self) + | + | set_farcall(self, *args) -> 'void' + | set_farcall(self) + | + | set_fpinsn(self, *args) -> 'void' + | set_fpinsn(self) + | + | set_ignlowsrc(self, *args) -> 'void' + | set_ignlowsrc(self) + | + | set_inverted_jx(self, *args) -> 'void' + | set_inverted_jx(self) + | + | set_mbarrier(self, *args) -> 'void' + | set_mbarrier(self) + | + | set_multimov(self, *args) -> 'void' + | set_multimov(self) + | + | set_noret_icall(self, *args) -> 'void' + | set_noret_icall(self) + | + | set_optional(self, *args) -> 'void' + | set_optional(self) + | + | set_persistent(self, *args) -> 'void' + | set_persistent(self) + | + | set_split_size(self, *args) -> 'void' + | set_split_size(self, s) + | + | set_tailcall(self, *args) -> 'void' + | set_tailcall(self) + | + | set_wild_match(self, *args) -> 'void' + | set_wild_match(self) + | + | setaddr(self, *args) -> 'void' + | setaddr(self, new_ea) + | + | swap(self, *args) -> 'void' + | swap(self, m) + | + | was_noret_icall(self, *args) -> 'bool' + | was_noret_icall(self) -> bool + | + | was_split(self, *args) -> 'bool' + | was_split(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | d + | minsn_t_d_get(self) -> mop_t + | + | ea + | minsn_t_ea_get(self) -> ea_t + | + | iprops + | minsn_t_iprops_get(self) -> int + | + | l + | minsn_t_l_get(self) -> mop_t + | + | meminfo + | + | next + | minsn_t_next_get(self) -> minsn_t + | + | obj_id + | _obj_id(self) -> PyObject * + | + | opcode + | minsn_t_opcode_get(self) -> mcode_t + | + | prev + | minsn_t_prev_get(self) -> minsn_t + | + | r + | minsn_t_r_get(self) -> mop_t + | + | thisown + | The membership flag + +Help on class minsn_visitor_t in module ida_hexrays: + +class minsn_visitor_t(op_parent_info_t) + | Proxy of C++ minsn_visitor_t class. + | + | Method resolution order: + | minsn_visitor_t + | op_parent_info_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> minsn_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_minsn_visitor_t(...) + | delete_minsn_visitor_t(self) + | + | visit_minsn(self, *args) -> 'int' + | visit_minsn(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from op_parent_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + +Help on class mlist_mop_visitor_t in module ida_hexrays: + +class mlist_mop_visitor_t(builtins.object) + | Proxy of C++ mlist_mop_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> mlist_mop_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mlist_mop_visitor_t(...) + | delete_mlist_mop_visitor_t(self) + | + | visit_mop(self, *args) -> 'int' + | visit_mop(self, op) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | changed + | mlist_mop_visitor_t_changed_get(self) -> bool + | + | curins + | mlist_mop_visitor_t_curins_get(self) -> minsn_t + | + | list + | mlist_mop_visitor_t_list_get(self) -> mlist_t + | + | thisown + | The membership flag + | + | topins + | mlist_mop_visitor_t_topins_get(self) -> minsn_t + +Help on class mlist_t in module ida_hexrays: + +class mlist_t(builtins.object) + | Proxy of C++ mlist_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> mlist_t + | __init__(self, ivl) -> mlist_t + | __init__(self, r, size) -> mlist_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mlist_t(...) + | delete_mlist_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | add(self, *args) -> 'bool' + | add(self, r, size) -> bool + | add(self, r) -> bool + | add(self, ivl) -> bool + | add(self, lst) -> bool + | + | addmem(self, *args) -> 'bool' + | addmem(self, ea, size) -> bool + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | count(self, *args) -> 'asize_t' + | count(self) -> asize_t + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | has(self, *args) -> 'bool' + | has(self, r) -> bool + | + | has_all(self, *args) -> 'bool' + | has_all(self, r, size) -> bool + | + | has_any(self, *args) -> 'bool' + | has_any(self, r, size) -> bool + | + | has_common(self, *args) -> 'bool' + | has_common(self, lst) -> bool + | + | has_memory(self, *args) -> 'bool' + | has_memory(self) -> bool + | + | includes(self, *args) -> 'bool' + | includes(self, lst) -> bool + | + | intersect(self, *args) -> 'bool' + | intersect(self, lst) -> bool + | + | is_subset_of(self, *args) -> 'bool' + | is_subset_of(self, lst) -> bool + | + | sub(self, *args) -> 'bool' + | sub(self, r, size) -> bool + | sub(self, ivl) -> bool + | sub(self, lst) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | mem + | mlist_t_mem_get(self) -> ivlset_t + | + | reg + | mlist_t_reg_get(self) -> rlist_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class mnumber_t in module ida_hexrays: + +class mnumber_t(operand_locator_t) + | Proxy of C++ mnumber_t class. + | + | Method resolution order: + | mnumber_t + | operand_locator_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, v, _ea=BADADDR, n=0) -> mnumber_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mnumber_t(...) + | delete_mnumber_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | update_value(self, *args) -> 'void' + | update_value(self, val64) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | org_value + | mnumber_t_org_value_get(self) -> uint64 + | + | thisown + | The membership flag + | + | value + | mnumber_t_value_get(self) -> uint64 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from operand_locator_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | operand_locator_t_ea_get(self) -> ea_t + | + | opnum + | operand_locator_t_opnum_get(self) -> int + +Help on function modify_user_lvar_info in module ida_hexrays: + +modify_user_lvar_info(*args) -> 'bool' + modify_user_lvar_info(func_ea, mli_flags, info) -> bool + + + Modify saved local variable settings. + + @param func_ea (C++: ea_t) + @param mli_flags: bits that specify which attrs defined by INFO are to + be set (C++: uint) + @param info: local variable info attrs (C++: const lvar_saved_info_t + &) + @return: true if modified, false if invalid MLI_FLAGS passed + +Help on function modify_user_lvars in module ida_hexrays: + +modify_user_lvars(*args) -> 'bool' + modify_user_lvars(entry_ea, mlv) -> bool + + + Modify saved local variable settings. + + @param entry_ea: function start address (C++: ea_t) + @param mlv: local variable modifier (C++: user_lvar_modifier_t &) + @return: true if modified variables + +Help on class mop_addr_t in module ida_hexrays: + +class mop_addr_t(mop_t) + | Proxy of C++ mop_addr_t class. + | + | Method resolution order: + | mop_addr_t + | mop_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mop_addr_t + | __init__(self, ra) -> mop_addr_t + | __init__(self, ra, isz, osz) -> mop_addr_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mop_addr_t(...) + | delete_mop_addr_t(self) + | + | lexcompare(self, *args) -> 'int' + | lexcompare(self, ra) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | insize + | mop_addr_t_insize_get(self) -> int + | + | outsize + | mop_addr_t_outsize_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from mop_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, rop) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, rop) -> bool + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) -> 'mop_addr_t *' + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) -> 'int' + | _get_b(self) -> int + | + | _get_c(self, *args) -> 'mcases_t *' + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) -> 'char const *' + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) -> 'minsn_t *' + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) -> 'mcallinfo_t *' + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) -> 'fnumber_t *' + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) -> 'ea_t' + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) -> 'char const *' + | _get_helper(self) -> char const * + | + | _get_l(self, *args) -> 'lvar_ref_t *' + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) -> 'mnumber_t *' + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) -> 'mop_pair_t *' + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) -> 'mreg_t' + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) -> 'stkvar_ref_t *' + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) -> 'scif_t *' + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) -> 'mopt_t' + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) -> 'void' + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) -> 'void' + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) -> 'void' + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) -> 'void' + | _make_gvar(self, ea) + | + | _make_insn(self, *args) -> 'void' + | _make_insn(self, ins) + | + | _make_lvar(self, *args) -> 'void' + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) -> 'void' + | _make_pair(self, _pair) + | + | _make_reg(self, *args) -> 'void' + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) -> 'void' + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) -> 'void' + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) -> 'void' + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _set_a(self, *args) -> 'void' + | _set_a(self, _v) + | + | _set_b(self, *args) -> 'void' + | _set_b(self, _v) + | + | _set_c(self, *args) -> 'void' + | _set_c(self, _v) + | + | _set_cstr(self, *args) -> 'void' + | _set_cstr(self, _v) + | + | _set_d(self, *args) -> 'void' + | _set_d(self, _v) + | + | _set_f(self, *args) -> 'void' + | _set_f(self, _v) + | + | _set_fpc(self, *args) -> 'void' + | _set_fpc(self, _v) + | + | _set_g(self, *args) -> 'void' + | _set_g(self, _v) + | + | _set_helper(self, *args) -> 'void' + | _set_helper(self, _v) + | + | _set_l(self, *args) -> 'void' + | _set_l(self, _v) + | + | _set_nnn(self, *args) -> 'void' + | _set_nnn(self, _v) + | + | _set_pair(self, *args) -> 'void' + | _set_pair(self, _v) + | + | _set_r(self, *args) -> 'void' + | _set_r(self, _v) + | + | _set_s(self, *args) -> 'void' + | _set_s(self, _v) + | + | _set_scif(self, *args) -> 'void' + | _set_scif(self, _v) + | + | _set_t(self, *args) -> 'void' + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) -> 'void' + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) -> 'void' + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) -> 'void' + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) -> 'mop_t &' + | assign(self, rop) -> mop_t + | + | change_size(self, *args) -> 'bool' + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) -> 'void' + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) -> 'bool' + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) -> 'bool' + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) -> 'void' + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) -> 'void' + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) -> 'bool' + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | equal_mops(self, *args) -> 'bool' + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) -> 'void' + | erase(self) + | + | erase_but_keep_size(self, *args) -> 'void' + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) -> 'int' + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) -> 'minsn_t *' + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) -> 'bool' + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) -> 'bool' + | is01(self) -> bool + | + | is_arglist(self, *args) -> 'bool' + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) -> 'bool' + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) -> 'bool' + | is_cc(self) -> bool + | + | is_ccflags(self, *args) -> 'bool' + | is_ccflags(self) -> bool + | + | is_constant(self, *args) -> 'bool' + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) -> 'bool' + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) -> 'bool' + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) -> 'bool' + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) -> 'bool' + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) -> 'bool' + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) -> 'bool' + | is_kreg(self) -> bool + | + | is_mob(self, *args) -> 'bool' + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) -> 'bool' + | is_negative_constant(self) -> bool + | + | is_one(self, *args) -> 'bool' + | is_one(self) -> bool + | + | is_positive_constant(self, *args) -> 'bool' + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) -> 'bool' + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) -> 'bool' + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) -> 'bool' + | is_udt(self) -> bool + | + | is_undef_val(self, *args) -> 'bool' + | is_undef_val(self) -> bool + | + | is_zero(self, *args) -> 'bool' + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) -> 'bool' + | is_zero_extended_from(self, nbytes) -> bool + | + | make_blkref(self, *args) -> 'void' + | make_blkref(self, blknum) + | + | make_first_half(self, *args) -> 'bool' + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) -> 'bool' + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) -> 'void' + | make_gvar(self, ea) + | + | make_helper(self, *args) -> 'void' + | make_helper(self, name) + | + | make_high_half(self, *args) -> 'bool' + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) -> 'void' + | make_insn(self, ins) + | + | make_low_half(self, *args) -> 'bool' + | make_low_half(self, width) -> bool + | + | make_number(self, *args) -> 'void' + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) -> 'void' + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) -> 'void' + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) -> 'bool' + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) -> 'bool' + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) -> 'bool' + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) -> 'bool' + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) -> 'void' + | set_impptr_done(self) + | + | set_udt(self, *args) -> 'void' + | set_udt(self) + | + | set_undef_val(self, *args) -> 'void' + | set_undef_val(self) + | + | shift_mop(self, *args) -> 'bool' + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) -> 'int64' + | signed_value(self) -> int64 + | + | swap(self, *args) -> 'void' + | swap(self, rop) + | + | unsigned_value(self, *args) -> 'uint64' + | unsigned_value(self) -> uint64 + | + | value(self, *args) -> 'uint64' + | value(self, is_signed) -> uint64 + | + | zero(self, *args) -> 'void' + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from mop_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | valnum + | mop_t_valnum_get(self) -> uint16 + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from mop_t: + | + | __hash__ = None + +Help on class mop_pair_t in module ida_hexrays: + +class mop_pair_t(builtins.object) + | Proxy of C++ mop_pair_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mop_pair_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mop_pair_t(...) + | delete_mop_pair_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hop + | mop_pair_t_hop_get(self) -> mop_t + | + | lop + | mop_pair_t_lop_get(self) -> mop_t + | + | thisown + | The membership flag + +Help on class mop_t in module ida_hexrays: + +class mop_t(builtins.object) + | Proxy of C++ mop_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, rop) -> bool + | + | __init__(self, *args) + | __init__(self) -> mop_t + | __init__(self, rop) -> mop_t + | __init__(self, _r, _s) -> mop_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, rop) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mop_t(...) + | delete_mop_t(self) + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) -> 'mop_addr_t *' + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) -> 'int' + | _get_b(self) -> int + | + | _get_c(self, *args) -> 'mcases_t *' + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) -> 'char const *' + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) -> 'minsn_t *' + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) -> 'mcallinfo_t *' + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) -> 'fnumber_t *' + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) -> 'ea_t' + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) -> 'char const *' + | _get_helper(self) -> char const * + | + | _get_l(self, *args) -> 'lvar_ref_t *' + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) -> 'mnumber_t *' + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) -> 'mop_pair_t *' + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) -> 'mreg_t' + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) -> 'stkvar_ref_t *' + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) -> 'scif_t *' + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) -> 'mopt_t' + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) -> 'void' + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) -> 'void' + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) -> 'void' + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) -> 'void' + | _make_gvar(self, ea) + | + | _make_insn(self, *args) -> 'void' + | _make_insn(self, ins) + | + | _make_lvar(self, *args) -> 'void' + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) -> 'void' + | _make_pair(self, _pair) + | + | _make_reg(self, *args) -> 'void' + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) -> 'void' + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) -> 'void' + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) -> 'void' + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _set_a(self, *args) -> 'void' + | _set_a(self, _v) + | + | _set_b(self, *args) -> 'void' + | _set_b(self, _v) + | + | _set_c(self, *args) -> 'void' + | _set_c(self, _v) + | + | _set_cstr(self, *args) -> 'void' + | _set_cstr(self, _v) + | + | _set_d(self, *args) -> 'void' + | _set_d(self, _v) + | + | _set_f(self, *args) -> 'void' + | _set_f(self, _v) + | + | _set_fpc(self, *args) -> 'void' + | _set_fpc(self, _v) + | + | _set_g(self, *args) -> 'void' + | _set_g(self, _v) + | + | _set_helper(self, *args) -> 'void' + | _set_helper(self, _v) + | + | _set_l(self, *args) -> 'void' + | _set_l(self, _v) + | + | _set_nnn(self, *args) -> 'void' + | _set_nnn(self, _v) + | + | _set_pair(self, *args) -> 'void' + | _set_pair(self, _v) + | + | _set_r(self, *args) -> 'void' + | _set_r(self, _v) + | + | _set_s(self, *args) -> 'void' + | _set_s(self, _v) + | + | _set_scif(self, *args) -> 'void' + | _set_scif(self, _v) + | + | _set_t(self, *args) -> 'void' + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) -> 'void' + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) -> 'void' + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) -> 'void' + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) -> 'mop_t &' + | assign(self, rop) -> mop_t + | + | change_size(self, *args) -> 'bool' + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) -> 'void' + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) -> 'bool' + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) -> 'bool' + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) -> 'void' + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) -> 'void' + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) -> 'bool' + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | equal_mops(self, *args) -> 'bool' + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) -> 'void' + | erase(self) + | + | erase_but_keep_size(self, *args) -> 'void' + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) -> 'int' + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) -> 'minsn_t *' + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) -> 'bool' + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) -> 'bool' + | is01(self) -> bool + | + | is_arglist(self, *args) -> 'bool' + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) -> 'bool' + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) -> 'bool' + | is_cc(self) -> bool + | + | is_ccflags(self, *args) -> 'bool' + | is_ccflags(self) -> bool + | + | is_constant(self, *args) -> 'bool' + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) -> 'bool' + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) -> 'bool' + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) -> 'bool' + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) -> 'bool' + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) -> 'bool' + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) -> 'bool' + | is_kreg(self) -> bool + | + | is_mob(self, *args) -> 'bool' + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) -> 'bool' + | is_negative_constant(self) -> bool + | + | is_one(self, *args) -> 'bool' + | is_one(self) -> bool + | + | is_positive_constant(self, *args) -> 'bool' + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) -> 'bool' + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) -> 'bool' + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) -> 'bool' + | is_udt(self) -> bool + | + | is_undef_val(self, *args) -> 'bool' + | is_undef_val(self) -> bool + | + | is_zero(self, *args) -> 'bool' + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) -> 'bool' + | is_zero_extended_from(self, nbytes) -> bool + | + | lexcompare(self, *args) -> 'int' + | lexcompare(self, rop) -> int + | + | make_blkref(self, *args) -> 'void' + | make_blkref(self, blknum) + | + | make_first_half(self, *args) -> 'bool' + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) -> 'bool' + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) -> 'void' + | make_gvar(self, ea) + | + | make_helper(self, *args) -> 'void' + | make_helper(self, name) + | + | make_high_half(self, *args) -> 'bool' + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) -> 'void' + | make_insn(self, ins) + | + | make_low_half(self, *args) -> 'bool' + | make_low_half(self, width) -> bool + | + | make_number(self, *args) -> 'void' + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) -> 'void' + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) -> 'void' + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) -> 'bool' + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) -> 'bool' + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) -> 'bool' + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) -> 'bool' + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) -> 'void' + | set_impptr_done(self) + | + | set_udt(self, *args) -> 'void' + | set_udt(self) + | + | set_undef_val(self, *args) -> 'void' + | set_undef_val(self) + | + | shift_mop(self, *args) -> 'bool' + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) -> 'int64' + | signed_value(self) -> int64 + | + | swap(self, *args) -> 'void' + | swap(self, rop) + | + | unsigned_value(self, *args) -> 'uint64' + | unsigned_value(self) -> uint64 + | + | value(self, *args) -> 'uint64' + | value(self, is_signed) -> uint64 + | + | zero(self, *args) -> 'void' + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | thisown + | The membership flag + | + | valnum + | mop_t_valnum_get(self) -> uint16 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class mop_visitor_t in module ida_hexrays: + +class mop_visitor_t(op_parent_info_t) + | Proxy of C++ mop_visitor_t class. + | + | Method resolution order: + | mop_visitor_t + | op_parent_info_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> mop_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mop_visitor_t(...) + | delete_mop_visitor_t(self) + | + | visit_mop(self, *args) -> 'int' + | visit_mop(self, op, type, is_target) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | prune + | mop_visitor_t_prune_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from op_parent_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + +Help on class mopvec_t in module ida_hexrays: + +class mopvec_t(builtins.object) + | Proxy of C++ qvector< mop_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'mop_t const &' + | __getitem__(self, i) -> mop_t + | + | __init__(self, *args) + | __init__(self) -> mopvec_t + | __init__(self, x) -> mopvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_mopvec_t(...) + | delete_mopvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'mop_t const &' + | at(self, _idx) -> mop_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< mop_t >::const_iterator' + | begin(self) -> mop_t + | begin(self) -> mop_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< mop_t >::const_iterator' + | end(self) -> mop_t + | end(self) -> mop_t + | + | erase(self, *args) -> 'qvector< mop_t >::iterator' + | erase(self, it) -> mop_t + | erase(self, first, last) -> mop_t + | + | extract(self, *args) -> 'mop_t *' + | extract(self) -> mop_t + | + | find(self, *args) -> 'qvector< mop_t >::const_iterator' + | find(self, x) -> mop_t + | find(self, x) -> mop_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=mop_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< mop_t >::iterator' + | insert(self, it, x) -> mop_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'mop_t &' + | push_back(self, x) + | push_back(self) -> mop_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function mreg2reg in module ida_hexrays: + +mreg2reg(*args) -> 'int' + mreg2reg(reg, width) -> int + + + Map a microregister to a processor register. + + @param reg: microregister number (C++: mreg_t) + @param width: size of microregister in bytes (C++: int) + @return: processor register id or -1 + +Help on function must_mcode_close_block in module ida_hexrays: + +must_mcode_close_block(*args) -> 'bool' + 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: instruction opcode (C++: mcode_t) + @param including_calls: 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 because + before MMAT_CALLS they are closing opcodes. + Afteer MMAT_CALLS that are not considered as + closing opcodes. (C++: bool) + +Help on function negate_mcode_relation in module ida_hexrays: + +negate_mcode_relation(*args) -> 'mcode_t' + negate_mcode_relation(code) -> mcode_t + +Help on function negated_relation in module ida_hexrays: + +negated_relation(*args) -> 'ctype_t' + negated_relation(op) -> ctype_t + + + Negate a comparison operator. For example, cot_sge becomes cot_slt. + + + @param op (C++: ctype_t) + +Help on function new_block in module ida_hexrays: + +new_block() + +Help on class number_format_t in module ida_hexrays: + +class number_format_t(builtins.object) + | Proxy of C++ number_format_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _opnum=0) -> number_format_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_number_format_t(...) + | delete_number_format_t(self) + | + | get_radix(self, *args) -> 'int' + | get_radix(self) -> int + | + | is_char(self, *args) -> 'bool' + | is_char(self) -> bool + | + | is_dec(self, *args) -> 'bool' + | is_dec(self) -> bool + | + | is_enum(self, *args) -> 'bool' + | is_enum(self) -> bool + | + | is_fixed(self, *args) -> 'bool' + | is_fixed(self) -> bool + | + | is_hex(self, *args) -> 'bool' + | is_hex(self) -> bool + | + | is_numop(self, *args) -> 'bool' + | is_numop(self) -> bool + | + | is_oct(self, *args) -> 'bool' + | is_oct(self) -> bool + | + | is_stroff(self, *args) -> 'bool' + | is_stroff(self) -> bool + | + | needs_to_be_inverted(self, *args) -> 'bool' + | needs_to_be_inverted(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | number_format_t_flags_get(self) -> flags_t + | + | opnum + | number_format_t_opnum_get(self) -> char + | + | org_nbytes + | number_format_t_org_nbytes_get(self) -> char + | + | props + | number_format_t_props_get(self) -> char + | + | serial + | number_format_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | type_name + | number_format_t_type_name_get(self) -> qstring * + +Help on class op_parent_info_t in module ida_hexrays: + +class op_parent_info_t(builtins.object) + | Proxy of C++ op_parent_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> op_parent_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_op_parent_info_t(...) + | delete_op_parent_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + +Help on function op_uses_x in module ida_hexrays: + +op_uses_x(*args) -> 'bool' + op_uses_x(op) -> bool + + + Does operator use the 'x' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function op_uses_y in module ida_hexrays: + +op_uses_y(*args) -> 'bool' + op_uses_y(op) -> bool + + + Does operator use the 'y' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function op_uses_z in module ida_hexrays: + +op_uses_z(*args) -> 'bool' + op_uses_z(op) -> bool + + + Does operator use the 'z' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function open_pseudocode in module ida_hexrays: + +open_pseudocode(*args) -> 'vdui_t *' + open_pseudocode(ea, new_window) -> vdui_t + + + Open pseudocode window. The specified function is decompiled and the + pseudocode window is opened. + + @param ea: function to decompile (C++: ea_t) + @param new_window: 0:reuse existing window; 1:open new window; -1: + reuse existing window if the current view is + pseudocode (C++: int) + @return: false if failed + +Help on class operand_locator_t in module ida_hexrays: + +class operand_locator_t(builtins.object) + | Proxy of C++ operand_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _ea, _opnum) -> operand_locator_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_operand_locator_t(...) + | delete_operand_locator_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | operand_locator_t_ea_get(self) -> ea_t + | + | opnum + | operand_locator_t_opnum_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class operator_info_t in module ida_hexrays: + +class operator_info_t(builtins.object) + | Proxy of C++ operator_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> operator_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_operator_info_t(...) + | delete_operator_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fixtype + | operator_info_t_fixtype_get(self) -> uchar + | + | flags + | operator_info_t_flags_get(self) -> uchar + | + | precedence + | operator_info_t_precedence_get(self) -> uchar + | + | text + | operator_info_t_text_get(self) -> char const * + | + | thisown + | The membership flag + | + | valency + | operator_info_t_valency_get(self) -> uchar + +Help on class optblock_t in module ida_hexrays: + +class optblock_t(builtins.object) + | Proxy of C++ optblock_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> optblock_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_optblock_t(...) + | delete_optblock_t(self) + | + | func(self, *args) -> 'int' + | func(self, blk) -> int + | + | install(self, *args) -> 'void' + | install(self) + | + | remove(self, *args) -> 'bool' + | remove(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class optinsn_t in module ida_hexrays: + +class optinsn_t(builtins.object) + | Proxy of C++ optinsn_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> optinsn_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_optinsn_t(...) + | delete_optinsn_t(self) + | + | func(self, *args) -> 'int' + | func(self, blk, ins) -> int + | + | install(self, *args) -> 'void' + | install(self) + | + | remove(self, *args) -> 'bool' + | remove(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function parse_user_call in module ida_hexrays: + +parse_user_call(*args) -> 'bool' + parse_user_call(udc, decl, silent) -> bool + + + Convert function type declaration into internal structure + + @param udc: - pointer to output structure (C++: udcall_t *) + @param decl: - function type declaration (C++: const char *) + @param silent: - if TRUE: do not show warning in case of incorrect + type (C++: bool) + @return: success + +Help on function partial_type_num in module ida_hexrays: + +partial_type_num(*args) -> 'int' + partial_type_num(type) -> int + + + Calculate number of partial subtypes. + + @param type (C++: const tinfo_t &) + @return: number of partial subtypes. The bigger is this number, the + uglier is the type. + +Help on function print_vdloc in module ida_hexrays: + +print_vdloc(*args) -> 'qstring *' + print_vdloc(loc, nbytes) + + + Print vdloc. Since vdloc does not always carry the size info, we pass + it as NBYTES.. + + @param loc (C++: const vdloc_t &) + @param nbytes (C++: int) + +Help on function property_op_to_typename in module ida_hexrays: + +property_op_to_typename(self) + +Help on class qlist_cinsn_t in module ida_hexrays: + +class qlist_cinsn_t(builtins.object) + | Proxy of C++ qlist< cinsn_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> qlist_cinsn_t + | __init__(self, x) -> qlist_cinsn_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, x) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qlist_cinsn_t(...) + | delete_qlist_cinsn_t(self) + | + | back(self, *args) -> 'cinsn_t const &' + | back(self) -> cinsn_t + | back(self) -> cinsn_t + | + | begin(self, *args) -> 'qlist_cinsn_t_iterator' + | begin(self) -> qlist_cinsn_t_iterator + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qlist_cinsn_t_iterator' + | end(self) -> qlist_cinsn_t_iterator + | + | erase(self, *args) -> 'void' + | erase(self, p) -> qlist< cinsn_t >::iterator + | erase(self, p1, p2) + | erase(self, p) + | + | front(self, *args) -> 'cinsn_t const &' + | front(self) -> cinsn_t + | front(self) -> cinsn_t + | + | insert(self, *args) -> 'qlist_cinsn_t_iterator' + | insert(self, p, x) -> qlist< cinsn_t >::iterator + | insert(self, p) -> qlist< cinsn_t >::iterator + | insert(self, p, x) -> qlist_cinsn_t_iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | pop_front(self, *args) -> 'void' + | pop_front(self) + | + | push_back(self, *args) -> 'cinsn_t &' + | push_back(self, x) + | push_back(self) -> cinsn_t + | + | push_front(self, *args) -> 'void' + | push_front(self, x) + | + | rbegin(self, *args) -> 'qlist< cinsn_t >::const_reverse_iterator' + | rbegin(self) -> qlist< cinsn_t >::reverse_iterator + | rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | rend(self, *args) -> 'qlist< cinsn_t >::const_reverse_iterator' + | rend(self) -> qlist< cinsn_t >::reverse_iterator + | rend(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, x) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qlist_cinsn_t_iterator in module ida_hexrays: + +class qlist_cinsn_t_iterator(builtins.object) + | Proxy of C++ qlist_cinsn_t_iterator class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> qlist_cinsn_t_iterator + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, x) -> bool + | + | __next__(self, *args) -> 'void' + | __next__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qlist_cinsn_t_iterator(...) + | delete_qlist_cinsn_t_iterator(self) + | + | next = __next__(self, *args) -> 'void' + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cur + | qlist_cinsn_t_iterator_cur_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qstring_printer_t in module ida_hexrays: + +class qstring_printer_t(vc_printer_t) + | Proxy of C++ qstring_printer_t class. + | + | Method resolution order: + | qstring_printer_t + | vc_printer_t + | vd_printer_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, f, tags) -> qstring_printer_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) -> 'int' + | _print(self, indent, format) -> int + | + | get_s(self, *args) -> 'qstring' + | get_s(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | s + | + | thisown + | The membership flag + | + | with_tags + | qstring_printer_t_with_tags_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Methods inherited from vc_printer_t: + | + | __disown__(self) + | + | __swig_destroy__ = delete_vc_printer_t(...) + | delete_vc_printer_t(self) + | + | oneliner(self, *args) -> 'bool' + | oneliner(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vc_printer_t: + | + | func + | vc_printer_t_func_get(self) -> cfunc_t + | + | lastchar + | vc_printer_t_lastchar_get(self) -> char + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_printer_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + +Help on function qswap in module ida_hexrays: + +qswap(*args) -> 'void' + qswap(a, b) + +Help on class qvector_carg_t in module ida_hexrays: + +class qvector_carg_t(builtins.object) + | Proxy of C++ qvector< carg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'carg_t const &' + | __getitem__(self, i) -> carg_t + | + | __init__(self, *args) + | __init__(self) -> qvector_carg_t + | __init__(self, x) -> qvector_carg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_qvector_carg_t(...) + | delete_qvector_carg_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'carg_t &' + | + | at = __getitem__(self, *args) -> 'carg_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< carg_t >::const_iterator' + | begin(self) -> carg_t + | begin(self) -> carg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< carg_t >::const_iterator' + | end(self) -> carg_t + | end(self) -> carg_t + | + | erase(self, *args) -> 'qvector< carg_t >::iterator' + | erase(self, it) -> carg_t + | erase(self, first, last) -> carg_t + | + | extract(self, *args) -> 'carg_t *' + | extract(self) -> carg_t + | + | find(self, *args) -> 'qvector< carg_t >::const_iterator' + | find(self, x) -> carg_t + | find(self, x) -> carg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=carg_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< carg_t >::iterator' + | insert(self, it, x) -> carg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'carg_t &' + | push_back(self, x) + | push_back(self) -> carg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qvector_ccase_t in module ida_hexrays: + +class qvector_ccase_t(builtins.object) + | Proxy of C++ qvector< ccase_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'ccase_t const &' + | __getitem__(self, i) -> ccase_t + | + | __init__(self, *args) + | __init__(self) -> qvector_ccase_t + | __init__(self, x) -> qvector_ccase_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_qvector_ccase_t(...) + | delete_qvector_ccase_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'ccase_t &' + | + | at = __getitem__(self, *args) -> 'ccase_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< ccase_t >::const_iterator' + | begin(self) -> ccase_t + | begin(self) -> ccase_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< ccase_t >::const_iterator' + | end(self) -> ccase_t + | end(self) -> ccase_t + | + | erase(self, *args) -> 'qvector< ccase_t >::iterator' + | erase(self, it) -> ccase_t + | erase(self, first, last) -> ccase_t + | + | extract(self, *args) -> 'ccase_t *' + | extract(self) -> ccase_t + | + | find(self, *args) -> 'qvector< ccase_t >::const_iterator' + | find(self, x) -> ccase_t + | find(self, x) -> ccase_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=ccase_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< ccase_t >::iterator' + | insert(self, it, x) -> ccase_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'ccase_t &' + | push_back(self, x) + | push_back(self) -> ccase_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qvector_history_t in module ida_hexrays: + +class qvector_history_t(builtins.object) + | Proxy of C++ qvector< history_item_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'history_item_t const &' + | __getitem__(self, i) -> history_item_t + | + | __init__(self, *args) + | __init__(self) -> qvector_history_t + | __init__(self, x) -> qvector_history_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_qvector_history_t(...) + | delete_qvector_history_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'history_item_t const &' + | at(self, _idx) -> history_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< history_item_t >::const_iterator' + | begin(self) -> history_item_t + | begin(self) -> history_item_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< history_item_t >::const_iterator' + | end(self) -> history_item_t + | end(self) -> history_item_t + | + | erase(self, *args) -> 'qvector< history_item_t >::iterator' + | erase(self, it) -> history_item_t + | erase(self, first, last) -> history_item_t + | + | extract(self, *args) -> 'history_item_t *' + | extract(self) -> history_item_t + | + | find(self, *args) -> 'qvector< history_item_t >::const_iterator' + | find(self, x) -> history_item_t + | find(self, x) -> history_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=history_item_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< history_item_t >::iterator' + | insert(self, it, x) -> history_item_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'history_item_t &' + | push_back(self, x) + | push_back(self) -> history_item_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qvector_lvar_t in module ida_hexrays: + +class qvector_lvar_t(builtins.object) + | Proxy of C++ qvector< lvar_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'lvar_t const &' + | __getitem__(self, i) -> lvar_t + | + | __init__(self, *args) + | __init__(self) -> qvector_lvar_t + | __init__(self, x) -> qvector_lvar_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_qvector_lvar_t(...) + | delete_qvector_lvar_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'lvar_t &' + | + | at = __getitem__(self, *args) -> 'lvar_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< lvar_t >::const_iterator' + | begin(self) -> lvar_t + | begin(self) -> lvar_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< lvar_t >::const_iterator' + | end(self) -> lvar_t + | end(self) -> lvar_t + | + | erase(self, *args) -> 'qvector< lvar_t >::iterator' + | erase(self, it) -> lvar_t + | erase(self, first, last) -> lvar_t + | + | extract(self, *args) -> 'lvar_t *' + | extract(self) -> lvar_t + | + | find(self, *args) -> 'qvector< lvar_t >::const_iterator' + | find(self, x) -> lvar_t + | find(self, x) -> lvar_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=lvar_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< lvar_t >::iterator' + | insert(self, it, x) -> lvar_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'lvar_t &' + | push_back(self, x) + | push_back(self) -> lvar_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function reg2mreg in module ida_hexrays: + +reg2mreg(*args) -> 'mreg_t' + reg2mreg(reg) -> mreg_t + + + Map a processor register to a microregister. + + @param reg: processor register number (C++: int) + @return: microregister register id or mr_none + +Help on function remitem in module ida_hexrays: + +remitem(*args) -> 'void' + remitem(e) + +Help on function remove_hexrays_callback in module ida_hexrays: + +remove_hexrays_callback(callback) + Deprecated. Please use Hexrays_Hooks instead + +Help on function restore_user_cmts in module ida_hexrays: + +restore_user_cmts(*args) -> 'user_cmts_t *' + restore_user_cmts(func_ea) -> user_cmts_t + + + Restore user defined comments from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined comments. The returned object must + be deleted by the caller using delete_user_cmts() + +Help on function restore_user_defined_calls in module ida_hexrays: + +restore_user_defined_calls(*args) -> 'bool' + restore_user_defined_calls(udcalls, func_ea) -> bool + + + Restore user defined function calls from the database. + + @param udcalls: ptr to output buffer (C++: udcall_map_t *) + @param func_ea: entry address of the function (C++: ea_t) + @return: success + +Help on function restore_user_iflags in module ida_hexrays: + +restore_user_iflags(*args) -> 'user_iflags_t *' + restore_user_iflags(func_ea) -> user_iflags_t + + + Restore user defined citem iflags from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined iflags. The returned object must + be deleted by the caller using delete_user_iflags() + +Help on function restore_user_labels in module ida_hexrays: + +restore_user_labels(*args) -> 'user_labels_t *' + restore_user_labels(func_ea) -> user_labels_t + + + Restore user defined labels from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined labels. The returned object must + be deleted by the caller using delete_user_labels() + +Help on function restore_user_lvar_settings in module ida_hexrays: + +restore_user_lvar_settings(*args) -> 'bool' + restore_user_lvar_settings(lvinf, func_ea) -> bool + + + Restore user defined local variable settings in the database. + + @param lvinf: ptr to output buffer (C++: lvar_uservec_t *) + @param func_ea: entry address of the function (C++: ea_t) + @return: success + +Help on function restore_user_numforms in module ida_hexrays: + +restore_user_numforms(*args) -> 'user_numforms_t *' + restore_user_numforms(func_ea) -> user_numforms_t + + + Restore user defined number formats from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined number formats. The returned + object must be deleted by the caller using + delete_user_numforms() + +Help on function restore_user_unions in module ida_hexrays: + +restore_user_unions(*args) -> 'user_unions_t *' + restore_user_unions(func_ea) -> user_unions_t + + + Restore user defined union field selections from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of union field selections The returned object must + be deleted by the caller using delete_user_unions() + +Help on class rlist_t in module ida_hexrays: + +class rlist_t(bitset_t) + | Proxy of C++ rlist_t class. + | + | Method resolution order: + | rlist_t + | bitset_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rlist_t + | __init__(self, m) -> rlist_t + | __init__(self, reg, width) -> rlist_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_rlist_t(...) + | delete_rlist_t(self) + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from bitset_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __iter__(self) + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __len__ = count(self, *args) -> 'int' + | count(self) -> int + | count(self, bit) -> int + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | add(self, *args) -> 'bool' + | add(self, bit) -> bool + | add(self, bit, width) -> bool + | add(self, ml) -> bool + | + | back(self, *args) -> 'int' + | back(self) -> int + | + | begin(self, *args) -> 'bitset_t::iterator' + | begin(self) -> bitset_t::iterator + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | copy(self, *args) -> 'bitset_t &' + | copy(self, m) -> bitset_t + | + | count(self, *args) -> 'int' + | count(self) -> int + | count(self, bit) -> int + | + | cut_at(self, *args) -> 'bool' + | cut_at(self, maxbit) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'bitset_t::iterator' + | end(self) -> bitset_t::iterator + | + | fill_with_ones(self, *args) -> 'void' + | fill_with_ones(self, maxbit) + | + | front(self, *args) -> 'int' + | front(self) -> int + | + | has(self, *args) -> 'bool' + | has(self, bit) -> bool + | + | has_all(self, *args) -> 'bool' + | has_all(self, bit, width) -> bool + | + | has_any(self, *args) -> 'bool' + | has_any(self, bit, width) -> bool + | + | has_common(self, *args) -> 'bool' + | has_common(self, ml) -> bool + | + | inc(self, *args) -> 'void' + | inc(self, p, n=1) + | + | includes(self, *args) -> 'bool' + | includes(self, ml) -> bool + | + | intersect(self, *args) -> 'bool' + | intersect(self, ml) -> bool + | + | is_subset_of(self, *args) -> 'bool' + | is_subset_of(self, ml) -> bool + | + | itat(self, *args) -> 'bitset_t::iterator' + | itat(self, n) -> bitset_t::iterator + | + | itv(self, *args) -> 'int' + | itv(self, it) -> int + | + | last(self, *args) -> 'int' + | last(self) -> int + | + | shift_down(self, *args) -> 'void' + | shift_down(self, shift) + | + | sub(self, *args) -> 'bool' + | sub(self, bit) -> bool + | sub(self, bit, width) -> bool + | sub(self, ml) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from bitset_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from bitset_t: + | + | __hash__ = None + +Help on function save_user_cmts in module ida_hexrays: + +save_user_cmts(*args) -> 'void' + save_user_cmts(func_ea, user_cmts) + + + Save user defined comments into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param user_cmts: collection of user defined comments (C++: const + user_cmts_t *) + +Help on function save_user_defined_calls in module ida_hexrays: + +save_user_defined_calls(*args) -> 'void' + save_user_defined_calls(func_ea, udcalls) + + + Save user defined local function calls into the database. + + @param func_ea: entry address of the function (C++: ea_t) + @param udcalls: user-specified info about user defined function calls + (C++: const udcall_map_t &) + +Help on function save_user_iflags in module ida_hexrays: + +save_user_iflags(*args) -> 'void' + save_user_iflags(func_ea, iflags) + + + Save user defined citem iflags into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param iflags: collection of user defined citem iflags (C++: const + user_iflags_t *) + +Help on function save_user_labels in module ida_hexrays: + +save_user_labels(*args) -> 'void' + save_user_labels(func_ea, user_labels) + + + Save user defined labels into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param user_labels: collection of user defined labels (C++: const + user_labels_t *) + +Help on function save_user_lvar_settings in module ida_hexrays: + +save_user_lvar_settings(*args) -> 'void' + save_user_lvar_settings(func_ea, lvinf) + + + Save user defined local variable settings into the database. + + @param func_ea: entry address of the function (C++: ea_t) + @param lvinf: user-specified info about local variables (C++: const + lvar_uservec_t &) + +Help on function save_user_numforms in module ida_hexrays: + +save_user_numforms(*args) -> 'void' + save_user_numforms(func_ea, numforms) + + + Save user defined number formats into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param numforms: collection of user defined comments (C++: const + user_numforms_t *) + +Help on function save_user_unions in module ida_hexrays: + +save_user_unions(*args) -> 'void' + save_user_unions(func_ea, unions) + + + Save user defined union field selections into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param unions: collection of union field selections (C++: const + user_unions_t *) + +Help on class scif_t in module ida_hexrays: + +class scif_t(vdloc_t) + | Proxy of C++ scif_t class. + | + | Method resolution order: + | scif_t + | vdloc_t + | ida_typeinf.argloc_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _mba, n, tif) -> scif_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_scif_t(...) + | delete_scif_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | mba + | scif_t_mba_get(self) -> mbl_array_t + | + | name + | scif_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | scif_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Methods inherited from vdloc_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _set_reg1(self, *args) -> 'void' + | _set_reg1(self, r1) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | is_aliasable(self, *args) -> 'bool' + | is_aliasable(self, mb, size) -> bool + | + | reg1(self, *args) -> 'int' + | reg1(self) -> int + | + | set_reg1(self, *args) -> 'void' + | set_reg1(self, r1) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from vdloc_t: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_typeinf.argloc_t: + | + | _consume_rrel(self, *args) -> 'bool' + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) -> 'bool' + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) -> 'void' + | _set_badloc(self) + | + | _set_biggest(self, *args) -> 'void' + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) -> 'void' + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) -> 'void' + | _set_ea(self, _ea) + | + | _set_reg2(self, *args) -> 'void' + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) -> 'void' + | _set_stkoff(self, off) + | + | advance(self, *args) -> 'bool' + | advance(self, delta) -> bool + | + | atype(self, *args) -> 'argloc_type_t' + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) -> 'sval_t' + | calc_offset(self) -> sval_t + | + | consume_rrel(self, *args) -> 'void' + | consume_rrel(self, p) + | + | consume_scattered(self, *args) -> 'void' + | consume_scattered(self, p) + | + | get_biggest(self, *args) -> 'argloc_t::biggest_t' + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) -> 'void *' + | get_custom(self) -> void * + | + | get_ea(self, *args) -> 'ea_t' + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) -> 'uint32' + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) -> 'rrel_t const &' + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) -> 'bool' + | has_reg(self) -> bool + | + | has_stkoff(self, *args) -> 'bool' + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) -> 'bool' + | is_badloc(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_ea(self, *args) -> 'bool' + | is_ea(self) -> bool + | + | is_fragmented(self, *args) -> 'bool' + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) -> 'bool' + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_rrel(self, *args) -> 'bool' + | is_rrel(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) -> 'void' + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) -> 'void' + | justify_stkoff_right(self, size, _slotsize) + | + | reg2(self, *args) -> 'int' + | reg2(self) -> int + | + | regoff(self, *args) -> 'int' + | regoff(self) -> int + | + | scattered(self, *args) -> 'scattered_aloc_t const &' + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) -> 'void' + | set_badloc(self) + | + | set_ea(self, *args) -> 'void' + | set_ea(self, _ea) + | + | set_reg2(self, *args) -> 'void' + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, off) + | + | stkoff(self, *args) -> 'sval_t' + | stkoff(self) -> sval_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_typeinf.argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class scif_visitor_t in module ida_hexrays: + +class scif_visitor_t(builtins.object) + | Proxy of C++ scif_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> scif_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_scif_visitor_t(...) + | delete_scif_visitor_t(self) + | + | visit_scif_mop(self, *args) -> 'int' + | visit_scif_mop(self, r, off) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function select_udt_by_offset in module ida_hexrays: + +select_udt_by_offset(*args) -> 'int' + select_udt_by_offset(udts, ops, applicator) -> int + + + Select UDT + + @param udts: list of UDT tinfo_t for the selection, if NULL or empty + then UDTs from the "Local types" will be used (C++: const + qvector < tinfo_t > *) + @param ops: operands (C++: const ui_stroff_ops_t &) + @param applicator (C++: ui_stroff_applicator_t &) + +Help on function send_database in module ida_hexrays: + +send_database(*args) -> 'void' + 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: failure description object. Empty hexrays_failure_t + object can be used if error information is not available. + (C++: const hexrays_failure_t &) + @param silent: if false, a dialog box will be displayed before sending + the database. (C++: bool) + +Help on function set2jcnd in module ida_hexrays: + +set2jcnd(*args) -> 'mcode_t' + set2jcnd(code) -> mcode_t + +Help on function set_type in module ida_hexrays: + +set_type(*args) -> 'bool' + set_type(id, tif, source, force=False) -> bool + + + Set a global type. + + @param id: address or id of the object (C++: uval_t) + @param tif: new type info (C++: const tinfo_t &) + @param source: where the type comes from (C++: type_source_t) + @param force: true means to set the type as is, false means to merge + the new type with the possibly existing old type info. + (C++: bool) + @return: success + +Help on class simple_graph_t in module ida_hexrays: + +class simple_graph_t(builtins.object) + | Proxy of C++ simple_graph_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | colored_gdl_edges + | simple_graph_t_colored_gdl_edges_get(self) -> bool + | + | thisown + | The membership flag + | + | title + | simple_graph_t_title_get(self) -> qstring * + +Help on class stkvar_ref_t in module ida_hexrays: + +class stkvar_ref_t(builtins.object) + | Proxy of C++ stkvar_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, m, o) -> stkvar_ref_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_stkvar_ref_t(...) + | delete_stkvar_ref_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, p_off=None) -> member_t * + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | mba + | stkvar_ref_t_mba_get(self) -> mbl_array_t + | + | off + | stkvar_ref_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function swap_mcode_relation in module ida_hexrays: + +swap_mcode_relation(*args) -> 'mcode_t' + swap_mcode_relation(code) -> mcode_t + +Help on function swapped_relation in module ida_hexrays: + +swapped_relation(*args) -> 'ctype_t' + swapped_relation(op) -> ctype_t + + + Swap a comparison operator. For example, cot_sge becomes cot_sle. + + + @param op (C++: ctype_t) + +Help on function term_hexrays_plugin in module ida_hexrays: + +term_hexrays_plugin(*args) -> 'void' + term_hexrays_plugin() + + + Stop working with hex-rays decompiler. + +Help on class treeloc_t in module ida_hexrays: + +class treeloc_t(builtins.object) + | Proxy of C++ treeloc_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> treeloc_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_treeloc_t(...) + | delete_treeloc_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | treeloc_t_ea_get(self) -> ea_t + | + | itp + | treeloc_t_itp_get(self) -> item_preciser_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class udc_filter_t in module ida_hexrays: + +class udc_filter_t(microcode_filter_t) + | Proxy of C++ udc_filter_t class. + | + | Method resolution order: + | udc_filter_t + | microcode_filter_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> udc_filter_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_udc_filter_t(...) + | delete_udc_filter_t(self) + | + | apply(self, *args) -> 'merror_t' + | apply(self, cdg) -> merror_t + | + | init(self, *args) -> 'bool' + | init(self, decl) -> bool + | + | match(self, *args) -> 'bool' + | match(self, cdg) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from microcode_filter_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function udcall_map_begin in module ida_hexrays: + +udcall_map_begin(*args) -> 'udcall_map_iterator_t' + 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 *) + +Help on function udcall_map_clear in module ida_hexrays: + +udcall_map_clear(*args) -> 'void' + udcall_map_clear(map) + + + Clear udcall_map_t. + + + @param map (C++: udcall_map_t *) + +Help on function udcall_map_end in module ida_hexrays: + +udcall_map_end(*args) -> 'udcall_map_iterator_t' + 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 *) + +Help on function udcall_map_erase in module ida_hexrays: + +udcall_map_erase(*args) -> 'void' + 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) + +Help on function udcall_map_find in module ida_hexrays: + +udcall_map_find(*args) -> 'udcall_map_iterator_t' + udcall_map_find(map, key) -> udcall_map_iterator_t + + + Find the specified key in udcall_map_t. + + + @param map (C++: const udcall_map_t *) + @param key (C++: const ea_t &) + +Help on function udcall_map_first in module ida_hexrays: + +udcall_map_first(*args) -> 'ea_t const &' + udcall_map_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_free in module ida_hexrays: + +udcall_map_free(*args) -> 'void' + udcall_map_free(map) + + + Delete udcall_map_t instance. + + + @param map (C++: udcall_map_t *) + +Help on function udcall_map_insert in module ida_hexrays: + +udcall_map_insert(*args) -> 'udcall_map_iterator_t' + 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 &) + @param val (C++: const udcall_t &) + +Help on class udcall_map_iterator_t in module ida_hexrays: + +class udcall_map_iterator_t(builtins.object) + | Proxy of C++ udcall_map_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> udcall_map_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_udcall_map_iterator_t(...) + | delete_udcall_map_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | udcall_map_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function udcall_map_new in module ida_hexrays: + +udcall_map_new(*args) -> 'udcall_map_t *' + udcall_map_new() -> udcall_map_t * + + + Create a new udcall_map_t instance. + +Help on function udcall_map_next in module ida_hexrays: + +udcall_map_next(*args) -> 'udcall_map_iterator_t' + udcall_map_next(p) -> udcall_map_iterator_t + + + Move to the next element. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_prev in module ida_hexrays: + +udcall_map_prev(*args) -> 'udcall_map_iterator_t' + udcall_map_prev(p) -> udcall_map_iterator_t + + + Move to the previous element. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_second in module ida_hexrays: + +udcall_map_second(*args) -> 'udcall_t &' + udcall_map_second(p) -> udcall_t + + + Get reference to the current map value. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_size in module ida_hexrays: + +udcall_map_size(*args) -> 'size_t' + udcall_map_size(map) -> size_t + + + Get size of udcall_map_t. + + + @param map (C++: udcall_map_t *) + +Help on class udcall_t in module ida_hexrays: + +class udcall_t(builtins.object) + | Proxy of C++ udcall_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> udcall_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_udcall_t(...) + | delete_udcall_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | udcall_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tif + | udcall_t_tif_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class ui_stroff_applicator_t in module ida_hexrays: + +class ui_stroff_applicator_t(builtins.object) + | Proxy of C++ ui_stroff_applicator_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_applicator_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ui_stroff_applicator_t(...) + | delete_ui_stroff_applicator_t(self) + | + | apply(self, *args) -> 'bool' + | apply(self, opnum, path) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class ui_stroff_op_t in module ida_hexrays: + +class ui_stroff_op_t(builtins.object) + | Proxy of C++ ui_stroff_op_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_op_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ui_stroff_op_t(...) + | delete_ui_stroff_op_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | offset + | ui_stroff_op_t_offset_get(self) -> uval_t + | + | text + | ui_stroff_op_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class ui_stroff_ops_t in module ida_hexrays: + +class ui_stroff_ops_t(builtins.object) + | Proxy of C++ qvector< ui_stroff_op_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'ui_stroff_op_t const &' + | __getitem__(self, i) -> ui_stroff_op_t + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_ops_t + | __init__(self, x) -> ui_stroff_ops_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_ui_stroff_ops_t(...) + | delete_ui_stroff_ops_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'ui_stroff_op_t &' + | + | at = __getitem__(self, *args) -> 'ui_stroff_op_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< ui_stroff_op_t >::const_iterator' + | begin(self) -> ui_stroff_op_t + | begin(self) -> ui_stroff_op_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< ui_stroff_op_t >::const_iterator' + | end(self) -> ui_stroff_op_t + | end(self) -> ui_stroff_op_t + | + | erase(self, *args) -> 'qvector< ui_stroff_op_t >::iterator' + | erase(self, it) -> ui_stroff_op_t + | erase(self, first, last) -> ui_stroff_op_t + | + | extract(self, *args) -> 'ui_stroff_op_t *' + | extract(self) -> ui_stroff_op_t + | + | find(self, *args) -> 'qvector< ui_stroff_op_t >::const_iterator' + | find(self, x) -> ui_stroff_op_t + | find(self, x) -> ui_stroff_op_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=ui_stroff_op_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< ui_stroff_op_t >::iterator' + | insert(self, it, x) -> ui_stroff_op_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'ui_stroff_op_t &' + | push_back(self, x) + | push_back(self) -> ui_stroff_op_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_cmts_begin in module ida_hexrays: + +user_cmts_begin(*args) -> 'user_cmts_iterator_t' + 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 *) + +Help on function user_cmts_clear in module ida_hexrays: + +user_cmts_clear(*args) -> 'void' + user_cmts_clear(map) + + + Clear user_cmts_t. + + + @param map (C++: user_cmts_t *) + +Help on function user_cmts_end in module ida_hexrays: + +user_cmts_end(*args) -> 'user_cmts_iterator_t' + 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 *) + +Help on function user_cmts_erase in module ida_hexrays: + +user_cmts_erase(*args) -> 'void' + 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) + +Help on function user_cmts_find in module ida_hexrays: + +user_cmts_find(*args) -> 'user_cmts_iterator_t' + user_cmts_find(map, key) -> user_cmts_iterator_t + + + Find the specified key in user_cmts_t. + + + @param map (C++: const user_cmts_t *) + @param key (C++: const treeloc_t &) + +Help on function user_cmts_first in module ida_hexrays: + +user_cmts_first(*args) -> 'treeloc_t const &' + user_cmts_first(p) -> treeloc_t + + + Get reference to the current map key. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_free in module ida_hexrays: + +user_cmts_free(*args) -> 'void' + user_cmts_free(map) + + + Delete user_cmts_t instance. + + + @param map (C++: user_cmts_t *) + +Help on function user_cmts_insert in module ida_hexrays: + +user_cmts_insert(*args) -> 'user_cmts_iterator_t' + 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 &) + @param val (C++: const citem_cmt_t &) + +Help on class user_cmts_iterator_t in module ida_hexrays: + +class user_cmts_iterator_t(builtins.object) + | Proxy of C++ user_cmts_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_cmts_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_cmts_iterator_t(...) + | delete_user_cmts_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_cmts_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_cmts_new in module ida_hexrays: + +user_cmts_new(*args) -> 'user_cmts_t *' + user_cmts_new() -> user_cmts_t + + + Create a new user_cmts_t instance. + +Help on function user_cmts_next in module ida_hexrays: + +user_cmts_next(*args) -> 'user_cmts_iterator_t' + user_cmts_next(p) -> user_cmts_iterator_t + + + Move to the next element. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_prev in module ida_hexrays: + +user_cmts_prev(*args) -> 'user_cmts_iterator_t' + user_cmts_prev(p) -> user_cmts_iterator_t + + + Move to the previous element. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_second in module ida_hexrays: + +user_cmts_second(*args) -> 'citem_cmt_t &' + user_cmts_second(p) -> citem_cmt_t + + + Get reference to the current map value. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_size in module ida_hexrays: + +user_cmts_size(*args) -> 'size_t' + user_cmts_size(map) -> size_t + + + Get size of user_cmts_t. + + + @param map (C++: user_cmts_t *) + +Help on class user_cmts_t in module ida_hexrays: + +class user_cmts_t(builtins.object) + | Proxy of C++ std::map< treeloc_t,citem_cmt_t > class. + | + | Methods defined here: + | + | __begin = user_cmts_begin(...) + | user_cmts_begin(map) -> user_cmts_iterator_t + | + | __clear = user_cmts_clear(...) + | user_cmts_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = user_cmts_end(...) + | user_cmts_end(map) -> user_cmts_iterator_t + | + | __erase = user_cmts_erase(...) + | user_cmts_erase(map, p) + | + | __find = user_cmts_find(...) + | user_cmts_find(map, key) -> user_cmts_iterator_t + | + | __first = user_cmts_first(...) + | user_cmts_first(p) -> treeloc_t + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_cmts_t + | + | __insert = user_cmts_insert(...) + | user_cmts_insert(map, key, val) -> user_cmts_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = user_cmts_next(...) + | user_cmts_next(p) -> user_cmts_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = user_cmts_second(...) + | user_cmts_second(p) -> citem_cmt_t + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = user_cmts_size(...) + | user_cmts_size(map) -> size_t + | + | __swig_destroy__ = delete_user_cmts_t(...) + | delete_user_cmts_t(self) + | + | at(self, *args) -> 'citem_cmt_t &' + | at(self, _Keyval) -> citem_cmt_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = + | Proxy of C++ treeloc_t class. + | + | valuetype = + | Proxy of C++ citem_cmt_t class. + +Help on function user_iflags_begin in module ida_hexrays: + +user_iflags_begin(*args) -> 'user_iflags_iterator_t' + 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 *) + +Help on function user_iflags_clear in module ida_hexrays: + +user_iflags_clear(*args) -> 'void' + user_iflags_clear(map) + + + Clear user_iflags_t. + + + @param map (C++: user_iflags_t *) + +Help on function user_iflags_end in module ida_hexrays: + +user_iflags_end(*args) -> 'user_iflags_iterator_t' + 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 *) + +Help on function user_iflags_erase in module ida_hexrays: + +user_iflags_erase(*args) -> 'void' + 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) + +Help on function user_iflags_find in module ida_hexrays: + +user_iflags_find(*args) -> 'user_iflags_iterator_t' + user_iflags_find(map, key) -> user_iflags_iterator_t + + + Find the specified key in user_iflags_t. + + + @param map (C++: const user_iflags_t *) + @param key (C++: const citem_locator_t &) + +Help on function user_iflags_first in module ida_hexrays: + +user_iflags_first(*args) -> 'citem_locator_t const &' + user_iflags_first(p) -> citem_locator_t + + + Get reference to the current map key. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_free in module ida_hexrays: + +user_iflags_free(*args) -> 'void' + user_iflags_free(map) + + + Delete user_iflags_t instance. + + + @param map (C++: user_iflags_t *) + +Help on function user_iflags_insert in module ida_hexrays: + +user_iflags_insert(*args) -> 'user_iflags_iterator_t' + 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 &) + @param val (C++: const int32 &) + +Help on class user_iflags_iterator_t in module ida_hexrays: + +class user_iflags_iterator_t(builtins.object) + | Proxy of C++ user_iflags_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_iflags_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_iflags_iterator_t(...) + | delete_user_iflags_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_iflags_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_iflags_new in module ida_hexrays: + +user_iflags_new(*args) -> 'user_iflags_t *' + user_iflags_new() -> user_iflags_t + + + Create a new user_iflags_t instance. + +Help on function user_iflags_next in module ida_hexrays: + +user_iflags_next(*args) -> 'user_iflags_iterator_t' + user_iflags_next(p) -> user_iflags_iterator_t + + + Move to the next element. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_prev in module ida_hexrays: + +user_iflags_prev(*args) -> 'user_iflags_iterator_t' + user_iflags_prev(p) -> user_iflags_iterator_t + + + Move to the previous element. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_second in module ida_hexrays: + +user_iflags_second(*args) -> 'int32 const &' + user_iflags_second(p) -> int32 const & + + + Get reference to the current map value. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_size in module ida_hexrays: + +user_iflags_size(*args) -> 'size_t' + user_iflags_size(map) -> size_t + + + Get size of user_iflags_t. + + + @param map (C++: user_iflags_t *) + +Help on class user_iflags_t in module ida_hexrays: + +class user_iflags_t(builtins.object) + | Proxy of C++ std::map< citem_locator_t,int32 > class. + | + | Methods defined here: + | + | __begin = user_iflags_begin(...) + | user_iflags_begin(map) -> user_iflags_iterator_t + | + | __clear = user_iflags_clear(...) + | user_iflags_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = user_iflags_end(...) + | user_iflags_end(map) -> user_iflags_iterator_t + | + | __erase = user_iflags_erase(...) + | user_iflags_erase(map, p) + | + | __find = user_iflags_find(...) + | user_iflags_find(map, key) -> user_iflags_iterator_t + | + | __first = user_iflags_first(...) + | user_iflags_first(p) -> citem_locator_t + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_iflags_t + | + | __insert = user_iflags_insert(...) + | user_iflags_insert(map, key, val) -> user_iflags_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = user_iflags_next(...) + | user_iflags_next(p) -> user_iflags_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = user_iflags_second(...) + | user_iflags_second(p) -> int32 const & + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = user_iflags_size(...) + | user_iflags_size(map) -> size_t + | + | __swig_destroy__ = delete_user_iflags_t(...) + | delete_user_iflags_t(self) + | + | at(self, *args) -> 'int &' + | at(self, _Keyval) -> int & + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = + | Proxy of C++ citem_locator_t class. + | + | valuetype = + | int(x=0) -> 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 + +Help on function user_labels_begin in module ida_hexrays: + +user_labels_begin(*args) -> 'user_labels_iterator_t' + 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 *) + +Help on function user_labels_clear in module ida_hexrays: + +user_labels_clear(*args) -> 'void' + user_labels_clear(map) + + + Clear user_labels_t. + + + @param map (C++: user_labels_t *) + +Help on function user_labels_end in module ida_hexrays: + +user_labels_end(*args) -> 'user_labels_iterator_t' + 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 *) + +Help on function user_labels_erase in module ida_hexrays: + +user_labels_erase(*args) -> 'void' + 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) + +Help on function user_labels_find in module ida_hexrays: + +user_labels_find(*args) -> 'user_labels_iterator_t' + user_labels_find(map, key) -> user_labels_iterator_t + + + Find the specified key in user_labels_t. + + + @param map (C++: const user_labels_t *) + @param key (C++: const int &) + +Help on function user_labels_first in module ida_hexrays: + +user_labels_first(*args) -> 'int const &' + user_labels_first(p) -> int const & + + + Get reference to the current map key. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_free in module ida_hexrays: + +user_labels_free(*args) -> 'void' + user_labels_free(map) + + + Delete user_labels_t instance. + + + @param map (C++: user_labels_t *) + +Help on function user_labels_insert in module ida_hexrays: + +user_labels_insert(*args) -> 'user_labels_iterator_t' + 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 &) + @param val (C++: const qstring &) + +Help on class user_labels_iterator_t in module ida_hexrays: + +class user_labels_iterator_t(builtins.object) + | Proxy of C++ user_labels_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_labels_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_labels_iterator_t(...) + | delete_user_labels_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_labels_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_labels_new in module ida_hexrays: + +user_labels_new(*args) -> 'user_labels_t *' + user_labels_new() -> user_labels_t + + + Create a new user_labels_t instance. + +Help on function user_labels_next in module ida_hexrays: + +user_labels_next(*args) -> 'user_labels_iterator_t' + user_labels_next(p) -> user_labels_iterator_t + + + Move to the next element. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_prev in module ida_hexrays: + +user_labels_prev(*args) -> 'user_labels_iterator_t' + user_labels_prev(p) -> user_labels_iterator_t + + + Move to the previous element. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_second in module ida_hexrays: + +user_labels_second(*args) -> 'qstring &' + user_labels_second(p) -> qstring & + + + Get reference to the current map value. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_size in module ida_hexrays: + +user_labels_size(*args) -> 'size_t' + user_labels_size(map) -> size_t + + + Get size of user_labels_t. + + + @param map (C++: user_labels_t *) + +Help on class user_labels_t in module ida_hexrays: + +class user_labels_t(builtins.object) + | Proxy of C++ std::map< int,qstring > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> user_labels_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_labels_t(...) + | delete_user_labels_t(self) + | + | at(self, *args) -> '_qstring< char > &' + | at(self, _Keyval) -> _qstring< char > & + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class user_lvar_modifier_t in module ida_hexrays: + +class user_lvar_modifier_t(builtins.object) + | Proxy of C++ user_lvar_modifier_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> user_lvar_modifier_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_lvar_modifier_t(...) + | delete_user_lvar_modifier_t(self) + | + | modify_lvars(self, *args) -> 'bool' + | modify_lvars(self, lvinf) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function user_numforms_begin in module ida_hexrays: + +user_numforms_begin(*args) -> 'user_numforms_iterator_t' + 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 *) + +Help on function user_numforms_clear in module ida_hexrays: + +user_numforms_clear(*args) -> 'void' + user_numforms_clear(map) + + + Clear user_numforms_t. + + + @param map (C++: user_numforms_t *) + +Help on function user_numforms_end in module ida_hexrays: + +user_numforms_end(*args) -> 'user_numforms_iterator_t' + 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 *) + +Help on function user_numforms_erase in module ida_hexrays: + +user_numforms_erase(*args) -> 'void' + 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) + +Help on function user_numforms_find in module ida_hexrays: + +user_numforms_find(*args) -> 'user_numforms_iterator_t' + user_numforms_find(map, key) -> user_numforms_iterator_t + + + Find the specified key in user_numforms_t. + + + @param map (C++: const user_numforms_t *) + @param key (C++: const operand_locator_t &) + +Help on function user_numforms_first in module ida_hexrays: + +user_numforms_first(*args) -> 'operand_locator_t const &' + user_numforms_first(p) -> operand_locator_t + + + Get reference to the current map key. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_free in module ida_hexrays: + +user_numforms_free(*args) -> 'void' + user_numforms_free(map) + + + Delete user_numforms_t instance. + + + @param map (C++: user_numforms_t *) + +Help on function user_numforms_insert in module ida_hexrays: + +user_numforms_insert(*args) -> 'user_numforms_iterator_t' + 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 &) + @param val (C++: const number_format_t &) + +Help on class user_numforms_iterator_t in module ida_hexrays: + +class user_numforms_iterator_t(builtins.object) + | Proxy of C++ user_numforms_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_numforms_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_numforms_iterator_t(...) + | delete_user_numforms_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_numforms_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_numforms_new in module ida_hexrays: + +user_numforms_new(*args) -> 'user_numforms_t *' + user_numforms_new() -> user_numforms_t + + + Create a new user_numforms_t instance. + +Help on function user_numforms_next in module ida_hexrays: + +user_numforms_next(*args) -> 'user_numforms_iterator_t' + user_numforms_next(p) -> user_numforms_iterator_t + + + Move to the next element. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_prev in module ida_hexrays: + +user_numforms_prev(*args) -> 'user_numforms_iterator_t' + user_numforms_prev(p) -> user_numforms_iterator_t + + + Move to the previous element. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_second in module ida_hexrays: + +user_numforms_second(*args) -> 'number_format_t &' + user_numforms_second(p) -> number_format_t + + + Get reference to the current map value. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_size in module ida_hexrays: + +user_numforms_size(*args) -> 'size_t' + user_numforms_size(map) -> size_t + + + Get size of user_numforms_t. + + + @param map (C++: user_numforms_t *) + +Help on class user_numforms_t in module ida_hexrays: + +class user_numforms_t(builtins.object) + | Proxy of C++ std::map< operand_locator_t,number_format_t > class. + | + | Methods defined here: + | + | __begin = user_numforms_begin(...) + | user_numforms_begin(map) -> user_numforms_iterator_t + | + | __clear = user_numforms_clear(...) + | user_numforms_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = user_numforms_end(...) + | user_numforms_end(map) -> user_numforms_iterator_t + | + | __erase = user_numforms_erase(...) + | user_numforms_erase(map, p) + | + | __find = user_numforms_find(...) + | user_numforms_find(map, key) -> user_numforms_iterator_t + | + | __first = user_numforms_first(...) + | user_numforms_first(p) -> operand_locator_t + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_numforms_t + | + | __insert = user_numforms_insert(...) + | user_numforms_insert(map, key, val) -> user_numforms_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = user_numforms_next(...) + | user_numforms_next(p) -> user_numforms_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = user_numforms_second(...) + | user_numforms_second(p) -> number_format_t + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = user_numforms_size(...) + | user_numforms_size(map) -> size_t + | + | __swig_destroy__ = delete_user_numforms_t(...) + | delete_user_numforms_t(self) + | + | at(self, *args) -> 'number_format_t &' + | at(self, _Keyval) -> number_format_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = + | Proxy of C++ operand_locator_t class. + | + | valuetype = + | Proxy of C++ number_format_t class. + +Help on function user_unions_begin in module ida_hexrays: + +user_unions_begin(*args) -> 'user_unions_iterator_t' + 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 *) + +Help on function user_unions_clear in module ida_hexrays: + +user_unions_clear(*args) -> 'void' + user_unions_clear(map) + + + Clear user_unions_t. + + + @param map (C++: user_unions_t *) + +Help on function user_unions_end in module ida_hexrays: + +user_unions_end(*args) -> 'user_unions_iterator_t' + 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 *) + +Help on function user_unions_erase in module ida_hexrays: + +user_unions_erase(*args) -> 'void' + 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) + +Help on function user_unions_find in module ida_hexrays: + +user_unions_find(*args) -> 'user_unions_iterator_t' + user_unions_find(map, key) -> user_unions_iterator_t + + + Find the specified key in user_unions_t. + + + @param map (C++: const user_unions_t *) + @param key (C++: const ea_t &) + +Help on function user_unions_first in module ida_hexrays: + +user_unions_first(*args) -> 'ea_t const &' + user_unions_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_free in module ida_hexrays: + +user_unions_free(*args) -> 'void' + user_unions_free(map) + + + Delete user_unions_t instance. + + + @param map (C++: user_unions_t *) + +Help on function user_unions_insert in module ida_hexrays: + +user_unions_insert(*args) -> 'user_unions_iterator_t' + 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 &) + @param val (C++: const intvec_t &) + +Help on class user_unions_iterator_t in module ida_hexrays: + +class user_unions_iterator_t(builtins.object) + | Proxy of C++ user_unions_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_unions_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_unions_iterator_t(...) + | delete_user_unions_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_unions_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_unions_new in module ida_hexrays: + +user_unions_new(*args) -> 'user_unions_t *' + user_unions_new() -> user_unions_t + + + Create a new user_unions_t instance. + +Help on function user_unions_next in module ida_hexrays: + +user_unions_next(*args) -> 'user_unions_iterator_t' + user_unions_next(p) -> user_unions_iterator_t + + + Move to the next element. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_prev in module ida_hexrays: + +user_unions_prev(*args) -> 'user_unions_iterator_t' + user_unions_prev(p) -> user_unions_iterator_t + + + Move to the previous element. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_second in module ida_hexrays: + +user_unions_second(*args) -> 'intvec_t &' + user_unions_second(p) -> intvec_t + + + Get reference to the current map value. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_size in module ida_hexrays: + +user_unions_size(*args) -> 'size_t' + user_unions_size(map) -> size_t + + + Get size of user_unions_t. + + + @param map (C++: user_unions_t *) + +Help on class user_unions_t in module ida_hexrays: + +class user_unions_t(builtins.object) + | Proxy of C++ std::map< ea_t,intvec_t > class. + | + | Methods defined here: + | + | __begin = user_unions_begin(...) + | user_unions_begin(map) -> user_unions_iterator_t + | + | __clear = user_unions_clear(...) + | user_unions_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = user_unions_end(...) + | user_unions_end(map) -> user_unions_iterator_t + | + | __erase = user_unions_erase(...) + | user_unions_erase(map, p) + | + | __find = user_unions_find(...) + | user_unions_find(map, key) -> user_unions_iterator_t + | + | __first = user_unions_first(...) + | user_unions_first(p) -> ea_t const & + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_unions_t + | + | __insert = user_unions_insert(...) + | user_unions_insert(map, key, val) -> user_unions_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = user_unions_next(...) + | user_unions_next(p) -> user_unions_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = user_unions_second(...) + | user_unions_second(p) -> intvec_t + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = user_unions_size(...) + | user_unions_size(map) -> size_t + | + | __swig_destroy__ = delete_user_unions_t(...) + | delete_user_unions_t(self) + | + | at(self, *args) -> 'qvector< int > &' + | at(self, _Keyval) -> intvec_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = (,) + | + | valuetype = + | Proxy of C++ qvector< int > class. + +Help on class uval_ivl_ivlset_t in module ida_hexrays: + +class uval_ivl_ivlset_t(builtins.object) + | Proxy of C++ ivlset_tpl< ivl_t,uval_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, v) -> bool + | + | __init__(self, *args) + | __init__(self) -> uval_ivl_ivlset_t + | __init__(self, ivl) -> uval_ivl_ivlset_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, v) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_uval_ivl_ivlset_t(...) + | delete_uval_ivl_ivlset_t(self) + | + | all_values(self, *args) -> 'bool' + | all_values(self) -> bool + | + | begin(self, *args) -> 'ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator'↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator'↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | getivl(self, *args) -> 'ivl_t const &' + | getivl(self, idx) -> ivl_t + | + | lastivl(self, *args) -> 'ivl_t const &' + | lastivl(self) -> ivl_t + | + | nivls(self, *args) -> 'size_t' + | nivls(self) -> size_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | set_all_values(self, *args) -> 'void' + | set_all_values(self) + | + | single_value(self, *args) -> 'bool' + | single_value(self, v) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class uval_ivl_t in module ida_hexrays: + +class uval_ivl_t(builtins.object) + | Proxy of C++ ivl_tpl< uval_t > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _off, _size) -> uval_ivl_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_uval_ivl_t(...) + | delete_uval_ivl_t(self) + | + | end(self, *args) -> 'unsigned-ea-like-numeric-type'↗ + | end(self) -> unsigned-ea-like-numeric-type↗ + | + | last(self, *args) -> 'unsigned-ea-like-numeric-type'↗ + | last(self) -> unsigned-ea-like-numeric-type↗ + | + | valid(self, *args) -> 'bool' + | valid(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type↗ + | + | size + | uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type↗ + | + | thisown + | The membership flag + +Help on class valrng_t in module ida_hexrays: + +class valrng_t(builtins.object) + | Proxy of C++ valrng_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, size_=MAX_VLR_SIZE) -> valrng_t + | __init__(self, r) -> valrng_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_valrng_t(...) + | delete_valrng_t(self) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | all_values(self, *args) -> 'bool' + | all_values(self) -> bool + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | cvt_to_cmp(self, *args) -> 'bool' + | cvt_to_cmp(self, strict) -> bool + | + | cvt_to_single_value(self, *args) -> 'bool' + | cvt_to_single_value(self) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | get_size(self, *args) -> 'int' + | get_size(self) -> int + | + | has(self, *args) -> 'bool' + | has(self, v) -> bool + | + | intersect_with(self, *args) -> 'bool' + | intersect_with(self, r) -> bool + | + | inverse(self, *args) -> 'void' + | inverse(self) + | + | is_unknown(self, *args) -> 'bool' + | is_unknown(self) -> bool + | + | max_svalue(self, *args) -> 'uvlr_t' + | max_svalue(self, size_) -> uvlr_t + | max_svalue(self) -> uvlr_t + | + | max_value(self, *args) -> 'uvlr_t' + | max_value(self, size_) -> uvlr_t + | max_value(self) -> uvlr_t + | + | min_svalue(self, *args) -> 'uvlr_t' + | min_svalue(self, size_) -> uvlr_t + | min_svalue(self) -> uvlr_t + | + | reduce_size(self, *args) -> 'bool' + | reduce_size(self, new_size) -> bool + | + | set_all(self, *args) -> 'void' + | set_all(self) + | + | set_cmp(self, *args) -> 'void' + | set_cmp(self, cmp, _value) + | + | set_eq(self, *args) -> 'void' + | set_eq(self, v) + | + | set_none(self, *args) -> 'void' + | set_none(self) + | + | set_unk(self, *args) -> 'void' + | set_unk(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | unite_with(self, *args) -> 'bool' + | unite_with(self, r) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class var_ref_t in module ida_hexrays: + +class var_ref_t(builtins.object) + | Proxy of C++ var_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> var_ref_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_var_ref_t(...) + | delete_var_ref_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | idx + | var_ref_t_idx_get(self) -> int + | + | mba + | var_ref_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class vc_printer_t in module ida_hexrays: + +class vc_printer_t(vd_printer_t) + | Proxy of C++ vc_printer_t class. + | + | Method resolution order: + | vc_printer_t + | vd_printer_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, f) -> vc_printer_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vc_printer_t(...) + | delete_vc_printer_t(self) + | + | oneliner(self, *args) -> 'bool' + | oneliner(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | func + | vc_printer_t_func_get(self) -> cfunc_t + | + | lastchar + | vc_printer_t_lastchar_get(self) -> char + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from vd_printer_t: + | + | _print(self, *args) -> 'int' + | _print(self, indent, format) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_printer_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + +Help on class vd_failure_t in module ida_hexrays: + +class vd_failure_t(builtins.object) + | Proxy of C++ vd_failure_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> vd_failure_t + | __init__(self, code, ea, buf=None) -> vd_failure_t + | __init__(self, code, ea, buf) -> vd_failure_t + | __init__(self, _hf) -> vd_failure_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vd_failure_t(...) + | delete_vd_failure_t(self) + | + | desc(self, *args) -> 'qstring' + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hf + | vd_failure_t_hf_get(self) -> hexrays_failure_t + | + | thisown + | The membership flag + +Help on class vd_interr_t in module ida_hexrays: + +class vd_interr_t(vd_failure_t) + | Proxy of C++ vd_interr_t class. + | + | Method resolution order: + | vd_interr_t + | vd_failure_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, ea, buf) -> vd_interr_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vd_interr_t(...) + | delete_vd_interr_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from vd_failure_t: + | + | desc(self, *args) -> 'qstring' + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_failure_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hf + | vd_failure_t_hf_get(self) -> hexrays_failure_t + +Help on class vd_printer_t in module ida_hexrays: + +class vd_printer_t(builtins.object) + | Proxy of C++ vd_printer_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> vd_printer_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vd_printer_t(...) + | delete_vd_printer_t(self) + | + | _print(self, *args) -> 'int' + | _print(self, indent, format) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | thisown + | The membership flag + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + +Help on class vdloc_t in module ida_hexrays: + +class vdloc_t(ida_typeinf.argloc_t) + | Proxy of C++ vdloc_t class. + | + | Method resolution order: + | vdloc_t + | ida_typeinf.argloc_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> vdloc_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vdloc_t(...) + | delete_vdloc_t(self) + | + | _set_reg1(self, *args) -> 'void' + | _set_reg1(self, r1) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | is_aliasable(self, *args) -> 'bool' + | is_aliasable(self, mb, size) -> bool + | + | reg1(self, *args) -> 'int' + | reg1(self) -> int + | + | set_reg1(self, *args) -> 'void' + | set_reg1(self, r1) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_typeinf.argloc_t: + | + | _consume_rrel(self, *args) -> 'bool' + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) -> 'bool' + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) -> 'void' + | _set_badloc(self) + | + | _set_biggest(self, *args) -> 'void' + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) -> 'void' + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) -> 'void' + | _set_ea(self, _ea) + | + | _set_reg2(self, *args) -> 'void' + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) -> 'void' + | _set_stkoff(self, off) + | + | advance(self, *args) -> 'bool' + | advance(self, delta) -> bool + | + | atype(self, *args) -> 'argloc_type_t' + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) -> 'sval_t' + | calc_offset(self) -> sval_t + | + | consume_rrel(self, *args) -> 'void' + | consume_rrel(self, p) + | + | consume_scattered(self, *args) -> 'void' + | consume_scattered(self, p) + | + | get_biggest(self, *args) -> 'argloc_t::biggest_t' + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) -> 'void *' + | get_custom(self) -> void * + | + | get_ea(self, *args) -> 'ea_t' + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) -> 'uint32' + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) -> 'rrel_t const &' + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) -> 'bool' + | has_reg(self) -> bool + | + | has_stkoff(self, *args) -> 'bool' + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) -> 'bool' + | is_badloc(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_ea(self, *args) -> 'bool' + | is_ea(self) -> bool + | + | is_fragmented(self, *args) -> 'bool' + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) -> 'bool' + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_rrel(self, *args) -> 'bool' + | is_rrel(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) -> 'void' + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) -> 'void' + | justify_stkoff_right(self, size, _slotsize) + | + | reg2(self, *args) -> 'int' + | reg2(self) -> int + | + | regoff(self, *args) -> 'int' + | regoff(self) -> int + | + | scattered(self, *args) -> 'scattered_aloc_t const &' + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) -> 'void' + | set_badloc(self) + | + | set_ea(self, *args) -> 'void' + | set_ea(self, _ea) + | + | set_reg2(self, *args) -> 'void' + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, off) + | + | stkoff(self, *args) -> 'sval_t' + | stkoff(self) -> sval_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_typeinf.argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class vdui_t in module ida_hexrays: + +class vdui_t(builtins.object) + | Proxy of C++ vdui_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vdui_t(...) + | delete_vdui_t(self) + | + | calc_cmt_type(self, *args) -> 'cmt_type_t' + | calc_cmt_type(self, lnnum, cmttype) -> cmt_type_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | collapse_item(self, *args) -> 'bool' + | collapse_item(self, hide) -> bool + | + | collapse_lvars(self, *args) -> 'bool' + | collapse_lvars(self, hide) -> bool + | + | ctree_to_disasm(self, *args) -> 'bool' + | ctree_to_disasm(self) -> bool + | + | del_orphan_cmts(self, *args) -> 'bool' + | del_orphan_cmts(self) -> bool + | + | edit_cmt(self, *args) -> 'bool' + | edit_cmt(self, loc) -> bool + | + | edit_func_cmt(self, *args) -> 'bool' + | edit_func_cmt(self) -> bool + | + | get_current_item(self, *args) -> 'bool' + | get_current_item(self, idv) -> bool + | + | get_current_label(self, *args) -> 'int' + | get_current_label(self) -> int + | + | get_number(self, *args) -> 'cnumber_t *' + | get_number(self) -> cnumber_t + | + | in_ctree(self, *args) -> 'bool' + | in_ctree(self) -> bool + | + | invert_bits(self, *args) -> 'bool' + | invert_bits(self) -> bool + | + | invert_sign(self, *args) -> 'bool' + | invert_sign(self) -> bool + | + | jump_enter(self, *args) -> 'bool' + | jump_enter(self, idv, omflags) -> bool + | + | locked(self, *args) -> 'bool' + | locked(self) -> bool + | + | map_lvar(self, *args) -> 'bool' + | map_lvar(self, frm, to) -> bool + | + | refresh_cpos(self, *args) -> 'bool' + | refresh_cpos(self, idv) -> bool + | + | refresh_ctext(self, *args) -> 'void' + | refresh_ctext(self, activate=True) + | + | refresh_view(self, *args) -> 'void' + | refresh_view(self, redo_mba) + | + | rename_global(self, *args) -> 'bool' + | rename_global(self, ea) -> bool + | + | rename_label(self, *args) -> 'bool' + | rename_label(self, label) -> bool + | + | rename_lvar(self, *args) -> 'bool' + | rename_lvar(self, v, name, is_user_name) -> bool + | + | rename_strmem(self, *args) -> 'bool' + | rename_strmem(self, sptr, mptr) -> bool + | + | set_global_type(self, *args) -> 'bool' + | set_global_type(self, ea) -> bool + | + | set_locked(self, *args) -> 'bool' + | set_locked(self, v) -> bool + | + | set_lvar_cmt(self, *args) -> 'bool' + | set_lvar_cmt(self, v, cmt) -> bool + | + | set_lvar_type(self, *args) -> 'bool' + | set_lvar_type(self, v, type) -> bool + | + | set_noptr_lvar(self, *args) -> 'bool' + | set_noptr_lvar(self, v) -> bool + | + | set_num_enum(self, *args) -> 'bool' + | set_num_enum(self) -> bool + | + | set_num_radix(self, *args) -> 'bool' + | set_num_radix(self, base) -> bool + | + | set_num_stroff(self, *args) -> 'bool' + | set_num_stroff(self) -> bool + | + | set_strmem_type(self, *args) -> 'bool' + | set_strmem_type(self, sptr, mptr) -> bool + | + | set_valid(self, *args) -> 'void' + | set_valid(self, v) + | + | set_visible(self, *args) -> 'void' + | set_visible(self, v) + | + | split_item(self, *args) -> 'bool' + | split_item(self, split) -> bool + | + | switch_to(self, *args) -> 'void' + | switch_to(self, f, activate) + | + | ui_edit_lvar_cmt(self, *args) -> 'bool' + | ui_edit_lvar_cmt(self, v) -> bool + | + | ui_map_lvar(self, *args) -> 'bool' + | ui_map_lvar(self, v) -> bool + | + | ui_rename_lvar(self, *args) -> 'bool' + | ui_rename_lvar(self, v) -> bool + | + | ui_set_call_type(self, *args) -> 'bool' + | ui_set_call_type(self, e) -> bool + | + | ui_set_lvar_type(self, *args) -> 'bool' + | ui_set_lvar_type(self, v) -> bool + | + | ui_unmap_lvar(self, *args) -> 'bool' + | ui_unmap_lvar(self, v) -> bool + | + | valid(self, *args) -> 'bool' + | valid(self) -> bool + | + | visible(self, *args) -> 'bool' + | visible(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cfunc + | vdui_t_cfunc_get(self) -> cfuncptr_t + | + | cpos + | vdui_t_cpos_get(self) -> ctext_position_t + | + | ct + | vdui_t_ct_get(self) -> TWidget * + | + | flags + | vdui_t_flags_get(self) -> int + | + | head + | vdui_t_head_get(self) -> ctree_item_t + | + | item + | vdui_t_item_get(self) -> ctree_item_t + | + | last_code + | vdui_t_last_code_get(self) -> merror_t + | + | mba + | vdui_t_mba_get(self) -> mbl_array_t + | + | tail + | vdui_t_tail_get(self) -> ctree_item_t + | + | thisown + | The membership flag + | + | toplevel + | vdui_t_toplevel_get(self) -> TWidget * + | + | view_idx + | vdui_t_view_idx_get(self) -> int + +Help on class vivl_t in module ida_hexrays: + +class vivl_t(voff_t) + | Proxy of C++ vivl_t class. + | + | Method resolution order: + | vivl_t + | voff_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | __eq__(self, mop) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _type=mop_z, _off=-1, _size=0) -> vivl_t + | __init__(self, ch) -> vivl_t + | __init__(self, op) -> vivl_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vivl_t(...) + | delete_vivl_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, voff2) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | extend_to_cover(self, *args) -> 'bool' + | extend_to_cover(self, r) -> bool + | + | includes(self, *args) -> 'bool' + | includes(self, r) -> bool + | + | intersect(self, *args) -> 'uval_t' + | intersect(self, r) -> uval_t + | + | overlap(self, *args) -> 'bool' + | overlap(self, r) -> bool + | + | set(self, *args) -> 'void' + | set(self, _type, _off, _size=0) + | set(self, voff, _size) + | + | set_reg(self, *args) -> 'void' + | set_reg(self, mreg, sz=0) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, stkoff, sz=0) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | size + | vivl_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from voff_t: + | + | add(self, *args) -> 'voff_t' + | add(self, width) -> voff_t + | + | defined(self, *args) -> 'bool' + | defined(self) -> bool + | + | diff(self, *args) -> 'sval_t' + | diff(self, r) -> sval_t + | + | get_reg(self, *args) -> 'mreg_t' + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) -> 'sval_t' + | get_stkoff(self) -> sval_t + | + | inc(self, *args) -> 'void' + | inc(self, delta) + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | undef(self, *args) -> 'void' + | undef(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from voff_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | voff_t_off_get(self) -> sval_t + | + | type + | voff_t_type_get(self) -> mopt_t + +Help on class voff_t in module ida_hexrays: + +class voff_t(builtins.object) + | Proxy of C++ voff_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> voff_t + | __init__(self, _type, _off) -> voff_t + | __init__(self, op) -> voff_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_voff_t(...) + | delete_voff_t(self) + | + | add(self, *args) -> 'voff_t' + | add(self, width) -> voff_t + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | defined(self, *args) -> 'bool' + | defined(self) -> bool + | + | diff(self, *args) -> 'sval_t' + | diff(self, r) -> sval_t + | + | get_reg(self, *args) -> 'mreg_t' + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) -> 'sval_t' + | get_stkoff(self) -> sval_t + | + | inc(self, *args) -> 'void' + | inc(self, delta) + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | set(self, *args) -> 'void' + | set(self, _type, _off) + | + | set_reg(self, *args) -> 'void' + | set_reg(self, mreg) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, stkoff) + | + | undef(self, *args) -> 'void' + | undef(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | voff_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | type + | voff_t_type_get(self) -> mopt_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +=== ida_hexrays EPYDOC INJECTIONS === +ida_hexrays.ACFL_BLKOPT +""" +perform interblock transformations +""" + +ida_hexrays.ACFL_GLBDEL +""" +perform dead code eliminition +""" + +ida_hexrays.ACFL_GLBPROP +""" +perform global propagation +""" + +ida_hexrays.ACFL_GUESS +""" +may guess calling conventions +""" + +ida_hexrays.ACFL_LOCOPT +""" +perform local propagation (requires ACFL_BLKOPT) +""" + +ida_hexrays.ANCHOR_BLKCMT +""" +block comment (for ctree items) +""" + +ida_hexrays.ANCHOR_CITEM +""" +c-tree item +""" + +ida_hexrays.ANCHOR_ITP +""" +item type preciser +""" + +ida_hexrays.ANCHOR_LVAR +""" +declaration of local variable +""" + +ida_hexrays.CFL_FINAL +""" +call type is final, should not be changed +""" + +ida_hexrays.CFL_HELPER +""" +created from a decompiler helper function +""" + +ida_hexrays.CFS_BOUNDS +""" +'eamap' and 'boundaries' are ready +""" + +ida_hexrays.CFS_LVARS_HIDDEN +""" +local variable definitions are collapsed +""" + +ida_hexrays.CFS_TEXT +""" +'sv' is ready (and hdrlines) +""" + +ida_hexrays.CHF_FAKE +""" +fake chain created by widen_chains() +""" + +ida_hexrays.CHF_INITED +""" +is chain initialized? (valid only after lvar allocation) +""" + +ida_hexrays.CHF_OVER +""" +overlapped chain +""" + +ida_hexrays.CHF_PASSTHRU +""" +pass-thru chain, must use the input variable to the block +""" + +ida_hexrays.CHF_REPLACED +""" +chain operands have been replaced? +""" + +ida_hexrays.CHF_TERM +""" +terminating chain; the variable does not survive across the block +""" + +ida_hexrays.CIT_COLLAPSED +""" +display element in collapsed form +""" + +ida_hexrays.CPBLK_FAST +""" +do not update minbstkref and minbargref +""" + +ida_hexrays.CPBLK_MINREF +""" +update minbstkref and minbargref +""" + +ida_hexrays.CPBLK_OPTJMP +""" +if it becomes useless + +del the jump insn at the end of the block +""" + +ida_hexrays.CV_FAST +""" +do not maintain parent information +""" + +ida_hexrays.CV_INSNS +""" +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. +""" + +ida_hexrays.CV_PARENTS +""" +maintain parent information +""" + +ida_hexrays.CV_POST +""" +call the leave...() functions +""" + +ida_hexrays.CV_PRUNE +""" +this bit is set by visit...() to prune the walk +""" + +ida_hexrays.CV_RESTART +""" +restart enumeration at the top expr (apply_to_exprs) +""" + +ida_hexrays.DECOMP_ALL_BLKS +""" +generate microcode for unreachable blocks +""" + +ida_hexrays.DECOMP_NO_CACHE +""" +do not use decompilation cache +""" + +ida_hexrays.DECOMP_NO_FRAME +""" +do not use function frame info (only snippet mode) +""" + +ida_hexrays.DECOMP_NO_WAIT +""" +do not display waitbox +""" + +ida_hexrays.DECOMP_WARNINGS +""" +display warnings in the output window +""" + +ida_hexrays.EQ_CMPDEST +""" +compare instruction destinations +""" + +ida_hexrays.EQ_IGNCODE +""" +ignore instruction opcodes +""" + +ida_hexrays.EQ_IGNSIZE +""" +ignore operand sizes +""" + +ida_hexrays.EQ_OPTINSN +""" +optimize mop_d operands +""" + +ida_hexrays.EXFL_ALL +""" +all currently defined bits +""" + +ida_hexrays.EXFL_ALONE +""" +standalone helper +""" + +ida_hexrays.EXFL_CPADONE +""" +pointer arithmetic correction done +""" + +ida_hexrays.EXFL_CSTR +""" +string literal +""" + +ida_hexrays.EXFL_FPOP +""" +floating point operation +""" + +ida_hexrays.EXFL_JUMPOUT +""" +jump out-of-function +""" + +ida_hexrays.EXFL_LVALUE +""" +expression is lvalue even if it doesn't look like it +""" + +ida_hexrays.EXFL_PARTIAL +""" +type of the expression is considered partial +""" + +ida_hexrays.EXFL_UNDEF +""" +expression uses undefined value +""" + +ida_hexrays.EXFL_VFTABLE +""" +is ptr to vftable (used for cot_memptr, cot_memref) +""" + +ida_hexrays.FCI_DEAD +""" +some return registers were determined dead +""" + +ida_hexrays.FCI_FINAL +""" +call type is final, should not be changed +""" + +ida_hexrays.FCI_HASCALL +""" +A function is an synthetic helper combined from several instructions +and at least one of them was a call to a real functions +""" + +ida_hexrays.FCI_HASFMT +""" +printf- or scanf-style format string + +A variadic function with recognized +""" + +ida_hexrays.FCI_NORET +""" +call does not return +""" + +ida_hexrays.FCI_NOSIDE +""" +call does not have side effects +""" + +ida_hexrays.FCI_PROP +""" +call has been propagated +""" + +ida_hexrays.FCI_PURE +""" +pure function +""" + +ida_hexrays.FCI_SPLOK +""" +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. +""" + +ida_hexrays.FD_BACKWARD +""" +search direction +""" + +ida_hexrays.FD_DEF +""" +look for definition +""" + +ida_hexrays.FD_DIRTY +""" +by function calls and indirect memory access + +ignore possible implicit definitions +""" + +ida_hexrays.FD_FORWARD +""" +search direction +""" + +ida_hexrays.FD_USE +""" +look for use +""" + +ida_hexrays.GCA_ALLOC +""" +enumerate only allocated chains +""" + +ida_hexrays.GCA_EMPTY +""" +include empty chains +""" + +ida_hexrays.GCA_NALLOC +""" +enumerate only non-allocated chains +""" + +ida_hexrays.GCA_OFIRST +""" +consider only chains of the first block +""" + +ida_hexrays.GCA_OLAST +""" +consider only chains of the last block +""" + +ida_hexrays.GCA_SPEC +""" +include chains for special registers +""" + +ida_hexrays.GCO_DEF +""" +is destination operand? +""" + +ida_hexrays.GCO_REG +""" +is register? otherwise a stack variable +""" + +ida_hexrays.GCO_STK +""" +a stack variable +""" + +ida_hexrays.GCO_USE +""" +is source operand? +""" + +ida_hexrays.GLN_ALL +""" +get both +""" + +ida_hexrays.GLN_CURRENT +""" +get label of the current item +""" + +ida_hexrays.GLN_GOTO_TARGET +""" +get goto target +""" + +ida_hexrays.IPROP_ASSERT +""" +assertion: usually mov #val, op. assertions are used to help the +optimizer. assertions are ignored when generating ctree +""" + +ida_hexrays.IPROP_CLNPOP +""" +(e.g. "pop ecx" is often used for that) + +the purpose of the instruction is to clean stack +""" + +ida_hexrays.IPROP_COMBINED +""" +insn has been modified because of a partial reference +""" + +ida_hexrays.IPROP_DONT_COMB +""" +may not combine this instruction with others +""" + +ida_hexrays.IPROP_DONT_PROP +""" +may not propagate +""" + +ida_hexrays.IPROP_EXTSTX +""" +this is m_ext propagated into m_stx +""" + +ida_hexrays.IPROP_FARCALL +""" +call of a far function using push cs/call sequence +""" + +ida_hexrays.IPROP_FPINSN +""" +floating point insn +""" + +ida_hexrays.IPROP_IGNLOWSRC +""" +low part of the instruction source operand has been created +artificially (this bit is used only for 'and x, 80...') +""" + +ida_hexrays.IPROP_INV_JX +""" +inverted conditional jump +""" + +ida_hexrays.IPROP_MBARRIER +""" +(instructions accessing memory may not be reordered past it) + +this instruction acts as a memory barrier +""" + +ida_hexrays.IPROP_MULTI_MOV +""" +(example: STM on ARM may transfer multiple registers) + +the minsn was generated as part of insn that moves multiple +registersbits that can be set by plugins: +""" + +ida_hexrays.IPROP_OPTIONAL +""" +optional instruction +""" + +ida_hexrays.IPROP_PERSIST +""" +persistent insn; they are not destroyed +""" + +ida_hexrays.IPROP_SPLIT +""" +the instruction has been split: +""" + +ida_hexrays.IPROP_SPLIT1 +""" +into 1 byte +""" + +ida_hexrays.IPROP_SPLIT2 +""" +into 2 bytes +""" + +ida_hexrays.IPROP_SPLIT4 +""" +into 4 bytes +""" + +ida_hexrays.IPROP_SPLIT8 +""" +into 8 bytes +""" + +ida_hexrays.IPROP_TAILCALL +""" +tail call +""" + +ida_hexrays.IPROP_WAS_NORET +""" +was noret icall +""" + +ida_hexrays.IPROP_WILDMATCH +""" +match multiple insns +""" + +ida_hexrays.LOCOPT_ALL +""" +is not set, only dirty blocks will be optimized + +redo optimization for all blocks. if this bit +""" + +ida_hexrays.LOCOPT_REFINE +""" +refine return type, ok to fail +""" + +ida_hexrays.LOCOPT_REFINE2 +""" +refine return type, try harder +""" + +ida_hexrays.LVINF_FORCE +""" +force allocation of a new variable. forces the decompiler to create a +new variable at ll.defea +""" + +ida_hexrays.LVINF_KEEP +""" +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. +""" + +ida_hexrays.LVINF_NOMAP +""" +forbid automatic mapping of the variable +""" + +ida_hexrays.LVINF_NOPTR +""" +variable type should not be a pointer +""" + +ida_hexrays.MBA_ASRPROP +""" +assertion have been propagated +""" + +ida_hexrays.MBA_ASRTOK +""" +assertions have been generated +""" + +ida_hexrays.MBA_CALLS +""" +callinfo has been built +""" + +ida_hexrays.MBA_CHVARS +""" +can verify chain varnums +""" + +ida_hexrays.MBA_CMBBLK +""" +request to combine blocks +""" + +ida_hexrays.MBA_CMNSTK +""" +stkvars+stkargs should be considered as one area +""" + +ida_hexrays.MBA_COLGDL +""" +display graph after each reduction +""" + +ida_hexrays.MBA_DELPAIRS +""" +pairs have been deleted once +""" + +ida_hexrays.MBA_GLBOPT +""" +microcode has been optimized globally +""" + +ida_hexrays.MBA_INSGDL +""" +display instruction in graphs +""" + +ida_hexrays.MBA_LOADED +""" +loaded gdl, no instructions (debugging) +""" + +ida_hexrays.MBA_LVARS0 +""" +lvar pre-allocation has been performed +""" + +ida_hexrays.MBA_LVARS1 +""" +lvar real allocation has been performed +""" + +ida_hexrays.MBA_NICE +""" +apply transformations to c code +""" + +ida_hexrays.MBA_NOFUNC +""" +function is not present, addresses might be wrong +""" + +ida_hexrays.MBA_NUMADDR +""" +display definition addresses for numbers +""" + +ida_hexrays.MBA_PASSREGS +""" +has 'mcallinfo_t::pass_regs' +""" + +ida_hexrays.MBA_PATTERN +""" +microcode pattern, callinfo is present +""" + +ida_hexrays.MBA_PRCDEFS +""" +use precise defeas for chain-allocated lvars +""" + +ida_hexrays.MBA_PREOPT +""" +preoptimization stage complete +""" + +ida_hexrays.MBA_REFINE +""" +may refine return value size +""" + +ida_hexrays.MBA_RETFP +""" +function returns floating point value +""" + +ida_hexrays.MBA_RETREF +""" +return type has been refined +""" + +ida_hexrays.MBA_SAVRST +""" +save-restore analysis has been performed +""" + +ida_hexrays.MBA_SHORT +""" +use short display +""" + +ida_hexrays.MBA_SPLINFO +""" +(final_type ? idb_spoiled : spoiled_regs) is valid +""" + +ida_hexrays.MBA_THUNK +""" +thunk function +""" + +ida_hexrays.MBA_VALNUM +""" +display value numbers +""" + +ida_hexrays.MBA_WINGR32 +""" +use wingraph32 +""" + +ida_hexrays.MBL_BACKPROP +""" +performed backprop_cc +""" + +ida_hexrays.MBL_CALL +""" +call information has been built +""" + +ida_hexrays.MBL_COMB +""" +needs "combine" pass +""" + +ida_hexrays.MBL_DEAD +""" +needs "eliminate deads" pass +""" + +ida_hexrays.MBL_DMT64 +""" +needs "demote 64bits" +""" + +ida_hexrays.MBL_DSLOT +""" +block for delay slot +""" + +ida_hexrays.MBL_FAKE +""" +fake block (after a tail call) +""" + +ida_hexrays.MBL_GOTO +""" +this block is a goto target +""" + +ida_hexrays.MBL_INCONST +""" +inconsistent lists: we are building them +""" + +ida_hexrays.MBL_LIST +""" +use/def lists are ready (not dirty) +""" + +ida_hexrays.MBL_NONFAKE +""" +regular block +""" + +ida_hexrays.MBL_NORET +""" +dead end block: doesn't return execution control +""" + +ida_hexrays.MBL_PRIV +""" +the specified are accepted (used in patterns) + +private block - no instructions except +""" + +ida_hexrays.MBL_PROP +""" +needs 'propagation' pass +""" + +ida_hexrays.MBL_PUSH +""" +needs "convert push/pop instructions" +""" + +ida_hexrays.MBL_TCAL +""" +aritifical call block for tail calls +""" + +ida_hexrays.MBL_VALRANGES +""" +should optimize using value ranges +""" + +ida_hexrays.MLI_CLR_FLAGS +""" +clear LVINF_... bits +""" + +ida_hexrays.MLI_CMT +""" +apply lvar comment +""" + +ida_hexrays.MLI_NAME +""" +apply lvar name +""" + +ida_hexrays.MLI_SET_FLAGS +""" +set LVINF_... bits +""" + +ida_hexrays.MLI_TYPE +""" +apply lvar type +""" + +ida_hexrays.NALT_VD +""" +this index is not used by ida +""" + +ida_hexrays.NF_BINVDONE +""" +temporary internal bit: inverting bits is done +""" + +ida_hexrays.NF_BITNOT +""" +The user asked to invert bits of the constant. +""" + +ida_hexrays.NF_FIXED +""" +number format has been defined by the user +""" + +ida_hexrays.NF_NEGATE +""" +The user asked to negate the constant. +""" + +ida_hexrays.NF_NEGDONE +""" +temporary internal bit: negation has been performed +""" + +ida_hexrays.NF_STROFF +""" +internal bit: used as stroff, valid iff 'is_stroff()' +""" + +ida_hexrays.OPROP_CCFLAGS +""" +condition codes register value +""" + +ida_hexrays.OPROP_FLOAT +""" +possibly floating value +""" + +ida_hexrays.OPROP_IMPDONE +""" +imported operand (a pointer) has been dereferenced +""" + +ida_hexrays.OPROP_UDEFVAL +""" +uses undefined value +""" + +ida_hexrays.OPROP_UDT +""" +a struct or union +""" + +ida_hexrays.OPTI_ADDREXPRS +""" +optimize all address expressions (&x+N; &x-&y) +""" + +ida_hexrays.OPTI_COMBINSNS +""" +may combine insns (only for optimize_insn) +""" + +ida_hexrays.OPTI_MINSTKREF +""" +may update minstkref +""" + +ida_hexrays.OPTI_NO_LDXOPT +""" +do not optimize low/high(ldx) +""" + +ida_hexrays.SHINS_LDXEA +""" +display address of ldx expressions (not used) +""" + +ida_hexrays.SHINS_NUMADDR +""" +display definition addresses for numbers +""" + +ida_hexrays.SHINS_SHORT +""" +do not display use-def chains and other attrs +""" + +ida_hexrays.SHINS_VALNUM +""" +display value numbers +""" + +ida_hexrays.ULV_PRECISE_DEFEA +""" +Use precise defea's for lvar locations. +""" + +ida_hexrays.VDRUN_APPEND +""" +Create a new file or append to existing file. +""" + +ida_hexrays.VDRUN_CMDLINE +""" +Called from ida's command line. +""" + +ida_hexrays.VDRUN_LUMINA +""" +Use lumina server. +""" + +ida_hexrays.VDRUN_MAYSTOP +""" +The user can cancel decompilation. +""" + +ida_hexrays.VDRUN_NEWFILE +""" +Create a new file or overwrite existing file. +""" + +ida_hexrays.VDRUN_ONLYNEW +""" +Fail if output file already exists. +""" + +ida_hexrays.VDRUN_SENDIDB +""" +Send problematic databases to hex-rays.com. +""" + +ida_hexrays.VDRUN_SILENT +""" +Silent decompilation. +""" + +ida_hexrays.VDRUN_STATS +""" +Print statistics into vd_stats.txt. +""" + +ida_hexrays.VDUI_LOCKED +""" +is locked? +""" + +ida_hexrays.VDUI_VALID +""" +is valid? +""" + +ida_hexrays.VDUI_VISIBLE +""" +is visible? +""" + +ida_hexrays.VR_AT_END +""" +get value ranges after the instruction or at the block end, just after +the last instruction (if M is NULL) +""" + +ida_hexrays.VR_AT_START +""" +at the block start (if M is NULL) + +get value ranges before the instruction or +""" + +ida_hexrays.VR_EXACT +""" +valrng size will be >= vivl.size + +find exact match. if not set, the returned +""" +=== ida_hexrays EPYDOC INJECTIONS END === +Help on function __make_idainfo_accessors in module ida_ida: + +__make_idainfo_accessors(attr, getter_name=None, setter_name=None) + +Help on function __make_idainfo_bound in module ida_ida: + +__make_idainfo_bound(func, attr) + # + +Help on function __make_idainfo_getter in module ida_ida: + +__make_idainfo_getter(name) + +Help on function calc_default_idaplace_flags in module ida_ida: + +calc_default_idaplace_flags(*args) -> 'int' + calc_default_idaplace_flags() -> int + + + Get default disassembly line options. + +Help on class compiler_info_t in module ida_ida: + +class compiler_info_t(builtins.object) + | Proxy of C++ compiler_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> compiler_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_compiler_info_t(...) + | delete_compiler_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cm + | compiler_info_t_cm_get(self) -> cm_t + | + | defalign + | compiler_info_t_defalign_get(self) -> uchar + | + | id + | compiler_info_t_id_get(self) -> comp_t + | + | size_b + | compiler_info_t_size_b_get(self) -> uchar + | + | size_e + | compiler_info_t_size_e_get(self) -> uchar + | + | size_i + | compiler_info_t_size_i_get(self) -> uchar + | + | size_l + | compiler_info_t_size_l_get(self) -> uchar + | + | size_ldbl + | compiler_info_t_size_ldbl_get(self) -> uchar + | + | size_ll + | compiler_info_t_size_ll_get(self) -> uchar + | + | size_s + | compiler_info_t_size_s_get(self) -> uchar + | + | thisown + | The membership flag + +Help on class idainfo in module ida_ida: + +class idainfo(builtins.object) + | Proxy of C++ idainfo class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | big_arg_align = __func(self, *args) + | + | gen_lzero = __func(self, *args) + | + | gen_null = __func(self, *args) + | + | gen_tryblks = __func(self, *args) + | + | get_abiname(self, *args) -> 'qstring' + | get_abiname(self) -> qstring + | + | get_demname_form = __func(self, *args) + | + | get_maxEA(self, *args) -> 'ea_t' + | get_maxEA(self) -> ea_t + | + | get_minEA(self, *args) -> 'ea_t' + | get_minEA(self) -> ea_t + | + | get_pack_mode = __func(self, *args) + | + | get_procName(self, *args) -> 'qstring' + | get_procName(self) -> qstring + | + | is_32bit = __func(self, *args) + | + | is_64bit = __func(self, *args) + | + | is_auto_enabled = __func(self, *args) + | + | is_be = __func(self, *args) + | + | is_dll = __func(self, *args) + | + | is_flat_off32 = __func(self, *args) + | + | is_graph_view = __func(self, *args) + | + | is_hard_float = __func(self, *args) + | + | is_kernel_mode = __func(self, *args) + | + | is_mem_aligned4 = __func(self, *args) + | + | is_snapshot = __func(self, *args) + | + | is_wide_high_byte_first = __func(self, *args) + | + | like_binary = __func(self, *args) + | + | line_pref_with_seg = __func(self, *args) + | + | loading_idc = __func(self, *args) + | + | map_stkargs = __func(self, *args) + | + | pack_stkargs = __func(self, *args) + | + | readonly_idb = __func(self, *args) + | + | set_64bit = __func(self, *args) + | + | set_auto_enabled = __func(self, *args) + | + | set_be = __func(self, *args) + | + | set_gen_lzero = __func(self, *args) + | + | set_gen_null = __func(self, *args) + | + | set_gen_tryblks = __func(self, *args) + | + | set_graph_view = __func(self, *args) + | + | set_line_pref_with_seg = __func(self, *args) + | + | set_maxEA(self, *args) -> 'void' + | set_maxEA(self, ea) + | + | set_minEA(self, *args) -> 'void' + | set_minEA(self, ea) + | + | set_pack_mode = __func(self, *args) + | + | set_show_auto = __func(self, *args) + | + | set_show_line_pref = __func(self, *args) + | + | set_show_void = __func(self, *args) + | + | set_wide_high_byte_first = __func(self, *args) + | + | show_auto = __func(self, *args) + | + | show_line_pref = __func(self, *args) + | + | show_void = __func(self, *args) + | + | stack_ldbl = __func(self, *args) + | + | stack_varargs = __func(self, *args) + | + | use_allasm = __func(self, *args) + | + | use_gcc_layout = __func(self, *args) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | abibits + | idainfo_abibits_get(self) -> uint32 + | + | abiname + | get_abiname(self) -> qstring + | + | af + | idainfo_af_get(self) -> uint32 + | + | af2 + | idainfo_af2_get(self) -> uint32 + | + | appcall_options + | idainfo_appcall_options_get(self) -> uint32 + | + | apptype + | idainfo_apptype_get(self) -> ushort + | + | asmtype + | idainfo_asmtype_get(self) -> uchar + | + | baseaddr + | idainfo_baseaddr_get(self) -> uval_t + | + | bin_prefix_size + | idainfo_bin_prefix_size_get(self) -> short + | + | cc + | idainfo_cc_get(self) -> compiler_info_t + | + | comment + | idainfo_comment_get(self) -> uchar + | + | database_change_count + | idainfo_database_change_count_get(self) -> uint32 + | + | datatypes + | idainfo_datatypes_get(self) -> uval_t + | + | demnames + | idainfo_demnames_get(self) -> uchar + | + | filetype + | idainfo_filetype_get(self) -> ushort + | + | highoff + | idainfo_highoff_get(self) -> ea_t + | + | indent + | idainfo_indent_get(self) -> uchar + | + | lenxref + | idainfo_lenxref_get(self) -> ushort + | + | lflags + | idainfo_lflags_get(self) -> uint32 + | + | listnames + | idainfo_listnames_get(self) -> uchar + | + | long_demnames + | idainfo_long_demnames_get(self) -> uint32 + | + | lowoff + | idainfo_lowoff_get(self) -> ea_t + | + | main + | idainfo_main_get(self) -> ea_t + | + | margin + | idainfo_margin_get(self) -> ushort + | + | maxEA + | get_maxEA(self) -> ea_t + | + | max_autoname_len + | idainfo_max_autoname_len_get(self) -> ushort + | + | max_ea + | idainfo_max_ea_get(self) -> ea_t + | + | maxref + | idainfo_maxref_get(self) -> uval_t + | + | minEA + | get_minEA(self) -> ea_t + | + | min_ea + | idainfo_min_ea_get(self) -> ea_t + | + | nametype + | idainfo_nametype_get(self) -> char + | + | omax_ea + | idainfo_omax_ea_get(self) -> ea_t + | + | omin_ea + | idainfo_omin_ea_get(self) -> ea_t + | + | ostype + | idainfo_ostype_get(self) -> ushort + | + | outflags + | idainfo_outflags_get(self) -> uint32 + | + | procName + | get_procName(self) -> qstring + | + | procname + | idainfo_procname_get(self) -> char [16] + | + | refcmtnum + | idainfo_refcmtnum_get(self) -> uchar + | + | s_cmtflg + | idainfo_s_cmtflg_get(self) -> uchar + | + | s_genflags + | idainfo_s_genflags_get(self) -> ushort + | + | s_limiter + | idainfo_s_limiter_get(self) -> uchar + | + | s_prefflag + | idainfo_s_prefflag_get(self) -> uchar + | + | s_xrefflag + | idainfo_s_xrefflag_get(self) -> uchar + | + | short_demnames + | idainfo_short_demnames_get(self) -> uint32 + | + | specsegs + | idainfo_specsegs_get(self) -> uchar + | + | start_cs + | idainfo_start_cs_get(self) -> sel_t + | + | start_ea + | idainfo_start_ea_get(self) -> ea_t + | + | start_ip + | idainfo_start_ip_get(self) -> ea_t + | + | start_sp + | idainfo_start_sp_get(self) -> ea_t + | + | start_ss + | idainfo_start_ss_get(self) -> sel_t + | + | strlit_break + | idainfo_strlit_break_get(self) -> uchar + | + | strlit_flags + | idainfo_strlit_flags_get(self) -> uchar + | + | strlit_pref + | idainfo_strlit_pref_get(self) -> char [16] + | + | strlit_sernum + | idainfo_strlit_sernum_get(self) -> uval_t + | + | strlit_zeroes + | idainfo_strlit_zeroes_get(self) -> char + | + | strtype + | idainfo_strtype_get(self) -> int32 + | + | tag + | idainfo_tag_get(self) -> char [3] + | + | thisown + | The membership flag + | + | type_xrefnum + | idainfo_type_xrefnum_get(self) -> uchar + | + | version + | idainfo_version_get(self) -> ushort + | + | xrefnum + | idainfo_xrefnum_get(self) -> uchar + +Help on function inf_big_arg_align in module ida_ida: + +inf_big_arg_align(*args) -> 'bool' + inf_big_arg_align() -> bool + +Help on function inf_gen_lzero in module ida_ida: + +inf_gen_lzero(*args) -> 'bool' + inf_gen_lzero() -> bool + +Help on function inf_gen_null in module ida_ida: + +inf_gen_null(*args) -> 'bool' + inf_gen_null() -> bool + +Help on function inf_gen_tryblks in module ida_ida: + +inf_gen_tryblks(*args) -> 'bool' + inf_gen_tryblks() -> bool + +Help on function inf_get_demname_form in module ida_ida: + +inf_get_demname_form(*args) -> 'uchar' + inf_get_demname_form() -> uchar + + + Get 'DEMNAM_MASK' bits of #demnames. + +Help on function inf_get_pack_mode in module ida_ida: + +inf_get_pack_mode(*args) -> 'int' + inf_get_pack_mode() -> int + +Help on function inf_is_32bit in module ida_ida: + +inf_is_32bit(*args) -> 'bool' + inf_is_32bit() -> bool + +Help on function inf_is_64bit in module ida_ida: + +inf_is_64bit(*args) -> 'bool' + inf_is_64bit() -> bool + +Help on function inf_is_auto_enabled in module ida_ida: + +inf_is_auto_enabled(*args) -> 'bool' + inf_is_auto_enabled() -> bool + +Help on function inf_is_be in module ida_ida: + +inf_is_be(*args) -> 'bool' + inf_is_be() -> bool + +Help on function inf_is_dll in module ida_ida: + +inf_is_dll(*args) -> 'bool' + inf_is_dll() -> bool + +Help on function inf_is_flat_off32 in module ida_ida: + +inf_is_flat_off32(*args) -> 'bool' + inf_is_flat_off32() -> bool + +Help on function inf_is_graph_view in module ida_ida: + +inf_is_graph_view(*args) -> 'bool' + inf_is_graph_view() -> bool + +Help on function inf_is_hard_float in module ida_ida: + +inf_is_hard_float(*args) -> 'bool' + inf_is_hard_float() -> bool + +Help on function inf_is_kernel_mode in module ida_ida: + +inf_is_kernel_mode(*args) -> 'bool' + inf_is_kernel_mode() -> bool + +Help on function inf_is_mem_aligned4 in module ida_ida: + +inf_is_mem_aligned4(*args) -> 'bool' + inf_is_mem_aligned4() -> bool + +Help on function inf_is_snapshot in module ida_ida: + +inf_is_snapshot(*args) -> 'bool' + inf_is_snapshot() -> bool + +Help on function inf_is_wide_high_byte_first in module ida_ida: + +inf_is_wide_high_byte_first(*args) -> 'bool' + inf_is_wide_high_byte_first() -> bool + +Help on function inf_like_binary in module ida_ida: + +inf_like_binary(*args) -> 'bool' + inf_like_binary() -> bool + +Help on function inf_line_pref_with_seg in module ida_ida: + +inf_line_pref_with_seg(*args) -> 'bool' + inf_line_pref_with_seg() -> bool + +Help on function inf_loading_idc in module ida_ida: + +inf_loading_idc(*args) -> 'bool' + inf_loading_idc() -> bool + +Help on function inf_map_stkargs in module ida_ida: + +inf_map_stkargs(*args) -> 'bool' + inf_map_stkargs() -> bool + +Help on function inf_pack_stkargs in module ida_ida: + +inf_pack_stkargs(*args) -> 'bool' + inf_pack_stkargs() -> bool + +Help on function inf_readonly_idb in module ida_ida: + +inf_readonly_idb(*args) -> 'bool' + inf_readonly_idb() -> bool + +Help on function inf_set_64bit in module ida_ida: + +inf_set_64bit(*args) -> 'bool' + inf_set_64bit(_v=True) -> bool + +Help on function inf_set_auto_enabled in module ida_ida: + +inf_set_auto_enabled(*args) -> 'bool' + inf_set_auto_enabled(_v=True) -> bool + +Help on function inf_set_be in module ida_ida: + +inf_set_be(*args) -> 'bool' + inf_set_be(_v=True) -> bool + +Help on function inf_set_gen_lzero in module ida_ida: + +inf_set_gen_lzero(*args) -> 'bool' + inf_set_gen_lzero(_v=True) -> bool + +Help on function inf_set_gen_null in module ida_ida: + +inf_set_gen_null(*args) -> 'bool' + inf_set_gen_null(_v=True) -> bool + +Help on function inf_set_gen_tryblks in module ida_ida: + +inf_set_gen_tryblks(*args) -> 'bool' + inf_set_gen_tryblks(_v=True) -> bool + +Help on function inf_set_graph_view in module ida_ida: + +inf_set_graph_view(*args) -> 'bool' + inf_set_graph_view(_v=True) -> bool + +Help on function inf_set_line_pref_with_seg in module ida_ida: + +inf_set_line_pref_with_seg(*args) -> 'bool' + inf_set_line_pref_with_seg(_v=True) -> bool + +Help on function inf_set_pack_mode in module ida_ida: + +inf_set_pack_mode(*args) -> 'int' + inf_set_pack_mode(pack_mode) -> int + +Help on function inf_set_show_auto in module ida_ida: + +inf_set_show_auto(*args) -> 'bool' + inf_set_show_auto(_v=True) -> bool + +Help on function inf_set_show_line_pref in module ida_ida: + +inf_set_show_line_pref(*args) -> 'bool' + inf_set_show_line_pref(_v=True) -> bool + +Help on function inf_set_show_void in module ida_ida: + +inf_set_show_void(*args) -> 'bool' + inf_set_show_void(_v=True) -> bool + +Help on function in module ida_ida: + + lambda *args + +Help on function inf_set_wide_high_byte_first in module ida_ida: + +inf_set_wide_high_byte_first(*args) -> 'bool' + inf_set_wide_high_byte_first(_v=True) -> bool + +Help on function inf_show_auto in module ida_ida: + +inf_show_auto(*args) -> 'bool' + inf_show_auto() -> bool + +Help on function inf_show_line_pref in module ida_ida: + +inf_show_line_pref(*args) -> 'bool' + inf_show_line_pref() -> bool + +Help on function inf_show_void in module ida_ida: + +inf_show_void(*args) -> 'bool' + inf_show_void() -> bool + +Help on function inf_stack_ldbl in module ida_ida: + +inf_stack_ldbl(*args) -> 'bool' + inf_stack_ldbl() -> bool + +Help on function inf_stack_varargs in module ida_ida: + +inf_stack_varargs(*args) -> 'bool' + inf_stack_varargs() -> bool + +Help on function inf_use_allasm in module ida_ida: + +inf_use_allasm(*args) -> 'bool' + inf_use_allasm() -> bool + +Help on function inf_use_gcc_layout in module ida_ida: + +inf_use_gcc_layout(*args) -> 'bool' + inf_use_gcc_layout() -> bool + +Help on function inf_abi_set_by_user in module ida_ida: + +inf_abi_set_by_user(*args) -> 'bool' + inf_abi_set_by_user() -> bool + +Help on function inf_allow_non_matched_ops in module ida_ida: + +inf_allow_non_matched_ops(*args) -> 'bool' + inf_allow_non_matched_ops() -> bool + +Help on function inf_allow_sigmulti in module ida_ida: + +inf_allow_sigmulti(*args) -> 'bool' + inf_allow_sigmulti() -> bool + +Help on function inf_append_sigcmt in module ida_ida: + +inf_append_sigcmt(*args) -> 'bool' + inf_append_sigcmt() -> bool + +Help on function inf_check_manual_ops in module ida_ida: + +inf_check_manual_ops(*args) -> 'bool' + inf_check_manual_ops() -> bool + +Help on function inf_check_unicode_strlits in module ida_ida: + +inf_check_unicode_strlits(*args) -> 'bool' + inf_check_unicode_strlits() -> bool + +Help on function inf_coagulate_code in module ida_ida: + +inf_coagulate_code(*args) -> 'bool' + inf_coagulate_code() -> bool + +Help on function inf_coagulate_data in module ida_ida: + +inf_coagulate_data(*args) -> 'bool' + inf_coagulate_data() -> bool + +Help on function inf_compress_idb in module ida_ida: + +inf_compress_idb(*args) -> 'bool' + inf_compress_idb() -> bool + +Help on function inf_create_all_xrefs in module ida_ida: + +inf_create_all_xrefs(*args) -> 'bool' + inf_create_all_xrefs() -> bool + +Help on function inf_create_func_from_call in module ida_ida: + +inf_create_func_from_call(*args) -> 'bool' + inf_create_func_from_call() -> bool + +Help on function inf_create_func_from_ptr in module ida_ida: + +inf_create_func_from_ptr(*args) -> 'bool' + inf_create_func_from_ptr() -> bool + +Help on function inf_create_func_tails in module ida_ida: + +inf_create_func_tails(*args) -> 'bool' + inf_create_func_tails() -> bool + +Help on function inf_create_jump_tables in module ida_ida: + +inf_create_jump_tables(*args) -> 'bool' + inf_create_jump_tables() -> bool + +Help on function inf_create_off_on_dref in module ida_ida: + +inf_create_off_on_dref(*args) -> 'bool' + inf_create_off_on_dref() -> bool + +Help on function inf_create_off_using_fixup in module ida_ida: + +inf_create_off_using_fixup(*args) -> 'bool' + inf_create_off_using_fixup() -> bool + +Help on function inf_create_strlit_on_xref in module ida_ida: + +inf_create_strlit_on_xref(*args) -> 'bool' + inf_create_strlit_on_xref() -> bool + +Help on function inf_data_offset in module ida_ida: + +inf_data_offset(*args) -> 'bool' + inf_data_offset() -> bool + +Help on function inf_dbg_no_store_path in module ida_ida: + +inf_dbg_no_store_path(*args) -> 'bool' + inf_dbg_no_store_path() -> bool + +Help on function inf_decode_fpp in module ida_ida: + +inf_decode_fpp(*args) -> 'bool' + inf_decode_fpp() -> bool + +Help on function inf_del_no_xref_insns in module ida_ida: + +inf_del_no_xref_insns(*args) -> 'bool' + inf_del_no_xref_insns() -> bool + +Help on function inf_final_pass in module ida_ida: + +inf_final_pass(*args) -> 'bool' + inf_final_pass() -> bool + +Help on function inf_full_sp_ana in module ida_ida: + +inf_full_sp_ana(*args) -> 'bool' + inf_full_sp_ana() -> bool + +Help on function inf_gen_assume in module ida_ida: + +inf_gen_assume(*args) -> 'bool' + inf_gen_assume() -> bool + +Help on function inf_gen_org in module ida_ida: + +inf_gen_org(*args) -> 'bool' + inf_gen_org() -> bool + +Help on function inf_get_abibits in module ida_ida: + +inf_get_abibits(*args) -> 'uint32' + inf_get_abibits() -> uint32 + +Help on function inf_get_af in module ida_ida: + +inf_get_af(*args) -> 'uint32' + inf_get_af() -> uint32 + +Help on function inf_get_af2 in module ida_ida: + +inf_get_af2(*args) -> 'uint32' + inf_get_af2() -> uint32 + +Help on function inf_get_af2_low in module ida_ida: + +inf_get_af2_low(*args) -> 'ushort' + inf_get_af2_low() -> ushort + + + Get/set low 16bit half of inf.af2. + +Help on function inf_get_af_high in module ida_ida: + +inf_get_af_high(*args) -> 'ushort' + inf_get_af_high() -> ushort + +Help on function inf_get_af_low in module ida_ida: + +inf_get_af_low(*args) -> 'ushort' + inf_get_af_low() -> ushort + + + Get/set low/high 16bit halves of inf.af. + +Help on function inf_get_appcall_options in module ida_ida: + +inf_get_appcall_options(*args) -> 'uint32' + inf_get_appcall_options() -> uint32 + +Help on function inf_get_apptype in module ida_ida: + +inf_get_apptype(*args) -> 'ushort' + inf_get_apptype() -> ushort + +Help on function inf_get_asmtype in module ida_ida: + +inf_get_asmtype(*args) -> 'uchar' + inf_get_asmtype() -> uchar + +Help on function inf_get_baseaddr in module ida_ida: + +inf_get_baseaddr(*args) -> 'uval_t' + inf_get_baseaddr() -> uval_t + +Help on function inf_get_bin_prefix_size in module ida_ida: + +inf_get_bin_prefix_size(*args) -> 'short' + inf_get_bin_prefix_size() -> short + +Help on function inf_get_cc in module ida_ida: + +inf_get_cc(*args) -> 'bool' + inf_get_cc(out) -> bool + +Help on function inf_get_cc_cm in module ida_ida: + +inf_get_cc_cm(*args) -> 'cm_t' + inf_get_cc_cm() -> cm_t + +Help on function inf_get_cc_defalign in module ida_ida: + +inf_get_cc_defalign(*args) -> 'uchar' + inf_get_cc_defalign() -> uchar + +Help on function inf_get_cc_id in module ida_ida: + +inf_get_cc_id(*args) -> 'comp_t' + inf_get_cc_id() -> comp_t + +Help on function inf_get_cc_size_b in module ida_ida: + +inf_get_cc_size_b(*args) -> 'uchar' + inf_get_cc_size_b() -> uchar + +Help on function inf_get_cc_size_e in module ida_ida: + +inf_get_cc_size_e(*args) -> 'uchar' + inf_get_cc_size_e() -> uchar + +Help on function inf_get_cc_size_i in module ida_ida: + +inf_get_cc_size_i(*args) -> 'uchar' + inf_get_cc_size_i() -> uchar + +Help on function inf_get_cc_size_l in module ida_ida: + +inf_get_cc_size_l(*args) -> 'uchar' + inf_get_cc_size_l() -> uchar + +Help on function inf_get_cc_size_ldbl in module ida_ida: + +inf_get_cc_size_ldbl(*args) -> 'uchar' + inf_get_cc_size_ldbl() -> uchar + +Help on function inf_get_cc_size_ll in module ida_ida: + +inf_get_cc_size_ll(*args) -> 'uchar' + inf_get_cc_size_ll() -> uchar + +Help on function inf_get_cc_size_s in module ida_ida: + +inf_get_cc_size_s(*args) -> 'uchar' + inf_get_cc_size_s() -> uchar + +Help on function inf_get_cmtflg in module ida_ida: + +inf_get_cmtflg(*args) -> 'uchar' + inf_get_cmtflg() -> uchar + +Help on function inf_get_comment in module ida_ida: + +inf_get_comment(*args) -> 'uchar' + inf_get_comment() -> uchar + +Help on function inf_get_database_change_count in module ida_ida: + +inf_get_database_change_count(*args) -> 'uint32' + inf_get_database_change_count() -> uint32 + +Help on function inf_get_datatypes in module ida_ida: + +inf_get_datatypes(*args) -> 'uval_t' + inf_get_datatypes() -> uval_t + +Help on function inf_get_demnames in module ida_ida: + +inf_get_demnames(*args) -> 'uchar' + inf_get_demnames() -> uchar + +Help on function inf_get_filetype in module ida_ida: + +inf_get_filetype(*args) -> 'filetype_t' + inf_get_filetype() -> filetype_t + +Help on function inf_get_genflags in module ida_ida: + +inf_get_genflags(*args) -> 'ushort' + inf_get_genflags() -> ushort + +Help on function inf_get_highoff in module ida_ida: + +inf_get_highoff(*args) -> 'ea_t' + inf_get_highoff() -> ea_t + +Help on function inf_get_indent in module ida_ida: + +inf_get_indent(*args) -> 'uchar' + inf_get_indent() -> uchar + +Help on function inf_get_lenxref in module ida_ida: + +inf_get_lenxref(*args) -> 'ushort' + inf_get_lenxref() -> ushort + +Help on function inf_get_lflags in module ida_ida: + +inf_get_lflags(*args) -> 'uint32' + inf_get_lflags() -> uint32 + +Help on function inf_get_limiter in module ida_ida: + +inf_get_limiter(*args) -> 'uchar' + inf_get_limiter() -> uchar + +Help on function inf_get_listnames in module ida_ida: + +inf_get_listnames(*args) -> 'uchar' + inf_get_listnames() -> uchar + +Help on function inf_get_long_demnames in module ida_ida: + +inf_get_long_demnames(*args) -> 'uint32' + inf_get_long_demnames() -> uint32 + +Help on function inf_get_lowoff in module ida_ida: + +inf_get_lowoff(*args) -> 'ea_t' + inf_get_lowoff() -> ea_t + +Help on function inf_get_main in module ida_ida: + +inf_get_main(*args) -> 'ea_t' + inf_get_main() -> ea_t + +Help on function inf_get_margin in module ida_ida: + +inf_get_margin(*args) -> 'ushort' + inf_get_margin() -> ushort + +Help on function inf_get_max_autoname_len in module ida_ida: + +inf_get_max_autoname_len(*args) -> 'ushort' + inf_get_max_autoname_len() -> ushort + +Help on function inf_get_max_ea in module ida_ida: + +inf_get_max_ea(*args) -> 'ea_t' + inf_get_max_ea() -> ea_t + +Help on function inf_get_maxref in module ida_ida: + +inf_get_maxref(*args) -> 'uval_t' + inf_get_maxref() -> uval_t + +Help on function inf_get_min_ea in module ida_ida: + +inf_get_min_ea(*args) -> 'ea_t' + inf_get_min_ea() -> ea_t + +Help on function inf_get_nametype in module ida_ida: + +inf_get_nametype(*args) -> 'char' + inf_get_nametype() -> char + +Help on function inf_get_netdelta in module ida_ida: + +inf_get_netdelta(*args) -> 'sval_t' + inf_get_netdelta() -> sval_t + +Help on function inf_get_omax_ea in module ida_ida: + +inf_get_omax_ea(*args) -> 'ea_t' + inf_get_omax_ea() -> ea_t + +Help on function inf_get_omin_ea in module ida_ida: + +inf_get_omin_ea(*args) -> 'ea_t' + inf_get_omin_ea() -> ea_t + +Help on function inf_get_ostype in module ida_ida: + +inf_get_ostype(*args) -> 'ushort' + inf_get_ostype() -> ushort + +Help on function inf_get_outflags in module ida_ida: + +inf_get_outflags(*args) -> 'uint32' + inf_get_outflags() -> uint32 + +Help on function inf_get_prefflag in module ida_ida: + +inf_get_prefflag(*args) -> 'uchar' + inf_get_prefflag() -> uchar + +Help on function inf_get_privrange in module ida_ida: + +inf_get_privrange(*args) -> 'range_t' + inf_get_privrange(out) -> bool + inf_get_privrange() -> range_t + +Help on function inf_get_privrange_end_ea in module ida_ida: + +inf_get_privrange_end_ea(*args) -> 'ea_t' + inf_get_privrange_end_ea() -> ea_t + +Help on function inf_get_privrange_start_ea in module ida_ida: + +inf_get_privrange_start_ea(*args) -> 'ea_t' + inf_get_privrange_start_ea() -> ea_t + +Help on function inf_get_procname in module ida_ida: + +inf_get_procname(*args) -> 'size_t' + inf_get_procname() -> str + +Help on function inf_get_refcmtnum in module ida_ida: + +inf_get_refcmtnum(*args) -> 'uchar' + inf_get_refcmtnum() -> uchar + +Help on function inf_get_short_demnames in module ida_ida: + +inf_get_short_demnames(*args) -> 'uint32' + inf_get_short_demnames() -> uint32 + +Help on function inf_get_specsegs in module ida_ida: + +inf_get_specsegs(*args) -> 'uchar' + inf_get_specsegs() -> uchar + +Help on function inf_get_start_cs in module ida_ida: + +inf_get_start_cs(*args) -> 'sel_t' + inf_get_start_cs() -> sel_t + +Help on function inf_get_start_ea in module ida_ida: + +inf_get_start_ea(*args) -> 'ea_t' + inf_get_start_ea() -> ea_t + +Help on function inf_get_start_ip in module ida_ida: + +inf_get_start_ip(*args) -> 'ea_t' + inf_get_start_ip() -> ea_t + +Help on function inf_get_start_sp in module ida_ida: + +inf_get_start_sp(*args) -> 'ea_t' + inf_get_start_sp() -> ea_t + +Help on function inf_get_start_ss in module ida_ida: + +inf_get_start_ss(*args) -> 'sel_t' + inf_get_start_ss() -> sel_t + +Help on function inf_get_strlit_break in module ida_ida: + +inf_get_strlit_break(*args) -> 'uchar' + inf_get_strlit_break() -> uchar + +Help on function inf_get_strlit_flags in module ida_ida: + +inf_get_strlit_flags(*args) -> 'uchar' + inf_get_strlit_flags() -> uchar + +Help on function inf_get_strlit_pref in module ida_ida: + +inf_get_strlit_pref(*args) -> 'size_t' + inf_get_strlit_pref() -> str + +Help on function inf_get_strlit_sernum in module ida_ida: + +inf_get_strlit_sernum(*args) -> 'uval_t' + inf_get_strlit_sernum() -> uval_t + +Help on function inf_get_strlit_zeroes in module ida_ida: + +inf_get_strlit_zeroes(*args) -> 'char' + inf_get_strlit_zeroes() -> char + +Help on function inf_get_strtype in module ida_ida: + +inf_get_strtype(*args) -> 'int32' + inf_get_strtype() -> int32 + +Help on function inf_get_type_xrefnum in module ida_ida: + +inf_get_type_xrefnum(*args) -> 'uchar' + inf_get_type_xrefnum() -> uchar + +Help on function inf_get_version in module ida_ida: + +inf_get_version(*args) -> 'ushort' + inf_get_version() -> ushort + +Help on function inf_get_xrefflag in module ida_ida: + +inf_get_xrefflag(*args) -> 'uchar' + inf_get_xrefflag() -> uchar + +Help on function inf_get_xrefnum in module ida_ida: + +inf_get_xrefnum(*args) -> 'uchar' + inf_get_xrefnum() -> uchar + +Help on function inf_guess_func_type in module ida_ida: + +inf_guess_func_type(*args) -> 'bool' + inf_guess_func_type() -> bool + +Help on function inf_handle_eh in module ida_ida: + +inf_handle_eh(*args) -> 'bool' + inf_handle_eh() -> bool + +Help on function inf_handle_rtti in module ida_ida: + +inf_handle_rtti(*args) -> 'bool' + inf_handle_rtti() -> bool + +Help on function inf_hide_comments in module ida_ida: + +inf_hide_comments(*args) -> 'bool' + inf_hide_comments() -> bool + +Help on function inf_hide_libfuncs in module ida_ida: + +inf_hide_libfuncs(*args) -> 'bool' + inf_hide_libfuncs() -> bool + +Help on function inf_huge_arg_align in module ida_ida: + +inf_huge_arg_align(*args) -> 'bool' + inf_huge_arg_align() -> bool + +Help on function inf_inc_database_change_count in module ida_ida: + +inf_inc_database_change_count(*args) -> 'void' + inf_inc_database_change_count(cnt=1) + +Help on function inf_is_limiter_empty in module ida_ida: + +inf_is_limiter_empty(*args) -> 'bool' + inf_is_limiter_empty() -> bool + +Help on function inf_is_limiter_thick in module ida_ida: + +inf_is_limiter_thick(*args) -> 'bool' + inf_is_limiter_thick() -> bool + +Help on function inf_is_limiter_thin in module ida_ida: + +inf_is_limiter_thin(*args) -> 'bool' + inf_is_limiter_thin() -> bool + +Help on function inf_macros_enabled in module ida_ida: + +inf_macros_enabled(*args) -> 'bool' + inf_macros_enabled() -> bool + +Help on function inf_mark_code in module ida_ida: + +inf_mark_code(*args) -> 'bool' + inf_mark_code() -> bool + +Help on function inf_no_store_user_info in module ida_ida: + +inf_no_store_user_info(*args) -> 'bool' + inf_no_store_user_info() -> bool + +Help on function inf_noflow_to_data in module ida_ida: + +inf_noflow_to_data(*args) -> 'bool' + inf_noflow_to_data() -> bool + +Help on function inf_noret_ana in module ida_ida: + +inf_noret_ana(*args) -> 'bool' + inf_noret_ana() -> bool + +Help on function inf_op_offset in module ida_ida: + +inf_op_offset(*args) -> 'bool' + inf_op_offset() -> bool + +Help on function inf_pack_idb in module ida_ida: + +inf_pack_idb(*args) -> 'bool' + inf_pack_idb() -> bool + +Help on function inf_postinc_strlit_sernum in module ida_ida: + +inf_postinc_strlit_sernum(*args) -> 'uval_t' + inf_postinc_strlit_sernum(cnt=1) -> uval_t + +Help on function inf_prefix_show_funcoff in module ida_ida: + +inf_prefix_show_funcoff(*args) -> 'bool' + inf_prefix_show_funcoff() -> bool + +Help on function inf_prefix_show_segaddr in module ida_ida: + +inf_prefix_show_segaddr(*args) -> 'bool' + inf_prefix_show_segaddr() -> bool + +Help on function inf_prefix_show_stack in module ida_ida: + +inf_prefix_show_stack(*args) -> 'bool' + inf_prefix_show_stack() -> bool + +Help on function inf_prefix_truncate_opcode_bytes in module ida_ida: + +inf_prefix_truncate_opcode_bytes(*args) -> 'bool' + inf_prefix_truncate_opcode_bytes() -> bool + +Help on function inf_propagate_regargs in module ida_ida: + +inf_propagate_regargs(*args) -> 'bool' + inf_propagate_regargs() -> bool + +Help on function inf_propagate_stkargs in module ida_ida: + +inf_propagate_stkargs(*args) -> 'bool' + inf_propagate_stkargs() -> bool + +Help on function inf_rename_jumpfunc in module ida_ida: + +inf_rename_jumpfunc(*args) -> 'bool' + inf_rename_jumpfunc() -> bool + +Help on function inf_rename_nullsub in module ida_ida: + +inf_rename_nullsub(*args) -> 'bool' + inf_rename_nullsub() -> bool + +Help on function inf_set_32bit in module ida_ida: + +inf_set_32bit(*args) -> 'bool' + inf_set_32bit(_v=True) -> bool + +Help on function inf_set_abi_set_by_user in module ida_ida: + +inf_set_abi_set_by_user(*args) -> 'bool' + inf_set_abi_set_by_user(_v=True) -> bool + +Help on function inf_set_abibits in module ida_ida: + +inf_set_abibits(*args) -> 'bool' + inf_set_abibits(_v) -> bool + +Help on function inf_set_af in module ida_ida: + +inf_set_af(*args) -> 'bool' + inf_set_af(_v) -> bool + +Help on function inf_set_af2 in module ida_ida: + +inf_set_af2(*args) -> 'bool' + inf_set_af2(_v) -> bool + +Help on function inf_set_af2_low in module ida_ida: + +inf_set_af2_low(*args) -> 'void' + inf_set_af2_low(saf) + +Help on function inf_set_af_high in module ida_ida: + +inf_set_af_high(*args) -> 'void' + inf_set_af_high(saf2) + +Help on function inf_set_af_low in module ida_ida: + +inf_set_af_low(*args) -> 'void' + inf_set_af_low(saf) + +Help on function inf_set_allow_non_matched_ops in module ida_ida: + +inf_set_allow_non_matched_ops(*args) -> 'bool' + inf_set_allow_non_matched_ops(_v=True) -> bool + +Help on function inf_set_allow_sigmulti in module ida_ida: + +inf_set_allow_sigmulti(*args) -> 'bool' + inf_set_allow_sigmulti(_v=True) -> bool + +Help on function inf_set_appcall_options in module ida_ida: + +inf_set_appcall_options(*args) -> 'bool' + inf_set_appcall_options(_v) -> bool + +Help on function inf_set_append_sigcmt in module ida_ida: + +inf_set_append_sigcmt(*args) -> 'bool' + inf_set_append_sigcmt(_v=True) -> bool + +Help on function inf_set_apptype in module ida_ida: + +inf_set_apptype(*args) -> 'bool' + inf_set_apptype(_v) -> bool + +Help on function inf_set_asmtype in module ida_ida: + +inf_set_asmtype(*args) -> 'bool' + inf_set_asmtype(_v) -> bool + +Help on function inf_set_baseaddr in module ida_ida: + +inf_set_baseaddr(*args) -> 'bool' + inf_set_baseaddr(_v) -> bool + +Help on function inf_set_big_arg_align in module ida_ida: + +inf_set_big_arg_align(*args) -> 'bool' + inf_set_big_arg_align(_v=True) -> bool + +Help on function inf_set_bin_prefix_size in module ida_ida: + +inf_set_bin_prefix_size(*args) -> 'bool' + inf_set_bin_prefix_size(_v) -> bool + +Help on function inf_set_cc in module ida_ida: + +inf_set_cc(*args) -> 'bool' + inf_set_cc(_v) -> bool + +Help on function inf_set_cc_cm in module ida_ida: + +inf_set_cc_cm(*args) -> 'bool' + inf_set_cc_cm(_v) -> bool + +Help on function inf_set_cc_defalign in module ida_ida: + +inf_set_cc_defalign(*args) -> 'bool' + inf_set_cc_defalign(_v) -> bool + +Help on function inf_set_cc_id in module ida_ida: + +inf_set_cc_id(*args) -> 'bool' + inf_set_cc_id(_v) -> bool + +Help on function inf_set_cc_size_b in module ida_ida: + +inf_set_cc_size_b(*args) -> 'bool' + inf_set_cc_size_b(_v) -> bool + +Help on function inf_set_cc_size_e in module ida_ida: + +inf_set_cc_size_e(*args) -> 'bool' + inf_set_cc_size_e(_v) -> bool + +Help on function inf_set_cc_size_i in module ida_ida: + +inf_set_cc_size_i(*args) -> 'bool' + inf_set_cc_size_i(_v) -> bool + +Help on function inf_set_cc_size_l in module ida_ida: + +inf_set_cc_size_l(*args) -> 'bool' + inf_set_cc_size_l(_v) -> bool + +Help on function inf_set_cc_size_ldbl in module ida_ida: + +inf_set_cc_size_ldbl(*args) -> 'bool' + inf_set_cc_size_ldbl(_v) -> bool + +Help on function inf_set_cc_size_ll in module ida_ida: + +inf_set_cc_size_ll(*args) -> 'bool' + inf_set_cc_size_ll(_v) -> bool + +Help on function inf_set_cc_size_s in module ida_ida: + +inf_set_cc_size_s(*args) -> 'bool' + inf_set_cc_size_s(_v) -> bool + +Help on function inf_set_check_manual_ops in module ida_ida: + +inf_set_check_manual_ops(*args) -> 'bool' + inf_set_check_manual_ops(_v=True) -> bool + +Help on function inf_set_check_unicode_strlits in module ida_ida: + +inf_set_check_unicode_strlits(*args) -> 'bool' + inf_set_check_unicode_strlits(_v=True) -> bool + +Help on function inf_set_cmtflg in module ida_ida: + +inf_set_cmtflg(*args) -> 'bool' + inf_set_cmtflg(_v) -> bool + +Help on function inf_set_coagulate_code in module ida_ida: + +inf_set_coagulate_code(*args) -> 'bool' + inf_set_coagulate_code(_v=True) -> bool + +Help on function inf_set_coagulate_data in module ida_ida: + +inf_set_coagulate_data(*args) -> 'bool' + inf_set_coagulate_data(_v=True) -> bool + +Help on function inf_set_comment in module ida_ida: + +inf_set_comment(*args) -> 'bool' + inf_set_comment(_v) -> bool + +Help on function inf_set_compress_idb in module ida_ida: + +inf_set_compress_idb(*args) -> 'bool' + inf_set_compress_idb(_v=True) -> bool + +Help on function inf_set_create_all_xrefs in module ida_ida: + +inf_set_create_all_xrefs(*args) -> 'bool' + inf_set_create_all_xrefs(_v=True) -> bool + +Help on function inf_set_create_func_from_call in module ida_ida: + +inf_set_create_func_from_call(*args) -> 'bool' + inf_set_create_func_from_call(_v=True) -> bool + +Help on function inf_set_create_func_from_ptr in module ida_ida: + +inf_set_create_func_from_ptr(*args) -> 'bool' + inf_set_create_func_from_ptr(_v=True) -> bool + +Help on function inf_set_create_func_tails in module ida_ida: + +inf_set_create_func_tails(*args) -> 'bool' + inf_set_create_func_tails(_v=True) -> bool + +Help on function inf_set_create_jump_tables in module ida_ida: + +inf_set_create_jump_tables(*args) -> 'bool' + inf_set_create_jump_tables(_v=True) -> bool + +Help on function inf_set_create_off_on_dref in module ida_ida: + +inf_set_create_off_on_dref(*args) -> 'bool' + inf_set_create_off_on_dref(_v=True) -> bool + +Help on function inf_set_create_off_using_fixup in module ida_ida: + +inf_set_create_off_using_fixup(*args) -> 'bool' + inf_set_create_off_using_fixup(_v=True) -> bool + +Help on function inf_set_create_strlit_on_xref in module ida_ida: + +inf_set_create_strlit_on_xref(*args) -> 'bool' + inf_set_create_strlit_on_xref(_v=True) -> bool + +Help on function inf_set_data_offset in module ida_ida: + +inf_set_data_offset(*args) -> 'bool' + inf_set_data_offset(_v=True) -> bool + +Help on function inf_set_database_change_count in module ida_ida: + +inf_set_database_change_count(*args) -> 'bool' + inf_set_database_change_count(_v) -> bool + +Help on function inf_set_datatypes in module ida_ida: + +inf_set_datatypes(*args) -> 'bool' + inf_set_datatypes(_v) -> bool + +Help on function inf_set_dbg_no_store_path in module ida_ida: + +inf_set_dbg_no_store_path(*args) -> 'bool' + inf_set_dbg_no_store_path(_v=True) -> bool + +Help on function inf_set_decode_fpp in module ida_ida: + +inf_set_decode_fpp(*args) -> 'bool' + inf_set_decode_fpp(_v=True) -> bool + +Help on function inf_set_del_no_xref_insns in module ida_ida: + +inf_set_del_no_xref_insns(*args) -> 'bool' + inf_set_del_no_xref_insns(_v=True) -> bool + +Help on function inf_set_demnames in module ida_ida: + +inf_set_demnames(*args) -> 'bool' + inf_set_demnames(_v) -> bool + +Help on function inf_set_dll in module ida_ida: + +inf_set_dll(*args) -> 'bool' + inf_set_dll(_v=True) -> bool + +Help on function inf_set_filetype in module ida_ida: + +inf_set_filetype(*args) -> 'bool' + inf_set_filetype(_v) -> bool + +Help on function inf_set_final_pass in module ida_ida: + +inf_set_final_pass(*args) -> 'bool' + inf_set_final_pass(_v=True) -> bool + +Help on function inf_set_flat_off32 in module ida_ida: + +inf_set_flat_off32(*args) -> 'bool' + inf_set_flat_off32(_v=True) -> bool + +Help on function inf_set_full_sp_ana in module ida_ida: + +inf_set_full_sp_ana(*args) -> 'bool' + inf_set_full_sp_ana(_v=True) -> bool + +Help on function inf_set_gen_assume in module ida_ida: + +inf_set_gen_assume(*args) -> 'bool' + inf_set_gen_assume(_v=True) -> bool + +Help on function inf_set_gen_org in module ida_ida: + +inf_set_gen_org(*args) -> 'bool' + inf_set_gen_org(_v=True) -> bool + +Help on function inf_set_genflags in module ida_ida: + +inf_set_genflags(*args) -> 'bool' + inf_set_genflags(_v) -> bool + +Help on function inf_set_guess_func_type in module ida_ida: + +inf_set_guess_func_type(*args) -> 'bool' + inf_set_guess_func_type(_v=True) -> bool + +Help on function inf_set_handle_eh in module ida_ida: + +inf_set_handle_eh(*args) -> 'bool' + inf_set_handle_eh(_v=True) -> bool + +Help on function inf_set_handle_rtti in module ida_ida: + +inf_set_handle_rtti(*args) -> 'bool' + inf_set_handle_rtti(_v=True) -> bool + +Help on function inf_set_hard_float in module ida_ida: + +inf_set_hard_float(*args) -> 'bool' + inf_set_hard_float(_v=True) -> bool + +Help on function inf_set_hide_comments in module ida_ida: + +inf_set_hide_comments(*args) -> 'bool' + inf_set_hide_comments(_v=True) -> bool + +Help on function inf_set_hide_libfuncs in module ida_ida: + +inf_set_hide_libfuncs(*args) -> 'bool' + inf_set_hide_libfuncs(_v=True) -> bool + +Help on function inf_set_highoff in module ida_ida: + +inf_set_highoff(*args) -> 'bool' + inf_set_highoff(_v) -> bool + +Help on function inf_set_huge_arg_align in module ida_ida: + +inf_set_huge_arg_align(*args) -> 'bool' + inf_set_huge_arg_align(_v=True) -> bool + +Help on function inf_set_indent in module ida_ida: + +inf_set_indent(*args) -> 'bool' + inf_set_indent(_v) -> bool + +Help on function inf_set_kernel_mode in module ida_ida: + +inf_set_kernel_mode(*args) -> 'bool' + inf_set_kernel_mode(_v=True) -> bool + +Help on function inf_set_lenxref in module ida_ida: + +inf_set_lenxref(*args) -> 'bool' + inf_set_lenxref(_v) -> bool + +Help on function inf_set_lflags in module ida_ida: + +inf_set_lflags(*args) -> 'bool' + inf_set_lflags(_v) -> bool + +Help on function inf_set_limiter in module ida_ida: + +inf_set_limiter(*args) -> 'bool' + inf_set_limiter(_v) -> bool + +Help on function inf_set_limiter_empty in module ida_ida: + +inf_set_limiter_empty(*args) -> 'bool' + inf_set_limiter_empty(_v=True) -> bool + +Help on function inf_set_limiter_thick in module ida_ida: + +inf_set_limiter_thick(*args) -> 'bool' + inf_set_limiter_thick(_v=True) -> bool + +Help on function inf_set_limiter_thin in module ida_ida: + +inf_set_limiter_thin(*args) -> 'bool' + inf_set_limiter_thin(_v=True) -> bool + +Help on function inf_set_listnames in module ida_ida: + +inf_set_listnames(*args) -> 'bool' + inf_set_listnames(_v) -> bool + +Help on function inf_set_loading_idc in module ida_ida: + +inf_set_loading_idc(*args) -> 'bool' + inf_set_loading_idc(_v=True) -> bool + +Help on function inf_set_long_demnames in module ida_ida: + +inf_set_long_demnames(*args) -> 'bool' + inf_set_long_demnames(_v) -> bool + +Help on function inf_set_lowoff in module ida_ida: + +inf_set_lowoff(*args) -> 'bool' + inf_set_lowoff(_v) -> bool + +Help on function inf_set_macros_enabled in module ida_ida: + +inf_set_macros_enabled(*args) -> 'bool' + inf_set_macros_enabled(_v=True) -> bool + +Help on function inf_set_main in module ida_ida: + +inf_set_main(*args) -> 'bool' + inf_set_main(_v) -> bool + +Help on function inf_set_map_stkargs in module ida_ida: + +inf_set_map_stkargs(*args) -> 'bool' + inf_set_map_stkargs(_v=True) -> bool + +Help on function inf_set_margin in module ida_ida: + +inf_set_margin(*args) -> 'bool' + inf_set_margin(_v) -> bool + +Help on function inf_set_mark_code in module ida_ida: + +inf_set_mark_code(*args) -> 'bool' + inf_set_mark_code(_v=True) -> bool + +Help on function inf_set_max_autoname_len in module ida_ida: + +inf_set_max_autoname_len(*args) -> 'bool' + inf_set_max_autoname_len(_v) -> bool + +Help on function inf_set_max_ea in module ida_ida: + +inf_set_max_ea(*args) -> 'bool' + inf_set_max_ea(_v) -> bool + +Help on function inf_set_maxref in module ida_ida: + +inf_set_maxref(*args) -> 'bool' + inf_set_maxref(_v) -> bool + +Help on function inf_set_mem_aligned4 in module ida_ida: + +inf_set_mem_aligned4(*args) -> 'bool' + inf_set_mem_aligned4(_v=True) -> bool + +Help on function inf_set_min_ea in module ida_ida: + +inf_set_min_ea(*args) -> 'bool' + inf_set_min_ea(_v) -> bool + +Help on function inf_set_nametype in module ida_ida: + +inf_set_nametype(*args) -> 'bool' + inf_set_nametype(_v) -> bool + +Help on function inf_set_netdelta in module ida_ida: + +inf_set_netdelta(*args) -> 'bool' + inf_set_netdelta(_v) -> bool + +Help on function inf_set_no_store_user_info in module ida_ida: + +inf_set_no_store_user_info(*args) -> 'bool' + inf_set_no_store_user_info(_v=True) -> bool + +Help on function inf_set_noflow_to_data in module ida_ida: + +inf_set_noflow_to_data(*args) -> 'bool' + inf_set_noflow_to_data(_v=True) -> bool + +Help on function inf_set_noret_ana in module ida_ida: + +inf_set_noret_ana(*args) -> 'bool' + inf_set_noret_ana(_v=True) -> bool + +Help on function inf_set_omax_ea in module ida_ida: + +inf_set_omax_ea(*args) -> 'bool' + inf_set_omax_ea(_v) -> bool + +Help on function inf_set_omin_ea in module ida_ida: + +inf_set_omin_ea(*args) -> 'bool' + inf_set_omin_ea(_v) -> bool + +Help on function inf_set_op_offset in module ida_ida: + +inf_set_op_offset(*args) -> 'bool' + inf_set_op_offset(_v=True) -> bool + +Help on function inf_set_ostype in module ida_ida: + +inf_set_ostype(*args) -> 'bool' + inf_set_ostype(_v) -> bool + +Help on function inf_set_outflags in module ida_ida: + +inf_set_outflags(*args) -> 'bool' + inf_set_outflags(_v) -> bool + +Help on function inf_set_pack_idb in module ida_ida: + +inf_set_pack_idb(*args) -> 'bool' + inf_set_pack_idb(_v=True) -> bool + +Help on function inf_set_pack_stkargs in module ida_ida: + +inf_set_pack_stkargs(*args) -> 'bool' + inf_set_pack_stkargs(_v=True) -> bool + +Help on function inf_set_prefflag in module ida_ida: + +inf_set_prefflag(*args) -> 'bool' + inf_set_prefflag(_v) -> bool + +Help on function inf_set_prefix_show_funcoff in module ida_ida: + +inf_set_prefix_show_funcoff(*args) -> 'bool' + inf_set_prefix_show_funcoff(_v=True) -> bool + +Help on function inf_set_prefix_show_segaddr in module ida_ida: + +inf_set_prefix_show_segaddr(*args) -> 'bool' + inf_set_prefix_show_segaddr(_v=True) -> bool + +Help on function inf_set_prefix_show_stack in module ida_ida: + +inf_set_prefix_show_stack(*args) -> 'bool' + inf_set_prefix_show_stack(_v=True) -> bool + +Help on function inf_set_prefix_truncate_opcode_bytes in module ida_ida: + +inf_set_prefix_truncate_opcode_bytes(*args) -> 'bool' + inf_set_prefix_truncate_opcode_bytes(_v=True) -> bool + +Help on function inf_set_privrange in module ida_ida: + +inf_set_privrange(*args) -> 'bool' + inf_set_privrange(_v) -> bool + +Help on function inf_set_privrange_end_ea in module ida_ida: + +inf_set_privrange_end_ea(*args) -> 'bool' + inf_set_privrange_end_ea(_v) -> bool + +Help on function inf_set_privrange_start_ea in module ida_ida: + +inf_set_privrange_start_ea(*args) -> 'bool' + inf_set_privrange_start_ea(_v) -> bool + +Help on function inf_set_procname in module ida_ida: + +inf_set_procname(*args) -> 'bool' + inf_set_procname(_v, len=size_t(-1)) -> bool + +Help on function inf_set_propagate_regargs in module ida_ida: + +inf_set_propagate_regargs(*args) -> 'bool' + inf_set_propagate_regargs(_v=True) -> bool + +Help on function inf_set_propagate_stkargs in module ida_ida: + +inf_set_propagate_stkargs(*args) -> 'bool' + inf_set_propagate_stkargs(_v=True) -> bool + +Help on function inf_set_readonly_idb in module ida_ida: + +inf_set_readonly_idb(*args) -> 'bool' + inf_set_readonly_idb(_v=True) -> bool + +Help on function inf_set_refcmtnum in module ida_ida: + +inf_set_refcmtnum(*args) -> 'bool' + inf_set_refcmtnum(_v) -> bool + +Help on function inf_set_rename_jumpfunc in module ida_ida: + +inf_set_rename_jumpfunc(*args) -> 'bool' + inf_set_rename_jumpfunc(_v=True) -> bool + +Help on function inf_set_rename_nullsub in module ida_ida: + +inf_set_rename_nullsub(*args) -> 'bool' + inf_set_rename_nullsub(_v=True) -> bool + +Help on function inf_set_short_demnames in module ida_ida: + +inf_set_short_demnames(*args) -> 'bool' + inf_set_short_demnames(_v) -> bool + +Help on function inf_set_should_create_stkvars in module ida_ida: + +inf_set_should_create_stkvars(*args) -> 'bool' + inf_set_should_create_stkvars(_v=True) -> bool + +Help on function inf_set_should_trace_sp in module ida_ida: + +inf_set_should_trace_sp(*args) -> 'bool' + inf_set_should_trace_sp(_v=True) -> bool + +Help on function inf_set_show_all_comments in module ida_ida: + +inf_set_show_all_comments(*args) -> 'bool' + inf_set_show_all_comments(_v=True) -> bool + +Help on function inf_set_show_hidden_funcs in module ida_ida: + +inf_set_show_hidden_funcs(*args) -> 'bool' + inf_set_show_hidden_funcs(_v=True) -> bool + +Help on function inf_set_show_hidden_insns in module ida_ida: + +inf_set_show_hidden_insns(*args) -> 'bool' + inf_set_show_hidden_insns(_v=True) -> bool + +Help on function inf_set_show_hidden_segms in module ida_ida: + +inf_set_show_hidden_segms(*args) -> 'bool' + inf_set_show_hidden_segms(_v=True) -> bool + +Help on function inf_set_show_repeatables in module ida_ida: + +inf_set_show_repeatables(*args) -> 'bool' + inf_set_show_repeatables(_v=True) -> bool + +Help on function inf_set_show_src_linnum in module ida_ida: + +inf_set_show_src_linnum(*args) -> 'bool' + inf_set_show_src_linnum(_v=True) -> bool + +Help on function inf_set_show_xref_fncoff in module ida_ida: + +inf_set_show_xref_fncoff(*args) -> 'bool' + inf_set_show_xref_fncoff(_v=True) -> bool + +Help on function inf_set_show_xref_seg in module ida_ida: + +inf_set_show_xref_seg(*args) -> 'bool' + inf_set_show_xref_seg(_v=True) -> bool + +Help on function inf_set_show_xref_tmarks in module ida_ida: + +inf_set_show_xref_tmarks(*args) -> 'bool' + inf_set_show_xref_tmarks(_v=True) -> bool + +Help on function inf_set_show_xref_val in module ida_ida: + +inf_set_show_xref_val(*args) -> 'bool' + inf_set_show_xref_val(_v=True) -> bool + +Help on function inf_set_snapshot in module ida_ida: + +inf_set_snapshot(*args) -> 'bool' + inf_set_snapshot(_v=True) -> bool + +Help on function inf_set_specsegs in module ida_ida: + +inf_set_specsegs(*args) -> 'bool' + inf_set_specsegs(_v) -> bool + +Help on function inf_set_stack_ldbl in module ida_ida: + +inf_set_stack_ldbl(*args) -> 'bool' + inf_set_stack_ldbl(_v=True) -> bool + +Help on function inf_set_stack_varargs in module ida_ida: + +inf_set_stack_varargs(*args) -> 'bool' + inf_set_stack_varargs(_v=True) -> bool + +Help on function inf_set_start_cs in module ida_ida: + +inf_set_start_cs(*args) -> 'bool' + inf_set_start_cs(_v) -> bool + +Help on function inf_set_start_ea in module ida_ida: + +inf_set_start_ea(*args) -> 'bool' + inf_set_start_ea(_v) -> bool + +Help on function inf_set_start_ip in module ida_ida: + +inf_set_start_ip(*args) -> 'bool' + inf_set_start_ip(_v) -> bool + +Help on function inf_set_start_sp in module ida_ida: + +inf_set_start_sp(*args) -> 'bool' + inf_set_start_sp(_v) -> bool + +Help on function inf_set_start_ss in module ida_ida: + +inf_set_start_ss(*args) -> 'bool' + inf_set_start_ss(_v) -> bool + +Help on function inf_set_strlit_autocmt in module ida_ida: + +inf_set_strlit_autocmt(*args) -> 'bool' + inf_set_strlit_autocmt(_v=True) -> bool + +Help on function inf_set_strlit_break in module ida_ida: + +inf_set_strlit_break(*args) -> 'bool' + inf_set_strlit_break(_v) -> bool + +Help on function inf_set_strlit_flags in module ida_ida: + +inf_set_strlit_flags(*args) -> 'bool' + inf_set_strlit_flags(_v) -> bool + +Help on function inf_set_strlit_name_bit in module ida_ida: + +inf_set_strlit_name_bit(*args) -> 'bool' + inf_set_strlit_name_bit(_v=True) -> bool + +Help on function inf_set_strlit_names in module ida_ida: + +inf_set_strlit_names(*args) -> 'bool' + inf_set_strlit_names(_v=True) -> bool + +Help on function inf_set_strlit_pref in module ida_ida: + +inf_set_strlit_pref(*args) -> 'bool' + inf_set_strlit_pref(_v, len=size_t(-1)) -> bool + +Help on function inf_set_strlit_savecase in module ida_ida: + +inf_set_strlit_savecase(*args) -> 'bool' + inf_set_strlit_savecase(_v=True) -> bool + +Help on function inf_set_strlit_serial_names in module ida_ida: + +inf_set_strlit_serial_names(*args) -> 'bool' + inf_set_strlit_serial_names(_v=True) -> bool + +Help on function inf_set_strlit_sernum in module ida_ida: + +inf_set_strlit_sernum(*args) -> 'bool' + inf_set_strlit_sernum(_v) -> bool + +Help on function inf_set_strlit_zeroes in module ida_ida: + +inf_set_strlit_zeroes(*args) -> 'bool' + inf_set_strlit_zeroes(_v) -> bool + +Help on function inf_set_strtype in module ida_ida: + +inf_set_strtype(*args) -> 'bool' + inf_set_strtype(_v) -> bool + +Help on function inf_set_test_mode in module ida_ida: + +inf_set_test_mode(*args) -> 'bool' + inf_set_test_mode(_v=True) -> bool + +Help on function inf_set_trace_flow in module ida_ida: + +inf_set_trace_flow(*args) -> 'bool' + inf_set_trace_flow(_v=True) -> bool + +Help on function inf_set_truncate_on_del in module ida_ida: + +inf_set_truncate_on_del(*args) -> 'bool' + inf_set_truncate_on_del(_v=True) -> bool + +Help on function inf_set_type_xrefnum in module ida_ida: + +inf_set_type_xrefnum(*args) -> 'bool' + inf_set_type_xrefnum(_v) -> bool + +Help on function inf_set_unicode_strlits in module ida_ida: + +inf_set_unicode_strlits(*args) -> 'bool' + inf_set_unicode_strlits(_v=True) -> bool + +Help on function inf_set_use_allasm in module ida_ida: + +inf_set_use_allasm(*args) -> 'bool' + inf_set_use_allasm(_v=True) -> bool + +Help on function inf_set_use_flirt in module ida_ida: + +inf_set_use_flirt(*args) -> 'bool' + inf_set_use_flirt(_v=True) -> bool + +Help on function inf_set_use_gcc_layout in module ida_ida: + +inf_set_use_gcc_layout(*args) -> 'bool' + inf_set_use_gcc_layout(_v=True) -> bool + +Help on function inf_set_version in module ida_ida: + +inf_set_version(*args) -> 'bool' + inf_set_version(_v) -> bool + +Help on function inf_set_xrefflag in module ida_ida: + +inf_set_xrefflag(*args) -> 'bool' + inf_set_xrefflag(_v) -> bool + +Help on function inf_set_xrefnum in module ida_ida: + +inf_set_xrefnum(*args) -> 'bool' + inf_set_xrefnum(_v) -> bool + +Help on function inf_should_create_stkvars in module ida_ida: + +inf_should_create_stkvars(*args) -> 'bool' + inf_should_create_stkvars() -> bool + +Help on function inf_should_trace_sp in module ida_ida: + +inf_should_trace_sp(*args) -> 'bool' + inf_should_trace_sp() -> bool + +Help on function inf_show_all_comments in module ida_ida: + +inf_show_all_comments(*args) -> 'bool' + inf_show_all_comments() -> bool + +Help on function inf_show_hidden_funcs in module ida_ida: + +inf_show_hidden_funcs(*args) -> 'bool' + inf_show_hidden_funcs() -> bool + +Help on function inf_show_hidden_insns in module ida_ida: + +inf_show_hidden_insns(*args) -> 'bool' + inf_show_hidden_insns() -> bool + +Help on function inf_show_hidden_segms in module ida_ida: + +inf_show_hidden_segms(*args) -> 'bool' + inf_show_hidden_segms() -> bool + +Help on function inf_show_repeatables in module ida_ida: + +inf_show_repeatables(*args) -> 'bool' + inf_show_repeatables() -> bool + +Help on function inf_show_src_linnum in module ida_ida: + +inf_show_src_linnum(*args) -> 'bool' + inf_show_src_linnum() -> bool + +Help on function inf_show_xref_fncoff in module ida_ida: + +inf_show_xref_fncoff(*args) -> 'bool' + inf_show_xref_fncoff() -> bool + +Help on function inf_show_xref_seg in module ida_ida: + +inf_show_xref_seg(*args) -> 'bool' + inf_show_xref_seg() -> bool + +Help on function inf_show_xref_tmarks in module ida_ida: + +inf_show_xref_tmarks(*args) -> 'bool' + inf_show_xref_tmarks() -> bool + +Help on function inf_show_xref_val in module ida_ida: + +inf_show_xref_val(*args) -> 'bool' + inf_show_xref_val() -> bool + +Help on function inf_strlit_autocmt in module ida_ida: + +inf_strlit_autocmt(*args) -> 'bool' + inf_strlit_autocmt() -> bool + +Help on function inf_strlit_name_bit in module ida_ida: + +inf_strlit_name_bit(*args) -> 'bool' + inf_strlit_name_bit() -> bool + +Help on function inf_strlit_names in module ida_ida: + +inf_strlit_names(*args) -> 'bool' + inf_strlit_names() -> bool + +Help on function inf_strlit_savecase in module ida_ida: + +inf_strlit_savecase(*args) -> 'bool' + inf_strlit_savecase() -> bool + +Help on function inf_strlit_serial_names in module ida_ida: + +inf_strlit_serial_names(*args) -> 'bool' + inf_strlit_serial_names() -> bool + +Help on function inf_test_mode in module ida_ida: + +inf_test_mode(*args) -> 'bool' + inf_test_mode() -> bool + +Help on function inf_trace_flow in module ida_ida: + +inf_trace_flow(*args) -> 'bool' + inf_trace_flow() -> bool + +Help on function inf_truncate_on_del in module ida_ida: + +inf_truncate_on_del(*args) -> 'bool' + inf_truncate_on_del() -> bool + +Help on function inf_unicode_strlits in module ida_ida: + +inf_unicode_strlits(*args) -> 'bool' + inf_unicode_strlits() -> bool + +Help on function inf_use_flirt in module ida_ida: + +inf_use_flirt(*args) -> 'bool' + inf_use_flirt() -> bool + +Help on function is_filetype_like_binary in module ida_ida: + +is_filetype_like_binary(*args) -> 'bool' + is_filetype_like_binary(ft) -> bool + + + Is unstructured input file? + + + @param ft (C++: filetype_t) + +Help on function in module ida_ida: + + lambda *args + +Help on function to_ea in module ida_ida: + +to_ea(*args) -> 'ea_t' + 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) + +=== ida_ida EPYDOC INJECTIONS === +ida_ida.ABI_8ALIGN4 +""" +4 byte alignment for 8byte scalars (__int64/double) inside structures? +""" + +ida_ida.ABI_BIGARG_ALIGN +""" +(e.g. __int64 argument should be 8byte aligned on some 32bit +platforms) + +use natural type alignment for argument if the alignment exceeds +native word size +""" + +ida_ida.ABI_GCC_LAYOUT +""" +use gcc layout for udts (used for mingw) +""" + +ida_ida.ABI_HARD_FLOAT +""" +use the floating-point register set +""" + +ida_ida.ABI_HUGEARG_ALIGN +""" +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 +""" + +ida_ida.ABI_MAP_STKARGS +""" +register arguments are mapped to stack area (and consume stack slots) +""" + +ida_ida.ABI_PACK_STKARGS +""" +do not align stack arguments to stack slots +""" + +ida_ida.ABI_SET_BY_USER +""" +compiler/abi were set by user flag and require SETCOMP_BY_USER flag to +be changed +""" + +ida_ida.ABI_STACK_LDBL +""" +long double arguments are passed on stack +""" + +ida_ida.ABI_STACK_VARARGS +""" +varargs are always passed on stack (even when there are free +registers) +""" + +ida_ida.AF2_DOEH +""" +Handle EH information. +""" + +ida_ida.AF2_DORTTI +""" +Handle RTTI information. +""" + +ida_ida.AF2_MACRO +""" +Try to combine several instructions into a macro instruction +""" + +ida_ida.AF_ANORET +""" +Perform 'no-return' analysis. +""" + +ida_ida.AF_CHKUNI +""" +Check for unicode strings. +""" + +ida_ida.AF_CODE +""" +Trace execution flow. +""" + +ida_ida.AF_DATOFF +""" +Automatically convert data to offsets. +""" + +ida_ida.AF_DOCODE +""" +Coagulate code segs at the final pass. +""" + +ida_ida.AF_DODATA +""" +Coagulate data segs at the final pass. +""" + +ida_ida.AF_DREFOFF +""" +Create offset if data xref to seg32 exists. +""" + +ida_ida.AF_FINAL +""" +Final pass of analysis. +""" + +ida_ida.AF_FIXUP +""" +Create offsets and segments using fixup info. +""" + +ida_ida.AF_FLIRT +""" +Use flirt signatures. +""" + +ida_ida.AF_FTAIL +""" +Create function tails. +""" + +ida_ida.AF_HFLIRT +""" +Automatically hide library functions. +""" + +ida_ida.AF_IMMOFF +""" +Convert 32bit instruction operand to offset. +""" + +ida_ida.AF_JFUNC +""" +Rename jump functions as j_... +""" + +ida_ida.AF_JUMPTBL +""" +Locate and create jump tables. +""" + +ida_ida.AF_LVAR +""" +Create stack variables. +""" + +ida_ida.AF_MARKCODE +""" +Mark typical code sequences as code. +""" + +ida_ida.AF_MEMFUNC +""" +Try to guess member function types. +""" + +ida_ida.AF_NULLSUB +""" +Rename empty functions as nullsub_... +""" + +ida_ida.AF_PROC +""" +Create functions if call is present. +""" + +ida_ida.AF_PROCPTR +""" +Create function if data xref data->code32 exists. +""" + +ida_ida.AF_PURDAT +""" +Control flow to data segment is ignored. +""" + +ida_ida.AF_REGARG +""" +Propagate register argument information. +""" + +ida_ida.AF_SIGCMT +""" +Append a signature name comment for recognized anonymous library +functions. +""" + +ida_ida.AF_SIGMLT +""" +Allow recognition of several copies of the same function. +""" + +ida_ida.AF_STKARG +""" +Propagate stack argument information. +""" + +ida_ida.AF_STRLIT +""" +Create string literal if data xref exists. +""" + +ida_ida.AF_TRACE +""" +Trace stack pointer. +""" + +ida_ida.AF_TRFUNC +""" +Truncate functions upon code deletion. +""" + +ida_ida.AF_UNK +""" +Delete instructions with no xrefs. +""" + +ida_ida.AF_USED +""" +Analyze and create all xrefs. +""" + +ida_ida.AF_VERSP +""" +Perform full SP-analysis. (\\ph{verify_sp}) +""" + +ida_ida.DEMNAM_CMNT +""" +display demangled names as comments +""" + +ida_ida.DEMNAM_FIRST +""" +override type info +""" + +ida_ida.DEMNAM_GCC3 +""" +assume gcc3 names (valid for gnu compiler) +""" + +ida_ida.DEMNAM_MASK +""" +mask for name form +""" + +ida_ida.DEMNAM_NAME +""" +display demangled names as regular names +""" + +ida_ida.DEMNAM_NONE +""" +don't display demangled names +""" + +ida_ida.IDAINFO_TAG_SIZE +""" +The database parameters. This structure is kept in the ida database. +It contains the essential parameters for the current program +""" + +ida_ida.IDB_COMPRESSED +""" +compress & pack database components +""" + +ida_ida.IDB_PACKED +""" +pack database components into .idb +""" + +ida_ida.IDB_UNPACKED +""" +leave database components unpacked +""" + +ida_ida.INFFL_ALLASM +""" +the target assembler + +may use constructs not supported by +""" + +ida_ida.INFFL_AUTO +""" +Autoanalysis is enabled? +""" + +ida_ida.INFFL_CHKOPS +""" +check manual operands? (unused) +""" + +ida_ida.INFFL_GRAPH_VIEW +""" +currently using graph options (\\dto{graph}) +""" + +ida_ida.INFFL_LOADIDC +""" +loading an idc file that contains database info +""" + +ida_ida.INFFL_NMOPS +""" +allow non-matched operands? (unused) +""" + +ida_ida.INFFL_NOUSER +""" +do not store user info in the database +""" + +ida_ida.INFFL_READONLY +""" +(internal) temporary interdiction to modify the database +""" + +ida_ida.LFLG_64BIT +""" +64-bit program? +""" + +ida_ida.LFLG_COMPRESS +""" +compress the database? +""" + +ida_ida.LFLG_DBG_NOPATH +""" +do not store input full path in debugger process options +""" + +ida_ida.LFLG_FLAT_OFF32 +""" +treat 'REF_OFF32' as 32-bit offset for 16bit segments (otherwise try +SEG16:OFF16) +""" + +ida_ida.LFLG_IS_DLL +""" +Is dynamic library? +""" + +ida_ida.LFLG_KERNMODE +""" +is kernel mode binary? +""" + +ida_ida.LFLG_MSF +""" +Byte order: is MSB first? +""" + +ida_ida.LFLG_PACK +""" +pack the database? +""" + +ida_ida.LFLG_PC_FLAT +""" +32-bit program? +""" + +ida_ida.LFLG_PC_FPP +""" +decode floating point processor instructions? +""" + +ida_ida.LFLG_SNAPSHOT +""" +memory snapshot was taken? +""" + +ida_ida.LFLG_WIDE_HBF +""" +(wide bytes: \\ph{dnbits} > 8) + +Bit order of wide bytes: high byte first? +""" + +ida_ida.LMT_EMPTY +""" +empty lines at the end of basic blocks +""" + +ida_ida.LMT_THICK +""" +thick borders +""" + +ida_ida.LMT_THIN +""" +thin borders +""" + +ida_ida.LN_AUTO +""" +include autogenerated names +""" + +ida_ida.LN_NORMAL +""" +include normal names +""" + +ida_ida.LN_PUBLIC +""" +include public names +""" + +ida_ida.LN_WEAK +""" +include weak names +""" + +ida_ida.OFLG_GEN_ASSUME +""" +Generate 'assume' directives? +""" + +ida_ida.OFLG_GEN_NULL +""" +Generate empty lines? +""" + +ida_ida.OFLG_GEN_ORG +""" +Generate 'org' directives? +""" + +ida_ida.OFLG_GEN_TRYBLKS +""" +Generate try/catch directives? +""" + +ida_ida.OFLG_LZERO +""" +generate leading zeroes in numbers +""" + +ida_ida.OFLG_PREF_SEG +""" +line prefixes with segment name? +""" + +ida_ida.OFLG_SHOW_AUTO +""" +Display autoanalysis indicator? +""" + +ida_ida.OFLG_SHOW_PREF +""" +Show line prefixes? +""" + +ida_ida.OFLG_SHOW_VOID +""" +Display void marks? +""" + +ida_ida.PREF_FNCOFF +""" +show function offsets? +""" + +ida_ida.PREF_PFXTRUNC +""" +truncate instruction bytes if they would need more than 1 line +""" + +ida_ida.PREF_SEGADR +""" +show segment addresses? +""" + +ida_ida.PREF_STACK +""" +show stack pointer? +""" + +ida_ida.SCF_ALLCMT +""" +comment all lines? +""" + +ida_ida.SCF_LINNUM +""" +show source line numbers +""" + +ida_ida.SCF_NOCMT +""" +no comments at all +""" + +ida_ida.SCF_RPTCMT +""" +show repeatable comments? +""" + +ida_ida.SCF_SHHID_FUNC +""" +show hidden functions +""" + +ida_ida.SCF_SHHID_ITEM +""" +show hidden instructions +""" + +ida_ida.SCF_SHHID_SEGM +""" +show hidden segments +""" + +ida_ida.SCF_TESTMODE +""" +testida.idc is running +""" + +ida_ida.STRF_AUTO +""" +names have 'autogenerated' bit? +""" + +ida_ida.STRF_COMMENT +""" +generate auto comment for string references? +""" + +ida_ida.STRF_GEN +""" +generate names? +""" + +ida_ida.STRF_SAVECASE +""" +preserve case of strings for identifiers +""" + +ida_ida.STRF_SERIAL +""" +generate serial names? +""" + +ida_ida.STRF_UNICODE +""" +unicode strings are present? +""" + +ida_ida.SW_SEGXRF +""" +show segments in xrefs? +""" + +ida_ida.SW_XRFFNC +""" +show function offsets? +""" + +ida_ida.SW_XRFMRK +""" +show xref type marks? +""" + +ida_ida.SW_XRFVAL +""" +show xref values? (otherwise-"...") +""" + +ida_ida.UA_MAXOP +""" +max number of operands allowed for an instruction +""" +=== ida_ida EPYDOC INJECTIONS END === +Help on class CustomIDAMemo in module ida_kernwin: + +class CustomIDAMemo(View_Hooks) + | Proxy of C++ View_Hooks class. + | + | Method resolution order: + | CustomIDAMemo + | View_Hooks + | builtins.object + | + | Methods defined here: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | __init__(self) + | __init__(self, _flags=0) -> View_Hooks + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | view_activated(self, view) + | + | view_click(self, view, ve) + | view_click(self, view, event) + | + | view_close(self, view, *args) + | view_close(self, view) + | + | view_curpos(self, view, *args) + | view_curpos(self, view) + | + | view_dblclick(self, view, ve) + | view_dblclick(self, view, event) + | + | view_deactivated(self, view) + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, view, ve) + | view_mouse_over(self, view, event) + | + | view_switched(self, view, rt) + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_View_Hooks(...) + | delete_View_Hooks(self) + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | view_created(self, *args) -> 'void' + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on __IDAPython_Completion_Util in module ida_idaapi object: + +class __IDAPython_Completion_Util(builtins.object) + | Internal utility class for auto-completion support + | + | Methods defined here: + | + | __call__(self, line, x) + | Call self as a function. + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | debug(self, *args) + | + | dir_namespace(self, m, prefix) + | + | get_candidates(self, qname, line, match_syntax_char) + | + | maybe_extend_syntactically(self, ns, name, line, syntax_char) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | QNAME_PAT = re.compile('([a-zA-Z_]([a-zA-Z0-9_\\.]*)?)') + +Help on function IDAPython_ExecScript in module ida_idaapi: + +IDAPython_ExecScript(script, g, print_error=True) + Run the specified script. + It also addresses http://code.google.com/p/idapython/issues/detail?id=42 + + This function is used by the low-level plugin code. + +Help on function IDAPython_ExecSystem in module ida_idaapi: + +IDAPython_ExecSystem(cmd) + Executes a command with popen(). + +Help on function IDAPython_FormatExc in module ida_idaapi: + +IDAPython_FormatExc(etype, value=None, tb=None, limit=None) + This function is used to format an exception given the + values returned by a PyErr_Fetch() + +Help on function IDAPython_LoadProcMod in module ida_idaapi: + +IDAPython_LoadProcMod(script, g, print_error=True) + Load processor module. + +Help on function IDAPython_UnLoadProcMod in module ida_idaapi: + +IDAPython_UnLoadProcMod(script, g, print_error=True) + Unload processor module. + +Help on class IDAPython_displayhook in module ida_idaapi: + +class IDAPython_displayhook(builtins.object) + | # ------------------------------------------------------------ + | + | Methods defined here: + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | _print_hex(self, x) + | + | displayhook(self, item) + | + | format_item(self, num_printer, storage, item) + | + | format_seq(self, num_printer, storage, item, opn, cls) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class PyIdc_cvt_int64__ in module ida_idaapi: + +class PyIdc_cvt_int64__(pyidc_cvt_helper__) + | Helper class for explicitly representing VT_INT64 values + | + | Method resolution order: + | PyIdc_cvt_int64__ + | pyidc_cvt_helper__ + | builtins.object + | + | Methods defined here: + | + | _PyIdc_cvt_int64____op = __op(self, op_n, other, rev=False) + | + | __add__(self, other) + | + | __div__(self, other) + | + | __init__(self, v) + | Initialize self. See help(type(self)) for accurate signature. + | + | __mul__(self, other) + | + | __radd__(self, other) + | + | __rdiv__(self, other) + | + | __rmul__(self, other) + | + | __rsub__(self, other) + | + | __sub__(self, other) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _PyIdc_cvt_int64____op_table = {0: 'void' + 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 + +Help on function enable_extlang_python in module ida_idaapi: + +enable_extlang_python(*args) -> 'void' + 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 + +Help on function enable_python_cli in module ida_idaapi: + +enable_python_cli(*args) -> 'void' + enable_python_cli(enable) + +Help on function format_basestring in module ida_idaapi: + +format_basestring(*args) -> 'PyObject *' + format_basestring(_in) -> PyObject * + +Help on function get_inf_structure in module ida_idaapi: + +get_inf_structure(*args) -> 'idainfo *' + get_inf_structure() -> idainfo + + + Returns the global variable 'inf' (an instance of idainfo structure, see ida.hpp) + +Help on class loader_input_t in module ida_idaapi: + +class loader_input_t(builtins.object) + | Proxy of C++ loader_input_t class. + | + | + | A helper class to work with linput_t related functions. + | This class is also used by file loaders scripts. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, pycapsule=None) -> loader_input_t + | + | + | Closes the file + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_loader_input_t(...) + | delete_loader_input_t(self) + | + | close(self, *args) -> 'void' + | close(self) + | + | file2base(self, *args) -> 'int' + | 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 li: pointer ot input source + | @param pos: position in the file + | @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 + | + | filename(self, *args) -> 'PyObject *' + | filename(self) -> PyObject * + | + | get_byte(self, *args) -> 'PyObject *' + | get_byte(self) -> PyObject * + | + | + | Reads a single byte from the file. Returns None if EOF or the read byte + | + | get_linput(self, *args) -> 'linput_t *' + | get_linput(self) -> linput_t * + | + | gets(self, *args) -> 'PyObject *' + | gets(self, len) -> PyObject * + | + | + | Reads a line from the input file. Returns the read line or None + | + | getz(self, *args) -> 'PyObject *' + | 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. + | + | open(self, *args) -> 'bool' + | open(self, filename, remote=False) -> bool + | + | + | Opens a file (or a remote file) + | @return: Boolean + | + | open_memory(self, *args) -> 'bool' + | 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 + | + | opened(self, *args) -> 'bool' + | opened(self) -> bool + | + | + | Checks if the file is opened or not + | + | read(self, *args) -> 'PyObject *' + | read(self, size) -> PyObject * + | + | + | Reads from the file. Returns the buffer or None + | + | readbytes(self, *args) -> 'PyObject *' + | readbytes(self, size, big_endian) -> PyObject * + | + | + | Similar to read() but it respect the endianness + | + | seek(self, *args) -> 'int64' + | seek(self, pos, whence=SEEK_SET) -> int64 + | + | + | Set input source position + | @return: the new position (not 0 as fseek!) + | + | set_linput(self, *args) -> 'void' + | set_linput(self, linput) + | + | + | Links the current loader_input_t instance to a linput_t instance + | + | size(self, *args) -> 'int64' + | size(self) -> int64 + | + | tell(self, *args) -> 'int64' + | tell(self) -> int64 + | + | + | Returns the current position + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | from_capsule(*args) -> 'loader_input_t *' + | from_capsule(pycapsule) -> loader_input_t + | + | from_fp(*args) -> 'loader_input_t *' + | from_fp(fp) -> loader_input_t + | + | + | A static method to construct an instance from a FILE* + | + | from_linput(*args) -> 'loader_input_t *' + | from_linput(linput) -> loader_input_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __idc_cvt_id__ + | loader_input_t___idc_cvt_id___get(self) -> int + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function loader_input_t_from_capsule in module ida_idaapi: + +loader_input_t_from_capsule(*args) -> 'loader_input_t *' + loader_input_t_from_capsule(pycapsule) -> loader_input_t + +Help on function loader_input_t_from_fp in module ida_idaapi: + +loader_input_t_from_fp(*args) -> 'loader_input_t *' + loader_input_t_from_fp(fp) -> loader_input_t + +Help on function loader_input_t_from_linput in module ida_idaapi: + +loader_input_t_from_linput(*args) -> 'loader_input_t *' + loader_input_t_from_linput(linput) -> loader_input_t + +Help on function notify_when in module ida_idaapi: + +notify_when(when, callback) + 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 + +Help on class object_t in module ida_idaapi: + +class object_t(builtins.object) + | Helper class used to initialize empty objects + | + | Methods defined here: + | + | __getitem__(self, idx) + | Allow access to object attributes by index (like dictionaries) + | + | __init__(self, **kwds) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function parse_command_line3 in module ida_idaapi: + +parse_command_line3(*args) -> 'PyObject *' + parse_command_line3(cmdline) -> PyObject * + +Help on class plugin_t in module ida_idaapi: + +class plugin_t(pyidc_opaque_object_t) + | Base class for all scripted plugins. + | + | Method resolution order: + | plugin_t + | pyidc_opaque_object_t + | builtins.object + | + | Data descriptors inherited from pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on class py_clinked_object_t in module ida_idaapi: + +class py_clinked_object_t(pyidc_opaque_object_t) + | This is a utility and base class for C linked objects + | + | Method resolution order: + | py_clinked_object_t + | pyidc_opaque_object_t + | builtins.object + | + | Methods defined here: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | __init__(self, lnk=None) + | Initialize self. See help(type(self)) for accurate signature. + | + | _create_clink(self) + | Overwrite me. + | Creates a new clink + | @return: PyCapsule representing the C link + | + | _del_clink(self, lnk) + | Overwrite me. + | This method deletes the link + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | _get_clink_ptr(self) + | Overwrite me. + | Returns the C link pointer as a 64bit number + | + | assign(self, other) + | Overwrite me. + | This method allows you to assign an instance contents to anothers + | @return: Boolean + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function pycim_get_widget in module ida_idaapi: + +pycim_get_widget(*args) -> 'TWidget *' + pycim_get_widget(_self) -> TWidget * + +Help on function pycim_view_close in module ida_idaapi: + +pycim_view_close(*args) -> 'void' + pycim_view_close(_self) + +Help on function pygc_create_groups in module ida_idaapi: + +pygc_create_groups(*args) -> 'PyObject *' + pygc_create_groups(_self, groups_infos) -> PyObject * + +Help on function pygc_delete_groups in module ida_idaapi: + +pygc_delete_groups(*args) -> 'PyObject *' + pygc_delete_groups(_self, groups, new_current) -> PyObject * + +Help on function pygc_refresh in module ida_idaapi: + +pygc_refresh(*args) -> 'void' + pygc_refresh(_self) + +Help on function pygc_set_groups_visibility in module ida_idaapi: + +pygc_set_groups_visibility(*args) -> 'PyObject *' + pygc_set_groups_visibility(_self, groups, expand, new_current) -> PyObject * + +Help on class pyidc_cvt_helper__ in module ida_idaapi: + +class pyidc_cvt_helper__(builtins.object) + | 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 + | + | Methods defined here: + | + | __init__(self, cvt_id, value) + | Initialize self. See help(type(self)) for accurate signature. + | + | _pyidc_cvt_helper____get_value = __get_value(self) + | + | _pyidc_cvt_helper____set_value = __set_value(self, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | value + +Help on class pyidc_opaque_object_t in module ida_idaapi: + +class pyidc_opaque_object_t(builtins.object) + | This is the base class for all Python<->IDC opaque objects + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __idc_cvt_id__ = 2 + +Help on function replfun in module ida_idaapi: + +replfun(func) + +Help on function require in module ida_idaapi: + +require(modulename, package=None) + 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: . + +Help on function set_script_timeout in module ida_idaapi: + +set_script_timeout(*args) -> 'int' + 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 + +Help on function struct_unpack in module ida_idaapi: + +struct_unpack(buffer, signed=False, offs=0) + 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. + +Help on function get_mark_comment in module ida_idc: + +get_mark_comment(*args) -> 'PyObject *' + get_mark_comment(slot) -> PyObject * + +Help on function get_marked_pos in module ida_idc: + +get_marked_pos(*args) -> 'ea_t' + get_marked_pos(slot) -> ea_t + +Help on function mark_position in module ida_idc: + +mark_position(*args) -> 'void' + mark_position(ea, lnnum, x, y, slot, comment) + +Help on Appcall__ in module ida_idd object: + +class Appcall__(builtins.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | _Appcall____get_consts = __get_consts(self) + | + | __getattr__(self, name_or_ea) + | Allows you to call functions as if they were member functions (by returning a callable object) + | + | __getitem__(self, idx) + | Use self[func_name] syntax if the function name contains invalid characters for an attribute name + | See __getattr___ + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | UTF16(s) + | + | _Appcall____name_or_ea = __name_or_ea(name_or_ea) + | Function that accepts a name or an ea and checks if the address is enabled. + | If a name is passed then idaapi.get_name_ea() is applied to retrieve the name + | @return: + | - Returns the resolved EA or + | - Raises an exception if the address is not enabled + | + | _Appcall____typedecl_or_tinfo = __typedecl_or_tinfo(typedecl_or_tinfo, flags=None) + | Function that accepts a tinfo_t object or type declaration as a string + | If a type declaration is passed then ida_typeinf.parse_decl() is applied to prepare tinfo_t object + | @return: + | - Returns the tinfo_t object + | - Raises an exception if the declaration cannot be parsed + | + | array(type_name) + | Defines an array type. Later you need to pack() / unpack() + | + | buffer(str=None, size=0, fill='\x00') + | 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 + | + | byref(val) + | 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) + | + | cleanup_appcall(tid=0) + | Equivalent to IDC's CleanupAppcall() + | + | cstr(val) + | + | get_appcall_options() + | Return the global Appcall options + | + | int64(v) + | Whenever a 64bit number is needed use this method to construct an object + | + | obj(**kwds) + | Returns an empty object or objects with attributes as passed via its keywords arguments + | + | proto(name_or_ea, proto_or_tinfo, flags=None) + | 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 + | + | set_appcall_options(opt) + | Method to change the Appcall options globally (not per Appcall) + | + | typedobj(typedecl_or_tinfo, ea=None) + | 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 + | + | unicode = UTF16(s) + | + | valueof(name, default=0) + | Returns the numeric value of a given name string. + | If the name could not be resolved then the default value will be returned + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Consts + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | APPCALL_DEBEV = 2 + | + | APPCALL_MANUAL = 1 + | + | APPCALL_TIMEOUT = 4 + | + | __name__ = 'Appcall__' + +Help on class Appcall__ in module ida_idd: + +class Appcall__(builtins.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | _Appcall____get_consts = __get_consts(self) + | + | __getattr__(self, name_or_ea) + | Allows you to call functions as if they were member functions (by returning a callable object) + | + | __getitem__(self, idx) + | Use self[func_name] syntax if the function name contains invalid characters for an attribute name + | See __getattr___ + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | UTF16(s) + | + | _Appcall____name_or_ea = __name_or_ea(name_or_ea) + | Function that accepts a name or an ea and checks if the address is enabled. + | If a name is passed then idaapi.get_name_ea() is applied to retrieve the name + | @return: + | - Returns the resolved EA or + | - Raises an exception if the address is not enabled + | + | _Appcall____typedecl_or_tinfo = __typedecl_or_tinfo(typedecl_or_tinfo, flags=None) + | Function that accepts a tinfo_t object or type declaration as a string + | If a type declaration is passed then ida_typeinf.parse_decl() is applied to prepare tinfo_t object + | @return: + | - Returns the tinfo_t object + | - Raises an exception if the declaration cannot be parsed + | + | array(type_name) + | Defines an array type. Later you need to pack() / unpack() + | + | buffer(str=None, size=0, fill='\x00') + | 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 + | + | byref(val) + | 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) + | + | cleanup_appcall(tid=0) + | Equivalent to IDC's CleanupAppcall() + | + | cstr(val) + | + | get_appcall_options() + | Return the global Appcall options + | + | int64(v) + | Whenever a 64bit number is needed use this method to construct an object + | + | obj(**kwds) + | Returns an empty object or objects with attributes as passed via its keywords arguments + | + | proto(name_or_ea, proto_or_tinfo, flags=None) + | 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 + | + | set_appcall_options(opt) + | Method to change the Appcall options globally (not per Appcall) + | + | typedobj(typedecl_or_tinfo, ea=None) + | 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 + | + | unicode = UTF16(s) + | + | valueof(name, default=0) + | Returns the numeric value of a given name string. + | If the name could not be resolved then the default value will be returned + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Consts + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | APPCALL_DEBEV = 2 + | + | APPCALL_MANUAL = 1 + | + | APPCALL_TIMEOUT = 4 + | + | __name__ = 'Appcall__' + +Help on class Appcall_array__ in module ida_idd: + +class Appcall_array__(builtins.object) + | This class is used with Appcall.array() method + | + | Methods defined here: + | + | __init__(self, tp) + | Initialize self. See help(type(self)) for accurate signature. + | + | pack(self, L) + | Packs a list or tuple into a byref buffer + | + | try_to_convert_to_list(self, obj) + | Is this object a list? We check for the existance of attribute zero and attribute self.size-1 + | + | unpack(self, buf, as_list=True) + | Unpacks an array back into a list or an object + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class Appcall_callable__ in module ida_idd: + +class Appcall_callable__(builtins.object) + | 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) + | + | Methods defined here: + | + | _Appcall_callable____get_ea = __get_ea(self) + | + | _Appcall_callable____get_fields = __get_fields(self) + | + | _Appcall_callable____get_options = __get_options(self) + | + | _Appcall_callable____get_size = __get_size(self) + | + | _Appcall_callable____get_tif = __get_tif(self) + | + | _Appcall_callable____get_timeout = __get_timeout(self) + | + | _Appcall_callable____get_type = __get_type(self) + | + | _Appcall_callable____set_ea = __set_ea(self, val) + | + | _Appcall_callable____set_options = __set_options(self, v) + | + | _Appcall_callable____set_timeout = __set_timeout(self, v) + | + | __call__(self, *args) + | Make object callable. We redirect execution to idaapi.appcall() + | + | __init__(self, ea, tinfo_or_typestr=None, fields=None) + | Initializes an appcall with a given function ea + | + | retrieve(self, src=None, flags=0) + | 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). + | + | store(self, obj, dest_ea=None, base_ea=0, flags=0) + | 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) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | + | fields + | + | options + | + | size + | + | tif + | + | timeout + | + | type + +Help on class Appcall_consts__ in module ida_idd: + +class Appcall_consts__(builtins.object) + | Helper class used by Appcall.Consts attribute + | It is used to retrieve constants via attribute access + | + | Methods defined here: + | + | __getattr__(self, attr) + | + | __init__(self, default=None) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function appcall in module ida_idd: + +appcall(*args) -> 'PyObject *' + appcall(func_ea, tid, _type_or_none, _fields, arg_list) -> PyObject * + +Help on class bptaddr_t in module ida_idd: + +class bptaddr_t(builtins.object) + | Proxy of C++ bptaddr_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bptaddr_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bptaddr_t(...) + | delete_bptaddr_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hea + | bptaddr_t_hea_get(self) -> ea_t + | + | kea + | bptaddr_t_kea_get(self) -> ea_t + | + | thisown + | The membership flag + +Help on class call_stack_info_t in module ida_idd: + +class call_stack_info_t(builtins.object) + | Proxy of C++ call_stack_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> call_stack_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_call_stack_info_t(...) + | delete_call_stack_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | callea + | call_stack_info_t_callea_get(self) -> ea_t + | + | fp + | call_stack_info_t_fp_get(self) -> ea_t + | + | funcea + | call_stack_info_t_funcea_get(self) -> ea_t + | + | funcok + | call_stack_info_t_funcok_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class call_stack_t in module ida_idd: + +class call_stack_t(builtins.object) + | Proxy of C++ qvector< call_stack_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'call_stack_info_t const &' + | __getitem__(self, i) -> call_stack_info_t + | + | __init__(self, *args) + | __init__(self) -> call_stack_t + | __init__(self, x) -> call_stack_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_call_stack_t(...) + | delete_call_stack_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'call_stack_info_t const &' + | at(self, _idx) -> call_stack_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< call_stack_info_t >::const_iterator' + | begin(self) -> call_stack_info_t + | begin(self) -> call_stack_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< call_stack_info_t >::const_iterator' + | end(self) -> call_stack_info_t + | end(self) -> call_stack_info_t + | + | erase(self, *args) -> 'qvector< call_stack_info_t >::iterator' + | erase(self, it) -> call_stack_info_t + | erase(self, first, last) -> call_stack_info_t + | + | extract(self, *args) -> 'call_stack_info_t *' + | extract(self) -> call_stack_info_t + | + | find(self, *args) -> 'qvector< call_stack_info_t >::const_iterator' + | find(self, x) -> call_stack_info_t + | find(self, x) -> call_stack_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=call_stack_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< call_stack_info_t >::iterator' + | insert(self, it, x) -> call_stack_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'call_stack_info_t &' + | push_back(self, x) + | push_back(self) -> call_stack_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function can_exc_continue in module ida_idd: + +can_exc_continue(*args) -> 'bool' + can_exc_continue(ev) -> bool + +Help on function cleanup_appcall in module ida_idd: + +cleanup_appcall(*args) -> 'error_t' + cleanup_appcall(tid) -> error_t + + + Cleanup after manual appcall. + + @param tid: 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. (C++: + thid_t) + @return: eOk if successful, otherwise an error code + +Help on function dbg_appcall in module ida_idd: + +dbg_appcall(*args) -> 'error_t' + dbg_appcall(retval, func_ea, tid, ptif, argv, argnum) -> error_t + + + Call a function from the debugged application. + + @param retval (C++: idc_value_t *) + @param func_ea: address to call (C++: ea_t) + @param tid: thread to use. NO_THREAD means to use the current thread + (C++: thid_t) + @param ptif: pointer to type of the function to call (C++: const + tinfo_t *) + @param argv: array of arguments (C++: idc_value_t *) + @param argnum: number of actual arguments (C++: size_t) + @return: eOk if successful, otherwise an error code + +Help on built-in function dbg_can_query in module _ida_dbg: + +dbg_can_query(...) + dbg_can_query() -> bool + +Help on function dbg_get_memory_info in module ida_idd: + +dbg_get_memory_info(*args) -> 'PyObject *' + 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) + +Help on function dbg_get_name in module ida_idd: + +dbg_get_name(*args) -> 'PyObject *' + dbg_get_name() -> PyObject * + + + This function returns the current debugger's name. + @return: Debugger name or None if no debugger is active + +Help on function dbg_get_registers in module ida_idd: + +dbg_get_registers(*args) -> 'PyObject *' + 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) + +Help on function dbg_get_thread_sreg_base in module ida_idd: + +dbg_get_thread_sreg_base(*args) -> 'PyObject *' + 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 + +Help on function dbg_read_memory in module ida_idd: + +dbg_read_memory(*args) -> 'PyObject *' + dbg_read_memory(ea, sz) -> PyObject * + + + Reads from the debugee's memory at the specified ea + @return: + - The read buffer (as a string) + - Or None on failure + +Help on function dbg_write_memory in module ida_idd: + +dbg_write_memory(*args) -> 'PyObject *' + dbg_write_memory(ea, buf) -> PyObject * + + + Writes a buffer to the debugee's memory + @return: Boolean + +Help on class debapp_attrs_t in module ida_idd: + +class debapp_attrs_t(builtins.object) + | Proxy of C++ debapp_attrs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> debapp_attrs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_debapp_attrs_t(...) + | delete_debapp_attrs_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | addrsize + | debapp_attrs_t_addrsize_get(self) -> int + | + | cbsize + | debapp_attrs_t_cbsize_get(self) -> int32 + | + | is_be + | debapp_attrs_t_is_be_get(self) -> int + | + | platform + | debapp_attrs_t_platform_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class debug_event_t in module ida_idd: + +class debug_event_t(builtins.object) + | Proxy of C++ debug_event_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> debug_event_t + | __init__(self, r) -> debug_event_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_debug_event_t(...) + | delete_debug_event_t(self) + | + | bpt(self, *args) -> 'bptaddr_t const &' + | bpt(self) -> bptaddr_t + | bpt(self) -> bptaddr_t + | + | bpt_ea(self, *args) -> 'ea_t' + | bpt_ea(self) -> ea_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | clear_all(self, *args) -> 'void' + | clear_all(self) + | + | copy(self, *args) -> 'debug_event_t &' + | copy(self, r) -> debug_event_t + | + | eid(self, *args) -> 'event_id_t' + | eid(self) -> event_id_t + | + | exc(self, *args) -> 'excinfo_t const &' + | exc(self) -> excinfo_t + | exc(self) -> excinfo_t + | + | exit_code(self, *args) -> 'int const &' + | exit_code(self) -> int const & + | + | info(self, *args) -> 'qstring const &' + | info(self) -> qstring + | info(self) -> qstring const & + | + | modinfo(self, *args) -> 'modinfo_t const &' + | modinfo(self) -> modinfo_t + | modinfo(self) -> modinfo_t + | + | set_bpt(self, *args) -> 'bptaddr_t &' + | set_bpt(self) -> bptaddr_t + | + | set_eid(self, *args) -> 'void' + | set_eid(self, id) + | + | set_exception(self, *args) -> 'excinfo_t &' + | set_exception(self) -> excinfo_t + | + | set_exit_code(self, *args) -> 'void' + | set_exit_code(self, id, code) + | + | set_info(self, *args) -> 'qstring &' + | set_info(self, id) -> qstring & + | + | set_modinfo(self, *args) -> 'modinfo_t &' + | set_modinfo(self, id) -> modinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | debug_event_t_ea_get(self) -> ea_t + | + | handled + | debug_event_t_handled_get(self) -> bool + | + | pid + | debug_event_t_pid_get(self) -> pid_t + | + | thisown + | The membership flag + | + | tid + | debug_event_t_tid_get(self) -> thid_t + +Help on class exception_info_t in module ida_idd: + +class exception_info_t(builtins.object) + | Proxy of C++ exception_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> exception_info_t + | __init__(self, _code, _flags, _name, _desc) -> exception_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_exception_info_t(...) + | delete_exception_info_t(self) + | + | break_on(self, *args) -> 'bool' + | break_on(self) -> bool + | + | handle(self, *args) -> 'bool' + | handle(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | exception_info_t_code_get(self) -> uint + | + | desc + | exception_info_t_desc_get(self) -> qstring * + | + | flags + | exception_info_t_flags_get(self) -> uint32 + | + | name + | exception_info_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class excinfo_t in module ida_idd: + +class excinfo_t(builtins.object) + | Proxy of C++ excinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> excinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_excinfo_t(...) + | delete_excinfo_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | can_cont + | excinfo_t_can_cont_get(self) -> bool + | + | code + | excinfo_t_code_get(self) -> uint32 + | + | ea + | excinfo_t_ea_get(self) -> ea_t + | + | info + | excinfo_t_info_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class excvec_t in module ida_idd: + +class excvec_t(builtins.object) + | Proxy of C++ qvector< exception_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'exception_info_t const &' + | __getitem__(self, i) -> exception_info_t + | + | __init__(self, *args) + | __init__(self) -> excvec_t + | __init__(self, x) -> excvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_excvec_t(...) + | delete_excvec_t(self) + | + | at(self, *args) -> 'exception_info_t const &' + | at(self, _idx) -> exception_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< exception_info_t >::const_iterator' + | begin(self) -> exception_info_t + | begin(self) -> exception_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< exception_info_t >::const_iterator' + | end(self) -> exception_info_t + | end(self) -> exception_info_t + | + | erase(self, *args) -> 'qvector< exception_info_t >::iterator' + | erase(self, it) -> exception_info_t + | erase(self, first, last) -> exception_info_t + | + | extract(self, *args) -> 'exception_info_t *' + | extract(self) -> exception_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=exception_info_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< exception_info_t >::iterator' + | insert(self, it, x) -> exception_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'exception_info_t &' + | push_back(self, x) + | push_back(self) -> exception_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function get_event_bpt_hea in module ida_idd: + +get_event_bpt_hea(*args) -> 'ea_t' + get_event_bpt_hea(ev) -> ea_t + +Help on function get_event_exc_code in module ida_idd: + +get_event_exc_code(*args) -> 'uint' + get_event_exc_code(ev) -> uint + +Help on function get_event_exc_ea in module ida_idd: + +get_event_exc_ea(*args) -> 'ea_t' + get_event_exc_ea(ev) -> ea_t + +Help on function get_event_exc_info in module ida_idd: + +get_event_exc_info(*args) -> 'size_t' + get_event_exc_info(ev) -> str + +Help on function get_event_info in module ida_idd: + +get_event_info(*args) -> 'size_t' + get_event_info(ev) -> str + +Help on function get_event_module_base in module ida_idd: + +get_event_module_base(*args) -> 'ea_t' + get_event_module_base(ev) -> ea_t + +Help on function get_event_module_name in module ida_idd: + +get_event_module_name(*args) -> 'size_t' + get_event_module_name(ev) -> str + +Help on function get_event_module_size in module ida_idd: + +get_event_module_size(*args) -> 'asize_t' + get_event_module_size(ev) -> asize_t + +Help on class meminfo_vec_t in module ida_idd: + +class meminfo_vec_t(builtins.object) + | Proxy of C++ qvector< memory_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'memory_info_t const &' + | __getitem__(self, i) -> memory_info_t + | + | __init__(self, *args) + | __init__(self) -> meminfo_vec_t + | __init__(self, x) -> meminfo_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_meminfo_vec_t(...) + | delete_meminfo_vec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'memory_info_t const &' + | at(self, _idx) -> memory_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< memory_info_t >::const_iterator' + | begin(self) -> memory_info_t + | begin(self) -> memory_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< memory_info_t >::const_iterator' + | end(self) -> memory_info_t + | end(self) -> memory_info_t + | + | erase(self, *args) -> 'qvector< memory_info_t >::iterator' + | erase(self, it) -> memory_info_t + | erase(self, first, last) -> memory_info_t + | + | extract(self, *args) -> 'memory_info_t *' + | extract(self) -> memory_info_t + | + | find(self, *args) -> 'qvector< memory_info_t >::const_iterator' + | find(self, x) -> memory_info_t + | find(self, x) -> memory_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=memory_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< memory_info_t >::iterator' + | insert(self, it, x) -> memory_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'memory_info_t &' + | push_back(self, x) + | push_back(self) -> memory_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class memory_info_t in module ida_idd: + +class memory_info_t(ida_range.range_t) + | Proxy of C++ memory_info_t class. + | + | Method resolution order: + | memory_info_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> memory_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_memory_info_t(...) + | delete_memory_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bitness + | memory_info_t_bitness_get(self) -> uchar + | + | name + | memory_info_t_name_get(self) -> qstring * + | + | perm + | memory_info_t_perm_get(self) -> uchar + | + | sbase + | memory_info_t_sbase_get(self) -> ea_t + | + | sclass + | memory_info_t_sclass_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on class modinfo_t in module ida_idd: + +class modinfo_t(builtins.object) + | Proxy of C++ modinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> modinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_modinfo_t(...) + | delete_modinfo_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | modinfo_t_base_get(self) -> ea_t + | + | name + | modinfo_t_name_get(self) -> qstring * + | + | rebase_to + | modinfo_t_rebase_to_get(self) -> ea_t + | + | size + | modinfo_t_size_get(self) -> asize_t + | + | thisown + | The membership flag + +Help on class process_info_t in module ida_idd: + +class process_info_t(builtins.object) + | Proxy of C++ process_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> process_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_process_info_t(...) + | delete_process_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | process_info_t_name_get(self) -> qstring * + | + | pid + | process_info_t_pid_get(self) -> pid_t + | + | thisown + | The membership flag + +Help on class procinfo_vec_t in module ida_idd: + +class procinfo_vec_t(builtins.object) + | Proxy of C++ qvector< process_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'process_info_t const &' + | __getitem__(self, i) -> process_info_t + | + | __init__(self, *args) + | __init__(self) -> procinfo_vec_t + | __init__(self, x) -> procinfo_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_procinfo_vec_t(...) + | delete_procinfo_vec_t(self) + | + | at(self, *args) -> 'process_info_t const &' + | at(self, _idx) -> process_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< process_info_t >::const_iterator' + | begin(self) -> process_info_t + | begin(self) -> process_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< process_info_t >::const_iterator' + | end(self) -> process_info_t + | end(self) -> process_info_t + | + | erase(self, *args) -> 'qvector< process_info_t >::iterator' + | erase(self, it) -> process_info_t + | erase(self, first, last) -> process_info_t + | + | extract(self, *args) -> 'process_info_t *' + | extract(self) -> process_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=process_info_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< process_info_t >::iterator' + | insert(self, it, x) -> process_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'process_info_t &' + | push_back(self, x) + | push_back(self) -> process_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class register_info_t in module ida_idd: + +class register_info_t(builtins.object) + | Proxy of C++ register_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> register_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_register_info_t(...) + | delete_register_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bit_strings + | register_info_t_bit_strings_get(self) -> char const *const * + | + | default_bit_strings_mask + | register_info_t_default_bit_strings_mask_get(self) -> uval_t + | + | dtype + | register_info_t_dtype_get(self) -> op_dtype_t + | + | flags + | register_info_t_flags_get(self) -> uint32 + | + | name + | register_info_t_name_get(self) -> char const * + | + | register_class + | register_info_t_register_class_get(self) -> register_class_t + | + | thisown + | The membership flag + +Help on class regval_t in module ida_idd: + +class regval_t(builtins.object) + | Proxy of C++ regval_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> regval_t + | __init__(self, r) -> regval_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_regval_t(...) + | delete_regval_t(self) + | + | bytes(self, *args) -> 'bytevec_t const &' + | bytes(self) -> bytevec_t + | bytes(self) -> bytevec_t const & + | + | clear(self, *args) -> 'void' + | clear(self) + | + | get_data(self, *args) -> 'void const *' + | get_data(self) + | get_data(self) -> void const * + | + | get_data_size(self, *args) -> 'size_t' + | get_data_size(self) -> size_t + | + | set_bytes(self, *args) -> 'bytevec_t &' + | set_bytes(self, data, size) + | set_bytes(self, v) + | set_bytes(self) -> bytevec_t & + | + | set_float(self, *args) -> 'void' + | set_float(self, x) + | + | set_int(self, *args) -> 'void' + | set_int(self, x) + | + | set_unavailable(self, *args) -> 'void' + | set_unavailable(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fval + | regval_t_fval_get(self) -> uint16 [6] + | + | ival + | regval_t_ival_get(self) -> uint64 + | + | rvtype + | regval_t_rvtype_get(self) -> int32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class scattered_segm_t in module ida_idd: + +class scattered_segm_t(ida_range.range_t) + | Proxy of C++ scattered_segm_t class. + | + | Method resolution order: + | scattered_segm_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> scattered_segm_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_scattered_segm_t(...) + | delete_scattered_segm_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | name + | scattered_segm_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on function set_debug_event_code in module ida_idd: + +set_debug_event_code(*args) -> 'void' + set_debug_event_code(ev, id) + +Help on class thread_name_t in module ida_idd: + +class thread_name_t(builtins.object) + | Proxy of C++ thread_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> thread_name_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_thread_name_t(...) + | delete_thread_name_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | thread_name_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tid + | thread_name_t_tid_get(self) -> thid_t + +=== ida_idd EPYDOC INJECTIONS === +ida_idd.EXC_BREAK +""" +break on the exception +""" + +ida_idd.EXC_HANDLE +""" +should be handled by the debugger? +""" + +ida_idd.EXC_MSG +""" +instead of a warning, log the exception to the output window +""" + +ida_idd.EXC_SILENT +""" +do not warn or log to the output window +""" + +ida_idd.IDD_INTERFACE_VERSION +""" +The IDD interface version number. +""" + +ida_idd.NO_PROCESS +""" +No process. +""" + +ida_idd.NO_THREAD +""" +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. +""" + +ida_idd.REGISTER_ADDRESS +""" +may contain an address +""" + +ida_idd.REGISTER_CS +""" +code segment +""" + +ida_idd.REGISTER_CUSTFMT +""" +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' +""" + +ida_idd.REGISTER_FP +""" +frame pointer +""" + +ida_idd.REGISTER_IP +""" +instruction pointer +""" + +ida_idd.REGISTER_NOLF +""" +allowing the next register to be displayed to its right (on the same +line) + +displays this register without returning to the next line +""" + +ida_idd.REGISTER_READONLY +""" +the user can't modify the current value of this register +""" + +ida_idd.REGISTER_SP +""" +stack pointer +""" + +ida_idd.REGISTER_SS +""" +stack segment +""" + +ida_idd.RVT_FLOAT +""" +floating point +""" + +ida_idd.RVT_INT +""" +integer +""" + +ida_idd.RVT_UNAVAILABLE +""" +other values mean custom data type + +unavailable +""" +=== ida_idd EPYDOC INJECTIONS END === +Help on function AssembleLine in module ida_idp: + +AssembleLine(*args) -> 'PyObject *' + AssembleLine(ea, cs, ip, use32, nonnul_line) -> PyObject * + + + 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 line: line to assemble + @return: + - None on failure + - or a string containing the assembled instruction + +Help on class IDB_Hooks in module ida_idp: + +class IDB_Hooks(builtins.object) + | Proxy of C++ IDB_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> IDB_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_IDB_Hooks(...) + | delete_IDB_Hooks(self) + | + | allsegs_moved(self, *args) -> 'void' + | allsegs_moved(self, info) + | + | auto_empty(self, *args) -> 'void' + | auto_empty(self) + | + | auto_empty_finally(self, *args) -> 'void' + | auto_empty_finally(self) + | + | bookmark_changed(self, *args) -> 'void' + | bookmark_changed(self, index, pos, desc) + | + | byte_patched(self, *args) -> 'void' + | byte_patched(self, ea, old_value) + | + | callee_addr_changed(self, *args) -> 'void' + | callee_addr_changed(self, ea, callee) + | + | changing_cmt(self, *args) -> 'void' + | changing_cmt(self, ea, repeatable_cmt, newcmt) + | + | changing_enum_bf(self, *args) -> 'void' + | changing_enum_bf(self, id, new_bf) + | + | changing_enum_cmt(self, *args) -> 'void' + | changing_enum_cmt(self, id, repeatable, newcmt) + | + | changing_op_ti(self, *args) -> 'void' + | changing_op_ti(self, ea, n, new_type, new_fnames) + | + | changing_op_type(self, *args) -> 'void' + | changing_op_type(self, ea, n, opinfo) + | + | changing_range_cmt(self, *args) -> 'void' + | changing_range_cmt(self, kind, a, cmt, repeatable) + | + | changing_segm_class(self, *args) -> 'void' + | changing_segm_class(self, s) + | + | changing_segm_end(self, *args) -> 'void' + | changing_segm_end(self, s, new_end, segmod_flags) + | + | changing_segm_name(self, *args) -> 'void' + | changing_segm_name(self, s, oldname) + | + | changing_segm_start(self, *args) -> 'void' + | changing_segm_start(self, s, new_start, segmod_flags) + | + | changing_struc_align(self, *args) -> 'void' + | changing_struc_align(self, sptr) + | + | changing_struc_cmt(self, *args) -> 'void' + | changing_struc_cmt(self, struc_id, repeatable, newcmt) + | + | changing_struc_member(self, *args) -> 'void' + | changing_struc_member(self, sptr, mptr, flag, ti, nbytes) + | + | changing_ti(self, *args) -> 'void' + | changing_ti(self, ea, new_type, new_fnames) + | + | closebase(self, *args) -> 'void' + | closebase(self) + | + | cmt_changed(self, *args) -> 'void' + | cmt_changed(self, ea, repeatable_cmt) + | + | compiler_changed(self, *args) -> 'void' + | compiler_changed(self) + | + | deleting_enum(self, *args) -> 'void' + | deleting_enum(self, id) + | + | deleting_enum_member(self, *args) -> 'void' + | deleting_enum_member(self, id, cid) + | + | deleting_func(self, *args) -> 'void' + | deleting_func(self, pfn) + | + | deleting_func_tail(self, *args) -> 'void' + | deleting_func_tail(self, pfn, tail) + | + | deleting_segm(self, *args) -> 'void' + | deleting_segm(self, start_ea) + | + | deleting_struc(self, *args) -> 'void' + | deleting_struc(self, sptr) + | + | deleting_struc_member(self, *args) -> 'void' + | deleting_struc_member(self, sptr, mptr) + | + | deleting_tryblks(self, *args) -> 'void' + | deleting_tryblks(self, range) + | + | destroyed_items(self, *args) -> 'void' + | destroyed_items(self, ea1, ea2, will_disable_range) + | + | determined_main(self, *args) -> 'void' + | determined_main(self, main) + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | enum_bf_changed(self, *args) -> 'void' + | enum_bf_changed(self, id) + | + | enum_cmt_changed(self, *args) -> 'void' + | enum_cmt_changed(self, id, repeatable) + | + | enum_created(self, *args) -> 'void' + | enum_created(self, id) + | + | enum_deleted(self, *args) -> 'void' + | enum_deleted(self, id) + | + | enum_member_created(self, *args) -> 'void' + | enum_member_created(self, id, cid) + | + | enum_member_deleted(self, *args) -> 'void' + | enum_member_deleted(self, id, cid) + | + | enum_renamed(self, *args) -> 'void' + | enum_renamed(self, id) + | + | expanding_struc(self, *args) -> 'void' + | expanding_struc(self, sptr, offset, delta) + | + | extlang_changed(self, *args) -> 'void' + | extlang_changed(self, kind, el, idx) + | + | extra_cmt_changed(self, *args) -> 'void' + | extra_cmt_changed(self, ea, line_idx, cmt) + | + | flow_chart_created(self, *args) -> 'void' + | flow_chart_created(self, fc) + | + | frame_deleted(self, *args) -> 'void' + | frame_deleted(self, pfn) + | + | func_added(self, *args) -> 'void' + | func_added(self, pfn) + | + | func_noret_changed(self, *args) -> 'void' + | func_noret_changed(self, pfn) + | + | func_tail_appended(self, *args) -> 'void' + | func_tail_appended(self, pfn, tail) + | + | func_tail_deleted(self, *args) -> 'void' + | func_tail_deleted(self, pfn, tail_ea) + | + | func_updated(self, *args) -> 'void' + | func_updated(self, pfn) + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | idasgn_loaded(self, *args) -> 'void' + | idasgn_loaded(self, short_sig_name) + | + | item_color_changed(self, *args) -> 'void' + | item_color_changed(self, ea, color) + | + | kernel_config_loaded(self, *args) -> 'void' + | kernel_config_loaded(self) + | + | loader_finished(self, *args) -> 'void' + | loader_finished(self, li, neflags, filetypename) + | + | local_types_changed(self, *args) -> 'void' + | local_types_changed(self) + | + | make_code(self, *args) -> 'void' + | make_code(self, insn) + | + | make_data(self, *args) -> 'void' + | make_data(self, ea, flags, tid, len) + | + | op_ti_changed(self, *args) -> 'void' + | op_ti_changed(self, ea, n, type, fnames) + | + | op_type_changed(self, *args) -> 'void' + | op_type_changed(self, ea, n) + | + | range_cmt_changed(self, *args) -> 'void' + | range_cmt_changed(self, kind, a, cmt, repeatable) + | + | renamed(self, *args) -> 'void' + | renamed(self, ea, new_name, local_name) + | + | renaming_enum(self, *args) -> 'void' + | renaming_enum(self, id, is_enum, newname) + | + | renaming_struc(self, *args) -> 'void' + | renaming_struc(self, id, oldname, newname) + | + | renaming_struc_member(self, *args) -> 'void' + | renaming_struc_member(self, sptr, mptr, newname) + | + | savebase(self, *args) -> 'void' + | savebase(self) + | + | segm_added(self, *args) -> 'void' + | segm_added(self, s) + | + | segm_attrs_updated(self, *args) -> 'void' + | segm_attrs_updated(self, s) + | + | segm_class_changed(self, *args) -> 'void' + | segm_class_changed(self, s, sclass) + | + | segm_deleted(self, *args) -> 'void' + | segm_deleted(self, start_ea, end_ea) + | + | segm_end_changed(self, *args) -> 'void' + | segm_end_changed(self, s, oldend) + | + | segm_moved(self, *args) -> 'void' + | segm_moved(self, _from, to, size, changed_netmap) + | + | segm_name_changed(self, *args) -> 'void' + | segm_name_changed(self, s, name) + | + | segm_start_changed(self, *args) -> 'void' + | segm_start_changed(self, s, oldstart) + | + | set_func_end(self, *args) -> 'void' + | set_func_end(self, pfn, new_end) + | + | set_func_start(self, *args) -> 'void' + | set_func_start(self, pfn, new_start) + | + | sgr_changed(self, *args) -> 'void' + | sgr_changed(self, start_ea, end_ea, regnum, value, old_value, tag) + | + | sgr_deleted(self, *args) -> 'void' + | sgr_deleted(self, start_ea, end_ea, regnum) + | + | stkpnts_changed(self, *args) -> 'void' + | stkpnts_changed(self, pfn) + | + | struc_align_changed(self, *args) -> 'void' + | struc_align_changed(self, sptr) + | + | struc_cmt_changed(self, *args) -> 'void' + | struc_cmt_changed(self, struc_id, repeatable_cmt) + | + | struc_created(self, *args) -> 'void' + | struc_created(self, struc_id) + | + | struc_deleted(self, *args) -> 'void' + | struc_deleted(self, struc_id) + | + | struc_expanded(self, *args) -> 'void' + | struc_expanded(self, sptr) + | + | struc_member_changed(self, *args) -> 'void' + | struc_member_changed(self, sptr, mptr) + | + | struc_member_created(self, *args) -> 'void' + | struc_member_created(self, sptr, mptr) + | + | struc_member_deleted(self, *args) -> 'void' + | struc_member_deleted(self, sptr, member_id, offset) + | + | struc_member_renamed(self, *args) -> 'void' + | struc_member_renamed(self, sptr, mptr) + | + | struc_renamed(self, *args) -> 'void' + | struc_renamed(self, sptr) + | + | tail_owner_changed(self, *args) -> 'void' + | tail_owner_changed(self, tail, owner_func, old_owner) + | + | thunk_func_created(self, *args) -> 'void' + | thunk_func_created(self, pfn) + | + | ti_changed(self, *args) -> 'void' + | ti_changed(self, ea, type, fnames) + | + | tryblks_updated(self, *args) -> 'void' + | tryblks_updated(self, tbv) + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | updating_tryblks(self, *args) -> 'void' + | updating_tryblks(self, tbv) + | + | upgraded(self, *args) -> 'void' + | upgraded(self, _from) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class IDP_Hooks in module ida_idp: + +class IDP_Hooks(builtins.object) + | Proxy of C++ IDP_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> IDP_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_IDP_Hooks(...) + | delete_IDP_Hooks(self) + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | ev_add_cref(self, *args) -> 'int' + | ev_add_cref(self, _from, to, type) -> int + | + | ev_add_dref(self, *args) -> 'int' + | ev_add_dref(self, _from, to, type) -> int + | + | ev_adjust_argloc(self, *args) -> 'int' + | ev_adjust_argloc(self, argloc, optional_type, size) -> int + | + | ev_adjust_libfunc_ea(self, *args) -> 'int' + | ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int + | + | ev_adjust_refinfo(self, *args) -> 'int' + | ev_adjust_refinfo(self, ri, ea, n, fd) -> int + | + | ev_ana_insn(self, *args) -> 'bool' + | ev_ana_insn(self, out) -> bool + | + | + | Analyzes and decodes an instruction at insn.ea + | - insn.itype must be set >= idaapi.CUSTOM_CMD_ITYPE + | - insn.size must be set to the instruction length + | + | @return: Boolean + | - False if the instruction is not recognized + | - True if the instruction was decoded. 'insn' should be filled in that case. + | + | ev_analyze_prolog(self, *args) -> 'int' + | ev_analyze_prolog(self, ea) -> int + | + | ev_arg_addrs_ready(self, *args) -> 'int' + | ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int + | + | ev_assemble(self, *args) -> 'PyObject *' + | ev_assemble(self, ea, cs, ip, use32, line) -> PyObject * + | + | + | Assembles an instruction + | + | @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: - None to let the underlying processor module assemble the line + | - or a string containing the assembled buffer + | + | ev_auto_queue_empty(self, *args) -> 'void' + | ev_auto_queue_empty(self, type) + | + | ev_calc_arglocs(self, *args) -> 'int' + | ev_calc_arglocs(self, fti) -> int + | + | ev_calc_cdecl_purged_bytes(self, *args) -> 'int' + | ev_calc_cdecl_purged_bytes(self, ea) -> int + | + | ev_calc_next_eas(self, *args) -> 'int' + | ev_calc_next_eas(self, res, insn, over) -> int + | + | ev_calc_purged_bytes(self, *args) -> 'int' + | ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int + | + | ev_calc_retloc(self, *args) -> 'int' + | ev_calc_retloc(self, retloc, rettype, cc) -> int + | + | ev_calc_spdelta(self, *args) -> 'int' + | ev_calc_spdelta(self, spdelta, insn) -> int + | + | ev_calc_step_over(self, *args) -> 'int' + | ev_calc_step_over(self, target, ip) -> int + | + | ev_calc_switch_cases(self, *args) -> 'int' + | ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int + | + | ev_calc_varglocs(self, *args) -> 'int' + | ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int + | + | ev_calcrel(self, *args) -> 'int' + | ev_calcrel(self) -> int + | + | ev_can_have_type(self, *args) -> 'int' + | ev_can_have_type(self, op) -> int + | + | ev_clean_tbit(self, *args) -> 'int' + | ev_clean_tbit(self, ea, getreg, regvalues) -> int + | + | ev_cmp_operands(self, *args) -> 'int' + | ev_cmp_operands(self, op1, op2) -> int + | + | ev_coagulate(self, *args) -> 'int' + | ev_coagulate(self, start_ea) -> int + | + | ev_coagulate_dref(self, *args) -> 'int' + | ev_coagulate_dref(self, _from, to, may_define, code_ea) -> int + | + | ev_create_flat_group(self, *args) -> 'int' + | ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int + | + | ev_create_func_frame(self, *args) -> 'int' + | ev_create_func_frame(self, pfn) -> int + | + | ev_create_switch_xrefs(self, *args) -> 'int' + | ev_create_switch_xrefs(self, jumpea, si) -> int + | + | ev_creating_segm(self, *args) -> 'int' + | ev_creating_segm(self, seg) -> int + | + | ev_decorate_name(self, *args) -> 'PyObject *' + | ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * + | + | ev_del_cref(self, *args) -> 'int' + | ev_del_cref(self, _from, to, expand) -> int + | + | ev_del_dref(self, *args) -> 'int' + | ev_del_dref(self, _from, to) -> int + | + | ev_delay_slot_insn(self, *args) -> 'PyObject *' + | ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * + | + | ev_demangle_name(self, *args) -> 'PyObject *' + | ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * + | + | ev_emu_insn(self, *args) -> 'bool' + | 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. + | + | @return: Boolean (whether this instruction has been emulated or not) + | + | ev_endbinary(self, *args) -> 'int' + | ev_endbinary(self, ok) -> int + | + | ev_ending_undo(self, *args) -> 'int' + | ev_ending_undo(self, action_name, is_undo) -> int + | + | ev_equal_reglocs(self, *args) -> 'int' + | ev_equal_reglocs(self, a1, a2) -> int + | + | ev_extract_address(self, *args) -> 'int' + | ev_extract_address(self, out_ea, screen_ea, string, position) -> int + | + | ev_find_op_value(self, *args) -> 'PyObject *' + | ev_find_op_value(self, pinsn, opn) -> PyObject * + | + | ev_find_reg_value(self, *args) -> 'PyObject *' + | ev_find_reg_value(self, pinsn, reg) -> PyObject * + | + | ev_func_bounds(self, *args) -> 'void' + | ev_func_bounds(self, possible_return_code, pfn, max_func_end_ea) + | + | ev_gen_asm_or_lst(self, *args) -> 'void' + | ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) + | + | ev_gen_map_file(self, *args) -> 'int' + | ev_gen_map_file(self, nlines, fp) -> int + | + | ev_gen_regvar_def(self, *args) -> 'int' + | ev_gen_regvar_def(self, outctx, v) -> int + | + | ev_gen_src_file_lnnum(self, *args) -> 'int' + | ev_gen_src_file_lnnum(self, outctx, file, lnnum) -> int + | + | ev_gen_stkvar_def(self, *args) -> 'int' + | ev_gen_stkvar_def(self, outctx, mptr, v) -> int + | + | ev_get_abi_info(self, *args) -> 'int' + | ev_get_abi_info(self, abi_names, abi_opts, comp) -> int + | + | ev_get_autocmt(self, *args) -> 'PyObject *' + | ev_get_autocmt(self, insn) -> PyObject * + | + | ev_get_bg_color(self, *args) -> 'int' + | ev_get_bg_color(self, ea) -> int or None + | + | ev_get_cc_regs(self, *args) -> 'int' + | ev_get_cc_regs(self, regs, cc) -> int + | + | ev_get_code16_mode(self, *args) -> 'int' + | ev_get_code16_mode(self, ea) -> int + | + | ev_get_dbr_opnum(self, *args) -> 'int' + | ev_get_dbr_opnum(self, opnum, insn) -> int + | + | ev_get_default_enum_size(self, *args) -> 'int' + | ev_get_default_enum_size(self, cm) -> int + | + | ev_get_frame_retsize(self, *args) -> 'int' + | ev_get_frame_retsize(self, frsize, pfn) -> int + | + | ev_get_macro_insn_head(self, *args) -> 'int' + | ev_get_macro_insn_head(self, head, ip) -> int + | + | ev_get_operand_string(self, *args) -> 'PyObject *' + | ev_get_operand_string(self, insn, opnum) -> PyObject * + | + | ev_get_reg_info(self, *args) -> 'int' + | ev_get_reg_info(self, main_regname, bitrange, regname) -> int + | + | ev_get_reg_name(self, *args) -> 'PyObject *' + | ev_get_reg_name(self, reg, width, reghi) -> PyObject * + | + | ev_get_simd_types(self, *args) -> 'int' + | ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int + | + | ev_get_stkarg_offset(self, *args) -> 'int' + | ev_get_stkarg_offset(self) -> int + | + | ev_get_stkvar_scale_factor(self, *args) -> 'int' + | ev_get_stkvar_scale_factor(self) -> int + | + | ev_getreg(self, *args) -> 'int' + | ev_getreg(self, regval, regnum) -> int + | + | ev_init(self, *args) -> 'int' + | ev_init(self, idp_modname) -> int + | + | ev_insn_reads_tbit(self, *args) -> 'int' + | ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int + | + | ev_is_align_insn(self, *args) -> 'int' + | ev_is_align_insn(self, ea) -> int + | + | ev_is_alloca_probe(self, *args) -> 'int' + | ev_is_alloca_probe(self, ea) -> int + | + | ev_is_basic_block_end(self, *args) -> 'int' + | ev_is_basic_block_end(self, insn, call_insn_stops_block) -> int + | + | ev_is_call_insn(self, *args) -> 'int' + | ev_is_call_insn(self, insn) -> int + | + | + | Is the instruction a "call"? + | + | @param insn: instruction + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_cond_insn(self, *args) -> 'int' + | ev_is_cond_insn(self, insn) -> int + | + | ev_is_far_jump(self, *args) -> 'int' + | ev_is_far_jump(self, icode) -> int + | + | ev_is_indirect_jump(self, *args) -> 'int' + | ev_is_indirect_jump(self, insn) -> int + | + | ev_is_insn_table_jump(self, *args) -> 'int' + | ev_is_insn_table_jump(self, insn) -> int + | + | ev_is_jump_func(self, *args) -> 'int' + | ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int + | + | ev_is_ret_insn(self, *args) -> 'int' + | ev_is_ret_insn(self, insn, strict) -> int + | + | + | Is the instruction a "return"? + | + | @param insn: instruction + | @param strict: - True: report only ret instructions + | False: include instructions like "leave" which begins the function epilog + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_sane_insn(self, *args) -> 'int' + | ev_is_sane_insn(self, insn, no_crefs) -> int + | + | + | is the instruction sane for the current file type? + | @param insn: the instruction + | @param no_crefs: + | - 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. + | @return: >=0-ok, <0-no, the instruction isn't likely to appear in the program + | + | ev_is_sp_based(self, *args) -> 'int' + | ev_is_sp_based(self, mode, insn, op) -> int + | + | ev_is_switch(self, *args) -> 'int' + | ev_is_switch(self, si, insn) -> int + | + | ev_last_cb_before_loader(self, *args) -> 'int' + | ev_last_cb_before_loader(self) -> int + | + | ev_loader(self, *args) -> 'int' + | ev_loader(self) -> int + | + | ev_lower_func_type(self, *args) -> 'int' + | ev_lower_func_type(self, argnums, fti) -> int + | + | ev_max_ptr_size(self, *args) -> 'int' + | ev_max_ptr_size(self) -> int + | + | ev_may_be_func(self, *args) -> 'int' + | ev_may_be_func(self, insn, state) -> int + | + | + | Can a function start here? + | @param insn: the instruction + | @param state: autoanalysis phase + | 0: creating functions + | 1: creating chunks + | + | @return: integer (probability 0..100) + | + | ev_may_show_sreg(self, *args) -> 'int' + | ev_may_show_sreg(self, current_ea) -> int + | + | ev_moving_segm(self, *args) -> 'int' + | ev_moving_segm(self, seg, to, flags) -> int + | + | ev_newasm(self, *args) -> 'int' + | ev_newasm(self, asmnum) -> int + | + | ev_newbinary(self, *args) -> 'int' + | ev_newbinary(self, filename, fileoff, basepara, binoff, nbytes) -> int + | + | ev_newfile(self, *args) -> 'int' + | ev_newfile(self, fname) -> int + | + | ev_newprc(self, *args) -> 'int' + | ev_newprc(self, pnum, keep_cfg) -> int + | + | ev_next_exec_insn(self, *args) -> 'int' + | ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int + | + | ev_oldfile(self, *args) -> 'int' + | ev_oldfile(self, fname) -> int + | + | ev_out_assumes(self, *args) -> 'int' + | ev_out_assumes(self, outctx) -> int + | + | ev_out_data(self, *args) -> 'int' + | ev_out_data(self, outctx, analyze_only) -> int + | + | ev_out_footer(self, *args) -> 'void' + | ev_out_footer(self, outctx) + | + | ev_out_header(self, *args) -> 'void' + | ev_out_header(self, outctx) + | + | ev_out_insn(self, *args) -> 'bool' + | ev_out_insn(self, outctx) -> bool + | + | + | Outputs the instruction defined in 'ctx.insn' + | + | @return: Boolean (whether this instruction can be outputted or not) + | + | ev_out_label(self, *args) -> 'int' + | ev_out_label(self, outctx, colored_name) -> int + | + | ev_out_mnem(self, *args) -> 'int' + | ev_out_mnem(self, outctx) -> int + | + | ev_out_operand(self, *args) -> 'bool' + | ev_out_operand(self, outctx, op) -> bool + | + | + | Notification to generate operand text. + | If False was returned, then the standard operand output function will be called. + | + | this notification may use out_...() functions to form the operand text + | + | @return: Boolean (whether the operand has been outputted or not) + | + | ev_out_segend(self, *args) -> 'int' + | ev_out_segend(self, outctx, seg) -> int + | + | ev_out_segstart(self, *args) -> 'int' + | ev_out_segstart(self, outctx, seg) -> int + | + | ev_out_special_item(self, *args) -> 'int' + | ev_out_special_item(self, outctx, segtype) -> int + | + | ev_realcvt(self, *args) -> 'int' + | ev_realcvt(self, m, e, swt) -> int + | + | ev_rename(self, *args) -> 'int' + | ev_rename(self, ea, new_name) -> int + | + | + | The kernel is going to rename a byte. + | + | @param ea: Address + | @param new_name: The new name + | + | @return: + | - If returns value <0, then the kernel should + | not rename it. See also the 'renamed' event + | + | ev_replaying_undo(self, *args) -> 'int' + | ev_replaying_undo(self, action_name, vec, is_undo) -> int + | + | ev_set_code16_mode(self, *args) -> 'int' + | ev_set_code16_mode(self, ea, code16) -> int + | + | ev_set_idp_options(self, *args) -> 'int' + | ev_set_idp_options(self, keyword, value_type, value, errbuf, idb_loaded) -> int + | + | ev_set_proc_options(self, *args) -> 'int' + | ev_set_proc_options(self, options, confidence) -> int + | + | ev_setup_til(self, *args) -> 'void' + | ev_setup_til(self) + | + | ev_shadow_args_size(self, *args) -> 'int' + | ev_shadow_args_size(self, shadow_args_size, pfn) -> int + | + | ev_str2reg(self, *args) -> 'int' + | ev_str2reg(self, regname) -> int + | + | ev_term(self, *args) -> 'int' + | ev_term(self) -> int + | + | ev_treat_hindering_item(self, *args) -> 'int' + | ev_treat_hindering_item(self, hindering_item_ea, new_item_flags, new_item_ea, new_item_length) -> int + | + | ev_undefine(self, *args) -> 'int' + | ev_undefine(self, ea) -> int + | + | + | An item in the database (insn or data) is being deleted + | @param ea: Address + | @return: + | - 1 - do not delete srranges at the item end + | - 0 - srranges can be deleted + | + | ev_use_arg_types(self, *args) -> 'int' + | ev_use_arg_types(self, ea, fti, rargs) -> int + | + | ev_use_regarg_type(self, *args) -> 'PyObject *' + | ev_use_regarg_type(self, ea, rargs) -> PyObject * + | + | ev_use_stkarg_type(self, *args) -> 'int' + | ev_use_stkarg_type(self, ea, arg) -> int + | + | ev_validate_flirt_func(self, *args) -> 'int' + | ev_validate_flirt_func(self, start_ea, funcname) -> int + | + | ev_verify_noreturn(self, *args) -> 'int' + | ev_verify_noreturn(self, pfn) -> int + | + | ev_verify_sp(self, *args) -> 'int' + | ev_verify_sp(self, pfn) -> int + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | + | Creates an IDP hook + | + | @return: Boolean true on success + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | + | Removes the IDP hook + | @return: Boolean true on success + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class __ph in module ida_idp: + +class __ph(builtins.object) + | # ---------------------------------------------------------------------- + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cnbits + | + | dnbits + | + | flag + | + | icode_return + | + | id + | + | instruc + | + | instruc_end + | + | instruc_start + | + | reg_code_sreg + | + | reg_data_sreg + | + | reg_first_sreg + | + | reg_last_sreg + | + | regnames + | + | segreg_size + | + | tbyte_size + | + | version + +Help on class _notify_when_dispatcher_t in module ida_idp: + +class _notify_when_dispatcher_t(builtins.object) + | Methods defined here: + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | _find(self, fun) + | + | dispatch(self, slot, *args) + | + | notify_when(self, when, fun) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _IDB_Hooks = + | Proxy of C++ IDB_Hooks class. + | + | _IDP_Hooks = + | Proxy of C++ IDP_Hooks class. + | + | _callback_t = + +Help on class _processor_t_Trampoline_IDB_Hooks in module ida_idp: + +class _processor_t_Trampoline_IDB_Hooks(IDB_Hooks) + | Proxy of C++ IDB_Hooks class. + | + | Method resolution order: + | _processor_t_Trampoline_IDB_Hooks + | IDB_Hooks + | builtins.object + | + | Methods defined here: + | + | __init__(self, proc) + | __init__(self, _flags=0) -> IDB_Hooks + | + | _processor_t_Trampoline_IDB_Hooks__dummy = __dummy(self, *args) + | + | _processor_t_Trampoline_IDB_Hooks__make_parent_caller = __make_parent_caller(self, key) + | + | ---------------------------------------------------------------------- + | Methods inherited from IDB_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_IDB_Hooks(...) + | delete_IDB_Hooks(self) + | + | allsegs_moved(self, *args) -> 'void' + | allsegs_moved(self, info) + | + | auto_empty(self, *args) -> 'void' + | auto_empty(self) + | + | auto_empty_finally(self, *args) -> 'void' + | auto_empty_finally(self) + | + | bookmark_changed(self, *args) -> 'void' + | bookmark_changed(self, index, pos, desc) + | + | byte_patched(self, *args) -> 'void' + | byte_patched(self, ea, old_value) + | + | callee_addr_changed(self, *args) -> 'void' + | callee_addr_changed(self, ea, callee) + | + | changing_cmt(self, *args) -> 'void' + | changing_cmt(self, ea, repeatable_cmt, newcmt) + | + | changing_enum_bf(self, *args) -> 'void' + | changing_enum_bf(self, id, new_bf) + | + | changing_enum_cmt(self, *args) -> 'void' + | changing_enum_cmt(self, id, repeatable, newcmt) + | + | changing_op_ti(self, *args) -> 'void' + | changing_op_ti(self, ea, n, new_type, new_fnames) + | + | changing_op_type(self, *args) -> 'void' + | changing_op_type(self, ea, n, opinfo) + | + | changing_range_cmt(self, *args) -> 'void' + | changing_range_cmt(self, kind, a, cmt, repeatable) + | + | changing_segm_class(self, *args) -> 'void' + | changing_segm_class(self, s) + | + | changing_segm_end(self, *args) -> 'void' + | changing_segm_end(self, s, new_end, segmod_flags) + | + | changing_segm_name(self, *args) -> 'void' + | changing_segm_name(self, s, oldname) + | + | changing_segm_start(self, *args) -> 'void' + | changing_segm_start(self, s, new_start, segmod_flags) + | + | changing_struc_align(self, *args) -> 'void' + | changing_struc_align(self, sptr) + | + | changing_struc_cmt(self, *args) -> 'void' + | changing_struc_cmt(self, struc_id, repeatable, newcmt) + | + | changing_struc_member(self, *args) -> 'void' + | changing_struc_member(self, sptr, mptr, flag, ti, nbytes) + | + | changing_ti(self, *args) -> 'void' + | changing_ti(self, ea, new_type, new_fnames) + | + | closebase(self, *args) -> 'void' + | closebase(self) + | + | cmt_changed(self, *args) -> 'void' + | cmt_changed(self, ea, repeatable_cmt) + | + | compiler_changed(self, *args) -> 'void' + | compiler_changed(self) + | + | deleting_enum(self, *args) -> 'void' + | deleting_enum(self, id) + | + | deleting_enum_member(self, *args) -> 'void' + | deleting_enum_member(self, id, cid) + | + | deleting_func(self, *args) -> 'void' + | deleting_func(self, pfn) + | + | deleting_func_tail(self, *args) -> 'void' + | deleting_func_tail(self, pfn, tail) + | + | deleting_segm(self, *args) -> 'void' + | deleting_segm(self, start_ea) + | + | deleting_struc(self, *args) -> 'void' + | deleting_struc(self, sptr) + | + | deleting_struc_member(self, *args) -> 'void' + | deleting_struc_member(self, sptr, mptr) + | + | deleting_tryblks(self, *args) -> 'void' + | deleting_tryblks(self, range) + | + | destroyed_items(self, *args) -> 'void' + | destroyed_items(self, ea1, ea2, will_disable_range) + | + | determined_main(self, *args) -> 'void' + | determined_main(self, main) + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | enum_bf_changed(self, *args) -> 'void' + | enum_bf_changed(self, id) + | + | enum_cmt_changed(self, *args) -> 'void' + | enum_cmt_changed(self, id, repeatable) + | + | enum_created(self, *args) -> 'void' + | enum_created(self, id) + | + | enum_deleted(self, *args) -> 'void' + | enum_deleted(self, id) + | + | enum_member_created(self, *args) -> 'void' + | enum_member_created(self, id, cid) + | + | enum_member_deleted(self, *args) -> 'void' + | enum_member_deleted(self, id, cid) + | + | enum_renamed(self, *args) -> 'void' + | enum_renamed(self, id) + | + | expanding_struc(self, *args) -> 'void' + | expanding_struc(self, sptr, offset, delta) + | + | extlang_changed(self, *args) -> 'void' + | extlang_changed(self, kind, el, idx) + | + | extra_cmt_changed(self, *args) -> 'void' + | extra_cmt_changed(self, ea, line_idx, cmt) + | + | flow_chart_created(self, *args) -> 'void' + | flow_chart_created(self, fc) + | + | frame_deleted(self, *args) -> 'void' + | frame_deleted(self, pfn) + | + | func_added(self, *args) -> 'void' + | func_added(self, pfn) + | + | func_noret_changed(self, *args) -> 'void' + | func_noret_changed(self, pfn) + | + | func_tail_appended(self, *args) -> 'void' + | func_tail_appended(self, pfn, tail) + | + | func_tail_deleted(self, *args) -> 'void' + | func_tail_deleted(self, pfn, tail_ea) + | + | func_updated(self, *args) -> 'void' + | func_updated(self, pfn) + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | idasgn_loaded(self, *args) -> 'void' + | idasgn_loaded(self, short_sig_name) + | + | item_color_changed(self, *args) -> 'void' + | item_color_changed(self, ea, color) + | + | kernel_config_loaded(self, *args) -> 'void' + | kernel_config_loaded(self) + | + | loader_finished(self, *args) -> 'void' + | loader_finished(self, li, neflags, filetypename) + | + | local_types_changed(self, *args) -> 'void' + | local_types_changed(self) + | + | make_code(self, *args) -> 'void' + | make_code(self, insn) + | + | make_data(self, *args) -> 'void' + | make_data(self, ea, flags, tid, len) + | + | op_ti_changed(self, *args) -> 'void' + | op_ti_changed(self, ea, n, type, fnames) + | + | op_type_changed(self, *args) -> 'void' + | op_type_changed(self, ea, n) + | + | range_cmt_changed(self, *args) -> 'void' + | range_cmt_changed(self, kind, a, cmt, repeatable) + | + | renamed(self, *args) -> 'void' + | renamed(self, ea, new_name, local_name) + | + | renaming_enum(self, *args) -> 'void' + | renaming_enum(self, id, is_enum, newname) + | + | renaming_struc(self, *args) -> 'void' + | renaming_struc(self, id, oldname, newname) + | + | renaming_struc_member(self, *args) -> 'void' + | renaming_struc_member(self, sptr, mptr, newname) + | + | savebase(self, *args) -> 'void' + | savebase(self) + | + | segm_added(self, *args) -> 'void' + | segm_added(self, s) + | + | segm_attrs_updated(self, *args) -> 'void' + | segm_attrs_updated(self, s) + | + | segm_class_changed(self, *args) -> 'void' + | segm_class_changed(self, s, sclass) + | + | segm_deleted(self, *args) -> 'void' + | segm_deleted(self, start_ea, end_ea) + | + | segm_end_changed(self, *args) -> 'void' + | segm_end_changed(self, s, oldend) + | + | segm_moved(self, *args) -> 'void' + | segm_moved(self, _from, to, size, changed_netmap) + | + | segm_name_changed(self, *args) -> 'void' + | segm_name_changed(self, s, name) + | + | segm_start_changed(self, *args) -> 'void' + | segm_start_changed(self, s, oldstart) + | + | set_func_end(self, *args) -> 'void' + | set_func_end(self, pfn, new_end) + | + | set_func_start(self, *args) -> 'void' + | set_func_start(self, pfn, new_start) + | + | sgr_changed(self, *args) -> 'void' + | sgr_changed(self, start_ea, end_ea, regnum, value, old_value, tag) + | + | sgr_deleted(self, *args) -> 'void' + | sgr_deleted(self, start_ea, end_ea, regnum) + | + | stkpnts_changed(self, *args) -> 'void' + | stkpnts_changed(self, pfn) + | + | struc_align_changed(self, *args) -> 'void' + | struc_align_changed(self, sptr) + | + | struc_cmt_changed(self, *args) -> 'void' + | struc_cmt_changed(self, struc_id, repeatable_cmt) + | + | struc_created(self, *args) -> 'void' + | struc_created(self, struc_id) + | + | struc_deleted(self, *args) -> 'void' + | struc_deleted(self, struc_id) + | + | struc_expanded(self, *args) -> 'void' + | struc_expanded(self, sptr) + | + | struc_member_changed(self, *args) -> 'void' + | struc_member_changed(self, sptr, mptr) + | + | struc_member_created(self, *args) -> 'void' + | struc_member_created(self, sptr, mptr) + | + | struc_member_deleted(self, *args) -> 'void' + | struc_member_deleted(self, sptr, member_id, offset) + | + | struc_member_renamed(self, *args) -> 'void' + | struc_member_renamed(self, sptr, mptr) + | + | struc_renamed(self, *args) -> 'void' + | struc_renamed(self, sptr) + | + | tail_owner_changed(self, *args) -> 'void' + | tail_owner_changed(self, tail, owner_func, old_owner) + | + | thunk_func_created(self, *args) -> 'void' + | thunk_func_created(self, pfn) + | + | ti_changed(self, *args) -> 'void' + | ti_changed(self, ea, type, fnames) + | + | tryblks_updated(self, *args) -> 'void' + | tryblks_updated(self, tbv) + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | updating_tryblks(self, *args) -> 'void' + | updating_tryblks(self, tbv) + | + | upgraded(self, *args) -> 'void' + | upgraded(self, _from) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from IDB_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class asm_t in module ida_idp: + +class asm_t(builtins.object) + | Proxy of C++ asm_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> asm_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_asm_t(...) + | delete_asm_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a_align + | asm_t_a_align_get(self) -> char const * + | + | a_ascii + | asm_t_a_ascii_get(self) -> char const * + | + | a_band + | asm_t_a_band_get(self) -> char const * + | + | a_bnot + | asm_t_a_bnot_get(self) -> char const * + | + | a_bor + | asm_t_a_bor_get(self) -> char const * + | + | a_bss + | asm_t_a_bss_get(self) -> char const * + | + | a_byte + | asm_t_a_byte_get(self) -> char const * + | + | a_comdef + | asm_t_a_comdef_get(self) -> char const * + | + | a_curip + | asm_t_a_curip_get(self) -> char const * + | + | a_double + | asm_t_a_double_get(self) -> char const * + | + | a_dups + | asm_t_a_dups_get(self) -> char const * + | + | a_dword + | asm_t_a_dword_get(self) -> char const * + | + | a_equ + | asm_t_a_equ_get(self) -> char const * + | + | a_extrn + | asm_t_a_extrn_get(self) -> char const * + | + | a_float + | asm_t_a_float_get(self) -> char const * + | + | a_include_fmt + | asm_t_a_include_fmt_get(self) -> char const * + | + | a_mod + | asm_t_a_mod_get(self) -> char const * + | + | a_oword + | asm_t_a_oword_get(self) -> char const * + | + | a_packreal + | asm_t_a_packreal_get(self) -> char const * + | + | a_public + | asm_t_a_public_get(self) -> char const * + | + | a_qword + | asm_t_a_qword_get(self) -> char const * + | + | a_rva + | asm_t_a_rva_get(self) -> char const * + | + | a_seg + | asm_t_a_seg_get(self) -> char const * + | + | a_shl + | asm_t_a_shl_get(self) -> char const * + | + | a_shr + | asm_t_a_shr_get(self) -> char const * + | + | a_sizeof_fmt + | asm_t_a_sizeof_fmt_get(self) -> char const * + | + | a_tbyte + | asm_t_a_tbyte_get(self) -> char const * + | + | a_vstruc_fmt + | asm_t_a_vstruc_fmt_get(self) -> char const * + | + | a_weak + | asm_t_a_weak_get(self) -> char const * + | + | a_word + | asm_t_a_word_get(self) -> char const * + | + | a_xor + | asm_t_a_xor_get(self) -> char const * + | + | a_yword + | asm_t_a_yword_get(self) -> char const * + | + | accsep + | asm_t_accsep_get(self) -> char + | + | ascsep + | asm_t_ascsep_get(self) -> char + | + | cmnt + | asm_t_cmnt_get(self) -> char const * + | + | cmnt2 + | asm_t_cmnt2_get(self) -> char const * + | + | end + | asm_t_end_get(self) -> char const * + | + | esccodes + | asm_t_esccodes_get(self) -> char const * + | + | flag + | asm_t_flag_get(self) -> uint32 + | + | flag2 + | asm_t_flag2_get(self) -> uint32 + | + | header + | asm_t_header_get(self) -> char const *const * + | + | help + | asm_t_help_get(self) -> help_t + | + | high16 + | asm_t_high16_get(self) -> char const * + | + | high8 + | asm_t_high8_get(self) -> char const * + | + | lbrace + | asm_t_lbrace_get(self) -> char + | + | low16 + | asm_t_low16_get(self) -> char const * + | + | low8 + | asm_t_low8_get(self) -> char const * + | + | name + | asm_t_name_get(self) -> char const * + | + | origin + | asm_t_origin_get(self) -> char const * + | + | rbrace + | asm_t_rbrace_get(self) -> char + | + | thisown + | The membership flag + | + | uflag + | asm_t_uflag_get(self) -> uint16 + +Help on function assemble in module ida_idp: + +assemble(*args) -> 'bool' + 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. + +Help on function cfg_get_cc_header_path in module ida_idp: + +cfg_get_cc_header_path(*args) -> 'char const *' + cfg_get_cc_header_path(compid) -> char const * + +Help on function cfg_get_cc_parm in module ida_idp: + +cfg_get_cc_parm(*args) -> 'char const *' + cfg_get_cc_parm(compid, name) -> char const * + +Help on function cfg_get_cc_predefined_macros in module ida_idp: + +cfg_get_cc_predefined_macros(*args) -> 'char const *' + cfg_get_cc_predefined_macros(compid) -> char const * + +Help on function delay_slot_insn in module ida_idp: + +delay_slot_insn(*args) -> 'bool' + delay_slot_insn(ea, bexec, fexec) -> bool + + + Helper function to get the delay slot instruction. + + + @param ea (C++: ea_t *) + @param bexec (C++: bool *) + @param fexec (C++: bool *) + +Help on function gen_idb_event in module ida_idp: + +gen_idb_event(*args) -> 'void' + gen_idb_event(code) + + + the kernel will use this function to generate idb_events + + + @param code (C++: idb_event::event_code_t) + +Help on function get_idb_notifier_addr in module ida_idp: + +get_idb_notifier_addr(*args) -> 'PyObject *' + get_idb_notifier_addr(arg1) -> PyObject * + +Help on function get_idb_notifier_ud_addr in module ida_idp: + +get_idb_notifier_ud_addr(*args) -> 'PyObject *' + get_idb_notifier_ud_addr(hooks) -> PyObject * + +Help on function get_idp_name in module ida_idp: + +get_idp_name(*args) -> 'size_t' + 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 NULL + +Help on function get_idp_notifier_addr in module ida_idp: + +get_idp_notifier_addr(*args) -> 'PyObject *' + get_idp_notifier_addr(arg1) -> PyObject * + +Help on function get_idp_notifier_ud_addr in module ida_idp: + +get_idp_notifier_ud_addr(*args) -> 'PyObject *' + get_idp_notifier_ud_addr(hooks) -> PyObject * + +Help on function get_reg_info in module ida_idp: + +get_reg_info(*args) -> 'char const *' + get_reg_info(regname, bitrange) -> char const * + + + Get register information - useful for registers like al, ah, dil, etc. + + @param regname (C++: const char *) + @param bitrange (C++: bitrange_t *) + @return: NULL no such register + +Help on function get_reg_name in module ida_idp: + +get_reg_name(*args) -> 'qstring *' + get_reg_name(reg, width, reghi=-1) -> str + + + Get text representation of a register. For most processors this + function will just return \ph{reg_names}[reg]. If the processor module + has implemented processor_t::get_reg_name, it will be used instead + + @param reg: internal register number as defined in the processor + module (C++: int) + @param width: register width in bytes (C++: size_t) + @param reghi: if specified, then this function will return the + register pair (C++: int) + @return: length of register name in bytes or -1 if failure + +Help on function has_cf_chg in module ida_idp: + +has_cf_chg(*args) -> 'bool' + 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) + +Help on function has_cf_use in module ida_idp: + +has_cf_use(*args) -> 'bool' + 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) + +Help on function has_insn_feature in module ida_idp: + +has_insn_feature(*args) -> 'bool' + has_insn_feature(icode, bit) -> bool + + + Does the specified instruction have the specified feature? + + + @param icode (C++: int) + @param bit (C++: uint32) + +Help on function is_align_insn in module ida_idp: + +is_align_insn(*args) -> 'int' + 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) + +Help on function is_basic_block_end in module ida_idp: + +is_basic_block_end(*args) -> 'bool' + 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 &) + @param call_insn_stops_block (C++: bool) + +Help on function is_call_insn in module ida_idp: + +is_call_insn(*args) -> 'bool' + is_call_insn(insn) -> bool + + + Is the instruction a "call"? + + + @param insn (C++: const insn_t &) + +Help on function is_indirect_jump_insn in module ida_idp: + +is_indirect_jump_insn(*args) -> 'bool' + is_indirect_jump_insn(insn) -> bool + + + Is the instruction an indirect jump? + + + @param insn (C++: const insn_t &) + +Help on function is_ret_insn in module ida_idp: + +is_ret_insn(*args) -> 'bool' + is_ret_insn(insn, strict=True) -> bool + + + Is the instruction a "return"? + + + @param insn (C++: const insn_t &) + @param strict (C++: bool) + +Help on function parse_reg_name in module ida_idp: + +parse_reg_name(*args) -> 'bool' + parse_reg_name(ri, regname) -> bool + + + Get register info by name. + + @param ri: result (C++: reg_info_t *) + @param regname: name of register (C++: const char *) + @return: success + +Help on __ph in module ida_idp object: + +class __ph(builtins.object) + | # ---------------------------------------------------------------------- + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cnbits + | + | dnbits + | + | flag + | + | icode_return + | + | id + | + | instruc + | + | instruc_end + | + | instruc_start + | + | reg_code_sreg + | + | reg_data_sreg + | + | reg_first_sreg + | + | reg_last_sreg + | + | regnames + | + | segreg_size + | + | tbyte_size + | + | version + +Help on function ph_calcrel in module ida_idp: + +ph_calcrel(*args) -> 'bytevec_t *' + ph_calcrel(ea) + +Help on function ph_find_op_value in module ida_idp: + +ph_find_op_value(*args) -> 'unsigned-ea-like-numeric-type *'↗ + ph_find_op_value(insn, op) -> ssize_t + +Help on function ph_find_reg_value in module ida_idp: + +ph_find_reg_value(*args) -> 'unsigned-ea-like-numeric-type *'↗ + ph_find_reg_value(insn, reg) -> ssize_t + +Help on function ph_get_cnbits in module ida_idp: + +ph_get_cnbits(*args) -> 'size_t' + ph_get_cnbits() -> size_t + + + Returns the 'ph.cnbits' + +Help on function ph_get_dnbits in module ida_idp: + +ph_get_dnbits(*args) -> 'size_t' + ph_get_dnbits() -> size_t + + + Returns the 'ph.dnbits' + +Help on function ph_get_flag in module ida_idp: + +ph_get_flag(*args) -> 'size_t' + ph_get_flag() -> size_t + + + Returns the 'ph.flag' + +Help on function ph_get_icode_return in module ida_idp: + +ph_get_icode_return(*args) -> 'size_t' + ph_get_icode_return() -> size_t + + + Returns the 'ph.icode_return' + +Help on function ph_get_id in module ida_idp: + +ph_get_id(*args) -> 'size_t' + ph_get_id() -> size_t + + + Returns the 'ph.id' field + +Help on function ph_get_instruc in module ida_idp: + +ph_get_instruc(*args) -> 'PyObject *' + ph_get_instruc() -> PyObject * + + + Returns a list of tuples (instruction_name, instruction_feature) containing the + instructions list as defined in he processor module + +Help on function ph_get_instruc_end in module ida_idp: + +ph_get_instruc_end(*args) -> 'size_t' + ph_get_instruc_end() -> size_t + + + Returns the 'ph.instruc_end' + +Help on function ph_get_instruc_start in module ida_idp: + +ph_get_instruc_start(*args) -> 'size_t' + ph_get_instruc_start() -> size_t + + + Returns the 'ph.instruc_start' + +Help on function ph_get_operand_info in module ida_idp: + +ph_get_operand_info(*args) -> 'PyObject *' + ph_get_operand_info(ea, n) -> PyObject * + + + 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. + +Help on function ph_get_reg_code_sreg in module ida_idp: + +ph_get_reg_code_sreg(*args) -> 'size_t' + ph_get_reg_code_sreg() -> size_t + + + Returns the 'ph.reg_code_sreg' + +Help on function ph_get_reg_data_sreg in module ida_idp: + +ph_get_reg_data_sreg(*args) -> 'size_t' + ph_get_reg_data_sreg() -> size_t + + + Returns the 'ph.reg_data_sreg' + +Help on function ph_get_reg_first_sreg in module ida_idp: + +ph_get_reg_first_sreg(*args) -> 'size_t' + ph_get_reg_first_sreg() -> size_t + + + Returns the 'ph.reg_first_sreg' + +Help on function ph_get_reg_last_sreg in module ida_idp: + +ph_get_reg_last_sreg(*args) -> 'size_t' + ph_get_reg_last_sreg() -> size_t + + + Returns the 'ph.reg_last_sreg' + +Help on function ph_get_regnames in module ida_idp: + +ph_get_regnames(*args) -> 'PyObject *' + ph_get_regnames() -> PyObject * + + + Returns the list of register names as defined in the processor module + +Help on function ph_get_segreg_size in module ida_idp: + +ph_get_segreg_size(*args) -> 'size_t' + ph_get_segreg_size() -> size_t + + + Returns the 'ph.segreg_size' + +Help on function ph_get_tbyte_size in module ida_idp: + +ph_get_tbyte_size(*args) -> 'size_t' + ph_get_tbyte_size() -> size_t + + + Returns the 'ph.tbyte_size' field as defined in he processor module + +Help on function ph_get_version in module ida_idp: + +ph_get_version(*args) -> 'size_t' + ph_get_version() -> size_t + + + Returns the 'ph.version' + +Help on class processor_t in module ida_idp: + +class processor_t(IDP_Hooks) + | Proxy of C++ IDP_Hooks class. + | + | Method resolution order: + | processor_t + | IDP_Hooks + | builtins.object + | + | Methods defined here: + | + | __init__(self) + | __init__(self, _flags=0) -> IDP_Hooks + | + | _get_idb_notifier_addr(self) + | + | _get_idb_notifier_ud_addr(self) + | + | _get_idp_notifier_addr(self) + | + | _get_idp_notifier_ud_addr(self) + | + | _get_notify(self, what, unimp_val=0, imp_forced_val=None, add_prefix=True, mandatory_impl=None) + | This helper is used to implement backward-compatibility + | of pre IDA 7.3 processor_t interfaces. + | + | _make_forced_value_wrapper(self, val, meth=None) + | + | _make_int_returning_wrapper(self, meth, intval=0) + | + | auto_empty(self, *args) + | + | auto_empty_finally(self, *args) + | + | closebase(self, *args) + | + | compiler_changed(self, *args) + | + | deleting_func(self, pfn) + | + | determined_main(self, *args) + | + | ev_ana_insn(self, *args) + | ev_ana_insn(self, out) -> bool + | + | + | Analyzes and decodes an instruction at insn.ea + | - insn.itype must be set >= idaapi.CUSTOM_CMD_ITYPE + | - insn.size must be set to the instruction length + | + | @return: Boolean + | - False if the instruction is not recognized + | - True if the instruction was decoded. 'insn' should be filled in that case. + | + | ev_assemble(self, *args) + | ev_assemble(self, ea, cs, ip, use32, line) -> PyObject * + | + | + | Assembles an instruction + | + | @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: - None to let the underlying processor module assemble the line + | - or a string containing the assembled buffer + | + | ev_auto_queue_empty(self, *args) + | ev_auto_queue_empty(self, type) + | + | ev_calc_step_over(self, target, ip) + | ev_calc_step_over(self, target, ip) -> int + | + | ev_can_have_type(self, *args) + | ev_can_have_type(self, op) -> int + | + | ev_cmp_operands(self, *args) + | ev_cmp_operands(self, op1, op2) -> int + | + | ev_coagulate(self, *args) + | ev_coagulate(self, start_ea) -> int + | + | ev_coagulate_dref(self, from_ea, to_ea, may_define, _code_ea) + | ev_coagulate_dref(self, _from, to, may_define, code_ea) -> int + | + | ev_create_func_frame(self, pfn) + | ev_create_func_frame(self, pfn) -> int + | + | ev_create_switch_xrefs(self, *args) + | ev_create_switch_xrefs(self, jumpea, si) -> int + | + | ev_creating_segm(self, s) + | ev_creating_segm(self, seg) -> int + | + | ev_emu_insn(self, *args) + | 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. + | + | @return: Boolean (whether this instruction has been emulated or not) + | + | ev_endbinary(self, *args) + | ev_endbinary(self, ok) -> int + | + | ev_func_bounds(self, _possible_return_code, pfn, max_func_end_ea) + | ev_func_bounds(self, possible_return_code, pfn, max_func_end_ea) + | + | ev_gen_map_file(self, nlines, fp) + | ev_gen_map_file(self, nlines, fp) -> int + | + | ev_gen_regvar_def(self, ctx, v) + | ev_gen_regvar_def(self, outctx, v) -> int + | + | ev_gen_src_file_lnnum(self, *args) + | ev_gen_src_file_lnnum(self, outctx, file, lnnum) -> int + | + | ev_get_autocmt(self, *args) + | ev_get_autocmt(self, insn) -> PyObject * + | + | ev_get_frame_retsize(self, frsize, pfn) + | ev_get_frame_retsize(self, frsize, pfn) -> int + | + | ev_get_operand_string(self, buf, insn, opnum) + | ev_get_operand_string(self, insn, opnum) -> PyObject * + | + | ev_is_align_insn(self, *args) + | ev_is_align_insn(self, ea) -> int + | + | ev_is_alloca_probe(self, *args) + | ev_is_alloca_probe(self, ea) -> int + | + | ev_is_basic_block_end(self, *args) + | ev_is_basic_block_end(self, insn, call_insn_stops_block) -> int + | + | ev_is_call_insn(self, *args) + | ev_is_call_insn(self, insn) -> int + | + | + | Is the instruction a "call"? + | + | @param insn: instruction + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_far_jump(self, *args) + | ev_is_far_jump(self, icode) -> int + | + | ev_is_indirect_jump(self, *args) + | ev_is_indirect_jump(self, insn) -> int + | + | ev_is_insn_table_jump(self, *args) + | ev_is_insn_table_jump(self, insn) -> int + | + | ev_is_ret_insn(self, *args) + | ev_is_ret_insn(self, insn, strict) -> int + | + | + | Is the instruction a "return"? + | + | @param insn: instruction + | @param strict: - True: report only ret instructions + | False: include instructions like "leave" which begins the function epilog + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_sane_insn(self, *args) + | ev_is_sane_insn(self, insn, no_crefs) -> int + | + | + | is the instruction sane for the current file type? + | @param insn: the instruction + | @param no_crefs: + | - 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. + | @return: >=0-ok, <0-no, the instruction isn't likely to appear in the program + | + | ev_is_sp_based(self, mode, insn, op) + | ev_is_sp_based(self, mode, insn, op) -> int + | + | ev_is_switch(self, *args) + | ev_is_switch(self, si, insn) -> int + | + | ev_may_be_func(self, *args) + | ev_may_be_func(self, insn, state) -> int + | + | + | Can a function start here? + | @param insn: the instruction + | @param state: autoanalysis phase + | 0: creating functions + | 1: creating chunks + | + | @return: integer (probability 0..100) + | + | ev_may_show_sreg(self, *args) + | ev_may_show_sreg(self, current_ea) -> int + | + | ev_moving_segm(self, s, to_ea, flags) + | ev_moving_segm(self, seg, to, flags) -> int + | + | ev_newbinary(self, *args) + | ev_newbinary(self, filename, fileoff, basepara, binoff, nbytes) -> int + | + | ev_newfile(self, *args) + | ev_newfile(self, fname) -> int + | + | ev_newprc(self, *args) + | ev_newprc(self, pnum, keep_cfg) -> int + | + | ev_oldfile(self, *args) + | ev_oldfile(self, fname) -> int + | + | ev_out_assumes(self, *args) + | ev_out_assumes(self, outctx) -> int + | + | ev_out_data(self, *args) + | ev_out_data(self, outctx, analyze_only) -> int + | + | ev_out_footer(self, *args) + | ev_out_footer(self, outctx) + | + | ev_out_header(self, *args) + | ev_out_header(self, outctx) + | + | ev_out_insn(self, *args) + | ev_out_insn(self, outctx) -> bool + | + | + | Outputs the instruction defined in 'ctx.insn' + | + | @return: Boolean (whether this instruction can be outputted or not) + | + | ev_out_label(self, *args) + | ev_out_label(self, outctx, colored_name) -> int + | + | ev_out_mnem(self, *args) + | ev_out_mnem(self, outctx) -> int + | + | ev_out_operand(self, *args) + | ev_out_operand(self, outctx, op) -> bool + | + | + | Notification to generate operand text. + | If False was returned, then the standard operand output function will be called. + | + | this notification may use out_...() functions to form the operand text + | + | @return: Boolean (whether the operand has been outputted or not) + | + | ev_out_segend(self, ctx, s) + | ev_out_segend(self, outctx, seg) -> int + | + | ev_out_segstart(self, ctx, s) + | ev_out_segstart(self, outctx, seg) -> int + | + | ev_out_special_item(self, *args) + | ev_out_special_item(self, outctx, segtype) -> int + | + | ev_rename(self, *args) + | ev_rename(self, ea, new_name) -> int + | + | + | The kernel is going to rename a byte. + | + | @param ea: Address + | @param new_name: The new name + | + | @return: + | - If returns value <0, then the kernel should + | not rename it. See also the 'renamed' event + | + | ev_set_idp_options(self, keyword, value_type, value) + | ev_set_idp_options(self, keyword, value_type, value, errbuf, idb_loaded) -> int + | + | ev_set_proc_options(self, *args) + | ev_set_proc_options(self, options, confidence) -> int + | + | ev_str2reg(self, *args) + | ev_str2reg(self, regname) -> int + | + | ev_treat_hindering_item(self, *args) + | ev_treat_hindering_item(self, hindering_item_ea, new_item_flags, new_item_ea, new_item_length) -> int + | + | ev_undefine(self, *args) + | ev_undefine(self, ea) -> int + | + | + | An item in the database (insn or data) is being deleted + | @param ea: Address + | @return: + | - 1 - do not delete srranges at the item end + | - 0 - srranges can be deleted + | + | ev_validate_flirt_func(self, *args) + | ev_validate_flirt_func(self, start_ea, funcname) -> int + | + | ev_verify_noreturn(self, pfn) + | ev_verify_noreturn(self, pfn) -> int + | + | ev_verify_sp(self, pfn) + | ev_verify_sp(self, pfn) -> int + | + | func_added(self, pfn) + | + | get_auxpref(self, insn) + | This function returns insn.auxpref value + | + | get_idpdesc(self) + | 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. + | + | get_uFlag(self) + | Use this utility function to retrieve the 'uFlag' global variable + | + | idasgn_loaded(self, *args) + | + | kernel_config_loaded(self, *args) + | + | make_code(self, *args) + | + | make_data(self, *args) + | + | renamed(self, *args) + | + | savebase(self, *args) + | + | segm_moved(self, from_ea, to_ea, size, changed_netmap) + | + | set_func_end(self, *args) + | + | set_func_start(self, *args) + | + | sgr_changed(self, *args) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __idc_cvt_id__ = 2 + | + | ---------------------------------------------------------------------- + | Methods inherited from IDP_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_IDP_Hooks(...) + | delete_IDP_Hooks(self) + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | ev_add_cref(self, *args) -> 'int' + | ev_add_cref(self, _from, to, type) -> int + | + | ev_add_dref(self, *args) -> 'int' + | ev_add_dref(self, _from, to, type) -> int + | + | ev_adjust_argloc(self, *args) -> 'int' + | ev_adjust_argloc(self, argloc, optional_type, size) -> int + | + | ev_adjust_libfunc_ea(self, *args) -> 'int' + | ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int + | + | ev_adjust_refinfo(self, *args) -> 'int' + | ev_adjust_refinfo(self, ri, ea, n, fd) -> int + | + | ev_analyze_prolog(self, *args) -> 'int' + | ev_analyze_prolog(self, ea) -> int + | + | ev_arg_addrs_ready(self, *args) -> 'int' + | ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int + | + | ev_calc_arglocs(self, *args) -> 'int' + | ev_calc_arglocs(self, fti) -> int + | + | ev_calc_cdecl_purged_bytes(self, *args) -> 'int' + | ev_calc_cdecl_purged_bytes(self, ea) -> int + | + | ev_calc_next_eas(self, *args) -> 'int' + | ev_calc_next_eas(self, res, insn, over) -> int + | + | ev_calc_purged_bytes(self, *args) -> 'int' + | ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int + | + | ev_calc_retloc(self, *args) -> 'int' + | ev_calc_retloc(self, retloc, rettype, cc) -> int + | + | ev_calc_spdelta(self, *args) -> 'int' + | ev_calc_spdelta(self, spdelta, insn) -> int + | + | ev_calc_switch_cases(self, *args) -> 'int' + | ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int + | + | ev_calc_varglocs(self, *args) -> 'int' + | ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int + | + | ev_calcrel(self, *args) -> 'int' + | ev_calcrel(self) -> int + | + | ev_clean_tbit(self, *args) -> 'int' + | ev_clean_tbit(self, ea, getreg, regvalues) -> int + | + | ev_create_flat_group(self, *args) -> 'int' + | ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int + | + | ev_decorate_name(self, *args) -> 'PyObject *' + | ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * + | + | ev_del_cref(self, *args) -> 'int' + | ev_del_cref(self, _from, to, expand) -> int + | + | ev_del_dref(self, *args) -> 'int' + | ev_del_dref(self, _from, to) -> int + | + | ev_delay_slot_insn(self, *args) -> 'PyObject *' + | ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * + | + | ev_demangle_name(self, *args) -> 'PyObject *' + | ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * + | + | ev_ending_undo(self, *args) -> 'int' + | ev_ending_undo(self, action_name, is_undo) -> int + | + | ev_equal_reglocs(self, *args) -> 'int' + | ev_equal_reglocs(self, a1, a2) -> int + | + | ev_extract_address(self, *args) -> 'int' + | ev_extract_address(self, out_ea, screen_ea, string, position) -> int + | + | ev_find_op_value(self, *args) -> 'PyObject *' + | ev_find_op_value(self, pinsn, opn) -> PyObject * + | + | ev_find_reg_value(self, *args) -> 'PyObject *' + | ev_find_reg_value(self, pinsn, reg) -> PyObject * + | + | ev_gen_asm_or_lst(self, *args) -> 'void' + | ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) + | + | ev_gen_stkvar_def(self, *args) -> 'int' + | ev_gen_stkvar_def(self, outctx, mptr, v) -> int + | + | ev_get_abi_info(self, *args) -> 'int' + | ev_get_abi_info(self, abi_names, abi_opts, comp) -> int + | + | ev_get_bg_color(self, *args) -> 'int' + | ev_get_bg_color(self, ea) -> int or None + | + | ev_get_cc_regs(self, *args) -> 'int' + | ev_get_cc_regs(self, regs, cc) -> int + | + | ev_get_code16_mode(self, *args) -> 'int' + | ev_get_code16_mode(self, ea) -> int + | + | ev_get_dbr_opnum(self, *args) -> 'int' + | ev_get_dbr_opnum(self, opnum, insn) -> int + | + | ev_get_default_enum_size(self, *args) -> 'int' + | ev_get_default_enum_size(self, cm) -> int + | + | ev_get_macro_insn_head(self, *args) -> 'int' + | ev_get_macro_insn_head(self, head, ip) -> int + | + | ev_get_reg_info(self, *args) -> 'int' + | ev_get_reg_info(self, main_regname, bitrange, regname) -> int + | + | ev_get_reg_name(self, *args) -> 'PyObject *' + | ev_get_reg_name(self, reg, width, reghi) -> PyObject * + | + | ev_get_simd_types(self, *args) -> 'int' + | ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int + | + | ev_get_stkarg_offset(self, *args) -> 'int' + | ev_get_stkarg_offset(self) -> int + | + | ev_get_stkvar_scale_factor(self, *args) -> 'int' + | ev_get_stkvar_scale_factor(self) -> int + | + | ev_getreg(self, *args) -> 'int' + | ev_getreg(self, regval, regnum) -> int + | + | ev_init(self, *args) -> 'int' + | ev_init(self, idp_modname) -> int + | + | ev_insn_reads_tbit(self, *args) -> 'int' + | ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int + | + | ev_is_cond_insn(self, *args) -> 'int' + | ev_is_cond_insn(self, insn) -> int + | + | ev_is_jump_func(self, *args) -> 'int' + | ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int + | + | ev_last_cb_before_loader(self, *args) -> 'int' + | ev_last_cb_before_loader(self) -> int + | + | ev_loader(self, *args) -> 'int' + | ev_loader(self) -> int + | + | ev_lower_func_type(self, *args) -> 'int' + | ev_lower_func_type(self, argnums, fti) -> int + | + | ev_max_ptr_size(self, *args) -> 'int' + | ev_max_ptr_size(self) -> int + | + | ev_newasm(self, *args) -> 'int' + | ev_newasm(self, asmnum) -> int + | + | ev_next_exec_insn(self, *args) -> 'int' + | ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int + | + | ev_realcvt(self, *args) -> 'int' + | ev_realcvt(self, m, e, swt) -> int + | + | ev_replaying_undo(self, *args) -> 'int' + | ev_replaying_undo(self, action_name, vec, is_undo) -> int + | + | ev_set_code16_mode(self, *args) -> 'int' + | ev_set_code16_mode(self, ea, code16) -> int + | + | ev_setup_til(self, *args) -> 'void' + | ev_setup_til(self) + | + | ev_shadow_args_size(self, *args) -> 'int' + | ev_shadow_args_size(self, shadow_args_size, pfn) -> int + | + | ev_term(self, *args) -> 'int' + | ev_term(self) -> int + | + | ev_use_arg_types(self, *args) -> 'int' + | ev_use_arg_types(self, ea, fti, rargs) -> int + | + | ev_use_regarg_type(self, *args) -> 'PyObject *' + | ev_use_regarg_type(self, ea, rargs) -> PyObject * + | + | ev_use_stkarg_type(self, *args) -> 'int' + | ev_use_stkarg_type(self, ea, arg) -> int + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | + | Creates an IDP hook + | + | @return: Boolean true on success + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | + | Removes the IDP hook + | @return: Boolean true on success + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from IDP_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class reg_info_t in module ida_idp: + +class reg_info_t(builtins.object) + | Proxy of C++ reg_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> reg_info_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_reg_info_t(...) + | delete_reg_info_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | reg + | reg_info_t_reg_get(self) -> int + | + | size + | reg_info_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function set_processor_type in module ida_idp: + +set_processor_type(*args) -> 'bool' + 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: name of processor type (one of names present in + \ph{psnames}) (C++: const char *) + @param level: SETPROC_ (C++: setproc_level_t) + @return: success + +Help on function set_target_assembler in module ida_idp: + +set_target_assembler(*args) -> 'bool' + set_target_assembler(asmnum) -> bool + + + Set target assembler. + + @param asmnum: number of assembler in the current processor module + (C++: int) + @return: success + +Help on function sizeof_ldbl in module ida_idp: + +sizeof_ldbl(*args) -> 'size_t' + sizeof_ldbl() -> size_t + + + Get size of long double. + +Help on function str2reg in module ida_idp: + +str2reg(*args) -> 'int' + str2reg(p) -> int + + + Get any reg number (-1 on error) + + + @param p (C++: const char *) + +=== ida_idp EPYDOC INJECTIONS === +ida_idp.AS2_BRACE +""" +Use braces for all expressions. +""" + +ida_idp.AS2_BYTE1CHAR +""" +Meaningful only for wide byte processors. + +One symbol per processor byte +""" + +ida_idp.AS2_COLONSUF +""" +addresses may have ":xx" suffix this suffix must be ignored when +extracting the address under the cursor +""" + +ida_idp.AS2_IDEALDSCR +""" +Description of struc/union is in the 'reverse' form (keyword before +name) the same as in borland tasm ideal +""" + +ida_idp.AS2_STRINV +""" +(For processors with bytes bigger than 8 bits) + +Invert meaning of \\inf{wide_high_byte_first} for text strings +""" + +ida_idp.AS2_TERSESTR +""" +NAME is supported. + +'terse' structure initialization form +""" + +ida_idp.AS2_YWORD +""" +a_yword field is present and valid +""" + +ida_idp.ASB_BINF0 +""" +010101b +""" + +ida_idp.ASB_BINF1 +""" +^B010101 +""" + +ida_idp.ASB_BINF2 +""" +%010101 +""" + +ida_idp.ASB_BINF3 +""" +0b1010101 +""" + +ida_idp.ASB_BINF4 +""" +b'1010101 +""" + +ida_idp.ASB_BINF5 +""" +b'1010101' +""" + +ida_idp.ASD_DECF0 +""" +34 +""" + +ida_idp.ASD_DECF1 +""" +#34 +""" + +ida_idp.ASD_DECF3 +""" +.34 +""" + +ida_idp.ASH_HEXF0 +""" +34h +""" + +ida_idp.ASH_HEXF1 +""" +h'34 +""" + +ida_idp.ASH_HEXF2 +""" +34 +""" + +ida_idp.ASH_HEXF3 +""" +0x34 +""" + +ida_idp.ASH_HEXF4 +""" +$34 +""" + +ida_idp.ASH_HEXF5 +""" +<^R > (radix) +""" + +ida_idp.ASO_OCTF0 +""" +123o +""" + +ida_idp.ASO_OCTF1 +""" +0123 +""" + +ida_idp.ASO_OCTF2 +""" +123 +""" + +ida_idp.ASO_OCTF3 +""" +@123 +""" + +ida_idp.ASO_OCTF4 +""" +o'123 +""" + +ida_idp.ASO_OCTF5 +""" +123q +""" + +ida_idp.ASO_OCTF6 +""" +~123 +""" + +ida_idp.ASO_OCTF7 +""" +q'123 +""" + +ida_idp.AS_1TEXT +""" +1 text per line, no bytes +""" + +ida_idp.AS_2CHRE +""" +double char constants are: "xy +""" + +ida_idp.AS_ALIGN2 +""" +(.align 5 means to align at 32byte boundary) + +.align directive expects an exponent rather than a power of 2 +""" + +ida_idp.AS_ASCIIC +""" +(\\n,\\x01 and similar) + +ascii directive accepts C-like escape sequences +""" + +ida_idp.AS_ASCIIZ +""" +ascii directive inserts implicit zero byte at the end +""" + +ida_idp.AS_BINFM +""" +mask - binary number format +""" + +ida_idp.AS_COLON +""" +create colons after data names ? +""" + +ida_idp.AS_DECFM +""" +mask - decimal number format +""" + +ida_idp.AS_HEXFM +""" +mask - hex number format +""" + +ida_idp.AS_LALIGN +""" +Labels at "align" keyword are supported. +""" + +ida_idp.AS_N2CHR +""" +can't have 2 byte char consts +""" + +ida_idp.AS_NCHRE +""" +char constants are: 'x +""" + +ida_idp.AS_NCMAS +""" +no commas in ascii directives +""" + +ida_idp.AS_NHIAS +""" +no characters with high bit +""" + +ida_idp.AS_NOCODECLN +""" +don't create colons after code names +""" + +ida_idp.AS_NOSPACE +""" +No spaces in expressions. +""" + +ida_idp.AS_NOXRF +""" +Disable xrefs during the output file generation. +""" + +ida_idp.AS_OCTFM +""" +mask - octal number format +""" + +ida_idp.AS_OFFST +""" +offsets are 'offset xxx' ? +""" + +ida_idp.AS_ONEDUP +""" +One array definition per line. +""" + +ida_idp.AS_RELSUP +""" +Checkarg: 'and','or','xor' operations with addresses are possible. +""" + +ida_idp.AS_UDATA +""" +can use '?' in data directives +""" + +ida_idp.AS_UNEQU +""" +replace undefined data items with EQU (for ANTA's A80) +""" + +ida_idp.AS_XTRNTYPE +""" +Assembler understands type of extern symbols as ":type" suffix. +""" + +ida_idp.CF_CALL +""" +CALL instruction (should make a procedure here) +""" + +ida_idp.CF_CHG1 +""" +The instruction modifies the first operand. +""" + +ida_idp.CF_CHG2 +""" +The instruction modifies the second operand. +""" + +ida_idp.CF_CHG3 +""" +The instruction modifies the third operand. +""" + +ida_idp.CF_CHG4 +""" +The instruction modifies 4 operand. +""" + +ida_idp.CF_CHG5 +""" +The instruction modifies 5 operand. +""" + +ida_idp.CF_CHG6 +""" +The instruction modifies 6 operand. +""" + +ida_idp.CF_HLL +""" +language function. + +Instruction may be present in a high level +""" + +ida_idp.CF_JUMP +""" +jump or call (thus needs additional analysis) + +The instruction passes execution using indirect +""" + +ida_idp.CF_SHFT +""" +Bit-shift instruction (shl,shr...) +""" + +ida_idp.CF_STOP +""" +next instruction + +Instruction doesn't pass execution to the +""" + +ida_idp.CF_USE1 +""" +The instruction uses value of the first operand. +""" + +ida_idp.CF_USE2 +""" +The instruction uses value of the second operand. +""" + +ida_idp.CF_USE3 +""" +The instruction uses value of the third operand. +""" + +ida_idp.CF_USE4 +""" +The instruction uses value of the 4 operand. +""" + +ida_idp.CF_USE5 +""" +The instruction uses value of the 5 operand. +""" + +ida_idp.CF_USE6 +""" +The instruction uses value of the 6 operand. +""" + +ida_idp.CUSTOM_INSN_ITYPE +""" +Custom instruction codes defined by processor extension plugins must +be greater than or equal to this +""" + +ida_idp.IDP_INTERFACE_VERSION +""" +The interface version number.see also 'IDA_SDK_VERSION' from 'pro.h' +""" + +ida_idp.OP_FP_BASED +""" +operand is FP based +""" + +ida_idp.OP_SP_ADD +""" +operand value is added to the pointer +""" + +ida_idp.OP_SP_BASED +""" +operand is SP based +""" + +ida_idp.OP_SP_SUB +""" +operand value is subtracted from the pointer +""" + +ida_idp.PLFM_386 +""" +Intel 80x86. +""" + +ida_idp.PLFM_6502 +""" +6502 +""" + +ida_idp.PLFM_65C816 +""" +65802/65816 +""" + +ida_idp.PLFM_6800 +""" +Motorola 68xx. +""" + +ida_idp.PLFM_68K +""" +Motorola 680x0. +""" + +ida_idp.PLFM_80196 +""" +Intel 80196. +""" + +ida_idp.PLFM_8051 +""" +8051 +""" + +ida_idp.PLFM_AD2106X +""" +Analog Devices ADSP 2106X. +""" + +ida_idp.PLFM_AD218X +""" +Analog Devices ADSP 218X. +""" + +ida_idp.PLFM_ALPHA +""" +DEC Alpha. +""" + +ida_idp.PLFM_ARC +""" +Argonaut RISC Core. +""" + +ida_idp.PLFM_ARM +""" +Advanced RISC Machines. +""" + +ida_idp.PLFM_AVR +""" +Atmel 8-bit RISC processor(s) +""" + +ida_idp.PLFM_C166 +""" +Siemens C166 family. +""" + +ida_idp.PLFM_C39 +""" +Rockwell C39. +""" + +ida_idp.PLFM_CR16 +""" +NSC CR16. +""" + +ida_idp.PLFM_DALVIK +""" +Android Dalvik Virtual Machine. +""" + +ida_idp.PLFM_DSP56K +""" +Motorola DSP5600x. +""" + +ida_idp.PLFM_DSP96K +""" +Motorola DSP96000. +""" + +ida_idp.PLFM_EBC +""" +EFI Bytecode. +""" + +ida_idp.PLFM_F2MC +""" +Fujistu F2MC-16. +""" + +ida_idp.PLFM_FR +""" +Fujitsu FR Family. +""" + +ida_idp.PLFM_H8 +""" +Hitachi H8/300, H8/2000. +""" + +ida_idp.PLFM_H8500 +""" +Hitachi H8/500. +""" + +ida_idp.PLFM_HPPA +""" +Hewlett-Packard PA-RISC. +""" + +ida_idp.PLFM_I860 +""" +Intel 860. +""" + +ida_idp.PLFM_I960 +""" +Intel 960. +""" + +ida_idp.PLFM_IA64 +""" +Intel Itanium IA64. +""" + +ida_idp.PLFM_JAVA +""" +Java. +""" + +ida_idp.PLFM_KR1878 +""" +Angstrem KR1878. +""" + +ida_idp.PLFM_M16C +""" +Renesas M16C. +""" + +ida_idp.PLFM_M32R +""" +Mitsubishi 32bit RISC. +""" + +ida_idp.PLFM_M740 +""" +Mitsubishi 8bit. +""" + +ida_idp.PLFM_M7700 +""" +Mitsubishi 16bit. +""" + +ida_idp.PLFM_M7900 +""" +Mitsubishi 7900. +""" + +ida_idp.PLFM_MC6812 +""" +Motorola 68HC12. +""" + +ida_idp.PLFM_MC6816 +""" +Motorola 68HC16. +""" + +ida_idp.PLFM_MIPS +""" +MIPS. +""" + +ida_idp.PLFM_MN102L00 +""" +Panasonic MN10200. +""" + +ida_idp.PLFM_MSP430 +""" +Texas Instruments MSP430. +""" + +ida_idp.PLFM_NEC_78K0 +""" +NEC 78K0. +""" + +ida_idp.PLFM_NEC_78K0S +""" +NEC 78K0S. +""" + +ida_idp.PLFM_NEC_V850X +""" +NEC V850 and V850ES/E1/E2. +""" + +ida_idp.PLFM_NET +""" +Microsoft Visual Studio.Net. +""" + +ida_idp.PLFM_OAKDSP +""" +Atmel OAK DSP. +""" + +ida_idp.PLFM_PDP +""" +PDP11. +""" + +ida_idp.PLFM_PIC +""" +Microchip's PIC. +""" + +ida_idp.PLFM_PIC16 +""" +Microchip's 16-bit PIC. +""" + +ida_idp.PLFM_PPC +""" +PowerPC. +""" + +ida_idp.PLFM_S390 +""" +IBM's S390. +""" + +ida_idp.PLFM_SCR_ADPT +""" +Processor module adapter for processor modules written in scripting +languages. +""" + +ida_idp.PLFM_SH +""" +Renesas (formerly Hitachi) SuperH. +""" + +ida_idp.PLFM_SPARC +""" +SPARC. +""" + +ida_idp.PLFM_SPC700 +""" +Sony SPC700. +""" + +ida_idp.PLFM_SPU +""" +Cell Broadband Engine Synergistic Processor Unit. +""" + +ida_idp.PLFM_ST20 +""" +SGS-Thomson ST20. +""" + +ida_idp.PLFM_ST7 +""" +SGS-Thomson ST7. +""" + +ida_idp.PLFM_ST9 +""" +ST9+. +""" + +ida_idp.PLFM_TLCS900 +""" +Toshiba TLCS-900. +""" + +ida_idp.PLFM_TMS +""" +Texas Instruments TMS320C5x. +""" + +ida_idp.PLFM_TMS320C1X +""" +Texas Instruments TMS320C1x. +""" + +ida_idp.PLFM_TMS320C28 +""" +Texas Instruments TMS320C28x. +""" + +ida_idp.PLFM_TMS320C3 +""" +Texas Instruments TMS320C3. +""" + +ida_idp.PLFM_TMS320C54 +""" +Texas Instruments TMS320C54xx. +""" + +ida_idp.PLFM_TMS320C55 +""" +Texas Instruments TMS320C55xx. +""" + +ida_idp.PLFM_TMSC6 +""" +Texas Instruments TMS320C6x. +""" + +ida_idp.PLFM_TRICORE +""" +Tasking Tricore. +""" + +ida_idp.PLFM_TRIMEDIA +""" +Trimedia. +""" + +ida_idp.PLFM_UNSP +""" +SunPlus unSP. +""" + +ida_idp.PLFM_Z8 +""" +Z8. +""" + +ida_idp.PLFM_Z80 +""" +8085, Z80 +""" + +ida_idp.PRN_BIN +""" +binary +""" + +ida_idp.PRN_DEC +""" +decimal +""" + +ida_idp.PRN_HEX +""" +hex +""" + +ida_idp.PRN_OCT +""" +octal +""" + +ida_idp.PR_ADJSEGS +""" +IDA may adjust segments' starting/ending addresses. +""" + +ida_idp.PR_ALIGN +""" +All data items should be aligned properly. +""" + +ida_idp.PR_ALIGN_INSN +""" +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 +""" + +ida_idp.PR_ASSEMBLE +""" +Module has a built-in assembler and will react to ev_assemble. +""" + +ida_idp.PR_BINMEM +""" +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 +""" + +ida_idp.PR_CHK_XREF +""" +don't allow near xrefs between segments with different bases +""" + +ida_idp.PR_CNDINSNS +""" +has conditional instructions +""" + +ida_idp.PR_DEFNUM +""" +mask - default number representation +""" + +ida_idp.PR_DEFSEG32 +""" +segments are 32-bit by default +""" + +ida_idp.PR_DEFSEG64 +""" +segments are 64-bit by default +""" + +ida_idp.PR_DELAYED +""" +has delayed jumps and calls if this flag is set, +\\ph{is_basic_block_end}, \\ph{has_delay_slot} should be implemented +""" + +ida_idp.PR_NOCHANGE +""" +(display only) + +The user can't change segments and code/data attributes +""" + +ida_idp.PR_NO_SEGMOVE +""" +(i.e. the user can't move segments) + +the processor module doesn't support 'move_segm()' +""" + +ida_idp.PR_PURGING +""" +there are calling conventions which may purge bytes from the stack +""" + +ida_idp.PR_RNAMESOK +""" +allow user register names for location names +""" + +ida_idp.PR_SCALE_STKVARS +""" +use \\ph{get_stkvar_scale} callback +""" + +ida_idp.PR_SEGS +""" +has segment registers? +""" + +ida_idp.PR_SEGTRANS +""" +the processor module supports the segment translation feature (meaning +it calculates the code addresses using the 'map_code_ea()' function) +""" + +ida_idp.PR_SGROTHER +""" +the segment registers don't contain the segment selectors. +""" + +ida_idp.PR_STACK_UP +""" +the stack grows up +""" + +ida_idp.PR_TYPEINFO +""" +ALL OF THEM SHOULD BE IMPLEMENTED! + +the processor module supports type information callbacks +""" + +ida_idp.PR_USE32 +""" +supports 32-bit addressing? +""" + +ida_idp.PR_USE64 +""" +supports 64-bit addressing? +""" + +ida_idp.PR_USE_ARG_TYPES +""" +use \\ph{use_arg_types} callback +""" + +ida_idp.PR_USE_TBYTE +""" + 'BTMT_SPECFLT' means _TBYTE type +""" + +ida_idp.PR_WORD_INS +""" +instruction codes are grouped 2bytes in binary line prefix +""" + +ida_idp.REG_SPOIL +""" +processor_t::use_regarg_type uses this bit in the return value to +indicate that the register value has been spoiled +""" +=== ida_idp EPYDOC INJECTIONS END === +Help on class Choose in module ida_kernwin: + +class Choose(builtins.object) + | Chooser wrapper class. + | + | Some constants are defined in this class. + | Please refer to kernwin.hpp for more information. + | + | Methods defined here: + | + | Activate(self) + | Activates a visible chooser + | + | AddCommand(self, caption, flags=4, menu_index=-1, icon=-1, emb=None, shortcut=None) + | + | Close(self) + | Closes the chooser + | + | Embedded(self, create_chobj=False) + | Creates an embedded chooser (as opposed to Show()) + | @return: Returns 0 on success or NO_ATTR + | + | GetEmbSelection(self) + | Deprecated. For embedded choosers, the selection is + | available through 'Form.EmbeddedChooserControl.selection' + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | OnPopup(self, widget, popup_handle) + | + | Refresh(self) + | Causes the refresh callback to trigger + | + | Show(self, modal=False) + | 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; + | + | __init__(self, title, cols, flags=0, popup_names=None, icon=-1, x1=-1, y1=-1, x2=-1, y2=-1, deflt=None, embedded=False, width=None, height=None, forbidden_cb=0) + | 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 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 + | + | adjust_last_item(self, n) + | 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) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | ALL_CHANGED = 1 + | + | ALREADY_EXISTS = -3 + | + | CHCOL_DEC = 196608 + | + | CHCOL_EA = 262144 + | + | CHCOL_FNAME = 327680 + | + | CHCOL_FORMAT = 458752 + | + | CHCOL_HEX = 131072 + | + | CHCOL_PATH = 65536 + | + | CHCOL_PLAIN = 0 + | + | CHOOSE_HAVE_DEL = 16 + | + | CHOOSE_HAVE_EDIT = 32 + | + | CHOOSE_HAVE_ENTER = 64 + | + | CHOOSE_HAVE_GETATTR = 4 + | + | CHOOSE_HAVE_GETICON = 2 + | + | CHOOSE_HAVE_INIT = 1 + | + | CHOOSE_HAVE_INS = 8 + | + | CHOOSE_HAVE_ONCLOSE = 512 + | + | CHOOSE_HAVE_REFRESH = 128 + | + | CHOOSE_HAVE_SELECT = 256 + | + | CH_ATTRS = 32 + | + | CH_BUILTIN_MASK = 33030144 + | + | CH_BUILTIN_SHIFT = 19 + | + | CH_CAN_DEL = 512 + | + | CH_CAN_EDIT = 1024 + | + | CH_CAN_INS = 256 + | + | CH_CAN_REFRESH = 2048 + | + | CH_FORCE_DEFAULT = 128 + | + | CH_MODAL = 1 + | + | CH_MULTI = 4 + | + | CH_NOBTNS = 16 + | + | CH_NOIDB = 64 + | + | CH_NO_STATUS_BAR = 65536 + | + | CH_QFLT = 4096 + | + | CH_QFTYP_DEFAULT = 0 + | + | CH_QFTYP_FUZZY = 32768 + | + | CH_QFTYP_MASK = 57344 + | + | CH_QFTYP_NORMAL = 8192 + | + | CH_QFTYP_REGEX = 24576 + | + | CH_QFTYP_SHIFT = 13 + | + | CH_QFTYP_WHOLE_WORDS = 16384 + | + | CH_RESTORE = 131072 + | + | EMPTY_CHOOSER = -2 + | + | NOTHING_CHANGED = 0 + | + | NO_ATTR = -4 + | + | NO_SELECTION = -1 + | + | SELECTION_CHANGED = 2 + | + | UI_Hooks_Trampoline = + | Proxy of C++ UI_Hooks class. + +Help on class CustomIDAMemo in module ida_kernwin: + +class CustomIDAMemo(View_Hooks) + | Proxy of C++ View_Hooks class. + | + | Method resolution order: + | CustomIDAMemo + | View_Hooks + | builtins.object + | + | Methods defined here: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | __init__(self) + | __init__(self, _flags=0) -> View_Hooks + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | view_activated(self, view) + | + | view_click(self, view, ve) + | view_click(self, view, event) + | + | view_close(self, view, *args) + | view_close(self, view) + | + | view_curpos(self, view, *args) + | view_curpos(self, view) + | + | view_dblclick(self, view, ve) + | view_dblclick(self, view, event) + | + | view_deactivated(self, view) + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, view, ve) + | view_mouse_over(self, view, event) + | + | view_switched(self, view, rt) + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_View_Hooks(...) + | delete_View_Hooks(self) + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | view_created(self, *args) -> 'void' + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class Form in module ida_kernwin: + +class Form(builtins.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | Add(self, name, ctrl, mkattr=True) + | 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 + | + | AddControls(self, controls, mkattr=True) + | 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 + | + | Close(self, close_normally) + | 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 + | + | Compile(self) + | 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 + | + | CompileEx(self, form) + | 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() + | + | Compiled(self) + | Checks if the form has already been compiled + | + | @return: Boolean + | + | EnableField(self, ctrl, enable) + | Enable or disable an input field + | @return: False - no such control + | + | Execute(self) + | Displays a modal dialog containing the compiled form. + | @return: 1 - ok ; 0 - cancel + | + | FindControlById(self, id) + | Finds a control instance given its id + | + | Free(self) + | Frees all resources associated with a compiled form. + | Make sure you call this function when you finish using the form. + | + | GetControlValue(self, ctrl) + | 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 + | + | GetFocusedField(self) + | Get currently focused input field. + | @return: None if no field is selected otherwise the control ID + | + | MoveField(self, ctrl, x, y, w, h) + | Move/resize an input field + | + | @return: False - no such fiel + | + | Open(self) + | Opens a widget containing the compiled form. + | + | RefreshField(self, ctrl) + | Refresh a field + | @return: False - no such control + | + | SetControlValue(self, ctrl, value) + | 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 + | + | SetFocusedField(self, ctrl) + | Set currently focused input field + | @return: False - no such control + | + | ShowField(self, ctrl, show) + | Show or hide an input field + | @return: False - no such control + | + | _AddGroup(self, Group, mkattr=True) + | Internal function. + | This function expands the group item names and creates individual group item controls + | + | @param Group: The group class (checkbox or radio group class) + | + | _ChkCompiled(self) + | + | __getitem__(self, name) + | Returns a control object by name + | + | __init__(self, form, controls) + | 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_ + | + | _reset(self) + | Resets the Form class state variables + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | ControlToFieldTypeIdAndSize(ctrl) + | Converts a control object to a tuple containing the field id + | and the associated buffer size + | + | _ParseFormTitle(form) + | Parses the form's title from the form text + | + | create_string_buffer(value, size=None) + | + | fieldtype_to_ctype(tp, i64=False) + | Factory method returning a ctype class corresponding to the field type string + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | ButtonInput = + | 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) + | + | ChkGroupControl = + | Checkbox group control class. + | It holds a set of checkbox controls + | + | ChkGroupItemControl = + | Checkbox group item control + | + | ColorInput = + | Color button input control + | + | Control = + | + | + | DirInput = + | Directory browsing control + | + | DropdownListControl = + | Dropdown control + | This control allows manipulating a dropdown control + | + | EmbeddedChooserControl = + | File Open/Save input control + | + | FormChangeCb = + | 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) + | + | GroupControl = + | Base class for group controls + | + | GroupItemControl = + | Base class for group control items + | + | InputControl = + | Generic form input control. + | It could be numeric control, string control, directory/file browsing, etc... + | + | LabelControl = + | Base class for static label control + | + | MultiLineTextControl = + | Multi line text control. + | This class inherits from textctrl_info_t. Thus the attributes are also inherited + | This control allows manipulating a multilinetext control + | + | NumericArgument = + | Argument representing various integer arguments (ushort, uint32, uint64, etc...) + | @param tp: One of Form.FT_XXX + | + | NumericInput = + | A composite class serving as a base numeric input control class + | + | NumericLabel = + | Numeric label control + | + | RadGroupControl = + | Radiobox group control class. + | It holds a set of radiobox controls + | + | RadGroupItemControl = + | Radiobox group item control + | + | StringArgument = + | Argument representing a character buffer + | + | StringInput = + | Base string input control class. + | This class also constructs a StringArgument + | + | StringLabel = + | String label control + | + | _FT_USHORT = '_US' + +Help on class IDAViewWrapper in module ida_kernwin: + +class IDAViewWrapper(CustomIDAMemo) + | 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.) + | + | Method resolution order: + | IDAViewWrapper + | CustomIDAMemo + | View_Hooks + | builtins.object + | + | Methods defined here: + | + | Bind(self) + | + | Unbind(self) + | + | __init__(self, title) + | __init__(self, _flags=0) -> View_Hooks + | + | ---------------------------------------------------------------------- + | Methods inherited from CustomIDAMemo: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | view_activated(self, view) + | + | view_click(self, view, ve) + | view_click(self, view, event) + | + | view_close(self, view, *args) + | view_close(self, view) + | + | view_curpos(self, view, *args) + | view_curpos(self, view) + | + | view_dblclick(self, view, ve) + | view_dblclick(self, view, event) + | + | view_deactivated(self, view) + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, view, ve) + | view_mouse_over(self, view, event) + | + | view_switched(self, view, rt) + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods inherited from CustomIDAMemo: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_View_Hooks(...) + | delete_View_Hooks(self) + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | view_created(self, *args) -> 'void' + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class PluginForm in module ida_kernwin: + +class PluginForm(builtins.object) + | PluginForm class. + | + | This form can be used to host additional controls. Please check the PyQt example. + | + | Methods defined here: + | + | Close(self, options) + | Closes the form. + | + | @param options: Close options (WCLS_SAVE, WCLS_NO_CONTEXT, ...) + | + | @return: None + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | OnClose(self, form) + | Called when the plugin form is closed + | + | @return: None + | + | OnCreate(self, form) + | This event is called when the plugin form is created. + | The programmer should populate the form when this event is triggered. + | + | @return: None + | + | Show(self, caption, options=0) + | 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 + | + | __init__(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | FormToPyQtWidget = TWidgetToPyQtWidget(tw, ctx=) + | 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 + | + | FormToPySideWidget = TWidgetToPySideWidget(tw, ctx=) + | 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 + | + | QtWidgetToTWidget(w, ctx=) + | 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 + | + | TWidgetToPyQtWidget(tw, ctx=) + | 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 + | + | TWidgetToPySideWidget(tw, ctx=) + | 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 + | + | _ensure_widget_deps(ctx) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | VALID_CAPSULE_NAME = b'$valid$' + | + | WCLS_CLOSE_LATER = 8 + | + | WCLS_DONT_SAVE_SIZE = 4 + | + | WCLS_NO_CONTEXT = 2 + | + | WCLS_SAVE = 1 + | + | WOPN_CENTERED = 32 + | + | WOPN_CREATE_ONLY = {} + | + | WOPN_DP_BEFORE = 2097152 + | + | WOPN_DP_BOTTOM = 524288 + | + | WOPN_DP_FLOATING = 8388608 + | + | WOPN_DP_INSIDE = 1048576 + | + | WOPN_DP_INSIDE_BEFORE = 3145728 + | + | WOPN_DP_LEFT = 65536 + | + | WOPN_DP_RIGHT = 262144 + | + | WOPN_DP_TAB = 4194304 + | + | WOPN_DP_TAB_BEFORE = 6291456 + | + | WOPN_DP_TOP = 131072 + | + | WOPN_MDI = 1 + | + | WOPN_MENU = 16 + | + | WOPN_ONTOP = 8 + | + | WOPN_PERSIST = 64 + | + | WOPN_RESTORE = 4 + | + | WOPN_TAB = 2 + +Help on function TWidget__from_ptrval__ in module ida_kernwin: + +TWidget__from_ptrval__(*args) -> 'TWidget *' + TWidget__from_ptrval__(ptrval) -> TWidget * + +Help on class UI_Hooks in module ida_kernwin: + +class UI_Hooks(builtins.object) + | Proxy of C++ UI_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> UI_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_UI_Hooks(...) + | delete_UI_Hooks(self) + | + | create_desktop_widget(self, *args) -> 'PyObject *' + | create_desktop_widget(self, title, cfg) -> PyObject * + | + | current_widget_changed(self, *args) -> 'void' + | current_widget_changed(self, widget, prev_widget) + | + | database_inited(self, *args) -> 'void' + | database_inited(self, is_new_database, idc_script) + | + | debugger_menu_change(self, *args) -> 'void' + | debugger_menu_change(self, enable) + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | finish_populating_widget_popup(self, *args) -> 'void' + | finish_populating_widget_popup(self, widget, popup_handle, ctx=None) + | + | + | The UI is about to be done populating the TWidget's popup menu. + | Now is a good time to call idaapi.attach_action_to_popup() + | + | @param widget: The widget + | @param popup: The popup menu. + | @return: Ignored + | + | get_chooser_item_attrs(self, *args) -> 'void' + | get_chooser_item_attrs(self, chooser, n, attrs) + | + | get_custom_viewer_hint(self, *args) -> 'PyObject *' + | get_custom_viewer_hint(self, viewer, place) -> PyObject * + | + | get_ea_hint(self, *args) -> 'PyObject *' + | get_ea_hint(self, ea) -> PyObject * + | + | + | The UI wants to display a simple hint for an address in the navigation band + | + | @param ea: The address + | @return: String with the hint or None + | + | get_item_hint(self, *args) -> 'PyObject *' + | get_item_hint(self, ea, max_lines) -> PyObject * + | + | get_widget_config(self, *args) -> 'PyObject *' + | get_widget_config(self, widget, cfg) -> PyObject * + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | + | Creates an UI hook + | + | @return: Boolean true on success + | + | idcstart(self, *args) -> 'void' + | idcstart(self) + | + | idcstop(self, *args) -> 'void' + | idcstop(self) + | + | plugin_loaded(self, *args) -> 'void' + | plugin_loaded(self, plugin_info) + | + | plugin_unloading(self, *args) -> 'void' + | plugin_unloading(self, plugin_info) + | + | populating_widget_popup(self, *args) -> 'void' + | populating_widget_popup(self, widget, popup_handle, ctx=None) + | + | + | The UI is populating the TWidget's popup menu. + | Now is a good time to call idaapi.attach_action_to_popup() + | + | @param widget: The widget + | @param popup: The popup menu. + | @return: Ignored + | + | postprocess_action(self, *args) -> 'void' + | postprocess_action(self) + | + | + | An ida ui action has been handled + | + | @return: Ignored + | + | preprocess_action(self, *args) -> 'void' + | preprocess_action(self, name) + | + | + | IDA ui is about to handle a user action + | + | @param name: ui action name + | (these names can be looked up in ida[tg]ui.cfg) + | @return: 0-ok, nonzero - a plugin has handled the action + | + | range(self, *args) -> 'void' + | range(self) + | + | ready_to_run(self, *args) -> 'void' + | ready_to_run(self) + | + | resume(self, *args) -> 'void' + | resume(self) + | + | saved(self, *args) -> 'void' + | saved(self) + | + | + | The kernel has saved the database. + | + | @return: Ignored + | + | saving(self, *args) -> 'void' + | saving(self) + | + | + | The kernel is saving the database. + | + | @return: Ignored + | + | screen_ea_changed(self, *args) -> 'void' + | screen_ea_changed(self, ea, prev_ea) + | + | set_widget_config(self, *args) -> 'void' + | set_widget_config(self, widget, cfg) + | + | suspend(self, *args) -> 'void' + | suspend(self) + | + | term(self, *args) -> 'void' + | term(self) + | + | + | IDA is terminated and the database is already closed. + | The UI may close its windows in this callback. + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | + | Removes the UI hook + | @return: Boolean true on success + | + | updated_actions(self, *args) -> 'void' + | updated_actions(self) + | + | + | The UI is done updating actions. + | + | @return: Ignored + | + | updating_actions(self, *args) -> 'void' + | updating_actions(self, ctx) + | + | + | The UI is about to batch-update some actions. + | + | @param ctx: The action_update_ctx_t instance + | @return: Ignored + | + | widget_closing(self, *args) -> 'void' + | widget_closing(self, widget) + | + | widget_invisible(self, *args) -> 'void' + | widget_invisible(self, widget) + | + | widget_visible(self, *args) -> 'void' + | widget_visible(self, widget) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class View_Hooks in module ida_kernwin: + +class View_Hooks(builtins.object) + | Proxy of C++ View_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> View_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_View_Hooks(...) + | delete_View_Hooks(self) + | + | dump_state(self, *args) -> 'qstring' + | dump_state(self) -> qstring + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | view_activated(self, *args) -> 'void' + | view_activated(self, view) + | + | view_click(self, *args) -> 'void' + | view_click(self, view, event) + | + | view_close(self, *args) -> 'void' + | view_close(self, view) + | + | view_created(self, *args) -> 'void' + | view_created(self, view) + | + | view_curpos(self, *args) -> 'void' + | view_curpos(self, view) + | + | view_dblclick(self, *args) -> 'void' + | view_dblclick(self, view, event) + | + | view_deactivated(self, *args) -> 'void' + | view_deactivated(self, view) + | + | view_keydown(self, *args) -> 'void' + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, *args) -> 'void' + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, *args) -> 'void' + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, *args) -> 'void' + | view_mouse_over(self, view, event) + | + | view_switched(self, *args) -> 'void' + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class __qtimer_t in module ida_kernwin: + +class __qtimer_t(builtins.object) + | Proxy of C++ __qtimer_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qtimer_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete___qtimer_t(...) + | delete___qtimer_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function _ask_addr in module ida_kernwin: + +_ask_addr(*args) -> 'ea_t *' + _ask_addr(addr, format) -> bool + +Help on function _ask_long in module ida_kernwin: + +_ask_long(*args) -> 'sval_t *' + _ask_long(value, format) -> bool + +Help on function _ask_seg in module ida_kernwin: + +_ask_seg(*args) -> 'sel_t *' + _ask_seg(sel, format) -> bool + +Help on function _call_ask_form in module ida_kernwin: + +_call_ask_form(*args) + +Help on function _call_open_form in module ida_kernwin: + +_call_open_form(*args) + +Help on class action_ctx_base_t in module ida_kernwin: + +class action_ctx_base_t(builtins.object) + | Proxy of C++ action_ctx_base_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> action_ctx_base_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_action_ctx_base_t(...) + | delete_action_ctx_base_t(self) + | + | _get_form(self, *args) -> 'TWidget *' + | _get_form(self) -> TWidget * + | + | _get_form_title(self, *args) -> 'qstring' + | _get_form_title(self) -> qstring + | + | _get_form_type(self, *args) -> 'twidget_type_t' + | _get_form_type(self) -> twidget_type_t + | + | has_flag(self, *args) -> 'bool' + | has_flag(self, flag) -> bool + | + | reset(self, *args) -> 'void' + | reset(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | action + | action_ctx_base_t_action_get(self) -> char const * + | + | chooser_selection + | action_ctx_base_t_chooser_selection_get(self) -> sizevec_t * + | + | cur_ea + | action_ctx_base_t_cur_ea_get(self) -> ea_t + | + | cur_enum + | action_ctx_base_t_cur_enum_get(self) -> enum_t + | + | cur_extracted_ea + | action_ctx_base_t_cur_value_get(self) -> uval_t + | + | cur_fchunk + | action_ctx_base_t_cur_fchunk_get(self) -> func_t * + | + | cur_flags + | action_ctx_base_t_cur_flags_get(self) -> uint32 + | + | cur_func + | action_ctx_base_t_cur_func_get(self) -> func_t * + | + | cur_seg + | action_ctx_base_t_cur_seg_get(self) -> segment_t * + | + | cur_strmem + | action_ctx_base_t_cur_strmem_get(self) -> member_t * + | + | cur_struc + | action_ctx_base_t_cur_struc_get(self) -> struc_t * + | + | cur_value + | action_ctx_base_t_cur_value_get(self) -> uval_t + | + | focus + | action_ctx_base_t_focus_get(self) -> TWidget * + | + | form + | _get_form(self) -> TWidget * + | + | form_title + | _get_form_title(self) -> qstring + | + | form_type + | _get_form_type(self) -> twidget_type_t + | + | graph_selection + | action_ctx_base_t_graph_selection_get(self) -> screen_graph_selection_t * + | + | regname + | action_ctx_base_t_regname_get(self) -> char const * + | + | thisown + | The membership flag + | + | widget + | action_ctx_base_t_widget_get(self) -> TWidget * + | + | widget_title + | action_ctx_base_t_widget_title_get(self) -> qstring * + | + | widget_type + | action_ctx_base_t_widget_type_get(self) -> twidget_type_t + +Help on class action_desc_t in module ida_kernwin: + +class action_desc_t(builtins.object) + | Proxy of C++ action_desc_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, name, label, handler, shortcut=None, tooltip=None, icon=-1, flags=0) -> action_desc_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_action_desc_t(...) + | delete_action_desc_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | action_desc_t_cb_get(self) -> int + | + | flags + | action_desc_t_flags_get(self) -> int + | + | icon + | action_desc_t_icon_get(self) -> int + | + | label + | action_desc_t_label_get(self) -> char const * + | + | name + | action_desc_t_name_get(self) -> char const * + | + | owner + | action_desc_t_owner_get(self) -> plugin_t const * + | + | shortcut + | action_desc_t_shortcut_get(self) -> char const * + | + | thisown + | The membership flag + | + | tooltip + | action_desc_t_tooltip_get(self) -> char const * + +Help on class action_handler_t in module ida_kernwin: + +class action_handler_t(builtins.object) + | # ---------------------------------------------------------------------- + | + | Methods defined here: + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | activate(self, ctx) + | + | update(self, ctx) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function activate_widget in module ida_kernwin: + +activate_widget(*args) -> 'void' + activate_widget(widget, take_focus) + + + Activate widget (only gui version) ( 'ui_activate_widget' ). + + @param widget: existing widget to display (C++: TWidget *) + @param take_focus: give focus to given widget (C++: bool) + +Help on function add_hotkey in module ida_kernwin: + +add_hotkey(*args) -> 'PyObject *' + add_hotkey(hotkey, pyfunc) -> PyObject * + + + 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. + +Help on function add_idc_hotkey in module ida_kernwin: + +add_idc_hotkey(*args) -> 'int' + add_idc_hotkey(hotkey, idcfunc) -> int + + + Add hotkey for IDC function ( 'ui_add_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + @param idcfunc: IDC function name (C++: const char *) + @return: IDC hotkey error codes + +Help on function add_spaces in module ida_kernwin: + +add_spaces(*args) -> 'PyObject *' + add_spaces(s, len) -> PyObject * + + + 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 len: the desired length of the string (C++: ssize_t) + @return: pointer to the end of input string + +Help on function addon_count in module ida_kernwin: + +addon_count(*args) -> 'int' + addon_count() -> int + + + Get number of installed addons. + +Help on class addon_info_t in module ida_kernwin: + +class addon_info_t(builtins.object) + | Proxy of C++ addon_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> addon_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_addon_info_t(...) + | delete_addon_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | addon_info_t_cb_get(self) -> size_t + | + | custom_data + | addon_info_t_custom_data_get(self) -> void const * + | + | custom_size + | addon_info_t_custom_size_get(self) -> size_t + | + | freeform + | addon_info_t_freeform_get(self) -> char const * + | + | id + | addon_info_t_id_get(self) -> char const * + | + | name + | addon_info_t_name_get(self) -> char const * + | + | producer + | addon_info_t_producer_get(self) -> char const * + | + | thisown + | The membership flag + | + | url + | addon_info_t_url_get(self) -> char const * + | + | version + | addon_info_t_version_get(self) -> char const * + +Help on function analyzer_options in module ida_kernwin: + +analyzer_options(*args) -> 'void' + analyzer_options() + + + Allow the user to set analyzer options. (show a dialog box) ( + 'ui_analyzer_options' ) + +Help on function ask_addr in module ida_kernwin: + +ask_addr(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_buttons in module ida_kernwin: + +ask_buttons(*args) -> 'int' + ask_buttons(Yes, No, Cancel, deflt, format) -> int + + + Display a dialog box and get choice from maximum three possibilities ( + 'ui_ask_buttons' ).for all buttons:use "" or NULL to take the default + name for the button.use 'format' to hide the cancel button + + @param Yes: text for the first button (C++: const char *) + @param No: text for the second button (C++: const char *) + @param Cancel: text for the third button (C++: const char *) + @param deflt: default choice: one of Button IDs (C++: int) + @param format: printf-style format string for question. It may have + some prefixes, see below. (C++: const char *) + @return: one of Button IDs specifying the selected button (Esc key + returns Cancel/3rd button value) + +Help on function ask_file in module ida_kernwin: + +ask_file(*args) -> 'char *' + ask_file(for_saving, defval, format) -> char * + +Help on function ask_for_feedback in module ida_kernwin: + +ask_for_feedback(*args) -> 'void' + ask_for_feedback(format) + + + Show a message box asking to send the input file tosupport@hex- + rays.com. + + @param format: the reason why the input file is bad (C++: const char + *) + +Help on function ask_ident in module ida_kernwin: + +ask_ident(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_long in module ida_kernwin: + +ask_long(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_seg in module ida_kernwin: + +ask_seg(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_str in module ida_kernwin: + +ask_str(*args) -> 'PyObject *' + ask_str(defval, hist, prompt) -> PyObject * + + + Asks for a long text + + @param hist: history id + @param defval: The default value + @param prompt: The prompt value + @return: None or the entered string + +Help on function ask_text in module ida_kernwin: + +ask_text(*args) -> 'PyObject *' + ask_text(max_size, defval, prompt) -> PyObject * + + + 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 + +Help on function ask_yn in module ida_kernwin: + +ask_yn(*args) -> 'int' + ask_yn(deflt, format) -> int + + + Display a dialog box and get choice from "Yes", "No", "Cancel". + + @param deflt: default choice: one of Button IDs (C++: int) + @param format: The question in printf() style format (C++: const char + *) + @return: the selected button (one of Button IDs ). Esc key returns + ASKBTN_CANCEL . + +Help on function attach_action_to_menu in module ida_kernwin: + +attach_action_to_menu(*args) -> 'bool' + attach_action_to_menu(menupath, name, flags) -> bool + + + Attach a previously-registered action to the menu ( + 'ui_attach_action_to_menu' ).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: 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 (C++: const + char *) + @param name: the action name (C++: const char *) + @param flags: a combination of Set menu flags , to determine menu + item position (C++: int) + @return: success + +Help on function attach_action_to_popup in module ida_kernwin: + +attach_action_to_popup(*args) -> 'bool' + 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: target widget (C++: TWidget *) + @param popup_handle: target popup menu if non-NULL, the action is + added to this popup menu invocation (i.e., + 'single-shot') if NULL, the action is added to + a list of actions that should always be present + in context menus for this widget (i.e., + 'permanent'.) (C++: TPopupMenu *) + @param name: action name (C++: const char *) + @param popuppath: can be NULL (C++: const char *) + @param flags: a combination of SETMENU_ flags (see Set menu flags ) + (C++: int) + @return: success + +Help on function attach_action_to_toolbar in module ida_kernwin: + +attach_action_to_toolbar(*args) -> 'bool' + attach_action_to_toolbar(toolbar_name, name) -> bool + + + Attach an action to an existing toolbar ( + 'ui_attach_action_to_toolbar' ). + + @param toolbar_name: the name of the toolbar (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on function attach_dynamic_action_to_popup in module ida_kernwin: + +attach_dynamic_action_to_popup(*args) -> 'bool' + attach_dynamic_action_to_popup(widget, popup_handle, desc, popuppath=None, flags=0) -> bool + + + Create & insert an action into the widget's popup menu ( + 'ui_attach_dynamic_action_to_popup' ). 'action_desc_t::handler' for + 'desc' must be instantiated using 'new', as it will be 'delete'd when + the action is unregistered. + + @param widget: target widget (C++: TWidget *) + @param popup_handle: target popup (C++: TPopupMenu *) + @param desc: created with DYNACTION_DESC_LITERAL (C++: const + action_desc_t &) + @param popuppath: can be NULL (C++: const char *) + @param flags: a combination of SETMENU_ constants (see Set menu flags + ) (C++: int) + @return: success + +Help on function banner in module ida_kernwin: + +banner(*args) -> 'bool' + banner(wait) -> bool + + + Show a banner dialog box ( 'ui_banner' ). + + @param wait: time to wait before closing (C++: int) + +Help on function beep in module ida_kernwin: + +beep(*args) -> 'void' + beep(beep_type=beep_default) + + + Issue a beeping sound ( 'ui_beep' ). + + @param beep_type: beep_t (C++: beep_t) + +Help on function call_nav_colorizer in module ida_kernwin: + +call_nav_colorizer(*args) -> 'uint32' + 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(). + +Help on function cancel_exec_request in module ida_kernwin: + +cancel_exec_request(*args) -> 'bool' + cancel_exec_request(req_id) -> bool + + + Try to cancel an asynchronous exec request ( 'ui_cancel_exec_request' + ). + + @param req_id: request id (C++: int) + +Help on function choose_activate in module ida_kernwin: + +choose_activate(*args) -> 'void' + choose_activate(_self) + +Help on function choose_choose in module ida_kernwin: + +choose_choose(*args) -> 'PyObject *' + choose_choose(_self) -> PyObject * + +Help on function choose_close in module ida_kernwin: + +choose_close(*args) -> 'void' + choose_close(_self) + +Help on function choose_create_embedded_chobj in module ida_kernwin: + +choose_create_embedded_chobj(*args) -> 'PyObject *' + choose_create_embedded_chobj(_self) -> PyObject * + +Help on function choose_entry in module ida_kernwin: + +choose_entry(*args) -> 'ea_t' + choose_entry(title) -> ea_t + + + Choose an entry point ( 'ui_choose' , 'chtype_entry' ). + + @param title: chooser title (C++: const char *) + @return: ea of selected entry point, BADADDR if none selected + +Help on function choose_enum in module ida_kernwin: + +choose_enum(*args) -> 'enum_t' + choose_enum(title, default_id) -> enum_t + + + Choose an enum ( 'ui_choose' , 'chtype_enum' ). + + @param title: chooser title (C++: const char *) + @param default_id: id of enum to select by default (C++: enum_t) + @return: enum id of selected enum, BADNODE if none selected + +Help on function choose_enum_by_value in module ida_kernwin: + +choose_enum_by_value(*args) -> 'uchar *' + choose_enum_by_value(title, default_id, value, nbytes) -> enum_t + + + 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 title: chooser title (C++: const char *) + @param default_id: id of enum to select by default (C++: enum_t) + @param value: value to search for (C++: uval_t) + @param nbytes: size of value (C++: int) + @return: enum id of selected (or imported) enum, BADNODE if none was + found + +Help on function choose_find in module ida_kernwin: + +choose_find(*args) -> 'PyObject *' + choose_find(title) -> PyObject * + +Help on function choose_func in module ida_kernwin: + +choose_func(*args) -> 'func_t *' + choose_func(title, default_ea) -> func_t * + + + Choose a function ( 'ui_choose' , 'chtype_func' ). + + @param title: chooser title (C++: const char *) + @param default_ea: ea of function to select by default (C++: ea_t) + @return: pointer to function that was selected, NULL if none selected + +Help on function choose_get_widget in module ida_kernwin: + +choose_get_widget(*args) -> 'TWidget *' + choose_get_widget(_self) -> TWidget * + +Help on function choose_idasgn in module ida_kernwin: + +choose_idasgn(*args) -> 'PyObject *' + choose_idasgn() -> PyObject * + + + Opens the signature chooser + + @return: None or the selected signature name + +Help on function choose_name in module ida_kernwin: + +choose_name(*args) -> 'ea_t' + choose_name(title) -> ea_t + + + Choose a name ( 'ui_choose' , 'chtype_name' ). + + @param title: chooser title (C++: const char *) + @return: ea of selected name, BADADDR if none selected + +Help on function choose_refresh in module ida_kernwin: + +choose_refresh(*args) -> 'void' + choose_refresh(_self) + +Help on function choose_segm in module ida_kernwin: + +choose_segm(*args) -> 'segment_t *' + choose_segm(title, default_ea) -> segment_t * + + + Choose a segment ( 'ui_choose' , 'chtype_segm' ). + + @param title: chooser title (C++: const char *) + @param default_ea: ea of segment to select by default (C++: ea_t) + @return: pointer to segment that was selected, NULL if none selected + +Help on function choose_srcp in module ida_kernwin: + +choose_srcp(*args) -> 'sreg_range_t *' + choose_srcp(title) -> sreg_range_t * + + + Choose a segment register change point ( 'ui_choose' , 'chtype_srcp' + ). + + @param title: chooser title (C++: const char *) + @return: pointer to segment register range of selected change point, + NULL if none selected + +Help on function choose_stkvar_xref in module ida_kernwin: + +choose_stkvar_xref(*args) -> 'ea_t' + choose_stkvar_xref(pfn, mptr) -> ea_t + + + Choose an xref to a stack variable ( 'ui_choose' , 'chtype_name' ). + + @param pfn: function (C++: func_t *) + @param mptr: variable (C++: member_t *) + @return: ea of the selected xref, BADADDR if none selected + +Help on function choose_struc in module ida_kernwin: + +choose_struc(*args) -> 'struc_t *' + choose_struc(title) -> struc_t * + + + Choose a structure ( 'ui_choose' , 'chtype_segm' ). + + @param title: chooser title; (C++: const char *) + @return: pointer to structure that was selected, NULL if none selected + +Help on function choose_til in module ida_kernwin: + +choose_til(*args) -> 'qstring *' + choose_til() -> str + + + Choose a type library ( 'ui_choose' , 'chtype_idatil' ). + +Help on function choose_xref in module ida_kernwin: + +choose_xref(*args) -> 'ea_t' + choose_xref(to) -> ea_t + + + Choose an xref to an address ( 'ui_choose' , 'chtype_xref' ). + + @param to: referenced address (C++: ea_t) + @return: ea of selected xref, BADADDR if none selected + +Help on class chooser_item_attrs_t in module ida_kernwin: + +class chooser_item_attrs_t(builtins.object) + | Proxy of C++ chooser_item_attrs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> chooser_item_attrs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_chooser_item_attrs_t(...) + | delete_chooser_item_attrs_t(self) + | + | reset(self, *args) -> 'void' + | reset(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | color + | chooser_item_attrs_t_color_get(self) -> bgcolor_t + | + | flags + | chooser_item_attrs_t_flags_get(self) -> int + | + | thisown + | The membership flag + +Help on function clear_refresh_request in module ida_kernwin: + +clear_refresh_request(*args) -> 'void' + clear_refresh_request(mask) + +Help on class cli_t in module ida_kernwin: + +class cli_t(ida_idaapi.pyidc_opaque_object_t) + | cli_t wrapper class. + | + | This class allows you to implement your own command line interface handlers. + | + | Method resolution order: + | cli_t + | ida_idaapi.pyidc_opaque_object_t + | builtins.object + | + | Methods defined here: + | + | __del__(self) + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | register(self, flags=0, sname=None, lname=None, hint=None) + | 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 + | + | unregister(self) + | Unregisters the CLI (if it was registered) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function close_chooser in module ida_kernwin: + +close_chooser(*args) -> 'bool' + close_chooser(title) -> bool + + + Close a non-modal chooser ( 'ui_close_chooser' ). + + @param title: window title of chooser to close (C++: const char *) + @return: success + +Help on function close_widget in module ida_kernwin: + +close_widget(*args) -> 'void' + close_widget(widget, options) + + + Close widget ( 'ui_close_widget' , only gui version). + + @param widget: pointer to the widget to close (C++: TWidget *) + @param options: Form close flags (C++: int) + +Help on function clr_cancelled in module ida_kernwin: + +clr_cancelled(*args) -> 'void' + clr_cancelled() + + + Clear "Cancelled" flag ( 'ui_clr_cancelled' ) + +Help on function create_code_viewer in module ida_kernwin: + +create_code_viewer(*args) -> 'TWidget *' + 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: the custom view to be added (C++: TWidget *) + @param flags: Code viewer flags (C++: int) + @param parent: widget to contain the new code viewer (C++: TWidget *) + +Help on function create_empty_widget in module ida_kernwin: + +create_empty_widget(*args) -> 'TWidget *' + create_empty_widget(title, icon=-1) -> TWidget * + + + Create an empty widget, serving as a container for custom user widgets + + @param title (C++: const char *) + @param icon (C++: int) + +Help on function create_menu in module ida_kernwin: + +create_menu(*args) -> 'bool' + 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-NULL, 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: name of menu (must be unique) (C++: const char *) + @param label: label of menu (C++: const char *) + @param menupath: where should the menu be inserted (C++: const char *) + @return: success + +Help on function create_toolbar in module ida_kernwin: + +create_toolbar(*args) -> 'bool' + create_toolbar(name, label, before=None, flags=0) -> bool + + + Create a toolbar with the given name, label and optional position + + @param name: name of toolbar (must be unique) (C++: const char *) + @param label: label of toolbar (C++: const char *) + @param before: if non-NULL, the toolbar before which the new toolbar + will be inserted (C++: const char *) + @param flags: a combination of create toolbar flags , to determine + toolbar position (C++: int) + @return: success + +Help on function custom_viewer_jump in module ida_kernwin: + +custom_viewer_jump(*args) -> 'bool' + custom_viewer_jump(v, loc, flags=0) -> bool + + + Append 'loc' to the viewer's history, and cause the viewer to display + it. + + @param v: (TWidget *) (C++: TWidget *) + @param loc: (const lochist_entry_t &) (C++: const lochist_entry_t + &) + @param flags: (uint32) or'ed combination of CVNF_* values (C++: + uint32) + @return: success + +Help on function del_hotkey in module ida_kernwin: + +del_hotkey(*args) -> 'bool' + del_hotkey(pyctx) -> bool + + + Deletes a previously registered function hotkey + + @param ctx: Hotkey context previously returned by add_hotkey() + + @return: Boolean. + +Help on function del_idc_hotkey in module ida_kernwin: + +del_idc_hotkey(*args) -> 'bool' + del_idc_hotkey(hotkey) -> bool + + + Delete IDC function hotkey ( 'ui_del_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + +Help on function delete_menu in module ida_kernwin: + +delete_menu(*args) -> 'bool' + delete_menu(name) -> bool + + + Delete an existing menu + + @param name: name of menu (C++: const char *) + @return: success + +Help on function delete_toolbar in module ida_kernwin: + +delete_toolbar(*args) -> 'bool' + delete_toolbar(name) -> bool + + + Delete an existing toolbar + + @param name: name of toolbar (C++: const char *) + @return: success + +Help on function detach_action_from_menu in module ida_kernwin: + +detach_action_from_menu(*args) -> 'bool' + detach_action_from_menu(menupath, name) -> bool + + + Detach an action from the menu ( 'ui_detach_action_from_menu' ). + + @param menupath: path to the menu item (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on function detach_action_from_popup in module ida_kernwin: + +detach_action_from_popup(*args) -> 'bool' + 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: target widget (C++: TWidget *) + @param name: action name (C++: const char *) + +Help on function detach_action_from_toolbar in module ida_kernwin: + +detach_action_from_toolbar(*args) -> 'bool' + detach_action_from_toolbar(toolbar_name, name) -> bool + + + Detach an action from the toolbar ( 'ui_detach_action_from_toolbar' ). + + @param toolbar_name: the name of the toolbar (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on class disasm_line_t in module ida_kernwin: + +class disasm_line_t(builtins.object) + | Proxy of C++ disasm_line_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> disasm_line_t + | __init__(self, other) -> disasm_line_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_disasm_line_t(...) + | delete_disasm_line_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | at + | disasm_line_t_at_get(self) -> place_t + | + | bg_color + | disasm_line_t_bg_color_get(self) -> bgcolor_t + | + | is_default + | disasm_line_t_is_default_get(self) -> bool + | + | line + | disasm_line_t_line_get(self) -> qstring * + | + | prefix_color + | disasm_line_t_prefix_color_get(self) -> color_t + | + | thisown + | The membership flag + +Help on class disasm_text_t in module ida_kernwin: + +class disasm_text_t(builtins.object) + | Proxy of C++ qvector< disasm_line_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'disasm_line_t const &' + | __getitem__(self, i) -> disasm_line_t + | + | __init__(self, *args) + | __init__(self) -> disasm_text_t + | __init__(self, x) -> disasm_text_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_disasm_text_t(...) + | delete_disasm_text_t(self) + | + | at(self, *args) -> 'disasm_line_t const &' + | at(self, _idx) -> disasm_line_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< disasm_line_t >::const_iterator' + | begin(self) -> disasm_line_t + | begin(self) -> disasm_line_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< disasm_line_t >::const_iterator' + | end(self) -> disasm_line_t + | end(self) -> disasm_line_t + | + | erase(self, *args) -> 'qvector< disasm_line_t >::iterator' + | erase(self, it) -> disasm_line_t + | erase(self, first, last) -> disasm_line_t + | + | extract(self, *args) -> 'disasm_line_t *' + | extract(self) -> disasm_line_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=disasm_line_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< disasm_line_t >::iterator' + | insert(self, it, x) -> disasm_line_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'disasm_line_t &' + | push_back(self, x) + | push_back(self) -> disasm_line_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function display_copyright_warning in module ida_kernwin: + +display_copyright_warning(*args) -> 'bool' + display_copyright_warning() -> bool + + + Display copyright warning ( 'ui_copywarn' ). + + @return: yes/no + +Help on function display_widget in module ida_kernwin: + +display_widget(*args) -> 'void' + display_widget(widget, options, dest_ctrl=None) + + + Display a widget, dock it if not done before + + @param widget: widget to display (C++: TWidget *) + @param options: Widget open flags (C++: uint32) + @param dest_ctrl: where to dock: if NULL or invalid then use the + active docker if there is not create a new tab + relative to current active tab (C++: const char *) + +Help on function ea2str in module ida_kernwin: + +ea2str(*args) -> 'size_t' + ea2str(ea) -> str + + + Convert linear address to UTF-8 string. + + + @param ea (C++: ea_t) + +Help on function ea_viewer_history_push_and_jump in module ida_kernwin: + +ea_viewer_history_push_and_jump(*args) -> 'bool' + 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: ea viewer (C++: TWidget *) + @param ea: jump destination (C++: ea_t) + @param x: coords on screen (C++: int) + @param y: coords on screen (C++: int) + @param lnnum: desired line number of given address (C++: int) + +Help on function enable_chooser_item_attrs in module ida_kernwin: + +enable_chooser_item_attrs(*args) -> 'bool' + 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_attrsevents 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 *) + @param enable (C++: bool) + @return: success + +Help on class enumplace_t in module ida_kernwin: + +class enumplace_t(place_t) + | Proxy of C++ enumplace_t class. + | + | Method resolution order: + | enumplace_t + | place_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_enumplace_t(...) + | delete_enumplace_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bmask + | enumplace_t_bmask_get(self) -> bmask_t + | + | idx + | enumplace_t_idx_get(self) -> size_t + | + | serial + | enumplace_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | value + | enumplace_t_value_get(self) -> uval_t + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) -> 'void' + | _print(self, out_buf, ud) + | + | adjust(self, *args) -> 'void' + | adjust(self, ud) + | + | beginning(self, *args) -> 'bool' + | beginning(self, ud) -> bool + | + | clone(self, *args) -> 'place_t *' + | clone(self) -> place_t + | + | compare(self, *args) -> 'int' + | compare(self, t2) -> int + | + | copyfrom(self, *args) -> 'void' + | copyfrom(self, _from) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, _in) -> bool + | + | ending(self, *args) -> 'bool' + | ending(self, ud) -> bool + | + | enter(self, *args) -> 'place_t *' + | enter(self, arg2) -> place_t + | + | generate(self, *args) -> 'PyObject *' + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) -> 'int' + | id(self) -> int + | + | leave(self, *args) -> 'void' + | leave(self, arg2) + | + | makeplace(self, *args) -> 'place_t *' + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) -> 'char const *' + | name(self) -> char const * + | + | next(self, *args) -> 'bool' + | next(self, ud) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, ud) -> bool + | + | rebase(self, *args) -> 'bool' + | rebase(self, arg2) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | toea(self, *args) -> 'ea_t' + | toea(self) -> ea_t + | + | touval(self, *args) -> 'uval_t' + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) -> 'enumplace_t *' + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) -> 'idaplace_t *' + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) -> 'simpleline_place_t *' + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) -> 'structplace_t *' + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on function error in module ida_kernwin: + +error(*args) -> 'void' + error(format) + + + Display a fatal message in a message box and quit IDA + + @param format: message to print + +Help on function execute_sync in module ida_kernwin: + +execute_sync(*args) -> 'int' + execute_sync(py_callable, reqf) -> int + + + 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 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 + +Help on function execute_ui_requests in module ida_kernwin: + +execute_ui_requests(*args) -> 'bool' + 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 callabale item + +Help on function find_widget in module ida_kernwin: + +find_widget(*args) -> 'TWidget *' + 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: title of tab, or window title if widget is not tabbed + (C++: const char *) + @return: pointer to the TWidget, NULL if none is found + +Help on function formchgcbfa_close in module ida_kernwin: + +formchgcbfa_close(*args) -> 'void' + formchgcbfa_close(p_fa, close_normally) + +Help on function formchgcbfa_enable_field in module ida_kernwin: + +formchgcbfa_enable_field(*args) -> 'bool' + formchgcbfa_enable_field(p_fa, fid, enable) -> bool + +Help on function formchgcbfa_get_field_value in module ida_kernwin: + +formchgcbfa_get_field_value(*args) -> 'PyObject *' + formchgcbfa_get_field_value(p_fa, fid, ft, sz) -> PyObject * + +Help on function formchgcbfa_get_focused_field in module ida_kernwin: + +formchgcbfa_get_focused_field(*args) -> 'int' + formchgcbfa_get_focused_field(p_fa) -> int + +Help on function formchgcbfa_move_field in module ida_kernwin: + +formchgcbfa_move_field(*args) -> 'bool' + formchgcbfa_move_field(p_fa, fid, x, y, w, h) -> bool + +Help on function formchgcbfa_refresh_field in module ida_kernwin: + +formchgcbfa_refresh_field(*args) -> 'void' + formchgcbfa_refresh_field(p_fa, fid) + +Help on function formchgcbfa_set_field_value in module ida_kernwin: + +formchgcbfa_set_field_value(*args) -> 'bool' + formchgcbfa_set_field_value(p_fa, fid, ft, py_val) -> bool + +Help on function formchgcbfa_set_focused_field in module ida_kernwin: + +formchgcbfa_set_focused_field(*args) -> 'bool' + formchgcbfa_set_focused_field(p_fa, fid) -> bool + +Help on function formchgcbfa_show_field in module ida_kernwin: + +formchgcbfa_show_field(*args) -> 'bool' + formchgcbfa_show_field(p_fa, fid, show) -> bool + +Help on function free_custom_icon in module ida_kernwin: + +free_custom_icon(*args) -> 'void' + free_custom_icon(icon_id) + + + Frees an icon loaded with load_custom_icon() + +Help on function gen_disasm_text in module ida_kernwin: + +gen_disasm_text(*args) -> 'void' + gen_disasm_text(text, ea1, ea2, truncate_lines) + + + Generate disassembly text for a range. + + @param text: result (C++: text_t &) + @param ea1: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @param truncate_lines: (on idainfo::margin ) (C++: bool) + +Help on function get_action_checkable in module ida_kernwin: + +get_action_checkable(*args) -> 'bool *' + get_action_checkable(name) -> bool + + + Get an action's checkability ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_checked in module ida_kernwin: + +get_action_checked(*args) -> 'bool *' + get_action_checked(name) -> bool + + + Get an action's checked state ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_icon in module ida_kernwin: + +get_action_icon(*args) -> 'int *' + get_action_icon(name) -> bool + + + Get an action's icon ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_label in module ida_kernwin: + +get_action_label(*args) -> 'qstring *' + get_action_label(name) -> str + + + Get an action's label ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_shortcut in module ida_kernwin: + +get_action_shortcut(*args) -> 'qstring *' + get_action_shortcut(name) -> str + + + Get an action's shortcut ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_state in module ida_kernwin: + +get_action_state(*args) -> 'action_state_t *' + get_action_state(name) -> bool + + + Get an action's state ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_tooltip in module ida_kernwin: + +get_action_tooltip(*args) -> 'qstring *' + get_action_tooltip(name) -> str + + + Get an action's tooltip ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_visibility in module ida_kernwin: + +get_action_visibility(*args) -> 'bool *' + get_action_visibility(name) -> bool + + + Get an action's visibility ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_active_modal_widget in module ida_kernwin: + +get_active_modal_widget(*args) -> 'TWidget *' + 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 NULL even if it is currently shown. + + @return: TWidget * the active modal widget, or NULL + +Help on function get_addon_info in module ida_kernwin: + +get_addon_info(*args) -> 'bool' + 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 *) + @param info (C++: addon_info_t *) + @return: false if not found + +Help on function get_addon_info_idx in module ida_kernwin: + +get_addon_info_idx(*args) -> 'bool' + 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 + +Help on function get_chooser_data in module ida_kernwin: + +get_chooser_data(*args) -> 'PyObject *' + get_chooser_data(chooser_caption, n) -> PyObject * + + + Get the text corresponding to the index N in the chooser data. Use -1 + to get the header. + + @param chooser_caption (C++: const char *) + @param n (C++: int) + +Help on function get_chooser_obj in module ida_kernwin: + +get_chooser_obj(*args) -> 'void *' + get_chooser_obj(chooser_caption) -> void * + + + Get the underlying object of the specified chooser ( + 'ui_get_chooser_obj' ).This is object is chooser-specific. + + @param chooser_caption (C++: const char *) + @return: the object that was used to create the chooser + +Help on function get_curline in module ida_kernwin: + +get_curline(*args) -> 'char const *' + 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) + +Help on function get_current_viewer in module ida_kernwin: + +get_current_viewer(*args) -> 'TWidget *' + get_current_viewer() -> TWidget * + + + Get current ida viewer (idaview or custom viewer) ( + 'ui_get_current_viewer' ) + +Help on function get_current_widget in module ida_kernwin: + +get_current_widget(*args) -> 'TWidget *' + get_current_widget() -> TWidget * + + + Get a pointer to the current widget ( 'ui_get_current_widget' ). + +Help on function get_cursor in module ida_kernwin: + +get_cursor(*args) -> 'int *, int *' + get_cursor() -> bool + + + Get the cursor position on the screen ( 'ui_get_cursor' ).coordinates + are 0-based + +Help on function get_custom_viewer_curline in module ida_kernwin: + +get_custom_viewer_curline(*args) -> 'char const *' + 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 + + @param custom_viewer: view (C++: TWidget *) + @param mouse: mouse position (otherwise cursor position) (C++: bool) + @return: pointer to contents of current line + +Help on function get_custom_viewer_location in module ida_kernwin: + +get_custom_viewer_location(*args) -> 'bool' + get_custom_viewer_location(out, custom_viewer, mouse=False) -> bool + + + Get the current location in a custom viewer ( + 'ui_get_custom_viewer_location' ). + + + @param out (C++: lochist_entry_t *) + @param custom_viewer (C++: TWidget *) + @param mouse (C++: bool) + +Help on function get_custom_viewer_place in module ida_kernwin: + +get_custom_viewer_place(*args) -> 'int *, int *' + 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: view (C++: TWidget *) + @param mouse: mouse position (otherwise cursor position) (C++: bool) + +Help on function get_ea_viewer_history_info in module ida_kernwin: + +get_ea_viewer_history_info(*args) -> 'bool' + get_ea_viewer_history_info(nback, nfwd, v) -> bool + + + Get information about what's in the history ( + 'ui_ea_viewer_history_info' ). + + @param nback: number of available back steps (C++: int *) + @param nfwd: number of available forward steps (C++: int *) + @param v: ea viewer (C++: TWidget *) + +Help on function get_hexdump_ea in module ida_kernwin: + +get_hexdump_ea(*args) -> 'ea_t' + get_hexdump_ea(hexdump_num) -> ea_t + + + Get the current address in a hex view. + + @param hexdump_num: number of hexview window (C++: int) + +Help on function get_highlight in module ida_kernwin: + +get_highlight(*args) -> 'PyObject *' + get_highlight(v) -> PyObject * + + + Returns the currently highlighted identifier and flags + + @return: a tuple (text, flags), or None if nothing + is highlighted or in case of error. + +Help on function get_kernel_version in module ida_kernwin: + +get_kernel_version(*args) -> 'size_t' + get_kernel_version() -> str + + + Get IDA kernel version (in a string like "5.1"). + +Help on function get_key_code in module ida_kernwin: + +get_key_code(*args) -> 'ushort' + get_key_code(keyname) -> ushort + + + Get keyboard key code by its name ( 'ui_get_key_code' ) + + + @param keyname (C++: const char *) + +Help on function get_navband_ea in module ida_kernwin: + +get_navband_ea(*args) -> 'ea_t' + get_navband_ea(pixel) -> ea_t + + + Translate the pixel position on the navigation band, into an address. + + + @param pixel (C++: int) + +Help on function get_navband_pixel in module ida_kernwin: + +get_navband_pixel(*args) -> 'bool *' + get_navband_pixel(ea) -> int + + + Maps an address, onto a pixel coordinate within the navband + + @param ea: The address to map + @return: a list [pixel, is_vertical] + +Help on function get_opnum in module ida_kernwin: + +get_opnum(*args) -> 'int' + get_opnum() -> int + + + Get current operand number, -1 means no operand ( 'ui_get_opnum' ) + +Help on function get_output_curline in module ida_kernwin: + +get_output_curline(*args) -> 'qstring *' + get_output_curline(mouse) -> str + + + Get current line of output window ( 'ui_get_output_curline' ). + + @param mouse: current for mouse pointer? (C++: bool) + @return: false if output contains no text + +Help on function get_output_cursor in module ida_kernwin: + +get_output_cursor(*args) -> 'int *, int *' + get_output_cursor() -> bool + + + Get coordinates of the output window's cursor ( 'ui_get_output_cursor' + ).coordinates are 0-basedthis function will succeed even if the output + window is not visible + +Help on function get_output_selected_text in module ida_kernwin: + +get_output_selected_text(*args) -> 'qstring *' + get_output_selected_text() -> str + + + Returns selected text from output window ( + 'ui_get_output_selected_text' ). + + @return: true if there is a selection + +Help on function get_place_class in module ida_kernwin: + +get_place_class(*args) -> 'place_t const *' + 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: output flags (can be NULL) (C++: int *) + @param out_sdk_version: sdk version the place was created with (can be + NULL) (C++: int *) + @param id: place class ID (C++: int) + @return: the place_t template, or NULL if not found + +Help on function get_place_class_id in module ida_kernwin: + +get_place_class_id(*args) -> 'int' + get_place_class_id(name) -> int + + + Get the place class ID for the place that has been registered as + 'name'. + + @param name: the class name (C++: const char *) + @return: the place class ID, or -1 if not found + +Help on function get_place_class_template in module ida_kernwin: + +get_place_class_template(*args) -> 'place_t const *' + get_place_class_template(id) -> place_t + + + See 'get_place_class()' + + + @param id (C++: int) + +Help on function get_registered_actions in module ida_kernwin: + +get_registered_actions(*args) -> 'PyObject *' + get_registered_actions() -> PyObject * + + + Get a list of all currently-registered actions + +Help on function get_screen_ea in module ida_kernwin: + +get_screen_ea(*args) -> 'ea_t' + get_screen_ea() -> ea_t + + + Get the address at the screen cursor ( 'ui_screenea' ) + +Help on function get_tab_size in module ida_kernwin: + +get_tab_size(*args) -> 'int' + get_tab_size(path) -> int + + + Get the size of a tab in spaces ( 'ui_get_tab_size' ). + + @param path: the path of the source view for which the tab size is + requested. if NULL, the default size is returned. (C++: + const char *) + +Help on function get_user_strlist_options in module ida_kernwin: + +get_user_strlist_options(*args) -> 'void' + get_user_strlist_options(out) + +Help on function get_view_renderer_type in module ida_kernwin: + +get_view_renderer_type(*args) -> 'tcc_renderer_type_t' + 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 *) + +Help on function get_viewer_place_type in module ida_kernwin: + +get_viewer_place_type(*args) -> 'tcc_place_type_t' + 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 *) + +Help on function get_viewer_user_data in module ida_kernwin: + +get_viewer_user_data(*args) -> 'void *' + get_viewer_user_data(viewer) -> void * + + + Get the user data from a custom viewer ( 'ui_get_viewer_user_data' ) + + + @param viewer (C++: TWidget *) + +Help on function get_widget_title in module ida_kernwin: + +get_widget_title(*args) -> 'qstring *' + get_widget_title(widget) -> str + + + Get the TWidget's title ( 'ui_get_widget_title' ). + + + @param widget (C++: TWidget *) + +Help on function get_widget_type in module ida_kernwin: + +get_widget_type(*args) -> 'twidget_type_t' + get_widget_type(widget) -> twidget_type_t + + + Get the type of the TWidget * ( 'ui_get_widget_type' ). + + + @param widget (C++: TWidget *) + +Help on function get_window_id in module ida_kernwin: + +get_window_id(*args) -> 'void *' + get_window_id(name=None) -> void * + + + Get the system-specific window ID (GUI version only) + + @param name (C++: const char *) + @return: the low-level window ID + +Help on function hide_wait_box in module ida_kernwin: + +hide_wait_box(*args) -> 'void' + hide_wait_box() + + + Hide the "Please wait dialog box". + +Help on class idaplace_t in module ida_kernwin: + +class idaplace_t(place_t) + | Proxy of C++ idaplace_t class. + | + | Method resolution order: + | idaplace_t + | place_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_idaplace_t(...) + | delete_idaplace_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ea + | idaplace_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) -> 'void' + | _print(self, out_buf, ud) + | + | adjust(self, *args) -> 'void' + | adjust(self, ud) + | + | beginning(self, *args) -> 'bool' + | beginning(self, ud) -> bool + | + | clone(self, *args) -> 'place_t *' + | clone(self) -> place_t + | + | compare(self, *args) -> 'int' + | compare(self, t2) -> int + | + | copyfrom(self, *args) -> 'void' + | copyfrom(self, _from) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, _in) -> bool + | + | ending(self, *args) -> 'bool' + | ending(self, ud) -> bool + | + | enter(self, *args) -> 'place_t *' + | enter(self, arg2) -> place_t + | + | generate(self, *args) -> 'PyObject *' + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) -> 'int' + | id(self) -> int + | + | leave(self, *args) -> 'void' + | leave(self, arg2) + | + | makeplace(self, *args) -> 'place_t *' + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) -> 'char const *' + | name(self) -> char const * + | + | next(self, *args) -> 'bool' + | next(self, ud) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, ud) -> bool + | + | rebase(self, *args) -> 'bool' + | rebase(self, arg2) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | toea(self, *args) -> 'ea_t' + | toea(self) -> ea_t + | + | touval(self, *args) -> 'uval_t' + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) -> 'enumplace_t *' + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) -> 'idaplace_t *' + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) -> 'simpleline_place_t *' + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) -> 'structplace_t *' + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on function info in module ida_kernwin: + +info(*args) -> 'void' + info(format) + +Help on function install_command_interpreter in module ida_kernwin: + +install_command_interpreter(*args) -> 'int' + install_command_interpreter(py_obj) -> int + + + Install command line interpreter ( 'ui_install_cli' ) + +Help on function internal_register_place_class in module ida_kernwin: + +internal_register_place_class(*args) -> 'int' + internal_register_place_class(tmplate, flags, owner, sdk_version) -> int + +Help on function is_action_enabled in module ida_kernwin: + +is_action_enabled(*args) -> 'bool' + is_action_enabled(s) -> bool + + + Check if the given action state is one of AST_ENABLE*. + + + @param s (C++: action_state_t) + +Help on function is_chooser_widget in module ida_kernwin: + +is_chooser_widget(*args) -> 'bool' + is_chooser_widget(t) -> bool + + + Does the given widget type specify a chooser widget? + + + @param t (C++: twidget_type_t) + +Help on function is_idaq in module ida_kernwin: + +is_idaq(*args) -> 'bool' + is_idaq() -> bool + + + Returns True or False depending if IDAPython is hosted by IDAQ + +Help on function is_msg_inited in module ida_kernwin: + +is_msg_inited(*args) -> 'bool' + is_msg_inited() -> bool + + + Can we use msg() functions? + +Help on function is_place_class_ea_capable in module ida_kernwin: + +is_place_class_ea_capable(*args) -> 'bool' + is_place_class_ea_capable(id) -> bool + + + See 'get_place_class()' + + + @param id (C++: int) + +Help on function is_refresh_requested in module ida_kernwin: + +is_refresh_requested(*args) -> 'bool' + is_refresh_requested(mask) -> bool + + + Get a refresh request state + + @param mask: Window refresh flags (C++: uint64) + @return: the state (set or cleared) + +Help on class jobj_wrapper_t in module ida_kernwin: + +class jobj_wrapper_t(builtins.object) + | Proxy of C++ jobj_wrapper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | get_dict(self, *args) -> 'PyObject *' + | get_dict(self) -> PyObject * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function jumpto in module ida_kernwin: + +jumpto(*args) -> 'bool' + jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool + jumpto(custom_viewer, place, x, y) -> bool + + + Jump to the specified address ( 'ui_jumpto' ). + + @param ea: destination (C++: ea_t) + @param opnum: -1: don't change x coord (C++: int) + @param uijmp_flags: Jump flags (C++: int) + @return: success + +Help on function load_custom_icon in module ida_kernwin: + +load_custom_icon(file_name=None, data=None, format=None) + 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. + + @param file_name: The icon file name + @param data: The icon data + @param format: The icon data format + + @return: Icon id or 0 on failure. + Use free_custom_icon() to free it + + + Load an icon from a file ( 'ui_load_custom_icon_file' ). Also see + 'load_custom_icon(const void *, unsigned int, const char *)' + + @return: icon id + +Help on function load_dbg_dbginfo in module ida_kernwin: + +load_dbg_dbginfo(*args) -> 'bool' + load_dbg_dbginfo(path, li=None, base=BADADDR, verbose=False) -> bool + + + Load debugging information from a file. + + @param path: path to file (C++: const char *) + @param li: loader input. if NULL, check DBG_NAME_KEY (C++: linput_t *) + @param base: loading address (C++: ea_t) + @param verbose: dump status to message window (C++: bool) + +Help on function lookup_key_code in module ida_kernwin: + +lookup_key_code(*args) -> 'ushort' + lookup_key_code(key, shift, is_qt) -> ushort + + + Get shortcut code previously created by 'ui_get_key_code' . + + @param key: key constant (C++: int) + @param shift: modifiers (C++: int) + @param is_qt: are we using gui version? (C++: bool) + +Help on function msg in module ida_kernwin: + +msg(*args) -> 'PyObject *' + msg(o) -> PyObject * + + + 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 + +Help on function msg_clear in module ida_kernwin: + +msg_clear(*args) -> 'void' + msg_clear() + + + Clear the "Output window". + +Help on function msg_get_lines in module ida_kernwin: + +msg_get_lines(*args) -> 'PyObject *' + 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: The number of lines to retrieve. -1 means: all (C++: + int) + +Help on function msg_save in module ida_kernwin: + +msg_save(*args) -> 'bool' + msg_save(path) -> bool + + + Save the "Output window" contents into a file + + @param path: 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. (C++: qstring &) + @return: success + +Help on function nomem in module ida_kernwin: + +nomem(*args) -> 'void' + nomem(format) + +Help on function open_bpts_window in module ida_kernwin: + +open_bpts_window(*args) -> 'TWidget *' + open_bpts_window(ea) -> TWidget * + + + Open the breakpoints window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_calls_window in module ida_kernwin: + +open_calls_window(*args) -> 'TWidget *' + open_calls_window(ea) -> TWidget * + + + Open the function calls window ( 'ui_open_builtin' ). + + @param ea (C++: ea_t) + @return: pointer to resulting window + +Help on function open_disasm_window in module ida_kernwin: + +open_disasm_window(*args) -> 'TWidget *' + open_disasm_window(window_title, ranges=None) -> TWidget * + + + Open a disassembly view ( 'ui_open_builtin' ). + + @param window_title: title of view to open (C++: const char *) + @param ranges: if != NULL, then display a flow chart with the + specified ranges (C++: const rangevec_t *) + @return: pointer to resulting window + +Help on function open_enums_window in module ida_kernwin: + +open_enums_window(*args) -> 'TWidget *' + open_enums_window(const_id=BADADDR) -> TWidget * + + + Open the enums window ( 'ui_open_builtin' ). + + @param const_id: index of entry to select by default (C++: tid_t) + @return: pointer to resulting window + +Help on function open_exports_window in module ida_kernwin: + +open_exports_window(*args) -> 'TWidget *' + open_exports_window(ea) -> TWidget * + + + Open the exports window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_frame_window in module ida_kernwin: + +open_frame_window(*args) -> 'TWidget *' + open_frame_window(pfn, offset) -> TWidget * + + + Open the frame window for the given function ( 'ui_open_builtin' ). + + @param pfn: function to analyze (C++: func_t *) + @param offset: offset where the cursor is placed (C++: uval_t) + @return: pointer to resulting window if 'pfn' is a valid function and + the window was displayed, NULL otherwise + +Help on function open_funcs_window in module ida_kernwin: + +open_funcs_window(*args) -> 'TWidget *' + open_funcs_window(ea) -> TWidget * + + + Open the functions window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_hexdump_window in module ida_kernwin: + +open_hexdump_window(*args) -> 'TWidget *' + open_hexdump_window(window_title) -> TWidget * + + + Open a hexdump view ( 'ui_open_builtin' ). + + @param window_title: title of view to open (C++: const char *) + @return: pointer to resulting window + +Help on function open_imports_window in module ida_kernwin: + +open_imports_window(*args) -> 'TWidget *' + open_imports_window(ea) -> TWidget * + + + Open the exports window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_loctypes_window in module ida_kernwin: + +open_loctypes_window(*args) -> 'TWidget *' + open_loctypes_window(ordinal) -> TWidget * + + + Open the local types window ( 'ui_open_builtin' ). + + @param ordinal: ordinal of type to select by default (C++: int) + @return: pointer to resulting window + +Help on function open_modules_window in module ida_kernwin: + +open_modules_window(*args) -> 'TWidget *' + open_modules_window() -> TWidget * + + + Open the modules window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_names_window in module ida_kernwin: + +open_names_window(*args) -> 'TWidget *' + open_names_window(ea) -> TWidget * + + + Open the names window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_navband_window in module ida_kernwin: + +open_navband_window(*args) -> 'TWidget *' + open_navband_window(ea, zoom) -> TWidget * + + + Open the navigation band window ( 'ui_open_builtin' ). + + @param ea: sets the address of the navband arrow (C++: ea_t) + @param zoom: sets the navband zoom level (C++: int) + @return: pointer to resulting window + +Help on function open_notepad_window in module ida_kernwin: + +open_notepad_window(*args) -> 'TWidget *' + open_notepad_window() -> TWidget * + + + Open the notepad window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_problems_window in module ida_kernwin: + +open_problems_window(*args) -> 'TWidget *' + open_problems_window(ea) -> TWidget * + + + Open the problems window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_segments_window in module ida_kernwin: + +open_segments_window(*args) -> 'TWidget *' + open_segments_window(ea) -> TWidget * + + + Open the segments window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_segregs_window in module ida_kernwin: + +open_segregs_window(*args) -> 'TWidget *' + open_segregs_window(ea) -> TWidget * + + + Open the segment registers window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_selectors_window in module ida_kernwin: + +open_selectors_window(*args) -> 'TWidget *' + open_selectors_window() -> TWidget * + + + Open the selectors window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_signatures_window in module ida_kernwin: + +open_signatures_window(*args) -> 'TWidget *' + open_signatures_window() -> TWidget * + + + Open the signatures window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_stack_window in module ida_kernwin: + +open_stack_window(*args) -> 'TWidget *' + open_stack_window() -> TWidget * + + + Open the call stack window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_strings_window in module ida_kernwin: + +open_strings_window(*args) -> 'TWidget *' + open_strings_window(ea, selstart=BADADDR, selend=BADADDR) -> TWidget * + + + Open the strings window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @param selstart: only display strings that occur within this range + (C++: ea_t) + @param selend: only display strings that occur within this range (C++: + ea_t) + @return: pointer to resulting window + +Help on function open_structs_window in module ida_kernwin: + +open_structs_window(*args) -> 'TWidget *' + open_structs_window(id=BADADDR, offset=0) -> TWidget * + + + Open the structs window ( 'ui_open_builtin' ). + + @param id: index of entry to select by default (C++: tid_t) + @param offset: offset where the cursor is placed (C++: uval_t) + @return: pointer to resulting window + +Help on function open_threads_window in module ida_kernwin: + +open_threads_window(*args) -> 'TWidget *' + open_threads_window() -> TWidget * + + + Open the threads window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_tils_window in module ida_kernwin: + +open_tils_window(*args) -> 'TWidget *' + open_tils_window() -> TWidget * + + + Open the type libraries window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_trace_window in module ida_kernwin: + +open_trace_window(*args) -> 'TWidget *' + open_trace_window() -> TWidget * + + + Open the trace window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_url in module ida_kernwin: + +open_url(*args) -> 'void' + open_url(url) + + + Open the given url ( 'ui_open_url' ) + + + @param url (C++: const char *) + +Help on function open_xrefs_window in module ida_kernwin: + +open_xrefs_window(*args) -> 'TWidget *' + open_xrefs_window(ea) -> TWidget * + + + Open the cross references window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on class place_t in module ida_kernwin: + +class place_t(builtins.object) + | Proxy of C++ place_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_place_t(...) + | delete_place_t(self) + | + | _print(self, *args) -> 'void' + | _print(self, out_buf, ud) + | + | adjust(self, *args) -> 'void' + | adjust(self, ud) + | + | beginning(self, *args) -> 'bool' + | beginning(self, ud) -> bool + | + | clone(self, *args) -> 'place_t *' + | clone(self) -> place_t + | + | compare(self, *args) -> 'int' + | compare(self, t2) -> int + | + | copyfrom(self, *args) -> 'void' + | copyfrom(self, _from) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, _in) -> bool + | + | ending(self, *args) -> 'bool' + | ending(self, ud) -> bool + | + | enter(self, *args) -> 'place_t *' + | enter(self, arg2) -> place_t + | + | generate(self, *args) -> 'PyObject *' + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) -> 'int' + | id(self) -> int + | + | leave(self, *args) -> 'void' + | leave(self, arg2) + | + | makeplace(self, *args) -> 'place_t *' + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) -> 'char const *' + | name(self) -> char const * + | + | next(self, *args) -> 'bool' + | next(self, ud) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, ud) -> bool + | + | rebase(self, *args) -> 'bool' + | rebase(self, arg2) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | toea(self, *args) -> 'ea_t' + | toea(self) -> ea_t + | + | touval(self, *args) -> 'uval_t' + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | as_enumplace_t(*args) -> 'enumplace_t *' + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) -> 'idaplace_t *' + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) -> 'simpleline_place_t *' + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) -> 'structplace_t *' + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + | + | thisown + | The membership flag + +Help on function place_t_as_enumplace_t in module ida_kernwin: + +place_t_as_enumplace_t(*args) -> 'enumplace_t *' + place_t_as_enumplace_t(p) -> enumplace_t + +Help on function place_t_as_idaplace_t in module ida_kernwin: + +place_t_as_idaplace_t(*args) -> 'idaplace_t *' + place_t_as_idaplace_t(p) -> idaplace_t + +Help on function place_t_as_simpleline_place_t in module ida_kernwin: + +place_t_as_simpleline_place_t(*args) -> 'simpleline_place_t *' + place_t_as_simpleline_place_t(p) -> simpleline_place_t + +Help on function place_t_as_structplace_t in module ida_kernwin: + +place_t_as_structplace_t(*args) -> 'structplace_t *' + place_t_as_structplace_t(p) -> structplace_t + +Help on function plgform_close in module ida_kernwin: + +plgform_close(*args) -> 'void' + plgform_close(py_link, options) + +Help on function plgform_get_widget in module ida_kernwin: + +plgform_get_widget(*args) -> 'TWidget *' + plgform_get_widget(py_link) -> TWidget * + +Help on function plgform_new in module ida_kernwin: + +plgform_new(*args) -> 'PyObject *' + plgform_new() -> PyObject * + +Help on function plgform_show in module ida_kernwin: + +plgform_show(*args) -> 'bool' + plgform_show(py_link, py_obj, caption, options=WOPN_DP_TAB|WOPN_RESTORE) -> bool + +Help on function process_ui_action in module ida_kernwin: + +process_ui_action(*args) -> 'bool' + process_ui_action(name, flags=0) -> bool + + + Invokes an IDA UI action by name + + @param name: action name + @return: Boolean + +Help on function py_get_ask_form in module ida_kernwin: + +py_get_ask_form(*args) -> 'size_t' + py_get_ask_form() -> size_t + +Help on function py_get_open_form in module ida_kernwin: + +py_get_open_form(*args) -> 'size_t' + py_get_open_form() -> size_t + +Help on function py_load_custom_icon_data in module ida_kernwin: + +py_load_custom_icon_data(*args) -> 'int' + py_load_custom_icon_data(data, format) -> int + +Help on function py_load_custom_icon_fn in module ida_kernwin: + +py_load_custom_icon_fn(*args) -> 'int' + py_load_custom_icon_fn(filename) -> int + +Help on function py_register_compiled_form in module ida_kernwin: + +py_register_compiled_form(*args) -> 'void' + py_register_compiled_form(py_form) + +Help on function py_ss_restore_callback in module ida_kernwin: + +py_ss_restore_callback(*args) -> 'void' + py_ss_restore_callback(err_msg, userdata) + +Help on function py_unregister_compiled_form in module ida_kernwin: + +py_unregister_compiled_form(*args) -> 'void' + py_unregister_compiled_form(py_form) + +Help on function pyidag_bind in module ida_kernwin: + +pyidag_bind(*args) -> 'bool' + pyidag_bind(_self) -> bool + +Help on function pyidag_unbind in module ida_kernwin: + +pyidag_unbind(*args) -> 'bool' + pyidag_unbind(_self) -> bool + +Help on function pyscv_add_line in module ida_kernwin: + +pyscv_add_line(*args) -> 'bool' + pyscv_add_line(py_this, py_sl) -> bool + +Help on function pyscv_clear_lines in module ida_kernwin: + +pyscv_clear_lines(*args) -> 'PyObject *' + pyscv_clear_lines(py_this) -> PyObject * + +Help on function pyscv_close in module ida_kernwin: + +pyscv_close(*args) -> 'void' + pyscv_close(py_this) + +Help on function pyscv_count in module ida_kernwin: + +pyscv_count(*args) -> 'size_t' + pyscv_count(py_this) -> size_t + +Help on function pyscv_del_line in module ida_kernwin: + +pyscv_del_line(*args) -> 'bool' + pyscv_del_line(py_this, nline) -> bool + +Help on function pyscv_edit_line in module ida_kernwin: + +pyscv_edit_line(*args) -> 'bool' + pyscv_edit_line(py_this, nline, py_sl) -> bool + +Help on function pyscv_get_current_line in module ida_kernwin: + +pyscv_get_current_line(*args) -> 'PyObject *' + pyscv_get_current_line(py_this, mouse, notags) -> PyObject * + +Help on function pyscv_get_current_word in module ida_kernwin: + +pyscv_get_current_word(*args) -> 'PyObject *' + pyscv_get_current_word(py_this, mouse) -> PyObject * + +Help on function pyscv_get_line in module ida_kernwin: + +pyscv_get_line(*args) -> 'PyObject *' + pyscv_get_line(py_this, nline) -> PyObject * + +Help on function pyscv_get_pos in module ida_kernwin: + +pyscv_get_pos(*args) -> 'PyObject *' + pyscv_get_pos(py_this, mouse) -> PyObject * + +Help on function pyscv_get_selection in module ida_kernwin: + +pyscv_get_selection(*args) -> 'PyObject *' + pyscv_get_selection(py_this) -> PyObject * + +Help on function pyscv_get_widget in module ida_kernwin: + +pyscv_get_widget(*args) -> 'TWidget *' + pyscv_get_widget(py_this) -> TWidget * + +Help on function pyscv_init in module ida_kernwin: + +pyscv_init(*args) -> 'PyObject *' + pyscv_init(py_link, title) -> PyObject * + +Help on function pyscv_insert_line in module ida_kernwin: + +pyscv_insert_line(*args) -> 'bool' + pyscv_insert_line(py_this, nline, py_sl) -> bool + +Help on function pyscv_is_focused in module ida_kernwin: + +pyscv_is_focused(*args) -> 'bool' + pyscv_is_focused(py_this) -> bool + +Help on function pyscv_jumpto in module ida_kernwin: + +pyscv_jumpto(*args) -> 'bool' + pyscv_jumpto(py_this, ln, x, y) -> bool + +Help on function pyscv_patch_line in module ida_kernwin: + +pyscv_patch_line(*args) -> 'bool' + pyscv_patch_line(py_this, nline, offs, value) -> bool + +Help on function pyscv_refresh in module ida_kernwin: + +pyscv_refresh(*args) -> 'bool' + pyscv_refresh(py_this) -> bool + +Help on function pyscv_show in module ida_kernwin: + +pyscv_show(*args) -> 'bool' + pyscv_show(py_this) -> bool + +Help on function qcleanline in module ida_kernwin: + +qcleanline(*args) -> 'qstring *' + qcleanline(cmt_char='\0', flags=((1 << 0)|(1 << 1))|(1 << 2)) -> str + + + Performs some cleanup operations to a line. + + @param cmt_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 (C++: char) + @param flags: a combination of line cleanup flags . defaults to + CLNL_TRIM (C++: uint32) + @return: length of line + +Help on class quick_widget_commands_t in module ida_kernwin: + +class quick_widget_commands_t(builtins.object) + | # ---------------------------------------------------------------------- + | # This provides an alternative to register_action()+attach_action_to_popup_menu() + | + | Methods defined here: + | + | __init__(self, callback) + | Initialize self. See help(type(self)) for accurate signature. + | + | add(self, caption, flags, menu_index, icon, emb, shortcut) + | + | populate_popup(self, widget, popup) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _ah_t = + | + | + | _cmd_t = + +Help on function read_range_selection in module ida_kernwin: + +read_range_selection(*args) -> 'ea_t *, ea_t *' + read_range_selection(v) -> bool + + + Get the address range for the selected range boundaries, this is the + convenient function for 'read_selection()' + + @param v: view, NULL means the last active window containing addresses + (C++: TWidget *) + +Help on function read_selection in module ida_kernwin: + +read_selection(*args) -> 'bool' + 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 p0: Storage for the "from" part of the selection. + @param p1: Storage for the "to" part of the selection. + @return: a bool value indicating success. + +Help on function refresh_chooser in module ida_kernwin: + +refresh_chooser(*args) -> 'bool' + refresh_chooser(title) -> bool + + + Mark a non-modal custom chooser for a refresh ( 'ui_refresh_chooser' + ). + + @param title: title of chooser (C++: const char *) + @return: success + +Help on function refresh_choosers in module ida_kernwin: + +refresh_choosers(*args) -> 'void' + refresh_choosers() + +Help on function refresh_idaview in module ida_kernwin: + +refresh_idaview(*args) -> 'void' + refresh_idaview() + + + Refresh marked windows ( 'ui_refreshmarked' ) + +Help on function refresh_idaview_anyway in module ida_kernwin: + +refresh_idaview_anyway(*args) -> 'void' + refresh_idaview_anyway() + + + Refresh all disassembly views ( 'ui_refresh' ), forces an immediate + refresh. Please consider 'request_refresh()' instead + +Help on function refresh_navband in module ida_kernwin: + +refresh_navband(*args) -> 'void' + refresh_navband(force) + + + Refresh navigation band if changed ( 'ui_refresh_navband' ). + + @param force: refresh regardless (C++: bool) + +Help on function register_action in module ida_kernwin: + +register_action(*args) -> 'bool' + 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: action to register (C++: const action_desc_t &) + @return: success + +Help on function register_addon in module ida_kernwin: + +register_addon(*args) -> 'int' + 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 *) + +Help on function register_and_attach_to_menu in module ida_kernwin: + +register_and_attach_to_menu(*args) -> 'bool' + register_and_attach_to_menu(menupath, name, label, shortcut, flags, handler, owner) -> 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 *) + @param name (C++: const char *) + @param label (C++: const char *) + @param shortcut (C++: const char *) + @param flags (C++: int) + @param handler (C++: action_handler_t *) + @param owner (C++: const plugin_t *) + +Help on function register_timer in module ida_kernwin: + +register_timer(*args) -> 'PyObject *' + register_timer(interval, py_callback) -> PyObject * + + + Register a timer + + @param interval: Interval in milliseconds + @param 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 + +Help on function remove_command_interpreter in module ida_kernwin: + +remove_command_interpreter(*args) -> 'void' + remove_command_interpreter(cli_idx) + + + Remove command line interpreter ( 'ui_install_cli' ) + +Help on class renderer_pos_info_t in module ida_kernwin: + +class renderer_pos_info_t(builtins.object) + | Proxy of C++ renderer_pos_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_pos_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_renderer_pos_info_t(...) + | delete_renderer_pos_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cx + | renderer_pos_info_t_cx_get(self) -> short + | + | cy + | renderer_pos_info_t_cy_get(self) -> short + | + | node + | renderer_pos_info_t_node_get(self) -> int + | + | sx + | renderer_pos_info_t_sx_get(self) -> short + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function repaint_custom_viewer in module ida_kernwin: + +repaint_custom_viewer(*args) -> 'void' + repaint_custom_viewer(custom_viewer) + + + Repaint the given widget immediately ( 'ui_repaint_qwidget' ) + + + @param custom_viewer (C++: TWidget *) + +Help on function replace_wait_box in module ida_kernwin: + +replace_wait_box(*args) -> 'void' + replace_wait_box(format) + + + Replace the label of "Please wait dialog box". + + + @param format (C++: const char *) + +Help on function request_refresh in module ida_kernwin: + +request_refresh(*args) -> 'void' + request_refresh(mask, cnd=True) + + + Request a refresh of a builtin window. + + @param mask: Window refresh flags (C++: uint64) + @param cnd: set if true or clear flag otherwise (C++: bool) + +Help on function restore_database_snapshot in module ida_kernwin: + +restore_database_snapshot(*args) -> 'PyObject *' + restore_database_snapshot(ss, pyfunc_or_none, pytuple_or_none) -> PyObject * + + + Restore a database snapshot. Note: This call is asynchronous. When it + is completed, the callback will be triggered. + + @param ss: snapshot instance (see build_snapshot_tree() ) (C++: const + snapshot_t *) + @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. + +Help on function set_cancelled in module ida_kernwin: + +set_cancelled(*args) -> 'void' + set_cancelled() + + + Set "Cancelled" flag ( 'ui_set_cancelled' ) + +Help on function set_code_viewer_handler in module ida_kernwin: + +set_code_viewer_handler(*args) -> 'void *' + 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: the code viewer (C++: TWidget *) + @param handler_id: one of CDVH_ in custom_viewer_handler_id_t (C++: + custom_viewer_handler_id_t) + @param handler_or_data: can be a handler or data. see examples in + Functions: custom viewer handlers (C++: void + *) + @return: old value of the handler or data + +Help on function set_code_viewer_is_source in module ida_kernwin: + +set_code_viewer_is_source(*args) -> 'bool' + 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 *) + +Help on function set_code_viewer_line_handlers in module ida_kernwin: + +set_code_viewer_line_handlers(*args) -> 'void' + 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 + NULL + + @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 *) + +Help on function set_code_viewer_lines_alignment in module ida_kernwin: + +set_code_viewer_lines_alignment(*args) -> 'bool' + 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) + +Help on function set_code_viewer_lines_icon_margin in module ida_kernwin: + +set_code_viewer_lines_icon_margin(*args) -> 'bool' + 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) + +Help on function set_code_viewer_lines_radix in module ida_kernwin: + +set_code_viewer_lines_radix(*args) -> 'bool' + 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) + +Help on function set_code_viewer_user_data in module ida_kernwin: + +set_code_viewer_user_data(*args) -> 'bool' + 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 *) + +Help on function set_custom_viewer_qt_aware in module ida_kernwin: + +set_custom_viewer_qt_aware(*args) -> 'bool' + 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 *) + +Help on function set_dock_pos in module ida_kernwin: + +set_dock_pos(*args) -> 'bool' + 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. + + @param src: Source docking control + @param dest: Destination docking control + @param orient: One of DOR_XXXX constants + @param left, top, right, bottom: These parameter if DOR_FLOATING is used, or if you want to specify the width of docked windows + @return: Boolean + + Example: + set_dock_pos('Structures', 'Enums', DOR_RIGHT) <- docks the Structures window to the right of Enums window + +Help on function set_highlight in module ida_kernwin: + +set_highlight(*args) -> 'bool' + set_highlight(viewer, str, flags) -> bool + + + Set the highlighted identifier in the viewer ( 'ui_set_highlight' ). + + @param viewer: the viewer (C++: TWidget *) + @param str: the text to match, or NULL to remove current (C++: const + char *) + @param flags: combination of HIF_... bits (see set_highlightr flags ) + (C++: int) + @return: false if an error occurred + +Help on function set_nav_colorizer in module ida_kernwin: + +set_nav_colorizer(*args) -> 'PyObject *' + set_nav_colorizer(new_py_colorizer) -> PyObject * + + + 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) + +Help on function set_view_renderer_type in module ida_kernwin: + +set_view_renderer_type(*args) -> 'void' + 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) + +Help on function show_wait_box in module ida_kernwin: + +show_wait_box(*args) -> 'void' + show_wait_box(message) + + + Display a dialog box with "Please wait...". If the text message starts + with "HIDECANCEL\n", the cancel buttonwon't be displayed in the dialog + box and you don't need to checkfor cancellations with + 'user_cancelled()' . Plugins must call 'hide_wait_box()' to close the + dialog box, otherwise the user interface will be disabled.Note that, + if the wait dialog is already visible, 'show_wait_box()' will1) push + the currently-displayed text on a stack2) display the new textThen, + when 'hide_wait_box()' is called, if that stack isn't empty its + toplabel will be popped and restored in the wait dialog.This implies + that a plugin should call 'hide_wait_box()' exactly as manytimes as it + called 'show_wait_box()' , or the wait dialog might remainvisible 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 thedialog without pushing the currently- + displayed text on the stack. + +Help on class simplecustviewer_t in module ida_kernwin: + +class simplecustviewer_t(builtins.object) + | The base class for implementing simple custom viewers + | + | Methods defined here: + | + | AddLine(self, line, fgcolor=None, bgcolor=None) + | Adds a colored line to the view + | @return: Boolean + | + | ClearLines(self) + | Clears all the lines + | + | Close(self) + | Destroys the view. + | One has to call Create() afterwards. + | Show() can be called and it will call Create() internally. + | @return: Boolean + | + | Count(self) + | Returns the number of lines in the view + | + | Create(self, title) + | 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 + | + | DelLine(self, lineno) + | Deletes an existing line + | @return: Boolean + | + | EditLine(self, lineno, line, fgcolor=None, bgcolor=None) + | Edits an existing line. + | @return: Boolean + | + | GetCurrentLine(self, mouse=0, notags=0) + | 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 + | + | GetCurrentWord(self, mouse=0) + | 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 + | + | GetLine(self, lineno) + | Returns a line + | @param lineno: The line number + | @return: + | Returns a tuple (colored_line, fgcolor, bgcolor) or None + | + | GetLineNo(self, mouse=0) + | Calls GetPos() and returns the current line number or -1 on failure + | + | GetPos(self, mouse=0) + | Returns the current cursor or mouse position. + | @param mouse: return mouse position + | @return: Returns a tuple (lineno, x, y) + | + | GetSelection(self) + | Returns the selected range or None + | @return: + | - tuple(x1, y1, x2, y2) + | - None if no selection + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | InsertLine(self, lineno, line, fgcolor=None, bgcolor=None) + | Inserts a line in the given position + | @return: Boolean + | + | IsFocused(self) + | Returns True if the current view is the focused view + | + | Jump(self, lineno, x=0, y=0) + | + | OnPopup(self, form, popup_handle) + | Context menu popup is about to be shown. Create items dynamically if you wish + | @return: Boolean. True if you handled the event + | + | PatchLine(self, lineno, offs, value) + | Patches an existing line character at the given offset. This is a low level function. You must know what you're doing + | + | Refresh(self) + | + | RefreshCurrent(self) + | Refreshes the current line only + | + | Show(self) + | Shows an already created view. It the view was close, then it will call Create() for you + | @return: Boolean + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _simplecustviewer_t__make_sl_arg = __make_sl_arg(line, fgcolor=None, bgcolor=None) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | UI_Hooks_Trampoline = uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) -> 'void' + | _print(self, out_buf, ud) + | + | adjust(self, *args) -> 'void' + | adjust(self, ud) + | + | beginning(self, *args) -> 'bool' + | beginning(self, ud) -> bool + | + | clone(self, *args) -> 'place_t *' + | clone(self) -> place_t + | + | compare(self, *args) -> 'int' + | compare(self, t2) -> int + | + | copyfrom(self, *args) -> 'void' + | copyfrom(self, _from) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, _in) -> bool + | + | ending(self, *args) -> 'bool' + | ending(self, ud) -> bool + | + | enter(self, *args) -> 'place_t *' + | enter(self, arg2) -> place_t + | + | generate(self, *args) -> 'PyObject *' + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) -> 'int' + | id(self) -> int + | + | leave(self, *args) -> 'void' + | leave(self, arg2) + | + | makeplace(self, *args) -> 'place_t *' + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) -> 'char const *' + | name(self) -> char const * + | + | next(self, *args) -> 'bool' + | next(self, ud) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, ud) -> bool + | + | rebase(self, *args) -> 'bool' + | rebase(self, arg2) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | toea(self, *args) -> 'ea_t' + | toea(self) -> ea_t + | + | touval(self, *args) -> 'uval_t' + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) -> 'enumplace_t *' + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) -> 'idaplace_t *' + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) -> 'simpleline_place_t *' + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) -> 'structplace_t *' + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on class simpleline_t in module ida_kernwin: + +class simpleline_t(builtins.object) + | Proxy of C++ simpleline_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> simpleline_t + | __init__(self, c, str) -> simpleline_t + | __init__(self, str) -> simpleline_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_simpleline_t(...) + | delete_simpleline_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bgcolor + | simpleline_t_bgcolor_get(self) -> bgcolor_t + | + | color + | simpleline_t_color_get(self) -> color_t + | + | line + | simpleline_t_line_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on function str2ea in module ida_kernwin: + +str2ea(*args) -> 'ea_t' + str2ea(str, screenEA=BADADDR) -> ea_t + + + Converts a string express to EA. The expression evaluator may be called as well. + + @return: BADADDR or address value + +Help on function str2user in module ida_pro: + +str2user(*args) -> 'PyObject *' + str2user(str) -> PyObject * + + + Insert C-style escape characters to string + + @return: new string with escape characters inserted + +Help on function strarray in module ida_kernwin: + +strarray(*args) -> 'char const *' + 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 *) + @param array_size (C++: size_t) + @param code (C++: int) + +Help on class strarray_t in module ida_kernwin: + +class strarray_t(builtins.object) + | Proxy of C++ strarray_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strarray_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_strarray_t(...) + | delete_strarray_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | strarray_t_code_get(self) -> int + | + | text + | strarray_t_text_get(self) -> char const * + | + | thisown + | The membership flag + +Help on class structplace_t in module ida_kernwin: + +class structplace_t(place_t) + | Proxy of C++ structplace_t class. + | + | Method resolution order: + | structplace_t + | place_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_structplace_t(...) + | delete_structplace_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | idx + | structplace_t_idx_get(self) -> uval_t + | + | offset + | structplace_t_offset_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) -> 'void' + | _print(self, out_buf, ud) + | + | adjust(self, *args) -> 'void' + | adjust(self, ud) + | + | beginning(self, *args) -> 'bool' + | beginning(self, ud) -> bool + | + | clone(self, *args) -> 'place_t *' + | clone(self) -> place_t + | + | compare(self, *args) -> 'int' + | compare(self, t2) -> int + | + | copyfrom(self, *args) -> 'void' + | copyfrom(self, _from) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, _in) -> bool + | + | ending(self, *args) -> 'bool' + | ending(self, ud) -> bool + | + | enter(self, *args) -> 'place_t *' + | enter(self, arg2) -> place_t + | + | generate(self, *args) -> 'PyObject *' + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) -> 'int' + | id(self) -> int + | + | leave(self, *args) -> 'void' + | leave(self, arg2) + | + | makeplace(self, *args) -> 'place_t *' + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) -> 'char const *' + | name(self) -> char const * + | + | next(self, *args) -> 'bool' + | next(self, ud) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, ud) -> bool + | + | rebase(self, *args) -> 'bool' + | rebase(self, arg2) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | toea(self, *args) -> 'ea_t' + | toea(self) -> ea_t + | + | touval(self, *args) -> 'uval_t' + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) -> 'enumplace_t *' + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) -> 'idaplace_t *' + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) -> 'simpleline_place_t *' + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) -> 'structplace_t *' + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on class sync_source_t in module ida_kernwin: + +class sync_source_t(builtins.object) + | Proxy of C++ sync_source_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, _o) -> bool + | + | __init__(self, *args) + | __init__(self, _view) -> sync_source_t + | __init__(self, _regname) -> sync_source_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, _o) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_sync_source_t(...) + | delete_sync_source_t(self) + | + | get_register(self, *args) -> 'char const *' + | get_register(self) -> char const * + | + | get_widget(self, *args) -> 'TWidget const *' + | get_widget(self) -> TWidget const * + | + | is_register(self, *args) -> 'bool' + | is_register(self) -> bool + | + | is_widget(self, *args) -> 'bool' + | is_widget(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function sync_sources in module ida_kernwin: + +sync_sources(*args) -> 'bool' + 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 + +Help on function take_database_snapshot in module ida_kernwin: + +take_database_snapshot(*args) -> 'PyObject *' + take_database_snapshot(ss) -> PyObject * + + + Take a database snapshot ( 'ui_take_database_snapshot' ). + + @param ss: in/out parameter. in: description, flags out: filename, + id (C++: snapshot_t *) + @return: success + +Help on class textctrl_info_t in module ida_kernwin: + +class textctrl_info_t(ida_idaapi.py_clinked_object_t) + | Class representing textctrl_info_t + | + | Method resolution order: + | textctrl_info_t + | ida_idaapi.py_clinked_object_t + | ida_idaapi.pyidc_opaque_object_t + | builtins.object + | + | Methods defined here: + | + | __get_flags__(self) + | Returns the flags value + | + | __get_tabsize__(self) + | Returns the tabsize value + | + | __init__(self, text='', flags=0, tabsize=0) + | Initialize self. See help(type(self)) for accurate signature. + | + | __set_flags__(self, flags) + | Sets the flags value + | + | __set_tabsize__(self, tabsize) + | Sets the tabsize value + | + | _create_clink(self) + | Overwrite me. + | Creates a new clink + | @return: PyCapsule representing the C link + | + | _del_clink(self, lnk) + | Overwrite me. + | This method deletes the link + | + | _get_clink_ptr(self) + | Overwrite me. + | Returns the C link pointer as a 64bit number + | + | _textctrl_info_t__get_text = __get_text(self) + | Sets the text value + | + | _textctrl_info_t__set_text = __set_text(self, s) + | Sets the text value + | + | assign(self, other) + | Copies the contents of 'other' to 'self' + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | Returns the flags value + | + | tabsize + | Returns the tabsize value + | + | text + | Sets the text value + | + | value + | Sets the text value + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | TXTF_ACCEPTTABS = 2 + | + | TXTF_AUTOINDENT = 1 + | + | TXTF_FIXEDFONT = 32 + | + | TXTF_MODIFIED = 16 + | + | TXTF_READONLY = 4 + | + | TXTF_SELECTED = 8 + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_idaapi.py_clinked_object_t: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.py_clinked_object_t: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function textctrl_info_t_assign in module ida_kernwin: + +textctrl_info_t_assign(*args) -> 'bool' + textctrl_info_t_assign(_self, other) -> bool + +Help on function textctrl_info_t_create in module ida_kernwin: + +textctrl_info_t_create(*args) -> 'PyObject *' + textctrl_info_t_create() -> PyObject * + +Help on function textctrl_info_t_destroy in module ida_kernwin: + +textctrl_info_t_destroy(*args) -> 'bool' + textctrl_info_t_destroy(py_obj) -> bool + +Help on function textctrl_info_t_get_clink in module ida_kernwin: + +textctrl_info_t_get_clink(*args) -> 'textctrl_info_t *' + textctrl_info_t_get_clink(_self) -> textctrl_info_t * + +Help on function textctrl_info_t_get_clink_ptr in module ida_kernwin: + +textctrl_info_t_get_clink_ptr(*args) -> 'PyObject *' + textctrl_info_t_get_clink_ptr(_self) -> PyObject * + +Help on function textctrl_info_t_get_flags in module ida_kernwin: + +textctrl_info_t_get_flags(*args) -> 'unsigned int' + textctrl_info_t_get_flags(_self) -> unsigned int + +Help on function textctrl_info_t_get_tabsize in module ida_kernwin: + +textctrl_info_t_get_tabsize(*args) -> 'unsigned int' + textctrl_info_t_get_tabsize(_self) -> unsigned int + +Help on function textctrl_info_t_get_text in module ida_kernwin: + +textctrl_info_t_get_text(*args) -> 'char const *' + textctrl_info_t_get_text(_self) -> char const * + +Help on function textctrl_info_t_set_flags in module ida_kernwin: + +textctrl_info_t_set_flags(*args) -> 'bool' + textctrl_info_t_set_flags(_self, flags) -> bool + +Help on function textctrl_info_t_set_tabsize in module ida_kernwin: + +textctrl_info_t_set_tabsize(*args) -> 'bool' + textctrl_info_t_set_tabsize(_self, tabsize) -> bool + +Help on function textctrl_info_t_set_text in module ida_kernwin: + +textctrl_info_t_set_text(*args) -> 'bool' + textctrl_info_t_set_text(_self, s) -> bool + +Help on class twinpos_t in module ida_kernwin: + +class twinpos_t(builtins.object) + | Proxy of C++ twinpos_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> twinpos_t + | __init__(self, t) -> twinpos_t + | __init__(self, t, x0) -> twinpos_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_twinpos_t(...) + | delete_twinpos_t(self) + | + | place(self, view) + | + | place_as_enumplace_t(self) + | + | place_as_idaplace_t(self) + | + | place_as_simpleline_place_t(self) + | + | place_as_structplace_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | at + | twinpos_t_at_get(self) -> place_t + | + | thisown + | The membership flag + | + | x + | twinpos_t_x_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function ui_load_new_file in module ida_kernwin: + +ui_load_new_file(*args) -> 'bool' + 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: name of the file with the extracted archive member. + (C++: qstring *) + @param filename: the name of input file as is, library or archive name + (C++: qstring *) + @param pli: loader input source, may be changed to point to temp_file + (C++: linput_t **) + @param neflags: combination of NEF_... bits (see Load file flags ) + (C++: ushort) + @param ploaders: list of loaders which accept file, may be changed for + loaders of temp_file (C++: load_info_t **) + +Help on class ui_requests_t in module ida_kernwin: + +class ui_requests_t(builtins.object) + | Proxy of C++ ui_requests_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ui_requests_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ui_requests_t(...) + | delete_ui_requests_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function ui_run_debugger in module ida_kernwin: + +ui_run_debugger(*args) -> 'bool' + ui_run_debugger(dbgopts, exename, argc, argv) -> bool + + + Load a debugger plugin and run the specified program ( 'ui_run_dbg' ). + + @param dbgopts: value of the -r command line switch (C++: const char + *) + @param exename: name of the file to run (C++: const char *) + @param argc: number of arguments for the executable (C++: int) + @param argv: argument vector (C++: const char *const *) + @return: success + +Help on function unmark_selection in module ida_kernwin: + +unmark_selection(*args) -> 'void' + unmark_selection() + + + Unmark selection ( 'ui_unmarksel' ) + +Help on function unregister_action in module ida_kernwin: + +unregister_action(*args) -> 'bool' + unregister_action(name) -> bool + + + Delete a previously-registered action ( 'ui_unregister_action' ). + + @param name: name of action (C++: const char *) + @return: success + +Help on function unregister_timer in module ida_kernwin: + +unregister_timer(*args) -> 'bool' + 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. + +Help on function update_action_checkable in module ida_kernwin: + +update_action_checkable(*args) -> 'bool' + update_action_checkable(name, checkable) -> bool + + + Update an action's checkability ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param checkable: new checkability (C++: bool) + @return: success + +Help on function update_action_checked in module ida_kernwin: + +update_action_checked(*args) -> 'bool' + update_action_checked(name, checked) -> bool + + + Update an action's checked state ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param checked: new checked state (C++: bool) + @return: success + +Help on function update_action_icon in module ida_kernwin: + +update_action_icon(*args) -> 'bool' + update_action_icon(name, icon) -> bool + + + Update an action's icon ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param icon: new icon id (C++: int) + @return: success + +Help on function update_action_label in module ida_kernwin: + +update_action_label(*args) -> 'bool' + update_action_label(name, label) -> bool + + + Update an action's label ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param label: new label (C++: const char *) + @return: success + +Help on function update_action_shortcut in module ida_kernwin: + +update_action_shortcut(*args) -> 'bool' + update_action_shortcut(name, shortcut) -> bool + + + Update an action's shortcut ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param shortcut: new shortcut (C++: const char *) + @return: success + +Help on function update_action_state in module ida_kernwin: + +update_action_state(*args) -> 'bool' + update_action_state(name, state) -> bool + + + Update an action's state ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param state: new state (C++: action_state_t) + @return: success + +Help on function update_action_tooltip in module ida_kernwin: + +update_action_tooltip(*args) -> 'bool' + update_action_tooltip(name, tooltip) -> bool + + + Update an action's tooltip ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param tooltip: new tooltip (C++: const char *) + @return: success + +Help on function update_action_visibility in module ida_kernwin: + +update_action_visibility(*args) -> 'bool' + update_action_visibility(name, visible) -> bool + + + Update an action's visibility ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param visible: new visibility (C++: bool) + @return: success + +Help on function user_cancelled in module ida_kernwin: + +user_cancelled(*args) -> 'bool' + user_cancelled() -> bool + + + Test the ctrl-break flag ( 'ui_test_cancelled' ). + +Help on class view_mouse_event_location_t in module ida_kernwin: + +class view_mouse_event_location_t(builtins.object) + | Proxy of C++ view_mouse_event_location_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> view_mouse_event_location_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_view_mouse_event_location_t(...) + | delete_view_mouse_event_location_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | view_mouse_event_location_t_ea_get(self) -> ea_t + | + | item + | view_mouse_event_location_t_item_get(self) -> selection_item_t const * + | + | thisown + | The membership flag + +Help on class view_mouse_event_t in module ida_kernwin: + +class view_mouse_event_t(builtins.object) + | Proxy of C++ view_mouse_event_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> view_mouse_event_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_view_mouse_event_t(...) + | delete_view_mouse_event_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | button + | view_mouse_event_t_button_get(self) -> vme_button_t + | + | location + | view_mouse_event_t_location_get(self) -> view_mouse_event_location_t + | + | renderer_pos + | view_mouse_event_t_renderer_pos_get(self) -> renderer_pos_info_t + | + | rtype + | view_mouse_event_t_rtype_get(self) -> tcc_renderer_type_t + | + | state + | view_mouse_event_t_state_get(self) -> view_event_state_t + | + | thisown + | The membership flag + | + | x + | view_mouse_event_t_x_get(self) -> uint32 + | + | y + | view_mouse_event_t_y_get(self) -> uint32 + +Help on function warning in module ida_kernwin: + +warning(*args) -> 'void' + warning(format) + + + Display a message in a message box + + @param message: 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 + +=== ida_kernwin EPYDOC INJECTIONS === +ida_kernwin.ACF_HAS_SELECTION +""" +there is currently a valid selection +""" + +ida_kernwin.ACF_XTRN_EA +""" +cur_ea is in 'externs' segment +""" + +ida_kernwin.ADF_NO_UNDO +""" +useful for actions that do not modify the database. + +the action does not create an undo point. +""" + +ida_kernwin.ADF_OWN_HANDLER +""" +handler is owned by the action; it'll be destroyed when the action is +unregistered. You shouldn't have to use this. +""" + +ida_kernwin.AHF_VERSION +""" +action handler version (used by 'action_handler_t::flags' ) +""" + +ida_kernwin.AHF_VERSION_MASK +""" +mask for 'action_handler_t::flags' +""" + +ida_kernwin.ASKBTN_BTN1 +""" +First (Yes) button. +""" + +ida_kernwin.ASKBTN_BTN2 +""" +Second (No) button. +""" + +ida_kernwin.ASKBTN_BTN3 +""" +Third (Cancel) button. +""" + +ida_kernwin.ASKBTN_CANCEL +""" +Cancel button. +""" + +ida_kernwin.ASKBTN_NO +""" +No button. +""" + +ida_kernwin.ASKBTN_YES +""" +Yes button. +""" + +ida_kernwin.BWN_ADDRWATCH +""" +the 'Watch List' window +""" + +ida_kernwin.BWN_BPTS +""" +breakpoints +""" + +ida_kernwin.BWN_CALLS +""" +function calls +""" + +ida_kernwin.BWN_CALLS_CALLEES +""" +function calls, callees +""" + +ida_kernwin.BWN_CALLS_CALLERS +""" +function calls, callers +""" + +ida_kernwin.BWN_CALL_STACK +""" +call stack +""" + +ida_kernwin.BWN_CHOOSER +""" +a non-builtin chooser +""" + +ida_kernwin.BWN_CLI +""" +the command-line, in the output window +""" + +ida_kernwin.BWN_CMDPALCSR +""" +the command palette chooser (Qt version only) +""" + +ida_kernwin.BWN_CMDPALWIN +""" +the command palette window (Qt version only) +""" + +ida_kernwin.BWN_CPUREGS +""" +one of the 'General registers', 'FPU register', ... debugger windows +""" + +ida_kernwin.BWN_CUSTVIEW +""" +custom viewers +""" + +ida_kernwin.BWN_CV_LINE_INFOS +""" +custom viewers' lineinfo widget +""" + +ida_kernwin.BWN_DISASM +""" +disassembly views +""" + +ida_kernwin.BWN_DISASMS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_DISASM_ARROWS +""" +disassembly arrows widget +""" + +ida_kernwin.BWN_DUMP +""" +hex dumps +""" + +ida_kernwin.BWN_DUMPS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_ENUMS +""" +enumerations +""" + +ida_kernwin.BWN_EXPORTS +""" +exports +""" + +ida_kernwin.BWN_FRAME +""" +function frame +""" + +ida_kernwin.BWN_FUNCS +""" +functions +""" + +ida_kernwin.BWN_IMPORTS +""" +imports +""" + +ida_kernwin.BWN_LOCALS +""" +the 'locals' debugger window +""" + +ida_kernwin.BWN_LOCTYPS +""" +local types +""" + +ida_kernwin.BWN_MDVIEWCSR +""" +lumina metadata view chooser +""" + +ida_kernwin.BWN_MODULES +""" +modules +""" + +ida_kernwin.BWN_NAMES +""" +names +""" + +ida_kernwin.BWN_NAVBAND +""" +navigation band +""" + +ida_kernwin.BWN_NOTEPAD +""" +notepad +""" + +ida_kernwin.BWN_OUTPUT +""" +the text area, in the output window +""" + +ida_kernwin.BWN_PROBS +""" +problems +""" + +ida_kernwin.BWN_PSEUDOCODE +""" +hexrays decompiler views +""" + +ida_kernwin.BWN_SCRIPTS_CSR +""" +the "Recent scripts" chooser +""" + +ida_kernwin.BWN_SEARCH +""" +search results +""" + +ida_kernwin.BWN_SEARCHS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_SEGREGS +""" +segment registers +""" + +ida_kernwin.BWN_SEGS +""" +segments +""" + +ida_kernwin.BWN_SELS +""" +selectors +""" + +ida_kernwin.BWN_SHORTCUTCSR +""" +the shortcuts chooser (Qt version only) +""" + +ida_kernwin.BWN_SHORTCUTWIN +""" +the shortcuts window (Qt version only) +""" + +ida_kernwin.BWN_SIGNS +""" +signatures +""" + +ida_kernwin.BWN_SNIPPETS +""" +the 'Execute script' window +""" + +ida_kernwin.BWN_SNIPPETS_CSR +""" +the list of snippets in the 'Execute script' window +""" + +ida_kernwin.BWN_SO_OFFSETS +""" +the 'Structure offsets' dialog's offset panel +""" + +ida_kernwin.BWN_SO_STRUCTS +""" +the 'Structure offsets' dialog's 'Structures and Unions' panel +""" + +ida_kernwin.BWN_SRCPTHMAP_CSR +""" +"Source paths..."'s path mappings chooser +""" + +ida_kernwin.BWN_SRCPTHUND_CSR +""" +"Source paths..."'s undesired paths chooser +""" + +ida_kernwin.BWN_STACK +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_STKVIEW +""" +the 'Stack view' debugger window +""" + +ida_kernwin.BWN_STRINGS +""" +strings +""" + +ida_kernwin.BWN_STRUCTS +""" +structures +""" + +ida_kernwin.BWN_THREADS +""" +threads +""" + +ida_kernwin.BWN_TILS +""" +type libraries +""" + +ida_kernwin.BWN_TRACE +""" +trace view +""" + +ida_kernwin.BWN_UNDOHIST +""" +Undo history. +""" + +ida_kernwin.BWN_UNKNOWN +""" +unknown window +""" + +ida_kernwin.BWN_WATCH +""" +the 'watches' debugger window +""" + +ida_kernwin.BWN_XREFS +""" +xrefs +""" + +ida_kernwin.CHCOL_DEC +""" +decimal number +""" + +ida_kernwin.CHCOL_DEFHIDDEN +""" +column should be hidden by default +""" + +ida_kernwin.CHCOL_EA +""" +address +""" + +ida_kernwin.CHCOL_FNAME +""" +function name +""" + +ida_kernwin.CHCOL_FORMAT +""" +column format mask +""" + +ida_kernwin.CHCOL_HEX +""" +hexadecimal number +""" + +ida_kernwin.CHCOL_PATH +""" +file path +""" + +ida_kernwin.CHCOL_PLAIN +""" +plain string +""" + +ida_kernwin.CHITEM_BOLD +""" +display the item in bold +""" + +ida_kernwin.CHITEM_GRAY +""" +gray out the item +""" + +ida_kernwin.CHITEM_ITALIC +""" +display the item in italic +""" + +ida_kernwin.CHITEM_STRIKE +""" +strikeout the item +""" + +ida_kernwin.CHITEM_UNDER +""" +underline the item +""" + +ida_kernwin.CHOOSER_MENU_EDIT +""" +Values of the 'menu_index' parameter. + +Obsolete. Please don't use +""" + +ida_kernwin.CHOOSER_MENU_JUMP +""" +Obsolete. Please don't use. +""" + +ida_kernwin.CHOOSER_MENU_SEARCH +""" +Obsolete. Please don't use. +""" + +ida_kernwin.CHOOSER_MULTI_SELECTION +""" +enable for multiple selections. A callback of type +'chooser_multi_cb_t' will be called for all selected items. +""" + +ida_kernwin.CHOOSER_NO_SELECTION +""" +Flags. + +enable even if there's no selected item. 'n' will be NO_SELECTION for +a callback. +""" + +ida_kernwin.CHOOSER_POPUP_MENU +""" +Add command to the popup menu. +""" + +ida_kernwin.CH_ATTRS +""" +generate ui_get_chooser_item_attrs (gui only) +""" + +ida_kernwin.CH_BUILTIN_MASK +""" +Mask for builtin chooser numbers. Plugins should not use them. +""" + +ida_kernwin.CH_CAN_DEL +""" +allow to delete existing item(s) +""" + +ida_kernwin.CH_CAN_EDIT +""" +allow to edit existing item(s) +""" + +ida_kernwin.CH_CAN_INS +""" +allow to insert new items +""" + +ida_kernwin.CH_CAN_REFRESH +""" +allow to refresh chooser +""" + +ida_kernwin.CH_FORCE_DEFAULT +""" +if a non-modal chooser was already open, change selection to the +default one +""" + +ida_kernwin.CH_KEEP +""" +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. +""" + +ida_kernwin.CH_MODAL +""" +Modal chooser. +""" + +ida_kernwin.CH_MULTI +""" +Obsolete. + +The chooser will allow multi-selection (only for GUI choosers). This +bit is set when using the 'chooser_multi_t' structure. +""" + +ida_kernwin.CH_NOBTNS +""" +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. +""" + +ida_kernwin.CH_NOIDB +""" +use the chooser before opening the database +""" + +ida_kernwin.CH_NO_STATUS_BAR +""" +don't show a status bar +""" + +ida_kernwin.CH_QFLT +""" +open with quick filter enabled and focused +""" + +ida_kernwin.CH_QFTYP_DEFAULT +""" +set quick filtering type to the possible existing default for this +chooser +""" + +ida_kernwin.CH_QFTYP_FUZZY +""" +fuzzy search quick filter type +""" + +ida_kernwin.CH_QFTYP_NORMAL +""" +normal (i.e., lexicographical) quick filter type +""" + +ida_kernwin.CH_QFTYP_REGEX +""" +regex quick filter type +""" + +ida_kernwin.CH_QFTYP_WHOLE_WORDS +""" +whole words quick filter type +""" + +ida_kernwin.CH_RESTORE +""" +restore floating position if present (equivalent of WOPN_RESTORE) (GUI +version only) +""" + +ida_kernwin.CLNL_FINDCMT +""" +Search for the comment symbol everywhere in the line, not only at the +beginning. +""" + +ida_kernwin.CLNL_LTRIM +""" +Remove leading space characters. +""" + +ida_kernwin.CLNL_RTRIM +""" +Remove trailing space characters. +""" + +ida_kernwin.CREATETB_ADV +""" +toolbar is for 'advanced mode' only +""" + +ida_kernwin.DP_BEFORE +""" +used with 'DP_INSIDE' . + +place src_form before dst_form in the tab bar instead of after +""" + +ida_kernwin.DP_BOTTOM +""" +Dock src_form below dest_form. +""" + +ida_kernwin.DP_FLOATING +""" +Make src_form floating. +""" + +ida_kernwin.DP_INSIDE +""" +Create a new tab bar with both src_form and dest_form. +""" + +ida_kernwin.DP_LEFT +""" +Dock src_form to the left of dest_form. +""" + +ida_kernwin.DP_RIGHT +""" +Dock src_form to the right of dest_form. +""" + +ida_kernwin.DP_TAB +""" +Place src_form into a tab next to dest_form, if dest_form is in a tab +bar (otherwise the same as 'DP_INSIDE' ) +""" + +ida_kernwin.DP_TOP +""" +Dock src_form above dest_form. +""" + +ida_kernwin.HIF_IDENTIFIER +""" +text is an identifier (i.e., when searching for the current highlight, +SEARCH_IDENT will be used) +""" + +ida_kernwin.HIF_LOCKED +""" +locked; clicking/moving the cursor around doesn't change the highlight +""" + +ida_kernwin.HIF_NOCASE +""" +case insensitive +""" + +ida_kernwin.HIF_REGISTER +""" +text represents a register (aliases/subregisters will be highlit as +well) +""" + +ida_kernwin.HIST_CMD +""" +commands +""" + +ida_kernwin.HIST_CMT +""" +comments +""" + +ida_kernwin.HIST_DIR +""" +directory names (text version only) +""" + +ida_kernwin.HIST_FILE +""" +file names +""" + +ida_kernwin.HIST_IDENT +""" +names +""" + +ida_kernwin.HIST_SEG +""" +segment names +""" + +ida_kernwin.HIST_SRCH +""" +search substrings +""" + +ida_kernwin.HIST_TYPE +""" +type declarations +""" + +ida_kernwin.IWID_ADDRWATCH +""" +address watches (47) +""" + +ida_kernwin.IWID_ALL +""" +mask +""" + +ida_kernwin.IWID_BPTS +""" +breakpoints (13) +""" + +ida_kernwin.IWID_CALLS +""" +function calls (11) +""" + +ida_kernwin.IWID_CALLS_CALLEES +""" +funcalls, callees (50) +""" + +ida_kernwin.IWID_CALLS_CALLERS +""" +funcalls, callers (49) +""" + +ida_kernwin.IWID_CALL_STACK +""" +call stack (17) +""" + +ida_kernwin.IWID_CHOOSER +""" +chooser (37) +""" + +ida_kernwin.IWID_CLI +""" +input line (33) +""" + +ida_kernwin.IWID_CMDPALCSR +""" +command palette (43) +""" + +ida_kernwin.IWID_CMDPALWIN +""" +command palette (44) +""" + +ida_kernwin.IWID_CPUREGS +""" +registers (40) +""" + +ida_kernwin.IWID_CUSTVIEW +""" +custom viewers (46) +""" + +ida_kernwin.IWID_CV_LINE_INFOS +""" +lineinfo widget (53) +""" + +ida_kernwin.IWID_DISASM +""" +disassembly views (29) +""" + +ida_kernwin.IWID_DISASM_ARROWS +""" +arrows widget (52) +""" + +ida_kernwin.IWID_DUMP +""" +hex dumps (30) +""" + +ida_kernwin.IWID_ENUMS +""" +enumerations (27) +""" + +ida_kernwin.IWID_EXPORTS +""" +exports (0) +""" + +ida_kernwin.IWID_FRAME +""" +function frame (25) +""" + +ida_kernwin.IWID_FUNCS +""" +functions (3) +""" + +ida_kernwin.IWID_IMPORTS +""" +imports (1) +""" + +ida_kernwin.IWID_LOCALS +""" +locals (35) +""" + +ida_kernwin.IWID_LOCTYPS +""" +local types (10) +""" + +ida_kernwin.IWID_MDVIEWCSR +""" +lumina md view (51) +""" + +ida_kernwin.IWID_MODULES +""" +modules (15) +""" + +ida_kernwin.IWID_NAMES +""" +names (2) +""" + +ida_kernwin.IWID_NAVBAND +""" +navigation band (26) +""" + +ida_kernwin.IWID_NOTEPAD +""" +notepad (31) +""" + +ida_kernwin.IWID_OUTPUT +""" +output (32) +""" + +ida_kernwin.IWID_PROBS +""" +problems (12) +""" + +ida_kernwin.IWID_PSEUDOCODE +""" +decompiler (48) +""" + +ida_kernwin.IWID_SCRIPTS_CSR +""" +recent scripts (58) +""" + +ida_kernwin.IWID_SEARCH +""" +search results (19) +""" + +ida_kernwin.IWID_SEGREGS +""" +segment registers (6) +""" + +ida_kernwin.IWID_SEGS +""" +segments (5) +""" + +ida_kernwin.IWID_SELS +""" +selectors (7) +""" + +ida_kernwin.IWID_SHORTCUTCSR +""" +shortcuts chooser (38) +""" + +ida_kernwin.IWID_SHORTCUTWIN +""" +shortcuts window (39) +""" + +ida_kernwin.IWID_SIGNS +""" +signatures (8) +""" + +ida_kernwin.IWID_SNIPPETS +""" +snippets (45) +""" + +ida_kernwin.IWID_SNIPPETS_CSR +""" +snippets chooser (57) +""" + +ida_kernwin.IWID_SO_OFFSETS +""" +stroff (42) +""" + +ida_kernwin.IWID_SO_STRUCTS +""" +stroff (41) +""" + +ida_kernwin.IWID_SRCPTHMAP_CSR +""" +mappings chooser (54) +""" + +ida_kernwin.IWID_SRCPTHUND_CSR +""" +undesired chooser (55) +""" + +ida_kernwin.IWID_STACK +""" +Alias. Some IWID_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.IWID_STKVIEW +""" +stack view (36) +""" + +ida_kernwin.IWID_STRINGS +""" +strings (4) +""" + +ida_kernwin.IWID_STRUCTS +""" +structures (28) +""" + +ida_kernwin.IWID_THREADS +""" +threads (14) +""" + +ida_kernwin.IWID_TILS +""" +type libraries (9) +""" + +ida_kernwin.IWID_TRACE +""" +trace view (16) +""" + +ida_kernwin.IWID_UNDOHIST +""" +Undo history (56) +""" + +ida_kernwin.IWID_WATCH +""" +watches (34) +""" + +ida_kernwin.IWID_XREFS +""" +xrefs (18) +""" + +ida_kernwin.MFF_FAST +""" +Execute code as soon as possible. this mode is ok for calling ui +related functions that do not query the database. +""" + +ida_kernwin.MFF_NOWAIT +""" +Do not wait for the request to be executed. the caller should ensure +that the request is not destroyed until the execution completes. if +not, the request will be ignored. 'execute_sync()' returns the request +id in this case. it can be used in 'cancel_exec_request()' . This flag +can be used to delay the code execution until the next UI loop run +even from the main thread. +""" + +ida_kernwin.MFF_READ +""" +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) +""" + +ida_kernwin.MFF_WRITE +""" +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' +""" + +ida_kernwin.SETMENU_APP +""" +add menu item after the specified path +""" + +ida_kernwin.SETMENU_FIRST +""" +add item to the beginning of menu +""" + +ida_kernwin.SETMENU_INS +""" +add menu item before the specified path (default) +""" + +ida_kernwin.UIJMP_ACTIVATE +""" +activate the new window +""" + +ida_kernwin.UIJMP_ANYVIEW +""" +jump in any ea_t-capable view +""" + +ida_kernwin.UIJMP_DONTPUSH +""" +in the navigation history + +do not remember the current address +""" + +ida_kernwin.UIJMP_IDAVIEW +""" +jump in idaview +""" + +ida_kernwin.UIJMP_IDAVIEW_NEW +""" +jump in new idaview +""" + +ida_kernwin.VES_SHIFT +""" +state & 1 => Shift is pressedstate & 2 => Alt is pressedstate & 4 => +Ctrl is pressedstate & 8 => Mouse left button is pressedstate & 16 => +Mouse right button is pressedstate & 32 => Mouse middle button is +pressedstate & 128 => Meta is pressed (OSX only) +""" +=== ida_kernwin EPYDOC INJECTIONS END === +Help on function COLSTR in module ida_lines: + +COLSTR(str, tag) + Utility function to create a colored line + @param str: The string + @param tag: Color tag constant. One of SCOLOR_XXXX + +Help on function add_extra_cmt in module ida_lines: + +add_extra_cmt(*args) -> 'bool' + add_extra_cmt(ea, isprev, format) -> bool + + + Add anterior/posterior comment line(s). + + @param ea: linear address (C++: ea_t) + @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) + @param format: 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. (C++: const char *) + @return: true if success + +Help on function add_extra_line in module ida_lines: + +add_extra_line(*args) -> 'bool' + add_extra_line(ea, isprev, format) -> bool + + + Add anterior/posterior non-comment line(s). + + @param ea: linear address (C++: ea_t) + @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) + @param format: printf() style format string. may contain \n to denote + new lines. (C++: const char *) + @return: true if success + +Help on function add_pgm_cmt in module ida_lines: + +add_pgm_cmt(*args) -> 'bool' + add_pgm_cmt(format) -> bool + + + Add anterior comment line(s) at the start of program. + + @param format: 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. (C++: const char *) + @return: true if success + +Help on function add_sourcefile in module ida_lines: + +add_sourcefile(*args) -> 'bool' + add_sourcefile(ea1, ea2, filename) -> bool + + + Mark a range of address as belonging to a source file. An address + range may belong only to one source file. A source file may be + represented by several address ranges. + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (excluded) + (C++: ea_t) + @param filename: name of source file. (C++: const char *) + @return: success + +Help on class bgcolors_t in module ida_lines: + +class bgcolors_t(builtins.object) + | Proxy of C++ bgcolors_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bgcolors_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bgcolors_t(...) + | delete_bgcolors_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | epilog_color + | bgcolors_t_epilog_color_get(self) -> bgcolor_t + | + | prolog_color + | bgcolors_t_prolog_color_get(self) -> bgcolor_t + | + | switch_color + | bgcolors_t_switch_color_get(self) -> bgcolor_t + | + | thisown + | The membership flag + +Help on function calc_bg_color in module ida_lines: + +calc_bg_color(*args) -> 'bgcolor_t' + calc_bg_color(ea) -> bgcolor_t + + + Get background color for line at 'ea' + + @param ea (C++: ea_t) + @return: RGB color + +Help on function calc_prefix_color in module ida_lines: + +calc_prefix_color(*args) -> 'color_t' + calc_prefix_color(ea) -> color_t + + + Get prefix color for line at 'ea' + + @param ea (C++: ea_t) + @return: Line prefix colors + +Help on function create_encoding_helper in module ida_lines: + +create_encoding_helper(*args) -> 'encoder_t *' + create_encoding_helper(encidx=-1, nr=nr_once) -> encoder_t * + +Help on function del_extra_cmt in module ida_lines: + +del_extra_cmt(*args) -> 'void' + del_extra_cmt(ea, what) + +Help on function del_sourcefile in module ida_lines: + +del_sourcefile(*args) -> 'bool' + del_sourcefile(ea) -> bool + + + Delete information about the source file. + + @param ea: linear address (C++: ea_t) + @return: success + +Help on function delete_extra_cmts in module ida_lines: + +delete_extra_cmts(*args) -> 'void' + delete_extra_cmts(ea, what) + +Help on function generate_disasm_line in module ida_lines: + +generate_disasm_line(*args) -> 'qstring *' + generate_disasm_line(ea, flags=0) -> str + +Help on function generate_disassembly in module ida_lines: + +generate_disassembly(*args) -> 'PyObject *' + generate_disassembly(ea, max_lines, as_stack, notags) -> PyObject * + + + 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 + @return: + - None on failure + - tuple(most_important_line_number, tuple(lines)) : Returns a tuple containing + the most important line number and a tuple of generated lines + +Help on function get_extra_cmt in module ida_lines: + +get_extra_cmt(*args) -> 'int' + get_extra_cmt(ea, what) -> ssize_t + +Help on function get_first_free_extra_cmtidx in module ida_lines: + +get_first_free_extra_cmtidx(*args) -> 'int' + get_first_free_extra_cmtidx(ea, start) -> int + +Help on function get_sourcefile in module ida_lines: + +get_sourcefile(*args) -> 'char const *' + get_sourcefile(ea, bounds=None) -> char const * + + + Get name of source file occupying the given address. + + @param ea: linear address (C++: ea_t) + @param bounds: pointer to the output buffer with the address range for + the current file. May be NULL. (C++: range_t *) + @return: NULL if source file information is not found, otherwise + returns pointer to file name + +Help on function requires_color_esc in module ida_lines: + +requires_color_esc(c) + Checks if the given character requires escaping + @param c: character (string of one char) + @return: Boolean + + + Is the given char a color escape character? + +Help on function set_user_defined_prefix in module ida_lines: + +set_user_defined_prefix(*args) -> 'PyObject *' + set_user_defined_prefix(width, pycb) -> PyObject * + + + User-defined line-prefixes are displayed just after the autogenerated + line prefixes. In order to use them, the plugin should call the + following function to specify its width and contents. + @param width: the width of the user-defined prefix + @param callback: a get_user_defined_prefix callback to get the contents of the prefix. + Its arguments: + ea - linear address + lnnum - line number + indent - indent of the line contents (-1 means the default instruction) + indent and is used for instruction itself. see explanations for printf_line() + line - the line to be generated. the line usually contains color tags this argument + can be examined to decide whether to generated the prefix + It returns a buffer of size < bufsize + + In order to remove the callback before unloading the plugin, specify the width = 0 or the callback = None + +Help on function tag_addr in module ida_lines: + +tag_addr(*args) -> 'PyObject *' + tag_addr(ea) -> PyObject * + + + Insert an address mark into a string. + + @param ea: address to include (C++: ea_t) + +Help on function tag_advance in module ida_lines: + +tag_advance(*args) -> 'int' + tag_advance(line, cnt) -> int + + + Move pointer to a 'line' to 'cnt' positions right. Take into account + escape sequences. + + @param line: pointer to string (C++: const char *) + @param cnt: number of positions to move right (C++: int) + @return: moved pointer + +Help on function tag_remove in module ida_lines: + +tag_remove(*args) -> 'PyObject *' + tag_remove(nonnul_instr) -> PyObject * + + + Remove color escape sequences from a string + @param colstr: the colored string with embedded tags + @return: a new string w/o the tags + +Help on function tag_skipcode in module ida_lines: + +tag_skipcode(*args) -> 'int' + tag_skipcode(line) -> int + + + Skip one color code. This function should be used if you are + interested in color codes and want to analyze all of them. Otherwise + 'tag_skipcodes()' function is better since it will skip all colors at + once. This function will skip the current color code if there is one. + If the current symbol is not a color code, it will return the input. + + @param line (C++: const char *) + @return: moved pointer + +Help on function tag_skipcodes in module ida_lines: + +tag_skipcodes(*args) -> 'int' + tag_skipcodes(line) -> int + + + Move the pointer past all color codes. + + @param line: can't be NULL (C++: const char *) + @return: moved pointer, can't be NULL + +Help on function tag_strlen in module ida_lines: + +tag_strlen(*args) -> 'ssize_t' + 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 *) + @return: the number of codepoints in the line, or -1 on error + +Help on function update_extra_cmt in module ida_lines: + +update_extra_cmt(*args) -> 'void' + update_extra_cmt(ea, what, str) + +=== ida_lines EPYDOC INJECTIONS === +ida_lines.COLOR_ADDR_SIZE +""" +Size of a tagged address (see 'COLOR_ADDR' ) +""" + +ida_lines.COLOR_BG_MAX +""" +Max color number. +""" + +ida_lines.COLOR_CODE +""" +Single instruction. +""" + +ida_lines.COLOR_CURITEM +""" +Current item. +""" + +ida_lines.COLOR_CURLINE +""" +Current line. +""" + +ida_lines.COLOR_DATA +""" +Data bytes. +""" + +ida_lines.COLOR_DEFAULT +""" +Default. +""" + +ida_lines.COLOR_ESC +""" +Escape character (Quote next character). This is needed to output '\\1' +and '\\2' characters. +""" + +ida_lines.COLOR_EXTERN +""" +External name definition segment. +""" + +ida_lines.COLOR_HIDLINE +""" +Hidden line. +""" + +ida_lines.COLOR_INV +""" +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. +""" + +ida_lines.COLOR_LIBFUNC +""" +Library function. +""" + +ida_lines.COLOR_LUMFUNC +""" +Lumina function. +""" + +ida_lines.COLOR_OFF +""" +Followed by a color code ( 'color_t' ). + +Escape character (OFF). +""" + +ida_lines.COLOR_ON +""" +Followed by a color code ( 'color_t' ). + +Escape character (ON). +""" + +ida_lines.COLOR_REGFUNC +""" +Regular function. +""" + +ida_lines.COLOR_SELECTED +""" +Selected. +""" + +ida_lines.COLOR_UNKNOWN +""" +Unexplored byte. +""" + +ida_lines.SCOLOR_ADDR +""" +Hidden address mark. +""" + +ida_lines.SCOLOR_ALTOP +""" +Alternative operand. +""" + +ida_lines.SCOLOR_ASMDIR +""" +Assembler directive. +""" + +ida_lines.SCOLOR_AUTOCMT +""" +Automatic comment. +""" + +ida_lines.SCOLOR_BINPREF +""" +Binary line prefix bytes. +""" + +ida_lines.SCOLOR_CHAR +""" +Char constant in instruction. +""" + +ida_lines.SCOLOR_CNAME +""" +Regular code name. +""" + +ida_lines.SCOLOR_CODNAME +""" +Dummy code name. +""" + +ida_lines.SCOLOR_COLLAPSED +""" +Collapsed line. +""" + +ida_lines.SCOLOR_CREF +""" +Code reference. +""" + +ida_lines.SCOLOR_CREFTAIL +""" +Code reference to tail byte. +""" + +ida_lines.SCOLOR_DATNAME +""" +Dummy Data Name. +""" + +ida_lines.SCOLOR_DCHAR +""" +Char constant in data directive. +""" + +ida_lines.SCOLOR_DEFAULT +""" +Default. +""" + +ida_lines.SCOLOR_DEMNAME +""" +Demangled Name. +""" + +ida_lines.SCOLOR_DNAME +""" +Regular Data Name. +""" + +ida_lines.SCOLOR_DNUM +""" +Numeric constant in data directive. +""" + +ida_lines.SCOLOR_DREF +""" +Data reference. +""" + +ida_lines.SCOLOR_DREFTAIL +""" +Data reference to tail byte. +""" + +ida_lines.SCOLOR_DSTR +""" +String constant in data directive. +""" + +ida_lines.SCOLOR_ERROR +""" +Error or problem. +""" + +ida_lines.SCOLOR_ESC +""" +Escape character (Quote next character) +""" + +ida_lines.SCOLOR_EXTRA +""" +Extra line. +""" + +ida_lines.SCOLOR_HIDNAME +""" +Hidden name. +""" + +ida_lines.SCOLOR_IMPNAME +""" +Imported name. +""" + +ida_lines.SCOLOR_INSN +""" +Instruction. +""" + +ida_lines.SCOLOR_INV +""" +Escape character (Inverse colors) +""" + +ida_lines.SCOLOR_KEYWORD +""" +Keywords. +""" + +ida_lines.SCOLOR_LIBNAME +""" +Library function name. +""" + +ida_lines.SCOLOR_LOCNAME +""" +Local variable name. +""" + +ida_lines.SCOLOR_MACRO +""" +Macro. +""" + +ida_lines.SCOLOR_NUMBER +""" +Numeric constant in instruction. +""" + +ida_lines.SCOLOR_OFF +""" +Escape character (OFF) +""" + +ida_lines.SCOLOR_ON +""" +Escape character (ON) +""" + +ida_lines.SCOLOR_PREFIX +""" +Line prefix. +""" + +ida_lines.SCOLOR_REG +""" +Register name. +""" + +ida_lines.SCOLOR_REGCMT +""" +Regular comment. +""" + +ida_lines.SCOLOR_RPTCMT +""" +Repeatable comment (defined not here) +""" + +ida_lines.SCOLOR_SEGNAME +""" +Segment name. +""" + +ida_lines.SCOLOR_STRING +""" +String constant in instruction. +""" + +ida_lines.SCOLOR_SYMBOL +""" +Punctuation. +""" + +ida_lines.SCOLOR_UNAME +""" +Regular unknown name. +""" + +ida_lines.SCOLOR_UNKNAME +""" +Dummy unknown name. +""" + +ida_lines.SCOLOR_VOIDOP +""" +Void operand. +""" +=== ida_lines EPYDOC INJECTIONS END === +Help on function base2file in module ida_loader: + +base2file(*args) -> 'int' + base2file(fp, pos, ea1, ea2) -> int + + + Unload database to a binary file. This function works for wide byte + processors too. + + @param fp: pointer to file (C++: FILE *) + @param pos: position in the file (C++: qoff64_t) + @param ea1: range of source linear addresses (C++: ea_t) + @param ea2: range of source linear addresses (C++: ea_t) + @return: 1-ok(always), write error leads to immediate exit + +Help on function build_snapshot_tree in module ida_loader: + +build_snapshot_tree(*args) -> 'bool' + build_snapshot_tree(root) -> bool + + + Build the snapshot tree. + + @param root: snapshot root that will contain the snapshot tree + elements. (C++: snapshot_t *) + @return: success + +Help on function clr_database_flag in module ida_loader: + +clr_database_flag(*args) -> 'void' + clr_database_flag(dbfl) + +Help on function extract_module_from_archive in module ida_loader: + +extract_module_from_archive(*args) -> 'PyObject *' + 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 is_remote: is the input file remote? (C++: bool) + +Help on function file2base in module ida_loader: + +file2base(*args) -> 'int' + 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: pointer of input source (C++: linput_t *) + @param pos: position in the file (C++: qoff64_t) + @param ea1: range of destination linear addresses (C++: ea_t) + @param ea2: range of destination linear addresses (C++: ea_t) + @param patchable: should the kernel remember correspondence of file + offsets to linear addresses. (C++: int) + +Help on function find_plugin in module ida_loader: + +find_plugin(*args) -> 'plugin_t *' + find_plugin(name, load_if_needed=False) -> plugin_t * + + + Find a user-defined plugin and optionally load it. + + @param name: short plugin name without path and extension, or absolute + path to the file name (C++: const char *) + @param load_if_needed: if the plugin is not present in the memory, try + to load it (C++: bool) + @return: pointer to plugin description block + +Help on function flush_buffers in module ida_loader: + +flush_buffers(*args) -> 'int' + flush_buffers() -> int + + + Flush buffers to the disk. + +Help on function gen_exe_file in module ida_loader: + +gen_exe_file(*args) -> 'int' + 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 == NULL then return: 1: + can generate an executable file 0: can't generate an + executable file + +Help on function gen_file in module ida_loader: + +gen_file(*args) -> 'int' + gen_file(otype, fp, ea1, ea2, flags) -> int + + + Generate an output file. 'OFILE_EXE' : + + @param otype: type of output file. (C++: ofile_type_t) + @param fp: the output file handle (C++: FILE *) + @param ea1: start address. For some file types this argument is + ignored (C++: ea_t) + @param ea2: end address. For some file types this argument is ignored + as usual in ida, the end address of the range is not + included (C++: ea_t) + @param flags: Generate file flags (C++: int) + @return: number of the generated lines. -1 if an error occurred + +Help on function get_basic_file_type in module ida_loader: + +get_basic_file_type(*args) -> 'filetype_t' + 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 *) + +Help on function get_elf_debug_file_directory in module ida_loader: + +get_elf_debug_file_directory(*args) -> 'char const *' + get_elf_debug_file_directory() -> char const * + + + Get the value of the ELF_DEBUG_FILE_DIRECTORY configuration directive. + +Help on function get_file_type_name in module ida_loader: + +get_file_type_name(*args) -> 'size_t' + get_file_type_name() -> str + + + Get name of the current file type. The current file type is kept in + \inf{filetype}. + + @return: size of answer, this function always succeeds + +Help on function get_fileregion_ea in module ida_loader: + +get_fileregion_ea(*args) -> 'ea_t' + 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) + +Help on function get_fileregion_offset in module ida_loader: + +get_fileregion_offset(*args) -> 'qoff64_t' + 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) + +Help on function get_path in module ida_loader: + +get_path(*args) -> 'char const *' + get_path(pt) -> char const * + + + Get the file path + + @param pt: file path type Types of the file pathes (C++: path_type_t) + @return: file path, never returns NULL + +Help on function get_plugin_options in module ida_loader: + +get_plugin_options(*args) -> 'char const *' + 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 NULL if there we no options specified + + @param plugin (C++: const char *) + +Help on class idp_desc_t in module ida_loader: + +class idp_desc_t(builtins.object) + | Proxy of C++ idp_desc_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idp_desc_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_idp_desc_t(...) + | delete_idp_desc_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | checked + | idp_desc_t_checked_get(self) -> bool + | + | family + | idp_desc_t_family_get(self) -> qstring * + | + | is_script + | idp_desc_t_is_script_get(self) -> bool + | + | mtime + | idp_desc_t_mtime_get(self) -> time_t + | + | names + | idp_desc_t_names_get(self) -> idp_names_t * + | + | path + | idp_desc_t_path_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class idp_name_t in module ida_loader: + +class idp_name_t(builtins.object) + | Proxy of C++ idp_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idp_name_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_idp_name_t(...) + | delete_idp_name_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hidden + | idp_name_t_hidden_get(self) -> bool + | + | lname + | idp_name_t_lname_get(self) -> qstring * + | + | sname + | idp_name_t_sname_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on function is_database_flag in module ida_loader: + +is_database_flag(*args) -> 'bool' + is_database_flag(dbfl) -> bool + + + Get the current database flag + + @param dbfl: flag Database flags (C++: uint32) + @return: the state of the flag (set or cleared) + +Help on function is_trusted_idb in module ida_loader: + +is_trusted_idb(*args) -> 'bool' + is_trusted_idb() -> bool + + + Is the database considered as trusted? + +Help on function load_and_run_plugin in module ida_loader: + +load_and_run_plugin(*args) -> 'bool' + load_and_run_plugin(name, arg) -> bool + + + Load & run a plugin. + + + @param name (C++: const char *) + @param arg (C++: size_t) + +Help on function load_binary_file in module ida_loader: + +load_binary_file(*args) -> 'bool' + 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: the name of input file as is (if the input file is + from library, then this is the name from the library) + (C++: const char *) + @param li: loader input source (C++: linput_t *) + @param _neflags: Load file flags . For the first file, the flag + NEF_FIRST must be set. (C++: ushort) + @param fileoff: Offset in the input file (C++: qoff64_t) + @param basepara: Load address in paragraphs (C++: ea_t) + @param binoff: Load offset (load_address=(basepara<<4)+binoff) (C++: + ea_t) + @param nbytes: Number of bytes to load from the file. 0: up to the + end of the file (C++: uint64) + +Help on function load_ids_module in module ida_loader: + +load_ids_module(*args) -> 'int' + 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: name of file to apply (C++: char *) + +Help on function load_plugin in module ida_loader: + +load_plugin(*args) -> 'PyObject *' + load_plugin(name) -> PyObject * + + + Loads a plugin + @return: + - None if plugin could not be loaded + - An opaque object representing the loaded plugin + +Help on class loader_t in module ida_loader: + +class loader_t(builtins.object) + | Proxy of C++ loader_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> loader_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_loader_t(...) + | delete_loader_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | loader_t_flags_get(self) -> uint32 + | + | thisown + | The membership flag + | + | version + | loader_t_version_get(self) -> uint32 + +Help on function mem2base in module ida_loader: + +mem2base(*args) -> 'int' + mem2base(py_mem, ea, fpos=-1) -> int + + + Load database from the memory. + @param 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 + +Help on class plugin_info_t in module ida_loader: + +class plugin_info_t(builtins.object) + | Proxy of C++ plugin_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> plugin_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_plugin_info_t(...) + | delete_plugin_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | arg + | plugin_info_t_arg_get(self) -> size_t + | + | comment + | plugin_info_t_comment_get(self) -> char * + | + | dllmem + | plugin_info_t_dllmem_get(self) -> idadll_t * + | + | entry + | plugin_info_t_entry_get(self) -> plugin_t * + | + | flags + | plugin_info_t_flags_get(self) -> int + | + | hotkey + | plugin_info_t_hotkey_get(self) -> ushort + | + | name + | plugin_info_t_name_get(self) -> char * + | + | next + | plugin_info_t_next_get(self) -> plugin_info_t + | + | org_hotkey + | plugin_info_t_org_hotkey_get(self) -> ushort + | + | org_name + | plugin_info_t_org_name_get(self) -> char * + | + | path + | plugin_info_t_path_get(self) -> char * + | + | thisown + | The membership flag + +Help on function process_archive in module ida_loader: + +process_archive(*args) -> 'qstring *' + 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: + + @param temp_file (C++: qstring *) + @param li (C++: linput_t *) + @param module_name (C++: qstring *) + @param neflags (C++: ushort *) + @param defmember (C++: const char *) + @param loader: pointer to load_info_t structure. (C++: const + load_info_t *) + +Help on class qvector_snapshotvec_t in module ida_loader: + +class qvector_snapshotvec_t(builtins.object) + | Proxy of C++ qvector< snapshot_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'snapshot_t *const &' + | __getitem__(self, i) -> snapshot_t + | + | __init__(self, *args) + | __init__(self) -> qvector_snapshotvec_t + | __init__(self, x) -> qvector_snapshotvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_qvector_snapshotvec_t(...) + | delete_qvector_snapshotvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'snapshot_t *const &' + | at(self, _idx) -> snapshot_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< snapshot_t * >::const_iterator' + | begin(self) -> qvector< snapshot_t * >::iterator + | begin(self) -> qvector< snapshot_t * >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< snapshot_t * >::const_iterator' + | end(self) -> qvector< snapshot_t * >::iterator + | end(self) -> qvector< snapshot_t * >::const_iterator + | + | erase(self, *args) -> 'qvector< snapshot_t * >::iterator' + | erase(self, it) -> qvector< snapshot_t * >::iterator + | erase(self, first, last) -> qvector< snapshot_t * >::iterator + | + | extract(self, *args) -> 'snapshot_t **' + | extract(self) -> snapshot_t ** + | + | find(self, *args) -> 'qvector< snapshot_t * >::const_iterator' + | find(self, x) -> qvector< snapshot_t * >::iterator + | find(self, x) -> qvector< snapshot_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< snapshot_t * >::iterator' + | insert(self, it, x) -> qvector< snapshot_t * >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'snapshot_t *&' + | push_back(self, x) + | push_back(self) -> snapshot_t *& + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function reload_file in module ida_loader: + +reload_file(*args) -> 'bool' + 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: name of the input file. if file == NULL then returns: + 1: can reload the input file 0: can't reload the input + file (C++: const char *) + @param is_remote: is the file located on a remote computer with the + debugger server? (C++: bool) + @return: success + +Help on function run_plugin in module ida_loader: + +run_plugin(*args) -> 'bool' + run_plugin(plg, arg) -> bool + + + Runs a plugin + @param plg: A plugin object (returned by load_plugin()) + @return: Boolean + +Help on function save_database in module ida_loader: + +save_database(*args) -> 'bool' + save_database(outfile, flags, root=None, attr=None) -> bool + + + Save current database using a new file name.when both root and attr + are not NULL then the snapshot attributes will be updated, otherwise + the snapshot attributes will be inherited from the current database. + + @param outfile: output database file name (C++: const char *) + @param flags: Database flags (C++: uint32) + @param root: optional: snapshot tree root. (C++: const snapshot_t *) + @param attr: optional: snapshot attributes (C++: const snapshot_t *) + @return: success + +Help on function set_database_flag in module ida_loader: + +set_database_flag(*args) -> 'void' + set_database_flag(dbfl, cnd=True) + + + Set or clear database flag + + @param dbfl: flag Database flags (C++: uint32) + @param cnd: set if true or clear flag otherwise (C++: bool) + +Help on function set_path in module ida_loader: + +set_path(*args) -> 'void' + set_path(pt, path) + + + Set the file path + + @param pt: file path type Types of the file pathes (C++: path_type_t) + @param path: new file path, use NULL or empty string to clear the file + path (C++: const char *) + +Help on class snapshot_t in module ida_loader: + +class snapshot_t(builtins.object) + | Proxy of C++ snapshot_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> snapshot_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_snapshot_t(...) + | delete_snapshot_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | children + | snapshot_t_children_get(self) -> qvector_snapshotvec_t + | + | desc + | snapshot_t_desc_get(self) -> char [128] + | + | filename + | snapshot_t_filename_get(self) -> char [QMAXPATH] + | + | flags + | snapshot_t_flags_get(self) -> uint16 + | + | id + | snapshot_t_id_get(self) -> qtime64_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +=== ida_loader EPYDOC INJECTIONS === +ida_loader.ACCEPT_ARCHIVE +""" +Specify that a file format is served by archive loader See +'loader_t::accept_file' +""" + +ida_loader.ACCEPT_CONTINUE +""" +Specify that the function must be called another time See +'loader_t::accept_file' +""" + +ida_loader.ACCEPT_FIRST +""" +Specify that a file format should be place first in "load file" dialog +box. See 'loader_t::accept_file' +""" + +ida_loader.DBFL_BAK +""" +create backup file (if !DBFL_KILL) +""" + +ida_loader.DBFL_COMP +""" +collect garbage +""" + +ida_loader.DBFL_KILL +""" +delete unpacked database +""" + +ida_loader.DBFL_TEMP +""" +temporary database +""" + +ida_loader.FILEREG_NOTPATCHABLE +""" +form in the file. + +the data is kept in some encoded +""" + +ida_loader.FILEREG_PATCHABLE +""" +means that the input file may be patched (i.e. no compression, no +iterated data, etc) +""" + +ida_loader.GENFLG_ASMINC +""" + 'OFILE_ASM' , 'OFILE_LST' : gen information only about types +""" + +ida_loader.GENFLG_ASMTYPE +""" + 'OFILE_ASM' , 'OFILE_LST' : gen information about types too +""" + +ida_loader.GENFLG_GENHTML +""" + 'OFILE_ASM' , 'OFILE_LST' : generate html ( 'ui_genfile_callback' +will be used) +""" + +ida_loader.GENFLG_IDCTYPE +""" + 'OFILE_IDC' : gen only information about types +""" + +ida_loader.GENFLG_MAPDMNG +""" + 'OFILE_MAP' : demangle names +""" + +ida_loader.GENFLG_MAPLOC +""" + 'OFILE_MAP' : include local names +""" + +ida_loader.GENFLG_MAPNAME +""" + 'OFILE_MAP' : include dummy names +""" + +ida_loader.GENFLG_MAPSEG +""" + 'OFILE_MAP' : generate map of segments +""" + +ida_loader.LDRF_RELOAD +""" +loader recognizes 'NEF_RELOAD' flag +""" + +ida_loader.LDRF_REQ_PROC +""" +Requires a processor to be set. if this bit is not set, load_file() +must call set_processor_type(..., SETPROC_LOADER) +""" + +ida_loader.MAX_DATABASE_DESCRIPTION +""" +Maximum database snapshot description length. +""" + +ida_loader.NEF_CODE +""" +load as a code segment + +for 'load_binary_file()' : +""" + +ida_loader.NEF_FILL +""" +Fill segment gaps. +""" + +ida_loader.NEF_FIRST +""" +into the database. + +This is the first file loaded +""" + +ida_loader.NEF_FLAT +""" +Autocreate FLAT group (PE) +""" + +ida_loader.NEF_IMPS +""" +Create import segment. +""" + +ida_loader.NEF_LALL +""" +Load all segments without questions. +""" + +ida_loader.NEF_LOPT +""" +Display additional loader options dialog. +""" + +ida_loader.NEF_MAN +""" +Manual load. +""" + +ida_loader.NEF_MINI +""" +Create mini database (do not copy segment bytes from the input file; +use only the file header metadata) +""" + +ida_loader.NEF_NAME +""" +Rename entries. +""" + +ida_loader.NEF_RELOAD +""" +reload the file at the same place: - don't create segmentsdon't create +fixup infodon't import segmentsetc load only the bytes into the base. +a loader should have 'LDRF_RELOAD' bit set +""" + +ida_loader.NEF_RSCS +""" +Load resources. +""" + +ida_loader.NEF_SEGS +""" +Create segments. +""" + +ida_loader.PLUGIN_DLL +""" +Pattern to find plugin files. +""" + +ida_loader.SSF_AUTOMATIC +""" +automatic snapshot +""" + +ida_loader.SSUF_DESC +""" +Update the description. +""" + +ida_loader.SSUF_FLAGS +""" +Update the flags. +""" + +ida_loader.SSUF_PATH +""" +Update the path. +""" +=== ida_loader EPYDOC INJECTIONS END === +Help on function apply_metadata in module ida_lumina: + +apply_metadata(*args) -> 'void' + apply_metadata(ea, fi, flags=0) + +Help on function backup_metadata in module ida_lumina: + +backup_metadata(*args) -> 'bool' + backup_metadata(ea) -> bool + +Help on function calc_func_metadata in module ida_lumina: + +calc_func_metadata(*args) -> 'md5_t *' + calc_func_metadata(out_fi, pfn, append_metadata=None) -> asize_t + +Help on function create_simple_diff_handler in module ida_lumina: + +create_simple_diff_handler(*args) -> 'simple_diff_handler_t *' + create_simple_diff_handler() -> simple_diff_handler_t + +Help on function create_simple_idb_diff_handler in module ida_lumina: + +create_simple_idb_diff_handler(*args) -> 'simple_idb_diff_handler_t *' + create_simple_idb_diff_handler(pfn) -> simple_idb_diff_handler_t + +Help on function diff_metadata in module ida_lumina: + +diff_metadata(*args) -> 'bool' + diff_metadata(handler, left, right, flags=0) -> bool + +Help on function ea_to_ea64 in module ida_lumina: + +ea_to_ea64(*args) -> 'ea64_t' + ea_to_ea64(ea) -> ea64_t + +Help on class extra_cmt_t in module ida_lumina: + +class extra_cmt_t(insn_site_t) + | Proxy of C++ extra_cmt_t class. + | + | Method resolution order: + | extra_cmt_t + | insn_site_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> extra_cmt_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_extra_cmt_t(...) + | delete_extra_cmt_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | next + | extra_cmt_t_next_get(self) -> qstring * + | + | prev + | extra_cmt_t_prev_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from insn_site_t: + | + | toea(self, *args) -> 'ea_t' + | toea(self, pfn) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from insn_site_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fchunk_nr + | insn_site_t_fchunk_nr_get(self) -> uint32 + | + | fchunk_off + | insn_site_t_fchunk_off_get(self) -> uint32 + +Help on class extra_cmts_t in module ida_lumina: + +class extra_cmts_t(builtins.object) + | Proxy of C++ qvector< extra_cmt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'extra_cmt_t const &' + | __getitem__(self, i) -> extra_cmt_t + | + | __init__(self, *args) + | __init__(self) -> extra_cmts_t + | __init__(self, x) -> extra_cmts_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_extra_cmts_t(...) + | delete_extra_cmts_t(self) + | + | at(self, *args) -> 'extra_cmt_t const &' + | at(self, _idx) -> extra_cmt_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< extra_cmt_t >::const_iterator' + | begin(self) -> extra_cmt_t + | begin(self) -> extra_cmt_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< extra_cmt_t >::const_iterator' + | end(self) -> extra_cmt_t + | end(self) -> extra_cmt_t + | + | erase(self, *args) -> 'qvector< extra_cmt_t >::iterator' + | erase(self, it) -> extra_cmt_t + | erase(self, first, last) -> extra_cmt_t + | + | extract(self, *args) -> 'extra_cmt_t *' + | extract(self) -> extra_cmt_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=extra_cmt_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< extra_cmt_t >::iterator' + | insert(self, it, x) -> extra_cmt_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'extra_cmt_t &' + | push_back(self, x) + | push_back(self) -> extra_cmt_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function extract_extra_cmts_from_metadata in module ida_lumina: + +extract_extra_cmts_from_metadata(*args) -> 'void' + extract_extra_cmts_from_metadata(out, ptr) + +Help on function extract_frame_desc_from_metadata in module ida_lumina: + +extract_frame_desc_from_metadata(*args) -> 'void' + extract_frame_desc_from_metadata(out, ptr) + +Help on function extract_insn_cmts_from_metadata in module ida_lumina: + +extract_insn_cmts_from_metadata(*args) -> 'void' + extract_insn_cmts_from_metadata(out, ptr) + +Help on function extract_insn_opreprs_from_metadata in module ida_lumina: + +extract_insn_opreprs_from_metadata(*args) -> 'void' + extract_insn_opreprs_from_metadata(out, ptr) + +Help on function extract_type_from_metadata in module ida_lumina: + +extract_type_from_metadata(*args) -> 'bool' + extract_type_from_metadata(out, _in) -> bool + +Help on function extract_user_stkpnts_from_metadata in module ida_lumina: + +extract_user_stkpnts_from_metadata(*args) -> 'void' + extract_user_stkpnts_from_metadata(out, ptr) + +Help on class frame_desc_t in module ida_lumina: + +class frame_desc_t(builtins.object) + | Proxy of C++ frame_desc_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> frame_desc_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_frame_desc_t(...) + | delete_frame_desc_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argsize + | frame_desc_t_argsize_get(self) -> asize_t + | + | frregs + | frame_desc_t_frregs_get(self) -> ushort + | + | frsize + | frame_desc_t_frsize_get(self) -> sval_t + | + | members + | frame_desc_t_members_get(self) -> frame_mems_t + | + | thisown + | The membership flag + +Help on class frame_mem_t in module ida_lumina: + +class frame_mem_t(builtins.object) + | Proxy of C++ frame_mem_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> frame_mem_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_frame_mem_t(...) + | delete_frame_mem_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | frame_mem_t_cmt_get(self) -> qstring * + | + | info + | frame_mem_t_info_get(self) -> oprepr_t + | + | name + | frame_mem_t_name_get(self) -> qstring * + | + | nbytes + | frame_mem_t_nbytes_get(self) -> asize_t + | + | offset + | frame_mem_t_offset_get(self) -> ea64_t + | + | rptcmt + | frame_mem_t_rptcmt_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | frame_mem_t_type_get(self) -> serialized_tinfo + +Help on class frame_mems_t in module ida_lumina: + +class frame_mems_t(builtins.object) + | Proxy of C++ qvector< frame_mem_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'frame_mem_t const &' + | __getitem__(self, i) -> frame_mem_t + | + | __init__(self, *args) + | __init__(self) -> frame_mems_t + | __init__(self, x) -> frame_mems_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_frame_mems_t(...) + | delete_frame_mems_t(self) + | + | at(self, *args) -> 'frame_mem_t const &' + | at(self, _idx) -> frame_mem_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< frame_mem_t >::const_iterator' + | begin(self) -> frame_mem_t + | begin(self) -> frame_mem_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< frame_mem_t >::const_iterator' + | end(self) -> frame_mem_t + | end(self) -> frame_mem_t + | + | erase(self, *args) -> 'qvector< frame_mem_t >::iterator' + | erase(self, it) -> frame_mem_t + | erase(self, first, last) -> frame_mem_t + | + | extract(self, *args) -> 'frame_mem_t *' + | extract(self) -> frame_mem_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=frame_mem_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< frame_mem_t >::iterator' + | insert(self, it, x) -> frame_mem_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'frame_mem_t &' + | push_back(self, x) + | push_back(self) -> frame_mem_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class func_info_and_frequency_t in module ida_lumina: + +class func_info_and_frequency_t(func_info_t) + | Proxy of C++ func_info_and_frequency_t class. + | + | Method resolution order: + | func_info_and_frequency_t + | func_info_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_info_and_frequency_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_info_and_frequency_t(...) + | delete_func_info_and_frequency_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | frequency + | func_info_and_frequency_t_frequency_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | metadata + | func_info_t_metadata_get(self) -> metadata_t * + | + | name + | func_info_t_name_get(self) -> qstring * + | + | size + | func_info_t_size_get(self) -> uint32 + +Help on class func_info_and_frequency_vec_t in module ida_lumina: + +class func_info_and_frequency_vec_t(builtins.object) + | Proxy of C++ qvector< func_info_and_frequency_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'func_info_and_frequency_t const &' + | __getitem__(self, i) -> func_info_and_frequency_t + | + | __init__(self, *args) + | __init__(self) -> func_info_and_frequency_vec_t + | __init__(self, x) -> func_info_and_frequency_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_func_info_and_frequency_vec_t(...) + | delete_func_info_and_frequency_vec_t(self) + | + | at(self, *args) -> 'func_info_and_frequency_t const &' + | at(self, _idx) -> func_info_and_frequency_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< func_info_and_frequency_t >::const_iterator' + | begin(self) -> func_info_and_frequency_t + | begin(self) -> func_info_and_frequency_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< func_info_and_frequency_t >::const_iterator' + | end(self) -> func_info_and_frequency_t + | end(self) -> func_info_and_frequency_t + | + | erase(self, *args) -> 'qvector< func_info_and_frequency_t >::iterator' + | erase(self, it) -> func_info_and_frequency_t + | erase(self, first, last) -> func_info_and_frequency_t + | + | extract(self, *args) -> 'func_info_and_frequency_t *' + | extract(self) -> func_info_and_frequency_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=func_info_and_frequency_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< func_info_and_frequency_t >::iterator' + | insert(self, it, x) -> func_info_and_frequency_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'func_info_and_frequency_t &' + | push_back(self, x) + | push_back(self) -> func_info_and_frequency_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class func_info_and_pattern_t in module ida_lumina: + +class func_info_and_pattern_t(func_info_t) + | Proxy of C++ func_info_and_pattern_t class. + | + | Method resolution order: + | func_info_and_pattern_t + | func_info_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_info_and_pattern_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_info_and_pattern_t(...) + | delete_func_info_and_pattern_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | pattern_id + | func_info_and_pattern_t_pattern_id_get(self) -> pattern_id_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | metadata + | func_info_t_metadata_get(self) -> metadata_t * + | + | name + | func_info_t_name_get(self) -> qstring * + | + | size + | func_info_t_size_get(self) -> uint32 + +Help on class func_info_and_pattern_vec_t in module ida_lumina: + +class func_info_and_pattern_vec_t(builtins.object) + | Proxy of C++ qvector< func_info_and_pattern_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'func_info_and_pattern_t const &' + | __getitem__(self, i) -> func_info_and_pattern_t + | + | __init__(self, *args) + | __init__(self) -> func_info_and_pattern_vec_t + | __init__(self, x) -> func_info_and_pattern_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_func_info_and_pattern_vec_t(...) + | delete_func_info_and_pattern_vec_t(self) + | + | at(self, *args) -> 'func_info_and_pattern_t const &' + | at(self, _idx) -> func_info_and_pattern_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< func_info_and_pattern_t >::const_iterator' + | begin(self) -> func_info_and_pattern_t + | begin(self) -> func_info_and_pattern_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< func_info_and_pattern_t >::const_iterator' + | end(self) -> func_info_and_pattern_t + | end(self) -> func_info_and_pattern_t + | + | erase(self, *args) -> 'qvector< func_info_and_pattern_t >::iterator' + | erase(self, it) -> func_info_and_pattern_t + | erase(self, first, last) -> func_info_and_pattern_t + | + | extract(self, *args) -> 'func_info_and_pattern_t *' + | extract(self) -> func_info_and_pattern_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=func_info_and_pattern_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< func_info_and_pattern_t >::iterator' + | insert(self, it, x) -> func_info_and_pattern_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'func_info_and_pattern_t &' + | push_back(self, x) + | push_back(self) -> func_info_and_pattern_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class func_info_base_t in module ida_lumina: + +class func_info_base_t(builtins.object) + | Proxy of C++ func_info_base_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_info_base_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_info_base_t(...) + | delete_func_info_base_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | metadata + | func_info_base_t_metadata_get(self) -> metadata_t * + | + | name + | func_info_base_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class func_info_pattern_and_frequency_t in module ida_lumina: + +class func_info_pattern_and_frequency_t(func_info_and_pattern_t) + | Proxy of C++ func_info_pattern_and_frequency_t class. + | + | Method resolution order: + | func_info_pattern_and_frequency_t + | func_info_and_pattern_t + | func_info_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_info_pattern_and_frequency_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_info_pattern_and_frequency_t(...) + | delete_func_info_pattern_and_frequency_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | frequency + | func_info_pattern_and_frequency_t_frequency_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_and_pattern_t: + | + | pattern_id + | func_info_and_pattern_t_pattern_id_get(self) -> pattern_id_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | metadata + | func_info_t_metadata_get(self) -> metadata_t * + | + | name + | func_info_t_name_get(self) -> qstring * + | + | size + | func_info_t_size_get(self) -> uint32 + +Help on class func_info_pattern_and_frequency_vec_t in module ida_lumina: + +class func_info_pattern_and_frequency_vec_t(builtins.object) + | Proxy of C++ qvector< func_info_pattern_and_frequency_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'func_info_pattern_and_frequency_t const &' + | __getitem__(self, i) -> func_info_pattern_and_frequency_t + | + | __init__(self, *args) + | __init__(self) -> func_info_pattern_and_frequency_vec_t + | __init__(self, x) -> func_info_pattern_and_frequency_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_func_info_pattern_and_frequency_vec_t(...) + | delete_func_info_pattern_and_frequency_vec_t(self) + | + | at(self, *args) -> 'func_info_pattern_and_frequency_t const &' + | at(self, _idx) -> func_info_pattern_and_frequency_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< func_info_pattern_and_frequency_t >::const_iterator' + | begin(self) -> func_info_pattern_and_frequency_t + | begin(self) -> func_info_pattern_and_frequency_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< func_info_pattern_and_frequency_t >::const_iterator' + | end(self) -> func_info_pattern_and_frequency_t + | end(self) -> func_info_pattern_and_frequency_t + | + | erase(self, *args) -> 'qvector< func_info_pattern_and_frequency_t >::iterator' + | erase(self, it) -> func_info_pattern_and_frequency_t + | erase(self, first, last) -> func_info_pattern_and_frequency_t + | + | extract(self, *args) -> 'func_info_pattern_and_frequency_t *' + | extract(self) -> func_info_pattern_and_frequency_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=func_info_pattern_and_frequency_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< func_info_pattern_and_frequency_t >::iterator' + | insert(self, it, x) -> func_info_pattern_and_frequency_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'func_info_pattern_and_frequency_t &' + | push_back(self, x) + | push_back(self) -> func_info_pattern_and_frequency_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class func_info_t in module ida_lumina: + +class func_info_t(builtins.object) + | Proxy of C++ func_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_info_t(...) + | delete_func_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | metadata + | func_info_t_metadata_get(self) -> metadata_t * + | + | name + | func_info_t_name_get(self) -> qstring * + | + | size + | func_info_t_size_get(self) -> uint32 + | + | thisown + | The membership flag + +Help on class func_info_vec_t in module ida_lumina: + +class func_info_vec_t(builtins.object) + | Proxy of C++ qvector< func_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'func_info_t const &' + | __getitem__(self, i) -> func_info_t + | + | __init__(self, *args) + | __init__(self) -> func_info_vec_t + | __init__(self, x) -> func_info_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_func_info_vec_t(...) + | delete_func_info_vec_t(self) + | + | at(self, *args) -> 'func_info_t const &' + | at(self, _idx) -> func_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< func_info_t >::const_iterator' + | begin(self) -> func_info_t + | begin(self) -> func_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< func_info_t >::const_iterator' + | end(self) -> func_info_t + | end(self) -> func_info_t + | + | erase(self, *args) -> 'qvector< func_info_t >::iterator' + | erase(self, it) -> func_info_t + | erase(self, first, last) -> func_info_t + | + | extract(self, *args) -> 'func_info_t *' + | extract(self) -> func_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=func_info_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< func_info_t >::iterator' + | insert(self, it, x) -> func_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'func_info_t &' + | push_back(self, x) + | push_back(self) -> func_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class func_md_diff_handler_t in module ida_lumina: + +class func_md_diff_handler_t(builtins.object) + | Proxy of C++ func_md_diff_handler_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> func_md_diff_handler_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_md_diff_handler_t(...) + | delete_func_md_diff_handler_t(self) + | + | on_comment_changed(self, *args) -> 'void' + | on_comment_changed(self, fchunk_nr, fchunk_off, l, r, rep) + | + | on_extra_comment_changed(self, *args) -> 'void' + | on_extra_comment_changed(self, fchunk_nr, fchunk_off, l, r, is_prev) + | + | on_frame_member_changed(self, *args) -> 'void' + | on_frame_member_changed(self, offset, l, r) + | + | on_function_comment_changed(self, *args) -> 'void' + | on_function_comment_changed(self, l, r, rep) + | + | on_insn_ops_repr_changed(self, *args) -> 'void' + | on_insn_ops_repr_changed(self, fchunk_nr, fchunk_off, l, r) + | + | on_name_changed(self, *args) -> 'void' + | on_name_changed(self, l, r) + | + | on_proto_changed(self, *args) -> 'void' + | on_proto_changed(self, l, r) + | + | on_score_changed(self, *args) -> 'void' + | on_score_changed(self, l, r) + | + | on_user_stkpnt_changed(self, *args) -> 'void' + | on_user_stkpnt_changed(self, fchunk_nr, fchunk_off, l, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function get_lumina_rpc_packet_t_index_from_base in module ida_lumina: + +get_lumina_rpc_packet_t_index_from_base(*args) -> 'uchar' + get_lumina_rpc_packet_t_index_from_base(code) -> uchar + +Help on function get_server_connection in module ida_lumina: + +get_server_connection(*args) -> 'lumina_client_t *' + get_server_connection() -> lumina_client_t + +Help on function has_backup_metadata in module ida_lumina: + +has_backup_metadata(*args) -> 'bool' + has_backup_metadata(ea) -> bool + +Help on class history_entries_helper_t in module ida_lumina: + +class history_entries_helper_t(builtins.object) + | Proxy of C++ history_entries_helper_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _r) -> history_entries_helper_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_history_entries_helper_t(...) + | delete_history_entries_helper_t(self) + | + | next_entry(self, *args) -> 'change_desc_base_t const &' + | next_entry(self, _from) -> change_desc_base_t const & + | + | next_entry_index(self, *args) -> 'bool' + | next_entry_index(self, out_index, _from) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | res + | history_entries_helper_t_res_get(self) -> pkt_show_entries_result_t const & + | + | thisown + | The membership flag + +Help on class input_file_t in module ida_lumina: + +class input_file_t(builtins.object) + | Proxy of C++ input_file_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> input_file_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_input_file_t(...) + | delete_input_file_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | md5 + | input_file_t_md5_get(self) -> md5_t * + | + | path + | input_file_t_path_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class insn_cmt_t in module ida_lumina: + +class insn_cmt_t(insn_site_t) + | Proxy of C++ insn_cmt_t class. + | + | Method resolution order: + | insn_cmt_t + | insn_site_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> insn_cmt_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_insn_cmt_t(...) + | delete_insn_cmt_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cmt + | insn_cmt_t_cmt_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from insn_site_t: + | + | toea(self, *args) -> 'ea_t' + | toea(self, pfn) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from insn_site_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fchunk_nr + | insn_site_t_fchunk_nr_get(self) -> uint32 + | + | fchunk_off + | insn_site_t_fchunk_off_get(self) -> uint32 + +Help on class insn_cmts_t in module ida_lumina: + +class insn_cmts_t(builtins.object) + | Proxy of C++ qvector< insn_cmt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'insn_cmt_t const &' + | __getitem__(self, i) -> insn_cmt_t + | + | __init__(self, *args) + | __init__(self) -> insn_cmts_t + | __init__(self, x) -> insn_cmts_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_insn_cmts_t(...) + | delete_insn_cmts_t(self) + | + | at(self, *args) -> 'insn_cmt_t const &' + | at(self, _idx) -> insn_cmt_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< insn_cmt_t >::const_iterator' + | begin(self) -> insn_cmt_t + | begin(self) -> insn_cmt_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< insn_cmt_t >::const_iterator' + | end(self) -> insn_cmt_t + | end(self) -> insn_cmt_t + | + | erase(self, *args) -> 'qvector< insn_cmt_t >::iterator' + | erase(self, it) -> insn_cmt_t + | erase(self, first, last) -> insn_cmt_t + | + | extract(self, *args) -> 'insn_cmt_t *' + | extract(self) -> insn_cmt_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=insn_cmt_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< insn_cmt_t >::iterator' + | insert(self, it, x) -> insn_cmt_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'insn_cmt_t &' + | push_back(self, x) + | push_back(self) -> insn_cmt_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class insn_ops_repr_t in module ida_lumina: + +class insn_ops_repr_t(insn_site_t) + | Proxy of C++ insn_ops_repr_t class. + | + | Method resolution order: + | insn_ops_repr_t + | insn_site_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> insn_ops_repr_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_insn_ops_repr_t(...) + | delete_insn_ops_repr_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | insn_ops_repr_t_flags_get(self) -> flags_t + | + | op0 + | insn_ops_repr_t_op0_get(self) -> opinfo_t + | + | op1 + | insn_ops_repr_t_op1_get(self) -> opinfo_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from insn_site_t: + | + | toea(self, *args) -> 'ea_t' + | toea(self, pfn) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from insn_site_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fchunk_nr + | insn_site_t_fchunk_nr_get(self) -> uint32 + | + | fchunk_off + | insn_site_t_fchunk_off_get(self) -> uint32 + +Help on class insn_ops_reprs_t in module ida_lumina: + +class insn_ops_reprs_t(builtins.object) + | Proxy of C++ qvector< insn_ops_repr_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'insn_ops_repr_t const &' + | __getitem__(self, i) -> insn_ops_repr_t + | + | __init__(self, *args) + | __init__(self) -> insn_ops_reprs_t + | __init__(self, x) -> insn_ops_reprs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_insn_ops_reprs_t(...) + | delete_insn_ops_reprs_t(self) + | + | at(self, *args) -> 'insn_ops_repr_t const &' + | at(self, _idx) -> insn_ops_repr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< insn_ops_repr_t >::const_iterator' + | begin(self) -> insn_ops_repr_t + | begin(self) -> insn_ops_repr_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< insn_ops_repr_t >::const_iterator' + | end(self) -> insn_ops_repr_t + | end(self) -> insn_ops_repr_t + | + | erase(self, *args) -> 'qvector< insn_ops_repr_t >::iterator' + | erase(self, it) -> insn_ops_repr_t + | erase(self, first, last) -> insn_ops_repr_t + | + | extract(self, *args) -> 'insn_ops_repr_t *' + | extract(self) -> insn_ops_repr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=insn_ops_repr_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< insn_ops_repr_t >::iterator' + | insert(self, it, x) -> insn_ops_repr_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'insn_ops_repr_t &' + | push_back(self, x) + | push_back(self) -> insn_ops_repr_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class insn_site_t in module ida_lumina: + +class insn_site_t(builtins.object) + | Proxy of C++ insn_site_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> insn_site_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_insn_site_t(...) + | delete_insn_site_t(self) + | + | toea(self, *args) -> 'ea_t' + | toea(self, pfn) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fchunk_nr + | insn_site_t_fchunk_nr_get(self) -> uint32 + | + | fchunk_off + | insn_site_t_fchunk_off_get(self) -> uint32 + | + | thisown + | The membership flag + +Help on class lumina_client_t in module ida_lumina: + +class lumina_client_t(builtins.object) + | Proxy of C++ lumina_client_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lumina_client_t(...) + | delete_lumina_client_t(self) + | + | get_pop(self, *args) -> 'pkt_get_pop_result_t *' + | get_pop(self, nresults=10) -> pkt_get_pop_result_t + | + | is_pattern_id(self, *args) -> 'bool' + | is_pattern_id(self, pid, md5) -> bool + | + | pull_md(self, *args) -> 'pkt_pull_md_result_t *' + | pull_md(self, pattern_ids, pull_md_flags=0) -> pkt_pull_md_result_t + | pull_md(self, funcs, pull_md_flags=0) -> pkt_pull_md_result_t + | + | push_md(self, *args) -> 'bool' + | push_md(self, result, opts, append_metadata=None, flags=0) -> bool + | + | set_pattern_id_md5(self, *args) -> 'void' + | set_pattern_id_md5(self, out, md5) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class lumina_op_res_vec_t in module ida_lumina: + +class lumina_op_res_vec_t(builtins.object) + | Proxy of C++ qvector< lumina_op_res_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'lumina_op_res_t const &' + | __getitem__(self, i) -> lumina_op_res_t const & + | + | __init__(self, *args) + | __init__(self) -> lumina_op_res_vec_t + | __init__(self, x) -> lumina_op_res_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_lumina_op_res_vec_t(...) + | delete_lumina_op_res_vec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'lumina_op_res_t const &' + | at(self, _idx) -> lumina_op_res_t const & + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< lumina_op_res_t >::const_iterator' + | begin(self) -> qvector< lumina_op_res_t >::iterator + | begin(self) -> qvector< lumina_op_res_t >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< lumina_op_res_t >::const_iterator' + | end(self) -> qvector< lumina_op_res_t >::iterator + | end(self) -> qvector< lumina_op_res_t >::const_iterator + | + | erase(self, *args) -> 'qvector< lumina_op_res_t >::iterator' + | erase(self, it) -> qvector< lumina_op_res_t >::iterator + | erase(self, first, last) -> qvector< lumina_op_res_t >::iterator + | + | extract(self, *args) -> 'lumina_op_res_t *' + | extract(self) -> lumina_op_res_t * + | + | find(self, *args) -> 'qvector< lumina_op_res_t >::const_iterator' + | find(self, x) -> qvector< lumina_op_res_t >::iterator + | find(self, x) -> qvector< lumina_op_res_t >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=lumina_op_res_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< lumina_op_res_t >::iterator' + | insert(self, it, x) -> qvector< lumina_op_res_t >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'lumina_op_res_t &' + | push_back(self, x) + | push_back(self) -> lumina_op_res_t & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class md_type_parts_t in module ida_lumina: + +class md_type_parts_t(builtins.object) + | Proxy of C++ md_type_parts_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> md_type_parts_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_md_type_parts_t(...) + | delete_md_type_parts_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fields + | md_type_parts_t_fields_get(self) -> qtype * + | + | thisown + | The membership flag + | + | type + | md_type_parts_t_type_get(self) -> qtype * + | + | userti + | md_type_parts_t_userti_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class metadata_iterator_t in module ida_lumina: + +class metadata_iterator_t(builtins.object) + | Proxy of C++ metadata_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _md) -> metadata_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_metadata_iterator_t(...) + | delete_metadata_iterator_t(self) + | + | data_end(self, *args) -> 'uchar const *' + | data_end(self) -> uchar const * + | + | next(self, *args) -> 'bool' + | next(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | metadata_iterator_t_data_get(self) -> uchar const * + | + | key + | metadata_iterator_t_key_get(self) -> mdkey_t + | + | size + | metadata_iterator_t_size_get(self) -> size_t + | + | thisown + | The membership flag + +Help on function new_packet in module ida_lumina: + +new_packet(*args) -> 'rpc_packet_data_t *' + new_packet(code, ptr=None, len=0, version=-1) -> rpc_packet_data_t * + +Help on class oprepr_t in module ida_lumina: + +class oprepr_t(builtins.object) + | Proxy of C++ oprepr_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> oprepr_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_oprepr_t(...) + | delete_oprepr_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | oprepr_t_flags_get(self) -> flags_t + | + | opinfo + | oprepr_t_opinfo_get(self) -> opinfo_t + | + | thisown + | The membership flag + +Help on class pattern_id_t in module ida_lumina: + +class pattern_id_t(builtins.object) + | Proxy of C++ pattern_id_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pattern_id_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pattern_id_t(...) + | delete_pattern_id_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | pattern_id_t_data_get(self) -> bytevec_t * + | + | thisown + | The membership flag + | + | type + | pattern_id_t_type_get(self) -> pattern_type_t + +Help on class pkt_clean_db_t in module ida_lumina: + +class pkt_clean_db_t(builtins.object) + | Proxy of C++ pkt_clean_db_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_clean_db_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_clean_db_t(...) + | delete_pkt_clean_db_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class pkt_debugctl_t in module ida_lumina: + +class pkt_debugctl_t(builtins.object) + | Proxy of C++ pkt_debugctl_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_debugctl_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_debugctl_t(...) + | delete_pkt_debugctl_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | args + | pkt_debugctl_t_args_get(self) -> qstrvec_t * + | + | thisown + | The membership flag + +Help on class pkt_dump_md_result_t in module ida_lumina: + +class pkt_dump_md_result_t(builtins.object) + | Proxy of C++ pkt_dump_md_result_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_dump_md_result_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_dump_md_result_t(...) + | delete_pkt_dump_md_result_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | contents + | pkt_dump_md_result_t_contents_get(self) -> func_info_pattern_and_frequency_vec_t + | + | thisown + | The membership flag + +Help on class pkt_dump_md_t in module ida_lumina: + +class pkt_dump_md_t(builtins.object) + | Proxy of C++ pkt_dump_md_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_dump_md_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_dump_md_t(...) + | delete_pkt_dump_md_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | sort + | pkt_dump_md_t_sort_get(self) -> dump_md_sort_type_t + | + | thisown + | The membership flag + +Help on class pkt_get_pop_result_t in module ida_lumina: + +class pkt_get_pop_result_t(builtins.object) + | Proxy of C++ pkt_get_pop_result_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_get_pop_result_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_get_pop_result_t(...) + | delete_pkt_get_pop_result_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | results + | pkt_get_pop_result_t_results_get(self) -> pop_fun_vec_t * + | + | thisown + | The membership flag + +Help on class pkt_get_pop_t in module ida_lumina: + +class pkt_get_pop_t(builtins.object) + | Proxy of C++ pkt_get_pop_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_get_pop_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_get_pop_t(...) + | delete_pkt_get_pop_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | nresults + | pkt_get_pop_t_nresults_get(self) -> uint32 + | + | thisown + | The membership flag + +Help on class pkt_helo_t in module ida_lumina: + +class pkt_helo_t(builtins.object) + | Proxy of C++ pkt_helo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_helo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_helo_t(...) + | delete_pkt_helo_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | client_version + | pkt_helo_t_client_version_get(self) -> int + | + | key + | pkt_helo_t_key_get(self) -> bytevec_t * + | + | license_id + | pkt_helo_t_license_id_get(self) -> uchar [6] + | + | record_conv + | pkt_helo_t_record_conv_get(self) -> bool + | + | thisown + | The membership flag + +Help on class pkt_pull_md_result_t in module ida_lumina: + +class pkt_pull_md_result_t(builtins.object) + | Proxy of C++ pkt_pull_md_result_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_pull_md_result_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_pull_md_result_t(...) + | delete_pkt_pull_md_result_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | codes + | pkt_pull_md_result_t_codes_get(self) -> lumina_op_res_vec_t + | + | results + | pkt_pull_md_result_t_results_get(self) -> func_info_and_frequency_vec_t + | + | thisown + | The membership flag + +Help on class pkt_pull_md_t in module ida_lumina: + +class pkt_pull_md_t(builtins.object) + | Proxy of C++ pkt_pull_md_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_pull_md_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_pull_md_t(...) + | delete_pkt_pull_md_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | pkt_pull_md_t_flags_get(self) -> uint32 + | + | keys + | pkt_pull_md_t_keys_get(self) -> mdkey_vec_t * + | + | pattern_ids + | pkt_pull_md_t_pattern_ids_get(self) -> pattern_ids_t * + | + | thisown + | The membership flag + +Help on class pkt_push_md_result_t in module ida_lumina: + +class pkt_push_md_result_t(builtins.object) + | Proxy of C++ pkt_push_md_result_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_push_md_result_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_push_md_result_t(...) + | delete_pkt_push_md_result_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | codes + | pkt_push_md_result_t_codes_get(self) -> lumina_op_res_vec_t + | + | thisown + | The membership flag + +Help on class pkt_push_md_t in module ida_lumina: + +class pkt_push_md_t(builtins.object) + | Proxy of C++ pkt_push_md_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_push_md_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_push_md_t(...) + | delete_pkt_push_md_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | contents + | pkt_push_md_t_contents_get(self) -> func_info_and_pattern_vec_t + | + | ea64s + | pkt_push_md_t_ea64s_get(self) -> ea64vec_t * + | + | flags + | pkt_push_md_t_flags_get(self) -> uint32 + | + | hostname + | pkt_push_md_t_hostname_get(self) -> qstring * + | + | idb + | pkt_push_md_t_idb_get(self) -> qstring * + | + | input + | pkt_push_md_t_input_get(self) -> input_file_t + | + | thisown + | The membership flag + +Help on class pkt_rpc_fail_t in module ida_lumina: + +class pkt_rpc_fail_t(builtins.object) + | Proxy of C++ pkt_rpc_fail_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_rpc_fail_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_rpc_fail_t(...) + | delete_pkt_rpc_fail_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | error + | pkt_rpc_fail_t_error_get(self) -> qstring * + | + | result + | pkt_rpc_fail_t_result_get(self) -> int + | + | thisown + | The membership flag + +Help on class pkt_rpc_notify_t in module ida_lumina: + +class pkt_rpc_notify_t(builtins.object) + | Proxy of C++ pkt_rpc_notify_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_rpc_notify_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_rpc_notify_t(...) + | delete_pkt_rpc_notify_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | text + | pkt_rpc_notify_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | pkt_rpc_notify_t_type_get(self) -> rpc_notification_type_t + +Help on class pkt_rpc_ok_t in module ida_lumina: + +class pkt_rpc_ok_t(builtins.object) + | Proxy of C++ pkt_rpc_ok_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pkt_rpc_ok_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pkt_rpc_ok_t(...) + | delete_pkt_rpc_ok_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class pop_fun_t in module ida_lumina: + +class pop_fun_t(func_info_pattern_and_frequency_t) + | Proxy of C++ pop_fun_t class. + | + | Method resolution order: + | pop_fun_t + | func_info_pattern_and_frequency_t + | func_info_and_pattern_t + | func_info_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pop_fun_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pop_fun_t(...) + | delete_pop_fun_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ea64 + | pop_fun_t_ea64_get(self) -> ea64_t + | + | hostname + | pop_fun_t_hostname_get(self) -> qstring * + | + | input + | pop_fun_t_input_get(self) -> input_file_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_pattern_and_frequency_t: + | + | frequency + | func_info_pattern_and_frequency_t_frequency_get(self) -> uint32 + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_and_pattern_t: + | + | pattern_id + | func_info_and_pattern_t_pattern_id_get(self) -> pattern_id_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | metadata + | func_info_t_metadata_get(self) -> metadata_t * + | + | name + | func_info_t_name_get(self) -> qstring * + | + | size + | func_info_t_size_get(self) -> uint32 + +Help on class push_md_opts_t in module ida_lumina: + +class push_md_opts_t(builtins.object) + | Proxy of C++ push_md_opts_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, mfs=size_t(-1)) -> push_md_opts_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_push_md_opts_t(...) + | delete_push_md_opts_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | eas + | push_md_opts_t_eas_get(self) -> eavec_t * + | + | min_func_size + | push_md_opts_t_min_func_size_get(self) -> size_t + | + | thisown + | The membership flag + +Help on class push_md_result_t in module ida_lumina: + +class push_md_result_t(builtins.object) + | Proxy of C++ push_md_result_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> push_md_result_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_push_md_result_t(...) + | delete_push_md_result_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | codes + | push_md_result_t_codes_get(self) -> lumina_op_res_vec_t + | + | contents + | push_md_result_t_contents_get(self) -> func_info_and_pattern_vec_t + | + | eas + | push_md_result_t_eas_get(self) -> eavec_t * + | + | thisown + | The membership flag + +Help on function revert_metadata in module ida_lumina: + +revert_metadata(*args) -> 'bool' + revert_metadata(ea) -> bool + +Help on function score_metadata in module ida_lumina: + +score_metadata(*args) -> 'uint32' + score_metadata(fi) -> uint32 + +Help on class serialized_tinfo in module ida_lumina: + +class serialized_tinfo(builtins.object) + | Proxy of C++ serialized_tinfo class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> serialized_tinfo + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_serialized_tinfo(...) + | delete_serialized_tinfo(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fields + | serialized_tinfo_fields_get(self) -> qtype * + | + | thisown + | The membership flag + | + | type + | serialized_tinfo_type_get(self) -> qtype * + +Help on class simple_diff_handler_t in module ida_lumina: + +class simple_diff_handler_t(func_md_diff_handler_t) + | Proxy of C++ simple_diff_handler_t class. + | + | Method resolution order: + | simple_diff_handler_t + | func_md_diff_handler_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | __init__(self) -> func_md_diff_handler_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_simple_diff_handler_t(...) + | delete_simple_diff_handler_t(self) + | + | on_comment_changed(self, *args) -> 'void' + | on_comment_changed(self, fchunk_nr, fchunk_off, l, r, rep) + | + | on_extra_comment_changed(self, *args) -> 'void' + | on_extra_comment_changed(self, fchunk_nr, fchunk_off, l, r, is_prev) + | + | on_frame_member_changed(self, *args) -> 'void' + | on_frame_member_changed(self, offset, l, r) + | + | on_function_comment_changed(self, *args) -> 'void' + | on_function_comment_changed(self, l, r, rep) + | + | on_insn_ops_repr_changed(self, *args) -> 'void' + | on_insn_ops_repr_changed(self, fchunk_nr, fchunk_off, l, r) + | + | on_name_changed(self, *args) -> 'void' + | on_name_changed(self, l, r) + | + | on_proto_changed(self, *args) -> 'void' + | on_proto_changed(self, l, r) + | + | on_score_changed(self, *args) -> 'void' + | on_score_changed(self, l, r) + | + | on_user_stkpnt_changed(self, *args) -> 'void' + | on_user_stkpnt_changed(self, fchunk_nr, fchunk_off, l, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | indent + | simple_diff_handler_t_indent_get(self) -> uint32 + | + | lines + | simple_diff_handler_t_lines_get(self) -> qstrvec_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from func_md_diff_handler_t: + | + | __disown__(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_md_diff_handler_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class simple_idb_diff_handler_t in module ida_lumina: + +class simple_idb_diff_handler_t(simple_diff_handler_t) + | Proxy of C++ simple_idb_diff_handler_t class. + | + | Method resolution order: + | simple_idb_diff_handler_t + | simple_diff_handler_t + | func_md_diff_handler_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | __init__(self) -> func_md_diff_handler_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_simple_idb_diff_handler_t(...) + | delete_simple_idb_diff_handler_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | header_generated + | simple_idb_diff_handler_t_header_generated_get(self) -> bool + | + | pfn + | simple_idb_diff_handler_t_pfn_get(self) -> func_t const * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from simple_diff_handler_t: + | + | on_comment_changed(self, *args) -> 'void' + | on_comment_changed(self, fchunk_nr, fchunk_off, l, r, rep) + | + | on_extra_comment_changed(self, *args) -> 'void' + | on_extra_comment_changed(self, fchunk_nr, fchunk_off, l, r, is_prev) + | + | on_frame_member_changed(self, *args) -> 'void' + | on_frame_member_changed(self, offset, l, r) + | + | on_function_comment_changed(self, *args) -> 'void' + | on_function_comment_changed(self, l, r, rep) + | + | on_insn_ops_repr_changed(self, *args) -> 'void' + | on_insn_ops_repr_changed(self, fchunk_nr, fchunk_off, l, r) + | + | on_name_changed(self, *args) -> 'void' + | on_name_changed(self, l, r) + | + | on_proto_changed(self, *args) -> 'void' + | on_proto_changed(self, l, r) + | + | on_score_changed(self, *args) -> 'void' + | on_score_changed(self, l, r) + | + | on_user_stkpnt_changed(self, *args) -> 'void' + | on_user_stkpnt_changed(self, fchunk_nr, fchunk_off, l, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from simple_diff_handler_t: + | + | indent + | simple_diff_handler_t_indent_get(self) -> uint32 + | + | lines + | simple_diff_handler_t_lines_get(self) -> qstrvec_t * + | + | ---------------------------------------------------------------------- + | Methods inherited from func_md_diff_handler_t: + | + | __disown__(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from func_md_diff_handler_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class skipped_func_t in module ida_lumina: + +class skipped_func_t(builtins.object) + | Proxy of C++ skipped_func_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> skipped_func_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_skipped_func_t(...) + | delete_skipped_func_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | skipped_func_t_count_get(self) -> uint32 + | + | pattern_id + | skipped_func_t_pattern_id_get(self) -> pattern_id_t + | + | thisown + | The membership flag + +Help on class skipped_funcs_t in module ida_lumina: + +class skipped_funcs_t(builtins.object) + | Proxy of C++ qvector< skipped_func_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'skipped_func_t const &' + | __getitem__(self, i) -> skipped_func_t + | + | __init__(self, *args) + | __init__(self) -> skipped_funcs_t + | __init__(self, x) -> skipped_funcs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_skipped_funcs_t(...) + | delete_skipped_funcs_t(self) + | + | at(self, *args) -> 'skipped_func_t const &' + | at(self, _idx) -> skipped_func_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< skipped_func_t >::const_iterator' + | begin(self) -> skipped_func_t + | begin(self) -> skipped_func_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< skipped_func_t >::const_iterator' + | end(self) -> skipped_func_t + | end(self) -> skipped_func_t + | + | erase(self, *args) -> 'qvector< skipped_func_t >::iterator' + | erase(self, it) -> skipped_func_t + | erase(self, first, last) -> skipped_func_t + | + | extract(self, *args) -> 'skipped_func_t *' + | extract(self) -> skipped_func_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=skipped_func_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< skipped_func_t >::iterator' + | insert(self, it, x) -> skipped_func_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'skipped_func_t &' + | push_back(self, x) + | push_back(self) -> skipped_func_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function split_metadata in module ida_lumina: + +split_metadata(*args) -> 'PyObject *' + split_metadata(md) -> PyObject * + +Help on class user_identification_t in module ida_lumina: + +class user_identification_t(builtins.object) + | Proxy of C++ user_identification_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> user_identification_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_identification_t(...) + | delete_user_identification_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | email + | user_identification_t_email_get(self) -> qstring * + | + | license_id + | user_identification_t_license_id_get(self) -> qstring * + | + | thisown + | The membership flag + | + | user_name + | user_identification_t_user_name_get(self) -> qstring * + +Help on class user_stkpnt_t in module ida_lumina: + +class user_stkpnt_t(insn_site_t) + | Proxy of C++ user_stkpnt_t class. + | + | Method resolution order: + | user_stkpnt_t + | insn_site_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> user_stkpnt_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_stkpnt_t(...) + | delete_user_stkpnt_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | delta + | user_stkpnt_t_delta_get(self) -> int64 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from insn_site_t: + | + | toea(self, *args) -> 'ea_t' + | toea(self, pfn) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from insn_site_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fchunk_nr + | insn_site_t_fchunk_nr_get(self) -> uint32 + | + | fchunk_off + | insn_site_t_fchunk_off_get(self) -> uint32 + +Help on class user_stkpnts_t in module ida_lumina: + +class user_stkpnts_t(builtins.object) + | Proxy of C++ qvector< user_stkpnt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'user_stkpnt_t const &' + | __getitem__(self, i) -> user_stkpnt_t + | + | __init__(self, *args) + | __init__(self) -> user_stkpnts_t + | __init__(self, x) -> user_stkpnts_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_user_stkpnts_t(...) + | delete_user_stkpnts_t(self) + | + | at(self, *args) -> 'user_stkpnt_t const &' + | at(self, _idx) -> user_stkpnt_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< user_stkpnt_t >::const_iterator' + | begin(self) -> user_stkpnt_t + | begin(self) -> user_stkpnt_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< user_stkpnt_t >::const_iterator' + | end(self) -> user_stkpnt_t + | end(self) -> user_stkpnt_t + | + | erase(self, *args) -> 'qvector< user_stkpnt_t >::iterator' + | erase(self, it) -> user_stkpnt_t + | erase(self, first, last) -> user_stkpnt_t + | + | extract(self, *args) -> 'user_stkpnt_t *' + | extract(self) -> user_stkpnt_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=user_stkpnt_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< user_stkpnt_t >::iterator' + | insert(self, it, x) -> user_stkpnt_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'user_stkpnt_t &' + | push_back(self, x) + | push_back(self) -> user_stkpnt_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +=== ida_lumina EPYDOC INJECTIONS === +ida_lumina.AMDF_FORCE +""" +apply kvps regardless of what's currently in the IDB, possibly +removing some attributes currently present (e.g., name, or prototype +could be lost) +""" + +ida_lumina.AMDF_UPGRADE +""" +"quality" than what's currently in the IDB + +apply kvps that seem to be of higher +""" + +ida_lumina.PMF_PUSH_MODE_MASK +""" +Conflict resolution mode. +""" +=== ida_lumina EPYDOC INJECTIONS END === +Help on class bookmarks_t in module ida_moves: + +class bookmarks_t(builtins.object) + | Proxy of C++ bookmarks_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | erase(*args) -> 'bool' + | erase(e, index, ud) -> bool + | + | find_index(*args) -> 'uint32' + | find_index(e, ud) -> uint32 + | + | get(*args) -> 'bool' + | get(out_entry, out_desc, index, ud) -> bool + | + | get_desc(*args) -> 'qstring *' + | get_desc(e, index, ud) -> bool + | + | mark(*args) -> 'uint32' + | mark(e, index, title, desc, ud) -> uint32 + | + | size(*args) -> 'uint32' + | size(e, ud) -> uint32 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function bookmarks_t_erase in module ida_moves: + +bookmarks_t_erase(*args) -> 'bool' + bookmarks_t_erase(e, index, ud) -> bool + +Help on function bookmarks_t_find_index in module ida_moves: + +bookmarks_t_find_index(*args) -> 'uint32' + bookmarks_t_find_index(e, ud) -> uint32 + +Help on function bookmarks_t_get in module ida_moves: + +bookmarks_t_get(*args) -> 'bool' + bookmarks_t_get(out_entry, out_desc, index, ud) -> bool + +Help on function bookmarks_t_get_desc in module ida_moves: + +bookmarks_t_get_desc(*args) -> 'qstring *' + bookmarks_t_get_desc(e, index, ud) -> str + +Help on function bookmarks_t_mark in module ida_moves: + +bookmarks_t_mark(*args) -> 'uint32' + bookmarks_t_mark(e, index, title, desc, ud) -> uint32 + +Help on function bookmarks_t_size in module ida_moves: + +bookmarks_t_size(*args) -> 'uint32' + bookmarks_t_size(e, ud) -> uint32 + +Help on class graph_location_info_t in module ida_moves: + +class graph_location_info_t(builtins.object) + | Proxy of C++ graph_location_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> graph_location_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_location_info_t(...) + | delete_graph_location_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | orgx + | graph_location_info_t_orgx_get(self) -> double + | + | orgy + | graph_location_info_t_orgy_get(self) -> double + | + | thisown + | The membership flag + | + | zoom + | graph_location_info_t_zoom_get(self) -> double + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class lochist_entry_t in module ida_moves: + +class lochist_entry_t(builtins.object) + | Proxy of C++ lochist_entry_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lochist_entry_t + | __init__(self, p, r) -> lochist_entry_t + | __init__(self, other) -> lochist_entry_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lochist_entry_t(...) + | delete_lochist_entry_t(self) + | + | acquire_place(self, *args) -> 'void' + | acquire_place(self, in_p) + | + | is_valid(self, *args) -> 'bool' + | is_valid(self) -> bool + | + | place(self, *args) -> 'place_t *' + | place(self) -> place_t + | place(self) -> place_t + | + | renderer_info(self, *args) -> 'renderer_info_t &' + | renderer_info(self) -> renderer_info_t + | renderer_info(self) -> renderer_info_t + | + | set_place(self, *args) -> 'void' + | set_place(self, p) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | plce + | lochist_entry_t_plce_get(self) -> place_t + | + | rinfo + | lochist_entry_t_rinfo_get(self) -> renderer_info_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class lochist_t in module ida_moves: + +class lochist_t(builtins.object) + | Proxy of C++ lochist_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lochist_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lochist_t(...) + | delete_lochist_t(self) + | + | back(self, *args) -> 'bool' + | back(self, cnt, try_to_unhide) -> bool + | + | clear(self, *args) -> 'void' + | clear(self) + | + | current_index(self, *args) -> 'uint32' + | current_index(self) -> uint32 + | + | fwd(self, *args) -> 'bool' + | fwd(self, cnt, try_to_unhide) -> bool + | + | get(self, *args) -> 'bool' + | get(self, out, index) -> bool + | + | get_current(self, *args) -> 'lochist_entry_t const &' + | get_current(self) -> lochist_entry_t + | + | get_place_id(self, *args) -> 'int' + | get_place_id(self) -> int + | + | get_template_place(self, *args) -> 'place_t const *' + | get_template_place(self) -> place_t + | + | init(self, *args) -> 'bool' + | init(self, stream_name, _defpos, _ud, _flags) -> bool + | + | is_history_enabled(self, *args) -> 'bool' + | is_history_enabled(self) -> bool + | + | jump(self, *args) -> 'void' + | jump(self, try_to_unhide, e) + | + | netcode(self, *args) -> 'nodeidx_t' + | netcode(self) -> nodeidx_t + | + | save(self, *args) -> 'void' + | save(self) + | + | seek(self, *args) -> 'bool' + | seek(self, index, try_to_unhide) -> bool + | + | set(self, *args) -> 'void' + | set(self, index, e) + | + | set_current(self, *args) -> 'void' + | set_current(self, e) + | + | size(self, *args) -> 'uint32' + | size(self) -> uint32 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class renderer_info_pos_t in module ida_moves: + +class renderer_info_pos_t(builtins.object) + | Proxy of C++ renderer_info_pos_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_info_pos_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_renderer_info_pos_t(...) + | delete_renderer_info_pos_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cx + | renderer_info_pos_t_cx_get(self) -> short + | + | cy + | renderer_info_pos_t_cy_get(self) -> short + | + | node + | renderer_info_pos_t_node_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class renderer_info_t in module ida_moves: + +class renderer_info_t(builtins.object) + | Proxy of C++ renderer_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_renderer_info_t(...) + | delete_renderer_info_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | gli + | renderer_info_t_gli_get(self) -> graph_location_info_t + | + | pos + | renderer_info_t_pos_get(self) -> renderer_info_pos_t + | + | rtype + | renderer_info_t_rtype_get(self) -> tcc_renderer_type_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class segm_move_info_t in module ida_moves: + +class segm_move_info_t(builtins.object) + | Proxy of C++ segm_move_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _from=0, _to=0, _sz=0) -> segm_move_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_segm_move_info_t(...) + | delete_segm_move_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _from + | segm_move_info_t__from_get(self) -> ea_t + | + | size + | segm_move_info_t_size_get(self) -> size_t + | + | thisown + | The membership flag + | + | to + | segm_move_info_t_to_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class segm_move_info_vec_t in module ida_moves: + +class segm_move_info_vec_t(builtins.object) + | Proxy of C++ qvector< segm_move_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'segm_move_info_t const &' + | __getitem__(self, i) -> segm_move_info_t + | + | __init__(self, *args) + | __init__(self) -> segm_move_info_vec_t + | __init__(self, x) -> segm_move_info_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_segm_move_info_vec_t(...) + | delete_segm_move_info_vec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'segm_move_info_t const &' + | at(self, _idx) -> segm_move_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< segm_move_info_t >::const_iterator' + | begin(self) -> segm_move_info_t + | begin(self) -> segm_move_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< segm_move_info_t >::const_iterator' + | end(self) -> segm_move_info_t + | end(self) -> segm_move_info_t + | + | erase(self, *args) -> 'qvector< segm_move_info_t >::iterator' + | erase(self, it) -> segm_move_info_t + | erase(self, first, last) -> segm_move_info_t + | + | extract(self, *args) -> 'segm_move_info_t *' + | extract(self) -> segm_move_info_t + | + | find(self, *args) -> 'qvector< segm_move_info_t >::const_iterator' + | find(self, x) -> segm_move_info_t + | find(self, x) -> segm_move_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=segm_move_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< segm_move_info_t >::iterator' + | insert(self, it, x) -> segm_move_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'segm_move_info_t &' + | push_back(self, x) + | push_back(self) -> segm_move_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class segm_move_infos_t in module ida_moves: + +class segm_move_infos_t(segm_move_info_vec_t) + | Proxy of C++ segm_move_infos_t class. + | + | Method resolution order: + | segm_move_infos_t + | segm_move_info_vec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> segm_move_infos_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_segm_move_infos_t(...) + | delete_segm_move_infos_t(self) + | + | find(self, *args) -> 'segm_move_info_t const *' + | find(self, ea) -> segm_move_info_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from segm_move_info_vec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'segm_move_info_t const &' + | __getitem__(self, i) -> segm_move_info_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'segm_move_info_t const &' + | at(self, _idx) -> segm_move_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< segm_move_info_t >::const_iterator' + | begin(self) -> segm_move_info_t + | begin(self) -> segm_move_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< segm_move_info_t >::const_iterator' + | end(self) -> segm_move_info_t + | end(self) -> segm_move_info_t + | + | erase(self, *args) -> 'qvector< segm_move_info_t >::iterator' + | erase(self, it) -> segm_move_info_t + | erase(self, first, last) -> segm_move_info_t + | + | extract(self, *args) -> 'segm_move_info_t *' + | extract(self) -> segm_move_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=segm_move_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< segm_move_info_t >::iterator' + | insert(self, it, x) -> segm_move_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'segm_move_info_t &' + | push_back(self, x) + | push_back(self) -> segm_move_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from segm_move_info_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from segm_move_info_vec_t: + | + | __hash__ = None + +Help on function get_switch_info in module ida_nalt: + +get_switch_info(*args) -> 'ssize_t' + get_switch_info(out, ea) -> ssize_t + +Help on function add_encoding in module ida_nalt: + +add_encoding(*args) -> 'int' + add_encoding(encoding) -> int + + + Add a new encoding (e.g. "UTF-8"). + + @param encoding (C++: const char *) + @return: its index (1-based) if it's already in the list, return its + index + +Help on class array_parameters_t in module ida_nalt: + +class array_parameters_t(builtins.object) + | Proxy of C++ array_parameters_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> array_parameters_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_array_parameters_t(...) + | delete_array_parameters_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | alignment + | array_parameters_t_alignment_get(self) -> int32 + | + | flags + | array_parameters_t_flags_get(self) -> int32 + | + | lineitems + | array_parameters_t_lineitems_get(self) -> int32 + | + | thisown + | The membership flag + +Help on function clr__bnot0 in module ida_nalt: + +clr__bnot0(*args) -> 'void' + clr__bnot0(ea) + +Help on function clr__bnot1 in module ida_nalt: + +clr__bnot1(*args) -> 'void' + clr__bnot1(ea) + +Help on function clr__invsign0 in module ida_nalt: + +clr__invsign0(*args) -> 'void' + clr__invsign0(ea) + +Help on function clr__invsign1 in module ida_nalt: + +clr__invsign1(*args) -> 'void' + clr__invsign1(ea) + +Help on function clr_abits in module ida_nalt: + +clr_abits(*args) -> 'void' + clr_abits(ea, bits) + +Help on function clr_align_flow in module ida_nalt: + +clr_align_flow(*args) -> 'void' + clr_align_flow(ea) + +Help on function clr_colored_item in module ida_nalt: + +clr_colored_item(*args) -> 'void' + clr_colored_item(ea) + +Help on function clr_fixed_spd in module ida_nalt: + +clr_fixed_spd(*args) -> 'void' + clr_fixed_spd(ea) + +Help on function clr_has_lname in module ida_nalt: + +clr_has_lname(*args) -> 'void' + clr_has_lname(ea) + +Help on function clr_has_ti in module ida_nalt: + +clr_has_ti(*args) -> 'void' + clr_has_ti(ea) + +Help on function clr_has_ti0 in module ida_nalt: + +clr_has_ti0(*args) -> 'void' + clr_has_ti0(ea) + +Help on function clr_has_ti1 in module ida_nalt: + +clr_has_ti1(*args) -> 'void' + clr_has_ti1(ea) + +Help on function clr_libitem in module ida_nalt: + +clr_libitem(*args) -> 'void' + clr_libitem(ea) + +Help on function clr_lzero0 in module ida_nalt: + +clr_lzero0(*args) -> 'void' + clr_lzero0(ea) + +Help on function clr_lzero1 in module ida_nalt: + +clr_lzero1(*args) -> 'void' + clr_lzero1(ea) + +Help on function clr_noret in module ida_nalt: + +clr_noret(*args) -> 'void' + clr_noret(ea) + +Help on function clr_notcode in module ida_nalt: + +clr_notcode(*args) -> 'void' + clr_notcode(ea) + + + Clear not-code mark. + + + @param ea (C++: ea_t) + +Help on function clr_notproc in module ida_nalt: + +clr_notproc(*args) -> 'void' + clr_notproc(ea) + +Help on function clr_retfp in module ida_nalt: + +clr_retfp(*args) -> 'void' + clr_retfp(ea) + +Help on function clr_terse_struc in module ida_nalt: + +clr_terse_struc(*args) -> 'void' + clr_terse_struc(ea) + +Help on function clr_tilcmt in module ida_nalt: + +clr_tilcmt(*args) -> 'void' + clr_tilcmt(ea) + +Help on function clr_usemodsp in module ida_nalt: + +clr_usemodsp(*args) -> 'void' + clr_usemodsp(ea) + +Help on function clr_usersp in module ida_nalt: + +clr_usersp(*args) -> 'void' + clr_usersp(ea) + +Help on function clr_userti in module ida_nalt: + +clr_userti(*args) -> 'void' + clr_userti(ea) + +Help on function clr_zstroff in module ida_nalt: + +clr_zstroff(*args) -> 'void' + clr_zstroff(ea) + +Help on class custom_data_type_ids_fids_array in module ida_nalt: + +class custom_data_type_ids_fids_array(builtins.object) + | Proxy of C++ wrapped_array_t< int16,8 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'short const &' + | __getitem__(self, i) -> short const & + | + | __init__(self, *args) + | __init__(self, data) -> custom_data_type_ids_fids_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_custom_data_type_ids_fids_array(...) + | delete_custom_data_type_ids_fids_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | custom_data_type_ids_fids_array_data_get(self) -> short (&)[8] + | + | thisown + | The membership flag + +Help on class custom_data_type_ids_t in module ida_nalt: + +class custom_data_type_ids_t(builtins.object) + | Proxy of C++ custom_data_type_ids_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> custom_data_type_ids_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_custom_data_type_ids_t(...) + | delete_custom_data_type_ids_t(self) + | + | _custom_data_type_ids_t__getFids = __getFids(self, *args) -> 'wrapped_array_t< int16,8 >' + | __getFids(self) -> custom_data_type_ids_fids_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dtid + | custom_data_type_ids_t_dtid_get(self) -> int16 + | + | fids + | __getFids(self) -> custom_data_type_ids_fids_array + | + | thisown + | The membership flag + +Help on function dbg_get_input_path in module ida_nalt: + +dbg_get_input_path(*args) -> 'size_t' + dbg_get_input_path() -> str + + + Get debugger input file name/path (see 'LFLG_DBG_NOPATH' ) + +Help on function del_absbase in module ida_nalt: + +del_absbase(*args) -> 'void' + del_absbase(ea) + +Help on function del_aflags in module ida_nalt: + +del_aflags(*args) -> 'void' + del_aflags(ea) + +Help on function del_alignment in module ida_nalt: + +del_alignment(*args) -> 'void' + del_alignment(ea) + +Help on function del_array_parameters in module ida_nalt: + +del_array_parameters(*args) -> 'void' + del_array_parameters(ea) + +Help on function del_custom_data_type_ids in module ida_nalt: + +del_custom_data_type_ids(*args) -> 'void' + del_custom_data_type_ids(ea) + +Help on function del_encoding in module ida_nalt: + +del_encoding(*args) -> 'bool' + del_encoding(idx) -> bool + + + Delete an encoding (1-based) + + + @param idx (C++: int) + +Help on function del_ind_purged in module ida_nalt: + +del_ind_purged(*args) -> 'void' + del_ind_purged(ea) + +Help on function del_item_color in module ida_nalt: + +del_item_color(*args) -> 'bool' + del_item_color(ea) -> bool + +Help on function del_op_tinfo in module ida_nalt: + +del_op_tinfo(*args) -> 'void' + del_op_tinfo(ea, n) + +Help on function del_refinfo in module ida_nalt: + +del_refinfo(*args) -> 'bool' + del_refinfo(ea, n) -> bool + +Help on function del_source_linnum in module ida_nalt: + +del_source_linnum(*args) -> 'void' + del_source_linnum(ea) + +Help on function del_str_type in module ida_nalt: + +del_str_type(*args) -> 'void' + del_str_type(ea) + +Help on function del_switch_info in module ida_nalt: + +del_switch_info(*args) -> 'void' + del_switch_info(ea) + +Help on function del_switch_parent in module ida_nalt: + +del_switch_parent(*args) -> 'void' + del_switch_parent(ea) + +Help on function del_tinfo in module ida_nalt: + +del_tinfo(*args) -> 'void' + del_tinfo(ea) + +Help on function delete_imports in module ida_nalt: + +delete_imports(*args) -> 'void' + delete_imports() + + + Delete all imported modules information. + +Help on function ea2node in module ida_nalt: + +ea2node(*args) -> 'nodeidx_t' + ea2node(ea) -> nodeidx_t + + + Get netnode for the specified address. + + + @param ea (C++: ea_t) + +Help on function encoding_from_strtype in module ida_nalt: + +encoding_from_strtype(*args) -> 'char const *' + encoding_from_strtype(strtype) -> char const * + + + Get encoding name for this strtype. + + + @param strtype (C++: int32) + +Help on class enum_const_t in module ida_nalt: + +class enum_const_t(builtins.object) + | Proxy of C++ enum_const_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> enum_const_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_enum_const_t(...) + | delete_enum_const_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | serial + | enum_const_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | tid + | enum_const_t_tid_get(self) -> tid_t + +Help on function enum_import_names in module ida_nalt: + +enum_import_names(*args) -> 'int' + enum_import_names(mod_index, py_cb) -> int + + + Enumerate imports from a specific module. + Please refer to ex_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) + +Help on function find_custom_refinfo in module ida_nalt: + +find_custom_refinfo(*args) -> 'int' + find_custom_refinfo(name) -> int + + + Get id of a custom refinfo type. + + + @param name (C++: const char *) + +Help on function get_abi_name in module ida_nalt: + +get_abi_name(*args) + +Help on function get_absbase in module ida_nalt: + +get_absbase(*args) -> 'ea_t' + get_absbase(ea) -> ea_t + +Help on function get_aflags in module ida_nalt: + +get_aflags(*args) -> 'uint32' + get_aflags(ea) -> uint32 + +Help on function get_alignment in module ida_nalt: + +get_alignment(*args) -> 'uint32' + get_alignment(ea) -> uint32 + +Help on function get_archive_path in module ida_nalt: + +get_archive_path(*args) -> 'qstring *' + get_archive_path() -> str + + + Get archive file path from which input file was extracted. + +Help on function get_array_parameters in module ida_nalt: + +get_array_parameters(*args) -> 'ssize_t' + get_array_parameters(out, ea) -> ssize_t + +Help on function get_asm_inc_file in module ida_nalt: + +get_asm_inc_file(*args) -> 'qstring *' + get_asm_inc_file() -> str + + + Get name of the include file. + +Help on function get_custom_data_type_ids in module ida_nalt: + +get_custom_data_type_ids(*args) -> 'int' + get_custom_data_type_ids(cdis, ea) -> int + +Help on function get_custom_refinfo in module ida_nalt: + +get_custom_refinfo(*args) -> 'custom_refinfo_handler_t const *' + get_custom_refinfo(crid) -> custom_refinfo_handler_t const * + + + Get definition of a registered custom refinfo type. + + + @param crid (C++: int) + +Help on function get_default_encoding_idx in module ida_nalt: + +get_default_encoding_idx(*args) -> 'int' + get_default_encoding_idx(bpu) -> int + + + Get default encoding index for a specific string type. + + @param bpu: the amount of bytes per unit (e.g., 1 for ASCII, CP1252, + UTF-8..., 2 for UTF-16, 4 for UTF-32) 0 means no specific + encoding is set - byte values are displayed without + conversion. (C++: int) + +Help on function get_encoding_bpu in module ida_nalt: + +get_encoding_bpu(*args) -> 'int' + 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: the encoding index (C++: int) + @return: the number of bytes per units (1/2/4); -1 means error + +Help on function get_encoding_name in module ida_nalt: + +get_encoding_name(*args) -> 'char const *' + get_encoding_name(idx) -> char const * + + + Get encoding name for specific index (1-based). + + @param idx (C++: int) + @return: NULL if idx is out of bounds + +Help on function get_encoding_qty in module ida_nalt: + +get_encoding_qty(*args) -> 'int' + get_encoding_qty() -> int + + + Get total number of encodings (counted from 0) + +Help on function get_gotea in module ida_nalt: + +get_gotea(*args) -> 'ea_t' + get_gotea() -> ea_t + +Help on function get_ids_modnode in module ida_nalt: + +get_ids_modnode(*args) -> 'netnode' + get_ids_modnode() -> netnode + + + Get ids modnode. + +Help on function get_imagebase in module ida_nalt: + +get_imagebase(*args) -> 'ea_t' + get_imagebase() -> ea_t + + + Get image base address. + +Help on function get_import_module_name in module ida_nalt: + +get_import_module_name(*args) -> 'PyObject *' + get_import_module_name(mod_index) -> PyObject * + + + Returns the name of an imported module given its index + @return: None or the module name + +Help on function get_import_module_qty in module ida_nalt: + +get_import_module_qty(*args) -> 'uint' + get_import_module_qty() -> uint + + + Get number of import modules. + +Help on function get_ind_purged in module ida_nalt: + +get_ind_purged(*args) -> 'ea_t' + get_ind_purged(ea) -> ea_t + +Help on function get_input_file_path in module ida_nalt: + +get_input_file_path(*args) -> 'size_t' + get_input_file_path() -> str + + + Get full path of the input file. + +Help on function get_item_color in module ida_nalt: + +get_item_color(*args) -> 'bgcolor_t' + get_item_color(ea) -> bgcolor_t + +Help on function get_op_tinfo in module ida_nalt: + +get_op_tinfo(*args) -> 'bool' + get_op_tinfo(tif, ea, n) -> bool + +Help on function get_outfile_encoding_idx in module ida_nalt: + +get_outfile_encoding_idx(*args) -> 'int' + get_outfile_encoding_idx() -> int + + + Get the index of the encoding used when producing files 0 means no + that the IDB's default 1 byte-per-unit encoding is used + +Help on function get_refinfo in module ida_nalt: + +get_refinfo(*args) -> 'bool' + get_refinfo(ri, ea, n) -> bool + +Help on function get_reftype_by_size in module ida_nalt: + +get_reftype_by_size(*args) -> 'reftype_t' + 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) + +Help on function get_root_filename in module ida_nalt: + +get_root_filename(*args) -> 'size_t' + get_root_filename() -> str + + + Get file name only of the input file. + +Help on function get_source_linnum in module ida_nalt: + +get_source_linnum(*args) -> 'uval_t' + get_source_linnum(ea) -> uval_t + +Help on function get_str_encoding_idx in module ida_nalt: + +get_str_encoding_idx(*args) -> 'uchar' + get_str_encoding_idx(strtype) -> uchar + + + Get index of the string encoding for this string. + + + @param strtype (C++: int32) + +Help on function get_str_term1 in module ida_nalt: + +get_str_term1(*args) -> 'char' + get_str_term1(strtype) -> char + +Help on function get_str_term2 in module ida_nalt: + +get_str_term2(*args) -> 'char' + get_str_term2(strtype) -> char + +Help on function get_str_type in module ida_nalt: + +get_str_type(*args) -> 'uint32' + get_str_type(ea) -> uint32 + +Help on function get_str_type_code in module ida_nalt: + +get_str_type_code(*args) -> 'uchar' + get_str_type_code(strtype) -> uchar + +Help on function get_strtype_bpu in module ida_nalt: + +get_strtype_bpu(*args) -> 'int' + get_strtype_bpu(strtype) -> int + +Help on function get_switch_info in module ida_nalt: + +get_switch_info(*args) + +Help on function get_switch_parent in module ida_nalt: + +get_switch_parent(*args) -> 'ea_t' + get_switch_parent(ea) -> ea_t + +Help on function get_tinfo in module ida_nalt: + +get_tinfo(*args) -> 'bool' + get_tinfo(tif, ea) -> bool + +Help on function getnode in module ida_nalt: + +getnode(*args) -> 'netnode' + getnode(ea) -> netnode + +Help on function has_lname in module ida_nalt: + +has_lname(*args) -> 'bool' + has_lname(ea) -> bool + +Help on function has_ti in module ida_nalt: + +has_ti(*args) -> 'bool' + has_ti(ea) -> bool + +Help on function has_ti0 in module ida_nalt: + +has_ti0(*args) -> 'bool' + has_ti0(ea) -> bool + +Help on function has_ti1 in module ida_nalt: + +has_ti1(*args) -> 'bool' + has_ti1(ea) -> bool + +Help on function hide_border in module ida_nalt: + +hide_border(*args) -> 'void' + hide_border(ea) + +Help on function hide_item in module ida_nalt: + +hide_item(*args) -> 'void' + hide_item(ea) + +Help on function is__bnot0 in module ida_nalt: + +is__bnot0(*args) -> 'bool' + is__bnot0(ea) -> bool + +Help on function is__bnot1 in module ida_nalt: + +is__bnot1(*args) -> 'bool' + is__bnot1(ea) -> bool + +Help on function is__invsign0 in module ida_nalt: + +is__invsign0(*args) -> 'bool' + is__invsign0(ea) -> bool + +Help on function is__invsign1 in module ida_nalt: + +is__invsign1(*args) -> 'bool' + is__invsign1(ea) -> bool + +Help on function is_align_flow in module ida_nalt: + +is_align_flow(*args) -> 'bool' + is_align_flow(ea) -> bool + +Help on function is_colored_item in module ida_nalt: + +is_colored_item(*args) -> 'bool' + is_colored_item(ea) -> bool + +Help on function is_finally_visible_item in module ida_nalt: + +is_finally_visible_item(*args) -> 'bool' + is_finally_visible_item(ea) -> bool + + + Is instruction visible? + + + @param ea (C++: ea_t) + +Help on function is_fixed_spd in module ida_nalt: + +is_fixed_spd(*args) -> 'bool' + is_fixed_spd(ea) -> bool + +Help on function is_hidden_border in module ida_nalt: + +is_hidden_border(*args) -> 'bool' + is_hidden_border(ea) -> bool + +Help on function is_hidden_item in module ida_nalt: + +is_hidden_item(*args) -> 'bool' + is_hidden_item(ea) -> bool + +Help on function is_libitem in module ida_nalt: + +is_libitem(*args) -> 'bool' + is_libitem(ea) -> bool + +Help on function is_lzero0 in module ida_nalt: + +is_lzero0(*args) -> 'bool' + is_lzero0(ea) -> bool + +Help on function is_lzero1 in module ida_nalt: + +is_lzero1(*args) -> 'bool' + is_lzero1(ea) -> bool + +Help on function is_noret in module ida_nalt: + +is_noret(*args) -> 'bool' + is_noret(ea) -> bool + +Help on function is_notcode in module ida_nalt: + +is_notcode(*args) -> 'bool' + is_notcode(ea) -> bool + + + Is the address marked as not-code? + + + @param ea (C++: ea_t) + +Help on function is_notproc in module ida_nalt: + +is_notproc(*args) -> 'bool' + is_notproc(ea) -> bool + +Help on function is_pascal in module ida_nalt: + +is_pascal(*args) -> 'bool' + is_pascal(strtype) -> bool + +Help on function is_reftype_target_optional in module ida_nalt: + +is_reftype_target_optional(*args) -> 'bool' + is_reftype_target_optional(type) -> bool + + + Can the target be calculated using operand value? + + + @param type (C++: reftype_t) + +Help on function is_retfp in module ida_nalt: + +is_retfp(*args) -> 'bool' + is_retfp(ea) -> bool + +Help on function is_terse_struc in module ida_nalt: + +is_terse_struc(*args) -> 'bool' + is_terse_struc(ea) -> bool + +Help on function is_tilcmt in module ida_nalt: + +is_tilcmt(*args) -> 'bool' + is_tilcmt(ea) -> bool + +Help on function is_usersp in module ida_nalt: + +is_usersp(*args) -> 'bool' + is_usersp(ea) -> bool + +Help on function is_userti in module ida_nalt: + +is_userti(*args) -> 'bool' + is_userti(ea) -> bool + +Help on function is_visible_item in module ida_nalt: + +is_visible_item(*args) -> 'bool' + is_visible_item(ea) -> bool + + + Test visibility of item at given ea. + + + @param ea (C++: ea_t) + +Help on function is_zstroff in module ida_nalt: + +is_zstroff(*args) -> 'bool' + is_zstroff(ea) -> bool + +Help on function node2ea in module ida_nalt: + +node2ea(*args) -> 'ea_t' + node2ea(ndx) -> ea_t + +Help on class opinfo_t in module ida_nalt: + +class opinfo_t(builtins.object) + | Proxy of C++ opinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> opinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_opinfo_t(...) + | delete_opinfo_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cd + | opinfo_t_cd_get(self) -> custom_data_type_ids_t + | + | ec + | opinfo_t_ec_get(self) -> enum_const_t + | + | path + | opinfo_t_path_get(self) -> strpath_t + | + | ri + | opinfo_t_ri_get(self) -> refinfo_t + | + | strtype + | opinfo_t_strtype_get(self) -> int32 + | + | thisown + | The membership flag + | + | tid + | opinfo_t_tid_get(self) -> tid_t + +Help on class printop_t in module ida_nalt: + +class printop_t(builtins.object) + | Proxy of C++ printop_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> printop_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_printop_t(...) + | delete_printop_t(self) + | + | get_ti(self, *args) -> 'opinfo_t const *' + | get_ti(self) -> opinfo_t + | + | is_aflags_initialized(self, *args) -> 'bool' + | is_aflags_initialized(self) -> bool + | + | is_ti_initialized(self, *args) -> 'bool' + | is_ti_initialized(self) -> bool + | + | set_aflags_initialized(self, *args) -> 'void' + | set_aflags_initialized(self, v=True) + | + | set_ti_initialized(self, *args) -> 'void' + | set_ti_initialized(self, v=True) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | aflags + | printop_t_aflags_get(self) -> flags_t + | + | features + | printop_t_features_get(self) -> uchar + | + | flags + | printop_t_flags_get(self) -> flags_t + | + | is_ti_valid + | is_ti_initialized(self) -> bool + | + | suspop + | printop_t_suspop_get(self) -> int + | + | thisown + | The membership flag + | + | ti + | printop_t_ti_get(self) -> opinfo_t + +Help on class refinfo_t in module ida_nalt: + +class refinfo_t(builtins.object) + | Proxy of C++ refinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> refinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_refinfo_t(...) + | delete_refinfo_t(self) + | + | init(self, *args) -> 'void' + | init(self, reft_and_flags, _base=0, _target=BADADDR, _tdelta=0) + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_pastend(self, *args) -> 'bool' + | is_pastend(self) -> bool + | + | is_rvaoff(self, *args) -> 'bool' + | is_rvaoff(self) -> bool + | + | is_signed(self, *args) -> 'bool' + | is_signed(self) -> bool + | + | is_subtract(self, *args) -> 'bool' + | is_subtract(self) -> bool + | + | is_target_optional(self, *args) -> 'bool' + | is_target_optional(self) -> bool + | + | no_base_xref(self, *args) -> 'bool' + | no_base_xref(self) -> bool + | + | set_type(self, *args) -> 'void' + | set_type(self, t) + | + | type(self, *args) -> 'reftype_t' + | type(self) -> reftype_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | refinfo_t_base_get(self) -> ea_t + | + | flags + | refinfo_t_flags_get(self) -> uint32 + | + | target + | refinfo_t_target_get(self) -> ea_t + | + | tdelta + | refinfo_t_tdelta_get(self) -> adiff_t + | + | thisown + | The membership flag + +Help on function rename_encoding in module ida_nalt: + +rename_encoding(*args) -> 'bool' + rename_encoding(idx, encoding) -> bool + + + Change name for an encoding (1-based) + + + @param idx (C++: int) + @param encoding (C++: const char *) + +Help on function retrieve_input_file_crc32 in module ida_nalt: + +retrieve_input_file_crc32(*args) -> 'uint32' + 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. + +Help on function retrieve_input_file_md5 in module ida_nalt: + +retrieve_input_file_md5(*args) -> 'uchar [ANY]' + retrieve_input_file_md5() -> str + + + Get input file md5. + +Help on function retrieve_input_file_sha256 in module ida_nalt: + +retrieve_input_file_sha256(*args) -> 'uchar [ANY]' + retrieve_input_file_sha256() -> str + + + Get input file sha256. + +Help on function retrieve_input_file_size in module ida_nalt: + +retrieve_input_file_size(*args) -> 'uint32' + retrieve_input_file_size() -> uint32 + + + Get size of input file in bytes. + +Help on function set__bnot0 in module ida_nalt: + +set__bnot0(*args) -> 'void' + set__bnot0(ea) + +Help on function set__bnot1 in module ida_nalt: + +set__bnot1(*args) -> 'void' + set__bnot1(ea) + +Help on function set__invsign0 in module ida_nalt: + +set__invsign0(*args) -> 'void' + set__invsign0(ea) + +Help on function set__invsign1 in module ida_nalt: + +set__invsign1(*args) -> 'void' + set__invsign1(ea) + +Help on function set_abits in module ida_nalt: + +set_abits(*args) -> 'void' + set_abits(ea, bits) + +Help on function set_absbase in module ida_nalt: + +set_absbase(*args) -> 'void' + set_absbase(ea, x) + +Help on function set_aflags in module ida_nalt: + +set_aflags(*args) -> 'void' + set_aflags(ea, flags) + +Help on function set_align_flow in module ida_nalt: + +set_align_flow(*args) -> 'void' + set_align_flow(ea) + +Help on function set_alignment in module ida_nalt: + +set_alignment(*args) -> 'void' + set_alignment(ea, x) + +Help on function set_archive_path in module ida_nalt: + +set_archive_path(*args) -> 'bool' + set_archive_path(file) -> bool + + + Set archive file path from which input file was extracted. + + + @param file (C++: const char *) + +Help on function set_array_parameters in module ida_nalt: + +set_array_parameters(*args) -> 'void' + set_array_parameters(ea, _in) + +Help on function set_asm_inc_file in module ida_nalt: + +set_asm_inc_file(*args) -> 'bool' + set_asm_inc_file(file) -> bool + + + Set name of the include file. + + + @param file (C++: const char *) + +Help on function set_colored_item in module ida_nalt: + +set_colored_item(*args) -> 'void' + set_colored_item(ea) + +Help on function set_custom_data_type_ids in module ida_nalt: + +set_custom_data_type_ids(*args) -> 'void' + set_custom_data_type_ids(ea, cdis) + +Help on function set_default_encoding_idx in module ida_nalt: + +set_default_encoding_idx(*args) -> 'bool' + set_default_encoding_idx(bpu, idx) -> bool + + + set default encoding for a string type + + @param bpu: the amount of bytes per unit (C++: int) + @param idx: the encoding index idx can be 0 to disable encoding + conversion (C++: int) + +Help on function set_fixed_spd in module ida_nalt: + +set_fixed_spd(*args) -> 'void' + set_fixed_spd(ea) + +Help on function set_gotea in module ida_nalt: + +set_gotea(*args) -> 'void' + set_gotea(gotea) + +Help on function set_has_lname in module ida_nalt: + +set_has_lname(*args) -> 'void' + set_has_lname(ea) + +Help on function set_has_ti in module ida_nalt: + +set_has_ti(*args) -> 'void' + set_has_ti(ea) + +Help on function set_has_ti0 in module ida_nalt: + +set_has_ti0(*args) -> 'void' + set_has_ti0(ea) + +Help on function set_has_ti1 in module ida_nalt: + +set_has_ti1(*args) -> 'void' + set_has_ti1(ea) + +Help on function set_ids_modnode in module ida_nalt: + +set_ids_modnode(*args) -> 'void' + set_ids_modnode(id) + + + Set ids modnode. + + + @param id (C++: netnode) + +Help on function set_imagebase in module ida_nalt: + +set_imagebase(*args) -> 'void' + set_imagebase(base) + + + Set image base address. + + + @param base (C++: ea_t) + +Help on function set_item_color in module ida_nalt: + +set_item_color(*args) -> 'void' + set_item_color(ea, color) + +Help on function set_libitem in module ida_nalt: + +set_libitem(*args) -> 'void' + set_libitem(ea) + +Help on function set_lzero0 in module ida_nalt: + +set_lzero0(*args) -> 'void' + set_lzero0(ea) + +Help on function set_lzero1 in module ida_nalt: + +set_lzero1(*args) -> 'void' + set_lzero1(ea) + +Help on function set_noret in module ida_nalt: + +set_noret(*args) -> 'void' + set_noret(ea) + +Help on function set_notcode in module ida_nalt: + +set_notcode(*args) -> 'void' + set_notcode(ea) + + + Mark address so that it cannot be converted to instruction. + + + @param ea (C++: ea_t) + +Help on function set_notproc in module ida_nalt: + +set_notproc(*args) -> 'void' + set_notproc(ea) + +Help on function set_op_tinfo in module ida_nalt: + +set_op_tinfo(*args) -> 'bool' + set_op_tinfo(ea, n, tif) -> bool + +Help on function set_outfile_encoding_idx in module ida_nalt: + +set_outfile_encoding_idx(*args) -> 'bool' + set_outfile_encoding_idx(idx) -> bool + + + set encoding to be used when producing files + + @param idx: the encoding index idx can be 0 to use the IDB's default + 1-byte-per-unit encoding (C++: int) + +Help on function set_refinfo in module ida_nalt: + +set_refinfo(*args) -> 'bool' + set_refinfo(ea, n, type, target=BADADDR, base=0, tdelta=0) -> bool + +Help on function set_refinfo_ex in module ida_nalt: + +set_refinfo_ex(*args) -> 'bool' + set_refinfo_ex(ea, n, ri) -> bool + +Help on function set_retfp in module ida_nalt: + +set_retfp(*args) -> 'void' + set_retfp(ea) + +Help on function set_root_filename in module ida_nalt: + +set_root_filename(*args) -> 'void' + set_root_filename(file) + + + Set full path of the input file. + + + @param file (C++: const char *) + +Help on function set_source_linnum in module ida_nalt: + +set_source_linnum(*args) -> 'void' + set_source_linnum(ea, lnnum) + +Help on function set_str_type in module ida_nalt: + +set_str_type(*args) -> 'void' + set_str_type(ea, x) + +Help on function set_switch_info in module ida_nalt: + +set_switch_info(*args) -> 'void' + set_switch_info(ea, _in) + +Help on function set_switch_parent in module ida_nalt: + +set_switch_parent(*args) -> 'void' + set_switch_parent(ea, x) + +Help on function set_terse_struc in module ida_nalt: + +set_terse_struc(*args) -> 'void' + set_terse_struc(ea) + +Help on function set_tilcmt in module ida_nalt: + +set_tilcmt(*args) -> 'void' + set_tilcmt(ea) + +Help on function set_tinfo in module ida_nalt: + +set_tinfo(*args) -> 'bool' + set_tinfo(ea, tif) -> bool + +Help on function set_usemodsp in module ida_nalt: + +set_usemodsp(*args) -> 'void' + set_usemodsp(ea) + +Help on function set_usersp in module ida_nalt: + +set_usersp(*args) -> 'void' + set_usersp(ea) + +Help on function set_userti in module ida_nalt: + +set_userti(*args) -> 'void' + set_userti(ea) + +Help on function set_visible_item in module ida_nalt: + +set_visible_item(*args) -> 'void' + set_visible_item(ea, visible) + + + Change visibility of item at given ea. + + + @param ea (C++: ea_t) + @param visible (C++: bool) + +Help on function set_zstroff in module ida_nalt: + +set_zstroff(*args) -> 'void' + set_zstroff(ea) + +Help on class strpath_ids_array in module ida_nalt: + +class strpath_ids_array(builtins.object) + | Proxy of C++ wrapped_array_t< tid_t,32 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'unsigned-ea-like-numeric-type const &'↗ + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | __init__(self, *args) + | __init__(self, data) -> strpath_ids_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_strpath_ids_array(...) + | delete_strpath_ids_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | strpath_ids_array_data_get(self) -> unsigned-ea-like-numeric-type (&)[32]↗ + | + | thisown + | The membership flag + +Help on class strpath_t in module ida_nalt: + +class strpath_t(builtins.object) + | Proxy of C++ strpath_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strpath_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_strpath_t(...) + | delete_strpath_t(self) + | + | _strpath_t__getIds = __getIds(self, *args) -> 'wrapped_array_t< tid_t,32 >' + | __getIds(self) -> strpath_ids_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | delta + | strpath_t_delta_get(self) -> adiff_t + | + | ids + | __getIds(self) -> strpath_ids_array + | + | len + | strpath_t_len_get(self) -> int + | + | thisown + | The membership flag + +Help on class switch_info_t in module ida_nalt: + +class switch_info_t(builtins.object) + | Proxy of C++ switch_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> switch_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_switch_info_t(...) + | delete_switch_info_t(self) + | + | _get_values_lowcase(self, *args) -> 'ea_t' + | _get_values_lowcase(self) -> ea_t + | + | _set_values_lowcase(self, *args) -> 'void' + | _set_values_lowcase(self, values) + | + | assign(self, *args) -> 'void' + | assign(self, other) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | get_jrange_vrange(self, *args) -> 'bool' + | get_jrange_vrange(self, jrange=None, vrange=None) -> bool + | + | get_jtable_element_size(self, *args) -> 'int' + | get_jtable_element_size(self) -> int + | + | get_jtable_size(self, *args) -> 'int' + | get_jtable_size(self) -> int + | + | get_lowcase(self, *args) -> 'sval_t' + | get_lowcase(self) -> sval_t + | + | get_shift(self, *args) -> 'int' + | get_shift(self) -> int + | + | get_version(self, *args) -> 'int' + | get_version(self) -> int + | + | get_vtable_element_size(self, *args) -> 'int' + | get_vtable_element_size(self) -> int + | + | has_default(self, *args) -> 'bool' + | has_default(self) -> bool + | + | has_elbase(self, *args) -> 'bool' + | has_elbase(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_indirect(self, *args) -> 'bool' + | is_indirect(self) -> bool + | + | is_nolowcase(self, *args) -> 'bool' + | is_nolowcase(self) -> bool + | + | is_sparse(self, *args) -> 'bool' + | is_sparse(self) -> bool + | + | is_subtract(self, *args) -> 'bool' + | is_subtract(self) -> bool + | + | set_elbase(self, *args) -> 'void' + | set_elbase(self, base) + | + | set_expr(self, *args) -> 'void' + | set_expr(self, r, dt) + | + | set_jtable_element_size(self, *args) -> 'void' + | set_jtable_element_size(self, size) + | + | set_jtable_size(self, *args) -> 'void' + | set_jtable_size(self, size) + | + | set_shift(self, *args) -> 'void' + | set_shift(self, shift) + | + | set_vtable_element_size(self, *args) -> 'void' + | set_vtable_element_size(self, size) + | + | use_std_table(self, *args) -> 'bool' + | use_std_table(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | custom + | switch_info_t_custom_get(self) -> uval_t + | + | defjump + | switch_info_t_defjump_get(self) -> ea_t + | + | elbase + | switch_info_t_elbase_get(self) -> ea_t + | + | expr_ea + | switch_info_t_expr_ea_get(self) -> ea_t + | + | flags + | switch_info_t_flags_get(self) -> uint32 + | + | ind_lowcase + | switch_info_t_ind_lowcase_get(self) -> sval_t + | + | jcases + | switch_info_t_jcases_get(self) -> int + | + | jumps + | switch_info_t_jumps_get(self) -> ea_t + | + | lowcase + | _get_values_lowcase(self) -> ea_t + | + | marks + | switch_info_t_marks_get(self) -> eavec_t * + | + | ncases + | switch_info_t_ncases_get(self) -> ushort + | + | regdtype + | switch_info_t_regdtype_get(self) -> op_dtype_t + | + | regnum + | switch_info_t_regnum_get(self) -> int + | + | startea + | switch_info_t_startea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | values + | _get_values_lowcase(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | SWITCH_INFO_VERSION = 2 + +Help on function switch_info_t__from_ptrval__ in module ida_nalt: + +switch_info_t__from_ptrval__(*args) -> 'switch_info_t *' + switch_info_t__from_ptrval__(ptrval) -> switch_info_t + +Help on function unhide_border in module ida_nalt: + +unhide_border(*args) -> 'void' + unhide_border(ea) + +Help on function unhide_item in module ida_nalt: + +unhide_item(*args) -> 'void' + unhide_item(ea) + +Help on function uses_modsp in module ida_nalt: + +uses_modsp(*args) -> 'bool' + uses_modsp(ea) -> bool + +Help on function validate_idb_names in module ida_nalt: + +validate_idb_names(*args) -> 'int' + validate_idb_names(do_repair) -> int + +=== ida_nalt EPYDOC INJECTIONS === +ida_nalt.AFL_ALIGNFLOW +""" +the previous insn was created for alignment purposes only +""" + +ida_nalt.AFL_BNOT0 +""" +the 1st operand is bitwise negated +""" + +ida_nalt.AFL_BNOT1 +""" +the 2nd operand is bitwise negated +""" + +ida_nalt.AFL_COLORED +""" +has user defined instruction color? +""" + +ida_nalt.AFL_FIXEDSPD +""" +should not be modified by modules + +sp delta value is fixed by analysis. +""" + +ida_nalt.AFL_HIDDEN +""" +the item is hidden completely +""" + +ida_nalt.AFL_LIB +""" +item from the standard library. low level flag, is used to set +'FUNC_LIB' of 'func_t' +""" + +ida_nalt.AFL_LINNUM +""" +has line number info +""" + +ida_nalt.AFL_LNAME +""" +has local name too ( 'FF_NAME' should be set) +""" + +ida_nalt.AFL_LZERO0 +""" +toggle leading zeroes for the 1st operand +""" + +ida_nalt.AFL_LZERO1 +""" +toggle leading zeroes for the 2nd operand +""" + +ida_nalt.AFL_MANUAL +""" +the instruction/data is specified by the user +""" + +ida_nalt.AFL_NOBRD +""" +the code/data border is hidden +""" + +ida_nalt.AFL_NORET +""" +for imported function pointers: doesn't return. this flag can also be +used for any instruction which halts or finishes the program execution +""" + +ida_nalt.AFL_NOTCODE +""" +autoanalysis should not create code here +""" + +ida_nalt.AFL_NOTPROC +""" +autoanalysis should not create proc here +""" + +ida_nalt.AFL_PUBNAM +""" +name is public (inter-file linkage) +""" + +ida_nalt.AFL_RETFP +""" +function returns a floating point value +""" + +ida_nalt.AFL_SIGN0 +""" +code: toggle sign of the 1st operand +""" + +ida_nalt.AFL_SIGN1 +""" +code: toggle sign of the 2nd operand +""" + +ida_nalt.AFL_TERSESTR +""" +terse structure variable display? +""" + +ida_nalt.AFL_TI +""" +has typeinfo? ( 'NSUP_TYPEINFO' ) +""" + +ida_nalt.AFL_TI0 +""" +has typeinfo for operand 0? ( 'NSUP_OPTYPES' ) +""" + +ida_nalt.AFL_TI1 +""" +has typeinfo for operand 1? ( 'NSUP_OPTYPES' +1) +""" + +ida_nalt.AFL_TILCMT +""" +has type comment? (such a comment may be changed by IDA) +""" + +ida_nalt.AFL_USEMODSP +""" +example: pop [rsp+N] + +insn modifes SP and uses the modified value +""" + +ida_nalt.AFL_USERSP +""" +user-defined SP value +""" + +ida_nalt.AFL_USERTI +""" +(comes from the user or type library) + +the type information is definitive. +""" + +ida_nalt.AFL_WEAKNAM +""" +name is weak +""" + +ida_nalt.AFL_ZSTROFF +""" +display struct field name at 0 offset when displaying an offset. +example: \\v{offset somestruct.field_0} if this flag is clear, then +\\v{offset somestruct} +""" + +ida_nalt.AP_ALLOWDUPS +""" +use 'dup' construct +""" + +ida_nalt.AP_ARRAY +""" +create as array (this flag is not stored in database) +""" + +ida_nalt.AP_IDXBASEMASK +""" +mask for number base of the indexes +""" + +ida_nalt.AP_IDXBIN +""" +display indexes in binary +""" + +ida_nalt.AP_IDXDEC +""" +display indexes in decimal +""" + +ida_nalt.AP_IDXHEX +""" +display indexes in hex +""" + +ida_nalt.AP_IDXOCT +""" +display indexes in octal +""" + +ida_nalt.AP_INDEX +""" +display array element indexes as comments +""" + +ida_nalt.AP_SIGNED +""" +treats numbers as signed +""" + +ida_nalt.MAXSTRUCPATH +""" +maximal inclusion depth of unions +""" + +ida_nalt.NALT_ABSBASE +""" +absolute segment location +""" + +ida_nalt.NALT_AFLAGS +""" +additional flags for an item +""" + +ida_nalt.NALT_ALIGN +""" +(should by equal to power of 2) + +alignment value if the item is 'FF_ALIGN' +""" + +ida_nalt.NALT_COLOR +""" +instruction/data background color +""" + +ida_nalt.NALT_CREF_FROM +""" +code xref from, idx: source address +""" + +ida_nalt.NALT_CREF_TO +""" +code xref to, idx: target address +""" + +ida_nalt.NALT_DREF_FROM +""" +data xref from, idx: source address +""" + +ida_nalt.NALT_DREF_TO +""" +data xref to, idx: target address +""" + +ida_nalt.NALT_ENUM0 +""" +enum id for the first operand +""" + +ida_nalt.NALT_ENUM1 +""" +enum id for the second operand +""" + +ida_nalt.NALT_GR_LAYX +""" +group layout ptrs, hash: md5 of 'belongs' +""" + +ida_nalt.NALT_LINNUM +""" +source line number +""" + +ida_nalt.NALT_PURGE +""" +number of bytes purged from the stack when a function is called +indirectly +""" + +ida_nalt.NALT_STRTYPE +""" +type of string item +""" + +ida_nalt.NALT_STRUCT +""" +struct id +""" + +ida_nalt.NALT_SWITCH +""" +switch idiom address (used at jump targets) +""" + +ida_nalt.NSUP_ARGEAS +""" +instructions that initialize call arguments +""" + +ida_nalt.NSUP_ARRAY +""" +array parameters +""" + +ida_nalt.NSUP_CMT +""" +regular comment +""" + +ida_nalt.NSUP_CUSTDT +""" +custom data type id +""" + +ida_nalt.NSUP_FOP1 +""" +forced operand 1 +""" + +ida_nalt.NSUP_FOP2 +""" +forced operand 2 +""" + +ida_nalt.NSUP_FOP3 +""" +forced operand 3 +""" + +ida_nalt.NSUP_FOP4 +""" +forced operand 4 +""" + +ida_nalt.NSUP_FOP5 +""" +forced operand 5 +""" + +ida_nalt.NSUP_FOP6 +""" +forced operand 6 +""" + +ida_nalt.NSUP_FOP7 +""" +forced operand 7 +""" + +ida_nalt.NSUP_FOP8 +""" +forced operand 8 +""" + +ida_nalt.NSUP_FTAILS +""" +function tails or tail referers values NSUP_FTAILS..NSUP_FTAILS+0x1000 +are reserved +""" + +ida_nalt.NSUP_GROUP +""" +graph group information values NSUP_GROUP..NSUP_GROUP+0x1000 are +reserved +""" + +ida_nalt.NSUP_GROUPS +""" +SEG_GRP: pack_dd encoded list of selectors. +""" + +ida_nalt.NSUP_GR_INFO +""" +group node info: color, ea, text +""" + +ida_nalt.NSUP_GR_LAYT +""" +group layouts, idx: layout pointer +""" + +ida_nalt.NSUP_JINFO +""" +jump table info +""" + +ida_nalt.NSUP_LLABEL +""" +local labels. values NSUP_LLABEL..NSUP_LLABEL+0x1000 are reserved +""" + +ida_nalt.NSUP_MANUAL +""" +manual instruction. values NSUP_MANUAL..NSUP_MANUAL+0x1000 are +reserved +""" + +ida_nalt.NSUP_OMFGRP +""" +OMF: group of segments (not used anymore) +""" + +ida_nalt.NSUP_OPTYPES +""" +operand type information. values NSUP_OPTYPES..NSUP_OPTYPES+0x100000 +are reserved +""" + +ida_nalt.NSUP_OREF0 +""" +outer complex reference information for operand 1 +""" + +ida_nalt.NSUP_OREF1 +""" +outer complex reference information for operand 2 +""" + +ida_nalt.NSUP_OREF2 +""" +outer complex reference information for operand 3 +""" + +ida_nalt.NSUP_OREF3 +""" +outer complex reference information for operand 4 +""" + +ida_nalt.NSUP_OREF4 +""" +outer complex reference information for operand 5 +""" + +ida_nalt.NSUP_OREF5 +""" +outer complex reference information for operand 6 +""" + +ida_nalt.NSUP_OREF6 +""" +outer complex reference information for operand 7 +""" + +ida_nalt.NSUP_OREF7 +""" +outer complex reference information for operand 8 +""" + +ida_nalt.NSUP_ORIGFMD +""" +function metadata before lumina information was applied values +NSUP_ORIGFMD..NSUP_ORIGFMD+0x1000 are reserved +""" + +ida_nalt.NSUP_POINTS +""" +SP change points blob (see funcs.cpp). values +NSUP_POINTS..NSUP_POINTS+0x1000 are reserved +""" + +ida_nalt.NSUP_REF0 +""" +complex reference information for operand 1 +""" + +ida_nalt.NSUP_REF1 +""" +complex reference information for operand 2 +""" + +ida_nalt.NSUP_REF2 +""" +complex reference information for operand 3 +""" + +ida_nalt.NSUP_REF3 +""" +complex reference information for operand 4 +""" + +ida_nalt.NSUP_REF4 +""" +complex reference information for operand 5 +""" + +ida_nalt.NSUP_REF5 +""" +complex reference information for operand 6 +""" + +ida_nalt.NSUP_REF6 +""" +complex reference information for operand 7 +""" + +ida_nalt.NSUP_REF7 +""" +complex reference information for operand 8 +""" + +ida_nalt.NSUP_REGARG +""" +register argument type/name descriptions values +NSUP_REGARG..NSUP_REGARG+0x1000 are reserved +""" + +ida_nalt.NSUP_REGVAR +""" +register variables. values NSUP_REGVAR..NSUP_REGVAR+0x1000 are +reserved +""" + +ida_nalt.NSUP_REPCMT +""" +repeatable comment +""" + +ida_nalt.NSUP_SEGTRANS +""" +segment translations +""" + +ida_nalt.NSUP_STROFF0 +""" +stroff: struct path for the first operand +""" + +ida_nalt.NSUP_STROFF1 +""" +stroff: struct path for the second operand +""" + +ida_nalt.NSUP_SWITCH +""" +switch information +""" + +ida_nalt.NSUP_TYPEINFO +""" +type information. values NSUP_TYPEINFO..NSUP_TYPEINFO+0x1000 are +reserved +""" + +ida_nalt.NSUP_XREFPOS +""" +saved xref address and type in the xrefs window +""" + +ida_nalt.PATCH_TAG +""" +Patch netnode tag. +""" + +ida_nalt.REFINFO_CUSTOM +""" +a custom reference the kernel will call \\ph{notify}(ph.custom_offset, +.... that can change all arguments used for calculations. This flag is +useful for custom fixups +""" + +ida_nalt.REFINFO_NOBASE +""" +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 +""" + +ida_nalt.REFINFO_PASTEND +""" +reference past an item it may point to an nonexistent address do not +destroy alignment dirs +""" + +ida_nalt.REFINFO_RVAOFF +""" +based reference (rva) 'refinfo_t::base' will be forced to +'get_imagebase()' such a reference is displayed with the \\ash{a_rva} +keyword +""" + +ida_nalt.REFINFO_SIGNEDOP +""" +the operand value is sign-extended (only supported for +REF_OFF8/16/32/64) +""" + +ida_nalt.REFINFO_SUBTRACT +""" +the reference value is subtracted from the base value instead of (as +usual) being added to it +""" + +ida_nalt.REFINFO_TYPE +""" +reference type +""" + +ida_nalt.RIDX_ABINAME +""" +ABI name (processor specific) +""" + +ida_nalt.RIDX_ARCHIVE_PATH +""" +archive file path +""" + +ida_nalt.RIDX_C_MACROS +""" +C predefined macros. +""" + +ida_nalt.RIDX_DBG_BINPATHS +""" +unused (20 indexes) +""" + +ida_nalt.RIDX_DUALOP_GRAPH +""" +Graph text representation options. +""" + +ida_nalt.RIDX_DUALOP_TEXT +""" +Text text representation options. +""" + +ida_nalt.RIDX_FILE_FORMAT_NAME +""" +file format name for loader modules +""" + +ida_nalt.RIDX_GROUPS +""" +segment group information (see init_groups()) +""" + +ida_nalt.RIDX_H_PATH +""" +C header path. +""" + +ida_nalt.RIDX_IDA_VERSION +""" +version of ida which created the database +""" + +ida_nalt.RIDX_INCLUDE +""" +assembler include file name +""" + +ida_nalt.RIDX_MD5 +""" +MD5 of the input file. +""" + +ida_nalt.RIDX_NOTEPAD +""" +notepad blob, occupies 1000 indexes (1MB of text) +""" + +ida_nalt.RIDX_PROBLEMS +""" +problem lists +""" + +ida_nalt.RIDX_SELECTED_EXTLANG +""" +last selected extlang name (from the execute script box) +""" + +ida_nalt.RIDX_SELECTORS +""" +2..63 are for selector_t blob (see init_selectors()) +""" + +ida_nalt.RIDX_SHA256 +""" +SHA256 of the input file. +""" + +ida_nalt.RIDX_SMALL_IDC +""" +Instant IDC statements, blob. +""" + +ida_nalt.RIDX_SMALL_IDC_OLD +""" +Instant IDC statements (obsolete) +""" + +ida_nalt.RIDX_SRCDBG_PATHS +""" +source debug paths, occupies 20 indexes +""" + +ida_nalt.RIDX_SRCDBG_UNDESIRED +""" +user-closed source files, occupies 20 indexes +""" + +ida_nalt.RIDX_STR_ENCODINGS +""" +a list of encodings for the program strings +""" + +ida_nalt.STRENC_DEFAULT +""" +use default encoding for this type (see 'get_default_encoding_idx()' ) +""" + +ida_nalt.STRENC_NONE +""" +force no-conversion encoding +""" + +ida_nalt.STRTYPE_C +""" +Zero-terminated 16bit chars. +""" + +ida_nalt.STRTYPE_C_16 +""" +Zero-terminated 32bit chars. +""" + +ida_nalt.STRTYPE_C_32 +""" +Pascal-style, one-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN2 +""" +Pascal-style, 16bit chars, two-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN2_16 +""" +Pascal-style, four-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN4 +""" +Pascal-style, 16bit chars, four-byte length prefix. +""" + +ida_nalt.STRTYPE_PASCAL +""" +Pascal-style, 16bit chars, one-byte length prefix. +""" + +ida_nalt.STRTYPE_PASCAL_16 +""" +Pascal-style, two-byte length prefix. +""" + +ida_nalt.STRTYPE_TERMCHR +""" +C-style string. + +< Character-terminated string. The termination characters are kept in +the next bytes of string type. +""" + +ida_nalt.SWI_CUSTOM +""" +custom jump table. \\ph{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' ) +""" + +ida_nalt.SWI_DEFRET +""" +return in the default case (defjump==BADADDR) +""" + +ida_nalt.SWI_DEF_IN_TBL +""" +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) +=""> ==+ 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. +""" + +ida_nalt.SWI_ELBASE +""" +segment will be used) + +elbase is present (otherwise the base of the switch +""" + +ida_nalt.SWI_HXNOLOWCASE +""" +lowcase value should not be used by the decompiler (internal flag) +""" + +ida_nalt.SWI_INDIRECT +""" +(for sparse switches) + +value table elements are used as indexes into the jump table +""" + +ida_nalt.SWI_J32 +""" +32-bit jump offsets +""" + +ida_nalt.SWI_JMPINSN +""" +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. +""" + +ida_nalt.SWI_JMP_INV +""" +for first entry in values table) + +jumptable is inversed. (last entry is +""" + +ida_nalt.SWI_JSIZE +""" +jump offset expansion bit +""" + +ida_nalt.SWI_RESERVED +""" +was: SWI_DEFAULT +""" + +ida_nalt.SWI_SELFREL +""" +jump address is relative to the element not to ELBASE +""" + +ida_nalt.SWI_SEPARATE +""" +create an array of individual elements (otherwise separate items) +""" + +ida_nalt.SWI_SHIFT_MASK +""" +use formula (element< 'qstring *, adiff_t *' + 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: displacement from the name (C++: adiff_t *) + @param n: number of operand n which the name appears (C++: int) + @param path: 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). (C++: const tid_t + *) + @param flags: the input flags. they will be returned if the struct + cannot be found. (C++: flags_t) + @param delta: delta to add to displacement (C++: adiff_t) + @param appzero: should append a struct field name if the displacement + is zero? (C++: bool) + @return: flags of the innermost struct member or the input flags + +Help on function calc_gtn_flags in module ida_name: + +calc_gtn_flags(fromaddr, ea) + Calculate flags for get_ea_name() function + + @param fromaddr: the referring address. May be BADADDR. + @param ea: linear address + + @return: flags + +Help on function cleanup_name in module ida_name: + +cleanup_name(*args) -> 'qstring *' + cleanup_name(ea, name, flags=0) -> str + +Help on function del_debug_names in module ida_name: + +del_debug_names(*args) -> 'void' + del_debug_names(ea1, ea2) + +Help on function del_global_name in module ida_name: + +del_global_name(*args) -> 'bool' + del_global_name(ea) -> bool + +Help on function del_local_name in module ida_name: + +del_local_name(*args) -> 'bool' + del_local_name(ea) -> bool + +Help on function demangle_name in module ida_name: + +demangle_name(*args) -> 'qstring *' + demangle_name(name, disable_mask, demreq=DQT_FULL) -> str + + + Demangle a name. + + @param name: name to demangle (C++: const char *) + @param disable_mask: bits to inhibit parts of demangled name (see + MNG_). by the M_COMPILER bits a specific compiler + can be selected (see MT_). (C++: uint32) + @param demreq (C++: demreq_type_t) + @return: ME_... or MT__ bitmasks from demangle.hpp + +Help on class ea_name_t in module ida_name: + +class ea_name_t(builtins.object) + | Proxy of C++ ea_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ea_name_t + | __init__(self, _ea, _name) -> ea_name_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ea_name_t(...) + | delete_ea_name_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | ea_name_t_ea_get(self) -> ea_t + | + | name + | ea_name_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class ea_name_vec_t in module ida_name: + +class ea_name_vec_t(builtins.object) + | Proxy of C++ qvector< ea_name_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'ea_name_t const &' + | __getitem__(self, i) -> ea_name_t + | + | __init__(self, *args) + | __init__(self) -> ea_name_vec_t + | __init__(self, x) -> ea_name_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_ea_name_vec_t(...) + | delete_ea_name_vec_t(self) + | + | at(self, *args) -> 'ea_name_t const &' + | at(self, _idx) -> ea_name_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< ea_name_t >::const_iterator' + | begin(self) -> ea_name_t + | begin(self) -> ea_name_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< ea_name_t >::const_iterator' + | end(self) -> ea_name_t + | end(self) -> ea_name_t + | + | erase(self, *args) -> 'qvector< ea_name_t >::iterator' + | erase(self, it) -> ea_name_t + | erase(self, first, last) -> ea_name_t + | + | extract(self, *args) -> 'ea_name_t *' + | extract(self) -> ea_name_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=ea_name_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< ea_name_t >::iterator' + | insert(self, it, x) -> ea_name_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'ea_name_t &' + | push_back(self, x) + | push_back(self) -> ea_name_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function extract_name in module ida_name: + +extract_name(*args) -> 'qstring *' + extract_name(line, x) -> str + + + Extract a name or address from the specified string. + + @param line: input string (C++: const char *) + @param x: x coordinate of cursor (C++: int) + @return: -1 if cannot extract. otherwise length of the name + +Help on function force_name in module ida_name: + +force_name(*args) -> 'bool' + force_name(ea, name, flags=0) -> bool + +Help on function get_colored_demangled_name in module ida_name: + +get_colored_demangled_name(*args) -> 'qstring' + get_colored_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring + +Help on function get_colored_long_name in module ida_name: + +get_colored_long_name(*args) -> 'qstring' + get_colored_long_name(ea, gtn_flags=0) -> qstring + +Help on function get_colored_name in module ida_name: + +get_colored_name(*args) -> 'qstring' + get_colored_name(ea) -> qstring + +Help on function get_colored_short_name in module ida_name: + +get_colored_short_name(*args) -> 'qstring' + get_colored_short_name(ea, gtn_flags=0) -> qstring + +Help on function get_cp_validity in module ida_name: + +get_cp_validity(*args) -> 'bool' + 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) + @param cp (C++: wchar32_t) + @param endcp (C++: wchar32_t) + +Help on function get_debug_name in module ida_name: + +get_debug_name(*args) -> 'qstring *' + get_debug_name(ea_ptr, how) -> str + +Help on function get_debug_name_ea in module ida_name: + +get_debug_name_ea(*args) -> 'ea_t' + get_debug_name_ea(name) -> ea_t + +Help on function get_debug_names in module ida_name: + +get_debug_names(*args) -> 'PyObject *' + get_debug_names(names, ea1, ea2) + get_debug_names(ea1, ea2, return_list=False) -> PyObject * + +Help on function get_demangled_name in module ida_name: + +get_demangled_name(*args) -> 'qstring' + get_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring + +Help on function get_ea_name in module ida_name: + +get_ea_name(*args) -> 'qstring' + get_ea_name(ea, gtn_flags=0) -> qstring + + + Get name at the specified address. + + @param ea: linear address (C++: ea_t) + @param gtn_flags: how exactly the name should be retrieved. + combination of bits for get_ea_name() function. + There is a convenience bits (C++: int) + @return: success + +Help on function get_long_name in module ida_name: + +get_long_name(*args) -> 'qstring' + get_long_name(ea, gtn_flags=0) -> qstring + +Help on function get_name in module ida_name: + +get_name(*args) -> 'qstring' + get_name(ea) -> qstring + +Help on function get_name_base_ea in module ida_name: + +get_name_base_ea(*args) -> 'ea_t' + get_name_base_ea(_from, to) -> ea_t + + + Get address of the name used in the expression for the address + + @param _from: address of the operand which references to the address + (C++: ea_t) + @param to: the referenced address (C++: ea_t) + @return: address of the name used to represent the operand + +Help on function get_name_color in module ida_name: + +get_name_color(*args) -> 'color_t' + get_name_color(_from, ea) -> color_t + + + Calculate flags for 'get_ea_name()' function. + + Get name color. + + @param _from: 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. (C++: ea_t) + @param ea: linear address (C++: ea_t) + +Help on function get_name_ea in module ida_name: + +get_name_ea(*args) -> 'ea_t' + get_name_ea(_from, name) -> ea_t + + + Get address of the name. Dummy names (like byte_xxxx where xxxx are + hex digits) are parsed by this function to obtain the address. The + database is not consulted for them. This function works only with + regular names. + + @param _from: linear address where the name is used. if not + applicable, then should be BADADDR . (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: address of the name or BADADDR + +Help on function get_name_expr in module ida_name: + +get_name_expr(*args) -> 'qstring *' + get_name_expr(_from, n, ea, off, flags=0x0001) -> str + + + 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: 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. (C++: ea_t) + @param n: number of referencing operand. for data items specify 0 + (C++: int) + @param ea: address to convert to name expression (C++: ea_t) + @param off: 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. (C++: uval_t) + @param flags: Name expression flags (C++: int) + @return: < 0 if address is not valid, no segment or other failure. + otherwise the length of the name expression in characters. + +Help on function get_name_value in module ida_name: + +get_name_value(*args) -> 'uval_t *' + get_name_value(_from, name) -> int + + + Get value of the name. This function knows about: regular names, + enums, special segments, etc. + + @param _from: linear address where the name is used if not applicable, + then should be BADADDR (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: Name value result codes + +Help on function get_nice_colored_name in module ida_name: + +get_nice_colored_name(*args) -> 'qstring *' + get_nice_colored_name(ea, flags=0) -> str + + + Get a nice colored name at the specified address. Ex:segment:sub+offse + tsegment:sub:local_labelsegment:labelsegment:addresssegment:address+of + fset + + @param ea (C++: ea_t) + @param flags (C++: int) + @return: the length of the generated name in bytes. + +Help on function get_nlist_ea in module ida_name: + +get_nlist_ea(*args) -> 'ea_t' + get_nlist_ea(idx) -> ea_t + + + Get address from the list at 'idx'. + + + @param idx (C++: size_t) + +Help on function get_nlist_idx in module ida_name: + +get_nlist_idx(*args) -> 'size_t' + get_nlist_idx(ea) -> size_t + + + Get index of the name in the listreturns the closest match. may return + idx >= size. + + @param ea (C++: ea_t) + +Help on function get_nlist_name in module ida_name: + +get_nlist_name(*args) -> 'char const *' + get_nlist_name(idx) -> char const * + + + Get name using idx. + + + @param idx (C++: size_t) + +Help on function get_nlist_size in module ida_name: + +get_nlist_size(*args) -> 'size_t' + get_nlist_size() -> size_t + + + Get number of names in the list. + +Help on function get_short_name in module ida_name: + +get_short_name(*args) -> 'qstring' + get_short_name(ea, gtn_flags=0) -> qstring + +Help on function get_visible_name in module ida_name: + +get_visible_name(*args) -> 'qstring' + get_visible_name(ea, gtn_flags=0) -> qstring + +Help on function hide_name in module ida_name: + +hide_name(*args) -> 'void' + hide_name(ea) + + + Remove name from the list of names + + @param ea: address of the name (C++: ea_t) + +Help on function is_ident in module ida_name: + +is_ident(*args) -> 'bool' + is_ident(name) -> bool + + + Is a valid name? (including ::MangleChars) + + + @param name (C++: const char *) + +Help on function is_ident_cp in module ida_name: + +is_ident_cp(*args) -> 'bool' + is_ident_cp(cp) -> bool + + + Can a character appear in a name? (present in ::NameChars or + ::MangleChars) + + + @param cp (C++: wchar32_t) + +Help on function is_in_nlist in module ida_name: + +is_in_nlist(*args) -> 'bool' + is_in_nlist(ea) -> bool + + + Is name included into names list? + + + @param ea (C++: ea_t) + +Help on function is_name_defined_locally in module ida_name: + +is_name_defined_locally(*args) -> 'bool' + 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: pointer to function (C++: func_t *) + @param name: name to check (C++: const char *) + @param ignore_name_def: which names to ignore when checking (C++: + ignore_name_def_t) + @param ea1: the starting address of the range inside the function + (optional) (C++: ea_t) + @param ea2: the ending address of the range inside the function + (optional) (C++: ea_t) + @return: true if the name has been defined + +Help on function is_public_name in module ida_name: + +is_public_name(*args) -> 'bool' + is_public_name(ea) -> bool + +Help on function is_strlit_cp in module ida_name: + +is_strlit_cp(*args) -> 'bool' + 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 *) + +Help on function is_uname in module ida_name: + +is_uname(*args) -> 'bool' + is_uname(name) -> bool + + + Is valid user-specified name? (valid name & !dummy prefix). + + @param name: name to test. may be NULL. (C++: const char *) + +Help on function is_valid_cp in module ida_name: + +is_valid_cp(*args) -> 'bool' + 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) + @param data (C++: void *) + +Help on function is_valid_typename in module ida_name: + +is_valid_typename(*args) -> 'bool' + is_valid_typename(name) -> bool + + + Is valid type name? + + @param name: name to test. may be NULL. (C++: const char *) + +Help on function is_visible_cp in module ida_name: + +is_visible_cp(*args) -> 'bool' + is_visible_cp(cp) -> bool + + + Can a character be displayed in a name? (present in ::NameChars) + + + @param cp (C++: wchar32_t) + +Help on function is_weak_name in module ida_name: + +is_weak_name(*args) -> 'bool' + is_weak_name(ea) -> bool + +Help on function make_name_auto in module ida_name: + +make_name_auto(*args) -> 'bool' + make_name_auto(ea) -> bool + +Help on function make_name_non_public in module ida_name: + +make_name_non_public(*args) -> 'void' + make_name_non_public(ea) + +Help on function make_name_non_weak in module ida_name: + +make_name_non_weak(*args) -> 'void' + make_name_non_weak(ea) + +Help on function make_name_public in module ida_name: + +make_name_public(*args) -> 'void' + make_name_public(ea) + +Help on function make_name_user in module ida_name: + +make_name_user(*args) -> 'bool' + make_name_user(ea) -> bool + +Help on function make_name_weak in module ida_name: + +make_name_weak(*args) -> 'void' + make_name_weak(ea) + +Help on function rebuild_nlist in module ida_name: + +rebuild_nlist(*args) -> 'void' + rebuild_nlist() + + + Rebuild names list. + +Help on function reorder_dummy_names in module ida_name: + +reorder_dummy_names(*args) -> 'void' + reorder_dummy_names() + + + Renumber dummy names. + +Help on function set_cp_validity in module ida_name: + +set_cp_validity(*args) -> 'void' + 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) + @param cp (C++: wchar32_t) + @param endcp (C++: wchar32_t) + @param valid (C++: bool) + +Help on function set_debug_name in module ida_name: + +set_debug_name(*args) -> 'bool' + set_debug_name(ea, name) -> bool + +Help on function set_dummy_name in module ida_name: + +set_dummy_name(*args) -> 'bool' + set_dummy_name(_from, ea) -> bool + + + Give an autogenerated (dummy) name. Autogenerated names have special + prefixes (loc_...). + + @param _from: linear address of the operand which references to the + address (C++: ea_t) + @param ea: linear address (C++: ea_t) + +Help on function set_name in module ida_name: + +set_name(*args) -> 'bool' + 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: linear address. do nothing if ea is not valid (return 0). + tail bytes can't have names. (C++: ea_t) + @param name: new name. NULL: do nothing (return 0). "" : delete + name. otherwise this is a new name. (C++: const char *) + @param flags: 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. (C++: int) + +Help on function show_name in module ida_name: + +show_name(*args) -> 'void' + show_name(ea) + + + Insert name to the list of names. + + + @param ea (C++: ea_t) + +Help on function validate_name in module ida_name: + +validate_name(*args) -> 'PyObject *' + validate_name(name, type, flags=0) -> PyObject * + + + Validate a name. 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: ptr to name. the name will be modified (C++: qstring *) + @param type: the type of name we want to validate (C++: nametype_t) + @param flags: see SN_* . Only SN_IDBENC is currently considered (C++: + int) + @return: success + +=== ida_name EPYDOC INJECTIONS === +ida_name.FUNC_IMPORT_PREFIX +""" +Name prefix used by IDA for the imported functions. +""" + +ida_name.GETN_APPZERO +""" +append a struct field name if the field offset is zero? + +meaningful only if the name refers to a structure. +""" + +ida_name.GETN_NODUMMY +""" +do not create a new dummy name but pretend it exists +""" + +ida_name.GETN_NOFIXUP +""" +ignore the fixup information when producing the name +""" + +ida_name.GNCN_NOCOLOR +""" +generate an uncolored name +""" + +ida_name.GNCN_NODBGNM +""" +don't use debug names +""" + +ida_name.GNCN_NOFUNC +""" +don't generate funcname+... expressions +""" + +ida_name.GNCN_NOLABEL +""" +don't generate labels +""" + +ida_name.GNCN_NOSEG +""" +ignore the segment prefix when producing the name +""" + +ida_name.GNCN_PREFDBG +""" +if using debug names, prefer debug names over function names +""" + +ida_name.GNCN_REQFUNC +""" +return 0 if the address does not belong to a function +""" + +ida_name.GNCN_REQNAME +""" +return 0 if the address can only be represented as a hex number +""" + +ida_name.GNCN_SEGNUM +""" +segment part is displayed as a hex number +""" + +ida_name.GNCN_SEG_FUNC +""" +generate both segment and function names (default is to omit segment +name if a function name is present) +""" + +ida_name.GN_COLORED +""" +return colored name +""" + +ida_name.GN_DEMANGLED +""" +return demangled name +""" + +ida_name.GN_ISRET +""" +for dummy names: use retloc +""" + +ida_name.GN_LOCAL +""" +try to get local name first; if failed, get global +""" + +ida_name.GN_LONG +""" +use long form of demangled name +""" + +ida_name.GN_NOT_DUMMY +""" +do not return a dummy name +""" + +ida_name.GN_NOT_ISRET +""" +for dummy names: do not use retloc +""" + +ida_name.GN_SHORT +""" +use short form of demangled name +""" + +ida_name.GN_STRICT +""" +fail if cannot demangle +""" + +ida_name.GN_VISIBLE +""" +replace forbidden characters by SUBSTCHAR +""" + +ida_name.MAXNAMELEN +""" +Maximum length of a name in IDA (with the trailing zero) +""" + +ida_name.NT_ABS +""" +name is absolute symbol ( 'SEG_ABSSYM' ) +""" + +ida_name.NT_BMASK +""" +name is a bit group mask name +""" + +ida_name.NT_BYTE +""" +name is byte name (regular name) +""" + +ida_name.NT_ENUM +""" +name is symbolic constant +""" + +ida_name.NT_LOCAL +""" +name is local label +""" + +ida_name.NT_NONE +""" +name doesn't exist or has no value +""" + +ida_name.NT_REGVAR +""" +name is a renamed register (*value is idx into pfn->regvars) +""" + +ida_name.NT_SEG +""" +name is segment or segment register name +""" + +ida_name.NT_STKVAR +""" +name is stack variable name +""" + +ida_name.NT_STROFF +""" +name is structure member +""" + +ida_name.SN_AUTO +""" +if set, make name autogenerated +""" + +ida_name.SN_DELTAIL +""" +delete the hindering item + +if name cannot be set because of a tail byte, +""" + +ida_name.SN_FORCE +""" +if the specified name is already present in the database, try +variations with a numerical suffix like "_123" +""" + +ida_name.SN_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly. Specifying SN_IDBENC also implies SN_NODUMMY +""" + +ida_name.SN_LOCAL +""" +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. +""" + +ida_name.SN_NOCHECK +""" +Don't fail if the name contains invalid characters. If this bit is +clear, all invalid chars (those !is_ident_cp()) will be replaced by +SUBSTCHAR List of valid characters is defined in ida.cfg +""" + +ida_name.SN_NODUMMY +""" +automatically prepend the name with '_' if it begins with a dummy +suffix such as 'sub_'. See also SN_IDBENC +""" + +ida_name.SN_NOLIST +""" +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). +""" + +ida_name.SN_NON_AUTO +""" +if set, make name non-autogenerated +""" + +ida_name.SN_NON_PUBLIC +""" +if set, make name non-public +""" + +ida_name.SN_NON_WEAK +""" +if set, make name non-weak +""" + +ida_name.SN_NOWARN +""" +don't display a warning if failed +""" + +ida_name.SN_PUBLIC +""" +if set, make name public +""" + +ida_name.SN_WEAK +""" +if set, make name weak +""" +=== ida_name EPYDOC INJECTIONS END === +Help on function exist in module ida_netnode: + +exist(*args) -> 'bool' + exist(n) -> bool + +Help on class netnode in module ida_netnode: + +class netnode(builtins.object) + | Proxy of C++ netnode class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, n) -> bool + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> netnode + | __init__(self, num) -> netnode + | __init__(self, _name, namlen=0, do_create=False) -> netnode + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, n) -> bool + | __ne__(self, x) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_netnode(...) + | delete_netnode(self) + | + | altdel(self, *args) -> 'bool' + | altdel(self, alt, tag=atag) -> bool + | altdel(self) -> bool + | + | altdel_all(self, *args) -> 'bool' + | altdel_all(self, tag) -> bool + | + | altdel_ea(self, *args) -> 'bool' + | altdel_ea(self, ea, tag=atag) -> bool + | + | altdel_idx8(self, *args) -> 'bool' + | altdel_idx8(self, alt, tag) -> bool + | + | altfirst(self, *args) -> 'nodeidx_t' + | altfirst(self, tag=atag) -> nodeidx_t + | + | altfirst_idx8(self, *args) -> 'nodeidx_t' + | altfirst_idx8(self, tag) -> nodeidx_t + | + | altlast(self, *args) -> 'nodeidx_t' + | altlast(self, tag=atag) -> nodeidx_t + | + | altlast_idx8(self, *args) -> 'nodeidx_t' + | altlast_idx8(self, tag) -> nodeidx_t + | + | altnext(self, *args) -> 'nodeidx_t' + | altnext(self, cur, tag=atag) -> nodeidx_t + | + | altnext_idx8(self, *args) -> 'nodeidx_t' + | altnext_idx8(self, cur, tag) -> nodeidx_t + | + | altprev(self, *args) -> 'nodeidx_t' + | altprev(self, cur, tag=atag) -> nodeidx_t + | + | altprev_idx8(self, *args) -> 'nodeidx_t' + | altprev_idx8(self, cur, tag) -> nodeidx_t + | + | altset(self, *args) -> 'bool' + | altset(self, alt, value, tag=atag) -> bool + | + | altset_ea(self, *args) -> 'bool' + | altset_ea(self, ea, value, tag=atag) -> bool + | + | altset_idx8(self, *args) -> 'bool' + | altset_idx8(self, alt, val, tag) -> bool + | + | altshift(self, *args) -> 'size_t' + | altshift(self, _from, to, size, tag=atag) -> size_t + | + | altval(self, *args) -> 'nodeidx_t' + | altval(self, alt, tag=atag) -> nodeidx_t + | + | altval_ea(self, *args) -> 'nodeidx_t' + | altval_ea(self, ea, tag=atag) -> nodeidx_t + | + | altval_idx8(self, *args) -> 'nodeidx_t' + | altval_idx8(self, alt, tag) -> nodeidx_t + | + | blobsize(self, *args) -> 'size_t' + | blobsize(self, _start, tag) -> size_t + | + | blobsize_ea(self, *args) -> 'size_t' + | blobsize_ea(self, ea, tag) -> size_t + | + | chardel(self, *args) -> 'bool' + | chardel(self, alt, tag) -> bool + | + | chardel_ea(self, *args) -> 'bool' + | chardel_ea(self, ea, tag) -> bool + | + | chardel_idx8(self, *args) -> 'bool' + | chardel_idx8(self, alt, tag) -> bool + | + | charfirst(self, *args) -> 'nodeidx_t' + | charfirst(self, tag) -> nodeidx_t + | + | charfirst_idx8(self, *args) -> 'nodeidx_t' + | charfirst_idx8(self, tag) -> nodeidx_t + | + | charlast(self, *args) -> 'nodeidx_t' + | charlast(self, tag) -> nodeidx_t + | + | charlast_idx8(self, *args) -> 'nodeidx_t' + | charlast_idx8(self, tag) -> nodeidx_t + | + | charnext(self, *args) -> 'nodeidx_t' + | charnext(self, cur, tag) -> nodeidx_t + | + | charnext_idx8(self, *args) -> 'nodeidx_t' + | charnext_idx8(self, cur, tag) -> nodeidx_t + | + | charprev(self, *args) -> 'nodeidx_t' + | charprev(self, cur, tag) -> nodeidx_t + | + | charprev_idx8(self, *args) -> 'nodeidx_t' + | charprev_idx8(self, cur, tag) -> nodeidx_t + | + | charset(self, *args) -> 'bool' + | charset(self, alt, val, tag) -> bool + | + | charset_ea(self, *args) -> 'bool' + | charset_ea(self, ea, val, tag) -> bool + | + | charset_idx8(self, *args) -> 'bool' + | charset_idx8(self, alt, val, tag) -> bool + | + | charshift(self, *args) -> 'size_t' + | charshift(self, _from, to, size, tag) -> size_t + | + | charval(self, *args) -> 'uchar' + | charval(self, alt, tag) -> uchar + | + | charval_ea(self, *args) -> 'uchar' + | charval_ea(self, ea, tag) -> uchar + | + | charval_idx8(self, *args) -> 'uchar' + | charval_idx8(self, alt, tag) -> uchar + | + | copyto(self, *args) -> 'size_t' + | copyto(self, target, count=1) -> size_t + | + | create(self, *args) -> 'bool' + | create(self, _name, namlen=0) -> bool + | create(self) -> bool + | + | delblob(self, *args) -> 'int' + | delblob(self, _start, tag) -> int + | + | delblob_ea(self, *args) -> 'int' + | delblob_ea(self, ea, tag) -> int + | + | delvalue(self, *args) -> 'bool' + | delvalue(self) -> bool + | + | eadel(self, *args) -> 'bool' + | eadel(self, ea, tag) -> bool + | + | eadel_idx8(self, *args) -> 'bool' + | eadel_idx8(self, idx, tag) -> bool + | + | eaget(self, *args) -> 'ea_t' + | eaget(self, ea, tag) -> ea_t + | + | eaget_idx(self, *args) -> 'ea_t' + | eaget_idx(self, idx, tag) -> ea_t + | + | eaget_idx8(self, *args) -> 'ea_t' + | eaget_idx8(self, idx, tag) -> ea_t + | + | easet(self, *args) -> 'bool' + | easet(self, ea, addr, tag) -> bool + | + | easet_idx(self, *args) -> 'bool' + | easet_idx(self, idx, addr, tag) -> bool + | + | easet_idx8(self, *args) -> 'bool' + | easet_idx8(self, idx, addr, tag) -> bool + | + | end(self, *args) -> 'bool' + | end(self) -> bool + | + | get_name(self, *args) -> 'ssize_t' + | get_name(self) -> ssize_t + | + | getblob(self, *args) -> 'PyObject *' + | getblob(self, start, tag) -> PyObject * + | + | getblob_ea(self, *args) -> 'PyObject *' + | getblob_ea(self, ea, tag) -> PyObject * + | + | getclob(self, *args) -> 'PyObject *' + | getclob(self, start, tag) -> PyObject * + | + | hashdel(self, *args) -> 'bool' + | hashdel(self, idx, tag=htag) -> bool + | + | hashdel_all(self, *args) -> 'bool' + | hashdel_all(self, tag=htag) -> bool + | + | hashfirst(self, *args) -> 'ssize_t' + | hashfirst(self, tag=htag) -> ssize_t + | + | hashlast(self, *args) -> 'ssize_t' + | hashlast(self, tag=htag) -> ssize_t + | + | hashnext(self, *args) -> 'ssize_t' + | hashnext(self, idx, tag=htag) -> ssize_t + | + | hashprev(self, *args) -> 'ssize_t' + | hashprev(self, idx, tag=htag) -> ssize_t + | + | hashset(self, *args) -> 'bool' + | hashset(self, idx, value, tag=htag) -> bool + | + | hashset_buf(self, *args) -> 'bool' + | hashset_buf(self, idx, py_str, tag=htag) -> bool + | + | hashset_idx(self, *args) -> 'bool' + | hashset_idx(self, idx, value, tag=htag) -> bool + | + | hashstr(self, *args) -> 'ssize_t' + | hashstr(self, idx, tag=htag) -> ssize_t + | + | hashstr_buf(self, *args) -> 'PyObject *' + | hashstr_buf(self, idx, tag=htag) -> PyObject * + | + | hashval(self, *args) -> 'ssize_t' + | hashval(self, idx, tag=htag) -> ssize_t + | + | hashval_long(self, *args) -> 'nodeidx_t' + | hashval_long(self, idx, tag=htag) -> nodeidx_t + | + | index(self, *args) -> 'nodeidx_t' + | index(self) -> nodeidx_t + | + | kill(self, *args) -> 'void' + | kill(self) + | + | long_value(self, *args) -> 'nodeidx_t' + | long_value(self) -> nodeidx_t + | + | lower_bound(self, *args) -> 'nodeidx_t' + | lower_bound(self, cur, tag=stag) -> nodeidx_t + | + | lower_bound_ea(self, *args) -> 'nodeidx_t' + | lower_bound_ea(self, ea, tag=stag) -> nodeidx_t + | + | lower_bound_idx8(self, *args) -> 'nodeidx_t' + | lower_bound_idx8(self, alt, tag) -> nodeidx_t + | + | moveto(self, *args) -> 'size_t' + | moveto(self, target, count=1) -> size_t + | + | next(self, *args) -> 'bool' + | next(self) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self) -> bool + | + | rename(self, *args) -> 'bool' + | rename(self, newname, namlen=0) -> bool + | + | set(self, *args) -> 'bool' + | set(self, value) -> bool + | + | set_long(self, *args) -> 'bool' + | set_long(self, x) -> bool + | + | setblob(self, *args) -> 'bool' + | setblob(self, buf, _start, tag) -> bool + | + | setblob_ea(self, *args) -> 'bool' + | setblob_ea(self, buf, ea, tag) -> bool + | + | start(self, *args) -> 'bool' + | start(self) -> bool + | + | supdel(self, *args) -> 'bool' + | supdel(self, alt, tag=stag) -> bool + | supdel(self) -> bool + | + | supdel_all(self, *args) -> 'bool' + | supdel_all(self, tag) -> bool + | + | supdel_ea(self, *args) -> 'bool' + | supdel_ea(self, ea, tag=stag) -> bool + | + | supdel_idx8(self, *args) -> 'bool' + | supdel_idx8(self, alt, tag) -> bool + | + | supdel_range(self, *args) -> 'int' + | supdel_range(self, idx1, idx2, tag) -> int + | + | supdel_range_idx8(self, *args) -> 'int' + | supdel_range_idx8(self, idx1, idx2, tag) -> int + | + | supfirst(self, *args) -> 'nodeidx_t' + | supfirst(self, tag=stag) -> nodeidx_t + | + | supfirst_idx8(self, *args) -> 'nodeidx_t' + | supfirst_idx8(self, tag) -> nodeidx_t + | + | suplast(self, *args) -> 'nodeidx_t' + | suplast(self, tag=stag) -> nodeidx_t + | + | suplast_idx8(self, *args) -> 'nodeidx_t' + | suplast_idx8(self, tag) -> nodeidx_t + | + | supnext(self, *args) -> 'nodeidx_t' + | supnext(self, cur, tag=stag) -> nodeidx_t + | + | supnext_idx8(self, *args) -> 'nodeidx_t' + | supnext_idx8(self, alt, tag) -> nodeidx_t + | + | supprev(self, *args) -> 'nodeidx_t' + | supprev(self, cur, tag=stag) -> nodeidx_t + | + | supprev_idx8(self, *args) -> 'nodeidx_t' + | supprev_idx8(self, alt, tag) -> nodeidx_t + | + | supset(self, *args) -> 'bool' + | supset(self, alt, value, tag=stag) -> bool + | supset(self, alt, value, tag=stag) -> bool + | + | supset_ea(self, *args) -> 'bool' + | supset_ea(self, ea, value, tag=stag) -> bool + | supset_ea(self, ea, value, tag=stag) -> bool + | + | supset_idx8(self, *args) -> 'bool' + | supset_idx8(self, alt, value, tag) -> bool + | + | supshift(self, *args) -> 'size_t' + | supshift(self, _from, to, size, tag=stag) -> size_t + | + | supstr(self, *args) -> 'ssize_t' + | supstr(self, alt, tag=stag) -> ssize_t + | + | supstr_ea(self, *args) -> 'ssize_t' + | supstr_ea(self, ea, tag=stag) -> ssize_t + | + | supstr_idx8(self, *args) -> 'ssize_t' + | supstr_idx8(self, alt, tag) -> ssize_t + | + | supval(self, *args) -> 'ssize_t' + | supval(self, alt, tag=stag) -> ssize_t + | + | supval_ea(self, *args) -> 'ssize_t' + | supval_ea(self, ea, tag=stag) -> ssize_t + | + | supval_idx8(self, *args) -> 'ssize_t' + | supval_idx8(self, alt, tag) -> ssize_t + | + | valobj(self, *args) -> 'ssize_t' + | valobj(self) -> ssize_t + | + | valstr(self, *args) -> 'ssize_t' + | valstr(self) -> ssize_t + | + | value_exists(self, *args) -> 'bool' + | value_exists(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +=== ida_netnode EPYDOC INJECTIONS === +ida_netnode.BADNODE +""" +A number to represent a bad netnode reference. +""" +=== ida_netnode EPYDOC INJECTIONS END === +Help on function add_refinfo_dref in module ida_offset: + +add_refinfo_dref(*args) -> 'ea_t' + 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: the referencing instruction (C++: const insn_t &) + @param _from: the referencing instruction/data address (C++: ea_t) + @param ri: reference info block from the database (C++: const + refinfo_t &) + @param opval: operand value (usually op_t::value or op_t::addr ) + (C++: adiff_t) + @param type: type of xref (C++: dref_t) + @param opoff: offset of the operand from the start of instruction + (C++: int) + @return: the target address of the reference + +Help on function calc_basevalue in module ida_offset: + +calc_basevalue(*args) -> 'ea_t' + calc_basevalue(target, base) -> ea_t + + + Calculate the value of the reference base. + + + @param target (C++: ea_t) + @param base (C++: ea_t) + +Help on function calc_offset_base in module ida_offset: + +calc_offset_base(*args) -> 'ea_t' + 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: the referencing instruction/data address (C++: ea_t) + @param n: operand number 0: first operand 1: other operand (C++: + int) + @return: output base address or BADADDR + +Help on function calc_probable_base_by_value in module ida_offset: + +calc_probable_base_by_value(*args) -> 'ea_t' + 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) + +Help on function calc_reference_data in module ida_offset: + +calc_reference_data(*args) -> 'bool' + 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: output target address (C++: ea_t *) + @param base: output base address (C++: ea_t *) + @param _from: the referencing instruction/data address (C++: ea_t) + @param ri: reference info block from the database (C++: const + refinfo_t &) + @param opval: operand value (usually op_t::value or op_t::addr ) + (C++: adiff_t) + @return: success + +Help on function calc_target in module ida_offset: + +calc_target(*args) -> 'ea_t' + calc_target(_from, opval, ri) -> ea_t + calc_target(_from, ea, n, opval) -> ea_t + + + Calculates the target, using the provided 'refinfo_t' . + + + @param _from (C++: ea_t) + @param opval (C++: adiff_t) + @param ri (C++: const refinfo_t &) + +Help on function can_be_off32 in module ida_offset: + +can_be_off32(*args) -> 'ea_t' + 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) + +Help on function get_default_reftype in module ida_offset: + +get_default_reftype(*args) -> 'reftype_t' + 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 + +Help on function get_offbase in module ida_offset: + +get_offbase(*args) -> 'ea_t' + get_offbase(ea, n) -> ea_t + + + Get offset base value + + @param ea: linear address (C++: ea_t) + @param n: number of operand (C++: int) + @return: offset base or BADADDR + +Help on function get_offset_expr in module ida_offset: + +get_offset_expr(*args) -> 'qstring *' + get_offset_expr(ea, n, ri, _from, offset, getn_flags=0) -> str + + + See 'get_offset_expression()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param ri (C++: const refinfo_t &) + @param _from (C++: ea_t) + @param offset (C++: adiff_t) + @param getn_flags (C++: int) + +Help on function get_offset_expression in module ida_offset: + +get_offset_expression(*args) -> 'qstring *' + get_offset_expression(ea, n, _from, offset, getn_flags=0) -> str + + + Get offset expression (in the form "offset name+displ"). This function + uses offset translation function (\ph{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: \v{mov ax, [bx+7422h]} and + at ds:7422h: \v{array dw ...} We want to represent the second operand + with an offset expression, so then we call: \v{ + 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: \v{offset + array} + + @param ea: start of instruction or data with the offset expression + (C++: ea_t) + @param n: number of operand (may be ORed with OPND_OUTER ) 0: first + operand 1: second operand (C++: int) + @param _from: 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. (C++: ea_t) + @param offset: value of operand or its part. The function will return + text representation of this value as offset expression. + (C++: adiff_t) + @param getn_flags: 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) (C++: int) + +Help on function op_offset in module ida_offset: + +op_offset(*args) -> 'int' + op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int + + + See 'op_offset_ex()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param type (C++: reftype_t) + @param target (C++: ea_t) + @param base (C++: ea_t) + @param tdelta (C++: adiff_t) + +Help on function op_offset_ex in module ida_offset: + +op_offset_ex(*args) -> 'int' + op_offset_ex(ea, n, ri) -> int + + + Convert operand to a reference. To delete an offset, use + 'clr_op_type()' function. + + @param ea: 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 (C++: ea_t) + @param n: number of operand (may be ORed with OPND_OUTER ) 0: first + 1: second 2: third OPND_MASK : all operands (C++: int) + @param ri: reference information (C++: const refinfo_t *) + @return: success + +Help on function op_plain_offset in module ida_offset: + +op_plain_offset(*args) -> 'bool' + 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) + +Help on class __qmutex_t in module ida_pro: + +class __qmutex_t(builtins.object) + | Proxy of C++ __qmutex_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qmutex_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete___qmutex_t(...) + | delete___qmutex_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class __qsemaphore_t in module ida_pro: + +class __qsemaphore_t(builtins.object) + | Proxy of C++ __qsemaphore_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qsemaphore_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete___qsemaphore_t(...) + | delete___qsemaphore_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class __qthread_t in module ida_pro: + +class __qthread_t(builtins.object) + | Proxy of C++ __qthread_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qthread_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete___qthread_t(...) + | delete___qthread_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class _qstrvec_t in module ida_pro: + +class _qstrvec_t(ida_idaapi.py_clinked_object_t) + | WARNING: It is very unlikely an IDAPython user should ever, ever + | have to use this type. It should only be used for IDAPython internals. + | + | For example, in py_askusingform.py, we ctypes-expose to the IDA + | kernel & UI a qstrvec instance, in case a DropdownListControl is + | constructed. + | That's because that's what ask_form expects, and we have no + | choice but to make a DropdownListControl hold a qstrvec_t. + | This is, afaict, the only situation where a Python + | _qstrvec_t is required. + | + | Method resolution order: + | _qstrvec_t + | ida_idaapi.py_clinked_object_t + | ida_idaapi.pyidc_opaque_object_t + | builtins.object + | + | Methods defined here: + | + | __getitem__(self, idx) + | Gets the string at the given index + | + | __init__(self, items=None) + | Initialize self. See help(type(self)) for accurate signature. + | + | __setitem__(self, idx, s) + | Sets string at the given index + | + | _create_clink(self) + | Overwrite me. + | Creates a new clink + | @return: PyCapsule representing the C link + | + | _del_clink(self, lnk) + | Overwrite me. + | This method deletes the link + | + | _get_clink_ptr(self) + | Overwrite me. + | Returns the C link pointer as a 64bit number + | + | _qstrvec_t__get_size = __get_size(self) + | + | add(self, s) + | Add a string to the vector + | + | addressof(self, idx) + | Returns the address (as number) of the qstring at the given index + | + | assign(self, other) + | Copies the contents of 'other' to 'self' + | + | clear(self, qclear=False) + | Clears all strings from the vector. + | @param qclear: Just reset the size but do not actually free the memory + | + | from_list(self, lst) + | Populates the vector from a Python string list + | + | insert(self, idx, s) + | Insert a string into the vector + | + | remove(self, idx) + | Removes a string from the vector + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | size + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_idaapi.py_clinked_object_t: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.py_clinked_object_t: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on class boolvec_t in module ida_pro: + +class boolvec_t(builtins.object) + | Proxy of C++ qvector< bool > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'bool const &' + | __getitem__(self, i) -> bool const & + | + | __init__(self, *args) + | __init__(self) -> boolvec_t + | __init__(self, x) -> boolvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_boolvec_t(...) + | delete_boolvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'bool &' + | + | at = __getitem__(self, *args) -> 'bool const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< bool >::const_iterator' + | begin(self) -> qvector< bool >::iterator + | begin(self) -> qvector< bool >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< bool >::const_iterator' + | end(self) -> qvector< bool >::iterator + | end(self) -> qvector< bool >::const_iterator + | + | erase(self, *args) -> 'qvector< bool >::iterator' + | erase(self, it) -> qvector< bool >::iterator + | erase(self, first, last) -> qvector< bool >::iterator + | + | extract(self, *args) -> 'bool *' + | extract(self) -> bool * + | + | find(self, *args) -> 'qvector< bool >::const_iterator' + | find(self, x) -> qvector< bool >::iterator + | find(self, x) -> qvector< bool >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=bool()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< bool >::iterator' + | insert(self, it, x) -> qvector< bool >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'bool &' + | push_back(self, x) + | push_back(self) -> bool & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class channel_redir_t in module ida_pro: + +class channel_redir_t(builtins.object) + | Proxy of C++ channel_redir_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> channel_redir_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_channel_redir_t(...) + | delete_channel_redir_t(self) + | + | is_append(self, *args) -> 'bool' + | is_append(self) -> bool + | + | is_input(self, *args) -> 'bool' + | is_input(self) -> bool + | + | is_output(self, *args) -> 'bool' + | is_output(self) -> bool + | + | is_quoted(self, *args) -> 'bool' + | is_quoted(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fd + | channel_redir_t_fd_get(self) -> int + | + | file + | channel_redir_t_file_get(self) -> qstring * + | + | flags + | channel_redir_t_flags_get(self) -> int + | + | length + | channel_redir_t_length_get(self) -> int + | + | start + | channel_redir_t_start_get(self) -> int + | + | thisown + | The membership flag + +Help on function check_process_exit in module ida_pro: + +check_process_exit(*args) -> 'int' + check_process_exit(handle, exit_code, msecs=-1) -> int + + + Check whether process has terminated or not. + + @param handle: process handle to wait for (C++: void *) + @param exit_code: pointer to the buffer for the exit code (C++: int *) + +Help on function clear_bits in module ida_pro: + +clear_bits(*args) -> 'void' + clear_bits(bitmap, low, high) + + + Clear bits between [low, high) in 'bitmap'. + + + @param bitmap (C++: uchar *) + @param low (C++: size_t) + @param high (C++: size_t) + +Help on class ea_array in module ida_pro: + +class ea_array(builtins.object) + | Proxy of C++ ea_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'ea_t' + | __getitem__(self, index) -> ea_t + | + | __init__(self, *args) + | __init__(self, nelements) -> ea_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, index, value) + | + | __swig_destroy__ = delete_ea_array(...) + | delete_ea_array(self) + | + | cast(self, *args) -> 'ea_t *' + | cast(self) -> ea_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'ea_array *' + | frompointer(t) -> ea_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function ea_array_frompointer in module ida_pro: + +ea_array_frompointer(*args) -> 'ea_array *' + ea_array_frompointer(t) -> ea_array + +Help on class ea_pointer in module ida_pro: + +class ea_pointer(builtins.object) + | Proxy of C++ ea_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ea_pointer + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ea_pointer(...) + | delete_ea_pointer(self) + | + | assign(self, *args) -> 'void' + | assign(self, value) + | + | cast(self, *args) -> 'ea_t *' + | cast(self) -> ea_t * + | + | value(self, *args) -> 'ea_t' + | value(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'ea_pointer *' + | frompointer(t) -> ea_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function ea_pointer_frompointer in module ida_pro: + +ea_pointer_frompointer(*args) -> 'ea_pointer *' + ea_pointer_frompointer(t) -> ea_pointer + +Help on function extend_sign in module ida_pro: + +extend_sign(*args) -> 'uint64' + 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) + +Help on class instant_dbgopts_t in module ida_pro: + +class instant_dbgopts_t(builtins.object) + | Proxy of C++ instant_dbgopts_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> instant_dbgopts_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_instant_dbgopts_t(...) + | delete_instant_dbgopts_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _pass + | instant_dbgopts_t__pass_get(self) -> qstring * + | + | attach + | instant_dbgopts_t_attach_get(self) -> bool + | + | debmod + | instant_dbgopts_t_debmod_get(self) -> qstring * + | + | env + | instant_dbgopts_t_env_get(self) -> qstring * + | + | event_id + | instant_dbgopts_t_event_id_get(self) -> int + | + | host + | instant_dbgopts_t_host_get(self) -> qstring * + | + | pid + | instant_dbgopts_t_pid_get(self) -> int + | + | port + | instant_dbgopts_t_port_get(self) -> int + | + | thisown + | The membership flag + +Help on class longlongvec_t in module ida_pro: + +class longlongvec_t(builtins.object) + | Proxy of C++ qvector< long long > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'long long const &' + | __getitem__(self, i) -> long long const & + | + | __init__(self, *args) + | __init__(self) -> longlongvec_t + | __init__(self, x) -> longlongvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_longlongvec_t(...) + | delete_longlongvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'long long &' + | + | at = __getitem__(self, *args) -> 'long long const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< long long >::const_iterator' + | begin(self) -> qvector< long long >::iterator + | begin(self) -> qvector< long long >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< long long >::const_iterator' + | end(self) -> qvector< long long >::iterator + | end(self) -> qvector< long long >::const_iterator + | + | erase(self, *args) -> 'qvector< long long >::iterator' + | erase(self, it) -> qvector< long long >::iterator + | erase(self, first, last) -> qvector< long long >::iterator + | + | extract(self, *args) -> 'long long *' + | extract(self) -> long long * + | + | find(self, *args) -> 'qvector< long long >::const_iterator' + | find(self, x) -> qvector< long long >::iterator + | find(self, x) -> qvector< long long >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< long long >::iterator' + | insert(self, it, x) -> qvector< long long >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'long long &' + | push_back(self, x) + | push_back(self) -> long long & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class int_pointer in module ida_pro: + +class int_pointer(builtins.object) + | Proxy of C++ int_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> int_pointer + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_int_pointer(...) + | delete_int_pointer(self) + | + | assign(self, *args) -> 'void' + | assign(self, value) + | + | cast(self, *args) -> 'int *' + | cast(self) -> int * + | + | value(self, *args) -> 'int' + | value(self) -> int + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'int_pointer *' + | frompointer(t) -> int_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function int_pointer_frompointer in module ida_pro: + +int_pointer_frompointer(*args) -> 'int_pointer *' + int_pointer_frompointer(t) -> int_pointer + +Help on class intvec_t in module ida_pro: + +class intvec_t(builtins.object) + | Proxy of C++ qvector< int > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'int const &' + | __getitem__(self, i) -> int const & + | + | __init__(self, *args) + | __init__(self) -> intvec_t + | __init__(self, x) -> intvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_intvec_t(...) + | delete_intvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'int &' + | + | at = __getitem__(self, *args) -> 'int const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< int >::const_iterator' + | begin(self) -> qvector< int >::iterator + | begin(self) -> qvector< int >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< int >::const_iterator' + | end(self) -> qvector< int >::iterator + | end(self) -> qvector< int >::const_iterator + | + | erase(self, *args) -> 'qvector< int >::iterator' + | erase(self, it) -> qvector< int >::iterator + | erase(self, first, last) -> qvector< int >::iterator + | + | extract(self, *args) -> 'int *' + | extract(self) -> int * + | + | find(self, *args) -> 'qvector< int >::const_iterator' + | find(self, x) -> qvector< int >::iterator + | find(self, x) -> qvector< int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< int >::iterator' + | insert(self, it, x) -> qvector< int >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'int &' + | push_back(self, x) + | push_back(self) -> int & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function is_control_tty in module ida_pro: + +is_control_tty(*args) -> 'enum tty_control_t' + 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) + +Help on function is_main_thread in module ida_pro: + +is_main_thread(*args) -> 'bool' + is_main_thread() -> bool + + + Are we running in the main thread? + +Help on function log2ceil in module ida_pro: + +log2ceil(*args) -> 'int' + log2ceil(d64) -> int + + + calculate ceil(log2(d64)) or floor(log2(d64)), it returns 0 if d64 == + 0 + + @param d64 (C++: uint64) + +Help on function log2floor in module ida_pro: + +log2floor(*args) -> 'int' + log2floor(d64) -> int + +Help on function parse_dbgopts in module ida_pro: + +parse_dbgopts(*args) -> 'bool' + 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 *) + @param r_switch (C++: const char *) + @return: true-ok, false-parse error + +Help on function qatoll in module ida_pro: + +qatoll(*args) -> 'int64' + qatoll(nptr) -> int64 + +Help on function qcontrol_tty in module ida_pro: + +qcontrol_tty(*args) -> 'void' + qcontrol_tty() + + + Make the current terminal the controlling terminal of the calling + process.The current terminal is supposed to be /dev/tty + +Help on function qdetach_tty in module ida_pro: + +qdetach_tty(*args) -> 'void' + qdetach_tty() + + + If the current terminal is the controlling terminal of the calling + process, give up this controlling terminal.The current terminal is + supposed to be /dev/tty + +Help on function qexit in module ida_pro: + +qexit(*args) -> 'void' + qexit(code) + + + Call qatexit functions, shut down UI and kernel, and exit. + + @param code: exit code (C++: int) + +Help on class qmutex_locker_t in module ida_pro: + +class qmutex_locker_t(builtins.object) + | Proxy of C++ qmutex_locker_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _lock) -> qmutex_locker_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qmutex_locker_t(...) + | delete_qmutex_locker_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class qrefcnt_obj_t in module ida_pro: + +class qrefcnt_obj_t(builtins.object) + | Proxy of C++ qrefcnt_obj_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qrefcnt_obj_t(...) + | delete_qrefcnt_obj_t(self) + | + | release(self, *args) -> 'void' + | release(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | refcnt + | qrefcnt_obj_t_refcnt_get(self) -> int + | + | thisown + | The membership flag + +Help on function qstrvec_t_add in module ida_pro: + +qstrvec_t_add(*args) -> 'bool' + qstrvec_t_add(_self, s) -> bool + +Help on function qstrvec_t_addressof in module ida_pro: + +qstrvec_t_addressof(*args) -> 'PyObject *' + qstrvec_t_addressof(_self, idx) -> PyObject * + +Help on function qstrvec_t_assign in module ida_pro: + +qstrvec_t_assign(*args) -> 'bool' + qstrvec_t_assign(_self, other) -> bool + +Help on function qstrvec_t_clear in module ida_pro: + +qstrvec_t_clear(*args) -> 'bool' + qstrvec_t_clear(_self, qclear) -> bool + +Help on function qstrvec_t_create in module ida_pro: + +qstrvec_t_create(*args) -> 'PyObject *' + qstrvec_t_create() -> PyObject * + +Help on function qstrvec_t_destroy in module ida_pro: + +qstrvec_t_destroy(*args) -> 'bool' + qstrvec_t_destroy(py_obj) -> bool + +Help on function qstrvec_t_from_list in module ida_pro: + +qstrvec_t_from_list(*args) -> 'bool' + qstrvec_t_from_list(_self, py_list) -> bool + +Help on function qstrvec_t_get in module ida_pro: + +qstrvec_t_get(*args) -> 'PyObject *' + qstrvec_t_get(_self, idx) -> PyObject * + +Help on function qstrvec_t_get_clink in module ida_pro: + +qstrvec_t_get_clink(*args) -> 'qstrvec_t *' + qstrvec_t_get_clink(_self) -> qstrvec_t * + +Help on function qstrvec_t_get_clink_ptr in module ida_pro: + +qstrvec_t_get_clink_ptr(*args) -> 'PyObject *' + qstrvec_t_get_clink_ptr(_self) -> PyObject * + +Help on function qstrvec_t_insert in module ida_pro: + +qstrvec_t_insert(*args) -> 'bool' + qstrvec_t_insert(_self, idx, s) -> bool + +Help on function qstrvec_t_remove in module ida_pro: + +qstrvec_t_remove(*args) -> 'bool' + qstrvec_t_remove(_self, idx) -> bool + +Help on function qstrvec_t_set in module ida_pro: + +qstrvec_t_set(*args) -> 'bool' + qstrvec_t_set(_self, idx, s) -> bool + +Help on function qstrvec_t_size in module ida_pro: + +qstrvec_t_size(*args) -> 'size_t' + qstrvec_t_size(_self) -> size_t + +Help on function quote_cmdline_arg in module ida_pro: + +quote_cmdline_arg(*args) -> 'bool' + 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' + +Help on function qvector_reserve in module ida_pro: + +qvector_reserve(*args) -> 'void *' + qvector_reserve(vec, old, cnt, elsize) -> void * + + + Change capacity of given qvector. + + @param vec: a pointer to a qvector (C++: void *) + @param old: a pointer to the qvector's array (C++: void *) + @param cnt: number of elements to reserve (C++: size_t) + @param elsize: size of each element (C++: size_t) + @return: a pointer to the newly allocated array + +Help on function readbytes in module ida_pro: + +readbytes(*args) -> 'int' + readbytes(h, res, size, mf) -> int + + + Read at most 4 bytes from file. + + @param h: file handle (C++: int) + @param res: value read from file (C++: uint32 *) + @param size: size of value in bytes (1,2,4) (C++: int) + @param mf: is MSB first? (C++: bool) + @return: 0 on success, nonzero otherwise + +Help on function reloc_value in module ida_pro: + +reloc_value(*args) -> 'void' + reloc_value(value, size, delta, mf) + +Help on function relocate_relobj in module ida_pro: + +relocate_relobj(*args) -> 'bool' + relocate_relobj(_relobj, ea, mf) -> bool + +Help on class sel_array in module ida_pro: + +class sel_array(builtins.object) + | Proxy of C++ sel_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'sel_t' + | __getitem__(self, index) -> sel_t + | + | __init__(self, *args) + | __init__(self, nelements) -> sel_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, index, value) + | + | __swig_destroy__ = delete_sel_array(...) + | delete_sel_array(self) + | + | cast(self, *args) -> 'sel_t *' + | cast(self) -> sel_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'sel_array *' + | frompointer(t) -> sel_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function sel_array_frompointer in module ida_pro: + +sel_array_frompointer(*args) -> 'sel_array *' + sel_array_frompointer(t) -> sel_array + +Help on class sel_pointer in module ida_pro: + +class sel_pointer(builtins.object) + | Proxy of C++ sel_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sel_pointer + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_sel_pointer(...) + | delete_sel_pointer(self) + | + | assign(self, *args) -> 'void' + | assign(self, value) + | + | cast(self, *args) -> 'sel_t *' + | cast(self) -> sel_t * + | + | value(self, *args) -> 'sel_t' + | value(self) -> sel_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'sel_pointer *' + | frompointer(t) -> sel_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function sel_pointer_frompointer in module ida_pro: + +sel_pointer_frompointer(*args) -> 'sel_pointer *' + sel_pointer_frompointer(t) -> sel_pointer + +Help on function set_bits in module ida_pro: + +set_bits(*args) -> 'void' + set_bits(bitmap, low, high) + + + Set bits between [low, high) in 'bitmap'. + + + @param bitmap (C++: uchar *) + @param low (C++: size_t) + @param high (C++: size_t) + +Help on class sizevec_t in module ida_pro: + +class sizevec_t(builtins.object) + | Proxy of C++ qvector< size_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'size_t const &' + | __getitem__(self, i) -> size_t const & + | + | __init__(self, *args) + | __init__(self) -> sizevec_t + | __init__(self, x) -> sizevec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_sizevec_t(...) + | delete_sizevec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'size_t const &' + | at(self, _idx) -> size_t const & + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< size_t >::const_iterator' + | begin(self) -> qvector< size_t >::iterator + | begin(self) -> qvector< size_t >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< size_t >::const_iterator' + | end(self) -> qvector< size_t >::iterator + | end(self) -> qvector< size_t >::const_iterator + | + | erase(self, *args) -> 'qvector< size_t >::iterator' + | erase(self, it) -> qvector< size_t >::iterator + | erase(self, first, last) -> qvector< size_t >::iterator + | + | extract(self, *args) -> 'size_t *' + | extract(self) -> size_t * + | + | find(self, *args) -> 'qvector< size_t >::const_iterator' + | find(self, x) -> qvector< size_t >::iterator + | find(self, x) -> qvector< size_t >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=size_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< size_t >::iterator' + | insert(self, it, x) -> qvector< size_t >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'size_t &' + | push_back(self, x) + | push_back(self) -> size_t & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function str2user in module ida_pro: + +str2user(*args) -> 'PyObject *' + str2user(str) -> PyObject * + + + Insert C-style escape characters to string + + @return: new string with escape characters inserted + +Help on class strvec_t in module ida_pro: + +class strvec_t(builtins.object) + | Proxy of C++ qvector< simpleline_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'simpleline_t const &' + | __getitem__(self, i) -> simpleline_t const & + | + | __init__(self, *args) + | __init__(self) -> strvec_t + | __init__(self, x) -> strvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_strvec_t(...) + | delete_strvec_t(self) + | + | append = push_back(self, *args) -> 'simpleline_t &' + | + | at = __getitem__(self, *args) -> 'simpleline_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< simpleline_t >::const_iterator' + | begin(self) -> qvector< simpleline_t >::iterator + | begin(self) -> qvector< simpleline_t >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< simpleline_t >::const_iterator' + | end(self) -> qvector< simpleline_t >::iterator + | end(self) -> qvector< simpleline_t >::const_iterator + | + | erase(self, *args) -> 'qvector< simpleline_t >::iterator' + | erase(self, it) -> qvector< simpleline_t >::iterator + | erase(self, first, last) -> qvector< simpleline_t >::iterator + | + | extract(self, *args) -> 'simpleline_t *' + | extract(self) -> simpleline_t * + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=simpleline_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< simpleline_t >::iterator' + | insert(self, it, x) -> qvector< simpleline_t >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'simpleline_t &' + | push_back(self, x) + | push_back(self) -> simpleline_t & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class sval_pointer in module ida_pro: + +class sval_pointer(builtins.object) + | Proxy of C++ sval_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sval_pointer + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_sval_pointer(...) + | delete_sval_pointer(self) + | + | assign(self, *args) -> 'void' + | assign(self, value) + | + | cast(self, *args) -> 'sval_t *' + | cast(self) -> sval_t * + | + | value(self, *args) -> 'sval_t' + | value(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'sval_pointer *' + | frompointer(t) -> sval_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function sval_pointer_frompointer in module ida_pro: + +sval_pointer_frompointer(*args) -> 'sval_pointer *' + sval_pointer_frompointer(t) -> sval_pointer + +Help on class tid_array in module ida_pro: + +class tid_array(builtins.object) + | Proxy of C++ tid_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'tid_t' + | __getitem__(self, index) -> tid_t + | + | __init__(self, *args) + | __init__(self, nelements) -> tid_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, index, value) + | + | __swig_destroy__ = delete_tid_array(...) + | delete_tid_array(self) + | + | cast(self, *args) -> 'tid_t *' + | cast(self) -> tid_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'tid_array *' + | frompointer(t) -> tid_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function tid_array_frompointer in module ida_pro: + +tid_array_frompointer(*args) -> 'tid_array *' + tid_array_frompointer(t) -> tid_array + +Help on class uchar_array in module ida_pro: + +class uchar_array(builtins.object) + | Proxy of C++ uchar_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'uchar' + | __getitem__(self, index) -> uchar + | + | __init__(self, *args) + | __init__(self, nelements) -> uchar_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, index, value) + | + | __swig_destroy__ = delete_uchar_array(...) + | delete_uchar_array(self) + | + | cast(self, *args) -> 'uchar *' + | cast(self) -> uchar * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'uchar_array *' + | frompointer(t) -> uchar_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function uchar_array_frompointer in module ida_pro: + +uchar_array_frompointer(*args) -> 'uchar_array *' + uchar_array_frompointer(t) -> uchar_array + +Help on class ulonglongvec_t in module ida_pro: + +class ulonglongvec_t(builtins.object) + | Proxy of C++ qvector< unsigned long long > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'unsigned long long const &' + | __getitem__(self, i) -> unsigned long long const & + | + | __init__(self, *args) + | __init__(self) -> ulonglongvec_t + | __init__(self, x) -> ulonglongvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_ulonglongvec_t(...) + | delete_ulonglongvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'unsigned long long &' + | + | at = __getitem__(self, *args) -> 'unsigned long long const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< unsigned long long >::const_iterator' + | begin(self) -> qvector< unsigned long long >::iterator + | begin(self) -> qvector< unsigned long long >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< unsigned long long >::const_iterator' + | end(self) -> qvector< unsigned long long >::iterator + | end(self) -> qvector< unsigned long long >::const_iterator + | + | erase(self, *args) -> 'qvector< unsigned long long >::iterator' + | erase(self, it) -> qvector< unsigned long long >::iterator + | erase(self, first, last) -> qvector< unsigned long long >::iterator + | + | extract(self, *args) -> 'unsigned long long *' + | extract(self) -> unsigned long long * + | + | find(self, *args) -> 'qvector< unsigned long long >::const_iterator' + | find(self, x) -> qvector< unsigned long long >::iterator + | find(self, x) -> qvector< unsigned long long >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< unsigned long long >::iterator' + | insert(self, it, x) -> qvector< unsigned long long >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'unsigned long long &' + | push_back(self, x) + | push_back(self) -> unsigned long long & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class uintvec_t in module ida_pro: + +class uintvec_t(builtins.object) + | Proxy of C++ qvector< unsigned int > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'unsigned int const &' + | __getitem__(self, i) -> unsigned int const & + | + | __init__(self, *args) + | __init__(self) -> uintvec_t + | __init__(self, x) -> uintvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_uintvec_t(...) + | delete_uintvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'unsigned int &' + | + | at = __getitem__(self, *args) -> 'unsigned int const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< unsigned int >::const_iterator' + | begin(self) -> qvector< unsigned int >::iterator + | begin(self) -> qvector< unsigned int >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< unsigned int >::const_iterator' + | end(self) -> qvector< unsigned int >::iterator + | end(self) -> qvector< unsigned int >::const_iterator + | + | erase(self, *args) -> 'qvector< unsigned int >::iterator' + | erase(self, it) -> qvector< unsigned int >::iterator + | erase(self, first, last) -> qvector< unsigned int >::iterator + | + | extract(self, *args) -> 'unsigned int *' + | extract(self) -> unsigned int * + | + | find(self, *args) -> 'qvector< unsigned int >::const_iterator' + | find(self, x) -> qvector< unsigned int >::iterator + | find(self, x) -> qvector< unsigned int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< unsigned int >::iterator' + | insert(self, it, x) -> qvector< unsigned int >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'unsigned int &' + | push_back(self, x) + | push_back(self) -> unsigned int & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class uval_array in module ida_pro: + +class uval_array(builtins.object) + | Proxy of C++ uval_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'uval_t' + | __getitem__(self, index) -> uval_t + | + | __init__(self, *args) + | __init__(self, nelements) -> uval_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, index, value) + | + | __swig_destroy__ = delete_uval_array(...) + | delete_uval_array(self) + | + | cast(self, *args) -> 'uval_t *' + | cast(self) -> uval_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'uval_array *' + | frompointer(t) -> uval_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function uval_array_frompointer in module ida_pro: + +uval_array_frompointer(*args) -> 'uval_array *' + uval_array_frompointer(t) -> uval_array + +Help on function writebytes in module ida_pro: + +writebytes(*args) -> 'int' + writebytes(h, l, size, mf) -> int + + + Write at most 4 bytes to file. + + @param h: file handle (C++: int) + @param l: value to write (C++: uint32) + @param size: size of value in bytes (1,2,4) (C++: int) + @param mf: is MSB first? (C++: bool) + @return: 0 on success, nonzero otherwise + +=== ida_pro EPYDOC INJECTIONS === +ida_pro.CP_UTF16 +""" +UTF-16 codepage. +""" + +ida_pro.IDA_SDK_VERSION +""" +IDA SDK v7.4. +""" + +ida_pro.IDBDEC_ESCAPE +""" +convert non-printable characters to C escapes (, \\xNN, \\uNNNN) +""" + +ida_pro.IOREDIR_APPEND +""" +append, do not overwrite the output file +""" + +ida_pro.IOREDIR_INPUT +""" +input redirection +""" + +ida_pro.IOREDIR_OUTPUT +""" +output redirection +""" + +ida_pro.IOREDIR_QUOTED +""" +the file name was quoted +""" + +ida_pro.MAXSTR +""" +maximum string size +""" + +ida_pro.SUBSTCHAR +""" +default char, used if a char cannot be represented in a codepage +""" + +ida_pro.__MF__ +""" +byte sex of our platform (Most significant byte First). 0: little +endian (Intel 80x86). 1: big endian (PowerPC). +""" +=== ida_pro EPYDOC INJECTIONS END === +Help on function forget_problem in module ida_problems: + +forget_problem(*args) -> 'bool' + forget_problem(type, ea) -> bool + + + Remove an address from a problem list + + @param type: problem list type (C++: problist_id_t) + @param ea: linear address (C++: ea_t) + @return: success + +Help on function get_problem in module ida_problems: + +get_problem(*args) -> 'ea_t' + get_problem(type, lowea) -> ea_t + + + Get an address from the specified problem list. The address is not + removed from the list. + + @param type: problem list type (C++: problist_id_t) + @param lowea: the returned address will be higher or equal than the + specified address (C++: ea_t) + @return: linear address or BADADDR + +Help on function get_problem_desc in module ida_problems: + +get_problem_desc(*args) -> 'qstring *' + get_problem_desc(t, ea) -> str + + + Get the human-friendly description of the problem, if one was provided + to remember_problem. + + @param t: problem list type. (C++: problist_id_t) + @param ea: linear address. (C++: ea_t) + @return: the message length or -1 if none + +Help on function get_problem_name in module ida_problems: + +get_problem_name(*args) -> 'char const *' + get_problem_name(type, longname=True) -> char const * + + + Get problem list description. + + + @param type (C++: problist_id_t) + @param longname (C++: bool) + +Help on function is_problem_present in module ida_problems: + +is_problem_present(*args) -> 'bool' + 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) + +Help on function remember_problem in module ida_problems: + +remember_problem(*args) -> 'void' + 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: problem list type (C++: problist_id_t) + @param ea: linear address (C++: ea_t) + @param msg: a user-friendly message to be displayed instead of the + default more generic one associated with the type of + problem. Defaults to NULL. (C++: const char *) + +Help on function was_ida_decision in module ida_problems: + +was_ida_decision(*args) -> 'bool' + was_ida_decision(ea) -> bool + +Help on class array_of_rangesets in module ida_range: + +class array_of_rangesets(builtins.object) + | Proxy of C++ qvector< rangeset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'rangeset_t const &' + | __getitem__(self, i) -> rangeset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_rangesets + | __init__(self, x) -> array_of_rangesets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_array_of_rangesets(...) + | delete_array_of_rangesets(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'rangeset_t const &' + | at(self, _idx) -> rangeset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< rangeset_t >::const_iterator' + | begin(self) -> rangeset_t + | begin(self) -> rangeset_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< rangeset_t >::const_iterator' + | end(self) -> rangeset_t + | end(self) -> rangeset_t + | + | erase(self, *args) -> 'qvector< rangeset_t >::iterator' + | erase(self, it) -> rangeset_t + | erase(self, first, last) -> rangeset_t + | + | extract(self, *args) -> 'rangeset_t *' + | extract(self) -> rangeset_t + | + | find(self, *args) -> 'qvector< rangeset_t >::const_iterator' + | find(self, x) -> rangeset_t + | find(self, x) -> rangeset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=rangeset_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< rangeset_t >::iterator' + | insert(self, it, x) -> rangeset_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'rangeset_t &' + | push_back(self, x) + | push_back(self) -> rangeset_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class range_t in module ida_range: + +class range_t(builtins.object) + | Proxy of C++ range_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> range_t + | __init__(self, ea1, ea2) -> range_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_range_t(...) + | delete_range_t(self) + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function range_t_print in module ida_range: + +range_t_print(*args) -> 'size_t' + range_t_print(cb) -> str + + + Helper function. Should not be called directly! + +Help on class rangeset_t in module ida_range: + +class rangeset_t(builtins.object) + | Proxy of C++ rangeset_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, aset) -> bool + | + | __getitem__(self, idx) + | + | __init__(self, *args) + | __init__(self) -> rangeset_t + | __init__(self, range) -> rangeset_t + | __init__(self, ivs) -> rangeset_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = nranges(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, aset) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_rangeset_t(...) + | delete_rangeset_t(self) + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | add(self, *args) -> 'bool' + | add(self, range) -> bool + | add(self, start, _end) -> bool + | add(self, aset) -> bool + | + | begin(self, *args) -> 'rangeset_t::iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | cached_range(self, *args) -> 'range_t const *' + | cached_range(self) -> range_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, aset) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'rangeset_t::iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | find_range(self, *args) -> 'range_t const *' + | find_range(self, ea) -> range_t + | + | getrange(self, *args) -> 'range_t const &' + | getrange(self, idx) -> range_t + | + | has_common(self, *args) -> 'bool' + | has_common(self, range) -> bool + | has_common(self, aset) -> bool + | + | includes(self, *args) -> 'bool' + | includes(self, range) -> bool + | + | intersect(self, *args) -> 'bool' + | intersect(self, aset) -> bool + | + | is_equal(self, *args) -> 'bool' + | is_equal(self, aset) -> bool + | + | is_subset_of(self, *args) -> 'bool' + | is_subset_of(self, aset) -> bool + | + | lastrange(self, *args) -> 'range_t const &' + | lastrange(self) -> range_t + | + | next_addr(self, *args) -> 'ea_t' + | next_addr(self, ea) -> ea_t + | + | next_range(self, *args) -> 'ea_t' + | next_range(self, ea) -> ea_t + | + | nranges(self, *args) -> 'size_t' + | nranges(self) -> size_t + | + | prev_addr(self, *args) -> 'ea_t' + | prev_addr(self, ea) -> ea_t + | + | prev_range(self, *args) -> 'ea_t' + | prev_range(self, ea) -> ea_t + | + | sub(self, *args) -> 'bool' + | sub(self, range) -> bool + | sub(self, ea) -> bool + | sub(self, aset) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class rangevec_base_t in module ida_range: + +class rangevec_base_t(builtins.object) + | Proxy of C++ qvector< range_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __init__(self, *args) + | __init__(self) -> rangevec_base_t + | __init__(self, x) -> rangevec_base_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_rangevec_base_t(...) + | delete_rangevec_base_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class rangevec_t in module ida_range: + +class rangevec_t(rangevec_base_t) + | Proxy of C++ rangevec_t class. + | + | Method resolution order: + | rangevec_t + | rangevec_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rangevec_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_rangevec_t(...) + | delete_rangevec_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from rangevec_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from rangevec_base_t: + | + | __hash__ = None + +Help on function reg_data_type in module ida_registry: + +reg_data_type(*args) -> 'regval_type_t' + reg_data_type(name, subkey=None) -> regval_type_t + + + Get data type of a given value. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: false if the [key+]value doesn't exist + +Help on function reg_delete in module ida_registry: + +reg_delete(*args) -> 'bool' + reg_delete(name, subkey=None) -> bool + + + Delete a value from the registry. + + @param name: value name (C++: const char *) + @param subkey: parent key (C++: const char *) + @return: success + +Help on function reg_delete_subkey in module ida_registry: + +reg_delete_subkey(*args) -> 'bool' + reg_delete_subkey(name) -> bool + + + Delete a key from the registry. + + + @param name (C++: const char *) + +Help on function reg_delete_tree in module ida_registry: + +reg_delete_tree(*args) -> 'bool' + reg_delete_tree(name) -> bool + + + Delete a subtree from the registry. + + + @param name (C++: const char *) + +Help on function reg_exists in module ida_registry: + +reg_exists(*args) -> 'bool' + reg_exists(name, subkey=None) -> bool + + + Is there already a value with the given name? + + @param name: value name (C++: const char *) + @param subkey: parent key (C++: const char *) + +Help on function reg_flush in module ida_registry: + +reg_flush(*args) -> 'void' + reg_flush() + +Help on function reg_load in module ida_registry: + +reg_load(*args) -> 'void' + reg_load() + +Help on function reg_read_binary in module ida_registry: + +reg_read_binary(*args) -> 'PyObject *' + reg_read_binary(name, subkey=None) -> PyObject * + + + Read binary data from the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: false if 'data' is not large enough to hold all data present. + in this case 'data' is left untouched. + +Help on function reg_read_bool in module ida_registry: + +reg_read_bool(*args) -> 'bool' + reg_read_bool(name, defval, subkey=None) -> bool + + + Read boolean value from the registry. + + @param name: value name (C++: const char *) + @param defval: default value (C++: bool) + @param subkey: key name (C++: const char *) + @return: boolean read from registry, or 'defval' if the read failed + +Help on function reg_read_int in module ida_registry: + +reg_read_int(*args) -> 'int' + reg_read_int(name, defval, subkey=None) -> int + + + Read integer value from the registry. + + @param name: value name (C++: const char *) + @param defval: default value (C++: int) + @param subkey: key name (C++: const char *) + @return: the value read from the registry, or 'defval' if the read + failed + +Help on function reg_read_string in module ida_registry: + +reg_read_string(*args) -> 'PyObject *' + reg_read_string(name, subkey=None, _def=None) -> PyObject * + + + Read a string from the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: success + +Help on function reg_read_strlist in module ida_registry: + +reg_read_strlist(*args) -> 'qstrvec_t *' + reg_read_strlist(subkey) + + + Retrieve all string values associated with the given key. Also see + 'reg_update_strlist()' . + + @param subkey (C++: const char *) + +Help on function reg_subkey_exists in module ida_registry: + +reg_subkey_exists(*args) -> 'bool' + reg_subkey_exists(name) -> bool + + + Is there already a key with the given name? + + + @param name (C++: const char *) + +Help on function reg_subkey_subkeys in module ida_registry: + +reg_subkey_subkeys(*args) -> 'PyObject *' + reg_subkey_subkeys(name) -> PyObject * + + + Get all subkey names of given key. + + + @param name (C++: const char *) + +Help on function reg_subkey_values in module ida_registry: + +reg_subkey_values(*args) -> 'PyObject *' + reg_subkey_values(name) -> PyObject * + + + Get all value names under given key. + + + @param name (C++: const char *) + +Help on function reg_update_filestrlist in module ida_registry: + +reg_update_filestrlist(*args) -> 'void' + reg_update_filestrlist(subkey, add, maxrecs, rem=None) + + + Update registry with a file list. Case sensitivity will vary depending + on the target OS.'add' and 'rem' must be UTF-8, just like for regular + string operations. + + @param subkey (C++: const char *) + @param add (C++: const char *) + @param maxrecs (C++: size_t) + @param rem (C++: const char *) + +Help on function reg_update_strlist in module ida_registry: + +reg_update_strlist(*args) -> 'void' + reg_update_strlist(subkey, add, maxrecs, rem=None, ignorecase=False) + + + Update list of strings associated with given key. + + @param subkey: key name (C++: const char *) + @param add: string to be added to list, can be NULL (C++: const char + *) + @param maxrecs: limit list to this size (C++: size_t) + @param rem: string to be removed from list, can be NULL (C++: const + char *) + @param ignorecase: ignore case for 'add' and 'rem' (C++: bool) + +Help on function reg_write_binary in module ida_registry: + +reg_write_binary(*args) -> 'PyObject *' + reg_write_binary(name, py_bytes, subkey=None) -> PyObject * + + + Write binary data to the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + +Help on function reg_write_bool in module ida_registry: + +reg_write_bool(*args) -> 'void' + reg_write_bool(name, value, subkey=None) + + + Write boolean value to the registry. + + @param name: value name (C++: const char *) + @param value: boolean to write (nonzero = true) (C++: int) + @param subkey: key name (C++: const char *) + +Help on function reg_write_int in module ida_registry: + +reg_write_int(*args) -> 'void' + reg_write_int(name, value, subkey=None) + + + Write integer value to the registry. + + @param name: value name (C++: const char *) + @param value: value to write (C++: int) + @param subkey: key name (C++: const char *) + +Help on function reg_write_string in module ida_registry: + +reg_write_string(*args) -> 'void' + reg_write_string(name, utf8, subkey=None) + + + Write a string to the registry. + + @param name: value name (C++: const char *) + @param utf8: utf8-encoded string (C++: const char *) + @param subkey: key name (C++: const char *) + +=== ida_registry EPYDOC INJECTIONS === +ida_registry.ROOT_KEY_NAME +""" +Key used to store IDA settings in registry (Windows version).this name +is automatically prepended to all key names passed to functions in +this file. +""" +=== ida_registry EPYDOC INJECTIONS END === +Help on function find_binary in module ida_search: + +find_binary(*args) -> 'ea_t' + find_binary(arg1, arg2, arg3, arg4, arg5) -> ea_t + +Help on function find_code in module ida_search: + +find_code(*args) -> 'ea_t' + find_code(ea, sflag) -> ea_t + + + Find next code address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_data in module ida_search: + +find_data(*args) -> 'ea_t' + find_data(ea, sflag) -> ea_t + + + Find next data address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_defined in module ida_search: + +find_defined(*args) -> 'ea_t' + 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) + +Help on function find_error in module ida_search: + +find_error(*args) -> 'int *' + find_error(ea, sflag) -> ea_t + + + Find next error or problem. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_imm in module ida_search: + +find_imm(*args) -> 'int *' + find_imm(newEA, sflag, srchValue) -> ea_t + + + Find next immediate operand with the given value. + + + @param newEA (C++: ea_t) + @param sflag (C++: int) + @param srchValue (C++: uval_t) + +Help on function find_not_func in module ida_search: + +find_not_func(*args) -> 'ea_t' + 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) + +Help on function find_notype in module ida_search: + +find_notype(*args) -> 'int *' + find_notype(ea, sflag) -> ea_t + + + Find next operand without any type info. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_suspop in module ida_search: + +find_suspop(*args) -> 'int *' + find_suspop(ea, sflag) -> ea_t + + + Find next suspicious operand. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_text in module ida_search: + +find_text(*args) -> 'ea_t' + 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 *) + @param sflag (C++: int) + +Help on function find_unknown in module ida_search: + +find_unknown(*args) -> 'ea_t' + find_unknown(ea, sflag) -> ea_t + + + Find next unexplored address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function search_down in module ida_search: + +search_down(*args) -> 'bool' + search_down(sflag) -> bool + + + Is the 'SEARCH_DOWN' bit set? + + + @param sflag (C++: int) + +=== ida_search EPYDOC INJECTIONS === +ida_search.SEARCH_BRK +""" +return 'BADADDR' if Ctrl-Break wass pressed during search +""" + +ida_search.SEARCH_CASE +""" +case-sensitive search (case-insensitive otherwise) +""" + +ida_search.SEARCH_DOWN +""" +search towards higher addresses +""" + +ida_search.SEARCH_IDENT +""" +search for an identifier (text search). it means that the characters +before and after the match cannot be is_visible_char(). +""" + +ida_search.SEARCH_NEXT +""" +for other find_.. functions it is implicitly set + +useful only for 'search()' and find_binary(). +""" + +ida_search.SEARCH_NOBRK +""" +don't test for ctrl-break to interrupt the search +""" + +ida_search.SEARCH_NOSHOW +""" +don't display the search progress/refresh screen +""" + +ida_search.SEARCH_REGEX +""" +regular expressions in search string (only supported for txt search) +""" + +ida_search.SEARCH_UP +""" +search towards lower addresses +""" +=== ida_search EPYDOC INJECTIONS END === +Help on function add_segm in module ida_segment: + +add_segm(*args) -> 'bool' + 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: segment base paragraph. if paragraph can't fit in 16bit, + then a new selector is allocated and mapped to the + paragraph. (C++: ea_t) + @param start: start address of the segment. if start== BADADDR then + start <- to_ea(para,0). (C++: ea_t) + @param end: end address of the segment. end address should be higher + than start address. For emulate empty segments, use + SEG_NULL segment type. If the end address is lower than + start address, then fail. If end== BADADDR , then a + segment up to the next segment will be created (if the + next segment doesn't exist, then 1 byte segment will be + created). If 'end' is too high and the new segment would + overlap the next segment, 'end' is adjusted properly. + (C++: ea_t) + @param name: name of new segment. may be NULL (C++: const char *) + @param sclass: class of the segment. may be NULL. type of the new + segment is modified if class is one of predefined + names: "CODE" -> SEG_CODE "DATA" -> SEG_DATA + "CONST" -> SEG_DATA "STACK" -> SEG_BSS "BSS" -> + SEG_BSS "XTRN" -> SEG_XTRN "COMM" -> SEG_COMM + "ABS" -> SEG_ABSSYM (C++: const char *) + @param flags (C++: int) + +Help on function add_segm_ex in module ida_segment: + +add_segm_ex(*args) -> 'bool' + add_segm_ex(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 s: pointer to filled segment structure. segment selector should + have proper mapping (see set_selector() ). if + s.start_ea== BADADDR then s.start_ea <- get_segm_base(&s) + if s.end_ea== BADADDR , then a segment up to the next + segment will be created (if the next segment doesn't exist, + then 1 byte segment will be created). if the s.end_ea < + s.start_ea, then fail. if s.end_ea is too high and the new + segment would overlap the next segment, s.end_ea is adjusted + properly. (C++: segment_t *) + @param name: name of new segment. may be NULL. if specified, the + segment is immediately renamed (C++: const char *) + @param sclass: class of the segment. may be NULL. if specified, the + segment class is immediately changed (C++: const char + *) + @param flags: Add segment flags (C++: int) + +Help on function add_segment_translation in module ida_segment: + +add_segment_translation(*args) -> 'bool' + add_segment_translation(segstart, mappedseg) -> bool + + + Add segment translation. + + @param segstart: start address of the segment to add translation to + (C++: ea_t) + @param mappedseg: start address of the overlayed segment (C++: ea_t) + +Help on function allocate_selector in module ida_segment: + +allocate_selector(*args) -> 'sel_t' + 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: a new segment base paragraph (C++: ea_t) + @return: the allocated selector number + +Help on function change_segment_status in module ida_segment: + +change_segment_status(*args) -> 'int' + 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: segment to modify (C++: segment_t *) + @param is_deb_segm: new status of the segment (C++: bool) + @return: Change segment status result codes + +Help on function del_segm in module ida_segment: + +del_segm(*args) -> 'bool' + del_segm(ea, flags) -> bool + + + Delete a segment. + + @param ea: any address belonging to the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function del_segment_translations in module ida_segment: + +del_segment_translations(*args) -> 'void' + del_segment_translations(segstart) + + + Delete the translation list + + @param segstart: start address of the segment to delete translation + list (C++: ea_t) + +Help on function del_selector in module ida_segment: + +del_selector(*args) -> 'void' + 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: number of selector to remove from the translation + table (C++: sel_t) + +Help on function find_free_selector in module ida_segment: + +find_free_selector(*args) -> 'sel_t' + find_free_selector() -> sel_t + + + Find first unused selector. + + @return: a number >= 1 + +Help on function find_selector in module ida_segment: + +find_selector(*args) -> 'sel_t' + find_selector(base) -> sel_t + + + Find a selector that has mapping to the specified paragraph. + + @param base: paragraph to search in the translation table (C++: ea_t) + @return: selector value or base + +Help on function get_defsr in module ida_segment: + +get_defsr(*args) -> 'sel_t' + get_defsr(s, reg) -> sel_t + +Help on function get_first_seg in module ida_segment: + +get_first_seg(*args) -> 'segment_t *' + get_first_seg() -> segment_t + + + Get pointer to the first segment. + +Help on function get_group_selector in module ida_segment: + +get_group_selector(*args) -> 'sel_t' + get_group_selector(grpsel) -> sel_t + + + Get common selector for a group of segments. + + @param grpsel: selector of group segment (C++: sel_t) + @return: common selector of the group or 'grpsel' if no such group is + found + +Help on function get_last_seg in module ida_segment: + +get_last_seg(*args) -> 'segment_t *' + get_last_seg() -> segment_t + + + Get pointer to the last segment. + +Help on function get_next_seg in module ida_segment: + +get_next_seg(*args) -> 'segment_t *' + get_next_seg(ea) -> segment_t + + + Get pointer to the next segment. + + + @param ea (C++: ea_t) + +Help on function get_prev_seg in module ida_segment: + +get_prev_seg(*args) -> 'segment_t *' + get_prev_seg(ea) -> segment_t + + + Get pointer to the previous segment. + + + @param ea (C++: ea_t) + +Help on function get_segm_base in module ida_segment: + +get_segm_base(*args) -> 'ea_t' + 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: pointer to segment (C++: const segment_t *) + @return: 0 if s == NULL, otherwise segment base linear address + +Help on function get_segm_by_name in module ida_segment: + +get_segm_by_name(*args) -> 'segment_t *' + 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: segment name. may be NULL. (C++: const char *) + @return: NULL or pointer to segment structure + +Help on function get_segm_by_sel in module ida_segment: + +get_segm_by_sel(*args) -> 'segment_t *' + 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: a segment with the specified selector will be + returned (C++: sel_t) + @return: pointer to segment or NULL + +Help on function get_segm_class in module ida_segment: + +get_segm_class(*args) -> 'qstring *' + get_segm_class(s) -> str + + + Get segment class. Segment class is arbitrary text (max 8 characters). + + @param s: pointer to segment (C++: const segment_t *) + @return: size of segment class (-1 if s==NULL or bufsize<=0) + +Help on function get_segm_name in module ida_segment: + +get_segm_name(*args) -> 'qstring *' + get_segm_name(s, flags=0) -> str + + + Get true segment name by pointer to segment. + + @param s: pointer to segment (C++: const segment_t *) + @param flags: 0-return name as is; 1-substitute bad symbols with _ 1 + corresponds to GN_VISIBLE (C++: int) + @return: size of segment name (-1 if s==NULL) + +Help on function get_segm_num in module ida_segment: + +get_segm_num(*args) -> 'int' + get_segm_num(ea) -> int + + + Get number of segment by address. + + @param ea: linear address belonging to the segment (C++: ea_t) + @return: -1 if no segment occupies the specified address. otherwise + returns number of the specified segment (0.. get_segm_qty() + -1) + +Help on function get_segm_para in module ida_segment: + +get_segm_para(*args) -> 'ea_t' + 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: pointer to segment (C++: const segment_t *) + @return: 0 if s == NULL, the segment base paragraph + +Help on function get_segm_qty in module ida_segment: + +get_segm_qty(*args) -> 'int' + get_segm_qty() -> int + + + Get number of segments. + +Help on function get_segment_alignment in module ida_segment: + +get_segment_alignment(*args) -> 'char const *' + get_segment_alignment(align) -> char const * + + + Get text representation of segment alignment code. + + @param align (C++: uchar) + @return: text digestable by IBM PC assembler. + +Help on function get_segment_cmt in module ida_segment: + +get_segment_cmt(*args) -> 'qstring *' + get_segment_cmt(s, repeatable) -> str + + + Get segment comment. + + @param s: pointer to segment structure (C++: const segment_t *) + @param repeatable: 0: get regular comment. 1: get repeatable comment. + (C++: bool) + @return: size of comment or -1 + +Help on function get_segment_combination in module ida_segment: + +get_segment_combination(*args) -> 'char const *' + get_segment_combination(comb) -> char const * + + + Get text representation of segment combination code. + + @param comb (C++: uchar) + @return: text digestable by IBM PC assembler. + +Help on function get_segment_translations in module ida_segment: + +get_segment_translations(*args) -> 'ssize_t' + get_segment_translations(transmap, segstart) -> ssize_t + + + Get segment translation list. + + @param transmap: vector of segment start addresses for the translation + list (C++: eavec_t *) + @param segstart: start address of the segment to get information about + (C++: ea_t) + @return: -1 if no translation list or bad segstart. otherwise returns + size of translation list. + +Help on function get_selector_qty in module ida_segment: + +get_selector_qty(*args) -> 'int' + get_selector_qty() -> int + + + Get number of defined selectors. + +Help on function get_visible_segm_name in module ida_segment: + +get_visible_segm_name(*args) -> 'qstring *' + get_visible_segm_name(s) -> str + + + Get segment name by pointer to segment. + + @param s: pointer to segment (C++: const segment_t *) + @return: size of segment name (-1 if s==NULL) + +Help on function getn_selector in module ida_segment: + +getn_selector(*args) -> 'sel_t *, ea_t *' + getn_selector(n) -> bool + + + Get description of selector (0.. 'get_selector_qty()' -1) + + + @param n (C++: int) + +Help on function getnseg in module ida_segment: + +getnseg(*args) -> 'segment_t *' + getnseg(n) -> segment_t + + + Get pointer to segment by its number.Obsoleted because it can slow + down the debugger (it has to refresh the whole memory segmentation to + calculate the correct answer) + + @param n: segment number in the range (0.. get_segm_qty() -1) (C++: + int) + @return: NULL or pointer to segment structure + +Help on function getseg in module ida_segment: + +getseg(*args) -> 'segment_t *' + getseg(ea) -> segment_t + + + Get pointer to segment by linear address. + + @param ea: linear address belonging to the segment (C++: ea_t) + @return: NULL or pointer to segment structure + +Help on function is_finally_visible_segm in module ida_segment: + +is_finally_visible_segm(*args) -> 'bool' + is_finally_visible_segm(s) -> bool + + + See 'SFL_HIDDEN' , 'SCF_SHHID_SEGM' . + + + @param s (C++: segment_t *) + +Help on function is_miniidb in module ida_segment: + +is_miniidb(*args) -> 'bool' + is_miniidb() -> bool + + + Is the database a miniidb created by the debugger?. + + @return: true if the database contains no segments or only debugger + segments + +Help on function is_segm_locked in module ida_segment: + +is_segm_locked(*args) -> 'bool' + is_segm_locked(segm) -> bool + + + Is a segment pointer locked? + + + @param segm (C++: const segment_t *) + +Help on function is_spec_ea in module ida_segment: + +is_spec_ea(*args) -> 'bool' + 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: linear address (C++: ea_t) + +Help on function is_spec_segm in module ida_segment: + +is_spec_segm(*args) -> 'bool' + is_spec_segm(seg_type) -> bool + + + Has segment a special type?. ( 'SEG_XTRN' , 'SEG_GRP' , 'SEG_ABSSYM' , + 'SEG_COMM' ) + + @param seg_type (C++: uchar) + +Help on function is_visible_segm in module ida_segment: + +is_visible_segm(*args) -> 'bool' + is_visible_segm(s) -> bool + + + See 'SFL_HIDDEN' . + + + @param s (C++: segment_t *) + +Help on function lock_segm in module ida_segment: + +lock_segm(*args) -> 'void' + 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 *) + @param lock (C++: bool) + +Help on class lock_segment in module ida_segment: + +class lock_segment(builtins.object) + | Proxy of C++ lock_segment class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _segm) -> lock_segment + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lock_segment(...) + | delete_lock_segment(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function move_segm in module ida_segment: + +move_segm(*args) -> 'int' + move_segm(s, to, flags=0) -> int + + + 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. 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: segment to move (C++: segment_t *) + @param to: new segment start address (C++: ea_t) + @param flags: Move segment flags (C++: int) + @return: Move segment result codes + +Help on function move_segm_start in module ida_segment: + +move_segm_start(*args) -> 'bool' + 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.this function never disables addresses. + + @param ea: any address belonging to the segment (C++: ea_t) + @param newstart: new start address of the segment note that segment + start address should be higher than segment base + linear address. (C++: ea_t) + @param mode: 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) (C++: int) + +Help on function rebase_program in module ida_segment: + +rebase_program(*args) -> 'int' + rebase_program(delta, flags) -> int + + + Rebase the whole program by 'delta' bytes. + + @param delta: number of bytes to move the program (C++: adiff_t) + @param flags: Move segment flags it is recommended to use + MSF_FIXONCE so that the loader takes care of global + variables it stored in the database (C++: int) + @return: Move segment result codes + +Help on function segm_adjust_diff in module ida_segment: + +segm_adjust_diff(*args) -> 'adiff_t' + segm_adjust_diff(s, delta) -> adiff_t + + + Truncate and sign extend a delta depending on the segment. + + + @param s (C++: const segment_t *) + @param delta (C++: adiff_t) + +Help on function segm_adjust_ea in module ida_segment: + +segm_adjust_ea(*args) -> 'ea_t' + segm_adjust_ea(s, ea) -> ea_t + + + Truncate an address depending on the segment. + + + @param s (C++: const segment_t *) + @param ea (C++: ea_t) + +Help on class segment_t in module ida_segment: + +class segment_t(ida_range.range_t) + | Proxy of C++ segment_t class. + | + | Method resolution order: + | segment_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> segment_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_segment_t(...) + | delete_segment_t(self) + | + | abits(self, *args) -> 'int' + | abits(self) -> int + | + | abytes(self, *args) -> 'int' + | abytes(self) -> int + | + | clr_comorg(self, *args) -> 'void' + | clr_comorg(self) + | + | clr_ob_ok(self, *args) -> 'void' + | clr_ob_ok(self) + | + | comorg(self, *args) -> 'bool' + | comorg(self) -> bool + | + | is_header_segm(self, *args) -> 'bool' + | is_header_segm(self) -> bool + | + | is_hidden_segtype(self, *args) -> 'bool' + | is_hidden_segtype(self) -> bool + | + | is_loader_segm(self, *args) -> 'bool' + | is_loader_segm(self) -> bool + | + | is_visible_segm(self, *args) -> 'bool' + | is_visible_segm(self) -> bool + | + | ob_ok(self, *args) -> 'bool' + | ob_ok(self) -> bool + | + | set_comorg(self, *args) -> 'void' + | set_comorg(self) + | + | set_debugger_segm(self, *args) -> 'void' + | set_debugger_segm(self, debseg) + | + | set_header_segm(self, *args) -> 'void' + | set_header_segm(self, on) + | + | set_hidden_segtype(self, *args) -> 'void' + | set_hidden_segtype(self, hide) + | + | set_loader_segm(self, *args) -> 'void' + | set_loader_segm(self, ldrseg) + | + | set_ob_ok(self, *args) -> 'void' + | set_ob_ok(self) + | + | set_visible_segm(self, *args) -> 'void' + | set_visible_segm(self, visible) + | + | update(self, *args) -> 'bool' + | update(self) -> bool + | + | use32(self, *args) -> 'bool' + | use32(self) -> bool + | + | use64(self, *args) -> 'bool' + | use64(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | align + | segment_t_align_get(self) -> uchar + | + | bitness + | segment_t_bitness_get(self) -> uchar + | + | color + | segment_t_color_get(self) -> bgcolor_t + | + | comb + | segment_t_comb_get(self) -> uchar + | + | defsr + | segment_t_defsr_get(self) -> sel_t [16] + | + | end_ea + | segment_t_end_ea_get(self) -> ea_t + | + | flags + | segment_t_flags_get(self) -> ushort + | + | name + | segment_t_name_get(self) -> uval_t + | + | orgbase + | segment_t_orgbase_get(self) -> uval_t + | + | perm + | segment_t_perm_get(self) -> uchar + | + | sclass + | segment_t_sclass_get(self) -> uval_t + | + | sel + | segment_t_sel_get(self) -> sel_t + | + | start_ea + | segment_t_start_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | type + | segment_t_type_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | startEA + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on function segtype in module ida_segment: + +segtype(*args) -> 'uchar' + segtype(ea) -> uchar + + + Get segment type. + + @param ea: any linear address within the segment (C++: ea_t) + @return: Segment types , SEG_UNDF if no segment found at 'ea' + +Help on function sel2ea in module ida_segment: + +sel2ea(*args) -> 'ea_t' + sel2ea(selector) -> ea_t + + + Get mapping of a selector as a linear address. + + @param selector: number of selector to translate to linear address + (C++: sel_t) + @return: linear address the specified selector is mapped to. if there + is no mapping, returns to_ea(selector,0); + +Help on function sel2para in module ida_segment: + +sel2para(*args) -> 'ea_t' + sel2para(selector) -> ea_t + + + Get mapping of a selector. + + @param selector: number of selector to translate (C++: sel_t) + @return: paragraph the specified selector is mapped to. if there is no + mapping, returns 'selector'. + +Help on function set_defsr in module ida_segment: + +set_defsr(*args) -> 'void' + set_defsr(s, reg, value) + +Help on function set_group_selector in module ida_segment: + +set_group_selector(*args) -> 'int' + set_group_selector(grp, sel) -> int + + + Initialize groups. The kernel calls this function at the start of + work.Create a new group of segments (used OMF files). + + @param grp: 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. (C++: + sel_t) + @param sel: common selector of all segments belonging to the segment + You should create all segments within the group with the + same selector value. (C++: sel_t) + @return: 1 ok + +Help on function set_segm_addressing in module ida_segment: + +set_segm_addressing(*args) -> 'bool' + 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: pointer to segment (C++: segment_t *) + @param bitness: new addressing mode of segment 2: 64bit segment 1: + 32bit segment 0: 16bit segment (C++: size_t) + @return: success + +Help on function set_segm_base in module ida_segment: + +set_segm_base(*args) -> 'bool' + set_segm_base(s, newbase) -> bool + + + Internal function. + + + @param s (C++: segment_t *) + @param newbase (C++: ea_t) + +Help on function set_segm_class in module ida_segment: + +set_segm_class(*args) -> 'int' + set_segm_class(s, sclass, flags=0) -> int + + + Set segment class. + + @param s: pointer to segment (may be NULL) (C++: segment_t *) + @param sclass: segment class (may be NULL). 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 . (C++: const char *) + @param flags (C++: int) + +Help on function set_segm_end in module ida_segment: + +set_segm_end(*args) -> 'bool' + 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: any address belonging to the segment (C++: ea_t) + @param newend: new end address of the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function set_segm_name in module ida_segment: + +set_segm_name(*args) -> 'int' + 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: pointer to segment (may be NULL) (C++: segment_t *) + @param name: new segment name (C++: const char *) + @param flags: ADDSEG_IDBENC or 0 (C++: int) + +Help on function set_segm_start in module ida_segment: + +set_segm_start(*args) -> 'bool' + 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: any address belonging to the segment (C++: ea_t) + @param newstart: new start address of the segment note that segment + start address should be higher than segment base + linear address. (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function set_segment_cmt in module ida_segment: + +set_segment_cmt(*args) -> 'void' + set_segment_cmt(s, cmt, repeatable) + + + Set segment comment. + + @param s: pointer to segment structure (C++: const segment_t *) + @param cmt: comment string, may be multiline (with ' '). maximal size + is 4096 bytes. Use empty str ("") to delete comment (C++: + const char *) + @param repeatable: 0: set regular comment. 1: set repeatable comment. + (C++: bool) + +Help on function set_segment_translations in module ida_segment: + +set_segment_translations(*args) -> 'bool' + set_segment_translations(segstart, transmap) -> bool + + + Set new translation list. + + @param segstart: start address of the segment to add translation to + (C++: ea_t) + @param transmap: vector of segment start addresses for the translation + list. If transmap is empty, the translation list is + deleted. (C++: const eavec_t &) + +Help on function set_selector in module ida_segment: + +set_selector(*args) -> 'int' + set_selector(selector, paragraph) -> int + + + Set mapping of selector to a paragraph. You should call this + functionbeforecreating a segment which uses the selector, otherwise + the creation of the segment will fail. + + @param selector: 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. (C++: sel_t) + @param paragraph: paragraph to map selector (C++: ea_t) + +Help on function set_visible_segm in module ida_segment: + +set_visible_segm(*args) -> 'void' + set_visible_segm(s, visible) + + + See 'SFL_HIDDEN' . + + + @param s (C++: segment_t *) + @param visible (C++: bool) + +Help on function setup_selector in module ida_segment: + +setup_selector(*args) -> 'sel_t' + 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: a new segment base paragraph (C++: ea_t) + @return: the allocated selector number + +Help on function std_out_segm_footer in module ida_segment: + +std_out_segm_footer(*args) -> 'void' + 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 &) + @param seg (C++: segment_t *) + +Help on function take_memory_snapshot in module ida_segment: + +take_memory_snapshot(*args) -> 'bool' + take_memory_snapshot(only_loader_segs) -> bool + + + Take a memory snapshot of the running process. + + @param only_loader_segs: only is_loader_segm() segments will be + affected (C++: bool) + @return: success + +Help on function update_segm in module ida_segment: + +update_segm(*args) -> 'bool' + update_segm(s) -> bool + +=== ida_segment EPYDOC INJECTIONS === +ida_segment.ADDSEG_FILLGAP +""" +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. +""" + +ida_segment.ADDSEG_IDBENC +""" +non-ASCII bytes will be decoded accordingly + +'name' and 'sclass' are given in the IDB encoding; +""" + +ida_segment.ADDSEG_NOAA +""" +do not mark new segment for auto-analysis +""" + +ida_segment.ADDSEG_NOSREG +""" +(undefine all default segment registers) + +set all default segment register values to 'BADSEL' +""" + +ida_segment.ADDSEG_NOTRUNC +""" +destroy/truncate old segments instead. + +don't truncate the new segment at the beginning of the next segment if +they overlap. +""" + +ida_segment.ADDSEG_OR_DIE +""" + 'qexit()' if can't add a segment +""" + +ida_segment.ADDSEG_QUIET +""" +silent mode, no "Adding segment..." in the messages window +""" + +ida_segment.ADDSEG_SPARSE +""" +use sparse storage method for the new segment +""" + +ida_segment.CSS_BREAK +""" +memory reading process stopped by user +""" + +ida_segment.CSS_NODBG +""" +debugger is not running +""" + +ida_segment.CSS_NOMEM +""" +is too big) + +not enough memory (might be because the segment +""" + +ida_segment.CSS_NORANGE +""" +could not find corresponding memory range +""" + +ida_segment.CSS_OK +""" +ok +""" + +ida_segment.MAX_GROUPS +""" +max number of segment groups +""" + +ida_segment.MAX_SEGM_TRANSLATIONS +""" +max number of segment translations +""" + +ida_segment.MOVE_SEGM_CHUNK +""" +Too many chunks are defined, can't move. +""" + +ida_segment.MOVE_SEGM_DEBUG +""" +Debugger segments cannot be moved. +""" + +ida_segment.MOVE_SEGM_IDP +""" +IDP module forbids moving the segment. +""" + +ida_segment.MOVE_SEGM_LOADER +""" +The segment has been moved but the loader complained. +""" + +ida_segment.MOVE_SEGM_ODD +""" +Cannot move segments by an odd number of bytes. +""" + +ida_segment.MOVE_SEGM_OK +""" +all ok +""" + +ida_segment.MOVE_SEGM_ORPHAN +""" +Orphan bytes hinder segment movement. +""" + +ida_segment.MOVE_SEGM_PARAM +""" +The specified segment does not exist. +""" + +ida_segment.MOVE_SEGM_ROOM +""" +Not enough free room at the target address. +""" + +ida_segment.MSF_FIXONCE +""" +valid for 'rebase_program()' . see 'loader_t::move_segm' . + +call loader only once with the special calling method. +""" + +ida_segment.MSF_LDKEEP +""" +keep the loader in the memory (optimization) +""" + +ida_segment.MSF_NETNODES +""" +valid for 'rebase_program()' + +move netnodes instead of changing inf.netdelta (this is slower) +""" + +ida_segment.MSF_NOFIX +""" +don't call the loader to fix relocations +""" + +ida_segment.MSF_PRIORITY +""" +valid for 'move_segm()' + +loader segments will overwrite any existing debugger segments when +moved. +""" + +ida_segment.MSF_SILENT +""" +don't display a "please wait" box on the screen +""" + +ida_segment.SEGMOD_KEEP +""" +keep information (code & data, etc) +""" + +ida_segment.SEGMOD_KEEP0 +""" +flag for internal use, don't set +""" + +ida_segment.SEGMOD_KEEPSEL +""" +do not try to delete unused selector +""" + +ida_segment.SEGMOD_KILL +""" +disable addresses if segment gets shrinked or deleted +""" + +ida_segment.SEGMOD_NOMOVE +""" +(for 'set_segm_start()' ) + +don't move info from the start of segment to the new start address +""" + +ida_segment.SEGMOD_SILENT +""" +be silent +""" + +ida_segment.SEGMOD_SPARSE +""" +(for 'set_segm_start()' , 'set_segm_end()' ) + +use sparse storage if extending the segment +""" + +ida_segment.SEGPERM_EXEC +""" +Execute. +""" + +ida_segment.SEGPERM_READ +""" +Read. +""" + +ida_segment.SEGPERM_WRITE +""" +Write. +""" + +ida_segment.SEG_ABSSYM +""" +segment with definitions of absolute symbols +""" + +ida_segment.SEG_BSS +""" +uninitialized segment +""" + +ida_segment.SEG_CODE +""" +code segment +""" + +ida_segment.SEG_COMM +""" +segment with communal definitions +""" + +ida_segment.SEG_DATA +""" +data segment +""" + +ida_segment.SEG_GRP +""" +group of segments +""" + +ida_segment.SEG_IMEM +""" +internal processor memory & sfr (8051) +""" + +ida_segment.SEG_IMP +""" +java: implementation segment +""" + +ida_segment.SEG_NORM +""" +unknown type, no assumptions +""" + +ida_segment.SEG_NULL +""" +zero-length segment +""" + +ida_segment.SEG_UNDF +""" +undefined segment type (not used) +""" + +ida_segment.SEG_XTRN +""" +no instructions are allowed + +segment with 'extern' definitions. +""" + +ida_segment.SFL_COMORG +""" +IDP dependent field (IBM PC: if set, ORG directive is not commented +out) +""" + +ida_segment.SFL_DEBUG +""" +Is the segment created for the debugger?. Such segments are temporary +and do not have permanent flags. +""" + +ida_segment.SFL_HEADER +""" +Header segment (do not create offsets to it in the disassembly) +""" + +ida_segment.SFL_HIDDEN +""" +Is the segment hidden? +""" + +ida_segment.SFL_HIDETYPE +""" +Hide segment type (do not print it in the listing) +""" + +ida_segment.SFL_LOADER +""" +Is the segment created by the loader? +""" + +ida_segment.SFL_OBOK +""" +Orgbase is present? (IDP dependent field) +""" + +ida_segment.SREG_NUM +""" +Maximum number of segment registers is 16 (see 'segregs.hpp' ) +""" + +ida_segment.saAbs +""" +Absolute segment. +""" + +ida_segment.saGroup +""" +Segment group. +""" + +ida_segment.saRel1024Bytes +""" +1024 bytes +""" + +ida_segment.saRel128Bytes +""" +128 bytes +""" + +ida_segment.saRel2048Bytes +""" +2048 bytes +""" + +ida_segment.saRel32Bytes +""" +32 bytes +""" + +ida_segment.saRel4K +""" +alignment. It is not supported by LINK. + +This value is used by the PharLap OMF for page (4K) +""" + +ida_segment.saRel512Bytes +""" +512 bytes +""" + +ida_segment.saRel64Bytes +""" +64 bytes +""" + +ida_segment.saRelByte +""" +Relocatable, byte aligned. +""" + +ida_segment.saRelDble +""" +boundary. + +Relocatable, aligned on a double word (4-byte) +""" + +ida_segment.saRelPage +""" +Relocatable, aligned on 256-byte boundary. +""" + +ida_segment.saRelPara +""" +Relocatable, paragraph (16-byte) aligned. +""" + +ida_segment.saRelQword +""" +8 bytes +""" + +ida_segment.saRelWord +""" +Relocatable, word (2-byte) aligned. +""" + +ida_segment.scCommon +""" +Common. Combine by overlay using maximum size. +""" + +ida_segment.scGroup +""" +Segment group. +""" + +ida_segment.scPriv +""" +segment. + +Private. Do not combine with any other program +""" + +ida_segment.scPub +""" +the alignment requirement. + +Public. Combine by appending at an offset that meets +""" + +ida_segment.scPub2 +""" +As defined by Microsoft, same as C=2 (public). +""" + +ida_segment.scPub3 +""" +As defined by Microsoft, same as C=2 (public). +""" + +ida_segment.scStack +""" +byte alignment. + +Stack. Combine as for C=2. This combine type forces +""" +=== ida_segment EPYDOC INJECTIONS END === +Help on function copy_sreg_ranges in module ida_segregs: + +copy_sreg_ranges(*args) -> 'void' + copy_sreg_ranges(dst_rg, src_rg, map_selector=False) + + + Duplicate segment register ranges. + + @param dst_rg: number of destination segment register (C++: int) + @param src_rg: copy ranges from (C++: int) + @param map_selector: map selectors to linear addresses using sel2ea() + (C++: bool) + +Help on function del_sreg_range in module ida_segregs: + +del_sreg_range(*args) -> 'bool' + 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: start_ea of the deleted range (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_prev_sreg_range in module ida_segregs: + +get_prev_sreg_range(*args) -> 'bool' + get_prev_sreg_range(out, ea, rg) -> bool + + + Get segment register range previous to one with address.more efficient + then get_sreg_range(reg, ea-1) + + @param out: segment register range (C++: sreg_range_t *) + @param ea: any linear address in the program (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_sreg in module ida_segregs: + +get_sreg(*args) -> 'sel_t' + 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: linear address in the program (C++: ea_t) + @param rg: number of the segment register (C++: int) + @return: value of the segment register, BADSEL if value is unknown. + +Help on function get_sreg_range in module ida_segregs: + +get_sreg_range(*args) -> 'bool' + get_sreg_range(out, ea, rg) -> bool + + + Get segment register range by linear address. + + @param out: segment register range (C++: sreg_range_t *) + @param ea: any linear address in the program (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_sreg_range_num in module ida_segregs: + +get_sreg_range_num(*args) -> 'int' + get_sreg_range_num(ea, rg) -> int + + + Get number of segment register range by address. + + @param ea: any address in the range (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: -1 if no range occupies the specified address. otherwise + returns number of the specified range + (0..get_srranges_qty()-1) + +Help on function get_sreg_ranges_qty in module ida_segregs: + +get_sreg_ranges_qty(*args) -> 'size_t' + get_sreg_ranges_qty(rg) -> size_t + + + Get number of segment register ranges. + + @param rg: the segment register number (C++: int) + +Help on function getn_sreg_range in module ida_segregs: + +getn_sreg_range(*args) -> 'bool' + getn_sreg_range(out, rg, n) -> bool + + + Get segment register range by its number. + + @param out: segment register range (C++: sreg_range_t *) + @param rg: the segment register number (C++: int) + @param n: number of range (0..qty()-1) (C++: int) + @return: success + +Help on function set_default_dataseg in module ida_segregs: + +set_default_dataseg(*args) -> 'void' + set_default_dataseg(ds_sel) + + + Set default value of DS register for all segments. + + + @param ds_sel (C++: sel_t) + +Help on function set_default_sreg_value in module ida_segregs: + +set_default_sreg_value(*args) -> 'bool' + set_default_sreg_value(sg, rg, value) -> bool + + + Set default value of a segment register for a segment. + + @param sg: pointer to segment structure if NULL, then set the register + for all segments (C++: segment_t *) + @param rg: number of segment register (C++: int) + @param value: its default value. this value will be used by + get_sreg() if value of the register is unknown at the + specified address. (C++: sel_t) + @return: success + +Help on function set_sreg_at_next_code in module ida_segregs: + +set_sreg_at_next_code(*args) -> 'void' + 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: address to start to search for an instruction (C++: ea_t) + @param ea2: the maximal address (C++: ea_t) + @param rg: the segment register number (C++: int) + @param value: the segment register value (C++: sel_t) + +Help on function split_sreg_range in module ida_segregs: + +split_sreg_range(*args) -> 'bool' + 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: linear address where the segment register will have a new + value. if ea== BADADDR , nothing to do. (C++: ea_t) + @param rg: the number of the segment register (C++: int) + @param v: the new value of the segment register. If the value is + unknown, you should specify BADSEL . (C++: sel_t) + @param tag: the register info tag. see Segment register range tags + (C++: uchar) + @param silent: if false, display a warning() in the case of failure + (C++: bool) + @return: success + +Help on class sreg_range_t in module ida_segregs: + +class sreg_range_t(ida_range.range_t) + | Proxy of C++ sreg_range_t class. + | + | Method resolution order: + | sreg_range_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sreg_range_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_sreg_range_t(...) + | delete_sreg_range_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | tag + | sreg_range_t_tag_get(self) -> uchar + | + | thisown + | The membership flag + | + | val + | sreg_range_t_val_get(self) -> sel_t + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +=== ida_segregs EPYDOC INJECTIONS === +ida_segregs.SR_auto +""" +the value is determined by IDA +""" + +ida_segregs.SR_autostart +""" +used as 'SR_auto' for segment starting address +""" + +ida_segregs.SR_inherit +""" +the value is inherited from the previous range +""" + +ida_segregs.SR_user +""" +the value is specified by the user +""" +=== ida_segregs EPYDOC INJECTIONS END === +Help on function build_strlist in module ida_strlist: + +build_strlist(*args) -> 'void' + build_strlist() + + + Build the string list. You should initialize options before this call + using the restore_config() or setup_strings_window() methods. + +Help on function clear_strlist in module ida_strlist: + +clear_strlist(*args) -> 'void' + clear_strlist() + + + Clear the string list. + +Help on function get_strlist_item in module ida_strlist: + +get_strlist_item(*args) -> 'bool' + 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) + +Help on function get_strlist_options in module ida_strlist: + +get_strlist_options(*args) -> 'strwinsetup_t *' + get_strlist_options() -> strwinsetup_t + + + Get access to the static string list options. + +Help on function get_strlist_qty in module ida_strlist: + +get_strlist_qty(*args) -> 'size_t' + get_strlist_qty() -> size_t + + + Get number of elements in the string list. + +Help on class string_info_t in module ida_strlist: + +class string_info_t(builtins.object) + | Proxy of C++ string_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> string_info_t + | __init__(self, _ea) -> string_info_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_string_info_t(...) + | delete_string_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | string_info_t_ea_get(self) -> ea_t + | + | length + | string_info_t_length_get(self) -> int + | + | thisown + | The membership flag + | + | type + | string_info_t_type_get(self) -> int + +Help on class strwinsetup_t in module ida_strlist: + +class strwinsetup_t(builtins.object) + | Proxy of C++ strwinsetup_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strwinsetup_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_strwinsetup_t(...) + | delete_strwinsetup_t(self) + | + | _get_strtypes(self, *args) -> 'PyObject *' + | _get_strtypes(self) -> PyObject * + | + | _set_strtypes(self, *args) -> 'PyObject *' + | _set_strtypes(self, py_t) -> PyObject * + | + | is_initialized(self, *args) -> 'bool' + | is_initialized(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | display_only_existing_strings + | strwinsetup_t_display_only_existing_strings_get(self) -> uchar + | + | ignore_heads + | strwinsetup_t_ignore_heads_get(self) -> uchar + | + | minlen + | strwinsetup_t_minlen_get(self) -> sval_t + | + | only_7bit + | strwinsetup_t_only_7bit_get(self) -> uchar + | + | strtypes + | _get_strtypes(self) -> PyObject * + | + | thisown + | The membership flag + +Help on function add_struc in module ida_struct: + +add_struc(*args) -> 'tid_t' + add_struc(idx, name, is_union=False) -> tid_t + + + Create a structure type. if idx== 'BADADDR' then add as the last idx. + if name==NULL then a name will be generated "struct_%d". + + @param idx (C++: uval_t) + @param name (C++: const char *) + @param is_union (C++: bool) + +Help on function add_struc_member in module ida_struct: + +add_struc_member(*args) -> 'struc_error_t' + add_struc_member(sptr, fieldname, offset, flag, mt, nbytes) -> struc_error_t + + + Add member to existing structure. + + @param sptr: structure to modify (C++: struc_t *) + @param fieldname: if NULL, then "anonymous_#" name will be generated + (C++: const char *) + @param offset: BADADDR means add to the end of structure (C++: ea_t) + @param flag: type + representation bits (C++: flags_t) + @param mt: additional info about member type. must be present for + structs, offsets, enums, strings, struct offsets. (C++: + const opinfo_t *) + @param nbytes: if == 0 then the structure will be a varstruct. in this + case the member should be the last member in the + structure (C++: asize_t) + +Help on function del_member_tinfo in module ida_struct: + +del_member_tinfo(*args) -> 'bool' + del_member_tinfo(sptr, mptr) -> bool + + + Delete tinfo for given member. + + + @param sptr (C++: struc_t *) + @param mptr (C++: member_t *) + +Help on function del_struc in module ida_struct: + +del_struc(*args) -> 'bool' + del_struc(sptr) -> bool + + + Delete a structure type. + + + @param sptr (C++: struc_t *) + +Help on function del_struc_member in module ida_struct: + +del_struc_member(*args) -> 'bool' + del_struc_member(sptr, offset) -> bool + + + Delete member at given offset. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + +Help on function del_struc_members in module ida_struct: + +del_struc_members(*args) -> 'int' + del_struc_members(sptr, off1, off2) -> int + + + Delete members which occupy range of offsets (off1..off2). + + @param sptr (C++: struc_t *) + @param off1 (C++: ea_t) + @param off2 (C++: ea_t) + @return: number of deleted members or -1 on error + +Help on function expand_struc in module ida_struct: + +expand_struc(*args) -> 'bool' + expand_struc(sptr, offset, delta, recalc=True) -> bool + + + Expand/Shrink structure type. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param delta (C++: adiff_t) + @param recalc (C++: bool) + +Help on function get_best_fit_member in module ida_struct: + +get_best_fit_member(*args) -> 'member_t *' + get_best_fit_member(sptr, offset) -> member_t + + + Get member that is most likely referenced by the specified offset. + Useful for offsets > sizeof(struct). + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_first_struc_idx in module ida_struct: + +get_first_struc_idx(*args) -> 'uval_t' + get_first_struc_idx() -> uval_t + + + Get index of first structure. + + @return: BADADDR if no known structures, 0 otherwise + +Help on function get_last_struc_idx in module ida_struct: + +get_last_struc_idx(*args) -> 'uval_t' + get_last_struc_idx() -> uval_t + + + Get index of last structure. + + @return: BADADDR if no known structures, get_struc_qty() -1 + otherwise + +Help on function get_max_offset in module ida_struct: + +get_max_offset(*args) -> 'ea_t' + get_max_offset(sptr) -> ea_t + + + For unions: returns number of members, for structs: returns size of + structure. + + + @param sptr (C++: struc_t *) + +Help on function get_member in module ida_struct: + +get_member(*args) -> 'member_t *' + get_member(sptr, offset) -> member_t + + + Get member at given offset. + + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_member_by_fullname in module ida_struct: + +get_member_by_fullname(*args) -> 'struc_t **' + get_member_by_fullname(fullname) -> member_t + + + Get a member by its fully qualified name, "struct.field". + + + @param fullname (C++: const char *) + +Help on function get_member_by_id in module ida_struct: + +get_member_by_id(*args) -> 'qstring *, struc_t **' + get_member_by_id(mid) -> member_t + + + Check if the specified member id points to a struct member. + + + @param mid (C++: tid_t) + +Help on function get_member_by_name in module ida_struct: + +get_member_by_name(*args) -> 'member_t *' + get_member_by_name(sptr, membername) -> member_t + + + Get a member by its name, like "field44". + + + @param sptr (C++: const struc_t *) + @param membername (C++: const char *) + +Help on function get_member_cmt in module ida_struct: + +get_member_cmt(*args) -> 'qstring *' + get_member_cmt(mid, repeatable) -> str + + + Get comment of structure member. + + + @param mid (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_member_fullname in module ida_struct: + +get_member_fullname(*args) -> 'qstring *' + get_member_fullname(mid) -> str + + + Get a member's fully qualified name, "struct.field". + + + @param mid (C++: tid_t) + +Help on function get_member_id in module ida_struct: + +get_member_id(*args) -> 'tid_t' + get_member_id(sptr, offset) -> tid_t + + + Get member id at given offset. + + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_member_name in module ida_struct: + +get_member_name(*args) -> 'qstring *' + get_member_name(mid) -> str + + + Get name of structure member. + + + @param mid (C++: tid_t) + +Help on function get_member_size in module ida_struct: + +get_member_size(*args) -> 'asize_t' + get_member_size(nonnul_mptr) -> asize_t + + + Get size of structure member. May return 0 for the last member of + varstruct. For union members, returns 'member_t::eoff' . + +Help on function get_member_struc in module ida_struct: + +get_member_struc(*args) -> 'struc_t *' + get_member_struc(fullname) -> struc_t + + + Get containing structure of member by its full name "struct.field". + + + @param fullname (C++: const char *) + +Help on function get_member_tinfo in module ida_struct: + +get_member_tinfo(*args) -> 'bool' + get_member_tinfo(tif, mptr) -> bool + + + Get tinfo for given member. + + + @param tif (C++: tinfo_t *) + @param mptr (C++: const member_t *) + +Help on function get_next_member_idx in module ida_struct: + +get_next_member_idx(*args) -> 'ssize_t' + get_next_member_idx(sptr, off) -> ssize_t + + + Get the next member idx, if it does not exist, return -1. + + + @param sptr (C++: const struc_t *) + @param off (C++: asize_t) + +Help on function get_next_struc_idx in module ida_struct: + +get_next_struc_idx(*args) -> 'uval_t' + get_next_struc_idx(idx) -> uval_t + + + Get next struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is out of bounds, otherwise idx++ + +Help on function get_or_guess_member_tinfo in module ida_struct: + +get_or_guess_member_tinfo(*args) -> 'bool' + get_or_guess_member_tinfo(tif, mptr) -> bool + + + Try to get tinfo for given member - if failed, generate a tinfo using + information about the member id from the disassembly + + @param tif (C++: tinfo_t *) + @param mptr (C++: const member_t *) + +Help on function get_prev_member_idx in module ida_struct: + +get_prev_member_idx(*args) -> 'ssize_t' + get_prev_member_idx(sptr, off) -> ssize_t + + + Get the prev member idx, if it does not exist, return -1. + + + @param sptr (C++: const struc_t *) + @param off (C++: asize_t) + +Help on function get_prev_struc_idx in module ida_struct: + +get_prev_struc_idx(*args) -> 'uval_t' + get_prev_struc_idx(idx) -> uval_t + + + Get previous struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is negative, otherwise idx - 1 + +Help on function get_sptr in module ida_struct: + +get_sptr(*args) -> 'struc_t *' + get_sptr(mptr) -> struc_t + + + Get child struct if member is a struct. + + + @param mptr (C++: const member_t *) + +Help on function get_struc in module ida_struct: + +get_struc(*args) -> 'struc_t *' + get_struc(id) -> struc_t + + + Get pointer to struct type info. + + + @param id (C++: tid_t) + +Help on function get_struc_by_idx in module ida_struct: + +get_struc_by_idx(*args) -> 'tid_t' + get_struc_by_idx(idx) -> tid_t + + + Get struct id by struct number. + + + @param idx (C++: uval_t) + +Help on function get_struc_cmt in module ida_struct: + +get_struc_cmt(*args) -> 'qstring *' + get_struc_cmt(id, repeatable) -> str + + + Get struct comment. + + + @param id (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_struc_first_offset in module ida_struct: + +get_struc_first_offset(*args) -> 'ea_t' + get_struc_first_offset(sptr) -> ea_t + + + Get offset of first member. + + @param sptr (C++: const struc_t *) + @return: BADADDR if memqty == 0 + +Help on function get_struc_id in module ida_struct: + +get_struc_id(*args) -> 'tid_t' + get_struc_id(name) -> tid_t + + + Get struct id by name. + + + @param name (C++: const char *) + +Help on function get_struc_idx in module ida_struct: + +get_struc_idx(*args) -> 'uval_t' + get_struc_idx(id) -> uval_t + + + Get internal number of the structure. + + + @param id (C++: tid_t) + +Help on function get_struc_last_offset in module ida_struct: + +get_struc_last_offset(*args) -> 'ea_t' + get_struc_last_offset(sptr) -> ea_t + + + Get offset of last member. + + @param sptr (C++: const struc_t *) + @return: BADADDR if memqty == 0 + +Help on function get_struc_name in module ida_struct: + +get_struc_name(*args) -> 'qstring *' + get_struc_name(id, flags=0) -> str + + + Get struct name by id + + @param id: struct id (C++: tid_t) + @param flags: Struct name flags (C++: int) + +Help on function get_struc_next_offset in module ida_struct: + +get_struc_next_offset(*args) -> 'ea_t' + get_struc_next_offset(sptr, offset) -> ea_t + + + Get offset of member with smallest offset larger than 'offset'. + + @param sptr (C++: const struc_t *) + @param offset (C++: ea_t) + @return: BADADDR if no next offset + +Help on function get_struc_prev_offset in module ida_struct: + +get_struc_prev_offset(*args) -> 'ea_t' + get_struc_prev_offset(sptr, offset) -> ea_t + + + Get offset of member with largest offset less than 'offset'. + + @param sptr (C++: const struc_t *) + @param offset (C++: ea_t) + @return: BADADDR if no prev offset + +Help on function get_struc_qty in module ida_struct: + +get_struc_qty(*args) -> 'size_t' + get_struc_qty() -> size_t + + + Get number of known structures. + +Help on function get_struc_size in module ida_struct: + +get_struc_size(*args) -> 'asize_t' + get_struc_size(sptr) -> asize_t + get_struc_size(id) -> asize_t + + + Get struct size (also see 'get_struc_size(tid_t)' ) + + + @param sptr (C++: const struc_t *) + +Help on function is_anonymous_member_name in module ida_struct: + +is_anonymous_member_name(*args) -> 'bool' + is_anonymous_member_name(name) -> bool + + + Is member name prefixed with "anonymous"? + + + @param name (C++: const char *) + +Help on function is_dummy_member_name in module ida_struct: + +is_dummy_member_name(*args) -> 'bool' + is_dummy_member_name(name) -> bool + + + Is member name an auto-generated name? + + + @param name (C++: const char *) + +Help on function is_member_id in module ida_struct: + +is_member_id(*args) -> 'bool' + is_member_id(mid) -> bool + + + Is a member id? + + + @param mid (C++: tid_t) + +Help on function is_special_member in module ida_struct: + +is_special_member(*args) -> 'bool' + is_special_member(id) -> bool + + + Is a special member with the name beginning with ' '? + + + @param id (C++: tid_t) + +Help on function is_union in module ida_struct: + +is_union(*args) -> 'bool' + is_union(id) -> bool + + + Is a union? + + + @param id (C++: tid_t) + +Help on function is_varmember in module ida_struct: + +is_varmember(*args) -> 'bool' + is_varmember(mptr) -> bool + + + Is variable size member? + + + @param mptr (C++: const member_t *) + +Help on function is_varstr in module ida_struct: + +is_varstr(*args) -> 'bool' + is_varstr(id) -> bool + + + Is variable size structure? + + + @param id (C++: tid_t) + +Help on class member_t in module ida_struct: + +class member_t(builtins.object) + | Proxy of C++ member_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> member_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_member_t(...) + | delete_member_t(self) + | + | by_til(self, *args) -> 'bool' + | by_til(self) -> bool + | + | get_soff(self, *args) -> 'ea_t' + | get_soff(self) -> ea_t + | + | has_ti(self, *args) -> 'bool' + | has_ti(self) -> bool + | + | has_union(self, *args) -> 'bool' + | has_union(self) -> bool + | + | is_baseclass(self, *args) -> 'bool' + | is_baseclass(self) -> bool + | + | is_destructor(self, *args) -> 'bool' + | is_destructor(self) -> bool + | + | is_dupname(self, *args) -> 'bool' + | is_dupname(self) -> bool + | + | unimem(self, *args) -> 'bool' + | unimem(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | eoff + | member_t_eoff_get(self) -> ea_t + | + | flag + | member_t_flag_get(self) -> flags_t + | + | id + | member_t_id_get(self) -> tid_t + | + | props + | member_t_props_get(self) -> uint32 + | + | soff + | member_t_soff_get(self) -> ea_t + | + | thisown + | The membership flag + +Help on function retrieve_member_info in module ida_struct: + +retrieve_member_info(*args) -> 'opinfo_t *' + retrieve_member_info(buf, mptr) -> opinfo_t + + + Get operand type info for member. + + + @param buf (C++: opinfo_t *) + @param mptr (C++: const member_t *) + +Help on function save_struc in module ida_struct: + +save_struc(*args) -> 'void' + save_struc(sptr, may_update_ltypes=True) + + + Update struct information in the database (internal function) + + + @param sptr (C++: struc_t *) + @param may_update_ltypes (C++: bool) + +Help on function set_member_cmt in module ida_struct: + +set_member_cmt(*args) -> 'bool' + set_member_cmt(mptr, cmt, repeatable) -> bool + + + Set member comment. + + + @param mptr (C++: member_t *) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_member_name in module ida_struct: + +set_member_name(*args) -> 'bool' + set_member_name(sptr, offset, name) -> bool + + + Set name of member at given offset. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param name (C++: const char *) + +Help on function set_member_tinfo in module ida_struct: + +set_member_tinfo(*args) -> 'smt_code_t' + set_member_tinfo(sptr, mptr, memoff, tif, flags) -> smt_code_t + + + Set tinfo for given member. + + @param sptr: containing struct (C++: struc_t *) + @param mptr: target member (C++: member_t *) + @param memoff: offset within member (C++: uval_t) + @param tif: type info (C++: const tinfo_t &) + @param flags: Set member tinfo flags (C++: int) + +Help on function set_member_type in module ida_struct: + +set_member_type(*args) -> 'bool' + set_member_type(sptr, offset, flag, mt, nbytes) -> bool + + + Set type of member at given offset (also see 'add_struc_member()' ) + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param flag (C++: flags_t) + @param mt (C++: const opinfo_t *) + @param nbytes (C++: asize_t) + +Help on function set_struc_align in module ida_struct: + +set_struc_align(*args) -> 'bool' + set_struc_align(sptr, shift) -> bool + + + Set structure alignment ( 'SF_ALIGN' ) + + + @param sptr (C++: struc_t *) + @param shift (C++: int) + +Help on function set_struc_cmt in module ida_struct: + +set_struc_cmt(*args) -> 'bool' + set_struc_cmt(id, cmt, repeatable) -> bool + + + Set structure comment. + + + @param id (C++: tid_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_struc_hidden in module ida_struct: + +set_struc_hidden(*args) -> 'void' + set_struc_hidden(sptr, is_hidden) + + + Hide/unhide a struct type. + + + @param sptr (C++: struc_t *) + @param is_hidden (C++: bool) + +Help on function set_struc_idx in module ida_struct: + +set_struc_idx(*args) -> 'bool' + set_struc_idx(sptr, idx) -> bool + + + Set internal number of struct. Also see 'get_struc_idx()' , + 'get_struc_by_idx()' . + + @param sptr (C++: const struc_t *) + @param idx (C++: uval_t) + +Help on function set_struc_listed in module ida_struct: + +set_struc_listed(*args) -> 'void' + set_struc_listed(sptr, is_listed) + + + Add/remove a struct type from the struct list. + + + @param sptr (C++: struc_t *) + @param is_listed (C++: bool) + +Help on function set_struc_name in module ida_struct: + +set_struc_name(*args) -> 'bool' + set_struc_name(id, name) -> bool + + + Set structure name. + + + @param id (C++: tid_t) + @param name (C++: const char *) + +Help on function stroff_as_size in module ida_struct: + +stroff_as_size(*args) -> 'bool' + stroff_as_size(plen, sptr, value) -> bool + + + Should display a structure offset expression as the structure size? + + + @param plen (C++: int) + @param sptr (C++: const struc_t *) + @param value (C++: asize_t) + +Help on class struc_t in module ida_struct: + +class struc_t(builtins.object) + | Proxy of C++ struc_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_struc_t(...) + | delete_struc_t(self) + | + | from_til(self, *args) -> 'bool' + | from_til(self) -> bool + | + | get_alignment(self, *args) -> 'int' + | get_alignment(self) -> int + | + | get_member(self, *args) -> 'member_t *' + | get_member(self, index) -> member_t + | + | has_union(self, *args) -> 'bool' + | has_union(self) -> bool + | + | is_choosable(self, *args) -> 'bool' + | is_choosable(self) -> bool + | + | is_frame(self, *args) -> 'bool' + | is_frame(self) -> bool + | + | is_ghost(self, *args) -> 'bool' + | is_ghost(self) -> bool + | + | is_hidden(self, *args) -> 'bool' + | is_hidden(self) -> bool + | + | is_union(self, *args) -> 'bool' + | is_union(self) -> bool + | + | is_varstr(self, *args) -> 'bool' + | is_varstr(self) -> bool + | + | set_alignment(self, *args) -> 'void' + | set_alignment(self, shift) + | + | set_ghost(self, *args) -> 'void' + | set_ghost(self, _is_ghost) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | age + | struc_t_age_get(self) -> ushort + | + | id + | struc_t_id_get(self) -> tid_t + | + | members + | struc_t_members_get(self) -> member_t + | + | memqty + | struc_t_memqty_get(self) -> uint32 + | + | ordinal + | struc_t_ordinal_get(self) -> int32 + | + | props + | struc_t_props_get(self) -> uint32 + | + | thisown + | The membership flag + +Help on class struct_field_visitor_t in module ida_struct: + +class struct_field_visitor_t(builtins.object) + | Proxy of C++ struct_field_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> struct_field_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_struct_field_visitor_t(...) + | delete_struct_field_visitor_t(self) + | + | visit_field(self, *args) -> 'int' + | visit_field(self, sptr, mptr) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function visit_stroff_fields in module ida_struct: + +visit_stroff_fields(*args) -> 'adiff_t *' + visit_stroff_fields(sfv, path, disp, appzero) -> flags_t + + + 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: visitor object (C++: struct_field_visitor_t &) + @param path: struct path (path[0] contains the initial struct id) + (C++: const tid_t *) + @param disp: offset into structure (C++: adiff_t *) + @param appzero: should visit field at offset zero? (C++: bool) + +=== ida_struct EPYDOC INJECTIONS === +ida_struct.MF_BASECLASS +""" +a special member representing base class +""" + +ida_struct.MF_BYTIL +""" +the member was created due to the type system +""" + +ida_struct.MF_DTOR +""" +a special member representing destructor +""" + +ida_struct.MF_DUPNAME +""" +duplicate name resolved with _N suffix (N==soff) +""" + +ida_struct.MF_HASTI +""" +has type information? +""" + +ida_struct.MF_HASUNI +""" +has members of type "union"? +""" + +ida_struct.MF_OK +""" +is the member ok? (always yes) +""" + +ida_struct.MF_UNIMEM +""" +is a member of a union? +""" + +ida_struct.SET_MEMTI_BYTIL +""" +new type was created by the type subsystem +""" + +ida_struct.SET_MEMTI_COMPATIBLE +""" +new type must be compatible with the old +""" + +ida_struct.SET_MEMTI_FUNCARG +""" +mptr is function argument (cannot create arrays) +""" + +ida_struct.SET_MEMTI_MAY_DESTROY +""" +may destroy other members +""" + +ida_struct.SET_MEMTI_USERTI +""" +user-specified type +""" + +ida_struct.SF_ALIGN +""" +alignment (shift amount: 0..31) +""" + +ida_struct.SF_FRAME +""" +the structure is a function frame +""" + +ida_struct.SF_GHOST +""" +ghost copy of a local type +""" + +ida_struct.SF_HASUNI +""" +has members of type "union"? +""" + +ida_struct.SF_HIDDEN +""" +the structure is collapsed +""" + +ida_struct.SF_NOLIST +""" +don't include in the chooser list +""" + +ida_struct.SF_TYPLIB +""" +the structure comes from type library +""" + +ida_struct.SF_UNION +""" +varunions are prohibited! + +is a union? +""" + +ida_struct.SF_VAR +""" +is variable size structure (varstruct)? a variable size structure is +one with the zero size last member. if the last member is a varstruct, +then the current structure is a varstruct too. +""" + +ida_struct.STRNFL_REGEX +""" +apply regular expressions to beautify the name +""" + +ida_struct.STRUC_SEPARATOR +""" +structname.fieldname +""" +=== ida_struct EPYDOC INJECTIONS END === +Help on function add_tryblk in module ida_tryblks: + +add_tryblk(*args) -> 'int' + add_tryblk(tb) -> int + + + Add one try block information. + + @param tb: try block to add. (C++: const tryblk_t &) + @return: error code; 0 means good + +Help on class catch_t in module ida_tryblks: + +class catch_t(try_handler_t) + | Proxy of C++ catch_t class. + | + | Method resolution order: + | catch_t + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> catch_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_catch_t(...) + | delete_catch_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | obj + | catch_t_obj_get(self) -> sval_t + | + | thisown + | The membership flag + | + | type_id + | catch_t_type_id_get(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Methods inherited from try_handler_t: + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from try_handler_t: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.rangevec_base_t: + | + | __hash__ = None + +Help on class catchvec_t in module ida_tryblks: + +class catchvec_t(builtins.object) + | Proxy of C++ qvector< catch_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'catch_t const &' + | __getitem__(self, i) -> catch_t + | + | __init__(self, *args) + | __init__(self) -> catchvec_t + | __init__(self, x) -> catchvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_catchvec_t(...) + | delete_catchvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'catch_t const &' + | at(self, _idx) -> catch_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< catch_t >::const_iterator' + | begin(self) -> catch_t + | begin(self) -> catch_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< catch_t >::const_iterator' + | end(self) -> catch_t + | end(self) -> catch_t + | + | erase(self, *args) -> 'qvector< catch_t >::iterator' + | erase(self, it) -> catch_t + | erase(self, first, last) -> catch_t + | + | extract(self, *args) -> 'catch_t *' + | extract(self) -> catch_t + | + | find(self, *args) -> 'qvector< catch_t >::const_iterator' + | find(self, x) -> catch_t + | find(self, x) -> catch_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=catch_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< catch_t >::iterator' + | insert(self, it, x) -> catch_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'catch_t &' + | push_back(self, x) + | push_back(self) -> catch_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function del_tryblks in module ida_tryblks: + +del_tryblks(*args) -> 'void' + del_tryblks(range) + + + Delete try block information in the specified range. + + @param range: the range to be cleared (C++: const range_t &) + +Help on function find_syseh in module ida_tryblks: + +find_syseh(*args) -> 'ea_t' + find_syseh(ea) -> ea_t + + + Find the start address of the system eh region including the argument. + + @param ea: search address (C++: ea_t) + @return: start address of surrounding tryblk, otherwise BADADDR + +Help on function get_tryblks in module ida_tryblks: + +get_tryblks(*args) -> 'size_t' + 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: output buffer; may be NULL (C++: tryblks_t *) + @param range: address range to change (C++: const range_t &) + @return: number of found try blocks + +Help on class seh_t in module ida_tryblks: + +class seh_t(try_handler_t) + | Proxy of C++ seh_t class. + | + | Method resolution order: + | seh_t + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> seh_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_seh_t(...) + | delete_seh_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | filter + | seh_t_filter_get(self) -> rangevec_t + | + | seh_code + | seh_t_seh_code_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from try_handler_t: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.rangevec_base_t: + | + | __hash__ = None + +Help on class try_handler_t in module ida_tryblks: + +class try_handler_t(ida_range.rangevec_t) + | Proxy of C++ try_handler_t class. + | + | Method resolution order: + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> try_handler_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_try_handler_t(...) + | delete_try_handler_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.rangevec_base_t: + | + | __hash__ = None + +Help on class tryblk_t in module ida_tryblks: + +class tryblk_t(ida_range.rangevec_t) + | Proxy of C++ tryblk_t class. + | + | Method resolution order: + | tryblk_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tryblk_t + | __init__(self, r) -> tryblk_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_tryblk_t(...) + | delete_tryblk_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | cpp(self, *args) -> 'catchvec_t &' + | cpp(self) -> catchvec_t + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | get_kind(self, *args) -> 'uchar' + | get_kind(self) -> uchar + | + | is_cpp(self, *args) -> 'bool' + | is_cpp(self) -> bool + | + | is_seh(self, *args) -> 'bool' + | is_seh(self) -> bool + | + | seh(self, *args) -> 'seh_t &' + | seh(self) -> seh_t + | + | set_cpp(self, *args) -> 'catchvec_t &' + | set_cpp(self) -> catchvec_t + | + | set_seh(self, *args) -> 'seh_t &' + | set_seh(self) -> seh_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | level + | tryblk_t_level_get(self) -> uchar + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.rangevec_base_t: + | + | __hash__ = None + +Help on class tryblks_t in module ida_tryblks: + +class tryblks_t(builtins.object) + | Proxy of C++ qvector< tryblk_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'tryblk_t const &' + | __getitem__(self, i) -> tryblk_t + | + | __init__(self, *args) + | __init__(self) -> tryblks_t + | __init__(self, x) -> tryblks_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_tryblks_t(...) + | delete_tryblks_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'tryblk_t const &' + | at(self, _idx) -> tryblk_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< tryblk_t >::const_iterator' + | begin(self) -> tryblk_t + | begin(self) -> tryblk_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< tryblk_t >::const_iterator' + | end(self) -> tryblk_t + | end(self) -> tryblk_t + | + | erase(self, *args) -> 'qvector< tryblk_t >::iterator' + | erase(self, it) -> tryblk_t + | erase(self, first, last) -> tryblk_t + | + | extract(self, *args) -> 'tryblk_t *' + | extract(self) -> tryblk_t + | + | find(self, *args) -> 'qvector< tryblk_t >::const_iterator' + | find(self, x) -> tryblk_t + | find(self, x) -> tryblk_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=tryblk_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< tryblk_t >::iterator' + | insert(self, it, x) -> tryblk_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'tryblk_t &' + | push_back(self, x) + | push_back(self) -> tryblk_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +=== ida_tryblks EPYDOC INJECTIONS === +ida_tryblks.TBERR_EMPTY +""" +empty try block +""" + +ida_tryblks.TBERR_END +""" +bad end address +""" + +ida_tryblks.TBERR_INTERSECT +""" +range would intersect inner tryblk +""" + +ida_tryblks.TBERR_KIND +""" +illegal try block kind +""" + +ida_tryblks.TBERR_NO_CATCHES +""" +no catch blocks at all +""" + +ida_tryblks.TBERR_OK +""" +ok +""" + +ida_tryblks.TBERR_ORDER +""" +bad address order +""" + +ida_tryblks.TBERR_START +""" +bad start address +""" +=== ida_tryblks EPYDOC INJECTIONS END === +Help on function add_til in module ida_typeinf: + +add_til(*args) -> 'int' + add_til(name, flags) -> int + + + Load a til file. + + @param name: til name (C++: const char *) + @param flags: combination of Load TIL flags (C++: int) + @return: one of Load TIL result codes + +Help on function alloc_type_ordinal in module ida_typeinf: + +alloc_type_ordinal(*args) -> 'uint32' + alloc_type_ordinal(ti) -> uint32 + + + \call2{alloc_type_ordinals,ti,1} + + + @param ti (C++: til_t *) + +Help on function alloc_type_ordinals in module ida_typeinf: + +alloc_type_ordinals(*args) -> 'uint32' + alloc_type_ordinals(ti, qty) -> uint32 + + + Allocate a range of ordinal numbers for new types. + + @param ti: type library (C++: til_t *) + @param qty: number of ordinals to allocate (C++: int) + @return: the first ordinal. 0 means failure. + +Help on class aloc_visitor_t in module ida_typeinf: + +class aloc_visitor_t(builtins.object) + | Proxy of C++ aloc_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> aloc_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_aloc_visitor_t(...) + | delete_aloc_visitor_t(self) + | + | visit_location(self, *args) -> 'int' + | visit_location(self, v, off, size) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function append_abi_opts in module ida_typeinf: + +append_abi_opts(*args) -> 'bool' + 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: - ABI options to add/remove in form opt1-opt2-... + (C++: const char *) + @param user_level: - initiated by user if TRUE (==SETCOMP_BY_USER) + (C++: bool) + @return: success + +Help on function append_argloc in module ida_typeinf: + +append_argloc(*args) -> 'bool' + append_argloc(out, vloc) -> bool + + + Serialize argument location. + + + @param out (C++: qtype *) + @param vloc (C++: const argloc_t &) + +Help on function append_tinfo_covered in module ida_typeinf: + +append_tinfo_covered(*args) -> 'bool' + append_tinfo_covered(out, typid, offset) -> bool + +Help on function apply_callee_tinfo in module ida_typeinf: + +apply_callee_tinfo(*args) -> 'bool' + 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: linear address of the calling instruction. must belong + to a function. (C++: ea_t) + @param tif: type info (C++: const tinfo_t &) + @return: success + +Help on function apply_cdecl in module ida_typeinf: + +apply_cdecl(*args) -> 'bool' + 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: type library (C++: til_t *) + @param ea: linear address (C++: ea_t) + @param decl: type declaration in C form (C++: const char *) + @param flags: flags to pass to apply_tinfo ( TINFO_DEFINITE is always + passed) (C++: int) + @return: success + +Help on function apply_named_type in module ida_typeinf: + +apply_named_type(*args) -> 'bool' + apply_named_type(ea, name) -> bool + + + Apply the specified named type to the address. + + @param ea: linear address (C++: ea_t) + @param name: the type name, e.g. "FILE" (C++: const char *) + @return: success + +Help on function apply_once_tinfo_and_name in module ida_typeinf: + +apply_once_tinfo_and_name(*args) -> 'bool' + 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 typedoes not exist or + the new type is 'better' than the old type, then thenew type will be + applied. A type is considered better if it has moreinformation (e.g. + 'BTMT_STRUCT' is better than 'BT_INT' ).The same logic is with the + name: if the address already have a meaningfulname, it will be + preserved. Only if the old name does not exist or itis a dummy name + like byte_123, it will be replaced by the new name. + + @param dea: linear address (C++: ea_t) + @param tif: type string in the internal format (C++: const tinfo_t + &) + @param name: new name for the address (C++: const char *) + @return: success + +Help on function apply_tinfo in module ida_typeinf: + +apply_tinfo(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param tif: type string in internal format (C++: const tinfo_t &) + @param flags: combination of Apply tinfo flags (C++: uint32) + @return: success + +Help on function apply_tinfo_to_stkarg in module ida_typeinf: + +apply_tinfo_to_stkarg(*args) -> 'bool' + apply_tinfo_to_stkarg(insn, x, v, tif, name) -> bool + + + Helper function for the processor modules. to be called from + \ph{use_stkarg_type} + + @param insn (C++: const insn_t &) + @param x (C++: const op_t &) + @param v (C++: uval_t) + @param tif (C++: const tinfo_t &) + @param name (C++: const char *) + +Help on function apply_type in module ida_typeinf: + +apply_type(*args) -> 'bool' + 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 py_type: type string + @param py_fields: fields string (may be empty or None) + @param ea: the address of the object + @param flags: combination of TINFO_... constants or 0 + @return: Boolean + +Help on class argloc_t in module ida_typeinf: + +class argloc_t(builtins.object) + | Proxy of C++ argloc_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> argloc_t + | __init__(self, r) -> argloc_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_argloc_t(...) + | delete_argloc_t(self) + | + | _consume_rrel(self, *args) -> 'bool' + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) -> 'bool' + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) -> 'void' + | _set_badloc(self) + | + | _set_biggest(self, *args) -> 'void' + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) -> 'void' + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) -> 'void' + | _set_ea(self, _ea) + | + | _set_reg1(self, *args) -> 'void' + | _set_reg1(self, reg, off=0) + | + | _set_reg2(self, *args) -> 'void' + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) -> 'void' + | _set_stkoff(self, off) + | + | advance(self, *args) -> 'bool' + | advance(self, delta) -> bool + | + | atype(self, *args) -> 'argloc_type_t' + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) -> 'sval_t' + | calc_offset(self) -> sval_t + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | consume_rrel(self, *args) -> 'void' + | consume_rrel(self, p) + | + | consume_scattered(self, *args) -> 'void' + | consume_scattered(self, p) + | + | get_biggest(self, *args) -> 'argloc_t::biggest_t' + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) -> 'void *' + | get_custom(self) -> void * + | + | get_ea(self, *args) -> 'ea_t' + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) -> 'uint32' + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) -> 'rrel_t const &' + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) -> 'bool' + | has_reg(self) -> bool + | + | has_stkoff(self, *args) -> 'bool' + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) -> 'bool' + | is_badloc(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_ea(self, *args) -> 'bool' + | is_ea(self) -> bool + | + | is_fragmented(self, *args) -> 'bool' + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) -> 'bool' + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_rrel(self, *args) -> 'bool' + | is_rrel(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) -> 'void' + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) -> 'void' + | justify_stkoff_right(self, size, _slotsize) + | + | reg1(self, *args) -> 'int' + | reg1(self) -> int + | + | reg2(self, *args) -> 'int' + | reg2(self) -> int + | + | regoff(self, *args) -> 'int' + | regoff(self) -> int + | + | scattered(self, *args) -> 'scattered_aloc_t const &' + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) -> 'void' + | set_badloc(self) + | + | set_ea(self, *args) -> 'void' + | set_ea(self, _ea) + | + | set_reg1(self, *args) -> 'void' + | set_reg1(self, reg, off=0) + | + | set_reg2(self, *args) -> 'void' + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, off) + | + | stkoff(self, *args) -> 'sval_t' + | stkoff(self) -> sval_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class argpart_t in module ida_typeinf: + +class argpart_t(argloc_t) + | Proxy of C++ argpart_t class. + | + | Method resolution order: + | argpart_t + | argloc_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, a) -> argpart_t + | __init__(self) -> argpart_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_argpart_t(...) + | delete_argpart_t(self) + | + | bad_offset(self, *args) -> 'bool' + | bad_offset(self) -> bool + | + | bad_size(self, *args) -> 'bool' + | bad_size(self) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | off + | argpart_t_off_get(self) -> ushort + | + | size + | argpart_t_size_get(self) -> ushort + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from argloc_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _consume_rrel(self, *args) -> 'bool' + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) -> 'bool' + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) -> 'void' + | _set_badloc(self) + | + | _set_biggest(self, *args) -> 'void' + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) -> 'void' + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) -> 'void' + | _set_ea(self, _ea) + | + | _set_reg1(self, *args) -> 'void' + | _set_reg1(self, reg, off=0) + | + | _set_reg2(self, *args) -> 'void' + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) -> 'void' + | _set_stkoff(self, off) + | + | advance(self, *args) -> 'bool' + | advance(self, delta) -> bool + | + | atype(self, *args) -> 'argloc_type_t' + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) -> 'sval_t' + | calc_offset(self) -> sval_t + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | consume_rrel(self, *args) -> 'void' + | consume_rrel(self, p) + | + | consume_scattered(self, *args) -> 'void' + | consume_scattered(self, p) + | + | get_biggest(self, *args) -> 'argloc_t::biggest_t' + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) -> 'void *' + | get_custom(self) -> void * + | + | get_ea(self, *args) -> 'ea_t' + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) -> 'uint32' + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) -> 'rrel_t const &' + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) -> 'bool' + | has_reg(self) -> bool + | + | has_stkoff(self, *args) -> 'bool' + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) -> 'bool' + | is_badloc(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_ea(self, *args) -> 'bool' + | is_ea(self) -> bool + | + | is_fragmented(self, *args) -> 'bool' + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) -> 'bool' + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_rrel(self, *args) -> 'bool' + | is_rrel(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) -> 'void' + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) -> 'void' + | justify_stkoff_right(self, size, _slotsize) + | + | reg1(self, *args) -> 'int' + | reg1(self) -> int + | + | reg2(self, *args) -> 'int' + | reg2(self) -> int + | + | regoff(self, *args) -> 'int' + | regoff(self) -> int + | + | scattered(self, *args) -> 'scattered_aloc_t const &' + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) -> 'void' + | set_badloc(self) + | + | set_ea(self, *args) -> 'void' + | set_ea(self, _ea) + | + | set_reg1(self, *args) -> 'void' + | set_reg1(self, reg, off=0) + | + | set_reg2(self, *args) -> 'void' + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, off) + | + | stkoff(self, *args) -> 'sval_t' + | stkoff(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from argloc_t: + | + | __hash__ = None + +Help on class argpartvec_t in module ida_typeinf: + +class argpartvec_t(builtins.object) + | Proxy of C++ qvector< argpart_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'argpart_t const &' + | __getitem__(self, i) -> argpart_t + | + | __init__(self, *args) + | __init__(self) -> argpartvec_t + | __init__(self, x) -> argpartvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_argpartvec_t(...) + | delete_argpartvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'argpart_t const &' + | at(self, _idx) -> argpart_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< argpart_t >::const_iterator' + | begin(self) -> argpart_t + | begin(self) -> argpart_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< argpart_t >::const_iterator' + | end(self) -> argpart_t + | end(self) -> argpart_t + | + | erase(self, *args) -> 'qvector< argpart_t >::iterator' + | erase(self, it) -> argpart_t + | erase(self, first, last) -> argpart_t + | + | extract(self, *args) -> 'argpart_t *' + | extract(self) -> argpart_t + | + | find(self, *args) -> 'qvector< argpart_t >::const_iterator' + | find(self, x) -> argpart_t + | find(self, x) -> argpart_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=argpart_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< argpart_t >::iterator' + | insert(self, it, x) -> argpart_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'argpart_t &' + | push_back(self, x) + | push_back(self) -> argpart_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class array_type_data_t in module ida_typeinf: + +class array_type_data_t(builtins.object) + | Proxy of C++ array_type_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, b=0, n=0) -> array_type_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_array_type_data_t(...) + | delete_array_type_data_t(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | array_type_data_t_base_get(self) -> uint32 + | + | elem_type + | array_type_data_t_elem_type_get(self) -> tinfo_t + | + | nelems + | array_type_data_t_nelems_get(self) -> uint32 + | + | thisown + | The membership flag + +Help on function begin_type_updating in module ida_typeinf: + +begin_type_updating(*args) -> 'void' + 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) + +Help on class bitfield_type_data_t in module ida_typeinf: + +class bitfield_type_data_t(builtins.object) + | Proxy of C++ bitfield_type_data_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _nbytes=0, _width=0, _is_unsigned=False) -> bitfield_type_data_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bitfield_type_data_t(...) + | delete_bitfield_type_data_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | is_unsigned + | bitfield_type_data_t_is_unsigned_get(self) -> bool + | + | nbytes + | bitfield_type_data_t_nbytes_get(self) -> uchar + | + | thisown + | The membership flag + | + | width + | bitfield_type_data_t_width_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function calc_c_cpp_name in module ida_typeinf: + +calc_c_cpp_name(*args) -> 'qstring *' + calc_c_cpp_name(name, type, ccn_flags) -> str + + + Get C or C++ form of the name. + + @param name: original (mangled or decorated) name (C++: const char *) + @param type: name type if known, otherwise NULL (C++: const tinfo_t + *) + @param ccn_flags: one of C/C++ naming flags (C++: int) + +Help on function calc_number_of_children in module ida_typeinf: + +calc_number_of_children(*args) -> 'int' + 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: location of the data ( ALOC_STATIC or ALOC_CUSTOM ) + (C++: const argloc_t &) + @param tif: type info (C++: const tinfo_t &) + @param dont_deref_ptr: consider 'ea' as the ptr value (C++: bool) + +Help on function calc_tinfo_gaps in module ida_typeinf: + +calc_tinfo_gaps(*args) -> 'bool' + calc_tinfo_gaps(out, typid) -> bool + +Help on function calc_type_size in module ida_typeinf: + +calc_type_size(*args) -> 'PyObject *' + calc_type_size(ti, tp) -> PyObject * + + + Returns the size of a type + @param ti: Type info. 'None' can be passed. + @param tp: type string + @return: + - None on failure + - The size of the type + +Help on class callregs_t in module ida_typeinf: + +class callregs_t(builtins.object) + | Proxy of C++ callregs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> callregs_t + | __init__(self, cc) -> callregs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_callregs_t(...) + | delete_callregs_t(self) + | + | init_regs(self, *args) -> 'void' + | init_regs(self, cc) + | + | reginds(self, *args) -> 'bool' + | reginds(self, gp_ind, fp_ind, r) -> bool + | + | reset(self, *args) -> 'void' + | reset(self) + | + | set(self, *args) -> 'void' + | set(self, _policy, gprs, fprs) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | regcount(*args) -> 'int' + | regcount(cc) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fpregs + | callregs_t_fpregs_get(self) -> intvec_t * + | + | gpregs + | callregs_t_gpregs_get(self) -> intvec_t * + | + | nregs + | callregs_t_nregs_get(self) -> int + | + | policy + | callregs_t_policy_get(self) -> argreg_policy_t + | + | thisown + | The membership flag + +Help on function callregs_t_regcount in module ida_typeinf: + +callregs_t_regcount(*args) -> 'int' + callregs_t_regcount(cc) -> int + +Help on function choose_local_tinfo in module ida_typeinf: + +choose_local_tinfo(*args) -> 'uint32' + choose_local_tinfo(ti, title, func=None, def_ord=0, ud=None) -> uint32 + + + Choose a type from the local type library. + + @param ti: pointer to til (C++: const til_t *) + @param title: title of listbox to display (C++: const char *) + @param func: predicate to select types to display (maybe NULL) (C++: + local_tinfo_predicate_t *) + @param def_ord: ordinal to position cursor before choose (C++: uint32) + @param ud: user data (C++: void *) + @return: == 0 means nothing is chosen, otherwise an ordinal number + +Help on function choose_local_tinfo_and_delta in module ida_typeinf: + +choose_local_tinfo_and_delta(*args) -> 'uint32' + 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: pointer shift value (C++: int32 *) + @param ti: pointer to til (C++: const til_t *) + @param title: title of listbox to display (C++: const char *) + @param func: predicate to select types to display (maybe NULL) (C++: + local_tinfo_predicate_t *) + @param def_ord: ordinal to position cursor before choose (C++: uint32) + @param ud: user data (C++: void *) + @return: == 0 means nothing is chosen, otherwise an ordinal number + +Help on function choose_named_type in module ida_typeinf: + +choose_named_type(*args) -> 'bool' + choose_named_type(out_sym, root_til, title, ntf_flags, predicate=None) -> bool + + + Choose a type from a type library. + + @param out_sym: pointer to be filled with the chosen type (C++: + til_symbol_t *) + @param root_til: pointer to starting til (the function will inspect + the base tils if allowed by flags) (C++: const til_t + *) + @param title: title of listbox to display (C++: const char *) + @param ntf_flags: combination of Flags for named types (C++: int) + @param predicate: predicate to select types to display (maybe NULL) + (C++: predicate_t *) + @return: false if nothing is chosen, otherwise true + +Help on function clear_tinfo_t in module ida_typeinf: + +clear_tinfo_t(*args) -> 'void' + clear_tinfo_t(_this) + +Help on function compact_til in module ida_typeinf: + +compact_til(*args) -> 'bool' + 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 + +Help on function compare_tinfo in module ida_typeinf: + +compare_tinfo(*args) -> 'bool' + compare_tinfo(t1, t2, tcflags) -> bool + +Help on class const_aloc_visitor_t in module ida_typeinf: + +class const_aloc_visitor_t(builtins.object) + | Proxy of C++ const_aloc_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> const_aloc_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_const_aloc_visitor_t(...) + | delete_const_aloc_visitor_t(self) + | + | visit_location(self, *args) -> 'int' + | visit_location(self, v, off, size) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function convert_pt_flags_to_hti in module ida_typeinf: + +convert_pt_flags_to_hti(*args) -> 'int' + 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) + +Help on function copy_named_type in module ida_typeinf: + +copy_named_type(*args) -> 'uint32' + 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: Destination til. It must have orginal types enabled + (C++: til_t *) + @param srctil: Source til. (C++: const til_t *) + @param name: name of the type to copy (C++: const char *) + @return: ordinal number of the copied type. 0 means error + +Help on function copy_tinfo_t in module ida_typeinf: + +copy_tinfo_t(*args) -> 'void' + copy_tinfo_t(_this, r) + +Help on function create_numbered_type_name in module ida_typeinf: + +create_numbered_type_name(*args) -> 'qstring *' + 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) + +Help on function create_tinfo in module ida_typeinf: + +create_tinfo(*args) -> 'bool' + create_tinfo(_this, bt, bt2, ptr) -> bool + +Help on function default_compiler in module ida_typeinf: + +default_compiler(*args) -> 'comp_t' + default_compiler() -> comp_t + + + Get compiler specified by \varmem{inf,idainfo,cc}. + +Help on function del_named_type in module ida_typeinf: + +del_named_type(*args) -> 'bool' + del_named_type(ti, name, ntf_flags) -> bool + + + Delete information about a symbol. + + @param ti: type library (C++: til_t *) + @param name: name of symbol (C++: const char *) + @param ntf_flags: combination of Flags for named types (C++: int) + @return: success + +Help on function del_numbered_type in module ida_typeinf: + +del_numbered_type(*args) -> 'bool' + del_numbered_type(ti, ordinal) -> bool + + + Delete a numbered type. + + + @param ti (C++: til_t *) + @param ordinal (C++: uint32) + +Help on function del_til in module ida_typeinf: + +del_til(*args) -> 'bool' + del_til(name) -> bool + + + Unload a til file. + + + @param name (C++: const char *) + +Help on function del_tinfo_attr in module ida_typeinf: + +del_tinfo_attr(*args) -> 'bool' + del_tinfo_attr(tif, key, make_copy) -> bool + +Help on function deref_ptr in module ida_typeinf: + +deref_ptr(*args) -> 'bool' + deref_ptr(ptr_ea, tif, closure_obj=None) -> bool + + + Dereference a pointer. + + @param ptr_ea: in/out parameter in: address of the pointer out: + the pointed address (C++: ea_t *) + @param tif: type of the pointer (C++: const tinfo_t &) + @param closure_obj: closure object (not used yet) (C++: ea_t *) + @return: success + +Help on function deserialize_tinfo in module ida_typeinf: + +deserialize_tinfo(*args) -> 'bool' + deserialize_tinfo(tif, til, ptype, pfields, pfldcmts) -> bool + +Help on function dstr_tinfo in module ida_typeinf: + +dstr_tinfo(*args) -> 'char const *' + dstr_tinfo(tif) -> char const * + +Help on function dump_func_type_data in module ida_typeinf: + +dump_func_type_data(*args) -> 'qstring *' + dump_func_type_data(fti, praloc_bits) -> str + + + Use 'func_type_data_t::dump()' + + + @param fti (C++: const func_type_data_t &) + @param praloc_bits (C++: int) + +Help on function end_type_updating in module ida_typeinf: + +end_type_updating(*args) -> 'void' + 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) + +Help on class enum_member_t in module ida_typeinf: + +class enum_member_t(builtins.object) + | Proxy of C++ enum_member_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> enum_member_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_enum_member_t(...) + | delete_enum_member_t(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | enum_member_t_cmt_get(self) -> qstring * + | + | name + | enum_member_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | enum_member_t_value_get(self) -> uint64 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class enum_member_vec_t in module ida_typeinf: + +class enum_member_vec_t(builtins.object) + | Proxy of C++ qvector< enum_member_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'enum_member_t const &' + | __getitem__(self, i) -> enum_member_t + | + | __init__(self, *args) + | __init__(self) -> enum_member_vec_t + | __init__(self, x) -> enum_member_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_enum_member_vec_t(...) + | delete_enum_member_vec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'enum_member_t const &' + | at(self, _idx) -> enum_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | begin(self) -> enum_member_t + | begin(self) -> enum_member_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | end(self) -> enum_member_t + | end(self) -> enum_member_t + | + | erase(self, *args) -> 'qvector< enum_member_t >::iterator' + | erase(self, it) -> enum_member_t + | erase(self, first, last) -> enum_member_t + | + | extract(self, *args) -> 'enum_member_t *' + | extract(self) -> enum_member_t + | + | find(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | find(self, x) -> enum_member_t + | find(self, x) -> enum_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=enum_member_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< enum_member_t >::iterator' + | insert(self, it, x) -> enum_member_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'enum_member_t &' + | push_back(self, x) + | push_back(self) -> enum_member_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class enum_type_data_t in module ida_typeinf: + +class enum_type_data_t(enum_member_vec_t) + | Proxy of C++ enum_type_data_t class. + | + | Method resolution order: + | enum_type_data_t + | enum_member_vec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _bte=BTE_ALWAYS|BTE_HEX) -> enum_type_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_enum_type_data_t(...) + | delete_enum_type_data_t(self) + | + | calc_mask(self, *args) -> 'uint64' + | calc_mask(self) -> uint64 + | + | calc_nbytes(self, *args) -> 'int' + | calc_nbytes(self) -> int + | + | is_64bit(self, *args) -> 'bool' + | is_64bit(self) -> bool + | + | is_char(self, *args) -> 'bool' + | is_char(self) -> bool + | + | is_hex(self, *args) -> 'bool' + | is_hex(self) -> bool + | + | is_sdec(self, *args) -> 'bool' + | is_sdec(self) -> bool + | + | is_udec(self, *args) -> 'bool' + | is_udec(self) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bte + | enum_type_data_t_bte_get(self) -> bte_t + | + | group_sizes + | enum_type_data_t_group_sizes_get(self) -> intvec_t * + | + | taenum_bits + | enum_type_data_t_taenum_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from enum_member_vec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'enum_member_t const &' + | __getitem__(self, i) -> enum_member_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'enum_member_t const &' + | at(self, _idx) -> enum_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | begin(self) -> enum_member_t + | begin(self) -> enum_member_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | end(self) -> enum_member_t + | end(self) -> enum_member_t + | + | erase(self, *args) -> 'qvector< enum_member_t >::iterator' + | erase(self, it) -> enum_member_t + | erase(self, first, last) -> enum_member_t + | + | extract(self, *args) -> 'enum_member_t *' + | extract(self) -> enum_member_t + | + | find(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | find(self, x) -> enum_member_t + | find(self, x) -> enum_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=enum_member_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< enum_member_t >::iterator' + | insert(self, it, x) -> enum_member_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'enum_member_t &' + | push_back(self, x) + | push_back(self) -> enum_member_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from enum_member_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from enum_member_vec_t: + | + | __hash__ = None + +Help on function extract_argloc in module ida_typeinf: + +extract_argloc(*args) -> 'bool' + extract_argloc(vloc, ptype, is_retval) -> bool + + + Deserialize argument location. + + + @param vloc (C++: argloc_t *) + @param ptype (C++: const type_t **) + @param is_retval (C++: bool) + +Help on function find_tinfo_udt_member in module ida_typeinf: + +find_tinfo_udt_member(*args) -> 'int' + find_tinfo_udt_member(udm, typid, strmem_flags) -> int + +Help on function first_named_type in module ida_typeinf: + +first_named_type(*args) -> 'char const *' + first_named_type(ti, ntf_flags) -> char const * + + + Enumerate types. Returns mangled names. Never returns anonymous types. + To include it, enumerate types by ordinals. + + @param ti (C++: const til_t *) + @param ntf_flags (C++: int) + +Help on function for_all_arglocs in module ida_typeinf: + +for_all_arglocs(*args) -> 'int' + 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) + +Help on function for_all_const_arglocs in module ida_typeinf: + +for_all_const_arglocs(*args) -> 'int' + 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 &) + @param size (C++: int) + @param off (C++: int) + +Help on function free_til in module ida_typeinf: + +free_til(*args) -> 'void' + free_til(ti) + + + Free memory allocated by til. + + + @param ti (C++: til_t *) + +Help on function func_has_stkframe_hole in module ida_typeinf: + +func_has_stkframe_hole(*args) -> 'bool' + 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 &) + +Help on class func_type_data_t in module ida_typeinf: + +class func_type_data_t(funcargvec_t) + | Proxy of C++ func_type_data_t class. + | + | Method resolution order: + | func_type_data_t + | funcargvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_type_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_type_data_t(...) + | delete_func_type_data_t(self) + | + | dump(self, *args) -> 'bool' + | dump(self, praloc_bits=0x02) -> bool + | + | get_call_method(self, *args) -> 'int' + | get_call_method(self) -> int + | + | guess_cc(self, *args) -> 'cm_t' + | guess_cc(self, purged, cc_flags) -> cm_t + | + | is_high(self, *args) -> 'bool' + | is_high(self) -> bool + | + | is_noret(self, *args) -> 'bool' + | is_noret(self) -> bool + | + | is_pure(self, *args) -> 'bool' + | is_pure(self) -> bool + | + | is_vararg_cc(self, *args) -> 'bool' + | is_vararg_cc(self) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cc + | func_type_data_t_cc_get(self) -> cm_t + | + | flags + | func_type_data_t_flags_get(self) -> int + | + | retloc + | func_type_data_t_retloc_get(self) -> argloc_t + | + | rettype + | func_type_data_t_rettype_get(self) -> tinfo_t + | + | spoiled + | func_type_data_t_spoiled_get(self) -> reginfovec_t + | + | stkargs + | func_type_data_t_stkargs_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from funcargvec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'funcarg_t const &' + | __getitem__(self, i) -> funcarg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'funcarg_t const &' + | at(self, _idx) -> funcarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | begin(self) -> funcarg_t + | begin(self) -> funcarg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | end(self) -> funcarg_t + | end(self) -> funcarg_t + | + | erase(self, *args) -> 'qvector< funcarg_t >::iterator' + | erase(self, it) -> funcarg_t + | erase(self, first, last) -> funcarg_t + | + | extract(self, *args) -> 'funcarg_t *' + | extract(self) -> funcarg_t + | + | find(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | find(self, x) -> funcarg_t + | find(self, x) -> funcarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=funcarg_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< funcarg_t >::iterator' + | insert(self, it, x) -> funcarg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'funcarg_t &' + | push_back(self, x) + | push_back(self) -> funcarg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from funcargvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from funcargvec_t: + | + | __hash__ = None + +Help on class funcarg_t in module ida_typeinf: + +class funcarg_t(builtins.object) + | Proxy of C++ funcarg_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> funcarg_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_funcarg_t(...) + | delete_funcarg_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argloc + | funcarg_t_argloc_get(self) -> argloc_t + | + | cmt + | funcarg_t_cmt_get(self) -> qstring * + | + | flags + | funcarg_t_flags_get(self) -> uint32 + | + | name + | funcarg_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | funcarg_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class funcargvec_t in module ida_typeinf: + +class funcargvec_t(builtins.object) + | Proxy of C++ qvector< funcarg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'funcarg_t const &' + | __getitem__(self, i) -> funcarg_t + | + | __init__(self, *args) + | __init__(self) -> funcargvec_t + | __init__(self, x) -> funcargvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_funcargvec_t(...) + | delete_funcargvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'funcarg_t const &' + | at(self, _idx) -> funcarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | begin(self) -> funcarg_t + | begin(self) -> funcarg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | end(self) -> funcarg_t + | end(self) -> funcarg_t + | + | erase(self, *args) -> 'qvector< funcarg_t >::iterator' + | erase(self, it) -> funcarg_t + | erase(self, first, last) -> funcarg_t + | + | extract(self, *args) -> 'funcarg_t *' + | extract(self) -> funcarg_t + | + | find(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | find(self, x) -> funcarg_t + | find(self, x) -> funcarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=funcarg_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< funcarg_t >::iterator' + | insert(self, it, x) -> funcarg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'funcarg_t &' + | push_back(self, x) + | push_back(self) -> funcarg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function gcc_layout in module ida_typeinf: + +gcc_layout(*args) -> 'bool' + gcc_layout() -> bool + + + Should use the struct/union layout as done by gcc? + +Help on function gen_decorate_name in module ida_typeinf: + +gen_decorate_name(*args) -> 'qstring *' + gen_decorate_name(name, mangle, cc, type) -> str + + + Generic function for 'decorate_name()' (may be used in IDP modules) + + + @param name (C++: const char *) + @param mangle (C++: bool) + @param cc (C++: cm_t) + @param type (C++: const tinfo_t *) + +Help on function gen_use_arg_tinfos in module ida_typeinf: + +gen_use_arg_tinfos(*args) -> 'void' + gen_use_arg_tinfos(caller, fti, rargs, set_optype, is_stkarg_load, has_delay_slot) + + + The main function using these callbacks: + + + @param caller (C++: ea_t) + @param fti (C++: func_type_data_t *) + @param rargs (C++: funcargvec_t *) + @param set_optype (C++: set_op_tinfo_t *) + @param is_stkarg_load (C++: is_stkarg_load_t *) + @param has_delay_slot (C++: has_delay_slot_t *) + +Help on function get_abi_name in module ida_typeinf: + +get_abi_name(*args) -> 'qstring *' + get_abi_name() -> str + + + Get ABI name. + + @return: length of the name (>=0) + +Help on function get_alias_target in module ida_typeinf: + +get_alias_target(*args) -> 'uint32' + 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 *) + @param ordinal (C++: uint32) + +Help on function get_arg_addrs in module ida_typeinf: + +get_arg_addrs(*args) -> 'PyObject *' + get_arg_addrs(caller) -> PyObject * + + + Retrieve addresses of argument initialization instructions + + @param caller: the address of the call instruction + @return: list of instruction addresses + +Help on function get_base_type in module ida_typeinf: + +get_base_type(*args) -> 'type_t' + get_base_type(t) -> type_t + + + Get get basic type bits ( 'TYPE_BASE_MASK' ) + + + @param t (C++: type_t) + +Help on function get_c_header_path in module ida_typeinf: + +get_c_header_path(*args) -> 'qstring *' + get_c_header_path() -> str + + + Get the include directory path of the target compiler. + +Help on function get_c_macros in module ida_typeinf: + +get_c_macros(*args) -> 'qstring *' + get_c_macros() -> str + + + Get predefined macros for the target compiler. + +Help on function get_comp in module ida_typeinf: + +get_comp(*args) -> 'comp_t' + get_comp(comp) -> comp_t + + + Get compiler bits. + + + @param comp (C++: comp_t) + +Help on function get_compiler_abbr in module ida_typeinf: + +get_compiler_abbr(*args) -> 'char const *' + get_compiler_abbr(id) -> char const * + + + Get abbreviated compiler name. + + + @param id (C++: comp_t) + +Help on function get_compiler_name in module ida_typeinf: + +get_compiler_name(*args) -> 'char const *' + get_compiler_name(id) -> char const * + + + Get full compiler name. + + + @param id (C++: comp_t) + +Help on function get_compilers in module ida_typeinf: + +get_compilers(*args) -> 'void' + 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 *) + +Help on function get_enum_member_expr in module ida_typeinf: + +get_enum_member_expr(*args) -> 'qstring *' + 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: enumeration type (C++: const tinfo_t &) + @param serial: which enumeration member to use (0 means the first with + the given value) (C++: int) + @param value: value to search in the enumeration type. only 32-bit + number can be handled yet (C++: uint64) + @return: success + +Help on function get_full_type in module ida_typeinf: + +get_full_type(*args) -> 'type_t' + get_full_type(t) -> type_t + + + Get basic type bits + type flags ( 'TYPE_FULL_MASK' ) + + + @param t (C++: type_t) + +Help on function get_idainfo_by_type in module ida_typeinf: + +get_idainfo_by_type(*args) -> 'size_t *, flags_t *, opinfo_t *, size_t *' + get_idainfo_by_type(tif) -> bool + + + Extract information from a 'tinfo_t' . + + @param tif: the type to inspect (C++: const tinfo_t &) + +Help on function get_idati in module ida_typeinf: + +get_idati(*args) -> 'til_t const *' + get_idati() -> til_t + + + Pointer to the local type library - this til is private for each IDB + file Function that accepts til_t* uses local type library instead of + NULL. + +Help on function get_named_type in module ida_typeinf: + +get_named_type(*args) -> 'PyObject *' + get_named_type(til, name, ntf_flags) -> PyObject * + + + 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 + +Help on function get_named_type64 in module ida_typeinf: + +get_named_type64(*args) -> 'PyObject *' + get_named_type64(til, name, ntf_flags) -> PyObject * + + + See 'get_named_type()' above.If the value in the 'ti' library is + 32-bit, it will be sign-extended before being stored in the 'value' + pointer. + + @param name (C++: const char *) + @param ntf_flags (C++: int) + +Help on function get_numbered_type in module ida_typeinf: + +get_numbered_type(*args) -> 'PyObject *' + get_numbered_type(til, ordinal) -> PyObject * + + + Retrieve a type by its ordinal number. + + + @param ordinal (C++: uint32) + +Help on function get_numbered_type_name in module ida_typeinf: + +get_numbered_type_name(*args) -> 'char const *' + 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 NULL + + @param ti (C++: const til_t *) + @param ordinal (C++: uint32) + +Help on function get_ordinal_from_idb_type in module ida_typeinf: + +get_ordinal_from_idb_type(*args) -> 'int' + get_ordinal_from_idb_type(name, type) -> int + + + Get ordinal number of an idb type (struct/enum). The 'type' parameter + is used only to determine the kind of the type (struct or enum) Use + this function to find out the correspondence between idb types and til + types + + @param name (C++: const char *) + @param type (C++: const type_t *) + +Help on function get_ordinal_qty in module ida_typeinf: + +get_ordinal_qty(*args) -> 'uint32' + get_ordinal_qty(ti) -> uint32 + + + Get number of allocated ordinals. + + @param ti (C++: const til_t *) + @return: uint32(-1) if failed + +Help on function get_scalar_bt in module ida_typeinf: + +get_scalar_bt(*args) -> 'type_t' + get_scalar_bt(size) -> type_t + +Help on function get_stock_tinfo in module ida_typeinf: + +get_stock_tinfo(*args) -> 'bool' + get_stock_tinfo(tif, id) -> bool + +Help on function get_tinfo_attr in module ida_typeinf: + +get_tinfo_attr(*args) -> 'bool' + get_tinfo_attr(typid, key, bv, all_attrs) -> bool + +Help on function get_tinfo_attrs in module ida_typeinf: + +get_tinfo_attrs(*args) -> 'bool' + get_tinfo_attrs(typid, tav, include_ref_attrs) -> bool + +Help on function get_tinfo_details in module ida_typeinf: + +get_tinfo_details(*args) -> 'bool' + get_tinfo_details(typid, bt2, buf) -> bool + +Help on function get_tinfo_pdata in module ida_typeinf: + +get_tinfo_pdata(*args) -> 'size_t' + get_tinfo_pdata(outptr, typid, what) -> size_t + +Help on function get_tinfo_property in module ida_typeinf: + +get_tinfo_property(*args) -> 'size_t' + get_tinfo_property(typid, gta_prop) -> size_t + +Help on function get_tinfo_size in module ida_typeinf: + +get_tinfo_size(*args) -> 'size_t' + get_tinfo_size(p_effalign, typid, gts_code) -> size_t + +Help on function get_type_flags in module ida_typeinf: + +get_type_flags(*args) -> 'type_t' + get_type_flags(t) -> type_t + + + Get type flags ( 'TYPE_FLAGS_MASK' ) + + + @param t (C++: type_t) + +Help on function get_type_ordinal in module ida_typeinf: + +get_type_ordinal(*args) -> 'int32' + get_type_ordinal(ti, name) -> int32 + + + Get type ordinal by its name. + + + @param ti (C++: const til_t *) + @param name (C++: const char *) + +Help on function guess_func_cc in module ida_typeinf: + +guess_func_cc(*args) -> 'cm_t' + guess_func_cc(fti, npurged, cc_flags) -> cm_t + + + Use 'func_type_data_t::guess_cc()' + + + @param fti (C++: const func_type_data_t &) + @param npurged (C++: int) + @param cc_flags (C++: int) + +Help on function guess_tinfo in module ida_typeinf: + +guess_tinfo(*args) -> 'int' + guess_tinfo(tif, id) -> int + + + Generate a type information about the id from the disassembly. id can + be a structure/union/enum id or an address. + + @param tif (C++: tinfo_t *) + @param id (C++: tid_t) + @return: one of Guess tinfo codes + +Help on class ida_lowertype_helper_t in module ida_typeinf: + +class ida_lowertype_helper_t(lowertype_helper_t) + | Proxy of C++ ida_lowertype_helper_t class. + | + | Method resolution order: + | ida_lowertype_helper_t + | lowertype_helper_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _tif, _ea, _pb) -> ida_lowertype_helper_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ida_lowertype_helper_t(...) + | delete_ida_lowertype_helper_t(self) + | + | func_has_stkframe_hole(self, *args) -> 'bool' + | func_has_stkframe_hole(self, candidate, candidate_data) -> bool + | + | get_func_purged_bytes(self, *args) -> 'int' + | get_func_purged_bytes(self, candidate, arg3) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from lowertype_helper_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function idc_get_local_type in module ida_typeinf: + +idc_get_local_type(*args) -> 'int' + idc_get_local_type(ordinal, flags, buf, maxsize) -> int + +Help on function idc_get_local_type_name in module ida_typeinf: + +idc_get_local_type_name(*args) -> 'size_t' + idc_get_local_type_name(ordinal) -> str + +Help on function idc_get_local_type_raw in module ida_typeinf: + +idc_get_local_type_raw(*args) -> 'PyObject *' + idc_get_local_type_raw(ordinal) -> PyObject * + +Help on function idc_get_type in module ida_typeinf: + +idc_get_type(*args) -> 'size_t' + idc_get_type(ea) -> str + +Help on function idc_get_type_raw in module ida_typeinf: + +idc_get_type_raw(*args) -> 'PyObject *' + idc_get_type_raw(ea) -> PyObject * + +Help on function idc_guess_type in module ida_typeinf: + +idc_guess_type(*args) -> 'size_t' + idc_guess_type(ea) -> str + +Help on function idc_parse_decl in module ida_typeinf: + +idc_parse_decl(*args) -> 'PyObject *' + idc_parse_decl(ti, decl, flags) -> PyObject * + +Help on function idc_parse_types in module ida_typeinf: + +idc_parse_types(*args) -> 'int' + idc_parse_types(input, flags) -> int + +Help on function idc_print_type in module ida_typeinf: + +idc_print_type(*args) -> 'PyObject *' + idc_print_type(_type, _fields, name, flags) -> PyObject * + +Help on function idc_set_local_type in module ida_typeinf: + +idc_set_local_type(*args) -> 'int' + idc_set_local_type(ordinal, dcl, flags) -> int + +Help on function import_type in module ida_typeinf: + +import_type(*args) -> 'tid_t' + import_type(til, idx, name, flags=0) -> tid_t + + + Copy a named type from til to idb. + + @param til: type library (C++: const til_t *) + @param idx: the position of the new type in the list of types + (structures or enums). -1 means at the end of the list + (C++: int) + @param name: the type name (C++: const char *) + @param flags: combination of Import type flags (C++: int) + @return: BADNODE on error + +Help on function is_autosync in module ida_typeinf: + +is_autosync(*args) -> 'bool' + is_autosync(name, type) -> bool + is_autosync(name, tif) -> bool + + + Is the specified idb type automatically synchronized? + + + @param name (C++: const char *) + @param type (C++: const type_t *) + +Help on function is_code_far in module ida_typeinf: + +is_code_far(*args) -> 'bool' + is_code_far(cm) -> bool + + + Does the given model specify far code?. + + + @param cm (C++: cm_t) + +Help on function is_comp_unsure in module ida_typeinf: + +is_comp_unsure(*args) -> 'comp_t' + is_comp_unsure(comp) -> comp_t + + + See 'COMP_UNSURE' . + + + @param comp (C++: comp_t) + +Help on function is_data_far in module ida_typeinf: + +is_data_far(*args) -> 'bool' + is_data_far(cm) -> bool + + + Does the given model specify far data?. + + + @param cm (C++: cm_t) + +Help on function is_gcc in module ida_typeinf: + +is_gcc(*args) -> 'bool' + is_gcc() -> bool + + + Is the target compiler 'COMP_GNU' ? + +Help on function is_gcc32 in module ida_typeinf: + +is_gcc32(*args) -> 'bool' + is_gcc32() -> bool + + + Is the target compiler 32 bit gcc? + +Help on function is_gcc64 in module ida_typeinf: + +is_gcc64(*args) -> 'bool' + is_gcc64() -> bool + + + Is the target compiler 64 bit gcc? + +Help on function is_ordinal_name in module ida_typeinf: + +is_ordinal_name(*args) -> 'bool' + 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 *) + @param ord (C++: uint32 *) + +Help on function is_purging_cc in module ida_typeinf: + +is_purging_cc(*args) -> 'bool' + is_purging_cc(cm) -> bool + + + Does the calling convention clean the stack arguments upon + return?.this function is valid only for x86 code + + @param cm (C++: cm_t) + +Help on function is_restype_enum in module ida_typeinf: + +is_restype_enum(*args) -> 'bool' + is_restype_enum(til, type) -> bool + +Help on function is_restype_struct in module ida_typeinf: + +is_restype_struct(*args) -> 'bool' + is_restype_struct(til, type) -> bool + +Help on function is_restype_struni in module ida_typeinf: + +is_restype_struni(*args) -> 'bool' + is_restype_struni(til, type) -> bool + +Help on function is_restype_void in module ida_typeinf: + +is_restype_void(*args) -> 'bool' + is_restype_void(til, type) -> bool + +Help on function is_sdacl_byte in module ida_typeinf: + +is_sdacl_byte(*args) -> 'bool' + 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) + +Help on function is_tah_byte in module ida_typeinf: + +is_tah_byte(*args) -> 'bool' + 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) + +Help on function is_type_arithmetic in module ida_typeinf: + +is_type_arithmetic(*args) -> 'bool' + is_type_arithmetic(t) -> bool + + + Is the type an arithmetic type? (floating or integral) + + + @param t (C++: type_t) + +Help on function is_type_array in module ida_typeinf: + +is_type_array(*args) -> 'bool' + is_type_array(t) -> bool + + + See 'BT_ARRAY' . + + + @param t (C++: type_t) + +Help on function is_type_bitfld in module ida_typeinf: + +is_type_bitfld(*args) -> 'bool' + is_type_bitfld(t) -> bool + + + See 'BT_BITFIELD' . + + + @param t (C++: type_t) + +Help on function is_type_bool in module ida_typeinf: + +is_type_bool(*args) -> 'bool' + is_type_bool(t) -> bool + + + See 'BTF_BOOL' . + + + @param t (C++: type_t) + +Help on function is_type_char in module ida_typeinf: + +is_type_char(*args) -> 'bool' + is_type_char(t) -> bool + + + Does the type specify a char value? (signed or unsigned, see 'Basic + type: integer' ) + + + @param t (C++: type_t) + +Help on function is_type_complex in module ida_typeinf: + +is_type_complex(*args) -> 'bool' + is_type_complex(t) -> bool + + + See 'BT_COMPLEX' . + + + @param t (C++: type_t) + +Help on function is_type_const in module ida_typeinf: + +is_type_const(*args) -> 'bool' + is_type_const(t) -> bool + + + See 'BTM_CONST' . + + + @param t (C++: type_t) + +Help on function is_type_double in module ida_typeinf: + +is_type_double(*args) -> 'bool' + is_type_double(t) -> bool + + + See 'BTF_DOUBLE' . + + + @param t (C++: type_t) + +Help on function is_type_enum in module ida_typeinf: + +is_type_enum(*args) -> 'bool' + is_type_enum(t) -> bool + + + See 'BTF_ENUM' . + + + @param t (C++: type_t) + +Help on function is_type_ext_arithmetic in module ida_typeinf: + +is_type_ext_arithmetic(*args) -> 'bool' + is_type_ext_arithmetic(t) -> bool + + + Is the type an extended arithmetic type? (arithmetic or enum) + + + @param t (C++: type_t) + +Help on function is_type_ext_integral in module ida_typeinf: + +is_type_ext_integral(*args) -> 'bool' + is_type_ext_integral(t) -> bool + + + Is the type an extended integral type? (integral or enum) + + + @param t (C++: type_t) + +Help on function is_type_float in module ida_typeinf: + +is_type_float(*args) -> 'bool' + is_type_float(t) -> bool + + + See 'BTF_FLOAT' . + + + @param t (C++: type_t) + +Help on function is_type_floating in module ida_typeinf: + +is_type_floating(*args) -> 'bool' + is_type_floating(t) -> bool + + + Is the type a floating point type? + + + @param t (C++: type_t) + +Help on function is_type_func in module ida_typeinf: + +is_type_func(*args) -> 'bool' + is_type_func(t) -> bool + + + See 'BT_FUNC' . + + + @param t (C++: type_t) + +Help on function is_type_int in module ida_typeinf: + +is_type_int(*args) -> 'bool' + is_type_int(bt) -> bool + + + Does the type_t specify one of the basic types in 'Basic type: + integer' ? + + + @param bt (C++: type_t) + +Help on function is_type_int128 in module ida_typeinf: + +is_type_int128(*args) -> 'bool' + 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) + +Help on function is_type_int16 in module ida_typeinf: + +is_type_int16(*args) -> 'bool' + 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) + +Help on function is_type_int32 in module ida_typeinf: + +is_type_int32(*args) -> 'bool' + 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) + +Help on function is_type_int64 in module ida_typeinf: + +is_type_int64(*args) -> 'bool' + 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) + +Help on function is_type_integral in module ida_typeinf: + +is_type_integral(*args) -> 'bool' + is_type_integral(t) -> bool + + + Is the type an integral type (char/short/int/long/bool)? + + + @param t (C++: type_t) + +Help on function is_type_ldouble in module ida_typeinf: + +is_type_ldouble(*args) -> 'bool' + is_type_ldouble(t) -> bool + + + See 'BTF_LDOUBLE' . + + + @param t (C++: type_t) + +Help on function is_type_paf in module ida_typeinf: + +is_type_paf(*args) -> 'bool' + is_type_paf(t) -> bool + + + Is the type a pointer, array, or function type? + + + @param t (C++: type_t) + +Help on function is_type_partial in module ida_typeinf: + +is_type_partial(*args) -> 'bool' + 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) + +Help on function is_type_ptr in module ida_typeinf: + +is_type_ptr(*args) -> 'bool' + is_type_ptr(t) -> bool + + + See 'BT_PTR' . + + + @param t (C++: type_t) + +Help on function is_type_ptr_or_array in module ida_typeinf: + +is_type_ptr_or_array(*args) -> 'bool' + is_type_ptr_or_array(t) -> bool + + + Is the type a pointer or array type? + + + @param t (C++: type_t) + +Help on function is_type_struct in module ida_typeinf: + +is_type_struct(*args) -> 'bool' + is_type_struct(t) -> bool + + + See 'BTF_STRUCT' . + + + @param t (C++: type_t) + +Help on function is_type_struni in module ida_typeinf: + +is_type_struni(*args) -> 'bool' + is_type_struni(t) -> bool + + + Is the type a struct or union? + + + @param t (C++: type_t) + +Help on function is_type_sue in module ida_typeinf: + +is_type_sue(*args) -> 'bool' + is_type_sue(t) -> bool + + + Is the type a struct/union/enum? + + + @param t (C++: type_t) + +Help on function is_type_tbyte in module ida_typeinf: + +is_type_tbyte(*args) -> 'bool' + is_type_tbyte(t) -> bool + + + See 'BTF_FLOAT' . + + + @param t (C++: type_t) + +Help on function is_type_typedef in module ida_typeinf: + +is_type_typedef(*args) -> 'bool' + is_type_typedef(t) -> bool + + + See 'BTF_TYPEDEF' . + + + @param t (C++: type_t) + +Help on function is_type_uchar in module ida_typeinf: + +is_type_uchar(*args) -> 'bool' + is_type_uchar(t) -> bool + + + See 'BTF_UCHAR' . + + + @param t (C++: type_t) + +Help on function is_type_uint in module ida_typeinf: + +is_type_uint(*args) -> 'bool' + is_type_uint(t) -> bool + + + See 'BTF_UINT' . + + + @param t (C++: type_t) + +Help on function is_type_uint128 in module ida_typeinf: + +is_type_uint128(*args) -> 'bool' + is_type_uint128(t) -> bool + + + See 'BTF_UINT128' . + + + @param t (C++: type_t) + +Help on function is_type_uint16 in module ida_typeinf: + +is_type_uint16(*args) -> 'bool' + is_type_uint16(t) -> bool + + + See 'BTF_UINT16' . + + + @param t (C++: type_t) + +Help on function is_type_uint32 in module ida_typeinf: + +is_type_uint32(*args) -> 'bool' + is_type_uint32(t) -> bool + + + See 'BTF_UINT32' . + + + @param t (C++: type_t) + +Help on function is_type_uint64 in module ida_typeinf: + +is_type_uint64(*args) -> 'bool' + is_type_uint64(t) -> bool + + + See 'BTF_UINT64' . + + + @param t (C++: type_t) + +Help on function is_type_union in module ida_typeinf: + +is_type_union(*args) -> 'bool' + is_type_union(t) -> bool + + + See 'BTF_UNION' . + + + @param t (C++: type_t) + +Help on function is_type_unknown in module ida_typeinf: + +is_type_unknown(*args) -> 'bool' + is_type_unknown(t) -> bool + + + See 'BT_UNKNOWN' . + + + @param t (C++: type_t) + +Help on function is_type_void in module ida_typeinf: + +is_type_void(*args) -> 'bool' + is_type_void(t) -> bool + + + See 'BTF_VOID' . + + + @param t (C++: type_t) + +Help on function is_type_volatile in module ida_typeinf: + +is_type_volatile(*args) -> 'bool' + is_type_volatile(t) -> bool + + + See 'BTM_VOLATILE' . + + + @param t (C++: type_t) + +Help on function is_typeid_last in module ida_typeinf: + +is_typeid_last(*args) -> 'bool' + 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) + +Help on function is_user_cc in module ida_typeinf: + +is_user_cc(*args) -> 'bool' + is_user_cc(cm) -> bool + + + Does the calling convention specify argument locations explicitly? + + + @param cm (C++: cm_t) + +Help on function is_vararg_cc in module ida_typeinf: + +is_vararg_cc(*args) -> 'bool' + is_vararg_cc(cm) -> bool + + + Does the calling convention use ellipsis? + + + @param cm (C++: cm_t) + +Help on function lexcompare_tinfo in module ida_typeinf: + +lexcompare_tinfo(*args) -> 'int' + lexcompare_tinfo(t1, t2, arg3) -> int + +Help on function load_til in module ida_typeinf: + +load_til(*args) -> 'qstring *' + load_til(name, tildir=None) -> til_t + + + Load til from a file. Failure to load base tils are reported into + 'errbuf'. They do not prevent loading of the main til. + + @param name: filename of the til. If it's an absolute path, tildir is + ignored. NB: the file extension is forced to .til (C++: + const char *) + @param tildir: directory where to load the til from. NULL means + default til subdirectories. (C++: const char *) + @return: pointer to resulting til, NULL if failed and error message is + in errbuf + +Help on function load_til_header in module ida_typeinf: + +load_til_header(*args) -> 'qstring *' + load_til_header(tildir, name) -> til_t + + + Get human-readable til description. + + + @param tildir (C++: const char *) + @param name (C++: const char *) + +Help on function lower_type in module ida_typeinf: + +lower_type(*args) -> 'int' + 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, etcWe 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 childrentypes walked through by recursion. + + @param til (C++: til_t *) + @param tif (C++: tinfo_t *) + @param name (C++: const char *) + @param _helper (C++: lowertype_helper_t *) + +Help on class lowertype_helper_t in module ida_typeinf: + +class lowertype_helper_t(builtins.object) + | Proxy of C++ lowertype_helper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lowertype_helper_t(...) + | delete_lowertype_helper_t(self) + | + | func_has_stkframe_hole(self, *args) -> 'bool' + | func_has_stkframe_hole(self, candidate, candidate_data) -> bool + | + | get_func_purged_bytes(self, *args) -> 'int' + | get_func_purged_bytes(self, candidate, candidate_data) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function new_til in module ida_typeinf: + +new_til(*args) -> 'til_t *' + new_til(name, desc) -> til_t + + + Initialize a til. + + + @param name (C++: const char *) + @param desc (C++: const char *) + +Help on function next_named_type in module ida_typeinf: + +next_named_type(*args) -> 'char const *' + next_named_type(ti, name, ntf_flags) -> char const * + + + Enumerate types. Returns mangled names. Never returns anonymous types. + To include it, enumerate types by ordinals. + + @param ti (C++: const til_t *) + @param name (C++: const char *) + @param ntf_flags (C++: int) + +Help on function optimize_argloc in module ida_typeinf: + +optimize_argloc(*args) -> 'bool' + optimize_argloc(vloc, size, gaps) -> bool + + + Verify and optimize scattered argloc into simple form. All new arglocs + must be processed by this function. + + @param vloc (C++: argloc_t *) + @param size (C++: int) + @param gaps (C++: const rangeset_t *) + +Help on function pack_idcobj_to_bv in module ida_typeinf: + +pack_idcobj_to_bv(*args) -> 'error_t' + 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 *) + @param tif (C++: const tinfo_t &) + @param bytes (C++: relobj_t *) + @param objoff (C++: void *) + @param pio_flags (C++: int) + +Help on function pack_idcobj_to_idb in module ida_typeinf: + +pack_idcobj_to_idb(*args) -> 'error_t' + 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 *) + @param tif (C++: const tinfo_t &) + @param ea (C++: ea_t) + @param pio_flags (C++: int) + +Help on function pack_object_to_bv in module ida_typeinf: + +pack_object_to_bv(*args) -> 'PyObject *' + pack_object_to_bv(py_obj, ti, _type, _fields, base_ea, pio_flags=0) -> PyObject * + + + Packs a typed object to a string + @param ti: Type info. 'None' can be passed. + @param tp: type string + @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 + +Help on function pack_object_to_idb in module ida_typeinf: + +pack_object_to_idb(*args) -> 'PyObject *' + 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 ti: Type info. 'None' can be passed. + @param tp: type string + @param fields: fields string (may be empty or None) + @param ea: ea to be used while packing + @param pio_flags: flags used while unpacking + +Help on function parse_decl in module ida_typeinf: + +parse_decl(*args) -> 'qstring *' + parse_decl(tif, til, decl, 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.name & tif may be + empty after the call! + + @param tif: type info (C++: tinfo_t *) + @param til: type library to use. may be NULL (C++: til_t *) + @param decl: C declaration to parse (C++: const char *) + @param flags: combination of Type parsing flags bits (C++: int) + +Help on function parse_decls in module ida_typeinf: + +parse_decls(*args) -> 'int' + 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: type library to store the result (C++: til_t *) + @param input: input string or file name (see hti_flags) (C++: const + char *) + @param printer: function to output error messages (use msg or NULL or + your own callback) (C++: printer_t *) + @param hti_flags: combination of Type formatting flags (C++: int) + @return: number of errors, 0 means ok. + +Help on class predicate_t in module ida_typeinf: + +class predicate_t(builtins.object) + | Proxy of C++ predicate_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> predicate_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_predicate_t(...) + | delete_predicate_t(self) + | + | should_display(self, *args) -> 'bool' + | should_display(self, til, name, type, fields) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function print_argloc in module ida_typeinf: + +print_argloc(*args) -> 'size_t' + print_argloc(vloc, size=0, vflags=0) -> str + + + Convert an argloc to human readable form. + + + @param vloc (C++: const argloc_t &) + @param size (C++: int) + @param vflags (C++: int) + +Help on function print_decls in module ida_typeinf: + +print_decls(*args) -> 'PyObject *' + print_decls(printer, til, py_ordinals, flags) -> PyObject * + + + Print types (and possibly their dependencies) in a format suitable for + use in a header file. This is the reverse 'parse_decls()' . + + @param printer: a handler for printing text (C++: text_sink_t &) + @param til: the type library holding the ordinals (C++: til_t *) + @param flags: flags for the algorithm. A combination of PDF_* + constants (C++: uint32) + +Help on function print_tinfo in module ida_typeinf: + +print_tinfo(*args) -> 'qstring *' + print_tinfo(prefix, indent, cmtindent, flags, tif, name, cmt) -> str + +Help on function print_type in module ida_typeinf: + +print_type(*args) -> 'qstring *' + print_type(ea, prtype_flags) -> str + + + Get type declaration for the specified address. + + @param ea: address (C++: ea_t) + @param prtype_flags: combination of Type printing flags (C++: int) + @return: success + +Help on class ptr_type_data_t in module ida_typeinf: + +class ptr_type_data_t(builtins.object) + | Proxy of C++ ptr_type_data_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, c=tinfo_t(), bps=0, p=tinfo_t(), d=0) -> ptr_type_data_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ptr_type_data_t(...) + | delete_ptr_type_data_t(self) + | + | is_code_ptr(self, *args) -> 'bool' + | is_code_ptr(self) -> bool + | + | is_shifted(self, *args) -> 'bool' + | is_shifted(self) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | based_ptr_size + | ptr_type_data_t_based_ptr_size_get(self) -> uchar + | + | closure + | ptr_type_data_t_closure_get(self) -> tinfo_t + | + | delta + | ptr_type_data_t_delta_get(self) -> int32 + | + | obj_type + | ptr_type_data_t_obj_type_get(self) -> tinfo_t + | + | parent + | ptr_type_data_t_parent_get(self) -> tinfo_t + | + | taptr_bits + | ptr_type_data_t_taptr_bits_get(self) -> uchar + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function read_tinfo_bitfield_value in module ida_typeinf: + +read_tinfo_bitfield_value(*args) -> 'uint64' + read_tinfo_bitfield_value(typid, v, bitoff) -> uint64 + +Help on class reginfovec_t in module ida_typeinf: + +class reginfovec_t(builtins.object) + | Proxy of C++ qvector< reg_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'reg_info_t const &' + | __getitem__(self, i) -> reg_info_t + | + | __init__(self, *args) + | __init__(self) -> reginfovec_t + | __init__(self, x) -> reginfovec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_reginfovec_t(...) + | delete_reginfovec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'reg_info_t &' + | + | at = __getitem__(self, *args) -> 'reg_info_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< reg_info_t >::const_iterator' + | begin(self) -> reg_info_t + | begin(self) -> reg_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< reg_info_t >::const_iterator' + | end(self) -> reg_info_t + | end(self) -> reg_info_t + | + | erase(self, *args) -> 'qvector< reg_info_t >::iterator' + | erase(self, it) -> reg_info_t + | erase(self, first, last) -> reg_info_t + | + | extract(self, *args) -> 'reg_info_t *' + | extract(self) -> reg_info_t + | + | find(self, *args) -> 'qvector< reg_info_t >::const_iterator' + | find(self, x) -> reg_info_t + | find(self, x) -> reg_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=reg_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< reg_info_t >::iterator' + | insert(self, it, x) -> reg_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'reg_info_t &' + | push_back(self, x) + | push_back(self) -> reg_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class regobj_t in module ida_typeinf: + +class regobj_t(builtins.object) + | Proxy of C++ regobj_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regobj_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_regobj_t(...) + | delete_regobj_t(self) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | regidx + | regobj_t_regidx_get(self) -> int + | + | relocate + | regobj_t_relocate_get(self) -> int + | + | thisown + | The membership flag + | + | value + | regobj_t_value_get(self) -> bytevec_t * + +Help on class regobjs_t in module ida_typeinf: + +class regobjs_t(regobjvec_t) + | Proxy of C++ regobjs_t class. + | + | Method resolution order: + | regobjs_t + | regobjvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regobjs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_regobjs_t(...) + | delete_regobjs_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from regobjvec_t: + | + | __getitem__(self, *args) -> 'regobj_t const &' + | __getitem__(self, i) -> regobj_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | at(self, *args) -> 'regobj_t const &' + | at(self, _idx) -> regobj_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< regobj_t >::const_iterator' + | begin(self) -> regobj_t + | begin(self) -> regobj_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< regobj_t >::const_iterator' + | end(self) -> regobj_t + | end(self) -> regobj_t + | + | erase(self, *args) -> 'qvector< regobj_t >::iterator' + | erase(self, it) -> regobj_t + | erase(self, first, last) -> regobj_t + | + | extract(self, *args) -> 'regobj_t *' + | extract(self) -> regobj_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=regobj_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< regobj_t >::iterator' + | insert(self, it, x) -> regobj_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'regobj_t &' + | push_back(self, x) + | push_back(self) -> regobj_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from regobjvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class regobjvec_t in module ida_typeinf: + +class regobjvec_t(builtins.object) + | Proxy of C++ qvector< regobj_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'regobj_t const &' + | __getitem__(self, i) -> regobj_t + | + | __init__(self, *args) + | __init__(self) -> regobjvec_t + | __init__(self, x) -> regobjvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_regobjvec_t(...) + | delete_regobjvec_t(self) + | + | at(self, *args) -> 'regobj_t const &' + | at(self, _idx) -> regobj_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< regobj_t >::const_iterator' + | begin(self) -> regobj_t + | begin(self) -> regobj_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< regobj_t >::const_iterator' + | end(self) -> regobj_t + | end(self) -> regobj_t + | + | erase(self, *args) -> 'qvector< regobj_t >::iterator' + | erase(self, it) -> regobj_t + | erase(self, first, last) -> regobj_t + | + | extract(self, *args) -> 'regobj_t *' + | extract(self) -> regobj_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=regobj_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< regobj_t >::iterator' + | insert(self, it, x) -> regobj_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'regobj_t &' + | push_back(self, x) + | push_back(self) -> regobj_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function remove_abi_opts in module ida_typeinf: + +remove_abi_opts(*args) -> 'bool' + remove_abi_opts(abi_opts, user_level=False) -> bool + +Help on function remove_pointer in module ida_typeinf: + +remove_pointer(*args) -> 'tinfo_t' + remove_pointer(tif) -> tinfo_t + + + '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() + + @param tif (C++: const tinfo_t &) + +Help on function remove_tinfo_pointer in module ida_typeinf: + +remove_tinfo_pointer(*args) -> 'PyObject *' + remove_tinfo_pointer(tif, name, til) -> PyObject * + + + 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 til (C++: const til_t *) + +Help on function replace_ordinal_typerefs in module ida_typeinf: + +replace_ordinal_typerefs(*args) -> 'int' + 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: type library to use. may be NULL. (C++: til_t *) + @param tif: type to modify (in/out) (C++: tinfo_t *) + +Help on function resolve_typedef in module ida_typeinf: + +resolve_typedef(*args) -> 'type_t const *' + resolve_typedef(til, type) -> type_t const * + +Help on class rrel_t in module ida_typeinf: + +class rrel_t(builtins.object) + | Proxy of C++ rrel_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rrel_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_rrel_t(...) + | delete_rrel_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | rrel_t_off_get(self) -> sval_t + | + | reg + | rrel_t_reg_get(self) -> int + | + | thisown + | The membership flag + +Help on function save_tinfo in module ida_typeinf: + +save_tinfo(*args) -> 'tinfo_code_t' + save_tinfo(tif, til, ord, name, ntf_flags) -> tinfo_code_t + +Help on class scattered_aloc_t in module ida_typeinf: + +class scattered_aloc_t(argpartvec_t) + | Proxy of C++ scattered_aloc_t class. + | + | Method resolution order: + | scattered_aloc_t + | argpartvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> scattered_aloc_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_scattered_aloc_t(...) + | delete_scattered_aloc_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from argpartvec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'argpart_t const &' + | __getitem__(self, i) -> argpart_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'argpart_t const &' + | at(self, _idx) -> argpart_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< argpart_t >::const_iterator' + | begin(self) -> argpart_t + | begin(self) -> argpart_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< argpart_t >::const_iterator' + | end(self) -> argpart_t + | end(self) -> argpart_t + | + | erase(self, *args) -> 'qvector< argpart_t >::iterator' + | erase(self, it) -> argpart_t + | erase(self, first, last) -> argpart_t + | + | extract(self, *args) -> 'argpart_t *' + | extract(self) -> argpart_t + | + | find(self, *args) -> 'qvector< argpart_t >::const_iterator' + | find(self, x) -> argpart_t + | find(self, x) -> argpart_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=argpart_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< argpart_t >::iterator' + | insert(self, it, x) -> argpart_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'argpart_t &' + | push_back(self, x) + | push_back(self) -> argpart_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from argpartvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from argpartvec_t: + | + | __hash__ = None + +Help on function score_tinfo in module ida_typeinf: + +score_tinfo(*args) -> 'uint32' + score_tinfo(tif) -> uint32 + +Help on function serialize_tinfo in module ida_typeinf: + +serialize_tinfo(*args) -> 'bool' + serialize_tinfo(type, fields, fldcmts, tif, sudt_flags) -> bool + +Help on function set_abi_name in module ida_typeinf: + +set_abi_name(*args) -> 'bool' + set_abi_name(abiname, user_level=False) -> bool + + + Set abi name (see 'Compiler IDs' ) + + + @param abiname (C++: const char *) + @param user_level (C++: bool) + +Help on function set_c_header_path in module ida_typeinf: + +set_c_header_path(*args) -> 'void' + set_c_header_path(incdir) + + + Set include directory path the target compiler. + + + @param incdir (C++: const char *) + +Help on function set_c_macros in module ida_typeinf: + +set_c_macros(*args) -> 'void' + set_c_macros(macros) + + + Set predefined macros for the target compiler. + + + @param macros (C++: const char *) + +Help on function set_compiler in module ida_typeinf: + +set_compiler(*args) -> 'bool' + set_compiler(cc, flags, abiname=None) -> bool + + + Change current compiler. + + @param cc: compiler to switch to (C++: const compiler_info_t &) + @param flags: Set compiler flags (C++: int) + @param abiname: ABI name (C++: const char *) + @return: success + +Help on function set_compiler_id in module ida_typeinf: + +set_compiler_id(*args) -> 'bool' + set_compiler_id(id, abiname=None) -> bool + + + Set the compiler id (see 'Compiler IDs' ) + + + @param id (C++: comp_t) + @param abiname (C++: const char *) + +Help on function set_compiler_string in module ida_typeinf: + +set_compiler_string(*args) -> 'bool' + set_compiler_string(compstr, user_level) -> bool + +Help on function set_numbered_type in module ida_typeinf: + +set_numbered_type(*args) -> 'tinfo_code_t' + set_numbered_type(ti, ordinal, ntf_flags, name, type, fields=None, cmt=None, fldcmts=None, sclass=None) -> tinfo_code_t + + + Store a type in the til. 'name' may be NULL for anonymous types. The + specified ordinal must be free (no other type is using it). For + ntf_flags, only 'NTF_REPLACE' is consulted. + + @param ti (C++: til_t *) + @param ordinal (C++: uint32) + @param ntf_flags (C++: int) + @param name (C++: const char *) + @param type (C++: const type_t *) + @param fields (C++: const p_list *) + @param cmt (C++: const char *) + @param fldcmts (C++: const p_list *) + @param sclass (C++: const sclass_t *) + +Help on function set_tinfo_attr in module ida_typeinf: + +set_tinfo_attr(*args) -> 'bool' + set_tinfo_attr(tif, ta, may_overwrite) -> bool + +Help on function set_tinfo_attrs in module ida_typeinf: + +set_tinfo_attrs(*args) -> 'bool' + set_tinfo_attrs(tif, ta) -> bool + +Help on function set_tinfo_property in module ida_typeinf: + +set_tinfo_property(*args) -> 'size_t' + set_tinfo_property(tif, sta_prop, x) -> size_t + +Help on function set_type_alias in module ida_typeinf: + +set_type_alias(*args) -> 'bool' + 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 + reference to srctype by dsttype. + + @param ti (C++: til_t *) + @param src_ordinal (C++: uint32) + @param dst_ordinal (C++: uint32) + +Help on class simd_info_t in module ida_typeinf: + +class simd_info_t(builtins.object) + | Proxy of C++ simd_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, nm=None, sz=0, memt=BTF_UNK) -> simd_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_simd_info_t(...) + | delete_simd_info_t(self) + | + | match_pattern(self, *args) -> 'bool' + | match_pattern(self, pattern) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | memtype + | simd_info_t_memtype_get(self) -> type_t + | + | name + | simd_info_t_name_get(self) -> char const * + | + | size + | simd_info_t_size_get(self) -> uint16 + | + | thisown + | The membership flag + | + | tif + | simd_info_t_tif_get(self) -> tinfo_t + +Help on function store_til in module ida_typeinf: + +store_til(*args) -> 'bool' + 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: type library to store (C++: til_t *) + @param tildir: directory where to store the til. NULL means current + directory. (C++: const char *) + @param name: filename of the til. If it's an absolute path, tildir is + ignored. NB: the file extension is forced to .til (C++: + const char *) + @return: success + +Help on class text_sink_t in module ida_typeinf: + +class text_sink_t(builtins.object) + | Proxy of C++ text_sink_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> text_sink_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_text_sink_t(...) + | delete_text_sink_t(self) + | + | _print(self, *args) -> 'int' + | _print(self, str) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class til_symbol_t in module ida_typeinf: + +class til_symbol_t(builtins.object) + | Proxy of C++ til_symbol_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=None, t=None) -> til_symbol_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_til_symbol_t(...) + | delete_til_symbol_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | til_symbol_t_name_get(self) -> char const * + | + | thisown + | The membership flag + | + | til + | til_symbol_t_til_get(self) -> til_t + +Help on class til_t in module ida_typeinf: + +class til_t(builtins.object) + | Proxy of C++ til_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> til_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_til_t(...) + | delete_til_t(self) + | + | base(self, *args) -> 'til_t *' + | base(self, n) -> til_t + | + | is_dirty(self, *args) -> 'bool' + | is_dirty(self) -> bool + | + | set_dirty(self, *args) -> 'void' + | set_dirty(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cc + | til_t_cc_get(self) -> compiler_info_t + | + | desc + | til_t_desc_get(self) -> char * + | + | flags + | til_t_flags_get(self) -> uint32 + | + | name + | til_t_name_get(self) -> char * + | + | nbases + | til_t_nbases_get(self) -> int + | + | nrefs + | til_t_nrefs_get(self) -> int + | + | nstreams + | til_t_nstreams_get(self) -> int + | + | streams + | til_t_streams_get(self) -> til_stream_t ** + | + | thisown + | The membership flag + +Help on class tinfo_t in module ida_typeinf: + +class tinfo_t(builtins.object) + | Proxy of C++ tinfo_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> tinfo_t + | __init__(self, decl_type) -> tinfo_t + | __init__(self, r) -> tinfo_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) -> 'qstring' + | __str__(self) -> qstring + | + | __swig_destroy__ = delete_tinfo_t(...) + | delete_tinfo_t(self) + | + | _print(self, *args) -> 'bool' + | _print(self, name=None, prtype_flags=0, indent=0, cmtindent=0, prefix=None, cmt=None) -> bool + | + | append_covered(self, *args) -> 'bool' + | append_covered(self, out, offset=0) -> bool + | + | calc_gaps(self, *args) -> 'bool' + | calc_gaps(self, out) -> bool + | + | calc_purged_bytes(self, *args) -> 'int' + | calc_purged_bytes(self) -> int + | + | calc_score(self, *args) -> 'uint32' + | calc_score(self) -> uint32 + | + | calc_udt_aligns(self, *args) -> 'bool' + | calc_udt_aligns(self, sudt_flags=0x0004) -> bool + | + | change_sign(self, *args) -> 'bool' + | change_sign(self, sign) -> bool + | + | clear(self, *args) -> 'void' + | clear(self) + | + | clr_const(self, *args) -> 'void' + | clr_const(self) + | + | clr_const_volatile(self, *args) -> 'void' + | clr_const_volatile(self) + | + | clr_volatile(self, *args) -> 'void' + | clr_volatile(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | compare_with(self, *args) -> 'bool' + | compare_with(self, r, tcflags=0) -> bool + | + | convert_array_to_ptr(self, *args) -> 'bool' + | convert_array_to_ptr(self) -> bool + | + | copy(self, *args) -> 'tinfo_t' + | copy(self) -> tinfo_t + | + | create_array(self, *args) -> 'bool' + | create_array(self, p, decl_type=BT_ARRAY) -> bool + | create_array(self, tif, nelems=0, base=0, decl_type=BT_ARRAY) -> bool + | + | create_bitfield(self, *args) -> 'bool' + | create_bitfield(self, p, decl_type=BT_BITFIELD) -> bool + | create_bitfield(self, nbytes, width, is_unsigned=False, decl_type=BT_BITFIELD) -> bool + | + | create_enum(self, *args) -> 'bool' + | create_enum(self, p, decl_type=BTF_ENUM) -> bool + | + | create_forward_decl(self, *args) -> 'tinfo_code_t' + | create_forward_decl(self, til, decl_type, name, ntf_flags=0) -> tinfo_code_t + | + | create_func(self, *args) -> 'bool' + | create_func(self, p, decl_type=BT_FUNC) -> bool + | + | create_ptr(self, *args) -> 'bool' + | create_ptr(self, p, decl_type=BT_PTR) -> bool + | create_ptr(self, tif, bps=0, decl_type=BT_PTR) -> bool + | + | create_simple_type(self, *args) -> 'bool' + | create_simple_type(self, decl_type) -> bool + | + | create_typedef(self, *args) -> 'void' + | create_typedef(self, p, decl_type=BTF_TYPEDEF, try_ordinal=True) -> bool + | create_typedef(self, til, name, decl_type=BTF_TYPEDEF, try_ordinal=True) + | create_typedef(self, til, ord, decl_type=BTF_TYPEDEF) + | + | create_udt(self, *args) -> 'bool' + | create_udt(self, p, decl_type) -> bool + | + | del_attr(self, *args) -> 'bool' + | del_attr(self, key, make_copy=True) -> bool + | + | del_attrs(self, *args) -> 'void' + | del_attrs(self) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, til, ptype, pfields=None, pfldcmts=None) -> bool + | deserialize(self, til, type, fields, cmts=None) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | equals_to(self, *args) -> 'bool' + | equals_to(self, r) -> bool + | + | find_udt_member(self, *args) -> 'int' + | find_udt_member(self, udm, strmem_flags) -> int + | + | get_array_details(self, *args) -> 'bool' + | get_array_details(self, ai) -> bool + | + | get_array_element(self, *args) -> 'tinfo_t' + | get_array_element(self) -> tinfo_t + | + | get_array_nelems(self, *args) -> 'int' + | get_array_nelems(self) -> int + | + | get_attr(self, *args) -> 'PyObject *' + | get_attr(self, key, all_attrs=True) -> PyObject * + | + | get_attrs(self, *args) -> 'bool' + | get_attrs(self, tav, all_attrs=False) -> bool + | + | get_bitfield_details(self, *args) -> 'bool' + | get_bitfield_details(self, bi) -> bool + | + | get_declalign(self, *args) -> 'uchar' + | get_declalign(self) -> uchar + | + | get_decltype(self, *args) -> 'type_t' + | get_decltype(self) -> type_t + | + | get_enum_base_type(self, *args) -> 'type_t' + | get_enum_base_type(self) -> type_t + | + | get_enum_details(self, *args) -> 'bool' + | get_enum_details(self, ei) -> bool + | + | get_final_ordinal(self, *args) -> 'uint32' + | get_final_ordinal(self) -> uint32 + | + | get_final_type_name(self, *args) -> 'bool' + | get_final_type_name(self) -> bool + | + | get_func_details(self, *args) -> 'bool' + | get_func_details(self, fi, gtd=GTD_CALC_ARGLOCS) -> bool + | + | get_modifiers(self, *args) -> 'type_t' + | get_modifiers(self) -> type_t + | + | get_named_type(self, *args) -> 'bool' + | get_named_type(self, til, name, decl_type=BTF_TYPEDEF, resolve=True, try_ordinal=True) -> bool + | + | get_nargs(self, *args) -> 'int' + | get_nargs(self) -> int + | + | get_next_type_name(self, *args) -> 'bool' + | get_next_type_name(self) -> bool + | + | get_nth_arg(self, *args) -> 'tinfo_t' + | get_nth_arg(self, n) -> tinfo_t + | + | get_numbered_type(self, *args) -> 'bool' + | get_numbered_type(self, til, ordinal, decl_type=BTF_TYPEDEF, resolve=True) -> bool + | + | get_onemember_type(self, *args) -> 'tinfo_t' + | get_onemember_type(self) -> tinfo_t + | + | get_ordinal(self, *args) -> 'uint32' + | get_ordinal(self) -> uint32 + | + | get_pointed_object(self, *args) -> 'tinfo_t' + | get_pointed_object(self) -> tinfo_t + | + | get_ptr_details(self, *args) -> 'bool' + | get_ptr_details(self, pi) -> bool + | + | get_ptrarr_object(self, *args) -> 'tinfo_t' + | get_ptrarr_object(self) -> tinfo_t + | + | get_ptrarr_objsize(self, *args) -> 'int' + | get_ptrarr_objsize(self) -> int + | + | get_realtype(self, *args) -> 'type_t' + | get_realtype(self, full=False) -> type_t + | + | get_rettype(self, *args) -> 'tinfo_t' + | get_rettype(self) -> tinfo_t + | + | get_sign(self, *args) -> 'type_sign_t' + | get_sign(self) -> type_sign_t + | + | get_size(self, *args) -> 'size_t' + | get_size(self, p_effalign=None, gts_code=0) -> size_t + | + | get_til(self, *args) -> 'til_t const *' + | get_til(self) -> til_t + | + | get_type_name(self, *args) -> 'bool' + | get_type_name(self) -> bool + | + | get_udt_details(self, *args) -> 'bool' + | get_udt_details(self, udt, gtd=GTD_CALC_LAYOUT) -> bool + | + | get_udt_nmembers(self, *args) -> 'int' + | get_udt_nmembers(self) -> int + | + | get_unpadded_size(self, *args) -> 'size_t' + | get_unpadded_size(self) -> size_t + | + | has_details(self, *args) -> 'bool' + | has_details(self) -> bool + | + | has_vftable(self, *args) -> 'bool' + | has_vftable(self) -> bool + | + | is_anonymous_udt(self, *args) -> 'bool' + | is_anonymous_udt(self) -> bool + | + | is_arithmetic(self, *args) -> 'bool' + | is_arithmetic(self) -> bool + | + | is_array(self, *args) -> 'bool' + | is_array(self) -> bool + | + | is_bitfield(self, *args) -> 'bool' + | is_bitfield(self) -> bool + | + | is_bool(self, *args) -> 'bool' + | is_bool(self) -> bool + | + | is_castable_to(self, *args) -> 'bool' + | is_castable_to(self, target) -> bool + | + | is_char(self, *args) -> 'bool' + | is_char(self) -> bool + | + | is_complex(self, *args) -> 'bool' + | is_complex(self) -> bool + | + | is_const(self, *args) -> 'bool' + | is_const(self) -> bool + | + | is_correct(self, *args) -> 'bool' + | is_correct(self) -> bool + | + | is_decl_array(self, *args) -> 'bool' + | is_decl_array(self) -> bool + | + | is_decl_bitfield(self, *args) -> 'bool' + | is_decl_bitfield(self) -> bool + | + | is_decl_bool(self, *args) -> 'bool' + | is_decl_bool(self) -> bool + | + | is_decl_char(self, *args) -> 'bool' + | is_decl_char(self) -> bool + | + | is_decl_complex(self, *args) -> 'bool' + | is_decl_complex(self) -> bool + | + | is_decl_const(self, *args) -> 'bool' + | is_decl_const(self) -> bool + | + | is_decl_double(self, *args) -> 'bool' + | is_decl_double(self) -> bool + | + | is_decl_enum(self, *args) -> 'bool' + | is_decl_enum(self) -> bool + | + | is_decl_float(self, *args) -> 'bool' + | is_decl_float(self) -> bool + | + | is_decl_floating(self, *args) -> 'bool' + | is_decl_floating(self) -> bool + | + | is_decl_func(self, *args) -> 'bool' + | is_decl_func(self) -> bool + | + | is_decl_int(self, *args) -> 'bool' + | is_decl_int(self) -> bool + | + | is_decl_int128(self, *args) -> 'bool' + | is_decl_int128(self) -> bool + | + | is_decl_int16(self, *args) -> 'bool' + | is_decl_int16(self) -> bool + | + | is_decl_int32(self, *args) -> 'bool' + | is_decl_int32(self) -> bool + | + | is_decl_int64(self, *args) -> 'bool' + | is_decl_int64(self) -> bool + | + | is_decl_last(self, *args) -> 'bool' + | is_decl_last(self) -> bool + | + | is_decl_ldouble(self, *args) -> 'bool' + | is_decl_ldouble(self) -> bool + | + | is_decl_paf(self, *args) -> 'bool' + | is_decl_paf(self) -> bool + | + | is_decl_partial(self, *args) -> 'bool' + | is_decl_partial(self) -> bool + | + | is_decl_ptr(self, *args) -> 'bool' + | is_decl_ptr(self) -> bool + | + | is_decl_struct(self, *args) -> 'bool' + | is_decl_struct(self) -> bool + | + | is_decl_sue(self, *args) -> 'bool' + | is_decl_sue(self) -> bool + | + | is_decl_tbyte(self, *args) -> 'bool' + | is_decl_tbyte(self) -> bool + | + | is_decl_typedef(self, *args) -> 'bool' + | is_decl_typedef(self) -> bool + | + | is_decl_uchar(self, *args) -> 'bool' + | is_decl_uchar(self) -> bool + | + | is_decl_udt(self, *args) -> 'bool' + | is_decl_udt(self) -> bool + | + | is_decl_uint(self, *args) -> 'bool' + | is_decl_uint(self) -> bool + | + | is_decl_uint128(self, *args) -> 'bool' + | is_decl_uint128(self) -> bool + | + | is_decl_uint16(self, *args) -> 'bool' + | is_decl_uint16(self) -> bool + | + | is_decl_uint32(self, *args) -> 'bool' + | is_decl_uint32(self) -> bool + | + | is_decl_uint64(self, *args) -> 'bool' + | is_decl_uint64(self) -> bool + | + | is_decl_union(self, *args) -> 'bool' + | is_decl_union(self) -> bool + | + | is_decl_unknown(self, *args) -> 'bool' + | is_decl_unknown(self) -> bool + | + | is_decl_void(self, *args) -> 'bool' + | is_decl_void(self) -> bool + | + | is_decl_volatile(self, *args) -> 'bool' + | is_decl_volatile(self) -> bool + | + | is_double(self, *args) -> 'bool' + | is_double(self) -> bool + | + | is_empty_udt(self, *args) -> 'bool' + | is_empty_udt(self) -> bool + | + | is_enum(self, *args) -> 'bool' + | is_enum(self) -> bool + | + | is_ext_arithmetic(self, *args) -> 'bool' + | is_ext_arithmetic(self) -> bool + | + | is_ext_integral(self, *args) -> 'bool' + | is_ext_integral(self) -> bool + | + | is_float(self, *args) -> 'bool' + | is_float(self) -> bool + | + | is_floating(self, *args) -> 'bool' + | is_floating(self) -> bool + | + | is_forward_decl(self, *args) -> 'bool' + | is_forward_decl(self) -> bool + | + | is_from_subtil(self, *args) -> 'bool' + | is_from_subtil(self) -> bool + | + | is_func(self, *args) -> 'bool' + | is_func(self) -> bool + | + | is_funcptr(self, *args) -> 'bool' + | is_funcptr(self) -> bool + | + | is_high_func(self, *args) -> 'bool' + | is_high_func(self) -> bool + | + | is_int(self, *args) -> 'bool' + | is_int(self) -> bool + | + | is_int128(self, *args) -> 'bool' + | is_int128(self) -> bool + | + | is_int16(self, *args) -> 'bool' + | is_int16(self) -> bool + | + | is_int32(self, *args) -> 'bool' + | is_int32(self) -> bool + | + | is_int64(self, *args) -> 'bool' + | is_int64(self) -> bool + | + | is_integral(self, *args) -> 'bool' + | is_integral(self) -> bool + | + | is_ldouble(self, *args) -> 'bool' + | is_ldouble(self) -> bool + | + | is_manually_castable_to(self, *args) -> 'bool' + | is_manually_castable_to(self, target) -> bool + | + | is_one_fpval(self, *args) -> 'bool' + | is_one_fpval(self) -> bool + | + | is_paf(self, *args) -> 'bool' + | is_paf(self) -> bool + | + | is_partial(self, *args) -> 'bool' + | is_partial(self) -> bool + | + | is_ptr(self, *args) -> 'bool' + | is_ptr(self) -> bool + | + | is_ptr_or_array(self, *args) -> 'bool' + | is_ptr_or_array(self) -> bool + | + | is_purging_cc(self, *args) -> 'bool' + | is_purging_cc(self) -> bool + | + | is_pvoid(self, *args) -> 'bool' + | is_pvoid(self) -> bool + | + | is_scalar(self, *args) -> 'bool' + | is_scalar(self) -> bool + | + | is_shifted_ptr(self, *args) -> 'bool' + | is_shifted_ptr(self) -> bool + | + | is_signed(self, *args) -> 'bool' + | is_signed(self) -> bool + | + | is_small_udt(self, *args) -> 'bool' + | is_small_udt(self) -> bool + | + | is_sse_type(self, *args) -> 'bool' + | is_sse_type(self) -> bool + | + | is_struct(self, *args) -> 'bool' + | is_struct(self) -> bool + | + | is_sue(self, *args) -> 'bool' + | is_sue(self) -> bool + | + | is_tbyte(self, *args) -> 'bool' + | is_tbyte(self) -> bool + | + | is_typeref(self, *args) -> 'bool' + | is_typeref(self) -> bool + | + | is_uchar(self, *args) -> 'bool' + | is_uchar(self) -> bool + | + | is_udt(self, *args) -> 'bool' + | is_udt(self) -> bool + | + | is_uint(self, *args) -> 'bool' + | is_uint(self) -> bool + | + | is_uint128(self, *args) -> 'bool' + | is_uint128(self) -> bool + | + | is_uint16(self, *args) -> 'bool' + | is_uint16(self) -> bool + | + | is_uint32(self, *args) -> 'bool' + | is_uint32(self) -> bool + | + | is_uint64(self, *args) -> 'bool' + | is_uint64(self) -> bool + | + | is_union(self, *args) -> 'bool' + | is_union(self) -> bool + | + | is_unknown(self, *args) -> 'bool' + | is_unknown(self) -> bool + | + | is_unsigned(self, *args) -> 'bool' + | is_unsigned(self) -> bool + | + | is_user_cc(self, *args) -> 'bool' + | is_user_cc(self) -> bool + | + | is_vararg_cc(self, *args) -> 'bool' + | is_vararg_cc(self) -> bool + | + | is_varstruct(self, *args) -> 'bool' + | is_varstruct(self) -> bool + | + | is_vftable(self, *args) -> 'bool' + | is_vftable(self) -> bool + | + | is_void(self, *args) -> 'bool' + | is_void(self) -> bool + | + | is_volatile(self, *args) -> 'bool' + | is_volatile(self) -> bool + | + | is_well_defined(self, *args) -> 'bool' + | is_well_defined(self) -> bool + | + | present(self, *args) -> 'bool' + | present(self) -> bool + | + | read_bitfield_value(self, *args) -> 'uint64' + | read_bitfield_value(self, v, bitoff) -> uint64 + | + | remove_ptr_or_array(self, *args) -> 'bool' + | remove_ptr_or_array(self) -> bool + | + | requires_qualifier(self, *args) -> 'bool' + | requires_qualifier(self, name, offset) -> bool + | + | serialize(self, *args) -> 'PyObject *' + | serialize(self, sudt_flags=SUDT_FAST|SUDT_TRUNC) -> PyObject * + | + | set_attr(self, *args) -> 'bool' + | set_attr(self, ta, may_overwrite=True) -> bool + | + | set_attrs(self, *args) -> 'bool' + | set_attrs(self, tav) -> bool + | + | set_const(self, *args) -> 'void' + | set_const(self) + | + | set_declalign(self, *args) -> 'bool' + | set_declalign(self, declalign) -> bool + | + | set_modifiers(self, *args) -> 'void' + | set_modifiers(self, mod) + | + | set_named_type(self, *args) -> 'tinfo_code_t' + | set_named_type(self, til, name, ntf_flags=0) -> tinfo_code_t + | + | set_numbered_type(self, *args) -> 'tinfo_code_t' + | set_numbered_type(self, til, ord, ntf_flags=0, name=None) -> tinfo_code_t + | + | set_symbol_type(self, *args) -> 'tinfo_code_t' + | set_symbol_type(self, til, name, ntf_flags=0) -> tinfo_code_t + | + | set_volatile(self, *args) -> 'void' + | set_volatile(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | write_bitfield_value(self, *args) -> 'uint64' + | write_bitfield_value(self, dst, v, bitoff) -> uint64 + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | get_stock(*args) -> 'tinfo_t' + | get_stock(id) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function tinfo_t_get_stock in module ida_typeinf: + +tinfo_t_get_stock(*args) -> 'tinfo_t' + tinfo_t_get_stock(id) -> tinfo_t + +Help on class tinfo_visitor_t in module ida_typeinf: + +class tinfo_visitor_t(builtins.object) + | Proxy of C++ tinfo_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, s=0) -> tinfo_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_tinfo_visitor_t(...) + | delete_tinfo_visitor_t(self) + | + | apply_to(self, *args) -> 'int' + | apply_to(self, tif, out=None, name=None, cmt=None) -> int + | + | prune_now(self, *args) -> 'void' + | prune_now(self) + | + | visit_type(self, *args) -> 'int' + | visit_type(self, out, tif, name, cmt) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | state + | tinfo_visitor_t_state_get(self) -> int + | + | thisown + | The membership flag + +Help on class type_attr_t in module ida_typeinf: + +class type_attr_t(builtins.object) + | Proxy of C++ type_attr_t class. + | + | Methods defined here: + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> type_attr_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_type_attr_t(...) + | delete_type_attr_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | key + | type_attr_t_key_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | type_attr_t_value_get(self) -> bytevec_t * + +Help on class type_attrs_t in module ida_typeinf: + +class type_attrs_t(builtins.object) + | Proxy of C++ qvector< type_attr_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'type_attr_t const &' + | __getitem__(self, i) -> type_attr_t + | + | __init__(self, *args) + | __init__(self) -> type_attrs_t + | __init__(self, x) -> type_attrs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_type_attrs_t(...) + | delete_type_attrs_t(self) + | + | at(self, *args) -> 'type_attr_t const &' + | at(self, _idx) -> type_attr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< type_attr_t >::const_iterator' + | begin(self) -> type_attr_t + | begin(self) -> type_attr_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< type_attr_t >::const_iterator' + | end(self) -> type_attr_t + | end(self) -> type_attr_t + | + | erase(self, *args) -> 'qvector< type_attr_t >::iterator' + | erase(self, it) -> type_attr_t + | erase(self, first, last) -> type_attr_t + | + | extract(self, *args) -> 'type_attr_t *' + | extract(self) -> type_attr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=type_attr_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< type_attr_t >::iterator' + | insert(self, it, x) -> type_attr_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'type_attr_t &' + | push_back(self, x) + | push_back(self) -> type_attr_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class type_mods_t in module ida_typeinf: + +class type_mods_t(builtins.object) + | Proxy of C++ type_mods_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> type_mods_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_type_mods_t(...) + | delete_type_mods_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | has_cmt(self, *args) -> 'bool' + | has_cmt(self) -> bool + | + | has_info(self, *args) -> 'bool' + | has_info(self) -> bool + | + | has_name(self, *args) -> 'bool' + | has_name(self) -> bool + | + | has_type(self, *args) -> 'bool' + | has_type(self) -> bool + | + | set_new_cmt(self, *args) -> 'void' + | set_new_cmt(self, c) + | + | set_new_name(self, *args) -> 'void' + | set_new_name(self, n) + | + | set_new_type(self, *args) -> 'void' + | set_new_type(self, t) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | type_mods_t_cmt_get(self) -> qstring * + | + | flags + | type_mods_t_flags_get(self) -> int + | + | name + | type_mods_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | type_mods_t_type_get(self) -> tinfo_t + +Help on class typedef_type_data_t in module ida_typeinf: + +class typedef_type_data_t(builtins.object) + | Proxy of C++ typedef_type_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _til, _name, _resolve=False) -> typedef_type_data_t + | __init__(self, _til, ord, _resolve=False) -> typedef_type_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_typedef_type_data_t(...) + | delete_typedef_type_data_t(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | is_ordref + | typedef_type_data_t_is_ordref_get(self) -> bool + | + | resolve + | typedef_type_data_t_resolve_get(self) -> bool + | + | thisown + | The membership flag + | + | til + | typedef_type_data_t_til_get(self) -> til_t + +Help on class udt_member_t in module ida_typeinf: + +class udt_member_t(builtins.object) + | Proxy of C++ udt_member_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> udt_member_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_udt_member_t(...) + | delete_udt_member_t(self) + | + | begin(self, *args) -> 'uint64' + | begin(self) -> uint64 + | + | clr_baseclass(self, *args) -> 'void' + | clr_baseclass(self) + | + | clr_unaligned(self, *args) -> 'void' + | clr_unaligned(self) + | + | clr_vftable(self, *args) -> 'void' + | clr_vftable(self) + | + | clr_virtbase(self, *args) -> 'void' + | clr_virtbase(self) + | + | end(self, *args) -> 'uint64' + | end(self) -> uint64 + | + | is_anonymous_udm(self, *args) -> 'bool' + | is_anonymous_udm(self) -> bool + | + | is_baseclass(self, *args) -> 'bool' + | is_baseclass(self) -> bool + | + | is_bitfield(self, *args) -> 'bool' + | is_bitfield(self) -> bool + | + | is_unaligned(self, *args) -> 'bool' + | is_unaligned(self) -> bool + | + | is_vftable(self, *args) -> 'bool' + | is_vftable(self) -> bool + | + | is_virtbase(self, *args) -> 'bool' + | is_virtbase(self) -> bool + | + | is_zero_bitfield(self, *args) -> 'bool' + | is_zero_bitfield(self) -> bool + | + | set_baseclass(self, *args) -> 'void' + | set_baseclass(self) + | + | set_unaligned(self, *args) -> 'void' + | set_unaligned(self) + | + | set_vftable(self, *args) -> 'void' + | set_vftable(self) + | + | set_virtbase(self, *args) -> 'void' + | set_virtbase(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | udt_member_t_cmt_get(self) -> qstring * + | + | effalign + | udt_member_t_effalign_get(self) -> int + | + | fda + | udt_member_t_fda_get(self) -> uchar + | + | name + | udt_member_t_name_get(self) -> qstring * + | + | offset + | udt_member_t_offset_get(self) -> uint64 + | + | size + | udt_member_t_size_get(self) -> uint64 + | + | tafld_bits + | udt_member_t_tafld_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | type + | udt_member_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class udt_type_data_t in module ida_typeinf: + +class udt_type_data_t(udtmembervec_t) + | Proxy of C++ udt_type_data_t class. + | + | Method resolution order: + | udt_type_data_t + | udtmembervec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> udt_type_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_udt_type_data_t(...) + | delete_udt_type_data_t(self) + | + | is_cppobj(self, *args) -> 'bool' + | is_cppobj(self) -> bool + | + | is_last_baseclass(self, *args) -> 'bool' + | is_last_baseclass(self, idx) -> bool + | + | is_msstruct(self, *args) -> 'bool' + | is_msstruct(self) -> bool + | + | is_unaligned(self, *args) -> 'bool' + | is_unaligned(self) -> bool + | + | is_vftable(self, *args) -> 'bool' + | is_vftable(self) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | effalign + | udt_type_data_t_effalign_get(self) -> uint32 + | + | is_union + | udt_type_data_t_is_union_get(self) -> bool + | + | pack + | udt_type_data_t_pack_get(self) -> uchar + | + | sda + | udt_type_data_t_sda_get(self) -> uchar + | + | taudt_bits + | udt_type_data_t_taudt_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | total_size + | udt_type_data_t_total_size_get(self) -> size_t + | + | unpadded_size + | udt_type_data_t_unpadded_size_get(self) -> size_t + | + | ---------------------------------------------------------------------- + | Methods inherited from udtmembervec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'udt_member_t const &' + | __getitem__(self, i) -> udt_member_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'udt_member_t const &' + | at(self, _idx) -> udt_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | begin(self) -> udt_member_t + | begin(self) -> udt_member_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | end(self) -> udt_member_t + | end(self) -> udt_member_t + | + | erase(self, *args) -> 'qvector< udt_member_t >::iterator' + | erase(self, it) -> udt_member_t + | erase(self, first, last) -> udt_member_t + | + | extract(self, *args) -> 'udt_member_t *' + | extract(self) -> udt_member_t + | + | find(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | find(self, x) -> udt_member_t + | find(self, x) -> udt_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=udt_member_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< udt_member_t >::iterator' + | insert(self, it, x) -> udt_member_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'udt_member_t &' + | push_back(self, x) + | push_back(self) -> udt_member_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from udtmembervec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from udtmembervec_t: + | + | __hash__ = None + +Help on class udtmembervec_t in module ida_typeinf: + +class udtmembervec_t(builtins.object) + | Proxy of C++ qvector< udt_member_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'udt_member_t const &' + | __getitem__(self, i) -> udt_member_t + | + | __init__(self, *args) + | __init__(self) -> udtmembervec_t + | __init__(self, x) -> udtmembervec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_udtmembervec_t(...) + | delete_udtmembervec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'udt_member_t const &' + | at(self, _idx) -> udt_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | begin(self) -> udt_member_t + | begin(self) -> udt_member_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | end(self) -> udt_member_t + | end(self) -> udt_member_t + | + | erase(self, *args) -> 'qvector< udt_member_t >::iterator' + | erase(self, it) -> udt_member_t + | erase(self, first, last) -> udt_member_t + | + | extract(self, *args) -> 'udt_member_t *' + | extract(self) -> udt_member_t + | + | find(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | find(self, x) -> udt_member_t + | find(self, x) -> udt_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=udt_member_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< udt_member_t >::iterator' + | insert(self, it, x) -> udt_member_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'udt_member_t &' + | push_back(self, x) + | push_back(self) -> udt_member_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function unpack_idcobj_from_bv in module ida_typeinf: + +unpack_idcobj_from_bv(*args) -> 'error_t' + 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 &) + @param bytes (C++: const bytevec_t &) + @param pio_flags (C++: int) + +Help on function unpack_idcobj_from_idb in module ida_typeinf: + +unpack_idcobj_from_idb(*args) -> 'error_t' + 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 &) + @param ea (C++: ea_t) + @param off0 (C++: const bytevec_t *) + @param pio_flags (C++: int) + +Help on function unpack_object_from_bv in module ida_typeinf: + +unpack_object_from_bv(*args) -> 'PyObject *' + 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 tp: type string + @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 + +Help on function unpack_object_from_idb in module ida_typeinf: + +unpack_object_from_idb(*args) -> 'PyObject *' + unpack_object_from_idb(ti, _type, _fields, ea, pio_flags=0) -> PyObject * + +Help on class valstr_t in module ida_typeinf: + +class valstr_t(builtins.object) + | Proxy of C++ valstr_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> valstr_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_valstr_t(...) + | delete_valstr_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | info + | valstr_t_info_get(self) -> valinfo_t * + | + | length + | valstr_t_length_get(self) -> size_t + | + | members + | valstr_t_members_get(self) -> valstrs_t + | + | oneline + | valstr_t_oneline_get(self) -> qstring * + | + | props + | valstr_t_props_get(self) -> int + | + | thisown + | The membership flag + +Help on class valstrs_t in module ida_typeinf: + +class valstrs_t(valstrvec_t) + | Proxy of C++ valstrs_t class. + | + | Method resolution order: + | valstrs_t + | valstrvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> valstrs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_valstrs_t(...) + | delete_valstrs_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from valstrvec_t: + | + | __getitem__(self, *args) -> 'valstr_t const &' + | __getitem__(self, i) -> valstr_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | at(self, *args) -> 'valstr_t const &' + | at(self, _idx) -> valstr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< valstr_t >::const_iterator' + | begin(self) -> valstr_t + | begin(self) -> valstr_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< valstr_t >::const_iterator' + | end(self) -> valstr_t + | end(self) -> valstr_t + | + | erase(self, *args) -> 'qvector< valstr_t >::iterator' + | erase(self, it) -> valstr_t + | erase(self, first, last) -> valstr_t + | + | extract(self, *args) -> 'valstr_t *' + | extract(self) -> valstr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=valstr_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< valstr_t >::iterator' + | insert(self, it, x) -> valstr_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'valstr_t &' + | push_back(self, x) + | push_back(self) -> valstr_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from valstrvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class valstrvec_t in module ida_typeinf: + +class valstrvec_t(builtins.object) + | Proxy of C++ qvector< valstr_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'valstr_t const &' + | __getitem__(self, i) -> valstr_t + | + | __init__(self, *args) + | __init__(self) -> valstrvec_t + | __init__(self, x) -> valstrvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_valstrvec_t(...) + | delete_valstrvec_t(self) + | + | at(self, *args) -> 'valstr_t const &' + | at(self, _idx) -> valstr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< valstr_t >::const_iterator' + | begin(self) -> valstr_t + | begin(self) -> valstr_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< valstr_t >::const_iterator' + | end(self) -> valstr_t + | end(self) -> valstr_t + | + | erase(self, *args) -> 'qvector< valstr_t >::iterator' + | erase(self, it) -> valstr_t + | erase(self, first, last) -> valstr_t + | + | extract(self, *args) -> 'valstr_t *' + | extract(self) -> valstr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=valstr_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< valstr_t >::iterator' + | insert(self, it, x) -> valstr_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'valstr_t &' + | push_back(self, x) + | push_back(self) -> valstr_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function verify_argloc in module ida_typeinf: + +verify_argloc(*args) -> 'int' + verify_argloc(vloc, size, gaps) -> int + + + Verify 'argloc_t' . + + @param vloc (C++: const argloc_t &) + @param size: total size of the variable (C++: int) + @param gaps: if not NULL, specifies gaps in structure definition. + these gaps should not map to any argloc, but everything + else must be covered (C++: const rangeset_t *) + @return: 0 if ok, otherwise an interr code. + +Help on function verify_tinfo in module ida_typeinf: + +verify_tinfo(*args) -> 'int' + verify_tinfo(typid) -> int + +Help on function visit_subtypes in module ida_typeinf: + +visit_subtypes(*args) -> 'int' + visit_subtypes(visitor, out, tif, name, cmt) -> int + +Help on function write_tinfo_bitfield_value in module ida_typeinf: + +write_tinfo_bitfield_value(*args) -> 'uint64' + write_tinfo_bitfield_value(typid, dst, v, bitoff) -> uint64 + +=== ida_typeinf EPYDOC INJECTIONS === +ida_typeinf.ADDTIL_ABORTED +""" +til was not loaded (incompatible til rejected by user) +""" + +ida_typeinf.ADDTIL_COMP +""" +ok, but til is not compatible with the current compiler +""" + +ida_typeinf.ADDTIL_DEFAULT +""" +default behavior +""" + +ida_typeinf.ADDTIL_FAILED +""" +something bad, the warning is displayed +""" + +ida_typeinf.ADDTIL_INCOMP +""" +load incompatible tils +""" + +ida_typeinf.ADDTIL_OK +""" +ok, til is loaded +""" + +ida_typeinf.ADDTIL_SILENT +""" +do not ask any questions +""" + +ida_typeinf.CC_ALLOW_ARGPERM +""" +disregard argument order? +""" + +ida_typeinf.CC_ALLOW_REGHOLES +""" +allow holes in register argument list? +""" + +ida_typeinf.CC_CDECL_OK +""" +can use __cdecl calling convention? +""" + +ida_typeinf.CC_HAS_ELLIPSIS +""" +function has a variable list of arguments? +""" + +ida_typeinf.FAH_BYTE +""" +function argument attribute header byte +""" + +ida_typeinf.FAI_ARRAY +""" +was initially an array see "__org_typedef" or "__org_arrdim" type +attributes to determine the original type +""" + +ida_typeinf.FAI_HIDDEN +""" +hidden argument +""" + +ida_typeinf.FAI_RETPTR +""" +pointer to return value. implies hidden +""" + +ida_typeinf.FAI_STRUCT +""" +was initially a structure +""" + +ida_typeinf.FTI_ALL +""" +all defined bits +""" + +ida_typeinf.FTI_ARGLOCS +""" +(stkargs and retloc too) + +info about argument locations has been calculated +""" + +ida_typeinf.FTI_CALLTYPE +""" +mask for FTI_*CALL +""" + +ida_typeinf.FTI_DEFCALL +""" +default call +""" + +ida_typeinf.FTI_FARCALL +""" +far call +""" + +ida_typeinf.FTI_HIGH +""" +high level prototype (with possibly hidden args) +""" + +ida_typeinf.FTI_INTCALL +""" +interrupt call +""" + +ida_typeinf.FTI_NEARCALL +""" +near call +""" + +ida_typeinf.FTI_NORET +""" +noreturn +""" + +ida_typeinf.FTI_PURE +""" +__pure +""" + +ida_typeinf.FTI_SPOILED +""" +information about spoiled registers is present +""" + +ida_typeinf.FTI_STATIC +""" +static +""" + +ida_typeinf.FTI_VIRTUAL +""" +virtual +""" + +ida_typeinf.GUESS_FUNC_FAILED +""" +couldn't guess the function type +""" + +ida_typeinf.GUESS_FUNC_OK +""" +ok, some non-trivial information is gathered +""" + +ida_typeinf.GUESS_FUNC_TRIVIAL +""" +the function type doesn't have interesting info +""" + +ida_typeinf.HTI_CPP +""" +C++ mode (not implemented) +""" + +ida_typeinf.HTI_DCL +""" +don't complain about redeclarations +""" + +ida_typeinf.HTI_EXT +""" +debug: print external representation of types +""" + +ida_typeinf.HTI_FIL +""" +otherwise "input" contains a C declaration + +"input" is file name, +""" + +ida_typeinf.HTI_HIGH +""" +(with hidden args, etc) + +assume high level prototypes +""" + +ida_typeinf.HTI_INT +""" +debug: print internal representation of types +""" + +ida_typeinf.HTI_LEX +""" +debug: print tokens +""" + +ida_typeinf.HTI_LOWER +""" +lower the function prototypes +""" + +ida_typeinf.HTI_MAC +""" +define macros from the base tils +""" + +ida_typeinf.HTI_NDC +""" +don't decorate names +""" + +ida_typeinf.HTI_NER +""" +ignore all errors but display them +""" + +ida_typeinf.HTI_NWR +""" +no warning messages +""" + +ida_typeinf.HTI_PAK +""" +explicit structure pack value (#pragma pack) +""" + +ida_typeinf.HTI_PAK1 +""" +#pragma pack(1) +""" + +ida_typeinf.HTI_PAK16 +""" +#pragma pack(16) +""" + +ida_typeinf.HTI_PAK2 +""" +#pragma pack(2) +""" + +ida_typeinf.HTI_PAK4 +""" +#pragma pack(4) +""" + +ida_typeinf.HTI_PAK8 +""" +#pragma pack(8) +""" + +ida_typeinf.HTI_PAKDEF +""" +default pack value +""" + +ida_typeinf.HTI_PAK_SHIFT +""" +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 +""" + +ida_typeinf.HTI_RAWARGS +""" +leave argument names unchanged (do not remove underscores) +""" + +ida_typeinf.HTI_TST +""" +test mode: discard the result +""" + +ida_typeinf.HTI_UNP +""" +debug: check the result by unpacking it +""" + +ida_typeinf.IMPTYPE_LOCAL +""" +the type is local, the struct/enum won't be marked as til type. there +is no need to specify this bit if til==idati, the kernel will set it +automatically +""" + +ida_typeinf.IMPTYPE_OVERRIDE +""" +override existing type +""" + +ida_typeinf.IMPTYPE_VERBOSE +""" +more verbose output (dialog boxes may appear) +""" + +ida_typeinf.MAX_FUNC_ARGS +""" +max number of function arguments +""" + +ida_typeinf.NTF_64BIT +""" +value is 64bit +""" + +ida_typeinf.NTF_CHKSYNC +""" +(set_numbered_type, set_named_type) + +check that synchronization to IDB passed OK +""" + +ida_typeinf.NTF_FIXNAME +""" +(set_named_type, set_numbered_type only) + +force-validate the name of the type when setting +""" + +ida_typeinf.NTF_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly (set_named_type, set_numbered_type only) +""" + +ida_typeinf.NTF_NOBASE +""" +don't inspect base tils (for get_named_type) +""" + +ida_typeinf.NTF_NOCUR +""" +don't inspect current til file (for get_named_type) +""" + +ida_typeinf.NTF_REPLACE +""" +replace original type (for set_named_type) +""" + +ida_typeinf.NTF_SYMM +""" +only one of 'NTF_TYPE' and 'NTF_SYMU' , 'NTF_SYMM' can be used + +symbol, name is mangled ('_func') +""" + +ida_typeinf.NTF_SYMU +""" +symbol, name is unmangled ('func') +""" + +ida_typeinf.NTF_TYPE +""" +type name +""" + +ida_typeinf.NTF_UMANGLED +""" +name is unmangled (don't use this flag) +""" + +ida_typeinf.PCN_CHR +""" +character +""" + +ida_typeinf.PCN_DEC +""" +decimal +""" + +ida_typeinf.PCN_DECSEXT +""" +automatically extend sign of signed decimal numbers +""" + +ida_typeinf.PCN_HEX +""" +hexadecimal +""" + +ida_typeinf.PCN_LZHEX +""" +print leading zeroes for hexdecimal number +""" + +ida_typeinf.PCN_NEGSIGN +""" +print negated value (-N) for negative numbers +""" + +ida_typeinf.PCN_OCT +""" +octal +""" + +ida_typeinf.PCN_RADIX +""" +number base to use +""" + +ida_typeinf.PCN_UNSIGNED +""" +add 'u' suffix +""" + +ida_typeinf.PDF_DEF_BASE +""" +Include base types: __int8, __int16, etc.. +""" + +ida_typeinf.PDF_DEF_FWD +""" +Allow forward declarations. +""" + +ida_typeinf.PDF_HEADER_CMT +""" +Prepend output with a descriptive comment. +""" + +ida_typeinf.PDF_INCL_DEPS +""" +Include all type dependencies. +""" + +ida_typeinf.PIO_IGNORE_PTRS +""" +do not follow pointers +""" + +ida_typeinf.PIO_NOATTR_FAIL +""" +missing attributes are not ok +""" + +ida_typeinf.PRALOC_STKOFF +""" +print stack offsets +""" + +ida_typeinf.PRALOC_VERIFY +""" +interr if illegal argloc +""" + +ida_typeinf.PRTYPE_1LINE +""" +print to one line +""" + +ida_typeinf.PRTYPE_COLORED +""" +add color tag COLOR_SYMBOL for any parentheses, commas and colons +""" + +ida_typeinf.PRTYPE_CPP +""" +use c++ name (only for 'print_type()' ) +""" + +ida_typeinf.PRTYPE_DEF +""" + 'tinfo_t' : print definition, if available +""" + +ida_typeinf.PRTYPE_MULTI +""" +print to many lines +""" + +ida_typeinf.PRTYPE_NOARGS +""" + 'tinfo_t' : do not print function argument names +""" + +ida_typeinf.PRTYPE_NOARRS +""" + 'tinfo_t' : print arguments with 'FAI_ARRAY' as pointers +""" + +ida_typeinf.PRTYPE_NOREGEX +""" +do not apply regular expressions to beautify name +""" + +ida_typeinf.PRTYPE_NORES +""" + 'tinfo_t' : never resolve types (meaningful with PRTYPE_DEF) +""" + +ida_typeinf.PRTYPE_PRAGMA +""" +print pragmas for alignment +""" + +ida_typeinf.PRTYPE_RESTORE +""" + 'tinfo_t' : print restored types for 'FAI_ARRAY' and 'FAI_STRUCT' +""" + +ida_typeinf.PRTYPE_SEMI +""" +append ; to the end +""" + +ida_typeinf.PRTYPE_TYPE +""" +print type declaration (not variable declaration) +""" + +ida_typeinf.PT_HIGH +""" +(with hidden args, etc) + +assume high level prototypes +""" + +ida_typeinf.PT_LOWER +""" +lower the function prototypes +""" + +ida_typeinf.PT_NDC +""" +don't decorate names +""" + +ida_typeinf.PT_PACKMASK +""" +mask for pack alignment values +""" + +ida_typeinf.PT_RAWARGS +""" +leave argument names unchanged (do not remove underscores) +""" + +ida_typeinf.PT_REPLACE +""" +replace the old type (used in idc) +""" + +ida_typeinf.PT_SIL +""" +silent, no messages +""" + +ida_typeinf.PT_TYP +""" +return declared type information +""" + +ida_typeinf.PT_VAR +""" +return declared object information +""" + +ida_typeinf.RESERVED_BYTE +""" +multifunctional purpose +""" + +ida_typeinf.SETCOMP_BY_USER +""" +invoked by user, cannot be replaced by module/loader +""" + +ida_typeinf.SETCOMP_ONLY_ABI +""" +ignore cc field complete, use only abiname +""" + +ida_typeinf.SETCOMP_ONLY_ID +""" +cc has only 'id' field the rest will be set to defaults corresponding +to the program bitness +""" + +ida_typeinf.SETCOMP_OVERRIDE +""" +may override old compiler info +""" + +ida_typeinf.STRMEM_ANON +""" +can be combined with 'STRMEM_NAME' : look inside anonymous members +too. +""" + +ida_typeinf.STRMEM_AUTO +""" +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)! +""" + +ida_typeinf.STRMEM_CASTABLE_TO +""" +can be combined with 'STRMEM_TYPE' : member type must be castable to +the specified type +""" + +ida_typeinf.STRMEM_INDEX +""" +get member by number- in: udm->offset - is a member number +""" + +ida_typeinf.STRMEM_MAXS +""" +get biggest member by size. +""" + +ida_typeinf.STRMEM_MINS +""" +get smallest member by size. +""" + +ida_typeinf.STRMEM_NAME +""" +get member by name- in: udm->name - the desired member name. +""" + +ida_typeinf.STRMEM_OFFSET +""" +get member by offset- in: udm->offset - is a member offset in bits +""" + +ida_typeinf.STRMEM_SIZE +""" +get member by size.- in: udm->size - the desired member size. +""" + +ida_typeinf.STRMEM_SKIP_EMPTY +""" +can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' skip empty +members (i.e. having zero size) only last empty member can be returned +""" + +ida_typeinf.STRMEM_TYPE +""" +get member by type. - in: udm->type - the desired member type. member +types are compared with tinfo_t::equals_to() +""" + +ida_typeinf.STRMEM_VFTABLE +""" +can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' get vftable +instead of the base class +""" + +ida_typeinf.SUDT_ALIGN +""" +to match the offsets and size info + +recalculate field alignments, struct packing, etc +""" + +ida_typeinf.SUDT_CONST +""" +only for serialize_udt: make type const +""" + +ida_typeinf.SUDT_FAST +""" +serialize without verifying offsets and alignments +""" + +ida_typeinf.SUDT_GAPS +""" +allow to fill gaps with additional members (_BYTE[]) +""" + +ida_typeinf.SUDT_SORT +""" +fields are not sorted by offset, sort them first +""" + +ida_typeinf.SUDT_TRUNC +""" +serialize: truncate useless strings from fields, fldcmts +""" + +ida_typeinf.SUDT_UNEX +""" +references to nonexistent member types are acceptable in this case it +is better to set the corresponding 'udt_member_t::fda' field to the +type alignment. if this field is not set, ida will try to guess the +alignment. +""" + +ida_typeinf.SUDT_VOLATILE +""" +only for serialize_udt: make type volatile +""" + +ida_typeinf.TAENUM_64BIT +""" +enum: store 64-bit values +""" + +ida_typeinf.TAENUM_SIGNED +""" +enum: signed +""" + +ida_typeinf.TAENUM_UNSIGNED +""" +enum: unsigned +""" + +ida_typeinf.TAFLD_BASECLASS +""" +field: do not include but inherit from the current field +""" + +ida_typeinf.TAFLD_UNALIGNED +""" +field: unaligned field +""" + +ida_typeinf.TAFLD_VFTABLE +""" +field: ptr to virtual function table +""" + +ida_typeinf.TAFLD_VIRTBASE +""" +field: virtual base (not supported yet) +""" + +ida_typeinf.TAH_ALL +""" +all defined bits +""" + +ida_typeinf.TAH_BYTE +""" +type attribute header byte +""" + +ida_typeinf.TAH_HASATTRS +""" +has extended attributes +""" + +ida_typeinf.TAPTR_PTR32 +""" +ptr: __ptr32 +""" + +ida_typeinf.TAPTR_PTR64 +""" +ptr: __ptr64 +""" + +ida_typeinf.TAPTR_RESTRICT +""" +ptr: __restrict +""" + +ida_typeinf.TAPTR_SHIFTED +""" +ptr: __shifted(parent_struct, delta) +""" + +ida_typeinf.TAUDT_CPPOBJ +""" +struct: a c++ object, not simple pod type +""" + +ida_typeinf.TAUDT_MSSTRUCT +""" +struct: gcc msstruct attribute +""" + +ida_typeinf.TAUDT_UNALIGNED +""" +struct: unaligned struct +""" + +ida_typeinf.TAUDT_VFTABLE +""" +struct: is virtual function table +""" + +ida_typeinf.TA_FORMAT +""" +info about the 'format' argument 3 times pack_dd: 'format_functype_t' +, argument number of 'format', argument number of '...' +""" + +ida_typeinf.TA_ORG_ARRDIM +""" +the original array dimension (pack_dd) +""" + +ida_typeinf.TA_ORG_TYPEDEF +""" +the original typedef name (simple string) +""" + +ida_typeinf.TCMP_ANYBASE +""" +accept any base class when casting +""" + +ida_typeinf.TCMP_AUTOCAST +""" +can t1 be cast into t2 automatically? +""" + +ida_typeinf.TCMP_CALL +""" +can t1 be called with t2 type? +""" + +ida_typeinf.TCMP_DECL +""" +compare declarations without resolving them +""" + +ida_typeinf.TCMP_DELPTR +""" +remove pointer from types before comparing +""" + +ida_typeinf.TCMP_EQUAL +""" +are types equal? +""" + +ida_typeinf.TCMP_IGNMODS +""" +ignore const/volatile modifiers +""" + +ida_typeinf.TCMP_MANCAST +""" +can t1 be cast into t2 manually? +""" + +ida_typeinf.TCMP_SKIPTHIS +""" +skip the first function argument in comparison +""" + +ida_typeinf.TIL_ADD_ALREADY +""" +the base til was already added +""" + +ida_typeinf.TIL_ADD_FAILED +""" +see errbuf +""" + +ida_typeinf.TIL_ADD_OK +""" +some tils were added +""" + +ida_typeinf.TIL_ALI +""" +type aliases are present (this bit is used only on the disk) +""" + +ida_typeinf.TIL_ESI +""" +extended sizeof info (short, long, longlong) +""" + +ida_typeinf.TIL_MAC +""" +til has macro table +""" + +ida_typeinf.TIL_MOD +""" +til has been modified, should be saved +""" + +ida_typeinf.TIL_ORD +""" +type ordinal numbers are present +""" + +ida_typeinf.TIL_SLD +""" +sizeof(long double) +""" + +ida_typeinf.TIL_STM +""" +til has extra streams +""" + +ida_typeinf.TIL_UNI +""" +universal til for any compiler +""" + +ida_typeinf.TIL_ZIP +""" +pack buckets using zip +""" + +ida_typeinf.TINFO_DEFINITE +""" +this is a definite type +""" + +ida_typeinf.TINFO_DELAYFUNC +""" +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 +""" + +ida_typeinf.TINFO_GUESSED +""" +this is a guessed type +""" + +ida_typeinf.TINFO_STRICT +""" +never convert given type to another one before applying +""" + +ida_typeinf.TVIS_CMT +""" +new comment is present +""" + +ida_typeinf.TVIS_NAME +""" +new name is present +""" + +ida_typeinf.TVIS_TYPE +""" +new type info is present +""" + +ida_typeinf.TVST_DEF +""" +visit type definition (meaningful for typerefs) +""" + +ida_typeinf.TVST_PRUNE +""" +don't visit children of current type +""" + +ida_typeinf.VALSTR_OPEN +""" +printed opening curly brace '{' +""" +=== ida_typeinf EPYDOC INJECTIONS END === +Help on function calc_dataseg in module ida_ua: + +calc_dataseg(*args) -> 'ea_t' + 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 &) + @param n (C++: int) + @param rgnum (C++: int) + +Help on function can_decode in module ida_ua: + +can_decode(*args) -> 'bool' + can_decode(ea) -> bool + + + Can the bytes at address 'ea' be decoded as instruction? + + @param ea: linear address (C++: ea_t) + @return: whether or not the contents at that address could be a valid + instruction + +Help on function construct_macro in module ida_ua: + +construct_macro(*args) -> 'bool' + construct_macro(insn, enable, build_macro) -> bool + + + See ua.hpp's construct_macro(). + +Help on function create_insn in module ida_ua: + +create_insn(*args) -> 'int' + 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: linear address (C++: ea_t) + @param out: the resulting instruction (C++: insn_t *) + @return: the length of the instruction or 0 + +Help on function create_outctx in module ida_ua: + +create_outctx(*args) -> 'outctx_base_t *' + 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++: flags_t) + @param suspop (C++: int) + +Help on function decode_insn in module ida_ua: + +decode_insn(*args) -> 'int' + 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: the resulting instruction (C++: insn_t *) + @param ea: linear address (C++: ea_t) + @return: the length of the (possible) instruction or 0 + +Help on function decode_preceding_insn in module ida_ua: + +decode_preceding_insn(*args) -> 'PyObject *' + decode_preceding_insn(out, ea) -> PyObject * + + + Decodes the preceding instruction. Please check ua.hpp / decode_preceding_insn() + @param ea: current ea + @param out: instruction storage + @return: tuple(preceeding_ea or BADADDR, farref = Boolean) + +Help on function decode_prev_insn in module ida_ua: + +decode_prev_insn(*args) -> 'ea_t' + decode_prev_insn(out, ea) -> ea_t + + + Decode previous instruction if it exists, fill 'out'. + + @param out: the resulting instruction (C++: insn_t *) + @param ea: the address to decode the previous instruction from (C++: + ea_t) + @return: the previous instruction address ( BADADDR -no such insn) + +Help on function get_dtype_by_size in module ida_ua: + +get_dtype_by_size(*args) -> 'int' + get_dtype_by_size(size) -> int + + + Get 'op_t::dtype' from size. + + + @param size (C++: asize_t) + +Help on function get_dtype_flag in module ida_ua: + +get_dtype_flag(*args) -> 'flags_t' + get_dtype_flag(dtype) -> flags_t + + + Get flags for 'op_t::dtype' field. + + + @param dtype (C++: op_dtype_t) + +Help on function get_dtype_size in module ida_ua: + +get_dtype_size(*args) -> 'size_t' + get_dtype_size(dtype) -> size_t + + + Get size of opt_::dtype field. + + + @param dtype (C++: op_dtype_t) + +Help on function get_immvals in module ida_ua: + +get_immvals(*args) -> 'PyObject *' + 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: address to analyze (C++: ea_t) + @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands + (C++: int) + @param F: flags for the specified address (C++: flags_t) + @return: number of immediate values (0..2* UA_MAXOP ) + +Help on function get_lookback in module ida_ua: + +get_lookback(*args) -> 'int' + 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) + +Help on function get_printable_immvals in module ida_ua: + +get_printable_immvals(*args) -> 'PyObject *' + get_printable_immvals(ea, n, F=0) -> PyObject * + + + Get immediate ready-to-print values at the specified address + + @param ea: address to analyze (C++: ea_t) + @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands + (C++: int) + @param F: flags for the specified address (C++: flags_t) + @return: number of immediate values (0..2* UA_MAXOP ) + +Help on function guess_table_address in module ida_ua: + +guess_table_address(*args) -> 'ea_t' + guess_table_address(insn) -> ea_t + + + Guess the jump table address (ibm pc specific) + + + @param insn (C++: const insn_t &) + +Help on function guess_table_size in module ida_ua: + +guess_table_size(*args) -> 'asize_t' + guess_table_size(insn, jump_table) -> asize_t + + + Guess the jump table size. + + + @param insn (C++: const insn_t &) + @param jump_table (C++: ea_t) + +Help on function insn_add_cref in module ida_ua: + +insn_add_cref(*args) -> 'void' + insn_add_cref(insn, to, opoff, type) + +Help on function insn_add_dref in module ida_ua: + +insn_add_dref(*args) -> 'void' + insn_add_dref(insn, to, opoff, type) + +Help on function insn_add_off_drefs in module ida_ua: + +insn_add_off_drefs(*args) -> 'ea_t' + insn_add_off_drefs(insn, x, type, outf) -> ea_t + +Help on function insn_create_stkvar in module ida_ua: + +insn_create_stkvar(*args) -> 'bool' + insn_create_stkvar(insn, x, v, flags) -> bool + +Help on class insn_t in module ida_ua: + +class insn_t(builtins.object) + | Proxy of C++ insn_t class. + | + | Methods defined here: + | + | __get_auxpref__(self, *args) -> 'uint16' + | __get_auxpref__(self) -> uint16 + | + | __get_operand__(self, *args) -> 'op_t *' + | __get_operand__(self, n) -> op_t + | + | __get_ops__(self, *args) -> 'wrapped_array_t< op_t,8 >' + | __get_ops__(self) -> operands_array + | + | __getitem__(self, idx) + | Operands can be accessed directly as indexes + | @return op_t: Returns an operand of type op_t + | + | __init__(self, *args) + | __init__(self) -> insn_t + | + | __iter__(self) + | + | __repr__ = _swig_repr(self) + | + | __set_auxpref__(self, *args) -> 'void' + | __set_auxpref__(self, v) + | + | __swig_destroy__ = delete_insn_t(...) + | delete_insn_t(self) + | + | add_cref(self, *args) -> 'void' + | add_cref(self, to, opoff, type) + | + | add_dref(self, *args) -> 'void' + | add_dref(self, to, opoff, type) + | + | add_off_drefs(self, *args) -> 'ea_t' + | add_off_drefs(self, x, type, outf) -> ea_t + | + | assign(self, *args) -> 'void' + | assign(self, other) + | + | create_op_data(self, *args) -> 'bool' + | create_op_data(self, ea_, opoff, dtype) -> bool + | create_op_data(self, ea_, op) -> bool + | + | create_stkvar(self, *args) -> 'bool' + | create_stkvar(self, x, v, flags_) -> bool + | + | get_canon_feature(self, *args) -> 'uint32' + | get_canon_feature(self) -> uint32 + | + | get_canon_mnem(self, *args) -> 'char const *' + | get_canon_mnem(self) -> char const * + | + | get_next_byte(self, *args) -> 'uint8' + | get_next_byte(self) -> uint8 + | + | get_next_dword(self, *args) -> 'uint32' + | get_next_dword(self) -> uint32 + | + | get_next_qword(self, *args) -> 'uint64' + | get_next_qword(self) -> uint64 + | + | get_next_word(self, *args) -> 'uint16' + | get_next_word(self) -> uint16 + | + | is_64bit(self, *args) -> 'bool' + | is_64bit(self) -> bool + | + | is_canon_insn(self, *args) -> 'bool' + | is_canon_insn(self) -> bool + | + | is_macro(self, *args) -> 'bool' + | is_macro(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Op1 + | + | Op2 + | + | Op3 + | + | Op4 + | + | Op5 + | + | Op6 + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | auxpref + | __get_auxpref__(self) -> uint16 + | + | cs + | insn_t_cs_get(self) -> ea_t + | + | ea + | insn_t_ea_get(self) -> ea_t + | + | flags + | insn_t_flags_get(self) -> int16 + | + | insnpref + | insn_t_insnpref_get(self) -> char + | + | ip + | insn_t_ip_get(self) -> ea_t + | + | itype + | insn_t_itype_get(self) -> uint16 + | + | ops + | __get_ops__(self) -> operands_array + | + | segpref + | insn_t_segpref_get(self) -> char + | + | size + | insn_t_size_get(self) -> uint16 + | + | thisown + | The membership flag + +Help on function insn_t__from_ptrval__ in module ida_ua: + +insn_t__from_ptrval__(*args) -> 'insn_t *' + insn_t__from_ptrval__(ptrval) -> insn_t + +Help on function is_floating_dtype in module ida_ua: + +is_floating_dtype(*args) -> 'bool' + is_floating_dtype(dtype) -> bool + + + Is a floating type operand? + + + @param dtype (C++: op_dtype_t) + +Help on function map_code_ea in module ida_ua: + +map_code_ea(*args) -> 'ea_t' + map_code_ea(insn, addr, opnum) -> ea_t + map_code_ea(insn, op) -> ea_t + + + Map a code address. This function takes into account the segment + translations. + + @param insn: the current instruction (C++: const insn_t &) + @param addr: the referenced address to map (C++: ea_t) + @param opnum: operand number (C++: int) + +Help on function map_data_ea in module ida_ua: + +map_data_ea(*args) -> 'ea_t' + map_data_ea(insn, addr, opnum=-1) -> ea_t + map_data_ea(insn, op) -> ea_t + + + Map a data address. + + @param insn: the current instruction (C++: const insn_t &) + @param addr: the referenced address to map (C++: ea_t) + @param opnum: operand number (C++: int) + +Help on function map_ea in module ida_ua: + +map_ea(*args) -> 'ea_t' + map_ea(insn, op, iscode) -> ea_t + map_ea(insn, addr, opnum, iscode) -> ea_t + +Help on class op_t in module ida_ua: + +class op_t(builtins.object) + | Proxy of C++ op_t class. + | + | Methods defined here: + | + | __get_addr__(self, *args) -> 'ea_t' + | __get_addr__(self) -> ea_t + | + | __get_reg_phrase__(self, *args) -> 'uint16' + | __get_reg_phrase__(self) -> uint16 + | + | __get_specval__(self, *args) -> 'ea_t' + | __get_specval__(self) -> ea_t + | + | __get_value__(self, *args) -> 'ea_t' + | __get_value__(self) -> ea_t + | + | __init__(self, *args) + | __init__(self) -> op_t + | + | __repr__ = _swig_repr(self) + | + | __set_addr__(self, *args) -> 'void' + | __set_addr__(self, v) + | + | __set_reg_phrase__(self, *args) -> 'void' + | __set_reg_phrase__(self, r) + | + | __set_specval__(self, *args) -> 'void' + | __set_specval__(self, v) + | + | __set_value__(self, *args) -> 'void' + | __set_value__(self, v) + | + | __swig_destroy__ = delete_op_t(...) + | delete_op_t(self) + | + | assign(self, *args) -> 'void' + | assign(self, other) + | + | clr_shown(self, *args) -> 'void' + | clr_shown(self) + | + | has_reg(self, r) + | Checks if the operand accesses the given processor register + | + | is_imm(self, *args) -> 'bool' + | is_imm(self, v) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self, r) -> bool + | + | set_shown(self, *args) -> 'void' + | set_shown(self) + | + | shown(self, *args) -> 'bool' + | shown(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | addr + | __get_addr__(self) -> ea_t + | + | dtype + | op_t_dtype_get(self) -> op_dtype_t + | + | flags + | op_t_flags_get(self) -> uchar + | + | n + | op_t_n_get(self) -> uchar + | + | offb + | op_t_offb_get(self) -> char + | + | offo + | op_t_offo_get(self) -> char + | + | phrase + | __get_reg_phrase__(self) -> uint16 + | + | reg + | __get_reg_phrase__(self) -> uint16 + | + | specflag1 + | op_t_specflag1_get(self) -> char + | + | specflag2 + | op_t_specflag2_get(self) -> char + | + | specflag3 + | op_t_specflag3_get(self) -> char + | + | specflag4 + | op_t_specflag4_get(self) -> char + | + | specval + | __get_specval__(self) -> ea_t + | + | thisown + | The membership flag + | + | type + | op_t_type_get(self) -> optype_t + | + | value + | __get_value__(self) -> ea_t + +Help on function op_t__from_ptrval__ in module ida_ua: + +op_t__from_ptrval__(*args) -> 'op_t *' + op_t__from_ptrval__(ptrval) -> op_t + +Help on class operands_array in module ida_ua: + +class operands_array(builtins.object) + | Proxy of C++ wrapped_array_t< op_t,8 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'op_t const &' + | __getitem__(self, i) -> op_t + | + | __init__(self, *args) + | __init__(self, data) -> operands_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_operands_array(...) + | delete_operands_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | operands_array_data_get(self) -> op_t (&)[8] + | + | thisown + | The membership flag + +Help on class outctx_base_t in module ida_ua: + +class outctx_base_t(builtins.object) + | Proxy of C++ outctx_base_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | close_comment(self, *args) -> 'void' + | close_comment(self) + | + | clr_gen_label(self, *args) -> 'void' + | clr_gen_label(self) + | + | display_voids(self, *args) -> 'bool' + | display_voids(self) -> bool + | + | flush_buf(self, *args) -> 'bool' + | flush_buf(self, buf, indent=-1) -> bool + | + | flush_outbuf(self, *args) -> 'bool' + | flush_outbuf(self, indent=-1) -> bool + | + | forbid_annotations(self, *args) -> 'int' + | forbid_annotations(self) -> int + | + | force_code(self, *args) -> 'bool' + | force_code(self) -> bool + | + | gen_block_cmt(self, *args) -> 'bool' + | gen_block_cmt(self, cmt, color) -> bool + | + | gen_border_line(self, *args) -> 'bool' + | gen_border_line(self, solid=False) -> bool + | + | gen_cmt_line(self, *args) -> 'bool' + | gen_cmt_line(self, format) -> bool + | + | gen_collapsed_line(self, *args) -> 'bool' + | gen_collapsed_line(self, format) -> bool + | + | gen_empty_line(self, *args) -> 'bool' + | gen_empty_line(self) -> bool + | + | gen_empty_line_without_annotations(self, *args) -> 'void' + | gen_empty_line_without_annotations(self) + | + | gen_printf(self, *args) -> 'bool' + | gen_printf(self, indent, format) -> bool + | + | gen_xref_lines(self, *args) -> 'bool' + | gen_xref_lines(self) -> bool + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * + | + | init_lines_array(self, *args) -> 'void' + | init_lines_array(self, answers, maxsize) + | + | multiline(self, *args) -> 'bool' + | multiline(self) -> bool + | + | only_main_line(self, *args) -> 'bool' + | only_main_line(self) -> bool + | + | out_addr_tag(self, *args) -> 'void' + | out_addr_tag(self, ea) + | + | out_btoa(self, *args) -> 'void' + | out_btoa(self, Word, radix=0) + | + | out_char(self, *args) -> 'void' + | out_char(self, c) + | + | out_chars(self, *args) -> 'void' + | out_chars(self, c, n) + | + | out_colored_register_line(self, *args) -> 'void' + | out_colored_register_line(self, str) + | + | out_keyword(self, *args) -> 'void' + | out_keyword(self, str) + | + | out_line(self, *args) -> 'void' + | out_line(self, str, color=0) + | + | out_long(self, *args) -> 'void' + | out_long(self, v, radix) + | + | out_name_expr(self, *args) -> 'bool' + | out_name_expr(self, x, ea, off=BADADDR) -> bool + | + | out_printf(self, *args) -> 'void' + | out_printf(self, format) + | + | out_register(self, *args) -> 'void' + | out_register(self, str) + | + | out_spaces(self, *args) -> 'void' + | out_spaces(self, len) + | + | out_symbol(self, *args) -> 'void' + | out_symbol(self, c) + | + | out_tagoff(self, *args) -> 'void' + | out_tagoff(self, tag) + | + | out_tagon(self, *args) -> 'void' + | out_tagon(self, tag) + | + | out_value(self, *args) -> 'flags_t' + | out_value(self, x, outf=0) -> flags_t + | + | print_label_now(self, *args) -> 'bool' + | print_label_now(self) -> bool + | + | restore_ctxflags(self, *args) -> 'void' + | restore_ctxflags(self, saved_flags) + | + | retrieve_cmt(self, *args) -> 'ssize_t' + | retrieve_cmt(self) -> ssize_t + | + | retrieve_name(self, *args) -> 'ssize_t' + | retrieve_name(self, arg2, arg3) -> ssize_t + | + | set_comment_addr(self, *args) -> 'void' + | set_comment_addr(self, ea) + | + | set_dlbind_opnd(self, *args) -> 'void' + | set_dlbind_opnd(self) + | + | set_gen_cmt(self, *args) -> 'void' + | set_gen_cmt(self, on=True) + | + | set_gen_demangled_label(self, *args) -> 'void' + | set_gen_demangled_label(self) + | + | set_gen_label(self, *args) -> 'void' + | set_gen_label(self) + | + | set_gen_xrefs(self, *args) -> 'void' + | set_gen_xrefs(self, on=True) + | + | setup_outctx(self, *args) -> 'void' + | setup_outctx(self, prefix, makeline_flags) + | + | stack_view(self, *args) -> 'bool' + | stack_view(self) -> bool + | + | term_outctx(self, *args) -> 'int' + | term_outctx(self, prefix=None) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | default_lnnum + | outctx_base_t_default_lnnum_get(self) -> int + | + | insn_ea + | outctx_base_t_insn_ea_get(self) -> ea_t + | + | outbuf + | outctx_base_t_outbuf_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on function outctx_base_t__from_ptrval__ in module ida_ua: + +outctx_base_t__from_ptrval__(*args) -> 'outctx_base_t *' + outctx_base_t__from_ptrval__(ptrval) -> outctx_base_t + +Help on class outctx_t in module ida_ua: + +class outctx_t(outctx_base_t) + | Proxy of C++ outctx_t class. + | + | Method resolution order: + | outctx_t + | outctx_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | gen_func_footer(self, *args) -> 'void' + | gen_func_footer(self, pfn) + | + | gen_func_header(self, *args) -> 'void' + | gen_func_header(self, pfn) + | + | gen_header(self, *args) -> 'void' + | gen_header(self, flags=((1 << 0)|(1 << 1)), proc_name=None, proc_flavour=None) + | + | gen_header_extra(self, *args) -> 'void' + | gen_header_extra(self) + | + | gen_xref_lines(self, *args) -> 'bool' + | gen_xref_lines(self) -> bool + | + | out_custom_mnem(self, *args) -> 'void' + | out_custom_mnem(self, mnem, width=8, postfix=None) + | + | out_data(self, *args) -> 'void' + | out_data(self, analyze_only) + | + | out_immchar_cmts(self, *args) -> 'void' + | out_immchar_cmts(self) + | + | out_mnem(self, *args) -> 'void' + | out_mnem(self, width=8, postfix=None) + | + | out_mnemonic(self, *args) -> 'void' + | out_mnemonic(self) + | + | out_one_operand(self, *args) -> 'bool' + | out_one_operand(self, n) -> bool + | + | out_specea(self, *args) -> 'bool' + | out_specea(self, segtype) -> bool + | + | retrieve_cmt(self, *args) -> 'ssize_t' + | retrieve_cmt(self) -> ssize_t + | + | retrieve_name(self, *args) -> 'ssize_t' + | retrieve_name(self, arg2, arg3) -> ssize_t + | + | set_bin_state(self, *args) -> 'void' + | set_bin_state(self, value) + | + | setup_outctx(self, *args) -> 'void' + | setup_outctx(self, prefix, flags) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bin_ea + | outctx_t_bin_ea_get(self) -> ea_t + | + | bin_state + | outctx_t_bin_state_get(self) -> char + | + | bin_width + | outctx_t_bin_width_get(self) -> int + | + | curlabel + | outctx_t_curlabel_get(self) -> qstring * + | + | gl_bpsize + | outctx_t_gl_bpsize_get(self) -> int + | + | insn + | outctx_t_insn_get(self) -> insn_t + | + | thisown + | The membership flag + | + | wif + | outctx_t_wif_get(self) -> printop_t + | + | ---------------------------------------------------------------------- + | Methods inherited from outctx_base_t: + | + | close_comment(self, *args) -> 'void' + | close_comment(self) + | + | clr_gen_label(self, *args) -> 'void' + | clr_gen_label(self) + | + | display_voids(self, *args) -> 'bool' + | display_voids(self) -> bool + | + | flush_buf(self, *args) -> 'bool' + | flush_buf(self, buf, indent=-1) -> bool + | + | flush_outbuf(self, *args) -> 'bool' + | flush_outbuf(self, indent=-1) -> bool + | + | forbid_annotations(self, *args) -> 'int' + | forbid_annotations(self) -> int + | + | force_code(self, *args) -> 'bool' + | force_code(self) -> bool + | + | gen_block_cmt(self, *args) -> 'bool' + | gen_block_cmt(self, cmt, color) -> bool + | + | gen_border_line(self, *args) -> 'bool' + | gen_border_line(self, solid=False) -> bool + | + | gen_cmt_line(self, *args) -> 'bool' + | gen_cmt_line(self, format) -> bool + | + | gen_collapsed_line(self, *args) -> 'bool' + | gen_collapsed_line(self, format) -> bool + | + | gen_empty_line(self, *args) -> 'bool' + | gen_empty_line(self) -> bool + | + | gen_empty_line_without_annotations(self, *args) -> 'void' + | gen_empty_line_without_annotations(self) + | + | gen_printf(self, *args) -> 'bool' + | gen_printf(self, indent, format) -> bool + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * + | + | init_lines_array(self, *args) -> 'void' + | init_lines_array(self, answers, maxsize) + | + | multiline(self, *args) -> 'bool' + | multiline(self) -> bool + | + | only_main_line(self, *args) -> 'bool' + | only_main_line(self) -> bool + | + | out_addr_tag(self, *args) -> 'void' + | out_addr_tag(self, ea) + | + | out_btoa(self, *args) -> 'void' + | out_btoa(self, Word, radix=0) + | + | out_char(self, *args) -> 'void' + | out_char(self, c) + | + | out_chars(self, *args) -> 'void' + | out_chars(self, c, n) + | + | out_colored_register_line(self, *args) -> 'void' + | out_colored_register_line(self, str) + | + | out_keyword(self, *args) -> 'void' + | out_keyword(self, str) + | + | out_line(self, *args) -> 'void' + | out_line(self, str, color=0) + | + | out_long(self, *args) -> 'void' + | out_long(self, v, radix) + | + | out_name_expr(self, *args) -> 'bool' + | out_name_expr(self, x, ea, off=BADADDR) -> bool + | + | out_printf(self, *args) -> 'void' + | out_printf(self, format) + | + | out_register(self, *args) -> 'void' + | out_register(self, str) + | + | out_spaces(self, *args) -> 'void' + | out_spaces(self, len) + | + | out_symbol(self, *args) -> 'void' + | out_symbol(self, c) + | + | out_tagoff(self, *args) -> 'void' + | out_tagoff(self, tag) + | + | out_tagon(self, *args) -> 'void' + | out_tagon(self, tag) + | + | out_value(self, *args) -> 'flags_t' + | out_value(self, x, outf=0) -> flags_t + | + | print_label_now(self, *args) -> 'bool' + | print_label_now(self) -> bool + | + | restore_ctxflags(self, *args) -> 'void' + | restore_ctxflags(self, saved_flags) + | + | set_comment_addr(self, *args) -> 'void' + | set_comment_addr(self, ea) + | + | set_dlbind_opnd(self, *args) -> 'void' + | set_dlbind_opnd(self) + | + | set_gen_cmt(self, *args) -> 'void' + | set_gen_cmt(self, on=True) + | + | set_gen_demangled_label(self, *args) -> 'void' + | set_gen_demangled_label(self) + | + | set_gen_label(self, *args) -> 'void' + | set_gen_label(self) + | + | set_gen_xrefs(self, *args) -> 'void' + | set_gen_xrefs(self, on=True) + | + | stack_view(self, *args) -> 'bool' + | stack_view(self) -> bool + | + | term_outctx(self, *args) -> 'int' + | term_outctx(self, prefix=None) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from outctx_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | default_lnnum + | outctx_base_t_default_lnnum_get(self) -> int + | + | insn_ea + | outctx_base_t_insn_ea_get(self) -> ea_t + | + | outbuf + | outctx_base_t_outbuf_get(self) -> qstring * + +Help on function outctx_t__from_ptrval__ in module ida_ua: + +outctx_t__from_ptrval__(*args) -> 'outctx_t *' + outctx_t__from_ptrval__(ptrval) -> outctx_t + +Help on function print_insn_mnem in module ida_ua: + +print_insn_mnem(*args) -> 'qstring *' + print_insn_mnem(ea) -> str + + + Print instruction mnemonics. + + @param ea: linear address of the instruction (C++: ea_t) + @return: success + +Help on function print_operand in module ida_ua: + +print_operand(*args) -> 'qstring *' + print_operand(ea, n, getn_flags=0, newtype=None) -> str + + + Generate text representation for operand #n. This function will + generate the text representation of the specified operand (includes + color codes.) + + @param ea: the item address (instruction or data) (C++: ea_t) + @param n: operand number (0,1,2...). meaningful only for instructions + (C++: int) + @param getn_flags (C++: int) + @param newtype: if specified, print the operand using the specified + type (C++: struct printop_t *) + @return: success + +=== ida_ua EPYDOC INJECTIONS === +ida_ua.FCBF_CONT +""" +don't stop on decoding, or any other kind of error +""" + +ida_ua.FCBF_DELIM +""" +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 +""" + +ida_ua.FCBF_ERR_REPL +""" +of a hex representation of the problematic byte + +in case of an error, use a CP_REPLCHAR instead +""" + +ida_ua.FCBF_FF_LIT +""" +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 +""" + +ida_ua.INSN_64BIT +""" +belongs to 64bit segment? +""" + +ida_ua.INSN_MACRO +""" +macro instruction +""" + +ida_ua.INSN_MODMAC +""" +may modify the database to make room for the macro insn +""" + +ida_ua.OF_NO_BASE_DISP +""" +base displacement doesn't exist. meaningful only for 'o_displ' type. +if set, base displacement ( 'op_t::addr' ) doesn't exist. +""" + +ida_ua.OF_NUMBER +""" +the operand can be converted to a number only +""" + +ida_ua.OF_OUTER_DISP +""" +outer displacement exists. meaningful only for 'o_displ' type. if set, +outer displacement ( 'op_t::value' ) exists. +""" + +ida_ua.OF_SHOW +""" +should the operand be displayed? +""" + +ida_ua.OOFS_IFSIGN +""" +output sign if needed +""" + +ida_ua.OOFS_NEEDSIGN +""" +always out sign (+-) +""" + +ida_ua.OOFS_NOSIGN +""" +don't output sign, forbid the user to change the sign +""" + +ida_ua.OOFW_16 +""" +16 bit width +""" + +ida_ua.OOFW_24 +""" +24 bit width +""" + +ida_ua.OOFW_32 +""" +32 bit width +""" + +ida_ua.OOFW_64 +""" +64 bit width +""" + +ida_ua.OOFW_8 +""" +8 bit width +""" + +ida_ua.OOFW_IMM +""" +take from x.dtype +""" + +ida_ua.OOF_ADDR +""" +output x.addr, otherwise x.value +""" + +ida_ua.OOF_ANYSERIAL +""" +if enum: select first available serial +""" + +ida_ua.OOF_NOBNOT +""" +prohibit use of binary not +""" + +ida_ua.OOF_NUMBER +""" +always as a number +""" + +ida_ua.OOF_OUTER +""" +output outer operand +""" + +ida_ua.OOF_SIGNED +""" +output as signed if < 0 +""" + +ida_ua.OOF_SIGNMASK +""" +sign symbol (+/-) output +""" + +ida_ua.OOF_SPACES +""" +currently works only for floating point numbers + +do not suppress leading spaces +""" + +ida_ua.OOF_WIDTHMASK +""" +width of value in bits +""" + +ida_ua.OOF_ZSTROFF +""" +meaningful only if is_stroff(uFlag) append a struct field name if the +field offset is zero? if 'AFL_ZSTROFF' is set, then this flag is +ignored. +""" + +ida_ua.PACK_FORM_DEF +""" +(! 'o_reg' + 'dt_packreal' ) + +packed factor defined. +""" + +ida_ua.dt_bitfild +""" +bit field (mc680x0) +""" + +ida_ua.dt_byte +""" +8 bit integer +""" + +ida_ua.dt_byte16 +""" +128 bit integer +""" + +ida_ua.dt_byte32 +""" +256 bit integer +""" + +ida_ua.dt_byte64 +""" +512 bit integer +""" + +ida_ua.dt_code +""" +ptr to code (not used?) +""" + +ida_ua.dt_double +""" +8 byte floating point +""" + +ida_ua.dt_dword +""" +32 bit integer +""" + +ida_ua.dt_float +""" +4 byte floating point +""" + +ida_ua.dt_fword +""" +48 bit +""" + +ida_ua.dt_half +""" +2-byte floating point +""" + +ida_ua.dt_ldbl +""" +long double (which may be different from tbyte) +""" + +ida_ua.dt_packreal +""" +packed real format for mc68040 +""" + +ida_ua.dt_qword +""" +64 bit integer +""" + +ida_ua.dt_string +""" +pointer to asciiz string +""" + +ida_ua.dt_tbyte +""" +variable size (\\ph{tbyte_size}) floating point +""" + +ida_ua.dt_unicode +""" +pointer to unicode string +""" + +ida_ua.dt_void +""" +none +""" + +ida_ua.dt_word +""" +16 bit integer +""" +=== ida_ua EPYDOC INJECTIONS END === +Help on function add_cref in module ida_xref: + +add_cref(*args) -> 'bool' + add_cref(frm, to, type) -> bool + + + Create a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param type: cross-reference type (C++: cref_t) + @return: success + +Help on function add_dref in module ida_xref: + +add_dref(*args) -> 'bool' + add_dref(frm, to, type) -> bool + + + Create a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + @param type: cross-reference type (C++: dref_t) + @return: success (may fail if user-defined xref exists from->to) + +Help on function calc_switch_cases in module ida_xref: + +calc_switch_cases(*args) -> 'cases_and_targets_t *' + 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'. + +Help on class cases_and_targets_t in module ida_xref: + +class cases_and_targets_t(builtins.object) + | Proxy of C++ cases_and_targets_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cases_and_targets_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cases_and_targets_t(...) + | delete_cases_and_targets_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cases + | cases_and_targets_t_cases_get(self) -> casevec_t + | + | targets + | cases_and_targets_t_targets_get(self) -> eavec_t * + | + | thisown + | The membership flag + +Help on class casevec_t in module ida_xref: + +class casevec_t(builtins.object) + | Proxy of C++ qvector< qvector< sval_t > > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'qvector< signed-ea-like-numeric-type > const &'↗ + | __getitem__(self, i) -> qvector< signed-ea-like-numeric-type > const &↗ + | + | __init__(self, *args) + | __init__(self) -> casevec_t + | __init__(self, x) -> casevec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_casevec_t(...) + | delete_casevec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'qvector< signed-ea-like-numeric-type > &'↗ + | + | at = __getitem__(self, *args) -> 'qvector< signed-ea-like-numeric-type > const &'↗ + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< qvector< signed-ea-like-numeric-type > >::const_iterator'↗ + | begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< qvector< signed-ea-like-numeric-type > >::const_iterator'↗ + | end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | erase(self, *args) -> 'qvector< qvector< signed-ea-like-numeric-type > >::iterator'↗ + | erase(self, it) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | erase(self, first, last) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | + | extract(self, *args) -> 'qvector< signed-ea-like-numeric-type > *'↗ + | extract(self) -> qvector< signed-ea-like-numeric-type > *↗ + | + | find(self, *args) -> 'qvector< qvector< signed-ea-like-numeric-type > >::const_iterator'↗ + | find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=qvector< signed-ea-like-numeric-type >())↗ + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< qvector< signed-ea-like-numeric-type > >::iterator'↗ + | insert(self, it, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'qvector< signed-ea-like-numeric-type > &'↗ + | push_back(self, x) + | push_back(self) -> qvector< signed-ea-like-numeric-type > &↗ + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function create_switch_table in module ida_xref: + +create_switch_table(*args) -> 'bool' + 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 + +Help on function create_switch_xrefs in module ida_xref: + +create_switch_xrefs(*args) -> 'bool' + 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 + +Help on function del_cref in module ida_xref: + +del_cref(*args) -> 'int' + del_cref(frm, to, expand) -> int + + + Delete a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param expand: 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 (C++: bool) + +Help on function del_dref in module ida_xref: + +del_dref(*args) -> 'void' + del_dref(frm, to) + + + Delete a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + +Help on function delete_switch_table in module ida_xref: + +delete_switch_table(*args) -> 'void' + delete_switch_table(jump_ea, si) + +Help on function get_first_cref_from in module ida_xref: + +get_first_cref_from(*args) -> 'ea_t' + 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!). + + @return: first referenced address. The lastXR variable contains type + of the reference. If the specified instruction doesn't + reference to other instructions then returns BADADDR . + +Help on function get_first_cref_to in module ida_xref: + +get_first_cref_to(*args) -> 'ea_t' + 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: linear address of referenced instruction (C++: ea_t) + @return: linear address of the first referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_first_dref_from in module ida_xref: + +get_first_dref_from(*args) -> 'ea_t' + get_first_dref_from(frm) -> ea_t + + + Get first data referenced from the specified address. + + @return: linear address of first (lowest) data referenced from the + specified address. The lastXR variable contains type of the + reference. Return BADADDR if the specified instruction/data + doesn't reference to anything. + +Help on function get_first_dref_to in module ida_xref: + +get_first_dref_to(*args) -> 'ea_t' + get_first_dref_to(to) -> ea_t + + + Get address of instruction/data referencing to the specified data. + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_first_fcref_from in module ida_xref: + +get_first_fcref_from(*args) -> 'ea_t' + get_first_fcref_from(frm) -> ea_t + +Help on function get_first_fcref_to in module ida_xref: + +get_first_fcref_to(*args) -> 'ea_t' + get_first_fcref_to(to) -> ea_t + +Help on function get_next_cref_from in module ida_xref: + +get_next_cref_from(*args) -> 'ea_t' + get_next_cref_from(frm, current) -> ea_t + + + Get next instruction referenced from the specified instruction. + + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_from() or + previous call to get_next_cref_from() functions. + (C++: ea_t) + @return: next referenced address or BADADDR . The lastXR variable + contains type of the reference. + +Help on function get_next_cref_to in module ida_xref: + +get_next_cref_to(*args) -> 'ea_t' + get_next_cref_to(to, current) -> ea_t + + + Get next instruction referencing to the specified instruction. + + @param to: linear address of referenced instruction (C++: ea_t) + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_to() or previous + call to get_next_cref_to() functions. (C++: ea_t) + @return: linear address of the next referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_next_dref_from in module ida_xref: + +get_next_dref_from(*args) -> 'ea_t' + get_next_dref_from(frm, current) -> ea_t + + + Get next data referenced from the specified address. + + @param current: linear address of current referenced data. This value + is returned by get_first_dref_from() or previous + call to get_next_dref_from() functions. (C++: ea_t) + @return: linear address of next data or BADADDR . The lastXR + variable contains type of the reference + +Help on function get_next_dref_to in module ida_xref: + +get_next_dref_to(*args) -> 'ea_t' + get_next_dref_to(to, current) -> ea_t + + + Get address of instruction/data referencing to the specified data + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @param current: current linear address. This value is returned by + get_first_dref_to() or previous call to + get_next_dref_to() functions. (C++: ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_next_fcref_from in module ida_xref: + +get_next_fcref_from(*args) -> 'ea_t' + get_next_fcref_from(frm, current) -> ea_t + +Help on function get_next_fcref_to in module ida_xref: + +get_next_fcref_to(*args) -> 'ea_t' + get_next_fcref_to(to, current) -> ea_t + +Help on function has_external_refs in module ida_xref: + +has_external_refs(*args) -> 'bool' + has_external_refs(pfn, ea) -> bool + + + Has a location external to the function references? + + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on class xrefblk_t in module ida_xref: + +class xrefblk_t(builtins.object) + | Proxy of C++ xrefblk_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> xrefblk_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_xrefblk_t(...) + | delete_xrefblk_t(self) + | + | first_from(self, *args) -> 'bool' + | first_from(self, _from, flags) -> bool + | + | first_to(self, *args) -> 'bool' + | first_to(self, _to, flags) -> bool + | + | next_from(self, *args) -> 'bool' + | next_from(self) -> bool + | next_from(self, _from, _to, flags) -> bool + | + | next_to(self, *args) -> 'bool' + | next_to(self) -> bool + | next_to(self, _from, _to, flags) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | frm + | xrefblk_t_frm_get(self) -> ea_t + | + | iscode + | xrefblk_t_iscode_get(self) -> uchar + | + | thisown + | The membership flag + | + | to + | xrefblk_t_to_get(self) -> ea_t + | + | type + | xrefblk_t_type_get(self) -> uchar + | + | user + | xrefblk_t_user_get(self) -> uchar + +Help on function xrefchar in module ida_xref: + +xrefchar(*args) -> 'char' + xrefchar(xrtype) -> char + + + Get character describing the xref type. + + @param xrtype: combination of Cross-Reference type flags and a + cref_t of dref_t value (C++: char) + +=== ida_xref EPYDOC INJECTIONS === +ida_xref.XREF_ALL +""" +return all references +""" + +ida_xref.XREF_BASE +""" +Reference to the base part of an offset. +""" + +ida_xref.XREF_DATA +""" +return data references only +""" + +ida_xref.XREF_FAR +""" +don't return ordinary flow xrefs +""" + +ida_xref.XREF_MASK +""" +Mask to get xref type. +""" + +ida_xref.XREF_PASTEND +""" +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. +""" + +ida_xref.XREF_TAIL +""" +Reference to tail byte in extrn symbols. +""" + +ida_xref.XREF_USER +""" +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 +""" +=== ida_xref EPYDOC INJECTIONS END === +Help on function AddSeg in module idc: + +AddSeg(startea, endea, base, use32, align, comb) + +Help on function AutoMark in module idc: + +AutoMark(ea, qtype) + Plan to analyze an address + +Help on class DeprecatedIDCError in module idc: + +class DeprecatedIDCError(builtins.Exception) + | Exception for deprecated function calls + | + | Method resolution order: + | DeprecatedIDCError + | builtins.Exception + | builtins.BaseException + | builtins.object + | + | Data descriptors defined here: + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Methods inherited from builtins.Exception: + | + | __init__(self, /, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __new__(*args, **kwargs) from builtins.type + | Create and return a new object. See help(type) for accurate signature. + | + | ---------------------------------------------------------------------- + | Methods inherited from builtins.BaseException: + | + | __delattr__(self, name, /) + | Implement delattr(self, name). + | + | __getattribute__(self, name, /) + | Return getattr(self, name). + | + | __reduce__(...) + | helper for pickle + | + | __repr__(self, /) + | Return repr(self). + | + | __setattr__(self, name, value, /) + | Implement setattr(self, name, value). + | + | __setstate__(...) + | + | __str__(self, /) + | Return str(self). + | + | with_traceback(...) + | Exception.with_traceback(tb) -- + | set self.__traceback__ to tb and return self. + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from builtins.BaseException: + | + | __cause__ + | exception cause + | + | __context__ + | exception context + | + | __dict__ + | + | __suppress_context__ + | + | __traceback__ + | + | args + +Help on function EVAL_FAILURE in module idc: + +EVAL_FAILURE(code) + Check the result of eval_idc() for evaluation failures + + @param code: result of eval_idc() + + @return: True if there was an evaluation error + +Help on function get_cmt in module ida_bytes: + +get_cmt(*args) -> 'qstring *' + get_cmt(ea, rptble) -> str + + + Get an indented comment. + + @param ea: linear address. may point to tail byte, the function will + find start of the item (C++: ea_t) + @param rptble: get repeatable comment? (C++: bool) + @return: size of comment or -1 + +Help on function GetDisasm in module idc: + +GetDisasm(ea) + 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. + +Help on function GetDouble in module idc: + +GetDouble(ea) + 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 + +Help on function GetFloat in module idc: + +GetFloat(ea) + 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 + +Help on function GetLocalType in module idc: + +GetLocalType(ordinal, flags) + Retrieve a local type declaration + @param flags: any of PRTYPE_* constants + @return: local type as a C declaration or "" + +Help on function LoadFile in module idc: + +LoadFile(filepath, pos, ea, size) + 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 + +Help on function MakeVar in module idc: + +MakeVar(ea) + Mark the location as "variable" + + @param ea: address to mark + + @return: None + + @note: All that IDA does is to mark the location as "variable". + Nothing else, no additional analysis is performed. + This function may disappear in the future. + +Help on function SaveFile in module idc: + +SaveFile(filepath, pos, ea, size) + 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 + +Help on function SetPrcsr in module idc: + +SetPrcsr(processor) + +Help on function SetType in module idc: + +SetType(ea, newtype) + 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. + +Help on function SizeOf in module idc: + +SizeOf(typestr) + Returns the size of the type. It is equivalent to IDC's sizeof(). + Use name, tp, fld = idc.parse_decl() ; SizeOf(tp) to retrieve the size + @return: -1 if typestring is not valid otherwise the size of the type + +Help on function _IDC_GetAttr in module idc: + +_IDC_GetAttr(obj, attrmap, attroffs) + Internal function to generically get object attributes + Do not use unless you know what you are doing + +Help on function _IDC_SetAttr in module idc: + +_IDC_SetAttr(obj, attrmap, attroffs, value) + Internal function to generically set object attributes + Do not use unless you know what you are doing + +Help on function __DbgValue in module idc: + +__DbgValue(ea, len) + +Help on function __GetArrayById in module idc: + +__GetArrayById(array_id) + Get an array, by its ID. + + This (internal) wrapper around 'idaaip.netnode(array_id)' + will ensure a certain safety around the retrieval of + arrays (by catching quite unexpect[ed|able] exceptions, + and making sure we don't create & use `transient' netnodes). + + @param array_id: A positive, valid array ID. + +Help on class __dummy_netnode in module idc: + +class __dummy_netnode(builtins.object) + | Implements, in an "always failing" fashion, the + | netnode functions that are necessary for the + | array-related functions. + | + | The sole purpose of this singleton class is to + | serve as a placeholder for netnode-manipulating + | functions, that don't want to each have to perform + | checks on the existence of the netnode. + | (..in other words: it avoids a bunch of if/else's). + | + | See __GetArrayById() for more info. + | + | Methods defined here: + | + | altdel(self, *args) + | + | altfirst(self, *args) + | + | altlast(self, *args) + | + | altnext(self, *args) + | + | altprev(self, *args) + | + | altset(self, *args) + | + | altval(self, *args) + | + | hashdel(self, *args) + | + | hashfirst(self, *args) + | + | hashlast(self, *args) + | + | hashnext(self, *args) + | + | hashprev(self, *args) + | + | hashset(self, *args) + | + | hashset_buf(self, *args) + | + | hashset_idx(self, *args) + | + | hashstr(self, *args) + | + | hashstr_buf(self, *args) + | + | hashval(self, *args) + | + | hashval_long(self, *args) + | + | index(self, *args) + | + | kill(self, *args) + | + | rename(self, *args) + | + | supdel(self, *args) + | + | supfirst(self, *args) + | + | suplast(self, *args) + | + | supnext(self, *args) + | + | supprev(self, *args) + | + | supset(self, *args) + | + | supval(self, *args) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | instance = + +Help on function __l2m1 in module idc: + +__l2m1(v) + Long to minus 1: If the 'v' appears to be the + 'signed long' version of -1, then return -1. + Otherwise, return 'v'. + +Help on function __warn_once_deprecated_proto_confusion in module idc: + +__warn_once_deprecated_proto_confusion(what, alternative) + +Help on function _get_modules in module idc: + +_get_modules() + INTERNAL: Enumerate process modules + +Help on function add_auto_stkpnt in module idc: + +add_auto_stkpnt(func_ea, ea, delta) + Add automatical 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 + +Help on function add_bpt in module ida_dbg: + +add_bpt(*args) -> 'bool' + add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + add_bpt(bpt) -> bool + + + Add a new breakpoint in the debugged process. \sq{Type, Synchronous + function - available as request, Notification, none (synchronous + function)}Only one breakpoint can exist at a given address. + + @param ea: any address in the process memory space. Depending on the + architecture, hardware breakpoints always be setup at + random address. For example, on x86, hardware breakpoints + should be aligned depending on their size. Moreover, on the + x86 architecture, it is impossible to setup more than 4 + hardware breakpoints. (C++: ea_t) + @param size: size of the breakpoint (irrelevant for software + breakpoints): As for the address, hardware breakpoints + can't always be setup with random size. (C++: asize_t) + @param type: type of the breakpoint ( BPT_SOFT for software + breakpoint) special case BPT_DEFAULT ( BPT_SOFT | + BPT_EXEC ): try to add instruction breakpoint of the + appropriate type as follows: software bpt if supported, + hwbpt otherwise (C++: bpttype_t) + +Help on function add_cref in module ida_xref: + +add_cref(*args) -> 'bool' + add_cref(frm, to, type) -> bool + + + Create a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param type: cross-reference type (C++: cref_t) + @return: success + +Help on function add_default_til in module idc: + +add_default_til(name) + Load a type library + + @param name: name of type library. + @return: 1-ok, 0-failed. + +Help on function add_dref in module ida_xref: + +add_dref(*args) -> 'bool' + add_dref(frm, to, type) -> bool + + + Create a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + @param type: cross-reference type (C++: dref_t) + @return: success (may fail if user-defined xref exists from->to) + +Help on function add_entry in module ida_entry: + +add_entry(*args) -> 'bool' + add_entry(ord, ea, name, makecode, flags=0) -> bool + + + Add an entry point to the list of entry points. + + @param ord: ordinal number if ordinal number is equal to 'ea' then + ordinal is not used (C++: uval_t) + @param ea: linear address (C++: ea_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to the regular + comment. If name == NULL, then the old name will be + retained. (C++: const char *) + @param makecode: should the kernel convert bytes at the entry point to + instruction(s) (C++: bool) + @param flags: See AEF_* (C++: int) + @return: success (currently always true) + +Help on function add_enum in module idc: + +add_enum(idx, name, flag) + Add a new enum type + + @param idx: serial number of the new enum. + If another enum with the same serial number + exists, then all enums with serial + numbers >= the specified idx get their + serial numbers incremented (in other words, + the new enum is put in the middle of the list of enums). + + If idx >= get_enum_qty() or idx == idaapi.BADNODE + then the new enum is created at the end of + the list of enums. + + @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 + +Help on function add_enum_member in module idc: + +add_enum_member(enum_id, name, value, bmask) + 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 ida_enum.DEFMASK 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_*) + +Help on function add_func in module ida_funcs: + +add_func(*args) -> 'bool' + 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: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @return: success + +Help on function add_hidden_range in module ida_bytes: + +add_hidden_range(*args) -> 'bool' + add_hidden_range(ea1, ea2, description, header, footer, color) -> bool + + + Mark a range of addresses as hidden. The range will be created in the + invisible state with the default color + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (C++: ea_t) + @param description: range parameters (C++: const char *) + @param header: range parameters (C++: const char *) + @param footer: range parameters (C++: const char *) + @param color (C++: bgcolor_t) + @return: success + +Help on function add_idc_hotkey in module ida_kernwin: + +add_idc_hotkey(*args) -> 'int' + add_idc_hotkey(hotkey, idcfunc) -> int + + + Add hotkey for IDC function ( 'ui_add_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + @param idcfunc: IDC function name (C++: const char *) + @return: IDC hotkey error codes + +Help on function add_segm_ex in module idc: + +add_segm_ex(startea, endea, base, use32, align, comb, flags) + 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 + +Help on function add_sourcefile in module ida_lines: + +add_sourcefile(*args) -> 'bool' + add_sourcefile(ea1, ea2, filename) -> bool + + + Mark a range of address as belonging to a source file. An address + range may belong only to one source file. A source file may be + represented by several address ranges. + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (excluded) + (C++: ea_t) + @param filename: name of source file. (C++: const char *) + @return: success + +Help on function add_struc in module idc: + +add_struc(index, name, is_union) + Define a new structure type + + @param index: index of new structure type + If another structure has the specified index, + then index of that structure and all other + structures will be incremented, freeing the specifed + index. If index is == -1, then the biggest index + number will be used. + See get_first_struc_idx() for the explanation of + structure indices and IDs. + @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 + +Help on function add_struc_member in module idc: + +add_struc_member(sid, name, offset, flag, typeid, nbytes, target=-1, tdelta=0, reftype=2) + 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 STRUC_ERROR_*) + +Help on function add_user_stkpnt in module ida_frame: + +add_user_stkpnt(*args) -> 'bool' + add_user_stkpnt(ea, delta) -> bool + + + Add user-defined SP register change point. + + @param ea: linear address where SP changes (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function append_func_tail in module idc: + +append_func_tail(funcea, ea1, ea2) + 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 + +Help on function apply_type in module idc: + +apply_type(ea, py_type, flags=1) + 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 + +Help on function ask_seg in module ida_kernwin: + +ask_seg(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_yn in module ida_kernwin: + +ask_yn(*args) -> 'int' + ask_yn(deflt, format) -> int + + + Display a dialog box and get choice from "Yes", "No", "Cancel". + + @param deflt: default choice: one of Button IDs (C++: int) + @param format: The question in printf() style format (C++: const char + *) + @return: the selected button (one of Button IDs ). Esc key returns + ASKBTN_CANCEL . + +Help on function atoa in module idc: + +atoa(ea) + Convert address value to a string + Return address in the form 'seg000:1234' + (the same as in line prefixes) + + @param ea: address to format + +Help on function atol in module idc: + +atol(s) + +Help on function attach_process in module ida_dbg: + +attach_process(*args) -> 'int' + 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' + }This function shouldn't be called as a request if 'NO_PROCESS' is + used. + + @param pid: PID of the process to attach to. If NO_PROCESS , a dialog + box will interactively ask the user for the process to + attach to. (C++: pid_t) + @param event_id (C++: int) + +Help on function auto_mark_range in module ida_auto: + +auto_mark_range(*args) -> 'void' + 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) + +Help on function auto_unmark in module ida_auto: + +auto_unmark(*args) -> 'void' + 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) + +Help on function auto_wait in module ida_auto: + +auto_wait(*args) -> 'bool' + 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) + +Help on function batch in module idc: + +batch(batch) + 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 + +Help on function byte_value in module idc: + +byte_value(F) + 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. + +Help on function calc_gtn_flags in module ida_name: + +calc_gtn_flags(fromaddr, ea) + Calculate flags for get_ea_name() function + + @param fromaddr: the referring address. May be BADADDR. + @param ea: linear address + + @return: flags + +Help on function call_system in module idc: + +call_system(command) + 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. + +Help on function can_exc_continue in module idc: + +can_exc_continue() + Can it continue after EXCEPTION event? + + @return: boolean + +Help on function check_bpt in module ida_dbg: + +check_bpt(*args) -> 'int' + check_bpt(ea) -> int + + + Check the breakpoint at the specified address. + + @param ea (C++: ea_t) + @return: one of Breakpoint status codes + +Help on function choose_func in module idc: + +choose_func(title) + 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 + +Help on function clear_trace in module idc: + +clear_trace(filename) + Clear the current trace buffer + +Help on function create_align in module ida_bytes: + +create_align(*args) -> 'bool' + create_align(ea, length, alignment) -> bool + + + Alignment: 0 or 2..32. If it is 0, is will be calculated. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param alignment (C++: int) + +Help on function create_array in module idc: + +create_array(name) + Create array. + + @param name: The array name. + + @return: -1 in case of failure, a valid array_id otherwise. + +Help on function create_byte in module idc: + +create_byte(ea) + Convert the current item to a byte + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_custdata in module ida_bytes: + +create_custdata(*args) -> 'bool' + 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) + +Help on function create_data in module ida_bytes: + +create_data(*args) -> 'bool' + create_data(ea, dataflag, size, tid) -> bool + + + Convert to data (byte, word, dword, etc). This function may be used to + create arrays. + + @param ea: linear address (C++: ea_t) + @param dataflag: type of data. Value of function byte_flag() , + word_flag() , etc. (C++: flags_t) + @param size: 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. (C++: asize_t) + @param tid: type id. If the specified type is a structure, then tid is + structure id. Otherwise should be BADNODE . (C++: tid_t) + @return: success + +Help on function create_double in module idc: + +create_double(ea) + Convert the current item to a double floating point (8 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_dword in module idc: + +create_dword(ea) + Convert the current item to a double word (4 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_float in module idc: + +create_float(ea) + Convert the current item to a floating point (4 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_insn in module ida_ua: + +create_insn(*args) -> 'int' + 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: linear address (C++: ea_t) + @param out: the resulting instruction (C++: insn_t *) + @return: the length of the instruction or 0 + +Help on function create_oword in module idc: + +create_oword(ea) + Convert the current item to an octa word (16 bytes/128 bits) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_pack_real in module idc: + +create_pack_real(ea) + Convert the current item to a packed real (10 or 12 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_qword in module idc: + +create_qword(ea) + Convert the current item to a quadro word (8 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_strlit in module idc: + +create_strlit(ea, endea) + 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() + +Help on function create_struct in module idc: + +create_struct(ea, size, strname) + 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 + +Help on function create_tbyte in module idc: + +create_tbyte(ea) + Convert the current item to a tbyte (10 or 12 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_word in module idc: + +create_word(ea) + Convert the current item to a word (2 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_yword in module idc: + +create_yword(ea) + Convert the current item to a ymm word (32 bytes/256 bits) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function define_exception in module ida_dbg: + +define_exception(*args) -> 'char const *' + define_exception(code, name, desc, flags) -> char const * + + + Convenience function: define new exception code. + + @param code: exception code (cannot be 0) (C++: uint) + @param name: exception name (cannot be empty or NULL) (C++: const char + *) + @param desc: exception description (maybe NULL) (C++: const char *) + @param flags: combination of Exception info flags (C++: int) + @return: failure message or NULL. You must call store_exceptions() + if this function succeeds + +Help on function define_local_var in module idc: + +define_local_var(start, end, location, name) + 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. + +Help on function del_array_element in module idc: + +del_array_element(tag, array_id, idx) + 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. + +Help on function del_bpt in module ida_dbg: + +del_bpt(*args) -> 'bool' + del_bpt(ea) -> bool + del_bpt(bptloc) -> bool + + + Delete an existing breakpoint in the debugged process. \sq{Type, + Synchronous function - available as request, Notification, none + (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + +Help on function del_cref in module ida_xref: + +del_cref(*args) -> 'int' + del_cref(frm, to, expand) -> int + + + Delete a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param expand: 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 (C++: bool) + +Help on function del_dref in module ida_xref: + +del_dref(*args) -> 'void' + del_dref(frm, to) + + + Delete a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + +Help on function del_enum in module ida_enum: + +del_enum(*args) -> 'void' + del_enum(id) + + + Delete an enum type. + + + @param id (C++: enum_t) + +Help on function del_enum_member in module idc: + +del_enum_member(enum_id, value, serial, bmask) + 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 ida_enum.DEFMASK as a bitmask + + @return: 1-ok, 0-failed + +Help on function del_extra_cmt in module ida_lines: + +del_extra_cmt(*args) -> 'void' + del_extra_cmt(ea, what) + +Help on function del_fixup in module ida_fixup: + +del_fixup(*args) -> 'void' + del_fixup(source) + + + Delete fixup information. + + + @param source (C++: ea_t) + +Help on function del_func in module ida_funcs: + +del_func(*args) -> 'bool' + del_func(ea) -> bool + + + Delete a function. + + @param ea: any address in the function entry chunk (C++: ea_t) + @return: success + +Help on function del_hash_string in module idc: + +del_hash_string(hash_id, key) + Delete a hash element. + + @param hash_id: The hash ID. + @param key: Key of an element + + @return: 1 upon success, 0 otherwise. + +Help on function del_hidden_range in module ida_bytes: + +del_hidden_range(*args) -> 'bool' + del_hidden_range(ea) -> bool + + + Delete hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: success + +Help on function del_idc_hotkey in module ida_kernwin: + +del_idc_hotkey(*args) -> 'bool' + del_idc_hotkey(hotkey) -> bool + + + Delete IDC function hotkey ( 'ui_del_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + +Help on function del_items in module ida_bytes: + +del_items(*args) -> 'bool' + 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: any address within the first item to delete (C++: ea_t) + @param flags: combination of Unexplored byte conversion flags (C++: + int) + @param nbytes: number of bytes in the range to be undefined (C++: + asize_t) + @param may_destroy: optional routine invoked before deleting a head + item. If callback returns false then item has not + to be deleted and operation fails (C++: + may_destroy_cb_t *) + @return: true on sucessful operation, otherwise false + +Help on function del_segm in module ida_segment: + +del_segm(*args) -> 'bool' + del_segm(ea, flags) -> bool + + + Delete a segment. + + @param ea: any address belonging to the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function del_selector in module ida_segment: + +del_selector(*args) -> 'void' + 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: number of selector to remove from the translation + table (C++: sel_t) + +Help on function del_source_linnum in module ida_nalt: + +del_source_linnum(*args) -> 'void' + del_source_linnum(ea) + +Help on function del_sourcefile in module ida_lines: + +del_sourcefile(*args) -> 'bool' + del_sourcefile(ea) -> bool + + + Delete information about the source file. + + @param ea: linear address (C++: ea_t) + @return: success + +Help on function del_stkpnt in module idc: + +del_stkpnt(func_ea, ea) + Delete SP register change point + + @param func_ea: function start + @param ea: linear address + @return: 1-ok, 0-failed + +Help on function del_struc in module idc: + +del_struc(sid) + 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. + +Help on function del_struc_member in module idc: + +del_struc_member(sid, member_offset) + 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. + +Help on function delete_all_segments in module idc: + +delete_all_segments() + Delete all segments, instructions, comments, i.e. everything + except values of bytes. + +Help on function delete_array in module idc: + +delete_array(array_id) + Delete array, by its ID. + + @param array_id: The ID of the array to delete. + +Help on function demangle_name in module idc: + +demangle_name(name, disable_mask) + 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 + +Help on function detach_process in module ida_dbg: + +detach_process(*args) -> 'bool' + detach_process() -> bool + + + Detach the debugger from the debugged process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_detach' } + +Help on function diff_trace_file in module ida_dbg: + +diff_trace_file(*args) -> 'bool' + diff_trace_file(nonnul_filename) -> bool + + + Show difference between the current trace and the one from 'filename'. + +Help on function enable_bpt in module ida_dbg: + +enable_bpt(*args) -> 'bool' + enable_bpt(ea, enable=True) -> bool + enable_bpt(bptloc, enable=True) -> bool + +Help on function enable_tracing in module idc: + +enable_tracing(trace_level, enable) + Enable step tracing + + @param trace_level: what kind of trace to modify + @param enable: 0: turn off, 1: turn on + + @return: success + +Help on function error in module ida_kernwin: + +error(*args) -> 'void' + error(format) + + + Display a fatal message in a message box and quit IDA + + @param format: message to print + +Help on function eval_idc in module idc: + +eval_idc(expr) + 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 + +Help on function exit_process in module ida_dbg: + +exit_process(*args) -> 'bool' + exit_process() -> bool + + + Terminate the debugging of the current process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_exit' } + +Help on function expand_struc in module idc: + +expand_struc(sid, offset, delta, recalc) + 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: recalculate the locations where the structure + type is used + @return: != 0 - ok + +Help on function fclose in module idc: + +fclose(handle) + +Help on function fgetc in module idc: + +fgetc(handle) + +Help on function filelength in module idc: + +filelength(handle) + +Help on function find_binary in module idc: + +find_binary(ea, flag, searchstr, radix=16, from_bc695=False) + +Help on function find_code in module ida_search: + +find_code(*args) -> 'ea_t' + find_code(ea, sflag) -> ea_t + + + Find next code address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_data in module ida_search: + +find_data(*args) -> 'ea_t' + find_data(ea, sflag) -> ea_t + + + Find next data address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_defined in module ida_search: + +find_defined(*args) -> 'ea_t' + 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) + +Help on function find_func_end in module idc: + +find_func_end(ea) + 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 + +Help on function find_imm in module ida_search: + +find_imm(*args) -> 'int *' + find_imm(newEA, sflag, srchValue) -> ea_t + + + Find next immediate operand with the given value. + + + @param newEA (C++: ea_t) + @param sflag (C++: int) + @param srchValue (C++: uval_t) + +Help on function find_selector in module idc: + +find_selector(val) + Find a selector which has the specifed 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 + +Help on function find_suspop in module ida_search: + +find_suspop(*args) -> 'int *' + find_suspop(ea, sflag) -> ea_t + + + Find next suspicious operand. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_text in module idc: + +find_text(ea, flag, y, x, searchstr, from_bc695=False) + +Help on function find_unknown in module ida_search: + +find_unknown(*args) -> 'ea_t' + find_unknown(ea, sflag) -> ea_t + + + Find next unexplored address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function first_func_chunk in module idc: + +first_func_chunk(funcea) + 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 + +Help on function fopen in module idc: + +fopen(f, mode) + #---------------------------------------------------------------------------- + # F I L E I / O + #---------------------------------------------------------------------------- + +Help on function force_bl_call in module idc: + +force_bl_call(ea) + Force BL instruction to be a call + + @param ea: address of the BL instruction + + @return: 1-ok, 0-failed + +Help on function force_bl_jump in module idc: + +force_bl_jump(ea) + 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 + +Help on function form in module idc: + +form(format, *args) + +Help on function fprintf in module idc: + +fprintf(handle, format, *args) + +Help on function fputc in module idc: + +fputc(byte, handle) + +Help on function fseek in module idc: + +fseek(handle, offset, origin) + +Help on function ftell in module idc: + +ftell(handle) + +Help on function func_contains in module idc: + +func_contains(func_ea, ea) + Does the given function contain the given address? + + @param func_ea: any address belonging to the function + @param ea: linear address + + @return: success + +Help on function gen_file in module idc: + +gen_file(filetype, path, ea1, ea2, flags) + 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 + +Help on function gen_flow_graph in module idc: + +gen_flow_graph(outfile, title, ea1, ea2, flags) + 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. + +Help on function gen_simple_call_chart in module idc: + +gen_simple_call_chart(outfile, title, flags) + 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 + +Help on function generate_disasm_line in module idc: + +generate_disasm_line(ea, flags) + 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. + +Help on function get_array_element in module idc: + +get_array_element(tag, array_id, idx) + 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. + +Help on function get_array_id in module idc: + +get_array_id(name) + 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. + +Help on function get_bmask_cmt in module idc: + +get_bmask_cmt(enum_id, bmask, repeatable) + 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 + +Help on function get_bmask_name in module idc: + +get_bmask_name(enum_id, bmask) + Get bitmask name (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + + @return: name of bitmask or None + +Help on function get_marked_pos in module ida_idc: + +get_marked_pos(*args) -> 'ea_t' + get_marked_pos(slot) -> ea_t + +Help on function get_mark_comment in module ida_idc: + +get_mark_comment(*args) -> 'PyObject *' + get_mark_comment(slot) -> PyObject * + +Help on function get_bpt_attr in module idc: + +get_bpt_attr(ea, bptattr) + 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 + +Help on function get_bpt_ea in module idc: + +get_bpt_ea(n) + Get breakpoint address + + @param n: number of breakpoint, is in range 0..get_bpt_qty()-1 + + @return: address of the breakpoint or BADADDR + +Help on function get_bpt_qty in module ida_dbg: + +get_bpt_qty(*args) -> 'int' + get_bpt_qty() -> int + + + Get number of breakpoints. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function get_bpt_tev_ea in module ida_dbg: + +get_bpt_tev_ea(*args) -> 'ea_t' + 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)}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. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a read, read/write or execution trace event. + +Help on function get_bytes in module idc: + +get_bytes(ea, size, use_dbg=False) + 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 + +Help on function get_call_tev_callee in module ida_dbg: + +get_call_tev_callee(*args) -> 'ea_t' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function call event. + +Help on function get_color in module idc: + +get_color(ea, what) + 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) + +Help on function get_curline in module idc: + +get_curline() + Get the disassembly line at the cursor + + @return: string + +Help on function get_current_thread in module ida_dbg: + +get_current_thread(*args) -> 'thid_t' + get_current_thread() -> thid_t + + + Get current thread ID. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_db_byte in module ida_bytes: + +get_db_byte(*args) -> 'uchar' + 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) + +Help on function get_debugger_event_cond in module ida_dbg: + +get_debugger_event_cond(*args) -> 'char const *' + get_debugger_event_cond() -> char const * + +Help on function get_entry in module ida_entry: + +get_entry(*args) -> 'ea_t' + get_entry(ord) -> ea_t + + + Get entry point address by its ordinal + + @param ord: ordinal number of entry point (C++: uval_t) + @return: address or BADADDR + +Help on function get_entry_name in module ida_entry: + +get_entry_name(*args) -> 'qstring *' + get_entry_name(ord) -> str + + + Get name of the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry name or -1 + +Help on function get_entry_ordinal in module ida_entry: + +get_entry_ordinal(*args) -> 'uval_t' + get_entry_ordinal(idx) -> uval_t + + + Get ordinal number of an entry point. + + @param idx: internal number of entry point. Should be in the range 0.. + get_entry_qty() -1 (C++: size_t) + @return: ordinal number or 0. + +Help on function get_entry_qty in module ida_entry: + +get_entry_qty(*args) -> 'size_t' + get_entry_qty() -> size_t + + + Get number of entry points. + +Help on function get_enum in module ida_enum: + +get_enum(*args) -> 'enum_t' + get_enum(name) -> enum_t + + + Get enum by name. + + + @param name (C++: const char *) + +Help on function get_enum_cmt in module ida_enum: + +get_enum_cmt(*args) -> 'qstring *' + get_enum_cmt(id, repeatable) -> str + + + Get enum comment. + + + @param id (C++: enum_t) + @param repeatable (C++: bool) + +Help on function get_enum_flag in module ida_enum: + +get_enum_flag(*args) -> 'flags_t' + get_enum_flag(id) -> flags_t + + + Get flags determining the representation of the enum. (currently they + define the numeric base: octal, decimal, hex, bin) and signness. + + @param id (C++: enum_t) + +Help on function get_enum_idx in module ida_enum: + +get_enum_idx(*args) -> 'uval_t' + get_enum_idx(id) -> uval_t + + + Get serial number of enum. The serial number determines the place of + the enum in the enum window. + + @param id (C++: enum_t) + +Help on function get_enum_member in module idc: + +get_enum_member(enum_id, value, serial, bmask) + 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 ida_enum.DEFMASK as a bitmask + + @return: id of constant or -1 if error + +Help on function get_enum_member_bmask in module ida_enum: + +get_enum_member_bmask(*args) -> 'bmask_t' + get_enum_member_bmask(id) -> bmask_t + + + Get bitmask of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_by_name in module ida_enum: + +get_enum_member_by_name(*args) -> 'const_t' + get_enum_member_by_name(name) -> const_t + + + Get a reference to an enum member by its name. + + + @param name (C++: const char *) + +Help on function get_enum_member_cmt in module idc: + +get_enum_member_cmt(const_id, repeatable) + Get comment of a constant + + @param const_id: id of const + @param repeatable: 0:get regular comment, 1:get repeatable comment + + @return: comment string + +Help on function get_enum_member_enum in module ida_enum: + +get_enum_member_enum(*args) -> 'enum_t' + get_enum_member_enum(id) -> enum_t + + + Get the parent enum of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_name in module idc: + +get_enum_member_name(const_id) + Get name of a constant + + @param const_id: id of const + + Returns: name of constant + +Help on function get_enum_member_value in module ida_enum: + +get_enum_member_value(*args) -> 'uval_t' + get_enum_member_value(id) -> uval_t + + + Get value of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_name in module ida_enum: + +get_enum_name(*args) -> 'qstring *' + get_enum_name(id) -> str + + + Get name of enum. + + + @param id (C++: enum_t) + +Help on function get_enum_qty in module ida_enum: + +get_enum_qty(*args) -> 'size_t' + get_enum_qty() -> size_t + + + Get number of declared 'enum_t' types. + +Help on function get_enum_size in module ida_enum: + +get_enum_size(*args) -> 'size_t' + get_enum_size(id) -> size_t + + + Get the number of the members of the enum. + + + @param id (C++: enum_t) + +Help on function get_enum_width in module ida_enum: + +get_enum_width(*args) -> 'size_t' + get_enum_width(id) -> size_t + + + Get the width of a enum element allowed values: 0 + (unspecified),1,2,4,8,16,32,64 + + @param id (C++: enum_t) + +Help on function get_event_bpt_hea in module idc: + +get_event_bpt_hea() + Get hardware address for BREAKPOINT event + + @return: hardware address + +Help on function get_event_ea in module idc: + +get_event_ea() + Get ea for debug event + + @return: ea + +Help on function get_event_exc_code in module idc: + +get_event_exc_code() + Get exception code for EXCEPTION event + + @return: exception code + +Help on function get_event_exc_ea in module idc: + +get_event_exc_ea() + Get address for EXCEPTION event + + @return: adress of exception + +Help on function get_event_exc_info in module idc: + +get_event_exc_info() + Get info for EXCEPTION event + + @return: info string + +Help on function get_event_exit_code in module idc: + +get_event_exit_code() + Get exit code for debug event + + @return: exit code for PROCESS_EXITED, THREAD_EXITED events + +Help on function get_event_id in module idc: + +get_event_id() + Get ID of debug event + + @return: event ID + +Help on function get_event_info in module idc: + +get_event_info() + Get debug event info + + @return: event info: for THREAD_STARTED (thread name) + for LIB_UNLOADED (unloaded library name) + for INFORMATION (message to display) + +Help on function get_event_module_base in module idc: + +get_event_module_base() + Get module base for debug event + + @return: module base + +Help on function get_event_module_name in module idc: + +get_event_module_name() + Get module name for debug event + + @return: module name + +Help on function get_event_module_size in module idc: + +get_event_module_size() + Get module size for debug event + + @return: module size + +Help on function get_event_pid in module idc: + +get_event_pid() + Get process ID for debug event + + @return: process ID + +Help on function get_event_tid in module idc: + +get_event_tid() + Get type ID for debug event + + @return: type ID + +Help on function get_extra_cmt in module ida_lines: + +get_extra_cmt(*args) -> 'int' + get_extra_cmt(ea, what) -> ssize_t + +Help on function get_fchunk_attr in module idc: + +get_fchunk_attr(ea, attr) + 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 + +Help on function get_fchunk_referer in module ida_funcs: + +get_fchunk_referer(*args) -> 'ea_t' + get_fchunk_referer(ea, idx) -> ea_t + +Help on function get_first_bmask in module ida_enum: + +get_first_bmask(*args) -> 'bmask_t' + get_first_bmask(id) -> bmask_t + + + Get first bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the smallest bitmask for enum, or DEFMASK + +Help on function get_first_cref_from in module ida_xref: + +get_first_cref_from(*args) -> 'ea_t' + 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!). + + @return: first referenced address. The lastXR variable contains type + of the reference. If the specified instruction doesn't + reference to other instructions then returns BADADDR . + +Help on function get_first_cref_to in module ida_xref: + +get_first_cref_to(*args) -> 'ea_t' + 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: linear address of referenced instruction (C++: ea_t) + @return: linear address of the first referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_first_dref_from in module ida_xref: + +get_first_dref_from(*args) -> 'ea_t' + get_first_dref_from(frm) -> ea_t + + + Get first data referenced from the specified address. + + @return: linear address of first (lowest) data referenced from the + specified address. The lastXR variable contains type of the + reference. Return BADADDR if the specified instruction/data + doesn't reference to anything. + +Help on function get_first_dref_to in module ida_xref: + +get_first_dref_to(*args) -> 'ea_t' + get_first_dref_to(to) -> ea_t + + + Get address of instruction/data referencing to the specified data. + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_first_enum_member in module idc: + +get_first_enum_member(enum_id, bmask) + Get first constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) + + @return: value of constant or idaapi.BADNODE no constants are defined + All constants are sorted by their values as unsigned longs. + +Help on function get_first_fcref_from in module ida_xref: + +get_first_fcref_from(*args) -> 'ea_t' + get_first_fcref_from(frm) -> ea_t + +Help on function get_first_fcref_to in module ida_xref: + +get_first_fcref_to(*args) -> 'ea_t' + get_first_fcref_to(to) -> ea_t + +Help on function get_first_hash_key in module idc: + +get_first_hash_key(hash_id) + Get the first key in the hash. + + @param hash_id: The hash ID. + + @return: the key, 0 otherwise. + +Help on function get_first_index in module idc: + +get_first_index(tag, array_id) + 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. + +Help on function get_first_member in module idc: + +get_first_member(sid) + Get offset of the first member of a structure + + @param sid: structure type ID + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if structure has no members, + otherwise returns offset of the first member. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_first_module in module idc: + +get_first_module() + Enumerate process modules + + @return: first module's base address or None on failure + +Help on function get_first_seg in module idc: + +get_first_seg() + Get first segment + + @return: address of the start of the first segment + BADADDR - no segments are defined + +Help on function get_first_struc_idx in module ida_struct: + +get_first_struc_idx(*args) -> 'uval_t' + get_first_struc_idx() -> uval_t + + + Get index of first structure. + + @return: BADADDR if no known structures, 0 otherwise + +Help on function get_fixup_target_dis in module idc: + +get_fixup_target_dis(ea) + Get fixup target displacement + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup target displacement + +Help on function get_fixup_target_flags in module idc: + +get_fixup_target_flags(ea) + Get fixup target flags + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup target flags + +Help on function get_fixup_target_off in module idc: + +get_fixup_target_off(ea) + Get fixup target offset + + @param ea: address to get information about + + @return: BADADDR - no fixup at the specified address + otherwise returns fixup target offset + +Help on function get_fixup_target_sel in module idc: + +get_fixup_target_sel(ea) + Get fixup target selector + + @param ea: address to get information about + + @return: BADSEL - no fixup at the specified address + otherwise returns fixup target selector + +Help on function get_fixup_target_type in module idc: + +get_fixup_target_type(ea) + Get fixup target type + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup type + +Help on function get_forced_operand in module ida_bytes: + +get_forced_operand(*args) -> 'qstring *' + get_forced_operand(ea, n) -> str + + + Get forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @return: size of forced operand or -1 + +Help on function get_frame_args_size in module idc: + +get_frame_args_size(ea) + 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 does't exist, return -1 + +Help on function get_frame_id in module idc: + +get_frame_id(ea) + 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. + +Help on function get_frame_lvar_size in module idc: + +get_frame_lvar_size(ea) + 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 does't exist, return None + +Help on function get_frame_regs_size in module idc: + +get_frame_regs_size(ea) + 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 does't exist, return None + +Help on function get_frame_size in module idc: + +get_frame_size(ea) + 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 does't exist, return 0 + +Help on function get_full_flags in module ida_bytes: + +get_full_flags(*args) -> 'flags_t' + get_full_flags(ea) -> flags_t + + + Get flags value for address 'ea'. + + @param ea (C++: ea_t) + @return: 0 if address is not present in the program + +Help on function get_func_attr in module idc: + +get_func_attr(ea, attr) + 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 + +Help on function get_func_cmt in module idc: + +get_func_cmt(ea, repeatable) + 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 + +Help on function get_func_flags in module idc: + +get_func_flags(ea) + Retrieve function flags + + @param ea: any address belonging to the function + + @return: -1 - function doesn't exist otherwise returns the flags + +Help on function get_func_name in module idc: + +get_func_name(ea) + Retrieve function name + + @param ea: any address belonging to the function + + @return: null string - function doesn't exist + otherwise returns function name + +Help on function get_func_off_str in module idc: + +get_func_off_str(ea) + 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 + +Help on function get_hash_long in module idc: + +get_hash_long(hash_id, key) + 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. + +Help on function get_hash_string in module idc: + +get_hash_string(hash_id, key) + 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. + +Help on function get_idb_path in module idc: + +get_idb_path() + Get IDB full path + + This function returns full path of the current IDB database + +Help on function get_inf_attr in module idc: + +get_inf_attr(attr) + +Help on function get_input_file_path in module ida_nalt: + +get_input_file_path(*args) -> 'size_t' + get_input_file_path() -> str + + + Get full path of the input file. + +Help on function get_item_end in module ida_bytes: + +get_item_end(*args) -> 'ea_t' + 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) + +Help on function get_item_head in module ida_bytes: + +get_item_head(*args) -> 'ea_t' + 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) + +Help on function get_item_size in module idc: + +get_item_size(ea) + Get size of instruction or data item in bytes + + @param ea: linear address + + @return: 1..n + +Help on function get_last_bmask in module ida_enum: + +get_last_bmask(*args) -> 'bmask_t' + get_last_bmask(id) -> bmask_t + + + Get last bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the biggest bitmask for enum, or DEFMASK + +Help on function get_last_enum_member in module idc: + +get_last_enum_member(enum_id, bmask) + Get last constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) + + @return: value of constant or idaapi.BADNODE no constants are defined + All constants are sorted by their values + as unsigned longs. + +Help on function get_last_hash_key in module idc: + +get_last_hash_key(hash_id) + Get the last key in the hash. + + @param hash_id: The hash ID. + + @return: the key, 0 otherwise. + +Help on function get_last_index in module idc: + +get_last_index(tag, array_id) + 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. + +Help on function get_last_member in module idc: + +get_last_member(sid) + Get offset of the last member of a structure + + @param sid: structure type ID + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if structure has no members, + otherwise returns offset of the last member. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_last_struc_idx in module ida_struct: + +get_last_struc_idx(*args) -> 'uval_t' + get_last_struc_idx() -> uval_t + + + Get index of last structure. + + @return: BADADDR if no known structures, get_struc_qty() -1 + otherwise + +Help on function get_local_tinfo in module idc: + +get_local_tinfo(ordinal) + Get local type information as 'typeinfo' object + + @param ordinal: slot number (1...NumberOfLocalTypes) + @return: None on failure, or (type, fields) tuple. + +Help on function get_manual_insn in module ida_bytes: + +get_manual_insn(*args) -> 'qstring *' + get_manual_insn(ea) -> str + + + Retrieve the user-specified string for the manual instruction. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @return: size of manual instruction or -1 + +Help on function get_member_cmt in module idc: + +get_member_cmt(sid, member_offset, repeatable) + 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: 1: get repeatable comment + 0: get regular comment + + @return: None if bad structure type ID is passed + or no such member in the structure + otherwise returns comment of the specified member. + +Help on function get_member_flag in module idc: + +get_member_flag(sid, member_offset) + Get type 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 type of the member, see bit + definitions above. If the member type is a structure + then function GetMemberStrid() should be used to + get the structure type id. + +Help on function get_member_id in module idc: + +get_member_id(sid, member_offset) + @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. + +Help on function get_member_name in module idc: + +get_member_name(sid, member_offset) + 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. + +Help on function get_member_offset in module idc: + +get_member_offset(sid, member_name) + 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... + +Help on function get_member_qty in module idc: + +get_member_qty(sid) + 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. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_member_size in module idc: + +get_member_size(sid, member_offset) + 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. + +Help on function get_member_strid in module idc: + +get_member_strid(sid, member_offset) + 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. + +Help on function get_min_spd_ea in module idc: + +get_min_spd_ea(func_ea) + 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 + +Help on function get_module_name in module idc: + +get_module_name(base) + Get process module name + + @param base: the base address of the module + + @return: required info or None + +Help on function get_module_size in module idc: + +get_module_size(base) + Get process module size + + @param base: the base address of the module + + @return: required info or -1 + +Help on function get_name in module idc: + +get_name(ea, gtn_flags=0) + 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 + +Help on function get_name_ea in module ida_name: + +get_name_ea(*args) -> 'ea_t' + get_name_ea(_from, name) -> ea_t + + + Get address of the name. Dummy names (like byte_xxxx where xxxx are + hex digits) are parsed by this function to obtain the address. The + database is not consulted for them. This function works only with + regular names. + + @param _from: linear address where the name is used. if not + applicable, then should be BADADDR . (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: address of the name or BADADDR + +Help on function get_name_ea_simple in module idc: + +get_name_ea_simple(name) + Get linear address of a name + + @param name: name of program byte + + @return: address of the name + BADADDR - No such name + +Help on function get_next_bmask in module ida_enum: + +get_next_bmask(*args) -> 'bmask_t' + get_next_bmask(id, bmask) -> bmask_t + + + Get next bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value higher than the specified + value, or DEFMASK + +Help on function get_next_cref_from in module ida_xref: + +get_next_cref_from(*args) -> 'ea_t' + get_next_cref_from(frm, current) -> ea_t + + + Get next instruction referenced from the specified instruction. + + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_from() or + previous call to get_next_cref_from() functions. + (C++: ea_t) + @return: next referenced address or BADADDR . The lastXR variable + contains type of the reference. + +Help on function get_next_cref_to in module ida_xref: + +get_next_cref_to(*args) -> 'ea_t' + get_next_cref_to(to, current) -> ea_t + + + Get next instruction referencing to the specified instruction. + + @param to: linear address of referenced instruction (C++: ea_t) + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_to() or previous + call to get_next_cref_to() functions. (C++: ea_t) + @return: linear address of the next referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_next_dref_from in module ida_xref: + +get_next_dref_from(*args) -> 'ea_t' + get_next_dref_from(frm, current) -> ea_t + + + Get next data referenced from the specified address. + + @param current: linear address of current referenced data. This value + is returned by get_first_dref_from() or previous + call to get_next_dref_from() functions. (C++: ea_t) + @return: linear address of next data or BADADDR . The lastXR + variable contains type of the reference + +Help on function get_next_dref_to in module ida_xref: + +get_next_dref_to(*args) -> 'ea_t' + get_next_dref_to(to, current) -> ea_t + + + Get address of instruction/data referencing to the specified data + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @param current: current linear address. This value is returned by + get_first_dref_to() or previous call to + get_next_dref_to() functions. (C++: ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_next_enum_member in module idc: + +get_next_enum_member(enum_id, value, bmask) + Get next constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant ordinary enums accept only ida_enum.DEFMASK as a bitmask + @param value: value of the current constant + + @return: value of a constant with value higher than the specified + value. idaapi.BADNODE no such constants exist. + All constants are sorted by their values as unsigned longs. + +Help on function get_next_fchunk in module idc: + +get_next_fchunk(ea) + 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 + +Help on function get_next_fcref_from in module ida_xref: + +get_next_fcref_from(*args) -> 'ea_t' + get_next_fcref_from(frm, current) -> ea_t + +Help on function get_next_fcref_to in module ida_xref: + +get_next_fcref_to(*args) -> 'ea_t' + get_next_fcref_to(to, current) -> ea_t + +Help on function get_next_fixup_ea in module ida_fixup: + +get_next_fixup_ea(*args) -> 'ea_t' + get_next_fixup_ea(ea) -> ea_t + + + Find next address with fixup information + + @param ea: current address (C++: ea_t) + @return: the next address with fixup information, or BADADDR + +Help on function get_next_func in module idc: + +get_next_func(ea) + Find next function + + @param ea: any address belonging to the function + + @return: BADADDR - no more functions + otherwise returns the next function start address + +Help on function get_next_hash_key in module idc: + +get_next_hash_key(hash_id, key) + Get the next key in the hash. + + @param hash_id: The hash ID. + @param key: The current key. + + @return: the next key, 0 otherwise + +Help on function get_next_index in module idc: + +get_next_index(tag, array_id, idx) + 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. + +Help on function get_next_module in module idc: + +get_next_module(base) + Enumerate process modules + + @param base: previous module's base address + + @return: next module's base address or None on failure + +Help on function get_next_offset in module idc: + +get_next_offset(sid, offset) + Get next offset in a structure + + @param sid: structure type ID + @param offset: current offset + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if no (more) offsets in the structure, + otherwise returns next offset in a structure. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + This function returns a member offset or a hole offset. + It will return size of the structure if input + 'offset' belongs to the last member of the structure. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_next_seg in module idc: + +get_next_seg(ea) + Get next segment + + @param ea: linear address + + @return: start of the next segment + BADADDR - no next segment + +Help on function get_next_struc_idx in module ida_struct: + +get_next_struc_idx(*args) -> 'uval_t' + get_next_struc_idx(idx) -> uval_t + + + Get next struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is out of bounds, otherwise idx++ + +Help on function get_numbered_type_name in module idc: + +get_numbered_type_name(ordinal) + Retrieve a local type name + + @param ordinal: slot number (1...NumberOfLocalTypes) + + returns: local type name or None + +Help on function get_operand_type in module idc: + +get_operand_type(ea, n) + 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 + +Help on function get_operand_value in module idc: + +get_operand_value(ea, n) + 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 + +Help on function get_ordinal_qty in module idc: + +get_ordinal_qty() + Get number of local types + 1 + + @return: value >= 1. 1 means that there are no local types. + +Help on function get_original_byte in module ida_bytes: + +get_original_byte(*args) -> 'uint64' + 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) + +Help on function get_prev_bmask in module ida_enum: + +get_prev_bmask(*args) -> 'bmask_t' + get_prev_bmask(id, bmask) -> bmask_t + + + Get prev bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value lower than the specified value, + or DEFMASK + +Help on function get_prev_enum_member in module idc: + +get_prev_enum_member(enum_id, value, bmask) + Get prev constant in the enum + + @param enum_id: id of enum + @param bmask : bitmask of the constant + ordinary enums accept only ida_enum.DEFMASK as a bitmask + @param value: value of the current constant + + @return: value of a constant with value lower than the specified + value. idaapi.BADNODE no such constants exist. + All constants are sorted by their values as unsigned longs. + +Help on function get_prev_fchunk in module idc: + +get_prev_fchunk(ea) + 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 + +Help on function get_prev_fixup_ea in module ida_fixup: + +get_prev_fixup_ea(*args) -> 'ea_t' + get_prev_fixup_ea(ea) -> ea_t + + + Find previous address with fixup information + + @param ea: current address (C++: ea_t) + @return: the previous address with fixup information, or BADADDR + +Help on function get_prev_func in module idc: + +get_prev_func(ea) + Find previous function + + @param ea: any address belonging to the function + + @return: BADADDR - no more functions + otherwise returns the previous function start address + +Help on function get_prev_hash_key in module idc: + +get_prev_hash_key(hash_id, key) + Get the previous key in the hash. + + @param hash_id: The hash ID. + @param key: The current key. + + @return: the previous key, 0 otherwise + +Help on function get_prev_index in module idc: + +get_prev_index(tag, array_id, idx) + 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. + +Help on function get_prev_offset in module idc: + +get_prev_offset(sid, offset) + Get previous offset in a structure + + @param sid: structure type ID + @param offset: current offset + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if no (more) offsets in the structure, + otherwise returns previous offset in a structure. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + This function returns a member offset or a hole offset. + It will return size of the structure if input + 'offset' is bigger than the structure size. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_prev_struc_idx in module ida_struct: + +get_prev_struc_idx(*args) -> 'uval_t' + get_prev_struc_idx(idx) -> uval_t + + + Get previous struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is negative, otherwise idx - 1 + +Help on function get_process_state in module ida_dbg: + +get_process_state(*args) -> 'int' + 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 + +Help on function get_processes in module ida_dbg: + +get_processes(*args) -> 'ssize_t' + 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 *) + @return: number of processes or -1 on error + +Help on function get_qword in module ida_bytes: + +get_qword(*args) -> 'uint64' + get_qword(ea) -> uint64 + + + Get one qword (64-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_reg_value in module idc: + +get_reg_value(name) + Get register value + + @param name: the register name + + @note: The debugger should be running. otherwise the function fails + the register name should be valid. + It is not necessary to use this function to get register values + because a register name in the script will do too. + + @return: register value (integer or floating point) + +Help on function get_ret_tev_return in module ida_dbg: + +get_ret_tev_return(*args) -> 'ea_t' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function return event. + +Help on function get_root_filename in module ida_nalt: + +get_root_filename(*args) -> 'size_t' + get_root_filename() -> str + + + Get file name only of the input file. + +Help on function get_screen_ea in module ida_kernwin: + +get_screen_ea(*args) -> 'ea_t' + get_screen_ea() -> ea_t + + + Get the address at the screen cursor ( 'ui_screenea' ) + +Help on function get_segm_attr in module idc: + +get_segm_attr(segea, attr) + Get segment attribute + + @param segea: any address within segment + @param attr: one of SEGATTR_... constants + +Help on function get_segm_by_sel in module idc: + +get_segm_by_sel(base) + 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 + +Help on function get_segm_end in module idc: + +get_segm_end(ea) + 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 + +Help on function get_segm_name in module idc: + +get_segm_name(ea) + Get name of a segment + + @param ea: any address in the segment + + @return: "" - no segment at the specified address + +Help on function get_segm_start in module idc: + +get_segm_start(ea) + 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 + +Help on function get_source_linnum in module ida_nalt: + +get_source_linnum(*args) -> 'uval_t' + get_source_linnum(ea) -> uval_t + +Help on function get_sourcefile in module ida_lines: + +get_sourcefile(*args) -> 'char const *' + get_sourcefile(ea, bounds=None) -> char const * + + + Get name of source file occupying the given address. + + @param ea: linear address (C++: ea_t) + @param bounds: pointer to the output buffer with the address range for + the current file. May be NULL. (C++: range_t *) + @return: NULL if source file information is not found, otherwise + returns pointer to file name + +Help on function get_sp_delta in module idc: + +get_sp_delta(ea) + 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 + +Help on function get_spd in module idc: + +get_spd(ea) + 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 + +Help on function get_sreg in module idc: + +get_sreg(ea, reg) + 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. + +Help on function get_step_trace_options in module ida_dbg: + +get_step_trace_options(*args) -> 'int' + get_step_trace_options() -> int + + + Get current step tracing options. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @return: Step trace options + +Help on function get_str_type in module idc: + +get_str_type(ea) + Get string type + + @param ea: linear address + + @return: One of STRTYPE_... constants + +Help on function get_strlit_contents in module idc: + +get_strlit_contents(ea, length=-1, strtype=0) + 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 + +Help on function get_struc_by_idx in module ida_struct: + +get_struc_by_idx(*args) -> 'tid_t' + get_struc_by_idx(idx) -> tid_t + + + Get struct id by struct number. + + + @param idx (C++: uval_t) + +Help on function get_struc_cmt in module ida_struct: + +get_struc_cmt(*args) -> 'qstring *' + get_struc_cmt(id, repeatable) -> str + + + Get struct comment. + + + @param id (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_struc_id in module ida_struct: + +get_struc_id(*args) -> 'tid_t' + get_struc_id(name) -> tid_t + + + Get struct id by name. + + + @param name (C++: const char *) + +Help on function get_struc_idx in module ida_struct: + +get_struc_idx(*args) -> 'uval_t' + get_struc_idx(id) -> uval_t + + + Get internal number of the structure. + + + @param id (C++: tid_t) + +Help on function get_struc_name in module ida_struct: + +get_struc_name(*args) -> 'qstring *' + get_struc_name(id, flags=0) -> str + + + Get struct name by id + + @param id: struct id (C++: tid_t) + @param flags: Struct name flags (C++: int) + +Help on function get_struc_qty in module ida_struct: + +get_struc_qty(*args) -> 'size_t' + get_struc_qty() -> size_t + + + Get number of known structures. + +Help on function get_struc_size in module ida_struct: + +get_struc_size(*args) -> 'asize_t' + get_struc_size(sptr) -> asize_t + get_struc_size(id) -> asize_t + + + Get struct size (also see 'get_struc_size(tid_t)' ) + + + @param sptr (C++: const struc_t *) + +Help on function get_tev_ea in module ida_dbg: + +get_tev_ea(*args) -> 'ea_t' + get_tev_ea(n) -> ea_t + +Help on function get_tev_reg_mem in module ida_dbg: + +get_tev_reg_mem(tev, idx) + +Help on function get_tev_reg_mem_ea in module ida_dbg: + +get_tev_reg_mem_ea(tev, idx) + +Help on function get_tev_reg_mem_qty in module ida_dbg: + +get_tev_reg_mem_qty(tev) + +Help on function get_tev_qty in module ida_dbg: + +get_tev_qty(*args) -> 'int' + get_tev_qty() -> int + + + Get number of trace events available in trace buffer. \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_tev_reg_val in module ida_dbg: + +get_tev_reg_val(tev, reg) + +Help on function get_tev_tid in module ida_dbg: + +get_tev_tid(*args) -> 'int' + get_tev_tid(n) -> int + +Help on function get_tev_type in module ida_dbg: + +get_tev_type(*args) -> 'int' + get_tev_type(n) -> int + +Help on function get_thread_qty in module ida_dbg: + +get_thread_qty(*args) -> 'int' + get_thread_qty() -> int + + + Get number of threads. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_tinfo in module idc: + +get_tinfo(ea) + Get type information of function/variable as 'typeinfo' object + + @param ea: the address of the object + @return: None on failure, or (type, fields) tuple. + +Help on function get_trace_file_desc in module ida_dbg: + +get_trace_file_desc(*args) -> 'qstring *' + get_trace_file_desc(filename) -> str + + + Get the file header of the specified trace file. + + + @param filename (C++: const char *) + +Help on function get_type in module idc: + +get_type(ea) + Get type of function/variable + + @param ea: the address of the object + + @return: type string or None if failed + +Help on function get_wide_byte in module ida_bytes: + +get_wide_byte(*args) -> 'uint64' + 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) + +Help on function get_wide_dword in module ida_bytes: + +get_wide_dword(*args) -> 'uint64' + 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 + \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 + + @param ea (C++: ea_t) + +Help on function get_wide_word in module ida_bytes: + +get_wide_word(*args) -> 'uint64' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_xref_type in module idc: + +get_xref_type() + Return type of the last xref obtained by + [RD]first/next[B0] functions. + + @return: constants fl_* or dr_* + +Help on function getn_enum in module ida_enum: + +getn_enum(*args) -> 'enum_t' + getn_enum(n) -> enum_t + + + Get enum by its ordinal number (0..n). + + + @param n (C++: size_t) + +Help on function getn_thread in module ida_dbg: + +getn_thread(*args) -> 'thid_t' + getn_thread(n) -> thid_t + + + Get the ID of a thread. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: + int) + @return: NO_THREAD if the thread doesn't exist. + +Help on function getn_thread_name in module ida_dbg: + +getn_thread_name(*args) -> 'char const *' + getn_thread_name(n) -> char const * + + + Get the NAME of a thread \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 + for the current thread (C++: int) + @return: thread name or NULL if the thread doesn't exist. + +Help on function guess_type in module idc: + +guess_type(ea) + 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 + +Help on function hasName in module idc: + +hasName(F) + +Help on function hasUserName in module idc: + +hasUserName(F) + +Help on function has_value in module idc: + +has_value(F) + +Help on function here in module idc: + +here() + # Convenience functions: + +Help on function idadir in module idc: + +idadir() + Get IDA directory + + This function returns the directory where IDA.EXE resides + +Help on function import_type in module idc: + +import_type(idx, type_name) + Copy information from type library to database + Copy structure, union, or enum definition from the type library + to the IDA database. + + @param idx: the position of the new type in the list of + types (structures or enums) -1 means at the end of the list + @param type_name: name of type to copy + + @return: BADNODE-failed, otherwise the type id (structure id or enum id) + +Help on function isBin0 in module idc: + +isBin0(F) + +Help on function isBin1 in module idc: + +isBin1(F) + +Help on function isDec0 in module idc: + +isDec0(F) + +Help on function isDec1 in module idc: + +isDec1(F) + +Help on function isExtra in module idc: + +isExtra(F) + +Help on function isHex0 in module idc: + +isHex0(F) + +Help on function isHex1 in module idc: + +isHex1(F) + +Help on function isOct0 in module idc: + +isOct0(F) + +Help on function isOct1 in module idc: + +isOct1(F) + +Help on function isRef in module idc: + +isRef(F) + +Help on function is_align in module idc: + +is_align(F) + +Help on function is_bf in module ida_enum: + +is_bf(*args) -> 'bool' + is_bf(id) -> bool + + + Is enum a bitfield? (otherwise - plain enum, no bitmasks except for + 'DEFMASK' are allowed) + + @param id (C++: enum_t) + +Help on function is_byte in module idc: + +is_byte(F) + +Help on function is_char0 in module idc: + +is_char0(F) + +Help on function is_char1 in module idc: + +is_char1(F) + +Help on function is_code in module idc: + +is_code(F) + +Help on function is_data in module idc: + +is_data(F) + +Help on function is_defarg0 in module idc: + +is_defarg0(F) + +Help on function is_defarg1 in module idc: + +is_defarg1(F) + +Help on function is_double in module idc: + +is_double(F) + +Help on function is_dword in module idc: + +is_dword(F) + +Help on function is_enum0 in module idc: + +is_enum0(F) + +Help on function is_enum1 in module idc: + +is_enum1(F) + +Help on function is_event_handled in module idc: + +is_event_handled() + Is the debug event handled? + + @return: boolean + +Help on function is_float in module idc: + +is_float(F) + +Help on function is_flow in module idc: + +is_flow(F) + +Help on function is_head in module idc: + +is_head(F) + +Help on function is_loaded in module idc: + +is_loaded(ea) + Is the byte initialized? + +Help on function is_manual0 in module idc: + +is_manual0(F) + +Help on function is_manual1 in module idc: + +is_manual1(F) + +Help on function is_mapped in module idc: + +is_mapped(ea) + +Help on function is_off0 in module idc: + +is_off0(F) + +Help on function is_off1 in module idc: + +is_off1(F) + +Help on function is_oword in module idc: + +is_oword(F) + +Help on function is_pack_real in module idc: + +is_pack_real(F) + +Help on function is_qword in module idc: + +is_qword(F) + +Help on function is_seg0 in module idc: + +is_seg0(F) + +Help on function is_seg1 in module idc: + +is_seg1(F) + +Help on function is_stkvar0 in module idc: + +is_stkvar0(F) + +Help on function is_stkvar1 in module idc: + +is_stkvar1(F) + +Help on function is_strlit in module idc: + +is_strlit(F) + +Help on function is_stroff0 in module idc: + +is_stroff0(F) + +Help on function is_stroff1 in module idc: + +is_stroff1(F) + +Help on function is_struct in module idc: + +is_struct(F) + +Help on function is_tail in module idc: + +is_tail(F) + +Help on function is_tbyte in module idc: + +is_tbyte(F) + +Help on function is_union in module idc: + +is_union(sid) + Is a structure a union? + + @param sid: structure type ID + + @return: 1: yes, this is a union id + 0: no + + @note: Unions are a special kind of structures + +Help on function is_unknown in module idc: + +is_unknown(F) + +Help on function is_valid_trace_file in module ida_dbg: + +is_valid_trace_file(*args) -> 'bool' + is_valid_trace_file(filename) -> bool + + + Is the specified file a valid trace file for the current database? + + + @param filename (C++: const char *) + +Help on function is_word in module idc: + +is_word(F) + +Help on function jumpto in module ida_kernwin: + +jumpto(*args) -> 'bool' + jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool + jumpto(custom_viewer, place, x, y) -> bool + + + Jump to the specified address ( 'ui_jumpto' ). + + @param ea: destination (C++: ea_t) + @param opnum: -1: don't change x coord (C++: int) + @param uijmp_flags: Jump flags (C++: int) + @return: success + +Help on function load_and_run_plugin in module ida_loader: + +load_and_run_plugin(*args) -> 'bool' + load_and_run_plugin(name, arg) -> bool + + + Load & run a plugin. + + + @param name (C++: const char *) + @param arg (C++: size_t) + +Help on function load_debugger in module ida_dbg: + +load_debugger(*args) -> 'bool' + load_debugger(dbgname, use_remote) -> bool + +Help on function load_trace_file in module ida_dbg: + +load_trace_file(*args) -> 'qstring *' + load_trace_file(filename) -> str + + + Load a recorded trace file in the trace 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 *) + +Help on function loadfile in module idc: + +loadfile(filepath, pos, ea, size) + +Help on function ltoa in module idc: + +ltoa(n, radix) + +Help on function make_array in module idc: + +make_array(ea, nitems) + 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. + +Help on function move_segm in module idc: + +move_segm(ea, to, flags) + 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 + +Help on function msg in module ida_kernwin: + +msg(*args) -> 'PyObject *' + msg(o) -> PyObject * + + + 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 + +Help on function next_addr in module ida_bytes: + +next_addr(*args) -> 'ea_t' + 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. + +Help on function next_func_chunk in module idc: + +next_func_chunk(funcea, tailea) + 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 + +Help on function next_head in module idc: + +next_head(ea, maxea=BADADDR)↗ + 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 + +Help on function next_not_tail in module ida_bytes: + +next_not_tail(*args) -> 'ea_t' + next_not_tail(ea) -> ea_t + + + Get address of next non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function op_bin in module ida_bytes: + +op_bin(*args) -> 'bool' + op_bin(ea, n) -> bool + + + set op type to 'bin_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_chr in module ida_bytes: + +op_chr(*args) -> 'bool' + op_chr(ea, n) -> bool + + + set op type to 'char_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_dec in module ida_bytes: + +op_dec(*args) -> 'bool' + op_dec(ea, n) -> bool + + + set op type to 'dec_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_enum in module ida_bytes: + +op_enum(*args) -> 'bool' + op_enum(ea, n, id, serial) -> bool + + + Set operand representation to be 'enum_t'. If applied to unexplored + bytes, converts them to 16/32bit word data + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @param id: id of enum (C++: enum_t) + @param serial: 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 (C++: uchar) + @return: success + +Help on function op_flt in module ida_bytes: + +op_flt(*args) -> 'bool' + op_flt(ea, n) -> bool + + + set op type to 'flt_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_hex in module ida_bytes: + +op_hex(*args) -> 'bool' + op_hex(ea, n) -> bool + + + set op type to 'hex_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function set_forced_operand in module ida_bytes: + +set_forced_operand(*args) -> 'bool' + set_forced_operand(ea, n, op) -> bool + + + Set forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @param op: text of operand NULL: do nothing (return 0) "" : delete + forced operand (C++: const char *) + @return: success + +Help on function op_num in module ida_bytes: + +op_num(*args) -> 'bool' + op_num(ea, n) -> bool + + + set op type to 'num_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_oct in module ida_bytes: + +op_oct(*args) -> 'bool' + op_oct(ea, n) -> bool + + + set op type to 'oct_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_offset in module ida_offset: + +op_offset(*args) -> 'int' + op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int + + + See 'op_offset_ex()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param type (C++: reftype_t) + @param target (C++: ea_t) + @param base (C++: ea_t) + @param tdelta (C++: adiff_t) + +Help on function op_offset_high16 in module idc: + +op_offset_high16(ea, n, target) + 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 + +Help on function op_plain_offset in module idc: + +op_plain_offset(ea, n, base) + 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 + +Help on function op_seg in module ida_bytes: + +op_seg(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stkvar in module ida_bytes: + +op_stkvar(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stroff in module idc: + +op_stroff(ea, n, strid, delta) + 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. + +Help on function parse_decl in module idc: + +parse_decl(inputtype, flags) + 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 + +Help on function parse_decls in module idc: + +parse_decls(inputtype, flags=0) + 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) + +Help on function patch_byte in module ida_bytes: + +patch_byte(*args) -> 'bool' + 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. + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function put_dbg_byte in module ida_dbg: + +put_dbg_byte(*args) -> 'bool' + put_dbg_byte(ea, x) -> bool + + + Change one byte of the debugged process memory. + + @param ea: linear address (C++: ea_t) + @param x: byte value (C++: uint32) + @return: true if the process memory has been modified + +Help on function patch_dword in module ida_bytes: + +patch_dword(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_qword in module ida_bytes: + +patch_qword(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_word in module ida_bytes: + +patch_word(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function plan_and_wait in module idc: + +plan_and_wait(sEA, eEA, final_pass=True) + 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. + +Help on function plan_to_apply_idasgn in module ida_funcs: + +plan_to_apply_idasgn(*args) -> 'int' + plan_to_apply_idasgn(fname) -> int + + + Add a signature file to the list of planned signature files. + + @param fname: file name. should not contain directory part. (C++: + const char *) + @return: 0 if failed, otherwise number of planned (and applied) + signatures + +Help on function prev_addr in module ida_bytes: + +prev_addr(*args) -> 'ea_t' + prev_addr(ea) -> ea_t + + + Get previous address in the program. + + @param ea (C++: ea_t) + @return: BADADDR if no such address exist. + +Help on function prev_head in module idc: + +prev_head(ea, minea=0) + 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 + +Help on function prev_not_tail in module ida_bytes: + +prev_not_tail(*args) -> 'ea_t' + prev_not_tail(ea) -> ea_t + + + Get address of previous non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function print_decls in module idc: + +print_decls(ordinals, flags) + 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 + +Help on _Feature in module __future__ object: + +class _Feature(builtins.object) + | Methods defined here: + | + | __init__(self, optionalRelease, mandatoryRelease, compiler_flag) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__(self) + | Return repr(self). + | + | getMandatoryRelease(self) + | Return release in which this feature will become mandatory. + | + | This is a 5-tuple, of the same form as sys.version_info, or, if + | the feature was dropped, is None. + | + | getOptionalRelease(self) + | Return first release in which this feature was recognized. + | + | This is a 5-tuple, of the same form as sys.version_info. + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function print_insn_mnem in module idc: + +print_insn_mnem(ea) + 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. + +Help on function print_operand in module idc: + +print_operand(ea, n) + 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 "" + +Help on function process_config_line in module idc: + +process_config_line(directive) + Parse one or more ida.cfg config directives + @param directive: directives to process, for example: PACK_DATABASE=2 + + @note: If the directives are erroneous, a fatal error will be generated. + The settings are permanent: effective for the current session and the next ones + +Help on function process_ui_action in module idc: + +process_ui_action(name, flags=0) + Invokes an IDA UI action by name + + @param name: Command name + @param flags: Reserved. Must be zero + @return: Boolean + +Help on function mark_position in module ida_idc: + +mark_position(*args) -> 'void' + mark_position(ea, lnnum, x, y, slot, comment) + +Help on function qexit in module ida_pro: + +qexit(*args) -> 'void' + qexit(code) + + + Call qatexit functions, shut down UI and kernel, and exit. + + @param code: exit code (C++: int) + +Help on function qsleep in module idc: + +qsleep(milliseconds) + qsleep the specified number of milliseconds + This function suspends IDA for the specified amount of time + + @param milliseconds: time to sleep + +Help on function read_dbg_byte in module idc: + +read_dbg_byte(ea) + Get value of program byte using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_dbg_dword in module idc: + +read_dbg_dword(ea) + Get value of program double-word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function dbg_read_memory in module ida_idd: + +dbg_read_memory(*args) -> 'PyObject *' + dbg_read_memory(ea, sz) -> PyObject * + + + Reads from the debugee's memory at the specified ea + @return: + - The read buffer (as a string) + - Or None on failure + +Help on function read_dbg_qword in module idc: + +read_dbg_qword(ea) + Get value of program quadro-word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_dbg_word in module idc: + +read_dbg_word(ea) + Get value of program word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_selection_end in module idc: + +read_selection_end() + Get end address of the selected range + + @return: BADADDR - the user has not selected an range + +Help on function read_selection_start in module idc: + +read_selection_start() + Get start address of the selected range + returns BADADDR - the user has not selected an range + +Help on function readlong in module idc: + +readlong(handle, mostfirst) + +Help on function readshort in module idc: + +readshort(handle, mostfirst) + +Help on function readstr in module idc: + +readstr(handle) + +Help on function rebase_program in module ida_segment: + +rebase_program(*args) -> 'int' + rebase_program(delta, flags) -> int + + + Rebase the whole program by 'delta' bytes. + + @param delta: number of bytes to move the program (C++: adiff_t) + @param flags: Move segment flags it is recommended to use + MSF_FIXONCE so that the loader takes care of global + variables it stored in the database (C++: int) + @return: Move segment result codes + +Help on function recalc_spd in module ida_frame: + +recalc_spd(*args) -> 'bool' + 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: linear address of the current instruction (C++: ea_t) + +Help on function refresh_debugger_memory in module ida_dbg: + +refresh_debugger_memory(*args) -> 'PyObject *' + refresh_debugger_memory() -> PyObject * + + + Refreshes the debugger memory + @return: Nothing + +Help on function refresh_idaview_anyway in module ida_kernwin: + +refresh_idaview_anyway(*args) -> 'void' + refresh_idaview_anyway() + + + Refresh all disassembly views ( 'ui_refresh' ), forces an immediate + refresh. Please consider 'request_refresh()' instead + +Help on function refresh_choosers in module ida_kernwin: + +refresh_choosers(*args) -> 'void' + refresh_choosers() + +Help on function remove_fchunk in module idc: + +remove_fchunk(funcea, tailea) + 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 + +Help on function rename_array in module idc: + +rename_array(array_id, newname) + 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 + +Help on function rename_entry in module ida_entry: + +rename_entry(*args) -> 'bool' + rename_entry(ord, name, flags=0) -> bool + + + Rename entry point. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to a repeatable + comment. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +Help on function resume_process in module idc: + +resume_process() + +Help on function resume_thread in module ida_dbg: + +resume_thread(*args) -> 'int' + resume_thread(tid) -> int + + + Resume thread. \sq{Type, Synchronous function - available as request, + Notification, none (synchronous function)} + + @param tid: thread id (C++: thid_t) + +Help on function retrieve_input_file_md5 in module ida_nalt: + +retrieve_input_file_md5(*args) -> 'uchar [ANY]' + retrieve_input_file_md5() -> str + + + Get input file md5. + +Help on function rotate_byte in module idc: + +rotate_byte(x, count) + +Help on function rotate_dword in module idc: + +rotate_dword(x, count) + +Help on function rotate_left in module idc: + +rotate_left(value, count, nbits, offset) + 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 + +Help on function rotate_word in module idc: + +rotate_word(x, count) + +Help on function run_to in module ida_dbg: + +run_to(*args) -> 'bool' + 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: target address (C++: ea_t) + @param pid: not used yet. please do not specify this parameter. (C++: + pid_t) + @param tid: not used yet. please do not specify this parameter. (C++: + thid_t) + +Help on function save_database in module idc: + +save_database(idbname, flags=0) + 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 + +Help on function save_trace_file in module ida_dbg: + +save_trace_file(*args) -> 'bool' + save_trace_file(filename, description) -> bool + + + Save the current trace in the specified file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function savefile in module idc: + +savefile(filepath, pos, ea, size) + +Help on function sel2para in module idc: + +sel2para(sel) + 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 + +Help on function select_thread in module ida_dbg: + +select_thread(*args) -> 'bool' + 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: ID of the thread to select (C++: thid_t) + @return: false if the thread doesn't exist. + +Help on function selector_by_name in module idc: + +selector_by_name(segname) + Get segment selector by name + + @param segname: name of segment + + @return: segment selector or BADADDR + +Help on function send_dbg_command in module idc: + +send_dbg_command(cmd) + 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. + +Help on function set_array_long in module idc: + +set_array_long(array_id, idx, value) + 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 + +Help on function set_array_params in module idc: + +set_array_params(ea, flags, litems, align) + 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 + +Help on function set_array_string in module idc: + +set_array_string(array_id, idx, value) + 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 + +Help on function set_bmask_cmt in module idc: + +set_bmask_cmt(enum_id, bmask, cmt, repeatable) + Set bitmask comment (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + @param cmt: comment + repeatable - type of comment, 0-regular, 1-repeatable + + @return: 1-ok, 0-failed + +Help on function set_bmask_name in module idc: + +set_bmask_name(enum_id, bmask, name) + Set bitmask name (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + @param name: name of bitmask + + @return: 1-ok, 0-failed + +Help on function set_bpt_attr in module idc: + +set_bpt_attr(address, bptattr, value) + 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 attibute value + + @return: success + +Help on function set_bpt_cond in module idc: + +set_bpt_cond(ea, cnd, is_lowcnd=0) + 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 + +Help on function set_cmt in module ida_bytes: + +set_cmt(*args) -> 'bool' + set_cmt(ea, comm, rptble) -> bool + + + Set an indented comment. + + @param ea: linear address (C++: ea_t) + @param comm: comment string NULL: do nothing (return 0) "" : + delete comment (C++: const char *) + @param rptble: is repeatable? (C++: bool) + @return: success + +Help on function set_color in module idc: + +set_color(ea, what, color) + 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) + +Help on function set_debugger_event_cond in module ida_dbg: + +set_debugger_event_cond(*args) -> 'void' + set_debugger_event_cond(nonnul_cond) + +Help on function set_debugger_options in module ida_dbg: + +set_debugger_options(*args) -> 'uint' + 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 + +Help on function set_default_sreg_value in module idc: + +set_default_sreg_value(ea, reg, value) + 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. + +Help on function set_enum_bf in module ida_enum: + +set_enum_bf(*args) -> 'bool' + set_enum_bf(id, bf) -> bool + + + Set 'bitfield' bit of enum (i.e. convert it to a bitfield) + + + @param id (C++: enum_t) + @param bf (C++: bool) + +Help on function set_enum_cmt in module ida_enum: + +set_enum_cmt(*args) -> 'bool' + set_enum_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum type. + + + @param id (C++: enum_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_flag in module ida_enum: + +set_enum_flag(*args) -> 'bool' + set_enum_flag(id, flag) -> bool + + + Set data representation flags. + + + @param id (C++: enum_t) + @param flag (C++: flags_t) + +Help on function set_enum_idx in module ida_enum: + +set_enum_idx(*args) -> 'bool' + set_enum_idx(id, idx) -> bool + + + Set serial number of enum. Also see 'get_enum_idx()' . + + @param id (C++: enum_t) + @param idx (C++: size_t) + +Help on function set_enum_member_cmt in module ida_enum: + +set_enum_member_cmt(*args) -> 'bool' + set_enum_member_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum member. + + + @param id (C++: const_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_member_name in module ida_enum: + +set_enum_member_name(*args) -> 'bool' + set_enum_member_name(id, name) -> bool + + + Set name of enum member. + + + @param id (C++: const_t) + @param name (C++: const char *) + +Help on function set_enum_name in module ida_enum: + +set_enum_name(*args) -> 'bool' + set_enum_name(id, name) -> bool + + + Set name of enum type. + + + @param id (C++: enum_t) + @param name (C++: const char *) + +Help on function set_enum_width in module ida_enum: + +set_enum_width(*args) -> 'bool' + set_enum_width(id, width) -> bool + + + See comment for 'get_enum_width()' + + + @param id (C++: enum_t) + @param width (C++: int) + +Help on function set_fchunk_attr in module idc: + +set_fchunk_attr(ea, attr, value) + 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 + +Help on function set_fixup in module idc: + +set_fixup(ea, fixuptype, fixupflags, targetsel, targetoff, displ) + 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 + +Help on function set_flag in module idc: + +set_flag(off, bit, value) + #-------------------------------------------------------------------------- + +Help on function set_frame_size in module idc: + +set_frame_size(ea, lvsize, frregs, argsize) + 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 + +Help on function set_func_attr in module idc: + +set_func_attr(ea, attr, value) + 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 + +Help on function set_func_cmt in module idc: + +set_func_cmt(ea, cmt, repeatable) + 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 + +Help on function set_func_end in module ida_funcs: + +set_func_end(*args) -> 'bool' + set_func_end(ea, newend) -> bool + + + Move function chunk end address. + + @param ea: any address in the function (C++: ea_t) + @param newend: new end address of the function (C++: ea_t) + @return: success + +Help on function set_func_flags in module idc: + +set_func_flags(ea, flags) + Change function flags + + @param ea: any address belonging to the function + @param flags: see get_func_flags() for explanations + + @return: !=0 - ok + +Help on function set_hash_long in module idc: + +set_hash_long(hash_id, key, value) + 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 + +Help on function set_hash_string in module idc: + +set_hash_string(hash_id, key, value) + 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 + +Help on function set_ida_state in module ida_auto: + +set_ida_state(*args) -> 'idastate_t' + set_ida_state(st) -> idastate_t + + + Change IDA status indicator value + + @param st: - new indicator status (C++: idastate_t) + @return: old indicator status + +Help on function set_inf_attr in module idc: + +set_inf_attr(attr, value) + +Help on function set_local_type in module idc: + +set_local_type(ordinal, input, flags) + 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 + +Help on function set_manual_insn in module ida_bytes: + +set_manual_insn(*args) -> 'void' + set_manual_insn(ea, manual_insn) + + + Set manual instruction string. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @param manual_insn: "" - delete manual string. NULL - do nothing (C++: + const char *) + +Help on function set_member_cmt in module idc: + +set_member_cmt(sid, member_offset, comment, repeatable) + 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 + +Help on function set_member_name in module idc: + +set_member_name(sid, member_offset, name) + 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. + +Help on function set_member_type in module idc: + +set_member_type(sid, member_offset, flag, typeid, nitems, target=-1, tdelta=0, reftype=2) + 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. + +Help on function set_name in module idc: + +set_name(ea, name, flags=0) + 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 + +Help on function set_processor_type in module ida_idp: + +set_processor_type(*args) -> 'bool' + 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: name of processor type (one of names present in + \ph{psnames}) (C++: const char *) + @param level: SETPROC_ (C++: setproc_level_t) + @return: success + +Help on function set_reg_value in module idc: + +set_reg_value(value, name) + 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. + +Help on function set_remote_debugger in module ida_dbg: + +set_remote_debugger(*args) -> 'void' + set_remote_debugger(host, _pass, port=-1) + + + Set remote debugging options. Should be used before starting the + debugger. + + @param host: If empty, IDA will use local debugger. If NULL, the host + will not be set. (C++: const char *) + @param port: If -1, the default port number will be used (C++: int) + +Help on function set_root_filename in module ida_nalt: + +set_root_filename(*args) -> 'void' + set_root_filename(file) + + + Set full path of the input file. + + + @param file (C++: const char *) + +Help on function set_segm_addressing in module idc: + +set_segm_addressing(ea, bitness) + Change segment addressing + + @param ea: any address in the segment + @param bitness: 0: 16bit, 1: 32bit, 2: 64bit + + @return: success (boolean) + +Help on function set_segm_alignment in module idc: + +set_segm_alignment(ea, alignment) + 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) + +Help on function set_segm_attr in module idc: + +set_segm_attr(segea, attr, value) + 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. + +Help on function set_segm_class in module idc: + +set_segm_class(ea, segclass) + Change class of the segment + + @param ea: any address in the segment + @param segclass: new class of the segment + + @return: success (boolean) + +Help on function set_segm_combination in module idc: + +set_segm_combination(segea, comb) + 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) + +Help on function set_segm_name in module idc: + +set_segm_name(ea, name) + Change name of the segment + + @param ea: any address in the segment + @param name: new name of the segment + + @return: success (boolean) + +Help on function set_segm_type in module idc: + +set_segm_type(segea, segtype) + Set segment type + + @param segea: any address within segment + @param segtype: new segment type: + + @return: !=0 - ok + +Help on function set_segment_bounds in module idc: + +set_segment_bounds(ea, startea, endea, flags) + 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 + +Help on function set_selector in module ida_segment: + +set_selector(*args) -> 'int' + set_selector(selector, paragraph) -> int + + + Set mapping of selector to a paragraph. You should call this + functionbeforecreating a segment which uses the selector, otherwise + the creation of the segment will fail. + + @param selector: 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. (C++: sel_t) + @param paragraph: paragraph to map selector (C++: ea_t) + +Help on function set_source_linnum in module ida_nalt: + +set_source_linnum(*args) -> 'void' + set_source_linnum(ea, lnnum) + +Help on function set_step_trace_options in module ida_dbg: + +set_step_trace_options(*args) -> 'void' + set_step_trace_options(options) + + + Modify step tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function change_storage_type in module ida_bytes: + +change_storage_type(*args) -> 'error_t' + change_storage_type(start_ea, end_ea, stt) -> error_t + + + Change flag storage type for address range. + + @param start_ea: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: error code + +Help on function set_struc_cmt in module ida_struct: + +set_struc_cmt(*args) -> 'bool' + set_struc_cmt(id, cmt, repeatable) -> bool + + + Set structure comment. + + + @param id (C++: tid_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_struc_idx in module idc: + +set_struc_idx(sid, index) + Change structure index + + @param sid: structure type ID + @param index: new index of the structure + + @return: != 0 - ok + + @note: See get_first_struc_idx() for the explanation of + structure indices and IDs. + +Help on function set_struc_name in module ida_struct: + +set_struc_name(*args) -> 'bool' + set_struc_name(id, name) -> bool + + + Set structure name. + + + @param id (C++: tid_t) + @param name (C++: const char *) + +Help on function set_tail_owner in module idc: + +set_tail_owner(tailea, funcea) + 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 + +Help on function set_target_assembler in module ida_idp: + +set_target_assembler(*args) -> 'bool' + set_target_assembler(asmnum) -> bool + + + Set target assembler. + + @param asmnum: number of assembler in the current processor module + (C++: int) + @return: success + +Help on function set_trace_file_desc in module ida_dbg: + +set_trace_file_desc(*args) -> 'bool' + set_trace_file_desc(filename, description) -> bool + + + Change the description of the specified trace file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function split_sreg_range in module idc: + +split_sreg_range(ea, reg, value, tag=2) + 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 corrent value. + +Help on function start_process in module ida_dbg: + +start_process(*args) -> 'int' + 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' }You can also + use the 'run_to()' function to easily start the execution of a process + until a given address is reached.For all parameters, a NULL value + indicates the debugger will take the value from the defined Process + Options. + + @param path: path to the executable to start (C++: const char *) + @param args: arguments to pass to process (C++: const char *) + @param sdir: starting directory for the process (C++: const char *) + +Help on function step_into in module ida_dbg: + +step_into(*args) -> 'bool' + 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' } + +Help on function step_over in module ida_dbg: + +step_over(*args) -> 'bool' + 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' } + +Help on function step_until_ret in module ida_dbg: + +step_until_ret(*args) -> 'bool' + 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' } + +Help on function strlen in module idc: + +strlen(s) + +Help on function strstr in module idc: + +strstr(s1, s2) + +Help on function substr in module idc: + +substr(s, x1, x2) + +Help on function suspend_process in module ida_dbg: + +suspend_process(*args) -> 'bool' + 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) }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. + +Help on function suspend_thread in module ida_dbg: + +suspend_thread(*args) -> 'int' + 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: thread id (C++: thid_t) + +Help on function take_memory_snapshot in module ida_segment: + +take_memory_snapshot(*args) -> 'bool' + take_memory_snapshot(only_loader_segs) -> bool + + + Take a memory snapshot of the running process. + + @param only_loader_segs: only is_loader_segm() segments will be + affected (C++: bool) + @return: success + +Help on function to_ea in module idc: + +to_ea(seg, off) + Return value of expression: ((seg<<4) + off) + +Help on function toggle_bnot in module idc: + +toggle_bnot(ea, n) + 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 + +Help on function toggle_sign in module ida_bytes: + +toggle_sign(*args) -> 'bool' + 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) + +Help on function update_extra_cmt in module ida_lines: + +update_extra_cmt(*args) -> 'void' + update_extra_cmt(ea, what, str) + +Help on function update_hidden_range in module idc: + +update_hidden_range(ea, visible) + Set hidden range state + + @param ea: any address belonging to the hidden range + @param visible: new state of the range + + @return: != 0 - ok + +Help on function validate_idb_names in module idc: + +validate_idb_names(do_repair=0) + check consistency of IDB name records + @param do_repair: try to repair netnode header it TRUE + @return: number of inconsistent name records + +Help on function value_is_float in module idc: + +value_is_float(var) + +Help on function value_is_func in module idc: + +value_is_func(var) + +Help on function value_is_int64 in module idc: + +value_is_int64(var) + +Help on function value_is_long in module idc: + +value_is_long(var) + +Help on function value_is_pvoid in module idc: + +value_is_pvoid(var) + +Help on function value_is_string in module idc: + +value_is_string(var) + # List of built-in functions + # -------------------------- + # + # The following conventions are used in this list: + # 'ea' is a linear address + # 'success' is 0 if a function failed, 1 otherwise + # 'void' means that function returns no meaningful value (always 0) + # + # All function parameter conversions are made automatically. + # + # ---------------------------------------------------------------------------- + # M I S C E L L A N E O U S + # ---------------------------------------------------------------------------- + +Help on function wait_for_next_event in module ida_dbg: + +wait_for_next_event(*args) -> 'dbg_event_code_t' + 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: combination of Wait for debugger event flags constants + (C++: int) + @param timeout: number of seconds to wait, -1-infinity (C++: int) + @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= + 0) + +Help on function warning in module ida_kernwin: + +warning(*args) -> 'void' + warning(format) + + + Display a message in a message box + + @param message: 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 + +Help on function write_dbg_memory in module idc: + +write_dbg_memory(ea, data) + 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) + +Help on function writelong in module idc: + +writelong(handle, dword, mostfirst) + +Help on function writeshort in module idc: + +writeshort(handle, word, mostfirst) + +Help on function writestr in module idc: + +writestr(handle, s) + +Help on function xtol in module idc: + +xtol(s) + diff --git a/python/idadex.py b/python/idadex.py index 337a01b..53184ea 100644 --- a/python/idadex.py +++ b/python/idadex.py @@ -14,6 +14,7 @@ from __future__ import print_function # #--------------------------------------------------------------------- # pylint: disable=C0103, C0111, C0301, C0326, W0511, R0903 +import sys import ctypes import idaapi import ida_idaapi @@ -41,21 +42,23 @@ def get_struct(str_, off, struct): ctypes.memmove(ctypes.addressof(s), bytebuf, fit) return s +_byte = ord if sys.version_info.major < 3 else lambda t: t + # unpack base address def unpack_db(buf, off): x = 0 if off < len(buf): - x = ord(buf[off]) + x = _byte(buf[off]) off += 1 return (x, off) def get_dw(buf, off): x = 0 if off < len(buf): - x = ord(buf[off]) << 8 + x = _byte(buf[off]) << 8 off += 1 if off < len(buf): - x |= ord(buf[off]) + x |= _byte(buf[off]) off += 1 return (x, off) @@ -66,7 +69,7 @@ def unpack_dw(buf, off): (x, off) = get_dw(buf, off) else: if off < len(buf): - x = ((x & ~0x80) << 8) | ord(buf[off]) + x = ((x & ~0x80) << 8) | _byte(buf[off]) off += 1 return (x, off) @@ -79,13 +82,13 @@ def unpack_dd(buf, off): else: xh = 0 if off < len(buf): - xh = ((x & ~0xC0) << 8) | ord(buf[off]) + xh = ((x & ~0xC0) << 8) | _byte(buf[off]) off += 1 (xl, off) = get_dw(buf, off) x = (xh << 16) | xl else: if off < len(buf): - x = ((x & ~0x80) << 8) | ord(buf[off]) + x = ((x & ~0x80) << 8) | _byte(buf[off]) off += 1 return (x, off) @@ -184,21 +187,21 @@ class Dex(object): # ea-based indexes DEXCMN_STRING_ID = ord('S') # string ea => string_id - DEXCMN_METHOD_ID = ord('M') # dex_method::func.start_ea => method_id - DEXCMN_TRY_TYPES = ord('E') # ea (handler start) => list of type_id, handled types - DEXCMN_TRY_IDS = ord('Y') # ea (handler start) => list of try_item_id - DEXCMN_DEBINFO = ord('D') # line start ea => dex_lineinfo_t + DEXCMN_METHOD_ID = ord('M') # dex_method::func.start_ea => method_id + DEXCMN_TRY_TYPES = ord('E') # ea (handler start) => list of type_id, handled types + DEXCMN_TRY_IDS = ord('Y') # ea (handler start) => list of try_item_id + DEXCMN_DEBINFO = ord('D') # line start ea => dex_lineinfo_t DEXCMN_DEBSTR = ord('B') # line start ea => human readable debug info string # var indexes DEXVAR_STRING_IDS = ord('S') # string_id => ea DEXVAR_TYPE_IDS = ord('T') # type_id => descriptor_idx - DEXVAR_TYPE_STR = ord('U') # type_id => type string (possible user redefined), char data + DEXVAR_TYPE_STR = ord('U') # type_id => type string (possible user redefined), char data DEXVAR_TYPE_STRO = ord('V') # type_id => type string (original), char data DEXVAR_METHOD = ord('M') # method_id => struct dex_method, supval - DEXVAR_METH_STR = ord('N') # method_id => method name, char data + DEXVAR_METH_STR = ord('N') # method_id => method name, char data DEXVAR_METH_STRO = ord('O') # method_id => method name fromdex file, char data - DEXVAR_FIELD = ord('F') # field_id => struct dex_field + DEXVAR_FIELD = ord('F') # field_id => struct dex_field DEXVAR_TRYLIST = ord('Y') # method_id => try_item # debug info representation @@ -263,6 +266,11 @@ class Dex(object): res += " " + access_bit return res[1:] if res else "" + #--------------------------------------------------------------------------- + @staticmethod + def as_string(s): + return s.decode("UTF-8") if sys.version_info.major >= 3 else s + #--------------------------------------------------------------------------- def idx_to_ea(self, from_ea, idx, tag): nn_var = self.get_nn_var(from_ea) @@ -274,7 +282,8 @@ class Dex(object): if addr == ida_idaapi.BADADDR: return None length = ida_bytes.get_max_strlit_length(addr, idc.STRTYPE_C, ida_bytes.ALOPT_IGNHEADS|ida_bytes.ALOPT_IGNPRINT) - return ida_bytes.get_strlit_contents(addr, length, idc.STRTYPE_C) + raw = ida_bytes.get_strlit_contents(addr, length, idc.STRTYPE_C) + return Dex.as_string(raw) def get_method_idx(self, ea): return self.nn_cmn.altval(ea, Dex.DEXCMN_METHOD_ID) @@ -299,9 +308,9 @@ class Dex(object): longname_director = get_struct(val, 0, longname_director_t) if longname_director.zero == 0: nn = idaapi.netnode(longname_director.node) - return nn.getblob(0, tag)[:-1] + return Dex.as_string(nn.getblob(0, tag)[:-1]) if len(val) > 0: - return val[:-1] + return Dex.as_string(val[:-1]) return "" #--------------------------------------------------------------------------- diff --git a/python/idautils.py b/python/idautils.py index 4fa6461..581beb6 100644 --- a/python/idautils.py +++ b/python/idautils.py @@ -32,7 +32,7 @@ import ida_xref import idc import types import os - +import sys def refs(ea, funcfirst, funcnext): """ @@ -57,7 +57,7 @@ def CodeRefsTo(ea, flow): Example:: for ref in CodeRefsTo(get_screen_ea(), 1): - print ref + print(ref) """ if flow == 1: return refs(ea, ida_xref.get_first_cref_to, ida_xref.get_next_cref_to) @@ -78,7 +78,7 @@ def CodeRefsFrom(ea, flow): Example:: for ref in CodeRefsFrom(get_screen_ea(), 1): - print ref + print(ref) """ if flow == 1: return refs(ea, ida_xref.get_first_cref_from, ida_xref.get_next_cref_from) @@ -97,7 +97,7 @@ def DataRefsTo(ea): Example:: for ref in DataRefsTo(get_screen_ea()): - print ref + print(ref) """ return refs(ea, ida_xref.get_first_dref_to, ida_xref.get_next_dref_to) @@ -113,7 +113,7 @@ def DataRefsFrom(ea): Example:: for ref in DataRefsFrom(get_screen_ea()): - print ref + print(ref) """ return refs(ea, ida_xref.get_first_dref_from, ida_xref.get_next_dref_from) @@ -159,12 +159,12 @@ def XrefsFrom(ea, flags=0): Return all references from address 'ea' @param ea: Reference address - @param flags: any of ida_xref.XREF_* flags + @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) + print(xref.type, XrefTypeName(xref.type), \ + 'from', hex(xref.frm), 'to', hex(xref.to)) """ xref = ida_xref.xrefblk_t() if xref.first_from(ea, flags): @@ -178,12 +178,12 @@ def XrefsTo(ea, flags=0): Return all references to address 'ea' @param ea: Reference address - @param flags: any of ida_xref.XREF_* flags + @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) + print(xref.type, XrefTypeName(xref.type), \ + 'from', hex(xref.frm), 'to', hex(xref.to)) """ xref = ida_xref.xrefblk_t() if xref.first_to(ea, flags): @@ -194,7 +194,7 @@ def XrefsTo(ea, flags=0): def Threads(): """Returns all thread IDs for the current debugee""" - for i in xrange(0, idc.get_thread_qty()): + for i in range(0, idc.get_thread_qty()): yield idc.getn_thread(i) @@ -283,7 +283,7 @@ def Names(): @return: List of tuples (ea, name) """ - for i in xrange(ida_name.get_nlist_size()): + for i in range(ida_name.get_nlist_size()): ea = ida_name.get_nlist_ea(i) name = ida_name.get_nlist_name(i) yield (ea, name) @@ -295,7 +295,7 @@ def Segments(): @return: List of segment start addresses. """ - for n in xrange(ida_segment.get_segm_qty()): + for n in range(ida_segment.get_segm_qty()): seg = ida_segment.getnseg(n) if seg: yield seg.start_ea @@ -308,7 +308,7 @@ def Entries(): @return: List of tuples (index, ordinal, ea, name) """ n = ida_entry.get_entry_qty() - for i in xrange(0, n): + for i in range(0, n): ordinal = ida_entry.get_entry_ordinal(i) ea = ida_entry.get_entry(ordinal) name = ida_entry.get_entry_name(ordinal) @@ -482,7 +482,7 @@ class Strings(object): s = Strings() for i in s: - print "%x: len=%d type=%d -> '%s'" % (i.ea, i.length, i.strtype, str(i)) + print("%x: len=%d type=%d -> '%s'" % (i.ea, i.length, i.strtype, str(i))) """ class StringItem(object): @@ -502,10 +502,13 @@ class Strings(object): def _toseq(self, as_unicode): strbytes = ida_bytes.get_strlit_contents(self.ea, self.length, self.strtype) - return unicode(strbytes, "UTF-8", 'replace') if as_unicode else strbytes + if sys.version_info.major >= 3: + return strbytes.decode("UTF-8", "replace") if as_unicode else strbytes + else: + return unicode(strbytes, "UTF-8", 'replace') if as_unicode else strbytes def __str__(self): - return self._toseq(False) + return self._toseq(False if sys.version_info.major < 3 else True) def __unicode__(self): return self._toseq(True) @@ -559,7 +562,7 @@ class Strings(object): def __iter__(self): - return (self._get_item(index) for index in xrange(0, self.size)) + return (self._get_item(index) for index in range(0, self.size)) def __getitem__(self, index): @@ -593,7 +596,7 @@ def _Assemble(ea, line): """ Please refer to Assemble() - INTERNAL USE ONLY """ - if type(line) == bytes: + if type(line) in ([bytes] + list(ida_idaapi.string_types)): lines = [line] else: lines = line @@ -686,11 +689,9 @@ class _procregs(object): class _cpu(object): "Simple wrapper around get_reg_value/set_reg_value" def __getattr__(self, name): - #print "cpu.get(%s)" % name return idc.get_reg_value(name) def __setattr__(self, name, value): - #print "cpu.set(%s)" % name return idc.set_reg_value(value, name) @@ -784,7 +785,7 @@ class peutils_t(object): cpu = _cpu() """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 + print("%x" % cpu.Eax) """ procregs = _procregs() @@ -792,5 +793,5 @@ procregs = _procregs() For example: x = idautils.DecodeInstruction(here()) if x[0] == procregs.Esp: - print "This operand is the register ESP + print("This operand is the register ESP) """ diff --git a/python/idc.py b/python/idc.py index c1d944a..9c6297c 100644 --- a/python/idc.py +++ b/python/idc.py @@ -270,16 +270,20 @@ FF_JUMP = ida_bytes.FF_JUMP & 0xFFFFFFFF # Has jump table # # Loader flags # -NEF_SEGS = ida_loader.NEF_SEGS # Create segments -NEF_RSCS = ida_loader.NEF_RSCS # Load resources -NEF_NAME = ida_loader.NEF_NAME # Rename entries -NEF_MAN = ida_loader.NEF_MAN # Manual load -NEF_FILL = ida_loader.NEF_FILL # Fill segment gaps -NEF_IMPS = ida_loader.NEF_IMPS # Create imports section -NEF_FIRST = ida_loader.NEF_FIRST # This is the first file loaded -NEF_CODE = ida_loader.NEF_CODE # for load_binary_file: -NEF_RELOAD = ida_loader.NEF_RELOAD # reload the file at the same place: -NEF_FLAT = ida_loader.NEF_FLAT # Autocreated FLAT group (PE) +if ida_idaapi.uses_swig_builtins: + _scope = ida_loader.loader_t +else: + _scope = ida_loader +NEF_SEGS = _scope.NEF_SEGS # Create segments +NEF_RSCS = _scope.NEF_RSCS # Load resources +NEF_NAME = _scope.NEF_NAME # Rename entries +NEF_MAN = _scope.NEF_MAN # Manual load +NEF_FILL = _scope.NEF_FILL # Fill segment gaps +NEF_IMPS = _scope.NEF_IMPS # Create imports section +NEF_FIRST = _scope.NEF_FIRST # This is the first file loaded +NEF_CODE = _scope.NEF_CODE # for load_binary_file: +NEF_RELOAD = _scope.NEF_RELOAD # reload the file at the same place: +NEF_FLAT = _scope.NEF_FLAT # Autocreated FLAT group (PE) # List of built-in functions # -------------------------- @@ -359,13 +363,13 @@ def rotate_left(value, count, nbits, offset): tmp = value & mask if count > 0: - for x in xrange(count): + for x in range(count): if (tmp >> (offset+nbits-1)) & 1: tmp = (tmp << 1) | (1 << offset) else: tmp = (tmp << 1) else: - for x in xrange(-count): + for x in range(-count): if (tmp >> offset) & 1: tmp = (tmp >> 1) | (1 << (offset+nbits-1)) else: @@ -808,7 +812,7 @@ def define_local_var(start, end, location, name): frame, name, offset, - ida_bytes.byteflag(), + ida_bytes.byte_flag(), None, 1) == 0: return 1 else: @@ -818,18 +822,7 @@ def define_local_var(start, end, location, name): return ida_frame.add_regvar(func, start, end, location, name, None) -def del_items(ea, flags=0, size=1): - """ - Convert the current item to an explored item - - @param ea: linear address - @param flags: combination of DELIT_* constants - @param size: size of the range to undefine - - @return: None - """ - return ida_bytes.del_items(ea, flags, size) - +del_items = ida_bytes.del_items DELIT_SIMPLE = ida_bytes.DELIT_SIMPLE # simply undefine the specified item DELIT_EXPAND = ida_bytes.DELIT_EXPAND # propogate undefined items, for example @@ -985,7 +978,12 @@ def op_stroff(ea, n, strid, delta): """ path = ida_pro.tid_array(1) path[0] = strid - return ida_bytes.op_stroff(ea, n, path.cast(), 1, delta) + if isinstance(ea, ida_ua.insn_t): + insn = ea + else: + insn = ida_ua.insn_t() + ida_ua.decode_insn(insn, ea) + return ida_bytes.op_stroff(insn, n, path.cast(), 1, delta) op_stkvar = ida_bytes.op_stkvar @@ -1765,12 +1763,12 @@ def get_str_type(ea): # flag is combination of the following bits # returns BADADDR - not found -def find_suspop (ea, flag): return ida_search.find_suspop(ea, flag) -def find_code (ea, flag): return ida_search.find_code(ea, flag) -def find_data (ea, flag): return ida_search.find_data(ea, flag) -def find_unknown (ea, flag): return ida_search.find_unknown(ea, flag) -def find_defined (ea, flag): return ida_search.find_defined(ea, flag) -def find_imm (ea, flag, value): return ida_search.find_imm(ea, flag, value) +find_suspop = ida_search.find_suspop +find_code = ida_search.find_code +find_data = ida_search.find_data +find_unknown = ida_search.find_unknown +find_defined = ida_search.find_defined +find_imm = ida_search.find_imm SEARCH_UP = ida_search.SEARCH_UP # search backward SEARCH_DOWN = ida_search.SEARCH_DOWN # search forward @@ -2366,16 +2364,7 @@ ADDSEG_SPARSE = ida_segment.ADDSEG_SPARSE # Use sparse storage method for the def AddSeg(startea, endea, base, use32, align, comb): return add_segm_ex(startea, endea, base, use32, align, comb, ADDSEG_NOSREG) -def del_segm(ea, flags): - """ - Delete a segment - - @param ea: any address in the segment - @param flags: combination of SEGMOD_* flags - - @return: boolean success - """ - return ida_segment.del_segm(ea, flags) +del_segm = ida_segment.del_segm SEGMOD_KILL = ida_segment.SEGMOD_KILL # disable addresses if segment gets # shrinked or deleted @@ -2444,22 +2433,26 @@ def set_segm_alignment(ea, alignment): return set_segm_attr(ea, SEGATTR_ALIGN, alignment) -saAbs = ida_segment.saAbs # Absolute segment. -saRelByte = ida_segment.saRelByte # Relocatable, byte aligned. -saRelWord = ida_segment.saRelWord # Relocatable, word (2-byte, 16-bit) aligned. -saRelPara = ida_segment.saRelPara # Relocatable, paragraph (16-byte) aligned. -saRelPage = ida_segment.saRelPage # Relocatable, aligned on 256-byte boundary - # (a "page" in the original Intel specification). -saRelDble = ida_segment.saRelDble # Relocatable, aligned on a double word - # (4-byte) boundary. This value is used by - # the PharLap OMF for the same alignment. -saRel4K = ida_segment.saRel4K # This value is used by the PharLap OMF for - # page (4K) alignment. It is not supported - # by LINK. -saGroup = ida_segment.saGroup # Segment group -saRel32Bytes = ida_segment.saRel32Bytes # 32 bytes -saRel64Bytes = ida_segment.saRel64Bytes # 64 bytes -saRelQword = ida_segment.saRelQword # 8 bytes +if ida_idaapi.uses_swig_builtins: + _scope = ida_segment.segment_t +else: + _scope = ida_segment +saAbs = _scope.saAbs # Absolute segment. +saRelByte = _scope.saRelByte # Relocatable, byte aligned. +saRelWord = _scope.saRelWord # Relocatable, word (2-byte, 16-bit) aligned. +saRelPara = _scope.saRelPara # Relocatable, paragraph (16-byte) aligned. +saRelPage = _scope.saRelPage # Relocatable, aligned on 256-byte boundary + # (a "page" in the original Intel specification). +saRelDble = _scope.saRelDble # Relocatable, aligned on a double word + # (4-byte) boundary. This value is used by + # the PharLap OMF for the same alignment. +saRel4K = _scope.saRel4K # This value is used by the PharLap OMF for + # page (4K) alignment. It is not supported + # by LINK. +saGroup = _scope.saGroup # Segment group +saRel32Bytes = _scope.saRel32Bytes # 32 bytes +saRel64Bytes = _scope.saRel64Bytes # 64 bytes +saRelQword = _scope.saRelQword # 8 bytes def set_segm_combination(segea, comb): @@ -2474,15 +2467,15 @@ def set_segm_combination(segea, comb): return set_segm_attr(segea, SEGATTR_COMB, comb) -scPriv = ida_segment.scPriv # Private. Do not combine with any other program - # segment. -scPub = ida_segment.scPub # Public. Combine by appending at an offset that - # meets the alignment requirement. -scPub2 = ida_segment.scPub2 # As defined by Microsoft, same as C=2 (public). -scStack = ida_segment.scStack # Stack. Combine as for C=2. This combine type - # forces byte alignment. -scCommon = ida_segment.scCommon # Common. Combine by overlay using maximum size. -scPub3 = ida_segment.scPub3 # As defined by Microsoft, same as C=2 (public). +scPriv = _scope.scPriv # Private. Do not combine with any other program + # segment. +scPub = _scope.scPub # Public. Combine by appending at an offset that + # meets the alignment requirement. +scPub2 = _scope.scPub2 # As defined by Microsoft, same as C=2 (public). +scStack = _scope.scStack # Stack. Combine as for C=2. This combine type + # forces byte alignment. +scCommon = _scope.scCommon # Common. Combine by overlay using maximum size. +scPub3 = _scope.scPub3 # As defined by Microsoft, same as C=2 (public). def set_segm_addressing(ea, bitness): @@ -2557,22 +2550,22 @@ def set_segm_type(segea, segtype): return seg.update() -SEG_NORM = ida_segment.SEG_NORM -SEG_XTRN = ida_segment.SEG_XTRN # * segment with 'extern' definitions - # no instructions are allowed -SEG_CODE = ida_segment.SEG_CODE # pure code segment -SEG_DATA = ida_segment.SEG_DATA # pure data segment -SEG_IMP = ida_segment.SEG_IMP # implementation segment -SEG_GRP = ida_segment.SEG_GRP # * group of segments - # no instructions are allowed -SEG_NULL = ida_segment.SEG_NULL # zero-length segment -SEG_UNDF = ida_segment.SEG_UNDF # undefined segment type -SEG_BSS = ida_segment.SEG_BSS # uninitialized segment -SEG_ABSSYM = ida_segment.SEG_ABSSYM # * segment with definitions of absolute symbols - # no instructions are allowed -SEG_COMM = ida_segment.SEG_COMM # * segment with communal definitions - # no instructions are allowed -SEG_IMEM = ida_segment.SEG_IMEM # internal processor memory & sfr (8051) +SEG_NORM = _scope.SEG_NORM +SEG_XTRN = _scope.SEG_XTRN # * segment with 'extern' definitions + # no instructions are allowed +SEG_CODE = _scope.SEG_CODE # pure code segment +SEG_DATA = _scope.SEG_DATA # pure data segment +SEG_IMP = _scope.SEG_IMP # implementation segment +SEG_GRP = _scope.SEG_GRP # * group of segments + # no instructions are allowed +SEG_NULL = _scope.SEG_NULL # zero-length segment +SEG_UNDF = _scope.SEG_UNDF # undefined segment type +SEG_BSS = _scope.SEG_BSS # uninitialized segment +SEG_ABSSYM = _scope.SEG_ABSSYM # * segment with definitions of absolute symbols + # no instructions are allowed +SEG_COMM = _scope.SEG_COMM # * segment with communal definitions + # no instructions are allowed +SEG_IMEM = _scope.SEG_IMEM # internal processor memory & sfr (8051) def get_segm_attr(segea, attr): @@ -2880,25 +2873,7 @@ def writestr(handle, s): # F U N C T I O N S # ---------------------------------------------------------------------------- -def add_func(start, end = ida_idaapi.BADADDR): - """ - Create a function - - @param start: function bounds - @param end: function bounds - - If the function end address is BADADDR, then - IDA will try to determine the function bounds - automatically. IDA will define all necessary - instructions to determine the function bounds. - - @return: !=0 - ok - - @note: an instruction should be present at the start address - """ - return ida_funcs.add_func(start, end) - - +add_func = ida_funcs.add_func del_func = ida_funcs.del_func set_func_end = ida_funcs.set_func_end @@ -3026,33 +3001,38 @@ def get_func_flags(ea): return func.flags -FUNC_NORET = ida_funcs.FUNC_NORET # function doesn't return -FUNC_FAR = ida_funcs.FUNC_FAR # far function -FUNC_LIB = ida_funcs.FUNC_LIB # library function -FUNC_STATIC = ida_funcs.FUNC_STATICDEF # static function -FUNC_FRAME = ida_funcs.FUNC_FRAME # function uses frame pointer (BP) -FUNC_USERFAR = ida_funcs.FUNC_USERFAR # user has specified far-ness - # of the function -FUNC_HIDDEN = ida_funcs.FUNC_HIDDEN # a hidden function -FUNC_THUNK = ida_funcs.FUNC_THUNK # thunk (jump) function -FUNC_BOTTOMBP = ida_funcs.FUNC_BOTTOMBP # BP points to the bottom of the stack frame -FUNC_NORET_PENDING = ida_funcs.FUNC_NORET_PENDING # Function 'non-return' analysis - # must be performed. This flag is - # verified upon func_does_return() -FUNC_SP_READY = ida_funcs.FUNC_SP_READY # 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 -FUNC_PURGED_OK = ida_funcs.FUNC_PURGED_OK # '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. -FUNC_TAIL = ida_funcs.FUNC_TAIL # This is a function tail. - # Other bits must be clear - # (except FUNC_HIDDEN) +if ida_idaapi.uses_swig_builtins: + _scope = ida_funcs.func_t +else: + _scope = ida_funcs + +FUNC_NORET = _scope.FUNC_NORET # function doesn't return +FUNC_FAR = _scope.FUNC_FAR # far function +FUNC_LIB = _scope.FUNC_LIB # library function +FUNC_STATIC = _scope.FUNC_STATICDEF # static function +FUNC_FRAME = _scope.FUNC_FRAME # function uses frame pointer (BP) +FUNC_USERFAR = _scope.FUNC_USERFAR # user has specified far-ness + # of the function +FUNC_HIDDEN = _scope.FUNC_HIDDEN # a hidden function +FUNC_THUNK = _scope.FUNC_THUNK # thunk (jump) function +FUNC_BOTTOMBP = _scope.FUNC_BOTTOMBP # BP points to the bottom of the stack frame +FUNC_NORET_PENDING = _scope.FUNC_NORET_PENDING # Function 'non-return' analysis + # must be performed. This flag is + # verified upon func_does_return() +FUNC_SP_READY = _scope.FUNC_SP_READY # 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 +FUNC_PURGED_OK = _scope.FUNC_PURGED_OK # '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. +FUNC_TAIL = _scope.FUNC_TAIL # This is a function tail. + # Other bits must be clear + # (except FUNC_HIDDEN) def set_func_flags(ea, flags): @@ -3979,10 +3959,10 @@ def add_struc_member(sid, name, offset, flag, typeid, nbytes, target=-1, tdelta= """ if is_off0(flag): - return eval_idc('add_struc_member(%d, "%s", %d, %d, %d, %d, %d, %d, %d);' % (sid, ida_kernwin.str2user(name), offset, flag, typeid, nbytes, + return eval_idc('add_struc_member(%d, "%s", %d, %d, %d, %d, %d, %d, %d);' % (sid, ida_kernwin.str2user(name or ""), offset, flag, typeid, nbytes, target, tdelta, reftype)) else: - return eval_idc('add_struc_member(%d, "%s", %d, %d, %d, %d);' % (sid, ida_kernwin.str2user(name), offset, flag, typeid, nbytes)) + return eval_idc('add_struc_member(%d, "%s", %d, %d, %d, %d);' % (sid, ida_kernwin.str2user(name or ""), offset, flag, typeid, nbytes)) STRUC_ERROR_MEMBER_NAME = -1 # already has member with this name (bad name) @@ -4136,16 +4116,7 @@ def set_fchunk_attr(ea, attr, value): return 0 -def get_fchunk_referer(ea, idx): - """ - Get a function chunk referer - - @param ea: any address in the chunk - @param idx: referer index (0..get_fchunk_attr(FUNCATTR_REFQTY)) - - @return: referer address or BADADDR - """ - return ida_funcs.get_fchunk_referer(ea, idx) +get_fchunk_referer = ida_funcs.get_fchunk_referer def get_next_fchunk(ea): @@ -4664,6 +4635,8 @@ def __GetArrayById(array_id): return __dummy_netnode.instance else: return node + except TypeError: + return __dummy_netnode.instance except NotImplementedError: return __dummy_netnode.instance @@ -5101,8 +5074,8 @@ def apply_type(ea, py_type, flags = TINFO_DEFINITE): if py_type is None: py_type = "" - if isinstance(py_type, basestring) and len(py_type) == 0: - pt = ("", "") + if isinstance(py_type, ida_idaapi.string_types) and len(py_type) == 0: + pt = (b"", b"") else: if len(py_type) == 3: pt = py_type[1:] # skip name component @@ -5199,7 +5172,7 @@ def print_decls(ordinals, flags): return 0 sink = def_sink() - py_ordinals = map(lambda l : int(l), ordinals.split(",")) + py_ordinals = list(map(lambda l : int(l), ordinals.split(","))) ida_typeinf.print_decls(sink, None, py_ordinals, flags) return sink.text @@ -5687,13 +5660,7 @@ def set_reg_value(value, name): return ida_dbg.set_reg_val(name, value) -def get_bpt_qty(): - """ - Get number of breakpoints. - - @return: number of breakpoints - """ - return ida_dbg.get_bpt_qty() +get_bpt_qty = ida_dbg.get_bpt_qty def get_bpt_ea(n): @@ -5846,34 +5813,10 @@ def set_bpt_cond(ea, cnd, is_lowcnd=0): return ida_dbg.update_bpt(bpt) -def add_bpt(ea, size=0, bpttype=BPT_DEFAULT): - """ - Add a new breakpoint - - @param ea: any address in the process memory space: - @param size: size of the breakpoint (irrelevant for software breakpoints): - @param bpttype: type of the breakpoint (one of BPT_... constants) - - @return: success - - @note: Only one breakpoint can exist at a given address. - """ - return ida_dbg.add_bpt(ea, size, bpttype) - - -def del_bpt(ea): - """ - Delete breakpoint - - @param ea: any address in the process memory space: - - @return: success - """ - return ida_dbg.del_bpt(ea) - - +add_bpt = ida_dbg.add_bpt +del_bpt = ida_dbg.del_bpt enable_bpt = ida_dbg.enable_bpt -check_bpt = ida_dbg.check_bpt +check_bpt = ida_dbg.check_bpt BPTCK_NONE = -1 # breakpoint does not exist BPTCK_NO = 0 # breakpoint is disabled diff --git a/python/init.py b/python/init.py index 2f5c247..6cd5b75 100644 --- a/python/init.py +++ b/python/init.py @@ -21,7 +21,8 @@ import warnings lib_dynload = os.path.join( sys.executable, IDAPYTHON_DYNLOAD_BASE, - "python", "lib", "python2.7", "lib-dynload") + "python", + str(sys.version_info.major)) is_x64 = sys.maxsize >= 0x100000000 if is_x64: @@ -140,4 +141,20 @@ userrc = os.path.join(ida_diskio.get_user_idadir(), "idapythonrc.py") if os.path.exists(userrc): ida_idaapi.IDAPython_ExecScript(userrc, globals()) +# In Python3, some modules (e.g., subprocess) will load the 'signal' +# module which, upon loading, will registers default handlers for some +# signals. In particular, for SIGINT, which we don't want to handle +# since it'll prevent us from killing IDA with Ctrl+C on a TTY. +if sys.version_info.major >= 3: + import signal + signal.signal(signal.SIGINT, signal.SIG_DFL) + + # Also, embedded Python3 will not include the 'site packages' by + # default, which means many packages provided by the distribution + # would not be reachable. Let's provide a way to load them. + import site + for sp in site.getsitepackages(): + if sp not in sys.path: + sys.path.append(sp) + # All done, ready to rock. diff --git a/pywraps.cpp b/pywraps.cpp index 3c59b00..14af288 100644 --- a/pywraps.cpp +++ b/pywraps.cpp @@ -5,9 +5,12 @@ #include #include "pywraps.hpp" +#include "extapi.hpp" #undef hook_to_notification_point #undef unhook_from_notification_point +#undef show_wait_box +#undef hide_wait_box //lint -esym(843,pywraps_initialized) could be declared const //lint -esym(843,g_nw) could be declared const @@ -82,7 +85,13 @@ ref_t ida_export PyW_SizeVecToPyList(const sizevec_t &vec) PYW_GIL_CHECK_LOCKED_SCOPE(); newref_t py_list(PyList_New(n)); for ( size_t i = 0; i < n; ++i ) + { +#ifdef PY3 + PyList_SetItem(py_list.o, i, PyLong_FromSize_t(vec[i])); +#else PyList_SetItem(py_list.o, i, PyInt_FromSize_t(vec[i])); +#endif + } return ref_t(py_list); } @@ -122,11 +131,23 @@ static Py_ssize_t pyvar_walk_list( py_item = newref_t(PySequence_GetItem(o, i)); else py_item = borref_t(PyList_GetItem(o, i)); - if ( py_item == NULL || cb(py_item, i, ud) != CIP_OK ) + bool ok = py_item != NULL && cb(py_item, i, ud) == CIP_OK; + if ( ok ) { - qstring m; - m.sprnt("Sequence item #%d cannot be converted", int(i)); - PyErr_SetString(PyExc_ValueError, m.c_str()); + // We cannot have, at the same time, a 'successful conversion', and + // the Python runtime raising an exception. It's up to the callback + // implementation to ensure that whatever it did, didn't cause an + // error to be set. + QASSERT(30604, PyErr_Occurred() == NULL); + } + else + { + if ( PyErr_Occurred() == NULL ) + { + qstring m; + m.sprnt("Sequence item #%d cannot be converted", int(i)); + PyErr_SetString(PyExc_ValueError, m.c_str()); + } return CIP_FAILED; } } @@ -173,12 +194,28 @@ Py_ssize_t ida_export PyW_PyListToEaVec(eavec_t *out, PyObject *py_list) eavec_t &eavec = *(eavec_t *) ud; ea_t ea = BADADDR; { +#ifdef PY3 + if ( PyLong_Check(py_item.o) ) + { + unsigned long long ull = PyLong_AsUnsignedLongLong(py_item.o); + if ( ull == -1ULL && PyErr_Occurred() != NULL ) + return CIP_FAILED; + ea = ea_t(ull); + } + else + { + return CIP_FAILED; + } +#else if ( PyInt_Check(py_item.o) ) ea = PyInt_AsUnsignedLongMask(py_item.o); else if ( PyLong_Check(py_item.o) ) ea = ea_t(PyLong_AsUnsignedLongLong(py_item.o)); else return CIP_FAILED; + if ( PyErr_Occurred() != NULL ) + return CIP_FAILED; +#endif } eavec.push_back(ea); return CIP_OK; @@ -198,12 +235,28 @@ Py_ssize_t ida_export PyW_PyListToEa64Vec(ea64vec_t *out, PyObject *py_list) ea64vec_t &ea64vec = *(ea64vec_t *) ud; ea64_t v = 0; { +#ifdef PY3 + if ( PyLong_Check(py_item.o) ) + { + unsigned long long ull = PyLong_AsUnsignedLongLong(py_item.o); + if ( ull == -1ULL && PyErr_Occurred() != NULL ) + return CIP_FAILED; + v = uint64(ull); + } + else + { + return CIP_FAILED; + } +#else if ( PyInt_Check(py_item.o) ) v = PyInt_AsUnsignedLongMask(py_item.o); else if ( PyLong_Check(py_item.o) ) v = uint64(PyLong_AsUnsignedLongLong(py_item.o)); else return CIP_FAILED; + if ( PyErr_Occurred() != NULL ) + return CIP_FAILED; +#endif } ea64vec.push_back(v); return CIP_OK; @@ -221,21 +274,15 @@ Py_ssize_t ida_export PyW_PyListToStrVec(qstrvec_t *out, PyObject *py_list) static int idaapi cvt(const ref_t &py_item, Py_ssize_t /*i*/, void *ud) { qstrvec_t &strvec = *(qstrvec_t *)ud; - if ( !PyString_Check(py_item.o) ) + if ( !IDAPyStr_Check(py_item.o) ) return CIP_FAILED; - strvec.push_back(PyString_AsString(py_item.o)); + IDAPyStr_AsUTF8(&strvec.push_back(), py_item.o); return CIP_OK; } }; return pyvar_walk_list(py_list, lambda_t::cvt, out); } -//------------------------------------------------------------------------- -bool ida_export PyWStringOrNone_Check(PyObject *tp) -{ - return tp == Py_None || PyString_Check(tp); -} - //------------------------------------------------------------------------- PyObject *ida_export meminfo_vec_t_to_py(meminfo_vec_t &ranges) { @@ -306,9 +353,9 @@ static int get_pyidc_cvt_type(PyObject *py_var) // Check if this our special by reference object ref_t attr(PyW_TryGetAttrString(py_var, S_PY_IDCCVT_ID_ATTR)); - if ( attr == NULL || (!PyInt_Check(attr.o) && !PyLong_Check(attr.o)) ) + if ( attr == NULL || !IDAPyIntOrLong_Check(attr.o) ) return -1; - return (int)PyInt_AsLong(attr.o); + return int(IDAPyIntOrLong_AsLong(attr.o)); } //------------------------------------------------------------------------- @@ -424,15 +471,28 @@ static int pyvar_to_idcvar2( return CIP_OK; } // String +#ifdef PY3 + else if ( PyBytes_Check(py_var.o) ) + { + idc_var->_set_string(PyBytes_AsString(py_var.o), PyBytes_Size(py_var.o)); + } +#else else if ( PyString_Check(py_var.o) ) { idc_var->_set_string(PyString_AsString(py_var.o), PyString_Size(py_var.o)); } +#endif // Unicode else if ( PyUnicode_Check(py_var.o) ) { +#ifdef PY3 + qstring utf8; + IDAPyStr_AsUTF8(&utf8, py_var.o); + idc_var->_set_string(utf8.c_str(), utf8.length()); +#else newref_t utf8(PyUnicode_AsEncodedString(py_var.o, ENC_UTF8, "strict")); return pyvar_to_idcvar1(utf8, idc_var, gvar_sn, visited); +#endif } // Boolean else if ( PyBool_Check(py_var.o) ) @@ -447,9 +507,9 @@ static int pyvar_to_idcvar2( idc_var->vtype = VT_FLOAT; } // void* - else if ( PyCObject_Check(py_var.o) ) + else if ( PyCapsule_IsValid(py_var.o, VALID_CAPSULE_NAME) ) { - idc_var->set_pvoid(PyCObject_AsVoidPtr(py_var.o)); + idc_var->set_pvoid(PyCapsule_GetPointer(py_var.o, VALID_CAPSULE_NAME)); } // Python list? else if ( PyList_CheckExact(py_var.o) || PyW_IsSequenceType(py_var.o) ) @@ -479,7 +539,11 @@ static int pyvar_to_idcvar2( if ( ok ) { // Form the attribute name +#ifdef PY3 + newref_t py_int(PyLong_FromSsize_t(i)); +#else newref_t py_int(PyInt_FromSsize_t(i)); +#endif ok = PyW_ObjectToString(py_int.o, &attr_name); if ( !ok ) break; @@ -608,7 +672,13 @@ static int pyvar_to_idcvar2( for ( Py_ssize_t i=0; i < size; i++ ) { borref_t item(PyList_GetItem(py_dir.o, i)); +#ifdef PY3 + qstring field_name_buf; + IDAPyStr_AsUTF8(&field_name_buf, item.o); + const char *field_name = field_name_buf.begin(); +#else const char *field_name = PyString_AsString(item.o); +#endif if ( field_name == NULL ) continue; @@ -692,7 +762,7 @@ int ida_export idcvar_to_pyvar( case VT_PVOID: if ( *py_var == NULL ) { - newref_t nr(PyCObject_FromVoidPtr(idc_var.pvoid, NULL)); + newref_t nr(PyCapsule_New(idc_var.pvoid, VALID_CAPSULE_NAME, NULL)); *py_var = nr; } else @@ -737,7 +807,10 @@ int ida_export idcvar_to_pyvar( if ( *py_var == NULL ) { const qstring &s = idc_var.qstr(); - *py_var = newref_t(PyString_FromStringAndSize(s.begin(), s.length())); + if ( (flags & PYWCVTF_STR_AS_BYTES) != 0 ) + *py_var = newref_t(IDAPyBytes_FromMemAndSize(s.begin(), s.length())); + else + *py_var = newref_t(IDAPyStr_FromUTF8AndSize(s.begin(), s.length())); break; } else @@ -1093,7 +1166,7 @@ ref_t ida_export create_linked_class_instance( ref_t py_class = PyW_TryGetAttrString(py_module.o, clsname); if ( py_class != NULL ) { - newref_t py_lnk(PyCObject_FromVoidPtr(lnk, NULL)); + newref_t py_lnk(PyCapsule_New(lnk, VALID_CAPSULE_NAME, NULL)); ref_t py_obj = newref_t(PyObject_CallFunctionObjArgs(py_class.o, py_lnk.o, NULL)); if ( !PyW_GetError() && py_obj != NULL ) result = py_obj; @@ -1143,12 +1216,7 @@ bool ida_export PyW_GetStringAttr( ref_t py_attr(PyW_TryGetAttrString(py_obj, attr_name)); if ( py_attr == NULL ) return false; - - bool ok = PyString_Check(py_attr.o); - if ( ok ) - *str = PyString_AsString(py_attr.o); - - return ok; + return IDAPyStr_Check(py_attr.o) != 0 && IDAPyStr_AsUTF8(str, py_attr.o); } //------------------------------------------------------------------------ @@ -1208,7 +1276,11 @@ bool ida_export PyW_GetNumber(PyObject *py_var, uint64 *num, bool *is_64) do { +#ifdef PY3 + if ( !PyLong_CheckExact(py_var) ) +#else if ( !(PyInt_CheckExact(py_var) || PyLong_CheckExact(py_var)) ) +#endif { rc = false; break; @@ -1217,7 +1289,11 @@ bool ida_export PyW_GetNumber(PyObject *py_var, uint64 *num, bool *is_64) constexpr bool is_long_64 = sizeof(long) > 4; // Can we convert to C long? +#ifdef PY3 + long l = PyLong_AsLong(py_var); +#else long l = PyInt_AsLong(py_var); +#endif if ( !PyErr_Occurred() ) { SETNUM(uint64(l), is_long_64); @@ -1308,8 +1384,13 @@ bool ida_export PyW_ObjectToString(PyObject *obj, qstring *out) PYW_GIL_CHECK_LOCKED_SCOPE(); newref_t py_str(PyObject_Str(obj)); bool ok = py_str != NULL; +#ifdef PY3 + if ( ok ) + IDAPyStr_AsUTF8(out, py_str.o); +#else if ( ok ) *out = PyString_AsString(py_str.o); +#endif else out->qclear(); return ok; @@ -1325,65 +1406,51 @@ bool ida_export PyW_GetError(qstring *out, bool clear_err) if ( PyErr_Occurred() == NULL ) return false; - // Error occurred but details not needed? - if ( out == NULL ) + if ( out != NULL ) { - // Just clear the error + // Get the exception info (this also clears the exception) + PyObject *err_type, *err_value, *err_traceback; + PyErr_Fetch(&err_type, &err_value, &err_traceback); + + // Try helper first + ref_t py_ret; + ref_t py_fmtexc(get_idaapi_attr(S_IDAAPI_FORMATEXC)); + if ( py_fmtexc != NULL ) + { + py_ret = newref_t(PyObject_CallFunctionObjArgs( + py_fmtexc.o, + err_type, + err_value, + err_traceback, + NULL)); + } + + // and fallback to simple stringification if needed + if ( py_ret == NULL ) + py_ret = newref_t(PyObject_Str(err_value)); + + if ( py_ret != NULL ) + IDAPyStr_AsUTF8(out, py_ret.o); + else + *out = "IDAPython: unknown error"; + if ( clear_err ) - PyErr_Clear(); - return true; - } - - // Get the exception info - PyObject *err_type, *err_value, *err_traceback, *py_ret(NULL); - PyErr_Fetch(&err_type, &err_value, &err_traceback); - - if ( !clear_err ) - PyErr_Restore(err_type, err_value, err_traceback); - - // Resolve FormatExc() - ref_t py_fmtexc(get_idaapi_attr(S_IDAAPI_FORMATEXC)); - - // Helper there? - if ( py_fmtexc != NULL ) - { - // Call helper - py_ret = PyObject_CallFunctionObjArgs( - py_fmtexc.o, - err_type, - err_value, - err_traceback, - NULL); - } - - // Clear the error - if ( clear_err ) - PyErr_Clear(); - - // Helper failed?! - if ( py_ret == NULL ) - { - // Just convert the 'value' part of the original error - py_ret = PyObject_Str(err_value); - } - - // No exception text? - if ( py_ret == NULL ) - { - *out = "IDAPython: unknown error!"; + { + Py_XDECREF(err_traceback); + Py_XDECREF(err_value); + Py_XDECREF(err_type); + } + else + { + PyErr_Restore(err_type, err_value, err_traceback); + } } else { - *out = PyString_AsString(py_ret); - Py_DECREF(py_ret); + if ( clear_err ) + PyErr_Clear(); } - if ( clear_err ) - { - Py_XDECREF(err_traceback); - Py_XDECREF(err_value); - Py_XDECREF(err_type); - } return true; } @@ -1409,7 +1476,9 @@ void *ida_export pyobj_get_clink(PyObject *pyobj) // Try to query the link attribute ref_t attr(PyW_TryGetAttrString(pyobj, S_CLINK_NAME)); - void *t = attr != NULL && PyCObject_Check(attr.o) ? PyCObject_AsVoidPtr(attr.o) : NULL; + void *t = attr != NULL && PyCapsule_IsValid(attr.o, VALID_CAPSULE_NAME) + ? PyCapsule_GetPointer(attr.o, VALID_CAPSULE_NAME) + : NULL; return t; } @@ -1486,132 +1555,6 @@ lookup_info_t pycim_lookup_info; //------------------------------------------------------------------------- // py_customidamemo_t -//------------------------------------------------------------------------- -void py_customidamemo_t::convert_node_info( - node_info_t *out, - uint32 *out_flags, - ref_t py_nodeinfo) -{ - if ( out_flags != NULL ) - *out_flags = 0; -#define COPY_PROP(checker, converter, pname, flag) \ - do \ - { \ - newref_t pname(PyObject_GetAttrString(py_nodeinfo.o, #pname)); \ - if ( pname != NULL && checker(pname.o) ) \ - { \ - out->pname = converter(pname.o); \ - if ( out_flags != NULL ) \ - *out_flags |= flag; \ - } \ - } while ( false ) -#define COPY_ULONG_PROP(pname, flag) COPY_PROP(PyNumber_Check, PyLong_AsUnsignedLong, pname, flag) -#define COPY_STRING_PROP(pname, flag) COPY_PROP(PyString_Check, PyString_AsString, pname, flag) - COPY_ULONG_PROP(bg_color, NIF_BG_COLOR); - COPY_ULONG_PROP(frame_color, NIF_FRAME_COLOR); - COPY_ULONG_PROP(flags, NIF_FLAGS); - COPY_ULONG_PROP(ea, NIF_EA); - COPY_STRING_PROP(text, NIF_TEXT); -#undef COPY_STRING_PROP -#undef COPY_ULONG_PROP -#undef COPY_PROP -} - -//------------------------------------------------------------------------- -void ida_export py_customidamemo_t_set_node_info( - py_customidamemo_t *_this, - PyObject *py_node_idx, - PyObject *py_node_info, - PyObject *py_flags) -{ - if ( !PyNumber_Check(py_node_idx) || !PyNumber_Check(py_flags) ) - return; - borref_t py_idx(py_node_idx); - borref_t py_ni(py_node_info); - borref_t py_fl(py_flags); - node_info_t ni; - _this->convert_node_info(&ni, NULL, py_ni); - int idx = PyInt_AsLong(py_idx.o); - uint32 flgs = PyLong_AsLong(py_fl.o); - viewer_set_node_info(_this->view, idx, ni, flgs); -} - -//------------------------------------------------------------------------- -void ida_export py_customidamemo_t_set_nodes_infos( - py_customidamemo_t *_this, - PyObject *dict) -{ - if ( !PyDict_Check(dict) ) - return; - Py_ssize_t pos = 0; - PyObject *o_key, *o_value; - while ( PyDict_Next(dict, &pos, &o_key, &o_value) ) - { - borref_t key(o_key); - borref_t value(o_value); - if ( !PyNumber_Check(key.o) ) - continue; - uint32 flags; - node_info_t ni; - _this->convert_node_info(&ni, &flags, value); - int idx = PyInt_AsLong(key.o); - viewer_set_node_info(_this->view, idx, ni, flags); - } -} - -//------------------------------------------------------------------------- -PyObject *ida_export py_customidamemo_t_get_node_info( - py_customidamemo_t *_this, - PyObject *py_node_idx) -{ - if ( !PyNumber_Check(py_node_idx) ) - Py_RETURN_NONE; - node_info_t ni; - if ( !viewer_get_node_info(_this->view, &ni, PyInt_AsLong(py_node_idx)) ) - Py_RETURN_NONE; - return Py_BuildValue("(kkks)", ni.bg_color, ni.frame_color, ni.ea, ni.text.c_str()); -} - -//------------------------------------------------------------------------- -void ida_export py_customidamemo_t_del_nodes_infos( - py_customidamemo_t *_this, - PyObject *py_nodes) -{ - if ( !PySequence_Check(py_nodes) ) - return; - Py_ssize_t sz = PySequence_Size(py_nodes); - for ( Py_ssize_t i = 0; i < sz; ++i ) - { - newref_t item(PySequence_GetItem(py_nodes, i)); - if ( !PyNumber_Check(item.o) ) - continue; - int idx = PyInt_AsLong(item.o); - viewer_del_node_info(_this->view, idx); - } -} - -//------------------------------------------------------------------------- -PyObject *ida_export py_customidamemo_t_get_current_renderer_type( - py_customidamemo_t *_this) -{ - tcc_renderer_type_t rt = get_view_renderer_type(_this->view); - return PyLong_FromLong(long(rt)); -} - -//------------------------------------------------------------------------- -void ida_export py_customidamemo_t_set_current_renderer_type( - py_customidamemo_t *_this, - PyObject *py_rto) -{ - tcc_renderer_type_t rt = TCCRT_INVALID; - borref_t py_rt(py_rto); - if ( PyNumber_Check(py_rt.o) ) - { - rt = tcc_renderer_type_t(PyLong_AsLong(py_rt.o)); - set_view_renderer_type(_this->view, rt); - } -} - //------------------------------------------------------------------------- PyObject *ida_export py_customidamemo_t_create_groups( py_customidamemo_t *_this, @@ -1631,19 +1574,19 @@ PyObject *ida_export py_customidamemo_t_create_groups( if ( nodes.o == NULL || !PySequence_Check(nodes.o) ) continue; borref_t text(PyDict_GetItemString(item.o, "text")); - if ( text.o == NULL || !PyString_Check(text.o) ) + if ( text.o == NULL || !IDAPyStr_Check(text.o) ) continue; group_crinfo_t gi; Py_ssize_t nodes_cnt = PySequence_Size(nodes.o); for ( Py_ssize_t k = 0; k < nodes_cnt; ++k ) { newref_t node(PySequence_GetItem(nodes.o, k)); - if ( PyInt_Check(node.o) ) - gi.nodes.add_unique(PyInt_AsLong(node.o)); + if ( IDAPyInt_Check(node.o) ) + gi.nodes.add_unique(IDAPyInt_AsLong(node.o)); } if ( !gi.nodes.empty() ) { - gi.text = PyString_AsString(text.o); + IDAPyStr_AsUTF8(&gi.text, text.o); gis.push_back(gi); } } @@ -1653,7 +1596,7 @@ PyObject *ida_export py_customidamemo_t_create_groups( PyObject *py_groups = PyList_New(0); for ( intvec_t::const_iterator it = groups.begin(); it != groups.end(); ++it ) - PyList_Append(py_groups, PyInt_FromLong(long(*it))); + PyList_Append(py_groups, IDAPyInt_FromLong(long(*it))); return py_groups; } @@ -1664,9 +1607,9 @@ static void pynodes_to_idanodes(intvec_t *idanodes, ref_t pynodes) for ( Py_ssize_t i = 0; i < sz; ++i ) { newref_t item(PySequence_GetItem(pynodes.o, i)); - if ( !PyInt_Check(item.o) ) + if ( !IDAPyInt_Check(item.o) ) continue; - idanodes->add_unique(PyInt_AsLong(item.o)); + idanodes->add_unique(IDAPyInt_AsLong(item.o)); } } @@ -1684,7 +1627,7 @@ PyObject *ida_export py_customidamemo_t_delete_groups( pynodes_to_idanodes(&ida_groups, groups); if ( ida_groups.empty() ) Py_RETURN_NONE; - if ( viewer_delete_groups(_this->view, ida_groups, int(PyInt_AsLong(new_current.o))) ) + if ( viewer_delete_groups(_this->view, ida_groups, int(IDAPyInt_AsLong(new_current.o))) ) Py_RETURN_TRUE; else Py_RETURN_FALSE; @@ -1708,7 +1651,11 @@ PyObject *ida_export py_customidamemo_t_set_groups_visibility( pynodes_to_idanodes(&ida_groups, groups); if ( ida_groups.empty() ) Py_RETURN_NONE; +#ifdef PY3 + if ( viewer_set_groups_visibility(_this->view, ida_groups, expand.o == Py_True, int(PyLong_AsLong(new_current.o))) ) +#else if ( viewer_set_groups_visibility(_this->view, ida_groups, expand.o == Py_True, int(PyInt_AsLong(new_current.o))) ) +#endif Py_RETURN_TRUE; else Py_RETURN_FALSE; @@ -1722,7 +1669,7 @@ bool ida_export py_customidamemo_t_bind(py_customidamemo_t *_this, PyObject *sel PYGLOG("%p: py_customidamemo_t::bind(self=%p, view=%p)\n", _this, _this->self.o, _this->view); PYW_GIL_CHECK_LOCKED_SCOPE(); - newref_t py_cobj(PyCObject_FromVoidPtr(_this, NULL)); + newref_t py_cobj(PyCapsule_New(_this, VALID_CAPSULE_NAME, NULL)); PyObject_SetAttrString(self, S_M_THIS, py_cobj.o); _this->self = borref_t(self); @@ -1737,8 +1684,7 @@ void ida_export py_customidamemo_t_unbind(py_customidamemo_t *_this, bool clear_ return; PYGLOG("%p: py_customidamemo_t::unbind(); self.o=%p, view=%p\n", _this, _this->self.o, _this->view); PYW_GIL_CHECK_LOCKED_SCOPE(); - newref_t py_cobj(PyCObject_FromVoidPtr(NULL, NULL)); - PyObject_SetAttrString(_this->self.o, S_M_THIS, py_cobj.o); + PyObject_SetAttrString(_this->self.o, S_M_THIS, Py_None); _this->self = newref_t(NULL); if ( clear_view ) _this->view = NULL; @@ -1863,8 +1809,7 @@ static qvector live_timers; py_timer_ctx_t *ida_export python_timer_new(PyObject *py_callback) { py_timer_ctx_t *t = new py_timer_ctx_t(); - t->pycallback = py_callback; - Py_INCREF(t->pycallback); + t->pyfunc = borref_t(py_callback); live_timers.push_back(t); return t; } @@ -1873,7 +1818,6 @@ py_timer_ctx_t *ida_export python_timer_new(PyObject *py_callback) void ida_export python_timer_del(py_timer_ctx_t *t) { QASSERT(30491, live_timers.del(t)); - Py_DECREF(t->pycallback); delete t; } @@ -1914,7 +1858,11 @@ ssize_t ida_export get_callable_arg_count(ref_t callable) ssize_t cnt = -1; if ( py_module != NULL ) { +#ifdef PY3 + ref_t py_fun = PyW_TryGetAttrString(py_module.o, "getfullargspec"); +#else ref_t py_fun = PyW_TryGetAttrString(py_module.o, "getargspec"); +#endif if ( py_fun != NULL ) { newref_t py_tuple(PyObject_CallFunctionObjArgs(py_fun.o, callable.o, NULL)); @@ -1977,7 +1925,7 @@ bool ida_export idapython_unhook_from_notification_point( hook_cb_t *cb, void *user_data) { - bool ok = unhook_from_notification_point(hook_type, cb, user_data); + bool ok = unhook_from_notification_point(hook_type, cb, user_data) > 0; if ( ok ) { bool found = false; @@ -2013,14 +1961,14 @@ bool ida_export idapython_convert_cli_completions( borref_t i0(PyTuple_GetItem(py_res.o, 0)); borref_t i1(PyTuple_GetItem(py_res.o, 1)); borref_t i2(PyTuple_GetItem(py_res.o, 2)); - ok = PyList_Check(i0.o) && PyInt_Check(i1.o) && PyInt_Check(i2.o); + ok = PyList_Check(i0.o) && IDAPyInt_Check(i1.o) && IDAPyInt_Check(i2.o); if ( ok ) { ok = PyW_PyListToStrVec(out_completions, i0.o) > 0; if ( ok ) { - *out_match_start = PyInt_AsLong(i1.o); - *out_match_end = PyInt_AsLong(i2.o); + *out_match_start = IDAPyInt_AsLong(i1.o); + *out_match_end = IDAPyInt_AsLong(i2.o); ok = PyErr_Occurred() == NULL; } else @@ -2033,4 +1981,22 @@ bool ida_export idapython_convert_cli_completions( return ok; } +//------------------------------------------------------------------------- +int ida_export pylong_to_byte_array( + bytevec_t *out_allocated_buffer, + PyObject *in, + bool little_endian, + bool is_signed) +{ + if ( !PyLong_Check(in) ) + return -1; + return extapi._PyLong_AsByteArray_ptr( + in, + out_allocated_buffer->begin(), + out_allocated_buffer->size(), + little_endian, + is_signed); +} + + #undef DEF_REG_UNREG_REFCOUNTED diff --git a/pywraps.hpp b/pywraps.hpp index 2eb7f50..59390e4 100644 --- a/pywraps.hpp +++ b/pywraps.hpp @@ -13,6 +13,16 @@ #define PY_BV_SEL PY_BV_EA #define PY_BV_SVAL "L" // Convert a C long long to a Python long integer object +#ifdef PY3 +# define PY_BV_TYPE "y" +# define PY_BV_FIELDS "y" +# define PY_BV_BYTES "y" +#else +# define PY_BV_TYPE "s" +# define PY_BV_FIELDS "s" +# define PY_BV_BYTES "s" +#endif + typedef unsigned PY_LONG_LONG bvea_t; typedef Py_ssize_t bvsz_t; typedef bvea_t bvuval_t; @@ -66,6 +76,7 @@ static const char S_PY_OP_T_CLSNAME[] = "op_t"; static const char S_PROPS[] = "props"; static const char S_NAME[] = "name"; static const char S_TITLE[] = "title"; +static const char S_COLS[] = "cols"; static const char S_ASM_KEYWORD[] = "asm_keyword"; static const char S_MENU_NAME[] = "menu_name"; static const char S_HOTKEY[] = "hotkey"; @@ -120,6 +131,9 @@ static const char S_CLINK_NAME[] = "__clink__"; static const char S_ON_VIEW_MOUSE_MOVED[] = "OnViewMouseMoved"; static const char S_MAIN[] = "__main__"; +#define VALID_CAPSULE_NAME "$valid$" +#define INVALID_CAPSULE_NAME "$INvalid$" + #ifdef __PYWRAPS__ static const char S_PY_IDA_IDAAPI_MODNAME[] = "__main__"; #else @@ -165,8 +179,19 @@ idaman uint32 ida_export_data debug; #define IDA_DEBUG_PLUGIN 0x00000020 THREAD_SAFE AS_PRINTF(1, 2) inline int msg(const char *format, ...); #endif // __KERNWIN_HPP -#define GIL_CHKCONDFAIL (((debug & IDA_DEBUG_PLUGIN) != 0) \ - && PyGILState_GetThisThreadState() != _PyThreadState_Current) + +#ifdef PY3 +# ifdef Py_LIMITED_API +# define GIL_CHKCONDFAIL (false) +# else +# define GIL_CHKCONDFAIL (((debug & IDA_DEBUG_PLUGIN) != 0) && !PyGILState_Check()) +# endif +#else +# define GIL_CHKCONDFAIL (((debug & IDA_DEBUG_PLUGIN) != 0) \ + && PyGILState_GetThisThreadState() != _PyThreadState_Current) +#endif + +#include "idapy.hpp" #define PYW_GIL_CHECK_LOCKED_SCOPE() \ do \ @@ -353,7 +378,7 @@ idaman bool ida_export PyW_GetStringAttr( const char *attr_name, qstring *str); -// Converts a Python number to an uint64 and indicates whether the number was a long number +// Deprecated. Please use specific functions instead. idaman bool ida_export PyW_GetNumber(PyObject *py_var, uint64 *num, bool *is_64 = NULL); // Checks if an Python object can be treated like a sequence @@ -384,6 +409,7 @@ idaman error_t ida_export PyW_CreateIdcException(idc_value_t *res, const char *m // #define PYWCVTF_AS_TUPLE 0x1 #define PYWCVTF_INT64_AS_UNSIGNED_PYLONG 0x2 // don't wrap int64 into 'PyIdc_cvt_int64__' objects, but make them 'long' instead +#define PYWCVTF_STR_AS_BYTES 0x4 // VT_STR objects will be converted into 'bytes', not strings coming from UTF-8 data // Converts from IDC to Python idaman bool ida_export pyw_convert_idc_args( @@ -437,9 +463,6 @@ typedef qvector ea64vec_t; #endif // LUMINA_HPP idaman Py_ssize_t ida_export PyW_PyListToEa64Vec(ea64vec_t *out, PyObject *py_list); -//------------------------------------------------------------------------- -idaman bool ida_export PyWStringOrNone_Check(PyObject *tp); - //------------------------------------------------------------------------- #include idaman PyObject *ida_export meminfo_vec_t_to_py(meminfo_vec_t &ranges); @@ -583,30 +606,6 @@ struct pycim_callbacks_ids_t : public qvector //------------------------------------------------------------------------- // //------------------------------------------------------------------------- -#define PY_CIM_HLPPRM_set_node_info (py_customidamemo_t *_this, PyObject *py_node_idx, PyObject *py_node_info, PyObject *py_flags) -#define PY_CIM_PARAMS_set_node_info (PyObject *py_node_idx, PyObject *py_node_info, PyObject *py_flags) -#define PY_CIM_TRANSM_set_node_info (this, py_node_idx, py_node_info, py_flags) - -#define PY_CIM_HLPPRM_set_nodes_infos (py_customidamemo_t *_this, PyObject *dict) -#define PY_CIM_PARAMS_set_nodes_infos (PyObject *dict) -#define PY_CIM_TRANSM_set_nodes_infos (this, dict) - -#define PY_CIM_HLPPRM_get_node_info (py_customidamemo_t *_this, PyObject *py_node_idx) -#define PY_CIM_PARAMS_get_node_info (PyObject *py_node_idx) -#define PY_CIM_TRANSM_get_node_info (this, py_node_idx) - -#define PY_CIM_HLPPRM_del_nodes_infos (py_customidamemo_t *_this, PyObject *py_nodes) -#define PY_CIM_PARAMS_del_nodes_infos (PyObject *py_nodes) -#define PY_CIM_TRANSM_del_nodes_infos (this, py_nodes) - -#define PY_CIM_HLPPRM_get_current_renderer_type (py_customidamemo_t *_this) -#define PY_CIM_PARAMS_get_current_renderer_type () -#define PY_CIM_TRANSM_get_current_renderer_type (this) - -#define PY_CIM_HLPPRM_set_current_renderer_type (py_customidamemo_t *_this, PyObject *py_rto) -#define PY_CIM_PARAMS_set_current_renderer_type (PyObject *py_rto) -#define PY_CIM_TRANSM_set_current_renderer_type (this, py_rto) - #define PY_CIM_HLPPRM_create_groups (py_customidamemo_t *_this, PyObject *groups_infos) #define PY_CIM_PARAMS_create_groups (PyObject *groups_infos) #define PY_CIM_TRANSM_create_groups (this, groups_infos) @@ -639,12 +638,6 @@ struct pycim_callbacks_ids_t : public qvector decl RType ida_export py_customidamemo_t_##MName MParams #define DECL_CIM_HELPERS(decl) \ - DECL_CIM_HELPER(decl, void, set_node_info, PY_CIM_HLPPRM_set_node_info); \ - DECL_CIM_HELPER(decl, void, set_nodes_infos, PY_CIM_HLPPRM_set_nodes_infos); \ - DECL_CIM_HELPER(decl, PyObject*, get_node_info, PY_CIM_HLPPRM_get_node_info); \ - DECL_CIM_HELPER(decl, void, del_nodes_infos, PY_CIM_HLPPRM_del_nodes_infos); \ - DECL_CIM_HELPER(decl, PyObject*, get_current_renderer_type, PY_CIM_HLPPRM_get_current_renderer_type); \ - DECL_CIM_HELPER(decl, void, set_current_renderer_type, PY_CIM_HLPPRM_set_current_renderer_type); \ DECL_CIM_HELPER(decl, PyObject*, create_groups, PY_CIM_HLPPRM_create_groups); \ DECL_CIM_HELPER(decl, PyObject*, delete_groups, PY_CIM_HLPPRM_delete_groups); \ DECL_CIM_HELPER(decl, PyObject*, set_groups_visibility, PY_CIM_HLPPRM_set_groups_visibility);\ @@ -662,11 +655,6 @@ DECL_CIM_HELPERS(idaman); class py_customidamemo_t { - void convert_node_info( - node_info_t *out, - uint32 *out_flags, - ref_t py_nodeinfo); - // can use up to 16 bits; not more! (GRCODE_HAVE_* uses the rest) enum { @@ -720,12 +708,6 @@ public: } inline bool has_callback(int flag) { return (cb_flags & flag) != 0; } - PY_CIM_TRAMPOLINE(void, set_node_info, PY_CIM_PARAMS_set_node_info, PY_CIM_TRANSM_set_node_info); - PY_CIM_TRAMPOLINE(void, set_nodes_infos, PY_CIM_PARAMS_set_nodes_infos, PY_CIM_TRANSM_set_nodes_infos); - PY_CIM_TRAMPOLINE(PyObject*, get_node_info, PY_CIM_PARAMS_get_node_info, PY_CIM_TRANSM_get_node_info); - PY_CIM_TRAMPOLINE(void, del_nodes_infos, PY_CIM_PARAMS_del_nodes_infos, PY_CIM_TRANSM_del_nodes_infos); - PY_CIM_TRAMPOLINE(PyObject*, get_current_renderer_type, PY_CIM_PARAMS_get_current_renderer_type, PY_CIM_TRANSM_get_current_renderer_type); - PY_CIM_TRAMPOLINE(void, set_current_renderer_type, PY_CIM_PARAMS_set_current_renderer_type, PY_CIM_TRANSM_set_current_renderer_type); PY_CIM_TRAMPOLINE(PyObject*, create_groups, PY_CIM_PARAMS_create_groups, PY_CIM_TRANSM_create_groups); PY_CIM_TRAMPOLINE(PyObject*, delete_groups, PY_CIM_PARAMS_delete_groups, PY_CIM_TRANSM_delete_groups); PY_CIM_TRAMPOLINE(PyObject*, set_groups_visibility, PY_CIM_PARAMS_set_groups_visibility, PY_CIM_TRANSM_set_groups_visibility); @@ -735,16 +717,14 @@ public: #undef DECL_CIM_HELPERS #undef DECL_CIM_HELPER - //------------------------------------------------------------------------- -template -T *view_extract_this(PyObject *self) +inline void *view_extract_this(PyObject *self) { PYW_GIL_CHECK_LOCKED_SCOPE(); ref_t py_this(PyW_TryGetAttrString(self, S_M_THIS)); - if ( py_this == NULL || !PyCObject_Check(py_this.o) ) + if ( py_this == NULL || !PyCapsule_IsValid(py_this.o, VALID_CAPSULE_NAME) ) return NULL; - return (T*) PyCObject_AsVoidPtr(py_this.o); + return PyCapsule_GetPointer(py_this.o, VALID_CAPSULE_NAME); } //------------------------------------------------------------------------- @@ -765,10 +745,12 @@ DECL_REG_UNREG_REFCOUNTED(udt_type_data_t); // Context structure used by register/unregister timer struct py_timer_ctx_t { - py_timer_ctx_t() : timer_id(NULL), pycallback(NULL) {} + py_timer_ctx_t() : timer_id(NULL) {} qtimer_t timer_id; - PyObject *pycallback; + ref_t pyfunc; }; + +//------------------------------------------------------------------------- idaman py_timer_ctx_t *ida_export python_timer_new(PyObject *py_callback); idaman void ida_export python_timer_del(py_timer_ctx_t *t); @@ -799,6 +781,9 @@ struct new_execution_t ~new_execution_t() { setup_new_execution(this, false); } }; +//------------------------------------------------------------------------- +idaman bool ida_export is_api695_compat_enabled(); + //------------------------------------------------------------------------- idaman bool ida_export idapython_hook_to_notification_point( hook_type_t hook_type, @@ -858,10 +843,10 @@ protected: // identifier { ref_t py_id = newref_t(PyObject_GetAttrString(self, "id")); - if ( py_id == NULL || !PyString_Check(py_id.o) ) + if ( py_id == NULL || !IDAPyStr_Check(py_id.o) ) py_id = newref_t(PyObject_Repr(self)); - if ( py_id != NULL && PyString_Check(py_id.o) ) - identifier = PyString_AsString(py_id.o); + if ( py_id != NULL && IDAPyStr_Check(py_id.o) ) + IDAPyStr_AsUTF8(&identifier, py_id.o); } // method set @@ -900,7 +885,11 @@ protected: _has_nondef = 2; else #endif +#ifdef PY3 + _has_nondef = PyObject_RichCompareBool(py_this_meth.o, py_def_meth.o, Py_EQ) == 0 ? 1 : 0; +#else _has_nondef = PyObject_Compare(py_this_meth.o, py_def_meth.o) != 0 ? 1 : 0; +#endif } has_nondef[cur.code] = _has_nondef; } @@ -908,6 +897,26 @@ protected: } } + void ensure_no_method_when_no_695_compat( + PyObject *self, + const char *forbidden_method_name, + const char *replacement_method_name) + { + if ( !is_api695_compat_enabled() ) + { + if ( PyObject_HasAttrString(self, "__class__") ) + { + newref_t py_this_class(PyObject_GetAttrString(self, "__class__")); + if ( py_this_class != NULL + && PyObject_HasAttrString(py_this_class.o, forbidden_method_name) ) + { + msg("WARNING: The method \"%s::%s\" won't be called (it has been replaced with \"%s::%s\")\n", + class_name, forbidden_method_name, class_name, replacement_method_name); + } + } + } + } + qstring dump_state( const event_code_to_method_name_t *mappings, size_t mappings_size) const @@ -943,6 +952,14 @@ protected: } }; +//------------------------------------------------------------------------- +idaman THREAD_SAFE void ida_export idapython_show_wait_box( + bool internal, + const char *message); +idaman void ida_export idapython_hide_wait_box(); +#define show_wait_box USE_IDAPYTHON_SHOW_WAIT_BOX +#define hide_wait_box USE_IDAPYTHON_HIDE_WAIT_BOX + //------------------------------------------------------------------------- idaman bool ida_export idapython_convert_cli_completions( qstrvec_t *out_completions, @@ -951,11 +968,11 @@ idaman bool ida_export idapython_convert_cli_completions( ref_t py_res); //------------------------------------------------------------------------- -idaman void ida_export dump_hooks_state( - qstrvec_t *out, - const hooks_base_t &h, - const hooks_base_t::event_code_to_method_name_t *mappings, - size_t mappings_size); +idaman int ida_export pylong_to_byte_array( + bytevec_t *out_allocated_buffer, + PyObject *in, + bool little_endian=true, + bool is_signed=true); //------------------------------------------------------------------------- struct module_callbacks_t diff --git a/pywraps/py_bytes.hpp b/pywraps/py_bytes.hpp index c640864..103c095 100644 --- a/pywraps/py_bytes.hpp +++ b/pywraps/py_bytes.hpp @@ -40,7 +40,7 @@ static int idaapi py_visit_patched_bytes_cb( o, v)); PyW_ShowCbErr("visit_patched_bytes"); - return (py_result != NULL && PyInt_Check(py_result.o)) ? PyInt_AsLong(py_result.o) : 0; + return (py_result != NULL && IDAPyInt_Check(py_result.o)) ? IDAPyInt_AsLong(py_result.o) : 0; } //------------------------------------------------------------------------- @@ -70,7 +70,8 @@ static bool py_do_get_bytes( break; // Allocate memory via Python - newref_t py_bytes(PyString_FromStringAndSize(NULL, Py_ssize_t(size))); + + newref_t py_bytes(IDAPyBytes_FromMemAndSize(NULL, Py_ssize_t(size))); if ( py_bytes == NULL ) break; @@ -79,7 +80,7 @@ static bool py_do_get_bytes( mask.resize((size + 7) / 8, 0); // Read bytes - int code = get_bytes(PyString_AsString(py_bytes.o), + int code = get_bytes(IDAPyBytes_AsString(py_bytes.o), size, ea, gmb_flags, @@ -90,7 +91,7 @@ static bool py_do_get_bytes( // note: specify size, as '0' bytes would otherwise cut the mask short if ( has_mask ) { - newref_t py_mask(PyString_FromStringAndSize( + newref_t py_mask(IDAPyBytes_FromMemAndSize( (const char *) mask.begin(), mask.size())); if ( py_mask == NULL ) @@ -260,7 +261,7 @@ static PyObject *py_get_strlit_contents( if ( type == STRTYPE_C && buf.length() > 0 && buf.last() == '\0' ) buf.remove_last(); PYW_GIL_CHECK_LOCKED_SCOPE(); - newref_t py_buf(PyString_FromStringAndSize(buf.begin(), buf.length())); + newref_t py_buf(IDAPyBytes_FromMemAndSize(buf.begin(), buf.length())); py_buf.incref(); return py_buf.o; } @@ -269,17 +270,20 @@ static PyObject *py_get_strlit_contents( static ea_t py_bin_search( ea_t start_ea, ea_t end_ea, - const uchar *image, - size_t len, - const uchar *mask, + const bytevec_t &image, + const bytevec_t &imask, int step, int flags) { + if ( image.empty() ) + return BADADDR; if ( step != /* old value of BIN_SEARCH_FORWARD*/ 1 && step != /* new value of BIN_SEARCH_FORWARD */ 0 ) { flags |= BIN_SEARCH_BACKWARD; } + const size_t len = image.size(); + const uchar *mask = imask.begin(); bytevec_t lmask; if ( mask != NULL ) { @@ -299,7 +303,7 @@ static ea_t py_bin_search( mask = lmask.begin(); } } - return bin_search2(start_ea, end_ea, image, mask, len, flags); + return bin_search2(start_ea, end_ea, image.begin(), mask, len, flags); } //------------------------------------------------------------------------- diff --git a/pywraps/py_bytes_custdata.hpp b/pywraps/py_bytes_custdata.hpp index 58691ef..058ff0c 100644 --- a/pywraps/py_bytes_custdata.hpp +++ b/pywraps/py_bytes_custdata.hpp @@ -188,7 +188,7 @@ private: PYW_GIL_GET; // Build a string from the buffer - newref_t py_value(PyString_FromStringAndSize( + newref_t py_value(IDAPyBytes_FromMemAndSize( (const char *)value, Py_ssize_t(size))); if ( py_value == NULL ) @@ -209,15 +209,10 @@ private: return false; bool ok = false; - if ( PyString_Check(py_result.o) ) + if ( IDAPyStr_Check(py_result.o) ) { - Py_ssize_t len; - char *buf; - if ( out != NULL && PyString_AsStringAndSize(py_result.o, &buf, &len) != -1 ) - { - out->qclear(); - out->append(buf, len); - } + if ( out != NULL ) + IDAPyStr_AsUTF8(out, py_result.o); ok = true; } return ok; @@ -258,7 +253,7 @@ private: borref_t py_val(PyTuple_GetItem(py_result.o, 1)); // Get return code from Python - ok = PyObject_IsTrue(py_bool.o); + ok = PyObject_IsTrue(py_bool.o) != 0; // We expect None or the value (depending on probe) if ( ok ) @@ -269,7 +264,7 @@ private: Py_ssize_t len; char *buf; - if ( PyString_AsStringAndSize(py_val.o, &buf, &len) != -1 ) + if ( IDAPyBytes_AsMemAndSize(py_val.o, &buf, &len) != -1 ) { value->qclear(); value->append(buf, len); @@ -279,13 +274,13 @@ private: else { // Make sure the user returned (False, String) - if ( py_bool.o != Py_False || !PyString_Check(py_val.o) ) + if ( py_bool.o != Py_False || !IDAPyStr_Check(py_val.o) ) { *errstr = "Invalid return value returned from the Python callback!"; break; } // Get the error message - *errstr = PyString_AsString(py_val.o); + IDAPyStr_AsUTF8(errstr, py_val.o); } } while ( false ); return ok; diff --git a/pywraps/py_bytes_custdata.py b/pywraps/py_bytes_custdata.py index 2755789..302cc40 100644 --- a/pywraps/py_bytes_custdata.py +++ b/pywraps/py_bytes_custdata.py @@ -74,7 +74,8 @@ def register_data_types_and_formats(formats): # ----------------------------------------------------------------------- def unregister_data_types_and_formats(formats): - """As opposed to register_data_types_and_formats(), this function + """ + As opposed to register_data_types_and_formats(), this function unregisters multiple data types and formats at once. """ def __unreg_format(df, dtid): diff --git a/pywraps/py_dbg.hpp b/pywraps/py_dbg.hpp index 236182a..360ca03 100644 --- a/pywraps/py_dbg.hpp +++ b/pywraps/py_dbg.hpp @@ -126,10 +126,10 @@ static bool _to_reg_val(regval_t **out, regval_t *buf, const char *name, PyObjec if ( status.ok ) { status.ok = false; - if ( PyString_Check(in) ) + if ( IDAPyBytes_Check(in) ) { char *buf; - status.ok = PyString_AsStringAndSize(in, &buf, &got) >= 0 && got <= nbytes; + status.ok = IDAPyBytes_AsMemAndSize(in, &buf, &got) >= 0 && got <= nbytes; if ( status.ok ) bytes.append((const uchar *) buf, got); else @@ -137,7 +137,7 @@ static bool _to_reg_val(regval_t **out, regval_t *buf, const char *name, PyObjec "List of bytes is too long; was expecting at most %d bytes", int(nbytes)); } - else if ( PyInt_Check(in) ) + else if ( IDAPyInt_Check(in) ) { uint64 u64 = 0; status.ok = PyW_GetNumber(in, &u64); @@ -147,9 +147,15 @@ static bool _to_reg_val(regval_t **out, regval_t *buf, const char *name, PyObjec bytes.resize(got, 0); memcpy(bytes.begin(), &u64, got); } + else + { + if ( PyLong_CheckExact(in) ) + goto TRY_RAW_LONG; + } } else if ( PyLong_CheckExact(in) ) { +TRY_RAW_LONG: // (possibly very long) int or long value. Apparently it's rather // safe to use _PyLong_AsByteArray (it's even present in 3.x) // https://stackoverflow.com/questions/18290507/python-extension-construct-and-inspect-large-integers-efficiently @@ -174,12 +180,11 @@ static bool _to_reg_val(regval_t **out, regval_t *buf, const char *name, PyObjec // case, but bytes holds the least-significant n bytes of the true value. // */ bytes.resize(nbytes, 0); - status.ok = _PyLong_AsByteArray( - (PyLongObject *) in, - bytes.begin(), - bytes.size(), - /*little_endian=*/ 1, - /*is_signed=*/ 1) >= 0; + status.ok = pylong_to_byte_array( + &bytes, + in, + /*little_endian=*/ true, + /*is_signed=*/ true) >= 0; if ( status.ok ) got = nbytes; else @@ -239,7 +244,7 @@ static PyObject *_from_reg_val( switch ( ri.dtype ) { default: - if ( rv.ival <= uint64(PyInt_GetMax()) ) + if ( rv.ival <= uint64(LONG_MAX) ) res = PyInt_FromLong(long(rv.ival)); else res = PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) rv.ival); @@ -260,7 +265,7 @@ static PyObject *_from_reg_val( case dt_byte64: { const bytevec_t &b = rv.bytes(); - res = PyString_FromStringAndSize((const char *) b.begin(), b.size()); + res = IDAPyBytes_FromMemAndSize((const char *) b.begin(), b.size()); } break; } @@ -442,11 +447,11 @@ static ea_t py_internal_get_sreg_base(thid_t tid, int sreg_value) static ssize_t py_write_dbg_memory(ea_t ea, PyObject *py_buf, size_t size=size_t(-1)) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !dbg_can_query() || !PyString_Check(py_buf) ) + if ( !dbg_can_query() || !IDAPyBytes_Check(py_buf) ) return -1; char *buf = NULL; Py_ssize_t sz; - if ( PyString_AsStringAndSize(py_buf, &buf, &sz) < 0 ) + if ( IDAPyBytes_AsMemAndSize(py_buf, &buf, &sz) < 0 ) return -1; if ( size == size_t(-1) ) size = size_t(sz); @@ -482,7 +487,7 @@ static PyObject *py_set_reg_val(const char *regname, PyObject *o) if ( !ok ) { PyErr_SetString(PyExc_Exception, "Failed to set register value"); - Py_RETURN_FALSE; + return NULL; } Py_RETURN_TRUE; } @@ -508,7 +513,7 @@ static PyObject *py_set_reg_val(thid_t tid, int regidx, PyObject *o) if ( !_to_reg_val(&ptr, &buf, ri.name, o) ) return NULL; SWIG_PYTHON_THREAD_BEGIN_ALLOW; - bool ok = set_reg_val(tid, regidx, ptr); + bool ok = set_reg_val(tid, regidx, ptr) > 0; SWIG_PYTHON_THREAD_END_ALLOW; return PyInt_FromLong(ok); } @@ -526,7 +531,7 @@ static PyObject *py_request_set_reg_val(const char *regname, PyObject *o) if ( !ok ) { PyErr_SetString(PyExc_Exception, "Failed to request set register value"); - Py_RETURN_FALSE; + return NULL; } Py_RETURN_TRUE; } diff --git a/pywraps/py_diskio.hpp b/pywraps/py_diskio.hpp index 4db535f..c63e7ee 100644 --- a/pywraps/py_diskio.hpp +++ b/pywraps/py_diskio.hpp @@ -9,7 +9,7 @@ int idaapi py_enumerate_files_cb(const char *file, void *ud) // and from the same thread as the one that executes // 'py_enumerate_files'. PYW_GIL_CHECK_LOCKED_SCOPE(); - newref_t py_file(PyString_FromString(file)); + newref_t py_file(IDAPyStr_FromUTF8(file)); newref_t py_ret( PyObject_CallFunctionObjArgs( (PyObject *)ud, @@ -54,17 +54,21 @@ PyObject *py_enumerate_files(PyObject *path, PyObject *fname, PyObject *callback do { - if ( !PyString_Check(path) || !PyString_Check(fname) || !PyCallable_Check(callback) ) + if ( !IDAPyStr_Check(path) || !IDAPyStr_Check(fname) || !PyCallable_Check(callback) ) break; - const char *_path = PyString_AsString(path); - const char *_fname = PyString_AsString(fname); - if ( _path == NULL || _fname == NULL ) + qstring _path; + qstring _fname; + if ( !IDAPyStr_AsUTF8(&_path, path) || !IDAPyStr_AsUTF8(&_fname, fname) ) break; char answer[MAXSTR]; answer[0] = '\0'; - int r = enumerate_files(answer, sizeof(answer), _path, _fname, py_enumerate_files_cb, callback); + int r = enumerate_files( + answer, sizeof(answer), + _path.c_str(), + _fname.c_str(), + py_enumerate_files_cb, callback); return Py_BuildValue("(is)", r, answer); } while ( false ); Py_RETURN_NONE; diff --git a/pywraps/py_fpro.hpp b/pywraps/py_fpro.hpp index 1f26367..fa96e49 100644 --- a/pywraps/py_fpro.hpp +++ b/pywraps/py_fpro.hpp @@ -14,7 +14,9 @@ class qfile_t(pyidc_opaque_object_t): pass def open(self, filename, mode): - """Opens a file + """ + Opens a file + @param filename: the file name @param mode: The mode string, ala fopen() style @return: Boolean @@ -31,7 +33,8 @@ class qfile_t(pyidc_opaque_object_t): pass def seek(self, pos, whence = SEEK_SET): - """Set input source position + """ + Set input source position @return: the new position (not 0 as fseek!) """ pass @@ -63,12 +66,12 @@ class qfile_t(pyidc_opaque_object_t): def flush(self): pass - def get_char(self): - """Reads a single character from the file. Returns None if EOF or the read character""" + def get_byte(self): + """Reads a single byte from the file. Returns None if EOF or the read byte""" pass - def put_char(self): - """Writes a single character to the file""" + def put_byte(self): + """Writes a single byte to the file""" pass def opened(self): @@ -100,10 +103,10 @@ private: this->fp = fp; return true; } - inline void _from_cobject(PyObject *pycobject) + inline void _from_capsule(PyObject *pycapsule) { PYW_GIL_CHECK_LOCKED_SCOPE(); - _from_fp((FILE *)PyCObject_AsVoidPtr(pycobject)); + _from_fp((FILE *) PyCapsule_GetPointer(pycapsule, VALID_CAPSULE_NAME)); } public: int __idc_cvt_id__; @@ -114,7 +117,7 @@ public: } //-------------------------------------------------------------------------- - qfile_t(PyObject *pycobject = NULL) + qfile_t(PyObject *pycapsule = NULL) { fp = NULL; own = true; @@ -123,10 +126,10 @@ public: bool ok; { PYW_GIL_CHECK_LOCKED_SCOPE(); - ok = pycobject != NULL && PyCObject_Check(pycobject); + ok = pycapsule != NULL && PyCapsule_IsValid(pycapsule, VALID_CAPSULE_NAME); } if ( ok ) - _from_cobject(pycobject); + _from_capsule(pycapsule); } //-------------------------------------------------------------------------- @@ -185,9 +188,11 @@ public: //-------------------------------------------------------------------------- // This method can be used to pass a FILE* from C code - static qfile_t *from_cobject(PyObject *pycobject) + static qfile_t *from_capsule(PyObject *pycapsule) { - return PyCObject_Check(pycobject) ? from_fp((FILE *)PyCObject_AsVoidPtr(pycobject)) : NULL; + return PyCapsule_IsValid(pycapsule, VALID_CAPSULE_NAME) + ? from_fp((FILE *) PyCapsule_GetPointer(pycapsule, VALID_CAPSULE_NAME)) + : NULL; } //-------------------------------------------------------------------------- @@ -245,7 +250,7 @@ public: break; } - PyObject *ret = PyString_FromStringAndSize(buf, r); + PyObject *ret = IDAPyStr_FromUTF8AndSize(buf, r); free(buf); return ret; } while ( false ); @@ -270,7 +275,7 @@ public: free(buf); break; } - PyObject *ret = PyString_FromStringAndSize(buf, r); + PyObject *ret = IDAPyStr_FromUTF8AndSize(buf, r); free(buf); return ret; } while ( false ); @@ -295,7 +300,7 @@ public: free(buf); break; } - PyObject *ret = PyString_FromString(buf); + PyObject *ret = IDAPyStr_FromUTF8(buf); free(buf); return ret; } while ( false ); @@ -305,11 +310,10 @@ public: //-------------------------------------------------------------------------- int writebytes(PyObject *py_buf, bool big_endian) { - Py_ssize_t sz; - void *buf; PYW_GIL_CHECK_LOCKED_SCOPE(); - sz = PyString_GET_SIZE(py_buf); - buf = (void *)PyString_AS_STRING(py_buf); + char *buf; + Py_ssize_t sz; + IDAPyBytes_AsMemAndSize(py_buf, &buf, &sz); int rc; Py_BEGIN_ALLOW_THREADS; rc = fwritebytes(fp, buf, int(sz), big_endian); @@ -321,17 +325,15 @@ public: int write(PyObject *py_buf) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !PyString_Check(py_buf) ) + if ( !IDAPyStr_Check(py_buf) ) return 0; // Just so that there is no risk that the buffer returned by - // 'PyString_AS_STRING' gets deallocated within the - // Py_BEGIN|END_ALLOW_THREADS section. borref_t py_buf_ref(py_buf); - void *p = (void *)PyString_AS_STRING(py_buf); - Py_ssize_t sz = PyString_GET_SIZE(py_buf); + qstring buf; + IDAPyStr_AsUTF8(&buf, py_buf); int rc; Py_BEGIN_ALLOW_THREADS; - rc = qfwrite(fp, p, sz); + rc = qfwrite(fp, buf.c_str(), buf.length()); Py_END_ALLOW_THREADS; return rc; } @@ -375,11 +377,15 @@ public: PyObject *filename() { PYW_GIL_CHECK_LOCKED_SCOPE(); - return PyString_FromString(fn.c_str()); + return IDAPyStr_FromUTF8(fn.c_str()); } //-------------------------------------------------------------------------- +#ifdef PY3 + PyObject *get_byte() +#else PyObject *get_char() +#endif { PYW_GIL_CHECK_LOCKED_SCOPE(); int ch; @@ -388,11 +394,19 @@ public: Py_END_ALLOW_THREADS; if ( ch == EOF ) Py_RETURN_NONE; +#ifdef PY3 + return Py_BuildValue("i", ch); +#else return Py_BuildValue("c", ch); +#endif } //-------------------------------------------------------------------------- +#ifdef PY3 + int put_byte(int chr) +#else int put_char(char chr) +#endif { PYW_GIL_CHECK_LOCKED_SCOPE(); int rc; diff --git a/pywraps/py_frame.hpp b/pywraps/py_frame.hpp index acc3bab..ca8f512 100644 --- a/pywraps/py_frame.hpp +++ b/pywraps/py_frame.hpp @@ -25,7 +25,7 @@ PyObject *py_get_stkvar(const insn_t &insn, const op_t &op, sval_t v) Py_RETURN_NONE; return Py_BuildValue("(O" PY_BV_SVAL ")", - SWIG_NewPointerObj(SWIG_as_voidptr(member), SWIGTYPE_p_member_t, 0), + SWIG_InternalNewPointerObj(SWIG_as_voidptr(member), SWIGTYPE_p_member_t, 0), bvsval_t(actval)); } // diff --git a/pywraps/py_gdl.py b/pywraps/py_gdl.py index df6f7eb..b312dc8 100644 --- a/pywraps/py_gdl.py +++ b/pywraps/py_gdl.py @@ -1,6 +1,8 @@ # -import _ida_idaapi import types + +import _ida_idaapi +import ida_idaapi # ----------------------------------------------------------------------- class BasicBlock(object): """Basic block class. It is returned by the Flowchart class""" @@ -25,7 +27,7 @@ class BasicBlock(object): Iterates the predecessors list """ q = self._fc._q - for i in xrange(0, self._fc._q.npred(self.id)): + for i in range(0, self._fc._q.npred(self.id)): yield self._fc[q.pred(self.id, i)] @@ -34,13 +36,16 @@ class BasicBlock(object): Iterates the successors list """ q = self._fc._q - for i in xrange(0, q.nsucc(self.id)): + for i in range(0, q.nsucc(self.id)): yield self._fc[q.succ(self.id, i)] try: if _BC695: startEA = property(lambda self: self.start_ea, lambda self, ea: setattr(self, "start_ea", ea)) endEA = property(lambda self: self.end_ea, lambda self, ea: setattr(self, "end_ea", ea)) + else: + startEA = ida_idaapi._make_badattr_property("startEA", "start_ea") + endEA = ida_idaapi._make_badattr_property("endEA", "end_ea") except: pass # BC695 not defined at compile-time @@ -80,7 +85,7 @@ class FlowChart(object): def __iter__(self): - return (self._getitem(index) for index in xrange(0, self.size)) + return (self._getitem(index) for index in range(0, self.size)) def __getitem__(self, index): diff --git a/pywraps/py_graph.hpp b/pywraps/py_graph.hpp index 22db641..9c1d0a4 100644 --- a/pywraps/py_graph.hpp +++ b/pywraps/py_graph.hpp @@ -18,10 +18,9 @@ private: GRCODE_HAVE_DBL_CLICKED = 0x00080000, GRCODE_HAVE_GOTFOCUS = 0x00100000, GRCODE_HAVE_LOSTFOCUS = 0x00200000, - GRCODE_HAVE_CHANGED_CURRENT = 0x00400000, - GRCODE_HAVE_CREATING_GROUP = 0x00800000, - GRCODE_HAVE_DELETING_GROUP = 0x01000000, - GRCODE_HAVE_GROUP_VISIBILITY = 0x02000000, + GRCODE_HAVE_CREATING_GROUP = 0x00400000, + GRCODE_HAVE_DELETING_GROUP = 0x00800000, + GRCODE_HAVE_GROUP_VISIBILITY = 0x01000000, }; struct nodetext_cache_t { @@ -173,26 +172,6 @@ private: PyW_ShowCbErr(S_ON_DEACTIVATE); } - // a new graph node became the current node - int on_changed_current(graph_viewer_t * /*view*/, int curnode) - { - // in: graph_viewer_t *view - // int curnode - // out: 0-ok, 1-forbid to change the current node - if ( curnode < 0 ) - return 0; - - PYW_GIL_CHECK_LOCKED_SCOPE(); - newref_t result( - PyObject_CallMethod( - self.o, - (char *)S_ON_SELECT, - "i", - curnode)); - PyW_ShowCbErr(S_ON_SELECT); - return !(result != NULL && PyObject_IsTrue(result.o)); - } - // a group is being created int on_creating_group(mutable_graph_t * /*my_g*/, intvec_t *my_nodes) { @@ -209,7 +188,9 @@ private: "O", py_nodes.o)); PyW_ShowCbErr(S_ON_CREATING_GROUP); - return (py_result == NULL || !PyInt_Check(py_result.o)) ? 1 : PyInt_AsLong(py_result.o); + return (py_result == NULL || !IDAPyInt_Check(py_result.o)) + ? 1 + : IDAPyInt_AsLong(py_result.o); } // a group is being deleted @@ -310,7 +291,7 @@ public: if ( nid < 0 ) return; - py_graph_t *_this = view_extract_this(self); + py_graph_t *_this = (py_graph_t *) view_extract_this(self); if ( _this == NULL || !pycim_lookup_info.find_by_py_view(NULL, _this) ) return; @@ -320,7 +301,7 @@ public: static py_graph_t *Close(PyObject *self) { TWidget *view; - py_graph_t *_this = view_extract_this(self); + py_graph_t *_this = (py_graph_t *) view_extract_this(self); if ( _this == NULL || !pycim_lookup_info.find_by_py_view(&view, _this) ) return NULL; newref_t ret(PyObject_CallMethod(self, "unhook", NULL)); @@ -332,7 +313,7 @@ public: { PYW_GIL_CHECK_LOCKED_SCOPE(); - py_graph_t *py_graph = view_extract_this(self); + py_graph_t *py_graph = (py_graph_t *) view_extract_this(self); // New instance? if ( py_graph == NULL ) @@ -383,7 +364,6 @@ void py_graph_t::collect_class_callbacks_ids(pycim_callbacks_ids_t *out) out->add(S_ON_EDGE_HINT, GRCODE_HAVE_EDGE_HINT); out->add(S_ON_CLICK, GRCODE_HAVE_CLICKED); out->add(S_ON_DBL_CLICK, GRCODE_HAVE_DBL_CLICKED); - out->add(S_ON_SELECT, GRCODE_HAVE_CHANGED_CURRENT); out->add(S_ON_ACTIVATE, GRCODE_HAVE_GOTFOCUS); out->add(S_ON_DEACTIVATE, GRCODE_HAVE_LOSTFOCUS); out->add(S_ON_CREATING_GROUP, GRCODE_HAVE_CREATING_GROUP); @@ -436,9 +416,9 @@ void py_graph_t::on_user_refresh(mutable_graph_t *g) for ( j=0; j < qnumber(edge_ids); j++ ) { newref_t id(PySequence_GetItem(item.o, j)); - if ( id == NULL || !PyInt_Check(id.o) ) + if ( id == NULL || !IDAPyInt_Check(id.o) ) break; - int v = int(PyInt_AS_LONG(id.o)); + int v = int(IDAPyInt_AsLong(id.o)); if ( v > max_nodes ) break; edge_ids[j] = v; @@ -477,28 +457,27 @@ bool py_graph_t::on_user_text(mutable_graph_t * /*g*/, int node, const char **st return false; bgcolor_t cl = bg_color == NULL ? DEFCOLOR : *bg_color; - const char *s; + qstring buf; // User returned a string? - if ( PyString_Check(result.o) ) + if ( IDAPyStr_Check(result.o) ) { - s = PyString_AsString(result.o); - if ( s == NULL ) - s = ""; - c = node_cache.add(node, s, cl); + IDAPyStr_AsUTF8(&buf, result.o); + c = node_cache.add(node, buf.c_str(), cl); } // User returned a sequence of text and bgcolor - else if ( PySequence_Check(result.o) && PySequence_Size(result.o) == 2 ) + else if ( PySequence_Check(result.o) + && PySequence_Size(result.o) == 2 ) { newref_t py_str(PySequence_GetItem(result.o, 0)); newref_t py_color(PySequence_GetItem(result.o, 1)); - if ( py_str == NULL || !PyString_Check(py_str.o) || (s = PyString_AsString(py_str.o)) == NULL ) - s = ""; + if ( py_str != NULL && IDAPyStr_Check(py_str.o) ) + IDAPyStr_AsUTF8(&buf, py_str.o); if ( py_color != NULL && PyNumber_Check(py_color.o) ) cl = bgcolor_t(PyLong_AsUnsignedLong(py_color.o)); - c = node_cache.add(node, s, cl); + c = node_cache.add(node, buf.c_str(), cl); } *str = c->text.c_str(); @@ -531,9 +510,13 @@ int py_graph_t::_on_hint_epilog(char **hint, ref_t result) { // 'hint' must be allocated by qalloc() or qstrdup() // out: 0-use default hint, 1-use proposed hint - bool ok = result != NULL && PyString_Check(result.o); + bool ok = result != NULL && IDAPyStr_Check(result.o); if ( ok ) - *hint = qstrdup(PyString_AsString(result.o)); + { + qstring buf; + IDAPyStr_AsUTF8(&buf, result.o); + *hint = buf.extract(); + } return ok; } @@ -570,8 +553,8 @@ ssize_t py_graph_t::gr_callback(int code, va_list va) } else { - // Ignore the click - ret = 1; + // let the click go through + ret = 0; } break; // @@ -630,17 +613,6 @@ ssize_t py_graph_t::gr_callback(int code, va_list va) } break; // - case grcode_changed_current: - if ( has_callback(GRCODE_HAVE_CHANGED_CURRENT) ) - { - graph_viewer_t *view = va_arg(va, graph_viewer_t *); - int cur_node = va_arg(va, int); - ret = on_changed_current(view, cur_node); - } - else - ret = 0; // allow selection change - break; - // case grcode_creating_group: // a group is being created if ( has_callback(GRCODE_HAVE_CREATING_GROUP) ) { diff --git a/pywraps/py_graph.py b/pywraps/py_graph.py index d2dad98..e24b97b 100644 --- a/pywraps/py_graph.py +++ b/pywraps/py_graph.py @@ -1,11 +1,6 @@ # import ida_idaapi import ida_kernwin -try: - if _BC695: - from ida_kernwin import BC695_control_cmd -except: - pass # BC695 not defined at compile-time class GraphViewer(ida_kernwin.CustomIDAMemo): class UI_Hooks_Trampoline(ida_kernwin.UI_Hooks): @@ -15,10 +10,10 @@ class GraphViewer(ida_kernwin.CustomIDAMemo): import weakref self.v = weakref.ref(v) - def populating_widget_popup(self, form, popup_handle): - my_form = self.v().GetWidget() - if form == my_form: - self.v().OnPopup(my_form, popup_handle) + def populating_widget_popup(self, w, popup_handle): + my_w = self.v().GetWidget() + if w == my_w: + self.v().OnPopup(my_w, popup_handle) """This class wraps the user graphing facility provided by the graph.hpp file""" def __init__(self, title, close_open = False): @@ -33,6 +28,9 @@ class GraphViewer(ida_kernwin.CustomIDAMemo): self._nodes = [] self._edges = [] self._close_open = close_open + def _qccb(ctx, cmd_id): + return self.OnCommand(cmd_id) + self._quick_commands = ida_kernwin.quick_widget_commands_t(_qccb) ida_kernwin.CustomIDAMemo.__init__(self) self.ui_hooks_trampoline = self.UI_Hooks_Trampoline(self) @@ -53,12 +51,8 @@ class GraphViewer(ida_kernwin.CustomIDAMemo): self._nodes = [] self._edges = [] - def OnPopup(self, form, popup_handle): - pass - def __iter__(self): - return (self._nodes[index] for index in xrange(0, len(self._nodes))) - + return (self._nodes[index] for index in range(0, len(self._nodes))) def __getitem__(self, idx): """Returns a reference to the object associated with this node id""" @@ -108,19 +102,17 @@ class GraphViewer(ida_kernwin.CustomIDAMemo): return True - def AddCommand(self, title, hotkey): - return BC695_control_cmd.add_to_control( - self, - title, - ida_kernwin.CHOOSER_POPUP_MENU, # KLUDGE - -1, # menu index - -1, # icon - None, # emb - hotkey, - is_chooser=False) + def AddCommand(self, title, shortcut): + return self._quick_commands.add( + caption=title, + flags=ida_kernwin.CHOOSER_POPUP_MENU, + menu_index=-1, + icon=-1, + emb=None, + shortcut=shortcut) def OnPopup(self, widget, popup_handle): - BC695_control_cmd.populate_popup(self, widget, popup_handle) + self._quick_commands.populate_popup(widget, popup_handle) def OnCommand(self, cmd_id): return 0 @@ -144,21 +136,13 @@ class GraphViewer(ida_kernwin.CustomIDAMemo): # Triggered when the graph window gets the focus # @return: None # """ -# print "Activated...." +# print("Activated....") # # def OnDeactivate(self): # """Triggered when the graph window loses the focus # @return: None # """ -# print "Deactivated...." -# -# def OnSelect(self, node_id): -# """ -# Triggered when a node is being selected -# @return: Return True to allow the node to be selected or False to disallow node selection change -# """ -# # allow selection change -# return True +# print("Deactivated....") # # def OnHint(self, node_id): # """ @@ -180,14 +164,14 @@ class GraphViewer(ida_kernwin.CustomIDAMemo): # """Triggered when the graph viewer window is being closed # @return: None # """ -# print "Closing......." +# print("Closing.......") # # def OnClick(self, node_id): # """ # Triggered when a node is clicked # @return: False to ignore the click and True otherwise # """ -# print "clicked on", self[node_id] +# print("clicked on", self[node_id]) # return True # # def OnDblClick(self, node_id): @@ -195,7 +179,7 @@ class GraphViewer(ida_kernwin.CustomIDAMemo): # Triggerd when a node is double-clicked. # @return: False to ignore the click and True otherwise # """ -# print "dblclicked on", self[node_id] +# print("dblclicked on", self[node_id]) # return True # # diff --git a/pywraps/py_hexrays.py b/pywraps/py_hexrays.py index 008ddd1..eff975b 100644 --- a/pywraps/py_hexrays.py +++ b/pywraps/py_hexrays.py @@ -1,6 +1,7 @@ # ----------------------------------------------------------------------- # import ida_funcs +import ida_idaapi hexrays_failure_t.__str__ = lambda self: str("%x: %s" % (self.errea, self.desc())) @@ -11,7 +12,8 @@ is_small_struni = is_small_udt # --------------------------------------------------------------------- class DecompilationFailure(Exception): - """ Raised on a decompilation error. + """ + Raised on a decompilation error. The associated hexrays_failure_t object is stored in the 'info' member of this exception. """ @@ -23,7 +25,7 @@ class DecompilationFailure(Exception): # --------------------------------------------------------------------- def decompile(ea, hf=None, flags=0): - if isinstance(ea, (int, long)): + if isinstance(ea, ida_idaapi.integer_types): func = ida_funcs.get_func(ea) if not func: return elif type(ea) == ida_funcs.func_t: @@ -135,8 +137,10 @@ def cexpr_operands(self): cexpr_t.operands = property(cexpr_operands) def cinsn_details(self): - """ 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. """ + """ + 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. + """ if self.op not in self.op_to_typename: raise RuntimeError('unknown item->op type') @@ -218,6 +222,7 @@ def cblock_insert(self, index, item): cblock_t.insert = cblock_insert cfuncptr_t.__str__ = lambda self: str(self.__deref__()) +cfuncptr_t.__eq__ = lambda self, other: self.__ptrval__() == other.__ptrval__() import ida_typeinf def cfunc_type(self): @@ -417,13 +422,12 @@ def _map_as_dict(maptype, name, keytype, valuetype): return default maptype.setdefault = _map_setdefault -#_map_as_dict(user_labels_t, 'user_labels', (int, long), qstring) _map_as_dict(user_cmts_t, 'user_cmts', treeloc_t, citem_cmt_t) _map_as_dict(user_numforms_t, 'user_numforms', operand_locator_t, number_format_t) _map_as_dict(user_iflags_t, 'user_iflags', citem_locator_t, int) import ida_pro -_map_as_dict(user_unions_t, 'user_unions', (int, long), ida_pro.intvec_t) -_map_as_dict(eamap_t, 'eamap', long, cinsnptrvec_t) +_map_as_dict(user_unions_t, 'user_unions', ida_idaapi.integer_types, ida_pro.intvec_t) +_map_as_dict(eamap_t, 'eamap', ida_idaapi.long_type, cinsnptrvec_t) import ida_range _map_as_dict(boundaries_t, 'boundaries', cinsn_t, ida_range.rangeset_t) diff --git a/pywraps/py_hexrays_hooks.hpp b/pywraps/py_hexrays_hooks.hpp index 857b0fb..c0ee039 100644 --- a/pywraps/py_hexrays_hooks.hpp +++ b/pywraps/py_hexrays_hooks.hpp @@ -90,17 +90,13 @@ private: newref_t py_rc(PySequence_GetItem(o, 0)); newref_t py_hint(PySequence_GetItem(o, 1)); newref_t py_implines(PySequence_GetItem(o, 2)); - if ( PyInt_Check(py_rc.o) && PyString_Check(py_hint.o) && PyInt_Check(py_implines.o) ) + if ( IDAPyInt_Check(py_rc.o) + && IDAPyStr_Check(py_hint.o) + && IDAPyInt_Check(py_implines.o) + && IDAPyStr_AsUTF8(out_hint, py_hint.o) ) { - char *buf; - Py_ssize_t bufsize; - if ( PyString_AsStringAndSize(py_hint.o, &buf, &bufsize) > -1 ) - { - rc = PyInt_AsLong(py_rc.o); - qstring tmp(buf, bufsize); - out_hint->swap(tmp); - *out_implines = PyInt_AsLong(py_implines.o); - } + rc = IDAPyInt_AsLong(py_rc.o); + *out_implines = IDAPyInt_AsLong(py_implines.o); } } return rc; diff --git a/pywraps/py_ida.py b/pywraps/py_ida.py index 2e46a49..311fbab 100644 --- a/pywraps/py_ida.py +++ b/pywraps/py_ida.py @@ -140,14 +140,18 @@ show_repeatables = inf_show_repeatables __make_idainfo_accessors(None, "is_graph_view", "set_graph_view") -SW_RPTCMT = SCF_RPTCMT -SW_ALLCMT = SCF_ALLCMT -SW_NOCMT = SCF_NOCMT -SW_LINNUM = SCF_LINNUM -SW_TESTMODE = SCF_TESTMODE -SW_SHHID_ITEM = SCF_SHHID_ITEM -SW_SHHID_FUNC = SCF_SHHID_FUNC -SW_SHHID_SEGM = SCF_SHHID_SEGM +if ida_idaapi.uses_swig_builtins: + _scope = _ida_ida.idainfo +else: + _scope = _ida_ida +SW_RPTCMT = _scope.SCF_RPTCMT +SW_ALLCMT = _scope.SCF_ALLCMT +SW_NOCMT = _scope.SCF_NOCMT +SW_LINNUM = _scope.SCF_LINNUM +SW_TESTMODE = _scope.SCF_TESTMODE +SW_SHHID_ITEM = _scope.SCF_SHHID_ITEM +SW_SHHID_FUNC = _scope.SCF_SHHID_FUNC +SW_SHHID_SEGM = _scope.SCF_SHHID_SEGM # diff --git a/pywraps/py_idaapi.hpp.in b/pywraps/py_idaapi.hpp.in index f4ba9b5..82aafc2 100644 --- a/pywraps/py_idaapi.hpp.in +++ b/pywraps/py_idaapi.hpp.in @@ -3,7 +3,7 @@ // //------------------------------------------------------------------------- -#define GET_THIS() py_customidamemo_t *_this = view_extract_this(self) +#define GET_THIS() py_customidamemo_t *_this = (py_customidamemo_t *) view_extract_this(self) #define CHK_THIS() \ GET_THIS(); \ if ( _this == NULL ) \ @@ -25,54 +25,6 @@ void pygc_refresh(PyObject *self) _this->refresh(); } -//------------------------------------------------------------------------- -void pygc_set_node_info(PyObject *self, PyObject *py_node_idx, PyObject *py_node_info, PyObject *py_flags) -{ - CHK_THIS(); - _this->set_node_info(py_node_idx, py_node_info, py_flags); -} - -//------------------------------------------------------------------------- -void pygc_set_nodes_infos(PyObject *self, PyObject *values) -{ - CHK_THIS(); - _this->set_nodes_infos(values); -} - -//------------------------------------------------------------------------- -PyObject *pygc_get_node_info(PyObject *self, PyObject *py_node_idx) -{ - GET_THIS(); - if ( _this != NULL ) - return _this->get_node_info(py_node_idx); - else - Py_RETURN_NONE; -} - -//------------------------------------------------------------------------- -void pygc_del_nodes_infos(PyObject *self, PyObject *py_nodes) -{ - CHK_THIS(); - _this->del_nodes_infos(py_nodes); -} - -//------------------------------------------------------------------------- -PyObject *pygc_get_current_renderer_type(PyObject *self) -{ - GET_THIS(); - if ( _this != NULL ) - return _this->get_current_renderer_type(); - else - Py_RETURN_NONE; -} - -//------------------------------------------------------------------------- -void pygc_set_current_renderer_type(PyObject *self, PyObject *py_rt) -{ - CHK_THIS(); - _this->set_current_renderer_type(py_rt); -} - //------------------------------------------------------------------------- PyObject *pygc_create_groups(PyObject *self, PyObject *groups_infos) { @@ -244,10 +196,13 @@ idaman PyObject *ida_export format_basestring(PyObject *_in) // we don't want to turn non-ASCII bytes into a \xNN equivalent: IDA // accepts UTF-8 everywhere internally (and this will end up in a // 'msg' call eventually.) + qstring utf8; +#ifdef PY3 + if ( !IDAPyStr_AsUTF8(&utf8, _in) ) + return NULL; +#else PyObject *_pystr; ref_t _tmp; - char *in_bytes; - Py_ssize_t in_len; if ( PyUnicode_Check(_in) ) { _tmp = newref_t(PyUnicode_AsUTF8String(_in)); @@ -260,8 +215,11 @@ idaman PyObject *ida_export format_basestring(PyObject *_in) _pystr = _in; } - if ( PyString_AsStringAndSize(_pystr, &in_bytes, &in_len) < 0 ) - return _in; + if ( !IDAPyStr_AsUTF8(&utf8, _pystr) ) + return NULL; +#endif + char *in_bytes = utf8.begin(); + Py_ssize_t in_len = utf8.length(); char quote = '\''; if ( memchr(in_bytes, '\'', in_len) != NULL @@ -299,7 +257,7 @@ idaman PyObject *ida_export format_basestring(PyObject *_in) buf.append(c); } buf.append(quote); - return PyString_FromStringAndSize(buf.c_str(), buf.length()); + return IDAPyStr_FromUTF8AndSize(buf.c_str(), buf.length()); } /* @@ -316,12 +274,6 @@ def RunPythonStatement(stmt): */ void pygc_refresh(PyObject *self); -void pygc_set_node_info(PyObject *self, PyObject *py_node_idx, PyObject *py_node_info, PyObject *py_flags); -void pygc_set_nodes_infos(PyObject *self, PyObject *values); -PyObject *pygc_get_node_info(PyObject *self, PyObject *py_node_idx); -void pygc_del_nodes_infos(PyObject *self, PyObject *py_nodes); -PyObject *pygc_get_current_renderer_type(PyObject *self); -void pygc_set_current_renderer_type(PyObject *self, PyObject *py_rt); PyObject *pygc_create_groups(PyObject *self, PyObject *groups_infos); PyObject *pygc_delete_groups(PyObject *self, PyObject *groups, PyObject *new_current); PyObject *pygc_set_groups_visibility(PyObject *self, PyObject *groups, PyObject *expand, PyObject *new_current); diff --git a/pywraps/py_idaapi.py b/pywraps/py_idaapi.py index 893e66d..61623f1 100644 --- a/pywraps/py_idaapi.py +++ b/pywraps/py_idaapi.py @@ -20,7 +20,17 @@ import traceback import os import sys import bisect -import __builtin__ +try: + import __builtin__ as builtins + # This basically mimics six's features (it's not ok to ask the IDAPython runtime to rely on six) + integer_types = (int, long) + string_types = (str, unicode) + long_type = long +except: + import builtins + integer_types = (int,) + string_types = (str,) + long_type = int import imp import re @@ -51,7 +61,12 @@ def require(modulename, package=None): if importer_module is None: # No importer module; called from command line importer_module = sys.modules['__main__'] if modulename in sys.modules.keys(): - reload(sys.modules[modulename]) + m = sys.modules[modulename] + if sys.version_info.major >= 3: + import importlib + importlib.reload(m) + else: + reload(m) m = sys.modules[modulename] else: import importlib @@ -156,7 +171,7 @@ class py_clinked_object_t(pyidc_opaque_object_t): """ Overwrite me. Creates a new clink - @return: PyCObject representing the C link + @return: PyCapsule representing the C link """ pass @@ -300,11 +315,17 @@ def as_cstr(val): return val if n == -1 else val[:n] # ----------------------------------------------------------------------- -def as_unicode(s): +def as_UTF16(s): """Convenience function to convert a string into appropriate unicode format""" # use UTF16 big/little endian, depending on the environment? import _ida_ida - return unicode(s).encode("UTF-16" + ("BE" if _ida_ida.cvar.inf.is_be() else "LE")) + if sys.version_info.major >= 3: + if type(s) == bytes: + s = s.decode("UTF-8") + else: + s = unicode(s) + return s.encode("UTF-16" + ("BE" if _ida_ida.cvar.inf.is_be() else "LE")) +as_unicode = as_UTF16 # ----------------------------------------------------------------------- def as_uint32(v): @@ -397,15 +418,22 @@ def IDAPython_ExecSystem(cmd): return "%s\n%s" % (str(e), traceback.format_exc()) # ------------------------------------------------------------ -def IDAPython_FormatExc(etype, value, tb, limit=None): +def IDAPython_FormatExc(etype, value=None, tb=None, limit=None): """ This function is used to format an exception given the values returned by a PyErr_Fetch() """ + import traceback try: return ''.join(traceback.format_exception(etype, value, tb, limit)) except: - return str(value) + parts = [str(value)] + if tb: + try: + parts.append("".join(traceback.format_tb(tb))) + finally: + pass + return "\n".join(parts) # ------------------------------------------------------------ @@ -429,7 +457,9 @@ def IDAPython_ExecScript(script, g, print_error=True): g['__file__'] = script try: - execfile(script, g) + with open(script) as fin: + code = compile(fin.read(), script, 'exec') + exec(code, g) PY_COMPILE_ERR = None except Exception as e: PY_COMPILE_ERR = "%s\n%s" % (str(e), traceback.format_exc()) @@ -527,7 +557,7 @@ class __IDAPython_Completion_Util(object): if not line.startswith("?"): to_add = "(" # Is it iterable? - elif isinstance(attr, basestring) or getattr(attr, '__iter__', False): + elif isinstance(attr, string_types) or getattr(attr, '__iter__', False): to_add = "[" except: # self.debug("maybe_extend_syntactically() got an exception:\n%s", traceback.format_exc()) @@ -537,13 +567,13 @@ class __IDAPython_Completion_Util(object): return name def get_candidates(self, qname, line, match_syntax_char): - # self.debug("get_candidates(qname=%s, line=%s, has_syntax=%s)", qname, line, has_syntax) + # self.debug("get_candidates(qname=%s, line=%s, match_syntax_char=%s)", qname, line, match_syntax_char) results = [] try: ns = sys.modules['__main__'] parts = qname.split('.') # self.debug("get_candidates() got parts: %s", parts) - for i in xrange(0, len(parts) - 1): + for i in range(0, len(parts) - 1): ns = getattr(ns, parts[i]) except Exception as e: # self.debug("get_candidates() got exception:\n%s", traceback.format_exc()) @@ -556,12 +586,12 @@ class __IDAPython_Completion_Util(object): # no completion found? looking from the global scope? then try the builtins if not results and len(parts) == 1: - results = self.dir_namespace(__builtin__, last_token) - # self.debug("get_candidates() completions for %s in %s: %s", last_token, __builtin__, results) + results = self.dir_namespace(builtins, last_token) + # self.debug("get_candidates() completions for %s in %s: %s", last_token, builtins, results) results = map(lambda r: self.maybe_extend_syntactically(ns, r, line, match_syntax_char), results) ns_parts = parts[:-1] - results = map(lambda r: ".".join(ns_parts + [r]), results) + results = list(map(lambda r: ".".join(ns_parts + [r]), results)) # self.debug("get_candidates() => '%s'", str(results)) return results @@ -570,7 +600,7 @@ class __IDAPython_Completion_Util(object): def __call__(self, line, x): try: # self.debug("__call__(line=%s, x=%s)", line, x) - uline = line.decode("UTF-8") + uline = line.decode("UTF-8") if sys.version_info.major < 3 else line result = None # Kludge: if the we are past the last char, and that char is syntax: @@ -586,7 +616,9 @@ class __IDAPython_Completion_Util(object): # Find what looks like an identifier (possibly qualified) for match in re.finditer(self.QNAME_PAT, uline): - qname, start, end = match.group(1).encode("UTF-8"), match.start(1), match.end(1) + qname, start, end = match.group(1), match.start(1), match.end(1) + if sys.version_info.major < 3: + qname = qname.encode("UTF-8") if x >= start and x <= end: result = self.get_candidates(qname, line, match_syntax_char), start, end + (1 if match_syntax_char else 0) @@ -671,9 +703,9 @@ class IDAPython_displayhook: def format_item(self, num_printer, storage, item): if item is None or isinstance(item, bool): storage.append(repr(item)) - elif isinstance(item, basestring): - storage.append(_ida_idaapi.format_basestring(item)) - elif isinstance(item, (int, long)): + elif isinstance(item, string_types): + storage.append(format_basestring(item)) + elif isinstance(item, integer_types): storage.append(num_printer(item)) elif isinstance(item, list): self.format_seq(num_printer, storage, item, '[', ']') @@ -683,7 +715,7 @@ class IDAPython_displayhook: self.format_seq(num_printer, storage, item, 'set([', '])') elif isinstance(item, (dict,)): storage.append('{') - for idx, pair in enumerate(item.iteritems()): + for idx, pair in enumerate(item.items()): if idx > 0: storage.append(', ') self.format_item(num_printer, storage, pair[0]) @@ -741,6 +773,11 @@ class __BC695: _replace_module_function(new) _BC695 = __BC695() + +def _make_badattr_property(bad_attr, new_attr): + def _raise(*args): + raise AttributeError("Property %s has been replaced with %s" % (bad_attr, new_attr)) + return property(_raise, _raise) # # diff --git a/pywraps/py_idaapi_loader_input.hpp b/pywraps/py_idaapi_loader_input.hpp index e1615e1..c702a8f 100644 --- a/pywraps/py_idaapi_loader_input.hpp +++ b/pywraps/py_idaapi_loader_input.hpp @@ -6,7 +6,8 @@ /* # class loader_input_t(pyidc_opaque_object_t): - """A helper class to work with linput_t related functions. + """ + A helper class to work with linput_t related functions. This class is also used by file loaders scripts. """ def __init__(self): @@ -17,7 +18,8 @@ class loader_input_t(pyidc_opaque_object_t): pass def open(self, filename, remote = False): - """Opens a file (or a remote file) + """ + Opens a file (or a remote file) @return: Boolean """ pass @@ -32,7 +34,8 @@ class loader_input_t(pyidc_opaque_object_t): pass def open_memory(self, start, size): - """Create a linput for process memory (By internally calling idaapi.create_memory_linput()) + """ + 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 @@ -41,7 +44,8 @@ class loader_input_t(pyidc_opaque_object_t): pass def seek(self, pos, whence = SEEK_SET): - """Set input source position + """ + Set input source position @return: the new position (not 0 as fseek!) """ pass @@ -51,7 +55,8 @@ class loader_input_t(pyidc_opaque_object_t): pass def getz(self, sz, fpos = -1): - """Returns a zero terminated string at the given position + """ + 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. @@ -84,8 +89,8 @@ class loader_input_t(pyidc_opaque_object_t): """ pass - def get_char(self): - """Reads a single character from the file. Returns None if EOF or the read character""" + def get_byte(self): + """Reads a single byte from the file. Returns None if EOF or the read byte""" pass def opened(self): @@ -108,10 +113,10 @@ private: }; //-------------------------------------------------------------------------- - void _from_cobject(PyObject *pycobject) + void _from_capsule(PyObject *pycapsule) { PYW_GIL_CHECK_LOCKED_SCOPE(); - this->set_linput((linput_t *)PyCObject_AsVoidPtr(pycobject)); + this->set_linput((linput_t *)PyCapsule_GetPointer(pycapsule, VALID_CAPSULE_NAME)); } //-------------------------------------------------------------------------- @@ -132,11 +137,11 @@ public: // class from and to IDC. The value of this variable must be set to two int __idc_cvt_id__; //-------------------------------------------------------------------------- - loader_input_t(PyObject *pycobject = NULL): li(NULL), own(OWN_NONE), __idc_cvt_id__(PY_ICID_OPAQUE) + loader_input_t(PyObject *pycapsule = NULL): li(NULL), own(OWN_NONE), __idc_cvt_id__(PY_ICID_OPAQUE) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( pycobject != NULL && PyCObject_Check(pycobject) ) - _from_cobject(pycobject); + if ( pycapsule != NULL && PyCapsule_IsValid(pycapsule, VALID_CAPSULE_NAME) ) + _from_capsule(pycapsule); } //-------------------------------------------------------------------------- @@ -198,13 +203,13 @@ public: //-------------------------------------------------------------------------- // This method can be used to pass a linput_t* from C code - static loader_input_t *from_cobject(PyObject *pycobject) + static loader_input_t *from_capsule(PyObject *pycapsule) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !PyCObject_Check(pycobject) ) + if ( !PyCapsule_IsValid(pycapsule, VALID_CAPSULE_NAME) ) return NULL; loader_input_t *l = new loader_input_t(); - l->_from_cobject(pycobject); + l->_from_capsule(pycapsule); return l; } @@ -284,7 +289,7 @@ public: Py_BEGIN_ALLOW_THREADS; qlgetz(li, fpos, buf, sz); Py_END_ALLOW_THREADS; - PyObject *ret = PyString_FromString(buf); + PyObject *ret = IDAPyStr_FromUTF8(buf); free(buf); return ret; } while ( false ); @@ -295,44 +300,30 @@ public: PyObject *gets(size_t len) { PYW_GIL_CHECK_LOCKED_SCOPE(); - do - { - char *buf = (char *) malloc(len + 5); - if ( buf == NULL ) - break; - bool ok; - Py_BEGIN_ALLOW_THREADS; - ok = qlgets(buf, len, li) != NULL; - Py_END_ALLOW_THREADS; - if ( !ok ) - buf[0] = '\0'; - PyObject *ret = PyString_FromString(buf); - free(buf); - return ret; - } while ( false ); - Py_RETURN_NONE; + bytevec_t buf; + buf.resize(len); + bool ok; + Py_BEGIN_ALLOW_THREADS; + ok = qlgets((char *) buf.begin(), buf.size(), li) != NULL; + Py_END_ALLOW_THREADS; + if ( !ok ) + Py_RETURN_NONE; + return IDAPyStr_FromUTF8((const char *) buf.begin()); } //-------------------------------------------------------------------------- PyObject *read(size_t size) { PYW_GIL_CHECK_LOCKED_SCOPE(); - do - { - char *buf = (char *) malloc(size + 5); - if ( buf == NULL ) - break; - ssize_t r; - Py_BEGIN_ALLOW_THREADS; - r = qlread(li, buf, size); - Py_END_ALLOW_THREADS; - if ( r == -1 ) - r = 0; - PyObject *ret = PyString_FromStringAndSize(buf, r); - free(buf); - return ret; - } while ( false ); - Py_RETURN_NONE; + bytevec_t buf; + buf.resize(size); + ssize_t nread; + Py_BEGIN_ALLOW_THREADS; + nread = qlread(li, (char *) buf.begin(), buf.size()); + Py_END_ALLOW_THREADS; + if ( nread <= 0 ) + Py_RETURN_NONE; + return IDAPyBytes_FromMemAndSize((const char *) buf.begin(), nread); } //-------------------------------------------------------------------------- @@ -356,7 +347,7 @@ public: Py_END_ALLOW_THREADS; if ( r == -1 ) r = 0; - PyObject *ret = PyString_FromStringAndSize(buf, r); + PyObject *ret = IDAPyStr_FromUTF8AndSize(buf, r); free(buf); return ret; } while ( false ); @@ -387,11 +378,15 @@ public: PyObject *filename() { PYW_GIL_CHECK_LOCKED_SCOPE(); - return PyString_FromString(fn.c_str()); + return IDAPyStr_FromUTF8(fn.c_str()); } //-------------------------------------------------------------------------- +#ifdef PY3 + PyObject *get_byte() +#else PyObject *get_char() +#endif { PYW_GIL_CHECK_LOCKED_SCOPE(); int ch; @@ -400,7 +395,11 @@ public: Py_END_ALLOW_THREADS; if ( ch == EOF ) Py_RETURN_NONE; +#ifdef PY3 + return Py_BuildValue("i", ch); +#else return Py_BuildValue("c", ch); +#endif } }; // diff --git a/pywraps/py_idc.hpp b/pywraps/py_idc.hpp index a7b5dab..248b4f9 100644 --- a/pywraps/py_idc.hpp +++ b/pywraps/py_idc.hpp @@ -38,7 +38,7 @@ inline PyObject *get_mark_comment(int32 slot) renderer_info_t ri; lochist_entry_t loc(&ip, ri); if ( bookmarks_t::get_desc(&desc, loc, slot, NULL) ) - return PyString_FromString(desc.c_str()); + return IDAPyStr_FromUTF8(desc.c_str()); else Py_RETURN_NONE; } diff --git a/pywraps/py_idd.hpp b/pywraps/py_idd.hpp index d35f823..fd14cb3 100644 --- a/pywraps/py_idd.hpp +++ b/pywraps/py_idd.hpp @@ -3,8 +3,8 @@ PyObject *py_appcall( ea_t func_ea, thid_t tid, - PyObject *py_type, - PyObject *py_fields, + const bytevec_t &_type_or_none, + const bytevec_t &_fields, PyObject *arg_list) { PYW_GIL_CHECK_LOCKED_SCOPE(); @@ -12,11 +12,11 @@ PyObject *py_appcall( if ( !PyList_Check(arg_list) ) return NULL; - const char *type = py_type == Py_None ? NULL : PyString_AS_STRING(py_type); - const char *fields = py_fields == Py_None ? NULL : PyString_AS_STRING(py_fields); + const type_t *type = (const type_t *) _type_or_none.begin(); + const type_t *fields = (const p_list *) _fields.begin(); tinfo_t tif; tinfo_t *ptif = NULL; - if ( tif.deserialize(NULL, (const type_t **)&type, (const p_list **)&fields) ) + if ( tif.deserialize(NULL, &type, &fields) ) ptif = &tif; // Convert Python arguments into IDC values @@ -125,9 +125,12 @@ PyObject *py_appcall( return NULL; } } + // Convert the result from IDC back to Python + // Any set of bytes (stored in a VT_STR), will have to be converted + // to a 'bytes' object, not a string ref_t py_result; - if ( idcvar_to_pyvar(idc_result, &py_result) <= CIP_IMMUTABLE ) + if ( idcvar_to_pyvar(idc_result, &py_result, PYWCVTF_STR_AS_BYTES) <= CIP_IMMUTABLE ) { PyErr_SetString(PyExc_ValueError, "PyAppCall: Failed while converting IDC return value to Python return value"); return NULL; @@ -185,7 +188,7 @@ static PyObject *dbg_get_registers() for ( int i=0; i < nbits; i++ ) { const char *s = ri.bit_strings[i]; - PyList_SetItem(py_bits, i, PyString_FromString(s == NULL ? "" : s)); + PyList_SetItem(py_bits, i, IDAPyStr_FromUTF8(s == NULL ? "" : s)); } } else @@ -222,22 +225,12 @@ def dbg_get_thread_sreg_base(tid, sreg_value): pass # */ -static PyObject *dbg_get_thread_sreg_base(PyObject *py_tid, PyObject *py_sreg_value) +static PyObject *dbg_get_thread_sreg_base(thid_t tid, int sreg_value) { PYW_GIL_CHECK_LOCKED_SCOPE(); - - if ( !dbg_can_query() - || (!PyInt_Check(py_tid) && !PyLong_Check(py_tid)) - || (!PyInt_Check(py_sreg_value) && !PyLong_Check(py_sreg_value)) ) - { - Py_RETURN_NONE; - } ea_t answer; - thid_t tid = PyLong_AsLong(py_tid); - int sreg_value = PyLong_AsLong(py_sreg_value); - if ( internal_get_sreg_base(&answer, tid, sreg_value) != DRC_OK ) + if ( !dbg_can_query() || internal_get_sreg_base(&answer, tid, sreg_value) != DRC_OK ) Py_RETURN_NONE; - return Py_BuildValue(PY_BV_EA, bvea_t(answer)); } @@ -254,29 +247,25 @@ def dbg_read_memory(ea, sz): pass # */ -static PyObject *dbg_read_memory(PyObject *py_ea, PyObject *py_sz) +static PyObject *dbg_read_memory(ea_t ea, size_t sz) { PYW_GIL_CHECK_LOCKED_SCOPE(); - uint64 ea, sz; - if ( !dbg_can_query() || !PyW_GetNumber(py_ea, &ea) || !PyW_GetNumber(py_sz, &sz) ) + if ( !dbg_can_query() ) Py_RETURN_NONE; // Create a Python string - PyObject *ret = PyString_FromStringAndSize(NULL, Py_ssize_t(sz)); + PyObject *ret = IDAPyBytes_FromMemAndSize(NULL, Py_ssize_t(sz)); if ( ret == NULL ) Py_RETURN_NONE; // Get the internal buffer Py_ssize_t len; char *buf; - PyString_AsStringAndSize(ret, &buf, &len); - - if ( (size_t)read_dbg_memory(ea_t(ea), buf, size_t(sz)) != sz ) + IDAPyBytes_AsMemAndSize(ret, &buf, &len); + if ( size_t(read_dbg_memory(ea, buf, sz)) != sz ) { - // Release the string on failure Py_DECREF(ret); - // Return None on failure Py_RETURN_NONE; } return ret; @@ -293,17 +282,16 @@ def dbg_write_memory(ea, buffer): pass # */ -static PyObject *dbg_write_memory(PyObject *py_ea, PyObject *py_buf) +static PyObject *dbg_write_memory( + ea_t ea, + const bytevec_t &buf) { PYW_GIL_CHECK_LOCKED_SCOPE(); - uint64 ea; - if ( !dbg_can_query() || !PyString_Check(py_buf) || !PyW_GetNumber(py_ea, &ea) ) + if ( !dbg_can_query() ) Py_RETURN_NONE; - size_t sz = PyString_GET_SIZE(py_buf); - void *buf = (void *)PyString_AS_STRING(py_buf); - if ( write_dbg_memory(ea_t(ea), buf, sz) != sz ) + if ( write_dbg_memory(ea, buf.begin(), buf.size()) != buf.size() ) Py_RETURN_FALSE; Py_RETURN_TRUE; } @@ -326,7 +314,7 @@ static PyObject *dbg_get_name() if ( dbg == NULL ) Py_RETURN_NONE; else - return PyString_FromString(dbg->name); + return IDAPyStr_FromUTF8(dbg->name); } //------------------------------------------------------------------------- @@ -364,8 +352,8 @@ static PyObject *dbg_get_memory_info() PyObject *py_appcall( ea_t func_ea, thid_t tid, - PyObject *py_type, - PyObject *py_fields, + const bytevec_t &_type_or_none, + const bytevec_t &_fields, PyObject *arg_list); char get_event_module_name(const debug_event_t *ev, char *buf, size_t bufsize) diff --git a/pywraps/py_idd.py b/pywraps/py_idd.py index 14831f4..e8cc8eb 100644 --- a/pywraps/py_idd.py +++ b/pywraps/py_idd.py @@ -44,7 +44,7 @@ class Appcall_array__(object): return obj # at this point, we are sure we have an "idc list" # let us convert to a Python list - return [getattr(obj, str(x)) for x in xrange(0, self.__size)] + return [getattr(obj, str(x)) for x in range(0, self.__size)] def unpack(self, buf, as_list=True): """Unpacks an array back into a list or an object""" @@ -90,14 +90,14 @@ class Appcall_callable__(object): self.__timeout = None # Appcall timeout if tinfo_or_typestr: - if type(tinfo_or_typestr) == types.StringType: + if isinstance(tinfo_or_typestr, ida_idaapi.string_types): # a type string? assume (typestr, fields), try to deserialize tif = ida_typeinf.tinfo_t() if not tif.deserialize(None, tinfo_or_typestr, fields): - raise ValueError, "Could not deserialize type string" + raise ValueError("Could not deserialize type string") else: if not isinstance(tinfo_or_typestr, ida_typeinf.tinfo_t): - raise ValueError, "Invalid argument 'tinfo_or_typestr'" + raise ValueError("Invalid argument 'tinfo_or_typestr'") tif = tinfo_or_typestr self.__tif = tif (self.__type, self.__fields, _) = tif.serialize() @@ -236,8 +236,10 @@ class Appcall_callable__(object): # ----------------------------------------------------------------------- class Appcall_consts__(object): - """Helper class used by Appcall.Consts attribute - It is used to retrieve constants via attribute access""" + """ + Helper class used by Appcall.Consts attribute + It is used to retrieve constants via attribute access + """ def __init__(self, default=None): self.__default = default @@ -293,7 +295,7 @@ class Appcall__(object): """ # a string? try to resolve it - if type(name_or_ea) == bytes: + if type(name_or_ea) in ida_idaapi.string_types: ea = _ida_name.get_name_ea(_ida_idaapi.BADADDR, name_or_ea) else: ea = name_or_ea @@ -313,15 +315,15 @@ class Appcall__(object): """ # a string? try to parse it - if type(typedecl_or_tinfo) == types.StringType: + if isinstance(typedecl_or_tinfo, ida_idaapi.string_types): if flags is None: flags = ida_typeinf.PT_SIL|ida_typeinf.PT_NDC|ida_typeinf.PT_TYP tif = ida_typeinf.tinfo_t() if ida_typeinf.parse_decl(tif, None, typedecl_or_tinfo, flags) == None: - raise ValueError, "Could not parse type: " + typedecl_or_tinfo + raise ValueError("Could not parse type: " + typedecl_or_tinfo) else: if not isinstance(typedecl_or_tinfo, ida_typeinf.tinfo_t): - raise ValueError, "Invalid argument 'typedecl_or_tinfo'" + raise ValueError("Invalid argument 'typedecl_or_tinfo'") tif = typedecl_or_tinfo return tif @@ -412,8 +414,9 @@ class Appcall__(object): return ida_idaapi.as_cstr(val) @staticmethod - def unicode(s): - return ida_idaapi.as_unicode(s) + def UTF16(s): + return ida_idaapi.as_UTF16(s) + unicode = UTF16 @staticmethod def array(type_name): diff --git a/pywraps/py_idp.hpp b/pywraps/py_idp.hpp index 1452add..eda6d8f 100644 --- a/pywraps/py_idp.hpp +++ b/pywraps/py_idp.hpp @@ -35,7 +35,7 @@ static PyObject *AssembleLine( int inslen = ph.assemble((uchar *)buf, ea, cs, ip, use32, line); PYW_GIL_CHECK_LOCKED_SCOPE(); if ( inslen > 0 ) - return PyString_FromStringAndSize(buf, inslen); + return IDAPyBytes_FromMemAndSize(buf, inslen); else Py_RETURN_NONE; } @@ -327,7 +327,7 @@ static PyObject *ph_get_regnames() PYW_GIL_CHECK_LOCKED_SCOPE(); PyObject *py_result = PyList_New(ph.regs_num); for ( Py_ssize_t i=0; i < ph.regs_num; i++ ) - PyList_SetItem(py_result, i, PyString_FromString(ph.reg_names[i])); + PyList_SetItem(py_result, i, IDAPyStr_FromUTF8(ph.reg_names[i])); return py_result; } @@ -627,9 +627,9 @@ private: static ssize_t cm_t_to_ssize_t(cm_t cm) { return ssize_t(cm); } static bool _handle_qstring_output(PyObject *o, qstring *buf) { - bool is_str = o != NULL && PyString_Check(o); + bool is_str = o != NULL && IDAPyStr_Check(o); if ( is_str && buf != NULL ) - *buf = PyString_AS_STRING(o); + IDAPyStr_AsUTF8(buf, o); Py_XDECREF(o); return is_str; } @@ -647,11 +647,11 @@ private: const char * /*line*/) { ssize_t rc = 0; - if ( o != NULL && PyString_Check(o) ) + if ( o != NULL && IDAPyBytes_Check(o) ) { char *s; Py_ssize_t len = 0; - if ( PyString_AsStringAndSize(o, &s, &len) != -1 ) + if ( IDAPyBytes_AsMemAndSize(o, &s, &len) != -1 ) { if ( len > MAXSTR ) len = MAXSTR; @@ -700,10 +700,10 @@ private: { newref_t py_rc(PySequence_GetItem(o, 0)); newref_t py_idx(PySequence_GetItem(o, 1)); - if ( PyInt_Check(py_rc.o) && PyInt_Check(py_idx.o) ) + if ( IDAPyInt_Check(py_rc.o) && IDAPyInt_Check(py_idx.o) ) { - rc = PyInt_AsLong(py_rc.o); - *idx = PyInt_AsLong(py_idx.o); + rc = IDAPyInt_AsLong(py_rc.o); + *idx = IDAPyInt_AsLong(py_idx.o); } } return rc; @@ -722,20 +722,16 @@ private: newref_t py_rc(PySequence_GetItem(o, 0)); newref_t py_out(PySequence_GetItem(o, 1)); newref_t py_out_res(PySequence_GetItem(o, 2)); - char *s; - Py_ssize_t len = 0; - if ( PyInt_Check(py_rc.o) - && PyInt_Check(py_out_res.o) - && PyString_Check(py_out.o) - && PyString_AsStringAndSize(py_out.o, &s, &len) != -1 ) + qstring qs; + if ( IDAPyInt_Check(py_rc.o) + && IDAPyInt_Check(py_out_res.o) + && IDAPyStr_Check(py_out.o) + && IDAPyStr_AsUTF8(&qs, py_out.o) ) { - rc = PyInt_AsLong(py_rc.o); - *out_res = PyInt_AsLong(py_out_res.o); + rc = IDAPyInt_AsLong(py_rc.o); + *out_res = IDAPyInt_AsLong(py_out_res.o); if ( out != NULL ) - { - out->qclear(); - out->append(s, len); - } + out->swap(qs); } } return rc; @@ -757,19 +753,7 @@ private: qstring *buf, const insn_t * /*pinsn*/) { - ssize_t rc = 0; - if ( PyString_Check(o) ) - { - char *s; - Py_ssize_t len = 0; - if ( PyString_AsStringAndSize(o, &s, &len) != -1 ) - { - buf->qclear(); - buf->append(s, len); - rc = 1; - } - } - return rc; + return IDAPyStr_Check(o) && IDAPyStr_AsUTF8(buf, o); } static ssize_t handle_get_operand_string_output( PyObject *o, @@ -777,33 +761,21 @@ private: const insn_t * /*pinsn*/, int /*opnum*/) { - ssize_t rc = 0; - if ( PyString_Check(o) ) - { - char *s; - Py_ssize_t len = 0; - if ( PyString_AsStringAndSize(o, &s, &len) != -1 ) - { - buf->qclear(); - buf->append(s, len); - rc = 1; - } - } - return rc; + return IDAPyStr_Check(o) && IDAPyStr_AsUTF8(buf, o); } }; //------------------------------------------------------------------------- -static PyObject *_wrap_addr_in_pycobject(void *addr); +static PyObject *_wrap_addr_in_pycapsule(void *addr); PyObject *get_idp_notifier_addr(PyObject *) { - return _wrap_addr_in_pycobject((void *) IDP_Callback); + return _wrap_addr_in_pycapsule((void *) IDP_Callback); } //------------------------------------------------------------------------- PyObject *get_idp_notifier_ud_addr(IDP_Hooks *hooks) { - return _wrap_addr_in_pycobject(hooks); + return _wrap_addr_in_pycapsule(hooks); } // @@ -813,9 +785,9 @@ PyObject *get_idp_notifier_ud_addr(IDP_Hooks *hooks) // hookgenIDP:methodsinfo_def //------------------------------------------------------------------------- -static PyObject *_wrap_addr_in_pycobject(void *addr) +static PyObject *_wrap_addr_in_pycapsule(void *addr) { - return PyCObject_FromVoidPtr(addr, NULL); + return PyCapsule_New(addr, VALID_CAPSULE_NAME, NULL); } //------------------------------------------------------------------------- diff --git a/pywraps/py_idp.py.in b/pywraps/py_idp.py.in index de3fed1..49d8b8c 100644 --- a/pywraps/py_idp.py.in +++ b/pywraps/py_idp.py.in @@ -548,21 +548,6 @@ ph_get_regLastSreg=ph_get_reg_last_sreg removing_func_tail=deleting_func_tail segm_attrs_changed=segm_attrs_updated str2regf=str2reg -def __wrap_insn_func(name): - def __wrapper(*args): - arg0 = args[0] - import ida_ua - if not isinstance(arg0, ida_ua.insn_t): - tmp = ida_ua.insn_t() - if not ida_ua.decode_insn(tmp, arg0): - return False - arg0 = tmp - return getattr(_ida_idp, name)(arg0, *args[1:]) - globals()[name] = __wrapper -__wrap_insn_func("is_call_insn") -__wrap_insn_func("is_ret_insn") -__wrap_insn_func("is_indirect_jump_insn") -__wrap_insn_func("is_basic_block_end") def parse_reg_name(*args): if isinstance(args[1], reg_info_t): # 6.95: regname, reg_info_t regname, ri = args diff --git a/pywraps/py_idp_idbhooks.hpp b/pywraps/py_idp_idbhooks.hpp index 095072a..ec44002 100644 --- a/pywraps/py_idp_idbhooks.hpp +++ b/pywraps/py_idp_idbhooks.hpp @@ -33,13 +33,13 @@ struct IDB_Hooks : public hooks_base_t //------------------------------------------------------------------------- PyObject *get_idb_notifier_addr(PyObject *) { - return _wrap_addr_in_pycobject((void *) IDB_Callback); + return _wrap_addr_in_pycapsule((void *) IDB_Callback); } //------------------------------------------------------------------------- PyObject *get_idb_notifier_ud_addr(IDB_Hooks *hooks) { - return _wrap_addr_in_pycobject(hooks); + return _wrap_addr_in_pycapsule(hooks); } // diff --git a/pywraps/py_kernwin.hpp b/pywraps/py_kernwin.hpp index 2e61e65..6e69272 100644 --- a/pywraps/py_kernwin.hpp +++ b/pywraps/py_kernwin.hpp @@ -11,7 +11,13 @@ struct py_idchotkey_ctx_t { qstring hotkey; - PyObject *pyfunc; + ref_t pyfunc; + + py_idchotkey_ctx_t( + const char *_hotkey, + PyObject *_pyfunc) + : hotkey(_hotkey), + pyfunc(borref_t(_pyfunc)) {} }; //------------------------------------------------------------------------ @@ -54,7 +60,7 @@ static PyObject *py_register_timer(int interval, PyObject *py_callback) { PYW_GIL_GET; py_timer_ctx_t *ctx = (py_timer_ctx_t *)ud; - newref_t py_result(PyObject_CallFunctionObjArgs(ctx->pycallback, NULL)); + newref_t py_result(PyObject_CallFunctionObjArgs(ctx->pyfunc.o, NULL)); int ret = -1; if ( PyErr_Occurred() ) { @@ -79,12 +85,15 @@ static PyObject *py_register_timer(int interval, PyObject *py_callback) tmr_t::callback, ctx); - if ( ctx->timer_id == NULL ) + if ( ctx->timer_id != NULL ) + { + return PyCapsule_New(ctx, VALID_CAPSULE_NAME, NULL); + } + else { python_timer_del(ctx); Py_RETURN_NONE; } - return PyCObject_FromVoidPtr(ctx, NULL); } //------------------------------------------------------------------------ @@ -101,20 +110,21 @@ def unregister_timer(timer_obj): pass # */ -static PyObject *py_unregister_timer(PyObject *py_timerctx) +static bool py_unregister_timer(PyObject *py_timerctx) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( py_timerctx == NULL || !PyCObject_Check(py_timerctx) ) - Py_RETURN_FALSE; + if ( py_timerctx == NULL || !PyCapsule_IsValid(py_timerctx, VALID_CAPSULE_NAME) ) + return false; - py_timer_ctx_t *ctx = (py_timer_ctx_t *) PyCObject_AsVoidPtr(py_timerctx); + py_timer_ctx_t *ctx = (py_timer_ctx_t *) PyCapsule_GetPointer(py_timerctx, VALID_CAPSULE_NAME); if ( ctx == NULL || !unregister_timer(ctx->timer_id) ) - Py_RETURN_FALSE; + return false; python_timer_del(ctx); - PyCObject_SetVoidPtr(py_timerctx, NULL); - Py_RETURN_TRUE; + // invalidate capsule; make sure we don't try and delete twice + PyCapsule_SetName(py_timerctx, INVALID_CAPSULE_NAME); + return true; } //------------------------------------------------------------------------ @@ -139,7 +149,7 @@ static PyObject *py_choose_idasgn() } else { - PyObject *py_str = PyString_FromString(name); + PyObject *py_str = IDAPyStr_FromUTF8(name); qfree(name); return py_str; } @@ -181,7 +191,7 @@ static int py_load_custom_icon_data(PyObject *data, const char *format) Py_ssize_t len; char *s; PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( PyString_AsStringAndSize(data, &s, &len) == -1 ) + if ( IDAPyBytes_AsMemAndSize(data, &s, &len) == -1 ) return 0; else return load_custom_icon(s, len, format); @@ -300,7 +310,7 @@ PyObject *py_ask_text(size_t max_size, const char *defval, const char *prompt) PyObject *py_ret; if ( ask_text(&qbuf, max_size, defval, "%s", prompt) ) { - py_ret = PyString_FromStringAndSize(qbuf.begin(), qbuf.length()); + py_ret = IDAPyStr_FromUTF8AndSize(qbuf.begin(), qbuf.length()); } else { @@ -332,7 +342,7 @@ PyObject *py_ask_str(qstring *defval, int hist, const char *prompt) PyObject *py_ret; if ( ask_str(defval, hist, "%s", prompt) ) { - py_ret = PyString_FromStringAndSize(defval->begin(), defval->length()); + py_ret = IDAPyStr_FromUTF8AndSize(defval->begin(), defval->length()); } else { @@ -396,20 +406,17 @@ def del_hotkey(ctx): bool py_del_hotkey(PyObject *pyctx) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !PyCObject_Check(pyctx) ) + if ( !PyCapsule_IsValid(pyctx, VALID_CAPSULE_NAME) ) return false; - py_idchotkey_ctx_t *ctx = (py_idchotkey_ctx_t *) PyCObject_AsVoidPtr(pyctx); + py_idchotkey_ctx_t *ctx = (py_idchotkey_ctx_t *) PyCapsule_GetPointer(pyctx, VALID_CAPSULE_NAME); if ( ctx == NULL || !del_idc_hotkey(ctx->hotkey.c_str()) ) return false; - Py_DECREF(ctx->pyfunc); delete ctx; - // Here we must ensure that the python object is invalidated. - // This is to avoid the possibility of this function being called again - // with the same ctx, which would contain a pointer to a deleted object. - PyCObject_SetVoidPtr(pyctx, NULL); + // invalidate capsule; make sure we don't try and delete twice + PyCapsule_SetName(pyctx, INVALID_CAPSULE_NAME); return true; } @@ -468,21 +475,13 @@ PyObject *py_add_hotkey(const char *hotkey, PyObject *pyfunc) break; // Create new context - // Define context - py_idchotkey_ctx_t *ctx = new py_idchotkey_ctx_t(); - - // Remember the hotkey - ctx->hotkey = hotkey; - - // Take reference to the callable - ctx->pyfunc = pyfunc; - Py_INCREF(pyfunc); + py_idchotkey_ctx_t *ctx = new py_idchotkey_ctx_t(hotkey, pyfunc); // Bind IDC variable w/ the PyCallable gvar->set_pvoid(pyfunc); // Return the context - return PyCObject_FromVoidPtr(ctx, NULL); + return PyCapsule_New(ctx, VALID_CAPSULE_NAME, NULL); } while (false); } // Cleanup @@ -510,8 +509,13 @@ static void idaapi py_ss_restore_callback(const char *err_msg, void *userdata) // userdata is a tuple of ( func, args ) // func and args are borrowed references from userdata - PyObject *func = PyTuple_GET_ITEM(userdata, 0); - PyObject *args = PyTuple_GET_ITEM(userdata, 1); + + PyObject *o = (PyObject *) userdata; + if ( !PyTuple_Check(o) ) + return; + + PyObject *func = PyTuple_GetItem(o, 0); + PyObject *args = PyTuple_GetItem(o, 1); // Create arguments tuple for python function PyObject *cb_args = Py_BuildValue("(sO)", err_msg, args); @@ -521,12 +525,14 @@ static void idaapi py_ss_restore_callback(const char *err_msg, void *userdata) // Free cb_args and userdata Py_DECREF(cb_args); - Py_DECREF(userdata); + Py_DECREF(o); // We cannot raise an exception in the callback, just print it. if ( result == NULL ) PyErr_Print(); } + +//------------------------------------------------------------------------- static PyObject *py_restore_database_snapshot( const snapshot_t *ss, PyObject *pyfunc_or_none, @@ -618,9 +624,9 @@ static int py_execute_sync(PyObject *py_callable, int reqf) { PYW_GIL_GET; newref_t py_result(PyObject_CallFunctionObjArgs(py_callable.o, NULL)); - int ret = py_result == NULL || !PyInt_Check(py_result.o) + int ret = py_result == NULL || !IDAPyInt_Check(py_result.o) ? -1 - : PyInt_AsLong(py_result.o); + : IDAPyInt_AsLong(py_result.o); // if the requesting thread decided not to wait for the request to // complete, we have to self-destroy, nobody else will do it if ( (code & MFF_NOWAIT) != 0 ) @@ -827,12 +833,11 @@ public: if ( json_dumps != NULL ) { newref_t str(PyObject_CallFunction(json_dumps.o, "O", dict)); - Py_ssize_t len; - char *s; - if ( PyString_AsStringAndSize(str.o, &s, &len) != -1 ) + qstring buf; + if ( IDAPyStr_AsUTF8(&buf, str.o) ) { jvalue_t tmp; - if ( parse_json_string(&tmp, s) == eOk ) + if ( parse_json_string(&tmp, buf.c_str()) == eOk ) { out->swap(tmp.obj()); return true; @@ -992,13 +997,8 @@ private: static ssize_t handle_get_ea_hint_output(PyObject *o, qstring *buf, ea_t) { ssize_t rc = 0; - char *_buf; - Py_ssize_t _len; - if ( o != NULL && PyString_Check(o) && PyString_AsStringAndSize(o, &_buf, &_len) != -1 ) - { - buf->append(_buf, _len); + if ( o != NULL && IDAPyStr_Check(o) && IDAPyStr_AsUTF8(buf, o) ) rc = 1; - } Py_XDECREF(o); return rc; } @@ -1009,21 +1009,18 @@ private: if ( o != NULL && PyTuple_Check(o) && PyTuple_Size(o) == 2 ) { borref_t el0(PyTuple_GetItem(o, 0)); - char *_buf; - Py_ssize_t _len; if ( el0 != NULL - && PyString_Check(el0.o) - && PyString_AsStringAndSize(el0.o, &_buf, &_len) != -1 - && _len > 0 ) + && IDAPyStr_Check(el0.o) + && IDAPyStr_AsUTF8(hint, el0.o) + && !hint->empty() ) { borref_t el1(PyTuple_GetItem(o, 1)); - if ( el1 != NULL && PyInt_Check(el1.o) ) + if ( el1 != NULL && IDAPyInt_Check(el1.o) ) { - long lns = PyInt_AsLong(el1.o); + long lns = IDAPyInt_AsLong(el1.o); if ( lns > 0 ) { *important_lines = lns; - hint->append(_buf, _len); rc = 1; } } @@ -1245,8 +1242,8 @@ PyObject *py_set_nav_colorizer(PyObject *new_py_colorizer) set_nav_colorizer(&was_fun, &was_ud, lambda_t::call_py_colorizer, NULL); if ( !first_install ) Py_RETURN_NONE; - PyObject *was_fun_ptr = PyCObject_FromVoidPtr((void *) was_fun, NULL); - PyObject *was_ud_ptr = PyCObject_FromVoidPtr(was_ud, NULL); + PyObject *was_fun_ptr = PyCapsule_New((void *) was_fun, VALID_CAPSULE_NAME, NULL); + PyObject *was_ud_ptr = PyCapsule_New(was_ud, VALID_CAPSULE_NAME, NULL); PyObject *dict = PyDict_New(); PyDict_SetItemString(dict, "fun", was_fun_ptr); PyDict_SetItemString(dict, "ud", was_ud_ptr); @@ -1273,10 +1270,14 @@ uint32 py_call_nav_colorizer( return 0; borref_t py_fun(PyDict_GetItemString(dict, "fun")); borref_t py_ud(PyDict_GetItemString(dict, "ud")); - if ( py_fun == NULL || !PyCObject_Check(py_fun.o) || !PyCObject_Check(py_ud.o) ) + if ( py_fun == NULL + || !PyCapsule_IsValid(py_fun.o, VALID_CAPSULE_NAME) + || !PyCapsule_IsValid(py_ud.o, VALID_CAPSULE_NAME) ) + { return 0; - nav_colorizer_t *fun = (nav_colorizer_t *) PyCObject_AsVoidPtr(py_fun.o); - void *ud = PyCObject_AsVoidPtr(py_ud.o); + } + nav_colorizer_t *fun = (nav_colorizer_t *) PyCapsule_GetPointer(py_fun.o, VALID_CAPSULE_NAME); + void *ud = PyCapsule_GetPointer(py_ud.o, VALID_CAPSULE_NAME); if ( fun == NULL ) return 0; return fun(ea, nbytes, ud); @@ -1342,7 +1343,19 @@ static PyObject *py_add_spaces(const char *s, size_t len) // we use the actual 'size' because we know that // 'add_spaces()' will add a terminating zero anyway add_spaces(qbuf.begin(), qbuf.size(), len); - return PyString_FromString(qbuf.c_str()); + return IDAPyStr_FromUTF8(qbuf.c_str()); +} + +//------------------------------------------------------------------------- +THREAD_SAFE void py_show_wait_box(const char *message) +{ + idapython_show_wait_box(/*internal=*/ false, message); +} + +//------------------------------------------------------------------------- +void py_hide_wait_box() +{ + idapython_hide_wait_box(); } // @@ -1365,8 +1378,13 @@ bool idaapi py_menu_item_callback(void *userdata) // userdata is a tuple of ( func, args ) // func and args are borrowed references from userdata - PyObject *func = PyTuple_GET_ITEM(userdata, 0); - PyObject *args = PyTuple_GET_ITEM(userdata, 1); + + PyObject *o = (PyObject *) userdata; + if ( !PyTuple_Check(o) ) + return false; + + PyObject *func = PyTuple_GetItem(o, 0); + PyObject *args = PyTuple_GetItem(o, 1); // Call the python function newref_t result(PyEval_CallObject(func, args)); diff --git a/pywraps/py_kernwin.py b/pywraps/py_kernwin.py index 06bf58f..7149757 100644 --- a/pywraps/py_kernwin.py +++ b/pywraps/py_kernwin.py @@ -76,6 +76,56 @@ class action_handler_t(object): def update(self, ctx): pass +# ---------------------------------------------------------------------- +# This provides an alternative to register_action()+attach_action_to_popup_menu() +class quick_widget_commands_t: + + class _cmd_t: + def __init__(self, caption, flags, menu_index, icon, emb, shortcut): + self.caption = caption + self.flags = flags + self.menu_index = menu_index + self.icon = icon + self.emb = emb + self.shortcut = shortcut + + class _ah_t(action_handler_t): + def __init__(self, parent, cmd_id): + action_handler_t.__init__(self) + self.parent = parent + self.cmd_id = cmd_id + + def activate(self, ctx): + self.parent.callback(ctx, self.cmd_id) + + def update(self, ctx): + return AST_ENABLE_ALWAYS + + + def __init__(self, callback): + self.callback = callback + self.cmds = [] + + def add(self, caption, flags, menu_index, icon, emb, shortcut): + for idx, cmd in enumerate(self.cmds): + if cmd.caption == caption: + return idx + self.cmds.append( + quick_widget_commands_t._cmd_t( + caption, flags, menu_index, icon, emb, shortcut)) + return len(self.cmds) - 1 + + def populate_popup(self, widget, popup): + for idx, cmd in enumerate(self.cmds): + if (cmd.flags & CHOOSER_POPUP_MENU) != 0: + desc = action_desc_t(None, + cmd.caption, + quick_widget_commands_t._ah_t(self, idx), + cmd.shortcut, + None, + cmd.icon) + attach_dynamic_action_to_popup(widget, popup, desc) + # ---------------------------------------------------------------------- # bw-compat/deprecated. You shouldn't rely on this in new code from ida_pro import str2user @@ -169,56 +219,8 @@ setBreak=set_cancelled wasBreak=user_cancelled refresh_lists=refresh_choosers -#-------------------------------------------------------------------------- -class BC695_control_cmd: - def __init__(self, cmd_id, caption, flags, menu_index, icon, emb, shortcut, is_chooser): - self.cmd_id = cmd_id - self.caption = caption - self.flags = flags - self.menu_index = menu_index - self.icon = icon - self.emb = emb - self.shortcut = shortcut - self.is_chooser = is_chooser - - @staticmethod - def add_to_control(control, caption, flags, menu_index, icon, emb, shortcut, is_chooser): - if getattr(control, "commands", None) is None: - setattr(control, "commands", []) - found = filter(lambda x: x.caption == caption, control.commands) - if len(found) == 1: - cmd_id = found[0].cmd_id - else: - cmd_id = len(control.commands) - cmd = BC695_control_cmd(cmd_id, caption, flags, menu_index, icon, emb, shortcut, is_chooser) - control.commands.append(cmd) - return cmd_id - - @staticmethod - def populate_popup(control, widget, popup): - cmds = getattr(control, "commands", []) - for cmd in cmds: - if (cmd.flags & CHOOSER_POPUP_MENU) != 0: - desc = action_desc_t(None, cmd.caption, BC695_control_cmd_ah_t(control, cmd), cmd.shortcut, None, cmd.icon) - attach_dynamic_action_to_popup(widget, popup, desc) - -class BC695_control_cmd_ah_t(action_handler_t): - def __init__(self, control, cmd): - action_handler_t.__init__(self) - self.control = control - self.cmd = cmd - - def activate(self, ctx): - if self.cmd.is_chooser: - idx = ctx.chooser_selection[0] - self.control.OnCommand(idx, self.cmd.cmd_id) - else: - self.control.OnCommand(self.cmd.cmd_id) - - def update(self, ctx): - return AST_ENABLE_ALWAYS - +# ------------------------------------------------------- class Choose2(object): """v.6.95 compatible chooser wrapper class.""" @@ -370,10 +372,7 @@ class Choose2(object): self.link.OnSelectionChange(n) def OnPopup(self, widget, popup_handle): - BC695_control_cmd.populate_popup( - self.link, - widget, - popup_handle) + self.link._quick_commands.populate_popup(widget, popup_handle) def __init__(self, title, cols, flags=0, popup_names=None, @@ -415,6 +414,10 @@ class Choose2(object): self.height = height # construct the v.7.0 chooser object self.chobj = Choose2.ChooseWrapper(self) + def _qccb(ctx, cmd_id): + for idx in ctx.chooser_selection: + self.OnCommand(idx, cmd_id) + self._quick_commands = quick_widget_commands_t(_qccb) # redirect methods to the v.7.0 chooser @@ -427,6 +430,7 @@ class Choose2(object): raise AttributeError(attr) return getattr(self.chobj, attr) + def Embedded(self): """ Creates an embedded chooser (as opposed to Show()) @@ -460,9 +464,13 @@ class Choose2(object): if self.embedded and ((emb is None) or (emb != 2002)): raise RuntimeError("Please add a command through " "EmbeddedChooserControl.AddCommand()") - return BC695_control_cmd.add_to_control( - self, caption, flags, menu_index, icon, emb, None, - is_chooser=True) + return self._quick_commands.add( + caption=caption, + flags=flags, + menu_index=menu_index, + icon=icon, + emb=emb, + shortcut=shortcut) # callbacks # def OnGetSize(self): diff --git a/pywraps/py_kernwin_askform.hpp b/pywraps/py_kernwin_askform.hpp index b776108..60a0f6f 100644 --- a/pywraps/py_kernwin_askform.hpp +++ b/pywraps/py_kernwin_askform.hpp @@ -151,7 +151,7 @@ static PyObject *formchgcbfa_get_field_value( { qstring val; if ( fa->get_combobox_value(fid, &val) ) - return PyString_FromString(val.c_str()); + return IDAPyStr_FromUTF8(val.c_str()); } break; @@ -184,7 +184,7 @@ static PyObject *formchgcbfa_get_field_value( { char val[MAXSTR]; if ( fa->get_string_value(fid, val, sizeof(val)) ) - return PyString_FromString(val); + return IDAPyStr_FromUTF8(val); break; } // string input @@ -193,7 +193,7 @@ static PyObject *formchgcbfa_get_field_value( qstring val; val.resize(sz + 1); if ( fa->get_string_value(fid, val.begin(), val.size()) ) - return PyString_FromString(val.begin()); + return IDAPyStr_FromUTF8(val.begin()); break; } case 5: @@ -268,9 +268,10 @@ static bool formchgcbfa_set_field_value( // dropdown list case 8: // Editable dropdown list - if ( PyString_Check(py_val) ) + if ( IDAPyStr_Check(py_val) ) { - qstring val(PyString_AsString(py_val)); + qstring val; + IDAPyStr_AsUTF8(&val, py_val); return fa->set_combobox_value(fid, &val); } // Readonly dropdown list @@ -302,7 +303,11 @@ static bool formchgcbfa_set_field_value( // strings case 3: case 1: - return fa->set_string_value(fid, PyString_AsString(py_val)); + { + qstring val; + IDAPyStr_AsUTF8(&val, py_val); + return fa->set_string_value(fid, val.c_str()); + } // intvec_t case 5: { diff --git a/pywraps/py_kernwin_askform.py b/pywraps/py_kernwin_askform.py index a3983c0..0e5c4ea 100644 --- a/pywraps/py_kernwin_askform.py +++ b/pywraps/py_kernwin_askform.py @@ -1,5 +1,7 @@ # -------------------------------------------------------------------------- # +import sys + import ida_idaapi, _ida_idaapi import ida_pro @@ -160,6 +162,17 @@ class Form(object): FT_RADGRP = 'R' FT_RADGRP2= 'r' + @staticmethod + def create_string_buffer(value, size=None): + if value is None: + assert(size is not None) + return ctypes.create_string_buffer(size) + else: + if sys.version_info.major >= 3: + return ctypes.create_string_buffer(value.encode("UTF-8"), size) + else: + return ctypes.create_string_buffer(value, size) + @staticmethod def fieldtype_to_ctype(tp, i64 = False): """ @@ -211,16 +224,15 @@ class Form(object): def __init__(self, size=None, value=None): if size is None: raise SyntaxError("The string size must be passed") - - if value is None: - self.arg = ctypes.create_string_buffer(size) - else: - self.arg = ctypes.create_string_buffer(value, size) self.size = size + self.arg = Form.create_string_buffer(value, size) + + def __get_value(self): + return self.arg.value.decode("UTF-8") def __set_value(self, v): - self.arg.value = v - value = property(lambda self: self.arg.value, __set_value) + self.arg.value = v.encode("UTF-8") + value = property(__get_value, __set_value) # @@ -288,7 +300,7 @@ class Form(object): """ String label control """ - def __init__(self, value, tp=None, sz=1024): + def __init__(self, value, tp=None, size=1024): """ Type field can be one of: A - ascii string @@ -301,8 +313,8 @@ class Form(object): if tp is None: tp = Form.FT_ASCII Form.LabelControl.__init__(self, tp) - self.size = sz - self.arg = ctypes.create_string_buffer(value, sz) + self.size = size + self.arg = Form.create_string_buffer(value, size) class NumericLabel(LabelControl, NumericArgument): @@ -693,8 +705,10 @@ class Form(object): self.selobj = ida_pro.sizevec_t() # Get a pointer to the selection vector - # emb = _ida_kernwin._choose_get_embedded_chobj_pointer(chooser) - sel = self.selobj.this.__long__() + if sys.version_info.major >= 3: + sel = self.selobj.this.__int__() + else: + sel = self.selobj.this.__long__() # Get a pointer to a c_void_p constructed from an address p_embedded = ctypes.pointer(ctypes.c_void_p.from_address(emb)) @@ -979,7 +993,7 @@ class Form(object): """ # Create group item controls for each child - for child_name in Group.children_names: + for child_name in sorted(Group.children_names): self.Add( child_name, # Use the class factory @@ -993,9 +1007,9 @@ class Form(object): The dictionary key is the control name and the value is a Form.Control object @param controls: The control dictionary """ - for name, ctrl in controls.items(): + for name in sorted(controls.keys()): # Add the control - self.Add(name, ctrl, mkattr) + self.Add(name, controls[name], mkattr) def CompileEx(self, form): @@ -1146,7 +1160,11 @@ class Form(object): args.insert(inspos, fccb.get_arg()) # Patch in the final form string - args[0] = form + + if sys.version_info.major >= 3: + args[0] = form.encode("UTF-8") + else: + args[0] = form self.title = self._ParseFormTitle(form) return args @@ -1285,12 +1303,12 @@ class Form(object): - dropdown list controls: string (when editable) or index (when readonly) - None: on failure """ - tid, sz = self.ControlToFieldTypeIdAndSize(ctrl) + tid, size = self.ControlToFieldTypeIdAndSize(ctrl) r = _ida_kernwin.formchgcbfa_get_field_value( self.p_fa, ctrl.id, tid, - sz) + size) # Multilinetext? Unpack the tuple into a new textctrl_info_t instance if r is not None and tid == 7: return textctrl_info_t(text=r[0], flags=r[1], tabsize=r[2]) diff --git a/pywraps/py_kernwin_choose.hpp b/pywraps/py_kernwin_choose.hpp index c493a88..30290df 100644 --- a/pywraps/py_kernwin_choose.hpp +++ b/pywraps/py_kernwin_choose.hpp @@ -67,6 +67,7 @@ struct py_chooser_props_t intvec_t widths; // Column widths qstrvec_t header_strings; // Chooser headers qvector header; + qstrvec_t popup_names; // Features flags (to tell which callback exists and which not) // See CHOOSE_xxxx uint32 features; @@ -80,21 +81,34 @@ struct py_chooser_props_t widths.swap(o.widths); header_strings.swap(o.header_strings); header.swap(o.header); + popup_names.swap(o.popup_names); qswap(features, o.features); qswap(flags, o.flags); } bool has_feature(feature_t f) const { return (features & f) == f; } + static bool do_extract_from_pyobject( + py_chooser_props_t *out, + PyObject *o, + bool title_only, + qstring *errbuf); + static bool extract_from_pyobject( py_chooser_props_t *out, PyObject *o, - bool title_only=false); + qstring *errbuf) + { + return do_extract_from_pyobject(out, o, /*title_only=*/ false, errbuf); + } - static bool get_title_from_pyobject(qstring *out, PyObject *o) + static bool get_title_from_pyobject( + qstring *out, + PyObject *o, + qstring *errbuf) { py_chooser_props_t props; - bool ok = extract_from_pyobject(&props, o, /*title_only=*/ true); + bool ok = do_extract_from_pyobject(&props, o, /*title_only=*/ true, errbuf); if ( ok ) out->swap(props.title); return ok; @@ -102,16 +116,20 @@ struct py_chooser_props_t }; //------------------------------------------------------------------------- -bool py_chooser_props_t::extract_from_pyobject( +bool py_chooser_props_t::do_extract_from_pyobject( py_chooser_props_t *out, PyObject *o, - bool title_only) + bool title_only, + qstring *errbuf) { PYW_GIL_CHECK_LOCKED_SCOPE(); +#define RETERR(Format, ...) do { errbuf->sprnt(Format, __VA_ARGS__); return false; } while ( false ) + // Get the title if ( !PyW_GetStringAttr(o, S_TITLE, &out->title) ) - return false; + RETERR("Missing or invalid mandatory '%s' attribute", S_TITLE); + if ( title_only ) return true; @@ -119,36 +137,35 @@ bool py_chooser_props_t::extract_from_pyobject( out->flags = 0; ref_t flags_attr(PyW_TryGetAttrString(o, S_FLAGS)); if ( flags_attr == NULL ) - return false; - if ( PyInt_Check(flags_attr.o) ) - out->flags = uint32(PyInt_AsLong(flags_attr.o)); - // instruct TChooser destructor to delete this chooser when window + RETERR("Missing or invalid mandatory '%s' attribute", S_FLAGS); + + if ( IDAPyInt_Check(flags_attr.o) ) + out->flags = uint32(IDAPyInt_AsLong(flags_attr.o)); + // instruct TChooser destructor to delete this chooser when widget // closes out->flags &= ~CH_KEEP; // Get columns + int ncols = -1; ref_t cols_attr(PyW_TryGetAttrString(o, "cols")); - if ( cols_attr == NULL ) - return false; - - // Get col count - int columns = int(PyList_Size(cols_attr.o)); - if ( columns < 1 ) - return false; + if ( cols_attr != NULL ) + ncols = int(PyList_Size(cols_attr.o)); + if ( ncols < 1 ) + RETERR("Missing or invalid mandatory '%s' attribute", S_COLS); // Get columns caption and widthes - out->header_strings.resize(columns); - out->header.resize(columns); - out->widths.resize(columns); - for ( int i = 0; i < columns; ++i ) + out->header_strings.resize(ncols); + out->header.resize(ncols); + out->widths.resize(ncols); + for ( int i = 0; i < ncols; ++i ) { // get list item: [name, width] borref_t list(PyList_GetItem(cols_attr.o, i)); borref_t v(PyList_GetItem(list.o, 0)); // Extract string - const char *str = v == NULL ? "" : PyString_AsString(v.o); - out->header_strings[i] = str; + if ( v != NULL ) + IDAPyStr_AsUTF8(&out->header_strings[i], v.o); out->header[i] = out->header_strings[i].c_str(); // Extract width @@ -156,12 +173,27 @@ bool py_chooser_props_t::extract_from_pyobject( borref_t v2(PyList_GetItem(list.o, 1)); // No width? Guess width from column title if ( v2 == NULL ) - width = strlen(str); + width = ::qustrlen(out->header_strings[i].c_str()); else width = PyInt_AsLong(v2.o); out->widths[i] = width; } + // Get popup names + // An array of 4 strings: ("Insert", "Delete", "Edit", "Refresh") + ref_t pn_attr(PyW_TryGetAttrString(o, S_POPUP_NAMES)); + if ( pn_attr != NULL && PyList_Check(pn_attr.o) ) + { + Py_ssize_t npopups = PyList_Size(pn_attr.o); + if ( npopups > chooser_base_t::NSTDPOPUPS ) + npopups = chooser_base_t::NSTDPOPUPS; + for ( Py_ssize_t i = 0; i < npopups; ++i ) + { + qstring &buf = out->popup_names.push_back(); + IDAPyStr_AsUTF8(&buf, PyList_GetItem(pn_attr.o, i)); + } + } + // Check what callbacks we have static const struct { @@ -186,8 +218,8 @@ bool py_chooser_props_t::extract_from_pyobject( // we can forbid some callbacks explicitly uint32 forbidden_cb = 0; ref_t forbidden_cb_attr(PyW_TryGetAttrString(o, "forbidden_cb")); - if ( forbidden_cb_attr != NULL && PyInt_Check(forbidden_cb_attr.o) ) - forbidden_cb = uint32(PyInt_AsLong(forbidden_cb_attr.o)); + if ( forbidden_cb_attr != NULL && IDAPyInt_Check(forbidden_cb_attr.o) ) + forbidden_cb = uint32(IDAPyInt_AsLong(forbidden_cb_attr.o)); out->features = 0; for ( int i = 0; i < qnumber(callbacks); ++i ) @@ -203,7 +235,7 @@ bool py_chooser_props_t::extract_from_pyobject( { // Mandatory field? if ( callbacks[i].have == 0 ) - return false; + RETERR("Missing or invalid mandatory '%s' callback", callbacks[i].name); } } @@ -212,6 +244,8 @@ bool py_chooser_props_t::extract_from_pyobject( if ( emb_attr != NULL && PyObject_IsTrue(emb_attr.o) == 1 ) out->features |= CFEAT_EMBEDDED; +#undef RETERR + return true; } @@ -249,6 +283,7 @@ protected: size_t n, const chooser_base_t *chobj) const; void mixin_closed(chooser_base_t *chobj); + void mixin_init_chooser_base_from_props(chooser_base_t *cb); }; //------------------------------------------------------------------------- @@ -289,18 +324,16 @@ void py_chooser_mixin_t::mixin_get_row( PyObject_CallMethod( self.o, (char *)S_ON_GET_LINE, "i", int(n))); + if ( PyErr_Occurred() != NULL ) + return; if ( list.result != NULL ) { // Go over the List returned by Python and convert to C strings for ( int i = chobj->columns - 1; i >= 0; --i ) { borref_t item(PyList_GetItem(list.result.o, Py_ssize_t(i))); - if ( item == NULL ) - continue; - - const char *str = PyString_AsString(item.o); - if ( str != NULL ) - (*cols)[i] = str; + if ( item != NULL ) + IDAPyStr_AsUTF8(&cols->at(i), item.o); } } @@ -311,6 +344,8 @@ void py_chooser_mixin_t::mixin_get_row( PyObject_CallMethod( self.o, (char *)S_ON_GET_ICON, "i", int(n))); + if ( PyErr_Occurred() != NULL ) + return; if ( pyres.result != NULL ) *icon_ = PyInt_AsLong(pyres.result.o); } @@ -321,6 +356,8 @@ void py_chooser_mixin_t::mixin_get_row( PyObject_CallMethod( self.o, (char *)S_ON_GET_LINE_ATTR, "i", int(n))); + if ( PyErr_Occurred() != NULL ) + return; if ( pyres.result != NULL && PyList_Check(pyres.result.o) ) { PyObject *item; @@ -335,14 +372,34 @@ void py_chooser_mixin_t::mixin_get_row( //------------------------------------------------------------------------- void py_chooser_mixin_t::mixin_closed(chooser_base_t *chobj) { - if ( !has_feature(CFEAT_ONCLOSE) ) + PYW_GIL_GET; + if ( has_feature(CFEAT_ONCLOSE) ) + { + pycall_res_t pyres(PyObject_CallMethod(self.o, (char *)S_ON_CLOSE, NULL)); + } + else { chobj->chooser_base_t::closed(); - return; } - PYW_GIL_GET; - pycall_res_t pyres(PyObject_CallMethod(self.o, (char *)S_ON_CLOSE, NULL)); - PyObject_DelAttrString(self.o, "ui_hooks_trampoline"); // delete UI hook + if ( PyObject_HasAttrString(self.o, "ui_hooks_trampoline") ) + { + { + newref_t tramp(PyObject_GetAttrString(self.o, "ui_hooks_trampoline")); + if ( tramp.o != Py_None ) + { + newref_t unhook_res(PyObject_CallMethod(tramp.o, "unhook", NULL)); + } + } + PyObject_DelAttrString(self.o, "ui_hooks_trampoline"); + } +} + +//------------------------------------------------------------------------- +void py_chooser_mixin_t::mixin_init_chooser_base_from_props( + chooser_base_t *cb) +{ + for ( size_t i = 0; i < props.popup_names.size(); ++i ) + cb->popup_names[i] = props.popup_names[i].begin(); } //------------------------------------------------------------------------ @@ -365,14 +422,14 @@ class py_chooser_t : public chooser_t, public py_chooser_mixin_t { { newref_t item(PySequence_GetItem(pyres.result.o, 0)); - if ( item.o != NULL && PyInt_Check(item.o) ) - ret.changed = cbres_t(PyInt_AsLong(item.o)); + if ( item.o != NULL && IDAPyInt_Check(item.o) ) + ret.changed = cbres_t(IDAPyInt_AsLong(item.o)); } if ( ret.changed != NOTHING_CHANGED ) { newref_t item(PySequence_GetItem(pyres.result.o, 1)); - if ( item.o != NULL && PyInt_Check(item.o) ) - ret.idx = ssize_t(PyInt_AsSsize_t(item.o)); + if ( item.o != NULL && IDAPyInt_Check(item.o) ) + ret.idx = ssize_t(IDAPyInt_AsSsize_t(item.o)); } } *out = ret; @@ -388,7 +445,10 @@ public: props_.widths.begin(), props_.header.begin(), props_.title.c_str()), - py_chooser_mixin_t(self_, props_) {} + py_chooser_mixin_t(self_, props_) + { + mixin_init_chooser_base_from_props(this); + } DEFINE_COMMON_CALLBACKS @@ -468,7 +528,10 @@ public: props_.widths.begin(), props_.header.begin(), props_.title.c_str()), - py_chooser_mixin_t(self_, props_) {} + py_chooser_mixin_t(self_, props_) + { + mixin_init_chooser_base_from_props(this); + } DEFINE_COMMON_CALLBACKS @@ -529,21 +592,6 @@ chooser_base_t *py_chooser_mixin_t::create_concrete_instance( // Get *icon py_get_int(o, &chobj->icon, "icon"); - // Get *popup names - // An array of 4 strings: ("Insert", "Delete", "Edit", "Refresh") - ref_t pn_attr(PyW_TryGetAttrString(o, S_POPUP_NAMES)); - if ( pn_attr != NULL && PyList_Check(pn_attr.o) ) - { - int npopups = int(PyList_Size(pn_attr.o)); - if ( npopups > chooser_base_t::NSTDPOPUPS ) - npopups = chooser_base_t::NSTDPOPUPS; - for ( int i = 0; i < npopups; ++i ) - { - const char *str = PyString_AsString(PyList_GetItem(pn_attr.o, i)); - chobj->popup_names[i] = str; - } - } - if ( props.has_feature(CFEAT_EMBEDDED) ) { py_get_int(o, &chobj->width, "width"); @@ -553,11 +601,15 @@ chooser_base_t *py_chooser_mixin_t::create_concrete_instance( } //------------------------------------------------------------------------- -int choose_choose(PyObject *self) +PyObject *choose_choose(PyObject *self) { + qstring errbuf; py_chooser_props_t props; - if ( !py_chooser_props_t::extract_from_pyobject(&props, self) ) - return chooser_base_t::NO_SELECTION; + if ( !py_chooser_props_t::extract_from_pyobject(&props, self, &errbuf) ) + { + PyErr_SetString(PyExc_AttributeError, errbuf.c_str()); + return NULL; + } chooser_base_t *chobj = py_chooser_mixin_t::create_concrete_instance(props, self); ssize_t res; @@ -583,30 +635,30 @@ int choose_choose(PyObject *self) } // assert: `this` is deleted in the case of the modal chooser - return res; + return PyInt_FromLong(long(res)); } //------------------------------------------------------------------------ void choose_close(PyObject *self) { - qstring title; - if ( py_chooser_props_t::get_title_from_pyobject(&title, self) ) + qstring title, errbuf; + if ( py_chooser_props_t::get_title_from_pyobject(&title, self, &errbuf) ) close_chooser(title.c_str()); } //------------------------------------------------------------------------ void choose_refresh(PyObject *self) { - qstring title; - if ( py_chooser_props_t::get_title_from_pyobject(&title, self) ) + qstring title, errbuf; + if ( py_chooser_props_t::get_title_from_pyobject(&title, self, &errbuf) ) refresh_chooser(title.c_str()); } //------------------------------------------------------------------------- TWidget *choose_get_widget(PyObject *self) { - qstring title; - return py_chooser_props_t::get_title_from_pyobject(&title, self) + qstring title, errbuf; + return py_chooser_props_t::get_title_from_pyobject(&title, self, &errbuf) ? find_widget(title.c_str()) : NULL; } @@ -621,17 +673,23 @@ void choose_activate(PyObject *self) //------------------------------------------------------------------------ // Return the C instance as 64bit number -uint64 choose_create_embedded_chobj(PyObject *self) +PyObject *choose_create_embedded_chobj(PyObject *self) { PYW_GIL_CHECK_LOCKED_SCOPE(); uint64 ptr = 0; + qstring errbuf; py_chooser_props_t props; - if ( py_chooser_props_t::extract_from_pyobject(&props, self) ) + if ( py_chooser_props_t::extract_from_pyobject(&props, self, &errbuf) ) { chooser_base_t *chobj = py_chooser_mixin_t::create_concrete_instance(props, self); ptr = uint64(chobj); } - return ptr; + else + { + PyErr_SetString(PyExc_AttributeError, errbuf.c_str()); + return NULL; + } + return PyLong_FromUnsignedLongLong(ptr); } //------------------------------------------------------------------------ @@ -650,11 +708,10 @@ PyObject *choose_find(const char *title) PyObject *choose_find(const char *title); void choose_refresh(PyObject *self); void choose_close(PyObject *self); -// int choose_create(PyObject *self); TWidget *choose_get_widget(PyObject *self); -int choose_choose(PyObject *self); +PyObject *choose_choose(PyObject *self); void choose_activate(PyObject *self); -uint64 choose_create_embedded_chobj(PyObject *self); +PyObject *choose_create_embedded_chobj(PyObject *self); PyObject *py_get_chooser_data(const char *chooser_caption, int n) { @@ -663,7 +720,7 @@ PyObject *py_get_chooser_data(const char *chooser_caption, int n) Py_RETURN_NONE; PyObject *py_list = PyList_New(data.size()); for ( size_t i = 0; i < data.size(); ++i ) - PyList_SetItem(py_list, i, PyString_FromString(data[i].c_str())); + PyList_SetItem(py_list, i, IDAPyStr_FromUTF8(data[i].c_str())); return py_list; } diff --git a/pywraps/py_kernwin_choose.py b/pywraps/py_kernwin_choose.py index f6b6c34..6da1234 100644 --- a/pywraps/py_kernwin_choose.py +++ b/pywraps/py_kernwin_choose.py @@ -1,5 +1,7 @@ #-------------------------------------------------------------------------- # +import _ida_kernwin + class Choose(object): """ Chooser wrapper class. @@ -106,12 +108,12 @@ class Choose(object): import weakref self.v = weakref.ref(v) - def populating_widget_popup(self, form, popup_handle): + def populating_widget_popup(self, widget, popup_handle): chooser = self.v() - if form == chooser.GetWidget() and \ + if widget == chooser.GetWidget() and \ hasattr(chooser, "OnPopup") and \ callable(getattr(chooser, "OnPopup")): - chooser.OnPopup(form, popup_handle) + chooser.OnPopup(widget, popup_handle) def __init__(self, title, cols, flags = 0, popup_names = None, icon=-1, x1=-1, y1=-1, x2=-1, y2=-1, @@ -155,6 +157,10 @@ class Choose(object): self.height = height self.forbidden_cb = forbidden_cb self.ui_hooks_trampoline = None # set on Show + def _qccb(ctx, cmd_id): + for idx in ctx.chooser_selection: + self.OnCommand(idx, cmd_id) + self._quick_commands = quick_widget_commands_t(_qccb) def Embedded(self, create_chobj=False): @@ -250,4 +256,23 @@ class Choose(object): if n >= cnt: n = cnt - 1 return [n] + + def AddCommand(self, + caption, + flags = _ida_kernwin.CHOOSER_POPUP_MENU, + menu_index = -1, + icon = -1, + emb=None, + shortcut=None): + return self._quick_commands.add( + caption=caption, + flags=flags, + menu_index=menu_index, + icon=icon, + emb=emb, + shortcut=shortcut) + + def OnPopup(self, widget, popup_handle): + self._quick_commands.populate_popup(widget, popup_handle) + # diff --git a/pywraps/py_kernwin_cli.hpp b/pywraps/py_kernwin_cli.hpp index f780fe7..4a66186 100644 --- a/pywraps/py_kernwin_cli.hpp +++ b/pywraps/py_kernwin_cli.hpp @@ -96,11 +96,11 @@ private: // Returns: true-modified input line or x coordinate or selection length // This callback is optional bool on_keydown( - qstring *line, - int *p_x, - int *p_sellen, - int *vk_key, - int shift) + qstring *line, + int *p_x, + int *p_sellen, + int *vk_key, + int shift) { PYW_GIL_GET; newref_t result( @@ -121,6 +121,12 @@ private: if ( ok ) { Py_ssize_t sz = PyTuple_Size(result.o); + if ( sz > 0 ) + { + borref_t _r(PyTuple_GetItem(result.o, 0)); + if ( _r != NULL && IDAPyStr_Check(_r.o) ) + IDAPyStr_AsUTF8(line, _r.o); + } #define GET_TUPLE_ENTRY(col, PyThingy, AsThingy, out) \ do \ @@ -132,8 +138,6 @@ private: *out = PyThingy##_##AsThingy(_r.o); \ } \ } while ( false ) - - GET_TUPLE_ENTRY(0, PyString, AsString, line); GET_TUPLE_ENTRY(1, PyInt, AsLong, p_x); GET_TUPLE_ENTRY(2, PyInt, AsLong, p_sellen); GET_TUPLE_ENTRY(3, PyInt, AsLong, vk_key); @@ -167,10 +171,10 @@ private: line, x)); - bool ok = result != NULL && PyString_Check(result.o); + bool ok = result != NULL && IDAPyStr_Check(result.o); PyW_ShowCbErr(S_ON_COMPLETE_LINE); if ( ok ) - *completion = PyString_AsString(result.o); + IDAPyStr_AsUTF8(completion, result.o); return ok; } diff --git a/pywraps/py_kernwin_custview.hpp b/pywraps/py_kernwin_custview.hpp index 52864c6..f723011 100644 --- a/pywraps/py_kernwin_custview.hpp +++ b/pywraps/py_kernwin_custview.hpp @@ -216,9 +216,9 @@ class py_simplecustview_t } else { - ok = PyInt_Check(obj.o); + ok = IDAPyInt_Check(obj.o) != 0; if ( ok ) - *out = uint32(PyInt_AsLong(obj.o)); + *out = uint32(IDAPyInt_AsLong(obj.o)); } return ok; } @@ -229,9 +229,9 @@ class py_simplecustview_t { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( PyString_Check(py) ) + if ( IDAPyStr_Check(py) ) { - sl.line = PyString_AsString(py); + IDAPyStr_AsUTF8(&sl.line, py); return true; } Py_ssize_t sz; @@ -239,10 +239,10 @@ class py_simplecustview_t return false; PyObject *py_val = PyTuple_GetItem(py, 0); - if ( !PyString_Check(py_val) ) + if ( !IDAPyStr_Check(py_val) ) return false; - sl.line = PyString_AsString(py_val); + IDAPyStr_AsUTF8(&sl.line, py_val); uint32 col; if ( sz > 1 && get_color(&col, borref_t(PyTuple_GetItem(py, 1))) ) sl.color = color_t(col); @@ -329,12 +329,14 @@ class py_simplecustview_t bvsz_t(ln))); PyW_ShowCbErr(S_ON_HINT); - bool ok = py_result != NULL && PyTuple_Check(py_result.o) && PyTuple_Size(py_result.o) == 2; + bool ok = py_result != NULL + && PyTuple_Check(py_result.o) + && PyTuple_Size(py_result.o) == 2; if ( ok ) { if ( important_lines != NULL ) *important_lines = PyInt_AsLong(PyTuple_GetItem(py_result.o, 0)); - hint = PyString_AsString(PyTuple_GetItem(py_result.o, 1)); + IDAPyStr_AsUTF8(&hint, PyTuple_GetItem(py_result.o, 1)); } return ok; } @@ -627,7 +629,7 @@ public: // Return a reference to the C++ instance (only once) if ( py_this == NULL ) - py_this = PyCObject_FromVoidPtr(this, NULL); + py_this = PyCapsule_New(this, VALID_CAPSULE_NAME, NULL); return true; } @@ -683,7 +685,9 @@ public: static py_simplecustview_t *get_this(PyObject *py_this) { PYW_GIL_CHECK_LOCKED_SCOPE(); - return PyCObject_Check(py_this) ? (py_simplecustview_t *) PyCObject_AsVoidPtr(py_this) : NULL; + return PyCapsule_IsValid(py_this, VALID_CAPSULE_NAME) + ? (py_simplecustview_t *) PyCapsule_GetPointer(py_this, VALID_CAPSULE_NAME) + : NULL; } PyObject *get_pythis() @@ -733,16 +737,14 @@ PyObject *pyscv_get_current_line(PyObject *py_this, bool mouse, bool notags) _this->get_current_line(&line, mouse, notags); if ( line.empty() ) Py_RETURN_NONE; - return PyString_FromStringAndSize(line.c_str(), line.length()); + return IDAPyStr_FromUTF8AndSize(line.c_str(), line.length()); } //-------------------------------------------------------------------------- bool pyscv_is_focused(PyObject *py_this) { DECL_THIS; - if ( _this == NULL ) - return false; - return _this->is_focused(); + return _this != NULL && _this->is_focused(); } size_t pyscv_count(PyObject *py_this) @@ -754,7 +756,7 @@ size_t pyscv_count(PyObject *py_this) bool pyscv_show(PyObject *py_this) { DECL_THIS; - return _this == NULL ? false : _this->show(); + return _this != NULL && _this->show(); } void pyscv_close(PyObject *py_this) @@ -767,9 +769,7 @@ void pyscv_close(PyObject *py_this) bool pyscv_jumpto(PyObject *py_this, size_t ln, int x, int y) { DECL_THIS; - if ( _this == NULL ) - return false; - return _this->jumpto(ln, x, y); + return _this != NULL && _this->jumpto(ln, x, y); } // Returns the line tuple @@ -812,28 +812,28 @@ PyObject *pyscv_clear_lines(PyObject *py_this) bool pyscv_add_line(PyObject *py_this, PyObject *py_sl) { DECL_THIS; - return _this == NULL ? false : _this->add_line(py_sl); + return _this != NULL && _this->add_line(py_sl); } //-------------------------------------------------------------------------- bool pyscv_insert_line(PyObject *py_this, size_t nline, PyObject *py_sl) { DECL_THIS; - return _this == NULL ? false : _this->insert_line(nline, py_sl); + return _this != NULL && _this->insert_line(nline, py_sl); } //-------------------------------------------------------------------------- bool pyscv_patch_line(PyObject *py_this, size_t nline, size_t offs, int value) { DECL_THIS; - return _this == NULL ? false : _this->patch_line(nline, offs, value); + return _this != NULL && _this->patch_line(nline, offs, value); } //-------------------------------------------------------------------------- bool pyscv_del_line(PyObject *py_this, size_t nline) { DECL_THIS; - return _this == NULL ? false : _this->del_line(nline); + return _this != NULL && _this->del_line(nline); } //-------------------------------------------------------------------------- @@ -857,7 +857,7 @@ PyObject *pyscv_get_current_word(PyObject *py_this, bool mouse) { qstring word; if ( _this->get_current_word(mouse, word) ) - return PyString_FromString(word.c_str()); + return IDAPyStr_FromUTF8(word.c_str()); } Py_RETURN_NONE; } @@ -867,7 +867,7 @@ PyObject *pyscv_get_current_word(PyObject *py_this, bool mouse) bool pyscv_edit_line(PyObject *py_this, size_t nline, PyObject *py_sl) { DECL_THIS; - return _this == NULL ? false : _this->edit_line(nline, py_sl); + return _this != NULL && _this->edit_line(nline, py_sl); } //------------------------------------------------------------------------- diff --git a/pywraps/py_kernwin_custview.py b/pywraps/py_kernwin_custview.py index 460e7e7..fafaf1b 100644 --- a/pywraps/py_kernwin_custview.py +++ b/pywraps/py_kernwin_custview.py @@ -14,10 +14,18 @@ class simplecustviewer_t(object): my_form = self.v().GetWidget() if form == my_form: cb = self.v().OnPopup - from inspect import getargspec - if len(getargspec(cb).args) == 3: - cb(my_form, popup_handle) + import sys + import inspect + handled = False + if sys.version_info.major >= 3: + if len(inspect.getfullargspec(cb).args) == 3: + cb(my_form, popup_handle) + handled = True else: + if len(inspect.getargspec(cb).args) == 3: + cb(my_form, popup_handle) + handled = True + if not handled: cb() # bw-compat def __init__(self): @@ -183,7 +191,7 @@ class simplecustviewer_t(object): # @param shift: Shift flag # @return: Boolean. True if you handled the event # """ -# print "OnClick, shift=%d" % shift +# print("OnClick, shift=%d" % shift) # return True # # def OnDblClick(self, shift): @@ -192,7 +200,7 @@ class simplecustviewer_t(object): # @param shift: Shift flag # @return: Boolean. True if you handled the event # """ -# print "OnDblClick, shift=%d" % shift +# print("OnDblClick, shift=%d" % shift) # return True # # def OnCursorPosChanged(self): @@ -200,14 +208,14 @@ class simplecustviewer_t(object): # Cursor position changed. # @return: Nothing # """ -# print "OnCurposChanged" +# print("OnCurposChanged") # # def OnClose(self): # """ # The view is closing. Use this event to cleanup. # @return: Nothing # """ -# print "OnClose" +# print("OnClose") # # def OnKeydown(self, vkey, shift): # """ @@ -216,7 +224,7 @@ class simplecustviewer_t(object): # @param shift: Shift flag # @return: Boolean. True if you handled the event # """ -# print "OnKeydown, vk=%d shift=%d" % (vkey, shift) +# print("OnKeydown, vk=%d shift=%d" % (vkey, shift)) # return False # # def OnHint(self, lineno): @@ -235,7 +243,7 @@ class simplecustviewer_t(object): # @param menu_id: ID previously registered with add_popup_menu() # @return: Boolean # """ -# print "OnPopupMenu, menu_id=" % menu_id +# print("OnPopupMenu, menu_id=" % menu_id) # return True # # diff --git a/pywraps/py_kernwin_idaview.hpp b/pywraps/py_kernwin_idaview.hpp index 034ef46..95ca880 100644 --- a/pywraps/py_kernwin_idaview.hpp +++ b/pywraps/py_kernwin_idaview.hpp @@ -16,7 +16,7 @@ public: bool py_idaview_t::Bind(PyObject *self) { // Already a py_idaview_t associated to this object? - py_idaview_t *_this = view_extract_this(self); + py_idaview_t *_this = (py_idaview_t *) view_extract_this(self); if ( _this != NULL ) return false; @@ -54,7 +54,7 @@ bool py_idaview_t::Bind(PyObject *self) //------------------------------------------------------------------------- bool py_idaview_t::Unbind(PyObject *self) { - py_idaview_t *_this = view_extract_this(self); + py_idaview_t *_this = (py_idaview_t *) view_extract_this(self); if ( _this == NULL ) return false; _this->unbind(true); diff --git a/pywraps/py_kernwin_plgform.hpp b/pywraps/py_kernwin_plgform.hpp index 5bb01ee..decaf0e 100644 --- a/pywraps/py_kernwin_plgform.hpp +++ b/pywraps/py_kernwin_plgform.hpp @@ -24,7 +24,7 @@ class plgform_t PyObject_CallMethod( _this->py_obj.o, (char *)S_ON_CLOSE, "O", - PyCObject_FromVoidPtr(widget, NULL))); + PyCapsule_New(widget, VALID_CAPSULE_NAME, NULL))); PyW_ShowCbErr(S_ON_CLOSE); } _this->unhook(); @@ -92,7 +92,7 @@ public: PyObject_CallMethod( py_obj.o, (char *)S_ON_CREATE, "O", - PyCObject_FromVoidPtr(widget, NULL))); + PyCapsule_New(widget, VALID_CAPSULE_NAME, NULL))); PyW_ShowCbErr(S_ON_CREATE); if ( !create_only ) @@ -111,19 +111,23 @@ public: static PyObject *create() { PYW_GIL_CHECK_LOCKED_SCOPE(); - return PyCObject_FromVoidPtr(new plgform_t(), destroy); + return PyCapsule_New(new plgform_t(), VALID_CAPSULE_NAME, destroy); } - static void destroy(void *obj) + static void destroy(PyObject *py_obj) { - delete (plgform_t *)obj; + if ( PyCapsule_IsValid(py_obj, VALID_CAPSULE_NAME) ) + { + plgform_t *obj = (plgform_t *) PyCapsule_GetPointer(py_obj, VALID_CAPSULE_NAME); + delete (plgform_t *) obj; + } } }; // // //--------------------------------------------------------------------------- -#define DECL_PLGFORM PYW_GIL_CHECK_LOCKED_SCOPE(); plgform_t *plgform = (plgform_t *) PyCObject_AsVoidPtr(py_link); +#define DECL_PLGFORM PYW_GIL_CHECK_LOCKED_SCOPE(); plgform_t *plgform = (plgform_t *) PyCapsule_GetPointer(py_link, VALID_CAPSULE_NAME); static PyObject *plgform_new() { return plgform_t::create(); @@ -136,7 +140,7 @@ static bool plgform_show( int options = WOPN_DP_TAB|WOPN_RESTORE) { DECL_PLGFORM; - return plgform->show(py_obj, caption, options); + return plgform != NULL && plgform->show(py_obj, caption, options); } static void plgform_close( @@ -144,14 +148,15 @@ static void plgform_close( int options) { DECL_PLGFORM; - plgform->close(options); + if ( plgform != NULL ) + plgform->close(options); } static TWidget *plgform_get_widget( PyObject *py_link) { DECL_PLGFORM; - return plgform->get_widget(); + return plgform != NULL ? plgform->get_widget() : NULL; } #undef DECL_PLGFORM diff --git a/pywraps/py_kernwin_plgform.py b/pywraps/py_kernwin_plgform.py index 809e8f5..23f8c58 100644 --- a/pywraps/py_kernwin_plgform.py +++ b/pywraps/py_kernwin_plgform.py @@ -1,6 +1,9 @@ from __future__ import print_function # import sys + +import ida_idaapi + class PluginForm(object): """ PluginForm class. @@ -74,24 +77,28 @@ class PluginForm(object): @staticmethod def _ensure_widget_deps(ctx): - for key, modname in [("sip", "sip"), ("QtWidgets", "PyQt5.QtWidgets")]: - if not hasattr(ctx, key): - print("Note: importing '%s' module into %s" % (key, ctx)) + for modname in ["sip", "QtWidgets"]: + if not hasattr(ctx, modname): import importlib - setattr(ctx, key, importlib.import_module(modname)) + setattr(ctx, modname, importlib.import_module("PyQt5." + modname)) + VALID_CAPSULE_NAME = b"$valid$" + @staticmethod - def TWidgetToPyQtWidget(form, ctx = sys.modules['__main__']): + def TWidgetToPyQtWidget(tw, ctx = sys.modules['__main__']): """ 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 """ - if type(form).__name__ == "SwigPyObject": - ptr_l = long(form) + if type(tw).__name__ == "SwigPyObject": + ptr_l = ida_idaapi.long_type(tw) else: - ptr_l = form + import ctypes + ctypes.pythonapi.PyCapsule_GetPointer.restype = ctypes.c_void_p + ctypes.pythonapi.PyCapsule_GetPointer.argtypes = [ctypes.py_object, ctypes.c_char_p] + ptr_l = ctypes.pythonapi.PyCapsule_GetPointer(tw, PluginForm.VALID_CAPSULE_NAME) PluginForm._ensure_widget_deps(ctx) vptr = ctx.sip.voidptr(ptr_l) return ctx.sip.wrapinstance(vptr.__int__(), ctx.QtWidgets.QWidget) @@ -106,31 +113,32 @@ class PluginForm(object): @param ctx: Context. Reference to a module that already imported SIP and QtWidgets modules """ PluginForm._ensure_widget_deps(ctx) - as_long = long(ctx.sip.unwrapinstance(w)) + as_long = ida_idaapi.long_type(ctx.sip.unwrapinstance(w)) return TWidget__from_ptrval__(as_long) @staticmethod - def TWidgetToPySideWidget(form, ctx = sys.modules['__main__']): + def TWidgetToPySideWidget(tw, ctx = sys.modules['__main__']): """ 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 """ - if form is None: + if tw is None: return None - if type(form).__name__ == "SwigPyObject": - # Since 'form' is a SwigPyObject, we first need to convert it to a PyCObject. + if type(tw).__name__ == "SwigPyObject": + # Since 'tw' is a SwigPyObject, we first need to convert it to a PyCapsule. # However, there's no easy way of doing it, so we'll use a rather brutal approach: # converting the SwigPyObject to a 'long' (will go through 'SwigPyObject_long', # that will return the pointer's value as a long), and then convert that value - # back to a pointer into a PyCObject. - ptr_l = long(form) - from ctypes import pythonapi, c_void_p, py_object - pythonapi.PyCObject_FromVoidPtr.restype = py_object - pythonapi.PyCObject_AsVoidPtr.argtypes = [c_void_p, c_void_p] - form = pythonapi.PyCObject_FromVoidPtr(ptr_l, 0) - return ctx.QtGui.QWidget.FromCObject(form) + # back to a pointer into a PyCapsule. + ptr_l = ida_idaapi.long_type(tw) + # Warning: this is untested + import ctypes + ctypes.pythonapi.PyCapsule_New.restype = ctypes.py_object + ctypes.pythonapi.PyCapsule_New.argtypes = [ctypes.c_void_p, ctypes.c_char_p, ctypes.c_void_p] + tw = ctypes.pythonapi.PyCapsule_New(ptr_l, PluginForm.VALID_CAPSULE_NAME, 0) + return ctx.QtGui.QWidget.FromCapsule(tw) FormToPySideWidget = TWidgetToPySideWidget def OnCreate(self, form): diff --git a/pywraps/py_kernwin_viewhooks.py b/pywraps/py_kernwin_viewhooks.py index 6378a4b..f0fb8a9 100644 --- a/pywraps/py_kernwin_viewhooks.py +++ b/pywraps/py_kernwin_viewhooks.py @@ -29,8 +29,12 @@ class CustomIDAMemo(View_Hooks): return cb def _get_cb_arity(self, cb): - from inspect import getargspec - return len(getargspec(cb).args) + import sys + import inspect + if sys.version_info.major >= 3: + return len(inspect.getfullargspec(cb).args) + else: + return len(inspect.getargspec(cb).args) def view_activated(self, view): return self._get_cb(view, "OnViewActivated")() @@ -102,7 +106,7 @@ class CustomIDAMemo(View_Hooks): ida_idaapi.pygc_refresh(self) def GetCurrentRendererType(self): - return ida_idaapi.pygc_get_current_renderer_type(self) + return get_view_renderer_type(self.GetWidget()) def SetCurrentRendererType(self, rtype): """ @@ -110,7 +114,7 @@ class CustomIDAMemo(View_Hooks): @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. """ - ida_idaapi.pygc_set_current_renderer_type(self, rtype) + return set_view_renderer_type(self.GetWidget(), rtype) def SetNodeInfo(self, node_index, node_info, flags): """ @@ -126,7 +130,8 @@ class CustomIDAMemo(View_Hooks): @param node_info: An idaapi.node_info_t instance. @param flags: An OR'ed value of NIF_* values. """ - ida_idaapi.pygc_set_node_info(self, node_index, node_info, flags) + import ida_graph + return ida_graph.viewer_set_node_info(self.GetWidget(), node_index, node_info, flags) def SetNodesInfos(self, values): """ @@ -140,16 +145,29 @@ class CustomIDAMemo(View_Hooks): @param values: A dictionary of 'int -> node_info_t' objects. """ - ida_idaapi.pygc_set_nodes_infos(self, values) + import ida_graph + for node_index, node_info in values.items(): + ida_graph.viewer_set_node_info(self.GetWidget(), node_index, node_info, ida_graph.NIF_ALL) - def GetNodeInfo(self, node): + def GetNodeInfo(self, *args): """ Get the properties for the given node. + @param ni: A node_info_t instance @param node: The index of the node. - @return: A tuple (bg_color, frame_color, ea, text), or None. + @return: success """ - return ida_idaapi.pygc_get_node_info(self, node) + import ida_graph + if len(args) < 2: + # bw-compat + ni, node = ida_graph.node_info_t(), args[0] + if ida_graph.viewer_get_node_info(self.GetWidget(), ni, node): + return (ni.bg_color, ni.frame_color, ni.ea, ni.text) + else: + return None + else: + ni, node = args[0], args[1] + return ida_graph.viewer_get_node_info(self.GetWidget(), ni, node) def DelNodesInfos(self, *nodes): """ @@ -157,7 +175,9 @@ class CustomIDAMemo(View_Hooks): @param nodes: A list of node IDs """ - return ida_idaapi.pygc_del_nodes_infos(self, nodes) + import ida_graph + for n in nodes: + ida_graph.viewer_del_node_info(self.GetWidget(), n) def CreateGroups(self, groups_infos): """ @@ -206,6 +226,14 @@ class CustomIDAMemo(View_Hooks): """ return ida_idaapi.pycim_get_widget(self) + def GetWidgetAsGraphViewer(self): + """ + Return the graph_viewer_t underlying this view. + + @return: The graph_viewer_t underlying this view, or None. + """ + return ida_idaapi.pycim_get_widget_as_graph_viewer(self) + # ---------------------------------------------------------------------- # bw-compat/deprecated. You shouldn't rely on this in new code import ida_idaapi diff --git a/pywraps/py_lines.hpp b/pywraps/py_lines.hpp index f7a930f..1f0640e 100644 --- a/pywraps/py_lines.hpp +++ b/pywraps/py_lines.hpp @@ -21,15 +21,7 @@ static void idaapi s_py_get_user_defined_prefix( // Error? Display it // No error? Copy the buffer if ( !PyW_ShowCbErr("py_get_user_defined_prefix") ) - { - Py_ssize_t py_len; - char *py_str; - if ( PyString_AsStringAndSize(py_ret.o, &py_str, &py_len) != -1 ) - { - buf->qclear(); - buf->append(py_str, py_len); - } - } + IDAPyStr_AsUTF8(buf, py_ret.o); } // @@ -110,7 +102,7 @@ PyObject *py_tag_remove(const char *instr) PYW_GIL_CHECK_LOCKED_SCOPE(); qstring qbuf; tag_remove(&qbuf, instr); - return PyString_FromString(qbuf.c_str()); + return IDAPyStr_FromUTF8(qbuf.c_str()); } //------------------------------------------------------------------------- @@ -119,7 +111,7 @@ PyObject *py_tag_addr(ea_t ea) qstring tag; tag_addr(&tag, ea); PYW_GIL_CHECK_LOCKED_SCOPE(); - return PyString_FromString(tag.begin()); + return IDAPyStr_FromUTF8(tag.begin()); } //------------------------------------------------------------------------- @@ -183,7 +175,7 @@ PyObject *py_generate_disassembly( tag_remove(&qbuf, l); s = qbuf.c_str(); } - PyTuple_SetItem(py_tuple.o, i, PyString_FromString(s)); + PyTuple_SetItem(py_tuple.o, i, IDAPyStr_FromUTF8(s)); } return Py_BuildValue("(iO)", lnnum, py_tuple.o); } diff --git a/pywraps/py_lines.py b/pywraps/py_lines.py index 4ea5402..6d88ab2 100644 --- a/pywraps/py_lines.py +++ b/pywraps/py_lines.py @@ -1,5 +1,6 @@ # import _ida_idaapi +import _ida_lines # ---------------- Color escape sequence defitions ------------------------- COLOR_ADDR_SIZE = 16 if _ida_idaapi.BADADDR == 0xFFFFFFFFFFFFFFFF else 8 diff --git a/pywraps/py_loader.hpp b/pywraps/py_loader.hpp index 584ff79..65d3d7b 100644 --- a/pywraps/py_loader.hpp +++ b/pywraps/py_loader.hpp @@ -27,7 +27,7 @@ static int py_mem2base(PyObject *py_mem, ea_t ea, qoff64_t fpos = -1) char *buf; { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( PyString_AsStringAndSize(py_mem, &buf, &len) == -1 ) + if ( IDAPyBytes_AsMemAndSize(py_mem, &buf, &len) == -1 ) return 0; } @@ -57,7 +57,7 @@ static PyObject *py_load_plugin(const char *name) if ( r == NULL ) Py_RETURN_NONE; else - return PyCObject_FromVoidPtr(r, NULL); + return PyCapsule_New(r, VALID_CAPSULE_NAME, NULL); } //------------------------------------------------------------------------ @@ -75,13 +75,13 @@ def run_plugin(plg): static bool py_run_plugin(PyObject *plg, int arg) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !PyCObject_Check(plg) ) + if ( !PyCapsule_IsValid(plg, VALID_CAPSULE_NAME) ) { return false; } else { - plugin_t *p = (plugin_t *)PyCObject_AsVoidPtr(plg); + plugin_t *p = (plugin_t *) PyCapsule_GetPointer(plg, VALID_CAPSULE_NAME); bool rc; Py_BEGIN_ALLOW_THREADS; rc = run_plugin(p, arg); diff --git a/pywraps/py_lumina.hpp b/pywraps/py_lumina.hpp index 88d9028..7efcc7b 100644 --- a/pywraps/py_lumina.hpp +++ b/pywraps/py_lumina.hpp @@ -24,7 +24,7 @@ PyObject *py_split_metadata(const metadata_t &md) while ( p.next() ) { newref_t py_key(PyInt_FromLong(p.key)); - newref_t py_value(PyString_FromStringAndSize((const char *) p.data, p.size)); + newref_t py_value(IDAPyBytes_FromMemAndSize((const char *) p.data, p.size)); // PyDict_SetItem doesn't "steal" references; hence the 'newref_t's above. PyDict_SetItem(py_dict, py_key.o, py_value.o); } diff --git a/pywraps/py_nalt.hpp b/pywraps/py_nalt.hpp index 1707ca2..2a3a5e9 100644 --- a/pywraps/py_nalt.hpp +++ b/pywraps/py_nalt.hpp @@ -26,7 +26,7 @@ static int idaapi py_import_enum_cb( if ( name == NULL ) py_name = borref_t(Py_None); else - py_name = newref_t(PyString_FromString(name)); + py_name = newref_t(IDAPyStr_FromUTF8(name)); newref_t py_ord(Py_BuildValue(PY_BV_UVAL, bvuval_t(ord))); newref_t py_ea(Py_BuildValue(PY_BV_EA, bvea_t(ea))); @@ -61,7 +61,7 @@ static PyObject *py_get_import_module_name(int mod_index) if ( !get_import_module_name(&qbuf, mod_index) ) Py_RETURN_NONE; - return PyString_FromStringAndSize(qbuf.begin(), qbuf.length()); + return IDAPyStr_FromUTF8AndSize(qbuf.begin(), qbuf.length()); } //------------------------------------------------------------------------- diff --git a/pywraps/py_name.hpp b/pywraps/py_name.hpp index 14fcc38..076e9c2 100644 --- a/pywraps/py_name.hpp +++ b/pywraps/py_name.hpp @@ -20,7 +20,7 @@ PyObject *get_debug_names(ea_t ea1, ea_t ea2, bool return_list=false) PyObject *list = NULL; for ( ea_name_vec_t::iterator it = names.begin(); it != names.end(); ++it ) { - PyObject *name_obj = PyString_FromString(it->name.c_str()); + PyObject *name_obj = IDAPyStr_FromUTF8(it->name.c_str()); if ( it->ea != last_ea ) { if ( return_list ) @@ -49,7 +49,7 @@ PyObject *py_validate_name(const char *name, nametype_t type, int flags=0) { qstring qname(name); if ( validate_name(&qname, type, flags) ) - return PyString_FromStringAndSize(qname.c_str(), qname.length()); + return IDAPyStr_FromUTF8AndSize(qname.c_str(), qname.length()); else Py_RETURN_NONE; } diff --git a/pywraps/py_name.py b/pywraps/py_name.py index 506e013..d180183 100644 --- a/pywraps/py_name.py +++ b/pywraps/py_name.py @@ -17,7 +17,7 @@ class NearestName(object): def update(self, ea_names): """Updates the ea/names map""" self._names = ea_names - self._addrs = ea_names.keys() + self._addrs = list(ea_names.keys()) self._addrs.sort() @@ -44,7 +44,7 @@ class NearestName(object): def __iter__(self): - return (self._get_item(index) for index in xrange(0, len(self._addrs))) + return (self._get_item(index) for index in range(0, len(self._addrs))) def __getitem__(self, index): diff --git a/pywraps/py_pro.hpp b/pywraps/py_pro.hpp index 88c71ed..c7720a1 100644 --- a/pywraps/py_pro.hpp +++ b/pywraps/py_pro.hpp @@ -58,7 +58,7 @@ static PyObject *qstrvec_t_get(PyObject *self, size_t idx) qstrvec_t *sv = qstrvec_t_get_clink(self); if ( sv == NULL || idx >= sv->size() ) Py_RETURN_NONE; - return PyString_FromString(sv->at(idx).c_str()); + return IDAPyStr_FromUTF8(sv->at(idx).c_str()); } static bool qstrvec_t_add(PyObject *self, const char *s) @@ -121,8 +121,10 @@ def str2user(str): */ PyObject *py_str2user(const char *str) { + if ( str == nullptr ) + Py_RETURN_NONE; qstring retstr; qstr2user(&retstr, str); - return PyString_FromString(retstr.c_str()); + return IDAPyStr_FromUTF8(retstr.c_str()); } // diff --git a/pywraps/py_range.py b/pywraps/py_range.py index bf3f205..4de1722 100644 --- a/pywraps/py_range.py +++ b/pywraps/py_range.py @@ -1,4 +1,8 @@ +# +import ida_idaapi +# + # import sys sys.modules["ida_area"] = sys.modules["ida_range"] diff --git a/pywraps/py_registry.hpp b/pywraps/py_registry.hpp index 49c2cea..4ca372b 100644 --- a/pywraps/py_registry.hpp +++ b/pywraps/py_registry.hpp @@ -15,7 +15,7 @@ static PyObject *_py_reg_subkey_children(const char *name, bool subkeys) result = PyList_New(children.size()); if ( result != NULL ) for ( size_t i = 0, n = children.size(); i < n; ++i ) - PyList_SET_ITEM(result, i, PyString_FromString(children[i].c_str())); + PyList_SET_ITEM(result, i, IDAPyStr_FromUTF8(children[i].c_str())); } Py_END_ALLOW_THREADS; if ( result == NULL ) @@ -36,7 +36,7 @@ PyObject *py_reg_read_string(const char *name, const char *subkey = NULL, const if ( !reg_read_string(&utf8, name, subkey) && def != NULL ) utf8 = def; Py_END_ALLOW_THREADS; - return PyString_FromString(utf8.c_str()); + return IDAPyStr_FromUTF8(utf8.c_str()); } //------------------------------------------------------------------------- @@ -60,29 +60,31 @@ PyObject *py_reg_read_binary(const char *name, const char *subkey = NULL) ok = reg_read_binary(name, &bytes, subkey); Py_END_ALLOW_THREADS; if ( ok ) - return PyString_FromStringAndSize((const char *) bytes.begin(), bytes.size()); + return IDAPyBytes_FromMemAndSize((const char *) bytes.begin(), bytes.size()); else Py_RETURN_NONE; } //------------------------------------------------------------------------- -void py_reg_write_binary(const char *name, PyObject *py_bytes, const char *subkey = NULL) +PyObject *py_reg_write_binary(const char *name, PyObject *py_bytes, const char *subkey = NULL) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( PyString_Check(py_bytes) ) + if ( IDAPyBytes_Check(py_bytes) ) { char *py_bytes_raw = NULL; Py_ssize_t py_size = 0; - PyString_AsStringAndSize(py_bytes, &py_bytes_raw, &py_size); + IDAPyBytes_AsMemAndSize(py_bytes, &py_bytes_raw, &py_size); bytevec_t bytes; bytes.append(py_bytes_raw, py_size); Py_BEGIN_ALLOW_THREADS; reg_write_binary(name, bytes.begin(), bytes.size(), subkey); Py_END_ALLOW_THREADS; + Py_RETURN_NONE; } else { PyErr_SetString(PyExc_ValueError, "Bytes string expected!"); + return NULL; } } diff --git a/pywraps/py_segregs.py b/pywraps/py_segregs.py index 698cd15..f53f274 100644 --- a/pywraps/py_segregs.py +++ b/pywraps/py_segregs.py @@ -1,12 +1,15 @@ # import sys +import ida_idaapi sys.modules["ida_srarea"] = sys.modules["ida_segregs"] SetDefaultRegisterValue=set_default_sreg_value copy_srareas=copy_sreg_ranges def ___looks_like_ea_not_segreg(thing): # yay heuristics. Not sure how best to do this... - return (type(thing) == long) or (thing > 0x200) + if thing > 0x200: + return True + return sys.version_info.major < 3 and (type(thing) == long) def del_sreg_range(*args): if ___looks_like_ea_not_segreg(args[1]): # 6.95: rg, ea ea, rg = args[1], args[0] @@ -26,7 +29,6 @@ def get_sreg_range_num(*args): get_srarea_num=get_sreg_range_num get_srareas_qty2=get_sreg_ranges_qty getn_srarea2=getn_sreg_range -import ida_idaapi is_segreg_locked=ida_idaapi._BC695.false_p class lock_segreg: def __init__(): diff --git a/pywraps/py_typeinf.hpp b/pywraps/py_typeinf.hpp index 782286f..ed25aa9 100644 --- a/pywraps/py_typeinf.hpp +++ b/pywraps/py_typeinf.hpp @@ -14,7 +14,7 @@ PyObject *idc_parse_decl(til_t *ti, const char *decl, int flags) PYW_GIL_CHECK_LOCKED_SCOPE(); if ( ok ) - return Py_BuildValue("(sss)", + return Py_BuildValue("(s" PY_BV_TYPE PY_BV_FIELDS ")", name.c_str(), (char *)type.c_str(), (char *)fields.c_str()); @@ -39,11 +39,11 @@ def calc_type_size(ti, tp): PyObject *py_calc_type_size(const til_t *ti, PyObject *tp) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( PyString_Check(tp) ) + if ( IDAPyBytes_Check(tp) ) { // To avoid release of 'data' during Py_BEGIN|END_ALLOW_THREADS section. borref_t tpref(tp); - const type_t *data = (type_t *)PyString_AsString(tp); + const type_t *data = (type_t *)IDAPyBytes_AsString(tp); size_t sz; Py_BEGIN_ALLOW_THREADS; tinfo_t tif; @@ -77,21 +77,21 @@ def apply_type(ti, ea, tp_name, py_type, py_fields, flags) pass # */ -static bool py_apply_type(til_t *ti, PyObject *py_type, PyObject *py_fields, ea_t ea, int flags) +static bool py_apply_type( + til_t *ti, + const bytevec_t &_type, + const bytevec_t &_fields, + ea_t ea, + int flags) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !PyString_Check(py_type) || !PyWStringOrNone_Check(py_fields) ) - { - PyErr_SetString(PyExc_ValueError, "Typestring must be passed!"); - return NULL; - } - const type_t *type = (const type_t *) PyString_AsString(py_type); - const p_list *fields = PyW_Fields(py_fields); + const type_t *type = (const type_t *) _type.begin(); + const p_list *fields = (const p_list *) _fields.begin(); bool rc; Py_BEGIN_ALLOW_THREADS; struc_t *sptr; member_t *mptr = get_member_by_id(ea, &sptr); - if ( type[0] == '\0' ) + if ( type == NULL || type[0] == '\0' ) { if ( mptr != NULL ) { @@ -113,7 +113,7 @@ static bool py_apply_type(til_t *ti, PyObject *py_type, PyObject *py_fields, ea_ if ( rc ) { if ( mptr != NULL ) - rc = set_member_tinfo(sptr, mptr, 0, tif, 0); + rc = set_member_tinfo(sptr, mptr, 0, tif, 0) > SMT_FAILED; else rc = apply_tinfo(ea, tif, flags); } @@ -161,25 +161,14 @@ def py_unpack_object_from_idb(ti, tp, fields, ea, pio_flags = 0): */ PyObject *py_unpack_object_from_idb( til_t *ti, - PyObject *py_type, - PyObject *py_fields, + const bytevec_t &_type, + const bytevec_t &_fields, ea_t ea, int pio_flags = 0) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !PyString_Check(py_type) || !PyWStringOrNone_Check(py_fields) ) - { - PyErr_SetString(PyExc_ValueError, "Typestring must be passed!"); - return NULL; - } - - // To avoid release of 'type'/'fields' during Py_BEGIN|END_ALLOW_THREADS section. - borref_t py_type_ref(py_type); - borref_t py_fields_ref(py_fields); - - // Unpack - const type_t *type = (const type_t *) PyString_AsString(py_type); - const p_list *fields = PyW_Fields(py_fields); + const type_t *type = (const type_t *) _type.begin(); + const p_list *fields = (const p_list *) _fields.begin(); idc_value_t idc_obj; error_t err; Py_BEGIN_ALLOW_THREADS; @@ -229,31 +218,13 @@ def unpack_object_from_bv(ti, tp, fields, bytes, pio_flags = 0): */ PyObject *py_unpack_object_from_bv( til_t *ti, - PyObject *py_type, - PyObject *py_fields, - PyObject *py_bytes, + const bytevec_t &_type, + const bytevec_t &_fields, + const bytevec_t &bytes, int pio_flags = 0) { - PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !PyString_Check(py_type) || !PyWStringOrNone_Check(py_fields) || !PyString_Check(py_bytes) ) - { - PyErr_SetString(PyExc_ValueError, "Incorrect argument type!"); - return NULL; - } - - // To avoid release of 'type'/'fields' during Py_BEGIN|END_ALLOW_THREADS section. - borref_t py_type_ref(py_type); - borref_t py_fields_ref(py_fields); - - // Get type strings - const type_t *type = (const type_t *) PyString_AsString(py_type); - const p_list *fields = PyW_Fields(py_fields); - - // Make a byte vector - bytevec_t bytes; - bytes.resize(PyString_Size(py_bytes)); - memcpy(bytes.begin(), PyString_AsString(py_bytes), bytes.size()); - + const type_t *type = (const type_t *) _type.begin(); + const p_list *fields = (const p_list *) _fields.begin(); idc_value_t idc_obj; error_t err; Py_BEGIN_ALLOW_THREADS; @@ -301,17 +272,12 @@ def pack_object_to_idb(obj, ti, tp, fields, ea, pio_flags = 0): PyObject *py_pack_object_to_idb( PyObject *py_obj, til_t *ti, - PyObject *py_type, - PyObject *py_fields, + const bytevec_t &_type, + const bytevec_t &_fields, ea_t ea, int pio_flags = 0) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !PyString_Check(py_type) || !PyWStringOrNone_Check(py_fields) ) - { - PyErr_SetString(PyExc_ValueError, "Typestring must be passed!"); - return NULL; - } // Convert Python object to IDC object idc_value_t idc_obj; @@ -319,13 +285,8 @@ PyObject *py_pack_object_to_idb( if ( !pyvar_to_idcvar_or_error(py_obj_ref, &idc_obj) ) return NULL; - // To avoid release of 'type'/'fields' during Py_BEGIN|END_ALLOW_THREADS section. - borref_t py_type_ref(py_type); - borref_t py_fields_ref(py_fields); - - // Get type strings - const type_t *type = (const type_t *)PyString_AsString(py_type); - const p_list *fields = PyW_Fields(py_fields); + const type_t *type = (const type_t *) _type.begin(); + const p_list *fields = (const p_list *) _fields.begin(); // Pack // error_t err; @@ -360,17 +321,12 @@ def pack_object_to_bv(obj, ti, tp, fields, base_ea, pio_flags = 0): PyObject *py_pack_object_to_bv( PyObject *py_obj, til_t *ti, - PyObject *py_type, - PyObject *py_fields, + const bytevec_t &_type, + const bytevec_t &_fields, ea_t base_ea, int pio_flags=0) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !PyString_Check(py_type) || !PyWStringOrNone_Check(py_fields) ) - { - PyErr_SetString(PyExc_ValueError, "Typestring must be passed!"); - return NULL; - } // Convert Python object to IDC object idc_value_t idc_obj; @@ -378,13 +334,8 @@ PyObject *py_pack_object_to_bv( if ( !pyvar_to_idcvar_or_error(py_obj_ref, &idc_obj) ) return NULL; - // To avoid release of 'type'/'fields' during Py_BEGIN|END_ALLOW_THREADS section. - borref_t py_type_ref(py_type); - borref_t py_fields_ref(py_fields); - - // Get type strings - const type_t *type = (const type_t *)PyString_AsString(py_type); - const p_list *fields = PyW_Fields(py_fields); + const type_t *type = (const type_t *) _type.begin(); + const p_list *fields = (const p_list *) _fields.begin(); // Pack relobj_t bytes; @@ -402,7 +353,7 @@ PyObject *py_pack_object_to_bv( err = -1; Py_END_ALLOW_THREADS; if ( err == eOk ) - return Py_BuildValue("(is#)", 1, bytes.begin(), bytes.size()); + return Py_BuildValue("(i" PY_BV_BYTES "#)", 1, bytes.begin(), bytes.size()); else return Py_BuildValue("(ii)", 0, err); } @@ -433,7 +384,7 @@ PyObject *py_idc_get_type_raw(ea_t ea) ok = tif.serialize(&type, &fields, NULL, SUDT_FAST); PYW_GIL_CHECK_LOCKED_SCOPE(); if ( ok ) - return Py_BuildValue("(ss)", (char *)type.c_str(), (char *)fields.c_str()); + return Py_BuildValue("(" PY_BV_TYPE PY_BV_FIELDS ")", (char *)type.c_str(), (char *)fields.c_str()); else Py_RETURN_NONE; } @@ -446,7 +397,7 @@ PyObject *py_idc_get_local_type_raw(int ordinal) bool ok = get_numbered_type(NULL, ordinal, &type, &fields); PYW_GIL_CHECK_LOCKED_SCOPE(); if ( ok ) - return Py_BuildValue("(ss)", (char *)type, (char *)fields); + return Py_BuildValue("(" PY_BV_TYPE PY_BV_FIELDS ")", (char *)type, (char *)fields); Py_RETURN_NONE; } @@ -532,22 +483,16 @@ int idc_get_local_type(int ordinal, int flags, char *buf, size_t maxsize) } //------------------------------------------------------------------------- -PyObject *idc_print_type(PyObject *py_type, PyObject *py_fields, const char *name, int flags) +PyObject *idc_print_type( + const bytevec_t &_type, + const bytevec_t &_fields, + const char *name, + int flags) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !PyString_Check(py_type) || !PyWStringOrNone_Check(py_fields) ) - { - PyErr_SetString(PyExc_ValueError, "Typestring must be passed!"); - return NULL; - } - - // To avoid release of 'type'/'fields' during Py_BEGIN|END_ALLOW_THREADS section. - borref_t py_type_ref(py_type); - borref_t py_fields_ref(py_fields); - qstring res; - const type_t *type = (type_t *)PyString_AsString(py_type); - const p_list *fields = PyW_Fields(py_fields); + const type_t *type = (const type_t *) _type.begin(); + const p_list *fields = (const p_list *) _fields.begin(); bool ok; Py_BEGIN_ALLOW_THREADS; tinfo_t tif; @@ -555,7 +500,7 @@ PyObject *idc_print_type(PyObject *py_type, PyObject *py_fields, const char *nam && tif.print(&res, name, flags, 2, 40); Py_END_ALLOW_THREADS; if ( ok ) - return PyString_FromString(res.begin()); + return IDAPyStr_FromUTF8(res.begin()); else Py_RETURN_NONE; } @@ -615,10 +560,10 @@ PyObject *py_get_named_type(const til_t *til, const char *name, int ntf_flags) } while ( false ) ADD(PyInt_FromLong(long(code))); - ADD(PyString_FromString((const char *) type)); - ADD_OR_NONE(fields != NULL, PyString_FromString((const char *) fields)); - ADD_OR_NONE(cmt != NULL, PyString_FromString(cmt)); - ADD_OR_NONE(field_cmts != NULL, PyString_FromString((const char *) field_cmts)); + ADD(IDAPyBytes_FromMem((const char *) type)); + ADD_OR_NONE(fields != NULL, IDAPyBytes_FromMem((const char *) fields)); + ADD_OR_NONE(cmt != NULL, IDAPyStr_FromUTF8(cmt)); + ADD_OR_NONE(field_cmts != NULL, IDAPyStr_FromUTF8((const char *) field_cmts)); ADD(PyInt_FromLong(long(sclass))); if ( (ntf_flags & NTF_64BIT) != 0 ) ADD(PyLong_FromUnsignedLongLong(value)); @@ -636,12 +581,12 @@ PyObject *py_get_named_type64(const til_t *til, const char *name, int ntf_flags) } //------------------------------------------------------------------------- -int py_print_decls(text_sink_t &printer, til_t *til, PyObject *py_ordinals, uint32 flags) +PyObject *py_print_decls(text_sink_t &printer, til_t *til, PyObject *py_ordinals, uint32 flags) { if ( !PyList_Check(py_ordinals) ) { PyErr_SetString(PyExc_ValueError, "'ordinals' must be a list"); - return 0; + return NULL; } Py_ssize_t nords = PyList_Size(py_ordinals); @@ -650,38 +595,17 @@ int py_print_decls(text_sink_t &printer, til_t *til, PyObject *py_ordinals, uint for ( Py_ssize_t i = 0; i < nords; ++i ) { borref_t item(PyList_GetItem(py_ordinals, i)); - if ( item == NULL - || (!PyInt_Check(item.o) && !PyLong_Check(item.o)) ) + if ( item == NULL || !IDAPyIntOrLong_Check(item.o) ) { qstring msg; msg.sprnt("ordinals[%d] is not a valid value", int(i)); PyErr_SetString(PyExc_ValueError, msg.begin()); - return 0; + return NULL; } - uint32 ord = PyInt_Check(item.o) ? PyInt_AsLong(item.o) : PyLong_AsLong(item.o); + uint32 ord = IDAPyIntOrLong_AsLong(item.o); ordinals.push_back(ord); } - return print_decls(printer, til, ordinals.empty() ? NULL : &ordinals, flags); -} - -//------------------------------------------------------------------------- -til_t *py_load_til(const char *name, const char *tildir) -{ - qstring errbuf; - til_t *res = load_til(name, &errbuf, tildir); - if ( res == NULL ) - PyErr_SetString(PyExc_RuntimeError, errbuf.c_str()); - return res; -} - -//------------------------------------------------------------------------- -til_t *py_load_til_header(const char *tildir, const char *name) -{ - qstring errbuf; - til_t *res = load_til_header(tildir, name, &errbuf); - if ( res == NULL ) - PyErr_SetString(PyExc_RuntimeError, errbuf.c_str()); - return res; + return IDAPyInt_FromLong(print_decls(printer, til, ordinals.empty() ? NULL : &ordinals, flags)); } #ifdef BC695 @@ -707,7 +631,7 @@ static PyObject *py_get_numbered_type(const til_t *til, uint32 ordinal) const p_list *fieldcmts; sclass_t sclass; if ( get_numbered_type(til, ordinal, &type, &fields, &cmt, &fieldcmts, &sclass) ) - return Py_BuildValue("(ssssi)", type, fields, cmt, fieldcmts, sclass); + return Py_BuildValue("(" PY_BV_TYPE PY_BV_FIELDS "ssi)", type, fields, cmt, fieldcmts, sclass); else Py_RETURN_NONE; } @@ -715,12 +639,6 @@ static PyObject *py_get_numbered_type(const til_t *til, uint32 ordinal) // // -//------------------------------------------------------------------------- -inline const p_list * PyW_Fields(PyObject *tp) -{ - return tp == Py_None ? NULL : (const p_list *) PyString_AsString(tp); -} - //------------------------------------------------------------------------- // tuple(type_str, fields_str, field_cmts) on success static PyObject *py_tinfo_t_serialize( @@ -739,7 +657,7 @@ static PyObject *py_tinfo_t_serialize( if ( (Thing).empty() ) \ Py_INCREF(Py_None); \ else \ - o = PyString_FromString((const char *) (Thing).begin()); \ + o = IDAPyBytes_FromMem((const char *) (Thing).begin()); \ PyTuple_SetItem(tuple, ctr, o); \ ++ctr; \ } while ( false ) diff --git a/pywraps/py_typeinf.py b/pywraps/py_typeinf.py index 40b5556..0fc85ac 100644 --- a/pywraps/py_typeinf.py +++ b/pywraps/py_typeinf.py @@ -18,7 +18,7 @@ def add_til(name, flags=0): return _ida_typeinf.add_til(name, flags) add_til2=add_til def apply_decl(arg0, arg1, arg2=None, arg3=0): - if type(arg0) in [int, long]: # old apply_cdecl() + if type(arg0) in ida_idaapi.integer_types: # old apply_cdecl() return _ida_typeinf.apply_cdecl(cvar.idati, arg0, arg1, 0) else: assert(arg2 is not None) diff --git a/pywraps/py_xref.hpp b/pywraps/py_xref.hpp index cfbc175..07f4a8d 100644 --- a/pywraps/py_xref.hpp +++ b/pywraps/py_xref.hpp @@ -49,11 +49,11 @@ def calc_switch_cases(ea, si): The returned information can be used as follows: - for idx in xrange(len(results.cases)): + for idx in range(len(results.cases)): cur_case = results.cases[idx] - for cidx in xrange(len(cur_case)): - print "case: %d" % cur_case[cidx] - print " goto 0x%x" % results.targets[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 diff --git a/pywraps/pywraps.vcproj b/pywraps/pywraps.vcproj index a8b52e8..82f0e20 100644 --- a/pywraps/pywraps.vcproj +++ b/pywraps/pywraps.vcproj @@ -1822,18 +1822,6 @@ - - - - - - diff --git a/pywraps/sidc.py b/pywraps/sidc.py index 8c65e6a..383d0ce 100644 --- a/pywraps/sidc.py +++ b/pywraps/sidc.py @@ -58,9 +58,9 @@ o_idpspec5 = 13 # Processor specific type dt_byte = 0 # 8 bit dt_word = 1 # 16 bit dt_dword = 2 # 32 bit -dt_float = 3 # 4 byte -dt_double = 4 # 8 byte -dt_tbyte = 5 # variable size (ph.tbyte_size) +dt_float = 3 # 4 byte floating point +dt_double = 4 # 8 byte floating point +dt_tbyte = 5 # variable size (ph.tbyte_size) floating point dt_packreal = 6 # packed real format for mc68040 dt_qword = 7 # 64 bit dt_byte16 = 8 # 128 bit @@ -73,6 +73,7 @@ dt_unicode = 14 # pointer to unicode string dt_ldbl = 15 # long double (which may be different from tbyte) dt_byte32 = 16 # 256 bit dt_byte64 = 17 # 512 bit +dt_half = 18 # 2 byte floating point # # op_t.flags @@ -276,7 +277,7 @@ class insn_t(object): self.n = noperands # create operands - for i in xrange(0, noperands): + for i in range(0, noperands): op = op_t() op.n = i self.ops.append(op) diff --git a/pywraps/swig_stub.cpp b/pywraps/swig_stub.cpp deleted file mode 100644 index e44b86b..0000000 --- a/pywraps/swig_stub.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include "swig_stub.h" - -PyObject *SWIG_NewPointerObj(void *ptr, void *type, int flags) -{ - return PyCObject_FromVoidPtr(ptr, NULL); -} diff --git a/pywraps/swig_stub.h b/pywraps/swig_stub.h deleted file mode 100644 index 4752aeb..0000000 --- a/pywraps/swig_stub.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef __SWIG_STUB__ -#define __SWIG_STUB__ - -#include - -#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) - -PyObject *SWIG_NewPointerObj(void *ptr, void *type, int flags); - -namespace Swig -{ - class DirectorException - { - public: - const char *getMessage() const - { - return "NULL"; - } - }; -} - -// Some fake SWIG types -#define SWIGTYPE_p_member_t NULL - -#endif diff --git a/release_api_contents.txt b/release_api_contents2.txt similarity index 99% rename from release_api_contents.txt rename to release_api_contents2.txt index fbf68d6..83cdb30 100644 --- a/release_api_contents.txt +++ b/release_api_contents2.txt @@ -202,6 +202,7 @@ 'IDP_Hooks_ev_get_autocmt', 'IDP_Hooks_ev_get_bg_color', 'IDP_Hooks_ev_get_cc_regs', + 'IDP_Hooks_ev_get_code16_mode', 'IDP_Hooks_ev_get_dbr_opnum', 'IDP_Hooks_ev_get_default_enum_size', 'IDP_Hooks_ev_get_frame_retsize', @@ -255,6 +256,7 @@ 'IDP_Hooks_ev_realcvt', 'IDP_Hooks_ev_rename', 'IDP_Hooks_ev_replaying_undo', + 'IDP_Hooks_ev_set_code16_mode', 'IDP_Hooks_ev_set_idp_options', 'IDP_Hooks_ev_set_proc_options', 'IDP_Hooks_ev_setup_til', @@ -373,11 +375,11 @@ 'action_ctx_base_t_cur_value_set', 'action_ctx_base_t_focus_get', 'action_ctx_base_t_focus_set', + 'action_ctx_base_t_graph_selection_get', + 'action_ctx_base_t_graph_selection_set', 'action_ctx_base_t_has_flag', 'action_ctx_base_t_regname_get', 'action_ctx_base_t_regname_set', - 'action_ctx_base_t_reserved_get', - 'action_ctx_base_t_reserved_set', 'action_ctx_base_t_reset', 'action_ctx_base_t_widget_get', 'action_ctx_base_t_widget_set', @@ -528,6 +530,8 @@ 'argloc_t_is_rrel', 'argloc_t_is_scattered', 'argloc_t_is_stkoff', + 'argloc_t_justify_reg_high', + 'argloc_t_justify_stkoff_right', 'argloc_t_reg1', 'argloc_t_reg2', 'argloc_t_regoff', @@ -1418,6 +1422,23 @@ 'ccases_t___lt__', 'ccases_t___ne__', 'ccases_t_compare', + 'cdg_insn_iterator_t_dslot_get', + 'cdg_insn_iterator_t_dslot_insn_get', + 'cdg_insn_iterator_t_dslot_insn_set', + 'cdg_insn_iterator_t_dslot_set', + 'cdg_insn_iterator_t_dslot_with_xrefs', + 'cdg_insn_iterator_t_ea_get', + 'cdg_insn_iterator_t_ea_set', + 'cdg_insn_iterator_t_end_get', + 'cdg_insn_iterator_t_end_set', + 'cdg_insn_iterator_t_has_dslot', + 'cdg_insn_iterator_t_is_likely_dslot_get', + 'cdg_insn_iterator_t_is_likely_dslot_set', + 'cdg_insn_iterator_t_is_separate_dslot_get', + 'cdg_insn_iterator_t_is_separate_dslot_set', + 'cdg_insn_iterator_t_next', + 'cdg_insn_iterator_t_ok', + 'cdg_insn_iterator_t_start', 'cdo_t___eq__', 'cdo_t___ge__', 'cdo_t___gt__', @@ -1600,6 +1621,7 @@ 'cfunc_t_user_unions_set', 'cfunc_t_verify', 'cfuncptr_t___deref__', + 'cfuncptr_t___ptrval__', 'cfuncptr_t___ref__', 'cfuncptr_t___str__', 'cfuncptr_t_argidx_get', @@ -1740,6 +1762,7 @@ 'choose_get_widget', 'choose_idasgn', 'choose_local_tinfo', + 'choose_local_tinfo_and_delta', 'choose_name', 'choose_named_type', 'choose_refresh', @@ -1959,6 +1982,8 @@ 'codegen_t_gen_micro', 'codegen_t_ignore_micro_get', 'codegen_t_ignore_micro_set', + 'codegen_t_ii_get', + 'codegen_t_ii_set', 'codegen_t_insn_get', 'codegen_t_insn_set', 'codegen_t_load_operand', @@ -2389,6 +2414,7 @@ 'delete_cblock_t', 'delete_ccase_t', 'delete_ccases_t', + 'delete_cdg_insn_iterator_t', 'delete_cdo_t', 'delete_ceinsn_t', 'delete_cexpr_t', @@ -3234,13 +3260,13 @@ 'func_item_iterator_decode_prev_insn', 'func_item_iterator_next', 'func_item_iterator_prev', + 'func_item_iterator_t___next__', 'func_item_iterator_t_chunk', 'func_item_iterator_t_current', 'func_item_iterator_t_decode_preceding_insn', 'func_item_iterator_t_decode_prev_insn', 'func_item_iterator_t_first', 'func_item_iterator_t_last', - 'func_item_iterator_t_next', 'func_item_iterator_t_next_addr', 'func_item_iterator_t_next_code', 'func_item_iterator_t_next_data', @@ -3255,9 +3281,9 @@ 'func_item_iterator_t_set', 'func_item_iterator_t_set_range', 'func_parent_iterator_set', + 'func_parent_iterator_t___next__', 'func_parent_iterator_t_first', 'func_parent_iterator_t_last', - 'func_parent_iterator_t_next', 'func_parent_iterator_t_parent', 'func_parent_iterator_t_prev', 'func_parent_iterator_t_reset_fnt', @@ -3312,11 +3338,11 @@ 'func_t_tails_set', 'func_tail_iterator_set', 'func_tail_iterator_set_ea', + 'func_tail_iterator_t___next__', 'func_tail_iterator_t_chunk', 'func_tail_iterator_t_first', 'func_tail_iterator_t_last', 'func_tail_iterator_t_main', - 'func_tail_iterator_t_next', 'func_tail_iterator_t_prev', 'func_tail_iterator_t_set', 'func_tail_iterator_t_set_ea', @@ -3478,6 +3504,7 @@ 'get_compiler_abbr', 'get_compiler_name', 'get_compilers', + 'get_cp_validity', 'get_ctype_name', 'get_curline', 'get_current_idasgn', @@ -3495,6 +3522,7 @@ 'get_custom_data_types', 'get_custom_refinfo', 'get_custom_viewer_curline', + 'get_custom_viewer_location', 'get_custom_viewer_place', 'get_data_elsize', 'get_data_value', @@ -3545,6 +3573,7 @@ 'get_enum_member_serial', 'get_enum_member_value', 'get_enum_name', + 'get_enum_name2', 'get_enum_qty', 'get_enum_size', 'get_enum_type_ordinal', @@ -4209,6 +4238,7 @@ 'idc_parse_types', 'idc_print_type', 'idc_set_local_type', + 'idc_value_t___get_e', 'idc_value_t__create_empty_string', 'idc_value_t_c_str', 'idc_value_t_clear', @@ -4411,6 +4441,7 @@ 'inf_handle_rtti', 'inf_hide_comments', 'inf_hide_libfuncs', + 'inf_huge_arg_align', 'inf_inc_database_change_count', 'inf_is_32bit', 'inf_is_64bit', @@ -4443,6 +4474,7 @@ 'inf_prefix_show_funcoff', 'inf_prefix_show_segaddr', 'inf_prefix_show_stack', + 'inf_prefix_truncate_opcode_bytes', 'inf_propagate_regargs', 'inf_propagate_stkargs', 'inf_readonly_idb', @@ -4520,6 +4552,7 @@ 'inf_set_hide_comments', 'inf_set_hide_libfuncs', 'inf_set_highoff', + 'inf_set_huge_arg_align', 'inf_set_indent', 'inf_set_kernel_mode', 'inf_set_lenxref', @@ -4560,6 +4593,7 @@ 'inf_set_prefix_show_funcoff', 'inf_set_prefix_show_segaddr', 'inf_set_prefix_show_stack', + 'inf_set_prefix_truncate_opcode_bytes', 'inf_set_privrange', 'inf_set_privrange_end_ea', 'inf_set_privrange_start_ea', @@ -4839,6 +4873,7 @@ 'is_float', 'is_float0', 'is_float1', + 'is_floating_dtype', 'is_flow', 'is_fltnum', 'is_forced_operand', @@ -5106,7 +5141,7 @@ 'loader_input_t_close', 'loader_input_t_file2base', 'loader_input_t_filename', - 'loader_input_t_from_cobject', + 'loader_input_t_from_capsule', 'loader_input_t_from_fp', 'loader_input_t_from_linput', 'loader_input_t_get_char', @@ -5265,6 +5300,7 @@ 'lvar_saved_info_t___ne__', 'lvar_saved_info_t_clear_keep', 'lvar_saved_info_t_clr_forced_lvar', + 'lvar_saved_info_t_clr_nomap_lvar', 'lvar_saved_info_t_clr_noptr_lvar', 'lvar_saved_info_t_cmt_get', 'lvar_saved_info_t_cmt_set', @@ -5273,6 +5309,7 @@ 'lvar_saved_info_t_has_info', 'lvar_saved_info_t_is_forced_lvar', 'lvar_saved_info_t_is_kept', + 'lvar_saved_info_t_is_nomap_lvar', 'lvar_saved_info_t_is_noptr_lvar', 'lvar_saved_info_t_ll_get', 'lvar_saved_info_t_ll_set', @@ -5280,6 +5317,7 @@ 'lvar_saved_info_t_name_set', 'lvar_saved_info_t_set_forced_lvar', 'lvar_saved_info_t_set_keep', + 'lvar_saved_info_t_set_nomap_lvar', 'lvar_saved_info_t_set_noptr_lvar', 'lvar_saved_info_t_size_get', 'lvar_saved_info_t_size_set', @@ -5329,6 +5367,7 @@ 'lvar_t_append_list', 'lvar_t_clear_used', 'lvar_t_clr_arg_var', + 'lvar_t_clr_automapped', 'lvar_t_clr_dummy_arg', 'lvar_t_clr_fake_var', 'lvar_t_clr_floating_var', @@ -5359,6 +5398,7 @@ 'lvar_t_has_user_type', 'lvar_t_is_aliasable', 'lvar_t_is_arg_var', + 'lvar_t_is_automapped', 'lvar_t_is_dummy_arg', 'lvar_t_is_fake_var', 'lvar_t_is_floating_var', @@ -5375,6 +5415,7 @@ 'lvar_t_name_get', 'lvar_t_name_set', 'lvar_t_set_arg_var', + 'lvar_t_set_automapped', 'lvar_t_set_dummy_arg', 'lvar_t_set_fake_var', 'lvar_t_set_final_lvar_type', @@ -5542,7 +5583,6 @@ 'mbl_array_t_graph_insns', 'mbl_array_t_has_bad_sp', 'mbl_array_t_has_over_chains', - 'mbl_array_t_has_overvars', 'mbl_array_t_has_passregs', 'mbl_array_t_idaloc2vd', 'mbl_array_t_idb_node_get', @@ -5815,6 +5855,8 @@ 'mcallinfo_t_dstr', 'mcallinfo_t_flags_get', 'mcallinfo_t_flags_set', + 'mcallinfo_t_fti_attrs_get', + 'mcallinfo_t_fti_attrs_set', 'mcallinfo_t_get_type', 'mcallinfo_t_is_vararg', 'mcallinfo_t_lexcompare', @@ -6018,6 +6060,7 @@ 'minsn_t_is_ignlowsrc', 'minsn_t_is_inverted_jx', 'minsn_t_is_like_move', + 'minsn_t_is_mbarrier', 'minsn_t_is_memcpy', 'minsn_t_is_memset', 'minsn_t_is_mov', @@ -6054,6 +6097,7 @@ 'minsn_t_set_fpinsn', 'minsn_t_set_ignlowsrc', 'minsn_t_set_inverted_jx', + 'minsn_t_set_mbarrier', 'minsn_t_set_multimov', 'minsn_t_set_noret_icall', 'minsn_t_set_optional', @@ -6122,6 +6166,7 @@ 'mnumber_t_update_value', 'mnumber_t_value_get', 'mnumber_t_value_set', + 'modify_user_lvar_info', 'modify_user_lvars', 'modinfo_t_base_get', 'modinfo_t_base_set', @@ -6205,6 +6250,7 @@ 'mop_t_create_from_vdloc', 'mop_t_double_size', 'mop_t_dstr', + 'mop_t_empty', 'mop_t_equal_mops', 'mop_t_erase', 'mop_t_erase_but_keep_size', @@ -6217,6 +6263,7 @@ 'mop_t_get_stkvar', 'mop_t_has_side_effects', 'mop_t_is01', + 'mop_t_is_arglist', 'mop_t_is_bit_reg', 'mop_t_is_bit_reg__SWIG_0', 'mop_t_is_bit_reg__SWIG_1', @@ -6611,6 +6658,9 @@ 'new_cblock_t', 'new_ccase_t', 'new_ccases_t', + 'new_cdg_insn_iterator_t', + 'new_cdg_insn_iterator_t__SWIG_0', + 'new_cdg_insn_iterator_t__SWIG_1', 'new_cdo_t', 'new_ceinsn_t', 'new_cexpr_t', @@ -7505,6 +7555,7 @@ 'place_t_clone', 'place_t_compare', 'place_t_copyfrom', + 'place_t_deserialize', 'place_t_ending', 'place_t_enter', 'place_t_generate', @@ -7517,6 +7568,7 @@ 'place_t_next', 'place_t_prev', 'place_t_rebase', + 'place_t_serialize', 'place_t_toea', 'place_t_touval', 'plan_and_wait', @@ -7616,11 +7668,17 @@ 'print_tinfo', 'print_type', 'print_vdloc', + 'printop_t_aflags_get', + 'printop_t_aflags_set', + 'printop_t_features_get', + 'printop_t_features_set', 'printop_t_flags_get', 'printop_t_flags_set', 'printop_t_get_ti', - 'printop_t_is_ti_valid_get', - 'printop_t_is_ti_valid_set', + 'printop_t_is_aflags_initialized', + 'printop_t_is_ti_initialized', + 'printop_t_set_aflags_initialized', + 'printop_t_set_ti_initialized', 'printop_t_suspop_get', 'printop_t_suspop_set', 'printop_t_ti_get', @@ -7701,15 +7759,9 @@ 'pyg_select_node', 'pyg_show', 'pygc_create_groups', - 'pygc_del_nodes_infos', 'pygc_delete_groups', - 'pygc_get_current_renderer_type', - 'pygc_get_node_info', 'pygc_refresh', - 'pygc_set_current_renderer_type', 'pygc_set_groups_visibility', - 'pygc_set_node_info', - 'pygc_set_nodes_infos', 'pyidag_bind', 'pyidag_unbind', 'pyscv_add_line', @@ -7744,7 +7796,7 @@ 'qfile_t_close', 'qfile_t_filename', 'qfile_t_flush', - 'qfile_t_from_cobject', + 'qfile_t_from_capsule', 'qfile_t_from_fp', 'qfile_t_get_char', 'qfile_t_get_fp', @@ -7811,8 +7863,8 @@ 'qlist_cinsn_t_insert__SWIG_3', 'qlist_cinsn_t_iterator___eq__', 'qlist_cinsn_t_iterator___ne__', + 'qlist_cinsn_t_iterator___next__', 'qlist_cinsn_t_iterator_cur_get', - 'qlist_cinsn_t_iterator_next', 'qlist_cinsn_t_pop_back', 'qlist_cinsn_t_pop_front', 'qlist_cinsn_t_push_back', @@ -8890,7 +8942,6 @@ 'show_auto', 'show_name', 'show_wait_box', - 'show_wait_box__varargs__', 'simd_info_t_match_pattern', 'simd_info_t_memtype_get', 'simd_info_t_memtype_set', @@ -9179,6 +9230,7 @@ 'switch_info_t_regdtype_set', 'switch_info_t_regnum_get', 'switch_info_t_regnum_set', + 'switch_info_t_set_elbase', 'switch_info_t_set_expr', 'switch_info_t_set_jtable_element_size', 'switch_info_t_set_jtable_size', @@ -10423,4 +10475,4 @@ 'xreflist_t_swap', 'xreflist_t_truncate', 'yword_flag', - 'zword_flag']} + 'zword_flag']} \ No newline at end of file diff --git a/release_api_contents3.txt b/release_api_contents3.txt new file mode 100644 index 0000000..e2f1d80 --- /dev/null +++ b/release_api_contents3.txt @@ -0,0 +1,10482 @@ +{'functions': ['AssembleLine', + 'DBG_Hooks_dbg_bpt', + 'DBG_Hooks_dbg_bpt_changed', + 'DBG_Hooks_dbg_exception', + 'DBG_Hooks_dbg_finished_loading_bpts', + 'DBG_Hooks_dbg_information', + 'DBG_Hooks_dbg_library_load', + 'DBG_Hooks_dbg_library_unload', + 'DBG_Hooks_dbg_process_attach', + 'DBG_Hooks_dbg_process_detach', + 'DBG_Hooks_dbg_process_exit', + 'DBG_Hooks_dbg_process_start', + 'DBG_Hooks_dbg_request_error', + 'DBG_Hooks_dbg_run_to', + 'DBG_Hooks_dbg_started_loading_bpts', + 'DBG_Hooks_dbg_step_into', + 'DBG_Hooks_dbg_step_over', + 'DBG_Hooks_dbg_step_until_ret', + 'DBG_Hooks_dbg_suspend_process', + 'DBG_Hooks_dbg_thread_exit', + 'DBG_Hooks_dbg_thread_start', + 'DBG_Hooks_dbg_trace', + 'DBG_Hooks_hook', + 'DBG_Hooks_unhook', + 'Hexrays_Hooks_close_pseudocode', + 'Hexrays_Hooks_cmt_changed', + 'Hexrays_Hooks_combine', + 'Hexrays_Hooks_create_hint', + 'Hexrays_Hooks_curpos', + 'Hexrays_Hooks_double_click', + 'Hexrays_Hooks_flowchart', + 'Hexrays_Hooks_func_printed', + 'Hexrays_Hooks_glbopt', + 'Hexrays_Hooks_hook', + 'Hexrays_Hooks_interr', + 'Hexrays_Hooks_keyboard', + 'Hexrays_Hooks_locopt', + 'Hexrays_Hooks_lvar_cmt_changed', + 'Hexrays_Hooks_lvar_mapping_changed', + 'Hexrays_Hooks_lvar_name_changed', + 'Hexrays_Hooks_lvar_type_changed', + 'Hexrays_Hooks_maturity', + 'Hexrays_Hooks_microcode', + 'Hexrays_Hooks_open_pseudocode', + 'Hexrays_Hooks_populating_popup', + 'Hexrays_Hooks_prealloc', + 'Hexrays_Hooks_preoptimized', + 'Hexrays_Hooks_print_func', + 'Hexrays_Hooks_prolog', + 'Hexrays_Hooks_refresh_pseudocode', + 'Hexrays_Hooks_resolve_stkaddrs', + 'Hexrays_Hooks_right_click', + 'Hexrays_Hooks_stkpnts', + 'Hexrays_Hooks_structural', + 'Hexrays_Hooks_switch_pseudocode', + 'Hexrays_Hooks_text_ready', + 'Hexrays_Hooks_unhook', + 'IDB_Hooks_allsegs_moved', + 'IDB_Hooks_auto_empty', + 'IDB_Hooks_auto_empty_finally', + 'IDB_Hooks_bookmark_changed', + 'IDB_Hooks_byte_patched', + 'IDB_Hooks_callee_addr_changed', + 'IDB_Hooks_changing_cmt', + 'IDB_Hooks_changing_enum_bf', + 'IDB_Hooks_changing_enum_cmt', + 'IDB_Hooks_changing_op_ti', + 'IDB_Hooks_changing_op_type', + 'IDB_Hooks_changing_range_cmt', + 'IDB_Hooks_changing_segm_class', + 'IDB_Hooks_changing_segm_end', + 'IDB_Hooks_changing_segm_name', + 'IDB_Hooks_changing_segm_start', + 'IDB_Hooks_changing_struc_align', + 'IDB_Hooks_changing_struc_cmt', + 'IDB_Hooks_changing_struc_member', + 'IDB_Hooks_changing_ti', + 'IDB_Hooks_closebase', + 'IDB_Hooks_cmt_changed', + 'IDB_Hooks_compiler_changed', + 'IDB_Hooks_deleting_enum', + 'IDB_Hooks_deleting_enum_member', + 'IDB_Hooks_deleting_func', + 'IDB_Hooks_deleting_func_tail', + 'IDB_Hooks_deleting_segm', + 'IDB_Hooks_deleting_struc', + 'IDB_Hooks_deleting_struc_member', + 'IDB_Hooks_deleting_tryblks', + 'IDB_Hooks_destroyed_items', + 'IDB_Hooks_determined_main', + 'IDB_Hooks_enum_bf_changed', + 'IDB_Hooks_enum_cmt_changed', + 'IDB_Hooks_enum_created', + 'IDB_Hooks_enum_deleted', + 'IDB_Hooks_enum_member_created', + 'IDB_Hooks_enum_member_deleted', + 'IDB_Hooks_enum_renamed', + 'IDB_Hooks_expanding_struc', + 'IDB_Hooks_extlang_changed', + 'IDB_Hooks_extra_cmt_changed', + 'IDB_Hooks_flow_chart_created', + 'IDB_Hooks_frame_deleted', + 'IDB_Hooks_func_added', + 'IDB_Hooks_func_noret_changed', + 'IDB_Hooks_func_tail_appended', + 'IDB_Hooks_func_tail_deleted', + 'IDB_Hooks_func_updated', + 'IDB_Hooks_hook', + 'IDB_Hooks_idasgn_loaded', + 'IDB_Hooks_item_color_changed', + 'IDB_Hooks_kernel_config_loaded', + 'IDB_Hooks_loader_finished', + 'IDB_Hooks_local_types_changed', + 'IDB_Hooks_make_code', + 'IDB_Hooks_make_data', + 'IDB_Hooks_op_ti_changed', + 'IDB_Hooks_op_type_changed', + 'IDB_Hooks_range_cmt_changed', + 'IDB_Hooks_renamed', + 'IDB_Hooks_renaming_enum', + 'IDB_Hooks_renaming_struc', + 'IDB_Hooks_renaming_struc_member', + 'IDB_Hooks_savebase', + 'IDB_Hooks_segm_added', + 'IDB_Hooks_segm_attrs_updated', + 'IDB_Hooks_segm_class_changed', + 'IDB_Hooks_segm_deleted', + 'IDB_Hooks_segm_end_changed', + 'IDB_Hooks_segm_moved', + 'IDB_Hooks_segm_name_changed', + 'IDB_Hooks_segm_start_changed', + 'IDB_Hooks_set_func_end', + 'IDB_Hooks_set_func_start', + 'IDB_Hooks_sgr_changed', + 'IDB_Hooks_sgr_deleted', + 'IDB_Hooks_stkpnts_changed', + 'IDB_Hooks_struc_align_changed', + 'IDB_Hooks_struc_cmt_changed', + 'IDB_Hooks_struc_created', + 'IDB_Hooks_struc_deleted', + 'IDB_Hooks_struc_expanded', + 'IDB_Hooks_struc_member_changed', + 'IDB_Hooks_struc_member_created', + 'IDB_Hooks_struc_member_deleted', + 'IDB_Hooks_struc_member_renamed', + 'IDB_Hooks_struc_renamed', + 'IDB_Hooks_tail_owner_changed', + 'IDB_Hooks_thunk_func_created', + 'IDB_Hooks_ti_changed', + 'IDB_Hooks_tryblks_updated', + 'IDB_Hooks_unhook', + 'IDB_Hooks_updating_tryblks', + 'IDB_Hooks_upgraded', + 'IDP_Hooks_ev_add_cref', + 'IDP_Hooks_ev_add_dref', + 'IDP_Hooks_ev_adjust_argloc', + 'IDP_Hooks_ev_adjust_libfunc_ea', + 'IDP_Hooks_ev_adjust_refinfo', + 'IDP_Hooks_ev_ana_insn', + 'IDP_Hooks_ev_analyze_prolog', + 'IDP_Hooks_ev_arg_addrs_ready', + 'IDP_Hooks_ev_assemble', + 'IDP_Hooks_ev_auto_queue_empty', + 'IDP_Hooks_ev_calc_arglocs', + 'IDP_Hooks_ev_calc_cdecl_purged_bytes', + 'IDP_Hooks_ev_calc_next_eas', + 'IDP_Hooks_ev_calc_purged_bytes', + 'IDP_Hooks_ev_calc_retloc', + 'IDP_Hooks_ev_calc_spdelta', + 'IDP_Hooks_ev_calc_step_over', + 'IDP_Hooks_ev_calc_switch_cases', + 'IDP_Hooks_ev_calc_varglocs', + 'IDP_Hooks_ev_calcrel', + 'IDP_Hooks_ev_can_have_type', + 'IDP_Hooks_ev_clean_tbit', + 'IDP_Hooks_ev_cmp_operands', + 'IDP_Hooks_ev_coagulate', + 'IDP_Hooks_ev_coagulate_dref', + 'IDP_Hooks_ev_create_flat_group', + 'IDP_Hooks_ev_create_func_frame', + 'IDP_Hooks_ev_create_switch_xrefs', + 'IDP_Hooks_ev_creating_segm', + 'IDP_Hooks_ev_decorate_name', + 'IDP_Hooks_ev_del_cref', + 'IDP_Hooks_ev_del_dref', + 'IDP_Hooks_ev_delay_slot_insn', + 'IDP_Hooks_ev_demangle_name', + 'IDP_Hooks_ev_emu_insn', + 'IDP_Hooks_ev_endbinary', + 'IDP_Hooks_ev_ending_undo', + 'IDP_Hooks_ev_equal_reglocs', + 'IDP_Hooks_ev_extract_address', + 'IDP_Hooks_ev_find_op_value', + 'IDP_Hooks_ev_find_reg_value', + 'IDP_Hooks_ev_func_bounds', + 'IDP_Hooks_ev_gen_asm_or_lst', + 'IDP_Hooks_ev_gen_map_file', + 'IDP_Hooks_ev_gen_regvar_def', + 'IDP_Hooks_ev_gen_src_file_lnnum', + 'IDP_Hooks_ev_gen_stkvar_def', + 'IDP_Hooks_ev_get_abi_info', + 'IDP_Hooks_ev_get_autocmt', + 'IDP_Hooks_ev_get_bg_color', + 'IDP_Hooks_ev_get_cc_regs', + 'IDP_Hooks_ev_get_code16_mode', + 'IDP_Hooks_ev_get_dbr_opnum', + 'IDP_Hooks_ev_get_default_enum_size', + 'IDP_Hooks_ev_get_frame_retsize', + 'IDP_Hooks_ev_get_macro_insn_head', + 'IDP_Hooks_ev_get_operand_string', + 'IDP_Hooks_ev_get_reg_info', + 'IDP_Hooks_ev_get_reg_name', + 'IDP_Hooks_ev_get_simd_types', + 'IDP_Hooks_ev_get_stkarg_offset', + 'IDP_Hooks_ev_get_stkvar_scale_factor', + 'IDP_Hooks_ev_getreg', + 'IDP_Hooks_ev_init', + 'IDP_Hooks_ev_insn_reads_tbit', + 'IDP_Hooks_ev_is_align_insn', + 'IDP_Hooks_ev_is_alloca_probe', + 'IDP_Hooks_ev_is_basic_block_end', + 'IDP_Hooks_ev_is_call_insn', + 'IDP_Hooks_ev_is_cond_insn', + 'IDP_Hooks_ev_is_far_jump', + 'IDP_Hooks_ev_is_indirect_jump', + 'IDP_Hooks_ev_is_insn_table_jump', + 'IDP_Hooks_ev_is_jump_func', + 'IDP_Hooks_ev_is_ret_insn', + 'IDP_Hooks_ev_is_sane_insn', + 'IDP_Hooks_ev_is_sp_based', + 'IDP_Hooks_ev_is_switch', + 'IDP_Hooks_ev_last_cb_before_loader', + 'IDP_Hooks_ev_loader', + 'IDP_Hooks_ev_lower_func_type', + 'IDP_Hooks_ev_max_ptr_size', + 'IDP_Hooks_ev_may_be_func', + 'IDP_Hooks_ev_may_show_sreg', + 'IDP_Hooks_ev_moving_segm', + 'IDP_Hooks_ev_newasm', + 'IDP_Hooks_ev_newbinary', + 'IDP_Hooks_ev_newfile', + 'IDP_Hooks_ev_newprc', + 'IDP_Hooks_ev_next_exec_insn', + 'IDP_Hooks_ev_oldfile', + 'IDP_Hooks_ev_out_assumes', + 'IDP_Hooks_ev_out_data', + 'IDP_Hooks_ev_out_footer', + 'IDP_Hooks_ev_out_header', + 'IDP_Hooks_ev_out_insn', + 'IDP_Hooks_ev_out_label', + 'IDP_Hooks_ev_out_mnem', + 'IDP_Hooks_ev_out_operand', + 'IDP_Hooks_ev_out_segend', + 'IDP_Hooks_ev_out_segstart', + 'IDP_Hooks_ev_out_special_item', + 'IDP_Hooks_ev_realcvt', + 'IDP_Hooks_ev_rename', + 'IDP_Hooks_ev_replaying_undo', + 'IDP_Hooks_ev_set_code16_mode', + 'IDP_Hooks_ev_set_idp_options', + 'IDP_Hooks_ev_set_proc_options', + 'IDP_Hooks_ev_setup_til', + 'IDP_Hooks_ev_shadow_args_size', + 'IDP_Hooks_ev_str2reg', + 'IDP_Hooks_ev_term', + 'IDP_Hooks_ev_treat_hindering_item', + 'IDP_Hooks_ev_undefine', + 'IDP_Hooks_ev_use_arg_types', + 'IDP_Hooks_ev_use_regarg_type', + 'IDP_Hooks_ev_use_stkarg_type', + 'IDP_Hooks_ev_validate_flirt_func', + 'IDP_Hooks_ev_verify_noreturn', + 'IDP_Hooks_ev_verify_sp', + 'IDP_Hooks_hook', + 'IDP_Hooks_unhook', + 'TPointDouble___eq__', + 'TPointDouble___ne__', + 'TPointDouble_add', + 'TPointDouble_negate', + 'TPointDouble_sub', + 'TPointDouble_x_get', + 'TPointDouble_x_set', + 'TPointDouble_y_get', + 'TPointDouble_y_set', + 'TWidget__from_ptrval__', + 'UI_Hooks_create_desktop_widget', + 'UI_Hooks_current_widget_changed', + 'UI_Hooks_database_inited', + 'UI_Hooks_debugger_menu_change', + 'UI_Hooks_finish_populating_widget_popup', + 'UI_Hooks_get_chooser_item_attrs', + 'UI_Hooks_get_custom_viewer_hint', + 'UI_Hooks_get_ea_hint', + 'UI_Hooks_get_item_hint', + 'UI_Hooks_get_widget_config', + 'UI_Hooks_hook', + 'UI_Hooks_idcstart', + 'UI_Hooks_idcstop', + 'UI_Hooks_plugin_loaded', + 'UI_Hooks_plugin_unloading', + 'UI_Hooks_populating_widget_popup', + 'UI_Hooks_postprocess_action', + 'UI_Hooks_preprocess_action', + 'UI_Hooks_range', + 'UI_Hooks_ready_to_run', + 'UI_Hooks_resume', + 'UI_Hooks_saved', + 'UI_Hooks_saving', + 'UI_Hooks_screen_ea_changed', + 'UI_Hooks_set_widget_config', + 'UI_Hooks_suspend', + 'UI_Hooks_term', + 'UI_Hooks_unhook', + 'UI_Hooks_updated_actions', + 'UI_Hooks_updating_actions', + 'UI_Hooks_widget_closing', + 'UI_Hooks_widget_invisible', + 'UI_Hooks_widget_visible', + 'View_Hooks_hook', + 'View_Hooks_unhook', + 'View_Hooks_view_activated', + 'View_Hooks_view_click', + 'View_Hooks_view_close', + 'View_Hooks_view_created', + 'View_Hooks_view_curpos', + 'View_Hooks_view_dblclick', + 'View_Hooks_view_deactivated', + 'View_Hooks_view_keydown', + 'View_Hooks_view_loc_changed', + 'View_Hooks_view_mouse_moved', + 'View_Hooks_view_mouse_over', + 'View_Hooks_view_switched', + '_ask_addr', + '_ask_addr__varargs__', + '_ask_long', + '_ask_long__varargs__', + '_ask_seg', + '_ask_seg__varargs__', + '_kludge_use_TPopupMenu', + '_ll_call_helper', + '_ll_call_helper__varargs__', + '_ll_create_helper', + '_ll_create_helper__varargs__', + '_ll_dereference', + '_ll_lnot', + '_ll_make_num', + '_ll_make_ref', + '_ll_new_block', + 'accepts_small_udts', + 'accepts_udts', + 'action_ctx_base_t__get_form', + 'action_ctx_base_t__get_form_title', + 'action_ctx_base_t__get_form_type', + 'action_ctx_base_t_action_get', + 'action_ctx_base_t_action_set', + 'action_ctx_base_t_chooser_selection_get', + 'action_ctx_base_t_chooser_selection_set', + 'action_ctx_base_t_cur_ea_get', + 'action_ctx_base_t_cur_ea_set', + 'action_ctx_base_t_cur_enum_get', + 'action_ctx_base_t_cur_enum_set', + 'action_ctx_base_t_cur_fchunk_get', + 'action_ctx_base_t_cur_fchunk_set', + 'action_ctx_base_t_cur_flags_get', + 'action_ctx_base_t_cur_flags_set', + 'action_ctx_base_t_cur_func_get', + 'action_ctx_base_t_cur_func_set', + 'action_ctx_base_t_cur_seg_get', + 'action_ctx_base_t_cur_seg_set', + 'action_ctx_base_t_cur_strmem_get', + 'action_ctx_base_t_cur_strmem_set', + 'action_ctx_base_t_cur_struc_get', + 'action_ctx_base_t_cur_struc_set', + 'action_ctx_base_t_cur_value_get', + 'action_ctx_base_t_cur_value_set', + 'action_ctx_base_t_focus_get', + 'action_ctx_base_t_focus_set', + 'action_ctx_base_t_graph_selection_get', + 'action_ctx_base_t_graph_selection_set', + 'action_ctx_base_t_has_flag', + 'action_ctx_base_t_regname_get', + 'action_ctx_base_t_regname_set', + 'action_ctx_base_t_reset', + 'action_ctx_base_t_widget_get', + 'action_ctx_base_t_widget_set', + 'action_ctx_base_t_widget_title_get', + 'action_ctx_base_t_widget_title_set', + 'action_ctx_base_t_widget_type_get', + 'action_ctx_base_t_widget_type_set', + 'action_desc_t_cb_get', + 'action_desc_t_cb_set', + 'action_desc_t_flags_get', + 'action_desc_t_flags_set', + 'action_desc_t_icon_get', + 'action_desc_t_icon_set', + 'action_desc_t_label_get', + 'action_desc_t_label_set', + 'action_desc_t_name_get', + 'action_desc_t_name_set', + 'action_desc_t_owner_get', + 'action_desc_t_owner_set', + 'action_desc_t_shortcut_get', + 'action_desc_t_shortcut_set', + 'action_desc_t_tooltip_get', + 'action_desc_t_tooltip_set', + 'activate_widget', + 'add_auto_stkpnt', + 'add_bpt', + 'add_bpt__SWIG_0', + 'add_bpt__SWIG_1', + 'add_byte', + 'add_cref', + 'add_dref', + 'add_dword', + 'add_encoding', + 'add_entry', + 'add_enum', + 'add_enum_member', + 'add_extra_cmt', + 'add_extra_cmt__varargs__', + 'add_extra_line', + 'add_extra_line__varargs__', + 'add_frame', + 'add_func', + 'add_func_ex', + 'add_hidden_range', + 'add_hotkey', + 'add_idc_class', + 'add_idc_gvar', + 'add_idc_hotkey', + 'add_mapping', + 'add_path_mapping', + 'add_pgm_cmt', + 'add_pgm_cmt__varargs__', + 'add_qword', + 'add_refinfo_dref', + 'add_regarg', + 'add_regvar', + 'add_segm', + 'add_segm_ex', + 'add_segment_translation', + 'add_sourcefile', + 'add_spaces', + 'add_struc', + 'add_struc_member', + 'add_til', + 'add_tryblk', + 'add_user_stkpnt', + 'add_virt_module', + 'add_word', + 'addon_count', + 'addon_info_t_cb_get', + 'addon_info_t_cb_set', + 'addon_info_t_custom_data_get', + 'addon_info_t_custom_data_set', + 'addon_info_t_custom_size_get', + 'addon_info_t_custom_size_set', + 'addon_info_t_freeform_get', + 'addon_info_t_freeform_set', + 'addon_info_t_id_get', + 'addon_info_t_id_set', + 'addon_info_t_name_get', + 'addon_info_t_name_set', + 'addon_info_t_producer_get', + 'addon_info_t_producer_set', + 'addon_info_t_url_get', + 'addon_info_t_url_set', + 'addon_info_t_version_get', + 'addon_info_t_version_set', + 'align_flag', + 'alloc_type_ordinal', + 'alloc_type_ordinals', + 'allocate_selector', + 'aloc_visitor_t_visit_location', + 'analyzer_options', + 'appcall', + 'append_abi_opts', + 'append_argloc', + 'append_cmt', + 'append_func_tail', + 'append_struct_fields', + 'append_tinfo_covered', + 'apply_callee_tinfo', + 'apply_cdecl', + 'apply_idasgn_to', + 'apply_named_type', + 'apply_once_tinfo_and_name', + 'apply_startup_sig', + 'apply_tinfo', + 'apply_tinfo_to_stkarg', + 'apply_type', + 'argloc_t___eq__', + 'argloc_t___ge__', + 'argloc_t___gt__', + 'argloc_t___le__', + 'argloc_t___lt__', + 'argloc_t___ne__', + 'argloc_t__consume_rrel', + 'argloc_t__consume_scattered', + 'argloc_t__set_badloc', + 'argloc_t__set_biggest', + 'argloc_t__set_custom', + 'argloc_t__set_ea', + 'argloc_t__set_reg1', + 'argloc_t__set_reg2', + 'argloc_t__set_stkoff', + 'argloc_t_advance', + 'argloc_t_atype', + 'argloc_t_calc_offset', + 'argloc_t_compare', + 'argloc_t_consume_rrel', + 'argloc_t_consume_scattered', + 'argloc_t_get_biggest', + 'argloc_t_get_custom', + 'argloc_t_get_ea', + 'argloc_t_get_reginfo', + 'argloc_t_get_rrel', + 'argloc_t_get_rrel__SWIG_0', + 'argloc_t_get_rrel__SWIG_1', + 'argloc_t_has_reg', + 'argloc_t_has_stkoff', + 'argloc_t_is_badloc', + 'argloc_t_is_custom', + 'argloc_t_is_ea', + 'argloc_t_is_fragmented', + 'argloc_t_is_mixed_scattered', + 'argloc_t_is_reg', + 'argloc_t_is_reg1', + 'argloc_t_is_reg2', + 'argloc_t_is_rrel', + 'argloc_t_is_scattered', + 'argloc_t_is_stkoff', + 'argloc_t_justify_reg_high', + 'argloc_t_justify_stkoff_right', + 'argloc_t_reg1', + 'argloc_t_reg2', + 'argloc_t_regoff', + 'argloc_t_scattered', + 'argloc_t_scattered__SWIG_0', + 'argloc_t_scattered__SWIG_1', + 'argloc_t_set_badloc', + 'argloc_t_set_ea', + 'argloc_t_set_reg1', + 'argloc_t_set_reg2', + 'argloc_t_set_stkoff', + 'argloc_t_stkoff', + 'argloc_t_swap', + 'arglocs_overlap', + 'argpart_t___lt__', + 'argpart_t_bad_offset', + 'argpart_t_bad_size', + 'argpart_t_off_get', + 'argpart_t_off_set', + 'argpart_t_size_get', + 'argpart_t_size_set', + 'argpart_t_swap', + 'argpartvec_t___eq__', + 'argpartvec_t___getitem__', + 'argpartvec_t___len__', + 'argpartvec_t___ne__', + 'argpartvec_t___setitem__', + 'argpartvec_t__del', + 'argpartvec_t_add_unique', + 'argpartvec_t_at', + 'argpartvec_t_begin', + 'argpartvec_t_begin__SWIG_0', + 'argpartvec_t_begin__SWIG_1', + 'argpartvec_t_capacity', + 'argpartvec_t_clear', + 'argpartvec_t_empty', + 'argpartvec_t_end', + 'argpartvec_t_end__SWIG_0', + 'argpartvec_t_end__SWIG_1', + 'argpartvec_t_erase', + 'argpartvec_t_erase__SWIG_0', + 'argpartvec_t_erase__SWIG_1', + 'argpartvec_t_extract', + 'argpartvec_t_find', + 'argpartvec_t_find__SWIG_0', + 'argpartvec_t_find__SWIG_1', + 'argpartvec_t_grow', + 'argpartvec_t_has', + 'argpartvec_t_inject', + 'argpartvec_t_insert', + 'argpartvec_t_pop_back', + 'argpartvec_t_push_back', + 'argpartvec_t_push_back__SWIG_0', + 'argpartvec_t_push_back__SWIG_1', + 'argpartvec_t_qclear', + 'argpartvec_t_reserve', + 'argpartvec_t_resize', + 'argpartvec_t_resize__SWIG_0', + 'argpartvec_t_resize__SWIG_1', + 'argpartvec_t_size', + 'argpartvec_t_swap', + 'argpartvec_t_truncate', + 'array_of_bitsets___eq__', + 'array_of_bitsets___getitem__', + 'array_of_bitsets___len__', + 'array_of_bitsets___ne__', + 'array_of_bitsets___setitem__', + 'array_of_bitsets__del', + 'array_of_bitsets_add_unique', + 'array_of_bitsets_at', + 'array_of_bitsets_begin', + 'array_of_bitsets_begin__SWIG_0', + 'array_of_bitsets_begin__SWIG_1', + 'array_of_bitsets_capacity', + 'array_of_bitsets_clear', + 'array_of_bitsets_empty', + 'array_of_bitsets_end', + 'array_of_bitsets_end__SWIG_0', + 'array_of_bitsets_end__SWIG_1', + 'array_of_bitsets_erase', + 'array_of_bitsets_erase__SWIG_0', + 'array_of_bitsets_erase__SWIG_1', + 'array_of_bitsets_extract', + 'array_of_bitsets_find', + 'array_of_bitsets_find__SWIG_0', + 'array_of_bitsets_find__SWIG_1', + 'array_of_bitsets_grow', + 'array_of_bitsets_has', + 'array_of_bitsets_inject', + 'array_of_bitsets_insert', + 'array_of_bitsets_pop_back', + 'array_of_bitsets_push_back', + 'array_of_bitsets_push_back__SWIG_0', + 'array_of_bitsets_push_back__SWIG_1', + 'array_of_bitsets_qclear', + 'array_of_bitsets_reserve', + 'array_of_bitsets_resize', + 'array_of_bitsets_resize__SWIG_0', + 'array_of_bitsets_resize__SWIG_1', + 'array_of_bitsets_size', + 'array_of_bitsets_swap', + 'array_of_bitsets_truncate', + 'array_of_ivlsets___eq__', + 'array_of_ivlsets___getitem__', + 'array_of_ivlsets___len__', + 'array_of_ivlsets___ne__', + 'array_of_ivlsets___setitem__', + 'array_of_ivlsets__del', + 'array_of_ivlsets_add_unique', + 'array_of_ivlsets_at', + 'array_of_ivlsets_begin', + 'array_of_ivlsets_begin__SWIG_0', + 'array_of_ivlsets_begin__SWIG_1', + 'array_of_ivlsets_capacity', + 'array_of_ivlsets_clear', + 'array_of_ivlsets_empty', + 'array_of_ivlsets_end', + 'array_of_ivlsets_end__SWIG_0', + 'array_of_ivlsets_end__SWIG_1', + 'array_of_ivlsets_erase', + 'array_of_ivlsets_erase__SWIG_0', + 'array_of_ivlsets_erase__SWIG_1', + 'array_of_ivlsets_extract', + 'array_of_ivlsets_find', + 'array_of_ivlsets_find__SWIG_0', + 'array_of_ivlsets_find__SWIG_1', + 'array_of_ivlsets_grow', + 'array_of_ivlsets_has', + 'array_of_ivlsets_inject', + 'array_of_ivlsets_insert', + 'array_of_ivlsets_pop_back', + 'array_of_ivlsets_push_back', + 'array_of_ivlsets_push_back__SWIG_0', + 'array_of_ivlsets_push_back__SWIG_1', + 'array_of_ivlsets_qclear', + 'array_of_ivlsets_reserve', + 'array_of_ivlsets_resize', + 'array_of_ivlsets_resize__SWIG_0', + 'array_of_ivlsets_resize__SWIG_1', + 'array_of_ivlsets_size', + 'array_of_ivlsets_swap', + 'array_of_ivlsets_truncate', + 'array_of_rangesets___eq__', + 'array_of_rangesets___getitem__', + 'array_of_rangesets___len__', + 'array_of_rangesets___ne__', + 'array_of_rangesets___setitem__', + 'array_of_rangesets__del', + 'array_of_rangesets_add_unique', + 'array_of_rangesets_at', + 'array_of_rangesets_begin', + 'array_of_rangesets_begin__SWIG_0', + 'array_of_rangesets_begin__SWIG_1', + 'array_of_rangesets_capacity', + 'array_of_rangesets_clear', + 'array_of_rangesets_empty', + 'array_of_rangesets_end', + 'array_of_rangesets_end__SWIG_0', + 'array_of_rangesets_end__SWIG_1', + 'array_of_rangesets_erase', + 'array_of_rangesets_erase__SWIG_0', + 'array_of_rangesets_erase__SWIG_1', + 'array_of_rangesets_extract', + 'array_of_rangesets_find', + 'array_of_rangesets_find__SWIG_0', + 'array_of_rangesets_find__SWIG_1', + 'array_of_rangesets_grow', + 'array_of_rangesets_has', + 'array_of_rangesets_inject', + 'array_of_rangesets_insert', + 'array_of_rangesets_pop_back', + 'array_of_rangesets_push_back', + 'array_of_rangesets_push_back__SWIG_0', + 'array_of_rangesets_push_back__SWIG_1', + 'array_of_rangesets_qclear', + 'array_of_rangesets_reserve', + 'array_of_rangesets_resize', + 'array_of_rangesets_resize__SWIG_0', + 'array_of_rangesets_resize__SWIG_1', + 'array_of_rangesets_size', + 'array_of_rangesets_swap', + 'array_of_rangesets_truncate', + 'array_parameters_t_alignment_get', + 'array_parameters_t_alignment_set', + 'array_parameters_t_flags_get', + 'array_parameters_t_flags_set', + 'array_parameters_t_lineitems_get', + 'array_parameters_t_lineitems_set', + 'array_type_data_t_base_get', + 'array_type_data_t_base_set', + 'array_type_data_t_elem_type_get', + 'array_type_data_t_elem_type_set', + 'array_type_data_t_nelems_get', + 'array_type_data_t_nelems_set', + 'array_type_data_t_swap', + 'asgop', + 'asgop_revert', + 'ask_buttons', + 'ask_buttons__varargs__', + 'ask_file', + 'ask_file__varargs__', + 'ask_for_feedback', + 'ask_for_feedback__varargs__', + 'ask_str', + 'ask_text', + 'ask_yn', + 'ask_yn__varargs__', + 'asm_t_a_align_get', + 'asm_t_a_align_set', + 'asm_t_a_ascii_get', + 'asm_t_a_ascii_set', + 'asm_t_a_band_get', + 'asm_t_a_band_set', + 'asm_t_a_bnot_get', + 'asm_t_a_bnot_set', + 'asm_t_a_bor_get', + 'asm_t_a_bor_set', + 'asm_t_a_bss_get', + 'asm_t_a_bss_set', + 'asm_t_a_byte_get', + 'asm_t_a_byte_set', + 'asm_t_a_comdef_get', + 'asm_t_a_comdef_set', + 'asm_t_a_curip_get', + 'asm_t_a_curip_set', + 'asm_t_a_double_get', + 'asm_t_a_double_set', + 'asm_t_a_dups_get', + 'asm_t_a_dups_set', + 'asm_t_a_dword_get', + 'asm_t_a_dword_set', + 'asm_t_a_equ_get', + 'asm_t_a_equ_set', + 'asm_t_a_extrn_get', + 'asm_t_a_extrn_set', + 'asm_t_a_float_get', + 'asm_t_a_float_set', + 'asm_t_a_include_fmt_get', + 'asm_t_a_include_fmt_set', + 'asm_t_a_mod_get', + 'asm_t_a_mod_set', + 'asm_t_a_oword_get', + 'asm_t_a_oword_set', + 'asm_t_a_packreal_get', + 'asm_t_a_packreal_set', + 'asm_t_a_public_get', + 'asm_t_a_public_set', + 'asm_t_a_qword_get', + 'asm_t_a_qword_set', + 'asm_t_a_rva_get', + 'asm_t_a_rva_set', + 'asm_t_a_seg_get', + 'asm_t_a_seg_set', + 'asm_t_a_shl_get', + 'asm_t_a_shl_set', + 'asm_t_a_shr_get', + 'asm_t_a_shr_set', + 'asm_t_a_sizeof_fmt_get', + 'asm_t_a_sizeof_fmt_set', + 'asm_t_a_tbyte_get', + 'asm_t_a_tbyte_set', + 'asm_t_a_vstruc_fmt_get', + 'asm_t_a_vstruc_fmt_set', + 'asm_t_a_weak_get', + 'asm_t_a_weak_set', + 'asm_t_a_word_get', + 'asm_t_a_word_set', + 'asm_t_a_xor_get', + 'asm_t_a_xor_set', + 'asm_t_a_yword_get', + 'asm_t_a_yword_set', + 'asm_t_accsep_get', + 'asm_t_accsep_set', + 'asm_t_ascsep_get', + 'asm_t_ascsep_set', + 'asm_t_cmnt2_get', + 'asm_t_cmnt2_set', + 'asm_t_cmnt_get', + 'asm_t_cmnt_set', + 'asm_t_end_get', + 'asm_t_end_set', + 'asm_t_esccodes_get', + 'asm_t_esccodes_set', + 'asm_t_flag2_get', + 'asm_t_flag2_set', + 'asm_t_flag_get', + 'asm_t_flag_set', + 'asm_t_header_get', + 'asm_t_header_set', + 'asm_t_help_get', + 'asm_t_help_set', + 'asm_t_high16_get', + 'asm_t_high16_set', + 'asm_t_high8_get', + 'asm_t_high8_set', + 'asm_t_lbrace_get', + 'asm_t_lbrace_set', + 'asm_t_low16_get', + 'asm_t_low16_set', + 'asm_t_low8_get', + 'asm_t_low8_set', + 'asm_t_name_get', + 'asm_t_name_set', + 'asm_t_origin_get', + 'asm_t_origin_set', + 'asm_t_rbrace_get', + 'asm_t_rbrace_set', + 'asm_t_uflag_get', + 'asm_t_uflag_set', + 'assemble', + 'attach_action_to_menu', + 'attach_action_to_popup', + 'attach_action_to_toolbar', + 'attach_custom_data_format', + 'attach_dynamic_action_to_popup', + 'attach_process', + 'auto_apply_tail', + 'auto_apply_type', + 'auto_cancel', + 'auto_display_t_ea_get', + 'auto_display_t_ea_set', + 'auto_display_t_state_get', + 'auto_display_t_state_set', + 'auto_display_t_type_get', + 'auto_display_t_type_set', + 'auto_get', + 'auto_is_ok', + 'auto_make_code', + 'auto_make_proc', + 'auto_mark', + 'auto_mark_range', + 'auto_recreate_insn', + 'auto_unmark', + 'auto_wait', + 'auto_wait_range', + 'banner', + 'base2file', + 'beep', + 'begin_type_updating', + 'bgcolors_t_epilog_color_get', + 'bgcolors_t_epilog_color_set', + 'bgcolors_t_prolog_color_get', + 'bgcolors_t_prolog_color_set', + 'bgcolors_t_switch_color_get', + 'bgcolors_t_switch_color_set', + 'bin_flag', + 'bin_search', + 'bit_bound_t_nbits_get', + 'bit_bound_t_nbits_set', + 'bit_bound_t_sbits_get', + 'bit_bound_t_sbits_set', + 'bitfield_type_data_t___eq__', + 'bitfield_type_data_t___ge__', + 'bitfield_type_data_t___gt__', + 'bitfield_type_data_t___le__', + 'bitfield_type_data_t___lt__', + 'bitfield_type_data_t___ne__', + 'bitfield_type_data_t_compare', + 'bitfield_type_data_t_is_unsigned_get', + 'bitfield_type_data_t_is_unsigned_set', + 'bitfield_type_data_t_nbytes_get', + 'bitfield_type_data_t_nbytes_set', + 'bitfield_type_data_t_swap', + 'bitfield_type_data_t_width_get', + 'bitfield_type_data_t_width_set', + 'bitset_t___eq__', + 'bitset_t___ge__', + 'bitset_t___gt__', + 'bitset_t___le__', + 'bitset_t___lt__', + 'bitset_t___ne__', + 'bitset_t_add', + 'bitset_t_add__SWIG_0', + 'bitset_t_add__SWIG_1', + 'bitset_t_add__SWIG_2', + 'bitset_t_back', + 'bitset_t_begin', + 'bitset_t_clear', + 'bitset_t_compare', + 'bitset_t_copy', + 'bitset_t_count', + 'bitset_t_count__SWIG_0', + 'bitset_t_count__SWIG_1', + 'bitset_t_cut_at', + 'bitset_t_dstr', + 'bitset_t_empty', + 'bitset_t_end', + 'bitset_t_fill_with_ones', + 'bitset_t_front', + 'bitset_t_has', + 'bitset_t_has_all', + 'bitset_t_has_any', + 'bitset_t_has_common', + 'bitset_t_inc', + 'bitset_t_includes', + 'bitset_t_intersect', + 'bitset_t_is_subset_of', + 'bitset_t_itat', + 'bitset_t_itv', + 'bitset_t_last', + 'bitset_t_shift_down', + 'bitset_t_sub', + 'bitset_t_sub__SWIG_0', + 'bitset_t_sub__SWIG_1', + 'bitset_t_sub__SWIG_2', + 'bitset_t_swap', + 'block_chains_begin', + 'block_chains_clear', + 'block_chains_end', + 'block_chains_erase', + 'block_chains_find', + 'block_chains_free', + 'block_chains_get', + 'block_chains_insert', + 'block_chains_iterator_t___eq__', + 'block_chains_iterator_t___ne__', + 'block_chains_iterator_t_x_get', + 'block_chains_iterator_t_x_set', + 'block_chains_new', + 'block_chains_next', + 'block_chains_prev', + 'block_chains_size', + 'block_chains_t__print', + 'block_chains_t_dstr', + 'block_chains_t_get_chain', + 'block_chains_t_get_chain__SWIG_0', + 'block_chains_t_get_chain__SWIG_1', + 'block_chains_t_get_chain__SWIG_2', + 'block_chains_t_get_chain__SWIG_3', + 'block_chains_t_get_reg_chain', + 'block_chains_t_get_reg_chain__SWIG_0', + 'block_chains_t_get_reg_chain__SWIG_1', + 'block_chains_t_get_stk_chain', + 'block_chains_t_get_stk_chain__SWIG_0', + 'block_chains_t_get_stk_chain__SWIG_1', + 'block_chains_vec_t___getitem__', + 'block_chains_vec_t___len__', + 'block_chains_vec_t___setitem__', + 'block_chains_vec_t_at', + 'block_chains_vec_t_begin', + 'block_chains_vec_t_begin__SWIG_0', + 'block_chains_vec_t_begin__SWIG_1', + 'block_chains_vec_t_capacity', + 'block_chains_vec_t_clear', + 'block_chains_vec_t_empty', + 'block_chains_vec_t_end', + 'block_chains_vec_t_end__SWIG_0', + 'block_chains_vec_t_end__SWIG_1', + 'block_chains_vec_t_erase', + 'block_chains_vec_t_erase__SWIG_0', + 'block_chains_vec_t_erase__SWIG_1', + 'block_chains_vec_t_extract', + 'block_chains_vec_t_grow', + 'block_chains_vec_t_inject', + 'block_chains_vec_t_insert', + 'block_chains_vec_t_pop_back', + 'block_chains_vec_t_push_back', + 'block_chains_vec_t_push_back__SWIG_0', + 'block_chains_vec_t_push_back__SWIG_1', + 'block_chains_vec_t_qclear', + 'block_chains_vec_t_reserve', + 'block_chains_vec_t_resize', + 'block_chains_vec_t_resize__SWIG_0', + 'block_chains_vec_t_resize__SWIG_1', + 'block_chains_vec_t_size', + 'block_chains_vec_t_swap', + 'block_chains_vec_t_truncate', + 'bookmarks_t_erase', + 'bookmarks_t_find_index', + 'bookmarks_t_get', + 'bookmarks_t_get_desc', + 'bookmarks_t_mark', + 'bookmarks_t_size', + 'boolvec_t___eq__', + 'boolvec_t___getitem__', + 'boolvec_t___len__', + 'boolvec_t___ne__', + 'boolvec_t___setitem__', + 'boolvec_t__del', + 'boolvec_t_add_unique', + 'boolvec_t_at', + 'boolvec_t_begin', + 'boolvec_t_begin__SWIG_0', + 'boolvec_t_begin__SWIG_1', + 'boolvec_t_capacity', + 'boolvec_t_clear', + 'boolvec_t_empty', + 'boolvec_t_end', + 'boolvec_t_end__SWIG_0', + 'boolvec_t_end__SWIG_1', + 'boolvec_t_erase', + 'boolvec_t_erase__SWIG_0', + 'boolvec_t_erase__SWIG_1', + 'boolvec_t_extract', + 'boolvec_t_find', + 'boolvec_t_find__SWIG_0', + 'boolvec_t_find__SWIG_1', + 'boolvec_t_grow', + 'boolvec_t_has', + 'boolvec_t_inject', + 'boolvec_t_insert', + 'boolvec_t_pop_back', + 'boolvec_t_push_back', + 'boolvec_t_push_back__SWIG_0', + 'boolvec_t_push_back__SWIG_1', + 'boolvec_t_qclear', + 'boolvec_t_reserve', + 'boolvec_t_resize', + 'boolvec_t_resize__SWIG_0', + 'boolvec_t_resize__SWIG_1', + 'boolvec_t_size', + 'boolvec_t_swap', + 'boolvec_t_truncate', + 'boundaries_begin', + 'boundaries_clear', + 'boundaries_end', + 'boundaries_erase', + 'boundaries_find', + 'boundaries_first', + 'boundaries_free', + 'boundaries_insert', + 'boundaries_iterator_t___eq__', + 'boundaries_iterator_t___ne__', + 'boundaries_iterator_t_x_get', + 'boundaries_iterator_t_x_set', + 'boundaries_new', + 'boundaries_next', + 'boundaries_prev', + 'boundaries_second', + 'boundaries_size', + 'boundaries_t_at', + 'boundaries_t_size', + 'bpt_location_t___eq__', + 'bpt_location_t___ge__', + 'bpt_location_t___gt__', + 'bpt_location_t___le__', + 'bpt_location_t___lt__', + 'bpt_location_t___ne__', + 'bpt_location_t_compare', + 'bpt_location_t_ea', + 'bpt_location_t_index_get', + 'bpt_location_t_index_set', + 'bpt_location_t_info_get', + 'bpt_location_t_info_set', + 'bpt_location_t_is_empty_path', + 'bpt_location_t_lineno', + 'bpt_location_t_loctype_get', + 'bpt_location_t_loctype_set', + 'bpt_location_t_offset', + 'bpt_location_t_path', + 'bpt_location_t_set_abs_bpt', + 'bpt_location_t_set_rel_bpt', + 'bpt_location_t_set_src_bpt', + 'bpt_location_t_set_sym_bpt', + 'bpt_location_t_symbol', + 'bpt_location_t_type', + 'bpt_t_badbpt', + 'bpt_t_cb_get', + 'bpt_t_cb_set', + 'bpt_t_cndidx_get', + 'bpt_t_cndidx_set', + 'bpt_t_condition_get', + 'bpt_t_condition_set', + 'bpt_t_ea_get', + 'bpt_t_ea_set', + 'bpt_t_elang_get', + 'bpt_t_elang_set', + 'bpt_t_enabled', + 'bpt_t_flags_get', + 'bpt_t_flags_set', + 'bpt_t_get_cnd_elang_idx', + 'bpt_t_get_size', + 'bpt_t_is_absbpt', + 'bpt_t_is_active', + 'bpt_t_is_compiled', + 'bpt_t_is_hwbpt', + 'bpt_t_is_inactive', + 'bpt_t_is_low_level', + 'bpt_t_is_page_bpt', + 'bpt_t_is_partially_active', + 'bpt_t_is_relbpt', + 'bpt_t_is_srcbpt', + 'bpt_t_is_symbpt', + 'bpt_t_is_tracemodebpt', + 'bpt_t_is_traceoffbpt', + 'bpt_t_is_traceonbpt', + 'bpt_t_listbpt', + 'bpt_t_loc_get', + 'bpt_t_loc_set', + 'bpt_t_pass_count_get', + 'bpt_t_pass_count_set', + 'bpt_t_pid_get', + 'bpt_t_pid_set', + 'bpt_t_props_get', + 'bpt_t_props_set', + 'bpt_t_set_abs_bpt', + 'bpt_t_set_rel_bpt', + 'bpt_t_set_src_bpt', + 'bpt_t_set_sym_bpt', + 'bpt_t_set_trace_action', + 'bpt_t_size_get', + 'bpt_t_size_set', + 'bpt_t_tid_get', + 'bpt_t_tid_set', + 'bpt_t_type_get', + 'bpt_t_type_set', + 'bpt_vec_t___getitem__', + 'bpt_vec_t___len__', + 'bpt_vec_t___setitem__', + 'bpt_vec_t_at', + 'bpt_vec_t_begin', + 'bpt_vec_t_begin__SWIG_0', + 'bpt_vec_t_begin__SWIG_1', + 'bpt_vec_t_capacity', + 'bpt_vec_t_clear', + 'bpt_vec_t_empty', + 'bpt_vec_t_end', + 'bpt_vec_t_end__SWIG_0', + 'bpt_vec_t_end__SWIG_1', + 'bpt_vec_t_erase', + 'bpt_vec_t_erase__SWIG_0', + 'bpt_vec_t_erase__SWIG_1', + 'bpt_vec_t_extract', + 'bpt_vec_t_grow', + 'bpt_vec_t_inject', + 'bpt_vec_t_insert', + 'bpt_vec_t_pop_back', + 'bpt_vec_t_push_back', + 'bpt_vec_t_push_back__SWIG_0', + 'bpt_vec_t_push_back__SWIG_1', + 'bpt_vec_t_qclear', + 'bpt_vec_t_reserve', + 'bpt_vec_t_resize', + 'bpt_vec_t_resize__SWIG_0', + 'bpt_vec_t_resize__SWIG_1', + 'bpt_vec_t_size', + 'bpt_vec_t_swap', + 'bpt_vec_t_truncate', + 'bptaddr_t_hea_get', + 'bptaddr_t_hea_set', + 'bptaddr_t_kea_get', + 'bptaddr_t_kea_set', + 'bring_debugger_to_front', + 'build_snapshot_tree', + 'build_stkvar_name', + 'build_stkvar_xrefs', + 'build_strlist', + 'byte_flag', + 'bytesize', + 'calc_basevalue', + 'calc_bg_color', + 'calc_c_cpp_name', + 'calc_dataseg', + 'calc_def_align', + 'calc_default_idaplace_flags', + 'calc_dflags', + 'calc_dist', + 'calc_fixup_size', + 'calc_func_size', + 'calc_idasgn_state', + 'calc_max_align', + 'calc_max_item_end', + 'calc_min_align', + 'calc_number_of_children', + 'calc_offset_base', + 'calc_prefix_color', + 'calc_probable_base_by_value', + 'calc_reference_data', + 'calc_stkvar_struc_offset', + 'calc_switch_cases', + 'calc_target', + 'calc_target__SWIG_0', + 'calc_target__SWIG_1', + 'calc_thunk_func_target', + 'calc_tinfo_gaps', + 'calc_type_size', + 'call_nav_colorizer', + 'call_stack_info_t___eq__', + 'call_stack_info_t___ne__', + 'call_stack_info_t_callea_get', + 'call_stack_info_t_callea_set', + 'call_stack_info_t_fp_get', + 'call_stack_info_t_fp_set', + 'call_stack_info_t_funcea_get', + 'call_stack_info_t_funcea_set', + 'call_stack_info_t_funcok_get', + 'call_stack_info_t_funcok_set', + 'call_stack_t___eq__', + 'call_stack_t___getitem__', + 'call_stack_t___len__', + 'call_stack_t___ne__', + 'call_stack_t___setitem__', + 'call_stack_t__del', + 'call_stack_t_add_unique', + 'call_stack_t_at', + 'call_stack_t_begin', + 'call_stack_t_begin__SWIG_0', + 'call_stack_t_begin__SWIG_1', + 'call_stack_t_capacity', + 'call_stack_t_clear', + 'call_stack_t_empty', + 'call_stack_t_end', + 'call_stack_t_end__SWIG_0', + 'call_stack_t_end__SWIG_1', + 'call_stack_t_erase', + 'call_stack_t_erase__SWIG_0', + 'call_stack_t_erase__SWIG_1', + 'call_stack_t_extract', + 'call_stack_t_find', + 'call_stack_t_find__SWIG_0', + 'call_stack_t_find__SWIG_1', + 'call_stack_t_grow', + 'call_stack_t_has', + 'call_stack_t_inject', + 'call_stack_t_insert', + 'call_stack_t_pop_back', + 'call_stack_t_push_back', + 'call_stack_t_push_back__SWIG_0', + 'call_stack_t_push_back__SWIG_1', + 'call_stack_t_qclear', + 'call_stack_t_reserve', + 'call_stack_t_resize', + 'call_stack_t_resize__SWIG_0', + 'call_stack_t_resize__SWIG_1', + 'call_stack_t_size', + 'call_stack_t_swap', + 'call_stack_t_truncate', + 'callregs_t_fpregs_get', + 'callregs_t_fpregs_set', + 'callregs_t_gpregs_get', + 'callregs_t_gpregs_set', + 'callregs_t_init_regs', + 'callregs_t_nregs_get', + 'callregs_t_nregs_set', + 'callregs_t_policy_get', + 'callregs_t_policy_set', + 'callregs_t_regcount', + 'callregs_t_reginds', + 'callregs_t_reset', + 'callregs_t_set', + 'can_be_off32', + 'can_decode', + 'can_define_item', + 'can_exc_continue', + 'cancel_exec_request', + 'carg_t___eq__', + 'carg_t___ge__', + 'carg_t___gt__', + 'carg_t___le__', + 'carg_t___lt__', + 'carg_t___ne__', + 'carg_t_compare', + 'carg_t_consume_cexpr', + 'carg_t_formal_type_get', + 'carg_t_formal_type_set', + 'carg_t_is_vararg_get', + 'carg_t_is_vararg_set', + 'carglist_t___eq__', + 'carglist_t___ge__', + 'carglist_t___gt__', + 'carglist_t___le__', + 'carglist_t___lt__', + 'carglist_t___ne__', + 'carglist_t_compare', + 'carglist_t_flags_get', + 'carglist_t_flags_set', + 'carglist_t_functype_get', + 'carglist_t_functype_set', + 'cases_and_targets_t_cases_get', + 'cases_and_targets_t_cases_set', + 'cases_and_targets_t_targets_get', + 'cases_and_targets_t_targets_set', + 'casevec_t___eq__', + 'casevec_t___getitem__', + 'casevec_t___len__', + 'casevec_t___ne__', + 'casevec_t___setitem__', + 'casevec_t__del', + 'casevec_t_add_unique', + 'casevec_t_at', + 'casevec_t_begin', + 'casevec_t_begin__SWIG_0', + 'casevec_t_begin__SWIG_1', + 'casevec_t_capacity', + 'casevec_t_clear', + 'casevec_t_empty', + 'casevec_t_end', + 'casevec_t_end__SWIG_0', + 'casevec_t_end__SWIG_1', + 'casevec_t_erase', + 'casevec_t_erase__SWIG_0', + 'casevec_t_erase__SWIG_1', + 'casevec_t_extract', + 'casevec_t_find', + 'casevec_t_find__SWIG_0', + 'casevec_t_find__SWIG_1', + 'casevec_t_grow', + 'casevec_t_has', + 'casevec_t_inject', + 'casevec_t_insert', + 'casevec_t_pop_back', + 'casevec_t_push_back', + 'casevec_t_push_back__SWIG_0', + 'casevec_t_push_back__SWIG_1', + 'casevec_t_qclear', + 'casevec_t_reserve', + 'casevec_t_resize', + 'casevec_t_resize__SWIG_0', + 'casevec_t_resize__SWIG_1', + 'casevec_t_size', + 'casevec_t_swap', + 'casevec_t_truncate', + 'casm_t___eq__', + 'casm_t___ge__', + 'casm_t___gt__', + 'casm_t___le__', + 'casm_t___lt__', + 'casm_t___ne__', + 'casm_t_compare', + 'casm_t_one_insn', + 'catch_t_obj_get', + 'catch_t_obj_set', + 'catch_t_type_id_get', + 'catch_t_type_id_set', + 'catchvec_t___eq__', + 'catchvec_t___getitem__', + 'catchvec_t___len__', + 'catchvec_t___ne__', + 'catchvec_t___setitem__', + 'catchvec_t__del', + 'catchvec_t_add_unique', + 'catchvec_t_at', + 'catchvec_t_begin', + 'catchvec_t_begin__SWIG_0', + 'catchvec_t_begin__SWIG_1', + 'catchvec_t_capacity', + 'catchvec_t_clear', + 'catchvec_t_empty', + 'catchvec_t_end', + 'catchvec_t_end__SWIG_0', + 'catchvec_t_end__SWIG_1', + 'catchvec_t_erase', + 'catchvec_t_erase__SWIG_0', + 'catchvec_t_erase__SWIG_1', + 'catchvec_t_extract', + 'catchvec_t_find', + 'catchvec_t_find__SWIG_0', + 'catchvec_t_find__SWIG_1', + 'catchvec_t_grow', + 'catchvec_t_has', + 'catchvec_t_inject', + 'catchvec_t_insert', + 'catchvec_t_pop_back', + 'catchvec_t_push_back', + 'catchvec_t_push_back__SWIG_0', + 'catchvec_t_push_back__SWIG_1', + 'catchvec_t_qclear', + 'catchvec_t_reserve', + 'catchvec_t_resize', + 'catchvec_t_resize__SWIG_0', + 'catchvec_t_resize__SWIG_1', + 'catchvec_t_size', + 'catchvec_t_swap', + 'catchvec_t_truncate', + 'cblock_t___eq__', + 'cblock_t___ge__', + 'cblock_t___gt__', + 'cblock_t___le__', + 'cblock_t___lt__', + 'cblock_t___ne__', + 'cblock_t__deregister', + 'cblock_t_compare', + 'ccase_t___eq__', + 'ccase_t___ge__', + 'ccase_t___gt__', + 'ccase_t___le__', + 'ccase_t___lt__', + 'ccase_t___ne__', + 'ccase_t_compare', + 'ccase_t_size', + 'ccase_t_value', + 'ccase_t_values_get', + 'ccase_t_values_set', + 'ccases_t___eq__', + 'ccases_t___ge__', + 'ccases_t___gt__', + 'ccases_t___le__', + 'ccases_t___lt__', + 'ccases_t___ne__', + 'ccases_t_compare', + 'cdg_insn_iterator_t_dslot_get', + 'cdg_insn_iterator_t_dslot_insn_get', + 'cdg_insn_iterator_t_dslot_insn_set', + 'cdg_insn_iterator_t_dslot_set', + 'cdg_insn_iterator_t_dslot_with_xrefs', + 'cdg_insn_iterator_t_ea_get', + 'cdg_insn_iterator_t_ea_set', + 'cdg_insn_iterator_t_end_get', + 'cdg_insn_iterator_t_end_set', + 'cdg_insn_iterator_t_has_dslot', + 'cdg_insn_iterator_t_is_likely_dslot_get', + 'cdg_insn_iterator_t_is_likely_dslot_set', + 'cdg_insn_iterator_t_is_separate_dslot_get', + 'cdg_insn_iterator_t_is_separate_dslot_set', + 'cdg_insn_iterator_t_next', + 'cdg_insn_iterator_t_ok', + 'cdg_insn_iterator_t_start', + 'cdo_t___eq__', + 'cdo_t___ge__', + 'cdo_t___gt__', + 'cdo_t___le__', + 'cdo_t___lt__', + 'cdo_t___ne__', + 'cdo_t_compare', + 'ceinsn_t_expr_get', + 'ceinsn_t_expr_set', + 'cexpr_t___eq__', + 'cexpr_t___ge__', + 'cexpr_t___gt__', + 'cexpr_t___le__', + 'cexpr_t___lt__', + 'cexpr_t___ne__', + 'cexpr_t__deregister', + 'cexpr_t__get_a', + 'cexpr_t__get_fpc', + 'cexpr_t__get_helper', + 'cexpr_t__get_insn', + 'cexpr_t__get_m', + 'cexpr_t__get_n', + 'cexpr_t__get_obj_ea', + 'cexpr_t__get_ptrsize', + 'cexpr_t__get_refwidth', + 'cexpr_t__get_string', + 'cexpr_t__get_x', + 'cexpr_t__get_y', + 'cexpr_t__get_z', + 'cexpr_t__register', + 'cexpr_t__replace_by', + 'cexpr_t__set_a', + 'cexpr_t__set_fpc', + 'cexpr_t__set_helper', + 'cexpr_t__set_insn', + 'cexpr_t__set_m', + 'cexpr_t__set_n', + 'cexpr_t__set_obj_ea', + 'cexpr_t__set_ptrsize', + 'cexpr_t__set_refwidth', + 'cexpr_t__set_string', + 'cexpr_t__set_x', + 'cexpr_t__set_y', + 'cexpr_t__set_z', + 'cexpr_t_assign', + 'cexpr_t_calc_type', + 'cexpr_t_cleanup', + 'cexpr_t_compare', + 'cexpr_t_contains_comma', + 'cexpr_t_contains_comma_or_insn_or_label', + 'cexpr_t_contains_insn', + 'cexpr_t_contains_insn_or_label', + 'cexpr_t_contains_operator', + 'cexpr_t_cpadone', + 'cexpr_t_equal_effect', + 'cexpr_t_exflags_get', + 'cexpr_t_exflags_set', + 'cexpr_t_find_num_op', + 'cexpr_t_find_num_op__SWIG_0', + 'cexpr_t_find_num_op__SWIG_1', + 'cexpr_t_find_op', + 'cexpr_t_find_op__SWIG_0', + 'cexpr_t_find_op__SWIG_1', + 'cexpr_t_get_1num_op', + 'cexpr_t_get_const_value', + 'cexpr_t_get_high_nbit_bound', + 'cexpr_t_get_low_nbit_bound', + 'cexpr_t_get_ptr_or_array', + 'cexpr_t_get_type_sign', + 'cexpr_t_get_v', + 'cexpr_t_has_side_effects', + 'cexpr_t_is_call_arg_of', + 'cexpr_t_is_call_object_of', + 'cexpr_t_is_child_of', + 'cexpr_t_is_const_value', + 'cexpr_t_is_cstr', + 'cexpr_t_is_fpop', + 'cexpr_t_is_jumpout', + 'cexpr_t_is_negative_const', + 'cexpr_t_is_nice_cond', + 'cexpr_t_is_nice_expr', + 'cexpr_t_is_non_negative_const', + 'cexpr_t_is_non_zero_const', + 'cexpr_t_is_odd_lvalue', + 'cexpr_t_is_type_signed', + 'cexpr_t_is_type_unsigned', + 'cexpr_t_is_undef_val', + 'cexpr_t_is_vftable', + 'cexpr_t_is_zero_const', + 'cexpr_t_maybe_ptr', + 'cexpr_t_numval', + 'cexpr_t_print1', + 'cexpr_t_put_number', + 'cexpr_t_requires_lvalue', + 'cexpr_t_set_cpadone', + 'cexpr_t_set_v', + 'cexpr_t_set_vftable', + 'cexpr_t_swap', + 'cexpr_t_theother', + 'cexpr_t_theother__SWIG_0', + 'cexpr_t_theother__SWIG_1', + 'cexpr_t_type_get', + 'cexpr_t_type_set', + 'cfg_get_cc_header_path', + 'cfg_get_cc_parm', + 'cfg_get_cc_predefined_macros', + 'cfor_t___eq__', + 'cfor_t___ge__', + 'cfor_t___gt__', + 'cfor_t___le__', + 'cfor_t___lt__', + 'cfor_t___ne__', + 'cfor_t_compare', + 'cfor_t_init_get', + 'cfor_t_init_set', + 'cfor_t_step_get', + 'cfor_t_step_set', + 'cfunc_parentee_t_calc_rvalue_type', + 'cfunc_parentee_t_func_get', + 'cfunc_parentee_t_func_set', + 'cfunc_t___str__', + 'cfunc_t_argidx_get', + 'cfunc_t_body_get', + 'cfunc_t_body_set', + 'cfunc_t_build_c_tree', + 'cfunc_t_del_orphan_cmts', + 'cfunc_t_entry_ea_get', + 'cfunc_t_entry_ea_set', + 'cfunc_t_find_item_coords', + 'cfunc_t_find_item_coords__SWIG_0', + 'cfunc_t_find_item_coords__SWIG_1', + 'cfunc_t_find_label', + 'cfunc_t_gather_derefs', + 'cfunc_t_get_boundaries', + 'cfunc_t_get_eamap', + 'cfunc_t_get_func_type', + 'cfunc_t_get_line_item', + 'cfunc_t_get_lvars', + 'cfunc_t_get_pseudocode', + 'cfunc_t_get_stkoff_delta', + 'cfunc_t_get_user_cmt', + 'cfunc_t_get_user_iflags', + 'cfunc_t_get_user_union_selection', + 'cfunc_t_get_warnings', + 'cfunc_t_has_orphan_cmts', + 'cfunc_t_hdrlines_get', + 'cfunc_t_hdrlines_set', + 'cfunc_t_maturity_get', + 'cfunc_t_maturity_set', + 'cfunc_t_mba_get', + 'cfunc_t_mba_set', + 'cfunc_t_numforms_get', + 'cfunc_t_numforms_set', + 'cfunc_t_print_dcl', + 'cfunc_t_print_func', + 'cfunc_t_refcnt_get', + 'cfunc_t_refcnt_set', + 'cfunc_t_refresh_func_ctext', + 'cfunc_t_release', + 'cfunc_t_remove_unused_labels', + 'cfunc_t_save_user_cmts', + 'cfunc_t_save_user_iflags', + 'cfunc_t_save_user_labels', + 'cfunc_t_save_user_numforms', + 'cfunc_t_save_user_unions', + 'cfunc_t_set_user_cmt', + 'cfunc_t_set_user_iflags', + 'cfunc_t_set_user_union_selection', + 'cfunc_t_statebits_get', + 'cfunc_t_statebits_set', + 'cfunc_t_treeitems_get', + 'cfunc_t_treeitems_set', + 'cfunc_t_user_cmts_get', + 'cfunc_t_user_cmts_set', + 'cfunc_t_user_iflags_get', + 'cfunc_t_user_iflags_set', + 'cfunc_t_user_labels_get', + 'cfunc_t_user_labels_set', + 'cfunc_t_user_unions_get', + 'cfunc_t_user_unions_set', + 'cfunc_t_verify', + 'cfuncptr_t___deref__', + 'cfuncptr_t___ptrval__', + 'cfuncptr_t___ref__', + 'cfuncptr_t___str__', + 'cfuncptr_t_argidx_get', + 'cfuncptr_t_body_get', + 'cfuncptr_t_body_set', + 'cfuncptr_t_build_c_tree', + 'cfuncptr_t_del_orphan_cmts', + 'cfuncptr_t_entry_ea_get', + 'cfuncptr_t_entry_ea_set', + 'cfuncptr_t_find_item_coords', + 'cfuncptr_t_find_item_coords__SWIG_0', + 'cfuncptr_t_find_item_coords__SWIG_1', + 'cfuncptr_t_find_label', + 'cfuncptr_t_gather_derefs', + 'cfuncptr_t_get_boundaries', + 'cfuncptr_t_get_eamap', + 'cfuncptr_t_get_func_type', + 'cfuncptr_t_get_line_item', + 'cfuncptr_t_get_lvars', + 'cfuncptr_t_get_pseudocode', + 'cfuncptr_t_get_stkoff_delta', + 'cfuncptr_t_get_user_cmt', + 'cfuncptr_t_get_user_iflags', + 'cfuncptr_t_get_user_union_selection', + 'cfuncptr_t_get_warnings', + 'cfuncptr_t_has_orphan_cmts', + 'cfuncptr_t_hdrlines_get', + 'cfuncptr_t_hdrlines_set', + 'cfuncptr_t_maturity_get', + 'cfuncptr_t_maturity_set', + 'cfuncptr_t_mba_get', + 'cfuncptr_t_mba_set', + 'cfuncptr_t_numforms_get', + 'cfuncptr_t_numforms_set', + 'cfuncptr_t_print_dcl', + 'cfuncptr_t_print_func', + 'cfuncptr_t_refcnt_get', + 'cfuncptr_t_refcnt_set', + 'cfuncptr_t_refresh_func_ctext', + 'cfuncptr_t_release', + 'cfuncptr_t_remove_unused_labels', + 'cfuncptr_t_reset', + 'cfuncptr_t_save_user_cmts', + 'cfuncptr_t_save_user_iflags', + 'cfuncptr_t_save_user_labels', + 'cfuncptr_t_save_user_numforms', + 'cfuncptr_t_save_user_unions', + 'cfuncptr_t_set_user_cmt', + 'cfuncptr_t_set_user_iflags', + 'cfuncptr_t_set_user_union_selection', + 'cfuncptr_t_statebits_get', + 'cfuncptr_t_statebits_set', + 'cfuncptr_t_treeitems_get', + 'cfuncptr_t_treeitems_set', + 'cfuncptr_t_user_cmts_get', + 'cfuncptr_t_user_cmts_set', + 'cfuncptr_t_user_iflags_get', + 'cfuncptr_t_user_iflags_set', + 'cfuncptr_t_user_labels_get', + 'cfuncptr_t_user_labels_set', + 'cfuncptr_t_user_unions_get', + 'cfuncptr_t_user_unions_set', + 'cfuncptr_t_verify', + 'cgoto_t___eq__', + 'cgoto_t___ge__', + 'cgoto_t___gt__', + 'cgoto_t___le__', + 'cgoto_t___lt__', + 'cgoto_t___ne__', + 'cgoto_t_compare', + 'cgoto_t_label_num_get', + 'cgoto_t_label_num_set', + 'chain_keeper_t_back', + 'chain_keeper_t_for_all_chains', + 'chain_keeper_t_front', + 'chain_t___lt__', + 'chain_t__print', + 'chain_t_append_list', + 'chain_t_clear_varnum', + 'chain_t_dstr', + 'chain_t_endoff', + 'chain_t_flags_get', + 'chain_t_flags_set', + 'chain_t_get_reg', + 'chain_t_get_stkoff', + 'chain_t_includes', + 'chain_t_is_fake', + 'chain_t_is_inited', + 'chain_t_is_overlapped', + 'chain_t_is_passreg', + 'chain_t_is_reg', + 'chain_t_is_replaced', + 'chain_t_is_stkoff', + 'chain_t_is_term', + 'chain_t_key', + 'chain_t_overlap', + 'chain_t_set_inited', + 'chain_t_set_overlapped', + 'chain_t_set_replaced', + 'chain_t_set_term', + 'chain_t_set_value', + 'chain_t_varnum_get', + 'chain_t_varnum_set', + 'chain_t_width_get', + 'chain_t_width_set', + 'chain_visitor_t_parent_get', + 'chain_visitor_t_parent_set', + 'chain_visitor_t_visit_chain', + 'change_segment_status', + 'change_storage_type', + 'channel_redir_t_fd_get', + 'channel_redir_t_fd_set', + 'channel_redir_t_file_get', + 'channel_redir_t_file_set', + 'channel_redir_t_flags_get', + 'channel_redir_t_flags_set', + 'channel_redir_t_is_append', + 'channel_redir_t_is_input', + 'channel_redir_t_is_output', + 'channel_redir_t_is_quoted', + 'channel_redir_t_length_get', + 'channel_redir_t_length_set', + 'channel_redir_t_start_get', + 'channel_redir_t_start_set', + 'char_flag', + 'check_bpt', + 'check_process_exit', + 'checkout_hexrays_license', + 'choose_activate', + 'choose_choose', + 'choose_close', + 'choose_create_embedded_chobj', + 'choose_entry', + 'choose_enum', + 'choose_enum_by_value', + 'choose_find', + 'choose_func', + 'choose_get_widget', + 'choose_idasgn', + 'choose_local_tinfo', + 'choose_local_tinfo_and_delta', + 'choose_name', + 'choose_named_type', + 'choose_refresh', + 'choose_segm', + 'choose_srcp', + 'choose_stkvar_xref', + 'choose_struc', + 'choose_til', + 'choose_trace_file', + 'choose_xref', + 'chooser_item_attrs_t_color_get', + 'chooser_item_attrs_t_color_set', + 'chooser_item_attrs_t_flags_get', + 'chooser_item_attrs_t_flags_set', + 'chooser_item_attrs_t_reset', + 'chunk_size', + 'chunk_start', + 'cif_t___eq__', + 'cif_t___ge__', + 'cif_t___gt__', + 'cif_t___le__', + 'cif_t___lt__', + 'cif_t___ne__', + 'cif_t_assign', + 'cif_t_cleanup', + 'cif_t_compare', + 'cif_t_ielse_get', + 'cif_t_ielse_set', + 'cif_t_ithen_get', + 'cif_t_ithen_set', + 'cinsn_t___eq__', + 'cinsn_t___ge__', + 'cinsn_t___gt__', + 'cinsn_t___le__', + 'cinsn_t___lt__', + 'cinsn_t___ne__', + 'cinsn_t__deregister', + 'cinsn_t__get_casm', + 'cinsn_t__get_cblock', + 'cinsn_t__get_cdo', + 'cinsn_t__get_cexpr', + 'cinsn_t__get_cfor', + 'cinsn_t__get_cgoto', + 'cinsn_t__get_cif', + 'cinsn_t__get_creturn', + 'cinsn_t__get_cswitch', + 'cinsn_t__get_cwhile', + 'cinsn_t__print', + 'cinsn_t__register', + 'cinsn_t__replace_by', + 'cinsn_t__set_casm', + 'cinsn_t__set_cblock', + 'cinsn_t__set_cdo', + 'cinsn_t__set_cexpr', + 'cinsn_t__set_cfor', + 'cinsn_t__set_cgoto', + 'cinsn_t__set_cif', + 'cinsn_t__set_creturn', + 'cinsn_t__set_cswitch', + 'cinsn_t__set_cwhile', + 'cinsn_t_assign', + 'cinsn_t_cleanup', + 'cinsn_t_collect_free_breaks', + 'cinsn_t_collect_free_continues', + 'cinsn_t_compare', + 'cinsn_t_contains_free_break', + 'cinsn_t_contains_free_continue', + 'cinsn_t_contains_insn', + 'cinsn_t_create_if', + 'cinsn_t_insn_is_epilog', + 'cinsn_t_is_ordinary_flow', + 'cinsn_t_new_insn', + 'cinsn_t_print1', + 'cinsn_t_swap', + 'cinsn_t_zero', + 'cinsnptrvec_t___eq__', + 'cinsnptrvec_t___getitem__', + 'cinsnptrvec_t___len__', + 'cinsnptrvec_t___ne__', + 'cinsnptrvec_t___setitem__', + 'cinsnptrvec_t__del', + 'cinsnptrvec_t_add_unique', + 'cinsnptrvec_t_at', + 'cinsnptrvec_t_begin', + 'cinsnptrvec_t_begin__SWIG_0', + 'cinsnptrvec_t_begin__SWIG_1', + 'cinsnptrvec_t_capacity', + 'cinsnptrvec_t_clear', + 'cinsnptrvec_t_empty', + 'cinsnptrvec_t_end', + 'cinsnptrvec_t_end__SWIG_0', + 'cinsnptrvec_t_end__SWIG_1', + 'cinsnptrvec_t_erase', + 'cinsnptrvec_t_erase__SWIG_0', + 'cinsnptrvec_t_erase__SWIG_1', + 'cinsnptrvec_t_extract', + 'cinsnptrvec_t_find', + 'cinsnptrvec_t_find__SWIG_0', + 'cinsnptrvec_t_find__SWIG_1', + 'cinsnptrvec_t_has', + 'cinsnptrvec_t_inject', + 'cinsnptrvec_t_insert', + 'cinsnptrvec_t_pop_back', + 'cinsnptrvec_t_push_back', + 'cinsnptrvec_t_push_back__SWIG_0', + 'cinsnptrvec_t_push_back__SWIG_1', + 'cinsnptrvec_t_qclear', + 'cinsnptrvec_t_reserve', + 'cinsnptrvec_t_resize', + 'cinsnptrvec_t_resize__SWIG_0', + 'cinsnptrvec_t_resize__SWIG_1', + 'cinsnptrvec_t_size', + 'cinsnptrvec_t_swap', + 'cinsnptrvec_t_truncate', + 'citem_cmt_t___str__', + 'citem_cmt_t_c_str', + 'citem_cmt_t_used_get', + 'citem_cmt_t_used_set', + 'citem_locator_t___eq__', + 'citem_locator_t___ge__', + 'citem_locator_t___gt__', + 'citem_locator_t___le__', + 'citem_locator_t___lt__', + 'citem_locator_t___ne__', + 'citem_locator_t_compare', + 'citem_locator_t_ea_get', + 'citem_locator_t_ea_set', + 'citem_locator_t_op_get', + 'citem_locator_t_op_set', + 'citem_t__get_op', + 'citem_t__obj_id', + 'citem_t__set_op', + 'citem_t_cexpr_get', + 'citem_t_cinsn_get', + 'citem_t_contains_expr', + 'citem_t_contains_label', + 'citem_t_ea_get', + 'citem_t_ea_set', + 'citem_t_find_closest_addr', + 'citem_t_find_parent_of', + 'citem_t_find_parent_of__SWIG_0', + 'citem_t_find_parent_of__SWIG_1', + 'citem_t_index_get', + 'citem_t_index_set', + 'citem_t_is_expr', + 'citem_t_label_num_get', + 'citem_t_label_num_set', + 'citem_t_print1', + 'citem_t_swap', + 'cleanup_appcall', + 'cleanup_name', + 'clear_bits', + 'clear_cached_cfuncs', + 'clear_refresh_request', + 'clear_requests_queue', + 'clear_strlist', + 'clear_tinfo_t', + 'clear_trace', + 'cloop_t_assign', + 'cloop_t_body_get', + 'cloop_t_body_set', + 'cloop_t_cleanup', + 'close_chooser', + 'close_linput', + 'close_pseudocode', + 'close_widget', + 'clr__bnot0', + 'clr__bnot1', + 'clr__invsign0', + 'clr__invsign1', + 'clr_abits', + 'clr_align_flow', + 'clr_cancelled', + 'clr_colored_item', + 'clr_database_flag', + 'clr_fixed_spd', + 'clr_has_lname', + 'clr_has_ti', + 'clr_has_ti0', + 'clr_has_ti1', + 'clr_libitem', + 'clr_lzero', + 'clr_lzero0', + 'clr_lzero1', + 'clr_node_info', + 'clr_noret', + 'clr_notcode', + 'clr_notproc', + 'clr_op_type', + 'clr_retfp', + 'clr_terse_struc', + 'clr_tilcmt', + 'clr_usemodsp', + 'clr_usersp', + 'clr_userti', + 'clr_zstroff', + 'cnumber_t___eq__', + 'cnumber_t___ge__', + 'cnumber_t___gt__', + 'cnumber_t___le__', + 'cnumber_t___lt__', + 'cnumber_t___ne__', + 'cnumber_t__print', + 'cnumber_t__value_get', + 'cnumber_t__value_set', + 'cnumber_t_assign', + 'cnumber_t_compare', + 'cnumber_t_nf_get', + 'cnumber_t_nf_set', + 'cnumber_t_value', + 'code_flag', + 'codegen_t_analyze_prolog', + 'codegen_t_emit', + 'codegen_t_emit__SWIG_0', + 'codegen_t_emit__SWIG_1', + 'codegen_t_emit_micro_mvm', + 'codegen_t_gen_micro', + 'codegen_t_ignore_micro_get', + 'codegen_t_ignore_micro_set', + 'codegen_t_ii_get', + 'codegen_t_ii_set', + 'codegen_t_insn_get', + 'codegen_t_insn_set', + 'codegen_t_load_operand', + 'codegen_t_mb_get', + 'codegen_t_mb_set', + 'codegen_t_mba_get', + 'codegen_t_mba_set', + 'collect_stack_trace', + 'compact_til', + 'compare_tinfo', + 'compile_idc_file', + 'compile_idc_snippet', + 'compile_idc_text', + 'compiler_info_t_cm_get', + 'compiler_info_t_cm_set', + 'compiler_info_t_defalign_get', + 'compiler_info_t_defalign_set', + 'compiler_info_t_id_get', + 'compiler_info_t_id_set', + 'compiler_info_t_size_b_get', + 'compiler_info_t_size_b_set', + 'compiler_info_t_size_e_get', + 'compiler_info_t_size_e_set', + 'compiler_info_t_size_i_get', + 'compiler_info_t_size_i_set', + 'compiler_info_t_size_l_get', + 'compiler_info_t_size_l_set', + 'compiler_info_t_size_ldbl_get', + 'compiler_info_t_size_ldbl_set', + 'compiler_info_t_size_ll_get', + 'compiler_info_t_size_ll_set', + 'compiler_info_t_size_s_get', + 'compiler_info_t_size_s_set', + 'const_aloc_visitor_t_visit_location', + 'construct_macro', + 'contains_fixups', + 'continue_process', + 'convert_pt_flags_to_hti', + 'convert_to_user_call', + 'copy_idcv', + 'copy_named_type', + 'copy_sreg_ranges', + 'copy_tinfo_t', + 'create_16bit_data', + 'create_32bit_data', + 'create_align', + 'create_byte', + 'create_bytearray_linput', + 'create_code_viewer', + 'create_custdata', + 'create_data', + 'create_disasm_graph', + 'create_disasm_graph__SWIG_0', + 'create_disasm_graph__SWIG_1', + 'create_double', + 'create_dword', + 'create_empty_widget', + 'create_encoding_helper', + 'create_field_name', + 'create_float', + 'create_generic_linput', + 'create_graph_viewer', + 'create_idcv_ref', + 'create_insn', + 'create_memory_linput', + 'create_menu', + 'create_mutable_graph', + 'create_numbered_type_name', + 'create_outctx', + 'create_oword', + 'create_packed_real', + 'create_qword', + 'create_source_viewer', + 'create_strlit', + 'create_struct', + 'create_switch_table', + 'create_switch_xrefs', + 'create_tbyte', + 'create_tinfo', + 'create_toolbar', + 'create_typedef', + 'create_typedef__SWIG_0', + 'create_typedef__SWIG_1', + 'create_user_graph_place', + 'create_word', + 'create_yword', + 'create_zword', + 'creturn_t___eq__', + 'creturn_t___ge__', + 'creturn_t___gt__', + 'creturn_t___le__', + 'creturn_t___lt__', + 'creturn_t___ne__', + 'creturn_t_compare', + 'cswitch_t___eq__', + 'cswitch_t___ge__', + 'cswitch_t___gt__', + 'cswitch_t___le__', + 'cswitch_t___lt__', + 'cswitch_t___ne__', + 'cswitch_t_cases_get', + 'cswitch_t_cases_set', + 'cswitch_t_compare', + 'cswitch_t_mvnf_get', + 'cswitch_t_mvnf_set', + 'ctext_position_t___eq__', + 'ctext_position_t___ge__', + 'ctext_position_t___gt__', + 'ctext_position_t___le__', + 'ctext_position_t___lt__', + 'ctext_position_t___ne__', + 'ctext_position_t_compare', + 'ctext_position_t_in_ctree', + 'ctext_position_t_lnnum_get', + 'ctext_position_t_lnnum_set', + 'ctext_position_t_x_get', + 'ctext_position_t_x_set', + 'ctext_position_t_y_get', + 'ctext_position_t_y_set', + 'ctree_anchor_t_get_index', + 'ctree_anchor_t_get_itp', + 'ctree_anchor_t_is_blkcmt_anchor', + 'ctree_anchor_t_is_citem_anchor', + 'ctree_anchor_t_is_itp_anchor', + 'ctree_anchor_t_is_lvar_anchor', + 'ctree_anchor_t_is_valid_anchor', + 'ctree_anchor_t_value_get', + 'ctree_anchor_t_value_set', + 'ctree_item_t__get_e', + 'ctree_item_t__get_f', + 'ctree_item_t__get_i', + 'ctree_item_t__get_it', + 'ctree_item_t__get_l', + 'ctree_item_t_citype_get', + 'ctree_item_t_citype_set', + 'ctree_item_t_get_ea', + 'ctree_item_t_get_label_num', + 'ctree_item_t_get_lvar', + 'ctree_item_t_get_memptr', + 'ctree_item_t_is_citem', + 'ctree_item_t_loc_get', + 'ctree_items_t___eq__', + 'ctree_items_t___getitem__', + 'ctree_items_t___len__', + 'ctree_items_t___ne__', + 'ctree_items_t___setitem__', + 'ctree_items_t__del', + 'ctree_items_t_add_unique', + 'ctree_items_t_at', + 'ctree_items_t_begin', + 'ctree_items_t_begin__SWIG_0', + 'ctree_items_t_begin__SWIG_1', + 'ctree_items_t_capacity', + 'ctree_items_t_clear', + 'ctree_items_t_empty', + 'ctree_items_t_end', + 'ctree_items_t_end__SWIG_0', + 'ctree_items_t_end__SWIG_1', + 'ctree_items_t_erase', + 'ctree_items_t_erase__SWIG_0', + 'ctree_items_t_erase__SWIG_1', + 'ctree_items_t_extract', + 'ctree_items_t_find', + 'ctree_items_t_find__SWIG_0', + 'ctree_items_t_find__SWIG_1', + 'ctree_items_t_has', + 'ctree_items_t_inject', + 'ctree_items_t_insert', + 'ctree_items_t_pop_back', + 'ctree_items_t_push_back', + 'ctree_items_t_push_back__SWIG_0', + 'ctree_items_t_push_back__SWIG_1', + 'ctree_items_t_qclear', + 'ctree_items_t_reserve', + 'ctree_items_t_resize', + 'ctree_items_t_resize__SWIG_0', + 'ctree_items_t_resize__SWIG_1', + 'ctree_items_t_size', + 'ctree_items_t_swap', + 'ctree_items_t_truncate', + 'ctree_parentee_t_recalc_parent_types', + 'ctree_visitor_t_apply_to', + 'ctree_visitor_t_apply_to_exprs', + 'ctree_visitor_t_clr_prune', + 'ctree_visitor_t_clr_restart', + 'ctree_visitor_t_cv_flags_get', + 'ctree_visitor_t_cv_flags_set', + 'ctree_visitor_t_is_postorder', + 'ctree_visitor_t_leave_expr', + 'ctree_visitor_t_leave_insn', + 'ctree_visitor_t_maintain_parents', + 'ctree_visitor_t_must_prune', + 'ctree_visitor_t_must_restart', + 'ctree_visitor_t_only_insns', + 'ctree_visitor_t_parent_expr', + 'ctree_visitor_t_parent_insn', + 'ctree_visitor_t_parents_get', + 'ctree_visitor_t_parents_set', + 'ctree_visitor_t_prune_now', + 'ctree_visitor_t_set_restart', + 'ctree_visitor_t_visit_expr', + 'ctree_visitor_t_visit_insn', + 'cust_flag', + 'custfmt_flag', + 'custom_data_type_ids_fids_array___getitem__', + 'custom_data_type_ids_fids_array___len__', + 'custom_data_type_ids_fids_array___setitem__', + 'custom_data_type_ids_fids_array_data_get', + 'custom_data_type_ids_t___getFids', + 'custom_data_type_ids_t_dtid_get', + 'custom_data_type_ids_t_dtid_set', + 'custom_data_type_ids_t_fids_get', + 'custom_data_type_ids_t_fids_set', + 'custom_viewer_jump', + 'cwhile_t___eq__', + 'cwhile_t___ge__', + 'cwhile_t___gt__', + 'cwhile_t___le__', + 'cwhile_t___lt__', + 'cwhile_t___ne__', + 'cwhile_t_compare', + 'data_format_t___get_id', + 'data_format_t_hotkey_get', + 'data_format_t_hotkey_set', + 'data_format_t_is_present_in_menus', + 'data_format_t_menu_name_get', + 'data_format_t_menu_name_set', + 'data_format_t_name_get', + 'data_format_t_name_set', + 'data_format_t_props_get', + 'data_format_t_props_set', + 'data_format_t_text_width_get', + 'data_format_t_text_width_set', + 'data_format_t_value_size_get', + 'data_format_t_value_size_set', + 'data_type_t___get_id', + 'data_type_t_asm_keyword_get', + 'data_type_t_asm_keyword_set', + 'data_type_t_hotkey_get', + 'data_type_t_hotkey_set', + 'data_type_t_is_present_in_menus', + 'data_type_t_menu_name_get', + 'data_type_t_menu_name_set', + 'data_type_t_name_get', + 'data_type_t_name_set', + 'data_type_t_props_get', + 'data_type_t_props_set', + 'data_type_t_value_size_get', + 'data_type_t_value_size_set', + 'dbg_add_bpt_tev', + 'dbg_add_call_tev', + 'dbg_add_debug_event', + 'dbg_add_insn_tev', + 'dbg_add_many_tevs', + 'dbg_add_ret_tev', + 'dbg_add_tev', + 'dbg_add_thread', + 'dbg_appcall', + 'dbg_bin_search', + 'dbg_can_query', + 'dbg_del_thread', + 'dbg_get_input_path', + 'dbg_get_memory_info', + 'dbg_get_name', + 'dbg_get_registers', + 'dbg_get_thread_sreg_base', + 'dbg_is_loaded', + 'dbg_read_memory', + 'dbg_write_memory', + 'debapp_attrs_t_addrsize_get', + 'debapp_attrs_t_addrsize_set', + 'debapp_attrs_t_cbsize_get', + 'debapp_attrs_t_cbsize_set', + 'debapp_attrs_t_is_be_get', + 'debapp_attrs_t_is_be_set', + 'debapp_attrs_t_platform_get', + 'debapp_attrs_t_platform_set', + 'debug_event_t_bpt', + 'debug_event_t_bpt__SWIG_0', + 'debug_event_t_bpt__SWIG_1', + 'debug_event_t_bpt_ea', + 'debug_event_t_clear', + 'debug_event_t_clear_all', + 'debug_event_t_copy', + 'debug_event_t_ea_get', + 'debug_event_t_ea_set', + 'debug_event_t_eid', + 'debug_event_t_exc', + 'debug_event_t_exc__SWIG_0', + 'debug_event_t_exc__SWIG_1', + 'debug_event_t_exit_code', + 'debug_event_t_handled_get', + 'debug_event_t_handled_set', + 'debug_event_t_info', + 'debug_event_t_info__SWIG_0', + 'debug_event_t_info__SWIG_1', + 'debug_event_t_modinfo', + 'debug_event_t_modinfo__SWIG_0', + 'debug_event_t_modinfo__SWIG_1', + 'debug_event_t_pid_get', + 'debug_event_t_pid_set', + 'debug_event_t_set_bpt', + 'debug_event_t_set_eid', + 'debug_event_t_set_exception', + 'debug_event_t_set_exit_code', + 'debug_event_t_set_info', + 'debug_event_t_set_modinfo', + 'debug_event_t_tid_get', + 'debug_event_t_tid_set', + 'debug_hexrays_ctree', + 'dec_flag', + 'decode_insn', + 'decode_preceding_insn', + 'decode_prev_insn', + 'decompile', + 'decompile_func', + 'decompile_many', + 'deep_copy_idcv', + 'default_compiler', + 'define_exception', + 'define_stkvar', + 'del_absbase', + 'del_aflags', + 'del_alignment', + 'del_array_parameters', + 'del_bpt', + 'del_bpt__SWIG_0', + 'del_bpt__SWIG_1', + 'del_bptgrp', + 'del_cref', + 'del_custom_data_type_ids', + 'del_debug_names', + 'del_dref', + 'del_encoding', + 'del_enum', + 'del_enum_member', + 'del_extra_cmt', + 'del_fixup', + 'del_frame', + 'del_func', + 'del_global_name', + 'del_hidden_range', + 'del_hotkey', + 'del_idasgn', + 'del_idc_hotkey', + 'del_idcv_attr', + 'del_ind_purged', + 'del_item_color', + 'del_items', + 'del_local_name', + 'del_mapping', + 'del_member_tinfo', + 'del_named_type', + 'del_node_info', + 'del_numbered_type', + 'del_op_tinfo', + 'del_refinfo', + 'del_regvar', + 'del_segm', + 'del_segment_translations', + 'del_selector', + 'del_source_linnum', + 'del_sourcefile', + 'del_sreg_range', + 'del_stkpnt', + 'del_str_type', + 'del_struc', + 'del_struc_member', + 'del_struc_members', + 'del_switch_info', + 'del_switch_parent', + 'del_til', + 'del_tinfo', + 'del_tinfo_attr', + 'del_tryblks', + 'del_value', + 'del_virt_module', + 'delay_slot_insn', + 'delete_DBG_Hooks', + 'delete_Hexrays_Hooks', + 'delete_IDB_Hooks', + 'delete_IDP_Hooks', + 'delete_TPointDouble', + 'delete_UI_Hooks', + 'delete_View_Hooks', + 'delete___qmutex_t', + 'delete___qsemaphore_t', + 'delete___qthread_t', + 'delete___qtimer_t', + 'delete_action_ctx_base_t', + 'delete_action_desc_t', + 'delete_addon_info_t', + 'delete_aloc_visitor_t', + 'delete_argloc_t', + 'delete_argpart_t', + 'delete_argpartvec_t', + 'delete_array_of_bitsets', + 'delete_array_of_ivlsets', + 'delete_array_of_rangesets', + 'delete_array_parameters_t', + 'delete_array_type_data_t', + 'delete_asm_t', + 'delete_auto_display_t', + 'delete_bgcolors_t', + 'delete_bit_bound_t', + 'delete_bitfield_type_data_t', + 'delete_bitset_t', + 'delete_block_chains_iterator_t', + 'delete_block_chains_t', + 'delete_block_chains_vec_t', + 'delete_boolvec_t', + 'delete_boundaries_iterator_t', + 'delete_boundaries_t', + 'delete_bpt_location_t', + 'delete_bpt_t', + 'delete_bpt_vec_t', + 'delete_bptaddr_t', + 'delete_call_stack_info_t', + 'delete_call_stack_t', + 'delete_callregs_t', + 'delete_carg_t', + 'delete_carglist_t', + 'delete_cases_and_targets_t', + 'delete_casevec_t', + 'delete_casm_t', + 'delete_catch_t', + 'delete_catchvec_t', + 'delete_cblock_t', + 'delete_ccase_t', + 'delete_ccases_t', + 'delete_cdg_insn_iterator_t', + 'delete_cdo_t', + 'delete_ceinsn_t', + 'delete_cexpr_t', + 'delete_cfor_t', + 'delete_cfunc_parentee_t', + 'delete_cfunc_t', + 'delete_cfuncptr_t', + 'delete_cgoto_t', + 'delete_chain_keeper_t', + 'delete_chain_t', + 'delete_chain_visitor_t', + 'delete_channel_redir_t', + 'delete_chooser_item_attrs_t', + 'delete_cif_t', + 'delete_cinsn_t', + 'delete_cinsnptrvec_t', + 'delete_citem_cmt_t', + 'delete_citem_locator_t', + 'delete_citem_t', + 'delete_cloop_t', + 'delete_cnumber_t', + 'delete_codegen_t', + 'delete_compiler_info_t', + 'delete_const_aloc_visitor_t', + 'delete_creturn_t', + 'delete_cswitch_t', + 'delete_ctext_position_t', + 'delete_ctree_anchor_t', + 'delete_ctree_item_t', + 'delete_ctree_items_t', + 'delete_ctree_parentee_t', + 'delete_ctree_visitor_t', + 'delete_custom_data_type_ids_fids_array', + 'delete_custom_data_type_ids_t', + 'delete_cwhile_t', + 'delete_data_format_t', + 'delete_data_type_t', + 'delete_debapp_attrs_t', + 'delete_debug_event_t', + 'delete_disasm_line_t', + 'delete_disasm_text_t', + 'delete_ea_array', + 'delete_ea_name_t', + 'delete_ea_name_vec_t', + 'delete_ea_pointer', + 'delete_eamap_iterator_t', + 'delete_eamap_t', + 'delete_edge_info_t', + 'delete_edge_layout_point_t', + 'delete_edge_segment_t', + 'delete_edge_t', + 'delete_enum_const_t', + 'delete_enum_member_t', + 'delete_enum_member_vec_t', + 'delete_enum_member_visitor_t', + 'delete_enum_type_data_t', + 'delete_enumplace_t', + 'delete_eval_ctx_t', + 'delete_exception_info_t', + 'delete_excinfo_t', + 'delete_excvec_t', + 'delete_extra_cmts', + 'delete_fixup_data_t', + 'delete_fixup_info_t', + 'delete_fnum_array', + 'delete_fnumber_t', + 'delete_func_item_iterator_t', + 'delete_func_parent_iterator_t', + 'delete_func_t', + 'delete_func_tail_iterator_t', + 'delete_func_type_data_t', + 'delete_funcarg_t', + 'delete_funcargvec_t', + 'delete_gco_info_t', + 'delete_generic_linput_t', + 'delete_graph_chains_t', + 'delete_graph_item_t', + 'delete_graph_location_info_t', + 'delete_graph_node_visitor_t', + 'delete_graph_path_visitor_t', + 'delete_graph_visitor_t', + 'delete_group_crinfo_t', + 'delete_hexrays_failure_t', + 'delete_hexwarn_t', + 'delete_hexwarns_t', + 'delete_hidden_range_t', + 'delete_highlighter_cbs_t', + 'delete_history_item_t', + 'delete_history_t', + 'delete_ida_lowertype_helper_t', + 'delete_idaplace_t', + 'delete_idc_global_t', + 'delete_idc_value_t', + 'delete_idc_values_t', + 'delete_idp_desc_t', + 'delete_idp_name_t', + 'delete_imports', + 'delete_insn_t', + 'delete_instant_dbgopts_t', + 'delete_int_pointer', + 'delete_interval_t', + 'delete_intvec_t', + 'delete_ivl_t', + 'delete_ivl_with_name_t', + 'delete_ivlset_t', + 'delete_llabel_t', + 'delete_loader_input_t', + 'delete_loader_t', + 'delete_lochist_entry_t', + 'delete_lochist_t', + 'delete_lock_func', + 'delete_lock_segment', + 'delete_longlongvec_t', + 'delete_lowertype_helper_t', + 'delete_lvar_locator_t', + 'delete_lvar_mapping_iterator_t', + 'delete_lvar_mapping_t', + 'delete_lvar_ref_t', + 'delete_lvar_saved_info_t', + 'delete_lvar_saved_infos_t', + 'delete_lvar_t', + 'delete_lvar_uservec_t', + 'delete_lvars_t', + 'delete_mba_range_iterator_t', + 'delete_mba_ranges_t', + 'delete_mbl_array_t', + 'delete_mblock_t', + 'delete_mcallarg_t', + 'delete_mcallargs_t', + 'delete_mcallinfo_t', + 'delete_mcases_t', + 'delete_member_t', + 'delete_meminfo_vec_t', + 'delete_memory_info_t', + 'delete_memreg_info_t', + 'delete_memreg_infos_t', + 'delete_menu', + 'delete_microcode_filter_t', + 'delete_minsn_t', + 'delete_minsn_visitor_t', + 'delete_mlist_mop_visitor_t', + 'delete_mlist_t', + 'delete_mnumber_t', + 'delete_modinfo_t', + 'delete_mop_addr_t', + 'delete_mop_pair_t', + 'delete_mop_t', + 'delete_mop_visitor_t', + 'delete_mopvec_t', + 'delete_mutable_graph', + 'delete_mutable_graph_t', + 'delete_netnode', + 'delete_node_info_t', + 'delete_node_iterator', + 'delete_node_layout_t', + 'delete_node_ordering_t', + 'delete_number_format_t', + 'delete_op_parent_info_t', + 'delete_op_t', + 'delete_operand_locator_t', + 'delete_operands_array', + 'delete_operator_info_t', + 'delete_opinfo_t', + 'delete_optblock_t', + 'delete_optinsn_t', + 'delete_place_t', + 'delete_plugin_info_t', + 'delete_point_t', + 'delete_pointseq_t', + 'delete_pointvec_t', + 'delete_predicate_t', + 'delete_printop_t', + 'delete_process_info_t', + 'delete_procinfo_vec_t', + 'delete_ptr_type_data_t', + 'delete_qbasic_block_t', + 'delete_qfile_t', + 'delete_qflow_chart_t', + 'delete_qlist_cinsn_t', + 'delete_qlist_cinsn_t_iterator', + 'delete_qmutex_locker_t', + 'delete_qrefcnt_obj_t', + 'delete_qvector_carg_t', + 'delete_qvector_ccase_t', + 'delete_qvector_history_t', + 'delete_qvector_lvar_t', + 'delete_qvector_snapshotvec_t', + 'delete_range_array', + 'delete_range_t', + 'delete_rangeset_t', + 'delete_rangevec_base_t', + 'delete_rangevec_t', + 'delete_rect_t', + 'delete_refinfo_t', + 'delete_reg_info_t', + 'delete_regarg_t', + 'delete_reginfovec_t', + 'delete_register_info_t', + 'delete_regobj_t', + 'delete_regobjs_t', + 'delete_regobjvec_t', + 'delete_regval_t', + 'delete_regvar_array', + 'delete_regvar_t', + 'delete_renderer_info_pos_t', + 'delete_renderer_info_t', + 'delete_renderer_pos_info_t', + 'delete_rlist_t', + 'delete_row_info_t', + 'delete_rrel_t', + 'delete_scattered_aloc_t', + 'delete_scattered_segm_t', + 'delete_scif_t', + 'delete_scif_visitor_t', + 'delete_screen_graph_selection_base_t', + 'delete_screen_graph_selection_t', + 'delete_segm_move_info_t', + 'delete_segm_move_info_vec_t', + 'delete_segm_move_infos_t', + 'delete_segment_t', + 'delete_seh_t', + 'delete_sel_array', + 'delete_sel_pointer', + 'delete_selection_item_t', + 'delete_simd_info_t', + 'delete_simpleline_place_t', + 'delete_simpleline_t', + 'delete_sizevec_t', + 'delete_snapshot_t', + 'delete_sreg_range_t', + 'delete_stkpnt_array', + 'delete_stkpnt_t', + 'delete_stkpnts_t', + 'delete_stkvar_ref_t', + 'delete_strarray_t', + 'delete_string_info_t', + 'delete_strpath_ids_array', + 'delete_strpath_t', + 'delete_struc_t', + 'delete_struct_field_visitor_t', + 'delete_structplace_t', + 'delete_strvec_t', + 'delete_strwinsetup_t', + 'delete_sval_pointer', + 'delete_switch_info_t', + 'delete_switch_table', + 'delete_sync_source_t', + 'delete_tev_info_reg_t', + 'delete_tev_info_t', + 'delete_tev_reg_value_t', + 'delete_tev_reg_values_t', + 'delete_tevinforeg_vec_t', + 'delete_text_sink_t', + 'delete_thread_name_t', + 'delete_tid_array', + 'delete_til_symbol_t', + 'delete_til_t', + 'delete_tinfo_t', + 'delete_tinfo_visitor_t', + 'delete_toolbar', + 'delete_treeloc_t', + 'delete_try_handler_t', + 'delete_tryblk_t', + 'delete_tryblks_t', + 'delete_twinpos_t', + 'delete_type_attr_t', + 'delete_type_attrs_t', + 'delete_type_mods_t', + 'delete_typedef_type_data_t', + 'delete_uchar_array', + 'delete_udc_filter_t', + 'delete_udcall_map_iterator_t', + 'delete_udcall_t', + 'delete_udt_member_t', + 'delete_udt_type_data_t', + 'delete_udtmembervec_t', + 'delete_ui_requests_t', + 'delete_ui_stroff_applicator_t', + 'delete_ui_stroff_op_t', + 'delete_ui_stroff_ops_t', + 'delete_uintvec_t', + 'delete_ulonglongvec_t', + 'delete_unreferenced_stkvars', + 'delete_user_cmts_iterator_t', + 'delete_user_cmts_t', + 'delete_user_graph_place_t', + 'delete_user_iflags_iterator_t', + 'delete_user_iflags_t', + 'delete_user_labels_iterator_t', + 'delete_user_labels_t', + 'delete_user_lvar_modifier_t', + 'delete_user_numforms_iterator_t', + 'delete_user_numforms_t', + 'delete_user_unions_iterator_t', + 'delete_user_unions_t', + 'delete_uval_array', + 'delete_uval_ivl_ivlset_t', + 'delete_uval_ivl_t', + 'delete_valrng_t', + 'delete_valstr_t', + 'delete_valstrs_t', + 'delete_valstrvec_t', + 'delete_var_ref_t', + 'delete_vc_printer_t', + 'delete_vd_failure_t', + 'delete_vd_interr_t', + 'delete_vd_printer_t', + 'delete_vdloc_t', + 'delete_vdui_t', + 'delete_view_mouse_event_location_t', + 'delete_view_mouse_event_t', + 'delete_vivl_t', + 'delete_voff_t', + 'delete_wrong_stkvar_ops', + 'delete_xrefblk_t', + 'delete_xreflist_entry_t', + 'delete_xreflist_t', + 'demangle_name', + 'deref_idcv', + 'deref_ptr', + 'deserialize_tinfo', + 'detach_action_from_menu', + 'detach_action_from_popup', + 'detach_action_from_toolbar', + 'detach_custom_data_format', + 'detach_process', + 'diff_trace_file', + 'disable_bblk_trace', + 'disable_bpt', + 'disable_bpt__SWIG_0', + 'disable_bpt__SWIG_1', + 'disable_flags', + 'disable_func_trace', + 'disable_insn_trace', + 'disable_script_timeout', + 'disable_step_trace', + 'disasm_line_t_at_get', + 'disasm_line_t_at_set', + 'disasm_line_t_bg_color_get', + 'disasm_line_t_bg_color_set', + 'disasm_line_t_is_default_get', + 'disasm_line_t_is_default_set', + 'disasm_line_t_line_get', + 'disasm_line_t_line_set', + 'disasm_line_t_prefix_color_get', + 'disasm_line_t_prefix_color_set', + 'disasm_text_t___getitem__', + 'disasm_text_t___len__', + 'disasm_text_t___setitem__', + 'disasm_text_t_at', + 'disasm_text_t_begin', + 'disasm_text_t_begin__SWIG_0', + 'disasm_text_t_begin__SWIG_1', + 'disasm_text_t_capacity', + 'disasm_text_t_clear', + 'disasm_text_t_empty', + 'disasm_text_t_end', + 'disasm_text_t_end__SWIG_0', + 'disasm_text_t_end__SWIG_1', + 'disasm_text_t_erase', + 'disasm_text_t_erase__SWIG_0', + 'disasm_text_t_erase__SWIG_1', + 'disasm_text_t_extract', + 'disasm_text_t_grow', + 'disasm_text_t_inject', + 'disasm_text_t_insert', + 'disasm_text_t_pop_back', + 'disasm_text_t_push_back', + 'disasm_text_t_push_back__SWIG_0', + 'disasm_text_t_push_back__SWIG_1', + 'disasm_text_t_qclear', + 'disasm_text_t_reserve', + 'disasm_text_t_resize', + 'disasm_text_t_resize__SWIG_0', + 'disasm_text_t_resize__SWIG_1', + 'disasm_text_t_size', + 'disasm_text_t_swap', + 'disasm_text_t_truncate', + 'disown_DBG_Hooks', + 'disown_Hexrays_Hooks', + 'disown_IDB_Hooks', + 'disown_IDP_Hooks', + 'disown_UI_Hooks', + 'disown_View_Hooks', + 'disown_aloc_visitor_t', + 'disown_cfunc_parentee_t', + 'disown_chain_visitor_t', + 'disown_codegen_t', + 'disown_const_aloc_visitor_t', + 'disown_ctree_parentee_t', + 'disown_ctree_visitor_t', + 'disown_enum_member_visitor_t', + 'disown_graph_node_visitor_t', + 'disown_graph_path_visitor_t', + 'disown_graph_visitor_t', + 'disown_highlighter_cbs_t', + 'disown_microcode_filter_t', + 'disown_minsn_visitor_t', + 'disown_mlist_mop_visitor_t', + 'disown_mop_visitor_t', + 'disown_mutable_graph_t', + 'disown_optblock_t', + 'disown_optinsn_t', + 'disown_predicate_t', + 'disown_scif_visitor_t', + 'disown_struct_field_visitor_t', + 'disown_text_sink_t', + 'disown_tinfo_visitor_t', + 'disown_udc_filter_t', + 'disown_ui_stroff_applicator_t', + 'disown_user_lvar_modifier_t', + 'disown_vc_printer_t', + 'disown_vd_printer_t', + 'display_copyright_warning', + 'display_gdl', + 'display_widget', + 'double_flag', + 'dstr', + 'dstr_tinfo', + 'dummy_ptrtype', + 'dump_func_type_data', + 'dword_flag', + 'ea2node', + 'ea2str', + 'ea_array___getitem__', + 'ea_array___setitem__', + 'ea_array_cast', + 'ea_array_frompointer', + 'ea_name_t_ea_get', + 'ea_name_t_ea_set', + 'ea_name_t_name_get', + 'ea_name_t_name_set', + 'ea_name_vec_t___getitem__', + 'ea_name_vec_t___len__', + 'ea_name_vec_t___setitem__', + 'ea_name_vec_t_at', + 'ea_name_vec_t_begin', + 'ea_name_vec_t_begin__SWIG_0', + 'ea_name_vec_t_begin__SWIG_1', + 'ea_name_vec_t_capacity', + 'ea_name_vec_t_clear', + 'ea_name_vec_t_empty', + 'ea_name_vec_t_end', + 'ea_name_vec_t_end__SWIG_0', + 'ea_name_vec_t_end__SWIG_1', + 'ea_name_vec_t_erase', + 'ea_name_vec_t_erase__SWIG_0', + 'ea_name_vec_t_erase__SWIG_1', + 'ea_name_vec_t_extract', + 'ea_name_vec_t_grow', + 'ea_name_vec_t_inject', + 'ea_name_vec_t_insert', + 'ea_name_vec_t_pop_back', + 'ea_name_vec_t_push_back', + 'ea_name_vec_t_push_back__SWIG_0', + 'ea_name_vec_t_push_back__SWIG_1', + 'ea_name_vec_t_qclear', + 'ea_name_vec_t_reserve', + 'ea_name_vec_t_resize', + 'ea_name_vec_t_resize__SWIG_0', + 'ea_name_vec_t_resize__SWIG_1', + 'ea_name_vec_t_size', + 'ea_name_vec_t_swap', + 'ea_name_vec_t_truncate', + 'ea_pointer_assign', + 'ea_pointer_cast', + 'ea_pointer_frompointer', + 'ea_pointer_value', + 'ea_viewer_history_push_and_jump', + 'eamap_begin', + 'eamap_clear', + 'eamap_end', + 'eamap_erase', + 'eamap_find', + 'eamap_first', + 'eamap_free', + 'eamap_insert', + 'eamap_iterator_t___eq__', + 'eamap_iterator_t___ne__', + 'eamap_iterator_t_x_get', + 'eamap_iterator_t_x_set', + 'eamap_new', + 'eamap_next', + 'eamap_prev', + 'eamap_second', + 'eamap_size', + 'eamap_t_at', + 'eamap_t_size', + 'eclose', + 'edge_info_t_color_get', + 'edge_info_t_color_set', + 'edge_info_t_dstoff_get', + 'edge_info_t_dstoff_set', + 'edge_info_t_layout_get', + 'edge_info_t_layout_set', + 'edge_info_t_reverse_layout', + 'edge_info_t_srcoff_get', + 'edge_info_t_srcoff_set', + 'edge_info_t_width_get', + 'edge_info_t_width_set', + 'edge_infos_wrapper_t_clear', + 'edge_infos_wrapper_t_ptr_get', + 'edge_infos_wrapper_t_ptr_set', + 'edge_layout_point_t___eq__', + 'edge_layout_point_t___ne__', + 'edge_layout_point_t_compare', + 'edge_layout_point_t_e_get', + 'edge_layout_point_t_e_set', + 'edge_layout_point_t_pidx_get', + 'edge_layout_point_t_pidx_set', + 'edge_segment_t___lt__', + 'edge_segment_t_e_get', + 'edge_segment_t_e_set', + 'edge_segment_t_length', + 'edge_segment_t_nseg_get', + 'edge_segment_t_nseg_set', + 'edge_segment_t_toright', + 'edge_segment_t_x0_get', + 'edge_segment_t_x0_set', + 'edge_segment_t_x1_get', + 'edge_segment_t_x1_set', + 'edge_t___eq__', + 'edge_t___lt__', + 'edge_t___ne__', + 'edge_t_dst_get', + 'edge_t_dst_set', + 'edge_t_src_get', + 'edge_t_src_set', + 'edit_manual_regions', + 'enable_auto', + 'enable_bblk_trace', + 'enable_bpt', + 'enable_bpt__SWIG_0', + 'enable_bpt__SWIG_1', + 'enable_chooser_item_attrs', + 'enable_extlang_python', + 'enable_flags', + 'enable_func_trace', + 'enable_insn_trace', + 'enable_manual_regions', + 'enable_python_cli', + 'enable_step_trace', + 'encoding_from_strtype', + 'end_type_updating', + 'enum_const_t_serial_get', + 'enum_const_t_serial_set', + 'enum_const_t_tid_get', + 'enum_const_t_tid_set', + 'enum_flag', + 'enum_import_names', + 'enum_member_t___eq__', + 'enum_member_t___ne__', + 'enum_member_t_cmt_get', + 'enum_member_t_cmt_set', + 'enum_member_t_name_get', + 'enum_member_t_name_set', + 'enum_member_t_swap', + 'enum_member_t_value_get', + 'enum_member_t_value_set', + 'enum_member_vec_t___eq__', + 'enum_member_vec_t___getitem__', + 'enum_member_vec_t___len__', + 'enum_member_vec_t___ne__', + 'enum_member_vec_t___setitem__', + 'enum_member_vec_t__del', + 'enum_member_vec_t_add_unique', + 'enum_member_vec_t_at', + 'enum_member_vec_t_begin', + 'enum_member_vec_t_begin__SWIG_0', + 'enum_member_vec_t_begin__SWIG_1', + 'enum_member_vec_t_capacity', + 'enum_member_vec_t_clear', + 'enum_member_vec_t_empty', + 'enum_member_vec_t_end', + 'enum_member_vec_t_end__SWIG_0', + 'enum_member_vec_t_end__SWIG_1', + 'enum_member_vec_t_erase', + 'enum_member_vec_t_erase__SWIG_0', + 'enum_member_vec_t_erase__SWIG_1', + 'enum_member_vec_t_extract', + 'enum_member_vec_t_find', + 'enum_member_vec_t_find__SWIG_0', + 'enum_member_vec_t_find__SWIG_1', + 'enum_member_vec_t_grow', + 'enum_member_vec_t_has', + 'enum_member_vec_t_inject', + 'enum_member_vec_t_insert', + 'enum_member_vec_t_pop_back', + 'enum_member_vec_t_push_back', + 'enum_member_vec_t_push_back__SWIG_0', + 'enum_member_vec_t_push_back__SWIG_1', + 'enum_member_vec_t_qclear', + 'enum_member_vec_t_reserve', + 'enum_member_vec_t_resize', + 'enum_member_vec_t_resize__SWIG_0', + 'enum_member_vec_t_resize__SWIG_1', + 'enum_member_vec_t_size', + 'enum_member_vec_t_swap', + 'enum_member_vec_t_truncate', + 'enum_member_visitor_t_visit_enum_member', + 'enum_type_data_t_bte_get', + 'enum_type_data_t_bte_set', + 'enum_type_data_t_calc_mask', + 'enum_type_data_t_calc_nbytes', + 'enum_type_data_t_group_sizes_get', + 'enum_type_data_t_group_sizes_set', + 'enum_type_data_t_is_64bit', + 'enum_type_data_t_is_char', + 'enum_type_data_t_is_hex', + 'enum_type_data_t_is_sdec', + 'enum_type_data_t_is_udec', + 'enum_type_data_t_swap', + 'enum_type_data_t_taenum_bits_get', + 'enum_type_data_t_taenum_bits_set', + 'enumerate_files', + 'enumplace_t_bmask_get', + 'enumplace_t_bmask_set', + 'enumplace_t_idx_get', + 'enumplace_t_idx_set', + 'enumplace_t_serial_get', + 'enumplace_t_serial_set', + 'enumplace_t_value_get', + 'enumplace_t_value_set', + 'equal_bytes', + 'error', + 'error__varargs__', + 'eval_ctx_t_ea_get', + 'eval_ctx_t_ea_set', + 'eval_expr', + 'eval_idc_expr', + 'exception_info_t_break_on', + 'exception_info_t_code_get', + 'exception_info_t_code_set', + 'exception_info_t_desc_get', + 'exception_info_t_desc_set', + 'exception_info_t_flags_get', + 'exception_info_t_flags_set', + 'exception_info_t_handle', + 'exception_info_t_name_get', + 'exception_info_t_name_set', + 'excinfo_t_can_cont_get', + 'excinfo_t_can_cont_set', + 'excinfo_t_code_get', + 'excinfo_t_code_set', + 'excinfo_t_ea_get', + 'excinfo_t_ea_set', + 'excinfo_t_info_get', + 'excinfo_t_info_set', + 'excvec_t___getitem__', + 'excvec_t___len__', + 'excvec_t___setitem__', + 'excvec_t_at', + 'excvec_t_begin', + 'excvec_t_begin__SWIG_0', + 'excvec_t_begin__SWIG_1', + 'excvec_t_capacity', + 'excvec_t_clear', + 'excvec_t_empty', + 'excvec_t_end', + 'excvec_t_end__SWIG_0', + 'excvec_t_end__SWIG_1', + 'excvec_t_erase', + 'excvec_t_erase__SWIG_0', + 'excvec_t_erase__SWIG_1', + 'excvec_t_extract', + 'excvec_t_grow', + 'excvec_t_inject', + 'excvec_t_insert', + 'excvec_t_pop_back', + 'excvec_t_push_back', + 'excvec_t_push_back__SWIG_0', + 'excvec_t_push_back__SWIG_1', + 'excvec_t_qclear', + 'excvec_t_reserve', + 'excvec_t_resize', + 'excvec_t_resize__SWIG_0', + 'excvec_t_resize__SWIG_1', + 'excvec_t_size', + 'excvec_t_swap', + 'excvec_t_truncate', + 'exec_idc_script', + 'exec_system_script', + 'execute_sync', + 'execute_ui_requests', + 'exist', + 'exist_bpt', + 'exists_fixup', + 'exit_process', + 'expand_struc', + 'extend_sign', + 'extract_argloc', + 'extract_module_from_archive', + 'extract_name', + 'f_any', + 'f_has_cmt', + 'f_has_dummy_name', + 'f_has_extra_cmts', + 'f_has_name', + 'f_has_user_name', + 'f_has_xref', + 'f_is_align', + 'f_is_byte', + 'f_is_code', + 'f_is_custom', + 'f_is_data', + 'f_is_double', + 'f_is_dword', + 'f_is_float', + 'f_is_head', + 'f_is_not_tail', + 'f_is_oword', + 'f_is_pack_real', + 'f_is_qword', + 'f_is_strlit', + 'f_is_struct', + 'f_is_tail', + 'f_is_tbyte', + 'f_is_word', + 'f_is_yword', + 'file2base', + 'find_binary', + 'find_bpt', + 'find_byte', + 'find_byter', + 'find_code', + 'find_custom_data_format', + 'find_custom_data_type', + 'find_custom_fixup', + 'find_custom_refinfo', + 'find_data', + 'find_defined', + 'find_error', + 'find_free_selector', + 'find_func_bounds', + 'find_idc_class', + 'find_idc_func', + 'find_idc_gvar', + 'find_imm', + 'find_not_func', + 'find_notype', + 'find_plugin', + 'find_regvar', + 'find_regvar__SWIG_0', + 'find_regvar__SWIG_1', + 'find_selector', + 'find_suspop', + 'find_syseh', + 'find_text', + 'find_tinfo_udt_member', + 'find_unknown', + 'find_widget', + 'first_idcv_attr', + 'first_named_type', + 'fixup_data_t_calc_size', + 'fixup_data_t_clr_extdef', + 'fixup_data_t_clr_unused', + 'fixup_data_t_displacement_get', + 'fixup_data_t_displacement_set', + 'fixup_data_t_get', + 'fixup_data_t_get_base', + 'fixup_data_t_get_desc', + 'fixup_data_t_get_flags', + 'fixup_data_t_get_handler', + 'fixup_data_t_get_type', + 'fixup_data_t_get_value', + 'fixup_data_t_has_base', + 'fixup_data_t_is_custom', + 'fixup_data_t_is_extdef', + 'fixup_data_t_is_unused', + 'fixup_data_t_off_get', + 'fixup_data_t_off_set', + 'fixup_data_t_patch_value', + 'fixup_data_t_sel_get', + 'fixup_data_t_sel_set', + 'fixup_data_t_set', + 'fixup_data_t_set_base', + 'fixup_data_t_set_extdef', + 'fixup_data_t_set_sel', + 'fixup_data_t_set_target_sel', + 'fixup_data_t_set_type', + 'fixup_data_t_set_type_and_flags', + 'fixup_data_t_set_unused', + 'fixup_data_t_was_created', + 'fixup_info_t_ea_get', + 'fixup_info_t_ea_set', + 'fixup_info_t_fd_get', + 'fixup_info_t_fd_set', + 'float_flag', + 'flt_flag', + 'flush_buffers', + 'fnum_array___getitem__', + 'fnum_array___len__', + 'fnum_array___setitem__', + 'fnum_array_data_get', + 'fnumber_t___eq__', + 'fnumber_t___ge__', + 'fnumber_t___get_fnum', + 'fnumber_t___gt__', + 'fnumber_t___le__', + 'fnumber_t___lt__', + 'fnumber_t___ne__', + 'fnumber_t__print', + 'fnumber_t_compare', + 'fnumber_t_dereference_const_uint16', + 'fnumber_t_dereference_uint16', + 'fnumber_t_fnum_get', + 'fnumber_t_fnum_set', + 'fnumber_t_nbytes_get', + 'fnumber_t_nbytes_set', + 'fopenA', + 'fopenM', + 'fopenRB', + 'fopenRT', + 'fopenWB', + 'fopenWT', + 'for_all_arglocs', + 'for_all_const_arglocs', + 'for_all_enum_members', + 'force_name', + 'forget_problem', + 'format_basestring', + 'formchgcbfa_close', + 'formchgcbfa_enable_field', + 'formchgcbfa_get_field_value', + 'formchgcbfa_get_focused_field', + 'formchgcbfa_move_field', + 'formchgcbfa_refresh_field', + 'formchgcbfa_set_field_value', + 'formchgcbfa_set_focused_field', + 'formchgcbfa_show_field', + 'frame_off_args', + 'frame_off_lvars', + 'frame_off_retaddr', + 'frame_off_savregs', + 'free_chunk', + 'free_custom_icon', + 'free_idcv', + 'free_til', + 'func_contains', + 'func_does_return', + 'func_has_stkframe_hole', + 'func_item_iterator_decode_preceding_insn', + 'func_item_iterator_decode_prev_insn', + 'func_item_iterator_next', + 'func_item_iterator_prev', + 'func_item_iterator_t___next__', + 'func_item_iterator_t_chunk', + 'func_item_iterator_t_current', + 'func_item_iterator_t_decode_preceding_insn', + 'func_item_iterator_t_decode_prev_insn', + 'func_item_iterator_t_first', + 'func_item_iterator_t_last', + 'func_item_iterator_t_next_addr', + 'func_item_iterator_t_next_code', + 'func_item_iterator_t_next_data', + 'func_item_iterator_t_next_head', + 'func_item_iterator_t_next_not_tail', + 'func_item_iterator_t_prev', + 'func_item_iterator_t_prev_addr', + 'func_item_iterator_t_prev_code', + 'func_item_iterator_t_prev_data', + 'func_item_iterator_t_prev_head', + 'func_item_iterator_t_prev_not_tail', + 'func_item_iterator_t_set', + 'func_item_iterator_t_set_range', + 'func_parent_iterator_set', + 'func_parent_iterator_t___next__', + 'func_parent_iterator_t_first', + 'func_parent_iterator_t_last', + 'func_parent_iterator_t_parent', + 'func_parent_iterator_t_prev', + 'func_parent_iterator_t_reset_fnt', + 'func_parent_iterator_t_set', + 'func_t___get_points__', + 'func_t___get_regvars__', + 'func_t___get_tails__', + 'func_t__from_ptrval__', + 'func_t_analyzed_sp', + 'func_t_argsize_get', + 'func_t_argsize_set', + 'func_t_color_get', + 'func_t_color_set', + 'func_t_does_return', + 'func_t_flags_get', + 'func_t_flags_set', + 'func_t_fpd_get', + 'func_t_fpd_set', + 'func_t_frame_get', + 'func_t_frame_set', + 'func_t_frregs_get', + 'func_t_frregs_set', + 'func_t_frsize_get', + 'func_t_frsize_set', + 'func_t_is_far', + 'func_t_llabelqty_get', + 'func_t_llabelqty_set', + 'func_t_llabels_get', + 'func_t_llabels_set', + 'func_t_need_prolog_analysis', + 'func_t_owner_get', + 'func_t_owner_set', + 'func_t_pntqty_get', + 'func_t_pntqty_set', + 'func_t_points_get', + 'func_t_points_set', + 'func_t_referers_get', + 'func_t_referers_set', + 'func_t_refqty_get', + 'func_t_refqty_set', + 'func_t_regargqty_get', + 'func_t_regargqty_set', + 'func_t_regargs_get', + 'func_t_regargs_set', + 'func_t_regvarqty_get', + 'func_t_regvarqty_set', + 'func_t_regvars_get', + 'func_t_regvars_set', + 'func_t_tailqty_get', + 'func_t_tailqty_set', + 'func_t_tails_get', + 'func_t_tails_set', + 'func_tail_iterator_set', + 'func_tail_iterator_set_ea', + 'func_tail_iterator_t___next__', + 'func_tail_iterator_t_chunk', + 'func_tail_iterator_t_first', + 'func_tail_iterator_t_last', + 'func_tail_iterator_t_main', + 'func_tail_iterator_t_prev', + 'func_tail_iterator_t_set', + 'func_tail_iterator_t_set_ea', + 'func_tail_iterator_t_set_range', + 'func_type_data_t_cc_get', + 'func_type_data_t_cc_set', + 'func_type_data_t_dump', + 'func_type_data_t_flags_get', + 'func_type_data_t_flags_set', + 'func_type_data_t_get_call_method', + 'func_type_data_t_guess_cc', + 'func_type_data_t_is_high', + 'func_type_data_t_is_noret', + 'func_type_data_t_is_pure', + 'func_type_data_t_is_vararg_cc', + 'func_type_data_t_retloc_get', + 'func_type_data_t_retloc_set', + 'func_type_data_t_rettype_get', + 'func_type_data_t_rettype_set', + 'func_type_data_t_spoiled_get', + 'func_type_data_t_spoiled_set', + 'func_type_data_t_stkargs_get', + 'func_type_data_t_stkargs_set', + 'func_type_data_t_swap', + 'funcarg_t___eq__', + 'funcarg_t___ne__', + 'funcarg_t_argloc_get', + 'funcarg_t_argloc_set', + 'funcarg_t_cmt_get', + 'funcarg_t_cmt_set', + 'funcarg_t_flags_get', + 'funcarg_t_flags_set', + 'funcarg_t_name_get', + 'funcarg_t_name_set', + 'funcarg_t_type_get', + 'funcarg_t_type_set', + 'funcargvec_t___eq__', + 'funcargvec_t___getitem__', + 'funcargvec_t___len__', + 'funcargvec_t___ne__', + 'funcargvec_t___setitem__', + 'funcargvec_t__del', + 'funcargvec_t_add_unique', + 'funcargvec_t_at', + 'funcargvec_t_begin', + 'funcargvec_t_begin__SWIG_0', + 'funcargvec_t_begin__SWIG_1', + 'funcargvec_t_capacity', + 'funcargvec_t_clear', + 'funcargvec_t_empty', + 'funcargvec_t_end', + 'funcargvec_t_end__SWIG_0', + 'funcargvec_t_end__SWIG_1', + 'funcargvec_t_erase', + 'funcargvec_t_erase__SWIG_0', + 'funcargvec_t_erase__SWIG_1', + 'funcargvec_t_extract', + 'funcargvec_t_find', + 'funcargvec_t_find__SWIG_0', + 'funcargvec_t_find__SWIG_1', + 'funcargvec_t_grow', + 'funcargvec_t_has', + 'funcargvec_t_inject', + 'funcargvec_t_insert', + 'funcargvec_t_pop_back', + 'funcargvec_t_push_back', + 'funcargvec_t_push_back__SWIG_0', + 'funcargvec_t_push_back__SWIG_1', + 'funcargvec_t_qclear', + 'funcargvec_t_reserve', + 'funcargvec_t_resize', + 'funcargvec_t_resize__SWIG_0', + 'funcargvec_t_resize__SWIG_1', + 'funcargvec_t_size', + 'funcargvec_t_swap', + 'funcargvec_t_truncate', + 'gcc_layout', + 'gco_info_t_append_to_list', + 'gco_info_t_flags_get', + 'gco_info_t_flags_set', + 'gco_info_t_is_def', + 'gco_info_t_is_reg', + 'gco_info_t_is_use', + 'gco_info_t_name_get', + 'gco_info_t_name_set', + 'gco_info_t_size_get', + 'gco_info_t_size_set', + 'gen_complex_call_chart', + 'gen_decorate_name', + 'gen_disasm_text', + 'gen_exe_file', + 'gen_file', + 'gen_fix_fixups', + 'gen_flow_graph', + 'gen_gdl', + 'gen_idb_event', + 'gen_idb_event__varargs__', + 'gen_microcode', + 'gen_simple_call_chart', + 'gen_use_arg_tinfos', + 'generate_disasm_line', + 'generate_disassembly', + 'generic_linput_t_blocksize_get', + 'generic_linput_t_blocksize_set', + 'generic_linput_t_filesize_get', + 'generic_linput_t_filesize_set', + 'generic_linput_t_read', + 'get_16bit', + 'get_32bit', + 'get_64bit', + 'get_8bit', + 'get_abi_name', + 'get_absbase', + 'get_action_checkable', + 'get_action_checked', + 'get_action_icon', + 'get_action_label', + 'get_action_shortcut', + 'get_action_state', + 'get_action_tooltip', + 'get_action_visibility', + 'get_active_modal_widget', + 'get_addon_info', + 'get_addon_info_idx', + 'get_aflags', + 'get_alias_target', + 'get_alignment', + 'get_archive_path', + 'get_arg_addrs', + 'get_array_parameters', + 'get_asm_inc_file', + 'get_auto_display', + 'get_auto_state', + 'get_base_type', + 'get_basic_file_type', + 'get_bblk_trace_options', + 'get_best_fit_member', + 'get_bmask_cmt', + 'get_bmask_name', + 'get_bpt', + 'get_bpt_group', + 'get_bpt_qty', + 'get_bpt_tev_ea', + 'get_bptloc_string', + 'get_byte', + 'get_bytes', + 'get_bytes_and_mask', + 'get_c_header_path', + 'get_c_macros', + 'get_call_tev_callee', + 'get_chooser_data', + 'get_chooser_obj', + 'get_cmt', + 'get_colored_demangled_name', + 'get_colored_long_name', + 'get_colored_name', + 'get_colored_short_name', + 'get_comp', + 'get_compiler_abbr', + 'get_compiler_name', + 'get_compilers', + 'get_cp_validity', + 'get_ctype_name', + 'get_curline', + 'get_current_idasgn', + 'get_current_operand', + 'get_current_source_file', + 'get_current_source_line', + 'get_current_thread', + 'get_current_viewer', + 'get_current_widget', + 'get_cursor', + 'get_custom_data_format', + 'get_custom_data_formats', + 'get_custom_data_type', + 'get_custom_data_type_ids', + 'get_custom_data_types', + 'get_custom_refinfo', + 'get_custom_viewer_curline', + 'get_custom_viewer_location', + 'get_custom_viewer_place', + 'get_data_elsize', + 'get_data_value', + 'get_db_byte', + 'get_dbg_byte', + 'get_dbg_memory_info', + 'get_dbg_reg_info', + 'get_debug_event', + 'get_debug_name', + 'get_debug_name_ea', + 'get_debug_names', + 'get_debug_names__SWIG_0', + 'get_debug_names__SWIG_1', + 'get_debugger_event_cond', + 'get_default_encoding_idx', + 'get_default_radix', + 'get_default_reftype', + 'get_defsr', + 'get_demangled_name', + 'get_dtype_by_size', + 'get_dtype_flag', + 'get_dtype_size', + 'get_dword', + 'get_ea_name', + 'get_ea_viewer_history_info', + 'get_effective_spd', + 'get_elf_debug_file_directory', + 'get_encoding_bpu', + 'get_encoding_name', + 'get_encoding_qty', + 'get_entry', + 'get_entry_forwarder', + 'get_entry_name', + 'get_entry_ordinal', + 'get_entry_qty', + 'get_enum', + 'get_enum_cmt', + 'get_enum_flag', + 'get_enum_id', + 'get_enum_idx', + 'get_enum_member', + 'get_enum_member_bmask', + 'get_enum_member_by_name', + 'get_enum_member_cmt', + 'get_enum_member_enum', + 'get_enum_member_expr', + 'get_enum_member_name', + 'get_enum_member_serial', + 'get_enum_member_value', + 'get_enum_name', + 'get_enum_name2', + 'get_enum_qty', + 'get_enum_size', + 'get_enum_type_ordinal', + 'get_enum_width', + 'get_event_bpt_hea', + 'get_event_exc_code', + 'get_event_exc_ea', + 'get_event_exc_info', + 'get_event_info', + 'get_event_module_base', + 'get_event_module_name', + 'get_event_module_size', + 'get_extra_cmt', + 'get_fchunk', + 'get_fchunk_num', + 'get_fchunk_qty', + 'get_fchunk_referer', + 'get_file_type_name', + 'get_fileregion_ea', + 'get_fileregion_offset', + 'get_first_bmask', + 'get_first_cref_from', + 'get_first_cref_to', + 'get_first_dref_from', + 'get_first_dref_to', + 'get_first_enum_member', + 'get_first_fcref_from', + 'get_first_fcref_to', + 'get_first_fixup_ea', + 'get_first_free_extra_cmtidx', + 'get_first_hidden_range', + 'get_first_module', + 'get_first_seg', + 'get_first_serial_enum_member', + 'get_first_struc_idx', + 'get_fixup', + 'get_fixup_desc', + 'get_fixup_handler', + 'get_fixup_value', + 'get_fixups', + 'get_flags', + 'get_flags_by_size', + 'get_flags_ex', + 'get_float_type', + 'get_forced_operand', + 'get_frame', + 'get_frame__SWIG_0', + 'get_frame__SWIG_1', + 'get_frame_part', + 'get_frame_retsize', + 'get_frame_size', + 'get_full_data_elsize', + 'get_full_flags', + 'get_full_type', + 'get_func', + 'get_func_bitness', + 'get_func_bits', + 'get_func_by_frame', + 'get_func_bytes', + 'get_func_chunknum', + 'get_func_cmt', + 'get_func_name', + 'get_func_num', + 'get_func_qty', + 'get_func_ranges', + 'get_func_trace_options', + 'get_global_var', + 'get_gotea', + 'get_graph_viewer', + 'get_group_selector', + 'get_grp_bpts', + 'get_hexdump_ea', + 'get_hexrays_version', + 'get_hidden_range', + 'get_hidden_range_num', + 'get_hidden_range_qty', + 'get_highlight', + 'get_ida_subdirs', + 'get_idainfo_by_type', + 'get_idasgn_desc', + 'get_idasgn_desc_with_matches', + 'get_idasgn_qty', + 'get_idasgn_title', + 'get_idati', + 'get_idb_notifier_addr', + 'get_idb_notifier_ud_addr', + 'get_idc_filename', + 'get_idcv_attr', + 'get_idcv_class_name', + 'get_idcv_slice', + 'get_idp_name', + 'get_idp_notifier_addr', + 'get_idp_notifier_ud_addr', + 'get_ids_modnode', + 'get_imagebase', + 'get_immvals', + 'get_import_module_name', + 'get_import_module_qty', + 'get_ind_purged', + 'get_inf_structure', + 'get_input_file_path', + 'get_insn_tev_reg_mem', + 'get_insn_tev_reg_result', + 'get_insn_tev_reg_val', + 'get_insn_trace_options', + 'get_int_type_by_width_and_sign', + 'get_ip_val', + 'get_item_color', + 'get_item_end', + 'get_item_flag', + 'get_item_head', + 'get_item_size', + 'get_kernel_version', + 'get_key_code', + 'get_last_bmask', + 'get_last_enum_member', + 'get_last_hidden_range', + 'get_last_seg', + 'get_last_serial_enum_member', + 'get_last_struc_idx', + 'get_linput_type', + 'get_local_var', + 'get_local_vars', + 'get_long_name', + 'get_lookback', + 'get_manual_insn', + 'get_manual_regions', + 'get_manual_regions__SWIG_0', + 'get_manual_regions__SWIG_1', + 'get_mapping', + 'get_mappings_qty', + 'get_mark_comment', + 'get_marked_pos', + 'get_max_offset', + 'get_max_strlit_length', + 'get_member', + 'get_member_by_fullname', + 'get_member_by_id', + 'get_member_by_name', + 'get_member_cmt', + 'get_member_fullname', + 'get_member_id', + 'get_member_name', + 'get_member_size', + 'get_member_struc', + 'get_member_tinfo', + 'get_member_type', + 'get_merror_desc', + 'get_min_spd_ea', + 'get_module_info', + 'get_mreg_name', + 'get_name', + 'get_name_base_ea', + 'get_name_color', + 'get_name_ea', + 'get_name_expr', + 'get_name_value', + 'get_named_type', + 'get_named_type64', + 'get_navband_ea', + 'get_navband_pixel', + 'get_next_bmask', + 'get_next_cref_from', + 'get_next_cref_to', + 'get_next_dref_from', + 'get_next_dref_to', + 'get_next_enum_member', + 'get_next_fchunk', + 'get_next_fcref_from', + 'get_next_fcref_to', + 'get_next_fixup_ea', + 'get_next_func', + 'get_next_func_addr', + 'get_next_hidden_range', + 'get_next_member_idx', + 'get_next_module', + 'get_next_seg', + 'get_next_serial_enum_member', + 'get_next_struc_idx', + 'get_nice_colored_name', + 'get_nlist_ea', + 'get_nlist_idx', + 'get_nlist_name', + 'get_nlist_size', + 'get_node_info', + 'get_numbered_type', + 'get_numbered_type_name', + 'get_octet', + 'get_offbase', + 'get_offset_expr', + 'get_offset_expression', + 'get_op_signness', + 'get_op_tinfo', + 'get_opinfo', + 'get_opnum', + 'get_optype_flags0', + 'get_optype_flags1', + 'get_or_guess_member_tinfo', + 'get_ordinal_from_idb_type', + 'get_ordinal_qty', + 'get_original_byte', + 'get_original_dword', + 'get_original_qword', + 'get_original_word', + 'get_outfile_encoding_idx', + 'get_output_curline', + 'get_output_cursor', + 'get_output_selected_text', + 'get_path', + 'get_place_class', + 'get_place_class_id', + 'get_place_class_template', + 'get_plugin_options', + 'get_predef_insn_cmt', + 'get_prev_bmask', + 'get_prev_enum_member', + 'get_prev_fchunk', + 'get_prev_fixup_ea', + 'get_prev_func', + 'get_prev_func_addr', + 'get_prev_hidden_range', + 'get_prev_member_idx', + 'get_prev_seg', + 'get_prev_serial_enum_member', + 'get_prev_sreg_range', + 'get_prev_struc_idx', + 'get_printable_immvals', + 'get_problem', + 'get_problem_desc', + 'get_problem_name', + 'get_process_options', + 'get_process_state', + 'get_processes', + 'get_qword', + 'get_radix', + 'get_refinfo', + 'get_reftype_by_size', + 'get_reg_info', + 'get_reg_name', + 'get_reg_val', + 'get_reg_val__SWIG_0', + 'get_reg_val__SWIG_1', + 'get_reg_val__SWIG_2', + 'get_reg_vals', + 'get_registered_actions', + 'get_ret_tev_return', + 'get_root_filename', + 'get_running_notification', + 'get_running_request', + 'get_scalar_bt', + 'get_screen_ea', + 'get_segm_base', + 'get_segm_by_name', + 'get_segm_by_sel', + 'get_segm_class', + 'get_segm_name', + 'get_segm_num', + 'get_segm_para', + 'get_segm_qty', + 'get_segment_alignment', + 'get_segment_cmt', + 'get_segment_combination', + 'get_segment_translations', + 'get_selector_qty', + 'get_short_name', + 'get_signed_mcode', + 'get_source_linnum', + 'get_sourcefile', + 'get_sp_delta', + 'get_sp_val', + 'get_spd', + 'get_special_folder', + 'get_sptr', + 'get_srcinfo_provider', + 'get_sreg', + 'get_sreg_range', + 'get_sreg_range_num', + 'get_sreg_ranges_qty', + 'get_step_trace_options', + 'get_stkvar', + 'get_stock_tinfo', + 'get_str_encoding_idx', + 'get_str_term1', + 'get_str_term2', + 'get_str_type', + 'get_str_type_code', + 'get_strlist_item', + 'get_strlist_options', + 'get_strlist_qty', + 'get_strlit_contents', + 'get_stroff_path', + 'get_strtype_bpu', + 'get_struc', + 'get_struc_by_idx', + 'get_struc_cmt', + 'get_struc_first_offset', + 'get_struc_id', + 'get_struc_idx', + 'get_struc_last_offset', + 'get_struc_name', + 'get_struc_next_offset', + 'get_struc_prev_offset', + 'get_struc_qty', + 'get_struc_size', + 'get_struc_size__SWIG_0', + 'get_struc_size__SWIG_1', + 'get_switch_info', + 'get_switch_parent', + 'get_tab_size', + 'get_temp_regs', + 'get_tev_ea', + 'get_tev_event', + 'get_tev_info', + 'get_tev_memory_info', + 'get_tev_qty', + 'get_tev_tid', + 'get_tev_type', + 'get_thread_qty', + 'get_tinfo', + 'get_tinfo_attr', + 'get_tinfo_attrs', + 'get_tinfo_details', + 'get_tinfo_pdata', + 'get_tinfo_property', + 'get_tinfo_size', + 'get_trace_base_address', + 'get_trace_file_desc', + 'get_trace_platform', + 'get_tryblks', + 'get_type', + 'get_type_flags', + 'get_type_ordinal', + 'get_unk_type', + 'get_unsigned_mcode', + 'get_user_idadir', + 'get_user_strlist_options', + 'get_view_renderer_type', + 'get_viewer_graph', + 'get_viewer_place_type', + 'get_viewer_user_data', + 'get_visible_name', + 'get_visible_segm_name', + 'get_wide_byte', + 'get_wide_dword', + 'get_wide_word', + 'get_widget_title', + 'get_widget_type', + 'get_widget_vdui', + 'get_window_id', + 'get_word', + 'get_zero_ranges', + 'getb_reginsn', + 'getf_reginsn', + 'getn_bpt', + 'getn_enum', + 'getn_fchunk', + 'getn_func', + 'getn_hidden_range', + 'getn_selector', + 'getn_sreg_range', + 'getn_thread', + 'getn_thread_name', + 'getnode', + 'getnseg', + 'getseg', + 'getsysfile', + 'graph_chains_t_acquire', + 'graph_chains_t_for_all_chains', + 'graph_chains_t_is_locked', + 'graph_chains_t_release', + 'graph_chains_t_swap', + 'graph_item_t_b_get', + 'graph_item_t_b_set', + 'graph_item_t_e_get', + 'graph_item_t_e_set', + 'graph_item_t_elp_get', + 'graph_item_t_elp_set', + 'graph_item_t_is_edge', + 'graph_item_t_is_node', + 'graph_item_t_n_get', + 'graph_item_t_n_set', + 'graph_item_t_p_get', + 'graph_item_t_p_set', + 'graph_item_t_type_get', + 'graph_item_t_type_set', + 'graph_location_info_t___eq__', + 'graph_location_info_t___ne__', + 'graph_location_info_t_orgx_get', + 'graph_location_info_t_orgx_set', + 'graph_location_info_t_orgy_get', + 'graph_location_info_t_orgy_set', + 'graph_location_info_t_zoom_get', + 'graph_location_info_t_zoom_set', + 'graph_node_visitor_t_is_forbidden_edge', + 'graph_node_visitor_t_is_visited', + 'graph_node_visitor_t_reinit', + 'graph_node_visitor_t_set_visited', + 'graph_node_visitor_t_visit_node', + 'graph_path_visitor_t_path_get', + 'graph_path_visitor_t_path_set', + 'graph_path_visitor_t_prune_get', + 'graph_path_visitor_t_prune_set', + 'graph_path_visitor_t_walk_backward', + 'graph_path_visitor_t_walk_forward', + 'graph_trace', + 'graph_visitor_t_visit_edge', + 'graph_visitor_t_visit_node', + 'group_crinfo_t_nodes_get', + 'group_crinfo_t_nodes_set', + 'group_crinfo_t_text_get', + 'group_crinfo_t_text_set', + 'guess_func_cc', + 'guess_table_address', + 'guess_table_size', + 'guess_tinfo', + 'handle_debug_event', + 'has_any_name', + 'has_auto_name', + 'has_cached_cfunc', + 'has_cf_chg', + 'has_cf_use', + 'has_cmt', + 'has_dummy_name', + 'has_external_refs', + 'has_extra_cmts', + 'has_immd', + 'has_insn_feature', + 'has_lname', + 'has_name', + 'has_regvar', + 'has_ti', + 'has_ti0', + 'has_ti1', + 'has_user_name', + 'has_value', + 'has_xref', + 'hex_flag', + 'hexrays_alloc', + 'hexrays_failure_t_code_get', + 'hexrays_failure_t_code_set', + 'hexrays_failure_t_desc', + 'hexrays_failure_t_errea_get', + 'hexrays_failure_t_errea_set', + 'hexrays_failure_t_str_get', + 'hexrays_failure_t_str_set', + 'hexrays_free', + 'hexwarn_t___eq__', + 'hexwarn_t___ge__', + 'hexwarn_t___gt__', + 'hexwarn_t___le__', + 'hexwarn_t___lt__', + 'hexwarn_t___ne__', + 'hexwarn_t_compare', + 'hexwarn_t_ea_get', + 'hexwarn_t_ea_set', + 'hexwarn_t_id_get', + 'hexwarn_t_id_set', + 'hexwarn_t_text_get', + 'hexwarn_t_text_set', + 'hexwarns_t___eq__', + 'hexwarns_t___getitem__', + 'hexwarns_t___len__', + 'hexwarns_t___ne__', + 'hexwarns_t___setitem__', + 'hexwarns_t__del', + 'hexwarns_t_add_unique', + 'hexwarns_t_at', + 'hexwarns_t_begin', + 'hexwarns_t_begin__SWIG_0', + 'hexwarns_t_begin__SWIG_1', + 'hexwarns_t_capacity', + 'hexwarns_t_clear', + 'hexwarns_t_empty', + 'hexwarns_t_end', + 'hexwarns_t_end__SWIG_0', + 'hexwarns_t_end__SWIG_1', + 'hexwarns_t_erase', + 'hexwarns_t_erase__SWIG_0', + 'hexwarns_t_erase__SWIG_1', + 'hexwarns_t_extract', + 'hexwarns_t_find', + 'hexwarns_t_find__SWIG_0', + 'hexwarns_t_find__SWIG_1', + 'hexwarns_t_grow', + 'hexwarns_t_has', + 'hexwarns_t_inject', + 'hexwarns_t_insert', + 'hexwarns_t_pop_back', + 'hexwarns_t_push_back', + 'hexwarns_t_push_back__SWIG_0', + 'hexwarns_t_push_back__SWIG_1', + 'hexwarns_t_qclear', + 'hexwarns_t_reserve', + 'hexwarns_t_resize', + 'hexwarns_t_resize__SWIG_0', + 'hexwarns_t_resize__SWIG_1', + 'hexwarns_t_size', + 'hexwarns_t_swap', + 'hexwarns_t_truncate', + 'hidden_range_t_color_get', + 'hidden_range_t_color_set', + 'hidden_range_t_description_get', + 'hidden_range_t_description_set', + 'hidden_range_t_footer_get', + 'hidden_range_t_footer_set', + 'hidden_range_t_header_get', + 'hidden_range_t_header_set', + 'hidden_range_t_visible_get', + 'hidden_range_t_visible_set', + 'hide_all_bpts', + 'hide_border', + 'hide_item', + 'hide_name', + 'hide_wait_box', + 'highlighter_cbs_t_cur_block_state', + 'highlighter_cbs_t_prev_block_state', + 'highlighter_cbs_t_set_block_state', + 'highlighter_cbs_t_set_style', + 'history_item_t_ea_get', + 'history_item_t_ea_set', + 'history_item_t_end_get', + 'history_item_t_end_set', + 'history_t_pop', + 'history_t_push', + 'history_t_top', + 'history_t_top__SWIG_0', + 'history_t_top__SWIG_1', + 'ida_lowertype_helper_t_func_has_stkframe_hole', + 'ida_lowertype_helper_t_get_func_purged_bytes', + 'idadir', + 'idainfo_abibits_get', + 'idainfo_abibits_set', + 'idainfo_af2_get', + 'idainfo_af2_set', + 'idainfo_af_get', + 'idainfo_af_set', + 'idainfo_appcall_options_get', + 'idainfo_appcall_options_set', + 'idainfo_apptype_get', + 'idainfo_apptype_set', + 'idainfo_asmtype_get', + 'idainfo_asmtype_set', + 'idainfo_baseaddr_get', + 'idainfo_baseaddr_set', + 'idainfo_bin_prefix_size_get', + 'idainfo_bin_prefix_size_set', + 'idainfo_cc_get', + 'idainfo_cc_set', + 'idainfo_comment_get', + 'idainfo_comment_set', + 'idainfo_database_change_count_get', + 'idainfo_database_change_count_set', + 'idainfo_datatypes_get', + 'idainfo_datatypes_set', + 'idainfo_demnames_get', + 'idainfo_demnames_set', + 'idainfo_filetype_get', + 'idainfo_filetype_set', + 'idainfo_get_abiname', + 'idainfo_get_maxEA', + 'idainfo_get_minEA', + 'idainfo_get_procName', + 'idainfo_highoff_get', + 'idainfo_highoff_set', + 'idainfo_indent_get', + 'idainfo_indent_set', + 'idainfo_lenxref_get', + 'idainfo_lenxref_set', + 'idainfo_lflags_get', + 'idainfo_lflags_set', + 'idainfo_listnames_get', + 'idainfo_listnames_set', + 'idainfo_long_demnames_get', + 'idainfo_long_demnames_set', + 'idainfo_lowoff_get', + 'idainfo_lowoff_set', + 'idainfo_main_get', + 'idainfo_main_set', + 'idainfo_margin_get', + 'idainfo_margin_set', + 'idainfo_max_autoname_len_get', + 'idainfo_max_autoname_len_set', + 'idainfo_max_ea_get', + 'idainfo_max_ea_set', + 'idainfo_maxref_get', + 'idainfo_maxref_set', + 'idainfo_min_ea_get', + 'idainfo_min_ea_set', + 'idainfo_nametype_get', + 'idainfo_nametype_set', + 'idainfo_omax_ea_get', + 'idainfo_omax_ea_set', + 'idainfo_omin_ea_get', + 'idainfo_omin_ea_set', + 'idainfo_ostype_get', + 'idainfo_ostype_set', + 'idainfo_outflags_get', + 'idainfo_outflags_set', + 'idainfo_procname_get', + 'idainfo_procname_set', + 'idainfo_refcmtnum_get', + 'idainfo_refcmtnum_set', + 'idainfo_s_cmtflg_get', + 'idainfo_s_cmtflg_set', + 'idainfo_s_genflags_get', + 'idainfo_s_genflags_set', + 'idainfo_s_limiter_get', + 'idainfo_s_limiter_set', + 'idainfo_s_prefflag_get', + 'idainfo_s_prefflag_set', + 'idainfo_s_xrefflag_get', + 'idainfo_s_xrefflag_set', + 'idainfo_set_maxEA', + 'idainfo_set_minEA', + 'idainfo_short_demnames_get', + 'idainfo_short_demnames_set', + 'idainfo_specsegs_get', + 'idainfo_specsegs_set', + 'idainfo_start_cs_get', + 'idainfo_start_cs_set', + 'idainfo_start_ea_get', + 'idainfo_start_ea_set', + 'idainfo_start_ip_get', + 'idainfo_start_ip_set', + 'idainfo_start_sp_get', + 'idainfo_start_sp_set', + 'idainfo_start_ss_get', + 'idainfo_start_ss_set', + 'idainfo_strlit_break_get', + 'idainfo_strlit_break_set', + 'idainfo_strlit_flags_get', + 'idainfo_strlit_flags_set', + 'idainfo_strlit_pref_get', + 'idainfo_strlit_pref_set', + 'idainfo_strlit_sernum_get', + 'idainfo_strlit_sernum_set', + 'idainfo_strlit_zeroes_get', + 'idainfo_strlit_zeroes_set', + 'idainfo_strtype_get', + 'idainfo_strtype_set', + 'idainfo_tag_get', + 'idainfo_tag_set', + 'idainfo_type_xrefnum_get', + 'idainfo_type_xrefnum_set', + 'idainfo_version_get', + 'idainfo_version_set', + 'idainfo_xrefnum_get', + 'idainfo_xrefnum_set', + 'idaplace_t_ea_get', + 'idaplace_t_ea_set', + 'idc_get_local_type', + 'idc_get_local_type_name', + 'idc_get_local_type_raw', + 'idc_get_type', + 'idc_get_type_raw', + 'idc_global_t_name_get', + 'idc_global_t_name_set', + 'idc_global_t_value_get', + 'idc_global_t_value_set', + 'idc_guess_type', + 'idc_parse_decl', + 'idc_parse_types', + 'idc_print_type', + 'idc_set_local_type', + 'idc_value_t___get_e', + 'idc_value_t__create_empty_string', + 'idc_value_t_c_str', + 'idc_value_t_clear', + 'idc_value_t_create_empty_string', + 'idc_value_t_e_get', + 'idc_value_t_e_set', + 'idc_value_t_funcidx_get', + 'idc_value_t_funcidx_set', + 'idc_value_t_i64_get', + 'idc_value_t_i64_set', + 'idc_value_t_is_convertible', + 'idc_value_t_is_integral', + 'idc_value_t_is_zero', + 'idc_value_t_num_get', + 'idc_value_t_num_set', + 'idc_value_t_obj_get', + 'idc_value_t_obj_set', + 'idc_value_t_pvoid_get', + 'idc_value_t_pvoid_set', + 'idc_value_t_qstr', + 'idc_value_t_qstr__SWIG_0', + 'idc_value_t_qstr__SWIG_1', + 'idc_value_t_reserve_get', + 'idc_value_t_reserve_set', + 'idc_value_t_set_float', + 'idc_value_t_set_int64', + 'idc_value_t_set_long', + 'idc_value_t_set_pvoid', + 'idc_value_t_set_string', + 'idc_value_t_set_string__SWIG_0', + 'idc_value_t_set_string__SWIG_1', + 'idc_value_t_swap', + 'idc_value_t_u_str', + 'idc_value_t_vtype_get', + 'idc_value_t_vtype_set', + 'idc_values_t___getitem__', + 'idc_values_t___len__', + 'idc_values_t___setitem__', + 'idc_values_t_at', + 'idc_values_t_begin', + 'idc_values_t_begin__SWIG_0', + 'idc_values_t_begin__SWIG_1', + 'idc_values_t_capacity', + 'idc_values_t_clear', + 'idc_values_t_empty', + 'idc_values_t_end', + 'idc_values_t_end__SWIG_0', + 'idc_values_t_end__SWIG_1', + 'idc_values_t_erase', + 'idc_values_t_erase__SWIG_0', + 'idc_values_t_erase__SWIG_1', + 'idc_values_t_extract', + 'idc_values_t_grow', + 'idc_values_t_inject', + 'idc_values_t_insert', + 'idc_values_t_pop_back', + 'idc_values_t_push_back', + 'idc_values_t_push_back__SWIG_0', + 'idc_values_t_push_back__SWIG_1', + 'idc_values_t_qclear', + 'idc_values_t_reserve', + 'idc_values_t_resize', + 'idc_values_t_resize__SWIG_0', + 'idc_values_t_resize__SWIG_1', + 'idc_values_t_size', + 'idc_values_t_swap', + 'idc_values_t_truncate', + 'idcv_float', + 'idcv_int64', + 'idcv_long', + 'idcv_num', + 'idcv_object', + 'idcv_string', + 'idp_desc_t_checked_get', + 'idp_desc_t_checked_set', + 'idp_desc_t_family_get', + 'idp_desc_t_family_set', + 'idp_desc_t_is_script_get', + 'idp_desc_t_is_script_set', + 'idp_desc_t_mtime_get', + 'idp_desc_t_mtime_set', + 'idp_desc_t_names_get', + 'idp_desc_t_names_set', + 'idp_desc_t_path_get', + 'idp_desc_t_path_set', + 'idp_name_t_hidden_get', + 'idp_name_t_hidden_set', + 'idp_name_t_lname_get', + 'idp_name_t_lname_set', + 'idp_name_t_sname_get', + 'idp_name_t_sname_set', + 'import_type', + 'inf_abi_set_by_user', + 'inf_allow_non_matched_ops', + 'inf_allow_sigmulti', + 'inf_append_sigcmt', + 'inf_big_arg_align', + 'inf_check_manual_ops', + 'inf_check_unicode_strlits', + 'inf_coagulate_code', + 'inf_coagulate_data', + 'inf_compress_idb', + 'inf_create_all_xrefs', + 'inf_create_func_from_call', + 'inf_create_func_from_ptr', + 'inf_create_func_tails', + 'inf_create_jump_tables', + 'inf_create_off_on_dref', + 'inf_create_off_using_fixup', + 'inf_create_strlit_on_xref', + 'inf_data_offset', + 'inf_dbg_no_store_path', + 'inf_decode_fpp', + 'inf_del_no_xref_insns', + 'inf_final_pass', + 'inf_full_sp_ana', + 'inf_gen_assume', + 'inf_gen_lzero', + 'inf_gen_null', + 'inf_gen_org', + 'inf_gen_tryblks', + 'inf_get_abibits', + 'inf_get_af', + 'inf_get_af2', + 'inf_get_af2_low', + 'inf_get_af_high', + 'inf_get_af_low', + 'inf_get_appcall_options', + 'inf_get_apptype', + 'inf_get_asmtype', + 'inf_get_baseaddr', + 'inf_get_bin_prefix_size', + 'inf_get_cc', + 'inf_get_cc_cm', + 'inf_get_cc_defalign', + 'inf_get_cc_id', + 'inf_get_cc_size_b', + 'inf_get_cc_size_e', + 'inf_get_cc_size_i', + 'inf_get_cc_size_l', + 'inf_get_cc_size_ldbl', + 'inf_get_cc_size_ll', + 'inf_get_cc_size_s', + 'inf_get_cmtflg', + 'inf_get_comment', + 'inf_get_database_change_count', + 'inf_get_datatypes', + 'inf_get_demname_form', + 'inf_get_demnames', + 'inf_get_filetype', + 'inf_get_genflags', + 'inf_get_highoff', + 'inf_get_indent', + 'inf_get_lenxref', + 'inf_get_lflags', + 'inf_get_limiter', + 'inf_get_listnames', + 'inf_get_long_demnames', + 'inf_get_lowoff', + 'inf_get_main', + 'inf_get_margin', + 'inf_get_max_autoname_len', + 'inf_get_max_ea', + 'inf_get_maxref', + 'inf_get_min_ea', + 'inf_get_nametype', + 'inf_get_netdelta', + 'inf_get_omax_ea', + 'inf_get_omin_ea', + 'inf_get_ostype', + 'inf_get_outflags', + 'inf_get_pack_mode', + 'inf_get_prefflag', + 'inf_get_privrange', + 'inf_get_privrange__SWIG_0', + 'inf_get_privrange__SWIG_1', + 'inf_get_privrange_end_ea', + 'inf_get_privrange_start_ea', + 'inf_get_procname', + 'inf_get_refcmtnum', + 'inf_get_short_demnames', + 'inf_get_specsegs', + 'inf_get_start_cs', + 'inf_get_start_ea', + 'inf_get_start_ip', + 'inf_get_start_sp', + 'inf_get_start_ss', + 'inf_get_strlit_break', + 'inf_get_strlit_flags', + 'inf_get_strlit_pref', + 'inf_get_strlit_sernum', + 'inf_get_strlit_zeroes', + 'inf_get_strtype', + 'inf_get_type_xrefnum', + 'inf_get_version', + 'inf_get_xrefflag', + 'inf_get_xrefnum', + 'inf_guess_func_type', + 'inf_handle_eh', + 'inf_handle_rtti', + 'inf_hide_comments', + 'inf_hide_libfuncs', + 'inf_huge_arg_align', + 'inf_inc_database_change_count', + 'inf_is_32bit', + 'inf_is_64bit', + 'inf_is_auto_enabled', + 'inf_is_be', + 'inf_is_dll', + 'inf_is_flat_off32', + 'inf_is_graph_view', + 'inf_is_hard_float', + 'inf_is_kernel_mode', + 'inf_is_limiter_empty', + 'inf_is_limiter_thick', + 'inf_is_limiter_thin', + 'inf_is_mem_aligned4', + 'inf_is_snapshot', + 'inf_is_wide_high_byte_first', + 'inf_like_binary', + 'inf_line_pref_with_seg', + 'inf_loading_idc', + 'inf_macros_enabled', + 'inf_map_stkargs', + 'inf_mark_code', + 'inf_no_store_user_info', + 'inf_noflow_to_data', + 'inf_noret_ana', + 'inf_op_offset', + 'inf_pack_idb', + 'inf_pack_stkargs', + 'inf_postinc_strlit_sernum', + 'inf_prefix_show_funcoff', + 'inf_prefix_show_segaddr', + 'inf_prefix_show_stack', + 'inf_prefix_truncate_opcode_bytes', + 'inf_propagate_regargs', + 'inf_propagate_stkargs', + 'inf_readonly_idb', + 'inf_rename_jumpfunc', + 'inf_rename_nullsub', + 'inf_set_32bit', + 'inf_set_64bit', + 'inf_set_abi_set_by_user', + 'inf_set_abibits', + 'inf_set_af', + 'inf_set_af2', + 'inf_set_af2_low', + 'inf_set_af_high', + 'inf_set_af_low', + 'inf_set_allow_non_matched_ops', + 'inf_set_allow_sigmulti', + 'inf_set_appcall_options', + 'inf_set_append_sigcmt', + 'inf_set_apptype', + 'inf_set_asmtype', + 'inf_set_auto_enabled', + 'inf_set_baseaddr', + 'inf_set_be', + 'inf_set_big_arg_align', + 'inf_set_bin_prefix_size', + 'inf_set_cc', + 'inf_set_cc_cm', + 'inf_set_cc_defalign', + 'inf_set_cc_id', + 'inf_set_cc_size_b', + 'inf_set_cc_size_e', + 'inf_set_cc_size_i', + 'inf_set_cc_size_l', + 'inf_set_cc_size_ldbl', + 'inf_set_cc_size_ll', + 'inf_set_cc_size_s', + 'inf_set_check_manual_ops', + 'inf_set_check_unicode_strlits', + 'inf_set_cmtflg', + 'inf_set_coagulate_code', + 'inf_set_coagulate_data', + 'inf_set_comment', + 'inf_set_compress_idb', + 'inf_set_create_all_xrefs', + 'inf_set_create_func_from_call', + 'inf_set_create_func_from_ptr', + 'inf_set_create_func_tails', + 'inf_set_create_jump_tables', + 'inf_set_create_off_on_dref', + 'inf_set_create_off_using_fixup', + 'inf_set_create_strlit_on_xref', + 'inf_set_data_offset', + 'inf_set_database_change_count', + 'inf_set_datatypes', + 'inf_set_dbg_no_store_path', + 'inf_set_decode_fpp', + 'inf_set_del_no_xref_insns', + 'inf_set_demnames', + 'inf_set_dll', + 'inf_set_filetype', + 'inf_set_final_pass', + 'inf_set_flat_off32', + 'inf_set_full_sp_ana', + 'inf_set_gen_assume', + 'inf_set_gen_lzero', + 'inf_set_gen_null', + 'inf_set_gen_org', + 'inf_set_gen_tryblks', + 'inf_set_genflags', + 'inf_set_graph_view', + 'inf_set_guess_func_type', + 'inf_set_handle_eh', + 'inf_set_handle_rtti', + 'inf_set_hard_float', + 'inf_set_hide_comments', + 'inf_set_hide_libfuncs', + 'inf_set_highoff', + 'inf_set_huge_arg_align', + 'inf_set_indent', + 'inf_set_kernel_mode', + 'inf_set_lenxref', + 'inf_set_lflags', + 'inf_set_limiter', + 'inf_set_limiter_empty', + 'inf_set_limiter_thick', + 'inf_set_limiter_thin', + 'inf_set_line_pref_with_seg', + 'inf_set_listnames', + 'inf_set_loading_idc', + 'inf_set_long_demnames', + 'inf_set_lowoff', + 'inf_set_macros_enabled', + 'inf_set_main', + 'inf_set_map_stkargs', + 'inf_set_margin', + 'inf_set_mark_code', + 'inf_set_max_autoname_len', + 'inf_set_max_ea', + 'inf_set_maxref', + 'inf_set_mem_aligned4', + 'inf_set_min_ea', + 'inf_set_nametype', + 'inf_set_netdelta', + 'inf_set_no_store_user_info', + 'inf_set_noflow_to_data', + 'inf_set_noret_ana', + 'inf_set_omax_ea', + 'inf_set_omin_ea', + 'inf_set_op_offset', + 'inf_set_ostype', + 'inf_set_outflags', + 'inf_set_pack_idb', + 'inf_set_pack_mode', + 'inf_set_pack_stkargs', + 'inf_set_prefflag', + 'inf_set_prefix_show_funcoff', + 'inf_set_prefix_show_segaddr', + 'inf_set_prefix_show_stack', + 'inf_set_prefix_truncate_opcode_bytes', + 'inf_set_privrange', + 'inf_set_privrange_end_ea', + 'inf_set_privrange_start_ea', + 'inf_set_procname', + 'inf_set_propagate_regargs', + 'inf_set_propagate_stkargs', + 'inf_set_readonly_idb', + 'inf_set_refcmtnum', + 'inf_set_rename_jumpfunc', + 'inf_set_rename_nullsub', + 'inf_set_short_demnames', + 'inf_set_should_create_stkvars', + 'inf_set_should_trace_sp', + 'inf_set_show_all_comments', + 'inf_set_show_auto', + 'inf_set_show_hidden_funcs', + 'inf_set_show_hidden_insns', + 'inf_set_show_hidden_segms', + 'inf_set_show_line_pref', + 'inf_set_show_repeatables', + 'inf_set_show_src_linnum', + 'inf_set_show_void', + 'inf_set_show_xref_fncoff', + 'inf_set_show_xref_seg', + 'inf_set_show_xref_tmarks', + 'inf_set_show_xref_val', + 'inf_set_snapshot', + 'inf_set_specsegs', + 'inf_set_stack_ldbl', + 'inf_set_stack_varargs', + 'inf_set_start_cs', + 'inf_set_start_ea', + 'inf_set_start_ip', + 'inf_set_start_sp', + 'inf_set_start_ss', + 'inf_set_strlit_autocmt', + 'inf_set_strlit_break', + 'inf_set_strlit_flags', + 'inf_set_strlit_name_bit', + 'inf_set_strlit_names', + 'inf_set_strlit_pref', + 'inf_set_strlit_savecase', + 'inf_set_strlit_serial_names', + 'inf_set_strlit_sernum', + 'inf_set_strlit_zeroes', + 'inf_set_strtype', + 'inf_set_test_mode', + 'inf_set_trace_flow', + 'inf_set_truncate_on_del', + 'inf_set_type_xrefnum', + 'inf_set_unicode_strlits', + 'inf_set_use_allasm', + 'inf_set_use_flirt', + 'inf_set_use_gcc_layout', + 'inf_set_version', + 'inf_set_wide_high_byte_first', + 'inf_set_xrefflag', + 'inf_set_xrefnum', + 'inf_should_create_stkvars', + 'inf_should_trace_sp', + 'inf_show_all_comments', + 'inf_show_auto', + 'inf_show_hidden_funcs', + 'inf_show_hidden_insns', + 'inf_show_hidden_segms', + 'inf_show_line_pref', + 'inf_show_repeatables', + 'inf_show_src_linnum', + 'inf_show_void', + 'inf_show_xref_fncoff', + 'inf_show_xref_seg', + 'inf_show_xref_tmarks', + 'inf_show_xref_val', + 'inf_stack_ldbl', + 'inf_stack_varargs', + 'inf_strlit_autocmt', + 'inf_strlit_name_bit', + 'inf_strlit_names', + 'inf_strlit_savecase', + 'inf_strlit_serial_names', + 'inf_test_mode', + 'inf_trace_flow', + 'inf_truncate_on_del', + 'inf_unicode_strlits', + 'inf_use_allasm', + 'inf_use_flirt', + 'inf_use_gcc_layout', + 'info', + 'info__varargs__', + 'init_hexrays_plugin', + 'insn_add_cref', + 'insn_add_dref', + 'insn_add_off_drefs', + 'insn_create_stkvar', + 'insn_t___get_auxpref__', + 'insn_t___get_operand__', + 'insn_t___get_ops__', + 'insn_t___set_auxpref__', + 'insn_t__from_ptrval__', + 'insn_t_add_cref', + 'insn_t_add_dref', + 'insn_t_add_off_drefs', + 'insn_t_assign', + 'insn_t_create_op_data', + 'insn_t_create_op_data__SWIG_0', + 'insn_t_create_op_data__SWIG_1', + 'insn_t_create_stkvar', + 'insn_t_cs_get', + 'insn_t_cs_set', + 'insn_t_ea_get', + 'insn_t_ea_set', + 'insn_t_flags_get', + 'insn_t_flags_set', + 'insn_t_get_canon_feature', + 'insn_t_get_canon_mnem', + 'insn_t_get_next_byte', + 'insn_t_get_next_dword', + 'insn_t_get_next_qword', + 'insn_t_get_next_word', + 'insn_t_insnpref_get', + 'insn_t_insnpref_set', + 'insn_t_ip_get', + 'insn_t_ip_set', + 'insn_t_is_64bit', + 'insn_t_is_canon_insn', + 'insn_t_is_macro', + 'insn_t_itype_get', + 'insn_t_itype_set', + 'insn_t_ops_get', + 'insn_t_ops_set', + 'insn_t_segpref_get', + 'insn_t_segpref_set', + 'insn_t_size_get', + 'insn_t_size_set', + 'install_command_interpreter', + 'install_microcode_filter', + 'instant_dbgopts_t__pass_get', + 'instant_dbgopts_t__pass_set', + 'instant_dbgopts_t_attach_get', + 'instant_dbgopts_t_attach_set', + 'instant_dbgopts_t_debmod_get', + 'instant_dbgopts_t_debmod_set', + 'instant_dbgopts_t_env_get', + 'instant_dbgopts_t_env_set', + 'instant_dbgopts_t_event_id_get', + 'instant_dbgopts_t_event_id_set', + 'instant_dbgopts_t_host_get', + 'instant_dbgopts_t_host_set', + 'instant_dbgopts_t_pid_get', + 'instant_dbgopts_t_pid_set', + 'instant_dbgopts_t_port_get', + 'instant_dbgopts_t_port_set', + 'int_pointer_assign', + 'int_pointer_cast', + 'int_pointer_frompointer', + 'int_pointer_value', + 'internal_get_sreg_base', + 'internal_ioctl', + 'internal_register_place_class', + 'interval_t___eq__', + 'interval_t___ne__', + 'interval_t_contains', + 'interval_t_empty', + 'interval_t_intersect', + 'interval_t_length', + 'interval_t_make_union', + 'interval_t_move_by', + 'interval_t_x0_get', + 'interval_t_x0_set', + 'interval_t_x1_get', + 'interval_t_x1_set', + 'intvec_t___eq__', + 'intvec_t___getitem__', + 'intvec_t___len__', + 'intvec_t___ne__', + 'intvec_t___setitem__', + 'intvec_t__del', + 'intvec_t_add_unique', + 'intvec_t_at', + 'intvec_t_begin', + 'intvec_t_begin__SWIG_0', + 'intvec_t_begin__SWIG_1', + 'intvec_t_capacity', + 'intvec_t_clear', + 'intvec_t_empty', + 'intvec_t_end', + 'intvec_t_end__SWIG_0', + 'intvec_t_end__SWIG_1', + 'intvec_t_erase', + 'intvec_t_erase__SWIG_0', + 'intvec_t_erase__SWIG_1', + 'intvec_t_extract', + 'intvec_t_find', + 'intvec_t_find__SWIG_0', + 'intvec_t_find__SWIG_1', + 'intvec_t_has', + 'intvec_t_inject', + 'intvec_t_insert', + 'intvec_t_pop_back', + 'intvec_t_push_back', + 'intvec_t_push_back__SWIG_0', + 'intvec_t_push_back__SWIG_1', + 'intvec_t_qclear', + 'intvec_t_reserve', + 'intvec_t_resize', + 'intvec_t_resize__SWIG_0', + 'intvec_t_resize__SWIG_1', + 'intvec_t_size', + 'intvec_t_swap', + 'intvec_t_truncate', + 'invalidate_dbg_state', + 'invalidate_dbgmem_config', + 'invalidate_dbgmem_contents', + 'is__bnot0', + 'is__bnot1', + 'is__invsign0', + 'is__invsign1', + 'is_action_enabled', + 'is_additive', + 'is_align', + 'is_align_flow', + 'is_align_insn', + 'is_anonymous_member_name', + 'is_assignment', + 'is_attached_custom_data_format', + 'is_auto_enabled', + 'is_autosync', + 'is_autosync__SWIG_0', + 'is_autosync__SWIG_1', + 'is_basic_block_end', + 'is_bblk_trace_enabled', + 'is_bf', + 'is_binary', + 'is_bitop', + 'is_bnot', + 'is_bool_type', + 'is_break_consumer', + 'is_byte', + 'is_call_insn', + 'is_char', + 'is_char0', + 'is_char1', + 'is_chooser_widget', + 'is_code', + 'is_code_far', + 'is_colored_item', + 'is_commutative', + 'is_comp_unsure', + 'is_control_tty', + 'is_custfmt', + 'is_custfmt0', + 'is_custfmt1', + 'is_custom', + 'is_data', + 'is_data_far', + 'is_database_flag', + 'is_debugger_busy', + 'is_debugger_memory', + 'is_debugger_on', + 'is_defarg', + 'is_defarg0', + 'is_defarg1', + 'is_double', + 'is_dummy_member_name', + 'is_dword', + 'is_enum', + 'is_enum0', + 'is_enum1', + 'is_enum_fromtil', + 'is_enum_hidden', + 'is_filetype_like_binary', + 'is_finally_visible_func', + 'is_finally_visible_item', + 'is_finally_visible_segm', + 'is_fixed_spd', + 'is_fixup_custom', + 'is_float', + 'is_float0', + 'is_float1', + 'is_floating_dtype', + 'is_flow', + 'is_fltnum', + 'is_forced_operand', + 'is_func', + 'is_func_entry', + 'is_func_locked', + 'is_func_tail', + 'is_func_trace_enabled', + 'is_funcarg_off', + 'is_gcc', + 'is_gcc32', + 'is_gcc64', + 'is_ghost_enum', + 'is_head', + 'is_hidden_border', + 'is_hidden_item', + 'is_idaq', + 'is_ident', + 'is_ident_cp', + 'is_in_nlist', + 'is_indirect_jump_insn', + 'is_inplace_def', + 'is_insn_trace_enabled', + 'is_invsign', + 'is_kreg', + 'is_libitem', + 'is_loaded', + 'is_logical', + 'is_loop', + 'is_lvalue', + 'is_lzero', + 'is_lzero0', + 'is_lzero1', + 'is_main_thread', + 'is_manual', + 'is_manual_insn', + 'is_mapped', + 'is_may_access', + 'is_mcode_addsub', + 'is_mcode_call', + 'is_mcode_commutative', + 'is_mcode_convertible_to_jmp', + 'is_mcode_convertible_to_set', + 'is_mcode_divmod', + 'is_mcode_fpu', + 'is_mcode_j1', + 'is_mcode_jcond', + 'is_mcode_propagatable', + 'is_mcode_set', + 'is_mcode_set1', + 'is_mcode_shift', + 'is_mcode_xdsu', + 'is_member_id', + 'is_miniidb', + 'is_msg_inited', + 'is_multiplicative', + 'is_name_defined_locally', + 'is_nonbool_type', + 'is_noret', + 'is_noret_block', + 'is_not_tail', + 'is_notcode', + 'is_notproc', + 'is_numop', + 'is_numop0', + 'is_numop1', + 'is_off', + 'is_off0', + 'is_off1', + 'is_one_bit_mask', + 'is_ordinal_name', + 'is_oword', + 'is_pack_real', + 'is_paf', + 'is_pascal', + 'is_place_class_ea_capable', + 'is_prepost', + 'is_problem_present', + 'is_ptr_or_array', + 'is_public_name', + 'is_purging_cc', + 'is_qword', + 'is_refresh_requested', + 'is_reftype_target_optional', + 'is_reg_custom', + 'is_reg_float', + 'is_reg_integer', + 'is_relational', + 'is_request_running', + 'is_restype_enum', + 'is_restype_struct', + 'is_restype_struni', + 'is_restype_void', + 'is_ret_block', + 'is_ret_insn', + 'is_retfp', + 'is_same_data_type', + 'is_same_func', + 'is_sdacl_byte', + 'is_seg', + 'is_seg0', + 'is_seg1', + 'is_segm_locked', + 'is_signed_mcode', + 'is_small_udt', + 'is_spec_ea', + 'is_spec_segm', + 'is_special_member', + 'is_step_trace_enabled', + 'is_stkvar', + 'is_stkvar0', + 'is_stkvar1', + 'is_strlit', + 'is_strlit_cp', + 'is_stroff', + 'is_stroff0', + 'is_stroff1', + 'is_struct', + 'is_suspop', + 'is_tah_byte', + 'is_tail', + 'is_tbyte', + 'is_terse_struc', + 'is_tilcmt', + 'is_trusted_idb', + 'is_type_arithmetic', + 'is_type_array', + 'is_type_bitfld', + 'is_type_bool', + 'is_type_char', + 'is_type_complex', + 'is_type_const', + 'is_type_correct', + 'is_type_double', + 'is_type_enum', + 'is_type_ext_arithmetic', + 'is_type_ext_integral', + 'is_type_float', + 'is_type_floating', + 'is_type_func', + 'is_type_int', + 'is_type_int128', + 'is_type_int16', + 'is_type_int32', + 'is_type_int64', + 'is_type_integral', + 'is_type_ldouble', + 'is_type_paf', + 'is_type_partial', + 'is_type_ptr', + 'is_type_ptr_or_array', + 'is_type_struct', + 'is_type_struni', + 'is_type_sue', + 'is_type_tbyte', + 'is_type_typedef', + 'is_type_uchar', + 'is_type_uint', + 'is_type_uint128', + 'is_type_uint16', + 'is_type_uint32', + 'is_type_uint64', + 'is_type_union', + 'is_type_unknown', + 'is_type_void', + 'is_type_volatile', + 'is_typeid_last', + 'is_uname', + 'is_unary', + 'is_union', + 'is_unknown', + 'is_unsigned_mcode', + 'is_user_cc', + 'is_usersp', + 'is_userti', + 'is_valid_cp', + 'is_valid_trace_file', + 'is_valid_typename', + 'is_vararg_cc', + 'is_varmember', + 'is_varsize_item', + 'is_varstr', + 'is_visible_cp', + 'is_visible_func', + 'is_visible_item', + 'is_visible_segm', + 'is_weak_name', + 'is_word', + 'is_yword', + 'is_zstroff', + 'is_zword', + 'ivl_t___eq__', + 'ivl_t___ge__', + 'ivl_t___gt__', + 'ivl_t___le__', + 'ivl_t___lt__', + 'ivl_t___ne__', + 'ivl_t_clear', + 'ivl_t_compare', + 'ivl_t_contains', + 'ivl_t_dstr', + 'ivl_t_empty', + 'ivl_t_extend_to_cover', + 'ivl_t_includes', + 'ivl_t_intersect', + 'ivl_t_overlap', + 'ivl_with_name_t_ivl_get', + 'ivl_with_name_t_ivl_set', + 'ivl_with_name_t_part_get', + 'ivl_with_name_t_part_set', + 'ivl_with_name_t_whole_get', + 'ivl_with_name_t_whole_set', + 'ivlset_t___eq__', + 'ivlset_t___ge__', + 'ivlset_t___gt__', + 'ivlset_t___le__', + 'ivlset_t___lt__', + 'ivlset_t___ne__', + 'ivlset_t__print', + 'ivlset_t_add', + 'ivlset_t_add__SWIG_0', + 'ivlset_t_add__SWIG_1', + 'ivlset_t_add__SWIG_2', + 'ivlset_t_addmasked', + 'ivlset_t_compare', + 'ivlset_t_contains', + 'ivlset_t_count', + 'ivlset_t_dstr', + 'ivlset_t_has_common', + 'ivlset_t_has_common__SWIG_0', + 'ivlset_t_has_common__SWIG_1', + 'ivlset_t_includes', + 'ivlset_t_intersect', + 'ivlset_t_sub', + 'ivlset_t_sub__SWIG_0', + 'ivlset_t_sub__SWIG_1', + 'ivlset_t_sub__SWIG_2', + 'jcnd2set', + 'jobj_wrapper_t_get_dict', + 'jumpto', + 'jumpto__SWIG_0', + 'jumpto__SWIG_1', + 'last_idcv_attr', + 'leading_zero_important', + 'lexcompare', + 'lexcompare_tinfo', + 'list_bptgrps', + 'list_bptgrps__SWIG_0', + 'list_bptgrps__SWIG_1', + 'llabel_t_ea_get', + 'llabel_t_ea_set', + 'llabel_t_name_get', + 'llabel_t_name_set', + 'load_and_run_plugin', + 'load_binary_file', + 'load_dbg_dbginfo', + 'load_debugger', + 'load_ids_module', + 'load_plugin', + 'load_til', + 'load_til_header', + 'load_trace_file', + 'loader_input_t___idc_cvt_id___get', + 'loader_input_t___idc_cvt_id___set', + 'loader_input_t_close', + 'loader_input_t_file2base', + 'loader_input_t_filename', + 'loader_input_t_from_capsule', + 'loader_input_t_from_fp', + 'loader_input_t_from_linput', + 'loader_input_t_get_byte', + 'loader_input_t_get_linput', + 'loader_input_t_gets', + 'loader_input_t_getz', + 'loader_input_t_open', + 'loader_input_t_open_memory', + 'loader_input_t_opened', + 'loader_input_t_read', + 'loader_input_t_readbytes', + 'loader_input_t_seek', + 'loader_input_t_set_linput', + 'loader_input_t_size', + 'loader_input_t_tell', + 'loader_t_flags_get', + 'loader_t_flags_set', + 'loader_t_version_get', + 'loader_t_version_set', + 'lochist_entry_t___eq__', + 'lochist_entry_t___ne__', + 'lochist_entry_t_acquire_place', + 'lochist_entry_t_is_valid', + 'lochist_entry_t_place', + 'lochist_entry_t_place__SWIG_0', + 'lochist_entry_t_place__SWIG_1', + 'lochist_entry_t_plce_get', + 'lochist_entry_t_plce_set', + 'lochist_entry_t_renderer_info', + 'lochist_entry_t_renderer_info__SWIG_0', + 'lochist_entry_t_renderer_info__SWIG_1', + 'lochist_entry_t_rinfo_get', + 'lochist_entry_t_rinfo_set', + 'lochist_entry_t_set_place', + 'lochist_t_back', + 'lochist_t_clear', + 'lochist_t_current_index', + 'lochist_t_fwd', + 'lochist_t_get', + 'lochist_t_get_current', + 'lochist_t_get_place_id', + 'lochist_t_get_template_place', + 'lochist_t_init', + 'lochist_t_is_history_enabled', + 'lochist_t_jump', + 'lochist_t_netcode', + 'lochist_t_save', + 'lochist_t_seek', + 'lochist_t_set', + 'lochist_t_set_current', + 'lochist_t_size', + 'lock_func_range', + 'lock_segm', + 'log2ceil', + 'log2floor', + 'longlongvec_t___eq__', + 'longlongvec_t___getitem__', + 'longlongvec_t___len__', + 'longlongvec_t___ne__', + 'longlongvec_t___setitem__', + 'longlongvec_t__del', + 'longlongvec_t_add_unique', + 'longlongvec_t_at', + 'longlongvec_t_begin', + 'longlongvec_t_begin__SWIG_0', + 'longlongvec_t_begin__SWIG_1', + 'longlongvec_t_capacity', + 'longlongvec_t_clear', + 'longlongvec_t_empty', + 'longlongvec_t_end', + 'longlongvec_t_end__SWIG_0', + 'longlongvec_t_end__SWIG_1', + 'longlongvec_t_erase', + 'longlongvec_t_erase__SWIG_0', + 'longlongvec_t_erase__SWIG_1', + 'longlongvec_t_extract', + 'longlongvec_t_find', + 'longlongvec_t_find__SWIG_0', + 'longlongvec_t_find__SWIG_1', + 'longlongvec_t_has', + 'longlongvec_t_inject', + 'longlongvec_t_insert', + 'longlongvec_t_pop_back', + 'longlongvec_t_push_back', + 'longlongvec_t_push_back__SWIG_0', + 'longlongvec_t_push_back__SWIG_1', + 'longlongvec_t_qclear', + 'longlongvec_t_reserve', + 'longlongvec_t_resize', + 'longlongvec_t_resize__SWIG_0', + 'longlongvec_t_resize__SWIG_1', + 'longlongvec_t_size', + 'longlongvec_t_swap', + 'longlongvec_t_truncate', + 'lookup_key_code', + 'lower_type', + 'lowertype_helper_t_func_has_stkframe_hole', + 'lowertype_helper_t_get_func_purged_bytes', + 'lvar_locator_t___eq__', + 'lvar_locator_t___ge__', + 'lvar_locator_t___gt__', + 'lvar_locator_t___le__', + 'lvar_locator_t___lt__', + 'lvar_locator_t___ne__', + 'lvar_locator_t_compare', + 'lvar_locator_t_defea_get', + 'lvar_locator_t_defea_set', + 'lvar_locator_t_get_reg1', + 'lvar_locator_t_get_reg2', + 'lvar_locator_t_get_scattered', + 'lvar_locator_t_get_scattered__SWIG_0', + 'lvar_locator_t_get_scattered__SWIG_1', + 'lvar_locator_t_get_stkoff', + 'lvar_locator_t_is_reg1', + 'lvar_locator_t_is_reg2', + 'lvar_locator_t_is_reg_var', + 'lvar_locator_t_is_scattered', + 'lvar_locator_t_is_stk_var', + 'lvar_locator_t_location_get', + 'lvar_locator_t_location_set', + 'lvar_mapping_begin', + 'lvar_mapping_clear', + 'lvar_mapping_end', + 'lvar_mapping_erase', + 'lvar_mapping_find', + 'lvar_mapping_first', + 'lvar_mapping_free', + 'lvar_mapping_insert', + 'lvar_mapping_iterator_t___eq__', + 'lvar_mapping_iterator_t___ne__', + 'lvar_mapping_iterator_t_x_get', + 'lvar_mapping_iterator_t_x_set', + 'lvar_mapping_new', + 'lvar_mapping_next', + 'lvar_mapping_prev', + 'lvar_mapping_second', + 'lvar_mapping_size', + 'lvar_mapping_t_at', + 'lvar_mapping_t_size', + 'lvar_off', + 'lvar_ref_t___eq__', + 'lvar_ref_t___ge__', + 'lvar_ref_t___gt__', + 'lvar_ref_t___le__', + 'lvar_ref_t___lt__', + 'lvar_ref_t___ne__', + 'lvar_ref_t_compare', + 'lvar_ref_t_idx_get', + 'lvar_ref_t_idx_set', + 'lvar_ref_t_mba_get', + 'lvar_ref_t_off_get', + 'lvar_ref_t_off_set', + 'lvar_ref_t_swap', + 'lvar_ref_t_var', + 'lvar_saved_info_t___eq__', + 'lvar_saved_info_t___ne__', + 'lvar_saved_info_t_clear_keep', + 'lvar_saved_info_t_clr_forced_lvar', + 'lvar_saved_info_t_clr_nomap_lvar', + 'lvar_saved_info_t_clr_noptr_lvar', + 'lvar_saved_info_t_cmt_get', + 'lvar_saved_info_t_cmt_set', + 'lvar_saved_info_t_flags_get', + 'lvar_saved_info_t_flags_set', + 'lvar_saved_info_t_has_info', + 'lvar_saved_info_t_is_forced_lvar', + 'lvar_saved_info_t_is_kept', + 'lvar_saved_info_t_is_nomap_lvar', + 'lvar_saved_info_t_is_noptr_lvar', + 'lvar_saved_info_t_ll_get', + 'lvar_saved_info_t_ll_set', + 'lvar_saved_info_t_name_get', + 'lvar_saved_info_t_name_set', + 'lvar_saved_info_t_set_forced_lvar', + 'lvar_saved_info_t_set_keep', + 'lvar_saved_info_t_set_nomap_lvar', + 'lvar_saved_info_t_set_noptr_lvar', + 'lvar_saved_info_t_size_get', + 'lvar_saved_info_t_size_set', + 'lvar_saved_info_t_type_get', + 'lvar_saved_info_t_type_set', + 'lvar_saved_infos_t___eq__', + 'lvar_saved_infos_t___getitem__', + 'lvar_saved_infos_t___len__', + 'lvar_saved_infos_t___ne__', + 'lvar_saved_infos_t___setitem__', + 'lvar_saved_infos_t__del', + 'lvar_saved_infos_t_add_unique', + 'lvar_saved_infos_t_at', + 'lvar_saved_infos_t_begin', + 'lvar_saved_infos_t_begin__SWIG_0', + 'lvar_saved_infos_t_begin__SWIG_1', + 'lvar_saved_infos_t_capacity', + 'lvar_saved_infos_t_clear', + 'lvar_saved_infos_t_empty', + 'lvar_saved_infos_t_end', + 'lvar_saved_infos_t_end__SWIG_0', + 'lvar_saved_infos_t_end__SWIG_1', + 'lvar_saved_infos_t_erase', + 'lvar_saved_infos_t_erase__SWIG_0', + 'lvar_saved_infos_t_erase__SWIG_1', + 'lvar_saved_infos_t_extract', + 'lvar_saved_infos_t_find', + 'lvar_saved_infos_t_find__SWIG_0', + 'lvar_saved_infos_t_find__SWIG_1', + 'lvar_saved_infos_t_grow', + 'lvar_saved_infos_t_has', + 'lvar_saved_infos_t_inject', + 'lvar_saved_infos_t_insert', + 'lvar_saved_infos_t_pop_back', + 'lvar_saved_infos_t_push_back', + 'lvar_saved_infos_t_push_back__SWIG_0', + 'lvar_saved_infos_t_push_back__SWIG_1', + 'lvar_saved_infos_t_qclear', + 'lvar_saved_infos_t_reserve', + 'lvar_saved_infos_t_resize', + 'lvar_saved_infos_t_resize__SWIG_0', + 'lvar_saved_infos_t_resize__SWIG_1', + 'lvar_saved_infos_t_size', + 'lvar_saved_infos_t_swap', + 'lvar_saved_infos_t_truncate', + 'lvar_t_accepts_type', + 'lvar_t_append_list', + 'lvar_t_clear_used', + 'lvar_t_clr_arg_var', + 'lvar_t_clr_automapped', + 'lvar_t_clr_dummy_arg', + 'lvar_t_clr_fake_var', + 'lvar_t_clr_floating_var', + 'lvar_t_clr_forced_var', + 'lvar_t_clr_mapdst_var', + 'lvar_t_clr_mreg_done', + 'lvar_t_clr_noptr_var', + 'lvar_t_clr_notarg', + 'lvar_t_clr_overlapped_var', + 'lvar_t_clr_spoiled_var', + 'lvar_t_clr_thisarg', + 'lvar_t_clr_unknown_width', + 'lvar_t_clr_user_info', + 'lvar_t_clr_user_name', + 'lvar_t_clr_user_type', + 'lvar_t_cmt_get', + 'lvar_t_cmt_set', + 'lvar_t_defblk_get', + 'lvar_t_defblk_set', + 'lvar_t_divisor_get', + 'lvar_t_divisor_set', + 'lvar_t_has_common', + 'lvar_t_has_common_bit', + 'lvar_t_has_nice_name', + 'lvar_t_has_regname', + 'lvar_t_has_user_info', + 'lvar_t_has_user_name', + 'lvar_t_has_user_type', + 'lvar_t_is_aliasable', + 'lvar_t_is_arg_var', + 'lvar_t_is_automapped', + 'lvar_t_is_dummy_arg', + 'lvar_t_is_fake_var', + 'lvar_t_is_floating_var', + 'lvar_t_is_forced_var', + 'lvar_t_is_mapdst_var', + 'lvar_t_is_noptr_var', + 'lvar_t_is_notarg', + 'lvar_t_is_overlapped_var', + 'lvar_t_is_result_var', + 'lvar_t_is_spoiled_var', + 'lvar_t_is_thisarg', + 'lvar_t_is_unknown_width', + 'lvar_t_mreg_done', + 'lvar_t_name_get', + 'lvar_t_name_set', + 'lvar_t_set_arg_var', + 'lvar_t_set_automapped', + 'lvar_t_set_dummy_arg', + 'lvar_t_set_fake_var', + 'lvar_t_set_final_lvar_type', + 'lvar_t_set_floating_var', + 'lvar_t_set_forced_var', + 'lvar_t_set_lvar_type', + 'lvar_t_set_mapdst_var', + 'lvar_t_set_mreg_done', + 'lvar_t_set_non_typed', + 'lvar_t_set_noptr_var', + 'lvar_t_set_notarg', + 'lvar_t_set_overlapped_var', + 'lvar_t_set_spoiled_var', + 'lvar_t_set_thisarg', + 'lvar_t_set_typed', + 'lvar_t_set_unknown_width', + 'lvar_t_set_used', + 'lvar_t_set_user_name', + 'lvar_t_set_user_type', + 'lvar_t_set_width', + 'lvar_t_tif_get', + 'lvar_t_tif_set', + 'lvar_t_type', + 'lvar_t_type__SWIG_0', + 'lvar_t_type__SWIG_1', + 'lvar_t_typed', + 'lvar_t_used', + 'lvar_t_width_get', + 'lvar_t_width_set', + 'lvar_uservec_t_clear', + 'lvar_uservec_t_find_info', + 'lvar_uservec_t_keep_info', + 'lvar_uservec_t_lmaps_get', + 'lvar_uservec_t_lmaps_set', + 'lvar_uservec_t_lvvec_get', + 'lvar_uservec_t_lvvec_set', + 'lvar_uservec_t_stkoff_delta_get', + 'lvar_uservec_t_stkoff_delta_set', + 'lvar_uservec_t_swap', + 'lvar_uservec_t_ulv_flags_get', + 'lvar_uservec_t_ulv_flags_set', + 'lvars_t_find', + 'lvars_t_find_input_lvar', + 'lvars_t_find_lvar', + 'lvars_t_find_stkvar', + 'make_name_auto', + 'make_name_non_public', + 'make_name_non_weak', + 'make_name_public', + 'make_name_user', + 'make_name_weak', + 'make_pointer', + 'map_code_ea', + 'map_code_ea__SWIG_0', + 'map_code_ea__SWIG_1', + 'map_data_ea', + 'map_data_ea__SWIG_0', + 'map_data_ea__SWIG_1', + 'map_ea', + 'map_ea__SWIG_0', + 'map_ea__SWIG_1', + 'mark_cfunc_dirty', + 'mark_position', + 'may_create_stkvars', + 'may_trace_sp', + 'mba_range_iterator_t_chunk', + 'mba_range_iterator_t_fii_get', + 'mba_range_iterator_t_fii_set', + 'mba_range_iterator_t_is_snippet', + 'mba_range_iterator_t_next', + 'mba_range_iterator_t_rii_get', + 'mba_range_iterator_t_rii_set', + 'mba_range_iterator_t_set', + 'mba_ranges_t_clear', + 'mba_ranges_t_empty', + 'mba_ranges_t_is_fragmented', + 'mba_ranges_t_is_snippet', + 'mba_ranges_t_pfn_get', + 'mba_ranges_t_pfn_set', + 'mba_ranges_t_ranges_get', + 'mba_ranges_t_ranges_set', + 'mba_ranges_t_start', + 'mbl_array_t__deregister', + 'mbl_array_t__print', + 'mbl_array_t__register', + 'mbl_array_t_aliased_args_get', + 'mbl_array_t_aliased_args_set', + 'mbl_array_t_aliased_memory_get', + 'mbl_array_t_aliased_memory_set', + 'mbl_array_t_aliased_vars_get', + 'mbl_array_t_aliased_vars_set', + 'mbl_array_t_alloc_lvars', + 'mbl_array_t_analyze_calls', + 'mbl_array_t_arg', + 'mbl_array_t_arg__SWIG_0', + 'mbl_array_t_arg__SWIG_1', + 'mbl_array_t_argbase', + 'mbl_array_t_argidx_get', + 'mbl_array_t_argidx_ok', + 'mbl_array_t_argidx_set', + 'mbl_array_t_bad_call_sp_detected', + 'mbl_array_t_blocks_get', + 'mbl_array_t_blocks_set', + 'mbl_array_t_build_graph', + 'mbl_array_t_calc_shins_flags', + 'mbl_array_t_callinfo_built', + 'mbl_array_t_cc_get', + 'mbl_array_t_cc_set', + 'mbl_array_t_chain_varnums_ok', + 'mbl_array_t_clr_cdtr', + 'mbl_array_t_clr_mba_flags', + 'mbl_array_t_clr_mba_flags2', + 'mbl_array_t_combine_blocks', + 'mbl_array_t_common_stkvars_stkargs', + 'mbl_array_t_consumed_argregs_get', + 'mbl_array_t_consumed_argregs_set', + 'mbl_array_t_copy_block', + 'mbl_array_t_deleted_pairs', + 'mbl_array_t_deserialize', + 'mbl_array_t_display_numaddrs', + 'mbl_array_t_display_valnums', + 'mbl_array_t_dump', + 'mbl_array_t_dump_mba', + 'mbl_array_t_dump_mba__varargs__', + 'mbl_array_t_entry_ea_get', + 'mbl_array_t_entry_ea_set', + 'mbl_array_t_error_ea_get', + 'mbl_array_t_error_ea_set', + 'mbl_array_t_error_strarg_get', + 'mbl_array_t_error_strarg_set', + 'mbl_array_t_final_type_get', + 'mbl_array_t_final_type_set', + 'mbl_array_t_find_mop', + 'mbl_array_t_first_epilog_ea_get', + 'mbl_array_t_first_epilog_ea_set', + 'mbl_array_t_for_all_insns', + 'mbl_array_t_for_all_ops', + 'mbl_array_t_for_all_topinsns', + 'mbl_array_t_fpd_get', + 'mbl_array_t_fpd_set', + 'mbl_array_t_frregs_get', + 'mbl_array_t_frregs_set', + 'mbl_array_t_frsize_get', + 'mbl_array_t_frsize_set', + 'mbl_array_t_fti_flags_get', + 'mbl_array_t_fti_flags_set', + 'mbl_array_t_fullsize_get', + 'mbl_array_t_fullsize_set', + 'mbl_array_t_generated_asserts', + 'mbl_array_t_get_args_region', + 'mbl_array_t_get_curfunc', + 'mbl_array_t_get_graph', + 'mbl_array_t_get_ida_argloc', + 'mbl_array_t_get_lvars_region', + 'mbl_array_t_get_mba_flags', + 'mbl_array_t_get_mba_flags2', + 'mbl_array_t_get_mblock', + 'mbl_array_t_get_mblock__SWIG_0', + 'mbl_array_t_get_mblock__SWIG_1', + 'mbl_array_t_get_shadow_region', + 'mbl_array_t_get_stack_region', + 'mbl_array_t_get_std_region', + 'mbl_array_t_gotoff_stkvars_get', + 'mbl_array_t_gotoff_stkvars_set', + 'mbl_array_t_graph_insns', + 'mbl_array_t_has_bad_sp', + 'mbl_array_t_has_over_chains', + 'mbl_array_t_has_passregs', + 'mbl_array_t_idaloc2vd', + 'mbl_array_t_idb_node_get', + 'mbl_array_t_idb_node_set', + 'mbl_array_t_idb_spoiled_get', + 'mbl_array_t_idb_spoiled_set', + 'mbl_array_t_idb_type_get', + 'mbl_array_t_idb_type_set', + 'mbl_array_t_inargoff_get', + 'mbl_array_t_inargoff_set', + 'mbl_array_t_insert_block', + 'mbl_array_t_is_cdtr', + 'mbl_array_t_is_ctr', + 'mbl_array_t_is_dtr', + 'mbl_array_t_is_pattern', + 'mbl_array_t_is_snippet', + 'mbl_array_t_is_stkarg', + 'mbl_array_t_is_thunk', + 'mbl_array_t_label_get', + 'mbl_array_t_label_set', + 'mbl_array_t_last_prolog_ea_get', + 'mbl_array_t_last_prolog_ea_set', + 'mbl_array_t_loaded_gdl', + 'mbl_array_t_lvar_names_ok', + 'mbl_array_t_lvars_allocated', + 'mbl_array_t_lvars_renamed', + 'mbl_array_t_mark_chains_dirty', + 'mbl_array_t_maturity_get', + 'mbl_array_t_maturity_set', + 'mbl_array_t_may_refine_rettype', + 'mbl_array_t_mbr_get', + 'mbl_array_t_mbr_set', + 'mbl_array_t_minargref_get', + 'mbl_array_t_minargref_set', + 'mbl_array_t_minstkref_ea_get', + 'mbl_array_t_minstkref_ea_set', + 'mbl_array_t_minstkref_get', + 'mbl_array_t_minstkref_set', + 'mbl_array_t_natural_get', + 'mbl_array_t_natural_set', + 'mbl_array_t_nodel_memory_get', + 'mbl_array_t_nodel_memory_set', + 'mbl_array_t_notes_get', + 'mbl_array_t_notes_set', + 'mbl_array_t_npurged_get', + 'mbl_array_t_npurged_set', + 'mbl_array_t_occurred_warns_get', + 'mbl_array_t_occurred_warns_set', + 'mbl_array_t_optimize_global', + 'mbl_array_t_optimize_local', + 'mbl_array_t_optimized', + 'mbl_array_t_pfn_flags_get', + 'mbl_array_t_pfn_flags_set', + 'mbl_array_t_precise_defeas', + 'mbl_array_t_propagated_asserts', + 'mbl_array_t_qty_get', + 'mbl_array_t_qty_set', + 'mbl_array_t_really_alloc', + 'mbl_array_t_regargs_is_not_aligned', + 'mbl_array_t_remove_block', + 'mbl_array_t_remove_empty_blocks', + 'mbl_array_t_reqmat_get', + 'mbl_array_t_reqmat_set', + 'mbl_array_t_restricted_memory_get', + 'mbl_array_t_restricted_memory_set', + 'mbl_array_t_retsize_get', + 'mbl_array_t_retsize_set', + 'mbl_array_t_returns_fpval', + 'mbl_array_t_retvaridx_get', + 'mbl_array_t_retvaridx_set', + 'mbl_array_t_rtype_refined', + 'mbl_array_t_saverest_done', + 'mbl_array_t_serialize', + 'mbl_array_t_set_mba_flags', + 'mbl_array_t_set_mba_flags2', + 'mbl_array_t_shadow_args_get', + 'mbl_array_t_shadow_args_set', + 'mbl_array_t_short_display', + 'mbl_array_t_should_beautify', + 'mbl_array_t_show_reduction', + 'mbl_array_t_spd_adjust_get', + 'mbl_array_t_spd_adjust_set', + 'mbl_array_t_spoiled_list_get', + 'mbl_array_t_spoiled_list_set', + 'mbl_array_t_stacksize_get', + 'mbl_array_t_stacksize_set', + 'mbl_array_t_std_ivls_get', + 'mbl_array_t_std_ivls_set', + 'mbl_array_t_stkoff_ida2vd', + 'mbl_array_t_stkoff_vd2ida', + 'mbl_array_t_term', + 'mbl_array_t_tmpstk_size_get', + 'mbl_array_t_tmpstk_size_set', + 'mbl_array_t_use_frame', + 'mbl_array_t_use_wingraph32', + 'mbl_array_t_valranges_done', + 'mbl_array_t_vars_get', + 'mbl_array_t_vars_set', + 'mbl_array_t_vd2idaloc', + 'mbl_array_t_vd2idaloc__SWIG_0', + 'mbl_array_t_vd2idaloc__SWIG_1', + 'mbl_array_t_verify', + 'mbl_array_t_write_to_const_detected', + 'mbl_graph_t_get_chain_stamp', + 'mbl_graph_t_get_du', + 'mbl_graph_t_get_mblock', + 'mbl_graph_t_get_ud', + 'mbl_graph_t_is_du_chain_dirty', + 'mbl_graph_t_is_redefined_globally', + 'mbl_graph_t_is_ud_chain_dirty', + 'mbl_graph_t_is_used_globally', + 'mblock_t__print', + 'mblock_t_append_def_list', + 'mblock_t_append_use_list', + 'mblock_t_build_def_list', + 'mblock_t_build_lists', + 'mblock_t_build_use_list', + 'mblock_t_dead_at_start_get', + 'mblock_t_dead_at_start_set', + 'mblock_t_dnu_get', + 'mblock_t_dnu_set', + 'mblock_t_dump', + 'mblock_t_dump_block', + 'mblock_t_dump_block__varargs__', + 'mblock_t_empty', + 'mblock_t_end_get', + 'mblock_t_end_set', + 'mblock_t_find_access', + 'mblock_t_find_def', + 'mblock_t_find_first_use', + 'mblock_t_find_redefinition', + 'mblock_t_find_use', + 'mblock_t_flags_get', + 'mblock_t_flags_set', + 'mblock_t_for_all_insns', + 'mblock_t_for_all_ops', + 'mblock_t_for_all_uses', + 'mblock_t_get_reginsn_qty', + 'mblock_t_get_valranges', + 'mblock_t_get_valranges__SWIG_0', + 'mblock_t_get_valranges__SWIG_1', + 'mblock_t_head_get', + 'mblock_t_head_set', + 'mblock_t_insert_into_block', + 'mblock_t_is_branch', + 'mblock_t_is_call_block', + 'mblock_t_is_nway', + 'mblock_t_is_redefined', + 'mblock_t_is_rhs_redefined', + 'mblock_t_is_simple_goto_block', + 'mblock_t_is_simple_jcnd_block', + 'mblock_t_is_unknown_call', + 'mblock_t_is_used', + 'mblock_t_lists_dirty', + 'mblock_t_lists_ready', + 'mblock_t_make_lists_ready', + 'mblock_t_make_nop', + 'mblock_t_mark_lists_dirty', + 'mblock_t_maxbsp_get', + 'mblock_t_maxbsp_set', + 'mblock_t_maybdef_get', + 'mblock_t_maybdef_set', + 'mblock_t_maybuse_get', + 'mblock_t_maybuse_set', + 'mblock_t_mba_get', + 'mblock_t_mba_set', + 'mblock_t_minbargref_get', + 'mblock_t_minbargref_set', + 'mblock_t_minbstkref_get', + 'mblock_t_minbstkref_set', + 'mblock_t_mustbdef_get', + 'mblock_t_mustbdef_set', + 'mblock_t_mustbuse_get', + 'mblock_t_mustbuse_set', + 'mblock_t_needs_propagation', + 'mblock_t_nextb_get', + 'mblock_t_nextb_set', + 'mblock_t_npred', + 'mblock_t_nsucc', + 'mblock_t_optimize_block', + 'mblock_t_optimize_insn', + 'mblock_t_optimize_useless_jump', + 'mblock_t_pred', + 'mblock_t_predset_get', + 'mblock_t_predset_set', + 'mblock_t_prevb_get', + 'mblock_t_prevb_set', + 'mblock_t_remove_from_block', + 'mblock_t_request_demote64', + 'mblock_t_request_propagation', + 'mblock_t_serial_get', + 'mblock_t_serial_set', + 'mblock_t_start_get', + 'mblock_t_start_set', + 'mblock_t_succ', + 'mblock_t_succset_get', + 'mblock_t_succset_set', + 'mblock_t_tail_get', + 'mblock_t_tail_set', + 'mblock_t_type_get', + 'mblock_t_type_set', + 'mcallarg_t__print', + 'mcallarg_t_argloc_get', + 'mcallarg_t_argloc_set', + 'mcallarg_t_copy_mop', + 'mcallarg_t_dstr', + 'mcallarg_t_ea_get', + 'mcallarg_t_ea_set', + 'mcallarg_t_make_int', + 'mcallarg_t_make_uint', + 'mcallarg_t_name_get', + 'mcallarg_t_name_set', + 'mcallarg_t_set_regarg', + 'mcallarg_t_set_regarg__SWIG_0', + 'mcallarg_t_set_regarg__SWIG_1', + 'mcallarg_t_set_regarg__SWIG_2', + 'mcallarg_t_type_get', + 'mcallarg_t_type_set', + 'mcallargs_t___eq__', + 'mcallargs_t___getitem__', + 'mcallargs_t___len__', + 'mcallargs_t___ne__', + 'mcallargs_t___setitem__', + 'mcallargs_t__del', + 'mcallargs_t_add_unique', + 'mcallargs_t_at', + 'mcallargs_t_begin', + 'mcallargs_t_begin__SWIG_0', + 'mcallargs_t_begin__SWIG_1', + 'mcallargs_t_capacity', + 'mcallargs_t_clear', + 'mcallargs_t_empty', + 'mcallargs_t_end', + 'mcallargs_t_end__SWIG_0', + 'mcallargs_t_end__SWIG_1', + 'mcallargs_t_erase', + 'mcallargs_t_erase__SWIG_0', + 'mcallargs_t_erase__SWIG_1', + 'mcallargs_t_extract', + 'mcallargs_t_find', + 'mcallargs_t_find__SWIG_0', + 'mcallargs_t_find__SWIG_1', + 'mcallargs_t_grow', + 'mcallargs_t_has', + 'mcallargs_t_inject', + 'mcallargs_t_insert', + 'mcallargs_t_pop_back', + 'mcallargs_t_push_back', + 'mcallargs_t_push_back__SWIG_0', + 'mcallargs_t_push_back__SWIG_1', + 'mcallargs_t_qclear', + 'mcallargs_t_reserve', + 'mcallargs_t_resize', + 'mcallargs_t_resize__SWIG_0', + 'mcallargs_t_resize__SWIG_1', + 'mcallargs_t_size', + 'mcallargs_t_swap', + 'mcallargs_t_truncate', + 'mcallinfo_t__print', + 'mcallinfo_t_args_get', + 'mcallinfo_t_args_set', + 'mcallinfo_t_call_spd_get', + 'mcallinfo_t_call_spd_set', + 'mcallinfo_t_callee_get', + 'mcallinfo_t_callee_set', + 'mcallinfo_t_cc_get', + 'mcallinfo_t_cc_set', + 'mcallinfo_t_dead_regs_get', + 'mcallinfo_t_dead_regs_set', + 'mcallinfo_t_dstr', + 'mcallinfo_t_flags_get', + 'mcallinfo_t_flags_set', + 'mcallinfo_t_fti_attrs_get', + 'mcallinfo_t_fti_attrs_set', + 'mcallinfo_t_get_type', + 'mcallinfo_t_is_vararg', + 'mcallinfo_t_lexcompare', + 'mcallinfo_t_pass_regs_get', + 'mcallinfo_t_pass_regs_set', + 'mcallinfo_t_retregs_get', + 'mcallinfo_t_retregs_set', + 'mcallinfo_t_return_argloc_get', + 'mcallinfo_t_return_argloc_set', + 'mcallinfo_t_return_regs_get', + 'mcallinfo_t_return_regs_set', + 'mcallinfo_t_return_type_get', + 'mcallinfo_t_return_type_set', + 'mcallinfo_t_role_get', + 'mcallinfo_t_role_set', + 'mcallinfo_t_set_type', + 'mcallinfo_t_solid_args_get', + 'mcallinfo_t_solid_args_set', + 'mcallinfo_t_spoiled_get', + 'mcallinfo_t_spoiled_set', + 'mcallinfo_t_stkargs_top_get', + 'mcallinfo_t_stkargs_top_set', + 'mcallinfo_t_visible_memory_get', + 'mcallinfo_t_visible_memory_set', + 'mcases_t___eq__', + 'mcases_t___ge__', + 'mcases_t___gt__', + 'mcases_t___le__', + 'mcases_t___lt__', + 'mcases_t___ne__', + 'mcases_t__print', + 'mcases_t_compare', + 'mcases_t_dstr', + 'mcases_t_empty', + 'mcases_t_resize', + 'mcases_t_size', + 'mcases_t_swap', + 'mcases_t_targets_get', + 'mcases_t_targets_set', + 'mcases_t_values_get', + 'mcases_t_values_set', + 'mcode_modifies_d', + 'mem2base', + 'member_t_by_til', + 'member_t_eoff_get', + 'member_t_eoff_set', + 'member_t_flag_get', + 'member_t_flag_set', + 'member_t_get_soff', + 'member_t_has_ti', + 'member_t_has_union', + 'member_t_id_get', + 'member_t_id_set', + 'member_t_is_baseclass', + 'member_t_is_destructor', + 'member_t_is_dupname', + 'member_t_props_get', + 'member_t_props_set', + 'member_t_soff_get', + 'member_t_soff_set', + 'member_t_unimem', + 'meminfo_vec_t___eq__', + 'meminfo_vec_t___getitem__', + 'meminfo_vec_t___len__', + 'meminfo_vec_t___ne__', + 'meminfo_vec_t___setitem__', + 'meminfo_vec_t__del', + 'meminfo_vec_t_add_unique', + 'meminfo_vec_t_at', + 'meminfo_vec_t_begin', + 'meminfo_vec_t_begin__SWIG_0', + 'meminfo_vec_t_begin__SWIG_1', + 'meminfo_vec_t_capacity', + 'meminfo_vec_t_clear', + 'meminfo_vec_t_empty', + 'meminfo_vec_t_end', + 'meminfo_vec_t_end__SWIG_0', + 'meminfo_vec_t_end__SWIG_1', + 'meminfo_vec_t_erase', + 'meminfo_vec_t_erase__SWIG_0', + 'meminfo_vec_t_erase__SWIG_1', + 'meminfo_vec_t_extract', + 'meminfo_vec_t_find', + 'meminfo_vec_t_find__SWIG_0', + 'meminfo_vec_t_find__SWIG_1', + 'meminfo_vec_t_grow', + 'meminfo_vec_t_has', + 'meminfo_vec_t_inject', + 'meminfo_vec_t_insert', + 'meminfo_vec_t_pop_back', + 'meminfo_vec_t_push_back', + 'meminfo_vec_t_push_back__SWIG_0', + 'meminfo_vec_t_push_back__SWIG_1', + 'meminfo_vec_t_qclear', + 'meminfo_vec_t_reserve', + 'meminfo_vec_t_resize', + 'meminfo_vec_t_resize__SWIG_0', + 'meminfo_vec_t_resize__SWIG_1', + 'meminfo_vec_t_size', + 'meminfo_vec_t_swap', + 'meminfo_vec_t_truncate', + 'memory_info_t___eq__', + 'memory_info_t___ne__', + 'memory_info_t_bitness_get', + 'memory_info_t_bitness_set', + 'memory_info_t_name_get', + 'memory_info_t_name_set', + 'memory_info_t_perm_get', + 'memory_info_t_perm_set', + 'memory_info_t_sbase_get', + 'memory_info_t_sbase_set', + 'memory_info_t_sclass_get', + 'memory_info_t_sclass_set', + 'memreg_info_t_ea_get', + 'memreg_info_t_ea_set', + 'memreg_info_t_get_bytes', + 'memreg_infos_t___getitem__', + 'memreg_infos_t___len__', + 'memreg_infos_t___setitem__', + 'memreg_infos_t_at', + 'memreg_infos_t_begin', + 'memreg_infos_t_begin__SWIG_0', + 'memreg_infos_t_begin__SWIG_1', + 'memreg_infos_t_capacity', + 'memreg_infos_t_clear', + 'memreg_infos_t_empty', + 'memreg_infos_t_end', + 'memreg_infos_t_end__SWIG_0', + 'memreg_infos_t_end__SWIG_1', + 'memreg_infos_t_erase', + 'memreg_infos_t_erase__SWIG_0', + 'memreg_infos_t_erase__SWIG_1', + 'memreg_infos_t_extract', + 'memreg_infos_t_grow', + 'memreg_infos_t_inject', + 'memreg_infos_t_insert', + 'memreg_infos_t_pop_back', + 'memreg_infos_t_push_back', + 'memreg_infos_t_push_back__SWIG_0', + 'memreg_infos_t_push_back__SWIG_1', + 'memreg_infos_t_qclear', + 'memreg_infos_t_reserve', + 'memreg_infos_t_resize', + 'memreg_infos_t_resize__SWIG_0', + 'memreg_infos_t_resize__SWIG_1', + 'memreg_infos_t_size', + 'memreg_infos_t_swap', + 'memreg_infos_t_truncate', + 'microcode_filter_t_apply', + 'microcode_filter_t_match', + 'minsn_t___dbg_get_meminfo', + 'minsn_t___dbg_get_registered_kind', + 'minsn_t___lt__', + 'minsn_t__deregister', + 'minsn_t__make_nop', + 'minsn_t__obj_id', + 'minsn_t__print', + 'minsn_t__register', + 'minsn_t_clr_assert', + 'minsn_t_clr_combinable', + 'minsn_t_clr_combined', + 'minsn_t_clr_fpinsn', + 'minsn_t_clr_ignlowsrc', + 'minsn_t_clr_multimov', + 'minsn_t_clr_noret_icall', + 'minsn_t_clr_propagatable', + 'minsn_t_clr_tailcall', + 'minsn_t_contains_call', + 'minsn_t_contains_opcode', + 'minsn_t_d_get', + 'minsn_t_d_set', + 'minsn_t_dstr', + 'minsn_t_ea_get', + 'minsn_t_ea_set', + 'minsn_t_equal_insns', + 'minsn_t_find_call', + 'minsn_t_find_ins_op', + 'minsn_t_find_num_op', + 'minsn_t_find_opcode', + 'minsn_t_find_opcode__SWIG_0', + 'minsn_t_find_opcode__SWIG_1', + 'minsn_t_for_all_insns', + 'minsn_t_for_all_ops', + 'minsn_t_get_role', + 'minsn_t_get_split_size', + 'minsn_t_has_side_effects', + 'minsn_t_iprops_get', + 'minsn_t_iprops_set', + 'minsn_t_is_after', + 'minsn_t_is_alloca', + 'minsn_t_is_assert', + 'minsn_t_is_between', + 'minsn_t_is_bswap', + 'minsn_t_is_cleaning_pop', + 'minsn_t_is_combinable', + 'minsn_t_is_combined', + 'minsn_t_is_extstx', + 'minsn_t_is_farcall', + 'minsn_t_is_fpinsn', + 'minsn_t_is_helper', + 'minsn_t_is_ignlowsrc', + 'minsn_t_is_inverted_jx', + 'minsn_t_is_like_move', + 'minsn_t_is_mbarrier', + 'minsn_t_is_memcpy', + 'minsn_t_is_memset', + 'minsn_t_is_mov', + 'minsn_t_is_multimov', + 'minsn_t_is_noret_call', + 'minsn_t_is_optional', + 'minsn_t_is_persistent', + 'minsn_t_is_propagatable', + 'minsn_t_is_readflags', + 'minsn_t_is_tailcall', + 'minsn_t_is_unknown_call', + 'minsn_t_is_wild_match', + 'minsn_t_l_get', + 'minsn_t_l_set', + 'minsn_t_lexcompare', + 'minsn_t_may_use_aliased_memory', + 'minsn_t_modifes_d', + 'minsn_t_modifies_pair_mop', + 'minsn_t_next_get', + 'minsn_t_next_set', + 'minsn_t_opcode_get', + 'minsn_t_opcode_set', + 'minsn_t_optimize_solo', + 'minsn_t_optimize_subtree', + 'minsn_t_prev_get', + 'minsn_t_prev_set', + 'minsn_t_r_get', + 'minsn_t_r_set', + 'minsn_t_set_assert', + 'minsn_t_set_cleaning_pop', + 'minsn_t_set_combinable', + 'minsn_t_set_extstx', + 'minsn_t_set_farcall', + 'minsn_t_set_fpinsn', + 'minsn_t_set_ignlowsrc', + 'minsn_t_set_inverted_jx', + 'minsn_t_set_mbarrier', + 'minsn_t_set_multimov', + 'minsn_t_set_noret_icall', + 'minsn_t_set_optional', + 'minsn_t_set_persistent', + 'minsn_t_set_split_size', + 'minsn_t_set_tailcall', + 'minsn_t_set_wild_match', + 'minsn_t_setaddr', + 'minsn_t_swap', + 'minsn_t_was_noret_icall', + 'minsn_t_was_split', + 'minsn_visitor_t_visit_minsn', + 'mlist_mop_visitor_t_changed_get', + 'mlist_mop_visitor_t_changed_set', + 'mlist_mop_visitor_t_curins_get', + 'mlist_mop_visitor_t_curins_set', + 'mlist_mop_visitor_t_list_get', + 'mlist_mop_visitor_t_list_set', + 'mlist_mop_visitor_t_topins_get', + 'mlist_mop_visitor_t_topins_set', + 'mlist_mop_visitor_t_visit_mop', + 'mlist_t___eq__', + 'mlist_t___ge__', + 'mlist_t___gt__', + 'mlist_t___le__', + 'mlist_t___lt__', + 'mlist_t___ne__', + 'mlist_t__print', + 'mlist_t_add', + 'mlist_t_add__SWIG_0', + 'mlist_t_add__SWIG_1', + 'mlist_t_add__SWIG_2', + 'mlist_t_add__SWIG_3', + 'mlist_t_addmem', + 'mlist_t_clear', + 'mlist_t_compare', + 'mlist_t_count', + 'mlist_t_dstr', + 'mlist_t_empty', + 'mlist_t_has', + 'mlist_t_has_all', + 'mlist_t_has_any', + 'mlist_t_has_common', + 'mlist_t_has_memory', + 'mlist_t_includes', + 'mlist_t_intersect', + 'mlist_t_is_subset_of', + 'mlist_t_mem_get', + 'mlist_t_mem_set', + 'mlist_t_reg_get', + 'mlist_t_reg_set', + 'mlist_t_sub', + 'mlist_t_sub__SWIG_0', + 'mlist_t_sub__SWIG_1', + 'mlist_t_sub__SWIG_2', + 'mlist_t_swap', + 'mnumber_t___eq__', + 'mnumber_t___ge__', + 'mnumber_t___gt__', + 'mnumber_t___le__', + 'mnumber_t___lt__', + 'mnumber_t___ne__', + 'mnumber_t_compare', + 'mnumber_t_org_value_get', + 'mnumber_t_org_value_set', + 'mnumber_t_update_value', + 'mnumber_t_value_get', + 'mnumber_t_value_set', + 'modify_user_lvar_info', + 'modify_user_lvars', + 'modinfo_t_base_get', + 'modinfo_t_base_set', + 'modinfo_t_name_get', + 'modinfo_t_name_set', + 'modinfo_t_rebase_to_get', + 'modinfo_t_rebase_to_set', + 'modinfo_t_size_get', + 'modinfo_t_size_set', + 'mop_addr_t_insize_get', + 'mop_addr_t_insize_set', + 'mop_addr_t_lexcompare', + 'mop_addr_t_outsize_get', + 'mop_addr_t_outsize_set', + 'mop_pair_t_hop_get', + 'mop_pair_t_hop_set', + 'mop_pair_t_lop_get', + 'mop_pair_t_lop_set', + 'mop_t___dbg_get_meminfo', + 'mop_t___dbg_get_registered_kind', + 'mop_t___eq__', + 'mop_t___lt__', + 'mop_t___ne__', + 'mop_t__deregister', + 'mop_t__get_a', + 'mop_t__get_b', + 'mop_t__get_c', + 'mop_t__get_cstr', + 'mop_t__get_d', + 'mop_t__get_f', + 'mop_t__get_fpc', + 'mop_t__get_g', + 'mop_t__get_helper', + 'mop_t__get_l', + 'mop_t__get_nnn', + 'mop_t__get_pair', + 'mop_t__get_r', + 'mop_t__get_s', + 'mop_t__get_scif', + 'mop_t__get_t', + 'mop_t__make_blkref', + 'mop_t__make_callinfo', + 'mop_t__make_cases', + 'mop_t__make_gvar', + 'mop_t__make_insn', + 'mop_t__make_lvar', + 'mop_t__make_pair', + 'mop_t__make_reg', + 'mop_t__make_reg__SWIG_0', + 'mop_t__make_reg__SWIG_1', + 'mop_t__make_stkvar', + 'mop_t__make_strlit', + 'mop_t__obj_id', + 'mop_t__print', + 'mop_t__register', + 'mop_t__set_a', + 'mop_t__set_b', + 'mop_t__set_c', + 'mop_t__set_cstr', + 'mop_t__set_d', + 'mop_t__set_f', + 'mop_t__set_fpc', + 'mop_t__set_g', + 'mop_t__set_helper', + 'mop_t__set_l', + 'mop_t__set_nnn', + 'mop_t__set_pair', + 'mop_t__set_r', + 'mop_t__set_s', + 'mop_t__set_scif', + 'mop_t__set_t', + 'mop_t_apply_ld_mcode', + 'mop_t_apply_xds', + 'mop_t_apply_xdu', + 'mop_t_assign', + 'mop_t_change_size', + 'mop_t_create_from_insn', + 'mop_t_create_from_ivlset', + 'mop_t_create_from_mlist', + 'mop_t_create_from_scattered_vdloc', + 'mop_t_create_from_vdloc', + 'mop_t_double_size', + 'mop_t_dstr', + 'mop_t_empty', + 'mop_t_equal_mops', + 'mop_t_erase', + 'mop_t_erase_but_keep_size', + 'mop_t_for_all_ops', + 'mop_t_for_all_scattered_submops', + 'mop_t_get_insn', + 'mop_t_get_insn__SWIG_0', + 'mop_t_get_insn__SWIG_1', + 'mop_t_get_stkoff', + 'mop_t_get_stkvar', + 'mop_t_has_side_effects', + 'mop_t_is01', + 'mop_t_is_arglist', + 'mop_t_is_bit_reg', + 'mop_t_is_bit_reg__SWIG_0', + 'mop_t_is_bit_reg__SWIG_1', + 'mop_t_is_cc', + 'mop_t_is_ccflags', + 'mop_t_is_constant', + 'mop_t_is_equal_to', + 'mop_t_is_extended_from', + 'mop_t_is_glbaddr', + 'mop_t_is_glbaddr__SWIG_0', + 'mop_t_is_glbaddr__SWIG_1', + 'mop_t_is_impptr_done', + 'mop_t_is_insn', + 'mop_t_is_insn__SWIG_0', + 'mop_t_is_insn__SWIG_1', + 'mop_t_is_kreg', + 'mop_t_is_mob', + 'mop_t_is_negative_constant', + 'mop_t_is_one', + 'mop_t_is_positive_constant', + 'mop_t_is_reg', + 'mop_t_is_reg__SWIG_0', + 'mop_t_is_reg__SWIG_1', + 'mop_t_is_reg__SWIG_2', + 'mop_t_is_scattered', + 'mop_t_is_sign_extended_from', + 'mop_t_is_stkaddr', + 'mop_t_is_udt', + 'mop_t_is_undef_val', + 'mop_t_is_zero', + 'mop_t_is_zero_extended_from', + 'mop_t_lexcompare', + 'mop_t_make_blkref', + 'mop_t_make_first_half', + 'mop_t_make_fpnum', + 'mop_t_make_gvar', + 'mop_t_make_helper', + 'mop_t_make_high_half', + 'mop_t_make_insn', + 'mop_t_make_low_half', + 'mop_t_make_number', + 'mop_t_make_reg', + 'mop_t_make_reg__SWIG_0', + 'mop_t_make_reg__SWIG_1', + 'mop_t_make_reg_pair', + 'mop_t_make_second_half', + 'mop_t_may_use_aliased_memory', + 'mop_t_oprops_get', + 'mop_t_oprops_set', + 'mop_t_preserve_side_effects', + 'mop_t_probably_floating', + 'mop_t_set_impptr_done', + 'mop_t_set_udt', + 'mop_t_set_undef_val', + 'mop_t_shift_mop', + 'mop_t_signed_value', + 'mop_t_size_get', + 'mop_t_size_set', + 'mop_t_swap', + 'mop_t_t_get', + 'mop_t_t_set', + 'mop_t_unsigned_value', + 'mop_t_valnum_get', + 'mop_t_valnum_set', + 'mop_t_value', + 'mop_t_zero', + 'mop_visitor_t_prune_get', + 'mop_visitor_t_prune_set', + 'mop_visitor_t_visit_mop', + 'mopvec_t___eq__', + 'mopvec_t___getitem__', + 'mopvec_t___len__', + 'mopvec_t___ne__', + 'mopvec_t___setitem__', + 'mopvec_t__del', + 'mopvec_t_add_unique', + 'mopvec_t_at', + 'mopvec_t_begin', + 'mopvec_t_begin__SWIG_0', + 'mopvec_t_begin__SWIG_1', + 'mopvec_t_capacity', + 'mopvec_t_clear', + 'mopvec_t_empty', + 'mopvec_t_end', + 'mopvec_t_end__SWIG_0', + 'mopvec_t_end__SWIG_1', + 'mopvec_t_erase', + 'mopvec_t_erase__SWIG_0', + 'mopvec_t_erase__SWIG_1', + 'mopvec_t_extract', + 'mopvec_t_find', + 'mopvec_t_find__SWIG_0', + 'mopvec_t_find__SWIG_1', + 'mopvec_t_grow', + 'mopvec_t_has', + 'mopvec_t_inject', + 'mopvec_t_insert', + 'mopvec_t_pop_back', + 'mopvec_t_push_back', + 'mopvec_t_push_back__SWIG_0', + 'mopvec_t_push_back__SWIG_1', + 'mopvec_t_qclear', + 'mopvec_t_reserve', + 'mopvec_t_resize', + 'mopvec_t_resize__SWIG_0', + 'mopvec_t_resize__SWIG_1', + 'mopvec_t_size', + 'mopvec_t_swap', + 'mopvec_t_truncate', + 'move_bpt_to_grp', + 'move_idcv', + 'move_segm', + 'move_segm_start', + 'mreg2reg', + 'msg', + 'msg_clear', + 'msg_get_lines', + 'msg_save', + 'must_mcode_close_block', + 'mutable_graph_t_belongs_get', + 'mutable_graph_t_belongs_set', + 'mutable_graph_t_calc_group_ea', + 'mutable_graph_t_change_group_visibility', + 'mutable_graph_t_clear', + 'mutable_graph_t_create_digraph_layout', + 'mutable_graph_t_create_group', + 'mutable_graph_t_del_custom_layout', + 'mutable_graph_t_delete_group', + 'mutable_graph_t_edges_get', + 'mutable_graph_t_edges_set', + 'mutable_graph_t_empty', + 'mutable_graph_t_exists', + 'mutable_graph_t_get_custom_layout', + 'mutable_graph_t_get_edge', + 'mutable_graph_t_get_first_subgraph_node', + 'mutable_graph_t_get_graph_groups', + 'mutable_graph_t_get_next_subgraph_node', + 'mutable_graph_t_get_node_group', + 'mutable_graph_t_get_node_representative', + 'mutable_graph_t_gid_get', + 'mutable_graph_t_gid_set', + 'mutable_graph_t_is_collapsed_node', + 'mutable_graph_t_is_deleted_node', + 'mutable_graph_t_is_displayable_node', + 'mutable_graph_t_is_dot_node', + 'mutable_graph_t_is_group_node', + 'mutable_graph_t_is_simple_node', + 'mutable_graph_t_is_subgraph_node', + 'mutable_graph_t_is_uncollapsed_node', + 'mutable_graph_t_is_user_graph', + 'mutable_graph_t_is_visible_node', + 'mutable_graph_t_node_flags_get', + 'mutable_graph_t_node_flags_set', + 'mutable_graph_t_node_qty', + 'mutable_graph_t_nodes_get', + 'mutable_graph_t_nodes_set', + 'mutable_graph_t_npred', + 'mutable_graph_t_nrect', + 'mutable_graph_t_nrect__SWIG_0', + 'mutable_graph_t_nrect__SWIG_1', + 'mutable_graph_t_nsucc', + 'mutable_graph_t_org_preds_get', + 'mutable_graph_t_org_preds_set', + 'mutable_graph_t_org_succs_get', + 'mutable_graph_t_org_succs_set', + 'mutable_graph_t_pred', + 'mutable_graph_t_preds_get', + 'mutable_graph_t_preds_set', + 'mutable_graph_t_predset', + 'mutable_graph_t_reset', + 'mutable_graph_t_set_custom_layout', + 'mutable_graph_t_set_deleted_node', + 'mutable_graph_t_set_edge', + 'mutable_graph_t_set_graph_groups', + 'mutable_graph_t_set_node_group', + 'mutable_graph_t_size', + 'mutable_graph_t_succ', + 'mutable_graph_t_succs_get', + 'mutable_graph_t_succs_set', + 'mutable_graph_t_succset', + 'nbits', + 'negate_mcode_relation', + 'negated_relation', + 'netnode___eq__', + 'netnode___eq____SWIG_0', + 'netnode___eq____SWIG_1', + 'netnode___ne__', + 'netnode___ne____SWIG_0', + 'netnode___ne____SWIG_1', + 'netnode_altdel', + 'netnode_altdel__SWIG_0', + 'netnode_altdel__SWIG_1', + 'netnode_altdel_all', + 'netnode_altdel_ea', + 'netnode_altdel_idx8', + 'netnode_altfirst', + 'netnode_altfirst_idx8', + 'netnode_altlast', + 'netnode_altlast_idx8', + 'netnode_altnext', + 'netnode_altnext_idx8', + 'netnode_altprev', + 'netnode_altprev_idx8', + 'netnode_altset', + 'netnode_altset_ea', + 'netnode_altset_idx8', + 'netnode_altshift', + 'netnode_altval', + 'netnode_altval_ea', + 'netnode_altval_idx8', + 'netnode_blobsize', + 'netnode_blobsize_ea', + 'netnode_chardel', + 'netnode_chardel_ea', + 'netnode_chardel_idx8', + 'netnode_charfirst', + 'netnode_charfirst_idx8', + 'netnode_charlast', + 'netnode_charlast_idx8', + 'netnode_charnext', + 'netnode_charnext_idx8', + 'netnode_charprev', + 'netnode_charprev_idx8', + 'netnode_charset', + 'netnode_charset_ea', + 'netnode_charset_idx8', + 'netnode_charshift', + 'netnode_charval', + 'netnode_charval_ea', + 'netnode_charval_idx8', + 'netnode_copyto', + 'netnode_create', + 'netnode_create__SWIG_0', + 'netnode_create__SWIG_1', + 'netnode_delblob', + 'netnode_delblob_ea', + 'netnode_delvalue', + 'netnode_eadel', + 'netnode_eadel_idx8', + 'netnode_eaget', + 'netnode_eaget_idx', + 'netnode_eaget_idx8', + 'netnode_easet', + 'netnode_easet_idx', + 'netnode_easet_idx8', + 'netnode_end', + 'netnode_get_name', + 'netnode_getblob', + 'netnode_getblob_ea', + 'netnode_getclob', + 'netnode_hashdel', + 'netnode_hashdel_all', + 'netnode_hashfirst', + 'netnode_hashlast', + 'netnode_hashnext', + 'netnode_hashprev', + 'netnode_hashset', + 'netnode_hashset_buf', + 'netnode_hashset_idx', + 'netnode_hashstr', + 'netnode_hashstr_buf', + 'netnode_hashval', + 'netnode_hashval_long', + 'netnode_index', + 'netnode_kill', + 'netnode_long_value', + 'netnode_lower_bound', + 'netnode_lower_bound_ea', + 'netnode_lower_bound_idx8', + 'netnode_moveto', + 'netnode_next', + 'netnode_prev', + 'netnode_rename', + 'netnode_set', + 'netnode_set_long', + 'netnode_setblob', + 'netnode_setblob_ea', + 'netnode_start', + 'netnode_supdel', + 'netnode_supdel__SWIG_0', + 'netnode_supdel__SWIG_1', + 'netnode_supdel_all', + 'netnode_supdel_ea', + 'netnode_supdel_idx8', + 'netnode_supdel_range', + 'netnode_supdel_range_idx8', + 'netnode_supfirst', + 'netnode_supfirst_idx8', + 'netnode_suplast', + 'netnode_suplast_idx8', + 'netnode_supnext', + 'netnode_supnext_idx8', + 'netnode_supprev', + 'netnode_supprev_idx8', + 'netnode_supset', + 'netnode_supset__SWIG_0', + 'netnode_supset__SWIG_1', + 'netnode_supset_ea', + 'netnode_supset_ea__SWIG_0', + 'netnode_supset_ea__SWIG_1', + 'netnode_supset_idx8', + 'netnode_supshift', + 'netnode_supstr', + 'netnode_supstr_ea', + 'netnode_supstr_idx8', + 'netnode_supval', + 'netnode_supval_ea', + 'netnode_supval_idx8', + 'netnode_valobj', + 'netnode_valstr', + 'netnode_value_exists', + 'new_DBG_Hooks', + 'new_Hexrays_Hooks', + 'new_IDB_Hooks', + 'new_IDP_Hooks', + 'new_TPointDouble', + 'new_TPointDouble__SWIG_0', + 'new_TPointDouble__SWIG_1', + 'new_TPointDouble__SWIG_2', + 'new_UI_Hooks', + 'new_View_Hooks', + 'new___qmutex_t', + 'new___qsemaphore_t', + 'new___qthread_t', + 'new___qtimer_t', + 'new_action_ctx_base_t', + 'new_action_desc_t', + 'new_addon_info_t', + 'new_aloc_visitor_t', + 'new_argloc_t', + 'new_argloc_t__SWIG_0', + 'new_argloc_t__SWIG_1', + 'new_argpart_t', + 'new_argpart_t__SWIG_0', + 'new_argpart_t__SWIG_1', + 'new_argpartvec_t', + 'new_argpartvec_t__SWIG_0', + 'new_argpartvec_t__SWIG_1', + 'new_array_of_bitsets', + 'new_array_of_bitsets__SWIG_0', + 'new_array_of_bitsets__SWIG_1', + 'new_array_of_ivlsets', + 'new_array_of_ivlsets__SWIG_0', + 'new_array_of_ivlsets__SWIG_1', + 'new_array_of_rangesets', + 'new_array_of_rangesets__SWIG_0', + 'new_array_of_rangesets__SWIG_1', + 'new_array_parameters_t', + 'new_array_type_data_t', + 'new_asm_t', + 'new_auto_display_t', + 'new_bgcolors_t', + 'new_bit_bound_t', + 'new_bitfield_type_data_t', + 'new_bitset_t', + 'new_bitset_t__SWIG_0', + 'new_bitset_t__SWIG_1', + 'new_block_chains_iterator_t', + 'new_block_chains_t', + 'new_block_chains_vec_t', + 'new_block_chains_vec_t__SWIG_0', + 'new_block_chains_vec_t__SWIG_1', + 'new_boolvec_t', + 'new_boolvec_t__SWIG_0', + 'new_boolvec_t__SWIG_1', + 'new_boundaries_iterator_t', + 'new_boundaries_t', + 'new_bpt_location_t', + 'new_bpt_t', + 'new_bpt_vec_t', + 'new_bpt_vec_t__SWIG_0', + 'new_bpt_vec_t__SWIG_1', + 'new_bptaddr_t', + 'new_call_stack_info_t', + 'new_call_stack_t', + 'new_call_stack_t__SWIG_0', + 'new_call_stack_t__SWIG_1', + 'new_callregs_t', + 'new_callregs_t__SWIG_0', + 'new_callregs_t__SWIG_1', + 'new_carg_t', + 'new_carglist_t', + 'new_carglist_t__SWIG_0', + 'new_carglist_t__SWIG_1', + 'new_cases_and_targets_t', + 'new_casevec_t', + 'new_casevec_t__SWIG_0', + 'new_casevec_t__SWIG_1', + 'new_casm_t', + 'new_casm_t__SWIG_0', + 'new_casm_t__SWIG_1', + 'new_catch_t', + 'new_catchvec_t', + 'new_catchvec_t__SWIG_0', + 'new_catchvec_t__SWIG_1', + 'new_cblock_t', + 'new_ccase_t', + 'new_ccases_t', + 'new_cdg_insn_iterator_t', + 'new_cdg_insn_iterator_t__SWIG_0', + 'new_cdg_insn_iterator_t__SWIG_1', + 'new_cdo_t', + 'new_ceinsn_t', + 'new_cexpr_t', + 'new_cexpr_t__SWIG_0', + 'new_cexpr_t__SWIG_1', + 'new_cexpr_t__SWIG_2', + 'new_cexpr_t__SWIG_3', + 'new_cexpr_t__SWIG_4', + 'new_cfor_t', + 'new_cfunc_parentee_t', + 'new_cfuncptr_t', + 'new_cfuncptr_t__SWIG_0', + 'new_cfuncptr_t__SWIG_1', + 'new_cgoto_t', + 'new_chain_keeper_t', + 'new_chain_t', + 'new_chain_t__SWIG_0', + 'new_chain_t__SWIG_1', + 'new_chain_t__SWIG_2', + 'new_chain_visitor_t', + 'new_channel_redir_t', + 'new_chooser_item_attrs_t', + 'new_cif_t', + 'new_cif_t__SWIG_0', + 'new_cif_t__SWIG_1', + 'new_cinsn_t', + 'new_cinsn_t__SWIG_0', + 'new_cinsn_t__SWIG_1', + 'new_cinsnptrvec_t', + 'new_cinsnptrvec_t__SWIG_0', + 'new_cinsnptrvec_t__SWIG_1', + 'new_citem_cmt_t', + 'new_citem_cmt_t__SWIG_0', + 'new_citem_cmt_t__SWIG_1', + 'new_citem_locator_t', + 'new_citem_locator_t__SWIG_0', + 'new_citem_locator_t__SWIG_1', + 'new_citem_t', + 'new_citem_t__SWIG_0', + 'new_citem_t__SWIG_1', + 'new_cloop_t', + 'new_cloop_t__SWIG_0', + 'new_cloop_t__SWIG_1', + 'new_cloop_t__SWIG_2', + 'new_cnumber_t', + 'new_codegen_t', + 'new_compiler_info_t', + 'new_const_aloc_visitor_t', + 'new_creturn_t', + 'new_cswitch_t', + 'new_ctext_position_t', + 'new_ctree_anchor_t', + 'new_ctree_item_t', + 'new_ctree_items_t', + 'new_ctree_items_t__SWIG_0', + 'new_ctree_items_t__SWIG_1', + 'new_ctree_parentee_t', + 'new_ctree_visitor_t', + 'new_custom_data_type_ids_fids_array', + 'new_custom_data_type_ids_t', + 'new_cwhile_t', + 'new_data_format_t', + 'new_data_type_t', + 'new_debapp_attrs_t', + 'new_debug_event_t', + 'new_debug_event_t__SWIG_0', + 'new_debug_event_t__SWIG_1', + 'new_disasm_line_t', + 'new_disasm_line_t__SWIG_0', + 'new_disasm_line_t__SWIG_1', + 'new_disasm_text_t', + 'new_disasm_text_t__SWIG_0', + 'new_disasm_text_t__SWIG_1', + 'new_ea_array', + 'new_ea_name_t', + 'new_ea_name_t__SWIG_0', + 'new_ea_name_t__SWIG_1', + 'new_ea_name_vec_t', + 'new_ea_name_vec_t__SWIG_0', + 'new_ea_name_vec_t__SWIG_1', + 'new_ea_pointer', + 'new_eamap_iterator_t', + 'new_eamap_t', + 'new_edge_info_t', + 'new_edge_layout_point_t', + 'new_edge_layout_point_t__SWIG_0', + 'new_edge_layout_point_t__SWIG_1', + 'new_edge_layout_point_t__SWIG_2', + 'new_edge_segment_t', + 'new_edge_t', + 'new_edge_t__SWIG_0', + 'new_edge_t__SWIG_1', + 'new_enum_const_t', + 'new_enum_member_t', + 'new_enum_member_vec_t', + 'new_enum_member_vec_t__SWIG_0', + 'new_enum_member_vec_t__SWIG_1', + 'new_enum_member_visitor_t', + 'new_enum_type_data_t', + 'new_eval_ctx_t', + 'new_exception_info_t', + 'new_exception_info_t__SWIG_0', + 'new_exception_info_t__SWIG_1', + 'new_excinfo_t', + 'new_excvec_t', + 'new_excvec_t__SWIG_0', + 'new_excvec_t__SWIG_1', + 'new_fixup_data_t', + 'new_fixup_data_t__SWIG_0', + 'new_fixup_data_t__SWIG_1', + 'new_fixup_info_t', + 'new_fnum_array', + 'new_fnumber_t', + 'new_func_item_iterator_t', + 'new_func_item_iterator_t__SWIG_0', + 'new_func_item_iterator_t__SWIG_1', + 'new_func_parent_iterator_t', + 'new_func_parent_iterator_t__SWIG_0', + 'new_func_parent_iterator_t__SWIG_1', + 'new_func_t', + 'new_func_tail_iterator_t', + 'new_func_tail_iterator_t__SWIG_0', + 'new_func_tail_iterator_t__SWIG_1', + 'new_func_type_data_t', + 'new_funcarg_t', + 'new_funcargvec_t', + 'new_funcargvec_t__SWIG_0', + 'new_funcargvec_t__SWIG_1', + 'new_gco_info_t', + 'new_graph_chains_t', + 'new_graph_item_t', + 'new_graph_location_info_t', + 'new_graph_node_visitor_t', + 'new_graph_path_visitor_t', + 'new_graph_visitor_t', + 'new_group_crinfo_t', + 'new_hexrays_failure_t', + 'new_hexrays_failure_t__SWIG_0', + 'new_hexrays_failure_t__SWIG_1', + 'new_hexrays_failure_t__SWIG_2', + 'new_hexwarn_t', + 'new_hexwarns_t', + 'new_hexwarns_t__SWIG_0', + 'new_hexwarns_t__SWIG_1', + 'new_hidden_range_t', + 'new_highlighter_cbs_t', + 'new_history_item_t', + 'new_history_item_t__SWIG_0', + 'new_history_item_t__SWIG_1', + 'new_history_t', + 'new_ida_lowertype_helper_t', + 'new_idc_global_t', + 'new_idc_global_t__SWIG_0', + 'new_idc_global_t__SWIG_1', + 'new_idc_value_t', + 'new_idc_value_t__SWIG_0', + 'new_idc_value_t__SWIG_1', + 'new_idc_value_t__SWIG_2', + 'new_idc_values_t', + 'new_idc_values_t__SWIG_0', + 'new_idc_values_t__SWIG_1', + 'new_idp_desc_t', + 'new_idp_name_t', + 'new_insn_t', + 'new_instant_dbgopts_t', + 'new_int_pointer', + 'new_interval_t', + 'new_interval_t__SWIG_0', + 'new_interval_t__SWIG_1', + 'new_interval_t__SWIG_2', + 'new_intvec_t', + 'new_intvec_t__SWIG_0', + 'new_intvec_t__SWIG_1', + 'new_ivl_t', + 'new_ivl_with_name_t', + 'new_ivlset_t', + 'new_ivlset_t__SWIG_0', + 'new_ivlset_t__SWIG_1', + 'new_llabel_t', + 'new_loader_input_t', + 'new_loader_t', + 'new_lochist_entry_t', + 'new_lochist_entry_t__SWIG_0', + 'new_lochist_entry_t__SWIG_1', + 'new_lochist_entry_t__SWIG_2', + 'new_lochist_t', + 'new_lock_func', + 'new_lock_segment', + 'new_longlongvec_t', + 'new_longlongvec_t__SWIG_0', + 'new_longlongvec_t__SWIG_1', + 'new_lvar_locator_t', + 'new_lvar_locator_t__SWIG_0', + 'new_lvar_locator_t__SWIG_1', + 'new_lvar_mapping_iterator_t', + 'new_lvar_mapping_t', + 'new_lvar_ref_t', + 'new_lvar_ref_t__SWIG_0', + 'new_lvar_ref_t__SWIG_1', + 'new_lvar_saved_info_t', + 'new_lvar_saved_infos_t', + 'new_lvar_saved_infos_t__SWIG_0', + 'new_lvar_saved_infos_t__SWIG_1', + 'new_lvar_uservec_t', + 'new_lvars_t', + 'new_mba_range_iterator_t', + 'new_mba_ranges_t', + 'new_mba_ranges_t__SWIG_0', + 'new_mba_ranges_t__SWIG_1', + 'new_mcallarg_t', + 'new_mcallarg_t__SWIG_0', + 'new_mcallarg_t__SWIG_1', + 'new_mcallargs_t', + 'new_mcallargs_t__SWIG_0', + 'new_mcallargs_t__SWIG_1', + 'new_mcallinfo_t', + 'new_mcases_t', + 'new_member_t', + 'new_meminfo_vec_t', + 'new_meminfo_vec_t__SWIG_0', + 'new_meminfo_vec_t__SWIG_1', + 'new_memory_info_t', + 'new_memreg_info_t', + 'new_memreg_infos_t', + 'new_memreg_infos_t__SWIG_0', + 'new_memreg_infos_t__SWIG_1', + 'new_microcode_filter_t', + 'new_minsn_t', + 'new_minsn_t__SWIG_0', + 'new_minsn_t__SWIG_1', + 'new_minsn_visitor_t', + 'new_mlist_mop_visitor_t', + 'new_mlist_t', + 'new_mlist_t__SWIG_0', + 'new_mlist_t__SWIG_1', + 'new_mlist_t__SWIG_2', + 'new_mnumber_t', + 'new_modinfo_t', + 'new_mop_addr_t', + 'new_mop_addr_t__SWIG_0', + 'new_mop_addr_t__SWIG_1', + 'new_mop_addr_t__SWIG_2', + 'new_mop_pair_t', + 'new_mop_t', + 'new_mop_t__SWIG_0', + 'new_mop_t__SWIG_1', + 'new_mop_t__SWIG_2', + 'new_mop_visitor_t', + 'new_mopvec_t', + 'new_mopvec_t__SWIG_0', + 'new_mopvec_t__SWIG_1', + 'new_netnode', + 'new_netnode__SWIG_0', + 'new_netnode__SWIG_1', + 'new_netnode__SWIG_2', + 'new_node_info_t', + 'new_node_iterator', + 'new_node_layout_t', + 'new_node_layout_t__SWIG_0', + 'new_node_layout_t__SWIG_1', + 'new_node_ordering_t', + 'new_number_format_t', + 'new_op_parent_info_t', + 'new_op_t', + 'new_operand_locator_t', + 'new_operands_array', + 'new_operator_info_t', + 'new_opinfo_t', + 'new_optblock_t', + 'new_optinsn_t', + 'new_plugin_info_t', + 'new_point_t', + 'new_point_t__SWIG_0', + 'new_point_t__SWIG_1', + 'new_pointseq_t', + 'new_pointvec_t', + 'new_pointvec_t__SWIG_0', + 'new_pointvec_t__SWIG_1', + 'new_predicate_t', + 'new_printop_t', + 'new_process_info_t', + 'new_procinfo_vec_t', + 'new_procinfo_vec_t__SWIG_0', + 'new_procinfo_vec_t__SWIG_1', + 'new_ptr_type_data_t', + 'new_qbasic_block_t', + 'new_qfile_t', + 'new_qfile_t__SWIG_0', + 'new_qfile_t__SWIG_1', + 'new_qflow_chart_t', + 'new_qflow_chart_t__SWIG_0', + 'new_qflow_chart_t__SWIG_1', + 'new_qlist_cinsn_t', + 'new_qlist_cinsn_t__SWIG_0', + 'new_qlist_cinsn_t__SWIG_1', + 'new_qlist_cinsn_t_iterator', + 'new_qmutex_locker_t', + 'new_qstring_printer_t', + 'new_qvector_carg_t', + 'new_qvector_carg_t__SWIG_0', + 'new_qvector_carg_t__SWIG_1', + 'new_qvector_ccase_t', + 'new_qvector_ccase_t__SWIG_0', + 'new_qvector_ccase_t__SWIG_1', + 'new_qvector_history_t', + 'new_qvector_history_t__SWIG_0', + 'new_qvector_history_t__SWIG_1', + 'new_qvector_lvar_t', + 'new_qvector_lvar_t__SWIG_0', + 'new_qvector_lvar_t__SWIG_1', + 'new_qvector_snapshotvec_t', + 'new_qvector_snapshotvec_t__SWIG_0', + 'new_qvector_snapshotvec_t__SWIG_1', + 'new_range_array', + 'new_range_t', + 'new_range_t__SWIG_0', + 'new_range_t__SWIG_1', + 'new_rangeset_t', + 'new_rangeset_t__SWIG_0', + 'new_rangeset_t__SWIG_1', + 'new_rangeset_t__SWIG_2', + 'new_rangevec_base_t', + 'new_rangevec_base_t__SWIG_0', + 'new_rangevec_base_t__SWIG_1', + 'new_rangevec_t', + 'new_rect_t', + 'new_rect_t__SWIG_0', + 'new_rect_t__SWIG_1', + 'new_rect_t__SWIG_2', + 'new_refinfo_t', + 'new_reg_info_t', + 'new_regarg_t', + 'new_reginfovec_t', + 'new_reginfovec_t__SWIG_0', + 'new_reginfovec_t__SWIG_1', + 'new_register_info_t', + 'new_regobj_t', + 'new_regobjs_t', + 'new_regobjvec_t', + 'new_regobjvec_t__SWIG_0', + 'new_regobjvec_t__SWIG_1', + 'new_regval_t', + 'new_regval_t__SWIG_0', + 'new_regval_t__SWIG_1', + 'new_regvar_array', + 'new_regvar_t', + 'new_renderer_info_pos_t', + 'new_renderer_info_t', + 'new_renderer_pos_info_t', + 'new_rlist_t', + 'new_rlist_t__SWIG_0', + 'new_rlist_t__SWIG_1', + 'new_rlist_t__SWIG_2', + 'new_row_info_t', + 'new_rrel_t', + 'new_scattered_aloc_t', + 'new_scattered_segm_t', + 'new_scif_t', + 'new_scif_visitor_t', + 'new_screen_graph_selection_base_t', + 'new_screen_graph_selection_base_t__SWIG_0', + 'new_screen_graph_selection_base_t__SWIG_1', + 'new_screen_graph_selection_t', + 'new_segm_move_info_t', + 'new_segm_move_info_vec_t', + 'new_segm_move_info_vec_t__SWIG_0', + 'new_segm_move_info_vec_t__SWIG_1', + 'new_segm_move_infos_t', + 'new_segment_t', + 'new_seh_t', + 'new_sel_array', + 'new_sel_pointer', + 'new_selection_item_t', + 'new_selection_item_t__SWIG_0', + 'new_selection_item_t__SWIG_1', + 'new_selection_item_t__SWIG_2', + 'new_selection_item_t__SWIG_3', + 'new_simd_info_t', + 'new_simpleline_t', + 'new_simpleline_t__SWIG_0', + 'new_simpleline_t__SWIG_1', + 'new_simpleline_t__SWIG_2', + 'new_sizevec_t', + 'new_sizevec_t__SWIG_0', + 'new_sizevec_t__SWIG_1', + 'new_snapshot_t', + 'new_sreg_range_t', + 'new_stkpnt_array', + 'new_stkpnt_t', + 'new_stkpnts_t', + 'new_stkvar_ref_t', + 'new_strarray_t', + 'new_string_info_t', + 'new_string_info_t__SWIG_0', + 'new_string_info_t__SWIG_1', + 'new_strpath_ids_array', + 'new_strpath_t', + 'new_struct_field_visitor_t', + 'new_strvec_t', + 'new_strvec_t__SWIG_0', + 'new_strvec_t__SWIG_1', + 'new_strwinsetup_t', + 'new_sval_pointer', + 'new_switch_info_t', + 'new_sync_source_t', + 'new_sync_source_t__SWIG_0', + 'new_sync_source_t__SWIG_1', + 'new_tev_info_reg_t', + 'new_tev_info_t', + 'new_tev_reg_value_t', + 'new_tev_reg_values_t', + 'new_tev_reg_values_t__SWIG_0', + 'new_tev_reg_values_t__SWIG_1', + 'new_tevinforeg_vec_t', + 'new_tevinforeg_vec_t__SWIG_0', + 'new_tevinforeg_vec_t__SWIG_1', + 'new_text_sink_t', + 'new_thread_name_t', + 'new_tid_array', + 'new_til', + 'new_til_symbol_t', + 'new_til_t', + 'new_tinfo_t', + 'new_tinfo_t__SWIG_0', + 'new_tinfo_t__SWIG_1', + 'new_tinfo_t__SWIG_2', + 'new_tinfo_visitor_t', + 'new_treeloc_t', + 'new_try_handler_t', + 'new_tryblk_t', + 'new_tryblk_t__SWIG_0', + 'new_tryblk_t__SWIG_1', + 'new_tryblks_t', + 'new_tryblks_t__SWIG_0', + 'new_tryblks_t__SWIG_1', + 'new_twinpos_t', + 'new_twinpos_t__SWIG_0', + 'new_twinpos_t__SWIG_1', + 'new_twinpos_t__SWIG_2', + 'new_type_attr_t', + 'new_type_attrs_t', + 'new_type_attrs_t__SWIG_0', + 'new_type_attrs_t__SWIG_1', + 'new_type_mods_t', + 'new_typedef_type_data_t', + 'new_typedef_type_data_t__SWIG_0', + 'new_typedef_type_data_t__SWIG_1', + 'new_uchar_array', + 'new_udc_filter_t', + 'new_udcall_map_iterator_t', + 'new_udcall_t', + 'new_udt_member_t', + 'new_udt_type_data_t', + 'new_udtmembervec_t', + 'new_udtmembervec_t__SWIG_0', + 'new_udtmembervec_t__SWIG_1', + 'new_ui_requests_t', + 'new_ui_stroff_applicator_t', + 'new_ui_stroff_op_t', + 'new_ui_stroff_ops_t', + 'new_ui_stroff_ops_t__SWIG_0', + 'new_ui_stroff_ops_t__SWIG_1', + 'new_uintvec_t', + 'new_uintvec_t__SWIG_0', + 'new_uintvec_t__SWIG_1', + 'new_ulonglongvec_t', + 'new_ulonglongvec_t__SWIG_0', + 'new_ulonglongvec_t__SWIG_1', + 'new_user_cmts_iterator_t', + 'new_user_cmts_t', + 'new_user_iflags_iterator_t', + 'new_user_iflags_t', + 'new_user_labels_iterator_t', + 'new_user_labels_t', + 'new_user_lvar_modifier_t', + 'new_user_numforms_iterator_t', + 'new_user_numforms_t', + 'new_user_unions_iterator_t', + 'new_user_unions_t', + 'new_uval_array', + 'new_uval_ivl_ivlset_t', + 'new_uval_ivl_ivlset_t__SWIG_0', + 'new_uval_ivl_ivlset_t__SWIG_1', + 'new_uval_ivl_t', + 'new_uval_ivl_t__SWIG_1', + 'new_valrng_t', + 'new_valrng_t__SWIG_0', + 'new_valrng_t__SWIG_1', + 'new_valstr_t', + 'new_valstrs_t', + 'new_valstrvec_t', + 'new_valstrvec_t__SWIG_0', + 'new_valstrvec_t__SWIG_1', + 'new_var_ref_t', + 'new_vc_printer_t', + 'new_vd_failure_t', + 'new_vd_failure_t__SWIG_0', + 'new_vd_failure_t__SWIG_1', + 'new_vd_failure_t__SWIG_2', + 'new_vd_failure_t__SWIG_3', + 'new_vd_interr_t', + 'new_vd_printer_t', + 'new_vdloc_t', + 'new_view_mouse_event_location_t', + 'new_view_mouse_event_t', + 'new_vivl_t', + 'new_vivl_t__SWIG_0', + 'new_vivl_t__SWIG_1', + 'new_vivl_t__SWIG_2', + 'new_voff_t', + 'new_voff_t__SWIG_0', + 'new_voff_t__SWIG_1', + 'new_voff_t__SWIG_2', + 'new_xrefblk_t', + 'new_xreflist_entry_t', + 'new_xreflist_t', + 'new_xreflist_t__SWIG_0', + 'new_xreflist_t__SWIG_1', + 'next_addr', + 'next_chunk', + 'next_head', + 'next_idcv_attr', + 'next_inited', + 'next_named_type', + 'next_not_tail', + 'next_that', + 'next_unknown', + 'node2ea', + 'node_info_t_bg_color_get', + 'node_info_t_bg_color_set', + 'node_info_t_ea_get', + 'node_info_t_ea_set', + 'node_info_t_flags_get', + 'node_info_t_flags_set', + 'node_info_t_frame_color_get', + 'node_info_t_frame_color_set', + 'node_info_t_get_flags_for_valid', + 'node_info_t_text_get', + 'node_info_t_text_set', + 'node_info_t_valid_bg_color', + 'node_info_t_valid_ea', + 'node_info_t_valid_flags', + 'node_info_t_valid_frame_color', + 'node_info_t_valid_text', + 'node_iterator___eq__', + 'node_iterator___ne__', + 'node_iterator___ref__', + 'node_layout_t___eq__', + 'node_layout_t___getitem__', + 'node_layout_t___len__', + 'node_layout_t___ne__', + 'node_layout_t___setitem__', + 'node_layout_t__del', + 'node_layout_t_add_unique', + 'node_layout_t_at', + 'node_layout_t_begin', + 'node_layout_t_begin__SWIG_0', + 'node_layout_t_begin__SWIG_1', + 'node_layout_t_capacity', + 'node_layout_t_clear', + 'node_layout_t_empty', + 'node_layout_t_end', + 'node_layout_t_end__SWIG_0', + 'node_layout_t_end__SWIG_1', + 'node_layout_t_erase', + 'node_layout_t_erase__SWIG_0', + 'node_layout_t_erase__SWIG_1', + 'node_layout_t_extract', + 'node_layout_t_find', + 'node_layout_t_find__SWIG_0', + 'node_layout_t_find__SWIG_1', + 'node_layout_t_grow', + 'node_layout_t_has', + 'node_layout_t_inject', + 'node_layout_t_insert', + 'node_layout_t_pop_back', + 'node_layout_t_push_back', + 'node_layout_t_push_back__SWIG_0', + 'node_layout_t_push_back__SWIG_1', + 'node_layout_t_qclear', + 'node_layout_t_reserve', + 'node_layout_t_resize', + 'node_layout_t_resize__SWIG_0', + 'node_layout_t_resize__SWIG_1', + 'node_layout_t_size', + 'node_layout_t_swap', + 'node_layout_t_truncate', + 'node_ordering_t_clear', + 'node_ordering_t_node', + 'node_ordering_t_resize', + 'node_ordering_t_set', + 'node_ordering_t_size', + 'nomem', + 'nomem__varargs__', + 'num_flag', + 'number_format_t_flags_get', + 'number_format_t_flags_set', + 'number_format_t_get_radix', + 'number_format_t_is_char', + 'number_format_t_is_dec', + 'number_format_t_is_enum', + 'number_format_t_is_fixed', + 'number_format_t_is_hex', + 'number_format_t_is_numop', + 'number_format_t_is_oct', + 'number_format_t_is_stroff', + 'number_format_t_needs_to_be_inverted', + 'number_format_t_opnum_get', + 'number_format_t_opnum_set', + 'number_format_t_org_nbytes_get', + 'number_format_t_org_nbytes_set', + 'number_format_t_props_get', + 'number_format_t_props_set', + 'number_format_t_serial_get', + 'number_format_t_serial_set', + 'number_format_t_type_name_get', + 'number_format_t_type_name_set', + 'oct_flag', + 'off_flag', + 'op_adds_xrefs', + 'op_bin', + 'op_chr', + 'op_custfmt', + 'op_dec', + 'op_enum', + 'op_flt', + 'op_hex', + 'op_num', + 'op_oct', + 'op_offset', + 'op_offset_ex', + 'op_parent_info_t_blk_get', + 'op_parent_info_t_blk_set', + 'op_parent_info_t_curins_get', + 'op_parent_info_t_curins_set', + 'op_parent_info_t_mba_get', + 'op_parent_info_t_mba_set', + 'op_parent_info_t_topins_get', + 'op_parent_info_t_topins_set', + 'op_plain_offset', + 'op_seg', + 'op_stkvar', + 'op_stroff', + 'op_t___get_addr__', + 'op_t___get_reg_phrase__', + 'op_t___get_specval__', + 'op_t___get_value__', + 'op_t___set_addr__', + 'op_t___set_reg_phrase__', + 'op_t___set_specval__', + 'op_t___set_value__', + 'op_t__from_ptrval__', + 'op_t_assign', + 'op_t_clr_shown', + 'op_t_dtype_get', + 'op_t_dtype_set', + 'op_t_flags_get', + 'op_t_flags_set', + 'op_t_is_imm', + 'op_t_is_reg', + 'op_t_n_get', + 'op_t_n_set', + 'op_t_offb_get', + 'op_t_offb_set', + 'op_t_offo_get', + 'op_t_offo_set', + 'op_t_set_shown', + 'op_t_shown', + 'op_t_specflag1_get', + 'op_t_specflag1_set', + 'op_t_specflag2_get', + 'op_t_specflag2_set', + 'op_t_specflag3_get', + 'op_t_specflag3_set', + 'op_t_specflag4_get', + 'op_t_specflag4_set', + 'op_t_type_get', + 'op_t_type_set', + 'op_uses_x', + 'op_uses_y', + 'op_uses_z', + 'open_bpts_window', + 'open_calls_window', + 'open_disasm_window', + 'open_enums_window', + 'open_exports_window', + 'open_frame_window', + 'open_funcs_window', + 'open_hexdump_window', + 'open_imports_window', + 'open_linput', + 'open_loctypes_window', + 'open_modules_window', + 'open_names_window', + 'open_navband_window', + 'open_notepad_window', + 'open_problems_window', + 'open_pseudocode', + 'open_segments_window', + 'open_segregs_window', + 'open_selectors_window', + 'open_signatures_window', + 'open_stack_window', + 'open_strings_window', + 'open_structs_window', + 'open_threads_window', + 'open_tils_window', + 'open_trace_window', + 'open_url', + 'open_xrefs_window', + 'operand_locator_t___eq__', + 'operand_locator_t___ge__', + 'operand_locator_t___gt__', + 'operand_locator_t___le__', + 'operand_locator_t___lt__', + 'operand_locator_t___ne__', + 'operand_locator_t_compare', + 'operand_locator_t_ea_get', + 'operand_locator_t_ea_set', + 'operand_locator_t_opnum_get', + 'operand_locator_t_opnum_set', + 'operands_array___getitem__', + 'operands_array___len__', + 'operands_array___setitem__', + 'operands_array_data_get', + 'operator_info_t_fixtype_get', + 'operator_info_t_fixtype_set', + 'operator_info_t_flags_get', + 'operator_info_t_flags_set', + 'operator_info_t_precedence_get', + 'operator_info_t_precedence_set', + 'operator_info_t_text_get', + 'operator_info_t_text_set', + 'operator_info_t_valency_get', + 'operator_info_t_valency_set', + 'opinfo_t_cd_get', + 'opinfo_t_cd_set', + 'opinfo_t_ec_get', + 'opinfo_t_ec_set', + 'opinfo_t_path_get', + 'opinfo_t_path_set', + 'opinfo_t_ri_get', + 'opinfo_t_ri_set', + 'opinfo_t_strtype_get', + 'opinfo_t_strtype_set', + 'opinfo_t_tid_get', + 'opinfo_t_tid_set', + 'optblock_t_func', + 'optblock_t_install', + 'optblock_t_remove', + 'optimize_argloc', + 'optinsn_t_func', + 'optinsn_t_install', + 'optinsn_t_remove', + 'outctx_base_t__from_ptrval__', + 'outctx_base_t_close_comment', + 'outctx_base_t_clr_gen_label', + 'outctx_base_t_default_lnnum_get', + 'outctx_base_t_default_lnnum_set', + 'outctx_base_t_display_voids', + 'outctx_base_t_flush_buf', + 'outctx_base_t_flush_outbuf', + 'outctx_base_t_forbid_annotations', + 'outctx_base_t_force_code', + 'outctx_base_t_gen_block_cmt', + 'outctx_base_t_gen_border_line', + 'outctx_base_t_gen_cmt_line', + 'outctx_base_t_gen_cmt_line__varargs__', + 'outctx_base_t_gen_collapsed_line', + 'outctx_base_t_gen_collapsed_line__varargs__', + 'outctx_base_t_gen_empty_line', + 'outctx_base_t_gen_empty_line_without_annotations', + 'outctx_base_t_gen_printf', + 'outctx_base_t_gen_printf__varargs__', + 'outctx_base_t_gen_xref_lines', + 'outctx_base_t_get_stkvar', + 'outctx_base_t_init_lines_array', + 'outctx_base_t_insn_ea_get', + 'outctx_base_t_insn_ea_set', + 'outctx_base_t_multiline', + 'outctx_base_t_only_main_line', + 'outctx_base_t_out_addr_tag', + 'outctx_base_t_out_btoa', + 'outctx_base_t_out_char', + 'outctx_base_t_out_chars', + 'outctx_base_t_out_colored_register_line', + 'outctx_base_t_out_keyword', + 'outctx_base_t_out_line', + 'outctx_base_t_out_long', + 'outctx_base_t_out_name_expr', + 'outctx_base_t_out_printf', + 'outctx_base_t_out_printf__varargs__', + 'outctx_base_t_out_register', + 'outctx_base_t_out_spaces', + 'outctx_base_t_out_symbol', + 'outctx_base_t_out_tagoff', + 'outctx_base_t_out_tagon', + 'outctx_base_t_out_value', + 'outctx_base_t_outbuf_get', + 'outctx_base_t_outbuf_set', + 'outctx_base_t_print_label_now', + 'outctx_base_t_restore_ctxflags', + 'outctx_base_t_retrieve_cmt', + 'outctx_base_t_retrieve_name', + 'outctx_base_t_set_comment_addr', + 'outctx_base_t_set_dlbind_opnd', + 'outctx_base_t_set_gen_cmt', + 'outctx_base_t_set_gen_demangled_label', + 'outctx_base_t_set_gen_label', + 'outctx_base_t_set_gen_xrefs', + 'outctx_base_t_setup_outctx', + 'outctx_base_t_stack_view', + 'outctx_base_t_term_outctx', + 'outctx_t__from_ptrval__', + 'outctx_t_bin_ea_get', + 'outctx_t_bin_ea_set', + 'outctx_t_bin_state_get', + 'outctx_t_bin_state_set', + 'outctx_t_bin_width_get', + 'outctx_t_bin_width_set', + 'outctx_t_curlabel_get', + 'outctx_t_curlabel_set', + 'outctx_t_gen_func_footer', + 'outctx_t_gen_func_header', + 'outctx_t_gen_header', + 'outctx_t_gen_header_extra', + 'outctx_t_gen_xref_lines', + 'outctx_t_gl_bpsize_get', + 'outctx_t_gl_bpsize_set', + 'outctx_t_insn_get', + 'outctx_t_insn_set', + 'outctx_t_out_custom_mnem', + 'outctx_t_out_data', + 'outctx_t_out_immchar_cmts', + 'outctx_t_out_mnem', + 'outctx_t_out_mnemonic', + 'outctx_t_out_one_operand', + 'outctx_t_out_specea', + 'outctx_t_retrieve_cmt', + 'outctx_t_retrieve_name', + 'outctx_t_set_bin_state', + 'outctx_t_setup_outctx', + 'outctx_t_wif_get', + 'outctx_t_wif_set', + 'oword_flag', + 'pack_idcobj_to_bv', + 'pack_idcobj_to_idb', + 'pack_object_to_bv', + 'pack_object_to_idb', + 'packreal_flag', + 'parse_command_line3', + 'parse_dbgopts', + 'parse_decl', + 'parse_decls', + 'parse_reg_name', + 'parse_user_call', + 'partial_type_num', + 'patch_byte', + 'patch_bytes', + 'patch_dword', + 'patch_fixup_value', + 'patch_qword', + 'patch_word', + 'peek_auto_queue', + 'ph_calcrel', + 'ph_find_op_value', + 'ph_find_reg_value', + 'ph_get_cnbits', + 'ph_get_dnbits', + 'ph_get_flag', + 'ph_get_icode_return', + 'ph_get_id', + 'ph_get_instruc', + 'ph_get_instruc_end', + 'ph_get_instruc_start', + 'ph_get_operand_info', + 'ph_get_reg_code_sreg', + 'ph_get_reg_data_sreg', + 'ph_get_reg_first_sreg', + 'ph_get_reg_last_sreg', + 'ph_get_regnames', + 'ph_get_segreg_size', + 'ph_get_tbyte_size', + 'ph_get_version', + 'place_t__print', + 'place_t_adjust', + 'place_t_as_enumplace_t', + 'place_t_as_idaplace_t', + 'place_t_as_simpleline_place_t', + 'place_t_as_structplace_t', + 'place_t_beginning', + 'place_t_clone', + 'place_t_compare', + 'place_t_copyfrom', + 'place_t_deserialize', + 'place_t_ending', + 'place_t_enter', + 'place_t_generate', + 'place_t_id', + 'place_t_leave', + 'place_t_lnnum_get', + 'place_t_lnnum_set', + 'place_t_makeplace', + 'place_t_name', + 'place_t_next', + 'place_t_prev', + 'place_t_rebase', + 'place_t_serialize', + 'place_t_toea', + 'place_t_touval', + 'plan_and_wait', + 'plan_ea', + 'plan_range', + 'plan_to_apply_idasgn', + 'plgform_close', + 'plgform_get_widget', + 'plgform_new', + 'plgform_show', + 'plugin_info_t_arg_get', + 'plugin_info_t_arg_set', + 'plugin_info_t_comment_get', + 'plugin_info_t_comment_set', + 'plugin_info_t_dllmem_get', + 'plugin_info_t_dllmem_set', + 'plugin_info_t_entry_get', + 'plugin_info_t_entry_set', + 'plugin_info_t_flags_get', + 'plugin_info_t_flags_set', + 'plugin_info_t_hotkey_get', + 'plugin_info_t_hotkey_set', + 'plugin_info_t_name_get', + 'plugin_info_t_name_set', + 'plugin_info_t_next_get', + 'plugin_info_t_next_set', + 'plugin_info_t_org_hotkey_get', + 'plugin_info_t_org_hotkey_set', + 'plugin_info_t_org_name_get', + 'plugin_info_t_org_name_set', + 'plugin_info_t_path_get', + 'plugin_info_t_path_set', + 'point_t___eq__', + 'point_t___ne__', + 'point_t_add', + 'point_t_negate', + 'point_t_sub', + 'point_t_x_get', + 'point_t_x_set', + 'point_t_y_get', + 'point_t_y_set', + 'pointvec_t___eq__', + 'pointvec_t___getitem__', + 'pointvec_t___len__', + 'pointvec_t___ne__', + 'pointvec_t___setitem__', + 'pointvec_t__del', + 'pointvec_t_add_unique', + 'pointvec_t_at', + 'pointvec_t_begin', + 'pointvec_t_begin__SWIG_0', + 'pointvec_t_begin__SWIG_1', + 'pointvec_t_capacity', + 'pointvec_t_clear', + 'pointvec_t_empty', + 'pointvec_t_end', + 'pointvec_t_end__SWIG_0', + 'pointvec_t_end__SWIG_1', + 'pointvec_t_erase', + 'pointvec_t_erase__SWIG_0', + 'pointvec_t_erase__SWIG_1', + 'pointvec_t_extract', + 'pointvec_t_find', + 'pointvec_t_find__SWIG_0', + 'pointvec_t_find__SWIG_1', + 'pointvec_t_grow', + 'pointvec_t_has', + 'pointvec_t_inject', + 'pointvec_t_insert', + 'pointvec_t_pop_back', + 'pointvec_t_push_back', + 'pointvec_t_push_back__SWIG_0', + 'pointvec_t_push_back__SWIG_1', + 'pointvec_t_qclear', + 'pointvec_t_reserve', + 'pointvec_t_resize', + 'pointvec_t_resize__SWIG_0', + 'pointvec_t_resize__SWIG_1', + 'pointvec_t_size', + 'pointvec_t_swap', + 'pointvec_t_truncate', + 'predicate_t_should_display', + 'prev_addr', + 'prev_chunk', + 'prev_head', + 'prev_idcv_attr', + 'prev_inited', + 'prev_not_tail', + 'prev_that', + 'prev_unknown', + 'print_argloc', + 'print_decls', + 'print_idcv', + 'print_insn_mnem', + 'print_operand', + 'print_strlit_type', + 'print_tinfo', + 'print_type', + 'print_vdloc', + 'printop_t_aflags_get', + 'printop_t_aflags_set', + 'printop_t_features_get', + 'printop_t_features_set', + 'printop_t_flags_get', + 'printop_t_flags_set', + 'printop_t_get_ti', + 'printop_t_is_aflags_initialized', + 'printop_t_is_ti_initialized', + 'printop_t_set_aflags_initialized', + 'printop_t_set_ti_initialized', + 'printop_t_suspop_get', + 'printop_t_suspop_set', + 'printop_t_ti_get', + 'printop_t_ti_set', + 'process_archive', + 'process_info_t_name_get', + 'process_info_t_name_set', + 'process_info_t_pid_get', + 'process_info_t_pid_set', + 'process_ui_action', + 'procinfo_vec_t___getitem__', + 'procinfo_vec_t___len__', + 'procinfo_vec_t___setitem__', + 'procinfo_vec_t_at', + 'procinfo_vec_t_begin', + 'procinfo_vec_t_begin__SWIG_0', + 'procinfo_vec_t_begin__SWIG_1', + 'procinfo_vec_t_capacity', + 'procinfo_vec_t_clear', + 'procinfo_vec_t_empty', + 'procinfo_vec_t_end', + 'procinfo_vec_t_end__SWIG_0', + 'procinfo_vec_t_end__SWIG_1', + 'procinfo_vec_t_erase', + 'procinfo_vec_t_erase__SWIG_0', + 'procinfo_vec_t_erase__SWIG_1', + 'procinfo_vec_t_extract', + 'procinfo_vec_t_grow', + 'procinfo_vec_t_inject', + 'procinfo_vec_t_insert', + 'procinfo_vec_t_pop_back', + 'procinfo_vec_t_push_back', + 'procinfo_vec_t_push_back__SWIG_0', + 'procinfo_vec_t_push_back__SWIG_1', + 'procinfo_vec_t_qclear', + 'procinfo_vec_t_reserve', + 'procinfo_vec_t_resize', + 'procinfo_vec_t_resize__SWIG_0', + 'procinfo_vec_t_resize__SWIG_1', + 'procinfo_vec_t_size', + 'procinfo_vec_t_swap', + 'procinfo_vec_t_truncate', + 'ptr_type_data_t___eq__', + 'ptr_type_data_t___ne__', + 'ptr_type_data_t_based_ptr_size_get', + 'ptr_type_data_t_based_ptr_size_set', + 'ptr_type_data_t_closure_get', + 'ptr_type_data_t_closure_set', + 'ptr_type_data_t_delta_get', + 'ptr_type_data_t_delta_set', + 'ptr_type_data_t_is_code_ptr', + 'ptr_type_data_t_is_shifted', + 'ptr_type_data_t_obj_type_get', + 'ptr_type_data_t_obj_type_set', + 'ptr_type_data_t_parent_get', + 'ptr_type_data_t_parent_set', + 'ptr_type_data_t_swap', + 'ptr_type_data_t_taptr_bits_get', + 'ptr_type_data_t_taptr_bits_set', + 'put_byte', + 'put_bytes', + 'put_dbg_byte', + 'put_dword', + 'put_qword', + 'put_word', + 'py_add_idc_func', + 'py_get_ask_form', + 'py_get_call_idc_func', + 'py_get_open_form', + 'py_load_custom_icon_data', + 'py_load_custom_icon_fn', + 'py_register_compiled_form', + 'py_ss_restore_callback', + 'py_unregister_compiled_form', + 'pycim_get_widget', + 'pycim_view_close', + 'pyg_close', + 'pyg_select_node', + 'pyg_show', + 'pygc_create_groups', + 'pygc_delete_groups', + 'pygc_refresh', + 'pygc_set_groups_visibility', + 'pyidag_bind', + 'pyidag_unbind', + 'pyscv_add_line', + 'pyscv_clear_lines', + 'pyscv_close', + 'pyscv_count', + 'pyscv_del_line', + 'pyscv_edit_line', + 'pyscv_get_current_line', + 'pyscv_get_current_word', + 'pyscv_get_line', + 'pyscv_get_pos', + 'pyscv_get_selection', + 'pyscv_get_widget', + 'pyscv_init', + 'pyscv_insert_line', + 'pyscv_is_focused', + 'pyscv_jumpto', + 'pyscv_patch_line', + 'pyscv_refresh', + 'pyscv_show', + 'pyw_convert_defvals', + 'pyw_register_idc_func', + 'pyw_unregister_idc_func', + 'qatoll', + 'qcleanline', + 'qcontrol_tty', + 'qdetach_tty', + 'qexit', + 'qfile_t___idc_cvt_id___get', + 'qfile_t___idc_cvt_id___set', + 'qfile_t_close', + 'qfile_t_filename', + 'qfile_t_flush', + 'qfile_t_from_capsule', + 'qfile_t_from_fp', + 'qfile_t_get_byte', + 'qfile_t_get_fp', + 'qfile_t_gets', + 'qfile_t_open', + 'qfile_t_opened', + 'qfile_t_put_byte', + 'qfile_t_puts', + 'qfile_t_read', + 'qfile_t_readbytes', + 'qfile_t_seek', + 'qfile_t_size', + 'qfile_t_tell', + 'qfile_t_tmpfile', + 'qfile_t_write', + 'qfile_t_writebytes', + 'qflow_chart_t___getitem__', + 'qflow_chart_t_append_to_flowchart', + 'qflow_chart_t_bounds_get', + 'qflow_chart_t_bounds_set', + 'qflow_chart_t_calc_block_type', + 'qflow_chart_t_create', + 'qflow_chart_t_create__SWIG_0', + 'qflow_chart_t_create__SWIG_1', + 'qflow_chart_t_flags_get', + 'qflow_chart_t_flags_set', + 'qflow_chart_t_get_node_label', + 'qflow_chart_t_is_noret_block', + 'qflow_chart_t_is_ret_block', + 'qflow_chart_t_npred', + 'qflow_chart_t_nproper_get', + 'qflow_chart_t_nproper_set', + 'qflow_chart_t_nsucc', + 'qflow_chart_t_pfn_get', + 'qflow_chart_t_pfn_set', + 'qflow_chart_t_pred', + 'qflow_chart_t_print_names', + 'qflow_chart_t_print_node_attributes', + 'qflow_chart_t_refresh', + 'qflow_chart_t_size', + 'qflow_chart_t_succ', + 'qflow_chart_t_title_get', + 'qflow_chart_t_title_set', + 'qlgetz', + 'qlist_cinsn_t___eq__', + 'qlist_cinsn_t___ne__', + 'qlist_cinsn_t_back', + 'qlist_cinsn_t_back__SWIG_0', + 'qlist_cinsn_t_back__SWIG_1', + 'qlist_cinsn_t_begin', + 'qlist_cinsn_t_clear', + 'qlist_cinsn_t_empty', + 'qlist_cinsn_t_end', + 'qlist_cinsn_t_erase', + 'qlist_cinsn_t_erase__SWIG_0', + 'qlist_cinsn_t_erase__SWIG_1', + 'qlist_cinsn_t_erase__SWIG_2', + 'qlist_cinsn_t_front', + 'qlist_cinsn_t_front__SWIG_0', + 'qlist_cinsn_t_front__SWIG_1', + 'qlist_cinsn_t_insert', + 'qlist_cinsn_t_insert__SWIG_0', + 'qlist_cinsn_t_insert__SWIG_1', + 'qlist_cinsn_t_insert__SWIG_3', + 'qlist_cinsn_t_iterator___eq__', + 'qlist_cinsn_t_iterator___ne__', + 'qlist_cinsn_t_iterator___next__', + 'qlist_cinsn_t_iterator_cur_get', + 'qlist_cinsn_t_pop_back', + 'qlist_cinsn_t_pop_front', + 'qlist_cinsn_t_push_back', + 'qlist_cinsn_t_push_back__SWIG_0', + 'qlist_cinsn_t_push_back__SWIG_1', + 'qlist_cinsn_t_push_front', + 'qlist_cinsn_t_rbegin', + 'qlist_cinsn_t_rbegin__SWIG_0', + 'qlist_cinsn_t_rbegin__SWIG_1', + 'qlist_cinsn_t_rend', + 'qlist_cinsn_t_rend__SWIG_0', + 'qlist_cinsn_t_rend__SWIG_1', + 'qlist_cinsn_t_size', + 'qlist_cinsn_t_swap', + 'qrefcnt_obj_t_refcnt_get', + 'qrefcnt_obj_t_refcnt_set', + 'qrefcnt_obj_t_release', + 'qstring_printer_t__print', + 'qstring_printer_t__print__varargs__', + 'qstring_printer_t_get_s', + 'qstring_printer_t_s_get', + 'qstring_printer_t_s_set', + 'qstring_printer_t_with_tags_get', + 'qstring_printer_t_with_tags_set', + 'qstrvec_t_add', + 'qstrvec_t_addressof', + 'qstrvec_t_assign', + 'qstrvec_t_clear', + 'qstrvec_t_create', + 'qstrvec_t_destroy', + 'qstrvec_t_from_list', + 'qstrvec_t_get', + 'qstrvec_t_get_clink', + 'qstrvec_t_get_clink_ptr', + 'qstrvec_t_insert', + 'qstrvec_t_remove', + 'qstrvec_t_set', + 'qstrvec_t_size', + 'qswap', + 'quote_cmdline_arg', + 'qvector_carg_t___eq__', + 'qvector_carg_t___getitem__', + 'qvector_carg_t___len__', + 'qvector_carg_t___ne__', + 'qvector_carg_t___setitem__', + 'qvector_carg_t__del', + 'qvector_carg_t_add_unique', + 'qvector_carg_t_at', + 'qvector_carg_t_begin', + 'qvector_carg_t_begin__SWIG_0', + 'qvector_carg_t_begin__SWIG_1', + 'qvector_carg_t_capacity', + 'qvector_carg_t_clear', + 'qvector_carg_t_empty', + 'qvector_carg_t_end', + 'qvector_carg_t_end__SWIG_0', + 'qvector_carg_t_end__SWIG_1', + 'qvector_carg_t_erase', + 'qvector_carg_t_erase__SWIG_0', + 'qvector_carg_t_erase__SWIG_1', + 'qvector_carg_t_extract', + 'qvector_carg_t_find', + 'qvector_carg_t_find__SWIG_0', + 'qvector_carg_t_find__SWIG_1', + 'qvector_carg_t_grow', + 'qvector_carg_t_has', + 'qvector_carg_t_inject', + 'qvector_carg_t_insert', + 'qvector_carg_t_pop_back', + 'qvector_carg_t_push_back', + 'qvector_carg_t_push_back__SWIG_0', + 'qvector_carg_t_push_back__SWIG_1', + 'qvector_carg_t_qclear', + 'qvector_carg_t_reserve', + 'qvector_carg_t_resize', + 'qvector_carg_t_resize__SWIG_0', + 'qvector_carg_t_resize__SWIG_1', + 'qvector_carg_t_size', + 'qvector_carg_t_swap', + 'qvector_carg_t_truncate', + 'qvector_ccase_t___eq__', + 'qvector_ccase_t___getitem__', + 'qvector_ccase_t___len__', + 'qvector_ccase_t___ne__', + 'qvector_ccase_t___setitem__', + 'qvector_ccase_t__del', + 'qvector_ccase_t_add_unique', + 'qvector_ccase_t_at', + 'qvector_ccase_t_begin', + 'qvector_ccase_t_begin__SWIG_0', + 'qvector_ccase_t_begin__SWIG_1', + 'qvector_ccase_t_capacity', + 'qvector_ccase_t_clear', + 'qvector_ccase_t_empty', + 'qvector_ccase_t_end', + 'qvector_ccase_t_end__SWIG_0', + 'qvector_ccase_t_end__SWIG_1', + 'qvector_ccase_t_erase', + 'qvector_ccase_t_erase__SWIG_0', + 'qvector_ccase_t_erase__SWIG_1', + 'qvector_ccase_t_extract', + 'qvector_ccase_t_find', + 'qvector_ccase_t_find__SWIG_0', + 'qvector_ccase_t_find__SWIG_1', + 'qvector_ccase_t_grow', + 'qvector_ccase_t_has', + 'qvector_ccase_t_inject', + 'qvector_ccase_t_insert', + 'qvector_ccase_t_pop_back', + 'qvector_ccase_t_push_back', + 'qvector_ccase_t_push_back__SWIG_0', + 'qvector_ccase_t_push_back__SWIG_1', + 'qvector_ccase_t_qclear', + 'qvector_ccase_t_reserve', + 'qvector_ccase_t_resize', + 'qvector_ccase_t_resize__SWIG_0', + 'qvector_ccase_t_resize__SWIG_1', + 'qvector_ccase_t_size', + 'qvector_ccase_t_swap', + 'qvector_ccase_t_truncate', + 'qvector_history_t___eq__', + 'qvector_history_t___getitem__', + 'qvector_history_t___len__', + 'qvector_history_t___ne__', + 'qvector_history_t___setitem__', + 'qvector_history_t__del', + 'qvector_history_t_add_unique', + 'qvector_history_t_at', + 'qvector_history_t_begin', + 'qvector_history_t_begin__SWIG_0', + 'qvector_history_t_begin__SWIG_1', + 'qvector_history_t_capacity', + 'qvector_history_t_clear', + 'qvector_history_t_empty', + 'qvector_history_t_end', + 'qvector_history_t_end__SWIG_0', + 'qvector_history_t_end__SWIG_1', + 'qvector_history_t_erase', + 'qvector_history_t_erase__SWIG_0', + 'qvector_history_t_erase__SWIG_1', + 'qvector_history_t_extract', + 'qvector_history_t_find', + 'qvector_history_t_find__SWIG_0', + 'qvector_history_t_find__SWIG_1', + 'qvector_history_t_grow', + 'qvector_history_t_has', + 'qvector_history_t_inject', + 'qvector_history_t_insert', + 'qvector_history_t_pop_back', + 'qvector_history_t_push_back', + 'qvector_history_t_push_back__SWIG_0', + 'qvector_history_t_push_back__SWIG_1', + 'qvector_history_t_qclear', + 'qvector_history_t_reserve', + 'qvector_history_t_resize', + 'qvector_history_t_resize__SWIG_0', + 'qvector_history_t_resize__SWIG_1', + 'qvector_history_t_size', + 'qvector_history_t_swap', + 'qvector_history_t_truncate', + 'qvector_lvar_t___eq__', + 'qvector_lvar_t___getitem__', + 'qvector_lvar_t___len__', + 'qvector_lvar_t___ne__', + 'qvector_lvar_t___setitem__', + 'qvector_lvar_t__del', + 'qvector_lvar_t_add_unique', + 'qvector_lvar_t_at', + 'qvector_lvar_t_begin', + 'qvector_lvar_t_begin__SWIG_0', + 'qvector_lvar_t_begin__SWIG_1', + 'qvector_lvar_t_capacity', + 'qvector_lvar_t_clear', + 'qvector_lvar_t_empty', + 'qvector_lvar_t_end', + 'qvector_lvar_t_end__SWIG_0', + 'qvector_lvar_t_end__SWIG_1', + 'qvector_lvar_t_erase', + 'qvector_lvar_t_erase__SWIG_0', + 'qvector_lvar_t_erase__SWIG_1', + 'qvector_lvar_t_extract', + 'qvector_lvar_t_find', + 'qvector_lvar_t_find__SWIG_0', + 'qvector_lvar_t_find__SWIG_1', + 'qvector_lvar_t_grow', + 'qvector_lvar_t_has', + 'qvector_lvar_t_inject', + 'qvector_lvar_t_insert', + 'qvector_lvar_t_pop_back', + 'qvector_lvar_t_push_back', + 'qvector_lvar_t_push_back__SWIG_0', + 'qvector_lvar_t_push_back__SWIG_1', + 'qvector_lvar_t_qclear', + 'qvector_lvar_t_reserve', + 'qvector_lvar_t_resize', + 'qvector_lvar_t_resize__SWIG_0', + 'qvector_lvar_t_resize__SWIG_1', + 'qvector_lvar_t_size', + 'qvector_lvar_t_swap', + 'qvector_lvar_t_truncate', + 'qvector_reserve', + 'qvector_snapshotvec_t___eq__', + 'qvector_snapshotvec_t___getitem__', + 'qvector_snapshotvec_t___len__', + 'qvector_snapshotvec_t___ne__', + 'qvector_snapshotvec_t___setitem__', + 'qvector_snapshotvec_t__del', + 'qvector_snapshotvec_t_add_unique', + 'qvector_snapshotvec_t_at', + 'qvector_snapshotvec_t_begin', + 'qvector_snapshotvec_t_begin__SWIG_0', + 'qvector_snapshotvec_t_begin__SWIG_1', + 'qvector_snapshotvec_t_capacity', + 'qvector_snapshotvec_t_clear', + 'qvector_snapshotvec_t_empty', + 'qvector_snapshotvec_t_end', + 'qvector_snapshotvec_t_end__SWIG_0', + 'qvector_snapshotvec_t_end__SWIG_1', + 'qvector_snapshotvec_t_erase', + 'qvector_snapshotvec_t_erase__SWIG_0', + 'qvector_snapshotvec_t_erase__SWIG_1', + 'qvector_snapshotvec_t_extract', + 'qvector_snapshotvec_t_find', + 'qvector_snapshotvec_t_find__SWIG_0', + 'qvector_snapshotvec_t_find__SWIG_1', + 'qvector_snapshotvec_t_has', + 'qvector_snapshotvec_t_inject', + 'qvector_snapshotvec_t_insert', + 'qvector_snapshotvec_t_pop_back', + 'qvector_snapshotvec_t_push_back', + 'qvector_snapshotvec_t_push_back__SWIG_0', + 'qvector_snapshotvec_t_push_back__SWIG_1', + 'qvector_snapshotvec_t_qclear', + 'qvector_snapshotvec_t_reserve', + 'qvector_snapshotvec_t_resize', + 'qvector_snapshotvec_t_resize__SWIG_0', + 'qvector_snapshotvec_t_resize__SWIG_1', + 'qvector_snapshotvec_t_size', + 'qvector_snapshotvec_t_swap', + 'qvector_snapshotvec_t_truncate', + 'qword_flag', + 'range_array___getitem__', + 'range_array___len__', + 'range_array___setitem__', + 'range_array_count_get', + 'range_array_data_get', + 'range_t___eq__', + 'range_t___gt__', + 'range_t___lt__', + 'range_t___ne__', + 'range_t__print', + 'range_t_clear', + 'range_t_compare', + 'range_t_contains', + 'range_t_contains__SWIG_0', + 'range_t_contains__SWIG_1', + 'range_t_empty', + 'range_t_end_ea_get', + 'range_t_end_ea_set', + 'range_t_extend', + 'range_t_intersect', + 'range_t_overlaps', + 'range_t_print', + 'range_t_size', + 'range_t_start_ea_get', + 'range_t_start_ea_set', + 'rangeset_t___eq__', + 'rangeset_t___ne__', + 'rangeset_t__print', + 'rangeset_t_add', + 'rangeset_t_add__SWIG_0', + 'rangeset_t_add__SWIG_1', + 'rangeset_t_add__SWIG_2', + 'rangeset_t_begin', + 'rangeset_t_begin__SWIG_0', + 'rangeset_t_begin__SWIG_1', + 'rangeset_t_cached_range', + 'rangeset_t_clear', + 'rangeset_t_contains', + 'rangeset_t_contains__SWIG_0', + 'rangeset_t_contains__SWIG_1', + 'rangeset_t_empty', + 'rangeset_t_end', + 'rangeset_t_end__SWIG_0', + 'rangeset_t_end__SWIG_1', + 'rangeset_t_find_range', + 'rangeset_t_getrange', + 'rangeset_t_has_common', + 'rangeset_t_has_common__SWIG_0', + 'rangeset_t_has_common__SWIG_1', + 'rangeset_t_includes', + 'rangeset_t_intersect', + 'rangeset_t_is_equal', + 'rangeset_t_is_subset_of', + 'rangeset_t_lastrange', + 'rangeset_t_next_addr', + 'rangeset_t_next_range', + 'rangeset_t_nranges', + 'rangeset_t_prev_addr', + 'rangeset_t_prev_range', + 'rangeset_t_sub', + 'rangeset_t_sub__SWIG_0', + 'rangeset_t_sub__SWIG_1', + 'rangeset_t_sub__SWIG_2', + 'rangeset_t_swap', + 'rangevec_base_t___eq__', + 'rangevec_base_t___getitem__', + 'rangevec_base_t___len__', + 'rangevec_base_t___ne__', + 'rangevec_base_t___setitem__', + 'rangevec_base_t__del', + 'rangevec_base_t_add_unique', + 'rangevec_base_t_at', + 'rangevec_base_t_begin', + 'rangevec_base_t_begin__SWIG_0', + 'rangevec_base_t_begin__SWIG_1', + 'rangevec_base_t_capacity', + 'rangevec_base_t_clear', + 'rangevec_base_t_empty', + 'rangevec_base_t_end', + 'rangevec_base_t_end__SWIG_0', + 'rangevec_base_t_end__SWIG_1', + 'rangevec_base_t_erase', + 'rangevec_base_t_erase__SWIG_0', + 'rangevec_base_t_erase__SWIG_1', + 'rangevec_base_t_extract', + 'rangevec_base_t_find', + 'rangevec_base_t_find__SWIG_0', + 'rangevec_base_t_find__SWIG_1', + 'rangevec_base_t_grow', + 'rangevec_base_t_has', + 'rangevec_base_t_inject', + 'rangevec_base_t_insert', + 'rangevec_base_t_pop_back', + 'rangevec_base_t_push_back', + 'rangevec_base_t_push_back__SWIG_0', + 'rangevec_base_t_push_back__SWIG_1', + 'rangevec_base_t_qclear', + 'rangevec_base_t_reserve', + 'rangevec_base_t_resize', + 'rangevec_base_t_resize__SWIG_0', + 'rangevec_base_t_resize__SWIG_1', + 'rangevec_base_t_size', + 'rangevec_base_t_swap', + 'rangevec_base_t_truncate', + 'read_dbg_memory', + 'read_range_selection', + 'read_regargs', + 'read_selection', + 'read_tinfo_bitfield_value', + 'readbytes', + 'reanalyze_callers', + 'reanalyze_function', + 'reanalyze_noret_flag', + 'rebase_program', + 'rebuild_nlist', + 'recalc_spd', + 'rect_t___eq__', + 'rect_t___ne__', + 'rect_t_area', + 'rect_t_bottom_get', + 'rect_t_bottom_set', + 'rect_t_bottomright', + 'rect_t_center', + 'rect_t_contains', + 'rect_t_empty', + 'rect_t_grow', + 'rect_t_height', + 'rect_t_intersect', + 'rect_t_is_intersection_empty', + 'rect_t_left_get', + 'rect_t_left_set', + 'rect_t_make_union', + 'rect_t_move_by', + 'rect_t_move_to', + 'rect_t_right_get', + 'rect_t_right_set', + 'rect_t_top_get', + 'rect_t_top_set', + 'rect_t_topleft', + 'rect_t_width', + 'refinfo_t_base_get', + 'refinfo_t_base_set', + 'refinfo_t_flags_get', + 'refinfo_t_flags_set', + 'refinfo_t_init', + 'refinfo_t_is_custom', + 'refinfo_t_is_pastend', + 'refinfo_t_is_rvaoff', + 'refinfo_t_is_signed', + 'refinfo_t_is_subtract', + 'refinfo_t_is_target_optional', + 'refinfo_t_no_base_xref', + 'refinfo_t_set_type', + 'refinfo_t_target_get', + 'refinfo_t_target_set', + 'refinfo_t_tdelta_get', + 'refinfo_t_tdelta_set', + 'refinfo_t_type', + 'refresh_chooser', + 'refresh_choosers', + 'refresh_debugger_memory', + 'refresh_idaview', + 'refresh_idaview_anyway', + 'refresh_navband', + 'refresh_viewer', + 'reg2mreg', + 'reg_data_type', + 'reg_delete', + 'reg_delete_subkey', + 'reg_delete_tree', + 'reg_exists', + 'reg_flush', + 'reg_info_t___eq__', + 'reg_info_t___ge__', + 'reg_info_t___gt__', + 'reg_info_t___le__', + 'reg_info_t___lt__', + 'reg_info_t___ne__', + 'reg_info_t_compare', + 'reg_info_t_reg_get', + 'reg_info_t_reg_set', + 'reg_info_t_size_get', + 'reg_info_t_size_set', + 'reg_load', + 'reg_read_binary', + 'reg_read_bool', + 'reg_read_int', + 'reg_read_string', + 'reg_read_strlist', + 'reg_subkey_exists', + 'reg_subkey_subkeys', + 'reg_subkey_values', + 'reg_update_filestrlist', + 'reg_update_strlist', + 'reg_write_binary', + 'reg_write_bool', + 'reg_write_int', + 'reg_write_string', + 'regarg_t_name_get', + 'regarg_t_name_set', + 'regarg_t_reg_get', + 'regarg_t_reg_set', + 'regarg_t_type_get', + 'regarg_t_type_set', + 'reginfovec_t___eq__', + 'reginfovec_t___getitem__', + 'reginfovec_t___len__', + 'reginfovec_t___ne__', + 'reginfovec_t___setitem__', + 'reginfovec_t__del', + 'reginfovec_t_add_unique', + 'reginfovec_t_at', + 'reginfovec_t_begin', + 'reginfovec_t_begin__SWIG_0', + 'reginfovec_t_begin__SWIG_1', + 'reginfovec_t_capacity', + 'reginfovec_t_clear', + 'reginfovec_t_empty', + 'reginfovec_t_end', + 'reginfovec_t_end__SWIG_0', + 'reginfovec_t_end__SWIG_1', + 'reginfovec_t_erase', + 'reginfovec_t_erase__SWIG_0', + 'reginfovec_t_erase__SWIG_1', + 'reginfovec_t_extract', + 'reginfovec_t_find', + 'reginfovec_t_find__SWIG_0', + 'reginfovec_t_find__SWIG_1', + 'reginfovec_t_grow', + 'reginfovec_t_has', + 'reginfovec_t_inject', + 'reginfovec_t_insert', + 'reginfovec_t_pop_back', + 'reginfovec_t_push_back', + 'reginfovec_t_push_back__SWIG_0', + 'reginfovec_t_push_back__SWIG_1', + 'reginfovec_t_qclear', + 'reginfovec_t_reserve', + 'reginfovec_t_resize', + 'reginfovec_t_resize__SWIG_0', + 'reginfovec_t_resize__SWIG_1', + 'reginfovec_t_size', + 'reginfovec_t_swap', + 'reginfovec_t_truncate', + 'register_action', + 'register_addon', + 'register_and_attach_to_menu', + 'register_custom_data_format', + 'register_custom_data_type', + 'register_info_t_bit_strings_get', + 'register_info_t_bit_strings_set', + 'register_info_t_default_bit_strings_mask_get', + 'register_info_t_default_bit_strings_mask_set', + 'register_info_t_dtype_get', + 'register_info_t_dtype_set', + 'register_info_t_flags_get', + 'register_info_t_flags_set', + 'register_info_t_name_get', + 'register_info_t_name_set', + 'register_info_t_register_class_get', + 'register_info_t_register_class_set', + 'register_timer', + 'regobj_t_regidx_get', + 'regobj_t_regidx_set', + 'regobj_t_relocate_get', + 'regobj_t_relocate_set', + 'regobj_t_size', + 'regobj_t_value_get', + 'regobj_t_value_set', + 'regobjvec_t___getitem__', + 'regobjvec_t___len__', + 'regobjvec_t___setitem__', + 'regobjvec_t_at', + 'regobjvec_t_begin', + 'regobjvec_t_begin__SWIG_0', + 'regobjvec_t_begin__SWIG_1', + 'regobjvec_t_capacity', + 'regobjvec_t_clear', + 'regobjvec_t_empty', + 'regobjvec_t_end', + 'regobjvec_t_end__SWIG_0', + 'regobjvec_t_end__SWIG_1', + 'regobjvec_t_erase', + 'regobjvec_t_erase__SWIG_0', + 'regobjvec_t_erase__SWIG_1', + 'regobjvec_t_extract', + 'regobjvec_t_grow', + 'regobjvec_t_inject', + 'regobjvec_t_insert', + 'regobjvec_t_pop_back', + 'regobjvec_t_push_back', + 'regobjvec_t_push_back__SWIG_0', + 'regobjvec_t_push_back__SWIG_1', + 'regobjvec_t_qclear', + 'regobjvec_t_reserve', + 'regobjvec_t_resize', + 'regobjvec_t_resize__SWIG_0', + 'regobjvec_t_resize__SWIG_1', + 'regobjvec_t_size', + 'regobjvec_t_swap', + 'regobjvec_t_truncate', + 'regval_t___eq__', + 'regval_t___ne__', + 'regval_t_bytes', + 'regval_t_bytes__SWIG_0', + 'regval_t_bytes__SWIG_1', + 'regval_t_clear', + 'regval_t_fval_get', + 'regval_t_fval_set', + 'regval_t_get_data', + 'regval_t_get_data__SWIG_0', + 'regval_t_get_data__SWIG_1', + 'regval_t_get_data_size', + 'regval_t_ival_get', + 'regval_t_ival_set', + 'regval_t_rvtype_get', + 'regval_t_rvtype_set', + 'regval_t_set_bytes', + 'regval_t_set_bytes__SWIG_0', + 'regval_t_set_bytes__SWIG_1', + 'regval_t_set_bytes__SWIG_2', + 'regval_t_set_float', + 'regval_t_set_int', + 'regval_t_set_unavailable', + 'regval_t_swap', + 'regvar_array___getitem__', + 'regvar_array___len__', + 'regvar_array___setitem__', + 'regvar_array_count_get', + 'regvar_array_data_get', + 'regvar_t_canon_get', + 'regvar_t_canon_set', + 'regvar_t_cmt_get', + 'regvar_t_cmt_set', + 'regvar_t_user_get', + 'regvar_t_user_set', + 'reload_file', + 'reloc_value', + 'relocate_relobj', + 'remember_problem', + 'remitem', + 'remove_abi_opts', + 'remove_command_interpreter', + 'remove_func_tail', + 'remove_pointer', + 'remove_tinfo_pointer', + 'rename_bptgrp', + 'rename_encoding', + 'rename_entry', + 'rename_regvar', + 'renderer_info_pos_t___eq__', + 'renderer_info_pos_t___ne__', + 'renderer_info_pos_t_cx_get', + 'renderer_info_pos_t_cx_set', + 'renderer_info_pos_t_cy_get', + 'renderer_info_pos_t_cy_set', + 'renderer_info_pos_t_node_get', + 'renderer_info_pos_t_node_set', + 'renderer_info_t___eq__', + 'renderer_info_t___ne__', + 'renderer_info_t_clear', + 'renderer_info_t_gli_get', + 'renderer_info_t_gli_set', + 'renderer_info_t_pos_get', + 'renderer_info_t_pos_set', + 'renderer_info_t_rtype_get', + 'renderer_info_t_rtype_set', + 'renderer_pos_info_t___eq__', + 'renderer_pos_info_t___ne__', + 'renderer_pos_info_t_cx_get', + 'renderer_pos_info_t_cx_set', + 'renderer_pos_info_t_cy_get', + 'renderer_pos_info_t_cy_set', + 'renderer_pos_info_t_node_get', + 'renderer_pos_info_t_node_set', + 'renderer_pos_info_t_sx_get', + 'renderer_pos_info_t_sx_set', + 'reorder_dummy_names', + 'repaint_custom_viewer', + 'replace_ordinal_typerefs', + 'replace_wait_box', + 'replace_wait_box__varargs__', + 'request_add_bpt', + 'request_add_bpt__SWIG_0', + 'request_add_bpt__SWIG_1', + 'request_attach_process', + 'request_clear_trace', + 'request_continue_process', + 'request_del_bpt', + 'request_del_bpt__SWIG_0', + 'request_del_bpt__SWIG_1', + 'request_detach_process', + 'request_disable_bblk_trace', + 'request_disable_bpt', + 'request_disable_bpt__SWIG_0', + 'request_disable_bpt__SWIG_1', + 'request_disable_func_trace', + 'request_disable_insn_trace', + 'request_disable_step_trace', + 'request_enable_bblk_trace', + 'request_enable_bpt', + 'request_enable_bpt__SWIG_0', + 'request_enable_bpt__SWIG_1', + 'request_enable_func_trace', + 'request_enable_insn_trace', + 'request_enable_step_trace', + 'request_exit_process', + 'request_refresh', + 'request_resume_thread', + 'request_run_to', + 'request_select_thread', + 'request_set_bblk_trace_options', + 'request_set_func_trace_options', + 'request_set_insn_trace_options', + 'request_set_reg_val', + 'request_set_resume_mode', + 'request_set_step_trace_options', + 'request_start_process', + 'request_step_into', + 'request_step_over', + 'request_step_until_ret', + 'request_suspend_process', + 'request_suspend_thread', + 'resolve_typedef', + 'restore_database_snapshot', + 'restore_user_cmts', + 'restore_user_defined_calls', + 'restore_user_iflags', + 'restore_user_labels', + 'restore_user_lvar_settings', + 'restore_user_numforms', + 'restore_user_unions', + 'resume_thread', + 'retrieve_exceptions', + 'retrieve_input_file_crc32', + 'retrieve_input_file_md5', + 'retrieve_input_file_sha256', + 'retrieve_input_file_size', + 'retrieve_member_info', + 'revert_byte', + 'revert_ida_decisions', + 'rlist_t_dstr', + 'row_info_t_bottom_get', + 'row_info_t_bottom_set', + 'row_info_t_height', + 'row_info_t_nodes_get', + 'row_info_t_nodes_set', + 'row_info_t_top_get', + 'row_info_t_top_set', + 'rrel_t_off_get', + 'rrel_t_off_set', + 'rrel_t_reg_get', + 'rrel_t_reg_set', + 'run_plugin', + 'run_requests', + 'run_to', + 'save_database', + 'save_struc', + 'save_tinfo', + 'save_trace_file', + 'save_user_cmts', + 'save_user_defined_calls', + 'save_user_iflags', + 'save_user_labels', + 'save_user_lvar_settings', + 'save_user_numforms', + 'save_user_unions', + 'scattered_segm_t_name_get', + 'scattered_segm_t_name_set', + 'scif_t_mba_get', + 'scif_t_mba_set', + 'scif_t_name_get', + 'scif_t_name_set', + 'scif_t_type_get', + 'scif_t_type_set', + 'scif_visitor_t_visit_scif_mop', + 'score_tinfo', + 'screen_graph_selection_base_t___eq__', + 'screen_graph_selection_base_t___getitem__', + 'screen_graph_selection_base_t___len__', + 'screen_graph_selection_base_t___ne__', + 'screen_graph_selection_base_t___setitem__', + 'screen_graph_selection_base_t__del', + 'screen_graph_selection_base_t_add_unique', + 'screen_graph_selection_base_t_at', + 'screen_graph_selection_base_t_begin', + 'screen_graph_selection_base_t_begin__SWIG_0', + 'screen_graph_selection_base_t_begin__SWIG_1', + 'screen_graph_selection_base_t_capacity', + 'screen_graph_selection_base_t_clear', + 'screen_graph_selection_base_t_empty', + 'screen_graph_selection_base_t_end', + 'screen_graph_selection_base_t_end__SWIG_0', + 'screen_graph_selection_base_t_end__SWIG_1', + 'screen_graph_selection_base_t_erase', + 'screen_graph_selection_base_t_erase__SWIG_0', + 'screen_graph_selection_base_t_erase__SWIG_1', + 'screen_graph_selection_base_t_extract', + 'screen_graph_selection_base_t_find', + 'screen_graph_selection_base_t_find__SWIG_0', + 'screen_graph_selection_base_t_find__SWIG_1', + 'screen_graph_selection_base_t_grow', + 'screen_graph_selection_base_t_has', + 'screen_graph_selection_base_t_inject', + 'screen_graph_selection_base_t_insert', + 'screen_graph_selection_base_t_pop_back', + 'screen_graph_selection_base_t_push_back', + 'screen_graph_selection_base_t_push_back__SWIG_0', + 'screen_graph_selection_base_t_push_back__SWIG_1', + 'screen_graph_selection_base_t_qclear', + 'screen_graph_selection_base_t_reserve', + 'screen_graph_selection_base_t_resize', + 'screen_graph_selection_base_t_resize__SWIG_0', + 'screen_graph_selection_base_t_resize__SWIG_1', + 'screen_graph_selection_base_t_size', + 'screen_graph_selection_base_t_swap', + 'screen_graph_selection_base_t_truncate', + 'screen_graph_selection_t_add', + 'screen_graph_selection_t_add_node', + 'screen_graph_selection_t_add_point', + 'screen_graph_selection_t_del_node', + 'screen_graph_selection_t_del_point', + 'screen_graph_selection_t_has', + 'screen_graph_selection_t_items_count', + 'screen_graph_selection_t_nodes_count', + 'screen_graph_selection_t_points_count', + 'screen_graph_selection_t_sub', + 'search_down', + 'seg_flag', + 'segm_adjust_diff', + 'segm_adjust_ea', + 'segm_move_info_t___eq__', + 'segm_move_info_t___ne__', + 'segm_move_info_t__from_get', + 'segm_move_info_t__from_set', + 'segm_move_info_t_size_get', + 'segm_move_info_t_size_set', + 'segm_move_info_t_to_get', + 'segm_move_info_t_to_set', + 'segm_move_info_vec_t___eq__', + 'segm_move_info_vec_t___getitem__', + 'segm_move_info_vec_t___len__', + 'segm_move_info_vec_t___ne__', + 'segm_move_info_vec_t___setitem__', + 'segm_move_info_vec_t__del', + 'segm_move_info_vec_t_add_unique', + 'segm_move_info_vec_t_at', + 'segm_move_info_vec_t_begin', + 'segm_move_info_vec_t_begin__SWIG_0', + 'segm_move_info_vec_t_begin__SWIG_1', + 'segm_move_info_vec_t_capacity', + 'segm_move_info_vec_t_clear', + 'segm_move_info_vec_t_empty', + 'segm_move_info_vec_t_end', + 'segm_move_info_vec_t_end__SWIG_0', + 'segm_move_info_vec_t_end__SWIG_1', + 'segm_move_info_vec_t_erase', + 'segm_move_info_vec_t_erase__SWIG_0', + 'segm_move_info_vec_t_erase__SWIG_1', + 'segm_move_info_vec_t_extract', + 'segm_move_info_vec_t_find', + 'segm_move_info_vec_t_find__SWIG_0', + 'segm_move_info_vec_t_find__SWIG_1', + 'segm_move_info_vec_t_grow', + 'segm_move_info_vec_t_has', + 'segm_move_info_vec_t_inject', + 'segm_move_info_vec_t_insert', + 'segm_move_info_vec_t_pop_back', + 'segm_move_info_vec_t_push_back', + 'segm_move_info_vec_t_push_back__SWIG_0', + 'segm_move_info_vec_t_push_back__SWIG_1', + 'segm_move_info_vec_t_qclear', + 'segm_move_info_vec_t_reserve', + 'segm_move_info_vec_t_resize', + 'segm_move_info_vec_t_resize__SWIG_0', + 'segm_move_info_vec_t_resize__SWIG_1', + 'segm_move_info_vec_t_size', + 'segm_move_info_vec_t_swap', + 'segm_move_info_vec_t_truncate', + 'segm_move_infos_t_find', + 'segment_t_abits', + 'segment_t_abytes', + 'segment_t_align_get', + 'segment_t_align_set', + 'segment_t_bitness_get', + 'segment_t_bitness_set', + 'segment_t_clr_comorg', + 'segment_t_clr_ob_ok', + 'segment_t_color_get', + 'segment_t_color_set', + 'segment_t_comb_get', + 'segment_t_comb_set', + 'segment_t_comorg', + 'segment_t_defsr_get', + 'segment_t_defsr_set', + 'segment_t_end_ea_get', + 'segment_t_end_ea_set', + 'segment_t_flags_get', + 'segment_t_flags_set', + 'segment_t_is_header_segm', + 'segment_t_is_hidden_segtype', + 'segment_t_is_loader_segm', + 'segment_t_is_visible_segm', + 'segment_t_name_get', + 'segment_t_name_set', + 'segment_t_ob_ok', + 'segment_t_orgbase_get', + 'segment_t_orgbase_set', + 'segment_t_perm_get', + 'segment_t_perm_set', + 'segment_t_sclass_get', + 'segment_t_sclass_set', + 'segment_t_sel_get', + 'segment_t_sel_set', + 'segment_t_set_comorg', + 'segment_t_set_debugger_segm', + 'segment_t_set_header_segm', + 'segment_t_set_hidden_segtype', + 'segment_t_set_loader_segm', + 'segment_t_set_ob_ok', + 'segment_t_set_visible_segm', + 'segment_t_start_ea_get', + 'segment_t_start_ea_set', + 'segment_t_type_get', + 'segment_t_type_set', + 'segment_t_update', + 'segment_t_use32', + 'segment_t_use64', + 'segtype', + 'seh_t_clear', + 'seh_t_filter_get', + 'seh_t_filter_set', + 'seh_t_seh_code_get', + 'seh_t_seh_code_set', + 'sel2ea', + 'sel2para', + 'sel_array___getitem__', + 'sel_array___setitem__', + 'sel_array_cast', + 'sel_array_frompointer', + 'sel_pointer_assign', + 'sel_pointer_cast', + 'sel_pointer_frompointer', + 'sel_pointer_value', + 'select_thread', + 'select_udt_by_offset', + 'selection_item_t___eq__', + 'selection_item_t___lt__', + 'selection_item_t___ne__', + 'selection_item_t_compare', + 'selection_item_t_elp_get', + 'selection_item_t_elp_set', + 'selection_item_t_is_node_get', + 'selection_item_t_is_node_set', + 'selection_item_t_node_get', + 'selection_item_t_node_set', + 'send_database', + 'serialize_tinfo', + 'set2jcnd', + 'set__bnot0', + 'set__bnot1', + 'set__invsign0', + 'set__invsign1', + 'set_abi_name', + 'set_abits', + 'set_absbase', + 'set_aflags', + 'set_align_flow', + 'set_alignment', + 'set_archive_path', + 'set_array_parameters', + 'set_asm_inc_file', + 'set_auto_state', + 'set_bblk_trace_options', + 'set_bits', + 'set_bmask_cmt', + 'set_bmask_name', + 'set_bpt_group', + 'set_bptloc_group', + 'set_bptloc_string', + 'set_c_header_path', + 'set_c_macros', + 'set_cancelled', + 'set_cmt', + 'set_code_viewer_handler', + 'set_code_viewer_is_source', + 'set_code_viewer_line_handlers', + 'set_code_viewer_lines_alignment', + 'set_code_viewer_lines_icon_margin', + 'set_code_viewer_lines_radix', + 'set_code_viewer_user_data', + 'set_colored_item', + 'set_compiler', + 'set_compiler_id', + 'set_compiler_string', + 'set_cp_validity', + 'set_custom_data_type_ids', + 'set_custom_viewer_qt_aware', + 'set_database_flag', + 'set_debug_event_code', + 'set_debug_name', + 'set_debugger_event_cond', + 'set_debugger_options', + 'set_default_dataseg', + 'set_default_encoding_idx', + 'set_default_sreg_value', + 'set_defsr', + 'set_dock_pos', + 'set_dummy_name', + 'set_entry_forwarder', + 'set_enum_bf', + 'set_enum_cmt', + 'set_enum_flag', + 'set_enum_fromtil', + 'set_enum_ghost', + 'set_enum_hidden', + 'set_enum_idx', + 'set_enum_member_cmt', + 'set_enum_member_name', + 'set_enum_name', + 'set_enum_type_ordinal', + 'set_enum_width', + 'set_fixed_spd', + 'set_fixup', + 'set_forced_operand', + 'set_frame_size', + 'set_func_cmt', + 'set_func_end', + 'set_func_name_if_jumpfunc', + 'set_func_start', + 'set_func_trace_options', + 'set_gotea', + 'set_group_selector', + 'set_has_lname', + 'set_has_ti', + 'set_has_ti0', + 'set_has_ti1', + 'set_header_path', + 'set_highlight', + 'set_highlight_trace_options', + 'set_ida_state', + 'set_idcv_attr', + 'set_idcv_slice', + 'set_ids_modnode', + 'set_imagebase', + 'set_immd', + 'set_insn_trace_options', + 'set_item_color', + 'set_libitem', + 'set_lzero', + 'set_lzero0', + 'set_lzero1', + 'set_manual_insn', + 'set_manual_regions', + 'set_member_cmt', + 'set_member_name', + 'set_member_tinfo', + 'set_member_type', + 'set_name', + 'set_nav_colorizer', + 'set_node_info', + 'set_noret', + 'set_noret_insn', + 'set_notcode', + 'set_notproc', + 'set_numbered_type', + 'set_op_tinfo', + 'set_op_type', + 'set_opinfo', + 'set_outfile_encoding_idx', + 'set_path', + 'set_process_options', + 'set_process_state', + 'set_processor_type', + 'set_purged', + 'set_refinfo', + 'set_refinfo_ex', + 'set_reg_val', + 'set_reg_val__SWIG_0', + 'set_reg_val__SWIG_1', + 'set_regvar_cmt', + 'set_remote_debugger', + 'set_resume_mode', + 'set_retfp', + 'set_root_filename', + 'set_script_timeout', + 'set_segm_addressing', + 'set_segm_base', + 'set_segm_class', + 'set_segm_end', + 'set_segm_name', + 'set_segm_start', + 'set_segment_cmt', + 'set_segment_translations', + 'set_selector', + 'set_source_linnum', + 'set_sreg_at_next_code', + 'set_step_trace_options', + 'set_str_type', + 'set_struc_align', + 'set_struc_cmt', + 'set_struc_hidden', + 'set_struc_idx', + 'set_struc_listed', + 'set_struc_name', + 'set_switch_info', + 'set_switch_parent', + 'set_tail_owner', + 'set_target_assembler', + 'set_terse_struc', + 'set_tilcmt', + 'set_tinfo', + 'set_tinfo_attr', + 'set_tinfo_attrs', + 'set_tinfo_property', + 'set_trace_base_address', + 'set_trace_file_desc', + 'set_trace_platform', + 'set_trace_size', + 'set_type', + 'set_type_alias', + 'set_usemodsp', + 'set_user_defined_prefix', + 'set_usersp', + 'set_userti', + 'set_view_renderer_type', + 'set_viewer_graph', + 'set_visible_func', + 'set_visible_item', + 'set_visible_segm', + 'set_zstroff', + 'setup_selector', + 'show_addr', + 'show_auto', + 'show_name', + 'show_wait_box', + 'simd_info_t_match_pattern', + 'simd_info_t_memtype_get', + 'simd_info_t_memtype_set', + 'simd_info_t_name_get', + 'simd_info_t_name_set', + 'simd_info_t_size_get', + 'simd_info_t_size_set', + 'simd_info_t_tif_get', + 'simd_info_t_tif_set', + 'simple_graph_t_colored_gdl_edges_get', + 'simple_graph_t_colored_gdl_edges_set', + 'simple_graph_t_title_get', + 'simple_graph_t_title_set', + 'simpleline_place_t_n_get', + 'simpleline_place_t_n_set', + 'simpleline_t_bgcolor_get', + 'simpleline_t_bgcolor_set', + 'simpleline_t_color_get', + 'simpleline_t_color_set', + 'simpleline_t_line_get', + 'simpleline_t_line_set', + 'sizeof_ldbl', + 'sizevec_t___eq__', + 'sizevec_t___getitem__', + 'sizevec_t___len__', + 'sizevec_t___ne__', + 'sizevec_t___setitem__', + 'sizevec_t__del', + 'sizevec_t_add_unique', + 'sizevec_t_at', + 'sizevec_t_begin', + 'sizevec_t_begin__SWIG_0', + 'sizevec_t_begin__SWIG_1', + 'sizevec_t_capacity', + 'sizevec_t_clear', + 'sizevec_t_empty', + 'sizevec_t_end', + 'sizevec_t_end__SWIG_0', + 'sizevec_t_end__SWIG_1', + 'sizevec_t_erase', + 'sizevec_t_erase__SWIG_0', + 'sizevec_t_erase__SWIG_1', + 'sizevec_t_extract', + 'sizevec_t_find', + 'sizevec_t_find__SWIG_0', + 'sizevec_t_find__SWIG_1', + 'sizevec_t_grow', + 'sizevec_t_has', + 'sizevec_t_inject', + 'sizevec_t_insert', + 'sizevec_t_pop_back', + 'sizevec_t_push_back', + 'sizevec_t_push_back__SWIG_0', + 'sizevec_t_push_back__SWIG_1', + 'sizevec_t_qclear', + 'sizevec_t_reserve', + 'sizevec_t_resize', + 'sizevec_t_resize__SWIG_0', + 'sizevec_t_resize__SWIG_1', + 'sizevec_t_size', + 'sizevec_t_swap', + 'sizevec_t_truncate', + 'snapshot_t___eq__', + 'snapshot_t___ge__', + 'snapshot_t___gt__', + 'snapshot_t___le__', + 'snapshot_t___lt__', + 'snapshot_t___ne__', + 'snapshot_t_children_get', + 'snapshot_t_children_set', + 'snapshot_t_clear', + 'snapshot_t_desc_get', + 'snapshot_t_desc_set', + 'snapshot_t_filename_get', + 'snapshot_t_filename_set', + 'snapshot_t_flags_get', + 'snapshot_t_flags_set', + 'snapshot_t_id_get', + 'snapshot_t_id_set', + 'soff_to_fpoff', + 'split_sreg_range', + 'srcdbg_request_step_into', + 'srcdbg_request_step_over', + 'srcdbg_request_step_until_ret', + 'srcdbg_step_into', + 'srcdbg_step_over', + 'srcdbg_step_until_ret', + 'sreg_range_t_tag_get', + 'sreg_range_t_tag_set', + 'sreg_range_t_val_get', + 'sreg_range_t_val_set', + 'start_process', + 'std_out_segm_footer', + 'step_into', + 'step_over', + 'step_until_ret', + 'stkpnt_array___getitem__', + 'stkpnt_array___len__', + 'stkpnt_array___setitem__', + 'stkpnt_array_count_get', + 'stkpnt_array_data_get', + 'stkpnt_t___eq__', + 'stkpnt_t___ge__', + 'stkpnt_t___gt__', + 'stkpnt_t___le__', + 'stkpnt_t___lt__', + 'stkpnt_t___ne__', + 'stkpnt_t_compare', + 'stkpnt_t_ea_get', + 'stkpnt_t_ea_set', + 'stkpnt_t_spd_get', + 'stkpnt_t_spd_set', + 'stkpnts_t___eq__', + 'stkpnts_t___ge__', + 'stkpnts_t___gt__', + 'stkpnts_t___le__', + 'stkpnts_t___lt__', + 'stkpnts_t___ne__', + 'stkpnts_t_compare', + 'stkvar_flag', + 'stkvar_ref_t___eq__', + 'stkvar_ref_t___ge__', + 'stkvar_ref_t___gt__', + 'stkvar_ref_t___le__', + 'stkvar_ref_t___lt__', + 'stkvar_ref_t___ne__', + 'stkvar_ref_t_compare', + 'stkvar_ref_t_get_stkvar', + 'stkvar_ref_t_mba_get', + 'stkvar_ref_t_off_get', + 'stkvar_ref_t_off_set', + 'stkvar_ref_t_swap', + 'store_exceptions', + 'store_til', + 'str2ea', + 'str2reg', + 'str2user', + 'strarray', + 'strarray_t_code_get', + 'strarray_t_code_set', + 'strarray_t_text_get', + 'strarray_t_text_set', + 'string_info_t___lt__', + 'string_info_t_ea_get', + 'string_info_t_ea_set', + 'string_info_t_length_get', + 'string_info_t_length_set', + 'string_info_t_type_get', + 'string_info_t_type_set', + 'strlit_flag', + 'stroff_as_size', + 'stroff_flag', + 'strpath_ids_array___getitem__', + 'strpath_ids_array___len__', + 'strpath_ids_array___setitem__', + 'strpath_ids_array_data_get', + 'strpath_t___getIds', + 'strpath_t_delta_get', + 'strpath_t_delta_set', + 'strpath_t_ids_get', + 'strpath_t_ids_set', + 'strpath_t_len_get', + 'strpath_t_len_set', + 'stru_flag', + 'struc_t_age_get', + 'struc_t_age_set', + 'struc_t_from_til', + 'struc_t_get_alignment', + 'struc_t_get_member', + 'struc_t_has_union', + 'struc_t_id_get', + 'struc_t_id_set', + 'struc_t_is_choosable', + 'struc_t_is_frame', + 'struc_t_is_ghost', + 'struc_t_is_hidden', + 'struc_t_is_union', + 'struc_t_is_varstr', + 'struc_t_members_get', + 'struc_t_members_set', + 'struc_t_memqty_get', + 'struc_t_memqty_set', + 'struc_t_ordinal_get', + 'struc_t_ordinal_set', + 'struc_t_props_get', + 'struc_t_props_set', + 'struc_t_set_alignment', + 'struc_t_set_ghost', + 'struct_field_visitor_t_visit_field', + 'structplace_t_idx_get', + 'structplace_t_idx_set', + 'structplace_t_offset_get', + 'structplace_t_offset_set', + 'strvec_t___getitem__', + 'strvec_t___len__', + 'strvec_t___setitem__', + 'strvec_t_at', + 'strvec_t_begin', + 'strvec_t_begin__SWIG_0', + 'strvec_t_begin__SWIG_1', + 'strvec_t_capacity', + 'strvec_t_clear', + 'strvec_t_empty', + 'strvec_t_end', + 'strvec_t_end__SWIG_0', + 'strvec_t_end__SWIG_1', + 'strvec_t_erase', + 'strvec_t_erase__SWIG_0', + 'strvec_t_erase__SWIG_1', + 'strvec_t_extract', + 'strvec_t_grow', + 'strvec_t_inject', + 'strvec_t_insert', + 'strvec_t_pop_back', + 'strvec_t_push_back', + 'strvec_t_push_back__SWIG_0', + 'strvec_t_push_back__SWIG_1', + 'strvec_t_qclear', + 'strvec_t_reserve', + 'strvec_t_resize', + 'strvec_t_resize__SWIG_0', + 'strvec_t_resize__SWIG_1', + 'strvec_t_size', + 'strvec_t_swap', + 'strvec_t_truncate', + 'strwinsetup_t__get_strtypes', + 'strwinsetup_t__set_strtypes', + 'strwinsetup_t_display_only_existing_strings_get', + 'strwinsetup_t_display_only_existing_strings_set', + 'strwinsetup_t_ignore_heads_get', + 'strwinsetup_t_ignore_heads_set', + 'strwinsetup_t_is_initialized', + 'strwinsetup_t_minlen_get', + 'strwinsetup_t_minlen_set', + 'strwinsetup_t_only_7bit_get', + 'strwinsetup_t_only_7bit_set', + 'suspend_process', + 'suspend_thread', + 'sval_pointer_assign', + 'sval_pointer_cast', + 'sval_pointer_frompointer', + 'sval_pointer_value', + 'swap_idcvs', + 'swap_mcode_relation', + 'swapped_relation', + 'switch_info_t__from_ptrval__', + 'switch_info_t__get_values_lowcase', + 'switch_info_t__set_values_lowcase', + 'switch_info_t_assign', + 'switch_info_t_clear', + 'switch_info_t_custom_get', + 'switch_info_t_custom_set', + 'switch_info_t_defjump_get', + 'switch_info_t_defjump_set', + 'switch_info_t_elbase_get', + 'switch_info_t_elbase_set', + 'switch_info_t_expr_ea_get', + 'switch_info_t_expr_ea_set', + 'switch_info_t_flags_get', + 'switch_info_t_flags_set', + 'switch_info_t_get_jrange_vrange', + 'switch_info_t_get_jtable_element_size', + 'switch_info_t_get_jtable_size', + 'switch_info_t_get_lowcase', + 'switch_info_t_get_shift', + 'switch_info_t_get_version', + 'switch_info_t_get_vtable_element_size', + 'switch_info_t_has_default', + 'switch_info_t_has_elbase', + 'switch_info_t_ind_lowcase_get', + 'switch_info_t_ind_lowcase_set', + 'switch_info_t_is_custom', + 'switch_info_t_is_indirect', + 'switch_info_t_is_nolowcase', + 'switch_info_t_is_sparse', + 'switch_info_t_is_subtract', + 'switch_info_t_jcases_get', + 'switch_info_t_jcases_set', + 'switch_info_t_jumps_get', + 'switch_info_t_jumps_set', + 'switch_info_t_marks_get', + 'switch_info_t_marks_set', + 'switch_info_t_ncases_get', + 'switch_info_t_ncases_set', + 'switch_info_t_regdtype_get', + 'switch_info_t_regdtype_set', + 'switch_info_t_regnum_get', + 'switch_info_t_regnum_set', + 'switch_info_t_set_elbase', + 'switch_info_t_set_expr', + 'switch_info_t_set_jtable_element_size', + 'switch_info_t_set_jtable_size', + 'switch_info_t_set_shift', + 'switch_info_t_set_vtable_element_size', + 'switch_info_t_startea_get', + 'switch_info_t_startea_set', + 'switch_info_t_use_std_table', + 'sync_source_t___eq__', + 'sync_source_t___ne__', + 'sync_source_t_get_register', + 'sync_source_t_get_widget', + 'sync_source_t_is_register', + 'sync_source_t_is_widget', + 'sync_sources', + 'tag_addr', + 'tag_advance', + 'tag_remove', + 'tag_skipcode', + 'tag_skipcodes', + 'tag_strlen', + 'take_database_snapshot', + 'take_memory_snapshot', + 'tbyte_flag', + 'term_hexrays_plugin', + 'tev_info_reg_t_info_get', + 'tev_info_reg_t_info_set', + 'tev_info_reg_t_registers_get', + 'tev_info_reg_t_registers_set', + 'tev_info_t_ea_get', + 'tev_info_t_ea_set', + 'tev_info_t_tid_get', + 'tev_info_t_tid_set', + 'tev_info_t_type_get', + 'tev_info_t_type_set', + 'tev_reg_value_t_reg_idx_get', + 'tev_reg_value_t_reg_idx_set', + 'tev_reg_value_t_value_get', + 'tev_reg_value_t_value_set', + 'tev_reg_values_t___getitem__', + 'tev_reg_values_t___len__', + 'tev_reg_values_t___setitem__', + 'tev_reg_values_t_at', + 'tev_reg_values_t_begin', + 'tev_reg_values_t_begin__SWIG_0', + 'tev_reg_values_t_begin__SWIG_1', + 'tev_reg_values_t_capacity', + 'tev_reg_values_t_clear', + 'tev_reg_values_t_empty', + 'tev_reg_values_t_end', + 'tev_reg_values_t_end__SWIG_0', + 'tev_reg_values_t_end__SWIG_1', + 'tev_reg_values_t_erase', + 'tev_reg_values_t_erase__SWIG_0', + 'tev_reg_values_t_erase__SWIG_1', + 'tev_reg_values_t_extract', + 'tev_reg_values_t_grow', + 'tev_reg_values_t_inject', + 'tev_reg_values_t_insert', + 'tev_reg_values_t_pop_back', + 'tev_reg_values_t_push_back', + 'tev_reg_values_t_push_back__SWIG_0', + 'tev_reg_values_t_push_back__SWIG_1', + 'tev_reg_values_t_qclear', + 'tev_reg_values_t_reserve', + 'tev_reg_values_t_resize', + 'tev_reg_values_t_resize__SWIG_0', + 'tev_reg_values_t_resize__SWIG_1', + 'tev_reg_values_t_size', + 'tev_reg_values_t_swap', + 'tev_reg_values_t_truncate', + 'tevinforeg_vec_t___getitem__', + 'tevinforeg_vec_t___len__', + 'tevinforeg_vec_t___setitem__', + 'tevinforeg_vec_t_at', + 'tevinforeg_vec_t_begin', + 'tevinforeg_vec_t_begin__SWIG_0', + 'tevinforeg_vec_t_begin__SWIG_1', + 'tevinforeg_vec_t_capacity', + 'tevinforeg_vec_t_clear', + 'tevinforeg_vec_t_empty', + 'tevinforeg_vec_t_end', + 'tevinforeg_vec_t_end__SWIG_0', + 'tevinforeg_vec_t_end__SWIG_1', + 'tevinforeg_vec_t_erase', + 'tevinforeg_vec_t_erase__SWIG_0', + 'tevinforeg_vec_t_erase__SWIG_1', + 'tevinforeg_vec_t_extract', + 'tevinforeg_vec_t_grow', + 'tevinforeg_vec_t_inject', + 'tevinforeg_vec_t_insert', + 'tevinforeg_vec_t_pop_back', + 'tevinforeg_vec_t_push_back', + 'tevinforeg_vec_t_push_back__SWIG_0', + 'tevinforeg_vec_t_push_back__SWIG_1', + 'tevinforeg_vec_t_qclear', + 'tevinforeg_vec_t_reserve', + 'tevinforeg_vec_t_resize', + 'tevinforeg_vec_t_resize__SWIG_0', + 'tevinforeg_vec_t_resize__SWIG_1', + 'tevinforeg_vec_t_size', + 'tevinforeg_vec_t_swap', + 'tevinforeg_vec_t_truncate', + 'text_sink_t__print', + 'textctrl_info_t_assign', + 'textctrl_info_t_create', + 'textctrl_info_t_destroy', + 'textctrl_info_t_get_clink', + 'textctrl_info_t_get_clink_ptr', + 'textctrl_info_t_get_flags', + 'textctrl_info_t_get_tabsize', + 'textctrl_info_t_get_text', + 'textctrl_info_t_set_flags', + 'textctrl_info_t_set_tabsize', + 'textctrl_info_t_set_text', + 'thread_name_t_name_get', + 'thread_name_t_name_set', + 'thread_name_t_tid_get', + 'thread_name_t_tid_set', + 'throw_idc_exception', + 'tid_array___getitem__', + 'tid_array___setitem__', + 'tid_array_cast', + 'tid_array_frompointer', + 'til_symbol_t_name_get', + 'til_symbol_t_name_set', + 'til_symbol_t_til_get', + 'til_symbol_t_til_set', + 'til_t_base', + 'til_t_cc_get', + 'til_t_cc_set', + 'til_t_desc_get', + 'til_t_desc_set', + 'til_t_flags_get', + 'til_t_flags_set', + 'til_t_is_dirty', + 'til_t_name_get', + 'til_t_name_set', + 'til_t_nbases_get', + 'til_t_nbases_set', + 'til_t_nrefs_get', + 'til_t_nrefs_set', + 'til_t_nstreams_get', + 'til_t_nstreams_set', + 'til_t_set_dirty', + 'til_t_streams_get', + 'til_t_streams_set', + 'tinfo_t___eq__', + 'tinfo_t___ge__', + 'tinfo_t___gt__', + 'tinfo_t___le__', + 'tinfo_t___lt__', + 'tinfo_t___ne__', + 'tinfo_t___str__', + 'tinfo_t__print', + 'tinfo_t_append_covered', + 'tinfo_t_calc_gaps', + 'tinfo_t_calc_purged_bytes', + 'tinfo_t_calc_score', + 'tinfo_t_calc_udt_aligns', + 'tinfo_t_change_sign', + 'tinfo_t_clear', + 'tinfo_t_clr_const', + 'tinfo_t_clr_const_volatile', + 'tinfo_t_clr_volatile', + 'tinfo_t_compare', + 'tinfo_t_compare_with', + 'tinfo_t_convert_array_to_ptr', + 'tinfo_t_copy', + 'tinfo_t_create_array', + 'tinfo_t_create_array__SWIG_0', + 'tinfo_t_create_array__SWIG_1', + 'tinfo_t_create_bitfield', + 'tinfo_t_create_bitfield__SWIG_0', + 'tinfo_t_create_bitfield__SWIG_1', + 'tinfo_t_create_enum', + 'tinfo_t_create_forward_decl', + 'tinfo_t_create_func', + 'tinfo_t_create_ptr', + 'tinfo_t_create_ptr__SWIG_0', + 'tinfo_t_create_ptr__SWIG_1', + 'tinfo_t_create_simple_type', + 'tinfo_t_create_typedef', + 'tinfo_t_create_typedef__SWIG_0', + 'tinfo_t_create_typedef__SWIG_1', + 'tinfo_t_create_typedef__SWIG_2', + 'tinfo_t_create_udt', + 'tinfo_t_del_attr', + 'tinfo_t_del_attrs', + 'tinfo_t_deserialize', + 'tinfo_t_deserialize__SWIG_0', + 'tinfo_t_deserialize__SWIG_1', + 'tinfo_t_dstr', + 'tinfo_t_empty', + 'tinfo_t_equals_to', + 'tinfo_t_find_udt_member', + 'tinfo_t_get_array_details', + 'tinfo_t_get_array_element', + 'tinfo_t_get_array_nelems', + 'tinfo_t_get_attr', + 'tinfo_t_get_attrs', + 'tinfo_t_get_bitfield_details', + 'tinfo_t_get_declalign', + 'tinfo_t_get_decltype', + 'tinfo_t_get_enum_base_type', + 'tinfo_t_get_enum_details', + 'tinfo_t_get_final_ordinal', + 'tinfo_t_get_final_type_name', + 'tinfo_t_get_func_details', + 'tinfo_t_get_modifiers', + 'tinfo_t_get_named_type', + 'tinfo_t_get_nargs', + 'tinfo_t_get_next_type_name', + 'tinfo_t_get_nth_arg', + 'tinfo_t_get_numbered_type', + 'tinfo_t_get_onemember_type', + 'tinfo_t_get_ordinal', + 'tinfo_t_get_pointed_object', + 'tinfo_t_get_ptr_details', + 'tinfo_t_get_ptrarr_object', + 'tinfo_t_get_ptrarr_objsize', + 'tinfo_t_get_realtype', + 'tinfo_t_get_rettype', + 'tinfo_t_get_sign', + 'tinfo_t_get_size', + 'tinfo_t_get_stock', + 'tinfo_t_get_til', + 'tinfo_t_get_type_name', + 'tinfo_t_get_udt_details', + 'tinfo_t_get_udt_nmembers', + 'tinfo_t_get_unpadded_size', + 'tinfo_t_has_details', + 'tinfo_t_has_vftable', + 'tinfo_t_is_anonymous_udt', + 'tinfo_t_is_arithmetic', + 'tinfo_t_is_array', + 'tinfo_t_is_bitfield', + 'tinfo_t_is_bool', + 'tinfo_t_is_castable_to', + 'tinfo_t_is_char', + 'tinfo_t_is_complex', + 'tinfo_t_is_const', + 'tinfo_t_is_correct', + 'tinfo_t_is_decl_array', + 'tinfo_t_is_decl_bitfield', + 'tinfo_t_is_decl_bool', + 'tinfo_t_is_decl_char', + 'tinfo_t_is_decl_complex', + 'tinfo_t_is_decl_const', + 'tinfo_t_is_decl_double', + 'tinfo_t_is_decl_enum', + 'tinfo_t_is_decl_float', + 'tinfo_t_is_decl_floating', + 'tinfo_t_is_decl_func', + 'tinfo_t_is_decl_int', + 'tinfo_t_is_decl_int128', + 'tinfo_t_is_decl_int16', + 'tinfo_t_is_decl_int32', + 'tinfo_t_is_decl_int64', + 'tinfo_t_is_decl_last', + 'tinfo_t_is_decl_ldouble', + 'tinfo_t_is_decl_paf', + 'tinfo_t_is_decl_partial', + 'tinfo_t_is_decl_ptr', + 'tinfo_t_is_decl_struct', + 'tinfo_t_is_decl_sue', + 'tinfo_t_is_decl_tbyte', + 'tinfo_t_is_decl_typedef', + 'tinfo_t_is_decl_uchar', + 'tinfo_t_is_decl_udt', + 'tinfo_t_is_decl_uint', + 'tinfo_t_is_decl_uint128', + 'tinfo_t_is_decl_uint16', + 'tinfo_t_is_decl_uint32', + 'tinfo_t_is_decl_uint64', + 'tinfo_t_is_decl_union', + 'tinfo_t_is_decl_unknown', + 'tinfo_t_is_decl_void', + 'tinfo_t_is_decl_volatile', + 'tinfo_t_is_double', + 'tinfo_t_is_empty_udt', + 'tinfo_t_is_enum', + 'tinfo_t_is_ext_arithmetic', + 'tinfo_t_is_ext_integral', + 'tinfo_t_is_float', + 'tinfo_t_is_floating', + 'tinfo_t_is_forward_decl', + 'tinfo_t_is_from_subtil', + 'tinfo_t_is_func', + 'tinfo_t_is_funcptr', + 'tinfo_t_is_high_func', + 'tinfo_t_is_int', + 'tinfo_t_is_int128', + 'tinfo_t_is_int16', + 'tinfo_t_is_int32', + 'tinfo_t_is_int64', + 'tinfo_t_is_integral', + 'tinfo_t_is_ldouble', + 'tinfo_t_is_manually_castable_to', + 'tinfo_t_is_one_fpval', + 'tinfo_t_is_paf', + 'tinfo_t_is_partial', + 'tinfo_t_is_ptr', + 'tinfo_t_is_ptr_or_array', + 'tinfo_t_is_purging_cc', + 'tinfo_t_is_pvoid', + 'tinfo_t_is_scalar', + 'tinfo_t_is_shifted_ptr', + 'tinfo_t_is_signed', + 'tinfo_t_is_small_udt', + 'tinfo_t_is_sse_type', + 'tinfo_t_is_struct', + 'tinfo_t_is_sue', + 'tinfo_t_is_tbyte', + 'tinfo_t_is_typeref', + 'tinfo_t_is_uchar', + 'tinfo_t_is_udt', + 'tinfo_t_is_uint', + 'tinfo_t_is_uint128', + 'tinfo_t_is_uint16', + 'tinfo_t_is_uint32', + 'tinfo_t_is_uint64', + 'tinfo_t_is_union', + 'tinfo_t_is_unknown', + 'tinfo_t_is_unsigned', + 'tinfo_t_is_user_cc', + 'tinfo_t_is_vararg_cc', + 'tinfo_t_is_varstruct', + 'tinfo_t_is_vftable', + 'tinfo_t_is_void', + 'tinfo_t_is_volatile', + 'tinfo_t_is_well_defined', + 'tinfo_t_present', + 'tinfo_t_read_bitfield_value', + 'tinfo_t_remove_ptr_or_array', + 'tinfo_t_requires_qualifier', + 'tinfo_t_serialize', + 'tinfo_t_set_attr', + 'tinfo_t_set_attrs', + 'tinfo_t_set_const', + 'tinfo_t_set_declalign', + 'tinfo_t_set_modifiers', + 'tinfo_t_set_named_type', + 'tinfo_t_set_numbered_type', + 'tinfo_t_set_symbol_type', + 'tinfo_t_set_volatile', + 'tinfo_t_swap', + 'tinfo_t_write_bitfield_value', + 'tinfo_visitor_t_apply_to', + 'tinfo_visitor_t_prune_now', + 'tinfo_visitor_t_state_get', + 'tinfo_visitor_t_state_set', + 'tinfo_visitor_t_visit_type', + 'to_ea', + 'toggle_bnot', + 'toggle_lzero', + 'toggle_sign', + 'treeloc_t___eq__', + 'treeloc_t___lt__', + 'treeloc_t_ea_get', + 'treeloc_t_ea_set', + 'treeloc_t_itp_get', + 'treeloc_t_itp_set', + 'try_handler_t_clear', + 'try_handler_t_disp_get', + 'try_handler_t_disp_set', + 'try_handler_t_fpreg_get', + 'try_handler_t_fpreg_set', + 'try_to_add_libfunc', + 'tryblk_t_clear', + 'tryblk_t_cpp', + 'tryblk_t_empty', + 'tryblk_t_get_kind', + 'tryblk_t_is_cpp', + 'tryblk_t_is_seh', + 'tryblk_t_level_get', + 'tryblk_t_level_set', + 'tryblk_t_seh', + 'tryblk_t_set_cpp', + 'tryblk_t_set_seh', + 'tryblks_t___eq__', + 'tryblks_t___getitem__', + 'tryblks_t___len__', + 'tryblks_t___ne__', + 'tryblks_t___setitem__', + 'tryblks_t__del', + 'tryblks_t_add_unique', + 'tryblks_t_at', + 'tryblks_t_begin', + 'tryblks_t_begin__SWIG_0', + 'tryblks_t_begin__SWIG_1', + 'tryblks_t_capacity', + 'tryblks_t_clear', + 'tryblks_t_empty', + 'tryblks_t_end', + 'tryblks_t_end__SWIG_0', + 'tryblks_t_end__SWIG_1', + 'tryblks_t_erase', + 'tryblks_t_erase__SWIG_0', + 'tryblks_t_erase__SWIG_1', + 'tryblks_t_extract', + 'tryblks_t_find', + 'tryblks_t_find__SWIG_0', + 'tryblks_t_find__SWIG_1', + 'tryblks_t_grow', + 'tryblks_t_has', + 'tryblks_t_inject', + 'tryblks_t_insert', + 'tryblks_t_pop_back', + 'tryblks_t_push_back', + 'tryblks_t_push_back__SWIG_0', + 'tryblks_t_push_back__SWIG_1', + 'tryblks_t_qclear', + 'tryblks_t_reserve', + 'tryblks_t_resize', + 'tryblks_t_resize__SWIG_0', + 'tryblks_t_resize__SWIG_1', + 'tryblks_t_size', + 'tryblks_t_swap', + 'tryblks_t_truncate', + 'twinpos_t___eq__', + 'twinpos_t___ne__', + 'twinpos_t_at_get', + 'twinpos_t_at_set', + 'twinpos_t_x_get', + 'twinpos_t_x_set', + 'type_attr_t___ge__', + 'type_attr_t___lt__', + 'type_attr_t_key_get', + 'type_attr_t_key_set', + 'type_attr_t_value_get', + 'type_attr_t_value_set', + 'type_attrs_t___getitem__', + 'type_attrs_t___len__', + 'type_attrs_t___setitem__', + 'type_attrs_t_at', + 'type_attrs_t_begin', + 'type_attrs_t_begin__SWIG_0', + 'type_attrs_t_begin__SWIG_1', + 'type_attrs_t_capacity', + 'type_attrs_t_clear', + 'type_attrs_t_empty', + 'type_attrs_t_end', + 'type_attrs_t_end__SWIG_0', + 'type_attrs_t_end__SWIG_1', + 'type_attrs_t_erase', + 'type_attrs_t_erase__SWIG_0', + 'type_attrs_t_erase__SWIG_1', + 'type_attrs_t_extract', + 'type_attrs_t_grow', + 'type_attrs_t_inject', + 'type_attrs_t_insert', + 'type_attrs_t_pop_back', + 'type_attrs_t_push_back', + 'type_attrs_t_push_back__SWIG_0', + 'type_attrs_t_push_back__SWIG_1', + 'type_attrs_t_qclear', + 'type_attrs_t_reserve', + 'type_attrs_t_resize', + 'type_attrs_t_resize__SWIG_0', + 'type_attrs_t_resize__SWIG_1', + 'type_attrs_t_size', + 'type_attrs_t_swap', + 'type_attrs_t_truncate', + 'type_mods_t_clear', + 'type_mods_t_cmt_get', + 'type_mods_t_cmt_set', + 'type_mods_t_flags_get', + 'type_mods_t_flags_set', + 'type_mods_t_has_cmt', + 'type_mods_t_has_info', + 'type_mods_t_has_name', + 'type_mods_t_has_type', + 'type_mods_t_name_get', + 'type_mods_t_name_set', + 'type_mods_t_set_new_cmt', + 'type_mods_t_set_new_name', + 'type_mods_t_set_new_type', + 'type_mods_t_type_get', + 'type_mods_t_type_set', + 'typedef_type_data_t_is_ordref_get', + 'typedef_type_data_t_is_ordref_set', + 'typedef_type_data_t_resolve_get', + 'typedef_type_data_t_resolve_set', + 'typedef_type_data_t_swap', + 'typedef_type_data_t_til_get', + 'typedef_type_data_t_til_set', + 'uchar_array___getitem__', + 'uchar_array___setitem__', + 'uchar_array_cast', + 'uchar_array_frompointer', + 'udc_filter_t_apply', + 'udc_filter_t_init', + 'udc_filter_t_match', + 'udcall_map_begin', + 'udcall_map_clear', + 'udcall_map_end', + 'udcall_map_erase', + 'udcall_map_find', + 'udcall_map_first', + 'udcall_map_free', + 'udcall_map_insert', + 'udcall_map_iterator_t___eq__', + 'udcall_map_iterator_t___ne__', + 'udcall_map_iterator_t_x_get', + 'udcall_map_iterator_t_x_set', + 'udcall_map_new', + 'udcall_map_next', + 'udcall_map_prev', + 'udcall_map_second', + 'udcall_map_size', + 'udcall_t___eq__', + 'udcall_t___ge__', + 'udcall_t___gt__', + 'udcall_t___le__', + 'udcall_t___lt__', + 'udcall_t___ne__', + 'udcall_t_compare', + 'udcall_t_name_get', + 'udcall_t_name_set', + 'udcall_t_tif_get', + 'udcall_t_tif_set', + 'udt_member_t___eq__', + 'udt_member_t___lt__', + 'udt_member_t___ne__', + 'udt_member_t_begin', + 'udt_member_t_clr_baseclass', + 'udt_member_t_clr_unaligned', + 'udt_member_t_clr_vftable', + 'udt_member_t_clr_virtbase', + 'udt_member_t_cmt_get', + 'udt_member_t_cmt_set', + 'udt_member_t_effalign_get', + 'udt_member_t_effalign_set', + 'udt_member_t_end', + 'udt_member_t_fda_get', + 'udt_member_t_fda_set', + 'udt_member_t_is_anonymous_udm', + 'udt_member_t_is_baseclass', + 'udt_member_t_is_bitfield', + 'udt_member_t_is_unaligned', + 'udt_member_t_is_vftable', + 'udt_member_t_is_virtbase', + 'udt_member_t_is_zero_bitfield', + 'udt_member_t_name_get', + 'udt_member_t_name_set', + 'udt_member_t_offset_get', + 'udt_member_t_offset_set', + 'udt_member_t_set_baseclass', + 'udt_member_t_set_unaligned', + 'udt_member_t_set_vftable', + 'udt_member_t_set_virtbase', + 'udt_member_t_size_get', + 'udt_member_t_size_set', + 'udt_member_t_swap', + 'udt_member_t_tafld_bits_get', + 'udt_member_t_tafld_bits_set', + 'udt_member_t_type_get', + 'udt_member_t_type_set', + 'udt_type_data_t_effalign_get', + 'udt_type_data_t_effalign_set', + 'udt_type_data_t_is_cppobj', + 'udt_type_data_t_is_last_baseclass', + 'udt_type_data_t_is_msstruct', + 'udt_type_data_t_is_unaligned', + 'udt_type_data_t_is_union_get', + 'udt_type_data_t_is_union_set', + 'udt_type_data_t_is_vftable', + 'udt_type_data_t_pack_get', + 'udt_type_data_t_pack_set', + 'udt_type_data_t_sda_get', + 'udt_type_data_t_sda_set', + 'udt_type_data_t_swap', + 'udt_type_data_t_taudt_bits_get', + 'udt_type_data_t_taudt_bits_set', + 'udt_type_data_t_total_size_get', + 'udt_type_data_t_total_size_set', + 'udt_type_data_t_unpadded_size_get', + 'udt_type_data_t_unpadded_size_set', + 'udtmembervec_t___eq__', + 'udtmembervec_t___getitem__', + 'udtmembervec_t___len__', + 'udtmembervec_t___ne__', + 'udtmembervec_t___setitem__', + 'udtmembervec_t__del', + 'udtmembervec_t_add_unique', + 'udtmembervec_t_at', + 'udtmembervec_t_begin', + 'udtmembervec_t_begin__SWIG_0', + 'udtmembervec_t_begin__SWIG_1', + 'udtmembervec_t_capacity', + 'udtmembervec_t_clear', + 'udtmembervec_t_empty', + 'udtmembervec_t_end', + 'udtmembervec_t_end__SWIG_0', + 'udtmembervec_t_end__SWIG_1', + 'udtmembervec_t_erase', + 'udtmembervec_t_erase__SWIG_0', + 'udtmembervec_t_erase__SWIG_1', + 'udtmembervec_t_extract', + 'udtmembervec_t_find', + 'udtmembervec_t_find__SWIG_0', + 'udtmembervec_t_find__SWIG_1', + 'udtmembervec_t_grow', + 'udtmembervec_t_has', + 'udtmembervec_t_inject', + 'udtmembervec_t_insert', + 'udtmembervec_t_pop_back', + 'udtmembervec_t_push_back', + 'udtmembervec_t_push_back__SWIG_0', + 'udtmembervec_t_push_back__SWIG_1', + 'udtmembervec_t_qclear', + 'udtmembervec_t_reserve', + 'udtmembervec_t_resize', + 'udtmembervec_t_resize__SWIG_0', + 'udtmembervec_t_resize__SWIG_1', + 'udtmembervec_t_size', + 'udtmembervec_t_swap', + 'udtmembervec_t_truncate', + 'ui_load_new_file', + 'ui_run_debugger', + 'ui_stroff_applicator_t_apply', + 'ui_stroff_op_t___eq__', + 'ui_stroff_op_t___ne__', + 'ui_stroff_op_t_offset_get', + 'ui_stroff_op_t_offset_set', + 'ui_stroff_op_t_text_get', + 'ui_stroff_op_t_text_set', + 'ui_stroff_ops_t___eq__', + 'ui_stroff_ops_t___getitem__', + 'ui_stroff_ops_t___len__', + 'ui_stroff_ops_t___ne__', + 'ui_stroff_ops_t___setitem__', + 'ui_stroff_ops_t__del', + 'ui_stroff_ops_t_add_unique', + 'ui_stroff_ops_t_at', + 'ui_stroff_ops_t_begin', + 'ui_stroff_ops_t_begin__SWIG_0', + 'ui_stroff_ops_t_begin__SWIG_1', + 'ui_stroff_ops_t_capacity', + 'ui_stroff_ops_t_clear', + 'ui_stroff_ops_t_empty', + 'ui_stroff_ops_t_end', + 'ui_stroff_ops_t_end__SWIG_0', + 'ui_stroff_ops_t_end__SWIG_1', + 'ui_stroff_ops_t_erase', + 'ui_stroff_ops_t_erase__SWIG_0', + 'ui_stroff_ops_t_erase__SWIG_1', + 'ui_stroff_ops_t_extract', + 'ui_stroff_ops_t_find', + 'ui_stroff_ops_t_find__SWIG_0', + 'ui_stroff_ops_t_find__SWIG_1', + 'ui_stroff_ops_t_grow', + 'ui_stroff_ops_t_has', + 'ui_stroff_ops_t_inject', + 'ui_stroff_ops_t_insert', + 'ui_stroff_ops_t_pop_back', + 'ui_stroff_ops_t_push_back', + 'ui_stroff_ops_t_push_back__SWIG_0', + 'ui_stroff_ops_t_push_back__SWIG_1', + 'ui_stroff_ops_t_qclear', + 'ui_stroff_ops_t_reserve', + 'ui_stroff_ops_t_resize', + 'ui_stroff_ops_t_resize__SWIG_0', + 'ui_stroff_ops_t_resize__SWIG_1', + 'ui_stroff_ops_t_size', + 'ui_stroff_ops_t_swap', + 'ui_stroff_ops_t_truncate', + 'uintvec_t___eq__', + 'uintvec_t___getitem__', + 'uintvec_t___len__', + 'uintvec_t___ne__', + 'uintvec_t___setitem__', + 'uintvec_t__del', + 'uintvec_t_add_unique', + 'uintvec_t_at', + 'uintvec_t_begin', + 'uintvec_t_begin__SWIG_0', + 'uintvec_t_begin__SWIG_1', + 'uintvec_t_capacity', + 'uintvec_t_clear', + 'uintvec_t_empty', + 'uintvec_t_end', + 'uintvec_t_end__SWIG_0', + 'uintvec_t_end__SWIG_1', + 'uintvec_t_erase', + 'uintvec_t_erase__SWIG_0', + 'uintvec_t_erase__SWIG_1', + 'uintvec_t_extract', + 'uintvec_t_find', + 'uintvec_t_find__SWIG_0', + 'uintvec_t_find__SWIG_1', + 'uintvec_t_has', + 'uintvec_t_inject', + 'uintvec_t_insert', + 'uintvec_t_pop_back', + 'uintvec_t_push_back', + 'uintvec_t_push_back__SWIG_0', + 'uintvec_t_push_back__SWIG_1', + 'uintvec_t_qclear', + 'uintvec_t_reserve', + 'uintvec_t_resize', + 'uintvec_t_resize__SWIG_0', + 'uintvec_t_resize__SWIG_1', + 'uintvec_t_size', + 'uintvec_t_swap', + 'uintvec_t_truncate', + 'ulonglongvec_t___eq__', + 'ulonglongvec_t___getitem__', + 'ulonglongvec_t___len__', + 'ulonglongvec_t___ne__', + 'ulonglongvec_t___setitem__', + 'ulonglongvec_t__del', + 'ulonglongvec_t_add_unique', + 'ulonglongvec_t_at', + 'ulonglongvec_t_begin', + 'ulonglongvec_t_begin__SWIG_0', + 'ulonglongvec_t_begin__SWIG_1', + 'ulonglongvec_t_capacity', + 'ulonglongvec_t_clear', + 'ulonglongvec_t_empty', + 'ulonglongvec_t_end', + 'ulonglongvec_t_end__SWIG_0', + 'ulonglongvec_t_end__SWIG_1', + 'ulonglongvec_t_erase', + 'ulonglongvec_t_erase__SWIG_0', + 'ulonglongvec_t_erase__SWIG_1', + 'ulonglongvec_t_extract', + 'ulonglongvec_t_find', + 'ulonglongvec_t_find__SWIG_0', + 'ulonglongvec_t_find__SWIG_1', + 'ulonglongvec_t_has', + 'ulonglongvec_t_inject', + 'ulonglongvec_t_insert', + 'ulonglongvec_t_pop_back', + 'ulonglongvec_t_push_back', + 'ulonglongvec_t_push_back__SWIG_0', + 'ulonglongvec_t_push_back__SWIG_1', + 'ulonglongvec_t_qclear', + 'ulonglongvec_t_reserve', + 'ulonglongvec_t_resize', + 'ulonglongvec_t_resize__SWIG_0', + 'ulonglongvec_t_resize__SWIG_1', + 'ulonglongvec_t_size', + 'ulonglongvec_t_swap', + 'ulonglongvec_t_truncate', + 'unhide_border', + 'unhide_item', + 'unmark_selection', + 'unpack_idcobj_from_bv', + 'unpack_idcobj_from_idb', + 'unpack_object_from_bv', + 'unpack_object_from_idb', + 'unregister_action', + 'unregister_custom_data_format', + 'unregister_custom_data_type', + 'unregister_timer', + 'update_action_checkable', + 'update_action_checked', + 'update_action_icon', + 'update_action_label', + 'update_action_shortcut', + 'update_action_state', + 'update_action_tooltip', + 'update_action_visibility', + 'update_bpt', + 'update_extra_cmt', + 'update_fpd', + 'update_func', + 'update_hidden_range', + 'update_segm', + 'use_mapping', + 'user_cancelled', + 'user_cmts_begin', + 'user_cmts_clear', + 'user_cmts_end', + 'user_cmts_erase', + 'user_cmts_find', + 'user_cmts_first', + 'user_cmts_free', + 'user_cmts_insert', + 'user_cmts_iterator_t___eq__', + 'user_cmts_iterator_t___ne__', + 'user_cmts_iterator_t_x_get', + 'user_cmts_iterator_t_x_set', + 'user_cmts_new', + 'user_cmts_next', + 'user_cmts_prev', + 'user_cmts_second', + 'user_cmts_size', + 'user_cmts_t_at', + 'user_cmts_t_size', + 'user_graph_place_t_node_get', + 'user_graph_place_t_node_set', + 'user_iflags_begin', + 'user_iflags_clear', + 'user_iflags_end', + 'user_iflags_erase', + 'user_iflags_find', + 'user_iflags_first', + 'user_iflags_free', + 'user_iflags_insert', + 'user_iflags_iterator_t___eq__', + 'user_iflags_iterator_t___ne__', + 'user_iflags_iterator_t_x_get', + 'user_iflags_iterator_t_x_set', + 'user_iflags_new', + 'user_iflags_next', + 'user_iflags_prev', + 'user_iflags_second', + 'user_iflags_size', + 'user_iflags_t_at', + 'user_iflags_t_size', + 'user_labels_begin', + 'user_labels_clear', + 'user_labels_end', + 'user_labels_erase', + 'user_labels_find', + 'user_labels_first', + 'user_labels_free', + 'user_labels_insert', + 'user_labels_iterator_t___eq__', + 'user_labels_iterator_t___ne__', + 'user_labels_iterator_t_x_get', + 'user_labels_iterator_t_x_set', + 'user_labels_new', + 'user_labels_next', + 'user_labels_prev', + 'user_labels_second', + 'user_labels_size', + 'user_labels_t_at', + 'user_labels_t_size', + 'user_lvar_modifier_t_modify_lvars', + 'user_numforms_begin', + 'user_numforms_clear', + 'user_numforms_end', + 'user_numforms_erase', + 'user_numforms_find', + 'user_numforms_first', + 'user_numforms_free', + 'user_numforms_insert', + 'user_numforms_iterator_t___eq__', + 'user_numforms_iterator_t___ne__', + 'user_numforms_iterator_t_x_get', + 'user_numforms_iterator_t_x_set', + 'user_numforms_new', + 'user_numforms_next', + 'user_numforms_prev', + 'user_numforms_second', + 'user_numforms_size', + 'user_numforms_t_at', + 'user_numforms_t_size', + 'user_unions_begin', + 'user_unions_clear', + 'user_unions_end', + 'user_unions_erase', + 'user_unions_find', + 'user_unions_first', + 'user_unions_free', + 'user_unions_insert', + 'user_unions_iterator_t___eq__', + 'user_unions_iterator_t___ne__', + 'user_unions_iterator_t_x_get', + 'user_unions_iterator_t_x_set', + 'user_unions_new', + 'user_unions_next', + 'user_unions_prev', + 'user_unions_second', + 'user_unions_size', + 'user_unions_t_at', + 'user_unions_t_size', + 'uses_modsp', + 'uval_array___getitem__', + 'uval_array___setitem__', + 'uval_array_cast', + 'uval_array_frompointer', + 'uval_ivl_ivlset_t___eq__', + 'uval_ivl_ivlset_t___ne__', + 'uval_ivl_ivlset_t_all_values', + 'uval_ivl_ivlset_t_begin', + 'uval_ivl_ivlset_t_begin__SWIG_0', + 'uval_ivl_ivlset_t_begin__SWIG_1', + 'uval_ivl_ivlset_t_clear', + 'uval_ivl_ivlset_t_empty', + 'uval_ivl_ivlset_t_end', + 'uval_ivl_ivlset_t_end__SWIG_0', + 'uval_ivl_ivlset_t_end__SWIG_1', + 'uval_ivl_ivlset_t_getivl', + 'uval_ivl_ivlset_t_lastivl', + 'uval_ivl_ivlset_t_nivls', + 'uval_ivl_ivlset_t_qclear', + 'uval_ivl_ivlset_t_set_all_values', + 'uval_ivl_ivlset_t_single_value', + 'uval_ivl_ivlset_t_swap', + 'uval_ivl_t_end', + 'uval_ivl_t_last', + 'uval_ivl_t_off_get', + 'uval_ivl_t_off_set', + 'uval_ivl_t_size_get', + 'uval_ivl_t_size_set', + 'uval_ivl_t_valid', + 'validate_idb_names', + 'validate_name', + 'valrng_t___eq__', + 'valrng_t___ge__', + 'valrng_t___gt__', + 'valrng_t___le__', + 'valrng_t___lt__', + 'valrng_t___ne__', + 'valrng_t__deregister', + 'valrng_t__print', + 'valrng_t__register', + 'valrng_t_all_values', + 'valrng_t_compare', + 'valrng_t_cvt_to_cmp', + 'valrng_t_cvt_to_single_value', + 'valrng_t_dstr', + 'valrng_t_empty', + 'valrng_t_get_size', + 'valrng_t_has', + 'valrng_t_intersect_with', + 'valrng_t_inverse', + 'valrng_t_is_unknown', + 'valrng_t_max_svalue', + 'valrng_t_max_svalue__SWIG_0', + 'valrng_t_max_svalue__SWIG_1', + 'valrng_t_max_value', + 'valrng_t_max_value__SWIG_0', + 'valrng_t_max_value__SWIG_1', + 'valrng_t_min_svalue', + 'valrng_t_min_svalue__SWIG_0', + 'valrng_t_min_svalue__SWIG_1', + 'valrng_t_reduce_size', + 'valrng_t_set_all', + 'valrng_t_set_cmp', + 'valrng_t_set_eq', + 'valrng_t_set_none', + 'valrng_t_set_unk', + 'valrng_t_swap', + 'valrng_t_unite_with', + 'valstr_t_info_get', + 'valstr_t_info_set', + 'valstr_t_length_get', + 'valstr_t_length_set', + 'valstr_t_members_get', + 'valstr_t_members_set', + 'valstr_t_oneline_get', + 'valstr_t_oneline_set', + 'valstr_t_props_get', + 'valstr_t_props_set', + 'valstrvec_t___getitem__', + 'valstrvec_t___len__', + 'valstrvec_t___setitem__', + 'valstrvec_t_at', + 'valstrvec_t_begin', + 'valstrvec_t_begin__SWIG_0', + 'valstrvec_t_begin__SWIG_1', + 'valstrvec_t_capacity', + 'valstrvec_t_clear', + 'valstrvec_t_empty', + 'valstrvec_t_end', + 'valstrvec_t_end__SWIG_0', + 'valstrvec_t_end__SWIG_1', + 'valstrvec_t_erase', + 'valstrvec_t_erase__SWIG_0', + 'valstrvec_t_erase__SWIG_1', + 'valstrvec_t_extract', + 'valstrvec_t_grow', + 'valstrvec_t_inject', + 'valstrvec_t_insert', + 'valstrvec_t_pop_back', + 'valstrvec_t_push_back', + 'valstrvec_t_push_back__SWIG_0', + 'valstrvec_t_push_back__SWIG_1', + 'valstrvec_t_qclear', + 'valstrvec_t_reserve', + 'valstrvec_t_resize', + 'valstrvec_t_resize__SWIG_0', + 'valstrvec_t_resize__SWIG_1', + 'valstrvec_t_size', + 'valstrvec_t_swap', + 'valstrvec_t_truncate', + 'var_ref_t___eq__', + 'var_ref_t___ge__', + 'var_ref_t___gt__', + 'var_ref_t___le__', + 'var_ref_t___lt__', + 'var_ref_t___ne__', + 'var_ref_t_compare', + 'var_ref_t_idx_get', + 'var_ref_t_idx_set', + 'var_ref_t_mba_get', + 'var_ref_t_mba_set', + 'vc_printer_t_func_get', + 'vc_printer_t_func_set', + 'vc_printer_t_lastchar_get', + 'vc_printer_t_lastchar_set', + 'vc_printer_t_oneliner', + 'vd_failure_t_desc', + 'vd_failure_t_hf_get', + 'vd_failure_t_hf_set', + 'vd_printer_t__print', + 'vd_printer_t__print__varargs__', + 'vd_printer_t_hdrlines_get', + 'vd_printer_t_hdrlines_set', + 'vd_printer_t_tmpbuf_get', + 'vd_printer_t_tmpbuf_set', + 'vdloc_t___eq__', + 'vdloc_t___ge__', + 'vdloc_t___gt__', + 'vdloc_t___le__', + 'vdloc_t___lt__', + 'vdloc_t___ne__', + 'vdloc_t__set_reg1', + 'vdloc_t_compare', + 'vdloc_t_is_aliasable', + 'vdloc_t_reg1', + 'vdloc_t_set_reg1', + 'vdui_t_calc_cmt_type', + 'vdui_t_cfunc_get', + 'vdui_t_cfunc_set', + 'vdui_t_clear', + 'vdui_t_collapse_item', + 'vdui_t_collapse_lvars', + 'vdui_t_cpos_get', + 'vdui_t_cpos_set', + 'vdui_t_ct_get', + 'vdui_t_ct_set', + 'vdui_t_ctree_to_disasm', + 'vdui_t_del_orphan_cmts', + 'vdui_t_edit_cmt', + 'vdui_t_edit_func_cmt', + 'vdui_t_flags_get', + 'vdui_t_flags_set', + 'vdui_t_get_current_item', + 'vdui_t_get_current_label', + 'vdui_t_get_number', + 'vdui_t_head_get', + 'vdui_t_head_set', + 'vdui_t_in_ctree', + 'vdui_t_invert_bits', + 'vdui_t_invert_sign', + 'vdui_t_item_get', + 'vdui_t_item_set', + 'vdui_t_jump_enter', + 'vdui_t_last_code_get', + 'vdui_t_last_code_set', + 'vdui_t_locked', + 'vdui_t_map_lvar', + 'vdui_t_mba_get', + 'vdui_t_mba_set', + 'vdui_t_refresh_cpos', + 'vdui_t_refresh_ctext', + 'vdui_t_refresh_view', + 'vdui_t_rename_global', + 'vdui_t_rename_label', + 'vdui_t_rename_lvar', + 'vdui_t_rename_strmem', + 'vdui_t_set_global_type', + 'vdui_t_set_locked', + 'vdui_t_set_lvar_cmt', + 'vdui_t_set_lvar_type', + 'vdui_t_set_noptr_lvar', + 'vdui_t_set_num_enum', + 'vdui_t_set_num_radix', + 'vdui_t_set_num_stroff', + 'vdui_t_set_strmem_type', + 'vdui_t_set_valid', + 'vdui_t_set_visible', + 'vdui_t_split_item', + 'vdui_t_switch_to', + 'vdui_t_tail_get', + 'vdui_t_tail_set', + 'vdui_t_toplevel_get', + 'vdui_t_toplevel_set', + 'vdui_t_ui_edit_lvar_cmt', + 'vdui_t_ui_map_lvar', + 'vdui_t_ui_rename_lvar', + 'vdui_t_ui_set_call_type', + 'vdui_t_ui_set_lvar_type', + 'vdui_t_ui_unmap_lvar', + 'vdui_t_valid', + 'vdui_t_view_idx_get', + 'vdui_t_view_idx_set', + 'vdui_t_visible', + 'verify_argloc', + 'verify_tinfo', + 'view_mouse_event_location_t_ea_get', + 'view_mouse_event_location_t_ea_set', + 'view_mouse_event_location_t_item_get', + 'view_mouse_event_location_t_item_set', + 'view_mouse_event_t_button_get', + 'view_mouse_event_t_button_set', + 'view_mouse_event_t_location_get', + 'view_mouse_event_t_location_set', + 'view_mouse_event_t_renderer_pos_get', + 'view_mouse_event_t_renderer_pos_set', + 'view_mouse_event_t_rtype_get', + 'view_mouse_event_t_rtype_set', + 'view_mouse_event_t_state_get', + 'view_mouse_event_t_state_set', + 'view_mouse_event_t_x_get', + 'view_mouse_event_t_x_set', + 'view_mouse_event_t_y_get', + 'view_mouse_event_t_y_set', + 'viewer_attach_menu_item', + 'viewer_center_on', + 'viewer_create_groups', + 'viewer_del_node_info', + 'viewer_delete_groups', + 'viewer_fit_window', + 'viewer_get_curnode', + 'viewer_get_gli', + 'viewer_get_node_info', + 'viewer_get_selection', + 'viewer_set_gli', + 'viewer_set_groups_visibility', + 'viewer_set_node_info', + 'viewer_set_titlebar_height', + 'visit_patched_bytes', + 'visit_stroff_fields', + 'visit_subtypes', + 'vivl_t___eq__', + 'vivl_t___eq____SWIG_0', + 'vivl_t___eq____SWIG_1', + 'vivl_t___ge__', + 'vivl_t___gt__', + 'vivl_t___le__', + 'vivl_t___lt__', + 'vivl_t___ne__', + 'vivl_t__print', + 'vivl_t_compare', + 'vivl_t_contains', + 'vivl_t_dstr', + 'vivl_t_extend_to_cover', + 'vivl_t_includes', + 'vivl_t_intersect', + 'vivl_t_overlap', + 'vivl_t_set', + 'vivl_t_set__SWIG_0', + 'vivl_t_set__SWIG_1', + 'vivl_t_set_reg', + 'vivl_t_set_stkoff', + 'vivl_t_size_get', + 'vivl_t_size_set', + 'voff_t___eq__', + 'voff_t___ge__', + 'voff_t___gt__', + 'voff_t___le__', + 'voff_t___lt__', + 'voff_t___ne__', + 'voff_t_add', + 'voff_t_compare', + 'voff_t_defined', + 'voff_t_diff', + 'voff_t_get_reg', + 'voff_t_get_stkoff', + 'voff_t_inc', + 'voff_t_is_reg', + 'voff_t_is_stkoff', + 'voff_t_off_get', + 'voff_t_off_set', + 'voff_t_set', + 'voff_t_set_reg', + 'voff_t_set_stkoff', + 'voff_t_type_get', + 'voff_t_type_set', + 'voff_t_undef', + 'wait_for_next_event', + 'warning', + 'warning__varargs__', + 'was_ida_decision', + 'word_flag', + 'write_dbg_memory', + 'write_tinfo_bitfield_value', + 'writebytes', + 'xrefblk_t_first_from', + 'xrefblk_t_first_to', + 'xrefblk_t_frm_get', + 'xrefblk_t_frm_set', + 'xrefblk_t_iscode_get', + 'xrefblk_t_iscode_set', + 'xrefblk_t_next_from', + 'xrefblk_t_next_from__SWIG_0', + 'xrefblk_t_next_from__SWIG_1', + 'xrefblk_t_next_to', + 'xrefblk_t_next_to__SWIG_0', + 'xrefblk_t_next_to__SWIG_1', + 'xrefblk_t_to_get', + 'xrefblk_t_to_set', + 'xrefblk_t_type_get', + 'xrefblk_t_type_set', + 'xrefblk_t_user_get', + 'xrefblk_t_user_set', + 'xrefchar', + 'xreflist_entry_t___eq__', + 'xreflist_entry_t___ne__', + 'xreflist_entry_t_ea_get', + 'xreflist_entry_t_ea_set', + 'xreflist_entry_t_opnum_get', + 'xreflist_entry_t_opnum_set', + 'xreflist_entry_t_type_get', + 'xreflist_entry_t_type_set', + 'xreflist_t___eq__', + 'xreflist_t___getitem__', + 'xreflist_t___len__', + 'xreflist_t___ne__', + 'xreflist_t___setitem__', + 'xreflist_t__del', + 'xreflist_t_add_unique', + 'xreflist_t_at', + 'xreflist_t_begin', + 'xreflist_t_begin__SWIG_0', + 'xreflist_t_begin__SWIG_1', + 'xreflist_t_capacity', + 'xreflist_t_clear', + 'xreflist_t_empty', + 'xreflist_t_end', + 'xreflist_t_end__SWIG_0', + 'xreflist_t_end__SWIG_1', + 'xreflist_t_erase', + 'xreflist_t_erase__SWIG_0', + 'xreflist_t_erase__SWIG_1', + 'xreflist_t_extract', + 'xreflist_t_find', + 'xreflist_t_find__SWIG_0', + 'xreflist_t_find__SWIG_1', + 'xreflist_t_grow', + 'xreflist_t_has', + 'xreflist_t_inject', + 'xreflist_t_insert', + 'xreflist_t_pop_back', + 'xreflist_t_push_back', + 'xreflist_t_push_back__SWIG_0', + 'xreflist_t_push_back__SWIG_1', + 'xreflist_t_qclear', + 'xreflist_t_reserve', + 'xreflist_t_resize', + 'xreflist_t_resize__SWIG_0', + 'xreflist_t_resize__SWIG_1', + 'xreflist_t_size', + 'xreflist_t_swap', + 'xreflist_t_truncate', + 'yword_flag', + 'zword_flag']} \ No newline at end of file diff --git a/release_pydoc_injections.txt b/release_pydoc_injections.txt deleted file mode 100644 index 9e2b0ce..0000000 --- a/release_pydoc_injections.txt +++ /dev/null @@ -1,71596 +0,0 @@ -ida_auto.auto_apply_tail(): - - auto_apply_tail(tail_ea, parent_ea) - - - Plan to apply the tail_ea chunk to the parent - - @param tail_ea: linear address of start of tail (C++: ea_t) - @param parent_ea: linear address within parent. If BADADDR, - automatically try to find parent via xrefs. (C++: - ea_t) - - -ida_auto.auto_apply_type(): - - 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) - - -ida_auto.auto_cancel(): - - 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) - - -class ida_auto.auto_display_t(): - - Proxy of C++ auto_display_t class - - -ida_auto.auto_display_t.ea: - auto_display_t_ea_get(self) -> ea_t - -ida_auto.auto_display_t.state: - auto_display_t_state_get(self) -> idastate_t - -ida_auto.auto_display_t.type: - auto_display_t_type_get(self) -> atype_t - -ida_auto.auto_get(): - - 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) - - -ida_auto.auto_is_ok(): - - auto_is_ok() -> bool - - - Are all queues empty? (i.e. has autoanalysis finished?). - - -ida_auto.auto_make_code(): - - auto_make_code(ea) - - - Plan to make code. - - - @param ea (C++: ea_t) - - -ida_auto.auto_make_proc(): - - auto_make_proc(ea) - - - Plan to make code&function. - - - @param ea (C++: ea_t) - - -ida_auto.auto_mark(): - - auto_mark(ea, type) - - - Put single address into a queue. Queues keep addresses sorted. - - - @param ea (C++: ea_t) - @param type (C++: atype_t) - - -ida_auto.auto_mark_range(): - - 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) - - -ida_auto.auto_recreate_insn(): - - auto_recreate_insn(ea) -> int - - - Try to create instruction - - @param ea: linear address of callee (C++: ea_t) - @return: the length of the instruction or 0 - - -ida_auto.auto_unmark(): - - 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) - - -ida_auto.auto_wait(): - - 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) - - -ida_auto.auto_wait_range(): - - 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) - - -ida_auto.enable_auto(): - - 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 - - -ida_auto.get_auto_display(): - - get_auto_display(auto_display) - - - Get structure which holds the autoanalysis indicator contents. - - - @param auto_display (C++: auto_display_t *) - - -ida_auto.get_auto_state(): - - 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). - - -ida_auto.is_auto_enabled(): - - is_auto_enabled() -> bool - - - Get autoanalyzer state. - - -ida_auto.may_create_stkvars(): - - may_create_stkvars() -> bool - - - Is it allowed to create stack variables automatically?. This function - should be used by IDP modules before creating stack vars. - - -ida_auto.may_trace_sp(): - - may_trace_sp() -> bool - - - Is it allowed to trace stack pointer automatically?. This function - should be used by IDP modules before tracing sp. - - -ida_auto.peek_auto_queue(): - - 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 - - -ida_auto.plan_and_wait(): - - 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. - - @param ea1 (C++: ea_t) - @param ea2 (C++: ea_t) - @param final_pass (C++: bool) - - -ida_auto.plan_ea(): - - plan_ea(ea) - - - Plan to perform reanalysis. - - - @param ea (C++: ea_t) - - -ida_auto.plan_range(): - - plan_range(sEA, eEA) - - - Plan to perform reanalysis. - - - @param sEA (C++: ea_t) - @param eEA (C++: ea_t) - - -ida_auto.reanalyze_callers(): - - 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: linear address of callee (C++: ea_t) - @param noret: !=0: the callee doesn't return, mark to undefine - subsequent instructions in the caller. 0: do nothing. - (C++: bool) - - -ida_auto.revert_ida_decisions(): - - 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) - - -ida_auto.set_auto_state(): - - set_auto_state(new_state) -> atype_t - - - Set current state of autoanalyzer. - - @param new_state: new state of autoanalyzer (C++: atype_t) - @return: previous state - - -ida_auto.set_ida_state(): - - set_ida_state(st) -> idastate_t - - - Change IDA status indicator value - - @param st: - new indicator status (C++: idastate_t) - @return: old indicator status - - -ida_auto.show_addr(): - - show_addr(ea) - - - Show an address on the autoanalysis indicator. The address is - displayed in the form " @:12345678". - - @param ea: - linear address to display (C++: ea_t) - - -ida_auto.show_auto(): - - show_auto(ea, type=AU_NONE) - - - Change autoanalysis indicator value. - - @param ea: linear address being analyzed (C++: ea_t) - @param type: autoanalysis type (see Autoanalysis queues ) (C++: - atype_t) - - -ida_bytes.add_byte(): - - add_byte(ea, value) - - - Add a value to one byte of the program. This function works for wide - byte processors too. - - @param ea: linear address (C++: ea_t) - @param value: byte value (C++: uint32) - - -ida_bytes.add_dword(): - - 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 \inf{is_be()}this function works incorrectly if - \ph{nbits} > 16 - - @param ea: linear address (C++: ea_t) - @param value: byte value (C++: uint64) - - -ida_bytes.add_hidden_range(): - - add_hidden_range(ea1, ea2, description, header, footer, color) -> bool - - - Mark a range of addresses as hidden. The range will be created in the - invisible state with the default color - - @param ea1: linear address of start of the address range (C++: ea_t) - @param ea2: linear address of end of the address range (C++: ea_t) - @param description: range parameters (C++: const char *) - @param header: range parameters (C++: const char *) - @param footer: range parameters (C++: const char *) - @param color (C++: bgcolor_t) - @return: success - - -ida_bytes.add_mapping(): - - 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.You should - set flag PR2_MAPPING in ph.flag2 to use memory mapping Add memory - mapping range. - - @param _from: start of the mapped range (nonexistent address) (C++: - ea_t) - @param to: start of the mapping range (existent address) (C++: ea_t) - @param size: size of the range (C++: asize_t) - @return: success - - -ida_bytes.add_qword(): - - 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 \inf{is_be()} - - @param ea: linear address (C++: ea_t) - @param value: byte value (C++: uint64) - - -ida_bytes.add_word(): - - 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 \inf{is_be()} - - @param ea: linear address (C++: ea_t) - @param value: byte value (C++: uint64) - - -ida_bytes.align_flag(): - - align_flag() -> flags_t - - - Get a flags_t representing an alignment directive. - - -ida_bytes.append_cmt(): - - 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: linear address (C++: ea_t) - @param str: comment string to append (C++: const char *) - @param rptble: append to repeatable comment? (C++: bool) - @return: success - - -ida_bytes.attach_custom_data_format(): - - attach_custom_data_format(dtid, dfid) -> bool - - - Attach the data format to the data type. - - @param dtid: 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. (C++: int) - @param dfid: data format id (C++: int) - - -ida_bytes.bin_flag(): - - bin_flag() -> flags_t - - - Get number flag of the base, regardless of current processor - better - to use 'num_flag()' - - -ida_bytes.bin_search(): - - bin_search(start_ea, end_ea, image, mask, step, flags) -> ea_t - - -ida_bytes.byte_flag(): - - byte_flag() -> flags_t - - - Get a flags_t representing a byte. - - -ida_bytes.bytesize(): - - bytesize(ea) -> int - - - Get number of bytes required to store a byte at the given address. - - - @param ea (C++: ea_t) - - -ida_bytes.calc_def_align(): - - calc_def_align(ea, mina, maxa) -> int - - - Calculate default alignment. - - - @param ea (C++: ea_t) - @param mina (C++: int) - @param maxa (C++: int) - - -ida_bytes.calc_dflags(): - - calc_dflags(f, force) -> flags_t - - -ida_bytes.calc_max_align(): - - calc_max_align(endea) -> int - - - Returns: 0..32. - - - @param endea (C++: ea_t) - - -ida_bytes.calc_max_item_end(): - - 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: linear address (C++: ea_t) - @param how: when to stop the search. A combination of Item end search - flags (C++: int) - @return: end of new item. If it is not possible to create an item, it - will return 'ea'. - - -ida_bytes.calc_min_align(): - - calc_min_align(length) -> int - - - Returns: 1..32. - - - @param length (C++: asize_t) - - -ida_bytes.can_define_item(): - - can_define_item(ea, length, flags) -> bool - - - Can define item (instruction/data) of the specified 'length', starting - at 'ea'?if there is an item starting at 'ea', this function ignores - itthis function converts to unexplored all encountered data items with - fixup information. Should be fixed in the future.a new item would - cross segment boundariesa new item would overlap with existing items - (except items specified by 'flags') - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param flags: 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 (C++: - flags_t) - @return: 1-yes, 0-no - - -ida_bytes.change_storage_type(): - - change_storage_type(start_ea, end_ea, stt) -> error_t - - - Change flag storage type for address range. - - @param start_ea: should be lower than end_ea. (C++: ea_t) - @param end_ea: does not belong to the range. (C++: ea_t) - @param stt: storage_type_t (C++: storage_type_t) - @return: error code - - -ida_bytes.char_flag(): - - char_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.chunk_size(): - - 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. - - -ida_bytes.chunk_start(): - - 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. - - -ida_bytes.clr_lzero(): - - clr_lzero(ea, n) -> bool - - - Clear lzero bit. - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.clr_op_type(): - - clr_op_type(ea, n) -> bool - - - Remove operand representation information. (set operand representation - to be 'undefined') - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: success - - -ida_bytes.code_flag(): - - code_flag() -> flags_t - - - 'FF_CODE' - - -ida_bytes.create_16bit_data(): - - create_16bit_data(ea, length) -> bool - - - Convert to 16-bit quantity (take byte size into account) - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - - -ida_bytes.create_32bit_data(): - - create_32bit_data(ea, length) -> bool - - - Convert to 32-bit quantity (take byte size into account) - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - - -ida_bytes.create_align(): - - create_align(ea, length, alignment) -> bool - - - Alignment: 0 or 2..32. If it is 0, is will be calculated. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param alignment (C++: int) - - -ida_bytes.create_byte(): - - create_byte(ea, length, force=False) -> bool - - - Convert to byte. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_custdata(): - - 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) - - -ida_bytes.create_data(): - - create_data(ea, dataflag, size, tid) -> bool - - - Convert to data (byte, word, dword, etc). This function may be used to - create arrays. - - @param ea: linear address (C++: ea_t) - @param dataflag: type of data. Value of function byte_flag() , - word_flag() , etc. (C++: flags_t) - @param size: 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. (C++: asize_t) - @param tid: type id. If the specified type is a structure, then tid is - structure id. Otherwise should be BADNODE . (C++: tid_t) - @return: success - - -ida_bytes.create_double(): - - create_double(ea, length, force=False) -> bool - - - Convert to double. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_dword(): - - create_dword(ea, length, force=False) -> bool - - - Convert to dword. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_float(): - - create_float(ea, length, force=False) -> bool - - - Convert to float. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_oword(): - - 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) - - -ida_bytes.create_packed_real(): - - 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) - - -ida_bytes.create_qword(): - - create_qword(ea, length, force=False) -> bool - - - Convert to quadword. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_strlit(): - - 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: starting address (C++: ea_t) - @param len: length of the string in bytes. if 0, then - get_max_strlit_length() will be used to determine the - length (C++: size_t) - @param strtype: string type. one of String type codes (C++: int32) - @return: success - - -ida_bytes.create_struct(): - - 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) - - -ida_bytes.create_tbyte(): - - create_tbyte(ea, length, force=False) -> bool - - - Convert to tbyte. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_word(): - - create_word(ea, length, force=False) -> bool - - - Convert to word. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param force (C++: bool) - - -ida_bytes.create_yword(): - - 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) - - -ida_bytes.create_zword(): - - 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) - - -ida_bytes.cust_flag(): - - cust_flag() -> flags_t - - - Get a flags_t representing custom type data. - - -ida_bytes.custfmt_flag(): - - custfmt_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -class ida_bytes.data_format_t(): - - Proxy of C++ data_format_t class - - -ida_bytes.data_format_t.hotkey: - data_format_t_hotkey_get(self) -> char const * - -ida_bytes.data_format_t.id: - - __get_id(self) -> int - - -ida_bytes.data_format_t.is_present_in_menus(): - - is_present_in_menus(self) -> bool - - -ida_bytes.data_format_t.menu_name: - data_format_t_menu_name_get(self) -> char const * - -ida_bytes.data_format_t.name: - data_format_t_name_get(self) -> char const * - -ida_bytes.data_format_t.props: - data_format_t_props_get(self) -> int - -ida_bytes.data_format_t.text_width: - data_format_t_text_width_get(self) -> int32 - -ida_bytes.data_format_t.value_size: - data_format_t_value_size_get(self) -> asize_t - -class ida_bytes.data_type_t(): - - Proxy of C++ data_type_t class - - -ida_bytes.data_type_t.asm_keyword: - data_type_t_asm_keyword_get(self) -> char const * - -ida_bytes.data_type_t.hotkey: - data_type_t_hotkey_get(self) -> char const * - -ida_bytes.data_type_t.id: - - __get_id(self) -> int - - -ida_bytes.data_type_t.is_present_in_menus(): - - is_present_in_menus(self) -> bool - - -ida_bytes.data_type_t.menu_name: - data_type_t_menu_name_get(self) -> char const * - -ida_bytes.data_type_t.name: - data_type_t_name_get(self) -> char const * - -ida_bytes.data_type_t.props: - data_type_t_props_get(self) -> int - -ida_bytes.data_type_t.value_size: - data_type_t_value_size_get(self) -> asize_t - -ida_bytes.dec_flag(): - - dec_flag() -> flags_t - - - Get number flag of the base, regardless of current processor - better - to use 'num_flag()' - - -ida_bytes.del_hidden_range(): - - del_hidden_range(ea) -> bool - - - Delete hidden range. - - @param ea: any address in the hidden range (C++: ea_t) - @return: success - - -ida_bytes.del_items(): - - 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: any address within the first item to delete (C++: ea_t) - @param flags: combination of Unexplored byte conversion flags (C++: - int) - @param nbytes: number of bytes in the range to be undefined (C++: - asize_t) - @param may_destroy: optional routine invoked before deleting a head - item. If callback returns false then item has not - to be deleted and operation fails (C++: - may_destroy_cb_t *) - @return: true on sucessful operation, otherwise false - - -ida_bytes.del_mapping(): - - del_mapping(ea) - - - Delete memory mapping range. - - @param ea: any address in the mapped range (C++: ea_t) - - -ida_bytes.del_value(): - - del_value(ea) - - - Delete byte value from flags. The corresponding byte becomes - uninitialized. - - @param ea (C++: ea_t) - - -ida_bytes.detach_custom_data_format(): - - 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: data type id to detach data format from (C++: int) - @param dfid: data format id to detach (C++: int) - - -ida_bytes.disable_flags(): - - 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: should be lower than end_ea. (C++: ea_t) - @param end_ea: does not belong to the range. (C++: ea_t) - @return: 0 if ok, otherwise return error code - - -ida_bytes.double_flag(): - - double_flag() -> flags_t - - - Get a flags_t representing a double. - - -ida_bytes.dword_flag(): - - dword_flag() -> flags_t - - - Get a flags_t representing a double word. - - -ida_bytes.enable_flags(): - - 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: should be lower than end_ea. (C++: ea_t) - @param end_ea: does not belong to the range. (C++: ea_t) - @param stt: storage_type_t (C++: storage_type_t) - @return: 0 if ok, otherwise an error code - - -ida_bytes.enum_flag(): - - enum_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.equal_bytes(): - - equal_bytes(ea, image, mask, len, sense_case) -> bool - - - Compare 'len' bytes of the program starting from 'ea' with 'image'. - - @param ea: linear address (C++: ea_t) - @param image: bytes to compare with (C++: const uchar *) - @param mask: array of 1/0 bytes, it's length is 'len'. 1 means to - perform the comparison of the corresponding byte. 0 means - not to perform. if mask == NULL, then all bytes of - 'image' will be compared. if mask == SKIP_FF_MASK then - 0xFF bytes will be skipped (C++: const uchar *) - @param len: length of block to compare in bytes. (C++: size_t) - @param sense_case: case-sensitive comparison? (C++: bool) - - -ida_bytes.f_has_cmt(): - - f_has_cmt(f, arg2) -> bool - - -ida_bytes.f_has_dummy_name(): - - f_has_dummy_name(f, arg2) -> bool - - - Does the current byte have dummy (auto-generated, with special prefix) - name? - - - @param f (C++: flags_t) - - -ida_bytes.f_has_extra_cmts(): - - f_has_extra_cmts(f, arg2) -> bool - - -ida_bytes.f_has_name(): - - f_has_name(f, arg2) -> bool - - - Does the current byte have non-trivial (non-dummy) name? - - - @param f (C++: flags_t) - - -ida_bytes.f_has_user_name(): - - f_has_user_name(F, arg2) -> bool - - - Does the current byte have user-specified name? - - - @param F (C++: flags_t) - - -ida_bytes.f_has_xref(): - - f_has_xref(f, arg2) -> bool - - - Does the current byte have cross-references to it? - - - @param f (C++: flags_t) - - -ida_bytes.f_is_align(): - - f_is_align(F, arg2) -> bool - - - See 'is_align()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_byte(): - - f_is_byte(F, arg2) -> bool - - - See 'is_byte()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_code(): - - f_is_code(F, arg2) -> bool - - - Does flag denote start of an instruction? - - - @param F (C++: flags_t) - - -ida_bytes.f_is_custom(): - - f_is_custom(F, arg2) -> bool - - - See 'is_custom()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_data(): - - f_is_data(F, arg2) -> bool - - - Does flag denote start of data? - - - @param F (C++: flags_t) - - -ida_bytes.f_is_double(): - - f_is_double(F, arg2) -> bool - - - See 'is_double()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_dword(): - - f_is_dword(F, arg2) -> bool - - - See 'is_dword()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_float(): - - f_is_float(F, arg2) -> bool - - - See 'is_float()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_head(): - - f_is_head(F, arg2) -> bool - - - Does flag denote start of instruction OR data? - - - @param F (C++: flags_t) - - -ida_bytes.f_is_not_tail(): - - f_is_not_tail(F, arg2) -> bool - - - Does flag denote tail byte? - - - @param F (C++: flags_t) - - -ida_bytes.f_is_oword(): - - f_is_oword(F, arg2) -> bool - - - See 'is_oword()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_pack_real(): - - f_is_pack_real(F, arg2) -> bool - - - See 'is_pack_real()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_qword(): - - f_is_qword(F, arg2) -> bool - - - See 'is_qword()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_strlit(): - - f_is_strlit(F, arg2) -> bool - - - See 'is_strlit()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_struct(): - - f_is_struct(F, arg2) -> bool - - - See 'is_struct()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_tail(): - - f_is_tail(F, arg2) -> bool - - - Does flag denote tail byte? - - - @param F (C++: flags_t) - - -ida_bytes.f_is_tbyte(): - - f_is_tbyte(F, arg2) -> bool - - - See 'is_tbyte()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_word(): - - f_is_word(F, arg2) -> bool - - - See 'is_word()' - - - @param F (C++: flags_t) - - -ida_bytes.f_is_yword(): - - f_is_yword(F, arg2) -> bool - - - See 'is_yword()' - - - @param F (C++: flags_t) - - -ida_bytes.find_byte(): - - 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: linear address (C++: ea_t) - @param size: number of bytes to inspect (C++: asize_t) - @param value: value to find (C++: uchar) - @param bin_search_flags: combination of Search flags (C++: int) - @return: address of byte or BADADDR - - -ida_bytes.find_byter(): - - 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: the lower address of the search range (C++: ea_t) - @param size: number of bytes to inspect (C++: asize_t) - @param value: value to find (C++: uchar) - @param bin_search_flags: combination of Search flags (C++: int) - @return: address of byte or BADADDR - - -ida_bytes.find_custom_data_format(): - - find_custom_data_format(name) -> int - - - Get id of a custom data format. - - @param name: name of the custom data format (C++: const char *) - @return: id or -1 - - -ida_bytes.find_custom_data_type(): - - find_custom_data_type(name) -> int - - - Get id of a custom data type. - - @param name: name of the custom data type (C++: const char *) - @return: id or -1 - - -ida_bytes.float_flag(): - - float_flag() -> flags_t - - - Get a flags_t representing a float. - - -ida_bytes.flt_flag(): - - flt_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.free_chunk(): - - free_chunk(bottom, size, step) -> ea_t - - - Search for a hole in the addressing space of the program. - - @param bottom: address to start searching (C++: ea_t) - @param size: size of desired block (C++: asize_t) - @param step: bit mask for the start of hole (0xF would align hole to a - paragraph). if 'step' is negative, the bottom address - with be aligned. otherwise the kernel will try to use it - as is and align it only when the hole is too small. (C++: - int32) - @return: start of the hole or BADADDR - - -ida_bytes.get_16bit(): - - 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() - - -ida_bytes.get_32bit(): - - 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 \ph{nbits}: if ( nbits <= 8 ) - return get_dword(ea); if ( nbits <= 16) return - get_wide_word(ea); return get_wide_byte(ea); - - -ida_bytes.get_64bit(): - - 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 \ph{nbits}: if ( nbits <= 8 ) - return get_qword(ea); if ( nbits <= 16) return - get_wide_dword(ea); return get_wide_byte(ea); - - -ida_bytes.get_8bit(): - - get_8bit(ea, v, nbit) -> PyObject * - - -ida_bytes.get_byte(): - - 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) - - -ida_bytes.get_bytes(): - - 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 - @return: the bytes (as a str), or None in case of failure - - -ida_bytes.get_bytes_and_mask(): - - 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 - @return: a tuple (bytes, mask), or None in case of failure. - Both 'bytes' and 'mask' are 'str' instances. - - -ida_bytes.get_cmt(): - - get_cmt(ea, rptble) -> ssize_t - - - Get an indented comment. - - @param ea: linear address. may point to tail byte, the function will - find start of the item (C++: ea_t) - @param rptble: get repeatable comment? (C++: bool) - @return: size of comment or -1 - - -ida_bytes.get_custom_data_format(): - - get_custom_data_format(dfid) -> data_format_t - - - Get definition of a registered custom data format. - - @param dfid: data format id (C++: int) - @return: data format definition or NULL - - -ida_bytes.get_custom_data_formats(): - - get_custom_data_formats(out, dtid) -> int - - - Get list of attached custom data formats for the specified data type. - - @param out: buffer for the output. may be NULL (C++: intvec_t *) - @param dtid: data type id (C++: int) - @return: number of returned custom data formats. if error, returns -1 - - -ida_bytes.get_custom_data_type(): - - get_custom_data_type(dtid) -> data_type_t - - - Get definition of a registered custom data type. - - @param dtid: data type id (C++: int) - @return: data type definition or NULL - - -ida_bytes.get_custom_data_types(): - - get_custom_data_types(out, min_size=0, max_size=BADADDR) -> int - - - Get list of registered custom data type ids. - - @param out: buffer for the output. may be NULL (C++: intvec_t *) - @param min_size: minimum value size (C++: asize_t) - @param max_size: maximum value size (C++: asize_t) - @return: number of custom data types with the specified size limits - - -ida_bytes.get_data_elsize(): - - get_data_elsize(ea, F, ti=None) -> asize_t - - - Get size of data type specified in flags 'F'. - - @param ea: linear address of the item (C++: ea_t) - @param F: flags (C++: flags_t) - @param ti: 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 NULL). If - specified as NULL, will be automatically retrieved from the - database (C++: const opinfo_t *) - @return: byte : 1 word : 2 etc... - - -ida_bytes.get_data_value(): - - 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: pointer to the result. may be NULL (C++: uval_t *) - @param ea: linear address (C++: ea_t) - @param size: size of data to read. If 0, then the item type at 'ea' - will be used (C++: asize_t) - @return: success - - -ida_bytes.get_db_byte(): - - 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) - - -ida_bytes.get_default_radix(): - - get_default_radix() -> int - - - Get default base of number for the current processor. - - @return: 2, 8, 10, 16 - - -ida_bytes.get_dword(): - - get_dword(ea) -> uint32 - - - Get one dword (32-bit) of the program at 'ea'. This function takes - into account order of bytes specified in \inf{is_be()} This function - works only for 8bit byte processors. - - @param ea (C++: ea_t) - - -ida_bytes.get_enum_id(): - - get_enum_id(ea, n) -> enum_t - - - Get enum id of 'enum' operand. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: id of enum or BADNODE - - -ida_bytes.get_first_hidden_range(): - - get_first_hidden_range() -> hidden_range_t - - - Get pointer to the first hidden range. - - @return: ptr to hidden range or NULL - - -ida_bytes.get_flags(): - - get_flags(ea) -> flags_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) - - -ida_bytes.get_flags_by_size(): - - get_flags_by_size(size) -> flags_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) - - -ida_bytes.get_flags_ex(): - - get_flags_ex(ea, how) -> flags_t - - - Get flags for the specified address, extended form. - - - @param ea (C++: ea_t) - @param how (C++: int) - - -ida_bytes.get_forced_operand(): - - get_forced_operand(ea, n) -> ssize_t - - - Get forced operand. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, 2) (C++: int) - @return: size of forced operand or -1 - - -ida_bytes.get_full_data_elsize(): - - 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++: flags_t) - @param ti (C++: const opinfo_t *) - - -ida_bytes.get_full_flags(): - - get_full_flags(ea) -> flags_t - - - Get flags value for address 'ea'. - - @param ea (C++: ea_t) - @return: 0 if address is not present in the program - - -ida_bytes.get_hidden_range(): - - get_hidden_range(ea) -> hidden_range_t - - - Get pointer to hidden range structure, in: linear address. - - @param ea: any address in the hidden range (C++: ea_t) - - -ida_bytes.get_hidden_range_num(): - - get_hidden_range_num(ea) -> int - - - Get number of a hidden range. - - @param ea: any address in the hidden range (C++: ea_t) - @return: number of hidden range (0.. get_hidden_range_qty() -1) - - -ida_bytes.get_hidden_range_qty(): - - get_hidden_range_qty() -> int - - - Get number of hidden ranges. - - -ida_bytes.get_item_end(): - - 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) - - -ida_bytes.get_item_flag(): - - get_item_flag(_from, n, ea, appzero) -> flags_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: linear address of the instruction which refers to 'ea' - (C++: ea_t) - @param n: number of operand which refers to 'ea' (C++: int) - @param ea: the referenced address (C++: ea_t) - @param appzero: append a struct field name if the field offset is - zero? meaningful only if the name refers to a - structure. (C++: bool) - @return: flags or 0 (if failed) - - -ida_bytes.get_item_head(): - - 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) - - -ida_bytes.get_item_size(): - - get_item_size(ea) -> asize_t - - - Get size of item (instruction/data) in bytes. Unexplored bytes have - length of 1 byte. This function never returns 0. - - @param ea (C++: ea_t) - - -ida_bytes.get_last_hidden_range(): - - get_last_hidden_range() -> hidden_range_t - - - Get pointer to the last hidden range. - - @return: ptr to hidden range or NULL - - -ida_bytes.get_manual_insn(): - - get_manual_insn(ea) -> ssize_t - - - Retrieve the user-specified string for the manual instruction. - - @param ea: linear address of the instruction or data item (C++: ea_t) - @return: size of manual instruction or -1 - - -ida_bytes.get_mapping(): - - get_mapping(n) -> bool - - - Get memory mapping range by its number. - - @param n: number of mapping range (0.. get_mappings_qty() -1) (C++: - size_t) - @return: false if the specified range doesn't exist, otherwise returns - from , to , size - - -ida_bytes.get_mappings_qty(): - - get_mappings_qty() -> size_t - - - Get number of mappings. - - -ida_bytes.get_max_strlit_length(): - - get_max_strlit_length(ea, strtype, options=0) -> size_t - - - Determine maximum length of string literal. - - @param ea: starting address (C++: ea_t) - @param strtype: string type. one of String type codes (C++: int32) - @param options: combination of string literal length options (C++: - int) - @return: length of the string in octets (octet==8bit) - - -ida_bytes.get_next_hidden_range(): - - get_next_hidden_range(ea) -> hidden_range_t - - - Get pointer to next hidden range. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to hidden range or NULL if next hidden range doesn't - exist - - -ida_bytes.get_octet(): - - get_octet(ea, v, nbit) -> PyObject * - - - Get 8 bits of the program at 'ea'. The main usage of this function is - to iterate range of bytes. Here is an example: - - uint64 v; - int nbit = 0; - for ( ... ) { - uchar byte = get_octet(&ea, &v, &nbit); - ... - } - - 'ea' is incremented each time when a new byte is read. In the above - example, it will be incremented in the first loop iteration. - - @param ea (C++: ea_t *) - @param v (C++: uint64 *) - @param nbit (C++: int *) - - -ida_bytes.get_opinfo(): - - get_opinfo(buf, ea, n, flags) -> opinfo_t - - - Get additional information about an operand representation. - - @param buf: buffer to receive the result. may not be NULL (C++: - opinfo_t *) - @param ea: linear address of item (C++: ea_t) - @param n: number of operand, 0 or 1 (C++: int) - @param flags: flags of the item (C++: flags_t) - @return: NULL if no additional representation information - - -ida_bytes.get_optype_flags0(): - - get_optype_flags0(F) -> flags_t - - - Get flags for first operand. - - - @param F (C++: flags_t) - - -ida_bytes.get_optype_flags1(): - - get_optype_flags1(F) -> flags_t - - - Get flags for second operand. - - - @param F (C++: flags_t) - - -ida_bytes.get_original_byte(): - - 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) - - -ida_bytes.get_original_dword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - - -ida_bytes.get_original_qword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - - -ida_bytes.get_original_word(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - - -ida_bytes.get_predef_insn_cmt(): - - get_predef_insn_cmt(ins) -> ssize_t - - - Get predefined comment. - - @param ins: current instruction information (C++: const insn_t &) - @return: size of comment or -1 - - -ida_bytes.get_prev_hidden_range(): - - get_prev_hidden_range(ea) -> hidden_range_t - - - Get pointer to previous hidden range. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to hidden range or NULL if previous hidden range doesn't - exist - - -ida_bytes.get_qword(): - - get_qword(ea) -> uint64 - - - Get one qword (64-bit) of the program at 'ea'. This function takes - into account order of bytes specified in \inf{is_be()} This function - works only for 8bit byte processors. - - @param ea (C++: ea_t) - - -ida_bytes.get_radix(): - - 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: flags (C++: flags_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: 2, 8, 10, 16 - - -ida_bytes.get_strlit_contents(): - - get_strlit_contents(ea, py_len, type, flags=0) -> PyObject * - - - Get bytes contents at location, possibly converted. - It works even if the string has not been created in the database yet. - - Note that this will always return a simple string of bytes - (i.e., a 'str' instance), and not a string of unicode characters. - - If you want auto-conversion to unicode strings (that is: real strings), - you should probably be using the idautils.Strings class. - - @param ea: linear address of the string - @param 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. - - -ida_bytes.get_stroff_path(): - - get_stroff_path(path, delta, ea, n) -> int - - - Get struct path of operand. - - @param path: buffer for structure path (strpath). see nalt.hpp for - more info. (C++: tid_t *) - @param delta: struct offset delta (C++: adiff_t *) - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: length of strpath - - -ida_bytes.get_wide_byte(): - - 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) - - -ida_bytes.get_wide_dword(): - - 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 - \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 - - @param ea (C++: ea_t) - - -ida_bytes.get_wide_word(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - - -ida_bytes.get_word(): - - get_word(ea) -> ushort - - - Get one word (16-bit) of the program at 'ea'. This function takes into - account order of bytes specified in \inf{is_be()} This function works - only for 8bit byte processors. - - @param ea (C++: ea_t) - - -ida_bytes.get_zero_ranges(): - - 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: pointer to the return value. cannot be NULL (C++: - rangeset_t *) - @param range: the range of addresses to verify. can be NULL - means - all ranges (C++: const range_t *) - @return: true if the result is a non-empty set - - -ida_bytes.getn_hidden_range(): - - getn_hidden_range(n) -> hidden_range_t - - - Get pointer to hidden range structure, in: number of hidden range. - - @param n: number of hidden range, is in range 0.. - get_hidden_range_qty() -1 (C++: int) - - -ida_bytes.has_any_name(): - - has_any_name(F) -> bool - - - Does the current byte have any name? - - - @param F (C++: flags_t) - - -ida_bytes.has_auto_name(): - - has_auto_name(F) -> bool - - - Does the current byte have auto-generated (no special prefix) name? - - - @param F (C++: flags_t) - - -ida_bytes.has_cmt(): - - has_cmt(F) -> bool - - - Does the current byte have an indented comment? - - - @param F (C++: flags_t) - - -ida_bytes.has_dummy_name(): - - has_dummy_name(F) -> bool - - - Does the current byte have dummy (auto-generated, with special prefix) - name? - - - @param F (C++: flags_t) - - -ida_bytes.has_extra_cmts(): - - has_extra_cmts(F) -> bool - - - Does the current byte have additional anterior or posterior lines? - - - @param F (C++: flags_t) - - -ida_bytes.has_immd(): - - has_immd(F) -> bool - - - Has immediate value? - - - @param F (C++: flags_t) - - -ida_bytes.has_name(): - - has_name(F) -> bool - - - Does the current byte have non-trivial (non-dummy) name? - - - @param F (C++: flags_t) - - -ida_bytes.has_user_name(): - - has_user_name(F) -> bool - - - Does the current byte have user-specified name? - - - @param F (C++: flags_t) - - -ida_bytes.has_value(): - - has_value(F) -> bool - - - Do flags contain byte value? - - - @param F (C++: flags_t) - - -ida_bytes.has_xref(): - - has_xref(F) -> bool - - - Does the current byte have cross-references to it? - - - @param F (C++: flags_t) - - -ida_bytes.hex_flag(): - - hex_flag() -> flags_t - - - Get number flag of the base, regardless of current processor - better - to use 'num_flag()' - - -class ida_bytes.hidden_range_t(): - - Proxy of C++ hidden_range_t class - - -ida_bytes.hidden_range_t._print(): - - _print(self) -> size_t - - -ida_bytes.hidden_range_t.clear(): - - clear(self) - - -ida_bytes.hidden_range_t.color: - hidden_range_t_color_get(self) -> bgcolor_t - -ida_bytes.hidden_range_t.compare(): - - compare(self, r) -> int - - -ida_bytes.hidden_range_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_bytes.hidden_range_t.description: - hidden_range_t_description_get(self) -> char * - -ida_bytes.hidden_range_t.empty(): - - empty(self) -> bool - - -ida_bytes.hidden_range_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_bytes.hidden_range_t.extend(): - - extend(self, ea) - - -ida_bytes.hidden_range_t.footer: - hidden_range_t_footer_get(self) -> char * - -ida_bytes.hidden_range_t.header: - hidden_range_t_header_get(self) -> char * - -ida_bytes.hidden_range_t.intersect(): - - intersect(self, r) - - -ida_bytes.hidden_range_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_bytes.hidden_range_t.size(): - - size(self) -> asize_t - - -ida_bytes.hidden_range_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_bytes.hidden_range_t.visible: - hidden_range_t_visible_get(self) -> bool - -ida_bytes.is_align(): - - is_align(F) -> bool - - - 'FF_ALIGN' - - - @param F (C++: flags_t) - - -ida_bytes.is_attached_custom_data_format(): - - is_attached_custom_data_format(dtid, dfid) -> bool - - -ida_bytes.is_bnot(): - - is_bnot(ea, F, n) -> bool - - - Should we negate the operand?. sh{a_bnot} should be defined in the - idp module in order to work with this function - - @param ea (C++: ea_t) - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_byte(): - - is_byte(F) -> bool - - - 'FF_BYTE' - - - @param F (C++: flags_t) - - -ida_bytes.is_char(): - - is_char(F, n) -> bool - - - is character constant? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_char0(): - - is_char0(F) -> bool - - - Is the first operand character constant? (example: push 'a') - - - @param F (C++: flags_t) - - -ida_bytes.is_char1(): - - is_char1(F) -> bool - - - Is the second operand character constant? (example: mov al, 'a') - - - @param F (C++: flags_t) - - -ida_bytes.is_code(): - - is_code(F) -> bool - - - Does flag denote start of an instruction? - - - @param F (C++: flags_t) - - -ida_bytes.is_custfmt(): - - is_custfmt(F, n) -> bool - - - is custom data format? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_custfmt0(): - - is_custfmt0(F) -> bool - - - Does the first operand use a custom data representation? - - - @param F (C++: flags_t) - - -ida_bytes.is_custfmt1(): - - is_custfmt1(F) -> bool - - - Does the second operand use a custom data representation? - - - @param F (C++: flags_t) - - -ida_bytes.is_custom(): - - is_custom(F) -> bool - - - 'FF_CUSTOM' - - - @param F (C++: flags_t) - - -ida_bytes.is_data(): - - is_data(F) -> bool - - - Does flag denote start of data? - - - @param F (C++: flags_t) - - -ida_bytes.is_defarg(): - - is_defarg(F, n) -> bool - - - is defined? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_defarg0(): - - is_defarg0(F) -> bool - - - Is the first operand defined? Initially operand has no defined - representation. - - - @param F (C++: flags_t) - - -ida_bytes.is_defarg1(): - - is_defarg1(F) -> bool - - - Is the second operand defined? Initially operand has no defined - representation. - - - @param F (C++: flags_t) - - -ida_bytes.is_double(): - - is_double(F) -> bool - - - 'FF_DOUBLE' - - - @param F (C++: flags_t) - - -ida_bytes.is_dword(): - - is_dword(F) -> bool - - - 'FF_DWORD' - - - @param F (C++: flags_t) - - -ida_bytes.is_enum(): - - is_enum(F, n) -> bool - - - is enum? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_enum0(): - - is_enum0(F) -> bool - - - Is the first operand a symbolic constant (enum member)? - - - @param F (C++: flags_t) - - -ida_bytes.is_enum1(): - - is_enum1(F) -> bool - - - Is the second operand a symbolic constant (enum member)? - - - @param F (C++: flags_t) - - -ida_bytes.is_float(): - - is_float(F) -> bool - - - 'FF_FLOAT' - - - @param F (C++: flags_t) - - -ida_bytes.is_float0(): - - is_float0(F) -> bool - - - Is the first operand a floating point number? - - - @param F (C++: flags_t) - - -ida_bytes.is_float1(): - - is_float1(F) -> bool - - - Is the second operand a floating point number? - - - @param F (C++: flags_t) - - -ida_bytes.is_flow(): - - is_flow(F) -> bool - - - Does the previous instruction exist and pass execution flow to the - current byte? - - - @param F (C++: flags_t) - - -ida_bytes.is_fltnum(): - - is_fltnum(F, n) -> bool - - - is floating point number? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_forced_operand(): - - is_forced_operand(ea, n) -> bool - - - Is operand manually defined?. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, 2) (C++: int) - - -ida_bytes.is_func(): - - is_func(F) -> bool - - - Is function start? - - - @param F (C++: flags_t) - - -ida_bytes.is_head(): - - is_head(F) -> bool - - - Does flag denote start of instruction OR data? - - - @param F (C++: flags_t) - - -ida_bytes.is_invsign(): - - 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++: flags_t) - @param n (C++: int) - - -ida_bytes.is_loaded(): - - is_loaded(ea) -> bool - - - Does the specified address have a byte value (is initialized?) - - - @param ea (C++: ea_t) - - -ida_bytes.is_lzero(): - - is_lzero(ea, n) -> bool - - - Display leading zeroes in operands. The global switch for the leading - zeroes is in \inf{s_genflags} The leading zeroes doesn't work if the - octal numbers start with 0 Display leading zeroes? (takes into account - \inf{s_genflags}) - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.is_manual(): - - is_manual(F, n) -> bool - - - is forced operand? (use 'is_forced_operand()' ) - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_manual_insn(): - - is_manual_insn(ea) -> bool - - - Is the instruction overridden? - - @param ea: linear address of the instruction or data item (C++: ea_t) - - -ida_bytes.is_mapped(): - - is_mapped(ea) -> bool - - - Is the specified address 'ea' present in the program? - - - @param ea (C++: ea_t) - - -ida_bytes.is_not_tail(): - - is_not_tail(F) -> bool - - - Does flag denote tail byte? - - - @param F (C++: flags_t) - - -ida_bytes.is_numop(): - - is_numop(F, n) -> bool - - - is number (bin, oct, dec, hex)? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_numop0(): - - is_numop0(F) -> bool - - - Is the first operand a number (i.e. binary, octal, decimal or hex?) - - - @param F (C++: flags_t) - - -ida_bytes.is_numop1(): - - is_numop1(F) -> bool - - - Is the second operand a number (i.e. binary, octal, decimal or hex?) - - - @param F (C++: flags_t) - - -ida_bytes.is_off(): - - is_off(F, n) -> bool - - - is offset? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_off0(): - - is_off0(F) -> bool - - - Is the first operand offset? (example: push offset xxx) - - - @param F (C++: flags_t) - - -ida_bytes.is_off1(): - - is_off1(F) -> bool - - - Is the second operand offset? (example: mov ax, offset xxx) - - - @param F (C++: flags_t) - - -ida_bytes.is_oword(): - - is_oword(F) -> bool - - - 'FF_OWORD' - - - @param F (C++: flags_t) - - -ida_bytes.is_pack_real(): - - is_pack_real(F) -> bool - - - 'FF_PACKREAL' - - - @param F (C++: flags_t) - - -ida_bytes.is_qword(): - - is_qword(F) -> bool - - - 'FF_QWORD' - - - @param F (C++: flags_t) - - -ida_bytes.is_same_data_type(): - - is_same_data_type(F1, F2) -> bool - - - Do the given flags specify the same data type? - - - @param F1 (C++: flags_t) - @param F2 (C++: flags_t) - - -ida_bytes.is_seg(): - - is_seg(F, n) -> bool - - - is segment? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_seg0(): - - is_seg0(F) -> bool - - - Is the first operand segment selector? (example: push seg seg001) - - - @param F (C++: flags_t) - - -ida_bytes.is_seg1(): - - is_seg1(F) -> bool - - - Is the second operand segment selector? (example: mov dx, seg dseg) - - - @param F (C++: flags_t) - - -ida_bytes.is_stkvar(): - - is_stkvar(F, n) -> bool - - - is stack variable? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_stkvar0(): - - is_stkvar0(F) -> bool - - - Is the first operand a stack variable? - - - @param F (C++: flags_t) - - -ida_bytes.is_stkvar1(): - - is_stkvar1(F) -> bool - - - Is the second operand a stack variable? - - - @param F (C++: flags_t) - - -ida_bytes.is_strlit(): - - is_strlit(F) -> bool - - - 'FF_STRLIT' - - - @param F (C++: flags_t) - - -ida_bytes.is_stroff(): - - is_stroff(F, n) -> bool - - - is struct offset? - - - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_stroff0(): - - is_stroff0(F) -> bool - - - Is the first operand an offset within a struct? - - - @param F (C++: flags_t) - - -ida_bytes.is_stroff1(): - - is_stroff1(F) -> bool - - - Is the second operand an offset within a struct? - - - @param F (C++: flags_t) - - -ida_bytes.is_struct(): - - is_struct(F) -> bool - - - 'FF_STRUCT' - - - @param F (C++: flags_t) - - -ida_bytes.is_suspop(): - - is_suspop(ea, F, n) -> bool - - - is suspicious operand? - - - @param ea (C++: ea_t) - @param F (C++: flags_t) - @param n (C++: int) - - -ida_bytes.is_tail(): - - is_tail(F) -> bool - - - Does flag denote tail byte? - - - @param F (C++: flags_t) - - -ida_bytes.is_tbyte(): - - is_tbyte(F) -> bool - - - 'FF_TBYTE' - - - @param F (C++: flags_t) - - -ida_bytes.is_unknown(): - - is_unknown(F) -> bool - - - Does flag denote unexplored byte? - - - @param F (C++: flags_t) - - -ida_bytes.is_varsize_item(): - - is_varsize_item(ea, F, ti=None, itemsize=None) -> int - - - Is the item at 'ea' variable size?. - - @param ea: linear address of the item (C++: ea_t) - @param F: flags (C++: flags_t) - @param ti: 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 NULL). If - specified as NULL, will be automatically retrieved from the - database (C++: const opinfo_t *) - @param itemsize: if not NULL and the item is varsize, itemsize will - contain the calculated item size (for struct types, - the minimal size is returned) (C++: asize_t *) - - -ida_bytes.is_word(): - - is_word(F) -> bool - - - 'FF_WORD' - - - @param F (C++: flags_t) - - -ida_bytes.is_yword(): - - is_yword(F) -> bool - - - 'FF_YWORD' - - - @param F (C++: flags_t) - - -ida_bytes.is_zword(): - - is_zword(F) -> bool - - - 'FF_ZWORD' - - - @param F (C++: flags_t) - - -ida_bytes.leading_zero_important(): - - leading_zero_important(ea, n) -> bool - - - Check if leading zeroes are important. - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.nbits(): - - nbits(ea) -> int - - - Get number of bits in a byte at the given address. - - @param ea (C++: ea_t) - @return: \ph{dnbits()} if the address doesn't belong to a segment, - otherwise the result depends on the segment type - - -ida_bytes.next_addr(): - - 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. - - -ida_bytes.next_chunk(): - - 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. - - -ida_bytes.next_head(): - - next_head(ea, maxea) -> ea_t - - - Get start of next defined item. - - @param ea: begin search at this address (C++: ea_t) - @param maxea: not included in the search range (C++: ea_t) - @return: BADADDR if none exists. - - -ida_bytes.next_inited(): - - next_inited(ea, maxea) -> ea_t - - - Find the next initialized address. - - - @param ea (C++: ea_t) - @param maxea (C++: ea_t) - - -ida_bytes.next_not_tail(): - - next_not_tail(ea) -> ea_t - - - Get address of next non-tail byte. - - @param ea (C++: ea_t) - @return: BADADDR if none exists. - - -ida_bytes.next_that(): - - next_that(ea, maxea, callable) -> ea_t - - - Find next address with a flag satisfying the function 'testf'. - Start searching from address 'ea'+1 and inspect bytes up to 'maxea'. - maxea is not included in the search range. - - @param callable: a Python callable with the following prototype: - callable(flags). Return True to stop enumeration. - @return: the found address or BADADDR. - - -ida_bytes.next_unknown(): - - 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) - - -ida_bytes.num_flag(): - - num_flag() -> flags_t - - - Get number of default base (bin, oct, dec, hex) - - -ida_bytes.oct_flag(): - - oct_flag() -> flags_t - - - Get number flag of the base, regardless of current processor - better - to use 'num_flag()' - - -ida_bytes.off_flag(): - - off_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.op_adds_xrefs(): - - 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++: flags_t) - @param n (C++: int) - - -ida_bytes.op_bin(): - - op_bin(ea, n) -> bool - - - set op type to 'bin_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_chr(): - - op_chr(ea, n) -> bool - - - set op type to 'char_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_custfmt(): - - 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) - - -ida_bytes.op_dec(): - - op_dec(ea, n) -> bool - - - set op type to 'dec_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_enum(): - - op_enum(ea, n, id, serial) -> bool - - - Set operand representation to be 'enum_t'. If applied to unexplored - bytes, converts them to 16/32bit word data - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @param id: id of enum (C++: enum_t) - @param serial: 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 (C++: uchar) - @return: success - - -ida_bytes.op_flt(): - - op_flt(ea, n) -> bool - - - set op type to 'flt_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_hex(): - - op_hex(ea, n) -> bool - - - set op type to 'hex_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_num(): - - op_num(ea, n) -> bool - - - set op type to 'num_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_oct(): - - op_oct(ea, n) -> bool - - - set op type to 'oct_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.op_seg(): - - 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: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: success - - -ida_bytes.op_stkvar(): - - 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: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: success - - -ida_bytes.op_stroff(): - - op_stroff(insn, n, path, path_len, delta) -> bool - - - Set operand representation to be 'struct offset'. If applied to - unexplored bytes, converts them to 16/32bit word data - - @param insn: the instruction (C++: const insn_t &) - @param n: number of operand (0, 1, -1) (C++: int) - @param path: structure path (strpath). see nalt.hpp for more info. - (C++: const tid_t *) - @param path_len: length of the structure path (C++: int) - @param delta: struct offset delta. usually 0. denotes the difference - between the structure base and the pointer into the - structure. (C++: adiff_t) - @return: success - - Example: - Python> - Python> ins = ida_ua.insn_t() - Python> if ida_ua.decode_insn(ins, some_address): - Python> path_len = 1 - Python> path = ida_pro.tid_array(path_len) - Python> path[0] = ida_struct.get_struc_id("my_stucture_t") - Python> ida_bytes.op_stroff(ins, 0, path.cast(), path_len, 0) - Python> - - -ida_bytes.oword_flag(): - - oword_flag() -> flags_t - - - Get a flags_t representing a octaword. - - -ida_bytes.packreal_flag(): - - packreal_flag() -> flags_t - - - Get a flags_t representing a packed decimal real. - - -ida_bytes.patch_byte(): - - 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. - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -ida_bytes.patch_bytes(): - - 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: linear address (C++: ea_t) - @param buf: buffer with new values of bytes (C++: const void *) - - -ida_bytes.patch_dword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -ida_bytes.patch_qword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -ida_bytes.patch_word(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -ida_bytes.prev_addr(): - - prev_addr(ea) -> ea_t - - - Get previous address in the program. - - @param ea (C++: ea_t) - @return: BADADDR if no such address exist. - - -ida_bytes.prev_chunk(): - - 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. - - -ida_bytes.prev_head(): - - prev_head(ea, minea) -> ea_t - - - Get start of previous defined item. - - @param ea: begin search at this address (C++: ea_t) - @param minea: included in the search range (C++: ea_t) - @return: BADADDR if none exists. - - -ida_bytes.prev_inited(): - - prev_inited(ea, minea) -> ea_t - - - Find the previous initialized address. - - - @param ea (C++: ea_t) - @param minea (C++: ea_t) - - -ida_bytes.prev_not_tail(): - - prev_not_tail(ea) -> ea_t - - - Get address of previous non-tail byte. - - @param ea (C++: ea_t) - @return: BADADDR if none exists. - - -ida_bytes.prev_that(): - - prev_that(ea, minea, callable) -> ea_t - - - Find previous address with a flag satisfying the function 'testf'.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: start searching from this address - 1. (C++: ea_t) - @param minea: included in the search range. (C++: ea_t) - @return: the found address or BADADDR . - - -ida_bytes.prev_unknown(): - - 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) - - -ida_bytes.print_strlit_type(): - - 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: the string type (C++: int32) - @param flags: or'ed PSTF_* constants (C++: int) - @return: length of generated text - - -ida_bytes.put_byte(): - - 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.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: linear address (C++: ea_t) - @param x: byte value (C++: uint64) - @return: true if the database has been modified - - -ida_bytes.put_bytes(): - - 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: linear address (C++: ea_t) - @param buf: buffer with new values of bytes (C++: const void *) - - -ida_bytes.put_dword(): - - put_dword(ea, x) - - - Set value of one dword of the program. This function takes into - account order of bytes specified in \inf{is_be()} This function works - for wide byte processors too.the original value of the dword is - completely lost and can't be recovered by the 'get_original_dword()' - function. - - @param ea: linear address (C++: ea_t) - @param x: dword value (C++: uint64) - - -ida_bytes.put_qword(): - - put_qword(ea, x) - - - Set value of one qword (8 bytes) of the program. This function takes - into account order of bytes specified in \inf{is_be()} This function - DOESN'T works for wide byte processors. - - @param ea: linear address (C++: ea_t) - @param x: qword value (C++: uint64) - - -ida_bytes.put_word(): - - put_word(ea, x) - - - Set value of one word of the program. This function takes into account - order of bytes specified in \inf{is_be()} This function works for wide - byte processors too.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) - - -ida_bytes.qword_flag(): - - qword_flag() -> flags_t - - - Get a flags_t representing a quad word. - - -ida_bytes.register_custom_data_format(): - - register_custom_data_format(py_df) -> int - - - Registers a custom data format with a given data type. - @param df: an instance of data_format_t - @return: - < 0 if failed to register - > 0 data format id - - -ida_bytes.register_custom_data_type(): - - register_custom_data_type(py_dt) -> int - - - Registers a custom data type. - @param dt: an instance of the data_type_t class - @return: - < 0 if failed to register - > 0 data type id - - -ida_bytes.register_data_types_and_formats(): - - 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 - - -ida_bytes.revert_byte(): - - revert_byte(ea) -> bool - - - Revert patched byte - - @param ea (C++: ea_t) - - -ida_bytes.seg_flag(): - - seg_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.set_cmt(): - - set_cmt(ea, comm, rptble) -> bool - - - Set an indented comment. - - @param ea: linear address (C++: ea_t) - @param comm: comment string NULL: do nothing (return 0) "" : - delete comment (C++: const char *) - @param rptble: is repeatable? (C++: bool) - @return: success - - -ida_bytes.set_forced_operand(): - - set_forced_operand(ea, n, op) -> bool - - - Set forced operand. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, 2) (C++: int) - @param op: text of operand NULL: do nothing (return 0) "" : delete - forced operand (C++: const char *) - @return: success - - -ida_bytes.set_immd(): - - 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) - - -ida_bytes.set_lzero(): - - set_lzero(ea, n) -> bool - - - Set toggle lzero bit. - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.set_manual_insn(): - - set_manual_insn(ea, manual_insn) - - - Set manual instruction string. - - @param ea: linear address of the instruction or data item (C++: ea_t) - @param manual_insn: "" - delete manual string. NULL - do nothing (C++: - const char *) - - -ida_bytes.set_op_type(): - - set_op_type(ea, type, n) -> bool - - - (internal function) change representation of operand(s). - - @param ea: linear address (C++: ea_t) - @param type: new flag value (should be obtained from char_flag() , - num_flag() and similar functions) (C++: flags_t) - @param n: number of operand (0, 1, -1) (C++: int) - - -ida_bytes.set_opinfo(): - - 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: linear address of the item (C++: ea_t) - @param n: number of operand, 0 or 1 (C++: int) - @param flag: flags of the item (C++: flags_t) - @param ti: additional representation information (C++: const opinfo_t - *) - @param suppress_events: do not generate changing_op_type and - op_type_changed events (C++: bool) - @return: success - - -ida_bytes.stkvar_flag(): - - stkvar_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.strlit_flag(): - - strlit_flag() -> flags_t - - - Get a flags_t representing a string literal. - - -ida_bytes.stroff_flag(): - - stroff_flag() -> flags_t - - - see 'Bits: instruction operand types' - - -ida_bytes.stru_flag(): - - stru_flag() -> flags_t - - - Get a flags_t representing a struct. - - -ida_bytes.tbyte_flag(): - - tbyte_flag() -> flags_t - - - Get a flags_t representing a tbyte. - - -ida_bytes.toggle_bnot(): - - toggle_bnot(ea, n) -> bool - - - Toggle binary negation of operand. also see 'is_bnot()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -ida_bytes.toggle_lzero(): - - toggle_lzero(ea, n) -> bool - - -ida_bytes.toggle_sign(): - - 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) - - -ida_bytes.unregister_custom_data_format(): - - unregister_custom_data_format(dfid) -> bool - - - Unregisters a custom data format - @param dfid: data format id - @return: Boolean - - -ida_bytes.unregister_custom_data_type(): - - unregister_custom_data_type(dtid) -> bool - - - Unregisters a custom data type. - @param dtid: the data type id - @return: Boolean - - -ida_bytes.unregister_data_types_and_formats(): - - As opposed to register_data_types_and_formats(), this function - unregisters multiple data types and formats at once. - - -ida_bytes.update_hidden_range(): - - update_hidden_range(ha) -> bool - - - Update hidden range information in the database. You cannot use this - function to change the range boundaries - - @param ha: range to update (C++: const hidden_range_t *) - @return: success - - -ida_bytes.use_mapping(): - - use_mapping(ea) -> ea_t - - - Translate address according to current mappings. - - @param ea: address to translate (C++: ea_t) - @return: translated address - - -ida_bytes.visit_patched_bytes(): - - 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 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. - - -ida_bytes.word_flag(): - - word_flag() -> flags_t - - - Get a flags_t representing a word. - - -ida_bytes.yword_flag(): - - yword_flag() -> flags_t - - - Get a flags_t representing a ymm word. - - -ida_bytes.zword_flag(): - - zword_flag() -> flags_t - - - Get a flags_t representing a zmm word. - - - -=== ida_bytes EPYDOC INJECTIONS === -ida_bytes.ALOPT_IGNCLT -""" -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.) -""" - -ida_bytes.ALOPT_IGNHEADS -""" -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 -""" - -ida_bytes.ALOPT_IGNPRINT -""" -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)) -""" - -ida_bytes.ALOPT_MAX4K -""" -accumulated length - -if string length is more than 4K, return the -""" - -ida_bytes.BIN_SEARCH_BACKWARD -""" -search backward for bytes -""" - -ida_bytes.BIN_SEARCH_CASE -""" -case sensitive -""" - -ida_bytes.BIN_SEARCH_FORWARD -""" -search forward for bytes -""" - -ida_bytes.BIN_SEARCH_INITED -""" -find_byte, find_byter: any initilized value -""" - -ida_bytes.BIN_SEARCH_NOBREAK -""" -don't check for Ctrl-Break -""" - -ida_bytes.BIN_SEARCH_NOCASE -""" -case insensitive -""" - -ida_bytes.BIN_SEARCH_NOSHOW -""" -don't show search progress or update screen -""" - -ida_bytes.DELIT_DELNAMES -""" -delete any names at the specified address range (except for the -starting address). this bit is valid if nbytes > 1 -""" - -ida_bytes.DELIT_EXPAND -""" -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. -""" - -ida_bytes.DELIT_KEEPFUNC -""" -Just delete xrefs, ops e.t.c. - -do not undefine the function start. -""" - -ida_bytes.DELIT_NOCMT -""" -reject to delete if a comment is in address range (except for the -starting address). this bit is valid if nbytes > 1 -""" - -ida_bytes.DELIT_NOTRUNC -""" -even if 'AF_TRFUNC' is set - -don't truncate the current function -""" - -ida_bytes.DELIT_NOUNAME -""" -reject to delete if a user name is in address range (except for the -starting address). this bit is valid if nbytes > 1 -""" - -ida_bytes.DELIT_SIMPLE -""" -simply undefine the specified item(s) -""" - -ida_bytes.DTP_NODUP -""" -do not use dup construct -""" - -ida_bytes.DT_TYPE -""" -Mask for DATA typing. -""" - -ida_bytes.FF_0CHAR -""" -Char ('x')? -""" - -ida_bytes.FF_0CUST -""" -Custom representation? -""" - -ida_bytes.FF_0ENUM -""" -Enumeration? -""" - -ida_bytes.FF_0FLT -""" -Floating point number? -""" - -ida_bytes.FF_0FOP -""" -Forced operand? -""" - -ida_bytes.FF_0NUMB -""" -Binary number? -""" - -ida_bytes.FF_0NUMD -""" -Decimal number? -""" - -ida_bytes.FF_0NUMH -""" -Hexadecimal number? -""" - -ida_bytes.FF_0NUMO -""" -Octal number? -""" - -ida_bytes.FF_0OFF -""" -Offset? -""" - -ida_bytes.FF_0SEG -""" -Segment? -""" - -ida_bytes.FF_0STK -""" -Stack variable? -""" - -ida_bytes.FF_0STRO -""" -Struct offset? -""" - -ida_bytes.FF_0VOID -""" -Void (unknown)? -""" - -ida_bytes.FF_1CHAR -""" -Char ('x')? -""" - -ida_bytes.FF_1CUST -""" -Custom representation? -""" - -ida_bytes.FF_1ENUM -""" -Enumeration? -""" - -ida_bytes.FF_1FLT -""" -Floating point number? -""" - -ida_bytes.FF_1FOP -""" -Forced operand? -""" - -ida_bytes.FF_1NUMB -""" -Binary number? -""" - -ida_bytes.FF_1NUMD -""" -Decimal number? -""" - -ida_bytes.FF_1NUMH -""" -Hexadecimal number? -""" - -ida_bytes.FF_1NUMO -""" -Octal number? -""" - -ida_bytes.FF_1OFF -""" -Offset? -""" - -ida_bytes.FF_1SEG -""" -Segment? -""" - -ida_bytes.FF_1STK -""" -Stack variable? -""" - -ida_bytes.FF_1STRO -""" -Struct offset? -""" - -ida_bytes.FF_1VOID -""" -Void (unknown)? -""" - -ida_bytes.FF_ALIGN -""" -alignment directive -""" - -ida_bytes.FF_BNOT -""" -Bitwise negation of operands. -""" - -ida_bytes.FF_BYTE -""" -byte -""" - -ida_bytes.FF_CODE -""" -Code ? -""" - -ida_bytes.FF_COMM -""" -Has comment ? -""" - -ida_bytes.FF_CUSTOM -""" -custom data type -""" - -ida_bytes.FF_DATA -""" -Data ? -""" - -ida_bytes.FF_DOUBLE -""" -double -""" - -ida_bytes.FF_DWORD -""" -double word -""" - -ida_bytes.FF_FLOAT -""" -float -""" - -ida_bytes.FF_FLOW -""" -Exec flow from prev instruction. -""" - -ida_bytes.FF_FUNC -""" -function start? -""" - -ida_bytes.FF_IMMD -""" -Has Immediate value ? -""" - -ida_bytes.FF_IVL -""" -Byte has value ? -""" - -ida_bytes.FF_JUMP -""" -Has jump table or switch_info? -""" - -ida_bytes.FF_LABL -""" -Has dummy name? -""" - -ida_bytes.FF_LINE -""" -Has next or prev lines ? -""" - -ida_bytes.FF_NAME -""" -Has name ? -""" - -ida_bytes.FF_OWORD -""" -octaword/xmm word (16 bytes/128 bits) -""" - -ida_bytes.FF_PACKREAL -""" -packed decimal real -""" - -ida_bytes.FF_QWORD -""" -quadro word -""" - -ida_bytes.FF_REF -""" -has references -""" - -ida_bytes.FF_SIGN -""" -Inverted sign of operands. -""" - -ida_bytes.FF_STRLIT -""" -string literal -""" - -ida_bytes.FF_STRUCT -""" -struct variable -""" - -ida_bytes.FF_TAIL -""" -Tail ? -""" - -ida_bytes.FF_TBYTE -""" -tbyte -""" - -ida_bytes.FF_UNK -""" -Unknown ? -""" - -ida_bytes.FF_UNUSED -""" -unused bit (was used for variable bytes) -""" - -ida_bytes.FF_WORD -""" -word -""" - -ida_bytes.FF_YWORD -""" -ymm word (32 bytes/256 bits) -""" - -ida_bytes.FF_ZWORD -""" -zmm word (64 bytes/512 bits) -""" - -ida_bytes.GFE_VALUE -""" -get flags with 'FF_IVL' & 'MS_VAL' . It is much slower under remote -debugging because the kernel needs to read the process memory. -""" - -ida_bytes.GMB_READALL -""" -if this bit is not set, fail at first uninited byte - -try to read all bytes -""" - -ida_bytes.GMB_WAITBOX -""" -show wait box (may return -1 in this case) -""" - -ida_bytes.ITEM_END_FIXUP -""" -stop at the first fixup -""" - -ida_bytes.ITEM_END_INITED -""" -stop when initialization changes i.e.if is_loaded(ea): stop if -uninitialized byte is encounteredif !is_loaded(ea): stop if -initialized byte is encountered -""" - -ida_bytes.ITEM_END_NAME -""" -stop at the first named location -""" - -ida_bytes.ITEM_END_XREF -""" -stop at the first referenced location -""" - -ida_bytes.MS_0TYPE -""" -Mask for 1st arg typing. -""" - -ida_bytes.MS_1TYPE -""" -Mask for the type of other operands. -""" - -ida_bytes.MS_CLS -""" -Mask for typing. -""" - -ida_bytes.MS_CODE -""" -Mask for code bits. -""" - -ida_bytes.MS_COMM -""" -Mask of common bits. -""" - -ida_bytes.MS_VAL -""" -Mask for byte value. -""" - -ida_bytes.OPND_ALL -""" -all operands -""" - -ida_bytes.OPND_MASK -""" -mask for operand number -""" - -ida_bytes.OPND_OUTER -""" -used only in set, get, del_offset() functions - -outer offset base (combined with operand number). -""" - -ida_bytes.PSTF_ENC -""" -if encoding is specified, append it -""" - -ida_bytes.PSTF_HOTKEY -""" -have hotkey markers part of the name -""" - -ida_bytes.PSTF_TBRIEF -""" -use brief name (e.g., in the 'Strings window') -""" - -ida_bytes.PSTF_TINLIN -""" -use 'inline' name (e.g., in the structures comments) -""" - -ida_bytes.PSTF_TMASK -""" -type mask -""" - -ida_bytes.PSTF_TNORM -""" -use normal name -""" - -ida_bytes.STRCONV_ESCAPE -""" -convert non-printable characters to C escapes (, \\xNN, \\uNNNN) -""" - -ida_bytes.STRCONV_INCLLEN -""" -for Pascal-style strings, include the prefixing length byte(s) as -C-escaped sequence -""" - -ida_bytes.STRCONV_REPLCHAR -""" -convert non-printable characters to the Unicode replacement character -(U+FFFD) -""" -=== ida_bytes EPYDOC INJECTIONS END === -class ida_dbg.DBG_Hooks(): - - Proxy of C++ DBG_Hooks class - - -ida_dbg.DBG_Hooks.dbg_bpt(): - - dbg_bpt(self, tid, bptea) -> int - - -ida_dbg.DBG_Hooks.dbg_bpt_changed(): - - dbg_bpt_changed(self, bptev_code, bpt) - - -ida_dbg.DBG_Hooks.dbg_exception(): - - dbg_exception(self, pid, tid, ea, exc_code, exc_can_cont, exc_ea, exc_info) -> int - - -ida_dbg.DBG_Hooks.dbg_finished_loading_bpts(): - - dbg_finished_loading_bpts(self) - - -ida_dbg.DBG_Hooks.dbg_information(): - - dbg_information(self, pid, tid, ea, info) - - -ida_dbg.DBG_Hooks.dbg_library_load(): - - dbg_library_load(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) - - -ida_dbg.DBG_Hooks.dbg_library_unload(): - - dbg_library_unload(self, pid, tid, ea, info) - - -ida_dbg.DBG_Hooks.dbg_process_attach(): - - dbg_process_attach(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) - - -ida_dbg.DBG_Hooks.dbg_process_detach(): - - dbg_process_detach(self, pid, tid, ea) - - -ida_dbg.DBG_Hooks.dbg_process_exit(): - - dbg_process_exit(self, pid, tid, ea, exit_code) - - -ida_dbg.DBG_Hooks.dbg_process_start(): - - dbg_process_start(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) - - -ida_dbg.DBG_Hooks.dbg_request_error(): - - dbg_request_error(self, failed_command, failed_dbg_notification) - - -ida_dbg.DBG_Hooks.dbg_run_to(): - - dbg_run_to(self, pid, tid, ea) - - -ida_dbg.DBG_Hooks.dbg_started_loading_bpts(): - - dbg_started_loading_bpts(self) - - -ida_dbg.DBG_Hooks.dbg_step_into(): - - dbg_step_into(self) - - -ida_dbg.DBG_Hooks.dbg_step_over(): - - dbg_step_over(self) - - -ida_dbg.DBG_Hooks.dbg_step_until_ret(): - - dbg_step_until_ret(self) - - -ida_dbg.DBG_Hooks.dbg_suspend_process(): - - dbg_suspend_process(self) - - -ida_dbg.DBG_Hooks.dbg_thread_exit(): - - dbg_thread_exit(self, pid, tid, ea, exit_code) - - -ida_dbg.DBG_Hooks.dbg_thread_start(): - - dbg_thread_start(self, pid, tid, ea) - - -ida_dbg.DBG_Hooks.dbg_trace(): - - dbg_trace(self, tid, ip) -> int - - -ida_dbg.DBG_Hooks.hook(): - - hook(self) -> bool - - -ida_dbg.DBG_Hooks.unhook(): - - unhook(self) -> bool - - -ida_dbg.add_bpt(): - - add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool - add_bpt(bpt) -> bool - - - Add a new breakpoint in the debugged process. \sq{Type, Synchronous - function - available as request, Notification, none (synchronous - function)}Only one breakpoint can exist at a given address. - - @param ea: any address in the process memory space. Depending on the - architecture, hardware breakpoints always be setup at - random address. For example, on x86, hardware breakpoints - should be aligned depending on their size. Moreover, on the - x86 architecture, it is impossible to setup more than 4 - hardware breakpoints. (C++: ea_t) - @param size: size of the breakpoint (irrelevant for software - breakpoints): As for the address, hardware breakpoints - can't always be setup with random size. (C++: asize_t) - @param type: type of the breakpoint ( BPT_SOFT for software - breakpoint) special case BPT_DEFAULT ( BPT_SOFT | - BPT_EXEC ): try to add instruction breakpoint of the - appropriate type as follows: software bpt if supported, - hwbpt otherwise (C++: bpttype_t) - - -ida_dbg.add_path_mapping(): - - add_path_mapping(src, dst) - - -ida_dbg.add_virt_module(): - - add_virt_module(mod) -> bool - - -ida_dbg.attach_process(): - - 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' - }This function shouldn't be called as a request if 'NO_PROCESS' is - used. - - @param pid: PID of the process to attach to. If NO_PROCESS , a dialog - box will interactively ask the user for the process to - attach to. (C++: pid_t) - @param event_id (C++: int) - - -class ida_dbg.bpt_location_t(): - - Proxy of C++ bpt_location_t class - - -ida_dbg.bpt_location_t.compare(): - - compare(self, r) -> int - - -ida_dbg.bpt_location_t.ea(): - - ea(self) -> ea_t - - -ida_dbg.bpt_location_t.index: - bpt_location_t_index_get(self) -> int - -ida_dbg.bpt_location_t.info: - bpt_location_t_info_get(self) -> ea_t - -ida_dbg.bpt_location_t.is_empty_path(): - - is_empty_path(self) -> bool - - -ida_dbg.bpt_location_t.lineno(): - - lineno(self) -> int - - -ida_dbg.bpt_location_t.loctype: - bpt_location_t_loctype_get(self) -> bpt_loctype_t - -ida_dbg.bpt_location_t.offset(): - - offset(self) -> uval_t - - -ida_dbg.bpt_location_t.path(): - - path(self) -> char const * - - -ida_dbg.bpt_location_t.set_abs_bpt(): - - set_abs_bpt(self, a) - - -ida_dbg.bpt_location_t.set_rel_bpt(): - - set_rel_bpt(self, mod, _offset) - - -ida_dbg.bpt_location_t.set_src_bpt(): - - set_src_bpt(self, fn, _lineno) - - -ida_dbg.bpt_location_t.set_sym_bpt(): - - set_sym_bpt(self, _symbol, _offset=0) - - -ida_dbg.bpt_location_t.symbol(): - - symbol(self) -> char const * - - -ida_dbg.bpt_location_t.type(): - - type(self) -> bpt_loctype_t - - -class ida_dbg.bpt_t(): - - Proxy of C++ bpt_t class - - -ida_dbg.bpt_t.badbpt(): - - badbpt(self) -> bool - - -ida_dbg.bpt_t.cb: - bpt_t_cb_get(self) -> size_t - -ida_dbg.bpt_t.cndidx: - bpt_t_cndidx_get(self) -> int - -ida_dbg.bpt_t.condition: - bpt_t_condition_get(self) -> PyObject * - -ida_dbg.bpt_t.ea: - bpt_t_ea_get(self) -> ea_t - -ida_dbg.bpt_t.elang: - bpt_t_elang_get(self) -> PyObject * - -ida_dbg.bpt_t.enabled(): - - enabled(self) -> bool - - -ida_dbg.bpt_t.flags: - bpt_t_flags_get(self) -> uint32 - -ida_dbg.bpt_t.get_cnd_elang_idx(): - - get_cnd_elang_idx(self) -> size_t - - -ida_dbg.bpt_t.get_size(): - - get_size(self) -> int - - -ida_dbg.bpt_t.is_absbpt(): - - is_absbpt(self) -> bool - - -ida_dbg.bpt_t.is_active(): - - is_active(self) -> bool - - -ida_dbg.bpt_t.is_compiled(): - - is_compiled(self) -> bool - - -ida_dbg.bpt_t.is_hwbpt(): - - is_hwbpt(self) -> bool - - -ida_dbg.bpt_t.is_inactive(): - - is_inactive(self) -> bool - - -ida_dbg.bpt_t.is_low_level(): - - is_low_level(self) -> bool - - -ida_dbg.bpt_t.is_page_bpt(): - - is_page_bpt(self) -> bool - - -ida_dbg.bpt_t.is_partially_active(): - - is_partially_active(self) -> bool - - -ida_dbg.bpt_t.is_relbpt(): - - is_relbpt(self) -> bool - - -ida_dbg.bpt_t.is_srcbpt(): - - is_srcbpt(self) -> bool - - -ida_dbg.bpt_t.is_symbpt(): - - is_symbpt(self) -> bool - - -ida_dbg.bpt_t.is_tracemodebpt(): - - is_tracemodebpt(self) -> bool - - -ida_dbg.bpt_t.is_traceoffbpt(): - - is_traceoffbpt(self) -> bool - - -ida_dbg.bpt_t.is_traceonbpt(): - - is_traceonbpt(self) -> bool - - -ida_dbg.bpt_t.listbpt(): - - listbpt(self) -> bool - - -ida_dbg.bpt_t.loc: - bpt_t_loc_get(self) -> bpt_location_t - -ida_dbg.bpt_t.pass_count: - bpt_t_pass_count_get(self) -> int - -ida_dbg.bpt_t.pid: - bpt_t_pid_get(self) -> pid_t - -ida_dbg.bpt_t.props: - bpt_t_props_get(self) -> uint32 - -ida_dbg.bpt_t.set_abs_bpt(): - - set_abs_bpt(self, a) - - -ida_dbg.bpt_t.set_rel_bpt(): - - set_rel_bpt(self, mod, o) - - -ida_dbg.bpt_t.set_src_bpt(): - - set_src_bpt(self, fn, lineno) - - -ida_dbg.bpt_t.set_sym_bpt(): - - set_sym_bpt(self, sym, o) - - -ida_dbg.bpt_t.set_trace_action(): - - set_trace_action(self, enable, trace_types) -> bool - - -ida_dbg.bpt_t.size: - bpt_t_size_get(self) -> int - -ida_dbg.bpt_t.tid: - bpt_t_tid_get(self) -> thid_t - -ida_dbg.bpt_t.type: - bpt_t_type_get(self) -> bpttype_t - -class ida_dbg.bpt_vec_t(): - - Proxy of C++ qvector<(bpt_t)> class - - -ida_dbg.bpt_vec_t.at(): - - at(self, _idx) -> bpt_t - - -ida_dbg.bpt_vec_t.begin(): - - begin(self) -> bpt_t - begin(self) -> bpt_t - - -ida_dbg.bpt_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_dbg.bpt_vec_t.clear(): - - clear(self) - - -ida_dbg.bpt_vec_t.empty(): - - empty(self) -> bool - - -ida_dbg.bpt_vec_t.end(): - - end(self) -> bpt_t - end(self) -> bpt_t - - -ida_dbg.bpt_vec_t.erase(): - - erase(self, it) -> bpt_t - erase(self, first, last) -> bpt_t - - -ida_dbg.bpt_vec_t.extract(): - - extract(self) -> bpt_t - - -ida_dbg.bpt_vec_t.grow(): - - grow(self, x=bpt_t()) - - -ida_dbg.bpt_vec_t.inject(): - - inject(self, s, len) - - -ida_dbg.bpt_vec_t.insert(): - - insert(self, it, x) -> bpt_t - - -ida_dbg.bpt_vec_t.pop_back(): - - pop_back(self) - - -ida_dbg.bpt_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> bpt_t - - -ida_dbg.bpt_vec_t.qclear(): - - qclear(self) - - -ida_dbg.bpt_vec_t.reserve(): - - reserve(self, cnt) - - -ida_dbg.bpt_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_dbg.bpt_vec_t.size(): - - size(self) -> size_t - - -ida_dbg.bpt_vec_t.swap(): - - swap(self, r) - - -ida_dbg.bpt_vec_t.truncate(): - - truncate(self) - - -ida_dbg.bring_debugger_to_front(): - - bring_debugger_to_front() - - -ida_dbg.check_bpt(): - - check_bpt(ea) -> int - - - Check the breakpoint at the specified address. - - @param ea (C++: ea_t) - @return: one of Breakpoint status codes - - -ida_dbg.choose_trace_file(): - - choose_trace_file() -> bool - - - Show the choose trace dialog. - - -ida_dbg.clear_requests_queue(): - - clear_requests_queue() - - - Clear the queue of waiting requests. \sq{Type, Synchronous function, - Notification, none (synchronous function)}If a request is currently - running, this one isn't stopped. - - -ida_dbg.clear_trace(): - - clear_trace() - - - Clear all events in the trace buffer. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - -ida_dbg.collect_stack_trace(): - - collect_stack_trace(tid, trace) -> bool - - -ida_dbg.continue_process(): - - continue_process() -> bool - - - Continue the execution of the process in the debugger. \sq{Type, - Synchronous function - available as Request, Notification, none - (synchronous function)}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. - - -ida_dbg.create_source_viewer(): - - 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) - - -ida_dbg.dbg_add_bpt_tev(): - - 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 - - -ida_dbg.dbg_add_call_tev(): - - 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) - - -ida_dbg.dbg_add_debug_event(): - - 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 *) - - -ida_dbg.dbg_add_insn_tev(): - - 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) - @return: false if the operation failed, true otherwise - - -ida_dbg.dbg_add_many_tevs(): - - 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 - - -ida_dbg.dbg_add_ret_tev(): - - 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) - - -ida_dbg.dbg_add_tev(): - - 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) - @param tid (C++: thid_t) - @param address (C++: ea_t) - - -ida_dbg.dbg_add_thread(): - - dbg_add_thread(tid) - - - Add a thread to the current trace. \sq{Type, Synchronous function, - Notification, none (synchronous function)} - - @param tid (C++: thid_t) - - -ida_dbg.dbg_bin_search(): - - dbg_bin_search(start_ea, end_ea, data, srch_flags) -> drc_t - - -ida_dbg.dbg_can_query(): - - 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 - - -ida_dbg.dbg_del_thread(): - - dbg_del_thread(tid) - - - Delete a thread from the current trace. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param tid (C++: thid_t) - - -ida_dbg.dbg_is_loaded(): - - dbg_is_loaded() -> bool - - - Checks if a debugger is loaded - @return: Boolean - - -ida_dbg.define_exception(): - - define_exception(code, name, desc, flags) -> char const * - - - Convenience function: define new exception code. - - @param code: exception code (cannot be 0) (C++: uint) - @param name: exception name (cannot be empty or NULL) (C++: const char - *) - @param desc: exception description (maybe NULL) (C++: const char *) - @param flags: combination of Exception info flags (C++: int) - @return: failure message or NULL. You must call store_exceptions() - if this function succeeds - - -ida_dbg.del_bpt(): - - del_bpt(ea) -> bool - del_bpt(bptloc) -> bool - - - Delete an existing breakpoint in the debugged process. \sq{Type, - Synchronous function - available as request, Notification, none - (synchronous function)} - - @param ea: any address in the breakpoint range (C++: ea_t) - - -ida_dbg.del_bptgrp(): - - del_bptgrp(name) -> bool - - -ida_dbg.del_virt_module(): - - del_virt_module(base) -> bool - - -ida_dbg.detach_process(): - - detach_process() -> bool - - - Detach the debugger from the debugged process. \sq{Type, Asynchronous - function - available as Request, Notification, 'dbg_process_detach' } - - -ida_dbg.diff_trace_file(): - - diff_trace_file(nonnul_filename) -> bool - - - Show difference between the current trace and the one from 'filename'. - - -ida_dbg.disable_bblk_trace(): - - disable_bblk_trace() -> bool - - -ida_dbg.disable_bpt(): - - disable_bpt(ea) -> bool - disable_bpt(bptloc) -> bool - - -ida_dbg.disable_func_trace(): - - disable_func_trace() -> bool - - -ida_dbg.disable_insn_trace(): - - disable_insn_trace() -> bool - - -ida_dbg.disable_step_trace(): - - disable_step_trace() -> bool - - -ida_dbg.edit_manual_regions(): - - edit_manual_regions() - - -ida_dbg.enable_bblk_trace(): - - enable_bblk_trace(enable=True) -> bool - - -ida_dbg.enable_bpt(): - - enable_bpt(ea, enable=True) -> bool - enable_bpt(bptloc, enable=True) -> bool - - -ida_dbg.enable_func_trace(): - - enable_func_trace(enable=True) -> bool - - -ida_dbg.enable_insn_trace(): - - enable_insn_trace(enable=True) -> bool - - -ida_dbg.enable_manual_regions(): - - enable_manual_regions(enable) - - -ida_dbg.enable_step_trace(): - - enable_step_trace(enable=True) -> bool - - -class ida_dbg.eval_ctx_t(): - - Proxy of C++ eval_ctx_t class - - -ida_dbg.eval_ctx_t.ea: - eval_ctx_t_ea_get(self) -> ea_t - -ida_dbg.exist_bpt(): - - exist_bpt(ea) -> bool - - - Does a breakpoint exist at the given location? - - - @param ea (C++: ea_t) - - -ida_dbg.exit_process(): - - exit_process() -> bool - - - Terminate the debugging of the current process. \sq{Type, Asynchronous - function - available as Request, Notification, 'dbg_process_exit' } - - -ida_dbg.find_bpt(): - - find_bpt(bptloc, bpt) -> bool - - - Find a breakpoint by location. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - @param bptloc: Breakpoint location (C++: const bpt_location_t &) - @param bpt: bpt is filled if the breakpoint was found (C++: bpt_t *) - - -ida_dbg.get_bblk_trace_options(): - - get_bblk_trace_options() -> int - - - Get current basic block tracing options. Also see 'BT_LOG_INSTS' - \sq{Type, Synchronous function, Notification, none (synchronous - function)} - - -ida_dbg.get_bpt(): - - get_bpt(ea, bpt) -> bool - - - Get the characteristics of a breakpoint. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param ea: any address in the breakpoint range (C++: ea_t) - @param bpt: if not NULL, is filled with the characteristics. (C++: - bpt_t *) - @return: false if no breakpoint exists - - -ida_dbg.get_bpt_group(): - - get_bpt_group(bptloc) -> bool - - -ida_dbg.get_bpt_qty(): - - get_bpt_qty() -> int - - - Get number of breakpoints. \sq{Type, Synchronous function, - Notification, none (synchronous function)} - - -ida_dbg.get_bpt_tev_ea(): - - 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)}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. - - @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a read, read/write or execution trace event. - - -ida_dbg.get_bptloc_string(): - - get_bptloc_string(i) -> char const * - - - Helper function for 'bpt_location_t' . - - - @param i (C++: int) - - -ida_dbg.get_call_tev_callee(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a function call event. - - -ida_dbg.get_current_source_file(): - - get_current_source_file(path) -> bool - - -ida_dbg.get_current_source_line(): - - get_current_source_line() -> int - - -ida_dbg.get_current_thread(): - - get_current_thread() -> thid_t - - - Get current thread ID. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - -ida_dbg.get_dbg_byte(): - - get_dbg_byte(x, ea) -> bool - - - Get one byte of the debugged process memory. - - @param x: pointer to byte value (C++: uint32 *) - @param ea: linear address (C++: ea_t) - @return: true success - - -ida_dbg.get_dbg_memory_info(): - - get_dbg_memory_info(ranges) -> int - - -ida_dbg.get_dbg_reg_info(): - - get_dbg_reg_info(regname, ri) -> bool - - - Get register information \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - @param regname (C++: const char *) - @param ri (C++: register_info_t *) - - -ida_dbg.get_debug_event(): - - get_debug_event() -> debug_event_t - - - Get the current debugger event. - - -ida_dbg.get_debugger_event_cond(): - - get_debugger_event_cond() -> char const * - - -ida_dbg.get_first_module(): - - get_first_module(modinfo) -> bool - - -ida_dbg.get_func_trace_options(): - - get_func_trace_options() -> int - - - Get current function tracing options. Also see 'FT_LOG_RET' \sq{Type, - Synchronous function, Notification, none (synchronous function)} - - -ida_dbg.get_global_var(): - - get_global_var(prov, ea, name, out) -> bool - - -ida_dbg.get_grp_bpts(): - - get_grp_bpts(bpts, grp_name) -> ssize_t - - -ida_dbg.get_insn_tev_reg_mem(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param memmap: result (C++: memreg_infos_t *) - @return: false if not an instruction event or no memory is available - - -ida_dbg.get_insn_tev_reg_result(): - - get_insn_tev_reg_result(n, regname, regval) -> bool - - - Read the resulting register value from an instruction trace event. - \sq{Type, Synchronous function, Notification, none (synchronous - function)} - - @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param regname: name of desired register (C++: const char *) - @param regval: result (C++: regval_t *) - @return: false if not an instruction trace event or register wasn't - modified. - - -ida_dbg.get_insn_tev_reg_val(): - - get_insn_tev_reg_val(n, regname, regval) -> bool - - - Read a register value from an instruction trace event. \sq{Type, - Synchronous function, Notification, none (synchronous function)}This - is the value of the register before the execution of the instruction. - - @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param regname: name of desired register (C++: const char *) - @param regval: result (C++: regval_t *) - @return: false if not an instruction event. - - -ida_dbg.get_insn_trace_options(): - - get_insn_trace_options() -> int - - - Get current instruction tracing options. Also see 'IT_LOG_SAME_IP' - \sq{Type, Synchronous function, Notification, none (synchronous - function)} - - -ida_dbg.get_ip_val(): - - get_ip_val() -> bool - - - Get value of the IP (program counter) register for the current thread. - Requires a suspended debugger. - - -ida_dbg.get_local_var(): - - get_local_var(prov, ea, name, out) -> bool - - -ida_dbg.get_local_vars(): - - get_local_vars(prov, ea, out) -> bool - - -ida_dbg.get_manual_regions(): - - get_manual_regions(ranges) - get_manual_regions() -> PyObject * - - - Returns the manual memory regions - @return: list(start_ea, end_ea, name, sclass, sbase, bitness, perm) - - -ida_dbg.get_module_info(): - - get_module_info(ea, modinfo) -> bool - - -ida_dbg.get_next_module(): - - get_next_module(modinfo) -> bool - - -ida_dbg.get_process_options(): - - get_process_options(path, args, sdir, host, _pass, port) - - - Get process options. Any of the arguments may be NULL - - @param path (C++: qstring *) - @param args (C++: qstring *) - @param sdir (C++: qstring *) - @param host (C++: qstring *) - @param port (C++: int *) - - -ida_dbg.get_process_state(): - - 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 - - -ida_dbg.get_processes(): - - 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 *) - @return: number of processes or -1 on error - - -ida_dbg.get_reg_val(): - - get_reg_val(regname, regval) -> bool - get_reg_val(regname, ival) -> bool - get_reg_val(regname) -> PyObject * - - - Read a register value from the current thread. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param regname (C++: const char *) - @param regval (C++: regval_t *) - - -ida_dbg.get_reg_vals(): - - get_reg_vals(tid, clsmask, values) -> int - - -ida_dbg.get_ret_tev_return(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a function return event. - - -ida_dbg.get_running_notification(): - - 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 - - -ida_dbg.get_running_request(): - - 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 - - -ida_dbg.get_sp_val(): - - get_sp_val() -> bool - - - Get value of the SP register for the current thread. Requires a - suspended debugger. - - -ida_dbg.get_srcinfo_provider(): - - get_srcinfo_provider(name) -> srcinfo_provider_t * - - -ida_dbg.get_step_trace_options(): - - get_step_trace_options() -> int - - - Get current step tracing options. \sq{Type, Synchronous function, - Notification, none (synchronous function)} - - @return: Step trace options - - -ida_dbg.get_tev_ea(): - - get_tev_ea(n) -> ea_t - - -ida_dbg.get_tev_event(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param d: result (C++: debug_event_t *) - @return: false if the tev_t object doesn't have any associated debug - event, true otherwise, with the debug event in "d". - - -ida_dbg.get_tev_info(): - - get_tev_info(n, tev_info) -> bool - - - Get main information about a trace event. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param tev_info: result (C++: tev_info_t *) - @return: success - - -ida_dbg.get_tev_memory_info(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @param mi: result (C++: meminfo_vec_t *) - @return: false if the tev_t object is not of type tev_mem , true - otherwise, with the new memory layout in "mi". - - -ida_dbg.get_tev_qty(): - - get_tev_qty() -> int - - - Get number of trace events available in trace buffer. \sq{Type, - Synchronous function, Notification, none (synchronous function)} - - -ida_dbg.get_tev_tid(): - - get_tev_tid(n) -> int - - -ida_dbg.get_tev_type(): - - get_tev_type(n) -> int - - -ida_dbg.get_thread_qty(): - - get_thread_qty() -> int - - - Get number of threads. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - -ida_dbg.get_trace_base_address(): - - 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 - - -ida_dbg.get_trace_file_desc(): - - get_trace_file_desc(filename) -> bool - - - Get the file header of the specified trace file. - - - @param filename (C++: const char *) - - -ida_dbg.get_trace_platform(): - - get_trace_platform() -> char const * - - - Get platform name of current trace. - - -ida_dbg.getn_bpt(): - - getn_bpt(n, bpt) -> bool - - - Get the characteristics of a breakpoint. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param n: number of breakpoint, is in range 0.. get_bpt_qty() -1 (C++: - int) - @param bpt: filled with the characteristics. (C++: bpt_t *) - @return: false if no breakpoint exists - - -ida_dbg.getn_thread(): - - getn_thread(n) -> thid_t - - - Get the ID of a thread. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: - int) - @return: NO_THREAD if the thread doesn't exist. - - -ida_dbg.getn_thread_name(): - - getn_thread_name(n) -> char const * - - - Get the NAME of a thread \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 - for the current thread (C++: int) - @return: thread name or NULL if the thread doesn't exist. - - -ida_dbg.graph_trace(): - - graph_trace() -> bool - - - Show the trace callgraph. - - -ida_dbg.handle_debug_event(): - - handle_debug_event(ev, rqflags) -> int - - -ida_dbg.hide_all_bpts(): - - hide_all_bpts() -> int - - -ida_dbg.internal_get_sreg_base(): - - internal_get_sreg_base(tid, sreg_value) -> ea_t - - - Get the sreg base, for the given thread. - - @return: The sreg base, or BADADDR on failure. - - -ida_dbg.internal_ioctl(): - - internal_ioctl(fn, buf, poutbuf, poutsize) -> int - - -ida_dbg.invalidate_dbg_state(): - - invalidate_dbg_state(dbginv) -> int - - - Invalidate cached debugger information. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - @param dbginv: Debugged process invalidation options (C++: int) - @return: current debugger state (one of Debugged process states ) - - -ida_dbg.invalidate_dbgmem_config(): - - 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) - - -ida_dbg.invalidate_dbgmem_contents(): - - 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) - - -ida_dbg.is_bblk_trace_enabled(): - - is_bblk_trace_enabled() -> bool - - -ida_dbg.is_debugger_busy(): - - 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 - - -ida_dbg.is_debugger_memory(): - - is_debugger_memory(ea) -> bool - - - Is the address mapped to debugger memory? - - - @param ea (C++: ea_t) - - -ida_dbg.is_debugger_on(): - - is_debugger_on() -> bool - - - Is the debugger currently running? - - -ida_dbg.is_func_trace_enabled(): - - is_func_trace_enabled() -> bool - - - Get current state of functions tracing. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - -ida_dbg.is_insn_trace_enabled(): - - is_insn_trace_enabled() -> bool - - - Get current state of instructions tracing. \sq{Type, Synchronous - function, Notification, none (synchronous function)} - - -ida_dbg.is_reg_custom(): - - 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 *) - - -ida_dbg.is_reg_float(): - - 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 *) - - -ida_dbg.is_reg_integer(): - - 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 *) - - -ida_dbg.is_request_running(): - - is_request_running() -> bool - - - Is a request currently running? - - -ida_dbg.is_step_trace_enabled(): - - is_step_trace_enabled() -> bool - - - Get current state of step tracing. \sq{Type, Synchronous function, - Notification, none (synchronous function)} - - -ida_dbg.is_valid_trace_file(): - - is_valid_trace_file(filename) -> bool - - - Is the specified file a valid trace file for the current database? - - - @param filename (C++: const char *) - - -ida_dbg.list_bptgrps(): - - list_bptgrps(bptgrps) -> size_t - list_bptgrps() -> PyObject * - - -ida_dbg.load_debugger(): - - load_debugger(dbgname, use_remote) -> bool - - -ida_dbg.load_trace_file(): - - load_trace_file(filename) -> bool - - - Load a recorded trace file in the trace 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 *) - - -class ida_dbg.memreg_info_t(): - - Proxy of C++ memreg_info_t class - - -ida_dbg.memreg_info_t.bytes: - - get_bytes(self) -> PyObject * - - -ida_dbg.memreg_info_t.ea: - memreg_info_t_ea_get(self) -> ea_t - -ida_dbg.memreg_info_t.get_bytes(): - - get_bytes(self) -> PyObject * - - -class ida_dbg.memreg_infos_t(): - - Proxy of C++ qvector<(memreg_info_t)> class - - -ida_dbg.memreg_infos_t.at(): - - at(self, _idx) -> memreg_info_t - - -ida_dbg.memreg_infos_t.begin(): - - begin(self) -> memreg_info_t - begin(self) -> memreg_info_t - - -ida_dbg.memreg_infos_t.capacity(): - - capacity(self) -> size_t - - -ida_dbg.memreg_infos_t.clear(): - - clear(self) - - -ida_dbg.memreg_infos_t.empty(): - - empty(self) -> bool - - -ida_dbg.memreg_infos_t.end(): - - end(self) -> memreg_info_t - end(self) -> memreg_info_t - - -ida_dbg.memreg_infos_t.erase(): - - erase(self, it) -> memreg_info_t - erase(self, first, last) -> memreg_info_t - - -ida_dbg.memreg_infos_t.extract(): - - extract(self) -> memreg_info_t - - -ida_dbg.memreg_infos_t.grow(): - - grow(self, x=memreg_info_t()) - - -ida_dbg.memreg_infos_t.inject(): - - inject(self, s, len) - - -ida_dbg.memreg_infos_t.insert(): - - insert(self, it, x) -> memreg_info_t - - -ida_dbg.memreg_infos_t.pop_back(): - - pop_back(self) - - -ida_dbg.memreg_infos_t.push_back(): - - push_back(self, x) - push_back(self) -> memreg_info_t - - -ida_dbg.memreg_infos_t.qclear(): - - qclear(self) - - -ida_dbg.memreg_infos_t.reserve(): - - reserve(self, cnt) - - -ida_dbg.memreg_infos_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_dbg.memreg_infos_t.size(): - - size(self) -> size_t - - -ida_dbg.memreg_infos_t.swap(): - - swap(self, r) - - -ida_dbg.memreg_infos_t.truncate(): - - truncate(self) - - -ida_dbg.move_bpt_to_grp(): - - move_bpt_to_grp(bpt, grp_name) - - - Sets new group for the breakpoint - - -ida_dbg.put_dbg_byte(): - - put_dbg_byte(ea, x) -> bool - - - Change one byte of the debugged process memory. - - @param ea: linear address (C++: ea_t) - @param x: byte value (C++: uint32) - @return: true if the process memory has been modified - - -ida_dbg.read_dbg_memory(): - - read_dbg_memory(ea, buffer, size) -> ssize_t - - -ida_dbg.refresh_debugger_memory(): - - refresh_debugger_memory() -> PyObject * - - - Refreshes the debugger memory - @return: Nothing - - -ida_dbg.rename_bptgrp(): - - rename_bptgrp(old_name, new_name) -> bool - - -ida_dbg.request_add_bpt(): - - request_add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool - request_add_bpt(bpt) -> bool - - - Post an 'add_bpt(ea_t, asize_t, bpttype_t)' request. - - - @param ea (C++: ea_t) - @param size (C++: asize_t) - @param type (C++: bpttype_t) - - -ida_dbg.request_attach_process(): - - request_attach_process(pid, event_id) -> int - - - Post an 'attach_process()' request. - - - @param pid (C++: pid_t) - @param event_id (C++: int) - - -ida_dbg.request_clear_trace(): - - request_clear_trace() - - - Post a 'clear_trace()' request. - - -ida_dbg.request_continue_process(): - - request_continue_process() -> bool - - - Post a 'continue_process()' request.This requires an explicit call to - 'run_requests()' - - -ida_dbg.request_del_bpt(): - - request_del_bpt(ea) -> bool - request_del_bpt(bptloc) -> bool - - - Post a 'del_bpt(ea_t)' request. - - - @param ea (C++: ea_t) - - -ida_dbg.request_detach_process(): - - request_detach_process() -> bool - - - Post a 'detach_process()' request. - - -ida_dbg.request_disable_bblk_trace(): - - request_disable_bblk_trace() -> bool - - -ida_dbg.request_disable_bpt(): - - request_disable_bpt(ea) -> bool - request_disable_bpt(bptloc) -> bool - - -ida_dbg.request_disable_func_trace(): - - request_disable_func_trace() -> bool - - -ida_dbg.request_disable_insn_trace(): - - request_disable_insn_trace() -> bool - - -ida_dbg.request_disable_step_trace(): - - request_disable_step_trace() -> bool - - -ida_dbg.request_enable_bblk_trace(): - - request_enable_bblk_trace(enable=True) -> bool - - -ida_dbg.request_enable_bpt(): - - request_enable_bpt(ea, enable=True) -> bool - request_enable_bpt(bptloc, enable=True) -> bool - - -ida_dbg.request_enable_func_trace(): - - request_enable_func_trace(enable=True) -> bool - - -ida_dbg.request_enable_insn_trace(): - - request_enable_insn_trace(enable=True) -> bool - - -ida_dbg.request_enable_step_trace(): - - request_enable_step_trace(enable=True) -> bool - - -ida_dbg.request_exit_process(): - - request_exit_process() -> bool - - - Post an 'exit_process()' request. - - -ida_dbg.request_resume_thread(): - - request_resume_thread(tid) -> int - - - Post a 'resume_thread()' request. - - - @param tid (C++: thid_t) - - -ida_dbg.request_run_to(): - - 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) - @param tid (C++: thid_t) - - -ida_dbg.request_select_thread(): - - request_select_thread(tid) -> bool - - - Post a 'select_thread()' request. - - - @param tid (C++: thid_t) - - -ida_dbg.request_set_bblk_trace_options(): - - request_set_bblk_trace_options(options) - - - Post a 'set_bblk_trace_options()' request. - - - @param options (C++: int) - - -ida_dbg.request_set_func_trace_options(): - - request_set_func_trace_options(options) - - - Post a 'set_func_trace_options()' request. - - - @param options (C++: int) - - -ida_dbg.request_set_insn_trace_options(): - - request_set_insn_trace_options(options) - - - Post a 'set_insn_trace_options()' request. - - - @param options (C++: int) - - -ida_dbg.request_set_reg_val(): - - request_set_reg_val(regname, o) -> PyObject * - - - Post a 'set_reg_val()' request. - - - @param regname (C++: const char *) - - -ida_dbg.request_set_resume_mode(): - - request_set_resume_mode(tid, mode) -> bool - - - Post a 'set_resume_mode()' request. - - - @param tid (C++: thid_t) - @param mode (C++: resume_mode_t) - - -ida_dbg.request_set_step_trace_options(): - - request_set_step_trace_options(options) - - - Post a 'set_step_trace_options()' request. - - - @param options (C++: int) - - -ida_dbg.request_start_process(): - - request_start_process(path=None, args=None, sdir=None) -> int - - - Post a 'start_process()' request. - - - @param path (C++: const char *) - @param args (C++: const char *) - @param sdir (C++: const char *) - - -ida_dbg.request_step_into(): - - request_step_into() -> bool - - - Post a 'step_into()' request. - - -ida_dbg.request_step_over(): - - request_step_over() -> bool - - - Post a 'step_over()' request. - - -ida_dbg.request_step_until_ret(): - - request_step_until_ret() -> bool - - - Post a 'step_until_ret()' request. - - -ida_dbg.request_suspend_process(): - - request_suspend_process() -> bool - - - Post a 'suspend_process()' request. - - -ida_dbg.request_suspend_thread(): - - request_suspend_thread(tid) -> int - - - Post a 'suspend_thread()' request. - - - @param tid (C++: thid_t) - - -ida_dbg.resume_thread(): - - resume_thread(tid) -> int - - - Resume thread. \sq{Type, Synchronous function - available as request, - Notification, none (synchronous function)} - - @param tid: thread id (C++: thid_t) - - -ida_dbg.retrieve_exceptions(): - - 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 - - -ida_dbg.run_requests(): - - run_requests() -> bool - - - Execute requests until all requests are processed or an asynchronous - function is called. \sq{Type, Synchronous function, Notification, none - (synchronous function)}If called from a notification handler, the - execution of requests will be postponed to the end of the execution of - all notification handlers. - - @return: false if not all requests could be processed (indicates an - asynchronous function was started) - - -ida_dbg.run_to(): - - 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: target address (C++: ea_t) - @param pid: not used yet. please do not specify this parameter. (C++: - pid_t) - @param tid: not used yet. please do not specify this parameter. (C++: - thid_t) - - -ida_dbg.save_trace_file(): - - save_trace_file(filename, description) -> bool - - - Save the current trace in the specified file. - - - @param filename (C++: const char *) - @param description (C++: const char *) - - -ida_dbg.select_thread(): - - 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: ID of the thread to select (C++: thid_t) - @return: false if the thread doesn't exist. - - -ida_dbg.send_dbg_command(): - - 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 - - -ida_dbg.set_bblk_trace_options(): - - set_bblk_trace_options(options) - - - Modify basic block tracing options (see 'BT_LOG_INSTS' ) - - - @param options (C++: int) - - -ida_dbg.set_bpt_group(): - - set_bpt_group(bpt, grp_name) - - -ida_dbg.set_bptloc_group(): - - set_bptloc_group(bptloc, grp_name) -> bool - - -ida_dbg.set_bptloc_string(): - - set_bptloc_string(s) -> int - - - Helper function for 'bpt_location_t' . - - - @param s (C++: const char *) - - -ida_dbg.set_debugger_event_cond(): - - set_debugger_event_cond(nonnul_cond) - - -ida_dbg.set_debugger_options(): - - 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 - - -ida_dbg.set_func_trace_options(): - - set_func_trace_options(options) - - - Modify function tracing options. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - @param options (C++: int) - - -ida_dbg.set_highlight_trace_options(): - - 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) - - -ida_dbg.set_insn_trace_options(): - - set_insn_trace_options(options) - - - Modify instruction tracing options. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - @param options (C++: int) - - -ida_dbg.set_manual_regions(): - - set_manual_regions(ranges) - - -ida_dbg.set_process_options(): - - set_process_options(path, args, sdir, host, _pass, port) - - - Set process options. Any of the arguments may be NULL, which means 'do - not modify' - - @param path (C++: const char *) - @param args (C++: const char *) - @param sdir (C++: const char *) - @param host (C++: const char *) - @param port (C++: int) - - -ida_dbg.set_process_state(): - - 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: new process state (one of Debugged process states ) - if DSTATE_NOTASK is passed then the state is not - changed (C++: int) - @param p_thid: ptr to new thread id. may be NULL or pointer to - NO_THREAD . the pointed variable will contain the old - thread id upon return (C++: thid_t *) - @param dbginv: Debugged process invalidation options (C++: int) - @return: old debugger state (one of Debugged process states ) - - -ida_dbg.set_reg_val(): - - set_reg_val(regname, o) -> PyObject - set_reg_val(tid, regidx, o) -> PyObject * - - - Write a register value to the current thread. \sq{Type, Synchronous - function - available as Request, Notification, none (synchronous - function)} - - @param regname (C++: const char *) - - -ida_dbg.set_remote_debugger(): - - set_remote_debugger(host, _pass, port=-1) - - - Set remote debugging options. Should be used before starting the - debugger. - - @param host: If empty, IDA will use local debugger. If NULL, the host - will not be set. (C++: const char *) - @param port: If -1, the default port number will be used (C++: int) - - -ida_dbg.set_resume_mode(): - - 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) - - -ida_dbg.set_step_trace_options(): - - set_step_trace_options(options) - - - Modify step tracing options. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - @param options (C++: int) - - -ida_dbg.set_trace_base_address(): - - 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) - - -ida_dbg.set_trace_file_desc(): - - set_trace_file_desc(filename, description) -> bool - - - Change the description of the specified trace file. - - - @param filename (C++: const char *) - @param description (C++: const char *) - - -ida_dbg.set_trace_platform(): - - set_trace_platform(platform) - - - Set platform name of current trace. - - - @param platform (C++: const char *) - - -ida_dbg.set_trace_size(): - - set_trace_size(size) -> bool - - - Specify the new size of the circular buffer. \sq{Type, Synchronous - function, Notification, none (synchronous function)}If you specify 0, - all available memory can be quickly used !!! - - @param size: 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. (C++: int) - - -ida_dbg.srcdbg_request_step_into(): - - srcdbg_request_step_into() -> bool - - -ida_dbg.srcdbg_request_step_over(): - - srcdbg_request_step_over() -> bool - - -ida_dbg.srcdbg_request_step_until_ret(): - - srcdbg_request_step_until_ret() -> bool - - -ida_dbg.srcdbg_step_into(): - - srcdbg_step_into() -> bool - - -ida_dbg.srcdbg_step_over(): - - srcdbg_step_over() -> bool - - -ida_dbg.srcdbg_step_until_ret(): - - srcdbg_step_until_ret() -> bool - - -ida_dbg.start_process(): - - 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' }You can also - use the 'run_to()' function to easily start the execution of a process - until a given address is reached.For all parameters, a NULL value - indicates the debugger will take the value from the defined Process - Options. - - @param path: path to the executable to start (C++: const char *) - @param args: arguments to pass to process (C++: const char *) - @param sdir: starting directory for the process (C++: const char *) - - -ida_dbg.step_into(): - - 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' } - - -ida_dbg.step_over(): - - 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' } - - -ida_dbg.step_until_ret(): - - 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' } - - -ida_dbg.store_exceptions(): - - store_exceptions() -> bool - - - Update the exception information stored in the debugger module by - invoking its dbg->set_exception_info callback - - -ida_dbg.suspend_process(): - - 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) }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. - - -ida_dbg.suspend_thread(): - - 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: thread id (C++: thid_t) - - -class ida_dbg.tev_info_reg_t(): - - Proxy of C++ tev_info_reg_t class - - -ida_dbg.tev_info_reg_t.info: - tev_info_reg_t_info_get(self) -> tev_info_t - -ida_dbg.tev_info_reg_t.registers: - tev_info_reg_t_registers_get(self) -> tev_reg_values_t - -class ida_dbg.tev_info_t(): - - Proxy of C++ tev_info_t class - - -ida_dbg.tev_info_t.ea: - tev_info_t_ea_get(self) -> ea_t - -ida_dbg.tev_info_t.tid: - tev_info_t_tid_get(self) -> thid_t - -ida_dbg.tev_info_t.type: - tev_info_t_type_get(self) -> tev_type_t - -class ida_dbg.tev_reg_value_t(): - - Proxy of C++ tev_reg_value_t class - - -ida_dbg.tev_reg_value_t.reg_idx: - tev_reg_value_t_reg_idx_get(self) -> int - -ida_dbg.tev_reg_value_t.value: - tev_reg_value_t_value_get(self) -> regval_t - -class ida_dbg.tev_reg_values_t(): - - Proxy of C++ qvector<(tev_reg_value_t)> class - - -ida_dbg.tev_reg_values_t.at(): - - at(self, _idx) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.begin(): - - begin(self) -> tev_reg_value_t - begin(self) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.capacity(): - - capacity(self) -> size_t - - -ida_dbg.tev_reg_values_t.clear(): - - clear(self) - - -ida_dbg.tev_reg_values_t.empty(): - - empty(self) -> bool - - -ida_dbg.tev_reg_values_t.end(): - - end(self) -> tev_reg_value_t - end(self) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.erase(): - - erase(self, it) -> tev_reg_value_t - erase(self, first, last) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.extract(): - - extract(self) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.grow(): - - grow(self, x=tev_reg_value_t()) - - -ida_dbg.tev_reg_values_t.inject(): - - inject(self, s, len) - - -ida_dbg.tev_reg_values_t.insert(): - - insert(self, it, x) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.pop_back(): - - pop_back(self) - - -ida_dbg.tev_reg_values_t.push_back(): - - push_back(self, x) - push_back(self) -> tev_reg_value_t - - -ida_dbg.tev_reg_values_t.qclear(): - - qclear(self) - - -ida_dbg.tev_reg_values_t.reserve(): - - reserve(self, cnt) - - -ida_dbg.tev_reg_values_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_dbg.tev_reg_values_t.size(): - - size(self) -> size_t - - -ida_dbg.tev_reg_values_t.swap(): - - swap(self, r) - - -ida_dbg.tev_reg_values_t.truncate(): - - truncate(self) - - -class ida_dbg.tevinforeg_vec_t(): - - Proxy of C++ qvector<(tev_info_reg_t)> class - - -ida_dbg.tevinforeg_vec_t.at(): - - at(self, _idx) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.begin(): - - begin(self) -> tev_info_reg_t - begin(self) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_dbg.tevinforeg_vec_t.clear(): - - clear(self) - - -ida_dbg.tevinforeg_vec_t.empty(): - - empty(self) -> bool - - -ida_dbg.tevinforeg_vec_t.end(): - - end(self) -> tev_info_reg_t - end(self) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.erase(): - - erase(self, it) -> tev_info_reg_t - erase(self, first, last) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.extract(): - - extract(self) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.grow(): - - grow(self, x=tev_info_reg_t()) - - -ida_dbg.tevinforeg_vec_t.inject(): - - inject(self, s, len) - - -ida_dbg.tevinforeg_vec_t.insert(): - - insert(self, it, x) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.pop_back(): - - pop_back(self) - - -ida_dbg.tevinforeg_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> tev_info_reg_t - - -ida_dbg.tevinforeg_vec_t.qclear(): - - qclear(self) - - -ida_dbg.tevinforeg_vec_t.reserve(): - - reserve(self, cnt) - - -ida_dbg.tevinforeg_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_dbg.tevinforeg_vec_t.size(): - - size(self) -> size_t - - -ida_dbg.tevinforeg_vec_t.swap(): - - swap(self, r) - - -ida_dbg.tevinforeg_vec_t.truncate(): - - truncate(self) - - -ida_dbg.update_bpt(): - - 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)}Only the following - fields can be modified: 'bpt_t::cndbody' 'bpt_t::pass_count' - 'bpt_t::flags' 'bpt_t::size' 'bpt_t::type' 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 *) - - -ida_dbg.wait_for_next_event(): - - 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: combination of Wait for debugger event flags constants - (C++: int) - @param timeout: number of seconds to wait, -1-infinity (C++: int) - @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= - 0) - - -ida_dbg.write_dbg_memory(): - - write_dbg_memory(ea, py_buf, size=size_t(-1)) -> ssize_t - - - -=== ida_dbg EPYDOC INJECTIONS === -ida_dbg.BKPT_ACTIVE -""" -active? -""" - -ida_dbg.BKPT_BADBPT -""" -failed to write the bpt to the process memory (at least one location) -""" - -ida_dbg.BKPT_CNDREADY -""" -condition has been compiled -""" - -ida_dbg.BKPT_FAKEPEND -""" -bpt of the same type is active at the same address(es) - -fake pending bpt: it is inactive but another -""" - -ida_dbg.BKPT_LISTBPT -""" -include in bpt list (user-defined bpt) -""" - -ida_dbg.BKPT_PAGE -""" -only after writing the bpt to the process. - -written to the process as a page bpt. is available -""" - -ida_dbg.BKPT_PARTIAL -""" -partially active? (some locations were not written yet) -""" - -ida_dbg.BKPT_TRACE -""" -trace bpt; should not be deleted when the process gets suspended -""" - -ida_dbg.BPTCK_ACT -""" -breakpoint is active (written to the process) -""" - -ida_dbg.BPTCK_NO -""" -breakpoint is disabled -""" - -ida_dbg.BPTCK_NONE -""" -breakpoint does not exist -""" - -ida_dbg.BPTCK_YES -""" -breakpoint is enabled -""" - -ida_dbg.BPTEV_ADDED -""" -Breakpoint has been added. -""" - -ida_dbg.BPTEV_CHANGED -""" -Breakpoint has been modified. -""" - -ida_dbg.BPTEV_REMOVED -""" -Breakpoint has been removed. -""" - -ida_dbg.BPT_BRK -""" -suspend execution upon hit -""" - -ida_dbg.BPT_ELANG_SHIFT -""" -index of the extlang (scripting language) of the condition -""" - -ida_dbg.BPT_ENABLED -""" -enabled? -""" - -ida_dbg.BPT_LOWCND -""" -condition is calculated at low level (on the server side) -""" - -ida_dbg.BPT_TRACE -""" -add trace information upon hit -""" - -ida_dbg.BPT_TRACEON -""" -enable tracing when the breakpoint is reached -""" - -ida_dbg.BPT_TRACE_BBLK -""" -basic block tracing -""" - -ida_dbg.BPT_TRACE_FUNC -""" -function tracing -""" - -ida_dbg.BPT_TRACE_INSN -""" -instruction tracing -""" - -ida_dbg.BPT_TRACE_TYPES -""" -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 -""" - -ida_dbg.BPT_UPDMEM -""" -refresh the memory layout and contents before evaluating bpt condition -""" - -ida_dbg.BT_LOG_INSTS -""" -log all instructions in the current basic block -""" - -ida_dbg.DBGINV_ALL -""" -invalidate everything -""" - -ida_dbg.DBGINV_MEMCFG -""" -invalidate cached process segmentation -""" - -ida_dbg.DBGINV_MEMORY -""" -invalidate cached memory contents -""" - -ida_dbg.DBGINV_NONE -""" -invalidate nothing -""" - -ida_dbg.DBGINV_REDRAW -""" -refresh the screen -""" - -ida_dbg.DBGINV_REGS -""" -invalidate cached register values -""" - -ida_dbg.DOPT_BPT_MSGS -""" -log breakpoints -""" - -ida_dbg.DOPT_END_BPT -""" -evaluate event condition on process end -""" - -ida_dbg.DOPT_ENTRY_BPT -""" -break on program entry point -""" - -ida_dbg.DOPT_EXCDLG -""" -exception dialogs: -""" - -ida_dbg.DOPT_INFO_BPT -""" -break on debugging information -""" - -ida_dbg.DOPT_INFO_MSGS -""" -log debugging info events -""" - -ida_dbg.DOPT_LIB_BPT -""" -break on library load/unload -""" - -ida_dbg.DOPT_LIB_MSGS -""" -log library loads/unloads -""" - -ida_dbg.DOPT_LOAD_DINFO -""" -automatically load debug files (pdb) -""" - -ida_dbg.DOPT_REAL_MEMORY -""" -do not hide breakpoint instructions -""" - -ida_dbg.DOPT_REDO_STACK -""" -reconstruct the stack -""" - -ida_dbg.DOPT_SEGM_MSGS -""" -log debugger segments modifications -""" - -ida_dbg.DOPT_START_BPT -""" -break on process start -""" - -ida_dbg.DOPT_TEMP_HWBPT -""" -when possible use hardware bpts for temp bpts -""" - -ida_dbg.DOPT_THREAD_BPT -""" -break on thread start/exit -""" - -ida_dbg.DOPT_THREAD_MSGS -""" -log thread starts/exits -""" - -ida_dbg.DSTATE_NOTASK -""" -no process is currently debugged -""" - -ida_dbg.DSTATE_RUN -""" -process is running -""" - -ida_dbg.DSTATE_SUSP -""" -process is suspended and will not continue -""" - -ida_dbg.EXCDLG_ALWAYS -""" -always display -""" - -ida_dbg.EXCDLG_NEVER -""" -never display exception dialogs -""" - -ida_dbg.EXCDLG_UNKNOWN -""" -display for unknown exceptions -""" - -ida_dbg.FT_LOG_RET -""" -function tracing will log returning instructions -""" - -ida_dbg.IT_LOG_SAME_IP -""" -instruction tracing will log instructions whose IP doesn't change -""" - -ida_dbg.ST_ALREADY_LOGGED -""" -step tracing will be disabled when IP is already logged -""" - -ida_dbg.ST_DIFFERENTIAL -""" -tracing: log only new instructions -""" - -ida_dbg.ST_OPTIONS_MASK -""" -mask of available options, to ensure compatibility with newer IDA -versions -""" - -ida_dbg.ST_OVER_DEBUG_SEG -""" -step tracing will be disabled when IP is in a debugger segment -""" - -ida_dbg.ST_OVER_LIB_FUNC -""" -step tracing will be disabled when IP is in a library function -""" - -ida_dbg.ST_SKIP_LOOPS -""" -step tracing will try to skip loops already recorded -""" - -ida_dbg.WFNE_ANY -""" -return the first event (even if it doesn't suspend the process) -""" - -ida_dbg.WFNE_CONT -""" -continue from the suspended state -""" - -ida_dbg.WFNE_NOWAIT -""" -(to be used with 'WFNE_CONT' ) - -do not wait for any event, immediately return 'DEC_TIMEOUT' -""" - -ida_dbg.WFNE_SILENT -""" -1: be slient, 0:display modal boxes if necessary -""" - -ida_dbg.WFNE_SUSP -""" -wait until the process gets suspended -""" - -ida_dbg.WFNE_USEC -""" -(minimum non-zero timeout is 40000us) - -timeout is specified in microseconds -""" -=== ida_dbg EPYDOC INJECTIONS END === -ida_diskio.close_linput(): - - close_linput(li) - - - Close loader input. - - - @param li (C++: linput_t *) - - -ida_diskio.create_bytearray_linput(): - - create_bytearray_linput(s) -> linput_t * - - - Trivial memory linput. - - -ida_diskio.create_generic_linput(): - - create_generic_linput(gl) -> linput_t * - - - Create a generic linput - - @param gl: linput description. this object will be destroyed by - close_linput() using "delete gl;" (C++: generic_linput_t - *) - - -ida_diskio.create_memory_linput(): - - 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: starting address of the input (C++: ea_t) - @param size: size of the memory area to represent as linput if - unknown, may be passed as 0 (C++: asize_t) - - -ida_diskio.eclose(): - - eclose(fp) - - -ida_diskio.enumerate_files(): - - 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 - - -ida_diskio.fopenA(): - - fopenA(file) -> FILE * - - - Open a file for append in text mode, deny none. - - @param file (C++: const char *) - @return: NULL if failure - - -ida_diskio.fopenM(): - - fopenM(file) -> FILE * - - - Open a file for read/write in binary mode, deny write. - - @param file (C++: const char *) - @return: NULL if failure - - -ida_diskio.fopenRB(): - - fopenRB(file) -> FILE * - - - Open a file for read in binary mode, deny none. - - @param file (C++: const char *) - @return: NULL if failure - - -ida_diskio.fopenRT(): - - fopenRT(file) -> FILE * - - - Open a file for read in text mode, deny none. - - @param file (C++: const char *) - @return: NULL if failure - - -ida_diskio.fopenWB(): - - 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 *) - @return: NULL if failure - - -ida_diskio.fopenWT(): - - 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 *) - @return: NULL if failure - - -class ida_diskio.generic_linput_t(): - - Proxy of C++ generic_linput_t class - - -ida_diskio.generic_linput_t.blocksize: - generic_linput_t_blocksize_get(self) -> uint32 - -ida_diskio.generic_linput_t.filesize: - generic_linput_t_filesize_get(self) -> uint64 - -ida_diskio.generic_linput_t.read(): - - read(self, off, buffer, nbytes) -> ssize_t - - -ida_diskio.get_ida_subdirs(): - - 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: name of the resource to list (C++: const char *) - @param flags: Subdirectory modification flags bits (C++: int) - @return: number of directories appended to 'dirs' - - -ida_diskio.get_linput_type(): - - get_linput_type(li) -> linput_type_t - - - Get linput type. - - - @param li (C++: linput_t *) - - -ida_diskio.get_special_folder(): - - get_special_folder(csidl) -> bool - - - Get a folder location by CSIDL (see 'Common CSIDLs' ). Path should be - of at least MAX_PATH size - - @param csidl (C++: int) - - -ida_diskio.get_user_idadir(): - - 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) - - -ida_diskio.getsysfile(): - - getsysfile(filename, subdir) -> char * - - - Search for IDA system file. This function searches for a file in:each - directory specified by IDAUSR%ida directory [+ subdir] and returns the - first match. - - @param filename (C++: const char *) - @param subdir (C++: const char *) - @return: NULL if not found, otherwise a pointer to full file name. - - -ida_diskio.idadir(): - - idadir(subdir) -> char const * - - - Get IDA directory (if subdir==NULL) or the specified subdirectory (see - 'IDA subdirectories' ) - - @param subdir (C++: const char *) - - -ida_diskio.open_linput(): - - open_linput(file, remote) -> linput_t * - - - Open loader input. - - - @param file (C++: const char *) - @param remote (C++: bool) - - -ida_diskio.qlgetz(): - - qlgetz(li, fpos) -> char * - - - 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) - - - -=== ida_diskio EPYDOC INJECTIONS === -ida_diskio.IDA_SUBDIR_IDADIR_FIRST -""" -$IDADIR/subdir will be first, not last -""" - -ida_diskio.IDA_SUBDIR_IDP -""" -append the processor name as a subdirectory -""" - -ida_diskio.IDA_SUBDIR_ONLY_EXISTING -""" -only existing directories will be present -""" -=== ida_diskio EPYDOC INJECTIONS END === -ida_entry.add_entry(): - - add_entry(ord, ea, name, makecode, flags=0x0) -> bool - - - Add an entry point to the list of entry points. - - @param ord: ordinal number if ordinal number is equal to 'ea' then - ordinal is not used (C++: uval_t) - @param ea: linear address (C++: ea_t) - @param name: name of entry point. If the specified location already - has a name, the old name will be appended to the regular - comment. If name == NULL, then the old name will be - retained. (C++: const char *) - @param makecode: should the kernel convert bytes at the entry point to - instruction(s) (C++: bool) - @param flags: See AEF_* (C++: int) - @return: success (currently always true) - - -ida_entry.get_entry(): - - get_entry(ord) -> ea_t - - - Get entry point address by its ordinal - - @param ord: ordinal number of entry point (C++: uval_t) - @return: address or BADADDR - - -ida_entry.get_entry_forwarder(): - - get_entry_forwarder(ord) -> ssize_t - - - Get forwarder name for the entry point by its ordinal. - - @param ord: ordinal number of entry point (C++: uval_t) - @return: size of entry forwarder name or -1 - - -ida_entry.get_entry_name(): - - get_entry_name(ord) -> ssize_t - - - Get name of the entry point by its ordinal. - - @param ord: ordinal number of entry point (C++: uval_t) - @return: size of entry name or -1 - - -ida_entry.get_entry_ordinal(): - - get_entry_ordinal(idx) -> uval_t - - - Get ordinal number of an entry point. - - @param idx: internal number of entry point. Should be in the range 0.. - get_entry_qty() -1 (C++: size_t) - @return: ordinal number or 0. - - -ida_entry.get_entry_qty(): - - get_entry_qty() -> size_t - - - Get number of entry points. - - -ida_entry.rename_entry(): - - rename_entry(ord, name, flags=0x0) -> bool - - - Rename entry point. - - @param ord: ordinal number of the entry point (C++: uval_t) - @param name: name of entry point. If the specified location already - has a name, the old name will be appended to a repeatable - comment. (C++: const char *) - @param flags: See AEF_* (C++: int) - @return: success - - -ida_entry.set_entry_forwarder(): - - set_entry_forwarder(ord, name, flags=0x0) -> bool - - - Set forwarder name for ordinal. - - @param ord: ordinal number of the entry point (C++: uval_t) - @param name: forwarder name for entry point. (C++: const char *) - @param flags: See AEF_* (C++: int) - @return: success - - - -=== ida_entry EPYDOC INJECTIONS === -ida_entry.AEF_IDBENC -""" -the name is given in the IDB encoding; non-ASCII bytes will be decoded -accordingly Specifying AEF_IDBENC also implies AEF_NODUMMY -""" - -ida_entry.AEF_NODUMMY -""" -it begins with a dummy suffix. See also AEF_IDBENC - -automatically prepend the name with '_' if -""" - -ida_entry.AEF_UTF8 -""" -the name is given in UTF-8 (default) -""" -=== ida_entry EPYDOC INJECTIONS END === -ida_enum.add_enum(): - - add_enum(idx, name, flag) -> enum_t - - - Add new enum type.if idx== 'BADADDR' then add as the last idxif - name==NULL then generate a unique name "enum_%d" - - @param idx (C++: size_t) - @param name (C++: const char *) - @param flag (C++: flags_t) - - -ida_enum.add_enum_member(): - - add_enum_member(id, name, value, bmask=(bmask_t(-1))) -> int - - - Add member to enum type. - - @param id (C++: enum_t) - @param name (C++: const char *) - @param value (C++: uval_t) - @param bmask (C++: bmask_t) - @return: 0 if ok, otherwise one of Add enum member result codes - - -ida_enum.del_enum(): - - del_enum(id) - - - Delete an enum type. - - - @param id (C++: enum_t) - - -ida_enum.del_enum_member(): - - del_enum_member(id, value, serial, bmask) -> bool - - - Delete member of enum type. - - - @param id (C++: enum_t) - @param value (C++: uval_t) - @param serial (C++: uchar) - @param bmask (C++: bmask_t) - - -class ida_enum.enum_member_visitor_t(): - - Proxy of C++ enum_member_visitor_t class - - -ida_enum.enum_member_visitor_t.visit_enum_member(): - - visit_enum_member(self, cid, value) -> int - - -ida_enum.for_all_enum_members(): - - for_all_enum_members(id, cv) -> int - - - Visit all members of a given enum. - - - @param id (C++: enum_t) - @param cv (C++: enum_member_visitor_t &) - - -ida_enum.get_bmask_cmt(): - - get_bmask_cmt(id, bmask, repeatable) -> ssize_t - - -ida_enum.get_bmask_name(): - - get_bmask_name(id, bmask) -> ssize_t - - -ida_enum.get_enum(): - - get_enum(name) -> enum_t - - - Get enum by name. - - - @param name (C++: const char *) - - -ida_enum.get_enum_cmt(): - - get_enum_cmt(id, repeatable) -> ssize_t - - - Get enum comment. - - - @param id (C++: enum_t) - @param repeatable (C++: bool) - - -ida_enum.get_enum_flag(): - - get_enum_flag(id) -> flags_t - - - Get flags determining the representation of the enum. (currently they - define the numeric base: octal, decimal, hex, bin) and signness. - - @param id (C++: enum_t) - - -ida_enum.get_enum_idx(): - - get_enum_idx(id) -> uval_t - - - Get serial number of enum. The serial number determines the place of - the enum in the enum window. - - @param id (C++: enum_t) - - -ida_enum.get_enum_member(): - - get_enum_member(id, value, serial, mask) -> const_t - - - Find an enum member by enum, value and bitmaskif serial -1, return a - member with any serial - - @param id (C++: enum_t) - @param value (C++: uval_t) - @param serial (C++: int) - @param mask (C++: bmask_t) - - -ida_enum.get_enum_member_bmask(): - - get_enum_member_bmask(id) -> bmask_t - - - Get bitmask of an enum member. - - - @param id (C++: const_t) - - -ida_enum.get_enum_member_by_name(): - - get_enum_member_by_name(name) -> const_t - - - Get a reference to an enum member by its name. - - - @param name (C++: const char *) - - -ida_enum.get_enum_member_cmt(): - - get_enum_member_cmt(id, repeatable) -> ssize_t - - - Get enum member's comment. - - - @param id (C++: const_t) - @param repeatable (C++: bool) - - -ida_enum.get_enum_member_enum(): - - get_enum_member_enum(id) -> enum_t - - - Get the parent enum of an enum member. - - - @param id (C++: const_t) - - -ida_enum.get_enum_member_name(): - - get_enum_member_name(id) -> ssize_t - - - Get name of an enum member by const_t. - - - @param id (C++: const_t) - - -ida_enum.get_enum_member_serial(): - - get_enum_member_serial(cid) -> uchar - - - Get serial number of an enum member. - - - @param cid (C++: const_t) - - -ida_enum.get_enum_member_value(): - - get_enum_member_value(id) -> uval_t - - - Get value of an enum member. - - - @param id (C++: const_t) - - -ida_enum.get_enum_name(): - - get_enum_name(id) -> ssize_t - - - Get name of enum. - - - @param id (C++: enum_t) - - -ida_enum.get_enum_qty(): - - get_enum_qty() -> size_t - - - Get number of declared 'enum_t' types. - - -ida_enum.get_enum_size(): - - get_enum_size(id) -> size_t - - - Get the number of the members of the enum. - - - @param id (C++: enum_t) - - -ida_enum.get_enum_type_ordinal(): - - get_enum_type_ordinal(id) -> int32 - - - Get corresponding type ordinal number. - - - @param id (C++: enum_t) - - -ida_enum.get_enum_width(): - - get_enum_width(id) -> size_t - - - Get the width of a enum element allowed values: 0 - (unspecified),1,2,4,8,16,32,64 - - @param id (C++: enum_t) - - -ida_enum.get_first_bmask(): - - get_first_bmask(id) -> bmask_t - - - Get first bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @return: the smallest bitmask for enum, or DEFMASK - - -ida_enum.get_first_enum_member(): - - get_first_enum_member(id, bmask=(bmask_t(-1))) -> uval_t - - -ida_enum.get_first_serial_enum_member(): - - get_first_serial_enum_member(id, value, bmask) -> const_t - - -ida_enum.get_last_bmask(): - - get_last_bmask(id) -> bmask_t - - - Get last bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @return: the biggest bitmask for enum, or DEFMASK - - -ida_enum.get_last_enum_member(): - - get_last_enum_member(id, bmask=(bmask_t(-1))) -> uval_t - - -ida_enum.get_last_serial_enum_member(): - - get_last_serial_enum_member(id, value, bmask) -> const_t - - -ida_enum.get_next_bmask(): - - get_next_bmask(id, bmask) -> bmask_t - - - Get next bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @param bmask (C++: bmask_t) - @return: value of a bitmask with value higher than the specified - value, or DEFMASK - - -ida_enum.get_next_enum_member(): - - get_next_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t - - -ida_enum.get_next_serial_enum_member(): - - get_next_serial_enum_member(in_out_serial, first_cid) -> const_t - - -ida_enum.get_prev_bmask(): - - get_prev_bmask(id, bmask) -> bmask_t - - - Get prev bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @param bmask (C++: bmask_t) - @return: value of a bitmask with value lower than the specified value, - or DEFMASK - - -ida_enum.get_prev_enum_member(): - - get_prev_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t - - -ida_enum.get_prev_serial_enum_member(): - - get_prev_serial_enum_member(in_out_serial, first_cid) -> const_t - - -ida_enum.getn_enum(): - - getn_enum(n) -> enum_t - - - Get enum by its ordinal number (0..n). - - - @param n (C++: size_t) - - -ida_enum.is_bf(): - - is_bf(id) -> bool - - - Is enum a bitfield? (otherwise - plain enum, no bitmasks except for - 'DEFMASK' are allowed) - - @param id (C++: enum_t) - - -ida_enum.is_enum_fromtil(): - - is_enum_fromtil(id) -> bool - - - Does enum come from type library? - - - @param id (C++: enum_t) - - -ida_enum.is_enum_hidden(): - - is_enum_hidden(id) -> bool - - - Is enum collapsed? - - - @param id (C++: enum_t) - - -ida_enum.is_ghost_enum(): - - is_ghost_enum(id) -> bool - - - Is a ghost copy of a local type? - - - @param id (C++: enum_t) - - -ida_enum.is_one_bit_mask(): - - is_one_bit_mask(mask) -> bool - - - Is bitmask one bit? - - - @param mask (C++: bmask_t) - - -ida_enum.set_bmask_cmt(): - - set_bmask_cmt(id, bmask, cmt, repeatable) -> bool - - -ida_enum.set_bmask_name(): - - set_bmask_name(id, bmask, name) -> bool - - -ida_enum.set_enum_bf(): - - set_enum_bf(id, bf) -> bool - - - Set 'bitfield' bit of enum (i.e. convert it to a bitfield) - - - @param id (C++: enum_t) - @param bf (C++: bool) - - -ida_enum.set_enum_cmt(): - - set_enum_cmt(id, cmt, repeatable) -> bool - - - Set comment for enum type. - - - @param id (C++: enum_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -ida_enum.set_enum_flag(): - - set_enum_flag(id, flag) -> bool - - - Set data representation flags. - - - @param id (C++: enum_t) - @param flag (C++: flags_t) - - -ida_enum.set_enum_fromtil(): - - set_enum_fromtil(id, fromtil) -> bool - - - Specify that enum comes from a type library. - - - @param id (C++: enum_t) - @param fromtil (C++: bool) - - -ida_enum.set_enum_ghost(): - - set_enum_ghost(id, ghost) -> bool - - - Specify that enum is a ghost copy of a local type. - - - @param id (C++: enum_t) - @param ghost (C++: bool) - - -ida_enum.set_enum_hidden(): - - set_enum_hidden(id, hidden) -> bool - - - Collapse enum. - - - @param id (C++: enum_t) - @param hidden (C++: bool) - - -ida_enum.set_enum_idx(): - - set_enum_idx(id, idx) -> bool - - - Set serial number of enum. Also see 'get_enum_idx()' . - - @param id (C++: enum_t) - @param idx (C++: size_t) - - -ida_enum.set_enum_member_cmt(): - - set_enum_member_cmt(id, cmt, repeatable) -> bool - - - Set comment for enum member. - - - @param id (C++: const_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -ida_enum.set_enum_member_name(): - - set_enum_member_name(id, name) -> bool - - - Set name of enum member. - - - @param id (C++: const_t) - @param name (C++: const char *) - - -ida_enum.set_enum_name(): - - set_enum_name(id, name) -> bool - - - Set name of enum type. - - - @param id (C++: enum_t) - @param name (C++: const char *) - - -ida_enum.set_enum_type_ordinal(): - - set_enum_type_ordinal(id, ord) - - - Set corresponding type ordinal number. - - - @param id (C++: enum_t) - @param ord (C++: int32) - - -ida_enum.set_enum_width(): - - set_enum_width(id, width) -> bool - - - See comment for 'get_enum_width()' - - - @param id (C++: enum_t) - @param width (C++: int) - - - -=== ida_enum EPYDOC INJECTIONS === -ida_enum.DEFMASK -""" -default bitmask -""" - -ida_enum.ENUM_MEMBER_ERROR_ENUM -""" -bad enum id -""" - -ida_enum.ENUM_MEMBER_ERROR_ILLV -""" -bad bmask and value combination (~bmask & value != 0) -""" - -ida_enum.ENUM_MEMBER_ERROR_MASK -""" -bad bmask -""" - -ida_enum.ENUM_MEMBER_ERROR_NAME -""" -already have member with this name (bad name) -""" - -ida_enum.ENUM_MEMBER_ERROR_VALUE -""" -already have 256 members with this value -""" -=== ida_enum EPYDOC INJECTIONS END === -ida_expr.add_idc_class(): - - add_idc_class(name, super=None) -> idc_class_t * - - - Create a new IDC class. - - @param name: name of the new class (C++: const char *) - @param super: the base class for the new class. if the new class is - not based on any other class, pass NULL (C++: const - idc_class_t *) - @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. - - -ida_expr.add_idc_func(): - - Extends the IDC language by exposing a new IDC function that is backed up by a Python function - - @param name: IDC function name to expose - @param fp: Python callable that will receive the arguments and return a tuple. - @param args: Arguments. A tuple of idaapi.VT_XXX constants - @param flags: IDC function flags. A combination of EXTFUN_XXX constants - - @return: Boolean - - - 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 - ", 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, NULL, 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"); - - If the function already exists, it will be replaced by the new - function - - @return: success - - -ida_expr.add_idc_gvar(): - - add_idc_gvar(name) -> idc_value_t - - - Add global IDC variable. - - @param name: name of the global variable (C++: const char *) - @return: pointer to the created variable or existing variable. NB: the - returned pointer is valid until a new global var is added. - - -ida_expr.compile_idc_file(): - - compile_idc_file(nonnul_line) -> bool - - -ida_expr.compile_idc_snippet(): - - compile_idc_snippet(func, text, resolver=None, only_safe_funcs=False) -> bool - - - Compile text with IDC statements. - - @param func: name of the function to create out of the snippet (C++: - const char *) - @param text: text to compile (C++: const char *) - @param resolver: callback object to get values of undefined variables - This object will be called if IDC function contains - references to undefined variables. May be NULL. (C++: - idc_resolver_t *) - @param only_safe_funcs: if true, any calls to functions without - EXTFUN_SAFE flag will lead to a compilation - error. (C++: bool) - - -ida_expr.compile_idc_text(): - - compile_idc_text(nonnul_line) -> bool - - -ida_expr.copy_idcv(): - - 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 &) - - -ida_expr.create_idcv_ref(): - - create_idcv_ref(ref, v) -> bool - - - Create a variable reference. Currently only references to global - variables can be created. - - @param ref: ptr to the result (C++: idc_value_t *) - @param v: variable to reference (C++: const idc_value_t *) - @return: success - - -ida_expr.deep_copy_idcv(): - - 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 &) - - -ida_expr.del_idc_func(): - - Unregisters the specified IDC function - - @param name: IDC function name to unregister - - @return: Boolean - - - Delete an IDC function - - -ida_expr.del_idcv_attr(): - - del_idcv_attr(obj, attr) -> error_t - - - Delete an object attribute. - - @param obj: variable that holds an object reference (C++: idc_value_t - *) - @param attr: attribute name (C++: const char *) - @return: error code, eOk on success - - -ida_expr.deref_idcv(): - - deref_idcv(v, vref_flags) -> idc_value_t - - - Dereference a 'VT_REF' variable. - - @param v: variable to dereference (C++: idc_value_t *) - @param vref_flags: Dereference IDC variable flags (C++: int) - @return: pointer to the dereference result or NULL. If returns NULL, - qerrno is set to eExecBadRef "Illegal variable reference" - - -ida_expr.eval_expr(): - - eval_expr(rv, where, line) -> bool - - - Compile and calculate an expression. - - @param rv: pointer to the result (C++: idc_value_t *) - @param where: 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 . (C++: ea_t) - @param line: the expression to evaluate (C++: const char *) - - -ida_expr.eval_idc_expr(): - - eval_idc_expr(rv, where, line) -> bool - - - 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) - - -ida_expr.exec_idc_script(): - - exec_idc_script(result, path, func, args, argsnum) -> bool - - - Compile and execute IDC function(s) from file. - - @param result: ptr to idc_value_t to hold result of the function. If - execution fails, this variable will contain the - exception information. You may pass NULL if you are not - interested in the returned value. (C++: idc_value_t *) - @param path: text file containing text of IDC functions (C++: const - char *) - @param func: function name to execute (C++: const char *) - @param args: array of parameters (C++: const idc_value_t) - @param argsnum: number of parameters to pass to 'fname' This number - should be equal to number of parameters the function - expects. (C++: size_t) - - -ida_expr.exec_system_script(): - - exec_system_script(file, complain_if_no_file=True) -> bool - - - Compile and execute "main" function from system file. - - @param file: file name with IDC function(s). The file will be searched - in the idc subdir of ida (C++: const char *) - @param complain_if_no_file: 1: display warning if the file is not - found 0: don't complain if file doesn't - exist (C++: bool) - - -ida_expr.find_idc_class(): - - find_idc_class(name) -> idc_class_t * - - - Find an existing IDC class by its name. - - @param name: name of the class (C++: const char *) - @return: pointer to the class or NULL. The returned pointer is valid - until a new call to add_idc_class() - - -ida_expr.find_idc_func(): - - find_idc_func(prefix, n=0) -> bool - - -ida_expr.find_idc_gvar(): - - find_idc_gvar(name) -> idc_value_t - - - Find an existing global IDC variable by its name. - - @param name: name of the global variable (C++: const char *) - @return: pointer to the variable or NULL. 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 - - -ida_expr.first_idcv_attr(): - - first_idcv_attr(obj) -> char const * - - -ida_expr.free_idcv(): - - 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 *) - - -ida_expr.get_idc_filename(): - - get_idc_filename(file) -> char * - - - Get full name of IDC file name. Search for file in list of include - directories, IDCPATH directory and the current directory. - - @param file: file name without full path (C++: const char *) - @return: NULL is file not found. otherwise returns pointer to buf - - -ida_expr.get_idcv_attr(): - - get_idcv_attr(res, obj, attr, may_use_getattr=False) -> error_t - - - Get an object attribute. - - @param res: buffer for the attribute value (C++: idc_value_t *) - @param obj: variable that holds an object reference. if obj is NULL it - searches global variables, then user functions (C++: const - idc_value_t *) - @param attr: attribute name (C++: const char *) - @param may_use_getattr: may call getattr functions to calculate the - attribute if it does not exist (C++: bool) - @return: error code, eOk on success - - -ida_expr.get_idcv_class_name(): - - get_idcv_class_name(obj) -> error_t - - - Retrieves the IDC object class name. - - @param obj: class instance variable (C++: const idc_value_t *) - @return: error code, eOk on success - - -ida_expr.get_idcv_slice(): - - get_idcv_slice(res, v, i1, i2, flags=0) -> error_t - - - Get slice. - - @param res: output variable that will contain the slice (C++: - idc_value_t *) - @param v: input variable (string or object) (C++: const idc_value_t - *) - @param i1: slice start index (C++: uval_t) - @param i2: slice end index (excluded) (C++: uval_t) - @param flags: IDC variable slice flags or 0 (C++: int) - @return: eOk if success - - -class ida_expr.highlighter_cbs_t(): - - Proxy of C++ highlighter_cbs_t class - - -ida_expr.highlighter_cbs_t.cur_block_state(): - - cur_block_state(self) -> int32 - - -ida_expr.highlighter_cbs_t.prev_block_state(): - - prev_block_state(self) -> int32 - - -ida_expr.highlighter_cbs_t.set_block_state(): - - set_block_state(self, arg0) - - -ida_expr.highlighter_cbs_t.set_style(): - - set_style(self, arg0, arg1, arg2) - - -class ida_expr.idc_global_t(): - - Proxy of C++ idc_global_t class - - -ida_expr.idc_global_t.name: - idc_global_t_name_get(self) -> qstring * - -ida_expr.idc_global_t.value: - idc_global_t_value_get(self) -> idc_value_t - -class ida_expr.idc_value_t(): - - Proxy of C++ idc_value_t class - - -ida_expr.idc_value_t.c_str(): - - c_str(self) -> char const * - - -ida_expr.idc_value_t.clear(): - - clear(self) - - -ida_expr.idc_value_t.create_empty_string(): - - create_empty_string(self) - - -ida_expr.idc_value_t.e: - idc_value_t_e_get(self) -> ushort [6] - -ida_expr.idc_value_t.funcidx: - idc_value_t_funcidx_get(self) -> int - -ida_expr.idc_value_t.i64: - idc_value_t_i64_get(self) -> int64 - -ida_expr.idc_value_t.is_convertible(): - - is_convertible(self) -> bool - - -ida_expr.idc_value_t.is_integral(): - - is_integral(self) -> bool - - -ida_expr.idc_value_t.is_zero(): - - is_zero(self) -> bool - - -ida_expr.idc_value_t.num: - idc_value_t_num_get(self) -> sval_t - -ida_expr.idc_value_t.obj: - idc_value_t_obj_get(self) -> idc_object_t * - -ida_expr.idc_value_t.pvoid: - idc_value_t_pvoid_get(self) -> void * - -ida_expr.idc_value_t.qstr(): - - qstr(self) -> qstring - qstr(self) -> qstring const & - - -ida_expr.idc_value_t.reserve: - idc_value_t_reserve_get(self) -> uchar [sizeof(qstring)] - -ida_expr.idc_value_t.set_float(): - - set_float(self, f) - - -ida_expr.idc_value_t.set_int64(): - - set_int64(self, v) - - -ida_expr.idc_value_t.set_long(): - - set_long(self, v) - - -ida_expr.idc_value_t.set_pvoid(): - - set_pvoid(self, p) - - -ida_expr.idc_value_t.set_string(): - - set_string(self, _str, len) - set_string(self, _str) - - -ida_expr.idc_value_t.swap(): - - swap(self, v) - - -ida_expr.idc_value_t.u_str(): - - u_str(self) -> uchar const * - - -ida_expr.idc_value_t.vtype: - idc_value_t_vtype_get(self) -> char - -class ida_expr.idc_values_t(): - - Proxy of C++ qvector<(idc_value_t)> class - - -ida_expr.idc_values_t.at(): - - at(self, _idx) -> idc_value_t - - -ida_expr.idc_values_t.begin(): - - begin(self) -> idc_value_t - begin(self) -> idc_value_t - - -ida_expr.idc_values_t.capacity(): - - capacity(self) -> size_t - - -ida_expr.idc_values_t.clear(): - - clear(self) - - -ida_expr.idc_values_t.empty(): - - empty(self) -> bool - - -ida_expr.idc_values_t.end(): - - end(self) -> idc_value_t - end(self) -> idc_value_t - - -ida_expr.idc_values_t.erase(): - - erase(self, it) -> idc_value_t - erase(self, first, last) -> idc_value_t - - -ida_expr.idc_values_t.extract(): - - extract(self) -> idc_value_t - - -ida_expr.idc_values_t.grow(): - - grow(self, x=idc_value_t()) - - -ida_expr.idc_values_t.inject(): - - inject(self, s, len) - - -ida_expr.idc_values_t.insert(): - - insert(self, it, x) -> idc_value_t - - -ida_expr.idc_values_t.pop_back(): - - pop_back(self) - - -ida_expr.idc_values_t.push_back(): - - push_back(self, x) - push_back(self) -> idc_value_t - - -ida_expr.idc_values_t.qclear(): - - qclear(self) - - -ida_expr.idc_values_t.reserve(): - - reserve(self, cnt) - - -ida_expr.idc_values_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_expr.idc_values_t.size(): - - size(self) -> size_t - - -ida_expr.idc_values_t.swap(): - - swap(self, r) - - -ida_expr.idc_values_t.truncate(): - - truncate(self) - - -ida_expr.idcv_float(): - - idcv_float(v) -> error_t - - - Convert IDC variable to a floating point. - - - @param v (C++: idc_value_t *) - - -ida_expr.idcv_int64(): - - 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 - - -ida_expr.idcv_long(): - - 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 - - -ida_expr.idcv_num(): - - 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 - - -ida_expr.idcv_object(): - - idcv_object(v, icls=None) -> error_t - - - Create an IDC object. The original value of 'v' is discarded (freed). - - @param v: variable to hold the object. any previous value will be - cleaned (C++: idc_value_t *) - @param icls: ptr to the desired class. NULL means "object" class this - ptr must be returned by add_idc_class() or - find_idc_class() (C++: const idc_class_t *) - @return: always eOk - - -ida_expr.idcv_string(): - - idcv_string(v) -> error_t - - - Convert IDC variable to a text string. - - - @param v (C++: idc_value_t *) - - -ida_expr.last_idcv_attr(): - - last_idcv_attr(obj) -> char const * - - -ida_expr.move_idcv(): - - 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 *) - - -ida_expr.next_idcv_attr(): - - next_idcv_attr(obj, attr) -> char const * - - -ida_expr.prev_idcv_attr(): - - prev_idcv_attr(obj, attr) -> char const * - - -ida_expr.print_idcv(): - - print_idcv(v, name=None, indent=0) -> bool - - - Get text representation of 'idc_value_t' . - - - @param v (C++: const idc_value_t &) - @param name (C++: const char *) - @param indent (C++: int) - - -ida_expr.py_add_idc_func(): - - py_add_idc_func(name, fp_ptr, args, defvals, flags) -> bool - - -ida_expr.py_get_call_idc_func(): - - py_get_call_idc_func() -> size_t - - -ida_expr.pyw_convert_defvals(): - - pyw_convert_defvals(out, py_seq) -> bool - - -ida_expr.pyw_register_idc_func(): - - pyw_register_idc_func(name, args, py_fp) -> size_t - - -ida_expr.pyw_unregister_idc_func(): - - pyw_unregister_idc_func(ctxptr) -> bool - - -ida_expr.set_header_path(): - - 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: list of directories to add (separated by ';') may be - NULL, in this case nothing is added (C++: const char *) - @param add: true: append. false: remove old paths. (C++: bool) - - -ida_expr.set_idcv_attr(): - - set_idcv_attr(obj, attr, value, may_use_setattr=False) -> error_t - - - Set an object attribute. - - @param obj: variable that holds an object reference. if obj is NULL - then it tries to modify a global variable with the - attribute name (C++: idc_value_t *) - @param attr: attribute name (C++: const char *) - @param value: new attribute value (C++: const idc_value_t &) - @param may_use_setattr: may call setattr functions for the class (C++: - bool) - @return: error code, eOk on success - - -ida_expr.set_idcv_slice(): - - set_idcv_slice(v, i1, i2, _in, flags=0) -> error_t - - - Set slice. - - @param v: variable to modify (string or object) (C++: idc_value_t *) - @param i1: slice start index (C++: uval_t) - @param i2: slice end index (excluded) (C++: uval_t) - @param flags: IDC variable slice flags or 0 (C++: int) - @return: eOk on success - - -ida_expr.swap_idcvs(): - - swap_idcvs(v1, v2) - - - Swap 2 variables. - - - @param v1 (C++: idc_value_t *) - @param v2 (C++: idc_value_t *) - - -ida_expr.throw_idc_exception(): - - 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: object to hold the exception object (C++: idc_value_t *) - @param desc: exception description (C++: const char *) - @return: eExecThrow - - - -=== ida_expr EPYDOC INJECTIONS === -ida_expr.CPL_DEL_MACROS -""" -delete macros at the end of compilation -""" - -ida_expr.CPL_ONLY_SAFE -""" -allow calls of only thread-safe functions -""" - -ida_expr.CPL_USE_LABELS -""" -allow program labels in the script -""" - -ida_expr.IDC_LANG_EXT -""" -IDC script extension. -""" - -ida_expr.VARSLICE_SINGLE -""" -return single index (i2 is ignored) -""" - -ida_expr.VREF_COPY -""" -copy the result to the input var (v) -""" - -ida_expr.VREF_LOOP -""" -dereference until we get a non 'VT_REF' -""" - -ida_expr.VREF_ONCE -""" -dereference only once, do not loop -""" - -ida_expr.VT_FLOAT -""" -Floating point (see 'idc_value_t::e' ) -""" - -ida_expr.VT_FUNC -""" -Function (see 'idc_value_t::funcidx' ) -""" - -ida_expr.VT_INT64 -""" -i64 -""" - -ida_expr.VT_LONG -""" -Integer (see 'idc_value_t::num' ) -""" - -ida_expr.VT_OBJ -""" -Object (see idc_value_t::obj) -""" - -ida_expr.VT_PVOID -""" -void * -""" - -ida_expr.VT_REF -""" -Reference. -""" - -ida_expr.VT_STR -""" -String (see qstr() and similar functions) -""" - -ida_expr.VT_WILD -""" -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' . -""" - -ida_expr.eExecThrow -""" -See return value of 'idc_func_t' . -""" -=== ida_expr EPYDOC INJECTIONS END === -ida_fixup.calc_fixup_size(): - - calc_fixup_size(type) -> int - - - Calculate size of fixup in bytes (the number of bytes the fixup - patches) - - @param type (C++: fixup_type_t) - - -ida_fixup.contains_fixups(): - - contains_fixups(ea, size) -> bool - - - Does the specified address range contain any fixup information? - - - @param ea (C++: ea_t) - @param size (C++: asize_t) - - -ida_fixup.del_fixup(): - - del_fixup(source) - - - Delete fixup information. - - - @param source (C++: ea_t) - - -ida_fixup.exists_fixup(): - - exists_fixup(source) -> bool - - - Check that a fixup exists at the given address. - - - @param source (C++: ea_t) - - -ida_fixup.find_custom_fixup(): - - find_custom_fixup(name) -> fixup_type_t - - - Get id of a custom fixup handler. - - @param name: name of the custom fixup handler (C++: const char *) - @return: id with FIXUP_CUSTOM bit set or 0 - - -class ida_fixup.fixup_data_t(): - - Proxy of C++ fixup_data_t class - - -ida_fixup.fixup_data_t.calc_size(): - - calc_size(self) -> int - - -ida_fixup.fixup_data_t.clr_extdef(): - - clr_extdef(self) - - -ida_fixup.fixup_data_t.clr_unused(): - - clr_unused(self) - - -ida_fixup.fixup_data_t.displacement: - fixup_data_t_displacement_get(self) -> adiff_t - -ida_fixup.fixup_data_t.get(): - - get(self, source) -> bool - - -ida_fixup.fixup_data_t.get_base(): - - get_base(self) -> ea_t - - -ida_fixup.fixup_data_t.get_desc(): - - get_desc(self, source) -> char const * - - -ida_fixup.fixup_data_t.get_flags(): - - get_flags(self) -> uint32 - - -ida_fixup.fixup_data_t.get_handler(): - - get_handler(self) -> fixup_handler_t const * - - -ida_fixup.fixup_data_t.get_type(): - - get_type(self) -> fixup_type_t - - -ida_fixup.fixup_data_t.get_value(): - - get_value(self, ea) -> uval_t - - -ida_fixup.fixup_data_t.has_base(): - - has_base(self) -> bool - - -ida_fixup.fixup_data_t.is_custom(): - - is_custom(self) -> bool - - -ida_fixup.fixup_data_t.is_extdef(): - - is_extdef(self) -> bool - - -ida_fixup.fixup_data_t.is_unused(): - - is_unused(self) -> bool - - -ida_fixup.fixup_data_t.off: - fixup_data_t_off_get(self) -> ea_t - -ida_fixup.fixup_data_t.patch_value(): - - patch_value(self, ea) -> bool - - -ida_fixup.fixup_data_t.sel: - fixup_data_t_sel_get(self) -> sel_t - -ida_fixup.fixup_data_t.set(): - - set(self, source) - - -ida_fixup.fixup_data_t.set_base(): - - set_base(self, new_base) - - -ida_fixup.fixup_data_t.set_extdef(): - - set_extdef(self) - - -ida_fixup.fixup_data_t.set_sel(): - - set_sel(self, seg) - - -ida_fixup.fixup_data_t.set_target_sel(): - - set_target_sel(self) - - -ida_fixup.fixup_data_t.set_type(): - - set_type(self, type_) - - -ida_fixup.fixup_data_t.set_type_and_flags(): - - set_type_and_flags(self, type_, flags_=0) - - -ida_fixup.fixup_data_t.set_unused(): - - set_unused(self) - - -ida_fixup.fixup_data_t.was_created(): - - was_created(self) -> bool - - -class ida_fixup.fixup_info_t(): - - Proxy of C++ fixup_info_t class - - -ida_fixup.fixup_info_t.ea: - fixup_info_t_ea_get(self) -> ea_t - -ida_fixup.fixup_info_t.fd: - fixup_info_t_fd_get(self) -> fixup_data_t - -ida_fixup.gen_fix_fixups(): - - 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) - - -ida_fixup.get_first_fixup_ea(): - - get_first_fixup_ea() -> ea_t - - - Get the first address with fixup information - - @return: the first address with fixup information, or BADADDR - - -ida_fixup.get_fixup(): - - get_fixup(fd, source) -> bool - - - Get fixup information. - - - @param fd (C++: fixup_data_t *) - @param source (C++: ea_t) - - -ida_fixup.get_fixup_desc(): - - get_fixup_desc(source, fd) -> char const * - - - Get FIXUP description comment. - - - @param source (C++: ea_t) - @param fd (C++: const fixup_data_t &) - - -ida_fixup.get_fixup_handler(): - - get_fixup_handler(type) -> fixup_handler_t const * - - - Get handler of standard or custom fixup. - - - @param type (C++: fixup_type_t) - - -ida_fixup.get_fixup_value(): - - 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 'patch_fixup_value()' `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. - 'fixup_handler_t::size' - - @param ea: address to get fixup bytes from, the size of the fixup - bytes depends on the fixup type. (C++: ea_t) - @param type (C++: fixup_type_t) - - -ida_fixup.get_fixups(): - - get_fixups(out, ea, size) -> bool - - -ida_fixup.get_next_fixup_ea(): - - get_next_fixup_ea(ea) -> ea_t - - - Find next address with fixup information - - @param ea: current address (C++: ea_t) - @return: the next address with fixup information, or BADADDR - - -ida_fixup.get_prev_fixup_ea(): - - get_prev_fixup_ea(ea) -> ea_t - - - Find previous address with fixup information - - @param ea: current address (C++: ea_t) - @return: the previous address with fixup information, or BADADDR - - -ida_fixup.is_fixup_custom(): - - is_fixup_custom(type) -> bool - - - Is fixup processed by processor module? - - - @param type (C++: fixup_type_t) - - -ida_fixup.patch_fixup_value(): - - 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. 'fixup_handler_t::size' - - @param ea: address where data are changed, the size of the changed - data depends on the fixup type. (C++: ea_t) - @param fd (C++: const fixup_data_t &) - - -ida_fixup.set_fixup(): - - 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: the fixup source address, i.e. the address modified by - the fixup (C++: ea_t) - @param fd: fixup data (C++: const fixup_data_t &) - - - -=== ida_fixup EPYDOC INJECTIONS === -ida_fixup.FIXUPF_CREATED -""" -fixup was not present in the input file -""" - -ida_fixup.FIXUPF_EXTDEF -""" -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. -""" - -ida_fixup.FIXUPF_LOADER_MASK -""" -additional flags. The bits from this mask are not stored in the -database and can be used by the loader at its discretion. -""" - -ida_fixup.FIXUPF_REL -""" -fixup is relative to the linear address `base' . Otherwise fixup is -relative to the start of the segment with `sel' selector. -""" - -ida_fixup.FIXUPF_UNUSED -""" -fixup is ignored by IDAdisallows the kernel to convert operandsthis -fixup is not used during output -""" -=== ida_fixup EPYDOC INJECTIONS END === -class ida_fpro.qfile_t(): - - Proxy of C++ qfile_t class - - - A helper class to work with FILE related functions. - - -ida_fpro.qfile_t.close(): - - close(self) - - -ida_fpro.qfile_t.filename(): - - filename(self) -> PyObject * - - -ida_fpro.qfile_t.flush(): - - flush(self) -> int - - - Reads a single character from the file. Returns None if EOF or the read character - - -ida_fpro.qfile_t.from_cobject(): - - from_cobject(pycobject) -> qfile_t - - -ida_fpro.qfile_t.from_fp(): - - from_fp(fp) -> qfile_t - - -ida_fpro.qfile_t.get_char(): - - get_char(self) -> PyObject * - - -ida_fpro.qfile_t.get_fp(): - - get_fp(self) -> FILE * - - -ida_fpro.qfile_t.gets(): - - gets(self, size) -> PyObject * - - - Reads a line from the input file. Returns the read line or None - - -ida_fpro.qfile_t.open(): - - open(self, filename, mode) -> bool - - - Opens a file - @param filename: the file name - @param mode: The mode string, ala fopen() style - @return: Boolean - - -ida_fpro.qfile_t.opened(): - - opened(self) -> bool - - - Checks if the file is opened or not - - -ida_fpro.qfile_t.put_char(): - - put_char(self, chr) -> int - - - Writes a single character to the file - - -ida_fpro.qfile_t.puts(): - - puts(self, str) -> int - - -ida_fpro.qfile_t.read(): - - read(self, size) -> PyObject * - - - Reads from the file. Returns the buffer or None - - -ida_fpro.qfile_t.readbytes(): - - readbytes(self, size, big_endian) -> PyObject * - - - Similar to read() but it respect the endianness - - -ida_fpro.qfile_t.seek(): - - seek(self, offset, whence=SEEK_SET) -> int - - - Set input source position - @return: the new position (not 0 as fseek!) - - -ida_fpro.qfile_t.size(): - - size(self) -> int64 - - -ida_fpro.qfile_t.tell(): - - tell(self) -> int64 - - - Returns the current position - - -ida_fpro.qfile_t.tmpfile(): - - tmpfile() -> qfile_t - - - A static method to construct an instance using a temporary file - - -ida_fpro.qfile_t.write(): - - write(self, py_buf) -> int - - - Writes to the file. Returns 0 or the number of bytes written - - -ida_fpro.qfile_t.writebytes(): - - writebytes(self, py_buf, big_endian) -> int - - - Similar to write() but it respect the endianness - - -ida_fpro.qfile_t_from_cobject(): - - qfile_t_from_cobject(pycobject) -> qfile_t - - -ida_fpro.qfile_t_from_fp(): - - qfile_t_from_fp(fp) -> qfile_t - - -ida_fpro.qfile_t_tmpfile(): - - qfile_t_tmpfile() -> qfile_t - - -ida_frame.add_auto_stkpnt(): - - add_auto_stkpnt(pfn, ea, delta) -> bool - - - Add automatic SP register change point. - - @param pfn: pointer to function. may be NULL. (C++: func_t *) - @param ea: linear address where SP changes. usually this is the end of - the instruction which modifies the stack pointer - (\cmd{ea}+\cmd{size}) (C++: ea_t) - @param delta: difference between old and new values of SP (C++: - sval_t) - @return: success - - -ida_frame.add_frame(): - - add_frame(pfn, frsize, frregs, argsize) -> bool - - - Add function frame. - - @param pfn: pointer to function structure (C++: func_t *) - @param frsize: size of function local variables (C++: sval_t) - @param frregs: size of saved registers (C++: ushort) - @param argsize: 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. (C++: asize_t) - - -ida_frame.add_regvar(): - - add_regvar(pfn, ea1, ea2, canon, user, cmt) -> int - - - Define a register variable. - - @param pfn: function in which the definition will be created (C++: - func_t *) - @param ea1: range of addresses within the function where the - definition will be used (C++: ea_t) - @param ea2: range of addresses within the function where the - definition will be used (C++: ea_t) - @param canon: name of a general register (C++: const char *) - @param user: user-defined name for the register (C++: const char *) - @param cmt: comment for the definition (C++: const char *) - @return: Register variable error codes - - -ida_frame.add_user_stkpnt(): - - add_user_stkpnt(ea, delta) -> bool - - - Add user-defined SP register change point. - - @param ea: linear address where SP changes (C++: ea_t) - @param delta: difference between old and new values of SP (C++: - sval_t) - @return: success - - -ida_frame.build_stkvar_name(): - - build_stkvar_name(pfn, v) -> ssize_t - - - Build automatic stack variable name. - - @param pfn: pointer to function (can't be NULL!) (C++: const func_t - *) - @param v: value of variable offset (C++: sval_t) - @return: length of stack variable name or -1 - - -ida_frame.build_stkvar_xrefs(): - - build_stkvar_xrefs(out, pfn, mptr) - - - Fill 'out' with a list of all the xrefs made from function 'pfn', to - the argument or variable 'mptr' in 'pfn's stack frame. - - @param out: the list of xrefs to fill. (C++: xreflist_t *) - @param pfn: the function to scan. (C++: func_t *) - @param mptr: the argument/variable in pfn's stack frame. (C++: const - member_t *) - - -ida_frame.calc_stkvar_struc_offset(): - - calc_stkvar_struc_offset(pfn, insn, n) -> ea_t - - - Calculate offset of stack variable in the frame structure. - - @param pfn: pointer to function (can't be NULL!) (C++: func_t *) - @param insn: the instruction (C++: const insn_t &) - @param n: number of operand: (0.. UA_MAXOP -1) -1 if error, return - BADADDR (C++: int) - @return: BADADDR if some error (issue a warning if stack frame is - bad) - - -ida_frame.define_stkvar(): - - define_stkvar(pfn, name, off, flags, ti, nbytes) -> bool - - - Define/redefine a stack variable. - - @param pfn: pointer to function (C++: func_t *) - @param name: variable name, NULL means autogenerate a name (C++: const - char *) - @param off: offset of the stack variable in the frame. negative values - denote local variables, positive - function arguments. - (C++: sval_t) - @param flags: variable type flags ( byte_flag() for a byte variable, - for example) (C++: flags_t) - @param ti: additional type information (like offsets, structs, etc) - (C++: const opinfo_t *) - @param nbytes: number of bytes occupied by the variable (C++: asize_t) - @return: success - - -ida_frame.del_frame(): - - del_frame(pfn) -> bool - - - Delete a function frame. - - @param pfn: pointer to function structure (C++: func_t *) - @return: success - - -ida_frame.del_regvar(): - - del_regvar(pfn, ea1, ea2, canon) -> int - - - Delete a register variable definition. - - @param pfn: function in question (C++: func_t *) - @param ea1: range of addresses within the function where the - definition holds (C++: ea_t) - @param ea2: range of addresses within the function where the - definition holds (C++: ea_t) - @param canon: name of a general register (C++: const char *) - @return: Register variable error codes - - -ida_frame.del_stkpnt(): - - del_stkpnt(pfn, ea) -> bool - - - Delete SP register change point. - - @param pfn: pointer to function. may be NULL. (C++: func_t *) - @param ea: linear address (C++: ea_t) - @return: success - - -ida_frame.delete_unreferenced_stkvars(): - - delete_unreferenced_stkvars(pfn) -> int - - -ida_frame.delete_wrong_stkvar_ops(): - - delete_wrong_stkvar_ops(pfn) -> int - - -ida_frame.find_regvar(): - - find_regvar(pfn, ea1, ea2, canon, user) -> regvar_t - find_regvar(pfn, ea, canon) -> regvar_t - - - Find a register variable definition (powerful version). One of 'canon' - and 'user' should be NULL. If both 'canon' and 'user' are NULL it - returns the first regvar definition in the range. - - @param pfn: function in question (C++: func_t *) - @param ea1: range of addresses to search. ea1==BADADDR means the - entire function (C++: ea_t) - @param ea2: range of addresses to search. ea1==BADADDR means the - entire function (C++: ea_t) - @param canon: name of a general register (C++: const char *) - @param user: user-defined name for the register (C++: const char *) - @return: NULL-not found, otherwise ptr to regvar_t - - -ida_frame.frame_off_args(): - - frame_off_args(pfn) -> ea_t - - - Get starting address of arguments section. - - - @param pfn (C++: const func_t *) - - -ida_frame.frame_off_lvars(): - - frame_off_lvars(pfn) -> ea_t - - - Get start address of local variables section. - - - @param pfn (C++: const func_t *) - - -ida_frame.frame_off_retaddr(): - - frame_off_retaddr(pfn) -> ea_t - - - Get starting address of return address section. - - - @param pfn (C++: const func_t *) - - -ida_frame.frame_off_savregs(): - - frame_off_savregs(pfn) -> ea_t - - - Get starting address of saved registers section. - - - @param pfn (C++: const func_t *) - - -ida_frame.get_effective_spd(): - - 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: pointer to function. may be NULL. (C++: func_t *) - @param ea: linear address (C++: ea_t) - @return: 0 or the difference, usually a negative number - - -ida_frame.get_frame(): - - get_frame(pfn) -> struc_t - get_frame(ea) -> struc_t * - - - Get pointer to function frame. - - @param pfn: pointer to function structure (C++: const func_t *) - - -ida_frame.get_frame_part(): - - get_frame_part(range, pfn, part) - - - Get offsets of the frame part in the frame. - - @param range: pointer to the output buffer with the frame part - start/end(exclusive) offsets, can't be NULL (C++: - range_t *) - @param pfn: pointer to function structure, can't be NULL (C++: const - func_t *) - @param part: frame part (C++: frame_part_t) - - -ida_frame.get_frame_retsize(): - - get_frame_retsize(pfn) -> int - - - Get size of function return address. - - @param pfn: pointer to function structure, can't be NULL (C++: const - func_t *) - - -ida_frame.get_frame_size(): - - 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: pointer to function structure, may be NULL (C++: const - func_t *) - @return: size of frame in bytes or zero - - -ida_frame.get_func_by_frame(): - - get_func_by_frame(frame_id) -> ea_t - - - Get function by its frame id.this function works only with databases - created by IDA > 5.6 - - @param frame_id: id of the function frame (C++: tid_t) - @return: start address of the function or BADADDR - - -ida_frame.get_min_spd_ea(): - - get_min_spd_ea(pfn) -> ea_t - - -ida_frame.get_sp_delta(): - - get_sp_delta(pfn, ea) -> sval_t - - - Get modification of SP made at the specified location - - @param pfn: pointer to function. may be NULL. (C++: func_t *) - @param ea: linear address (C++: ea_t) - @return: 0 if the specified location doesn't contain a SP change - point. otherwise return delta of SP modification. - - -ida_frame.get_spd(): - - get_spd(pfn, ea) -> sval_t - - - Get difference between the initial and current values of ESP. - - @param pfn: pointer to function. may be NULL. (C++: func_t *) - @param ea: linear address of an instruction (C++: ea_t) - @return: 0 or the difference, usually a negative number. returns the - sp-diff before executing the instruction. - - -ida_frame.get_stkvar(): - - get_stkvar(insn, op, v) -> PyObject * - - - Get pointer to stack variable - @param op: reference to instruction operand - @param v: immediate value in the operand (usually op.addr) - @return: - - None on failure - - tuple(member_t, actval) - where actval: actual value used to fetch stack variable - - -ida_frame.has_regvar(): - - has_regvar(pfn, ea) -> bool - - - Is there a register variable definition? - - @param pfn: function in question (C++: func_t *) - @param ea: current address (C++: ea_t) - - -ida_frame.is_funcarg_off(): - - is_funcarg_off(pfn, frameoff) -> bool - - - Does the given offset lie within the arguments section? - - - @param pfn (C++: const func_t *) - @param frameoff (C++: uval_t) - - -class ida_frame.llabel_t(): - - Proxy of C++ llabel_t class - - -ida_frame.llabel_t.ea: - llabel_t_ea_get(self) -> ea_t - -ida_frame.llabel_t.name: - llabel_t_name_get(self) -> char * - -ida_frame.lvar_off(): - - lvar_off(pfn, frameoff) -> sval_t - - - Does the given offset lie within the local variables section? - - - @param pfn (C++: const func_t *) - @param frameoff (C++: uval_t) - - -ida_frame.recalc_spd(): - - 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: linear address of the current instruction (C++: ea_t) - - -class ida_frame.regvar_t(): - - Proxy of C++ regvar_t class - - -ida_frame.regvar_t._print(): - - _print(self) -> size_t - - -ida_frame.regvar_t.canon: - regvar_t_canon_get(self) -> char * - -ida_frame.regvar_t.clear(): - - clear(self) - - -ida_frame.regvar_t.cmt: - regvar_t_cmt_get(self) -> char * - -ida_frame.regvar_t.compare(): - - compare(self, r) -> int - - -ida_frame.regvar_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_frame.regvar_t.empty(): - - empty(self) -> bool - - -ida_frame.regvar_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_frame.regvar_t.extend(): - - extend(self, ea) - - -ida_frame.regvar_t.intersect(): - - intersect(self, r) - - -ida_frame.regvar_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_frame.regvar_t.size(): - - size(self) -> asize_t - - -ida_frame.regvar_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_frame.regvar_t.user: - regvar_t_user_get(self) -> char * - -ida_frame.rename_regvar(): - - rename_regvar(pfn, v, user) -> int - - - Rename a register variable. - - @param pfn: function in question (C++: func_t *) - @param v: variable to rename (C++: regvar_t *) - @param user: new user-defined name for the register (C++: const char - *) - @return: Register variable error codes - - -ida_frame.set_frame_size(): - - 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 - get_struc_size(get_frame(pfn)). - - @param pfn: pointer to function structure (C++: func_t *) - @param frsize: size of function local variables (C++: asize_t) - @param frregs: size of saved registers (C++: ushort) - @param argsize: size of function arguments that will be purged from - the stack upon return (C++: asize_t) - @return: success - - -ida_frame.set_purged(): - - 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: address of the function of item (C++: ea_t) - @param nbytes: number of purged bytes (C++: int) - @param override_old_value: may overwrite old information about purged - bytes (C++: bool) - @return: success - - -ida_frame.set_regvar_cmt(): - - set_regvar_cmt(pfn, v, cmt) -> int - - - Set comment for a register variable. - - @param pfn: function in question (C++: func_t *) - @param v: variable to rename (C++: regvar_t *) - @param cmt: new comment (C++: const char *) - @return: Register variable error codes - - -ida_frame.soff_to_fpoff(): - - soff_to_fpoff(pfn, soff) -> sval_t - - - Convert struct offsets into fp-relative offsets. This function - converts the offsets inside the 'struc_t' object into the frame - pointer offsets (for example, EBP-relative). - - @param pfn (C++: func_t *) - @param soff (C++: uval_t) - - -class ida_frame.stkpnt_t(): - - Proxy of C++ stkpnt_t class - - -ida_frame.stkpnt_t.compare(): - - compare(self, r) -> int - - -ida_frame.stkpnt_t.ea: - stkpnt_t_ea_get(self) -> ea_t - -ida_frame.stkpnt_t.spd: - stkpnt_t_spd_get(self) -> sval_t - -class ida_frame.stkpnts_t(): - - Proxy of C++ stkpnts_t class - - -ida_frame.stkpnts_t.compare(): - - compare(self, r) -> int - - -ida_frame.update_fpd(): - - update_fpd(pfn, fpd) -> bool - - - Update frame pointer delta. - - @param pfn: pointer to function structure (C++: func_t *) - @param fpd: new fpd value. cannot be bigger than the local variable - range size. (C++: asize_t) - @return: success - - -class ida_frame.xreflist_entry_t(): - - Proxy of C++ xreflist_entry_t class - - -ida_frame.xreflist_entry_t.ea: - xreflist_entry_t_ea_get(self) -> ea_t - -ida_frame.xreflist_entry_t.opnum: - xreflist_entry_t_opnum_get(self) -> uchar - -ida_frame.xreflist_entry_t.type: - xreflist_entry_t_type_get(self) -> uchar - -class ida_frame.xreflist_t(): - - Proxy of C++ qvector<(xreflist_entry_t)> class - - -ida_frame.xreflist_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_frame.xreflist_t.at(): - - at(self, _idx) -> xreflist_entry_t - - -ida_frame.xreflist_t.begin(): - - begin(self) -> xreflist_entry_t - begin(self) -> xreflist_entry_t - - -ida_frame.xreflist_t.capacity(): - - capacity(self) -> size_t - - -ida_frame.xreflist_t.clear(): - - clear(self) - - -ida_frame.xreflist_t.empty(): - - empty(self) -> bool - - -ida_frame.xreflist_t.end(): - - end(self) -> xreflist_entry_t - end(self) -> xreflist_entry_t - - -ida_frame.xreflist_t.erase(): - - erase(self, it) -> xreflist_entry_t - erase(self, first, last) -> xreflist_entry_t - - -ida_frame.xreflist_t.extract(): - - extract(self) -> xreflist_entry_t - - -ida_frame.xreflist_t.find(): - - find(self, x) -> xreflist_entry_t - find(self, x) -> xreflist_entry_t - - -ida_frame.xreflist_t.grow(): - - grow(self, x=xreflist_entry_t()) - - -ida_frame.xreflist_t.has(): - - has(self, x) -> bool - - -ida_frame.xreflist_t.inject(): - - inject(self, s, len) - - -ida_frame.xreflist_t.insert(): - - insert(self, it, x) -> xreflist_entry_t - - -ida_frame.xreflist_t.pop_back(): - - pop_back(self) - - -ida_frame.xreflist_t.push_back(): - - push_back(self, x) - push_back(self) -> xreflist_entry_t - - -ida_frame.xreflist_t.qclear(): - - qclear(self) - - -ida_frame.xreflist_t.reserve(): - - reserve(self, cnt) - - -ida_frame.xreflist_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_frame.xreflist_t.size(): - - size(self) -> size_t - - -ida_frame.xreflist_t.swap(): - - swap(self, r) - - -ida_frame.xreflist_t.truncate(): - - truncate(self) - - - -=== ida_frame EPYDOC INJECTIONS === -ida_frame.REGVAR_ERROR_ARG -""" -function arguments are bad -""" - -ida_frame.REGVAR_ERROR_NAME -""" -the provided name(s) can't be accepted -""" - -ida_frame.REGVAR_ERROR_OK -""" -all ok -""" - -ida_frame.REGVAR_ERROR_RANGE -""" -the definition range is bad -""" - -ida_frame.STKVAR_VALID_SIZE -""" -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 -""" -=== ida_frame EPYDOC INJECTIONS END === -ida_funcs.add_func(): - - 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: start address (C++: ea_t) - @param ea2: end address (C++: ea_t) - @return: success - - -ida_funcs.add_func_ex(): - - 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: ptr to filled function structure (C++: func_t *) - @return: success - - -ida_funcs.add_regarg(): - - add_regarg(pfn, reg, tif, name) - - -ida_funcs.append_func_tail(): - - 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 *) - @param ea1: start of the tail. If a tail already exists at the - specified address it must start at 'ea1' (C++: ea_t) - @param ea2: 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. (C++: ea_t) - - -ida_funcs.apply_idasgn_to(): - - apply_idasgn_to(signame, ea, is_startup) -> int - - - Apply a signature file to the specified address. - - @param signame: short name of signature file (the file name without - path) (C++: const char *) - @param ea: address to apply the signature (C++: ea_t) - @param is_startup: 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. (C++: bool) - @return: Library function codes - - -ida_funcs.apply_startup_sig(): - - apply_startup_sig(ea, startup) -> bool - - - Apply a startup signature file to the specified address. - - @param ea: address to apply the signature to; usually \inf{start_ea} - (C++: ea_t) - @param startup: the name of the signature file without path and - extension (C++: const char *) - @return: true if successfully applied the signature - - -ida_funcs.calc_func_size(): - - calc_func_size(pfn) -> asize_t - - - Calculate function size. This function takes into account all - fragments of the function. - - @param pfn: ptr to function structure (C++: func_t *) - - -ida_funcs.calc_idasgn_state(): - - calc_idasgn_state(n) -> int - - - Get state of a signature in the list of planned signatures - - @param n: number of signature in the list (0.. get_idasgn_qty() -1) - (C++: int) - @return: state of signature or IDASGN_BADARG - - -ida_funcs.calc_thunk_func_target(): - - calc_thunk_func_target(pfn) -> ea_t - - - Calculate target of a thunk function. - - @param pfn: pointer to function (may not be NULL) (C++: func_t *) - @return: the target function or BADADDR - - -ida_funcs.del_func(): - - del_func(ea) -> bool - - - Delete a function. - - @param ea: any address in the function entry chunk (C++: ea_t) - @return: success - - -ida_funcs.del_idasgn(): - - del_idasgn(n) -> int - - - Remove signature from the list of planned signatures. - - @param n: number of signature in the list (0.. get_idasgn_qty() -1) - (C++: int) - @return: IDASGN_OK , IDASGN_BADARG , IDASGN_APPLIED - - -ida_funcs.f_any(): - - f_any(arg1, arg2) -> bool - - - Helper function to accept any address. - - -ida_funcs.find_func_bounds(): - - 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 \ph{func_bounds} in order to fine tune the function - boundaries. - - @param nfn: structure to fill with information \ nfn->start_ea points - to the start address of the new function. (C++: func_t *) - @param flags: Find function bounds flags (C++: int) - @return: Find function bounds result codes - - -ida_funcs.func_contains(): - - func_contains(pfn, ea) -> bool - - - Does the given function contain the given address? - - - @param pfn (C++: func_t *) - @param ea (C++: ea_t) - - -ida_funcs.func_does_return(): - - 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) - - -ida_funcs.func_item_iterator_decode_preceding_insn(): - - func_item_iterator_decode_preceding_insn(fii, visited, p_farref, out) -> bool - - -ida_funcs.func_item_iterator_decode_prev_insn(): - - func_item_iterator_decode_prev_insn(fii, out) -> bool - - -ida_funcs.func_item_iterator_next(): - - func_item_iterator_next(fii, testf, ud) -> bool - - -ida_funcs.func_item_iterator_prev(): - - func_item_iterator_prev(fii, testf, ud) -> bool - - -class ida_funcs.func_item_iterator_t(): - - Proxy of C++ func_item_iterator_t class - - -ida_funcs.func_item_iterator_t.chunk(): - - chunk(self) -> range_t - - -ida_funcs.func_item_iterator_t.current(): - - current(self) -> ea_t - - -ida_funcs.func_item_iterator_t.decode_preceding_insn(): - - decode_preceding_insn(self, visited, p_farref, out) -> bool - - -ida_funcs.func_item_iterator_t.decode_prev_insn(): - - decode_prev_insn(self, out) -> bool - - -ida_funcs.func_item_iterator_t.first(): - - first(self) -> bool - - -ida_funcs.func_item_iterator_t.last(): - - last(self) -> bool - - -ida_funcs.func_item_iterator_t.next(): - - next(self, func, ud) -> bool - - -ida_funcs.func_item_iterator_t.next_addr(): - - next_addr(self) -> bool - - -ida_funcs.func_item_iterator_t.next_code(): - - next_code(self) -> bool - - -ida_funcs.func_item_iterator_t.next_data(): - - next_data(self) -> bool - - -ida_funcs.func_item_iterator_t.next_head(): - - next_head(self) -> bool - - -ida_funcs.func_item_iterator_t.next_not_tail(): - - next_not_tail(self) -> bool - - -ida_funcs.func_item_iterator_t.prev(): - - prev(self, func, ud) -> bool - - -ida_funcs.func_item_iterator_t.prev_addr(): - - prev_addr(self) -> bool - - -ida_funcs.func_item_iterator_t.prev_code(): - - prev_code(self) -> bool - - -ida_funcs.func_item_iterator_t.prev_data(): - - prev_data(self) -> bool - - -ida_funcs.func_item_iterator_t.prev_head(): - - prev_head(self) -> bool - - -ida_funcs.func_item_iterator_t.prev_not_tail(): - - prev_not_tail(self) -> bool - - -ida_funcs.func_item_iterator_t.set(): - - set(self, pfn, _ea=BADADDR) -> bool - - -ida_funcs.func_item_iterator_t.set_range(): - - set_range(self, ea1, ea2) -> bool - - -ida_funcs.func_parent_iterator_set(): - - func_parent_iterator_set(fpi, pfn) -> bool - - -class ida_funcs.func_parent_iterator_t(): - - Proxy of C++ func_parent_iterator_t class - - -ida_funcs.func_parent_iterator_t.first(): - - first(self) -> bool - - -ida_funcs.func_parent_iterator_t.last(): - - last(self) -> bool - - -ida_funcs.func_parent_iterator_t.next(): - - next(self) -> bool - - -ida_funcs.func_parent_iterator_t.parent(): - - parent(self) -> ea_t - - -ida_funcs.func_parent_iterator_t.prev(): - - prev(self) -> bool - - -ida_funcs.func_parent_iterator_t.reset_fnt(): - - reset_fnt(self, _fnt) - - -ida_funcs.func_parent_iterator_t.set(): - - set(self, _fnt) -> bool - - -class ida_funcs.func_t(): - - Proxy of C++ func_t class - - -ida_funcs.func_t._print(): - - _print(self) -> size_t - - -ida_funcs.func_t.analyzed_sp(): - - analyzed_sp(self) -> bool - - -ida_funcs.func_t.argsize: - func_t_argsize_get(self) -> asize_t - -ida_funcs.func_t.clear(): - - clear(self) - - -ida_funcs.func_t.color: - func_t_color_get(self) -> bgcolor_t - -ida_funcs.func_t.compare(): - - compare(self, r) -> int - - -ida_funcs.func_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_funcs.func_t.does_return(): - - does_return(self) -> bool - - -ida_funcs.func_t.empty(): - - empty(self) -> bool - - -ida_funcs.func_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_funcs.func_t.extend(): - - extend(self, ea) - - -ida_funcs.func_t.flags: - func_t_flags_get(self) -> uint64 - -ida_funcs.func_t.fpd: - func_t_fpd_get(self) -> asize_t - -ida_funcs.func_t.frame: - func_t_frame_get(self) -> uval_t - -ida_funcs.func_t.frregs: - func_t_frregs_get(self) -> ushort - -ida_funcs.func_t.frsize: - func_t_frsize_get(self) -> asize_t - -ida_funcs.func_t.intersect(): - - intersect(self, r) - - -ida_funcs.func_t.is_far(): - - is_far(self) -> bool - - -ida_funcs.func_t.llabelqty: - func_t_llabelqty_get(self) -> int - -ida_funcs.func_t.llabels: - func_t_llabels_get(self) -> llabel_t * - -ida_funcs.func_t.need_prolog_analysis(): - - need_prolog_analysis(self) -> bool - - -ida_funcs.func_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_funcs.func_t.owner: - func_t_owner_get(self) -> ea_t - -ida_funcs.func_t.pntqty: - func_t_pntqty_get(self) -> uint32 - -ida_funcs.func_t.points: - - __get_points__(self) -> stkpnt_array - - -ida_funcs.func_t.referers: - func_t_referers_get(self) -> ea_t * - -ida_funcs.func_t.refqty: - func_t_refqty_get(self) -> int - -ida_funcs.func_t.regargqty: - func_t_regargqty_get(self) -> int - -ida_funcs.func_t.regargs: - func_t_regargs_get(self) -> regarg_t - -ida_funcs.func_t.regvarqty: - func_t_regvarqty_get(self) -> int - -ida_funcs.func_t.regvars: - - __get_regvars__(self) -> regvar_array - - -ida_funcs.func_t.size(): - - size(self) -> asize_t - - -ida_funcs.func_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_funcs.func_t.tailqty: - func_t_tailqty_get(self) -> int - -ida_funcs.func_t.tails: - - __get_tails__(self) -> range_array - - -ida_funcs.func_t__from_ptrval__(): - - func_t__from_ptrval__(ptrval) -> func_t - - -ida_funcs.func_tail_iterator_set(): - - func_tail_iterator_set(fti, pfn, ea) -> bool - - -ida_funcs.func_tail_iterator_set_ea(): - - func_tail_iterator_set_ea(fti, ea) -> bool - - -class ida_funcs.func_tail_iterator_t(): - - Proxy of C++ func_tail_iterator_t class - - -ida_funcs.func_tail_iterator_t.chunk(): - - chunk(self) -> range_t - - -ida_funcs.func_tail_iterator_t.first(): - - first(self) -> bool - - -ida_funcs.func_tail_iterator_t.last(): - - last(self) -> bool - - -ida_funcs.func_tail_iterator_t.main(): - - main(self) -> bool - - -ida_funcs.func_tail_iterator_t.next(): - - next(self) -> bool - - -ida_funcs.func_tail_iterator_t.prev(): - - prev(self) -> bool - - -ida_funcs.func_tail_iterator_t.set(): - - set(self, _pfn, ea=BADADDR) -> bool - - -ida_funcs.func_tail_iterator_t.set_ea(): - - set_ea(self, ea) -> bool - - -ida_funcs.func_tail_iterator_t.set_range(): - - set_range(self, ea1, ea2) -> bool - - -ida_funcs.get_current_idasgn(): - - get_current_idasgn() -> int - - - Get number of the the current signature. - - @return: 0..n-1 - - -ida_funcs.get_fchunk(): - - get_fchunk(ea) -> func_t - - - Get pointer to function chunk structure by address. - - @param ea: any address in a function chunk (C++: ea_t) - @return: ptr to a function chunk or NULL. This function may return a - function entry as well as a function tail. - - -ida_funcs.get_fchunk_num(): - - get_fchunk_num(ea) -> int - - - Get ordinal number of a function chunk in the global list of function - chunks. - - @param ea: any address in the function chunk (C++: ea_t) - @return: number of function chunk (0.. get_fchunk_qty() -1). -1 means - 'no function chunk at the specified address'. - - -ida_funcs.get_fchunk_qty(): - - get_fchunk_qty() -> size_t - - - Get total number of function chunks in the program. - - -ida_funcs.get_fchunk_referer(): - - get_fchunk_referer(ea, idx) -> ea_t - - -ida_funcs.get_func(): - - get_func(ea) -> func_t - - - Get pointer to function structure by address. - - @param ea: any address in a function (C++: ea_t) - @return: ptr to a function or NULL. This function returns a function - entry chunk. - - -ida_funcs.get_func_bitness(): - - get_func_bitness(pfn) -> int - - - Get function bitness (which is equal to the function segment bitness). - pfn==NULL => returns 0 - - @param pfn (C++: const func_t *) - - -ida_funcs.get_func_bits(): - - get_func_bits(pfn) -> int - - - Get number of bits in the function addressing. - - - @param pfn (C++: const func_t *) - - -ida_funcs.get_func_bytes(): - - get_func_bytes(pfn) -> int - - - Get number of bytes in the function addressing. - - - @param pfn (C++: const func_t *) - - -ida_funcs.get_func_chunknum(): - - get_func_chunknum(pfn, ea) -> int - - - Get the containing tail chunk of 'ea'. - - @param pfn (C++: func_t *) - @param ea (C++: ea_t) - - -ida_funcs.get_func_cmt(): - - get_func_cmt(pfn, repeatable) -> ssize_t - - - Get function comment. - - @param pfn: ptr to function structure (C++: const func_t *) - @param repeatable: get repeatable comment? (C++: bool) - @return: size of comment or -1 In fact this function works with - function chunks too. - - -ida_funcs.get_func_name(): - - get_func_name(ea) -> ssize_t - - - Get function name. - - @param ea: any address in the function (C++: ea_t) - @return: length of the function name - - -ida_funcs.get_func_num(): - - get_func_num(ea) -> int - - - Get ordinal number of a function. - - @param ea: any address in the function (C++: ea_t) - @return: number of function (0.. get_func_qty() -1). -1 means 'no - function at the specified address'. - - -ida_funcs.get_func_qty(): - - get_func_qty() -> size_t - - - Get total number of functions in the program. - - -ida_funcs.get_func_ranges(): - - get_func_ranges(ranges, pfn) -> ea_t - - - Get function ranges. - - @param ranges: buffer to receive the range info (C++: rangeset_t *) - @param pfn: ptr to function structure (C++: func_t *) - @return: end address of the last function range (BADADDR-error) - - -ida_funcs.get_idasgn_desc(): - - get_idasgn_desc(n) -> PyObject * - - - 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) - - -ida_funcs.get_idasgn_desc_with_matches(): - - get_idasgn_desc_with_matches(n) -> PyObject * - - - 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) - - -ida_funcs.get_idasgn_qty(): - - get_idasgn_qty() -> int - - - Get number of signatures in the list of planned and applied - signatures. - - @return: 0..n - - -ida_funcs.get_idasgn_title(): - - get_idasgn_title(name) -> ssize_t - - - Get full description of the signature by its short name. - - @param name: short name of a signature (C++: const char *) - @return: size of signature description or -1 - - -ida_funcs.get_next_fchunk(): - - get_next_fchunk(ea) -> func_t - - - Get pointer to the next function chunk in the global list. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to function chunk or NULL if next function chunk doesn't - exist - - -ida_funcs.get_next_func(): - - get_next_func(ea) -> func_t - - - Get pointer to the next function. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to function or NULL if next function doesn't exist - - -ida_funcs.get_next_func_addr(): - - get_next_func_addr(pfn, ea) -> ea_t - - -ida_funcs.get_prev_fchunk(): - - get_prev_fchunk(ea) -> func_t - - - Get pointer to the previous function chunk in the global list. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to function chunk or NULL if previous function chunk - doesn't exist - - -ida_funcs.get_prev_func(): - - get_prev_func(ea) -> func_t - - - Get pointer to the previous function. - - @param ea: any address in the program (C++: ea_t) - @return: ptr to function or NULL if previous function doesn't exist - - -ida_funcs.get_prev_func_addr(): - - get_prev_func_addr(pfn, ea) -> ea_t - - -ida_funcs.getn_fchunk(): - - getn_fchunk(n) -> func_t - - - Get pointer to function chunk structure by number. - - @param n: number of function chunk, is in range 0.. get_fchunk_qty() - -1 (C++: int) - @return: ptr to a function chunk or NULL. This function may return a - function entry as well as a function tail. - - -ida_funcs.getn_func(): - - getn_func(n) -> func_t - - - Get pointer to function structure by number. - - @param n: number of function, is in range 0.. get_func_qty() -1 (C++: - size_t) - @return: ptr to a function or NULL. This function returns a function - entry chunk. - - -ida_funcs.is_finally_visible_func(): - - is_finally_visible_func(pfn) -> bool - - - Is the function visible (event after considering 'SCF_SHHID_FUNC' )? - - - @param pfn (C++: func_t *) - - -ida_funcs.is_func_entry(): - - is_func_entry(pfn) -> bool - - - Does function describe a function entry chunk? - - - @param pfn (C++: const func_t *) - - -ida_funcs.is_func_locked(): - - is_func_locked(pfn) -> bool - - - Is the function pointer locked? - - - @param pfn (C++: const func_t *) - - -ida_funcs.is_func_tail(): - - is_func_tail(pfn) -> bool - - - Does function describe a function tail chunk? - - - @param pfn (C++: const func_t *) - - -ida_funcs.is_same_func(): - - is_same_func(ea1, ea2) -> bool - - - Do two addresses belong to the same function? - - - @param ea1 (C++: ea_t) - @param ea2 (C++: ea_t) - - -ida_funcs.is_visible_func(): - - is_visible_func(pfn) -> bool - - - Is the function visible (not hidden)? - - - @param pfn (C++: func_t *) - - -class ida_funcs.lock_func(): - - Proxy of C++ lock_func class - - -ida_funcs.lock_func_range(): - - 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 *) - @param lock (C++: bool) - - -ida_funcs.plan_to_apply_idasgn(): - - plan_to_apply_idasgn(fname) -> int - - - Add a signature file to the list of planned signature files. - - @param fname: file name. should not contain directory part. (C++: - const char *) - @return: 0 if failed, otherwise number of planned (and applied) - signatures - - -class ida_funcs.range_array(): - - Proxy of C++ dynamic_wrapped_array_t<(range_t)> class - - -ida_funcs.range_array.count: - range_array_count_get(self) -> size_t - -ida_funcs.range_array.data: - range_array_data_get(self) -> range_t - -ida_funcs.read_regargs(): - - read_regargs(pfn) - - -ida_funcs.reanalyze_function(): - - 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: pointer to a function (C++: func_t *) - @param ea1: start of the range to analyze (C++: ea_t) - @param ea2: end of range to analyze (C++: ea_t) - @param analyze_parents: 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. (C++: bool) - - -ida_funcs.reanalyze_noret_flag(): - - 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) - - -class ida_funcs.regarg_t(): - - Proxy of C++ regarg_t class - - -ida_funcs.regarg_t.name: - regarg_t_name_get(self) -> char * - -ida_funcs.regarg_t.reg: - regarg_t_reg_get(self) -> int - -ida_funcs.regarg_t.type: - regarg_t_type_get(self) -> type_t * - -class ida_funcs.regvar_array(): - - Proxy of C++ dynamic_wrapped_array_t<(regvar_t)> class - - -ida_funcs.regvar_array.count: - regvar_array_count_get(self) -> size_t - -ida_funcs.regvar_array.data: - regvar_array_data_get(self) -> regvar_t * - -ida_funcs.remove_func_tail(): - - 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 *) - @param tail_ea (C++: ea_t) - - -ida_funcs.set_func_cmt(): - - set_func_cmt(pfn, cmt, repeatable) -> bool - - - Set function comment. This function works with function chunks too. - - @param pfn: ptr to function structure (C++: const func_t *) - @param cmt: comment string, may be multiline (with ' '). Use empty - str ("") to delete comment (C++: const char *) - @param repeatable: set repeatable comment? (C++: bool) - - -ida_funcs.set_func_end(): - - set_func_end(ea, newend) -> bool - - - Move function chunk end address. - - @param ea: any address in the function (C++: ea_t) - @param newend: new end address of the function (C++: ea_t) - @return: success - - -ida_funcs.set_func_name_if_jumpfunc(): - - set_func_name_if_jumpfunc(pfn, oldname) -> int - - - Give a meaningful name to function if it consists of only 'jump' - instruction. - - @param pfn: pointer to function (may be NULL) (C++: func_t *) - @param oldname: 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 NULL. (C++: const char *) - @return: success - - -ida_funcs.set_func_start(): - - set_func_start(ea, newstart) -> int - - - Move function chunk start address. - - @param ea: any address in the function (C++: ea_t) - @param newstart: new end address of the function (C++: ea_t) - @return: Function move result codes - - -ida_funcs.set_noret_insn(): - - 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 - - -ida_funcs.set_tail_owner(): - - set_tail_owner(fnt, func_start) -> bool - - - Set a function as the possessing function of a function tail. The - function should already refer to the tail (after append_func_tail). - - @param fnt (C++: func_t *) - @param func_start (C++: ea_t) - - -ida_funcs.set_visible_func(): - - set_visible_func(pfn, visible) - - - Set visibility of function. - - - @param pfn (C++: func_t *) - @param visible (C++: bool) - - -class ida_funcs.stkpnt_array(): - - Proxy of C++ dynamic_wrapped_array_t<(stkpnt_t)> class - - -ida_funcs.stkpnt_array.count: - stkpnt_array_count_get(self) -> size_t - -ida_funcs.stkpnt_array.data: - stkpnt_array_data_get(self) -> stkpnt_t * - -ida_funcs.try_to_add_libfunc(): - - 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: any address in the program (C++: ea_t) - @return: Library function codes - - -ida_funcs.update_func(): - - 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: ptr to function structure (C++: func_t *) - @return: success - - - -=== ida_funcs EPYDOC INJECTIONS === -ida_funcs.FIND_FUNC_DEFINE -""" -create instruction if undefined byte is encountered -""" - -ida_funcs.FIND_FUNC_EXIST -""" -its bounds are returned in 'nfn'. - -function exists already. -""" - -ida_funcs.FIND_FUNC_IGNOREFN -""" -ignore existing function boundaries. by default the function returns -function boundaries if ea belongs to a function. -""" - -ida_funcs.FIND_FUNC_KEEPBD -""" -just create instructions inside the boundaries. - -do not modify incoming function boundaries, -""" - -ida_funcs.FIND_FUNC_NORMAL -""" -stop processing if undefined byte is encountered -""" - -ida_funcs.FIND_FUNC_OK -""" -ok, 'nfn' is ready for 'add_func()' -""" - -ida_funcs.FIND_FUNC_UNDEF -""" -nfn->end_ea will have the address of the unexplored byte. - -function has instructions that pass execution flow to unexplored -bytes. -""" - -ida_funcs.FUNC_BOTTOMBP -""" -BP points to the bottom of the stack frame. -""" - -ida_funcs.FUNC_FAR -""" -Far function. -""" - -ida_funcs.FUNC_FRAME -""" -Function uses frame pointer (BP) -""" - -ida_funcs.FUNC_FUZZY_SP -""" -for example: and esp, 0FFFFFFF0h - -Function changes SP in untraceable way, -""" - -ida_funcs.FUNC_HIDDEN -""" -A hidden function chunk. -""" - -ida_funcs.FUNC_LIB -""" -Library function. -""" - -ida_funcs.FUNC_LUMINA -""" -Function info is provided by Lumina. -""" - -ida_funcs.FUNC_NORET -""" -Function doesn't return. -""" - -ida_funcs.FUNC_NORET_PENDING -""" -This flag is verified upon 'func_does_return()' - -Function 'non-return' analysis must be performed. -""" - -ida_funcs.FUNC_PROLOG_OK -""" -by last SP-analysis - -Prolog analysis has be performed -""" - -ida_funcs.FUNC_PURGED_OK -""" -'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. -""" - -ida_funcs.FUNC_SP_READY -""" -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 -""" - -ida_funcs.FUNC_STATICDEF -""" -Static function. -""" - -ida_funcs.FUNC_TAIL -""" -This is a function tail. Other bits must be clear (except -'FUNC_HIDDEN' ). -""" - -ida_funcs.FUNC_THUNK -""" -Thunk (jump) function. -""" - -ida_funcs.FUNC_USERFAR -""" -of the function - -User has specified far-ness -""" - -ida_funcs.IDASGN_APPLIED -""" -signature is already applied -""" - -ida_funcs.IDASGN_BADARG -""" -bad number of signature -""" - -ida_funcs.IDASGN_CURRENT -""" -signature is currently being applied -""" - -ida_funcs.IDASGN_OK -""" -ok -""" - -ida_funcs.IDASGN_PLANNED -""" -signature is planned to be applied -""" - -ida_funcs.LIBFUNC_DELAY -""" -no decision because of lack of information -""" - -ida_funcs.LIBFUNC_FOUND -""" -ok, library function is found -""" - -ida_funcs.LIBFUNC_NONE -""" -no, this is not a library function -""" - -ida_funcs.MOVE_FUNC_BADSTART -""" -bad new start address -""" - -ida_funcs.MOVE_FUNC_NOCODE -""" -no instruction at 'newstart' -""" - -ida_funcs.MOVE_FUNC_NOFUNC -""" -no function at 'ea' -""" - -ida_funcs.MOVE_FUNC_OK -""" -ok -""" - -ida_funcs.MOVE_FUNC_REFUSED -""" -a plugin refused the action -""" -=== ida_funcs EPYDOC INJECTIONS END === -class ida_gdl.BasicBlock(): - - Basic block class. It is returned by the Flowchart class - - -ida_gdl.BasicBlock.preds(): - - Iterates the predecessors list - - -ida_gdl.BasicBlock.succs(): - - Iterates the successors list - - -class ida_gdl.FlowChart(): - - Flowchart class used to determine basic blocks. - Check ex_gdl_qflow_chart.py for sample usage. - - -ida_gdl.FlowChart.refresh(): - - Refreshes the flow chart - - -ida_gdl.display_gdl(): - - 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()' . - - @param fname (C++: const char *) - @return: error code from os, 0 if ok - - -ida_gdl.gen_complex_call_chart(): - - gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1) -> bool - - - Build and display a complex xref graph. - - @param filename: output file name. the file extension is not used. - maybe NULL. (C++: const char *) - @param wait: message to display during graph building (C++: const char - *) - @param title: graph title (C++: const char *) - @param ea1: address range (C++: ea_t) - @param ea2: address range (C++: ea_t) - @param flags: 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. (C++: int) - @param recursion_depth: optional limit of recursion (C++: int32) - @return: success. if fails, a warning message is displayed on the - screen - - -ida_gdl.gen_flow_graph(): - - gen_flow_graph(filename, title, pfn, ea1, ea2, gflags) -> bool - - - Build and display a flow graph. - - @param filename: output file name. the file extension is not used. - maybe NULL. (C++: const char *) - @param title: graph title (C++: const char *) - @param pfn: function to graph (C++: func_t *) - @param ea1: if pfn == NULL, then the address range (C++: ea_t) - @param ea2: if pfn == NULL, then the address range (C++: ea_t) - @param gflags: combination of Flow graph building flags . if none of - CHART_GEN_DOT , CHART_GEN_GDL , CHART_WINGRAPH is - specified, the function will return false (C++: int) - @return: success. if fails, a warning message is displayed on the - screen - - -ida_gdl.gen_gdl(): - - gen_gdl(g, fname) - - - Create GDL file for graph. - - - @param g (C++: const gdl_graph_t *) - @param fname (C++: const char *) - - -ida_gdl.gen_simple_call_chart(): - - gen_simple_call_chart(filename, wait, title, gflags) -> bool - - - Build and display a simple function call graph. - - @param filename: output file name. the file extension is not used. - maybe NULL. (C++: const char *) - @param wait: message to display during graph building (C++: const char - *) - @param title: graph title (C++: const char *) - @param gflags: 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. (C++: int) - @return: success. if fails, a warning message is displayed on the - screen - - -ida_gdl.is_noret_block(): - - is_noret_block(btype) -> bool - - - Does this block never return? - - - @param btype (C++: fc_block_type_t) - - -ida_gdl.is_ret_block(): - - is_ret_block(btype) -> bool - - - Does this block return? - - - @param btype (C++: fc_block_type_t) - - -class ida_gdl.node_iterator(): - - Proxy of C++ node_iterator class - - -class ida_gdl.qbasic_block_t(): - - Proxy of C++ qbasic_block_t class - - -ida_gdl.qbasic_block_t._print(): - - _print(self) -> size_t - - -ida_gdl.qbasic_block_t.clear(): - - clear(self) - - -ida_gdl.qbasic_block_t.compare(): - - compare(self, r) -> int - - -ida_gdl.qbasic_block_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_gdl.qbasic_block_t.empty(): - - empty(self) -> bool - - -ida_gdl.qbasic_block_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_gdl.qbasic_block_t.extend(): - - extend(self, ea) - - -ida_gdl.qbasic_block_t.intersect(): - - intersect(self, r) - - -ida_gdl.qbasic_block_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_gdl.qbasic_block_t.size(): - - size(self) -> asize_t - - -ida_gdl.qbasic_block_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -class ida_gdl.qflow_chart_t(): - - Proxy of C++ qflow_chart_t class - - -ida_gdl.qflow_chart_t.append_to_flowchart(): - - append_to_flowchart(self, ea1, ea2) - - -ida_gdl.qflow_chart_t.bounds: - qflow_chart_t_bounds_get(self) -> range_t - -ida_gdl.qflow_chart_t.calc_block_type(): - - calc_block_type(self, blknum) -> fc_block_type_t - - -ida_gdl.qflow_chart_t.create(): - - create(self, _title, _pfn, _ea1, _ea2, _flags) - create(self, _title, ranges, _flags) - - -ida_gdl.qflow_chart_t.flags: - qflow_chart_t_flags_get(self) -> int - -ida_gdl.qflow_chart_t.get_node_label(): - - get_node_label(self, arg2, arg3, arg4) -> char * - - -ida_gdl.qflow_chart_t.is_noret_block(): - - is_noret_block(self, blknum) -> bool - - -ida_gdl.qflow_chart_t.is_ret_block(): - - is_ret_block(self, blknum) -> bool - - -ida_gdl.qflow_chart_t.npred(): - - npred(self, node) -> int - - -ida_gdl.qflow_chart_t.nproper: - qflow_chart_t_nproper_get(self) -> int - -ida_gdl.qflow_chart_t.nsucc(): - - nsucc(self, node) -> int - - -ida_gdl.qflow_chart_t.pfn: - qflow_chart_t_pfn_get(self) -> func_t * - -ida_gdl.qflow_chart_t.pred(): - - pred(self, node, i) -> int - - -ida_gdl.qflow_chart_t.print_names(): - - print_names(self) -> bool - - -ida_gdl.qflow_chart_t.print_node_attributes(): - - print_node_attributes(self, arg2, arg3) - - -ida_gdl.qflow_chart_t.refresh(): - - refresh(self) - - -ida_gdl.qflow_chart_t.size(): - - size(self) -> int - - -ida_gdl.qflow_chart_t.succ(): - - succ(self, node, i) -> int - - -ida_gdl.qflow_chart_t.title: - qflow_chart_t_title_get(self) -> qstring * - - -=== ida_gdl EPYDOC INJECTIONS === -ida_gdl.CHART_FOLLOW_DIRECTION -""" -analyze references to added blocks only in the direction of the -reference who discovered the current block -""" - -ida_gdl.CHART_GEN_DOT -""" -generate .dot file (file extension is forced to .dot) -""" - -ida_gdl.CHART_GEN_GDL -""" -generate .gdl file (file extension is forced to .gdl) -""" - -ida_gdl.CHART_IGNORE_LIB_FROM -""" -ignore references from library functions -""" - -ida_gdl.CHART_IGNORE_LIB_TO -""" -ignore references to library functions -""" - -ida_gdl.CHART_NOLIBFUNCS -""" -don't include library functions in the graph -""" - -ida_gdl.CHART_PRINT_DOTS -""" -print dots if xrefs exist outside of the range recursion depth -""" - -ida_gdl.CHART_PRINT_NAMES -""" -print labels for each block? -""" - -ida_gdl.CHART_RECURSIVE -""" -analyze added blocks -""" - -ida_gdl.CHART_REFERENCED -""" -references from the addresses in the list -""" - -ida_gdl.CHART_REFERENCING -""" -references to the addresses in the list -""" - -ida_gdl.CHART_WINGRAPH -""" -call grapher to display the graph -""" - -ida_gdl.FC_APPND -""" -multirange flowchart (set by append_to_flowchart) -""" - -ida_gdl.FC_CHKBREAK -""" -build_qflow_chart() may be aborted by user -""" - -ida_gdl.FC_NOEXT -""" -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 -""" - -ida_gdl.FC_PREDS -""" -compute predecessor lists -""" - -ida_gdl.FC_PRINT -""" -print names (used only by display_flow_chart()) -""" -=== ida_gdl EPYDOC INJECTIONS END === -ida_graph.GraphViewer.AddEdge(): - - Creates an edge between two given node ids - - -ida_graph.GraphViewer.AddNode(): - - Creates a node associated with the given object and returns the node id - - -ida_graph.GraphViewer.Clear(): - - Clears all the nodes and edges - - -ida_graph.GraphViewer.Close(): - - Closes the graph. - It is possible to call Show() again (which will recreate the graph) - - -ida_graph.GraphViewer.Count(): - - Returns the node count - - -ida_graph.GraphViewer.CreateGroups(): - - 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). - - -ida_graph.GraphViewer.DelNodesInfos(): - - Delete the properties for the given node(s). - - @param nodes: A list of node IDs - - -ida_graph.GraphViewer.DeleteGroups(): - - 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. - - -ida_graph.GraphViewer.GetNodeInfo(): - - Get the properties for the given node. - - @param node: The index of the node. - @return: A tuple (bg_color, frame_color, ea, text), or None. - - -ida_graph.GraphViewer.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_graph.GraphViewer.OnRefresh(): - - 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. - - -ida_graph.GraphViewer.Refresh(): - - Refreshes the view. This causes the OnRefresh() to be called - - -ida_graph.GraphViewer.Select(): - - Selects a node on the graph - - -ida_graph.GraphViewer.SetCurrentRendererType(): - - Set the current view's renderer. - - @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. - - -ida_graph.GraphViewer.SetGroupsVisibility(): - - 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. - - -ida_graph.GraphViewer.SetNodeInfo(): - - 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. - - -ida_graph.GraphViewer.SetNodesInfos(): - - 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. - - -ida_graph.GraphViewer.Show(): - - Shows an existing graph or creates a new one - - @return: Boolean - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.create_desktop_widget(): - - create_desktop_widget(self, title, cfg) -> PyObject * - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.current_widget_changed(): - - current_widget_changed(self, widget, prev_widget) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.database_inited(): - - database_inited(self, is_new_database, idc_script) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.debugger_menu_change(): - - debugger_menu_change(self, enable) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.finish_populating_widget_popup(): - - finish_populating_widget_popup(self, widget, popup_handle, ctx=None) - - - The UI is about to be done populating the TWidget's popup menu. - Now is a good time to call idaapi.attach_action_to_popup() - - @param widget: The widget - @param popup: The popup menu. - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.get_chooser_item_attrs(): - - get_chooser_item_attrs(self, chooser, n, attrs) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.get_custom_viewer_hint(): - - get_custom_viewer_hint(self, viewer, place) -> PyObject * - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.get_ea_hint(): - - get_ea_hint(self, ea) -> PyObject * - - - The UI wants to display a simple hint for an address in the navigation band - - @param ea: The address - @return: String with the hint or None - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.get_item_hint(): - - get_item_hint(self, ea, max_lines) -> PyObject * - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.get_widget_config(): - - get_widget_config(self, widget, cfg) -> PyObject * - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.hook(): - - hook(self) -> bool - - - Creates an UI hook - - @return: Boolean true on success - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.idcstart(): - - idcstart(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.idcstop(): - - idcstop(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.plugin_loaded(): - - plugin_loaded(self, plugin_info) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.plugin_unloading(): - - plugin_unloading(self, plugin_info) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.postprocess_action(): - - postprocess_action(self) - - - An ida ui action has been handled - - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.preprocess_action(): - - preprocess_action(self, name) - - - IDA ui is about to handle a user action - - @param name: ui action name - (these names can be looked up in ida[tg]ui.cfg) - @return: 0-ok, nonzero - a plugin has handled the action - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.range(): - - range(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.ready_to_run(): - - ready_to_run(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.resume(): - - resume(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.saved(): - - saved(self) - - - The kernel has saved the database. - - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.saving(): - - saving(self) - - - The kernel is saving the database. - - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.screen_ea_changed(): - - screen_ea_changed(self, ea, prev_ea) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.set_widget_config(): - - set_widget_config(self, widget, cfg) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.suspend(): - - suspend(self) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.term(): - - term(self) - - - IDA is terminated and the database is already closed. - The UI may close its windows in this callback. - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.unhook(): - - unhook(self) -> bool - - - Removes the UI hook - @return: Boolean true on success - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.updated_actions(): - - updated_actions(self) - - - The UI is done updating actions. - - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.updating_actions(): - - updating_actions(self, ctx) - - - The UI is about to batch-update some actions. - - @param ctx: The action_update_ctx_t instance - @return: Ignored - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.widget_closing(): - - widget_closing(self, widget) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.widget_invisible(): - - widget_invisible(self, widget) - - -ida_graph.GraphViewer.UI_Hooks_Trampoline.widget_visible(): - - widget_visible(self, widget) - - -ida_graph.GraphViewer.hook(): - - hook(self) -> bool - - -ida_graph.GraphViewer.unhook(): - - unhook(self) -> bool - - -ida_graph.GraphViewer.view_created(): - - view_created(self, view) - - -class ida_graph.TPointDouble(): - - Proxy of C++ TPointDouble class - - -ida_graph.TPointDouble.add(): - - add(self, r) - - -ida_graph.TPointDouble.negate(): - - negate(self) - - -ida_graph.TPointDouble.sub(): - - sub(self, r) - - -ida_graph.TPointDouble.x: - TPointDouble_x_get(self) -> double - -ida_graph.TPointDouble.y: - TPointDouble_y_get(self) -> double - -ida_graph.calc_dist(): - - calc_dist(p, q) -> double - - - Calculate distance between p and q. - - - @param p (C++: point_t) - @param q (C++: point_t) - - -ida_graph.clr_node_info(): - - clr_node_info(gid, node, flags) - - - Clear node info for the given node. - - @param gid: id of desired graph (C++: graph_id_t) - @param node: node number (C++: int) - @param flags: combination of Node info flags , identifying which - fields of node_info_t will be cleared (C++: uint32) - - -ida_graph.create_disasm_graph(): - - create_disasm_graph(ea) -> mutable_graph_t - create_disasm_graph(ranges) -> mutable_graph_t - - - Create a graph for the function that contains 'ea'. - - - @param ea (C++: ea_t) - - -ida_graph.create_graph_viewer(): - - create_graph_viewer(title, id, callback, ud, title_height, parent=None) -> graph_viewer_t * - - - Create a custom graph viewer. - - @param title: the widget title (C++: const char *) - @param id: graph id (C++: uval_t) - @param callback: callback to handle graph notifications ( - graph_notification_t ) (C++: hook_cb_t *) - @param ud: user data passed to callback (C++: void *) - @param title_height: node title height (C++: int) - @param parent (C++: TWidget *) - @return: new viewer - - -ida_graph.create_mutable_graph(): - - create_mutable_graph(id) -> mutable_graph_t - - - Create a new empty graph with given id. - - - @param id (C++: uval_t) - - -ida_graph.create_user_graph_place(): - - 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) - - -ida_graph.del_node_info(): - - del_node_info(gid, node) - - - Delete the 'node_info_t' for the given node. - - - @param gid (C++: graph_id_t) - @param node (C++: int) - - -ida_graph.delete_mutable_graph(): - - delete_mutable_graph(g) - - - Delete graph object.use this only if you are dealing with - 'mutable_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++: mutable_graph_t *) - - -class ida_graph.edge_info_t(): - - Proxy of C++ edge_info_t class - - -ida_graph.edge_info_t.color: - edge_info_t_color_get(self) -> bgcolor_t - -ida_graph.edge_info_t.dstoff: - edge_info_t_dstoff_get(self) -> int - -ida_graph.edge_info_t.layout: - edge_info_t_layout_get(self) -> pointseq_t - -ida_graph.edge_info_t.reverse_layout(): - - reverse_layout(self) - - -ida_graph.edge_info_t.srcoff: - edge_info_t_srcoff_get(self) -> int - -ida_graph.edge_info_t.width: - edge_info_t_width_get(self) -> int - -class ida_graph.edge_infos_wrapper_t(): - - Proxy of C++ edge_infos_wrapper_t class - - -ida_graph.edge_infos_wrapper_t.clear(): - - clear(self) - - -ida_graph.edge_infos_wrapper_t.ptr: - edge_infos_wrapper_t_ptr_get(self) -> edge_infos_t * - -class ida_graph.edge_layout_point_t(): - - Proxy of C++ edge_layout_point_t class - - -ida_graph.edge_layout_point_t.compare(): - - compare(self, r) -> int - - -ida_graph.edge_layout_point_t.e: - edge_layout_point_t_e_get(self) -> edge_t - -ida_graph.edge_layout_point_t.pidx: - edge_layout_point_t_pidx_get(self) -> int - -class ida_graph.edge_segment_t(): - - Proxy of C++ edge_segment_t class - - -ida_graph.edge_segment_t.e: - edge_segment_t_e_get(self) -> edge_t - -ida_graph.edge_segment_t.length(): - - length(self) -> size_t - - -ida_graph.edge_segment_t.nseg: - edge_segment_t_nseg_get(self) -> int - -ida_graph.edge_segment_t.toright(): - - toright(self) -> bool - - -ida_graph.edge_segment_t.x0: - edge_segment_t_x0_get(self) -> int - -ida_graph.edge_segment_t.x1: - edge_segment_t_x1_get(self) -> int - -class ida_graph.edge_t(): - - Proxy of C++ edge_t class - - -ida_graph.edge_t.dst: - edge_t_dst_get(self) -> int - -ida_graph.edge_t.src: - edge_t_src_get(self) -> int - -ida_graph.get_graph_viewer(): - - get_graph_viewer(parent) -> graph_viewer_t * - - - Get custom graph viewer for given form. - - - @param parent (C++: TWidget *) - - -ida_graph.get_node_info(): - - get_node_info(out, gid, node) -> bool - - - Get node info. - - @param out: result (C++: node_info_t *) - @param gid: id of desired graph (C++: graph_id_t) - @param node: node number (C++: int) - @return: success - - -ida_graph.get_viewer_graph(): - - get_viewer_graph(gv) -> mutable_graph_t - - - Get graph object for given custom graph viewer. - - - @param gv (C++: graph_viewer_t *) - - -class ida_graph.graph_item_t(): - - Proxy of C++ graph_item_t class - - -ida_graph.graph_item_t.b: - graph_item_t_b_get(self) -> int - -ida_graph.graph_item_t.e: - graph_item_t_e_get(self) -> edge_t - -ida_graph.graph_item_t.elp: - graph_item_t_elp_get(self) -> edge_layout_point_t - -ida_graph.graph_item_t.is_edge(): - - is_edge(self) -> bool - - -ida_graph.graph_item_t.is_node(): - - is_node(self) -> bool - - -ida_graph.graph_item_t.n: - graph_item_t_n_get(self) -> int - -ida_graph.graph_item_t.p: - graph_item_t_p_get(self) -> point_t - -ida_graph.graph_item_t.type: - graph_item_t_type_get(self) -> graph_item_type_t - -class ida_graph.graph_node_visitor_t(): - - Proxy of C++ graph_node_visitor_t class - - -ida_graph.graph_node_visitor_t.is_forbidden_edge(): - - is_forbidden_edge(self, arg0, arg1) -> bool - - -ida_graph.graph_node_visitor_t.is_visited(): - - is_visited(self, n) -> bool - - -ida_graph.graph_node_visitor_t.reinit(): - - reinit(self) - - -ida_graph.graph_node_visitor_t.set_visited(): - - set_visited(self, n) - - -ida_graph.graph_node_visitor_t.visit_node(): - - visit_node(self, arg0) -> int - - -class ida_graph.graph_path_visitor_t(): - - Proxy of C++ graph_path_visitor_t class - - -ida_graph.graph_path_visitor_t.path: - graph_path_visitor_t_path_get(self) -> intvec_t * - -ida_graph.graph_path_visitor_t.prune: - graph_path_visitor_t_prune_get(self) -> bool - -ida_graph.graph_path_visitor_t.walk_backward(): - - walk_backward(self, arg0) -> int - - -ida_graph.graph_path_visitor_t.walk_forward(): - - walk_forward(self, arg0) -> int - - -class ida_graph.graph_visitor_t(): - - Proxy of C++ graph_visitor_t class - - -ida_graph.graph_visitor_t.visit_edge(): - - visit_edge(self, arg2, arg3) -> int - - -ida_graph.graph_visitor_t.visit_node(): - - visit_node(self, arg2, arg3) -> int - - -class ida_graph.group_crinfo_t(): - - Proxy of C++ group_crinfo_t class - - -ida_graph.group_crinfo_t.nodes: - group_crinfo_t_nodes_get(self) -> intvec_t * - -ida_graph.group_crinfo_t.text: - group_crinfo_t_text_get(self) -> qstring * - -class ida_graph.interval_t(): - - Proxy of C++ interval_t class - - -ida_graph.interval_t.contains(): - - contains(self, x) -> bool - - -ida_graph.interval_t.empty(): - - empty(self) -> bool - - -ida_graph.interval_t.intersect(): - - intersect(self, r) - - -ida_graph.interval_t.length(): - - length(self) -> int - - -ida_graph.interval_t.make_union(): - - make_union(self, r) - - -ida_graph.interval_t.move_by(): - - move_by(self, shift) - - -ida_graph.interval_t.x0: - interval_t_x0_get(self) -> int - -ida_graph.interval_t.x1: - interval_t_x1_get(self) -> int - -class ida_graph.mutable_graph_t(): - - Proxy of C++ mutable_graph_t class - - -ida_graph.mutable_graph_t.belongs: - mutable_graph_t_belongs_get(self) -> intvec_t * - -ida_graph.mutable_graph_t.calc_group_ea(): - - calc_group_ea(self, arg0) -> ea_t - - -ida_graph.mutable_graph_t.change_group_visibility(): - - change_group_visibility(self, group, expand) -> bool - - -ida_graph.mutable_graph_t.clear(): - - clear(self) - - -ida_graph.mutable_graph_t.create_digraph_layout(): - - create_digraph_layout(self) -> bool - - -ida_graph.mutable_graph_t.create_group(): - - create_group(self, nodes) -> int - - -ida_graph.mutable_graph_t.del_custom_layout(): - - del_custom_layout(self) - - -ida_graph.mutable_graph_t.delete_group(): - - delete_group(self, group) -> bool - - -ida_graph.mutable_graph_t.edges: - mutable_graph_t_edges_get(self) -> edge_infos_wrapper_t - -ida_graph.mutable_graph_t.empty(): - - empty(self) -> bool - - -ida_graph.mutable_graph_t.exists(): - - exists(self, node) -> bool - - -ida_graph.mutable_graph_t.get_custom_layout(): - - get_custom_layout(self) -> bool - - -ida_graph.mutable_graph_t.get_edge(): - - get_edge(self, e) -> edge_info_t - - -ida_graph.mutable_graph_t.get_first_subgraph_node(): - - get_first_subgraph_node(self, group) -> int - - -ida_graph.mutable_graph_t.get_graph_groups(): - - get_graph_groups(self) -> bool - - -ida_graph.mutable_graph_t.get_next_subgraph_node(): - - get_next_subgraph_node(self, group, current) -> int - - -ida_graph.mutable_graph_t.get_node_group(): - - get_node_group(self, node) -> int - - -ida_graph.mutable_graph_t.get_node_representative(): - - get_node_representative(self, node) -> int - - -ida_graph.mutable_graph_t.gid: - mutable_graph_t_gid_get(self) -> uval_t - -ida_graph.mutable_graph_t.is_collapsed_node(): - - is_collapsed_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_deleted_node(): - - is_deleted_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_displayable_node(): - - is_displayable_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_dot_node(): - - is_dot_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_group_node(): - - is_group_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_simple_node(): - - is_simple_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_subgraph_node(): - - is_subgraph_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_uncollapsed_node(): - - is_uncollapsed_node(self, node) -> bool - - -ida_graph.mutable_graph_t.is_user_graph(): - - is_user_graph(self) -> bool - - -ida_graph.mutable_graph_t.is_visible_node(): - - is_visible_node(self, node) -> bool - - -ida_graph.mutable_graph_t.node_flags: - mutable_graph_t_node_flags_get(self) -> bytevec_t * - -ida_graph.mutable_graph_t.node_qty(): - - node_qty(self) -> int - - -ida_graph.mutable_graph_t.nodes: - mutable_graph_t_nodes_get(self) -> node_layout_t - -ida_graph.mutable_graph_t.npred(): - - npred(self, b) -> int - - -ida_graph.mutable_graph_t.nrect(): - - nrect(self, n) -> rect_t - nrect(self, n) -> rect_t - - -ida_graph.mutable_graph_t.nsucc(): - - nsucc(self, b) -> int - - -ida_graph.mutable_graph_t.org_preds: - mutable_graph_t_org_preds_get(self) -> array_of_intvec_t - -ida_graph.mutable_graph_t.org_succs: - mutable_graph_t_org_succs_get(self) -> array_of_intvec_t - -ida_graph.mutable_graph_t.pred(): - - pred(self, b, i) -> int - - -ida_graph.mutable_graph_t.preds: - mutable_graph_t_preds_get(self) -> array_of_intvec_t - -ida_graph.mutable_graph_t.predset(): - - predset(self, b) -> intvec_t const & - - -ida_graph.mutable_graph_t.reset(): - - reset(self) - - -ida_graph.mutable_graph_t.set_custom_layout(): - - set_custom_layout(self) - - -ida_graph.mutable_graph_t.set_deleted_node(): - - set_deleted_node(self, node) - - -ida_graph.mutable_graph_t.set_edge(): - - set_edge(self, e, ei) -> bool - - -ida_graph.mutable_graph_t.set_graph_groups(): - - set_graph_groups(self) - - -ida_graph.mutable_graph_t.set_node_group(): - - set_node_group(self, node, group) - - -ida_graph.mutable_graph_t.size(): - - size(self) -> int - - -ida_graph.mutable_graph_t.succ(): - - succ(self, b, i) -> int - - -ida_graph.mutable_graph_t.succs: - mutable_graph_t_succs_get(self) -> array_of_intvec_t - -ida_graph.mutable_graph_t.succset(): - - succset(self, b) -> intvec_t const & - - -class ida_graph.node_info_t(): - - Proxy of C++ node_info_t class - - -ida_graph.node_info_t.bg_color: - node_info_t_bg_color_get(self) -> bgcolor_t - -ida_graph.node_info_t.ea: - node_info_t_ea_get(self) -> ea_t - -ida_graph.node_info_t.flags: - node_info_t_flags_get(self) -> uint32 - -ida_graph.node_info_t.frame_color: - node_info_t_frame_color_get(self) -> bgcolor_t - -ida_graph.node_info_t.get_flags_for_valid(): - - get_flags_for_valid(self) -> uint32 - - -ida_graph.node_info_t.text: - node_info_t_text_get(self) -> qstring * - -ida_graph.node_info_t.valid_bg_color(): - - valid_bg_color(self) -> bool - - -ida_graph.node_info_t.valid_ea(): - - valid_ea(self) -> bool - - -ida_graph.node_info_t.valid_flags(): - - valid_flags(self) -> bool - - -ida_graph.node_info_t.valid_frame_color(): - - valid_frame_color(self) -> bool - - -ida_graph.node_info_t.valid_text(): - - valid_text(self) -> bool - - -class ida_graph.node_layout_t(): - - Proxy of C++ qvector<(rect_t)> class - - -ida_graph.node_layout_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_graph.node_layout_t.at(): - - at(self, _idx) -> rect_t - - -ida_graph.node_layout_t.begin(): - - begin(self) -> rect_t - begin(self) -> rect_t - - -ida_graph.node_layout_t.capacity(): - - capacity(self) -> size_t - - -ida_graph.node_layout_t.clear(): - - clear(self) - - -ida_graph.node_layout_t.empty(): - - empty(self) -> bool - - -ida_graph.node_layout_t.end(): - - end(self) -> rect_t - end(self) -> rect_t - - -ida_graph.node_layout_t.erase(): - - erase(self, it) -> rect_t - erase(self, first, last) -> rect_t - - -ida_graph.node_layout_t.extract(): - - extract(self) -> rect_t - - -ida_graph.node_layout_t.find(): - - find(self, x) -> rect_t - find(self, x) -> rect_t - - -ida_graph.node_layout_t.grow(): - - grow(self, x=rect_t()) - - -ida_graph.node_layout_t.has(): - - has(self, x) -> bool - - -ida_graph.node_layout_t.inject(): - - inject(self, s, len) - - -ida_graph.node_layout_t.insert(): - - insert(self, it, x) -> rect_t - - -ida_graph.node_layout_t.pop_back(): - - pop_back(self) - - -ida_graph.node_layout_t.push_back(): - - push_back(self, x) - push_back(self) -> rect_t - - -ida_graph.node_layout_t.qclear(): - - qclear(self) - - -ida_graph.node_layout_t.reserve(): - - reserve(self, cnt) - - -ida_graph.node_layout_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_graph.node_layout_t.size(): - - size(self) -> size_t - - -ida_graph.node_layout_t.swap(): - - swap(self, r) - - -ida_graph.node_layout_t.truncate(): - - truncate(self) - - -class ida_graph.node_ordering_t(): - - Proxy of C++ node_ordering_t class - - -ida_graph.node_ordering_t.clear(): - - clear(self) - - -ida_graph.node_ordering_t.node(): - - node(self, _order) -> int - - -ida_graph.node_ordering_t.resize(): - - resize(self, n) - - -ida_graph.node_ordering_t.set(): - - set(self, _node, num) - - -ida_graph.node_ordering_t.size(): - - size(self) -> size_t - - -class ida_graph.point_t(): - - Proxy of C++ point_t class - - -ida_graph.point_t.add(): - - add(self, r) -> point_t - - -ida_graph.point_t.negate(): - - negate(self) - - -ida_graph.point_t.sub(): - - sub(self, r) -> point_t - - -ida_graph.point_t.x: - point_t_x_get(self) -> int - -ida_graph.point_t.y: - point_t_y_get(self) -> int - -class ida_graph.pointseq_t(): - - Proxy of C++ pointseq_t class - - -ida_graph.pointseq_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_graph.pointseq_t.at(): - - at(self, _idx) -> point_t - - -ida_graph.pointseq_t.begin(): - - begin(self) -> point_t - begin(self) -> point_t - - -ida_graph.pointseq_t.capacity(): - - capacity(self) -> size_t - - -ida_graph.pointseq_t.clear(): - - clear(self) - - -ida_graph.pointseq_t.empty(): - - empty(self) -> bool - - -ida_graph.pointseq_t.end(): - - end(self) -> point_t - end(self) -> point_t - - -ida_graph.pointseq_t.erase(): - - erase(self, it) -> point_t - erase(self, first, last) -> point_t - - -ida_graph.pointseq_t.extract(): - - extract(self) -> point_t - - -ida_graph.pointseq_t.find(): - - find(self, x) -> point_t - find(self, x) -> point_t - - -ida_graph.pointseq_t.grow(): - - grow(self, x=point_t()) - - -ida_graph.pointseq_t.has(): - - has(self, x) -> bool - - -ida_graph.pointseq_t.inject(): - - inject(self, s, len) - - -ida_graph.pointseq_t.insert(): - - insert(self, it, x) -> point_t - - -ida_graph.pointseq_t.pop_back(): - - pop_back(self) - - -ida_graph.pointseq_t.push_back(): - - push_back(self, x) - push_back(self) -> point_t - - -ida_graph.pointseq_t.qclear(): - - qclear(self) - - -ida_graph.pointseq_t.reserve(): - - reserve(self, cnt) - - -ida_graph.pointseq_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_graph.pointseq_t.size(): - - size(self) -> size_t - - -ida_graph.pointseq_t.swap(): - - swap(self, r) - - -ida_graph.pointseq_t.truncate(): - - truncate(self) - - -class ida_graph.pointvec_t(): - - Proxy of C++ qvector<(point_t)> class - - -ida_graph.pointvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_graph.pointvec_t.at(): - - at(self, _idx) -> point_t - - -ida_graph.pointvec_t.begin(): - - begin(self) -> point_t - begin(self) -> point_t - - -ida_graph.pointvec_t.capacity(): - - capacity(self) -> size_t - - -ida_graph.pointvec_t.clear(): - - clear(self) - - -ida_graph.pointvec_t.empty(): - - empty(self) -> bool - - -ida_graph.pointvec_t.end(): - - end(self) -> point_t - end(self) -> point_t - - -ida_graph.pointvec_t.erase(): - - erase(self, it) -> point_t - erase(self, first, last) -> point_t - - -ida_graph.pointvec_t.extract(): - - extract(self) -> point_t - - -ida_graph.pointvec_t.find(): - - find(self, x) -> point_t - find(self, x) -> point_t - - -ida_graph.pointvec_t.grow(): - - grow(self, x=point_t()) - - -ida_graph.pointvec_t.has(): - - has(self, x) -> bool - - -ida_graph.pointvec_t.inject(): - - inject(self, s, len) - - -ida_graph.pointvec_t.insert(): - - insert(self, it, x) -> point_t - - -ida_graph.pointvec_t.pop_back(): - - pop_back(self) - - -ida_graph.pointvec_t.push_back(): - - push_back(self, x) - push_back(self) -> point_t - - -ida_graph.pointvec_t.qclear(): - - qclear(self) - - -ida_graph.pointvec_t.reserve(): - - reserve(self, cnt) - - -ida_graph.pointvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_graph.pointvec_t.size(): - - size(self) -> size_t - - -ida_graph.pointvec_t.swap(): - - swap(self, r) - - -ida_graph.pointvec_t.truncate(): - - truncate(self) - - -ida_graph.pyg_close(): - - pyg_close(self) - - -ida_graph.pyg_select_node(): - - pyg_select_node(self, nid) - - -ida_graph.pyg_show(): - - pyg_show(self) -> bool - - -class ida_graph.rect_t(): - - Proxy of C++ rect_t class - - -ida_graph.rect_t.area(): - - area(self) -> int - - -ida_graph.rect_t.bottom: - rect_t_bottom_get(self) -> int - -ida_graph.rect_t.bottomright(): - - bottomright(self) -> point_t - - -ida_graph.rect_t.center(): - - center(self) -> point_t - - -ida_graph.rect_t.contains(): - - contains(self, p) -> bool - - -ida_graph.rect_t.empty(): - - empty(self) -> bool - - -ida_graph.rect_t.grow(): - - grow(self, delta) - - -ida_graph.rect_t.height(): - - height(self) -> int - - -ida_graph.rect_t.intersect(): - - intersect(self, r) - - -ida_graph.rect_t.is_intersection_empty(): - - is_intersection_empty(self, r) -> bool - - -ida_graph.rect_t.left: - rect_t_left_get(self) -> int - -ida_graph.rect_t.make_union(): - - make_union(self, r) - - -ida_graph.rect_t.move_by(): - - move_by(self, p) - - -ida_graph.rect_t.move_to(): - - move_to(self, p) - - -ida_graph.rect_t.right: - rect_t_right_get(self) -> int - -ida_graph.rect_t.top: - rect_t_top_get(self) -> int - -ida_graph.rect_t.topleft(): - - topleft(self) -> point_t - - -ida_graph.rect_t.width(): - - width(self) -> int - - -ida_graph.refresh_viewer(): - - refresh_viewer(gv) - - - Redraw the graph in the given view. - - - @param gv (C++: graph_viewer_t *) - - -class ida_graph.row_info_t(): - - Proxy of C++ row_info_t class - - -ida_graph.row_info_t.bottom: - row_info_t_bottom_get(self) -> int - -ida_graph.row_info_t.height(): - - height(self) -> int - - -ida_graph.row_info_t.nodes: - row_info_t_nodes_get(self) -> intvec_t * - -ida_graph.row_info_t.top: - row_info_t_top_get(self) -> int - -class ida_graph.screen_graph_selection_base_t(): - - Proxy of C++ qvector<(selection_item_t)> class - - -ida_graph.screen_graph_selection_base_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_graph.screen_graph_selection_base_t.at(): - - at(self, _idx) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.begin(): - - begin(self) -> selection_item_t - begin(self) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.capacity(): - - capacity(self) -> size_t - - -ida_graph.screen_graph_selection_base_t.clear(): - - clear(self) - - -ida_graph.screen_graph_selection_base_t.empty(): - - empty(self) -> bool - - -ida_graph.screen_graph_selection_base_t.end(): - - end(self) -> selection_item_t - end(self) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.erase(): - - erase(self, it) -> selection_item_t - erase(self, first, last) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.extract(): - - extract(self) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.find(): - - find(self, x) -> selection_item_t - find(self, x) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.grow(): - - grow(self, x=selection_item_t()) - - -ida_graph.screen_graph_selection_base_t.has(): - - has(self, x) -> bool - - -ida_graph.screen_graph_selection_base_t.inject(): - - inject(self, s, len) - - -ida_graph.screen_graph_selection_base_t.insert(): - - insert(self, it, x) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.pop_back(): - - pop_back(self) - - -ida_graph.screen_graph_selection_base_t.push_back(): - - push_back(self, x) - push_back(self) -> selection_item_t - - -ida_graph.screen_graph_selection_base_t.qclear(): - - qclear(self) - - -ida_graph.screen_graph_selection_base_t.reserve(): - - reserve(self, cnt) - - -ida_graph.screen_graph_selection_base_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_graph.screen_graph_selection_base_t.size(): - - size(self) -> size_t - - -ida_graph.screen_graph_selection_base_t.swap(): - - swap(self, r) - - -ida_graph.screen_graph_selection_base_t.truncate(): - - truncate(self) - - -class ida_graph.screen_graph_selection_t(): - - Proxy of C++ screen_graph_selection_t class - - -ida_graph.screen_graph_selection_t.add(): - - add(self, s) - - -ida_graph.screen_graph_selection_t.add_node(): - - add_node(self, node) - - -ida_graph.screen_graph_selection_t.add_point(): - - add_point(self, e, idx) - - -ida_graph.screen_graph_selection_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_graph.screen_graph_selection_t.at(): - - at(self, _idx) -> selection_item_t - - -ida_graph.screen_graph_selection_t.begin(): - - begin(self) -> selection_item_t - begin(self) -> selection_item_t - - -ida_graph.screen_graph_selection_t.capacity(): - - capacity(self) -> size_t - - -ida_graph.screen_graph_selection_t.clear(): - - clear(self) - - -ida_graph.screen_graph_selection_t.del_node(): - - del_node(self, node) - - -ida_graph.screen_graph_selection_t.del_point(): - - del_point(self, e, idx) - - -ida_graph.screen_graph_selection_t.empty(): - - empty(self) -> bool - - -ida_graph.screen_graph_selection_t.end(): - - end(self) -> selection_item_t - end(self) -> selection_item_t - - -ida_graph.screen_graph_selection_t.erase(): - - erase(self, it) -> selection_item_t - erase(self, first, last) -> selection_item_t - - -ida_graph.screen_graph_selection_t.extract(): - - extract(self) -> selection_item_t - - -ida_graph.screen_graph_selection_t.find(): - - find(self, x) -> selection_item_t - find(self, x) -> selection_item_t - - -ida_graph.screen_graph_selection_t.grow(): - - grow(self, x=selection_item_t()) - - -ida_graph.screen_graph_selection_t.has(): - - has(self, item) -> bool - - -ida_graph.screen_graph_selection_t.inject(): - - inject(self, s, len) - - -ida_graph.screen_graph_selection_t.insert(): - - insert(self, it, x) -> selection_item_t - - -ida_graph.screen_graph_selection_t.items_count(): - - items_count(self, look_for_nodes) -> size_t - - -ida_graph.screen_graph_selection_t.nodes_count(): - - nodes_count(self) -> size_t - - -ida_graph.screen_graph_selection_t.points_count(): - - points_count(self) -> size_t - - -ida_graph.screen_graph_selection_t.pop_back(): - - pop_back(self) - - -ida_graph.screen_graph_selection_t.push_back(): - - push_back(self, x) - push_back(self) -> selection_item_t - - -ida_graph.screen_graph_selection_t.qclear(): - - qclear(self) - - -ida_graph.screen_graph_selection_t.reserve(): - - reserve(self, cnt) - - -ida_graph.screen_graph_selection_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_graph.screen_graph_selection_t.size(): - - size(self) -> size_t - - -ida_graph.screen_graph_selection_t.sub(): - - sub(self, s) - - -ida_graph.screen_graph_selection_t.swap(): - - swap(self, r) - - -ida_graph.screen_graph_selection_t.truncate(): - - truncate(self) - - -class ida_graph.selection_item_t(): - - Proxy of C++ selection_item_t class - - -ida_graph.selection_item_t.compare(): - - compare(self, r) -> int - - -ida_graph.selection_item_t.elp: - selection_item_t_elp_get(self) -> edge_layout_point_t - -ida_graph.selection_item_t.is_node: - selection_item_t_is_node_get(self) -> bool - -ida_graph.selection_item_t.node: - selection_item_t_node_get(self) -> int - -ida_graph.set_node_info(): - - set_node_info(gid, node, ni, flags) - - - Set node info. - - @param gid: id of desired graph (C++: graph_id_t) - @param node: node number (C++: int) - @param ni: node info to use (C++: const node_info_t &) - @param flags: combination of Node info flags , identifying which - fields of 'ni' will be used (C++: uint32) - - -ida_graph.set_viewer_graph(): - - set_viewer_graph(gv, g) - - - Set the underlying graph object for the given viewer. - - - @param gv (C++: graph_viewer_t *) - @param g (C++: mutable_graph_t *) - - -class ida_graph.user_graph_place_t(): - - Proxy of C++ user_graph_place_t class - - -ida_graph.user_graph_place_t.node: - user_graph_place_t_node_get(self) -> int - -ida_graph.viewer_attach_menu_item(): - - 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 *) - @param name: action name (C++: const char *) - @return: success - - -ida_graph.viewer_center_on(): - - viewer_center_on(gv, node) - - - Center the graph view on the given node. - - - @param gv (C++: graph_viewer_t *) - @param node (C++: int) - - -ida_graph.viewer_create_groups(): - - 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 mutable_graph_t::create_group that - will, in essence:clone the current graphfor each 'group_crinfo_t' , - attempt creating group in that new graphif all were successful, - animate to that new graph.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 &) - - -ida_graph.viewer_del_node_info(): - - 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) - - -ida_graph.viewer_delete_groups(): - - viewer_delete_groups(gv, groups, new_current=-1) -> bool - - - Wrapper around mutable_graph_t::delete_group. This function will:clone - the current graphattempt deleting the groups in that new graphif - successful, animate to that new graph. - - @param gv (C++: graph_viewer_t *) - @param groups (C++: const intvec_t &) - @param new_current (C++: int) - - -ida_graph.viewer_fit_window(): - - viewer_fit_window(gv) - - - Fit graph viewer to its parent form. - - - @param gv (C++: graph_viewer_t *) - - -ida_graph.viewer_get_curnode(): - - viewer_get_curnode(gv) -> int - - - Get number of currently selected node (-1 if none) - - - @param gv (C++: graph_viewer_t *) - - -ida_graph.viewer_get_gli(): - - 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) - - -ida_graph.viewer_get_node_info(): - - 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) - - -ida_graph.viewer_get_selection(): - - 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 *) - - -ida_graph.viewer_set_gli(): - - 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 *) - @param flags (C++: uint32) - - -ida_graph.viewer_set_groups_visibility(): - - viewer_set_groups_visibility(gv, groups, expand, new_current=-1) -> bool - - - Wrapper around mutable_graph_t::change_visibility. This function - will:clone the current graphattempt changing visibility of the groups - in that new graphif successful, animate to that new graph. - - @param gv (C++: graph_viewer_t *) - @param groups (C++: const intvec_t &) - @param expand (C++: bool) - @param new_current (C++: int) - - -ida_graph.viewer_set_node_info(): - - 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 &) - @param flags (C++: uint32) - - -ida_graph.viewer_set_titlebar_height(): - - 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) - - - -=== ida_graph EPYDOC INJECTIONS === -ida_graph.GLICTL_CENTER -""" -the gli should be set/get as center -""" - -ida_graph.MTG_DOT_NODE -""" -is dot node? -""" - -ida_graph.MTG_GROUP_NODE -""" -is group node? -""" - -ida_graph.MTG_NON_DISPLAYABLE_NODE -""" -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) -""" - -ida_graph.NIF_BG_COLOR -""" - 'node_info_t::bg_color' -""" - -ida_graph.NIF_EA -""" - 'node_info_t::ea' -""" - -ida_graph.NIF_FLAGS -""" - 'node_info_t::flags' -""" - -ida_graph.NIF_FRAME_COLOR -""" - 'node_info_t::frame_color' -""" - -ida_graph.NIF_TEXT -""" - 'node_info_t::text' -""" -=== ida_graph EPYDOC INJECTIONS END === -class ida_hexrays.DecompilationFailure(): - - Raised on a decompilation error. - - The associated hexrays_failure_t object is stored in the - 'info' member of this exception. - - -class ida_hexrays.Hexrays_Hooks(): - - Proxy of C++ Hexrays_Hooks class - - -ida_hexrays.Hexrays_Hooks.close_pseudocode(): - - close_pseudocode(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.cmt_changed(): - - cmt_changed(self, cfunc, loc, cmt) -> int - - -ida_hexrays.Hexrays_Hooks.combine(): - - combine(self, blk, insn) -> int - - -ida_hexrays.Hexrays_Hooks.create_hint(): - - create_hint(self, vu) -> PyObject * - - -ida_hexrays.Hexrays_Hooks.curpos(): - - curpos(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.double_click(): - - double_click(self, vu, shift_state) -> int - - -ida_hexrays.Hexrays_Hooks.flowchart(): - - flowchart(self, fc) -> int - - -ida_hexrays.Hexrays_Hooks.func_printed(): - - func_printed(self, cfunc) -> int - - -ida_hexrays.Hexrays_Hooks.glbopt(): - - glbopt(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.hook(): - - hook(self) -> bool - - -ida_hexrays.Hexrays_Hooks.interr(): - - interr(self, errcode) -> int - - -ida_hexrays.Hexrays_Hooks.keyboard(): - - keyboard(self, vu, key_code, shift_state) -> int - - -ida_hexrays.Hexrays_Hooks.locopt(): - - locopt(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.lvar_cmt_changed(): - - lvar_cmt_changed(self, vu, v, cmt) -> int - - -ida_hexrays.Hexrays_Hooks.lvar_mapping_changed(): - - lvar_mapping_changed(self, vu, frm, to) -> int - - -ida_hexrays.Hexrays_Hooks.lvar_name_changed(): - - lvar_name_changed(self, vu, v, name, is_user_name) -> int - - -ida_hexrays.Hexrays_Hooks.lvar_type_changed(): - - lvar_type_changed(self, vu, v, tinfo) -> int - - -ida_hexrays.Hexrays_Hooks.maturity(): - - maturity(self, cfunc, new_maturity) -> int - - -ida_hexrays.Hexrays_Hooks.microcode(): - - microcode(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.open_pseudocode(): - - open_pseudocode(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.populating_popup(): - - populating_popup(self, widget, popup_handle, vu) -> int - - -ida_hexrays.Hexrays_Hooks.prealloc(): - - prealloc(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.preoptimized(): - - preoptimized(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.print_func(): - - print_func(self, cfunc, vp) -> int - - -ida_hexrays.Hexrays_Hooks.prolog(): - - prolog(self, mba, fc, reachable_blocks) -> int - - -ida_hexrays.Hexrays_Hooks.refresh_pseudocode(): - - refresh_pseudocode(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.resolve_stkaddrs(): - - resolve_stkaddrs(self, mba) -> int - - -ida_hexrays.Hexrays_Hooks.right_click(): - - right_click(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.stkpnts(): - - stkpnts(self, mba, _sps) -> int - - -ida_hexrays.Hexrays_Hooks.structural(): - - structural(self, ct) -> int - - -ida_hexrays.Hexrays_Hooks.switch_pseudocode(): - - switch_pseudocode(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.text_ready(): - - text_ready(self, vu) -> int - - -ida_hexrays.Hexrays_Hooks.unhook(): - - unhook(self) -> bool - - -ida_hexrays.accepts_small_udts(): - - accepts_small_udts(op) -> bool - - - Is the operator allowed on small structure or union? - - - @param op (C++: ctype_t) - - -ida_hexrays.accepts_udts(): - - accepts_udts(op) -> bool - - -ida_hexrays.arglocs_overlap(): - - arglocs_overlap(loc1, w1, loc2, w2) -> bool - - - Do two arglocs overlap? - - - @param loc1 (C++: const vdloc_t &) - @param w1 (C++: size_t) - @param loc2 (C++: const vdloc_t &) - @param w2 (C++: size_t) - - -class ida_hexrays.array_of_bitsets(): - - Proxy of C++ qvector<(bitset_t)> class - - -ida_hexrays.array_of_bitsets.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.array_of_bitsets.at(): - - at(self, _idx) -> bitset_t - - -ida_hexrays.array_of_bitsets.begin(): - - begin(self) -> bitset_t - begin(self) -> bitset_t - - -ida_hexrays.array_of_bitsets.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.array_of_bitsets.clear(): - - clear(self) - - -ida_hexrays.array_of_bitsets.empty(): - - empty(self) -> bool - - -ida_hexrays.array_of_bitsets.end(): - - end(self) -> bitset_t - end(self) -> bitset_t - - -ida_hexrays.array_of_bitsets.erase(): - - erase(self, it) -> bitset_t - erase(self, first, last) -> bitset_t - - -ida_hexrays.array_of_bitsets.extract(): - - extract(self) -> bitset_t - - -ida_hexrays.array_of_bitsets.find(): - - find(self, x) -> bitset_t - find(self, x) -> bitset_t - - -ida_hexrays.array_of_bitsets.grow(): - - grow(self, x=bitset_t()) - - -ida_hexrays.array_of_bitsets.has(): - - has(self, x) -> bool - - -ida_hexrays.array_of_bitsets.inject(): - - inject(self, s, len) - - -ida_hexrays.array_of_bitsets.insert(): - - insert(self, it, x) -> bitset_t - - -ida_hexrays.array_of_bitsets.pop_back(): - - pop_back(self) - - -ida_hexrays.array_of_bitsets.push_back(): - - push_back(self, x) - push_back(self) -> bitset_t - - -ida_hexrays.array_of_bitsets.qclear(): - - qclear(self) - - -ida_hexrays.array_of_bitsets.reserve(): - - reserve(self, cnt) - - -ida_hexrays.array_of_bitsets.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.array_of_bitsets.size(): - - size(self) -> size_t - - -ida_hexrays.array_of_bitsets.swap(): - - swap(self, r) - - -ida_hexrays.array_of_bitsets.truncate(): - - truncate(self) - - -class ida_hexrays.array_of_ivlsets(): - - Proxy of C++ qvector<(ivlset_t)> class - - -ida_hexrays.array_of_ivlsets.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.array_of_ivlsets.at(): - - at(self, _idx) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.begin(): - - begin(self) -> ivlset_t - begin(self) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.array_of_ivlsets.clear(): - - clear(self) - - -ida_hexrays.array_of_ivlsets.empty(): - - empty(self) -> bool - - -ida_hexrays.array_of_ivlsets.end(): - - end(self) -> ivlset_t - end(self) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.erase(): - - erase(self, it) -> ivlset_t - erase(self, first, last) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.extract(): - - extract(self) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.find(): - - find(self, x) -> ivlset_t - find(self, x) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.grow(): - - grow(self, x=ivlset_t()) - - -ida_hexrays.array_of_ivlsets.has(): - - has(self, x) -> bool - - -ida_hexrays.array_of_ivlsets.inject(): - - inject(self, s, len) - - -ida_hexrays.array_of_ivlsets.insert(): - - insert(self, it, x) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.pop_back(): - - pop_back(self) - - -ida_hexrays.array_of_ivlsets.push_back(): - - push_back(self, x) - push_back(self) -> ivlset_t - - -ida_hexrays.array_of_ivlsets.qclear(): - - qclear(self) - - -ida_hexrays.array_of_ivlsets.reserve(): - - reserve(self, cnt) - - -ida_hexrays.array_of_ivlsets.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.array_of_ivlsets.size(): - - size(self) -> size_t - - -ida_hexrays.array_of_ivlsets.swap(): - - swap(self, r) - - -ida_hexrays.array_of_ivlsets.truncate(): - - truncate(self) - - -ida_hexrays.asgop(): - - asgop(cop) -> ctype_t - - - Convert plain operator into assignment operator. For example, cot_add - returns cot_asgadd. - - - @param cop (C++: ctype_t) - - -ida_hexrays.asgop_revert(): - - asgop_revert(cop) -> ctype_t - - - Convert assignment operator into plain operator. For example, - cot_asgadd returns cot_add - - @param cop (C++: ctype_t) - @return: cot_empty is the input operator is not an assignment - operator. - - -class ida_hexrays.bit_bound_t(): - - Proxy of C++ bit_bound_t class - - -ida_hexrays.bit_bound_t.nbits: - bit_bound_t_nbits_get(self) -> int16 - -ida_hexrays.bit_bound_t.sbits: - bit_bound_t_sbits_get(self) -> int16 - -class ida_hexrays.bitset_t(): - - Proxy of C++ bitset_t class - - -ida_hexrays.bitset_t.add(): - - add(self, bit) -> bool - add(self, bit, width) -> bool - add(self, ml) -> bool - - -ida_hexrays.bitset_t.back(): - - back(self) -> int - - -ida_hexrays.bitset_t.begin(): - - begin(self) -> bitset_t::iterator - - -ida_hexrays.bitset_t.clear(): - - clear(self) - - -ida_hexrays.bitset_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.bitset_t.copy(): - - copy(self, m) -> bitset_t - - -ida_hexrays.bitset_t.count(): - - count(self) -> int - count(self, bit) -> int - - -ida_hexrays.bitset_t.cut_at(): - - cut_at(self, maxbit) -> bool - - -ida_hexrays.bitset_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.bitset_t.empty(): - - empty(self) -> bool - - -ida_hexrays.bitset_t.end(): - - end(self) -> bitset_t::iterator - - -ida_hexrays.bitset_t.fill_with_ones(): - - fill_with_ones(self, maxbit) - - -ida_hexrays.bitset_t.front(): - - front(self) -> int - - -ida_hexrays.bitset_t.has(): - - has(self, bit) -> bool - - -ida_hexrays.bitset_t.has_all(): - - has_all(self, bit, width) -> bool - - -ida_hexrays.bitset_t.has_any(): - - has_any(self, bit, width) -> bool - - -ida_hexrays.bitset_t.has_common(): - - has_common(self, ml) -> bool - - -ida_hexrays.bitset_t.inc(): - - inc(self, p, n=1) - - -ida_hexrays.bitset_t.includes(): - - includes(self, ml) -> bool - - -ida_hexrays.bitset_t.intersect(): - - intersect(self, ml) -> bool - - -ida_hexrays.bitset_t.is_subset_of(): - - is_subset_of(self, ml) -> bool - - -ida_hexrays.bitset_t.itat(): - - itat(self, n) -> bitset_t::iterator - - -ida_hexrays.bitset_t.itv(): - - itv(self, it) -> int - - -ida_hexrays.bitset_t.last(): - - last(self) -> int - - -ida_hexrays.bitset_t.shift_down(): - - shift_down(self, shift) - - -ida_hexrays.bitset_t.sub(): - - sub(self, bit) -> bool - sub(self, bit, width) -> bool - sub(self, ml) -> bool - - -ida_hexrays.bitset_t.swap(): - - swap(self, r) - - -ida_hexrays.block_chains_begin(): - - 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 *) - - -ida_hexrays.block_chains_clear(): - - block_chains_clear(set) - - - Clear 'block_chains_t' . - - - @param set (C++: block_chains_t *) - - -ida_hexrays.block_chains_end(): - - 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 *) - - -ida_hexrays.block_chains_erase(): - - 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) - - -ida_hexrays.block_chains_find(): - - 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 *) - @param val (C++: const chain_t &) - - -ida_hexrays.block_chains_free(): - - block_chains_free(set) - - - Delete 'block_chains_t' instance. - - - @param set (C++: block_chains_t *) - - -ida_hexrays.block_chains_get(): - - block_chains_get(p) -> chain_t - - - Get reference to the current set value. - - - @param p (C++: block_chains_iterator_t) - - -ida_hexrays.block_chains_insert(): - - 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 &) - - -class ida_hexrays.block_chains_iterator_t(): - - Proxy of C++ block_chains_iterator_t class - - -ida_hexrays.block_chains_iterator_t.x: - block_chains_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.block_chains_new(): - - block_chains_new() -> block_chains_t - - - Create a new 'block_chains_t' instance. - - -ida_hexrays.block_chains_next(): - - block_chains_next(p) -> block_chains_iterator_t - - - Move to the next element. - - - @param p (C++: block_chains_iterator_t) - - -ida_hexrays.block_chains_prev(): - - block_chains_prev(p) -> block_chains_iterator_t - - - Move to the previous element. - - - @param p (C++: block_chains_iterator_t) - - -ida_hexrays.block_chains_size(): - - block_chains_size(set) -> size_t - - - Get size of 'block_chains_t' . - - - @param set (C++: block_chains_t *) - - -class ida_hexrays.block_chains_t(): - - Proxy of C++ block_chains_t class - - -ida_hexrays.block_chains_t._print(): - - _print(self) - - -ida_hexrays.block_chains_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.block_chains_t.get_chain(): - - get_chain(self, k, width=1) -> chain_t - get_chain(self, k, width=1) -> chain_t - get_chain(self, ch) -> chain_t - get_chain(self, ch) -> chain_t - - -ida_hexrays.block_chains_t.get_reg_chain(): - - get_reg_chain(self, reg, width=1) -> chain_t - get_reg_chain(self, reg, width=1) -> chain_t - - -ida_hexrays.block_chains_t.get_stk_chain(): - - get_stk_chain(self, off, width=1) -> chain_t - get_stk_chain(self, off, width=1) -> chain_t - - -class ida_hexrays.block_chains_vec_t(): - - Proxy of C++ qvector<(block_chains_t)> class - - -ida_hexrays.block_chains_vec_t.at(): - - at(self, _idx) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.begin(): - - begin(self) -> block_chains_t - begin(self) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.block_chains_vec_t.clear(): - - clear(self) - - -ida_hexrays.block_chains_vec_t.empty(): - - empty(self) -> bool - - -ida_hexrays.block_chains_vec_t.end(): - - end(self) -> block_chains_t - end(self) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.erase(): - - erase(self, it) -> block_chains_t - erase(self, first, last) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.extract(): - - extract(self) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.grow(): - - grow(self, x=block_chains_t()) - - -ida_hexrays.block_chains_vec_t.inject(): - - inject(self, s, len) - - -ida_hexrays.block_chains_vec_t.insert(): - - insert(self, it, x) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.pop_back(): - - pop_back(self) - - -ida_hexrays.block_chains_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> block_chains_t - - -ida_hexrays.block_chains_vec_t.qclear(): - - qclear(self) - - -ida_hexrays.block_chains_vec_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.block_chains_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.block_chains_vec_t.size(): - - size(self) -> size_t - - -ida_hexrays.block_chains_vec_t.swap(): - - swap(self, r) - - -ida_hexrays.block_chains_vec_t.truncate(): - - truncate(self) - - -ida_hexrays.boundaries_begin(): - - boundaries_begin(map) -> boundaries_iterator_t - - - Get iterator pointing to the beginning of boundaries_t. - - - @param map (C++: const boundaries_t *) - - -ida_hexrays.boundaries_clear(): - - boundaries_clear(map) - - - Clear boundaries_t. - - - @param map (C++: boundaries_t *) - - -ida_hexrays.boundaries_end(): - - boundaries_end(map) -> boundaries_iterator_t - - - Get iterator pointing to the end of boundaries_t. - - - @param map (C++: const boundaries_t *) - - -ida_hexrays.boundaries_erase(): - - boundaries_erase(map, p) - - - Erase current element from boundaries_t. - - - @param map (C++: boundaries_t *) - @param p (C++: boundaries_iterator_t) - - -ida_hexrays.boundaries_find(): - - boundaries_find(map, key) -> boundaries_iterator_t - - - Find the specified key in boundaries_t. - - - @param map (C++: const boundaries_t *) - @param key (C++: const cinsn_t *&) - - -ida_hexrays.boundaries_first(): - - boundaries_first(p) -> cinsn_t - - - Get reference to the current map key. - - - @param p (C++: boundaries_iterator_t) - - -ida_hexrays.boundaries_free(): - - boundaries_free(map) - - - Delete boundaries_t instance. - - - @param map (C++: boundaries_t *) - - -ida_hexrays.boundaries_insert(): - - 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 *&) - @param val (C++: const rangeset_t &) - - -class ida_hexrays.boundaries_iterator_t(): - - Proxy of C++ boundaries_iterator_t class - - -ida_hexrays.boundaries_iterator_t.x: - boundaries_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.boundaries_new(): - - boundaries_new() -> boundaries_t - - - Create a new boundaries_t instance. - - -ida_hexrays.boundaries_next(): - - boundaries_next(p) -> boundaries_iterator_t - - - Move to the next element. - - - @param p (C++: boundaries_iterator_t) - - -ida_hexrays.boundaries_prev(): - - boundaries_prev(p) -> boundaries_iterator_t - - - Move to the previous element. - - - @param p (C++: boundaries_iterator_t) - - -ida_hexrays.boundaries_second(): - - boundaries_second(p) -> rangeset_t - - - Get reference to the current map value. - - - @param p (C++: boundaries_iterator_t) - - -ida_hexrays.boundaries_size(): - - boundaries_size(map) -> size_t - - - Get size of boundaries_t. - - - @param map (C++: boundaries_t *) - - -class ida_hexrays.boundaries_t(): - - Proxy of C++ std::map<(p.cinsn_t,rangeset_t)> class - - -ida_hexrays.boundaries_t.at(): - - at(self, _Keyval) -> rangeset_t - - -class ida_hexrays.boundaries_t.keytype(): - - Proxy of C++ cinsn_t class - - -ida_hexrays.boundaries_t.keytype._print(): - - _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) - - -ida_hexrays.boundaries_t.keytype.assign(): - - assign(self, r) -> cinsn_t - - -ida_hexrays.boundaries_t.keytype.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.boundaries_t.keytype.cleanup(): - - cleanup(self) - - -ida_hexrays.boundaries_t.keytype.collect_free_breaks(): - - collect_free_breaks(self, breaks) -> bool - - -ida_hexrays.boundaries_t.keytype.collect_free_continues(): - - collect_free_continues(self, continues) -> bool - - -ida_hexrays.boundaries_t.keytype.compare(): - - compare(self, r) -> int - - -ida_hexrays.boundaries_t.keytype.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.boundaries_t.keytype.contains_free_break(): - - contains_free_break(self) -> bool - - -ida_hexrays.boundaries_t.keytype.contains_free_continue(): - - contains_free_continue(self) -> bool - - -ida_hexrays.boundaries_t.keytype.contains_insn(): - - contains_insn(self, type, times=1) -> bool - - -ida_hexrays.boundaries_t.keytype.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.boundaries_t.keytype.create_if(): - - create_if(self, cnd) -> cif_t - - -ida_hexrays.boundaries_t.keytype.details: - - 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. - - -ida_hexrays.boundaries_t.keytype.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.boundaries_t.keytype.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.boundaries_t.keytype.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.boundaries_t.keytype.index: - citem_t_index_get(self) -> int - -ida_hexrays.boundaries_t.keytype.insn_is_epilog(): - - insn_is_epilog(insn) -> bool - - -ida_hexrays.boundaries_t.keytype.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.boundaries_t.keytype.is_ordinary_flow(): - - is_ordinary_flow(self) -> bool - - -ida_hexrays.boundaries_t.keytype.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.boundaries_t.keytype.new_insn(): - - new_insn(self, insn_ea) -> cinsn_t - - -ida_hexrays.boundaries_t.keytype.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.boundaries_t.keytype.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.boundaries_t.keytype.print1(): - - print1(self, func) - - -ida_hexrays.boundaries_t.keytype.swap(): - - swap(self, r) - - -ida_hexrays.boundaries_t.keytype.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.boundaries_t.keytype.zero(): - - zero(self) - - -ida_hexrays.boundaries_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.boundaries_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.boundaries_t.setdefault(): - - Sets the value associated with the provided key. - - -class ida_hexrays.boundaries_t.valuetype(): - - Proxy of C++ rangeset_t class - - -ida_hexrays.boundaries_t.valuetype._print(): - - _print(self) -> size_t - - -ida_hexrays.boundaries_t.valuetype.add(): - - add(self, range) -> bool - add(self, start, _end) -> bool - add(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_hexrays.boundaries_t.valuetype.cached_range(): - - cached_range(self) -> range_t - - -ida_hexrays.boundaries_t.valuetype.clear(): - - clear(self) - - -ida_hexrays.boundaries_t.valuetype.contains(): - - contains(self, ea) -> bool - contains(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.empty(): - - empty(self) -> bool - - -ida_hexrays.boundaries_t.valuetype.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_hexrays.boundaries_t.valuetype.find_range(): - - find_range(self, ea) -> range_t - - -ida_hexrays.boundaries_t.valuetype.getrange(): - - getrange(self, idx) -> range_t - - -ida_hexrays.boundaries_t.valuetype.has_common(): - - has_common(self, range) -> bool - has_common(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.includes(): - - includes(self, range) -> bool - - -ida_hexrays.boundaries_t.valuetype.intersect(): - - intersect(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.is_equal(): - - is_equal(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.is_subset_of(): - - is_subset_of(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.lastrange(): - - lastrange(self) -> range_t - - -ida_hexrays.boundaries_t.valuetype.next_addr(): - - next_addr(self, ea) -> ea_t - - -ida_hexrays.boundaries_t.valuetype.next_range(): - - next_range(self, ea) -> ea_t - - -ida_hexrays.boundaries_t.valuetype.nranges(): - - nranges(self) -> size_t - - -ida_hexrays.boundaries_t.valuetype.prev_addr(): - - prev_addr(self, ea) -> ea_t - - -ida_hexrays.boundaries_t.valuetype.prev_range(): - - prev_range(self, ea) -> ea_t - - -ida_hexrays.boundaries_t.valuetype.sub(): - - sub(self, range) -> bool - sub(self, ea) -> bool - sub(self, aset) -> bool - - -ida_hexrays.boundaries_t.valuetype.swap(): - - swap(self, r) - - -class ida_hexrays.carg_t(): - - Proxy of C++ carg_t class - - -ida_hexrays.carg_t.assign(): - - assign(self, r) -> cexpr_t - - -ida_hexrays.carg_t.calc_type(): - - calc_type(self, recursive) - - -ida_hexrays.carg_t.cexpr: - citem_t_cexpr_get(self) -> cexpr_t - -ida_hexrays.carg_t.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.carg_t.cleanup(): - - cleanup(self) - - -ida_hexrays.carg_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.carg_t.consume_cexpr(): - - consume_cexpr(self, e) - - -ida_hexrays.carg_t.contains_comma(): - - contains_comma(self, times=1) -> bool - - -ida_hexrays.carg_t.contains_comma_or_insn_or_label(): - - contains_comma_or_insn_or_label(self, maxcommas=1) -> bool - - -ida_hexrays.carg_t.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.carg_t.contains_insn(): - - contains_insn(self, times=1) -> bool - - -ida_hexrays.carg_t.contains_insn_or_label(): - - contains_insn_or_label(self) -> bool - - -ida_hexrays.carg_t.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.carg_t.contains_operator(): - - contains_operator(self, needed_op, times=1) -> bool - - -ida_hexrays.carg_t.cpadone(): - - cpadone(self) -> bool - - -ida_hexrays.carg_t.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.carg_t.equal_effect(): - - equal_effect(self, r) -> bool - - -ida_hexrays.carg_t.exflags: - cexpr_t_exflags_get(self) -> uint32 - -ida_hexrays.carg_t.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.carg_t.find_num_op(): - - find_num_op(self) -> cexpr_t - find_num_op(self) -> cexpr_t - - -ida_hexrays.carg_t.find_op(): - - find_op(self, _op) -> cexpr_t - find_op(self, _op) -> cexpr_t - - -ida_hexrays.carg_t.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.carg_t.formal_type: - carg_t_formal_type_get(self) -> tinfo_t - -ida_hexrays.carg_t.get_1num_op(): - - get_1num_op(self, o1, o2) -> bool - - -ida_hexrays.carg_t.get_const_value(): - - get_const_value(self) -> bool - - -ida_hexrays.carg_t.get_high_nbit_bound(): - - get_high_nbit_bound(self) -> bit_bound_t - - -ida_hexrays.carg_t.get_low_nbit_bound(): - - get_low_nbit_bound(self) -> int - - -ida_hexrays.carg_t.get_ptr_or_array(): - - get_ptr_or_array(self) -> cexpr_t - - -ida_hexrays.carg_t.get_type_sign(): - - get_type_sign(self) -> type_sign_t - - -ida_hexrays.carg_t.get_v(): - - get_v(self) -> var_ref_t - - -ida_hexrays.carg_t.has_side_effects(): - - has_side_effects(self) -> bool - - -ida_hexrays.carg_t.index: - citem_t_index_get(self) -> int - -ida_hexrays.carg_t.is_call_arg_of(): - - is_call_arg_of(self, parent) -> bool - - -ida_hexrays.carg_t.is_call_object_of(): - - is_call_object_of(self, parent) -> bool - - -ida_hexrays.carg_t.is_child_of(): - - is_child_of(self, parent) -> bool - - -ida_hexrays.carg_t.is_const_value(): - - is_const_value(self, _v) -> bool - - -ida_hexrays.carg_t.is_cstr(): - - is_cstr(self) -> bool - - -ida_hexrays.carg_t.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.carg_t.is_fpop(): - - is_fpop(self) -> bool - - -ida_hexrays.carg_t.is_jumpout(): - - is_jumpout(self) -> bool - - -ida_hexrays.carg_t.is_negative_const(): - - is_negative_const(self) -> bool - - -ida_hexrays.carg_t.is_nice_cond(): - - is_nice_cond(self) -> bool - - -ida_hexrays.carg_t.is_nice_expr(): - - is_nice_expr(self) -> bool - - -ida_hexrays.carg_t.is_non_negative_const(): - - is_non_negative_const(self) -> bool - - -ida_hexrays.carg_t.is_non_zero_const(): - - is_non_zero_const(self) -> bool - - -ida_hexrays.carg_t.is_odd_lvalue(): - - is_odd_lvalue(self) -> bool - - -ida_hexrays.carg_t.is_type_signed(): - - is_type_signed(self) -> bool - - -ida_hexrays.carg_t.is_type_unsigned(): - - is_type_unsigned(self) -> bool - - -ida_hexrays.carg_t.is_undef_val(): - - is_undef_val(self) -> bool - - -ida_hexrays.carg_t.is_vararg: - carg_t_is_vararg_get(self) -> bool - -ida_hexrays.carg_t.is_vftable(): - - is_vftable(self) -> bool - - -ida_hexrays.carg_t.is_zero_const(): - - is_zero_const(self) -> bool - - -ida_hexrays.carg_t.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.carg_t.maybe_ptr(): - - maybe_ptr(self) -> bool - - -ida_hexrays.carg_t.numval(): - - numval(self) -> uint64 - - -ida_hexrays.carg_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.carg_t.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.carg_t.operands: - - return a dictionary with the operands of a cexpr_t. - - -ida_hexrays.carg_t.print1(): - - print1(self, func) - - -ida_hexrays.carg_t.put_number(): - - put_number(self, func, value, nbytes, sign=no_sign) - - -ida_hexrays.carg_t.requires_lvalue(): - - requires_lvalue(self, child) -> bool - - -ida_hexrays.carg_t.set_cpadone(): - - set_cpadone(self) - - -ida_hexrays.carg_t.set_v(): - - set_v(self, v) - - -ida_hexrays.carg_t.set_vftable(): - - set_vftable(self) - - -ida_hexrays.carg_t.swap(): - - swap(self, r) - - -ida_hexrays.carg_t.theother(): - - theother(self, what) -> cexpr_t - theother(self, what) -> cexpr_t - - -ida_hexrays.carg_t.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.carg_t.type: - cexpr_t_type_get(self) -> tinfo_t - -class ida_hexrays.carglist_t(): - - Proxy of C++ carglist_t class - - -ida_hexrays.carglist_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.carglist_t.append(): - - push_back(self, x) - push_back(self) -> carg_t - - -ida_hexrays.carglist_t.at(): - - __getitem__(self, i) -> carg_t - - -ida_hexrays.carglist_t.begin(): - - begin(self) -> carg_t - begin(self) -> carg_t - - -ida_hexrays.carglist_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.carglist_t.clear(): - - clear(self) - - -ida_hexrays.carglist_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.carglist_t.empty(): - - empty(self) -> bool - - -ida_hexrays.carglist_t.end(): - - end(self) -> carg_t - end(self) -> carg_t - - -ida_hexrays.carglist_t.erase(): - - erase(self, it) -> carg_t - erase(self, first, last) -> carg_t - - -ida_hexrays.carglist_t.extract(): - - extract(self) -> carg_t - - -ida_hexrays.carglist_t.find(): - - find(self, x) -> carg_t - find(self, x) -> carg_t - - -ida_hexrays.carglist_t.flags: - carglist_t_flags_get(self) -> int - -ida_hexrays.carglist_t.functype: - carglist_t_functype_get(self) -> tinfo_t - -ida_hexrays.carglist_t.grow(): - - grow(self, x=carg_t()) - - -ida_hexrays.carglist_t.has(): - - has(self, x) -> bool - - -ida_hexrays.carglist_t.inject(): - - inject(self, s, len) - - -ida_hexrays.carglist_t.insert(): - - insert(self, it, x) -> carg_t - - -ida_hexrays.carglist_t.pop_back(): - - pop_back(self) - - -ida_hexrays.carglist_t.push_back(): - - push_back(self, x) - push_back(self) -> carg_t - - -ida_hexrays.carglist_t.qclear(): - - qclear(self) - - -ida_hexrays.carglist_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.carglist_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.carglist_t.size(): - - size(self) -> size_t - - -ida_hexrays.carglist_t.swap(): - - swap(self, r) - - -ida_hexrays.carglist_t.truncate(): - - truncate(self) - - -class ida_hexrays.casm_t(): - - Proxy of C++ casm_t class - - -ida_hexrays.casm_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.casm_t.append(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_hexrays.casm_t.at(): - - __getitem__(self, i) -> unsigned-ea-like-numeric-type & - - -ida_hexrays.casm_t.begin(): - - begin(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - begin(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_hexrays.casm_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.casm_t.clear(): - - clear(self) - - -ida_hexrays.casm_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.casm_t.empty(): - - empty(self) -> bool - - -ida_hexrays.casm_t.end(): - - end(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - end(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_hexrays.casm_t.erase(): - - erase(self, it) -> qvector< unsigned-ea-like-numeric-type >::iterator - erase(self, first, last) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.casm_t.extract(): - - extract(self) -> unsigned-ea-like-numeric-type * - - -ida_hexrays.casm_t.find(): - - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_hexrays.casm_t.has(): - - has(self, x) -> bool - - -ida_hexrays.casm_t.inject(): - - inject(self, s, len) - - -ida_hexrays.casm_t.insert(): - - insert(self, it, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.casm_t.one_insn(): - - one_insn(self) -> bool - - -ida_hexrays.casm_t.pop_back(): - - pop_back(self) - - -ida_hexrays.casm_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_hexrays.casm_t.qclear(): - - qclear(self) - - -ida_hexrays.casm_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.casm_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.casm_t.size(): - - size(self) -> size_t - - -ida_hexrays.casm_t.swap(): - - swap(self, r) - - -ida_hexrays.casm_t.truncate(): - - truncate(self) - - -class ida_hexrays.cblock_t(): - - Proxy of C++ cblock_t class - - -ida_hexrays.cblock_t.back(): - - back(self) -> cinsn_t - back(self) -> cinsn_t - - -ida_hexrays.cblock_t.begin(): - - begin(self) -> qlist_cinsn_t_iterator - - -ida_hexrays.cblock_t.clear(): - - clear(self) - - -ida_hexrays.cblock_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cblock_t.empty(): - - empty(self) -> bool - - -ida_hexrays.cblock_t.end(): - - end(self) -> qlist_cinsn_t_iterator - - -ida_hexrays.cblock_t.erase(): - - erase(self, p) -> qlist< cinsn_t >::iterator - erase(self, p1, p2) - erase(self, p) - - -ida_hexrays.cblock_t.front(): - - front(self) -> cinsn_t - front(self) -> cinsn_t - - -ida_hexrays.cblock_t.pop_back(): - - pop_back(self) - - -ida_hexrays.cblock_t.pop_front(): - - pop_front(self) - - -ida_hexrays.cblock_t.push_back(): - - push_back(self, x) - push_back(self) -> cinsn_t - - -ida_hexrays.cblock_t.push_front(): - - push_front(self, x) - - -ida_hexrays.cblock_t.rbegin(): - - rbegin(self) -> qlist< cinsn_t >::reverse_iterator - rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator - - -ida_hexrays.cblock_t.rend(): - - rend(self) -> qlist< cinsn_t >::reverse_iterator - rend(self) -> qlist< cinsn_t >::const_reverse_iterator - - -ida_hexrays.cblock_t.size(): - - size(self) -> size_t - - -ida_hexrays.cblock_t.swap(): - - swap(self, x) - - -class ida_hexrays.ccase_t(): - - Proxy of C++ ccase_t class - - -ida_hexrays.ccase_t._print(): - - _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) - - -ida_hexrays.ccase_t.assign(): - - assign(self, r) -> cinsn_t - - -ida_hexrays.ccase_t.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.ccase_t.cleanup(): - - cleanup(self) - - -ida_hexrays.ccase_t.collect_free_breaks(): - - collect_free_breaks(self, breaks) -> bool - - -ida_hexrays.ccase_t.collect_free_continues(): - - collect_free_continues(self, continues) -> bool - - -ida_hexrays.ccase_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.ccase_t.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.ccase_t.contains_free_break(): - - contains_free_break(self) -> bool - - -ida_hexrays.ccase_t.contains_free_continue(): - - contains_free_continue(self) -> bool - - -ida_hexrays.ccase_t.contains_insn(): - - contains_insn(self, type, times=1) -> bool - - -ida_hexrays.ccase_t.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.ccase_t.create_if(): - - create_if(self, cnd) -> cif_t - - -ida_hexrays.ccase_t.details: - - 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. - - -ida_hexrays.ccase_t.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.ccase_t.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.ccase_t.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.ccase_t.index: - citem_t_index_get(self) -> int - -ida_hexrays.ccase_t.insn_is_epilog(): - - insn_is_epilog(insn) -> bool - - -ida_hexrays.ccase_t.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.ccase_t.is_ordinary_flow(): - - is_ordinary_flow(self) -> bool - - -ida_hexrays.ccase_t.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.ccase_t.new_insn(): - - new_insn(self, insn_ea) -> cinsn_t - - -ida_hexrays.ccase_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.ccase_t.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.ccase_t.print1(): - - print1(self, func) - - -ida_hexrays.ccase_t.size(): - - size(self) -> size_t - - -ida_hexrays.ccase_t.swap(): - - swap(self, r) - - -ida_hexrays.ccase_t.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.ccase_t.value(): - - value(self, i) -> uint64 const & - - -ida_hexrays.ccase_t.values: - ccase_t_values_get(self) -> ulonglongvec_t - -ida_hexrays.ccase_t.zero(): - - zero(self) - - -class ida_hexrays.ccases_t(): - - Proxy of C++ ccases_t class - - -ida_hexrays.ccases_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.ccases_t.append(): - - push_back(self, x) - push_back(self) -> ccase_t - - -ida_hexrays.ccases_t.at(): - - __getitem__(self, i) -> ccase_t - - -ida_hexrays.ccases_t.begin(): - - begin(self) -> ccase_t - begin(self) -> ccase_t - - -ida_hexrays.ccases_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.ccases_t.clear(): - - clear(self) - - -ida_hexrays.ccases_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.ccases_t.empty(): - - empty(self) -> bool - - -ida_hexrays.ccases_t.end(): - - end(self) -> ccase_t - end(self) -> ccase_t - - -ida_hexrays.ccases_t.erase(): - - erase(self, it) -> ccase_t - erase(self, first, last) -> ccase_t - - -ida_hexrays.ccases_t.extract(): - - extract(self) -> ccase_t - - -ida_hexrays.ccases_t.find(): - - find(self, x) -> ccase_t - find(self, x) -> ccase_t - - -ida_hexrays.ccases_t.grow(): - - grow(self, x=ccase_t()) - - -ida_hexrays.ccases_t.has(): - - has(self, x) -> bool - - -ida_hexrays.ccases_t.inject(): - - inject(self, s, len) - - -ida_hexrays.ccases_t.insert(): - - insert(self, it, x) -> ccase_t - - -ida_hexrays.ccases_t.pop_back(): - - pop_back(self) - - -ida_hexrays.ccases_t.push_back(): - - push_back(self, x) - push_back(self) -> ccase_t - - -ida_hexrays.ccases_t.qclear(): - - qclear(self) - - -ida_hexrays.ccases_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.ccases_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.ccases_t.size(): - - size(self) -> size_t - - -ida_hexrays.ccases_t.swap(): - - swap(self, r) - - -ida_hexrays.ccases_t.truncate(): - - truncate(self) - - -class ida_hexrays.cdo_t(): - - Proxy of C++ cdo_t class - - -ida_hexrays.cdo_t.assign(): - - assign(self, r) -> cloop_t - - -ida_hexrays.cdo_t.body: - cloop_t_body_get(self) -> cinsn_t - -ida_hexrays.cdo_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cdo_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cdo_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -class ida_hexrays.ceinsn_t(): - - Proxy of C++ ceinsn_t class - - -ida_hexrays.ceinsn_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.cexpr_operands(): - - return a dictionary with the operands of a cexpr_t. - - -class ida_hexrays.cexpr_t(): - - Proxy of C++ cexpr_t class - - -ida_hexrays.cexpr_t.assign(): - - assign(self, r) -> cexpr_t - - -ida_hexrays.cexpr_t.calc_type(): - - calc_type(self, recursive) - - -ida_hexrays.cexpr_t.cexpr: - citem_t_cexpr_get(self) -> cexpr_t - -ida_hexrays.cexpr_t.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.cexpr_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cexpr_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cexpr_t.contains_comma(): - - contains_comma(self, times=1) -> bool - - -ida_hexrays.cexpr_t.contains_comma_or_insn_or_label(): - - contains_comma_or_insn_or_label(self, maxcommas=1) -> bool - - -ida_hexrays.cexpr_t.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.cexpr_t.contains_insn(): - - contains_insn(self, times=1) -> bool - - -ida_hexrays.cexpr_t.contains_insn_or_label(): - - contains_insn_or_label(self) -> bool - - -ida_hexrays.cexpr_t.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.cexpr_t.contains_operator(): - - contains_operator(self, needed_op, times=1) -> bool - - -ida_hexrays.cexpr_t.cpadone(): - - cpadone(self) -> bool - - -ida_hexrays.cexpr_t.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.cexpr_t.equal_effect(): - - equal_effect(self, r) -> bool - - -ida_hexrays.cexpr_t.exflags: - cexpr_t_exflags_get(self) -> uint32 - -ida_hexrays.cexpr_t.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.cexpr_t.find_num_op(): - - find_num_op(self) -> cexpr_t - find_num_op(self) -> cexpr_t - - -ida_hexrays.cexpr_t.find_op(): - - find_op(self, _op) -> cexpr_t - find_op(self, _op) -> cexpr_t - - -ida_hexrays.cexpr_t.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.cexpr_t.get_1num_op(): - - get_1num_op(self, o1, o2) -> bool - - -ida_hexrays.cexpr_t.get_const_value(): - - get_const_value(self) -> bool - - -ida_hexrays.cexpr_t.get_high_nbit_bound(): - - get_high_nbit_bound(self) -> bit_bound_t - - -ida_hexrays.cexpr_t.get_low_nbit_bound(): - - get_low_nbit_bound(self) -> int - - -ida_hexrays.cexpr_t.get_ptr_or_array(): - - get_ptr_or_array(self) -> cexpr_t - - -ida_hexrays.cexpr_t.get_type_sign(): - - get_type_sign(self) -> type_sign_t - - -ida_hexrays.cexpr_t.get_v(): - - get_v(self) -> var_ref_t - - -ida_hexrays.cexpr_t.has_side_effects(): - - has_side_effects(self) -> bool - - -ida_hexrays.cexpr_t.index: - citem_t_index_get(self) -> int - -ida_hexrays.cexpr_t.is_call_arg_of(): - - is_call_arg_of(self, parent) -> bool - - -ida_hexrays.cexpr_t.is_call_object_of(): - - is_call_object_of(self, parent) -> bool - - -ida_hexrays.cexpr_t.is_child_of(): - - is_child_of(self, parent) -> bool - - -ida_hexrays.cexpr_t.is_const_value(): - - is_const_value(self, _v) -> bool - - -ida_hexrays.cexpr_t.is_cstr(): - - is_cstr(self) -> bool - - -ida_hexrays.cexpr_t.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.cexpr_t.is_fpop(): - - is_fpop(self) -> bool - - -ida_hexrays.cexpr_t.is_jumpout(): - - is_jumpout(self) -> bool - - -ida_hexrays.cexpr_t.is_negative_const(): - - is_negative_const(self) -> bool - - -ida_hexrays.cexpr_t.is_nice_cond(): - - is_nice_cond(self) -> bool - - -ida_hexrays.cexpr_t.is_nice_expr(): - - is_nice_expr(self) -> bool - - -ida_hexrays.cexpr_t.is_non_negative_const(): - - is_non_negative_const(self) -> bool - - -ida_hexrays.cexpr_t.is_non_zero_const(): - - is_non_zero_const(self) -> bool - - -ida_hexrays.cexpr_t.is_odd_lvalue(): - - is_odd_lvalue(self) -> bool - - -ida_hexrays.cexpr_t.is_type_signed(): - - is_type_signed(self) -> bool - - -ida_hexrays.cexpr_t.is_type_unsigned(): - - is_type_unsigned(self) -> bool - - -ida_hexrays.cexpr_t.is_undef_val(): - - is_undef_val(self) -> bool - - -ida_hexrays.cexpr_t.is_vftable(): - - is_vftable(self) -> bool - - -ida_hexrays.cexpr_t.is_zero_const(): - - is_zero_const(self) -> bool - - -ida_hexrays.cexpr_t.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.cexpr_t.maybe_ptr(): - - maybe_ptr(self) -> bool - - -ida_hexrays.cexpr_t.numval(): - - numval(self) -> uint64 - - -ida_hexrays.cexpr_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.cexpr_t.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.cexpr_t.operands: - - return a dictionary with the operands of a cexpr_t. - - -ida_hexrays.cexpr_t.print1(): - - print1(self, func) - - -ida_hexrays.cexpr_t.put_number(): - - put_number(self, func, value, nbytes, sign=no_sign) - - -ida_hexrays.cexpr_t.requires_lvalue(): - - requires_lvalue(self, child) -> bool - - -ida_hexrays.cexpr_t.set_cpadone(): - - set_cpadone(self) - - -ida_hexrays.cexpr_t.set_v(): - - set_v(self, v) - - -ida_hexrays.cexpr_t.set_vftable(): - - set_vftable(self) - - -ida_hexrays.cexpr_t.swap(): - - swap(self, r) - - -ida_hexrays.cexpr_t.theother(): - - theother(self, what) -> cexpr_t - theother(self, what) -> cexpr_t - - -ida_hexrays.cexpr_t.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.cexpr_t.type: - cexpr_t_type_get(self) -> tinfo_t - -class ida_hexrays.cfor_t(): - - Proxy of C++ cfor_t class - - -ida_hexrays.cfor_t.assign(): - - assign(self, r) -> cloop_t - - -ida_hexrays.cfor_t.body: - cloop_t_body_get(self) -> cinsn_t - -ida_hexrays.cfor_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cfor_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cfor_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.cfor_t.init: - cfor_t_init_get(self) -> cexpr_t - -ida_hexrays.cfor_t.step: - cfor_t_step_get(self) -> cexpr_t - -class ida_hexrays.cfunc_parentee_t(): - - Proxy of C++ cfunc_parentee_t class - - -ida_hexrays.cfunc_parentee_t.apply_to(): - - apply_to(self, item, parent) -> int - - -ida_hexrays.cfunc_parentee_t.apply_to_exprs(): - - apply_to_exprs(self, item, parent) -> int - - -ida_hexrays.cfunc_parentee_t.calc_rvalue_type(): - - calc_rvalue_type(self, target, e) -> bool - - -ida_hexrays.cfunc_parentee_t.clr_prune(): - - clr_prune(self) - - -ida_hexrays.cfunc_parentee_t.clr_restart(): - - clr_restart(self) - - -ida_hexrays.cfunc_parentee_t.cv_flags: - ctree_visitor_t_cv_flags_get(self) -> int - -ida_hexrays.cfunc_parentee_t.func: - cfunc_parentee_t_func_get(self) -> cfunc_t - -ida_hexrays.cfunc_parentee_t.is_postorder(): - - is_postorder(self) -> bool - - -ida_hexrays.cfunc_parentee_t.leave_expr(): - - leave_expr(self, arg0) -> int - - -ida_hexrays.cfunc_parentee_t.leave_insn(): - - leave_insn(self, arg0) -> int - - -ida_hexrays.cfunc_parentee_t.maintain_parents(): - - maintain_parents(self) -> bool - - -ida_hexrays.cfunc_parentee_t.must_prune(): - - must_prune(self) -> bool - - -ida_hexrays.cfunc_parentee_t.must_restart(): - - must_restart(self) -> bool - - -ida_hexrays.cfunc_parentee_t.only_insns(): - - only_insns(self) -> bool - - -ida_hexrays.cfunc_parentee_t.parent_expr(): - - parent_expr(self) -> cexpr_t - - -ida_hexrays.cfunc_parentee_t.parent_insn(): - - parent_insn(self) -> cinsn_t - - -ida_hexrays.cfunc_parentee_t.parents: - ctree_visitor_t_parents_get(self) -> ctree_items_t - -ida_hexrays.cfunc_parentee_t.prune_now(): - - prune_now(self) - - -ida_hexrays.cfunc_parentee_t.recalc_parent_types(): - - recalc_parent_types(self) -> bool - - -ida_hexrays.cfunc_parentee_t.set_restart(): - - set_restart(self) - - -ida_hexrays.cfunc_parentee_t.visit_expr(): - - visit_expr(self, arg0) -> int - - -ida_hexrays.cfunc_parentee_t.visit_insn(): - - visit_insn(self, arg0) -> int - - -class ida_hexrays.cfunc_t(): - - Proxy of C++ cfunc_t class - - -ida_hexrays.cfunc_t.argidx: - cfunc_t_argidx_get(self) -> intvec_t - -ida_hexrays.cfunc_t.body: - cfunc_t_body_get(self) -> cinsn_t - -ida_hexrays.cfunc_t.boundaries: - - get_boundaries(self) -> boundaries_t - - -ida_hexrays.cfunc_t.build_c_tree(): - - build_c_tree(self) - - -ida_hexrays.cfunc_t.del_orphan_cmts(): - - del_orphan_cmts(self) -> int - - -ida_hexrays.cfunc_t.eamap: - - get_eamap(self) -> eamap_t - - -ida_hexrays.cfunc_t.entry_ea: - cfunc_t_entry_ea_get(self) -> ea_t - -ida_hexrays.cfunc_t.find_item_coords(): - - find_item_coords(self, item, px, py) -> bool - find_item_coords(self, item) -> PyObject * - - -ida_hexrays.cfunc_t.find_label(): - - find_label(self, label) -> citem_t - - -ida_hexrays.cfunc_t.gather_derefs(): - - gather_derefs(self, ci, udm=None) -> bool - - -ida_hexrays.cfunc_t.get_boundaries(): - - get_boundaries(self) -> boundaries_t - - -ida_hexrays.cfunc_t.get_eamap(): - - get_eamap(self) -> eamap_t - - -ida_hexrays.cfunc_t.get_func_type(): - - get_func_type(self, type) -> bool - - -ida_hexrays.cfunc_t.get_line_item(): - - get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool - - -ida_hexrays.cfunc_t.get_lvars(): - - get_lvars(self) -> lvars_t - - -ida_hexrays.cfunc_t.get_pseudocode(): - - get_pseudocode(self) -> strvec_t - - -ida_hexrays.cfunc_t.get_stkoff_delta(): - - get_stkoff_delta(self) -> sval_t - - -ida_hexrays.cfunc_t.get_user_cmt(): - - get_user_cmt(self, loc, rt) -> char const * - - -ida_hexrays.cfunc_t.get_user_iflags(): - - get_user_iflags(self, loc) -> int32 - - -ida_hexrays.cfunc_t.get_user_union_selection(): - - get_user_union_selection(self, ea, path) -> bool - - -ida_hexrays.cfunc_t.get_warnings(): - - get_warnings(self) -> hexwarns_t - - -ida_hexrays.cfunc_t.has_orphan_cmts(): - - has_orphan_cmts(self) -> bool - - -ida_hexrays.cfunc_t.hdrlines: - cfunc_t_hdrlines_get(self) -> int - -ida_hexrays.cfunc_t.lvars: - - get_lvars(self) -> lvars_t - - -ida_hexrays.cfunc_t.maturity: - cfunc_t_maturity_get(self) -> ctree_maturity_t - -ida_hexrays.cfunc_t.mba: - cfunc_t_mba_get(self) -> mbl_array_t - -ida_hexrays.cfunc_t.numforms: - cfunc_t_numforms_get(self) -> user_numforms_t - -ida_hexrays.cfunc_t.print_dcl(): - - print_dcl(self) - - -ida_hexrays.cfunc_t.print_func(): - - print_func(self, vp) - - -ida_hexrays.cfunc_t.pseudocode: - - get_pseudocode(self) -> strvec_t - - -ida_hexrays.cfunc_t.refcnt: - cfunc_t_refcnt_get(self) -> int - -ida_hexrays.cfunc_t.refresh_func_ctext(): - - refresh_func_ctext(self) - - -ida_hexrays.cfunc_t.release(): - - release(self) - - -ida_hexrays.cfunc_t.remove_unused_labels(): - - remove_unused_labels(self) - - -ida_hexrays.cfunc_t.save_user_cmts(): - - save_user_cmts(self) - - -ida_hexrays.cfunc_t.save_user_iflags(): - - save_user_iflags(self) - - -ida_hexrays.cfunc_t.save_user_labels(): - - save_user_labels(self) - - -ida_hexrays.cfunc_t.save_user_numforms(): - - save_user_numforms(self) - - -ida_hexrays.cfunc_t.save_user_unions(): - - save_user_unions(self) - - -ida_hexrays.cfunc_t.set_user_cmt(): - - set_user_cmt(self, loc, cmt) - - -ida_hexrays.cfunc_t.set_user_iflags(): - - set_user_iflags(self, loc, iflags) - - -ida_hexrays.cfunc_t.set_user_union_selection(): - - set_user_union_selection(self, ea, path) - - -ida_hexrays.cfunc_t.statebits: - cfunc_t_statebits_get(self) -> int - -ida_hexrays.cfunc_t.treeitems: - cfunc_t_treeitems_get(self) -> ctree_items_t - -ida_hexrays.cfunc_t.type: - - Get the function's return type tinfo_t object. - - -ida_hexrays.cfunc_t.user_cmts: - cfunc_t_user_cmts_get(self) -> user_cmts_t - -ida_hexrays.cfunc_t.user_iflags: - cfunc_t_user_iflags_get(self) -> user_iflags_t - -ida_hexrays.cfunc_t.user_labels: - cfunc_t_user_labels_get(self) -> user_labels_t - -ida_hexrays.cfunc_t.user_unions: - cfunc_t_user_unions_get(self) -> user_unions_t - -ida_hexrays.cfunc_t.verify(): - - verify(self, aul, even_without_debugger) - - -ida_hexrays.cfunc_t.warnings: - - get_warnings(self) -> hexwarns_t - - -ida_hexrays.cfunc_type(): - - Get the function's return type tinfo_t object. - - -class ida_hexrays.cfuncptr_t(): - - Proxy of C++ qrefcnt_t<(cfunc_t)> class - - -ida_hexrays.cfuncptr_t.argidx: - cfuncptr_t_argidx_get(self) -> intvec_t - -ida_hexrays.cfuncptr_t.body: - cfuncptr_t_body_get(self) -> cinsn_t - -ida_hexrays.cfuncptr_t.build_c_tree(): - - build_c_tree(self) - - -ida_hexrays.cfuncptr_t.del_orphan_cmts(): - - del_orphan_cmts(self) -> int - - -ida_hexrays.cfuncptr_t.entry_ea: - cfuncptr_t_entry_ea_get(self) -> ea_t - -ida_hexrays.cfuncptr_t.find_item_coords(): - - find_item_coords(self, item, px, py) -> bool - find_item_coords(self, item) -> PyObject * - - -ida_hexrays.cfuncptr_t.find_label(): - - find_label(self, label) -> citem_t - - -ida_hexrays.cfuncptr_t.gather_derefs(): - - gather_derefs(self, ci, udm=None) -> bool - - -ida_hexrays.cfuncptr_t.get_boundaries(): - - get_boundaries(self) -> boundaries_t - - -ida_hexrays.cfuncptr_t.get_eamap(): - - get_eamap(self) -> eamap_t - - -ida_hexrays.cfuncptr_t.get_func_type(): - - get_func_type(self, type) -> bool - - -ida_hexrays.cfuncptr_t.get_line_item(): - - get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool - - -ida_hexrays.cfuncptr_t.get_lvars(): - - get_lvars(self) -> lvars_t - - -ida_hexrays.cfuncptr_t.get_pseudocode(): - - get_pseudocode(self) -> strvec_t - - -ida_hexrays.cfuncptr_t.get_stkoff_delta(): - - get_stkoff_delta(self) -> sval_t - - -ida_hexrays.cfuncptr_t.get_user_cmt(): - - get_user_cmt(self, loc, rt) -> char const * - - -ida_hexrays.cfuncptr_t.get_user_iflags(): - - get_user_iflags(self, loc) -> int32 - - -ida_hexrays.cfuncptr_t.get_user_union_selection(): - - get_user_union_selection(self, ea, path) -> bool - - -ida_hexrays.cfuncptr_t.get_warnings(): - - get_warnings(self) -> hexwarns_t - - -ida_hexrays.cfuncptr_t.has_orphan_cmts(): - - has_orphan_cmts(self) -> bool - - -ida_hexrays.cfuncptr_t.hdrlines: - cfuncptr_t_hdrlines_get(self) -> int - -ida_hexrays.cfuncptr_t.maturity: - cfuncptr_t_maturity_get(self) -> ctree_maturity_t - -ida_hexrays.cfuncptr_t.mba: - cfuncptr_t_mba_get(self) -> mbl_array_t - -ida_hexrays.cfuncptr_t.numforms: - cfuncptr_t_numforms_get(self) -> user_numforms_t - -ida_hexrays.cfuncptr_t.print_dcl(): - - print_dcl(self) - - -ida_hexrays.cfuncptr_t.print_func(): - - print_func(self, vp) - - -ida_hexrays.cfuncptr_t.refcnt: - cfuncptr_t_refcnt_get(self) -> int - -ida_hexrays.cfuncptr_t.refresh_func_ctext(): - - refresh_func_ctext(self) - - -ida_hexrays.cfuncptr_t.release(): - - release(self) - - -ida_hexrays.cfuncptr_t.remove_unused_labels(): - - remove_unused_labels(self) - - -ida_hexrays.cfuncptr_t.reset(): - - reset(self) - - -ida_hexrays.cfuncptr_t.save_user_cmts(): - - save_user_cmts(self) - - -ida_hexrays.cfuncptr_t.save_user_iflags(): - - save_user_iflags(self) - - -ida_hexrays.cfuncptr_t.save_user_labels(): - - save_user_labels(self) - - -ida_hexrays.cfuncptr_t.save_user_numforms(): - - save_user_numforms(self) - - -ida_hexrays.cfuncptr_t.save_user_unions(): - - save_user_unions(self) - - -ida_hexrays.cfuncptr_t.set_user_cmt(): - - set_user_cmt(self, loc, cmt) - - -ida_hexrays.cfuncptr_t.set_user_iflags(): - - set_user_iflags(self, loc, iflags) - - -ida_hexrays.cfuncptr_t.set_user_union_selection(): - - set_user_union_selection(self, ea, path) - - -ida_hexrays.cfuncptr_t.statebits: - cfuncptr_t_statebits_get(self) -> int - -ida_hexrays.cfuncptr_t.treeitems: - cfuncptr_t_treeitems_get(self) -> ctree_items_t - -ida_hexrays.cfuncptr_t.user_cmts: - cfuncptr_t_user_cmts_get(self) -> user_cmts_t - -ida_hexrays.cfuncptr_t.user_iflags: - cfuncptr_t_user_iflags_get(self) -> user_iflags_t - -ida_hexrays.cfuncptr_t.user_labels: - cfuncptr_t_user_labels_get(self) -> user_labels_t - -ida_hexrays.cfuncptr_t.user_unions: - cfuncptr_t_user_unions_get(self) -> user_unions_t - -ida_hexrays.cfuncptr_t.verify(): - - verify(self, aul, even_without_debugger) - - -class ida_hexrays.cgoto_t(): - - Proxy of C++ cgoto_t class - - -ida_hexrays.cgoto_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cgoto_t.label_num: - cgoto_t_label_num_get(self) -> int - -class ida_hexrays.chain_keeper_t(): - - Proxy of C++ chain_keeper_t class - - -ida_hexrays.chain_keeper_t.back(): - - back(self) -> block_chains_t - - -ida_hexrays.chain_keeper_t.for_all_chains(): - - for_all_chains(self, cv, gca) -> int - - -ida_hexrays.chain_keeper_t.front(): - - front(self) -> block_chains_t - - -class ida_hexrays.chain_t(): - - Proxy of C++ chain_t class - - -ida_hexrays.chain_t._print(): - - _print(self) - - -ida_hexrays.chain_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.chain_t.append(): - - push_back(self, x) - push_back(self) -> int & - - -ida_hexrays.chain_t.append_list(): - - append_list(self, list) - - -ida_hexrays.chain_t.at(): - - __getitem__(self, i) -> int const & - - -ida_hexrays.chain_t.begin(): - - begin(self) -> qvector< int >::iterator - begin(self) -> qvector< int >::const_iterator - - -ida_hexrays.chain_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.chain_t.clear(): - - clear(self) - - -ida_hexrays.chain_t.clear_varnum(): - - clear_varnum(self) - - -ida_hexrays.chain_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.chain_t.empty(): - - empty(self) -> bool - - -ida_hexrays.chain_t.end(): - - end(self) -> qvector< int >::iterator - end(self) -> qvector< int >::const_iterator - - -ida_hexrays.chain_t.endoff(): - - endoff(self) -> voff_t - - -ida_hexrays.chain_t.erase(): - - erase(self, it) -> qvector< int >::iterator - erase(self, first, last) -> qvector< int >::iterator - - -ida_hexrays.chain_t.extract(): - - extract(self) -> int * - - -ida_hexrays.chain_t.find(): - - find(self, x) -> qvector< int >::iterator - find(self, x) -> qvector< int >::const_iterator - - -ida_hexrays.chain_t.flags: - chain_t_flags_get(self) -> uchar - -ida_hexrays.chain_t.get_reg(): - - get_reg(self) -> mreg_t - - -ida_hexrays.chain_t.get_stkoff(): - - get_stkoff(self) -> sval_t - - -ida_hexrays.chain_t.has(): - - has(self, x) -> bool - - -ida_hexrays.chain_t.includes(): - - includes(self, r) -> bool - - -ida_hexrays.chain_t.inject(): - - inject(self, s, len) - - -ida_hexrays.chain_t.insert(): - - insert(self, it, x) -> qvector< int >::iterator - - -ida_hexrays.chain_t.is_fake(): - - is_fake(self) -> bool - - -ida_hexrays.chain_t.is_inited(): - - is_inited(self) -> bool - - -ida_hexrays.chain_t.is_overlapped(): - - is_overlapped(self) -> bool - - -ida_hexrays.chain_t.is_passreg(): - - is_passreg(self) -> bool - - -ida_hexrays.chain_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.chain_t.is_replaced(): - - is_replaced(self) -> bool - - -ida_hexrays.chain_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_hexrays.chain_t.is_term(): - - is_term(self) -> bool - - -ida_hexrays.chain_t.key(): - - key(self) -> voff_t - - -ida_hexrays.chain_t.overlap(): - - overlap(self, r) -> bool - - -ida_hexrays.chain_t.pop_back(): - - pop_back(self) - - -ida_hexrays.chain_t.push_back(): - - push_back(self, x) - push_back(self) -> int & - - -ida_hexrays.chain_t.qclear(): - - qclear(self) - - -ida_hexrays.chain_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.chain_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.chain_t.set_inited(): - - set_inited(self, b) - - -ida_hexrays.chain_t.set_overlapped(): - - set_overlapped(self, b) - - -ida_hexrays.chain_t.set_replaced(): - - set_replaced(self, b) - - -ida_hexrays.chain_t.set_term(): - - set_term(self, b) - - -ida_hexrays.chain_t.set_value(): - - set_value(self, r) - - -ida_hexrays.chain_t.size(): - - size(self) -> size_t - - -ida_hexrays.chain_t.swap(): - - swap(self, r) - - -ida_hexrays.chain_t.truncate(): - - truncate(self) - - -ida_hexrays.chain_t.varnum: - chain_t_varnum_get(self) -> int - -ida_hexrays.chain_t.width: - chain_t_width_get(self) -> int - -class ida_hexrays.chain_visitor_t(): - - Proxy of C++ chain_visitor_t class - - -ida_hexrays.chain_visitor_t.parent: - chain_visitor_t_parent_get(self) -> block_chains_t - -ida_hexrays.chain_visitor_t.visit_chain(): - - visit_chain(self, nblock, ch) -> int - - -ida_hexrays.checkout_hexrays_license(): - - checkout_hexrays_license(silent) -> bool - - - Check out a floating decompiler license. This function will display a - dialog box if the license is not available. For non-floating licenses - this function is effectively no-op. It is not necessary to call this - function before decompiling. If the license was not checked out, the - decompiler will automatically do it. This function can be used to - check out a license in advance and ensure that a license is available. - - @param silent: silently fail if the license can not be checked out. - (C++: bool) - @return: false if failed - - -class ida_hexrays.cif_t(): - - Proxy of C++ cif_t class - - -ida_hexrays.cif_t.assign(): - - assign(self, r) -> cif_t - - -ida_hexrays.cif_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cif_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cif_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.cif_t.ielse: - cif_t_ielse_get(self) -> cinsn_t - -ida_hexrays.cif_t.ithen: - cif_t_ithen_get(self) -> cinsn_t - -ida_hexrays.cinsn_details(): - - 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. - - -class ida_hexrays.cinsn_t(): - - Proxy of C++ cinsn_t class - - -ida_hexrays.cinsn_t._print(): - - _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) - - -ida_hexrays.cinsn_t.assign(): - - assign(self, r) -> cinsn_t - - -ida_hexrays.cinsn_t.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.cinsn_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cinsn_t.collect_free_breaks(): - - collect_free_breaks(self, breaks) -> bool - - -ida_hexrays.cinsn_t.collect_free_continues(): - - collect_free_continues(self, continues) -> bool - - -ida_hexrays.cinsn_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cinsn_t.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.cinsn_t.contains_free_break(): - - contains_free_break(self) -> bool - - -ida_hexrays.cinsn_t.contains_free_continue(): - - contains_free_continue(self) -> bool - - -ida_hexrays.cinsn_t.contains_insn(): - - contains_insn(self, type, times=1) -> bool - - -ida_hexrays.cinsn_t.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.cinsn_t.create_if(): - - create_if(self, cnd) -> cif_t - - -ida_hexrays.cinsn_t.details: - - 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. - - -ida_hexrays.cinsn_t.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.cinsn_t.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.cinsn_t.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.cinsn_t.index: - citem_t_index_get(self) -> int - -ida_hexrays.cinsn_t.insn_is_epilog(): - - insn_is_epilog(insn) -> bool - - -ida_hexrays.cinsn_t.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.cinsn_t.is_ordinary_flow(): - - is_ordinary_flow(self) -> bool - - -ida_hexrays.cinsn_t.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.cinsn_t.new_insn(): - - new_insn(self, insn_ea) -> cinsn_t - - -ida_hexrays.cinsn_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.cinsn_t.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.cinsn_t.print1(): - - print1(self, func) - - -ida_hexrays.cinsn_t.swap(): - - swap(self, r) - - -ida_hexrays.cinsn_t.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.cinsn_t.zero(): - - zero(self) - - -ida_hexrays.cinsn_t_insn_is_epilog(): - - cinsn_t_insn_is_epilog(insn) -> bool - - -class ida_hexrays.cinsnptrvec_t(): - - Proxy of C++ qvector<(p.cinsn_t)> class - - -ida_hexrays.cinsnptrvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.cinsnptrvec_t.append(): - - push_back(self, x) - push_back(self) -> cinsn_t *& - - -ida_hexrays.cinsnptrvec_t.at(): - - __getitem__(self, i) -> cinsn_t - - -ida_hexrays.cinsnptrvec_t.begin(): - - begin(self) -> qvector< cinsn_t * >::iterator - begin(self) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.cinsnptrvec_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.cinsnptrvec_t.clear(): - - clear(self) - - -ida_hexrays.cinsnptrvec_t.empty(): - - empty(self) -> bool - - -ida_hexrays.cinsnptrvec_t.end(): - - end(self) -> qvector< cinsn_t * >::iterator - end(self) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.cinsnptrvec_t.erase(): - - erase(self, it) -> qvector< cinsn_t * >::iterator - erase(self, first, last) -> qvector< cinsn_t * >::iterator - - -ida_hexrays.cinsnptrvec_t.extract(): - - extract(self) -> cinsn_t ** - - -ida_hexrays.cinsnptrvec_t.find(): - - find(self, x) -> qvector< cinsn_t * >::iterator - find(self, x) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.cinsnptrvec_t.has(): - - has(self, x) -> bool - - -ida_hexrays.cinsnptrvec_t.inject(): - - inject(self, s, len) - - -ida_hexrays.cinsnptrvec_t.insert(): - - insert(self, it, x) -> qvector< cinsn_t * >::iterator - - -ida_hexrays.cinsnptrvec_t.pop_back(): - - pop_back(self) - - -ida_hexrays.cinsnptrvec_t.push_back(): - - push_back(self, x) - push_back(self) -> cinsn_t *& - - -ida_hexrays.cinsnptrvec_t.qclear(): - - qclear(self) - - -ida_hexrays.cinsnptrvec_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.cinsnptrvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.cinsnptrvec_t.size(): - - size(self) -> size_t - - -ida_hexrays.cinsnptrvec_t.swap(): - - swap(self, r) - - -ida_hexrays.cinsnptrvec_t.truncate(): - - truncate(self) - - -class ida_hexrays.citem_cmt_t(): - - Proxy of C++ citem_cmt_t class - - -ida_hexrays.citem_cmt_t.c_str(): - - c_str(self) -> char const * - - -ida_hexrays.citem_cmt_t.used: - citem_cmt_t_used_get(self) -> bool - -class ida_hexrays.citem_locator_t(): - - Proxy of C++ citem_locator_t class - - -ida_hexrays.citem_locator_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.citem_locator_t.ea: - citem_locator_t_ea_get(self) -> ea_t - -ida_hexrays.citem_locator_t.op: - citem_locator_t_op_get(self) -> ctype_t - -class ida_hexrays.citem_t(): - - Proxy of C++ citem_t class - - -ida_hexrays.citem_t.cexpr: - citem_t_cexpr_get(self) -> cexpr_t - -ida_hexrays.citem_t.cinsn: - citem_t_cinsn_get(self) -> cinsn_t - -ida_hexrays.citem_t.contains_expr(): - - contains_expr(self, e) -> bool - - -ida_hexrays.citem_t.contains_label(): - - contains_label(self) -> bool - - -ida_hexrays.citem_t.ea: - citem_t_ea_get(self) -> ea_t - -ida_hexrays.citem_t.find_closest_addr(): - - find_closest_addr(self, _ea) -> citem_t - - -ida_hexrays.citem_t.find_parent_of(): - - find_parent_of(self, sitem) -> citem_t - find_parent_of(self, item) -> citem_t - - -ida_hexrays.citem_t.index: - citem_t_index_get(self) -> int - -ida_hexrays.citem_t.is_expr(): - - is_expr(self) -> bool - - -ida_hexrays.citem_t.label_num: - citem_t_label_num_get(self) -> int - -ida_hexrays.citem_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.citem_t.op: - - _get_op(self) -> ctype_t - - -ida_hexrays.citem_t.print1(): - - print1(self, func) - - -ida_hexrays.citem_t.swap(): - - swap(self, r) - - -ida_hexrays.citem_t.to_specific_type: - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.citem_to_specific_type(): - - cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. - - -ida_hexrays.clear_cached_cfuncs(): - - clear_cached_cfuncs() - - - Flush all cached decompilation results. - - -class ida_hexrays.cloop_t(): - - Proxy of C++ cloop_t class - - -ida_hexrays.cloop_t.assign(): - - assign(self, r) -> cloop_t - - -ida_hexrays.cloop_t.body: - cloop_t_body_get(self) -> cinsn_t - -ida_hexrays.cloop_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cloop_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.close_pseudocode(): - - close_pseudocode(f) -> bool - - - Close pseudocode window. - - @param f: pointer to window (C++: TWidget *) - @return: false if failed - - -class ida_hexrays.cnumber_t(): - - Proxy of C++ cnumber_t class - - -ida_hexrays.cnumber_t._print(): - - _print(self, type, parent=None, nice_stroff=None) - - -ida_hexrays.cnumber_t.assign(): - - assign(self, v, nbytes, sign) - - -ida_hexrays.cnumber_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cnumber_t.nf: - cnumber_t_nf_get(self) -> number_format_t - -ida_hexrays.cnumber_t.value(): - - value(self, type) -> uint64 - - -class ida_hexrays.codegen_t(): - - Proxy of C++ codegen_t class - - -ida_hexrays.codegen_t.analyze_prolog(): - - analyze_prolog(self, fc, reachable) -> merror_t - - -ida_hexrays.codegen_t.emit(): - - emit(self, code, width, l, r, d, offsize) -> minsn_t - emit(self, code, l, r, d) -> minsn_t - - -ida_hexrays.codegen_t.emit_micro_mvm(): - - emit_micro_mvm(self, code, dtype, l, r, d, offsize) -> minsn_t - - -ida_hexrays.codegen_t.gen_micro(): - - gen_micro(self) -> merror_t - - -ida_hexrays.codegen_t.ignore_micro: - codegen_t_ignore_micro_get(self) -> char - -ida_hexrays.codegen_t.insn: - codegen_t_insn_get(self) -> insn_t * - -ida_hexrays.codegen_t.load_operand(): - - load_operand(self, opnum) -> mreg_t - - -ida_hexrays.codegen_t.mb: - codegen_t_mb_get(self) -> mblock_t - -ida_hexrays.codegen_t.mba: - codegen_t_mba_get(self) -> mbl_array_t - -ida_hexrays.convert_to_user_call(): - - convert_to_user_call(udc, cdg) -> merror_t - - - try to generate user-defined call for an instruction - - @param udc (C++: const udcall_t &) - @param cdg (C++: codegen_t &) - @return: Microcode error codes code: MERR_OK - user-defined call - generated else - error (MERR_INSN == inacceptable udc.tif) - - -ida_hexrays.create_field_name(): - - create_field_name(type, offset=BADADDR) -> qstring - - -ida_hexrays.create_typedef(): - - create_typedef(name) -> tinfo_t - create_typedef(n) -> tinfo_t - - - Create a reference to a named type. - - @param name: type name (C++: const char *) - @return: type which refers to the specified name. For example, if name - is "DWORD", the type info which refers to "DWORD" is created. - - -class ida_hexrays.creturn_t(): - - Proxy of C++ creturn_t class - - -ida_hexrays.creturn_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.creturn_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -class ida_hexrays.cswitch_t(): - - Proxy of C++ cswitch_t class - - -ida_hexrays.cswitch_t.cases: - cswitch_t_cases_get(self) -> ccases_t - -ida_hexrays.cswitch_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cswitch_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.cswitch_t.mvnf: - cswitch_t_mvnf_get(self) -> cnumber_t - -class ida_hexrays.ctext_position_t(): - - Proxy of C++ ctext_position_t class - - -ida_hexrays.ctext_position_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.ctext_position_t.in_ctree(): - - in_ctree(self, hdrlines) -> bool - - -ida_hexrays.ctext_position_t.lnnum: - ctext_position_t_lnnum_get(self) -> int - -ida_hexrays.ctext_position_t.x: - ctext_position_t_x_get(self) -> int - -ida_hexrays.ctext_position_t.y: - ctext_position_t_y_get(self) -> int - -class ida_hexrays.ctree_anchor_t(): - - Proxy of C++ ctree_anchor_t class - - -ida_hexrays.ctree_anchor_t.get_index(): - - get_index(self) -> int - - -ida_hexrays.ctree_anchor_t.get_itp(): - - get_itp(self) -> item_preciser_t - - -ida_hexrays.ctree_anchor_t.is_blkcmt_anchor(): - - is_blkcmt_anchor(self) -> bool - - -ida_hexrays.ctree_anchor_t.is_citem_anchor(): - - is_citem_anchor(self) -> bool - - -ida_hexrays.ctree_anchor_t.is_itp_anchor(): - - is_itp_anchor(self) -> bool - - -ida_hexrays.ctree_anchor_t.is_lvar_anchor(): - - is_lvar_anchor(self) -> bool - - -ida_hexrays.ctree_anchor_t.is_valid_anchor(): - - is_valid_anchor(self) -> bool - - -ida_hexrays.ctree_anchor_t.value: - ctree_anchor_t_value_get(self) -> uval_t - -class ida_hexrays.ctree_item_t(): - - Proxy of C++ ctree_item_t class - - -ida_hexrays.ctree_item_t.citype: - ctree_item_t_citype_get(self) -> cursor_item_type_t - -ida_hexrays.ctree_item_t.get_ea(): - - get_ea(self) -> ea_t - - -ida_hexrays.ctree_item_t.get_label_num(): - - get_label_num(self, gln_flags) -> int - - -ida_hexrays.ctree_item_t.get_lvar(): - - get_lvar(self) -> lvar_t - - -ida_hexrays.ctree_item_t.get_memptr(): - - get_memptr(self, p_sptr=None) -> member_t * - - -ida_hexrays.ctree_item_t.is_citem(): - - is_citem(self) -> bool - - -ida_hexrays.ctree_item_t.loc: - ctree_item_t_loc_get(self) -> treeloc_t - -class ida_hexrays.ctree_items_t(): - - Proxy of C++ qvector<(p.citem_t)> class - - -ida_hexrays.ctree_items_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.ctree_items_t.append(): - - push_back(self, x) - push_back(self) -> citem_t *& - - -ida_hexrays.ctree_items_t.at(): - - __getitem__(self, i) -> citem_t - - -ida_hexrays.ctree_items_t.begin(): - - begin(self) -> qvector< citem_t * >::iterator - begin(self) -> qvector< citem_t * >::const_iterator - - -ida_hexrays.ctree_items_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.ctree_items_t.clear(): - - clear(self) - - -ida_hexrays.ctree_items_t.empty(): - - empty(self) -> bool - - -ida_hexrays.ctree_items_t.end(): - - end(self) -> qvector< citem_t * >::iterator - end(self) -> qvector< citem_t * >::const_iterator - - -ida_hexrays.ctree_items_t.erase(): - - erase(self, it) -> qvector< citem_t * >::iterator - erase(self, first, last) -> qvector< citem_t * >::iterator - - -ida_hexrays.ctree_items_t.extract(): - - extract(self) -> citem_t ** - - -ida_hexrays.ctree_items_t.find(): - - find(self, x) -> qvector< citem_t * >::iterator - find(self, x) -> qvector< citem_t * >::const_iterator - - -ida_hexrays.ctree_items_t.has(): - - has(self, x) -> bool - - -ida_hexrays.ctree_items_t.inject(): - - inject(self, s, len) - - -ida_hexrays.ctree_items_t.insert(): - - insert(self, it, x) -> qvector< citem_t * >::iterator - - -ida_hexrays.ctree_items_t.pop_back(): - - pop_back(self) - - -ida_hexrays.ctree_items_t.push_back(): - - push_back(self, x) - push_back(self) -> citem_t *& - - -ida_hexrays.ctree_items_t.qclear(): - - qclear(self) - - -ida_hexrays.ctree_items_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.ctree_items_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.ctree_items_t.size(): - - size(self) -> size_t - - -ida_hexrays.ctree_items_t.swap(): - - swap(self, r) - - -ida_hexrays.ctree_items_t.truncate(): - - truncate(self) - - -class ida_hexrays.ctree_parentee_t(): - - Proxy of C++ ctree_parentee_t class - - -ida_hexrays.ctree_parentee_t.apply_to(): - - apply_to(self, item, parent) -> int - - -ida_hexrays.ctree_parentee_t.apply_to_exprs(): - - apply_to_exprs(self, item, parent) -> int - - -ida_hexrays.ctree_parentee_t.clr_prune(): - - clr_prune(self) - - -ida_hexrays.ctree_parentee_t.clr_restart(): - - clr_restart(self) - - -ida_hexrays.ctree_parentee_t.cv_flags: - ctree_visitor_t_cv_flags_get(self) -> int - -ida_hexrays.ctree_parentee_t.is_postorder(): - - is_postorder(self) -> bool - - -ida_hexrays.ctree_parentee_t.leave_expr(): - - leave_expr(self, arg0) -> int - - -ida_hexrays.ctree_parentee_t.leave_insn(): - - leave_insn(self, arg0) -> int - - -ida_hexrays.ctree_parentee_t.maintain_parents(): - - maintain_parents(self) -> bool - - -ida_hexrays.ctree_parentee_t.must_prune(): - - must_prune(self) -> bool - - -ida_hexrays.ctree_parentee_t.must_restart(): - - must_restart(self) -> bool - - -ida_hexrays.ctree_parentee_t.only_insns(): - - only_insns(self) -> bool - - -ida_hexrays.ctree_parentee_t.parent_expr(): - - parent_expr(self) -> cexpr_t - - -ida_hexrays.ctree_parentee_t.parent_insn(): - - parent_insn(self) -> cinsn_t - - -ida_hexrays.ctree_parentee_t.parents: - ctree_visitor_t_parents_get(self) -> ctree_items_t - -ida_hexrays.ctree_parentee_t.prune_now(): - - prune_now(self) - - -ida_hexrays.ctree_parentee_t.recalc_parent_types(): - - recalc_parent_types(self) -> bool - - -ida_hexrays.ctree_parentee_t.set_restart(): - - set_restart(self) - - -ida_hexrays.ctree_parentee_t.visit_expr(): - - visit_expr(self, arg0) -> int - - -ida_hexrays.ctree_parentee_t.visit_insn(): - - visit_insn(self, arg0) -> int - - -class ida_hexrays.ctree_visitor_t(): - - Proxy of C++ ctree_visitor_t class - - -ida_hexrays.ctree_visitor_t.apply_to(): - - apply_to(self, item, parent) -> int - - -ida_hexrays.ctree_visitor_t.apply_to_exprs(): - - apply_to_exprs(self, item, parent) -> int - - -ida_hexrays.ctree_visitor_t.clr_prune(): - - clr_prune(self) - - -ida_hexrays.ctree_visitor_t.clr_restart(): - - clr_restart(self) - - -ida_hexrays.ctree_visitor_t.cv_flags: - ctree_visitor_t_cv_flags_get(self) -> int - -ida_hexrays.ctree_visitor_t.is_postorder(): - - is_postorder(self) -> bool - - -ida_hexrays.ctree_visitor_t.leave_expr(): - - leave_expr(self, arg0) -> int - - -ida_hexrays.ctree_visitor_t.leave_insn(): - - leave_insn(self, arg0) -> int - - -ida_hexrays.ctree_visitor_t.maintain_parents(): - - maintain_parents(self) -> bool - - -ida_hexrays.ctree_visitor_t.must_prune(): - - must_prune(self) -> bool - - -ida_hexrays.ctree_visitor_t.must_restart(): - - must_restart(self) -> bool - - -ida_hexrays.ctree_visitor_t.only_insns(): - - only_insns(self) -> bool - - -ida_hexrays.ctree_visitor_t.parent_expr(): - - parent_expr(self) -> cexpr_t - - -ida_hexrays.ctree_visitor_t.parent_insn(): - - parent_insn(self) -> cinsn_t - - -ida_hexrays.ctree_visitor_t.parents: - ctree_visitor_t_parents_get(self) -> ctree_items_t - -ida_hexrays.ctree_visitor_t.prune_now(): - - prune_now(self) - - -ida_hexrays.ctree_visitor_t.set_restart(): - - set_restart(self) - - -ida_hexrays.ctree_visitor_t.visit_expr(): - - visit_expr(self, arg0) -> int - - -ida_hexrays.ctree_visitor_t.visit_insn(): - - visit_insn(self, arg0) -> int - - -class ida_hexrays.cwhile_t(): - - Proxy of C++ cwhile_t class - - -ida_hexrays.cwhile_t.assign(): - - assign(self, r) -> cloop_t - - -ida_hexrays.cwhile_t.body: - cloop_t_body_get(self) -> cinsn_t - -ida_hexrays.cwhile_t.cleanup(): - - cleanup(self) - - -ida_hexrays.cwhile_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.cwhile_t.expr: - ceinsn_t_expr_get(self) -> cexpr_t - -ida_hexrays.debug_hexrays_ctree(): - - debug_hexrays_ctree(msg) - - -ida_hexrays.decompile_func(): - - decompile_func(pfn, hf, flags=0) -> cfuncptr_t - - - Decompile a function. Multiple decompilations of the same function - return the same object. - - @param pfn: pointer to function to decompile (C++: func_t *) - @param hf: extended error information (if failed) (C++: - hexrays_failure_t *) - @param flags: bitwise combination of decompile() flags ... bits (C++: - int) - @return: pointer to the decompilation result (a reference counted - pointer). NULL if failed. - - -ida_hexrays.decompile_many(): - - decompile_many(outfile, funcaddrs, flags) -> bool - - - Batch decompilation. Decompile all or the specified functions - - @param outfile: name of the output file (C++: const char *) - @param funcaddrs: list of functions to decompile. If NULL or empty, - then decompile all nonlib functions (C++: eavec_t - *) - @param flags: Batch decompilation bits (C++: int) - @return: true if no internal error occurred and the user has not - cancelled decompilation - - -ida_hexrays.dstr(): - - 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 *) - - -ida_hexrays.dummy_ptrtype(): - - dummy_ptrtype(ptrsize, isfp) -> tinfo_t - - - Generate a dummy pointer type - - @param ptrsize: size of pointed object (C++: int) - @param isfp: is floating point object? (C++: bool) - - -ida_hexrays.eamap_begin(): - - eamap_begin(map) -> eamap_iterator_t - - - Get iterator pointing to the beginning of eamap_t. - - - @param map (C++: const eamap_t *) - - -ida_hexrays.eamap_clear(): - - eamap_clear(map) - - - Clear eamap_t. - - - @param map (C++: eamap_t *) - - -ida_hexrays.eamap_end(): - - eamap_end(map) -> eamap_iterator_t - - - Get iterator pointing to the end of eamap_t. - - - @param map (C++: const eamap_t *) - - -ida_hexrays.eamap_erase(): - - eamap_erase(map, p) - - - Erase current element from eamap_t. - - - @param map (C++: eamap_t *) - @param p (C++: eamap_iterator_t) - - -ida_hexrays.eamap_find(): - - eamap_find(map, key) -> eamap_iterator_t - - - Find the specified key in eamap_t. - - - @param map (C++: const eamap_t *) - @param key (C++: const ea_t &) - - -ida_hexrays.eamap_first(): - - eamap_first(p) -> ea_t const & - - - Get reference to the current map key. - - - @param p (C++: eamap_iterator_t) - - -ida_hexrays.eamap_free(): - - eamap_free(map) - - - Delete eamap_t instance. - - - @param map (C++: eamap_t *) - - -ida_hexrays.eamap_insert(): - - 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 &) - @param val (C++: const cinsnptrvec_t &) - - -class ida_hexrays.eamap_iterator_t(): - - Proxy of C++ eamap_iterator_t class - - -ida_hexrays.eamap_iterator_t.x: - eamap_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.eamap_new(): - - eamap_new() -> eamap_t - - - Create a new eamap_t instance. - - -ida_hexrays.eamap_next(): - - eamap_next(p) -> eamap_iterator_t - - - Move to the next element. - - - @param p (C++: eamap_iterator_t) - - -ida_hexrays.eamap_prev(): - - eamap_prev(p) -> eamap_iterator_t - - - Move to the previous element. - - - @param p (C++: eamap_iterator_t) - - -ida_hexrays.eamap_second(): - - eamap_second(p) -> cinsnptrvec_t - - - Get reference to the current map value. - - - @param p (C++: eamap_iterator_t) - - -ida_hexrays.eamap_size(): - - eamap_size(map) -> size_t - - - Get size of eamap_t. - - - @param map (C++: eamap_t *) - - -class ida_hexrays.eamap_t(): - - Proxy of C++ std::map<(ea_t,cinsnptrvec_t)> class - - -ida_hexrays.eamap_t.at(): - - at(self, _Keyval) -> cinsnptrvec_t - - -ida_hexrays.eamap_t.keytype.bit_length(): - long.bit_length() -> int or long - - Number of bits necessary to represent self in binary. - >>> bin(37L) - '0b100101' - >>> (37L).bit_length() - 6 - -ida_hexrays.eamap_t.keytype.conjugate(): - Returns self, the complex conjugate of any long. - -ida_hexrays.eamap_t.keytype.denominator: - the denominator of a rational number in lowest terms - -ida_hexrays.eamap_t.keytype.imag: - the imaginary part of a complex number - -ida_hexrays.eamap_t.keytype.numerator: - the numerator of a rational number in lowest terms - -ida_hexrays.eamap_t.keytype.real: - the real part of a complex number - -ida_hexrays.eamap_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.eamap_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.eamap_t.setdefault(): - - Sets the value associated with the provided key. - - -class ida_hexrays.eamap_t.valuetype(): - - Proxy of C++ qvector<(p.cinsn_t)> class - - -ida_hexrays.eamap_t.valuetype.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.eamap_t.valuetype.append(): - - push_back(self, x) - push_back(self) -> cinsn_t *& - - -ida_hexrays.eamap_t.valuetype.at(): - - __getitem__(self, i) -> cinsn_t - - -ida_hexrays.eamap_t.valuetype.begin(): - - begin(self) -> qvector< cinsn_t * >::iterator - begin(self) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.eamap_t.valuetype.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.eamap_t.valuetype.clear(): - - clear(self) - - -ida_hexrays.eamap_t.valuetype.empty(): - - empty(self) -> bool - - -ida_hexrays.eamap_t.valuetype.end(): - - end(self) -> qvector< cinsn_t * >::iterator - end(self) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.eamap_t.valuetype.erase(): - - erase(self, it) -> qvector< cinsn_t * >::iterator - erase(self, first, last) -> qvector< cinsn_t * >::iterator - - -ida_hexrays.eamap_t.valuetype.extract(): - - extract(self) -> cinsn_t ** - - -ida_hexrays.eamap_t.valuetype.find(): - - find(self, x) -> qvector< cinsn_t * >::iterator - find(self, x) -> qvector< cinsn_t * >::const_iterator - - -ida_hexrays.eamap_t.valuetype.has(): - - has(self, x) -> bool - - -ida_hexrays.eamap_t.valuetype.inject(): - - inject(self, s, len) - - -ida_hexrays.eamap_t.valuetype.insert(): - - insert(self, it, x) -> qvector< cinsn_t * >::iterator - - -ida_hexrays.eamap_t.valuetype.pop_back(): - - pop_back(self) - - -ida_hexrays.eamap_t.valuetype.push_back(): - - push_back(self, x) - push_back(self) -> cinsn_t *& - - -ida_hexrays.eamap_t.valuetype.qclear(): - - qclear(self) - - -ida_hexrays.eamap_t.valuetype.reserve(): - - reserve(self, cnt) - - -ida_hexrays.eamap_t.valuetype.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.eamap_t.valuetype.size(): - - size(self) -> size_t - - -ida_hexrays.eamap_t.valuetype.swap(): - - swap(self, r) - - -ida_hexrays.eamap_t.valuetype.truncate(): - - truncate(self) - - -class ida_hexrays.fnum_array(): - - Proxy of C++ wrapped_array_t<(uint16,6)> class - - -ida_hexrays.fnum_array.data: - fnum_array_data_get(self) -> unsigned short (&)[6] - -class ida_hexrays.fnumber_t(): - - Proxy of C++ fnumber_t class - - -ida_hexrays.fnumber_t._print(): - - _print(self) - - -ida_hexrays.fnumber_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.fnumber_t.dereference_const_uint16(): - - dereference_const_uint16(self) -> uint16 const * - - -ida_hexrays.fnumber_t.dereference_uint16(): - - dereference_uint16(self) -> uint16 * - - -ida_hexrays.fnumber_t.fnum: - - __get_fnum(self) -> fnum_array - - -ida_hexrays.fnumber_t.nbytes: - fnumber_t_nbytes_get(self) -> int - -class ida_hexrays.gco_info_t(): - - Proxy of C++ gco_info_t class - - -ida_hexrays.gco_info_t.append_to_list(): - - append_to_list(self, list, mba) -> bool - - -ida_hexrays.gco_info_t.flags: - gco_info_t_flags_get(self) -> int - -ida_hexrays.gco_info_t.is_def(): - - is_def(self) -> bool - - -ida_hexrays.gco_info_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.gco_info_t.is_use(): - - is_use(self) -> bool - - -ida_hexrays.gco_info_t.name: - gco_info_t_name_get(self) -> qstring * - -ida_hexrays.gco_info_t.size: - gco_info_t_size_get(self) -> int - -ida_hexrays.gen_microcode(): - - gen_microcode(mbr, hf, retlist=None, flags=0, reqmat=MMAT_GLBOPT3) -> mbl_array_t - - - Generate microcode of an arbitrary code snippet - - @param mbr: snippet ranges (C++: const mba_ranges_t &) - @param hf: extended error information (if failed) (C++: - hexrays_failure_t *) - @param retlist: list of registers the snippet returns (C++: const - mlist_t *) - @param flags: bitwise combination of decompile() flags ... bits (C++: - int) - @param reqmat: required microcode maturity (C++: mba_maturity_t) - @return: pointer to the microcode, NULL if failed. - - -ida_hexrays.get_ctype_name(): - - get_ctype_name(op) -> char const * - - -ida_hexrays.get_current_operand(): - - 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 - return true. - - @param out (C++: gco_info_t *) - - -ida_hexrays.get_float_type(): - - get_float_type(width) -> tinfo_t - - - Get a type of a floating point value with the specified width - - @param width: width of the desired type (C++: int) - @return: type info object - - -ida_hexrays.get_hexrays_version(): - - 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" - - -ida_hexrays.get_int_type_by_width_and_sign(): - - 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: size of the type in bytes (C++: int) - @param sign: sign of the type (C++: type_sign_t) - - -ida_hexrays.get_member_type(): - - get_member_type(mptr, type) -> bool - - - Get type of a structure field. This function performs validity checks - of the field type. Wrong types are rejected. - - @param mptr: structure field (C++: const member_t *) - @param type: pointer to the variable where the type is returned. This - parameter can be NULL. (C++: tinfo_t *) - @return: false if failed - - -ida_hexrays.get_merror_desc(): - - get_merror_desc(code, mba) -> ea_t - - - Get textual description of an error code - - @param code: Microcode error codes (C++: merror_t) - @param mba: the microcode array (C++: mbl_array_t *) - @return: the error address - - -ida_hexrays.get_mreg_name(): - - get_mreg_name(bit, width, ud=None) -> int - - -ida_hexrays.get_op_signness(): - - get_op_signness(op) -> type_sign_t - - - Get operator sign. Meaningful for sign-dependent operators, like - cot_sdiv. - - - @param op (C++: ctype_t) - - -ida_hexrays.get_signed_mcode(): - - get_signed_mcode(code) -> mcode_t - - -ida_hexrays.get_temp_regs(): - - 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. - - -ida_hexrays.get_type(): - - get_type(id, tif, guess) -> bool - - - Get a global type. Global types are types of addressable objects and - struct/union/enum types - - @param id: address or id of the object (C++: uval_t) - @param tif: buffer for the answer (C++: tinfo_t *) - @param guess: what kind of types to consider (C++: type_source_t) - @return: success - - -ida_hexrays.get_unk_type(): - - 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: size of the type in bytes (C++: int) - - -ida_hexrays.get_unsigned_mcode(): - - get_unsigned_mcode(code) -> mcode_t - - -ida_hexrays.get_widget_vdui(): - - get_widget_vdui(f) -> vdui_t - - - Get the 'vdui_t' instance associated to the TWidget - - @param f: pointer to window (C++: TWidget *) - @return: a vdui_t *, or NULL - - -ida_hexrays.getb_reginsn(): - - getb_reginsn(ins) -> minsn_t - - - Skip assertions backward. - - - @param ins (C++: const minsn_t *) - - -ida_hexrays.getf_reginsn(): - - getf_reginsn(ins) -> minsn_t - - - Skip assertions forward. - - - @param ins (C++: const minsn_t *) - - -class ida_hexrays.graph_chains_t(): - - Proxy of C++ graph_chains_t class - - -ida_hexrays.graph_chains_t.acquire(): - - acquire(self) - - -ida_hexrays.graph_chains_t.at(): - - at(self, _idx) -> block_chains_t - - -ida_hexrays.graph_chains_t.begin(): - - begin(self) -> block_chains_t - begin(self) -> block_chains_t - - -ida_hexrays.graph_chains_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.graph_chains_t.clear(): - - clear(self) - - -ida_hexrays.graph_chains_t.empty(): - - empty(self) -> bool - - -ida_hexrays.graph_chains_t.end(): - - end(self) -> block_chains_t - end(self) -> block_chains_t - - -ida_hexrays.graph_chains_t.erase(): - - erase(self, it) -> block_chains_t - erase(self, first, last) -> block_chains_t - - -ida_hexrays.graph_chains_t.extract(): - - extract(self) -> block_chains_t - - -ida_hexrays.graph_chains_t.for_all_chains(): - - for_all_chains(self, cv, gca_flags) -> int - - -ida_hexrays.graph_chains_t.grow(): - - grow(self, x=block_chains_t()) - - -ida_hexrays.graph_chains_t.inject(): - - inject(self, s, len) - - -ida_hexrays.graph_chains_t.insert(): - - insert(self, it, x) -> block_chains_t - - -ida_hexrays.graph_chains_t.is_locked(): - - is_locked(self) -> bool - - -ida_hexrays.graph_chains_t.pop_back(): - - pop_back(self) - - -ida_hexrays.graph_chains_t.push_back(): - - push_back(self, x) - push_back(self) -> block_chains_t - - -ida_hexrays.graph_chains_t.qclear(): - - qclear(self) - - -ida_hexrays.graph_chains_t.release(): - - release(self) - - -ida_hexrays.graph_chains_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.graph_chains_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.graph_chains_t.size(): - - size(self) -> size_t - - -ida_hexrays.graph_chains_t.swap(): - - swap(self, r) - - -ida_hexrays.graph_chains_t.truncate(): - - truncate(self) - - -ida_hexrays.has_cached_cfunc(): - - has_cached_cfunc(ea) -> bool - - - Do we have a cached decompilation result for 'ea'? - - - @param ea (C++: ea_t) - - -ida_hexrays.hexrays_alloc(): - - hexrays_alloc(size) -> void * - - -class ida_hexrays.hexrays_failure_t(): - - Proxy of C++ hexrays_failure_t class - - -ida_hexrays.hexrays_failure_t.code: - hexrays_failure_t_code_get(self) -> merror_t - -ida_hexrays.hexrays_failure_t.desc(): - - desc(self) -> qstring - - -ida_hexrays.hexrays_failure_t.errea: - hexrays_failure_t_errea_get(self) -> ea_t - -ida_hexrays.hexrays_failure_t.str: - hexrays_failure_t_str_get(self) -> qstring * - -ida_hexrays.hexrays_free(): - - hexrays_free(ptr) - - -class ida_hexrays.hexwarn_t(): - - Proxy of C++ hexwarn_t class - - -ida_hexrays.hexwarn_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.hexwarn_t.ea: - hexwarn_t_ea_get(self) -> ea_t - -ida_hexrays.hexwarn_t.id: - hexwarn_t_id_get(self) -> warnid_t - -ida_hexrays.hexwarn_t.text: - hexwarn_t_text_get(self) -> qstring * - -class ida_hexrays.hexwarns_t(): - - Proxy of C++ qvector<(hexwarn_t)> class - - -ida_hexrays.hexwarns_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.hexwarns_t.append(): - - push_back(self, x) - push_back(self) -> hexwarn_t - - -ida_hexrays.hexwarns_t.at(): - - __getitem__(self, i) -> hexwarn_t - - -ida_hexrays.hexwarns_t.begin(): - - begin(self) -> hexwarn_t - begin(self) -> hexwarn_t - - -ida_hexrays.hexwarns_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.hexwarns_t.clear(): - - clear(self) - - -ida_hexrays.hexwarns_t.empty(): - - empty(self) -> bool - - -ida_hexrays.hexwarns_t.end(): - - end(self) -> hexwarn_t - end(self) -> hexwarn_t - - -ida_hexrays.hexwarns_t.erase(): - - erase(self, it) -> hexwarn_t - erase(self, first, last) -> hexwarn_t - - -ida_hexrays.hexwarns_t.extract(): - - extract(self) -> hexwarn_t - - -ida_hexrays.hexwarns_t.find(): - - find(self, x) -> hexwarn_t - find(self, x) -> hexwarn_t - - -ida_hexrays.hexwarns_t.grow(): - - grow(self, x=hexwarn_t()) - - -ida_hexrays.hexwarns_t.has(): - - has(self, x) -> bool - - -ida_hexrays.hexwarns_t.inject(): - - inject(self, s, len) - - -ida_hexrays.hexwarns_t.insert(): - - insert(self, it, x) -> hexwarn_t - - -ida_hexrays.hexwarns_t.pop_back(): - - pop_back(self) - - -ida_hexrays.hexwarns_t.push_back(): - - push_back(self, x) - push_back(self) -> hexwarn_t - - -ida_hexrays.hexwarns_t.qclear(): - - qclear(self) - - -ida_hexrays.hexwarns_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.hexwarns_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.hexwarns_t.size(): - - size(self) -> size_t - - -ida_hexrays.hexwarns_t.swap(): - - swap(self, r) - - -ida_hexrays.hexwarns_t.truncate(): - - truncate(self) - - -class ida_hexrays.history_item_t(): - - Proxy of C++ history_item_t class - - -ida_hexrays.history_item_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.history_item_t.ea: - history_item_t_ea_get(self) -> ea_t - -ida_hexrays.history_item_t.end: - history_item_t_end_get(self) -> ea_t - -ida_hexrays.history_item_t.in_ctree(): - - in_ctree(self, hdrlines) -> bool - - -ida_hexrays.history_item_t.lnnum: - ctext_position_t_lnnum_get(self) -> int - -ida_hexrays.history_item_t.x: - ctext_position_t_x_get(self) -> int - -ida_hexrays.history_item_t.y: - ctext_position_t_y_get(self) -> int - -class ida_hexrays.history_t(): - - Proxy of C++ qstack<(history_item_t)> class - - -ida_hexrays.history_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.history_t.append(): - - push_back(self, x) - push_back(self) -> history_item_t - - -ida_hexrays.history_t.at(): - - __getitem__(self, i) -> history_item_t - - -ida_hexrays.history_t.begin(): - - begin(self) -> history_item_t - begin(self) -> history_item_t - - -ida_hexrays.history_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.history_t.clear(): - - clear(self) - - -ida_hexrays.history_t.empty(): - - empty(self) -> bool - - -ida_hexrays.history_t.end(): - - end(self) -> history_item_t - end(self) -> history_item_t - - -ida_hexrays.history_t.erase(): - - erase(self, it) -> history_item_t - erase(self, first, last) -> history_item_t - - -ida_hexrays.history_t.extract(): - - extract(self) -> history_item_t - - -ida_hexrays.history_t.find(): - - find(self, x) -> history_item_t - find(self, x) -> history_item_t - - -ida_hexrays.history_t.grow(): - - grow(self, x=history_item_t()) - - -ida_hexrays.history_t.has(): - - has(self, x) -> bool - - -ida_hexrays.history_t.inject(): - - inject(self, s, len) - - -ida_hexrays.history_t.insert(): - - insert(self, it, x) -> history_item_t - - -ida_hexrays.history_t.pop(): - - pop(self) -> history_item_t - - -ida_hexrays.history_t.pop_back(): - - pop_back(self) - - -ida_hexrays.history_t.push(): - - push(self, v) - - -ida_hexrays.history_t.push_back(): - - push_back(self, x) - push_back(self) -> history_item_t - - -ida_hexrays.history_t.qclear(): - - qclear(self) - - -ida_hexrays.history_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.history_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.history_t.size(): - - size(self) -> size_t - - -ida_hexrays.history_t.swap(): - - swap(self, r) - - -ida_hexrays.history_t.top(): - - top(self) -> history_item_t - top(self) -> history_item_t - - -ida_hexrays.history_t.truncate(): - - truncate(self) - - -ida_hexrays.init_hexrays_plugin(): - - init_hexrays_plugin(flags=0) -> bool - - - Initialize your plugin for hex-rays decompiler. This function must be - called before calling any other decompiler function. It initializes - the pointer to the dispatcher. - - @param flags: reserved, must be 0 (C++: int) - @return: true if the decompiler exists and the dispatcher pointer is - ready to use. - - -ida_hexrays.install_hexrays_callback(): - Deprecated. Please use Hexrays_Hooks instead - -ida_hexrays.install_microcode_filter(): - - install_microcode_filter(filter, install=True) - - - register/unregister non-standard microcode generator - - @param filter: - microcode generator object (C++: microcode_filter_t - *) - @param install: - TRUE - register the object, FALSE - unregister (C++: - bool) - - -ida_hexrays.is_additive(): - - is_additive(op) -> bool - - - Is additive operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_allowed_on_small_struni(): - - accepts_small_udts(op) -> bool - - - Is the operator allowed on small structure or union? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_assignment(): - - is_assignment(op) -> bool - - - Is assignment operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_binary(): - - is_binary(op) -> bool - - - Is binary operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_bitop(): - - is_bitop(op) -> bool - - - Is bit related operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_bool_type(): - - is_bool_type(type) -> bool - - - Is a boolean type? - - @param type (C++: const tinfo_t &) - @return: true if the type is a boolean type - - -ida_hexrays.is_break_consumer(): - - is_break_consumer(op) -> bool - - - Does a break statement influence the specified statement code? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_commutative(): - - is_commutative(op) -> bool - - - Is commutative operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_inplace_def(): - - is_inplace_def(type) -> bool - - - Is struct/union/enum definition (not declaration)? - - - @param type (C++: const tinfo_t &) - - -ida_hexrays.is_kreg(): - - is_kreg(r) -> bool - - - Is a kernel register? - - - @param r (C++: mreg_t) - - -ida_hexrays.is_logical(): - - is_logical(op) -> bool - - - Is logical operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_loop(): - - is_loop(op) -> bool - - - Is loop statement code? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_lvalue(): - - is_lvalue(op) -> bool - - - Is Lvalue operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_may_access(): - - is_may_access(maymust) -> bool - - -ida_hexrays.is_mcode_addsub(): - - is_mcode_addsub(mcode) -> bool - - -ida_hexrays.is_mcode_call(): - - is_mcode_call(mcode) -> bool - - -ida_hexrays.is_mcode_commutative(): - - is_mcode_commutative(mcode) -> bool - - -ida_hexrays.is_mcode_convertible_to_jmp(): - - is_mcode_convertible_to_jmp(mcode) -> bool - - -ida_hexrays.is_mcode_convertible_to_set(): - - is_mcode_convertible_to_set(mcode) -> bool - - -ida_hexrays.is_mcode_divmod(): - - is_mcode_divmod(op) -> bool - - -ida_hexrays.is_mcode_fpu(): - - is_mcode_fpu(mcode) -> bool - - -ida_hexrays.is_mcode_j1(): - - is_mcode_j1(mcode) -> bool - - -ida_hexrays.is_mcode_jcond(): - - is_mcode_jcond(mcode) -> bool - - -ida_hexrays.is_mcode_propagatable(): - - 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) - - -ida_hexrays.is_mcode_set(): - - is_mcode_set(mcode) -> bool - - -ida_hexrays.is_mcode_set1(): - - is_mcode_set1(mcode) -> bool - - -ida_hexrays.is_mcode_shift(): - - is_mcode_shift(mcode) -> bool - - -ida_hexrays.is_mcode_xdsu(): - - is_mcode_xdsu(mcode) -> bool - - -ida_hexrays.is_multiplicative(): - - is_multiplicative(op) -> bool - - - Is multiplicative operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_nonbool_type(): - - is_nonbool_type(type) -> bool - - - Is definitely a non-boolean type? - - @param type (C++: const tinfo_t &) - @return: true if the type is a non-boolean type (non bool and well - defined) - - -ida_hexrays.is_paf(): - - is_paf(t) -> bool - - - Is a pointer, array, or function type? - - - @param t (C++: type_t) - - -ida_hexrays.is_prepost(): - - is_prepost(op) -> bool - - - Is pre/post increment/decrement operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_ptr_or_array(): - - is_ptr_or_array(t) -> bool - - - Is a pointer or array type? - - - @param t (C++: type_t) - - -ida_hexrays.is_relational(): - - is_relational(op) -> bool - - - Is comparison operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_signed_mcode(): - - is_signed_mcode(code) -> bool - - -ida_hexrays.is_small_struni(): - - is_small_udt(tif) -> bool - - - Is a small structure or union? - - @param tif (C++: const tinfo_t &) - @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. - - -ida_hexrays.is_small_udt(): - - is_small_udt(tif) -> bool - - - Is a small structure or union? - - @param tif (C++: const tinfo_t &) - @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. - - -ida_hexrays.is_type_correct(): - - is_type_correct(ptr) -> bool - - - Verify a type string. - - @param ptr (C++: const type_t *) - @return: true if type string is correct - - -ida_hexrays.is_unary(): - - is_unary(op) -> bool - - - Is unary operator? - - - @param op (C++: ctype_t) - - -ida_hexrays.is_unsigned_mcode(): - - is_unsigned_mcode(code) -> bool - - -class ida_hexrays.ivl_t(): - - Proxy of C++ ivl_t class - - -ida_hexrays.ivl_t.clear(): - - clear(self) - - -ida_hexrays.ivl_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.ivl_t.contains(): - - contains(self, off2) -> bool - - -ida_hexrays.ivl_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.ivl_t.empty(): - - empty(self) -> bool - - -ida_hexrays.ivl_t.end(): - - end(self) -> unsigned-ea-like-numeric-type - - -ida_hexrays.ivl_t.extend_to_cover(): - - extend_to_cover(self, r) -> bool - - -ida_hexrays.ivl_t.includes(): - - includes(self, ivl) -> bool - - -ida_hexrays.ivl_t.intersect(): - - intersect(self, r) - - -ida_hexrays.ivl_t.last(): - - last(self) -> unsigned-ea-like-numeric-type - - -ida_hexrays.ivl_t.off: - uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type - -ida_hexrays.ivl_t.overlap(): - - overlap(self, ivl) -> bool - - -ida_hexrays.ivl_t.size: - uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type - -ida_hexrays.ivl_t.valid(): - - valid(self) -> bool - - -class ida_hexrays.ivl_with_name_t(): - - Proxy of C++ ivl_with_name_t class - - -ida_hexrays.ivl_with_name_t.ivl: - ivl_with_name_t_ivl_get(self) -> ivl_t - -ida_hexrays.ivl_with_name_t.part: - ivl_with_name_t_part_get(self) -> char const * - -ida_hexrays.ivl_with_name_t.whole: - ivl_with_name_t_whole_get(self) -> char const * - -class ida_hexrays.ivlset_t(): - - Proxy of C++ ivlset_t class - - -ida_hexrays.ivlset_t._print(): - - _print(self) - - -ida_hexrays.ivlset_t.add(): - - add(self, ivl) -> bool - add(self, ea, size) -> bool - add(self, ivs) -> bool - - -ida_hexrays.ivlset_t.addmasked(): - - addmasked(self, ivs, mask) -> bool - - -ida_hexrays.ivlset_t.all_values(): - - all_values(self) -> bool - - -ida_hexrays.ivlset_t.begin(): - - begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator - begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.ivlset_t.clear(): - - clear(self) - - -ida_hexrays.ivlset_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.ivlset_t.contains(): - - contains(self, off) -> bool - - -ida_hexrays.ivlset_t.count(): - - count(self) -> asize_t - - -ida_hexrays.ivlset_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.ivlset_t.empty(): - - empty(self) -> bool - - -ida_hexrays.ivlset_t.end(): - - end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator - end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.ivlset_t.getivl(): - - getivl(self, idx) -> ivl_t - - -ida_hexrays.ivlset_t.has_common(): - - has_common(self, ivl, strict=False) -> bool - has_common(self, ivs) -> bool - - -ida_hexrays.ivlset_t.includes(): - - includes(self, ivs) -> bool - - -ida_hexrays.ivlset_t.intersect(): - - intersect(self, ivs) -> bool - - -ida_hexrays.ivlset_t.lastivl(): - - lastivl(self) -> ivl_t - - -ida_hexrays.ivlset_t.nivls(): - - nivls(self) -> size_t - - -ida_hexrays.ivlset_t.qclear(): - - qclear(self) - - -ida_hexrays.ivlset_t.set_all_values(): - - set_all_values(self) - - -ida_hexrays.ivlset_t.single_value(): - - single_value(self, v) -> bool - - -ida_hexrays.ivlset_t.sub(): - - sub(self, ivl) -> bool - sub(self, ea, size) -> bool - sub(self, ivs) -> bool - - -ida_hexrays.ivlset_t.swap(): - - swap(self, r) - - -ida_hexrays.jcnd2set(): - - jcnd2set(code) -> mcode_t - - -ida_hexrays.lexcompare(): - - lexcompare(a, b) -> int - - -class ida_hexrays.lvar_locator_t(): - - Proxy of C++ lvar_locator_t class - - -ida_hexrays.lvar_locator_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.lvar_locator_t.defea: - lvar_locator_t_defea_get(self) -> ea_t - -ida_hexrays.lvar_locator_t.get_reg1(): - - get_reg1(self) -> mreg_t - - -ida_hexrays.lvar_locator_t.get_reg2(): - - get_reg2(self) -> mreg_t - - -ida_hexrays.lvar_locator_t.get_scattered(): - - get_scattered(self) -> scattered_aloc_t - get_scattered(self) -> scattered_aloc_t - - -ida_hexrays.lvar_locator_t.get_stkoff(): - - get_stkoff(self) -> sval_t - - -ida_hexrays.lvar_locator_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_hexrays.lvar_locator_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_hexrays.lvar_locator_t.is_reg_var(): - - is_reg_var(self) -> bool - - -ida_hexrays.lvar_locator_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.lvar_locator_t.is_stk_var(): - - is_stk_var(self) -> bool - - -ida_hexrays.lvar_locator_t.location: - lvar_locator_t_location_get(self) -> vdloc_t - -ida_hexrays.lvar_mapping_begin(): - - 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 *) - - -ida_hexrays.lvar_mapping_clear(): - - lvar_mapping_clear(map) - - - Clear lvar_mapping_t. - - - @param map (C++: lvar_mapping_t *) - - -ida_hexrays.lvar_mapping_end(): - - 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 *) - - -ida_hexrays.lvar_mapping_erase(): - - 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) - - -ida_hexrays.lvar_mapping_find(): - - lvar_mapping_find(map, key) -> lvar_mapping_iterator_t - - - Find the specified key in lvar_mapping_t. - - - @param map (C++: const lvar_mapping_t *) - @param key (C++: const lvar_locator_t &) - - -ida_hexrays.lvar_mapping_first(): - - lvar_mapping_first(p) -> lvar_locator_t - - - Get reference to the current map key. - - - @param p (C++: lvar_mapping_iterator_t) - - -ida_hexrays.lvar_mapping_free(): - - lvar_mapping_free(map) - - - Delete lvar_mapping_t instance. - - - @param map (C++: lvar_mapping_t *) - - -ida_hexrays.lvar_mapping_insert(): - - 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 &) - @param val (C++: const lvar_locator_t &) - - -class ida_hexrays.lvar_mapping_iterator_t(): - - Proxy of C++ lvar_mapping_iterator_t class - - -ida_hexrays.lvar_mapping_iterator_t.x: - lvar_mapping_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.lvar_mapping_new(): - - lvar_mapping_new() -> lvar_mapping_t - - - Create a new lvar_mapping_t instance. - - -ida_hexrays.lvar_mapping_next(): - - lvar_mapping_next(p) -> lvar_mapping_iterator_t - - - Move to the next element. - - - @param p (C++: lvar_mapping_iterator_t) - - -ida_hexrays.lvar_mapping_prev(): - - lvar_mapping_prev(p) -> lvar_mapping_iterator_t - - - Move to the previous element. - - - @param p (C++: lvar_mapping_iterator_t) - - -ida_hexrays.lvar_mapping_second(): - - lvar_mapping_second(p) -> lvar_locator_t - - - Get reference to the current map value. - - - @param p (C++: lvar_mapping_iterator_t) - - -ida_hexrays.lvar_mapping_size(): - - lvar_mapping_size(map) -> size_t - - - Get size of lvar_mapping_t. - - - @param map (C++: lvar_mapping_t *) - - -class ida_hexrays.lvar_mapping_t(): - - Proxy of C++ std::map<(lvar_locator_t,lvar_locator_t)> class - - -ida_hexrays.lvar_mapping_t.at(): - - at(self, _Keyval) -> lvar_locator_t - - -ida_hexrays.lvar_mapping_t.size(): - - size(self) -> size_t - - -class ida_hexrays.lvar_ref_t(): - - Proxy of C++ lvar_ref_t class - - -ida_hexrays.lvar_ref_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.lvar_ref_t.idx: - lvar_ref_t_idx_get(self) -> int - -ida_hexrays.lvar_ref_t.mba: - lvar_ref_t_mba_get(self) -> mbl_array_t - -ida_hexrays.lvar_ref_t.off: - lvar_ref_t_off_get(self) -> sval_t - -ida_hexrays.lvar_ref_t.swap(): - - swap(self, r) - - -ida_hexrays.lvar_ref_t.var(): - - var(self) -> lvar_t - - -class ida_hexrays.lvar_saved_info_t(): - - Proxy of C++ lvar_saved_info_t class - - -ida_hexrays.lvar_saved_info_t.clear_keep(): - - clear_keep(self) - - -ida_hexrays.lvar_saved_info_t.clr_forced_lvar(): - - clr_forced_lvar(self) - - -ida_hexrays.lvar_saved_info_t.clr_noptr_lvar(): - - clr_noptr_lvar(self) - - -ida_hexrays.lvar_saved_info_t.cmt: - lvar_saved_info_t_cmt_get(self) -> qstring * - -ida_hexrays.lvar_saved_info_t.flags: - lvar_saved_info_t_flags_get(self) -> int - -ida_hexrays.lvar_saved_info_t.has_info(): - - has_info(self) -> bool - - -ida_hexrays.lvar_saved_info_t.is_forced_lvar(): - - is_forced_lvar(self) -> bool - - -ida_hexrays.lvar_saved_info_t.is_kept(): - - is_kept(self) -> bool - - -ida_hexrays.lvar_saved_info_t.is_noptr_lvar(): - - is_noptr_lvar(self) -> bool - - -ida_hexrays.lvar_saved_info_t.ll: - lvar_saved_info_t_ll_get(self) -> lvar_locator_t - -ida_hexrays.lvar_saved_info_t.name: - lvar_saved_info_t_name_get(self) -> qstring * - -ida_hexrays.lvar_saved_info_t.set_forced_lvar(): - - set_forced_lvar(self) - - -ida_hexrays.lvar_saved_info_t.set_keep(): - - set_keep(self) - - -ida_hexrays.lvar_saved_info_t.set_noptr_lvar(): - - set_noptr_lvar(self) - - -ida_hexrays.lvar_saved_info_t.size: - lvar_saved_info_t_size_get(self) -> ssize_t - -ida_hexrays.lvar_saved_info_t.type: - lvar_saved_info_t_type_get(self) -> tinfo_t - -class ida_hexrays.lvar_saved_infos_t(): - - Proxy of C++ qvector<(lvar_saved_info_t)> class - - -ida_hexrays.lvar_saved_infos_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.lvar_saved_infos_t.append(): - - push_back(self, x) - push_back(self) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.at(): - - __getitem__(self, i) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.begin(): - - begin(self) -> lvar_saved_info_t - begin(self) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.lvar_saved_infos_t.clear(): - - clear(self) - - -ida_hexrays.lvar_saved_infos_t.empty(): - - empty(self) -> bool - - -ida_hexrays.lvar_saved_infos_t.end(): - - end(self) -> lvar_saved_info_t - end(self) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.erase(): - - erase(self, it) -> lvar_saved_info_t - erase(self, first, last) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.extract(): - - extract(self) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.find(): - - find(self, x) -> lvar_saved_info_t - find(self, x) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.grow(): - - grow(self, x=lvar_saved_info_t()) - - -ida_hexrays.lvar_saved_infos_t.has(): - - has(self, x) -> bool - - -ida_hexrays.lvar_saved_infos_t.inject(): - - inject(self, s, len) - - -ida_hexrays.lvar_saved_infos_t.insert(): - - insert(self, it, x) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.pop_back(): - - pop_back(self) - - -ida_hexrays.lvar_saved_infos_t.push_back(): - - push_back(self, x) - push_back(self) -> lvar_saved_info_t - - -ida_hexrays.lvar_saved_infos_t.qclear(): - - qclear(self) - - -ida_hexrays.lvar_saved_infos_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.lvar_saved_infos_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.lvar_saved_infos_t.size(): - - size(self) -> size_t - - -ida_hexrays.lvar_saved_infos_t.swap(): - - swap(self, r) - - -ida_hexrays.lvar_saved_infos_t.truncate(): - - truncate(self) - - -class ida_hexrays.lvar_t(): - - Proxy of C++ lvar_t class - - -ida_hexrays.lvar_t.accepts_type(): - - accepts_type(self, t, may_change_thisarg=False) -> bool - - -ida_hexrays.lvar_t.append_list(): - - append_list(self, lst, pad_if_scattered=False) - - -ida_hexrays.lvar_t.clear_used(): - - clear_used(self) - - -ida_hexrays.lvar_t.clr_arg_var(): - - clr_arg_var(self) - - -ida_hexrays.lvar_t.clr_dummy_arg(): - - clr_dummy_arg(self) - - -ida_hexrays.lvar_t.clr_fake_var(): - - clr_fake_var(self) - - -ida_hexrays.lvar_t.clr_floating_var(): - - clr_floating_var(self) - - -ida_hexrays.lvar_t.clr_forced_var(): - - clr_forced_var(self) - - -ida_hexrays.lvar_t.clr_mapdst_var(): - - clr_mapdst_var(self) - - -ida_hexrays.lvar_t.clr_mreg_done(): - - clr_mreg_done(self) - - -ida_hexrays.lvar_t.clr_noptr_var(): - - clr_noptr_var(self) - - -ida_hexrays.lvar_t.clr_notarg(): - - clr_notarg(self) - - -ida_hexrays.lvar_t.clr_overlapped_var(): - - clr_overlapped_var(self) - - -ida_hexrays.lvar_t.clr_spoiled_var(): - - clr_spoiled_var(self) - - -ida_hexrays.lvar_t.clr_thisarg(): - - clr_thisarg(self) - - -ida_hexrays.lvar_t.clr_unknown_width(): - - clr_unknown_width(self) - - -ida_hexrays.lvar_t.clr_user_info(): - - clr_user_info(self) - - -ida_hexrays.lvar_t.clr_user_name(): - - clr_user_name(self) - - -ida_hexrays.lvar_t.clr_user_type(): - - clr_user_type(self) - - -ida_hexrays.lvar_t.cmt: - lvar_t_cmt_get(self) -> qstring * - -ida_hexrays.lvar_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.lvar_t.defblk: - lvar_t_defblk_get(self) -> int - -ida_hexrays.lvar_t.defea: - lvar_locator_t_defea_get(self) -> ea_t - -ida_hexrays.lvar_t.divisor: - lvar_t_divisor_get(self) -> uint64 - -ida_hexrays.lvar_t.get_reg1(): - - get_reg1(self) -> mreg_t - - -ida_hexrays.lvar_t.get_reg2(): - - get_reg2(self) -> mreg_t - - -ida_hexrays.lvar_t.get_scattered(): - - get_scattered(self) -> scattered_aloc_t - get_scattered(self) -> scattered_aloc_t - - -ida_hexrays.lvar_t.get_stkoff(): - - get_stkoff(self) -> sval_t - - -ida_hexrays.lvar_t.has_common(): - - has_common(self, v) -> bool - - -ida_hexrays.lvar_t.has_common_bit(): - - has_common_bit(self, loc, width2) -> bool - - -ida_hexrays.lvar_t.has_nice_name: - - has_nice_name(self) -> bool - - -ida_hexrays.lvar_t.has_regname(): - - has_regname(self) -> bool - - -ida_hexrays.lvar_t.has_user_info: - - has_user_info(self) -> bool - - -ida_hexrays.lvar_t.has_user_name: - - has_user_name(self) -> bool - - -ida_hexrays.lvar_t.has_user_type: - - has_user_type(self) -> bool - - -ida_hexrays.lvar_t.is_aliasable(): - - is_aliasable(self, mba) -> bool - - -ida_hexrays.lvar_t.is_arg_var: - - is_arg_var(self) -> bool - - -ida_hexrays.lvar_t.is_dummy_arg(): - - is_dummy_arg(self) -> bool - - -ida_hexrays.lvar_t.is_fake_var: - - is_fake_var(self) -> bool - - -ida_hexrays.lvar_t.is_floating_var: - - is_floating_var(self) -> bool - - -ida_hexrays.lvar_t.is_forced_var(): - - is_forced_var(self) -> bool - - -ida_hexrays.lvar_t.is_mapdst_var: - - is_mapdst_var(self) -> bool - - -ida_hexrays.lvar_t.is_noptr_var(): - - is_noptr_var(self) -> bool - - -ida_hexrays.lvar_t.is_notarg(): - - is_notarg(self) -> bool - - -ida_hexrays.lvar_t.is_overlapped_var: - - is_overlapped_var(self) -> bool - - -ida_hexrays.lvar_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_hexrays.lvar_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_hexrays.lvar_t.is_reg_var(): - - is_reg_var(self) -> bool - - -ida_hexrays.lvar_t.is_result_var: - - is_result_var(self) -> bool - - -ida_hexrays.lvar_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.lvar_t.is_spoiled_var: - - is_spoiled_var(self) -> bool - - -ida_hexrays.lvar_t.is_stk_var(): - - is_stk_var(self) -> bool - - -ida_hexrays.lvar_t.is_thisarg(): - - is_thisarg(self) -> bool - - -ida_hexrays.lvar_t.is_unknown_width: - - is_unknown_width(self) -> bool - - -ida_hexrays.lvar_t.location: - lvar_locator_t_location_get(self) -> vdloc_t - -ida_hexrays.lvar_t.mreg_done: - - mreg_done(self) -> bool - - -ida_hexrays.lvar_t.name: - lvar_t_name_get(self) -> qstring * - -ida_hexrays.lvar_t.set_arg_var(): - - set_arg_var(self) - - -ida_hexrays.lvar_t.set_dummy_arg(): - - set_dummy_arg(self) - - -ida_hexrays.lvar_t.set_fake_var(): - - set_fake_var(self) - - -ida_hexrays.lvar_t.set_final_lvar_type(): - - set_final_lvar_type(self, t) - - -ida_hexrays.lvar_t.set_floating_var(): - - set_floating_var(self) - - -ida_hexrays.lvar_t.set_forced_var(): - - set_forced_var(self) - - -ida_hexrays.lvar_t.set_lvar_type(): - - set_lvar_type(self, t, may_fail=False) -> bool - - -ida_hexrays.lvar_t.set_mapdst_var(): - - set_mapdst_var(self) - - -ida_hexrays.lvar_t.set_mreg_done(): - - set_mreg_done(self) - - -ida_hexrays.lvar_t.set_non_typed(): - - set_non_typed(self) - - -ida_hexrays.lvar_t.set_noptr_var(): - - set_noptr_var(self) - - -ida_hexrays.lvar_t.set_notarg(): - - set_notarg(self) - - -ida_hexrays.lvar_t.set_overlapped_var(): - - set_overlapped_var(self) - - -ida_hexrays.lvar_t.set_spoiled_var(): - - set_spoiled_var(self) - - -ida_hexrays.lvar_t.set_thisarg(): - - set_thisarg(self) - - -ida_hexrays.lvar_t.set_typed(): - - set_typed(self) - - -ida_hexrays.lvar_t.set_unknown_width(): - - set_unknown_width(self) - - -ida_hexrays.lvar_t.set_used(): - - set_used(self) - - -ida_hexrays.lvar_t.set_user_name(): - - set_user_name(self) - - -ida_hexrays.lvar_t.set_user_type(): - - set_user_type(self) - - -ida_hexrays.lvar_t.set_width(): - - set_width(self, w, svw_flags=0) -> bool - - -ida_hexrays.lvar_t.tif: - lvar_t_tif_get(self) -> tinfo_t - -ida_hexrays.lvar_t.type(): - - type(self) -> tinfo_t - type(self) -> tinfo_t - - -ida_hexrays.lvar_t.typed: - - typed(self) -> bool - - -ida_hexrays.lvar_t.used: - - used(self) -> bool - - -ida_hexrays.lvar_t.width: - lvar_t_width_get(self) -> int - -class ida_hexrays.lvar_uservec_t(): - - Proxy of C++ lvar_uservec_t class - - -ida_hexrays.lvar_uservec_t.clear(): - - clear(self) - - -ida_hexrays.lvar_uservec_t.find_info(): - - find_info(self, vloc) -> lvar_saved_info_t - - -ida_hexrays.lvar_uservec_t.keep_info(): - - keep_info(self, v) - - -ida_hexrays.lvar_uservec_t.lmaps: - lvar_uservec_t_lmaps_get(self) -> lvar_mapping_t - -ida_hexrays.lvar_uservec_t.lvvec: - lvar_uservec_t_lvvec_get(self) -> lvar_saved_infos_t - -ida_hexrays.lvar_uservec_t.stkoff_delta: - lvar_uservec_t_stkoff_delta_get(self) -> uval_t - -ida_hexrays.lvar_uservec_t.swap(): - - swap(self, r) - - -ida_hexrays.lvar_uservec_t.ulv_flags: - lvar_uservec_t_ulv_flags_get(self) -> int - -class ida_hexrays.lvars_t(): - - Proxy of C++ lvars_t class - - -ida_hexrays.lvars_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.lvars_t.append(): - - push_back(self, x) - push_back(self) -> lvar_t - - -ida_hexrays.lvars_t.at(): - - __getitem__(self, i) -> lvar_t - - -ida_hexrays.lvars_t.begin(): - - begin(self) -> lvar_t - begin(self) -> lvar_t - - -ida_hexrays.lvars_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.lvars_t.clear(): - - clear(self) - - -ida_hexrays.lvars_t.empty(): - - empty(self) -> bool - - -ida_hexrays.lvars_t.end(): - - end(self) -> lvar_t - end(self) -> lvar_t - - -ida_hexrays.lvars_t.erase(): - - erase(self, it) -> lvar_t - erase(self, first, last) -> lvar_t - - -ida_hexrays.lvars_t.extract(): - - extract(self) -> lvar_t - - -ida_hexrays.lvars_t.find(): - - find(self, ll) -> lvar_t - - -ida_hexrays.lvars_t.find_input_lvar(): - - find_input_lvar(self, argloc, _size) -> int - - -ida_hexrays.lvars_t.find_lvar(): - - find_lvar(self, location, width, defblk=-1) -> int - - -ida_hexrays.lvars_t.find_stkvar(): - - find_stkvar(self, spoff, width) -> int - - -ida_hexrays.lvars_t.grow(): - - grow(self, x=lvar_t()) - - -ida_hexrays.lvars_t.has(): - - has(self, x) -> bool - - -ida_hexrays.lvars_t.inject(): - - inject(self, s, len) - - -ida_hexrays.lvars_t.insert(): - - insert(self, it, x) -> lvar_t - - -ida_hexrays.lvars_t.pop_back(): - - pop_back(self) - - -ida_hexrays.lvars_t.push_back(): - - push_back(self, x) - push_back(self) -> lvar_t - - -ida_hexrays.lvars_t.qclear(): - - qclear(self) - - -ida_hexrays.lvars_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.lvars_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.lvars_t.size(): - - size(self) -> size_t - - -ida_hexrays.lvars_t.swap(): - - swap(self, r) - - -ida_hexrays.lvars_t.truncate(): - - truncate(self) - - -ida_hexrays.make_pointer(): - - make_pointer(type) -> tinfo_t - - - Create a pointer type. This function performs the following - conversion: "type" -> "type*" - - @param type: object type. (C++: const tinfo_t &) - @return: "type*". for example, if 'char' is passed as the argument, - - -ida_hexrays.mark_cfunc_dirty(): - - mark_cfunc_dirty(ea, close_views=False) -> bool - - - Flush the cached decompilation results. Erases a cache entry for the - specified function. - - @param ea: function to erase from the cache (C++: ea_t) - @param close_views: close pseudocode windows that show the function - (C++: bool) - @return: if a cache entry existed. - - -class ida_hexrays.mba_range_iterator_t(): - - Proxy of C++ mba_range_iterator_t class - - -ida_hexrays.mba_range_iterator_t.chunk(): - - chunk(self) -> range_t - - -ida_hexrays.mba_range_iterator_t.fii: - mba_range_iterator_t_fii_get(self) -> func_tail_iterator_t - -ida_hexrays.mba_range_iterator_t.is_snippet(): - - is_snippet(self) -> bool - - -ida_hexrays.mba_range_iterator_t.next(): - - next(self) -> bool - - -ida_hexrays.mba_range_iterator_t.rii: - mba_range_iterator_t_rii_get(self) -> range_chunk_iterator_t * - -ida_hexrays.mba_range_iterator_t.set(): - - set(self, mbr) -> bool - - -class ida_hexrays.mba_ranges_t(): - - Proxy of C++ mba_ranges_t class - - -ida_hexrays.mba_ranges_t.clear(): - - clear(self) - - -ida_hexrays.mba_ranges_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mba_ranges_t.is_fragmented(): - - is_fragmented(self) -> bool - - -ida_hexrays.mba_ranges_t.is_snippet(): - - is_snippet(self) -> bool - - -ida_hexrays.mba_ranges_t.pfn: - mba_ranges_t_pfn_get(self) -> func_t * - -ida_hexrays.mba_ranges_t.ranges: - mba_ranges_t_ranges_get(self) -> rangevec_t - -ida_hexrays.mba_ranges_t.start(): - - start(self) -> ea_t - - -class ida_hexrays.mbl_array_t(): - - Proxy of C++ mbl_array_t class - - -ida_hexrays.mbl_array_t._print(): - - _print(self, vp) - - -ida_hexrays.mbl_array_t.aliased_args: - mbl_array_t_aliased_args_get(self) -> ivl_t - -ida_hexrays.mbl_array_t.aliased_memory: - mbl_array_t_aliased_memory_get(self) -> ivlset_t - -ida_hexrays.mbl_array_t.aliased_vars: - mbl_array_t_aliased_vars_get(self) -> ivl_t - -ida_hexrays.mbl_array_t.alloc_lvars(): - - alloc_lvars(self) - - -ida_hexrays.mbl_array_t.analyze_calls(): - - analyze_calls(self, acflags) -> int - - -ida_hexrays.mbl_array_t.arg(): - - arg(self, n) -> lvar_t - arg(self, n) -> lvar_t - - -ida_hexrays.mbl_array_t.argbase(): - - argbase(self) -> sval_t - - -ida_hexrays.mbl_array_t.argidx: - mbl_array_t_argidx_get(self) -> intvec_t - -ida_hexrays.mbl_array_t.argidx_ok(): - - argidx_ok(self) -> bool - - -ida_hexrays.mbl_array_t.bad_call_sp_detected(): - - bad_call_sp_detected(self) -> bool - - -ida_hexrays.mbl_array_t.blocks: - mbl_array_t_blocks_get(self) -> mblock_t - -ida_hexrays.mbl_array_t.build_graph(): - - build_graph(self) -> merror_t - - -ida_hexrays.mbl_array_t.calc_shins_flags(): - - calc_shins_flags(self) -> int - - -ida_hexrays.mbl_array_t.callinfo_built(): - - callinfo_built(self) -> bool - - -ida_hexrays.mbl_array_t.cc: - mbl_array_t_cc_get(self) -> cm_t - -ida_hexrays.mbl_array_t.chain_varnums_ok(): - - chain_varnums_ok(self) -> bool - - -ida_hexrays.mbl_array_t.clr_cdtr(): - - clr_cdtr(self) - - -ida_hexrays.mbl_array_t.clr_mba_flags(): - - clr_mba_flags(self, f) - - -ida_hexrays.mbl_array_t.clr_mba_flags2(): - - clr_mba_flags2(self, f) - - -ida_hexrays.mbl_array_t.combine_blocks(): - - combine_blocks(self) -> bool - - -ida_hexrays.mbl_array_t.common_stkvars_stkargs(): - - common_stkvars_stkargs(self) -> bool - - -ida_hexrays.mbl_array_t.consumed_argregs: - mbl_array_t_consumed_argregs_get(self) -> rlist_t - -ida_hexrays.mbl_array_t.copy_block(): - - copy_block(self, blk, new_serial, cpblk_flags=3) -> mblock_t - - -ida_hexrays.mbl_array_t.deleted_pairs(): - - deleted_pairs(self) -> bool - - -ida_hexrays.mbl_array_t.deserialize(): - - deserialize(bytes, nbytes) -> mbl_array_t - - -ida_hexrays.mbl_array_t.display_numaddrs(): - - display_numaddrs(self) -> bool - - -ida_hexrays.mbl_array_t.display_valnums(): - - display_valnums(self) -> bool - - -ida_hexrays.mbl_array_t.dump(): - - dump(self) - - -ida_hexrays.mbl_array_t.dump_mba(): - - dump_mba(self, _verify, title) - - -ida_hexrays.mbl_array_t.entry_ea: - mbl_array_t_entry_ea_get(self) -> ea_t - -ida_hexrays.mbl_array_t.error_ea: - mbl_array_t_error_ea_get(self) -> ea_t - -ida_hexrays.mbl_array_t.error_strarg: - mbl_array_t_error_strarg_get(self) -> qstring * - -ida_hexrays.mbl_array_t.final_type: - mbl_array_t_final_type_get(self) -> bool - -ida_hexrays.mbl_array_t.find_mop(): - - find_mop(self, ctx, ea, is_dest, list) -> mop_t - - -ida_hexrays.mbl_array_t.first_epilog_ea: - mbl_array_t_first_epilog_ea_get(self) -> ea_t - -ida_hexrays.mbl_array_t.for_all_insns(): - - for_all_insns(self, mv) -> int - - -ida_hexrays.mbl_array_t.for_all_ops(): - - for_all_ops(self, mv) -> int - - -ida_hexrays.mbl_array_t.for_all_topinsns(): - - for_all_topinsns(self, mv) -> int - - -ida_hexrays.mbl_array_t.fpd: - mbl_array_t_fpd_get(self) -> sval_t - -ida_hexrays.mbl_array_t.frregs: - mbl_array_t_frregs_get(self) -> sval_t - -ida_hexrays.mbl_array_t.frsize: - mbl_array_t_frsize_get(self) -> sval_t - -ida_hexrays.mbl_array_t.fti_flags: - mbl_array_t_fti_flags_get(self) -> int - -ida_hexrays.mbl_array_t.fullsize: - mbl_array_t_fullsize_get(self) -> sval_t - -ida_hexrays.mbl_array_t.generated_asserts(): - - generated_asserts(self) -> bool - - -ida_hexrays.mbl_array_t.get_args_region(): - - get_args_region(self) -> ivl_t - - -ida_hexrays.mbl_array_t.get_curfunc(): - - get_curfunc(self) -> func_t * - - -ida_hexrays.mbl_array_t.get_graph(): - - get_graph(self) -> mbl_graph_t - - -ida_hexrays.mbl_array_t.get_ida_argloc(): - - get_ida_argloc(self, v) -> argloc_t - - -ida_hexrays.mbl_array_t.get_lvars_region(): - - get_lvars_region(self) -> ivl_t - - -ida_hexrays.mbl_array_t.get_mba_flags(): - - get_mba_flags(self) -> int - - -ida_hexrays.mbl_array_t.get_mba_flags2(): - - get_mba_flags2(self) -> int - - -ida_hexrays.mbl_array_t.get_mblock(): - - get_mblock(self, n) -> mblock_t - get_mblock(self, n) -> mblock_t - - -ida_hexrays.mbl_array_t.get_shadow_region(): - - get_shadow_region(self) -> ivl_t - - -ida_hexrays.mbl_array_t.get_stack_region(): - - get_stack_region(self) -> ivl_t - - -ida_hexrays.mbl_array_t.get_std_region(): - - get_std_region(self, idx) -> ivl_t - - -ida_hexrays.mbl_array_t.gotoff_stkvars: - mbl_array_t_gotoff_stkvars_get(self) -> ivlset_t - -ida_hexrays.mbl_array_t.graph_insns(): - - graph_insns(self) -> bool - - -ida_hexrays.mbl_array_t.has_bad_sp(): - - has_bad_sp(self) -> bool - - -ida_hexrays.mbl_array_t.has_over_chains(): - - has_over_chains(self) -> bool - - -ida_hexrays.mbl_array_t.has_overvars(): - - has_overvars(self) -> bool - - -ida_hexrays.mbl_array_t.has_passregs(): - - has_passregs(self) -> bool - - -ida_hexrays.mbl_array_t.idaloc2vd(): - - idaloc2vd(self, loc, width) -> vdloc_t - - -ida_hexrays.mbl_array_t.idb_node: - mbl_array_t_idb_node_get(self) -> netnode - -ida_hexrays.mbl_array_t.idb_spoiled: - mbl_array_t_idb_spoiled_get(self) -> reginfovec_t - -ida_hexrays.mbl_array_t.idb_type: - mbl_array_t_idb_type_get(self) -> tinfo_t - -ida_hexrays.mbl_array_t.inargoff: - mbl_array_t_inargoff_get(self) -> sval_t - -ida_hexrays.mbl_array_t.insert_block(): - - insert_block(self, bblk) -> mblock_t - - -ida_hexrays.mbl_array_t.is_cdtr(): - - is_cdtr(self) -> bool - - -ida_hexrays.mbl_array_t.is_ctr(): - - is_ctr(self) -> bool - - -ida_hexrays.mbl_array_t.is_dtr(): - - is_dtr(self) -> bool - - -ida_hexrays.mbl_array_t.is_pattern(): - - is_pattern(self) -> bool - - -ida_hexrays.mbl_array_t.is_snippet(): - - is_snippet(self) -> bool - - -ida_hexrays.mbl_array_t.is_stkarg(): - - is_stkarg(self, v) -> bool - - -ida_hexrays.mbl_array_t.is_thunk(): - - is_thunk(self) -> bool - - -ida_hexrays.mbl_array_t.label: - mbl_array_t_label_get(self) -> qstring * - -ida_hexrays.mbl_array_t.last_prolog_ea: - mbl_array_t_last_prolog_ea_get(self) -> ea_t - -ida_hexrays.mbl_array_t.loaded_gdl(): - - loaded_gdl(self) -> bool - - -ida_hexrays.mbl_array_t.lvar_names_ok(): - - lvar_names_ok(self) -> bool - - -ida_hexrays.mbl_array_t.lvars_allocated(): - - lvars_allocated(self) -> bool - - -ida_hexrays.mbl_array_t.lvars_renamed(): - - lvars_renamed(self) -> bool - - -ida_hexrays.mbl_array_t.mark_chains_dirty(): - - mark_chains_dirty(self) - - -ida_hexrays.mbl_array_t.maturity: - mbl_array_t_maturity_get(self) -> mba_maturity_t - -ida_hexrays.mbl_array_t.may_refine_rettype(): - - may_refine_rettype(self) -> bool - - -ida_hexrays.mbl_array_t.mbr: - mbl_array_t_mbr_get(self) -> mba_ranges_t - -ida_hexrays.mbl_array_t.minargref: - mbl_array_t_minargref_get(self) -> sval_t - -ida_hexrays.mbl_array_t.minstkref: - mbl_array_t_minstkref_get(self) -> sval_t - -ida_hexrays.mbl_array_t.minstkref_ea: - mbl_array_t_minstkref_ea_get(self) -> ea_t - -ida_hexrays.mbl_array_t.natural: - mbl_array_t_natural_get(self) -> mblock_t ** - -ida_hexrays.mbl_array_t.nodel_memory: - mbl_array_t_nodel_memory_get(self) -> mlist_t - -ida_hexrays.mbl_array_t.notes: - mbl_array_t_notes_get(self) -> hexwarns_t - -ida_hexrays.mbl_array_t.npurged: - mbl_array_t_npurged_get(self) -> int - -ida_hexrays.mbl_array_t.occurred_warns: - mbl_array_t_occurred_warns_get(self) -> uchar [32] - -ida_hexrays.mbl_array_t.optimize_global(): - - optimize_global(self) -> merror_t - - -ida_hexrays.mbl_array_t.optimize_local(): - - optimize_local(self, locopt_bits) -> int - - -ida_hexrays.mbl_array_t.optimized(): - - optimized(self) -> bool - - -ida_hexrays.mbl_array_t.pfn_flags: - mbl_array_t_pfn_flags_get(self) -> int - -ida_hexrays.mbl_array_t.precise_defeas(): - - precise_defeas(self) -> bool - - -ida_hexrays.mbl_array_t.propagated_asserts(): - - propagated_asserts(self) -> bool - - -ida_hexrays.mbl_array_t.qty: - mbl_array_t_qty_get(self) -> int - -ida_hexrays.mbl_array_t.really_alloc(): - - really_alloc(self) -> bool - - -ida_hexrays.mbl_array_t.regargs_is_not_aligned(): - - regargs_is_not_aligned(self) -> bool - - -ida_hexrays.mbl_array_t.remove_block(): - - remove_block(self, blk) -> bool - - -ida_hexrays.mbl_array_t.remove_empty_blocks(): - - remove_empty_blocks(self) -> bool - - -ida_hexrays.mbl_array_t.reqmat: - mbl_array_t_reqmat_get(self) -> mba_maturity_t - -ida_hexrays.mbl_array_t.restricted_memory: - mbl_array_t_restricted_memory_get(self) -> ivlset_t - -ida_hexrays.mbl_array_t.retsize: - mbl_array_t_retsize_get(self) -> int - -ida_hexrays.mbl_array_t.returns_fpval(): - - returns_fpval(self) -> bool - - -ida_hexrays.mbl_array_t.retvaridx: - mbl_array_t_retvaridx_get(self) -> int - -ida_hexrays.mbl_array_t.rtype_refined(): - - rtype_refined(self) -> bool - - -ida_hexrays.mbl_array_t.saverest_done(): - - saverest_done(self) -> bool - - -ida_hexrays.mbl_array_t.serialize(): - - serialize(self) - - -ida_hexrays.mbl_array_t.set_mba_flags(): - - set_mba_flags(self, f) - - -ida_hexrays.mbl_array_t.set_mba_flags2(): - - set_mba_flags2(self, f) - - -ida_hexrays.mbl_array_t.shadow_args: - mbl_array_t_shadow_args_get(self) -> int - -ida_hexrays.mbl_array_t.short_display(): - - short_display(self) -> bool - - -ida_hexrays.mbl_array_t.should_beautify(): - - should_beautify(self) -> bool - - -ida_hexrays.mbl_array_t.show_reduction(): - - show_reduction(self) -> bool - - -ida_hexrays.mbl_array_t.spd_adjust: - mbl_array_t_spd_adjust_get(self) -> sval_t - -ida_hexrays.mbl_array_t.spoiled_list: - mbl_array_t_spoiled_list_get(self) -> mlist_t - -ida_hexrays.mbl_array_t.stacksize: - mbl_array_t_stacksize_get(self) -> sval_t - -ida_hexrays.mbl_array_t.std_ivls: - mbl_array_t_std_ivls_get(self) -> ivl_with_name_t - -ida_hexrays.mbl_array_t.stkoff_ida2vd(): - - stkoff_ida2vd(self, off) -> sval_t - - -ida_hexrays.mbl_array_t.stkoff_vd2ida(): - - stkoff_vd2ida(self, off) -> sval_t - - -ida_hexrays.mbl_array_t.term(): - - term(self) - - -ida_hexrays.mbl_array_t.tmpstk_size: - mbl_array_t_tmpstk_size_get(self) -> sval_t - -ida_hexrays.mbl_array_t.use_frame(): - - use_frame(self) -> bool - - -ida_hexrays.mbl_array_t.use_wingraph32(): - - use_wingraph32(self) -> bool - - -ida_hexrays.mbl_array_t.valranges_done(): - - valranges_done(self) -> bool - - -ida_hexrays.mbl_array_t.vars: - mbl_array_t_vars_get(self) -> lvars_t - -ida_hexrays.mbl_array_t.vd2idaloc(): - - vd2idaloc(self, loc, width, spd) -> argloc_t - vd2idaloc(self, loc, width) -> argloc_t - - -ida_hexrays.mbl_array_t.verify(): - - verify(self, always) - - -ida_hexrays.mbl_array_t.write_to_const_detected(): - - write_to_const_detected(self) -> bool - - -ida_hexrays.mbl_array_t_deserialize(): - - mbl_array_t_deserialize(bytes, nbytes) -> mbl_array_t - - -class ida_hexrays.mbl_graph_t(): - - Proxy of C++ mbl_graph_t class - - -ida_hexrays.mbl_graph_t.colored_gdl_edges: - simple_graph_t_colored_gdl_edges_get(self) -> bool - -ida_hexrays.mbl_graph_t.get_chain_stamp(): - - get_chain_stamp(self) -> int - - -ida_hexrays.mbl_graph_t.get_du(): - - get_du(self, gctype) -> graph_chains_t - - -ida_hexrays.mbl_graph_t.get_mblock(): - - get_mblock(self, n) -> mblock_t - - -ida_hexrays.mbl_graph_t.get_ud(): - - get_ud(self, gctype) -> graph_chains_t - - -ida_hexrays.mbl_graph_t.is_du_chain_dirty(): - - is_du_chain_dirty(self, gctype) -> bool - - -ida_hexrays.mbl_graph_t.is_redefined_globally(): - - is_redefined_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool - - -ida_hexrays.mbl_graph_t.is_ud_chain_dirty(): - - is_ud_chain_dirty(self, gctype) -> bool - - -ida_hexrays.mbl_graph_t.is_used_globally(): - - is_used_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool - - -ida_hexrays.mbl_graph_t.title: - simple_graph_t_title_get(self) -> qstring * - -class ida_hexrays.mblock_t(): - - Proxy of C++ mblock_t class - - -ida_hexrays.mblock_t._print(): - - _print(self, vp) - - -ida_hexrays.mblock_t.append_def_list(): - - append_def_list(self, list, op, maymust) - - -ida_hexrays.mblock_t.append_use_list(): - - append_use_list(self, list, op, maymust, mask=bitrange_t(0, USHRT_MAX)) - - -ida_hexrays.mblock_t.build_def_list(): - - build_def_list(self, ins, maymust) -> mlist_t - - -ida_hexrays.mblock_t.build_lists(): - - build_lists(self, kill_deads) -> int - - -ida_hexrays.mblock_t.build_use_list(): - - build_use_list(self, ins, maymust) -> mlist_t - - -ida_hexrays.mblock_t.dead_at_start: - mblock_t_dead_at_start_get(self) -> mlist_t - -ida_hexrays.mblock_t.dnu: - mblock_t_dnu_get(self) -> mlist_t - -ida_hexrays.mblock_t.dump(): - - dump(self) - - -ida_hexrays.mblock_t.dump_block(): - - dump_block(self, title) - - -ida_hexrays.mblock_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mblock_t.end: - mblock_t_end_get(self) -> ea_t - -ida_hexrays.mblock_t.find_access(): - - find_access(self, op, parent, mend, fdflags) -> minsn_t - - -ida_hexrays.mblock_t.find_def(): - - find_def(self, op, p_i1, i2, fdflags) -> minsn_t - - -ida_hexrays.mblock_t.find_first_use(): - - find_first_use(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t - - -ida_hexrays.mblock_t.find_redefinition(): - - find_redefinition(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t - - -ida_hexrays.mblock_t.find_use(): - - find_use(self, op, p_i1, i2, fdflags) -> minsn_t - - -ida_hexrays.mblock_t.flags: - mblock_t_flags_get(self) -> uint32 - -ida_hexrays.mblock_t.for_all_insns(): - - for_all_insns(self, mv) -> int - - -ida_hexrays.mblock_t.for_all_ops(): - - for_all_ops(self, mv) -> int - - -ida_hexrays.mblock_t.for_all_uses(): - - for_all_uses(self, list, i1, i2, mmv) -> int - - -ida_hexrays.mblock_t.get_reginsn_qty(): - - get_reginsn_qty(self) -> size_t - - -ida_hexrays.mblock_t.get_valranges(): - - get_valranges(self, res, vivl, vrflags) -> bool - get_valranges(self, res, vivl, m, vrflags) -> bool - - -ida_hexrays.mblock_t.head: - mblock_t_head_get(self) -> minsn_t - -ida_hexrays.mblock_t.insert_into_block(): - - insert_into_block(self, nm, om) -> minsn_t - - -ida_hexrays.mblock_t.is_branch(): - - is_branch(self) -> bool - - -ida_hexrays.mblock_t.is_call_block(): - - is_call_block(self) -> bool - - -ida_hexrays.mblock_t.is_nway(): - - is_nway(self) -> bool - - -ida_hexrays.mblock_t.is_redefined(): - - is_redefined(self, list, i1, i2, maymust=MAY_ACCESS) -> bool - - -ida_hexrays.mblock_t.is_rhs_redefined(): - - is_rhs_redefined(self, ins, i1, i2) -> bool - - -ida_hexrays.mblock_t.is_simple_goto_block(): - - is_simple_goto_block(self) -> bool - - -ida_hexrays.mblock_t.is_simple_jcnd_block(): - - is_simple_jcnd_block(self) -> bool - - -ida_hexrays.mblock_t.is_unknown_call(): - - is_unknown_call(self) -> bool - - -ida_hexrays.mblock_t.is_used(): - - is_used(self, list, i1, i2, maymust=MAY_ACCESS) -> bool - - -ida_hexrays.mblock_t.lists_dirty(): - - lists_dirty(self) -> bool - - -ida_hexrays.mblock_t.lists_ready(): - - lists_ready(self) -> bool - - -ida_hexrays.mblock_t.make_lists_ready(): - - make_lists_ready(self) -> int - - -ida_hexrays.mblock_t.make_nop(): - - make_nop(self, m) - - -ida_hexrays.mblock_t.mark_lists_dirty(): - - mark_lists_dirty(self) - - -ida_hexrays.mblock_t.maxbsp: - mblock_t_maxbsp_get(self) -> sval_t - -ida_hexrays.mblock_t.maybdef: - mblock_t_maybdef_get(self) -> mlist_t - -ida_hexrays.mblock_t.maybuse: - mblock_t_maybuse_get(self) -> mlist_t - -ida_hexrays.mblock_t.mba: - mblock_t_mba_get(self) -> mbl_array_t - -ida_hexrays.mblock_t.minbargref: - mblock_t_minbargref_get(self) -> sval_t - -ida_hexrays.mblock_t.minbstkref: - mblock_t_minbstkref_get(self) -> sval_t - -ida_hexrays.mblock_t.mustbdef: - mblock_t_mustbdef_get(self) -> mlist_t - -ida_hexrays.mblock_t.mustbuse: - mblock_t_mustbuse_get(self) -> mlist_t - -ida_hexrays.mblock_t.needs_propagation(): - - needs_propagation(self) -> bool - - -ida_hexrays.mblock_t.nextb: - mblock_t_nextb_get(self) -> mblock_t - -ida_hexrays.mblock_t.npred(): - - npred(self) -> int - - -ida_hexrays.mblock_t.nsucc(): - - nsucc(self) -> int - - -ida_hexrays.mblock_t.optimize_block(): - - optimize_block(self) -> int - - -ida_hexrays.mblock_t.optimize_insn(): - - optimize_insn(self, m, optflags=0x0002|0x0004) -> int - - -ida_hexrays.mblock_t.optimize_useless_jump(): - - optimize_useless_jump(self) -> int - - -ida_hexrays.mblock_t.pred(): - - pred(self, n) -> int - - -ida_hexrays.mblock_t.preds(): - - Iterates the list of predecessor blocks - - -ida_hexrays.mblock_t.predset: - mblock_t_predset_get(self) -> intvec_t - -ida_hexrays.mblock_t.prevb: - mblock_t_prevb_get(self) -> mblock_t - -ida_hexrays.mblock_t.remove_from_block(): - - remove_from_block(self, m) -> minsn_t - - -ida_hexrays.mblock_t.request_demote64(): - - request_demote64(self) - - -ida_hexrays.mblock_t.request_propagation(): - - request_propagation(self) - - -ida_hexrays.mblock_t.serial: - mblock_t_serial_get(self) -> int - -ida_hexrays.mblock_t.start: - mblock_t_start_get(self) -> ea_t - -ida_hexrays.mblock_t.succ(): - - succ(self, n) -> int - - -ida_hexrays.mblock_t.succs(): - - Iterates the list of successor blocks - - -ida_hexrays.mblock_t.succset: - mblock_t_succset_get(self) -> intvec_t - -ida_hexrays.mblock_t.tail: - mblock_t_tail_get(self) -> minsn_t - -ida_hexrays.mblock_t.type: - mblock_t_type_get(self) -> mblock_type_t - -class ida_hexrays.mcallarg_t(): - - Proxy of C++ mcallarg_t class - - -ida_hexrays.mcallarg_t._print(): - - _print(self, shins_flags=0x04|0x02) - - -ida_hexrays.mcallarg_t.apply_ld_mcode(): - - apply_ld_mcode(self, mcode, ea, newsize) - - -ida_hexrays.mcallarg_t.apply_xds(): - - apply_xds(self, ea, newsize) - - -ida_hexrays.mcallarg_t.apply_xdu(): - - apply_xdu(self, ea, newsize) - - -ida_hexrays.mcallarg_t.argloc: - mcallarg_t_argloc_get(self) -> argloc_t - -ida_hexrays.mcallarg_t.assign(): - - assign(self, rop) -> mop_t - - -ida_hexrays.mcallarg_t.change_size(): - - change_size(self, nsize, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mcallarg_t.copy_mop(): - - copy_mop(self, op) - - -ida_hexrays.mcallarg_t.create_from_insn(): - - create_from_insn(self, m) - - -ida_hexrays.mcallarg_t.create_from_ivlset(): - - create_from_ivlset(self, mba, ivs, fullsize) -> bool - - -ida_hexrays.mcallarg_t.create_from_mlist(): - - create_from_mlist(self, mba, lst, fullsize) -> bool - - -ida_hexrays.mcallarg_t.create_from_scattered_vdloc(): - - create_from_scattered_vdloc(self, mba, name, type, loc) - - -ida_hexrays.mcallarg_t.create_from_vdloc(): - - create_from_vdloc(self, mba, loc, _size) - - -ida_hexrays.mcallarg_t.double_size(): - - double_size(self, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mcallarg_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mcallarg_t.ea: - mcallarg_t_ea_get(self) -> ea_t - -ida_hexrays.mcallarg_t.equal_mops(): - - equal_mops(self, rop, eqflags) -> bool - - -ida_hexrays.mcallarg_t.erase(): - - erase(self) - - -ida_hexrays.mcallarg_t.erase_but_keep_size(): - - erase_but_keep_size(self) - - -ida_hexrays.mcallarg_t.for_all_ops(): - - for_all_ops(self, mv, type=None, is_target=False) -> int - - -ida_hexrays.mcallarg_t.for_all_scattered_submops(): - - for_all_scattered_submops(self, sv) -> int - - -ida_hexrays.mcallarg_t.get_insn(): - - get_insn(self, code) -> minsn_t - get_insn(self, code) -> minsn_t - - -ida_hexrays.mcallarg_t.get_stkoff(): - - get_stkoff(self, p_off) -> bool - - -ida_hexrays.mcallarg_t.get_stkvar(): - - get_stkvar(self, p_off) -> member_t * - - -ida_hexrays.mcallarg_t.has_side_effects(): - - has_side_effects(self, include_ldx_and_divs=False) -> bool - - -ida_hexrays.mcallarg_t.is01(): - - is01(self) -> bool - - -ida_hexrays.mcallarg_t.is_bit_reg(): - - is_bit_reg(self, reg) -> bool - is_bit_reg(self) -> bool - - -ida_hexrays.mcallarg_t.is_cc(): - - is_cc(self) -> bool - - -ida_hexrays.mcallarg_t.is_ccflags(): - - is_ccflags(self) -> bool - - -ida_hexrays.mcallarg_t.is_constant(): - - is_constant(self, is_signed=True) -> bool - - -ida_hexrays.mcallarg_t.is_equal_to(): - - is_equal_to(self, n, is_signed=True) -> bool - - -ida_hexrays.mcallarg_t.is_extended_from(): - - is_extended_from(self, nbytes, is_signed) -> bool - - -ida_hexrays.mcallarg_t.is_glbaddr(): - - is_glbaddr(self) -> bool - is_glbaddr(self, ea) -> bool - - -ida_hexrays.mcallarg_t.is_impptr_done(): - - is_impptr_done(self) -> bool - - -ida_hexrays.mcallarg_t.is_insn(): - - is_insn(self) -> bool - is_insn(self, code) -> bool - - -ida_hexrays.mcallarg_t.is_kreg(): - - is_kreg(self) -> bool - - -ida_hexrays.mcallarg_t.is_mob(): - - is_mob(self, serial) -> bool - - -ida_hexrays.mcallarg_t.is_negative_constant(): - - is_negative_constant(self) -> bool - - -ida_hexrays.mcallarg_t.is_one(): - - is_one(self) -> bool - - -ida_hexrays.mcallarg_t.is_positive_constant(): - - is_positive_constant(self) -> bool - - -ida_hexrays.mcallarg_t.is_reg(): - - is_reg(self) -> bool - is_reg(self, _r) -> bool - is_reg(self, _r, _size) -> bool - - -ida_hexrays.mcallarg_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.mcallarg_t.is_sign_extended_from(): - - is_sign_extended_from(self, nbytes) -> bool - - -ida_hexrays.mcallarg_t.is_stkaddr(): - - is_stkaddr(self) -> bool - - -ida_hexrays.mcallarg_t.is_udt(): - - is_udt(self) -> bool - - -ida_hexrays.mcallarg_t.is_undef_val(): - - is_undef_val(self) -> bool - - -ida_hexrays.mcallarg_t.is_zero(): - - is_zero(self) -> bool - - -ida_hexrays.mcallarg_t.is_zero_extended_from(): - - is_zero_extended_from(self, nbytes) -> bool - - -ida_hexrays.mcallarg_t.lexcompare(): - - lexcompare(self, rop) -> int - - -ida_hexrays.mcallarg_t.make_blkref(): - - make_blkref(self, blknum) - - -ida_hexrays.mcallarg_t.make_first_half(): - - make_first_half(self, width) -> bool - - -ida_hexrays.mcallarg_t.make_fpnum(): - - make_fpnum(self, bytes, _size) -> bool - - -ida_hexrays.mcallarg_t.make_gvar(): - - make_gvar(self, ea) - - -ida_hexrays.mcallarg_t.make_helper(): - - make_helper(self, name) - - -ida_hexrays.mcallarg_t.make_high_half(): - - make_high_half(self, width) -> bool - - -ida_hexrays.mcallarg_t.make_insn(): - - make_insn(self, ins) - - -ida_hexrays.mcallarg_t.make_int(): - - make_int(self, val, val_ea, opno=0) - - -ida_hexrays.mcallarg_t.make_low_half(): - - make_low_half(self, width) -> bool - - -ida_hexrays.mcallarg_t.make_number(): - - make_number(self, _value, _size, _ea=BADADDR, opnum=0) - - -ida_hexrays.mcallarg_t.make_reg(): - - make_reg(self, reg) - make_reg(self, reg, _size) - - -ida_hexrays.mcallarg_t.make_reg_pair(): - - make_reg_pair(self, loreg, hireg, halfsize) - - -ida_hexrays.mcallarg_t.make_second_half(): - - make_second_half(self, width) -> bool - - -ida_hexrays.mcallarg_t.make_uint(): - - make_uint(self, val, val_ea, opno=0) - - -ida_hexrays.mcallarg_t.may_use_aliased_memory(): - - may_use_aliased_memory(self) -> bool - - -ida_hexrays.mcallarg_t.name: - mcallarg_t_name_get(self) -> qstring * - -ida_hexrays.mcallarg_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.mcallarg_t.oprops: - mop_t_oprops_get(self) -> uint8 - -ida_hexrays.mcallarg_t.preserve_side_effects(): - - preserve_side_effects(self, blk, top, moved_calls=None) -> bool - - -ida_hexrays.mcallarg_t.probably_floating(): - - probably_floating(self) -> bool - - -ida_hexrays.mcallarg_t.set_impptr_done(): - - set_impptr_done(self) - - -ida_hexrays.mcallarg_t.set_regarg(): - - set_regarg(self, mr, sz, tif) - set_regarg(self, mr, tif) - set_regarg(self, mr, dt, sign=type_unsigned) - - -ida_hexrays.mcallarg_t.set_udt(): - - set_udt(self) - - -ida_hexrays.mcallarg_t.set_undef_val(): - - set_undef_val(self) - - -ida_hexrays.mcallarg_t.shift_mop(): - - shift_mop(self, offset) -> bool - - -ida_hexrays.mcallarg_t.signed_value(): - - signed_value(self) -> int64 - - -ida_hexrays.mcallarg_t.size: - mop_t_size_get(self) -> int - -ida_hexrays.mcallarg_t.swap(): - - swap(self, rop) - - -ida_hexrays.mcallarg_t.t: - - _get_t(self) -> mopt_t - - -ida_hexrays.mcallarg_t.type: - mcallarg_t_type_get(self) -> tinfo_t - -ida_hexrays.mcallarg_t.unsigned_value(): - - unsigned_value(self) -> uint64 - - -ida_hexrays.mcallarg_t.valnum: - mop_t_valnum_get(self) -> uint16 - -ida_hexrays.mcallarg_t.value(): - - value(self, is_signed) -> uint64 - - -ida_hexrays.mcallarg_t.zero(): - - zero(self) - - -class ida_hexrays.mcallargs_t(): - - Proxy of C++ qvector<(mcallarg_t)> class - - -ida_hexrays.mcallargs_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.mcallargs_t.at(): - - at(self, _idx) -> mcallarg_t - - -ida_hexrays.mcallargs_t.begin(): - - begin(self) -> mcallarg_t - begin(self) -> mcallarg_t - - -ida_hexrays.mcallargs_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.mcallargs_t.clear(): - - clear(self) - - -ida_hexrays.mcallargs_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mcallargs_t.end(): - - end(self) -> mcallarg_t - end(self) -> mcallarg_t - - -ida_hexrays.mcallargs_t.erase(): - - erase(self, it) -> mcallarg_t - erase(self, first, last) -> mcallarg_t - - -ida_hexrays.mcallargs_t.extract(): - - extract(self) -> mcallarg_t - - -ida_hexrays.mcallargs_t.find(): - - find(self, x) -> mcallarg_t - find(self, x) -> mcallarg_t - - -ida_hexrays.mcallargs_t.grow(): - - grow(self, x=mcallarg_t()) - - -ida_hexrays.mcallargs_t.has(): - - has(self, x) -> bool - - -ida_hexrays.mcallargs_t.inject(): - - inject(self, s, len) - - -ida_hexrays.mcallargs_t.insert(): - - insert(self, it, x) -> mcallarg_t - - -ida_hexrays.mcallargs_t.pop_back(): - - pop_back(self) - - -ida_hexrays.mcallargs_t.push_back(): - - push_back(self, x) - push_back(self) -> mcallarg_t - - -ida_hexrays.mcallargs_t.qclear(): - - qclear(self) - - -ida_hexrays.mcallargs_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.mcallargs_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.mcallargs_t.size(): - - size(self) -> size_t - - -ida_hexrays.mcallargs_t.swap(): - - swap(self, r) - - -ida_hexrays.mcallargs_t.truncate(): - - truncate(self) - - -class ida_hexrays.mcallinfo_t(): - - Proxy of C++ mcallinfo_t class - - -ida_hexrays.mcallinfo_t._print(): - - _print(self, size=-1, shins_flags=0x04|0x02) - - -ida_hexrays.mcallinfo_t.args: - mcallinfo_t_args_get(self) -> mcallargs_t - -ida_hexrays.mcallinfo_t.call_spd: - mcallinfo_t_call_spd_get(self) -> int - -ida_hexrays.mcallinfo_t.callee: - mcallinfo_t_callee_get(self) -> ea_t - -ida_hexrays.mcallinfo_t.cc: - mcallinfo_t_cc_get(self) -> cm_t - -ida_hexrays.mcallinfo_t.dead_regs: - mcallinfo_t_dead_regs_get(self) -> mlist_t - -ida_hexrays.mcallinfo_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mcallinfo_t.flags: - mcallinfo_t_flags_get(self) -> int - -ida_hexrays.mcallinfo_t.get_type(): - - get_type(self) -> tinfo_t - - -ida_hexrays.mcallinfo_t.is_vararg(): - - is_vararg(self) -> bool - - -ida_hexrays.mcallinfo_t.lexcompare(): - - lexcompare(self, f) -> int - - -ida_hexrays.mcallinfo_t.pass_regs: - mcallinfo_t_pass_regs_get(self) -> mlist_t - -ida_hexrays.mcallinfo_t.retregs: - mcallinfo_t_retregs_get(self) -> mopvec_t - -ida_hexrays.mcallinfo_t.return_argloc: - mcallinfo_t_return_argloc_get(self) -> argloc_t - -ida_hexrays.mcallinfo_t.return_regs: - mcallinfo_t_return_regs_get(self) -> mlist_t - -ida_hexrays.mcallinfo_t.return_type: - mcallinfo_t_return_type_get(self) -> tinfo_t - -ida_hexrays.mcallinfo_t.role: - mcallinfo_t_role_get(self) -> funcrole_t - -ida_hexrays.mcallinfo_t.set_type(): - - set_type(self, type) -> bool - - -ida_hexrays.mcallinfo_t.solid_args: - mcallinfo_t_solid_args_get(self) -> int - -ida_hexrays.mcallinfo_t.spoiled: - mcallinfo_t_spoiled_get(self) -> mlist_t - -ida_hexrays.mcallinfo_t.stkargs_top: - mcallinfo_t_stkargs_top_get(self) -> int - -ida_hexrays.mcallinfo_t.visible_memory: - mcallinfo_t_visible_memory_get(self) -> ivlset_t - -class ida_hexrays.mcases_t(): - - Proxy of C++ mcases_t class - - -ida_hexrays.mcases_t._print(): - - _print(self) - - -ida_hexrays.mcases_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.mcases_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mcases_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mcases_t.resize(): - - resize(self, s) - - -ida_hexrays.mcases_t.size(): - - size(self) -> size_t - - -ida_hexrays.mcases_t.swap(): - - swap(self, r) - - -ida_hexrays.mcases_t.targets: - mcases_t_targets_get(self) -> intvec_t - -ida_hexrays.mcases_t.values: - mcases_t_values_get(self) -> casevec_t - -ida_hexrays.mcode_modifies_d(): - - mcode_modifies_d(mcode) -> bool - - -class ida_hexrays.microcode_filter_t(): - - Proxy of C++ microcode_filter_t class - - -ida_hexrays.microcode_filter_t.apply(): - - apply(self, cdg) -> merror_t - - -ida_hexrays.microcode_filter_t.match(): - - match(self, cdg) -> bool - - -class ida_hexrays.minsn_t(): - - Proxy of C++ minsn_t class - - -ida_hexrays.minsn_t._print(): - - _print(self, shins_flags=0x04|0x02) - - -ida_hexrays.minsn_t.clr_assert(): - - clr_assert(self) - - -ida_hexrays.minsn_t.clr_combinable(): - - clr_combinable(self) - - -ida_hexrays.minsn_t.clr_combined(): - - clr_combined(self) - - -ida_hexrays.minsn_t.clr_fpinsn(): - - clr_fpinsn(self) - - -ida_hexrays.minsn_t.clr_ignlowsrc(): - - clr_ignlowsrc(self) - - -ida_hexrays.minsn_t.clr_multimov(): - - clr_multimov(self) - - -ida_hexrays.minsn_t.clr_noret_icall(): - - clr_noret_icall(self) - - -ida_hexrays.minsn_t.clr_propagatable(): - - clr_propagatable(self) - - -ida_hexrays.minsn_t.clr_tailcall(): - - clr_tailcall(self) - - -ida_hexrays.minsn_t.contains_call(): - - contains_call(self, with_helpers=False) -> bool - - -ida_hexrays.minsn_t.contains_opcode(): - - contains_opcode(self, mcode) -> bool - - -ida_hexrays.minsn_t.d: - minsn_t_d_get(self) -> mop_t - -ida_hexrays.minsn_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.minsn_t.ea: - minsn_t_ea_get(self) -> ea_t - -ida_hexrays.minsn_t.equal_insns(): - - equal_insns(self, m, eqflags) -> bool - - -ida_hexrays.minsn_t.find_call(): - - find_call(self, with_helpers=False) -> minsn_t - - -ida_hexrays.minsn_t.find_ins_op(): - - find_ins_op(self, other, op=m_nop) -> minsn_t - - -ida_hexrays.minsn_t.find_num_op(): - - find_num_op(self, other) -> mop_t - - -ida_hexrays.minsn_t.find_opcode(): - - find_opcode(self, mcode) -> minsn_t - find_opcode(self, mcode) -> minsn_t - - -ida_hexrays.minsn_t.for_all_insns(): - - for_all_insns(self, mv) -> int - - -ida_hexrays.minsn_t.for_all_ops(): - - for_all_ops(self, mv) -> int - - -ida_hexrays.minsn_t.get_role(): - - get_role(self) -> funcrole_t - - -ida_hexrays.minsn_t.get_split_size(): - - get_split_size(self) -> int - - -ida_hexrays.minsn_t.has_side_effects(): - - has_side_effects(self, include_ldx_and_divs=False) -> bool - - -ida_hexrays.minsn_t.iprops: - minsn_t_iprops_get(self) -> int - -ida_hexrays.minsn_t.is_after(): - - is_after(self, m) -> bool - - -ida_hexrays.minsn_t.is_alloca(): - - is_alloca(self) -> bool - - -ida_hexrays.minsn_t.is_assert(): - - is_assert(self) -> bool - - -ida_hexrays.minsn_t.is_between(): - - is_between(self, m1, m2) -> bool - - -ida_hexrays.minsn_t.is_bswap(): - - is_bswap(self) -> bool - - -ida_hexrays.minsn_t.is_cleaning_pop(): - - is_cleaning_pop(self) -> bool - - -ida_hexrays.minsn_t.is_combinable(): - - is_combinable(self) -> bool - - -ida_hexrays.minsn_t.is_combined(): - - is_combined(self) -> bool - - -ida_hexrays.minsn_t.is_extstx(): - - is_extstx(self) -> bool - - -ida_hexrays.minsn_t.is_farcall(): - - is_farcall(self) -> bool - - -ida_hexrays.minsn_t.is_fpinsn(): - - is_fpinsn(self) -> bool - - -ida_hexrays.minsn_t.is_helper(): - - is_helper(self, name) -> bool - - -ida_hexrays.minsn_t.is_ignlowsrc(): - - is_ignlowsrc(self) -> bool - - -ida_hexrays.minsn_t.is_inverted_jx(): - - is_inverted_jx(self) -> bool - - -ida_hexrays.minsn_t.is_like_move(): - - is_like_move(self) -> bool - - -ida_hexrays.minsn_t.is_memcpy(): - - is_memcpy(self) -> bool - - -ida_hexrays.minsn_t.is_memset(): - - is_memset(self) -> bool - - -ida_hexrays.minsn_t.is_mov(): - - is_mov(self) -> bool - - -ida_hexrays.minsn_t.is_multimov(): - - is_multimov(self) -> bool - - -ida_hexrays.minsn_t.is_noret_call(): - - is_noret_call(self, ignore_noret_icall=False) -> bool - - -ida_hexrays.minsn_t.is_optional(): - - is_optional(self) -> bool - - -ida_hexrays.minsn_t.is_persistent(): - - is_persistent(self) -> bool - - -ida_hexrays.minsn_t.is_propagatable(): - - is_propagatable(self) -> bool - - -ida_hexrays.minsn_t.is_readflags(): - - is_readflags(self) -> bool - - -ida_hexrays.minsn_t.is_tailcall(): - - is_tailcall(self) -> bool - - -ida_hexrays.minsn_t.is_unknown_call(): - - is_unknown_call(self) -> bool - - -ida_hexrays.minsn_t.is_wild_match(): - - is_wild_match(self) -> bool - - -ida_hexrays.minsn_t.l: - minsn_t_l_get(self) -> mop_t - -ida_hexrays.minsn_t.lexcompare(): - - lexcompare(self, ri) -> int - - -ida_hexrays.minsn_t.may_use_aliased_memory(): - - may_use_aliased_memory(self) -> bool - - -ida_hexrays.minsn_t.modifes_d(): - - modifes_d(self) -> bool - - -ida_hexrays.minsn_t.modifies_pair_mop(): - - modifies_pair_mop(self) -> bool - - -ida_hexrays.minsn_t.next: - minsn_t_next_get(self) -> minsn_t - -ida_hexrays.minsn_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.minsn_t.opcode: - minsn_t_opcode_get(self) -> mcode_t - -ida_hexrays.minsn_t.optimize_solo(): - - optimize_solo(self, optflags=0) -> int - - -ida_hexrays.minsn_t.optimize_subtree(): - - optimize_subtree(self, blk, top, parent, converted_call, optflags=0x0002) -> int - - -ida_hexrays.minsn_t.prev: - minsn_t_prev_get(self) -> minsn_t - -ida_hexrays.minsn_t.r: - minsn_t_r_get(self) -> mop_t - -ida_hexrays.minsn_t.set_assert(): - - set_assert(self) - - -ida_hexrays.minsn_t.set_cleaning_pop(): - - set_cleaning_pop(self) - - -ida_hexrays.minsn_t.set_combinable(): - - set_combinable(self) - - -ida_hexrays.minsn_t.set_extstx(): - - set_extstx(self) - - -ida_hexrays.minsn_t.set_farcall(): - - set_farcall(self) - - -ida_hexrays.minsn_t.set_fpinsn(): - - set_fpinsn(self) - - -ida_hexrays.minsn_t.set_ignlowsrc(): - - set_ignlowsrc(self) - - -ida_hexrays.minsn_t.set_inverted_jx(): - - set_inverted_jx(self) - - -ida_hexrays.minsn_t.set_multimov(): - - set_multimov(self) - - -ida_hexrays.minsn_t.set_noret_icall(): - - set_noret_icall(self) - - -ida_hexrays.minsn_t.set_optional(): - - set_optional(self) - - -ida_hexrays.minsn_t.set_persistent(): - - set_persistent(self) - - -ida_hexrays.minsn_t.set_split_size(): - - set_split_size(self, s) - - -ida_hexrays.minsn_t.set_tailcall(): - - set_tailcall(self) - - -ida_hexrays.minsn_t.set_wild_match(): - - set_wild_match(self) - - -ida_hexrays.minsn_t.setaddr(): - - setaddr(self, new_ea) - - -ida_hexrays.minsn_t.swap(): - - swap(self, m) - - -ida_hexrays.minsn_t.was_noret_icall(): - - was_noret_icall(self) -> bool - - -ida_hexrays.minsn_t.was_split(): - - was_split(self) -> bool - - -class ida_hexrays.minsn_visitor_t(): - - Proxy of C++ minsn_visitor_t class - - -ida_hexrays.minsn_visitor_t.blk: - op_parent_info_t_blk_get(self) -> mblock_t - -ida_hexrays.minsn_visitor_t.curins: - op_parent_info_t_curins_get(self) -> minsn_t - -ida_hexrays.minsn_visitor_t.mba: - op_parent_info_t_mba_get(self) -> mbl_array_t - -ida_hexrays.minsn_visitor_t.topins: - op_parent_info_t_topins_get(self) -> minsn_t - -ida_hexrays.minsn_visitor_t.visit_minsn(): - - visit_minsn(self) -> int - - -class ida_hexrays.mlist_mop_visitor_t(): - - Proxy of C++ mlist_mop_visitor_t class - - -ida_hexrays.mlist_mop_visitor_t.changed: - mlist_mop_visitor_t_changed_get(self) -> bool - -ida_hexrays.mlist_mop_visitor_t.curins: - mlist_mop_visitor_t_curins_get(self) -> minsn_t - -ida_hexrays.mlist_mop_visitor_t.list: - mlist_mop_visitor_t_list_get(self) -> mlist_t - -ida_hexrays.mlist_mop_visitor_t.topins: - mlist_mop_visitor_t_topins_get(self) -> minsn_t - -ida_hexrays.mlist_mop_visitor_t.visit_mop(): - - visit_mop(self, op) -> int - - -class ida_hexrays.mlist_t(): - - Proxy of C++ mlist_t class - - -ida_hexrays.mlist_t._print(): - - _print(self) - - -ida_hexrays.mlist_t.add(): - - add(self, r, size) -> bool - add(self, r) -> bool - add(self, ivl) -> bool - add(self, lst) -> bool - - -ida_hexrays.mlist_t.addmem(): - - addmem(self, ea, size) -> bool - - -ida_hexrays.mlist_t.clear(): - - clear(self) - - -ida_hexrays.mlist_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.mlist_t.count(): - - count(self) -> asize_t - - -ida_hexrays.mlist_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mlist_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mlist_t.has(): - - has(self, r) -> bool - - -ida_hexrays.mlist_t.has_all(): - - has_all(self, r, size) -> bool - - -ida_hexrays.mlist_t.has_any(): - - has_any(self, r, size) -> bool - - -ida_hexrays.mlist_t.has_common(): - - has_common(self, lst) -> bool - - -ida_hexrays.mlist_t.has_memory(): - - has_memory(self) -> bool - - -ida_hexrays.mlist_t.includes(): - - includes(self, lst) -> bool - - -ida_hexrays.mlist_t.intersect(): - - intersect(self, lst) -> bool - - -ida_hexrays.mlist_t.is_subset_of(): - - is_subset_of(self, lst) -> bool - - -ida_hexrays.mlist_t.mem: - mlist_t_mem_get(self) -> ivlset_t - -ida_hexrays.mlist_t.reg: - mlist_t_reg_get(self) -> rlist_t - -ida_hexrays.mlist_t.sub(): - - sub(self, r, size) -> bool - sub(self, ivl) -> bool - sub(self, lst) -> bool - - -ida_hexrays.mlist_t.swap(): - - swap(self, r) - - -class ida_hexrays.mnumber_t(): - - Proxy of C++ mnumber_t class - - -ida_hexrays.mnumber_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.mnumber_t.ea: - operand_locator_t_ea_get(self) -> ea_t - -ida_hexrays.mnumber_t.opnum: - operand_locator_t_opnum_get(self) -> int - -ida_hexrays.mnumber_t.org_value: - mnumber_t_org_value_get(self) -> uint64 - -ida_hexrays.mnumber_t.update_value(): - - update_value(self, val64) - - -ida_hexrays.mnumber_t.value: - mnumber_t_value_get(self) -> uint64 - -ida_hexrays.modify_user_lvars(): - - modify_user_lvars(entry_ea, mlv) -> bool - - - Modify saved local variable settings. - - @param entry_ea: function start address (C++: ea_t) - @param mlv: local variable modifier (C++: user_lvar_modifier_t &) - @return: true if modified variables - - -class ida_hexrays.mop_addr_t(): - - Proxy of C++ mop_addr_t class - - -ida_hexrays.mop_addr_t._print(): - - _print(self, shins_flags=0x04|0x02) - - -ida_hexrays.mop_addr_t.apply_ld_mcode(): - - apply_ld_mcode(self, mcode, ea, newsize) - - -ida_hexrays.mop_addr_t.apply_xds(): - - apply_xds(self, ea, newsize) - - -ida_hexrays.mop_addr_t.apply_xdu(): - - apply_xdu(self, ea, newsize) - - -ida_hexrays.mop_addr_t.assign(): - - assign(self, rop) -> mop_t - - -ida_hexrays.mop_addr_t.change_size(): - - change_size(self, nsize, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mop_addr_t.create_from_insn(): - - create_from_insn(self, m) - - -ida_hexrays.mop_addr_t.create_from_ivlset(): - - create_from_ivlset(self, mba, ivs, fullsize) -> bool - - -ida_hexrays.mop_addr_t.create_from_mlist(): - - create_from_mlist(self, mba, lst, fullsize) -> bool - - -ida_hexrays.mop_addr_t.create_from_scattered_vdloc(): - - create_from_scattered_vdloc(self, mba, name, type, loc) - - -ida_hexrays.mop_addr_t.create_from_vdloc(): - - create_from_vdloc(self, mba, loc, _size) - - -ida_hexrays.mop_addr_t.double_size(): - - double_size(self, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mop_addr_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mop_addr_t.equal_mops(): - - equal_mops(self, rop, eqflags) -> bool - - -ida_hexrays.mop_addr_t.erase(): - - erase(self) - - -ida_hexrays.mop_addr_t.erase_but_keep_size(): - - erase_but_keep_size(self) - - -ida_hexrays.mop_addr_t.for_all_ops(): - - for_all_ops(self, mv, type=None, is_target=False) -> int - - -ida_hexrays.mop_addr_t.for_all_scattered_submops(): - - for_all_scattered_submops(self, sv) -> int - - -ida_hexrays.mop_addr_t.get_insn(): - - get_insn(self, code) -> minsn_t - get_insn(self, code) -> minsn_t - - -ida_hexrays.mop_addr_t.get_stkoff(): - - get_stkoff(self, p_off) -> bool - - -ida_hexrays.mop_addr_t.get_stkvar(): - - get_stkvar(self, p_off) -> member_t * - - -ida_hexrays.mop_addr_t.has_side_effects(): - - has_side_effects(self, include_ldx_and_divs=False) -> bool - - -ida_hexrays.mop_addr_t.insize: - mop_addr_t_insize_get(self) -> int - -ida_hexrays.mop_addr_t.is01(): - - is01(self) -> bool - - -ida_hexrays.mop_addr_t.is_bit_reg(): - - is_bit_reg(self, reg) -> bool - is_bit_reg(self) -> bool - - -ida_hexrays.mop_addr_t.is_cc(): - - is_cc(self) -> bool - - -ida_hexrays.mop_addr_t.is_ccflags(): - - is_ccflags(self) -> bool - - -ida_hexrays.mop_addr_t.is_constant(): - - is_constant(self, is_signed=True) -> bool - - -ida_hexrays.mop_addr_t.is_equal_to(): - - is_equal_to(self, n, is_signed=True) -> bool - - -ida_hexrays.mop_addr_t.is_extended_from(): - - is_extended_from(self, nbytes, is_signed) -> bool - - -ida_hexrays.mop_addr_t.is_glbaddr(): - - is_glbaddr(self) -> bool - is_glbaddr(self, ea) -> bool - - -ida_hexrays.mop_addr_t.is_impptr_done(): - - is_impptr_done(self) -> bool - - -ida_hexrays.mop_addr_t.is_insn(): - - is_insn(self) -> bool - is_insn(self, code) -> bool - - -ida_hexrays.mop_addr_t.is_kreg(): - - is_kreg(self) -> bool - - -ida_hexrays.mop_addr_t.is_mob(): - - is_mob(self, serial) -> bool - - -ida_hexrays.mop_addr_t.is_negative_constant(): - - is_negative_constant(self) -> bool - - -ida_hexrays.mop_addr_t.is_one(): - - is_one(self) -> bool - - -ida_hexrays.mop_addr_t.is_positive_constant(): - - is_positive_constant(self) -> bool - - -ida_hexrays.mop_addr_t.is_reg(): - - is_reg(self) -> bool - is_reg(self, _r) -> bool - is_reg(self, _r, _size) -> bool - - -ida_hexrays.mop_addr_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.mop_addr_t.is_sign_extended_from(): - - is_sign_extended_from(self, nbytes) -> bool - - -ida_hexrays.mop_addr_t.is_stkaddr(): - - is_stkaddr(self) -> bool - - -ida_hexrays.mop_addr_t.is_udt(): - - is_udt(self) -> bool - - -ida_hexrays.mop_addr_t.is_undef_val(): - - is_undef_val(self) -> bool - - -ida_hexrays.mop_addr_t.is_zero(): - - is_zero(self) -> bool - - -ida_hexrays.mop_addr_t.is_zero_extended_from(): - - is_zero_extended_from(self, nbytes) -> bool - - -ida_hexrays.mop_addr_t.lexcompare(): - - lexcompare(self, ra) -> int - - -ida_hexrays.mop_addr_t.make_blkref(): - - make_blkref(self, blknum) - - -ida_hexrays.mop_addr_t.make_first_half(): - - make_first_half(self, width) -> bool - - -ida_hexrays.mop_addr_t.make_fpnum(): - - make_fpnum(self, bytes, _size) -> bool - - -ida_hexrays.mop_addr_t.make_gvar(): - - make_gvar(self, ea) - - -ida_hexrays.mop_addr_t.make_helper(): - - make_helper(self, name) - - -ida_hexrays.mop_addr_t.make_high_half(): - - make_high_half(self, width) -> bool - - -ida_hexrays.mop_addr_t.make_insn(): - - make_insn(self, ins) - - -ida_hexrays.mop_addr_t.make_low_half(): - - make_low_half(self, width) -> bool - - -ida_hexrays.mop_addr_t.make_number(): - - make_number(self, _value, _size, _ea=BADADDR, opnum=0) - - -ida_hexrays.mop_addr_t.make_reg(): - - make_reg(self, reg) - make_reg(self, reg, _size) - - -ida_hexrays.mop_addr_t.make_reg_pair(): - - make_reg_pair(self, loreg, hireg, halfsize) - - -ida_hexrays.mop_addr_t.make_second_half(): - - make_second_half(self, width) -> bool - - -ida_hexrays.mop_addr_t.may_use_aliased_memory(): - - may_use_aliased_memory(self) -> bool - - -ida_hexrays.mop_addr_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.mop_addr_t.oprops: - mop_t_oprops_get(self) -> uint8 - -ida_hexrays.mop_addr_t.outsize: - mop_addr_t_outsize_get(self) -> int - -ida_hexrays.mop_addr_t.preserve_side_effects(): - - preserve_side_effects(self, blk, top, moved_calls=None) -> bool - - -ida_hexrays.mop_addr_t.probably_floating(): - - probably_floating(self) -> bool - - -ida_hexrays.mop_addr_t.set_impptr_done(): - - set_impptr_done(self) - - -ida_hexrays.mop_addr_t.set_udt(): - - set_udt(self) - - -ida_hexrays.mop_addr_t.set_undef_val(): - - set_undef_val(self) - - -ida_hexrays.mop_addr_t.shift_mop(): - - shift_mop(self, offset) -> bool - - -ida_hexrays.mop_addr_t.signed_value(): - - signed_value(self) -> int64 - - -ida_hexrays.mop_addr_t.size: - mop_t_size_get(self) -> int - -ida_hexrays.mop_addr_t.swap(): - - swap(self, rop) - - -ida_hexrays.mop_addr_t.t: - - _get_t(self) -> mopt_t - - -ida_hexrays.mop_addr_t.unsigned_value(): - - unsigned_value(self) -> uint64 - - -ida_hexrays.mop_addr_t.valnum: - mop_t_valnum_get(self) -> uint16 - -ida_hexrays.mop_addr_t.value(): - - value(self, is_signed) -> uint64 - - -ida_hexrays.mop_addr_t.zero(): - - zero(self) - - -class ida_hexrays.mop_pair_t(): - - Proxy of C++ mop_pair_t class - - -ida_hexrays.mop_pair_t.hop: - mop_pair_t_hop_get(self) -> mop_t - -ida_hexrays.mop_pair_t.lop: - mop_pair_t_lop_get(self) -> mop_t - -class ida_hexrays.mop_t(): - - Proxy of C++ mop_t class - - -ida_hexrays.mop_t._print(): - - _print(self, shins_flags=0x04|0x02) - - -ida_hexrays.mop_t.apply_ld_mcode(): - - apply_ld_mcode(self, mcode, ea, newsize) - - -ida_hexrays.mop_t.apply_xds(): - - apply_xds(self, ea, newsize) - - -ida_hexrays.mop_t.apply_xdu(): - - apply_xdu(self, ea, newsize) - - -ida_hexrays.mop_t.assign(): - - assign(self, rop) -> mop_t - - -ida_hexrays.mop_t.change_size(): - - change_size(self, nsize, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mop_t.create_from_insn(): - - create_from_insn(self, m) - - -ida_hexrays.mop_t.create_from_ivlset(): - - create_from_ivlset(self, mba, ivs, fullsize) -> bool - - -ida_hexrays.mop_t.create_from_mlist(): - - create_from_mlist(self, mba, lst, fullsize) -> bool - - -ida_hexrays.mop_t.create_from_scattered_vdloc(): - - create_from_scattered_vdloc(self, mba, name, type, loc) - - -ida_hexrays.mop_t.create_from_vdloc(): - - create_from_vdloc(self, mba, loc, _size) - - -ida_hexrays.mop_t.double_size(): - - double_size(self, sideff=WITH_SIDEFF) -> bool - - -ida_hexrays.mop_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.mop_t.equal_mops(): - - equal_mops(self, rop, eqflags) -> bool - - -ida_hexrays.mop_t.erase(): - - erase(self) - - -ida_hexrays.mop_t.erase_but_keep_size(): - - erase_but_keep_size(self) - - -ida_hexrays.mop_t.for_all_ops(): - - for_all_ops(self, mv, type=None, is_target=False) -> int - - -ida_hexrays.mop_t.for_all_scattered_submops(): - - for_all_scattered_submops(self, sv) -> int - - -ida_hexrays.mop_t.get_insn(): - - get_insn(self, code) -> minsn_t - get_insn(self, code) -> minsn_t - - -ida_hexrays.mop_t.get_stkoff(): - - get_stkoff(self, p_off) -> bool - - -ida_hexrays.mop_t.get_stkvar(): - - get_stkvar(self, p_off) -> member_t * - - -ida_hexrays.mop_t.has_side_effects(): - - has_side_effects(self, include_ldx_and_divs=False) -> bool - - -ida_hexrays.mop_t.is01(): - - is01(self) -> bool - - -ida_hexrays.mop_t.is_bit_reg(): - - is_bit_reg(self, reg) -> bool - is_bit_reg(self) -> bool - - -ida_hexrays.mop_t.is_cc(): - - is_cc(self) -> bool - - -ida_hexrays.mop_t.is_ccflags(): - - is_ccflags(self) -> bool - - -ida_hexrays.mop_t.is_constant(): - - is_constant(self, is_signed=True) -> bool - - -ida_hexrays.mop_t.is_equal_to(): - - is_equal_to(self, n, is_signed=True) -> bool - - -ida_hexrays.mop_t.is_extended_from(): - - is_extended_from(self, nbytes, is_signed) -> bool - - -ida_hexrays.mop_t.is_glbaddr(): - - is_glbaddr(self) -> bool - is_glbaddr(self, ea) -> bool - - -ida_hexrays.mop_t.is_impptr_done(): - - is_impptr_done(self) -> bool - - -ida_hexrays.mop_t.is_insn(): - - is_insn(self) -> bool - is_insn(self, code) -> bool - - -ida_hexrays.mop_t.is_kreg(): - - is_kreg(self) -> bool - - -ida_hexrays.mop_t.is_mob(): - - is_mob(self, serial) -> bool - - -ida_hexrays.mop_t.is_negative_constant(): - - is_negative_constant(self) -> bool - - -ida_hexrays.mop_t.is_one(): - - is_one(self) -> bool - - -ida_hexrays.mop_t.is_positive_constant(): - - is_positive_constant(self) -> bool - - -ida_hexrays.mop_t.is_reg(): - - is_reg(self) -> bool - is_reg(self, _r) -> bool - is_reg(self, _r, _size) -> bool - - -ida_hexrays.mop_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.mop_t.is_sign_extended_from(): - - is_sign_extended_from(self, nbytes) -> bool - - -ida_hexrays.mop_t.is_stkaddr(): - - is_stkaddr(self) -> bool - - -ida_hexrays.mop_t.is_udt(): - - is_udt(self) -> bool - - -ida_hexrays.mop_t.is_undef_val(): - - is_undef_val(self) -> bool - - -ida_hexrays.mop_t.is_zero(): - - is_zero(self) -> bool - - -ida_hexrays.mop_t.is_zero_extended_from(): - - is_zero_extended_from(self, nbytes) -> bool - - -ida_hexrays.mop_t.lexcompare(): - - lexcompare(self, rop) -> int - - -ida_hexrays.mop_t.make_blkref(): - - make_blkref(self, blknum) - - -ida_hexrays.mop_t.make_first_half(): - - make_first_half(self, width) -> bool - - -ida_hexrays.mop_t.make_fpnum(): - - make_fpnum(self, bytes, _size) -> bool - - -ida_hexrays.mop_t.make_gvar(): - - make_gvar(self, ea) - - -ida_hexrays.mop_t.make_helper(): - - make_helper(self, name) - - -ida_hexrays.mop_t.make_high_half(): - - make_high_half(self, width) -> bool - - -ida_hexrays.mop_t.make_insn(): - - make_insn(self, ins) - - -ida_hexrays.mop_t.make_low_half(): - - make_low_half(self, width) -> bool - - -ida_hexrays.mop_t.make_number(): - - make_number(self, _value, _size, _ea=BADADDR, opnum=0) - - -ida_hexrays.mop_t.make_reg(): - - make_reg(self, reg) - make_reg(self, reg, _size) - - -ida_hexrays.mop_t.make_reg_pair(): - - make_reg_pair(self, loreg, hireg, halfsize) - - -ida_hexrays.mop_t.make_second_half(): - - make_second_half(self, width) -> bool - - -ida_hexrays.mop_t.may_use_aliased_memory(): - - may_use_aliased_memory(self) -> bool - - -ida_hexrays.mop_t.obj_id: - - _obj_id(self) -> PyObject * - - -ida_hexrays.mop_t.oprops: - mop_t_oprops_get(self) -> uint8 - -ida_hexrays.mop_t.preserve_side_effects(): - - preserve_side_effects(self, blk, top, moved_calls=None) -> bool - - -ida_hexrays.mop_t.probably_floating(): - - probably_floating(self) -> bool - - -ida_hexrays.mop_t.set_impptr_done(): - - set_impptr_done(self) - - -ida_hexrays.mop_t.set_udt(): - - set_udt(self) - - -ida_hexrays.mop_t.set_undef_val(): - - set_undef_val(self) - - -ida_hexrays.mop_t.shift_mop(): - - shift_mop(self, offset) -> bool - - -ida_hexrays.mop_t.signed_value(): - - signed_value(self) -> int64 - - -ida_hexrays.mop_t.size: - mop_t_size_get(self) -> int - -ida_hexrays.mop_t.swap(): - - swap(self, rop) - - -ida_hexrays.mop_t.t: - - _get_t(self) -> mopt_t - - -ida_hexrays.mop_t.unsigned_value(): - - unsigned_value(self) -> uint64 - - -ida_hexrays.mop_t.valnum: - mop_t_valnum_get(self) -> uint16 - -ida_hexrays.mop_t.value(): - - value(self, is_signed) -> uint64 - - -ida_hexrays.mop_t.zero(): - - zero(self) - - -class ida_hexrays.mop_visitor_t(): - - Proxy of C++ mop_visitor_t class - - -ida_hexrays.mop_visitor_t.blk: - op_parent_info_t_blk_get(self) -> mblock_t - -ida_hexrays.mop_visitor_t.curins: - op_parent_info_t_curins_get(self) -> minsn_t - -ida_hexrays.mop_visitor_t.mba: - op_parent_info_t_mba_get(self) -> mbl_array_t - -ida_hexrays.mop_visitor_t.prune: - mop_visitor_t_prune_get(self) -> bool - -ida_hexrays.mop_visitor_t.topins: - op_parent_info_t_topins_get(self) -> minsn_t - -ida_hexrays.mop_visitor_t.visit_mop(): - - visit_mop(self, op, type, is_target) -> int - - -class ida_hexrays.mopvec_t(): - - Proxy of C++ qvector<(mop_t)> class - - -ida_hexrays.mopvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.mopvec_t.at(): - - at(self, _idx) -> mop_t - - -ida_hexrays.mopvec_t.begin(): - - begin(self) -> mop_t - begin(self) -> mop_t - - -ida_hexrays.mopvec_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.mopvec_t.clear(): - - clear(self) - - -ida_hexrays.mopvec_t.empty(): - - empty(self) -> bool - - -ida_hexrays.mopvec_t.end(): - - end(self) -> mop_t - end(self) -> mop_t - - -ida_hexrays.mopvec_t.erase(): - - erase(self, it) -> mop_t - erase(self, first, last) -> mop_t - - -ida_hexrays.mopvec_t.extract(): - - extract(self) -> mop_t - - -ida_hexrays.mopvec_t.find(): - - find(self, x) -> mop_t - find(self, x) -> mop_t - - -ida_hexrays.mopvec_t.grow(): - - grow(self, x=mop_t()) - - -ida_hexrays.mopvec_t.has(): - - has(self, x) -> bool - - -ida_hexrays.mopvec_t.inject(): - - inject(self, s, len) - - -ida_hexrays.mopvec_t.insert(): - - insert(self, it, x) -> mop_t - - -ida_hexrays.mopvec_t.pop_back(): - - pop_back(self) - - -ida_hexrays.mopvec_t.push_back(): - - push_back(self, x) - push_back(self) -> mop_t - - -ida_hexrays.mopvec_t.qclear(): - - qclear(self) - - -ida_hexrays.mopvec_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.mopvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.mopvec_t.size(): - - size(self) -> size_t - - -ida_hexrays.mopvec_t.swap(): - - swap(self, r) - - -ida_hexrays.mopvec_t.truncate(): - - truncate(self) - - -ida_hexrays.mreg2reg(): - - mreg2reg(reg, width) -> int - - - Map a microregister to processor register. - - @param reg: microregister number (C++: mreg_t) - @param width: size of microregister in bytes (C++: int) - @return: processor register id or -1 - - -ida_hexrays.must_mcode_close_block(): - - 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: instruction opcode (C++: mcode_t) - @param including_calls: 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 because - before MMAT_CALLS they are closing opcodes. - Afteer MMAT_CALLS that are not considered as - closing opcodes. (C++: bool) - - -ida_hexrays.negate_mcode_relation(): - - negate_mcode_relation(code) -> mcode_t - - -ida_hexrays.negated_relation(): - - negated_relation(op) -> ctype_t - - - Negate a comparison operator. For example, cot_sge becomes cot_slt. - - - @param op (C++: ctype_t) - - -class ida_hexrays.number_format_t(): - - Proxy of C++ number_format_t class - - -ida_hexrays.number_format_t.flags: - number_format_t_flags_get(self) -> flags_t - -ida_hexrays.number_format_t.get_radix(): - - get_radix(self) -> int - - -ida_hexrays.number_format_t.is_char(): - - is_char(self) -> bool - - -ida_hexrays.number_format_t.is_dec(): - - is_dec(self) -> bool - - -ida_hexrays.number_format_t.is_enum(): - - is_enum(self) -> bool - - -ida_hexrays.number_format_t.is_fixed(): - - is_fixed(self) -> bool - - -ida_hexrays.number_format_t.is_hex(): - - is_hex(self) -> bool - - -ida_hexrays.number_format_t.is_numop(): - - is_numop(self) -> bool - - -ida_hexrays.number_format_t.is_oct(): - - is_oct(self) -> bool - - -ida_hexrays.number_format_t.is_stroff(): - - is_stroff(self) -> bool - - -ida_hexrays.number_format_t.needs_to_be_inverted(): - - needs_to_be_inverted(self) -> bool - - -ida_hexrays.number_format_t.opnum: - number_format_t_opnum_get(self) -> char - -ida_hexrays.number_format_t.org_nbytes: - number_format_t_org_nbytes_get(self) -> char - -ida_hexrays.number_format_t.props: - number_format_t_props_get(self) -> char - -ida_hexrays.number_format_t.serial: - number_format_t_serial_get(self) -> uchar - -ida_hexrays.number_format_t.type_name: - number_format_t_type_name_get(self) -> qstring * - -class ida_hexrays.op_parent_info_t(): - - Proxy of C++ op_parent_info_t class - - -ida_hexrays.op_parent_info_t.blk: - op_parent_info_t_blk_get(self) -> mblock_t - -ida_hexrays.op_parent_info_t.curins: - op_parent_info_t_curins_get(self) -> minsn_t - -ida_hexrays.op_parent_info_t.mba: - op_parent_info_t_mba_get(self) -> mbl_array_t - -ida_hexrays.op_parent_info_t.topins: - op_parent_info_t_topins_get(self) -> minsn_t - -ida_hexrays.op_uses_x(): - - op_uses_x(op) -> bool - - - Does operator use the 'x' field of 'cexpr_t' ? - - - @param op (C++: ctype_t) - - -ida_hexrays.op_uses_y(): - - op_uses_y(op) -> bool - - - Does operator use the 'y' field of 'cexpr_t' ? - - - @param op (C++: ctype_t) - - -ida_hexrays.op_uses_z(): - - op_uses_z(op) -> bool - - - Does operator use the 'z' field of 'cexpr_t' ? - - - @param op (C++: ctype_t) - - -ida_hexrays.open_pseudocode(): - - open_pseudocode(ea, new_window) -> vdui_t - - - Open pseudocode window. The specified function is decompiled and the - pseudocode window is opened. - - @param ea: function to decompile (C++: ea_t) - @param new_window: 0:reuse existing window; 1:open new window; -1: - reuse existing window if the current view is - pseudocode (C++: int) - @return: false if failed - - -class ida_hexrays.operand_locator_t(): - - Proxy of C++ operand_locator_t class - - -ida_hexrays.operand_locator_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.operand_locator_t.ea: - operand_locator_t_ea_get(self) -> ea_t - -ida_hexrays.operand_locator_t.opnum: - operand_locator_t_opnum_get(self) -> int - -class ida_hexrays.operator_info_t(): - - Proxy of C++ operator_info_t class - - -ida_hexrays.operator_info_t.fixtype: - operator_info_t_fixtype_get(self) -> uchar - -ida_hexrays.operator_info_t.flags: - operator_info_t_flags_get(self) -> uchar - -ida_hexrays.operator_info_t.precedence: - operator_info_t_precedence_get(self) -> uchar - -ida_hexrays.operator_info_t.text: - operator_info_t_text_get(self) -> char const * - -ida_hexrays.operator_info_t.valency: - operator_info_t_valency_get(self) -> uchar - -class ida_hexrays.optblock_t(): - - Proxy of C++ optblock_t class - - -ida_hexrays.optblock_t.func(): - - func(self, blk) -> int - - -ida_hexrays.optblock_t.install(): - - install(self) - - -ida_hexrays.optblock_t.remove(): - - remove(self) -> bool - - -class ida_hexrays.optinsn_t(): - - Proxy of C++ optinsn_t class - - -ida_hexrays.optinsn_t.func(): - - func(self, blk, ins) -> int - - -ida_hexrays.optinsn_t.install(): - - install(self) - - -ida_hexrays.optinsn_t.remove(): - - remove(self) -> bool - - -ida_hexrays.parse_user_call(): - - parse_user_call(udc, decl, silent) -> bool - - - Convert function type declaration into internal structure - - @param udc: - pointer to output structure (C++: udcall_t *) - @param decl: - function type declaration (C++: const char *) - @param silent: - if TRUE: do not show warning in case of incorrect - type (C++: bool) - @return: success - - -ida_hexrays.partial_type_num(): - - partial_type_num(type) -> int - - - Calculate number of partial subtypes. - - @param type (C++: const tinfo_t &) - @return: number of partial subtypes. The bigger is this number, the - uglier is the type. - - -ida_hexrays.print_vdloc(): - - print_vdloc(loc, nbytes) - - - Print vdloc. Since vdloc does not always carry the size info, we pass - it as NBYTES.. - - @param loc (C++: const vdloc_t &) - @param nbytes (C++: int) - - -class ida_hexrays.qlist_cinsn_t(): - - Proxy of C++ qlist<(cinsn_t)> class - - -ida_hexrays.qlist_cinsn_t.back(): - - back(self) -> cinsn_t - back(self) -> cinsn_t - - -ida_hexrays.qlist_cinsn_t.begin(): - - begin(self) -> qlist_cinsn_t_iterator - - -ida_hexrays.qlist_cinsn_t.clear(): - - clear(self) - - -ida_hexrays.qlist_cinsn_t.empty(): - - empty(self) -> bool - - -ida_hexrays.qlist_cinsn_t.end(): - - end(self) -> qlist_cinsn_t_iterator - - -ida_hexrays.qlist_cinsn_t.erase(): - - erase(self, p) -> qlist< cinsn_t >::iterator - erase(self, p1, p2) - erase(self, p) - - -ida_hexrays.qlist_cinsn_t.front(): - - front(self) -> cinsn_t - front(self) -> cinsn_t - - -ida_hexrays.qlist_cinsn_t.insert(): - - insert(self, p, x) -> qlist< cinsn_t >::iterator - insert(self, p) -> qlist< cinsn_t >::iterator - insert(self, p, x) -> qlist_cinsn_t_iterator - - -ida_hexrays.qlist_cinsn_t.pop_back(): - - pop_back(self) - - -ida_hexrays.qlist_cinsn_t.pop_front(): - - pop_front(self) - - -ida_hexrays.qlist_cinsn_t.push_back(): - - push_back(self, x) - push_back(self) -> cinsn_t - - -ida_hexrays.qlist_cinsn_t.push_front(): - - push_front(self, x) - - -ida_hexrays.qlist_cinsn_t.rbegin(): - - rbegin(self) -> qlist< cinsn_t >::reverse_iterator - rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator - - -ida_hexrays.qlist_cinsn_t.rend(): - - rend(self) -> qlist< cinsn_t >::reverse_iterator - rend(self) -> qlist< cinsn_t >::const_reverse_iterator - - -ida_hexrays.qlist_cinsn_t.size(): - - size(self) -> size_t - - -ida_hexrays.qlist_cinsn_t.swap(): - - swap(self, x) - - -class ida_hexrays.qlist_cinsn_t_iterator(): - - Proxy of C++ qlist_cinsn_t_iterator class - - -ida_hexrays.qlist_cinsn_t_iterator.cur: - qlist_cinsn_t_iterator_cur_get(self) -> cinsn_t - -ida_hexrays.qlist_cinsn_t_iterator.next(): - - next(self) - - -class ida_hexrays.qstring_printer_t(): - - Proxy of C++ qstring_printer_t class - - -ida_hexrays.qstring_printer_t._print(): - - _print(self, indent, format) -> int - - -ida_hexrays.qstring_printer_t.func: - vc_printer_t_func_get(self) -> cfunc_t - -ida_hexrays.qstring_printer_t.get_s(): - - get_s(self) -> qstring - - -ida_hexrays.qstring_printer_t.hdrlines: - vd_printer_t_hdrlines_get(self) -> int - -ida_hexrays.qstring_printer_t.lastchar: - vc_printer_t_lastchar_get(self) -> char - -ida_hexrays.qstring_printer_t.oneliner(): - - oneliner(self) -> bool - - -ida_hexrays.qstring_printer_t.tmpbuf: - vd_printer_t_tmpbuf_get(self) -> qstring * - -ida_hexrays.qstring_printer_t.with_tags: - qstring_printer_t_with_tags_get(self) -> bool - -ida_hexrays.qswap(): - - qswap(a, b) - - -class ida_hexrays.qvector_carg_t(): - - Proxy of C++ qvector<(carg_t)> class - - -ida_hexrays.qvector_carg_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.qvector_carg_t.append(): - - push_back(self, x) - push_back(self) -> carg_t - - -ida_hexrays.qvector_carg_t.at(): - - __getitem__(self, i) -> carg_t - - -ida_hexrays.qvector_carg_t.begin(): - - begin(self) -> carg_t - begin(self) -> carg_t - - -ida_hexrays.qvector_carg_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.qvector_carg_t.clear(): - - clear(self) - - -ida_hexrays.qvector_carg_t.empty(): - - empty(self) -> bool - - -ida_hexrays.qvector_carg_t.end(): - - end(self) -> carg_t - end(self) -> carg_t - - -ida_hexrays.qvector_carg_t.erase(): - - erase(self, it) -> carg_t - erase(self, first, last) -> carg_t - - -ida_hexrays.qvector_carg_t.extract(): - - extract(self) -> carg_t - - -ida_hexrays.qvector_carg_t.find(): - - find(self, x) -> carg_t - find(self, x) -> carg_t - - -ida_hexrays.qvector_carg_t.grow(): - - grow(self, x=carg_t()) - - -ida_hexrays.qvector_carg_t.has(): - - has(self, x) -> bool - - -ida_hexrays.qvector_carg_t.inject(): - - inject(self, s, len) - - -ida_hexrays.qvector_carg_t.insert(): - - insert(self, it, x) -> carg_t - - -ida_hexrays.qvector_carg_t.pop_back(): - - pop_back(self) - - -ida_hexrays.qvector_carg_t.push_back(): - - push_back(self, x) - push_back(self) -> carg_t - - -ida_hexrays.qvector_carg_t.qclear(): - - qclear(self) - - -ida_hexrays.qvector_carg_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.qvector_carg_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.qvector_carg_t.size(): - - size(self) -> size_t - - -ida_hexrays.qvector_carg_t.swap(): - - swap(self, r) - - -ida_hexrays.qvector_carg_t.truncate(): - - truncate(self) - - -class ida_hexrays.qvector_ccase_t(): - - Proxy of C++ qvector<(ccase_t)> class - - -ida_hexrays.qvector_ccase_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.qvector_ccase_t.append(): - - push_back(self, x) - push_back(self) -> ccase_t - - -ida_hexrays.qvector_ccase_t.at(): - - __getitem__(self, i) -> ccase_t - - -ida_hexrays.qvector_ccase_t.begin(): - - begin(self) -> ccase_t - begin(self) -> ccase_t - - -ida_hexrays.qvector_ccase_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.qvector_ccase_t.clear(): - - clear(self) - - -ida_hexrays.qvector_ccase_t.empty(): - - empty(self) -> bool - - -ida_hexrays.qvector_ccase_t.end(): - - end(self) -> ccase_t - end(self) -> ccase_t - - -ida_hexrays.qvector_ccase_t.erase(): - - erase(self, it) -> ccase_t - erase(self, first, last) -> ccase_t - - -ida_hexrays.qvector_ccase_t.extract(): - - extract(self) -> ccase_t - - -ida_hexrays.qvector_ccase_t.find(): - - find(self, x) -> ccase_t - find(self, x) -> ccase_t - - -ida_hexrays.qvector_ccase_t.grow(): - - grow(self, x=ccase_t()) - - -ida_hexrays.qvector_ccase_t.has(): - - has(self, x) -> bool - - -ida_hexrays.qvector_ccase_t.inject(): - - inject(self, s, len) - - -ida_hexrays.qvector_ccase_t.insert(): - - insert(self, it, x) -> ccase_t - - -ida_hexrays.qvector_ccase_t.pop_back(): - - pop_back(self) - - -ida_hexrays.qvector_ccase_t.push_back(): - - push_back(self, x) - push_back(self) -> ccase_t - - -ida_hexrays.qvector_ccase_t.qclear(): - - qclear(self) - - -ida_hexrays.qvector_ccase_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.qvector_ccase_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.qvector_ccase_t.size(): - - size(self) -> size_t - - -ida_hexrays.qvector_ccase_t.swap(): - - swap(self, r) - - -ida_hexrays.qvector_ccase_t.truncate(): - - truncate(self) - - -class ida_hexrays.qvector_history_t(): - - Proxy of C++ qvector<(history_item_t)> class - - -ida_hexrays.qvector_history_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.qvector_history_t.at(): - - at(self, _idx) -> history_item_t - - -ida_hexrays.qvector_history_t.begin(): - - begin(self) -> history_item_t - begin(self) -> history_item_t - - -ida_hexrays.qvector_history_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.qvector_history_t.clear(): - - clear(self) - - -ida_hexrays.qvector_history_t.empty(): - - empty(self) -> bool - - -ida_hexrays.qvector_history_t.end(): - - end(self) -> history_item_t - end(self) -> history_item_t - - -ida_hexrays.qvector_history_t.erase(): - - erase(self, it) -> history_item_t - erase(self, first, last) -> history_item_t - - -ida_hexrays.qvector_history_t.extract(): - - extract(self) -> history_item_t - - -ida_hexrays.qvector_history_t.find(): - - find(self, x) -> history_item_t - find(self, x) -> history_item_t - - -ida_hexrays.qvector_history_t.grow(): - - grow(self, x=history_item_t()) - - -ida_hexrays.qvector_history_t.has(): - - has(self, x) -> bool - - -ida_hexrays.qvector_history_t.inject(): - - inject(self, s, len) - - -ida_hexrays.qvector_history_t.insert(): - - insert(self, it, x) -> history_item_t - - -ida_hexrays.qvector_history_t.pop_back(): - - pop_back(self) - - -ida_hexrays.qvector_history_t.push_back(): - - push_back(self, x) - push_back(self) -> history_item_t - - -ida_hexrays.qvector_history_t.qclear(): - - qclear(self) - - -ida_hexrays.qvector_history_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.qvector_history_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.qvector_history_t.size(): - - size(self) -> size_t - - -ida_hexrays.qvector_history_t.swap(): - - swap(self, r) - - -ida_hexrays.qvector_history_t.truncate(): - - truncate(self) - - -class ida_hexrays.qvector_lvar_t(): - - Proxy of C++ qvector<(lvar_t)> class - - -ida_hexrays.qvector_lvar_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.qvector_lvar_t.append(): - - push_back(self, x) - push_back(self) -> lvar_t - - -ida_hexrays.qvector_lvar_t.at(): - - __getitem__(self, i) -> lvar_t - - -ida_hexrays.qvector_lvar_t.begin(): - - begin(self) -> lvar_t - begin(self) -> lvar_t - - -ida_hexrays.qvector_lvar_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.qvector_lvar_t.clear(): - - clear(self) - - -ida_hexrays.qvector_lvar_t.empty(): - - empty(self) -> bool - - -ida_hexrays.qvector_lvar_t.end(): - - end(self) -> lvar_t - end(self) -> lvar_t - - -ida_hexrays.qvector_lvar_t.erase(): - - erase(self, it) -> lvar_t - erase(self, first, last) -> lvar_t - - -ida_hexrays.qvector_lvar_t.extract(): - - extract(self) -> lvar_t - - -ida_hexrays.qvector_lvar_t.find(): - - find(self, x) -> lvar_t - find(self, x) -> lvar_t - - -ida_hexrays.qvector_lvar_t.grow(): - - grow(self, x=lvar_t()) - - -ida_hexrays.qvector_lvar_t.has(): - - has(self, x) -> bool - - -ida_hexrays.qvector_lvar_t.inject(): - - inject(self, s, len) - - -ida_hexrays.qvector_lvar_t.insert(): - - insert(self, it, x) -> lvar_t - - -ida_hexrays.qvector_lvar_t.pop_back(): - - pop_back(self) - - -ida_hexrays.qvector_lvar_t.push_back(): - - push_back(self, x) - push_back(self) -> lvar_t - - -ida_hexrays.qvector_lvar_t.qclear(): - - qclear(self) - - -ida_hexrays.qvector_lvar_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.qvector_lvar_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.qvector_lvar_t.size(): - - size(self) -> size_t - - -ida_hexrays.qvector_lvar_t.swap(): - - swap(self, r) - - -ida_hexrays.qvector_lvar_t.truncate(): - - truncate(self) - - -ida_hexrays.reg2mreg(): - - reg2mreg(reg) -> mreg_t - - - Map a processor register to microregister. - - @param reg: processor register number (C++: int) - @return: microregister register id or mr_none - - -ida_hexrays.remitem(): - - remitem(e) - - -ida_hexrays.remove_hexrays_callback(): - Deprecated. Please use Hexrays_Hooks instead - -ida_hexrays.restore_user_cmts(): - - restore_user_cmts(func_ea) -> user_cmts_t - - - Restore user defined comments from the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @return: collection of user defined comments. The returned object must - be deleted by the caller using delete_user_cmts() - - -ida_hexrays.restore_user_defined_calls(): - - restore_user_defined_calls(udcalls, func_ea) -> bool - - - Restore user defined function calls from the database. - - @param udcalls: ptr to output buffer (C++: udcall_map_t *) - @param func_ea: entry address of the function (C++: ea_t) - @return: success - - -ida_hexrays.restore_user_iflags(): - - restore_user_iflags(func_ea) -> user_iflags_t - - - Restore user defined citem iflags from the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @return: collection of user defined iflags. The returned object must - be deleted by the caller using delete_user_iflags() - - -ida_hexrays.restore_user_labels(): - - restore_user_labels(func_ea) -> user_labels_t - - - Restore user defined labels from the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @return: collection of user defined labels. The returned object must - be deleted by the caller using delete_user_labels() - - -ida_hexrays.restore_user_lvar_settings(): - - restore_user_lvar_settings(lvinf, func_ea) -> bool - - - Restore user defined local variable settings in the database. - - @param lvinf: ptr to output buffer (C++: lvar_uservec_t *) - @param func_ea: entry address of the function (C++: ea_t) - @return: success - - -ida_hexrays.restore_user_numforms(): - - restore_user_numforms(func_ea) -> user_numforms_t - - - Restore user defined number formats from the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @return: collection of user defined number formats. The returned - object must be deleted by the caller using - delete_user_numforms() - - -ida_hexrays.restore_user_unions(): - - restore_user_unions(func_ea) -> user_unions_t - - - Restore user defined union field selections from the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @return: collection of union field selections The returned object must - be deleted by the caller using delete_user_unions() - - -class ida_hexrays.rlist_t(): - - Proxy of C++ rlist_t class - - -ida_hexrays.rlist_t.add(): - - add(self, bit) -> bool - add(self, bit, width) -> bool - add(self, ml) -> bool - - -ida_hexrays.rlist_t.back(): - - back(self) -> int - - -ida_hexrays.rlist_t.begin(): - - begin(self) -> bitset_t::iterator - - -ida_hexrays.rlist_t.clear(): - - clear(self) - - -ida_hexrays.rlist_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.rlist_t.copy(): - - copy(self, m) -> bitset_t - - -ida_hexrays.rlist_t.count(): - - count(self) -> int - count(self, bit) -> int - - -ida_hexrays.rlist_t.cut_at(): - - cut_at(self, maxbit) -> bool - - -ida_hexrays.rlist_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.rlist_t.empty(): - - empty(self) -> bool - - -ida_hexrays.rlist_t.end(): - - end(self) -> bitset_t::iterator - - -ida_hexrays.rlist_t.fill_with_ones(): - - fill_with_ones(self, maxbit) - - -ida_hexrays.rlist_t.front(): - - front(self) -> int - - -ida_hexrays.rlist_t.has(): - - has(self, bit) -> bool - - -ida_hexrays.rlist_t.has_all(): - - has_all(self, bit, width) -> bool - - -ida_hexrays.rlist_t.has_any(): - - has_any(self, bit, width) -> bool - - -ida_hexrays.rlist_t.has_common(): - - has_common(self, ml) -> bool - - -ida_hexrays.rlist_t.inc(): - - inc(self, p, n=1) - - -ida_hexrays.rlist_t.includes(): - - includes(self, ml) -> bool - - -ida_hexrays.rlist_t.intersect(): - - intersect(self, ml) -> bool - - -ida_hexrays.rlist_t.is_subset_of(): - - is_subset_of(self, ml) -> bool - - -ida_hexrays.rlist_t.itat(): - - itat(self, n) -> bitset_t::iterator - - -ida_hexrays.rlist_t.itv(): - - itv(self, it) -> int - - -ida_hexrays.rlist_t.last(): - - last(self) -> int - - -ida_hexrays.rlist_t.shift_down(): - - shift_down(self, shift) - - -ida_hexrays.rlist_t.sub(): - - sub(self, bit) -> bool - sub(self, bit, width) -> bool - sub(self, ml) -> bool - - -ida_hexrays.rlist_t.swap(): - - swap(self, r) - - -ida_hexrays.save_user_cmts(): - - save_user_cmts(func_ea, user_cmts) - - - Save user defined comments into the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @param user_cmts: collection of user defined comments (C++: const - user_cmts_t *) - - -ida_hexrays.save_user_defined_calls(): - - save_user_defined_calls(func_ea, udcalls) - - - Save user defined local function calls into the database. - - @param func_ea: entry address of the function (C++: ea_t) - @param udcalls: user-specified info about user defined function calls - (C++: const udcall_map_t &) - - -ida_hexrays.save_user_iflags(): - - save_user_iflags(func_ea, iflags) - - - Save user defined citem iflags into the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @param iflags: collection of user defined citem iflags (C++: const - user_iflags_t *) - - -ida_hexrays.save_user_labels(): - - save_user_labels(func_ea, user_labels) - - - Save user defined labels into the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @param user_labels: collection of user defined labels (C++: const - user_labels_t *) - - -ida_hexrays.save_user_lvar_settings(): - - save_user_lvar_settings(func_ea, lvinf) - - - Save user defined local variable settings into the database. - - @param func_ea: entry address of the function (C++: ea_t) - @param lvinf: user-specified info about local variables (C++: const - lvar_uservec_t &) - - -ida_hexrays.save_user_numforms(): - - save_user_numforms(func_ea, numforms) - - - Save user defined number formats into the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @param numforms: collection of user defined comments (C++: const - user_numforms_t *) - - -ida_hexrays.save_user_unions(): - - save_user_unions(func_ea, unions) - - - Save user defined union field selections into the database. - - @param func_ea: the entry address of the function (C++: ea_t) - @param unions: collection of union field selections (C++: const - user_unions_t *) - - -class ida_hexrays.scif_t(): - - Proxy of C++ scif_t class - - -ida_hexrays.scif_t.advance(): - - advance(self, delta) -> bool - - -ida_hexrays.scif_t.atype(): - - atype(self) -> argloc_type_t - - -ida_hexrays.scif_t.calc_offset(): - - calc_offset(self) -> sval_t - - -ida_hexrays.scif_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.scif_t.consume_rrel(): - - consume_rrel(self, p) - - -ida_hexrays.scif_t.consume_scattered(): - - consume_scattered(self, p) - - -ida_hexrays.scif_t.get_biggest(): - - get_biggest(self) -> argloc_t::biggest_t - - -ida_hexrays.scif_t.get_custom(): - - get_custom(self) -> void * - - -ida_hexrays.scif_t.get_ea(): - - get_ea(self) -> ea_t - - -ida_hexrays.scif_t.get_reginfo(): - - get_reginfo(self) -> uint32 - - -ida_hexrays.scif_t.get_rrel(): - - get_rrel(self) -> rrel_t - get_rrel(self) -> rrel_t - - -ida_hexrays.scif_t.has_reg(): - - has_reg(self) -> bool - - -ida_hexrays.scif_t.has_stkoff(): - - has_stkoff(self) -> bool - - -ida_hexrays.scif_t.is_aliasable(): - - is_aliasable(self, mb, size) -> bool - - -ida_hexrays.scif_t.is_badloc(): - - is_badloc(self) -> bool - - -ida_hexrays.scif_t.is_custom(): - - is_custom(self) -> bool - - -ida_hexrays.scif_t.is_ea(): - - is_ea(self) -> bool - - -ida_hexrays.scif_t.is_fragmented(): - - is_fragmented(self) -> bool - - -ida_hexrays.scif_t.is_mixed_scattered(): - - is_mixed_scattered(self) -> bool - - -ida_hexrays.scif_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.scif_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_hexrays.scif_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_hexrays.scif_t.is_rrel(): - - is_rrel(self) -> bool - - -ida_hexrays.scif_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.scif_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_hexrays.scif_t.mba: - scif_t_mba_get(self) -> mbl_array_t - -ida_hexrays.scif_t.name: - scif_t_name_get(self) -> qstring * - -ida_hexrays.scif_t.reg1(): - - reg1(self) -> int - - -ida_hexrays.scif_t.reg2(): - - reg2(self) -> int - - -ida_hexrays.scif_t.regoff(): - - regoff(self) -> int - - -ida_hexrays.scif_t.scattered(): - - scattered(self) -> scattered_aloc_t - scattered(self) -> scattered_aloc_t - - -ida_hexrays.scif_t.set_badloc(): - - set_badloc(self) - - -ida_hexrays.scif_t.set_ea(): - - set_ea(self, _ea) - - -ida_hexrays.scif_t.set_reg1(): - - set_reg1(self, r1) - - -ida_hexrays.scif_t.set_reg2(): - - set_reg2(self, _reg1, _reg2) - - -ida_hexrays.scif_t.set_stkoff(): - - set_stkoff(self, off) - - -ida_hexrays.scif_t.stkoff(): - - stkoff(self) -> sval_t - - -ida_hexrays.scif_t.swap(): - - swap(self, r) - - -ida_hexrays.scif_t.type: - scif_t_type_get(self) -> tinfo_t - -class ida_hexrays.scif_visitor_t(): - - Proxy of C++ scif_visitor_t class - - -ida_hexrays.scif_visitor_t.visit_scif_mop(): - - visit_scif_mop(self, r, off) -> int - - -ida_hexrays.select_udt_by_offset(): - - select_udt_by_offset(udts, ops, applicator) -> int - - - Select UDT - - @param udts: list of UDT tinfo_t for the selection, if NULL or empty - then UDTs from the "Local types" will be used (C++: const - qvector < tinfo_t > *) - @param ops: operands (C++: const ui_stroff_ops_t &) - @param applicator (C++: ui_stroff_applicator_t &) - - -ida_hexrays.send_database(): - - 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: failure description object. Empty hexrays_failure_t - object can be used if error information is not available. - (C++: const hexrays_failure_t &) - @param silent: if false, a dialog box will be displayed before sending - the database. (C++: bool) - - -ida_hexrays.set2jcnd(): - - set2jcnd(code) -> mcode_t - - -ida_hexrays.set_type(): - - set_type(id, tif, source, force=False) -> bool - - - Set a global type. - - @param id: address or id of the object (C++: uval_t) - @param tif: new type info (C++: const tinfo_t &) - @param source: where the type comes from (C++: type_source_t) - @param force: true means to set the type as is, false means to merge - the new type with the possibly existing old type info. - (C++: bool) - @return: success - - -class ida_hexrays.simple_graph_t(): - - Proxy of C++ simple_graph_t class - - -ida_hexrays.simple_graph_t.colored_gdl_edges: - simple_graph_t_colored_gdl_edges_get(self) -> bool - -ida_hexrays.simple_graph_t.title: - simple_graph_t_title_get(self) -> qstring * - -class ida_hexrays.stkvar_ref_t(): - - Proxy of C++ stkvar_ref_t class - - -ida_hexrays.stkvar_ref_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.stkvar_ref_t.get_stkvar(): - - get_stkvar(self, p_off=None) -> member_t * - - -ida_hexrays.stkvar_ref_t.mba: - stkvar_ref_t_mba_get(self) -> mbl_array_t - -ida_hexrays.stkvar_ref_t.off: - stkvar_ref_t_off_get(self) -> sval_t - -ida_hexrays.stkvar_ref_t.swap(): - - swap(self, r) - - -ida_hexrays.swap_mcode_relation(): - - swap_mcode_relation(code) -> mcode_t - - -ida_hexrays.swapped_relation(): - - swapped_relation(op) -> ctype_t - - - Swap a comparison operator. For example, cot_sge becomes cot_sle. - - - @param op (C++: ctype_t) - - -ida_hexrays.term_hexrays_plugin(): - - term_hexrays_plugin() - - - Stop working with hex-rays decompiler. - - -class ida_hexrays.treeloc_t(): - - Proxy of C++ treeloc_t class - - -ida_hexrays.treeloc_t.ea: - treeloc_t_ea_get(self) -> ea_t - -ida_hexrays.treeloc_t.itp: - treeloc_t_itp_get(self) -> item_preciser_t - -class ida_hexrays.udc_filter_t(): - - Proxy of C++ udc_filter_t class - - -ida_hexrays.udc_filter_t.apply(): - - apply(self, cdg) -> merror_t - - -ida_hexrays.udc_filter_t.init(): - - init(self, decl) -> bool - - -ida_hexrays.udc_filter_t.match(): - - match(self, cdg) -> bool - - -ida_hexrays.udcall_map_begin(): - - 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 *) - - -ida_hexrays.udcall_map_clear(): - - udcall_map_clear(map) - - - Clear udcall_map_t. - - - @param map (C++: udcall_map_t *) - - -ida_hexrays.udcall_map_end(): - - 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 *) - - -ida_hexrays.udcall_map_erase(): - - 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) - - -ida_hexrays.udcall_map_find(): - - udcall_map_find(map, key) -> udcall_map_iterator_t - - - Find the specified key in udcall_map_t. - - - @param map (C++: const udcall_map_t *) - @param key (C++: const ea_t &) - - -ida_hexrays.udcall_map_first(): - - udcall_map_first(p) -> ea_t const & - - - Get reference to the current map key. - - - @param p (C++: udcall_map_iterator_t) - - -ida_hexrays.udcall_map_free(): - - udcall_map_free(map) - - - Delete udcall_map_t instance. - - - @param map (C++: udcall_map_t *) - - -ida_hexrays.udcall_map_insert(): - - 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 &) - @param val (C++: const udcall_t &) - - -class ida_hexrays.udcall_map_iterator_t(): - - Proxy of C++ udcall_map_iterator_t class - - -ida_hexrays.udcall_map_iterator_t.x: - udcall_map_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.udcall_map_new(): - - udcall_map_new() -> udcall_map_t * - - - Create a new udcall_map_t instance. - - -ida_hexrays.udcall_map_next(): - - udcall_map_next(p) -> udcall_map_iterator_t - - - Move to the next element. - - - @param p (C++: udcall_map_iterator_t) - - -ida_hexrays.udcall_map_prev(): - - udcall_map_prev(p) -> udcall_map_iterator_t - - - Move to the previous element. - - - @param p (C++: udcall_map_iterator_t) - - -ida_hexrays.udcall_map_second(): - - udcall_map_second(p) -> udcall_t - - - Get reference to the current map value. - - - @param p (C++: udcall_map_iterator_t) - - -ida_hexrays.udcall_map_size(): - - udcall_map_size(map) -> size_t - - - Get size of udcall_map_t. - - - @param map (C++: udcall_map_t *) - - -class ida_hexrays.udcall_t(): - - Proxy of C++ udcall_t class - - -ida_hexrays.udcall_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.udcall_t.name: - udcall_t_name_get(self) -> qstring * - -ida_hexrays.udcall_t.tif: - udcall_t_tif_get(self) -> tinfo_t - -class ida_hexrays.ui_stroff_applicator_t(): - - Proxy of C++ ui_stroff_applicator_t class - - -ida_hexrays.ui_stroff_applicator_t.apply(): - - apply(self, opnum, path) -> bool - - -class ida_hexrays.ui_stroff_op_t(): - - Proxy of C++ ui_stroff_op_t class - - -ida_hexrays.ui_stroff_op_t.offset: - ui_stroff_op_t_offset_get(self) -> uval_t - -ida_hexrays.ui_stroff_op_t.text: - ui_stroff_op_t_text_get(self) -> qstring * - -class ida_hexrays.ui_stroff_ops_t(): - - Proxy of C++ qvector<(ui_stroff_op_t)> class - - -ida_hexrays.ui_stroff_ops_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.ui_stroff_ops_t.append(): - - push_back(self, x) - push_back(self) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.at(): - - __getitem__(self, i) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.begin(): - - begin(self) -> ui_stroff_op_t - begin(self) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.ui_stroff_ops_t.clear(): - - clear(self) - - -ida_hexrays.ui_stroff_ops_t.empty(): - - empty(self) -> bool - - -ida_hexrays.ui_stroff_ops_t.end(): - - end(self) -> ui_stroff_op_t - end(self) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.erase(): - - erase(self, it) -> ui_stroff_op_t - erase(self, first, last) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.extract(): - - extract(self) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.find(): - - find(self, x) -> ui_stroff_op_t - find(self, x) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.grow(): - - grow(self, x=ui_stroff_op_t()) - - -ida_hexrays.ui_stroff_ops_t.has(): - - has(self, x) -> bool - - -ida_hexrays.ui_stroff_ops_t.inject(): - - inject(self, s, len) - - -ida_hexrays.ui_stroff_ops_t.insert(): - - insert(self, it, x) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.pop_back(): - - pop_back(self) - - -ida_hexrays.ui_stroff_ops_t.push_back(): - - push_back(self, x) - push_back(self) -> ui_stroff_op_t - - -ida_hexrays.ui_stroff_ops_t.qclear(): - - qclear(self) - - -ida_hexrays.ui_stroff_ops_t.reserve(): - - reserve(self, cnt) - - -ida_hexrays.ui_stroff_ops_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.ui_stroff_ops_t.size(): - - size(self) -> size_t - - -ida_hexrays.ui_stroff_ops_t.swap(): - - swap(self, r) - - -ida_hexrays.ui_stroff_ops_t.truncate(): - - truncate(self) - - -ida_hexrays.user_cmts_begin(): - - 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 *) - - -ida_hexrays.user_cmts_clear(): - - user_cmts_clear(map) - - - Clear user_cmts_t. - - - @param map (C++: user_cmts_t *) - - -ida_hexrays.user_cmts_end(): - - 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 *) - - -ida_hexrays.user_cmts_erase(): - - 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) - - -ida_hexrays.user_cmts_find(): - - user_cmts_find(map, key) -> user_cmts_iterator_t - - - Find the specified key in user_cmts_t. - - - @param map (C++: const user_cmts_t *) - @param key (C++: const treeloc_t &) - - -ida_hexrays.user_cmts_first(): - - user_cmts_first(p) -> treeloc_t - - - Get reference to the current map key. - - - @param p (C++: user_cmts_iterator_t) - - -ida_hexrays.user_cmts_free(): - - user_cmts_free(map) - - - Delete user_cmts_t instance. - - - @param map (C++: user_cmts_t *) - - -ida_hexrays.user_cmts_insert(): - - 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 &) - @param val (C++: const citem_cmt_t &) - - -class ida_hexrays.user_cmts_iterator_t(): - - Proxy of C++ user_cmts_iterator_t class - - -ida_hexrays.user_cmts_iterator_t.x: - user_cmts_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.user_cmts_new(): - - user_cmts_new() -> user_cmts_t - - - Create a new user_cmts_t instance. - - -ida_hexrays.user_cmts_next(): - - user_cmts_next(p) -> user_cmts_iterator_t - - - Move to the next element. - - - @param p (C++: user_cmts_iterator_t) - - -ida_hexrays.user_cmts_prev(): - - user_cmts_prev(p) -> user_cmts_iterator_t - - - Move to the previous element. - - - @param p (C++: user_cmts_iterator_t) - - -ida_hexrays.user_cmts_second(): - - user_cmts_second(p) -> citem_cmt_t - - - Get reference to the current map value. - - - @param p (C++: user_cmts_iterator_t) - - -ida_hexrays.user_cmts_size(): - - user_cmts_size(map) -> size_t - - - Get size of user_cmts_t. - - - @param map (C++: user_cmts_t *) - - -class ida_hexrays.user_cmts_t(): - - Proxy of C++ std::map<(treeloc_t,citem_cmt_t)> class - - -ida_hexrays.user_cmts_t.at(): - - at(self, _Keyval) -> citem_cmt_t - - -class ida_hexrays.user_cmts_t.keytype(): - - Proxy of C++ treeloc_t class - - -ida_hexrays.user_cmts_t.keytype.ea: - treeloc_t_ea_get(self) -> ea_t - -ida_hexrays.user_cmts_t.keytype.itp: - treeloc_t_itp_get(self) -> item_preciser_t - -ida_hexrays.user_cmts_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_cmts_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_cmts_t.setdefault(): - - Sets the value associated with the provided key. - - -class ida_hexrays.user_cmts_t.valuetype(): - - Proxy of C++ citem_cmt_t class - - -ida_hexrays.user_cmts_t.valuetype.c_str(): - - c_str(self) -> char const * - - -ida_hexrays.user_cmts_t.valuetype.used: - citem_cmt_t_used_get(self) -> bool - -ida_hexrays.user_iflags_begin(): - - 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 *) - - -ida_hexrays.user_iflags_clear(): - - user_iflags_clear(map) - - - Clear user_iflags_t. - - - @param map (C++: user_iflags_t *) - - -ida_hexrays.user_iflags_end(): - - 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 *) - - -ida_hexrays.user_iflags_erase(): - - 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) - - -ida_hexrays.user_iflags_find(): - - user_iflags_find(map, key) -> user_iflags_iterator_t - - - Find the specified key in user_iflags_t. - - - @param map (C++: const user_iflags_t *) - @param key (C++: const citem_locator_t &) - - -ida_hexrays.user_iflags_first(): - - user_iflags_first(p) -> citem_locator_t - - - Get reference to the current map key. - - - @param p (C++: user_iflags_iterator_t) - - -ida_hexrays.user_iflags_free(): - - user_iflags_free(map) - - - Delete user_iflags_t instance. - - - @param map (C++: user_iflags_t *) - - -ida_hexrays.user_iflags_insert(): - - 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 &) - @param val (C++: const int32 &) - - -class ida_hexrays.user_iflags_iterator_t(): - - Proxy of C++ user_iflags_iterator_t class - - -ida_hexrays.user_iflags_iterator_t.x: - user_iflags_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.user_iflags_new(): - - user_iflags_new() -> user_iflags_t - - - Create a new user_iflags_t instance. - - -ida_hexrays.user_iflags_next(): - - user_iflags_next(p) -> user_iflags_iterator_t - - - Move to the next element. - - - @param p (C++: user_iflags_iterator_t) - - -ida_hexrays.user_iflags_prev(): - - user_iflags_prev(p) -> user_iflags_iterator_t - - - Move to the previous element. - - - @param p (C++: user_iflags_iterator_t) - - -ida_hexrays.user_iflags_second(): - - user_iflags_second(p) -> int32 const & - - - Get reference to the current map value. - - - @param p (C++: user_iflags_iterator_t) - - -ida_hexrays.user_iflags_size(): - - user_iflags_size(map) -> size_t - - - Get size of user_iflags_t. - - - @param map (C++: user_iflags_t *) - - -class ida_hexrays.user_iflags_t(): - - Proxy of C++ std::map<(citem_locator_t,int32)> class - - -ida_hexrays.user_iflags_t.at(): - - at(self, _Keyval) -> int & - - -class ida_hexrays.user_iflags_t.keytype(): - - Proxy of C++ citem_locator_t class - - -ida_hexrays.user_iflags_t.keytype.compare(): - - compare(self, r) -> int - - -ida_hexrays.user_iflags_t.keytype.ea: - citem_locator_t_ea_get(self) -> ea_t - -ida_hexrays.user_iflags_t.keytype.op: - citem_locator_t_op_get(self) -> ctype_t - -ida_hexrays.user_iflags_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_iflags_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_iflags_t.setdefault(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_iflags_t.valuetype.bit_length(): - int.bit_length() -> int - - Number of bits necessary to represent self in binary. - >>> bin(37) - '0b100101' - >>> (37).bit_length() - 6 - -ida_hexrays.user_iflags_t.valuetype.conjugate(): - Returns self, the complex conjugate of any int. - -ida_hexrays.user_iflags_t.valuetype.denominator: - the denominator of a rational number in lowest terms - -ida_hexrays.user_iflags_t.valuetype.imag: - the imaginary part of a complex number - -ida_hexrays.user_iflags_t.valuetype.numerator: - the numerator of a rational number in lowest terms - -ida_hexrays.user_iflags_t.valuetype.real: - the real part of a complex number - -ida_hexrays.user_labels_begin(): - - 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 *) - - -ida_hexrays.user_labels_clear(): - - user_labels_clear(map) - - - Clear user_labels_t. - - - @param map (C++: user_labels_t *) - - -ida_hexrays.user_labels_end(): - - 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 *) - - -ida_hexrays.user_labels_erase(): - - 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) - - -ida_hexrays.user_labels_find(): - - user_labels_find(map, key) -> user_labels_iterator_t - - - Find the specified key in user_labels_t. - - - @param map (C++: const user_labels_t *) - @param key (C++: const int &) - - -ida_hexrays.user_labels_first(): - - user_labels_first(p) -> int const & - - - Get reference to the current map key. - - - @param p (C++: user_labels_iterator_t) - - -ida_hexrays.user_labels_free(): - - user_labels_free(map) - - - Delete user_labels_t instance. - - - @param map (C++: user_labels_t *) - - -ida_hexrays.user_labels_insert(): - - 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 &) - @param val (C++: const qstring &) - - -class ida_hexrays.user_labels_iterator_t(): - - Proxy of C++ user_labels_iterator_t class - - -ida_hexrays.user_labels_iterator_t.x: - user_labels_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.user_labels_new(): - - user_labels_new() -> user_labels_t - - - Create a new user_labels_t instance. - - -ida_hexrays.user_labels_next(): - - user_labels_next(p) -> user_labels_iterator_t - - - Move to the next element. - - - @param p (C++: user_labels_iterator_t) - - -ida_hexrays.user_labels_prev(): - - user_labels_prev(p) -> user_labels_iterator_t - - - Move to the previous element. - - - @param p (C++: user_labels_iterator_t) - - -ida_hexrays.user_labels_second(): - - user_labels_second(p) -> qstring & - - - Get reference to the current map value. - - - @param p (C++: user_labels_iterator_t) - - -ida_hexrays.user_labels_size(): - - user_labels_size(map) -> size_t - - - Get size of user_labels_t. - - - @param map (C++: user_labels_t *) - - -class ida_hexrays.user_labels_t(): - - Proxy of C++ std::map<(int,qstring)> class - - -ida_hexrays.user_labels_t.at(): - - at(self, _Keyval) -> _qstring< char > & - - -ida_hexrays.user_labels_t.size(): - - size(self) -> size_t - - -class ida_hexrays.user_lvar_modifier_t(): - - Proxy of C++ user_lvar_modifier_t class - - -ida_hexrays.user_lvar_modifier_t.modify_lvars(): - - modify_lvars(self, lvinf) -> bool - - -ida_hexrays.user_numforms_begin(): - - 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 *) - - -ida_hexrays.user_numforms_clear(): - - user_numforms_clear(map) - - - Clear user_numforms_t. - - - @param map (C++: user_numforms_t *) - - -ida_hexrays.user_numforms_end(): - - 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 *) - - -ida_hexrays.user_numforms_erase(): - - 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) - - -ida_hexrays.user_numforms_find(): - - user_numforms_find(map, key) -> user_numforms_iterator_t - - - Find the specified key in user_numforms_t. - - - @param map (C++: const user_numforms_t *) - @param key (C++: const operand_locator_t &) - - -ida_hexrays.user_numforms_first(): - - user_numforms_first(p) -> operand_locator_t - - - Get reference to the current map key. - - - @param p (C++: user_numforms_iterator_t) - - -ida_hexrays.user_numforms_free(): - - user_numforms_free(map) - - - Delete user_numforms_t instance. - - - @param map (C++: user_numforms_t *) - - -ida_hexrays.user_numforms_insert(): - - 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 &) - @param val (C++: const number_format_t &) - - -class ida_hexrays.user_numforms_iterator_t(): - - Proxy of C++ user_numforms_iterator_t class - - -ida_hexrays.user_numforms_iterator_t.x: - user_numforms_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.user_numforms_new(): - - user_numforms_new() -> user_numforms_t - - - Create a new user_numforms_t instance. - - -ida_hexrays.user_numforms_next(): - - user_numforms_next(p) -> user_numforms_iterator_t - - - Move to the next element. - - - @param p (C++: user_numforms_iterator_t) - - -ida_hexrays.user_numforms_prev(): - - user_numforms_prev(p) -> user_numforms_iterator_t - - - Move to the previous element. - - - @param p (C++: user_numforms_iterator_t) - - -ida_hexrays.user_numforms_second(): - - user_numforms_second(p) -> number_format_t - - - Get reference to the current map value. - - - @param p (C++: user_numforms_iterator_t) - - -ida_hexrays.user_numforms_size(): - - user_numforms_size(map) -> size_t - - - Get size of user_numforms_t. - - - @param map (C++: user_numforms_t *) - - -class ida_hexrays.user_numforms_t(): - - Proxy of C++ std::map<(operand_locator_t,number_format_t)> class - - -ida_hexrays.user_numforms_t.at(): - - at(self, _Keyval) -> number_format_t - - -class ida_hexrays.user_numforms_t.keytype(): - - Proxy of C++ operand_locator_t class - - -ida_hexrays.user_numforms_t.keytype.compare(): - - compare(self, r) -> int - - -ida_hexrays.user_numforms_t.keytype.ea: - operand_locator_t_ea_get(self) -> ea_t - -ida_hexrays.user_numforms_t.keytype.opnum: - operand_locator_t_opnum_get(self) -> int - -ida_hexrays.user_numforms_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_numforms_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_numforms_t.setdefault(): - - Sets the value associated with the provided key. - - -class ida_hexrays.user_numforms_t.valuetype(): - - Proxy of C++ number_format_t class - - -ida_hexrays.user_numforms_t.valuetype.flags: - number_format_t_flags_get(self) -> flags_t - -ida_hexrays.user_numforms_t.valuetype.get_radix(): - - get_radix(self) -> int - - -ida_hexrays.user_numforms_t.valuetype.is_char(): - - is_char(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_dec(): - - is_dec(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_enum(): - - is_enum(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_fixed(): - - is_fixed(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_hex(): - - is_hex(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_numop(): - - is_numop(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_oct(): - - is_oct(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.is_stroff(): - - is_stroff(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.needs_to_be_inverted(): - - needs_to_be_inverted(self) -> bool - - -ida_hexrays.user_numforms_t.valuetype.opnum: - number_format_t_opnum_get(self) -> char - -ida_hexrays.user_numforms_t.valuetype.org_nbytes: - number_format_t_org_nbytes_get(self) -> char - -ida_hexrays.user_numforms_t.valuetype.props: - number_format_t_props_get(self) -> char - -ida_hexrays.user_numforms_t.valuetype.serial: - number_format_t_serial_get(self) -> uchar - -ida_hexrays.user_numforms_t.valuetype.type_name: - number_format_t_type_name_get(self) -> qstring * - -ida_hexrays.user_unions_begin(): - - 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 *) - - -ida_hexrays.user_unions_clear(): - - user_unions_clear(map) - - - Clear user_unions_t. - - - @param map (C++: user_unions_t *) - - -ida_hexrays.user_unions_end(): - - 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 *) - - -ida_hexrays.user_unions_erase(): - - 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) - - -ida_hexrays.user_unions_find(): - - user_unions_find(map, key) -> user_unions_iterator_t - - - Find the specified key in user_unions_t. - - - @param map (C++: const user_unions_t *) - @param key (C++: const ea_t &) - - -ida_hexrays.user_unions_first(): - - user_unions_first(p) -> ea_t const & - - - Get reference to the current map key. - - - @param p (C++: user_unions_iterator_t) - - -ida_hexrays.user_unions_free(): - - user_unions_free(map) - - - Delete user_unions_t instance. - - - @param map (C++: user_unions_t *) - - -ida_hexrays.user_unions_insert(): - - 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 &) - @param val (C++: const intvec_t &) - - -class ida_hexrays.user_unions_iterator_t(): - - Proxy of C++ user_unions_iterator_t class - - -ida_hexrays.user_unions_iterator_t.x: - user_unions_iterator_t_x_get(self) -> iterator_word - -ida_hexrays.user_unions_new(): - - user_unions_new() -> user_unions_t - - - Create a new user_unions_t instance. - - -ida_hexrays.user_unions_next(): - - user_unions_next(p) -> user_unions_iterator_t - - - Move to the next element. - - - @param p (C++: user_unions_iterator_t) - - -ida_hexrays.user_unions_prev(): - - user_unions_prev(p) -> user_unions_iterator_t - - - Move to the previous element. - - - @param p (C++: user_unions_iterator_t) - - -ida_hexrays.user_unions_second(): - - user_unions_second(p) -> intvec_t - - - Get reference to the current map value. - - - @param p (C++: user_unions_iterator_t) - - -ida_hexrays.user_unions_size(): - - user_unions_size(map) -> size_t - - - Get size of user_unions_t. - - - @param map (C++: user_unions_t *) - - -class ida_hexrays.user_unions_t(): - - Proxy of C++ std::map<(ea_t,intvec_t)> class - - -ida_hexrays.user_unions_t.at(): - - at(self, _Keyval) -> intvec_t - - -ida_hexrays.user_unions_t.pop(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_unions_t.popitem(): - - Sets the value associated with the provided key. - - -ida_hexrays.user_unions_t.setdefault(): - - Sets the value associated with the provided key. - - -class ida_hexrays.user_unions_t.valuetype(): - - Proxy of C++ qvector<(int)> class - - -ida_hexrays.user_unions_t.valuetype.add_unique(): - - add_unique(self, x) -> bool - - -ida_hexrays.user_unions_t.valuetype.append(): - - push_back(self, x) - push_back(self) -> int & - - -ida_hexrays.user_unions_t.valuetype.at(): - - __getitem__(self, i) -> int const & - - -ida_hexrays.user_unions_t.valuetype.begin(): - - begin(self) -> qvector< int >::iterator - begin(self) -> qvector< int >::const_iterator - - -ida_hexrays.user_unions_t.valuetype.capacity(): - - capacity(self) -> size_t - - -ida_hexrays.user_unions_t.valuetype.clear(): - - clear(self) - - -ida_hexrays.user_unions_t.valuetype.empty(): - - empty(self) -> bool - - -ida_hexrays.user_unions_t.valuetype.end(): - - end(self) -> qvector< int >::iterator - end(self) -> qvector< int >::const_iterator - - -ida_hexrays.user_unions_t.valuetype.erase(): - - erase(self, it) -> qvector< int >::iterator - erase(self, first, last) -> qvector< int >::iterator - - -ida_hexrays.user_unions_t.valuetype.extract(): - - extract(self) -> int * - - -ida_hexrays.user_unions_t.valuetype.find(): - - find(self, x) -> qvector< int >::iterator - find(self, x) -> qvector< int >::const_iterator - - -ida_hexrays.user_unions_t.valuetype.has(): - - has(self, x) -> bool - - -ida_hexrays.user_unions_t.valuetype.inject(): - - inject(self, s, len) - - -ida_hexrays.user_unions_t.valuetype.insert(): - - insert(self, it, x) -> qvector< int >::iterator - - -ida_hexrays.user_unions_t.valuetype.pop_back(): - - pop_back(self) - - -ida_hexrays.user_unions_t.valuetype.push_back(): - - push_back(self, x) - push_back(self) -> int & - - -ida_hexrays.user_unions_t.valuetype.qclear(): - - qclear(self) - - -ida_hexrays.user_unions_t.valuetype.reserve(): - - reserve(self, cnt) - - -ida_hexrays.user_unions_t.valuetype.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_hexrays.user_unions_t.valuetype.size(): - - size(self) -> size_t - - -ida_hexrays.user_unions_t.valuetype.swap(): - - swap(self, r) - - -ida_hexrays.user_unions_t.valuetype.truncate(): - - truncate(self) - - -class ida_hexrays.uval_ivl_ivlset_t(): - - Proxy of C++ ivlset_tpl<(ivl_t,uval_t)> class - - -ida_hexrays.uval_ivl_ivlset_t.all_values(): - - all_values(self) -> bool - - -ida_hexrays.uval_ivl_ivlset_t.begin(): - - begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator - begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.uval_ivl_ivlset_t.clear(): - - clear(self) - - -ida_hexrays.uval_ivl_ivlset_t.empty(): - - empty(self) -> bool - - -ida_hexrays.uval_ivl_ivlset_t.end(): - - end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator - end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator - - -ida_hexrays.uval_ivl_ivlset_t.getivl(): - - getivl(self, idx) -> ivl_t - - -ida_hexrays.uval_ivl_ivlset_t.lastivl(): - - lastivl(self) -> ivl_t - - -ida_hexrays.uval_ivl_ivlset_t.nivls(): - - nivls(self) -> size_t - - -ida_hexrays.uval_ivl_ivlset_t.qclear(): - - qclear(self) - - -ida_hexrays.uval_ivl_ivlset_t.set_all_values(): - - set_all_values(self) - - -ida_hexrays.uval_ivl_ivlset_t.single_value(): - - single_value(self, v) -> bool - - -ida_hexrays.uval_ivl_ivlset_t.swap(): - - swap(self, r) - - -class ida_hexrays.uval_ivl_t(): - - Proxy of C++ ivl_tpl<(uval_t)> class - - -ida_hexrays.uval_ivl_t.end(): - - end(self) -> unsigned-ea-like-numeric-type - - -ida_hexrays.uval_ivl_t.last(): - - last(self) -> unsigned-ea-like-numeric-type - - -ida_hexrays.uval_ivl_t.off: - uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type - -ida_hexrays.uval_ivl_t.size: - uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type - -ida_hexrays.uval_ivl_t.valid(): - - valid(self) -> bool - - -class ida_hexrays.valrng_t(): - - Proxy of C++ valrng_t class - - -ida_hexrays.valrng_t._print(): - - _print(self) - - -ida_hexrays.valrng_t.all_values(): - - all_values(self) -> bool - - -ida_hexrays.valrng_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.valrng_t.cvt_to_cmp(): - - cvt_to_cmp(self, strict) -> bool - - -ida_hexrays.valrng_t.cvt_to_single_value(): - - cvt_to_single_value(self) -> bool - - -ida_hexrays.valrng_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.valrng_t.empty(): - - empty(self) -> bool - - -ida_hexrays.valrng_t.get_size(): - - get_size(self) -> int - - -ida_hexrays.valrng_t.has(): - - has(self, v) -> bool - - -ida_hexrays.valrng_t.intersect_with(): - - intersect_with(self, r) -> bool - - -ida_hexrays.valrng_t.inverse(): - - inverse(self) - - -ida_hexrays.valrng_t.is_unknown(): - - is_unknown(self) -> bool - - -ida_hexrays.valrng_t.max_svalue(): - - max_svalue(self, size_) -> uvlr_t - max_svalue(self) -> uvlr_t - - -ida_hexrays.valrng_t.max_value(): - - max_value(self, size_) -> uvlr_t - max_value(self) -> uvlr_t - - -ida_hexrays.valrng_t.min_svalue(): - - min_svalue(self, size_) -> uvlr_t - min_svalue(self) -> uvlr_t - - -ida_hexrays.valrng_t.reduce_size(): - - reduce_size(self, new_size) -> bool - - -ida_hexrays.valrng_t.set_all(): - - set_all(self) - - -ida_hexrays.valrng_t.set_cmp(): - - set_cmp(self, cmp, _value) - - -ida_hexrays.valrng_t.set_eq(): - - set_eq(self, v) - - -ida_hexrays.valrng_t.set_none(): - - set_none(self) - - -ida_hexrays.valrng_t.set_unk(): - - set_unk(self) - - -ida_hexrays.valrng_t.swap(): - - swap(self, r) - - -ida_hexrays.valrng_t.unite_with(): - - unite_with(self, r) -> bool - - -class ida_hexrays.var_ref_t(): - - Proxy of C++ var_ref_t class - - -ida_hexrays.var_ref_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.var_ref_t.idx: - var_ref_t_idx_get(self) -> int - -ida_hexrays.var_ref_t.mba: - var_ref_t_mba_get(self) -> mbl_array_t - -class ida_hexrays.vc_printer_t(): - - Proxy of C++ vc_printer_t class - - -ida_hexrays.vc_printer_t._print(): - - _print(self, indent, format) -> int - - -ida_hexrays.vc_printer_t.func: - vc_printer_t_func_get(self) -> cfunc_t - -ida_hexrays.vc_printer_t.hdrlines: - vd_printer_t_hdrlines_get(self) -> int - -ida_hexrays.vc_printer_t.lastchar: - vc_printer_t_lastchar_get(self) -> char - -ida_hexrays.vc_printer_t.oneliner(): - - oneliner(self) -> bool - - -ida_hexrays.vc_printer_t.tmpbuf: - vd_printer_t_tmpbuf_get(self) -> qstring * - -class ida_hexrays.vd_failure_t(): - - Proxy of C++ vd_failure_t class - - -ida_hexrays.vd_failure_t.desc(): - - desc(self) -> qstring - - -ida_hexrays.vd_failure_t.hf: - vd_failure_t_hf_get(self) -> hexrays_failure_t - -class ida_hexrays.vd_interr_t(): - - Proxy of C++ vd_interr_t class - - -ida_hexrays.vd_interr_t.desc(): - - desc(self) -> qstring - - -ida_hexrays.vd_interr_t.hf: - vd_failure_t_hf_get(self) -> hexrays_failure_t - -class ida_hexrays.vd_printer_t(): - - Proxy of C++ vd_printer_t class - - -ida_hexrays.vd_printer_t._print(): - - _print(self, indent, format) -> int - - -ida_hexrays.vd_printer_t.hdrlines: - vd_printer_t_hdrlines_get(self) -> int - -ida_hexrays.vd_printer_t.tmpbuf: - vd_printer_t_tmpbuf_get(self) -> qstring * - -class ida_hexrays.vdloc_t(): - - Proxy of C++ vdloc_t class - - -ida_hexrays.vdloc_t.advance(): - - advance(self, delta) -> bool - - -ida_hexrays.vdloc_t.atype(): - - atype(self) -> argloc_type_t - - -ida_hexrays.vdloc_t.calc_offset(): - - calc_offset(self) -> sval_t - - -ida_hexrays.vdloc_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.vdloc_t.consume_rrel(): - - consume_rrel(self, p) - - -ida_hexrays.vdloc_t.consume_scattered(): - - consume_scattered(self, p) - - -ida_hexrays.vdloc_t.get_biggest(): - - get_biggest(self) -> argloc_t::biggest_t - - -ida_hexrays.vdloc_t.get_custom(): - - get_custom(self) -> void * - - -ida_hexrays.vdloc_t.get_ea(): - - get_ea(self) -> ea_t - - -ida_hexrays.vdloc_t.get_reginfo(): - - get_reginfo(self) -> uint32 - - -ida_hexrays.vdloc_t.get_rrel(): - - get_rrel(self) -> rrel_t - get_rrel(self) -> rrel_t - - -ida_hexrays.vdloc_t.has_reg(): - - has_reg(self) -> bool - - -ida_hexrays.vdloc_t.has_stkoff(): - - has_stkoff(self) -> bool - - -ida_hexrays.vdloc_t.is_aliasable(): - - is_aliasable(self, mb, size) -> bool - - -ida_hexrays.vdloc_t.is_badloc(): - - is_badloc(self) -> bool - - -ida_hexrays.vdloc_t.is_custom(): - - is_custom(self) -> bool - - -ida_hexrays.vdloc_t.is_ea(): - - is_ea(self) -> bool - - -ida_hexrays.vdloc_t.is_fragmented(): - - is_fragmented(self) -> bool - - -ida_hexrays.vdloc_t.is_mixed_scattered(): - - is_mixed_scattered(self) -> bool - - -ida_hexrays.vdloc_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.vdloc_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_hexrays.vdloc_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_hexrays.vdloc_t.is_rrel(): - - is_rrel(self) -> bool - - -ida_hexrays.vdloc_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_hexrays.vdloc_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_hexrays.vdloc_t.reg1(): - - reg1(self) -> int - - -ida_hexrays.vdloc_t.reg2(): - - reg2(self) -> int - - -ida_hexrays.vdloc_t.regoff(): - - regoff(self) -> int - - -ida_hexrays.vdloc_t.scattered(): - - scattered(self) -> scattered_aloc_t - scattered(self) -> scattered_aloc_t - - -ida_hexrays.vdloc_t.set_badloc(): - - set_badloc(self) - - -ida_hexrays.vdloc_t.set_ea(): - - set_ea(self, _ea) - - -ida_hexrays.vdloc_t.set_reg1(): - - set_reg1(self, r1) - - -ida_hexrays.vdloc_t.set_reg2(): - - set_reg2(self, _reg1, _reg2) - - -ida_hexrays.vdloc_t.set_stkoff(): - - set_stkoff(self, off) - - -ida_hexrays.vdloc_t.stkoff(): - - stkoff(self) -> sval_t - - -ida_hexrays.vdloc_t.swap(): - - swap(self, r) - - -class ida_hexrays.vdui_t(): - - Proxy of C++ vdui_t class - - -ida_hexrays.vdui_t.calc_cmt_type(): - - calc_cmt_type(self, lnnum, cmttype) -> cmt_type_t - - -ida_hexrays.vdui_t.cfunc: - vdui_t_cfunc_get(self) -> cfuncptr_t - -ida_hexrays.vdui_t.clear(): - - clear(self) - - -ida_hexrays.vdui_t.collapse_item(): - - collapse_item(self, hide) -> bool - - -ida_hexrays.vdui_t.collapse_lvars(): - - collapse_lvars(self, hide) -> bool - - -ida_hexrays.vdui_t.cpos: - vdui_t_cpos_get(self) -> ctext_position_t - -ida_hexrays.vdui_t.ct: - vdui_t_ct_get(self) -> TWidget * - -ida_hexrays.vdui_t.ctree_to_disasm(): - - ctree_to_disasm(self) -> bool - - -ida_hexrays.vdui_t.del_orphan_cmts(): - - del_orphan_cmts(self) -> bool - - -ida_hexrays.vdui_t.edit_cmt(): - - edit_cmt(self, loc) -> bool - - -ida_hexrays.vdui_t.edit_func_cmt(): - - edit_func_cmt(self) -> bool - - -ida_hexrays.vdui_t.flags: - vdui_t_flags_get(self) -> int - -ida_hexrays.vdui_t.get_current_item(): - - get_current_item(self, idv) -> bool - - -ida_hexrays.vdui_t.get_current_label(): - - get_current_label(self) -> int - - -ida_hexrays.vdui_t.get_number(): - - get_number(self) -> cnumber_t - - -ida_hexrays.vdui_t.head: - vdui_t_head_get(self) -> ctree_item_t - -ida_hexrays.vdui_t.in_ctree(): - - in_ctree(self) -> bool - - -ida_hexrays.vdui_t.invert_bits(): - - invert_bits(self) -> bool - - -ida_hexrays.vdui_t.invert_sign(): - - invert_sign(self) -> bool - - -ida_hexrays.vdui_t.item: - vdui_t_item_get(self) -> ctree_item_t - -ida_hexrays.vdui_t.jump_enter(): - - jump_enter(self, idv, omflags) -> bool - - -ida_hexrays.vdui_t.last_code: - vdui_t_last_code_get(self) -> merror_t - -ida_hexrays.vdui_t.locked(): - - locked(self) -> bool - - -ida_hexrays.vdui_t.map_lvar(): - - map_lvar(self, frm, to) -> bool - - -ida_hexrays.vdui_t.mba: - vdui_t_mba_get(self) -> mbl_array_t - -ida_hexrays.vdui_t.refresh_cpos(): - - refresh_cpos(self, idv) -> bool - - -ida_hexrays.vdui_t.refresh_ctext(): - - refresh_ctext(self, activate=True) - - -ida_hexrays.vdui_t.refresh_view(): - - refresh_view(self, redo_mba) - - -ida_hexrays.vdui_t.rename_global(): - - rename_global(self, ea) -> bool - - -ida_hexrays.vdui_t.rename_label(): - - rename_label(self, label) -> bool - - -ida_hexrays.vdui_t.rename_lvar(): - - rename_lvar(self, v, name, is_user_name) -> bool - - -ida_hexrays.vdui_t.rename_strmem(): - - rename_strmem(self, sptr, mptr) -> bool - - -ida_hexrays.vdui_t.set_global_type(): - - set_global_type(self, ea) -> bool - - -ida_hexrays.vdui_t.set_locked(): - - set_locked(self, v) -> bool - - -ida_hexrays.vdui_t.set_lvar_cmt(): - - set_lvar_cmt(self, v, cmt) -> bool - - -ida_hexrays.vdui_t.set_lvar_type(): - - set_lvar_type(self, v, type) -> bool - - -ida_hexrays.vdui_t.set_noptr_lvar(): - - set_noptr_lvar(self, v) -> bool - - -ida_hexrays.vdui_t.set_num_enum(): - - set_num_enum(self) -> bool - - -ida_hexrays.vdui_t.set_num_radix(): - - set_num_radix(self, base) -> bool - - -ida_hexrays.vdui_t.set_num_stroff(): - - set_num_stroff(self) -> bool - - -ida_hexrays.vdui_t.set_strmem_type(): - - set_strmem_type(self, sptr, mptr) -> bool - - -ida_hexrays.vdui_t.set_valid(): - - set_valid(self, v) - - -ida_hexrays.vdui_t.set_visible(): - - set_visible(self, v) - - -ida_hexrays.vdui_t.split_item(): - - split_item(self, split) -> bool - - -ida_hexrays.vdui_t.switch_to(): - - switch_to(self, f, activate) - - -ida_hexrays.vdui_t.tail: - vdui_t_tail_get(self) -> ctree_item_t - -ida_hexrays.vdui_t.toplevel: - vdui_t_toplevel_get(self) -> TWidget * - -ida_hexrays.vdui_t.ui_edit_lvar_cmt(): - - ui_edit_lvar_cmt(self, v) -> bool - - -ida_hexrays.vdui_t.ui_map_lvar(): - - ui_map_lvar(self, v) -> bool - - -ida_hexrays.vdui_t.ui_rename_lvar(): - - ui_rename_lvar(self, v) -> bool - - -ida_hexrays.vdui_t.ui_set_call_type(): - - ui_set_call_type(self, e) -> bool - - -ida_hexrays.vdui_t.ui_set_lvar_type(): - - ui_set_lvar_type(self, v) -> bool - - -ida_hexrays.vdui_t.ui_unmap_lvar(): - - ui_unmap_lvar(self, v) -> bool - - -ida_hexrays.vdui_t.valid(): - - valid(self) -> bool - - -ida_hexrays.vdui_t.view_idx: - vdui_t_view_idx_get(self) -> int - -ida_hexrays.vdui_t.visible(): - - visible(self) -> bool - - -class ida_hexrays.vivl_t(): - - Proxy of C++ vivl_t class - - -ida_hexrays.vivl_t._print(): - - _print(self) - - -ida_hexrays.vivl_t.add(): - - add(self, width) -> voff_t - - -ida_hexrays.vivl_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.vivl_t.contains(): - - contains(self, voff2) -> bool - - -ida_hexrays.vivl_t.defined(): - - defined(self) -> bool - - -ida_hexrays.vivl_t.diff(): - - diff(self, r) -> sval_t - - -ida_hexrays.vivl_t.dstr(): - - dstr(self) -> char const * - - -ida_hexrays.vivl_t.extend_to_cover(): - - extend_to_cover(self, r) -> bool - - -ida_hexrays.vivl_t.get_reg(): - - get_reg(self) -> mreg_t - - -ida_hexrays.vivl_t.get_stkoff(): - - get_stkoff(self) -> sval_t - - -ida_hexrays.vivl_t.inc(): - - inc(self, delta) - - -ida_hexrays.vivl_t.includes(): - - includes(self, r) -> bool - - -ida_hexrays.vivl_t.intersect(): - - intersect(self, r) -> uval_t - - -ida_hexrays.vivl_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.vivl_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_hexrays.vivl_t.off: - voff_t_off_get(self) -> sval_t - -ida_hexrays.vivl_t.overlap(): - - overlap(self, r) -> bool - - -ida_hexrays.vivl_t.set(): - - set(self, _type, _off, _size=0) - set(self, voff, _size) - - -ida_hexrays.vivl_t.set_reg(): - - set_reg(self, mreg, sz=0) - - -ida_hexrays.vivl_t.set_stkoff(): - - set_stkoff(self, stkoff, sz=0) - - -ida_hexrays.vivl_t.size: - vivl_t_size_get(self) -> int - -ida_hexrays.vivl_t.type: - voff_t_type_get(self) -> mopt_t - -ida_hexrays.vivl_t.undef(): - - undef(self) - - -class ida_hexrays.voff_t(): - - Proxy of C++ voff_t class - - -ida_hexrays.voff_t.add(): - - add(self, width) -> voff_t - - -ida_hexrays.voff_t.compare(): - - compare(self, r) -> int - - -ida_hexrays.voff_t.defined(): - - defined(self) -> bool - - -ida_hexrays.voff_t.diff(): - - diff(self, r) -> sval_t - - -ida_hexrays.voff_t.get_reg(): - - get_reg(self) -> mreg_t - - -ida_hexrays.voff_t.get_stkoff(): - - get_stkoff(self) -> sval_t - - -ida_hexrays.voff_t.inc(): - - inc(self, delta) - - -ida_hexrays.voff_t.is_reg(): - - is_reg(self) -> bool - - -ida_hexrays.voff_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_hexrays.voff_t.off: - voff_t_off_get(self) -> sval_t - -ida_hexrays.voff_t.set(): - - set(self, _type, _off) - - -ida_hexrays.voff_t.set_reg(): - - set_reg(self, mreg) - - -ida_hexrays.voff_t.set_stkoff(): - - set_stkoff(self, stkoff) - - -ida_hexrays.voff_t.type: - voff_t_type_get(self) -> mopt_t - -ida_hexrays.voff_t.undef(): - - undef(self) - - - -=== ida_hexrays EPYDOC INJECTIONS === -ida_hexrays.ACFL_BLKOPT -""" -perform interblock transformations -""" - -ida_hexrays.ACFL_GLBDEL -""" -perform dead code eliminition -""" - -ida_hexrays.ACFL_GLBPROP -""" -perform global propagation -""" - -ida_hexrays.ACFL_GUESS -""" -may guess calling conventions -""" - -ida_hexrays.ACFL_LOCOPT -""" -perform local propagation (requires ACFL_BLKOPT) -""" - -ida_hexrays.ANCHOR_BLKCMT -""" -block comment (for ctree items) -""" - -ida_hexrays.ANCHOR_CITEM -""" -c-tree item -""" - -ida_hexrays.ANCHOR_ITP -""" -item type preciser -""" - -ida_hexrays.ANCHOR_LVAR -""" -declaration of local variable -""" - -ida_hexrays.CFL_FINAL -""" -call type is final, should not be changed -""" - -ida_hexrays.CFL_HELPER -""" -created from a decompiler helper function -""" - -ida_hexrays.CFS_BOUNDS -""" -'eamap' and 'boundaries' are ready -""" - -ida_hexrays.CFS_LVARS_HIDDEN -""" -local variable definitions are collapsed -""" - -ida_hexrays.CFS_TEXT -""" -'sv' is ready (and hdrlines) -""" - -ida_hexrays.CHF_FAKE -""" -fake chain created by widen_chains() -""" - -ida_hexrays.CHF_INITED -""" -is chain initialized? (valid only after lvar allocation) -""" - -ida_hexrays.CHF_OVER -""" -overlapped chain -""" - -ida_hexrays.CHF_PASSTHRU -""" -pass-thru chain, must use the input variable to the block -""" - -ida_hexrays.CHF_REPLACED -""" -chain operands have been replaced? -""" - -ida_hexrays.CHF_TERM -""" -terminating chain; the variable does not survive across the block -""" - -ida_hexrays.CIT_COLLAPSED -""" -display element in collapsed form -""" - -ida_hexrays.CPBLK_FAST -""" -do not update minbstkref and minbargref -""" - -ida_hexrays.CPBLK_MINREF -""" -update minbstkref and minbargref -""" - -ida_hexrays.CPBLK_OPTJMP -""" -if it becomes useless - -del the jump insn at the end of the block -""" - -ida_hexrays.CV_FAST -""" -do not maintain parent information -""" - -ida_hexrays.CV_INSNS -""" -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. -""" - -ida_hexrays.CV_PARENTS -""" -maintain parent information -""" - -ida_hexrays.CV_POST -""" -call the leave...() functions -""" - -ida_hexrays.CV_PRUNE -""" -this bit is set by visit...() to prune the walk -""" - -ida_hexrays.CV_RESTART -""" -restart enumeration at the top expr (apply_to_exprs) -""" - -ida_hexrays.DECOMP_NO_CACHE -""" -do not use decompilation cache -""" - -ida_hexrays.DECOMP_NO_FRAME -""" -do not use function frame info (only snippet mode) -""" - -ida_hexrays.DECOMP_NO_WAIT -""" -do not display waitbox -""" - -ida_hexrays.DECOMP_WARNINGS -""" -display warnings in the output window -""" - -ida_hexrays.EQ_CMPDEST -""" -compare instruction destinations -""" - -ida_hexrays.EQ_IGNCODE -""" -ignore instruction opcodes -""" - -ida_hexrays.EQ_IGNSIZE -""" -ignore operand sizes -""" - -ida_hexrays.EQ_OPTINSN -""" -optimize mop_d operands -""" - -ida_hexrays.EXFL_ALL -""" -all currently defined bits -""" - -ida_hexrays.EXFL_ALONE -""" -standalone helper -""" - -ida_hexrays.EXFL_CPADONE -""" -pointer arithmetic correction done -""" - -ida_hexrays.EXFL_CSTR -""" -string literal -""" - -ida_hexrays.EXFL_FPOP -""" -floating point operation -""" - -ida_hexrays.EXFL_JUMPOUT -""" -jump out-of-function -""" - -ida_hexrays.EXFL_LVALUE -""" -expression is lvalue even if it doesn't look like it -""" - -ida_hexrays.EXFL_PARTIAL -""" -type of the expression is considered partial -""" - -ida_hexrays.EXFL_UNDEF -""" -expression uses undefined value -""" - -ida_hexrays.EXFL_VFTABLE -""" -is ptr to vftable (used for cot_memptr, cot_memref) -""" - -ida_hexrays.FCI_DEAD -""" -some return registers were determined dead -""" - -ida_hexrays.FCI_FINAL -""" -call type is final, should not be changed -""" - -ida_hexrays.FCI_HASCALL -""" -A function is an synthetic helper combined from several instructions -and at least one of them was a call to a real functions -""" - -ida_hexrays.FCI_HASFMT -""" -printf- or scanf-style format string - -A variadic function with recognized -""" - -ida_hexrays.FCI_NORET -""" -call does not return -""" - -ida_hexrays.FCI_NOSIDE -""" -call does not have side effects -""" - -ida_hexrays.FCI_PROP -""" -call has been propagated -""" - -ida_hexrays.FCI_PURE -""" -pure function -""" - -ida_hexrays.FCI_SPLOK -""" -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. -""" - -ida_hexrays.FD_BACKWARD -""" -search direction -""" - -ida_hexrays.FD_DEF -""" -look for definition -""" - -ida_hexrays.FD_DIRTY -""" -by function calls and indirect memory access - -ignore possible implicit definitions -""" - -ida_hexrays.FD_FORWARD -""" -search direction -""" - -ida_hexrays.FD_USE -""" -look for use -""" - -ida_hexrays.GCA_ALLOC -""" -enumerate only allocated chains -""" - -ida_hexrays.GCA_EMPTY -""" -include empty chains -""" - -ida_hexrays.GCA_NALLOC -""" -enumerate only non-allocated chains -""" - -ida_hexrays.GCA_OFIRST -""" -consider only chains of the first block -""" - -ida_hexrays.GCA_OLAST -""" -consider only chains of the last block -""" - -ida_hexrays.GCA_SPEC -""" -include chains for special registers -""" - -ida_hexrays.GCO_DEF -""" -is destination operand? -""" - -ida_hexrays.GCO_REG -""" -is register? otherwise a stack variable -""" - -ida_hexrays.GCO_STK -""" -a stack variable -""" - -ida_hexrays.GCO_USE -""" -is source operand? -""" - -ida_hexrays.GLN_ALL -""" -get both -""" - -ida_hexrays.GLN_CURRENT -""" -get label of the current item -""" - -ida_hexrays.GLN_GOTO_TARGET -""" -get goto target -""" - -ida_hexrays.IPROP_ASSERT -""" -assertion: usually mov #val, op. assertions are used to help the -optimizer. assertions are ignored when generating ctree -""" - -ida_hexrays.IPROP_CLNPOP -""" -(e.g. "pop ecx" is often used for that) - -the purpose of the instruction is to clean stack -""" - -ida_hexrays.IPROP_COMBINED -""" -insn has been modified because of a partial reference -""" - -ida_hexrays.IPROP_DONT_COMB -""" -may not combine this instruction with others -""" - -ida_hexrays.IPROP_DONT_PROP -""" -may not propagate -""" - -ida_hexrays.IPROP_EXTSTX -""" -this is m_ext propagated into m_stx -""" - -ida_hexrays.IPROP_FARCALL -""" -call of a far function using push cs/call sequence -""" - -ida_hexrays.IPROP_FPINSN -""" -floating point insn -""" - -ida_hexrays.IPROP_IGNLOWSRC -""" -low part of the instruction source operand has been created -artificially (this bit is used only for 'and x, 80...') -""" - -ida_hexrays.IPROP_INV_JX -""" -inverted conditional jump -""" - -ida_hexrays.IPROP_MULTI_MOV -""" -(example: STM on ARM may transfer multiple registers) - -the minsn was generated as part of insn that moves multiple -registersbits that can be set by plugins: -""" - -ida_hexrays.IPROP_OPTIONAL -""" -optional instruction -""" - -ida_hexrays.IPROP_PERSIST -""" -persistent insn; they are not destroyed -""" - -ida_hexrays.IPROP_SPLIT -""" -the instruction has been split: -""" - -ida_hexrays.IPROP_SPLIT1 -""" -into 1 byte -""" - -ida_hexrays.IPROP_SPLIT2 -""" -into 2 bytes -""" - -ida_hexrays.IPROP_SPLIT4 -""" -into 4 bytes -""" - -ida_hexrays.IPROP_SPLIT8 -""" -into 8 bytes -""" - -ida_hexrays.IPROP_TAILCALL -""" -tail call -""" - -ida_hexrays.IPROP_WAS_NORET -""" -was noret icall -""" - -ida_hexrays.IPROP_WILDMATCH -""" -match multiple insns -""" - -ida_hexrays.LOCOPT_ALL -""" -is not set, only dirty blocks will be optimized - -redo optimization for all blocks. if this bit -""" - -ida_hexrays.LOCOPT_REFINE -""" -refine return type, ok to fail -""" - -ida_hexrays.LOCOPT_REFINE2 -""" -refine return type, try harder -""" - -ida_hexrays.LVINF_FORCE -""" -force allocation of a new variable. forces the decompiler to create a -new variable at ll.defea -""" - -ida_hexrays.LVINF_KEEP -""" -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. -""" - -ida_hexrays.LVINF_NOPTR -""" -variable type should not be a pointer -""" - -ida_hexrays.MBA_ASRPROP -""" -assertion have been propagated -""" - -ida_hexrays.MBA_ASRTOK -""" -assertions have been generated -""" - -ida_hexrays.MBA_CALLS -""" -callinfo has been built -""" - -ida_hexrays.MBA_CHVARS -""" -can verify chain varnums -""" - -ida_hexrays.MBA_CMBBLK -""" -request to combine blocks -""" - -ida_hexrays.MBA_CMNSTK -""" -stkvars+stkargs should be considered as one area -""" - -ida_hexrays.MBA_COLGDL -""" -display graph after each reduction -""" - -ida_hexrays.MBA_DELPAIRS -""" -pairs have been deleted once -""" - -ida_hexrays.MBA_GLBOPT -""" -microcode has been optimized globally -""" - -ida_hexrays.MBA_INSGDL -""" -display instruction in graphs -""" - -ida_hexrays.MBA_LOADED -""" -loaded gdl, no instructions (debugging) -""" - -ida_hexrays.MBA_LVARS0 -""" -lvar pre-allocation has been performed -""" - -ida_hexrays.MBA_LVARS1 -""" -lvar real allocation has been performed -""" - -ida_hexrays.MBA_NICE -""" -apply transformations to c code -""" - -ida_hexrays.MBA_NOFUNC -""" -function is not present, addresses might be wrong -""" - -ida_hexrays.MBA_NUMADDR -""" -display definition addresses for numbers -""" - -ida_hexrays.MBA_OVERVAR -""" -an overlapped variable has been detected -""" - -ida_hexrays.MBA_PASSREGS -""" -has 'mcallinfo_t::pass_regs' -""" - -ida_hexrays.MBA_PATTERN -""" -microcode pattern, callinfo is present -""" - -ida_hexrays.MBA_PRCDEFS -""" -use precise defeas for chain-allocated lvars -""" - -ida_hexrays.MBA_PREOPT -""" -preoptimization stage complete -""" - -ida_hexrays.MBA_REFINE -""" -may refine return value size -""" - -ida_hexrays.MBA_RETFP -""" -function returns floating point value -""" - -ida_hexrays.MBA_RETREF -""" -return type has been refined -""" - -ida_hexrays.MBA_SAVRST -""" -save-restore analysis has been performed -""" - -ida_hexrays.MBA_SHORT -""" -use short display -""" - -ida_hexrays.MBA_SPLINFO -""" -(final_type ? idb_spoiled : spoiled_regs) is valid -""" - -ida_hexrays.MBA_THUNK -""" -thunk function -""" - -ida_hexrays.MBA_VALNUM -""" -display value numbers -""" - -ida_hexrays.MBA_WINGR32 -""" -use wingraph32 -""" - -ida_hexrays.MBL_BACKPROP -""" -performed backprop_cc -""" - -ida_hexrays.MBL_CALL -""" -call information has been built -""" - -ida_hexrays.MBL_COMB -""" -needs "combine" pass -""" - -ida_hexrays.MBL_DEAD -""" -needs "eliminate deads" pass -""" - -ida_hexrays.MBL_DMT64 -""" -needs "demote 64bits" -""" - -ida_hexrays.MBL_DSLOT -""" -block for delay slot -""" - -ida_hexrays.MBL_FAKE -""" -fake block (after a tail call) -""" - -ida_hexrays.MBL_GOTO -""" -this block is a goto target -""" - -ida_hexrays.MBL_INCONST -""" -inconsistent lists: we are building them -""" - -ida_hexrays.MBL_LIST -""" -use/def lists are ready (not dirty) -""" - -ida_hexrays.MBL_NONFAKE -""" -regular block -""" - -ida_hexrays.MBL_NORET -""" -dead end block: doesn't return execution control -""" - -ida_hexrays.MBL_PRIV -""" -the specified are accepted (used in patterns) - -private block - no instructions except -""" - -ida_hexrays.MBL_PROP -""" -needs 'propagation' pass -""" - -ida_hexrays.MBL_PUSH -""" -needs "convert push/pop instructions" -""" - -ida_hexrays.MBL_TCAL -""" -aritifical call block for tail calls -""" - -ida_hexrays.MBL_VALRANGES -""" -should optimize using value ranges -""" - -ida_hexrays.NALT_VD -""" -this index is not used by ida -""" - -ida_hexrays.NF_BINVDONE -""" -temporary internal bit: inverting bits is done -""" - -ida_hexrays.NF_BITNOT -""" -The user asked to invert bits of the constant. -""" - -ida_hexrays.NF_FIXED -""" -number format has been defined by the user -""" - -ida_hexrays.NF_NEGATE -""" -The user asked to negate the constant. -""" - -ida_hexrays.NF_NEGDONE -""" -temporary internal bit: negation has been performed -""" - -ida_hexrays.NF_STROFF -""" -internal bit: used as stroff, valid iff 'is_stroff()' -""" - -ida_hexrays.OPROP_CCFLAGS -""" -condition codes register value -""" - -ida_hexrays.OPROP_FLOAT -""" -possibly floating value -""" - -ida_hexrays.OPROP_IMPDONE -""" -imported operand (a pointer) has been dereferenced -""" - -ida_hexrays.OPROP_UDEFVAL -""" -uses undefined value -""" - -ida_hexrays.OPROP_UDT -""" -a struct or union -""" - -ida_hexrays.OPTI_ADDREXPRS -""" -optimize all address expressions (&x+N; &x-&y) -""" - -ida_hexrays.OPTI_COMBINSNS -""" -may combine insns (only for optimize_insn) -""" - -ida_hexrays.OPTI_MINSTKREF -""" -may update minstkref -""" - -ida_hexrays.OPTI_NO_LDXOPT -""" -do not optimize low/high(ldx) -""" - -ida_hexrays.SHINS_LDXEA -""" -display address of ldx expressions (not used) -""" - -ida_hexrays.SHINS_NUMADDR -""" -display definition addresses for numbers -""" - -ida_hexrays.SHINS_SHORT -""" -do not display use-def chains and other attrs -""" - -ida_hexrays.SHINS_VALNUM -""" -display value numbers -""" - -ida_hexrays.ULV_PRECISE_DEFEA -""" -Use precise defea's for lvar locations. -""" - -ida_hexrays.VDRUN_APPEND -""" -Create a new file or append to existing file. -""" - -ida_hexrays.VDRUN_CMDLINE -""" -called from ida's command line -""" - -ida_hexrays.VDRUN_LUMINA -""" -use lumina server -""" - -ida_hexrays.VDRUN_MAYSTOP -""" -the user can cancel decompilation -""" - -ida_hexrays.VDRUN_NEWFILE -""" -Create a new file or overwrite existing file. -""" - -ida_hexrays.VDRUN_ONLYNEW -""" -Fail if output file already exists. -""" - -ida_hexrays.VDRUN_SENDIDB -""" -Send problematic databases to hex-rays.com. -""" - -ida_hexrays.VDRUN_SILENT -""" -Silent decompilation. -""" - -ida_hexrays.VDRUN_STATS -""" -print statistics into vd_stats.txt -""" - -ida_hexrays.VDUI_LOCKED -""" -is locked? -""" - -ida_hexrays.VDUI_VALID -""" -is valid? -""" - -ida_hexrays.VDUI_VISIBLE -""" -is visible? -""" - -ida_hexrays.VR_AT_END -""" -get value ranges after the instruction or at the block end, just after -the last instruction (if M is NULL) -""" - -ida_hexrays.VR_AT_START -""" -at the block start (if M is NULL) - -get value ranges before the instruction or -""" - -ida_hexrays.VR_EXACT -""" -valrng size will be >= vivl.size - -find exact match. if not set, the returned -""" -=== ida_hexrays EPYDOC INJECTIONS END === -ida_ida.calc_default_idaplace_flags(): - - calc_default_idaplace_flags() -> int - - - Get default disassembly line options. - - -class ida_ida.compiler_info_t(): - - Proxy of C++ compiler_info_t class - - -ida_ida.compiler_info_t.cm: - compiler_info_t_cm_get(self) -> cm_t - -ida_ida.compiler_info_t.defalign: - compiler_info_t_defalign_get(self) -> uchar - -ida_ida.compiler_info_t.id: - compiler_info_t_id_get(self) -> comp_t - -ida_ida.compiler_info_t.size_b: - compiler_info_t_size_b_get(self) -> uchar - -ida_ida.compiler_info_t.size_e: - compiler_info_t_size_e_get(self) -> uchar - -ida_ida.compiler_info_t.size_i: - compiler_info_t_size_i_get(self) -> uchar - -ida_ida.compiler_info_t.size_l: - compiler_info_t_size_l_get(self) -> uchar - -ida_ida.compiler_info_t.size_ldbl: - compiler_info_t_size_ldbl_get(self) -> uchar - -ida_ida.compiler_info_t.size_ll: - compiler_info_t_size_ll_get(self) -> uchar - -ida_ida.compiler_info_t.size_s: - compiler_info_t_size_s_get(self) -> uchar - -class ida_ida.idainfo(): - - Proxy of C++ idainfo class - - -ida_ida.idainfo.abibits: - idainfo_abibits_get(self) -> uint32 - -ida_ida.idainfo.abiname: - - get_abiname(self) -> qstring - - -ida_ida.idainfo.af: - idainfo_af_get(self) -> uint32 - -ida_ida.idainfo.af2: - idainfo_af2_get(self) -> uint32 - -ida_ida.idainfo.appcall_options: - idainfo_appcall_options_get(self) -> uint32 - -ida_ida.idainfo.apptype: - idainfo_apptype_get(self) -> ushort - -ida_ida.idainfo.asmtype: - idainfo_asmtype_get(self) -> uchar - -ida_ida.idainfo.baseaddr: - idainfo_baseaddr_get(self) -> uval_t - -ida_ida.idainfo.bin_prefix_size: - idainfo_bin_prefix_size_get(self) -> short - -ida_ida.idainfo.cc: - idainfo_cc_get(self) -> compiler_info_t - -ida_ida.idainfo.comment: - idainfo_comment_get(self) -> uchar - -ida_ida.idainfo.database_change_count: - idainfo_database_change_count_get(self) -> uint32 - -ida_ida.idainfo.datatypes: - idainfo_datatypes_get(self) -> uval_t - -ida_ida.idainfo.demnames: - idainfo_demnames_get(self) -> uchar - -ida_ida.idainfo.filetype: - idainfo_filetype_get(self) -> ushort - -ida_ida.idainfo.get_abiname(): - - get_abiname(self) -> qstring - - -ida_ida.idainfo.get_maxEA(): - - get_maxEA(self) -> ea_t - - -ida_ida.idainfo.get_minEA(): - - get_minEA(self) -> ea_t - - -ida_ida.idainfo.get_procName(): - - get_procName(self) -> qstring - - -ida_ida.idainfo.highoff: - idainfo_highoff_get(self) -> ea_t - -ida_ida.idainfo.indent: - idainfo_indent_get(self) -> uchar - -ida_ida.idainfo.lenxref: - idainfo_lenxref_get(self) -> ushort - -ida_ida.idainfo.lflags: - idainfo_lflags_get(self) -> uint32 - -ida_ida.idainfo.listnames: - idainfo_listnames_get(self) -> uchar - -ida_ida.idainfo.long_demnames: - idainfo_long_demnames_get(self) -> uint32 - -ida_ida.idainfo.lowoff: - idainfo_lowoff_get(self) -> ea_t - -ida_ida.idainfo.main: - idainfo_main_get(self) -> ea_t - -ida_ida.idainfo.margin: - idainfo_margin_get(self) -> ushort - -ida_ida.idainfo.maxEA: - - get_maxEA(self) -> ea_t - - -ida_ida.idainfo.max_autoname_len: - idainfo_max_autoname_len_get(self) -> ushort - -ida_ida.idainfo.max_ea: - idainfo_max_ea_get(self) -> ea_t - -ida_ida.idainfo.maxref: - idainfo_maxref_get(self) -> uval_t - -ida_ida.idainfo.minEA: - - get_minEA(self) -> ea_t - - -ida_ida.idainfo.min_ea: - idainfo_min_ea_get(self) -> ea_t - -ida_ida.idainfo.nametype: - idainfo_nametype_get(self) -> char - -ida_ida.idainfo.omax_ea: - idainfo_omax_ea_get(self) -> ea_t - -ida_ida.idainfo.omin_ea: - idainfo_omin_ea_get(self) -> ea_t - -ida_ida.idainfo.ostype: - idainfo_ostype_get(self) -> ushort - -ida_ida.idainfo.outflags: - idainfo_outflags_get(self) -> uint32 - -ida_ida.idainfo.procName: - - get_procName(self) -> qstring - - -ida_ida.idainfo.procname: - idainfo_procname_get(self) -> char [16] - -ida_ida.idainfo.refcmtnum: - idainfo_refcmtnum_get(self) -> uchar - -ida_ida.idainfo.s_cmtflg: - idainfo_s_cmtflg_get(self) -> uchar - -ida_ida.idainfo.s_genflags: - idainfo_s_genflags_get(self) -> ushort - -ida_ida.idainfo.s_limiter: - idainfo_s_limiter_get(self) -> uchar - -ida_ida.idainfo.s_prefflag: - idainfo_s_prefflag_get(self) -> uchar - -ida_ida.idainfo.s_xrefflag: - idainfo_s_xrefflag_get(self) -> uchar - -ida_ida.idainfo.set_maxEA(): - - set_maxEA(self, ea) - - -ida_ida.idainfo.set_minEA(): - - set_minEA(self, ea) - - -ida_ida.idainfo.short_demnames: - idainfo_short_demnames_get(self) -> uint32 - -ida_ida.idainfo.specsegs: - idainfo_specsegs_get(self) -> uchar - -ida_ida.idainfo.start_cs: - idainfo_start_cs_get(self) -> sel_t - -ida_ida.idainfo.start_ea: - idainfo_start_ea_get(self) -> ea_t - -ida_ida.idainfo.start_ip: - idainfo_start_ip_get(self) -> ea_t - -ida_ida.idainfo.start_sp: - idainfo_start_sp_get(self) -> ea_t - -ida_ida.idainfo.start_ss: - idainfo_start_ss_get(self) -> sel_t - -ida_ida.idainfo.strlit_break: - idainfo_strlit_break_get(self) -> uchar - -ida_ida.idainfo.strlit_flags: - idainfo_strlit_flags_get(self) -> uchar - -ida_ida.idainfo.strlit_pref: - idainfo_strlit_pref_get(self) -> char [16] - -ida_ida.idainfo.strlit_sernum: - idainfo_strlit_sernum_get(self) -> uval_t - -ida_ida.idainfo.strlit_zeroes: - idainfo_strlit_zeroes_get(self) -> char - -ida_ida.idainfo.strtype: - idainfo_strtype_get(self) -> int32 - -ida_ida.idainfo.tag: - idainfo_tag_get(self) -> char [3] - -ida_ida.idainfo.type_xrefnum: - idainfo_type_xrefnum_get(self) -> uchar - -ida_ida.idainfo.version: - idainfo_version_get(self) -> ushort - -ida_ida.idainfo.xrefnum: - idainfo_xrefnum_get(self) -> uchar - -ida_ida.idainfo_big_arg_align(): - - inf_big_arg_align() -> bool - - -ida_ida.idainfo_gen_lzero(): - - inf_gen_lzero() -> bool - - -ida_ida.idainfo_gen_null(): - - inf_gen_null() -> bool - - -ida_ida.idainfo_gen_tryblks(): - - inf_gen_tryblks() -> bool - - -ida_ida.idainfo_get_demname_form(): - - inf_get_demname_form() -> uchar - - - Get 'DEMNAM_MASK' bits of #demnames. - - -ida_ida.idainfo_get_pack_mode(): - - inf_get_pack_mode() -> int - - -ida_ida.idainfo_is_32bit(): - - inf_is_32bit() -> bool - - -ida_ida.idainfo_is_64bit(): - - inf_is_64bit() -> bool - - -ida_ida.idainfo_is_auto_enabled(): - - inf_is_auto_enabled() -> bool - - -ida_ida.idainfo_is_be(): - - inf_is_be() -> bool - - -ida_ida.idainfo_is_dll(): - - inf_is_dll() -> bool - - -ida_ida.idainfo_is_flat_off32(): - - inf_is_flat_off32() -> bool - - -ida_ida.idainfo_is_graph_view(): - - inf_is_graph_view() -> bool - - -ida_ida.idainfo_is_hard_float(): - - inf_is_hard_float() -> bool - - -ida_ida.idainfo_is_kernel_mode(): - - inf_is_kernel_mode() -> bool - - -ida_ida.idainfo_is_mem_aligned4(): - - inf_is_mem_aligned4() -> bool - - -ida_ida.idainfo_is_snapshot(): - - inf_is_snapshot() -> bool - - -ida_ida.idainfo_is_wide_high_byte_first(): - - inf_is_wide_high_byte_first() -> bool - - -ida_ida.idainfo_like_binary(): - - inf_like_binary() -> bool - - -ida_ida.idainfo_line_pref_with_seg(): - - inf_line_pref_with_seg() -> bool - - -ida_ida.idainfo_loading_idc(): - - inf_loading_idc() -> bool - - -ida_ida.idainfo_map_stkargs(): - - inf_map_stkargs() -> bool - - -ida_ida.idainfo_pack_stkargs(): - - inf_pack_stkargs() -> bool - - -ida_ida.idainfo_readonly_idb(): - - inf_readonly_idb() -> bool - - -ida_ida.idainfo_set_64bit(): - - inf_set_64bit(_v=True) -> bool - - -ida_ida.idainfo_set_auto_enabled(): - - inf_set_auto_enabled(_v=True) -> bool - - -ida_ida.idainfo_set_be(): - - inf_set_be(_v=True) -> bool - - -ida_ida.idainfo_set_gen_lzero(): - - inf_set_gen_lzero(_v=True) -> bool - - -ida_ida.idainfo_set_gen_null(): - - inf_set_gen_null(_v=True) -> bool - - -ida_ida.idainfo_set_gen_tryblks(): - - inf_set_gen_tryblks(_v=True) -> bool - - -ida_ida.idainfo_set_graph_view(): - - inf_set_graph_view(_v=True) -> bool - - -ida_ida.idainfo_set_line_pref_with_seg(): - - inf_set_line_pref_with_seg(_v=True) -> bool - - -ida_ida.idainfo_set_pack_mode(): - - inf_set_pack_mode(pack_mode) -> int - - -ida_ida.idainfo_set_show_auto(): - - inf_set_show_auto(_v=True) -> bool - - -ida_ida.idainfo_set_show_line_pref(): - - inf_set_show_line_pref(_v=True) -> bool - - -ida_ida.idainfo_set_show_void(): - - inf_set_show_void(_v=True) -> bool - - -ida_ida.idainfo_set_wide_high_byte_first(): - - inf_set_wide_high_byte_first(_v=True) -> bool - - -ida_ida.idainfo_show_auto(): - - inf_show_auto() -> bool - - -ida_ida.idainfo_show_line_pref(): - - inf_show_line_pref() -> bool - - -ida_ida.idainfo_show_void(): - - inf_show_void() -> bool - - -ida_ida.idainfo_stack_ldbl(): - - inf_stack_ldbl() -> bool - - -ida_ida.idainfo_stack_varargs(): - - inf_stack_varargs() -> bool - - -ida_ida.idainfo_use_allasm(): - - inf_use_allasm() -> bool - - -ida_ida.idainfo_use_gcc_layout(): - - inf_use_gcc_layout() -> bool - - -ida_ida.inf_abi_set_by_user(): - - inf_abi_set_by_user() -> bool - - -ida_ida.inf_allow_non_matched_ops(): - - inf_allow_non_matched_ops() -> bool - - -ida_ida.inf_allow_sigmulti(): - - inf_allow_sigmulti() -> bool - - -ida_ida.inf_append_sigcmt(): - - inf_append_sigcmt() -> bool - - -ida_ida.inf_big_arg_align(): - - inf_big_arg_align() -> bool - - -ida_ida.inf_check_manual_ops(): - - inf_check_manual_ops() -> bool - - -ida_ida.inf_check_unicode_strlits(): - - inf_check_unicode_strlits() -> bool - - -ida_ida.inf_coagulate_code(): - - inf_coagulate_code() -> bool - - -ida_ida.inf_coagulate_data(): - - inf_coagulate_data() -> bool - - -ida_ida.inf_compress_idb(): - - inf_compress_idb() -> bool - - -ida_ida.inf_create_all_xrefs(): - - inf_create_all_xrefs() -> bool - - -ida_ida.inf_create_func_from_call(): - - inf_create_func_from_call() -> bool - - -ida_ida.inf_create_func_from_ptr(): - - inf_create_func_from_ptr() -> bool - - -ida_ida.inf_create_func_tails(): - - inf_create_func_tails() -> bool - - -ida_ida.inf_create_jump_tables(): - - inf_create_jump_tables() -> bool - - -ida_ida.inf_create_off_on_dref(): - - inf_create_off_on_dref() -> bool - - -ida_ida.inf_create_off_using_fixup(): - - inf_create_off_using_fixup() -> bool - - -ida_ida.inf_create_strlit_on_xref(): - - inf_create_strlit_on_xref() -> bool - - -ida_ida.inf_data_offset(): - - inf_data_offset() -> bool - - -ida_ida.inf_dbg_no_store_path(): - - inf_dbg_no_store_path() -> bool - - -ida_ida.inf_decode_fpp(): - - inf_decode_fpp() -> bool - - -ida_ida.inf_del_no_xref_insns(): - - inf_del_no_xref_insns() -> bool - - -ida_ida.inf_final_pass(): - - inf_final_pass() -> bool - - -ida_ida.inf_full_sp_ana(): - - inf_full_sp_ana() -> bool - - -ida_ida.inf_gen_assume(): - - inf_gen_assume() -> bool - - -ida_ida.inf_gen_lzero(): - - inf_gen_lzero() -> bool - - -ida_ida.inf_gen_null(): - - inf_gen_null() -> bool - - -ida_ida.inf_gen_org(): - - inf_gen_org() -> bool - - -ida_ida.inf_gen_tryblks(): - - inf_gen_tryblks() -> bool - - -ida_ida.inf_get_abibits(): - - inf_get_abibits() -> uint32 - - -ida_ida.inf_get_af(): - - inf_get_af() -> uint32 - - -ida_ida.inf_get_af2(): - - inf_get_af2() -> uint32 - - -ida_ida.inf_get_af2_low(): - - inf_get_af2_low() -> ushort - - - Get/set low 16bit half of inf.af2. - - -ida_ida.inf_get_af_high(): - - inf_get_af_high() -> ushort - - -ida_ida.inf_get_af_low(): - - inf_get_af_low() -> ushort - - - Get/set low/high 16bit halves of inf.af. - - -ida_ida.inf_get_appcall_options(): - - inf_get_appcall_options() -> uint32 - - -ida_ida.inf_get_apptype(): - - inf_get_apptype() -> ushort - - -ida_ida.inf_get_asmtype(): - - inf_get_asmtype() -> uchar - - -ida_ida.inf_get_baseaddr(): - - inf_get_baseaddr() -> uval_t - - -ida_ida.inf_get_bin_prefix_size(): - - inf_get_bin_prefix_size() -> short - - -ida_ida.inf_get_cc(): - - inf_get_cc(out) -> bool - - -ida_ida.inf_get_cc_cm(): - - inf_get_cc_cm() -> cm_t - - -ida_ida.inf_get_cc_defalign(): - - inf_get_cc_defalign() -> uchar - - -ida_ida.inf_get_cc_id(): - - inf_get_cc_id() -> comp_t - - -ida_ida.inf_get_cc_size_b(): - - inf_get_cc_size_b() -> uchar - - -ida_ida.inf_get_cc_size_e(): - - inf_get_cc_size_e() -> uchar - - -ida_ida.inf_get_cc_size_i(): - - inf_get_cc_size_i() -> uchar - - -ida_ida.inf_get_cc_size_l(): - - inf_get_cc_size_l() -> uchar - - -ida_ida.inf_get_cc_size_ldbl(): - - inf_get_cc_size_ldbl() -> uchar - - -ida_ida.inf_get_cc_size_ll(): - - inf_get_cc_size_ll() -> uchar - - -ida_ida.inf_get_cc_size_s(): - - inf_get_cc_size_s() -> uchar - - -ida_ida.inf_get_cmtflg(): - - inf_get_cmtflg() -> uchar - - -ida_ida.inf_get_comment(): - - inf_get_comment() -> uchar - - -ida_ida.inf_get_database_change_count(): - - inf_get_database_change_count() -> uint32 - - -ida_ida.inf_get_datatypes(): - - inf_get_datatypes() -> uval_t - - -ida_ida.inf_get_demname_form(): - - inf_get_demname_form() -> uchar - - - Get 'DEMNAM_MASK' bits of #demnames. - - -ida_ida.inf_get_demnames(): - - inf_get_demnames() -> uchar - - -ida_ida.inf_get_filetype(): - - inf_get_filetype() -> filetype_t - - -ida_ida.inf_get_genflags(): - - inf_get_genflags() -> ushort - - -ida_ida.inf_get_highoff(): - - inf_get_highoff() -> ea_t - - -ida_ida.inf_get_indent(): - - inf_get_indent() -> uchar - - -ida_ida.inf_get_lenxref(): - - inf_get_lenxref() -> ushort - - -ida_ida.inf_get_lflags(): - - inf_get_lflags() -> uint32 - - -ida_ida.inf_get_limiter(): - - inf_get_limiter() -> uchar - - -ida_ida.inf_get_listnames(): - - inf_get_listnames() -> uchar - - -ida_ida.inf_get_long_demnames(): - - inf_get_long_demnames() -> uint32 - - -ida_ida.inf_get_lowoff(): - - inf_get_lowoff() -> ea_t - - -ida_ida.inf_get_main(): - - inf_get_main() -> ea_t - - -ida_ida.inf_get_margin(): - - inf_get_margin() -> ushort - - -ida_ida.inf_get_max_autoname_len(): - - inf_get_max_autoname_len() -> ushort - - -ida_ida.inf_get_max_ea(): - - inf_get_max_ea() -> ea_t - - -ida_ida.inf_get_maxref(): - - inf_get_maxref() -> uval_t - - -ida_ida.inf_get_min_ea(): - - inf_get_min_ea() -> ea_t - - -ida_ida.inf_get_nametype(): - - inf_get_nametype() -> char - - -ida_ida.inf_get_netdelta(): - - inf_get_netdelta() -> sval_t - - -ida_ida.inf_get_omax_ea(): - - inf_get_omax_ea() -> ea_t - - -ida_ida.inf_get_omin_ea(): - - inf_get_omin_ea() -> ea_t - - -ida_ida.inf_get_ostype(): - - inf_get_ostype() -> ushort - - -ida_ida.inf_get_outflags(): - - inf_get_outflags() -> uint32 - - -ida_ida.inf_get_pack_mode(): - - inf_get_pack_mode() -> int - - -ida_ida.inf_get_prefflag(): - - inf_get_prefflag() -> uchar - - -ida_ida.inf_get_privrange(): - - inf_get_privrange(out) -> bool - inf_get_privrange() -> range_t - - -ida_ida.inf_get_privrange_end_ea(): - - inf_get_privrange_end_ea() -> ea_t - - -ida_ida.inf_get_privrange_start_ea(): - - inf_get_privrange_start_ea() -> ea_t - - -ida_ida.inf_get_procname(): - - inf_get_procname() -> bool - - -ida_ida.inf_get_refcmtnum(): - - inf_get_refcmtnum() -> uchar - - -ida_ida.inf_get_short_demnames(): - - inf_get_short_demnames() -> uint32 - - -ida_ida.inf_get_specsegs(): - - inf_get_specsegs() -> uchar - - -ida_ida.inf_get_start_cs(): - - inf_get_start_cs() -> sel_t - - -ida_ida.inf_get_start_ea(): - - inf_get_start_ea() -> ea_t - - -ida_ida.inf_get_start_ip(): - - inf_get_start_ip() -> ea_t - - -ida_ida.inf_get_start_sp(): - - inf_get_start_sp() -> ea_t - - -ida_ida.inf_get_start_ss(): - - inf_get_start_ss() -> sel_t - - -ida_ida.inf_get_strlit_break(): - - inf_get_strlit_break() -> uchar - - -ida_ida.inf_get_strlit_flags(): - - inf_get_strlit_flags() -> uchar - - -ida_ida.inf_get_strlit_pref(): - - inf_get_strlit_pref() -> bool - - -ida_ida.inf_get_strlit_sernum(): - - inf_get_strlit_sernum() -> uval_t - - -ida_ida.inf_get_strlit_zeroes(): - - inf_get_strlit_zeroes() -> char - - -ida_ida.inf_get_strtype(): - - inf_get_strtype() -> int32 - - -ida_ida.inf_get_type_xrefnum(): - - inf_get_type_xrefnum() -> uchar - - -ida_ida.inf_get_version(): - - inf_get_version() -> ushort - - -ida_ida.inf_get_xrefflag(): - - inf_get_xrefflag() -> uchar - - -ida_ida.inf_get_xrefnum(): - - inf_get_xrefnum() -> uchar - - -ida_ida.inf_guess_func_type(): - - inf_guess_func_type() -> bool - - -ida_ida.inf_handle_eh(): - - inf_handle_eh() -> bool - - -ida_ida.inf_handle_rtti(): - - inf_handle_rtti() -> bool - - -ida_ida.inf_hide_comments(): - - inf_hide_comments() -> bool - - -ida_ida.inf_hide_libfuncs(): - - inf_hide_libfuncs() -> bool - - -ida_ida.inf_inc_database_change_count(): - - inf_inc_database_change_count(cnt=1) - - -ida_ida.inf_is_32bit(): - - inf_is_32bit() -> bool - - -ida_ida.inf_is_64bit(): - - inf_is_64bit() -> bool - - -ida_ida.inf_is_auto_enabled(): - - inf_is_auto_enabled() -> bool - - -ida_ida.inf_is_be(): - - inf_is_be() -> bool - - -ida_ida.inf_is_dll(): - - inf_is_dll() -> bool - - -ida_ida.inf_is_flat_off32(): - - inf_is_flat_off32() -> bool - - -ida_ida.inf_is_graph_view(): - - inf_is_graph_view() -> bool - - -ida_ida.inf_is_hard_float(): - - inf_is_hard_float() -> bool - - -ida_ida.inf_is_kernel_mode(): - - inf_is_kernel_mode() -> bool - - -ida_ida.inf_is_limiter_empty(): - - inf_is_limiter_empty() -> bool - - -ida_ida.inf_is_limiter_thick(): - - inf_is_limiter_thick() -> bool - - -ida_ida.inf_is_limiter_thin(): - - inf_is_limiter_thin() -> bool - - -ida_ida.inf_is_mem_aligned4(): - - inf_is_mem_aligned4() -> bool - - -ida_ida.inf_is_snapshot(): - - inf_is_snapshot() -> bool - - -ida_ida.inf_is_wide_high_byte_first(): - - inf_is_wide_high_byte_first() -> bool - - -ida_ida.inf_like_binary(): - - inf_like_binary() -> bool - - -ida_ida.inf_line_pref_with_seg(): - - inf_line_pref_with_seg() -> bool - - -ida_ida.inf_loading_idc(): - - inf_loading_idc() -> bool - - -ida_ida.inf_macros_enabled(): - - inf_macros_enabled() -> bool - - -ida_ida.inf_map_stkargs(): - - inf_map_stkargs() -> bool - - -ida_ida.inf_mark_code(): - - inf_mark_code() -> bool - - -ida_ida.inf_no_store_user_info(): - - inf_no_store_user_info() -> bool - - -ida_ida.inf_noflow_to_data(): - - inf_noflow_to_data() -> bool - - -ida_ida.inf_noret_ana(): - - inf_noret_ana() -> bool - - -ida_ida.inf_op_offset(): - - inf_op_offset() -> bool - - -ida_ida.inf_pack_idb(): - - inf_pack_idb() -> bool - - -ida_ida.inf_pack_stkargs(): - - inf_pack_stkargs() -> bool - - -ida_ida.inf_postinc_strlit_sernum(): - - inf_postinc_strlit_sernum(cnt=1) -> uval_t - - -ida_ida.inf_prefix_show_funcoff(): - - inf_prefix_show_funcoff() -> bool - - -ida_ida.inf_prefix_show_segaddr(): - - inf_prefix_show_segaddr() -> bool - - -ida_ida.inf_prefix_show_stack(): - - inf_prefix_show_stack() -> bool - - -ida_ida.inf_propagate_regargs(): - - inf_propagate_regargs() -> bool - - -ida_ida.inf_propagate_stkargs(): - - inf_propagate_stkargs() -> bool - - -ida_ida.inf_readonly_idb(): - - inf_readonly_idb() -> bool - - -ida_ida.inf_rename_jumpfunc(): - - inf_rename_jumpfunc() -> bool - - -ida_ida.inf_rename_nullsub(): - - inf_rename_nullsub() -> bool - - -ida_ida.inf_set_32bit(): - - inf_set_32bit(_v=True) -> bool - - -ida_ida.inf_set_64bit(): - - inf_set_64bit(_v=True) -> bool - - -ida_ida.inf_set_abi_set_by_user(): - - inf_set_abi_set_by_user(_v=True) -> bool - - -ida_ida.inf_set_abibits(): - - inf_set_abibits(_v) -> bool - - -ida_ida.inf_set_af(): - - inf_set_af(_v) -> bool - - -ida_ida.inf_set_af2(): - - inf_set_af2(_v) -> bool - - -ida_ida.inf_set_af2_low(): - - inf_set_af2_low(saf) - - -ida_ida.inf_set_af_high(): - - inf_set_af_high(saf2) - - -ida_ida.inf_set_af_low(): - - inf_set_af_low(saf) - - -ida_ida.inf_set_allow_non_matched_ops(): - - inf_set_allow_non_matched_ops(_v=True) -> bool - - -ida_ida.inf_set_allow_sigmulti(): - - inf_set_allow_sigmulti(_v=True) -> bool - - -ida_ida.inf_set_appcall_options(): - - inf_set_appcall_options(_v) -> bool - - -ida_ida.inf_set_append_sigcmt(): - - inf_set_append_sigcmt(_v=True) -> bool - - -ida_ida.inf_set_apptype(): - - inf_set_apptype(_v) -> bool - - -ida_ida.inf_set_asmtype(): - - inf_set_asmtype(_v) -> bool - - -ida_ida.inf_set_auto_enabled(): - - inf_set_auto_enabled(_v=True) -> bool - - -ida_ida.inf_set_baseaddr(): - - inf_set_baseaddr(_v) -> bool - - -ida_ida.inf_set_be(): - - inf_set_be(_v=True) -> bool - - -ida_ida.inf_set_big_arg_align(): - - inf_set_big_arg_align(_v=True) -> bool - - -ida_ida.inf_set_bin_prefix_size(): - - inf_set_bin_prefix_size(_v) -> bool - - -ida_ida.inf_set_cc(): - - inf_set_cc(_v) -> bool - - -ida_ida.inf_set_cc_cm(): - - inf_set_cc_cm(_v) -> bool - - -ida_ida.inf_set_cc_defalign(): - - inf_set_cc_defalign(_v) -> bool - - -ida_ida.inf_set_cc_id(): - - inf_set_cc_id(_v) -> bool - - -ida_ida.inf_set_cc_size_b(): - - inf_set_cc_size_b(_v) -> bool - - -ida_ida.inf_set_cc_size_e(): - - inf_set_cc_size_e(_v) -> bool - - -ida_ida.inf_set_cc_size_i(): - - inf_set_cc_size_i(_v) -> bool - - -ida_ida.inf_set_cc_size_l(): - - inf_set_cc_size_l(_v) -> bool - - -ida_ida.inf_set_cc_size_ldbl(): - - inf_set_cc_size_ldbl(_v) -> bool - - -ida_ida.inf_set_cc_size_ll(): - - inf_set_cc_size_ll(_v) -> bool - - -ida_ida.inf_set_cc_size_s(): - - inf_set_cc_size_s(_v) -> bool - - -ida_ida.inf_set_check_manual_ops(): - - inf_set_check_manual_ops(_v=True) -> bool - - -ida_ida.inf_set_check_unicode_strlits(): - - inf_set_check_unicode_strlits(_v=True) -> bool - - -ida_ida.inf_set_cmtflg(): - - inf_set_cmtflg(_v) -> bool - - -ida_ida.inf_set_coagulate_code(): - - inf_set_coagulate_code(_v=True) -> bool - - -ida_ida.inf_set_coagulate_data(): - - inf_set_coagulate_data(_v=True) -> bool - - -ida_ida.inf_set_comment(): - - inf_set_comment(_v) -> bool - - -ida_ida.inf_set_compress_idb(): - - inf_set_compress_idb(_v=True) -> bool - - -ida_ida.inf_set_create_all_xrefs(): - - inf_set_create_all_xrefs(_v=True) -> bool - - -ida_ida.inf_set_create_func_from_call(): - - inf_set_create_func_from_call(_v=True) -> bool - - -ida_ida.inf_set_create_func_from_ptr(): - - inf_set_create_func_from_ptr(_v=True) -> bool - - -ida_ida.inf_set_create_func_tails(): - - inf_set_create_func_tails(_v=True) -> bool - - -ida_ida.inf_set_create_jump_tables(): - - inf_set_create_jump_tables(_v=True) -> bool - - -ida_ida.inf_set_create_off_on_dref(): - - inf_set_create_off_on_dref(_v=True) -> bool - - -ida_ida.inf_set_create_off_using_fixup(): - - inf_set_create_off_using_fixup(_v=True) -> bool - - -ida_ida.inf_set_create_strlit_on_xref(): - - inf_set_create_strlit_on_xref(_v=True) -> bool - - -ida_ida.inf_set_data_offset(): - - inf_set_data_offset(_v=True) -> bool - - -ida_ida.inf_set_database_change_count(): - - inf_set_database_change_count(_v) -> bool - - -ida_ida.inf_set_datatypes(): - - inf_set_datatypes(_v) -> bool - - -ida_ida.inf_set_dbg_no_store_path(): - - inf_set_dbg_no_store_path(_v=True) -> bool - - -ida_ida.inf_set_decode_fpp(): - - inf_set_decode_fpp(_v=True) -> bool - - -ida_ida.inf_set_del_no_xref_insns(): - - inf_set_del_no_xref_insns(_v=True) -> bool - - -ida_ida.inf_set_demnames(): - - inf_set_demnames(_v) -> bool - - -ida_ida.inf_set_dll(): - - inf_set_dll(_v=True) -> bool - - -ida_ida.inf_set_filetype(): - - inf_set_filetype(_v) -> bool - - -ida_ida.inf_set_final_pass(): - - inf_set_final_pass(_v=True) -> bool - - -ida_ida.inf_set_flat_off32(): - - inf_set_flat_off32(_v=True) -> bool - - -ida_ida.inf_set_full_sp_ana(): - - inf_set_full_sp_ana(_v=True) -> bool - - -ida_ida.inf_set_gen_assume(): - - inf_set_gen_assume(_v=True) -> bool - - -ida_ida.inf_set_gen_lzero(): - - inf_set_gen_lzero(_v=True) -> bool - - -ida_ida.inf_set_gen_null(): - - inf_set_gen_null(_v=True) -> bool - - -ida_ida.inf_set_gen_org(): - - inf_set_gen_org(_v=True) -> bool - - -ida_ida.inf_set_gen_tryblks(): - - inf_set_gen_tryblks(_v=True) -> bool - - -ida_ida.inf_set_genflags(): - - inf_set_genflags(_v) -> bool - - -ida_ida.inf_set_graph_view(): - - inf_set_graph_view(_v=True) -> bool - - -ida_ida.inf_set_guess_func_type(): - - inf_set_guess_func_type(_v=True) -> bool - - -ida_ida.inf_set_handle_eh(): - - inf_set_handle_eh(_v=True) -> bool - - -ida_ida.inf_set_handle_rtti(): - - inf_set_handle_rtti(_v=True) -> bool - - -ida_ida.inf_set_hard_float(): - - inf_set_hard_float(_v=True) -> bool - - -ida_ida.inf_set_hide_comments(): - - inf_set_hide_comments(_v=True) -> bool - - -ida_ida.inf_set_hide_libfuncs(): - - inf_set_hide_libfuncs(_v=True) -> bool - - -ida_ida.inf_set_highoff(): - - inf_set_highoff(_v) -> bool - - -ida_ida.inf_set_indent(): - - inf_set_indent(_v) -> bool - - -ida_ida.inf_set_kernel_mode(): - - inf_set_kernel_mode(_v=True) -> bool - - -ida_ida.inf_set_lenxref(): - - inf_set_lenxref(_v) -> bool - - -ida_ida.inf_set_lflags(): - - inf_set_lflags(_v) -> bool - - -ida_ida.inf_set_limiter(): - - inf_set_limiter(_v) -> bool - - -ida_ida.inf_set_limiter_empty(): - - inf_set_limiter_empty(_v=True) -> bool - - -ida_ida.inf_set_limiter_thick(): - - inf_set_limiter_thick(_v=True) -> bool - - -ida_ida.inf_set_limiter_thin(): - - inf_set_limiter_thin(_v=True) -> bool - - -ida_ida.inf_set_line_pref_with_seg(): - - inf_set_line_pref_with_seg(_v=True) -> bool - - -ida_ida.inf_set_listnames(): - - inf_set_listnames(_v) -> bool - - -ida_ida.inf_set_loading_idc(): - - inf_set_loading_idc(_v=True) -> bool - - -ida_ida.inf_set_long_demnames(): - - inf_set_long_demnames(_v) -> bool - - -ida_ida.inf_set_lowoff(): - - inf_set_lowoff(_v) -> bool - - -ida_ida.inf_set_macros_enabled(): - - inf_set_macros_enabled(_v=True) -> bool - - -ida_ida.inf_set_main(): - - inf_set_main(_v) -> bool - - -ida_ida.inf_set_map_stkargs(): - - inf_set_map_stkargs(_v=True) -> bool - - -ida_ida.inf_set_margin(): - - inf_set_margin(_v) -> bool - - -ida_ida.inf_set_mark_code(): - - inf_set_mark_code(_v=True) -> bool - - -ida_ida.inf_set_max_autoname_len(): - - inf_set_max_autoname_len(_v) -> bool - - -ida_ida.inf_set_max_ea(): - - inf_set_max_ea(_v) -> bool - - -ida_ida.inf_set_maxref(): - - inf_set_maxref(_v) -> bool - - -ida_ida.inf_set_mem_aligned4(): - - inf_set_mem_aligned4(_v=True) -> bool - - -ida_ida.inf_set_min_ea(): - - inf_set_min_ea(_v) -> bool - - -ida_ida.inf_set_nametype(): - - inf_set_nametype(_v) -> bool - - -ida_ida.inf_set_netdelta(): - - inf_set_netdelta(_v) -> bool - - -ida_ida.inf_set_no_store_user_info(): - - inf_set_no_store_user_info(_v=True) -> bool - - -ida_ida.inf_set_noflow_to_data(): - - inf_set_noflow_to_data(_v=True) -> bool - - -ida_ida.inf_set_noret_ana(): - - inf_set_noret_ana(_v=True) -> bool - - -ida_ida.inf_set_omax_ea(): - - inf_set_omax_ea(_v) -> bool - - -ida_ida.inf_set_omin_ea(): - - inf_set_omin_ea(_v) -> bool - - -ida_ida.inf_set_op_offset(): - - inf_set_op_offset(_v=True) -> bool - - -ida_ida.inf_set_ostype(): - - inf_set_ostype(_v) -> bool - - -ida_ida.inf_set_outflags(): - - inf_set_outflags(_v) -> bool - - -ida_ida.inf_set_pack_idb(): - - inf_set_pack_idb(_v=True) -> bool - - -ida_ida.inf_set_pack_mode(): - - inf_set_pack_mode(pack_mode) -> int - - -ida_ida.inf_set_pack_stkargs(): - - inf_set_pack_stkargs(_v=True) -> bool - - -ida_ida.inf_set_prefflag(): - - inf_set_prefflag(_v) -> bool - - -ida_ida.inf_set_prefix_show_funcoff(): - - inf_set_prefix_show_funcoff(_v=True) -> bool - - -ida_ida.inf_set_prefix_show_segaddr(): - - inf_set_prefix_show_segaddr(_v=True) -> bool - - -ida_ida.inf_set_prefix_show_stack(): - - inf_set_prefix_show_stack(_v=True) -> bool - - -ida_ida.inf_set_privrange(): - - inf_set_privrange(_v) -> bool - - -ida_ida.inf_set_privrange_end_ea(): - - inf_set_privrange_end_ea(_v) -> bool - - -ida_ida.inf_set_privrange_start_ea(): - - inf_set_privrange_start_ea(_v) -> bool - - -ida_ida.inf_set_procname(): - - inf_set_procname(_v, len=size_t(-1)) -> bool - - -ida_ida.inf_set_propagate_regargs(): - - inf_set_propagate_regargs(_v=True) -> bool - - -ida_ida.inf_set_propagate_stkargs(): - - inf_set_propagate_stkargs(_v=True) -> bool - - -ida_ida.inf_set_readonly_idb(): - - inf_set_readonly_idb(_v=True) -> bool - - -ida_ida.inf_set_refcmtnum(): - - inf_set_refcmtnum(_v) -> bool - - -ida_ida.inf_set_rename_jumpfunc(): - - inf_set_rename_jumpfunc(_v=True) -> bool - - -ida_ida.inf_set_rename_nullsub(): - - inf_set_rename_nullsub(_v=True) -> bool - - -ida_ida.inf_set_short_demnames(): - - inf_set_short_demnames(_v) -> bool - - -ida_ida.inf_set_should_create_stkvars(): - - inf_set_should_create_stkvars(_v=True) -> bool - - -ida_ida.inf_set_should_trace_sp(): - - inf_set_should_trace_sp(_v=True) -> bool - - -ida_ida.inf_set_show_all_comments(): - - inf_set_show_all_comments(_v=True) -> bool - - -ida_ida.inf_set_show_auto(): - - inf_set_show_auto(_v=True) -> bool - - -ida_ida.inf_set_show_hidden_funcs(): - - inf_set_show_hidden_funcs(_v=True) -> bool - - -ida_ida.inf_set_show_hidden_insns(): - - inf_set_show_hidden_insns(_v=True) -> bool - - -ida_ida.inf_set_show_hidden_segms(): - - inf_set_show_hidden_segms(_v=True) -> bool - - -ida_ida.inf_set_show_line_pref(): - - inf_set_show_line_pref(_v=True) -> bool - - -ida_ida.inf_set_show_repeatables(): - - inf_set_show_repeatables(_v=True) -> bool - - -ida_ida.inf_set_show_src_linnum(): - - inf_set_show_src_linnum(_v=True) -> bool - - -ida_ida.inf_set_show_void(): - - inf_set_show_void(_v=True) -> bool - - -ida_ida.inf_set_show_xref_fncoff(): - - inf_set_show_xref_fncoff(_v=True) -> bool - - -ida_ida.inf_set_show_xref_seg(): - - inf_set_show_xref_seg(_v=True) -> bool - - -ida_ida.inf_set_show_xref_tmarks(): - - inf_set_show_xref_tmarks(_v=True) -> bool - - -ida_ida.inf_set_show_xref_val(): - - inf_set_show_xref_val(_v=True) -> bool - - -ida_ida.inf_set_snapshot(): - - inf_set_snapshot(_v=True) -> bool - - -ida_ida.inf_set_specsegs(): - - inf_set_specsegs(_v) -> bool - - -ida_ida.inf_set_stack_ldbl(): - - inf_set_stack_ldbl(_v=True) -> bool - - -ida_ida.inf_set_stack_varargs(): - - inf_set_stack_varargs(_v=True) -> bool - - -ida_ida.inf_set_start_cs(): - - inf_set_start_cs(_v) -> bool - - -ida_ida.inf_set_start_ea(): - - inf_set_start_ea(_v) -> bool - - -ida_ida.inf_set_start_ip(): - - inf_set_start_ip(_v) -> bool - - -ida_ida.inf_set_start_sp(): - - inf_set_start_sp(_v) -> bool - - -ida_ida.inf_set_start_ss(): - - inf_set_start_ss(_v) -> bool - - -ida_ida.inf_set_strlit_autocmt(): - - inf_set_strlit_autocmt(_v=True) -> bool - - -ida_ida.inf_set_strlit_break(): - - inf_set_strlit_break(_v) -> bool - - -ida_ida.inf_set_strlit_flags(): - - inf_set_strlit_flags(_v) -> bool - - -ida_ida.inf_set_strlit_name_bit(): - - inf_set_strlit_name_bit(_v=True) -> bool - - -ida_ida.inf_set_strlit_names(): - - inf_set_strlit_names(_v=True) -> bool - - -ida_ida.inf_set_strlit_pref(): - - inf_set_strlit_pref(_v, len=size_t(-1)) -> bool - - -ida_ida.inf_set_strlit_savecase(): - - inf_set_strlit_savecase(_v=True) -> bool - - -ida_ida.inf_set_strlit_serial_names(): - - inf_set_strlit_serial_names(_v=True) -> bool - - -ida_ida.inf_set_strlit_sernum(): - - inf_set_strlit_sernum(_v) -> bool - - -ida_ida.inf_set_strlit_zeroes(): - - inf_set_strlit_zeroes(_v) -> bool - - -ida_ida.inf_set_strtype(): - - inf_set_strtype(_v) -> bool - - -ida_ida.inf_set_test_mode(): - - inf_set_test_mode(_v=True) -> bool - - -ida_ida.inf_set_trace_flow(): - - inf_set_trace_flow(_v=True) -> bool - - -ida_ida.inf_set_truncate_on_del(): - - inf_set_truncate_on_del(_v=True) -> bool - - -ida_ida.inf_set_type_xrefnum(): - - inf_set_type_xrefnum(_v) -> bool - - -ida_ida.inf_set_unicode_strlits(): - - inf_set_unicode_strlits(_v=True) -> bool - - -ida_ida.inf_set_use_allasm(): - - inf_set_use_allasm(_v=True) -> bool - - -ida_ida.inf_set_use_flirt(): - - inf_set_use_flirt(_v=True) -> bool - - -ida_ida.inf_set_use_gcc_layout(): - - inf_set_use_gcc_layout(_v=True) -> bool - - -ida_ida.inf_set_version(): - - inf_set_version(_v) -> bool - - -ida_ida.inf_set_wide_high_byte_first(): - - inf_set_wide_high_byte_first(_v=True) -> bool - - -ida_ida.inf_set_xrefflag(): - - inf_set_xrefflag(_v) -> bool - - -ida_ida.inf_set_xrefnum(): - - inf_set_xrefnum(_v) -> bool - - -ida_ida.inf_should_create_stkvars(): - - inf_should_create_stkvars() -> bool - - -ida_ida.inf_should_trace_sp(): - - inf_should_trace_sp() -> bool - - -ida_ida.inf_show_all_comments(): - - inf_show_all_comments() -> bool - - -ida_ida.inf_show_auto(): - - inf_show_auto() -> bool - - -ida_ida.inf_show_hidden_funcs(): - - inf_show_hidden_funcs() -> bool - - -ida_ida.inf_show_hidden_insns(): - - inf_show_hidden_insns() -> bool - - -ida_ida.inf_show_hidden_segms(): - - inf_show_hidden_segms() -> bool - - -ida_ida.inf_show_line_pref(): - - inf_show_line_pref() -> bool - - -ida_ida.inf_show_repeatables(): - - inf_show_repeatables() -> bool - - -ida_ida.inf_show_src_linnum(): - - inf_show_src_linnum() -> bool - - -ida_ida.inf_show_void(): - - inf_show_void() -> bool - - -ida_ida.inf_show_xref_fncoff(): - - inf_show_xref_fncoff() -> bool - - -ida_ida.inf_show_xref_seg(): - - inf_show_xref_seg() -> bool - - -ida_ida.inf_show_xref_tmarks(): - - inf_show_xref_tmarks() -> bool - - -ida_ida.inf_show_xref_val(): - - inf_show_xref_val() -> bool - - -ida_ida.inf_stack_ldbl(): - - inf_stack_ldbl() -> bool - - -ida_ida.inf_stack_varargs(): - - inf_stack_varargs() -> bool - - -ida_ida.inf_strlit_autocmt(): - - inf_strlit_autocmt() -> bool - - -ida_ida.inf_strlit_name_bit(): - - inf_strlit_name_bit() -> bool - - -ida_ida.inf_strlit_names(): - - inf_strlit_names() -> bool - - -ida_ida.inf_strlit_savecase(): - - inf_strlit_savecase() -> bool - - -ida_ida.inf_strlit_serial_names(): - - inf_strlit_serial_names() -> bool - - -ida_ida.inf_test_mode(): - - inf_test_mode() -> bool - - -ida_ida.inf_trace_flow(): - - inf_trace_flow() -> bool - - -ida_ida.inf_truncate_on_del(): - - inf_truncate_on_del() -> bool - - -ida_ida.inf_unicode_strlits(): - - inf_unicode_strlits() -> bool - - -ida_ida.inf_use_allasm(): - - inf_use_allasm() -> bool - - -ida_ida.inf_use_flirt(): - - inf_use_flirt() -> bool - - -ida_ida.inf_use_gcc_layout(): - - inf_use_gcc_layout() -> bool - - -ida_ida.is_filetype_like_binary(): - - is_filetype_like_binary(ft) -> bool - - - Is unstructured input file? - - - @param ft (C++: filetype_t) - - -ida_ida.macros_enabled(): - - inf_macros_enabled() -> bool - - -ida_ida.should_create_stkvars(): - - inf_should_create_stkvars() -> bool - - -ida_ida.should_trace_sp(): - - inf_should_trace_sp() -> bool - - -ida_ida.show_all_comments(): - - inf_show_all_comments() -> bool - - -ida_ida.show_repeatables(): - - inf_show_repeatables() -> bool - - -ida_ida.to_ea(): - - to_ea(reg_cs, reg_ip) -> ea_t - - - Convert (seg,off) value to a linear address. - - - @param reg_cs (C++: sel_t) - @param reg_ip (C++: ea_t) - - - -=== ida_ida EPYDOC INJECTIONS === -ida_ida.ABI_8ALIGN4 -""" -4 byte alignment for 8byte scalars (__int64/double) inside structures? -""" - -ida_ida.ABI_BIGARG_ALIGN -""" -(e.g. __int64 argument should be 8byte aligned on some 32bit -platforms) - -use natural type alignment for argument if the alignment exceeds -native word size -""" - -ida_ida.ABI_GCC_LAYOUT -""" -use gcc layout for udts (used for mingw) -""" - -ida_ida.ABI_HARD_FLOAT -""" -use the floating-point register set -""" - -ida_ida.ABI_MAP_STKARGS -""" -register arguments are mapped to stack area (and consume stack slots) -""" - -ida_ida.ABI_PACK_STKARGS -""" -do not align stack arguments to stack slots -""" - -ida_ida.ABI_SET_BY_USER -""" -compiler/abi were set by user flag and require SETCOMP_BY_USER flag to -be changed -""" - -ida_ida.ABI_STACK_LDBL -""" -long double arguments are passed on stack -""" - -ida_ida.ABI_STACK_VARARGS -""" -varargs are always passed on stack (even when there are free -registers) -""" - -ida_ida.AF2_DOEH -""" -Handle EH information. -""" - -ida_ida.AF2_DORTTI -""" -Handle RTTI information. -""" - -ida_ida.AF2_MACRO -""" -Try to combine several instructions into a macro instruction -""" - -ida_ida.AF_ANORET -""" -Perform 'no-return' analysis. -""" - -ida_ida.AF_CHKUNI -""" -Check for unicode strings. -""" - -ida_ida.AF_CODE -""" -Trace execution flow. -""" - -ida_ida.AF_DATOFF -""" -Automatically convert data to offsets. -""" - -ida_ida.AF_DOCODE -""" -Coagulate code segs at the final pass. -""" - -ida_ida.AF_DODATA -""" -Coagulate data segs at the final pass. -""" - -ida_ida.AF_DREFOFF -""" -Create offset if data xref to seg32 exists. -""" - -ida_ida.AF_FINAL -""" -Final pass of analysis. -""" - -ida_ida.AF_FIXUP -""" -Create offsets and segments using fixup info. -""" - -ida_ida.AF_FLIRT -""" -Use flirt signatures. -""" - -ida_ida.AF_FTAIL -""" -Create function tails. -""" - -ida_ida.AF_HFLIRT -""" -Automatically hide library functions. -""" - -ida_ida.AF_IMMOFF -""" -Convert 32bit instruction operand to offset. -""" - -ida_ida.AF_JFUNC -""" -Rename jump functions as j_... -""" - -ida_ida.AF_JUMPTBL -""" -Locate and create jump tables. -""" - -ida_ida.AF_LVAR -""" -Create stack variables. -""" - -ida_ida.AF_MARKCODE -""" -Mark typical code sequences as code. -""" - -ida_ida.AF_MEMFUNC -""" -Try to guess member function types. -""" - -ida_ida.AF_NULLSUB -""" -Rename empty functions as nullsub_... -""" - -ida_ida.AF_PROC -""" -Create functions if call is present. -""" - -ida_ida.AF_PROCPTR -""" -Create function if data xref data->code32 exists. -""" - -ida_ida.AF_PURDAT -""" -Control flow to data segment is ignored. -""" - -ida_ida.AF_REGARG -""" -Propagate register argument information. -""" - -ida_ida.AF_SIGCMT -""" -Append a signature name comment for recognized anonymous library -functions. -""" - -ida_ida.AF_SIGMLT -""" -Allow recognition of several copies of the same function. -""" - -ida_ida.AF_STKARG -""" -Propagate stack argument information. -""" - -ida_ida.AF_STRLIT -""" -Create string literal if data xref exists. -""" - -ida_ida.AF_TRACE -""" -Trace stack pointer. -""" - -ida_ida.AF_TRFUNC -""" -Truncate functions upon code deletion. -""" - -ida_ida.AF_UNK -""" -Delete instructions with no xrefs. -""" - -ida_ida.AF_USED -""" -Analyze and create all xrefs. -""" - -ida_ida.AF_VERSP -""" -Perform full SP-analysis. (\\ph{verify_sp}) -""" - -ida_ida.DEMNAM_CMNT -""" -display demangled names as comments -""" - -ida_ida.DEMNAM_FIRST -""" -override type info -""" - -ida_ida.DEMNAM_GCC3 -""" -assume gcc3 names (valid for gnu compiler) -""" - -ida_ida.DEMNAM_MASK -""" -mask for name form -""" - -ida_ida.DEMNAM_NAME -""" -display demangled names as regular names -""" - -ida_ida.DEMNAM_NONE -""" -don't display demangled names -""" - -ida_ida.IDAINFO_TAG_SIZE -""" -The database parameters. This structure is kept in the ida database. -It contains the essential parameters for the current program -""" - -ida_ida.IDB_COMPRESSED -""" -compress & pack database components -""" - -ida_ida.IDB_PACKED -""" -pack database components into .idb -""" - -ida_ida.IDB_UNPACKED -""" -leave database components unpacked -""" - -ida_ida.INFFL_ALLASM -""" -the target assembler - -may use constructs not supported by -""" - -ida_ida.INFFL_AUTO -""" -Autoanalysis is enabled? -""" - -ida_ida.INFFL_CHKOPS -""" -check manual operands? (unused) -""" - -ida_ida.INFFL_GRAPH_VIEW -""" -currently using graph options (\\dto{graph}) -""" - -ida_ida.INFFL_LOADIDC -""" -loading an idc file that contains database info -""" - -ida_ida.INFFL_NMOPS -""" -allow non-matched operands? (unused) -""" - -ida_ida.INFFL_NOUSER -""" -do not store user info in the database -""" - -ida_ida.INFFL_READONLY -""" -(internal) temporary interdiction to modify the database -""" - -ida_ida.LFLG_64BIT -""" -64-bit program? -""" - -ida_ida.LFLG_COMPRESS -""" -compress the database? -""" - -ida_ida.LFLG_DBG_NOPATH -""" -do not store input full path in debugger process options -""" - -ida_ida.LFLG_FLAT_OFF32 -""" -treat 'REF_OFF32' as 32-bit offset for 16bit segments (otherwise try -SEG16:OFF16) -""" - -ida_ida.LFLG_IS_DLL -""" -Is dynamic library? -""" - -ida_ida.LFLG_KERNMODE -""" -is kernel mode binary? -""" - -ida_ida.LFLG_MSF -""" -Byte order: is MSB first? -""" - -ida_ida.LFLG_PACK -""" -pack the database? -""" - -ida_ida.LFLG_PC_FLAT -""" -32-bit program? -""" - -ida_ida.LFLG_PC_FPP -""" -decode floating point processor instructions? -""" - -ida_ida.LFLG_SNAPSHOT -""" -memory snapshot was taken? -""" - -ida_ida.LFLG_WIDE_HBF -""" -(wide bytes: \\ph{dnbits} > 8) - -Bit order of wide bytes: high byte first? -""" - -ida_ida.LMT_EMPTY -""" -empty lines at the end of basic blocks -""" - -ida_ida.LMT_THICK -""" -thick borders -""" - -ida_ida.LMT_THIN -""" -thin borders -""" - -ida_ida.LN_AUTO -""" -include autogenerated names -""" - -ida_ida.LN_NORMAL -""" -include normal names -""" - -ida_ida.LN_PUBLIC -""" -include public names -""" - -ida_ida.LN_WEAK -""" -include weak names -""" - -ida_ida.OFLG_GEN_ASSUME -""" -Generate 'assume' directives? -""" - -ida_ida.OFLG_GEN_NULL -""" -Generate empty lines? -""" - -ida_ida.OFLG_GEN_ORG -""" -Generate 'org' directives? -""" - -ida_ida.OFLG_GEN_TRYBLKS -""" -Generate try/catch directives? -""" - -ida_ida.OFLG_LZERO -""" -generate leading zeroes in numbers -""" - -ida_ida.OFLG_PREF_SEG -""" -line prefixes with segment name? -""" - -ida_ida.OFLG_SHOW_AUTO -""" -Display autoanalysis indicator? -""" - -ida_ida.OFLG_SHOW_PREF -""" -Show line prefixes? -""" - -ida_ida.OFLG_SHOW_VOID -""" -Display void marks? -""" - -ida_ida.PREF_FNCOFF -""" -show function offsets? -""" - -ida_ida.PREF_SEGADR -""" -show segment addresses? -""" - -ida_ida.PREF_STACK -""" -show stack pointer? -""" - -ida_ida.SCF_ALLCMT -""" -comment all lines? -""" - -ida_ida.SCF_LINNUM -""" -show source line numbers -""" - -ida_ida.SCF_NOCMT -""" -no comments at all -""" - -ida_ida.SCF_RPTCMT -""" -show repeatable comments? -""" - -ida_ida.SCF_SHHID_FUNC -""" -show hidden functions -""" - -ida_ida.SCF_SHHID_ITEM -""" -show hidden instructions -""" - -ida_ida.SCF_SHHID_SEGM -""" -show hidden segments -""" - -ida_ida.SCF_TESTMODE -""" -testida.idc is running -""" - -ida_ida.STRF_AUTO -""" -names have 'autogenerated' bit? -""" - -ida_ida.STRF_COMMENT -""" -generate auto comment for string references? -""" - -ida_ida.STRF_GEN -""" -generate names? -""" - -ida_ida.STRF_SAVECASE -""" -preserve case of strings for identifiers -""" - -ida_ida.STRF_SERIAL -""" -generate serial names? -""" - -ida_ida.STRF_UNICODE -""" -unicode strings are present? -""" - -ida_ida.SW_SEGXRF -""" -show segments in xrefs? -""" - -ida_ida.SW_XRFFNC -""" -show function offsets? -""" - -ida_ida.SW_XRFMRK -""" -show xref type marks? -""" - -ida_ida.SW_XRFVAL -""" -show xref values? (otherwise-"...") -""" - -ida_ida.UA_MAXOP -""" -max number of operands allowed for an instruction -""" -=== ida_ida EPYDOC INJECTIONS END === -ida_idaapi.CustomIDAMemo.CreateGroups(): - - 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). - - -ida_idaapi.CustomIDAMemo.DelNodesInfos(): - - Delete the properties for the given node(s). - - @param nodes: A list of node IDs - - -ida_idaapi.CustomIDAMemo.DeleteGroups(): - - 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. - - -ida_idaapi.CustomIDAMemo.GetNodeInfo(): - - Get the properties for the given node. - - @param node: The index of the node. - @return: A tuple (bg_color, frame_color, ea, text), or None. - - -ida_idaapi.CustomIDAMemo.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_idaapi.CustomIDAMemo.Refresh(): - - Refreshes the view. This causes the OnRefresh() to be called - - -ida_idaapi.CustomIDAMemo.SetCurrentRendererType(): - - Set the current view's renderer. - - @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. - - -ida_idaapi.CustomIDAMemo.SetGroupsVisibility(): - - 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. - - -ida_idaapi.CustomIDAMemo.SetNodeInfo(): - - 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. - - -ida_idaapi.CustomIDAMemo.SetNodesInfos(): - - 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. - - -ida_idaapi.CustomIDAMemo.hook(): - - hook(self) -> bool - - -ida_idaapi.CustomIDAMemo.unhook(): - - unhook(self) -> bool - - -ida_idaapi.CustomIDAMemo.view_created(): - - view_created(self, view) - - -ida_idaapi.IDAPython_Completion(): - - Internal utility class for auto-completion support - - -ida_idaapi.IDAPython_ExecScript(): - - Run the specified script. - It also addresses http://code.google.com/p/idapython/issues/detail?id=42 - - This function is used by the low-level plugin code. - - -ida_idaapi.IDAPython_ExecSystem(): - - Executes a command with popen(). - - -ida_idaapi.IDAPython_FormatExc(): - - This function is used to format an exception given the - values returned by a PyErr_Fetch() - - -ida_idaapi.IDAPython_LoadProcMod(): - - Load processor module. - - -ida_idaapi.IDAPython_UnLoadProcMod(): - - Unload processor module. - - -class ida_idaapi.PyIdc_cvt_int64__(): - - Helper class for explicitly representing VT_INT64 values - - -class ida_idaapi.PyIdc_cvt_refclass__(): - - Helper class for representing references to immutable objects - - -ida_idaapi.PyIdc_cvt_refclass__.cstr(): - - Returns the string as a C string (up to the zero termination) - - -ida_idaapi.as_cstr(): - - 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 and returns the string value up to that point. - - -ida_idaapi.as_int32(): - - Returns a number as a signed int32 number - - -ida_idaapi.as_signed(): - - Returns a number as signed. The number of bits are specified by the user. - The MSB holds the sign. - - -ida_idaapi.as_uint32(): - - Returns a number as an unsigned int32 number - - -ida_idaapi.as_unicode(): - - Convenience function to convert a string into appropriate unicode format - - -ida_idaapi.copy_bits(): - - Copy bits from a value - @param v: the value - @param s: starting bit (0-based) - @param e: ending bit - - -ida_idaapi.disable_script_timeout(): - - 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 - - -ida_idaapi.enable_extlang_python(): - - 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 - - -ida_idaapi.enable_python_cli(): - - enable_python_cli(enable) - - -ida_idaapi.format_basestring(): - - format_basestring(_in) -> PyObject * - - -ida_idaapi.get_inf_structure(): - - get_inf_structure() -> idainfo - - - Returns the global variable 'inf' (an instance of idainfo structure, see ida.hpp) - - -class ida_idaapi.loader_input_t(): - - Proxy of C++ loader_input_t class - - - A helper class to work with linput_t related functions. - This class is also used by file loaders scripts. - - -ida_idaapi.loader_input_t.close(): - - close(self) - - -ida_idaapi.loader_input_t.file2base(): - - 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 li: pointer ot input source - @param pos: position in the file - @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 - - -ida_idaapi.loader_input_t.filename(): - - filename(self) -> PyObject * - - -ida_idaapi.loader_input_t.from_cobject(): - - from_cobject(pycobject) -> loader_input_t - - -ida_idaapi.loader_input_t.from_fp(): - - from_fp(fp) -> loader_input_t - - - A static method to construct an instance from a FILE* - - -ida_idaapi.loader_input_t.from_linput(): - - from_linput(linput) -> loader_input_t - - -ida_idaapi.loader_input_t.get_char(): - - get_char(self) -> PyObject * - - - Reads a single character from the file. Returns None if EOF or the read character - - -ida_idaapi.loader_input_t.get_linput(): - - get_linput(self) -> linput_t * - - -ida_idaapi.loader_input_t.gets(): - - gets(self, len) -> PyObject * - - - Reads a line from the input file. Returns the read line or None - - -ida_idaapi.loader_input_t.getz(): - - 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. - - -ida_idaapi.loader_input_t.open(): - - open(self, filename, remote=False) -> bool - - - Opens a file (or a remote file) - @return: Boolean - - -ida_idaapi.loader_input_t.open_memory(): - - 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 - - -ida_idaapi.loader_input_t.opened(): - - opened(self) -> bool - - - Checks if the file is opened or not - - -ida_idaapi.loader_input_t.read(): - - read(self, size) -> PyObject * - - - Reads from the file. Returns the buffer or None - - -ida_idaapi.loader_input_t.readbytes(): - - readbytes(self, size, big_endian) -> PyObject * - - - Similar to read() but it respect the endianness - - -ida_idaapi.loader_input_t.seek(): - - seek(self, pos, whence=SEEK_SET) -> int64 - - - Set input source position - @return: the new position (not 0 as fseek!) - - -ida_idaapi.loader_input_t.set_linput(): - - set_linput(self, linput) - - - Links the current loader_input_t instance to a linput_t instance - - -ida_idaapi.loader_input_t.size(): - - size(self) -> int64 - - -ida_idaapi.loader_input_t.tell(): - - tell(self) -> int64 - - - Returns the current position - - -ida_idaapi.loader_input_t_from_cobject(): - - loader_input_t_from_cobject(pycobject) -> loader_input_t - - -ida_idaapi.loader_input_t_from_fp(): - - loader_input_t_from_fp(fp) -> loader_input_t - - -ida_idaapi.loader_input_t_from_linput(): - - loader_input_t_from_linput(linput) -> loader_input_t - - -ida_idaapi.notify_when(): - - 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 - - -class ida_idaapi.object_t(): - - Helper class used to initialize empty objects - - -ida_idaapi.parse_command_line3(): - - parse_command_line3(cmdline) -> PyObject * - - -class ida_idaapi.plugin_t(): - - Base class for all scripted plugins. - - -class ida_idaapi.py_clinked_object_t(): - - This is a utility and base class for C linked objects - - -ida_idaapi.py_clinked_object_t._free(): - - Explicitly delete the link (only if not static) - - -ida_idaapi.py_clinked_object_t.assign(): - - Overwrite me. - This method allows you to assign an instance contents to anothers - @return: Boolean - - -ida_idaapi.py_clinked_object_t.copy(): - - Returns a new copy of this class - - -ida_idaapi.pycim_get_tcustom_control(): - - pycim_get_widget(self) -> TWidget * - - -ida_idaapi.pycim_get_tform(): - - pycim_get_widget(self) -> TWidget * - - -ida_idaapi.pycim_get_widget(): - - pycim_get_widget(self) -> TWidget * - - -ida_idaapi.pycim_view_close(): - - pycim_view_close(self) - - -ida_idaapi.pygc_create_groups(): - - pygc_create_groups(self, groups_infos) -> PyObject * - - -ida_idaapi.pygc_del_nodes_infos(): - - pygc_del_nodes_infos(self, py_nodes) - - -ida_idaapi.pygc_delete_groups(): - - pygc_delete_groups(self, groups, new_current) -> PyObject * - - -ida_idaapi.pygc_get_current_renderer_type(): - - pygc_get_current_renderer_type(self) -> PyObject * - - -ida_idaapi.pygc_get_node_info(): - - pygc_get_node_info(self, py_node_idx) -> PyObject * - - -ida_idaapi.pygc_refresh(): - - pygc_refresh(self) - - -ida_idaapi.pygc_set_current_renderer_type(): - - pygc_set_current_renderer_type(self, py_rt) - - -ida_idaapi.pygc_set_groups_visibility(): - - pygc_set_groups_visibility(self, groups, expand, new_current) -> PyObject * - - -ida_idaapi.pygc_set_node_info(): - - pygc_set_node_info(self, py_node_idx, py_node_info, py_flags) - - -ida_idaapi.pygc_set_nodes_infos(): - - pygc_set_nodes_infos(self, values) - - -class ida_idaapi.pyidc_cvt_helper__(): - - 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 - - -class ida_idaapi.pyidc_opaque_object_t(): - - This is the base class for all Python<->IDC opaque objects - - -ida_idaapi.require(): - - 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: . - - -ida_idaapi.set_script_timeout(): - - 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 - - -ida_idaapi.struct_unpack(): - - 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. - - -ida_idc.get_mark_comment(): - - get_mark_comment(slot) -> PyObject * - - -ida_idc.get_marked_pos(): - - get_marked_pos(slot) -> ea_t - - -ida_idc.mark_position(): - - mark_position(ea, lnnum, x, y, slot, comment) - - -ida_idd.Appcall__.array(): - - Defines an array type. Later you need to pack() / unpack() - - -ida_idd.Appcall__.buffer(): - - 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 - - -ida_idd.Appcall__.byref(): - - 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) - - -ida_idd.Appcall__.cleanup_appcall(): - - Equivalent to IDC's CleanupAppcall() - - -ida_idd.Appcall__.get_appcall_options(): - - Return the global Appcall options - - -ida_idd.Appcall__.int64(): - - Whenever a 64bit number is needed use this method to construct an object - - -ida_idd.Appcall__.obj(): - - Returns an empty object or objects with attributes as passed via its keywords arguments - - -ida_idd.Appcall__.proto(): - - 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 - - -ida_idd.Appcall__.set_appcall_options(): - - Method to change the Appcall options globally (not per Appcall) - - -ida_idd.Appcall__.typedobj(): - - 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 - - -ida_idd.Appcall__.valueof(): - - Returns the numeric value of a given name string. - If the name could not be resolved then the default value will be returned - - -class ida_idd.Appcall_array__(): - - This class is used with Appcall.array() method - - -ida_idd.Appcall_array__.pack(): - - Packs a list or tuple into a byref buffer - - -ida_idd.Appcall_array__.try_to_convert_to_list(): - - Is this object a list? We check for the existance of attribute zero and attribute self.size-1 - - -ida_idd.Appcall_array__.unpack(): - - Unpacks an array back into a list or an object - - -class ida_idd.Appcall_callable__(): - - 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) - - -ida_idd.Appcall_callable__.retrieve(): - - 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). - - -ida_idd.Appcall_callable__.store(): - - 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) - - -class ida_idd.Appcall_consts__(): - - Helper class used by Appcall.Consts attribute - It is used to retrieve constants via attribute access - - -ida_idd.appcall(): - - appcall(func_ea, tid, py_type, py_fields, arg_list) -> PyObject * - - -class ida_idd.bptaddr_t(): - - Proxy of C++ bptaddr_t class - - -ida_idd.bptaddr_t.hea: - bptaddr_t_hea_get(self) -> ea_t - -ida_idd.bptaddr_t.kea: - bptaddr_t_kea_get(self) -> ea_t - -class ida_idd.call_stack_info_t(): - - Proxy of C++ call_stack_info_t class - - -ida_idd.call_stack_info_t.callea: - call_stack_info_t_callea_get(self) -> ea_t - -ida_idd.call_stack_info_t.fp: - call_stack_info_t_fp_get(self) -> ea_t - -ida_idd.call_stack_info_t.funcea: - call_stack_info_t_funcea_get(self) -> ea_t - -ida_idd.call_stack_info_t.funcok: - call_stack_info_t_funcok_get(self) -> bool - -class ida_idd.call_stack_t(): - - Proxy of C++ qvector<(call_stack_info_t)> class - - -ida_idd.call_stack_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_idd.call_stack_t.at(): - - at(self, _idx) -> call_stack_info_t - - -ida_idd.call_stack_t.begin(): - - begin(self) -> call_stack_info_t - begin(self) -> call_stack_info_t - - -ida_idd.call_stack_t.capacity(): - - capacity(self) -> size_t - - -ida_idd.call_stack_t.clear(): - - clear(self) - - -ida_idd.call_stack_t.empty(): - - empty(self) -> bool - - -ida_idd.call_stack_t.end(): - - end(self) -> call_stack_info_t - end(self) -> call_stack_info_t - - -ida_idd.call_stack_t.erase(): - - erase(self, it) -> call_stack_info_t - erase(self, first, last) -> call_stack_info_t - - -ida_idd.call_stack_t.extract(): - - extract(self) -> call_stack_info_t - - -ida_idd.call_stack_t.find(): - - find(self, x) -> call_stack_info_t - find(self, x) -> call_stack_info_t - - -ida_idd.call_stack_t.grow(): - - grow(self, x=call_stack_info_t()) - - -ida_idd.call_stack_t.has(): - - has(self, x) -> bool - - -ida_idd.call_stack_t.inject(): - - inject(self, s, len) - - -ida_idd.call_stack_t.insert(): - - insert(self, it, x) -> call_stack_info_t - - -ida_idd.call_stack_t.pop_back(): - - pop_back(self) - - -ida_idd.call_stack_t.push_back(): - - push_back(self, x) - push_back(self) -> call_stack_info_t - - -ida_idd.call_stack_t.qclear(): - - qclear(self) - - -ida_idd.call_stack_t.reserve(): - - reserve(self, cnt) - - -ida_idd.call_stack_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_idd.call_stack_t.size(): - - size(self) -> size_t - - -ida_idd.call_stack_t.swap(): - - swap(self, r) - - -ida_idd.call_stack_t.truncate(): - - truncate(self) - - -ida_idd.can_exc_continue(): - - can_exc_continue(ev) -> bool - - -ida_idd.cleanup_appcall(): - - cleanup_appcall(tid) -> error_t - - - Cleanup after manual appcall. - - @param tid: 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. (C++: - thid_t) - @return: eOk if successful, otherwise an error code - - -ida_idd.dbg_appcall(): - - dbg_appcall(retval, func_ea, tid, ptif, argv, argnum) -> error_t - - - Call a function from the debugged application. - - @param retval (C++: idc_value_t *) - @param func_ea: address to call (C++: ea_t) - @param tid: thread to use. NO_THREAD means to use the current thread - (C++: thid_t) - @param ptif: pointer to type of the function to call (C++: const - tinfo_t *) - @param argv: array of arguments (C++: idc_value_t *) - @param argnum: number of actual arguments (C++: size_t) - @return: eOk if successful, otherwise an error code - - -ida_idd.dbg_can_query(): - dbg_can_query() -> bool - -ida_idd.dbg_get_memory_info(): - - 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) - - -ida_idd.dbg_get_name(): - - dbg_get_name() -> PyObject * - - - This function returns the current debugger's name. - @return: Debugger name or None if no debugger is active - - -ida_idd.dbg_get_registers(): - - 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) - - -ida_idd.dbg_get_thread_sreg_base(): - - dbg_get_thread_sreg_base(py_tid, py_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 - - -ida_idd.dbg_read_memory(): - - dbg_read_memory(py_ea, py_sz) -> PyObject * - - - Reads from the debugee's memory at the specified ea - @return: - - The read buffer (as a string) - - Or None on failure - - -ida_idd.dbg_write_memory(): - - dbg_write_memory(py_ea, py_buf) -> PyObject * - - - Writes a buffer to the debugee's memory - @return: Boolean - - -class ida_idd.debapp_attrs_t(): - - Proxy of C++ debapp_attrs_t class - - -ida_idd.debapp_attrs_t.addrsize: - debapp_attrs_t_addrsize_get(self) -> int - -ida_idd.debapp_attrs_t.cbsize: - debapp_attrs_t_cbsize_get(self) -> int32 - -ida_idd.debapp_attrs_t.is_be: - debapp_attrs_t_is_be_get(self) -> int - -ida_idd.debapp_attrs_t.platform: - debapp_attrs_t_platform_get(self) -> qstring * - -class ida_idd.debug_event_t(): - - Proxy of C++ debug_event_t class - - -ida_idd.debug_event_t.bpt(): - - bpt(self) -> bptaddr_t - bpt(self) -> bptaddr_t - - -ida_idd.debug_event_t.bpt_ea(): - - bpt_ea(self) -> ea_t - - -ida_idd.debug_event_t.clear(): - - clear(self) - - -ida_idd.debug_event_t.clear_all(): - - clear_all(self) - - -ida_idd.debug_event_t.copy(): - - copy(self, r) -> debug_event_t - - -ida_idd.debug_event_t.ea: - debug_event_t_ea_get(self) -> ea_t - -ida_idd.debug_event_t.eid(): - - eid(self) -> event_id_t - - -ida_idd.debug_event_t.exc(): - - exc(self) -> excinfo_t - exc(self) -> excinfo_t - - -ida_idd.debug_event_t.exit_code(): - - exit_code(self) -> int const & - - -ida_idd.debug_event_t.handled: - debug_event_t_handled_get(self) -> bool - -ida_idd.debug_event_t.info(): - - info(self) -> qstring - info(self) -> qstring const & - - -ida_idd.debug_event_t.modinfo(): - - modinfo(self) -> modinfo_t - modinfo(self) -> modinfo_t - - -ida_idd.debug_event_t.pid: - debug_event_t_pid_get(self) -> pid_t - -ida_idd.debug_event_t.set_bpt(): - - set_bpt(self) -> bptaddr_t - - -ida_idd.debug_event_t.set_eid(): - - set_eid(self, id) - - -ida_idd.debug_event_t.set_exception(): - - set_exception(self) -> excinfo_t - - -ida_idd.debug_event_t.set_exit_code(): - - set_exit_code(self, id, code) - - -ida_idd.debug_event_t.set_info(): - - set_info(self, id) -> qstring & - - -ida_idd.debug_event_t.set_modinfo(): - - set_modinfo(self, id) -> modinfo_t - - -ida_idd.debug_event_t.tid: - debug_event_t_tid_get(self) -> thid_t - -class ida_idd.exception_info_t(): - - Proxy of C++ exception_info_t class - - -ida_idd.exception_info_t.break_on(): - - break_on(self) -> bool - - -ida_idd.exception_info_t.code: - exception_info_t_code_get(self) -> uint - -ida_idd.exception_info_t.desc: - exception_info_t_desc_get(self) -> qstring * - -ida_idd.exception_info_t.flags: - exception_info_t_flags_get(self) -> uint32 - -ida_idd.exception_info_t.handle(): - - handle(self) -> bool - - -ida_idd.exception_info_t.name: - exception_info_t_name_get(self) -> qstring * - -class ida_idd.excinfo_t(): - - Proxy of C++ excinfo_t class - - -ida_idd.excinfo_t.can_cont: - excinfo_t_can_cont_get(self) -> bool - -ida_idd.excinfo_t.code: - excinfo_t_code_get(self) -> uint32 - -ida_idd.excinfo_t.ea: - excinfo_t_ea_get(self) -> ea_t - -ida_idd.excinfo_t.info: - excinfo_t_info_get(self) -> qstring * - -class ida_idd.excvec_t(): - - Proxy of C++ qvector<(exception_info_t)> class - - -ida_idd.excvec_t.at(): - - at(self, _idx) -> exception_info_t - - -ida_idd.excvec_t.begin(): - - begin(self) -> exception_info_t - begin(self) -> exception_info_t - - -ida_idd.excvec_t.capacity(): - - capacity(self) -> size_t - - -ida_idd.excvec_t.clear(): - - clear(self) - - -ida_idd.excvec_t.empty(): - - empty(self) -> bool - - -ida_idd.excvec_t.end(): - - end(self) -> exception_info_t - end(self) -> exception_info_t - - -ida_idd.excvec_t.erase(): - - erase(self, it) -> exception_info_t - erase(self, first, last) -> exception_info_t - - -ida_idd.excvec_t.extract(): - - extract(self) -> exception_info_t - - -ida_idd.excvec_t.grow(): - - grow(self, x=exception_info_t()) - - -ida_idd.excvec_t.inject(): - - inject(self, s, len) - - -ida_idd.excvec_t.insert(): - - insert(self, it, x) -> exception_info_t - - -ida_idd.excvec_t.pop_back(): - - pop_back(self) - - -ida_idd.excvec_t.push_back(): - - push_back(self, x) - push_back(self) -> exception_info_t - - -ida_idd.excvec_t.qclear(): - - qclear(self) - - -ida_idd.excvec_t.reserve(): - - reserve(self, cnt) - - -ida_idd.excvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_idd.excvec_t.size(): - - size(self) -> size_t - - -ida_idd.excvec_t.swap(): - - swap(self, r) - - -ida_idd.excvec_t.truncate(): - - truncate(self) - - -ida_idd.get_event_bpt_hea(): - - get_event_bpt_hea(ev) -> ea_t - - -ida_idd.get_event_exc_code(): - - get_event_exc_code(ev) -> uint - - -ida_idd.get_event_exc_ea(): - - get_event_exc_ea(ev) -> ea_t - - -ida_idd.get_event_exc_info(): - - get_event_exc_info(ev) -> char - - -ida_idd.get_event_info(): - - get_event_info(ev) -> char - - -ida_idd.get_event_module_base(): - - get_event_module_base(ev) -> ea_t - - -ida_idd.get_event_module_name(): - - get_event_module_name(ev) -> char - - -ida_idd.get_event_module_size(): - - get_event_module_size(ev) -> asize_t - - -class ida_idd.meminfo_vec_t(): - - Proxy of C++ qvector<(memory_info_t)> class - - -ida_idd.meminfo_vec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_idd.meminfo_vec_t.at(): - - at(self, _idx) -> memory_info_t - - -ida_idd.meminfo_vec_t.begin(): - - begin(self) -> memory_info_t - begin(self) -> memory_info_t - - -ida_idd.meminfo_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_idd.meminfo_vec_t.clear(): - - clear(self) - - -ida_idd.meminfo_vec_t.empty(): - - empty(self) -> bool - - -ida_idd.meminfo_vec_t.end(): - - end(self) -> memory_info_t - end(self) -> memory_info_t - - -ida_idd.meminfo_vec_t.erase(): - - erase(self, it) -> memory_info_t - erase(self, first, last) -> memory_info_t - - -ida_idd.meminfo_vec_t.extract(): - - extract(self) -> memory_info_t - - -ida_idd.meminfo_vec_t.find(): - - find(self, x) -> memory_info_t - find(self, x) -> memory_info_t - - -ida_idd.meminfo_vec_t.grow(): - - grow(self, x=memory_info_t()) - - -ida_idd.meminfo_vec_t.has(): - - has(self, x) -> bool - - -ida_idd.meminfo_vec_t.inject(): - - inject(self, s, len) - - -ida_idd.meminfo_vec_t.insert(): - - insert(self, it, x) -> memory_info_t - - -ida_idd.meminfo_vec_t.pop_back(): - - pop_back(self) - - -ida_idd.meminfo_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> memory_info_t - - -ida_idd.meminfo_vec_t.qclear(): - - qclear(self) - - -ida_idd.meminfo_vec_t.reserve(): - - reserve(self, cnt) - - -ida_idd.meminfo_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_idd.meminfo_vec_t.size(): - - size(self) -> size_t - - -ida_idd.meminfo_vec_t.swap(): - - swap(self, r) - - -ida_idd.meminfo_vec_t.truncate(): - - truncate(self) - - -class ida_idd.memory_info_t(): - - Proxy of C++ memory_info_t class - - -ida_idd.memory_info_t._print(): - - _print(self) -> size_t - - -ida_idd.memory_info_t.bitness: - memory_info_t_bitness_get(self) -> uchar - -ida_idd.memory_info_t.clear(): - - clear(self) - - -ida_idd.memory_info_t.compare(): - - compare(self, r) -> int - - -ida_idd.memory_info_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_idd.memory_info_t.empty(): - - empty(self) -> bool - - -ida_idd.memory_info_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_idd.memory_info_t.extend(): - - extend(self, ea) - - -ida_idd.memory_info_t.intersect(): - - intersect(self, r) - - -ida_idd.memory_info_t.name: - memory_info_t_name_get(self) -> qstring * - -ida_idd.memory_info_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_idd.memory_info_t.perm: - memory_info_t_perm_get(self) -> uchar - -ida_idd.memory_info_t.sbase: - memory_info_t_sbase_get(self) -> ea_t - -ida_idd.memory_info_t.sclass: - memory_info_t_sclass_get(self) -> qstring * - -ida_idd.memory_info_t.size(): - - size(self) -> asize_t - - -ida_idd.memory_info_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -class ida_idd.modinfo_t(): - - Proxy of C++ modinfo_t class - - -ida_idd.modinfo_t.base: - modinfo_t_base_get(self) -> ea_t - -ida_idd.modinfo_t.name: - modinfo_t_name_get(self) -> qstring * - -ida_idd.modinfo_t.rebase_to: - modinfo_t_rebase_to_get(self) -> ea_t - -ida_idd.modinfo_t.size: - modinfo_t_size_get(self) -> asize_t - -class ida_idd.process_info_t(): - - Proxy of C++ process_info_t class - - -ida_idd.process_info_t.name: - process_info_t_name_get(self) -> qstring * - -ida_idd.process_info_t.pid: - process_info_t_pid_get(self) -> pid_t - -class ida_idd.procinfo_vec_t(): - - Proxy of C++ qvector<(process_info_t)> class - - -ida_idd.procinfo_vec_t.at(): - - at(self, _idx) -> process_info_t - - -ida_idd.procinfo_vec_t.begin(): - - begin(self) -> process_info_t - begin(self) -> process_info_t - - -ida_idd.procinfo_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_idd.procinfo_vec_t.clear(): - - clear(self) - - -ida_idd.procinfo_vec_t.empty(): - - empty(self) -> bool - - -ida_idd.procinfo_vec_t.end(): - - end(self) -> process_info_t - end(self) -> process_info_t - - -ida_idd.procinfo_vec_t.erase(): - - erase(self, it) -> process_info_t - erase(self, first, last) -> process_info_t - - -ida_idd.procinfo_vec_t.extract(): - - extract(self) -> process_info_t - - -ida_idd.procinfo_vec_t.grow(): - - grow(self, x=process_info_t()) - - -ida_idd.procinfo_vec_t.inject(): - - inject(self, s, len) - - -ida_idd.procinfo_vec_t.insert(): - - insert(self, it, x) -> process_info_t - - -ida_idd.procinfo_vec_t.pop_back(): - - pop_back(self) - - -ida_idd.procinfo_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> process_info_t - - -ida_idd.procinfo_vec_t.qclear(): - - qclear(self) - - -ida_idd.procinfo_vec_t.reserve(): - - reserve(self, cnt) - - -ida_idd.procinfo_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_idd.procinfo_vec_t.size(): - - size(self) -> size_t - - -ida_idd.procinfo_vec_t.swap(): - - swap(self, r) - - -ida_idd.procinfo_vec_t.truncate(): - - truncate(self) - - -class ida_idd.register_info_t(): - - Proxy of C++ register_info_t class - - -ida_idd.register_info_t.bit_strings: - register_info_t_bit_strings_get(self) -> char const *const * - -ida_idd.register_info_t.default_bit_strings_mask: - register_info_t_default_bit_strings_mask_get(self) -> uval_t - -ida_idd.register_info_t.dtype: - register_info_t_dtype_get(self) -> op_dtype_t - -ida_idd.register_info_t.flags: - register_info_t_flags_get(self) -> uint32 - -ida_idd.register_info_t.name: - register_info_t_name_get(self) -> char const * - -ida_idd.register_info_t.register_class: - register_info_t_register_class_get(self) -> register_class_t - -class ida_idd.regval_t(): - - Proxy of C++ regval_t class - - -ida_idd.regval_t.bytes(): - - bytes(self) -> bytevec_t - bytes(self) -> bytevec_t const & - - -ida_idd.regval_t.clear(): - - clear(self) - - -ida_idd.regval_t.fval: - regval_t_fval_get(self) -> uint16 [6] - -ida_idd.regval_t.get_data(): - - get_data(self) - get_data(self) -> void const * - - -ida_idd.regval_t.get_data_size(): - - get_data_size(self) -> size_t - - -ida_idd.regval_t.ival: - regval_t_ival_get(self) -> uint64 - -ida_idd.regval_t.rvtype: - regval_t_rvtype_get(self) -> int32 - -ida_idd.regval_t.set_bytes(): - - set_bytes(self, data, size) - set_bytes(self, v) - set_bytes(self) -> bytevec_t & - - -ida_idd.regval_t.set_float(): - - set_float(self, x) - - -ida_idd.regval_t.set_int(): - - set_int(self, x) - - -ida_idd.regval_t.set_unavailable(): - - set_unavailable(self) - - -ida_idd.regval_t.swap(): - - swap(self, r) - - -class ida_idd.scattered_segm_t(): - - Proxy of C++ scattered_segm_t class - - -ida_idd.scattered_segm_t._print(): - - _print(self) -> size_t - - -ida_idd.scattered_segm_t.clear(): - - clear(self) - - -ida_idd.scattered_segm_t.compare(): - - compare(self, r) -> int - - -ida_idd.scattered_segm_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_idd.scattered_segm_t.empty(): - - empty(self) -> bool - - -ida_idd.scattered_segm_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_idd.scattered_segm_t.extend(): - - extend(self, ea) - - -ida_idd.scattered_segm_t.intersect(): - - intersect(self, r) - - -ida_idd.scattered_segm_t.name: - scattered_segm_t_name_get(self) -> qstring * - -ida_idd.scattered_segm_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_idd.scattered_segm_t.size(): - - size(self) -> asize_t - - -ida_idd.scattered_segm_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_idd.set_debug_event_code(): - - set_debug_event_code(ev, id) - - -class ida_idd.thread_name_t(): - - Proxy of C++ thread_name_t class - - -ida_idd.thread_name_t.name: - thread_name_t_name_get(self) -> qstring * - -ida_idd.thread_name_t.tid: - thread_name_t_tid_get(self) -> thid_t - - -=== ida_idd EPYDOC INJECTIONS === -ida_idd.EXC_BREAK -""" -break on the exception -""" - -ida_idd.EXC_HANDLE -""" -should be handled by the debugger? -""" - -ida_idd.EXC_MSG -""" -instead of a warning, log the exception to the output window -""" - -ida_idd.EXC_SILENT -""" -do not warn or log to the output window -""" - -ida_idd.IDD_INTERFACE_VERSION -""" -The IDD interface version number. -""" - -ida_idd.NO_PROCESS -""" -No process. -""" - -ida_idd.NO_THREAD -""" -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. -""" - -ida_idd.REGISTER_ADDRESS -""" -may contain an address -""" - -ida_idd.REGISTER_CS -""" -code segment -""" - -ida_idd.REGISTER_CUSTFMT -""" -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' -""" - -ida_idd.REGISTER_FP -""" -frame pointer -""" - -ida_idd.REGISTER_IP -""" -instruction pointer -""" - -ida_idd.REGISTER_NOLF -""" -allowing the next register to be displayed to its right (on the same -line) - -displays this register without returning to the next line -""" - -ida_idd.REGISTER_READONLY -""" -the user can't modify the current value of this register -""" - -ida_idd.REGISTER_SP -""" -stack pointer -""" - -ida_idd.REGISTER_SS -""" -stack segment -""" - -ida_idd.RVT_FLOAT -""" -floating point -""" - -ida_idd.RVT_INT -""" -integer -""" - -ida_idd.RVT_UNAVAILABLE -""" -other values mean custom data type - -unavailable -""" -=== ida_idd EPYDOC INJECTIONS END === -ida_idp.AssembleLine(): - - AssembleLine(ea, cs, ip, use32, nonnul_line) -> PyObject * - - - 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 line: line to assemble - @return: - - None on failure - - or a string containing the assembled instruction - - -class ida_idp.IDB_Hooks(): - - Proxy of C++ IDB_Hooks class - - -ida_idp.IDB_Hooks.allsegs_moved(): - - allsegs_moved(self, info) - - -ida_idp.IDB_Hooks.auto_empty(): - - auto_empty(self) - - -ida_idp.IDB_Hooks.auto_empty_finally(): - - auto_empty_finally(self) - - -ida_idp.IDB_Hooks.bookmark_changed(): - - bookmark_changed(self, index, pos, desc) - - -ida_idp.IDB_Hooks.byte_patched(): - - byte_patched(self, ea, old_value) - - -ida_idp.IDB_Hooks.callee_addr_changed(): - - callee_addr_changed(self, ea, callee) - - -ida_idp.IDB_Hooks.changing_cmt(): - - changing_cmt(self, ea, repeatable_cmt, newcmt) - - -ida_idp.IDB_Hooks.changing_enum_bf(): - - changing_enum_bf(self, id, new_bf) - - -ida_idp.IDB_Hooks.changing_enum_cmt(): - - changing_enum_cmt(self, id, repeatable, newcmt) - - -ida_idp.IDB_Hooks.changing_op_ti(): - - changing_op_ti(self, ea, n, new_type, new_fnames) - - -ida_idp.IDB_Hooks.changing_op_type(): - - changing_op_type(self, ea, n, opinfo) - - -ida_idp.IDB_Hooks.changing_range_cmt(): - - changing_range_cmt(self, kind, a, cmt, repeatable) - - -ida_idp.IDB_Hooks.changing_segm_class(): - - changing_segm_class(self, s) - - -ida_idp.IDB_Hooks.changing_segm_end(): - - changing_segm_end(self, s, new_end, segmod_flags) - - -ida_idp.IDB_Hooks.changing_segm_name(): - - changing_segm_name(self, s, oldname) - - -ida_idp.IDB_Hooks.changing_segm_start(): - - changing_segm_start(self, s, new_start, segmod_flags) - - -ida_idp.IDB_Hooks.changing_struc_align(): - - changing_struc_align(self, sptr) - - -ida_idp.IDB_Hooks.changing_struc_cmt(): - - changing_struc_cmt(self, struc_id, repeatable, newcmt) - - -ida_idp.IDB_Hooks.changing_struc_member(): - - changing_struc_member(self, sptr, mptr, flag, ti, nbytes) - - -ida_idp.IDB_Hooks.changing_ti(): - - changing_ti(self, ea, new_type, new_fnames) - - -ida_idp.IDB_Hooks.closebase(): - - closebase(self) - - -ida_idp.IDB_Hooks.cmt_changed(): - - cmt_changed(self, ea, repeatable_cmt) - - -ida_idp.IDB_Hooks.compiler_changed(): - - compiler_changed(self) - - -ida_idp.IDB_Hooks.deleting_enum(): - - deleting_enum(self, id) - - -ida_idp.IDB_Hooks.deleting_enum_member(): - - deleting_enum_member(self, id, cid) - - -ida_idp.IDB_Hooks.deleting_func(): - - deleting_func(self, pfn) - - -ida_idp.IDB_Hooks.deleting_func_tail(): - - deleting_func_tail(self, pfn, tail) - - -ida_idp.IDB_Hooks.deleting_segm(): - - deleting_segm(self, start_ea) - - -ida_idp.IDB_Hooks.deleting_struc(): - - deleting_struc(self, sptr) - - -ida_idp.IDB_Hooks.deleting_struc_member(): - - deleting_struc_member(self, sptr, mptr) - - -ida_idp.IDB_Hooks.deleting_tryblks(): - - deleting_tryblks(self, range) - - -ida_idp.IDB_Hooks.destroyed_items(): - - destroyed_items(self, ea1, ea2, will_disable_range) - - -ida_idp.IDB_Hooks.determined_main(): - - determined_main(self, main) - - -ida_idp.IDB_Hooks.enum_bf_changed(): - - enum_bf_changed(self, id) - - -ida_idp.IDB_Hooks.enum_cmt_changed(): - - enum_cmt_changed(self, id, repeatable) - - -ida_idp.IDB_Hooks.enum_created(): - - enum_created(self, id) - - -ida_idp.IDB_Hooks.enum_deleted(): - - enum_deleted(self, id) - - -ida_idp.IDB_Hooks.enum_member_created(): - - enum_member_created(self, id, cid) - - -ida_idp.IDB_Hooks.enum_member_deleted(): - - enum_member_deleted(self, id, cid) - - -ida_idp.IDB_Hooks.enum_renamed(): - - enum_renamed(self, id) - - -ida_idp.IDB_Hooks.expanding_struc(): - - expanding_struc(self, sptr, offset, delta) - - -ida_idp.IDB_Hooks.extlang_changed(): - - extlang_changed(self, kind, el, idx) - - -ida_idp.IDB_Hooks.extra_cmt_changed(): - - extra_cmt_changed(self, ea, line_idx, cmt) - - -ida_idp.IDB_Hooks.flow_chart_created(): - - flow_chart_created(self, fc) - - -ida_idp.IDB_Hooks.frame_deleted(): - - frame_deleted(self, pfn) - - -ida_idp.IDB_Hooks.func_added(): - - func_added(self, pfn) - - -ida_idp.IDB_Hooks.func_noret_changed(): - - func_noret_changed(self, pfn) - - -ida_idp.IDB_Hooks.func_tail_appended(): - - func_tail_appended(self, pfn, tail) - - -ida_idp.IDB_Hooks.func_tail_deleted(): - - func_tail_deleted(self, pfn, tail_ea) - - -ida_idp.IDB_Hooks.func_updated(): - - func_updated(self, pfn) - - -ida_idp.IDB_Hooks.hook(): - - hook(self) -> bool - - -ida_idp.IDB_Hooks.idasgn_loaded(): - - idasgn_loaded(self, short_sig_name) - - -ida_idp.IDB_Hooks.item_color_changed(): - - item_color_changed(self, ea, color) - - -ida_idp.IDB_Hooks.kernel_config_loaded(): - - kernel_config_loaded(self) - - -ida_idp.IDB_Hooks.loader_finished(): - - loader_finished(self, li, neflags, filetypename) - - -ida_idp.IDB_Hooks.local_types_changed(): - - local_types_changed(self) - - -ida_idp.IDB_Hooks.make_code(): - - make_code(self, insn) - - -ida_idp.IDB_Hooks.make_data(): - - make_data(self, ea, flags, tid, len) - - -ida_idp.IDB_Hooks.op_ti_changed(): - - op_ti_changed(self, ea, n, type, fnames) - - -ida_idp.IDB_Hooks.op_type_changed(): - - op_type_changed(self, ea, n) - - -ida_idp.IDB_Hooks.range_cmt_changed(): - - range_cmt_changed(self, kind, a, cmt, repeatable) - - -ida_idp.IDB_Hooks.renamed(): - - renamed(self, ea, new_name, local_name) - - -ida_idp.IDB_Hooks.renaming_enum(): - - renaming_enum(self, id, is_enum, newname) - - -ida_idp.IDB_Hooks.renaming_struc(): - - renaming_struc(self, id, oldname, newname) - - -ida_idp.IDB_Hooks.renaming_struc_member(): - - renaming_struc_member(self, sptr, mptr, newname) - - -ida_idp.IDB_Hooks.savebase(): - - savebase(self) - - -ida_idp.IDB_Hooks.segm_added(): - - segm_added(self, s) - - -ida_idp.IDB_Hooks.segm_attrs_updated(): - - segm_attrs_updated(self, s) - - -ida_idp.IDB_Hooks.segm_class_changed(): - - segm_class_changed(self, s, sclass) - - -ida_idp.IDB_Hooks.segm_deleted(): - - segm_deleted(self, start_ea, end_ea) - - -ida_idp.IDB_Hooks.segm_end_changed(): - - segm_end_changed(self, s, oldend) - - -ida_idp.IDB_Hooks.segm_moved(): - - segm_moved(self, _from, to, size, changed_netmap) - - -ida_idp.IDB_Hooks.segm_name_changed(): - - segm_name_changed(self, s, name) - - -ida_idp.IDB_Hooks.segm_start_changed(): - - segm_start_changed(self, s, oldstart) - - -ida_idp.IDB_Hooks.set_func_end(): - - set_func_end(self, pfn, new_end) - - -ida_idp.IDB_Hooks.set_func_start(): - - set_func_start(self, pfn, new_start) - - -ida_idp.IDB_Hooks.sgr_changed(): - - sgr_changed(self, start_ea, end_ea, regnum, value, old_value, tag) - - -ida_idp.IDB_Hooks.sgr_deleted(): - - sgr_deleted(self, start_ea, end_ea, regnum) - - -ida_idp.IDB_Hooks.stkpnts_changed(): - - stkpnts_changed(self, pfn) - - -ida_idp.IDB_Hooks.struc_align_changed(): - - struc_align_changed(self, sptr) - - -ida_idp.IDB_Hooks.struc_cmt_changed(): - - struc_cmt_changed(self, struc_id, repeatable_cmt) - - -ida_idp.IDB_Hooks.struc_created(): - - struc_created(self, struc_id) - - -ida_idp.IDB_Hooks.struc_deleted(): - - struc_deleted(self, struc_id) - - -ida_idp.IDB_Hooks.struc_expanded(): - - struc_expanded(self, sptr) - - -ida_idp.IDB_Hooks.struc_member_changed(): - - struc_member_changed(self, sptr, mptr) - - -ida_idp.IDB_Hooks.struc_member_created(): - - struc_member_created(self, sptr, mptr) - - -ida_idp.IDB_Hooks.struc_member_deleted(): - - struc_member_deleted(self, sptr, member_id, offset) - - -ida_idp.IDB_Hooks.struc_member_renamed(): - - struc_member_renamed(self, sptr, mptr) - - -ida_idp.IDB_Hooks.struc_renamed(): - - struc_renamed(self, sptr) - - -ida_idp.IDB_Hooks.tail_owner_changed(): - - tail_owner_changed(self, tail, owner_func, old_owner) - - -ida_idp.IDB_Hooks.thunk_func_created(): - - thunk_func_created(self, pfn) - - -ida_idp.IDB_Hooks.ti_changed(): - - ti_changed(self, ea, type, fnames) - - -ida_idp.IDB_Hooks.tryblks_updated(): - - tryblks_updated(self, tbv) - - -ida_idp.IDB_Hooks.unhook(): - - unhook(self) -> bool - - -ida_idp.IDB_Hooks.updating_tryblks(): - - updating_tryblks(self, tbv) - - -ida_idp.IDB_Hooks.upgraded(): - - upgraded(self, _from) - - -class ida_idp.IDP_Hooks(): - - Proxy of C++ IDP_Hooks class - - -ida_idp.IDP_Hooks.ev_add_cref(): - - ev_add_cref(self, _from, to, type) -> int - - -ida_idp.IDP_Hooks.ev_add_dref(): - - ev_add_dref(self, _from, to, type) -> int - - -ida_idp.IDP_Hooks.ev_adjust_argloc(): - - ev_adjust_argloc(self, argloc, optional_type, size) -> int - - -ida_idp.IDP_Hooks.ev_adjust_libfunc_ea(): - - ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int - - -ida_idp.IDP_Hooks.ev_adjust_refinfo(): - - ev_adjust_refinfo(self, ri, ea, n, fd) -> int - - -ida_idp.IDP_Hooks.ev_ana_insn(): - - ev_ana_insn(self, out) -> bool - - - Analyzes and decodes an instruction at insn.ea - - insn.itype must be set >= idaapi.CUSTOM_CMD_ITYPE - - insn.size must be set to the instruction length - - @return: Boolean - - False if the instruction is not recognized - - True if the instruction was decoded. 'insn' should be filled in that case. - - -ida_idp.IDP_Hooks.ev_analyze_prolog(): - - ev_analyze_prolog(self, ea) -> int - - -ida_idp.IDP_Hooks.ev_arg_addrs_ready(): - - ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int - - -ida_idp.IDP_Hooks.ev_assemble(): - - ev_assemble(self, ea, cs, ip, use32, line) -> PyObject * - - - Assembles an instruction - - @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: - None to let the underlying processor module assemble the line - - or a string containing the assembled buffer - - -ida_idp.IDP_Hooks.ev_auto_queue_empty(): - - ev_auto_queue_empty(self, type) - - -ida_idp.IDP_Hooks.ev_calc_arglocs(): - - ev_calc_arglocs(self, fti) -> int - - -ida_idp.IDP_Hooks.ev_calc_cdecl_purged_bytes(): - - ev_calc_cdecl_purged_bytes(self, ea) -> int - - -ida_idp.IDP_Hooks.ev_calc_next_eas(): - - ev_calc_next_eas(self, res, insn, over) -> int - - -ida_idp.IDP_Hooks.ev_calc_purged_bytes(): - - ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int - - -ida_idp.IDP_Hooks.ev_calc_retloc(): - - ev_calc_retloc(self, retloc, rettype, cc) -> int - - -ida_idp.IDP_Hooks.ev_calc_spdelta(): - - ev_calc_spdelta(self, spdelta, insn) -> int - - -ida_idp.IDP_Hooks.ev_calc_step_over(): - - ev_calc_step_over(self, target, ip) -> int - - -ida_idp.IDP_Hooks.ev_calc_switch_cases(): - - ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int - - -ida_idp.IDP_Hooks.ev_calc_varglocs(): - - ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int - - -ida_idp.IDP_Hooks.ev_calcrel(): - - ev_calcrel(self) -> int - - -ida_idp.IDP_Hooks.ev_can_have_type(): - - ev_can_have_type(self, op) -> int - - -ida_idp.IDP_Hooks.ev_clean_tbit(): - - ev_clean_tbit(self, ea, getreg, regvalues) -> int - - -ida_idp.IDP_Hooks.ev_cmp_operands(): - - ev_cmp_operands(self, op1, op2) -> int - - -ida_idp.IDP_Hooks.ev_coagulate(): - - ev_coagulate(self, start_ea) -> int - - -ida_idp.IDP_Hooks.ev_coagulate_dref(): - - ev_coagulate_dref(self, _from, to, may_define, code_ea) -> int - - -ida_idp.IDP_Hooks.ev_create_flat_group(): - - ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int - - -ida_idp.IDP_Hooks.ev_create_func_frame(): - - ev_create_func_frame(self, pfn) -> int - - -ida_idp.IDP_Hooks.ev_create_switch_xrefs(): - - ev_create_switch_xrefs(self, jumpea, si) -> int - - -ida_idp.IDP_Hooks.ev_creating_segm(): - - ev_creating_segm(self, seg) -> int - - -ida_idp.IDP_Hooks.ev_decorate_name(): - - ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * - - -ida_idp.IDP_Hooks.ev_del_cref(): - - ev_del_cref(self, _from, to, expand) -> int - - -ida_idp.IDP_Hooks.ev_del_dref(): - - ev_del_dref(self, _from, to) -> int - - -ida_idp.IDP_Hooks.ev_delay_slot_insn(): - - ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * - - -ida_idp.IDP_Hooks.ev_demangle_name(): - - ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * - - -ida_idp.IDP_Hooks.ev_emu_insn(): - - 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. - - @return: Boolean (whether this instruction has been emulated or not) - - -ida_idp.IDP_Hooks.ev_endbinary(): - - ev_endbinary(self, ok) -> int - - -ida_idp.IDP_Hooks.ev_ending_undo(): - - ev_ending_undo(self, action_name, is_undo) -> int - - -ida_idp.IDP_Hooks.ev_equal_reglocs(): - - ev_equal_reglocs(self, a1, a2) -> int - - -ida_idp.IDP_Hooks.ev_extract_address(): - - ev_extract_address(self, out_ea, screen_ea, string, position) -> int - - -ida_idp.IDP_Hooks.ev_find_op_value(): - - ev_find_op_value(self, pinsn, opn) -> PyObject * - - -ida_idp.IDP_Hooks.ev_find_reg_value(): - - ev_find_reg_value(self, pinsn, reg) -> PyObject * - - -ida_idp.IDP_Hooks.ev_func_bounds(): - - ev_func_bounds(self, possible_return_code, pfn, max_func_end_ea) - - -ida_idp.IDP_Hooks.ev_gen_asm_or_lst(): - - ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) - - -ida_idp.IDP_Hooks.ev_gen_map_file(): - - ev_gen_map_file(self, nlines, fp) -> int - - -ida_idp.IDP_Hooks.ev_gen_regvar_def(): - - ev_gen_regvar_def(self, outctx, v) -> int - - -ida_idp.IDP_Hooks.ev_gen_src_file_lnnum(): - - ev_gen_src_file_lnnum(self, outctx, file, lnnum) -> int - - -ida_idp.IDP_Hooks.ev_gen_stkvar_def(): - - ev_gen_stkvar_def(self, outctx, mptr, v) -> int - - -ida_idp.IDP_Hooks.ev_get_abi_info(): - - ev_get_abi_info(self, abi_names, abi_opts, comp) -> int - - -ida_idp.IDP_Hooks.ev_get_autocmt(): - - ev_get_autocmt(self, insn) -> PyObject * - - -ida_idp.IDP_Hooks.ev_get_bg_color(): - - ev_get_bg_color(self, ea) -> int or None - - -ida_idp.IDP_Hooks.ev_get_cc_regs(): - - ev_get_cc_regs(self, regs, cc) -> int - - -ida_idp.IDP_Hooks.ev_get_dbr_opnum(): - - ev_get_dbr_opnum(self, opnum, insn) -> int - - -ida_idp.IDP_Hooks.ev_get_default_enum_size(): - - ev_get_default_enum_size(self, cm) -> int - - -ida_idp.IDP_Hooks.ev_get_frame_retsize(): - - ev_get_frame_retsize(self, frsize, pfn) -> int - - -ida_idp.IDP_Hooks.ev_get_macro_insn_head(): - - ev_get_macro_insn_head(self, head, ip) -> int - - -ida_idp.IDP_Hooks.ev_get_operand_string(): - - ev_get_operand_string(self, insn, opnum) -> PyObject * - - -ida_idp.IDP_Hooks.ev_get_reg_info(): - - ev_get_reg_info(self, main_regname, bitrange, regname) -> int - - -ida_idp.IDP_Hooks.ev_get_reg_name(): - - ev_get_reg_name(self, reg, width, reghi) -> PyObject * - - -ida_idp.IDP_Hooks.ev_get_simd_types(): - - ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int - - -ida_idp.IDP_Hooks.ev_get_stkarg_offset(): - - ev_get_stkarg_offset(self) -> int - - -ida_idp.IDP_Hooks.ev_get_stkvar_scale_factor(): - - ev_get_stkvar_scale_factor(self) -> int - - -ida_idp.IDP_Hooks.ev_getreg(): - - ev_getreg(self, regval, regnum) -> int - - -ida_idp.IDP_Hooks.ev_init(): - - ev_init(self, idp_modname) -> int - - -ida_idp.IDP_Hooks.ev_insn_reads_tbit(): - - ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int - - -ida_idp.IDP_Hooks.ev_is_align_insn(): - - ev_is_align_insn(self, ea) -> int - - -ida_idp.IDP_Hooks.ev_is_alloca_probe(): - - ev_is_alloca_probe(self, ea) -> int - - -ida_idp.IDP_Hooks.ev_is_basic_block_end(): - - ev_is_basic_block_end(self, insn, call_insn_stops_block) -> int - - -ida_idp.IDP_Hooks.ev_is_call_insn(): - - ev_is_call_insn(self, insn) -> int - - - Is the instruction a "call"? - - @param insn: instruction - @return: 0-unknown, 1-yes, -1-no - - -ida_idp.IDP_Hooks.ev_is_cond_insn(): - - ev_is_cond_insn(self, insn) -> int - - -ida_idp.IDP_Hooks.ev_is_far_jump(): - - ev_is_far_jump(self, icode) -> int - - -ida_idp.IDP_Hooks.ev_is_indirect_jump(): - - ev_is_indirect_jump(self, insn) -> int - - -ida_idp.IDP_Hooks.ev_is_insn_table_jump(): - - ev_is_insn_table_jump(self, insn) -> int - - -ida_idp.IDP_Hooks.ev_is_jump_func(): - - ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int - - -ida_idp.IDP_Hooks.ev_is_ret_insn(): - - ev_is_ret_insn(self, insn, strict) -> int - - - Is the instruction a "return"? - - @param insn: instruction - @param strict: - True: report only ret instructions - False: include instructions like "leave" which begins the function epilog - @return: 0-unknown, 1-yes, -1-no - - -ida_idp.IDP_Hooks.ev_is_sane_insn(): - - ev_is_sane_insn(self, insn, no_crefs) -> int - - - is the instruction sane for the current file type? - @param insn: the instruction - @param no_crefs: - - 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. - @return: >=0-ok, <0-no, the instruction isn't likely to appear in the program - - -ida_idp.IDP_Hooks.ev_is_sp_based(): - - ev_is_sp_based(self, mode, insn, op) -> int - - -ida_idp.IDP_Hooks.ev_is_switch(): - - ev_is_switch(self, si, insn) -> int - - -ida_idp.IDP_Hooks.ev_last_cb_before_loader(): - - ev_last_cb_before_loader(self) -> int - - -ida_idp.IDP_Hooks.ev_loader(): - - ev_loader(self) -> int - - -ida_idp.IDP_Hooks.ev_lower_func_type(): - - ev_lower_func_type(self, argnums, fti) -> int - - -ida_idp.IDP_Hooks.ev_max_ptr_size(): - - ev_max_ptr_size(self) -> int - - -ida_idp.IDP_Hooks.ev_may_be_func(): - - ev_may_be_func(self, insn, state) -> int - - - Can a function start here? - @param insn: the instruction - @param state: autoanalysis phase - 0: creating functions - 1: creating chunks - - @return: integer (probability 0..100) - - -ida_idp.IDP_Hooks.ev_may_show_sreg(): - - ev_may_show_sreg(self, current_ea) -> int - - -ida_idp.IDP_Hooks.ev_moving_segm(): - - ev_moving_segm(self, seg, to, flags) -> int - - -ida_idp.IDP_Hooks.ev_newasm(): - - ev_newasm(self, asmnum) -> int - - -ida_idp.IDP_Hooks.ev_newbinary(): - - ev_newbinary(self, filename, fileoff, basepara, binoff, nbytes) -> int - - -ida_idp.IDP_Hooks.ev_newfile(): - - ev_newfile(self, fname) -> int - - -ida_idp.IDP_Hooks.ev_newprc(): - - ev_newprc(self, pnum, keep_cfg) -> int - - -ida_idp.IDP_Hooks.ev_next_exec_insn(): - - ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int - - -ida_idp.IDP_Hooks.ev_oldfile(): - - ev_oldfile(self, fname) -> int - - -ida_idp.IDP_Hooks.ev_out_assumes(): - - ev_out_assumes(self, outctx) -> int - - -ida_idp.IDP_Hooks.ev_out_data(): - - ev_out_data(self, outctx, analyze_only) -> int - - -ida_idp.IDP_Hooks.ev_out_footer(): - - ev_out_footer(self, outctx) - - -ida_idp.IDP_Hooks.ev_out_header(): - - ev_out_header(self, outctx) - - -ida_idp.IDP_Hooks.ev_out_insn(): - - ev_out_insn(self, outctx) -> bool - - - Outputs the instruction defined in 'ctx.insn' - - @return: Boolean (whether this instruction can be outputted or not) - - -ida_idp.IDP_Hooks.ev_out_label(): - - ev_out_label(self, outctx, colored_name) -> int - - -ida_idp.IDP_Hooks.ev_out_mnem(): - - ev_out_mnem(self, outctx) -> int - - -ida_idp.IDP_Hooks.ev_out_operand(): - - ev_out_operand(self, outctx, op) -> bool - - - Notification to generate operand text. - If False was returned, then the standard operand output function will be called. - - this notification may use out_...() functions to form the operand text - - @return: Boolean (whether the operand has been outputted or not) - - -ida_idp.IDP_Hooks.ev_out_segend(): - - ev_out_segend(self, outctx, seg) -> int - - -ida_idp.IDP_Hooks.ev_out_segstart(): - - ev_out_segstart(self, outctx, seg) -> int - - -ida_idp.IDP_Hooks.ev_out_special_item(): - - ev_out_special_item(self, outctx, segtype) -> int - - -ida_idp.IDP_Hooks.ev_realcvt(): - - ev_realcvt(self, m, e, swt) -> int - - -ida_idp.IDP_Hooks.ev_rename(): - - ev_rename(self, ea, new_name) -> int - - - The kernel is going to rename a byte. - - @param ea: Address - @param new_name: The new name - - @return: - - If returns value <0, then the kernel should - not rename it. See also the 'renamed' event - - -ida_idp.IDP_Hooks.ev_replaying_undo(): - - ev_replaying_undo(self, action_name, vec, is_undo) -> int - - -ida_idp.IDP_Hooks.ev_set_idp_options(): - - ev_set_idp_options(self, keyword, value_type, value, errbuf, idb_loaded) -> int - - -ida_idp.IDP_Hooks.ev_set_proc_options(): - - ev_set_proc_options(self, options, confidence) -> int - - -ida_idp.IDP_Hooks.ev_setup_til(): - - ev_setup_til(self) - - -ida_idp.IDP_Hooks.ev_shadow_args_size(): - - ev_shadow_args_size(self, shadow_args_size, pfn) -> int - - -ida_idp.IDP_Hooks.ev_str2reg(): - - ev_str2reg(self, regname) -> int - - -ida_idp.IDP_Hooks.ev_term(): - - ev_term(self) -> int - - -ida_idp.IDP_Hooks.ev_treat_hindering_item(): - - ev_treat_hindering_item(self, hindering_item_ea, new_item_flags, new_item_ea, new_item_length) -> int - - -ida_idp.IDP_Hooks.ev_undefine(): - - ev_undefine(self, ea) -> int - - - An item in the database (insn or data) is being deleted - @param ea: Address - @return: - - 1 - do not delete srranges at the item end - - 0 - srranges can be deleted - - -ida_idp.IDP_Hooks.ev_use_arg_types(): - - ev_use_arg_types(self, ea, fti, rargs) -> int - - -ida_idp.IDP_Hooks.ev_use_regarg_type(): - - ev_use_regarg_type(self, ea, rargs) -> PyObject * - - -ida_idp.IDP_Hooks.ev_use_stkarg_type(): - - ev_use_stkarg_type(self, ea, arg) -> int - - -ida_idp.IDP_Hooks.ev_validate_flirt_func(): - - ev_validate_flirt_func(self, start_ea, funcname) -> int - - -ida_idp.IDP_Hooks.ev_verify_noreturn(): - - ev_verify_noreturn(self, pfn) -> int - - -ida_idp.IDP_Hooks.ev_verify_sp(): - - ev_verify_sp(self, pfn) -> int - - -ida_idp.IDP_Hooks.hook(): - - hook(self) -> bool - - - Creates an IDP hook - - @return: Boolean true on success - - -ida_idp.IDP_Hooks.unhook(): - - unhook(self) -> bool - - - Removes the IDP hook - @return: Boolean true on success - - -class ida_idp.asm_t(): - - Proxy of C++ asm_t class - - -ida_idp.asm_t.a_align: - asm_t_a_align_get(self) -> char const * - -ida_idp.asm_t.a_ascii: - asm_t_a_ascii_get(self) -> char const * - -ida_idp.asm_t.a_band: - asm_t_a_band_get(self) -> char const * - -ida_idp.asm_t.a_bnot: - asm_t_a_bnot_get(self) -> char const * - -ida_idp.asm_t.a_bor: - asm_t_a_bor_get(self) -> char const * - -ida_idp.asm_t.a_bss: - asm_t_a_bss_get(self) -> char const * - -ida_idp.asm_t.a_byte: - asm_t_a_byte_get(self) -> char const * - -ida_idp.asm_t.a_comdef: - asm_t_a_comdef_get(self) -> char const * - -ida_idp.asm_t.a_curip: - asm_t_a_curip_get(self) -> char const * - -ida_idp.asm_t.a_double: - asm_t_a_double_get(self) -> char const * - -ida_idp.asm_t.a_dups: - asm_t_a_dups_get(self) -> char const * - -ida_idp.asm_t.a_dword: - asm_t_a_dword_get(self) -> char const * - -ida_idp.asm_t.a_equ: - asm_t_a_equ_get(self) -> char const * - -ida_idp.asm_t.a_extrn: - asm_t_a_extrn_get(self) -> char const * - -ida_idp.asm_t.a_float: - asm_t_a_float_get(self) -> char const * - -ida_idp.asm_t.a_include_fmt: - asm_t_a_include_fmt_get(self) -> char const * - -ida_idp.asm_t.a_mod: - asm_t_a_mod_get(self) -> char const * - -ida_idp.asm_t.a_oword: - asm_t_a_oword_get(self) -> char const * - -ida_idp.asm_t.a_packreal: - asm_t_a_packreal_get(self) -> char const * - -ida_idp.asm_t.a_public: - asm_t_a_public_get(self) -> char const * - -ida_idp.asm_t.a_qword: - asm_t_a_qword_get(self) -> char const * - -ida_idp.asm_t.a_rva: - asm_t_a_rva_get(self) -> char const * - -ida_idp.asm_t.a_seg: - asm_t_a_seg_get(self) -> char const * - -ida_idp.asm_t.a_shl: - asm_t_a_shl_get(self) -> char const * - -ida_idp.asm_t.a_shr: - asm_t_a_shr_get(self) -> char const * - -ida_idp.asm_t.a_sizeof_fmt: - asm_t_a_sizeof_fmt_get(self) -> char const * - -ida_idp.asm_t.a_tbyte: - asm_t_a_tbyte_get(self) -> char const * - -ida_idp.asm_t.a_vstruc_fmt: - asm_t_a_vstruc_fmt_get(self) -> char const * - -ida_idp.asm_t.a_weak: - asm_t_a_weak_get(self) -> char const * - -ida_idp.asm_t.a_word: - asm_t_a_word_get(self) -> char const * - -ida_idp.asm_t.a_xor: - asm_t_a_xor_get(self) -> char const * - -ida_idp.asm_t.a_yword: - asm_t_a_yword_get(self) -> char const * - -ida_idp.asm_t.accsep: - asm_t_accsep_get(self) -> char - -ida_idp.asm_t.ascsep: - asm_t_ascsep_get(self) -> char - -ida_idp.asm_t.cmnt: - asm_t_cmnt_get(self) -> char const * - -ida_idp.asm_t.cmnt2: - asm_t_cmnt2_get(self) -> char const * - -ida_idp.asm_t.end: - asm_t_end_get(self) -> char const * - -ida_idp.asm_t.esccodes: - asm_t_esccodes_get(self) -> char const * - -ida_idp.asm_t.flag: - asm_t_flag_get(self) -> uint32 - -ida_idp.asm_t.flag2: - asm_t_flag2_get(self) -> uint32 - -ida_idp.asm_t.header: - asm_t_header_get(self) -> char const *const * - -ida_idp.asm_t.help: - asm_t_help_get(self) -> help_t - -ida_idp.asm_t.high16: - asm_t_high16_get(self) -> char const * - -ida_idp.asm_t.high8: - asm_t_high8_get(self) -> char const * - -ida_idp.asm_t.lbrace: - asm_t_lbrace_get(self) -> char - -ida_idp.asm_t.low16: - asm_t_low16_get(self) -> char const * - -ida_idp.asm_t.low8: - asm_t_low8_get(self) -> char const * - -ida_idp.asm_t.name: - asm_t_name_get(self) -> char const * - -ida_idp.asm_t.origin: - asm_t_origin_get(self) -> char const * - -ida_idp.asm_t.rbrace: - asm_t_rbrace_get(self) -> char - -ida_idp.asm_t.uflag: - asm_t_uflag_get(self) -> uint16 - -ida_idp.assemble(): - - 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. - - -ida_idp.cfg_get_cc_header_path(): - - cfg_get_cc_header_path(compid) -> char const * - - -ida_idp.cfg_get_cc_parm(): - - cfg_get_cc_parm(compid, name) -> char const * - - -ida_idp.cfg_get_cc_predefined_macros(): - - cfg_get_cc_predefined_macros(compid) -> char const * - - -ida_idp.delay_slot_insn(): - - delay_slot_insn(ea, bexec, fexec) -> bool - - - Helper function to get the delay slot instruction. - - - @param ea (C++: ea_t *) - @param bexec (C++: bool *) - @param fexec (C++: bool *) - - -ida_idp.gen_idb_event(): - - gen_idb_event(code) - - - the kernel will use this function to generate idb_events - - - @param code (C++: idb_event::event_code_t) - - -ida_idp.get_idb_notifier_addr(): - - get_idb_notifier_addr(arg1) -> PyObject * - - -ida_idp.get_idb_notifier_ud_addr(): - - get_idb_notifier_ud_addr(hooks) -> PyObject * - - -ida_idp.get_idp_name(): - - get_idp_name() -> char * - - - 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 NULL - - -ida_idp.get_idp_notifier_addr(): - - get_idp_notifier_addr(arg1) -> PyObject * - - -ida_idp.get_idp_notifier_ud_addr(): - - get_idp_notifier_ud_addr(hooks) -> PyObject * - - -ida_idp.get_reg_info(): - - get_reg_info(regname, bitrange) -> char const * - - - Get register information - useful for registers like al, ah, dil, etc. - - @param regname (C++: const char *) - @param bitrange (C++: bitrange_t *) - @return: NULL no such register - - -ida_idp.get_reg_name(): - - get_reg_name(reg, width, reghi=-1) -> ssize_t - - - Get text representation of a register. For most processors this - function will just return \ph{reg_names}[reg]. If the processor module - has implemented processor_t::get_reg_name, it will be used instead - - @param reg: internal register number as defined in the processor - module (C++: int) - @param width: register width in bytes (C++: size_t) - @param reghi: if specified, then this function will return the - register pair (C++: int) - @return: length of register name in bytes or -1 if failure - - -ida_idp.has_cf_chg(): - - 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) - - -ida_idp.has_cf_use(): - - 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) - - -ida_idp.has_insn_feature(): - - has_insn_feature(icode, bit) -> bool - - - Does the specified instruction have the specified feature? - - - @param icode (C++: int) - @param bit (C++: uint32) - - -ida_idp.is_align_insn(): - - 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) - - -ida_idp.is_basic_block_end(): - - 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 &) - @param call_insn_stops_block (C++: bool) - - -ida_idp.is_call_insn(): - - is_call_insn(insn) -> bool - - - Is the instruction a "call"? - - - @param insn (C++: const insn_t &) - - -ida_idp.is_indirect_jump_insn(): - - is_indirect_jump_insn(insn) -> bool - - - Is the instruction an indirect jump? - - - @param insn (C++: const insn_t &) - - -ida_idp.is_ret_insn(): - - is_ret_insn(insn, strict=True) -> bool - - - Is the instruction a "return"? - - - @param insn (C++: const insn_t &) - @param strict (C++: bool) - - -ida_idp.parse_reg_name(): - - parse_reg_name(ri, regname) -> bool - - - Get register info by name. - - @param ri: result (C++: reg_info_t *) - @param regname: name of register (C++: const char *) - @return: success - - -ida_idp.ph_calcrel(): - - ph_calcrel(ea) - - -ida_idp.ph_find_op_value(): - - ph_find_op_value(insn, op) -> ssize_t - - -ida_idp.ph_find_reg_value(): - - ph_find_reg_value(insn, reg) -> ssize_t - - -ida_idp.ph_get_cnbits(): - - ph_get_cnbits() -> size_t - - - Returns the 'ph.cnbits' - - -ida_idp.ph_get_dnbits(): - - ph_get_dnbits() -> size_t - - - Returns the 'ph.dnbits' - - -ida_idp.ph_get_flag(): - - ph_get_flag() -> size_t - - - Returns the 'ph.flag' - - -ida_idp.ph_get_icode_return(): - - ph_get_icode_return() -> size_t - - - Returns the 'ph.icode_return' - - -ida_idp.ph_get_id(): - - ph_get_id() -> size_t - - - Returns the 'ph.id' field - - -ida_idp.ph_get_instruc(): - - ph_get_instruc() -> PyObject * - - - Returns a list of tuples (instruction_name, instruction_feature) containing the - instructions list as defined in he processor module - - -ida_idp.ph_get_instruc_end(): - - ph_get_instruc_end() -> size_t - - - Returns the 'ph.instruc_end' - - -ida_idp.ph_get_instruc_start(): - - ph_get_instruc_start() -> size_t - - - Returns the 'ph.instruc_start' - - -ida_idp.ph_get_operand_info(): - - ph_get_operand_info(ea, n) -> PyObject * - - - 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. - - -ida_idp.ph_get_reg_code_sreg(): - - ph_get_reg_code_sreg() -> size_t - - - Returns the 'ph.reg_code_sreg' - - -ida_idp.ph_get_reg_data_sreg(): - - ph_get_reg_data_sreg() -> size_t - - - Returns the 'ph.reg_data_sreg' - - -ida_idp.ph_get_reg_first_sreg(): - - ph_get_reg_first_sreg() -> size_t - - - Returns the 'ph.reg_first_sreg' - - -ida_idp.ph_get_reg_last_sreg(): - - ph_get_reg_last_sreg() -> size_t - - - Returns the 'ph.reg_last_sreg' - - -ida_idp.ph_get_regnames(): - - ph_get_regnames() -> PyObject * - - - Returns the list of register names as defined in the processor module - - -ida_idp.ph_get_segreg_size(): - - ph_get_segreg_size() -> size_t - - - Returns the 'ph.segreg_size' - - -ida_idp.ph_get_tbyte_size(): - - ph_get_tbyte_size() -> size_t - - - Returns the 'ph.tbyte_size' field as defined in he processor module - - -ida_idp.ph_get_version(): - - ph_get_version() -> size_t - - - Returns the 'ph.version' - - -ida_idp.processor_t.ev_add_cref(): - - ev_add_cref(self, _from, to, type) -> int - - -ida_idp.processor_t.ev_add_dref(): - - ev_add_dref(self, _from, to, type) -> int - - -ida_idp.processor_t.ev_adjust_argloc(): - - ev_adjust_argloc(self, argloc, optional_type, size) -> int - - -ida_idp.processor_t.ev_adjust_libfunc_ea(): - - ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int - - -ida_idp.processor_t.ev_adjust_refinfo(): - - ev_adjust_refinfo(self, ri, ea, n, fd) -> int - - -ida_idp.processor_t.ev_analyze_prolog(): - - ev_analyze_prolog(self, ea) -> int - - -ida_idp.processor_t.ev_arg_addrs_ready(): - - ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int - - -ida_idp.processor_t.ev_calc_arglocs(): - - ev_calc_arglocs(self, fti) -> int - - -ida_idp.processor_t.ev_calc_cdecl_purged_bytes(): - - ev_calc_cdecl_purged_bytes(self, ea) -> int - - -ida_idp.processor_t.ev_calc_next_eas(): - - ev_calc_next_eas(self, res, insn, over) -> int - - -ida_idp.processor_t.ev_calc_purged_bytes(): - - ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int - - -ida_idp.processor_t.ev_calc_retloc(): - - ev_calc_retloc(self, retloc, rettype, cc) -> int - - -ida_idp.processor_t.ev_calc_spdelta(): - - ev_calc_spdelta(self, spdelta, insn) -> int - - -ida_idp.processor_t.ev_calc_switch_cases(): - - ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int - - -ida_idp.processor_t.ev_calc_varglocs(): - - ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int - - -ida_idp.processor_t.ev_calcrel(): - - ev_calcrel(self) -> int - - -ida_idp.processor_t.ev_clean_tbit(): - - ev_clean_tbit(self, ea, getreg, regvalues) -> int - - -ida_idp.processor_t.ev_create_flat_group(): - - ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int - - -ida_idp.processor_t.ev_decorate_name(): - - ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * - - -ida_idp.processor_t.ev_del_cref(): - - ev_del_cref(self, _from, to, expand) -> int - - -ida_idp.processor_t.ev_del_dref(): - - ev_del_dref(self, _from, to) -> int - - -ida_idp.processor_t.ev_delay_slot_insn(): - - ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * - - -ida_idp.processor_t.ev_demangle_name(): - - ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * - - -ida_idp.processor_t.ev_ending_undo(): - - ev_ending_undo(self, action_name, is_undo) -> int - - -ida_idp.processor_t.ev_equal_reglocs(): - - ev_equal_reglocs(self, a1, a2) -> int - - -ida_idp.processor_t.ev_extract_address(): - - ev_extract_address(self, out_ea, screen_ea, string, position) -> int - - -ida_idp.processor_t.ev_find_op_value(): - - ev_find_op_value(self, pinsn, opn) -> PyObject * - - -ida_idp.processor_t.ev_find_reg_value(): - - ev_find_reg_value(self, pinsn, reg) -> PyObject * - - -ida_idp.processor_t.ev_gen_asm_or_lst(): - - ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) - - -ida_idp.processor_t.ev_gen_stkvar_def(): - - ev_gen_stkvar_def(self, outctx, mptr, v) -> int - - -ida_idp.processor_t.ev_get_abi_info(): - - ev_get_abi_info(self, abi_names, abi_opts, comp) -> int - - -ida_idp.processor_t.ev_get_bg_color(): - - ev_get_bg_color(self, ea) -> int or None - - -ida_idp.processor_t.ev_get_cc_regs(): - - ev_get_cc_regs(self, regs, cc) -> int - - -ida_idp.processor_t.ev_get_dbr_opnum(): - - ev_get_dbr_opnum(self, opnum, insn) -> int - - -ida_idp.processor_t.ev_get_default_enum_size(): - - ev_get_default_enum_size(self, cm) -> int - - -ida_idp.processor_t.ev_get_macro_insn_head(): - - ev_get_macro_insn_head(self, head, ip) -> int - - -ida_idp.processor_t.ev_get_reg_info(): - - ev_get_reg_info(self, main_regname, bitrange, regname) -> int - - -ida_idp.processor_t.ev_get_reg_name(): - - ev_get_reg_name(self, reg, width, reghi) -> PyObject * - - -ida_idp.processor_t.ev_get_simd_types(): - - ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int - - -ida_idp.processor_t.ev_get_stkarg_offset(): - - ev_get_stkarg_offset(self) -> int - - -ida_idp.processor_t.ev_get_stkvar_scale_factor(): - - ev_get_stkvar_scale_factor(self) -> int - - -ida_idp.processor_t.ev_getreg(): - - ev_getreg(self, regval, regnum) -> int - - -ida_idp.processor_t.ev_init(): - - ev_init(self, idp_modname) -> int - - -ida_idp.processor_t.ev_insn_reads_tbit(): - - ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int - - -ida_idp.processor_t.ev_is_cond_insn(): - - ev_is_cond_insn(self, insn) -> int - - -ida_idp.processor_t.ev_is_jump_func(): - - ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int - - -ida_idp.processor_t.ev_last_cb_before_loader(): - - ev_last_cb_before_loader(self) -> int - - -ida_idp.processor_t.ev_loader(): - - ev_loader(self) -> int - - -ida_idp.processor_t.ev_lower_func_type(): - - ev_lower_func_type(self, argnums, fti) -> int - - -ida_idp.processor_t.ev_max_ptr_size(): - - ev_max_ptr_size(self) -> int - - -ida_idp.processor_t.ev_newasm(): - - ev_newasm(self, asmnum) -> int - - -ida_idp.processor_t.ev_next_exec_insn(): - - ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int - - -ida_idp.processor_t.ev_realcvt(): - - ev_realcvt(self, m, e, swt) -> int - - -ida_idp.processor_t.ev_replaying_undo(): - - ev_replaying_undo(self, action_name, vec, is_undo) -> int - - -ida_idp.processor_t.ev_setup_til(): - - ev_setup_til(self) - - -ida_idp.processor_t.ev_shadow_args_size(): - - ev_shadow_args_size(self, shadow_args_size, pfn) -> int - - -ida_idp.processor_t.ev_term(): - - ev_term(self) -> int - - -ida_idp.processor_t.ev_use_arg_types(): - - ev_use_arg_types(self, ea, fti, rargs) -> int - - -ida_idp.processor_t.ev_use_regarg_type(): - - ev_use_regarg_type(self, ea, rargs) -> PyObject * - - -ida_idp.processor_t.ev_use_stkarg_type(): - - ev_use_stkarg_type(self, ea, arg) -> int - - -ida_idp.processor_t.get_auxpref(): - - This function returns insn.auxpref value - - -ida_idp.processor_t.get_idpdesc(): - - 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. - - -ida_idp.processor_t.get_uFlag(): - - Use this utility function to retrieve the 'uFlag' global variable - - -ida_idp.processor_t.hook(): - - hook(self) -> bool - - - Creates an IDP hook - - @return: Boolean true on success - - -ida_idp.processor_t.unhook(): - - unhook(self) -> bool - - - Removes the IDP hook - @return: Boolean true on success - - -class ida_idp.reg_info_t(): - - Proxy of C++ reg_info_t class - - -ida_idp.reg_info_t.compare(): - - compare(self, r) -> int - - -ida_idp.reg_info_t.reg: - reg_info_t_reg_get(self) -> int - -ida_idp.reg_info_t.size: - reg_info_t_size_get(self) -> int - -ida_idp.set_processor_type(): - - 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: name of processor type (one of names present in - \ph{psnames}) (C++: const char *) - @param level: SETPROC_ (C++: setproc_level_t) - @return: success - - -ida_idp.set_target_assembler(): - - set_target_assembler(asmnum) -> bool - - - Set target assembler. - - @param asmnum: number of assembler in the current processor module - (C++: int) - @return: success - - -ida_idp.sizeof_ldbl(): - - sizeof_ldbl() -> size_t - - - Get size of long double. - - -ida_idp.str2reg(): - - str2reg(p) -> int - - - Get any reg number (-1 on error) - - - @param p (C++: const char *) - - - -=== ida_idp EPYDOC INJECTIONS === -ida_idp.AS2_BRACE -""" -Use braces for all expressions. -""" - -ida_idp.AS2_BYTE1CHAR -""" -Meaningful only for wide byte processors. - -One symbol per processor byte -""" - -ida_idp.AS2_COLONSUF -""" -addresses may have ":xx" suffix this suffix must be ignored when -extracting the address under the cursor -""" - -ida_idp.AS2_IDEALDSCR -""" -Description of struc/union is in the 'reverse' form (keyword before -name) the same as in borland tasm ideal -""" - -ida_idp.AS2_STRINV -""" -(For processors with bytes bigger than 8 bits) - -Invert meaning of \\inf{wide_high_byte_first} for text strings -""" - -ida_idp.AS2_TERSESTR -""" -NAME is supported. - -'terse' structure initialization form -""" - -ida_idp.AS2_YWORD -""" -a_yword field is present and valid -""" - -ida_idp.ASB_BINF0 -""" -010101b -""" - -ida_idp.ASB_BINF1 -""" -^B010101 -""" - -ida_idp.ASB_BINF2 -""" -%010101 -""" - -ida_idp.ASB_BINF3 -""" -0b1010101 -""" - -ida_idp.ASB_BINF4 -""" -b'1010101 -""" - -ida_idp.ASB_BINF5 -""" -b'1010101' -""" - -ida_idp.ASD_DECF0 -""" -34 -""" - -ida_idp.ASD_DECF1 -""" -#34 -""" - -ida_idp.ASD_DECF3 -""" -.34 -""" - -ida_idp.ASH_HEXF0 -""" -34h -""" - -ida_idp.ASH_HEXF1 -""" -h'34 -""" - -ida_idp.ASH_HEXF2 -""" -34 -""" - -ida_idp.ASH_HEXF3 -""" -0x34 -""" - -ida_idp.ASH_HEXF4 -""" -$34 -""" - -ida_idp.ASH_HEXF5 -""" -<^R > (radix) -""" - -ida_idp.ASO_OCTF0 -""" -123o -""" - -ida_idp.ASO_OCTF1 -""" -0123 -""" - -ida_idp.ASO_OCTF2 -""" -123 -""" - -ida_idp.ASO_OCTF3 -""" -@123 -""" - -ida_idp.ASO_OCTF4 -""" -o'123 -""" - -ida_idp.ASO_OCTF5 -""" -123q -""" - -ida_idp.ASO_OCTF6 -""" -~123 -""" - -ida_idp.ASO_OCTF7 -""" -q'123 -""" - -ida_idp.AS_1TEXT -""" -1 text per line, no bytes -""" - -ida_idp.AS_2CHRE -""" -double char constants are: "xy -""" - -ida_idp.AS_ALIGN2 -""" -(.align 5 means to align at 32byte boundary) - -.align directive expects an exponent rather than a power of 2 -""" - -ida_idp.AS_ASCIIC -""" -(\\n,\\x01 and similar) - -ascii directive accepts C-like escape sequences -""" - -ida_idp.AS_ASCIIZ -""" -ascii directive inserts implicit zero byte at the end -""" - -ida_idp.AS_BINFM -""" -mask - binary number format -""" - -ida_idp.AS_COLON -""" -create colons after data names ? -""" - -ida_idp.AS_DECFM -""" -mask - decimal number format -""" - -ida_idp.AS_HEXFM -""" -mask - hex number format -""" - -ida_idp.AS_LALIGN -""" -Labels at "align" keyword are supported. -""" - -ida_idp.AS_N2CHR -""" -can't have 2 byte char consts -""" - -ida_idp.AS_NCHRE -""" -char constants are: 'x -""" - -ida_idp.AS_NCMAS -""" -no commas in ascii directives -""" - -ida_idp.AS_NHIAS -""" -no characters with high bit -""" - -ida_idp.AS_NOCODECLN -""" -don't create colons after code names -""" - -ida_idp.AS_NOSPACE -""" -No spaces in expressions. -""" - -ida_idp.AS_NOXRF -""" -Disable xrefs during the output file generation. -""" - -ida_idp.AS_OCTFM -""" -mask - octal number format -""" - -ida_idp.AS_OFFST -""" -offsets are 'offset xxx' ? -""" - -ida_idp.AS_ONEDUP -""" -One array definition per line. -""" - -ida_idp.AS_RELSUP -""" -Checkarg: 'and','or','xor' operations with addresses are possible. -""" - -ida_idp.AS_UDATA -""" -can use '?' in data directives -""" - -ida_idp.AS_UNEQU -""" -replace undefined data items with EQU (for ANTA's A80) -""" - -ida_idp.AS_XTRNTYPE -""" -Assembler understands type of extern symbols as ":type" suffix. -""" - -ida_idp.CF_CALL -""" -CALL instruction (should make a procedure here) -""" - -ida_idp.CF_CHG1 -""" -The instruction modifies the first operand. -""" - -ida_idp.CF_CHG2 -""" -The instruction modifies the second operand. -""" - -ida_idp.CF_CHG3 -""" -The instruction modifies the third operand. -""" - -ida_idp.CF_CHG4 -""" -The instruction modifies 4 operand. -""" - -ida_idp.CF_CHG5 -""" -The instruction modifies 5 operand. -""" - -ida_idp.CF_CHG6 -""" -The instruction modifies 6 operand. -""" - -ida_idp.CF_HLL -""" -language function. - -Instruction may be present in a high level -""" - -ida_idp.CF_JUMP -""" -jump or call (thus needs additional analysis) - -The instruction passes execution using indirect -""" - -ida_idp.CF_SHFT -""" -Bit-shift instruction (shl,shr...) -""" - -ida_idp.CF_STOP -""" -next instruction - -Instruction doesn't pass execution to the -""" - -ida_idp.CF_USE1 -""" -The instruction uses value of the first operand. -""" - -ida_idp.CF_USE2 -""" -The instruction uses value of the second operand. -""" - -ida_idp.CF_USE3 -""" -The instruction uses value of the third operand. -""" - -ida_idp.CF_USE4 -""" -The instruction uses value of the 4 operand. -""" - -ida_idp.CF_USE5 -""" -The instruction uses value of the 5 operand. -""" - -ida_idp.CF_USE6 -""" -The instruction uses value of the 6 operand. -""" - -ida_idp.CUSTOM_INSN_ITYPE -""" -Custom instruction codes defined by processor extension plugins must -be greater than or equal to this -""" - -ida_idp.IDP_INTERFACE_VERSION -""" -The interface version number.see also 'IDA_SDK_VERSION' from 'pro.h' -""" - -ida_idp.OP_FP_BASED -""" -operand is FP based -""" - -ida_idp.OP_SP_ADD -""" -operand value is added to the pointer -""" - -ida_idp.OP_SP_BASED -""" -operand is SP based -""" - -ida_idp.OP_SP_SUB -""" -operand value is subtracted from the pointer -""" - -ida_idp.PLFM_386 -""" -Intel 80x86. -""" - -ida_idp.PLFM_6502 -""" -6502 -""" - -ida_idp.PLFM_65C816 -""" -65802/65816 -""" - -ida_idp.PLFM_6800 -""" -Motorola 68xx. -""" - -ida_idp.PLFM_68K -""" -Motorola 680x0. -""" - -ida_idp.PLFM_80196 -""" -Intel 80196. -""" - -ida_idp.PLFM_8051 -""" -8051 -""" - -ida_idp.PLFM_AD2106X -""" -Analog Devices ADSP 2106X. -""" - -ida_idp.PLFM_AD218X -""" -Analog Devices ADSP 218X. -""" - -ida_idp.PLFM_ALPHA -""" -DEC Alpha. -""" - -ida_idp.PLFM_ARC -""" -Argonaut RISC Core. -""" - -ida_idp.PLFM_ARM -""" -Advanced RISC Machines. -""" - -ida_idp.PLFM_AVR -""" -Atmel 8-bit RISC processor(s) -""" - -ida_idp.PLFM_C166 -""" -Siemens C166 family. -""" - -ida_idp.PLFM_C39 -""" -Rockwell C39. -""" - -ida_idp.PLFM_CR16 -""" -NSC CR16. -""" - -ida_idp.PLFM_DALVIK -""" -Android Dalvik Virtual Machine. -""" - -ida_idp.PLFM_DSP56K -""" -Motorola DSP5600x. -""" - -ida_idp.PLFM_DSP96K -""" -Motorola DSP96000. -""" - -ida_idp.PLFM_EBC -""" -EFI Bytecode. -""" - -ida_idp.PLFM_F2MC -""" -Fujistu F2MC-16. -""" - -ida_idp.PLFM_FR -""" -Fujitsu FR Family. -""" - -ida_idp.PLFM_H8 -""" -Hitachi H8/300, H8/2000. -""" - -ida_idp.PLFM_H8500 -""" -Hitachi H8/500. -""" - -ida_idp.PLFM_HPPA -""" -Hewlett-Packard PA-RISC. -""" - -ida_idp.PLFM_I860 -""" -Intel 860. -""" - -ida_idp.PLFM_I960 -""" -Intel 960. -""" - -ida_idp.PLFM_IA64 -""" -Intel Itanium IA64. -""" - -ida_idp.PLFM_JAVA -""" -Java. -""" - -ida_idp.PLFM_KR1878 -""" -Angstrem KR1878. -""" - -ida_idp.PLFM_M16C -""" -Renesas M16C. -""" - -ida_idp.PLFM_M32R -""" -Mitsubishi 32bit RISC. -""" - -ida_idp.PLFM_M740 -""" -Mitsubishi 8bit. -""" - -ida_idp.PLFM_M7700 -""" -Mitsubishi 16bit. -""" - -ida_idp.PLFM_M7900 -""" -Mitsubishi 7900. -""" - -ida_idp.PLFM_MC6812 -""" -Motorola 68HC12. -""" - -ida_idp.PLFM_MC6816 -""" -Motorola 68HC16. -""" - -ida_idp.PLFM_MIPS -""" -MIPS. -""" - -ida_idp.PLFM_MN102L00 -""" -Panasonic MN10200. -""" - -ida_idp.PLFM_MSP430 -""" -Texas Instruments MSP430. -""" - -ida_idp.PLFM_NEC_78K0 -""" -NEC 78K0. -""" - -ida_idp.PLFM_NEC_78K0S -""" -NEC 78K0S. -""" - -ida_idp.PLFM_NEC_V850X -""" -NEC V850 and V850ES/E1/E2. -""" - -ida_idp.PLFM_NET -""" -Microsoft Visual Studio.Net. -""" - -ida_idp.PLFM_OAKDSP -""" -Atmel OAK DSP. -""" - -ida_idp.PLFM_PDP -""" -PDP11. -""" - -ida_idp.PLFM_PIC -""" -Microchip's PIC. -""" - -ida_idp.PLFM_PIC16 -""" -Microchip's 16-bit PIC. -""" - -ida_idp.PLFM_PPC -""" -PowerPC. -""" - -ida_idp.PLFM_SCR_ADPT -""" -Processor module adapter for processor modules written in scripting -languages. -""" - -ida_idp.PLFM_SH -""" -Renesas (formerly Hitachi) SuperH. -""" - -ida_idp.PLFM_SPARC -""" -SPARC. -""" - -ida_idp.PLFM_SPC700 -""" -Sony SPC700. -""" - -ida_idp.PLFM_SPU -""" -Cell Broadband Engine Synergistic Processor Unit. -""" - -ida_idp.PLFM_ST20 -""" -SGS-Thomson ST20. -""" - -ida_idp.PLFM_ST7 -""" -SGS-Thomson ST7. -""" - -ida_idp.PLFM_ST9 -""" -ST9+. -""" - -ida_idp.PLFM_TLCS900 -""" -Toshiba TLCS-900. -""" - -ida_idp.PLFM_TMS -""" -Texas Instruments TMS320C5x. -""" - -ida_idp.PLFM_TMS320C1X -""" -Texas Instruments TMS320C1x. -""" - -ida_idp.PLFM_TMS320C28 -""" -Texas Instruments TMS320C28x. -""" - -ida_idp.PLFM_TMS320C3 -""" -Texas Instruments TMS320C3. -""" - -ida_idp.PLFM_TMS320C54 -""" -Texas Instruments TMS320C54xx. -""" - -ida_idp.PLFM_TMS320C55 -""" -Texas Instruments TMS320C55xx. -""" - -ida_idp.PLFM_TMSC6 -""" -Texas Instruments TMS320C6x. -""" - -ida_idp.PLFM_TRICORE -""" -Tasking Tricore. -""" - -ida_idp.PLFM_TRIMEDIA -""" -Trimedia. -""" - -ida_idp.PLFM_UNSP -""" -SunPlus unSP. -""" - -ida_idp.PLFM_Z8 -""" -Z8. -""" - -ida_idp.PLFM_Z80 -""" -8085, Z80 -""" - -ida_idp.PRN_BIN -""" -binary -""" - -ida_idp.PRN_DEC -""" -decimal -""" - -ida_idp.PRN_HEX -""" -hex -""" - -ida_idp.PRN_OCT -""" -octal -""" - -ida_idp.PR_ADJSEGS -""" -IDA may adjust segments' starting/ending addresses. -""" - -ida_idp.PR_ALIGN -""" -All data items should be aligned properly. -""" - -ida_idp.PR_ALIGN_INSN -""" -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 -""" - -ida_idp.PR_ASSEMBLE -""" -Module has a built-in assembler and will react to ev_assemble. -""" - -ida_idp.PR_BINMEM -""" -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 -""" - -ida_idp.PR_CHK_XREF -""" -don't allow near xrefs between segments with different bases -""" - -ida_idp.PR_CNDINSNS -""" -has conditional instructions -""" - -ida_idp.PR_DEFNUM -""" -mask - default number representation -""" - -ida_idp.PR_DEFSEG32 -""" -segments are 32-bit by default -""" - -ida_idp.PR_DEFSEG64 -""" -segments are 64-bit by default -""" - -ida_idp.PR_DELAYED -""" -has delayed jumps and calls if this flag is set, -\\ph{is_basic_block_end}, \\ph{has_delay_slot} should be implemented -""" - -ida_idp.PR_NOCHANGE -""" -(display only) - -The user can't change segments and code/data attributes -""" - -ida_idp.PR_NO_SEGMOVE -""" -(i.e. the user can't move segments) - -the processor module doesn't support 'move_segm()' -""" - -ida_idp.PR_PURGING -""" -there are calling conventions which may purge bytes from the stack -""" - -ida_idp.PR_RNAMESOK -""" -allow user register names for location names -""" - -ida_idp.PR_SCALE_STKVARS -""" -use \\ph{get_stkvar_scale} callback -""" - -ida_idp.PR_SEGS -""" -has segment registers? -""" - -ida_idp.PR_SEGTRANS -""" -the processor module supports the segment translation feature (meaning -it calculates the code addresses using the 'map_code_ea()' function) -""" - -ida_idp.PR_SGROTHER -""" -the segment registers don't contain the segment selectors. -""" - -ida_idp.PR_STACK_UP -""" -the stack grows up -""" - -ida_idp.PR_TYPEINFO -""" -ALL OF THEM SHOULD BE IMPLEMENTED! - -the processor module supports type information callbacks -""" - -ida_idp.PR_USE32 -""" -supports 32-bit addressing? -""" - -ida_idp.PR_USE64 -""" -supports 64-bit addressing? -""" - -ida_idp.PR_USE_ARG_TYPES -""" -use \\ph{use_arg_types} callback -""" - -ida_idp.PR_USE_TBYTE -""" - 'BTMT_SPECFLT' means _TBYTE type -""" - -ida_idp.PR_WORD_INS -""" -instruction codes are grouped 2bytes in binary line prefix -""" - -ida_idp.REG_SPOIL -""" -processor_t::use_regarg_type uses this bit in the return value to -indicate that the register value has been spoiled -""" -=== ida_idp EPYDOC INJECTIONS END === -class ida_kernwin.Choose(): - - Chooser wrapper class. - - Some constants are defined in this class. - Please refer to kernwin.hpp for more information. - - -ida_kernwin.Choose.Activate(): - - Activates a visible chooser - - -ida_kernwin.Choose.Close(): - - Closes the chooser - - -ida_kernwin.Choose.Embedded(): - - Creates an embedded chooser (as opposed to Show()) - @return: Returns 0 on success or NO_ATTR - - -ida_kernwin.Choose.GetEmbSelection(): - - Deprecated. For embedded choosers, the selection is - available through 'Form.EmbeddedChooserControl.selection' - - -ida_kernwin.Choose.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_kernwin.Choose.Refresh(): - - Causes the refresh callback to trigger - - -ida_kernwin.Choose.Show(): - - 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; - - -ida_kernwin.Choose.UI_Hooks_Trampoline.create_desktop_widget(): - - create_desktop_widget(self, title, cfg) -> PyObject * - - -ida_kernwin.Choose.UI_Hooks_Trampoline.current_widget_changed(): - - current_widget_changed(self, widget, prev_widget) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.database_inited(): - - database_inited(self, is_new_database, idc_script) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.debugger_menu_change(): - - debugger_menu_change(self, enable) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.finish_populating_widget_popup(): - - finish_populating_widget_popup(self, widget, popup_handle, ctx=None) - - - The UI is about to be done populating the TWidget's popup menu. - Now is a good time to call idaapi.attach_action_to_popup() - - @param widget: The widget - @param popup: The popup menu. - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.get_chooser_item_attrs(): - - get_chooser_item_attrs(self, chooser, n, attrs) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.get_custom_viewer_hint(): - - get_custom_viewer_hint(self, viewer, place) -> PyObject * - - -ida_kernwin.Choose.UI_Hooks_Trampoline.get_ea_hint(): - - get_ea_hint(self, ea) -> PyObject * - - - The UI wants to display a simple hint for an address in the navigation band - - @param ea: The address - @return: String with the hint or None - - -ida_kernwin.Choose.UI_Hooks_Trampoline.get_item_hint(): - - get_item_hint(self, ea, max_lines) -> PyObject * - - -ida_kernwin.Choose.UI_Hooks_Trampoline.get_widget_config(): - - get_widget_config(self, widget, cfg) -> PyObject * - - -ida_kernwin.Choose.UI_Hooks_Trampoline.hook(): - - hook(self) -> bool - - - Creates an UI hook - - @return: Boolean true on success - - -ida_kernwin.Choose.UI_Hooks_Trampoline.idcstart(): - - idcstart(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.idcstop(): - - idcstop(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.plugin_loaded(): - - plugin_loaded(self, plugin_info) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.plugin_unloading(): - - plugin_unloading(self, plugin_info) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.postprocess_action(): - - postprocess_action(self) - - - An ida ui action has been handled - - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.preprocess_action(): - - preprocess_action(self, name) - - - IDA ui is about to handle a user action - - @param name: ui action name - (these names can be looked up in ida[tg]ui.cfg) - @return: 0-ok, nonzero - a plugin has handled the action - - -ida_kernwin.Choose.UI_Hooks_Trampoline.range(): - - range(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.ready_to_run(): - - ready_to_run(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.resume(): - - resume(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.saved(): - - saved(self) - - - The kernel has saved the database. - - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.saving(): - - saving(self) - - - The kernel is saving the database. - - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.screen_ea_changed(): - - screen_ea_changed(self, ea, prev_ea) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.set_widget_config(): - - set_widget_config(self, widget, cfg) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.suspend(): - - suspend(self) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.term(): - - term(self) - - - IDA is terminated and the database is already closed. - The UI may close its windows in this callback. - - -ida_kernwin.Choose.UI_Hooks_Trampoline.unhook(): - - unhook(self) -> bool - - - Removes the UI hook - @return: Boolean true on success - - -ida_kernwin.Choose.UI_Hooks_Trampoline.updated_actions(): - - updated_actions(self) - - - The UI is done updating actions. - - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.updating_actions(): - - updating_actions(self, ctx) - - - The UI is about to batch-update some actions. - - @param ctx: The action_update_ctx_t instance - @return: Ignored - - -ida_kernwin.Choose.UI_Hooks_Trampoline.widget_closing(): - - widget_closing(self, widget) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.widget_invisible(): - - widget_invisible(self, widget) - - -ida_kernwin.Choose.UI_Hooks_Trampoline.widget_visible(): - - widget_visible(self, widget) - - -ida_kernwin.Choose.adjust_last_item(): - - 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) - - -ida_kernwin.CustomIDAMemo.CreateGroups(): - - 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). - - -ida_kernwin.CustomIDAMemo.DelNodesInfos(): - - Delete the properties for the given node(s). - - @param nodes: A list of node IDs - - -ida_kernwin.CustomIDAMemo.DeleteGroups(): - - 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. - - -ida_kernwin.CustomIDAMemo.GetNodeInfo(): - - Get the properties for the given node. - - @param node: The index of the node. - @return: A tuple (bg_color, frame_color, ea, text), or None. - - -ida_kernwin.CustomIDAMemo.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_kernwin.CustomIDAMemo.Refresh(): - - Refreshes the view. This causes the OnRefresh() to be called - - -ida_kernwin.CustomIDAMemo.SetCurrentRendererType(): - - Set the current view's renderer. - - @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. - - -ida_kernwin.CustomIDAMemo.SetGroupsVisibility(): - - 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. - - -ida_kernwin.CustomIDAMemo.SetNodeInfo(): - - 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. - - -ida_kernwin.CustomIDAMemo.SetNodesInfos(): - - 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. - - -ida_kernwin.CustomIDAMemo.hook(): - - hook(self) -> bool - - -ida_kernwin.CustomIDAMemo.unhook(): - - unhook(self) -> bool - - -ida_kernwin.CustomIDAMemo.view_created(): - - view_created(self, view) - - -ida_kernwin.Form.Add(): - - 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 - - -ida_kernwin.Form.AddControls(): - - 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 - - -class ida_kernwin.Form.ButtonInput(): - - 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) - - -ida_kernwin.Form.ButtonInput.free(): - - Free the control - - -ida_kernwin.Form.ButtonInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.ChkGroupControl(): - - Checkbox group control class. - It holds a set of checkbox controls - - -ida_kernwin.Form.ChkGroupControl.free(): - - Free the control - - -ida_kernwin.Form.ChkGroupControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.ChkGroupControl.is_input_field(): - - Return True if this field acts as an input - - -class ida_kernwin.Form.ChkGroupItemControl(): - - Checkbox group item control - - -ida_kernwin.Form.ChkGroupItemControl.free(): - - Free the control - - -ida_kernwin.Form.ChkGroupItemControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.Close(): - - 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 - - -class ida_kernwin.Form.ColorInput(): - - Color button input control - - -ida_kernwin.Form.ColorInput.free(): - - Free the control - - -ida_kernwin.Form.ColorInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.Compile(): - - 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 - - -ida_kernwin.Form.CompileEx(): - - 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() - - -ida_kernwin.Form.Compiled(): - - Checks if the form has already been compiled - - @return: Boolean - - -ida_kernwin.Form.Control.free(): - - Free the control - - -ida_kernwin.Form.Control.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.Control.get_tag(): - - Control tag character. One of Form.FT_XXXX. - The form class will expand the {} notation and replace them with the tags - - -ida_kernwin.Form.Control.is_input_field(): - - Return True if this field acts as an input - - -ida_kernwin.Form.ControlToFieldTypeIdAndSize(): - - Converts a control object to a tuple containing the field id - and the associated buffer size - - -class ida_kernwin.Form.DirInput(): - - Directory browsing control - - -ida_kernwin.Form.DirInput.free(): - - Free the control - - -ida_kernwin.Form.DirInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.DropdownListControl(): - - Dropdown control - This control allows manipulating a dropdown control - - -ida_kernwin.Form.DropdownListControl._free(): - - Explicitly delete the link (only if not static) - - -ida_kernwin.Form.DropdownListControl.add(): - - Add a string to the vector - - -ida_kernwin.Form.DropdownListControl.addressof(): - - Returns the address (as number) of the qstring at the given index - - -ida_kernwin.Form.DropdownListControl.assign(): - - Copies the contents of 'other' to 'self' - - -ida_kernwin.Form.DropdownListControl.clear(): - - Clears all strings from the vector. - @param qclear: Just reset the size but do not actually free the memory - - -ida_kernwin.Form.DropdownListControl.copy(): - - Returns a new copy of this class - - -ida_kernwin.Form.DropdownListControl.from_list(): - - Populates the vector from a Python string list - - -ida_kernwin.Form.DropdownListControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.DropdownListControl.insert(): - - Insert a string into the vector - - -ida_kernwin.Form.DropdownListControl.remove(): - - Removes a string from the vector - - -ida_kernwin.Form.DropdownListControl.set_items(): - - Sets the dropdown list items - - -class ida_kernwin.Form.EmbeddedChooserControl(): - - Embedded chooser control. - This control links to a Chooser2 control created with the 'embedded=True' - - -ida_kernwin.Form.EmbeddedChooserControl.free(): - - Frees the embedded chooser data - - -ida_kernwin.Form.EmbeddedChooserControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.EnableField(): - - Enable or disable an input field - @return: False - no such control - - -ida_kernwin.Form.Execute(): - - Displays a modal dialog containing the compiled form. - @return: 1 - ok ; 0 - cancel - - -class ida_kernwin.Form.FileInput(): - - File Open/Save input control - - -ida_kernwin.Form.FileInput.free(): - - Free the control - - -ida_kernwin.Form.FileInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.FindControlById(): - - Finds a control instance given its id - - -class ida_kernwin.Form.FormChangeCb(): - - 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) - - - -ida_kernwin.Form.FormChangeCb.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.FormChangeCb.is_input_field(): - - Return True if this field acts as an input - - -ida_kernwin.Form.Free(): - - Frees all resources associated with a compiled form. - Make sure you call this function when you finish using the form. - - -ida_kernwin.Form.GetControlValue(): - - 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 - - -ida_kernwin.Form.GetFocusedField(): - - Get currently focused input field. - @return: None if no field is selected otherwise the control ID - - -class ida_kernwin.Form.GroupControl(): - - Base class for group controls - - -ida_kernwin.Form.GroupControl.free(): - - Free the control - - -ida_kernwin.Form.GroupControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.GroupControl.is_input_field(): - - Return True if this field acts as an input - - -class ida_kernwin.Form.GroupItemControl(): - - Base class for group control items - - -ida_kernwin.Form.GroupItemControl.free(): - - Free the control - - -ida_kernwin.Form.GroupItemControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.InputControl(): - - Generic form input control. - It could be numeric control, string control, directory/file browsing, etc... - - -ida_kernwin.Form.InputControl.free(): - - Free the control - - -ida_kernwin.Form.InputControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.LabelControl(): - - Base class for static label control - - -ida_kernwin.Form.LabelControl.free(): - - Free the control - - -ida_kernwin.Form.LabelControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.LabelControl.is_input_field(): - - Return True if this field acts as an input - - -ida_kernwin.Form.MoveField(): - - Move/resize an input field - - @return: False - no such fiel - - -class ida_kernwin.Form.MultiLineTextControl(): - - Multi line text control. - This class inherits from textctrl_info_t. Thus the attributes are also inherited - This control allows manipulating a multilinetext control - - -ida_kernwin.Form.MultiLineTextControl._free(): - - Explicitly delete the link (only if not static) - - -ida_kernwin.Form.MultiLineTextControl.assign(): - - Copies the contents of 'other' to 'self' - - -ida_kernwin.Form.MultiLineTextControl.copy(): - - Returns a new copy of this class - - -ida_kernwin.Form.MultiLineTextControl.flags: - - Returns the flags value - - -ida_kernwin.Form.MultiLineTextControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.MultiLineTextControl.tabsize: - - Returns the tabsize value - - -ida_kernwin.Form.MultiLineTextControl.text: - - Sets the text value - - -ida_kernwin.Form.MultiLineTextControl.value: - - Sets the text value - - -class ida_kernwin.Form.NumericArgument(): - - Argument representing various integer arguments (ushort, uint32, uint64, etc...) - @param tp: One of Form.FT_XXX - - -class ida_kernwin.Form.NumericInput(): - - A composite class serving as a base numeric input control class - - -ida_kernwin.Form.NumericInput.free(): - - Free the control - - -ida_kernwin.Form.NumericInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.NumericLabel(): - - Numeric label control - - -ida_kernwin.Form.NumericLabel.free(): - - Free the control - - -ida_kernwin.Form.NumericLabel.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.NumericLabel.is_input_field(): - - Return True if this field acts as an input - - -ida_kernwin.Form.Open(): - - Opens a widget containing the compiled form. - - -class ida_kernwin.Form.RadGroupControl(): - - Radiobox group control class. - It holds a set of radiobox controls - - -ida_kernwin.Form.RadGroupControl.free(): - - Free the control - - -ida_kernwin.Form.RadGroupControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.RadGroupControl.is_input_field(): - - Return True if this field acts as an input - - -class ida_kernwin.Form.RadGroupItemControl(): - - Radiobox group item control - - -ida_kernwin.Form.RadGroupItemControl.free(): - - Free the control - - -ida_kernwin.Form.RadGroupItemControl.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.RefreshField(): - - Refresh a field - @return: False - no such control - - -ida_kernwin.Form.SetControlValue(): - - 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 - - -ida_kernwin.Form.SetFocusedField(): - - Set currently focused input field - @return: False - no such control - - -ida_kernwin.Form.ShowField(): - - Show or hide an input field - @return: False - no such control - - -class ida_kernwin.Form.StringArgument(): - - Argument representing a character buffer - - -class ida_kernwin.Form.StringInput(): - - Base string input control class. - This class also constructs a StringArgument - - -ida_kernwin.Form.StringInput.free(): - - Free the control - - -ida_kernwin.Form.StringInput.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -class ida_kernwin.Form.StringLabel(): - - String label control - - -ida_kernwin.Form.StringLabel.free(): - - Free the control - - -ida_kernwin.Form.StringLabel.get_arg(): - - Control returns the parameter to be pushed on the stack - (Of ask_form()) - - -ida_kernwin.Form.StringLabel.is_input_field(): - - Return True if this field acts as an input - - -ida_kernwin.Form.fieldtype_to_ctype(): - - Factory method returning a ctype class corresponding to the field type string - - -class ida_kernwin.IDAViewWrapper(): - - 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.) - - -ida_kernwin.IDAViewWrapper.CreateGroups(): - - 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). - - -ida_kernwin.IDAViewWrapper.DelNodesInfos(): - - Delete the properties for the given node(s). - - @param nodes: A list of node IDs - - -ida_kernwin.IDAViewWrapper.DeleteGroups(): - - 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. - - -ida_kernwin.IDAViewWrapper.GetNodeInfo(): - - Get the properties for the given node. - - @param node: The index of the node. - @return: A tuple (bg_color, frame_color, ea, text), or None. - - -ida_kernwin.IDAViewWrapper.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_kernwin.IDAViewWrapper.Refresh(): - - Refreshes the view. This causes the OnRefresh() to be called - - -ida_kernwin.IDAViewWrapper.SetCurrentRendererType(): - - Set the current view's renderer. - - @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. - - -ida_kernwin.IDAViewWrapper.SetGroupsVisibility(): - - 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. - - -ida_kernwin.IDAViewWrapper.SetNodeInfo(): - - 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. - - -ida_kernwin.IDAViewWrapper.SetNodesInfos(): - - 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. - - -ida_kernwin.IDAViewWrapper.hook(): - - hook(self) -> bool - - -ida_kernwin.IDAViewWrapper.unhook(): - - unhook(self) -> bool - - -ida_kernwin.IDAViewWrapper.view_created(): - - view_created(self, view) - - -class ida_kernwin.PluginForm(): - - PluginForm class. - - This form can be used to host additional controls. Please check the PyQt example. - - -ida_kernwin.PluginForm.Close(): - - Closes the form. - - @param options: Close options (WCLS_SAVE, WCLS_NO_CONTEXT, ...) - - @return: None - - -ida_kernwin.PluginForm.FormToPyQtWidget(): - - 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 - - -ida_kernwin.PluginForm.FormToPySideWidget(): - - 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 - - -ida_kernwin.PluginForm.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_kernwin.PluginForm.OnClose(): - - Called when the plugin form is closed - - @return: None - - -ida_kernwin.PluginForm.OnCreate(): - - This event is called when the plugin form is created. - The programmer should populate the form when this event is triggered. - - @return: None - - -ida_kernwin.PluginForm.QtWidgetToTWidget(): - - 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 - - -ida_kernwin.PluginForm.Show(): - - 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 - - -ida_kernwin.PluginForm.TWidgetToPyQtWidget(): - - 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 - - -ida_kernwin.PluginForm.TWidgetToPySideWidget(): - - 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 - - -ida_kernwin.TWidget__from_ptrval__(): - - TWidget__from_ptrval__(ptrval) -> TWidget * - - -class ida_kernwin.UI_Hooks(): - - Proxy of C++ UI_Hooks class - - -ida_kernwin.UI_Hooks.create_desktop_widget(): - - create_desktop_widget(self, title, cfg) -> PyObject * - - -ida_kernwin.UI_Hooks.current_widget_changed(): - - current_widget_changed(self, widget, prev_widget) - - -ida_kernwin.UI_Hooks.database_inited(): - - database_inited(self, is_new_database, idc_script) - - -ida_kernwin.UI_Hooks.debugger_menu_change(): - - debugger_menu_change(self, enable) - - -ida_kernwin.UI_Hooks.finish_populating_widget_popup(): - - finish_populating_widget_popup(self, widget, popup_handle, ctx=None) - - - The UI is about to be done populating the TWidget's popup menu. - Now is a good time to call idaapi.attach_action_to_popup() - - @param widget: The widget - @param popup: The popup menu. - @return: Ignored - - -ida_kernwin.UI_Hooks.get_chooser_item_attrs(): - - get_chooser_item_attrs(self, chooser, n, attrs) - - -ida_kernwin.UI_Hooks.get_custom_viewer_hint(): - - get_custom_viewer_hint(self, viewer, place) -> PyObject * - - -ida_kernwin.UI_Hooks.get_ea_hint(): - - get_ea_hint(self, ea) -> PyObject * - - - The UI wants to display a simple hint for an address in the navigation band - - @param ea: The address - @return: String with the hint or None - - -ida_kernwin.UI_Hooks.get_item_hint(): - - get_item_hint(self, ea, max_lines) -> PyObject * - - -ida_kernwin.UI_Hooks.get_widget_config(): - - get_widget_config(self, widget, cfg) -> PyObject * - - -ida_kernwin.UI_Hooks.hook(): - - hook(self) -> bool - - - Creates an UI hook - - @return: Boolean true on success - - -ida_kernwin.UI_Hooks.idcstart(): - - idcstart(self) - - -ida_kernwin.UI_Hooks.idcstop(): - - idcstop(self) - - -ida_kernwin.UI_Hooks.plugin_loaded(): - - plugin_loaded(self, plugin_info) - - -ida_kernwin.UI_Hooks.plugin_unloading(): - - plugin_unloading(self, plugin_info) - - -ida_kernwin.UI_Hooks.populating_widget_popup(): - - populating_widget_popup(self, widget, popup_handle, ctx=None) - - - The UI is populating the TWidget's popup menu. - Now is a good time to call idaapi.attach_action_to_popup() - - @param widget: The widget - @param popup: The popup menu. - @return: Ignored - - -ida_kernwin.UI_Hooks.postprocess_action(): - - postprocess_action(self) - - - An ida ui action has been handled - - @return: Ignored - - -ida_kernwin.UI_Hooks.preprocess_action(): - - preprocess_action(self, name) - - - IDA ui is about to handle a user action - - @param name: ui action name - (these names can be looked up in ida[tg]ui.cfg) - @return: 0-ok, nonzero - a plugin has handled the action - - -ida_kernwin.UI_Hooks.range(): - - range(self) - - -ida_kernwin.UI_Hooks.ready_to_run(): - - ready_to_run(self) - - -ida_kernwin.UI_Hooks.resume(): - - resume(self) - - -ida_kernwin.UI_Hooks.saved(): - - saved(self) - - - The kernel has saved the database. - - @return: Ignored - - -ida_kernwin.UI_Hooks.saving(): - - saving(self) - - - The kernel is saving the database. - - @return: Ignored - - -ida_kernwin.UI_Hooks.screen_ea_changed(): - - screen_ea_changed(self, ea, prev_ea) - - -ida_kernwin.UI_Hooks.set_widget_config(): - - set_widget_config(self, widget, cfg) - - -ida_kernwin.UI_Hooks.suspend(): - - suspend(self) - - -ida_kernwin.UI_Hooks.term(): - - term(self) - - - IDA is terminated and the database is already closed. - The UI may close its windows in this callback. - - -ida_kernwin.UI_Hooks.unhook(): - - unhook(self) -> bool - - - Removes the UI hook - @return: Boolean true on success - - -ida_kernwin.UI_Hooks.updated_actions(): - - updated_actions(self) - - - The UI is done updating actions. - - @return: Ignored - - -ida_kernwin.UI_Hooks.updating_actions(): - - updating_actions(self, ctx) - - - The UI is about to batch-update some actions. - - @param ctx: The action_update_ctx_t instance - @return: Ignored - - -ida_kernwin.UI_Hooks.widget_closing(): - - widget_closing(self, widget) - - -ida_kernwin.UI_Hooks.widget_invisible(): - - widget_invisible(self, widget) - - -ida_kernwin.UI_Hooks.widget_visible(): - - widget_visible(self, widget) - - -class ida_kernwin.View_Hooks(): - - Proxy of C++ View_Hooks class - - -ida_kernwin.View_Hooks.hook(): - - hook(self) -> bool - - -ida_kernwin.View_Hooks.unhook(): - - unhook(self) -> bool - - -ida_kernwin.View_Hooks.view_activated(): - - view_activated(self, view) - - -ida_kernwin.View_Hooks.view_click(): - - view_click(self, view, event) - - -ida_kernwin.View_Hooks.view_close(): - - view_close(self, view) - - -ida_kernwin.View_Hooks.view_created(): - - view_created(self, view) - - -ida_kernwin.View_Hooks.view_curpos(): - - view_curpos(self, view) - - -ida_kernwin.View_Hooks.view_dblclick(): - - view_dblclick(self, view, event) - - -ida_kernwin.View_Hooks.view_deactivated(): - - view_deactivated(self, view) - - -ida_kernwin.View_Hooks.view_keydown(): - - view_keydown(self, view, key, state) - - -ida_kernwin.View_Hooks.view_loc_changed(): - - view_loc_changed(self, view, now, was) - - -ida_kernwin.View_Hooks.view_mouse_moved(): - - view_mouse_moved(self, view, event) - - -ida_kernwin.View_Hooks.view_mouse_over(): - - view_mouse_over(self, view, event) - - -ida_kernwin.View_Hooks.view_switched(): - - view_switched(self, view, rt) - - -class ida_kernwin.action_ctx_base_t(): - - Proxy of C++ action_ctx_base_t class - - -ida_kernwin.action_ctx_base_t.action: - action_ctx_base_t_action_get(self) -> char const * - -ida_kernwin.action_ctx_base_t.chooser_selection: - action_ctx_base_t_chooser_selection_get(self) -> sizevec_t * - -ida_kernwin.action_ctx_base_t.cur_ea: - action_ctx_base_t_cur_ea_get(self) -> ea_t - -ida_kernwin.action_ctx_base_t.cur_enum: - action_ctx_base_t_cur_enum_get(self) -> enum_t - -ida_kernwin.action_ctx_base_t.cur_extracted_ea: - action_ctx_base_t_cur_value_get(self) -> uval_t - -ida_kernwin.action_ctx_base_t.cur_fchunk: - action_ctx_base_t_cur_fchunk_get(self) -> func_t * - -ida_kernwin.action_ctx_base_t.cur_flags: - action_ctx_base_t_cur_flags_get(self) -> uint32 - -ida_kernwin.action_ctx_base_t.cur_func: - action_ctx_base_t_cur_func_get(self) -> func_t * - -ida_kernwin.action_ctx_base_t.cur_seg: - action_ctx_base_t_cur_seg_get(self) -> segment_t * - -ida_kernwin.action_ctx_base_t.cur_strmem: - action_ctx_base_t_cur_strmem_get(self) -> member_t * - -ida_kernwin.action_ctx_base_t.cur_struc: - action_ctx_base_t_cur_struc_get(self) -> struc_t * - -ida_kernwin.action_ctx_base_t.cur_value: - action_ctx_base_t_cur_value_get(self) -> uval_t - -ida_kernwin.action_ctx_base_t.focus: - action_ctx_base_t_focus_get(self) -> TWidget * - -ida_kernwin.action_ctx_base_t.form: - - _get_form(self) -> TWidget * - - -ida_kernwin.action_ctx_base_t.form_title: - - _get_form_title(self) -> qstring - - -ida_kernwin.action_ctx_base_t.form_type: - - _get_form_type(self) -> twidget_type_t - - -ida_kernwin.action_ctx_base_t.has_flag(): - - has_flag(self, flag) -> bool - - -ida_kernwin.action_ctx_base_t.regname: - action_ctx_base_t_regname_get(self) -> char const * - -ida_kernwin.action_ctx_base_t.reserved: - action_ctx_base_t_reserved_get(self) -> void * - -ida_kernwin.action_ctx_base_t.reset(): - - reset(self) - - -ida_kernwin.action_ctx_base_t.widget: - action_ctx_base_t_widget_get(self) -> TWidget * - -ida_kernwin.action_ctx_base_t.widget_title: - action_ctx_base_t_widget_title_get(self) -> qstring * - -ida_kernwin.action_ctx_base_t.widget_type: - action_ctx_base_t_widget_type_get(self) -> twidget_type_t - -class ida_kernwin.action_desc_t(): - - Proxy of C++ action_desc_t class - - -ida_kernwin.action_desc_t.cb: - action_desc_t_cb_get(self) -> int - -ida_kernwin.action_desc_t.flags: - action_desc_t_flags_get(self) -> int - -ida_kernwin.action_desc_t.icon: - action_desc_t_icon_get(self) -> int - -ida_kernwin.action_desc_t.label: - action_desc_t_label_get(self) -> char const * - -ida_kernwin.action_desc_t.name: - action_desc_t_name_get(self) -> char const * - -ida_kernwin.action_desc_t.owner: - action_desc_t_owner_get(self) -> plugin_t const * - -ida_kernwin.action_desc_t.shortcut: - action_desc_t_shortcut_get(self) -> char const * - -ida_kernwin.action_desc_t.tooltip: - action_desc_t_tooltip_get(self) -> char const * - -ida_kernwin.activate_widget(): - - activate_widget(widget, take_focus) - - - Activate widget (only gui version) ( 'ui_activate_widget' ). - - @param widget: existing widget to display (C++: TWidget *) - @param take_focus: give focus to given widget (C++: bool) - - -ida_kernwin.add_hotkey(): - - add_hotkey(hotkey, pyfunc) -> PyObject * - - - 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. - - -ida_kernwin.add_idc_hotkey(): - - add_idc_hotkey(hotkey, idcfunc) -> int - - - Add hotkey for IDC function ( 'ui_add_idckey' ). - - @param hotkey: hotkey name (C++: const char *) - @param idcfunc: IDC function name (C++: const char *) - @return: IDC hotkey error codes - - -ida_kernwin.add_spaces(): - - add_spaces(s, len) -> PyObject * - - - 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 len: the desired length of the string (C++: ssize_t) - @return: pointer to the end of input string - - -ida_kernwin.addon_count(): - - addon_count() -> int - - - Get number of installed addons. - - -class ida_kernwin.addon_info_t(): - - Proxy of C++ addon_info_t class - - -ida_kernwin.addon_info_t.cb: - addon_info_t_cb_get(self) -> size_t - -ida_kernwin.addon_info_t.custom_data: - addon_info_t_custom_data_get(self) -> void const * - -ida_kernwin.addon_info_t.custom_size: - addon_info_t_custom_size_get(self) -> size_t - -ida_kernwin.addon_info_t.freeform: - addon_info_t_freeform_get(self) -> char const * - -ida_kernwin.addon_info_t.id: - addon_info_t_id_get(self) -> char const * - -ida_kernwin.addon_info_t.name: - addon_info_t_name_get(self) -> char const * - -ida_kernwin.addon_info_t.producer: - addon_info_t_producer_get(self) -> char const * - -ida_kernwin.addon_info_t.url: - addon_info_t_url_get(self) -> char const * - -ida_kernwin.addon_info_t.version: - addon_info_t_version_get(self) -> char const * - -ida_kernwin.analyzer_options(): - - analyzer_options() - - - Allow the user to set analyzer options. (show a dialog box) ( - 'ui_analyzer_options' ) - - -ida_kernwin.ask_buttons(): - - ask_buttons(Yes, No, Cancel, deflt, format) -> int - - - Display a dialog box and get choice from maximum three possibilities ( - 'ui_ask_buttons' ).for all buttons:use "" or NULL to take the default - name for the button.use 'format' to hide the cancel button - - @param Yes: text for the first button (C++: const char *) - @param No: text for the second button (C++: const char *) - @param Cancel: text for the third button (C++: const char *) - @param deflt: default choice: one of Button IDs (C++: int) - @param format: printf-style format string for question. It may have - some prefixes, see below. (C++: const char *) - @return: one of Button IDs specifying the selected button (Esc key - returns Cancel/3rd button value) - - -ida_kernwin.ask_file(): - - ask_file(for_saving, defval, format) -> char * - - -ida_kernwin.ask_for_feedback(): - - ask_for_feedback(format) - - - Show a message box asking to send the input file tosupport@hex- - rays.com. - - @param format: the reason why the input file is bad (C++: const char - *) - - -ida_kernwin.ask_str(): - - ask_str(defval, hist, prompt) -> PyObject * - - - Asks for a long text - - @param hist: history id - @param defval: The default value - @param prompt: The prompt value - @return: None or the entered string - - -ida_kernwin.ask_text(): - - ask_text(max_size, defval, prompt) -> PyObject * - - - 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 - - -ida_kernwin.ask_yn(): - - ask_yn(deflt, format) -> int - - - Display a dialog box and get choice from "Yes", "No", "Cancel". - - @param deflt: default choice: one of Button IDs (C++: int) - @param format: The question in printf() style format (C++: const char - *) - @return: the selected button (one of Button IDs ). Esc key returns - ASKBTN_CANCEL . - - -ida_kernwin.attach_action_to_menu(): - - attach_action_to_menu(menupath, name, flags) -> bool - - - Attach a previously-registered action to the menu ( - 'ui_attach_action_to_menu' ).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: 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 (C++: const - char *) - @param name: the action name (C++: const char *) - @param flags: a combination of Set menu flags , to determine menu - item position (C++: int) - @return: success - - -ida_kernwin.attach_action_to_popup(): - - 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: target widget (C++: TWidget *) - @param popup_handle: target popup menu if non-NULL, the action is - added to this popup menu invocation (i.e., - 'single-shot') if NULL, the action is added to - a list of actions that should always be present - in context menus for this widget (i.e., - 'permanent'.) (C++: TPopupMenu *) - @param name: action name (C++: const char *) - @param popuppath: can be NULL (C++: const char *) - @param flags: a combination of SETMENU_ flags (see Set menu flags ) - (C++: int) - @return: success - - -ida_kernwin.attach_action_to_toolbar(): - - attach_action_to_toolbar(toolbar_name, name) -> bool - - - Attach an action to an existing toolbar ( - 'ui_attach_action_to_toolbar' ). - - @param toolbar_name: the name of the toolbar (C++: const char *) - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.attach_dynamic_action_to_popup(): - - attach_dynamic_action_to_popup(widget, popup_handle, desc, popuppath=None, flags=0) -> bool - - - Create & insert an action into the widget's popup menu ( - 'ui_attach_dynamic_action_to_popup' ). 'action_desc_t::handler' for - 'desc' must be instantiated using 'new', as it will be 'delete'd when - the action is unregistered. - - @param widget: target widget (C++: TWidget *) - @param popup_handle: target popup (C++: TPopupMenu *) - @param desc: created with DYNACTION_DESC_LITERAL (C++: const - action_desc_t &) - @param popuppath: can be NULL (C++: const char *) - @param flags: a combination of SETMENU_ constants (see Set menu flags - ) (C++: int) - @return: success - - -ida_kernwin.banner(): - - banner(wait) -> bool - - - Show a banner dialog box ( 'ui_banner' ). - - @param wait: time to wait before closing (C++: int) - - -ida_kernwin.beep(): - - beep(beep_type=beep_default) - - - Issue a beeping sound ( 'ui_beep' ). - - @param beep_type: beep_t (C++: beep_t) - - -ida_kernwin.call_nav_colorizer(): - - 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(). - - -ida_kernwin.cancel_exec_request(): - - cancel_exec_request(req_id) -> bool - - - Try to cancel an asynchronous exec request ( 'ui_cancel_exec_request' - ). - - @param req_id: request id (C++: int) - - -ida_kernwin.choose_activate(): - - choose_activate(self) - - -ida_kernwin.choose_choose(): - - choose_choose(self) -> int - - -ida_kernwin.choose_close(): - - choose_close(self) - - -ida_kernwin.choose_create_embedded_chobj(): - - choose_create_embedded_chobj(self) -> uint64 - - -ida_kernwin.choose_entry(): - - choose_entry(title) -> ea_t - - - Choose an entry point ( 'ui_choose' , 'chtype_entry' ). - - @param title: chooser title (C++: const char *) - @return: ea of selected entry point, BADADDR if none selected - - -ida_kernwin.choose_enum(): - - choose_enum(title, default_id) -> enum_t - - - Choose an enum ( 'ui_choose' , 'chtype_enum' ). - - @param title: chooser title (C++: const char *) - @param default_id: id of enum to select by default (C++: enum_t) - @return: enum id of selected enum, BADNODE if none selected - - -ida_kernwin.choose_enum_by_value(): - - choose_enum_by_value(title, default_id, value, nbytes) -> enum_t - - - 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 title: chooser title (C++: const char *) - @param default_id: id of enum to select by default (C++: enum_t) - @param value: value to search for (C++: uval_t) - @param nbytes: size of value (C++: int) - @return: enum id of selected (or imported) enum, BADNODE if none was - found - - -ida_kernwin.choose_find(): - - choose_find(title) -> PyObject * - - -ida_kernwin.choose_func(): - - choose_func(title, default_ea) -> func_t * - - - Choose a function ( 'ui_choose' , 'chtype_func' ). - - @param title: chooser title (C++: const char *) - @param default_ea: ea of function to select by default (C++: ea_t) - @return: pointer to function that was selected, NULL if none selected - - -ida_kernwin.choose_get_widget(): - - choose_get_widget(self) -> TWidget * - - -ida_kernwin.choose_idasgn(): - - choose_idasgn() -> PyObject * - - - Opens the signature chooser - - @return: None or the selected signature name - - -ida_kernwin.choose_name(): - - choose_name(title) -> ea_t - - - Choose a name ( 'ui_choose' , 'chtype_name' ). - - @param title: chooser title (C++: const char *) - @return: ea of selected name, BADADDR if none selected - - -ida_kernwin.choose_refresh(): - - choose_refresh(self) - - -ida_kernwin.choose_segm(): - - choose_segm(title, default_ea) -> segment_t * - - - Choose a segment ( 'ui_choose' , 'chtype_segm' ). - - @param title: chooser title (C++: const char *) - @param default_ea: ea of segment to select by default (C++: ea_t) - @return: pointer to segment that was selected, NULL if none selected - - -ida_kernwin.choose_srcp(): - - choose_srcp(title) -> sreg_range_t * - - - Choose a segment register change point ( 'ui_choose' , 'chtype_srcp' - ). - - @param title: chooser title (C++: const char *) - @return: pointer to segment register range of selected change point, - NULL if none selected - - -ida_kernwin.choose_stkvar_xref(): - - choose_stkvar_xref(pfn, mptr) -> ea_t - - - Choose an xref to a stack variable ( 'ui_choose' , 'chtype_name' ). - - @param pfn: function (C++: func_t *) - @param mptr: variable (C++: member_t *) - @return: ea of the selected xref, BADADDR if none selected - - -ida_kernwin.choose_struc(): - - choose_struc(title) -> struc_t * - - - Choose a structure ( 'ui_choose' , 'chtype_segm' ). - - @param title: chooser title; (C++: const char *) - @return: pointer to structure that was selected, NULL if none selected - - -ida_kernwin.choose_til(): - - choose_til() -> bool - - - Choose a type library ( 'ui_choose' , 'chtype_idatil' ). - - -ida_kernwin.choose_xref(): - - choose_xref(to) -> ea_t - - - Choose an xref to an address ( 'ui_choose' , 'chtype_xref' ). - - @param to: referenced address (C++: ea_t) - @return: ea of selected xref, BADADDR if none selected - - -class ida_kernwin.chooser_item_attrs_t(): - - Proxy of C++ chooser_item_attrs_t class - - -ida_kernwin.chooser_item_attrs_t.color: - chooser_item_attrs_t_color_get(self) -> bgcolor_t - -ida_kernwin.chooser_item_attrs_t.flags: - chooser_item_attrs_t_flags_get(self) -> int - -ida_kernwin.chooser_item_attrs_t.reset(): - - reset(self) - - -ida_kernwin.clear_refresh_request(): - - clear_refresh_request(mask) - - -class ida_kernwin.cli_t(): - - cli_t wrapper class. - - This class allows you to implement your own command line interface handlers. - - -ida_kernwin.cli_t.register(): - - 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 - - -ida_kernwin.cli_t.unregister(): - - Unregisters the CLI (if it was registered) - - -ida_kernwin.close_chooser(): - - close_chooser(title) -> bool - - - Close a non-modal chooser ( 'ui_close_chooser' ). - - @param title: window title of chooser to close (C++: const char *) - @return: success - - -ida_kernwin.close_widget(): - - close_widget(widget, options) - - - Close widget ( 'ui_close_widget' , only gui version). - - @param widget: pointer to the widget to close (C++: TWidget *) - @param options: Form close flags (C++: int) - - -ida_kernwin.clr_cancelled(): - - clr_cancelled() - - - Clear "Cancelled" flag ( 'ui_clr_cancelled' ) - - -ida_kernwin.create_code_viewer(): - - 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: the custom view to be added (C++: TWidget *) - @param flags: Code viewer flags (C++: int) - @param parent: widget to contain the new code viewer (C++: TWidget *) - - -ida_kernwin.create_empty_widget(): - - create_empty_widget(title, icon=-1) -> TWidget * - - - Create an empty widget, serving as a container for custom user widgets - - @param title (C++: const char *) - @param icon (C++: int) - - -ida_kernwin.create_menu(): - - 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-NULL, 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: name of menu (must be unique) (C++: const char *) - @param label: label of menu (C++: const char *) - @param menupath: where should the menu be inserted (C++: const char *) - @return: success - - -ida_kernwin.create_toolbar(): - - create_toolbar(name, label, before=None, flags=0) -> bool - - - Create a toolbar with the given name, label and optional position - - @param name: name of toolbar (must be unique) (C++: const char *) - @param label: label of toolbar (C++: const char *) - @param before: if non-NULL, the toolbar before which the new toolbar - will be inserted (C++: const char *) - @param flags: a combination of create toolbar flags , to determine - toolbar position (C++: int) - @return: success - - -ida_kernwin.custom_viewer_jump(): - - custom_viewer_jump(v, loc, flags) -> bool - - - Append 'loc' to the viewer's history, and cause the viewer to display - it. - - @param v: (TWidget *) (C++: TWidget *) - @param loc: (const lochist_entry_t &) (C++: const lochist_entry_t - &) - @param flags: (uint32) or'ed combination of CVNF_* values (C++: - uint32) - @return: success - - -ida_kernwin.del_hotkey(): - - del_hotkey(pyctx) -> bool - - - Deletes a previously registered function hotkey - - @param ctx: Hotkey context previously returned by add_hotkey() - - @return: Boolean. - - -ida_kernwin.del_idc_hotkey(): - - del_idc_hotkey(hotkey) -> bool - - - Delete IDC function hotkey ( 'ui_del_idckey' ). - - @param hotkey: hotkey name (C++: const char *) - - -ida_kernwin.delete_menu(): - - delete_menu(name) -> bool - - - Delete an existing menu - - @param name: name of menu (C++: const char *) - @return: success - - -ida_kernwin.delete_toolbar(): - - delete_toolbar(name) -> bool - - - Delete an existing toolbar - - @param name: name of toolbar (C++: const char *) - @return: success - - -ida_kernwin.detach_action_from_menu(): - - detach_action_from_menu(menupath, name) -> bool - - - Detach an action from the menu ( 'ui_detach_action_from_menu' ). - - @param menupath: path to the menu item (C++: const char *) - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.detach_action_from_popup(): - - 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: target widget (C++: TWidget *) - @param name: action name (C++: const char *) - - -ida_kernwin.detach_action_from_toolbar(): - - detach_action_from_toolbar(toolbar_name, name) -> bool - - - Detach an action from the toolbar ( 'ui_detach_action_from_toolbar' ). - - @param toolbar_name: the name of the toolbar (C++: const char *) - @param name: the action name (C++: const char *) - @return: success - - -class ida_kernwin.disasm_line_t(): - - Proxy of C++ disasm_line_t class - - -ida_kernwin.disasm_line_t.at: - disasm_line_t_at_get(self) -> place_t - -ida_kernwin.disasm_line_t.bg_color: - disasm_line_t_bg_color_get(self) -> bgcolor_t - -ida_kernwin.disasm_line_t.is_default: - disasm_line_t_is_default_get(self) -> bool - -ida_kernwin.disasm_line_t.line: - disasm_line_t_line_get(self) -> qstring * - -ida_kernwin.disasm_line_t.prefix_color: - disasm_line_t_prefix_color_get(self) -> color_t - -class ida_kernwin.disasm_text_t(): - - Proxy of C++ qvector<(disasm_line_t)> class - - -ida_kernwin.disasm_text_t.at(): - - at(self, _idx) -> disasm_line_t - - -ida_kernwin.disasm_text_t.begin(): - - begin(self) -> disasm_line_t - begin(self) -> disasm_line_t - - -ida_kernwin.disasm_text_t.capacity(): - - capacity(self) -> size_t - - -ida_kernwin.disasm_text_t.clear(): - - clear(self) - - -ida_kernwin.disasm_text_t.empty(): - - empty(self) -> bool - - -ida_kernwin.disasm_text_t.end(): - - end(self) -> disasm_line_t - end(self) -> disasm_line_t - - -ida_kernwin.disasm_text_t.erase(): - - erase(self, it) -> disasm_line_t - erase(self, first, last) -> disasm_line_t - - -ida_kernwin.disasm_text_t.extract(): - - extract(self) -> disasm_line_t - - -ida_kernwin.disasm_text_t.grow(): - - grow(self, x=disasm_line_t()) - - -ida_kernwin.disasm_text_t.inject(): - - inject(self, s, len) - - -ida_kernwin.disasm_text_t.insert(): - - insert(self, it, x) -> disasm_line_t - - -ida_kernwin.disasm_text_t.pop_back(): - - pop_back(self) - - -ida_kernwin.disasm_text_t.push_back(): - - push_back(self, x) - push_back(self) -> disasm_line_t - - -ida_kernwin.disasm_text_t.qclear(): - - qclear(self) - - -ida_kernwin.disasm_text_t.reserve(): - - reserve(self, cnt) - - -ida_kernwin.disasm_text_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_kernwin.disasm_text_t.size(): - - size(self) -> size_t - - -ida_kernwin.disasm_text_t.swap(): - - swap(self, r) - - -ida_kernwin.disasm_text_t.truncate(): - - truncate(self) - - -ida_kernwin.display_copyright_warning(): - - display_copyright_warning() -> bool - - - Display copyright warning ( 'ui_copywarn' ). - - @return: yes/no - - -ida_kernwin.display_widget(): - - display_widget(widget, options, dest_ctrl=None) - - - Display a widget, dock it if not done before - - @param widget: widget to display (C++: TWidget *) - @param options: Widget open flags (C++: uint32) - @param dest_ctrl: where to dock: if NULL or invalid then use the - active docker if there is not create a new tab - relative to current active tab (C++: const char *) - - -ida_kernwin.ea2str(): - - ea2str(ea) -> size_t - - - Convert linear address to UTF-8 string. - - - @param ea (C++: ea_t) - - -ida_kernwin.ea_viewer_history_push_and_jump(): - - 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: ea viewer (C++: TWidget *) - @param ea: jump destination (C++: ea_t) - @param x: coords on screen (C++: int) - @param y: coords on screen (C++: int) - @param lnnum: desired line number of given address (C++: int) - - -ida_kernwin.enable_chooser_item_attrs(): - - 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_attrsevents 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 *) - @param enable (C++: bool) - @return: success - - -class ida_kernwin.enumplace_t(): - - Proxy of C++ enumplace_t class - - -ida_kernwin.enumplace_t._print(): - - _print(self, out_buf, ud) - - -ida_kernwin.enumplace_t.adjust(): - - adjust(self, ud) - - -ida_kernwin.enumplace_t.as_enumplace_t(): - - as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.enumplace_t.as_idaplace_t(): - - as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.enumplace_t.as_simpleline_place_t(): - - as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.enumplace_t.as_structplace_t(): - - as_structplace_t(p) -> structplace_t - - -ida_kernwin.enumplace_t.beginning(): - - beginning(self, ud) -> bool - - -ida_kernwin.enumplace_t.bmask: - enumplace_t_bmask_get(self) -> bmask_t - -ida_kernwin.enumplace_t.clone(): - - clone(self) -> place_t - - -ida_kernwin.enumplace_t.compare(): - - compare(self, t2) -> int - - -ida_kernwin.enumplace_t.copyfrom(): - - copyfrom(self, _from) - - -ida_kernwin.enumplace_t.ending(): - - ending(self, ud) -> bool - - -ida_kernwin.enumplace_t.enter(): - - enter(self, arg2) -> place_t - - -ida_kernwin.enumplace_t.generate(): - - generate(self, ud, maxsize) -> PyObject * - - -ida_kernwin.enumplace_t.id(): - - id(self) -> int - - -ida_kernwin.enumplace_t.idx: - enumplace_t_idx_get(self) -> size_t - -ida_kernwin.enumplace_t.leave(): - - leave(self, arg2) - - -ida_kernwin.enumplace_t.lnnum: - place_t_lnnum_get(self) -> int - -ida_kernwin.enumplace_t.makeplace(): - - makeplace(self, ud, x, lnnum) -> place_t - - -ida_kernwin.enumplace_t.name(): - - name(self) -> char const * - - -ida_kernwin.enumplace_t.next(): - - next(self, ud) -> bool - - -ida_kernwin.enumplace_t.prev(): - - prev(self, ud) -> bool - - -ida_kernwin.enumplace_t.rebase(): - - rebase(self, arg2) -> bool - - -ida_kernwin.enumplace_t.serial: - enumplace_t_serial_get(self) -> uchar - -ida_kernwin.enumplace_t.toea(): - - toea(self) -> ea_t - - -ida_kernwin.enumplace_t.touval(): - - touval(self, ud) -> uval_t - - -ida_kernwin.enumplace_t.value: - enumplace_t_value_get(self) -> uval_t - -ida_kernwin.error(): - - error(format) - - - Display a fatal message in a message box and quit IDA - - @param format: message to print - - -ida_kernwin.execute_sync(): - - execute_sync(py_callable, reqf) -> int - - - 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 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 - - -ida_kernwin.execute_ui_requests(): - - 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 callabale item - - -ida_kernwin.find_widget(): - - 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: title of tab, or window title if widget is not tabbed - (C++: const char *) - @return: pointer to the TWidget, NULL if none is found - - -ida_kernwin.formchgcbfa_close(): - - formchgcbfa_close(p_fa, close_normally) - - -ida_kernwin.formchgcbfa_enable_field(): - - formchgcbfa_enable_field(p_fa, fid, enable) -> bool - - -ida_kernwin.formchgcbfa_get_field_value(): - - formchgcbfa_get_field_value(p_fa, fid, ft, sz) -> PyObject * - - -ida_kernwin.formchgcbfa_get_focused_field(): - - formchgcbfa_get_focused_field(p_fa) -> int - - -ida_kernwin.formchgcbfa_move_field(): - - formchgcbfa_move_field(p_fa, fid, x, y, w, h) -> bool - - -ida_kernwin.formchgcbfa_refresh_field(): - - formchgcbfa_refresh_field(p_fa, fid) - - -ida_kernwin.formchgcbfa_set_field_value(): - - formchgcbfa_set_field_value(p_fa, fid, ft, py_val) -> bool - - -ida_kernwin.formchgcbfa_set_focused_field(): - - formchgcbfa_set_focused_field(p_fa, fid) -> bool - - -ida_kernwin.formchgcbfa_show_field(): - - formchgcbfa_show_field(p_fa, fid, show) -> bool - - -ida_kernwin.free_custom_icon(): - - free_custom_icon(icon_id) - - - Frees an icon loaded with load_custom_icon() - - -ida_kernwin.gen_disasm_text(): - - gen_disasm_text(text, ea1, ea2, truncate_lines) - - - Generate disassembly text for a range. - - @param text: result (C++: text_t &) - @param ea1: start address (C++: ea_t) - @param ea2: end address (C++: ea_t) - @param truncate_lines: (on idainfo::margin ) (C++: bool) - - -ida_kernwin.get_action_checkable(): - - get_action_checkable(name) -> bool - - - Get an action's checkability ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_checked(): - - get_action_checked(name) -> bool - - - Get an action's checked state ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_icon(): - - get_action_icon(name) -> bool - - - Get an action's icon ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_label(): - - get_action_label(name) -> bool - - - Get an action's label ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_shortcut(): - - get_action_shortcut(name) -> bool - - - Get an action's shortcut ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_state(): - - get_action_state(name) -> bool - - - Get an action's state ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_tooltip(): - - get_action_tooltip(name) -> bool - - - Get an action's tooltip ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_action_visibility(): - - get_action_visibility(name) -> bool - - - Get an action's visibility ( 'ui_get_action_attr' ). - - @param name: the action name (C++: const char *) - @return: success - - -ida_kernwin.get_active_modal_widget(): - - 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 NULL even if it is currently shown. - - @return: TWidget * the active modal widget, or NULL - - -ida_kernwin.get_addon_info(): - - 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 *) - @param info (C++: addon_info_t *) - @return: false if not found - - -ida_kernwin.get_addon_info_idx(): - - 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 - - -ida_kernwin.get_chooser_data(): - - get_chooser_data(chooser_caption, n) -> PyObject * - - - Get the text corresponding to the index N in the chooser data. Use -1 - to get the header. - - @param chooser_caption (C++: const char *) - @param n (C++: int) - - -ida_kernwin.get_chooser_obj(): - - get_chooser_obj(chooser_caption) -> void * - - - Get the underlying object of the specified chooser ( - 'ui_get_chooser_obj' ).This is object is chooser-specific. - - @param chooser_caption (C++: const char *) - @return: the object that was used to create the chooser - - -ida_kernwin.get_curline(): - - 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) - - -ida_kernwin.get_current_viewer(): - - get_current_viewer() -> TWidget * - - - Get current ida viewer (idaview or custom viewer) ( - 'ui_get_current_viewer' ) - - -ida_kernwin.get_current_widget(): - - get_current_widget() -> TWidget * - - - Get a pointer to the current widget ( 'ui_get_current_widget' ). - - -ida_kernwin.get_cursor(): - - get_cursor() -> bool - - - Get the cursor position on the screen ( 'ui_get_cursor' ).coordinates - are 0-based - - -ida_kernwin.get_custom_viewer_curline(): - - 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 - - @param custom_viewer: view (C++: TWidget *) - @param mouse: mouse position (otherwise cursor position) (C++: bool) - @return: pointer to contents of current line - - -ida_kernwin.get_custom_viewer_place(): - - get_custom_viewer_place(custom_viewer, mouse) -> place_t - - - Get current place in a custom viewer ( 'ui_get_curplace' ). - - @param custom_viewer: view (C++: TWidget *) - @param mouse: mouse position (otherwise cursor position) (C++: bool) - - -ida_kernwin.get_ea_viewer_history_info(): - - get_ea_viewer_history_info(nback, nfwd, v) -> bool - - - Get information about what's in the history ( - 'ui_ea_viewer_history_info' ). - - @param nback: number of available back steps (C++: int *) - @param nfwd: number of available forward steps (C++: int *) - @param v: ea viewer (C++: TWidget *) - - -ida_kernwin.get_hexdump_ea(): - - get_hexdump_ea(hexdump_num) -> ea_t - - - Get the current address in a hex view. - - @param hexdump_num: number of hexview window (C++: int) - - -ida_kernwin.get_highlight(): - - get_highlight(v) -> PyObject * - - - Returns the currently highlighted identifier and flags - - @return: a tuple (text, flags), or None if nothing - is highlighted or in case of error. - - -ida_kernwin.get_kernel_version(): - - get_kernel_version() -> ssize_t - - - Get IDA kernel version (in a string like "5.1"). - - -ida_kernwin.get_key_code(): - - get_key_code(keyname) -> ushort - - - Get keyboard key code by its name ( 'ui_get_key_code' ) - - - @param keyname (C++: const char *) - - -ida_kernwin.get_navband_ea(): - - get_navband_ea(pixel) -> ea_t - - - Translate the pixel position on the navigation band, into an address. - - - @param pixel (C++: int) - - -ida_kernwin.get_navband_pixel(): - - get_navband_pixel(ea) -> int - - - Maps an address, onto a pixel coordinate within the navband - - @param ea: The address to map - @return: a list [pixel, is_vertical] - - -ida_kernwin.get_opnum(): - - get_opnum() -> int - - - Get current operand number, -1 means no operand ( 'ui_get_opnum' ) - - -ida_kernwin.get_output_curline(): - - get_output_curline(mouse) -> bool - - - Get current line of output window ( 'ui_get_output_curline' ). - - @param mouse: current for mouse pointer? (C++: bool) - @return: false if output contains no text - - -ida_kernwin.get_output_cursor(): - - get_output_cursor() -> bool - - - Get coordinates of the output window's cursor ( 'ui_get_output_cursor' - ).coordinates are 0-basedthis function will succeed even if the output - window is not visible - - -ida_kernwin.get_output_selected_text(): - - get_output_selected_text() -> bool - - - Returns selected text from output window ( - 'ui_get_output_selected_text' ). - - @return: true if there is a selection - - -ida_kernwin.get_place_class(): - - 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: output flags (can be NULL) (C++: int *) - @param out_sdk_version: sdk version the place was created with (can be - NULL) (C++: int *) - @param id: place class ID (C++: int) - @return: the place_t template, or NULL if not found - - -ida_kernwin.get_place_class_id(): - - get_place_class_id(name) -> int - - - Get the place class ID for the place that has been registered as - 'name'. - - @param name: the class name (C++: const char *) - @return: the place class ID, or -1 if not found - - -ida_kernwin.get_place_class_template(): - - get_place_class_template(id) -> place_t - - - See 'get_place_class()' - - - @param id (C++: int) - - -ida_kernwin.get_registered_actions(): - - get_registered_actions() -> PyObject * - - - Get a list of all currently-registered actions - - -ida_kernwin.get_screen_ea(): - - get_screen_ea() -> ea_t - - - Get the address at the screen cursor ( 'ui_screenea' ) - - -ida_kernwin.get_tab_size(): - - get_tab_size(path) -> int - - - Get the size of a tab in spaces ( 'ui_get_tab_size' ). - - @param path: the path of the source view for which the tab size is - requested. if NULL, the default size is returned. (C++: - const char *) - - -ida_kernwin.get_user_strlist_options(): - - get_user_strlist_options(out) - - -ida_kernwin.get_view_renderer_type(): - - 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 *) - - -ida_kernwin.get_viewer_place_type(): - - 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 *) - - -ida_kernwin.get_viewer_user_data(): - - get_viewer_user_data(viewer) -> void * - - - Get the user data from a custom viewer ( 'ui_get_viewer_user_data' ) - - - @param viewer (C++: TWidget *) - - -ida_kernwin.get_widget_title(): - - get_widget_title(widget) -> bool - - - Get the TWidget's title ( 'ui_get_widget_title' ). - - - @param widget (C++: TWidget *) - - -ida_kernwin.get_widget_type(): - - get_widget_type(widget) -> twidget_type_t - - - Get the type of the TWidget * ( 'ui_get_widget_type' ). - - - @param widget (C++: TWidget *) - - -ida_kernwin.get_window_id(): - - get_window_id(name=None) -> void * - - - Get the system-specific window ID (GUI version only) - - @param name (C++: const char *) - @return: the low-level window ID - - -ida_kernwin.hide_wait_box(): - - hide_wait_box() - - - Hide the "Please wait dialog box". - - -class ida_kernwin.idaplace_t(): - - Proxy of C++ idaplace_t class - - -ida_kernwin.idaplace_t._print(): - - _print(self, out_buf, ud) - - -ida_kernwin.idaplace_t.adjust(): - - adjust(self, ud) - - -ida_kernwin.idaplace_t.as_enumplace_t(): - - as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.idaplace_t.as_idaplace_t(): - - as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.idaplace_t.as_simpleline_place_t(): - - as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.idaplace_t.as_structplace_t(): - - as_structplace_t(p) -> structplace_t - - -ida_kernwin.idaplace_t.beginning(): - - beginning(self, ud) -> bool - - -ida_kernwin.idaplace_t.clone(): - - clone(self) -> place_t - - -ida_kernwin.idaplace_t.compare(): - - compare(self, t2) -> int - - -ida_kernwin.idaplace_t.copyfrom(): - - copyfrom(self, _from) - - -ida_kernwin.idaplace_t.ea: - idaplace_t_ea_get(self) -> ea_t - -ida_kernwin.idaplace_t.ending(): - - ending(self, ud) -> bool - - -ida_kernwin.idaplace_t.enter(): - - enter(self, arg2) -> place_t - - -ida_kernwin.idaplace_t.generate(): - - generate(self, ud, maxsize) -> PyObject * - - -ida_kernwin.idaplace_t.id(): - - id(self) -> int - - -ida_kernwin.idaplace_t.leave(): - - leave(self, arg2) - - -ida_kernwin.idaplace_t.lnnum: - place_t_lnnum_get(self) -> int - -ida_kernwin.idaplace_t.makeplace(): - - makeplace(self, ud, x, lnnum) -> place_t - - -ida_kernwin.idaplace_t.name(): - - name(self) -> char const * - - -ida_kernwin.idaplace_t.next(): - - next(self, ud) -> bool - - -ida_kernwin.idaplace_t.prev(): - - prev(self, ud) -> bool - - -ida_kernwin.idaplace_t.rebase(): - - rebase(self, arg2) -> bool - - -ida_kernwin.idaplace_t.toea(): - - toea(self) -> ea_t - - -ida_kernwin.idaplace_t.touval(): - - touval(self, ud) -> uval_t - - -ida_kernwin.info(): - - info(format) - - -ida_kernwin.install_command_interpreter(): - - install_command_interpreter(py_obj) -> int - - - Install command line interpreter ( 'ui_install_cli' ) - - -ida_kernwin.internal_register_place_class(): - - internal_register_place_class(tmplate, flags, owner, sdk_version) -> int - - -ida_kernwin.is_action_enabled(): - - is_action_enabled(s) -> bool - - - Check if the given action state is one of AST_ENABLE*. - - - @param s (C++: action_state_t) - - -ida_kernwin.is_chooser_widget(): - - is_chooser_widget(t) -> bool - - - Does the given widget type specify a chooser widget? - - - @param t (C++: twidget_type_t) - - -ida_kernwin.is_idaq(): - - is_idaq() -> bool - - - Returns True or False depending if IDAPython is hosted by IDAQ - - -ida_kernwin.is_msg_inited(): - - is_msg_inited() -> bool - - - Can we use msg() functions? - - -ida_kernwin.is_place_class_ea_capable(): - - is_place_class_ea_capable(id) -> bool - - - See 'get_place_class()' - - - @param id (C++: int) - - -ida_kernwin.is_refresh_requested(): - - is_refresh_requested(mask) -> bool - - - Get a refresh request state - - @param mask: Window refresh flags (C++: uint64) - @return: the state (set or cleared) - - -class ida_kernwin.jobj_wrapper_t(): - - Proxy of C++ jobj_wrapper_t class - - -ida_kernwin.jobj_wrapper_t.get_dict(): - - get_dict(self) -> PyObject * - - -ida_kernwin.jumpto(): - - jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool - jumpto(custom_viewer, place, x, y) -> bool - - - Jump to the specified address ( 'ui_jumpto' ). - - @param ea: destination (C++: ea_t) - @param opnum: -1: don't change x coord (C++: int) - @param uijmp_flags: Jump flags (C++: int) - @return: success - - -ida_kernwin.load_custom_icon(): - - 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. - - @param file_name: The icon file name - @param data: The icon data - @param format: The icon data format - - @return: Icon id or 0 on failure. - Use free_custom_icon() to free it - - - Load an icon from a file ( 'ui_load_custom_icon_file' ). Also see - 'load_custom_icon(const void *, unsigned int, const char *)' - - @return: icon id - - -ida_kernwin.load_dbg_dbginfo(): - - load_dbg_dbginfo(path, li=None, base=BADADDR, verbose=False) -> bool - - - Load debugging information from a file. - - @param path: path to file (C++: const char *) - @param li: loader input. if NULL, check DBG_NAME_KEY (C++: linput_t *) - @param base: loading address (C++: ea_t) - @param verbose: dump status to message window (C++: bool) - - -ida_kernwin.lookup_key_code(): - - lookup_key_code(key, shift, is_qt) -> ushort - - - Get shortcut code previously created by 'ui_get_key_code' . - - @param key: key constant (C++: int) - @param shift: modifiers (C++: int) - @param is_qt: are we using gui version? (C++: bool) - - -ida_kernwin.msg(): - - msg(o) -> PyObject * - - - 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 - - -ida_kernwin.msg_clear(): - - msg_clear() - - - Clear the "Output window". - - -ida_kernwin.msg_get_lines(): - - 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: The number of lines to retrieve. -1 means: all (C++: - int) - - -ida_kernwin.msg_save(): - - msg_save(path) -> bool - - - Save the "Output window" contents into a file - - @param path: 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. (C++: qstring &) - @return: success - - -ida_kernwin.nomem(): - - nomem(format) - - -ida_kernwin.open_bpts_window(): - - open_bpts_window(ea) -> TWidget * - - - Open the breakpoints window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_calls_window(): - - open_calls_window(ea) -> TWidget * - - - Open the function calls window ( 'ui_open_builtin' ). - - @param ea (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_disasm_window(): - - open_disasm_window(window_title, ranges=None) -> TWidget * - - - Open a disassembly view ( 'ui_open_builtin' ). - - @param window_title: title of view to open (C++: const char *) - @param ranges: if != NULL, then display a flow chart with the - specified ranges (C++: const rangevec_t *) - @return: pointer to resulting window - - -ida_kernwin.open_enums_window(): - - open_enums_window(const_id=BADADDR) -> TWidget * - - - Open the enums window ( 'ui_open_builtin' ). - - @param const_id: index of entry to select by default (C++: tid_t) - @return: pointer to resulting window - - -ida_kernwin.open_exports_window(): - - open_exports_window(ea) -> TWidget * - - - Open the exports window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_frame_window(): - - open_frame_window(pfn, offset) -> TWidget * - - - Open the frame window for the given function ( 'ui_open_builtin' ). - - @param pfn: function to analyze (C++: func_t *) - @param offset: offset where the cursor is placed (C++: uval_t) - @return: pointer to resulting window if 'pfn' is a valid function and - the window was displayed, NULL otherwise - - -ida_kernwin.open_funcs_window(): - - open_funcs_window(ea) -> TWidget * - - - Open the functions window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_hexdump_window(): - - open_hexdump_window(window_title) -> TWidget * - - - Open a hexdump view ( 'ui_open_builtin' ). - - @param window_title: title of view to open (C++: const char *) - @return: pointer to resulting window - - -ida_kernwin.open_imports_window(): - - open_imports_window(ea) -> TWidget * - - - Open the exports window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_loctypes_window(): - - open_loctypes_window(ordinal) -> TWidget * - - - Open the local types window ( 'ui_open_builtin' ). - - @param ordinal: ordinal of type to select by default (C++: int) - @return: pointer to resulting window - - -ida_kernwin.open_modules_window(): - - open_modules_window() -> TWidget * - - - Open the modules window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_names_window(): - - open_names_window(ea) -> TWidget * - - - Open the names window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_navband_window(): - - open_navband_window(ea, zoom) -> TWidget * - - - Open the navigation band window ( 'ui_open_builtin' ). - - @param ea: sets the address of the navband arrow (C++: ea_t) - @param zoom: sets the navband zoom level (C++: int) - @return: pointer to resulting window - - -ida_kernwin.open_notepad_window(): - - open_notepad_window() -> TWidget * - - - Open the notepad window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_problems_window(): - - open_problems_window(ea) -> TWidget * - - - Open the problems window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_segments_window(): - - open_segments_window(ea) -> TWidget * - - - Open the segments window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_segregs_window(): - - open_segregs_window(ea) -> TWidget * - - - Open the segment registers window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_selectors_window(): - - open_selectors_window() -> TWidget * - - - Open the selectors window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_signatures_window(): - - open_signatures_window() -> TWidget * - - - Open the signatures window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_stack_window(): - - open_stack_window() -> TWidget * - - - Open the call stack window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_strings_window(): - - open_strings_window(ea, selstart=BADADDR, selend=BADADDR) -> TWidget * - - - Open the strings window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @param selstart: only display strings that occur within this range - (C++: ea_t) - @param selend: only display strings that occur within this range (C++: - ea_t) - @return: pointer to resulting window - - -ida_kernwin.open_structs_window(): - - open_structs_window(id=BADADDR, offset=0) -> TWidget * - - - Open the structs window ( 'ui_open_builtin' ). - - @param id: index of entry to select by default (C++: tid_t) - @param offset: offset where the cursor is placed (C++: uval_t) - @return: pointer to resulting window - - -ida_kernwin.open_threads_window(): - - open_threads_window() -> TWidget * - - - Open the threads window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_tils_window(): - - open_tils_window() -> TWidget * - - - Open the type libraries window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_trace_window(): - - open_trace_window() -> TWidget * - - - Open the trace window ( 'ui_open_builtin' ). - - @return: pointer to resulting window - - -ida_kernwin.open_url(): - - open_url(url) - - - Open the given url ( 'ui_open_url' ) - - - @param url (C++: const char *) - - -ida_kernwin.open_xrefs_window(): - - open_xrefs_window(ea) -> TWidget * - - - Open the cross references window ( 'ui_open_builtin' ). - - @param ea: index of entry to select by default (C++: ea_t) - @return: pointer to resulting window - - -class ida_kernwin.place_t(): - - Proxy of C++ place_t class - - -ida_kernwin.place_t._print(): - - _print(self, out_buf, ud) - - -ida_kernwin.place_t.adjust(): - - adjust(self, ud) - - -ida_kernwin.place_t.as_enumplace_t(): - - as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.place_t.as_idaplace_t(): - - as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.place_t.as_simpleline_place_t(): - - as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.place_t.as_structplace_t(): - - as_structplace_t(p) -> structplace_t - - -ida_kernwin.place_t.beginning(): - - beginning(self, ud) -> bool - - -ida_kernwin.place_t.clone(): - - clone(self) -> place_t - - -ida_kernwin.place_t.compare(): - - compare(self, t2) -> int - - -ida_kernwin.place_t.copyfrom(): - - copyfrom(self, _from) - - -ida_kernwin.place_t.ending(): - - ending(self, ud) -> bool - - -ida_kernwin.place_t.enter(): - - enter(self, arg2) -> place_t - - -ida_kernwin.place_t.generate(): - - generate(self, ud, maxsize) -> PyObject * - - -ida_kernwin.place_t.id(): - - id(self) -> int - - -ida_kernwin.place_t.leave(): - - leave(self, arg2) - - -ida_kernwin.place_t.lnnum: - place_t_lnnum_get(self) -> int - -ida_kernwin.place_t.makeplace(): - - makeplace(self, ud, x, lnnum) -> place_t - - -ida_kernwin.place_t.name(): - - name(self) -> char const * - - -ida_kernwin.place_t.next(): - - next(self, ud) -> bool - - -ida_kernwin.place_t.prev(): - - prev(self, ud) -> bool - - -ida_kernwin.place_t.rebase(): - - rebase(self, arg2) -> bool - - -ida_kernwin.place_t.toea(): - - toea(self) -> ea_t - - -ida_kernwin.place_t.touval(): - - touval(self, ud) -> uval_t - - -ida_kernwin.place_t_as_enumplace_t(): - - place_t_as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.place_t_as_idaplace_t(): - - place_t_as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.place_t_as_simpleline_place_t(): - - place_t_as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.place_t_as_structplace_t(): - - place_t_as_structplace_t(p) -> structplace_t - - -ida_kernwin.plgform_close(): - - plgform_close(py_link, options) - - -ida_kernwin.plgform_get_widget(): - - plgform_get_widget(py_link) -> TWidget * - - -ida_kernwin.plgform_new(): - - plgform_new() -> PyObject * - - -ida_kernwin.plgform_show(): - - plgform_show(py_link, py_obj, caption, options=WOPN_DP_TAB|WOPN_RESTORE) -> bool - - -ida_kernwin.process_ui_action(): - - process_ui_action(name, flags=0) -> bool - - - Invokes an IDA UI action by name - - @param name: action name - @return: Boolean - - -ida_kernwin.py_get_ask_form(): - - py_get_ask_form() -> size_t - - -ida_kernwin.py_get_open_form(): - - py_get_open_form() -> size_t - - -ida_kernwin.py_load_custom_icon_data(): - - py_load_custom_icon_data(data, format) -> int - - -ida_kernwin.py_load_custom_icon_fn(): - - py_load_custom_icon_fn(filename) -> int - - -ida_kernwin.py_register_compiled_form(): - - py_register_compiled_form(py_form) - - -ida_kernwin.py_ss_restore_callback(): - - py_ss_restore_callback(err_msg, userdata) - - -ida_kernwin.py_unregister_compiled_form(): - - py_unregister_compiled_form(py_form) - - -ida_kernwin.pyidag_bind(): - - pyidag_bind(self) -> bool - - -ida_kernwin.pyidag_unbind(): - - pyidag_unbind(self) -> bool - - -ida_kernwin.pyscv_add_line(): - - pyscv_add_line(py_this, py_sl) -> bool - - -ida_kernwin.pyscv_clear_lines(): - - pyscv_clear_lines(py_this) -> PyObject * - - -ida_kernwin.pyscv_close(): - - pyscv_close(py_this) - - -ida_kernwin.pyscv_count(): - - pyscv_count(py_this) -> size_t - - -ida_kernwin.pyscv_del_line(): - - pyscv_del_line(py_this, nline) -> bool - - -ida_kernwin.pyscv_edit_line(): - - pyscv_edit_line(py_this, nline, py_sl) -> bool - - -ida_kernwin.pyscv_get_current_line(): - - pyscv_get_current_line(py_this, mouse, notags) -> PyObject * - - -ida_kernwin.pyscv_get_current_word(): - - pyscv_get_current_word(py_this, mouse) -> PyObject * - - -ida_kernwin.pyscv_get_line(): - - pyscv_get_line(py_this, nline) -> PyObject * - - -ida_kernwin.pyscv_get_pos(): - - pyscv_get_pos(py_this, mouse) -> PyObject * - - -ida_kernwin.pyscv_get_selection(): - - pyscv_get_selection(py_this) -> PyObject * - - -ida_kernwin.pyscv_get_widget(): - - pyscv_get_widget(py_this) -> TWidget * - - -ida_kernwin.pyscv_init(): - - pyscv_init(py_link, title) -> PyObject * - - -ida_kernwin.pyscv_insert_line(): - - pyscv_insert_line(py_this, nline, py_sl) -> bool - - -ida_kernwin.pyscv_is_focused(): - - pyscv_is_focused(py_this) -> bool - - -ida_kernwin.pyscv_jumpto(): - - pyscv_jumpto(py_this, ln, x, y) -> bool - - -ida_kernwin.pyscv_patch_line(): - - pyscv_patch_line(py_this, nline, offs, value) -> bool - - -ida_kernwin.pyscv_refresh(): - - pyscv_refresh(py_this) -> bool - - -ida_kernwin.pyscv_show(): - - pyscv_show(py_this) -> bool - - -ida_kernwin.qcleanline(): - - qcleanline(cmt_char='', flags=((1 << 0)|(1 << 1))|(1 << 2)) -> ssize_t - - - Performs some cleanup operations to a line. - - @param cmt_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 (C++: char) - @param flags: a combination of line cleanup flags . defaults to - CLNL_TRIM (C++: uint32) - @return: length of line - - -ida_kernwin.read_range_selection(): - - read_range_selection(v) -> bool - - - Get the address range for the selected range boundaries, this is the - convenient function for 'read_selection()' - - @param v: view, NULL means the last active window containing addresses - (C++: TWidget *) - - -ida_kernwin.read_selection(): - - 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 p0: Storage for the "from" part of the selection. - @param p1: Storage for the "to" part of the selection. - @return: a bool value indicating success. - - -ida_kernwin.refresh_chooser(): - - refresh_chooser(title) -> bool - - - Mark a non-modal custom chooser for a refresh ( 'ui_refresh_chooser' - ). - - @param title: title of chooser (C++: const char *) - @return: success - - -ida_kernwin.refresh_choosers(): - - refresh_choosers() - - -ida_kernwin.refresh_idaview(): - - refresh_idaview() - - - Refresh marked windows ( 'ui_refreshmarked' ) - - -ida_kernwin.refresh_idaview_anyway(): - - refresh_idaview_anyway() - - - Refresh all disassembly views ( 'ui_refresh' ), forces an immediate - refresh. Please consider 'request_refresh()' instead - - -ida_kernwin.refresh_navband(): - - refresh_navband(force) - - - Refresh navigation band if changed ( 'ui_refresh_navband' ). - - @param force: refresh regardless (C++: bool) - - -ida_kernwin.register_action(): - - 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: action to register (C++: const action_desc_t &) - @return: success - - -ida_kernwin.register_addon(): - - 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 *) - - -ida_kernwin.register_and_attach_to_menu(): - - register_and_attach_to_menu(menupath, name, label, shortcut, flags, handler, owner) -> 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 *) - @param name (C++: const char *) - @param label (C++: const char *) - @param shortcut (C++: const char *) - @param flags (C++: int) - @param handler (C++: action_handler_t *) - @param owner (C++: const plugin_t *) - - -ida_kernwin.register_timer(): - - register_timer(interval, py_callback) -> PyObject * - - - Register a timer - - @param interval: Interval in milliseconds - @param 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 - - -ida_kernwin.remove_command_interpreter(): - - remove_command_interpreter(cli_idx) - - - Remove command line interpreter ( 'ui_install_cli' ) - - -class ida_kernwin.renderer_pos_info_t(): - - Proxy of C++ renderer_pos_info_t class - - -ida_kernwin.renderer_pos_info_t.cx: - renderer_pos_info_t_cx_get(self) -> short - -ida_kernwin.renderer_pos_info_t.cy: - renderer_pos_info_t_cy_get(self) -> short - -ida_kernwin.renderer_pos_info_t.node: - renderer_pos_info_t_node_get(self) -> int - -ida_kernwin.renderer_pos_info_t.sx: - renderer_pos_info_t_sx_get(self) -> short - -ida_kernwin.repaint_custom_viewer(): - - repaint_custom_viewer(custom_viewer) - - - Repaint the given widget immediately ( 'ui_repaint_qwidget' ) - - - @param custom_viewer (C++: TWidget *) - - -ida_kernwin.replace_wait_box(): - - replace_wait_box(format) - - - Replace the label of "Please wait dialog box". - - - @param format (C++: const char *) - - -ida_kernwin.request_refresh(): - - request_refresh(mask, cnd=True) - - - Request a refresh of a builtin window. - - @param mask: Window refresh flags (C++: uint64) - @param cnd: set if true or clear flag otherwise (C++: bool) - - -ida_kernwin.restore_database_snapshot(): - - restore_database_snapshot(ss, pyfunc_or_none, pytuple_or_none) -> PyObject * - - - Restore a database snapshot. Note: This call is asynchronous. When it - is completed, the callback will be triggered. - - @param ss: snapshot instance (see build_snapshot_tree() ) (C++: const - snapshot_t *) - @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. - - -ida_kernwin.set_cancelled(): - - set_cancelled() - - - Set "Cancelled" flag ( 'ui_set_cancelled' ) - - -ida_kernwin.set_code_viewer_handler(): - - 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: the code viewer (C++: TWidget *) - @param handler_id: one of CDVH_ in custom_viewer_handler_id_t (C++: - custom_viewer_handler_id_t) - @param handler_or_data: can be a handler or data. see examples in - Functions: custom viewer handlers (C++: void - *) - @return: old value of the handler or data - - -ida_kernwin.set_code_viewer_is_source(): - - 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 *) - - -ida_kernwin.set_code_viewer_line_handlers(): - - 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 - NULL - - @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 *) - - -ida_kernwin.set_code_viewer_lines_alignment(): - - 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) - - -ida_kernwin.set_code_viewer_lines_icon_margin(): - - 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) - - -ida_kernwin.set_code_viewer_lines_radix(): - - 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) - - -ida_kernwin.set_code_viewer_user_data(): - - 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 *) - - -ida_kernwin.set_custom_viewer_qt_aware(): - - 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 *) - - -ida_kernwin.set_dock_pos(): - - 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. - - @param src: Source docking control - @param dest: Destination docking control - @param orient: One of DOR_XXXX constants - @param left, top, right, bottom: These parameter if DOR_FLOATING is used, or if you want to specify the width of docked windows - @return: Boolean - - Example: - set_dock_pos('Structures', 'Enums', DOR_RIGHT) <- docks the Structures window to the right of Enums window - - -ida_kernwin.set_highlight(): - - set_highlight(viewer, str, flags) -> bool - - - Set the highlighted identifier in the viewer ( 'ui_set_highlight' ). - - @param viewer: the viewer (C++: TWidget *) - @param str: the text to match, or NULL to remove current (C++: const - char *) - @param flags: combination of HIF_... bits (see set_highlightr flags ) - (C++: int) - @return: false if an error occurred - - -ida_kernwin.set_nav_colorizer(): - - set_nav_colorizer(new_py_colorizer) -> PyObject * - - - 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) - - -ida_kernwin.set_view_renderer_type(): - - 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) - - -ida_kernwin.show_wait_box(): - - show_wait_box(format) - - - Display a dialog box with "Please wait...". If the text message starts - with "HIDECANCEL - ", the cancel buttonwon't be displayed in the dialog - box and you don't need to checkfor cancellations with - 'user_cancelled()' . Plugins must call 'hide_wait_box()' to close the - dialog box, otherwise the user interface will be disabled.Note that, - if the wait dialog is already visible, 'show_wait_box()' will1) push - the currently-displayed text on a stack2) display the new textThen, - when 'hide_wait_box()' is called, if that stack isn't empty its - toplabel will be popped and restored in the wait dialog.This implies - that a plugin should call 'hide_wait_box()' exactly as manytimes as it - called 'show_wait_box()' , or the wait dialog might remainvisible 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 thedialog without pushing the currently- - displayed text on the stack. - - @param format (C++: const char *) - - -class ida_kernwin.simplecustviewer_t(): - - The base class for implementing simple custom viewers - - -ida_kernwin.simplecustviewer_t.AddLine(): - - Adds a colored line to the view - @return: Boolean - - -ida_kernwin.simplecustviewer_t.ClearLines(): - - Clears all the lines - - -ida_kernwin.simplecustviewer_t.Close(): - - Destroys the view. - One has to call Create() afterwards. - Show() can be called and it will call Create() internally. - @return: Boolean - - -ida_kernwin.simplecustviewer_t.Count(): - - Returns the number of lines in the view - - -ida_kernwin.simplecustviewer_t.Create(): - - 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 - - -ida_kernwin.simplecustviewer_t.DelLine(): - - Deletes an existing line - @return: Boolean - - -ida_kernwin.simplecustviewer_t.EditLine(): - - Edits an existing line. - @return: Boolean - - -ida_kernwin.simplecustviewer_t.GetCurrentLine(): - - 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 - - -ida_kernwin.simplecustviewer_t.GetCurrentWord(): - - 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 - - -ida_kernwin.simplecustviewer_t.GetLine(): - - Returns a line - @param lineno: The line number - @return: - Returns a tuple (colored_line, fgcolor, bgcolor) or None - - -ida_kernwin.simplecustviewer_t.GetLineNo(): - - Calls GetPos() and returns the current line number or -1 on failure - - -ida_kernwin.simplecustviewer_t.GetPos(): - - Returns the current cursor or mouse position. - @param mouse: return mouse position - @return: Returns a tuple (lineno, x, y) - - -ida_kernwin.simplecustviewer_t.GetSelection(): - - Returns the selected range or None - @return: - - tuple(x1, y1, x2, y2) - - None if no selection - - -ida_kernwin.simplecustviewer_t.GetWidget(): - - Return the TWidget underlying this view. - - @return: The TWidget underlying this view, or None. - - -ida_kernwin.simplecustviewer_t.InsertLine(): - - Inserts a line in the given position - @return: Boolean - - -ida_kernwin.simplecustviewer_t.IsFocused(): - - Returns True if the current view is the focused view - - -ida_kernwin.simplecustviewer_t.OnPopup(): - - Context menu popup is about to be shown. Create items dynamically if you wish - @return: Boolean. True if you handled the event - - -ida_kernwin.simplecustviewer_t.PatchLine(): - - Patches an existing line character at the given offset. This is a low level function. You must know what you're doing - - -ida_kernwin.simplecustviewer_t.RefreshCurrent(): - - Refreshes the current line only - - -ida_kernwin.simplecustviewer_t.Show(): - - Shows an already created view. It the view was close, then it will call Create() for you - @return: Boolean - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.create_desktop_widget(): - - create_desktop_widget(self, title, cfg) -> PyObject * - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.current_widget_changed(): - - current_widget_changed(self, widget, prev_widget) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.database_inited(): - - database_inited(self, is_new_database, idc_script) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.debugger_menu_change(): - - debugger_menu_change(self, enable) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.finish_populating_widget_popup(): - - finish_populating_widget_popup(self, widget, popup_handle, ctx=None) - - - The UI is about to be done populating the TWidget's popup menu. - Now is a good time to call idaapi.attach_action_to_popup() - - @param widget: The widget - @param popup: The popup menu. - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.get_chooser_item_attrs(): - - get_chooser_item_attrs(self, chooser, n, attrs) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.get_custom_viewer_hint(): - - get_custom_viewer_hint(self, viewer, place) -> PyObject * - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.get_ea_hint(): - - get_ea_hint(self, ea) -> PyObject * - - - The UI wants to display a simple hint for an address in the navigation band - - @param ea: The address - @return: String with the hint or None - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.get_item_hint(): - - get_item_hint(self, ea, max_lines) -> PyObject * - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.get_widget_config(): - - get_widget_config(self, widget, cfg) -> PyObject * - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.hook(): - - hook(self) -> bool - - - Creates an UI hook - - @return: Boolean true on success - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.idcstart(): - - idcstart(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.idcstop(): - - idcstop(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.plugin_loaded(): - - plugin_loaded(self, plugin_info) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.plugin_unloading(): - - plugin_unloading(self, plugin_info) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.postprocess_action(): - - postprocess_action(self) - - - An ida ui action has been handled - - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.preprocess_action(): - - preprocess_action(self, name) - - - IDA ui is about to handle a user action - - @param name: ui action name - (these names can be looked up in ida[tg]ui.cfg) - @return: 0-ok, nonzero - a plugin has handled the action - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.range(): - - range(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.ready_to_run(): - - ready_to_run(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.resume(): - - resume(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.saved(): - - saved(self) - - - The kernel has saved the database. - - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.saving(): - - saving(self) - - - The kernel is saving the database. - - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.screen_ea_changed(): - - screen_ea_changed(self, ea, prev_ea) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.set_widget_config(): - - set_widget_config(self, widget, cfg) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.suspend(): - - suspend(self) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.term(): - - term(self) - - - IDA is terminated and the database is already closed. - The UI may close its windows in this callback. - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.unhook(): - - unhook(self) -> bool - - - Removes the UI hook - @return: Boolean true on success - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.updated_actions(): - - updated_actions(self) - - - The UI is done updating actions. - - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.updating_actions(): - - updating_actions(self, ctx) - - - The UI is about to batch-update some actions. - - @param ctx: The action_update_ctx_t instance - @return: Ignored - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.widget_closing(): - - widget_closing(self, widget) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.widget_invisible(): - - widget_invisible(self, widget) - - -ida_kernwin.simplecustviewer_t.UI_Hooks_Trampoline.widget_visible(): - - widget_visible(self, widget) - - -class ida_kernwin.simpleline_place_t(): - - Proxy of C++ simpleline_place_t class - - -ida_kernwin.simpleline_place_t._print(): - - _print(self, out_buf, ud) - - -ida_kernwin.simpleline_place_t.adjust(): - - adjust(self, ud) - - -ida_kernwin.simpleline_place_t.as_enumplace_t(): - - as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.simpleline_place_t.as_idaplace_t(): - - as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.simpleline_place_t.as_simpleline_place_t(): - - as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.simpleline_place_t.as_structplace_t(): - - as_structplace_t(p) -> structplace_t - - -ida_kernwin.simpleline_place_t.beginning(): - - beginning(self, ud) -> bool - - -ida_kernwin.simpleline_place_t.clone(): - - clone(self) -> place_t - - -ida_kernwin.simpleline_place_t.compare(): - - compare(self, t2) -> int - - -ida_kernwin.simpleline_place_t.copyfrom(): - - copyfrom(self, _from) - - -ida_kernwin.simpleline_place_t.ending(): - - ending(self, ud) -> bool - - -ida_kernwin.simpleline_place_t.enter(): - - enter(self, arg2) -> place_t - - -ida_kernwin.simpleline_place_t.generate(): - - generate(self, ud, maxsize) -> PyObject * - - -ida_kernwin.simpleline_place_t.id(): - - id(self) -> int - - -ida_kernwin.simpleline_place_t.leave(): - - leave(self, arg2) - - -ida_kernwin.simpleline_place_t.lnnum: - place_t_lnnum_get(self) -> int - -ida_kernwin.simpleline_place_t.makeplace(): - - makeplace(self, ud, x, lnnum) -> place_t - - -ida_kernwin.simpleline_place_t.n: - simpleline_place_t_n_get(self) -> uint32 - -ida_kernwin.simpleline_place_t.name(): - - name(self) -> char const * - - -ida_kernwin.simpleline_place_t.next(): - - next(self, ud) -> bool - - -ida_kernwin.simpleline_place_t.prev(): - - prev(self, ud) -> bool - - -ida_kernwin.simpleline_place_t.rebase(): - - rebase(self, arg2) -> bool - - -ida_kernwin.simpleline_place_t.toea(): - - toea(self) -> ea_t - - -ida_kernwin.simpleline_place_t.touval(): - - touval(self, ud) -> uval_t - - -class ida_kernwin.simpleline_t(): - - Proxy of C++ simpleline_t class - - -ida_kernwin.simpleline_t.bgcolor: - simpleline_t_bgcolor_get(self) -> bgcolor_t - -ida_kernwin.simpleline_t.color: - simpleline_t_color_get(self) -> color_t - -ida_kernwin.simpleline_t.line: - simpleline_t_line_get(self) -> qstring * - -ida_kernwin.str2ea(): - - str2ea(str, screenEA=BADADDR) -> ea_t - - - Converts a string express to EA. The expression evaluator may be called as well. - - @return: BADADDR or address value - - -ida_kernwin.str2user(): - - str2user(str) -> PyObject * - - - Insert C-style escape characters to string - - @return: new string with escape characters inserted - - -ida_kernwin.strarray(): - - 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 *) - @param array_size (C++: size_t) - @param code (C++: int) - - -class ida_kernwin.strarray_t(): - - Proxy of C++ strarray_t class - - -ida_kernwin.strarray_t.code: - strarray_t_code_get(self) -> int - -ida_kernwin.strarray_t.text: - strarray_t_text_get(self) -> char const * - -class ida_kernwin.structplace_t(): - - Proxy of C++ structplace_t class - - -ida_kernwin.structplace_t._print(): - - _print(self, out_buf, ud) - - -ida_kernwin.structplace_t.adjust(): - - adjust(self, ud) - - -ida_kernwin.structplace_t.as_enumplace_t(): - - as_enumplace_t(p) -> enumplace_t - - -ida_kernwin.structplace_t.as_idaplace_t(): - - as_idaplace_t(p) -> idaplace_t - - -ida_kernwin.structplace_t.as_simpleline_place_t(): - - as_simpleline_place_t(p) -> simpleline_place_t - - -ida_kernwin.structplace_t.as_structplace_t(): - - as_structplace_t(p) -> structplace_t - - -ida_kernwin.structplace_t.beginning(): - - beginning(self, ud) -> bool - - -ida_kernwin.structplace_t.clone(): - - clone(self) -> place_t - - -ida_kernwin.structplace_t.compare(): - - compare(self, t2) -> int - - -ida_kernwin.structplace_t.copyfrom(): - - copyfrom(self, _from) - - -ida_kernwin.structplace_t.ending(): - - ending(self, ud) -> bool - - -ida_kernwin.structplace_t.enter(): - - enter(self, arg2) -> place_t - - -ida_kernwin.structplace_t.generate(): - - generate(self, ud, maxsize) -> PyObject * - - -ida_kernwin.structplace_t.id(): - - id(self) -> int - - -ida_kernwin.structplace_t.idx: - structplace_t_idx_get(self) -> uval_t - -ida_kernwin.structplace_t.leave(): - - leave(self, arg2) - - -ida_kernwin.structplace_t.lnnum: - place_t_lnnum_get(self) -> int - -ida_kernwin.structplace_t.makeplace(): - - makeplace(self, ud, x, lnnum) -> place_t - - -ida_kernwin.structplace_t.name(): - - name(self) -> char const * - - -ida_kernwin.structplace_t.next(): - - next(self, ud) -> bool - - -ida_kernwin.structplace_t.offset: - structplace_t_offset_get(self) -> uval_t - -ida_kernwin.structplace_t.prev(): - - prev(self, ud) -> bool - - -ida_kernwin.structplace_t.rebase(): - - rebase(self, arg2) -> bool - - -ida_kernwin.structplace_t.toea(): - - toea(self) -> ea_t - - -ida_kernwin.structplace_t.touval(): - - touval(self, ud) -> uval_t - - -class ida_kernwin.sync_source_t(): - - Proxy of C++ sync_source_t class - - -ida_kernwin.sync_source_t.get_register(): - - get_register(self) -> char const * - - -ida_kernwin.sync_source_t.get_widget(): - - get_widget(self) -> TWidget const * - - -ida_kernwin.sync_source_t.is_register(): - - is_register(self) -> bool - - -ida_kernwin.sync_source_t.is_widget(): - - is_widget(self) -> bool - - -ida_kernwin.sync_sources(): - - 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 - - -ida_kernwin.take_database_snapshot(): - - take_database_snapshot(ss) -> PyObject * - - - Take a database snapshot ( 'ui_take_database_snapshot' ). - - @param ss: in/out parameter. in: description, flags out: filename, - id (C++: snapshot_t *) - @return: success - - -class ida_kernwin.textctrl_info_t(): - - Class representing textctrl_info_t - - -ida_kernwin.textctrl_info_t._free(): - - Explicitly delete the link (only if not static) - - -ida_kernwin.textctrl_info_t.assign(): - - Copies the contents of 'other' to 'self' - - -ida_kernwin.textctrl_info_t.copy(): - - Returns a new copy of this class - - -ida_kernwin.textctrl_info_t.flags: - - Returns the flags value - - -ida_kernwin.textctrl_info_t.tabsize: - - Returns the tabsize value - - -ida_kernwin.textctrl_info_t.text: - - Sets the text value - - -ida_kernwin.textctrl_info_t.value: - - Sets the text value - - -ida_kernwin.textctrl_info_t_assign(): - - textctrl_info_t_assign(self, other) -> bool - - -ida_kernwin.textctrl_info_t_create(): - - textctrl_info_t_create() -> PyObject * - - -ida_kernwin.textctrl_info_t_destroy(): - - textctrl_info_t_destroy(py_obj) -> bool - - -ida_kernwin.textctrl_info_t_get_clink(): - - textctrl_info_t_get_clink(self) -> textctrl_info_t * - - -ida_kernwin.textctrl_info_t_get_clink_ptr(): - - textctrl_info_t_get_clink_ptr(self) -> PyObject * - - -ida_kernwin.textctrl_info_t_get_flags(): - - textctrl_info_t_get_flags(self) -> unsigned int - - -ida_kernwin.textctrl_info_t_get_tabsize(): - - textctrl_info_t_get_tabsize(self) -> unsigned int - - -ida_kernwin.textctrl_info_t_get_text(): - - textctrl_info_t_get_text(self) -> char const * - - -ida_kernwin.textctrl_info_t_set_flags(): - - textctrl_info_t_set_flags(self, flags) -> bool - - -ida_kernwin.textctrl_info_t_set_tabsize(): - - textctrl_info_t_set_tabsize(self, tabsize) -> bool - - -ida_kernwin.textctrl_info_t_set_text(): - - textctrl_info_t_set_text(self, s) -> bool - - -class ida_kernwin.twinpos_t(): - - Proxy of C++ twinpos_t class - - -ida_kernwin.twinpos_t.at: - twinpos_t_at_get(self) -> place_t - -ida_kernwin.twinpos_t.x: - twinpos_t_x_get(self) -> int - -ida_kernwin.ui_load_new_file(): - - 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: name of the file with the extracted archive member. - (C++: qstring *) - @param filename: the name of input file as is, library or archive name - (C++: qstring *) - @param pli: loader input source, may be changed to point to temp_file - (C++: linput_t **) - @param neflags: combination of NEF_... bits (see Load file flags ) - (C++: ushort) - @param ploaders: list of loaders which accept file, may be changed for - loaders of temp_file (C++: load_info_t **) - - -class ida_kernwin.ui_requests_t(): - - Proxy of C++ ui_requests_t class - - -ida_kernwin.ui_run_debugger(): - - ui_run_debugger(dbgopts, exename, argc, argv) -> bool - - - Load a debugger plugin and run the specified program ( 'ui_run_dbg' ). - - @param dbgopts: value of the -r command line switch (C++: const char - *) - @param exename: name of the file to run (C++: const char *) - @param argc: number of arguments for the executable (C++: int) - @param argv: argument vector (C++: const char *const *) - @return: success - - -ida_kernwin.unmark_selection(): - - unmark_selection() - - - Unmark selection ( 'ui_unmarksel' ) - - -ida_kernwin.unregister_action(): - - unregister_action(name) -> bool - - - Delete a previously-registered action ( 'ui_unregister_action' ). - - @param name: name of action (C++: const char *) - @return: success - - -ida_kernwin.unregister_timer(): - - unregister_timer(py_timerctx) -> PyObject * - - - 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. - - -ida_kernwin.update_action_checkable(): - - update_action_checkable(name, checkable) -> bool - - - Update an action's checkability ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param checkable: new checkability (C++: bool) - @return: success - - -ida_kernwin.update_action_checked(): - - update_action_checked(name, checked) -> bool - - - Update an action's checked state ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param checked: new checked state (C++: bool) - @return: success - - -ida_kernwin.update_action_icon(): - - update_action_icon(name, icon) -> bool - - - Update an action's icon ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param icon: new icon id (C++: int) - @return: success - - -ida_kernwin.update_action_label(): - - update_action_label(name, label) -> bool - - - Update an action's label ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param label: new label (C++: const char *) - @return: success - - -ida_kernwin.update_action_shortcut(): - - update_action_shortcut(name, shortcut) -> bool - - - Update an action's shortcut ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param shortcut: new shortcut (C++: const char *) - @return: success - - -ida_kernwin.update_action_state(): - - update_action_state(name, state) -> bool - - - Update an action's state ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param state: new state (C++: action_state_t) - @return: success - - -ida_kernwin.update_action_tooltip(): - - update_action_tooltip(name, tooltip) -> bool - - - Update an action's tooltip ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param tooltip: new tooltip (C++: const char *) - @return: success - - -ida_kernwin.update_action_visibility(): - - update_action_visibility(name, visible) -> bool - - - Update an action's visibility ( 'ui_update_action_attr' ). - - @param name: action name (C++: const char *) - @param visible: new visibility (C++: bool) - @return: success - - -ida_kernwin.user_cancelled(): - - user_cancelled() -> bool - - - Test the ctrl-break flag ( 'ui_test_cancelled' ). - - -class ida_kernwin.view_mouse_event_location_t(): - - Proxy of C++ view_mouse_event_location_t class - - -ida_kernwin.view_mouse_event_location_t.ea: - view_mouse_event_location_t_ea_get(self) -> ea_t - -ida_kernwin.view_mouse_event_location_t.item: - view_mouse_event_location_t_item_get(self) -> selection_item_t const * - -class ida_kernwin.view_mouse_event_t(): - - Proxy of C++ view_mouse_event_t class - - -ida_kernwin.view_mouse_event_t.button: - view_mouse_event_t_button_get(self) -> vme_button_t - -ida_kernwin.view_mouse_event_t.location: - view_mouse_event_t_location_get(self) -> view_mouse_event_location_t - -ida_kernwin.view_mouse_event_t.renderer_pos: - view_mouse_event_t_renderer_pos_get(self) -> renderer_pos_info_t - -ida_kernwin.view_mouse_event_t.rtype: - view_mouse_event_t_rtype_get(self) -> tcc_renderer_type_t - -ida_kernwin.view_mouse_event_t.state: - view_mouse_event_t_state_get(self) -> view_event_state_t - -ida_kernwin.view_mouse_event_t.x: - view_mouse_event_t_x_get(self) -> uint32 - -ida_kernwin.view_mouse_event_t.y: - view_mouse_event_t_y_get(self) -> uint32 - -ida_kernwin.warning(): - - warning(format) - - - Display a message in a message box - - @param message: 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 - - - -=== ida_kernwin EPYDOC INJECTIONS === -ida_kernwin.ACF_HAS_SELECTION -""" -there is currently a valid selection -""" - -ida_kernwin.ACF_XTRN_EA -""" -cur_ea is in 'externs' segment -""" - -ida_kernwin.ADF_NO_UNDO -""" -useful for actions that do not modify the database. - -the action does not create an undo point. -""" - -ida_kernwin.ADF_OWN_HANDLER -""" -handler is owned by the action; it'll be destroyed when the action is -unregistered. You shouldn't have to use this. -""" - -ida_kernwin.AHF_VERSION -""" -action handler version (used by 'action_handler_t::flags' ) -""" - -ida_kernwin.AHF_VERSION_MASK -""" -mask for 'action_handler_t::flags' -""" - -ida_kernwin.ASKBTN_BTN1 -""" -First (Yes) button. -""" - -ida_kernwin.ASKBTN_BTN2 -""" -Second (No) button. -""" - -ida_kernwin.ASKBTN_BTN3 -""" -Third (Cancel) button. -""" - -ida_kernwin.ASKBTN_CANCEL -""" -Cancel button. -""" - -ida_kernwin.ASKBTN_NO -""" -No button. -""" - -ida_kernwin.ASKBTN_YES -""" -Yes button. -""" - -ida_kernwin.BWN_ADDRWATCH -""" -the 'Watch List' window -""" - -ida_kernwin.BWN_BPTS -""" -breakpoints -""" - -ida_kernwin.BWN_CALLS -""" -function calls -""" - -ida_kernwin.BWN_CALLS_CALLEES -""" -function calls, callees -""" - -ida_kernwin.BWN_CALLS_CALLERS -""" -function calls, callers -""" - -ida_kernwin.BWN_CALL_STACK -""" -call stack -""" - -ida_kernwin.BWN_CHOOSER -""" -a non-builtin chooser -""" - -ida_kernwin.BWN_CLI -""" -the command-line, in the output window -""" - -ida_kernwin.BWN_CMDPALCSR -""" -the command palette chooser (Qt version only) -""" - -ida_kernwin.BWN_CMDPALWIN -""" -the command palette window (Qt version only) -""" - -ida_kernwin.BWN_CPUREGS -""" -one of the 'General registers', 'FPU register', ... debugger windows -""" - -ida_kernwin.BWN_CUSTVIEW -""" -custom viewers -""" - -ida_kernwin.BWN_CV_LINE_INFOS -""" -custom viewers' lineinfo widget -""" - -ida_kernwin.BWN_DISASM -""" -disassembly views -""" - -ida_kernwin.BWN_DISASMS -""" -Alias. Some BWN_* were confusing, and thus have been renamed. This is -to ensure bw-compat. -""" - -ida_kernwin.BWN_DISASM_ARROWS -""" -disassembly arrows widget -""" - -ida_kernwin.BWN_DUMP -""" -hex dumps -""" - -ida_kernwin.BWN_DUMPS -""" -Alias. Some BWN_* were confusing, and thus have been renamed. This is -to ensure bw-compat. -""" - -ida_kernwin.BWN_ENUMS -""" -enumerations -""" - -ida_kernwin.BWN_EXPORTS -""" -exports -""" - -ida_kernwin.BWN_FRAME -""" -function frame -""" - -ida_kernwin.BWN_FUNCS -""" -functions -""" - -ida_kernwin.BWN_IMPORTS -""" -imports -""" - -ida_kernwin.BWN_LOCALS -""" -the 'locals' debugger window -""" - -ida_kernwin.BWN_LOCTYPS -""" -local types -""" - -ida_kernwin.BWN_MDVIEWCSR -""" -lumina metadata view chooser -""" - -ida_kernwin.BWN_MODULES -""" -modules -""" - -ida_kernwin.BWN_NAMES -""" -names -""" - -ida_kernwin.BWN_NAVBAND -""" -navigation band -""" - -ida_kernwin.BWN_NOTEPAD -""" -notepad -""" - -ida_kernwin.BWN_OUTPUT -""" -the text area, in the output window -""" - -ida_kernwin.BWN_PROBS -""" -problems -""" - -ida_kernwin.BWN_PSEUDOCODE -""" -hexrays decompiler views -""" - -ida_kernwin.BWN_SEARCH -""" -search results -""" - -ida_kernwin.BWN_SEARCHS -""" -Alias. Some BWN_* were confusing, and thus have been renamed. This is -to ensure bw-compat. -""" - -ida_kernwin.BWN_SEGREGS -""" -segment registers -""" - -ida_kernwin.BWN_SEGS -""" -segments -""" - -ida_kernwin.BWN_SELS -""" -selectors -""" - -ida_kernwin.BWN_SHORTCUTCSR -""" -the shortcuts chooser (Qt version only) -""" - -ida_kernwin.BWN_SHORTCUTWIN -""" -the shortcuts window (Qt version only) -""" - -ida_kernwin.BWN_SIGNS -""" -signatures -""" - -ida_kernwin.BWN_SNIPPETS -""" -the 'Execute script' window -""" - -ida_kernwin.BWN_SO_OFFSETS -""" -the 'Structure offsets' dialog's offset panel -""" - -ida_kernwin.BWN_SO_STRUCTS -""" -the 'Structure offsets' dialog's 'Structures and Unions' panel -""" - -ida_kernwin.BWN_SRCPTHMAP_CSR -""" -"Source paths..."'s path mappings chooser -""" - -ida_kernwin.BWN_SRCPTHUND_CSR -""" -"Source paths..."'s undesired paths chooser -""" - -ida_kernwin.BWN_STACK -""" -Alias. Some BWN_* were confusing, and thus have been renamed. This is -to ensure bw-compat. -""" - -ida_kernwin.BWN_STKVIEW -""" -the 'Stack view' debugger window -""" - -ida_kernwin.BWN_STRINGS -""" -strings -""" - -ida_kernwin.BWN_STRUCTS -""" -structures -""" - -ida_kernwin.BWN_THREADS -""" -threads -""" - -ida_kernwin.BWN_TILS -""" -type libraries -""" - -ida_kernwin.BWN_TRACE -""" -trace view -""" - -ida_kernwin.BWN_UNDOHIST -""" -Undo history. -""" - -ida_kernwin.BWN_UNKNOWN -""" -unknown window -""" - -ida_kernwin.BWN_WATCH -""" -the 'watches' debugger window -""" - -ida_kernwin.BWN_XREFS -""" -xrefs -""" - -ida_kernwin.CHCOL_DEC -""" -decimal number -""" - -ida_kernwin.CHCOL_DEFHIDDEN -""" -column should be hidden by default -""" - -ida_kernwin.CHCOL_EA -""" -address -""" - -ida_kernwin.CHCOL_FNAME -""" -function name -""" - -ida_kernwin.CHCOL_FORMAT -""" -column format mask -""" - -ida_kernwin.CHCOL_HEX -""" -hexadecimal number -""" - -ida_kernwin.CHCOL_PATH -""" -file path -""" - -ida_kernwin.CHCOL_PLAIN -""" -plain string -""" - -ida_kernwin.CHITEM_BOLD -""" -display the item in bold -""" - -ida_kernwin.CHITEM_GRAY -""" -gray out the item -""" - -ida_kernwin.CHITEM_ITALIC -""" -display the item in italic -""" - -ida_kernwin.CHITEM_STRIKE -""" -strikeout the item -""" - -ida_kernwin.CHITEM_UNDER -""" -underline the item -""" - -ida_kernwin.CHOOSER_MENU_EDIT -""" -Values of the 'menu_index' parameter. - -Obsolete. Please don't use -""" - -ida_kernwin.CHOOSER_MENU_JUMP -""" -Obsolete. Please don't use. -""" - -ida_kernwin.CHOOSER_MENU_SEARCH -""" -Obsolete. Please don't use. -""" - -ida_kernwin.CHOOSER_MULTI_SELECTION -""" -enable for multiple selections. A callback of type -'chooser_multi_cb_t' will be called for all selected items. -""" - -ida_kernwin.CHOOSER_NO_SELECTION -""" -Flags. - -enable even if there's no selected item. 'n' will be NO_SELECTION for -a callback. -""" - -ida_kernwin.CHOOSER_POPUP_MENU -""" -Add command to the popup menu. -""" - -ida_kernwin.CH_ATTRS -""" -generate ui_get_chooser_item_attrs (gui only) -""" - -ida_kernwin.CH_BUILTIN_MASK -""" -Mask for builtin chooser numbers. Plugins should not use them. -""" - -ida_kernwin.CH_CAN_DEL -""" -allow to delete existing item(s) -""" - -ida_kernwin.CH_CAN_EDIT -""" -allow to edit existing item(s) -""" - -ida_kernwin.CH_CAN_INS -""" -allow to insert new items -""" - -ida_kernwin.CH_CAN_REFRESH -""" -allow to refresh chooser -""" - -ida_kernwin.CH_FORCE_DEFAULT -""" -if a non-modal chooser was already open, change selection to the -default one -""" - -ida_kernwin.CH_KEEP -""" -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. -""" - -ida_kernwin.CH_MODAL -""" -Modal chooser. -""" - -ida_kernwin.CH_MULTI -""" -Obsolete. - -The chooser will allow multi-selection (only for GUI choosers). This -bit is set when using the 'chooser_multi_t' structure. -""" - -ida_kernwin.CH_NOBTNS -""" -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. -""" - -ida_kernwin.CH_NOIDB -""" -use the chooser before opening the database -""" - -ida_kernwin.CH_NO_STATUS_BAR -""" -don't show a status bar -""" - -ida_kernwin.CH_QFLT -""" -open with quick filter enabled and focused -""" - -ida_kernwin.CH_QFTYP_DEFAULT -""" -set quick filtering type to the possible existing default for this -chooser -""" - -ida_kernwin.CH_QFTYP_FUZZY -""" -fuzzy search quick filter type -""" - -ida_kernwin.CH_QFTYP_NORMAL -""" -normal (i.e., lexicographical) quick filter type -""" - -ida_kernwin.CH_QFTYP_REGEX -""" -regex quick filter type -""" - -ida_kernwin.CH_QFTYP_WHOLE_WORDS -""" -whole words quick filter type -""" - -ida_kernwin.CH_RESTORE -""" -restore floating position if present (equivalent of WOPN_RESTORE) (GUI -version only) -""" - -ida_kernwin.CLNL_FINDCMT -""" -Search for the comment symbol everywhere in the line, not only at the -beginning. -""" - -ida_kernwin.CLNL_LTRIM -""" -Remove leading space characters. -""" - -ida_kernwin.CLNL_RTRIM -""" -Remove trailing space characters. -""" - -ida_kernwin.CREATETB_ADV -""" -toolbar is for 'advanced mode' only -""" - -ida_kernwin.DP_BEFORE -""" -used with 'DP_INSIDE' . - -place src_form before dst_form in the tab bar instead of after -""" - -ida_kernwin.DP_BOTTOM -""" -Dock src_form below dest_form. -""" - -ida_kernwin.DP_FLOATING -""" -Make src_form floating. -""" - -ida_kernwin.DP_INSIDE -""" -Create a new tab bar with both src_form and dest_form. -""" - -ida_kernwin.DP_LEFT -""" -Dock src_form to the left of dest_form. -""" - -ida_kernwin.DP_RIGHT -""" -Dock src_form to the right of dest_form. -""" - -ida_kernwin.DP_TAB -""" -Place src_form into a tab next to dest_form, if dest_form is in a tab -bar (otherwise the same as 'DP_INSIDE' ) -""" - -ida_kernwin.DP_TOP -""" -Dock src_form above dest_form. -""" - -ida_kernwin.HIF_IDENTIFIER -""" -text is an identifier (i.e., when searching for the current highlight, -SEARCH_IDENT will be used) -""" - -ida_kernwin.HIF_LOCKED -""" -locked; clicking/moving the cursor around doesn't change the highlight -""" - -ida_kernwin.HIF_REGISTER -""" -text represents a register (aliases/subregisters will be highlit as -well) -""" - -ida_kernwin.HIST_CMD -""" -commands -""" - -ida_kernwin.HIST_CMT -""" -comments -""" - -ida_kernwin.HIST_DIR -""" -directory names (text version only) -""" - -ida_kernwin.HIST_FILE -""" -file names -""" - -ida_kernwin.HIST_IDENT -""" -names -""" - -ida_kernwin.HIST_SEG -""" -segment names -""" - -ida_kernwin.HIST_SRCH -""" -search substrings -""" - -ida_kernwin.HIST_TYPE -""" -type declarations -""" - -ida_kernwin.IWID_ADDRWATCH -""" -address watches (47) -""" - -ida_kernwin.IWID_ALL -""" -mask -""" - -ida_kernwin.IWID_BPTS -""" -breakpoints (13) -""" - -ida_kernwin.IWID_CALLS -""" -function calls (11) -""" - -ida_kernwin.IWID_CALLS_CALLEES -""" -funcalls, callees (50) -""" - -ida_kernwin.IWID_CALLS_CALLERS -""" -funcalls, callers (49) -""" - -ida_kernwin.IWID_CALL_STACK -""" -call stack (17) -""" - -ida_kernwin.IWID_CHOOSER -""" -chooser (37) -""" - -ida_kernwin.IWID_CLI -""" -input line (33) -""" - -ida_kernwin.IWID_CMDPALCSR -""" -command palette (43) -""" - -ida_kernwin.IWID_CMDPALWIN -""" -command palette (44) -""" - -ida_kernwin.IWID_CPUREGS -""" -registers (40) -""" - -ida_kernwin.IWID_CUSTVIEW -""" -custom viewers (46) -""" - -ida_kernwin.IWID_CV_LINE_INFOS -""" -lineinfo widget (53) -""" - -ida_kernwin.IWID_DISASM -""" -disassembly views (29) -""" - -ida_kernwin.IWID_DISASM_ARROWS -""" -arrows widget (52) -""" - -ida_kernwin.IWID_DUMP -""" -hex dumps (30) -""" - -ida_kernwin.IWID_ENUMS -""" -enumerations (27) -""" - -ida_kernwin.IWID_EXPORTS -""" -exports (0) -""" - -ida_kernwin.IWID_FRAME -""" -function frame (25) -""" - -ida_kernwin.IWID_FUNCS -""" -functions (3) -""" - -ida_kernwin.IWID_IMPORTS -""" -imports (1) -""" - -ida_kernwin.IWID_LOCALS -""" -locals (35) -""" - -ida_kernwin.IWID_LOCTYPS -""" -local types (10) -""" - -ida_kernwin.IWID_MDVIEWCSR -""" -lumina md view (51) -""" - -ida_kernwin.IWID_MODULES -""" -modules (15) -""" - -ida_kernwin.IWID_NAMES -""" -names (2) -""" - -ida_kernwin.IWID_NAVBAND -""" -navigation band (26) -""" - -ida_kernwin.IWID_NOTEPAD -""" -notepad (31) -""" - -ida_kernwin.IWID_OUTPUT -""" -output (32) -""" - -ida_kernwin.IWID_PROBS -""" -problems (12) -""" - -ida_kernwin.IWID_PSEUDOCODE -""" -decompiler (48) -""" - -ida_kernwin.IWID_SEARCH -""" -search results (19) -""" - -ida_kernwin.IWID_SEGREGS -""" -segment registers (6) -""" - -ida_kernwin.IWID_SEGS -""" -segments (5) -""" - -ida_kernwin.IWID_SELS -""" -selectors (7) -""" - -ida_kernwin.IWID_SHORTCUTCSR -""" -shortcuts chooser (38) -""" - -ida_kernwin.IWID_SHORTCUTWIN -""" -shortcuts window (39) -""" - -ida_kernwin.IWID_SIGNS -""" -signatures (8) -""" - -ida_kernwin.IWID_SNIPPETS -""" -snippets (45) -""" - -ida_kernwin.IWID_SO_OFFSETS -""" -stroff (42) -""" - -ida_kernwin.IWID_SO_STRUCTS -""" -stroff (41) -""" - -ida_kernwin.IWID_SRCPTHMAP_CSR -""" -mappings chooser (54) -""" - -ida_kernwin.IWID_SRCPTHUND_CSR -""" -undesired chooser (55) -""" - -ida_kernwin.IWID_STACK -""" -Alias. Some IWID_* were confusing, and thus have been renamed. This is -to ensure bw-compat. -""" - -ida_kernwin.IWID_STKVIEW -""" -stack view (36) -""" - -ida_kernwin.IWID_STRINGS -""" -strings (4) -""" - -ida_kernwin.IWID_STRUCTS -""" -structures (28) -""" - -ida_kernwin.IWID_THREADS -""" -threads (14) -""" - -ida_kernwin.IWID_TILS -""" -type libraries (9) -""" - -ida_kernwin.IWID_TRACE -""" -trace view (16) -""" - -ida_kernwin.IWID_UNDOHIST -""" -Undo history (56) -""" - -ida_kernwin.IWID_WATCH -""" -watches (34) -""" - -ida_kernwin.IWID_XREFS -""" -xrefs (18) -""" - -ida_kernwin.MFF_FAST -""" -Execute code as soon as possible. this mode is ok for calling ui -related functions that do not query the database. -""" - -ida_kernwin.MFF_NOWAIT -""" -Do not wait for the request to be executed. the caller should ensure -that the request is not destroyed until the execution completes. if -not, the request will be ignored. 'execute_sync()' returns the request -id in this case. it can be used in 'cancel_exec_request()' . This flag -can be used to delay the code execution until the next UI loop run -even from the main thread. -""" - -ida_kernwin.MFF_READ -""" -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) -""" - -ida_kernwin.MFF_WRITE -""" -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' -""" - -ida_kernwin.SETMENU_APP -""" -add menu item after the specified path -""" - -ida_kernwin.SETMENU_FIRST -""" -add item to the beginning of menu -""" - -ida_kernwin.SETMENU_INS -""" -add menu item before the specified path (default) -""" - -ida_kernwin.UIJMP_ACTIVATE -""" -activate the new window -""" - -ida_kernwin.UIJMP_DONTPUSH -""" -in the navigation history - -do not remember the current address -""" - -ida_kernwin.UIJMP_IDAVIEW -""" -jump in idaview (by default any eaview is good) -""" - -ida_kernwin.VES_SHIFT -""" -state & 1 => Shift is pressedstate & 2 => Alt is pressedstate & 4 => -Ctrl is pressedstate & 8 => Mouse left button is pressedstate & 16 => -Mouse right button is pressedstate & 32 => Mouse middle button is -pressedstate & 128 => Meta is pressed (OSX only) -""" -=== ida_kernwin EPYDOC INJECTIONS END === -ida_lines.COLSTR(): - - Utility function to create a colored line - @param str: The string - @param tag: Color tag constant. One of SCOLOR_XXXX - - -ida_lines.add_extra_cmt(): - - add_extra_cmt(ea, isprev, format) -> bool - - - Add anterior/posterior comment line(s). - - @param ea: linear address (C++: ea_t) - @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) - @param format: printf() style format string. may contain - to denote - new lines. The resulting string should not contain - comment characters (;), the kernel will add them - automatically. (C++: const char *) - @return: true if success - - -ida_lines.add_extra_line(): - - add_extra_line(ea, isprev, format) -> bool - - - Add anterior/posterior non-comment line(s). - - @param ea: linear address (C++: ea_t) - @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) - @param format: printf() style format string. may contain - to denote - new lines. (C++: const char *) - @return: true if success - - -ida_lines.add_pgm_cmt(): - - add_pgm_cmt(format) -> bool - - - Add anterior comment line(s) at the start of program. - - @param format: printf() style format string. may contain - to denote - new lines. The resulting string should not contain - comment characters (;), the kernel will add them - automatically. (C++: const char *) - @return: true if success - - -ida_lines.add_sourcefile(): - - 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: linear address of start of the address range (C++: ea_t) - @param ea2: linear address of end of the address range (excluded) - (C++: ea_t) - @param filename: name of source file. (C++: const char *) - @return: success - - -class ida_lines.bgcolors_t(): - - Proxy of C++ bgcolors_t class - - -ida_lines.bgcolors_t.epilog_color: - bgcolors_t_epilog_color_get(self) -> bgcolor_t - -ida_lines.bgcolors_t.prolog_color: - bgcolors_t_prolog_color_get(self) -> bgcolor_t - -ida_lines.bgcolors_t.switch_color: - bgcolors_t_switch_color_get(self) -> bgcolor_t - -ida_lines.calc_bg_color(): - - calc_bg_color(ea) -> bgcolor_t - - - Get background color for line at 'ea' - - @param ea (C++: ea_t) - @return: RGB color - - -ida_lines.calc_prefix_color(): - - calc_prefix_color(ea) -> color_t - - - Get prefix color for line at 'ea' - - @param ea (C++: ea_t) - @return: Line prefix colors - - -ida_lines.create_encoding_helper(): - - create_encoding_helper(encidx=-1, nr=nr_once) -> encoder_t * - - -ida_lines.del_extra_cmt(): - - del_extra_cmt(ea, what) - - -ida_lines.del_sourcefile(): - - del_sourcefile(ea) -> bool - - - Delete information about the source file. - - @param ea: linear address (C++: ea_t) - @return: success - - -ida_lines.delete_extra_cmts(): - - delete_extra_cmts(ea, what) - - -ida_lines.generate_disasm_line(): - - generate_disasm_line(ea, flags=0) -> bool - - -ida_lines.generate_disassembly(): - - generate_disassembly(ea, max_lines, as_stack, notags) -> PyObject * - - - 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 - @return: - - None on failure - - tuple(most_important_line_number, tuple(lines)) : Returns a tuple containing - the most important line number and a tuple of generated lines - - -ida_lines.get_extra_cmt(): - - get_extra_cmt(ea, what) -> ssize_t - - -ida_lines.get_first_free_extra_cmtidx(): - - get_first_free_extra_cmtidx(ea, start) -> int - - -ida_lines.get_sourcefile(): - - get_sourcefile(ea, bounds=None) -> char const * - - - Get name of source file occupying the given address. - - @param ea: linear address (C++: ea_t) - @param bounds: pointer to the output buffer with the address range for - the current file. May be NULL. (C++: range_t *) - @return: NULL if source file information is not found, otherwise - returns pointer to file name - - -ida_lines.requires_color_esc(): - - Checks if the given character requires escaping - @param c: character (string of one char) - @return: Boolean - - - Is the given char a color escape character? - - -ida_lines.set_user_defined_prefix(): - - set_user_defined_prefix(width, pycb) -> PyObject * - - - User-defined line-prefixes are displayed just after the autogenerated - line prefixes. In order to use them, the plugin should call the - following function to specify its width and contents. - @param width: the width of the user-defined prefix - @param callback: a get_user_defined_prefix callback to get the contents of the prefix. - Its arguments: - ea - linear address - lnnum - line number - indent - indent of the line contents (-1 means the default instruction) - indent and is used for instruction itself. see explanations for printf_line() - line - the line to be generated. the line usually contains color tags this argument - can be examined to decide whether to generated the prefix - It returns a buffer of size < bufsize - - In order to remove the callback before unloading the plugin, specify the width = 0 or the callback = None - - -ida_lines.tag_addr(): - - tag_addr(ea) -> PyObject * - - - Insert an address mark into a string. - - @param ea: address to include (C++: ea_t) - - -ida_lines.tag_advance(): - - tag_advance(line, cnt) -> int - - - Move pointer to a 'line' to 'cnt' positions right. Take into account - escape sequences. - - @param line: pointer to string (C++: const char *) - @param cnt: number of positions to move right (C++: int) - @return: moved pointer - - -ida_lines.tag_remove(): - - tag_remove(nonnul_instr) -> PyObject * - - - Remove color escape sequences from a string - @param colstr: the colored string with embedded tags - @return: a new string w/o the tags - - -ida_lines.tag_skipcode(): - - 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 *) - @return: moved pointer - - -ida_lines.tag_skipcodes(): - - tag_skipcodes(line) -> int - - - Move the pointer past all color codes. - - @param line: can't be NULL (C++: const char *) - @return: moved pointer, can't be NULL - - -ida_lines.tag_strlen(): - - 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 *) - @return: the number of codepoints in the line, or -1 on error - - -ida_lines.update_extra_cmt(): - - update_extra_cmt(ea, what, str) - - - -=== ida_lines EPYDOC INJECTIONS === -ida_lines.COLOR_ADDR_SIZE -""" -Size of a tagged address (see 'COLOR_ADDR' ) -""" - -ida_lines.COLOR_BG_MAX -""" -Max color number. -""" - -ida_lines.COLOR_CODE -""" -Single instruction. -""" - -ida_lines.COLOR_CURITEM -""" -Current item. -""" - -ida_lines.COLOR_CURLINE -""" -Current line. -""" - -ida_lines.COLOR_DATA -""" -Data bytes. -""" - -ida_lines.COLOR_DEFAULT -""" -Default. -""" - -ida_lines.COLOR_ESC -""" -Escape character (Quote next character). This is needed to output '\\1' -and '\\2' characters. -""" - -ida_lines.COLOR_EXTERN -""" -External name definition segment. -""" - -ida_lines.COLOR_HIDLINE -""" -Hidden line. -""" - -ida_lines.COLOR_INV -""" -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. -""" - -ida_lines.COLOR_LIBFUNC -""" -Library function. -""" - -ida_lines.COLOR_LUMFUNC -""" -Lumina function. -""" - -ida_lines.COLOR_OFF -""" -Followed by a color code ( 'color_t' ). - -Escape character (OFF). -""" - -ida_lines.COLOR_ON -""" -Followed by a color code ( 'color_t' ). - -Escape character (ON). -""" - -ida_lines.COLOR_REGFUNC -""" -Regular function. -""" - -ida_lines.COLOR_SELECTED -""" -Selected. -""" - -ida_lines.COLOR_UNKNOWN -""" -Unexplored byte. -""" - -ida_lines.SCOLOR_ADDR -""" -Hidden address mark. -""" - -ida_lines.SCOLOR_ALTOP -""" -Alternative operand. -""" - -ida_lines.SCOLOR_ASMDIR -""" -Assembler directive. -""" - -ida_lines.SCOLOR_AUTOCMT -""" -Automatic comment. -""" - -ida_lines.SCOLOR_BINPREF -""" -Binary line prefix bytes. -""" - -ida_lines.SCOLOR_CHAR -""" -Char constant in instruction. -""" - -ida_lines.SCOLOR_CNAME -""" -Regular code name. -""" - -ida_lines.SCOLOR_CODNAME -""" -Dummy code name. -""" - -ida_lines.SCOLOR_COLLAPSED -""" -Collapsed line. -""" - -ida_lines.SCOLOR_CREF -""" -Code reference. -""" - -ida_lines.SCOLOR_CREFTAIL -""" -Code reference to tail byte. -""" - -ida_lines.SCOLOR_DATNAME -""" -Dummy Data Name. -""" - -ida_lines.SCOLOR_DCHAR -""" -Char constant in data directive. -""" - -ida_lines.SCOLOR_DEFAULT -""" -Default. -""" - -ida_lines.SCOLOR_DEMNAME -""" -Demangled Name. -""" - -ida_lines.SCOLOR_DNAME -""" -Regular Data Name. -""" - -ida_lines.SCOLOR_DNUM -""" -Numeric constant in data directive. -""" - -ida_lines.SCOLOR_DREF -""" -Data reference. -""" - -ida_lines.SCOLOR_DREFTAIL -""" -Data reference to tail byte. -""" - -ida_lines.SCOLOR_DSTR -""" -String constant in data directive. -""" - -ida_lines.SCOLOR_ERROR -""" -Error or problem. -""" - -ida_lines.SCOLOR_ESC -""" -Escape character (Quote next character) -""" - -ida_lines.SCOLOR_EXTRA -""" -Extra line. -""" - -ida_lines.SCOLOR_HIDNAME -""" -Hidden name. -""" - -ida_lines.SCOLOR_IMPNAME -""" -Imported name. -""" - -ida_lines.SCOLOR_INSN -""" -Instruction. -""" - -ida_lines.SCOLOR_INV -""" -Escape character (Inverse colors) -""" - -ida_lines.SCOLOR_KEYWORD -""" -Keywords. -""" - -ida_lines.SCOLOR_LIBNAME -""" -Library function name. -""" - -ida_lines.SCOLOR_LOCNAME -""" -Local variable name. -""" - -ida_lines.SCOLOR_MACRO -""" -Macro. -""" - -ida_lines.SCOLOR_NUMBER -""" -Numeric constant in instruction. -""" - -ida_lines.SCOLOR_OFF -""" -Escape character (OFF) -""" - -ida_lines.SCOLOR_ON -""" -Escape character (ON) -""" - -ida_lines.SCOLOR_PREFIX -""" -Line prefix. -""" - -ida_lines.SCOLOR_REG -""" -Register name. -""" - -ida_lines.SCOLOR_REGCMT -""" -Regular comment. -""" - -ida_lines.SCOLOR_RPTCMT -""" -Repeatable comment (defined not here) -""" - -ida_lines.SCOLOR_SEGNAME -""" -Segment name. -""" - -ida_lines.SCOLOR_STRING -""" -String constant in instruction. -""" - -ida_lines.SCOLOR_SYMBOL -""" -Punctuation. -""" - -ida_lines.SCOLOR_UNAME -""" -Regular unknown name. -""" - -ida_lines.SCOLOR_UNKNAME -""" -Dummy unknown name. -""" - -ida_lines.SCOLOR_VOIDOP -""" -Void operand. -""" -=== ida_lines EPYDOC INJECTIONS END === -ida_loader.base2file(): - - base2file(fp, pos, ea1, ea2) -> int - - - Unload database to a binary file. This function works for wide byte - processors too. - - @param fp: pointer to file (C++: FILE *) - @param pos: position in the file (C++: qoff64_t) - @param ea1: range of source linear addresses (C++: ea_t) - @param ea2: range of source linear addresses (C++: ea_t) - @return: 1-ok(always), write error leads to immediate exit - - -ida_loader.build_snapshot_tree(): - - build_snapshot_tree(root) -> bool - - - Build the snapshot tree. - - @param root: snapshot root that will contain the snapshot tree - elements. (C++: snapshot_t *) - @return: success - - -ida_loader.clr_database_flag(): - - clr_database_flag(dbfl) - - -ida_loader.extract_module_from_archive(): - - 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 is_remote: is the input file remote? (C++: bool) - - -ida_loader.file2base(): - - 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: pointer of input source (C++: linput_t *) - @param pos: position in the file (C++: qoff64_t) - @param ea1: range of destination linear addresses (C++: ea_t) - @param ea2: range of destination linear addresses (C++: ea_t) - @param patchable: should the kernel remember correspondence of file - offsets to linear addresses. (C++: int) - - -ida_loader.find_plugin(): - - find_plugin(name, load_if_needed=False) -> plugin_t * - - - Find a user-defined plugin and optionally load it. - - @param name: short plugin name without path and extension, or absolute - path to the file name (C++: const char *) - @param load_if_needed: if the plugin is not present in the memory, try - to load it (C++: bool) - @return: pointer to plugin description block - - -ida_loader.flush_buffers(): - - flush_buffers() -> int - - - Flush buffers to the disk. - - -ida_loader.gen_exe_file(): - - 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 == NULL then return: 1: - can generate an executable file 0: can't generate an - executable file - - -ida_loader.gen_file(): - - gen_file(otype, fp, ea1, ea2, flags) -> int - - - Generate an output file. 'OFILE_EXE' : - - @param otype: type of output file. (C++: ofile_type_t) - @param fp: the output file handle (C++: FILE *) - @param ea1: start address. For some file types this argument is - ignored (C++: ea_t) - @param ea2: end address. For some file types this argument is ignored - as usual in ida, the end address of the range is not - included (C++: ea_t) - @param flags: Generate file flags (C++: int) - @return: number of the generated lines. -1 if an error occurred - - -ida_loader.get_basic_file_type(): - - 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 *) - - -ida_loader.get_elf_debug_file_directory(): - - get_elf_debug_file_directory() -> char const * - - - Get the value of the ELF_DEBUG_FILE_DIRECTORY configuration directive. - - -ida_loader.get_file_type_name(): - - get_file_type_name() -> size_t - - - Get name of the current file type. The current file type is kept in - \inf{filetype}. - - @return: size of answer, this function always succeeds - - -ida_loader.get_fileregion_ea(): - - 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) - - -ida_loader.get_fileregion_offset(): - - 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) - - -ida_loader.get_path(): - - get_path(pt) -> char const * - - - Get the file path - - @param pt: file path type Types of the file pathes (C++: path_type_t) - @return: file path, never returns NULL - - -ida_loader.get_plugin_options(): - - 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 NULL if there we no options specified - - @param plugin (C++: const char *) - - -class ida_loader.idp_desc_t(): - - Proxy of C++ idp_desc_t class - - -ida_loader.idp_desc_t.checked: - idp_desc_t_checked_get(self) -> bool - -ida_loader.idp_desc_t.family: - idp_desc_t_family_get(self) -> qstring * - -ida_loader.idp_desc_t.is_script: - idp_desc_t_is_script_get(self) -> bool - -ida_loader.idp_desc_t.mtime: - idp_desc_t_mtime_get(self) -> time_t - -ida_loader.idp_desc_t.names: - idp_desc_t_names_get(self) -> idp_names_t * - -ida_loader.idp_desc_t.path: - idp_desc_t_path_get(self) -> qstring * - -class ida_loader.idp_name_t(): - - Proxy of C++ idp_name_t class - - -ida_loader.idp_name_t.hidden: - idp_name_t_hidden_get(self) -> bool - -ida_loader.idp_name_t.lname: - idp_name_t_lname_get(self) -> qstring * - -ida_loader.idp_name_t.sname: - idp_name_t_sname_get(self) -> qstring * - -ida_loader.is_database_flag(): - - is_database_flag(dbfl) -> bool - - - Get the current database flag - - @param dbfl: flag Database flags (C++: uint32) - @return: the state of the flag (set or cleared) - - -ida_loader.is_trusted_idb(): - - is_trusted_idb() -> bool - - - Is the database considered as trusted? - - -ida_loader.load_and_run_plugin(): - - load_and_run_plugin(name, arg) -> bool - - - Load & run a plugin. - - - @param name (C++: const char *) - @param arg (C++: size_t) - - -ida_loader.load_binary_file(): - - 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: the name of input file as is (if the input file is - from library, then this is the name from the library) - (C++: const char *) - @param li: loader input source (C++: linput_t *) - @param _neflags: Load file flags . For the first file, the flag - NEF_FIRST must be set. (C++: ushort) - @param fileoff: Offset in the input file (C++: qoff64_t) - @param basepara: Load address in paragraphs (C++: ea_t) - @param binoff: Load offset (load_address=(basepara<<4)+binoff) (C++: - ea_t) - @param nbytes: Number of bytes to load from the file. 0: up to the - end of the file (C++: uint64) - - -ida_loader.load_ids_module(): - - 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: name of file to apply (C++: char *) - - -ida_loader.load_plugin(): - - load_plugin(name) -> PyObject * - - - Loads a plugin - @return: - - None if plugin could not be loaded - - An opaque object representing the loaded plugin - - -class ida_loader.loader_t(): - - Proxy of C++ loader_t class - - -ida_loader.loader_t.flags: - loader_t_flags_get(self) -> uint32 - -ida_loader.loader_t.version: - loader_t_version_get(self) -> uint32 - -ida_loader.mem2base(): - - mem2base(py_mem, ea, fpos=-1) -> int - - - Load database from the memory. - @param 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 - - -class ida_loader.plugin_info_t(): - - Proxy of C++ plugin_info_t class - - -ida_loader.plugin_info_t.arg: - plugin_info_t_arg_get(self) -> size_t - -ida_loader.plugin_info_t.comment: - plugin_info_t_comment_get(self) -> char * - -ida_loader.plugin_info_t.dllmem: - plugin_info_t_dllmem_get(self) -> idadll_t * - -ida_loader.plugin_info_t.entry: - plugin_info_t_entry_get(self) -> plugin_t * - -ida_loader.plugin_info_t.flags: - plugin_info_t_flags_get(self) -> int - -ida_loader.plugin_info_t.hotkey: - plugin_info_t_hotkey_get(self) -> ushort - -ida_loader.plugin_info_t.name: - plugin_info_t_name_get(self) -> char * - -ida_loader.plugin_info_t.next: - plugin_info_t_next_get(self) -> plugin_info_t - -ida_loader.plugin_info_t.org_hotkey: - plugin_info_t_org_hotkey_get(self) -> ushort - -ida_loader.plugin_info_t.org_name: - plugin_info_t_org_name_get(self) -> char * - -ida_loader.plugin_info_t.path: - plugin_info_t_path_get(self) -> char * - -ida_loader.process_archive(): - - process_archive(temp_file, li, module_name, neflags, defmember, loader) -> int - - - Calls 'loader_t::process_archive()' For parameters and return value - description look at 'loader_t::process_archive()' . Additional - parameter: - - @param temp_file (C++: qstring *) - @param li (C++: linput_t *) - @param module_name (C++: qstring *) - @param neflags (C++: ushort *) - @param defmember (C++: const char *) - @param loader: pointer to load_info_t structure. (C++: const - load_info_t *) - - -class ida_loader.qvector_snapshotvec_t(): - - Proxy of C++ qvector<(p.snapshot_t)> class - - -ida_loader.qvector_snapshotvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_loader.qvector_snapshotvec_t.at(): - - at(self, n) -> snapshot_t - - -ida_loader.qvector_snapshotvec_t.begin(): - - begin(self) -> qvector< snapshot_t * >::iterator - begin(self) -> qvector< snapshot_t * >::const_iterator - - -ida_loader.qvector_snapshotvec_t.capacity(): - - capacity(self) -> size_t - - -ida_loader.qvector_snapshotvec_t.clear(): - - clear(self) - - -ida_loader.qvector_snapshotvec_t.empty(): - - empty(self) -> bool - - -ida_loader.qvector_snapshotvec_t.end(): - - end(self) -> qvector< snapshot_t * >::iterator - end(self) -> qvector< snapshot_t * >::const_iterator - - -ida_loader.qvector_snapshotvec_t.erase(): - - erase(self, it) -> qvector< snapshot_t * >::iterator - erase(self, first, last) -> qvector< snapshot_t * >::iterator - - -ida_loader.qvector_snapshotvec_t.extract(): - - extract(self) -> snapshot_t ** - - -ida_loader.qvector_snapshotvec_t.find(): - - find(self, x) -> qvector< snapshot_t * >::iterator - find(self, x) -> qvector< snapshot_t * >::const_iterator - - -ida_loader.qvector_snapshotvec_t.has(): - - has(self, x) -> bool - - -ida_loader.qvector_snapshotvec_t.inject(): - - inject(self, s, len) - - -ida_loader.qvector_snapshotvec_t.insert(): - - insert(self, it, x) -> qvector< snapshot_t * >::iterator - - -ida_loader.qvector_snapshotvec_t.pop_back(): - - pop_back(self) - - -ida_loader.qvector_snapshotvec_t.push_back(): - - push_back(self, x) - push_back(self) -> snapshot_t *& - - -ida_loader.qvector_snapshotvec_t.qclear(): - - qclear(self) - - -ida_loader.qvector_snapshotvec_t.reserve(): - - reserve(self, cnt) - - -ida_loader.qvector_snapshotvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_loader.qvector_snapshotvec_t.size(): - - size(self) -> size_t - - -ida_loader.qvector_snapshotvec_t.swap(): - - swap(self, r) - - -ida_loader.qvector_snapshotvec_t.truncate(): - - truncate(self) - - -ida_loader.reload_file(): - - reload_file(file, is_remote) -> int - - - 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: name of the input file. if file == NULL then returns: - 1: can reload the input file 0: can't reload the input - file (C++: const char *) - @param is_remote: is the file located on a remote computer with the - debugger server? (C++: bool) - - -ida_loader.run_plugin(): - - run_plugin(plg, arg) -> bool - - - Runs a plugin - @param plg: A plugin object (returned by load_plugin()) - @return: Boolean - - -ida_loader.save_database(): - - save_database(outfile, flags, root=None, attr=None) -> bool - - - Save current database using a new file name.when both root and attr - are not NULL then the snapshot attributes will be updated, otherwise - the snapshot attributes will be inherited from the current database. - - @param outfile: output database file name (C++: const char *) - @param flags: Database flags (C++: uint32) - @param root: optional: snapshot tree root. (C++: const snapshot_t *) - @param attr: optional: snapshot attributes (C++: const snapshot_t *) - @return: success - - -ida_loader.set_database_flag(): - - set_database_flag(dbfl, cnd=True) - - - Set or clear database flag - - @param dbfl: flag Database flags (C++: uint32) - @param cnd: set if true or clear flag otherwise (C++: bool) - - -ida_loader.set_path(): - - set_path(pt, path) - - - Set the file path - - @param pt: file path type Types of the file pathes (C++: path_type_t) - @param path: new file path, use NULL or empty string to clear the file - path (C++: const char *) - - -class ida_loader.snapshot_t(): - - Proxy of C++ snapshot_t class - - -ida_loader.snapshot_t.children: - snapshot_t_children_get(self) -> qvector_snapshotvec_t - -ida_loader.snapshot_t.clear(): - - clear(self) - - -ida_loader.snapshot_t.desc: - snapshot_t_desc_get(self) -> char [128] - -ida_loader.snapshot_t.filename: - snapshot_t_filename_get(self) -> char [QMAXPATH] - -ida_loader.snapshot_t.flags: - snapshot_t_flags_get(self) -> uint16 - -ida_loader.snapshot_t.id: - snapshot_t_id_get(self) -> qtime64_t - - -=== ida_loader EPYDOC INJECTIONS === -ida_loader.ACCEPT_ARCHIVE -""" -Specify that a file format is served by archive loader See -'loader_t::accept_file' -""" - -ida_loader.ACCEPT_CONTINUE -""" -Specify that the function must be called another time See -'loader_t::accept_file' -""" - -ida_loader.ACCEPT_FIRST -""" -Specify that a file format should be place first in "load file" dialog -box. See 'loader_t::accept_file' -""" - -ida_loader.DBFL_BAK -""" -create backup file (if !DBFL_KILL) -""" - -ida_loader.DBFL_COMP -""" -collect garbage -""" - -ida_loader.DBFL_KILL -""" -delete unpacked database -""" - -ida_loader.DBFL_TEMP -""" -temporary database -""" - -ida_loader.FILEREG_NOTPATCHABLE -""" -form in the file. - -the data is kept in some encoded -""" - -ida_loader.FILEREG_PATCHABLE -""" -means that the input file may be patched (i.e. no compression, no -iterated data, etc) -""" - -ida_loader.GENFLG_ASMINC -""" - 'OFILE_ASM' , 'OFILE_LST' : gen information only about types -""" - -ida_loader.GENFLG_ASMTYPE -""" - 'OFILE_ASM' , 'OFILE_LST' : gen information about types too -""" - -ida_loader.GENFLG_GENHTML -""" - 'OFILE_ASM' , 'OFILE_LST' : generate html ( 'ui_genfile_callback' -will be used) -""" - -ida_loader.GENFLG_IDCTYPE -""" - 'OFILE_IDC' : gen only information about types -""" - -ida_loader.GENFLG_MAPDMNG -""" - 'OFILE_MAP' : demangle names -""" - -ida_loader.GENFLG_MAPLOC -""" - 'OFILE_MAP' : include local names -""" - -ida_loader.GENFLG_MAPNAME -""" - 'OFILE_MAP' : include dummy names -""" - -ida_loader.GENFLG_MAPSEG -""" - 'OFILE_MAP' : generate map of segments -""" - -ida_loader.LDRF_RELOAD -""" -loader recognizes 'NEF_RELOAD' flag -""" - -ida_loader.LDRF_REQ_PROC -""" -Requires a processor to be set. if this bit is not set, load_file() -must call set_processor_type(..., SETPROC_LOADER) -""" - -ida_loader.MAX_DATABASE_DESCRIPTION -""" -Maximum database snapshot description length. -""" - -ida_loader.NEF_CODE -""" -load as a code segment - -for 'load_binary_file()' : -""" - -ida_loader.NEF_FILL -""" -Fill segment gaps. -""" - -ida_loader.NEF_FIRST -""" -into the database. - -This is the first file loaded -""" - -ida_loader.NEF_FLAT -""" -Autocreate FLAT group (PE) -""" - -ida_loader.NEF_IMPS -""" -Create import segment. -""" - -ida_loader.NEF_LALL -""" -Load all segments without questions. -""" - -ida_loader.NEF_LOPT -""" -Display additional loader options dialog. -""" - -ida_loader.NEF_MAN -""" -Manual load. -""" - -ida_loader.NEF_MINI -""" -Create mini database (do not copy segment bytes from the input file; -use only the file header metadata) -""" - -ida_loader.NEF_NAME -""" -Rename entries. -""" - -ida_loader.NEF_RELOAD -""" -reload the file at the same place: - don't create segmentsdon't create -fixup infodon't import segmentsetc load only the bytes into the base. -a loader should have 'LDRF_RELOAD' bit set -""" - -ida_loader.NEF_RSCS -""" -Load resources. -""" - -ida_loader.NEF_SEGS -""" -Create segments. -""" - -ida_loader.PLUGIN_DLL -""" -Pattern to find plugin files. -""" - -ida_loader.SSF_AUTOMATIC -""" -automatic snapshot -""" - -ida_loader.SSUF_DESC -""" -Update the description. -""" - -ida_loader.SSUF_FLAGS -""" -Update the flags. -""" - -ida_loader.SSUF_PATH -""" -Update the path. -""" -=== ida_loader EPYDOC INJECTIONS END === -class ida_moves.bookmarks_t(): - - Proxy of C++ bookmarks_t class - - -ida_moves.bookmarks_t.erase(): - - erase(e, index, ud) -> bool - - -ida_moves.bookmarks_t.find_index(): - - find_index(e, ud) -> uint32 - - -ida_moves.bookmarks_t.get(): - - get(out_entry, out_desc, index, ud) -> bool - - -ida_moves.bookmarks_t.get_desc(): - - get_desc(e, index, ud) -> bool - - -ida_moves.bookmarks_t.mark(): - - mark(e, index, title, desc, ud) -> uint32 - - -ida_moves.bookmarks_t.size(): - - size(e, ud) -> uint32 - - -ida_moves.bookmarks_t_erase(): - - bookmarks_t_erase(e, index, ud) -> bool - - -ida_moves.bookmarks_t_find_index(): - - bookmarks_t_find_index(e, ud) -> uint32 - - -ida_moves.bookmarks_t_get(): - - bookmarks_t_get(out_entry, out_desc, index, ud) -> bool - - -ida_moves.bookmarks_t_get_desc(): - - bookmarks_t_get_desc(e, index, ud) -> bool - - -ida_moves.bookmarks_t_mark(): - - bookmarks_t_mark(e, index, title, desc, ud) -> uint32 - - -ida_moves.bookmarks_t_size(): - - bookmarks_t_size(e, ud) -> uint32 - - -class ida_moves.graph_location_info_t(): - - Proxy of C++ graph_location_info_t class - - -ida_moves.graph_location_info_t.orgx: - graph_location_info_t_orgx_get(self) -> double - -ida_moves.graph_location_info_t.orgy: - graph_location_info_t_orgy_get(self) -> double - -ida_moves.graph_location_info_t.zoom: - graph_location_info_t_zoom_get(self) -> double - -class ida_moves.lochist_entry_t(): - - Proxy of C++ lochist_entry_t class - - -ida_moves.lochist_entry_t.acquire_place(): - - acquire_place(self, p) - - -ida_moves.lochist_entry_t.is_valid(): - - is_valid(self) -> bool - - -ida_moves.lochist_entry_t.place(): - - place(self) -> place_t - place(self) -> place_t - - -ida_moves.lochist_entry_t.plce: - lochist_entry_t_plce_get(self) -> place_t - -ida_moves.lochist_entry_t.renderer_info(): - - renderer_info(self) -> renderer_info_t - renderer_info(self) -> renderer_info_t - - -ida_moves.lochist_entry_t.rinfo: - lochist_entry_t_rinfo_get(self) -> renderer_info_t - -ida_moves.lochist_entry_t.set_place(): - - set_place(self, p) - - -class ida_moves.lochist_t(): - - Proxy of C++ lochist_t class - - -ida_moves.lochist_t.back(): - - back(self, cnt, try_to_unhide) -> bool - - -ida_moves.lochist_t.clear(): - - clear(self) - - -ida_moves.lochist_t.current_index(): - - current_index(self) -> uint32 - - -ida_moves.lochist_t.fwd(): - - fwd(self, cnt, try_to_unhide) -> bool - - -ida_moves.lochist_t.get(): - - get(self, out, index) -> bool - - -ida_moves.lochist_t.get_current(): - - get_current(self) -> lochist_entry_t - - -ida_moves.lochist_t.get_place_id(): - - get_place_id(self) -> int - - -ida_moves.lochist_t.get_template_place(): - - get_template_place(self) -> place_t - - -ida_moves.lochist_t.init(): - - init(self, stream_name, _defpos, _ud, _flags) -> bool - - -ida_moves.lochist_t.is_history_enabled(): - - is_history_enabled(self) -> bool - - -ida_moves.lochist_t.jump(): - - jump(self, try_to_unhide, e) - - -ida_moves.lochist_t.netcode(): - - netcode(self) -> nodeidx_t - - -ida_moves.lochist_t.save(): - - save(self) - - -ida_moves.lochist_t.seek(): - - seek(self, index, try_to_unhide) -> bool - - -ida_moves.lochist_t.set(): - - set(self, index, e) - - -ida_moves.lochist_t.set_current(): - - set_current(self, e) - - -ida_moves.lochist_t.size(): - - size(self) -> uint32 - - -class ida_moves.renderer_info_pos_t(): - - Proxy of C++ renderer_info_pos_t class - - -ida_moves.renderer_info_pos_t.cx: - renderer_info_pos_t_cx_get(self) -> short - -ida_moves.renderer_info_pos_t.cy: - renderer_info_pos_t_cy_get(self) -> short - -ida_moves.renderer_info_pos_t.node: - renderer_info_pos_t_node_get(self) -> int - -class ida_moves.renderer_info_t(): - - Proxy of C++ renderer_info_t class - - -ida_moves.renderer_info_t.clear(): - - clear(self) - - -ida_moves.renderer_info_t.gli: - renderer_info_t_gli_get(self) -> graph_location_info_t - -ida_moves.renderer_info_t.pos: - renderer_info_t_pos_get(self) -> renderer_info_pos_t - -ida_moves.renderer_info_t.rtype: - renderer_info_t_rtype_get(self) -> tcc_renderer_type_t - -class ida_moves.segm_move_info_t(): - - Proxy of C++ segm_move_info_t class - - -ida_moves.segm_move_info_t.size: - segm_move_info_t_size_get(self) -> size_t - -ida_moves.segm_move_info_t.to: - segm_move_info_t_to_get(self) -> ea_t - -class ida_moves.segm_move_info_vec_t(): - - Proxy of C++ qvector<(segm_move_info_t)> class - - -ida_moves.segm_move_info_vec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_moves.segm_move_info_vec_t.at(): - - at(self, _idx) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.begin(): - - begin(self) -> segm_move_info_t - begin(self) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_moves.segm_move_info_vec_t.clear(): - - clear(self) - - -ida_moves.segm_move_info_vec_t.empty(): - - empty(self) -> bool - - -ida_moves.segm_move_info_vec_t.end(): - - end(self) -> segm_move_info_t - end(self) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.erase(): - - erase(self, it) -> segm_move_info_t - erase(self, first, last) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.extract(): - - extract(self) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.find(): - - find(self, x) -> segm_move_info_t - find(self, x) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.grow(): - - grow(self, x=segm_move_info_t()) - - -ida_moves.segm_move_info_vec_t.has(): - - has(self, x) -> bool - - -ida_moves.segm_move_info_vec_t.inject(): - - inject(self, s, len) - - -ida_moves.segm_move_info_vec_t.insert(): - - insert(self, it, x) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.pop_back(): - - pop_back(self) - - -ida_moves.segm_move_info_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> segm_move_info_t - - -ida_moves.segm_move_info_vec_t.qclear(): - - qclear(self) - - -ida_moves.segm_move_info_vec_t.reserve(): - - reserve(self, cnt) - - -ida_moves.segm_move_info_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_moves.segm_move_info_vec_t.size(): - - size(self) -> size_t - - -ida_moves.segm_move_info_vec_t.swap(): - - swap(self, r) - - -ida_moves.segm_move_info_vec_t.truncate(): - - truncate(self) - - -class ida_moves.segm_move_infos_t(): - - Proxy of C++ segm_move_infos_t class - - -ida_moves.segm_move_infos_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_moves.segm_move_infos_t.at(): - - at(self, _idx) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.begin(): - - begin(self) -> segm_move_info_t - begin(self) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.capacity(): - - capacity(self) -> size_t - - -ida_moves.segm_move_infos_t.clear(): - - clear(self) - - -ida_moves.segm_move_infos_t.empty(): - - empty(self) -> bool - - -ida_moves.segm_move_infos_t.end(): - - end(self) -> segm_move_info_t - end(self) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.erase(): - - erase(self, it) -> segm_move_info_t - erase(self, first, last) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.extract(): - - extract(self) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.find(): - - find(self, ea) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.grow(): - - grow(self, x=segm_move_info_t()) - - -ida_moves.segm_move_infos_t.has(): - - has(self, x) -> bool - - -ida_moves.segm_move_infos_t.inject(): - - inject(self, s, len) - - -ida_moves.segm_move_infos_t.insert(): - - insert(self, it, x) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.pop_back(): - - pop_back(self) - - -ida_moves.segm_move_infos_t.push_back(): - - push_back(self, x) - push_back(self) -> segm_move_info_t - - -ida_moves.segm_move_infos_t.qclear(): - - qclear(self) - - -ida_moves.segm_move_infos_t.reserve(): - - reserve(self, cnt) - - -ida_moves.segm_move_infos_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_moves.segm_move_infos_t.size(): - - size(self) -> size_t - - -ida_moves.segm_move_infos_t.swap(): - - swap(self, r) - - -ida_moves.segm_move_infos_t.truncate(): - - truncate(self) - - -ida_nalt.add_encoding(): - - add_encoding(encoding) -> int - - - Add a new encoding (e.g. "UTF-8"). - - @param encoding (C++: const char *) - @return: its index (1-based) if it's already in the list, return its - index - - -class ida_nalt.array_parameters_t(): - - Proxy of C++ array_parameters_t class - - -ida_nalt.array_parameters_t.alignment: - array_parameters_t_alignment_get(self) -> int32 - -ida_nalt.array_parameters_t.flags: - array_parameters_t_flags_get(self) -> int32 - -ida_nalt.array_parameters_t.lineitems: - array_parameters_t_lineitems_get(self) -> int32 - -ida_nalt.clr__bnot0(): - - clr__bnot0(ea) - - -ida_nalt.clr__bnot1(): - - clr__bnot1(ea) - - -ida_nalt.clr__invsign0(): - - clr__invsign0(ea) - - -ida_nalt.clr__invsign1(): - - clr__invsign1(ea) - - -ida_nalt.clr_abits(): - - clr_abits(ea, bits) - - -ida_nalt.clr_align_flow(): - - clr_align_flow(ea) - - -ida_nalt.clr_colored_item(): - - clr_colored_item(ea) - - -ida_nalt.clr_fixed_spd(): - - clr_fixed_spd(ea) - - -ida_nalt.clr_has_lname(): - - clr_has_lname(ea) - - -ida_nalt.clr_has_ti(): - - clr_has_ti(ea) - - -ida_nalt.clr_has_ti0(): - - clr_has_ti0(ea) - - -ida_nalt.clr_has_ti1(): - - clr_has_ti1(ea) - - -ida_nalt.clr_libitem(): - - clr_libitem(ea) - - -ida_nalt.clr_lzero0(): - - clr_lzero0(ea) - - -ida_nalt.clr_lzero1(): - - clr_lzero1(ea) - - -ida_nalt.clr_noret(): - - clr_noret(ea) - - -ida_nalt.clr_notcode(): - - clr_notcode(ea) - - - Clear not-code mark. - - - @param ea (C++: ea_t) - - -ida_nalt.clr_notproc(): - - clr_notproc(ea) - - -ida_nalt.clr_retfp(): - - clr_retfp(ea) - - -ida_nalt.clr_terse_struc(): - - clr_terse_struc(ea) - - -ida_nalt.clr_tilcmt(): - - clr_tilcmt(ea) - - -ida_nalt.clr_usemodsp(): - - clr_usemodsp(ea) - - -ida_nalt.clr_usersp(): - - clr_usersp(ea) - - -ida_nalt.clr_userti(): - - clr_userti(ea) - - -ida_nalt.clr_zstroff(): - - clr_zstroff(ea) - - -class ida_nalt.custom_data_type_ids_fids_array(): - - Proxy of C++ wrapped_array_t<(int16,8)> class - - -ida_nalt.custom_data_type_ids_fids_array.data: - custom_data_type_ids_fids_array_data_get(self) -> short (&)[8] - -class ida_nalt.custom_data_type_ids_t(): - - Proxy of C++ custom_data_type_ids_t class - - -ida_nalt.custom_data_type_ids_t.dtid: - custom_data_type_ids_t_dtid_get(self) -> int16 - -ida_nalt.custom_data_type_ids_t.fids: - - __getFids(self) -> custom_data_type_ids_fids_array - - -ida_nalt.dbg_get_input_path(): - - dbg_get_input_path() -> ssize_t - - - Get debugger input file name/path (see 'LFLG_DBG_NOPATH' ) - - -ida_nalt.del_absbase(): - - del_absbase(ea) - - -ida_nalt.del_aflags(): - - del_aflags(ea) - - -ida_nalt.del_alignment(): - - del_alignment(ea) - - -ida_nalt.del_array_parameters(): - - del_array_parameters(ea) - - -ida_nalt.del_custom_data_type_ids(): - - del_custom_data_type_ids(ea) - - -ida_nalt.del_encoding(): - - del_encoding(idx) -> bool - - - Delete an encoding (1-based) - - - @param idx (C++: int) - - -ida_nalt.del_ind_purged(): - - del_ind_purged(ea) - - -ida_nalt.del_item_color(): - - del_item_color(ea) -> bool - - -ida_nalt.del_op_tinfo(): - - del_op_tinfo(ea, n) - - -ida_nalt.del_refinfo(): - - del_refinfo(ea, n) -> bool - - -ida_nalt.del_source_linnum(): - - del_source_linnum(ea) - - -ida_nalt.del_str_type(): - - del_str_type(ea) - - -ida_nalt.del_switch_info(): - - del_switch_info(ea) - - -ida_nalt.del_switch_parent(): - - del_switch_parent(ea) - - -ida_nalt.del_tinfo(): - - del_tinfo(ea) - - -ida_nalt.delete_imports(): - - delete_imports() - - - Delete all imported modules information. - - -ida_nalt.ea2node(): - - ea2node(ea) -> nodeidx_t - - - Get netnode for the specified address. - - - @param ea (C++: ea_t) - - -ida_nalt.encoding_from_strtype(): - - encoding_from_strtype(strtype) -> char const * - - - Get encoding name for this strtype. - - - @param strtype (C++: int32) - - -class ida_nalt.enum_const_t(): - - Proxy of C++ enum_const_t class - - -ida_nalt.enum_const_t.serial: - enum_const_t_serial_get(self) -> uchar - -ida_nalt.enum_const_t.tid: - enum_const_t_tid_get(self) -> tid_t - -ida_nalt.enum_import_names(): - - enum_import_names(mod_index, py_cb) -> int - - - Enumerate imports from a specific module. - Please refer to ex_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) - - -ida_nalt.find_custom_refinfo(): - - find_custom_refinfo(name) -> int - - - Get id of a custom refinfo type. - - - @param name (C++: const char *) - - -ida_nalt.get_absbase(): - - get_absbase(ea) -> ea_t - - -ida_nalt.get_aflags(): - - get_aflags(ea) -> uint32 - - -ida_nalt.get_alignment(): - - get_alignment(ea) -> uint32 - - -ida_nalt.get_archive_path(): - - get_archive_path() -> ssize_t - - - Get archive file path from which input file was extracted. - - -ida_nalt.get_array_parameters(): - - get_array_parameters(out, ea) -> ssize_t - - -ida_nalt.get_asm_inc_file(): - - get_asm_inc_file() -> ssize_t - - - Get name of the include file. - - -ida_nalt.get_custom_data_type_ids(): - - get_custom_data_type_ids(cdis, ea) -> int - - -ida_nalt.get_custom_refinfo(): - - get_custom_refinfo(crid) -> custom_refinfo_handler_t const * - - - Get definition of a registered custom refinfo type. - - - @param crid (C++: int) - - -ida_nalt.get_default_encoding_idx(): - - get_default_encoding_idx(bpu) -> int - - - Get default encoding index for a specific string type. - - @param bpu: the amount of bytes per unit (e.g., 1 for ASCII, CP1252, - UTF-8..., 2 for UTF-16, 4 for UTF-32) 0 means no specific - encoding is set - byte values are displayed without - conversion. (C++: int) - - -ida_nalt.get_encoding_bpu(): - - 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: the encoding index (C++: int) - @return: the number of bytes per units (1/2/4); -1 means error - - -ida_nalt.get_encoding_name(): - - get_encoding_name(idx) -> char const * - - - Get encoding name for specific index (1-based). - - @param idx (C++: int) - @return: NULL if idx is out of bounds - - -ida_nalt.get_encoding_qty(): - - get_encoding_qty() -> int - - - Get total number of encodings (counted from 0) - - -ida_nalt.get_gotea(): - - get_gotea() -> ea_t - - -ida_nalt.get_ids_modnode(): - - get_ids_modnode() -> netnode - - - Get ids modnode. - - -ida_nalt.get_imagebase(): - - get_imagebase() -> ea_t - - - Get image base address. - - -ida_nalt.get_import_module_name(): - - get_import_module_name(mod_index) -> PyObject * - - - Returns the name of an imported module given its index - @return: None or the module name - - -ida_nalt.get_import_module_qty(): - - get_import_module_qty() -> uint - - - Get number of import modules. - - -ida_nalt.get_ind_purged(): - - get_ind_purged(ea) -> ea_t - - -ida_nalt.get_input_file_path(): - - get_input_file_path() -> ssize_t - - - Get full path of the input file. - - -ida_nalt.get_item_color(): - - get_item_color(ea) -> bgcolor_t - - -ida_nalt.get_op_tinfo(): - - get_op_tinfo(tif, ea, n) -> bool - - -ida_nalt.get_outfile_encoding_idx(): - - get_outfile_encoding_idx() -> int - - - Get the index of the encoding used when producing files 0 means no - that the IDB's default 1 byte-per-unit encoding is used - - -ida_nalt.get_refinfo(): - - get_refinfo(ri, ea, n) -> bool - - -ida_nalt.get_reftype_by_size(): - - 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) - - -ida_nalt.get_root_filename(): - - get_root_filename() -> ssize_t - - - Get file name only of the input file. - - -ida_nalt.get_source_linnum(): - - get_source_linnum(ea) -> uval_t - - -ida_nalt.get_str_encoding_idx(): - - get_str_encoding_idx(strtype) -> uchar - - - Get index of the string encoding for this string. - - - @param strtype (C++: int32) - - -ida_nalt.get_str_term1(): - - get_str_term1(strtype) -> char - - -ida_nalt.get_str_term2(): - - get_str_term2(strtype) -> char - - -ida_nalt.get_str_type(): - - get_str_type(ea) -> uint32 - - -ida_nalt.get_str_type_code(): - - get_str_type_code(strtype) -> uchar - - -ida_nalt.get_strtype_bpu(): - - get_strtype_bpu(strtype) -> int - - -ida_nalt.get_switch_parent(): - - get_switch_parent(ea) -> ea_t - - -ida_nalt.get_tinfo(): - - get_tinfo(tif, ea) -> bool - - -ida_nalt.getnode(): - - getnode(ea) -> netnode - - -ida_nalt.has_lname(): - - has_lname(ea) -> bool - - -ida_nalt.has_ti(): - - has_ti(ea) -> bool - - -ida_nalt.has_ti0(): - - has_ti0(ea) -> bool - - -ida_nalt.has_ti1(): - - has_ti1(ea) -> bool - - -ida_nalt.hide_border(): - - hide_border(ea) - - -ida_nalt.hide_item(): - - hide_item(ea) - - -ida_nalt.is__bnot0(): - - is__bnot0(ea) -> bool - - -ida_nalt.is__bnot1(): - - is__bnot1(ea) -> bool - - -ida_nalt.is__invsign0(): - - is__invsign0(ea) -> bool - - -ida_nalt.is__invsign1(): - - is__invsign1(ea) -> bool - - -ida_nalt.is_align_flow(): - - is_align_flow(ea) -> bool - - -ida_nalt.is_colored_item(): - - is_colored_item(ea) -> bool - - -ida_nalt.is_finally_visible_item(): - - is_finally_visible_item(ea) -> bool - - - Is instruction visible? - - - @param ea (C++: ea_t) - - -ida_nalt.is_fixed_spd(): - - is_fixed_spd(ea) -> bool - - -ida_nalt.is_hidden_border(): - - is_hidden_border(ea) -> bool - - -ida_nalt.is_hidden_item(): - - is_hidden_item(ea) -> bool - - -ida_nalt.is_libitem(): - - is_libitem(ea) -> bool - - -ida_nalt.is_lzero0(): - - is_lzero0(ea) -> bool - - -ida_nalt.is_lzero1(): - - is_lzero1(ea) -> bool - - -ida_nalt.is_noret(): - - is_noret(ea) -> bool - - -ida_nalt.is_notcode(): - - is_notcode(ea) -> bool - - - Is the address marked as not-code? - - - @param ea (C++: ea_t) - - -ida_nalt.is_notproc(): - - is_notproc(ea) -> bool - - -ida_nalt.is_pascal(): - - is_pascal(strtype) -> bool - - -ida_nalt.is_reftype_target_optional(): - - is_reftype_target_optional(type) -> bool - - - Can the target be calculated using operand value? - - - @param type (C++: reftype_t) - - -ida_nalt.is_retfp(): - - is_retfp(ea) -> bool - - -ida_nalt.is_terse_struc(): - - is_terse_struc(ea) -> bool - - -ida_nalt.is_tilcmt(): - - is_tilcmt(ea) -> bool - - -ida_nalt.is_usersp(): - - is_usersp(ea) -> bool - - -ida_nalt.is_userti(): - - is_userti(ea) -> bool - - -ida_nalt.is_visible_item(): - - is_visible_item(ea) -> bool - - - Test visibility of item at given ea. - - - @param ea (C++: ea_t) - - -ida_nalt.is_zstroff(): - - is_zstroff(ea) -> bool - - -ida_nalt.node2ea(): - - node2ea(ndx) -> ea_t - - -class ida_nalt.opinfo_t(): - - Proxy of C++ opinfo_t class - - -ida_nalt.opinfo_t.cd: - opinfo_t_cd_get(self) -> custom_data_type_ids_t - -ida_nalt.opinfo_t.ec: - opinfo_t_ec_get(self) -> enum_const_t - -ida_nalt.opinfo_t.path: - opinfo_t_path_get(self) -> strpath_t - -ida_nalt.opinfo_t.ri: - opinfo_t_ri_get(self) -> refinfo_t - -ida_nalt.opinfo_t.strtype: - opinfo_t_strtype_get(self) -> int32 - -ida_nalt.opinfo_t.tid: - opinfo_t_tid_get(self) -> tid_t - -class ida_nalt.printop_t(): - - Proxy of C++ printop_t class - - -ida_nalt.printop_t.flags: - printop_t_flags_get(self) -> flags_t - -ida_nalt.printop_t.get_ti(): - - get_ti(self) -> opinfo_t - - -ida_nalt.printop_t.is_ti_valid: - printop_t_is_ti_valid_get(self) -> bool - -ida_nalt.printop_t.suspop: - printop_t_suspop_get(self) -> int - -ida_nalt.printop_t.ti: - printop_t_ti_get(self) -> opinfo_t - -class ida_nalt.refinfo_t(): - - Proxy of C++ refinfo_t class - - -ida_nalt.refinfo_t.base: - refinfo_t_base_get(self) -> ea_t - -ida_nalt.refinfo_t.flags: - refinfo_t_flags_get(self) -> uint32 - -ida_nalt.refinfo_t.init(): - - init(self, reft_and_flags, _base=0, _target=BADADDR, _tdelta=0) - - -ida_nalt.refinfo_t.is_custom(): - - is_custom(self) -> bool - - -ida_nalt.refinfo_t.is_pastend(): - - is_pastend(self) -> bool - - -ida_nalt.refinfo_t.is_rvaoff(): - - is_rvaoff(self) -> bool - - -ida_nalt.refinfo_t.is_signed(): - - is_signed(self) -> bool - - -ida_nalt.refinfo_t.is_subtract(): - - is_subtract(self) -> bool - - -ida_nalt.refinfo_t.is_target_optional(): - - is_target_optional(self) -> bool - - -ida_nalt.refinfo_t.no_base_xref(): - - no_base_xref(self) -> bool - - -ida_nalt.refinfo_t.set_type(): - - set_type(self, t) - - -ida_nalt.refinfo_t.target: - refinfo_t_target_get(self) -> ea_t - -ida_nalt.refinfo_t.tdelta: - refinfo_t_tdelta_get(self) -> adiff_t - -ida_nalt.refinfo_t.type(): - - type(self) -> reftype_t - - -ida_nalt.rename_encoding(): - - rename_encoding(idx, encoding) -> bool - - - Change name for an encoding (1-based) - - - @param idx (C++: int) - @param encoding (C++: const char *) - - -ida_nalt.retrieve_input_file_crc32(): - - 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. - - -ida_nalt.retrieve_input_file_md5(): - - retrieve_input_file_md5() -> bool - - - Get input file md5. - - -ida_nalt.retrieve_input_file_sha256(): - - retrieve_input_file_sha256() -> bool - - - Get input file sha256. - - -ida_nalt.retrieve_input_file_size(): - - retrieve_input_file_size() -> uint32 - - - Get size of input file in bytes. - - -ida_nalt.set__bnot0(): - - set__bnot0(ea) - - -ida_nalt.set__bnot1(): - - set__bnot1(ea) - - -ida_nalt.set__invsign0(): - - set__invsign0(ea) - - -ida_nalt.set__invsign1(): - - set__invsign1(ea) - - -ida_nalt.set_abits(): - - set_abits(ea, bits) - - -ida_nalt.set_absbase(): - - set_absbase(ea, x) - - -ida_nalt.set_aflags(): - - set_aflags(ea, flags) - - -ida_nalt.set_align_flow(): - - set_align_flow(ea) - - -ida_nalt.set_alignment(): - - set_alignment(ea, x) - - -ida_nalt.set_archive_path(): - - set_archive_path(file) -> bool - - - Set archive file path from which input file was extracted. - - - @param file (C++: const char *) - - -ida_nalt.set_array_parameters(): - - set_array_parameters(ea, _in) - - -ida_nalt.set_asm_inc_file(): - - set_asm_inc_file(file) -> bool - - - Set name of the include file. - - - @param file (C++: const char *) - - -ida_nalt.set_colored_item(): - - set_colored_item(ea) - - -ida_nalt.set_custom_data_type_ids(): - - set_custom_data_type_ids(ea, cdis) - - -ida_nalt.set_default_encoding_idx(): - - set_default_encoding_idx(bpu, idx) -> bool - - - set default encoding for a string type - - @param bpu: the amount of bytes per unit (C++: int) - @param idx: the encoding index idx can be 0 to disable encoding - conversion (C++: int) - - -ida_nalt.set_fixed_spd(): - - set_fixed_spd(ea) - - -ida_nalt.set_gotea(): - - set_gotea(gotea) - - -ida_nalt.set_has_lname(): - - set_has_lname(ea) - - -ida_nalt.set_has_ti(): - - set_has_ti(ea) - - -ida_nalt.set_has_ti0(): - - set_has_ti0(ea) - - -ida_nalt.set_has_ti1(): - - set_has_ti1(ea) - - -ida_nalt.set_ids_modnode(): - - set_ids_modnode(id) - - - Set ids modnode. - - - @param id (C++: netnode) - - -ida_nalt.set_imagebase(): - - set_imagebase(base) - - - Set image base address. - - - @param base (C++: ea_t) - - -ida_nalt.set_item_color(): - - set_item_color(ea, color) - - -ida_nalt.set_libitem(): - - set_libitem(ea) - - -ida_nalt.set_lzero0(): - - set_lzero0(ea) - - -ida_nalt.set_lzero1(): - - set_lzero1(ea) - - -ida_nalt.set_noret(): - - set_noret(ea) - - -ida_nalt.set_notcode(): - - set_notcode(ea) - - - Mark address so that it cannot be converted to instruction. - - - @param ea (C++: ea_t) - - -ida_nalt.set_notproc(): - - set_notproc(ea) - - -ida_nalt.set_op_tinfo(): - - set_op_tinfo(ea, n, tif) -> bool - - -ida_nalt.set_outfile_encoding_idx(): - - set_outfile_encoding_idx(idx) -> bool - - - set encoding to be used when producing files - - @param idx: the encoding index idx can be 0 to use the IDB's default 1 - -byte-per-unit encoding (C++: int) - - -ida_nalt.set_refinfo(): - - set_refinfo(ea, n, type, target=BADADDR, base=0, tdelta=0) -> bool - - -ida_nalt.set_refinfo_ex(): - - set_refinfo_ex(ea, n, ri) -> bool - - -ida_nalt.set_retfp(): - - set_retfp(ea) - - -ida_nalt.set_root_filename(): - - set_root_filename(file) - - - Set full path of the input file. - - - @param file (C++: const char *) - - -ida_nalt.set_source_linnum(): - - set_source_linnum(ea, lnnum) - - -ida_nalt.set_str_type(): - - set_str_type(ea, x) - - -ida_nalt.set_switch_info(): - - set_switch_info(ea, _in) - - -ida_nalt.set_switch_parent(): - - set_switch_parent(ea, x) - - -ida_nalt.set_terse_struc(): - - set_terse_struc(ea) - - -ida_nalt.set_tilcmt(): - - set_tilcmt(ea) - - -ida_nalt.set_tinfo(): - - set_tinfo(ea, tif) -> bool - - -ida_nalt.set_usemodsp(): - - set_usemodsp(ea) - - -ida_nalt.set_usersp(): - - set_usersp(ea) - - -ida_nalt.set_userti(): - - set_userti(ea) - - -ida_nalt.set_visible_item(): - - set_visible_item(ea, visible) - - - Change visibility of item at given ea. - - - @param ea (C++: ea_t) - @param visible (C++: bool) - - -ida_nalt.set_zstroff(): - - set_zstroff(ea) - - -class ida_nalt.strpath_ids_array(): - - Proxy of C++ wrapped_array_t<(tid_t,32)> class - - -class ida_nalt.strpath_t(): - - Proxy of C++ strpath_t class - - -ida_nalt.strpath_t.delta: - strpath_t_delta_get(self) -> adiff_t - -ida_nalt.strpath_t.ids: - - __getIds(self) -> strpath_ids_array - - -ida_nalt.strpath_t.len: - strpath_t_len_get(self) -> int - -class ida_nalt.switch_info_t(): - - Proxy of C++ switch_info_t class - - -ida_nalt.switch_info_t.assign(): - - assign(self, other) - - -ida_nalt.switch_info_t.clear(): - - clear(self) - - -ida_nalt.switch_info_t.custom: - switch_info_t_custom_get(self) -> uval_t - -ida_nalt.switch_info_t.defjump: - switch_info_t_defjump_get(self) -> ea_t - -ida_nalt.switch_info_t.elbase: - switch_info_t_elbase_get(self) -> ea_t - -ida_nalt.switch_info_t.expr_ea: - switch_info_t_expr_ea_get(self) -> ea_t - -ida_nalt.switch_info_t.flags: - switch_info_t_flags_get(self) -> uint32 - -ida_nalt.switch_info_t.get_jrange_vrange(): - - get_jrange_vrange(self, jrange=None, vrange=None) -> bool - - -ida_nalt.switch_info_t.get_jtable_element_size(): - - get_jtable_element_size(self) -> int - - -ida_nalt.switch_info_t.get_jtable_size(): - - get_jtable_size(self) -> int - - -ida_nalt.switch_info_t.get_lowcase(): - - get_lowcase(self) -> sval_t - - -ida_nalt.switch_info_t.get_shift(): - - get_shift(self) -> int - - -ida_nalt.switch_info_t.get_version(): - - get_version(self) -> int - - -ida_nalt.switch_info_t.get_vtable_element_size(): - - get_vtable_element_size(self) -> int - - -ida_nalt.switch_info_t.has_default(): - - has_default(self) -> bool - - -ida_nalt.switch_info_t.has_elbase(): - - has_elbase(self) -> bool - - -ida_nalt.switch_info_t.ind_lowcase: - switch_info_t_ind_lowcase_get(self) -> sval_t - -ida_nalt.switch_info_t.is_custom(): - - is_custom(self) -> bool - - -ida_nalt.switch_info_t.is_indirect(): - - is_indirect(self) -> bool - - -ida_nalt.switch_info_t.is_nolowcase(): - - is_nolowcase(self) -> bool - - -ida_nalt.switch_info_t.is_sparse(): - - is_sparse(self) -> bool - - -ida_nalt.switch_info_t.is_subtract(): - - is_subtract(self) -> bool - - -ida_nalt.switch_info_t.jcases: - switch_info_t_jcases_get(self) -> int - -ida_nalt.switch_info_t.jumps: - switch_info_t_jumps_get(self) -> ea_t - -ida_nalt.switch_info_t.lowcase: - - _get_values_lowcase(self) -> ea_t - - -ida_nalt.switch_info_t.marks: - switch_info_t_marks_get(self) -> eavec_t * - -ida_nalt.switch_info_t.ncases: - switch_info_t_ncases_get(self) -> ushort - -ida_nalt.switch_info_t.regdtype: - switch_info_t_regdtype_get(self) -> op_dtype_t - -ida_nalt.switch_info_t.regnum: - switch_info_t_regnum_get(self) -> int - -ida_nalt.switch_info_t.set_expr(): - - set_expr(self, r, dt) - - -ida_nalt.switch_info_t.set_jtable_element_size(): - - set_jtable_element_size(self, size) - - -ida_nalt.switch_info_t.set_jtable_size(): - - set_jtable_size(self, size) - - -ida_nalt.switch_info_t.set_shift(): - - set_shift(self, shift) - - -ida_nalt.switch_info_t.set_vtable_element_size(): - - set_vtable_element_size(self, size) - - -ida_nalt.switch_info_t.startea: - switch_info_t_startea_get(self) -> ea_t - -ida_nalt.switch_info_t.use_std_table(): - - use_std_table(self) -> bool - - -ida_nalt.switch_info_t.values: - - _get_values_lowcase(self) -> ea_t - - -ida_nalt.switch_info_t__from_ptrval__(): - - switch_info_t__from_ptrval__(ptrval) -> switch_info_t - - -ida_nalt.unhide_border(): - - unhide_border(ea) - - -ida_nalt.unhide_item(): - - unhide_item(ea) - - -ida_nalt.uses_modsp(): - - uses_modsp(ea) -> bool - - -ida_nalt.validate_idb_names(): - - validate_idb_names(do_repair) -> int - - - -=== ida_nalt EPYDOC INJECTIONS === -ida_nalt.AFL_ALIGNFLOW -""" -the previous insn was created for alignment purposes only -""" - -ida_nalt.AFL_BNOT0 -""" -the 1st operand is bitwise negated -""" - -ida_nalt.AFL_BNOT1 -""" -the 2nd operand is bitwise negated -""" - -ida_nalt.AFL_COLORED -""" -has user defined instruction color? -""" - -ida_nalt.AFL_FIXEDSPD -""" -should not be modified by modules - -sp delta value is fixed by analysis. -""" - -ida_nalt.AFL_HIDDEN -""" -the item is hidden completely -""" - -ida_nalt.AFL_LIB -""" -item from the standard library. low level flag, is used to set -'FUNC_LIB' of 'func_t' -""" - -ida_nalt.AFL_LINNUM -""" -has line number info -""" - -ida_nalt.AFL_LNAME -""" -has local name too ( 'FF_NAME' should be set) -""" - -ida_nalt.AFL_LZERO0 -""" -toggle leading zeroes for the 1st operand -""" - -ida_nalt.AFL_LZERO1 -""" -toggle leading zeroes for the 2nd operand -""" - -ida_nalt.AFL_MANUAL -""" -the instruction/data is specified by the user -""" - -ida_nalt.AFL_NOBRD -""" -the code/data border is hidden -""" - -ida_nalt.AFL_NORET -""" -for imported function pointers: doesn't return. this flag can also be -used for any instruction which halts or finishes the program execution -""" - -ida_nalt.AFL_NOTCODE -""" -autoanalysis should not create code here -""" - -ida_nalt.AFL_NOTPROC -""" -autoanalysis should not create proc here -""" - -ida_nalt.AFL_PUBNAM -""" -name is public (inter-file linkage) -""" - -ida_nalt.AFL_RETFP -""" -function returns a floating point value -""" - -ida_nalt.AFL_SIGN0 -""" -code: toggle sign of the 1st operand -""" - -ida_nalt.AFL_SIGN1 -""" -code: toggle sign of the 2nd operand -""" - -ida_nalt.AFL_TERSESTR -""" -terse structure variable display? -""" - -ida_nalt.AFL_TI -""" -has typeinfo? ( 'NSUP_TYPEINFO' ) -""" - -ida_nalt.AFL_TI0 -""" -has typeinfo for operand 0? ( 'NSUP_OPTYPES' ) -""" - -ida_nalt.AFL_TI1 -""" -has typeinfo for operand 1? ( 'NSUP_OPTYPES' +1) -""" - -ida_nalt.AFL_TILCMT -""" -has type comment? (such a comment may be changed by IDA) -""" - -ida_nalt.AFL_USEMODSP -""" -example: pop [rsp+N] - -insn modifes SP and uses the modified value -""" - -ida_nalt.AFL_USERSP -""" -user-defined SP value -""" - -ida_nalt.AFL_USERTI -""" -(comes from the user or type library) - -the type information is definitive. -""" - -ida_nalt.AFL_WEAKNAM -""" -name is weak -""" - -ida_nalt.AFL_ZSTROFF -""" -display struct field name at 0 offset when displaying an offset. -example: \\v{offset somestruct.field_0} if this flag is clear, then -\\v{offset somestruct} -""" - -ida_nalt.AP_ALLOWDUPS -""" -use 'dup' construct -""" - -ida_nalt.AP_ARRAY -""" -create as array (this flag is not stored in database) -""" - -ida_nalt.AP_IDXBASEMASK -""" -mask for number base of the indexes -""" - -ida_nalt.AP_IDXBIN -""" -display indexes in binary -""" - -ida_nalt.AP_IDXDEC -""" -display indexes in decimal -""" - -ida_nalt.AP_IDXHEX -""" -display indexes in hex -""" - -ida_nalt.AP_IDXOCT -""" -display indexes in octal -""" - -ida_nalt.AP_INDEX -""" -display array element indexes as comments -""" - -ida_nalt.AP_SIGNED -""" -treats numbers as signed -""" - -ida_nalt.MAXSTRUCPATH -""" -maximal inclusion depth of unions -""" - -ida_nalt.NALT_ABSBASE -""" -absolute segment location -""" - -ida_nalt.NALT_AFLAGS -""" -additional flags for an item -""" - -ida_nalt.NALT_ALIGN -""" -(should by equal to power of 2) - -alignment value if the item is 'FF_ALIGN' -""" - -ida_nalt.NALT_COLOR -""" -instruction/data background color -""" - -ida_nalt.NALT_CREF_FROM -""" -code xref from, idx: source address -""" - -ida_nalt.NALT_CREF_TO -""" -code xref to, idx: target address -""" - -ida_nalt.NALT_DREF_FROM -""" -data xref from, idx: source address -""" - -ida_nalt.NALT_DREF_TO -""" -data xref to, idx: target address -""" - -ida_nalt.NALT_ENUM0 -""" -enum id for the first operand -""" - -ida_nalt.NALT_ENUM1 -""" -enum id for the second operand -""" - -ida_nalt.NALT_GR_LAYX -""" -group layout ptrs, hash: md5 of 'belongs' -""" - -ida_nalt.NALT_LINNUM -""" -source line number -""" - -ida_nalt.NALT_PURGE -""" -number of bytes purged from the stack when a function is called -indirectly -""" - -ida_nalt.NALT_STRTYPE -""" -type of string item -""" - -ida_nalt.NALT_STRUCT -""" -struct id -""" - -ida_nalt.NALT_SWITCH -""" -switch idiom address (used at jump targets) -""" - -ida_nalt.NSUP_ARGEAS -""" -instructions that initialize call arguments -""" - -ida_nalt.NSUP_ARRAY -""" -array parameters -""" - -ida_nalt.NSUP_CMT -""" -regular comment -""" - -ida_nalt.NSUP_CUSTDT -""" -custom data type id -""" - -ida_nalt.NSUP_FOP1 -""" -forced operand 1 -""" - -ida_nalt.NSUP_FOP2 -""" -forced operand 2 -""" - -ida_nalt.NSUP_FOP3 -""" -forced operand 3 -""" - -ida_nalt.NSUP_FOP4 -""" -forced operand 4 -""" - -ida_nalt.NSUP_FOP5 -""" -forced operand 5 -""" - -ida_nalt.NSUP_FOP6 -""" -forced operand 6 -""" - -ida_nalt.NSUP_FOP7 -""" -forced operand 7 -""" - -ida_nalt.NSUP_FOP8 -""" -forced operand 8 -""" - -ida_nalt.NSUP_FTAILS -""" -function tails or tail referers values NSUP_FTAILS..NSUP_FTAILS+0x1000 -are reserved -""" - -ida_nalt.NSUP_GROUP -""" -graph group information values NSUP_GROUP..NSUP_GROUP+0x1000 are -reserved -""" - -ida_nalt.NSUP_GROUPS -""" -SEG_GRP: pack_dd encoded list of selectors. -""" - -ida_nalt.NSUP_GR_INFO -""" -group node info: color, ea, text -""" - -ida_nalt.NSUP_GR_LAYT -""" -group layouts, idx: layout pointer -""" - -ida_nalt.NSUP_JINFO -""" -jump table info -""" - -ida_nalt.NSUP_LLABEL -""" -local labels. values NSUP_LLABEL..NSUP_LLABEL+0x1000 are reserved -""" - -ida_nalt.NSUP_MANUAL -""" -manual instruction. values NSUP_MANUAL..NSUP_MANUAL+0x1000 are -reserved -""" - -ida_nalt.NSUP_OMFGRP -""" -OMF: group of segments (not used anymore) -""" - -ida_nalt.NSUP_OPTYPES -""" -operand type information. values NSUP_OPTYPES..NSUP_OPTYPES+0x100000 -are reserved -""" - -ida_nalt.NSUP_OREF0 -""" -outer complex reference information for operand 1 -""" - -ida_nalt.NSUP_OREF1 -""" -outer complex reference information for operand 2 -""" - -ida_nalt.NSUP_OREF2 -""" -outer complex reference information for operand 3 -""" - -ida_nalt.NSUP_OREF3 -""" -outer complex reference information for operand 4 -""" - -ida_nalt.NSUP_OREF4 -""" -outer complex reference information for operand 5 -""" - -ida_nalt.NSUP_OREF5 -""" -outer complex reference information for operand 6 -""" - -ida_nalt.NSUP_OREF6 -""" -outer complex reference information for operand 7 -""" - -ida_nalt.NSUP_OREF7 -""" -outer complex reference information for operand 8 -""" - -ida_nalt.NSUP_ORIGFMD -""" -function metadata before lumina information was applied values -NSUP_ORIGFMD..NSUP_ORIGFMD+0x1000 are reserved -""" - -ida_nalt.NSUP_POINTS -""" -SP change points blob (see funcs.cpp). values -NSUP_POINTS..NSUP_POINTS+0x1000 are reserved -""" - -ida_nalt.NSUP_REF0 -""" -complex reference information for operand 1 -""" - -ida_nalt.NSUP_REF1 -""" -complex reference information for operand 2 -""" - -ida_nalt.NSUP_REF2 -""" -complex reference information for operand 3 -""" - -ida_nalt.NSUP_REF3 -""" -complex reference information for operand 4 -""" - -ida_nalt.NSUP_REF4 -""" -complex reference information for operand 5 -""" - -ida_nalt.NSUP_REF5 -""" -complex reference information for operand 6 -""" - -ida_nalt.NSUP_REF6 -""" -complex reference information for operand 7 -""" - -ida_nalt.NSUP_REF7 -""" -complex reference information for operand 8 -""" - -ida_nalt.NSUP_REGARG -""" -register argument type/name descriptions values -NSUP_REGARG..NSUP_REGARG+0x1000 are reserved -""" - -ida_nalt.NSUP_REGVAR -""" -register variables. values NSUP_REGVAR..NSUP_REGVAR+0x1000 are -reserved -""" - -ida_nalt.NSUP_REPCMT -""" -repeatable comment -""" - -ida_nalt.NSUP_SEGTRANS -""" -segment translations -""" - -ida_nalt.NSUP_STROFF0 -""" -stroff: struct path for the first operand -""" - -ida_nalt.NSUP_STROFF1 -""" -stroff: struct path for the second operand -""" - -ida_nalt.NSUP_SWITCH -""" -switch information -""" - -ida_nalt.NSUP_TYPEINFO -""" -type information. values NSUP_TYPEINFO..NSUP_TYPEINFO+0x1000 are -reserved -""" - -ida_nalt.NSUP_XREFPOS -""" -saved xref address and type in the xrefs window -""" - -ida_nalt.PATCH_TAG -""" -Patch netnode tag. -""" - -ida_nalt.REFINFO_CUSTOM -""" -a custom reference the kernel will call \\ph{notify}(ph.custom_offset, -.... that can change all arguments used for calculations. This flag is -useful for custom fixups -""" - -ida_nalt.REFINFO_NOBASE -""" -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 -""" - -ida_nalt.REFINFO_PASTEND -""" -reference past an item it may point to an nonexistent address do not -destroy alignment dirs -""" - -ida_nalt.REFINFO_RVAOFF -""" -based reference (rva) 'refinfo_t::base' will be forced to -'get_imagebase()' such a reference is displayed with the \\ash{a_rva} -keyword -""" - -ida_nalt.REFINFO_SIGNEDOP -""" -the operand value is sign-extended (only supported for -REF_OFF8/16/32/64) -""" - -ida_nalt.REFINFO_SUBTRACT -""" -the reference value is subtracted from the base value instead of (as -usual) being added to it -""" - -ida_nalt.REFINFO_TYPE -""" -reference type -""" - -ida_nalt.RIDX_ABINAME -""" -ABI name (processor specific) -""" - -ida_nalt.RIDX_ARCHIVE_PATH -""" -archive file path -""" - -ida_nalt.RIDX_C_MACROS -""" -C predefined macros. -""" - -ida_nalt.RIDX_DBG_BINPATHS -""" -unused (20 indexes) -""" - -ida_nalt.RIDX_DUALOP_GRAPH -""" -Graph text representation options. -""" - -ida_nalt.RIDX_DUALOP_TEXT -""" -Text text representation options. -""" - -ida_nalt.RIDX_FILE_FORMAT_NAME -""" -file format name for loader modules -""" - -ida_nalt.RIDX_GROUPS -""" -segment group information (see init_groups()) -""" - -ida_nalt.RIDX_H_PATH -""" -C header path. -""" - -ida_nalt.RIDX_IDA_VERSION -""" -version of ida which created the database -""" - -ida_nalt.RIDX_INCLUDE -""" -assembler include file name -""" - -ida_nalt.RIDX_MD5 -""" -MD5 of the input file. -""" - -ida_nalt.RIDX_NOTEPAD -""" -notepad blob, occupies 1000 indexes (1MB of text) -""" - -ida_nalt.RIDX_PROBLEMS -""" -problem lists -""" - -ida_nalt.RIDX_SELECTED_EXTLANG -""" -last selected extlang name (from the execute script box) -""" - -ida_nalt.RIDX_SELECTORS -""" -2..63 are for selector_t blob (see init_selectors()) -""" - -ida_nalt.RIDX_SHA256 -""" -SHA256 of the input file. -""" - -ida_nalt.RIDX_SMALL_IDC -""" -Instant IDC statements, blob. -""" - -ida_nalt.RIDX_SMALL_IDC_OLD -""" -Instant IDC statements (obsolete) -""" - -ida_nalt.RIDX_SRCDBG_PATHS -""" -source debug paths, occupies 20 indexes -""" - -ida_nalt.RIDX_SRCDBG_UNDESIRED -""" -user-closed source files, occupies 20 indexes -""" - -ida_nalt.RIDX_STR_ENCODINGS -""" -a list of encodings for the program strings -""" - -ida_nalt.STRENC_DEFAULT -""" -use default encoding for this type (see 'get_default_encoding_idx()' ) -""" - -ida_nalt.STRENC_NONE -""" -force no-conversion encoding -""" - -ida_nalt.STRTYPE_C -""" -Zero-terminated 16bit chars. -""" - -ida_nalt.STRTYPE_C_16 -""" -Zero-terminated 32bit chars. -""" - -ida_nalt.STRTYPE_C_32 -""" -Pascal-style, one-byte length prefix. -""" - -ida_nalt.STRTYPE_LEN2 -""" -Pascal-style, 16bit chars, two-byte length prefix. -""" - -ida_nalt.STRTYPE_LEN2_16 -""" -Pascal-style, four-byte length prefix. -""" - -ida_nalt.STRTYPE_LEN4 -""" -Pascal-style, 16bit chars, four-byte length prefix. -""" - -ida_nalt.STRTYPE_PASCAL -""" -Pascal-style, 16bit chars, one-byte length prefix. -""" - -ida_nalt.STRTYPE_PASCAL_16 -""" -Pascal-style, two-byte length prefix. -""" - -ida_nalt.STRTYPE_TERMCHR -""" -C-style string. - -< Character-terminated string. The termination characters are kept in -the next bytes of string type. -""" - -ida_nalt.SWI_CUSTOM -""" -custom jump table. \\ph{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' ) -""" - -ida_nalt.SWI_DEFRET -""" -return in the default case (defjump==BADADDR) -""" - -ida_nalt.SWI_DEF_IN_TBL -""" -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) -=""> ==+ 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. -""" - -ida_nalt.SWI_ELBASE -""" -segment will be used) - -elbase is present (otherwise the base of the switch -""" - -ida_nalt.SWI_HXNOLOWCASE -""" -lowcase value should not be used by the decompiler (internal flag) -""" - -ida_nalt.SWI_INDIRECT -""" -(for sparse switches) - -value table elements are used as indexes into the jump table -""" - -ida_nalt.SWI_J32 -""" -32-bit jump offsets -""" - -ida_nalt.SWI_JMPINSN -""" -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. -""" - -ida_nalt.SWI_JMP_INV -""" -for first entry in values table) - -jumptable is inversed. (last entry is -""" - -ida_nalt.SWI_JSIZE -""" -jump offset expansion bit -""" - -ida_nalt.SWI_RESERVED -""" -was: SWI_DEFAULT -""" - -ida_nalt.SWI_SELFREL -""" -jump address is relative to the element not to ELBASE -""" - -ida_nalt.SWI_SEPARATE -""" -create an array of individual elements (otherwise separate items) -""" - -ida_nalt.SWI_SHIFT_MASK -""" -use formula (element< flags_t - - - Append names of struct fields to a name if the name is a struct name. - - @param disp: displacement from the name (C++: adiff_t *) - @param n: number of operand n which the name appears (C++: int) - @param path: 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). (C++: const tid_t - *) - @param flags: the input flags. they will be returned if the struct - cannot be found. (C++: flags_t) - @param delta: delta to add to displacement (C++: adiff_t) - @param appzero: should append a struct field name if the displacement - is zero? (C++: bool) - @return: flags of the innermost struct member or the input flags - - -ida_name.calc_gtn_flags(): - - Calculate flags for get_ea_name() function - - @param fromaddr: the referring address. May be BADADDR. - @param ea: linear address - - @return: flags - - -ida_name.cleanup_name(): - - cleanup_name(ea, name, flags=0) -> bool - - -ida_name.del_debug_names(): - - del_debug_names(ea1, ea2) - - -ida_name.del_global_name(): - - del_global_name(ea) -> bool - - -ida_name.del_local_name(): - - del_local_name(ea) -> bool - - -ida_name.demangle_name(): - - demangle_name(name, disable_mask, demreq=DQT_FULL) -> int32 - - - Demangle a name. - - @param name: name to demangle (C++: const char *) - @param disable_mask: bits to inhibit parts of demangled name (see - MNG_). by the M_COMPILER bits a specific compiler - can be selected (see MT_). (C++: uint32) - @param demreq (C++: demreq_type_t) - @return: ME_... or MT__ bitmasks from demangle.hpp - - -class ida_name.ea_name_t(): - - Proxy of C++ ea_name_t class - - -ida_name.ea_name_t.ea: - ea_name_t_ea_get(self) -> ea_t - -ida_name.ea_name_t.name: - ea_name_t_name_get(self) -> qstring * - -class ida_name.ea_name_vec_t(): - - Proxy of C++ qvector<(ea_name_t)> class - - -ida_name.ea_name_vec_t.at(): - - at(self, _idx) -> ea_name_t - - -ida_name.ea_name_vec_t.begin(): - - begin(self) -> ea_name_t - begin(self) -> ea_name_t - - -ida_name.ea_name_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_name.ea_name_vec_t.clear(): - - clear(self) - - -ida_name.ea_name_vec_t.empty(): - - empty(self) -> bool - - -ida_name.ea_name_vec_t.end(): - - end(self) -> ea_name_t - end(self) -> ea_name_t - - -ida_name.ea_name_vec_t.erase(): - - erase(self, it) -> ea_name_t - erase(self, first, last) -> ea_name_t - - -ida_name.ea_name_vec_t.extract(): - - extract(self) -> ea_name_t - - -ida_name.ea_name_vec_t.grow(): - - grow(self, x=ea_name_t()) - - -ida_name.ea_name_vec_t.inject(): - - inject(self, s, len) - - -ida_name.ea_name_vec_t.insert(): - - insert(self, it, x) -> ea_name_t - - -ida_name.ea_name_vec_t.pop_back(): - - pop_back(self) - - -ida_name.ea_name_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> ea_name_t - - -ida_name.ea_name_vec_t.qclear(): - - qclear(self) - - -ida_name.ea_name_vec_t.reserve(): - - reserve(self, cnt) - - -ida_name.ea_name_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_name.ea_name_vec_t.size(): - - size(self) -> size_t - - -ida_name.ea_name_vec_t.swap(): - - swap(self, r) - - -ida_name.ea_name_vec_t.truncate(): - - truncate(self) - - -ida_name.extract_name(): - - extract_name(line, x) -> ssize_t - - - Extract a name or address from the specified string. - - @param line: input string (C++: const char *) - @param x: x coordinate of cursor (C++: int) - @return: -1 if cannot extract. otherwise length of the name - - -ida_name.force_name(): - - force_name(ea, name, flags=0) -> bool - - -ida_name.get_colored_demangled_name(): - - get_colored_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring - - -ida_name.get_colored_long_name(): - - get_colored_long_name(ea, gtn_flags=0) -> qstring - - -ida_name.get_colored_name(): - - get_colored_name(ea) -> qstring - - -ida_name.get_colored_short_name(): - - get_colored_short_name(ea, gtn_flags=0) -> qstring - - -ida_name.get_debug_name(): - - get_debug_name(ea_ptr, how) -> ssize_t - - -ida_name.get_debug_name_ea(): - - get_debug_name_ea(name) -> ea_t - - -ida_name.get_debug_names(): - - get_debug_names(names, ea1, ea2) - get_debug_names(ea1, ea2, return_list=False) -> PyObject * - - -ida_name.get_demangled_name(): - - get_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring - - -ida_name.get_ea_name(): - - get_ea_name(ea, gtn_flags=0) -> qstring - - - Get name at the specified address. - - @param ea: linear address (C++: ea_t) - @param gtn_flags: how exactly the name should be retrieved. - combination of bits for get_ea_name() function. - There is a convenience bits (C++: int) - @return: success - - -ida_name.get_long_name(): - - get_long_name(ea, gtn_flags=0) -> qstring - - -ida_name.get_name(): - - get_name(ea) -> qstring - - -ida_name.get_name_base_ea(): - - get_name_base_ea(_from, to) -> ea_t - - - Get address of the name used in the expression for the address - - @param _from: address of the operand which references to the address - (C++: ea_t) - @param to: the referenced address (C++: ea_t) - @return: address of the name used to represent the operand - - -ida_name.get_name_color(): - - get_name_color(_from, ea) -> color_t - - - Calculate flags for 'get_ea_name()' function. - - Get name color. - - @param _from: 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. (C++: ea_t) - @param ea: linear address (C++: ea_t) - - -ida_name.get_name_ea(): - - get_name_ea(_from, name) -> ea_t - - - Get address of the name. Dummy names (like byte_xxxx where xxxx are - hex digits) are parsed by this function to obtain the address. The - database is not consulted for them. This function works only with - regular names. - - @param _from: linear address where the name is used. if not - applicable, then should be BADADDR . (C++: ea_t) - @param name: any name in the program or NULL (C++: const char *) - @return: address of the name or BADADDR - - -ida_name.get_name_expr(): - - 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: 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. (C++: ea_t) - @param n: number of referencing operand. for data items specify 0 - (C++: int) - @param ea: address to convert to name expression (C++: ea_t) - @param off: 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. (C++: uval_t) - @param flags: Name expression flags (C++: int) - @return: < 0 if address is not valid, no segment or other failure. - otherwise the length of the name expression in characters. - - -ida_name.get_name_value(): - - get_name_value(_from, name) -> int - - - Get value of the name. This function knows about: regular names, - enums, special segments, etc. - - @param _from: linear address where the name is used if not applicable, - then should be BADADDR (C++: ea_t) - @param name: any name in the program or NULL (C++: const char *) - @return: Name value result codes - - -ida_name.get_nice_colored_name(): - - get_nice_colored_name(ea, flags=0) -> ssize_t - - - Get a nice colored name at the specified address. Ex:segment:sub+offse - tsegment:sub:local_labelsegment:labelsegment:addresssegment:address+of - fset - - @param ea (C++: ea_t) - @param flags (C++: int) - @return: the length of the generated name in bytes. - - -ida_name.get_nlist_ea(): - - get_nlist_ea(idx) -> ea_t - - - Get address from the list at 'idx'. - - - @param idx (C++: size_t) - - -ida_name.get_nlist_idx(): - - get_nlist_idx(ea) -> size_t - - - Get index of the name in the listreturns the closest match. may return - idx >= size. - - @param ea (C++: ea_t) - - -ida_name.get_nlist_name(): - - get_nlist_name(idx) -> char const * - - - Get name using idx. - - - @param idx (C++: size_t) - - -ida_name.get_nlist_size(): - - get_nlist_size() -> size_t - - - Get number of names in the list. - - -ida_name.get_short_name(): - - get_short_name(ea, gtn_flags=0) -> qstring - - -ida_name.get_visible_name(): - - get_visible_name(ea, gtn_flags=0) -> qstring - - -ida_name.hide_name(): - - hide_name(ea) - - - Remove name from the list of names - - @param ea: address of the name (C++: ea_t) - - -ida_name.is_ident(): - - is_ident(name) -> bool - - - Is a valid name? (including ::MangleChars) - - - @param name (C++: const char *) - - -ida_name.is_ident_cp(): - - is_ident_cp(cp) -> bool - - - Can a character appear in a name? (present in ::NameChars or - ::MangleChars) - - - @param cp (C++: wchar32_t) - - -ida_name.is_in_nlist(): - - is_in_nlist(ea) -> bool - - - Is name included into names list? - - - @param ea (C++: ea_t) - - -ida_name.is_name_defined_locally(): - - 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: pointer to function (C++: func_t *) - @param name: name to check (C++: const char *) - @param ignore_name_def: which names to ignore when checking (C++: - ignore_name_def_t) - @param ea1: the starting address of the range inside the function - (optional) (C++: ea_t) - @param ea2: the ending address of the range inside the function - (optional) (C++: ea_t) - @return: true if the name has been defined - - -ida_name.is_public_name(): - - is_public_name(ea) -> bool - - -ida_name.is_strlit_cp(): - - 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 *) - - -ida_name.is_uname(): - - is_uname(name) -> bool - - - Is valid user-specified name? (valid name & !dummy prefix). - - @param name: name to test. may be NULL. (C++: const char *) - - -ida_name.is_valid_cp(): - - 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) - @param data (C++: void *) - - -ida_name.is_valid_typename(): - - is_valid_typename(name) -> bool - - - Is valid type name? - - @param name: name to test. may be NULL. (C++: const char *) - - -ida_name.is_visible_cp(): - - is_visible_cp(cp) -> bool - - - Can a character be displayed in a name? (present in ::NameChars) - - - @param cp (C++: wchar32_t) - - -ida_name.is_weak_name(): - - is_weak_name(ea) -> bool - - -ida_name.make_name_auto(): - - make_name_auto(ea) -> bool - - -ida_name.make_name_non_public(): - - make_name_non_public(ea) - - -ida_name.make_name_non_weak(): - - make_name_non_weak(ea) - - -ida_name.make_name_public(): - - make_name_public(ea) - - -ida_name.make_name_user(): - - make_name_user(ea) -> bool - - -ida_name.make_name_weak(): - - make_name_weak(ea) - - -ida_name.rebuild_nlist(): - - rebuild_nlist() - - - Rebuild names list. - - -ida_name.reorder_dummy_names(): - - reorder_dummy_names() - - - Renumber dummy names. - - -ida_name.set_cp_validity(): - - 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) - @param cp (C++: wchar32_t) - @param endcp (C++: wchar32_t) - @param valid (C++: bool) - - -ida_name.set_debug_name(): - - set_debug_name(ea, name) -> bool - - -ida_name.set_dummy_name(): - - set_dummy_name(_from, ea) -> bool - - - Give an autogenerated (dummy) name. Autogenerated names have special - prefixes (loc_...). - - @param _from: linear address of the operand which references to the - address (C++: ea_t) - @param ea: linear address (C++: ea_t) - - -ida_name.set_name(): - - 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: linear address. do nothing if ea is not valid (return 0). - tail bytes can't have names. (C++: ea_t) - @param name: new name. NULL: do nothing (return 0). "" : delete - name. otherwise this is a new name. (C++: const char *) - @param flags: 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. (C++: int) - - -ida_name.show_name(): - - show_name(ea) - - - Insert name to the list of names. - - - @param ea (C++: ea_t) - - -ida_name.validate_name(): - - validate_name(name, type, flags=0) -> PyObject * - - - Validate a name. 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: ptr to name. the name will be modified (C++: qstring *) - @param type: the type of name we want to validate (C++: nametype_t) - @param flags: see SN_* . Only SN_IDBENC is currently considered (C++: - int) - @return: success - - - -=== ida_name EPYDOC INJECTIONS === -ida_name.FUNC_IMPORT_PREFIX -""" -Name prefix used by IDA for the imported functions. -""" - -ida_name.GETN_APPZERO -""" -append a struct field name if the field offset is zero? - -meaningful only if the name refers to a structure. -""" - -ida_name.GETN_NODUMMY -""" -do not create a new dummy name but pretend it exists -""" - -ida_name.GETN_NOFIXUP -""" -ignore the fixup information when producing the name -""" - -ida_name.GNCN_NOCOLOR -""" -generate an uncolored name -""" - -ida_name.GNCN_NODBGNM -""" -don't use debug names -""" - -ida_name.GNCN_NOFUNC -""" -don't generate funcname+... expressions -""" - -ida_name.GNCN_NOLABEL -""" -don't generate labels -""" - -ida_name.GNCN_NOSEG -""" -ignore the segment prefix when producing the name -""" - -ida_name.GNCN_PREFDBG -""" -if using debug names, prefer debug names over function names -""" - -ida_name.GNCN_REQFUNC -""" -return 0 if the address does not belong to a function -""" - -ida_name.GNCN_REQNAME -""" -return 0 if the address can only be represented as a hex number -""" - -ida_name.GNCN_SEGNUM -""" -segment part is displayed as a hex number -""" - -ida_name.GNCN_SEG_FUNC -""" -generate both segment and function names (default is to omit segment -name if a function name is present) -""" - -ida_name.GN_COLORED -""" -return colored name -""" - -ida_name.GN_DEMANGLED -""" -return demangled name -""" - -ida_name.GN_ISRET -""" -for dummy names: use retloc -""" - -ida_name.GN_LOCAL -""" -try to get local name first; if failed, get global -""" - -ida_name.GN_LONG -""" -use long form of demangled name -""" - -ida_name.GN_NOT_DUMMY -""" -do not return a dummy name -""" - -ida_name.GN_NOT_ISRET -""" -for dummy names: do not use retloc -""" - -ida_name.GN_SHORT -""" -use short form of demangled name -""" - -ida_name.GN_STRICT -""" -fail if cannot demangle -""" - -ida_name.GN_VISIBLE -""" -replace forbidden characters by SUBSTCHAR -""" - -ida_name.MAXNAMELEN -""" -Maximum length of a name in IDA (with the trailing zero) -""" - -ida_name.NT_ABS -""" -name is absolute symbol ( 'SEG_ABSSYM' ) -""" - -ida_name.NT_BMASK -""" -name is a bit group mask name -""" - -ida_name.NT_BYTE -""" -name is byte name (regular name) -""" - -ida_name.NT_ENUM -""" -name is symbolic constant -""" - -ida_name.NT_LOCAL -""" -name is local label -""" - -ida_name.NT_NONE -""" -name doesn't exist or has no value -""" - -ida_name.NT_REGVAR -""" -name is a renamed register (*value is idx into pfn->regvars) -""" - -ida_name.NT_SEG -""" -name is segment or segment register name -""" - -ida_name.NT_STKVAR -""" -name is stack variable name -""" - -ida_name.NT_STROFF -""" -name is structure member -""" - -ida_name.SN_AUTO -""" -if set, make name autogenerated -""" - -ida_name.SN_DELTAIL -""" -delete the hindering item - -if name cannot be set because of a tail byte, -""" - -ida_name.SN_FORCE -""" -if the specified name is already present in the database, try -variations with a numerical suffix like "_123" -""" - -ida_name.SN_IDBENC -""" -the name is given in the IDB encoding; non-ASCII bytes will be decoded -accordingly. Specifying SN_IDBENC also implies SN_NODUMMY -""" - -ida_name.SN_LOCAL -""" -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. -""" - -ida_name.SN_NOCHECK -""" -Don't fail if the name contains invalid characters. If this bit is -clear, all invalid chars (those !is_ident_cp()) will be replaced by -SUBSTCHAR List of valid characters is defined in ida.cfg -""" - -ida_name.SN_NODUMMY -""" -automatically prepend the name with '_' if it begins with a dummy -suffix such as 'sub_'. See also SN_IDBENC -""" - -ida_name.SN_NOLIST -""" -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). -""" - -ida_name.SN_NON_AUTO -""" -if set, make name non-autogenerated -""" - -ida_name.SN_NON_PUBLIC -""" -if set, make name non-public -""" - -ida_name.SN_NON_WEAK -""" -if set, make name non-weak -""" - -ida_name.SN_NOWARN -""" -don't display a warning if failed -""" - -ida_name.SN_PUBLIC -""" -if set, make name public -""" - -ida_name.SN_WEAK -""" -if set, make name weak -""" -=== ida_name EPYDOC INJECTIONS END === -ida_netnode.exist(): - - exist(n) -> bool - - -class ida_netnode.netnode(): - - Proxy of C++ netnode class - - -ida_netnode.netnode.altdel(): - - altdel(self, alt, tag=atag) -> bool - altdel(self) -> bool - - -ida_netnode.netnode.altdel_all(): - - altdel_all(self, tag) -> bool - - -ida_netnode.netnode.altdel_ea(): - - altdel_ea(self, ea, tag=atag) -> bool - - -ida_netnode.netnode.altdel_idx8(): - - altdel_idx8(self, alt, tag) -> bool - - -ida_netnode.netnode.altfirst(): - - altfirst(self, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altfirst_idx8(): - - altfirst_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.altlast(): - - altlast(self, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altlast_idx8(): - - altlast_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.altnext(): - - altnext(self, cur, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altnext_idx8(): - - altnext_idx8(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.altprev(): - - altprev(self, cur, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altprev_idx8(): - - altprev_idx8(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.altset(): - - altset(self, alt, value, tag=atag) -> bool - - -ida_netnode.netnode.altset_ea(): - - altset_ea(self, ea, value, tag=atag) -> bool - - -ida_netnode.netnode.altset_idx8(): - - altset_idx8(self, alt, val, tag) -> bool - - -ida_netnode.netnode.altshift(): - - altshift(self, _from, to, size, tag=atag) -> size_t - - -ida_netnode.netnode.altval(): - - altval(self, alt, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altval_ea(): - - altval_ea(self, ea, tag=atag) -> nodeidx_t - - -ida_netnode.netnode.altval_idx8(): - - altval_idx8(self, alt, tag) -> nodeidx_t - - -ida_netnode.netnode.blobsize(): - - blobsize(self, _start, tag) -> size_t - - -ida_netnode.netnode.blobsize_ea(): - - blobsize_ea(self, ea, tag) -> size_t - - -ida_netnode.netnode.chardel(): - - chardel(self, alt, tag) -> bool - - -ida_netnode.netnode.chardel_ea(): - - chardel_ea(self, ea, tag) -> bool - - -ida_netnode.netnode.chardel_idx8(): - - chardel_idx8(self, alt, tag) -> bool - - -ida_netnode.netnode.charfirst(): - - charfirst(self, tag) -> nodeidx_t - - -ida_netnode.netnode.charfirst_idx8(): - - charfirst_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.charlast(): - - charlast(self, tag) -> nodeidx_t - - -ida_netnode.netnode.charlast_idx8(): - - charlast_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.charnext(): - - charnext(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.charnext_idx8(): - - charnext_idx8(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.charprev(): - - charprev(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.charprev_idx8(): - - charprev_idx8(self, cur, tag) -> nodeidx_t - - -ida_netnode.netnode.charset(): - - charset(self, alt, val, tag) -> bool - - -ida_netnode.netnode.charset_ea(): - - charset_ea(self, ea, val, tag) -> bool - - -ida_netnode.netnode.charset_idx8(): - - charset_idx8(self, alt, val, tag) -> bool - - -ida_netnode.netnode.charshift(): - - charshift(self, _from, to, size, tag) -> size_t - - -ida_netnode.netnode.charval(): - - charval(self, alt, tag) -> uchar - - -ida_netnode.netnode.charval_ea(): - - charval_ea(self, ea, tag) -> uchar - - -ida_netnode.netnode.charval_idx8(): - - charval_idx8(self, alt, tag) -> uchar - - -ida_netnode.netnode.copyto(): - - copyto(self, target, count=1) -> size_t - - -ida_netnode.netnode.create(): - - create(self, _name, namlen=0) -> bool - create(self) -> bool - - -ida_netnode.netnode.delblob(): - - delblob(self, _start, tag) -> int - - -ida_netnode.netnode.delblob_ea(): - - delblob_ea(self, ea, tag) -> int - - -ida_netnode.netnode.delvalue(): - - delvalue(self) -> bool - - -ida_netnode.netnode.eadel(): - - eadel(self, ea, tag) -> bool - - -ida_netnode.netnode.eadel_idx8(): - - eadel_idx8(self, idx, tag) -> bool - - -ida_netnode.netnode.eaget(): - - eaget(self, ea, tag) -> ea_t - - -ida_netnode.netnode.eaget_idx(): - - eaget_idx(self, idx, tag) -> ea_t - - -ida_netnode.netnode.eaget_idx8(): - - eaget_idx8(self, idx, tag) -> ea_t - - -ida_netnode.netnode.easet(): - - easet(self, ea, addr, tag) -> bool - - -ida_netnode.netnode.easet_idx(): - - easet_idx(self, idx, addr, tag) -> bool - - -ida_netnode.netnode.easet_idx8(): - - easet_idx8(self, idx, addr, tag) -> bool - - -ida_netnode.netnode.end(): - - end(self) -> bool - - -ida_netnode.netnode.get_name(): - - get_name(self) -> ssize_t - - -ida_netnode.netnode.getblob(): - - getblob(self, start, tag) -> PyObject * - - -ida_netnode.netnode.getblob_ea(): - - getblob_ea(self, ea, tag) -> PyObject * - - -ida_netnode.netnode.getclob(): - - getclob(self, start, tag) -> PyObject * - - -ida_netnode.netnode.hashdel(): - - hashdel(self, idx, tag=htag) -> bool - - -ida_netnode.netnode.hashdel_all(): - - hashdel_all(self, tag=htag) -> bool - - -ida_netnode.netnode.hashfirst(): - - hashfirst(self, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashlast(): - - hashlast(self, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashnext(): - - hashnext(self, idx, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashprev(): - - hashprev(self, idx, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashset(): - - hashset(self, idx, value, tag=htag) -> bool - - -ida_netnode.netnode.hashset_buf(): - - hashset_buf(self, idx, py_str, tag=htag) -> bool - - -ida_netnode.netnode.hashset_idx(): - - hashset_idx(self, idx, value, tag=htag) -> bool - - -ida_netnode.netnode.hashstr(): - - hashstr(self, idx, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashstr_buf(): - - hashstr_buf(self, idx, tag=htag) -> PyObject * - - -ida_netnode.netnode.hashval(): - - hashval(self, idx, tag=htag) -> ssize_t - - -ida_netnode.netnode.hashval_long(): - - hashval_long(self, idx, tag=htag) -> nodeidx_t - - -ida_netnode.netnode.index(): - - index(self) -> nodeidx_t - - -ida_netnode.netnode.kill(): - - kill(self) - - -ida_netnode.netnode.long_value(): - - long_value(self) -> nodeidx_t - - -ida_netnode.netnode.lower_bound(): - - lower_bound(self, cur, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.lower_bound_ea(): - - lower_bound_ea(self, ea, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.lower_bound_idx8(): - - lower_bound_idx8(self, alt, tag) -> nodeidx_t - - -ida_netnode.netnode.moveto(): - - moveto(self, target, count=1) -> size_t - - -ida_netnode.netnode.next(): - - next(self) -> bool - - -ida_netnode.netnode.prev(): - - prev(self) -> bool - - -ida_netnode.netnode.rename(): - - rename(self, newname, namlen=0) -> bool - - -ida_netnode.netnode.set(): - - set(self, value) -> bool - - -ida_netnode.netnode.set_long(): - - set_long(self, x) -> bool - - -ida_netnode.netnode.setblob(): - - setblob(self, buf, _start, tag) -> bool - - -ida_netnode.netnode.setblob_ea(): - - setblob_ea(self, buf, ea, tag) -> bool - - -ida_netnode.netnode.start(): - - start(self) -> bool - - -ida_netnode.netnode.supdel(): - - supdel(self, alt, tag=stag) -> bool - supdel(self) -> bool - - -ida_netnode.netnode.supdel_all(): - - supdel_all(self, tag) -> bool - - -ida_netnode.netnode.supdel_ea(): - - supdel_ea(self, ea, tag=stag) -> bool - - -ida_netnode.netnode.supdel_idx8(): - - supdel_idx8(self, alt, tag) -> bool - - -ida_netnode.netnode.supdel_range(): - - supdel_range(self, idx1, idx2, tag) -> int - - -ida_netnode.netnode.supdel_range_idx8(): - - supdel_range_idx8(self, idx1, idx2, tag) -> int - - -ida_netnode.netnode.supfirst(): - - supfirst(self, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.supfirst_idx8(): - - supfirst_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.suplast(): - - suplast(self, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.suplast_idx8(): - - suplast_idx8(self, tag) -> nodeidx_t - - -ida_netnode.netnode.supnext(): - - supnext(self, cur, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.supnext_idx8(): - - supnext_idx8(self, alt, tag) -> nodeidx_t - - -ida_netnode.netnode.supprev(): - - supprev(self, cur, tag=stag) -> nodeidx_t - - -ida_netnode.netnode.supprev_idx8(): - - supprev_idx8(self, alt, tag) -> nodeidx_t - - -ida_netnode.netnode.supset(): - - supset(self, alt, value, tag=stag) -> bool - - -ida_netnode.netnode.supset_ea(): - - supset_ea(self, ea, value, tag=stag) -> bool - - -ida_netnode.netnode.supset_idx8(): - - supset_idx8(self, alt, value, tag) -> bool - - -ida_netnode.netnode.supshift(): - - supshift(self, _from, to, size, tag=stag) -> size_t - - -ida_netnode.netnode.supstr(): - - supstr(self, alt, tag=stag) -> ssize_t - - -ida_netnode.netnode.supstr_ea(): - - supstr_ea(self, ea, tag=stag) -> ssize_t - - -ida_netnode.netnode.supstr_idx8(): - - supstr_idx8(self, alt, tag) -> ssize_t - - -ida_netnode.netnode.supval(): - - supval(self, alt, tag=stag) -> ssize_t - - -ida_netnode.netnode.supval_ea(): - - supval_ea(self, ea, tag=stag) -> ssize_t - - -ida_netnode.netnode.supval_idx8(): - - supval_idx8(self, alt, tag) -> ssize_t - - -ida_netnode.netnode.valobj(): - - valobj(self) -> ssize_t - - -ida_netnode.netnode.valstr(): - - valstr(self) -> ssize_t - - -ida_netnode.netnode.value_exists(): - - value_exists(self) -> bool - - - -=== ida_netnode EPYDOC INJECTIONS === -ida_netnode.BADNODE -""" -A number to represent a bad netnode reference. -""" -=== ida_netnode EPYDOC INJECTIONS END === -ida_offset.add_refinfo_dref(): - - 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: the referencing instruction (C++: const insn_t &) - @param _from: the referencing instruction/data address (C++: ea_t) - @param ri: reference info block from the database (C++: const - refinfo_t &) - @param opval: operand value (usually op_t::value or op_t::addr ) - (C++: adiff_t) - @param type: type of xref (C++: dref_t) - @param opoff: offset of the operand from the start of instruction - (C++: int) - @return: the target address of the reference - - -ida_offset.calc_basevalue(): - - calc_basevalue(target, base) -> ea_t - - - Calculate the value of the reference base. - - - @param target (C++: ea_t) - @param base (C++: ea_t) - - -ida_offset.calc_offset_base(): - - 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: the referencing instruction/data address (C++: ea_t) - @param n: operand number 0: first operand 1: other operand (C++: - int) - @return: output base address or BADADDR - - -ida_offset.calc_probable_base_by_value(): - - 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) - - -ida_offset.calc_reference_data(): - - 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: output target address (C++: ea_t *) - @param base: output base address (C++: ea_t *) - @param _from: the referencing instruction/data address (C++: ea_t) - @param ri: reference info block from the database (C++: const - refinfo_t &) - @param opval: operand value (usually op_t::value or op_t::addr ) - (C++: adiff_t) - @return: success - - -ida_offset.calc_target(): - - calc_target(_from, opval, ri) -> ea_t - calc_target(_from, ea, n, opval) -> ea_t - - - Calculates the target, using the provided 'refinfo_t' . - - - @param _from (C++: ea_t) - @param opval (C++: adiff_t) - @param ri (C++: const refinfo_t &) - - -ida_offset.can_be_off32(): - - 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) - - -ida_offset.get_default_reftype(): - - 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 - - -ida_offset.get_offbase(): - - get_offbase(ea, n) -> ea_t - - - Get offset base value - - @param ea: linear address (C++: ea_t) - @param n: number of operand (C++: int) - @return: offset base or BADADDR - - -ida_offset.get_offset_expr(): - - 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 &) - @param _from (C++: ea_t) - @param offset (C++: adiff_t) - @param getn_flags (C++: int) - - -ida_offset.get_offset_expression(): - - 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 (\ph{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: start of instruction or data with the offset expression - (C++: ea_t) - @param n: number of operand (may be ORed with OPND_OUTER ) 0: first - operand 1: second operand (C++: int) - @param _from: 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. (C++: ea_t) - @param offset: value of operand or its part. The function will return - text representation of this value as offset expression. - (C++: adiff_t) - @param getn_flags: 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) (C++: int) - - -ida_offset.op_offset(): - - op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int - - - See 'op_offset_ex()' - - - @param ea (C++: ea_t) - @param n (C++: int) - @param type (C++: reftype_t) - @param target (C++: ea_t) - @param base (C++: ea_t) - @param tdelta (C++: adiff_t) - - -ida_offset.op_offset_ex(): - - op_offset_ex(ea, n, ri) -> int - - - Convert operand to a reference. To delete an offset, use - 'clr_op_type()' function. - - @param ea: 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 (C++: ea_t) - @param n: number of operand (may be ORed with OPND_OUTER ) 0: first - 1: second 2: third OPND_MASK : all operands (C++: int) - @param ri: reference information (C++: const refinfo_t *) - @return: success - - -ida_offset.op_plain_offset(): - - 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) - - -class ida_pro.boolvec_t(): - - Proxy of C++ qvector<(bool)> class - - -ida_pro.boolvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.boolvec_t.append(): - - push_back(self, x) - push_back(self) -> bool & - - -ida_pro.boolvec_t.at(): - - __getitem__(self, i) -> bool const & - - -ida_pro.boolvec_t.begin(): - - begin(self) -> qvector< bool >::iterator - begin(self) -> qvector< bool >::const_iterator - - -ida_pro.boolvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.boolvec_t.clear(): - - clear(self) - - -ida_pro.boolvec_t.empty(): - - empty(self) -> bool - - -ida_pro.boolvec_t.end(): - - end(self) -> qvector< bool >::iterator - end(self) -> qvector< bool >::const_iterator - - -ida_pro.boolvec_t.erase(): - - erase(self, it) -> qvector< bool >::iterator - erase(self, first, last) -> qvector< bool >::iterator - - -ida_pro.boolvec_t.extract(): - - extract(self) -> bool * - - -ida_pro.boolvec_t.find(): - - find(self, x) -> qvector< bool >::iterator - find(self, x) -> qvector< bool >::const_iterator - - -ida_pro.boolvec_t.grow(): - - grow(self, x=bool()) - - -ida_pro.boolvec_t.has(): - - has(self, x) -> bool - - -ida_pro.boolvec_t.inject(): - - inject(self, s, len) - - -ida_pro.boolvec_t.insert(): - - insert(self, it, x) -> qvector< bool >::iterator - - -ida_pro.boolvec_t.pop_back(): - - pop_back(self) - - -ida_pro.boolvec_t.push_back(): - - push_back(self, x) - push_back(self) -> bool & - - -ida_pro.boolvec_t.qclear(): - - qclear(self) - - -ida_pro.boolvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.boolvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.boolvec_t.size(): - - size(self) -> size_t - - -ida_pro.boolvec_t.swap(): - - swap(self, r) - - -ida_pro.boolvec_t.truncate(): - - truncate(self) - - -class ida_pro.channel_redir_t(): - - Proxy of C++ channel_redir_t class - - -ida_pro.channel_redir_t.fd: - channel_redir_t_fd_get(self) -> int - -ida_pro.channel_redir_t.file: - channel_redir_t_file_get(self) -> qstring * - -ida_pro.channel_redir_t.flags: - channel_redir_t_flags_get(self) -> int - -ida_pro.channel_redir_t.is_append(): - - is_append(self) -> bool - - -ida_pro.channel_redir_t.is_input(): - - is_input(self) -> bool - - -ida_pro.channel_redir_t.is_output(): - - is_output(self) -> bool - - -ida_pro.channel_redir_t.is_quoted(): - - is_quoted(self) -> bool - - -ida_pro.channel_redir_t.length: - channel_redir_t_length_get(self) -> int - -ida_pro.channel_redir_t.start: - channel_redir_t_start_get(self) -> int - -ida_pro.check_process_exit(): - - check_process_exit(handle, exit_code, msecs=-1) -> int - - - Check whether process has terminated or not. - - @param handle: process handle to wait for (C++: void *) - @param exit_code: pointer to the buffer for the exit code (C++: int *) - - -ida_pro.clear_bits(): - - clear_bits(bitmap, low, high) - - - Clear bits between [low, high) in 'bitmap'. - - - @param bitmap (C++: uchar *) - @param low (C++: size_t) - @param high (C++: size_t) - - -class ida_pro.ea_array(): - - Proxy of C++ ea_array class - - -ida_pro.ea_array.cast(): - - cast(self) -> ea_t * - - -ida_pro.ea_array.frompointer(): - - frompointer(t) -> ea_array - - -ida_pro.ea_array_frompointer(): - - ea_array_frompointer(t) -> ea_array - - -class ida_pro.ea_pointer(): - - Proxy of C++ ea_pointer class - - -ida_pro.ea_pointer.assign(): - - assign(self, value) - - -ida_pro.ea_pointer.cast(): - - cast(self) -> ea_t * - - -ida_pro.ea_pointer.frompointer(): - - frompointer(t) -> ea_pointer - - -ida_pro.ea_pointer.value(): - - value(self) -> ea_t - - -ida_pro.ea_pointer_frompointer(): - - ea_pointer_frompointer(t) -> ea_pointer - - -class ida_pro.eavec_t(): - - Proxy of C++ qvector<(unsigned-ea-like-numeric-type)> class - - -ida_pro.eavec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.eavec_t.append(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_pro.eavec_t.at(): - - __getitem__(self, i) -> unsigned-ea-like-numeric-type & - - -ida_pro.eavec_t.begin(): - - begin(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - begin(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.eavec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.eavec_t.clear(): - - clear(self) - - -ida_pro.eavec_t.empty(): - - empty(self) -> bool - - -ida_pro.eavec_t.end(): - - end(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - end(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.eavec_t.erase(): - - erase(self, it) -> qvector< unsigned-ea-like-numeric-type >::iterator - erase(self, first, last) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_pro.eavec_t.extract(): - - extract(self) -> unsigned-ea-like-numeric-type * - - -ida_pro.eavec_t.find(): - - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.eavec_t.has(): - - has(self, x) -> bool - - -ida_pro.eavec_t.inject(): - - inject(self, s, len) - - -ida_pro.eavec_t.insert(): - - insert(self, it, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_pro.eavec_t.pop_back(): - - pop_back(self) - - -ida_pro.eavec_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_pro.eavec_t.qclear(): - - qclear(self) - - -ida_pro.eavec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.eavec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.eavec_t.size(): - - size(self) -> size_t - - -ida_pro.eavec_t.swap(): - - swap(self, r) - - -ida_pro.eavec_t.truncate(): - - truncate(self) - - -ida_pro.extend_sign(): - - 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) - - -class ida_pro.instant_dbgopts_t(): - - Proxy of C++ instant_dbgopts_t class - - -ida_pro.instant_dbgopts_t.attach: - instant_dbgopts_t_attach_get(self) -> bool - -ida_pro.instant_dbgopts_t.debmod: - instant_dbgopts_t_debmod_get(self) -> qstring * - -ida_pro.instant_dbgopts_t.env: - instant_dbgopts_t_env_get(self) -> qstring * - -ida_pro.instant_dbgopts_t.event_id: - instant_dbgopts_t_event_id_get(self) -> int - -ida_pro.instant_dbgopts_t.host: - instant_dbgopts_t_host_get(self) -> qstring * - -ida_pro.instant_dbgopts_t.pid: - instant_dbgopts_t_pid_get(self) -> int - -ida_pro.instant_dbgopts_t.port: - instant_dbgopts_t_port_get(self) -> int - -class ida_pro.int64vec_t(): - - Proxy of C++ qvector<(long long)> class - - -ida_pro.int64vec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.int64vec_t.append(): - - push_back(self, x) - push_back(self) -> long long & - - -ida_pro.int64vec_t.at(): - - __getitem__(self, i) -> long long const & - - -ida_pro.int64vec_t.begin(): - - begin(self) -> qvector< long long >::iterator - begin(self) -> qvector< long long >::const_iterator - - -ida_pro.int64vec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.int64vec_t.clear(): - - clear(self) - - -ida_pro.int64vec_t.empty(): - - empty(self) -> bool - - -ida_pro.int64vec_t.end(): - - end(self) -> qvector< long long >::iterator - end(self) -> qvector< long long >::const_iterator - - -ida_pro.int64vec_t.erase(): - - erase(self, it) -> qvector< long long >::iterator - erase(self, first, last) -> qvector< long long >::iterator - - -ida_pro.int64vec_t.extract(): - - extract(self) -> long long * - - -ida_pro.int64vec_t.find(): - - find(self, x) -> qvector< long long >::iterator - find(self, x) -> qvector< long long >::const_iterator - - -ida_pro.int64vec_t.has(): - - has(self, x) -> bool - - -ida_pro.int64vec_t.inject(): - - inject(self, s, len) - - -ida_pro.int64vec_t.insert(): - - insert(self, it, x) -> qvector< long long >::iterator - - -ida_pro.int64vec_t.pop_back(): - - pop_back(self) - - -ida_pro.int64vec_t.push_back(): - - push_back(self, x) - push_back(self) -> long long & - - -ida_pro.int64vec_t.qclear(): - - qclear(self) - - -ida_pro.int64vec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.int64vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.int64vec_t.size(): - - size(self) -> size_t - - -ida_pro.int64vec_t.swap(): - - swap(self, r) - - -ida_pro.int64vec_t.truncate(): - - truncate(self) - - -class ida_pro.int_pointer(): - - Proxy of C++ int_pointer class - - -ida_pro.int_pointer.assign(): - - assign(self, value) - - -ida_pro.int_pointer.cast(): - - cast(self) -> int * - - -ida_pro.int_pointer.frompointer(): - - frompointer(t) -> int_pointer - - -ida_pro.int_pointer.value(): - - value(self) -> int - - -ida_pro.int_pointer_frompointer(): - - int_pointer_frompointer(t) -> int_pointer - - -class ida_pro.intvec_t(): - - Proxy of C++ qvector<(int)> class - - -ida_pro.intvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.intvec_t.append(): - - push_back(self, x) - push_back(self) -> int & - - -ida_pro.intvec_t.at(): - - __getitem__(self, i) -> int const & - - -ida_pro.intvec_t.begin(): - - begin(self) -> qvector< int >::iterator - begin(self) -> qvector< int >::const_iterator - - -ida_pro.intvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.intvec_t.clear(): - - clear(self) - - -ida_pro.intvec_t.empty(): - - empty(self) -> bool - - -ida_pro.intvec_t.end(): - - end(self) -> qvector< int >::iterator - end(self) -> qvector< int >::const_iterator - - -ida_pro.intvec_t.erase(): - - erase(self, it) -> qvector< int >::iterator - erase(self, first, last) -> qvector< int >::iterator - - -ida_pro.intvec_t.extract(): - - extract(self) -> int * - - -ida_pro.intvec_t.find(): - - find(self, x) -> qvector< int >::iterator - find(self, x) -> qvector< int >::const_iterator - - -ida_pro.intvec_t.has(): - - has(self, x) -> bool - - -ida_pro.intvec_t.inject(): - - inject(self, s, len) - - -ida_pro.intvec_t.insert(): - - insert(self, it, x) -> qvector< int >::iterator - - -ida_pro.intvec_t.pop_back(): - - pop_back(self) - - -ida_pro.intvec_t.push_back(): - - push_back(self, x) - push_back(self) -> int & - - -ida_pro.intvec_t.qclear(): - - qclear(self) - - -ida_pro.intvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.intvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.intvec_t.size(): - - size(self) -> size_t - - -ida_pro.intvec_t.swap(): - - swap(self, r) - - -ida_pro.intvec_t.truncate(): - - truncate(self) - - -ida_pro.is_control_tty(): - - 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) - - -ida_pro.is_main_thread(): - - is_main_thread() -> bool - - - Are we running in the main thread? - - -ida_pro.log2ceil(): - - log2ceil(d64) -> int - - - calculate ceil(log2(d64)) or floor(log2(d64)), it returns 0 if d64 == - 0 - - @param d64 (C++: uint64) - - -ida_pro.log2floor(): - - log2floor(d64) -> int - - -class ida_pro.longlongvec_t(): - - Proxy of C++ qvector<(long long)> class - - -ida_pro.longlongvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.longlongvec_t.append(): - - push_back(self, x) - push_back(self) -> long long & - - -ida_pro.longlongvec_t.at(): - - __getitem__(self, i) -> long long const & - - -ida_pro.longlongvec_t.begin(): - - begin(self) -> qvector< long long >::iterator - begin(self) -> qvector< long long >::const_iterator - - -ida_pro.longlongvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.longlongvec_t.clear(): - - clear(self) - - -ida_pro.longlongvec_t.empty(): - - empty(self) -> bool - - -ida_pro.longlongvec_t.end(): - - end(self) -> qvector< long long >::iterator - end(self) -> qvector< long long >::const_iterator - - -ida_pro.longlongvec_t.erase(): - - erase(self, it) -> qvector< long long >::iterator - erase(self, first, last) -> qvector< long long >::iterator - - -ida_pro.longlongvec_t.extract(): - - extract(self) -> long long * - - -ida_pro.longlongvec_t.find(): - - find(self, x) -> qvector< long long >::iterator - find(self, x) -> qvector< long long >::const_iterator - - -ida_pro.longlongvec_t.has(): - - has(self, x) -> bool - - -ida_pro.longlongvec_t.inject(): - - inject(self, s, len) - - -ida_pro.longlongvec_t.insert(): - - insert(self, it, x) -> qvector< long long >::iterator - - -ida_pro.longlongvec_t.pop_back(): - - pop_back(self) - - -ida_pro.longlongvec_t.push_back(): - - push_back(self, x) - push_back(self) -> long long & - - -ida_pro.longlongvec_t.qclear(): - - qclear(self) - - -ida_pro.longlongvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.longlongvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.longlongvec_t.size(): - - size(self) -> size_t - - -ida_pro.longlongvec_t.swap(): - - swap(self, r) - - -ida_pro.longlongvec_t.truncate(): - - truncate(self) - - -ida_pro.parse_dbgopts(): - - 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 *) - @param r_switch (C++: const char *) - @return: true-ok, false-parse error - - -ida_pro.qatoll(): - - qatoll(nptr) -> int64 - - -ida_pro.qcontrol_tty(): - - qcontrol_tty() - - - Make the current terminal the controlling terminal of the calling - process.The current terminal is supposed to be /dev/tty - - -ida_pro.qdetach_tty(): - - qdetach_tty() - - - If the current terminal is the controlling terminal of the calling - process, give up this controlling terminal.The current terminal is - supposed to be /dev/tty - - -ida_pro.qexit(): - - qexit(code) - - - Call qatexit functions, shut down UI and kernel, and exit. - - @param code: exit code (C++: int) - - -class ida_pro.qmutex_locker_t(): - - Proxy of C++ qmutex_locker_t class - - -class ida_pro.qrefcnt_obj_t(): - - Proxy of C++ qrefcnt_obj_t class - - -ida_pro.qrefcnt_obj_t.refcnt: - qrefcnt_obj_t_refcnt_get(self) -> int - -ida_pro.qrefcnt_obj_t.release(): - - release(self) - - -ida_pro.qstrvec_t_add(): - - qstrvec_t_add(self, s) -> bool - - -ida_pro.qstrvec_t_addressof(): - - qstrvec_t_addressof(self, idx) -> PyObject * - - -ida_pro.qstrvec_t_assign(): - - qstrvec_t_assign(self, other) -> bool - - -ida_pro.qstrvec_t_clear(): - - qstrvec_t_clear(self, qclear) -> bool - - -ida_pro.qstrvec_t_create(): - - qstrvec_t_create() -> PyObject * - - -ida_pro.qstrvec_t_destroy(): - - qstrvec_t_destroy(py_obj) -> bool - - -ida_pro.qstrvec_t_from_list(): - - qstrvec_t_from_list(self, py_list) -> bool - - -ida_pro.qstrvec_t_get(): - - qstrvec_t_get(self, idx) -> PyObject * - - -ida_pro.qstrvec_t_get_clink(): - - qstrvec_t_get_clink(self) -> qstrvec_t * - - -ida_pro.qstrvec_t_get_clink_ptr(): - - qstrvec_t_get_clink_ptr(self) -> PyObject * - - -ida_pro.qstrvec_t_insert(): - - qstrvec_t_insert(self, idx, s) -> bool - - -ida_pro.qstrvec_t_remove(): - - qstrvec_t_remove(self, idx) -> bool - - -ida_pro.qstrvec_t_set(): - - qstrvec_t_set(self, idx, s) -> bool - - -ida_pro.qstrvec_t_size(): - - qstrvec_t_size(self) -> size_t - - -ida_pro.quote_cmdline_arg(): - - 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' - - -ida_pro.qvector_reserve(): - - qvector_reserve(vec, old, cnt, elsize) -> void * - - - Change capacity of given qvector. - - @param vec: a pointer to a qvector (C++: void *) - @param old: a pointer to the qvector's array (C++: void *) - @param cnt: number of elements to reserve (C++: size_t) - @param elsize: size of each element (C++: size_t) - @return: a pointer to the newly allocated array - - -ida_pro.readbytes(): - - readbytes(h, res, size, mf) -> int - - - Read at most 4 bytes from file. - - @param h: file handle (C++: int) - @param res: value read from file (C++: uint32 *) - @param size: size of value in bytes (1,2,4) (C++: int) - @param mf: is MSB first? (C++: bool) - @return: 0 on success, nonzero otherwise - - -ida_pro.reloc_value(): - - reloc_value(value, size, delta, mf) - - -ida_pro.relocate_relobj(): - - relocate_relobj(_relobj, ea, mf) -> bool - - -class ida_pro.sel_array(): - - Proxy of C++ sel_array class - - -ida_pro.sel_array.cast(): - - cast(self) -> sel_t * - - -ida_pro.sel_array.frompointer(): - - frompointer(t) -> sel_array - - -ida_pro.sel_array_frompointer(): - - sel_array_frompointer(t) -> sel_array - - -class ida_pro.sel_pointer(): - - Proxy of C++ sel_pointer class - - -ida_pro.sel_pointer.assign(): - - assign(self, value) - - -ida_pro.sel_pointer.cast(): - - cast(self) -> sel_t * - - -ida_pro.sel_pointer.frompointer(): - - frompointer(t) -> sel_pointer - - -ida_pro.sel_pointer.value(): - - value(self) -> sel_t - - -ida_pro.sel_pointer_frompointer(): - - sel_pointer_frompointer(t) -> sel_pointer - - -ida_pro.set_bits(): - - set_bits(bitmap, low, high) - - - Set bits between [low, high) in 'bitmap'. - - - @param bitmap (C++: uchar *) - @param low (C++: size_t) - @param high (C++: size_t) - - -class ida_pro.sizevec_t(): - - Proxy of C++ qvector<(size_t)> class - - -ida_pro.sizevec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.sizevec_t.at(): - - at(self, _idx) -> size_t const & - - -ida_pro.sizevec_t.begin(): - - begin(self) -> qvector< size_t >::iterator - begin(self) -> qvector< size_t >::const_iterator - - -ida_pro.sizevec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.sizevec_t.clear(): - - clear(self) - - -ida_pro.sizevec_t.empty(): - - empty(self) -> bool - - -ida_pro.sizevec_t.end(): - - end(self) -> qvector< size_t >::iterator - end(self) -> qvector< size_t >::const_iterator - - -ida_pro.sizevec_t.erase(): - - erase(self, it) -> qvector< size_t >::iterator - erase(self, first, last) -> qvector< size_t >::iterator - - -ida_pro.sizevec_t.extract(): - - extract(self) -> size_t * - - -ida_pro.sizevec_t.find(): - - find(self, x) -> qvector< size_t >::iterator - find(self, x) -> qvector< size_t >::const_iterator - - -ida_pro.sizevec_t.grow(): - - grow(self, x=size_t()) - - -ida_pro.sizevec_t.has(): - - has(self, x) -> bool - - -ida_pro.sizevec_t.inject(): - - inject(self, s, len) - - -ida_pro.sizevec_t.insert(): - - insert(self, it, x) -> qvector< size_t >::iterator - - -ida_pro.sizevec_t.pop_back(): - - pop_back(self) - - -ida_pro.sizevec_t.push_back(): - - push_back(self, x) - push_back(self) -> size_t & - - -ida_pro.sizevec_t.qclear(): - - qclear(self) - - -ida_pro.sizevec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.sizevec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.sizevec_t.size(): - - size(self) -> size_t - - -ida_pro.sizevec_t.swap(): - - swap(self, r) - - -ida_pro.sizevec_t.truncate(): - - truncate(self) - - -ida_pro.str2user(): - - str2user(str) -> PyObject * - - - Insert C-style escape characters to string - - @return: new string with escape characters inserted - - -class ida_pro.strvec_t(): - - Proxy of C++ qvector<(simpleline_t)> class - - -ida_pro.strvec_t.append(): - - push_back(self, x) - push_back(self) -> simpleline_t & - - -ida_pro.strvec_t.at(): - - __getitem__(self, i) -> simpleline_t const & - - -ida_pro.strvec_t.begin(): - - begin(self) -> qvector< simpleline_t >::iterator - begin(self) -> qvector< simpleline_t >::const_iterator - - -ida_pro.strvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.strvec_t.clear(): - - clear(self) - - -ida_pro.strvec_t.empty(): - - empty(self) -> bool - - -ida_pro.strvec_t.end(): - - end(self) -> qvector< simpleline_t >::iterator - end(self) -> qvector< simpleline_t >::const_iterator - - -ida_pro.strvec_t.erase(): - - erase(self, it) -> qvector< simpleline_t >::iterator - erase(self, first, last) -> qvector< simpleline_t >::iterator - - -ida_pro.strvec_t.extract(): - - extract(self) -> simpleline_t * - - -ida_pro.strvec_t.grow(): - - grow(self, x=simpleline_t()) - - -ida_pro.strvec_t.inject(): - - inject(self, s, len) - - -ida_pro.strvec_t.insert(): - - insert(self, it, x) -> qvector< simpleline_t >::iterator - - -ida_pro.strvec_t.pop_back(): - - pop_back(self) - - -ida_pro.strvec_t.push_back(): - - push_back(self, x) - push_back(self) -> simpleline_t & - - -ida_pro.strvec_t.qclear(): - - qclear(self) - - -ida_pro.strvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.strvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.strvec_t.size(): - - size(self) -> size_t - - -ida_pro.strvec_t.swap(): - - swap(self, r) - - -ida_pro.strvec_t.truncate(): - - truncate(self) - - -class ida_pro.sval_pointer(): - - Proxy of C++ sval_pointer class - - -ida_pro.sval_pointer.assign(): - - assign(self, value) - - -ida_pro.sval_pointer.cast(): - - cast(self) -> sval_t * - - -ida_pro.sval_pointer.frompointer(): - - frompointer(t) -> sval_pointer - - -ida_pro.sval_pointer.value(): - - value(self) -> sval_t - - -ida_pro.sval_pointer_frompointer(): - - sval_pointer_frompointer(t) -> sval_pointer - - -class ida_pro.svalvec_t(): - - Proxy of C++ qvector<(signed-ea-like-numeric-type)> class - - -ida_pro.svalvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.svalvec_t.append(): - - push_back(self, x) - push_back(self) -> signed-ea-like-numeric-type & - - -ida_pro.svalvec_t.at(): - - __getitem__(self, i) -> signed-ea-like-numeric-type & - - -ida_pro.svalvec_t.begin(): - - begin(self) -> qvector< signed-ea-like-numeric-type >::iterator - begin(self) -> qvector< signed-ea-like-numeric-type >::const_iterator - - -ida_pro.svalvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.svalvec_t.clear(): - - clear(self) - - -ida_pro.svalvec_t.empty(): - - empty(self) -> bool - - -ida_pro.svalvec_t.end(): - - end(self) -> qvector< signed-ea-like-numeric-type >::iterator - end(self) -> qvector< signed-ea-like-numeric-type >::const_iterator - - -ida_pro.svalvec_t.erase(): - - erase(self, it) -> qvector< signed-ea-like-numeric-type >::iterator - erase(self, first, last) -> qvector< signed-ea-like-numeric-type >::iterator - - -ida_pro.svalvec_t.extract(): - - extract(self) -> signed-ea-like-numeric-type * - - -ida_pro.svalvec_t.find(): - - find(self, x) -> qvector< signed-ea-like-numeric-type >::iterator - find(self, x) -> qvector< signed-ea-like-numeric-type >::const_iterator - - -ida_pro.svalvec_t.has(): - - has(self, x) -> bool - - -ida_pro.svalvec_t.inject(): - - inject(self, s, len) - - -ida_pro.svalvec_t.insert(): - - insert(self, it, x) -> qvector< signed-ea-like-numeric-type >::iterator - - -ida_pro.svalvec_t.pop_back(): - - pop_back(self) - - -ida_pro.svalvec_t.push_back(): - - push_back(self, x) - push_back(self) -> signed-ea-like-numeric-type & - - -ida_pro.svalvec_t.qclear(): - - qclear(self) - - -ida_pro.svalvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.svalvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.svalvec_t.size(): - - size(self) -> size_t - - -ida_pro.svalvec_t.swap(): - - swap(self, r) - - -ida_pro.svalvec_t.truncate(): - - truncate(self) - - -class ida_pro.tid_array(): - - Proxy of C++ tid_array class - - -ida_pro.tid_array.cast(): - - cast(self) -> tid_t * - - -ida_pro.tid_array.frompointer(): - - frompointer(t) -> tid_array - - -ida_pro.tid_array_frompointer(): - - tid_array_frompointer(t) -> tid_array - - -class ida_pro.uchar_array(): - - Proxy of C++ uchar_array class - - -ida_pro.uchar_array.cast(): - - cast(self) -> uchar * - - -ida_pro.uchar_array.frompointer(): - - frompointer(t) -> uchar_array - - -ida_pro.uchar_array_frompointer(): - - uchar_array_frompointer(t) -> uchar_array - - -class ida_pro.uint64vec_t(): - - Proxy of C++ qvector<(unsigned long long)> class - - -ida_pro.uint64vec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.uint64vec_t.append(): - - push_back(self, x) - push_back(self) -> unsigned long long & - - -ida_pro.uint64vec_t.at(): - - __getitem__(self, i) -> unsigned long long const & - - -ida_pro.uint64vec_t.begin(): - - begin(self) -> qvector< unsigned long long >::iterator - begin(self) -> qvector< unsigned long long >::const_iterator - - -ida_pro.uint64vec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.uint64vec_t.clear(): - - clear(self) - - -ida_pro.uint64vec_t.empty(): - - empty(self) -> bool - - -ida_pro.uint64vec_t.end(): - - end(self) -> qvector< unsigned long long >::iterator - end(self) -> qvector< unsigned long long >::const_iterator - - -ida_pro.uint64vec_t.erase(): - - erase(self, it) -> qvector< unsigned long long >::iterator - erase(self, first, last) -> qvector< unsigned long long >::iterator - - -ida_pro.uint64vec_t.extract(): - - extract(self) -> unsigned long long * - - -ida_pro.uint64vec_t.find(): - - find(self, x) -> qvector< unsigned long long >::iterator - find(self, x) -> qvector< unsigned long long >::const_iterator - - -ida_pro.uint64vec_t.has(): - - has(self, x) -> bool - - -ida_pro.uint64vec_t.inject(): - - inject(self, s, len) - - -ida_pro.uint64vec_t.insert(): - - insert(self, it, x) -> qvector< unsigned long long >::iterator - - -ida_pro.uint64vec_t.pop_back(): - - pop_back(self) - - -ida_pro.uint64vec_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned long long & - - -ida_pro.uint64vec_t.qclear(): - - qclear(self) - - -ida_pro.uint64vec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.uint64vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.uint64vec_t.size(): - - size(self) -> size_t - - -ida_pro.uint64vec_t.swap(): - - swap(self, r) - - -ida_pro.uint64vec_t.truncate(): - - truncate(self) - - -class ida_pro.uintvec_t(): - - Proxy of C++ qvector<(unsigned int)> class - - -ida_pro.uintvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.uintvec_t.append(): - - push_back(self, x) - push_back(self) -> unsigned int & - - -ida_pro.uintvec_t.at(): - - __getitem__(self, i) -> unsigned int const & - - -ida_pro.uintvec_t.begin(): - - begin(self) -> qvector< unsigned int >::iterator - begin(self) -> qvector< unsigned int >::const_iterator - - -ida_pro.uintvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.uintvec_t.clear(): - - clear(self) - - -ida_pro.uintvec_t.empty(): - - empty(self) -> bool - - -ida_pro.uintvec_t.end(): - - end(self) -> qvector< unsigned int >::iterator - end(self) -> qvector< unsigned int >::const_iterator - - -ida_pro.uintvec_t.erase(): - - erase(self, it) -> qvector< unsigned int >::iterator - erase(self, first, last) -> qvector< unsigned int >::iterator - - -ida_pro.uintvec_t.extract(): - - extract(self) -> unsigned int * - - -ida_pro.uintvec_t.find(): - - find(self, x) -> qvector< unsigned int >::iterator - find(self, x) -> qvector< unsigned int >::const_iterator - - -ida_pro.uintvec_t.has(): - - has(self, x) -> bool - - -ida_pro.uintvec_t.inject(): - - inject(self, s, len) - - -ida_pro.uintvec_t.insert(): - - insert(self, it, x) -> qvector< unsigned int >::iterator - - -ida_pro.uintvec_t.pop_back(): - - pop_back(self) - - -ida_pro.uintvec_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned int & - - -ida_pro.uintvec_t.qclear(): - - qclear(self) - - -ida_pro.uintvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.uintvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.uintvec_t.size(): - - size(self) -> size_t - - -ida_pro.uintvec_t.swap(): - - swap(self, r) - - -ida_pro.uintvec_t.truncate(): - - truncate(self) - - -class ida_pro.ulonglongvec_t(): - - Proxy of C++ qvector<(unsigned long long)> class - - -ida_pro.ulonglongvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.ulonglongvec_t.append(): - - push_back(self, x) - push_back(self) -> unsigned long long & - - -ida_pro.ulonglongvec_t.at(): - - __getitem__(self, i) -> unsigned long long const & - - -ida_pro.ulonglongvec_t.begin(): - - begin(self) -> qvector< unsigned long long >::iterator - begin(self) -> qvector< unsigned long long >::const_iterator - - -ida_pro.ulonglongvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.ulonglongvec_t.clear(): - - clear(self) - - -ida_pro.ulonglongvec_t.empty(): - - empty(self) -> bool - - -ida_pro.ulonglongvec_t.end(): - - end(self) -> qvector< unsigned long long >::iterator - end(self) -> qvector< unsigned long long >::const_iterator - - -ida_pro.ulonglongvec_t.erase(): - - erase(self, it) -> qvector< unsigned long long >::iterator - erase(self, first, last) -> qvector< unsigned long long >::iterator - - -ida_pro.ulonglongvec_t.extract(): - - extract(self) -> unsigned long long * - - -ida_pro.ulonglongvec_t.find(): - - find(self, x) -> qvector< unsigned long long >::iterator - find(self, x) -> qvector< unsigned long long >::const_iterator - - -ida_pro.ulonglongvec_t.has(): - - has(self, x) -> bool - - -ida_pro.ulonglongvec_t.inject(): - - inject(self, s, len) - - -ida_pro.ulonglongvec_t.insert(): - - insert(self, it, x) -> qvector< unsigned long long >::iterator - - -ida_pro.ulonglongvec_t.pop_back(): - - pop_back(self) - - -ida_pro.ulonglongvec_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned long long & - - -ida_pro.ulonglongvec_t.qclear(): - - qclear(self) - - -ida_pro.ulonglongvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.ulonglongvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.ulonglongvec_t.size(): - - size(self) -> size_t - - -ida_pro.ulonglongvec_t.swap(): - - swap(self, r) - - -ida_pro.ulonglongvec_t.truncate(): - - truncate(self) - - -class ida_pro.uval_array(): - - Proxy of C++ uval_array class - - -ida_pro.uval_array.cast(): - - cast(self) -> uval_t * - - -ida_pro.uval_array.frompointer(): - - frompointer(t) -> uval_array - - -ida_pro.uval_array_frompointer(): - - uval_array_frompointer(t) -> uval_array - - -class ida_pro.uvalvec_t(): - - Proxy of C++ qvector<(unsigned-ea-like-numeric-type)> class - - -ida_pro.uvalvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_pro.uvalvec_t.append(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_pro.uvalvec_t.at(): - - __getitem__(self, i) -> unsigned-ea-like-numeric-type & - - -ida_pro.uvalvec_t.begin(): - - begin(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - begin(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.uvalvec_t.capacity(): - - capacity(self) -> size_t - - -ida_pro.uvalvec_t.clear(): - - clear(self) - - -ida_pro.uvalvec_t.empty(): - - empty(self) -> bool - - -ida_pro.uvalvec_t.end(): - - end(self) -> qvector< unsigned-ea-like-numeric-type >::iterator - end(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.uvalvec_t.erase(): - - erase(self, it) -> qvector< unsigned-ea-like-numeric-type >::iterator - erase(self, first, last) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_pro.uvalvec_t.extract(): - - extract(self) -> unsigned-ea-like-numeric-type * - - -ida_pro.uvalvec_t.find(): - - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - find(self, x) -> qvector< unsigned-ea-like-numeric-type >::const_iterator - - -ida_pro.uvalvec_t.has(): - - has(self, x) -> bool - - -ida_pro.uvalvec_t.inject(): - - inject(self, s, len) - - -ida_pro.uvalvec_t.insert(): - - insert(self, it, x) -> qvector< unsigned-ea-like-numeric-type >::iterator - - -ida_pro.uvalvec_t.pop_back(): - - pop_back(self) - - -ida_pro.uvalvec_t.push_back(): - - push_back(self, x) - push_back(self) -> unsigned-ea-like-numeric-type & - - -ida_pro.uvalvec_t.qclear(): - - qclear(self) - - -ida_pro.uvalvec_t.reserve(): - - reserve(self, cnt) - - -ida_pro.uvalvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_pro.uvalvec_t.size(): - - size(self) -> size_t - - -ida_pro.uvalvec_t.swap(): - - swap(self, r) - - -ida_pro.uvalvec_t.truncate(): - - truncate(self) - - -ida_pro.writebytes(): - - writebytes(h, l, size, mf) -> int - - - Write at most 4 bytes to file. - - @param h: file handle (C++: int) - @param l: value to write (C++: uint32) - @param size: size of value in bytes (1,2,4) (C++: int) - @param mf: is MSB first? (C++: bool) - @return: 0 on success, nonzero otherwise - - - -=== ida_pro EPYDOC INJECTIONS === -ida_pro.CP_UTF16 -""" -UTF-16 codepage. -""" - -ida_pro.IDA_SDK_VERSION -""" -IDA SDK v7.3. -""" - -ida_pro.IDBDEC_ESCAPE -""" -convert non-printable characters to C escapes (, \\xNN, \\uNNNN) -""" - -ida_pro.IOREDIR_APPEND -""" -append, do not overwrite the output file -""" - -ida_pro.IOREDIR_INPUT -""" -input redirection -""" - -ida_pro.IOREDIR_OUTPUT -""" -output redirection -""" - -ida_pro.IOREDIR_QUOTED -""" -the file name was quoted -""" - -ida_pro.MAXSTR -""" -maximum string size -""" - -ida_pro.SUBSTCHAR -""" -default char, used if a char cannot be represented in a codepage -""" - -ida_pro.__MF__ -""" -byte sex of our platform (Most significant byte First). 0: little -endian (Intel 80x86). 1: big endian (PowerPC). -""" -=== ida_pro EPYDOC INJECTIONS END === -ida_problems.forget_problem(): - - forget_problem(type, ea) -> bool - - - Remove an address from a problem list - - @param type: problem list type (C++: problist_id_t) - @param ea: linear address (C++: ea_t) - @return: success - - -ida_problems.get_problem(): - - get_problem(type, lowea) -> ea_t - - - Get an address from the specified problem list. The address is not - removed from the list. - - @param type: problem list type (C++: problist_id_t) - @param lowea: the returned address will be higher or equal than the - specified address (C++: ea_t) - @return: linear address or BADADDR - - -ida_problems.get_problem_desc(): - - get_problem_desc(t, ea) -> ssize_t - - - Get the human-friendly description of the problem, if one was provided - to remember_problem. - - @param t: problem list type. (C++: problist_id_t) - @param ea: linear address. (C++: ea_t) - @return: the message length or -1 if none - - -ida_problems.get_problem_name(): - - get_problem_name(type, longname=True) -> char const * - - - Get problem list description. - - - @param type (C++: problist_id_t) - @param longname (C++: bool) - - -ida_problems.is_problem_present(): - - 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) - - -ida_problems.remember_problem(): - - 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: problem list type (C++: problist_id_t) - @param ea: linear address (C++: ea_t) - @param msg: a user-friendly message to be displayed instead of the - default more generic one associated with the type of - problem. Defaults to NULL. (C++: const char *) - - -ida_problems.was_ida_decision(): - - was_ida_decision(ea) -> bool - - -class ida_range.array_of_rangesets(): - - Proxy of C++ qvector<(rangeset_t)> class - - -ida_range.array_of_rangesets.add_unique(): - - add_unique(self, x) -> bool - - -ida_range.array_of_rangesets.at(): - - at(self, _idx) -> rangeset_t - - -ida_range.array_of_rangesets.begin(): - - begin(self) -> rangeset_t - begin(self) -> rangeset_t - - -ida_range.array_of_rangesets.capacity(): - - capacity(self) -> size_t - - -ida_range.array_of_rangesets.clear(): - - clear(self) - - -ida_range.array_of_rangesets.empty(): - - empty(self) -> bool - - -ida_range.array_of_rangesets.end(): - - end(self) -> rangeset_t - end(self) -> rangeset_t - - -ida_range.array_of_rangesets.erase(): - - erase(self, it) -> rangeset_t - erase(self, first, last) -> rangeset_t - - -ida_range.array_of_rangesets.extract(): - - extract(self) -> rangeset_t - - -ida_range.array_of_rangesets.find(): - - find(self, x) -> rangeset_t - find(self, x) -> rangeset_t - - -ida_range.array_of_rangesets.grow(): - - grow(self, x=rangeset_t()) - - -ida_range.array_of_rangesets.has(): - - has(self, x) -> bool - - -ida_range.array_of_rangesets.inject(): - - inject(self, s, len) - - -ida_range.array_of_rangesets.insert(): - - insert(self, it, x) -> rangeset_t - - -ida_range.array_of_rangesets.pop_back(): - - pop_back(self) - - -ida_range.array_of_rangesets.push_back(): - - push_back(self, x) - push_back(self) -> rangeset_t - - -ida_range.array_of_rangesets.qclear(): - - qclear(self) - - -ida_range.array_of_rangesets.reserve(): - - reserve(self, cnt) - - -ida_range.array_of_rangesets.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_range.array_of_rangesets.size(): - - size(self) -> size_t - - -ida_range.array_of_rangesets.swap(): - - swap(self, r) - - -ida_range.array_of_rangesets.truncate(): - - truncate(self) - - -class ida_range.range_t(): - - Proxy of C++ range_t class - - -ida_range.range_t._print(): - - _print(self) -> size_t - - -ida_range.range_t.clear(): - - clear(self) - - -ida_range.range_t.compare(): - - compare(self, r) -> int - - -ida_range.range_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_range.range_t.empty(): - - empty(self) -> bool - - -ida_range.range_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_range.range_t.extend(): - - extend(self, ea) - - -ida_range.range_t.intersect(): - - intersect(self, r) - - -ida_range.range_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_range.range_t.size(): - - size(self) -> asize_t - - -ida_range.range_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_range.range_t_print(): - - range_t_print(cb) -> size_t - - - Helper function. Should not be called directly! - - -class ida_range.rangeset_t(): - - Proxy of C++ rangeset_t class - - -ida_range.rangeset_t._print(): - - _print(self) -> size_t - - -ida_range.rangeset_t.add(): - - add(self, range) -> bool - add(self, start, _end) -> bool - add(self, aset) -> bool - - -ida_range.rangeset_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_range.rangeset_t.cached_range(): - - cached_range(self) -> range_t - - -ida_range.rangeset_t.clear(): - - clear(self) - - -ida_range.rangeset_t.contains(): - - contains(self, ea) -> bool - contains(self, aset) -> bool - - -ida_range.rangeset_t.empty(): - - empty(self) -> bool - - -ida_range.rangeset_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_range.rangeset_t.find_range(): - - find_range(self, ea) -> range_t - - -ida_range.rangeset_t.getrange(): - - getrange(self, idx) -> range_t - - -ida_range.rangeset_t.has_common(): - - has_common(self, range) -> bool - has_common(self, aset) -> bool - - -ida_range.rangeset_t.includes(): - - includes(self, range) -> bool - - -ida_range.rangeset_t.intersect(): - - intersect(self, aset) -> bool - - -ida_range.rangeset_t.is_equal(): - - is_equal(self, aset) -> bool - - -ida_range.rangeset_t.is_subset_of(): - - is_subset_of(self, aset) -> bool - - -ida_range.rangeset_t.lastrange(): - - lastrange(self) -> range_t - - -ida_range.rangeset_t.next_addr(): - - next_addr(self, ea) -> ea_t - - -ida_range.rangeset_t.next_range(): - - next_range(self, ea) -> ea_t - - -ida_range.rangeset_t.nranges(): - - nranges(self) -> size_t - - -ida_range.rangeset_t.prev_addr(): - - prev_addr(self, ea) -> ea_t - - -ida_range.rangeset_t.prev_range(): - - prev_range(self, ea) -> ea_t - - -ida_range.rangeset_t.sub(): - - sub(self, range) -> bool - sub(self, ea) -> bool - sub(self, aset) -> bool - - -ida_range.rangeset_t.swap(): - - swap(self, r) - - -class ida_range.rangevec_base_t(): - - Proxy of C++ qvector<(range_t)> class - - -ida_range.rangevec_base_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_range.rangevec_base_t.at(): - - at(self, _idx) -> range_t - - -ida_range.rangevec_base_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_range.rangevec_base_t.capacity(): - - capacity(self) -> size_t - - -ida_range.rangevec_base_t.clear(): - - clear(self) - - -ida_range.rangevec_base_t.empty(): - - empty(self) -> bool - - -ida_range.rangevec_base_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_range.rangevec_base_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_range.rangevec_base_t.extract(): - - extract(self) -> range_t - - -ida_range.rangevec_base_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_range.rangevec_base_t.grow(): - - grow(self, x=range_t()) - - -ida_range.rangevec_base_t.has(): - - has(self, x) -> bool - - -ida_range.rangevec_base_t.inject(): - - inject(self, s, len) - - -ida_range.rangevec_base_t.insert(): - - insert(self, it, x) -> range_t - - -ida_range.rangevec_base_t.pop_back(): - - pop_back(self) - - -ida_range.rangevec_base_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_range.rangevec_base_t.qclear(): - - qclear(self) - - -ida_range.rangevec_base_t.reserve(): - - reserve(self, cnt) - - -ida_range.rangevec_base_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_range.rangevec_base_t.size(): - - size(self) -> size_t - - -ida_range.rangevec_base_t.swap(): - - swap(self, r) - - -ida_range.rangevec_base_t.truncate(): - - truncate(self) - - -class ida_range.rangevec_t(): - - Proxy of C++ rangevec_t class - - -ida_range.rangevec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_range.rangevec_t.at(): - - at(self, _idx) -> range_t - - -ida_range.rangevec_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_range.rangevec_t.capacity(): - - capacity(self) -> size_t - - -ida_range.rangevec_t.clear(): - - clear(self) - - -ida_range.rangevec_t.empty(): - - empty(self) -> bool - - -ida_range.rangevec_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_range.rangevec_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_range.rangevec_t.extract(): - - extract(self) -> range_t - - -ida_range.rangevec_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_range.rangevec_t.grow(): - - grow(self, x=range_t()) - - -ida_range.rangevec_t.has(): - - has(self, x) -> bool - - -ida_range.rangevec_t.inject(): - - inject(self, s, len) - - -ida_range.rangevec_t.insert(): - - insert(self, it, x) -> range_t - - -ida_range.rangevec_t.pop_back(): - - pop_back(self) - - -ida_range.rangevec_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_range.rangevec_t.qclear(): - - qclear(self) - - -ida_range.rangevec_t.reserve(): - - reserve(self, cnt) - - -ida_range.rangevec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_range.rangevec_t.size(): - - size(self) -> size_t - - -ida_range.rangevec_t.swap(): - - swap(self, r) - - -ida_range.rangevec_t.truncate(): - - truncate(self) - - -ida_registry.reg_data_type(): - - reg_data_type(name, subkey=None) -> regval_type_t - - - Get data type of a given value. - - @param name: value name (C++: const char *) - @param subkey: key name (C++: const char *) - @return: false if the [key+]value doesn't exist - - -ida_registry.reg_delete(): - - reg_delete(name, subkey=None) -> bool - - - Delete a value from the registry. - - @param name: value name (C++: const char *) - @param subkey: parent key (C++: const char *) - @return: success - - -ida_registry.reg_delete_subkey(): - - reg_delete_subkey(name) -> bool - - - Delete a key from the registry. - - - @param name (C++: const char *) - - -ida_registry.reg_delete_tree(): - - reg_delete_tree(name) -> bool - - - Delete a subtree from the registry. - - - @param name (C++: const char *) - - -ida_registry.reg_exists(): - - reg_exists(name, subkey=None) -> bool - - - Is there already a value with the given name? - - @param name: value name (C++: const char *) - @param subkey: parent key (C++: const char *) - - -ida_registry.reg_flush(): - - reg_flush() - - -ida_registry.reg_load(): - - reg_load() - - -ida_registry.reg_read_binary(): - - reg_read_binary(name, subkey=None) -> PyObject * - - - Read binary data from the registry. - - @param name: value name (C++: const char *) - @param subkey: key name (C++: const char *) - @return: false if 'data' is not large enough to hold all data present. - in this case 'data' is left untouched. - - -ida_registry.reg_read_bool(): - - reg_read_bool(name, defval, subkey=None) -> bool - - - Read boolean value from the registry. - - @param name: value name (C++: const char *) - @param defval: default value (C++: bool) - @param subkey: key name (C++: const char *) - @return: boolean read from registry, or 'defval' if the read failed - - -ida_registry.reg_read_int(): - - reg_read_int(name, defval, subkey=None) -> int - - - Read integer value from the registry. - - @param name: value name (C++: const char *) - @param defval: default value (C++: int) - @param subkey: key name (C++: const char *) - @return: the value read from the registry, or 'defval' if the read - failed - - -ida_registry.reg_read_string(): - - reg_read_string(name, subkey=None, _def=None) -> PyObject * - - - Read a string from the registry. - - @param name: value name (C++: const char *) - @param subkey: key name (C++: const char *) - @return: success - - -ida_registry.reg_read_strlist(): - - reg_read_strlist(subkey) - - - Retrieve all string values associated with the given key. Also see - 'reg_update_strlist()' . - - @param subkey (C++: const char *) - - -ida_registry.reg_subkey_exists(): - - reg_subkey_exists(name) -> bool - - - Is there already a key with the given name? - - - @param name (C++: const char *) - - -ida_registry.reg_subkey_subkeys(): - - reg_subkey_subkeys(name) -> PyObject * - - - Get all subkey names of given key. - - - @param name (C++: const char *) - - -ida_registry.reg_subkey_values(): - - reg_subkey_values(name) -> PyObject * - - - Get all value names under given key. - - - @param name (C++: const char *) - - -ida_registry.reg_update_filestrlist(): - - reg_update_filestrlist(subkey, add, maxrecs, rem=None) - - - Update registry with a file list. Case sensitivity will vary depending - on the target OS.'add' and 'rem' must be UTF-8, just like for regular - string operations. - - @param subkey (C++: const char *) - @param add (C++: const char *) - @param maxrecs (C++: size_t) - @param rem (C++: const char *) - - -ida_registry.reg_update_strlist(): - - reg_update_strlist(subkey, add, maxrecs, rem=None, ignorecase=False) - - - Update list of strings associated with given key. - - @param subkey: key name (C++: const char *) - @param add: string to be added to list, can be NULL (C++: const char - *) - @param maxrecs: limit list to this size (C++: size_t) - @param rem: string to be removed from list, can be NULL (C++: const - char *) - @param ignorecase: ignore case for 'add' and 'rem' (C++: bool) - - -ida_registry.reg_write_binary(): - - reg_write_binary(name, py_bytes, subkey=None) - - - Write binary data to the registry. - - @param name: value name (C++: const char *) - @param subkey: key name (C++: const char *) - - -ida_registry.reg_write_bool(): - - reg_write_bool(name, value, subkey=None) - - - Write boolean value to the registry. - - @param name: value name (C++: const char *) - @param value: boolean to write (nonzero = true) (C++: int) - @param subkey: key name (C++: const char *) - - -ida_registry.reg_write_int(): - - reg_write_int(name, value, subkey=None) - - - Write integer value to the registry. - - @param name: value name (C++: const char *) - @param value: value to write (C++: int) - @param subkey: key name (C++: const char *) - - -ida_registry.reg_write_string(): - - reg_write_string(name, utf8, subkey=None) - - - Write a string to the registry. - - @param name: value name (C++: const char *) - @param utf8: utf8-encoded string (C++: const char *) - @param subkey: key name (C++: const char *) - - - -=== ida_registry EPYDOC INJECTIONS === -ida_registry.ROOT_KEY_NAME -""" -Key used to store IDA settings in registry (Windows version).this name -is automatically prepended to all key names passed to functions in -this file. -""" -=== ida_registry EPYDOC INJECTIONS END === -ida_search.find_binary(): - - find_binary(arg1, arg2, arg3, arg4, arg5) -> ea_t - - -ida_search.find_code(): - - find_code(ea, sflag) -> ea_t - - - Find next code address. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.find_data(): - - find_data(ea, sflag) -> ea_t - - - Find next data address. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.find_defined(): - - 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) - - -ida_search.find_error(): - - find_error(ea, sflag) -> ea_t - - - Find next error or problem. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.find_imm(): - - find_imm(newEA, sflag, srchValue) -> ea_t - - - Find next immediate operand with the given value. - - - @param newEA (C++: ea_t) - @param sflag (C++: int) - @param srchValue (C++: uval_t) - - -ida_search.find_not_func(): - - 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) - - -ida_search.find_notype(): - - find_notype(ea, sflag) -> ea_t - - - Find next operand without any type info. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.find_suspop(): - - find_suspop(ea, sflag) -> ea_t - - - Find next suspicious operand. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.find_text(): - - 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 *) - @param sflag (C++: int) - - -ida_search.find_unknown(): - - find_unknown(ea, sflag) -> ea_t - - - Find next unexplored address. - - - @param ea (C++: ea_t) - @param sflag (C++: int) - - -ida_search.search_down(): - - search_down(sflag) -> bool - - - Is the 'SEARCH_DOWN' bit set? - - - @param sflag (C++: int) - - - -=== ida_search EPYDOC INJECTIONS === -ida_search.SEARCH_BRK -""" -return 'BADADDR' if Ctrl-Break wass pressed during search -""" - -ida_search.SEARCH_CASE -""" -case-sensitive search (case-insensitive otherwise) -""" - -ida_search.SEARCH_DOWN -""" -search towards higher addresses -""" - -ida_search.SEARCH_IDENT -""" -search for an identifier (text search). it means that the characters -before and after the match cannot be is_visible_char(). -""" - -ida_search.SEARCH_NEXT -""" -for other find_.. functions it is implicitly set - -useful only for 'search()' and find_binary(). -""" - -ida_search.SEARCH_NOBRK -""" -don't test for ctrl-break to interrupt the search -""" - -ida_search.SEARCH_NOSHOW -""" -don't display the search progress/refresh screen -""" - -ida_search.SEARCH_REGEX -""" -regular expressions in search string (only supported for txt search) -""" - -ida_search.SEARCH_UP -""" -search towards lower addresses -""" -=== ida_search EPYDOC INJECTIONS END === -ida_segment.add_segm(): - - 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: segment base paragraph. if paragraph can't fit in 16bit, - then a new selector is allocated and mapped to the - paragraph. (C++: ea_t) - @param start: start address of the segment. if start== BADADDR then - start <- to_ea(para,0). (C++: ea_t) - @param end: end address of the segment. end address should be higher - than start address. For emulate empty segments, use - SEG_NULL segment type. If the end address is lower than - start address, then fail. If end== BADADDR , then a - segment up to the next segment will be created (if the - next segment doesn't exist, then 1 byte segment will be - created). If 'end' is too high and the new segment would - overlap the next segment, 'end' is adjusted properly. - (C++: ea_t) - @param name: name of new segment. may be NULL (C++: const char *) - @param sclass: class of the segment. may be NULL. type of the new - segment is modified if class is one of predefined - names: "CODE" -> SEG_CODE "DATA" -> SEG_DATA - "CONST" -> SEG_DATA "STACK" -> SEG_BSS "BSS" -> - SEG_BSS "XTRN" -> SEG_XTRN "COMM" -> SEG_COMM - "ABS" -> SEG_ABSSYM (C++: const char *) - @param flags (C++: int) - - -ida_segment.add_segm_ex(): - - add_segm_ex(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 s: pointer to filled segment structure. segment selector should - have proper mapping (see set_selector() ). if - s.start_ea== BADADDR then s.start_ea <- get_segm_base(&s) - if s.end_ea== BADADDR , then a segment up to the next - segment will be created (if the next segment doesn't exist, - then 1 byte segment will be created). if the s.end_ea < - s.start_ea, then fail. if s.end_ea is too high and the new - segment would overlap the next segment, s.end_ea is adjusted - properly. (C++: segment_t *) - @param name: name of new segment. may be NULL. if specified, the - segment is immediately renamed (C++: const char *) - @param sclass: class of the segment. may be NULL. if specified, the - segment class is immediately changed (C++: const char - *) - @param flags: Add segment flags (C++: int) - - -ida_segment.add_segment_translation(): - - add_segment_translation(segstart, mappedseg) -> bool - - - Add segment translation. - - @param segstart: start address of the segment to add translation to - (C++: ea_t) - @param mappedseg: start address of the overlayed segment (C++: ea_t) - - -ida_segment.allocate_selector(): - - 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: a new segment base paragraph (C++: ea_t) - @return: the allocated selector number - - -ida_segment.change_segment_status(): - - 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: segment to modify (C++: segment_t *) - @param is_deb_segm: new status of the segment (C++: bool) - @return: Change segment status result codes - - -ida_segment.del_segm(): - - del_segm(ea, flags) -> bool - - - Delete a segment. - - @param ea: any address belonging to the segment (C++: ea_t) - @param flags: Segment modification flags (C++: int) - - -ida_segment.del_segment_translations(): - - del_segment_translations(segstart) - - - Delete the translation list - - @param segstart: start address of the segment to delete translation - list (C++: ea_t) - - -ida_segment.del_selector(): - - 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: number of selector to remove from the translation - table (C++: sel_t) - - -ida_segment.find_free_selector(): - - find_free_selector() -> sel_t - - - Find first unused selector. - - @return: a number >= 1 - - -ida_segment.find_selector(): - - find_selector(base) -> sel_t - - - Find a selector that has mapping to the specified paragraph. - - @param base: paragraph to search in the translation table (C++: ea_t) - @return: selector value or base - - -ida_segment.get_defsr(): - - get_defsr(s, reg) -> sel_t - - -ida_segment.get_first_seg(): - - get_first_seg() -> segment_t - - - Get pointer to the first segment. - - -ida_segment.get_group_selector(): - - get_group_selector(grpsel) -> sel_t - - - Get common selector for a group of segments. - - @param grpsel: selector of group segment (C++: sel_t) - @return: common selector of the group or 'grpsel' if no such group is - found - - -ida_segment.get_last_seg(): - - get_last_seg() -> segment_t - - - Get pointer to the last segment. - - -ida_segment.get_next_seg(): - - get_next_seg(ea) -> segment_t - - - Get pointer to the next segment. - - - @param ea (C++: ea_t) - - -ida_segment.get_prev_seg(): - - get_prev_seg(ea) -> segment_t - - - Get pointer to the previous segment. - - - @param ea (C++: ea_t) - - -ida_segment.get_segm_base(): - - 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: pointer to segment (C++: const segment_t *) - @return: 0 if s == NULL, otherwise segment base linear address - - -ida_segment.get_segm_by_name(): - - 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: segment name. may be NULL. (C++: const char *) - @return: NULL or pointer to segment structure - - -ida_segment.get_segm_by_sel(): - - 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: a segment with the specified selector will be - returned (C++: sel_t) - @return: pointer to segment or NULL - - -ida_segment.get_segm_class(): - - get_segm_class(s) -> ssize_t - - - Get segment class. Segment class is arbitrary text (max 8 characters). - - @param s: pointer to segment (C++: const segment_t *) - @return: size of segment class (-1 if s==NULL or bufsize<=0) - - -ida_segment.get_segm_name(): - - get_segm_name(s, flags=0) -> ssize_t - - - Get true segment name by pointer to segment. - - @param s: pointer to segment (C++: const segment_t *) - @param flags: 0-return name as is; 1-substitute bad symbols with _ 1 - corresponds to GN_VISIBLE (C++: int) - @return: size of segment name (-1 if s==NULL) - - -ida_segment.get_segm_num(): - - get_segm_num(ea) -> int - - - Get number of segment by address. - - @param ea: linear address belonging to the segment (C++: ea_t) - @return: -1 if no segment occupies the specified address. otherwise - returns number of the specified segment (0.. get_segm_qty() - -1) - - -ida_segment.get_segm_para(): - - 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: pointer to segment (C++: const segment_t *) - @return: 0 if s == NULL, the segment base paragraph - - -ida_segment.get_segm_qty(): - - get_segm_qty() -> int - - - Get number of segments. - - -ida_segment.get_segment_alignment(): - - get_segment_alignment(align) -> char const * - - - Get text representation of segment alignment code. - - @param align (C++: uchar) - @return: text digestable by IBM PC assembler. - - -ida_segment.get_segment_cmt(): - - get_segment_cmt(s, repeatable) -> ssize_t - - - Get segment comment. - - @param s: pointer to segment structure (C++: const segment_t *) - @param repeatable: 0: get regular comment. 1: get repeatable comment. - (C++: bool) - @return: size of comment or -1 - - -ida_segment.get_segment_combination(): - - get_segment_combination(comb) -> char const * - - - Get text representation of segment combination code. - - @param comb (C++: uchar) - @return: text digestable by IBM PC assembler. - - -ida_segment.get_segment_translations(): - - get_segment_translations(transmap, segstart) -> ssize_t - - - Get segment translation list. - - @param transmap: vector of segment start addresses for the translation - list (C++: eavec_t *) - @param segstart: start address of the segment to get information about - (C++: ea_t) - @return: -1 if no translation list or bad segstart. otherwise returns - size of translation list. - - -ida_segment.get_selector_qty(): - - get_selector_qty() -> int - - - Get number of defined selectors. - - -ida_segment.get_visible_segm_name(): - - get_visible_segm_name(s) -> ssize_t - - - Get segment name by pointer to segment. - - @param s: pointer to segment (C++: const segment_t *) - @return: size of segment name (-1 if s==NULL) - - -ida_segment.getn_selector(): - - getn_selector(n) -> bool - - - Get description of selector (0.. 'get_selector_qty()' -1) - - - @param n (C++: int) - - -ida_segment.getnseg(): - - getnseg(n) -> segment_t - - - Get pointer to segment by its number.Obsoleted because it can slow - down the debugger (it has to refresh the whole memory segmentation to - calculate the correct answer) - - @param n: segment number in the range (0.. get_segm_qty() -1) (C++: - int) - @return: NULL or pointer to segment structure - - -ida_segment.getseg(): - - getseg(ea) -> segment_t - - - Get pointer to segment by linear address. - - @param ea: linear address belonging to the segment (C++: ea_t) - @return: NULL or pointer to segment structure - - -ida_segment.is_finally_visible_segm(): - - is_finally_visible_segm(s) -> bool - - - See 'SFL_HIDDEN' , 'SCF_SHHID_SEGM' . - - - @param s (C++: segment_t *) - - -ida_segment.is_miniidb(): - - is_miniidb() -> bool - - - Is the database a miniidb created by the debugger?. - - @return: true if the database contains no segments or only debugger - segments - - -ida_segment.is_segm_locked(): - - is_segm_locked(segm) -> bool - - - Is a segment pointer locked? - - - @param segm (C++: const segment_t *) - - -ida_segment.is_spec_ea(): - - 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: linear address (C++: ea_t) - - -ida_segment.is_spec_segm(): - - is_spec_segm(seg_type) -> bool - - - Has segment a special type?. ( 'SEG_XTRN' , 'SEG_GRP' , 'SEG_ABSSYM' , - 'SEG_COMM' ) - - @param seg_type (C++: uchar) - - -ida_segment.is_visible_segm(): - - is_visible_segm(s) -> bool - - - See 'SFL_HIDDEN' . - - - @param s (C++: segment_t *) - - -ida_segment.lock_segm(): - - 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 *) - @param lock (C++: bool) - - -class ida_segment.lock_segment(): - - Proxy of C++ lock_segment class - - -ida_segment.move_segm(): - - move_segm(s, to, flags=0) -> int - - - 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. 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: segment to move (C++: segment_t *) - @param to: new segment start address (C++: ea_t) - @param flags: Move segment flags (C++: int) - @return: Move segment result codes - - -ida_segment.move_segm_start(): - - 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.this function never disables addresses. - - @param ea: any address belonging to the segment (C++: ea_t) - @param newstart: new start address of the segment note that segment - start address should be higher than segment base - linear address. (C++: ea_t) - @param mode: 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) (C++: int) - - -ida_segment.rebase_program(): - - rebase_program(delta, flags) -> int - - - Rebase the whole program by 'delta' bytes. - - @param delta: number of bytes to move the program (C++: adiff_t) - @param flags: Move segment flags it is recommended to use - MSF_FIXONCE so that the loader takes care of global - variables it stored in the database (C++: int) - @return: Move segment result codes - - -ida_segment.segm_adjust_diff(): - - segm_adjust_diff(s, delta) -> adiff_t - - - Truncate and sign extend a delta depending on the segment. - - - @param s (C++: const segment_t *) - @param delta (C++: adiff_t) - - -ida_segment.segm_adjust_ea(): - - segm_adjust_ea(s, ea) -> ea_t - - - Truncate an address depending on the segment. - - - @param s (C++: const segment_t *) - @param ea (C++: ea_t) - - -class ida_segment.segment_t(): - - Proxy of C++ segment_t class - - -ida_segment.segment_t._print(): - - _print(self) -> size_t - - -ida_segment.segment_t.abits(): - - abits(self) -> int - - -ida_segment.segment_t.abytes(): - - abytes(self) -> int - - -ida_segment.segment_t.align: - segment_t_align_get(self) -> uchar - -ida_segment.segment_t.bitness: - segment_t_bitness_get(self) -> uchar - -ida_segment.segment_t.clear(): - - clear(self) - - -ida_segment.segment_t.clr_comorg(): - - clr_comorg(self) - - -ida_segment.segment_t.clr_ob_ok(): - - clr_ob_ok(self) - - -ida_segment.segment_t.color: - segment_t_color_get(self) -> bgcolor_t - -ida_segment.segment_t.comb: - segment_t_comb_get(self) -> uchar - -ida_segment.segment_t.comorg(): - - comorg(self) -> bool - - -ida_segment.segment_t.compare(): - - compare(self, r) -> int - - -ida_segment.segment_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_segment.segment_t.defsr: - segment_t_defsr_get(self) -> sel_t [16] - -ida_segment.segment_t.empty(): - - empty(self) -> bool - - -ida_segment.segment_t.end_ea: - segment_t_end_ea_get(self) -> ea_t - -ida_segment.segment_t.extend(): - - extend(self, ea) - - -ida_segment.segment_t.flags: - segment_t_flags_get(self) -> ushort - -ida_segment.segment_t.intersect(): - - intersect(self, r) - - -ida_segment.segment_t.is_header_segm(): - - is_header_segm(self) -> bool - - -ida_segment.segment_t.is_hidden_segtype(): - - is_hidden_segtype(self) -> bool - - -ida_segment.segment_t.is_loader_segm(): - - is_loader_segm(self) -> bool - - -ida_segment.segment_t.is_visible_segm(): - - is_visible_segm(self) -> bool - - -ida_segment.segment_t.name: - segment_t_name_get(self) -> uval_t - -ida_segment.segment_t.ob_ok(): - - ob_ok(self) -> bool - - -ida_segment.segment_t.orgbase: - segment_t_orgbase_get(self) -> uval_t - -ida_segment.segment_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_segment.segment_t.perm: - segment_t_perm_get(self) -> uchar - -ida_segment.segment_t.sclass: - segment_t_sclass_get(self) -> uval_t - -ida_segment.segment_t.sel: - segment_t_sel_get(self) -> sel_t - -ida_segment.segment_t.set_comorg(): - - set_comorg(self) - - -ida_segment.segment_t.set_debugger_segm(): - - set_debugger_segm(self, debseg) - - -ida_segment.segment_t.set_header_segm(): - - set_header_segm(self, on) - - -ida_segment.segment_t.set_hidden_segtype(): - - set_hidden_segtype(self, hide) - - -ida_segment.segment_t.set_loader_segm(): - - set_loader_segm(self, ldrseg) - - -ida_segment.segment_t.set_ob_ok(): - - set_ob_ok(self) - - -ida_segment.segment_t.set_visible_segm(): - - set_visible_segm(self, visible) - - -ida_segment.segment_t.size(): - - size(self) -> asize_t - - -ida_segment.segment_t.start_ea: - segment_t_start_ea_get(self) -> ea_t - -ida_segment.segment_t.type: - segment_t_type_get(self) -> uchar - -ida_segment.segment_t.update(): - - update(self) -> bool - - -ida_segment.segment_t.use32(): - - use32(self) -> bool - - -ida_segment.segment_t.use64(): - - use64(self) -> bool - - -ida_segment.segtype(): - - segtype(ea) -> uchar - - - Get segment type. - - @param ea: any linear address within the segment (C++: ea_t) - @return: Segment types , SEG_UNDF if no segment found at 'ea' - - -ida_segment.sel2ea(): - - sel2ea(selector) -> ea_t - - - Get mapping of a selector as a linear address. - - @param selector: number of selector to translate to linear address - (C++: sel_t) - @return: linear address the specified selector is mapped to. if there - is no mapping, returns to_ea(selector,0); - - -ida_segment.sel2para(): - - sel2para(selector) -> ea_t - - - Get mapping of a selector. - - @param selector: number of selector to translate (C++: sel_t) - @return: paragraph the specified selector is mapped to. if there is no - mapping, returns 'selector'. - - -ida_segment.set_defsr(): - - set_defsr(s, reg, value) - - -ida_segment.set_group_selector(): - - set_group_selector(grp, sel) -> int - - - Initialize groups. The kernel calls this function at the start of - work.Create a new group of segments (used OMF files). - - @param grp: 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. (C++: - sel_t) - @param sel: common selector of all segments belonging to the segment - You should create all segments within the group with the - same selector value. (C++: sel_t) - @return: 1 ok - - -ida_segment.set_segm_addressing(): - - 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: pointer to segment (C++: segment_t *) - @param bitness: new addressing mode of segment 2: 64bit segment 1: - 32bit segment 0: 16bit segment (C++: size_t) - @return: success - - -ida_segment.set_segm_base(): - - set_segm_base(s, newbase) -> bool - - - Internal function. - - - @param s (C++: segment_t *) - @param newbase (C++: ea_t) - - -ida_segment.set_segm_class(): - - set_segm_class(s, sclass, flags=0) -> int - - - Set segment class. - - @param s: pointer to segment (may be NULL) (C++: segment_t *) - @param sclass: segment class (may be NULL). 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 . (C++: const char *) - @param flags (C++: int) - - -ida_segment.set_segm_end(): - - 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: any address belonging to the segment (C++: ea_t) - @param newend: new end address of the segment (C++: ea_t) - @param flags: Segment modification flags (C++: int) - - -ida_segment.set_segm_name(): - - 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: pointer to segment (may be NULL) (C++: segment_t *) - @param name: new segment name (C++: const char *) - @param flags: ADDSEG_IDBENC or 0 (C++: int) - - -ida_segment.set_segm_start(): - - 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: any address belonging to the segment (C++: ea_t) - @param newstart: new start address of the segment note that segment - start address should be higher than segment base - linear address. (C++: ea_t) - @param flags: Segment modification flags (C++: int) - - -ida_segment.set_segment_cmt(): - - set_segment_cmt(s, cmt, repeatable) - - - Set segment comment. - - @param s: pointer to segment structure (C++: const segment_t *) - @param cmt: comment string, may be multiline (with ' '). maximal size - is 4096 bytes. Use empty str ("") to delete comment (C++: - const char *) - @param repeatable: 0: set regular comment. 1: set repeatable comment. - (C++: bool) - - -ida_segment.set_segment_translations(): - - set_segment_translations(segstart, transmap) -> bool - - - Set new translation list. - - @param segstart: start address of the segment to add translation to - (C++: ea_t) - @param transmap: vector of segment start addresses for the translation - list. If transmap is empty, the translation list is - deleted. (C++: const eavec_t &) - - -ida_segment.set_selector(): - - set_selector(selector, paragraph) -> int - - - Set mapping of selector to a paragraph. You should call this - functionbeforecreating a segment which uses the selector, otherwise - the creation of the segment will fail. - - @param selector: 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. (C++: sel_t) - @param paragraph: paragraph to map selector (C++: ea_t) - - -ida_segment.set_visible_segm(): - - set_visible_segm(s, visible) - - - See 'SFL_HIDDEN' . - - - @param s (C++: segment_t *) - @param visible (C++: bool) - - -ida_segment.setup_selector(): - - 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: a new segment base paragraph (C++: ea_t) - @return: the allocated selector number - - -ida_segment.std_out_segm_footer(): - - 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 &) - @param seg (C++: segment_t *) - - -ida_segment.take_memory_snapshot(): - - take_memory_snapshot(only_loader_segs) -> bool - - - Take a memory snapshot of the running process. - - @param only_loader_segs: only is_loader_segm() segments will be - affected (C++: bool) - @return: success - - -ida_segment.update_segm(): - - update_segm(s) -> bool - - - -=== ida_segment EPYDOC INJECTIONS === -ida_segment.ADDSEG_FILLGAP -""" -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. -""" - -ida_segment.ADDSEG_IDBENC -""" -non-ASCII bytes will be decoded accordingly - -'name' and 'sclass' are given in the IDB encoding; -""" - -ida_segment.ADDSEG_NOAA -""" -do not mark new segment for auto-analysis -""" - -ida_segment.ADDSEG_NOSREG -""" -(undefine all default segment registers) - -set all default segment register values to 'BADSEL' -""" - -ida_segment.ADDSEG_NOTRUNC -""" -destroy/truncate old segments instead. - -don't truncate the new segment at the beginning of the next segment if -they overlap. -""" - -ida_segment.ADDSEG_OR_DIE -""" - 'qexit()' if can't add a segment -""" - -ida_segment.ADDSEG_QUIET -""" -silent mode, no "Adding segment..." in the messages window -""" - -ida_segment.ADDSEG_SPARSE -""" -use sparse storage method for the new segment -""" - -ida_segment.CSS_BREAK -""" -memory reading process stopped by user -""" - -ida_segment.CSS_NODBG -""" -debugger is not running -""" - -ida_segment.CSS_NOMEM -""" -is too big) - -not enough memory (might be because the segment -""" - -ida_segment.CSS_NORANGE -""" -could not find corresponding memory range -""" - -ida_segment.CSS_OK -""" -ok -""" - -ida_segment.MAX_GROUPS -""" -max number of segment groups -""" - -ida_segment.MAX_SEGM_TRANSLATIONS -""" -max number of segment translations -""" - -ida_segment.MOVE_SEGM_CHUNK -""" -Too many chunks are defined, can't move. -""" - -ida_segment.MOVE_SEGM_DEBUG -""" -Debugger segments cannot be moved. -""" - -ida_segment.MOVE_SEGM_IDP -""" -IDP module forbids moving the segment. -""" - -ida_segment.MOVE_SEGM_LOADER -""" -The segment has been moved but the loader complained. -""" - -ida_segment.MOVE_SEGM_ODD -""" -Cannot move segments by an odd number of bytes. -""" - -ida_segment.MOVE_SEGM_OK -""" -all ok -""" - -ida_segment.MOVE_SEGM_ORPHAN -""" -Orphan bytes hinder segment movement. -""" - -ida_segment.MOVE_SEGM_PARAM -""" -The specified segment does not exist. -""" - -ida_segment.MOVE_SEGM_ROOM -""" -Not enough free room at the target address. -""" - -ida_segment.MSF_FIXONCE -""" -valid for 'rebase_program()' . see 'loader_t::move_segm' . - -call loader only once with the special calling method. -""" - -ida_segment.MSF_LDKEEP -""" -keep the loader in the memory (optimization) -""" - -ida_segment.MSF_NETNODES -""" -valid for 'rebase_program()' - -move netnodes instead of changing inf.netdelta (this is slower) -""" - -ida_segment.MSF_NOFIX -""" -don't call the loader to fix relocations -""" - -ida_segment.MSF_PRIORITY -""" -valid for 'move_segm()' - -loader segments will overwrite any existing debugger segments when -moved. -""" - -ida_segment.MSF_SILENT -""" -don't display a "please wait" box on the screen -""" - -ida_segment.SEGMOD_KEEP -""" -keep information (code & data, etc) -""" - -ida_segment.SEGMOD_KEEP0 -""" -flag for internal use, don't set -""" - -ida_segment.SEGMOD_KEEPSEL -""" -do not try to delete unused selector -""" - -ida_segment.SEGMOD_KILL -""" -disable addresses if segment gets shrinked or deleted -""" - -ida_segment.SEGMOD_NOMOVE -""" -(for 'set_segm_start()' ) - -don't move info from the start of segment to the new start address -""" - -ida_segment.SEGMOD_SILENT -""" -be silent -""" - -ida_segment.SEGMOD_SPARSE -""" -(for 'set_segm_start()' , 'set_segm_end()' ) - -use sparse storage if extending the segment -""" - -ida_segment.SEGPERM_EXEC -""" -Execute. -""" - -ida_segment.SEGPERM_READ -""" -Read. -""" - -ida_segment.SEGPERM_WRITE -""" -Write. -""" - -ida_segment.SEG_ABSSYM -""" -segment with definitions of absolute symbols -""" - -ida_segment.SEG_BSS -""" -uninitialized segment -""" - -ida_segment.SEG_CODE -""" -code segment -""" - -ida_segment.SEG_COMM -""" -segment with communal definitions -""" - -ida_segment.SEG_DATA -""" -data segment -""" - -ida_segment.SEG_GRP -""" -group of segments -""" - -ida_segment.SEG_IMEM -""" -internal processor memory & sfr (8051) -""" - -ida_segment.SEG_IMP -""" -java: implementation segment -""" - -ida_segment.SEG_NORM -""" -unknown type, no assumptions -""" - -ida_segment.SEG_NULL -""" -zero-length segment -""" - -ida_segment.SEG_UNDF -""" -undefined segment type (not used) -""" - -ida_segment.SEG_XTRN -""" -no instructions are allowed - -segment with 'extern' definitions. -""" - -ida_segment.SFL_COMORG -""" -IDP dependent field (IBM PC: if set, ORG directive is not commented -out) -""" - -ida_segment.SFL_DEBUG -""" -Is the segment created for the debugger?. Such segments are temporary -and do not have permanent flags. -""" - -ida_segment.SFL_HEADER -""" -Header segment (do not create offsets to it in the disassembly) -""" - -ida_segment.SFL_HIDDEN -""" -Is the segment hidden? -""" - -ida_segment.SFL_HIDETYPE -""" -Hide segment type (do not print it in the listing) -""" - -ida_segment.SFL_LOADER -""" -Is the segment created by the loader? -""" - -ida_segment.SFL_OBOK -""" -Orgbase is present? (IDP dependent field) -""" - -ida_segment.SREG_NUM -""" -Maximum number of segment registers is 16 (see 'segregs.hpp' ) -""" - -ida_segment.saAbs -""" -Absolute segment. -""" - -ida_segment.saGroup -""" -Segment group. -""" - -ida_segment.saRel1024Bytes -""" -1024 bytes -""" - -ida_segment.saRel128Bytes -""" -128 bytes -""" - -ida_segment.saRel2048Bytes -""" -2048 bytes -""" - -ida_segment.saRel32Bytes -""" -32 bytes -""" - -ida_segment.saRel4K -""" -alignment. It is not supported by LINK. - -This value is used by the PharLap OMF for page (4K) -""" - -ida_segment.saRel512Bytes -""" -512 bytes -""" - -ida_segment.saRel64Bytes -""" -64 bytes -""" - -ida_segment.saRelByte -""" -Relocatable, byte aligned. -""" - -ida_segment.saRelDble -""" -boundary. - -Relocatable, aligned on a double word (4-byte) -""" - -ida_segment.saRelPage -""" -Relocatable, aligned on 256-byte boundary. -""" - -ida_segment.saRelPara -""" -Relocatable, paragraph (16-byte) aligned. -""" - -ida_segment.saRelQword -""" -8 bytes -""" - -ida_segment.saRelWord -""" -Relocatable, word (2-byte) aligned. -""" - -ida_segment.scCommon -""" -Common. Combine by overlay using maximum size. -""" - -ida_segment.scGroup -""" -Segment group. -""" - -ida_segment.scPriv -""" -segment. - -Private. Do not combine with any other program -""" - -ida_segment.scPub -""" -the alignment requirement. - -Public. Combine by appending at an offset that meets -""" - -ida_segment.scPub2 -""" -As defined by Microsoft, same as C=2 (public). -""" - -ida_segment.scPub3 -""" -As defined by Microsoft, same as C=2 (public). -""" - -ida_segment.scStack -""" -byte alignment. - -Stack. Combine as for C=2. This combine type forces -""" -=== ida_segment EPYDOC INJECTIONS END === -ida_segregs.copy_sreg_ranges(): - - copy_sreg_ranges(dst_rg, src_rg, map_selector=False) - - - Duplicate segment register ranges. - - @param dst_rg: number of destination segment register (C++: int) - @param src_rg: copy ranges from (C++: int) - @param map_selector: map selectors to linear addresses using sel2ea() - (C++: bool) - - -ida_segregs.del_sreg_range(): - - 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: start_ea of the deleted range (C++: ea_t) - @param rg: the segment register number (C++: int) - @return: success - - -ida_segregs.get_prev_sreg_range(): - - get_prev_sreg_range(out, ea, rg) -> bool - - - Get segment register range previous to one with address.more efficient - then get_sreg_range(reg, ea-1) - - @param out: segment register range (C++: sreg_range_t *) - @param ea: any linear address in the program (C++: ea_t) - @param rg: the segment register number (C++: int) - @return: success - - -ida_segregs.get_sreg(): - - 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: linear address in the program (C++: ea_t) - @param rg: number of the segment register (C++: int) - @return: value of the segment register, BADSEL if value is unknown. - - -ida_segregs.get_sreg_range(): - - get_sreg_range(out, ea, rg) -> bool - - - Get segment register range by linear address. - - @param out: segment register range (C++: sreg_range_t *) - @param ea: any linear address in the program (C++: ea_t) - @param rg: the segment register number (C++: int) - @return: success - - -ida_segregs.get_sreg_range_num(): - - get_sreg_range_num(ea, rg) -> int - - - Get number of segment register range by address. - - @param ea: any address in the range (C++: ea_t) - @param rg: the segment register number (C++: int) - @return: -1 if no range occupies the specified address. otherwise - returns number of the specified range - (0..get_srranges_qty()-1) - - -ida_segregs.get_sreg_ranges_qty(): - - get_sreg_ranges_qty(rg) -> size_t - - - Get number of segment register ranges. - - @param rg: the segment register number (C++: int) - - -ida_segregs.getn_sreg_range(): - - getn_sreg_range(out, rg, n) -> bool - - - Get segment register range by its number. - - @param out: segment register range (C++: sreg_range_t *) - @param rg: the segment register number (C++: int) - @param n: number of range (0..qty()-1) (C++: int) - @return: success - - -ida_segregs.set_default_dataseg(): - - set_default_dataseg(ds_sel) - - - Set default value of DS register for all segments. - - - @param ds_sel (C++: sel_t) - - -ida_segregs.set_default_sreg_value(): - - set_default_sreg_value(sg, rg, value) -> bool - - - Set default value of a segment register for a segment. - - @param sg: pointer to segment structure if NULL, then set the register - for all segments (C++: segment_t *) - @param rg: number of segment register (C++: int) - @param value: its default value. this value will be used by - get_sreg() if value of the register is unknown at the - specified address. (C++: sel_t) - @return: success - - -ida_segregs.set_sreg_at_next_code(): - - 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: address to start to search for an instruction (C++: ea_t) - @param ea2: the maximal address (C++: ea_t) - @param rg: the segment register number (C++: int) - @param value: the segment register value (C++: sel_t) - - -ida_segregs.split_sreg_range(): - - 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: linear address where the segment register will have a new - value. if ea== BADADDR , nothing to do. (C++: ea_t) - @param rg: the number of the segment register (C++: int) - @param v: the new value of the segment register. If the value is - unknown, you should specify BADSEL . (C++: sel_t) - @param tag: the register info tag. see Segment register range tags - (C++: uchar) - @param silent: if false, display a warning() in the case of failure - (C++: bool) - @return: success - - -class ida_segregs.sreg_range_t(): - - Proxy of C++ sreg_range_t class - - -ida_segregs.sreg_range_t._print(): - - _print(self) -> size_t - - -ida_segregs.sreg_range_t.clear(): - - clear(self) - - -ida_segregs.sreg_range_t.compare(): - - compare(self, r) -> int - - -ida_segregs.sreg_range_t.contains(): - - contains(self, ea) -> bool - contains(self, r) -> bool - - -ida_segregs.sreg_range_t.empty(): - - empty(self) -> bool - - -ida_segregs.sreg_range_t.end_ea: - range_t_end_ea_get(self) -> ea_t - -ida_segregs.sreg_range_t.extend(): - - extend(self, ea) - - -ida_segregs.sreg_range_t.intersect(): - - intersect(self, r) - - -ida_segregs.sreg_range_t.overlaps(): - - overlaps(self, r) -> bool - - -ida_segregs.sreg_range_t.size(): - - size(self) -> asize_t - - -ida_segregs.sreg_range_t.start_ea: - range_t_start_ea_get(self) -> ea_t - -ida_segregs.sreg_range_t.tag: - sreg_range_t_tag_get(self) -> uchar - -ida_segregs.sreg_range_t.val: - sreg_range_t_val_get(self) -> sel_t - - -=== ida_segregs EPYDOC INJECTIONS === -ida_segregs.SR_auto -""" -the value is determined by IDA -""" - -ida_segregs.SR_autostart -""" -used as 'SR_auto' for segment starting address -""" - -ida_segregs.SR_inherit -""" -the value is inherited from the previous range -""" - -ida_segregs.SR_user -""" -the value is specified by the user -""" -=== ida_segregs EPYDOC INJECTIONS END === -ida_strlist.build_strlist(): - - build_strlist() - - - Build the string list. You should initialize options before this call - using the restore_config() or setup_strings_window() methods. - - -ida_strlist.clear_strlist(): - - clear_strlist() - - - Clear the string list. - - -ida_strlist.get_strlist_item(): - - 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) - - -ida_strlist.get_strlist_options(): - - get_strlist_options() -> strwinsetup_t - - - Get access to the static string list options. - - -ida_strlist.get_strlist_qty(): - - get_strlist_qty() -> size_t - - - Get number of elements in the string list. - - -class ida_strlist.string_info_t(): - - Proxy of C++ string_info_t class - - -ida_strlist.string_info_t.ea: - string_info_t_ea_get(self) -> ea_t - -ida_strlist.string_info_t.length: - string_info_t_length_get(self) -> int - -ida_strlist.string_info_t.type: - string_info_t_type_get(self) -> int - -class ida_strlist.strwinsetup_t(): - - Proxy of C++ strwinsetup_t class - - -ida_strlist.strwinsetup_t.display_only_existing_strings: - strwinsetup_t_display_only_existing_strings_get(self) -> uchar - -ida_strlist.strwinsetup_t.ignore_heads: - strwinsetup_t_ignore_heads_get(self) -> uchar - -ida_strlist.strwinsetup_t.is_initialized(): - - is_initialized(self) -> bool - - -ida_strlist.strwinsetup_t.minlen: - strwinsetup_t_minlen_get(self) -> sval_t - -ida_strlist.strwinsetup_t.only_7bit: - strwinsetup_t_only_7bit_get(self) -> uchar - -ida_strlist.strwinsetup_t.strtypes: - - _get_strtypes(self) -> PyObject * - - -ida_struct.add_struc(): - - add_struc(idx, name, is_union=False) -> tid_t - - - Create a structure type. if idx== 'BADADDR' then add as the last idx. - if name==NULL then a name will be generated "struct_%d". - - @param idx (C++: uval_t) - @param name (C++: const char *) - @param is_union (C++: bool) - - -ida_struct.add_struc_member(): - - add_struc_member(sptr, fieldname, offset, flag, mt, nbytes) -> struc_error_t - - - Add member to existing structure. - - @param sptr: structure to modify (C++: struc_t *) - @param fieldname: if NULL, then "anonymous_#" name will be generated - (C++: const char *) - @param offset: BADADDR means add to the end of structure (C++: ea_t) - @param flag: type + representation bits (C++: flags_t) - @param mt: additional info about member type. must be present for - structs, offsets, enums, strings, struct offsets. (C++: - const opinfo_t *) - @param nbytes: if == 0 then the structure will be a varstruct. in this - case the member should be the last member in the - structure (C++: asize_t) - - -ida_struct.del_member_tinfo(): - - del_member_tinfo(sptr, mptr) -> bool - - - Delete tinfo for given member. - - - @param sptr (C++: struc_t *) - @param mptr (C++: member_t *) - - -ida_struct.del_struc(): - - del_struc(sptr) -> bool - - - Delete a structure type. - - - @param sptr (C++: struc_t *) - - -ida_struct.del_struc_member(): - - del_struc_member(sptr, offset) -> bool - - - Delete member at given offset. - - - @param sptr (C++: struc_t *) - @param offset (C++: ea_t) - - -ida_struct.del_struc_members(): - - del_struc_members(sptr, off1, off2) -> int - - - Delete members which occupy range of offsets (off1..off2). - - @param sptr (C++: struc_t *) - @param off1 (C++: ea_t) - @param off2 (C++: ea_t) - @return: number of deleted members or -1 on error - - -ida_struct.expand_struc(): - - expand_struc(sptr, offset, delta, recalc=True) -> bool - - - Expand/Shrink structure type. - - - @param sptr (C++: struc_t *) - @param offset (C++: ea_t) - @param delta (C++: adiff_t) - @param recalc (C++: bool) - - -ida_struct.get_best_fit_member(): - - get_best_fit_member(sptr, offset) -> member_t - - - Get member that is most likely referenced by the specified offset. - Useful for offsets > sizeof(struct). - - @param sptr (C++: const struc_t *) - @param offset (C++: asize_t) - - -ida_struct.get_first_struc_idx(): - - get_first_struc_idx() -> uval_t - - - Get index of first structure. - - @return: BADADDR if no known structures, 0 otherwise - - -ida_struct.get_last_struc_idx(): - - get_last_struc_idx() -> uval_t - - - Get index of last structure. - - @return: BADADDR if no known structures, get_struc_qty() -1 - otherwise - - -ida_struct.get_max_offset(): - - get_max_offset(sptr) -> ea_t - - - For unions: returns number of members, for structs: returns size of - structure. - - - @param sptr (C++: struc_t *) - - -ida_struct.get_member(): - - get_member(sptr, offset) -> member_t - - - Get member at given offset. - - - @param sptr (C++: const struc_t *) - @param offset (C++: asize_t) - - -ida_struct.get_member_by_fullname(): - - get_member_by_fullname(fullname) -> member_t - - - Get a member by its fully qualified name, "struct.field". - - - @param fullname (C++: const char *) - - -ida_struct.get_member_by_id(): - - get_member_by_id(mid) -> member_t - - - Check if the specified member id points to a struct member. - - - @param mid (C++: tid_t) - - -ida_struct.get_member_by_name(): - - get_member_by_name(sptr, membername) -> member_t - - - Get a member by its name, like "field44". - - - @param sptr (C++: const struc_t *) - @param membername (C++: const char *) - - -ida_struct.get_member_cmt(): - - get_member_cmt(mid, repeatable) -> ssize_t - - - Get comment of structure member. - - - @param mid (C++: tid_t) - @param repeatable (C++: bool) - - -ida_struct.get_member_fullname(): - - get_member_fullname(mid) -> ssize_t - - - Get a member's fully qualified name, "struct.field". - - - @param mid (C++: tid_t) - - -ida_struct.get_member_id(): - - get_member_id(sptr, offset) -> tid_t - - - Get member id at given offset. - - - @param sptr (C++: const struc_t *) - @param offset (C++: asize_t) - - -ida_struct.get_member_name(): - - get_member_name(mid) -> ssize_t - - - Get name of structure member. - - - @param mid (C++: tid_t) - - -ida_struct.get_member_size(): - - get_member_size(nonnul_mptr) -> asize_t - - - Get size of structure member. May return 0 for the last member of - varstruct. For union members, returns 'member_t::eoff' . - - -ida_struct.get_member_struc(): - - get_member_struc(fullname) -> struc_t - - - Get containing structure of member by its full name "struct.field". - - - @param fullname (C++: const char *) - - -ida_struct.get_member_tinfo(): - - get_member_tinfo(tif, mptr) -> bool - - - Get tinfo for given member. - - - @param tif (C++: tinfo_t *) - @param mptr (C++: const member_t *) - - -ida_struct.get_next_member_idx(): - - get_next_member_idx(sptr, off) -> ssize_t - - - Get the next member idx, if it does not exist, return -1. - - - @param sptr (C++: const struc_t *) - @param off (C++: asize_t) - - -ida_struct.get_next_struc_idx(): - - get_next_struc_idx(idx) -> uval_t - - - Get next struct index. - - @param idx (C++: uval_t) - @return: BADADDR if resulting index is out of bounds, otherwise idx++ - - -ida_struct.get_or_guess_member_tinfo(): - - get_or_guess_member_tinfo(tif, mptr) -> bool - - - Try to get tinfo for given member - if failed, generate a tinfo using - information about the member id from the disassembly - - @param tif (C++: tinfo_t *) - @param mptr (C++: const member_t *) - - -ida_struct.get_prev_member_idx(): - - get_prev_member_idx(sptr, off) -> ssize_t - - - Get the prev member idx, if it does not exist, return -1. - - - @param sptr (C++: const struc_t *) - @param off (C++: asize_t) - - -ida_struct.get_prev_struc_idx(): - - get_prev_struc_idx(idx) -> uval_t - - - Get previous struct index. - - @param idx (C++: uval_t) - @return: BADADDR if resulting index is negative, otherwise idx - 1 - - -ida_struct.get_sptr(): - - get_sptr(mptr) -> struc_t - - - Get child struct if member is a struct. - - - @param mptr (C++: const member_t *) - - -ida_struct.get_struc(): - - get_struc(id) -> struc_t - - - Get pointer to struct type info. - - - @param id (C++: tid_t) - - -ida_struct.get_struc_by_idx(): - - get_struc_by_idx(idx) -> tid_t - - - Get struct id by struct number. - - - @param idx (C++: uval_t) - - -ida_struct.get_struc_cmt(): - - get_struc_cmt(id, repeatable) -> ssize_t - - - Get struct comment. - - - @param id (C++: tid_t) - @param repeatable (C++: bool) - - -ida_struct.get_struc_first_offset(): - - get_struc_first_offset(sptr) -> ea_t - - - Get offset of first member. - - @param sptr (C++: const struc_t *) - @return: BADADDR if memqty == 0 - - -ida_struct.get_struc_id(): - - get_struc_id(name) -> tid_t - - - Get struct id by name. - - - @param name (C++: const char *) - - -ida_struct.get_struc_idx(): - - get_struc_idx(id) -> uval_t - - - Get internal number of the structure. - - - @param id (C++: tid_t) - - -ida_struct.get_struc_last_offset(): - - get_struc_last_offset(sptr) -> ea_t - - - Get offset of last member. - - @param sptr (C++: const struc_t *) - @return: BADADDR if memqty == 0 - - -ida_struct.get_struc_name(): - - get_struc_name(id) -> ssize_t - - - Get struct name by id. - - - @param id (C++: tid_t) - - -ida_struct.get_struc_next_offset(): - - get_struc_next_offset(sptr, offset) -> ea_t - - - Get offset of member with smallest offset larger than 'offset'. - - @param sptr (C++: const struc_t *) - @param offset (C++: ea_t) - @return: BADADDR if no next offset - - -ida_struct.get_struc_prev_offset(): - - get_struc_prev_offset(sptr, offset) -> ea_t - - - Get offset of member with largest offset less than 'offset'. - - @param sptr (C++: const struc_t *) - @param offset (C++: ea_t) - @return: BADADDR if no prev offset - - -ida_struct.get_struc_qty(): - - get_struc_qty() -> size_t - - - Get number of known structures. - - -ida_struct.get_struc_size(): - - get_struc_size(sptr) -> asize_t - get_struc_size(id) -> asize_t - - - Get struct size (also see 'get_struc_size(tid_t)' ) - - - @param sptr (C++: const struc_t *) - - -ida_struct.is_anonymous_member_name(): - - is_anonymous_member_name(name) -> bool - - - Is member name prefixed with "anonymous"? - - - @param name (C++: const char *) - - -ida_struct.is_dummy_member_name(): - - is_dummy_member_name(name) -> bool - - - Is member name an auto-generated name? - - - @param name (C++: const char *) - - -ida_struct.is_member_id(): - - is_member_id(mid) -> bool - - - Is a member id? - - - @param mid (C++: tid_t) - - -ida_struct.is_special_member(): - - is_special_member(id) -> bool - - - Is a special member with the name beginning with ' '? - - - @param id (C++: tid_t) - - -ida_struct.is_union(): - - is_union(id) -> bool - - - Is a union? - - - @param id (C++: tid_t) - - -ida_struct.is_varmember(): - - is_varmember(mptr) -> bool - - - Is variable size member? - - - @param mptr (C++: const member_t *) - - -ida_struct.is_varstr(): - - is_varstr(id) -> bool - - - Is variable size structure? - - - @param id (C++: tid_t) - - -class ida_struct.member_t(): - - Proxy of C++ member_t class - - -ida_struct.member_t.by_til(): - - by_til(self) -> bool - - -ida_struct.member_t.eoff: - member_t_eoff_get(self) -> ea_t - -ida_struct.member_t.flag: - member_t_flag_get(self) -> flags_t - -ida_struct.member_t.get_soff(): - - get_soff(self) -> ea_t - - -ida_struct.member_t.has_ti(): - - has_ti(self) -> bool - - -ida_struct.member_t.has_union(): - - has_union(self) -> bool - - -ida_struct.member_t.id: - member_t_id_get(self) -> tid_t - -ida_struct.member_t.is_baseclass(): - - is_baseclass(self) -> bool - - -ida_struct.member_t.is_destructor(): - - is_destructor(self) -> bool - - -ida_struct.member_t.is_dupname(): - - is_dupname(self) -> bool - - -ida_struct.member_t.props: - member_t_props_get(self) -> uint32 - -ida_struct.member_t.soff: - member_t_soff_get(self) -> ea_t - -ida_struct.member_t.unimem(): - - unimem(self) -> bool - - -ida_struct.retrieve_member_info(): - - retrieve_member_info(buf, mptr) -> opinfo_t - - - Get operand type info for member. - - - @param buf (C++: opinfo_t *) - @param mptr (C++: const member_t *) - - -ida_struct.save_struc(): - - save_struc(sptr, may_update_ltypes=True) - - - Update struct information in the database (internal function) - - - @param sptr (C++: struc_t *) - @param may_update_ltypes (C++: bool) - - -ida_struct.set_member_cmt(): - - set_member_cmt(mptr, cmt, repeatable) -> bool - - - Set member comment. - - - @param mptr (C++: member_t *) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -ida_struct.set_member_name(): - - set_member_name(sptr, offset, name) -> bool - - - Set name of member at given offset. - - - @param sptr (C++: struc_t *) - @param offset (C++: ea_t) - @param name (C++: const char *) - - -ida_struct.set_member_tinfo(): - - set_member_tinfo(sptr, mptr, memoff, tif, flags) -> smt_code_t - - - Set tinfo for given member. - - @param sptr: containing struct (C++: struc_t *) - @param mptr: target member (C++: member_t *) - @param memoff: offset within member (C++: uval_t) - @param tif: type info (C++: const tinfo_t &) - @param flags: Set member tinfo flags (C++: int) - - -ida_struct.set_member_type(): - - set_member_type(sptr, offset, flag, mt, nbytes) -> bool - - - Set type of member at given offset (also see 'add_struc_member()' ) - - - @param sptr (C++: struc_t *) - @param offset (C++: ea_t) - @param flag (C++: flags_t) - @param mt (C++: const opinfo_t *) - @param nbytes (C++: asize_t) - - -ida_struct.set_struc_align(): - - set_struc_align(sptr, shift) -> bool - - - Set structure alignment ( 'SF_ALIGN' ) - - - @param sptr (C++: struc_t *) - @param shift (C++: int) - - -ida_struct.set_struc_cmt(): - - set_struc_cmt(id, cmt, repeatable) -> bool - - - Set structure comment. - - - @param id (C++: tid_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -ida_struct.set_struc_hidden(): - - set_struc_hidden(sptr, is_hidden) - - - Hide/unhide a struct type. - - - @param sptr (C++: struc_t *) - @param is_hidden (C++: bool) - - -ida_struct.set_struc_idx(): - - set_struc_idx(sptr, idx) -> bool - - - Set internal number of struct. Also see 'get_struc_idx()' , - 'get_struc_by_idx()' . - - @param sptr (C++: const struc_t *) - @param idx (C++: uval_t) - - -ida_struct.set_struc_listed(): - - set_struc_listed(sptr, is_listed) - - - Add/remove a struct type from the struct list. - - - @param sptr (C++: struc_t *) - @param is_listed (C++: bool) - - -ida_struct.set_struc_name(): - - set_struc_name(id, name) -> bool - - - Set structure name. - - - @param id (C++: tid_t) - @param name (C++: const char *) - - -ida_struct.stroff_as_size(): - - stroff_as_size(plen, sptr, value) -> bool - - - Should display a structure offset expression as the structure size? - - - @param plen (C++: int) - @param sptr (C++: const struc_t *) - @param value (C++: asize_t) - - -class ida_struct.struc_t(): - - Proxy of C++ struc_t class - - -ida_struct.struc_t.age: - struc_t_age_get(self) -> ushort - -ida_struct.struc_t.from_til(): - - from_til(self) -> bool - - -ida_struct.struc_t.get_alignment(): - - get_alignment(self) -> int - - -ida_struct.struc_t.get_member(): - - get_member(self, index) -> member_t - - -ida_struct.struc_t.has_union(): - - has_union(self) -> bool - - -ida_struct.struc_t.id: - struc_t_id_get(self) -> tid_t - -ida_struct.struc_t.is_choosable(): - - is_choosable(self) -> bool - - -ida_struct.struc_t.is_frame(): - - is_frame(self) -> bool - - -ida_struct.struc_t.is_ghost(): - - is_ghost(self) -> bool - - -ida_struct.struc_t.is_hidden(): - - is_hidden(self) -> bool - - -ida_struct.struc_t.is_union(): - - is_union(self) -> bool - - -ida_struct.struc_t.is_varstr(): - - is_varstr(self) -> bool - - -ida_struct.struc_t.members: - struc_t_members_get(self) -> member_t - -ida_struct.struc_t.memqty: - struc_t_memqty_get(self) -> uint32 - -ida_struct.struc_t.ordinal: - struc_t_ordinal_get(self) -> int32 - -ida_struct.struc_t.props: - struc_t_props_get(self) -> uint32 - -ida_struct.struc_t.set_alignment(): - - set_alignment(self, shift) - - -ida_struct.struc_t.set_ghost(): - - set_ghost(self, _is_ghost) - - -class ida_struct.struct_field_visitor_t(): - - Proxy of C++ struct_field_visitor_t class - - -ida_struct.struct_field_visitor_t.visit_field(): - - visit_field(self, sptr, mptr) -> int - - -ida_struct.visit_stroff_fields(): - - visit_stroff_fields(sfv, path, disp, appzero) -> flags_t - - - 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: visitor object (C++: struct_field_visitor_t &) - @param path: struct path (path[0] contains the initial struct id) - (C++: const tid_t *) - @param disp: offset into structure (C++: adiff_t *) - @param appzero: should visit field at offset zero? (C++: bool) - - - -=== ida_struct EPYDOC INJECTIONS === -ida_struct.MF_BASECLASS -""" -a special member representing base class -""" - -ida_struct.MF_BYTIL -""" -the member was created due to the type system -""" - -ida_struct.MF_DTOR -""" -a special member representing destructor -""" - -ida_struct.MF_DUPNAME -""" -duplicate name resolved with _N suffix (N==soff) -""" - -ida_struct.MF_HASTI -""" -has type information? -""" - -ida_struct.MF_HASUNI -""" -has members of type "union"? -""" - -ida_struct.MF_OK -""" -is the member ok? (always yes) -""" - -ida_struct.MF_UNIMEM -""" -is a member of a union? -""" - -ida_struct.SET_MEMTI_BYTIL -""" -new type was created by the type subsystem -""" - -ida_struct.SET_MEMTI_COMPATIBLE -""" -new type must be compatible with the old -""" - -ida_struct.SET_MEMTI_FUNCARG -""" -mptr is function argument (cannot create arrays) -""" - -ida_struct.SET_MEMTI_MAY_DESTROY -""" -may destroy other members -""" - -ida_struct.SET_MEMTI_USERTI -""" -user-specified type -""" - -ida_struct.SF_ALIGN -""" -alignment (shift amount: 0..31) -""" - -ida_struct.SF_FRAME -""" -the structure is a function frame -""" - -ida_struct.SF_GHOST -""" -ghost copy of a local type -""" - -ida_struct.SF_HASUNI -""" -has members of type "union"? -""" - -ida_struct.SF_HIDDEN -""" -the structure is collapsed -""" - -ida_struct.SF_NOLIST -""" -don't include in the chooser list -""" - -ida_struct.SF_TYPLIB -""" -the structure comes from type library -""" - -ida_struct.SF_UNION -""" -varunions are prohibited! - -is a union? -""" - -ida_struct.SF_VAR -""" -is variable size structure (varstruct)? a variable size structure is -one with the zero size last member. if the last member is a varstruct, -then the current structure is a varstruct too. -""" - -ida_struct.STRUC_SEPARATOR -""" -structname.fieldname -""" -=== ida_struct EPYDOC INJECTIONS END === -ida_tryblks.add_tryblk(): - - add_tryblk(tb) -> int - - - Add one try block information. - - @param tb: try block to add. (C++: const tryblk_t &) - @return: error code; 0 means good - - -class ida_tryblks.catch_t(): - - Proxy of C++ catch_t class - - -ida_tryblks.catch_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.catch_t.at(): - - at(self, _idx) -> range_t - - -ida_tryblks.catch_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_tryblks.catch_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.catch_t.clear(): - - clear(self) - - -ida_tryblks.catch_t.disp: - try_handler_t_disp_get(self) -> sval_t - -ida_tryblks.catch_t.empty(): - - empty(self) -> bool - - -ida_tryblks.catch_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_tryblks.catch_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_tryblks.catch_t.extract(): - - extract(self) -> range_t - - -ida_tryblks.catch_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_tryblks.catch_t.fpreg: - try_handler_t_fpreg_get(self) -> int - -ida_tryblks.catch_t.grow(): - - grow(self, x=range_t()) - - -ida_tryblks.catch_t.has(): - - has(self, x) -> bool - - -ida_tryblks.catch_t.inject(): - - inject(self, s, len) - - -ida_tryblks.catch_t.insert(): - - insert(self, it, x) -> range_t - - -ida_tryblks.catch_t.obj: - catch_t_obj_get(self) -> sval_t - -ida_tryblks.catch_t.pop_back(): - - pop_back(self) - - -ida_tryblks.catch_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_tryblks.catch_t.qclear(): - - qclear(self) - - -ida_tryblks.catch_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.catch_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.catch_t.size(): - - size(self) -> size_t - - -ida_tryblks.catch_t.swap(): - - swap(self, r) - - -ida_tryblks.catch_t.truncate(): - - truncate(self) - - -ida_tryblks.catch_t.type_id: - catch_t_type_id_get(self) -> sval_t - -class ida_tryblks.catchvec_t(): - - Proxy of C++ qvector<(catch_t)> class - - -ida_tryblks.catchvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.catchvec_t.at(): - - at(self, _idx) -> catch_t - - -ida_tryblks.catchvec_t.begin(): - - begin(self) -> catch_t - begin(self) -> catch_t - - -ida_tryblks.catchvec_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.catchvec_t.clear(): - - clear(self) - - -ida_tryblks.catchvec_t.empty(): - - empty(self) -> bool - - -ida_tryblks.catchvec_t.end(): - - end(self) -> catch_t - end(self) -> catch_t - - -ida_tryblks.catchvec_t.erase(): - - erase(self, it) -> catch_t - erase(self, first, last) -> catch_t - - -ida_tryblks.catchvec_t.extract(): - - extract(self) -> catch_t - - -ida_tryblks.catchvec_t.find(): - - find(self, x) -> catch_t - find(self, x) -> catch_t - - -ida_tryblks.catchvec_t.grow(): - - grow(self, x=catch_t()) - - -ida_tryblks.catchvec_t.has(): - - has(self, x) -> bool - - -ida_tryblks.catchvec_t.inject(): - - inject(self, s, len) - - -ida_tryblks.catchvec_t.insert(): - - insert(self, it, x) -> catch_t - - -ida_tryblks.catchvec_t.pop_back(): - - pop_back(self) - - -ida_tryblks.catchvec_t.push_back(): - - push_back(self, x) - push_back(self) -> catch_t - - -ida_tryblks.catchvec_t.qclear(): - - qclear(self) - - -ida_tryblks.catchvec_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.catchvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.catchvec_t.size(): - - size(self) -> size_t - - -ida_tryblks.catchvec_t.swap(): - - swap(self, r) - - -ida_tryblks.catchvec_t.truncate(): - - truncate(self) - - -ida_tryblks.del_tryblks(): - - del_tryblks(range) - - - Delete try block information in the specified range. - - @param range: the range to be cleared (C++: const range_t &) - - -ida_tryblks.find_syseh(): - - find_syseh(ea) -> ea_t - - - Find the start address of the system eh region including the argument. - - @param ea: search address (C++: ea_t) - @return: start address of surrounding tryblk, otherwise BADADDR - - -ida_tryblks.get_tryblks(): - - 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: output buffer; may be NULL (C++: tryblks_t *) - @param range: address range to change (C++: const range_t &) - @return: number of found try blocks - - -class ida_tryblks.seh_t(): - - Proxy of C++ seh_t class - - -ida_tryblks.seh_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.seh_t.at(): - - at(self, _idx) -> range_t - - -ida_tryblks.seh_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_tryblks.seh_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.seh_t.clear(): - - clear(self) - - -ida_tryblks.seh_t.disp: - try_handler_t_disp_get(self) -> sval_t - -ida_tryblks.seh_t.empty(): - - empty(self) -> bool - - -ida_tryblks.seh_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_tryblks.seh_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_tryblks.seh_t.extract(): - - extract(self) -> range_t - - -ida_tryblks.seh_t.filter: - seh_t_filter_get(self) -> rangevec_t - -ida_tryblks.seh_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_tryblks.seh_t.fpreg: - try_handler_t_fpreg_get(self) -> int - -ida_tryblks.seh_t.grow(): - - grow(self, x=range_t()) - - -ida_tryblks.seh_t.has(): - - has(self, x) -> bool - - -ida_tryblks.seh_t.inject(): - - inject(self, s, len) - - -ida_tryblks.seh_t.insert(): - - insert(self, it, x) -> range_t - - -ida_tryblks.seh_t.pop_back(): - - pop_back(self) - - -ida_tryblks.seh_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_tryblks.seh_t.qclear(): - - qclear(self) - - -ida_tryblks.seh_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.seh_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.seh_t.seh_code: - seh_t_seh_code_get(self) -> ea_t - -ida_tryblks.seh_t.size(): - - size(self) -> size_t - - -ida_tryblks.seh_t.swap(): - - swap(self, r) - - -ida_tryblks.seh_t.truncate(): - - truncate(self) - - -class ida_tryblks.try_handler_t(): - - Proxy of C++ try_handler_t class - - -ida_tryblks.try_handler_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.try_handler_t.at(): - - at(self, _idx) -> range_t - - -ida_tryblks.try_handler_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_tryblks.try_handler_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.try_handler_t.clear(): - - clear(self) - - -ida_tryblks.try_handler_t.disp: - try_handler_t_disp_get(self) -> sval_t - -ida_tryblks.try_handler_t.empty(): - - empty(self) -> bool - - -ida_tryblks.try_handler_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_tryblks.try_handler_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_tryblks.try_handler_t.extract(): - - extract(self) -> range_t - - -ida_tryblks.try_handler_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_tryblks.try_handler_t.fpreg: - try_handler_t_fpreg_get(self) -> int - -ida_tryblks.try_handler_t.grow(): - - grow(self, x=range_t()) - - -ida_tryblks.try_handler_t.has(): - - has(self, x) -> bool - - -ida_tryblks.try_handler_t.inject(): - - inject(self, s, len) - - -ida_tryblks.try_handler_t.insert(): - - insert(self, it, x) -> range_t - - -ida_tryblks.try_handler_t.pop_back(): - - pop_back(self) - - -ida_tryblks.try_handler_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_tryblks.try_handler_t.qclear(): - - qclear(self) - - -ida_tryblks.try_handler_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.try_handler_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.try_handler_t.size(): - - size(self) -> size_t - - -ida_tryblks.try_handler_t.swap(): - - swap(self, r) - - -ida_tryblks.try_handler_t.truncate(): - - truncate(self) - - -class ida_tryblks.tryblk_t(): - - Proxy of C++ tryblk_t class - - -ida_tryblks.tryblk_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.tryblk_t.at(): - - at(self, _idx) -> range_t - - -ida_tryblks.tryblk_t.begin(): - - begin(self) -> range_t - begin(self) -> range_t - - -ida_tryblks.tryblk_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.tryblk_t.clear(): - - clear(self) - - -ida_tryblks.tryblk_t.cpp(): - - cpp(self) -> catchvec_t - - -ida_tryblks.tryblk_t.empty(): - - empty(self) -> bool - - -ida_tryblks.tryblk_t.end(): - - end(self) -> range_t - end(self) -> range_t - - -ida_tryblks.tryblk_t.erase(): - - erase(self, it) -> range_t - erase(self, first, last) -> range_t - - -ida_tryblks.tryblk_t.extract(): - - extract(self) -> range_t - - -ida_tryblks.tryblk_t.find(): - - find(self, x) -> range_t - find(self, x) -> range_t - - -ida_tryblks.tryblk_t.get_kind(): - - get_kind(self) -> uchar - - -ida_tryblks.tryblk_t.grow(): - - grow(self, x=range_t()) - - -ida_tryblks.tryblk_t.has(): - - has(self, x) -> bool - - -ida_tryblks.tryblk_t.inject(): - - inject(self, s, len) - - -ida_tryblks.tryblk_t.insert(): - - insert(self, it, x) -> range_t - - -ida_tryblks.tryblk_t.is_cpp(): - - is_cpp(self) -> bool - - -ida_tryblks.tryblk_t.is_seh(): - - is_seh(self) -> bool - - -ida_tryblks.tryblk_t.level: - tryblk_t_level_get(self) -> uchar - -ida_tryblks.tryblk_t.pop_back(): - - pop_back(self) - - -ida_tryblks.tryblk_t.push_back(): - - push_back(self, x) - push_back(self) -> range_t - - -ida_tryblks.tryblk_t.qclear(): - - qclear(self) - - -ida_tryblks.tryblk_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.tryblk_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.tryblk_t.seh(): - - seh(self) -> seh_t - - -ida_tryblks.tryblk_t.set_cpp(): - - set_cpp(self) -> catchvec_t - - -ida_tryblks.tryblk_t.set_seh(): - - set_seh(self) -> seh_t - - -ida_tryblks.tryblk_t.size(): - - size(self) -> size_t - - -ida_tryblks.tryblk_t.swap(): - - swap(self, r) - - -ida_tryblks.tryblk_t.truncate(): - - truncate(self) - - -class ida_tryblks.tryblks_t(): - - Proxy of C++ qvector<(tryblk_t)> class - - -ida_tryblks.tryblks_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_tryblks.tryblks_t.at(): - - at(self, _idx) -> tryblk_t - - -ida_tryblks.tryblks_t.begin(): - - begin(self) -> tryblk_t - begin(self) -> tryblk_t - - -ida_tryblks.tryblks_t.capacity(): - - capacity(self) -> size_t - - -ida_tryblks.tryblks_t.clear(): - - clear(self) - - -ida_tryblks.tryblks_t.empty(): - - empty(self) -> bool - - -ida_tryblks.tryblks_t.end(): - - end(self) -> tryblk_t - end(self) -> tryblk_t - - -ida_tryblks.tryblks_t.erase(): - - erase(self, it) -> tryblk_t - erase(self, first, last) -> tryblk_t - - -ida_tryblks.tryblks_t.extract(): - - extract(self) -> tryblk_t - - -ida_tryblks.tryblks_t.find(): - - find(self, x) -> tryblk_t - find(self, x) -> tryblk_t - - -ida_tryblks.tryblks_t.grow(): - - grow(self, x=tryblk_t()) - - -ida_tryblks.tryblks_t.has(): - - has(self, x) -> bool - - -ida_tryblks.tryblks_t.inject(): - - inject(self, s, len) - - -ida_tryblks.tryblks_t.insert(): - - insert(self, it, x) -> tryblk_t - - -ida_tryblks.tryblks_t.pop_back(): - - pop_back(self) - - -ida_tryblks.tryblks_t.push_back(): - - push_back(self, x) - push_back(self) -> tryblk_t - - -ida_tryblks.tryblks_t.qclear(): - - qclear(self) - - -ida_tryblks.tryblks_t.reserve(): - - reserve(self, cnt) - - -ida_tryblks.tryblks_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_tryblks.tryblks_t.size(): - - size(self) -> size_t - - -ida_tryblks.tryblks_t.swap(): - - swap(self, r) - - -ida_tryblks.tryblks_t.truncate(): - - truncate(self) - - - -=== ida_tryblks EPYDOC INJECTIONS === -ida_tryblks.TBERR_EMPTY -""" -empty try block -""" - -ida_tryblks.TBERR_END -""" -bad end address -""" - -ida_tryblks.TBERR_INTERSECT -""" -range would intersect inner tryblk -""" - -ida_tryblks.TBERR_KIND -""" -illegal try block kind -""" - -ida_tryblks.TBERR_NO_CATCHES -""" -no catch blocks at all -""" - -ida_tryblks.TBERR_OK -""" -ok -""" - -ida_tryblks.TBERR_ORDER -""" -bad address order -""" - -ida_tryblks.TBERR_START -""" -bad start address -""" -=== ida_tryblks EPYDOC INJECTIONS END === -ida_typeinf.add_til(): - - add_til(name, flags) -> int - - - Load a til file. - - @param name: til name (C++: const char *) - @param flags: combination of Load TIL flags (C++: int) - @return: one of Load TIL result codes - - -ida_typeinf.alloc_type_ordinal(): - - alloc_type_ordinal(ti) -> uint32 - - - \call2{alloc_type_ordinals,ti,1} - - - @param ti (C++: til_t *) - - -ida_typeinf.alloc_type_ordinals(): - - alloc_type_ordinals(ti, qty) -> uint32 - - - Allocate a range of ordinal numbers for new types. - - @param ti: type library (C++: til_t *) - @param qty: number of ordinals to allocate (C++: int) - @return: the first ordinal. 0 means failure. - - -class ida_typeinf.aloc_visitor_t(): - - Proxy of C++ aloc_visitor_t class - - -ida_typeinf.aloc_visitor_t.visit_location(): - - visit_location(self, v, off, size) -> int - - -ida_typeinf.append_abi_opts(): - - 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: - ABI options to add/remove in form opt1-opt2-... - (C++: const char *) - @param user_level: - initiated by user if TRUE (==SETCOMP_BY_USER) - (C++: bool) - @return: success - - -ida_typeinf.append_argloc(): - - append_argloc(out, vloc) -> bool - - - Serialize argument location. - - - @param out (C++: qtype *) - @param vloc (C++: const argloc_t &) - - -ida_typeinf.append_tinfo_covered(): - - append_tinfo_covered(out, typid, offset) -> bool - - -ida_typeinf.apply_callee_tinfo(): - - 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: linear address of the calling instruction. must belong - to a function. (C++: ea_t) - @param tif: type info (C++: const tinfo_t &) - @return: success - - -ida_typeinf.apply_cdecl(): - - 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: type library (C++: til_t *) - @param ea: linear address (C++: ea_t) - @param decl: type declaration in C form (C++: const char *) - @param flags: flags to pass to apply_tinfo ( TINFO_DEFINITE is always - passed) (C++: int) - @return: success - - -ida_typeinf.apply_named_type(): - - apply_named_type(ea, name) -> bool - - - Apply the specified named type to the address. - - @param ea: linear address (C++: ea_t) - @param name: the type name, e.g. "FILE" (C++: const char *) - @return: success - - -ida_typeinf.apply_once_tinfo_and_name(): - - 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 typedoes not exist or - the new type is 'better' than the old type, then thenew type will be - applied. A type is considered better if it has moreinformation (e.g. - 'BTMT_STRUCT' is better than 'BT_INT' ).The same logic is with the - name: if the address already have a meaningfulname, it will be - preserved. Only if the old name does not exist or itis a dummy name - like byte_123, it will be replaced by the new name. - - @param dea: linear address (C++: ea_t) - @param tif: type string in the internal format (C++: const tinfo_t - &) - @param name: new name for the address (C++: const char *) - @return: success - - -ida_typeinf.apply_tinfo(): - - 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: linear address (C++: ea_t) - @param tif: type string in internal format (C++: const tinfo_t &) - @param flags: combination of Apply tinfo flags (C++: uint32) - @return: success - - -ida_typeinf.apply_tinfo_to_stkarg(): - - apply_tinfo_to_stkarg(insn, x, v, tif, name) -> bool - - - Helper function for the processor modules. to be called from - \ph{use_stkarg_type} - - @param insn (C++: const insn_t &) - @param x (C++: const op_t &) - @param v (C++: uval_t) - @param tif (C++: const tinfo_t &) - @param name (C++: const char *) - - -ida_typeinf.apply_type(): - - apply_type(ti, py_type, py_fields, ea, flags) -> bool - - - Apply the specified type to the address - @param ti: Type info library. 'None' can be used. - @param py_type: type string - @param py_fields: fields string (may be empty or None) - @param ea: the address of the object - @param flags: combination of TINFO_... constants or 0 - @return: Boolean - - -class ida_typeinf.argloc_t(): - - Proxy of C++ argloc_t class - - -ida_typeinf.argloc_t.advance(): - - advance(self, delta) -> bool - - -ida_typeinf.argloc_t.atype(): - - atype(self) -> argloc_type_t - - -ida_typeinf.argloc_t.calc_offset(): - - calc_offset(self) -> sval_t - - -ida_typeinf.argloc_t.compare(): - - compare(self, r) -> int - - -ida_typeinf.argloc_t.consume_rrel(): - - consume_rrel(self, p) - - -ida_typeinf.argloc_t.consume_scattered(): - - consume_scattered(self, p) - - -ida_typeinf.argloc_t.get_biggest(): - - get_biggest(self) -> argloc_t::biggest_t - - -ida_typeinf.argloc_t.get_custom(): - - get_custom(self) -> void * - - -ida_typeinf.argloc_t.get_ea(): - - get_ea(self) -> ea_t - - -ida_typeinf.argloc_t.get_reginfo(): - - get_reginfo(self) -> uint32 - - -ida_typeinf.argloc_t.get_rrel(): - - get_rrel(self) -> rrel_t - get_rrel(self) -> rrel_t - - -ida_typeinf.argloc_t.has_reg(): - - has_reg(self) -> bool - - -ida_typeinf.argloc_t.has_stkoff(): - - has_stkoff(self) -> bool - - -ida_typeinf.argloc_t.is_badloc(): - - is_badloc(self) -> bool - - -ida_typeinf.argloc_t.is_custom(): - - is_custom(self) -> bool - - -ida_typeinf.argloc_t.is_ea(): - - is_ea(self) -> bool - - -ida_typeinf.argloc_t.is_fragmented(): - - is_fragmented(self) -> bool - - -ida_typeinf.argloc_t.is_mixed_scattered(): - - is_mixed_scattered(self) -> bool - - -ida_typeinf.argloc_t.is_reg(): - - is_reg(self) -> bool - - -ida_typeinf.argloc_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_typeinf.argloc_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_typeinf.argloc_t.is_rrel(): - - is_rrel(self) -> bool - - -ida_typeinf.argloc_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_typeinf.argloc_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_typeinf.argloc_t.reg1(): - - reg1(self) -> int - - -ida_typeinf.argloc_t.reg2(): - - reg2(self) -> int - - -ida_typeinf.argloc_t.regoff(): - - regoff(self) -> int - - -ida_typeinf.argloc_t.scattered(): - - scattered(self) -> scattered_aloc_t - scattered(self) -> scattered_aloc_t - - -ida_typeinf.argloc_t.set_badloc(): - - set_badloc(self) - - -ida_typeinf.argloc_t.set_ea(): - - set_ea(self, _ea) - - -ida_typeinf.argloc_t.set_reg1(): - - set_reg1(self, reg, off=0) - - -ida_typeinf.argloc_t.set_reg2(): - - set_reg2(self, _reg1, _reg2) - - -ida_typeinf.argloc_t.set_stkoff(): - - set_stkoff(self, off) - - -ida_typeinf.argloc_t.stkoff(): - - stkoff(self) -> sval_t - - -ida_typeinf.argloc_t.swap(): - - swap(self, r) - - -class ida_typeinf.argpart_t(): - - Proxy of C++ argpart_t class - - -ida_typeinf.argpart_t.advance(): - - advance(self, delta) -> bool - - -ida_typeinf.argpart_t.atype(): - - atype(self) -> argloc_type_t - - -ida_typeinf.argpart_t.bad_offset(): - - bad_offset(self) -> bool - - -ida_typeinf.argpart_t.bad_size(): - - bad_size(self) -> bool - - -ida_typeinf.argpart_t.calc_offset(): - - calc_offset(self) -> sval_t - - -ida_typeinf.argpart_t.compare(): - - compare(self, r) -> int - - -ida_typeinf.argpart_t.consume_rrel(): - - consume_rrel(self, p) - - -ida_typeinf.argpart_t.consume_scattered(): - - consume_scattered(self, p) - - -ida_typeinf.argpart_t.get_biggest(): - - get_biggest(self) -> argloc_t::biggest_t - - -ida_typeinf.argpart_t.get_custom(): - - get_custom(self) -> void * - - -ida_typeinf.argpart_t.get_ea(): - - get_ea(self) -> ea_t - - -ida_typeinf.argpart_t.get_reginfo(): - - get_reginfo(self) -> uint32 - - -ida_typeinf.argpart_t.get_rrel(): - - get_rrel(self) -> rrel_t - get_rrel(self) -> rrel_t - - -ida_typeinf.argpart_t.has_reg(): - - has_reg(self) -> bool - - -ida_typeinf.argpart_t.has_stkoff(): - - has_stkoff(self) -> bool - - -ida_typeinf.argpart_t.is_badloc(): - - is_badloc(self) -> bool - - -ida_typeinf.argpart_t.is_custom(): - - is_custom(self) -> bool - - -ida_typeinf.argpart_t.is_ea(): - - is_ea(self) -> bool - - -ida_typeinf.argpart_t.is_fragmented(): - - is_fragmented(self) -> bool - - -ida_typeinf.argpart_t.is_mixed_scattered(): - - is_mixed_scattered(self) -> bool - - -ida_typeinf.argpart_t.is_reg(): - - is_reg(self) -> bool - - -ida_typeinf.argpart_t.is_reg1(): - - is_reg1(self) -> bool - - -ida_typeinf.argpart_t.is_reg2(): - - is_reg2(self) -> bool - - -ida_typeinf.argpart_t.is_rrel(): - - is_rrel(self) -> bool - - -ida_typeinf.argpart_t.is_scattered(): - - is_scattered(self) -> bool - - -ida_typeinf.argpart_t.is_stkoff(): - - is_stkoff(self) -> bool - - -ida_typeinf.argpart_t.off: - argpart_t_off_get(self) -> ushort - -ida_typeinf.argpart_t.reg1(): - - reg1(self) -> int - - -ida_typeinf.argpart_t.reg2(): - - reg2(self) -> int - - -ida_typeinf.argpart_t.regoff(): - - regoff(self) -> int - - -ida_typeinf.argpart_t.scattered(): - - scattered(self) -> scattered_aloc_t - scattered(self) -> scattered_aloc_t - - -ida_typeinf.argpart_t.set_badloc(): - - set_badloc(self) - - -ida_typeinf.argpart_t.set_ea(): - - set_ea(self, _ea) - - -ida_typeinf.argpart_t.set_reg1(): - - set_reg1(self, reg, off=0) - - -ida_typeinf.argpart_t.set_reg2(): - - set_reg2(self, _reg1, _reg2) - - -ida_typeinf.argpart_t.set_stkoff(): - - set_stkoff(self, off) - - -ida_typeinf.argpart_t.size: - argpart_t_size_get(self) -> ushort - -ida_typeinf.argpart_t.stkoff(): - - stkoff(self) -> sval_t - - -ida_typeinf.argpart_t.swap(): - - swap(self, r) - - -class ida_typeinf.argpartvec_t(): - - Proxy of C++ qvector<(argpart_t)> class - - -ida_typeinf.argpartvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.argpartvec_t.at(): - - at(self, _idx) -> argpart_t - - -ida_typeinf.argpartvec_t.begin(): - - begin(self) -> argpart_t - begin(self) -> argpart_t - - -ida_typeinf.argpartvec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.argpartvec_t.clear(): - - clear(self) - - -ida_typeinf.argpartvec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.argpartvec_t.end(): - - end(self) -> argpart_t - end(self) -> argpart_t - - -ida_typeinf.argpartvec_t.erase(): - - erase(self, it) -> argpart_t - erase(self, first, last) -> argpart_t - - -ida_typeinf.argpartvec_t.extract(): - - extract(self) -> argpart_t - - -ida_typeinf.argpartvec_t.find(): - - find(self, x) -> argpart_t - find(self, x) -> argpart_t - - -ida_typeinf.argpartvec_t.grow(): - - grow(self, x=argpart_t()) - - -ida_typeinf.argpartvec_t.has(): - - has(self, x) -> bool - - -ida_typeinf.argpartvec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.argpartvec_t.insert(): - - insert(self, it, x) -> argpart_t - - -ida_typeinf.argpartvec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.argpartvec_t.push_back(): - - push_back(self, x) - push_back(self) -> argpart_t - - -ida_typeinf.argpartvec_t.qclear(): - - qclear(self) - - -ida_typeinf.argpartvec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.argpartvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.argpartvec_t.size(): - - size(self) -> size_t - - -ida_typeinf.argpartvec_t.swap(): - - swap(self, r) - - -ida_typeinf.argpartvec_t.truncate(): - - truncate(self) - - -class ida_typeinf.array_type_data_t(): - - Proxy of C++ array_type_data_t class - - -ida_typeinf.array_type_data_t.base: - array_type_data_t_base_get(self) -> uint32 - -ida_typeinf.array_type_data_t.elem_type: - array_type_data_t_elem_type_get(self) -> tinfo_t - -ida_typeinf.array_type_data_t.nelems: - array_type_data_t_nelems_get(self) -> uint32 - -ida_typeinf.array_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.begin_type_updating(): - - 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) - - -class ida_typeinf.bitfield_type_data_t(): - - Proxy of C++ bitfield_type_data_t class - - -ida_typeinf.bitfield_type_data_t.compare(): - - compare(self, r) -> int - - -ida_typeinf.bitfield_type_data_t.is_unsigned: - bitfield_type_data_t_is_unsigned_get(self) -> bool - -ida_typeinf.bitfield_type_data_t.nbytes: - bitfield_type_data_t_nbytes_get(self) -> uchar - -ida_typeinf.bitfield_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.bitfield_type_data_t.width: - bitfield_type_data_t_width_get(self) -> uchar - -ida_typeinf.calc_c_cpp_name(): - - calc_c_cpp_name(name, type, ccn_flags) -> ssize_t - - - Get C or C++ form of the name. - - @param name: original (mangled or decorated) name (C++: const char *) - @param type: name type if known, otherwise NULL (C++: const tinfo_t - *) - @param ccn_flags: one of C/C++ naming flags (C++: int) - - -ida_typeinf.calc_number_of_children(): - - 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: location of the data ( ALOC_STATIC or ALOC_CUSTOM ) - (C++: const argloc_t &) - @param tif: type info (C++: const tinfo_t &) - @param dont_deref_ptr: consider 'ea' as the ptr value (C++: bool) - - -ida_typeinf.calc_tinfo_gaps(): - - calc_tinfo_gaps(out, typid) -> bool - - -ida_typeinf.calc_type_size(): - - calc_type_size(ti, tp) -> PyObject * - - - Returns the size of a type - @param ti: Type info. 'None' can be passed. - @param tp: type string - @return: - - None on failure - - The size of the type - - -class ida_typeinf.callregs_t(): - - Proxy of C++ callregs_t class - - -ida_typeinf.callregs_t.fpregs: - callregs_t_fpregs_get(self) -> intvec_t * - -ida_typeinf.callregs_t.gpregs: - callregs_t_gpregs_get(self) -> intvec_t * - -ida_typeinf.callregs_t.init_regs(): - - init_regs(self, cc) - - -ida_typeinf.callregs_t.nregs: - callregs_t_nregs_get(self) -> int - -ida_typeinf.callregs_t.policy: - callregs_t_policy_get(self) -> argreg_policy_t - -ida_typeinf.callregs_t.regcount(): - - regcount(cc) -> int - - -ida_typeinf.callregs_t.reginds(): - - reginds(self, gp_ind, fp_ind, r) -> bool - - -ida_typeinf.callregs_t.reset(): - - reset(self) - - -ida_typeinf.callregs_t.set(): - - set(self, _policy, gprs, fprs) - - -ida_typeinf.callregs_t_regcount(): - - callregs_t_regcount(cc) -> int - - -ida_typeinf.choose_local_tinfo(): - - choose_local_tinfo(ti, title, func=None, def_ord=0, ud=None) -> uint32 - - - Choose a type from the local type library. - - @param ti: pointer to til (C++: const til_t *) - @param title: title of listbox to display (C++: const char *) - @param func: predicate to select types to display (maybe NULL) (C++: - local_tinfo_predicate_t *) - @param def_ord: ordinal to position cursor before choose (C++: uint32) - @param ud: user data (C++: void *) - @return: == 0 means nothing is chosen, otherwise an ordinal number - - -ida_typeinf.choose_named_type(): - - choose_named_type(out_sym, root_til, title, ntf_flags, predicate=None) -> bool - - - Choose a type from a type library. - - @param out_sym: pointer to be filled with the chosen type (C++: - til_symbol_t *) - @param root_til: pointer to starting til (the function will inspect - the base tils if allowed by flags) (C++: const til_t - *) - @param title: title of listbox to display (C++: const char *) - @param ntf_flags: combination of Flags for named types (C++: int) - @param predicate: predicate to select types to display (maybe NULL) - (C++: predicate_t *) - @return: false if nothing is chosen, otherwise true - - -ida_typeinf.clear_tinfo_t(): - - clear_tinfo_t(_this) - - -ida_typeinf.compact_til(): - - 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 - - -ida_typeinf.compare_tinfo(): - - compare_tinfo(t1, t2, tcflags) -> bool - - -class ida_typeinf.const_aloc_visitor_t(): - - Proxy of C++ const_aloc_visitor_t class - - -ida_typeinf.const_aloc_visitor_t.visit_location(): - - visit_location(self, v, off, size) -> int - - -ida_typeinf.convert_pt_flags_to_hti(): - - 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) - - -ida_typeinf.copy_named_type(): - - 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: Destination til. It must have orginal types enabled - (C++: til_t *) - @param srctil: Source til. (C++: const til_t *) - @param name: name of the type to copy (C++: const char *) - @return: ordinal number of the copied type. 0 means error - - -ida_typeinf.copy_tinfo_t(): - - copy_tinfo_t(_this, r) - - -ida_typeinf.create_numbered_type_name(): - - create_numbered_type_name(ord) -> ssize_t - - - 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) - - -ida_typeinf.create_tinfo(): - - create_tinfo(_this, bt, bt2, ptr) -> bool - - -ida_typeinf.default_compiler(): - - default_compiler() -> comp_t - - - Get compiler specified by armem{inf,idainfo,cc}. - - -ida_typeinf.del_named_type(): - - del_named_type(ti, name, ntf_flags) -> bool - - - Delete information about a symbol. - - @param ti: type library (C++: til_t *) - @param name: name of symbol (C++: const char *) - @param ntf_flags: combination of Flags for named types (C++: int) - @return: success - - -ida_typeinf.del_numbered_type(): - - del_numbered_type(ti, ordinal) -> bool - - - Delete a numbered type. - - - @param ti (C++: til_t *) - @param ordinal (C++: uint32) - - -ida_typeinf.del_til(): - - del_til(name) -> bool - - - Unload a til file. - - - @param name (C++: const char *) - - -ida_typeinf.del_tinfo_attr(): - - del_tinfo_attr(tif, key, make_copy) -> bool - - -ida_typeinf.deref_ptr(): - - deref_ptr(ptr_ea, tif, closure_obj=None) -> bool - - - Dereference a pointer. - - @param ptr_ea: in/out parameter in: address of the pointer out: - the pointed address (C++: ea_t *) - @param tif: type of the pointer (C++: const tinfo_t &) - @param closure_obj: closure object (not used yet) (C++: ea_t *) - @return: success - - -ida_typeinf.deserialize_tinfo(): - - deserialize_tinfo(tif, til, ptype, pfields, pfldcmts) -> bool - - -ida_typeinf.dstr_tinfo(): - - dstr_tinfo(tif) -> char const * - - -ida_typeinf.dump_func_type_data(): - - dump_func_type_data(fti, praloc_bits) -> bool - - - Use 'func_type_data_t::dump()' - - - @param fti (C++: const func_type_data_t &) - @param praloc_bits (C++: int) - - -ida_typeinf.end_type_updating(): - - 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) - - -class ida_typeinf.enum_member_t(): - - Proxy of C++ enum_member_t class - - -ida_typeinf.enum_member_t.cmt: - enum_member_t_cmt_get(self) -> qstring * - -ida_typeinf.enum_member_t.name: - enum_member_t_name_get(self) -> qstring * - -ida_typeinf.enum_member_t.swap(): - - swap(self, r) - - -ida_typeinf.enum_member_t.value: - enum_member_t_value_get(self) -> uint64 - -class ida_typeinf.enum_member_vec_t(): - - Proxy of C++ qvector<(enum_member_t)> class - - -ida_typeinf.enum_member_vec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.enum_member_vec_t.at(): - - at(self, _idx) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.begin(): - - begin(self) -> enum_member_t - begin(self) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.enum_member_vec_t.clear(): - - clear(self) - - -ida_typeinf.enum_member_vec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.enum_member_vec_t.end(): - - end(self) -> enum_member_t - end(self) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.erase(): - - erase(self, it) -> enum_member_t - erase(self, first, last) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.extract(): - - extract(self) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.find(): - - find(self, x) -> enum_member_t - find(self, x) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.grow(): - - grow(self, x=enum_member_t()) - - -ida_typeinf.enum_member_vec_t.has(): - - has(self, x) -> bool - - -ida_typeinf.enum_member_vec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.enum_member_vec_t.insert(): - - insert(self, it, x) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.enum_member_vec_t.push_back(): - - push_back(self, x) - push_back(self) -> enum_member_t - - -ida_typeinf.enum_member_vec_t.qclear(): - - qclear(self) - - -ida_typeinf.enum_member_vec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.enum_member_vec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.enum_member_vec_t.size(): - - size(self) -> size_t - - -ida_typeinf.enum_member_vec_t.swap(): - - swap(self, r) - - -ida_typeinf.enum_member_vec_t.truncate(): - - truncate(self) - - -class ida_typeinf.enum_type_data_t(): - - Proxy of C++ enum_type_data_t class - - -ida_typeinf.enum_type_data_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.enum_type_data_t.at(): - - at(self, _idx) -> enum_member_t - - -ida_typeinf.enum_type_data_t.begin(): - - begin(self) -> enum_member_t - begin(self) -> enum_member_t - - -ida_typeinf.enum_type_data_t.bte: - enum_type_data_t_bte_get(self) -> bte_t - -ida_typeinf.enum_type_data_t.calc_mask(): - - calc_mask(self) -> uint64 - - -ida_typeinf.enum_type_data_t.calc_nbytes(): - - calc_nbytes(self) -> int - - -ida_typeinf.enum_type_data_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.enum_type_data_t.clear(): - - clear(self) - - -ida_typeinf.enum_type_data_t.empty(): - - empty(self) -> bool - - -ida_typeinf.enum_type_data_t.end(): - - end(self) -> enum_member_t - end(self) -> enum_member_t - - -ida_typeinf.enum_type_data_t.erase(): - - erase(self, it) -> enum_member_t - erase(self, first, last) -> enum_member_t - - -ida_typeinf.enum_type_data_t.extract(): - - extract(self) -> enum_member_t - - -ida_typeinf.enum_type_data_t.find(): - - find(self, x) -> enum_member_t - find(self, x) -> enum_member_t - - -ida_typeinf.enum_type_data_t.group_sizes: - enum_type_data_t_group_sizes_get(self) -> intvec_t * - -ida_typeinf.enum_type_data_t.grow(): - - grow(self, x=enum_member_t()) - - -ida_typeinf.enum_type_data_t.has(): - - has(self, x) -> bool - - -ida_typeinf.enum_type_data_t.inject(): - - inject(self, s, len) - - -ida_typeinf.enum_type_data_t.insert(): - - insert(self, it, x) -> enum_member_t - - -ida_typeinf.enum_type_data_t.is_64bit(): - - is_64bit(self) -> bool - - -ida_typeinf.enum_type_data_t.is_char(): - - is_char(self) -> bool - - -ida_typeinf.enum_type_data_t.is_hex(): - - is_hex(self) -> bool - - -ida_typeinf.enum_type_data_t.is_sdec(): - - is_sdec(self) -> bool - - -ida_typeinf.enum_type_data_t.is_udec(): - - is_udec(self) -> bool - - -ida_typeinf.enum_type_data_t.pop_back(): - - pop_back(self) - - -ida_typeinf.enum_type_data_t.push_back(): - - push_back(self, x) - push_back(self) -> enum_member_t - - -ida_typeinf.enum_type_data_t.qclear(): - - qclear(self) - - -ida_typeinf.enum_type_data_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.enum_type_data_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.enum_type_data_t.size(): - - size(self) -> size_t - - -ida_typeinf.enum_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.enum_type_data_t.taenum_bits: - enum_type_data_t_taenum_bits_get(self) -> uint32 - -ida_typeinf.enum_type_data_t.truncate(): - - truncate(self) - - -ida_typeinf.extract_argloc(): - - extract_argloc(vloc, ptype, is_retval) -> bool - - - Deserialize argument location. - - - @param vloc (C++: argloc_t *) - @param ptype (C++: const type_t **) - @param is_retval (C++: bool) - - -ida_typeinf.find_tinfo_udt_member(): - - find_tinfo_udt_member(udm, typid, strmem_flags) -> int - - -ida_typeinf.first_named_type(): - - first_named_type(ti, ntf_flags) -> char const * - - - Enumerate types. Returns mangled names. Never returns anonymous types. - To include it, enumerate types by ordinals. - - @param ti (C++: const til_t *) - @param ntf_flags (C++: int) - - -ida_typeinf.for_all_arglocs(): - - 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) - - -ida_typeinf.for_all_const_arglocs(): - - 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 &) - @param size (C++: int) - @param off (C++: int) - - -ida_typeinf.free_til(): - - free_til(ti) - - - Free memory allocated by til. - - - @param ti (C++: til_t *) - - -ida_typeinf.func_has_stkframe_hole(): - - 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 &) - - -class ida_typeinf.func_type_data_t(): - - Proxy of C++ func_type_data_t class - - -ida_typeinf.func_type_data_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.func_type_data_t.at(): - - at(self, _idx) -> funcarg_t - - -ida_typeinf.func_type_data_t.begin(): - - begin(self) -> funcarg_t - begin(self) -> funcarg_t - - -ida_typeinf.func_type_data_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.func_type_data_t.cc: - func_type_data_t_cc_get(self) -> cm_t - -ida_typeinf.func_type_data_t.clear(): - - clear(self) - - -ida_typeinf.func_type_data_t.dump(): - - dump(self, praloc_bits=0x02) -> bool - - -ida_typeinf.func_type_data_t.empty(): - - empty(self) -> bool - - -ida_typeinf.func_type_data_t.end(): - - end(self) -> funcarg_t - end(self) -> funcarg_t - - -ida_typeinf.func_type_data_t.erase(): - - erase(self, it) -> funcarg_t - erase(self, first, last) -> funcarg_t - - -ida_typeinf.func_type_data_t.extract(): - - extract(self) -> funcarg_t - - -ida_typeinf.func_type_data_t.find(): - - find(self, x) -> funcarg_t - find(self, x) -> funcarg_t - - -ida_typeinf.func_type_data_t.flags: - func_type_data_t_flags_get(self) -> int - -ida_typeinf.func_type_data_t.get_call_method(): - - get_call_method(self) -> int - - -ida_typeinf.func_type_data_t.grow(): - - grow(self, x=funcarg_t()) - - -ida_typeinf.func_type_data_t.guess_cc(): - - guess_cc(self, purged, cc_flags) -> cm_t - - -ida_typeinf.func_type_data_t.has(): - - has(self, x) -> bool - - -ida_typeinf.func_type_data_t.inject(): - - inject(self, s, len) - - -ida_typeinf.func_type_data_t.insert(): - - insert(self, it, x) -> funcarg_t - - -ida_typeinf.func_type_data_t.is_high(): - - is_high(self) -> bool - - -ida_typeinf.func_type_data_t.is_noret(): - - is_noret(self) -> bool - - -ida_typeinf.func_type_data_t.is_pure(): - - is_pure(self) -> bool - - -ida_typeinf.func_type_data_t.is_vararg_cc(): - - is_vararg_cc(self) -> bool - - -ida_typeinf.func_type_data_t.pop_back(): - - pop_back(self) - - -ida_typeinf.func_type_data_t.push_back(): - - push_back(self, x) - push_back(self) -> funcarg_t - - -ida_typeinf.func_type_data_t.qclear(): - - qclear(self) - - -ida_typeinf.func_type_data_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.func_type_data_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.func_type_data_t.retloc: - func_type_data_t_retloc_get(self) -> argloc_t - -ida_typeinf.func_type_data_t.rettype: - func_type_data_t_rettype_get(self) -> tinfo_t - -ida_typeinf.func_type_data_t.size(): - - size(self) -> size_t - - -ida_typeinf.func_type_data_t.spoiled: - func_type_data_t_spoiled_get(self) -> reginfovec_t - -ida_typeinf.func_type_data_t.stkargs: - func_type_data_t_stkargs_get(self) -> uval_t - -ida_typeinf.func_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.func_type_data_t.truncate(): - - truncate(self) - - -class ida_typeinf.funcarg_t(): - - Proxy of C++ funcarg_t class - - -ida_typeinf.funcarg_t.argloc: - funcarg_t_argloc_get(self) -> argloc_t - -ida_typeinf.funcarg_t.cmt: - funcarg_t_cmt_get(self) -> qstring * - -ida_typeinf.funcarg_t.flags: - funcarg_t_flags_get(self) -> uint32 - -ida_typeinf.funcarg_t.name: - funcarg_t_name_get(self) -> qstring * - -ida_typeinf.funcarg_t.type: - funcarg_t_type_get(self) -> tinfo_t - -class ida_typeinf.funcargvec_t(): - - Proxy of C++ qvector<(funcarg_t)> class - - -ida_typeinf.funcargvec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.funcargvec_t.at(): - - at(self, _idx) -> funcarg_t - - -ida_typeinf.funcargvec_t.begin(): - - begin(self) -> funcarg_t - begin(self) -> funcarg_t - - -ida_typeinf.funcargvec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.funcargvec_t.clear(): - - clear(self) - - -ida_typeinf.funcargvec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.funcargvec_t.end(): - - end(self) -> funcarg_t - end(self) -> funcarg_t - - -ida_typeinf.funcargvec_t.erase(): - - erase(self, it) -> funcarg_t - erase(self, first, last) -> funcarg_t - - -ida_typeinf.funcargvec_t.extract(): - - extract(self) -> funcarg_t - - -ida_typeinf.funcargvec_t.find(): - - find(self, x) -> funcarg_t - find(self, x) -> funcarg_t - - -ida_typeinf.funcargvec_t.grow(): - - grow(self, x=funcarg_t()) - - -ida_typeinf.funcargvec_t.has(): - - has(self, x) -> bool - - -ida_typeinf.funcargvec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.funcargvec_t.insert(): - - insert(self, it, x) -> funcarg_t - - -ida_typeinf.funcargvec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.funcargvec_t.push_back(): - - push_back(self, x) - push_back(self) -> funcarg_t - - -ida_typeinf.funcargvec_t.qclear(): - - qclear(self) - - -ida_typeinf.funcargvec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.funcargvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.funcargvec_t.size(): - - size(self) -> size_t - - -ida_typeinf.funcargvec_t.swap(): - - swap(self, r) - - -ida_typeinf.funcargvec_t.truncate(): - - truncate(self) - - -ida_typeinf.gcc_layout(): - - gcc_layout() -> bool - - - Should use the struct/union layout as done by gcc? - - -ida_typeinf.gen_decorate_name(): - - gen_decorate_name(name, mangle, cc, type) -> bool - - - Generic function for 'decorate_name()' (may be used in IDP modules) - - - @param name (C++: const char *) - @param mangle (C++: bool) - @param cc (C++: cm_t) - @param type (C++: const tinfo_t *) - - -ida_typeinf.gen_use_arg_tinfos(): - - gen_use_arg_tinfos(caller, fti, rargs, set_optype, is_stkarg_load, has_delay_slot) - - - The main function using these callbacks: - - - @param caller (C++: ea_t) - @param fti (C++: func_type_data_t *) - @param rargs (C++: funcargvec_t *) - @param set_optype (C++: set_op_tinfo_t *) - @param is_stkarg_load (C++: is_stkarg_load_t *) - @param has_delay_slot (C++: has_delay_slot_t *) - - -ida_typeinf.get_abi_name(): - - get_abi_name() -> ssize_t - - - Get ABI name. - - @return: length of the name (>=0) - - -ida_typeinf.get_alias_target(): - - 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 *) - @param ordinal (C++: uint32) - - -ida_typeinf.get_arg_addrs(): - - get_arg_addrs(caller) -> PyObject * - - - Retrieve addresses of argument initialization instructions - - @param caller: the address of the call instruction - @return: list of instruction addresses - - -ida_typeinf.get_base_type(): - - get_base_type(t) -> type_t - - - Get get basic type bits ( 'TYPE_BASE_MASK' ) - - - @param t (C++: type_t) - - -ida_typeinf.get_c_header_path(): - - get_c_header_path() -> ssize_t - - - Get the include directory path of the target compiler. - - -ida_typeinf.get_c_macros(): - - get_c_macros() -> ssize_t - - - Get predefined macros for the target compiler. - - -ida_typeinf.get_comp(): - - get_comp(comp) -> comp_t - - - Get compiler bits. - - - @param comp (C++: comp_t) - - -ida_typeinf.get_compiler_abbr(): - - get_compiler_abbr(id) -> char const * - - - Get abbreviated compiler name. - - - @param id (C++: comp_t) - - -ida_typeinf.get_compiler_name(): - - get_compiler_name(id) -> char const * - - - Get full compiler name. - - - @param id (C++: comp_t) - - -ida_typeinf.get_compilers(): - - 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 *) - - -ida_typeinf.get_enum_member_expr(): - - get_enum_member_expr(tif, serial, value) -> bool - - - 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: enumeration type (C++: const tinfo_t &) - @param serial: which enumeration member to use (0 means the first with - the given value) (C++: int) - @param value: value to search in the enumeration type. only 32-bit - number can be handled yet (C++: uint64) - @return: success - - -ida_typeinf.get_full_type(): - - get_full_type(t) -> type_t - - - Get basic type bits + type flags ( 'TYPE_FULL_MASK' ) - - - @param t (C++: type_t) - - -ida_typeinf.get_idainfo_by_type(): - - get_idainfo_by_type(tif) -> bool - - - Extract information from a 'tinfo_t' . - - @param tif: the type to inspect (C++: const tinfo_t &) - - -ida_typeinf.get_idati(): - - get_idati() -> til_t - - - Pointer to the local type library - this til is private for each IDB - file Function that accepts til_t* uses local type library instead of - NULL. - - -ida_typeinf.get_named_type(): - - get_named_type(til, name, ntf_flags) -> PyObject * - - - 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 - - -ida_typeinf.get_named_type64(): - - get_named_type64(til, name, ntf_flags) -> PyObject * - - - See 'get_named_type()' above.If the value in the 'ti' library is - 32-bit, it will be sign-extended before being stored in the 'value' - pointer. - - @param name (C++: const char *) - @param ntf_flags (C++: int) - - -ida_typeinf.get_numbered_type(): - - get_numbered_type(til, ordinal) -> PyObject * - - - Retrieve a type by its ordinal number. - - - @param ordinal (C++: uint32) - - -ida_typeinf.get_numbered_type_name(): - - 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 NULL - - @param ti (C++: const til_t *) - @param ordinal (C++: uint32) - - -ida_typeinf.get_ordinal_from_idb_type(): - - get_ordinal_from_idb_type(name, type) -> int - - - Get ordinal number of an idb type (struct/enum). The 'type' parameter - is used only to determine the kind of the type (struct or enum) Use - this function to find out the correspondence between idb types and til - types - - @param name (C++: const char *) - @param type (C++: const type_t *) - - -ida_typeinf.get_ordinal_qty(): - - get_ordinal_qty(ti) -> uint32 - - - Get number of allocated ordinals. - - @param ti (C++: const til_t *) - @return: uint32(-1) if failed - - -ida_typeinf.get_scalar_bt(): - - get_scalar_bt(size) -> type_t - - -ida_typeinf.get_stock_tinfo(): - - get_stock_tinfo(tif, id) -> bool - - -ida_typeinf.get_tinfo_attr(): - - get_tinfo_attr(typid, key, bv, all_attrs) -> bool - - -ida_typeinf.get_tinfo_attrs(): - - get_tinfo_attrs(typid, tav, include_ref_attrs) -> bool - - -ida_typeinf.get_tinfo_details(): - - get_tinfo_details(typid, bt2, buf) -> bool - - -ida_typeinf.get_tinfo_pdata(): - - get_tinfo_pdata(outptr, typid, what) -> size_t - - -ida_typeinf.get_tinfo_property(): - - get_tinfo_property(typid, gta_prop) -> size_t - - -ida_typeinf.get_tinfo_size(): - - get_tinfo_size(p_effalign, typid, gts_code) -> size_t - - -ida_typeinf.get_type_flags(): - - get_type_flags(t) -> type_t - - - Get type flags ( 'TYPE_FLAGS_MASK' ) - - - @param t (C++: type_t) - - -ida_typeinf.get_type_ordinal(): - - get_type_ordinal(ti, name) -> int32 - - - Get type ordinal by its name. - - - @param ti (C++: const til_t *) - @param name (C++: const char *) - - -ida_typeinf.guess_func_cc(): - - guess_func_cc(fti, npurged, cc_flags) -> cm_t - - - Use 'func_type_data_t::guess_cc()' - - - @param fti (C++: const func_type_data_t &) - @param npurged (C++: int) - @param cc_flags (C++: int) - - -ida_typeinf.guess_tinfo(): - - guess_tinfo(tif, id) -> int - - - Generate a type information about the id from the disassembly. id can - be a structure/union/enum id or an address. - - @param tif (C++: tinfo_t *) - @param id (C++: tid_t) - @return: one of Guess tinfo codes - - -class ida_typeinf.ida_lowertype_helper_t(): - - Proxy of C++ ida_lowertype_helper_t class - - -ida_typeinf.ida_lowertype_helper_t.func_has_stkframe_hole(): - - func_has_stkframe_hole(self, candidate, candidate_data) -> bool - - -ida_typeinf.ida_lowertype_helper_t.get_func_purged_bytes(): - - get_func_purged_bytes(self, candidate, arg3) -> int - - -ida_typeinf.idc_get_local_type(): - - idc_get_local_type(ordinal, flags, buf, maxsize) -> int - - -ida_typeinf.idc_get_local_type_name(): - - idc_get_local_type_name(ordinal) -> char - - -ida_typeinf.idc_get_local_type_raw(): - - idc_get_local_type_raw(ordinal) -> PyObject * - - -ida_typeinf.idc_get_type(): - - idc_get_type(ea) -> char * - - -ida_typeinf.idc_get_type_raw(): - - idc_get_type_raw(ea) -> PyObject * - - -ida_typeinf.idc_guess_type(): - - idc_guess_type(ea) -> char * - - -ida_typeinf.idc_parse_decl(): - - idc_parse_decl(ti, decl, flags) -> PyObject * - - -ida_typeinf.idc_parse_types(): - - idc_parse_types(input, flags) -> int - - -ida_typeinf.idc_print_type(): - - idc_print_type(py_type, py_fields, name, flags) -> PyObject * - - -ida_typeinf.idc_set_local_type(): - - idc_set_local_type(ordinal, dcl, flags) -> int - - -ida_typeinf.import_type(): - - import_type(til, idx, name, flags=0) -> tid_t - - - Copy a named type from til to idb. - - @param til: type library (C++: const til_t *) - @param idx: the position of the new type in the list of types - (structures or enums). -1 means at the end of the list - (C++: int) - @param name: the type name (C++: const char *) - @param flags: combination of Import type flags (C++: int) - @return: BADNODE on error - - -ida_typeinf.is_autosync(): - - is_autosync(name, type) -> bool - is_autosync(name, tif) -> bool - - - Is the specified idb type automatically synchronized? - - - @param name (C++: const char *) - @param type (C++: const type_t *) - - -ida_typeinf.is_code_far(): - - is_code_far(cm) -> bool - - - Does the given model specify far code?. - - - @param cm (C++: cm_t) - - -ida_typeinf.is_comp_unsure(): - - is_comp_unsure(comp) -> comp_t - - - See 'COMP_UNSURE' . - - - @param comp (C++: comp_t) - - -ida_typeinf.is_data_far(): - - is_data_far(cm) -> bool - - - Does the given model specify far data?. - - - @param cm (C++: cm_t) - - -ida_typeinf.is_gcc(): - - is_gcc() -> bool - - - Is the target compiler 'COMP_GNU' ? - - -ida_typeinf.is_gcc32(): - - is_gcc32() -> bool - - - Is the target compiler 32 bit gcc? - - -ida_typeinf.is_gcc64(): - - is_gcc64() -> bool - - - Is the target compiler 64 bit gcc? - - -ida_typeinf.is_ordinal_name(): - - 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 *) - @param ord (C++: uint32 *) - - -ida_typeinf.is_purging_cc(): - - is_purging_cc(cm) -> bool - - - Does the calling convention clean the stack arguments upon - return?.this function is valid only for x86 code - - @param cm (C++: cm_t) - - -ida_typeinf.is_restype_enum(): - - is_restype_enum(til, type) -> bool - - -ida_typeinf.is_restype_struct(): - - is_restype_struct(til, type) -> bool - - -ida_typeinf.is_restype_struni(): - - is_restype_struni(til, type) -> bool - - -ida_typeinf.is_restype_void(): - - is_restype_void(til, type) -> bool - - -ida_typeinf.is_sdacl_byte(): - - 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) - - -ida_typeinf.is_tah_byte(): - - 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) - - -ida_typeinf.is_type_arithmetic(): - - is_type_arithmetic(t) -> bool - - - Is the type an arithmetic type? (floating or integral) - - - @param t (C++: type_t) - - -ida_typeinf.is_type_array(): - - is_type_array(t) -> bool - - - See 'BT_ARRAY' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_bitfld(): - - is_type_bitfld(t) -> bool - - - See 'BT_BITFIELD' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_bool(): - - is_type_bool(t) -> bool - - - See 'BTF_BOOL' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_char(): - - is_type_char(t) -> bool - - - Does the type specify a char value? (signed or unsigned, see 'Basic - type: integer' ) - - - @param t (C++: type_t) - - -ida_typeinf.is_type_complex(): - - is_type_complex(t) -> bool - - - See 'BT_COMPLEX' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_const(): - - is_type_const(t) -> bool - - - See 'BTM_CONST' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_double(): - - is_type_double(t) -> bool - - - See 'BTF_DOUBLE' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_enum(): - - is_type_enum(t) -> bool - - - See 'BTF_ENUM' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_ext_arithmetic(): - - is_type_ext_arithmetic(t) -> bool - - - Is the type an extended arithmetic type? (arithmetic or enum) - - - @param t (C++: type_t) - - -ida_typeinf.is_type_ext_integral(): - - is_type_ext_integral(t) -> bool - - - Is the type an extended integral type? (integral or enum) - - - @param t (C++: type_t) - - -ida_typeinf.is_type_float(): - - is_type_float(t) -> bool - - - See 'BTF_FLOAT' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_floating(): - - is_type_floating(t) -> bool - - - Is the type a floating point type? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_func(): - - is_type_func(t) -> bool - - - See 'BT_FUNC' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_int(): - - is_type_int(bt) -> bool - - - Does the type_t specify one of the basic types in 'Basic type: - integer' ? - - - @param bt (C++: type_t) - - -ida_typeinf.is_type_int128(): - - 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) - - -ida_typeinf.is_type_int16(): - - 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) - - -ida_typeinf.is_type_int32(): - - 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) - - -ida_typeinf.is_type_int64(): - - 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) - - -ida_typeinf.is_type_integral(): - - is_type_integral(t) -> bool - - - Is the type an integral type (char/short/int/long/bool)? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_ldouble(): - - is_type_ldouble(t) -> bool - - - See 'BTF_LDOUBLE' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_paf(): - - is_type_paf(t) -> bool - - - Is the type a pointer, array, or function type? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_partial(): - - 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) - - -ida_typeinf.is_type_ptr(): - - is_type_ptr(t) -> bool - - - See 'BT_PTR' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_ptr_or_array(): - - is_type_ptr_or_array(t) -> bool - - - Is the type a pointer or array type? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_struct(): - - is_type_struct(t) -> bool - - - See 'BTF_STRUCT' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_struni(): - - is_type_struni(t) -> bool - - - Is the type a struct or union? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_sue(): - - is_type_sue(t) -> bool - - - Is the type a struct/union/enum? - - - @param t (C++: type_t) - - -ida_typeinf.is_type_tbyte(): - - is_type_tbyte(t) -> bool - - - See 'BTF_FLOAT' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_typedef(): - - is_type_typedef(t) -> bool - - - See 'BTF_TYPEDEF' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uchar(): - - is_type_uchar(t) -> bool - - - See 'BTF_UCHAR' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uint(): - - is_type_uint(t) -> bool - - - See 'BTF_UINT' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uint128(): - - is_type_uint128(t) -> bool - - - See 'BTF_UINT128' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uint16(): - - is_type_uint16(t) -> bool - - - See 'BTF_UINT16' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uint32(): - - is_type_uint32(t) -> bool - - - See 'BTF_UINT32' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_uint64(): - - is_type_uint64(t) -> bool - - - See 'BTF_UINT64' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_union(): - - is_type_union(t) -> bool - - - See 'BTF_UNION' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_unknown(): - - is_type_unknown(t) -> bool - - - See 'BT_UNKNOWN' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_void(): - - is_type_void(t) -> bool - - - See 'BTF_VOID' . - - - @param t (C++: type_t) - - -ida_typeinf.is_type_volatile(): - - is_type_volatile(t) -> bool - - - See 'BTM_VOLATILE' . - - - @param t (C++: type_t) - - -ida_typeinf.is_typeid_last(): - - 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) - - -ida_typeinf.is_user_cc(): - - is_user_cc(cm) -> bool - - - Does the calling convention specify argument locations explicitly? - - - @param cm (C++: cm_t) - - -ida_typeinf.is_vararg_cc(): - - is_vararg_cc(cm) -> bool - - - Does the calling convention use ellipsis? - - - @param cm (C++: cm_t) - - -ida_typeinf.lexcompare_tinfo(): - - lexcompare_tinfo(t1, t2, arg3) -> int - - -ida_typeinf.load_til(): - - load_til(name, tildir) -> til_t - - - Load til from a file. Failure to load base tils are reported into - 'errbuf'. They do not prevent loading of the main til. - - @param name: filename of the til. If it's an absolute path, tildir is - ignored. NB: the file extension is forced to .til (C++: - const char *) - @param tildir: directory where to load the til from. NULL means - default til subdirectories. (C++: const char *) - @return: pointer to resulting til, NULL if failed and error message is - in errbuf - - -ida_typeinf.load_til_header(): - - load_til_header(tildir, name) -> til_t - - - Get human-readable til description. - - - @param tildir (C++: const char *) - @param name (C++: const char *) - - -ida_typeinf.lower_type(): - - 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, etcWe 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 childrentypes walked through by recursion. - - @param til (C++: til_t *) - @param tif (C++: tinfo_t *) - @param name (C++: const char *) - @param _helper (C++: lowertype_helper_t *) - - -class ida_typeinf.lowertype_helper_t(): - - Proxy of C++ lowertype_helper_t class - - -ida_typeinf.lowertype_helper_t.func_has_stkframe_hole(): - - func_has_stkframe_hole(self, candidate, candidate_data) -> bool - - -ida_typeinf.lowertype_helper_t.get_func_purged_bytes(): - - get_func_purged_bytes(self, candidate, candidate_data) -> int - - -ida_typeinf.new_til(): - - new_til(name, desc) -> til_t - - - Initialize a til. - - - @param name (C++: const char *) - @param desc (C++: const char *) - - -ida_typeinf.next_named_type(): - - next_named_type(ti, name, ntf_flags) -> char const * - - - Enumerate types. Returns mangled names. Never returns anonymous types. - To include it, enumerate types by ordinals. - - @param ti (C++: const til_t *) - @param name (C++: const char *) - @param ntf_flags (C++: int) - - -ida_typeinf.optimize_argloc(): - - optimize_argloc(vloc, size, gaps) -> bool - - - Verify and optimize scattered argloc into simple form. All new arglocs - must be processed by this function. - - @param vloc (C++: argloc_t *) - @param size (C++: int) - @param gaps (C++: const rangeset_t *) - - -ida_typeinf.pack_idcobj_to_bv(): - - 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 *) - @param tif (C++: const tinfo_t &) - @param bytes (C++: relobj_t *) - @param objoff (C++: void *) - @param pio_flags (C++: int) - - -ida_typeinf.pack_idcobj_to_idb(): - - 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 *) - @param tif (C++: const tinfo_t &) - @param ea (C++: ea_t) - @param pio_flags (C++: int) - - -ida_typeinf.pack_object_to_bv(): - - pack_object_to_bv(py_obj, ti, py_type, py_fields, base_ea, pio_flags=0) -> PyObject * - - - Packs a typed object to a string - @param ti: Type info. 'None' can be passed. - @param tp: type string - @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 - - -ida_typeinf.pack_object_to_idb(): - - pack_object_to_idb(py_obj, ti, py_type, py_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 ti: Type info. 'None' can be passed. - @param tp: type string - @param fields: fields string (may be empty or None) - @param ea: ea to be used while packing - @param pio_flags: flags used while unpacking - - -ida_typeinf.parse_decl(): - - parse_decl(tif, til, decl, flags) -> bool - - - 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.name & tif may be - empty after the call! - - @param tif: type info (C++: tinfo_t *) - @param til: type library to use. may be NULL (C++: til_t *) - @param decl: C declaration to parse (C++: const char *) - @param flags: combination of Type parsing flags bits (C++: int) - - -ida_typeinf.parse_decls(): - - 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: type library to store the result (C++: til_t *) - @param input: input string or file name (see hti_flags) (C++: const - char *) - @param printer: function to output error messages (use msg or NULL or - your own callback) (C++: printer_t *) - @param hti_flags: combination of Type formatting flags (C++: int) - @return: number of errors, 0 means ok. - - -class ida_typeinf.predicate_t(): - - Proxy of C++ predicate_t class - - -ida_typeinf.predicate_t.should_display(): - - should_display(self, til, name, type, fields) -> bool - - -ida_typeinf.print_argloc(): - - print_argloc(vloc, size=0, vflags=0) -> size_t - - - Convert an argloc to human readable form. - - - @param vloc (C++: const argloc_t &) - @param size (C++: int) - @param vflags (C++: int) - - -ida_typeinf.print_decls(): - - print_decls(printer, til, py_ordinals, flags) -> int - - - Print types (and possibly their dependencies) in a format suitable for - use in a header file. This is the reverse 'parse_decls()' . - - @param printer: a handler for printing text (C++: text_sink_t &) - @param til: the type library holding the ordinals (C++: til_t *) - @param flags: flags for the algorithm. A combination of PDF_* - constants (C++: uint32) - - -ida_typeinf.print_tinfo(): - - print_tinfo(prefix, indent, cmtindent, flags, tif, name, cmt) -> bool - - -ida_typeinf.print_type(): - - print_type(ea, prtype_flags) -> bool - - - Get type declaration for the specified address. - - @param ea: address (C++: ea_t) - @param prtype_flags: combination of Type printing flags (C++: int) - @return: success - - -class ida_typeinf.ptr_type_data_t(): - - Proxy of C++ ptr_type_data_t class - - -ida_typeinf.ptr_type_data_t.based_ptr_size: - ptr_type_data_t_based_ptr_size_get(self) -> uchar - -ida_typeinf.ptr_type_data_t.closure: - ptr_type_data_t_closure_get(self) -> tinfo_t - -ida_typeinf.ptr_type_data_t.delta: - ptr_type_data_t_delta_get(self) -> int32 - -ida_typeinf.ptr_type_data_t.is_code_ptr(): - - is_code_ptr(self) -> bool - - -ida_typeinf.ptr_type_data_t.is_shifted(): - - is_shifted(self) -> bool - - -ida_typeinf.ptr_type_data_t.obj_type: - ptr_type_data_t_obj_type_get(self) -> tinfo_t - -ida_typeinf.ptr_type_data_t.parent: - ptr_type_data_t_parent_get(self) -> tinfo_t - -ida_typeinf.ptr_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.ptr_type_data_t.taptr_bits: - ptr_type_data_t_taptr_bits_get(self) -> uchar - -ida_typeinf.read_tinfo_bitfield_value(): - - read_tinfo_bitfield_value(typid, v, bitoff) -> uint64 - - -class ida_typeinf.reginfovec_t(): - - Proxy of C++ qvector<(reg_info_t)> class - - -ida_typeinf.reginfovec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.reginfovec_t.append(): - - push_back(self, x) - push_back(self) -> reg_info_t - - -ida_typeinf.reginfovec_t.at(): - - __getitem__(self, i) -> reg_info_t - - -ida_typeinf.reginfovec_t.begin(): - - begin(self) -> reg_info_t - begin(self) -> reg_info_t - - -ida_typeinf.reginfovec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.reginfovec_t.clear(): - - clear(self) - - -ida_typeinf.reginfovec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.reginfovec_t.end(): - - end(self) -> reg_info_t - end(self) -> reg_info_t - - -ida_typeinf.reginfovec_t.erase(): - - erase(self, it) -> reg_info_t - erase(self, first, last) -> reg_info_t - - -ida_typeinf.reginfovec_t.extract(): - - extract(self) -> reg_info_t - - -ida_typeinf.reginfovec_t.find(): - - find(self, x) -> reg_info_t - find(self, x) -> reg_info_t - - -ida_typeinf.reginfovec_t.grow(): - - grow(self, x=reg_info_t()) - - -ida_typeinf.reginfovec_t.has(): - - has(self, x) -> bool - - -ida_typeinf.reginfovec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.reginfovec_t.insert(): - - insert(self, it, x) -> reg_info_t - - -ida_typeinf.reginfovec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.reginfovec_t.push_back(): - - push_back(self, x) - push_back(self) -> reg_info_t - - -ida_typeinf.reginfovec_t.qclear(): - - qclear(self) - - -ida_typeinf.reginfovec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.reginfovec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.reginfovec_t.size(): - - size(self) -> size_t - - -ida_typeinf.reginfovec_t.swap(): - - swap(self, r) - - -ida_typeinf.reginfovec_t.truncate(): - - truncate(self) - - -class ida_typeinf.regobj_t(): - - Proxy of C++ regobj_t class - - -ida_typeinf.regobj_t.regidx: - regobj_t_regidx_get(self) -> int - -ida_typeinf.regobj_t.relocate: - regobj_t_relocate_get(self) -> int - -ida_typeinf.regobj_t.size(): - - size(self) -> size_t - - -ida_typeinf.regobj_t.value: - regobj_t_value_get(self) -> bytevec_t * - -class ida_typeinf.regobjs_t(): - - Proxy of C++ regobjs_t class - - -ida_typeinf.regobjs_t.at(): - - at(self, _idx) -> regobj_t - - -ida_typeinf.regobjs_t.begin(): - - begin(self) -> regobj_t - begin(self) -> regobj_t - - -ida_typeinf.regobjs_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.regobjs_t.clear(): - - clear(self) - - -ida_typeinf.regobjs_t.empty(): - - empty(self) -> bool - - -ida_typeinf.regobjs_t.end(): - - end(self) -> regobj_t - end(self) -> regobj_t - - -ida_typeinf.regobjs_t.erase(): - - erase(self, it) -> regobj_t - erase(self, first, last) -> regobj_t - - -ida_typeinf.regobjs_t.extract(): - - extract(self) -> regobj_t - - -ida_typeinf.regobjs_t.grow(): - - grow(self, x=regobj_t()) - - -ida_typeinf.regobjs_t.inject(): - - inject(self, s, len) - - -ida_typeinf.regobjs_t.insert(): - - insert(self, it, x) -> regobj_t - - -ida_typeinf.regobjs_t.pop_back(): - - pop_back(self) - - -ida_typeinf.regobjs_t.push_back(): - - push_back(self, x) - push_back(self) -> regobj_t - - -ida_typeinf.regobjs_t.qclear(): - - qclear(self) - - -ida_typeinf.regobjs_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.regobjs_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.regobjs_t.size(): - - size(self) -> size_t - - -ida_typeinf.regobjs_t.swap(): - - swap(self, r) - - -ida_typeinf.regobjs_t.truncate(): - - truncate(self) - - -class ida_typeinf.regobjvec_t(): - - Proxy of C++ qvector<(regobj_t)> class - - -ida_typeinf.regobjvec_t.at(): - - at(self, _idx) -> regobj_t - - -ida_typeinf.regobjvec_t.begin(): - - begin(self) -> regobj_t - begin(self) -> regobj_t - - -ida_typeinf.regobjvec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.regobjvec_t.clear(): - - clear(self) - - -ida_typeinf.regobjvec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.regobjvec_t.end(): - - end(self) -> regobj_t - end(self) -> regobj_t - - -ida_typeinf.regobjvec_t.erase(): - - erase(self, it) -> regobj_t - erase(self, first, last) -> regobj_t - - -ida_typeinf.regobjvec_t.extract(): - - extract(self) -> regobj_t - - -ida_typeinf.regobjvec_t.grow(): - - grow(self, x=regobj_t()) - - -ida_typeinf.regobjvec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.regobjvec_t.insert(): - - insert(self, it, x) -> regobj_t - - -ida_typeinf.regobjvec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.regobjvec_t.push_back(): - - push_back(self, x) - push_back(self) -> regobj_t - - -ida_typeinf.regobjvec_t.qclear(): - - qclear(self) - - -ida_typeinf.regobjvec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.regobjvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.regobjvec_t.size(): - - size(self) -> size_t - - -ida_typeinf.regobjvec_t.swap(): - - swap(self, r) - - -ida_typeinf.regobjvec_t.truncate(): - - truncate(self) - - -ida_typeinf.remove_abi_opts(): - - remove_abi_opts(abi_opts, user_level=False) -> bool - - -ida_typeinf.remove_pointer(): - - remove_pointer(tif) -> tinfo_t - - - '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() - - @param tif (C++: const tinfo_t &) - - -ida_typeinf.remove_tinfo_pointer(): - - remove_tinfo_pointer(tif, name, til) -> PyObject * - - - 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 til (C++: const til_t *) - - -ida_typeinf.replace_ordinal_typerefs(): - - 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: type library to use. may be NULL. (C++: til_t *) - @param tif: type to modify (in/out) (C++: tinfo_t *) - - -ida_typeinf.resolve_typedef(): - - resolve_typedef(til, type) -> type_t const * - - -class ida_typeinf.rrel_t(): - - Proxy of C++ rrel_t class - - -ida_typeinf.rrel_t.off: - rrel_t_off_get(self) -> sval_t - -ida_typeinf.rrel_t.reg: - rrel_t_reg_get(self) -> int - -ida_typeinf.save_tinfo(): - - save_tinfo(tif, til, ord, name, ntf_flags) -> tinfo_code_t - - -class ida_typeinf.scattered_aloc_t(): - - Proxy of C++ scattered_aloc_t class - - -ida_typeinf.scattered_aloc_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.scattered_aloc_t.at(): - - at(self, _idx) -> argpart_t - - -ida_typeinf.scattered_aloc_t.begin(): - - begin(self) -> argpart_t - begin(self) -> argpart_t - - -ida_typeinf.scattered_aloc_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.scattered_aloc_t.clear(): - - clear(self) - - -ida_typeinf.scattered_aloc_t.empty(): - - empty(self) -> bool - - -ida_typeinf.scattered_aloc_t.end(): - - end(self) -> argpart_t - end(self) -> argpart_t - - -ida_typeinf.scattered_aloc_t.erase(): - - erase(self, it) -> argpart_t - erase(self, first, last) -> argpart_t - - -ida_typeinf.scattered_aloc_t.extract(): - - extract(self) -> argpart_t - - -ida_typeinf.scattered_aloc_t.find(): - - find(self, x) -> argpart_t - find(self, x) -> argpart_t - - -ida_typeinf.scattered_aloc_t.grow(): - - grow(self, x=argpart_t()) - - -ida_typeinf.scattered_aloc_t.has(): - - has(self, x) -> bool - - -ida_typeinf.scattered_aloc_t.inject(): - - inject(self, s, len) - - -ida_typeinf.scattered_aloc_t.insert(): - - insert(self, it, x) -> argpart_t - - -ida_typeinf.scattered_aloc_t.pop_back(): - - pop_back(self) - - -ida_typeinf.scattered_aloc_t.push_back(): - - push_back(self, x) - push_back(self) -> argpart_t - - -ida_typeinf.scattered_aloc_t.qclear(): - - qclear(self) - - -ida_typeinf.scattered_aloc_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.scattered_aloc_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.scattered_aloc_t.size(): - - size(self) -> size_t - - -ida_typeinf.scattered_aloc_t.swap(): - - swap(self, r) - - -ida_typeinf.scattered_aloc_t.truncate(): - - truncate(self) - - -ida_typeinf.score_tinfo(): - - score_tinfo(tif) -> uint32 - - -ida_typeinf.serialize_tinfo(): - - serialize_tinfo(type, fields, fldcmts, tif, sudt_flags) -> bool - - -ida_typeinf.set_abi_name(): - - set_abi_name(abiname, user_level=False) -> bool - - - Set abi name (see 'Compiler IDs' ) - - - @param abiname (C++: const char *) - @param user_level (C++: bool) - - -ida_typeinf.set_c_header_path(): - - set_c_header_path(incdir) - - - Set include directory path the target compiler. - - - @param incdir (C++: const char *) - - -ida_typeinf.set_c_macros(): - - set_c_macros(macros) - - - Set predefined macros for the target compiler. - - - @param macros (C++: const char *) - - -ida_typeinf.set_compiler(): - - set_compiler(cc, flags, abiname=None) -> bool - - - Change current compiler. - - @param cc: compiler to switch to (C++: const compiler_info_t &) - @param flags: Set compiler flags (C++: int) - @param abiname: ABI name (C++: const char *) - @return: success - - -ida_typeinf.set_compiler_id(): - - set_compiler_id(id, abiname=None) -> bool - - - Set the compiler id (see 'Compiler IDs' ) - - - @param id (C++: comp_t) - @param abiname (C++: const char *) - - -ida_typeinf.set_compiler_string(): - - set_compiler_string(compstr, user_level) -> bool - - -ida_typeinf.set_numbered_type(): - - set_numbered_type(ti, ordinal, ntf_flags, name, type, fields=None, cmt=None, fldcmts=None, sclass=None) -> tinfo_code_t - - - Store a type in the til. 'name' may be NULL for anonymous types. The - specified ordinal must be free (no other type is using it). For - ntf_flags, only 'NTF_REPLACE' is consulted. - - @param ti (C++: til_t *) - @param ordinal (C++: uint32) - @param ntf_flags (C++: int) - @param name (C++: const char *) - @param type (C++: const type_t *) - @param fields (C++: const p_list *) - @param cmt (C++: const char *) - @param fldcmts (C++: const p_list *) - @param sclass (C++: const sclass_t *) - - -ida_typeinf.set_tinfo_attr(): - - set_tinfo_attr(tif, ta, may_overwrite) -> bool - - -ida_typeinf.set_tinfo_attrs(): - - set_tinfo_attrs(tif, ta) -> bool - - -ida_typeinf.set_tinfo_property(): - - set_tinfo_property(tif, sta_prop, x) -> size_t - - -ida_typeinf.set_type_alias(): - - 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 - reference to srctype by dsttype. - - @param ti (C++: til_t *) - @param src_ordinal (C++: uint32) - @param dst_ordinal (C++: uint32) - - -class ida_typeinf.simd_info_t(): - - Proxy of C++ simd_info_t class - - -ida_typeinf.simd_info_t.match_pattern(): - - match_pattern(self, pattern) -> bool - - -ida_typeinf.simd_info_t.memtype: - simd_info_t_memtype_get(self) -> type_t - -ida_typeinf.simd_info_t.name: - simd_info_t_name_get(self) -> char const * - -ida_typeinf.simd_info_t.size: - simd_info_t_size_get(self) -> uint16 - -ida_typeinf.simd_info_t.tif: - simd_info_t_tif_get(self) -> tinfo_t - -ida_typeinf.store_til(): - - 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: type library to store (C++: til_t *) - @param tildir: directory where to store the til. NULL means current - directory. (C++: const char *) - @param name: filename of the til. If it's an absolute path, tildir is - ignored. NB: the file extension is forced to .til (C++: - const char *) - @return: success - - -class ida_typeinf.text_sink_t(): - - Proxy of C++ text_sink_t class - - -ida_typeinf.text_sink_t._print(): - - _print(self, str) -> int - - -class ida_typeinf.til_symbol_t(): - - Proxy of C++ til_symbol_t class - - -ida_typeinf.til_symbol_t.name: - til_symbol_t_name_get(self) -> char const * - -ida_typeinf.til_symbol_t.til: - til_symbol_t_til_get(self) -> til_t - -class ida_typeinf.til_t(): - - Proxy of C++ til_t class - - -ida_typeinf.til_t.base(): - - base(self, n) -> til_t - - -ida_typeinf.til_t.cc: - til_t_cc_get(self) -> compiler_info_t - -ida_typeinf.til_t.desc: - til_t_desc_get(self) -> char * - -ida_typeinf.til_t.flags: - til_t_flags_get(self) -> uint32 - -ida_typeinf.til_t.is_dirty(): - - is_dirty(self) -> bool - - -ida_typeinf.til_t.name: - til_t_name_get(self) -> char * - -ida_typeinf.til_t.nbases: - til_t_nbases_get(self) -> int - -ida_typeinf.til_t.nrefs: - til_t_nrefs_get(self) -> int - -ida_typeinf.til_t.nstreams: - til_t_nstreams_get(self) -> int - -ida_typeinf.til_t.set_dirty(): - - set_dirty(self) - - -ida_typeinf.til_t.streams: - til_t_streams_get(self) -> til_stream_t ** - -class ida_typeinf.tinfo_t(): - - Proxy of C++ tinfo_t class - - -ida_typeinf.tinfo_t._print(): - - _print(self, name=None, prtype_flags=0x0000, indent=0, cmtindent=0, prefix=None, cmt=None) -> bool - - -ida_typeinf.tinfo_t.append_covered(): - - append_covered(self, out, offset=0) -> bool - - -ida_typeinf.tinfo_t.calc_gaps(): - - calc_gaps(self, out) -> bool - - -ida_typeinf.tinfo_t.calc_purged_bytes(): - - calc_purged_bytes(self) -> int - - -ida_typeinf.tinfo_t.calc_score(): - - calc_score(self) -> uint32 - - -ida_typeinf.tinfo_t.calc_udt_aligns(): - - calc_udt_aligns(self, sudt_flags=0x0004) -> bool - - -ida_typeinf.tinfo_t.change_sign(): - - change_sign(self, sign) -> bool - - -ida_typeinf.tinfo_t.clear(): - - clear(self) - - -ida_typeinf.tinfo_t.clr_const(): - - clr_const(self) - - -ida_typeinf.tinfo_t.clr_const_volatile(): - - clr_const_volatile(self) - - -ida_typeinf.tinfo_t.clr_volatile(): - - clr_volatile(self) - - -ida_typeinf.tinfo_t.compare(): - - compare(self, r) -> int - - -ida_typeinf.tinfo_t.compare_with(): - - compare_with(self, r, tcflags=0) -> bool - - -ida_typeinf.tinfo_t.convert_array_to_ptr(): - - convert_array_to_ptr(self) -> bool - - -ida_typeinf.tinfo_t.copy(): - - copy(self) -> tinfo_t - - -ida_typeinf.tinfo_t.create_array(): - - create_array(self, p, decl_type=BT_ARRAY) -> bool - create_array(self, tif, nelems=0, base=0, decl_type=BT_ARRAY) -> bool - - -ida_typeinf.tinfo_t.create_bitfield(): - - create_bitfield(self, p, decl_type=BT_BITFIELD) -> bool - create_bitfield(self, nbytes, width, is_unsigned=False, decl_type=BT_BITFIELD) -> bool - - -ida_typeinf.tinfo_t.create_enum(): - - create_enum(self, p, decl_type=BTF_ENUM) -> bool - - -ida_typeinf.tinfo_t.create_forward_decl(): - - create_forward_decl(self, til, decl_type, name, ntf_flags=0) -> tinfo_code_t - - -ida_typeinf.tinfo_t.create_func(): - - create_func(self, p, decl_type=BT_FUNC) -> bool - - -ida_typeinf.tinfo_t.create_ptr(): - - create_ptr(self, p, decl_type=BT_PTR) -> bool - create_ptr(self, tif, bps=0, decl_type=BT_PTR) -> bool - - -ida_typeinf.tinfo_t.create_simple_type(): - - create_simple_type(self, decl_type) -> bool - - -ida_typeinf.tinfo_t.create_typedef(): - - create_typedef(self, p, decl_type=BTF_TYPEDEF, try_ordinal=True) -> bool - create_typedef(self, til, name, decl_type=BTF_TYPEDEF, try_ordinal=True) - create_typedef(self, til, ord, decl_type=BTF_TYPEDEF) - - -ida_typeinf.tinfo_t.create_udt(): - - create_udt(self, p, decl_type) -> bool - - -ida_typeinf.tinfo_t.del_attr(): - - del_attr(self, key, make_copy=True) -> bool - - -ida_typeinf.tinfo_t.del_attrs(): - - del_attrs(self) - - -ida_typeinf.tinfo_t.deserialize(): - - deserialize(self, til, ptype, pfields=None, pfldcmts=None) -> bool - deserialize(self, til, type, fields, cmts=None) -> bool - - -ida_typeinf.tinfo_t.dstr(): - - dstr(self) -> char const * - - -ida_typeinf.tinfo_t.empty(): - - empty(self) -> bool - - -ida_typeinf.tinfo_t.equals_to(): - - equals_to(self, r) -> bool - - -ida_typeinf.tinfo_t.find_udt_member(): - - find_udt_member(self, udm, strmem_flags) -> int - - -ida_typeinf.tinfo_t.get_array_details(): - - get_array_details(self, ai) -> bool - - -ida_typeinf.tinfo_t.get_array_element(): - - get_array_element(self) -> tinfo_t - - -ida_typeinf.tinfo_t.get_array_nelems(): - - get_array_nelems(self) -> int - - -ida_typeinf.tinfo_t.get_attr(): - - get_attr(self, key, all_attrs=True) -> PyObject * - - -ida_typeinf.tinfo_t.get_attrs(): - - get_attrs(self, tav, all_attrs=False) -> bool - - -ida_typeinf.tinfo_t.get_bitfield_details(): - - get_bitfield_details(self, bi) -> bool - - -ida_typeinf.tinfo_t.get_declalign(): - - get_declalign(self) -> uchar - - -ida_typeinf.tinfo_t.get_decltype(): - - get_decltype(self) -> type_t - - -ida_typeinf.tinfo_t.get_enum_base_type(): - - get_enum_base_type(self) -> type_t - - -ida_typeinf.tinfo_t.get_enum_details(): - - get_enum_details(self, ei) -> bool - - -ida_typeinf.tinfo_t.get_final_ordinal(): - - get_final_ordinal(self) -> uint32 - - -ida_typeinf.tinfo_t.get_final_type_name(): - - get_final_type_name(self) -> bool - - -ida_typeinf.tinfo_t.get_func_details(): - - get_func_details(self, fi, gtd=GTD_CALC_ARGLOCS) -> bool - - -ida_typeinf.tinfo_t.get_modifiers(): - - get_modifiers(self) -> type_t - - -ida_typeinf.tinfo_t.get_named_type(): - - get_named_type(self, til, name, decl_type=BTF_TYPEDEF, resolve=True, try_ordinal=True) -> bool - - -ida_typeinf.tinfo_t.get_nargs(): - - get_nargs(self) -> int - - -ida_typeinf.tinfo_t.get_next_type_name(): - - get_next_type_name(self) -> bool - - -ida_typeinf.tinfo_t.get_nth_arg(): - - get_nth_arg(self, n) -> tinfo_t - - -ida_typeinf.tinfo_t.get_numbered_type(): - - get_numbered_type(self, til, ordinal, decl_type=BTF_TYPEDEF, resolve=True) -> bool - - -ida_typeinf.tinfo_t.get_onemember_type(): - - get_onemember_type(self) -> tinfo_t - - -ida_typeinf.tinfo_t.get_ordinal(): - - get_ordinal(self) -> uint32 - - -ida_typeinf.tinfo_t.get_pointed_object(): - - get_pointed_object(self) -> tinfo_t - - -ida_typeinf.tinfo_t.get_ptr_details(): - - get_ptr_details(self, pi) -> bool - - -ida_typeinf.tinfo_t.get_ptrarr_object(): - - get_ptrarr_object(self) -> tinfo_t - - -ida_typeinf.tinfo_t.get_ptrarr_objsize(): - - get_ptrarr_objsize(self) -> int - - -ida_typeinf.tinfo_t.get_realtype(): - - get_realtype(self, full=False) -> type_t - - -ida_typeinf.tinfo_t.get_rettype(): - - get_rettype(self) -> tinfo_t - - -ida_typeinf.tinfo_t.get_sign(): - - get_sign(self) -> type_sign_t - - -ida_typeinf.tinfo_t.get_size(): - - get_size(self, p_effalign=None, gts_code=0) -> size_t - - -ida_typeinf.tinfo_t.get_stock(): - - get_stock(id) -> tinfo_t - - -ida_typeinf.tinfo_t.get_til(): - - get_til(self) -> til_t - - -ida_typeinf.tinfo_t.get_type_name(): - - get_type_name(self) -> bool - - -ida_typeinf.tinfo_t.get_udt_details(): - - get_udt_details(self, udt, gtd=GTD_CALC_LAYOUT) -> bool - - -ida_typeinf.tinfo_t.get_udt_nmembers(): - - get_udt_nmembers(self) -> int - - -ida_typeinf.tinfo_t.get_unpadded_size(): - - get_unpadded_size(self) -> size_t - - -ida_typeinf.tinfo_t.has_details(): - - has_details(self) -> bool - - -ida_typeinf.tinfo_t.has_vftable(): - - has_vftable(self) -> bool - - -ida_typeinf.tinfo_t.is_anonymous_udt(): - - is_anonymous_udt(self) -> bool - - -ida_typeinf.tinfo_t.is_arithmetic(): - - is_arithmetic(self) -> bool - - -ida_typeinf.tinfo_t.is_array(): - - is_array(self) -> bool - - -ida_typeinf.tinfo_t.is_bitfield(): - - is_bitfield(self) -> bool - - -ida_typeinf.tinfo_t.is_bool(): - - is_bool(self) -> bool - - -ida_typeinf.tinfo_t.is_castable_to(): - - is_castable_to(self, target) -> bool - - -ida_typeinf.tinfo_t.is_char(): - - is_char(self) -> bool - - -ida_typeinf.tinfo_t.is_complex(): - - is_complex(self) -> bool - - -ida_typeinf.tinfo_t.is_const(): - - is_const(self) -> bool - - -ida_typeinf.tinfo_t.is_correct(): - - is_correct(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_array(): - - is_decl_array(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_bitfield(): - - is_decl_bitfield(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_bool(): - - is_decl_bool(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_char(): - - is_decl_char(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_complex(): - - is_decl_complex(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_const(): - - is_decl_const(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_double(): - - is_decl_double(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_enum(): - - is_decl_enum(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_float(): - - is_decl_float(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_floating(): - - is_decl_floating(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_func(): - - is_decl_func(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_int(): - - is_decl_int(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_int128(): - - is_decl_int128(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_int16(): - - is_decl_int16(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_int32(): - - is_decl_int32(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_int64(): - - is_decl_int64(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_last(): - - is_decl_last(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_ldouble(): - - is_decl_ldouble(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_paf(): - - is_decl_paf(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_partial(): - - is_decl_partial(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_ptr(): - - is_decl_ptr(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_struct(): - - is_decl_struct(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_sue(): - - is_decl_sue(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_tbyte(): - - is_decl_tbyte(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_typedef(): - - is_decl_typedef(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uchar(): - - is_decl_uchar(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_udt(): - - is_decl_udt(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uint(): - - is_decl_uint(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uint128(): - - is_decl_uint128(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uint16(): - - is_decl_uint16(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uint32(): - - is_decl_uint32(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_uint64(): - - is_decl_uint64(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_union(): - - is_decl_union(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_unknown(): - - is_decl_unknown(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_void(): - - is_decl_void(self) -> bool - - -ida_typeinf.tinfo_t.is_decl_volatile(): - - is_decl_volatile(self) -> bool - - -ida_typeinf.tinfo_t.is_double(): - - is_double(self) -> bool - - -ida_typeinf.tinfo_t.is_empty_udt(): - - is_empty_udt(self) -> bool - - -ida_typeinf.tinfo_t.is_enum(): - - is_enum(self) -> bool - - -ida_typeinf.tinfo_t.is_ext_arithmetic(): - - is_ext_arithmetic(self) -> bool - - -ida_typeinf.tinfo_t.is_ext_integral(): - - is_ext_integral(self) -> bool - - -ida_typeinf.tinfo_t.is_float(): - - is_float(self) -> bool - - -ida_typeinf.tinfo_t.is_floating(): - - is_floating(self) -> bool - - -ida_typeinf.tinfo_t.is_forward_decl(): - - is_forward_decl(self) -> bool - - -ida_typeinf.tinfo_t.is_from_subtil(): - - is_from_subtil(self) -> bool - - -ida_typeinf.tinfo_t.is_func(): - - is_func(self) -> bool - - -ida_typeinf.tinfo_t.is_funcptr(): - - is_funcptr(self) -> bool - - -ida_typeinf.tinfo_t.is_high_func(): - - is_high_func(self) -> bool - - -ida_typeinf.tinfo_t.is_int(): - - is_int(self) -> bool - - -ida_typeinf.tinfo_t.is_int128(): - - is_int128(self) -> bool - - -ida_typeinf.tinfo_t.is_int16(): - - is_int16(self) -> bool - - -ida_typeinf.tinfo_t.is_int32(): - - is_int32(self) -> bool - - -ida_typeinf.tinfo_t.is_int64(): - - is_int64(self) -> bool - - -ida_typeinf.tinfo_t.is_integral(): - - is_integral(self) -> bool - - -ida_typeinf.tinfo_t.is_ldouble(): - - is_ldouble(self) -> bool - - -ida_typeinf.tinfo_t.is_manually_castable_to(): - - is_manually_castable_to(self, target) -> bool - - -ida_typeinf.tinfo_t.is_one_fpval(): - - is_one_fpval(self) -> bool - - -ida_typeinf.tinfo_t.is_paf(): - - is_paf(self) -> bool - - -ida_typeinf.tinfo_t.is_partial(): - - is_partial(self) -> bool - - -ida_typeinf.tinfo_t.is_ptr(): - - is_ptr(self) -> bool - - -ida_typeinf.tinfo_t.is_ptr_or_array(): - - is_ptr_or_array(self) -> bool - - -ida_typeinf.tinfo_t.is_purging_cc(): - - is_purging_cc(self) -> bool - - -ida_typeinf.tinfo_t.is_pvoid(): - - is_pvoid(self) -> bool - - -ida_typeinf.tinfo_t.is_scalar(): - - is_scalar(self) -> bool - - -ida_typeinf.tinfo_t.is_shifted_ptr(): - - is_shifted_ptr(self) -> bool - - -ida_typeinf.tinfo_t.is_signed(): - - is_signed(self) -> bool - - -ida_typeinf.tinfo_t.is_small_udt(): - - is_small_udt(self) -> bool - - -ida_typeinf.tinfo_t.is_sse_type(): - - is_sse_type(self) -> bool - - -ida_typeinf.tinfo_t.is_struct(): - - is_struct(self) -> bool - - -ida_typeinf.tinfo_t.is_sue(): - - is_sue(self) -> bool - - -ida_typeinf.tinfo_t.is_tbyte(): - - is_tbyte(self) -> bool - - -ida_typeinf.tinfo_t.is_typeref(): - - is_typeref(self) -> bool - - -ida_typeinf.tinfo_t.is_uchar(): - - is_uchar(self) -> bool - - -ida_typeinf.tinfo_t.is_udt(): - - is_udt(self) -> bool - - -ida_typeinf.tinfo_t.is_uint(): - - is_uint(self) -> bool - - -ida_typeinf.tinfo_t.is_uint128(): - - is_uint128(self) -> bool - - -ida_typeinf.tinfo_t.is_uint16(): - - is_uint16(self) -> bool - - -ida_typeinf.tinfo_t.is_uint32(): - - is_uint32(self) -> bool - - -ida_typeinf.tinfo_t.is_uint64(): - - is_uint64(self) -> bool - - -ida_typeinf.tinfo_t.is_union(): - - is_union(self) -> bool - - -ida_typeinf.tinfo_t.is_unknown(): - - is_unknown(self) -> bool - - -ida_typeinf.tinfo_t.is_unsigned(): - - is_unsigned(self) -> bool - - -ida_typeinf.tinfo_t.is_user_cc(): - - is_user_cc(self) -> bool - - -ida_typeinf.tinfo_t.is_vararg_cc(): - - is_vararg_cc(self) -> bool - - -ida_typeinf.tinfo_t.is_varstruct(): - - is_varstruct(self) -> bool - - -ida_typeinf.tinfo_t.is_vftable(): - - is_vftable(self) -> bool - - -ida_typeinf.tinfo_t.is_void(): - - is_void(self) -> bool - - -ida_typeinf.tinfo_t.is_volatile(): - - is_volatile(self) -> bool - - -ida_typeinf.tinfo_t.is_well_defined(): - - is_well_defined(self) -> bool - - -ida_typeinf.tinfo_t.present(): - - present(self) -> bool - - -ida_typeinf.tinfo_t.read_bitfield_value(): - - read_bitfield_value(self, v, bitoff) -> uint64 - - -ida_typeinf.tinfo_t.remove_ptr_or_array(): - - remove_ptr_or_array(self) -> bool - - -ida_typeinf.tinfo_t.requires_qualifier(): - - requires_qualifier(self, name, offset) -> bool - - -ida_typeinf.tinfo_t.serialize(): - - serialize(self, sudt_flags=SUDT_FAST|SUDT_TRUNC) -> PyObject * - - -ida_typeinf.tinfo_t.set_attr(): - - set_attr(self, ta, may_overwrite=True) -> bool - - -ida_typeinf.tinfo_t.set_attrs(): - - set_attrs(self, tav) -> bool - - -ida_typeinf.tinfo_t.set_const(): - - set_const(self) - - -ida_typeinf.tinfo_t.set_declalign(): - - set_declalign(self, declalign) -> bool - - -ida_typeinf.tinfo_t.set_modifiers(): - - set_modifiers(self, mod) - - -ida_typeinf.tinfo_t.set_named_type(): - - set_named_type(self, til, name, ntf_flags=0) -> tinfo_code_t - - -ida_typeinf.tinfo_t.set_numbered_type(): - - set_numbered_type(self, til, ord, ntf_flags=0, name=None) -> tinfo_code_t - - -ida_typeinf.tinfo_t.set_symbol_type(): - - set_symbol_type(self, til, name, ntf_flags=0) -> tinfo_code_t - - -ida_typeinf.tinfo_t.set_volatile(): - - set_volatile(self) - - -ida_typeinf.tinfo_t.swap(): - - swap(self, r) - - -ida_typeinf.tinfo_t.write_bitfield_value(): - - write_bitfield_value(self, dst, v, bitoff) -> uint64 - - -ida_typeinf.tinfo_t_get_stock(): - - tinfo_t_get_stock(id) -> tinfo_t - - -class ida_typeinf.tinfo_visitor_t(): - - Proxy of C++ tinfo_visitor_t class - - -ida_typeinf.tinfo_visitor_t.apply_to(): - - apply_to(self, tif, out=None, name=None, cmt=None) -> int - - -ida_typeinf.tinfo_visitor_t.prune_now(): - - prune_now(self) - - -ida_typeinf.tinfo_visitor_t.state: - tinfo_visitor_t_state_get(self) -> int - -ida_typeinf.tinfo_visitor_t.visit_type(): - - visit_type(self, out, tif, name, cmt) -> int - - -class ida_typeinf.type_attr_t(): - - Proxy of C++ type_attr_t class - - -ida_typeinf.type_attr_t.key: - type_attr_t_key_get(self) -> qstring * - -ida_typeinf.type_attr_t.value: - type_attr_t_value_get(self) -> bytevec_t * - -class ida_typeinf.type_attrs_t(): - - Proxy of C++ qvector<(type_attr_t)> class - - -ida_typeinf.type_attrs_t.at(): - - at(self, _idx) -> type_attr_t - - -ida_typeinf.type_attrs_t.begin(): - - begin(self) -> type_attr_t - begin(self) -> type_attr_t - - -ida_typeinf.type_attrs_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.type_attrs_t.clear(): - - clear(self) - - -ida_typeinf.type_attrs_t.empty(): - - empty(self) -> bool - - -ida_typeinf.type_attrs_t.end(): - - end(self) -> type_attr_t - end(self) -> type_attr_t - - -ida_typeinf.type_attrs_t.erase(): - - erase(self, it) -> type_attr_t - erase(self, first, last) -> type_attr_t - - -ida_typeinf.type_attrs_t.extract(): - - extract(self) -> type_attr_t - - -ida_typeinf.type_attrs_t.grow(): - - grow(self, x=type_attr_t()) - - -ida_typeinf.type_attrs_t.inject(): - - inject(self, s, len) - - -ida_typeinf.type_attrs_t.insert(): - - insert(self, it, x) -> type_attr_t - - -ida_typeinf.type_attrs_t.pop_back(): - - pop_back(self) - - -ida_typeinf.type_attrs_t.push_back(): - - push_back(self, x) - push_back(self) -> type_attr_t - - -ida_typeinf.type_attrs_t.qclear(): - - qclear(self) - - -ida_typeinf.type_attrs_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.type_attrs_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.type_attrs_t.size(): - - size(self) -> size_t - - -ida_typeinf.type_attrs_t.swap(): - - swap(self, r) - - -ida_typeinf.type_attrs_t.truncate(): - - truncate(self) - - -class ida_typeinf.type_mods_t(): - - Proxy of C++ type_mods_t class - - -ida_typeinf.type_mods_t.clear(): - - clear(self) - - -ida_typeinf.type_mods_t.cmt: - type_mods_t_cmt_get(self) -> qstring * - -ida_typeinf.type_mods_t.flags: - type_mods_t_flags_get(self) -> int - -ida_typeinf.type_mods_t.has_cmt(): - - has_cmt(self) -> bool - - -ida_typeinf.type_mods_t.has_info(): - - has_info(self) -> bool - - -ida_typeinf.type_mods_t.has_name(): - - has_name(self) -> bool - - -ida_typeinf.type_mods_t.has_type(): - - has_type(self) -> bool - - -ida_typeinf.type_mods_t.name: - type_mods_t_name_get(self) -> qstring * - -ida_typeinf.type_mods_t.set_new_cmt(): - - set_new_cmt(self, c) - - -ida_typeinf.type_mods_t.set_new_name(): - - set_new_name(self, n) - - -ida_typeinf.type_mods_t.set_new_type(): - - set_new_type(self, t) - - -ida_typeinf.type_mods_t.type: - type_mods_t_type_get(self) -> tinfo_t - -class ida_typeinf.typedef_type_data_t(): - - Proxy of C++ typedef_type_data_t class - - -ida_typeinf.typedef_type_data_t.is_ordref: - typedef_type_data_t_is_ordref_get(self) -> bool - -ida_typeinf.typedef_type_data_t.resolve: - typedef_type_data_t_resolve_get(self) -> bool - -ida_typeinf.typedef_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.typedef_type_data_t.til: - typedef_type_data_t_til_get(self) -> til_t - -class ida_typeinf.udt_member_t(): - - Proxy of C++ udt_member_t class - - -ida_typeinf.udt_member_t.begin(): - - begin(self) -> uint64 - - -ida_typeinf.udt_member_t.clr_baseclass(): - - clr_baseclass(self) - - -ida_typeinf.udt_member_t.clr_unaligned(): - - clr_unaligned(self) - - -ida_typeinf.udt_member_t.clr_vftable(): - - clr_vftable(self) - - -ida_typeinf.udt_member_t.clr_virtbase(): - - clr_virtbase(self) - - -ida_typeinf.udt_member_t.cmt: - udt_member_t_cmt_get(self) -> qstring * - -ida_typeinf.udt_member_t.effalign: - udt_member_t_effalign_get(self) -> int - -ida_typeinf.udt_member_t.end(): - - end(self) -> uint64 - - -ida_typeinf.udt_member_t.fda: - udt_member_t_fda_get(self) -> uchar - -ida_typeinf.udt_member_t.is_anonymous_udm(): - - is_anonymous_udm(self) -> bool - - -ida_typeinf.udt_member_t.is_baseclass(): - - is_baseclass(self) -> bool - - -ida_typeinf.udt_member_t.is_bitfield(): - - is_bitfield(self) -> bool - - -ida_typeinf.udt_member_t.is_unaligned(): - - is_unaligned(self) -> bool - - -ida_typeinf.udt_member_t.is_vftable(): - - is_vftable(self) -> bool - - -ida_typeinf.udt_member_t.is_virtbase(): - - is_virtbase(self) -> bool - - -ida_typeinf.udt_member_t.is_zero_bitfield(): - - is_zero_bitfield(self) -> bool - - -ida_typeinf.udt_member_t.name: - udt_member_t_name_get(self) -> qstring * - -ida_typeinf.udt_member_t.offset: - udt_member_t_offset_get(self) -> uint64 - -ida_typeinf.udt_member_t.set_baseclass(): - - set_baseclass(self) - - -ida_typeinf.udt_member_t.set_unaligned(): - - set_unaligned(self) - - -ida_typeinf.udt_member_t.set_vftable(): - - set_vftable(self) - - -ida_typeinf.udt_member_t.set_virtbase(): - - set_virtbase(self) - - -ida_typeinf.udt_member_t.size: - udt_member_t_size_get(self) -> uint64 - -ida_typeinf.udt_member_t.swap(): - - swap(self, r) - - -ida_typeinf.udt_member_t.tafld_bits: - udt_member_t_tafld_bits_get(self) -> uint32 - -ida_typeinf.udt_member_t.type: - udt_member_t_type_get(self) -> tinfo_t - -class ida_typeinf.udt_type_data_t(): - - Proxy of C++ udt_type_data_t class - - -ida_typeinf.udt_type_data_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.udt_type_data_t.at(): - - at(self, _idx) -> udt_member_t - - -ida_typeinf.udt_type_data_t.begin(): - - begin(self) -> udt_member_t - begin(self) -> udt_member_t - - -ida_typeinf.udt_type_data_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.udt_type_data_t.clear(): - - clear(self) - - -ida_typeinf.udt_type_data_t.effalign: - udt_type_data_t_effalign_get(self) -> uint32 - -ida_typeinf.udt_type_data_t.empty(): - - empty(self) -> bool - - -ida_typeinf.udt_type_data_t.end(): - - end(self) -> udt_member_t - end(self) -> udt_member_t - - -ida_typeinf.udt_type_data_t.erase(): - - erase(self, it) -> udt_member_t - erase(self, first, last) -> udt_member_t - - -ida_typeinf.udt_type_data_t.extract(): - - extract(self) -> udt_member_t - - -ida_typeinf.udt_type_data_t.find(): - - find(self, x) -> udt_member_t - find(self, x) -> udt_member_t - - -ida_typeinf.udt_type_data_t.grow(): - - grow(self, x=udt_member_t()) - - -ida_typeinf.udt_type_data_t.has(): - - has(self, x) -> bool - - -ida_typeinf.udt_type_data_t.inject(): - - inject(self, s, len) - - -ida_typeinf.udt_type_data_t.insert(): - - insert(self, it, x) -> udt_member_t - - -ida_typeinf.udt_type_data_t.is_cppobj(): - - is_cppobj(self) -> bool - - -ida_typeinf.udt_type_data_t.is_last_baseclass(): - - is_last_baseclass(self, idx) -> bool - - -ida_typeinf.udt_type_data_t.is_msstruct(): - - is_msstruct(self) -> bool - - -ida_typeinf.udt_type_data_t.is_unaligned(): - - is_unaligned(self) -> bool - - -ida_typeinf.udt_type_data_t.is_union: - udt_type_data_t_is_union_get(self) -> bool - -ida_typeinf.udt_type_data_t.is_vftable(): - - is_vftable(self) -> bool - - -ida_typeinf.udt_type_data_t.pack: - udt_type_data_t_pack_get(self) -> uchar - -ida_typeinf.udt_type_data_t.pop_back(): - - pop_back(self) - - -ida_typeinf.udt_type_data_t.push_back(): - - push_back(self, x) - push_back(self) -> udt_member_t - - -ida_typeinf.udt_type_data_t.qclear(): - - qclear(self) - - -ida_typeinf.udt_type_data_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.udt_type_data_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.udt_type_data_t.sda: - udt_type_data_t_sda_get(self) -> uchar - -ida_typeinf.udt_type_data_t.size(): - - size(self) -> size_t - - -ida_typeinf.udt_type_data_t.swap(): - - swap(self, r) - - -ida_typeinf.udt_type_data_t.taudt_bits: - udt_type_data_t_taudt_bits_get(self) -> uint32 - -ida_typeinf.udt_type_data_t.total_size: - udt_type_data_t_total_size_get(self) -> size_t - -ida_typeinf.udt_type_data_t.truncate(): - - truncate(self) - - -ida_typeinf.udt_type_data_t.unpadded_size: - udt_type_data_t_unpadded_size_get(self) -> size_t - -class ida_typeinf.udtmembervec_t(): - - Proxy of C++ qvector<(udt_member_t)> class - - -ida_typeinf.udtmembervec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_typeinf.udtmembervec_t.at(): - - at(self, _idx) -> udt_member_t - - -ida_typeinf.udtmembervec_t.begin(): - - begin(self) -> udt_member_t - begin(self) -> udt_member_t - - -ida_typeinf.udtmembervec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.udtmembervec_t.clear(): - - clear(self) - - -ida_typeinf.udtmembervec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.udtmembervec_t.end(): - - end(self) -> udt_member_t - end(self) -> udt_member_t - - -ida_typeinf.udtmembervec_t.erase(): - - erase(self, it) -> udt_member_t - erase(self, first, last) -> udt_member_t - - -ida_typeinf.udtmembervec_t.extract(): - - extract(self) -> udt_member_t - - -ida_typeinf.udtmembervec_t.find(): - - find(self, x) -> udt_member_t - find(self, x) -> udt_member_t - - -ida_typeinf.udtmembervec_t.grow(): - - grow(self, x=udt_member_t()) - - -ida_typeinf.udtmembervec_t.has(): - - has(self, x) -> bool - - -ida_typeinf.udtmembervec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.udtmembervec_t.insert(): - - insert(self, it, x) -> udt_member_t - - -ida_typeinf.udtmembervec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.udtmembervec_t.push_back(): - - push_back(self, x) - push_back(self) -> udt_member_t - - -ida_typeinf.udtmembervec_t.qclear(): - - qclear(self) - - -ida_typeinf.udtmembervec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.udtmembervec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.udtmembervec_t.size(): - - size(self) -> size_t - - -ida_typeinf.udtmembervec_t.swap(): - - swap(self, r) - - -ida_typeinf.udtmembervec_t.truncate(): - - truncate(self) - - -ida_typeinf.unpack_idcobj_from_bv(): - - 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 &) - @param bytes (C++: const bytevec_t &) - @param pio_flags (C++: int) - - -ida_typeinf.unpack_idcobj_from_idb(): - - 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 &) - @param ea (C++: ea_t) - @param off0 (C++: const bytevec_t *) - @param pio_flags (C++: int) - - -ida_typeinf.unpack_object_from_bv(): - - unpack_object_from_bv(ti, py_type, py_fields, py_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 tp: type string - @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 - - -ida_typeinf.unpack_object_from_idb(): - - unpack_object_from_idb(ti, py_type, py_fields, ea, pio_flags=0) -> PyObject * - - -class ida_typeinf.valstr_t(): - - Proxy of C++ valstr_t class - - -ida_typeinf.valstr_t.info: - valstr_t_info_get(self) -> valinfo_t * - -ida_typeinf.valstr_t.length: - valstr_t_length_get(self) -> size_t - -ida_typeinf.valstr_t.members: - valstr_t_members_get(self) -> valstrs_t - -ida_typeinf.valstr_t.oneline: - valstr_t_oneline_get(self) -> qstring * - -ida_typeinf.valstr_t.props: - valstr_t_props_get(self) -> int - -class ida_typeinf.valstrs_t(): - - Proxy of C++ valstrs_t class - - -ida_typeinf.valstrs_t.at(): - - at(self, _idx) -> valstr_t - - -ida_typeinf.valstrs_t.begin(): - - begin(self) -> valstr_t - begin(self) -> valstr_t - - -ida_typeinf.valstrs_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.valstrs_t.clear(): - - clear(self) - - -ida_typeinf.valstrs_t.empty(): - - empty(self) -> bool - - -ida_typeinf.valstrs_t.end(): - - end(self) -> valstr_t - end(self) -> valstr_t - - -ida_typeinf.valstrs_t.erase(): - - erase(self, it) -> valstr_t - erase(self, first, last) -> valstr_t - - -ida_typeinf.valstrs_t.extract(): - - extract(self) -> valstr_t - - -ida_typeinf.valstrs_t.grow(): - - grow(self, x=valstr_t()) - - -ida_typeinf.valstrs_t.inject(): - - inject(self, s, len) - - -ida_typeinf.valstrs_t.insert(): - - insert(self, it, x) -> valstr_t - - -ida_typeinf.valstrs_t.pop_back(): - - pop_back(self) - - -ida_typeinf.valstrs_t.push_back(): - - push_back(self, x) - push_back(self) -> valstr_t - - -ida_typeinf.valstrs_t.qclear(): - - qclear(self) - - -ida_typeinf.valstrs_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.valstrs_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.valstrs_t.size(): - - size(self) -> size_t - - -ida_typeinf.valstrs_t.swap(): - - swap(self, r) - - -ida_typeinf.valstrs_t.truncate(): - - truncate(self) - - -class ida_typeinf.valstrvec_t(): - - Proxy of C++ qvector<(valstr_t)> class - - -ida_typeinf.valstrvec_t.at(): - - at(self, _idx) -> valstr_t - - -ida_typeinf.valstrvec_t.begin(): - - begin(self) -> valstr_t - begin(self) -> valstr_t - - -ida_typeinf.valstrvec_t.capacity(): - - capacity(self) -> size_t - - -ida_typeinf.valstrvec_t.clear(): - - clear(self) - - -ida_typeinf.valstrvec_t.empty(): - - empty(self) -> bool - - -ida_typeinf.valstrvec_t.end(): - - end(self) -> valstr_t - end(self) -> valstr_t - - -ida_typeinf.valstrvec_t.erase(): - - erase(self, it) -> valstr_t - erase(self, first, last) -> valstr_t - - -ida_typeinf.valstrvec_t.extract(): - - extract(self) -> valstr_t - - -ida_typeinf.valstrvec_t.grow(): - - grow(self, x=valstr_t()) - - -ida_typeinf.valstrvec_t.inject(): - - inject(self, s, len) - - -ida_typeinf.valstrvec_t.insert(): - - insert(self, it, x) -> valstr_t - - -ida_typeinf.valstrvec_t.pop_back(): - - pop_back(self) - - -ida_typeinf.valstrvec_t.push_back(): - - push_back(self, x) - push_back(self) -> valstr_t - - -ida_typeinf.valstrvec_t.qclear(): - - qclear(self) - - -ida_typeinf.valstrvec_t.reserve(): - - reserve(self, cnt) - - -ida_typeinf.valstrvec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_typeinf.valstrvec_t.size(): - - size(self) -> size_t - - -ida_typeinf.valstrvec_t.swap(): - - swap(self, r) - - -ida_typeinf.valstrvec_t.truncate(): - - truncate(self) - - -ida_typeinf.verify_argloc(): - - verify_argloc(vloc, size, gaps) -> int - - - Verify 'argloc_t' . - - @param vloc (C++: const argloc_t &) - @param size: total size of the variable (C++: int) - @param gaps: if not NULL, specifies gaps in structure definition. - these gaps should not map to any argloc, but everything - else must be covered (C++: const rangeset_t *) - @return: 0 if ok, otherwise an interr code. - - -ida_typeinf.verify_tinfo(): - - verify_tinfo(typid) -> int - - -ida_typeinf.visit_subtypes(): - - visit_subtypes(visitor, out, tif, name, cmt) -> int - - -ida_typeinf.write_tinfo_bitfield_value(): - - write_tinfo_bitfield_value(typid, dst, v, bitoff) -> uint64 - - - -=== ida_typeinf EPYDOC INJECTIONS === -ida_typeinf.ADDTIL_ABORTED -""" -til was not loaded (incompatible til rejected by user) -""" - -ida_typeinf.ADDTIL_COMP -""" -ok, but til is not compatible with the current compiler -""" - -ida_typeinf.ADDTIL_DEFAULT -""" -default behavior -""" - -ida_typeinf.ADDTIL_FAILED -""" -something bad, the warning is displayed -""" - -ida_typeinf.ADDTIL_INCOMP -""" -load incompatible tils -""" - -ida_typeinf.ADDTIL_OK -""" -ok, til is loaded -""" - -ida_typeinf.ADDTIL_SILENT -""" -do not ask any questions -""" - -ida_typeinf.CC_ALLOW_ARGPERM -""" -disregard argument order? -""" - -ida_typeinf.CC_ALLOW_REGHOLES -""" -allow holes in register argument list? -""" - -ida_typeinf.CC_CDECL_OK -""" -can use __cdecl calling convention? -""" - -ida_typeinf.CC_HAS_ELLIPSIS -""" -function has a variable list of arguments? -""" - -ida_typeinf.FAH_BYTE -""" -function argument attribute header byte -""" - -ida_typeinf.FAI_ARRAY -""" -was initially an array see "__org_typedef" or "__org_arrdim" type -attributes to determine the original type -""" - -ida_typeinf.FAI_HIDDEN -""" -hidden argument -""" - -ida_typeinf.FAI_RETPTR -""" -pointer to return value. implies hidden -""" - -ida_typeinf.FAI_STRUCT -""" -was initially a structure -""" - -ida_typeinf.FTI_ALL -""" -all defined bits -""" - -ida_typeinf.FTI_ARGLOCS -""" -(stkargs and retloc too) - -info about argument locations has been calculated -""" - -ida_typeinf.FTI_CALLTYPE -""" -mask for FTI_*CALL -""" - -ida_typeinf.FTI_DEFCALL -""" -default call -""" - -ida_typeinf.FTI_FARCALL -""" -far call -""" - -ida_typeinf.FTI_HIGH -""" -high level prototype (with possibly hidden args) -""" - -ida_typeinf.FTI_INTCALL -""" -interrupt call -""" - -ida_typeinf.FTI_NEARCALL -""" -near call -""" - -ida_typeinf.FTI_NORET -""" -noreturn -""" - -ida_typeinf.FTI_PURE -""" -__pure -""" - -ida_typeinf.FTI_SPOILED -""" -information about spoiled registers is present -""" - -ida_typeinf.FTI_STATIC -""" -static -""" - -ida_typeinf.FTI_VIRTUAL -""" -virtual -""" - -ida_typeinf.GUESS_FUNC_FAILED -""" -couldn't guess the function type -""" - -ida_typeinf.GUESS_FUNC_OK -""" -ok, some non-trivial information is gathered -""" - -ida_typeinf.GUESS_FUNC_TRIVIAL -""" -the function type doesn't have interesting info -""" - -ida_typeinf.HTI_CPP -""" -C++ mode (not implemented) -""" - -ida_typeinf.HTI_DCL -""" -don't complain about redeclarations -""" - -ida_typeinf.HTI_EXT -""" -debug: print external representation of types -""" - -ida_typeinf.HTI_FIL -""" -otherwise "input" contains a C declaration - -"input" is file name, -""" - -ida_typeinf.HTI_HIGH -""" -(with hidden args, etc) - -assume high level prototypes -""" - -ida_typeinf.HTI_INT -""" -debug: print internal representation of types -""" - -ida_typeinf.HTI_LEX -""" -debug: print tokens -""" - -ida_typeinf.HTI_LOWER -""" -lower the function prototypes -""" - -ida_typeinf.HTI_MAC -""" -define macros from the base tils -""" - -ida_typeinf.HTI_NDC -""" -don't decorate names -""" - -ida_typeinf.HTI_NER -""" -ignore all errors but display them -""" - -ida_typeinf.HTI_NWR -""" -no warning messages -""" - -ida_typeinf.HTI_PAK -""" -explicit structure pack value (#pragma pack) -""" - -ida_typeinf.HTI_PAK1 -""" -#pragma pack(1) -""" - -ida_typeinf.HTI_PAK16 -""" -#pragma pack(16) -""" - -ida_typeinf.HTI_PAK2 -""" -#pragma pack(2) -""" - -ida_typeinf.HTI_PAK4 -""" -#pragma pack(4) -""" - -ida_typeinf.HTI_PAK8 -""" -#pragma pack(8) -""" - -ida_typeinf.HTI_PAKDEF -""" -default pack value -""" - -ida_typeinf.HTI_PAK_SHIFT -""" -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 -""" - -ida_typeinf.HTI_RAWARGS -""" -leave argument names unchanged (do not remove underscores) -""" - -ida_typeinf.HTI_TST -""" -test mode: discard the result -""" - -ida_typeinf.HTI_UNP -""" -debug: check the result by unpacking it -""" - -ida_typeinf.IMPTYPE_LOCAL -""" -the type is local, the struct/enum won't be marked as til type. there -is no need to specify this bit if til==idati, the kernel will set it -automatically -""" - -ida_typeinf.IMPTYPE_OVERRIDE -""" -override existing type -""" - -ida_typeinf.IMPTYPE_VERBOSE -""" -more verbose output (dialog boxes may appear) -""" - -ida_typeinf.MAX_FUNC_ARGS -""" -max number of function arguments -""" - -ida_typeinf.NTF_64BIT -""" -value is 64bit -""" - -ida_typeinf.NTF_CHKSYNC -""" -(set_numbered_type, set_named_type) - -check that synchronization to IDB passed OK -""" - -ida_typeinf.NTF_FIXNAME -""" -(set_named_type, set_numbered_type only) - -force-validate the name of the type when setting -""" - -ida_typeinf.NTF_IDBENC -""" -the name is given in the IDB encoding; non-ASCII bytes will be decoded -accordingly (set_named_type, set_numbered_type only) -""" - -ida_typeinf.NTF_NOBASE -""" -don't inspect base tils (for get_named_type) -""" - -ida_typeinf.NTF_NOCUR -""" -don't inspect current til file (for get_named_type) -""" - -ida_typeinf.NTF_REPLACE -""" -replace original type (for set_named_type) -""" - -ida_typeinf.NTF_SYMM -""" -only one of 'NTF_TYPE' and 'NTF_SYMU' , 'NTF_SYMM' can be used - -symbol, name is mangled ('_func') -""" - -ida_typeinf.NTF_SYMU -""" -symbol, name is unmangled ('func') -""" - -ida_typeinf.NTF_TYPE -""" -type name -""" - -ida_typeinf.NTF_UMANGLED -""" -name is unmangled (don't use this flag) -""" - -ida_typeinf.PCN_CHR -""" -character -""" - -ida_typeinf.PCN_DEC -""" -decimal -""" - -ida_typeinf.PCN_DECSEXT -""" -automatically extend sign of signed decimal numbers -""" - -ida_typeinf.PCN_HEX -""" -hexadecimal -""" - -ida_typeinf.PCN_LZHEX -""" -print leading zeroes for hexdecimal number -""" - -ida_typeinf.PCN_NEGSIGN -""" -print negated value (-N) for negative numbers -""" - -ida_typeinf.PCN_OCT -""" -octal -""" - -ida_typeinf.PCN_RADIX -""" -number base to use -""" - -ida_typeinf.PCN_UNSIGNED -""" -add 'u' suffix -""" - -ida_typeinf.PDF_DEF_BASE -""" -Include base types: __int8, __int16, etc.. -""" - -ida_typeinf.PDF_DEF_FWD -""" -Allow forward declarations. -""" - -ida_typeinf.PDF_HEADER_CMT -""" -Prepend output with a descriptive comment. -""" - -ida_typeinf.PDF_INCL_DEPS -""" -Include all type dependencies. -""" - -ida_typeinf.PIO_IGNORE_PTRS -""" -do not follow pointers -""" - -ida_typeinf.PIO_NOATTR_FAIL -""" -missing attributes are not ok -""" - -ida_typeinf.PRALOC_STKOFF -""" -print stack offsets -""" - -ida_typeinf.PRALOC_VERIFY -""" -interr if illegal argloc -""" - -ida_typeinf.PRTYPE_1LINE -""" -print to one line -""" - -ida_typeinf.PRTYPE_CPP -""" -use c++ name (only for 'print_type()' ) -""" - -ida_typeinf.PRTYPE_DEF -""" - 'tinfo_t' : print definition, if available -""" - -ida_typeinf.PRTYPE_MULTI -""" -print to many lines -""" - -ida_typeinf.PRTYPE_NOARGS -""" - 'tinfo_t' : do not print function argument names -""" - -ida_typeinf.PRTYPE_NOARRS -""" - 'tinfo_t' : print arguments with 'FAI_ARRAY' as pointers -""" - -ida_typeinf.PRTYPE_NORES -""" - 'tinfo_t' : never resolve types (meaningful with PRTYPE_DEF) -""" - -ida_typeinf.PRTYPE_PRAGMA -""" -print pragmas for alignment -""" - -ida_typeinf.PRTYPE_RESTORE -""" - 'tinfo_t' : print restored types for 'FAI_ARRAY' and 'FAI_STRUCT' -""" - -ida_typeinf.PRTYPE_SEMI -""" -append ; to the end -""" - -ida_typeinf.PRTYPE_TYPE -""" -print type declaration (not variable declaration) -""" - -ida_typeinf.PT_HIGH -""" -(with hidden args, etc) - -assume high level prototypes -""" - -ida_typeinf.PT_LOWER -""" -lower the function prototypes -""" - -ida_typeinf.PT_NDC -""" -don't decorate names -""" - -ida_typeinf.PT_PACKMASK -""" -mask for pack alignment values -""" - -ida_typeinf.PT_RAWARGS -""" -leave argument names unchanged (do not remove underscores) -""" - -ida_typeinf.PT_REPLACE -""" -replace the old type (used in idc) -""" - -ida_typeinf.PT_SIL -""" -silent, no messages -""" - -ida_typeinf.PT_TYP -""" -return declared type information -""" - -ida_typeinf.PT_VAR -""" -return declared object information -""" - -ida_typeinf.RESERVED_BYTE -""" -multifunctional purpose -""" - -ida_typeinf.SETCOMP_BY_USER -""" -invoked by user, cannot be replaced by module/loader -""" - -ida_typeinf.SETCOMP_ONLY_ABI -""" -ignore cc field complete, use only abiname -""" - -ida_typeinf.SETCOMP_ONLY_ID -""" -cc has only 'id' field the rest will be set to defaults corresponding -to the program bitness -""" - -ida_typeinf.SETCOMP_OVERRIDE -""" -may override old compiler info -""" - -ida_typeinf.STRMEM_ANON -""" -can be combined with 'STRMEM_NAME' : look inside anonymous members -too. -""" - -ida_typeinf.STRMEM_AUTO -""" -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)! -""" - -ida_typeinf.STRMEM_CASTABLE_TO -""" -can be combined with 'STRMEM_TYPE' : member type must be castable to -the specified type -""" - -ida_typeinf.STRMEM_INDEX -""" -get member by number- in: udm->offset - is a member number -""" - -ida_typeinf.STRMEM_MAXS -""" -get biggest member by size. -""" - -ida_typeinf.STRMEM_MINS -""" -get smallest member by size. -""" - -ida_typeinf.STRMEM_NAME -""" -get member by name- in: udm->name - the desired member name. -""" - -ida_typeinf.STRMEM_OFFSET -""" -get member by offset- in: udm->offset - is a member offset in bits -""" - -ida_typeinf.STRMEM_SIZE -""" -get member by size.- in: udm->size - the desired member size. -""" - -ida_typeinf.STRMEM_SKIP_EMPTY -""" -can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' skip empty -members (i.e. having zero size) only last empty member can be returned -""" - -ida_typeinf.STRMEM_TYPE -""" -get member by type. - in: udm->type - the desired member type. member -types are compared with tinfo_t::equals_to() -""" - -ida_typeinf.STRMEM_VFTABLE -""" -can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' get vftable -instead of the base class -""" - -ida_typeinf.SUDT_ALIGN -""" -to match the offsets and size info - -recalculate field alignments, struct packing, etc -""" - -ida_typeinf.SUDT_CONST -""" -only for serialize_udt: make type const -""" - -ida_typeinf.SUDT_FAST -""" -serialize without verifying offsets and alignments -""" - -ida_typeinf.SUDT_GAPS -""" -allow to fill gaps with additional members (_BYTE[]) -""" - -ida_typeinf.SUDT_SORT -""" -fields are not sorted by offset, sort them first -""" - -ida_typeinf.SUDT_TRUNC -""" -serialize: truncate useless strings from fields, fldcmts -""" - -ida_typeinf.SUDT_UNEX -""" -references to nonexistent member types are acceptable in this case it -is better to set the corresponding 'udt_member_t::fda' field to the -type alignment. if this field is not set, ida will try to guess the -alignment. -""" - -ida_typeinf.SUDT_VOLATILE -""" -only for serialize_udt: make type volatile -""" - -ida_typeinf.TAENUM_64BIT -""" -enum: store 64-bit values -""" - -ida_typeinf.TAENUM_SIGNED -""" -enum: signed -""" - -ida_typeinf.TAENUM_UNSIGNED -""" -enum: unsigned -""" - -ida_typeinf.TAFLD_BASECLASS -""" -field: do not include but inherit from the current field -""" - -ida_typeinf.TAFLD_UNALIGNED -""" -field: unaligned field -""" - -ida_typeinf.TAFLD_VFTABLE -""" -field: ptr to virtual function table -""" - -ida_typeinf.TAFLD_VIRTBASE -""" -field: virtual base (not supported yet) -""" - -ida_typeinf.TAH_ALL -""" -all defined bits -""" - -ida_typeinf.TAH_BYTE -""" -type attribute header byte -""" - -ida_typeinf.TAH_HASATTRS -""" -has extended attributes -""" - -ida_typeinf.TAPTR_PTR32 -""" -ptr: __ptr32 -""" - -ida_typeinf.TAPTR_PTR64 -""" -ptr: __ptr64 -""" - -ida_typeinf.TAPTR_RESTRICT -""" -ptr: __restrict -""" - -ida_typeinf.TAPTR_SHIFTED -""" -ptr: __shifted(parent_struct, delta) -""" - -ida_typeinf.TAUDT_CPPOBJ -""" -struct: a c++ object, not simple pod type -""" - -ida_typeinf.TAUDT_MSSTRUCT -""" -struct: gcc msstruct attribute -""" - -ida_typeinf.TAUDT_UNALIGNED -""" -struct: unaligned struct -""" - -ida_typeinf.TAUDT_VFTABLE -""" -struct: is virtual function table -""" - -ida_typeinf.TA_FORMAT -""" -info about the 'format' argument 3 times pack_dd: 'format_functype_t' -, argument number of 'format', argument number of '...' -""" - -ida_typeinf.TA_ORG_ARRDIM -""" -the original array dimension (pack_dd) -""" - -ida_typeinf.TA_ORG_TYPEDEF -""" -the original typedef name (simple string) -""" - -ida_typeinf.TCMP_ANYBASE -""" -accept any base class when casting -""" - -ida_typeinf.TCMP_AUTOCAST -""" -can t1 be cast into t2 automatically? -""" - -ida_typeinf.TCMP_CALL -""" -can t1 be called with t2 type? -""" - -ida_typeinf.TCMP_DECL -""" -compare declarations without resolving them -""" - -ida_typeinf.TCMP_DELPTR -""" -remove pointer from types before comparing -""" - -ida_typeinf.TCMP_EQUAL -""" -are types equal? -""" - -ida_typeinf.TCMP_IGNMODS -""" -ignore const/volatile modifiers -""" - -ida_typeinf.TCMP_MANCAST -""" -can t1 be cast into t2 manually? -""" - -ida_typeinf.TCMP_SKIPTHIS -""" -skip the first function argument in comparison -""" - -ida_typeinf.TIL_ADD_ALREADY -""" -the base til was already added -""" - -ida_typeinf.TIL_ADD_FAILED -""" -see errbuf -""" - -ida_typeinf.TIL_ADD_OK -""" -some tils were added -""" - -ida_typeinf.TIL_ALI -""" -type aliases are present (this bit is used only on the disk) -""" - -ida_typeinf.TIL_ESI -""" -extended sizeof info (short, long, longlong) -""" - -ida_typeinf.TIL_MAC -""" -til has macro table -""" - -ida_typeinf.TIL_MOD -""" -til has been modified, should be saved -""" - -ida_typeinf.TIL_ORD -""" -type ordinal numbers are present -""" - -ida_typeinf.TIL_SLD -""" -sizeof(long double) -""" - -ida_typeinf.TIL_STM -""" -til has extra streams -""" - -ida_typeinf.TIL_UNI -""" -universal til for any compiler -""" - -ida_typeinf.TIL_ZIP -""" -pack buckets using zip -""" - -ida_typeinf.TINFO_DEFINITE -""" -this is a definite type -""" - -ida_typeinf.TINFO_DELAYFUNC -""" -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 -""" - -ida_typeinf.TINFO_GUESSED -""" -this is a guessed type -""" - -ida_typeinf.TINFO_STRICT -""" -never convert given type to another one before applying -""" - -ida_typeinf.TVIS_CMT -""" -new comment is present -""" - -ida_typeinf.TVIS_NAME -""" -new name is present -""" - -ida_typeinf.TVIS_TYPE -""" -new type info is present -""" - -ida_typeinf.TVST_DEF -""" -visit type definition (meaningful for typerefs) -""" - -ida_typeinf.TVST_PRUNE -""" -don't visit children of current type -""" - -ida_typeinf.VALSTR_OPEN -""" -printed opening curly brace '{' -""" -=== ida_typeinf EPYDOC INJECTIONS END === -ida_ua.calc_dataseg(): - - 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 &) - @param n (C++: int) - @param rgnum (C++: int) - - -ida_ua.can_decode(): - - can_decode(ea) -> bool - - - Can the bytes at address 'ea' be decoded as instruction? - - @param ea: linear address (C++: ea_t) - @return: whether or not the contents at that address could be a valid - instruction - - -ida_ua.construct_macro(): - - construct_macro(insn, enable, build_macro) -> bool - - - See ua.hpp's construct_macro(). - - -ida_ua.create_insn(): - - 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: linear address (C++: ea_t) - @param out: the resulting instruction (C++: insn_t *) - @return: the length of the instruction or 0 - - -ida_ua.create_outctx(): - - 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++: flags_t) - @param suspop (C++: int) - - -ida_ua.decode_insn(): - - 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: the resulting instruction (C++: insn_t *) - @param ea: linear address (C++: ea_t) - @return: the length of the (possible) instruction or 0 - - -ida_ua.decode_preceding_insn(): - - decode_preceding_insn(out, ea) -> PyObject * - - - Decodes the preceding instruction. Please check ua.hpp / decode_preceding_insn() - @param ea: current ea - @param out: instruction storage - @return: tuple(preceeding_ea or BADADDR, farref = Boolean) - - -ida_ua.decode_prev_insn(): - - decode_prev_insn(out, ea) -> ea_t - - - Decode previous instruction if it exists, fill 'out'. - - @param out: the resulting instruction (C++: insn_t *) - @param ea: the address to decode the previous instruction from (C++: - ea_t) - @return: the previous instruction address ( BADADDR -no such insn) - - -ida_ua.get_dtype_by_size(): - - get_dtype_by_size(size) -> int - - - Get 'op_t::dtype' from size. - - - @param size (C++: asize_t) - - -ida_ua.get_dtype_flag(): - - get_dtype_flag(dtype) -> flags_t - - - Get flags for 'op_t::dtype' field. - - - @param dtype (C++: op_dtype_t) - - -ida_ua.get_dtype_size(): - - get_dtype_size(dtype) -> size_t - - - Get size of opt_::dtype field. - - - @param dtype (C++: op_dtype_t) - - -ida_ua.get_immvals(): - - 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: address to analyze (C++: ea_t) - @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands - (C++: int) - @param F: flags for the specified address (C++: flags_t) - @return: number of immediate values (0..2* UA_MAXOP ) - - -ida_ua.get_lookback(): - - 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) - - -ida_ua.get_printable_immvals(): - - get_printable_immvals(ea, n, F=0) -> PyObject * - - - Get immediate ready-to-print values at the specified address - - @param ea: address to analyze (C++: ea_t) - @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands - (C++: int) - @param F: flags for the specified address (C++: flags_t) - @return: number of immediate values (0..2* UA_MAXOP ) - - -ida_ua.guess_table_address(): - - guess_table_address(insn) -> ea_t - - - Guess the jump table address (ibm pc specific) - - - @param insn (C++: const insn_t &) - - -ida_ua.guess_table_size(): - - guess_table_size(insn, jump_table) -> asize_t - - - Guess the jump table size. - - - @param insn (C++: const insn_t &) - @param jump_table (C++: ea_t) - - -ida_ua.insn_add_cref(): - - insn_add_cref(insn, to, opoff, type) - - -ida_ua.insn_add_dref(): - - insn_add_dref(insn, to, opoff, type) - - -ida_ua.insn_add_off_drefs(): - - insn_add_off_drefs(insn, x, type, outf) -> ea_t - - -ida_ua.insn_create_stkvar(): - - insn_create_stkvar(insn, x, v, flags) -> bool - - -class ida_ua.insn_t(): - - Proxy of C++ insn_t class - - -ida_ua.insn_t.add_cref(): - - add_cref(self, to, opoff, type) - - -ida_ua.insn_t.add_dref(): - - add_dref(self, to, opoff, type) - - -ida_ua.insn_t.add_off_drefs(): - - add_off_drefs(self, x, type, outf) -> ea_t - - -ida_ua.insn_t.assign(): - - assign(self, other) - - -ida_ua.insn_t.auxpref: - - __get_auxpref__(self) -> uint16 - - -ida_ua.insn_t.create_op_data(): - - create_op_data(self, ea_, opoff, dtype) -> bool - create_op_data(self, ea_, op) -> bool - - -ida_ua.insn_t.create_stkvar(): - - create_stkvar(self, x, v, flags_) -> bool - - -ida_ua.insn_t.cs: - insn_t_cs_get(self) -> ea_t - -ida_ua.insn_t.ea: - insn_t_ea_get(self) -> ea_t - -ida_ua.insn_t.flags: - insn_t_flags_get(self) -> int16 - -ida_ua.insn_t.get_canon_feature(): - - get_canon_feature(self) -> uint32 - - -ida_ua.insn_t.get_canon_mnem(): - - get_canon_mnem(self) -> char const * - - -ida_ua.insn_t.get_next_byte(): - - get_next_byte(self) -> uint8 - - -ida_ua.insn_t.get_next_dword(): - - get_next_dword(self) -> uint32 - - -ida_ua.insn_t.get_next_qword(): - - get_next_qword(self) -> uint64 - - -ida_ua.insn_t.get_next_word(): - - get_next_word(self) -> uint16 - - -ida_ua.insn_t.insnpref: - insn_t_insnpref_get(self) -> char - -ida_ua.insn_t.ip: - insn_t_ip_get(self) -> ea_t - -ida_ua.insn_t.is_64bit(): - - is_64bit(self) -> bool - - -ida_ua.insn_t.is_canon_insn(): - - is_canon_insn(self) -> bool - - -ida_ua.insn_t.is_macro(): - - is_macro(self) -> bool - - -ida_ua.insn_t.itype: - insn_t_itype_get(self) -> uint16 - -ida_ua.insn_t.ops: - - __get_ops__(self) -> operands_array - - -ida_ua.insn_t.segpref: - insn_t_segpref_get(self) -> char - -ida_ua.insn_t.size: - insn_t_size_get(self) -> uint16 - -ida_ua.insn_t__from_ptrval__(): - - insn_t__from_ptrval__(ptrval) -> insn_t - - -ida_ua.map_code_ea(): - - map_code_ea(insn, addr, opnum) -> ea_t - map_code_ea(insn, op) -> ea_t - - - Map a code address. This function takes into account the segment - translations. - - @param insn: the current instruction (C++: const insn_t &) - @param addr: the referenced address to map (C++: ea_t) - @param opnum: operand number (C++: int) - - -ida_ua.map_data_ea(): - - map_data_ea(insn, addr, opnum=-1) -> ea_t - map_data_ea(insn, op) -> ea_t - - - Map a data address. - - @param insn: the current instruction (C++: const insn_t &) - @param addr: the referenced address to map (C++: ea_t) - @param opnum: operand number (C++: int) - - -ida_ua.map_ea(): - - map_ea(insn, op, iscode) -> ea_t - map_ea(insn, addr, opnum, iscode) -> ea_t - - -class ida_ua.op_t(): - - Proxy of C++ op_t class - - -ida_ua.op_t.addr: - - __get_addr__(self) -> ea_t - - -ida_ua.op_t.assign(): - - assign(self, other) - - -ida_ua.op_t.clr_shown(): - - clr_shown(self) - - -ida_ua.op_t.dtype: - op_t_dtype_get(self) -> op_dtype_t - -ida_ua.op_t.flags: - op_t_flags_get(self) -> uchar - -ida_ua.op_t.has_reg(): - - Checks if the operand accesses the given processor register - - -ida_ua.op_t.is_imm(): - - is_imm(self, v) -> bool - - -ida_ua.op_t.is_reg(): - - is_reg(self, r) -> bool - - -ida_ua.op_t.n: - op_t_n_get(self) -> uchar - -ida_ua.op_t.offb: - op_t_offb_get(self) -> char - -ida_ua.op_t.offo: - op_t_offo_get(self) -> char - -ida_ua.op_t.phrase: - - __get_reg_phrase__(self) -> uint16 - - -ida_ua.op_t.reg: - - __get_reg_phrase__(self) -> uint16 - - -ida_ua.op_t.set_shown(): - - set_shown(self) - - -ida_ua.op_t.shown(): - - shown(self) -> bool - - -ida_ua.op_t.specflag1: - op_t_specflag1_get(self) -> char - -ida_ua.op_t.specflag2: - op_t_specflag2_get(self) -> char - -ida_ua.op_t.specflag3: - op_t_specflag3_get(self) -> char - -ida_ua.op_t.specflag4: - op_t_specflag4_get(self) -> char - -ida_ua.op_t.specval: - - __get_specval__(self) -> ea_t - - -ida_ua.op_t.type: - op_t_type_get(self) -> optype_t - -ida_ua.op_t.value: - - __get_value__(self) -> ea_t - - -ida_ua.op_t__from_ptrval__(): - - op_t__from_ptrval__(ptrval) -> op_t - - -class ida_ua.operands_array(): - - Proxy of C++ wrapped_array_t<(op_t,8)> class - - -ida_ua.operands_array.data: - operands_array_data_get(self) -> op_t (&)[8] - -class ida_ua.outctx_base_t(): - - Proxy of C++ outctx_base_t class - - -ida_ua.outctx_base_t.close_comment(): - - close_comment(self) - - -ida_ua.outctx_base_t.clr_gen_label(): - - clr_gen_label(self) - - -ida_ua.outctx_base_t.default_lnnum: - outctx_base_t_default_lnnum_get(self) -> int - -ida_ua.outctx_base_t.display_voids(): - - display_voids(self) -> bool - - -ida_ua.outctx_base_t.flush_buf(): - - flush_buf(self, buf, indent=-1) -> bool - - -ida_ua.outctx_base_t.flush_outbuf(): - - flush_outbuf(self, indent=-1) -> bool - - -ida_ua.outctx_base_t.forbid_annotations(): - - forbid_annotations(self) -> int - - -ida_ua.outctx_base_t.force_code(): - - force_code(self) -> bool - - -ida_ua.outctx_base_t.gen_block_cmt(): - - gen_block_cmt(self, cmt, color) -> bool - - -ida_ua.outctx_base_t.gen_border_line(): - - gen_border_line(self, solid=False) -> bool - - -ida_ua.outctx_base_t.gen_cmt_line(): - - gen_cmt_line(self, format) -> bool - - -ida_ua.outctx_base_t.gen_collapsed_line(): - - gen_collapsed_line(self, format) -> bool - - -ida_ua.outctx_base_t.gen_empty_line(): - - gen_empty_line(self) -> bool - - -ida_ua.outctx_base_t.gen_empty_line_without_annotations(): - - gen_empty_line_without_annotations(self) - - -ida_ua.outctx_base_t.gen_printf(): - - gen_printf(self, indent, format) -> bool - - -ida_ua.outctx_base_t.gen_xref_lines(): - - gen_xref_lines(self) -> bool - - -ida_ua.outctx_base_t.get_stkvar(): - - get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * - - -ida_ua.outctx_base_t.init_lines_array(): - - init_lines_array(self, answers, maxsize) - - -ida_ua.outctx_base_t.insn_ea: - outctx_base_t_insn_ea_get(self) -> ea_t - -ida_ua.outctx_base_t.multiline(): - - multiline(self) -> bool - - -ida_ua.outctx_base_t.only_main_line(): - - only_main_line(self) -> bool - - -ida_ua.outctx_base_t.out_addr_tag(): - - out_addr_tag(self, ea) - - -ida_ua.outctx_base_t.out_btoa(): - - out_btoa(self, Word, radix=0) - - -ida_ua.outctx_base_t.out_char(): - - out_char(self, c) - - -ida_ua.outctx_base_t.out_chars(): - - out_chars(self, c, n) - - -ida_ua.outctx_base_t.out_colored_register_line(): - - out_colored_register_line(self, str) - - -ida_ua.outctx_base_t.out_keyword(): - - out_keyword(self, str) - - -ida_ua.outctx_base_t.out_line(): - - out_line(self, str, color=0) - - -ida_ua.outctx_base_t.out_long(): - - out_long(self, v, radix) - - -ida_ua.outctx_base_t.out_name_expr(): - - out_name_expr(self, x, ea, off=BADADDR) -> bool - - -ida_ua.outctx_base_t.out_printf(): - - out_printf(self, format) - - -ida_ua.outctx_base_t.out_register(): - - out_register(self, str) - - -ida_ua.outctx_base_t.out_spaces(): - - out_spaces(self, len) - - -ida_ua.outctx_base_t.out_symbol(): - - out_symbol(self, c) - - -ida_ua.outctx_base_t.out_tagoff(): - - out_tagoff(self, tag) - - -ida_ua.outctx_base_t.out_tagon(): - - out_tagon(self, tag) - - -ida_ua.outctx_base_t.out_value(): - - out_value(self, x, outf=0) -> flags_t - - -ida_ua.outctx_base_t.outbuf: - outctx_base_t_outbuf_get(self) -> qstring * - -ida_ua.outctx_base_t.print_label_now(): - - print_label_now(self) -> bool - - -ida_ua.outctx_base_t.restore_ctxflags(): - - restore_ctxflags(self, saved_flags) - - -ida_ua.outctx_base_t.retrieve_cmt(): - - retrieve_cmt(self) -> ssize_t - - -ida_ua.outctx_base_t.retrieve_name(): - - retrieve_name(self, arg2, arg3) -> ssize_t - - -ida_ua.outctx_base_t.set_comment_addr(): - - set_comment_addr(self, ea) - - -ida_ua.outctx_base_t.set_dlbind_opnd(): - - set_dlbind_opnd(self) - - -ida_ua.outctx_base_t.set_gen_cmt(): - - set_gen_cmt(self, on=True) - - -ida_ua.outctx_base_t.set_gen_demangled_label(): - - set_gen_demangled_label(self) - - -ida_ua.outctx_base_t.set_gen_label(): - - set_gen_label(self) - - -ida_ua.outctx_base_t.set_gen_xrefs(): - - set_gen_xrefs(self, on=True) - - -ida_ua.outctx_base_t.setup_outctx(): - - setup_outctx(self, prefix, makeline_flags) - - -ida_ua.outctx_base_t.stack_view(): - - stack_view(self) -> bool - - -ida_ua.outctx_base_t.term_outctx(): - - term_outctx(self, prefix=None) -> int - - -ida_ua.outctx_base_t__from_ptrval__(): - - outctx_base_t__from_ptrval__(ptrval) -> outctx_base_t - - -class ida_ua.outctx_t(): - - Proxy of C++ outctx_t class - - -ida_ua.outctx_t.bin_ea: - outctx_t_bin_ea_get(self) -> ea_t - -ida_ua.outctx_t.bin_state: - outctx_t_bin_state_get(self) -> char - -ida_ua.outctx_t.bin_width: - outctx_t_bin_width_get(self) -> int - -ida_ua.outctx_t.close_comment(): - - close_comment(self) - - -ida_ua.outctx_t.clr_gen_label(): - - clr_gen_label(self) - - -ida_ua.outctx_t.curlabel: - outctx_t_curlabel_get(self) -> qstring * - -ida_ua.outctx_t.default_lnnum: - outctx_base_t_default_lnnum_get(self) -> int - -ida_ua.outctx_t.display_voids(): - - display_voids(self) -> bool - - -ida_ua.outctx_t.flush_buf(): - - flush_buf(self, buf, indent=-1) -> bool - - -ida_ua.outctx_t.flush_outbuf(): - - flush_outbuf(self, indent=-1) -> bool - - -ida_ua.outctx_t.forbid_annotations(): - - forbid_annotations(self) -> int - - -ida_ua.outctx_t.force_code(): - - force_code(self) -> bool - - -ida_ua.outctx_t.gen_block_cmt(): - - gen_block_cmt(self, cmt, color) -> bool - - -ida_ua.outctx_t.gen_border_line(): - - gen_border_line(self, solid=False) -> bool - - -ida_ua.outctx_t.gen_cmt_line(): - - gen_cmt_line(self, format) -> bool - - -ida_ua.outctx_t.gen_collapsed_line(): - - gen_collapsed_line(self, format) -> bool - - -ida_ua.outctx_t.gen_empty_line(): - - gen_empty_line(self) -> bool - - -ida_ua.outctx_t.gen_empty_line_without_annotations(): - - gen_empty_line_without_annotations(self) - - -ida_ua.outctx_t.gen_func_footer(): - - gen_func_footer(self, pfn) - - -ida_ua.outctx_t.gen_func_header(): - - gen_func_header(self, pfn) - - -ida_ua.outctx_t.gen_header(): - - gen_header(self, flags=((1 << 0)|(1 << 1)), proc_name=None, proc_flavour=None) - - -ida_ua.outctx_t.gen_header_extra(): - - gen_header_extra(self) - - -ida_ua.outctx_t.gen_printf(): - - gen_printf(self, indent, format) -> bool - - -ida_ua.outctx_t.gen_xref_lines(): - - gen_xref_lines(self) -> bool - - -ida_ua.outctx_t.get_stkvar(): - - get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * - - -ida_ua.outctx_t.gl_bpsize: - outctx_t_gl_bpsize_get(self) -> int - -ida_ua.outctx_t.init_lines_array(): - - init_lines_array(self, answers, maxsize) - - -ida_ua.outctx_t.insn: - outctx_t_insn_get(self) -> insn_t - -ida_ua.outctx_t.insn_ea: - outctx_base_t_insn_ea_get(self) -> ea_t - -ida_ua.outctx_t.multiline(): - - multiline(self) -> bool - - -ida_ua.outctx_t.only_main_line(): - - only_main_line(self) -> bool - - -ida_ua.outctx_t.out_addr_tag(): - - out_addr_tag(self, ea) - - -ida_ua.outctx_t.out_btoa(): - - out_btoa(self, Word, radix=0) - - -ida_ua.outctx_t.out_char(): - - out_char(self, c) - - -ida_ua.outctx_t.out_chars(): - - out_chars(self, c, n) - - -ida_ua.outctx_t.out_colored_register_line(): - - out_colored_register_line(self, str) - - -ida_ua.outctx_t.out_custom_mnem(): - - out_custom_mnem(self, mnem, width=8, postfix=None) - - -ida_ua.outctx_t.out_data(): - - out_data(self, analyze_only) - - -ida_ua.outctx_t.out_immchar_cmts(): - - out_immchar_cmts(self) - - -ida_ua.outctx_t.out_keyword(): - - out_keyword(self, str) - - -ida_ua.outctx_t.out_line(): - - out_line(self, str, color=0) - - -ida_ua.outctx_t.out_long(): - - out_long(self, v, radix) - - -ida_ua.outctx_t.out_mnem(): - - out_mnem(self, width=8, postfix=None) - - -ida_ua.outctx_t.out_mnemonic(): - - out_mnemonic(self) - - -ida_ua.outctx_t.out_name_expr(): - - out_name_expr(self, x, ea, off=BADADDR) -> bool - - -ida_ua.outctx_t.out_one_operand(): - - out_one_operand(self, n) -> bool - - -ida_ua.outctx_t.out_printf(): - - out_printf(self, format) - - -ida_ua.outctx_t.out_register(): - - out_register(self, str) - - -ida_ua.outctx_t.out_spaces(): - - out_spaces(self, len) - - -ida_ua.outctx_t.out_specea(): - - out_specea(self, segtype) -> bool - - -ida_ua.outctx_t.out_symbol(): - - out_symbol(self, c) - - -ida_ua.outctx_t.out_tagoff(): - - out_tagoff(self, tag) - - -ida_ua.outctx_t.out_tagon(): - - out_tagon(self, tag) - - -ida_ua.outctx_t.out_value(): - - out_value(self, x, outf=0) -> flags_t - - -ida_ua.outctx_t.outbuf: - outctx_base_t_outbuf_get(self) -> qstring * - -ida_ua.outctx_t.print_label_now(): - - print_label_now(self) -> bool - - -ida_ua.outctx_t.restore_ctxflags(): - - restore_ctxflags(self, saved_flags) - - -ida_ua.outctx_t.retrieve_cmt(): - - retrieve_cmt(self) -> ssize_t - - -ida_ua.outctx_t.retrieve_name(): - - retrieve_name(self, arg2, arg3) -> ssize_t - - -ida_ua.outctx_t.set_bin_state(): - - set_bin_state(self, value) - - -ida_ua.outctx_t.set_comment_addr(): - - set_comment_addr(self, ea) - - -ida_ua.outctx_t.set_dlbind_opnd(): - - set_dlbind_opnd(self) - - -ida_ua.outctx_t.set_gen_cmt(): - - set_gen_cmt(self, on=True) - - -ida_ua.outctx_t.set_gen_demangled_label(): - - set_gen_demangled_label(self) - - -ida_ua.outctx_t.set_gen_label(): - - set_gen_label(self) - - -ida_ua.outctx_t.set_gen_xrefs(): - - set_gen_xrefs(self, on=True) - - -ida_ua.outctx_t.setup_outctx(): - - setup_outctx(self, prefix, flags) - - -ida_ua.outctx_t.stack_view(): - - stack_view(self) -> bool - - -ida_ua.outctx_t.term_outctx(): - - term_outctx(self, prefix=None) -> int - - -ida_ua.outctx_t.wif: - outctx_t_wif_get(self) -> printop_t - -ida_ua.outctx_t__from_ptrval__(): - - outctx_t__from_ptrval__(ptrval) -> outctx_t - - -ida_ua.print_insn_mnem(): - - print_insn_mnem(ea) -> bool - - - Print instruction mnemonics. - - @param ea: linear address of the instruction (C++: ea_t) - @return: success - - -ida_ua.print_operand(): - - 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: the item address (instruction or data) (C++: ea_t) - @param n: operand number (0,1,2...). meaningful only for instructions - (C++: int) - @param getn_flags (C++: int) - @param newtype: if specified, print the operand using the specified - type (C++: struct printop_t *) - @return: success - - -ida_ua.ua_mnem(): - - print_insn_mnem(ea) -> bool - - - Print instruction mnemonics. - - @param ea: linear address of the instruction (C++: ea_t) - @return: success - - - -=== ida_ua EPYDOC INJECTIONS === -ida_ua.FCBF_CONT -""" -don't stop on decoding, or any other kind of error -""" - -ida_ua.FCBF_DELIM -""" -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 -""" - -ida_ua.FCBF_ERR_REPL -""" -of a hex representation of the problematic byte - -in case of an error, use a CP_REPLCHAR instead -""" - -ida_ua.FCBF_FF_LIT -""" -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 -""" - -ida_ua.INSN_64BIT -""" -belongs to 64bit segment? -""" - -ida_ua.INSN_MACRO -""" -macro instruction -""" - -ida_ua.INSN_MODMAC -""" -may modify the database to make room for the macro insn -""" - -ida_ua.OF_NO_BASE_DISP -""" -base displacement doesn't exist. meaningful only for 'o_displ' type. -if set, base displacement ( 'op_t::addr' ) doesn't exist. -""" - -ida_ua.OF_NUMBER -""" -the operand can be converted to a number only -""" - -ida_ua.OF_OUTER_DISP -""" -outer displacement exists. meaningful only for 'o_displ' type. if set, -outer displacement ( 'op_t::value' ) exists. -""" - -ida_ua.OF_SHOW -""" -should the operand be displayed? -""" - -ida_ua.OOFS_IFSIGN -""" -output sign if needed -""" - -ida_ua.OOFS_NEEDSIGN -""" -always out sign (+-) -""" - -ida_ua.OOFS_NOSIGN -""" -don't output sign, forbid the user to change the sign -""" - -ida_ua.OOFW_16 -""" -16 bit width -""" - -ida_ua.OOFW_24 -""" -24 bit width -""" - -ida_ua.OOFW_32 -""" -32 bit width -""" - -ida_ua.OOFW_64 -""" -64 bit width -""" - -ida_ua.OOFW_8 -""" -8 bit width -""" - -ida_ua.OOFW_IMM -""" -take from x.dtype -""" - -ida_ua.OOF_ADDR -""" -output x.addr, otherwise x.value -""" - -ida_ua.OOF_ANYSERIAL -""" -if enum: select first available serial -""" - -ida_ua.OOF_NOBNOT -""" -prohibit use of binary not -""" - -ida_ua.OOF_NUMBER -""" -always as a number -""" - -ida_ua.OOF_OUTER -""" -output outer operand -""" - -ida_ua.OOF_SIGNED -""" -output as signed if < 0 -""" - -ida_ua.OOF_SIGNMASK -""" -sign symbol (+/-) output -""" - -ida_ua.OOF_SPACES -""" -currently works only for floating point numbers - -do not suppress leading spaces -""" - -ida_ua.OOF_WIDTHMASK -""" -width of value in bits -""" - -ida_ua.OOF_ZSTROFF -""" -meaningful only if is_stroff(uFlag) append a struct field name if the -field offset is zero? if 'AFL_ZSTROFF' is set, then this flag is -ignored. -""" - -ida_ua.PACK_FORM_DEF -""" -(! 'o_reg' + 'dt_packreal' ) - -packed factor defined. -""" - -ida_ua.dt_bitfild -""" -bit field (mc680x0) -""" - -ida_ua.dt_byte -""" -8 bit -""" - -ida_ua.dt_byte16 -""" -128 bit -""" - -ida_ua.dt_byte32 -""" -256 bit -""" - -ida_ua.dt_byte64 -""" -512 bit -""" - -ida_ua.dt_code -""" -ptr to code (not used?) -""" - -ida_ua.dt_double -""" -8 byte -""" - -ida_ua.dt_dword -""" -32 bit -""" - -ida_ua.dt_float -""" -4 byte -""" - -ida_ua.dt_fword -""" -48 bit -""" - -ida_ua.dt_ldbl -""" -long double (which may be different from tbyte) -""" - -ida_ua.dt_packreal -""" -packed real format for mc68040 -""" - -ida_ua.dt_qword -""" -64 bit -""" - -ida_ua.dt_string -""" -pointer to asciiz string -""" - -ida_ua.dt_tbyte -""" -variable size (\\ph{tbyte_size}) -""" - -ida_ua.dt_unicode -""" -pointer to unicode string -""" - -ida_ua.dt_void -""" -none -""" - -ida_ua.dt_word -""" -16 bit -""" -=== ida_ua EPYDOC INJECTIONS END === -ida_xref.add_cref(): - - add_cref(frm, to, type) -> bool - - - Create a code cross-reference. - - @param to: linear address of referenced instruction (C++: ea_t) - @param type: cross-reference type (C++: cref_t) - @return: success - - -ida_xref.add_dref(): - - add_dref(frm, to, type) -> bool - - - Create a data cross-reference. - - @param to: linear address of referenced data (C++: ea_t) - @param type: cross-reference type (C++: dref_t) - @return: success (may fail if user-defined xref exists from->to) - - -ida_xref.calc_switch_cases(): - - 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 xrange(len(results.cases)): - cur_case = results.cases[idx] - for cidx in xrange(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'. - - -class ida_xref.cases_and_targets_t(): - - Proxy of C++ cases_and_targets_t class - - -ida_xref.cases_and_targets_t.cases: - cases_and_targets_t_cases_get(self) -> casevec_t - -ida_xref.cases_and_targets_t.targets: - cases_and_targets_t_targets_get(self) -> eavec_t * - -class ida_xref.casevec_t(): - - Proxy of C++ qvector<(qvector<(sval_t)>)> class - - -ida_xref.casevec_t.add_unique(): - - add_unique(self, x) -> bool - - -ida_xref.casevec_t.append(): - - push_back(self, x) - push_back(self) -> qvector< signed-ea-like-numeric-type > & - - -ida_xref.casevec_t.at(): - - __getitem__(self, i) -> qvector< signed-ea-like-numeric-type > const & - - -ida_xref.casevec_t.begin(): - - begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator - - -ida_xref.casevec_t.capacity(): - - capacity(self) -> size_t - - -ida_xref.casevec_t.clear(): - - clear(self) - - -ida_xref.casevec_t.empty(): - - empty(self) -> bool - - -ida_xref.casevec_t.end(): - - end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator - - -ida_xref.casevec_t.erase(): - - erase(self, it) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - erase(self, first, last) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - - -ida_xref.casevec_t.extract(): - - extract(self) -> qvector< signed-ea-like-numeric-type > * - - -ida_xref.casevec_t.find(): - - find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator - - -ida_xref.casevec_t.grow(): - - grow(self, x=qvector< signed-ea-like-numeric-type >()) - - -ida_xref.casevec_t.has(): - - has(self, x) -> bool - - -ida_xref.casevec_t.inject(): - - inject(self, s, len) - - -ida_xref.casevec_t.insert(): - - insert(self, it, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator - - -ida_xref.casevec_t.pop_back(): - - pop_back(self) - - -ida_xref.casevec_t.push_back(): - - push_back(self, x) - push_back(self) -> qvector< signed-ea-like-numeric-type > & - - -ida_xref.casevec_t.qclear(): - - qclear(self) - - -ida_xref.casevec_t.reserve(): - - reserve(self, cnt) - - -ida_xref.casevec_t.resize(): - - resize(self, _newsize, x) - resize(self, _newsize) - - -ida_xref.casevec_t.size(): - - size(self) -> size_t - - -ida_xref.casevec_t.swap(): - - swap(self, r) - - -ida_xref.casevec_t.truncate(): - - truncate(self) - - -ida_xref.create_switch_table(): - - 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 - - -ida_xref.create_switch_xrefs(): - - 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 - - -ida_xref.del_cref(): - - del_cref(frm, to, expand) -> int - - - Delete a code cross-reference. - - @param to: linear address of referenced instruction (C++: ea_t) - @param expand: 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 (C++: bool) - - -ida_xref.del_dref(): - - del_dref(frm, to) - - - Delete a data cross-reference. - - @param to: linear address of referenced data (C++: ea_t) - - -ida_xref.delete_switch_table(): - - delete_switch_table(jump_ea, si) - - -ida_xref.get_first_cref_from(): - - 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!). - - @return: first referenced address. The lastXR variable contains type - of the reference. If the specified instruction doesn't - reference to other instructions then returns BADADDR . - - -ida_xref.get_first_cref_to(): - - 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: linear address of referenced instruction (C++: ea_t) - @return: linear address of the first referencing instruction or - BADADDR . The lastXR variable contains type of the - reference. - - -ida_xref.get_first_dref_from(): - - get_first_dref_from(frm) -> ea_t - - - Get first data referenced from the specified address. - - @return: linear address of first (lowest) data referenced from the - specified address. The lastXR variable contains type of the - reference. Return BADADDR if the specified instruction/data - doesn't reference to anything. - - -ida_xref.get_first_dref_to(): - - get_first_dref_to(to) -> ea_t - - - Get address of instruction/data referencing to the specified data. - - @param to: linear address of referencing instruction or data (C++: - ea_t) - @return: BADADDR if nobody refers to the specified data. The lastXR - variable contains type of the reference. - - -ida_xref.get_first_fcref_from(): - - get_first_fcref_from(frm) -> ea_t - - -ida_xref.get_first_fcref_to(): - - get_first_fcref_to(to) -> ea_t - - -ida_xref.get_next_cref_from(): - - get_next_cref_from(frm, current) -> ea_t - - - Get next instruction referenced from the specified instruction. - - @param current: linear address of current referenced instruction This - value is returned by get_first_cref_from() or - previous call to get_next_cref_from() functions. - (C++: ea_t) - @return: next referenced address or BADADDR . The lastXR variable - contains type of the reference. - - -ida_xref.get_next_cref_to(): - - get_next_cref_to(to, current) -> ea_t - - - Get next instruction referencing to the specified instruction. - - @param to: linear address of referenced instruction (C++: ea_t) - @param current: linear address of current referenced instruction This - value is returned by get_first_cref_to() or previous - call to get_next_cref_to() functions. (C++: ea_t) - @return: linear address of the next referencing instruction or - BADADDR . The lastXR variable contains type of the - reference. - - -ida_xref.get_next_dref_from(): - - get_next_dref_from(frm, current) -> ea_t - - - Get next data referenced from the specified address. - - @param current: linear address of current referenced data. This value - is returned by get_first_dref_from() or previous - call to get_next_dref_from() functions. (C++: ea_t) - @return: linear address of next data or BADADDR . The lastXR - variable contains type of the reference - - -ida_xref.get_next_dref_to(): - - get_next_dref_to(to, current) -> ea_t - - - Get address of instruction/data referencing to the specified data - - @param to: linear address of referencing instruction or data (C++: - ea_t) - @param current: current linear address. This value is returned by - get_first_dref_to() or previous call to - get_next_dref_to() functions. (C++: ea_t) - @return: BADADDR if nobody refers to the specified data. The lastXR - variable contains type of the reference. - - -ida_xref.get_next_fcref_from(): - - get_next_fcref_from(frm, current) -> ea_t - - -ida_xref.get_next_fcref_to(): - - get_next_fcref_to(to, current) -> ea_t - - -ida_xref.has_external_refs(): - - has_external_refs(pfn, ea) -> bool - - - Has a location external to the function references? - - - @param pfn (C++: func_t *) - @param ea (C++: ea_t) - - -class ida_xref.xrefblk_t(): - - Proxy of C++ xrefblk_t class - - -ida_xref.xrefblk_t.first_from(): - - first_from(self, _from, flags) -> bool - - -ida_xref.xrefblk_t.first_to(): - - first_to(self, _to, flags) -> bool - - -ida_xref.xrefblk_t.frm: - xrefblk_t_frm_get(self) -> ea_t - -ida_xref.xrefblk_t.iscode: - xrefblk_t_iscode_get(self) -> uchar - -ida_xref.xrefblk_t.next_from(): - - next_from(self) -> bool - next_from(self, _from, _to, flags) -> bool - - -ida_xref.xrefblk_t.next_to(): - - next_to(self) -> bool - next_to(self, _from, _to, flags) -> bool - - -ida_xref.xrefblk_t.to: - xrefblk_t_to_get(self) -> ea_t - -ida_xref.xrefblk_t.type: - xrefblk_t_type_get(self) -> uchar - -ida_xref.xrefblk_t.user: - xrefblk_t_user_get(self) -> uchar - -ida_xref.xrefchar(): - - xrefchar(xrtype) -> char - - - Get character describing the xref type. - - @param xrtype: combination of Cross-Reference type flags and a - cref_t of dref_t value (C++: char) - - - -=== ida_xref EPYDOC INJECTIONS === -ida_xref.XREF_ALL -""" -return all references -""" - -ida_xref.XREF_BASE -""" -Reference to the base part of an offset. -""" - -ida_xref.XREF_DATA -""" -return data references only -""" - -ida_xref.XREF_FAR -""" -don't return ordinary flow xrefs -""" - -ida_xref.XREF_MASK -""" -Mask to get xref type. -""" - -ida_xref.XREF_PASTEND -""" -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. -""" - -ida_xref.XREF_TAIL -""" -Reference to tail byte in extrn symbols. -""" - -ida_xref.XREF_USER -""" -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 -""" -=== ida_xref EPYDOC INJECTIONS END === -idc.AutoMark(): - - Plan to analyze an address - - -class idc.DeprecatedIDCError(): - - Exception for deprecated function calls - - -idc.EVAL_FAILURE(): - - Check the result of eval_idc() for evaluation failures - - @param code: result of eval_idc() - - @return: True if there was an evaluation error - - -idc.GetCommentEx(): - - get_cmt(ea, rptble) -> ssize_t - - - Get an indented comment. - - @param ea: linear address. may point to tail byte, the function will - find start of the item (C++: ea_t) - @param rptble: get repeatable comment? (C++: bool) - @return: size of comment or -1 - - -idc.GetDisasm(): - - 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. - - -idc.GetDouble(): - - 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 - - -idc.GetFloat(): - - 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 - - -idc.GetLocalType(): - - Retrieve a local type declaration - @param flags: any of PRTYPE_* constants - @return: local type as a C declaration or "" - - -idc.LoadFile(): - - 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 - - -idc.MakeVar(): - - Mark the location as "variable" - - @param ea: address to mark - - @return: None - - @note: All that IDA does is to mark the location as "variable". - Nothing else, no additional analysis is performed. - This function may disappear in the future. - - -idc.SaveFile(): - - 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 - - -idc.SetType(): - - 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. - - -idc.SizeOf(): - - Returns the size of the type. It is equivalent to IDC's sizeof(). - Use name, tp, fld = idc.parse_decl() ; SizeOf(tp) to retrieve the size - @return: -1 if typestring is not valid otherwise the size of the type - - -idc.add_auto_stkpnt(): - - Add automatical 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 - - -idc.add_bpt(): - - Add a new breakpoint - - @param ea: any address in the process memory space: - @param size: size of the breakpoint (irrelevant for software breakpoints): - @param bpttype: type of the breakpoint (one of BPT_... constants) - - @return: success - - @note: Only one breakpoint can exist at a given address. - - -idc.add_cref(): - - add_cref(frm, to, type) -> bool - - - Create a code cross-reference. - - @param to: linear address of referenced instruction (C++: ea_t) - @param type: cross-reference type (C++: cref_t) - @return: success - - -idc.add_default_til(): - - Load a type library - - @param name: name of type library. - @return: 1-ok, 0-failed. - - -idc.add_dref(): - - add_dref(frm, to, type) -> bool - - - Create a data cross-reference. - - @param to: linear address of referenced data (C++: ea_t) - @param type: cross-reference type (C++: dref_t) - @return: success (may fail if user-defined xref exists from->to) - - -idc.add_entry(): - - add_entry(ord, ea, name, makecode, flags=0x0) -> bool - - - Add an entry point to the list of entry points. - - @param ord: ordinal number if ordinal number is equal to 'ea' then - ordinal is not used (C++: uval_t) - @param ea: linear address (C++: ea_t) - @param name: name of entry point. If the specified location already - has a name, the old name will be appended to the regular - comment. If name == NULL, then the old name will be - retained. (C++: const char *) - @param makecode: should the kernel convert bytes at the entry point to - instruction(s) (C++: bool) - @param flags: See AEF_* (C++: int) - @return: success (currently always true) - - -idc.add_enum(): - - Add a new enum type - - @param idx: serial number of the new enum. - If another enum with the same serial number - exists, then all enums with serial - numbers >= the specified idx get their - serial numbers incremented (in other words, - the new enum is put in the middle of the list of enums). - - If idx >= get_enum_qty() or idx == idaapi.BADNODE - then the new enum is created at the end of - the list of enums. - - @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 - - -idc.add_enum_member(): - - 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 ida_enum.DEFMASK 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_*) - - -idc.add_func(): - - Create a function - - @param start: function bounds - @param end: function bounds - - If the function end address is BADADDR, then - IDA will try to determine the function bounds - automatically. IDA will define all necessary - instructions to determine the function bounds. - - @return: !=0 - ok - - @note: an instruction should be present at the start address - - -idc.add_hidden_range(): - - add_hidden_range(ea1, ea2, description, header, footer, color) -> bool - - - Mark a range of addresses as hidden. The range will be created in the - invisible state with the default color - - @param ea1: linear address of start of the address range (C++: ea_t) - @param ea2: linear address of end of the address range (C++: ea_t) - @param description: range parameters (C++: const char *) - @param header: range parameters (C++: const char *) - @param footer: range parameters (C++: const char *) - @param color (C++: bgcolor_t) - @return: success - - -idc.add_idc_hotkey(): - - add_idc_hotkey(hotkey, idcfunc) -> int - - - Add hotkey for IDC function ( 'ui_add_idckey' ). - - @param hotkey: hotkey name (C++: const char *) - @param idcfunc: IDC function name (C++: const char *) - @return: IDC hotkey error codes - - -idc.add_segm_ex(): - - 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 - - -idc.add_sourcefile(): - - 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: linear address of start of the address range (C++: ea_t) - @param ea2: linear address of end of the address range (excluded) - (C++: ea_t) - @param filename: name of source file. (C++: const char *) - @return: success - - -idc.add_struc(): - - Define a new structure type - - @param index: index of new structure type - If another structure has the specified index, - then index of that structure and all other - structures will be incremented, freeing the specifed - index. If index is == -1, then the biggest index - number will be used. - See get_first_struc_idx() for the explanation of - structure indices and IDs. - @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 - - -idc.add_struc_member(): - - 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 STRUC_ERROR_*) - - - -idc.add_user_stkpnt(): - - add_user_stkpnt(ea, delta) -> bool - - - Add user-defined SP register change point. - - @param ea: linear address where SP changes (C++: ea_t) - @param delta: difference between old and new values of SP (C++: - sval_t) - @return: success - - -idc.append_func_tail(): - - 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 - - -idc.apply_type(): - - 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 - - -idc.ask_yn(): - - ask_yn(deflt, format) -> int - - - Display a dialog box and get choice from "Yes", "No", "Cancel". - - @param deflt: default choice: one of Button IDs (C++: int) - @param format: The question in printf() style format (C++: const char - *) - @return: the selected button (one of Button IDs ). Esc key returns - ASKBTN_CANCEL . - - -idc.atoa(): - - Convert address value to a string - Return address in the form 'seg000:1234' - (the same as in line prefixes) - - @param ea: address to format - - -idc.attach_process(): - - 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' - }This function shouldn't be called as a request if 'NO_PROCESS' is - used. - - @param pid: PID of the process to attach to. If NO_PROCESS , a dialog - box will interactively ask the user for the process to - attach to. (C++: pid_t) - @param event_id (C++: int) - - -idc.auto_mark_range(): - - 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) - - -idc.auto_unmark(): - - 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) - - -idc.auto_wait(): - - 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) - - -idc.batch(): - - 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 - - -idc.byte_value(): - - 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. - - -idc.calc_gtn_flags(): - - Calculate flags for get_ea_name() function - - @param fromaddr: the referring address. May be BADADDR. - @param ea: linear address - - @return: flags - - -idc.call_system(): - - 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. - - -idc.can_exc_continue(): - - Can it continue after EXCEPTION event? - - @return: boolean - - -idc.check_bpt(): - - check_bpt(ea) -> int - - - Check the breakpoint at the specified address. - - @param ea (C++: ea_t) - @return: one of Breakpoint status codes - - -idc.choose_func(): - - 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 - - -idc.clear_trace(): - - Clear the current trace buffer - - -idc.create_align(): - - create_align(ea, length, alignment) -> bool - - - Alignment: 0 or 2..32. If it is 0, is will be calculated. - - - @param ea (C++: ea_t) - @param length (C++: asize_t) - @param alignment (C++: int) - - -idc.create_array(): - - Create array. - - @param name: The array name. - - @return: -1 in case of failure, a valid array_id otherwise. - - -idc.create_byte(): - - Convert the current item to a byte - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_custom_data(): - - 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) - - -idc.create_data(): - - create_data(ea, dataflag, size, tid) -> bool - - - Convert to data (byte, word, dword, etc). This function may be used to - create arrays. - - @param ea: linear address (C++: ea_t) - @param dataflag: type of data. Value of function byte_flag() , - word_flag() , etc. (C++: flags_t) - @param size: 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. (C++: asize_t) - @param tid: type id. If the specified type is a structure, then tid is - structure id. Otherwise should be BADNODE . (C++: tid_t) - @return: success - - -idc.create_double(): - - Convert the current item to a double floating point (8 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_dword(): - - Convert the current item to a double word (4 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_float(): - - Convert the current item to a floating point (4 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_insn(): - - 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: linear address (C++: ea_t) - @param out: the resulting instruction (C++: insn_t *) - @return: the length of the instruction or 0 - - -idc.create_oword(): - - Convert the current item to an octa word (16 bytes/128 bits) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_pack_real(): - - Convert the current item to a packed real (10 or 12 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_qword(): - - Convert the current item to a quadro word (8 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_strlit(): - - 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() - - -idc.create_struct(): - - 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 - - -idc.create_tbyte(): - - Convert the current item to a tbyte (10 or 12 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_word(): - - Convert the current item to a word (2 bytes) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.create_yword(): - - Convert the current item to a ymm word (32 bytes/256 bits) - - @param ea: linear address - - @return: 1-ok, 0-failure - - -idc.define_exception(): - - define_exception(code, name, desc, flags) -> char const * - - - Convenience function: define new exception code. - - @param code: exception code (cannot be 0) (C++: uint) - @param name: exception name (cannot be empty or NULL) (C++: const char - *) - @param desc: exception description (maybe NULL) (C++: const char *) - @param flags: combination of Exception info flags (C++: int) - @return: failure message or NULL. You must call store_exceptions() - if this function succeeds - - -idc.define_local_var(): - - 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. - - -idc.del_array_element(): - - 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. - - -idc.del_bpt(): - - Delete breakpoint - - @param ea: any address in the process memory space: - - @return: success - - -idc.del_cref(): - - del_cref(frm, to, expand) -> int - - - Delete a code cross-reference. - - @param to: linear address of referenced instruction (C++: ea_t) - @param expand: 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 (C++: bool) - - -idc.del_dref(): - - del_dref(frm, to) - - - Delete a data cross-reference. - - @param to: linear address of referenced data (C++: ea_t) - - -idc.del_enum(): - - del_enum(id) - - - Delete an enum type. - - - @param id (C++: enum_t) - - -idc.del_enum_member(): - - 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 ida_enum.DEFMASK as a bitmask - - @return: 1-ok, 0-failed - - -idc.del_extra_cmt(): - - del_extra_cmt(ea, what) - - -idc.del_fixup(): - - del_fixup(source) - - - Delete fixup information. - - - @param source (C++: ea_t) - - -idc.del_func(): - - del_func(ea) -> bool - - - Delete a function. - - @param ea: any address in the function entry chunk (C++: ea_t) - @return: success - - -idc.del_hash_string(): - - Delete a hash element. - - @param hash_id: The hash ID. - @param key: Key of an element - - @return: 1 upon success, 0 otherwise. - - -idc.del_hidden_range(): - - del_hidden_range(ea) -> bool - - - Delete hidden range. - - @param ea: any address in the hidden range (C++: ea_t) - @return: success - - -idc.del_idc_hotkey(): - - del_idc_hotkey(hotkey) -> bool - - - Delete IDC function hotkey ( 'ui_del_idckey' ). - - @param hotkey: hotkey name (C++: const char *) - - -idc.del_items(): - - Convert the current item to an explored item - - @param ea: linear address - @param flags: combination of DELIT_* constants - @param size: size of the range to undefine - - @return: None - - -idc.del_segm(): - - Delete a segment - - @param ea: any address in the segment - @param flags: combination of SEGMOD_* flags - - @return: boolean success - - -idc.del_selector(): - - 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: number of selector to remove from the translation - table (C++: sel_t) - - -idc.del_source_linnum(): - - del_source_linnum(ea) - - -idc.del_sourcefile(): - - del_sourcefile(ea) -> bool - - - Delete information about the source file. - - @param ea: linear address (C++: ea_t) - @return: success - - -idc.del_stkpnt(): - - Delete SP register change point - - @param func_ea: function start - @param ea: linear address - @return: 1-ok, 0-failed - - -idc.del_struc(): - - 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. - - -idc.del_struc_member(): - - 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. - - -idc.delete_all_segments(): - - Delete all segments, instructions, comments, i.e. everything - except values of bytes. - - -idc.delete_array(): - - Delete array, by its ID. - - @param array_id: The ID of the array to delete. - - -idc.demangle_name(): - - 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 - - -idc.detach_process(): - - detach_process() -> bool - - - Detach the debugger from the debugged process. \sq{Type, Asynchronous - function - available as Request, Notification, 'dbg_process_detach' } - - -idc.diff_trace_file(): - - diff_trace_file(nonnul_filename) -> bool - - - Show difference between the current trace and the one from 'filename'. - - -idc.enable_bpt(): - - enable_bpt(ea, enable=True) -> bool - enable_bpt(bptloc, enable=True) -> bool - - -idc.enable_tracing(): - - Enable step tracing - - @param trace_level: what kind of trace to modify - @param enable: 0: turn off, 1: turn on - - @return: success - - -idc.error(): - - error(format) - - - Display a fatal message in a message box and quit IDA - - @param format: message to print - - -idc.eval_idc(): - - 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 - - -idc.exit_process(): - - exit_process() -> bool - - - Terminate the debugging of the current process. \sq{Type, Asynchronous - function - available as Request, Notification, 'dbg_process_exit' } - - -idc.expand_struc(): - - 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: recalculate the locations where the structure - type is used - @return: != 0 - ok - - -idc.find_func_end(): - - 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 - - -idc.find_selector(): - - Find a selector which has the specifed 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 - - -idc.first_func_chunk(): - - 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 - - -idc.force_bl_call(): - - Force BL instruction to be a call - - @param ea: address of the BL instruction - - @return: 1-ok, 0-failed - - -idc.force_bl_jump(): - - 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 - - -idc.func_contains(): - - Does the given function contain the given address? - - @param func_ea: any address belonging to the function - @param ea: linear address - - @return: success - - -idc.gen_file(): - - 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 - - -idc.gen_flow_graph(): - - 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. - - -idc.gen_simple_call_chart(): - - 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 - - -idc.generate_disasm_line(): - - 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. - - -idc.get_array_element(): - - 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. - - -idc.get_array_id(): - - 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. - - -idc.get_bmask_cmt(): - - 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 - - -idc.get_bmask_name(): - - Get bitmask name (only for bitfields) - - @param enum_id: id of enum - @param bmask: bitmask of the constant - - @return: name of bitmask or None - - -idc.get_bookmark(): - - get_marked_pos(slot) -> ea_t - - -idc.get_bookmark_desc(): - - get_mark_comment(slot) -> PyObject * - - -idc.get_bpt_attr(): - - 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 - - -idc.get_bpt_ea(): - - Get breakpoint address - - @param n: number of breakpoint, is in range 0..get_bpt_qty()-1 - - @return: address of the breakpoint or BADADDR - - -idc.get_bpt_qty(): - - Get number of breakpoints. - - @return: number of breakpoints - - -idc.get_bpt_tev_ea(): - - 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)}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. - - @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a read, read/write or execution trace event. - - -idc.get_bytes(): - - 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 - - -idc.get_call_tev_callee(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a function call event. - - -idc.get_cmt(): - - get_cmt(ea, rptble) -> ssize_t - - - Get an indented comment. - - @param ea: linear address. may point to tail byte, the function will - find start of the item (C++: ea_t) - @param rptble: get repeatable comment? (C++: bool) - @return: size of comment or -1 - - -idc.get_color(): - - 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) - - -idc.get_curline(): - - Get the disassembly line at the cursor - - @return: string - - -idc.get_current_thread(): - - get_current_thread() -> thid_t - - - Get current thread ID. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - -idc.get_db_byte(): - - 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) - - -idc.get_debugger_event_cond(): - - get_debugger_event_cond() -> char const * - - -idc.get_entry(): - - get_entry(ord) -> ea_t - - - Get entry point address by its ordinal - - @param ord: ordinal number of entry point (C++: uval_t) - @return: address or BADADDR - - -idc.get_entry_name(): - - get_entry_name(ord) -> ssize_t - - - Get name of the entry point by its ordinal. - - @param ord: ordinal number of entry point (C++: uval_t) - @return: size of entry name or -1 - - -idc.get_entry_ordinal(): - - get_entry_ordinal(idx) -> uval_t - - - Get ordinal number of an entry point. - - @param idx: internal number of entry point. Should be in the range 0.. - get_entry_qty() -1 (C++: size_t) - @return: ordinal number or 0. - - -idc.get_entry_qty(): - - get_entry_qty() -> size_t - - - Get number of entry points. - - -idc.get_enum(): - - get_enum(name) -> enum_t - - - Get enum by name. - - - @param name (C++: const char *) - - -idc.get_enum_cmt(): - - get_enum_cmt(id, repeatable) -> ssize_t - - - Get enum comment. - - - @param id (C++: enum_t) - @param repeatable (C++: bool) - - -idc.get_enum_flag(): - - get_enum_flag(id) -> flags_t - - - Get flags determining the representation of the enum. (currently they - define the numeric base: octal, decimal, hex, bin) and signness. - - @param id (C++: enum_t) - - -idc.get_enum_idx(): - - get_enum_idx(id) -> uval_t - - - Get serial number of enum. The serial number determines the place of - the enum in the enum window. - - @param id (C++: enum_t) - - -idc.get_enum_member(): - - 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 ida_enum.DEFMASK as a bitmask - - @return: id of constant or -1 if error - - -idc.get_enum_member_bmask(): - - get_enum_member_bmask(id) -> bmask_t - - - Get bitmask of an enum member. - - - @param id (C++: const_t) - - -idc.get_enum_member_by_name(): - - get_enum_member_by_name(name) -> const_t - - - Get a reference to an enum member by its name. - - - @param name (C++: const char *) - - -idc.get_enum_member_cmt(): - - Get comment of a constant - - @param const_id: id of const - @param repeatable: 0:get regular comment, 1:get repeatable comment - - @return: comment string - - -idc.get_enum_member_enum(): - - get_enum_member_enum(id) -> enum_t - - - Get the parent enum of an enum member. - - - @param id (C++: const_t) - - -idc.get_enum_member_name(): - - Get name of a constant - - @param const_id: id of const - - Returns: name of constant - - -idc.get_enum_member_value(): - - get_enum_member_value(id) -> uval_t - - - Get value of an enum member. - - - @param id (C++: const_t) - - -idc.get_enum_name(): - - get_enum_name(id) -> ssize_t - - - Get name of enum. - - - @param id (C++: enum_t) - - -idc.get_enum_qty(): - - get_enum_qty() -> size_t - - - Get number of declared 'enum_t' types. - - -idc.get_enum_size(): - - get_enum_size(id) -> size_t - - - Get the number of the members of the enum. - - - @param id (C++: enum_t) - - -idc.get_enum_width(): - - get_enum_width(id) -> size_t - - - Get the width of a enum element allowed values: 0 - (unspecified),1,2,4,8,16,32,64 - - @param id (C++: enum_t) - - -idc.get_event_bpt_hea(): - - Get hardware address for BREAKPOINT event - - @return: hardware address - - -idc.get_event_ea(): - - Get ea for debug event - - @return: ea - - -idc.get_event_exc_code(): - - Get exception code for EXCEPTION event - - @return: exception code - - -idc.get_event_exc_ea(): - - Get address for EXCEPTION event - - @return: adress of exception - - -idc.get_event_exc_info(): - - Get info for EXCEPTION event - - @return: info string - - -idc.get_event_exit_code(): - - Get exit code for debug event - - @return: exit code for PROCESS_EXITED, THREAD_EXITED events - - -idc.get_event_id(): - - Get ID of debug event - - @return: event ID - - -idc.get_event_info(): - - Get debug event info - - @return: event info: for THREAD_STARTED (thread name) - for LIB_UNLOADED (unloaded library name) - for INFORMATION (message to display) - - -idc.get_event_module_base(): - - Get module base for debug event - - @return: module base - - -idc.get_event_module_name(): - - Get module name for debug event - - @return: module name - - -idc.get_event_module_size(): - - Get module size for debug event - - @return: module size - - -idc.get_event_pid(): - - Get process ID for debug event - - @return: process ID - - -idc.get_event_tid(): - - Get type ID for debug event - - @return: type ID - - -idc.get_extra_cmt(): - - get_extra_cmt(ea, what) -> ssize_t - - -idc.get_fchunk_attr(): - - 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 - - -idc.get_fchunk_referer(): - - Get a function chunk referer - - @param ea: any address in the chunk - @param idx: referer index (0..get_fchunk_attr(FUNCATTR_REFQTY)) - - @return: referer address or BADADDR - - -idc.get_first_bmask(): - - get_first_bmask(id) -> bmask_t - - - Get first bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @return: the smallest bitmask for enum, or DEFMASK - - -idc.get_first_cref_from(): - - 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!). - - @return: first referenced address. The lastXR variable contains type - of the reference. If the specified instruction doesn't - reference to other instructions then returns BADADDR . - - -idc.get_first_cref_to(): - - 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: linear address of referenced instruction (C++: ea_t) - @return: linear address of the first referencing instruction or - BADADDR . The lastXR variable contains type of the - reference. - - -idc.get_first_dref_from(): - - get_first_dref_from(frm) -> ea_t - - - Get first data referenced from the specified address. - - @return: linear address of first (lowest) data referenced from the - specified address. The lastXR variable contains type of the - reference. Return BADADDR if the specified instruction/data - doesn't reference to anything. - - -idc.get_first_dref_to(): - - get_first_dref_to(to) -> ea_t - - - Get address of instruction/data referencing to the specified data. - - @param to: linear address of referencing instruction or data (C++: - ea_t) - @return: BADADDR if nobody refers to the specified data. The lastXR - variable contains type of the reference. - - -idc.get_first_enum_member(): - - Get first constant in the enum - - @param enum_id: id of enum - @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) - - @return: value of constant or idaapi.BADNODE no constants are defined - All constants are sorted by their values as unsigned longs. - - -idc.get_first_fcref_from(): - - get_first_fcref_from(frm) -> ea_t - - -idc.get_first_fcref_to(): - - get_first_fcref_to(to) -> ea_t - - -idc.get_first_hash_key(): - - Get the first key in the hash. - - @param hash_id: The hash ID. - - @return: the key, 0 otherwise. - - -idc.get_first_index(): - - 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. - - -idc.get_first_member(): - - Get offset of the first member of a structure - - @param sid: structure type ID - - @return: -1 if bad structure type ID is passed, - ida_idaapi.BADADDR if structure has no members, - otherwise returns offset of the first member. - - @note: IDA allows 'holes' between members of a - structure. It treats these 'holes' - as unnamed arrays of bytes. - - @note: Union members are, in IDA's internals, located - at subsequent byte offsets: member 0 -> offset 0x0, - member 1 -> offset 0x1, etc... - - -idc.get_first_module(): - - Enumerate process modules - - @return: first module's base address or None on failure - - -idc.get_first_seg(): - - Get first segment - - @return: address of the start of the first segment - BADADDR - no segments are defined - - -idc.get_first_struc_idx(): - - get_first_struc_idx() -> uval_t - - - Get index of first structure. - - @return: BADADDR if no known structures, 0 otherwise - - -idc.get_fixup_target_dis(): - - Get fixup target displacement - - @param ea: address to get information about - - @return: 0 - no fixup at the specified address - otherwise returns fixup target displacement - - -idc.get_fixup_target_flags(): - - Get fixup target flags - - @param ea: address to get information about - - @return: 0 - no fixup at the specified address - otherwise returns fixup target flags - - -idc.get_fixup_target_off(): - - Get fixup target offset - - @param ea: address to get information about - - @return: BADADDR - no fixup at the specified address - otherwise returns fixup target offset - - -idc.get_fixup_target_sel(): - - Get fixup target selector - - @param ea: address to get information about - - @return: BADSEL - no fixup at the specified address - otherwise returns fixup target selector - - -idc.get_fixup_target_type(): - - Get fixup target type - - @param ea: address to get information about - - @return: 0 - no fixup at the specified address - otherwise returns fixup type - - -idc.get_forced_operand(): - - get_forced_operand(ea, n) -> ssize_t - - - Get forced operand. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, 2) (C++: int) - @return: size of forced operand or -1 - - -idc.get_frame_args_size(): - - 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 does't exist, return -1 - - -idc.get_frame_id(): - - 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. - - -idc.get_frame_lvar_size(): - - 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 does't exist, return None - - -idc.get_frame_regs_size(): - - 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 does't exist, return None - - -idc.get_frame_size(): - - 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 does't exist, return 0 - - -idc.get_full_flags(): - - get_full_flags(ea) -> flags_t - - - Get flags value for address 'ea'. - - @param ea (C++: ea_t) - @return: 0 if address is not present in the program - - -idc.get_func_attr(): - - 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 - - -idc.get_func_cmt(): - - 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 - - -idc.get_func_flags(): - - Retrieve function flags - - @param ea: any address belonging to the function - - @return: -1 - function doesn't exist otherwise returns the flags - - -idc.get_func_name(): - - Retrieve function name - - @param ea: any address belonging to the function - - @return: null string - function doesn't exist - otherwise returns function name - - -idc.get_func_off_str(): - - 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 - - -idc.get_hash_long(): - - 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. - - -idc.get_hash_string(): - - 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. - - -idc.get_idb_path(): - - Get IDB full path - - This function returns full path of the current IDB database - - -idc.get_inf_attr(): - - - -idc.get_input_file_path(): - - get_input_file_path() -> ssize_t - - - Get full path of the input file. - - -idc.get_item_end(): - - 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) - - -idc.get_item_head(): - - 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) - - -idc.get_item_size(): - - Get size of instruction or data item in bytes - - @param ea: linear address - - @return: 1..n - - -idc.get_last_bmask(): - - get_last_bmask(id) -> bmask_t - - - Get last bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @return: the biggest bitmask for enum, or DEFMASK - - -idc.get_last_enum_member(): - - Get last constant in the enum - - @param enum_id: id of enum - @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) - - @return: value of constant or idaapi.BADNODE no constants are defined - All constants are sorted by their values - as unsigned longs. - - -idc.get_last_hash_key(): - - Get the last key in the hash. - - @param hash_id: The hash ID. - - @return: the key, 0 otherwise. - - -idc.get_last_index(): - - 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. - - -idc.get_last_member(): - - Get offset of the last member of a structure - - @param sid: structure type ID - - @return: -1 if bad structure type ID is passed, - ida_idaapi.BADADDR if structure has no members, - otherwise returns offset of the last member. - - @note: IDA allows 'holes' between members of a - structure. It treats these 'holes' - as unnamed arrays of bytes. - - @note: Union members are, in IDA's internals, located - at subsequent byte offsets: member 0 -> offset 0x0, - member 1 -> offset 0x1, etc... - - -idc.get_last_struc_idx(): - - get_last_struc_idx() -> uval_t - - - Get index of last structure. - - @return: BADADDR if no known structures, get_struc_qty() -1 - otherwise - - -idc.get_local_tinfo(): - - Get local type information as 'typeinfo' object - - @param ordinal: slot number (1...NumberOfLocalTypes) - @return: None on failure, or (type, fields) tuple. - - -idc.get_manual_insn(): - - get_manual_insn(ea) -> ssize_t - - - Retrieve the user-specified string for the manual instruction. - - @param ea: linear address of the instruction or data item (C++: ea_t) - @return: size of manual instruction or -1 - - -idc.get_member_cmt(): - - 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: 1: get repeatable comment - 0: get regular comment - - @return: None if bad structure type ID is passed - or no such member in the structure - otherwise returns comment of the specified member. - - -idc.get_member_flag(): - - Get type 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 type of the member, see bit - definitions above. If the member type is a structure - then function GetMemberStrid() should be used to - get the structure type id. - - -idc.get_member_id(): - - @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. - - -idc.get_member_name(): - - 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. - - -idc.get_member_offset(): - - 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... - - -idc.get_member_qty(): - - 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. - - @note: Union members are, in IDA's internals, located - at subsequent byte offsets: member 0 -> offset 0x0, - member 1 -> offset 0x1, etc... - - -idc.get_member_size(): - - 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. - - -idc.get_member_strid(): - - 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. - - -idc.get_min_spd_ea(): - - 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 - - -idc.get_module_name(): - - Get process module name - - @param base: the base address of the module - - @return: required info or None - - -idc.get_module_size(): - - Get process module size - - @param base: the base address of the module - - @return: required info or -1 - - -idc.get_name(): - - 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 - - -idc.get_name_ea(): - - get_name_ea(_from, name) -> ea_t - - - Get address of the name. Dummy names (like byte_xxxx where xxxx are - hex digits) are parsed by this function to obtain the address. The - database is not consulted for them. This function works only with - regular names. - - @param _from: linear address where the name is used. if not - applicable, then should be BADADDR . (C++: ea_t) - @param name: any name in the program or NULL (C++: const char *) - @return: address of the name or BADADDR - - -idc.get_name_ea_simple(): - - Get linear address of a name - - @param name: name of program byte - - @return: address of the name - BADADDR - No such name - - -idc.get_next_bmask(): - - get_next_bmask(id, bmask) -> bmask_t - - - Get next bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @param bmask (C++: bmask_t) - @return: value of a bitmask with value higher than the specified - value, or DEFMASK - - -idc.get_next_cref_from(): - - get_next_cref_from(frm, current) -> ea_t - - - Get next instruction referenced from the specified instruction. - - @param current: linear address of current referenced instruction This - value is returned by get_first_cref_from() or - previous call to get_next_cref_from() functions. - (C++: ea_t) - @return: next referenced address or BADADDR . The lastXR variable - contains type of the reference. - - -idc.get_next_cref_to(): - - get_next_cref_to(to, current) -> ea_t - - - Get next instruction referencing to the specified instruction. - - @param to: linear address of referenced instruction (C++: ea_t) - @param current: linear address of current referenced instruction This - value is returned by get_first_cref_to() or previous - call to get_next_cref_to() functions. (C++: ea_t) - @return: linear address of the next referencing instruction or - BADADDR . The lastXR variable contains type of the - reference. - - -idc.get_next_dref_from(): - - get_next_dref_from(frm, current) -> ea_t - - - Get next data referenced from the specified address. - - @param current: linear address of current referenced data. This value - is returned by get_first_dref_from() or previous - call to get_next_dref_from() functions. (C++: ea_t) - @return: linear address of next data or BADADDR . The lastXR - variable contains type of the reference - - -idc.get_next_dref_to(): - - get_next_dref_to(to, current) -> ea_t - - - Get address of instruction/data referencing to the specified data - - @param to: linear address of referencing instruction or data (C++: - ea_t) - @param current: current linear address. This value is returned by - get_first_dref_to() or previous call to - get_next_dref_to() functions. (C++: ea_t) - @return: BADADDR if nobody refers to the specified data. The lastXR - variable contains type of the reference. - - -idc.get_next_enum_member(): - - Get next constant in the enum - - @param enum_id: id of enum - @param bmask: bitmask of the constant ordinary enums accept only ida_enum.DEFMASK as a bitmask - @param value: value of the current constant - - @return: value of a constant with value higher than the specified - value. idaapi.BADNODE no such constants exist. - All constants are sorted by their values as unsigned longs. - - -idc.get_next_fchunk(): - - 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 - - -idc.get_next_fcref_from(): - - get_next_fcref_from(frm, current) -> ea_t - - -idc.get_next_fcref_to(): - - get_next_fcref_to(to, current) -> ea_t - - -idc.get_next_fixup_ea(): - - get_next_fixup_ea(ea) -> ea_t - - - Find next address with fixup information - - @param ea: current address (C++: ea_t) - @return: the next address with fixup information, or BADADDR - - -idc.get_next_func(): - - Find next function - - @param ea: any address belonging to the function - - @return: BADADDR - no more functions - otherwise returns the next function start address - - -idc.get_next_hash_key(): - - Get the next key in the hash. - - @param hash_id: The hash ID. - @param key: The current key. - - @return: the next key, 0 otherwise - - -idc.get_next_index(): - - 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. - - -idc.get_next_module(): - - Enumerate process modules - - @param base: previous module's base address - - @return: next module's base address or None on failure - - -idc.get_next_offset(): - - Get next offset in a structure - - @param sid: structure type ID - @param offset: current offset - - @return: -1 if bad structure type ID is passed, - ida_idaapi.BADADDR if no (more) offsets in the structure, - otherwise returns next offset in a structure. - - @note: IDA allows 'holes' between members of a - structure. It treats these 'holes' - as unnamed arrays of bytes. - This function returns a member offset or a hole offset. - It will return size of the structure if input - 'offset' belongs to the last member of the structure. - - @note: Union members are, in IDA's internals, located - at subsequent byte offsets: member 0 -> offset 0x0, - member 1 -> offset 0x1, etc... - - -idc.get_next_seg(): - - Get next segment - - @param ea: linear address - - @return: start of the next segment - BADADDR - no next segment - - -idc.get_next_struc_idx(): - - get_next_struc_idx(idx) -> uval_t - - - Get next struct index. - - @param idx (C++: uval_t) - @return: BADADDR if resulting index is out of bounds, otherwise idx++ - - -idc.get_numbered_type_name(): - - Retrieve a local type name - - @param ordinal: slot number (1...NumberOfLocalTypes) - - returns: local type name or None - - -idc.get_operand_type(): - - 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 - - -idc.get_operand_value(): - - 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 - - -idc.get_ordinal_qty(): - - Get number of local types + 1 - - @return: value >= 1. 1 means that there are no local types. - - -idc.get_original_byte(): - - 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) - - -idc.get_prev_bmask(): - - get_prev_bmask(id, bmask) -> bmask_t - - - Get prev bitmask in the enum (bitfield) - - @param id (C++: enum_t) - @param bmask (C++: bmask_t) - @return: value of a bitmask with value lower than the specified value, - or DEFMASK - - -idc.get_prev_enum_member(): - - Get prev constant in the enum - - @param enum_id: id of enum - @param bmask : bitmask of the constant - ordinary enums accept only ida_enum.DEFMASK as a bitmask - @param value: value of the current constant - - @return: value of a constant with value lower than the specified - value. idaapi.BADNODE no such constants exist. - All constants are sorted by their values as unsigned longs. - - -idc.get_prev_fchunk(): - - 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 - - -idc.get_prev_fixup_ea(): - - get_prev_fixup_ea(ea) -> ea_t - - - Find previous address with fixup information - - @param ea: current address (C++: ea_t) - @return: the previous address with fixup information, or BADADDR - - -idc.get_prev_func(): - - Find previous function - - @param ea: any address belonging to the function - - @return: BADADDR - no more functions - otherwise returns the previous function start address - - -idc.get_prev_hash_key(): - - Get the previous key in the hash. - - @param hash_id: The hash ID. - @param key: The current key. - - @return: the previous key, 0 otherwise - - -idc.get_prev_index(): - - 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. - - -idc.get_prev_offset(): - - Get previous offset in a structure - - @param sid: structure type ID - @param offset: current offset - - @return: -1 if bad structure type ID is passed, - ida_idaapi.BADADDR if no (more) offsets in the structure, - otherwise returns previous offset in a structure. - - @note: IDA allows 'holes' between members of a - structure. It treats these 'holes' - as unnamed arrays of bytes. - This function returns a member offset or a hole offset. - It will return size of the structure if input - 'offset' is bigger than the structure size. - - @note: Union members are, in IDA's internals, located - at subsequent byte offsets: member 0 -> offset 0x0, - member 1 -> offset 0x1, etc... - - -idc.get_prev_struc_idx(): - - get_prev_struc_idx(idx) -> uval_t - - - Get previous struct index. - - @param idx (C++: uval_t) - @return: BADADDR if resulting index is negative, otherwise idx - 1 - - -idc.get_process_state(): - - 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 - - -idc.get_processes(): - - 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 *) - @return: number of processes or -1 on error - - -idc.get_qword(): - - get_qword(ea) -> uint64 - - - Get one qword (64-bit) of the program at 'ea'. This function takes - into account order of bytes specified in \inf{is_be()} This function - works only for 8bit byte processors. - - @param ea (C++: ea_t) - - -idc.get_reg_value(): - - Get register value - - @param name: the register name - - @note: The debugger should be running. otherwise the function fails - the register name should be valid. - It is not necessary to use this function to get register values - because a register name in the script will do too. - - @return: register value (integer or floating point) - - -idc.get_ret_tev_return(): - - 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 - represents the latest added trace event. (C++: int) - @return: BADADDR if not a function return event. - - -idc.get_root_filename(): - - get_root_filename() -> ssize_t - - - Get file name only of the input file. - - -idc.get_screen_ea(): - - get_screen_ea() -> ea_t - - - Get the address at the screen cursor ( 'ui_screenea' ) - - -idc.get_segm_attr(): - - Get segment attribute - - @param segea: any address within segment - @param attr: one of SEGATTR_... constants - - -idc.get_segm_by_sel(): - - 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 - - -idc.get_segm_end(): - - 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 - - -idc.get_segm_name(): - - Get name of a segment - - @param ea: any address in the segment - - @return: "" - no segment at the specified address - - -idc.get_segm_start(): - - 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 - - -idc.get_source_linnum(): - - get_source_linnum(ea) -> uval_t - - -idc.get_sourcefile(): - - get_sourcefile(ea, bounds=None) -> char const * - - - Get name of source file occupying the given address. - - @param ea: linear address (C++: ea_t) - @param bounds: pointer to the output buffer with the address range for - the current file. May be NULL. (C++: range_t *) - @return: NULL if source file information is not found, otherwise - returns pointer to file name - - -idc.get_sp_delta(): - - 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 - - -idc.get_spd(): - - 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 - - -idc.get_sreg(): - - 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. - - -idc.get_step_trace_options(): - - get_step_trace_options() -> int - - - Get current step tracing options. \sq{Type, Synchronous function, - Notification, none (synchronous function)} - - @return: Step trace options - - -idc.get_str_type(): - - Get string type - - @param ea: linear address - - @return: One of STRTYPE_... constants - - -idc.get_strlit_contents(): - - 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 - - -idc.get_struc_by_idx(): - - get_struc_by_idx(idx) -> tid_t - - - Get struct id by struct number. - - - @param idx (C++: uval_t) - - -idc.get_struc_cmt(): - - get_struc_cmt(id, repeatable) -> ssize_t - - - Get struct comment. - - - @param id (C++: tid_t) - @param repeatable (C++: bool) - - -idc.get_struc_id(): - - get_struc_id(name) -> tid_t - - - Get struct id by name. - - - @param name (C++: const char *) - - -idc.get_struc_idx(): - - get_struc_idx(id) -> uval_t - - - Get internal number of the structure. - - - @param id (C++: tid_t) - - -idc.get_struc_name(): - - get_struc_name(id) -> ssize_t - - - Get struct name by id. - - - @param id (C++: tid_t) - - -idc.get_struc_qty(): - - get_struc_qty() -> size_t - - - Get number of known structures. - - -idc.get_struc_size(): - - get_struc_size(sptr) -> asize_t - get_struc_size(id) -> asize_t - - - Get struct size (also see 'get_struc_size(tid_t)' ) - - - @param sptr (C++: const struc_t *) - - -idc.get_tev_ea(): - - get_tev_ea(n) -> ea_t - - -idc.get_tev_qty(): - - get_tev_qty() -> int - - - Get number of trace events available in trace buffer. \sq{Type, - Synchronous function, Notification, none (synchronous function)} - - -idc.get_tev_tid(): - - get_tev_tid(n) -> int - - -idc.get_tev_type(): - - get_tev_type(n) -> int - - -idc.get_thread_qty(): - - get_thread_qty() -> int - - - Get number of threads. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - -idc.get_tinfo(): - - Get type information of function/variable as 'typeinfo' object - - @param ea: the address of the object - @return: None on failure, or (type, fields) tuple. - - -idc.get_trace_file_desc(): - - get_trace_file_desc(filename) -> bool - - - Get the file header of the specified trace file. - - - @param filename (C++: const char *) - - -idc.get_type(): - - Get type of function/variable - - @param ea: the address of the object - - @return: type string or None if failed - - -idc.get_wide_byte(): - - 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) - - -idc.get_wide_dword(): - - 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 - \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 - - @param ea (C++: ea_t) - - -idc.get_wide_word(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - - -idc.get_xref_type(): - - Return type of the last xref obtained by - [RD]first/next[B0] functions. - - @return: constants fl_* or dr_* - - -idc.getn_enum(): - - getn_enum(n) -> enum_t - - - Get enum by its ordinal number (0..n). - - - @param n (C++: size_t) - - -idc.getn_thread(): - - getn_thread(n) -> thid_t - - - Get the ID of a thread. \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: - int) - @return: NO_THREAD if the thread doesn't exist. - - -idc.getn_thread_name(): - - getn_thread_name(n) -> char const * - - - Get the NAME of a thread \sq{Type, Synchronous function, Notification, - none (synchronous function)} - - @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 - for the current thread (C++: int) - @return: thread name or NULL if the thread doesn't exist. - - -idc.guess_type(): - - 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 - - -idc.idadir(): - - Get IDA directory - - This function returns the directory where IDA.EXE resides - - -idc.import_type(): - - Copy information from type library to database - Copy structure, union, or enum definition from the type library - to the IDA database. - - @param idx: the position of the new type in the list of - types (structures or enums) -1 means at the end of the list - @param type_name: name of type to copy - - @return: BADNODE-failed, otherwise the type id (structure id or enum id) - - -idc.is_bf(): - - is_bf(id) -> bool - - - Is enum a bitfield? (otherwise - plain enum, no bitmasks except for - 'DEFMASK' are allowed) - - @param id (C++: enum_t) - - -idc.is_event_handled(): - - Is the debug event handled? - - @return: boolean - - -idc.is_loaded(): - Is the byte initialized? - -idc.is_union(): - - Is a structure a union? - - @param sid: structure type ID - - @return: 1: yes, this is a union id - 0: no - - @note: Unions are a special kind of structures - - -idc.is_valid_trace_file(): - - is_valid_trace_file(filename) -> bool - - - Is the specified file a valid trace file for the current database? - - - @param filename (C++: const char *) - - -idc.jumpto(): - - jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool - jumpto(custom_viewer, place, x, y) -> bool - - - Jump to the specified address ( 'ui_jumpto' ). - - @param ea: destination (C++: ea_t) - @param opnum: -1: don't change x coord (C++: int) - @param uijmp_flags: Jump flags (C++: int) - @return: success - - -idc.load_and_run_plugin(): - - load_and_run_plugin(name, arg) -> bool - - - Load & run a plugin. - - - @param name (C++: const char *) - @param arg (C++: size_t) - - -idc.load_debugger(): - - load_debugger(dbgname, use_remote) -> bool - - -idc.load_trace_file(): - - load_trace_file(filename) -> bool - - - Load a recorded trace file in the trace 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 *) - - -idc.make_array(): - - 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. - - -idc.move_segm(): - - 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 - - -idc.msg(): - - msg(o) -> PyObject * - - - 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 - - -idc.next_addr(): - - 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. - - -idc.next_func_chunk(): - - 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 - - -idc.next_head(): - - 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 - - -idc.next_not_tail(): - - next_not_tail(ea) -> ea_t - - - Get address of next non-tail byte. - - @param ea (C++: ea_t) - @return: BADADDR if none exists. - - -idc.op_bin(): - - op_bin(ea, n) -> bool - - - set op type to 'bin_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_chr(): - - op_chr(ea, n) -> bool - - - set op type to 'char_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_dec(): - - op_dec(ea, n) -> bool - - - set op type to 'dec_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_enum(): - - op_enum(ea, n, id, serial) -> bool - - - Set operand representation to be 'enum_t'. If applied to unexplored - bytes, converts them to 16/32bit word data - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @param id: id of enum (C++: enum_t) - @param serial: 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 (C++: uchar) - @return: success - - -idc.op_flt(): - - op_flt(ea, n) -> bool - - - set op type to 'flt_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_hex(): - - op_hex(ea, n) -> bool - - - set op type to 'hex_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_man(): - - set_forced_operand(ea, n, op) -> bool - - - Set forced operand. - - @param ea: linear address (C++: ea_t) - @param n: number of operand (0, 1, 2) (C++: int) - @param op: text of operand NULL: do nothing (return 0) "" : delete - forced operand (C++: const char *) - @return: success - - -idc.op_num(): - - op_num(ea, n) -> bool - - - set op type to 'num_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_oct(): - - op_oct(ea, n) -> bool - - - set op type to 'oct_flag()' - - - @param ea (C++: ea_t) - @param n (C++: int) - - -idc.op_offset(): - - op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int - - - See 'op_offset_ex()' - - - @param ea (C++: ea_t) - @param n (C++: int) - @param type (C++: reftype_t) - @param target (C++: ea_t) - @param base (C++: ea_t) - @param tdelta (C++: adiff_t) - - -idc.op_offset_high16(): - - 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 - - -idc.op_plain_offset(): - - 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 - - -idc.op_seg(): - - 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: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: success - - -idc.op_stkvar(): - - 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: linear address (C++: ea_t) - @param n: number of operand (0, 1, -1) (C++: int) - @return: success - - -idc.op_stroff(): - - 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. - - - -idc.parse_decl(): - - 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 - - -idc.parse_decls(): - - 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) - - -idc.patch_byte(): - - 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. - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -idc.patch_dbg_byte(): - - put_dbg_byte(ea, x) -> bool - - - Change one byte of the debugged process memory. - - @param ea: linear address (C++: ea_t) - @param x: byte value (C++: uint32) - @return: true if the process memory has been modified - - -idc.patch_dword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -idc.patch_qword(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -idc.patch_word(): - - 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 \inf{is_be()} - - @param ea (C++: ea_t) - @param x (C++: uint64) - - -idc.plan_and_wait(): - - 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. - - -idc.plan_to_apply_idasgn(): - - plan_to_apply_idasgn(fname) -> int - - - Add a signature file to the list of planned signature files. - - @param fname: file name. should not contain directory part. (C++: - const char *) - @return: 0 if failed, otherwise number of planned (and applied) - signatures - - -idc.prev_addr(): - - prev_addr(ea) -> ea_t - - - Get previous address in the program. - - @param ea (C++: ea_t) - @return: BADADDR if no such address exist. - - -idc.prev_head(): - - 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 - - -idc.prev_not_tail(): - - prev_not_tail(ea) -> ea_t - - - Get address of previous non-tail byte. - - @param ea (C++: ea_t) - @return: BADADDR if none exists. - - -idc.print_decls(): - - 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 - - -idc.print_insn_mnem(): - - 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. - - -idc.print_operand(): - - 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 "" - - -idc.process_config_line(): - - Parse one or more ida.cfg config directives - @param directive: directives to process, for example: PACK_DATABASE=2 - - @note: If the directives are erroneous, a fatal error will be generated. - The settings are permanent: effective for the current session and the next ones - - -idc.process_ui_action(): - - Invokes an IDA UI action by name - - @param name: Command name - @param flags: Reserved. Must be zero - @return: Boolean - - -idc.put_bookmark(): - - mark_position(ea, lnnum, x, y, slot, comment) - - -idc.qexit(): - - qexit(code) - - - Call qatexit functions, shut down UI and kernel, and exit. - - @param code: exit code (C++: int) - - -idc.qsleep(): - - qsleep the specified number of milliseconds - This function suspends IDA for the specified amount of time - - @param milliseconds: time to sleep - - -idc.read_dbg_byte(): - - Get value of program byte using the debugger memory - - @param ea: linear address - @return: The value or None on failure. - - -idc.read_dbg_dword(): - - Get value of program double-word using the debugger memory - - @param ea: linear address - @return: The value or None on failure. - - -idc.read_dbg_memory(): - - dbg_read_memory(py_ea, py_sz) -> PyObject * - - - Reads from the debugee's memory at the specified ea - @return: - - The read buffer (as a string) - - Or None on failure - - -idc.read_dbg_qword(): - - Get value of program quadro-word using the debugger memory - - @param ea: linear address - @return: The value or None on failure. - - -idc.read_dbg_word(): - - Get value of program word using the debugger memory - - @param ea: linear address - @return: The value or None on failure. - - -idc.read_selection_end(): - - Get end address of the selected range - - @return: BADADDR - the user has not selected an range - - -idc.read_selection_start(): - - Get start address of the selected range - returns BADADDR - the user has not selected an range - - -idc.rebase_program(): - - rebase_program(delta, flags) -> int - - - Rebase the whole program by 'delta' bytes. - - @param delta: number of bytes to move the program (C++: adiff_t) - @param flags: Move segment flags it is recommended to use - MSF_FIXONCE so that the loader takes care of global - variables it stored in the database (C++: int) - @return: Move segment result codes - - -idc.recalc_spd(): - - 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: linear address of the current instruction (C++: ea_t) - - -idc.refresh_debugger_memory(): - - refresh_debugger_memory() -> PyObject * - - - Refreshes the debugger memory - @return: Nothing - - -idc.refresh_idaview_anyway(): - - refresh_idaview_anyway() - - - Refresh all disassembly views ( 'ui_refresh' ), forces an immediate - refresh. Please consider 'request_refresh()' instead - - -idc.refresh_lists(): - - refresh_choosers() - - -idc.remove_fchunk(): - - 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 - - -idc.rename_array(): - - 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 - - -idc.rename_entry(): - - rename_entry(ord, name, flags=0x0) -> bool - - - Rename entry point. - - @param ord: ordinal number of the entry point (C++: uval_t) - @param name: name of entry point. If the specified location already - has a name, the old name will be appended to a repeatable - comment. (C++: const char *) - @param flags: See AEF_* (C++: int) - @return: success - - -idc.resume_thread(): - - resume_thread(tid) -> int - - - Resume thread. \sq{Type, Synchronous function - available as request, - Notification, none (synchronous function)} - - @param tid: thread id (C++: thid_t) - - -idc.retrieve_input_file_md5(): - - retrieve_input_file_md5() -> bool - - - Get input file md5. - - -idc.rotate_left(): - - 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 - - -idc.run_to(): - - 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: target address (C++: ea_t) - @param pid: not used yet. please do not specify this parameter. (C++: - pid_t) - @param tid: not used yet. please do not specify this parameter. (C++: - thid_t) - - -idc.save_database(): - - 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 - - -idc.save_trace_file(): - - save_trace_file(filename, description) -> bool - - - Save the current trace in the specified file. - - - @param filename (C++: const char *) - @param description (C++: const char *) - - -idc.sel2para(): - - 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 - - -idc.select_thread(): - - 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: ID of the thread to select (C++: thid_t) - @return: false if the thread doesn't exist. - - -idc.selector_by_name(): - - Get segment selector by name - - @param segname: name of segment - - @return: segment selector or BADADDR - - -idc.send_dbg_command(): - 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. - - -idc.set_array_long(): - - 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 - - -idc.set_array_params(): - - 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 - - -idc.set_array_string(): - - 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 - - -idc.set_bmask_cmt(): - - Set bitmask comment (only for bitfields) - - @param enum_id: id of enum - @param bmask: bitmask of the constant - @param cmt: comment - repeatable - type of comment, 0-regular, 1-repeatable - - @return: 1-ok, 0-failed - - -idc.set_bmask_name(): - - Set bitmask name (only for bitfields) - - @param enum_id: id of enum - @param bmask: bitmask of the constant - @param name: name of bitmask - - @return: 1-ok, 0-failed - - -idc.set_bpt_attr(): - - 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 attibute value - - @return: success - - -idc.set_bpt_cond(): - - 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 - - -idc.set_cmt(): - - set_cmt(ea, comm, rptble) -> bool - - - Set an indented comment. - - @param ea: linear address (C++: ea_t) - @param comm: comment string NULL: do nothing (return 0) "" : - delete comment (C++: const char *) - @param rptble: is repeatable? (C++: bool) - @return: success - - -idc.set_color(): - - 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) - - -idc.set_debugger_event_cond(): - - set_debugger_event_cond(nonnul_cond) - - -idc.set_debugger_options(): - - 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 - - -idc.set_default_sreg_value(): - - 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. - - -idc.set_enum_bf(): - - set_enum_bf(id, bf) -> bool - - - Set 'bitfield' bit of enum (i.e. convert it to a bitfield) - - - @param id (C++: enum_t) - @param bf (C++: bool) - - -idc.set_enum_cmt(): - - set_enum_cmt(id, cmt, repeatable) -> bool - - - Set comment for enum type. - - - @param id (C++: enum_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -idc.set_enum_flag(): - - set_enum_flag(id, flag) -> bool - - - Set data representation flags. - - - @param id (C++: enum_t) - @param flag (C++: flags_t) - - -idc.set_enum_idx(): - - set_enum_idx(id, idx) -> bool - - - Set serial number of enum. Also see 'get_enum_idx()' . - - @param id (C++: enum_t) - @param idx (C++: size_t) - - -idc.set_enum_member_cmt(): - - set_enum_member_cmt(id, cmt, repeatable) -> bool - - - Set comment for enum member. - - - @param id (C++: const_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -idc.set_enum_member_name(): - - set_enum_member_name(id, name) -> bool - - - Set name of enum member. - - - @param id (C++: const_t) - @param name (C++: const char *) - - -idc.set_enum_name(): - - set_enum_name(id, name) -> bool - - - Set name of enum type. - - - @param id (C++: enum_t) - @param name (C++: const char *) - - -idc.set_enum_width(): - - set_enum_width(id, width) -> bool - - - See comment for 'get_enum_width()' - - - @param id (C++: enum_t) - @param width (C++: int) - - -idc.set_fchunk_attr(): - - 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 - - -idc.set_fixup(): - - 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 - - -idc.set_frame_size(): - - 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 - - -idc.set_func_attr(): - - 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 - - -idc.set_func_cmt(): - - 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 - - -idc.set_func_end(): - - set_func_end(ea, newend) -> bool - - - Move function chunk end address. - - @param ea: any address in the function (C++: ea_t) - @param newend: new end address of the function (C++: ea_t) - @return: success - - -idc.set_func_flags(): - - Change function flags - - @param ea: any address belonging to the function - @param flags: see get_func_flags() for explanations - - @return: !=0 - ok - - -idc.set_hash_long(): - - 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 - - -idc.set_hash_string(): - - 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 - - -idc.set_ida_state(): - - set_ida_state(st) -> idastate_t - - - Change IDA status indicator value - - @param st: - new indicator status (C++: idastate_t) - @return: old indicator status - - -idc.set_local_type(): - - 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 - - -idc.set_manual_insn(): - - set_manual_insn(ea, manual_insn) - - - Set manual instruction string. - - @param ea: linear address of the instruction or data item (C++: ea_t) - @param manual_insn: "" - delete manual string. NULL - do nothing (C++: - const char *) - - -idc.set_member_cmt(): - - 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 - - -idc.set_member_name(): - - 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. - - -idc.set_member_type(): - - 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. - - -idc.set_name(): - - 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 - - -idc.set_processor_type(): - - 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: name of processor type (one of names present in - \ph{psnames}) (C++: const char *) - @param level: SETPROC_ (C++: setproc_level_t) - @return: success - - -idc.set_reg_value(): - - 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. - - -idc.set_remote_debugger(): - - set_remote_debugger(host, _pass, port=-1) - - - Set remote debugging options. Should be used before starting the - debugger. - - @param host: If empty, IDA will use local debugger. If NULL, the host - will not be set. (C++: const char *) - @param port: If -1, the default port number will be used (C++: int) - - -idc.set_root_filename(): - - set_root_filename(file) - - - Set full path of the input file. - - - @param file (C++: const char *) - - -idc.set_segm_addressing(): - - Change segment addressing - - @param ea: any address in the segment - @param bitness: 0: 16bit, 1: 32bit, 2: 64bit - - @return: success (boolean) - - -idc.set_segm_alignment(): - - 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) - - -idc.set_segm_attr(): - - 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. - - -idc.set_segm_class(): - - Change class of the segment - - @param ea: any address in the segment - @param segclass: new class of the segment - - @return: success (boolean) - - -idc.set_segm_combination(): - - 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) - - -idc.set_segm_name(): - - Change name of the segment - - @param ea: any address in the segment - @param name: new name of the segment - - @return: success (boolean) - - -idc.set_segm_type(): - - Set segment type - - @param segea: any address within segment - @param segtype: new segment type: - - @return: !=0 - ok - - -idc.set_segment_bounds(): - - 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 - - -idc.set_selector(): - - set_selector(selector, paragraph) -> int - - - Set mapping of selector to a paragraph. You should call this - functionbeforecreating a segment which uses the selector, otherwise - the creation of the segment will fail. - - @param selector: 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. (C++: sel_t) - @param paragraph: paragraph to map selector (C++: ea_t) - - -idc.set_source_linnum(): - - set_source_linnum(ea, lnnum) - - -idc.set_step_trace_options(): - - set_step_trace_options(options) - - - Modify step tracing options. \sq{Type, Synchronous function - - available as request, Notification, none (synchronous function)} - - @param options (C++: int) - - -idc.set_storage_type(): - - change_storage_type(start_ea, end_ea, stt) -> error_t - - - Change flag storage type for address range. - - @param start_ea: should be lower than end_ea. (C++: ea_t) - @param end_ea: does not belong to the range. (C++: ea_t) - @param stt: storage_type_t (C++: storage_type_t) - @return: error code - - -idc.set_struc_cmt(): - - set_struc_cmt(id, cmt, repeatable) -> bool - - - Set structure comment. - - - @param id (C++: tid_t) - @param cmt (C++: const char *) - @param repeatable (C++: bool) - - -idc.set_struc_idx(): - - Change structure index - - @param sid: structure type ID - @param index: new index of the structure - - @return: != 0 - ok - - @note: See get_first_struc_idx() for the explanation of - structure indices and IDs. - - -idc.set_struc_name(): - - set_struc_name(id, name) -> bool - - - Set structure name. - - - @param id (C++: tid_t) - @param name (C++: const char *) - - -idc.set_tail_owner(): - - 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 - - -idc.set_target_assembler(): - - set_target_assembler(asmnum) -> bool - - - Set target assembler. - - @param asmnum: number of assembler in the current processor module - (C++: int) - @return: success - - -idc.set_trace_file_desc(): - - set_trace_file_desc(filename, description) -> bool - - - Change the description of the specified trace file. - - - @param filename (C++: const char *) - @param description (C++: const char *) - - -idc.split_sreg_range(): - - 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 corrent value. - - -idc.start_process(): - - 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' }You can also - use the 'run_to()' function to easily start the execution of a process - until a given address is reached.For all parameters, a NULL value - indicates the debugger will take the value from the defined Process - Options. - - @param path: path to the executable to start (C++: const char *) - @param args: arguments to pass to process (C++: const char *) - @param sdir: starting directory for the process (C++: const char *) - - -idc.step_into(): - - 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' } - - -idc.step_over(): - - 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' } - - -idc.step_until_ret(): - - 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' } - - -idc.suspend_process(): - - 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) }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. - - -idc.suspend_thread(): - - 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: thread id (C++: thid_t) - - -idc.take_memory_snapshot(): - - take_memory_snapshot(only_loader_segs) -> bool - - - Take a memory snapshot of the running process. - - @param only_loader_segs: only is_loader_segm() segments will be - affected (C++: bool) - @return: success - - -idc.to_ea(): - - Return value of expression: ((seg<<4) + off) - - -idc.toggle_bnot(): - - 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 - - -idc.toggle_sign(): - - 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) - - -idc.update_extra_cmt(): - - update_extra_cmt(ea, what, str) - - -idc.update_hidden_range(): - - Set hidden range state - - @param ea: any address belonging to the hidden range - @param visible: new state of the range - - @return: != 0 - ok - - -idc.validate_idb_names(): - - check consistency of IDB name records - @param do_repair: try to repair netnode header it TRUE - @return: number of inconsistent name records - - -idc.wait_for_next_event(): - - 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: combination of Wait for debugger event flags constants - (C++: int) - @param timeout: number of seconds to wait, -1-infinity (C++: int) - @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= - 0) - - -idc.warning(): - - warning(format) - - - Display a message in a message box - - @param message: 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 - - -idc.write_dbg_memory(): - - 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) - - diff --git a/release_pydoc_injections2.txt b/release_pydoc_injections2.txt new file mode 100644 index 0000000..db4f426 --- /dev/null +++ b/release_pydoc_injections2.txt @@ -0,0 +1,78888 @@ +Help on function auto_apply_tail in module ida_auto: + +auto_apply_tail(*args) + auto_apply_tail(tail_ea, parent_ea) + + + Plan to apply the tail_ea chunk to the parent + + @param tail_ea: linear address of start of tail (C++: ea_t) + @param parent_ea: linear address within parent. If BADADDR, + automatically try to find parent via xrefs. (C++: + ea_t) + +Help on function auto_apply_type in module ida_auto: + +auto_apply_type(*args) + 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) + +Help on function auto_cancel in module ida_auto: + +auto_cancel(*args) + 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) + +Help on class auto_display_t in module ida_auto: + +class auto_display_t(__builtin__.object) + | Proxy of C++ auto_display_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> auto_display_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | auto_display_t_ea_get(self) -> ea_t + | + | state + | auto_display_t_state_get(self) -> idastate_t + | + | thisown + | The membership flag + | + | type + | auto_display_t_type_get(self) -> atype_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_auto_display_t(self) + +Help on function auto_get in module ida_auto: + +auto_get(*args) + 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) + +Help on function auto_is_ok in module ida_auto: + +auto_is_ok(*args) + auto_is_ok() -> bool + + + Are all queues empty? (i.e. has autoanalysis finished?). + +Help on function auto_make_code in module ida_auto: + +auto_make_code(*args) + auto_make_code(ea) + + + Plan to make code. + + + @param ea (C++: ea_t) + +Help on function auto_make_proc in module ida_auto: + +auto_make_proc(*args) + auto_make_proc(ea) + + + Plan to make code&function. + + + @param ea (C++: ea_t) + +Help on function auto_mark in module ida_auto: + +auto_mark(*args) + auto_mark(ea, type) + + + Put single address into a queue. Queues keep addresses sorted. + + + @param ea (C++: ea_t) + @param type (C++: atype_t) + +Help on function auto_mark_range in module ida_auto: + +auto_mark_range(*args) + 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) + +Help on function auto_recreate_insn in module ida_auto: + +auto_recreate_insn(*args) + auto_recreate_insn(ea) -> int + + + Try to create instruction + + @param ea: linear address of callee (C++: ea_t) + @return: the length of the instruction or 0 + +Help on function auto_unmark in module ida_auto: + +auto_unmark(*args) + 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) + +Help on function auto_wait in module ida_auto: + +auto_wait(*args) + 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) + +Help on function auto_wait_range in module ida_auto: + +auto_wait_range(*args) + 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) + +Help on function enable_auto in module ida_auto: + +enable_auto(*args) + 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 + +Help on function get_auto_display in module ida_auto: + +get_auto_display(*args) + get_auto_display(auto_display) + + + Get structure which holds the autoanalysis indicator contents. + + + @param auto_display (C++: auto_display_t *) + +Help on function get_auto_state in module ida_auto: + +get_auto_state(*args) + 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). + +Help on function is_auto_enabled in module ida_auto: + +is_auto_enabled(*args) + is_auto_enabled() -> bool + + + Get autoanalyzer state. + +Help on function may_create_stkvars in module ida_auto: + +may_create_stkvars(*args) + may_create_stkvars() -> bool + + + Is it allowed to create stack variables automatically?. This function + should be used by IDP modules before creating stack vars. + +Help on function may_trace_sp in module ida_auto: + +may_trace_sp(*args) + may_trace_sp() -> bool + + + Is it allowed to trace stack pointer automatically?. This function + should be used by IDP modules before tracing sp. + +Help on function peek_auto_queue in module ida_auto: + +peek_auto_queue(*args) + 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 + +Help on function plan_and_wait in module ida_auto: + +plan_and_wait(*args) + 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. + + @param ea1 (C++: ea_t) + @param ea2 (C++: ea_t) + @param final_pass (C++: bool) + +Help on function plan_ea in module ida_auto: + +plan_ea(*args) + plan_ea(ea) + + + Plan to perform reanalysis. + + + @param ea (C++: ea_t) + +Help on function plan_range in module ida_auto: + +plan_range(*args) + plan_range(sEA, eEA) + + + Plan to perform reanalysis. + + + @param sEA (C++: ea_t) + @param eEA (C++: ea_t) + +Help on function reanalyze_callers in module ida_auto: + +reanalyze_callers(*args) + 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: linear address of callee (C++: ea_t) + @param noret: !=0: the callee doesn't return, mark to undefine + subsequent instructions in the caller. 0: do nothing. + (C++: bool) + +Help on function revert_ida_decisions in module ida_auto: + +revert_ida_decisions(*args) + 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) + +Help on function set_auto_state in module ida_auto: + +set_auto_state(*args) + set_auto_state(new_state) -> atype_t + + + Set current state of autoanalyzer. + + @param new_state: new state of autoanalyzer (C++: atype_t) + @return: previous state + +Help on function set_ida_state in module ida_auto: + +set_ida_state(*args) + set_ida_state(st) -> idastate_t + + + Change IDA status indicator value + + @param st: - new indicator status (C++: idastate_t) + @return: old indicator status + +Help on function show_addr in module ida_auto: + +show_addr(*args) + show_addr(ea) + + + Show an address on the autoanalysis indicator. The address is + displayed in the form " @:12345678". + + @param ea: - linear address to display (C++: ea_t) + +Help on function show_auto in module ida_auto: + +show_auto(*args) + show_auto(ea, type=AU_NONE) + + + Change autoanalysis indicator value. + + @param ea: linear address being analyzed (C++: ea_t) + @param type: autoanalysis type (see Autoanalysis queues ) (C++: + atype_t) + +Help on function __walk_types_and_formats in module ida_bytes: + +__walk_types_and_formats(formats, type_action, format_action, installing) + # ----------------------------------------------------------------------- + +Help on function add_byte in module ida_bytes: + +add_byte(*args) + add_byte(ea, value) + + + Add a value to one byte of the program. This function works for wide + byte processors too. + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint32) + +Help on function add_dword in module ida_bytes: + +add_dword(*args) + 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 \inf{is_be()}this function works incorrectly if + \ph{nbits} > 16 + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function add_hidden_range in module ida_bytes: + +add_hidden_range(*args) + add_hidden_range(ea1, ea2, description, header, footer, color) -> bool + + + Mark a range of addresses as hidden. The range will be created in the + invisible state with the default color + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (C++: ea_t) + @param description: range parameters (C++: const char *) + @param header: range parameters (C++: const char *) + @param footer: range parameters (C++: const char *) + @param color (C++: bgcolor_t) + @return: success + +Help on function add_mapping in module ida_bytes: + +add_mapping(*args) + 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.You should + set flag PR2_MAPPING in ph.flag2 to use memory mapping Add memory + mapping range. + + @param _from: start of the mapped range (nonexistent address) (C++: + ea_t) + @param to: start of the mapping range (existent address) (C++: ea_t) + @param size: size of the range (C++: asize_t) + @return: success + +Help on function add_qword in module ida_bytes: + +add_qword(*args) + 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 \inf{is_be()} + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function add_word in module ida_bytes: + +add_word(*args) + 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 \inf{is_be()} + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function align_flag in module ida_bytes: + +align_flag(*args) + align_flag() -> flags_t + + + Get a flags_t representing an alignment directive. + +Help on function append_cmt in module ida_bytes: + +append_cmt(*args) + 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: linear address (C++: ea_t) + @param str: comment string to append (C++: const char *) + @param rptble: append to repeatable comment? (C++: bool) + @return: success + +Help on function attach_custom_data_format in module ida_bytes: + +attach_custom_data_format(*args) + attach_custom_data_format(dtid, dfid) -> bool + + + Attach the data format to the data type. + + @param dtid: 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. (C++: int) + @param dfid: data format id (C++: int) + +Help on function bin_flag in module ida_bytes: + +bin_flag(*args) + bin_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function bin_search in module ida_bytes: + +bin_search(*args) + bin_search(start_ea, end_ea, image, imask, step, flags) -> ea_t + +Help on function byte_flag in module ida_bytes: + +byte_flag(*args) + byte_flag() -> flags_t + + + Get a flags_t representing a byte. + +Help on function bytesize in module ida_bytes: + +bytesize(*args) + bytesize(ea) -> int + + + Get number of bytes required to store a byte at the given address. + + + @param ea (C++: ea_t) + +Help on function calc_def_align in module ida_bytes: + +calc_def_align(*args) + calc_def_align(ea, mina, maxa) -> int + + + Calculate default alignment. + + + @param ea (C++: ea_t) + @param mina (C++: int) + @param maxa (C++: int) + +Help on function calc_dflags in module ida_bytes: + +calc_dflags(*args) + calc_dflags(f, force) -> flags_t + +Help on function calc_max_align in module ida_bytes: + +calc_max_align(*args) + calc_max_align(endea) -> int + + + Returns: 0..32. + + + @param endea (C++: ea_t) + +Help on function calc_max_item_end in module ida_bytes: + +calc_max_item_end(*args) + 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: linear address (C++: ea_t) + @param how: when to stop the search. A combination of Item end search + flags (C++: int) + @return: end of new item. If it is not possible to create an item, it + will return 'ea'. + +Help on function calc_min_align in module ida_bytes: + +calc_min_align(*args) + calc_min_align(length) -> int + + + Returns: 1..32. + + + @param length (C++: asize_t) + +Help on function can_define_item in module ida_bytes: + +can_define_item(*args) + can_define_item(ea, length, flags) -> bool + + + Can define item (instruction/data) of the specified 'length', starting + at 'ea'?if there is an item starting at 'ea', this function ignores + itthis function converts to unexplored all encountered data items with + fixup information. Should be fixed in the future.a new item would + cross segment boundariesa new item would overlap with existing items + (except items specified by 'flags') + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param flags: 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 (C++: + flags_t) + @return: 1-yes, 0-no + +Help on function change_storage_type in module ida_bytes: + +change_storage_type(*args) + change_storage_type(start_ea, end_ea, stt) -> error_t + + + Change flag storage type for address range. + + @param start_ea: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: error code + +Help on function char_flag in module ida_bytes: + +char_flag(*args) + char_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function chunk_size in module ida_bytes: + +chunk_size(*args) + 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. + +Help on function chunk_start in module ida_bytes: + +chunk_start(*args) + 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. + +Help on function clr_lzero in module ida_bytes: + +clr_lzero(*args) + clr_lzero(ea, n) -> bool + + + Clear lzero bit. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function clr_op_type in module ida_bytes: + +clr_op_type(*args) + clr_op_type(ea, n) -> bool + + + Remove operand representation information. (set operand representation + to be 'undefined') + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function code_flag in module ida_bytes: + +code_flag(*args) + code_flag() -> flags_t + + + 'FF_CODE' + +Help on function create_16bit_data in module ida_bytes: + +create_16bit_data(*args) + create_16bit_data(ea, length) -> bool + + + Convert to 16-bit quantity (take byte size into account) + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + +Help on function create_32bit_data in module ida_bytes: + +create_32bit_data(*args) + create_32bit_data(ea, length) -> bool + + + Convert to 32-bit quantity (take byte size into account) + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + +Help on function create_align in module ida_bytes: + +create_align(*args) + create_align(ea, length, alignment) -> bool + + + Alignment: 0 or 2..32. If it is 0, is will be calculated. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param alignment (C++: int) + +Help on function create_byte in module ida_bytes: + +create_byte(*args) + create_byte(ea, length, force=False) -> bool + + + Convert to byte. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_custdata in module ida_bytes: + +create_custdata(*args) + 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) + +Help on function create_data in module ida_bytes: + +create_data(*args) + create_data(ea, dataflag, size, tid) -> bool + + + Convert to data (byte, word, dword, etc). This function may be used to + create arrays. + + @param ea: linear address (C++: ea_t) + @param dataflag: type of data. Value of function byte_flag() , + word_flag() , etc. (C++: flags_t) + @param size: 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. (C++: asize_t) + @param tid: type id. If the specified type is a structure, then tid is + structure id. Otherwise should be BADNODE . (C++: tid_t) + @return: success + +Help on function create_double in module ida_bytes: + +create_double(*args) + create_double(ea, length, force=False) -> bool + + + Convert to double. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_dword in module ida_bytes: + +create_dword(*args) + create_dword(ea, length, force=False) -> bool + + + Convert to dword. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_float in module ida_bytes: + +create_float(*args) + create_float(ea, length, force=False) -> bool + + + Convert to float. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_oword in module ida_bytes: + +create_oword(*args) + 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) + +Help on function create_packed_real in module ida_bytes: + +create_packed_real(*args) + 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) + +Help on function create_qword in module ida_bytes: + +create_qword(*args) + create_qword(ea, length, force=False) -> bool + + + Convert to quadword. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_strlit in module ida_bytes: + +create_strlit(*args) + 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: starting address (C++: ea_t) + @param len: length of the string in bytes. if 0, then + get_max_strlit_length() will be used to determine the + length (C++: size_t) + @param strtype: string type. one of String type codes (C++: int32) + @return: success + +Help on function create_struct in module ida_bytes: + +create_struct(*args) + 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) + +Help on function create_tbyte in module ida_bytes: + +create_tbyte(*args) + create_tbyte(ea, length, force=False) -> bool + + + Convert to tbyte. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_word in module ida_bytes: + +create_word(*args) + create_word(ea, length, force=False) -> bool + + + Convert to word. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_yword in module ida_bytes: + +create_yword(*args) + 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) + +Help on function create_zword in module ida_bytes: + +create_zword(*args) + 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) + +Help on function cust_flag in module ida_bytes: + +cust_flag(*args) + cust_flag() -> flags_t + + + Get a flags_t representing custom type data. + +Help on function custfmt_flag in module ida_bytes: + +custfmt_flag(*args) + custfmt_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on class data_format_t in module ida_bytes: + +class data_format_t(__builtin__.object) + | Proxy of C++ data_format_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | + | __real__init__ = __init__(self, *args) + | __init__(self, _self, name, value_size=0, menu_name=None, props=0, hotkey=None, text_width=0) -> data_format_t + | + | __repr__ = _swig_repr(self) + | + | _data_format_t__get_id = __get_id(self, *args) + | __get_id(self) -> int + | + | is_present_in_menus(self, *args) + | is_present_in_menus(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hotkey + | data_format_t_hotkey_get(self) -> char const * + | + | id + | __get_id(self) -> int + | + | menu_name + | data_format_t_menu_name_get(self) -> char const * + | + | name + | data_format_t_name_get(self) -> char const * + | + | props + | data_format_t_props_get(self) -> int + | + | text_width + | data_format_t_text_width_get(self) -> int32 + | + | thisown + | The membership flag + | + | value_size + | data_format_t_value_size_get(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_data_format_t(self) + +Help on class data_type_t in module ida_bytes: + +class data_type_t(__builtin__.object) + | Proxy of C++ data_type_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | + | __real__init__ = __init__(self, *args) + | __init__(self, _self, name, value_size=0, menu_name=None, hotkey=None, asm_keyword=None, props=0) -> data_type_t + | + | __repr__ = _swig_repr(self) + | + | _data_type_t__get_id = __get_id(self, *args) + | __get_id(self) -> int + | + | is_present_in_menus(self, *args) + | is_present_in_menus(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | asm_keyword + | data_type_t_asm_keyword_get(self) -> char const * + | + | hotkey + | data_type_t_hotkey_get(self) -> char const * + | + | id + | __get_id(self) -> int + | + | menu_name + | data_type_t_menu_name_get(self) -> char const * + | + | name + | data_type_t_name_get(self) -> char const * + | + | props + | data_type_t_props_get(self) -> int + | + | thisown + | The membership flag + | + | value_size + | data_type_t_value_size_get(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_data_type_t(self) + +Help on function dec_flag in module ida_bytes: + +dec_flag(*args) + dec_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function del_hidden_range in module ida_bytes: + +del_hidden_range(*args) + del_hidden_range(ea) -> bool + + + Delete hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: success + +Help on function del_items in module ida_bytes: + +del_items(*args) + 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: any address within the first item to delete (C++: ea_t) + @param flags: combination of Unexplored byte conversion flags (C++: + int) + @param nbytes: number of bytes in the range to be undefined (C++: + asize_t) + @param may_destroy: optional routine invoked before deleting a head + item. If callback returns false then item has not + to be deleted and operation fails (C++: + may_destroy_cb_t *) + @return: true on sucessful operation, otherwise false + +Help on function del_mapping in module ida_bytes: + +del_mapping(*args) + del_mapping(ea) + + + Delete memory mapping range. + + @param ea: any address in the mapped range (C++: ea_t) + +Help on function del_value in module ida_bytes: + +del_value(*args) + del_value(ea) + + + Delete byte value from flags. The corresponding byte becomes + uninitialized. + + @param ea (C++: ea_t) + +Help on function detach_custom_data_format in module ida_bytes: + +detach_custom_data_format(*args) + 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: data type id to detach data format from (C++: int) + @param dfid: data format id to detach (C++: int) + +Help on function disable_flags in module ida_bytes: + +disable_flags(*args) + 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: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @return: 0 if ok, otherwise return error code + +Help on function double_flag in module ida_bytes: + +double_flag(*args) + double_flag() -> flags_t + + + Get a flags_t representing a double. + +Help on function dword_flag in module ida_bytes: + +dword_flag(*args) + dword_flag() -> flags_t + + + Get a flags_t representing a double word. + +Help on function enable_flags in module ida_bytes: + +enable_flags(*args) + 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: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: 0 if ok, otherwise an error code + +Help on function enum_flag in module ida_bytes: + +enum_flag(*args) + enum_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function equal_bytes in module ida_bytes: + +equal_bytes(*args) + equal_bytes(ea, image, mask, len, sense_case) -> bool + + + Compare 'len' bytes of the program starting from 'ea' with 'image'. + + @param ea: linear address (C++: ea_t) + @param image: bytes to compare with (C++: const uchar *) + @param mask: array of 1/0 bytes, it's length is 'len'. 1 means to + perform the comparison of the corresponding byte. 0 means + not to perform. if mask == NULL, then all bytes of + 'image' will be compared. if mask == SKIP_FF_MASK then + 0xFF bytes will be skipped (C++: const uchar *) + @param len: length of block to compare in bytes. (C++: size_t) + @param sense_case: case-sensitive comparison? (C++: bool) + +Help on function f_has_cmt in module ida_bytes: + +f_has_cmt(*args) + f_has_cmt(f, arg2) -> bool + +Help on function f_has_dummy_name in module ida_bytes: + +f_has_dummy_name(*args) + f_has_dummy_name(f, arg2) -> bool + + + Does the current byte have dummy (auto-generated, with special prefix) + name? + + + @param f (C++: flags_t) + +Help on function f_has_extra_cmts in module ida_bytes: + +f_has_extra_cmts(*args) + f_has_extra_cmts(f, arg2) -> bool + +Help on function f_has_name in module ida_bytes: + +f_has_name(*args) + f_has_name(f, arg2) -> bool + + + Does the current byte have non-trivial (non-dummy) name? + + + @param f (C++: flags_t) + +Help on function f_has_user_name in module ida_bytes: + +f_has_user_name(*args) + f_has_user_name(F, arg2) -> bool + + + Does the current byte have user-specified name? + + + @param F (C++: flags_t) + +Help on function f_has_xref in module ida_bytes: + +f_has_xref(*args) + f_has_xref(f, arg2) -> bool + + + Does the current byte have cross-references to it? + + + @param f (C++: flags_t) + +Help on function f_is_align in module ida_bytes: + +f_is_align(*args) + f_is_align(F, arg2) -> bool + + + See 'is_align()' + + + @param F (C++: flags_t) + +Help on function f_is_byte in module ida_bytes: + +f_is_byte(*args) + f_is_byte(F, arg2) -> bool + + + See 'is_byte()' + + + @param F (C++: flags_t) + +Help on function f_is_code in module ida_bytes: + +f_is_code(*args) + f_is_code(F, arg2) -> bool + + + Does flag denote start of an instruction? + + + @param F (C++: flags_t) + +Help on function f_is_custom in module ida_bytes: + +f_is_custom(*args) + f_is_custom(F, arg2) -> bool + + + See 'is_custom()' + + + @param F (C++: flags_t) + +Help on function f_is_data in module ida_bytes: + +f_is_data(*args) + f_is_data(F, arg2) -> bool + + + Does flag denote start of data? + + + @param F (C++: flags_t) + +Help on function f_is_double in module ida_bytes: + +f_is_double(*args) + f_is_double(F, arg2) -> bool + + + See 'is_double()' + + + @param F (C++: flags_t) + +Help on function f_is_dword in module ida_bytes: + +f_is_dword(*args) + f_is_dword(F, arg2) -> bool + + + See 'is_dword()' + + + @param F (C++: flags_t) + +Help on function f_is_float in module ida_bytes: + +f_is_float(*args) + f_is_float(F, arg2) -> bool + + + See 'is_float()' + + + @param F (C++: flags_t) + +Help on function f_is_head in module ida_bytes: + +f_is_head(*args) + f_is_head(F, arg2) -> bool + + + Does flag denote start of instruction OR data? + + + @param F (C++: flags_t) + +Help on function f_is_not_tail in module ida_bytes: + +f_is_not_tail(*args) + f_is_not_tail(F, arg2) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function f_is_oword in module ida_bytes: + +f_is_oword(*args) + f_is_oword(F, arg2) -> bool + + + See 'is_oword()' + + + @param F (C++: flags_t) + +Help on function f_is_pack_real in module ida_bytes: + +f_is_pack_real(*args) + f_is_pack_real(F, arg2) -> bool + + + See 'is_pack_real()' + + + @param F (C++: flags_t) + +Help on function f_is_qword in module ida_bytes: + +f_is_qword(*args) + f_is_qword(F, arg2) -> bool + + + See 'is_qword()' + + + @param F (C++: flags_t) + +Help on function f_is_strlit in module ida_bytes: + +f_is_strlit(*args) + f_is_strlit(F, arg2) -> bool + + + See 'is_strlit()' + + + @param F (C++: flags_t) + +Help on function f_is_struct in module ida_bytes: + +f_is_struct(*args) + f_is_struct(F, arg2) -> bool + + + See 'is_struct()' + + + @param F (C++: flags_t) + +Help on function f_is_tail in module ida_bytes: + +f_is_tail(*args) + f_is_tail(F, arg2) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function f_is_tbyte in module ida_bytes: + +f_is_tbyte(*args) + f_is_tbyte(F, arg2) -> bool + + + See 'is_tbyte()' + + + @param F (C++: flags_t) + +Help on function f_is_word in module ida_bytes: + +f_is_word(*args) + f_is_word(F, arg2) -> bool + + + See 'is_word()' + + + @param F (C++: flags_t) + +Help on function f_is_yword in module ida_bytes: + +f_is_yword(*args) + f_is_yword(F, arg2) -> bool + + + See 'is_yword()' + + + @param F (C++: flags_t) + +Help on function find_byte in module ida_bytes: + +find_byte(*args) + 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: linear address (C++: ea_t) + @param size: number of bytes to inspect (C++: asize_t) + @param value: value to find (C++: uchar) + @param bin_search_flags: combination of Search flags (C++: int) + @return: address of byte or BADADDR + +Help on function find_byter in module ida_bytes: + +find_byter(*args) + 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: the lower address of the search range (C++: ea_t) + @param size: number of bytes to inspect (C++: asize_t) + @param value: value to find (C++: uchar) + @param bin_search_flags: combination of Search flags (C++: int) + @return: address of byte or BADADDR + +Help on function find_custom_data_format in module ida_bytes: + +find_custom_data_format(*args) + find_custom_data_format(name) -> int + + + Get id of a custom data format. + + @param name: name of the custom data format (C++: const char *) + @return: id or -1 + +Help on function find_custom_data_type in module ida_bytes: + +find_custom_data_type(*args) + find_custom_data_type(name) -> int + + + Get id of a custom data type. + + @param name: name of the custom data type (C++: const char *) + @return: id or -1 + +Help on function float_flag in module ida_bytes: + +float_flag(*args) + float_flag() -> flags_t + + + Get a flags_t representing a float. + +Help on function flt_flag in module ida_bytes: + +flt_flag(*args) + flt_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function free_chunk in module ida_bytes: + +free_chunk(*args) + free_chunk(bottom, size, step) -> ea_t + + + Search for a hole in the addressing space of the program. + + @param bottom: address to start searching (C++: ea_t) + @param size: size of desired block (C++: asize_t) + @param step: bit mask for the start of hole (0xF would align hole to a + paragraph). if 'step' is negative, the bottom address + with be aligned. otherwise the kernel will try to use it + as is and align it only when the hole is too small. (C++: + int32) + @return: start of the hole or BADADDR + +Help on function get_16bit in module ida_bytes: + +get_16bit(*args) + 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() + +Help on function get_32bit in module ida_bytes: + +get_32bit(*args) + 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 \ph{nbits}: if ( nbits <= 8 ) + return get_dword(ea); if ( nbits <= 16) return + get_wide_word(ea); return get_wide_byte(ea); + +Help on function get_64bit in module ida_bytes: + +get_64bit(*args) + 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 \ph{nbits}: if ( nbits <= 8 ) + return get_qword(ea); if ( nbits <= 16) return + get_wide_dword(ea); return get_wide_byte(ea); + +Help on function get_8bit in module ida_bytes: + +get_8bit(*args) + get_8bit(ea, v, nbit) -> PyObject * + +Help on function get_byte in module ida_bytes: + +get_byte(*args) + 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) + +Help on function get_bytes in module ida_bytes: + +get_bytes(*args) + 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 + @return: the bytes (as a str), or None in case of failure + +Help on function get_bytes_and_mask in module ida_bytes: + +get_bytes_and_mask(*args) + 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 + @return: a tuple (bytes, mask), or None in case of failure. + Both 'bytes' and 'mask' are 'str' instances. + +Help on function get_cmt in module ida_bytes: + +get_cmt(*args) + get_cmt(ea, rptble) -> str + + + Get an indented comment. + + @param ea: linear address. may point to tail byte, the function will + find start of the item (C++: ea_t) + @param rptble: get repeatable comment? (C++: bool) + @return: size of comment or -1 + +Help on function get_custom_data_format in module ida_bytes: + +get_custom_data_format(*args) + get_custom_data_format(dfid) -> data_format_t + + + Get definition of a registered custom data format. + + @param dfid: data format id (C++: int) + @return: data format definition or NULL + +Help on function get_custom_data_formats in module ida_bytes: + +get_custom_data_formats(*args) + get_custom_data_formats(out, dtid) -> int + + + Get list of attached custom data formats for the specified data type. + + @param out: buffer for the output. may be NULL (C++: intvec_t *) + @param dtid: data type id (C++: int) + @return: number of returned custom data formats. if error, returns -1 + +Help on function get_custom_data_type in module ida_bytes: + +get_custom_data_type(*args) + get_custom_data_type(dtid) -> data_type_t + + + Get definition of a registered custom data type. + + @param dtid: data type id (C++: int) + @return: data type definition or NULL + +Help on function get_custom_data_types in module ida_bytes: + +get_custom_data_types(*args) + get_custom_data_types(out, min_size=0, max_size=BADADDR) -> int + + + Get list of registered custom data type ids. + + @param out: buffer for the output. may be NULL (C++: intvec_t *) + @param min_size: minimum value size (C++: asize_t) + @param max_size: maximum value size (C++: asize_t) + @return: number of custom data types with the specified size limits + +Help on function get_data_elsize in module ida_bytes: + +get_data_elsize(*args) + get_data_elsize(ea, F, ti=None) -> asize_t + + + Get size of data type specified in flags 'F'. + + @param ea: linear address of the item (C++: ea_t) + @param F: flags (C++: flags_t) + @param ti: 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 NULL). If + specified as NULL, will be automatically retrieved from the + database (C++: const opinfo_t *) + @return: byte : 1 word : 2 etc... + +Help on function get_data_value in module ida_bytes: + +get_data_value(*args) + 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: pointer to the result. may be NULL (C++: uval_t *) + @param ea: linear address (C++: ea_t) + @param size: size of data to read. If 0, then the item type at 'ea' + will be used (C++: asize_t) + @return: success + +Help on function get_db_byte in module ida_bytes: + +get_db_byte(*args) + 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) + +Help on function get_default_radix in module ida_bytes: + +get_default_radix(*args) + get_default_radix() -> int + + + Get default base of number for the current processor. + + @return: 2, 8, 10, 16 + +Help on function get_dword in module ida_bytes: + +get_dword(*args) + get_dword(ea) -> uint32 + + + Get one dword (32-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_enum_id in module ida_bytes: + +get_enum_id(*args) + get_enum_id(ea, n) -> enum_t + + + Get enum id of 'enum' operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: id of enum or BADNODE + +Help on function get_first_hidden_range in module ida_bytes: + +get_first_hidden_range(*args) + get_first_hidden_range() -> hidden_range_t + + + Get pointer to the first hidden range. + + @return: ptr to hidden range or NULL + +Help on function get_flags in module ida_bytes: + +get_flags(*args) + get_flags(ea) -> flags_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) + +Help on function get_flags_by_size in module ida_bytes: + +get_flags_by_size(*args) + get_flags_by_size(size) -> flags_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) + +Help on function get_flags_ex in module ida_bytes: + +get_flags_ex(*args) + get_flags_ex(ea, how) -> flags_t + + + Get flags for the specified address, extended form. + + + @param ea (C++: ea_t) + @param how (C++: int) + +Help on function get_forced_operand in module ida_bytes: + +get_forced_operand(*args) + get_forced_operand(ea, n) -> str + + + Get forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @return: size of forced operand or -1 + +Help on function get_full_data_elsize in module ida_bytes: + +get_full_data_elsize(*args) + 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++: flags_t) + @param ti (C++: const opinfo_t *) + +Help on function get_full_flags in module ida_bytes: + +get_full_flags(*args) + get_full_flags(ea) -> flags_t + + + Get flags value for address 'ea'. + + @param ea (C++: ea_t) + @return: 0 if address is not present in the program + +Help on function get_hidden_range in module ida_bytes: + +get_hidden_range(*args) + get_hidden_range(ea) -> hidden_range_t + + + Get pointer to hidden range structure, in: linear address. + + @param ea: any address in the hidden range (C++: ea_t) + +Help on function get_hidden_range_num in module ida_bytes: + +get_hidden_range_num(*args) + get_hidden_range_num(ea) -> int + + + Get number of a hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: number of hidden range (0.. get_hidden_range_qty() -1) + +Help on function get_hidden_range_qty in module ida_bytes: + +get_hidden_range_qty(*args) + get_hidden_range_qty() -> int + + + Get number of hidden ranges. + +Help on function get_item_end in module ida_bytes: + +get_item_end(*args) + 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) + +Help on function get_item_flag in module ida_bytes: + +get_item_flag(*args) + get_item_flag(_from, n, ea, appzero) -> flags_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: linear address of the instruction which refers to 'ea' + (C++: ea_t) + @param n: number of operand which refers to 'ea' (C++: int) + @param ea: the referenced address (C++: ea_t) + @param appzero: append a struct field name if the field offset is + zero? meaningful only if the name refers to a + structure. (C++: bool) + @return: flags or 0 (if failed) + +Help on function get_item_head in module ida_bytes: + +get_item_head(*args) + 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) + +Help on function get_item_size in module ida_bytes: + +get_item_size(*args) + get_item_size(ea) -> asize_t + + + Get size of item (instruction/data) in bytes. Unexplored bytes have + length of 1 byte. This function never returns 0. + + @param ea (C++: ea_t) + +Help on function get_last_hidden_range in module ida_bytes: + +get_last_hidden_range(*args) + get_last_hidden_range() -> hidden_range_t + + + Get pointer to the last hidden range. + + @return: ptr to hidden range or NULL + +Help on function get_manual_insn in module ida_bytes: + +get_manual_insn(*args) + get_manual_insn(ea) -> str + + + Retrieve the user-specified string for the manual instruction. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @return: size of manual instruction or -1 + +Help on function get_mapping in module ida_bytes: + +get_mapping(*args) + get_mapping(n) -> bool + + + Get memory mapping range by its number. + + @param n: number of mapping range (0.. get_mappings_qty() -1) (C++: + size_t) + @return: false if the specified range doesn't exist, otherwise returns + from , to , size + +Help on function get_mappings_qty in module ida_bytes: + +get_mappings_qty(*args) + get_mappings_qty() -> size_t + + + Get number of mappings. + +Help on function get_max_strlit_length in module ida_bytes: + +get_max_strlit_length(*args) + get_max_strlit_length(ea, strtype, options=0) -> size_t + + + Determine maximum length of string literal. + + @param ea: starting address (C++: ea_t) + @param strtype: string type. one of String type codes (C++: int32) + @param options: combination of string literal length options (C++: + int) + @return: length of the string in octets (octet==8bit) + +Help on function get_next_hidden_range in module ida_bytes: + +get_next_hidden_range(*args) + get_next_hidden_range(ea) -> hidden_range_t + + + Get pointer to next hidden range. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to hidden range or NULL if next hidden range doesn't + exist + +Help on function get_octet in module ida_bytes: + +get_octet(*args) + get_octet(ea, v, nbit) -> PyObject * + + + Get 8 bits of the program at 'ea'. The main usage of this function is + to iterate range of bytes. Here is an example: + + uint64 v; + int nbit = 0; + for ( ... ) { + uchar byte = get_octet(&ea, &v, &nbit); + ... + } + + 'ea' is incremented each time when a new byte is read. In the above + example, it will be incremented in the first loop iteration. + + @param ea (C++: ea_t *) + @param v (C++: uint64 *) + @param nbit (C++: int *) + +Help on function get_opinfo in module ida_bytes: + +get_opinfo(*args) + get_opinfo(buf, ea, n, flags) -> opinfo_t + + + Get additional information about an operand representation. + + @param buf: buffer to receive the result. may not be NULL (C++: + opinfo_t *) + @param ea: linear address of item (C++: ea_t) + @param n: number of operand, 0 or 1 (C++: int) + @param flags: flags of the item (C++: flags_t) + @return: NULL if no additional representation information + +Help on function get_optype_flags0 in module ida_bytes: + +get_optype_flags0(*args) + get_optype_flags0(F) -> flags_t + + + Get flags for first operand. + + + @param F (C++: flags_t) + +Help on function get_optype_flags1 in module ida_bytes: + +get_optype_flags1(*args) + get_optype_flags1(F) -> flags_t + + + Get flags for second operand. + + + @param F (C++: flags_t) + +Help on function get_original_byte in module ida_bytes: + +get_original_byte(*args) + 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) + +Help on function get_original_dword in module ida_bytes: + +get_original_dword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_original_qword in module ida_bytes: + +get_original_qword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_original_word in module ida_bytes: + +get_original_word(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_predef_insn_cmt in module ida_bytes: + +get_predef_insn_cmt(*args) + get_predef_insn_cmt(ins) -> str + + + Get predefined comment. + + @param ins: current instruction information (C++: const insn_t &) + @return: size of comment or -1 + +Help on function get_prev_hidden_range in module ida_bytes: + +get_prev_hidden_range(*args) + get_prev_hidden_range(ea) -> hidden_range_t + + + Get pointer to previous hidden range. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to hidden range or NULL if previous hidden range doesn't + exist + +Help on function get_qword in module ida_bytes: + +get_qword(*args) + get_qword(ea) -> uint64 + + + Get one qword (64-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_radix in module ida_bytes: + +get_radix(*args) + 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: flags (C++: flags_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: 2, 8, 10, 16 + +Help on function get_strlit_contents in module ida_bytes: + +get_strlit_contents(*args) + get_strlit_contents(ea, py_len, type, flags=0) -> PyObject * + + + Get bytes contents at location, possibly converted. + It works even if the string has not been created in the database yet. + + Note that this will always return a simple string of bytes + (i.e., a 'str' instance), and not a string of unicode characters. + + If you want auto-conversion to unicode strings (that is: real strings), + you should probably be using the idautils.Strings class. + + @param ea: linear address of the string + @param 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. + +Help on function get_stroff_path in module ida_bytes: + +get_stroff_path(*args) + get_stroff_path(path, delta, ea, n) -> int + + + Get struct path of operand. + + @param path: buffer for structure path (strpath). see nalt.hpp for + more info. (C++: tid_t *) + @param delta: struct offset delta (C++: adiff_t *) + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: length of strpath + +Help on function get_wide_byte in module ida_bytes: + +get_wide_byte(*args) + 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) + +Help on function get_wide_dword in module ida_bytes: + +get_wide_dword(*args) + 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 + \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 + + @param ea (C++: ea_t) + +Help on function get_wide_word in module ida_bytes: + +get_wide_word(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_word in module ida_bytes: + +get_word(*args) + get_word(ea) -> ushort + + + Get one word (16-bit) of the program at 'ea'. This function takes into + account order of bytes specified in \inf{is_be()} This function works + only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_zero_ranges in module ida_bytes: + +get_zero_ranges(*args) + 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: pointer to the return value. cannot be NULL (C++: + rangeset_t *) + @param range: the range of addresses to verify. can be NULL - means + all ranges (C++: const range_t *) + @return: true if the result is a non-empty set + +Help on function getn_hidden_range in module ida_bytes: + +getn_hidden_range(*args) + getn_hidden_range(n) -> hidden_range_t + + + Get pointer to hidden range structure, in: number of hidden range. + + @param n: number of hidden range, is in range 0.. + get_hidden_range_qty() -1 (C++: int) + +Help on function has_any_name in module ida_bytes: + +has_any_name(*args) + has_any_name(F) -> bool + + + Does the current byte have any name? + + + @param F (C++: flags_t) + +Help on function has_auto_name in module ida_bytes: + +has_auto_name(*args) + has_auto_name(F) -> bool + + + Does the current byte have auto-generated (no special prefix) name? + + + @param F (C++: flags_t) + +Help on function has_cmt in module ida_bytes: + +has_cmt(*args) + has_cmt(F) -> bool + + + Does the current byte have an indented comment? + + + @param F (C++: flags_t) + +Help on function has_dummy_name in module ida_bytes: + +has_dummy_name(*args) + has_dummy_name(F) -> bool + + + Does the current byte have dummy (auto-generated, with special prefix) + name? + + + @param F (C++: flags_t) + +Help on function has_extra_cmts in module ida_bytes: + +has_extra_cmts(*args) + has_extra_cmts(F) -> bool + + + Does the current byte have additional anterior or posterior lines? + + + @param F (C++: flags_t) + +Help on function has_immd in module ida_bytes: + +has_immd(*args) + has_immd(F) -> bool + + + Has immediate value? + + + @param F (C++: flags_t) + +Help on function has_name in module ida_bytes: + +has_name(*args) + has_name(F) -> bool + + + Does the current byte have non-trivial (non-dummy) name? + + + @param F (C++: flags_t) + +Help on function has_user_name in module ida_bytes: + +has_user_name(*args) + has_user_name(F) -> bool + + + Does the current byte have user-specified name? + + + @param F (C++: flags_t) + +Help on function has_value in module ida_bytes: + +has_value(*args) + has_value(F) -> bool + + + Do flags contain byte value? + + + @param F (C++: flags_t) + +Help on function has_xref in module ida_bytes: + +has_xref(*args) + has_xref(F) -> bool + + + Does the current byte have cross-references to it? + + + @param F (C++: flags_t) + +Help on function hex_flag in module ida_bytes: + +hex_flag(*args) + hex_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on class hidden_range_t in module ida_bytes: + +class hidden_range_t(ida_range.range_t) + | Proxy of C++ hidden_range_t class. + | + | Method resolution order: + | hidden_range_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> hidden_range_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | color + | hidden_range_t_color_get(self) -> bgcolor_t + | + | description + | hidden_range_t_description_get(self) -> char * + | + | footer + | hidden_range_t_footer_get(self) -> char * + | + | header + | hidden_range_t_header_get(self) -> char * + | + | thisown + | The membership flag + | + | visible + | hidden_range_t_visible_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_hidden_range_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on function is_align in module ida_bytes: + +is_align(*args) + is_align(F) -> bool + + + 'FF_ALIGN' + + + @param F (C++: flags_t) + +Help on function is_attached_custom_data_format in module ida_bytes: + +is_attached_custom_data_format(*args) + is_attached_custom_data_format(dtid, dfid) -> bool + +Help on function is_bnot in module ida_bytes: + +is_bnot(*args) + is_bnot(ea, F, n) -> bool + + + Should we negate the operand?. \ash{a_bnot} should be defined in the + idp module in order to work with this function + + @param ea (C++: ea_t) + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_byte in module ida_bytes: + +is_byte(*args) + is_byte(F) -> bool + + + 'FF_BYTE' + + + @param F (C++: flags_t) + +Help on function is_char in module ida_bytes: + +is_char(*args) + is_char(F, n) -> bool + + + is character constant? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_char0 in module ida_bytes: + +is_char0(*args) + is_char0(F) -> bool + + + Is the first operand character constant? (example: push 'a') + + + @param F (C++: flags_t) + +Help on function is_char1 in module ida_bytes: + +is_char1(*args) + is_char1(F) -> bool + + + Is the second operand character constant? (example: mov al, 'a') + + + @param F (C++: flags_t) + +Help on function is_code in module ida_bytes: + +is_code(*args) + is_code(F) -> bool + + + Does flag denote start of an instruction? + + + @param F (C++: flags_t) + +Help on function is_custfmt in module ida_bytes: + +is_custfmt(*args) + is_custfmt(F, n) -> bool + + + is custom data format? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_custfmt0 in module ida_bytes: + +is_custfmt0(*args) + is_custfmt0(F) -> bool + + + Does the first operand use a custom data representation? + + + @param F (C++: flags_t) + +Help on function is_custfmt1 in module ida_bytes: + +is_custfmt1(*args) + is_custfmt1(F) -> bool + + + Does the second operand use a custom data representation? + + + @param F (C++: flags_t) + +Help on function is_custom in module ida_bytes: + +is_custom(*args) + is_custom(F) -> bool + + + 'FF_CUSTOM' + + + @param F (C++: flags_t) + +Help on function is_data in module ida_bytes: + +is_data(*args) + is_data(F) -> bool + + + Does flag denote start of data? + + + @param F (C++: flags_t) + +Help on function is_defarg in module ida_bytes: + +is_defarg(*args) + is_defarg(F, n) -> bool + + + is defined? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_defarg0 in module ida_bytes: + +is_defarg0(*args) + is_defarg0(F) -> bool + + + Is the first operand defined? Initially operand has no defined + representation. + + + @param F (C++: flags_t) + +Help on function is_defarg1 in module ida_bytes: + +is_defarg1(*args) + is_defarg1(F) -> bool + + + Is the second operand defined? Initially operand has no defined + representation. + + + @param F (C++: flags_t) + +Help on function is_double in module ida_bytes: + +is_double(*args) + is_double(F) -> bool + + + 'FF_DOUBLE' + + + @param F (C++: flags_t) + +Help on function is_dword in module ida_bytes: + +is_dword(*args) + is_dword(F) -> bool + + + 'FF_DWORD' + + + @param F (C++: flags_t) + +Help on function is_enum in module ida_bytes: + +is_enum(*args) + is_enum(F, n) -> bool + + + is enum? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_enum0 in module ida_bytes: + +is_enum0(*args) + is_enum0(F) -> bool + + + Is the first operand a symbolic constant (enum member)? + + + @param F (C++: flags_t) + +Help on function is_enum1 in module ida_bytes: + +is_enum1(*args) + is_enum1(F) -> bool + + + Is the second operand a symbolic constant (enum member)? + + + @param F (C++: flags_t) + +Help on function is_float in module ida_bytes: + +is_float(*args) + is_float(F) -> bool + + + 'FF_FLOAT' + + + @param F (C++: flags_t) + +Help on function is_float0 in module ida_bytes: + +is_float0(*args) + is_float0(F) -> bool + + + Is the first operand a floating point number? + + + @param F (C++: flags_t) + +Help on function is_float1 in module ida_bytes: + +is_float1(*args) + is_float1(F) -> bool + + + Is the second operand a floating point number? + + + @param F (C++: flags_t) + +Help on function is_flow in module ida_bytes: + +is_flow(*args) + is_flow(F) -> bool + + + Does the previous instruction exist and pass execution flow to the + current byte? + + + @param F (C++: flags_t) + +Help on function is_fltnum in module ida_bytes: + +is_fltnum(*args) + is_fltnum(F, n) -> bool + + + is floating point number? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_forced_operand in module ida_bytes: + +is_forced_operand(*args) + is_forced_operand(ea, n) -> bool + + + Is operand manually defined?. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + +Help on function is_func in module ida_bytes: + +is_func(*args) + is_func(F) -> bool + + + Is function start? + + + @param F (C++: flags_t) + +Help on function is_head in module ida_bytes: + +is_head(*args) + is_head(F) -> bool + + + Does flag denote start of instruction OR data? + + + @param F (C++: flags_t) + +Help on function is_invsign in module ida_bytes: + +is_invsign(*args) + 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++: flags_t) + @param n (C++: int) + +Help on function is_loaded in module ida_bytes: + +is_loaded(*args) + is_loaded(ea) -> bool + + + Does the specified address have a byte value (is initialized?) + + + @param ea (C++: ea_t) + +Help on function is_lzero in module ida_bytes: + +is_lzero(*args) + is_lzero(ea, n) -> bool + + + Display leading zeroes in operands. The global switch for the leading + zeroes is in \inf{s_genflags} The leading zeroes doesn't work if the + octal numbers start with 0 Display leading zeroes? (takes into account + \inf{s_genflags}) + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function is_manual in module ida_bytes: + +is_manual(*args) + is_manual(F, n) -> bool + + + is forced operand? (use 'is_forced_operand()' ) + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_manual_insn in module ida_bytes: + +is_manual_insn(*args) + is_manual_insn(ea) -> bool + + + Is the instruction overridden? + + @param ea: linear address of the instruction or data item (C++: ea_t) + +Help on function is_mapped in module ida_bytes: + +is_mapped(*args) + is_mapped(ea) -> bool + + + Is the specified address 'ea' present in the program? + + + @param ea (C++: ea_t) + +Help on function is_not_tail in module ida_bytes: + +is_not_tail(*args) + is_not_tail(F) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function is_numop in module ida_bytes: + +is_numop(*args) + is_numop(F, n) -> bool + + + is number (bin, oct, dec, hex)? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_numop0 in module ida_bytes: + +is_numop0(*args) + is_numop0(F) -> bool + + + Is the first operand a number (i.e. binary, octal, decimal or hex?) + + + @param F (C++: flags_t) + +Help on function is_numop1 in module ida_bytes: + +is_numop1(*args) + is_numop1(F) -> bool + + + Is the second operand a number (i.e. binary, octal, decimal or hex?) + + + @param F (C++: flags_t) + +Help on function is_off in module ida_bytes: + +is_off(*args) + is_off(F, n) -> bool + + + is offset? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_off0 in module ida_bytes: + +is_off0(*args) + is_off0(F) -> bool + + + Is the first operand offset? (example: push offset xxx) + + + @param F (C++: flags_t) + +Help on function is_off1 in module ida_bytes: + +is_off1(*args) + is_off1(F) -> bool + + + Is the second operand offset? (example: mov ax, offset xxx) + + + @param F (C++: flags_t) + +Help on function is_oword in module ida_bytes: + +is_oword(*args) + is_oword(F) -> bool + + + 'FF_OWORD' + + + @param F (C++: flags_t) + +Help on function is_pack_real in module ida_bytes: + +is_pack_real(*args) + is_pack_real(F) -> bool + + + 'FF_PACKREAL' + + + @param F (C++: flags_t) + +Help on function is_qword in module ida_bytes: + +is_qword(*args) + is_qword(F) -> bool + + + 'FF_QWORD' + + + @param F (C++: flags_t) + +Help on function is_same_data_type in module ida_bytes: + +is_same_data_type(*args) + is_same_data_type(F1, F2) -> bool + + + Do the given flags specify the same data type? + + + @param F1 (C++: flags_t) + @param F2 (C++: flags_t) + +Help on function is_seg in module ida_bytes: + +is_seg(*args) + is_seg(F, n) -> bool + + + is segment? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_seg0 in module ida_bytes: + +is_seg0(*args) + is_seg0(F) -> bool + + + Is the first operand segment selector? (example: push seg seg001) + + + @param F (C++: flags_t) + +Help on function is_seg1 in module ida_bytes: + +is_seg1(*args) + is_seg1(F) -> bool + + + Is the second operand segment selector? (example: mov dx, seg dseg) + + + @param F (C++: flags_t) + +Help on function is_stkvar in module ida_bytes: + +is_stkvar(*args) + is_stkvar(F, n) -> bool + + + is stack variable? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_stkvar0 in module ida_bytes: + +is_stkvar0(*args) + is_stkvar0(F) -> bool + + + Is the first operand a stack variable? + + + @param F (C++: flags_t) + +Help on function is_stkvar1 in module ida_bytes: + +is_stkvar1(*args) + is_stkvar1(F) -> bool + + + Is the second operand a stack variable? + + + @param F (C++: flags_t) + +Help on function is_strlit in module ida_bytes: + +is_strlit(*args) + is_strlit(F) -> bool + + + 'FF_STRLIT' + + + @param F (C++: flags_t) + +Help on function is_stroff in module ida_bytes: + +is_stroff(*args) + is_stroff(F, n) -> bool + + + is struct offset? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_stroff0 in module ida_bytes: + +is_stroff0(*args) + is_stroff0(F) -> bool + + + Is the first operand an offset within a struct? + + + @param F (C++: flags_t) + +Help on function is_stroff1 in module ida_bytes: + +is_stroff1(*args) + is_stroff1(F) -> bool + + + Is the second operand an offset within a struct? + + + @param F (C++: flags_t) + +Help on function is_struct in module ida_bytes: + +is_struct(*args) + is_struct(F) -> bool + + + 'FF_STRUCT' + + + @param F (C++: flags_t) + +Help on function is_suspop in module ida_bytes: + +is_suspop(*args) + is_suspop(ea, F, n) -> bool + + + is suspicious operand? + + + @param ea (C++: ea_t) + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_tail in module ida_bytes: + +is_tail(*args) + is_tail(F) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function is_tbyte in module ida_bytes: + +is_tbyte(*args) + is_tbyte(F) -> bool + + + 'FF_TBYTE' + + + @param F (C++: flags_t) + +Help on function is_unknown in module ida_bytes: + +is_unknown(*args) + is_unknown(F) -> bool + + + Does flag denote unexplored byte? + + + @param F (C++: flags_t) + +Help on function is_varsize_item in module ida_bytes: + +is_varsize_item(*args) + is_varsize_item(ea, F, ti=None, itemsize=None) -> int + + + Is the item at 'ea' variable size?. + + @param ea: linear address of the item (C++: ea_t) + @param F: flags (C++: flags_t) + @param ti: 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 NULL). If + specified as NULL, will be automatically retrieved from the + database (C++: const opinfo_t *) + @param itemsize: if not NULL and the item is varsize, itemsize will + contain the calculated item size (for struct types, + the minimal size is returned) (C++: asize_t *) + +Help on function is_word in module ida_bytes: + +is_word(*args) + is_word(F) -> bool + + + 'FF_WORD' + + + @param F (C++: flags_t) + +Help on function is_yword in module ida_bytes: + +is_yword(*args) + is_yword(F) -> bool + + + 'FF_YWORD' + + + @param F (C++: flags_t) + +Help on function is_zword in module ida_bytes: + +is_zword(*args) + is_zword(F) -> bool + + + 'FF_ZWORD' + + + @param F (C++: flags_t) + +Help on function leading_zero_important in module ida_bytes: + +leading_zero_important(*args) + leading_zero_important(ea, n) -> bool + + + Check if leading zeroes are important. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function nbits in module ida_bytes: + +nbits(*args) + nbits(ea) -> int + + + Get number of bits in a byte at the given address. + + @param ea (C++: ea_t) + @return: \ph{dnbits()} if the address doesn't belong to a segment, + otherwise the result depends on the segment type + +Help on function next_addr in module ida_bytes: + +next_addr(*args) + 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. + +Help on function next_chunk in module ida_bytes: + +next_chunk(*args) + 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. + +Help on function next_head in module ida_bytes: + +next_head(*args) + next_head(ea, maxea) -> ea_t + + + Get start of next defined item. + + @param ea: begin search at this address (C++: ea_t) + @param maxea: not included in the search range (C++: ea_t) + @return: BADADDR if none exists. + +Help on function next_inited in module ida_bytes: + +next_inited(*args) + next_inited(ea, maxea) -> ea_t + + + Find the next initialized address. + + + @param ea (C++: ea_t) + @param maxea (C++: ea_t) + +Help on function next_not_tail in module ida_bytes: + +next_not_tail(*args) + next_not_tail(ea) -> ea_t + + + Get address of next non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function next_that in module ida_bytes: + +next_that(*args) + next_that(ea, maxea, callable) -> ea_t + + + Find next address with a flag satisfying the function 'testf'. + Start searching from address 'ea'+1 and inspect bytes up to 'maxea'. + maxea is not included in the search range. + + @param callable: a Python callable with the following prototype: + callable(flags). Return True to stop enumeration. + @return: the found address or BADADDR. + +Help on function next_unknown in module ida_bytes: + +next_unknown(*args) + 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) + +Help on function num_flag in module ida_bytes: + +num_flag(*args) + num_flag() -> flags_t + + + Get number of default base (bin, oct, dec, hex) + +Help on function oct_flag in module ida_bytes: + +oct_flag(*args) + oct_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function off_flag in module ida_bytes: + +off_flag(*args) + off_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function op_adds_xrefs in module ida_bytes: + +op_adds_xrefs(*args) + 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++: flags_t) + @param n (C++: int) + +Help on function op_bin in module ida_bytes: + +op_bin(*args) + op_bin(ea, n) -> bool + + + set op type to 'bin_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_chr in module ida_bytes: + +op_chr(*args) + op_chr(ea, n) -> bool + + + set op type to 'char_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_custfmt in module ida_bytes: + +op_custfmt(*args) + 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) + +Help on function op_dec in module ida_bytes: + +op_dec(*args) + op_dec(ea, n) -> bool + + + set op type to 'dec_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_enum in module ida_bytes: + +op_enum(*args) + op_enum(ea, n, id, serial) -> bool + + + Set operand representation to be 'enum_t'. If applied to unexplored + bytes, converts them to 16/32bit word data + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @param id: id of enum (C++: enum_t) + @param serial: 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 (C++: uchar) + @return: success + +Help on function op_flt in module ida_bytes: + +op_flt(*args) + op_flt(ea, n) -> bool + + + set op type to 'flt_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_hex in module ida_bytes: + +op_hex(*args) + op_hex(ea, n) -> bool + + + set op type to 'hex_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_num in module ida_bytes: + +op_num(*args) + op_num(ea, n) -> bool + + + set op type to 'num_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_oct in module ida_bytes: + +op_oct(*args) + op_oct(ea, n) -> bool + + + set op type to 'oct_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_seg in module ida_bytes: + +op_seg(*args) + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stkvar in module ida_bytes: + +op_stkvar(*args) + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stroff in module ida_bytes: + +op_stroff(*args) + op_stroff(insn, n, path, path_len, delta) -> bool + + + Set operand representation to be 'struct offset'. If applied to + unexplored bytes, converts them to 16/32bit word data + + @param insn: the instruction (C++: const insn_t &) + @param n: number of operand (0, 1, -1) (C++: int) + @param path: structure path (strpath). see nalt.hpp for more info. + (C++: const tid_t *) + @param path_len: length of the structure path (C++: int) + @param delta: struct offset delta. usually 0. denotes the difference + between the structure base and the pointer into the + structure. (C++: adiff_t) + @return: success + + Example: + Python> + Python> ins = ida_ua.insn_t() + Python> if ida_ua.decode_insn(ins, some_address): + Python> path_len = 1 + Python> path = ida_pro.tid_array(path_len) + Python> path[0] = ida_struct.get_struc_id("my_stucture_t") + Python> ida_bytes.op_stroff(ins, 0, path.cast(), path_len, 0) + Python> + +Help on function oword_flag in module ida_bytes: + +oword_flag(*args) + oword_flag() -> flags_t + + + Get a flags_t representing a octaword. + +Help on function packreal_flag in module ida_bytes: + +packreal_flag(*args) + packreal_flag() -> flags_t + + + Get a flags_t representing a packed decimal real. + +Help on function patch_byte in module ida_bytes: + +patch_byte(*args) + 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. + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_bytes in module ida_bytes: + +patch_bytes(*args) + 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: linear address (C++: ea_t) + @param buf: buffer with new values of bytes (C++: const void *) + +Help on function patch_dword in module ida_bytes: + +patch_dword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_qword in module ida_bytes: + +patch_qword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_word in module ida_bytes: + +patch_word(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function prev_addr in module ida_bytes: + +prev_addr(*args) + prev_addr(ea) -> ea_t + + + Get previous address in the program. + + @param ea (C++: ea_t) + @return: BADADDR if no such address exist. + +Help on function prev_chunk in module ida_bytes: + +prev_chunk(*args) + 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. + +Help on function prev_head in module ida_bytes: + +prev_head(*args) + prev_head(ea, minea) -> ea_t + + + Get start of previous defined item. + + @param ea: begin search at this address (C++: ea_t) + @param minea: included in the search range (C++: ea_t) + @return: BADADDR if none exists. + +Help on function prev_inited in module ida_bytes: + +prev_inited(*args) + prev_inited(ea, minea) -> ea_t + + + Find the previous initialized address. + + + @param ea (C++: ea_t) + @param minea (C++: ea_t) + +Help on function prev_not_tail in module ida_bytes: + +prev_not_tail(*args) + prev_not_tail(ea) -> ea_t + + + Get address of previous non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function prev_that in module ida_bytes: + +prev_that(*args) + prev_that(ea, minea, callable) -> ea_t + + + Find previous address with a flag satisfying the function 'testf'.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: start searching from this address - 1. (C++: ea_t) + @param minea: included in the search range. (C++: ea_t) + @return: the found address or BADADDR . + +Help on function prev_unknown in module ida_bytes: + +prev_unknown(*args) + 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) + +Help on function print_strlit_type in module ida_bytes: + +print_strlit_type(*args) + 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: the string type (C++: int32) + @param flags: or'ed PSTF_* constants (C++: int) + @return: length of generated text + +Help on function put_byte in module ida_bytes: + +put_byte(*args) + 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.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: linear address (C++: ea_t) + @param x: byte value (C++: uint64) + @return: true if the database has been modified + +Help on function put_bytes in module ida_bytes: + +put_bytes(*args) + 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: linear address (C++: ea_t) + @param buf: buffer with new values of bytes (C++: const void *) + +Help on function put_dword in module ida_bytes: + +put_dword(*args) + put_dword(ea, x) + + + Set value of one dword of the program. This function takes into + account order of bytes specified in \inf{is_be()} This function works + for wide byte processors too.the original value of the dword is + completely lost and can't be recovered by the 'get_original_dword()' + function. + + @param ea: linear address (C++: ea_t) + @param x: dword value (C++: uint64) + +Help on function put_qword in module ida_bytes: + +put_qword(*args) + put_qword(ea, x) + + + Set value of one qword (8 bytes) of the program. This function takes + into account order of bytes specified in \inf{is_be()} This function + DOESN'T works for wide byte processors. + + @param ea: linear address (C++: ea_t) + @param x: qword value (C++: uint64) + +Help on function put_word in module ida_bytes: + +put_word(*args) + put_word(ea, x) + + + Set value of one word of the program. This function takes into account + order of bytes specified in \inf{is_be()} This function works for wide + byte processors too.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) + +Help on function qword_flag in module ida_bytes: + +qword_flag(*args) + qword_flag() -> flags_t + + + Get a flags_t representing a quad word. + +Help on function register_custom_data_format in module ida_bytes: + +register_custom_data_format(*args) + register_custom_data_format(py_df) -> int + + + Registers a custom data format with a given data type. + @param df: an instance of data_format_t + @return: + < 0 if failed to register + > 0 data format id + +Help on function register_custom_data_type in module ida_bytes: + +register_custom_data_type(*args) + register_custom_data_type(py_dt) -> int + + + Registers a custom data type. + @param dt: an instance of the data_type_t class + @return: + < 0 if failed to register + > 0 data type id + +Help on function register_data_types_and_formats in module ida_bytes: + +register_data_types_and_formats(formats) + 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 + +Help on function revert_byte in module ida_bytes: + +revert_byte(*args) + revert_byte(ea) -> bool + + + Revert patched byte + + @param ea (C++: ea_t) + +Help on function seg_flag in module ida_bytes: + +seg_flag(*args) + seg_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function set_cmt in module ida_bytes: + +set_cmt(*args) + set_cmt(ea, comm, rptble) -> bool + + + Set an indented comment. + + @param ea: linear address (C++: ea_t) + @param comm: comment string NULL: do nothing (return 0) "" : + delete comment (C++: const char *) + @param rptble: is repeatable? (C++: bool) + @return: success + +Help on function set_forced_operand in module ida_bytes: + +set_forced_operand(*args) + set_forced_operand(ea, n, op) -> bool + + + Set forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @param op: text of operand NULL: do nothing (return 0) "" : delete + forced operand (C++: const char *) + @return: success + +Help on function set_immd in module ida_bytes: + +set_immd(*args) + 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) + +Help on function set_lzero in module ida_bytes: + +set_lzero(*args) + set_lzero(ea, n) -> bool + + + Set toggle lzero bit. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function set_manual_insn in module ida_bytes: + +set_manual_insn(*args) + set_manual_insn(ea, manual_insn) + + + Set manual instruction string. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @param manual_insn: "" - delete manual string. NULL - do nothing (C++: + const char *) + +Help on function set_op_type in module ida_bytes: + +set_op_type(*args) + set_op_type(ea, type, n) -> bool + + + (internal function) change representation of operand(s). + + @param ea: linear address (C++: ea_t) + @param type: new flag value (should be obtained from char_flag() , + num_flag() and similar functions) (C++: flags_t) + @param n: number of operand (0, 1, -1) (C++: int) + +Help on function set_opinfo in module ida_bytes: + +set_opinfo(*args) + 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: linear address of the item (C++: ea_t) + @param n: number of operand, 0 or 1 (C++: int) + @param flag: flags of the item (C++: flags_t) + @param ti: additional representation information (C++: const opinfo_t + *) + @param suppress_events: do not generate changing_op_type and + op_type_changed events (C++: bool) + @return: success + +Help on function stkvar_flag in module ida_bytes: + +stkvar_flag(*args) + stkvar_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function strlit_flag in module ida_bytes: + +strlit_flag(*args) + strlit_flag() -> flags_t + + + Get a flags_t representing a string literal. + +Help on function stroff_flag in module ida_bytes: + +stroff_flag(*args) + stroff_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function stru_flag in module ida_bytes: + +stru_flag(*args) + stru_flag() -> flags_t + + + Get a flags_t representing a struct. + +Help on function tbyte_flag in module ida_bytes: + +tbyte_flag(*args) + tbyte_flag() -> flags_t + + + Get a flags_t representing a tbyte. + +Help on function toggle_bnot in module ida_bytes: + +toggle_bnot(*args) + toggle_bnot(ea, n) -> bool + + + Toggle binary negation of operand. also see 'is_bnot()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function toggle_lzero in module ida_bytes: + +toggle_lzero(*args) + toggle_lzero(ea, n) -> bool + +Help on function toggle_sign in module ida_bytes: + +toggle_sign(*args) + 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) + +Help on function unregister_custom_data_format in module ida_bytes: + +unregister_custom_data_format(*args) + unregister_custom_data_format(dfid) -> bool + + + Unregisters a custom data format + @param dfid: data format id + @return: Boolean + +Help on function unregister_custom_data_type in module ida_bytes: + +unregister_custom_data_type(*args) + unregister_custom_data_type(dtid) -> bool + + + Unregisters a custom data type. + @param dtid: the data type id + @return: Boolean + +Help on function unregister_data_types_and_formats in module ida_bytes: + +unregister_data_types_and_formats(formats) + As opposed to register_data_types_and_formats(), this function + unregisters multiple data types and formats at once. + +Help on function update_hidden_range in module ida_bytes: + +update_hidden_range(*args) + update_hidden_range(ha) -> bool + + + Update hidden range information in the database. You cannot use this + function to change the range boundaries + + @param ha: range to update (C++: const hidden_range_t *) + @return: success + +Help on function use_mapping in module ida_bytes: + +use_mapping(*args) + use_mapping(ea) -> ea_t + + + Translate address according to current mappings. + + @param ea: address to translate (C++: ea_t) + @return: translated address + +Help on function visit_patched_bytes in module ida_bytes: + +visit_patched_bytes(*args) + 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 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. + +Help on function word_flag in module ida_bytes: + +word_flag(*args) + word_flag() -> flags_t + + + Get a flags_t representing a word. + +Help on function yword_flag in module ida_bytes: + +yword_flag(*args) + yword_flag() -> flags_t + + + Get a flags_t representing a ymm word. + +Help on function zword_flag in module ida_bytes: + +zword_flag(*args) + zword_flag() -> flags_t + + + Get a flags_t representing a zmm word. + +=== ida_bytes EPYDOC INJECTIONS === +ida_bytes.ALOPT_IGNCLT +""" +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.) +""" + +ida_bytes.ALOPT_IGNHEADS +""" +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 +""" + +ida_bytes.ALOPT_IGNPRINT +""" +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)) +""" + +ida_bytes.ALOPT_MAX4K +""" +accumulated length + +if string length is more than 4K, return the +""" + +ida_bytes.BIN_SEARCH_BACKWARD +""" +search backward for bytes +""" + +ida_bytes.BIN_SEARCH_CASE +""" +case sensitive +""" + +ida_bytes.BIN_SEARCH_FORWARD +""" +search forward for bytes +""" + +ida_bytes.BIN_SEARCH_INITED +""" +find_byte, find_byter: any initilized value +""" + +ida_bytes.BIN_SEARCH_NOBREAK +""" +don't check for Ctrl-Break +""" + +ida_bytes.BIN_SEARCH_NOCASE +""" +case insensitive +""" + +ida_bytes.BIN_SEARCH_NOSHOW +""" +don't show search progress or update screen +""" + +ida_bytes.DELIT_DELNAMES +""" +delete any names at the specified address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_EXPAND +""" +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. +""" + +ida_bytes.DELIT_KEEPFUNC +""" +Just delete xrefs, ops e.t.c. + +do not undefine the function start. +""" + +ida_bytes.DELIT_NOCMT +""" +reject to delete if a comment is in address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_NOTRUNC +""" +even if 'AF_TRFUNC' is set + +don't truncate the current function +""" + +ida_bytes.DELIT_NOUNAME +""" +reject to delete if a user name is in address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_SIMPLE +""" +simply undefine the specified item(s) +""" + +ida_bytes.DTP_NODUP +""" +do not use dup construct +""" + +ida_bytes.DT_TYPE +""" +Mask for DATA typing. +""" + +ida_bytes.FF_0CHAR +""" +Char ('x')? +""" + +ida_bytes.FF_0CUST +""" +Custom representation? +""" + +ida_bytes.FF_0ENUM +""" +Enumeration? +""" + +ida_bytes.FF_0FLT +""" +Floating point number? +""" + +ida_bytes.FF_0FOP +""" +Forced operand? +""" + +ida_bytes.FF_0NUMB +""" +Binary number? +""" + +ida_bytes.FF_0NUMD +""" +Decimal number? +""" + +ida_bytes.FF_0NUMH +""" +Hexadecimal number? +""" + +ida_bytes.FF_0NUMO +""" +Octal number? +""" + +ida_bytes.FF_0OFF +""" +Offset? +""" + +ida_bytes.FF_0SEG +""" +Segment? +""" + +ida_bytes.FF_0STK +""" +Stack variable? +""" + +ida_bytes.FF_0STRO +""" +Struct offset? +""" + +ida_bytes.FF_0VOID +""" +Void (unknown)? +""" + +ida_bytes.FF_1CHAR +""" +Char ('x')? +""" + +ida_bytes.FF_1CUST +""" +Custom representation? +""" + +ida_bytes.FF_1ENUM +""" +Enumeration? +""" + +ida_bytes.FF_1FLT +""" +Floating point number? +""" + +ida_bytes.FF_1FOP +""" +Forced operand? +""" + +ida_bytes.FF_1NUMB +""" +Binary number? +""" + +ida_bytes.FF_1NUMD +""" +Decimal number? +""" + +ida_bytes.FF_1NUMH +""" +Hexadecimal number? +""" + +ida_bytes.FF_1NUMO +""" +Octal number? +""" + +ida_bytes.FF_1OFF +""" +Offset? +""" + +ida_bytes.FF_1SEG +""" +Segment? +""" + +ida_bytes.FF_1STK +""" +Stack variable? +""" + +ida_bytes.FF_1STRO +""" +Struct offset? +""" + +ida_bytes.FF_1VOID +""" +Void (unknown)? +""" + +ida_bytes.FF_ALIGN +""" +alignment directive +""" + +ida_bytes.FF_BNOT +""" +Bitwise negation of operands. +""" + +ida_bytes.FF_BYTE +""" +byte +""" + +ida_bytes.FF_CODE +""" +Code ? +""" + +ida_bytes.FF_COMM +""" +Has comment ? +""" + +ida_bytes.FF_CUSTOM +""" +custom data type +""" + +ida_bytes.FF_DATA +""" +Data ? +""" + +ida_bytes.FF_DOUBLE +""" +double +""" + +ida_bytes.FF_DWORD +""" +double word +""" + +ida_bytes.FF_FLOAT +""" +float +""" + +ida_bytes.FF_FLOW +""" +Exec flow from prev instruction. +""" + +ida_bytes.FF_FUNC +""" +function start? +""" + +ida_bytes.FF_IMMD +""" +Has Immediate value ? +""" + +ida_bytes.FF_IVL +""" +Byte has value ? +""" + +ida_bytes.FF_JUMP +""" +Has jump table or switch_info? +""" + +ida_bytes.FF_LABL +""" +Has dummy name? +""" + +ida_bytes.FF_LINE +""" +Has next or prev lines ? +""" + +ida_bytes.FF_NAME +""" +Has name ? +""" + +ida_bytes.FF_OWORD +""" +octaword/xmm word (16 bytes/128 bits) +""" + +ida_bytes.FF_PACKREAL +""" +packed decimal real +""" + +ida_bytes.FF_QWORD +""" +quadro word +""" + +ida_bytes.FF_REF +""" +has references +""" + +ida_bytes.FF_SIGN +""" +Inverted sign of operands. +""" + +ida_bytes.FF_STRLIT +""" +string literal +""" + +ida_bytes.FF_STRUCT +""" +struct variable +""" + +ida_bytes.FF_TAIL +""" +Tail ? +""" + +ida_bytes.FF_TBYTE +""" +tbyte +""" + +ida_bytes.FF_UNK +""" +Unknown ? +""" + +ida_bytes.FF_UNUSED +""" +unused bit (was used for variable bytes) +""" + +ida_bytes.FF_WORD +""" +word +""" + +ida_bytes.FF_YWORD +""" +ymm word (32 bytes/256 bits) +""" + +ida_bytes.FF_ZWORD +""" +zmm word (64 bytes/512 bits) +""" + +ida_bytes.GFE_VALUE +""" +get flags with 'FF_IVL' & 'MS_VAL' . It is much slower under remote +debugging because the kernel needs to read the process memory. +""" + +ida_bytes.GMB_READALL +""" +if this bit is not set, fail at first uninited byte + +try to read all bytes +""" + +ida_bytes.GMB_WAITBOX +""" +show wait box (may return -1 in this case) +""" + +ida_bytes.ITEM_END_FIXUP +""" +stop at the first fixup +""" + +ida_bytes.ITEM_END_INITED +""" +stop when initialization changes i.e.if is_loaded(ea): stop if +uninitialized byte is encounteredif !is_loaded(ea): stop if +initialized byte is encountered +""" + +ida_bytes.ITEM_END_NAME +""" +stop at the first named location +""" + +ida_bytes.ITEM_END_XREF +""" +stop at the first referenced location +""" + +ida_bytes.MS_0TYPE +""" +Mask for 1st arg typing. +""" + +ida_bytes.MS_1TYPE +""" +Mask for the type of other operands. +""" + +ida_bytes.MS_CLS +""" +Mask for typing. +""" + +ida_bytes.MS_CODE +""" +Mask for code bits. +""" + +ida_bytes.MS_COMM +""" +Mask of common bits. +""" + +ida_bytes.MS_VAL +""" +Mask for byte value. +""" + +ida_bytes.OPND_ALL +""" +all operands +""" + +ida_bytes.OPND_MASK +""" +mask for operand number +""" + +ida_bytes.OPND_OUTER +""" +used only in set, get, del_offset() functions + +outer offset base (combined with operand number). +""" + +ida_bytes.PSTF_ENC +""" +if encoding is specified, append it +""" + +ida_bytes.PSTF_HOTKEY +""" +have hotkey markers part of the name +""" + +ida_bytes.PSTF_TBRIEF +""" +use brief name (e.g., in the 'Strings window') +""" + +ida_bytes.PSTF_TINLIN +""" +use 'inline' name (e.g., in the structures comments) +""" + +ida_bytes.PSTF_TMASK +""" +type mask +""" + +ida_bytes.PSTF_TNORM +""" +use normal name +""" + +ida_bytes.STRCONV_ESCAPE +""" +convert non-printable characters to C escapes (, \\xNN, \\uNNNN) +""" + +ida_bytes.STRCONV_INCLLEN +""" +for Pascal-style strings, include the prefixing length byte(s) as +C-escaped sequence +""" + +ida_bytes.STRCONV_REPLCHAR +""" +convert non-printable characters to the Unicode replacement character +(U+FFFD) +""" +=== ida_bytes EPYDOC INJECTIONS END === +Help on class DBG_Hooks in module ida_dbg: + +class DBG_Hooks(__builtin__.object) + | Proxy of C++ DBG_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> DBG_Hooks + | + | __repr__ = _swig_repr(self) + | + | dbg_bpt(self, *args) + | dbg_bpt(self, tid, bptea) -> int + | + | dbg_bpt_changed(self, *args) + | dbg_bpt_changed(self, bptev_code, bpt) + | + | dbg_exception(self, *args) + | dbg_exception(self, pid, tid, ea, exc_code, exc_can_cont, exc_ea, exc_info) -> int + | + | dbg_finished_loading_bpts(self, *args) + | dbg_finished_loading_bpts(self) + | + | dbg_information(self, *args) + | dbg_information(self, pid, tid, ea, info) + | + | dbg_library_load(self, *args) + | dbg_library_load(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_library_unload(self, *args) + | dbg_library_unload(self, pid, tid, ea, info) + | + | dbg_process_attach(self, *args) + | dbg_process_attach(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_process_detach(self, *args) + | dbg_process_detach(self, pid, tid, ea) + | + | dbg_process_exit(self, *args) + | dbg_process_exit(self, pid, tid, ea, exit_code) + | + | dbg_process_start(self, *args) + | dbg_process_start(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_request_error(self, *args) + | dbg_request_error(self, failed_command, failed_dbg_notification) + | + | dbg_run_to(self, *args) + | dbg_run_to(self, pid, tid, ea) + | + | dbg_started_loading_bpts(self, *args) + | dbg_started_loading_bpts(self) + | + | dbg_step_into(self, *args) + | dbg_step_into(self) + | + | dbg_step_over(self, *args) + | dbg_step_over(self) + | + | dbg_step_until_ret(self, *args) + | dbg_step_until_ret(self) + | + | dbg_suspend_process(self, *args) + | dbg_suspend_process(self) + | + | dbg_thread_exit(self, *args) + | dbg_thread_exit(self, pid, tid, ea, exit_code) + | + | dbg_thread_start(self, *args) + | dbg_thread_start(self, pid, tid, ea) + | + | dbg_trace(self, *args) + | dbg_trace(self, tid, ip) -> int + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_DBG_Hooks(self) + +Help on function add_bpt in module ida_dbg: + +add_bpt(*args) + add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + add_bpt(bpt) -> bool + + + Add a new breakpoint in the debugged process. \sq{Type, Synchronous + function - available as request, Notification, none (synchronous + function)}Only one breakpoint can exist at a given address. + + @param ea: any address in the process memory space. Depending on the + architecture, hardware breakpoints always be setup at + random address. For example, on x86, hardware breakpoints + should be aligned depending on their size. Moreover, on the + x86 architecture, it is impossible to setup more than 4 + hardware breakpoints. (C++: ea_t) + @param size: size of the breakpoint (irrelevant for software + breakpoints): As for the address, hardware breakpoints + can't always be setup with random size. (C++: asize_t) + @param type: type of the breakpoint ( BPT_SOFT for software + breakpoint) special case BPT_DEFAULT ( BPT_SOFT | + BPT_EXEC ): try to add instruction breakpoint of the + appropriate type as follows: software bpt if supported, + hwbpt otherwise (C++: bpttype_t) + +Help on function add_path_mapping in module ida_dbg: + +add_path_mapping(*args) + add_path_mapping(src, dst) + +Help on function add_virt_module in module ida_dbg: + +add_virt_module(*args) + add_virt_module(mod) -> bool + +Help on function attach_process in module ida_dbg: + +attach_process(*args) + 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' + }This function shouldn't be called as a request if 'NO_PROCESS' is + used. + + @param pid: PID of the process to attach to. If NO_PROCESS , a dialog + box will interactively ask the user for the process to + attach to. (C++: pid_t) + @param event_id (C++: int) + +Help on class bpt_location_t in module ida_dbg: + +class bpt_location_t(__builtin__.object) + | Proxy of C++ bpt_location_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> bpt_location_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ea(self, *args) + | ea(self) -> ea_t + | + | is_empty_path(self, *args) + | is_empty_path(self) -> bool + | + | lineno(self, *args) + | lineno(self) -> int + | + | offset(self, *args) + | offset(self) -> uval_t + | + | path(self, *args) + | path(self) -> char const * + | + | set_abs_bpt(self, *args) + | set_abs_bpt(self, a) + | + | set_rel_bpt(self, *args) + | set_rel_bpt(self, mod, _offset) + | + | set_src_bpt(self, *args) + | set_src_bpt(self, fn, _lineno) + | + | set_sym_bpt(self, *args) + | set_sym_bpt(self, _symbol, _offset=0) + | + | symbol(self, *args) + | symbol(self) -> char const * + | + | type(self, *args) + | type(self) -> bpt_loctype_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | index + | bpt_location_t_index_get(self) -> int + | + | info + | bpt_location_t_info_get(self) -> ea_t + | + | loctype + | bpt_location_t_loctype_get(self) -> bpt_loctype_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bpt_location_t(self) + +Help on class bpt_t in module ida_dbg: + +class bpt_t(__builtin__.object) + | Proxy of C++ bpt_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bpt_t + | + | __repr__ = _swig_repr(self) + | + | badbpt(self, *args) + | badbpt(self) -> bool + | + | enabled(self, *args) + | enabled(self) -> bool + | + | get_cnd_elang_idx(self, *args) + | get_cnd_elang_idx(self) -> size_t + | + | get_size(self, *args) + | get_size(self) -> int + | + | is_absbpt(self, *args) + | is_absbpt(self) -> bool + | + | is_active(self, *args) + | is_active(self) -> bool + | + | is_compiled(self, *args) + | is_compiled(self) -> bool + | + | is_hwbpt(self, *args) + | is_hwbpt(self) -> bool + | + | is_inactive(self, *args) + | is_inactive(self) -> bool + | + | is_low_level(self, *args) + | is_low_level(self) -> bool + | + | is_page_bpt(self, *args) + | is_page_bpt(self) -> bool + | + | is_partially_active(self, *args) + | is_partially_active(self) -> bool + | + | is_relbpt(self, *args) + | is_relbpt(self) -> bool + | + | is_srcbpt(self, *args) + | is_srcbpt(self) -> bool + | + | is_symbpt(self, *args) + | is_symbpt(self) -> bool + | + | is_tracemodebpt(self, *args) + | is_tracemodebpt(self) -> bool + | + | is_traceoffbpt(self, *args) + | is_traceoffbpt(self) -> bool + | + | is_traceonbpt(self, *args) + | is_traceonbpt(self) -> bool + | + | listbpt(self, *args) + | listbpt(self) -> bool + | + | set_abs_bpt(self, *args) + | set_abs_bpt(self, a) + | + | set_rel_bpt(self, *args) + | set_rel_bpt(self, mod, o) + | + | set_src_bpt(self, *args) + | set_src_bpt(self, fn, lineno) + | + | set_sym_bpt(self, *args) + | set_sym_bpt(self, sym, o) + | + | set_trace_action(self, *args) + | set_trace_action(self, enable, trace_types) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | bpt_t_cb_get(self) -> size_t + | + | cndidx + | bpt_t_cndidx_get(self) -> int + | + | condition + | bpt_t_condition_get(self) -> PyObject * + | + | ea + | bpt_t_ea_get(self) -> ea_t + | + | elang + | bpt_t_elang_get(self) -> PyObject * + | + | flags + | bpt_t_flags_get(self) -> uint32 + | + | loc + | bpt_t_loc_get(self) -> bpt_location_t + | + | pass_count + | bpt_t_pass_count_get(self) -> int + | + | pid + | bpt_t_pid_get(self) -> pid_t + | + | props + | bpt_t_props_get(self) -> uint32 + | + | size + | bpt_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | tid + | bpt_t_tid_get(self) -> thid_t + | + | type + | bpt_t_type_get(self) -> bpttype_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bpt_t(self) + +Help on class bpt_vec_t in module ida_dbg: + +class bpt_vec_t(__builtin__.object) + | Proxy of C++ qvector< bpt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> bpt_t + | + | __init__(self, *args) + | __init__(self) -> bpt_vec_t + | __init__(self, x) -> bpt_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> bpt_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> bpt_t + | begin(self) -> bpt_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> bpt_t + | end(self) -> bpt_t + | + | erase(self, *args) + | erase(self, it) -> bpt_t + | erase(self, first, last) -> bpt_t + | + | extract(self, *args) + | extract(self) -> bpt_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=bpt_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> bpt_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> bpt_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bpt_vec_t(self) + +Help on function bring_debugger_to_front in module ida_dbg: + +bring_debugger_to_front(*args) + bring_debugger_to_front() + +Help on function check_bpt in module ida_dbg: + +check_bpt(*args) + check_bpt(ea) -> int + + + Check the breakpoint at the specified address. + + @param ea (C++: ea_t) + @return: one of Breakpoint status codes + +Help on function choose_trace_file in module ida_dbg: + +choose_trace_file(*args) + choose_trace_file() -> str + + + Show the choose trace dialog. + +Help on function clear_requests_queue in module ida_dbg: + +clear_requests_queue(*args) + clear_requests_queue() + + + Clear the queue of waiting requests. \sq{Type, Synchronous function, + Notification, none (synchronous function)}If a request is currently + running, this one isn't stopped. + +Help on function clear_trace in module ida_dbg: + +clear_trace(*args) + clear_trace() + + + Clear all events in the trace buffer. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + +Help on function collect_stack_trace in module ida_dbg: + +collect_stack_trace(*args) + collect_stack_trace(tid, trace) -> bool + +Help on function continue_process in module ida_dbg: + +continue_process(*args) + continue_process() -> bool + + + Continue the execution of the process in the debugger. \sq{Type, + Synchronous function - available as Request, Notification, none + (synchronous function)}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. + +Help on function create_source_viewer in module ida_dbg: + +create_source_viewer(*args) + 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) + +Help on function dbg_add_bpt_tev in module ida_dbg: + +dbg_add_bpt_tev(*args) + 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 + +Help on function dbg_add_call_tev in module ida_dbg: + +dbg_add_call_tev(*args) + 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) + +Help on function dbg_add_debug_event in module ida_dbg: + +dbg_add_debug_event(*args) + 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 *) + +Help on function dbg_add_insn_tev in module ida_dbg: + +dbg_add_insn_tev(*args) + 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) + @return: false if the operation failed, true otherwise + +Help on function dbg_add_many_tevs in module ida_dbg: + +dbg_add_many_tevs(*args) + 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 + +Help on function dbg_add_ret_tev in module ida_dbg: + +dbg_add_ret_tev(*args) + 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) + +Help on function dbg_add_tev in module ida_dbg: + +dbg_add_tev(*args) + 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) + @param tid (C++: thid_t) + @param address (C++: ea_t) + +Help on function dbg_add_thread in module ida_dbg: + +dbg_add_thread(*args) + dbg_add_thread(tid) + + + Add a thread to the current trace. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @param tid (C++: thid_t) + +Help on function dbg_bin_search in module ida_dbg: + +dbg_bin_search(*args) + dbg_bin_search(start_ea, end_ea, data, srch_flags) -> str + +Help on function dbg_can_query in module ida_dbg: + +dbg_can_query(*args) + 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 + +Help on function dbg_del_thread in module ida_dbg: + +dbg_del_thread(*args) + dbg_del_thread(tid) + + + Delete a thread from the current trace. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param tid (C++: thid_t) + +Help on function dbg_is_loaded in module ida_dbg: + +dbg_is_loaded(*args) + dbg_is_loaded() -> bool + + + Checks if a debugger is loaded + @return: Boolean + +Help on function define_exception in module ida_dbg: + +define_exception(*args) + define_exception(code, name, desc, flags) -> char const * + + + Convenience function: define new exception code. + + @param code: exception code (cannot be 0) (C++: uint) + @param name: exception name (cannot be empty or NULL) (C++: const char + *) + @param desc: exception description (maybe NULL) (C++: const char *) + @param flags: combination of Exception info flags (C++: int) + @return: failure message or NULL. You must call store_exceptions() + if this function succeeds + +Help on function del_bpt in module ida_dbg: + +del_bpt(*args) + del_bpt(ea) -> bool + del_bpt(bptloc) -> bool + + + Delete an existing breakpoint in the debugged process. \sq{Type, + Synchronous function - available as request, Notification, none + (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + +Help on function del_bptgrp in module ida_dbg: + +del_bptgrp(*args) + del_bptgrp(name) -> bool + +Help on function del_virt_module in module ida_dbg: + +del_virt_module(*args) + del_virt_module(base) -> bool + +Help on function detach_process in module ida_dbg: + +detach_process(*args) + detach_process() -> bool + + + Detach the debugger from the debugged process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_detach' } + +Help on function diff_trace_file in module ida_dbg: + +diff_trace_file(*args) + diff_trace_file(nonnul_filename) -> bool + + + Show difference between the current trace and the one from 'filename'. + +Help on function disable_bblk_trace in module ida_dbg: + +disable_bblk_trace(*args) + disable_bblk_trace() -> bool + +Help on function disable_bpt in module ida_dbg: + +disable_bpt(*args) + disable_bpt(ea) -> bool + disable_bpt(bptloc) -> bool + +Help on function disable_func_trace in module ida_dbg: + +disable_func_trace(*args) + disable_func_trace() -> bool + +Help on function disable_insn_trace in module ida_dbg: + +disable_insn_trace(*args) + disable_insn_trace() -> bool + +Help on function disable_step_trace in module ida_dbg: + +disable_step_trace(*args) + disable_step_trace() -> bool + +Help on function edit_manual_regions in module ida_dbg: + +edit_manual_regions(*args) + edit_manual_regions() + +Help on function enable_bblk_trace in module ida_dbg: + +enable_bblk_trace(*args) + enable_bblk_trace(enable=True) -> bool + +Help on function enable_bpt in module ida_dbg: + +enable_bpt(*args) + enable_bpt(ea, enable=True) -> bool + enable_bpt(bptloc, enable=True) -> bool + +Help on function enable_func_trace in module ida_dbg: + +enable_func_trace(*args) + enable_func_trace(enable=True) -> bool + +Help on function enable_insn_trace in module ida_dbg: + +enable_insn_trace(*args) + enable_insn_trace(enable=True) -> bool + +Help on function enable_manual_regions in module ida_dbg: + +enable_manual_regions(*args) + enable_manual_regions(enable) + +Help on function enable_step_trace in module ida_dbg: + +enable_step_trace(*args) + enable_step_trace(enable=True) -> bool + +Help on class eval_ctx_t in module ida_dbg: + +class eval_ctx_t(__builtin__.object) + | Proxy of C++ eval_ctx_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea) -> eval_ctx_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | eval_ctx_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_eval_ctx_t(self) + +Help on function exist_bpt in module ida_dbg: + +exist_bpt(*args) + exist_bpt(ea) -> bool + + + Does a breakpoint exist at the given location? + + + @param ea (C++: ea_t) + +Help on function exit_process in module ida_dbg: + +exit_process(*args) + exit_process() -> bool + + + Terminate the debugging of the current process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_exit' } + +Help on function find_bpt in module ida_dbg: + +find_bpt(*args) + find_bpt(bptloc, bpt) -> bool + + + Find a breakpoint by location. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param bptloc: Breakpoint location (C++: const bpt_location_t &) + @param bpt: bpt is filled if the breakpoint was found (C++: bpt_t *) + +Help on function get_bblk_trace_options in module ida_dbg: + +get_bblk_trace_options(*args) + get_bblk_trace_options() -> int + + + Get current basic block tracing options. Also see 'BT_LOG_INSTS' + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + +Help on function get_bpt in module ida_dbg: + +get_bpt(*args) + get_bpt(ea, bpt) -> bool + + + Get the characteristics of a breakpoint. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + @param bpt: if not NULL, is filled with the characteristics. (C++: + bpt_t *) + @return: false if no breakpoint exists + +Help on function get_bpt_group in module ida_dbg: + +get_bpt_group(*args) + get_bpt_group(bptloc) -> str + +Help on function get_bpt_qty in module ida_dbg: + +get_bpt_qty(*args) + get_bpt_qty() -> int + + + Get number of breakpoints. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function get_bpt_tev_ea in module ida_dbg: + +get_bpt_tev_ea(*args) + 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)}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. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a read, read/write or execution trace event. + +Help on function get_bptloc_string in module ida_dbg: + +get_bptloc_string(*args) + get_bptloc_string(i) -> char const * + + + Helper function for 'bpt_location_t' . + + + @param i (C++: int) + +Help on function get_call_tev_callee in module ida_dbg: + +get_call_tev_callee(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function call event. + +Help on function get_current_source_file in module ida_dbg: + +get_current_source_file(*args) + get_current_source_file(path) -> bool + +Help on function get_current_source_line in module ida_dbg: + +get_current_source_line(*args) + get_current_source_line() -> int + +Help on function get_current_thread in module ida_dbg: + +get_current_thread(*args) + get_current_thread() -> thid_t + + + Get current thread ID. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_dbg_byte in module ida_dbg: + +get_dbg_byte(*args) + get_dbg_byte(x, ea) -> bool + + + Get one byte of the debugged process memory. + + @param x: pointer to byte value (C++: uint32 *) + @param ea: linear address (C++: ea_t) + @return: true success + +Help on function get_dbg_memory_info in module ida_dbg: + +get_dbg_memory_info(*args) + get_dbg_memory_info(ranges) -> int + +Help on function get_dbg_reg_info in module ida_dbg: + +get_dbg_reg_info(*args) + get_dbg_reg_info(regname, ri) -> bool + + + Get register information \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param regname (C++: const char *) + @param ri (C++: register_info_t *) + +Help on function get_debug_event in module ida_dbg: + +get_debug_event(*args) + get_debug_event() -> debug_event_t + + + Get the current debugger event. + +Help on function get_debugger_event_cond in module ida_dbg: + +get_debugger_event_cond(*args) + get_debugger_event_cond() -> char const * + +Help on function get_first_module in module ida_dbg: + +get_first_module(*args) + get_first_module(modinfo) -> bool + +Help on function get_func_trace_options in module ida_dbg: + +get_func_trace_options(*args) + get_func_trace_options() -> int + + + Get current function tracing options. Also see 'FT_LOG_RET' \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_global_var in module ida_dbg: + +get_global_var(*args) + get_global_var(prov, ea, name, out) -> bool + +Help on function get_grp_bpts in module ida_dbg: + +get_grp_bpts(*args) + get_grp_bpts(bpts, grp_name) -> ssize_t + +Help on function get_insn_tev_reg_mem in module ida_dbg: + +get_insn_tev_reg_mem(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param memmap: result (C++: memreg_infos_t *) + @return: false if not an instruction event or no memory is available + +Help on function get_insn_tev_reg_result in module ida_dbg: + +get_insn_tev_reg_result(*args) + get_insn_tev_reg_result(n, regname, regval) -> bool + + + Read the resulting register value from an instruction trace event. + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param regname: name of desired register (C++: const char *) + @param regval: result (C++: regval_t *) + @return: false if not an instruction trace event or register wasn't + modified. + +Help on function get_insn_tev_reg_val in module ida_dbg: + +get_insn_tev_reg_val(*args) + get_insn_tev_reg_val(n, regname, regval) -> bool + + + Read a register value from an instruction trace event. \sq{Type, + Synchronous function, Notification, none (synchronous function)}This + is the value of the register before the execution of the instruction. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param regname: name of desired register (C++: const char *) + @param regval: result (C++: regval_t *) + @return: false if not an instruction event. + +Help on function get_insn_trace_options in module ida_dbg: + +get_insn_trace_options(*args) + get_insn_trace_options() -> int + + + Get current instruction tracing options. Also see 'IT_LOG_SAME_IP' + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + +Help on function get_ip_val in module ida_dbg: + +get_ip_val(*args) + get_ip_val() -> bool + + + Get value of the IP (program counter) register for the current thread. + Requires a suspended debugger. + +Help on function get_local_var in module ida_dbg: + +get_local_var(*args) + get_local_var(prov, ea, name, out) -> bool + +Help on function get_local_vars in module ida_dbg: + +get_local_vars(*args) + get_local_vars(prov, ea, out) -> bool + +Help on function get_manual_regions in module ida_dbg: + +get_manual_regions(*args) + get_manual_regions(ranges) + get_manual_regions() -> PyObject * + + + Returns the manual memory regions + @return: list(start_ea, end_ea, name, sclass, sbase, bitness, perm) + +Help on function get_module_info in module ida_dbg: + +get_module_info(*args) + get_module_info(ea, modinfo) -> bool + +Help on function get_next_module in module ida_dbg: + +get_next_module(*args) + get_next_module(modinfo) -> bool + +Help on function get_process_options in module ida_dbg: + +get_process_options(*args) + get_process_options(path, args, sdir, host, _pass, port) + + + Get process options. Any of the arguments may be NULL + + @param path (C++: qstring *) + @param args (C++: qstring *) + @param sdir (C++: qstring *) + @param host (C++: qstring *) + @param port (C++: int *) + +Help on function get_process_state in module ida_dbg: + +get_process_state(*args) + 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 + +Help on function get_processes in module ida_dbg: + +get_processes(*args) + 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 *) + @return: number of processes or -1 on error + +Help on function get_reg_val in module ida_dbg: + +get_reg_val(*args) + get_reg_val(regname, regval) -> bool + get_reg_val(regname, ival) -> bool + get_reg_val(regname) -> PyObject * + + + Read a register value from the current thread. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param regname (C++: const char *) + @param regval (C++: regval_t *) + +Help on function get_reg_vals in module ida_dbg: + +get_reg_vals(*args) + get_reg_vals(tid, clsmask, values) -> int + +Help on function get_ret_tev_return in module ida_dbg: + +get_ret_tev_return(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function return event. + +Help on function get_running_notification in module ida_dbg: + +get_running_notification(*args) + 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 + +Help on function get_running_request in module ida_dbg: + +get_running_request(*args) + 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 + +Help on function get_sp_val in module ida_dbg: + +get_sp_val(*args) + get_sp_val() -> bool + + + Get value of the SP register for the current thread. Requires a + suspended debugger. + +Help on function get_srcinfo_provider in module ida_dbg: + +get_srcinfo_provider(*args) + get_srcinfo_provider(name) -> srcinfo_provider_t * + +Help on function get_step_trace_options in module ida_dbg: + +get_step_trace_options(*args) + get_step_trace_options() -> int + + + Get current step tracing options. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @return: Step trace options + +Help on function get_tev_ea in module ida_dbg: + +get_tev_ea(*args) + get_tev_ea(n) -> ea_t + +Help on function get_tev_event in module ida_dbg: + +get_tev_event(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param d: result (C++: debug_event_t *) + @return: false if the tev_t object doesn't have any associated debug + event, true otherwise, with the debug event in "d". + +Help on function get_tev_info in module ida_dbg: + +get_tev_info(*args) + get_tev_info(n, tev_info) -> bool + + + Get main information about a trace event. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param tev_info: result (C++: tev_info_t *) + @return: success + +Help on function get_tev_memory_info in module ida_dbg: + +get_tev_memory_info(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param mi: result (C++: meminfo_vec_t *) + @return: false if the tev_t object is not of type tev_mem , true + otherwise, with the new memory layout in "mi". + +Help on function get_tev_qty in module ida_dbg: + +get_tev_qty(*args) + get_tev_qty() -> int + + + Get number of trace events available in trace buffer. \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_tev_reg_mem in module ida_dbg: + +get_tev_reg_mem(tev, idx) + +Help on function get_tev_reg_mem_ea in module ida_dbg: + +get_tev_reg_mem_ea(tev, idx) + +Help on function get_tev_reg_mem_qty in module ida_dbg: + +get_tev_reg_mem_qty(tev) + +Help on function get_tev_reg_val in module ida_dbg: + +get_tev_reg_val(tev, reg) + +Help on function get_tev_tid in module ida_dbg: + +get_tev_tid(*args) + get_tev_tid(n) -> int + +Help on function get_tev_type in module ida_dbg: + +get_tev_type(*args) + get_tev_type(n) -> int + +Help on function get_thread_qty in module ida_dbg: + +get_thread_qty(*args) + get_thread_qty() -> int + + + Get number of threads. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_trace_base_address in module ida_dbg: + +get_trace_base_address(*args) + 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 + +Help on function get_trace_file_desc in module ida_dbg: + +get_trace_file_desc(*args) + get_trace_file_desc(filename) -> str + + + Get the file header of the specified trace file. + + + @param filename (C++: const char *) + +Help on function get_trace_platform in module ida_dbg: + +get_trace_platform(*args) + get_trace_platform() -> char const * + + + Get platform name of current trace. + +Help on function getn_bpt in module ida_dbg: + +getn_bpt(*args) + getn_bpt(n, bpt) -> bool + + + Get the characteristics of a breakpoint. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param n: number of breakpoint, is in range 0.. get_bpt_qty() -1 (C++: + int) + @param bpt: filled with the characteristics. (C++: bpt_t *) + @return: false if no breakpoint exists + +Help on function getn_thread in module ida_dbg: + +getn_thread(*args) + getn_thread(n) -> thid_t + + + Get the ID of a thread. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: + int) + @return: NO_THREAD if the thread doesn't exist. + +Help on function getn_thread_name in module ida_dbg: + +getn_thread_name(*args) + getn_thread_name(n) -> char const * + + + Get the NAME of a thread \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 + for the current thread (C++: int) + @return: thread name or NULL if the thread doesn't exist. + +Help on function graph_trace in module ida_dbg: + +graph_trace(*args) + graph_trace() -> bool + + + Show the trace callgraph. + +Help on function handle_debug_event in module ida_dbg: + +handle_debug_event(*args) + handle_debug_event(ev, rqflags) -> int + +Help on function hide_all_bpts in module ida_dbg: + +hide_all_bpts(*args) + hide_all_bpts() -> int + +Help on function internal_get_sreg_base in module ida_dbg: + +internal_get_sreg_base(*args) + internal_get_sreg_base(tid, sreg_value) -> ea_t + + + Get the sreg base, for the given thread. + + @return: The sreg base, or BADADDR on failure. + +Help on function internal_ioctl in module ida_dbg: + +internal_ioctl(*args) + internal_ioctl(fn, buf, poutbuf, poutsize) -> int + +Help on function invalidate_dbg_state in module ida_dbg: + +invalidate_dbg_state(*args) + invalidate_dbg_state(dbginv) -> int + + + Invalidate cached debugger information. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param dbginv: Debugged process invalidation options (C++: int) + @return: current debugger state (one of Debugged process states ) + +Help on function invalidate_dbgmem_config in module ida_dbg: + +invalidate_dbgmem_config(*args) + 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) + +Help on function invalidate_dbgmem_contents in module ida_dbg: + +invalidate_dbgmem_contents(*args) + 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) + +Help on function is_bblk_trace_enabled in module ida_dbg: + +is_bblk_trace_enabled(*args) + is_bblk_trace_enabled() -> bool + +Help on function is_debugger_busy in module ida_dbg: + +is_debugger_busy(*args) + 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 + +Help on function is_debugger_memory in module ida_dbg: + +is_debugger_memory(*args) + is_debugger_memory(ea) -> bool + + + Is the address mapped to debugger memory? + + + @param ea (C++: ea_t) + +Help on function is_debugger_on in module ida_dbg: + +is_debugger_on(*args) + is_debugger_on() -> bool + + + Is the debugger currently running? + +Help on function is_func_trace_enabled in module ida_dbg: + +is_func_trace_enabled(*args) + is_func_trace_enabled() -> bool + + + Get current state of functions tracing. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + +Help on function is_insn_trace_enabled in module ida_dbg: + +is_insn_trace_enabled(*args) + is_insn_trace_enabled() -> bool + + + Get current state of instructions tracing. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + +Help on function is_reg_custom in module ida_dbg: + +is_reg_custom(*args) + 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 *) + +Help on function is_reg_float in module ida_dbg: + +is_reg_float(*args) + 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 *) + +Help on function is_reg_integer in module ida_dbg: + +is_reg_integer(*args) + 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 *) + +Help on function is_request_running in module ida_dbg: + +is_request_running(*args) + is_request_running() -> bool + + + Is a request currently running? + +Help on function is_step_trace_enabled in module ida_dbg: + +is_step_trace_enabled(*args) + is_step_trace_enabled() -> bool + + + Get current state of step tracing. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function is_valid_trace_file in module ida_dbg: + +is_valid_trace_file(*args) + is_valid_trace_file(filename) -> bool + + + Is the specified file a valid trace file for the current database? + + + @param filename (C++: const char *) + +Help on function list_bptgrps in module ida_dbg: + +list_bptgrps(*args) + list_bptgrps(bptgrps) -> size_t + list_bptgrps() -> PyObject * + +Help on function load_debugger in module ida_dbg: + +load_debugger(*args) + load_debugger(dbgname, use_remote) -> bool + +Help on function load_trace_file in module ida_dbg: + +load_trace_file(*args) + load_trace_file(filename) -> str + + + Load a recorded trace file in the trace 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 *) + +Help on class memreg_info_t in module ida_dbg: + +class memreg_info_t(__builtin__.object) + | Proxy of C++ memreg_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> memreg_info_t + | + | __repr__ = _swig_repr(self) + | + | get_bytes(self, *args) + | get_bytes(self) -> PyObject * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bytes + | get_bytes(self) -> PyObject * + | + | ea + | memreg_info_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_memreg_info_t(self) + +Help on class memreg_infos_t in module ida_dbg: + +class memreg_infos_t(__builtin__.object) + | Proxy of C++ qvector< memreg_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> memreg_info_t + | + | __init__(self, *args) + | __init__(self) -> memreg_infos_t + | __init__(self, x) -> memreg_infos_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> memreg_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> memreg_info_t + | begin(self) -> memreg_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> memreg_info_t + | end(self) -> memreg_info_t + | + | erase(self, *args) + | erase(self, it) -> memreg_info_t + | erase(self, first, last) -> memreg_info_t + | + | extract(self, *args) + | extract(self) -> memreg_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=memreg_info_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> memreg_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> memreg_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_memreg_infos_t(self) + +Help on function move_bpt_to_grp in module ida_dbg: + +move_bpt_to_grp(*args) + move_bpt_to_grp(bpt, grp_name) + + + Sets new group for the breakpoint + +Help on function put_dbg_byte in module ida_dbg: + +put_dbg_byte(*args) + put_dbg_byte(ea, x) -> bool + + + Change one byte of the debugged process memory. + + @param ea: linear address (C++: ea_t) + @param x: byte value (C++: uint32) + @return: true if the process memory has been modified + +Help on function read_dbg_memory in module ida_dbg: + +read_dbg_memory(*args) + read_dbg_memory(ea, buffer, size) -> ssize_t + +Help on function refresh_debugger_memory in module ida_dbg: + +refresh_debugger_memory(*args) + refresh_debugger_memory() -> PyObject * + + + Refreshes the debugger memory + @return: Nothing + +Help on function rename_bptgrp in module ida_dbg: + +rename_bptgrp(*args) + rename_bptgrp(old_name, new_name) -> bool + +Help on function request_add_bpt in module ida_dbg: + +request_add_bpt(*args) + request_add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + request_add_bpt(bpt) -> bool + + + Post an 'add_bpt(ea_t, asize_t, bpttype_t)' request. + + + @param ea (C++: ea_t) + @param size (C++: asize_t) + @param type (C++: bpttype_t) + +Help on function request_attach_process in module ida_dbg: + +request_attach_process(*args) + request_attach_process(pid, event_id) -> int + + + Post an 'attach_process()' request. + + + @param pid (C++: pid_t) + @param event_id (C++: int) + +Help on function request_clear_trace in module ida_dbg: + +request_clear_trace(*args) + request_clear_trace() + + + Post a 'clear_trace()' request. + +Help on function request_continue_process in module ida_dbg: + +request_continue_process(*args) + request_continue_process() -> bool + + + Post a 'continue_process()' request.This requires an explicit call to + 'run_requests()' + +Help on function request_del_bpt in module ida_dbg: + +request_del_bpt(*args) + request_del_bpt(ea) -> bool + request_del_bpt(bptloc) -> bool + + + Post a 'del_bpt(ea_t)' request. + + + @param ea (C++: ea_t) + +Help on function request_detach_process in module ida_dbg: + +request_detach_process(*args) + request_detach_process() -> bool + + + Post a 'detach_process()' request. + +Help on function request_disable_bblk_trace in module ida_dbg: + +request_disable_bblk_trace(*args) + request_disable_bblk_trace() -> bool + +Help on function request_disable_bpt in module ida_dbg: + +request_disable_bpt(*args) + request_disable_bpt(ea) -> bool + request_disable_bpt(bptloc) -> bool + +Help on function request_disable_func_trace in module ida_dbg: + +request_disable_func_trace(*args) + request_disable_func_trace() -> bool + +Help on function request_disable_insn_trace in module ida_dbg: + +request_disable_insn_trace(*args) + request_disable_insn_trace() -> bool + +Help on function request_disable_step_trace in module ida_dbg: + +request_disable_step_trace(*args) + request_disable_step_trace() -> bool + +Help on function request_enable_bblk_trace in module ida_dbg: + +request_enable_bblk_trace(*args) + request_enable_bblk_trace(enable=True) -> bool + +Help on function request_enable_bpt in module ida_dbg: + +request_enable_bpt(*args) + request_enable_bpt(ea, enable=True) -> bool + request_enable_bpt(bptloc, enable=True) -> bool + +Help on function request_enable_func_trace in module ida_dbg: + +request_enable_func_trace(*args) + request_enable_func_trace(enable=True) -> bool + +Help on function request_enable_insn_trace in module ida_dbg: + +request_enable_insn_trace(*args) + request_enable_insn_trace(enable=True) -> bool + +Help on function request_enable_step_trace in module ida_dbg: + +request_enable_step_trace(*args) + request_enable_step_trace(enable=True) -> bool + +Help on function request_exit_process in module ida_dbg: + +request_exit_process(*args) + request_exit_process() -> bool + + + Post an 'exit_process()' request. + +Help on function request_resume_thread in module ida_dbg: + +request_resume_thread(*args) + request_resume_thread(tid) -> int + + + Post a 'resume_thread()' request. + + + @param tid (C++: thid_t) + +Help on function request_run_to in module ida_dbg: + +request_run_to(*args) + 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) + @param tid (C++: thid_t) + +Help on function request_select_thread in module ida_dbg: + +request_select_thread(*args) + request_select_thread(tid) -> bool + + + Post a 'select_thread()' request. + + + @param tid (C++: thid_t) + +Help on function request_set_bblk_trace_options in module ida_dbg: + +request_set_bblk_trace_options(*args) + request_set_bblk_trace_options(options) + + + Post a 'set_bblk_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_func_trace_options in module ida_dbg: + +request_set_func_trace_options(*args) + request_set_func_trace_options(options) + + + Post a 'set_func_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_insn_trace_options in module ida_dbg: + +request_set_insn_trace_options(*args) + request_set_insn_trace_options(options) + + + Post a 'set_insn_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_reg_val in module ida_dbg: + +request_set_reg_val(*args) + request_set_reg_val(regname, o) -> PyObject * + + + Post a 'set_reg_val()' request. + + + @param regname (C++: const char *) + +Help on function request_set_resume_mode in module ida_dbg: + +request_set_resume_mode(*args) + request_set_resume_mode(tid, mode) -> bool + + + Post a 'set_resume_mode()' request. + + + @param tid (C++: thid_t) + @param mode (C++: resume_mode_t) + +Help on function request_set_step_trace_options in module ida_dbg: + +request_set_step_trace_options(*args) + request_set_step_trace_options(options) + + + Post a 'set_step_trace_options()' request. + + + @param options (C++: int) + +Help on function request_start_process in module ida_dbg: + +request_start_process(*args) + request_start_process(path=None, args=None, sdir=None) -> int + + + Post a 'start_process()' request. + + + @param path (C++: const char *) + @param args (C++: const char *) + @param sdir (C++: const char *) + +Help on function request_step_into in module ida_dbg: + +request_step_into(*args) + request_step_into() -> bool + + + Post a 'step_into()' request. + +Help on function request_step_over in module ida_dbg: + +request_step_over(*args) + request_step_over() -> bool + + + Post a 'step_over()' request. + +Help on function request_step_until_ret in module ida_dbg: + +request_step_until_ret(*args) + request_step_until_ret() -> bool + + + Post a 'step_until_ret()' request. + +Help on function request_suspend_process in module ida_dbg: + +request_suspend_process(*args) + request_suspend_process() -> bool + + + Post a 'suspend_process()' request. + +Help on function request_suspend_thread in module ida_dbg: + +request_suspend_thread(*args) + request_suspend_thread(tid) -> int + + + Post a 'suspend_thread()' request. + + + @param tid (C++: thid_t) + +Help on function resume_thread in module ida_dbg: + +resume_thread(*args) + resume_thread(tid) -> int + + + Resume thread. \sq{Type, Synchronous function - available as request, + Notification, none (synchronous function)} + + @param tid: thread id (C++: thid_t) + +Help on function retrieve_exceptions in module ida_dbg: + +retrieve_exceptions(*args) + 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 + +Help on function run_requests in module ida_dbg: + +run_requests(*args) + run_requests() -> bool + + + Execute requests until all requests are processed or an asynchronous + function is called. \sq{Type, Synchronous function, Notification, none + (synchronous function)}If called from a notification handler, the + execution of requests will be postponed to the end of the execution of + all notification handlers. + + @return: false if not all requests could be processed (indicates an + asynchronous function was started) + +Help on function run_to in module ida_dbg: + +run_to(*args) + 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: target address (C++: ea_t) + @param pid: not used yet. please do not specify this parameter. (C++: + pid_t) + @param tid: not used yet. please do not specify this parameter. (C++: + thid_t) + +Help on function save_trace_file in module ida_dbg: + +save_trace_file(*args) + save_trace_file(filename, description) -> bool + + + Save the current trace in the specified file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function select_thread in module ida_dbg: + +select_thread(*args) + 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: ID of the thread to select (C++: thid_t) + @return: false if the thread doesn't exist. + +Help on function send_dbg_command in module ida_dbg: + +send_dbg_command(command) + 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 + +Help on function set_bblk_trace_options in module ida_dbg: + +set_bblk_trace_options(*args) + set_bblk_trace_options(options) + + + Modify basic block tracing options (see 'BT_LOG_INSTS' ) + + + @param options (C++: int) + +Help on function set_bpt_group in module ida_dbg: + +set_bpt_group(*args) + set_bpt_group(bpt, grp_name) + +Help on function set_bptloc_group in module ida_dbg: + +set_bptloc_group(*args) + set_bptloc_group(bptloc, grp_name) -> bool + +Help on function set_bptloc_string in module ida_dbg: + +set_bptloc_string(*args) + set_bptloc_string(s) -> int + + + Helper function for 'bpt_location_t' . + + + @param s (C++: const char *) + +Help on function set_debugger_event_cond in module ida_dbg: + +set_debugger_event_cond(*args) + set_debugger_event_cond(nonnul_cond) + +Help on function set_debugger_options in module ida_dbg: + +set_debugger_options(*args) + 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 + +Help on function set_func_trace_options in module ida_dbg: + +set_func_trace_options(*args) + set_func_trace_options(options) + + + Modify function tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_highlight_trace_options in module ida_dbg: + +set_highlight_trace_options(*args) + 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) + +Help on function set_insn_trace_options in module ida_dbg: + +set_insn_trace_options(*args) + set_insn_trace_options(options) + + + Modify instruction tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_manual_regions in module ida_dbg: + +set_manual_regions(*args) + set_manual_regions(ranges) + +Help on function set_process_options in module ida_dbg: + +set_process_options(*args) + set_process_options(path, args, sdir, host, _pass, port) + + + Set process options. Any of the arguments may be NULL, which means 'do + not modify' + + @param path (C++: const char *) + @param args (C++: const char *) + @param sdir (C++: const char *) + @param host (C++: const char *) + @param port (C++: int) + +Help on function set_process_state in module ida_dbg: + +set_process_state(*args) + 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: new process state (one of Debugged process states ) + if DSTATE_NOTASK is passed then the state is not + changed (C++: int) + @param p_thid: ptr to new thread id. may be NULL or pointer to + NO_THREAD . the pointed variable will contain the old + thread id upon return (C++: thid_t *) + @param dbginv: Debugged process invalidation options (C++: int) + @return: old debugger state (one of Debugged process states ) + +Help on function set_reg_val in module ida_dbg: + +set_reg_val(*args) + set_reg_val(regname, o) -> PyObject + set_reg_val(tid, regidx, o) -> PyObject * + + + Write a register value to the current thread. \sq{Type, Synchronous + function - available as Request, Notification, none (synchronous + function)} + + @param regname (C++: const char *) + +Help on function set_remote_debugger in module ida_dbg: + +set_remote_debugger(*args) + set_remote_debugger(host, _pass, port=-1) + + + Set remote debugging options. Should be used before starting the + debugger. + + @param host: If empty, IDA will use local debugger. If NULL, the host + will not be set. (C++: const char *) + @param port: If -1, the default port number will be used (C++: int) + +Help on function set_resume_mode in module ida_dbg: + +set_resume_mode(*args) + 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) + +Help on function set_step_trace_options in module ida_dbg: + +set_step_trace_options(*args) + set_step_trace_options(options) + + + Modify step tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_trace_base_address in module ida_dbg: + +set_trace_base_address(*args) + 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) + +Help on function set_trace_file_desc in module ida_dbg: + +set_trace_file_desc(*args) + set_trace_file_desc(filename, description) -> bool + + + Change the description of the specified trace file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function set_trace_platform in module ida_dbg: + +set_trace_platform(*args) + set_trace_platform(platform) + + + Set platform name of current trace. + + + @param platform (C++: const char *) + +Help on function set_trace_size in module ida_dbg: + +set_trace_size(*args) + set_trace_size(size) -> bool + + + Specify the new size of the circular buffer. \sq{Type, Synchronous + function, Notification, none (synchronous function)}If you specify 0, + all available memory can be quickly used !!! + + @param size: 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. (C++: int) + +Help on function srcdbg_request_step_into in module ida_dbg: + +srcdbg_request_step_into(*args) + srcdbg_request_step_into() -> bool + +Help on function srcdbg_request_step_over in module ida_dbg: + +srcdbg_request_step_over(*args) + srcdbg_request_step_over() -> bool + +Help on function srcdbg_request_step_until_ret in module ida_dbg: + +srcdbg_request_step_until_ret(*args) + srcdbg_request_step_until_ret() -> bool + +Help on function srcdbg_step_into in module ida_dbg: + +srcdbg_step_into(*args) + srcdbg_step_into() -> bool + +Help on function srcdbg_step_over in module ida_dbg: + +srcdbg_step_over(*args) + srcdbg_step_over() -> bool + +Help on function srcdbg_step_until_ret in module ida_dbg: + +srcdbg_step_until_ret(*args) + srcdbg_step_until_ret() -> bool + +Help on function start_process in module ida_dbg: + +start_process(*args) + 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' }You can also + use the 'run_to()' function to easily start the execution of a process + until a given address is reached.For all parameters, a NULL value + indicates the debugger will take the value from the defined Process + Options. + + @param path: path to the executable to start (C++: const char *) + @param args: arguments to pass to process (C++: const char *) + @param sdir: starting directory for the process (C++: const char *) + +Help on function step_into in module ida_dbg: + +step_into(*args) + 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' } + +Help on function step_over in module ida_dbg: + +step_over(*args) + 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' } + +Help on function step_until_ret in module ida_dbg: + +step_until_ret(*args) + 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' } + +Help on function store_exceptions in module ida_dbg: + +store_exceptions(*args) + store_exceptions() -> bool + + + Update the exception information stored in the debugger module by + invoking its dbg->set_exception_info callback + +Help on function suspend_process in module ida_dbg: + +suspend_process(*args) + 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) }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. + +Help on function suspend_thread in module ida_dbg: + +suspend_thread(*args) + 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: thread id (C++: thid_t) + +Help on class tev_info_reg_t in module ida_dbg: + +class tev_info_reg_t(__builtin__.object) + | Proxy of C++ tev_info_reg_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tev_info_reg_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | info + | tev_info_reg_t_info_get(self) -> tev_info_t + | + | registers + | tev_info_reg_t_registers_get(self) -> tev_reg_values_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tev_info_reg_t(self) + +Help on class tev_info_t in module ida_dbg: + +class tev_info_t(__builtin__.object) + | Proxy of C++ tev_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tev_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | tev_info_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | tid + | tev_info_t_tid_get(self) -> thid_t + | + | type + | tev_info_t_type_get(self) -> tev_type_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tev_info_t(self) + +Help on class tev_reg_value_t in module ida_dbg: + +class tev_reg_value_t(__builtin__.object) + | Proxy of C++ tev_reg_value_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _reg_idx=-1, _value=uint64(-1)) -> tev_reg_value_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | reg_idx + | tev_reg_value_t_reg_idx_get(self) -> int + | + | thisown + | The membership flag + | + | value + | tev_reg_value_t_value_get(self) -> regval_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tev_reg_value_t(self) + +Help on class tev_reg_values_t in module ida_dbg: + +class tev_reg_values_t(__builtin__.object) + | Proxy of C++ qvector< tev_reg_value_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> tev_reg_value_t + | + | __init__(self, *args) + | __init__(self) -> tev_reg_values_t + | __init__(self, x) -> tev_reg_values_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> tev_reg_value_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> tev_reg_value_t + | begin(self) -> tev_reg_value_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> tev_reg_value_t + | end(self) -> tev_reg_value_t + | + | erase(self, *args) + | erase(self, it) -> tev_reg_value_t + | erase(self, first, last) -> tev_reg_value_t + | + | extract(self, *args) + | extract(self) -> tev_reg_value_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=tev_reg_value_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> tev_reg_value_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> tev_reg_value_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tev_reg_values_t(self) + +Help on class tevinforeg_vec_t in module ida_dbg: + +class tevinforeg_vec_t(__builtin__.object) + | Proxy of C++ qvector< tev_info_reg_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> tev_info_reg_t + | + | __init__(self, *args) + | __init__(self) -> tevinforeg_vec_t + | __init__(self, x) -> tevinforeg_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> tev_info_reg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> tev_info_reg_t + | begin(self) -> tev_info_reg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> tev_info_reg_t + | end(self) -> tev_info_reg_t + | + | erase(self, *args) + | erase(self, it) -> tev_info_reg_t + | erase(self, first, last) -> tev_info_reg_t + | + | extract(self, *args) + | extract(self) -> tev_info_reg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=tev_info_reg_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> tev_info_reg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> tev_info_reg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tevinforeg_vec_t(self) + +Help on function update_bpt in module ida_dbg: + +update_bpt(*args) + 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)}Only the following + fields can be modified: 'bpt_t::cndbody' 'bpt_t::pass_count' + 'bpt_t::flags' 'bpt_t::size' 'bpt_t::type' 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 *) + +Help on function wait_for_next_event in module ida_dbg: + +wait_for_next_event(*args) + 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: combination of Wait for debugger event flags constants + (C++: int) + @param timeout: number of seconds to wait, -1-infinity (C++: int) + @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= + 0) + +Help on function write_dbg_memory in module ida_dbg: + +write_dbg_memory(*args) + write_dbg_memory(ea, py_buf, size=size_t(-1)) -> ssize_t + +=== ida_dbg EPYDOC INJECTIONS === +ida_dbg.BKPT_ACTIVE +""" +active? +""" + +ida_dbg.BKPT_BADBPT +""" +failed to write the bpt to the process memory (at least one location) +""" + +ida_dbg.BKPT_CNDREADY +""" +condition has been compiled +""" + +ida_dbg.BKPT_FAKEPEND +""" +bpt of the same type is active at the same address(es) + +fake pending bpt: it is inactive but another +""" + +ida_dbg.BKPT_LISTBPT +""" +include in bpt list (user-defined bpt) +""" + +ida_dbg.BKPT_PAGE +""" +only after writing the bpt to the process. + +written to the process as a page bpt. is available +""" + +ida_dbg.BKPT_PARTIAL +""" +partially active? (some locations were not written yet) +""" + +ida_dbg.BKPT_TRACE +""" +trace bpt; should not be deleted when the process gets suspended +""" + +ida_dbg.BPTCK_ACT +""" +breakpoint is active (written to the process) +""" + +ida_dbg.BPTCK_NO +""" +breakpoint is disabled +""" + +ida_dbg.BPTCK_NONE +""" +breakpoint does not exist +""" + +ida_dbg.BPTCK_YES +""" +breakpoint is enabled +""" + +ida_dbg.BPTEV_ADDED +""" +Breakpoint has been added. +""" + +ida_dbg.BPTEV_CHANGED +""" +Breakpoint has been modified. +""" + +ida_dbg.BPTEV_REMOVED +""" +Breakpoint has been removed. +""" + +ida_dbg.BPT_BRK +""" +suspend execution upon hit +""" + +ida_dbg.BPT_ELANG_SHIFT +""" +index of the extlang (scripting language) of the condition +""" + +ida_dbg.BPT_ENABLED +""" +enabled? +""" + +ida_dbg.BPT_LOWCND +""" +condition is calculated at low level (on the server side) +""" + +ida_dbg.BPT_TRACE +""" +add trace information upon hit +""" + +ida_dbg.BPT_TRACEON +""" +enable tracing when the breakpoint is reached +""" + +ida_dbg.BPT_TRACE_BBLK +""" +basic block tracing +""" + +ida_dbg.BPT_TRACE_FUNC +""" +function tracing +""" + +ida_dbg.BPT_TRACE_INSN +""" +instruction tracing +""" + +ida_dbg.BPT_TRACE_TYPES +""" +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 +""" + +ida_dbg.BPT_UPDMEM +""" +refresh the memory layout and contents before evaluating bpt condition +""" + +ida_dbg.BT_LOG_INSTS +""" +log all instructions in the current basic block +""" + +ida_dbg.DBGINV_ALL +""" +invalidate everything +""" + +ida_dbg.DBGINV_MEMCFG +""" +invalidate cached process segmentation +""" + +ida_dbg.DBGINV_MEMORY +""" +invalidate cached memory contents +""" + +ida_dbg.DBGINV_NONE +""" +invalidate nothing +""" + +ida_dbg.DBGINV_REDRAW +""" +refresh the screen +""" + +ida_dbg.DBGINV_REGS +""" +invalidate cached register values +""" + +ida_dbg.DOPT_BPT_MSGS +""" +log breakpoints +""" + +ida_dbg.DOPT_END_BPT +""" +evaluate event condition on process end +""" + +ida_dbg.DOPT_ENTRY_BPT +""" +break on program entry point +""" + +ida_dbg.DOPT_EXCDLG +""" +exception dialogs: +""" + +ida_dbg.DOPT_INFO_BPT +""" +break on debugging information +""" + +ida_dbg.DOPT_INFO_MSGS +""" +log debugging info events +""" + +ida_dbg.DOPT_LIB_BPT +""" +break on library load/unload +""" + +ida_dbg.DOPT_LIB_MSGS +""" +log library loads/unloads +""" + +ida_dbg.DOPT_LOAD_DINFO +""" +automatically load debug files (pdb) +""" + +ida_dbg.DOPT_REAL_MEMORY +""" +do not hide breakpoint instructions +""" + +ida_dbg.DOPT_REDO_STACK +""" +reconstruct the stack +""" + +ida_dbg.DOPT_SEGM_MSGS +""" +log debugger segments modifications +""" + +ida_dbg.DOPT_START_BPT +""" +break on process start +""" + +ida_dbg.DOPT_TEMP_HWBPT +""" +when possible use hardware bpts for temp bpts +""" + +ida_dbg.DOPT_THREAD_BPT +""" +break on thread start/exit +""" + +ida_dbg.DOPT_THREAD_MSGS +""" +log thread starts/exits +""" + +ida_dbg.DSTATE_NOTASK +""" +no process is currently debugged +""" + +ida_dbg.DSTATE_RUN +""" +process is running +""" + +ida_dbg.DSTATE_SUSP +""" +process is suspended and will not continue +""" + +ida_dbg.EXCDLG_ALWAYS +""" +always display +""" + +ida_dbg.EXCDLG_NEVER +""" +never display exception dialogs +""" + +ida_dbg.EXCDLG_UNKNOWN +""" +display for unknown exceptions +""" + +ida_dbg.FT_LOG_RET +""" +function tracing will log returning instructions +""" + +ida_dbg.IT_LOG_SAME_IP +""" +instruction tracing will log instructions whose IP doesn't change +""" + +ida_dbg.ST_ALREADY_LOGGED +""" +step tracing will be disabled when IP is already logged +""" + +ida_dbg.ST_DIFFERENTIAL +""" +tracing: log only new instructions +""" + +ida_dbg.ST_OPTIONS_MASK +""" +mask of available options, to ensure compatibility with newer IDA +versions +""" + +ida_dbg.ST_OVER_DEBUG_SEG +""" +step tracing will be disabled when IP is in a debugger segment +""" + +ida_dbg.ST_OVER_LIB_FUNC +""" +step tracing will be disabled when IP is in a library function +""" + +ida_dbg.ST_SKIP_LOOPS +""" +step tracing will try to skip loops already recorded +""" + +ida_dbg.WFNE_ANY +""" +return the first event (even if it doesn't suspend the process) +""" + +ida_dbg.WFNE_CONT +""" +continue from the suspended state +""" + +ida_dbg.WFNE_NOWAIT +""" +(to be used with 'WFNE_CONT' ) + +do not wait for any event, immediately return 'DEC_TIMEOUT' +""" + +ida_dbg.WFNE_SILENT +""" +1: be slient, 0:display modal boxes if necessary +""" + +ida_dbg.WFNE_SUSP +""" +wait until the process gets suspended +""" + +ida_dbg.WFNE_USEC +""" +(minimum non-zero timeout is 40000us) + +timeout is specified in microseconds +""" +=== ida_dbg EPYDOC INJECTIONS END === +Help on function close_linput in module ida_diskio: + +close_linput(*args) + close_linput(li) + + + Close loader input. + + + @param li (C++: linput_t *) + +Help on function create_bytearray_linput in module ida_diskio: + +create_bytearray_linput(*args) + create_bytearray_linput(s) -> linput_t * + + + Trivial memory linput. + +Help on function create_generic_linput in module ida_diskio: + +create_generic_linput(*args) + create_generic_linput(gl) -> linput_t * + + + Create a generic linput + + @param gl: linput description. this object will be destroyed by + close_linput() using "delete gl;" (C++: generic_linput_t + *) + +Help on function create_memory_linput in module ida_diskio: + +create_memory_linput(*args) + 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: starting address of the input (C++: ea_t) + @param size: size of the memory area to represent as linput if + unknown, may be passed as 0 (C++: asize_t) + +Help on function eclose in module ida_diskio: + +eclose(*args) + eclose(fp) + +Help on function enumerate_files in module ida_diskio: + +enumerate_files(*args) + 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 + +Help on function fopenA in module ida_diskio: + +fopenA(*args) + fopenA(file) -> FILE * + + + Open a file for append in text mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenM in module ida_diskio: + +fopenM(*args) + fopenM(file) -> FILE * + + + Open a file for read/write in binary mode, deny write. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenRB in module ida_diskio: + +fopenRB(*args) + fopenRB(file) -> FILE * + + + Open a file for read in binary mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenRT in module ida_diskio: + +fopenRT(*args) + fopenRT(file) -> FILE * + + + Open a file for read in text mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenWB in module ida_diskio: + +fopenWB(*args) + 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 *) + @return: NULL if failure + +Help on function fopenWT in module ida_diskio: + +fopenWT(*args) + 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 *) + @return: NULL if failure + +Help on class generic_linput_t in module ida_diskio: + +class generic_linput_t(__builtin__.object) + | Proxy of C++ generic_linput_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | read(self, *args) + | read(self, off, buffer, nbytes) -> ssize_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blocksize + | generic_linput_t_blocksize_get(self) -> uint32 + | + | filesize + | generic_linput_t_filesize_get(self) -> uint64 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_generic_linput_t(self) + +Help on function get_ida_subdirs in module ida_diskio: + +get_ida_subdirs(*args) + 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: name of the resource to list (C++: const char *) + @param flags: Subdirectory modification flags bits (C++: int) + @return: number of directories appended to 'dirs' + +Help on function get_linput_type in module ida_diskio: + +get_linput_type(*args) + get_linput_type(li) -> linput_type_t + + + Get linput type. + + + @param li (C++: linput_t *) + +Help on function get_special_folder in module ida_diskio: + +get_special_folder(*args) + 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) + +Help on function get_user_idadir in module ida_diskio: + +get_user_idadir(*args) + 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) + +Help on function getsysfile in module ida_diskio: + +getsysfile(*args) + getsysfile(filename, subdir) -> str + + + Search for IDA system file. This function searches for a file in:each + directory specified by IDAUSR%ida directory [+ subdir] and returns the + first match. + + @param filename (C++: const char *) + @param subdir (C++: const char *) + @return: NULL if not found, otherwise a pointer to full file name. + +Help on function idadir in module ida_diskio: + +idadir(*args) + idadir(subdir) -> char const * + + + Get IDA directory (if subdir==NULL) or the specified subdirectory (see + 'IDA subdirectories' ) + + @param subdir (C++: const char *) + +Help on function open_linput in module ida_diskio: + +open_linput(*args) + open_linput(file, remote) -> linput_t * + + + Open loader input. + + + @param file (C++: const char *) + @param remote (C++: bool) + +Help on function qlgetz in module ida_diskio: + +qlgetz(*args) + 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) + +=== ida_diskio EPYDOC INJECTIONS === +ida_diskio.IDA_SUBDIR_IDADIR_FIRST +""" +$IDADIR/subdir will be first, not last +""" + +ida_diskio.IDA_SUBDIR_IDP +""" +append the processor name as a subdirectory +""" + +ida_diskio.IDA_SUBDIR_ONLY_EXISTING +""" +only existing directories will be present +""" +=== ida_diskio EPYDOC INJECTIONS END === +Help on function add_entry in module ida_entry: + +add_entry(*args) + add_entry(ord, ea, name, makecode, flags=0) -> bool + + + Add an entry point to the list of entry points. + + @param ord: ordinal number if ordinal number is equal to 'ea' then + ordinal is not used (C++: uval_t) + @param ea: linear address (C++: ea_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to the regular + comment. If name == NULL, then the old name will be + retained. (C++: const char *) + @param makecode: should the kernel convert bytes at the entry point to + instruction(s) (C++: bool) + @param flags: See AEF_* (C++: int) + @return: success (currently always true) + +Help on function get_entry in module ida_entry: + +get_entry(*args) + get_entry(ord) -> ea_t + + + Get entry point address by its ordinal + + @param ord: ordinal number of entry point (C++: uval_t) + @return: address or BADADDR + +Help on function get_entry_forwarder in module ida_entry: + +get_entry_forwarder(*args) + get_entry_forwarder(ord) -> str + + + Get forwarder name for the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry forwarder name or -1 + +Help on function get_entry_name in module ida_entry: + +get_entry_name(*args) + get_entry_name(ord) -> str + + + Get name of the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry name or -1 + +Help on function get_entry_ordinal in module ida_entry: + +get_entry_ordinal(*args) + get_entry_ordinal(idx) -> uval_t + + + Get ordinal number of an entry point. + + @param idx: internal number of entry point. Should be in the range 0.. + get_entry_qty() -1 (C++: size_t) + @return: ordinal number or 0. + +Help on function get_entry_qty in module ida_entry: + +get_entry_qty(*args) + get_entry_qty() -> size_t + + + Get number of entry points. + +Help on function rename_entry in module ida_entry: + +rename_entry(*args) + rename_entry(ord, name, flags=0) -> bool + + + Rename entry point. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to a repeatable + comment. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +Help on function set_entry_forwarder in module ida_entry: + +set_entry_forwarder(*args) + set_entry_forwarder(ord, name, flags=0) -> bool + + + Set forwarder name for ordinal. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: forwarder name for entry point. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +=== ida_entry EPYDOC INJECTIONS === +ida_entry.AEF_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly Specifying AEF_IDBENC also implies AEF_NODUMMY +""" + +ida_entry.AEF_NODUMMY +""" +it begins with a dummy suffix. See also AEF_IDBENC + +automatically prepend the name with '_' if +""" + +ida_entry.AEF_UTF8 +""" +the name is given in UTF-8 (default) +""" +=== ida_entry EPYDOC INJECTIONS END === +Help on function add_enum in module ida_enum: + +add_enum(*args) + add_enum(idx, name, flag) -> enum_t + + + Add new enum type.if idx== 'BADADDR' then add as the last idxif + name==NULL then generate a unique name "enum_%d" + + @param idx (C++: size_t) + @param name (C++: const char *) + @param flag (C++: flags_t) + +Help on function add_enum_member in module ida_enum: + +add_enum_member(*args) + add_enum_member(id, name, value, bmask=(bmask_t(-1))) -> int + + + Add member to enum type. + + @param id (C++: enum_t) + @param name (C++: const char *) + @param value (C++: uval_t) + @param bmask (C++: bmask_t) + @return: 0 if ok, otherwise one of Add enum member result codes + +Help on function del_enum in module ida_enum: + +del_enum(*args) + del_enum(id) + + + Delete an enum type. + + + @param id (C++: enum_t) + +Help on function del_enum_member in module ida_enum: + +del_enum_member(*args) + del_enum_member(id, value, serial, bmask) -> bool + + + Delete member of enum type. + + + @param id (C++: enum_t) + @param value (C++: uval_t) + @param serial (C++: uchar) + @param bmask (C++: bmask_t) + +Help on class enum_member_visitor_t in module ida_enum: + +class enum_member_visitor_t(__builtin__.object) + | Proxy of C++ enum_member_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> enum_member_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_enum_member(self, *args) + | visit_enum_member(self, cid, value) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enum_member_visitor_t(self) + +Help on function for_all_enum_members in module ida_enum: + +for_all_enum_members(*args) + for_all_enum_members(id, cv) -> int + + + Visit all members of a given enum. + + + @param id (C++: enum_t) + @param cv (C++: enum_member_visitor_t &) + +Help on function get_bmask_cmt in module ida_enum: + +get_bmask_cmt(*args) + get_bmask_cmt(id, bmask, repeatable) -> str + +Help on function get_bmask_name in module ida_enum: + +get_bmask_name(*args) + get_bmask_name(id, bmask) -> str + +Help on function get_enum in module ida_enum: + +get_enum(*args) + get_enum(name) -> enum_t + + + Get enum by name. + + + @param name (C++: const char *) + +Help on function get_enum_cmt in module ida_enum: + +get_enum_cmt(*args) + get_enum_cmt(id, repeatable) -> str + + + Get enum comment. + + + @param id (C++: enum_t) + @param repeatable (C++: bool) + +Help on function get_enum_flag in module ida_enum: + +get_enum_flag(*args) + get_enum_flag(id) -> flags_t + + + Get flags determining the representation of the enum. (currently they + define the numeric base: octal, decimal, hex, bin) and signness. + + @param id (C++: enum_t) + +Help on function get_enum_idx in module ida_enum: + +get_enum_idx(*args) + get_enum_idx(id) -> uval_t + + + Get serial number of enum. The serial number determines the place of + the enum in the enum window. + + @param id (C++: enum_t) + +Help on function get_enum_member in module ida_enum: + +get_enum_member(*args) + get_enum_member(id, value, serial, mask) -> const_t + + + Find an enum member by enum, value and bitmaskif serial -1, return a + member with any serial + + @param id (C++: enum_t) + @param value (C++: uval_t) + @param serial (C++: int) + @param mask (C++: bmask_t) + +Help on function get_enum_member_bmask in module ida_enum: + +get_enum_member_bmask(*args) + get_enum_member_bmask(id) -> bmask_t + + + Get bitmask of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_by_name in module ida_enum: + +get_enum_member_by_name(*args) + get_enum_member_by_name(name) -> const_t + + + Get a reference to an enum member by its name. + + + @param name (C++: const char *) + +Help on function get_enum_member_cmt in module ida_enum: + +get_enum_member_cmt(*args) + get_enum_member_cmt(id, repeatable) -> str + + + Get enum member's comment. + + + @param id (C++: const_t) + @param repeatable (C++: bool) + +Help on function get_enum_member_enum in module ida_enum: + +get_enum_member_enum(*args) + get_enum_member_enum(id) -> enum_t + + + Get the parent enum of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_name in module ida_enum: + +get_enum_member_name(*args) + get_enum_member_name(id) -> str + + + Get name of an enum member by const_t. + + + @param id (C++: const_t) + +Help on function get_enum_member_serial in module ida_enum: + +get_enum_member_serial(*args) + get_enum_member_serial(cid) -> uchar + + + Get serial number of an enum member. + + + @param cid (C++: const_t) + +Help on function get_enum_member_value in module ida_enum: + +get_enum_member_value(*args) + get_enum_member_value(id) -> uval_t + + + Get value of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_name in module ida_enum: + +get_enum_name(*args) + get_enum_name(id) -> str + + + Get name of enum. + + + @param id (C++: enum_t) + +Help on function get_enum_name2 in module ida_enum: + +get_enum_name2(*args) + get_enum_name2(id, flags=0) -> str + + + Get name of enum + + @param id: enum id (C++: enum_t) + @param flags: Enum name flags (C++: int) + +Help on function get_enum_qty in module ida_enum: + +get_enum_qty(*args) + get_enum_qty() -> size_t + + + Get number of declared 'enum_t' types. + +Help on function get_enum_size in module ida_enum: + +get_enum_size(*args) + get_enum_size(id) -> size_t + + + Get the number of the members of the enum. + + + @param id (C++: enum_t) + +Help on function get_enum_type_ordinal in module ida_enum: + +get_enum_type_ordinal(*args) + get_enum_type_ordinal(id) -> int32 + + + Get corresponding type ordinal number. + + + @param id (C++: enum_t) + +Help on function get_enum_width in module ida_enum: + +get_enum_width(*args) + get_enum_width(id) -> size_t + + + Get the width of a enum element allowed values: 0 + (unspecified),1,2,4,8,16,32,64 + + @param id (C++: enum_t) + +Help on function get_first_bmask in module ida_enum: + +get_first_bmask(*args) + get_first_bmask(id) -> bmask_t + + + Get first bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the smallest bitmask for enum, or DEFMASK + +Help on function get_first_enum_member in module ida_enum: + +get_first_enum_member(*args) + get_first_enum_member(id, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_first_serial_enum_member in module ida_enum: + +get_first_serial_enum_member(*args) + get_first_serial_enum_member(id, value, bmask) -> const_t + +Help on function get_last_bmask in module ida_enum: + +get_last_bmask(*args) + get_last_bmask(id) -> bmask_t + + + Get last bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the biggest bitmask for enum, or DEFMASK + +Help on function get_last_enum_member in module ida_enum: + +get_last_enum_member(*args) + get_last_enum_member(id, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_last_serial_enum_member in module ida_enum: + +get_last_serial_enum_member(*args) + get_last_serial_enum_member(id, value, bmask) -> const_t + +Help on function get_next_bmask in module ida_enum: + +get_next_bmask(*args) + get_next_bmask(id, bmask) -> bmask_t + + + Get next bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value higher than the specified + value, or DEFMASK + +Help on function get_next_enum_member in module ida_enum: + +get_next_enum_member(*args) + get_next_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_next_serial_enum_member in module ida_enum: + +get_next_serial_enum_member(*args) + get_next_serial_enum_member(in_out_serial, first_cid) -> const_t + +Help on function get_prev_bmask in module ida_enum: + +get_prev_bmask(*args) + get_prev_bmask(id, bmask) -> bmask_t + + + Get prev bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value lower than the specified value, + or DEFMASK + +Help on function get_prev_enum_member in module ida_enum: + +get_prev_enum_member(*args) + get_prev_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_prev_serial_enum_member in module ida_enum: + +get_prev_serial_enum_member(*args) + get_prev_serial_enum_member(in_out_serial, first_cid) -> const_t + +Help on function getn_enum in module ida_enum: + +getn_enum(*args) + getn_enum(n) -> enum_t + + + Get enum by its ordinal number (0..n). + + + @param n (C++: size_t) + +Help on function is_bf in module ida_enum: + +is_bf(*args) + is_bf(id) -> bool + + + Is enum a bitfield? (otherwise - plain enum, no bitmasks except for + 'DEFMASK' are allowed) + + @param id (C++: enum_t) + +Help on function is_enum_fromtil in module ida_enum: + +is_enum_fromtil(*args) + is_enum_fromtil(id) -> bool + + + Does enum come from type library? + + + @param id (C++: enum_t) + +Help on function is_enum_hidden in module ida_enum: + +is_enum_hidden(*args) + is_enum_hidden(id) -> bool + + + Is enum collapsed? + + + @param id (C++: enum_t) + +Help on function is_ghost_enum in module ida_enum: + +is_ghost_enum(*args) + is_ghost_enum(id) -> bool + + + Is a ghost copy of a local type? + + + @param id (C++: enum_t) + +Help on function is_one_bit_mask in module ida_enum: + +is_one_bit_mask(*args) + is_one_bit_mask(mask) -> bool + + + Is bitmask one bit? + + + @param mask (C++: bmask_t) + +Help on function set_bmask_cmt in module ida_enum: + +set_bmask_cmt(*args) + set_bmask_cmt(id, bmask, cmt, repeatable) -> bool + +Help on function set_bmask_name in module ida_enum: + +set_bmask_name(*args) + set_bmask_name(id, bmask, name) -> bool + +Help on function set_enum_bf in module ida_enum: + +set_enum_bf(*args) + set_enum_bf(id, bf) -> bool + + + Set 'bitfield' bit of enum (i.e. convert it to a bitfield) + + + @param id (C++: enum_t) + @param bf (C++: bool) + +Help on function set_enum_cmt in module ida_enum: + +set_enum_cmt(*args) + set_enum_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum type. + + + @param id (C++: enum_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_flag in module ida_enum: + +set_enum_flag(*args) + set_enum_flag(id, flag) -> bool + + + Set data representation flags. + + + @param id (C++: enum_t) + @param flag (C++: flags_t) + +Help on function set_enum_fromtil in module ida_enum: + +set_enum_fromtil(*args) + set_enum_fromtil(id, fromtil) -> bool + + + Specify that enum comes from a type library. + + + @param id (C++: enum_t) + @param fromtil (C++: bool) + +Help on function set_enum_ghost in module ida_enum: + +set_enum_ghost(*args) + set_enum_ghost(id, ghost) -> bool + + + Specify that enum is a ghost copy of a local type. + + + @param id (C++: enum_t) + @param ghost (C++: bool) + +Help on function set_enum_hidden in module ida_enum: + +set_enum_hidden(*args) + set_enum_hidden(id, hidden) -> bool + + + Collapse enum. + + + @param id (C++: enum_t) + @param hidden (C++: bool) + +Help on function set_enum_idx in module ida_enum: + +set_enum_idx(*args) + set_enum_idx(id, idx) -> bool + + + Set serial number of enum. Also see 'get_enum_idx()' . + + @param id (C++: enum_t) + @param idx (C++: size_t) + +Help on function set_enum_member_cmt in module ida_enum: + +set_enum_member_cmt(*args) + set_enum_member_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum member. + + + @param id (C++: const_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_member_name in module ida_enum: + +set_enum_member_name(*args) + set_enum_member_name(id, name) -> bool + + + Set name of enum member. + + + @param id (C++: const_t) + @param name (C++: const char *) + +Help on function set_enum_name in module ida_enum: + +set_enum_name(*args) + set_enum_name(id, name) -> bool + + + Set name of enum type. + + + @param id (C++: enum_t) + @param name (C++: const char *) + +Help on function set_enum_type_ordinal in module ida_enum: + +set_enum_type_ordinal(*args) + set_enum_type_ordinal(id, ord) + + + Set corresponding type ordinal number. + + + @param id (C++: enum_t) + @param ord (C++: int32) + +Help on function set_enum_width in module ida_enum: + +set_enum_width(*args) + set_enum_width(id, width) -> bool + + + See comment for 'get_enum_width()' + + + @param id (C++: enum_t) + @param width (C++: int) + +=== ida_enum EPYDOC INJECTIONS === +ida_enum.DEFMASK +""" +default bitmask +""" + +ida_enum.ENFL_REGEX +""" +apply regular expressions to beautify the name +""" + +ida_enum.ENUM_MEMBER_ERROR_ENUM +""" +bad enum id +""" + +ida_enum.ENUM_MEMBER_ERROR_ILLV +""" +bad bmask and value combination (~bmask & value != 0) +""" + +ida_enum.ENUM_MEMBER_ERROR_MASK +""" +bad bmask +""" + +ida_enum.ENUM_MEMBER_ERROR_NAME +""" +already have member with this name (bad name) +""" + +ida_enum.ENUM_MEMBER_ERROR_VALUE +""" +already have 256 members with this value +""" +=== ida_enum EPYDOC INJECTIONS END === +Help on class _IdcFunction in module ida_expr: + +class _IdcFunction(__builtin__.object) + | Internal class that calls pyw_call_idc_func() with a context + | + | Methods defined here: + | + | __call__(self, args, res) + | + | __init__(self, ctxptr) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fp_ptr + +Help on function add_idc_class in module ida_expr: + +add_idc_class(*args) + add_idc_class(name, super=None) -> idc_class_t * + + + Create a new IDC class. + + @param name: name of the new class (C++: const char *) + @param super: the base class for the new class. if the new class is + not based on any other class, pass NULL (C++: const + idc_class_t *) + @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. + +Help on function add_idc_func in module ida_expr: + +add_idc_func(name, fp, args, defvals=None, flags=0) + Extends the IDC language by exposing a new IDC function that is backed up by a Python function + + @param name: IDC function name to expose + @param fp: Python callable that will receive the arguments and return a tuple. + @param args: Arguments. A tuple of idaapi.VT_XXX constants + @param flags: IDC function flags. A combination of EXTFUN_XXX constants + + @return: Boolean + + + 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 + ", 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, NULL, 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"); + + If the function already exists, it will be replaced by the new + function + + @return: success + +Help on function add_idc_gvar in module ida_expr: + +add_idc_gvar(*args) + add_idc_gvar(name) -> idc_value_t + + + Add global IDC variable. + + @param name: name of the global variable (C++: const char *) + @return: pointer to the created variable or existing variable. NB: the + returned pointer is valid until a new global var is added. + +Help on function compile_idc_file in module ida_expr: + +compile_idc_file(*args) + compile_idc_file(nonnul_line) -> str + +Help on function compile_idc_snippet in module ida_expr: + +compile_idc_snippet(*args) + compile_idc_snippet(func, text, resolver=None, only_safe_funcs=False) -> str + + + Compile text with IDC statements. + + @param func: name of the function to create out of the snippet (C++: + const char *) + @param text: text to compile (C++: const char *) + @param resolver: callback object to get values of undefined variables + This object will be called if IDC function contains + references to undefined variables. May be NULL. (C++: + idc_resolver_t *) + @param only_safe_funcs: if true, any calls to functions without + EXTFUN_SAFE flag will lead to a compilation + error. (C++: bool) + +Help on function compile_idc_text in module ida_expr: + +compile_idc_text(*args) + compile_idc_text(nonnul_line) -> str + +Help on function copy_idcv in module ida_expr: + +copy_idcv(*args) + 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 &) + +Help on function create_idcv_ref in module ida_expr: + +create_idcv_ref(*args) + create_idcv_ref(ref, v) -> bool + + + Create a variable reference. Currently only references to global + variables can be created. + + @param ref: ptr to the result (C++: idc_value_t *) + @param v: variable to reference (C++: const idc_value_t *) + @return: success + +Help on function deep_copy_idcv in module ida_expr: + +deep_copy_idcv(*args) + 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 &) + +Help on function del_idc_func in module ida_expr: + +del_idc_func(name) + Unregisters the specified IDC function + + @param name: IDC function name to unregister + + @return: Boolean + + + Delete an IDC function + +Help on function del_idcv_attr in module ida_expr: + +del_idcv_attr(*args) + del_idcv_attr(obj, attr) -> error_t + + + Delete an object attribute. + + @param obj: variable that holds an object reference (C++: idc_value_t + *) + @param attr: attribute name (C++: const char *) + @return: error code, eOk on success + +Help on function deref_idcv in module ida_expr: + +deref_idcv(*args) + deref_idcv(v, vref_flags) -> idc_value_t + + + Dereference a 'VT_REF' variable. + + @param v: variable to dereference (C++: idc_value_t *) + @param vref_flags: Dereference IDC variable flags (C++: int) + @return: pointer to the dereference result or NULL. If returns NULL, + qerrno is set to eExecBadRef "Illegal variable reference" + +Help on function eval_expr in module ida_expr: + +eval_expr(*args) + eval_expr(rv, where, line) -> str + + + Compile and calculate an expression. + + @param rv: pointer to the result (C++: idc_value_t *) + @param where: 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 . (C++: ea_t) + @param line: the expression to evaluate (C++: const char *) + +Help on function eval_idc_expr in module ida_expr: + +eval_idc_expr(*args) + 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) + +Help on function exec_idc_script in module ida_expr: + +exec_idc_script(*args) + exec_idc_script(result, path, func, args, argsnum) -> str + + + Compile and execute IDC function(s) from file. + + @param result: ptr to idc_value_t to hold result of the function. If + execution fails, this variable will contain the + exception information. You may pass NULL if you are not + interested in the returned value. (C++: idc_value_t *) + @param path: text file containing text of IDC functions (C++: const + char *) + @param func: function name to execute (C++: const char *) + @param args: array of parameters (C++: const idc_value_t) + @param argsnum: number of parameters to pass to 'fname' This number + should be equal to number of parameters the function + expects. (C++: size_t) + +Help on function exec_system_script in module ida_expr: + +exec_system_script(*args) + exec_system_script(file, complain_if_no_file=True) -> bool + + + Compile and execute "main" function from system file. + + @param file: file name with IDC function(s). The file will be searched + in the idc subdir of ida (C++: const char *) + @param complain_if_no_file: 1: display warning if the file is not + found 0: don't complain if file doesn't + exist (C++: bool) + +Help on function find_idc_class in module ida_expr: + +find_idc_class(*args) + find_idc_class(name) -> idc_class_t * + + + Find an existing IDC class by its name. + + @param name: name of the class (C++: const char *) + @return: pointer to the class or NULL. The returned pointer is valid + until a new call to add_idc_class() + +Help on function find_idc_func in module ida_expr: + +find_idc_func(*args) + find_idc_func(prefix, n=0) -> str + +Help on function find_idc_gvar in module ida_expr: + +find_idc_gvar(*args) + find_idc_gvar(name) -> idc_value_t + + + Find an existing global IDC variable by its name. + + @param name: name of the global variable (C++: const char *) + @return: pointer to the variable or NULL. 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 + +Help on function first_idcv_attr in module ida_expr: + +first_idcv_attr(*args) + first_idcv_attr(obj) -> char const * + +Help on function free_idcv in module ida_expr: + +free_idcv(*args) + 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 *) + +Help on function get_idc_filename in module ida_expr: + +get_idc_filename(*args) + get_idc_filename(file) -> str + + + Get full name of IDC file name. Search for file in list of include + directories, IDCPATH directory and the current directory. + + @param file: file name without full path (C++: const char *) + @return: NULL is file not found. otherwise returns pointer to buf + +Help on function get_idcv_attr in module ida_expr: + +get_idcv_attr(*args) + get_idcv_attr(res, obj, attr, may_use_getattr=False) -> error_t + + + Get an object attribute. + + @param res: buffer for the attribute value (C++: idc_value_t *) + @param obj: variable that holds an object reference. if obj is NULL it + searches global variables, then user functions (C++: const + idc_value_t *) + @param attr: attribute name (C++: const char *) + @param may_use_getattr: may call getattr functions to calculate the + attribute if it does not exist (C++: bool) + @return: error code, eOk on success + +Help on function get_idcv_class_name in module ida_expr: + +get_idcv_class_name(*args) + get_idcv_class_name(obj) -> str + + + Retrieves the IDC object class name. + + @param obj: class instance variable (C++: const idc_value_t *) + @return: error code, eOk on success + +Help on function get_idcv_slice in module ida_expr: + +get_idcv_slice(*args) + get_idcv_slice(res, v, i1, i2, flags=0) -> error_t + + + Get slice. + + @param res: output variable that will contain the slice (C++: + idc_value_t *) + @param v: input variable (string or object) (C++: const idc_value_t + *) + @param i1: slice start index (C++: uval_t) + @param i2: slice end index (excluded) (C++: uval_t) + @param flags: IDC variable slice flags or 0 (C++: int) + @return: eOk if success + +Help on class highlighter_cbs_t in module ida_expr: + +class highlighter_cbs_t(__builtin__.object) + | Proxy of C++ highlighter_cbs_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> highlighter_cbs_t + | + | __repr__ = _swig_repr(self) + | + | cur_block_state(self, *args) + | cur_block_state(self) -> int32 + | + | prev_block_state(self, *args) + | prev_block_state(self) -> int32 + | + | set_block_state(self, *args) + | set_block_state(self, arg0) + | + | set_style(self, *args) + | set_style(self, arg0, arg1, arg2) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_highlighter_cbs_t(self) + +Help on class idc_global_t in module ida_expr: + +class idc_global_t(__builtin__.object) + | Proxy of C++ idc_global_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idc_global_t + | __init__(self, n) -> idc_global_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | idc_global_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | idc_global_t_value_get(self) -> idc_value_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idc_global_t(self) + +Help on class idc_value_t in module ida_expr: + +class idc_value_t(__builtin__.object) + | Proxy of C++ idc_value_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=0) -> idc_value_t + | __init__(self, r) -> idc_value_t + | __init__(self, _str) -> idc_value_t + | + | __repr__ = _swig_repr(self) + | + | _create_empty_string(self, *args) + | _create_empty_string(self) + | + | _idc_value_t__get_e = __get_e(self, *args) + | __get_e(self) -> wrapped_array_t< ushort,6 > + | + | c_str(self, *args) + | c_str(self) -> char const * + | + | clear(self, *args) + | clear(self) + | + | create_empty_string(self, *args) + | create_empty_string(self) + | + | is_convertible(self, *args) + | is_convertible(self) -> bool + | + | is_integral(self, *args) + | is_integral(self) -> bool + | + | is_zero(self, *args) + | is_zero(self) -> bool + | + | qstr(self, *args) + | qstr(self) -> qstring + | qstr(self) -> qstring const & + | + | set_float(self, *args) + | set_float(self, f) + | + | set_int64(self, *args) + | set_int64(self, v) + | + | set_long(self, *args) + | set_long(self, v) + | + | set_pvoid(self, *args) + | set_pvoid(self, p) + | + | set_string(self, *args) + | set_string(self, _str, len) + | set_string(self, _str) + | + | swap(self, *args) + | swap(self, v) + | + | u_str(self, *args) + | u_str(self) -> uchar const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | __get_e(self) -> wrapped_array_t< ushort,6 > + | + | funcidx + | idc_value_t_funcidx_get(self) -> int + | + | i64 + | idc_value_t_i64_get(self) -> int64 + | + | num + | idc_value_t_num_get(self) -> sval_t + | + | obj + | idc_value_t_obj_get(self) -> idc_object_t * + | + | pvoid + | idc_value_t_pvoid_get(self) -> void * + | + | reserve + | idc_value_t_reserve_get(self) -> uchar [sizeof(qstring)] + | + | str + | + | thisown + | The membership flag + | + | vtype + | idc_value_t_vtype_get(self) -> char + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idc_value_t(self) + +Help on class idc_values_t in module ida_expr: + +class idc_values_t(__builtin__.object) + | Proxy of C++ qvector< idc_value_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> idc_value_t + | + | __init__(self, *args) + | __init__(self) -> idc_values_t + | __init__(self, x) -> idc_values_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> idc_value_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> idc_value_t + | begin(self) -> idc_value_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> idc_value_t + | end(self) -> idc_value_t + | + | erase(self, *args) + | erase(self, it) -> idc_value_t + | erase(self, first, last) -> idc_value_t + | + | extract(self, *args) + | extract(self) -> idc_value_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=idc_value_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> idc_value_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> idc_value_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idc_values_t(self) + +Help on function idcv_float in module ida_expr: + +idcv_float(*args) + idcv_float(v) -> error_t + + + Convert IDC variable to a floating point. + + + @param v (C++: idc_value_t *) + +Help on function idcv_int64 in module ida_expr: + +idcv_int64(*args) + 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 + +Help on function idcv_long in module ida_expr: + +idcv_long(*args) + 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 + +Help on function idcv_num in module ida_expr: + +idcv_num(*args) + 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 + +Help on function idcv_object in module ida_expr: + +idcv_object(*args) + idcv_object(v, icls=None) -> error_t + + + Create an IDC object. The original value of 'v' is discarded (freed). + + @param v: variable to hold the object. any previous value will be + cleaned (C++: idc_value_t *) + @param icls: ptr to the desired class. NULL means "object" class this + ptr must be returned by add_idc_class() or + find_idc_class() (C++: const idc_class_t *) + @return: always eOk + +Help on function idcv_string in module ida_expr: + +idcv_string(*args) + idcv_string(v) -> error_t + + + Convert IDC variable to a text string. + + + @param v (C++: idc_value_t *) + +Help on function last_idcv_attr in module ida_expr: + +last_idcv_attr(*args) + last_idcv_attr(obj) -> char const * + +Help on function move_idcv in module ida_expr: + +move_idcv(*args) + 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 *) + +Help on function next_idcv_attr in module ida_expr: + +next_idcv_attr(*args) + next_idcv_attr(obj, attr) -> char const * + +Help on function prev_idcv_attr in module ida_expr: + +prev_idcv_attr(*args) + prev_idcv_attr(obj, attr) -> char const * + +Help on function print_idcv in module ida_expr: + +print_idcv(*args) + print_idcv(v, name=None, indent=0) -> str + + + Get text representation of 'idc_value_t' . + + + @param v (C++: const idc_value_t &) + @param name (C++: const char *) + @param indent (C++: int) + +Help on function py_add_idc_func in module ida_expr: + +py_add_idc_func(*args) + py_add_idc_func(name, fp_ptr, args, defvals, flags) -> bool + +Help on function py_get_call_idc_func in module ida_expr: + +py_get_call_idc_func(*args) + py_get_call_idc_func() -> size_t + +Help on function pyw_convert_defvals in module ida_expr: + +pyw_convert_defvals(*args) + pyw_convert_defvals(out, py_seq) -> bool + +Help on function pyw_register_idc_func in module ida_expr: + +pyw_register_idc_func(*args) + pyw_register_idc_func(name, args, py_fp) -> size_t + +Help on function pyw_unregister_idc_func in module ida_expr: + +pyw_unregister_idc_func(*args) + pyw_unregister_idc_func(ctxptr) -> bool + +Help on function set_header_path in module ida_expr: + +set_header_path(*args) + 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: list of directories to add (separated by ';') may be + NULL, in this case nothing is added (C++: const char *) + @param add: true: append. false: remove old paths. (C++: bool) + +Help on function set_idcv_attr in module ida_expr: + +set_idcv_attr(*args) + set_idcv_attr(obj, attr, value, may_use_setattr=False) -> error_t + + + Set an object attribute. + + @param obj: variable that holds an object reference. if obj is NULL + then it tries to modify a global variable with the + attribute name (C++: idc_value_t *) + @param attr: attribute name (C++: const char *) + @param value: new attribute value (C++: const idc_value_t &) + @param may_use_setattr: may call setattr functions for the class (C++: + bool) + @return: error code, eOk on success + +Help on function set_idcv_slice in module ida_expr: + +set_idcv_slice(*args) + set_idcv_slice(v, i1, i2, _in, flags=0) -> error_t + + + Set slice. + + @param v: variable to modify (string or object) (C++: idc_value_t *) + @param i1: slice start index (C++: uval_t) + @param i2: slice end index (excluded) (C++: uval_t) + @param flags: IDC variable slice flags or 0 (C++: int) + @return: eOk on success + +Help on function swap_idcvs in module ida_expr: + +swap_idcvs(*args) + swap_idcvs(v1, v2) + + + Swap 2 variables. + + + @param v1 (C++: idc_value_t *) + @param v2 (C++: idc_value_t *) + +Help on function throw_idc_exception in module ida_expr: + +throw_idc_exception(*args) + 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: object to hold the exception object (C++: idc_value_t *) + @param desc: exception description (C++: const char *) + @return: eExecThrow + +=== ida_expr EPYDOC INJECTIONS === +ida_expr.CPL_DEL_MACROS +""" +delete macros at the end of compilation +""" + +ida_expr.CPL_ONLY_SAFE +""" +allow calls of only thread-safe functions +""" + +ida_expr.CPL_USE_LABELS +""" +allow program labels in the script +""" + +ida_expr.IDC_LANG_EXT +""" +IDC script extension. +""" + +ida_expr.VARSLICE_SINGLE +""" +return single index (i2 is ignored) +""" + +ida_expr.VREF_COPY +""" +copy the result to the input var (v) +""" + +ida_expr.VREF_LOOP +""" +dereference until we get a non 'VT_REF' +""" + +ida_expr.VREF_ONCE +""" +dereference only once, do not loop +""" + +ida_expr.VT_FLOAT +""" +Floating point (see 'idc_value_t::e' ) +""" + +ida_expr.VT_FUNC +""" +Function (see 'idc_value_t::funcidx' ) +""" + +ida_expr.VT_INT64 +""" +i64 +""" + +ida_expr.VT_LONG +""" +Integer (see 'idc_value_t::num' ) +""" + +ida_expr.VT_OBJ +""" +Object (see idc_value_t::obj) +""" + +ida_expr.VT_PVOID +""" +void * +""" + +ida_expr.VT_REF +""" +Reference. +""" + +ida_expr.VT_STR +""" +String (see qstr() and similar functions) +""" + +ida_expr.VT_WILD +""" +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' . +""" + +ida_expr.eExecThrow +""" +See return value of 'idc_func_t' . +""" +=== ida_expr EPYDOC INJECTIONS END === +Help on function calc_fixup_size in module ida_fixup: + +calc_fixup_size(*args) + calc_fixup_size(type) -> int + + + Calculate size of fixup in bytes (the number of bytes the fixup + patches) + + @param type (C++: fixup_type_t) + +Help on function contains_fixups in module ida_fixup: + +contains_fixups(*args) + contains_fixups(ea, size) -> bool + + + Does the specified address range contain any fixup information? + + + @param ea (C++: ea_t) + @param size (C++: asize_t) + +Help on function del_fixup in module ida_fixup: + +del_fixup(*args) + del_fixup(source) + + + Delete fixup information. + + + @param source (C++: ea_t) + +Help on function exists_fixup in module ida_fixup: + +exists_fixup(*args) + exists_fixup(source) -> bool + + + Check that a fixup exists at the given address. + + + @param source (C++: ea_t) + +Help on function find_custom_fixup in module ida_fixup: + +find_custom_fixup(*args) + find_custom_fixup(name) -> fixup_type_t + + + Get id of a custom fixup handler. + + @param name: name of the custom fixup handler (C++: const char *) + @return: id with FIXUP_CUSTOM bit set or 0 + +Help on class fixup_data_t in module ida_fixup: + +class fixup_data_t(__builtin__.object) + | Proxy of C++ fixup_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> fixup_data_t + | __init__(self, type_, flags_=0) -> fixup_data_t + | + | __repr__ = _swig_repr(self) + | + | calc_size(self, *args) + | calc_size(self) -> int + | + | clr_extdef(self, *args) + | clr_extdef(self) + | + | clr_unused(self, *args) + | clr_unused(self) + | + | get(self, *args) + | get(self, source) -> bool + | + | get_base(self, *args) + | get_base(self) -> ea_t + | + | get_desc(self, *args) + | get_desc(self, source) -> char const * + | + | get_flags(self, *args) + | get_flags(self) -> uint32 + | + | get_handler(self, *args) + | get_handler(self) -> fixup_handler_t const * + | + | get_type(self, *args) + | get_type(self) -> fixup_type_t + | + | get_value(self, *args) + | get_value(self, ea) -> uval_t + | + | has_base(self, *args) + | has_base(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_extdef(self, *args) + | is_extdef(self) -> bool + | + | is_unused(self, *args) + | is_unused(self) -> bool + | + | patch_value(self, *args) + | patch_value(self, ea) -> bool + | + | set(self, *args) + | set(self, source) + | + | set_base(self, *args) + | set_base(self, new_base) + | + | set_extdef(self, *args) + | set_extdef(self) + | + | set_sel(self, *args) + | set_sel(self, seg) + | + | set_target_sel(self, *args) + | set_target_sel(self) + | + | set_type(self, *args) + | set_type(self, type_) + | + | set_type_and_flags(self, *args) + | set_type_and_flags(self, type_, flags_=0) + | + | set_unused(self, *args) + | set_unused(self) + | + | was_created(self, *args) + | was_created(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | displacement + | fixup_data_t_displacement_get(self) -> adiff_t + | + | off + | fixup_data_t_off_get(self) -> ea_t + | + | sel + | fixup_data_t_sel_get(self) -> sel_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_fixup_data_t(self) + +Help on class fixup_info_t in module ida_fixup: + +class fixup_info_t(__builtin__.object) + | Proxy of C++ fixup_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> fixup_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | fixup_info_t_ea_get(self) -> ea_t + | + | fd + | fixup_info_t_fd_get(self) -> fixup_data_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_fixup_info_t(self) + +Help on function gen_fix_fixups in module ida_fixup: + +gen_fix_fixups(*args) + 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) + +Help on function get_first_fixup_ea in module ida_fixup: + +get_first_fixup_ea(*args) + get_first_fixup_ea() -> ea_t + + + Get the first address with fixup information + + @return: the first address with fixup information, or BADADDR + +Help on function get_fixup in module ida_fixup: + +get_fixup(*args) + get_fixup(fd, source) -> bool + + + Get fixup information. + + + @param fd (C++: fixup_data_t *) + @param source (C++: ea_t) + +Help on function get_fixup_desc in module ida_fixup: + +get_fixup_desc(*args) + get_fixup_desc(source, fd) -> str + + + Get FIXUP description comment. + + + @param source (C++: ea_t) + @param fd (C++: const fixup_data_t &) + +Help on function get_fixup_handler in module ida_fixup: + +get_fixup_handler(*args) + get_fixup_handler(type) -> fixup_handler_t const * + + + Get handler of standard or custom fixup. + + + @param type (C++: fixup_type_t) + +Help on function get_fixup_value in module ida_fixup: + +get_fixup_value(*args) + 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 'patch_fixup_value()' `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. + 'fixup_handler_t::size' + + @param ea: address to get fixup bytes from, the size of the fixup + bytes depends on the fixup type. (C++: ea_t) + @param type (C++: fixup_type_t) + +Help on function get_fixups in module ida_fixup: + +get_fixups(*args) + get_fixups(out, ea, size) -> bool + +Help on function get_next_fixup_ea in module ida_fixup: + +get_next_fixup_ea(*args) + get_next_fixup_ea(ea) -> ea_t + + + Find next address with fixup information + + @param ea: current address (C++: ea_t) + @return: the next address with fixup information, or BADADDR + +Help on function get_prev_fixup_ea in module ida_fixup: + +get_prev_fixup_ea(*args) + get_prev_fixup_ea(ea) -> ea_t + + + Find previous address with fixup information + + @param ea: current address (C++: ea_t) + @return: the previous address with fixup information, or BADADDR + +Help on function is_fixup_custom in module ida_fixup: + +is_fixup_custom(*args) + is_fixup_custom(type) -> bool + + + Is fixup processed by processor module? + + + @param type (C++: fixup_type_t) + +Help on function patch_fixup_value in module ida_fixup: + +patch_fixup_value(*args) + 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. 'fixup_handler_t::size' + + @param ea: address where data are changed, the size of the changed + data depends on the fixup type. (C++: ea_t) + @param fd (C++: const fixup_data_t &) + +Help on function set_fixup in module ida_fixup: + +set_fixup(*args) + 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: the fixup source address, i.e. the address modified by + the fixup (C++: ea_t) + @param fd: fixup data (C++: const fixup_data_t &) + +=== ida_fixup EPYDOC INJECTIONS === +ida_fixup.FIXUPF_CREATED +""" +fixup was not present in the input file +""" + +ida_fixup.FIXUPF_EXTDEF +""" +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. +""" + +ida_fixup.FIXUPF_LOADER_MASK +""" +additional flags. The bits from this mask are not stored in the +database and can be used by the loader at its discretion. +""" + +ida_fixup.FIXUPF_REL +""" +fixup is relative to the linear address `base' . Otherwise fixup is +relative to the start of the segment with `sel' selector. +""" + +ida_fixup.FIXUPF_UNUSED +""" +fixup is ignored by IDAdisallows the kernel to convert operandsthis +fixup is not used during output +""" +=== ida_fixup EPYDOC INJECTIONS END === +Help on class qfile_t in module ida_fpro: + +class qfile_t(__builtin__.object) + | Proxy of C++ qfile_t class. + | + | + | A helper class to work with FILE related functions. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, rhs) -> qfile_t + | __init__(self, pycapsule=None) -> qfile_t + | + | + | Closes the file + | + | __repr__ = _swig_repr(self) + | + | close(self, *args) + | close(self) + | + | filename(self, *args) + | filename(self) -> PyObject * + | + | flush(self, *args) + | flush(self) -> int + | + | + | Reads a single byte from the file. Returns None if EOF or the read byte + | + | get_char(self, *args) + | get_char(self) -> PyObject * + | + | get_fp(self, *args) + | get_fp(self) -> FILE * + | + | gets(self, *args) + | gets(self, size) -> PyObject * + | + | + | Reads a line from the input file. Returns the read line or None + | + | open(self, *args) + | open(self, filename, mode) -> bool + | + | + | Opens a file + | + | @param filename: the file name + | @param mode: The mode string, ala fopen() style + | @return: Boolean + | + | opened(self, *args) + | opened(self) -> bool + | + | + | Checks if the file is opened or not + | + | put_char(self, *args) + | put_char(self, chr) -> int + | + | puts(self, *args) + | puts(self, str) -> int + | + | read(self, *args) + | read(self, size) -> PyObject * + | + | + | Reads from the file. Returns the buffer or None + | + | readbytes(self, *args) + | readbytes(self, size, big_endian) -> PyObject * + | + | + | Similar to read() but it respect the endianness + | + | seek(self, *args) + | seek(self, offset, whence=SEEK_SET) -> int + | + | + | Set input source position + | @return: the new position (not 0 as fseek!) + | + | size(self, *args) + | size(self) -> int64 + | + | tell(self, *args) + | tell(self) -> int64 + | + | + | Returns the current position + | + | write(self, *args) + | write(self, py_buf) -> int + | + | + | Writes to the file. Returns 0 or the number of bytes written + | + | writebytes(self, *args) + | writebytes(self, py_buf, big_endian) -> int + | + | + | Similar to write() but it respect the endianness + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | from_capsule(*args) + | from_capsule(pycapsule) -> qfile_t + | + | from_fp(*args) + | from_fp(fp) -> qfile_t + | + | tmpfile(*args) + | tmpfile() -> qfile_t + | + | + | A static method to construct an instance using a temporary file + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __idc_cvt_id__ + | qfile_t___idc_cvt_id___get(self) -> int + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qfile_t(self) + +Help on function qfile_t_from_capsule in module ida_fpro: + +qfile_t_from_capsule(*args) + qfile_t_from_capsule(pycapsule) -> qfile_t + +Help on function qfile_t_from_fp in module ida_fpro: + +qfile_t_from_fp(*args) + qfile_t_from_fp(fp) -> qfile_t + +Help on function qfile_t_tmpfile in module ida_fpro: + +qfile_t_tmpfile(*args) + qfile_t_tmpfile() -> qfile_t + +Help on function add_auto_stkpnt in module ida_frame: + +add_auto_stkpnt(*args) + add_auto_stkpnt(pfn, ea, delta) -> bool + + + Add automatic SP register change point. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address where SP changes. usually this is the end of + the instruction which modifies the stack pointer + (\cmd{ea}+\cmd{size}) (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function add_frame in module ida_frame: + +add_frame(*args) + add_frame(pfn, frsize, frregs, argsize) -> bool + + + Add function frame. + + @param pfn: pointer to function structure (C++: func_t *) + @param frsize: size of function local variables (C++: sval_t) + @param frregs: size of saved registers (C++: ushort) + @param argsize: 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. (C++: asize_t) + +Help on function add_regvar in module ida_frame: + +add_regvar(*args) + add_regvar(pfn, ea1, ea2, canon, user, cmt) -> int + + + Define a register variable. + + @param pfn: function in which the definition will be created (C++: + func_t *) + @param ea1: range of addresses within the function where the + definition will be used (C++: ea_t) + @param ea2: range of addresses within the function where the + definition will be used (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @param user: user-defined name for the register (C++: const char *) + @param cmt: comment for the definition (C++: const char *) + @return: Register variable error codes + +Help on function add_user_stkpnt in module ida_frame: + +add_user_stkpnt(*args) + add_user_stkpnt(ea, delta) -> bool + + + Add user-defined SP register change point. + + @param ea: linear address where SP changes (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function build_stkvar_name in module ida_frame: + +build_stkvar_name(*args) + build_stkvar_name(pfn, v) -> str + + + Build automatic stack variable name. + + @param pfn: pointer to function (can't be NULL!) (C++: const func_t + *) + @param v: value of variable offset (C++: sval_t) + @return: length of stack variable name or -1 + +Help on function build_stkvar_xrefs in module ida_frame: + +build_stkvar_xrefs(*args) + build_stkvar_xrefs(out, pfn, mptr) + + + Fill 'out' with a list of all the xrefs made from function 'pfn', to + the argument or variable 'mptr' in 'pfn's stack frame. + + @param out: the list of xrefs to fill. (C++: xreflist_t *) + @param pfn: the function to scan. (C++: func_t *) + @param mptr: the argument/variable in pfn's stack frame. (C++: const + member_t *) + +Help on function calc_stkvar_struc_offset in module ida_frame: + +calc_stkvar_struc_offset(*args) + calc_stkvar_struc_offset(pfn, insn, n) -> ea_t + + + Calculate offset of stack variable in the frame structure. + + @param pfn: pointer to function (can't be NULL!) (C++: func_t *) + @param insn: the instruction (C++: const insn_t &) + @param n: number of operand: (0.. UA_MAXOP -1) -1 if error, return + BADADDR (C++: int) + @return: BADADDR if some error (issue a warning if stack frame is + bad) + +Help on function define_stkvar in module ida_frame: + +define_stkvar(*args) + define_stkvar(pfn, name, off, flags, ti, nbytes) -> bool + + + Define/redefine a stack variable. + + @param pfn: pointer to function (C++: func_t *) + @param name: variable name, NULL means autogenerate a name (C++: const + char *) + @param off: offset of the stack variable in the frame. negative values + denote local variables, positive - function arguments. + (C++: sval_t) + @param flags: variable type flags ( byte_flag() for a byte variable, + for example) (C++: flags_t) + @param ti: additional type information (like offsets, structs, etc) + (C++: const opinfo_t *) + @param nbytes: number of bytes occupied by the variable (C++: asize_t) + @return: success + +Help on function del_frame in module ida_frame: + +del_frame(*args) + del_frame(pfn) -> bool + + + Delete a function frame. + + @param pfn: pointer to function structure (C++: func_t *) + @return: success + +Help on function del_regvar in module ida_frame: + +del_regvar(*args) + del_regvar(pfn, ea1, ea2, canon) -> int + + + Delete a register variable definition. + + @param pfn: function in question (C++: func_t *) + @param ea1: range of addresses within the function where the + definition holds (C++: ea_t) + @param ea2: range of addresses within the function where the + definition holds (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @return: Register variable error codes + +Help on function del_stkpnt in module ida_frame: + +del_stkpnt(*args) + del_stkpnt(pfn, ea) -> bool + + + Delete SP register change point. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: success + +Help on function delete_unreferenced_stkvars in module ida_frame: + +delete_unreferenced_stkvars(*args) + delete_unreferenced_stkvars(pfn) -> int + +Help on function delete_wrong_stkvar_ops in module ida_frame: + +delete_wrong_stkvar_ops(*args) + delete_wrong_stkvar_ops(pfn) -> int + +Help on function find_regvar in module ida_frame: + +find_regvar(*args) + find_regvar(pfn, ea1, ea2, canon, user) -> regvar_t + find_regvar(pfn, ea, canon) -> regvar_t + + + Find a register variable definition (powerful version). One of 'canon' + and 'user' should be NULL. If both 'canon' and 'user' are NULL it + returns the first regvar definition in the range. + + @param pfn: function in question (C++: func_t *) + @param ea1: range of addresses to search. ea1==BADADDR means the + entire function (C++: ea_t) + @param ea2: range of addresses to search. ea1==BADADDR means the + entire function (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @param user: user-defined name for the register (C++: const char *) + @return: NULL-not found, otherwise ptr to regvar_t + +Help on function frame_off_args in module ida_frame: + +frame_off_args(*args) + frame_off_args(pfn) -> ea_t + + + Get starting address of arguments section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_lvars in module ida_frame: + +frame_off_lvars(*args) + frame_off_lvars(pfn) -> ea_t + + + Get start address of local variables section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_retaddr in module ida_frame: + +frame_off_retaddr(*args) + frame_off_retaddr(pfn) -> ea_t + + + Get starting address of return address section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_savregs in module ida_frame: + +frame_off_savregs(*args) + frame_off_savregs(pfn) -> ea_t + + + Get starting address of saved registers section. + + + @param pfn (C++: const func_t *) + +Help on function get_effective_spd in module ida_frame: + +get_effective_spd(*args) + 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: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: 0 or the difference, usually a negative number + +Help on function get_frame in module ida_frame: + +get_frame(*args) + get_frame(pfn) -> struc_t + get_frame(ea) -> struc_t * + + + Get pointer to function frame. + + @param pfn: pointer to function structure (C++: const func_t *) + +Help on function get_frame_part in module ida_frame: + +get_frame_part(*args) + get_frame_part(range, pfn, part) + + + Get offsets of the frame part in the frame. + + @param range: pointer to the output buffer with the frame part + start/end(exclusive) offsets, can't be NULL (C++: + range_t *) + @param pfn: pointer to function structure, can't be NULL (C++: const + func_t *) + @param part: frame part (C++: frame_part_t) + +Help on function get_frame_retsize in module ida_frame: + +get_frame_retsize(*args) + get_frame_retsize(pfn) -> int + + + Get size of function return address. + + @param pfn: pointer to function structure, can't be NULL (C++: const + func_t *) + +Help on function get_frame_size in module ida_frame: + +get_frame_size(*args) + 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: pointer to function structure, may be NULL (C++: const + func_t *) + @return: size of frame in bytes or zero + +Help on function get_func_by_frame in module ida_frame: + +get_func_by_frame(*args) + get_func_by_frame(frame_id) -> ea_t + + + Get function by its frame id.this function works only with databases + created by IDA > 5.6 + + @param frame_id: id of the function frame (C++: tid_t) + @return: start address of the function or BADADDR + +Help on function get_min_spd_ea in module ida_frame: + +get_min_spd_ea(*args) + get_min_spd_ea(pfn) -> ea_t + +Help on function get_sp_delta in module ida_frame: + +get_sp_delta(*args) + get_sp_delta(pfn, ea) -> sval_t + + + Get modification of SP made at the specified location + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: 0 if the specified location doesn't contain a SP change + point. otherwise return delta of SP modification. + +Help on function get_spd in module ida_frame: + +get_spd(*args) + get_spd(pfn, ea) -> sval_t + + + Get difference between the initial and current values of ESP. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address of an instruction (C++: ea_t) + @return: 0 or the difference, usually a negative number. returns the + sp-diff before executing the instruction. + +Help on function get_stkvar in module ida_frame: + +get_stkvar(*args) + get_stkvar(insn, op, v) -> PyObject * + + + Get pointer to stack variable + @param op: reference to instruction operand + @param v: immediate value in the operand (usually op.addr) + @return: + - None on failure + - tuple(member_t, actval) + where actval: actual value used to fetch stack variable + +Help on function has_regvar in module ida_frame: + +has_regvar(*args) + has_regvar(pfn, ea) -> bool + + + Is there a register variable definition? + + @param pfn: function in question (C++: func_t *) + @param ea: current address (C++: ea_t) + +Help on function is_funcarg_off in module ida_frame: + +is_funcarg_off(*args) + is_funcarg_off(pfn, frameoff) -> bool + + + Does the given offset lie within the arguments section? + + + @param pfn (C++: const func_t *) + @param frameoff (C++: uval_t) + +Help on class llabel_t in module ida_frame: + +class llabel_t(__builtin__.object) + | Proxy of C++ llabel_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> llabel_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | llabel_t_ea_get(self) -> ea_t + | + | name + | llabel_t_name_get(self) -> char * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_llabel_t(self) + +Help on function lvar_off in module ida_frame: + +lvar_off(*args) + lvar_off(pfn, frameoff) -> sval_t + + + Does the given offset lie within the local variables section? + + + @param pfn (C++: const func_t *) + @param frameoff (C++: uval_t) + +Help on function recalc_spd in module ida_frame: + +recalc_spd(*args) + 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: linear address of the current instruction (C++: ea_t) + +Help on class regvar_t in module ida_frame: + +class regvar_t(ida_range.range_t) + | Proxy of C++ regvar_t class. + | + | Method resolution order: + | regvar_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regvar_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | canon + | regvar_t_canon_get(self) -> char * + | + | cmt + | regvar_t_cmt_get(self) -> char * + | + | thisown + | The membership flag + | + | user + | regvar_t_user_get(self) -> char * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regvar_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on function rename_regvar in module ida_frame: + +rename_regvar(*args) + rename_regvar(pfn, v, user) -> int + + + Rename a register variable. + + @param pfn: function in question (C++: func_t *) + @param v: variable to rename (C++: regvar_t *) + @param user: new user-defined name for the register (C++: const char + *) + @return: Register variable error codes + +Help on function set_frame_size in module ida_frame: + +set_frame_size(*args) + 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 + get_struc_size(get_frame(pfn)). + + @param pfn: pointer to function structure (C++: func_t *) + @param frsize: size of function local variables (C++: asize_t) + @param frregs: size of saved registers (C++: ushort) + @param argsize: size of function arguments that will be purged from + the stack upon return (C++: asize_t) + @return: success + +Help on function set_purged in module ida_frame: + +set_purged(*args) + 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: address of the function of item (C++: ea_t) + @param nbytes: number of purged bytes (C++: int) + @param override_old_value: may overwrite old information about purged + bytes (C++: bool) + @return: success + +Help on function set_regvar_cmt in module ida_frame: + +set_regvar_cmt(*args) + set_regvar_cmt(pfn, v, cmt) -> int + + + Set comment for a register variable. + + @param pfn: function in question (C++: func_t *) + @param v: variable to rename (C++: regvar_t *) + @param cmt: new comment (C++: const char *) + @return: Register variable error codes + +Help on function soff_to_fpoff in module ida_frame: + +soff_to_fpoff(*args) + soff_to_fpoff(pfn, soff) -> sval_t + + + Convert struct offsets into fp-relative offsets. This function + converts the offsets inside the 'struc_t' object into the frame + pointer offsets (for example, EBP-relative). + + @param pfn (C++: func_t *) + @param soff (C++: uval_t) + +Help on class stkpnt_t in module ida_frame: + +class stkpnt_t(__builtin__.object) + | Proxy of C++ stkpnt_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> stkpnt_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | stkpnt_t_ea_get(self) -> ea_t + | + | spd + | stkpnt_t_spd_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_stkpnt_t(self) + +Help on class stkpnts_t in module ida_frame: + +class stkpnts_t(__builtin__.object) + | Proxy of C++ stkpnts_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> stkpnts_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_stkpnts_t(self) + +Help on function update_fpd in module ida_frame: + +update_fpd(*args) + update_fpd(pfn, fpd) -> bool + + + Update frame pointer delta. + + @param pfn: pointer to function structure (C++: func_t *) + @param fpd: new fpd value. cannot be bigger than the local variable + range size. (C++: asize_t) + @return: success + +Help on class xreflist_entry_t in module ida_frame: + +class xreflist_entry_t(__builtin__.object) + | Proxy of C++ xreflist_entry_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> xreflist_entry_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | xreflist_entry_t_ea_get(self) -> ea_t + | + | opnum + | xreflist_entry_t_opnum_get(self) -> uchar + | + | thisown + | The membership flag + | + | type + | xreflist_entry_t_type_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_xreflist_entry_t(self) + +Help on class xreflist_t in module ida_frame: + +class xreflist_t(__builtin__.object) + | Proxy of C++ qvector< xreflist_entry_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> xreflist_entry_t + | + | __init__(self, *args) + | __init__(self) -> xreflist_t + | __init__(self, x) -> xreflist_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> xreflist_entry_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> xreflist_entry_t + | begin(self) -> xreflist_entry_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> xreflist_entry_t + | end(self) -> xreflist_entry_t + | + | erase(self, *args) + | erase(self, it) -> xreflist_entry_t + | erase(self, first, last) -> xreflist_entry_t + | + | extract(self, *args) + | extract(self) -> xreflist_entry_t + | + | find(self, *args) + | find(self, x) -> xreflist_entry_t + | find(self, x) -> xreflist_entry_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=xreflist_entry_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> xreflist_entry_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> xreflist_entry_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_xreflist_t(self) + +=== ida_frame EPYDOC INJECTIONS === +ida_frame.REGVAR_ERROR_ARG +""" +function arguments are bad +""" + +ida_frame.REGVAR_ERROR_NAME +""" +the provided name(s) can't be accepted +""" + +ida_frame.REGVAR_ERROR_OK +""" +all ok +""" + +ida_frame.REGVAR_ERROR_RANGE +""" +the definition range is bad +""" + +ida_frame.STKVAR_VALID_SIZE +""" +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 +""" +=== ida_frame EPYDOC INJECTIONS END === +Help on function add_func in module ida_funcs: + +add_func(*args) + 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: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @return: success + +Help on function add_func_ex in module ida_funcs: + +add_func_ex(*args) + 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: ptr to filled function structure (C++: func_t *) + @return: success + +Help on function add_regarg in module ida_funcs: + +add_regarg(*args) + add_regarg(pfn, reg, tif, name) + +Help on function append_func_tail in module ida_funcs: + +append_func_tail(*args) + 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 *) + @param ea1: start of the tail. If a tail already exists at the + specified address it must start at 'ea1' (C++: ea_t) + @param ea2: 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. (C++: ea_t) + +Help on function apply_idasgn_to in module ida_funcs: + +apply_idasgn_to(*args) + apply_idasgn_to(signame, ea, is_startup) -> int + + + Apply a signature file to the specified address. + + @param signame: short name of signature file (the file name without + path) (C++: const char *) + @param ea: address to apply the signature (C++: ea_t) + @param is_startup: 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. (C++: bool) + @return: Library function codes + +Help on function apply_startup_sig in module ida_funcs: + +apply_startup_sig(*args) + apply_startup_sig(ea, startup) -> bool + + + Apply a startup signature file to the specified address. + + @param ea: address to apply the signature to; usually \inf{start_ea} + (C++: ea_t) + @param startup: the name of the signature file without path and + extension (C++: const char *) + @return: true if successfully applied the signature + +Help on function calc_func_size in module ida_funcs: + +calc_func_size(*args) + calc_func_size(pfn) -> asize_t + + + Calculate function size. This function takes into account all + fragments of the function. + + @param pfn: ptr to function structure (C++: func_t *) + +Help on function calc_idasgn_state in module ida_funcs: + +calc_idasgn_state(*args) + calc_idasgn_state(n) -> int + + + Get state of a signature in the list of planned signatures + + @param n: number of signature in the list (0.. get_idasgn_qty() -1) + (C++: int) + @return: state of signature or IDASGN_BADARG + +Help on function calc_thunk_func_target in module ida_funcs: + +calc_thunk_func_target(*args) + calc_thunk_func_target(pfn) -> ea_t + + + Calculate target of a thunk function. + + @param pfn: pointer to function (may not be NULL) (C++: func_t *) + @return: the target function or BADADDR + +Help on function del_func in module ida_funcs: + +del_func(*args) + del_func(ea) -> bool + + + Delete a function. + + @param ea: any address in the function entry chunk (C++: ea_t) + @return: success + +Help on function del_idasgn in module ida_funcs: + +del_idasgn(*args) + del_idasgn(n) -> int + + + Remove signature from the list of planned signatures. + + @param n: number of signature in the list (0.. get_idasgn_qty() -1) + (C++: int) + @return: IDASGN_OK , IDASGN_BADARG , IDASGN_APPLIED + +Help on function f_any in module ida_funcs: + +f_any(*args) + f_any(arg1, arg2) -> bool + + + Helper function to accept any address. + +Help on function find_func_bounds in module ida_funcs: + +find_func_bounds(*args) + 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 \ph{func_bounds} in order to fine tune the function + boundaries. + + @param nfn: structure to fill with information \ nfn->start_ea points + to the start address of the new function. (C++: func_t *) + @param flags: Find function bounds flags (C++: int) + @return: Find function bounds result codes + +Help on function func_contains in module ida_funcs: + +func_contains(*args) + func_contains(pfn, ea) -> bool + + + Does the given function contain the given address? + + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on function func_does_return in module ida_funcs: + +func_does_return(*args) + 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) + +Help on function func_item_iterator_decode_preceding_insn in module ida_funcs: + +func_item_iterator_decode_preceding_insn(*args) + func_item_iterator_decode_preceding_insn(fii, visited, p_farref, out) -> bool + +Help on function func_item_iterator_decode_prev_insn in module ida_funcs: + +func_item_iterator_decode_prev_insn(*args) + func_item_iterator_decode_prev_insn(fii, out) -> bool + +Help on function func_item_iterator_next in module ida_funcs: + +func_item_iterator_next(*args) + func_item_iterator_next(fii, testf, ud) -> bool + +Help on function func_item_iterator_prev in module ida_funcs: + +func_item_iterator_prev(*args) + func_item_iterator_prev(fii, testf, ud) -> bool + +Help on class func_item_iterator_t in module ida_funcs: + +class func_item_iterator_t(__builtin__.object) + | Proxy of C++ func_item_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_item_iterator_t + | __init__(self, pfn, _ea=BADADDR) -> func_item_iterator_t + | + | __next__(self, *args) + | __next__(self, func, ud) -> bool + | + | __repr__ = _swig_repr(self) + | + | chunk(self, *args) + | chunk(self) -> range_t + | + | current(self, *args) + | current(self) -> ea_t + | + | decode_preceding_insn(self, *args) + | decode_preceding_insn(self, visited, p_farref, out) -> bool + | + | decode_prev_insn(self, *args) + | decode_prev_insn(self, out) -> bool + | + | first(self, *args) + | first(self) -> bool + | + | last(self, *args) + | last(self) -> bool + | + | next = __next__(self, *args) + | + | next_addr(self, *args) + | next_addr(self) -> bool + | + | next_code(self, *args) + | next_code(self) -> bool + | + | next_data(self, *args) + | next_data(self) -> bool + | + | next_head(self, *args) + | next_head(self) -> bool + | + | next_not_tail(self, *args) + | next_not_tail(self) -> bool + | + | prev(self, *args) + | prev(self, func, ud) -> bool + | + | prev_addr(self, *args) + | prev_addr(self) -> bool + | + | prev_code(self, *args) + | prev_code(self) -> bool + | + | prev_data(self, *args) + | prev_data(self) -> bool + | + | prev_head(self, *args) + | prev_head(self) -> bool + | + | prev_not_tail(self, *args) + | prev_not_tail(self) -> bool + | + | set(self, *args) + | set(self, pfn, _ea=BADADDR) -> bool + | + | set_range(self, *args) + | set_range(self, ea1, ea2) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_item_iterator_t(self) + +Help on function func_parent_iterator_set in module ida_funcs: + +func_parent_iterator_set(*args) + func_parent_iterator_set(fpi, pfn) -> bool + +Help on class func_parent_iterator_t in module ida_funcs: + +class func_parent_iterator_t(__builtin__.object) + | Proxy of C++ func_parent_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_parent_iterator_t + | __init__(self, _fnt) -> func_parent_iterator_t + | + | __next__(self, *args) + | __next__(self) -> bool + | + | __repr__ = _swig_repr(self) + | + | first(self, *args) + | first(self) -> bool + | + | last(self, *args) + | last(self) -> bool + | + | next = __next__(self, *args) + | + | parent(self, *args) + | parent(self) -> ea_t + | + | prev(self, *args) + | prev(self) -> bool + | + | reset_fnt(self, *args) + | reset_fnt(self, _fnt) + | + | set(self, *args) + | set(self, _fnt) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_parent_iterator_t(self) + +Help on class func_t in module ida_funcs: + +class func_t(ida_range.range_t) + | Proxy of C++ func_t class. + | + | Method resolution order: + | func_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __get_points__(self, *args) + | __get_points__(self) -> stkpnt_array + | + | __get_regvars__(self, *args) + | __get_regvars__(self) -> regvar_array + | + | __get_tails__(self, *args) + | __get_tails__(self) -> range_array + | + | __init__(self, *args) + | __init__(self, start=0, end=0, f=0) -> func_t + | + | __repr__ = _swig_repr(self) + | + | analyzed_sp(self, *args) + | analyzed_sp(self) -> bool + | + | does_return(self, *args) + | does_return(self) -> bool + | + | is_far(self, *args) + | is_far(self) -> bool + | + | need_prolog_analysis(self, *args) + | need_prolog_analysis(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | argsize + | func_t_argsize_get(self) -> asize_t + | + | color + | func_t_color_get(self) -> bgcolor_t + | + | flags + | func_t_flags_get(self) -> uint64 + | + | fpd + | func_t_fpd_get(self) -> asize_t + | + | frame + | func_t_frame_get(self) -> uval_t + | + | frregs + | func_t_frregs_get(self) -> ushort + | + | frsize + | func_t_frsize_get(self) -> asize_t + | + | llabelqty + | func_t_llabelqty_get(self) -> int + | + | llabels + | func_t_llabels_get(self) -> llabel_t * + | + | owner + | func_t_owner_get(self) -> ea_t + | + | pntqty + | func_t_pntqty_get(self) -> uint32 + | + | points + | __get_points__(self) -> stkpnt_array + | + | referers + | func_t_referers_get(self) -> ea_t * + | + | refqty + | func_t_refqty_get(self) -> int + | + | regargqty + | func_t_regargqty_get(self) -> int + | + | regargs + | func_t_regargs_get(self) -> regarg_t + | + | regvarqty + | func_t_regvarqty_get(self) -> int + | + | regvars + | __get_regvars__(self) -> regvar_array + | + | tailqty + | func_t_tailqty_get(self) -> int + | + | tails + | __get_tails__(self) -> range_array + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on function func_t__from_ptrval__ in module ida_funcs: + +func_t__from_ptrval__(*args) + func_t__from_ptrval__(ptrval) -> func_t + +Help on function func_tail_iterator_set in module ida_funcs: + +func_tail_iterator_set(*args) + func_tail_iterator_set(fti, pfn, ea) -> bool + +Help on function func_tail_iterator_set_ea in module ida_funcs: + +func_tail_iterator_set_ea(*args) + func_tail_iterator_set_ea(fti, ea) -> bool + +Help on class func_tail_iterator_t in module ida_funcs: + +class func_tail_iterator_t(__builtin__.object) + | Proxy of C++ func_tail_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_tail_iterator_t + | __init__(self, _pfn, ea=BADADDR) -> func_tail_iterator_t + | + | __next__(self, *args) + | __next__(self) -> bool + | + | __repr__ = _swig_repr(self) + | + | chunk(self, *args) + | chunk(self) -> range_t + | + | first(self, *args) + | first(self) -> bool + | + | last(self, *args) + | last(self) -> bool + | + | main(self, *args) + | main(self) -> bool + | + | next = __next__(self, *args) + | + | prev(self, *args) + | prev(self) -> bool + | + | set(self, *args) + | set(self, _pfn, ea=BADADDR) -> bool + | + | set_ea(self, *args) + | set_ea(self, ea) -> bool + | + | set_range(self, *args) + | set_range(self, ea1, ea2) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_tail_iterator_t(self) + +Help on function get_current_idasgn in module ida_funcs: + +get_current_idasgn(*args) + get_current_idasgn() -> int + + + Get number of the the current signature. + + @return: 0..n-1 + +Help on function get_fchunk in module ida_funcs: + +get_fchunk(*args) + get_fchunk(ea) -> func_t + + + Get pointer to function chunk structure by address. + + @param ea: any address in a function chunk (C++: ea_t) + @return: ptr to a function chunk or NULL. This function may return a + function entry as well as a function tail. + +Help on function get_fchunk_num in module ida_funcs: + +get_fchunk_num(*args) + get_fchunk_num(ea) -> int + + + Get ordinal number of a function chunk in the global list of function + chunks. + + @param ea: any address in the function chunk (C++: ea_t) + @return: number of function chunk (0.. get_fchunk_qty() -1). -1 means + 'no function chunk at the specified address'. + +Help on function get_fchunk_qty in module ida_funcs: + +get_fchunk_qty(*args) + get_fchunk_qty() -> size_t + + + Get total number of function chunks in the program. + +Help on function get_fchunk_referer in module ida_funcs: + +get_fchunk_referer(*args) + get_fchunk_referer(ea, idx) -> ea_t + +Help on function get_func in module ida_funcs: + +get_func(*args) + get_func(ea) -> func_t + + + Get pointer to function structure by address. + + @param ea: any address in a function (C++: ea_t) + @return: ptr to a function or NULL. This function returns a function + entry chunk. + +Help on function get_func_bitness in module ida_funcs: + +get_func_bitness(*args) + get_func_bitness(pfn) -> int + + + Get function bitness (which is equal to the function segment bitness). + pfn==NULL => returns 0 + + @param pfn (C++: const func_t *) + +Help on function get_func_bits in module ida_funcs: + +get_func_bits(*args) + get_func_bits(pfn) -> int + + + Get number of bits in the function addressing. + + + @param pfn (C++: const func_t *) + +Help on function get_func_bytes in module ida_funcs: + +get_func_bytes(*args) + get_func_bytes(pfn) -> int + + + Get number of bytes in the function addressing. + + + @param pfn (C++: const func_t *) + +Help on function get_func_chunknum in module ida_funcs: + +get_func_chunknum(*args) + get_func_chunknum(pfn, ea) -> int + + + Get the containing tail chunk of 'ea'. + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on function get_func_cmt in module ida_funcs: + +get_func_cmt(*args) + get_func_cmt(pfn, repeatable) -> str + + + Get function comment. + + @param pfn: ptr to function structure (C++: const func_t *) + @param repeatable: get repeatable comment? (C++: bool) + @return: size of comment or -1 In fact this function works with + function chunks too. + +Help on function get_func_name in module ida_funcs: + +get_func_name(*args) + get_func_name(ea) -> str + + + Get function name. + + @param ea: any address in the function (C++: ea_t) + @return: length of the function name + +Help on function get_func_num in module ida_funcs: + +get_func_num(*args) + get_func_num(ea) -> int + + + Get ordinal number of a function. + + @param ea: any address in the function (C++: ea_t) + @return: number of function (0.. get_func_qty() -1). -1 means 'no + function at the specified address'. + +Help on function get_func_qty in module ida_funcs: + +get_func_qty(*args) + get_func_qty() -> size_t + + + Get total number of functions in the program. + +Help on function get_func_ranges in module ida_funcs: + +get_func_ranges(*args) + get_func_ranges(ranges, pfn) -> ea_t + + + Get function ranges. + + @param ranges: buffer to receive the range info (C++: rangeset_t *) + @param pfn: ptr to function structure (C++: func_t *) + @return: end address of the last function range (BADADDR-error) + +Help on function get_idasgn_desc in module ida_funcs: + +get_idasgn_desc(*args) + get_idasgn_desc(n) -> PyObject * + + + 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) + +Help on function get_idasgn_desc_with_matches in module ida_funcs: + +get_idasgn_desc_with_matches(*args) + get_idasgn_desc_with_matches(n) -> PyObject * + + + 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) + +Help on function get_idasgn_qty in module ida_funcs: + +get_idasgn_qty(*args) + get_idasgn_qty() -> int + + + Get number of signatures in the list of planned and applied + signatures. + + @return: 0..n + +Help on function get_idasgn_title in module ida_funcs: + +get_idasgn_title(*args) + get_idasgn_title(name) -> str + + + Get full description of the signature by its short name. + + @param name: short name of a signature (C++: const char *) + @return: size of signature description or -1 + +Help on function get_next_fchunk in module ida_funcs: + +get_next_fchunk(*args) + get_next_fchunk(ea) -> func_t + + + Get pointer to the next function chunk in the global list. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function chunk or NULL if next function chunk doesn't + exist + +Help on function get_next_func in module ida_funcs: + +get_next_func(*args) + get_next_func(ea) -> func_t + + + Get pointer to the next function. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function or NULL if next function doesn't exist + +Help on function get_next_func_addr in module ida_funcs: + +get_next_func_addr(*args) + get_next_func_addr(pfn, ea) -> ea_t + +Help on function get_prev_fchunk in module ida_funcs: + +get_prev_fchunk(*args) + get_prev_fchunk(ea) -> func_t + + + Get pointer to the previous function chunk in the global list. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function chunk or NULL if previous function chunk + doesn't exist + +Help on function get_prev_func in module ida_funcs: + +get_prev_func(*args) + get_prev_func(ea) -> func_t + + + Get pointer to the previous function. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function or NULL if previous function doesn't exist + +Help on function get_prev_func_addr in module ida_funcs: + +get_prev_func_addr(*args) + get_prev_func_addr(pfn, ea) -> ea_t + +Help on function getn_fchunk in module ida_funcs: + +getn_fchunk(*args) + getn_fchunk(n) -> func_t + + + Get pointer to function chunk structure by number. + + @param n: number of function chunk, is in range 0.. get_fchunk_qty() + -1 (C++: int) + @return: ptr to a function chunk or NULL. This function may return a + function entry as well as a function tail. + +Help on function getn_func in module ida_funcs: + +getn_func(*args) + getn_func(n) -> func_t + + + Get pointer to function structure by number. + + @param n: number of function, is in range 0.. get_func_qty() -1 (C++: + size_t) + @return: ptr to a function or NULL. This function returns a function + entry chunk. + +Help on function is_finally_visible_func in module ida_funcs: + +is_finally_visible_func(*args) + is_finally_visible_func(pfn) -> bool + + + Is the function visible (event after considering 'SCF_SHHID_FUNC' )? + + + @param pfn (C++: func_t *) + +Help on function is_func_entry in module ida_funcs: + +is_func_entry(*args) + is_func_entry(pfn) -> bool + + + Does function describe a function entry chunk? + + + @param pfn (C++: const func_t *) + +Help on function is_func_locked in module ida_funcs: + +is_func_locked(*args) + is_func_locked(pfn) -> bool + + + Is the function pointer locked? + + + @param pfn (C++: const func_t *) + +Help on function is_func_tail in module ida_funcs: + +is_func_tail(*args) + is_func_tail(pfn) -> bool + + + Does function describe a function tail chunk? + + + @param pfn (C++: const func_t *) + +Help on function is_same_func in module ida_funcs: + +is_same_func(*args) + is_same_func(ea1, ea2) -> bool + + + Do two addresses belong to the same function? + + + @param ea1 (C++: ea_t) + @param ea2 (C++: ea_t) + +Help on function is_visible_func in module ida_funcs: + +is_visible_func(*args) + is_visible_func(pfn) -> bool + + + Is the function visible (not hidden)? + + + @param pfn (C++: func_t *) + +Help on class lock_func in module ida_funcs: + +class lock_func(__builtin__.object) + | Proxy of C++ lock_func class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _pfn) -> lock_func + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lock_func(self) + +Help on function lock_func_range in module ida_funcs: + +lock_func_range(*args) + 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 *) + @param lock (C++: bool) + +Help on function plan_to_apply_idasgn in module ida_funcs: + +plan_to_apply_idasgn(*args) + plan_to_apply_idasgn(fname) -> int + + + Add a signature file to the list of planned signature files. + + @param fname: file name. should not contain directory part. (C++: + const char *) + @return: 0 if failed, otherwise number of planned (and applied) + signatures + +Help on class range_array in module ida_funcs: + +class range_array(__builtin__.object) + | Proxy of C++ dynamic_wrapped_array_t< range_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __init__(self, *args) + | __init__(self, _data, _count) -> range_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | range_array_count_get(self) -> size_t + | + | data + | range_array_data_get(self) -> range_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_range_array(self) + +Help on function read_regargs in module ida_funcs: + +read_regargs(*args) + read_regargs(pfn) + +Help on function reanalyze_function in module ida_funcs: + +reanalyze_function(*args) + 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: pointer to a function (C++: func_t *) + @param ea1: start of the range to analyze (C++: ea_t) + @param ea2: end of range to analyze (C++: ea_t) + @param analyze_parents: 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. (C++: bool) + +Help on function reanalyze_noret_flag in module ida_funcs: + +reanalyze_noret_flag(*args) + 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) + +Help on class regarg_t in module ida_funcs: + +class regarg_t(__builtin__.object) + | Proxy of C++ regarg_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regarg_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | regarg_t_name_get(self) -> char * + | + | reg + | regarg_t_reg_get(self) -> int + | + | thisown + | The membership flag + | + | type + | regarg_t_type_get(self) -> type_t * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regarg_t(self) + +Help on class regvar_array in module ida_funcs: + +class regvar_array(__builtin__.object) + | Proxy of C++ dynamic_wrapped_array_t< regvar_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> regvar_t const & + | + | __init__(self, *args) + | __init__(self, _data, _count) -> regvar_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | regvar_array_count_get(self) -> size_t + | + | data + | regvar_array_data_get(self) -> regvar_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regvar_array(self) + +Help on function remove_func_tail in module ida_funcs: + +remove_func_tail(*args) + 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 *) + @param tail_ea (C++: ea_t) + +Help on function set_func_cmt in module ida_funcs: + +set_func_cmt(*args) + set_func_cmt(pfn, cmt, repeatable) -> bool + + + Set function comment. This function works with function chunks too. + + @param pfn: ptr to function structure (C++: const func_t *) + @param cmt: comment string, may be multiline (with ' '). Use empty + str ("") to delete comment (C++: const char *) + @param repeatable: set repeatable comment? (C++: bool) + +Help on function set_func_end in module ida_funcs: + +set_func_end(*args) + set_func_end(ea, newend) -> bool + + + Move function chunk end address. + + @param ea: any address in the function (C++: ea_t) + @param newend: new end address of the function (C++: ea_t) + @return: success + +Help on function set_func_name_if_jumpfunc in module ida_funcs: + +set_func_name_if_jumpfunc(*args) + set_func_name_if_jumpfunc(pfn, oldname) -> int + + + Give a meaningful name to function if it consists of only 'jump' + instruction. + + @param pfn: pointer to function (may be NULL) (C++: func_t *) + @param oldname: 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 NULL. (C++: const char *) + @return: success + +Help on function set_func_start in module ida_funcs: + +set_func_start(*args) + set_func_start(ea, newstart) -> int + + + Move function chunk start address. + + @param ea: any address in the function (C++: ea_t) + @param newstart: new end address of the function (C++: ea_t) + @return: Function move result codes + +Help on function set_noret_insn in module ida_funcs: + +set_noret_insn(*args) + 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 + +Help on function set_tail_owner in module ida_funcs: + +set_tail_owner(*args) + set_tail_owner(fnt, func_start) -> bool + + + Set a function as the possessing function of a function tail. The + function should already refer to the tail (after append_func_tail). + + @param fnt (C++: func_t *) + @param func_start (C++: ea_t) + +Help on function set_visible_func in module ida_funcs: + +set_visible_func(*args) + set_visible_func(pfn, visible) + + + Set visibility of function. + + + @param pfn (C++: func_t *) + @param visible (C++: bool) + +Help on class stkpnt_array in module ida_funcs: + +class stkpnt_array(__builtin__.object) + | Proxy of C++ dynamic_wrapped_array_t< stkpnt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> stkpnt_t const & + | + | __init__(self, *args) + | __init__(self, _data, _count) -> stkpnt_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | stkpnt_array_count_get(self) -> size_t + | + | data + | stkpnt_array_data_get(self) -> stkpnt_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_stkpnt_array(self) + +Help on function try_to_add_libfunc in module ida_funcs: + +try_to_add_libfunc(*args) + 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: any address in the program (C++: ea_t) + @return: Library function codes + +Help on function update_func in module ida_funcs: + +update_func(*args) + 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: ptr to function structure (C++: func_t *) + @return: success + +=== ida_funcs EPYDOC INJECTIONS === +ida_funcs.FIND_FUNC_DEFINE +""" +create instruction if undefined byte is encountered +""" + +ida_funcs.FIND_FUNC_EXIST +""" +its bounds are returned in 'nfn'. + +function exists already. +""" + +ida_funcs.FIND_FUNC_IGNOREFN +""" +ignore existing function boundaries. by default the function returns +function boundaries if ea belongs to a function. +""" + +ida_funcs.FIND_FUNC_KEEPBD +""" +just create instructions inside the boundaries. + +do not modify incoming function boundaries, +""" + +ida_funcs.FIND_FUNC_NORMAL +""" +stop processing if undefined byte is encountered +""" + +ida_funcs.FIND_FUNC_OK +""" +ok, 'nfn' is ready for 'add_func()' +""" + +ida_funcs.FIND_FUNC_UNDEF +""" +nfn->end_ea will have the address of the unexplored byte. + +function has instructions that pass execution flow to unexplored +bytes. +""" + +ida_funcs.FUNC_BOTTOMBP +""" +BP points to the bottom of the stack frame. +""" + +ida_funcs.FUNC_FAR +""" +Far function. +""" + +ida_funcs.FUNC_FRAME +""" +Function uses frame pointer (BP) +""" + +ida_funcs.FUNC_FUZZY_SP +""" +for example: and esp, 0FFFFFFF0h + +Function changes SP in untraceable way, +""" + +ida_funcs.FUNC_HIDDEN +""" +A hidden function chunk. +""" + +ida_funcs.FUNC_LIB +""" +Library function. +""" + +ida_funcs.FUNC_LUMINA +""" +Function info is provided by Lumina. +""" + +ida_funcs.FUNC_NORET +""" +Function doesn't return. +""" + +ida_funcs.FUNC_NORET_PENDING +""" +This flag is verified upon 'func_does_return()' + +Function 'non-return' analysis must be performed. +""" + +ida_funcs.FUNC_PROLOG_OK +""" +by last SP-analysis + +Prolog analysis has be performed +""" + +ida_funcs.FUNC_PURGED_OK +""" +'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. +""" + +ida_funcs.FUNC_SP_READY +""" +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 +""" + +ida_funcs.FUNC_STATICDEF +""" +Static function. +""" + +ida_funcs.FUNC_TAIL +""" +This is a function tail. Other bits must be clear (except +'FUNC_HIDDEN' ). +""" + +ida_funcs.FUNC_THUNK +""" +Thunk (jump) function. +""" + +ida_funcs.FUNC_USERFAR +""" +of the function + +User has specified far-ness +""" + +ida_funcs.IDASGN_APPLIED +""" +signature is already applied +""" + +ida_funcs.IDASGN_BADARG +""" +bad number of signature +""" + +ida_funcs.IDASGN_CURRENT +""" +signature is currently being applied +""" + +ida_funcs.IDASGN_OK +""" +ok +""" + +ida_funcs.IDASGN_PLANNED +""" +signature is planned to be applied +""" + +ida_funcs.LIBFUNC_DELAY +""" +no decision because of lack of information +""" + +ida_funcs.LIBFUNC_FOUND +""" +ok, library function is found +""" + +ida_funcs.LIBFUNC_NONE +""" +no, this is not a library function +""" + +ida_funcs.MOVE_FUNC_BADSTART +""" +bad new start address +""" + +ida_funcs.MOVE_FUNC_NOCODE +""" +no instruction at 'newstart' +""" + +ida_funcs.MOVE_FUNC_NOFUNC +""" +no function at 'ea' +""" + +ida_funcs.MOVE_FUNC_OK +""" +ok +""" + +ida_funcs.MOVE_FUNC_REFUSED +""" +a plugin refused the action +""" +=== ida_funcs EPYDOC INJECTIONS END === +Help on class BasicBlock in module ida_gdl: + +class BasicBlock(__builtin__.object) + | Basic block class. It is returned by the Flowchart class + | + | Methods defined here: + | + | __init__(self, id, bb, fc) + | + | preds(self) + | Iterates the predecessors list + | + | succs(self) + | Iterates the successors list + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | startEA + +Help on class FlowChart in module ida_gdl: + +class FlowChart(__builtin__.object) + | Flowchart class used to determine basic blocks. + | Check ex_gdl_qflow_chart.py for sample usage. + | + | Methods defined here: + | + | __getitem__(self, index) + | Returns a basic block + | + | @return: BasicBlock + | + | __init__(self, f=None, bounds=None, flags=0) + | 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. One interesting flag is FC_PREDS + | + | __iter__(self) + | + | _getitem(self, index) + | + | refresh(self) + | Refreshes the flow chart + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | size + +Help on function display_gdl in module ida_gdl: + +display_gdl(*args) + 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()' . + + @param fname (C++: const char *) + @return: error code from os, 0 if ok + +Help on function gen_complex_call_chart in module ida_gdl: + +gen_complex_call_chart(*args) + gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1) -> bool + + + Build and display a complex xref graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param wait: message to display during graph building (C++: const char + *) + @param title: graph title (C++: const char *) + @param ea1: address range (C++: ea_t) + @param ea2: address range (C++: ea_t) + @param flags: 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. (C++: int) + @param recursion_depth: optional limit of recursion (C++: int32) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function gen_flow_graph in module ida_gdl: + +gen_flow_graph(*args) + gen_flow_graph(filename, title, pfn, ea1, ea2, gflags) -> bool + + + Build and display a flow graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param title: graph title (C++: const char *) + @param pfn: function to graph (C++: func_t *) + @param ea1: if pfn == NULL, then the address range (C++: ea_t) + @param ea2: if pfn == NULL, then the address range (C++: ea_t) + @param gflags: combination of Flow graph building flags . if none of + CHART_GEN_DOT , CHART_GEN_GDL , CHART_WINGRAPH is + specified, the function will return false (C++: int) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function gen_gdl in module ida_gdl: + +gen_gdl(*args) + gen_gdl(g, fname) + + + Create GDL file for graph. + + + @param g (C++: const gdl_graph_t *) + @param fname (C++: const char *) + +Help on function gen_simple_call_chart in module ida_gdl: + +gen_simple_call_chart(*args) + gen_simple_call_chart(filename, wait, title, gflags) -> bool + + + Build and display a simple function call graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param wait: message to display during graph building (C++: const char + *) + @param title: graph title (C++: const char *) + @param gflags: 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. (C++: int) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function is_noret_block in module ida_gdl: + +is_noret_block(*args) + is_noret_block(btype) -> bool + + + Does this block never return? + + + @param btype (C++: fc_block_type_t) + +Help on function is_ret_block in module ida_gdl: + +is_ret_block(*args) + is_ret_block(btype) -> bool + + + Does this block return? + + + @param btype (C++: fc_block_type_t) + +Help on class node_iterator in module ida_gdl: + +class node_iterator(__builtin__.object) + | Proxy of C++ node_iterator class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, n) -> bool + | + | __init__(self, *args) + | __init__(self, _g, n) -> node_iterator + | + | __ne__(self, *args) + | __ne__(self, n) -> bool + | + | __ref__(self, *args) + | __ref__(self) -> int + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_node_iterator(self) + +Help on class qbasic_block_t in module ida_gdl: + +class qbasic_block_t(ida_range.range_t) + | Proxy of C++ qbasic_block_t class. + | + | Method resolution order: + | qbasic_block_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> qbasic_block_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qbasic_block_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on class qflow_chart_t in module ida_gdl: + +class qflow_chart_t(__builtin__.object) + | Proxy of C++ qflow_chart_t class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, n) -> qbasic_block_t + | + | __init__(self, *args) + | __init__(self) -> qflow_chart_t + | __init__(self, _title, _pfn, _ea1, _ea2, _flags) -> qflow_chart_t + | + | __repr__ = _swig_repr(self) + | + | append_to_flowchart(self, *args) + | append_to_flowchart(self, ea1, ea2) + | + | calc_block_type(self, *args) + | calc_block_type(self, blknum) -> fc_block_type_t + | + | create(self, *args) + | create(self, _title, _pfn, _ea1, _ea2, _flags) + | create(self, _title, ranges, _flags) + | + | get_node_label(self, *args) + | get_node_label(self, arg2, arg3, arg4) -> char * + | + | is_noret_block(self, *args) + | is_noret_block(self, blknum) -> bool + | + | is_ret_block(self, *args) + | is_ret_block(self, blknum) -> bool + | + | npred(self, *args) + | npred(self, node) -> int + | + | nsucc(self, *args) + | nsucc(self, node) -> int + | + | pred(self, *args) + | pred(self, node, i) -> int + | + | print_names(self, *args) + | print_names(self) -> bool + | + | print_node_attributes(self, *args) + | print_node_attributes(self, arg2, arg3) + | + | refresh(self, *args) + | refresh(self) + | + | size(self, *args) + | size(self) -> int + | + | succ(self, *args) + | succ(self, node, i) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bounds + | qflow_chart_t_bounds_get(self) -> range_t + | + | flags + | qflow_chart_t_flags_get(self) -> int + | + | nproper + | qflow_chart_t_nproper_get(self) -> int + | + | pfn + | qflow_chart_t_pfn_get(self) -> func_t * + | + | thisown + | The membership flag + | + | title + | qflow_chart_t_title_get(self) -> qstring * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qflow_chart_t(self) + +=== ida_gdl EPYDOC INJECTIONS === +ida_gdl.CHART_FOLLOW_DIRECTION +""" +analyze references to added blocks only in the direction of the +reference who discovered the current block +""" + +ida_gdl.CHART_GEN_DOT +""" +generate .dot file (file extension is forced to .dot) +""" + +ida_gdl.CHART_GEN_GDL +""" +generate .gdl file (file extension is forced to .gdl) +""" + +ida_gdl.CHART_IGNORE_LIB_FROM +""" +ignore references from library functions +""" + +ida_gdl.CHART_IGNORE_LIB_TO +""" +ignore references to library functions +""" + +ida_gdl.CHART_NOLIBFUNCS +""" +don't include library functions in the graph +""" + +ida_gdl.CHART_PRINT_DOTS +""" +print dots if xrefs exist outside of the range recursion depth +""" + +ida_gdl.CHART_PRINT_NAMES +""" +print labels for each block? +""" + +ida_gdl.CHART_RECURSIVE +""" +analyze added blocks +""" + +ida_gdl.CHART_REFERENCED +""" +references from the addresses in the list +""" + +ida_gdl.CHART_REFERENCING +""" +references to the addresses in the list +""" + +ida_gdl.CHART_WINGRAPH +""" +call grapher to display the graph +""" + +ida_gdl.FC_APPND +""" +multirange flowchart (set by append_to_flowchart) +""" + +ida_gdl.FC_CHKBREAK +""" +build_qflow_chart() may be aborted by user +""" + +ida_gdl.FC_NOEXT +""" +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 +""" + +ida_gdl.FC_PREDS +""" +compute predecessor lists +""" + +ida_gdl.FC_PRINT +""" +print names (used only by display_flow_chart()) +""" +=== ida_gdl EPYDOC INJECTIONS END === +Help on class GraphViewer in module ida_graph: + +class GraphViewer(ida_kernwin.CustomIDAMemo) + | Method resolution order: + | GraphViewer + | ida_kernwin.CustomIDAMemo + | ida_kernwin.View_Hooks + | __builtin__.object + | + | Methods defined here: + | + | AddCommand(self, title, shortcut) + | + | AddEdge(self, src_node, dest_node) + | Creates an edge between two given node ids + | + | AddNode(self, obj) + | Creates a node associated with the given object and returns the node id + | + | Clear(self) + | Clears all the nodes and edges + | + | Close(self) + | Closes the graph. + | It is possible to call Show() again (which will recreate the graph) + | + | Count(self) + | Returns the node count + | + | OnCommand(self, cmd_id) + | + | OnPopup(self, widget, popup_handle) + | + | OnRefresh(self) + | 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. + | + | Select(self, node_id) + | Selects a node on the graph + | + | Show(self) + | Shows an existing graph or creates a new one + | + | @return: Boolean + | + | __getitem__(self, idx) + | Returns a reference to the object associated with this node id + | + | __init__(self, title, close_open=False) + | 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? + | + | __iter__(self) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | UI_Hooks_Trampoline = + | + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_kernwin.CustomIDAMemo: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | + | view_click(self, view, ve) + | + | view_close(self, view, *args) + | + | view_curpos(self, view, *args) + | + | view_dblclick(self, view, ve) + | + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | + | view_mouse_over(self, view, ve) + | + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods inherited from ida_kernwin.CustomIDAMemo: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_kernwin.View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | view_created(self, *args) + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_kernwin.View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_kernwin.View_Hooks: + | + | __swig_destroy__ = + | delete_View_Hooks(self) + +Help on class TPointDouble in module ida_graph: + +class TPointDouble(__builtin__.object) + | Proxy of C++ TPointDouble class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> TPointDouble + | __init__(self, a, b) -> TPointDouble + | __init__(self, r) -> TPointDouble + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | add(self, *args) + | add(self, r) + | + | negate(self, *args) + | negate(self) + | + | sub(self, *args) + | sub(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | TPointDouble_x_get(self) -> double + | + | y + | TPointDouble_y_get(self) -> double + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_TPointDouble(self) + +Help on function calc_dist in module ida_graph: + +calc_dist(*args) + calc_dist(p, q) -> double + + + Calculate distance between p and q. + + + @param p (C++: point_t) + @param q (C++: point_t) + +Help on function clr_node_info in module ida_graph: + +clr_node_info(*args) + clr_node_info(gid, node, flags) + + + Clear node info for the given node. + + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @param flags: combination of Node info flags , identifying which + fields of node_info_t will be cleared (C++: uint32) + +Help on function create_disasm_graph in module ida_graph: + +create_disasm_graph(*args) + create_disasm_graph(ea) -> mutable_graph_t + create_disasm_graph(ranges) -> mutable_graph_t + + + Create a graph for the function that contains 'ea'. + + + @param ea (C++: ea_t) + +Help on function create_graph_viewer in module ida_graph: + +create_graph_viewer(*args) + create_graph_viewer(title, id, callback, ud, title_height, parent=None) -> graph_viewer_t * + + + Create a custom graph viewer. + + @param title: the widget title (C++: const char *) + @param id: graph id (C++: uval_t) + @param callback: callback to handle graph notifications ( + graph_notification_t ) (C++: hook_cb_t *) + @param ud: user data passed to callback (C++: void *) + @param title_height: node title height (C++: int) + @param parent (C++: TWidget *) + @return: new viewer + +Help on function create_mutable_graph in module ida_graph: + +create_mutable_graph(*args) + create_mutable_graph(id) -> mutable_graph_t + + + Create a new empty graph with given id. + + + @param id (C++: uval_t) + +Help on function create_user_graph_place in module ida_graph: + +create_user_graph_place(*args) + 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) + +Help on function del_node_info in module ida_graph: + +del_node_info(*args) + del_node_info(gid, node) + + + Delete the 'node_info_t' for the given node. + + + @param gid (C++: graph_id_t) + @param node (C++: int) + +Help on function delete_mutable_graph in module ida_graph: + +delete_mutable_graph(*args) + delete_mutable_graph(g) + + + Delete graph object.use this only if you are dealing with + 'mutable_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++: mutable_graph_t *) + +Help on class edge_info_t in module ida_graph: + +class edge_info_t(__builtin__.object) + | Proxy of C++ edge_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> edge_info_t + | + | __repr__ = _swig_repr(self) + | + | reverse_layout(self, *args) + | reverse_layout(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | color + | edge_info_t_color_get(self) -> bgcolor_t + | + | dstoff + | edge_info_t_dstoff_get(self) -> int + | + | layout + | edge_info_t_layout_get(self) -> pointseq_t + | + | srcoff + | edge_info_t_srcoff_get(self) -> int + | + | thisown + | The membership flag + | + | width + | edge_info_t_width_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_edge_info_t(self) + +Help on class edge_infos_wrapper_t in module ida_graph: + +class edge_infos_wrapper_t(__builtin__.object) + | Proxy of C++ edge_infos_wrapper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ptr + | edge_infos_wrapper_t_ptr_get(self) -> edge_infos_t * + | + | thisown + | The membership flag + +Help on class edge_layout_point_t in module ida_graph: + +class edge_layout_point_t(__builtin__.object) + | Proxy of C++ edge_layout_point_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> edge_layout_point_t + | __init__(self, r) -> edge_layout_point_t + | __init__(self, _e, _pidx) -> edge_layout_point_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | edge_layout_point_t_e_get(self) -> edge_t + | + | pidx + | edge_layout_point_t_pidx_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_edge_layout_point_t(self) + +Help on class edge_segment_t in module ida_graph: + +class edge_segment_t(__builtin__.object) + | Proxy of C++ edge_segment_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> edge_segment_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | length(self, *args) + | length(self) -> size_t + | + | toright(self, *args) + | toright(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | edge_segment_t_e_get(self) -> edge_t + | + | nseg + | edge_segment_t_nseg_get(self) -> int + | + | thisown + | The membership flag + | + | x0 + | edge_segment_t_x0_get(self) -> int + | + | x1 + | edge_segment_t_x1_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_edge_segment_t(self) + +Help on class edge_t in module ida_graph: + +class edge_t(__builtin__.object) + | Proxy of C++ edge_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, y) -> bool + | + | __init__(self, *args) + | __init__(self) -> edge_t + | __init__(self, x, y) -> edge_t + | + | __lt__(self, *args) + | __lt__(self, y) -> bool + | + | __ne__(self, *args) + | __ne__(self, y) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dst + | edge_t_dst_get(self) -> int + | + | src + | edge_t_src_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_edge_t(self) + +Help on function get_graph_viewer in module ida_graph: + +get_graph_viewer(*args) + get_graph_viewer(parent) -> graph_viewer_t * + + + Get custom graph viewer for given form. + + + @param parent (C++: TWidget *) + +Help on function get_node_info in module ida_graph: + +get_node_info(*args) + get_node_info(out, gid, node) -> bool + + + Get node info. + + @param out: result (C++: node_info_t *) + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @return: success + +Help on function get_viewer_graph in module ida_graph: + +get_viewer_graph(*args) + get_viewer_graph(gv) -> mutable_graph_t + + + Get graph object for given custom graph viewer. + + + @param gv (C++: graph_viewer_t *) + +Help on class graph_item_t in module ida_graph: + +class graph_item_t(__builtin__.object) + | Proxy of C++ graph_item_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> graph_item_t + | + | __repr__ = _swig_repr(self) + | + | is_edge(self, *args) + | is_edge(self) -> bool + | + | is_node(self, *args) + | is_node(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | b + | graph_item_t_b_get(self) -> int + | + | e + | graph_item_t_e_get(self) -> edge_t + | + | elp + | graph_item_t_elp_get(self) -> edge_layout_point_t + | + | n + | graph_item_t_n_get(self) -> int + | + | p + | graph_item_t_p_get(self) -> point_t + | + | thisown + | The membership flag + | + | type + | graph_item_t_type_get(self) -> graph_item_type_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_item_t(self) + +Help on class graph_node_visitor_t in module ida_graph: + +class graph_node_visitor_t(__builtin__.object) + | Proxy of C++ graph_node_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_node_visitor_t + | + | __repr__ = _swig_repr(self) + | + | is_forbidden_edge(self, *args) + | is_forbidden_edge(self, arg0, arg1) -> bool + | + | is_visited(self, *args) + | is_visited(self, n) -> bool + | + | reinit(self, *args) + | reinit(self) + | + | set_visited(self, *args) + | set_visited(self, n) + | + | visit_node(self, *args) + | visit_node(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_node_visitor_t(self) + +Help on class graph_path_visitor_t in module ida_graph: + +class graph_path_visitor_t(__builtin__.object) + | Proxy of C++ graph_path_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_path_visitor_t + | + | __repr__ = _swig_repr(self) + | + | walk_backward(self, *args) + | walk_backward(self, arg0) -> int + | + | walk_forward(self, *args) + | walk_forward(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | path + | graph_path_visitor_t_path_get(self) -> intvec_t * + | + | prune + | graph_path_visitor_t_prune_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_path_visitor_t(self) + +Help on class graph_visitor_t in module ida_graph: + +class graph_visitor_t(__builtin__.object) + | Proxy of C++ graph_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_edge(self, *args) + | visit_edge(self, arg2, arg3) -> int + | + | visit_node(self, *args) + | visit_node(self, arg2, arg3) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_visitor_t(self) + +Help on class group_crinfo_t in module ida_graph: + +class group_crinfo_t(__builtin__.object) + | Proxy of C++ group_crinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> group_crinfo_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | nodes + | group_crinfo_t_nodes_get(self) -> intvec_t * + | + | text + | group_crinfo_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_group_crinfo_t(self) + +Help on class interval_t in module ida_graph: + +class interval_t(__builtin__.object) + | Proxy of C++ interval_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> interval_t + | __init__(self, y0, y1) -> interval_t + | __init__(self, s) -> interval_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | contains(self, *args) + | contains(self, x) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | intersect(self, *args) + | intersect(self, r) + | + | length(self, *args) + | length(self) -> int + | + | make_union(self, *args) + | make_union(self, r) + | + | move_by(self, *args) + | move_by(self, shift) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x0 + | interval_t_x0_get(self) -> int + | + | x1 + | interval_t_x1_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_interval_t(self) + +Help on class mutable_graph_t in module ida_graph: + +class mutable_graph_t(__builtin__.object) + | Proxy of C++ mutable_graph_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | calc_group_ea(self, *args) + | calc_group_ea(self, arg0) -> ea_t + | + | change_group_visibility(self, *args) + | change_group_visibility(self, group, expand) -> bool + | + | clear(self, *args) + | clear(self) + | + | create_digraph_layout(self, *args) + | create_digraph_layout(self) -> bool + | + | create_group(self, *args) + | create_group(self, nodes) -> int + | + | del_custom_layout(self, *args) + | del_custom_layout(self) + | + | delete_group(self, *args) + | delete_group(self, group) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | exists(self, *args) + | exists(self, node) -> bool + | + | get_custom_layout(self, *args) + | get_custom_layout(self) -> bool + | + | get_edge(self, *args) + | get_edge(self, e) -> edge_info_t + | + | get_first_subgraph_node(self, *args) + | get_first_subgraph_node(self, group) -> int + | + | get_graph_groups(self, *args) + | get_graph_groups(self) -> bool + | + | get_next_subgraph_node(self, *args) + | get_next_subgraph_node(self, group, current) -> int + | + | get_node_group(self, *args) + | get_node_group(self, node) -> int + | + | get_node_representative(self, *args) + | get_node_representative(self, node) -> int + | + | is_collapsed_node(self, *args) + | is_collapsed_node(self, node) -> bool + | + | is_deleted_node(self, *args) + | is_deleted_node(self, node) -> bool + | + | is_displayable_node(self, *args) + | is_displayable_node(self, node) -> bool + | + | is_dot_node(self, *args) + | is_dot_node(self, node) -> bool + | + | is_group_node(self, *args) + | is_group_node(self, node) -> bool + | + | is_simple_node(self, *args) + | is_simple_node(self, node) -> bool + | + | is_subgraph_node(self, *args) + | is_subgraph_node(self, node) -> bool + | + | is_uncollapsed_node(self, *args) + | is_uncollapsed_node(self, node) -> bool + | + | is_user_graph(self, *args) + | is_user_graph(self) -> bool + | + | is_visible_node(self, *args) + | is_visible_node(self, node) -> bool + | + | node_qty(self, *args) + | node_qty(self) -> int + | + | npred(self, *args) + | npred(self, b) -> int + | + | nrect(self, *args) + | nrect(self, n) -> rect_t + | nrect(self, n) -> rect_t + | + | nsucc(self, *args) + | nsucc(self, b) -> int + | + | pred(self, *args) + | pred(self, b, i) -> int + | + | predset(self, *args) + | predset(self, b) -> intvec_t const & + | + | reset(self, *args) + | reset(self) + | + | set_custom_layout(self, *args) + | set_custom_layout(self) + | + | set_deleted_node(self, *args) + | set_deleted_node(self, node) + | + | set_edge(self, *args) + | set_edge(self, e, ei) -> bool + | + | set_graph_groups(self, *args) + | set_graph_groups(self) + | + | set_node_group(self, *args) + | set_node_group(self, node, group) + | + | size(self, *args) + | size(self) -> int + | + | succ(self, *args) + | succ(self, b, i) -> int + | + | succset(self, *args) + | succset(self, b) -> intvec_t const & + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | belongs + | mutable_graph_t_belongs_get(self) -> intvec_t * + | + | edges + | mutable_graph_t_edges_get(self) -> edge_infos_wrapper_t + | + | gid + | mutable_graph_t_gid_get(self) -> uval_t + | + | node_flags + | mutable_graph_t_node_flags_get(self) -> bytevec_t * + | + | nodes + | mutable_graph_t_nodes_get(self) -> node_layout_t + | + | org_preds + | mutable_graph_t_org_preds_get(self) -> array_of_intvec_t + | + | org_succs + | mutable_graph_t_org_succs_get(self) -> array_of_intvec_t + | + | preds + | mutable_graph_t_preds_get(self) -> array_of_intvec_t + | + | succs + | mutable_graph_t_succs_get(self) -> array_of_intvec_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mutable_graph_t(self) + +Help on class node_info_t in module ida_graph: + +class node_info_t(__builtin__.object) + | Proxy of C++ node_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> node_info_t + | + | __repr__ = _swig_repr(self) + | + | get_flags_for_valid(self, *args) + | get_flags_for_valid(self) -> uint32 + | + | valid_bg_color(self, *args) + | valid_bg_color(self) -> bool + | + | valid_ea(self, *args) + | valid_ea(self) -> bool + | + | valid_flags(self, *args) + | valid_flags(self) -> bool + | + | valid_frame_color(self, *args) + | valid_frame_color(self) -> bool + | + | valid_text(self, *args) + | valid_text(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bg_color + | node_info_t_bg_color_get(self) -> bgcolor_t + | + | ea + | node_info_t_ea_get(self) -> ea_t + | + | flags + | node_info_t_flags_get(self) -> uint32 + | + | frame_color + | node_info_t_frame_color_get(self) -> bgcolor_t + | + | text + | node_info_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_node_info_t(self) + +Help on class node_layout_t in module ida_graph: + +class node_layout_t(__builtin__.object) + | Proxy of C++ qvector< rect_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> rect_t + | + | __init__(self, *args) + | __init__(self) -> node_layout_t + | __init__(self, x) -> node_layout_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> rect_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> rect_t + | begin(self) -> rect_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> rect_t + | end(self) -> rect_t + | + | erase(self, *args) + | erase(self, it) -> rect_t + | erase(self, first, last) -> rect_t + | + | extract(self, *args) + | extract(self) -> rect_t + | + | find(self, *args) + | find(self, x) -> rect_t + | find(self, x) -> rect_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=rect_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> rect_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> rect_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_node_layout_t(self) + +Help on class node_ordering_t in module ida_graph: + +class node_ordering_t(__builtin__.object) + | Proxy of C++ node_ordering_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> node_ordering_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | node(self, *args) + | node(self, _order) -> int + | + | resize(self, *args) + | resize(self, n) + | + | set(self, *args) + | set(self, _node, num) + | + | size(self, *args) + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_node_ordering_t(self) + +Help on class point_t in module ida_graph: + +class point_t(__builtin__.object) + | Proxy of C++ point_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> point_t + | __init__(self, _x, _y) -> point_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | add(self, *args) + | add(self, r) -> point_t + | + | negate(self, *args) + | negate(self) + | + | sub(self, *args) + | sub(self, r) -> point_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | point_t_x_get(self) -> int + | + | y + | point_t_y_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_point_t(self) + +Help on class pointseq_t in module ida_graph: + +class pointseq_t(pointvec_t) + | Proxy of C++ pointseq_t class. + | + | Method resolution order: + | pointseq_t + | pointvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pointseq_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pointseq_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from pointvec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> point_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> point_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> point_t + | begin(self) -> point_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> point_t + | end(self) -> point_t + | + | erase(self, *args) + | erase(self, it) -> point_t + | erase(self, first, last) -> point_t + | + | extract(self, *args) + | extract(self) -> point_t + | + | find(self, *args) + | find(self, x) -> point_t + | find(self, x) -> point_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=point_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> point_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> point_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from pointvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class pointvec_t in module ida_graph: + +class pointvec_t(__builtin__.object) + | Proxy of C++ qvector< point_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> point_t + | + | __init__(self, *args) + | __init__(self) -> pointvec_t + | __init__(self, x) -> pointvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> point_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> point_t + | begin(self) -> point_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> point_t + | end(self) -> point_t + | + | erase(self, *args) + | erase(self, it) -> point_t + | erase(self, first, last) -> point_t + | + | extract(self, *args) + | extract(self) -> point_t + | + | find(self, *args) + | find(self, x) -> point_t + | find(self, x) -> point_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=point_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> point_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> point_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_pointvec_t(self) + +Help on function pyg_close in module ida_graph: + +pyg_close(*args) + pyg_close(_self) + +Help on function pyg_select_node in module ida_graph: + +pyg_select_node(*args) + pyg_select_node(_self, nid) + +Help on function pyg_show in module ida_graph: + +pyg_show(*args) + pyg_show(_self) -> bool + +Help on class rect_t in module ida_graph: + +class rect_t(__builtin__.object) + | Proxy of C++ rect_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> rect_t + | __init__(self, l, t, r, b) -> rect_t + | __init__(self, p0, p1) -> rect_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | area(self, *args) + | area(self) -> int + | + | bottomright(self, *args) + | bottomright(self) -> point_t + | + | center(self, *args) + | center(self) -> point_t + | + | contains(self, *args) + | contains(self, p) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | grow(self, *args) + | grow(self, delta) + | + | height(self, *args) + | height(self) -> int + | + | intersect(self, *args) + | intersect(self, r) + | + | is_intersection_empty(self, *args) + | is_intersection_empty(self, r) -> bool + | + | make_union(self, *args) + | make_union(self, r) + | + | move_by(self, *args) + | move_by(self, p) + | + | move_to(self, *args) + | move_to(self, p) + | + | topleft(self, *args) + | topleft(self) -> point_t + | + | width(self, *args) + | width(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bottom + | rect_t_bottom_get(self) -> int + | + | left + | rect_t_left_get(self) -> int + | + | right + | rect_t_right_get(self) -> int + | + | thisown + | The membership flag + | + | top + | rect_t_top_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rect_t(self) + +Help on function refresh_viewer in module ida_graph: + +refresh_viewer(*args) + refresh_viewer(gv) + + + Redraw the graph in the given view. + + + @param gv (C++: graph_viewer_t *) + +Help on class row_info_t in module ida_graph: + +class row_info_t(__builtin__.object) + | Proxy of C++ row_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> row_info_t + | + | __repr__ = _swig_repr(self) + | + | height(self, *args) + | height(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bottom + | row_info_t_bottom_get(self) -> int + | + | nodes + | row_info_t_nodes_get(self) -> intvec_t * + | + | thisown + | The membership flag + | + | top + | row_info_t_top_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_row_info_t(self) + +Help on class screen_graph_selection_base_t in module ida_graph: + +class screen_graph_selection_base_t(__builtin__.object) + | Proxy of C++ qvector< selection_item_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> selection_item_t + | + | __init__(self, *args) + | __init__(self) -> screen_graph_selection_base_t + | __init__(self, x) -> screen_graph_selection_base_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> selection_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> selection_item_t + | begin(self) -> selection_item_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> selection_item_t + | end(self) -> selection_item_t + | + | erase(self, *args) + | erase(self, it) -> selection_item_t + | erase(self, first, last) -> selection_item_t + | + | extract(self, *args) + | extract(self) -> selection_item_t + | + | find(self, *args) + | find(self, x) -> selection_item_t + | find(self, x) -> selection_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=selection_item_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> selection_item_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> selection_item_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = screen_graph_selection_t + | + | __repr__ = _swig_repr(self) + | + | add(self, *args) + | add(self, s) + | + | add_node(self, *args) + | add_node(self, node) + | + | add_point(self, *args) + | add_point(self, e, idx) + | + | del_node(self, *args) + | del_node(self, node) + | + | del_point(self, *args) + | del_point(self, e, idx) + | + | has(self, *args) + | has(self, item) -> bool + | + | items_count(self, *args) + | items_count(self, look_for_nodes) -> size_t + | + | nodes_count(self, *args) + | nodes_count(self) -> size_t + | + | points_count(self, *args) + | points_count(self) -> size_t + | + | sub(self, *args) + | sub(self, s) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_screen_graph_selection_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from screen_graph_selection_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> selection_item_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> selection_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> selection_item_t + | begin(self) -> selection_item_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> selection_item_t + | end(self) -> selection_item_t + | + | erase(self, *args) + | erase(self, it) -> selection_item_t + | erase(self, first, last) -> selection_item_t + | + | extract(self, *args) + | extract(self) -> selection_item_t + | + | find(self, *args) + | find(self, x) -> selection_item_t + | find(self, x) -> selection_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=selection_item_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> selection_item_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> selection_item_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from screen_graph_selection_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class selection_item_t in module ida_graph: + +class selection_item_t(__builtin__.object) + | Proxy of C++ selection_item_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> selection_item_t + | __init__(self, n) -> selection_item_t + | __init__(self, _elp) -> selection_item_t + | __init__(self, e, idx) -> selection_item_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | elp + | selection_item_t_elp_get(self) -> edge_layout_point_t + | + | is_node + | selection_item_t_is_node_get(self) -> bool + | + | node + | selection_item_t_node_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_selection_item_t(self) + +Help on function set_node_info in module ida_graph: + +set_node_info(*args) + set_node_info(gid, node, ni, flags) + + + Set node info. + + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @param ni: node info to use (C++: const node_info_t &) + @param flags: combination of Node info flags , identifying which + fields of 'ni' will be used (C++: uint32) + +Help on function set_viewer_graph in module ida_graph: + +set_viewer_graph(*args) + set_viewer_graph(gv, g) + + + Set the underlying graph object for the given viewer. + + + @param gv (C++: graph_viewer_t *) + @param g (C++: mutable_graph_t *) + +Help on class user_graph_place_t in module ida_graph: + +class user_graph_place_t(__builtin__.object) + | Proxy of C++ user_graph_place_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | node + | user_graph_place_t_node_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_graph_place_t(self) + +Help on function viewer_attach_menu_item in module ida_graph: + +viewer_attach_menu_item(*args) + 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 *) + @param name: action name (C++: const char *) + @return: success + +Help on function viewer_center_on in module ida_graph: + +viewer_center_on(*args) + viewer_center_on(gv, node) + + + Center the graph view on the given node. + + + @param gv (C++: graph_viewer_t *) + @param node (C++: int) + +Help on function viewer_create_groups in module ida_graph: + +viewer_create_groups(*args) + 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 mutable_graph_t::create_group that + will, in essence:clone the current graphfor each 'group_crinfo_t' , + attempt creating group in that new graphif all were successful, + animate to that new graph.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 &) + +Help on function viewer_del_node_info in module ida_graph: + +viewer_del_node_info(*args) + 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) + +Help on function viewer_delete_groups in module ida_graph: + +viewer_delete_groups(*args) + viewer_delete_groups(gv, groups, new_current=-1) -> bool + + + Wrapper around mutable_graph_t::delete_group. This function will:clone + the current graphattempt deleting the groups in that new graphif + successful, animate to that new graph. + + @param gv (C++: graph_viewer_t *) + @param groups (C++: const intvec_t &) + @param new_current (C++: int) + +Help on function viewer_fit_window in module ida_graph: + +viewer_fit_window(*args) + viewer_fit_window(gv) + + + Fit graph viewer to its parent form. + + + @param gv (C++: graph_viewer_t *) + +Help on function viewer_get_curnode in module ida_graph: + +viewer_get_curnode(*args) + viewer_get_curnode(gv) -> int + + + Get number of currently selected node (-1 if none) + + + @param gv (C++: graph_viewer_t *) + +Help on function viewer_get_gli in module ida_graph: + +viewer_get_gli(*args) + 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) + +Help on function viewer_get_node_info in module ida_graph: + +viewer_get_node_info(*args) + 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) + +Help on function viewer_get_selection in module ida_graph: + +viewer_get_selection(*args) + 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 *) + +Help on function viewer_set_gli in module ida_graph: + +viewer_set_gli(*args) + 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 *) + @param flags (C++: uint32) + +Help on function viewer_set_groups_visibility in module ida_graph: + +viewer_set_groups_visibility(*args) + viewer_set_groups_visibility(gv, groups, expand, new_current=-1) -> bool + + + Wrapper around mutable_graph_t::change_visibility. This function + will:clone the current graphattempt changing visibility of the groups + in that new graphif successful, animate to that new graph. + + @param gv (C++: graph_viewer_t *) + @param groups (C++: const intvec_t &) + @param expand (C++: bool) + @param new_current (C++: int) + +Help on function viewer_set_node_info in module ida_graph: + +viewer_set_node_info(*args) + 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 &) + @param flags (C++: uint32) + +Help on function viewer_set_titlebar_height in module ida_graph: + +viewer_set_titlebar_height(*args) + 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) + +=== ida_graph EPYDOC INJECTIONS === +ida_graph.GLICTL_CENTER +""" +the gli should be set/get as center +""" + +ida_graph.MTG_DOT_NODE +""" +is dot node? +""" + +ida_graph.MTG_GROUP_NODE +""" +is group node? +""" + +ida_graph.MTG_NON_DISPLAYABLE_NODE +""" +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) +""" + +ida_graph.NIF_BG_COLOR +""" + 'node_info_t::bg_color' +""" + +ida_graph.NIF_EA +""" + 'node_info_t::ea' +""" + +ida_graph.NIF_FLAGS +""" + 'node_info_t::flags' +""" + +ida_graph.NIF_FRAME_COLOR +""" + 'node_info_t::frame_color' +""" + +ida_graph.NIF_TEXT +""" + 'node_info_t::text' +""" +=== ida_graph EPYDOC INJECTIONS END === +Help on class DecompilationFailure in module ida_hexrays: + +class DecompilationFailure(exceptions.Exception) + | Raised on a decompilation error. + | + | The associated hexrays_failure_t object is stored in the + | 'info' member of this exception. + | + | Method resolution order: + | DecompilationFailure + | exceptions.Exception + | exceptions.BaseException + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, info) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from exceptions.Exception: + | + | __new__ = + | T.__new__(S, ...) -> a new object with type S, a subtype of T + | + | ---------------------------------------------------------------------- + | Methods inherited from exceptions.BaseException: + | + | __delattr__(...) + | x.__delattr__('name') <==> del x.name + | + | __getattribute__(...) + | x.__getattribute__('name') <==> x.name + | + | __getitem__(...) + | x.__getitem__(y) <==> x[y] + | + | __getslice__(...) + | x.__getslice__(i, j) <==> x[i:j] + | + | Use of negative indices is not supported. + | + | __reduce__(...) + | + | __repr__(...) + | x.__repr__() <==> repr(x) + | + | __setattr__(...) + | x.__setattr__('name', value) <==> x.name = value + | + | __setstate__(...) + | + | __str__(...) + | x.__str__() <==> str(x) + | + | __unicode__(...) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from exceptions.BaseException: + | + | __dict__ + | + | args + | + | message + +Help on class Hexrays_Hooks in module ida_hexrays: + +class Hexrays_Hooks(__builtin__.object) + | Proxy of C++ Hexrays_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> Hexrays_Hooks + | + | __repr__ = _swig_repr(self) + | + | close_pseudocode(self, *args) + | close_pseudocode(self, vu) -> int + | + | cmt_changed(self, *args) + | cmt_changed(self, cfunc, loc, cmt) -> int + | + | combine(self, *args) + | combine(self, blk, insn) -> int + | + | create_hint(self, *args) + | create_hint(self, vu) -> PyObject * + | + | curpos(self, *args) + | curpos(self, vu) -> int + | + | double_click(self, *args) + | double_click(self, vu, shift_state) -> int + | + | flowchart(self, *args) + | flowchart(self, fc) -> int + | + | func_printed(self, *args) + | func_printed(self, cfunc) -> int + | + | glbopt(self, *args) + | glbopt(self, mba) -> int + | + | hook(self, *args) + | hook(self) -> bool + | + | interr(self, *args) + | interr(self, errcode) -> int + | + | keyboard(self, *args) + | keyboard(self, vu, key_code, shift_state) -> int + | + | locopt(self, *args) + | locopt(self, mba) -> int + | + | lvar_cmt_changed(self, *args) + | lvar_cmt_changed(self, vu, v, cmt) -> int + | + | lvar_mapping_changed(self, *args) + | lvar_mapping_changed(self, vu, frm, to) -> int + | + | lvar_name_changed(self, *args) + | lvar_name_changed(self, vu, v, name, is_user_name) -> int + | + | lvar_type_changed(self, *args) + | lvar_type_changed(self, vu, v, tinfo) -> int + | + | maturity(self, *args) + | maturity(self, cfunc, new_maturity) -> int + | + | microcode(self, *args) + | microcode(self, mba) -> int + | + | open_pseudocode(self, *args) + | open_pseudocode(self, vu) -> int + | + | populating_popup(self, *args) + | populating_popup(self, widget, popup_handle, vu) -> int + | + | prealloc(self, *args) + | prealloc(self, mba) -> int + | + | preoptimized(self, *args) + | preoptimized(self, mba) -> int + | + | print_func(self, *args) + | print_func(self, cfunc, vp) -> int + | + | prolog(self, *args) + | prolog(self, mba, fc, reachable_blocks, decomp_flags) -> int + | + | refresh_pseudocode(self, *args) + | refresh_pseudocode(self, vu) -> int + | + | resolve_stkaddrs(self, *args) + | resolve_stkaddrs(self, mba) -> int + | + | right_click(self, *args) + | right_click(self, vu) -> int + | + | stkpnts(self, *args) + | stkpnts(self, mba, _sps) -> int + | + | structural(self, *args) + | structural(self, ct) -> int + | + | switch_pseudocode(self, *args) + | switch_pseudocode(self, vu) -> int + | + | text_ready(self, *args) + | text_ready(self, vu) -> int + | + | unhook(self, *args) + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_Hexrays_Hooks(self) + +Help on class __cbhooks_t in module ida_hexrays: + +class __cbhooks_t(Hexrays_Hooks) + | Method resolution order: + | __cbhooks_t + | Hexrays_Hooks + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, callback) + | + | close_pseudocode(self, *args) + | + | create_hint(self, *args) + | + | curpos(self, *args) + | + | double_click(self, *args) + | + | func_printed(self, *args) + | + | interr(self, *args) + | + | keyboard(self, *args) + | + | maturity(self, *args) + | + | open_pseudocode(self, *args) + | + | populating_popup(self, *args) + | + | print_func(self, *args) + | + | refresh_pseudocode(self, *args) + | + | right_click(self, *args) + | + | switch_pseudocode(self, *args) + | + | text_ready(self, *args) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | instances = [] + | + | ---------------------------------------------------------------------- + | Methods inherited from Hexrays_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | cmt_changed(self, *args) + | cmt_changed(self, cfunc, loc, cmt) -> int + | + | combine(self, *args) + | combine(self, blk, insn) -> int + | + | flowchart(self, *args) + | flowchart(self, fc) -> int + | + | glbopt(self, *args) + | glbopt(self, mba) -> int + | + | hook(self, *args) + | hook(self) -> bool + | + | locopt(self, *args) + | locopt(self, mba) -> int + | + | lvar_cmt_changed(self, *args) + | lvar_cmt_changed(self, vu, v, cmt) -> int + | + | lvar_mapping_changed(self, *args) + | lvar_mapping_changed(self, vu, frm, to) -> int + | + | lvar_name_changed(self, *args) + | lvar_name_changed(self, vu, v, name, is_user_name) -> int + | + | lvar_type_changed(self, *args) + | lvar_type_changed(self, vu, v, tinfo) -> int + | + | microcode(self, *args) + | microcode(self, mba) -> int + | + | prealloc(self, *args) + | prealloc(self, mba) -> int + | + | preoptimized(self, *args) + | preoptimized(self, mba) -> int + | + | prolog(self, *args) + | prolog(self, mba, fc, reachable_blocks, decomp_flags) -> int + | + | resolve_stkaddrs(self, *args) + | resolve_stkaddrs(self, mba) -> int + | + | stkpnts(self, *args) + | stkpnts(self, mba, _sps) -> int + | + | structural(self, *args) + | structural(self, ct) -> int + | + | unhook(self, *args) + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from Hexrays_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from Hexrays_Hooks: + | + | __swig_destroy__ = + | delete_Hexrays_Hooks(self) + +Help on function _call_with_transferrable_ownership in module ida_hexrays: + +_call_with_transferrable_ownership(fun, *args) + # Object ownership + +Help on function _kludge_use_TPopupMenu in module ida_hexrays: + +_kludge_use_TPopupMenu(*args) + _kludge_use_TPopupMenu(m) + +Help on function _ll_call_helper in module ida_hexrays: + +_ll_call_helper(*args) + _ll_call_helper(rettype, args, format) -> cexpr_t + +Help on function _ll_create_helper in module ida_hexrays: + +_ll_create_helper(*args) + _ll_create_helper(standalone, type, format) -> cexpr_t + +Help on function _ll_dereference in module ida_hexrays: + +_ll_dereference(*args) + _ll_dereference(e, ptrsize, is_flt=False) -> cexpr_t + +Help on function _ll_lnot in module ida_hexrays: + +_ll_lnot(*args) + _ll_lnot(e) -> cexpr_t + +Help on function _ll_make_num in module ida_hexrays: + +_ll_make_num(*args) + _ll_make_num(n, func=None, ea=BADADDR, opnum=0, sign=no_sign, size=0) -> cexpr_t + +Help on function _ll_make_ref in module ida_hexrays: + +_ll_make_ref(*args) + _ll_make_ref(e) -> cexpr_t + +Help on function _ll_new_block in module ida_hexrays: + +_ll_new_block(*args) + _ll_new_block() -> cinsn_t + +Help on function _map_as_dict in module ida_hexrays: + +_map_as_dict(maptype, name, keytype, valuetype) + # dictify all dict-like types + +Help on function accepts_small_udts in module ida_hexrays: + +accepts_small_udts(*args) + accepts_small_udts(op) -> bool + + + Is the operator allowed on small structure or union? + + + @param op (C++: ctype_t) + +Help on function accepts_udts in module ida_hexrays: + +accepts_udts(*args) + accepts_udts(op) -> bool + +Help on function arglocs_overlap in module ida_hexrays: + +arglocs_overlap(*args) + arglocs_overlap(loc1, w1, loc2, w2) -> bool + + + Do two arglocs overlap? + + + @param loc1 (C++: const vdloc_t &) + @param w1 (C++: size_t) + @param loc2 (C++: const vdloc_t &) + @param w2 (C++: size_t) + +Help on class array_of_bitsets in module ida_hexrays: + +class array_of_bitsets(__builtin__.object) + | Proxy of C++ qvector< bitset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> bitset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_bitsets + | __init__(self, x) -> array_of_bitsets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> bitset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> bitset_t + | begin(self) -> bitset_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> bitset_t + | end(self) -> bitset_t + | + | erase(self, *args) + | erase(self, it) -> bitset_t + | erase(self, first, last) -> bitset_t + | + | extract(self, *args) + | extract(self) -> bitset_t + | + | find(self, *args) + | find(self, x) -> bitset_t + | find(self, x) -> bitset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=bitset_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> bitset_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> bitset_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_array_of_bitsets(self) + +Help on class array_of_ivlsets in module ida_hexrays: + +class array_of_ivlsets(__builtin__.object) + | Proxy of C++ qvector< ivlset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> ivlset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_ivlsets + | __init__(self, x) -> array_of_ivlsets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> ivlset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> ivlset_t + | begin(self) -> ivlset_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ivlset_t + | end(self) -> ivlset_t + | + | erase(self, *args) + | erase(self, it) -> ivlset_t + | erase(self, first, last) -> ivlset_t + | + | extract(self, *args) + | extract(self) -> ivlset_t + | + | find(self, *args) + | find(self, x) -> ivlset_t + | find(self, x) -> ivlset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=ivlset_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> ivlset_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ivlset_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_array_of_ivlsets(self) + +Help on function asgop in module ida_hexrays: + +asgop(*args) + asgop(cop) -> ctype_t + + + Convert plain operator into assignment operator. For example, cot_add + returns cot_asgadd. + + + @param cop (C++: ctype_t) + +Help on function asgop_revert in module ida_hexrays: + +asgop_revert(*args) + asgop_revert(cop) -> ctype_t + + + Convert assignment operator into plain operator. For example, + cot_asgadd returns cot_add + + @param cop (C++: ctype_t) + @return: cot_empty is the input operator is not an assignment + operator. + +Help on class bit_bound_t in module ida_hexrays: + +class bit_bound_t(__builtin__.object) + | Proxy of C++ bit_bound_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=0, s=0) -> bit_bound_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | nbits + | bit_bound_t_nbits_get(self) -> int16 + | + | sbits + | bit_bound_t_sbits_get(self) -> int16 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bit_bound_t(self) + +Help on class bitset_t in module ida_hexrays: + +class bitset_t(__builtin__.object) + | Proxy of C++ bitset_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> bitset_t + | __init__(self, m) -> bitset_t + | + | __iter__(self) + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __len__ = count(self, *args) + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | add(self, *args) + | add(self, bit) -> bool + | add(self, bit, width) -> bool + | add(self, ml) -> bool + | + | back(self, *args) + | back(self) -> int + | + | begin(self, *args) + | begin(self) -> bitset_t::iterator + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | copy(self, *args) + | copy(self, m) -> bitset_t + | + | count(self, *args) + | count(self) -> int + | count(self, bit) -> int + | + | cut_at(self, *args) + | cut_at(self, maxbit) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> bitset_t::iterator + | + | fill_with_ones(self, *args) + | fill_with_ones(self, maxbit) + | + | front(self, *args) + | front(self) -> int + | + | has(self, *args) + | has(self, bit) -> bool + | + | has_all(self, *args) + | has_all(self, bit, width) -> bool + | + | has_any(self, *args) + | has_any(self, bit, width) -> bool + | + | has_common(self, *args) + | has_common(self, ml) -> bool + | + | inc(self, *args) + | inc(self, p, n=1) + | + | includes(self, *args) + | includes(self, ml) -> bool + | + | intersect(self, *args) + | intersect(self, ml) -> bool + | + | is_subset_of(self, *args) + | is_subset_of(self, ml) -> bool + | + | itat(self, *args) + | itat(self, n) -> bitset_t::iterator + | + | itv(self, *args) + | itv(self, it) -> int + | + | last(self, *args) + | last(self) -> int + | + | shift_down(self, *args) + | shift_down(self, shift) + | + | sub(self, *args) + | sub(self, bit) -> bool + | sub(self, bit, width) -> bool + | sub(self, ml) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bitset_t(self) + +Help on function block_chains_begin in module ida_hexrays: + +block_chains_begin(*args) + 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 *) + +Help on function block_chains_clear in module ida_hexrays: + +block_chains_clear(*args) + block_chains_clear(set) + + + Clear 'block_chains_t' . + + + @param set (C++: block_chains_t *) + +Help on function block_chains_end in module ida_hexrays: + +block_chains_end(*args) + 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 *) + +Help on function block_chains_erase in module ida_hexrays: + +block_chains_erase(*args) + 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) + +Help on function block_chains_find in module ida_hexrays: + +block_chains_find(*args) + 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 *) + @param val (C++: const chain_t &) + +Help on function block_chains_free in module ida_hexrays: + +block_chains_free(*args) + block_chains_free(set) + + + Delete 'block_chains_t' instance. + + + @param set (C++: block_chains_t *) + +Help on function block_chains_get in module ida_hexrays: + +block_chains_get(*args) + block_chains_get(p) -> chain_t + + + Get reference to the current set value. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_insert in module ida_hexrays: + +block_chains_insert(*args) + 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 &) + +Help on class block_chains_iterator_t in module ida_hexrays: + +class block_chains_iterator_t(__builtin__.object) + | Proxy of C++ block_chains_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> block_chains_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | block_chains_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_block_chains_iterator_t(self) + +Help on function block_chains_new in module ida_hexrays: + +block_chains_new(*args) + block_chains_new() -> block_chains_t + + + Create a new 'block_chains_t' instance. + +Help on function block_chains_next in module ida_hexrays: + +block_chains_next(*args) + block_chains_next(p) -> block_chains_iterator_t + + + Move to the next element. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_prev in module ida_hexrays: + +block_chains_prev(*args) + block_chains_prev(p) -> block_chains_iterator_t + + + Move to the previous element. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_size in module ida_hexrays: + +block_chains_size(*args) + block_chains_size(set) -> size_t + + + Get size of 'block_chains_t' . + + + @param set (C++: block_chains_t *) + +Help on class block_chains_t in module ida_hexrays: + +class block_chains_t(__builtin__.object) + | Proxy of C++ block_chains_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> block_chains_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | get_chain(self, *args) + | get_chain(self, k, width=1) -> chain_t + | get_chain(self, k, width=1) -> chain_t + | get_chain(self, ch) -> chain_t + | get_chain(self, ch) -> chain_t + | + | get_reg_chain(self, *args) + | get_reg_chain(self, reg, width=1) -> chain_t + | get_reg_chain(self, reg, width=1) -> chain_t + | + | get_stk_chain(self, *args) + | get_stk_chain(self, off, width=1) -> chain_t + | get_stk_chain(self, off, width=1) -> chain_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_block_chains_t(self) + +Help on class block_chains_vec_t in module ida_hexrays: + +class block_chains_vec_t(__builtin__.object) + | Proxy of C++ qvector< block_chains_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> block_chains_t + | + | __init__(self, *args) + | __init__(self) -> block_chains_vec_t + | __init__(self, x) -> block_chains_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> block_chains_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> block_chains_t + | begin(self) -> block_chains_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> block_chains_t + | end(self) -> block_chains_t + | + | erase(self, *args) + | erase(self, it) -> block_chains_t + | erase(self, first, last) -> block_chains_t + | + | extract(self, *args) + | extract(self) -> block_chains_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=block_chains_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> block_chains_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> block_chains_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_block_chains_vec_t(self) + +Help on function boundaries_begin in module ida_hexrays: + +boundaries_begin(*args) + boundaries_begin(map) -> boundaries_iterator_t + + + Get iterator pointing to the beginning of boundaries_t. + + + @param map (C++: const boundaries_t *) + +Help on function boundaries_clear in module ida_hexrays: + +boundaries_clear(*args) + boundaries_clear(map) + + + Clear boundaries_t. + + + @param map (C++: boundaries_t *) + +Help on function boundaries_end in module ida_hexrays: + +boundaries_end(*args) + boundaries_end(map) -> boundaries_iterator_t + + + Get iterator pointing to the end of boundaries_t. + + + @param map (C++: const boundaries_t *) + +Help on function boundaries_erase in module ida_hexrays: + +boundaries_erase(*args) + boundaries_erase(map, p) + + + Erase current element from boundaries_t. + + + @param map (C++: boundaries_t *) + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_find in module ida_hexrays: + +boundaries_find(*args) + boundaries_find(map, key) -> boundaries_iterator_t + + + Find the specified key in boundaries_t. + + + @param map (C++: const boundaries_t *) + @param key (C++: const cinsn_t *&) + +Help on function boundaries_first in module ida_hexrays: + +boundaries_first(*args) + boundaries_first(p) -> cinsn_t + + + Get reference to the current map key. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_free in module ida_hexrays: + +boundaries_free(*args) + boundaries_free(map) + + + Delete boundaries_t instance. + + + @param map (C++: boundaries_t *) + +Help on function boundaries_insert in module ida_hexrays: + +boundaries_insert(*args) + 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 *&) + @param val (C++: const rangeset_t &) + +Help on class boundaries_iterator_t in module ida_hexrays: + +class boundaries_iterator_t(__builtin__.object) + | Proxy of C++ boundaries_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> boundaries_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | boundaries_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_boundaries_iterator_t(self) + +Help on function boundaries_new in module ida_hexrays: + +boundaries_new(*args) + boundaries_new() -> boundaries_t + + + Create a new boundaries_t instance. + +Help on function boundaries_next in module ida_hexrays: + +boundaries_next(*args) + boundaries_next(p) -> boundaries_iterator_t + + + Move to the next element. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_prev in module ida_hexrays: + +boundaries_prev(*args) + boundaries_prev(p) -> boundaries_iterator_t + + + Move to the previous element. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_second in module ida_hexrays: + +boundaries_second(*args) + boundaries_second(p) -> rangeset_t + + + Get reference to the current map value. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_size in module ida_hexrays: + +boundaries_size(*args) + boundaries_size(map) -> size_t + + + Get size of boundaries_t. + + + @param map (C++: boundaries_t *) + +Help on class boundaries_t in module ida_hexrays: + +class boundaries_t(__builtin__.object) + | Proxy of C++ std::map< cinsn_t *,rangeset_t > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> boundaries_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> rangeset_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | boundaries_begin(map) -> boundaries_iterator_t + | + | __clear = + | boundaries_clear(map) + | + | __end = + | boundaries_end(map) -> boundaries_iterator_t + | + | __erase = + | boundaries_erase(map, p) + | + | __find = + | boundaries_find(map, key) -> boundaries_iterator_t + | + | __first = + | boundaries_first(p) -> cinsn_t + | + | __insert = + | boundaries_insert(map, key, val) -> boundaries_iterator_t + | + | __next = + | boundaries_next(p) -> boundaries_iterator_t + | + | __second = + | boundaries_second(p) -> rangeset_t + | + | __size = + | boundaries_size(map) -> size_t + | + | __swig_destroy__ = + | delete_boundaries_t(self) + | + | keytype = + | Proxy of C++ cinsn_t class. + | + | valuetype = + | Proxy of C++ rangeset_t class. + +Help on function call_helper in module ida_hexrays: + +call_helper(rettype, args, *rest) + +Help on class carg_t in module ida_hexrays: + +class carg_t(cexpr_t) + | Proxy of C++ carg_t class. + | + | Method resolution order: + | carg_t + | cexpr_t + | citem_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> carg_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | consume_cexpr(self, *args) + | consume_cexpr(self, e) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | formal_type + | carg_t_formal_type_get(self) -> tinfo_t + | + | is_vararg + | carg_t_is_vararg_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_carg_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from cexpr_t: + | + | _deregister(self, *args) + | _deregister(self) + | + | _get_a(self, *args) + | _get_a(self) -> carglist_t + | + | _get_fpc(self, *args) + | _get_fpc(self) -> fnumber_t + | + | _get_helper(self, *args) + | _get_helper(self) -> char * + | + | _get_insn(self, *args) + | _get_insn(self) -> cinsn_t + | + | _get_m(self, *args) + | _get_m(self) -> int + | + | _get_n(self, *args) + | _get_n(self) -> cnumber_t + | + | _get_obj_ea(self, *args) + | _get_obj_ea(self) -> ea_t + | + | _get_ptrsize(self, *args) + | _get_ptrsize(self) -> int + | + | _get_refwidth(self, *args) + | _get_refwidth(self) -> int + | + | _get_string(self, *args) + | _get_string(self) -> char * + | + | _get_x(self, *args) + | _get_x(self) -> cexpr_t + | + | _get_y(self, *args) + | _get_y(self) -> cexpr_t + | + | _get_z(self, *args) + | _get_z(self) -> cexpr_t + | + | _register(self, *args) + | _register(self) + | + | _replace_by(self, *args) + | _replace_by(self, r) + | + | _set_a(self, *args) + | _set_a(self, _v) + | + | _set_fpc(self, *args) + | _set_fpc(self, _v) + | + | _set_helper(self, *args) + | _set_helper(self, _v) + | + | _set_insn(self, *args) + | _set_insn(self, _v) + | + | _set_m(self, *args) + | _set_m(self, _v) + | + | _set_n(self, *args) + | _set_n(self, _v) + | + | _set_obj_ea(self, *args) + | _set_obj_ea(self, _v) + | + | _set_ptrsize(self, *args) + | _set_ptrsize(self, _v) + | + | _set_refwidth(self, *args) + | _set_refwidth(self, _v) + | + | _set_string(self, *args) + | _set_string(self, _v) + | + | _set_x(self, *args) + | _set_x(self, _v) + | + | _set_y(self, *args) + | _set_y(self, _v) + | + | _set_z(self, *args) + | _set_z(self, _v) + | + | assign(self, *args) + | assign(self, r) -> cexpr_t + | + | calc_type(self, *args) + | calc_type(self, recursive) + | + | cleanup(self, *args) + | cleanup(self) + | + | contains_comma(self, *args) + | contains_comma(self, times=1) -> bool + | + | contains_comma_or_insn_or_label(self, *args) + | contains_comma_or_insn_or_label(self, maxcommas=1) -> bool + | + | contains_insn(self, *args) + | contains_insn(self, times=1) -> bool + | + | contains_insn_or_label(self, *args) + | contains_insn_or_label(self) -> bool + | + | contains_operator(self, *args) + | contains_operator(self, needed_op, times=1) -> bool + | + | cpadone(self, *args) + | cpadone(self) -> bool + | + | equal_effect(self, *args) + | equal_effect(self, r) -> bool + | + | find_num_op(self, *args) + | find_num_op(self) -> cexpr_t + | find_num_op(self) -> cexpr_t + | + | find_op(self, *args) + | find_op(self, _op) -> cexpr_t + | find_op(self, _op) -> cexpr_t + | + | get_1num_op(self, *args) + | get_1num_op(self, o1, o2) -> bool + | + | get_const_value(self, *args) + | get_const_value(self) -> bool + | + | get_high_nbit_bound(self, *args) + | get_high_nbit_bound(self) -> bit_bound_t + | + | get_low_nbit_bound(self, *args) + | get_low_nbit_bound(self) -> int + | + | get_ptr_or_array(self, *args) + | get_ptr_or_array(self) -> cexpr_t + | + | get_type_sign(self, *args) + | get_type_sign(self) -> type_sign_t + | + | get_v(self, *args) + | get_v(self) -> var_ref_t + | + | has_side_effects(self, *args) + | has_side_effects(self) -> bool + | + | is_call_arg_of(self, *args) + | is_call_arg_of(self, parent) -> bool + | + | is_call_object_of(self, *args) + | is_call_object_of(self, parent) -> bool + | + | is_child_of(self, *args) + | is_child_of(self, parent) -> bool + | + | is_const_value(self, *args) + | is_const_value(self, _v) -> bool + | + | is_cstr(self, *args) + | is_cstr(self) -> bool + | + | is_fpop(self, *args) + | is_fpop(self) -> bool + | + | is_jumpout(self, *args) + | is_jumpout(self) -> bool + | + | is_negative_const(self, *args) + | is_negative_const(self) -> bool + | + | is_nice_cond(self, *args) + | is_nice_cond(self) -> bool + | + | is_nice_expr(self, *args) + | is_nice_expr(self) -> bool + | + | is_non_negative_const(self, *args) + | is_non_negative_const(self) -> bool + | + | is_non_zero_const(self, *args) + | is_non_zero_const(self) -> bool + | + | is_odd_lvalue(self, *args) + | is_odd_lvalue(self) -> bool + | + | is_type_signed(self, *args) + | is_type_signed(self) -> bool + | + | is_type_unsigned(self, *args) + | is_type_unsigned(self) -> bool + | + | is_undef_val(self, *args) + | is_undef_val(self) -> bool + | + | is_vftable(self, *args) + | is_vftable(self) -> bool + | + | is_zero_const(self, *args) + | is_zero_const(self) -> bool + | + | maybe_ptr(self, *args) + | maybe_ptr(self) -> bool + | + | numval(self, *args) + | numval(self) -> uint64 + | + | print1(self, *args) + | print1(self, func) + | + | put_number(self, *args) + | put_number(self, func, value, nbytes, sign=no_sign) + | + | requires_lvalue(self, *args) + | requires_lvalue(self, child) -> bool + | + | set_cpadone(self, *args) + | set_cpadone(self) + | + | set_v(self, *args) + | set_v(self, v) + | + | set_vftable(self, *args) + | set_vftable(self) + | + | swap(self, *args) + | swap(self, r) + | + | theother(self, *args) + | theother(self, what) -> cexpr_t + | theother(self, what) -> cexpr_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cexpr_t: + | + | a + | + | exflags + | cexpr_t_exflags_get(self) -> uint32 + | + | fpc + | + | helper + | + | insn + | + | m + | + | n + | + | obj_ea + | + | operands + | return a dictionary with the operands of a cexpr_t. + | + | opname + | + | ptrsize + | + | refwidth + | + | string + | + | type + | cexpr_t_type_get(self) -> tinfo_t + | + | v + | + | x + | + | y + | + | z + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from cexpr_t: + | + | op_to_typename = {0: 'empty', 1: 'comma', 2: 'asg', 3: 'asgbor', 4: 'a... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) + | _set_op(self, v) + | + | contains_expr(self, *args) + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class carglist_t in module ida_hexrays: + +class carglist_t(qvector_carg_t) + | Proxy of C++ carglist_t class. + | + | Method resolution order: + | carglist_t + | qvector_carg_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> carglist_t + | __init__(self, ftype, fl=0) -> carglist_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | carglist_t_flags_get(self) -> int + | + | functype + | carglist_t_functype_get(self) -> tinfo_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_carglist_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_carg_t: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> carg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> carg_t + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> carg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> carg_t + | begin(self) -> carg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> carg_t + | end(self) -> carg_t + | + | erase(self, *args) + | erase(self, it) -> carg_t + | erase(self, first, last) -> carg_t + | + | extract(self, *args) + | extract(self) -> carg_t + | + | find(self, *args) + | find(self, x) -> carg_t + | find(self, x) -> carg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=carg_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> carg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> carg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_carg_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class casm_t in module ida_hexrays: + +class casm_t(ida_pro.eavec_t)↗ + | Proxy of C++ casm_t class. + | + | Method resolution order: + | casm_t + | ida_pro.eavec_t↗ + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, ea) -> casm_t + | __init__(self, r) -> casm_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | one_insn(self, *args) + | one_insn(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_casm_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_pro.eavec_t:↗ + | + | __getitem__(self, *args) + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> unsigned-ea-like-numeric-type &↗ + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | begin(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | end(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | erase(self, *args) + | erase(self, it) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | erase(self, first, last) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | + | extract(self, *args) + | extract(self) -> unsigned-ea-like-numeric-type *↗ + | + | find(self, *args) + | find(self, x) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | find(self, x) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> unsigned-ea-like-numeric-type &↗ + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_pro.eavec_t:↗ + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function cblock_at in module ida_hexrays: + +cblock_at(self, index) + # cblock.at(int) -> returns the item at the given index index + +Help on function cblock_find in module ida_hexrays: + +cblock_find(self, item) + # cblock.find(cinsn_t) -> returns the iterator positioned at the given item + +Help on function cblock_index in module ida_hexrays: + +cblock_index(self, item) + # cblock.index(cinsn_t) -> returns the index of the given item + +Help on function cblock_insert in module ida_hexrays: + +cblock_insert(self, index, item) + # cblock.insert(index, cinsn_t) + +Help on function cblock_iter in module ida_hexrays: + +cblock_iter(self) + +Help on function cblock_remove in module ida_hexrays: + +cblock_remove(self, item) + # cblock.remove(cinsn_t) + +Help on class cblock_t in module ida_hexrays: + +class cblock_t(qlist_cinsn_t) + | Proxy of C++ cblock_t class. + | + | Method resolution order: + | cblock_t + | qlist_cinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cblock_t + | + | __iter__ = cblock_iter(self) + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _deregister(self, *args) + | _deregister(self) + | + | at = cblock_at(self, index) + | # cblock.at(int) -> returns the item at the given index index + | + | compare(self, *args) + | compare(self, r) -> int + | + | find = cblock_find(self, item) + | # cblock.find(cinsn_t) -> returns the iterator positioned at the given item + | + | index = cblock_index(self, item) + | # cblock.index(cinsn_t) -> returns the index of the given item + | + | insert = cblock_insert(self, index, item) + | # cblock.insert(index, cinsn_t) + | + | remove = cblock_remove(self, item) + | # cblock.remove(cinsn_t) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cblock_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from qlist_cinsn_t: + | + | back(self, *args) + | back(self) -> cinsn_t + | back(self) -> cinsn_t + | + | begin(self, *args) + | begin(self) -> qlist_cinsn_t_iterator + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qlist_cinsn_t_iterator + | + | erase(self, *args) + | erase(self, p) -> qlist< cinsn_t >::iterator + | erase(self, p1, p2) + | erase(self, p) + | + | front(self, *args) + | front(self) -> cinsn_t + | front(self) -> cinsn_t + | + | pop_back(self, *args) + | pop_back(self) + | + | pop_front(self, *args) + | pop_front(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> cinsn_t + | + | push_front(self, *args) + | push_front(self, x) + | + | rbegin(self, *args) + | rbegin(self) -> qlist< cinsn_t >::reverse_iterator + | rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | rend(self, *args) + | rend(self) -> qlist< cinsn_t >::reverse_iterator + | rend(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, x) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qlist_cinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class ccase_t in module ida_hexrays: + +class ccase_t(cinsn_t) + | Proxy of C++ ccase_t class. + | + | Method resolution order: + | ccase_t + | cinsn_t + | citem_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ccase_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | size(self, *args) + | size(self) -> size_t + | + | value(self, *args) + | value(self, i) -> uint64 const & + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | values + | ccase_t_values_get(self) -> ulonglongvec_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ccase_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from cinsn_t: + | + | _deregister(self, *args) + | _deregister(self) + | + | _get_casm(self, *args) + | _get_casm(self) -> casm_t + | + | _get_cblock(self, *args) + | _get_cblock(self) -> cblock_t + | + | _get_cdo(self, *args) + | _get_cdo(self) -> cdo_t + | + | _get_cexpr(self, *args) + | _get_cexpr(self) -> cexpr_t + | + | _get_cfor(self, *args) + | _get_cfor(self) -> cfor_t + | + | _get_cgoto(self, *args) + | _get_cgoto(self) -> cgoto_t + | + | _get_cif(self, *args) + | _get_cif(self) -> cif_t + | + | _get_creturn(self, *args) + | _get_creturn(self) -> creturn_t + | + | _get_cswitch(self, *args) + | _get_cswitch(self) -> cswitch_t + | + | _get_cwhile(self, *args) + | _get_cwhile(self) -> cwhile_t + | + | _print(self, *args) + | _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) + | + | _register(self, *args) + | _register(self) + | + | _replace_by(self, *args) + | _replace_by(self, r) + | + | _set_casm(self, *args) + | _set_casm(self, _v) + | + | _set_cblock(self, *args) + | _set_cblock(self, _v) + | + | _set_cdo(self, *args) + | _set_cdo(self, _v) + | + | _set_cexpr(self, *args) + | _set_cexpr(self, _v) + | + | _set_cfor(self, *args) + | _set_cfor(self, _v) + | + | _set_cgoto(self, *args) + | _set_cgoto(self, _v) + | + | _set_cif(self, *args) + | _set_cif(self, _v) + | + | _set_creturn(self, *args) + | _set_creturn(self, _v) + | + | _set_cswitch(self, *args) + | _set_cswitch(self, _v) + | + | _set_cwhile(self, *args) + | _set_cwhile(self, _v) + | + | assign(self, *args) + | assign(self, r) -> cinsn_t + | + | cleanup(self, *args) + | cleanup(self) + | + | collect_free_breaks(self, *args) + | collect_free_breaks(self, breaks) -> bool + | + | collect_free_continues(self, *args) + | collect_free_continues(self, continues) -> bool + | + | contains_free_break(self, *args) + | contains_free_break(self) -> bool + | + | contains_free_continue(self, *args) + | contains_free_continue(self) -> bool + | + | contains_insn(self, *args) + | contains_insn(self, type, times=1) -> bool + | + | create_if(self, *args) + | create_if(self, cnd) -> cif_t + | + | is_epilog(self) + | + | is_ordinary_flow(self, *args) + | is_ordinary_flow(self) -> bool + | + | new_insn(self, *args) + | new_insn(self, insn_ea) -> cinsn_t + | + | print1(self, *args) + | print1(self, func) + | + | swap(self, *args) + | swap(self, r) + | + | zero(self, *args) + | zero(self) + | + | ---------------------------------------------------------------------- + | Static methods inherited from cinsn_t: + | + | insn_is_epilog(*args) + | insn_is_epilog(insn) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cinsn_t: + | + | casm + | + | cblock + | + | cdo + | + | cexpr + | + | cfor + | + | cgoto + | + | cif + | + | creturn + | + | cswitch + | + | cwhile + | + | details + | 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. + | + | opname + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from cinsn_t: + | + | op_to_typename = {70: 'empty', 71: 'block', 72: 'expr', 73: 'if', 74: ... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) + | _set_op(self, v) + | + | contains_expr(self, *args) + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class ccases_t in module ida_hexrays: + +class ccases_t(qvector_ccase_t) + | Proxy of C++ ccases_t class. + | + | Method resolution order: + | ccases_t + | qvector_ccase_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ccases_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ccases_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_ccase_t: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> ccase_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ccase_t + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> ccase_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> ccase_t + | begin(self) -> ccase_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ccase_t + | end(self) -> ccase_t + | + | erase(self, *args) + | erase(self, it) -> ccase_t + | erase(self, first, last) -> ccase_t + | + | extract(self, *args) + | extract(self) -> ccase_t + | + | find(self, *args) + | find(self, x) -> ccase_t + | find(self, x) -> ccase_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=ccase_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> ccase_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ccase_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_ccase_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class cdg_insn_iterator_t in module ida_hexrays: + +class cdg_insn_iterator_t(__builtin__.object) + | Proxy of C++ cdg_insn_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cdg_insn_iterator_t + | __init__(self, r) -> cdg_insn_iterator_t + | + | __repr__ = _swig_repr(self) + | + | dslot_with_xrefs(self, *args) + | dslot_with_xrefs(self) -> bool + | + | has_dslot(self, *args) + | has_dslot(self) -> bool + | + | next(self, *args) + | next(self, ins) -> merror_t + | + | ok(self, *args) + | ok(self) -> bool + | + | start(self, *args) + | start(self, rng) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dslot + | cdg_insn_iterator_t_dslot_get(self) -> ea_t + | + | dslot_insn + | cdg_insn_iterator_t_dslot_insn_get(self) -> insn_t * + | + | ea + | cdg_insn_iterator_t_ea_get(self) -> ea_t + | + | end + | cdg_insn_iterator_t_end_get(self) -> ea_t + | + | is_likely_dslot + | cdg_insn_iterator_t_is_likely_dslot_get(self) -> bool + | + | is_separate_dslot + | cdg_insn_iterator_t_is_separate_dslot_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cdg_insn_iterator_t(self) + +Help on class cdo_t in module ida_hexrays: + +class cdo_t(cloop_t) + | Proxy of C++ cdo_t class. + | + | Method resolution order: + | cdo_t + | cloop_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cdo_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cdo_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class ceinsn_t in module ida_hexrays: + +class ceinsn_t(__builtin__.object) + | Proxy of C++ ceinsn_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ceinsn_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ceinsn_t(self) + +Help on function cexpr_operands in module ida_hexrays: + +cexpr_operands(self) + return a dictionary with the operands of a cexpr_t. + +Help on class cexpr_t in module ida_hexrays: + +class cexpr_t(citem_t) + | Proxy of C++ cexpr_t class. + | + | Method resolution order: + | cexpr_t + | citem_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cexpr_t + | __init__(self, cop, _x) -> cexpr_t + | __init__(self, cop, _x, _y) -> cexpr_t + | __init__(self, cop, _x, _y, _z) -> cexpr_t + | __init__(self, r) -> cexpr_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _deregister(self, *args) + | _deregister(self) + | + | _get_a(self, *args) + | _get_a(self) -> carglist_t + | + | _get_fpc(self, *args) + | _get_fpc(self) -> fnumber_t + | + | _get_helper(self, *args) + | _get_helper(self) -> char * + | + | _get_insn(self, *args) + | _get_insn(self) -> cinsn_t + | + | _get_m(self, *args) + | _get_m(self) -> int + | + | _get_n(self, *args) + | _get_n(self) -> cnumber_t + | + | _get_obj_ea(self, *args) + | _get_obj_ea(self) -> ea_t + | + | _get_ptrsize(self, *args) + | _get_ptrsize(self) -> int + | + | _get_refwidth(self, *args) + | _get_refwidth(self) -> int + | + | _get_string(self, *args) + | _get_string(self) -> char * + | + | _get_x(self, *args) + | _get_x(self) -> cexpr_t + | + | _get_y(self, *args) + | _get_y(self) -> cexpr_t + | + | _get_z(self, *args) + | _get_z(self) -> cexpr_t + | + | _register(self, *args) + | _register(self) + | + | _replace_by(self, *args) + | _replace_by(self, r) + | + | _set_a(self, *args) + | _set_a(self, _v) + | + | _set_fpc(self, *args) + | _set_fpc(self, _v) + | + | _set_helper(self, *args) + | _set_helper(self, _v) + | + | _set_insn(self, *args) + | _set_insn(self, _v) + | + | _set_m(self, *args) + | _set_m(self, _v) + | + | _set_n(self, *args) + | _set_n(self, _v) + | + | _set_obj_ea(self, *args) + | _set_obj_ea(self, _v) + | + | _set_ptrsize(self, *args) + | _set_ptrsize(self, _v) + | + | _set_refwidth(self, *args) + | _set_refwidth(self, _v) + | + | _set_string(self, *args) + | _set_string(self, _v) + | + | _set_x(self, *args) + | _set_x(self, _v) + | + | _set_y(self, *args) + | _set_y(self, _v) + | + | _set_z(self, *args) + | _set_z(self, _v) + | + | assign(self, *args) + | assign(self, r) -> cexpr_t + | + | calc_type(self, *args) + | calc_type(self, recursive) + | + | cleanup(self, *args) + | cleanup(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains_comma(self, *args) + | contains_comma(self, times=1) -> bool + | + | contains_comma_or_insn_or_label(self, *args) + | contains_comma_or_insn_or_label(self, maxcommas=1) -> bool + | + | contains_insn(self, *args) + | contains_insn(self, times=1) -> bool + | + | contains_insn_or_label(self, *args) + | contains_insn_or_label(self) -> bool + | + | contains_operator(self, *args) + | contains_operator(self, needed_op, times=1) -> bool + | + | cpadone(self, *args) + | cpadone(self) -> bool + | + | equal_effect(self, *args) + | equal_effect(self, r) -> bool + | + | find_num_op(self, *args) + | find_num_op(self) -> cexpr_t + | find_num_op(self) -> cexpr_t + | + | find_op(self, *args) + | find_op(self, _op) -> cexpr_t + | find_op(self, _op) -> cexpr_t + | + | get_1num_op(self, *args) + | get_1num_op(self, o1, o2) -> bool + | + | get_const_value(self, *args) + | get_const_value(self) -> bool + | + | get_high_nbit_bound(self, *args) + | get_high_nbit_bound(self) -> bit_bound_t + | + | get_low_nbit_bound(self, *args) + | get_low_nbit_bound(self) -> int + | + | get_ptr_or_array(self, *args) + | get_ptr_or_array(self) -> cexpr_t + | + | get_type_sign(self, *args) + | get_type_sign(self) -> type_sign_t + | + | get_v(self, *args) + | get_v(self) -> var_ref_t + | + | has_side_effects(self, *args) + | has_side_effects(self) -> bool + | + | is_call_arg_of(self, *args) + | is_call_arg_of(self, parent) -> bool + | + | is_call_object_of(self, *args) + | is_call_object_of(self, parent) -> bool + | + | is_child_of(self, *args) + | is_child_of(self, parent) -> bool + | + | is_const_value(self, *args) + | is_const_value(self, _v) -> bool + | + | is_cstr(self, *args) + | is_cstr(self) -> bool + | + | is_fpop(self, *args) + | is_fpop(self) -> bool + | + | is_jumpout(self, *args) + | is_jumpout(self) -> bool + | + | is_negative_const(self, *args) + | is_negative_const(self) -> bool + | + | is_nice_cond(self, *args) + | is_nice_cond(self) -> bool + | + | is_nice_expr(self, *args) + | is_nice_expr(self) -> bool + | + | is_non_negative_const(self, *args) + | is_non_negative_const(self) -> bool + | + | is_non_zero_const(self, *args) + | is_non_zero_const(self) -> bool + | + | is_odd_lvalue(self, *args) + | is_odd_lvalue(self) -> bool + | + | is_type_signed(self, *args) + | is_type_signed(self) -> bool + | + | is_type_unsigned(self, *args) + | is_type_unsigned(self) -> bool + | + | is_undef_val(self, *args) + | is_undef_val(self) -> bool + | + | is_vftable(self, *args) + | is_vftable(self) -> bool + | + | is_zero_const(self, *args) + | is_zero_const(self) -> bool + | + | maybe_ptr(self, *args) + | maybe_ptr(self) -> bool + | + | numval(self, *args) + | numval(self) -> uint64 + | + | print1(self, *args) + | print1(self, func) + | + | put_number(self, *args) + | put_number(self, func, value, nbytes, sign=no_sign) + | + | requires_lvalue(self, *args) + | requires_lvalue(self, child) -> bool + | + | set_cpadone(self, *args) + | set_cpadone(self) + | + | set_v(self, *args) + | set_v(self, v) + | + | set_vftable(self, *args) + | set_vftable(self) + | + | swap(self, *args) + | swap(self, r) + | + | theother(self, *args) + | theother(self, what) -> cexpr_t + | theother(self, what) -> cexpr_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | a + | + | exflags + | cexpr_t_exflags_get(self) -> uint32 + | + | fpc + | + | helper + | + | insn + | + | m + | + | n + | + | obj_ea + | + | operands + | return a dictionary with the operands of a cexpr_t. + | + | opname + | + | ptrsize + | + | refwidth + | + | string + | + | thisown + | The membership flag + | + | type + | cexpr_t_type_get(self) -> tinfo_t + | + | v + | + | x + | + | y + | + | z + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cexpr_t(self) + | + | op_to_typename = {0: 'empty', 1: 'comma', 2: 'asg', 3: 'asgbor', 4: 'a... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) + | _set_op(self, v) + | + | contains_expr(self, *args) + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class cfor_t in module ida_hexrays: + +class cfor_t(cloop_t) + | Proxy of C++ cfor_t class. + | + | Method resolution order: + | cfor_t + | cloop_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cfor_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | init + | cfor_t_init_get(self) -> cexpr_t + | + | step + | cfor_t_step_get(self) -> cexpr_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cfor_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class cfunc_parentee_t in module ida_hexrays: + +class cfunc_parentee_t(ctree_parentee_t) + | Proxy of C++ cfunc_parentee_t class. + | + | Method resolution order: + | cfunc_parentee_t + | ctree_parentee_t + | ctree_visitor_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, f, post=False) -> cfunc_parentee_t + | + | __repr__ = _swig_repr(self) + | + | calc_rvalue_type(self, *args) + | calc_rvalue_type(self, target, e) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | func + | cfunc_parentee_t_func_get(self) -> cfunc_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cfunc_parentee_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_parentee_t: + | + | recalc_parent_types(self, *args) + | recalc_parent_types(self) -> bool + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_visitor_t: + | + | apply_to(self, *args) + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) + | clr_prune(self) + | + | clr_restart(self, *args) + | clr_restart(self) + | + | is_postorder(self, *args) + | is_postorder(self) -> bool + | + | leave_expr(self, *args) + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) + | maintain_parents(self) -> bool + | + | must_prune(self, *args) + | must_prune(self) -> bool + | + | must_restart(self, *args) + | must_restart(self) -> bool + | + | only_insns(self, *args) + | only_insns(self) -> bool + | + | parent_expr(self, *args) + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) + | prune_now(self) + | + | set_restart(self, *args) + | set_restart(self) + | + | visit_expr(self, *args) + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctree_visitor_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + +Help on class cfunc_t in module ida_hexrays: + +class cfunc_t(__builtin__.object) + | Proxy of C++ cfunc_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) + | __str__(self) -> qstring + | + | build_c_tree(self, *args) + | build_c_tree(self) + | + | del_orphan_cmts(self, *args) + | del_orphan_cmts(self) -> int + | + | find_item_coords(self, *args) + | find_item_coords(self, item, px, py) -> bool + | find_item_coords(self, item) -> PyObject * + | + | find_label(self, *args) + | find_label(self, label) -> citem_t + | + | gather_derefs(self, *args) + | gather_derefs(self, ci, udm=None) -> bool + | + | get_boundaries(self, *args) + | get_boundaries(self) -> boundaries_t + | + | get_eamap(self, *args) + | get_eamap(self) -> eamap_t + | + | get_func_type(self, *args) + | get_func_type(self, type) -> bool + | + | get_line_item(self, *args) + | get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool + | + | get_lvars(self, *args) + | get_lvars(self) -> lvars_t + | + | get_pseudocode(self, *args) + | get_pseudocode(self) -> strvec_t + | + | get_stkoff_delta(self, *args) + | get_stkoff_delta(self) -> sval_t + | + | get_user_cmt(self, *args) + | get_user_cmt(self, loc, rt) -> char const * + | + | get_user_iflags(self, *args) + | get_user_iflags(self, loc) -> int32 + | + | get_user_union_selection(self, *args) + | get_user_union_selection(self, ea, path) -> bool + | + | get_warnings(self, *args) + | get_warnings(self) -> hexwarns_t + | + | has_orphan_cmts(self, *args) + | has_orphan_cmts(self) -> bool + | + | print_dcl(self, *args) + | print_dcl(self) + | + | print_func(self, *args) + | print_func(self, vp) + | + | refresh_func_ctext(self, *args) + | refresh_func_ctext(self) + | + | release(self, *args) + | release(self) + | + | remove_unused_labels(self, *args) + | remove_unused_labels(self) + | + | save_user_cmts(self, *args) + | save_user_cmts(self) + | + | save_user_iflags(self, *args) + | save_user_iflags(self) + | + | save_user_labels(self, *args) + | save_user_labels(self) + | + | save_user_numforms(self, *args) + | save_user_numforms(self) + | + | save_user_unions(self, *args) + | save_user_unions(self) + | + | set_user_cmt(self, *args) + | set_user_cmt(self, loc, cmt) + | + | set_user_iflags(self, *args) + | set_user_iflags(self, loc, iflags) + | + | set_user_union_selection(self, *args) + | set_user_union_selection(self, ea, path) + | + | verify(self, *args) + | verify(self, aul, even_without_debugger) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argidx + | cfunc_t_argidx_get(self) -> intvec_t + | + | arguments + | + | body + | cfunc_t_body_get(self) -> cinsn_t + | + | boundaries + | get_boundaries(self) -> boundaries_t + | + | eamap + | get_eamap(self) -> eamap_t + | + | entry_ea + | cfunc_t_entry_ea_get(self) -> ea_t + | + | hdrlines + | cfunc_t_hdrlines_get(self) -> int + | + | lvars + | get_lvars(self) -> lvars_t + | + | maturity + | cfunc_t_maturity_get(self) -> ctree_maturity_t + | + | mba + | cfunc_t_mba_get(self) -> mbl_array_t + | + | numforms + | cfunc_t_numforms_get(self) -> user_numforms_t + | + | pseudocode + | get_pseudocode(self) -> strvec_t + | + | refcnt + | cfunc_t_refcnt_get(self) -> int + | + | statebits + | cfunc_t_statebits_get(self) -> int + | + | thisown + | The membership flag + | + | treeitems + | cfunc_t_treeitems_get(self) -> ctree_items_t + | + | type + | Get the function's return type tinfo_t object. + | + | user_cmts + | cfunc_t_user_cmts_get(self) -> user_cmts_t + | + | user_iflags + | cfunc_t_user_iflags_get(self) -> user_iflags_t + | + | user_labels + | cfunc_t_user_labels_get(self) -> user_labels_t + | + | user_unions + | cfunc_t_user_unions_get(self) -> user_unions_t + | + | warnings + | get_warnings(self) -> hexwarns_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cfunc_t(self) + +Help on function cfunc_type in module ida_hexrays: + +cfunc_type(self) + Get the function's return type tinfo_t object. + +Help on class cfuncptr_t in module ida_hexrays: + +class cfuncptr_t(__builtin__.object) + | Proxy of C++ qrefcnt_t< cfunc_t > class. + | + | Methods defined here: + | + | __deref__(self, *args) + | __deref__(self) -> cfunc_t + | + | __eq__ lambda self, other + | + | __init__(self, *args) + | __init__(self, p) -> cfuncptr_t + | __init__(self, r) -> cfuncptr_t + | + | __ptrval__(self, *args) + | __ptrval__(self) -> size_t + | + | __ref__(self, *args) + | __ref__(self) -> cfunc_t + | + | __repr__ = _swig_repr(self) + | + | __str__ lambda self + | + | build_c_tree(self, *args) + | build_c_tree(self) + | + | del_orphan_cmts(self, *args) + | del_orphan_cmts(self) -> int + | + | find_item_coords(self, *args) + | find_item_coords(self, item, px, py) -> bool + | find_item_coords(self, item) -> PyObject * + | + | find_label(self, *args) + | find_label(self, label) -> citem_t + | + | gather_derefs(self, *args) + | gather_derefs(self, ci, udm=None) -> bool + | + | get_boundaries(self, *args) + | get_boundaries(self) -> boundaries_t + | + | get_eamap(self, *args) + | get_eamap(self) -> eamap_t + | + | get_func_type(self, *args) + | get_func_type(self, type) -> bool + | + | get_line_item(self, *args) + | get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool + | + | get_lvars(self, *args) + | get_lvars(self) -> lvars_t + | + | get_pseudocode(self, *args) + | get_pseudocode(self) -> strvec_t + | + | get_stkoff_delta(self, *args) + | get_stkoff_delta(self) -> sval_t + | + | get_user_cmt(self, *args) + | get_user_cmt(self, loc, rt) -> char const * + | + | get_user_iflags(self, *args) + | get_user_iflags(self, loc) -> int32 + | + | get_user_union_selection(self, *args) + | get_user_union_selection(self, ea, path) -> bool + | + | get_warnings(self, *args) + | get_warnings(self) -> hexwarns_t + | + | has_orphan_cmts(self, *args) + | has_orphan_cmts(self) -> bool + | + | print_dcl(self, *args) + | print_dcl(self) + | + | print_func(self, *args) + | print_func(self, vp) + | + | refresh_func_ctext(self, *args) + | refresh_func_ctext(self) + | + | release(self, *args) + | release(self) + | + | remove_unused_labels(self, *args) + | remove_unused_labels(self) + | + | reset(self, *args) + | reset(self) + | + | save_user_cmts(self, *args) + | save_user_cmts(self) + | + | save_user_iflags(self, *args) + | save_user_iflags(self) + | + | save_user_labels(self, *args) + | save_user_labels(self) + | + | save_user_numforms(self, *args) + | save_user_numforms(self) + | + | save_user_unions(self, *args) + | save_user_unions(self) + | + | set_user_cmt(self, *args) + | set_user_cmt(self, loc, cmt) + | + | set_user_iflags(self, *args) + | set_user_iflags(self, loc, iflags) + | + | set_user_union_selection(self, *args) + | set_user_union_selection(self, ea, path) + | + | verify(self, *args) + | verify(self, aul, even_without_debugger) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argidx + | cfuncptr_t_argidx_get(self) -> intvec_t + | + | arguments + | + | body + | cfuncptr_t_body_get(self) -> cinsn_t + | + | boundaries + | + | eamap + | + | entry_ea + | cfuncptr_t_entry_ea_get(self) -> ea_t + | + | hdrlines + | cfuncptr_t_hdrlines_get(self) -> int + | + | lvars + | + | maturity + | cfuncptr_t_maturity_get(self) -> ctree_maturity_t + | + | mba + | cfuncptr_t_mba_get(self) -> mbl_array_t + | + | numforms + | cfuncptr_t_numforms_get(self) -> user_numforms_t + | + | pseudocode + | + | refcnt + | cfuncptr_t_refcnt_get(self) -> int + | + | statebits + | cfuncptr_t_statebits_get(self) -> int + | + | thisown + | The membership flag + | + | treeitems + | cfuncptr_t_treeitems_get(self) -> ctree_items_t + | + | type + | + | user_cmts + | cfuncptr_t_user_cmts_get(self) -> user_cmts_t + | + | user_iflags + | cfuncptr_t_user_iflags_get(self) -> user_iflags_t + | + | user_labels + | cfuncptr_t_user_labels_get(self) -> user_labels_t + | + | user_unions + | cfuncptr_t_user_unions_get(self) -> user_unions_t + | + | warnings + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cfuncptr_t(self) + +Help on class cgoto_t in module ida_hexrays: + +class cgoto_t(__builtin__.object) + | Proxy of C++ cgoto_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cgoto_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | label_num + | cgoto_t_label_num_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cgoto_t(self) + +Help on class chain_keeper_t in module ida_hexrays: + +class chain_keeper_t(__builtin__.object) + | Proxy of C++ chain_keeper_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _gc) -> chain_keeper_t + | + | __repr__ = _swig_repr(self) + | + | back(self, *args) + | back(self) -> block_chains_t + | + | for_all_chains(self, *args) + | for_all_chains(self, cv, gca) -> int + | + | front(self, *args) + | front(self) -> block_chains_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_chain_keeper_t(self) + +Help on class chain_t in module ida_hexrays: + +class chain_t(ida_pro.intvec_t) + | Proxy of C++ chain_t class. + | + | Method resolution order: + | chain_t + | ida_pro.intvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> chain_t + | __init__(self, t, off, w=1, v=-1) -> chain_t + | __init__(self, _k, w=1) -> chain_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | append_list(self, *args) + | append_list(self, list) + | + | clear_varnum(self, *args) + | clear_varnum(self) + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | endoff(self, *args) + | endoff(self) -> voff_t + | + | get_reg(self, *args) + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) + | get_stkoff(self) -> sval_t + | + | includes(self, *args) + | includes(self, r) -> bool + | + | is_fake(self, *args) + | is_fake(self) -> bool + | + | is_inited(self, *args) + | is_inited(self) -> bool + | + | is_overlapped(self, *args) + | is_overlapped(self) -> bool + | + | is_passreg(self, *args) + | is_passreg(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_replaced(self, *args) + | is_replaced(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | is_term(self, *args) + | is_term(self) -> bool + | + | key(self, *args) + | key(self) -> voff_t + | + | overlap(self, *args) + | overlap(self, r) -> bool + | + | set_inited(self, *args) + | set_inited(self, b) + | + | set_overlapped(self, *args) + | set_overlapped(self, b) + | + | set_replaced(self, *args) + | set_replaced(self, b) + | + | set_term(self, *args) + | set_term(self, b) + | + | set_value(self, *args) + | set_value(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | chain_t_flags_get(self) -> uchar + | + | thisown + | The membership flag + | + | varnum + | chain_t_varnum_get(self) -> int + | + | width + | chain_t_width_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_chain_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_pro.intvec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> int const & + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> int & + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> int const & + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< int >::iterator + | begin(self) -> qvector< int >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< int >::iterator + | end(self) -> qvector< int >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< int >::iterator + | erase(self, first, last) -> qvector< int >::iterator + | + | extract(self, *args) + | extract(self) -> int * + | + | find(self, *args) + | find(self, x) -> qvector< int >::iterator + | find(self, x) -> qvector< int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< int >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> int & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_pro.intvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class chain_visitor_t in module ida_hexrays: + +class chain_visitor_t(__builtin__.object) + | Proxy of C++ chain_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> chain_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_chain(self, *args) + | visit_chain(self, nblock, ch) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | parent + | chain_visitor_t_parent_get(self) -> block_chains_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_chain_visitor_t(self) + +Help on function checkout_hexrays_license in module ida_hexrays: + +checkout_hexrays_license(*args) + checkout_hexrays_license(silent) -> bool + + + Check out a floating decompiler license. This function will display a + dialog box if the license is not available. For non-floating licenses + this function is effectively no-op. It is not necessary to call this + function before decompiling. If the license was not checked out, the + decompiler will automatically do it. This function can be used to + check out a license in advance and ensure that a license is available. + + @param silent: silently fail if the license can not be checked out. + (C++: bool) + @return: false if failed + +Help on class cif_t in module ida_hexrays: + +class cif_t(ceinsn_t) + | Proxy of C++ cif_t class. + | + | Method resolution order: + | cif_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cif_t + | __init__(self, r) -> cif_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, r) -> cif_t + | + | cleanup(self, *args) + | cleanup(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ielse + | cif_t_ielse_get(self) -> cinsn_t + | + | ithen + | cif_t_ithen_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cif_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function cinsn_details in module ida_hexrays: + +cinsn_details(self) + 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. + +Help on class cinsn_t in module ida_hexrays: + +class cinsn_t(citem_t) + | Proxy of C++ cinsn_t class. + | + | Method resolution order: + | cinsn_t + | citem_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cinsn_t + | __init__(self, r) -> cinsn_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _deregister(self, *args) + | _deregister(self) + | + | _get_casm(self, *args) + | _get_casm(self) -> casm_t + | + | _get_cblock(self, *args) + | _get_cblock(self) -> cblock_t + | + | _get_cdo(self, *args) + | _get_cdo(self) -> cdo_t + | + | _get_cexpr(self, *args) + | _get_cexpr(self) -> cexpr_t + | + | _get_cfor(self, *args) + | _get_cfor(self) -> cfor_t + | + | _get_cgoto(self, *args) + | _get_cgoto(self) -> cgoto_t + | + | _get_cif(self, *args) + | _get_cif(self) -> cif_t + | + | _get_creturn(self, *args) + | _get_creturn(self) -> creturn_t + | + | _get_cswitch(self, *args) + | _get_cswitch(self) -> cswitch_t + | + | _get_cwhile(self, *args) + | _get_cwhile(self) -> cwhile_t + | + | _print(self, *args) + | _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) + | + | _register(self, *args) + | _register(self) + | + | _replace_by(self, *args) + | _replace_by(self, r) + | + | _set_casm(self, *args) + | _set_casm(self, _v) + | + | _set_cblock(self, *args) + | _set_cblock(self, _v) + | + | _set_cdo(self, *args) + | _set_cdo(self, _v) + | + | _set_cexpr(self, *args) + | _set_cexpr(self, _v) + | + | _set_cfor(self, *args) + | _set_cfor(self, _v) + | + | _set_cgoto(self, *args) + | _set_cgoto(self, _v) + | + | _set_cif(self, *args) + | _set_cif(self, _v) + | + | _set_creturn(self, *args) + | _set_creturn(self, _v) + | + | _set_cswitch(self, *args) + | _set_cswitch(self, _v) + | + | _set_cwhile(self, *args) + | _set_cwhile(self, _v) + | + | assign(self, *args) + | assign(self, r) -> cinsn_t + | + | cleanup(self, *args) + | cleanup(self) + | + | collect_free_breaks(self, *args) + | collect_free_breaks(self, breaks) -> bool + | + | collect_free_continues(self, *args) + | collect_free_continues(self, continues) -> bool + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains_free_break(self, *args) + | contains_free_break(self) -> bool + | + | contains_free_continue(self, *args) + | contains_free_continue(self) -> bool + | + | contains_insn(self, *args) + | contains_insn(self, type, times=1) -> bool + | + | create_if(self, *args) + | create_if(self, cnd) -> cif_t + | + | is_epilog(self) + | + | is_ordinary_flow(self, *args) + | is_ordinary_flow(self) -> bool + | + | new_insn(self, *args) + | new_insn(self, insn_ea) -> cinsn_t + | + | print1(self, *args) + | print1(self, func) + | + | swap(self, *args) + | swap(self, r) + | + | zero(self, *args) + | zero(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | insn_is_epilog(*args) + | insn_is_epilog(insn) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | casm + | + | cblock + | + | cdo + | + | cexpr + | + | cfor + | + | cgoto + | + | cif + | + | creturn + | + | cswitch + | + | cwhile + | + | details + | 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. + | + | opname + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cinsn_t(self) + | + | op_to_typename = {70: 'empty', 71: 'block', 72: 'expr', 73: 'if', 74: ... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) + | _set_op(self, v) + | + | contains_expr(self, *args) + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on function cinsn_t_insn_is_epilog in module ida_hexrays: + +cinsn_t_insn_is_epilog(*args) + cinsn_t_insn_is_epilog(insn) -> bool + +Help on class cinsnptrvec_t in module ida_hexrays: + +class cinsnptrvec_t(__builtin__.object) + | Proxy of C++ qvector< cinsn_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> cinsn_t + | + | __init__(self, *args) + | __init__(self) -> cinsnptrvec_t + | __init__(self, x) -> cinsnptrvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< cinsn_t * >::iterator + | begin(self) -> qvector< cinsn_t * >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< cinsn_t * >::iterator + | end(self) -> qvector< cinsn_t * >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< cinsn_t * >::iterator + | erase(self, first, last) -> qvector< cinsn_t * >::iterator + | + | extract(self, *args) + | extract(self) -> cinsn_t ** + | + | find(self, *args) + | find(self, x) -> qvector< cinsn_t * >::iterator + | find(self, x) -> qvector< cinsn_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< cinsn_t * >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> cinsn_t *& + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cinsnptrvec_t(self) + +Help on class citem_cmt_t in module ida_hexrays: + +class citem_cmt_t(__builtin__.object) + | Proxy of C++ citem_cmt_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> citem_cmt_t + | __init__(self, s) -> citem_cmt_t + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) + | __str__(self) -> char const * + | + | c_str(self, *args) + | c_str(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | used + | citem_cmt_t_used_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_citem_cmt_t(self) + +Help on class citem_locator_t in module ida_hexrays: + +class citem_locator_t(__builtin__.object) + | Proxy of C++ citem_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _ea, _op) -> citem_locator_t + | __init__(self, i) -> citem_locator_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | citem_locator_t_ea_get(self) -> ea_t + | + | op + | citem_locator_t_op_get(self) -> ctype_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_citem_locator_t(self) + +Help on class citem_t in module ida_hexrays: + +class citem_t(__builtin__.object) + | Proxy of C++ citem_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> citem_t + | __init__(self, o) -> citem_t + | + | __repr__ = _swig_repr(self) + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) + | _set_op(self, v) + | + | contains_expr(self, *args) + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) + | is_expr(self) -> bool + | + | print1(self, *args) + | print1(self, func) + | + | replace_by(self, o) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | thisown + | The membership flag + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_citem_t(self) + +Help on function citem_to_specific_type in module ida_hexrays: + +citem_to_specific_type(self) + cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on function clear_cached_cfuncs in module ida_hexrays: + +clear_cached_cfuncs(*args) + clear_cached_cfuncs() + + + Flush all cached decompilation results. + +Help on class cloop_t in module ida_hexrays: + +class cloop_t(ceinsn_t) + | Proxy of C++ cloop_t class. + | + | Method resolution order: + | cloop_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cloop_t + | __init__(self, b) -> cloop_t + | __init__(self, r) -> cloop_t + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cloop_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function close_pseudocode in module ida_hexrays: + +close_pseudocode(*args) + close_pseudocode(f) -> bool + + + Close pseudocode window. + + @param f: pointer to window (C++: TWidget *) + @return: false if failed + +Help on class cnumber_t in module ida_hexrays: + +class cnumber_t(__builtin__.object) + | Proxy of C++ cnumber_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _opnum=0) -> cnumber_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, type, parent=None, nice_stroff=None) + | + | assign(self, *args) + | assign(self, v, nbytes, sign) + | + | compare(self, *args) + | compare(self, r) -> int + | + | value(self, *args) + | value(self, type) -> uint64 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _value + | cnumber_t__value_get(self) -> uint64 + | + | nf + | cnumber_t_nf_get(self) -> number_format_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cnumber_t(self) + +Help on class codegen_t in module ida_hexrays: + +class codegen_t(__builtin__.object) + | Proxy of C++ codegen_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, m) -> codegen_t + | + | __repr__ = _swig_repr(self) + | + | analyze_prolog(self, *args) + | analyze_prolog(self, fc, reachable) -> merror_t + | + | emit(self, *args) + | emit(self, code, width, l, r, d, offsize) -> minsn_t + | emit(self, code, l, r, d) -> minsn_t + | + | emit_micro_mvm(self, *args) + | emit_micro_mvm(self, code, dtype, l, r, d, offsize) -> minsn_t + | + | gen_micro(self, *args) + | gen_micro(self) -> merror_t + | + | load_operand(self, *args) + | load_operand(self, opnum) -> mreg_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ignore_micro + | codegen_t_ignore_micro_get(self) -> char + | + | ii + | codegen_t_ii_get(self) -> cdg_insn_iterator_t + | + | insn + | codegen_t_insn_get(self) -> insn_t * + | + | mb + | codegen_t_mb_get(self) -> mblock_t + | + | mba + | codegen_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_codegen_t(self) + +Help on function convert_to_user_call in module ida_hexrays: + +convert_to_user_call(*args) + convert_to_user_call(udc, cdg) -> merror_t + + + try to generate user-defined call for an instruction + + @param udc (C++: const udcall_t &) + @param cdg (C++: codegen_t &) + @return: Microcode error codes code: MERR_OK - user-defined call + generated else - error (MERR_INSN == inacceptable udc.tif) + +Help on function create_field_name in module ida_hexrays: + +create_field_name(*args) + create_field_name(type, offset=BADADDR) -> qstring + +Help on function create_helper in module ida_hexrays: + +create_helper(*args) + +Help on function create_typedef in module ida_hexrays: + +create_typedef(*args) + create_typedef(name) -> tinfo_t + create_typedef(n) -> tinfo_t + + + Create a reference to a named type. + + @param name: type name (C++: const char *) + @return: type which refers to the specified name. For example, if name + is "DWORD", the type info which refers to "DWORD" is created. + +Help on class creturn_t in module ida_hexrays: + +class creturn_t(ceinsn_t) + | Proxy of C++ creturn_t class. + | + | Method resolution order: + | creturn_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> creturn_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_creturn_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class cswitch_t in module ida_hexrays: + +class cswitch_t(ceinsn_t) + | Proxy of C++ cswitch_t class. + | + | Method resolution order: + | cswitch_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cswitch_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cases + | cswitch_t_cases_get(self) -> ccases_t + | + | mvnf + | cswitch_t_mvnf_get(self) -> cnumber_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cswitch_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class ctext_position_t in module ida_hexrays: + +class ctext_position_t(__builtin__.object) + | Proxy of C++ ctext_position_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _lnnum=-1, _x=0, _y=0) -> ctext_position_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | in_ctree(self, *args) + | in_ctree(self, hdrlines) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | ctext_position_t_lnnum_get(self) -> int + | + | thisown + | The membership flag + | + | x + | ctext_position_t_x_get(self) -> int + | + | y + | ctext_position_t_y_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctext_position_t(self) + +Help on class ctree_anchor_t in module ida_hexrays: + +class ctree_anchor_t(__builtin__.object) + | Proxy of C++ ctree_anchor_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ctree_anchor_t + | + | __repr__ = _swig_repr(self) + | + | get_index(self, *args) + | get_index(self) -> int + | + | get_itp(self, *args) + | get_itp(self) -> item_preciser_t + | + | is_blkcmt_anchor(self, *args) + | is_blkcmt_anchor(self) -> bool + | + | is_citem_anchor(self, *args) + | is_citem_anchor(self) -> bool + | + | is_itp_anchor(self, *args) + | is_itp_anchor(self) -> bool + | + | is_lvar_anchor(self, *args) + | is_lvar_anchor(self) -> bool + | + | is_valid_anchor(self, *args) + | is_valid_anchor(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | value + | ctree_anchor_t_value_get(self) -> uval_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctree_anchor_t(self) + +Help on class ctree_item_t in module ida_hexrays: + +class ctree_item_t(__builtin__.object) + | Proxy of C++ ctree_item_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ctree_item_t + | + | __repr__ = _swig_repr(self) + | + | _get_e(self, *args) + | _get_e(self) -> cexpr_t + | + | _get_f(self, *args) + | _get_f(self) -> cfunc_t + | + | _get_i(self, *args) + | _get_i(self) -> cinsn_t + | + | _get_it(self, *args) + | _get_it(self) -> citem_t + | + | _get_l(self, *args) + | _get_l(self) -> lvar_t + | + | get_ea(self, *args) + | get_ea(self) -> ea_t + | + | get_label_num(self, *args) + | get_label_num(self, gln_flags) -> int + | + | get_lvar(self, *args) + | get_lvar(self) -> lvar_t + | + | get_memptr(self, *args) + | get_memptr(self, p_sptr=None) -> member_t * + | + | is_citem(self, *args) + | is_citem(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | citype + | ctree_item_t_citype_get(self) -> cursor_item_type_t + | + | e + | + | f + | + | i + | + | it + | + | l + | + | loc + | ctree_item_t_loc_get(self) -> treeloc_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctree_item_t(self) + +Help on class ctree_items_t in module ida_hexrays: + +class ctree_items_t(__builtin__.object) + | Proxy of C++ qvector< citem_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> citem_t + | + | __init__(self, *args) + | __init__(self) -> ctree_items_t + | __init__(self, x) -> ctree_items_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< citem_t * >::iterator + | begin(self) -> qvector< citem_t * >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< citem_t * >::iterator + | end(self) -> qvector< citem_t * >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< citem_t * >::iterator + | erase(self, first, last) -> qvector< citem_t * >::iterator + | + | extract(self, *args) + | extract(self) -> citem_t ** + | + | find(self, *args) + | find(self, x) -> qvector< citem_t * >::iterator + | find(self, x) -> qvector< citem_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< citem_t * >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> citem_t *& + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctree_items_t(self) + +Help on class ctree_parentee_t in module ida_hexrays: + +class ctree_parentee_t(ctree_visitor_t) + | Proxy of C++ ctree_parentee_t class. + | + | Method resolution order: + | ctree_parentee_t + | ctree_visitor_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, post=False) -> ctree_parentee_t + | + | __repr__ = _swig_repr(self) + | + | recalc_parent_types(self, *args) + | recalc_parent_types(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctree_parentee_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_visitor_t: + | + | apply_to(self, *args) + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) + | clr_prune(self) + | + | clr_restart(self, *args) + | clr_restart(self) + | + | is_postorder(self, *args) + | is_postorder(self) -> bool + | + | leave_expr(self, *args) + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) + | maintain_parents(self) -> bool + | + | must_prune(self, *args) + | must_prune(self) -> bool + | + | must_restart(self, *args) + | must_restart(self) -> bool + | + | only_insns(self, *args) + | only_insns(self) -> bool + | + | parent_expr(self, *args) + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) + | prune_now(self) + | + | set_restart(self, *args) + | set_restart(self) + | + | visit_expr(self, *args) + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctree_visitor_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + +Help on class ctree_visitor_t in module ida_hexrays: + +class ctree_visitor_t(__builtin__.object) + | Proxy of C++ ctree_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags) -> ctree_visitor_t + | + | __repr__ = _swig_repr(self) + | + | apply_to(self, *args) + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) + | clr_prune(self) + | + | clr_restart(self, *args) + | clr_restart(self) + | + | is_postorder(self, *args) + | is_postorder(self) -> bool + | + | leave_expr(self, *args) + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) + | maintain_parents(self) -> bool + | + | must_prune(self, *args) + | must_prune(self) -> bool + | + | must_restart(self, *args) + | must_restart(self) -> bool + | + | only_insns(self, *args) + | only_insns(self) -> bool + | + | parent_expr(self, *args) + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) + | prune_now(self) + | + | set_restart(self, *args) + | set_restart(self) + | + | visit_expr(self, *args) + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ctree_visitor_t(self) + +Help on class cwhile_t in module ida_hexrays: + +class cwhile_t(cloop_t) + | Proxy of C++ cwhile_t class. + | + | Method resolution order: + | cwhile_t + | cloop_t + | ceinsn_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cwhile_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cwhile_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function debug_hexrays_ctree in module ida_hexrays: + +debug_hexrays_ctree(*args) + debug_hexrays_ctree(msg) + +Help on function decompile in module ida_hexrays: + +decompile(ea, hf=None, flags=0) + # --------------------------------------------------------------------- + +Help on function decompile_func in module ida_hexrays: + +decompile_func(*args) + decompile_func(pfn, hf, flags=0) -> cfuncptr_t + + + Decompile a function. Multiple decompilations of the same function + return the same object. + + @param pfn: pointer to function to decompile (C++: func_t *) + @param hf: extended error information (if failed) (C++: + hexrays_failure_t *) + @param flags: bitwise combination of decompile() flags ... bits (C++: + int) + @return: pointer to the decompilation result (a reference counted + pointer). NULL if failed. + +Help on function decompile_many in module ida_hexrays: + +decompile_many(*args) + decompile_many(outfile, funcaddrs, flags) -> bool + + + Batch decompilation. Decompile all or the specified functions + + @param outfile: name of the output file (C++: const char *) + @param funcaddrs: list of functions to decompile. If NULL or empty, + then decompile all nonlib functions (C++: const + eavec_t *) + @param flags: Batch decompilation bits (C++: int) + @return: true if no internal error occurred and the user has not + cancelled decompilation + +Help on function dereference in module ida_hexrays: + +dereference(e, ptrsize, is_float=False) + +Help on function dstr in module ida_hexrays: + +dstr(*args) + 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 *) + +Help on function dummy_ptrtype in module ida_hexrays: + +dummy_ptrtype(*args) + dummy_ptrtype(ptrsize, isfp) -> tinfo_t + + + Generate a dummy pointer type + + @param ptrsize: size of pointed object (C++: int) + @param isfp: is floating point object? (C++: bool) + +Help on function eamap_begin in module ida_hexrays: + +eamap_begin(*args) + eamap_begin(map) -> eamap_iterator_t + + + Get iterator pointing to the beginning of eamap_t. + + + @param map (C++: const eamap_t *) + +Help on function eamap_clear in module ida_hexrays: + +eamap_clear(*args) + eamap_clear(map) + + + Clear eamap_t. + + + @param map (C++: eamap_t *) + +Help on function eamap_end in module ida_hexrays: + +eamap_end(*args) + eamap_end(map) -> eamap_iterator_t + + + Get iterator pointing to the end of eamap_t. + + + @param map (C++: const eamap_t *) + +Help on function eamap_erase in module ida_hexrays: + +eamap_erase(*args) + eamap_erase(map, p) + + + Erase current element from eamap_t. + + + @param map (C++: eamap_t *) + @param p (C++: eamap_iterator_t) + +Help on function eamap_find in module ida_hexrays: + +eamap_find(*args) + eamap_find(map, key) -> eamap_iterator_t + + + Find the specified key in eamap_t. + + + @param map (C++: const eamap_t *) + @param key (C++: const ea_t &) + +Help on function eamap_first in module ida_hexrays: + +eamap_first(*args) + eamap_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_free in module ida_hexrays: + +eamap_free(*args) + eamap_free(map) + + + Delete eamap_t instance. + + + @param map (C++: eamap_t *) + +Help on function eamap_insert in module ida_hexrays: + +eamap_insert(*args) + 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 &) + @param val (C++: const cinsnptrvec_t &) + +Help on class eamap_iterator_t in module ida_hexrays: + +class eamap_iterator_t(__builtin__.object) + | Proxy of C++ eamap_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> eamap_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | eamap_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_eamap_iterator_t(self) + +Help on function eamap_new in module ida_hexrays: + +eamap_new(*args) + eamap_new() -> eamap_t + + + Create a new eamap_t instance. + +Help on function eamap_next in module ida_hexrays: + +eamap_next(*args) + eamap_next(p) -> eamap_iterator_t + + + Move to the next element. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_prev in module ida_hexrays: + +eamap_prev(*args) + eamap_prev(p) -> eamap_iterator_t + + + Move to the previous element. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_second in module ida_hexrays: + +eamap_second(*args) + eamap_second(p) -> cinsnptrvec_t + + + Get reference to the current map value. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_size in module ida_hexrays: + +eamap_size(*args) + eamap_size(map) -> size_t + + + Get size of eamap_t. + + + @param map (C++: eamap_t *) + +Help on class eamap_t in module ida_hexrays: + +class eamap_t(__builtin__.object) + | Proxy of C++ std::map< ea_t,cinsnptrvec_t > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> eamap_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> cinsnptrvec_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | eamap_begin(map) -> eamap_iterator_t + | + | __clear = + | eamap_clear(map) + | + | __end = + | eamap_end(map) -> eamap_iterator_t + | + | __erase = + | eamap_erase(map, p) + | + | __find = + | eamap_find(map, key) -> eamap_iterator_t + | + | __first = + | eamap_first(p) -> ea_t const & + | + | __insert = + | eamap_insert(map, key, val) -> eamap_iterator_t + | + | __next = + | eamap_next(p) -> eamap_iterator_t + | + | __second = + | eamap_second(p) -> cinsnptrvec_t + | + | __size = + | eamap_size(map) -> size_t + | + | __swig_destroy__ = + | delete_eamap_t(self) + | + | keytype = + | long(x=0) -> long + | long(x, base=10) -> long + | + | Convert a number or string to a long integer, or return 0L if no arguments + | are given. If x is floating point, the conversion truncates towards zero. + | + | If x is not a number or if base is given, then x must be a string or + | Unicode object 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) + | 4L + | + | valuetype = + | Proxy of C++ qvector< cinsn_t * > class. + +Help on class fnum_array in module ida_hexrays: + +class fnum_array(__builtin__.object) + | Proxy of C++ wrapped_array_t< uint16,6 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> unsigned short const & + | + | __init__(self, *args) + | __init__(self, data) -> fnum_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | fnum_array_data_get(self) -> unsigned short (&)[6] + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_fnum_array(self) + +Help on class fnumber_t in module ida_hexrays: + +class fnumber_t(__builtin__.object) + | Proxy of C++ fnumber_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> fnumber_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _fnumber_t__get_fnum = __get_fnum(self, *args) + | __get_fnum(self) -> fnum_array + | + | _print(self, *args) + | _print(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | dereference_const_uint16(self, *args) + | dereference_const_uint16(self) -> uint16 const * + | + | dereference_uint16(self, *args) + | dereference_uint16(self) -> uint16 * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fnum + | __get_fnum(self) -> fnum_array + | + | nbytes + | fnumber_t_nbytes_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_fnumber_t(self) + +Help on class gco_info_t in module ida_hexrays: + +class gco_info_t(__builtin__.object) + | Proxy of C++ gco_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> gco_info_t + | + | __repr__ = _swig_repr(self) + | + | append_to_list(self, *args) + | append_to_list(self, list, mba) -> bool + | + | is_def(self, *args) + | is_def(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_use(self, *args) + | is_use(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | gco_info_t_flags_get(self) -> int + | + | name + | gco_info_t_name_get(self) -> qstring * + | + | size + | gco_info_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_gco_info_t(self) + +Help on function gen_microcode in module ida_hexrays: + +gen_microcode(*args) + gen_microcode(mbr, hf, retlist=None, flags=0, reqmat=MMAT_GLBOPT3) -> mbl_array_t + + + Generate microcode of an arbitrary code snippet + + @param mbr: snippet ranges (C++: const mba_ranges_t &) + @param hf: extended error information (if failed) (C++: + hexrays_failure_t *) + @param retlist: list of registers the snippet returns (C++: const + mlist_t *) + @param flags: bitwise combination of decompile() flags ... bits (C++: + int) + @param reqmat: required microcode maturity (C++: mba_maturity_t) + @return: pointer to the microcode, NULL if failed. + +Help on function get_ctype_name in module ida_hexrays: + +get_ctype_name(*args) + get_ctype_name(op) -> char const * + +Help on function get_current_operand in module ida_hexrays: + +get_current_operand(*args) + 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 + return true. + + @param out (C++: gco_info_t *) + +Help on function get_float_type in module ida_hexrays: + +get_float_type(*args) + get_float_type(width) -> tinfo_t + + + Get a type of a floating point value with the specified width + + @param width: width of the desired type (C++: int) + @return: type info object + +Help on function get_hexrays_version in module ida_hexrays: + +get_hexrays_version(*args) + 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" + +Help on function get_int_type_by_width_and_sign in module ida_hexrays: + +get_int_type_by_width_and_sign(*args) + 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: size of the type in bytes (C++: int) + @param sign: sign of the type (C++: type_sign_t) + +Help on function get_member_type in module ida_hexrays: + +get_member_type(*args) + get_member_type(mptr, type) -> bool + + + Get type of a structure field. This function performs validity checks + of the field type. Wrong types are rejected. + + @param mptr: structure field (C++: const member_t *) + @param type: pointer to the variable where the type is returned. This + parameter can be NULL. (C++: tinfo_t *) + @return: false if failed + +Help on function get_merror_desc in module ida_hexrays: + +get_merror_desc(*args) + get_merror_desc(code, mba) -> str + + + Get textual description of an error code + + @param code: Microcode error codes (C++: merror_t) + @param mba: the microcode array (C++: mbl_array_t *) + @return: the error address + +Help on function get_mreg_name in module ida_hexrays: + +get_mreg_name(*args) + get_mreg_name(reg, width, ud=None) -> str + + + Get the microregister name + + @param reg (C++: mreg_t) + @param width: size of microregister in bytes. may be bigger than the + real register size. (C++: int) + @param ud: reserved, must be nullptr (C++: void *) + @return: width of the printed register. this value may be less than + the WIDTH argument. + +Help on function get_op_signness in module ida_hexrays: + +get_op_signness(*args) + get_op_signness(op) -> type_sign_t + + + Get operator sign. Meaningful for sign-dependent operators, like + cot_sdiv. + + + @param op (C++: ctype_t) + +Help on function get_signed_mcode in module ida_hexrays: + +get_signed_mcode(*args) + get_signed_mcode(code) -> mcode_t + +Help on function get_temp_regs in module ida_hexrays: + +get_temp_regs(*args) + 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. + +Help on function get_type in module ida_hexrays: + +get_type(*args) + get_type(id, tif, guess) -> bool + + + Get a global type. Global types are types of addressable objects and + struct/union/enum types + + @param id: address or id of the object (C++: uval_t) + @param tif: buffer for the answer (C++: tinfo_t *) + @param guess: what kind of types to consider (C++: type_source_t) + @return: success + +Help on function get_unk_type in module ida_hexrays: + +get_unk_type(*args) + 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: size of the type in bytes (C++: int) + +Help on function get_unsigned_mcode in module ida_hexrays: + +get_unsigned_mcode(*args) + get_unsigned_mcode(code) -> mcode_t + +Help on function get_widget_vdui in module ida_hexrays: + +get_widget_vdui(*args) + get_widget_vdui(f) -> vdui_t + + + Get the 'vdui_t' instance associated to the TWidget + + @param f: pointer to window (C++: TWidget *) + @return: a vdui_t *, or NULL + +Help on function getb_reginsn in module ida_hexrays: + +getb_reginsn(*args) + getb_reginsn(ins) -> minsn_t + + + Skip assertions backward. + + + @param ins (C++: const minsn_t *) + +Help on function getf_reginsn in module ida_hexrays: + +getf_reginsn(*args) + getf_reginsn(ins) -> minsn_t + + + Skip assertions forward. + + + @param ins (C++: const minsn_t *) + +Help on class graph_chains_t in module ida_hexrays: + +class graph_chains_t(block_chains_vec_t) + | Proxy of C++ graph_chains_t class. + | + | Method resolution order: + | graph_chains_t + | block_chains_vec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> graph_chains_t + | + | __repr__ = _swig_repr(self) + | + | acquire(self, *args) + | acquire(self) + | + | for_all_chains(self, *args) + | for_all_chains(self, cv, gca_flags) -> int + | + | is_locked(self, *args) + | is_locked(self) -> bool + | + | release(self, *args) + | release(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_chains_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from block_chains_vec_t: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> block_chains_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> block_chains_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> block_chains_t + | begin(self) -> block_chains_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> block_chains_t + | end(self) -> block_chains_t + | + | erase(self, *args) + | erase(self, it) -> block_chains_t + | erase(self, first, last) -> block_chains_t + | + | extract(self, *args) + | extract(self) -> block_chains_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=block_chains_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> block_chains_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> block_chains_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from block_chains_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function has_cached_cfunc in module ida_hexrays: + +has_cached_cfunc(*args) + has_cached_cfunc(ea) -> bool + + + Do we have a cached decompilation result for 'ea'? + + + @param ea (C++: ea_t) + +Help on function hexrays_alloc in module ida_hexrays: + +hexrays_alloc(*args) + hexrays_alloc(size) -> void * + +Help on class hexrays_failure_t in module ida_hexrays: + +class hexrays_failure_t(__builtin__.object) + | Proxy of C++ hexrays_failure_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> hexrays_failure_t + | __init__(self, c, ea, buf=None) -> hexrays_failure_t + | __init__(self, c, ea, buf) -> hexrays_failure_t + | + | __repr__ = _swig_repr(self) + | + | __str__ lambda self + | + | desc(self, *args) + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | hexrays_failure_t_code_get(self) -> merror_t + | + | errea + | hexrays_failure_t_errea_get(self) -> ea_t + | + | str + | hexrays_failure_t_str_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_hexrays_failure_t(self) + +Help on function hexrays_free in module ida_hexrays: + +hexrays_free(*args) + hexrays_free(ptr) + +Help on class hexwarn_t in module ida_hexrays: + +class hexwarn_t(__builtin__.object) + | Proxy of C++ hexwarn_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> hexwarn_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | hexwarn_t_ea_get(self) -> ea_t + | + | id + | hexwarn_t_id_get(self) -> warnid_t + | + | text + | hexwarn_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_hexwarn_t(self) + +Help on class hexwarns_t in module ida_hexrays: + +class hexwarns_t(__builtin__.object) + | Proxy of C++ qvector< hexwarn_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> hexwarn_t + | + | __init__(self, *args) + | __init__(self) -> hexwarns_t + | __init__(self, x) -> hexwarns_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> hexwarn_t + | begin(self) -> hexwarn_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> hexwarn_t + | end(self) -> hexwarn_t + | + | erase(self, *args) + | erase(self, it) -> hexwarn_t + | erase(self, first, last) -> hexwarn_t + | + | extract(self, *args) + | extract(self) -> hexwarn_t + | + | find(self, *args) + | find(self, x) -> hexwarn_t + | find(self, x) -> hexwarn_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=hexwarn_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> hexwarn_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> hexwarn_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_hexwarns_t(self) + +Help on class history_item_t in module ida_hexrays: + +class history_item_t(ctext_position_t) + | Proxy of C++ history_item_t class. + | + | Method resolution order: + | history_item_t + | ctext_position_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea=BADADDR, _lnnum=-1, _x=0, _y=0) -> history_item_t + | __init__(self, _ea, p) -> history_item_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ea + | history_item_t_ea_get(self) -> ea_t + | + | end + | history_item_t_end_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_history_item_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ctext_position_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | compare(self, *args) + | compare(self, r) -> int + | + | in_ctree(self, *args) + | in_ctree(self, hdrlines) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctext_position_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | ctext_position_t_lnnum_get(self) -> int + | + | x + | ctext_position_t_x_get(self) -> int + | + | y + | ctext_position_t_y_get(self) -> int + +Help on class history_t in module ida_hexrays: + +class history_t(qvector_history_t) + | Proxy of C++ qstack< history_item_t > class. + | + | Method resolution order: + | history_t + | qvector_history_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> history_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> history_item_t + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> history_item_t + | + | pop(self, *args) + | pop(self) -> history_item_t + | + | push(self, *args) + | push(self, v) + | + | top(self, *args) + | top(self) -> history_item_t + | top(self) -> history_item_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_history_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_history_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> history_item_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> history_item_t + | begin(self) -> history_item_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> history_item_t + | end(self) -> history_item_t + | + | erase(self, *args) + | erase(self, it) -> history_item_t + | erase(self, first, last) -> history_item_t + | + | extract(self, *args) + | extract(self) -> history_item_t + | + | find(self, *args) + | find(self, x) -> history_item_t + | find(self, x) -> history_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=history_item_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> history_item_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> history_item_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_history_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function init_hexrays_plugin in module ida_hexrays: + +init_hexrays_plugin(*args) + init_hexrays_plugin(flags=0) -> bool + + + Initialize your plugin for hex-rays decompiler. This function must be + called before calling any other decompiler function. It initializes + the pointer to the dispatcher. + + @param flags: reserved, must be 0 (C++: int) + @return: true if the decompiler exists and the dispatcher pointer is + ready to use. + +Help on function install_hexrays_callback in module ida_hexrays: + +install_hexrays_callback(callback) + Deprecated. Please use Hexrays_Hooks instead + +Help on function install_microcode_filter in module ida_hexrays: + +install_microcode_filter(*args) + install_microcode_filter(filter, install=True) + + + register/unregister non-standard microcode generator + + @param filter: - microcode generator object (C++: microcode_filter_t + *) + @param install: - TRUE - register the object, FALSE - unregister (C++: + bool) + +Help on function is_additive in module ida_hexrays: + +is_additive(*args) + is_additive(op) -> bool + + + Is additive operator? + + + @param op (C++: ctype_t) + +Help on function is_assignment in module ida_hexrays: + +is_assignment(*args) + is_assignment(op) -> bool + + + Is assignment operator? + + + @param op (C++: ctype_t) + +Help on function is_binary in module ida_hexrays: + +is_binary(*args) + is_binary(op) -> bool + + + Is binary operator? + + + @param op (C++: ctype_t) + +Help on function is_bitop in module ida_hexrays: + +is_bitop(*args) + is_bitop(op) -> bool + + + Is bit related operator? + + + @param op (C++: ctype_t) + +Help on function is_bool_type in module ida_hexrays: + +is_bool_type(*args) + is_bool_type(type) -> bool + + + Is a boolean type? + + @param type (C++: const tinfo_t &) + @return: true if the type is a boolean type + +Help on function is_break_consumer in module ida_hexrays: + +is_break_consumer(*args) + is_break_consumer(op) -> bool + + + Does a break statement influence the specified statement code? + + + @param op (C++: ctype_t) + +Help on function is_commutative in module ida_hexrays: + +is_commutative(*args) + is_commutative(op) -> bool + + + Is commutative operator? + + + @param op (C++: ctype_t) + +Help on function is_inplace_def in module ida_hexrays: + +is_inplace_def(*args) + is_inplace_def(type) -> bool + + + Is struct/union/enum definition (not declaration)? + + + @param type (C++: const tinfo_t &) + +Help on function is_kreg in module ida_hexrays: + +is_kreg(*args) + is_kreg(r) -> bool + + + Is a kernel register? + + + @param r (C++: mreg_t) + +Help on function is_logical in module ida_hexrays: + +is_logical(*args) + is_logical(op) -> bool + + + Is logical operator? + + + @param op (C++: ctype_t) + +Help on function is_loop in module ida_hexrays: + +is_loop(*args) + is_loop(op) -> bool + + + Is loop statement code? + + + @param op (C++: ctype_t) + +Help on function is_lvalue in module ida_hexrays: + +is_lvalue(*args) + is_lvalue(op) -> bool + + + Is Lvalue operator? + + + @param op (C++: ctype_t) + +Help on function is_may_access in module ida_hexrays: + +is_may_access(*args) + is_may_access(maymust) -> bool + +Help on function is_mcode_addsub in module ida_hexrays: + +is_mcode_addsub(*args) + is_mcode_addsub(mcode) -> bool + +Help on function is_mcode_call in module ida_hexrays: + +is_mcode_call(*args) + is_mcode_call(mcode) -> bool + +Help on function is_mcode_commutative in module ida_hexrays: + +is_mcode_commutative(*args) + is_mcode_commutative(mcode) -> bool + +Help on function is_mcode_convertible_to_jmp in module ida_hexrays: + +is_mcode_convertible_to_jmp(*args) + is_mcode_convertible_to_jmp(mcode) -> bool + +Help on function is_mcode_convertible_to_set in module ida_hexrays: + +is_mcode_convertible_to_set(*args) + is_mcode_convertible_to_set(mcode) -> bool + +Help on function is_mcode_divmod in module ida_hexrays: + +is_mcode_divmod(*args) + is_mcode_divmod(op) -> bool + +Help on function is_mcode_fpu in module ida_hexrays: + +is_mcode_fpu(*args) + is_mcode_fpu(mcode) -> bool + +Help on function is_mcode_j1 in module ida_hexrays: + +is_mcode_j1(*args) + is_mcode_j1(mcode) -> bool + +Help on function is_mcode_jcond in module ida_hexrays: + +is_mcode_jcond(*args) + is_mcode_jcond(mcode) -> bool + +Help on function is_mcode_propagatable in module ida_hexrays: + +is_mcode_propagatable(*args) + 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) + +Help on function is_mcode_set in module ida_hexrays: + +is_mcode_set(*args) + is_mcode_set(mcode) -> bool + +Help on function is_mcode_set1 in module ida_hexrays: + +is_mcode_set1(*args) + is_mcode_set1(mcode) -> bool + +Help on function is_mcode_shift in module ida_hexrays: + +is_mcode_shift(*args) + is_mcode_shift(mcode) -> bool + +Help on function is_mcode_xdsu in module ida_hexrays: + +is_mcode_xdsu(*args) + is_mcode_xdsu(mcode) -> bool + +Help on function is_multiplicative in module ida_hexrays: + +is_multiplicative(*args) + is_multiplicative(op) -> bool + + + Is multiplicative operator? + + + @param op (C++: ctype_t) + +Help on function is_nonbool_type in module ida_hexrays: + +is_nonbool_type(*args) + is_nonbool_type(type) -> bool + + + Is definitely a non-boolean type? + + @param type (C++: const tinfo_t &) + @return: true if the type is a non-boolean type (non bool and well + defined) + +Help on function is_paf in module ida_hexrays: + +is_paf(*args) + is_paf(t) -> bool + + + Is a pointer, array, or function type? + + + @param t (C++: type_t) + +Help on function is_prepost in module ida_hexrays: + +is_prepost(*args) + is_prepost(op) -> bool + + + Is pre/post increment/decrement operator? + + + @param op (C++: ctype_t) + +Help on function is_ptr_or_array in module ida_hexrays: + +is_ptr_or_array(*args) + is_ptr_or_array(t) -> bool + + + Is a pointer or array type? + + + @param t (C++: type_t) + +Help on function is_relational in module ida_hexrays: + +is_relational(*args) + is_relational(op) -> bool + + + Is comparison operator? + + + @param op (C++: ctype_t) + +Help on function is_signed_mcode in module ida_hexrays: + +is_signed_mcode(*args) + is_signed_mcode(code) -> bool + +Help on function is_small_udt in module ida_hexrays: + +is_small_udt(*args) + is_small_udt(tif) -> bool + + + Is a small structure or union? + + @param tif (C++: const tinfo_t &) + @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. + +Help on function is_type_correct in module ida_hexrays: + +is_type_correct(*args) + is_type_correct(ptr) -> bool + + + Verify a type string. + + @param ptr (C++: const type_t *) + @return: true if type string is correct + +Help on function is_unary in module ida_hexrays: + +is_unary(*args) + is_unary(op) -> bool + + + Is unary operator? + + + @param op (C++: ctype_t) + +Help on function is_unsigned_mcode in module ida_hexrays: + +is_unsigned_mcode(*args) + is_unsigned_mcode(code) -> bool + +Help on class ivl_t in module ida_hexrays: + +class ivl_t(uval_ivl_t) + | Proxy of C++ ivl_t class. + | + | Method resolution order: + | ivl_t + | uval_ivl_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _off, _size) -> ivl_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, off2) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | extend_to_cover(self, *args) + | extend_to_cover(self, r) -> bool + | + | includes(self, *args) + | includes(self, ivl) -> bool + | + | intersect(self, *args) + | intersect(self, r) + | + | overlap(self, *args) + | overlap(self, ivl) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ivl_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from uval_ivl_t: + | + | end(self, *args) + | end(self) -> unsigned-ea-like-numeric-type↗ + | + | last(self, *args) + | last(self) -> unsigned-ea-like-numeric-type↗ + | + | valid(self, *args) + | valid(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from uval_ivl_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type↗ + | + | size + | uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type↗ + +Help on class ivl_with_name_t in module ida_hexrays: + +class ivl_with_name_t(__builtin__.object) + | Proxy of C++ ivl_with_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ivl_with_name_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ivl + | ivl_with_name_t_ivl_get(self) -> ivl_t + | + | part + | ivl_with_name_t_part_get(self) -> char const * + | + | thisown + | The membership flag + | + | whole + | ivl_with_name_t_whole_get(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ivl_with_name_t(self) + +Help on class ivlset_t in module ida_hexrays: + +class ivlset_t(uval_ivl_ivlset_t) + | Proxy of C++ ivlset_t class. + | + | Method resolution order: + | ivlset_t + | uval_ivl_ivlset_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ivlset_t + | __init__(self, ivl) -> ivlset_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | add(self, *args) + | add(self, ivl) -> bool + | add(self, ea, size) -> bool + | add(self, ivs) -> bool + | + | addmasked(self, *args) + | addmasked(self, ivs, mask) -> bool + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, off) -> bool + | + | count(self, *args) + | count(self) -> asize_t + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | has_common(self, *args) + | has_common(self, ivl, strict=False) -> bool + | has_common(self, ivs) -> bool + | + | includes(self, *args) + | includes(self, ivs) -> bool + | + | intersect(self, *args) + | intersect(self, ivs) -> bool + | + | sub(self, *args) + | sub(self, ivl) -> bool + | sub(self, ea, size) -> bool + | sub(self, ivs) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ivlset_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from uval_ivl_ivlset_t: + | + | all_values(self, *args) + | all_values(self) -> bool + | + | begin(self, *args) + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | getivl(self, *args) + | getivl(self, idx) -> ivl_t + | + | lastivl(self, *args) + | lastivl(self) -> ivl_t + | + | nivls(self, *args) + | nivls(self) -> size_t + | + | qclear(self, *args) + | qclear(self) + | + | set_all_values(self, *args) + | set_all_values(self) + | + | single_value(self, *args) + | single_value(self, v) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from uval_ivl_ivlset_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function jcnd2set in module ida_hexrays: + +jcnd2set(*args) + jcnd2set(code) -> mcode_t + +Help on function lexcompare in module ida_hexrays: + +lexcompare(*args) + lexcompare(a, b) -> int + +Help on function lnot in module ida_hexrays: + +lnot(e) + +Help on class lvar_locator_t in module ida_hexrays: + +class lvar_locator_t(__builtin__.object) + | Proxy of C++ lvar_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_locator_t + | __init__(self, loc, ea) -> lvar_locator_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | get_reg1(self, *args) + | get_reg1(self) -> mreg_t + | + | get_reg2(self, *args) + | get_reg2(self) -> mreg_t + | + | get_scattered(self, *args) + | get_scattered(self) -> scattered_aloc_t + | get_scattered(self) -> scattered_aloc_t + | + | get_stkoff(self, *args) + | get_stkoff(self) -> sval_t + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_reg_var(self, *args) + | is_reg_var(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stk_var(self, *args) + | is_stk_var(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | defea + | lvar_locator_t_defea_get(self) -> ea_t + | + | location + | lvar_locator_t_location_get(self) -> vdloc_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_locator_t(self) + +Help on function lvar_mapping_begin in module ida_hexrays: + +lvar_mapping_begin(*args) + 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 *) + +Help on function lvar_mapping_clear in module ida_hexrays: + +lvar_mapping_clear(*args) + lvar_mapping_clear(map) + + + Clear lvar_mapping_t. + + + @param map (C++: lvar_mapping_t *) + +Help on function lvar_mapping_end in module ida_hexrays: + +lvar_mapping_end(*args) + 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 *) + +Help on function lvar_mapping_erase in module ida_hexrays: + +lvar_mapping_erase(*args) + 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) + +Help on function lvar_mapping_find in module ida_hexrays: + +lvar_mapping_find(*args) + lvar_mapping_find(map, key) -> lvar_mapping_iterator_t + + + Find the specified key in lvar_mapping_t. + + + @param map (C++: const lvar_mapping_t *) + @param key (C++: const lvar_locator_t &) + +Help on function lvar_mapping_first in module ida_hexrays: + +lvar_mapping_first(*args) + lvar_mapping_first(p) -> lvar_locator_t + + + Get reference to the current map key. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_free in module ida_hexrays: + +lvar_mapping_free(*args) + lvar_mapping_free(map) + + + Delete lvar_mapping_t instance. + + + @param map (C++: lvar_mapping_t *) + +Help on function lvar_mapping_insert in module ida_hexrays: + +lvar_mapping_insert(*args) + 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 &) + @param val (C++: const lvar_locator_t &) + +Help on class lvar_mapping_iterator_t in module ida_hexrays: + +class lvar_mapping_iterator_t(__builtin__.object) + | Proxy of C++ lvar_mapping_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_mapping_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | lvar_mapping_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_mapping_iterator_t(self) + +Help on function lvar_mapping_new in module ida_hexrays: + +lvar_mapping_new(*args) + lvar_mapping_new() -> lvar_mapping_t + + + Create a new lvar_mapping_t instance. + +Help on function lvar_mapping_next in module ida_hexrays: + +lvar_mapping_next(*args) + lvar_mapping_next(p) -> lvar_mapping_iterator_t + + + Move to the next element. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_prev in module ida_hexrays: + +lvar_mapping_prev(*args) + lvar_mapping_prev(p) -> lvar_mapping_iterator_t + + + Move to the previous element. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_second in module ida_hexrays: + +lvar_mapping_second(*args) + lvar_mapping_second(p) -> lvar_locator_t + + + Get reference to the current map value. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_size in module ida_hexrays: + +lvar_mapping_size(*args) + lvar_mapping_size(map) -> size_t + + + Get size of lvar_mapping_t. + + + @param map (C++: lvar_mapping_t *) + +Help on class lvar_mapping_t in module ida_hexrays: + +class lvar_mapping_t(__builtin__.object) + | Proxy of C++ std::map< lvar_locator_t,lvar_locator_t > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvar_mapping_t + | + | __repr__ = _swig_repr(self) + | + | at(self, *args) + | at(self, _Keyval) -> lvar_locator_t + | + | size(self, *args) + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_mapping_t(self) + +Help on class lvar_ref_t in module ida_hexrays: + +class lvar_ref_t(__builtin__.object) + | Proxy of C++ lvar_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, m, i, o=0) -> lvar_ref_t + | __init__(self, r) -> lvar_ref_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | swap(self, *args) + | swap(self, r) + | + | var(self, *args) + | var(self) -> lvar_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | idx + | lvar_ref_t_idx_get(self) -> int + | + | mba + | lvar_ref_t_mba_get(self) -> mbl_array_t + | + | off + | lvar_ref_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_ref_t(self) + +Help on class lvar_saved_info_t in module ida_hexrays: + +class lvar_saved_info_t(__builtin__.object) + | Proxy of C++ lvar_saved_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_saved_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | clear_keep(self, *args) + | clear_keep(self) + | + | clr_forced_lvar(self, *args) + | clr_forced_lvar(self) + | + | clr_nomap_lvar(self, *args) + | clr_nomap_lvar(self) + | + | clr_noptr_lvar(self, *args) + | clr_noptr_lvar(self) + | + | has_info(self, *args) + | has_info(self) -> bool + | + | is_forced_lvar(self, *args) + | is_forced_lvar(self) -> bool + | + | is_kept(self, *args) + | is_kept(self) -> bool + | + | is_nomap_lvar(self, *args) + | is_nomap_lvar(self) -> bool + | + | is_noptr_lvar(self, *args) + | is_noptr_lvar(self) -> bool + | + | set_forced_lvar(self, *args) + | set_forced_lvar(self) + | + | set_keep(self, *args) + | set_keep(self) + | + | set_nomap_lvar(self, *args) + | set_nomap_lvar(self) + | + | set_noptr_lvar(self, *args) + | set_noptr_lvar(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | lvar_saved_info_t_cmt_get(self) -> qstring * + | + | flags + | lvar_saved_info_t_flags_get(self) -> int + | + | ll + | lvar_saved_info_t_ll_get(self) -> lvar_locator_t + | + | name + | lvar_saved_info_t_name_get(self) -> qstring * + | + | size + | lvar_saved_info_t_size_get(self) -> ssize_t + | + | thisown + | The membership flag + | + | type + | lvar_saved_info_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_saved_info_t(self) + +Help on class lvar_saved_infos_t in module ida_hexrays: + +class lvar_saved_infos_t(__builtin__.object) + | Proxy of C++ qvector< lvar_saved_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> lvar_saved_info_t + | + | __init__(self, *args) + | __init__(self) -> lvar_saved_infos_t + | __init__(self, x) -> lvar_saved_infos_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> lvar_saved_info_t + | begin(self) -> lvar_saved_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> lvar_saved_info_t + | end(self) -> lvar_saved_info_t + | + | erase(self, *args) + | erase(self, it) -> lvar_saved_info_t + | erase(self, first, last) -> lvar_saved_info_t + | + | extract(self, *args) + | extract(self) -> lvar_saved_info_t + | + | find(self, *args) + | find(self, x) -> lvar_saved_info_t + | find(self, x) -> lvar_saved_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=lvar_saved_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> lvar_saved_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> lvar_saved_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_saved_infos_t(self) + +Help on class lvar_t in module ida_hexrays: + +class lvar_t(lvar_locator_t) + | Proxy of C++ lvar_t class. + | + | Method resolution order: + | lvar_t + | lvar_locator_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | accepts_type(self, *args) + | accepts_type(self, t, may_change_thisarg=False) -> bool + | + | append_list(self, *args) + | append_list(self, lst, pad_if_scattered=False) + | + | clear_used(self, *args) + | clear_used(self) + | + | clr_arg_var(self, *args) + | clr_arg_var(self) + | + | clr_automapped(self, *args) + | clr_automapped(self) + | + | clr_dummy_arg(self, *args) + | clr_dummy_arg(self) + | + | clr_fake_var(self, *args) + | clr_fake_var(self) + | + | clr_floating_var(self, *args) + | clr_floating_var(self) + | + | clr_forced_var(self, *args) + | clr_forced_var(self) + | + | clr_mapdst_var(self, *args) + | clr_mapdst_var(self) + | + | clr_mreg_done(self, *args) + | clr_mreg_done(self) + | + | clr_noptr_var(self, *args) + | clr_noptr_var(self) + | + | clr_notarg(self, *args) + | clr_notarg(self) + | + | clr_overlapped_var(self, *args) + | clr_overlapped_var(self) + | + | clr_spoiled_var(self, *args) + | clr_spoiled_var(self) + | + | clr_thisarg(self, *args) + | clr_thisarg(self) + | + | clr_unknown_width(self, *args) + | clr_unknown_width(self) + | + | clr_user_info(self, *args) + | clr_user_info(self) + | + | clr_user_name(self, *args) + | clr_user_name(self) + | + | clr_user_type(self, *args) + | clr_user_type(self) + | + | has_common(self, *args) + | has_common(self, v) -> bool + | + | has_common_bit(self, *args) + | has_common_bit(self, loc, width2) -> bool + | + | has_regname(self, *args) + | has_regname(self) -> bool + | + | is_aliasable(self, *args) + | is_aliasable(self, mba) -> bool + | + | is_automapped(self, *args) + | is_automapped(self) -> bool + | + | is_dummy_arg(self, *args) + | is_dummy_arg(self) -> bool + | + | is_forced_var(self, *args) + | is_forced_var(self) -> bool + | + | is_noptr_var(self, *args) + | is_noptr_var(self) -> bool + | + | is_notarg(self, *args) + | is_notarg(self) -> bool + | + | is_thisarg(self, *args) + | is_thisarg(self) -> bool + | + | set_arg_var(self, *args) + | set_arg_var(self) + | + | set_automapped(self, *args) + | set_automapped(self) + | + | set_dummy_arg(self, *args) + | set_dummy_arg(self) + | + | set_fake_var(self, *args) + | set_fake_var(self) + | + | set_final_lvar_type(self, *args) + | set_final_lvar_type(self, t) + | + | set_floating_var(self, *args) + | set_floating_var(self) + | + | set_forced_var(self, *args) + | set_forced_var(self) + | + | set_lvar_type(self, *args) + | set_lvar_type(self, t, may_fail=False) -> bool + | + | set_mapdst_var(self, *args) + | set_mapdst_var(self) + | + | set_mreg_done(self, *args) + | set_mreg_done(self) + | + | set_non_typed(self, *args) + | set_non_typed(self) + | + | set_noptr_var(self, *args) + | set_noptr_var(self) + | + | set_notarg(self, *args) + | set_notarg(self) + | + | set_overlapped_var(self, *args) + | set_overlapped_var(self) + | + | set_spoiled_var(self, *args) + | set_spoiled_var(self) + | + | set_thisarg(self, *args) + | set_thisarg(self) + | + | set_typed(self, *args) + | set_typed(self) + | + | set_unknown_width(self, *args) + | set_unknown_width(self) + | + | set_used(self, *args) + | set_used(self) + | + | set_user_name(self, *args) + | set_user_name(self) + | + | set_user_type(self, *args) + | set_user_type(self) + | + | set_width(self, *args) + | set_width(self, w, svw_flags=0) -> bool + | + | type(self, *args) + | type(self) -> tinfo_t + | type(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cmt + | lvar_t_cmt_get(self) -> qstring * + | + | defblk + | lvar_t_defblk_get(self) -> int + | + | divisor + | lvar_t_divisor_get(self) -> uint64 + | + | has_nice_name + | has_nice_name(self) -> bool + | + | has_user_info + | has_user_info(self) -> bool + | + | has_user_name + | has_user_name(self) -> bool + | + | has_user_type + | has_user_type(self) -> bool + | + | is_arg_var + | is_arg_var(self) -> bool + | + | is_fake_var + | is_fake_var(self) -> bool + | + | is_floating_var + | is_floating_var(self) -> bool + | + | is_mapdst_var + | is_mapdst_var(self) -> bool + | + | is_overlapped_var + | is_overlapped_var(self) -> bool + | + | is_result_var + | is_result_var(self) -> bool + | + | is_spoiled_var + | is_spoiled_var(self) -> bool + | + | is_unknown_width + | is_unknown_width(self) -> bool + | + | mreg_done + | mreg_done(self) -> bool + | + | name + | lvar_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tif + | lvar_t_tif_get(self) -> tinfo_t + | + | typed + | typed(self) -> bool + | + | used + | used(self) -> bool + | + | width + | lvar_t_width_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from lvar_locator_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | compare(self, *args) + | compare(self, r) -> int + | + | get_reg1(self, *args) + | get_reg1(self) -> mreg_t + | + | get_reg2(self, *args) + | get_reg2(self) -> mreg_t + | + | get_scattered(self, *args) + | get_scattered(self) -> scattered_aloc_t + | get_scattered(self) -> scattered_aloc_t + | + | get_stkoff(self, *args) + | get_stkoff(self) -> sval_t + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_reg_var(self, *args) + | is_reg_var(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stk_var(self, *args) + | is_stk_var(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from lvar_locator_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | defea + | lvar_locator_t_defea_get(self) -> ea_t + | + | location + | lvar_locator_t_location_get(self) -> vdloc_t + +Help on class lvar_uservec_t in module ida_hexrays: + +class lvar_uservec_t(__builtin__.object) + | Proxy of C++ lvar_uservec_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvar_uservec_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | find_info(self, *args) + | find_info(self, vloc) -> lvar_saved_info_t + | + | keep_info(self, *args) + | keep_info(self, v) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lmaps + | lvar_uservec_t_lmaps_get(self) -> lvar_mapping_t + | + | lvvec + | lvar_uservec_t_lvvec_get(self) -> lvar_saved_infos_t + | + | stkoff_delta + | lvar_uservec_t_stkoff_delta_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ulv_flags + | lvar_uservec_t_ulv_flags_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvar_uservec_t(self) + +Help on class lvars_t in module ida_hexrays: + +class lvars_t(qvector_lvar_t) + | Proxy of C++ lvars_t class. + | + | Method resolution order: + | lvars_t + | qvector_lvar_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvars_t + | + | __repr__ = _swig_repr(self) + | + | find(self, *args) + | find(self, ll) -> lvar_t + | + | find_input_lvar(self, *args) + | find_input_lvar(self, argloc, _size) -> int + | + | find_lvar(self, *args) + | find_lvar(self, location, width, defblk=-1) -> int + | + | find_stkvar(self, *args) + | find_stkvar(self, spoff, width) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lvars_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_lvar_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> lvar_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | push_back(self, x) + | push_back(self) -> lvar_t + | + | at = __getitem__(self, *args) + | __getitem__(self, i) -> lvar_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> lvar_t + | begin(self) -> lvar_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> lvar_t + | end(self) -> lvar_t + | + | erase(self, *args) + | erase(self, it) -> lvar_t + | erase(self, first, last) -> lvar_t + | + | extract(self, *args) + | extract(self) -> lvar_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=lvar_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> lvar_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> lvar_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_lvar_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function make_num in module ida_hexrays: + +make_num(*args) + +Help on function make_pointer in module ida_hexrays: + +make_pointer(*args) + make_pointer(type) -> tinfo_t + + + Create a pointer type. This function performs the following + conversion: "type" -> "type*" + + @param type: object type. (C++: const tinfo_t &) + @return: "type*". for example, if 'char' is passed as the argument, + +Help on function make_ref in module ida_hexrays: + +make_ref(e) + +Help on function mark_cfunc_dirty in module ida_hexrays: + +mark_cfunc_dirty(*args) + mark_cfunc_dirty(ea, close_views=False) -> bool + + + Flush the cached decompilation results. Erases a cache entry for the + specified function. + + @param ea: function to erase from the cache (C++: ea_t) + @param close_views: close pseudocode windows that show the function + (C++: bool) + @return: if a cache entry existed. + +Help on class mba_range_iterator_t in module ida_hexrays: + +class mba_range_iterator_t(__builtin__.object) + | Proxy of C++ mba_range_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mba_range_iterator_t + | + | __repr__ = _swig_repr(self) + | + | chunk(self, *args) + | chunk(self) -> range_t + | + | is_snippet(self, *args) + | is_snippet(self) -> bool + | + | next(self, *args) + | next(self) -> bool + | + | set(self, *args) + | set(self, mbr) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fii + | mba_range_iterator_t_fii_get(self) -> func_tail_iterator_t + | + | rii + | mba_range_iterator_t_rii_get(self) -> range_chunk_iterator_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mba_range_iterator_t(self) + +Help on class mba_ranges_t in module ida_hexrays: + +class mba_ranges_t(__builtin__.object) + | Proxy of C++ mba_ranges_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _pfn=None) -> mba_ranges_t + | __init__(self, r) -> mba_ranges_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | is_fragmented(self, *args) + | is_fragmented(self) -> bool + | + | is_snippet(self, *args) + | is_snippet(self) -> bool + | + | start(self, *args) + | start(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | pfn + | mba_ranges_t_pfn_get(self) -> func_t * + | + | ranges + | mba_ranges_t_ranges_get(self) -> rangevec_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mba_ranges_t(self) + +Help on class mbl_array_t in module ida_hexrays: + +class mbl_array_t(__builtin__.object) + | Proxy of C++ mbl_array_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | _deregister(self, *args) + | _deregister(self) + | + | _print(self, *args) + | _print(self, vp) + | + | _register(self, *args) + | _register(self) + | + | alloc_lvars(self, *args) + | alloc_lvars(self) + | + | analyze_calls(self, *args) + | analyze_calls(self, acflags) -> int + | + | arg(self, *args) + | arg(self, n) -> lvar_t + | arg(self, n) -> lvar_t + | + | argbase(self, *args) + | argbase(self) -> sval_t + | + | argidx_ok(self, *args) + | argidx_ok(self) -> bool + | + | bad_call_sp_detected(self, *args) + | bad_call_sp_detected(self) -> bool + | + | build_graph(self, *args) + | build_graph(self) -> merror_t + | + | calc_shins_flags(self, *args) + | calc_shins_flags(self) -> int + | + | callinfo_built(self, *args) + | callinfo_built(self) -> bool + | + | chain_varnums_ok(self, *args) + | chain_varnums_ok(self) -> bool + | + | clr_cdtr(self, *args) + | clr_cdtr(self) + | + | clr_mba_flags(self, *args) + | clr_mba_flags(self, f) + | + | clr_mba_flags2(self, *args) + | clr_mba_flags2(self, f) + | + | combine_blocks(self, *args) + | combine_blocks(self) -> bool + | + | common_stkvars_stkargs(self, *args) + | common_stkvars_stkargs(self) -> bool + | + | copy_block(self, *args) + | copy_block(self, blk, new_serial, cpblk_flags=3) -> mblock_t + | + | deleted_pairs(self, *args) + | deleted_pairs(self) -> bool + | + | display_numaddrs(self, *args) + | display_numaddrs(self) -> bool + | + | display_valnums(self, *args) + | display_valnums(self) -> bool + | + | dump(self, *args) + | dump(self) + | + | dump_mba(self, *args) + | dump_mba(self, _verify, title) + | + | find_mop(self, *args) + | find_mop(self, ctx, ea, is_dest, list) -> mop_t + | + | for_all_insns(self, *args) + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) + | for_all_ops(self, mv) -> int + | + | for_all_topinsns(self, *args) + | for_all_topinsns(self, mv) -> int + | + | generated_asserts(self, *args) + | generated_asserts(self) -> bool + | + | get_args_region(self, *args) + | get_args_region(self) -> ivl_t + | + | get_curfunc(self, *args) + | get_curfunc(self) -> func_t * + | + | get_graph(self, *args) + | get_graph(self) -> mbl_graph_t + | + | get_ida_argloc(self, *args) + | get_ida_argloc(self, v) -> argloc_t + | + | get_lvars_region(self, *args) + | get_lvars_region(self) -> ivl_t + | + | get_mba_flags(self, *args) + | get_mba_flags(self) -> int + | + | get_mba_flags2(self, *args) + | get_mba_flags2(self) -> int + | + | get_mblock(self, *args) + | get_mblock(self, n) -> mblock_t + | get_mblock(self, n) -> mblock_t + | + | get_shadow_region(self, *args) + | get_shadow_region(self) -> ivl_t + | + | get_stack_region(self, *args) + | get_stack_region(self) -> ivl_t + | + | get_std_region(self, *args) + | get_std_region(self, idx) -> ivl_t + | + | graph_insns(self, *args) + | graph_insns(self) -> bool + | + | has_bad_sp(self, *args) + | has_bad_sp(self) -> bool + | + | has_over_chains(self, *args) + | has_over_chains(self) -> bool + | + | has_passregs(self, *args) + | has_passregs(self) -> bool + | + | idaloc2vd(self, *args) + | idaloc2vd(self, loc, width) -> vdloc_t + | + | insert_block(self, *args) + | insert_block(self, bblk) -> mblock_t + | + | is_cdtr(self, *args) + | is_cdtr(self) -> bool + | + | is_ctr(self, *args) + | is_ctr(self) -> bool + | + | is_dtr(self, *args) + | is_dtr(self) -> bool + | + | is_pattern(self, *args) + | is_pattern(self) -> bool + | + | is_snippet(self, *args) + | is_snippet(self) -> bool + | + | is_stkarg(self, *args) + | is_stkarg(self, v) -> bool + | + | is_thunk(self, *args) + | is_thunk(self) -> bool + | + | loaded_gdl(self, *args) + | loaded_gdl(self) -> bool + | + | lvar_names_ok(self, *args) + | lvar_names_ok(self) -> bool + | + | lvars_allocated(self, *args) + | lvars_allocated(self) -> bool + | + | lvars_renamed(self, *args) + | lvars_renamed(self) -> bool + | + | mark_chains_dirty(self, *args) + | mark_chains_dirty(self) + | + | may_refine_rettype(self, *args) + | may_refine_rettype(self) -> bool + | + | optimize_global(self, *args) + | optimize_global(self) -> merror_t + | + | optimize_local(self, *args) + | optimize_local(self, locopt_bits) -> int + | + | optimized(self, *args) + | optimized(self) -> bool + | + | precise_defeas(self, *args) + | precise_defeas(self) -> bool + | + | propagated_asserts(self, *args) + | propagated_asserts(self) -> bool + | + | really_alloc(self, *args) + | really_alloc(self) -> bool + | + | regargs_is_not_aligned(self, *args) + | regargs_is_not_aligned(self) -> bool + | + | remove_block(self, *args) + | remove_block(self, blk) -> bool + | + | remove_empty_blocks(self, *args) + | remove_empty_blocks(self) -> bool + | + | returns_fpval(self, *args) + | returns_fpval(self) -> bool + | + | rtype_refined(self, *args) + | rtype_refined(self) -> bool + | + | saverest_done(self, *args) + | saverest_done(self) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | set_mba_flags(self, *args) + | set_mba_flags(self, f) + | + | set_mba_flags2(self, *args) + | set_mba_flags2(self, f) + | + | short_display(self, *args) + | short_display(self) -> bool + | + | should_beautify(self, *args) + | should_beautify(self) -> bool + | + | show_reduction(self, *args) + | show_reduction(self) -> bool + | + | stkoff_ida2vd(self, *args) + | stkoff_ida2vd(self, off) -> sval_t + | + | stkoff_vd2ida(self, *args) + | stkoff_vd2ida(self, off) -> sval_t + | + | term(self, *args) + | term(self) + | + | use_frame(self, *args) + | use_frame(self) -> bool + | + | use_wingraph32(self, *args) + | use_wingraph32(self) -> bool + | + | valranges_done(self, *args) + | valranges_done(self) -> bool + | + | vd2idaloc(self, *args) + | vd2idaloc(self, loc, width, spd) -> argloc_t + | vd2idaloc(self, loc, width) -> argloc_t + | + | verify(self, *args) + | verify(self, always) + | + | write_to_const_detected(self, *args) + | write_to_const_detected(self) -> bool + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | deserialize(*args) + | deserialize(bytes) -> mbl_array_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | aliased_args + | mbl_array_t_aliased_args_get(self) -> ivl_t + | + | aliased_memory + | mbl_array_t_aliased_memory_get(self) -> ivlset_t + | + | aliased_vars + | mbl_array_t_aliased_vars_get(self) -> ivl_t + | + | argidx + | mbl_array_t_argidx_get(self) -> intvec_t + | + | blocks + | mbl_array_t_blocks_get(self) -> mblock_t + | + | cc + | mbl_array_t_cc_get(self) -> cm_t + | + | consumed_argregs + | mbl_array_t_consumed_argregs_get(self) -> rlist_t + | + | entry_ea + | mbl_array_t_entry_ea_get(self) -> ea_t + | + | error_ea + | mbl_array_t_error_ea_get(self) -> ea_t + | + | error_strarg + | mbl_array_t_error_strarg_get(self) -> qstring * + | + | final_type + | mbl_array_t_final_type_get(self) -> bool + | + | first_epilog_ea + | mbl_array_t_first_epilog_ea_get(self) -> ea_t + | + | fpd + | mbl_array_t_fpd_get(self) -> sval_t + | + | frregs + | mbl_array_t_frregs_get(self) -> sval_t + | + | frsize + | mbl_array_t_frsize_get(self) -> sval_t + | + | fti_flags + | mbl_array_t_fti_flags_get(self) -> int + | + | fullsize + | mbl_array_t_fullsize_get(self) -> sval_t + | + | gotoff_stkvars + | mbl_array_t_gotoff_stkvars_get(self) -> ivlset_t + | + | idb_node + | mbl_array_t_idb_node_get(self) -> netnode + | + | idb_spoiled + | mbl_array_t_idb_spoiled_get(self) -> reginfovec_t + | + | idb_type + | mbl_array_t_idb_type_get(self) -> tinfo_t + | + | inargoff + | mbl_array_t_inargoff_get(self) -> sval_t + | + | label + | mbl_array_t_label_get(self) -> qstring * + | + | last_prolog_ea + | mbl_array_t_last_prolog_ea_get(self) -> ea_t + | + | maturity + | mbl_array_t_maturity_get(self) -> mba_maturity_t + | + | mbr + | mbl_array_t_mbr_get(self) -> mba_ranges_t + | + | minargref + | mbl_array_t_minargref_get(self) -> sval_t + | + | minstkref + | mbl_array_t_minstkref_get(self) -> sval_t + | + | minstkref_ea + | mbl_array_t_minstkref_ea_get(self) -> ea_t + | + | natural + | mbl_array_t_natural_get(self) -> mblock_t ** + | + | nodel_memory + | mbl_array_t_nodel_memory_get(self) -> mlist_t + | + | notes + | mbl_array_t_notes_get(self) -> hexwarns_t + | + | npurged + | mbl_array_t_npurged_get(self) -> int + | + | occurred_warns + | mbl_array_t_occurred_warns_get(self) -> uchar [32] + | + | pfn_flags + | mbl_array_t_pfn_flags_get(self) -> int + | + | qty + | mbl_array_t_qty_get(self) -> int + | + | reqmat + | mbl_array_t_reqmat_get(self) -> mba_maturity_t + | + | restricted_memory + | mbl_array_t_restricted_memory_get(self) -> ivlset_t + | + | retsize + | mbl_array_t_retsize_get(self) -> int + | + | retvaridx + | mbl_array_t_retvaridx_get(self) -> int + | + | shadow_args + | mbl_array_t_shadow_args_get(self) -> int + | + | spd_adjust + | mbl_array_t_spd_adjust_get(self) -> sval_t + | + | spoiled_list + | mbl_array_t_spoiled_list_get(self) -> mlist_t + | + | stacksize + | mbl_array_t_stacksize_get(self) -> sval_t + | + | std_ivls + | mbl_array_t_std_ivls_get(self) -> ivl_with_name_t + | + | thisown + | The membership flag + | + | tmpstk_size + | mbl_array_t_tmpstk_size_get(self) -> sval_t + | + | vars + | mbl_array_t_vars_get(self) -> lvars_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mbl_array_t(self) + +Help on function mbl_array_t_deserialize in module ida_hexrays: + +mbl_array_t_deserialize(*args) + mbl_array_t_deserialize(bytes) -> mbl_array_t + +Help on class mbl_graph_t in module ida_hexrays: + +class mbl_graph_t(simple_graph_t) + | Proxy of C++ mbl_graph_t class. + | + | Method resolution order: + | mbl_graph_t + | simple_graph_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | get_chain_stamp(self, *args) + | get_chain_stamp(self) -> int + | + | get_du(self, *args) + | get_du(self, gctype) -> graph_chains_t + | + | get_mblock(self, *args) + | get_mblock(self, n) -> mblock_t + | + | get_ud(self, *args) + | get_ud(self, gctype) -> graph_chains_t + | + | is_du_chain_dirty(self, *args) + | is_du_chain_dirty(self, gctype) -> bool + | + | is_redefined_globally(self, *args) + | is_redefined_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool + | + | is_ud_chain_dirty(self, *args) + | is_ud_chain_dirty(self, gctype) -> bool + | + | is_used_globally(self, *args) + | is_used_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from simple_graph_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | colored_gdl_edges + | simple_graph_t_colored_gdl_edges_get(self) -> bool + | + | title + | simple_graph_t_title_get(self) -> qstring * + +Help on class mblock_t in module ida_hexrays: + +class mblock_t(__builtin__.object) + | Proxy of C++ mblock_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, vp) + | + | append_def_list(self, *args) + | append_def_list(self, list, op, maymust) + | + | append_use_list(self, *args) + | append_use_list(self, list, op, maymust, mask=bitrange_t(0, USHRT_MAX)) + | + | build_def_list(self, *args) + | build_def_list(self, ins, maymust) -> mlist_t + | + | build_lists(self, *args) + | build_lists(self, kill_deads) -> int + | + | build_use_list(self, *args) + | build_use_list(self, ins, maymust) -> mlist_t + | + | dump(self, *args) + | dump(self) + | + | dump_block(self, *args) + | dump_block(self, title) + | + | empty(self, *args) + | empty(self) -> bool + | + | find_access(self, *args) + | find_access(self, op, parent, mend, fdflags) -> minsn_t + | + | find_def(self, *args) + | find_def(self, op, p_i1, i2, fdflags) -> minsn_t + | + | find_first_use(self, *args) + | find_first_use(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t + | + | find_redefinition(self, *args) + | find_redefinition(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t + | + | find_use(self, *args) + | find_use(self, op, p_i1, i2, fdflags) -> minsn_t + | + | for_all_insns(self, *args) + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) + | for_all_ops(self, mv) -> int + | + | for_all_uses(self, *args) + | for_all_uses(self, list, i1, i2, mmv) -> int + | + | get_reginsn_qty(self, *args) + | get_reginsn_qty(self) -> size_t + | + | get_valranges(self, *args) + | get_valranges(self, res, vivl, vrflags) -> bool + | get_valranges(self, res, vivl, m, vrflags) -> bool + | + | insert_into_block(self, *args) + | insert_into_block(self, nm, om) -> minsn_t + | + | is_branch(self, *args) + | is_branch(self) -> bool + | + | is_call_block(self, *args) + | is_call_block(self) -> bool + | + | is_nway(self, *args) + | is_nway(self) -> bool + | + | is_redefined(self, *args) + | is_redefined(self, list, i1, i2, maymust=MAY_ACCESS) -> bool + | + | is_rhs_redefined(self, *args) + | is_rhs_redefined(self, ins, i1, i2) -> bool + | + | is_simple_goto_block(self, *args) + | is_simple_goto_block(self) -> bool + | + | is_simple_jcnd_block(self, *args) + | is_simple_jcnd_block(self) -> bool + | + | is_unknown_call(self, *args) + | is_unknown_call(self) -> bool + | + | is_used(self, *args) + | is_used(self, list, i1, i2, maymust=MAY_ACCESS) -> bool + | + | lists_dirty(self, *args) + | lists_dirty(self) -> bool + | + | lists_ready(self, *args) + | lists_ready(self) -> bool + | + | make_lists_ready(self, *args) + | make_lists_ready(self) -> int + | + | make_nop(self, *args) + | make_nop(self, m) + | + | mark_lists_dirty(self, *args) + | mark_lists_dirty(self) + | + | needs_propagation(self, *args) + | needs_propagation(self) -> bool + | + | npred(self, *args) + | npred(self) -> int + | + | nsucc(self, *args) + | nsucc(self) -> int + | + | optimize_block(self, *args) + | optimize_block(self) -> int + | + | optimize_insn(self, *args) + | optimize_insn(self, m, optflags=0x0002|0x0004) -> int + | + | optimize_useless_jump(self, *args) + | optimize_useless_jump(self) -> int + | + | pred(self, *args) + | pred(self, n) -> int + | + | preds(self) + | Iterates the list of predecessor blocks + | + | remove_from_block(self, *args) + | remove_from_block(self, m) -> minsn_t + | + | request_demote64(self, *args) + | request_demote64(self) + | + | request_propagation(self, *args) + | request_propagation(self) + | + | succ(self, *args) + | succ(self, n) -> int + | + | succs(self) + | Iterates the list of successor blocks + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dead_at_start + | mblock_t_dead_at_start_get(self) -> mlist_t + | + | dnu + | mblock_t_dnu_get(self) -> mlist_t + | + | end + | mblock_t_end_get(self) -> ea_t + | + | flags + | mblock_t_flags_get(self) -> uint32 + | + | head + | mblock_t_head_get(self) -> minsn_t + | + | maxbsp + | mblock_t_maxbsp_get(self) -> sval_t + | + | maybdef + | mblock_t_maybdef_get(self) -> mlist_t + | + | maybuse + | mblock_t_maybuse_get(self) -> mlist_t + | + | mba + | mblock_t_mba_get(self) -> mbl_array_t + | + | minbargref + | mblock_t_minbargref_get(self) -> sval_t + | + | minbstkref + | mblock_t_minbstkref_get(self) -> sval_t + | + | mustbdef + | mblock_t_mustbdef_get(self) -> mlist_t + | + | mustbuse + | mblock_t_mustbuse_get(self) -> mlist_t + | + | nextb + | mblock_t_nextb_get(self) -> mblock_t + | + | predset + | mblock_t_predset_get(self) -> intvec_t + | + | prevb + | mblock_t_prevb_get(self) -> mblock_t + | + | serial + | mblock_t_serial_get(self) -> int + | + | start + | mblock_t_start_get(self) -> ea_t + | + | succset + | mblock_t_succset_get(self) -> intvec_t + | + | tail + | mblock_t_tail_get(self) -> minsn_t + | + | thisown + | The membership flag + | + | type + | mblock_t_type_get(self) -> mblock_type_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mblock_t(self) + +Help on class mcallarg_t in module ida_hexrays: + +class mcallarg_t(mop_t) + | Proxy of C++ mcallarg_t class. + | + | Method resolution order: + | mcallarg_t + | mop_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mcallarg_t + | __init__(self, rarg) -> mcallarg_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, shins_flags=0x04|0x02) + | + | copy_mop(self, *args) + | copy_mop(self, op) + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | make_int(self, *args) + | make_int(self, val, val_ea, opno=0) + | + | make_uint(self, *args) + | make_uint(self, val, val_ea, opno=0) + | + | set_regarg(self, *args) + | set_regarg(self, mr, sz, tif) + | set_regarg(self, mr, tif) + | set_regarg(self, mr, dt, sign=type_unsigned) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | argloc + | mcallarg_t_argloc_get(self) -> argloc_t + | + | ea + | mcallarg_t_ea_get(self) -> ea_t + | + | name + | mcallarg_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | mcallarg_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mcallarg_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from mop_t: + | + | __eq__(self, *args) + | __eq__(self, rop) -> bool + | + | __lt__(self, *args) + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) + | __ne__(self, rop) -> bool + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) + | _get_b(self) -> int + | + | _get_c(self, *args) + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) + | _get_helper(self) -> char const * + | + | _get_l(self, *args) + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) + | _make_gvar(self, ea) + | + | _make_insn(self, *args) + | _make_insn(self, ins) + | + | _make_lvar(self, *args) + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) + | _make_pair(self, _pair) + | + | _make_reg(self, *args) + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _register(self, *args) + | _register(self) + | + | _set_a(self, *args) + | _set_a(self, _v) + | + | _set_b(self, *args) + | _set_b(self, _v) + | + | _set_c(self, *args) + | _set_c(self, _v) + | + | _set_cstr(self, *args) + | _set_cstr(self, _v) + | + | _set_d(self, *args) + | _set_d(self, _v) + | + | _set_f(self, *args) + | _set_f(self, _v) + | + | _set_fpc(self, *args) + | _set_fpc(self, _v) + | + | _set_g(self, *args) + | _set_g(self, _v) + | + | _set_helper(self, *args) + | _set_helper(self, _v) + | + | _set_l(self, *args) + | _set_l(self, _v) + | + | _set_nnn(self, *args) + | _set_nnn(self, _v) + | + | _set_pair(self, *args) + | _set_pair(self, _v) + | + | _set_r(self, *args) + | _set_r(self, _v) + | + | _set_s(self, *args) + | _set_s(self, _v) + | + | _set_scif(self, *args) + | _set_scif(self, _v) + | + | _set_t(self, *args) + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) + | assign(self, rop) -> mop_t + | + | change_size(self, *args) + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | equal_mops(self, *args) + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) + | erase(self) + | + | erase_but_keep_size(self, *args) + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) + | is01(self) -> bool + | + | is_arglist(self, *args) + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) + | is_cc(self) -> bool + | + | is_ccflags(self, *args) + | is_ccflags(self) -> bool + | + | is_constant(self, *args) + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) + | is_kreg(self) -> bool + | + | is_mob(self, *args) + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) + | is_negative_constant(self) -> bool + | + | is_one(self, *args) + | is_one(self) -> bool + | + | is_positive_constant(self, *args) + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) + | is_udt(self) -> bool + | + | is_undef_val(self, *args) + | is_undef_val(self) -> bool + | + | is_zero(self, *args) + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) + | is_zero_extended_from(self, nbytes) -> bool + | + | lexcompare(self, *args) + | lexcompare(self, rop) -> int + | + | make_blkref(self, *args) + | make_blkref(self, blknum) + | + | make_first_half(self, *args) + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) + | make_gvar(self, ea) + | + | make_helper(self, *args) + | make_helper(self, name) + | + | make_high_half(self, *args) + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) + | make_insn(self, ins) + | + | make_low_half(self, *args) + | make_low_half(self, width) -> bool + | + | make_number(self, *args) + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) + | set_impptr_done(self) + | + | set_udt(self, *args) + | set_udt(self) + | + | set_undef_val(self, *args) + | set_undef_val(self) + | + | shift_mop(self, *args) + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) + | signed_value(self) -> int64 + | + | swap(self, *args) + | swap(self, rop) + | + | unsigned_value(self, *args) + | unsigned_value(self) -> uint64 + | + | value(self, *args) + | value(self, is_signed) -> uint64 + | + | zero(self, *args) + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from mop_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | valnum + | mop_t_valnum_get(self) -> uint16 + +Help on class mcallargs_t in module ida_hexrays: + +class mcallargs_t(__builtin__.object) + | Proxy of C++ qvector< mcallarg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> mcallarg_t + | + | __init__(self, *args) + | __init__(self) -> mcallargs_t + | __init__(self, x) -> mcallargs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> mcallarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> mcallarg_t + | begin(self) -> mcallarg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> mcallarg_t + | end(self) -> mcallarg_t + | + | erase(self, *args) + | erase(self, it) -> mcallarg_t + | erase(self, first, last) -> mcallarg_t + | + | extract(self, *args) + | extract(self) -> mcallarg_t + | + | find(self, *args) + | find(self, x) -> mcallarg_t + | find(self, x) -> mcallarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=mcallarg_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> mcallarg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> mcallarg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mcallargs_t(self) + +Help on class mcallinfo_t in module ida_hexrays: + +class mcallinfo_t(__builtin__.object) + | Proxy of C++ mcallinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _callee=BADADDR, _sargs=0) -> mcallinfo_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, size=-1, shins_flags=0x04|0x02) + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | get_type(self, *args) + | get_type(self) -> tinfo_t + | + | is_vararg(self, *args) + | is_vararg(self) -> bool + | + | lexcompare(self, *args) + | lexcompare(self, f) -> int + | + | set_type(self, *args) + | set_type(self, type) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | args + | mcallinfo_t_args_get(self) -> mcallargs_t + | + | call_spd + | mcallinfo_t_call_spd_get(self) -> int + | + | callee + | mcallinfo_t_callee_get(self) -> ea_t + | + | cc + | mcallinfo_t_cc_get(self) -> cm_t + | + | dead_regs + | mcallinfo_t_dead_regs_get(self) -> mlist_t + | + | flags + | mcallinfo_t_flags_get(self) -> int + | + | fti_attrs + | mcallinfo_t_fti_attrs_get(self) -> type_attrs_t + | + | pass_regs + | mcallinfo_t_pass_regs_get(self) -> mlist_t + | + | retregs + | mcallinfo_t_retregs_get(self) -> mopvec_t + | + | return_argloc + | mcallinfo_t_return_argloc_get(self) -> argloc_t + | + | return_regs + | mcallinfo_t_return_regs_get(self) -> mlist_t + | + | return_type + | mcallinfo_t_return_type_get(self) -> tinfo_t + | + | role + | mcallinfo_t_role_get(self) -> funcrole_t + | + | solid_args + | mcallinfo_t_solid_args_get(self) -> int + | + | spoiled + | mcallinfo_t_spoiled_get(self) -> mlist_t + | + | stkargs_top + | mcallinfo_t_stkargs_top_get(self) -> int + | + | thisown + | The membership flag + | + | visible_memory + | mcallinfo_t_visible_memory_get(self) -> ivlset_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mcallinfo_t(self) + +Help on class mcases_t in module ida_hexrays: + +class mcases_t(__builtin__.object) + | Proxy of C++ mcases_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> mcases_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | resize(self, *args) + | resize(self, s) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | targets + | mcases_t_targets_get(self) -> intvec_t + | + | thisown + | The membership flag + | + | values + | mcases_t_values_get(self) -> casevec_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mcases_t(self) + +Help on function mcode_modifies_d in module ida_hexrays: + +mcode_modifies_d(*args) + mcode_modifies_d(mcode) -> bool + +Help on class microcode_filter_t in module ida_hexrays: + +class microcode_filter_t(__builtin__.object) + | Proxy of C++ microcode_filter_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> microcode_filter_t + | + | __repr__ = _swig_repr(self) + | + | apply(self, *args) + | apply(self, cdg) -> merror_t + | + | match(self, *args) + | match(self, cdg) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_microcode_filter_t(self) + +Help on class minsn_t in module ida_hexrays: + +class minsn_t(__builtin__.object) + | Proxy of C++ minsn_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea) -> minsn_t + | __init__(self, m) -> minsn_t + | + | __lt__(self, *args) + | __lt__(self, ri) -> bool + | + | __repr__ = _swig_repr(self) + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _make_nop(self, *args) + | _make_nop(self) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _minsn_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _minsn_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) + | _register(self) + | + | clr_assert(self, *args) + | clr_assert(self) + | + | clr_combinable(self, *args) + | clr_combinable(self) + | + | clr_combined(self, *args) + | clr_combined(self) + | + | clr_fpinsn(self, *args) + | clr_fpinsn(self) + | + | clr_ignlowsrc(self, *args) + | clr_ignlowsrc(self) + | + | clr_multimov(self, *args) + | clr_multimov(self) + | + | clr_noret_icall(self, *args) + | clr_noret_icall(self) + | + | clr_propagatable(self, *args) + | clr_propagatable(self) + | + | clr_tailcall(self, *args) + | clr_tailcall(self) + | + | contains_call(self, *args) + | contains_call(self, with_helpers=False) -> bool + | + | contains_opcode(self, *args) + | contains_opcode(self, mcode) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | equal_insns(self, *args) + | equal_insns(self, m, eqflags) -> bool + | + | find_call(self, *args) + | find_call(self, with_helpers=False) -> minsn_t + | + | find_ins_op(self, *args) + | find_ins_op(self, op=m_nop) -> minsn_t + | + | find_num_op(self, *args) + | find_num_op(self) -> mop_t + | + | find_opcode(self, *args) + | find_opcode(self, mcode) -> minsn_t + | find_opcode(self, mcode) -> minsn_t + | + | for_all_insns(self, *args) + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) + | for_all_ops(self, mv) -> int + | + | get_role(self, *args) + | get_role(self) -> funcrole_t + | + | get_split_size(self, *args) + | get_split_size(self) -> int + | + | has_side_effects(self, *args) + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is_after(self, *args) + | is_after(self, m) -> bool + | + | is_alloca(self, *args) + | is_alloca(self) -> bool + | + | is_assert(self, *args) + | is_assert(self) -> bool + | + | is_between(self, *args) + | is_between(self, m1, m2) -> bool + | + | is_bswap(self, *args) + | is_bswap(self) -> bool + | + | is_cleaning_pop(self, *args) + | is_cleaning_pop(self) -> bool + | + | is_combinable(self, *args) + | is_combinable(self) -> bool + | + | is_combined(self, *args) + | is_combined(self) -> bool + | + | is_extstx(self, *args) + | is_extstx(self) -> bool + | + | is_farcall(self, *args) + | is_farcall(self) -> bool + | + | is_fpinsn(self, *args) + | is_fpinsn(self) -> bool + | + | is_helper(self, *args) + | is_helper(self, name) -> bool + | + | is_ignlowsrc(self, *args) + | is_ignlowsrc(self) -> bool + | + | is_inverted_jx(self, *args) + | is_inverted_jx(self) -> bool + | + | is_like_move(self, *args) + | is_like_move(self) -> bool + | + | is_mbarrier(self, *args) + | is_mbarrier(self) -> bool + | + | is_memcpy(self, *args) + | is_memcpy(self) -> bool + | + | is_memset(self, *args) + | is_memset(self) -> bool + | + | is_mov(self, *args) + | is_mov(self) -> bool + | + | is_multimov(self, *args) + | is_multimov(self) -> bool + | + | is_noret_call(self, *args) + | is_noret_call(self, ignore_noret_icall=False) -> bool + | + | is_optional(self, *args) + | is_optional(self) -> bool + | + | is_persistent(self, *args) + | is_persistent(self) -> bool + | + | is_propagatable(self, *args) + | is_propagatable(self) -> bool + | + | is_readflags(self, *args) + | is_readflags(self) -> bool + | + | is_tailcall(self, *args) + | is_tailcall(self) -> bool + | + | is_unknown_call(self, *args) + | is_unknown_call(self) -> bool + | + | is_wild_match(self, *args) + | is_wild_match(self) -> bool + | + | lexcompare(self, *args) + | lexcompare(self, ri) -> int + | + | may_use_aliased_memory(self, *args) + | may_use_aliased_memory(self) -> bool + | + | modifes_d(self, *args) + | modifes_d(self) -> bool + | + | modifies_pair_mop(self, *args) + | modifies_pair_mop(self) -> bool + | + | optimize_solo(self, *args) + | optimize_solo(self, optflags=0) -> int + | + | optimize_subtree(self, *args) + | optimize_subtree(self, blk, top, parent, converted_call, optflags=0x0002) -> int + | + | replace_by(self, o) + | + | set_assert(self, *args) + | set_assert(self) + | + | set_cleaning_pop(self, *args) + | set_cleaning_pop(self) + | + | set_combinable(self, *args) + | set_combinable(self) + | + | set_extstx(self, *args) + | set_extstx(self) + | + | set_farcall(self, *args) + | set_farcall(self) + | + | set_fpinsn(self, *args) + | set_fpinsn(self) + | + | set_ignlowsrc(self, *args) + | set_ignlowsrc(self) + | + | set_inverted_jx(self, *args) + | set_inverted_jx(self) + | + | set_mbarrier(self, *args) + | set_mbarrier(self) + | + | set_multimov(self, *args) + | set_multimov(self) + | + | set_noret_icall(self, *args) + | set_noret_icall(self) + | + | set_optional(self, *args) + | set_optional(self) + | + | set_persistent(self, *args) + | set_persistent(self) + | + | set_split_size(self, *args) + | set_split_size(self, s) + | + | set_tailcall(self, *args) + | set_tailcall(self) + | + | set_wild_match(self, *args) + | set_wild_match(self) + | + | setaddr(self, *args) + | setaddr(self, new_ea) + | + | swap(self, *args) + | swap(self, m) + | + | was_noret_icall(self, *args) + | was_noret_icall(self) -> bool + | + | was_split(self, *args) + | was_split(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | d + | minsn_t_d_get(self) -> mop_t + | + | ea + | minsn_t_ea_get(self) -> ea_t + | + | iprops + | minsn_t_iprops_get(self) -> int + | + | l + | minsn_t_l_get(self) -> mop_t + | + | meminfo + | + | next + | minsn_t_next_get(self) -> minsn_t + | + | obj_id + | _obj_id(self) -> PyObject * + | + | opcode + | minsn_t_opcode_get(self) -> mcode_t + | + | prev + | minsn_t_prev_get(self) -> minsn_t + | + | r + | minsn_t_r_get(self) -> mop_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_minsn_t(self) + +Help on class minsn_visitor_t in module ida_hexrays: + +class minsn_visitor_t(op_parent_info_t) + | Proxy of C++ minsn_visitor_t class. + | + | Method resolution order: + | minsn_visitor_t + | op_parent_info_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> minsn_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_minsn(self, *args) + | visit_minsn(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_minsn_visitor_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from op_parent_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + +Help on class mlist_mop_visitor_t in module ida_hexrays: + +class mlist_mop_visitor_t(__builtin__.object) + | Proxy of C++ mlist_mop_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> mlist_mop_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_mop(self, *args) + | visit_mop(self, op) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | changed + | mlist_mop_visitor_t_changed_get(self) -> bool + | + | curins + | mlist_mop_visitor_t_curins_get(self) -> minsn_t + | + | list + | mlist_mop_visitor_t_list_get(self) -> mlist_t + | + | thisown + | The membership flag + | + | topins + | mlist_mop_visitor_t_topins_get(self) -> minsn_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mlist_mop_visitor_t(self) + +Help on class mlist_t in module ida_hexrays: + +class mlist_t(__builtin__.object) + | Proxy of C++ mlist_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> mlist_t + | __init__(self, ivl) -> mlist_t + | __init__(self, r, size) -> mlist_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | add(self, *args) + | add(self, r, size) -> bool + | add(self, r) -> bool + | add(self, ivl) -> bool + | add(self, lst) -> bool + | + | addmem(self, *args) + | addmem(self, ea, size) -> bool + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | count(self, *args) + | count(self) -> asize_t + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | has(self, *args) + | has(self, r) -> bool + | + | has_all(self, *args) + | has_all(self, r, size) -> bool + | + | has_any(self, *args) + | has_any(self, r, size) -> bool + | + | has_common(self, *args) + | has_common(self, lst) -> bool + | + | has_memory(self, *args) + | has_memory(self) -> bool + | + | includes(self, *args) + | includes(self, lst) -> bool + | + | intersect(self, *args) + | intersect(self, lst) -> bool + | + | is_subset_of(self, *args) + | is_subset_of(self, lst) -> bool + | + | sub(self, *args) + | sub(self, r, size) -> bool + | sub(self, ivl) -> bool + | sub(self, lst) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | mem + | mlist_t_mem_get(self) -> ivlset_t + | + | reg + | mlist_t_reg_get(self) -> rlist_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mlist_t(self) + +Help on class mnumber_t in module ida_hexrays: + +class mnumber_t(operand_locator_t) + | Proxy of C++ mnumber_t class. + | + | Method resolution order: + | mnumber_t + | operand_locator_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, v, _ea=BADADDR, n=0) -> mnumber_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | update_value(self, *args) + | update_value(self, val64) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | org_value + | mnumber_t_org_value_get(self) -> uint64 + | + | thisown + | The membership flag + | + | value + | mnumber_t_value_get(self) -> uint64 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mnumber_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from operand_locator_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | operand_locator_t_ea_get(self) -> ea_t + | + | opnum + | operand_locator_t_opnum_get(self) -> int + +Help on function modify_user_lvar_info in module ida_hexrays: + +modify_user_lvar_info(*args) + modify_user_lvar_info(func_ea, mli_flags, info) -> bool + + + Modify saved local variable settings. + + @param func_ea (C++: ea_t) + @param mli_flags: bits that specify which attrs defined by INFO are to + be set (C++: uint) + @param info: local variable info attrs (C++: const lvar_saved_info_t + &) + @return: true if modified, false if invalid MLI_FLAGS passed + +Help on function modify_user_lvars in module ida_hexrays: + +modify_user_lvars(*args) + modify_user_lvars(entry_ea, mlv) -> bool + + + Modify saved local variable settings. + + @param entry_ea: function start address (C++: ea_t) + @param mlv: local variable modifier (C++: user_lvar_modifier_t &) + @return: true if modified variables + +Help on class mop_addr_t in module ida_hexrays: + +class mop_addr_t(mop_t) + | Proxy of C++ mop_addr_t class. + | + | Method resolution order: + | mop_addr_t + | mop_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mop_addr_t + | __init__(self, ra) -> mop_addr_t + | __init__(self, ra, isz, osz) -> mop_addr_t + | + | __repr__ = _swig_repr(self) + | + | lexcompare(self, *args) + | lexcompare(self, ra) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | insize + | mop_addr_t_insize_get(self) -> int + | + | outsize + | mop_addr_t_outsize_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mop_addr_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from mop_t: + | + | __eq__(self, *args) + | __eq__(self, rop) -> bool + | + | __lt__(self, *args) + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) + | __ne__(self, rop) -> bool + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) + | _get_b(self) -> int + | + | _get_c(self, *args) + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) + | _get_helper(self) -> char const * + | + | _get_l(self, *args) + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) + | _make_gvar(self, ea) + | + | _make_insn(self, *args) + | _make_insn(self, ins) + | + | _make_lvar(self, *args) + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) + | _make_pair(self, _pair) + | + | _make_reg(self, *args) + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) + | _register(self) + | + | _set_a(self, *args) + | _set_a(self, _v) + | + | _set_b(self, *args) + | _set_b(self, _v) + | + | _set_c(self, *args) + | _set_c(self, _v) + | + | _set_cstr(self, *args) + | _set_cstr(self, _v) + | + | _set_d(self, *args) + | _set_d(self, _v) + | + | _set_f(self, *args) + | _set_f(self, _v) + | + | _set_fpc(self, *args) + | _set_fpc(self, _v) + | + | _set_g(self, *args) + | _set_g(self, _v) + | + | _set_helper(self, *args) + | _set_helper(self, _v) + | + | _set_l(self, *args) + | _set_l(self, _v) + | + | _set_nnn(self, *args) + | _set_nnn(self, _v) + | + | _set_pair(self, *args) + | _set_pair(self, _v) + | + | _set_r(self, *args) + | _set_r(self, _v) + | + | _set_s(self, *args) + | _set_s(self, _v) + | + | _set_scif(self, *args) + | _set_scif(self, _v) + | + | _set_t(self, *args) + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) + | assign(self, rop) -> mop_t + | + | change_size(self, *args) + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | equal_mops(self, *args) + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) + | erase(self) + | + | erase_but_keep_size(self, *args) + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) + | is01(self) -> bool + | + | is_arglist(self, *args) + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) + | is_cc(self) -> bool + | + | is_ccflags(self, *args) + | is_ccflags(self) -> bool + | + | is_constant(self, *args) + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) + | is_kreg(self) -> bool + | + | is_mob(self, *args) + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) + | is_negative_constant(self) -> bool + | + | is_one(self, *args) + | is_one(self) -> bool + | + | is_positive_constant(self, *args) + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) + | is_udt(self) -> bool + | + | is_undef_val(self, *args) + | is_undef_val(self) -> bool + | + | is_zero(self, *args) + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) + | is_zero_extended_from(self, nbytes) -> bool + | + | make_blkref(self, *args) + | make_blkref(self, blknum) + | + | make_first_half(self, *args) + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) + | make_gvar(self, ea) + | + | make_helper(self, *args) + | make_helper(self, name) + | + | make_high_half(self, *args) + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) + | make_insn(self, ins) + | + | make_low_half(self, *args) + | make_low_half(self, width) -> bool + | + | make_number(self, *args) + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) + | set_impptr_done(self) + | + | set_udt(self, *args) + | set_udt(self) + | + | set_undef_val(self, *args) + | set_undef_val(self) + | + | shift_mop(self, *args) + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) + | signed_value(self) -> int64 + | + | swap(self, *args) + | swap(self, rop) + | + | unsigned_value(self, *args) + | unsigned_value(self) -> uint64 + | + | value(self, *args) + | value(self, is_signed) -> uint64 + | + | zero(self, *args) + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from mop_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | valnum + | mop_t_valnum_get(self) -> uint16 + +Help on class mop_pair_t in module ida_hexrays: + +class mop_pair_t(__builtin__.object) + | Proxy of C++ mop_pair_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mop_pair_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hop + | mop_pair_t_hop_get(self) -> mop_t + | + | lop + | mop_pair_t_lop_get(self) -> mop_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mop_pair_t(self) + +Help on class mop_t in module ida_hexrays: + +class mop_t(__builtin__.object) + | Proxy of C++ mop_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, rop) -> bool + | + | __init__(self, *args) + | __init__(self) -> mop_t + | __init__(self, rop) -> mop_t + | __init__(self, _r, _s) -> mop_t + | + | __lt__(self, *args) + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) + | __ne__(self, rop) -> bool + | + | __repr__ = _swig_repr(self) + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) + | _get_b(self) -> int + | + | _get_c(self, *args) + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) + | _get_helper(self) -> char const * + | + | _get_l(self, *args) + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) + | _make_gvar(self, ea) + | + | _make_insn(self, *args) + | _make_insn(self, ins) + | + | _make_lvar(self, *args) + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) + | _make_pair(self, _pair) + | + | _make_reg(self, *args) + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) + | _register(self) + | + | _set_a(self, *args) + | _set_a(self, _v) + | + | _set_b(self, *args) + | _set_b(self, _v) + | + | _set_c(self, *args) + | _set_c(self, _v) + | + | _set_cstr(self, *args) + | _set_cstr(self, _v) + | + | _set_d(self, *args) + | _set_d(self, _v) + | + | _set_f(self, *args) + | _set_f(self, _v) + | + | _set_fpc(self, *args) + | _set_fpc(self, _v) + | + | _set_g(self, *args) + | _set_g(self, _v) + | + | _set_helper(self, *args) + | _set_helper(self, _v) + | + | _set_l(self, *args) + | _set_l(self, _v) + | + | _set_nnn(self, *args) + | _set_nnn(self, _v) + | + | _set_pair(self, *args) + | _set_pair(self, _v) + | + | _set_r(self, *args) + | _set_r(self, _v) + | + | _set_s(self, *args) + | _set_s(self, _v) + | + | _set_scif(self, *args) + | _set_scif(self, _v) + | + | _set_t(self, *args) + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) + | assign(self, rop) -> mop_t + | + | change_size(self, *args) + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | equal_mops(self, *args) + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) + | erase(self) + | + | erase_but_keep_size(self, *args) + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) + | is01(self) -> bool + | + | is_arglist(self, *args) + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) + | is_cc(self) -> bool + | + | is_ccflags(self, *args) + | is_ccflags(self) -> bool + | + | is_constant(self, *args) + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) + | is_kreg(self) -> bool + | + | is_mob(self, *args) + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) + | is_negative_constant(self) -> bool + | + | is_one(self, *args) + | is_one(self) -> bool + | + | is_positive_constant(self, *args) + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) + | is_udt(self) -> bool + | + | is_undef_val(self, *args) + | is_undef_val(self) -> bool + | + | is_zero(self, *args) + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) + | is_zero_extended_from(self, nbytes) -> bool + | + | lexcompare(self, *args) + | lexcompare(self, rop) -> int + | + | make_blkref(self, *args) + | make_blkref(self, blknum) + | + | make_first_half(self, *args) + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) + | make_gvar(self, ea) + | + | make_helper(self, *args) + | make_helper(self, name) + | + | make_high_half(self, *args) + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) + | make_insn(self, ins) + | + | make_low_half(self, *args) + | make_low_half(self, width) -> bool + | + | make_number(self, *args) + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) + | set_impptr_done(self) + | + | set_udt(self, *args) + | set_udt(self) + | + | set_undef_val(self, *args) + | set_undef_val(self) + | + | shift_mop(self, *args) + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) + | signed_value(self) -> int64 + | + | swap(self, *args) + | swap(self, rop) + | + | unsigned_value(self, *args) + | unsigned_value(self) -> uint64 + | + | value(self, *args) + | value(self, is_signed) -> uint64 + | + | zero(self, *args) + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | thisown + | The membership flag + | + | valnum + | mop_t_valnum_get(self) -> uint16 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mop_t(self) + +Help on class mop_visitor_t in module ida_hexrays: + +class mop_visitor_t(op_parent_info_t) + | Proxy of C++ mop_visitor_t class. + | + | Method resolution order: + | mop_visitor_t + | op_parent_info_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> mop_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_mop(self, *args) + | visit_mop(self, op, type, is_target) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | prune + | mop_visitor_t_prune_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mop_visitor_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from op_parent_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + +Help on class mopvec_t in module ida_hexrays: + +class mopvec_t(__builtin__.object) + | Proxy of C++ qvector< mop_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> mop_t + | + | __init__(self, *args) + | __init__(self) -> mopvec_t + | __init__(self, x) -> mopvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> mop_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> mop_t + | begin(self) -> mop_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> mop_t + | end(self) -> mop_t + | + | erase(self, *args) + | erase(self, it) -> mop_t + | erase(self, first, last) -> mop_t + | + | extract(self, *args) + | extract(self) -> mop_t + | + | find(self, *args) + | find(self, x) -> mop_t + | find(self, x) -> mop_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=mop_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> mop_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> mop_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_mopvec_t(self) + +Help on function mreg2reg in module ida_hexrays: + +mreg2reg(*args) + mreg2reg(reg, width) -> int + + + Map a microregister to a processor register. + + @param reg: microregister number (C++: mreg_t) + @param width: size of microregister in bytes (C++: int) + @return: processor register id or -1 + +Help on function must_mcode_close_block in module ida_hexrays: + +must_mcode_close_block(*args) + 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: instruction opcode (C++: mcode_t) + @param including_calls: 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 because + before MMAT_CALLS they are closing opcodes. + Afteer MMAT_CALLS that are not considered as + closing opcodes. (C++: bool) + +Help on function negate_mcode_relation in module ida_hexrays: + +negate_mcode_relation(*args) + negate_mcode_relation(code) -> mcode_t + +Help on function negated_relation in module ida_hexrays: + +negated_relation(*args) + negated_relation(op) -> ctype_t + + + Negate a comparison operator. For example, cot_sge becomes cot_slt. + + + @param op (C++: ctype_t) + +Help on function new_block in module ida_hexrays: + +new_block() + +Help on class number_format_t in module ida_hexrays: + +class number_format_t(__builtin__.object) + | Proxy of C++ number_format_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _opnum=0) -> number_format_t + | + | __repr__ = _swig_repr(self) + | + | get_radix(self, *args) + | get_radix(self) -> int + | + | is_char(self, *args) + | is_char(self) -> bool + | + | is_dec(self, *args) + | is_dec(self) -> bool + | + | is_enum(self, *args) + | is_enum(self) -> bool + | + | is_fixed(self, *args) + | is_fixed(self) -> bool + | + | is_hex(self, *args) + | is_hex(self) -> bool + | + | is_numop(self, *args) + | is_numop(self) -> bool + | + | is_oct(self, *args) + | is_oct(self) -> bool + | + | is_stroff(self, *args) + | is_stroff(self) -> bool + | + | needs_to_be_inverted(self, *args) + | needs_to_be_inverted(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | number_format_t_flags_get(self) -> flags_t + | + | opnum + | number_format_t_opnum_get(self) -> char + | + | org_nbytes + | number_format_t_org_nbytes_get(self) -> char + | + | props + | number_format_t_props_get(self) -> char + | + | serial + | number_format_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | type_name + | number_format_t_type_name_get(self) -> qstring * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_number_format_t(self) + +Help on class op_parent_info_t in module ida_hexrays: + +class op_parent_info_t(__builtin__.object) + | Proxy of C++ op_parent_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> op_parent_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_op_parent_info_t(self) + +Help on function op_uses_x in module ida_hexrays: + +op_uses_x(*args) + op_uses_x(op) -> bool + + + Does operator use the 'x' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function op_uses_y in module ida_hexrays: + +op_uses_y(*args) + op_uses_y(op) -> bool + + + Does operator use the 'y' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function op_uses_z in module ida_hexrays: + +op_uses_z(*args) + op_uses_z(op) -> bool + + + Does operator use the 'z' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function open_pseudocode in module ida_hexrays: + +open_pseudocode(*args) + open_pseudocode(ea, new_window) -> vdui_t + + + Open pseudocode window. The specified function is decompiled and the + pseudocode window is opened. + + @param ea: function to decompile (C++: ea_t) + @param new_window: 0:reuse existing window; 1:open new window; -1: + reuse existing window if the current view is + pseudocode (C++: int) + @return: false if failed + +Help on class operand_locator_t in module ida_hexrays: + +class operand_locator_t(__builtin__.object) + | Proxy of C++ operand_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _ea, _opnum) -> operand_locator_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | operand_locator_t_ea_get(self) -> ea_t + | + | opnum + | operand_locator_t_opnum_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_operand_locator_t(self) + +Help on class operator_info_t in module ida_hexrays: + +class operator_info_t(__builtin__.object) + | Proxy of C++ operator_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> operator_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fixtype + | operator_info_t_fixtype_get(self) -> uchar + | + | flags + | operator_info_t_flags_get(self) -> uchar + | + | precedence + | operator_info_t_precedence_get(self) -> uchar + | + | text + | operator_info_t_text_get(self) -> char const * + | + | thisown + | The membership flag + | + | valency + | operator_info_t_valency_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_operator_info_t(self) + +Help on class optblock_t in module ida_hexrays: + +class optblock_t(__builtin__.object) + | Proxy of C++ optblock_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> optblock_t + | + | __repr__ = _swig_repr(self) + | + | func(self, *args) + | func(self, blk) -> int + | + | install(self, *args) + | install(self) + | + | remove(self, *args) + | remove(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_optblock_t(self) + +Help on class optinsn_t in module ida_hexrays: + +class optinsn_t(__builtin__.object) + | Proxy of C++ optinsn_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> optinsn_t + | + | __repr__ = _swig_repr(self) + | + | func(self, *args) + | func(self, blk, ins) -> int + | + | install(self, *args) + | install(self) + | + | remove(self, *args) + | remove(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_optinsn_t(self) + +Help on function parse_user_call in module ida_hexrays: + +parse_user_call(*args) + parse_user_call(udc, decl, silent) -> bool + + + Convert function type declaration into internal structure + + @param udc: - pointer to output structure (C++: udcall_t *) + @param decl: - function type declaration (C++: const char *) + @param silent: - if TRUE: do not show warning in case of incorrect + type (C++: bool) + @return: success + +Help on function partial_type_num in module ida_hexrays: + +partial_type_num(*args) + partial_type_num(type) -> int + + + Calculate number of partial subtypes. + + @param type (C++: const tinfo_t &) + @return: number of partial subtypes. The bigger is this number, the + uglier is the type. + +Help on function print_vdloc in module ida_hexrays: + +print_vdloc(*args) + print_vdloc(loc, nbytes) + + + Print vdloc. Since vdloc does not always carry the size info, we pass + it as NBYTES.. + + @param loc (C++: const vdloc_t &) + @param nbytes (C++: int) + +Help on function property_op_to_typename in module ida_hexrays: + +property_op_to_typename(self) + +Help on class qlist_cinsn_t in module ida_hexrays: + +class qlist_cinsn_t(__builtin__.object) + | Proxy of C++ qlist< cinsn_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> qlist_cinsn_t + | __init__(self, x) -> qlist_cinsn_t + | + | __ne__(self, *args) + | __ne__(self, x) -> bool + | + | __repr__ = _swig_repr(self) + | + | back(self, *args) + | back(self) -> cinsn_t + | back(self) -> cinsn_t + | + | begin(self, *args) + | begin(self) -> qlist_cinsn_t_iterator + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qlist_cinsn_t_iterator + | + | erase(self, *args) + | erase(self, p) -> qlist< cinsn_t >::iterator + | erase(self, p1, p2) + | erase(self, p) + | + | front(self, *args) + | front(self) -> cinsn_t + | front(self) -> cinsn_t + | + | insert(self, *args) + | insert(self, p, x) -> qlist< cinsn_t >::iterator + | insert(self, p) -> qlist< cinsn_t >::iterator + | insert(self, p, x) -> qlist_cinsn_t_iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | pop_front(self, *args) + | pop_front(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> cinsn_t + | + | push_front(self, *args) + | push_front(self, x) + | + | rbegin(self, *args) + | rbegin(self) -> qlist< cinsn_t >::reverse_iterator + | rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | rend(self, *args) + | rend(self) -> qlist< cinsn_t >::reverse_iterator + | rend(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, x) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qlist_cinsn_t(self) + +Help on class qlist_cinsn_t_iterator in module ida_hexrays: + +class qlist_cinsn_t_iterator(__builtin__.object) + | Proxy of C++ qlist_cinsn_t_iterator class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> qlist_cinsn_t_iterator + | + | __ne__(self, *args) + | __ne__(self, x) -> bool + | + | __next__(self, *args) + | __next__(self) + | + | __repr__ = _swig_repr(self) + | + | next = __next__(self, *args) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cur + | qlist_cinsn_t_iterator_cur_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qlist_cinsn_t_iterator(self) + +Help on class qstring_printer_t in module ida_hexrays: + +class qstring_printer_t(vc_printer_t) + | Proxy of C++ qstring_printer_t class. + | + | Method resolution order: + | qstring_printer_t + | vc_printer_t + | vd_printer_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, f, tags) -> qstring_printer_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, indent, format) -> int + | + | get_s(self, *args) + | get_s(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | s + | + | thisown + | The membership flag + | + | with_tags + | qstring_printer_t_with_tags_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Methods inherited from vc_printer_t: + | + | __disown__(self) + | + | oneliner(self, *args) + | oneliner(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vc_printer_t: + | + | func + | vc_printer_t_func_get(self) -> cfunc_t + | + | lastchar + | vc_printer_t_lastchar_get(self) -> char + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from vc_printer_t: + | + | __swig_destroy__ = + | delete_vc_printer_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_printer_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + +Help on function qswap in module ida_hexrays: + +qswap(*args) + qswap(a, b) + +Help on class qvector_carg_t in module ida_hexrays: + +class qvector_carg_t(__builtin__.object) + | Proxy of C++ qvector< carg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> carg_t + | + | __init__(self, *args) + | __init__(self) -> qvector_carg_t + | __init__(self, x) -> qvector_carg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> carg_t + | begin(self) -> carg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> carg_t + | end(self) -> carg_t + | + | erase(self, *args) + | erase(self, it) -> carg_t + | erase(self, first, last) -> carg_t + | + | extract(self, *args) + | extract(self) -> carg_t + | + | find(self, *args) + | find(self, x) -> carg_t + | find(self, x) -> carg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=carg_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> carg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> carg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qvector_carg_t(self) + +Help on class qvector_ccase_t in module ida_hexrays: + +class qvector_ccase_t(__builtin__.object) + | Proxy of C++ qvector< ccase_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> ccase_t + | + | __init__(self, *args) + | __init__(self) -> qvector_ccase_t + | __init__(self, x) -> qvector_ccase_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> ccase_t + | begin(self) -> ccase_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ccase_t + | end(self) -> ccase_t + | + | erase(self, *args) + | erase(self, it) -> ccase_t + | erase(self, first, last) -> ccase_t + | + | extract(self, *args) + | extract(self) -> ccase_t + | + | find(self, *args) + | find(self, x) -> ccase_t + | find(self, x) -> ccase_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=ccase_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> ccase_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ccase_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qvector_ccase_t(self) + +Help on class qvector_history_t in module ida_hexrays: + +class qvector_history_t(__builtin__.object) + | Proxy of C++ qvector< history_item_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> history_item_t + | + | __init__(self, *args) + | __init__(self) -> qvector_history_t + | __init__(self, x) -> qvector_history_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> history_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> history_item_t + | begin(self) -> history_item_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> history_item_t + | end(self) -> history_item_t + | + | erase(self, *args) + | erase(self, it) -> history_item_t + | erase(self, first, last) -> history_item_t + | + | extract(self, *args) + | extract(self) -> history_item_t + | + | find(self, *args) + | find(self, x) -> history_item_t + | find(self, x) -> history_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=history_item_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> history_item_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> history_item_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qvector_history_t(self) + +Help on class qvector_lvar_t in module ida_hexrays: + +class qvector_lvar_t(__builtin__.object) + | Proxy of C++ qvector< lvar_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> lvar_t + | + | __init__(self, *args) + | __init__(self) -> qvector_lvar_t + | __init__(self, x) -> qvector_lvar_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> lvar_t + | begin(self) -> lvar_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> lvar_t + | end(self) -> lvar_t + | + | erase(self, *args) + | erase(self, it) -> lvar_t + | erase(self, first, last) -> lvar_t + | + | extract(self, *args) + | extract(self) -> lvar_t + | + | find(self, *args) + | find(self, x) -> lvar_t + | find(self, x) -> lvar_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=lvar_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> lvar_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> lvar_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qvector_lvar_t(self) + +Help on function reg2mreg in module ida_hexrays: + +reg2mreg(*args) + reg2mreg(reg) -> mreg_t + + + Map a processor register to a microregister. + + @param reg: processor register number (C++: int) + @return: microregister register id or mr_none + +Help on function remitem in module ida_hexrays: + +remitem(*args) + remitem(e) + +Help on function remove_hexrays_callback in module ida_hexrays: + +remove_hexrays_callback(callback) + Deprecated. Please use Hexrays_Hooks instead + +Help on function restore_user_cmts in module ida_hexrays: + +restore_user_cmts(*args) + restore_user_cmts(func_ea) -> user_cmts_t + + + Restore user defined comments from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined comments. The returned object must + be deleted by the caller using delete_user_cmts() + +Help on function restore_user_defined_calls in module ida_hexrays: + +restore_user_defined_calls(*args) + restore_user_defined_calls(udcalls, func_ea) -> bool + + + Restore user defined function calls from the database. + + @param udcalls: ptr to output buffer (C++: udcall_map_t *) + @param func_ea: entry address of the function (C++: ea_t) + @return: success + +Help on function restore_user_iflags in module ida_hexrays: + +restore_user_iflags(*args) + restore_user_iflags(func_ea) -> user_iflags_t + + + Restore user defined citem iflags from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined iflags. The returned object must + be deleted by the caller using delete_user_iflags() + +Help on function restore_user_labels in module ida_hexrays: + +restore_user_labels(*args) + restore_user_labels(func_ea) -> user_labels_t + + + Restore user defined labels from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined labels. The returned object must + be deleted by the caller using delete_user_labels() + +Help on function restore_user_lvar_settings in module ida_hexrays: + +restore_user_lvar_settings(*args) + restore_user_lvar_settings(lvinf, func_ea) -> bool + + + Restore user defined local variable settings in the database. + + @param lvinf: ptr to output buffer (C++: lvar_uservec_t *) + @param func_ea: entry address of the function (C++: ea_t) + @return: success + +Help on function restore_user_numforms in module ida_hexrays: + +restore_user_numforms(*args) + restore_user_numforms(func_ea) -> user_numforms_t + + + Restore user defined number formats from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined number formats. The returned + object must be deleted by the caller using + delete_user_numforms() + +Help on function restore_user_unions in module ida_hexrays: + +restore_user_unions(*args) + restore_user_unions(func_ea) -> user_unions_t + + + Restore user defined union field selections from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of union field selections The returned object must + be deleted by the caller using delete_user_unions() + +Help on class rlist_t in module ida_hexrays: + +class rlist_t(bitset_t) + | Proxy of C++ rlist_t class. + | + | Method resolution order: + | rlist_t + | bitset_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rlist_t + | __init__(self, m) -> rlist_t + | __init__(self, reg, width) -> rlist_t + | + | __repr__ = _swig_repr(self) + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rlist_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from bitset_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __iter__(self) + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __len__ = count(self, *args) + | count(self) -> int + | count(self, bit) -> int + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | add(self, *args) + | add(self, bit) -> bool + | add(self, bit, width) -> bool + | add(self, ml) -> bool + | + | back(self, *args) + | back(self) -> int + | + | begin(self, *args) + | begin(self) -> bitset_t::iterator + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | copy(self, *args) + | copy(self, m) -> bitset_t + | + | count(self, *args) + | count(self) -> int + | count(self, bit) -> int + | + | cut_at(self, *args) + | cut_at(self, maxbit) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> bitset_t::iterator + | + | fill_with_ones(self, *args) + | fill_with_ones(self, maxbit) + | + | front(self, *args) + | front(self) -> int + | + | has(self, *args) + | has(self, bit) -> bool + | + | has_all(self, *args) + | has_all(self, bit, width) -> bool + | + | has_any(self, *args) + | has_any(self, bit, width) -> bool + | + | has_common(self, *args) + | has_common(self, ml) -> bool + | + | inc(self, *args) + | inc(self, p, n=1) + | + | includes(self, *args) + | includes(self, ml) -> bool + | + | intersect(self, *args) + | intersect(self, ml) -> bool + | + | is_subset_of(self, *args) + | is_subset_of(self, ml) -> bool + | + | itat(self, *args) + | itat(self, n) -> bitset_t::iterator + | + | itv(self, *args) + | itv(self, it) -> int + | + | last(self, *args) + | last(self) -> int + | + | shift_down(self, *args) + | shift_down(self, shift) + | + | sub(self, *args) + | sub(self, bit) -> bool + | sub(self, bit, width) -> bool + | sub(self, ml) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from bitset_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function save_user_cmts in module ida_hexrays: + +save_user_cmts(*args) + save_user_cmts(func_ea, user_cmts) + + + Save user defined comments into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param user_cmts: collection of user defined comments (C++: const + user_cmts_t *) + +Help on function save_user_defined_calls in module ida_hexrays: + +save_user_defined_calls(*args) + save_user_defined_calls(func_ea, udcalls) + + + Save user defined local function calls into the database. + + @param func_ea: entry address of the function (C++: ea_t) + @param udcalls: user-specified info about user defined function calls + (C++: const udcall_map_t &) + +Help on function save_user_iflags in module ida_hexrays: + +save_user_iflags(*args) + save_user_iflags(func_ea, iflags) + + + Save user defined citem iflags into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param iflags: collection of user defined citem iflags (C++: const + user_iflags_t *) + +Help on function save_user_labels in module ida_hexrays: + +save_user_labels(*args) + save_user_labels(func_ea, user_labels) + + + Save user defined labels into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param user_labels: collection of user defined labels (C++: const + user_labels_t *) + +Help on function save_user_lvar_settings in module ida_hexrays: + +save_user_lvar_settings(*args) + save_user_lvar_settings(func_ea, lvinf) + + + Save user defined local variable settings into the database. + + @param func_ea: entry address of the function (C++: ea_t) + @param lvinf: user-specified info about local variables (C++: const + lvar_uservec_t &) + +Help on function save_user_numforms in module ida_hexrays: + +save_user_numforms(*args) + save_user_numforms(func_ea, numforms) + + + Save user defined number formats into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param numforms: collection of user defined comments (C++: const + user_numforms_t *) + +Help on function save_user_unions in module ida_hexrays: + +save_user_unions(*args) + save_user_unions(func_ea, unions) + + + Save user defined union field selections into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param unions: collection of union field selections (C++: const + user_unions_t *) + +Help on class scif_t in module ida_hexrays: + +class scif_t(vdloc_t) + | Proxy of C++ scif_t class. + | + | Method resolution order: + | scif_t + | vdloc_t + | ida_typeinf.argloc_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _mba, n, tif) -> scif_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | mba + | scif_t_mba_get(self) -> mbl_array_t + | + | name + | scif_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | scif_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_scif_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from vdloc_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _set_reg1(self, *args) + | _set_reg1(self, r1) + | + | compare(self, *args) + | compare(self, r) -> int + | + | is_aliasable(self, *args) + | is_aliasable(self, mb, size) -> bool + | + | reg1(self, *args) + | reg1(self) -> int + | + | set_reg1(self, *args) + | set_reg1(self, r1) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_typeinf.argloc_t: + | + | _consume_rrel(self, *args) + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) + | _set_badloc(self) + | + | _set_biggest(self, *args) + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) + | _set_ea(self, _ea) + | + | _set_reg2(self, *args) + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) + | _set_stkoff(self, off) + | + | advance(self, *args) + | advance(self, delta) -> bool + | + | atype(self, *args) + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) + | calc_offset(self) -> sval_t + | + | consume_rrel(self, *args) + | consume_rrel(self, p) + | + | consume_scattered(self, *args) + | consume_scattered(self, p) + | + | get_biggest(self, *args) + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) + | get_custom(self) -> void * + | + | get_ea(self, *args) + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) + | has_reg(self) -> bool + | + | has_stkoff(self, *args) + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) + | is_badloc(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_ea(self, *args) + | is_ea(self) -> bool + | + | is_fragmented(self, *args) + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_rrel(self, *args) + | is_rrel(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) + | justify_stkoff_right(self, size, _slotsize) + | + | reg2(self, *args) + | reg2(self) -> int + | + | regoff(self, *args) + | regoff(self) -> int + | + | scattered(self, *args) + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) + | set_badloc(self) + | + | set_ea(self, *args) + | set_ea(self, _ea) + | + | set_reg2(self, *args) + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) + | set_stkoff(self, off) + | + | stkoff(self, *args) + | stkoff(self) -> sval_t + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_typeinf.argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class scif_visitor_t in module ida_hexrays: + +class scif_visitor_t(__builtin__.object) + | Proxy of C++ scif_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> scif_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_scif_mop(self, *args) + | visit_scif_mop(self, r, off) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_scif_visitor_t(self) + +Help on function select_udt_by_offset in module ida_hexrays: + +select_udt_by_offset(*args) + select_udt_by_offset(udts, ops, applicator) -> int + + + Select UDT + + @param udts: list of UDT tinfo_t for the selection, if NULL or empty + then UDTs from the "Local types" will be used (C++: const + qvector < tinfo_t > *) + @param ops: operands (C++: const ui_stroff_ops_t &) + @param applicator (C++: ui_stroff_applicator_t &) + +Help on function send_database in module ida_hexrays: + +send_database(*args) + 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: failure description object. Empty hexrays_failure_t + object can be used if error information is not available. + (C++: const hexrays_failure_t &) + @param silent: if false, a dialog box will be displayed before sending + the database. (C++: bool) + +Help on function set2jcnd in module ida_hexrays: + +set2jcnd(*args) + set2jcnd(code) -> mcode_t + +Help on function set_type in module ida_hexrays: + +set_type(*args) + set_type(id, tif, source, force=False) -> bool + + + Set a global type. + + @param id: address or id of the object (C++: uval_t) + @param tif: new type info (C++: const tinfo_t &) + @param source: where the type comes from (C++: type_source_t) + @param force: true means to set the type as is, false means to merge + the new type with the possibly existing old type info. + (C++: bool) + @return: success + +Help on class simple_graph_t in module ida_hexrays: + +class simple_graph_t(__builtin__.object) + | Proxy of C++ simple_graph_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | colored_gdl_edges + | simple_graph_t_colored_gdl_edges_get(self) -> bool + | + | thisown + | The membership flag + | + | title + | simple_graph_t_title_get(self) -> qstring * + +Help on class stkvar_ref_t in module ida_hexrays: + +class stkvar_ref_t(__builtin__.object) + | Proxy of C++ stkvar_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, m, o) -> stkvar_ref_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | get_stkvar(self, *args) + | get_stkvar(self, p_off=None) -> member_t * + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | mba + | stkvar_ref_t_mba_get(self) -> mbl_array_t + | + | off + | stkvar_ref_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_stkvar_ref_t(self) + +Help on function swap_mcode_relation in module ida_hexrays: + +swap_mcode_relation(*args) + swap_mcode_relation(code) -> mcode_t + +Help on function swapped_relation in module ida_hexrays: + +swapped_relation(*args) + swapped_relation(op) -> ctype_t + + + Swap a comparison operator. For example, cot_sge becomes cot_sle. + + + @param op (C++: ctype_t) + +Help on function term_hexrays_plugin in module ida_hexrays: + +term_hexrays_plugin(*args) + term_hexrays_plugin() + + + Stop working with hex-rays decompiler. + +Help on class treeloc_t in module ida_hexrays: + +class treeloc_t(__builtin__.object) + | Proxy of C++ treeloc_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> treeloc_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | treeloc_t_ea_get(self) -> ea_t + | + | itp + | treeloc_t_itp_get(self) -> item_preciser_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_treeloc_t(self) + +Help on class udc_filter_t in module ida_hexrays: + +class udc_filter_t(microcode_filter_t) + | Proxy of C++ udc_filter_t class. + | + | Method resolution order: + | udc_filter_t + | microcode_filter_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> udc_filter_t + | + | __repr__ = _swig_repr(self) + | + | apply(self, *args) + | apply(self, cdg) -> merror_t + | + | init(self, *args) + | init(self, decl) -> bool + | + | match(self, *args) + | match(self, cdg) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udc_filter_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from microcode_filter_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function udcall_map_begin in module ida_hexrays: + +udcall_map_begin(*args) + 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 *) + +Help on function udcall_map_clear in module ida_hexrays: + +udcall_map_clear(*args) + udcall_map_clear(map) + + + Clear udcall_map_t. + + + @param map (C++: udcall_map_t *) + +Help on function udcall_map_end in module ida_hexrays: + +udcall_map_end(*args) + 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 *) + +Help on function udcall_map_erase in module ida_hexrays: + +udcall_map_erase(*args) + 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) + +Help on function udcall_map_find in module ida_hexrays: + +udcall_map_find(*args) + udcall_map_find(map, key) -> udcall_map_iterator_t + + + Find the specified key in udcall_map_t. + + + @param map (C++: const udcall_map_t *) + @param key (C++: const ea_t &) + +Help on function udcall_map_first in module ida_hexrays: + +udcall_map_first(*args) + udcall_map_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_free in module ida_hexrays: + +udcall_map_free(*args) + udcall_map_free(map) + + + Delete udcall_map_t instance. + + + @param map (C++: udcall_map_t *) + +Help on function udcall_map_insert in module ida_hexrays: + +udcall_map_insert(*args) + 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 &) + @param val (C++: const udcall_t &) + +Help on class udcall_map_iterator_t in module ida_hexrays: + +class udcall_map_iterator_t(__builtin__.object) + | Proxy of C++ udcall_map_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> udcall_map_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | udcall_map_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udcall_map_iterator_t(self) + +Help on function udcall_map_new in module ida_hexrays: + +udcall_map_new(*args) + udcall_map_new() -> udcall_map_t * + + + Create a new udcall_map_t instance. + +Help on function udcall_map_next in module ida_hexrays: + +udcall_map_next(*args) + udcall_map_next(p) -> udcall_map_iterator_t + + + Move to the next element. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_prev in module ida_hexrays: + +udcall_map_prev(*args) + udcall_map_prev(p) -> udcall_map_iterator_t + + + Move to the previous element. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_second in module ida_hexrays: + +udcall_map_second(*args) + udcall_map_second(p) -> udcall_t + + + Get reference to the current map value. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_size in module ida_hexrays: + +udcall_map_size(*args) + udcall_map_size(map) -> size_t + + + Get size of udcall_map_t. + + + @param map (C++: udcall_map_t *) + +Help on class udcall_t in module ida_hexrays: + +class udcall_t(__builtin__.object) + | Proxy of C++ udcall_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> udcall_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | udcall_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tif + | udcall_t_tif_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udcall_t(self) + +Help on class ui_stroff_applicator_t in module ida_hexrays: + +class ui_stroff_applicator_t(__builtin__.object) + | Proxy of C++ ui_stroff_applicator_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_applicator_t + | + | __repr__ = _swig_repr(self) + | + | apply(self, *args) + | apply(self, opnum, path) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ui_stroff_applicator_t(self) + +Help on class ui_stroff_op_t in module ida_hexrays: + +class ui_stroff_op_t(__builtin__.object) + | Proxy of C++ ui_stroff_op_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_op_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | offset + | ui_stroff_op_t_offset_get(self) -> uval_t + | + | text + | ui_stroff_op_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ui_stroff_op_t(self) + +Help on class ui_stroff_ops_t in module ida_hexrays: + +class ui_stroff_ops_t(__builtin__.object) + | Proxy of C++ qvector< ui_stroff_op_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> ui_stroff_op_t + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_ops_t + | __init__(self, x) -> ui_stroff_ops_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> ui_stroff_op_t + | begin(self) -> ui_stroff_op_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ui_stroff_op_t + | end(self) -> ui_stroff_op_t + | + | erase(self, *args) + | erase(self, it) -> ui_stroff_op_t + | erase(self, first, last) -> ui_stroff_op_t + | + | extract(self, *args) + | extract(self) -> ui_stroff_op_t + | + | find(self, *args) + | find(self, x) -> ui_stroff_op_t + | find(self, x) -> ui_stroff_op_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=ui_stroff_op_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> ui_stroff_op_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ui_stroff_op_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ui_stroff_ops_t(self) + +Help on function user_cmts_begin in module ida_hexrays: + +user_cmts_begin(*args) + 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 *) + +Help on function user_cmts_clear in module ida_hexrays: + +user_cmts_clear(*args) + user_cmts_clear(map) + + + Clear user_cmts_t. + + + @param map (C++: user_cmts_t *) + +Help on function user_cmts_end in module ida_hexrays: + +user_cmts_end(*args) + 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 *) + +Help on function user_cmts_erase in module ida_hexrays: + +user_cmts_erase(*args) + 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) + +Help on function user_cmts_find in module ida_hexrays: + +user_cmts_find(*args) + user_cmts_find(map, key) -> user_cmts_iterator_t + + + Find the specified key in user_cmts_t. + + + @param map (C++: const user_cmts_t *) + @param key (C++: const treeloc_t &) + +Help on function user_cmts_first in module ida_hexrays: + +user_cmts_first(*args) + user_cmts_first(p) -> treeloc_t + + + Get reference to the current map key. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_free in module ida_hexrays: + +user_cmts_free(*args) + user_cmts_free(map) + + + Delete user_cmts_t instance. + + + @param map (C++: user_cmts_t *) + +Help on function user_cmts_insert in module ida_hexrays: + +user_cmts_insert(*args) + 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 &) + @param val (C++: const citem_cmt_t &) + +Help on class user_cmts_iterator_t in module ida_hexrays: + +class user_cmts_iterator_t(__builtin__.object) + | Proxy of C++ user_cmts_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_cmts_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_cmts_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_cmts_iterator_t(self) + +Help on function user_cmts_new in module ida_hexrays: + +user_cmts_new(*args) + user_cmts_new() -> user_cmts_t + + + Create a new user_cmts_t instance. + +Help on function user_cmts_next in module ida_hexrays: + +user_cmts_next(*args) + user_cmts_next(p) -> user_cmts_iterator_t + + + Move to the next element. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_prev in module ida_hexrays: + +user_cmts_prev(*args) + user_cmts_prev(p) -> user_cmts_iterator_t + + + Move to the previous element. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_second in module ida_hexrays: + +user_cmts_second(*args) + user_cmts_second(p) -> citem_cmt_t + + + Get reference to the current map value. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_size in module ida_hexrays: + +user_cmts_size(*args) + user_cmts_size(map) -> size_t + + + Get size of user_cmts_t. + + + @param map (C++: user_cmts_t *) + +Help on class user_cmts_t in module ida_hexrays: + +class user_cmts_t(__builtin__.object) + | Proxy of C++ std::map< treeloc_t,citem_cmt_t > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_cmts_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> citem_cmt_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | user_cmts_begin(map) -> user_cmts_iterator_t + | + | __clear = + | user_cmts_clear(map) + | + | __end = + | user_cmts_end(map) -> user_cmts_iterator_t + | + | __erase = + | user_cmts_erase(map, p) + | + | __find = + | user_cmts_find(map, key) -> user_cmts_iterator_t + | + | __first = + | user_cmts_first(p) -> treeloc_t + | + | __insert = + | user_cmts_insert(map, key, val) -> user_cmts_iterator_t + | + | __next = + | user_cmts_next(p) -> user_cmts_iterator_t + | + | __second = + | user_cmts_second(p) -> citem_cmt_t + | + | __size = + | user_cmts_size(map) -> size_t + | + | __swig_destroy__ = + | delete_user_cmts_t(self) + | + | keytype = + | Proxy of C++ treeloc_t class. + | + | valuetype = + | Proxy of C++ citem_cmt_t class. + +Help on function user_iflags_begin in module ida_hexrays: + +user_iflags_begin(*args) + 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 *) + +Help on function user_iflags_clear in module ida_hexrays: + +user_iflags_clear(*args) + user_iflags_clear(map) + + + Clear user_iflags_t. + + + @param map (C++: user_iflags_t *) + +Help on function user_iflags_end in module ida_hexrays: + +user_iflags_end(*args) + 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 *) + +Help on function user_iflags_erase in module ida_hexrays: + +user_iflags_erase(*args) + 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) + +Help on function user_iflags_find in module ida_hexrays: + +user_iflags_find(*args) + user_iflags_find(map, key) -> user_iflags_iterator_t + + + Find the specified key in user_iflags_t. + + + @param map (C++: const user_iflags_t *) + @param key (C++: const citem_locator_t &) + +Help on function user_iflags_first in module ida_hexrays: + +user_iflags_first(*args) + user_iflags_first(p) -> citem_locator_t + + + Get reference to the current map key. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_free in module ida_hexrays: + +user_iflags_free(*args) + user_iflags_free(map) + + + Delete user_iflags_t instance. + + + @param map (C++: user_iflags_t *) + +Help on function user_iflags_insert in module ida_hexrays: + +user_iflags_insert(*args) + 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 &) + @param val (C++: const int32 &) + +Help on class user_iflags_iterator_t in module ida_hexrays: + +class user_iflags_iterator_t(__builtin__.object) + | Proxy of C++ user_iflags_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_iflags_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_iflags_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_iflags_iterator_t(self) + +Help on function user_iflags_new in module ida_hexrays: + +user_iflags_new(*args) + user_iflags_new() -> user_iflags_t + + + Create a new user_iflags_t instance. + +Help on function user_iflags_next in module ida_hexrays: + +user_iflags_next(*args) + user_iflags_next(p) -> user_iflags_iterator_t + + + Move to the next element. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_prev in module ida_hexrays: + +user_iflags_prev(*args) + user_iflags_prev(p) -> user_iflags_iterator_t + + + Move to the previous element. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_second in module ida_hexrays: + +user_iflags_second(*args) + user_iflags_second(p) -> int32 const & + + + Get reference to the current map value. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_size in module ida_hexrays: + +user_iflags_size(*args) + user_iflags_size(map) -> size_t + + + Get size of user_iflags_t. + + + @param map (C++: user_iflags_t *) + +Help on class user_iflags_t in module ida_hexrays: + +class user_iflags_t(__builtin__.object) + | Proxy of C++ std::map< citem_locator_t,int32 > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_iflags_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> int & + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | user_iflags_begin(map) -> user_iflags_iterator_t + | + | __clear = + | user_iflags_clear(map) + | + | __end = + | user_iflags_end(map) -> user_iflags_iterator_t + | + | __erase = + | user_iflags_erase(map, p) + | + | __find = + | user_iflags_find(map, key) -> user_iflags_iterator_t + | + | __first = + | user_iflags_first(p) -> citem_locator_t + | + | __insert = + | user_iflags_insert(map, key, val) -> user_iflags_iterator_t + | + | __next = + | user_iflags_next(p) -> user_iflags_iterator_t + | + | __second = + | user_iflags_second(p) -> int32 const & + | + | __size = + | user_iflags_size(map) -> size_t + | + | __swig_destroy__ = + | delete_user_iflags_t(self) + | + | keytype = + | Proxy of C++ citem_locator_t class. + | + | valuetype = + | int(x=0) -> int or long + | int(x, base=10) -> int or long + | + | Convert a number or string to an integer, or return 0 if no arguments + | are given. If x is floating point, the conversion truncates towards zero. + | If x is outside the integer range, the function returns a long instead. + | + | If x is not a number or if base is given, then x must be a string or + | Unicode object 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 + +Help on function user_labels_begin in module ida_hexrays: + +user_labels_begin(*args) + 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 *) + +Help on function user_labels_clear in module ida_hexrays: + +user_labels_clear(*args) + user_labels_clear(map) + + + Clear user_labels_t. + + + @param map (C++: user_labels_t *) + +Help on function user_labels_end in module ida_hexrays: + +user_labels_end(*args) + 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 *) + +Help on function user_labels_erase in module ida_hexrays: + +user_labels_erase(*args) + 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) + +Help on function user_labels_find in module ida_hexrays: + +user_labels_find(*args) + user_labels_find(map, key) -> user_labels_iterator_t + + + Find the specified key in user_labels_t. + + + @param map (C++: const user_labels_t *) + @param key (C++: const int &) + +Help on function user_labels_first in module ida_hexrays: + +user_labels_first(*args) + user_labels_first(p) -> int const & + + + Get reference to the current map key. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_free in module ida_hexrays: + +user_labels_free(*args) + user_labels_free(map) + + + Delete user_labels_t instance. + + + @param map (C++: user_labels_t *) + +Help on function user_labels_insert in module ida_hexrays: + +user_labels_insert(*args) + 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 &) + @param val (C++: const qstring &) + +Help on class user_labels_iterator_t in module ida_hexrays: + +class user_labels_iterator_t(__builtin__.object) + | Proxy of C++ user_labels_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_labels_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_labels_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_labels_iterator_t(self) + +Help on function user_labels_new in module ida_hexrays: + +user_labels_new(*args) + user_labels_new() -> user_labels_t + + + Create a new user_labels_t instance. + +Help on function user_labels_next in module ida_hexrays: + +user_labels_next(*args) + user_labels_next(p) -> user_labels_iterator_t + + + Move to the next element. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_prev in module ida_hexrays: + +user_labels_prev(*args) + user_labels_prev(p) -> user_labels_iterator_t + + + Move to the previous element. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_second in module ida_hexrays: + +user_labels_second(*args) + user_labels_second(p) -> qstring & + + + Get reference to the current map value. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_size in module ida_hexrays: + +user_labels_size(*args) + user_labels_size(map) -> size_t + + + Get size of user_labels_t. + + + @param map (C++: user_labels_t *) + +Help on class user_labels_t in module ida_hexrays: + +class user_labels_t(__builtin__.object) + | Proxy of C++ std::map< int,qstring > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> user_labels_t + | + | __repr__ = _swig_repr(self) + | + | at(self, *args) + | at(self, _Keyval) -> _qstring< char > & + | + | size(self, *args) + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_labels_t(self) + +Help on class user_lvar_modifier_t in module ida_hexrays: + +class user_lvar_modifier_t(__builtin__.object) + | Proxy of C++ user_lvar_modifier_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> user_lvar_modifier_t + | + | __repr__ = _swig_repr(self) + | + | modify_lvars(self, *args) + | modify_lvars(self, lvinf) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_lvar_modifier_t(self) + +Help on function user_numforms_begin in module ida_hexrays: + +user_numforms_begin(*args) + 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 *) + +Help on function user_numforms_clear in module ida_hexrays: + +user_numforms_clear(*args) + user_numforms_clear(map) + + + Clear user_numforms_t. + + + @param map (C++: user_numforms_t *) + +Help on function user_numforms_end in module ida_hexrays: + +user_numforms_end(*args) + 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 *) + +Help on function user_numforms_erase in module ida_hexrays: + +user_numforms_erase(*args) + 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) + +Help on function user_numforms_find in module ida_hexrays: + +user_numforms_find(*args) + user_numforms_find(map, key) -> user_numforms_iterator_t + + + Find the specified key in user_numforms_t. + + + @param map (C++: const user_numforms_t *) + @param key (C++: const operand_locator_t &) + +Help on function user_numforms_first in module ida_hexrays: + +user_numforms_first(*args) + user_numforms_first(p) -> operand_locator_t + + + Get reference to the current map key. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_free in module ida_hexrays: + +user_numforms_free(*args) + user_numforms_free(map) + + + Delete user_numforms_t instance. + + + @param map (C++: user_numforms_t *) + +Help on function user_numforms_insert in module ida_hexrays: + +user_numforms_insert(*args) + 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 &) + @param val (C++: const number_format_t &) + +Help on class user_numforms_iterator_t in module ida_hexrays: + +class user_numforms_iterator_t(__builtin__.object) + | Proxy of C++ user_numforms_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_numforms_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_numforms_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_numforms_iterator_t(self) + +Help on function user_numforms_new in module ida_hexrays: + +user_numforms_new(*args) + user_numforms_new() -> user_numforms_t + + + Create a new user_numforms_t instance. + +Help on function user_numforms_next in module ida_hexrays: + +user_numforms_next(*args) + user_numforms_next(p) -> user_numforms_iterator_t + + + Move to the next element. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_prev in module ida_hexrays: + +user_numforms_prev(*args) + user_numforms_prev(p) -> user_numforms_iterator_t + + + Move to the previous element. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_second in module ida_hexrays: + +user_numforms_second(*args) + user_numforms_second(p) -> number_format_t + + + Get reference to the current map value. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_size in module ida_hexrays: + +user_numforms_size(*args) + user_numforms_size(map) -> size_t + + + Get size of user_numforms_t. + + + @param map (C++: user_numforms_t *) + +Help on class user_numforms_t in module ida_hexrays: + +class user_numforms_t(__builtin__.object) + | Proxy of C++ std::map< operand_locator_t,number_format_t > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_numforms_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> number_format_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | user_numforms_begin(map) -> user_numforms_iterator_t + | + | __clear = + | user_numforms_clear(map) + | + | __end = + | user_numforms_end(map) -> user_numforms_iterator_t + | + | __erase = + | user_numforms_erase(map, p) + | + | __find = + | user_numforms_find(map, key) -> user_numforms_iterator_t + | + | __first = + | user_numforms_first(p) -> operand_locator_t + | + | __insert = + | user_numforms_insert(map, key, val) -> user_numforms_iterator_t + | + | __next = + | user_numforms_next(p) -> user_numforms_iterator_t + | + | __second = + | user_numforms_second(p) -> number_format_t + | + | __size = + | user_numforms_size(map) -> size_t + | + | __swig_destroy__ = + | delete_user_numforms_t(self) + | + | keytype = + | Proxy of C++ operand_locator_t class. + | + | valuetype = + | Proxy of C++ number_format_t class. + +Help on function user_unions_begin in module ida_hexrays: + +user_unions_begin(*args) + 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 *) + +Help on function user_unions_clear in module ida_hexrays: + +user_unions_clear(*args) + user_unions_clear(map) + + + Clear user_unions_t. + + + @param map (C++: user_unions_t *) + +Help on function user_unions_end in module ida_hexrays: + +user_unions_end(*args) + 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 *) + +Help on function user_unions_erase in module ida_hexrays: + +user_unions_erase(*args) + 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) + +Help on function user_unions_find in module ida_hexrays: + +user_unions_find(*args) + user_unions_find(map, key) -> user_unions_iterator_t + + + Find the specified key in user_unions_t. + + + @param map (C++: const user_unions_t *) + @param key (C++: const ea_t &) + +Help on function user_unions_first in module ida_hexrays: + +user_unions_first(*args) + user_unions_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_free in module ida_hexrays: + +user_unions_free(*args) + user_unions_free(map) + + + Delete user_unions_t instance. + + + @param map (C++: user_unions_t *) + +Help on function user_unions_insert in module ida_hexrays: + +user_unions_insert(*args) + 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 &) + @param val (C++: const intvec_t &) + +Help on class user_unions_iterator_t in module ida_hexrays: + +class user_unions_iterator_t(__builtin__.object) + | Proxy of C++ user_unions_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_unions_iterator_t + | + | __ne__(self, *args) + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_unions_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_user_unions_iterator_t(self) + +Help on function user_unions_new in module ida_hexrays: + +user_unions_new(*args) + user_unions_new() -> user_unions_t + + + Create a new user_unions_t instance. + +Help on function user_unions_next in module ida_hexrays: + +user_unions_next(*args) + user_unions_next(p) -> user_unions_iterator_t + + + Move to the next element. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_prev in module ida_hexrays: + +user_unions_prev(*args) + user_unions_prev(p) -> user_unions_iterator_t + + + Move to the previous element. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_second in module ida_hexrays: + +user_unions_second(*args) + user_unions_second(p) -> intvec_t + + + Get reference to the current map value. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_size in module ida_hexrays: + +user_unions_size(*args) + user_unions_size(map) -> size_t + + + Get size of user_unions_t. + + + @param map (C++: user_unions_t *) + +Help on class user_unions_t in module ida_hexrays: + +class user_unions_t(__builtin__.object) + | Proxy of C++ std::map< ea_t,intvec_t > class. + | + | Methods defined here: + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_unions_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | at(self, *args) + | at(self, _Keyval) -> intvec_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __begin = + | user_unions_begin(map) -> user_unions_iterator_t + | + | __clear = + | user_unions_clear(map) + | + | __end = + | user_unions_end(map) -> user_unions_iterator_t + | + | __erase = + | user_unions_erase(map, p) + | + | __find = + | user_unions_find(map, key) -> user_unions_iterator_t + | + | __first = + | user_unions_first(p) -> ea_t const & + | + | __insert = + | user_unions_insert(map, key, val) -> user_unions_iterator_t + | + | __next = + | user_unions_next(p) -> user_unions_iterator_t + | + | __second = + | user_unions_second(p) -> intvec_t + | + | __size = + | user_unions_size(map) -> size_t + | + | __swig_destroy__ = + | delete_user_unions_t(self) + | + | keytype = (, ) + | + | valuetype = + | Proxy of C++ qvector< int > class. + +Help on class uval_ivl_ivlset_t in module ida_hexrays: + +class uval_ivl_ivlset_t(__builtin__.object) + | Proxy of C++ ivlset_tpl< ivl_t,uval_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, v) -> bool + | + | __init__(self, *args) + | __init__(self) -> uval_ivl_ivlset_t + | __init__(self, ivl) -> uval_ivl_ivlset_t + | + | __ne__(self, *args) + | __ne__(self, v) -> bool + | + | __repr__ = _swig_repr(self) + | + | all_values(self, *args) + | all_values(self) -> bool + | + | begin(self, *args) + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | getivl(self, *args) + | getivl(self, idx) -> ivl_t + | + | lastivl(self, *args) + | lastivl(self) -> ivl_t + | + | nivls(self, *args) + | nivls(self) -> size_t + | + | qclear(self, *args) + | qclear(self) + | + | set_all_values(self, *args) + | set_all_values(self) + | + | single_value(self, *args) + | single_value(self, v) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_uval_ivl_ivlset_t(self) + +Help on class uval_ivl_t in module ida_hexrays: + +class uval_ivl_t(__builtin__.object) + | Proxy of C++ ivl_tpl< uval_t > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _off, _size) -> uval_ivl_t + | + | __repr__ = _swig_repr(self) + | + | end(self, *args) + | end(self) -> unsigned-ea-like-numeric-type↗ + | + | last(self, *args) + | last(self) -> unsigned-ea-like-numeric-type↗ + | + | valid(self, *args) + | valid(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type↗ + | + | size + | uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type↗ + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_uval_ivl_t(self) + +Help on class valrng_t in module ida_hexrays: + +class valrng_t(__builtin__.object) + | Proxy of C++ valrng_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, size_=MAX_VLR_SIZE) -> valrng_t + | __init__(self, r) -> valrng_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _deregister(self, *args) + | _deregister(self) + | + | _print(self, *args) + | _print(self) + | + | _register(self, *args) + | _register(self) + | + | all_values(self, *args) + | all_values(self) -> bool + | + | compare(self, *args) + | compare(self, r) -> int + | + | cvt_to_cmp(self, *args) + | cvt_to_cmp(self, strict) -> bool + | + | cvt_to_single_value(self, *args) + | cvt_to_single_value(self) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | get_size(self, *args) + | get_size(self) -> int + | + | has(self, *args) + | has(self, v) -> bool + | + | intersect_with(self, *args) + | intersect_with(self, r) -> bool + | + | inverse(self, *args) + | inverse(self) + | + | is_unknown(self, *args) + | is_unknown(self) -> bool + | + | max_svalue(self, *args) + | max_svalue(self, size_) -> uvlr_t + | max_svalue(self) -> uvlr_t + | + | max_value(self, *args) + | max_value(self, size_) -> uvlr_t + | max_value(self) -> uvlr_t + | + | min_svalue(self, *args) + | min_svalue(self, size_) -> uvlr_t + | min_svalue(self) -> uvlr_t + | + | reduce_size(self, *args) + | reduce_size(self, new_size) -> bool + | + | set_all(self, *args) + | set_all(self) + | + | set_cmp(self, *args) + | set_cmp(self, cmp, _value) + | + | set_eq(self, *args) + | set_eq(self, v) + | + | set_none(self, *args) + | set_none(self) + | + | set_unk(self, *args) + | set_unk(self) + | + | swap(self, *args) + | swap(self, r) + | + | unite_with(self, *args) + | unite_with(self, r) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_valrng_t(self) + +Help on class var_ref_t in module ida_hexrays: + +class var_ref_t(__builtin__.object) + | Proxy of C++ var_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> var_ref_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | idx + | var_ref_t_idx_get(self) -> int + | + | mba + | var_ref_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_var_ref_t(self) + +Help on class vc_printer_t in module ida_hexrays: + +class vc_printer_t(vd_printer_t) + | Proxy of C++ vc_printer_t class. + | + | Method resolution order: + | vc_printer_t + | vd_printer_t + | __builtin__.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, f) -> vc_printer_t + | + | __repr__ = _swig_repr(self) + | + | oneliner(self, *args) + | oneliner(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | func + | vc_printer_t_func_get(self) -> cfunc_t + | + | lastchar + | vc_printer_t_lastchar_get(self) -> char + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vc_printer_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from vd_printer_t: + | + | _print(self, *args) + | _print(self, indent, format) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_printer_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + +Help on class vd_failure_t in module ida_hexrays: + +class vd_failure_t(__builtin__.object) + | Proxy of C++ vd_failure_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> vd_failure_t + | __init__(self, code, ea, buf=None) -> vd_failure_t + | __init__(self, code, ea, buf) -> vd_failure_t + | __init__(self, _hf) -> vd_failure_t + | + | __repr__ = _swig_repr(self) + | + | desc(self, *args) + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hf + | vd_failure_t_hf_get(self) -> hexrays_failure_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vd_failure_t(self) + +Help on class vd_interr_t in module ida_hexrays: + +class vd_interr_t(vd_failure_t) + | Proxy of C++ vd_interr_t class. + | + | Method resolution order: + | vd_interr_t + | vd_failure_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, ea, buf) -> vd_interr_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vd_interr_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from vd_failure_t: + | + | desc(self, *args) + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_failure_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hf + | vd_failure_t_hf_get(self) -> hexrays_failure_t + +Help on class vd_printer_t in module ida_hexrays: + +class vd_printer_t(__builtin__.object) + | Proxy of C++ vd_printer_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> vd_printer_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, indent, format) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | thisown + | The membership flag + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vd_printer_t(self) + +Help on class vdloc_t in module ida_hexrays: + +class vdloc_t(ida_typeinf.argloc_t) + | Proxy of C++ vdloc_t class. + | + | Method resolution order: + | vdloc_t + | ida_typeinf.argloc_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> vdloc_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _set_reg1(self, *args) + | _set_reg1(self, r1) + | + | compare(self, *args) + | compare(self, r) -> int + | + | is_aliasable(self, *args) + | is_aliasable(self, mb, size) -> bool + | + | reg1(self, *args) + | reg1(self) -> int + | + | set_reg1(self, *args) + | set_reg1(self, r1) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vdloc_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_typeinf.argloc_t: + | + | _consume_rrel(self, *args) + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) + | _set_badloc(self) + | + | _set_biggest(self, *args) + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) + | _set_ea(self, _ea) + | + | _set_reg2(self, *args) + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) + | _set_stkoff(self, off) + | + | advance(self, *args) + | advance(self, delta) -> bool + | + | atype(self, *args) + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) + | calc_offset(self) -> sval_t + | + | consume_rrel(self, *args) + | consume_rrel(self, p) + | + | consume_scattered(self, *args) + | consume_scattered(self, p) + | + | get_biggest(self, *args) + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) + | get_custom(self) -> void * + | + | get_ea(self, *args) + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) + | has_reg(self) -> bool + | + | has_stkoff(self, *args) + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) + | is_badloc(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_ea(self, *args) + | is_ea(self) -> bool + | + | is_fragmented(self, *args) + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_rrel(self, *args) + | is_rrel(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) + | justify_stkoff_right(self, size, _slotsize) + | + | reg2(self, *args) + | reg2(self) -> int + | + | regoff(self, *args) + | regoff(self) -> int + | + | scattered(self, *args) + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) + | set_badloc(self) + | + | set_ea(self, *args) + | set_ea(self, _ea) + | + | set_reg2(self, *args) + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) + | set_stkoff(self, off) + | + | stkoff(self, *args) + | stkoff(self) -> sval_t + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_typeinf.argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class vdui_t in module ida_hexrays: + +class vdui_t(__builtin__.object) + | Proxy of C++ vdui_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | calc_cmt_type(self, *args) + | calc_cmt_type(self, lnnum, cmttype) -> cmt_type_t + | + | clear(self, *args) + | clear(self) + | + | collapse_item(self, *args) + | collapse_item(self, hide) -> bool + | + | collapse_lvars(self, *args) + | collapse_lvars(self, hide) -> bool + | + | ctree_to_disasm(self, *args) + | ctree_to_disasm(self) -> bool + | + | del_orphan_cmts(self, *args) + | del_orphan_cmts(self) -> bool + | + | edit_cmt(self, *args) + | edit_cmt(self, loc) -> bool + | + | edit_func_cmt(self, *args) + | edit_func_cmt(self) -> bool + | + | get_current_item(self, *args) + | get_current_item(self, idv) -> bool + | + | get_current_label(self, *args) + | get_current_label(self) -> int + | + | get_number(self, *args) + | get_number(self) -> cnumber_t + | + | in_ctree(self, *args) + | in_ctree(self) -> bool + | + | invert_bits(self, *args) + | invert_bits(self) -> bool + | + | invert_sign(self, *args) + | invert_sign(self) -> bool + | + | jump_enter(self, *args) + | jump_enter(self, idv, omflags) -> bool + | + | locked(self, *args) + | locked(self) -> bool + | + | map_lvar(self, *args) + | map_lvar(self, frm, to) -> bool + | + | refresh_cpos(self, *args) + | refresh_cpos(self, idv) -> bool + | + | refresh_ctext(self, *args) + | refresh_ctext(self, activate=True) + | + | refresh_view(self, *args) + | refresh_view(self, redo_mba) + | + | rename_global(self, *args) + | rename_global(self, ea) -> bool + | + | rename_label(self, *args) + | rename_label(self, label) -> bool + | + | rename_lvar(self, *args) + | rename_lvar(self, v, name, is_user_name) -> bool + | + | rename_strmem(self, *args) + | rename_strmem(self, sptr, mptr) -> bool + | + | set_global_type(self, *args) + | set_global_type(self, ea) -> bool + | + | set_locked(self, *args) + | set_locked(self, v) -> bool + | + | set_lvar_cmt(self, *args) + | set_lvar_cmt(self, v, cmt) -> bool + | + | set_lvar_type(self, *args) + | set_lvar_type(self, v, type) -> bool + | + | set_noptr_lvar(self, *args) + | set_noptr_lvar(self, v) -> bool + | + | set_num_enum(self, *args) + | set_num_enum(self) -> bool + | + | set_num_radix(self, *args) + | set_num_radix(self, base) -> bool + | + | set_num_stroff(self, *args) + | set_num_stroff(self) -> bool + | + | set_strmem_type(self, *args) + | set_strmem_type(self, sptr, mptr) -> bool + | + | set_valid(self, *args) + | set_valid(self, v) + | + | set_visible(self, *args) + | set_visible(self, v) + | + | split_item(self, *args) + | split_item(self, split) -> bool + | + | switch_to(self, *args) + | switch_to(self, f, activate) + | + | ui_edit_lvar_cmt(self, *args) + | ui_edit_lvar_cmt(self, v) -> bool + | + | ui_map_lvar(self, *args) + | ui_map_lvar(self, v) -> bool + | + | ui_rename_lvar(self, *args) + | ui_rename_lvar(self, v) -> bool + | + | ui_set_call_type(self, *args) + | ui_set_call_type(self, e) -> bool + | + | ui_set_lvar_type(self, *args) + | ui_set_lvar_type(self, v) -> bool + | + | ui_unmap_lvar(self, *args) + | ui_unmap_lvar(self, v) -> bool + | + | valid(self, *args) + | valid(self) -> bool + | + | visible(self, *args) + | visible(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cfunc + | vdui_t_cfunc_get(self) -> cfuncptr_t + | + | cpos + | vdui_t_cpos_get(self) -> ctext_position_t + | + | ct + | vdui_t_ct_get(self) -> TWidget * + | + | flags + | vdui_t_flags_get(self) -> int + | + | head + | vdui_t_head_get(self) -> ctree_item_t + | + | item + | vdui_t_item_get(self) -> ctree_item_t + | + | last_code + | vdui_t_last_code_get(self) -> merror_t + | + | mba + | vdui_t_mba_get(self) -> mbl_array_t + | + | tail + | vdui_t_tail_get(self) -> ctree_item_t + | + | thisown + | The membership flag + | + | toplevel + | vdui_t_toplevel_get(self) -> TWidget * + | + | view_idx + | vdui_t_view_idx_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vdui_t(self) + +Help on class vivl_t in module ida_hexrays: + +class vivl_t(voff_t) + | Proxy of C++ vivl_t class. + | + | Method resolution order: + | vivl_t + | voff_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | __eq__(self, mop) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _type=mop_z, _off=-1, _size=0) -> vivl_t + | __init__(self, ch) -> vivl_t + | __init__(self, op) -> vivl_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, voff2) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | extend_to_cover(self, *args) + | extend_to_cover(self, r) -> bool + | + | includes(self, *args) + | includes(self, r) -> bool + | + | intersect(self, *args) + | intersect(self, r) -> uval_t + | + | overlap(self, *args) + | overlap(self, r) -> bool + | + | set(self, *args) + | set(self, _type, _off, _size=0) + | set(self, voff, _size) + | + | set_reg(self, *args) + | set_reg(self, mreg, sz=0) + | + | set_stkoff(self, *args) + | set_stkoff(self, stkoff, sz=0) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | size + | vivl_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_vivl_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from voff_t: + | + | add(self, *args) + | add(self, width) -> voff_t + | + | defined(self, *args) + | defined(self) -> bool + | + | diff(self, *args) + | diff(self, r) -> sval_t + | + | get_reg(self, *args) + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) + | get_stkoff(self) -> sval_t + | + | inc(self, *args) + | inc(self, delta) + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | undef(self, *args) + | undef(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from voff_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | voff_t_off_get(self) -> sval_t + | + | type + | voff_t_type_get(self) -> mopt_t + +Help on class voff_t in module ida_hexrays: + +class voff_t(__builtin__.object) + | Proxy of C++ voff_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> voff_t + | __init__(self, _type, _off) -> voff_t + | __init__(self, op) -> voff_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | add(self, *args) + | add(self, width) -> voff_t + | + | compare(self, *args) + | compare(self, r) -> int + | + | defined(self, *args) + | defined(self) -> bool + | + | diff(self, *args) + | diff(self, r) -> sval_t + | + | get_reg(self, *args) + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) + | get_stkoff(self) -> sval_t + | + | inc(self, *args) + | inc(self, delta) + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | set(self, *args) + | set(self, _type, _off) + | + | set_reg(self, *args) + | set_reg(self, mreg) + | + | set_stkoff(self, *args) + | set_stkoff(self, stkoff) + | + | undef(self, *args) + | undef(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | voff_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | type + | voff_t_type_get(self) -> mopt_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_voff_t(self) + +=== ida_hexrays EPYDOC INJECTIONS === +ida_hexrays.ACFL_BLKOPT +""" +perform interblock transformations +""" + +ida_hexrays.ACFL_GLBDEL +""" +perform dead code eliminition +""" + +ida_hexrays.ACFL_GLBPROP +""" +perform global propagation +""" + +ida_hexrays.ACFL_GUESS +""" +may guess calling conventions +""" + +ida_hexrays.ACFL_LOCOPT +""" +perform local propagation (requires ACFL_BLKOPT) +""" + +ida_hexrays.ANCHOR_BLKCMT +""" +block comment (for ctree items) +""" + +ida_hexrays.ANCHOR_CITEM +""" +c-tree item +""" + +ida_hexrays.ANCHOR_ITP +""" +item type preciser +""" + +ida_hexrays.ANCHOR_LVAR +""" +declaration of local variable +""" + +ida_hexrays.CFL_FINAL +""" +call type is final, should not be changed +""" + +ida_hexrays.CFL_HELPER +""" +created from a decompiler helper function +""" + +ida_hexrays.CFS_BOUNDS +""" +'eamap' and 'boundaries' are ready +""" + +ida_hexrays.CFS_LVARS_HIDDEN +""" +local variable definitions are collapsed +""" + +ida_hexrays.CFS_TEXT +""" +'sv' is ready (and hdrlines) +""" + +ida_hexrays.CHF_FAKE +""" +fake chain created by widen_chains() +""" + +ida_hexrays.CHF_INITED +""" +is chain initialized? (valid only after lvar allocation) +""" + +ida_hexrays.CHF_OVER +""" +overlapped chain +""" + +ida_hexrays.CHF_PASSTHRU +""" +pass-thru chain, must use the input variable to the block +""" + +ida_hexrays.CHF_REPLACED +""" +chain operands have been replaced? +""" + +ida_hexrays.CHF_TERM +""" +terminating chain; the variable does not survive across the block +""" + +ida_hexrays.CIT_COLLAPSED +""" +display element in collapsed form +""" + +ida_hexrays.CPBLK_FAST +""" +do not update minbstkref and minbargref +""" + +ida_hexrays.CPBLK_MINREF +""" +update minbstkref and minbargref +""" + +ida_hexrays.CPBLK_OPTJMP +""" +if it becomes useless + +del the jump insn at the end of the block +""" + +ida_hexrays.CV_FAST +""" +do not maintain parent information +""" + +ida_hexrays.CV_INSNS +""" +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. +""" + +ida_hexrays.CV_PARENTS +""" +maintain parent information +""" + +ida_hexrays.CV_POST +""" +call the leave...() functions +""" + +ida_hexrays.CV_PRUNE +""" +this bit is set by visit...() to prune the walk +""" + +ida_hexrays.CV_RESTART +""" +restart enumeration at the top expr (apply_to_exprs) +""" + +ida_hexrays.DECOMP_ALL_BLKS +""" +generate microcode for unreachable blocks +""" + +ida_hexrays.DECOMP_NO_CACHE +""" +do not use decompilation cache +""" + +ida_hexrays.DECOMP_NO_FRAME +""" +do not use function frame info (only snippet mode) +""" + +ida_hexrays.DECOMP_NO_WAIT +""" +do not display waitbox +""" + +ida_hexrays.DECOMP_WARNINGS +""" +display warnings in the output window +""" + +ida_hexrays.EQ_CMPDEST +""" +compare instruction destinations +""" + +ida_hexrays.EQ_IGNCODE +""" +ignore instruction opcodes +""" + +ida_hexrays.EQ_IGNSIZE +""" +ignore operand sizes +""" + +ida_hexrays.EQ_OPTINSN +""" +optimize mop_d operands +""" + +ida_hexrays.EXFL_ALL +""" +all currently defined bits +""" + +ida_hexrays.EXFL_ALONE +""" +standalone helper +""" + +ida_hexrays.EXFL_CPADONE +""" +pointer arithmetic correction done +""" + +ida_hexrays.EXFL_CSTR +""" +string literal +""" + +ida_hexrays.EXFL_FPOP +""" +floating point operation +""" + +ida_hexrays.EXFL_JUMPOUT +""" +jump out-of-function +""" + +ida_hexrays.EXFL_LVALUE +""" +expression is lvalue even if it doesn't look like it +""" + +ida_hexrays.EXFL_PARTIAL +""" +type of the expression is considered partial +""" + +ida_hexrays.EXFL_UNDEF +""" +expression uses undefined value +""" + +ida_hexrays.EXFL_VFTABLE +""" +is ptr to vftable (used for cot_memptr, cot_memref) +""" + +ida_hexrays.FCI_DEAD +""" +some return registers were determined dead +""" + +ida_hexrays.FCI_FINAL +""" +call type is final, should not be changed +""" + +ida_hexrays.FCI_HASCALL +""" +A function is an synthetic helper combined from several instructions +and at least one of them was a call to a real functions +""" + +ida_hexrays.FCI_HASFMT +""" +printf- or scanf-style format string + +A variadic function with recognized +""" + +ida_hexrays.FCI_NORET +""" +call does not return +""" + +ida_hexrays.FCI_NOSIDE +""" +call does not have side effects +""" + +ida_hexrays.FCI_PROP +""" +call has been propagated +""" + +ida_hexrays.FCI_PURE +""" +pure function +""" + +ida_hexrays.FCI_SPLOK +""" +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. +""" + +ida_hexrays.FD_BACKWARD +""" +search direction +""" + +ida_hexrays.FD_DEF +""" +look for definition +""" + +ida_hexrays.FD_DIRTY +""" +by function calls and indirect memory access + +ignore possible implicit definitions +""" + +ida_hexrays.FD_FORWARD +""" +search direction +""" + +ida_hexrays.FD_USE +""" +look for use +""" + +ida_hexrays.GCA_ALLOC +""" +enumerate only allocated chains +""" + +ida_hexrays.GCA_EMPTY +""" +include empty chains +""" + +ida_hexrays.GCA_NALLOC +""" +enumerate only non-allocated chains +""" + +ida_hexrays.GCA_OFIRST +""" +consider only chains of the first block +""" + +ida_hexrays.GCA_OLAST +""" +consider only chains of the last block +""" + +ida_hexrays.GCA_SPEC +""" +include chains for special registers +""" + +ida_hexrays.GCO_DEF +""" +is destination operand? +""" + +ida_hexrays.GCO_REG +""" +is register? otherwise a stack variable +""" + +ida_hexrays.GCO_STK +""" +a stack variable +""" + +ida_hexrays.GCO_USE +""" +is source operand? +""" + +ida_hexrays.GLN_ALL +""" +get both +""" + +ida_hexrays.GLN_CURRENT +""" +get label of the current item +""" + +ida_hexrays.GLN_GOTO_TARGET +""" +get goto target +""" + +ida_hexrays.IPROP_ASSERT +""" +assertion: usually mov #val, op. assertions are used to help the +optimizer. assertions are ignored when generating ctree +""" + +ida_hexrays.IPROP_CLNPOP +""" +(e.g. "pop ecx" is often used for that) + +the purpose of the instruction is to clean stack +""" + +ida_hexrays.IPROP_COMBINED +""" +insn has been modified because of a partial reference +""" + +ida_hexrays.IPROP_DONT_COMB +""" +may not combine this instruction with others +""" + +ida_hexrays.IPROP_DONT_PROP +""" +may not propagate +""" + +ida_hexrays.IPROP_EXTSTX +""" +this is m_ext propagated into m_stx +""" + +ida_hexrays.IPROP_FARCALL +""" +call of a far function using push cs/call sequence +""" + +ida_hexrays.IPROP_FPINSN +""" +floating point insn +""" + +ida_hexrays.IPROP_IGNLOWSRC +""" +low part of the instruction source operand has been created +artificially (this bit is used only for 'and x, 80...') +""" + +ida_hexrays.IPROP_INV_JX +""" +inverted conditional jump +""" + +ida_hexrays.IPROP_MBARRIER +""" +(instructions accessing memory may not be reordered past it) + +this instruction acts as a memory barrier +""" + +ida_hexrays.IPROP_MULTI_MOV +""" +(example: STM on ARM may transfer multiple registers) + +the minsn was generated as part of insn that moves multiple +registersbits that can be set by plugins: +""" + +ida_hexrays.IPROP_OPTIONAL +""" +optional instruction +""" + +ida_hexrays.IPROP_PERSIST +""" +persistent insn; they are not destroyed +""" + +ida_hexrays.IPROP_SPLIT +""" +the instruction has been split: +""" + +ida_hexrays.IPROP_SPLIT1 +""" +into 1 byte +""" + +ida_hexrays.IPROP_SPLIT2 +""" +into 2 bytes +""" + +ida_hexrays.IPROP_SPLIT4 +""" +into 4 bytes +""" + +ida_hexrays.IPROP_SPLIT8 +""" +into 8 bytes +""" + +ida_hexrays.IPROP_TAILCALL +""" +tail call +""" + +ida_hexrays.IPROP_WAS_NORET +""" +was noret icall +""" + +ida_hexrays.IPROP_WILDMATCH +""" +match multiple insns +""" + +ida_hexrays.LOCOPT_ALL +""" +is not set, only dirty blocks will be optimized + +redo optimization for all blocks. if this bit +""" + +ida_hexrays.LOCOPT_REFINE +""" +refine return type, ok to fail +""" + +ida_hexrays.LOCOPT_REFINE2 +""" +refine return type, try harder +""" + +ida_hexrays.LVINF_FORCE +""" +force allocation of a new variable. forces the decompiler to create a +new variable at ll.defea +""" + +ida_hexrays.LVINF_KEEP +""" +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. +""" + +ida_hexrays.LVINF_NOMAP +""" +forbid automatic mapping of the variable +""" + +ida_hexrays.LVINF_NOPTR +""" +variable type should not be a pointer +""" + +ida_hexrays.MBA_ASRPROP +""" +assertion have been propagated +""" + +ida_hexrays.MBA_ASRTOK +""" +assertions have been generated +""" + +ida_hexrays.MBA_CALLS +""" +callinfo has been built +""" + +ida_hexrays.MBA_CHVARS +""" +can verify chain varnums +""" + +ida_hexrays.MBA_CMBBLK +""" +request to combine blocks +""" + +ida_hexrays.MBA_CMNSTK +""" +stkvars+stkargs should be considered as one area +""" + +ida_hexrays.MBA_COLGDL +""" +display graph after each reduction +""" + +ida_hexrays.MBA_DELPAIRS +""" +pairs have been deleted once +""" + +ida_hexrays.MBA_GLBOPT +""" +microcode has been optimized globally +""" + +ida_hexrays.MBA_INSGDL +""" +display instruction in graphs +""" + +ida_hexrays.MBA_LOADED +""" +loaded gdl, no instructions (debugging) +""" + +ida_hexrays.MBA_LVARS0 +""" +lvar pre-allocation has been performed +""" + +ida_hexrays.MBA_LVARS1 +""" +lvar real allocation has been performed +""" + +ida_hexrays.MBA_NICE +""" +apply transformations to c code +""" + +ida_hexrays.MBA_NOFUNC +""" +function is not present, addresses might be wrong +""" + +ida_hexrays.MBA_NUMADDR +""" +display definition addresses for numbers +""" + +ida_hexrays.MBA_PASSREGS +""" +has 'mcallinfo_t::pass_regs' +""" + +ida_hexrays.MBA_PATTERN +""" +microcode pattern, callinfo is present +""" + +ida_hexrays.MBA_PRCDEFS +""" +use precise defeas for chain-allocated lvars +""" + +ida_hexrays.MBA_PREOPT +""" +preoptimization stage complete +""" + +ida_hexrays.MBA_REFINE +""" +may refine return value size +""" + +ida_hexrays.MBA_RETFP +""" +function returns floating point value +""" + +ida_hexrays.MBA_RETREF +""" +return type has been refined +""" + +ida_hexrays.MBA_SAVRST +""" +save-restore analysis has been performed +""" + +ida_hexrays.MBA_SHORT +""" +use short display +""" + +ida_hexrays.MBA_SPLINFO +""" +(final_type ? idb_spoiled : spoiled_regs) is valid +""" + +ida_hexrays.MBA_THUNK +""" +thunk function +""" + +ida_hexrays.MBA_VALNUM +""" +display value numbers +""" + +ida_hexrays.MBA_WINGR32 +""" +use wingraph32 +""" + +ida_hexrays.MBL_BACKPROP +""" +performed backprop_cc +""" + +ida_hexrays.MBL_CALL +""" +call information has been built +""" + +ida_hexrays.MBL_COMB +""" +needs "combine" pass +""" + +ida_hexrays.MBL_DEAD +""" +needs "eliminate deads" pass +""" + +ida_hexrays.MBL_DMT64 +""" +needs "demote 64bits" +""" + +ida_hexrays.MBL_DSLOT +""" +block for delay slot +""" + +ida_hexrays.MBL_FAKE +""" +fake block (after a tail call) +""" + +ida_hexrays.MBL_GOTO +""" +this block is a goto target +""" + +ida_hexrays.MBL_INCONST +""" +inconsistent lists: we are building them +""" + +ida_hexrays.MBL_LIST +""" +use/def lists are ready (not dirty) +""" + +ida_hexrays.MBL_NONFAKE +""" +regular block +""" + +ida_hexrays.MBL_NORET +""" +dead end block: doesn't return execution control +""" + +ida_hexrays.MBL_PRIV +""" +the specified are accepted (used in patterns) + +private block - no instructions except +""" + +ida_hexrays.MBL_PROP +""" +needs 'propagation' pass +""" + +ida_hexrays.MBL_PUSH +""" +needs "convert push/pop instructions" +""" + +ida_hexrays.MBL_TCAL +""" +aritifical call block for tail calls +""" + +ida_hexrays.MBL_VALRANGES +""" +should optimize using value ranges +""" + +ida_hexrays.MLI_CLR_FLAGS +""" +clear LVINF_... bits +""" + +ida_hexrays.MLI_CMT +""" +apply lvar comment +""" + +ida_hexrays.MLI_NAME +""" +apply lvar name +""" + +ida_hexrays.MLI_SET_FLAGS +""" +set LVINF_... bits +""" + +ida_hexrays.MLI_TYPE +""" +apply lvar type +""" + +ida_hexrays.NALT_VD +""" +this index is not used by ida +""" + +ida_hexrays.NF_BINVDONE +""" +temporary internal bit: inverting bits is done +""" + +ida_hexrays.NF_BITNOT +""" +The user asked to invert bits of the constant. +""" + +ida_hexrays.NF_FIXED +""" +number format has been defined by the user +""" + +ida_hexrays.NF_NEGATE +""" +The user asked to negate the constant. +""" + +ida_hexrays.NF_NEGDONE +""" +temporary internal bit: negation has been performed +""" + +ida_hexrays.NF_STROFF +""" +internal bit: used as stroff, valid iff 'is_stroff()' +""" + +ida_hexrays.OPROP_CCFLAGS +""" +condition codes register value +""" + +ida_hexrays.OPROP_FLOAT +""" +possibly floating value +""" + +ida_hexrays.OPROP_IMPDONE +""" +imported operand (a pointer) has been dereferenced +""" + +ida_hexrays.OPROP_UDEFVAL +""" +uses undefined value +""" + +ida_hexrays.OPROP_UDT +""" +a struct or union +""" + +ida_hexrays.OPTI_ADDREXPRS +""" +optimize all address expressions (&x+N; &x-&y) +""" + +ida_hexrays.OPTI_COMBINSNS +""" +may combine insns (only for optimize_insn) +""" + +ida_hexrays.OPTI_MINSTKREF +""" +may update minstkref +""" + +ida_hexrays.OPTI_NO_LDXOPT +""" +do not optimize low/high(ldx) +""" + +ida_hexrays.SHINS_LDXEA +""" +display address of ldx expressions (not used) +""" + +ida_hexrays.SHINS_NUMADDR +""" +display definition addresses for numbers +""" + +ida_hexrays.SHINS_SHORT +""" +do not display use-def chains and other attrs +""" + +ida_hexrays.SHINS_VALNUM +""" +display value numbers +""" + +ida_hexrays.ULV_PRECISE_DEFEA +""" +Use precise defea's for lvar locations. +""" + +ida_hexrays.VDRUN_APPEND +""" +Create a new file or append to existing file. +""" + +ida_hexrays.VDRUN_CMDLINE +""" +Called from ida's command line. +""" + +ida_hexrays.VDRUN_LUMINA +""" +Use lumina server. +""" + +ida_hexrays.VDRUN_MAYSTOP +""" +The user can cancel decompilation. +""" + +ida_hexrays.VDRUN_NEWFILE +""" +Create a new file or overwrite existing file. +""" + +ida_hexrays.VDRUN_ONLYNEW +""" +Fail if output file already exists. +""" + +ida_hexrays.VDRUN_SENDIDB +""" +Send problematic databases to hex-rays.com. +""" + +ida_hexrays.VDRUN_SILENT +""" +Silent decompilation. +""" + +ida_hexrays.VDRUN_STATS +""" +Print statistics into vd_stats.txt. +""" + +ida_hexrays.VDUI_LOCKED +""" +is locked? +""" + +ida_hexrays.VDUI_VALID +""" +is valid? +""" + +ida_hexrays.VDUI_VISIBLE +""" +is visible? +""" + +ida_hexrays.VR_AT_END +""" +get value ranges after the instruction or at the block end, just after +the last instruction (if M is NULL) +""" + +ida_hexrays.VR_AT_START +""" +at the block start (if M is NULL) + +get value ranges before the instruction or +""" + +ida_hexrays.VR_EXACT +""" +valrng size will be >= vivl.size + +find exact match. if not set, the returned +""" +=== ida_hexrays EPYDOC INJECTIONS END === +Help on function __make_idainfo_accessors in module ida_ida: + +__make_idainfo_accessors(attr, getter_name=None, setter_name=None) + +Help on function __make_idainfo_bound in module ida_ida: + +__make_idainfo_bound(func, attr) + # + +Help on function __make_idainfo_getter in module ida_ida: + +__make_idainfo_getter(name) + +Help on function calc_default_idaplace_flags in module ida_ida: + +calc_default_idaplace_flags(*args) + calc_default_idaplace_flags() -> int + + + Get default disassembly line options. + +Help on class compiler_info_t in module ida_ida: + +class compiler_info_t(__builtin__.object) + | Proxy of C++ compiler_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> compiler_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cm + | compiler_info_t_cm_get(self) -> cm_t + | + | defalign + | compiler_info_t_defalign_get(self) -> uchar + | + | id + | compiler_info_t_id_get(self) -> comp_t + | + | size_b + | compiler_info_t_size_b_get(self) -> uchar + | + | size_e + | compiler_info_t_size_e_get(self) -> uchar + | + | size_i + | compiler_info_t_size_i_get(self) -> uchar + | + | size_l + | compiler_info_t_size_l_get(self) -> uchar + | + | size_ldbl + | compiler_info_t_size_ldbl_get(self) -> uchar + | + | size_ll + | compiler_info_t_size_ll_get(self) -> uchar + | + | size_s + | compiler_info_t_size_s_get(self) -> uchar + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_compiler_info_t(self) + +Help on class idainfo in module ida_ida: + +class idainfo(__builtin__.object) + | Proxy of C++ idainfo class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | big_arg_align = __func(self, *args) + | + | gen_lzero = __func(self, *args) + | + | gen_null = __func(self, *args) + | + | gen_tryblks = __func(self, *args) + | + | get_abiname(self, *args) + | get_abiname(self) -> qstring + | + | get_demname_form = __func(self, *args) + | + | get_maxEA(self, *args) + | get_maxEA(self) -> ea_t + | + | get_minEA(self, *args) + | get_minEA(self) -> ea_t + | + | get_pack_mode = __func(self, *args) + | + | get_procName(self, *args) + | get_procName(self) -> qstring + | + | is_32bit = __func(self, *args) + | + | is_64bit = __func(self, *args) + | + | is_auto_enabled = __func(self, *args) + | + | is_be = __func(self, *args) + | + | is_dll = __func(self, *args) + | + | is_flat_off32 = __func(self, *args) + | + | is_graph_view = __func(self, *args) + | + | is_hard_float = __func(self, *args) + | + | is_kernel_mode = __func(self, *args) + | + | is_mem_aligned4 = __func(self, *args) + | + | is_snapshot = __func(self, *args) + | + | is_wide_high_byte_first = __func(self, *args) + | + | like_binary = __func(self, *args) + | + | line_pref_with_seg = __func(self, *args) + | + | loading_idc = __func(self, *args) + | + | map_stkargs = __func(self, *args) + | + | pack_stkargs = __func(self, *args) + | + | readonly_idb = __func(self, *args) + | + | set_64bit = __func(self, *args) + | + | set_auto_enabled = __func(self, *args) + | + | set_be = __func(self, *args) + | + | set_gen_lzero = __func(self, *args) + | + | set_gen_null = __func(self, *args) + | + | set_gen_tryblks = __func(self, *args) + | + | set_graph_view = __func(self, *args) + | + | set_line_pref_with_seg = __func(self, *args) + | + | set_maxEA(self, *args) + | set_maxEA(self, ea) + | + | set_minEA(self, *args) + | set_minEA(self, ea) + | + | set_pack_mode = __func(self, *args) + | + | set_show_auto = __func(self, *args) + | + | set_show_line_pref = __func(self, *args) + | + | set_show_void = __func(self, *args) + | + | set_wide_high_byte_first = __func(self, *args) + | + | show_auto = __func(self, *args) + | + | show_line_pref = __func(self, *args) + | + | show_void = __func(self, *args) + | + | stack_ldbl = __func(self, *args) + | + | stack_varargs = __func(self, *args) + | + | use_allasm = __func(self, *args) + | + | use_gcc_layout = __func(self, *args) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | abibits + | idainfo_abibits_get(self) -> uint32 + | + | abiname + | get_abiname(self) -> qstring + | + | af + | idainfo_af_get(self) -> uint32 + | + | af2 + | idainfo_af2_get(self) -> uint32 + | + | appcall_options + | idainfo_appcall_options_get(self) -> uint32 + | + | apptype + | idainfo_apptype_get(self) -> ushort + | + | asmtype + | idainfo_asmtype_get(self) -> uchar + | + | baseaddr + | idainfo_baseaddr_get(self) -> uval_t + | + | bin_prefix_size + | idainfo_bin_prefix_size_get(self) -> short + | + | cc + | idainfo_cc_get(self) -> compiler_info_t + | + | comment + | idainfo_comment_get(self) -> uchar + | + | database_change_count + | idainfo_database_change_count_get(self) -> uint32 + | + | datatypes + | idainfo_datatypes_get(self) -> uval_t + | + | demnames + | idainfo_demnames_get(self) -> uchar + | + | filetype + | idainfo_filetype_get(self) -> ushort + | + | highoff + | idainfo_highoff_get(self) -> ea_t + | + | indent + | idainfo_indent_get(self) -> uchar + | + | lenxref + | idainfo_lenxref_get(self) -> ushort + | + | lflags + | idainfo_lflags_get(self) -> uint32 + | + | listnames + | idainfo_listnames_get(self) -> uchar + | + | long_demnames + | idainfo_long_demnames_get(self) -> uint32 + | + | lowoff + | idainfo_lowoff_get(self) -> ea_t + | + | main + | idainfo_main_get(self) -> ea_t + | + | margin + | idainfo_margin_get(self) -> ushort + | + | maxEA + | get_maxEA(self) -> ea_t + | + | max_autoname_len + | idainfo_max_autoname_len_get(self) -> ushort + | + | max_ea + | idainfo_max_ea_get(self) -> ea_t + | + | maxref + | idainfo_maxref_get(self) -> uval_t + | + | minEA + | get_minEA(self) -> ea_t + | + | min_ea + | idainfo_min_ea_get(self) -> ea_t + | + | nametype + | idainfo_nametype_get(self) -> char + | + | omax_ea + | idainfo_omax_ea_get(self) -> ea_t + | + | omin_ea + | idainfo_omin_ea_get(self) -> ea_t + | + | ostype + | idainfo_ostype_get(self) -> ushort + | + | outflags + | idainfo_outflags_get(self) -> uint32 + | + | procName + | get_procName(self) -> qstring + | + | procname + | idainfo_procname_get(self) -> char [16] + | + | refcmtnum + | idainfo_refcmtnum_get(self) -> uchar + | + | s_cmtflg + | idainfo_s_cmtflg_get(self) -> uchar + | + | s_genflags + | idainfo_s_genflags_get(self) -> ushort + | + | s_limiter + | idainfo_s_limiter_get(self) -> uchar + | + | s_prefflag + | idainfo_s_prefflag_get(self) -> uchar + | + | s_xrefflag + | idainfo_s_xrefflag_get(self) -> uchar + | + | short_demnames + | idainfo_short_demnames_get(self) -> uint32 + | + | specsegs + | idainfo_specsegs_get(self) -> uchar + | + | start_cs + | idainfo_start_cs_get(self) -> sel_t + | + | start_ea + | idainfo_start_ea_get(self) -> ea_t + | + | start_ip + | idainfo_start_ip_get(self) -> ea_t + | + | start_sp + | idainfo_start_sp_get(self) -> ea_t + | + | start_ss + | idainfo_start_ss_get(self) -> sel_t + | + | strlit_break + | idainfo_strlit_break_get(self) -> uchar + | + | strlit_flags + | idainfo_strlit_flags_get(self) -> uchar + | + | strlit_pref + | idainfo_strlit_pref_get(self) -> char [16] + | + | strlit_sernum + | idainfo_strlit_sernum_get(self) -> uval_t + | + | strlit_zeroes + | idainfo_strlit_zeroes_get(self) -> char + | + | strtype + | idainfo_strtype_get(self) -> int32 + | + | tag + | idainfo_tag_get(self) -> char [3] + | + | thisown + | The membership flag + | + | type_xrefnum + | idainfo_type_xrefnum_get(self) -> uchar + | + | version + | idainfo_version_get(self) -> ushort + | + | xrefnum + | idainfo_xrefnum_get(self) -> uchar + +Help on function inf_big_arg_align in module ida_ida: + +inf_big_arg_align(*args) + inf_big_arg_align() -> bool + +Help on function inf_gen_lzero in module ida_ida: + +inf_gen_lzero(*args) + inf_gen_lzero() -> bool + +Help on function inf_gen_null in module ida_ida: + +inf_gen_null(*args) + inf_gen_null() -> bool + +Help on function inf_gen_tryblks in module ida_ida: + +inf_gen_tryblks(*args) + inf_gen_tryblks() -> bool + +Help on function inf_get_demname_form in module ida_ida: + +inf_get_demname_form(*args) + inf_get_demname_form() -> uchar + + + Get 'DEMNAM_MASK' bits of #demnames. + +Help on function inf_get_pack_mode in module ida_ida: + +inf_get_pack_mode(*args) + inf_get_pack_mode() -> int + +Help on function inf_is_32bit in module ida_ida: + +inf_is_32bit(*args) + inf_is_32bit() -> bool + +Help on function inf_is_64bit in module ida_ida: + +inf_is_64bit(*args) + inf_is_64bit() -> bool + +Help on function inf_is_auto_enabled in module ida_ida: + +inf_is_auto_enabled(*args) + inf_is_auto_enabled() -> bool + +Help on function inf_is_be in module ida_ida: + +inf_is_be(*args) + inf_is_be() -> bool + +Help on function inf_is_dll in module ida_ida: + +inf_is_dll(*args) + inf_is_dll() -> bool + +Help on function inf_is_flat_off32 in module ida_ida: + +inf_is_flat_off32(*args) + inf_is_flat_off32() -> bool + +Help on function inf_is_graph_view in module ida_ida: + +inf_is_graph_view(*args) + inf_is_graph_view() -> bool + +Help on function inf_is_hard_float in module ida_ida: + +inf_is_hard_float(*args) + inf_is_hard_float() -> bool + +Help on function inf_is_kernel_mode in module ida_ida: + +inf_is_kernel_mode(*args) + inf_is_kernel_mode() -> bool + +Help on function inf_is_mem_aligned4 in module ida_ida: + +inf_is_mem_aligned4(*args) + inf_is_mem_aligned4() -> bool + +Help on function inf_is_snapshot in module ida_ida: + +inf_is_snapshot(*args) + inf_is_snapshot() -> bool + +Help on function inf_is_wide_high_byte_first in module ida_ida: + +inf_is_wide_high_byte_first(*args) + inf_is_wide_high_byte_first() -> bool + +Help on function inf_like_binary in module ida_ida: + +inf_like_binary(*args) + inf_like_binary() -> bool + +Help on function inf_line_pref_with_seg in module ida_ida: + +inf_line_pref_with_seg(*args) + inf_line_pref_with_seg() -> bool + +Help on function inf_loading_idc in module ida_ida: + +inf_loading_idc(*args) + inf_loading_idc() -> bool + +Help on function inf_map_stkargs in module ida_ida: + +inf_map_stkargs(*args) + inf_map_stkargs() -> bool + +Help on function inf_pack_stkargs in module ida_ida: + +inf_pack_stkargs(*args) + inf_pack_stkargs() -> bool + +Help on function inf_readonly_idb in module ida_ida: + +inf_readonly_idb(*args) + inf_readonly_idb() -> bool + +Help on function inf_set_64bit in module ida_ida: + +inf_set_64bit(*args) + inf_set_64bit(_v=True) -> bool + +Help on function inf_set_auto_enabled in module ida_ida: + +inf_set_auto_enabled(*args) + inf_set_auto_enabled(_v=True) -> bool + +Help on function inf_set_be in module ida_ida: + +inf_set_be(*args) + inf_set_be(_v=True) -> bool + +Help on function inf_set_gen_lzero in module ida_ida: + +inf_set_gen_lzero(*args) + inf_set_gen_lzero(_v=True) -> bool + +Help on function inf_set_gen_null in module ida_ida: + +inf_set_gen_null(*args) + inf_set_gen_null(_v=True) -> bool + +Help on function inf_set_gen_tryblks in module ida_ida: + +inf_set_gen_tryblks(*args) + inf_set_gen_tryblks(_v=True) -> bool + +Help on function inf_set_graph_view in module ida_ida: + +inf_set_graph_view(*args) + inf_set_graph_view(_v=True) -> bool + +Help on function inf_set_line_pref_with_seg in module ida_ida: + +inf_set_line_pref_with_seg(*args) + inf_set_line_pref_with_seg(_v=True) -> bool + +Help on function inf_set_pack_mode in module ida_ida: + +inf_set_pack_mode(*args) + inf_set_pack_mode(pack_mode) -> int + +Help on function inf_set_show_auto in module ida_ida: + +inf_set_show_auto(*args) + inf_set_show_auto(_v=True) -> bool + +Help on function inf_set_show_line_pref in module ida_ida: + +inf_set_show_line_pref(*args) + inf_set_show_line_pref(_v=True) -> bool + +Help on function inf_set_show_void in module ida_ida: + +inf_set_show_void(*args) + inf_set_show_void(_v=True) -> bool + +Help on function in module ida_ida: + + lambda *args + +Help on function inf_set_wide_high_byte_first in module ida_ida: + +inf_set_wide_high_byte_first(*args) + inf_set_wide_high_byte_first(_v=True) -> bool + +Help on function inf_show_auto in module ida_ida: + +inf_show_auto(*args) + inf_show_auto() -> bool + +Help on function inf_show_line_pref in module ida_ida: + +inf_show_line_pref(*args) + inf_show_line_pref() -> bool + +Help on function inf_show_void in module ida_ida: + +inf_show_void(*args) + inf_show_void() -> bool + +Help on function inf_stack_ldbl in module ida_ida: + +inf_stack_ldbl(*args) + inf_stack_ldbl() -> bool + +Help on function inf_stack_varargs in module ida_ida: + +inf_stack_varargs(*args) + inf_stack_varargs() -> bool + +Help on function inf_use_allasm in module ida_ida: + +inf_use_allasm(*args) + inf_use_allasm() -> bool + +Help on function inf_use_gcc_layout in module ida_ida: + +inf_use_gcc_layout(*args) + inf_use_gcc_layout() -> bool + +Help on function inf_abi_set_by_user in module ida_ida: + +inf_abi_set_by_user(*args) + inf_abi_set_by_user() -> bool + +Help on function inf_allow_non_matched_ops in module ida_ida: + +inf_allow_non_matched_ops(*args) + inf_allow_non_matched_ops() -> bool + +Help on function inf_allow_sigmulti in module ida_ida: + +inf_allow_sigmulti(*args) + inf_allow_sigmulti() -> bool + +Help on function inf_append_sigcmt in module ida_ida: + +inf_append_sigcmt(*args) + inf_append_sigcmt() -> bool + +Help on function inf_check_manual_ops in module ida_ida: + +inf_check_manual_ops(*args) + inf_check_manual_ops() -> bool + +Help on function inf_check_unicode_strlits in module ida_ida: + +inf_check_unicode_strlits(*args) + inf_check_unicode_strlits() -> bool + +Help on function inf_coagulate_code in module ida_ida: + +inf_coagulate_code(*args) + inf_coagulate_code() -> bool + +Help on function inf_coagulate_data in module ida_ida: + +inf_coagulate_data(*args) + inf_coagulate_data() -> bool + +Help on function inf_compress_idb in module ida_ida: + +inf_compress_idb(*args) + inf_compress_idb() -> bool + +Help on function inf_create_all_xrefs in module ida_ida: + +inf_create_all_xrefs(*args) + inf_create_all_xrefs() -> bool + +Help on function inf_create_func_from_call in module ida_ida: + +inf_create_func_from_call(*args) + inf_create_func_from_call() -> bool + +Help on function inf_create_func_from_ptr in module ida_ida: + +inf_create_func_from_ptr(*args) + inf_create_func_from_ptr() -> bool + +Help on function inf_create_func_tails in module ida_ida: + +inf_create_func_tails(*args) + inf_create_func_tails() -> bool + +Help on function inf_create_jump_tables in module ida_ida: + +inf_create_jump_tables(*args) + inf_create_jump_tables() -> bool + +Help on function inf_create_off_on_dref in module ida_ida: + +inf_create_off_on_dref(*args) + inf_create_off_on_dref() -> bool + +Help on function inf_create_off_using_fixup in module ida_ida: + +inf_create_off_using_fixup(*args) + inf_create_off_using_fixup() -> bool + +Help on function inf_create_strlit_on_xref in module ida_ida: + +inf_create_strlit_on_xref(*args) + inf_create_strlit_on_xref() -> bool + +Help on function inf_data_offset in module ida_ida: + +inf_data_offset(*args) + inf_data_offset() -> bool + +Help on function inf_dbg_no_store_path in module ida_ida: + +inf_dbg_no_store_path(*args) + inf_dbg_no_store_path() -> bool + +Help on function inf_decode_fpp in module ida_ida: + +inf_decode_fpp(*args) + inf_decode_fpp() -> bool + +Help on function inf_del_no_xref_insns in module ida_ida: + +inf_del_no_xref_insns(*args) + inf_del_no_xref_insns() -> bool + +Help on function inf_final_pass in module ida_ida: + +inf_final_pass(*args) + inf_final_pass() -> bool + +Help on function inf_full_sp_ana in module ida_ida: + +inf_full_sp_ana(*args) + inf_full_sp_ana() -> bool + +Help on function inf_gen_assume in module ida_ida: + +inf_gen_assume(*args) + inf_gen_assume() -> bool + +Help on function inf_gen_org in module ida_ida: + +inf_gen_org(*args) + inf_gen_org() -> bool + +Help on function inf_get_abibits in module ida_ida: + +inf_get_abibits(*args) + inf_get_abibits() -> uint32 + +Help on function inf_get_af in module ida_ida: + +inf_get_af(*args) + inf_get_af() -> uint32 + +Help on function inf_get_af2 in module ida_ida: + +inf_get_af2(*args) + inf_get_af2() -> uint32 + +Help on function inf_get_af2_low in module ida_ida: + +inf_get_af2_low(*args) + inf_get_af2_low() -> ushort + + + Get/set low 16bit half of inf.af2. + +Help on function inf_get_af_high in module ida_ida: + +inf_get_af_high(*args) + inf_get_af_high() -> ushort + +Help on function inf_get_af_low in module ida_ida: + +inf_get_af_low(*args) + inf_get_af_low() -> ushort + + + Get/set low/high 16bit halves of inf.af. + +Help on function inf_get_appcall_options in module ida_ida: + +inf_get_appcall_options(*args) + inf_get_appcall_options() -> uint32 + +Help on function inf_get_apptype in module ida_ida: + +inf_get_apptype(*args) + inf_get_apptype() -> ushort + +Help on function inf_get_asmtype in module ida_ida: + +inf_get_asmtype(*args) + inf_get_asmtype() -> uchar + +Help on function inf_get_baseaddr in module ida_ida: + +inf_get_baseaddr(*args) + inf_get_baseaddr() -> uval_t + +Help on function inf_get_bin_prefix_size in module ida_ida: + +inf_get_bin_prefix_size(*args) + inf_get_bin_prefix_size() -> short + +Help on function inf_get_cc in module ida_ida: + +inf_get_cc(*args) + inf_get_cc(out) -> bool + +Help on function inf_get_cc_cm in module ida_ida: + +inf_get_cc_cm(*args) + inf_get_cc_cm() -> cm_t + +Help on function inf_get_cc_defalign in module ida_ida: + +inf_get_cc_defalign(*args) + inf_get_cc_defalign() -> uchar + +Help on function inf_get_cc_id in module ida_ida: + +inf_get_cc_id(*args) + inf_get_cc_id() -> comp_t + +Help on function inf_get_cc_size_b in module ida_ida: + +inf_get_cc_size_b(*args) + inf_get_cc_size_b() -> uchar + +Help on function inf_get_cc_size_e in module ida_ida: + +inf_get_cc_size_e(*args) + inf_get_cc_size_e() -> uchar + +Help on function inf_get_cc_size_i in module ida_ida: + +inf_get_cc_size_i(*args) + inf_get_cc_size_i() -> uchar + +Help on function inf_get_cc_size_l in module ida_ida: + +inf_get_cc_size_l(*args) + inf_get_cc_size_l() -> uchar + +Help on function inf_get_cc_size_ldbl in module ida_ida: + +inf_get_cc_size_ldbl(*args) + inf_get_cc_size_ldbl() -> uchar + +Help on function inf_get_cc_size_ll in module ida_ida: + +inf_get_cc_size_ll(*args) + inf_get_cc_size_ll() -> uchar + +Help on function inf_get_cc_size_s in module ida_ida: + +inf_get_cc_size_s(*args) + inf_get_cc_size_s() -> uchar + +Help on function inf_get_cmtflg in module ida_ida: + +inf_get_cmtflg(*args) + inf_get_cmtflg() -> uchar + +Help on function inf_get_comment in module ida_ida: + +inf_get_comment(*args) + inf_get_comment() -> uchar + +Help on function inf_get_database_change_count in module ida_ida: + +inf_get_database_change_count(*args) + inf_get_database_change_count() -> uint32 + +Help on function inf_get_datatypes in module ida_ida: + +inf_get_datatypes(*args) + inf_get_datatypes() -> uval_t + +Help on function inf_get_demnames in module ida_ida: + +inf_get_demnames(*args) + inf_get_demnames() -> uchar + +Help on function inf_get_filetype in module ida_ida: + +inf_get_filetype(*args) + inf_get_filetype() -> filetype_t + +Help on function inf_get_genflags in module ida_ida: + +inf_get_genflags(*args) + inf_get_genflags() -> ushort + +Help on function inf_get_highoff in module ida_ida: + +inf_get_highoff(*args) + inf_get_highoff() -> ea_t + +Help on function inf_get_indent in module ida_ida: + +inf_get_indent(*args) + inf_get_indent() -> uchar + +Help on function inf_get_lenxref in module ida_ida: + +inf_get_lenxref(*args) + inf_get_lenxref() -> ushort + +Help on function inf_get_lflags in module ida_ida: + +inf_get_lflags(*args) + inf_get_lflags() -> uint32 + +Help on function inf_get_limiter in module ida_ida: + +inf_get_limiter(*args) + inf_get_limiter() -> uchar + +Help on function inf_get_listnames in module ida_ida: + +inf_get_listnames(*args) + inf_get_listnames() -> uchar + +Help on function inf_get_long_demnames in module ida_ida: + +inf_get_long_demnames(*args) + inf_get_long_demnames() -> uint32 + +Help on function inf_get_lowoff in module ida_ida: + +inf_get_lowoff(*args) + inf_get_lowoff() -> ea_t + +Help on function inf_get_main in module ida_ida: + +inf_get_main(*args) + inf_get_main() -> ea_t + +Help on function inf_get_margin in module ida_ida: + +inf_get_margin(*args) + inf_get_margin() -> ushort + +Help on function inf_get_max_autoname_len in module ida_ida: + +inf_get_max_autoname_len(*args) + inf_get_max_autoname_len() -> ushort + +Help on function inf_get_max_ea in module ida_ida: + +inf_get_max_ea(*args) + inf_get_max_ea() -> ea_t + +Help on function inf_get_maxref in module ida_ida: + +inf_get_maxref(*args) + inf_get_maxref() -> uval_t + +Help on function inf_get_min_ea in module ida_ida: + +inf_get_min_ea(*args) + inf_get_min_ea() -> ea_t + +Help on function inf_get_nametype in module ida_ida: + +inf_get_nametype(*args) + inf_get_nametype() -> char + +Help on function inf_get_netdelta in module ida_ida: + +inf_get_netdelta(*args) + inf_get_netdelta() -> sval_t + +Help on function inf_get_omax_ea in module ida_ida: + +inf_get_omax_ea(*args) + inf_get_omax_ea() -> ea_t + +Help on function inf_get_omin_ea in module ida_ida: + +inf_get_omin_ea(*args) + inf_get_omin_ea() -> ea_t + +Help on function inf_get_ostype in module ida_ida: + +inf_get_ostype(*args) + inf_get_ostype() -> ushort + +Help on function inf_get_outflags in module ida_ida: + +inf_get_outflags(*args) + inf_get_outflags() -> uint32 + +Help on function inf_get_prefflag in module ida_ida: + +inf_get_prefflag(*args) + inf_get_prefflag() -> uchar + +Help on function inf_get_privrange in module ida_ida: + +inf_get_privrange(*args) + inf_get_privrange(out) -> bool + inf_get_privrange() -> range_t + +Help on function inf_get_privrange_end_ea in module ida_ida: + +inf_get_privrange_end_ea(*args) + inf_get_privrange_end_ea() -> ea_t + +Help on function inf_get_privrange_start_ea in module ida_ida: + +inf_get_privrange_start_ea(*args) + inf_get_privrange_start_ea() -> ea_t + +Help on function inf_get_procname in module ida_ida: + +inf_get_procname(*args) + inf_get_procname() -> str + +Help on function inf_get_refcmtnum in module ida_ida: + +inf_get_refcmtnum(*args) + inf_get_refcmtnum() -> uchar + +Help on function inf_get_short_demnames in module ida_ida: + +inf_get_short_demnames(*args) + inf_get_short_demnames() -> uint32 + +Help on function inf_get_specsegs in module ida_ida: + +inf_get_specsegs(*args) + inf_get_specsegs() -> uchar + +Help on function inf_get_start_cs in module ida_ida: + +inf_get_start_cs(*args) + inf_get_start_cs() -> sel_t + +Help on function inf_get_start_ea in module ida_ida: + +inf_get_start_ea(*args) + inf_get_start_ea() -> ea_t + +Help on function inf_get_start_ip in module ida_ida: + +inf_get_start_ip(*args) + inf_get_start_ip() -> ea_t + +Help on function inf_get_start_sp in module ida_ida: + +inf_get_start_sp(*args) + inf_get_start_sp() -> ea_t + +Help on function inf_get_start_ss in module ida_ida: + +inf_get_start_ss(*args) + inf_get_start_ss() -> sel_t + +Help on function inf_get_strlit_break in module ida_ida: + +inf_get_strlit_break(*args) + inf_get_strlit_break() -> uchar + +Help on function inf_get_strlit_flags in module ida_ida: + +inf_get_strlit_flags(*args) + inf_get_strlit_flags() -> uchar + +Help on function inf_get_strlit_pref in module ida_ida: + +inf_get_strlit_pref(*args) + inf_get_strlit_pref() -> str + +Help on function inf_get_strlit_sernum in module ida_ida: + +inf_get_strlit_sernum(*args) + inf_get_strlit_sernum() -> uval_t + +Help on function inf_get_strlit_zeroes in module ida_ida: + +inf_get_strlit_zeroes(*args) + inf_get_strlit_zeroes() -> char + +Help on function inf_get_strtype in module ida_ida: + +inf_get_strtype(*args) + inf_get_strtype() -> int32 + +Help on function inf_get_type_xrefnum in module ida_ida: + +inf_get_type_xrefnum(*args) + inf_get_type_xrefnum() -> uchar + +Help on function inf_get_version in module ida_ida: + +inf_get_version(*args) + inf_get_version() -> ushort + +Help on function inf_get_xrefflag in module ida_ida: + +inf_get_xrefflag(*args) + inf_get_xrefflag() -> uchar + +Help on function inf_get_xrefnum in module ida_ida: + +inf_get_xrefnum(*args) + inf_get_xrefnum() -> uchar + +Help on function inf_guess_func_type in module ida_ida: + +inf_guess_func_type(*args) + inf_guess_func_type() -> bool + +Help on function inf_handle_eh in module ida_ida: + +inf_handle_eh(*args) + inf_handle_eh() -> bool + +Help on function inf_handle_rtti in module ida_ida: + +inf_handle_rtti(*args) + inf_handle_rtti() -> bool + +Help on function inf_hide_comments in module ida_ida: + +inf_hide_comments(*args) + inf_hide_comments() -> bool + +Help on function inf_hide_libfuncs in module ida_ida: + +inf_hide_libfuncs(*args) + inf_hide_libfuncs() -> bool + +Help on function inf_huge_arg_align in module ida_ida: + +inf_huge_arg_align(*args) + inf_huge_arg_align() -> bool + +Help on function inf_inc_database_change_count in module ida_ida: + +inf_inc_database_change_count(*args) + inf_inc_database_change_count(cnt=1) + +Help on function inf_is_limiter_empty in module ida_ida: + +inf_is_limiter_empty(*args) + inf_is_limiter_empty() -> bool + +Help on function inf_is_limiter_thick in module ida_ida: + +inf_is_limiter_thick(*args) + inf_is_limiter_thick() -> bool + +Help on function inf_is_limiter_thin in module ida_ida: + +inf_is_limiter_thin(*args) + inf_is_limiter_thin() -> bool + +Help on function inf_macros_enabled in module ida_ida: + +inf_macros_enabled(*args) + inf_macros_enabled() -> bool + +Help on function inf_mark_code in module ida_ida: + +inf_mark_code(*args) + inf_mark_code() -> bool + +Help on function inf_no_store_user_info in module ida_ida: + +inf_no_store_user_info(*args) + inf_no_store_user_info() -> bool + +Help on function inf_noflow_to_data in module ida_ida: + +inf_noflow_to_data(*args) + inf_noflow_to_data() -> bool + +Help on function inf_noret_ana in module ida_ida: + +inf_noret_ana(*args) + inf_noret_ana() -> bool + +Help on function inf_op_offset in module ida_ida: + +inf_op_offset(*args) + inf_op_offset() -> bool + +Help on function inf_pack_idb in module ida_ida: + +inf_pack_idb(*args) + inf_pack_idb() -> bool + +Help on function inf_postinc_strlit_sernum in module ida_ida: + +inf_postinc_strlit_sernum(*args) + inf_postinc_strlit_sernum(cnt=1) -> uval_t + +Help on function inf_prefix_show_funcoff in module ida_ida: + +inf_prefix_show_funcoff(*args) + inf_prefix_show_funcoff() -> bool + +Help on function inf_prefix_show_segaddr in module ida_ida: + +inf_prefix_show_segaddr(*args) + inf_prefix_show_segaddr() -> bool + +Help on function inf_prefix_show_stack in module ida_ida: + +inf_prefix_show_stack(*args) + inf_prefix_show_stack() -> bool + +Help on function inf_prefix_truncate_opcode_bytes in module ida_ida: + +inf_prefix_truncate_opcode_bytes(*args) + inf_prefix_truncate_opcode_bytes() -> bool + +Help on function inf_propagate_regargs in module ida_ida: + +inf_propagate_regargs(*args) + inf_propagate_regargs() -> bool + +Help on function inf_propagate_stkargs in module ida_ida: + +inf_propagate_stkargs(*args) + inf_propagate_stkargs() -> bool + +Help on function inf_rename_jumpfunc in module ida_ida: + +inf_rename_jumpfunc(*args) + inf_rename_jumpfunc() -> bool + +Help on function inf_rename_nullsub in module ida_ida: + +inf_rename_nullsub(*args) + inf_rename_nullsub() -> bool + +Help on function inf_set_32bit in module ida_ida: + +inf_set_32bit(*args) + inf_set_32bit(_v=True) -> bool + +Help on function inf_set_abi_set_by_user in module ida_ida: + +inf_set_abi_set_by_user(*args) + inf_set_abi_set_by_user(_v=True) -> bool + +Help on function inf_set_abibits in module ida_ida: + +inf_set_abibits(*args) + inf_set_abibits(_v) -> bool + +Help on function inf_set_af in module ida_ida: + +inf_set_af(*args) + inf_set_af(_v) -> bool + +Help on function inf_set_af2 in module ida_ida: + +inf_set_af2(*args) + inf_set_af2(_v) -> bool + +Help on function inf_set_af2_low in module ida_ida: + +inf_set_af2_low(*args) + inf_set_af2_low(saf) + +Help on function inf_set_af_high in module ida_ida: + +inf_set_af_high(*args) + inf_set_af_high(saf2) + +Help on function inf_set_af_low in module ida_ida: + +inf_set_af_low(*args) + inf_set_af_low(saf) + +Help on function inf_set_allow_non_matched_ops in module ida_ida: + +inf_set_allow_non_matched_ops(*args) + inf_set_allow_non_matched_ops(_v=True) -> bool + +Help on function inf_set_allow_sigmulti in module ida_ida: + +inf_set_allow_sigmulti(*args) + inf_set_allow_sigmulti(_v=True) -> bool + +Help on function inf_set_appcall_options in module ida_ida: + +inf_set_appcall_options(*args) + inf_set_appcall_options(_v) -> bool + +Help on function inf_set_append_sigcmt in module ida_ida: + +inf_set_append_sigcmt(*args) + inf_set_append_sigcmt(_v=True) -> bool + +Help on function inf_set_apptype in module ida_ida: + +inf_set_apptype(*args) + inf_set_apptype(_v) -> bool + +Help on function inf_set_asmtype in module ida_ida: + +inf_set_asmtype(*args) + inf_set_asmtype(_v) -> bool + +Help on function inf_set_baseaddr in module ida_ida: + +inf_set_baseaddr(*args) + inf_set_baseaddr(_v) -> bool + +Help on function inf_set_big_arg_align in module ida_ida: + +inf_set_big_arg_align(*args) + inf_set_big_arg_align(_v=True) -> bool + +Help on function inf_set_bin_prefix_size in module ida_ida: + +inf_set_bin_prefix_size(*args) + inf_set_bin_prefix_size(_v) -> bool + +Help on function inf_set_cc in module ida_ida: + +inf_set_cc(*args) + inf_set_cc(_v) -> bool + +Help on function inf_set_cc_cm in module ida_ida: + +inf_set_cc_cm(*args) + inf_set_cc_cm(_v) -> bool + +Help on function inf_set_cc_defalign in module ida_ida: + +inf_set_cc_defalign(*args) + inf_set_cc_defalign(_v) -> bool + +Help on function inf_set_cc_id in module ida_ida: + +inf_set_cc_id(*args) + inf_set_cc_id(_v) -> bool + +Help on function inf_set_cc_size_b in module ida_ida: + +inf_set_cc_size_b(*args) + inf_set_cc_size_b(_v) -> bool + +Help on function inf_set_cc_size_e in module ida_ida: + +inf_set_cc_size_e(*args) + inf_set_cc_size_e(_v) -> bool + +Help on function inf_set_cc_size_i in module ida_ida: + +inf_set_cc_size_i(*args) + inf_set_cc_size_i(_v) -> bool + +Help on function inf_set_cc_size_l in module ida_ida: + +inf_set_cc_size_l(*args) + inf_set_cc_size_l(_v) -> bool + +Help on function inf_set_cc_size_ldbl in module ida_ida: + +inf_set_cc_size_ldbl(*args) + inf_set_cc_size_ldbl(_v) -> bool + +Help on function inf_set_cc_size_ll in module ida_ida: + +inf_set_cc_size_ll(*args) + inf_set_cc_size_ll(_v) -> bool + +Help on function inf_set_cc_size_s in module ida_ida: + +inf_set_cc_size_s(*args) + inf_set_cc_size_s(_v) -> bool + +Help on function inf_set_check_manual_ops in module ida_ida: + +inf_set_check_manual_ops(*args) + inf_set_check_manual_ops(_v=True) -> bool + +Help on function inf_set_check_unicode_strlits in module ida_ida: + +inf_set_check_unicode_strlits(*args) + inf_set_check_unicode_strlits(_v=True) -> bool + +Help on function inf_set_cmtflg in module ida_ida: + +inf_set_cmtflg(*args) + inf_set_cmtflg(_v) -> bool + +Help on function inf_set_coagulate_code in module ida_ida: + +inf_set_coagulate_code(*args) + inf_set_coagulate_code(_v=True) -> bool + +Help on function inf_set_coagulate_data in module ida_ida: + +inf_set_coagulate_data(*args) + inf_set_coagulate_data(_v=True) -> bool + +Help on function inf_set_comment in module ida_ida: + +inf_set_comment(*args) + inf_set_comment(_v) -> bool + +Help on function inf_set_compress_idb in module ida_ida: + +inf_set_compress_idb(*args) + inf_set_compress_idb(_v=True) -> bool + +Help on function inf_set_create_all_xrefs in module ida_ida: + +inf_set_create_all_xrefs(*args) + inf_set_create_all_xrefs(_v=True) -> bool + +Help on function inf_set_create_func_from_call in module ida_ida: + +inf_set_create_func_from_call(*args) + inf_set_create_func_from_call(_v=True) -> bool + +Help on function inf_set_create_func_from_ptr in module ida_ida: + +inf_set_create_func_from_ptr(*args) + inf_set_create_func_from_ptr(_v=True) -> bool + +Help on function inf_set_create_func_tails in module ida_ida: + +inf_set_create_func_tails(*args) + inf_set_create_func_tails(_v=True) -> bool + +Help on function inf_set_create_jump_tables in module ida_ida: + +inf_set_create_jump_tables(*args) + inf_set_create_jump_tables(_v=True) -> bool + +Help on function inf_set_create_off_on_dref in module ida_ida: + +inf_set_create_off_on_dref(*args) + inf_set_create_off_on_dref(_v=True) -> bool + +Help on function inf_set_create_off_using_fixup in module ida_ida: + +inf_set_create_off_using_fixup(*args) + inf_set_create_off_using_fixup(_v=True) -> bool + +Help on function inf_set_create_strlit_on_xref in module ida_ida: + +inf_set_create_strlit_on_xref(*args) + inf_set_create_strlit_on_xref(_v=True) -> bool + +Help on function inf_set_data_offset in module ida_ida: + +inf_set_data_offset(*args) + inf_set_data_offset(_v=True) -> bool + +Help on function inf_set_database_change_count in module ida_ida: + +inf_set_database_change_count(*args) + inf_set_database_change_count(_v) -> bool + +Help on function inf_set_datatypes in module ida_ida: + +inf_set_datatypes(*args) + inf_set_datatypes(_v) -> bool + +Help on function inf_set_dbg_no_store_path in module ida_ida: + +inf_set_dbg_no_store_path(*args) + inf_set_dbg_no_store_path(_v=True) -> bool + +Help on function inf_set_decode_fpp in module ida_ida: + +inf_set_decode_fpp(*args) + inf_set_decode_fpp(_v=True) -> bool + +Help on function inf_set_del_no_xref_insns in module ida_ida: + +inf_set_del_no_xref_insns(*args) + inf_set_del_no_xref_insns(_v=True) -> bool + +Help on function inf_set_demnames in module ida_ida: + +inf_set_demnames(*args) + inf_set_demnames(_v) -> bool + +Help on function inf_set_dll in module ida_ida: + +inf_set_dll(*args) + inf_set_dll(_v=True) -> bool + +Help on function inf_set_filetype in module ida_ida: + +inf_set_filetype(*args) + inf_set_filetype(_v) -> bool + +Help on function inf_set_final_pass in module ida_ida: + +inf_set_final_pass(*args) + inf_set_final_pass(_v=True) -> bool + +Help on function inf_set_flat_off32 in module ida_ida: + +inf_set_flat_off32(*args) + inf_set_flat_off32(_v=True) -> bool + +Help on function inf_set_full_sp_ana in module ida_ida: + +inf_set_full_sp_ana(*args) + inf_set_full_sp_ana(_v=True) -> bool + +Help on function inf_set_gen_assume in module ida_ida: + +inf_set_gen_assume(*args) + inf_set_gen_assume(_v=True) -> bool + +Help on function inf_set_gen_org in module ida_ida: + +inf_set_gen_org(*args) + inf_set_gen_org(_v=True) -> bool + +Help on function inf_set_genflags in module ida_ida: + +inf_set_genflags(*args) + inf_set_genflags(_v) -> bool + +Help on function inf_set_guess_func_type in module ida_ida: + +inf_set_guess_func_type(*args) + inf_set_guess_func_type(_v=True) -> bool + +Help on function inf_set_handle_eh in module ida_ida: + +inf_set_handle_eh(*args) + inf_set_handle_eh(_v=True) -> bool + +Help on function inf_set_handle_rtti in module ida_ida: + +inf_set_handle_rtti(*args) + inf_set_handle_rtti(_v=True) -> bool + +Help on function inf_set_hard_float in module ida_ida: + +inf_set_hard_float(*args) + inf_set_hard_float(_v=True) -> bool + +Help on function inf_set_hide_comments in module ida_ida: + +inf_set_hide_comments(*args) + inf_set_hide_comments(_v=True) -> bool + +Help on function inf_set_hide_libfuncs in module ida_ida: + +inf_set_hide_libfuncs(*args) + inf_set_hide_libfuncs(_v=True) -> bool + +Help on function inf_set_highoff in module ida_ida: + +inf_set_highoff(*args) + inf_set_highoff(_v) -> bool + +Help on function inf_set_huge_arg_align in module ida_ida: + +inf_set_huge_arg_align(*args) + inf_set_huge_arg_align(_v=True) -> bool + +Help on function inf_set_indent in module ida_ida: + +inf_set_indent(*args) + inf_set_indent(_v) -> bool + +Help on function inf_set_kernel_mode in module ida_ida: + +inf_set_kernel_mode(*args) + inf_set_kernel_mode(_v=True) -> bool + +Help on function inf_set_lenxref in module ida_ida: + +inf_set_lenxref(*args) + inf_set_lenxref(_v) -> bool + +Help on function inf_set_lflags in module ida_ida: + +inf_set_lflags(*args) + inf_set_lflags(_v) -> bool + +Help on function inf_set_limiter in module ida_ida: + +inf_set_limiter(*args) + inf_set_limiter(_v) -> bool + +Help on function inf_set_limiter_empty in module ida_ida: + +inf_set_limiter_empty(*args) + inf_set_limiter_empty(_v=True) -> bool + +Help on function inf_set_limiter_thick in module ida_ida: + +inf_set_limiter_thick(*args) + inf_set_limiter_thick(_v=True) -> bool + +Help on function inf_set_limiter_thin in module ida_ida: + +inf_set_limiter_thin(*args) + inf_set_limiter_thin(_v=True) -> bool + +Help on function inf_set_listnames in module ida_ida: + +inf_set_listnames(*args) + inf_set_listnames(_v) -> bool + +Help on function inf_set_loading_idc in module ida_ida: + +inf_set_loading_idc(*args) + inf_set_loading_idc(_v=True) -> bool + +Help on function inf_set_long_demnames in module ida_ida: + +inf_set_long_demnames(*args) + inf_set_long_demnames(_v) -> bool + +Help on function inf_set_lowoff in module ida_ida: + +inf_set_lowoff(*args) + inf_set_lowoff(_v) -> bool + +Help on function inf_set_macros_enabled in module ida_ida: + +inf_set_macros_enabled(*args) + inf_set_macros_enabled(_v=True) -> bool + +Help on function inf_set_main in module ida_ida: + +inf_set_main(*args) + inf_set_main(_v) -> bool + +Help on function inf_set_map_stkargs in module ida_ida: + +inf_set_map_stkargs(*args) + inf_set_map_stkargs(_v=True) -> bool + +Help on function inf_set_margin in module ida_ida: + +inf_set_margin(*args) + inf_set_margin(_v) -> bool + +Help on function inf_set_mark_code in module ida_ida: + +inf_set_mark_code(*args) + inf_set_mark_code(_v=True) -> bool + +Help on function inf_set_max_autoname_len in module ida_ida: + +inf_set_max_autoname_len(*args) + inf_set_max_autoname_len(_v) -> bool + +Help on function inf_set_max_ea in module ida_ida: + +inf_set_max_ea(*args) + inf_set_max_ea(_v) -> bool + +Help on function inf_set_maxref in module ida_ida: + +inf_set_maxref(*args) + inf_set_maxref(_v) -> bool + +Help on function inf_set_mem_aligned4 in module ida_ida: + +inf_set_mem_aligned4(*args) + inf_set_mem_aligned4(_v=True) -> bool + +Help on function inf_set_min_ea in module ida_ida: + +inf_set_min_ea(*args) + inf_set_min_ea(_v) -> bool + +Help on function inf_set_nametype in module ida_ida: + +inf_set_nametype(*args) + inf_set_nametype(_v) -> bool + +Help on function inf_set_netdelta in module ida_ida: + +inf_set_netdelta(*args) + inf_set_netdelta(_v) -> bool + +Help on function inf_set_no_store_user_info in module ida_ida: + +inf_set_no_store_user_info(*args) + inf_set_no_store_user_info(_v=True) -> bool + +Help on function inf_set_noflow_to_data in module ida_ida: + +inf_set_noflow_to_data(*args) + inf_set_noflow_to_data(_v=True) -> bool + +Help on function inf_set_noret_ana in module ida_ida: + +inf_set_noret_ana(*args) + inf_set_noret_ana(_v=True) -> bool + +Help on function inf_set_omax_ea in module ida_ida: + +inf_set_omax_ea(*args) + inf_set_omax_ea(_v) -> bool + +Help on function inf_set_omin_ea in module ida_ida: + +inf_set_omin_ea(*args) + inf_set_omin_ea(_v) -> bool + +Help on function inf_set_op_offset in module ida_ida: + +inf_set_op_offset(*args) + inf_set_op_offset(_v=True) -> bool + +Help on function inf_set_ostype in module ida_ida: + +inf_set_ostype(*args) + inf_set_ostype(_v) -> bool + +Help on function inf_set_outflags in module ida_ida: + +inf_set_outflags(*args) + inf_set_outflags(_v) -> bool + +Help on function inf_set_pack_idb in module ida_ida: + +inf_set_pack_idb(*args) + inf_set_pack_idb(_v=True) -> bool + +Help on function inf_set_pack_stkargs in module ida_ida: + +inf_set_pack_stkargs(*args) + inf_set_pack_stkargs(_v=True) -> bool + +Help on function inf_set_prefflag in module ida_ida: + +inf_set_prefflag(*args) + inf_set_prefflag(_v) -> bool + +Help on function inf_set_prefix_show_funcoff in module ida_ida: + +inf_set_prefix_show_funcoff(*args) + inf_set_prefix_show_funcoff(_v=True) -> bool + +Help on function inf_set_prefix_show_segaddr in module ida_ida: + +inf_set_prefix_show_segaddr(*args) + inf_set_prefix_show_segaddr(_v=True) -> bool + +Help on function inf_set_prefix_show_stack in module ida_ida: + +inf_set_prefix_show_stack(*args) + inf_set_prefix_show_stack(_v=True) -> bool + +Help on function inf_set_prefix_truncate_opcode_bytes in module ida_ida: + +inf_set_prefix_truncate_opcode_bytes(*args) + inf_set_prefix_truncate_opcode_bytes(_v=True) -> bool + +Help on function inf_set_privrange in module ida_ida: + +inf_set_privrange(*args) + inf_set_privrange(_v) -> bool + +Help on function inf_set_privrange_end_ea in module ida_ida: + +inf_set_privrange_end_ea(*args) + inf_set_privrange_end_ea(_v) -> bool + +Help on function inf_set_privrange_start_ea in module ida_ida: + +inf_set_privrange_start_ea(*args) + inf_set_privrange_start_ea(_v) -> bool + +Help on function inf_set_procname in module ida_ida: + +inf_set_procname(*args) + inf_set_procname(_v, len=size_t(-1)) -> bool + +Help on function inf_set_propagate_regargs in module ida_ida: + +inf_set_propagate_regargs(*args) + inf_set_propagate_regargs(_v=True) -> bool + +Help on function inf_set_propagate_stkargs in module ida_ida: + +inf_set_propagate_stkargs(*args) + inf_set_propagate_stkargs(_v=True) -> bool + +Help on function inf_set_readonly_idb in module ida_ida: + +inf_set_readonly_idb(*args) + inf_set_readonly_idb(_v=True) -> bool + +Help on function inf_set_refcmtnum in module ida_ida: + +inf_set_refcmtnum(*args) + inf_set_refcmtnum(_v) -> bool + +Help on function inf_set_rename_jumpfunc in module ida_ida: + +inf_set_rename_jumpfunc(*args) + inf_set_rename_jumpfunc(_v=True) -> bool + +Help on function inf_set_rename_nullsub in module ida_ida: + +inf_set_rename_nullsub(*args) + inf_set_rename_nullsub(_v=True) -> bool + +Help on function inf_set_short_demnames in module ida_ida: + +inf_set_short_demnames(*args) + inf_set_short_demnames(_v) -> bool + +Help on function inf_set_should_create_stkvars in module ida_ida: + +inf_set_should_create_stkvars(*args) + inf_set_should_create_stkvars(_v=True) -> bool + +Help on function inf_set_should_trace_sp in module ida_ida: + +inf_set_should_trace_sp(*args) + inf_set_should_trace_sp(_v=True) -> bool + +Help on function inf_set_show_all_comments in module ida_ida: + +inf_set_show_all_comments(*args) + inf_set_show_all_comments(_v=True) -> bool + +Help on function inf_set_show_hidden_funcs in module ida_ida: + +inf_set_show_hidden_funcs(*args) + inf_set_show_hidden_funcs(_v=True) -> bool + +Help on function inf_set_show_hidden_insns in module ida_ida: + +inf_set_show_hidden_insns(*args) + inf_set_show_hidden_insns(_v=True) -> bool + +Help on function inf_set_show_hidden_segms in module ida_ida: + +inf_set_show_hidden_segms(*args) + inf_set_show_hidden_segms(_v=True) -> bool + +Help on function inf_set_show_repeatables in module ida_ida: + +inf_set_show_repeatables(*args) + inf_set_show_repeatables(_v=True) -> bool + +Help on function inf_set_show_src_linnum in module ida_ida: + +inf_set_show_src_linnum(*args) + inf_set_show_src_linnum(_v=True) -> bool + +Help on function inf_set_show_xref_fncoff in module ida_ida: + +inf_set_show_xref_fncoff(*args) + inf_set_show_xref_fncoff(_v=True) -> bool + +Help on function inf_set_show_xref_seg in module ida_ida: + +inf_set_show_xref_seg(*args) + inf_set_show_xref_seg(_v=True) -> bool + +Help on function inf_set_show_xref_tmarks in module ida_ida: + +inf_set_show_xref_tmarks(*args) + inf_set_show_xref_tmarks(_v=True) -> bool + +Help on function inf_set_show_xref_val in module ida_ida: + +inf_set_show_xref_val(*args) + inf_set_show_xref_val(_v=True) -> bool + +Help on function inf_set_snapshot in module ida_ida: + +inf_set_snapshot(*args) + inf_set_snapshot(_v=True) -> bool + +Help on function inf_set_specsegs in module ida_ida: + +inf_set_specsegs(*args) + inf_set_specsegs(_v) -> bool + +Help on function inf_set_stack_ldbl in module ida_ida: + +inf_set_stack_ldbl(*args) + inf_set_stack_ldbl(_v=True) -> bool + +Help on function inf_set_stack_varargs in module ida_ida: + +inf_set_stack_varargs(*args) + inf_set_stack_varargs(_v=True) -> bool + +Help on function inf_set_start_cs in module ida_ida: + +inf_set_start_cs(*args) + inf_set_start_cs(_v) -> bool + +Help on function inf_set_start_ea in module ida_ida: + +inf_set_start_ea(*args) + inf_set_start_ea(_v) -> bool + +Help on function inf_set_start_ip in module ida_ida: + +inf_set_start_ip(*args) + inf_set_start_ip(_v) -> bool + +Help on function inf_set_start_sp in module ida_ida: + +inf_set_start_sp(*args) + inf_set_start_sp(_v) -> bool + +Help on function inf_set_start_ss in module ida_ida: + +inf_set_start_ss(*args) + inf_set_start_ss(_v) -> bool + +Help on function inf_set_strlit_autocmt in module ida_ida: + +inf_set_strlit_autocmt(*args) + inf_set_strlit_autocmt(_v=True) -> bool + +Help on function inf_set_strlit_break in module ida_ida: + +inf_set_strlit_break(*args) + inf_set_strlit_break(_v) -> bool + +Help on function inf_set_strlit_flags in module ida_ida: + +inf_set_strlit_flags(*args) + inf_set_strlit_flags(_v) -> bool + +Help on function inf_set_strlit_name_bit in module ida_ida: + +inf_set_strlit_name_bit(*args) + inf_set_strlit_name_bit(_v=True) -> bool + +Help on function inf_set_strlit_names in module ida_ida: + +inf_set_strlit_names(*args) + inf_set_strlit_names(_v=True) -> bool + +Help on function inf_set_strlit_pref in module ida_ida: + +inf_set_strlit_pref(*args) + inf_set_strlit_pref(_v, len=size_t(-1)) -> bool + +Help on function inf_set_strlit_savecase in module ida_ida: + +inf_set_strlit_savecase(*args) + inf_set_strlit_savecase(_v=True) -> bool + +Help on function inf_set_strlit_serial_names in module ida_ida: + +inf_set_strlit_serial_names(*args) + inf_set_strlit_serial_names(_v=True) -> bool + +Help on function inf_set_strlit_sernum in module ida_ida: + +inf_set_strlit_sernum(*args) + inf_set_strlit_sernum(_v) -> bool + +Help on function inf_set_strlit_zeroes in module ida_ida: + +inf_set_strlit_zeroes(*args) + inf_set_strlit_zeroes(_v) -> bool + +Help on function inf_set_strtype in module ida_ida: + +inf_set_strtype(*args) + inf_set_strtype(_v) -> bool + +Help on function inf_set_test_mode in module ida_ida: + +inf_set_test_mode(*args) + inf_set_test_mode(_v=True) -> bool + +Help on function inf_set_trace_flow in module ida_ida: + +inf_set_trace_flow(*args) + inf_set_trace_flow(_v=True) -> bool + +Help on function inf_set_truncate_on_del in module ida_ida: + +inf_set_truncate_on_del(*args) + inf_set_truncate_on_del(_v=True) -> bool + +Help on function inf_set_type_xrefnum in module ida_ida: + +inf_set_type_xrefnum(*args) + inf_set_type_xrefnum(_v) -> bool + +Help on function inf_set_unicode_strlits in module ida_ida: + +inf_set_unicode_strlits(*args) + inf_set_unicode_strlits(_v=True) -> bool + +Help on function inf_set_use_allasm in module ida_ida: + +inf_set_use_allasm(*args) + inf_set_use_allasm(_v=True) -> bool + +Help on function inf_set_use_flirt in module ida_ida: + +inf_set_use_flirt(*args) + inf_set_use_flirt(_v=True) -> bool + +Help on function inf_set_use_gcc_layout in module ida_ida: + +inf_set_use_gcc_layout(*args) + inf_set_use_gcc_layout(_v=True) -> bool + +Help on function inf_set_version in module ida_ida: + +inf_set_version(*args) + inf_set_version(_v) -> bool + +Help on function inf_set_xrefflag in module ida_ida: + +inf_set_xrefflag(*args) + inf_set_xrefflag(_v) -> bool + +Help on function inf_set_xrefnum in module ida_ida: + +inf_set_xrefnum(*args) + inf_set_xrefnum(_v) -> bool + +Help on function inf_should_create_stkvars in module ida_ida: + +inf_should_create_stkvars(*args) + inf_should_create_stkvars() -> bool + +Help on function inf_should_trace_sp in module ida_ida: + +inf_should_trace_sp(*args) + inf_should_trace_sp() -> bool + +Help on function inf_show_all_comments in module ida_ida: + +inf_show_all_comments(*args) + inf_show_all_comments() -> bool + +Help on function inf_show_hidden_funcs in module ida_ida: + +inf_show_hidden_funcs(*args) + inf_show_hidden_funcs() -> bool + +Help on function inf_show_hidden_insns in module ida_ida: + +inf_show_hidden_insns(*args) + inf_show_hidden_insns() -> bool + +Help on function inf_show_hidden_segms in module ida_ida: + +inf_show_hidden_segms(*args) + inf_show_hidden_segms() -> bool + +Help on function inf_show_repeatables in module ida_ida: + +inf_show_repeatables(*args) + inf_show_repeatables() -> bool + +Help on function inf_show_src_linnum in module ida_ida: + +inf_show_src_linnum(*args) + inf_show_src_linnum() -> bool + +Help on function inf_show_xref_fncoff in module ida_ida: + +inf_show_xref_fncoff(*args) + inf_show_xref_fncoff() -> bool + +Help on function inf_show_xref_seg in module ida_ida: + +inf_show_xref_seg(*args) + inf_show_xref_seg() -> bool + +Help on function inf_show_xref_tmarks in module ida_ida: + +inf_show_xref_tmarks(*args) + inf_show_xref_tmarks() -> bool + +Help on function inf_show_xref_val in module ida_ida: + +inf_show_xref_val(*args) + inf_show_xref_val() -> bool + +Help on function inf_strlit_autocmt in module ida_ida: + +inf_strlit_autocmt(*args) + inf_strlit_autocmt() -> bool + +Help on function inf_strlit_name_bit in module ida_ida: + +inf_strlit_name_bit(*args) + inf_strlit_name_bit() -> bool + +Help on function inf_strlit_names in module ida_ida: + +inf_strlit_names(*args) + inf_strlit_names() -> bool + +Help on function inf_strlit_savecase in module ida_ida: + +inf_strlit_savecase(*args) + inf_strlit_savecase() -> bool + +Help on function inf_strlit_serial_names in module ida_ida: + +inf_strlit_serial_names(*args) + inf_strlit_serial_names() -> bool + +Help on function inf_test_mode in module ida_ida: + +inf_test_mode(*args) + inf_test_mode() -> bool + +Help on function inf_trace_flow in module ida_ida: + +inf_trace_flow(*args) + inf_trace_flow() -> bool + +Help on function inf_truncate_on_del in module ida_ida: + +inf_truncate_on_del(*args) + inf_truncate_on_del() -> bool + +Help on function inf_unicode_strlits in module ida_ida: + +inf_unicode_strlits(*args) + inf_unicode_strlits() -> bool + +Help on function inf_use_flirt in module ida_ida: + +inf_use_flirt(*args) + inf_use_flirt() -> bool + +Help on function is_filetype_like_binary in module ida_ida: + +is_filetype_like_binary(*args) + is_filetype_like_binary(ft) -> bool + + + Is unstructured input file? + + + @param ft (C++: filetype_t) + +Help on function in module ida_ida: + + lambda *args + +Help on function to_ea in module ida_ida: + +to_ea(*args) + 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) + +=== ida_ida EPYDOC INJECTIONS === +ida_ida.ABI_8ALIGN4 +""" +4 byte alignment for 8byte scalars (__int64/double) inside structures? +""" + +ida_ida.ABI_BIGARG_ALIGN +""" +(e.g. __int64 argument should be 8byte aligned on some 32bit +platforms) + +use natural type alignment for argument if the alignment exceeds +native word size +""" + +ida_ida.ABI_GCC_LAYOUT +""" +use gcc layout for udts (used for mingw) +""" + +ida_ida.ABI_HARD_FLOAT +""" +use the floating-point register set +""" + +ida_ida.ABI_HUGEARG_ALIGN +""" +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 +""" + +ida_ida.ABI_MAP_STKARGS +""" +register arguments are mapped to stack area (and consume stack slots) +""" + +ida_ida.ABI_PACK_STKARGS +""" +do not align stack arguments to stack slots +""" + +ida_ida.ABI_SET_BY_USER +""" +compiler/abi were set by user flag and require SETCOMP_BY_USER flag to +be changed +""" + +ida_ida.ABI_STACK_LDBL +""" +long double arguments are passed on stack +""" + +ida_ida.ABI_STACK_VARARGS +""" +varargs are always passed on stack (even when there are free +registers) +""" + +ida_ida.AF2_DOEH +""" +Handle EH information. +""" + +ida_ida.AF2_DORTTI +""" +Handle RTTI information. +""" + +ida_ida.AF2_MACRO +""" +Try to combine several instructions into a macro instruction +""" + +ida_ida.AF_ANORET +""" +Perform 'no-return' analysis. +""" + +ida_ida.AF_CHKUNI +""" +Check for unicode strings. +""" + +ida_ida.AF_CODE +""" +Trace execution flow. +""" + +ida_ida.AF_DATOFF +""" +Automatically convert data to offsets. +""" + +ida_ida.AF_DOCODE +""" +Coagulate code segs at the final pass. +""" + +ida_ida.AF_DODATA +""" +Coagulate data segs at the final pass. +""" + +ida_ida.AF_DREFOFF +""" +Create offset if data xref to seg32 exists. +""" + +ida_ida.AF_FINAL +""" +Final pass of analysis. +""" + +ida_ida.AF_FIXUP +""" +Create offsets and segments using fixup info. +""" + +ida_ida.AF_FLIRT +""" +Use flirt signatures. +""" + +ida_ida.AF_FTAIL +""" +Create function tails. +""" + +ida_ida.AF_HFLIRT +""" +Automatically hide library functions. +""" + +ida_ida.AF_IMMOFF +""" +Convert 32bit instruction operand to offset. +""" + +ida_ida.AF_JFUNC +""" +Rename jump functions as j_... +""" + +ida_ida.AF_JUMPTBL +""" +Locate and create jump tables. +""" + +ida_ida.AF_LVAR +""" +Create stack variables. +""" + +ida_ida.AF_MARKCODE +""" +Mark typical code sequences as code. +""" + +ida_ida.AF_MEMFUNC +""" +Try to guess member function types. +""" + +ida_ida.AF_NULLSUB +""" +Rename empty functions as nullsub_... +""" + +ida_ida.AF_PROC +""" +Create functions if call is present. +""" + +ida_ida.AF_PROCPTR +""" +Create function if data xref data->code32 exists. +""" + +ida_ida.AF_PURDAT +""" +Control flow to data segment is ignored. +""" + +ida_ida.AF_REGARG +""" +Propagate register argument information. +""" + +ida_ida.AF_SIGCMT +""" +Append a signature name comment for recognized anonymous library +functions. +""" + +ida_ida.AF_SIGMLT +""" +Allow recognition of several copies of the same function. +""" + +ida_ida.AF_STKARG +""" +Propagate stack argument information. +""" + +ida_ida.AF_STRLIT +""" +Create string literal if data xref exists. +""" + +ida_ida.AF_TRACE +""" +Trace stack pointer. +""" + +ida_ida.AF_TRFUNC +""" +Truncate functions upon code deletion. +""" + +ida_ida.AF_UNK +""" +Delete instructions with no xrefs. +""" + +ida_ida.AF_USED +""" +Analyze and create all xrefs. +""" + +ida_ida.AF_VERSP +""" +Perform full SP-analysis. (\\ph{verify_sp}) +""" + +ida_ida.DEMNAM_CMNT +""" +display demangled names as comments +""" + +ida_ida.DEMNAM_FIRST +""" +override type info +""" + +ida_ida.DEMNAM_GCC3 +""" +assume gcc3 names (valid for gnu compiler) +""" + +ida_ida.DEMNAM_MASK +""" +mask for name form +""" + +ida_ida.DEMNAM_NAME +""" +display demangled names as regular names +""" + +ida_ida.DEMNAM_NONE +""" +don't display demangled names +""" + +ida_ida.IDAINFO_TAG_SIZE +""" +The database parameters. This structure is kept in the ida database. +It contains the essential parameters for the current program +""" + +ida_ida.IDB_COMPRESSED +""" +compress & pack database components +""" + +ida_ida.IDB_PACKED +""" +pack database components into .idb +""" + +ida_ida.IDB_UNPACKED +""" +leave database components unpacked +""" + +ida_ida.INFFL_ALLASM +""" +the target assembler + +may use constructs not supported by +""" + +ida_ida.INFFL_AUTO +""" +Autoanalysis is enabled? +""" + +ida_ida.INFFL_CHKOPS +""" +check manual operands? (unused) +""" + +ida_ida.INFFL_GRAPH_VIEW +""" +currently using graph options (\\dto{graph}) +""" + +ida_ida.INFFL_LOADIDC +""" +loading an idc file that contains database info +""" + +ida_ida.INFFL_NMOPS +""" +allow non-matched operands? (unused) +""" + +ida_ida.INFFL_NOUSER +""" +do not store user info in the database +""" + +ida_ida.INFFL_READONLY +""" +(internal) temporary interdiction to modify the database +""" + +ida_ida.LFLG_64BIT +""" +64-bit program? +""" + +ida_ida.LFLG_COMPRESS +""" +compress the database? +""" + +ida_ida.LFLG_DBG_NOPATH +""" +do not store input full path in debugger process options +""" + +ida_ida.LFLG_FLAT_OFF32 +""" +treat 'REF_OFF32' as 32-bit offset for 16bit segments (otherwise try +SEG16:OFF16) +""" + +ida_ida.LFLG_IS_DLL +""" +Is dynamic library? +""" + +ida_ida.LFLG_KERNMODE +""" +is kernel mode binary? +""" + +ida_ida.LFLG_MSF +""" +Byte order: is MSB first? +""" + +ida_ida.LFLG_PACK +""" +pack the database? +""" + +ida_ida.LFLG_PC_FLAT +""" +32-bit program? +""" + +ida_ida.LFLG_PC_FPP +""" +decode floating point processor instructions? +""" + +ida_ida.LFLG_SNAPSHOT +""" +memory snapshot was taken? +""" + +ida_ida.LFLG_WIDE_HBF +""" +(wide bytes: \\ph{dnbits} > 8) + +Bit order of wide bytes: high byte first? +""" + +ida_ida.LMT_EMPTY +""" +empty lines at the end of basic blocks +""" + +ida_ida.LMT_THICK +""" +thick borders +""" + +ida_ida.LMT_THIN +""" +thin borders +""" + +ida_ida.LN_AUTO +""" +include autogenerated names +""" + +ida_ida.LN_NORMAL +""" +include normal names +""" + +ida_ida.LN_PUBLIC +""" +include public names +""" + +ida_ida.LN_WEAK +""" +include weak names +""" + +ida_ida.OFLG_GEN_ASSUME +""" +Generate 'assume' directives? +""" + +ida_ida.OFLG_GEN_NULL +""" +Generate empty lines? +""" + +ida_ida.OFLG_GEN_ORG +""" +Generate 'org' directives? +""" + +ida_ida.OFLG_GEN_TRYBLKS +""" +Generate try/catch directives? +""" + +ida_ida.OFLG_LZERO +""" +generate leading zeroes in numbers +""" + +ida_ida.OFLG_PREF_SEG +""" +line prefixes with segment name? +""" + +ida_ida.OFLG_SHOW_AUTO +""" +Display autoanalysis indicator? +""" + +ida_ida.OFLG_SHOW_PREF +""" +Show line prefixes? +""" + +ida_ida.OFLG_SHOW_VOID +""" +Display void marks? +""" + +ida_ida.PREF_FNCOFF +""" +show function offsets? +""" + +ida_ida.PREF_PFXTRUNC +""" +truncate instruction bytes if they would need more than 1 line +""" + +ida_ida.PREF_SEGADR +""" +show segment addresses? +""" + +ida_ida.PREF_STACK +""" +show stack pointer? +""" + +ida_ida.SCF_ALLCMT +""" +comment all lines? +""" + +ida_ida.SCF_LINNUM +""" +show source line numbers +""" + +ida_ida.SCF_NOCMT +""" +no comments at all +""" + +ida_ida.SCF_RPTCMT +""" +show repeatable comments? +""" + +ida_ida.SCF_SHHID_FUNC +""" +show hidden functions +""" + +ida_ida.SCF_SHHID_ITEM +""" +show hidden instructions +""" + +ida_ida.SCF_SHHID_SEGM +""" +show hidden segments +""" + +ida_ida.SCF_TESTMODE +""" +testida.idc is running +""" + +ida_ida.STRF_AUTO +""" +names have 'autogenerated' bit? +""" + +ida_ida.STRF_COMMENT +""" +generate auto comment for string references? +""" + +ida_ida.STRF_GEN +""" +generate names? +""" + +ida_ida.STRF_SAVECASE +""" +preserve case of strings for identifiers +""" + +ida_ida.STRF_SERIAL +""" +generate serial names? +""" + +ida_ida.STRF_UNICODE +""" +unicode strings are present? +""" + +ida_ida.SW_SEGXRF +""" +show segments in xrefs? +""" + +ida_ida.SW_XRFFNC +""" +show function offsets? +""" + +ida_ida.SW_XRFMRK +""" +show xref type marks? +""" + +ida_ida.SW_XRFVAL +""" +show xref values? (otherwise-"...") +""" + +ida_ida.UA_MAXOP +""" +max number of operands allowed for an instruction +""" +=== ida_ida EPYDOC INJECTIONS END === +Help on class CustomIDAMemo in module ida_kernwin: + +class CustomIDAMemo(View_Hooks) + | # + | # ----------------------------------------------------------------------- + | # CustomIDAMemo + | # ----------------------------------------------------------------------- + | + | Method resolution order: + | CustomIDAMemo + | View_Hooks + | __builtin__.object + | + | Methods defined here: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | __init__(self) + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | + | view_click(self, view, ve) + | + | view_close(self, view, *args) + | + | view_curpos(self, view, *args) + | + | view_dblclick(self, view, ve) + | + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | + | view_mouse_over(self, view, ve) + | + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | view_created(self, *args) + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from View_Hooks: + | + | __swig_destroy__ = + | delete_View_Hooks(self) + +Help on __IDAPython_Completion_Util in module ida_idaapi object: + +class __IDAPython_Completion_Util(__builtin__.object) + | Internal utility class for auto-completion support + | + | Methods defined here: + | + | __call__(self, line, x) + | + | __init__(self) + | + | debug(self, *args) + | + | dir_namespace(self, m, prefix) + | + | get_candidates(self, qname, line, match_syntax_char) + | + | maybe_extend_syntactically(self, ns, name, line, syntax_char) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | QNAME_PAT = <_sre.SRE_Pattern object> + +Help on function IDAPython_ExecScript in module ida_idaapi: + +IDAPython_ExecScript(script, g, print_error=True) + Run the specified script. + It also addresses http://code.google.com/p/idapython/issues/detail?id=42 + + This function is used by the low-level plugin code. + +Help on function IDAPython_ExecSystem in module ida_idaapi: + +IDAPython_ExecSystem(cmd) + Executes a command with popen(). + +Help on function IDAPython_FormatExc in module ida_idaapi: + +IDAPython_FormatExc(etype, value=None, tb=None, limit=None) + This function is used to format an exception given the + values returned by a PyErr_Fetch() + +Help on function IDAPython_LoadProcMod in module ida_idaapi: + +IDAPython_LoadProcMod(script, g, print_error=True) + Load processor module. + +Help on function IDAPython_UnLoadProcMod in module ida_idaapi: + +IDAPython_UnLoadProcMod(script, g, print_error=True) + Unload processor module. + +Help on class IDAPython_displayhook in module ida_idaapi: + +class IDAPython_displayhook + | # ------------------------------------------------------------ + | + | Methods defined here: + | + | __init__(self) + | + | _print_hex(self, x) + | + | displayhook(self, item) + | + | format_item(self, num_printer, storage, item) + | + | format_seq(self, num_printer, storage, item, opn, cls) + +Help on class PyIdc_cvt_int64__ in module ida_idaapi: + +class PyIdc_cvt_int64__(pyidc_cvt_helper__) + | Helper class for explicitly representing VT_INT64 values + | + | Method resolution order: + | PyIdc_cvt_int64__ + | pyidc_cvt_helper__ + | __builtin__.object + | + | Methods defined here: + | + | _PyIdc_cvt_int64____op = __op(self, op_n, other, rev=False) + | + | __add__(self, other) + | + | __div__(self, other) + | + | __init__(self, v) + | + | __mul__(self, other) + | + | __radd__(self, other) + | + | __rdiv__(self, other) + | + | __rmul__(self, other) + | + | __rsub__(self, other) + | + | __sub__(self, other) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _PyIdc_cvt_int64____op_table = {0: >, 1: + +Help on function __install_excepthook in module ida_idaapi: + +__install_excepthook() + # Since version 5.5, PyQt5 doesn't simply print the PyQt exceptions by default + # anymore: https://github.com/baoboa/pyqt5/commit/1e1d8a3ba677ef3e47b916b8a5b9c281d0f8e4b5#diff-848704a82f6a6e3a13112145ce32ac69L63 + # The default behavior now is that qFatal() is called, causing the application + # to abort(). + # We do not want that to happen in IDA, and simply having a sys.excepthook + # that is different from sys.__excepthook__ is enough for PyQt5 to return + # to the previous behavior + +Help on function _bounded_getitem_iterator in module ida_idaapi: + +_bounded_getitem_iterator(self) + Helper function, to be set as __iter__ method for qvector-, or array-based classes. + +Help on function _listify_types in module ida_idaapi: + +_listify_types(*classes) + +Help on function _qvector_back in module ida_idaapi: + +_qvector_back(self) + # ----------------------------------------------------------------------- + +Help on function _qvector_front in module ida_idaapi: + +_qvector_front(self) + # ----------------------------------------------------------------------- + +Help on function _replace_module_function in module ida_idaapi: + +_replace_module_function(replacement) + +Help on function _utf8_native in module ida_idaapi: + +_utf8_native(utf8) + +Help on function as_UTF16 in module ida_idaapi: + +as_UTF16(s) + Convenience function to convert a string into appropriate unicode format + +Help on function as_cstr in module ida_idaapi: + +as_cstr(val) + 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 and returns the string value up to that point. + +Help on function as_int32 in module ida_idaapi: + +as_int32(v) + Returns a number as a signed int32 number + +Help on function as_signed in module ida_idaapi: + +as_signed(v, nbits=32) + Returns a number as signed. The number of bits are specified by the user. + The MSB holds the sign. + +Help on function as_uint32 in module ida_idaapi: + +as_uint32(v) + Returns a number as an unsigned int32 number + +Help on function copy_bits in module ida_idaapi: + +copy_bits(v, s, e=-1) + Copy bits from a value + @param v: the value + @param s: starting bit (0-based) + @param e: ending bit + +Help on function disable_script_timeout in module ida_idaapi: + +disable_script_timeout(*args) + 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 + +Help on function enable_extlang_python in module ida_idaapi: + +enable_extlang_python(*args) + 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 + +Help on function enable_python_cli in module ida_idaapi: + +enable_python_cli(*args) + enable_python_cli(enable) + +Help on function format_basestring in module ida_idaapi: + +format_basestring(*args) + format_basestring(_in) -> PyObject * + +Help on function get_inf_structure in module ida_idaapi: + +get_inf_structure(*args) + get_inf_structure() -> idainfo + + + Returns the global variable 'inf' (an instance of idainfo structure, see ida.hpp) + +Help on class loader_input_t in module ida_idaapi: + +class loader_input_t(__builtin__.object) + | Proxy of C++ loader_input_t class. + | + | + | A helper class to work with linput_t related functions. + | This class is also used by file loaders scripts. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, pycapsule=None) -> loader_input_t + | + | + | Closes the file + | + | __repr__ = _swig_repr(self) + | + | close(self, *args) + | close(self) + | + | file2base(self, *args) + | 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 li: pointer ot input source + | @param pos: position in the file + | @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 + | + | filename(self, *args) + | filename(self) -> PyObject * + | + | get_char(self, *args) + | get_char(self) -> PyObject * + | + | get_linput(self, *args) + | get_linput(self) -> linput_t * + | + | gets(self, *args) + | gets(self, len) -> PyObject * + | + | + | Reads a line from the input file. Returns the read line or None + | + | getz(self, *args) + | 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. + | + | open(self, *args) + | open(self, filename, remote=False) -> bool + | + | + | Opens a file (or a remote file) + | @return: Boolean + | + | open_memory(self, *args) + | 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 + | + | opened(self, *args) + | opened(self) -> bool + | + | + | Checks if the file is opened or not + | + | read(self, *args) + | read(self, size) -> PyObject * + | + | + | Reads from the file. Returns the buffer or None + | + | readbytes(self, *args) + | readbytes(self, size, big_endian) -> PyObject * + | + | + | Similar to read() but it respect the endianness + | + | seek(self, *args) + | seek(self, pos, whence=SEEK_SET) -> int64 + | + | + | Set input source position + | @return: the new position (not 0 as fseek!) + | + | set_linput(self, *args) + | set_linput(self, linput) + | + | + | Links the current loader_input_t instance to a linput_t instance + | + | size(self, *args) + | size(self) -> int64 + | + | tell(self, *args) + | tell(self) -> int64 + | + | + | Returns the current position + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | from_capsule(*args) + | from_capsule(pycapsule) -> loader_input_t + | + | from_fp(*args) + | from_fp(fp) -> loader_input_t + | + | + | A static method to construct an instance from a FILE* + | + | from_linput(*args) + | from_linput(linput) -> loader_input_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __idc_cvt_id__ + | loader_input_t___idc_cvt_id___get(self) -> int + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_loader_input_t(self) + +Help on function loader_input_t_from_capsule in module ida_idaapi: + +loader_input_t_from_capsule(*args) + loader_input_t_from_capsule(pycapsule) -> loader_input_t + +Help on function loader_input_t_from_fp in module ida_idaapi: + +loader_input_t_from_fp(*args) + loader_input_t_from_fp(fp) -> loader_input_t + +Help on function loader_input_t_from_linput in module ida_idaapi: + +loader_input_t_from_linput(*args) + loader_input_t_from_linput(linput) -> loader_input_t + +Help on function notify_when in module ida_idaapi: + +notify_when(when, callback) + 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 + +Help on class object_t in module ida_idaapi: + +class object_t(__builtin__.object) + | Helper class used to initialize empty objects + | + | Methods defined here: + | + | __getitem__(self, idx) + | Allow access to object attributes by index (like dictionaries) + | + | __init__(self, **kwds) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function parse_command_line3 in module ida_idaapi: + +parse_command_line3(*args) + parse_command_line3(cmdline) -> PyObject * + +Help on class plugin_t in module ida_idaapi: + +class plugin_t(pyidc_opaque_object_t) + | Base class for all scripted plugins. + | + | Method resolution order: + | plugin_t + | pyidc_opaque_object_t + | __builtin__.object + | + | Data descriptors inherited from pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on class py_clinked_object_t in module ida_idaapi: + +class py_clinked_object_t(pyidc_opaque_object_t) + | This is a utility and base class for C linked objects + | + | Method resolution order: + | py_clinked_object_t + | pyidc_opaque_object_t + | __builtin__.object + | + | Methods defined here: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | __init__(self, lnk=None) + | + | _create_clink(self) + | Overwrite me. + | Creates a new clink + | @return: PyCapsule representing the C link + | + | _del_clink(self, lnk) + | Overwrite me. + | This method deletes the link + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | _get_clink_ptr(self) + | Overwrite me. + | Returns the C link pointer as a 64bit number + | + | assign(self, other) + | Overwrite me. + | This method allows you to assign an instance contents to anothers + | @return: Boolean + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function pycim_get_widget in module ida_idaapi: + +pycim_get_widget(*args) + pycim_get_widget(_self) -> TWidget * + +Help on function pycim_view_close in module ida_idaapi: + +pycim_view_close(*args) + pycim_view_close(_self) + +Help on function pygc_create_groups in module ida_idaapi: + +pygc_create_groups(*args) + pygc_create_groups(_self, groups_infos) -> PyObject * + +Help on function pygc_delete_groups in module ida_idaapi: + +pygc_delete_groups(*args) + pygc_delete_groups(_self, groups, new_current) -> PyObject * + +Help on function pygc_refresh in module ida_idaapi: + +pygc_refresh(*args) + pygc_refresh(_self) + +Help on function pygc_set_groups_visibility in module ida_idaapi: + +pygc_set_groups_visibility(*args) + pygc_set_groups_visibility(_self, groups, expand, new_current) -> PyObject * + +Help on class pyidc_cvt_helper__ in module ida_idaapi: + +class pyidc_cvt_helper__(__builtin__.object) + | 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 + | + | Methods defined here: + | + | __init__(self, cvt_id, value) + | + | _pyidc_cvt_helper____get_value = __get_value(self) + | + | _pyidc_cvt_helper____set_value = __set_value(self, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | value + +Help on class pyidc_opaque_object_t in module ida_idaapi: + +class pyidc_opaque_object_t(__builtin__.object) + | This is the base class for all Python<->IDC opaque objects + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __idc_cvt_id__ = 2 + +Help on function replfun in module ida_idaapi: + +replfun(func) + +Help on function require in module ida_idaapi: + +require(modulename, package=None) + 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: . + +Help on function set_script_timeout in module ida_idaapi: + +set_script_timeout(*args) + 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 + +Help on function struct_unpack in module ida_idaapi: + +struct_unpack(buffer, signed=False, offs=0) + 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. + +Help on function get_mark_comment in module ida_idc: + +get_mark_comment(*args) + get_mark_comment(slot) -> PyObject * + +Help on function get_marked_pos in module ida_idc: + +get_marked_pos(*args) + get_marked_pos(slot) -> ea_t + +Help on function mark_position in module ida_idc: + +mark_position(*args) + mark_position(ea, lnnum, x, y, slot, comment) + +Help on Appcall__ in module ida_idd object: + +class Appcall__(__builtin__.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | _Appcall____get_consts = __get_consts(self) + | + | __getattr__(self, name_or_ea) + | Allows you to call functions as if they were member functions (by returning a callable object) + | + | __getitem__(self, idx) + | Use self[func_name] syntax if the function name contains invalid characters for an attribute name + | See __getattr___ + | + | __init__(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | UTF16(s) + | + | _Appcall____name_or_ea = __name_or_ea(name_or_ea) + | Function that accepts a name or an ea and checks if the address is enabled. + | If a name is passed then idaapi.get_name_ea() is applied to retrieve the name + | @return: + | - Returns the resolved EA or + | - Raises an exception if the address is not enabled + | + | _Appcall____typedecl_or_tinfo = __typedecl_or_tinfo(typedecl_or_tinfo, flags=None) + | Function that accepts a tinfo_t object or type declaration as a string + | If a type declaration is passed then ida_typeinf.parse_decl() is applied to prepare tinfo_t object + | @return: + | - Returns the tinfo_t object + | - Raises an exception if the declaration cannot be parsed + | + | array(type_name) + | Defines an array type. Later you need to pack() / unpack() + | + | buffer(str=None, size=0, fill='\x00') + | 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 + | + | byref(val) + | 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) + | + | cleanup_appcall(tid=0) + | Equivalent to IDC's CleanupAppcall() + | + | cstr(val) + | + | get_appcall_options() + | Return the global Appcall options + | + | int64(v) + | Whenever a 64bit number is needed use this method to construct an object + | + | obj(**kwds) + | Returns an empty object or objects with attributes as passed via its keywords arguments + | + | proto(name_or_ea, proto_or_tinfo, flags=None) + | 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 + | + | set_appcall_options(opt) + | Method to change the Appcall options globally (not per Appcall) + | + | typedobj(typedecl_or_tinfo, ea=None) + | 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 + | + | unicode = UTF16(s) + | + | valueof(name, default=0) + | Returns the numeric value of a given name string. + | If the name could not be resolved then the default value will be returned + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Consts + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | APPCALL_DEBEV = 2 + | + | APPCALL_MANUAL = 1 + | + | APPCALL_TIMEOUT = 4 + | + | __name__ = 'Appcall__' + +Help on class Appcall__ in module ida_idd: + +class Appcall__(__builtin__.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | _Appcall____get_consts = __get_consts(self) + | + | __getattr__(self, name_or_ea) + | Allows you to call functions as if they were member functions (by returning a callable object) + | + | __getitem__(self, idx) + | Use self[func_name] syntax if the function name contains invalid characters for an attribute name + | See __getattr___ + | + | __init__(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | UTF16(s) + | + | _Appcall____name_or_ea = __name_or_ea(name_or_ea) + | Function that accepts a name or an ea and checks if the address is enabled. + | If a name is passed then idaapi.get_name_ea() is applied to retrieve the name + | @return: + | - Returns the resolved EA or + | - Raises an exception if the address is not enabled + | + | _Appcall____typedecl_or_tinfo = __typedecl_or_tinfo(typedecl_or_tinfo, flags=None) + | Function that accepts a tinfo_t object or type declaration as a string + | If a type declaration is passed then ida_typeinf.parse_decl() is applied to prepare tinfo_t object + | @return: + | - Returns the tinfo_t object + | - Raises an exception if the declaration cannot be parsed + | + | array(type_name) + | Defines an array type. Later you need to pack() / unpack() + | + | buffer(str=None, size=0, fill='\x00') + | 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 + | + | byref(val) + | 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) + | + | cleanup_appcall(tid=0) + | Equivalent to IDC's CleanupAppcall() + | + | cstr(val) + | + | get_appcall_options() + | Return the global Appcall options + | + | int64(v) + | Whenever a 64bit number is needed use this method to construct an object + | + | obj(**kwds) + | Returns an empty object or objects with attributes as passed via its keywords arguments + | + | proto(name_or_ea, proto_or_tinfo, flags=None) + | 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 + | + | set_appcall_options(opt) + | Method to change the Appcall options globally (not per Appcall) + | + | typedobj(typedecl_or_tinfo, ea=None) + | 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 + | + | unicode = UTF16(s) + | + | valueof(name, default=0) + | Returns the numeric value of a given name string. + | If the name could not be resolved then the default value will be returned + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Consts + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | APPCALL_DEBEV = 2 + | + | APPCALL_MANUAL = 1 + | + | APPCALL_TIMEOUT = 4 + | + | __name__ = 'Appcall__' + +Help on class Appcall_array__ in module ida_idd: + +class Appcall_array__(__builtin__.object) + | This class is used with Appcall.array() method + | + | Methods defined here: + | + | __init__(self, tp) + | + | pack(self, L) + | Packs a list or tuple into a byref buffer + | + | try_to_convert_to_list(self, obj) + | Is this object a list? We check for the existance of attribute zero and attribute self.size-1 + | + | unpack(self, buf, as_list=True) + | Unpacks an array back into a list or an object + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class Appcall_callable__ in module ida_idd: + +class Appcall_callable__(__builtin__.object) + | 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) + | + | Methods defined here: + | + | _Appcall_callable____get_ea = __get_ea(self) + | + | _Appcall_callable____get_fields = __get_fields(self) + | + | _Appcall_callable____get_options = __get_options(self) + | + | _Appcall_callable____get_size = __get_size(self) + | + | _Appcall_callable____get_tif = __get_tif(self) + | + | _Appcall_callable____get_timeout = __get_timeout(self) + | + | _Appcall_callable____get_type = __get_type(self) + | + | _Appcall_callable____set_ea = __set_ea(self, val) + | + | _Appcall_callable____set_options = __set_options(self, v) + | + | _Appcall_callable____set_timeout = __set_timeout(self, v) + | + | __call__(self, *args) + | Make object callable. We redirect execution to idaapi.appcall() + | + | __init__(self, ea, tinfo_or_typestr=None, fields=None) + | Initializes an appcall with a given function ea + | + | retrieve(self, src=None, flags=0) + | 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). + | + | store(self, obj, dest_ea=None, base_ea=0, flags=0) + | 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) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | + | fields + | + | options + | + | size + | + | tif + | + | timeout + | + | type + +Help on class Appcall_consts__ in module ida_idd: + +class Appcall_consts__(__builtin__.object) + | Helper class used by Appcall.Consts attribute + | It is used to retrieve constants via attribute access + | + | Methods defined here: + | + | __getattr__(self, attr) + | + | __init__(self, default=None) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function appcall in module ida_idd: + +appcall(*args) + appcall(func_ea, tid, _type_or_none, _fields, arg_list) -> PyObject * + +Help on class bptaddr_t in module ida_idd: + +class bptaddr_t(__builtin__.object) + | Proxy of C++ bptaddr_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bptaddr_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hea + | bptaddr_t_hea_get(self) -> ea_t + | + | kea + | bptaddr_t_kea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bptaddr_t(self) + +Help on class call_stack_info_t in module ida_idd: + +class call_stack_info_t(__builtin__.object) + | Proxy of C++ call_stack_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> call_stack_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | callea + | call_stack_info_t_callea_get(self) -> ea_t + | + | fp + | call_stack_info_t_fp_get(self) -> ea_t + | + | funcea + | call_stack_info_t_funcea_get(self) -> ea_t + | + | funcok + | call_stack_info_t_funcok_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_call_stack_info_t(self) + +Help on class call_stack_t in module ida_idd: + +class call_stack_t(__builtin__.object) + | Proxy of C++ qvector< call_stack_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> call_stack_info_t + | + | __init__(self, *args) + | __init__(self) -> call_stack_t + | __init__(self, x) -> call_stack_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> call_stack_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> call_stack_info_t + | begin(self) -> call_stack_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> call_stack_info_t + | end(self) -> call_stack_info_t + | + | erase(self, *args) + | erase(self, it) -> call_stack_info_t + | erase(self, first, last) -> call_stack_info_t + | + | extract(self, *args) + | extract(self) -> call_stack_info_t + | + | find(self, *args) + | find(self, x) -> call_stack_info_t + | find(self, x) -> call_stack_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=call_stack_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> call_stack_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> call_stack_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_call_stack_t(self) + +Help on function can_exc_continue in module ida_idd: + +can_exc_continue(*args) + can_exc_continue(ev) -> bool + +Help on function cleanup_appcall in module ida_idd: + +cleanup_appcall(*args) + cleanup_appcall(tid) -> error_t + + + Cleanup after manual appcall. + + @param tid: 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. (C++: + thid_t) + @return: eOk if successful, otherwise an error code + +Help on function dbg_appcall in module ida_idd: + +dbg_appcall(*args) + dbg_appcall(retval, func_ea, tid, ptif, argv, argnum) -> error_t + + + Call a function from the debugged application. + + @param retval (C++: idc_value_t *) + @param func_ea: address to call (C++: ea_t) + @param tid: thread to use. NO_THREAD means to use the current thread + (C++: thid_t) + @param ptif: pointer to type of the function to call (C++: const + tinfo_t *) + @param argv: array of arguments (C++: idc_value_t *) + @param argnum: number of actual arguments (C++: size_t) + @return: eOk if successful, otherwise an error code + +Help on built-in function dbg_can_query in module _ida_dbg: + +dbg_can_query(...) + dbg_can_query() -> bool + +Help on function dbg_get_memory_info in module ida_idd: + +dbg_get_memory_info(*args) + 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) + +Help on function dbg_get_name in module ida_idd: + +dbg_get_name(*args) + dbg_get_name() -> PyObject * + + + This function returns the current debugger's name. + @return: Debugger name or None if no debugger is active + +Help on function dbg_get_registers in module ida_idd: + +dbg_get_registers(*args) + 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) + +Help on function dbg_get_thread_sreg_base in module ida_idd: + +dbg_get_thread_sreg_base(*args) + 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 + +Help on function dbg_read_memory in module ida_idd: + +dbg_read_memory(*args) + dbg_read_memory(ea, sz) -> PyObject * + + + Reads from the debugee's memory at the specified ea + @return: + - The read buffer (as a string) + - Or None on failure + +Help on function dbg_write_memory in module ida_idd: + +dbg_write_memory(*args) + dbg_write_memory(ea, buf) -> PyObject * + + + Writes a buffer to the debugee's memory + @return: Boolean + +Help on class debapp_attrs_t in module ida_idd: + +class debapp_attrs_t(__builtin__.object) + | Proxy of C++ debapp_attrs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> debapp_attrs_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | addrsize + | debapp_attrs_t_addrsize_get(self) -> int + | + | cbsize + | debapp_attrs_t_cbsize_get(self) -> int32 + | + | is_be + | debapp_attrs_t_is_be_get(self) -> int + | + | platform + | debapp_attrs_t_platform_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_debapp_attrs_t(self) + +Help on class debug_event_t in module ida_idd: + +class debug_event_t(__builtin__.object) + | Proxy of C++ debug_event_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> debug_event_t + | __init__(self, r) -> debug_event_t + | + | __repr__ = _swig_repr(self) + | + | bpt(self, *args) + | bpt(self) -> bptaddr_t + | bpt(self) -> bptaddr_t + | + | bpt_ea(self, *args) + | bpt_ea(self) -> ea_t + | + | clear(self, *args) + | clear(self) + | + | clear_all(self, *args) + | clear_all(self) + | + | copy(self, *args) + | copy(self, r) -> debug_event_t + | + | eid(self, *args) + | eid(self) -> event_id_t + | + | exc(self, *args) + | exc(self) -> excinfo_t + | exc(self) -> excinfo_t + | + | exit_code(self, *args) + | exit_code(self) -> int const & + | + | info(self, *args) + | info(self) -> qstring + | info(self) -> qstring const & + | + | modinfo(self, *args) + | modinfo(self) -> modinfo_t + | modinfo(self) -> modinfo_t + | + | set_bpt(self, *args) + | set_bpt(self) -> bptaddr_t + | + | set_eid(self, *args) + | set_eid(self, id) + | + | set_exception(self, *args) + | set_exception(self) -> excinfo_t + | + | set_exit_code(self, *args) + | set_exit_code(self, id, code) + | + | set_info(self, *args) + | set_info(self, id) -> qstring & + | + | set_modinfo(self, *args) + | set_modinfo(self, id) -> modinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | debug_event_t_ea_get(self) -> ea_t + | + | handled + | debug_event_t_handled_get(self) -> bool + | + | pid + | debug_event_t_pid_get(self) -> pid_t + | + | thisown + | The membership flag + | + | tid + | debug_event_t_tid_get(self) -> thid_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_debug_event_t(self) + +Help on class exception_info_t in module ida_idd: + +class exception_info_t(__builtin__.object) + | Proxy of C++ exception_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> exception_info_t + | __init__(self, _code, _flags, _name, _desc) -> exception_info_t + | + | __repr__ = _swig_repr(self) + | + | break_on(self, *args) + | break_on(self) -> bool + | + | handle(self, *args) + | handle(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | exception_info_t_code_get(self) -> uint + | + | desc + | exception_info_t_desc_get(self) -> qstring * + | + | flags + | exception_info_t_flags_get(self) -> uint32 + | + | name + | exception_info_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_exception_info_t(self) + +Help on class excinfo_t in module ida_idd: + +class excinfo_t(__builtin__.object) + | Proxy of C++ excinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> excinfo_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | can_cont + | excinfo_t_can_cont_get(self) -> bool + | + | code + | excinfo_t_code_get(self) -> uint32 + | + | ea + | excinfo_t_ea_get(self) -> ea_t + | + | info + | excinfo_t_info_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_excinfo_t(self) + +Help on class excvec_t in module ida_idd: + +class excvec_t(__builtin__.object) + | Proxy of C++ qvector< exception_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> exception_info_t + | + | __init__(self, *args) + | __init__(self) -> excvec_t + | __init__(self, x) -> excvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> exception_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> exception_info_t + | begin(self) -> exception_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> exception_info_t + | end(self) -> exception_info_t + | + | erase(self, *args) + | erase(self, it) -> exception_info_t + | erase(self, first, last) -> exception_info_t + | + | extract(self, *args) + | extract(self) -> exception_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=exception_info_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> exception_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> exception_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_excvec_t(self) + +Help on function get_event_bpt_hea in module ida_idd: + +get_event_bpt_hea(*args) + get_event_bpt_hea(ev) -> ea_t + +Help on function get_event_exc_code in module ida_idd: + +get_event_exc_code(*args) + get_event_exc_code(ev) -> uint + +Help on function get_event_exc_ea in module ida_idd: + +get_event_exc_ea(*args) + get_event_exc_ea(ev) -> ea_t + +Help on function get_event_exc_info in module ida_idd: + +get_event_exc_info(*args) + get_event_exc_info(ev) -> str + +Help on function get_event_info in module ida_idd: + +get_event_info(*args) + get_event_info(ev) -> str + +Help on function get_event_module_base in module ida_idd: + +get_event_module_base(*args) + get_event_module_base(ev) -> ea_t + +Help on function get_event_module_name in module ida_idd: + +get_event_module_name(*args) + get_event_module_name(ev) -> str + +Help on function get_event_module_size in module ida_idd: + +get_event_module_size(*args) + get_event_module_size(ev) -> asize_t + +Help on class meminfo_vec_t in module ida_idd: + +class meminfo_vec_t(__builtin__.object) + | Proxy of C++ qvector< memory_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> memory_info_t + | + | __init__(self, *args) + | __init__(self) -> meminfo_vec_t + | __init__(self, x) -> meminfo_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> memory_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> memory_info_t + | begin(self) -> memory_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> memory_info_t + | end(self) -> memory_info_t + | + | erase(self, *args) + | erase(self, it) -> memory_info_t + | erase(self, first, last) -> memory_info_t + | + | extract(self, *args) + | extract(self) -> memory_info_t + | + | find(self, *args) + | find(self, x) -> memory_info_t + | find(self, x) -> memory_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=memory_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> memory_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> memory_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_meminfo_vec_t(self) + +Help on class memory_info_t in module ida_idd: + +class memory_info_t(ida_range.range_t) + | Proxy of C++ memory_info_t class. + | + | Method resolution order: + | memory_info_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> memory_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bitness + | memory_info_t_bitness_get(self) -> uchar + | + | name + | memory_info_t_name_get(self) -> qstring * + | + | perm + | memory_info_t_perm_get(self) -> uchar + | + | sbase + | memory_info_t_sbase_get(self) -> ea_t + | + | sclass + | memory_info_t_sclass_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_memory_info_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on class modinfo_t in module ida_idd: + +class modinfo_t(__builtin__.object) + | Proxy of C++ modinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> modinfo_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | modinfo_t_base_get(self) -> ea_t + | + | name + | modinfo_t_name_get(self) -> qstring * + | + | rebase_to + | modinfo_t_rebase_to_get(self) -> ea_t + | + | size + | modinfo_t_size_get(self) -> asize_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_modinfo_t(self) + +Help on class process_info_t in module ida_idd: + +class process_info_t(__builtin__.object) + | Proxy of C++ process_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> process_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | process_info_t_name_get(self) -> qstring * + | + | pid + | process_info_t_pid_get(self) -> pid_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_process_info_t(self) + +Help on class procinfo_vec_t in module ida_idd: + +class procinfo_vec_t(__builtin__.object) + | Proxy of C++ qvector< process_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> process_info_t + | + | __init__(self, *args) + | __init__(self) -> procinfo_vec_t + | __init__(self, x) -> procinfo_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> process_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> process_info_t + | begin(self) -> process_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> process_info_t + | end(self) -> process_info_t + | + | erase(self, *args) + | erase(self, it) -> process_info_t + | erase(self, first, last) -> process_info_t + | + | extract(self, *args) + | extract(self) -> process_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=process_info_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> process_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> process_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_procinfo_vec_t(self) + +Help on class register_info_t in module ida_idd: + +class register_info_t(__builtin__.object) + | Proxy of C++ register_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> register_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bit_strings + | register_info_t_bit_strings_get(self) -> char const *const * + | + | default_bit_strings_mask + | register_info_t_default_bit_strings_mask_get(self) -> uval_t + | + | dtype + | register_info_t_dtype_get(self) -> op_dtype_t + | + | flags + | register_info_t_flags_get(self) -> uint32 + | + | name + | register_info_t_name_get(self) -> char const * + | + | register_class + | register_info_t_register_class_get(self) -> register_class_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_register_info_t(self) + +Help on class regval_t in module ida_idd: + +class regval_t(__builtin__.object) + | Proxy of C++ regval_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> regval_t + | __init__(self, r) -> regval_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | bytes(self, *args) + | bytes(self) -> bytevec_t + | bytes(self) -> bytevec_t const & + | + | clear(self, *args) + | clear(self) + | + | get_data(self, *args) + | get_data(self) + | get_data(self) -> void const * + | + | get_data_size(self, *args) + | get_data_size(self) -> size_t + | + | set_bytes(self, *args) + | set_bytes(self, data, size) + | set_bytes(self, v) + | set_bytes(self) -> bytevec_t & + | + | set_float(self, *args) + | set_float(self, x) + | + | set_int(self, *args) + | set_int(self, x) + | + | set_unavailable(self, *args) + | set_unavailable(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fval + | regval_t_fval_get(self) -> uint16 [6] + | + | ival + | regval_t_ival_get(self) -> uint64 + | + | rvtype + | regval_t_rvtype_get(self) -> int32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regval_t(self) + +Help on class scattered_segm_t in module ida_idd: + +class scattered_segm_t(ida_range.range_t) + | Proxy of C++ scattered_segm_t class. + | + | Method resolution order: + | scattered_segm_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> scattered_segm_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | name + | scattered_segm_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_scattered_segm_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on function set_debug_event_code in module ida_idd: + +set_debug_event_code(*args) + set_debug_event_code(ev, id) + +Help on class thread_name_t in module ida_idd: + +class thread_name_t(__builtin__.object) + | Proxy of C++ thread_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> thread_name_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | thread_name_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tid + | thread_name_t_tid_get(self) -> thid_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_thread_name_t(self) + +=== ida_idd EPYDOC INJECTIONS === +ida_idd.EXC_BREAK +""" +break on the exception +""" + +ida_idd.EXC_HANDLE +""" +should be handled by the debugger? +""" + +ida_idd.EXC_MSG +""" +instead of a warning, log the exception to the output window +""" + +ida_idd.EXC_SILENT +""" +do not warn or log to the output window +""" + +ida_idd.IDD_INTERFACE_VERSION +""" +The IDD interface version number. +""" + +ida_idd.NO_PROCESS +""" +No process. +""" + +ida_idd.NO_THREAD +""" +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. +""" + +ida_idd.REGISTER_ADDRESS +""" +may contain an address +""" + +ida_idd.REGISTER_CS +""" +code segment +""" + +ida_idd.REGISTER_CUSTFMT +""" +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' +""" + +ida_idd.REGISTER_FP +""" +frame pointer +""" + +ida_idd.REGISTER_IP +""" +instruction pointer +""" + +ida_idd.REGISTER_NOLF +""" +allowing the next register to be displayed to its right (on the same +line) + +displays this register without returning to the next line +""" + +ida_idd.REGISTER_READONLY +""" +the user can't modify the current value of this register +""" + +ida_idd.REGISTER_SP +""" +stack pointer +""" + +ida_idd.REGISTER_SS +""" +stack segment +""" + +ida_idd.RVT_FLOAT +""" +floating point +""" + +ida_idd.RVT_INT +""" +integer +""" + +ida_idd.RVT_UNAVAILABLE +""" +other values mean custom data type + +unavailable +""" +=== ida_idd EPYDOC INJECTIONS END === +Help on function AssembleLine in module ida_idp: + +AssembleLine(*args) + AssembleLine(ea, cs, ip, use32, nonnul_line) -> PyObject * + + + 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 line: line to assemble + @return: + - None on failure + - or a string containing the assembled instruction + +Help on class IDB_Hooks in module ida_idp: + +class IDB_Hooks(__builtin__.object) + | Proxy of C++ IDB_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> IDB_Hooks + | + | __repr__ = _swig_repr(self) + | + | allsegs_moved(self, *args) + | allsegs_moved(self, info) + | + | auto_empty(self, *args) + | auto_empty(self) + | + | auto_empty_finally(self, *args) + | auto_empty_finally(self) + | + | bookmark_changed(self, *args) + | bookmark_changed(self, index, pos, desc) + | + | byte_patched(self, *args) + | byte_patched(self, ea, old_value) + | + | callee_addr_changed(self, *args) + | callee_addr_changed(self, ea, callee) + | + | changing_cmt(self, *args) + | changing_cmt(self, ea, repeatable_cmt, newcmt) + | + | changing_enum_bf(self, *args) + | changing_enum_bf(self, id, new_bf) + | + | changing_enum_cmt(self, *args) + | changing_enum_cmt(self, id, repeatable, newcmt) + | + | changing_op_ti(self, *args) + | changing_op_ti(self, ea, n, new_type, new_fnames) + | + | changing_op_type(self, *args) + | changing_op_type(self, ea, n, opinfo) + | + | changing_range_cmt(self, *args) + | changing_range_cmt(self, kind, a, cmt, repeatable) + | + | changing_segm_class(self, *args) + | changing_segm_class(self, s) + | + | changing_segm_end(self, *args) + | changing_segm_end(self, s, new_end, segmod_flags) + | + | changing_segm_name(self, *args) + | changing_segm_name(self, s, oldname) + | + | changing_segm_start(self, *args) + | changing_segm_start(self, s, new_start, segmod_flags) + | + | changing_struc_align(self, *args) + | changing_struc_align(self, sptr) + | + | changing_struc_cmt(self, *args) + | changing_struc_cmt(self, struc_id, repeatable, newcmt) + | + | changing_struc_member(self, *args) + | changing_struc_member(self, sptr, mptr, flag, ti, nbytes) + | + | changing_ti(self, *args) + | changing_ti(self, ea, new_type, new_fnames) + | + | closebase(self, *args) + | closebase(self) + | + | cmt_changed(self, *args) + | cmt_changed(self, ea, repeatable_cmt) + | + | compiler_changed(self, *args) + | compiler_changed(self) + | + | deleting_enum(self, *args) + | deleting_enum(self, id) + | + | deleting_enum_member(self, *args) + | deleting_enum_member(self, id, cid) + | + | deleting_func(self, *args) + | deleting_func(self, pfn) + | + | deleting_func_tail(self, *args) + | deleting_func_tail(self, pfn, tail) + | + | deleting_segm(self, *args) + | deleting_segm(self, start_ea) + | + | deleting_struc(self, *args) + | deleting_struc(self, sptr) + | + | deleting_struc_member(self, *args) + | deleting_struc_member(self, sptr, mptr) + | + | deleting_tryblks(self, *args) + | deleting_tryblks(self, range) + | + | destroyed_items(self, *args) + | destroyed_items(self, ea1, ea2, will_disable_range) + | + | determined_main(self, *args) + | determined_main(self, main) + | + | enum_bf_changed(self, *args) + | enum_bf_changed(self, id) + | + | enum_cmt_changed(self, *args) + | enum_cmt_changed(self, id, repeatable) + | + | enum_created(self, *args) + | enum_created(self, id) + | + | enum_deleted(self, *args) + | enum_deleted(self, id) + | + | enum_member_created(self, *args) + | enum_member_created(self, id, cid) + | + | enum_member_deleted(self, *args) + | enum_member_deleted(self, id, cid) + | + | enum_renamed(self, *args) + | enum_renamed(self, id) + | + | expanding_struc(self, *args) + | expanding_struc(self, sptr, offset, delta) + | + | extlang_changed(self, *args) + | extlang_changed(self, kind, el, idx) + | + | extra_cmt_changed(self, *args) + | extra_cmt_changed(self, ea, line_idx, cmt) + | + | flow_chart_created(self, *args) + | flow_chart_created(self, fc) + | + | frame_deleted(self, *args) + | frame_deleted(self, pfn) + | + | func_added(self, *args) + | func_added(self, pfn) + | + | func_noret_changed(self, *args) + | func_noret_changed(self, pfn) + | + | func_tail_appended(self, *args) + | func_tail_appended(self, pfn, tail) + | + | func_tail_deleted(self, *args) + | func_tail_deleted(self, pfn, tail_ea) + | + | func_updated(self, *args) + | func_updated(self, pfn) + | + | hook(self, *args) + | hook(self) -> bool + | + | idasgn_loaded(self, *args) + | idasgn_loaded(self, short_sig_name) + | + | item_color_changed(self, *args) + | item_color_changed(self, ea, color) + | + | kernel_config_loaded(self, *args) + | kernel_config_loaded(self) + | + | loader_finished(self, *args) + | loader_finished(self, li, neflags, filetypename) + | + | local_types_changed(self, *args) + | local_types_changed(self) + | + | make_code(self, *args) + | make_code(self, insn) + | + | make_data(self, *args) + | make_data(self, ea, flags, tid, len) + | + | op_ti_changed(self, *args) + | op_ti_changed(self, ea, n, type, fnames) + | + | op_type_changed(self, *args) + | op_type_changed(self, ea, n) + | + | range_cmt_changed(self, *args) + | range_cmt_changed(self, kind, a, cmt, repeatable) + | + | renamed(self, *args) + | renamed(self, ea, new_name, local_name) + | + | renaming_enum(self, *args) + | renaming_enum(self, id, is_enum, newname) + | + | renaming_struc(self, *args) + | renaming_struc(self, id, oldname, newname) + | + | renaming_struc_member(self, *args) + | renaming_struc_member(self, sptr, mptr, newname) + | + | savebase(self, *args) + | savebase(self) + | + | segm_added(self, *args) + | segm_added(self, s) + | + | segm_attrs_updated(self, *args) + | segm_attrs_updated(self, s) + | + | segm_class_changed(self, *args) + | segm_class_changed(self, s, sclass) + | + | segm_deleted(self, *args) + | segm_deleted(self, start_ea, end_ea) + | + | segm_end_changed(self, *args) + | segm_end_changed(self, s, oldend) + | + | segm_moved(self, *args) + | segm_moved(self, _from, to, size, changed_netmap) + | + | segm_name_changed(self, *args) + | segm_name_changed(self, s, name) + | + | segm_start_changed(self, *args) + | segm_start_changed(self, s, oldstart) + | + | set_func_end(self, *args) + | set_func_end(self, pfn, new_end) + | + | set_func_start(self, *args) + | set_func_start(self, pfn, new_start) + | + | sgr_changed(self, *args) + | sgr_changed(self, start_ea, end_ea, regnum, value, old_value, tag) + | + | sgr_deleted(self, *args) + | sgr_deleted(self, start_ea, end_ea, regnum) + | + | stkpnts_changed(self, *args) + | stkpnts_changed(self, pfn) + | + | struc_align_changed(self, *args) + | struc_align_changed(self, sptr) + | + | struc_cmt_changed(self, *args) + | struc_cmt_changed(self, struc_id, repeatable_cmt) + | + | struc_created(self, *args) + | struc_created(self, struc_id) + | + | struc_deleted(self, *args) + | struc_deleted(self, struc_id) + | + | struc_expanded(self, *args) + | struc_expanded(self, sptr) + | + | struc_member_changed(self, *args) + | struc_member_changed(self, sptr, mptr) + | + | struc_member_created(self, *args) + | struc_member_created(self, sptr, mptr) + | + | struc_member_deleted(self, *args) + | struc_member_deleted(self, sptr, member_id, offset) + | + | struc_member_renamed(self, *args) + | struc_member_renamed(self, sptr, mptr) + | + | struc_renamed(self, *args) + | struc_renamed(self, sptr) + | + | tail_owner_changed(self, *args) + | tail_owner_changed(self, tail, owner_func, old_owner) + | + | thunk_func_created(self, *args) + | thunk_func_created(self, pfn) + | + | ti_changed(self, *args) + | ti_changed(self, ea, type, fnames) + | + | tryblks_updated(self, *args) + | tryblks_updated(self, tbv) + | + | unhook(self, *args) + | unhook(self) -> bool + | + | updating_tryblks(self, *args) + | updating_tryblks(self, tbv) + | + | upgraded(self, *args) + | upgraded(self, _from) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_IDB_Hooks(self) + +Help on class IDP_Hooks in module ida_idp: + +class IDP_Hooks(__builtin__.object) + | Proxy of C++ IDP_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> IDP_Hooks + | + | __repr__ = _swig_repr(self) + | + | ev_add_cref(self, *args) + | ev_add_cref(self, _from, to, type) -> int + | + | ev_add_dref(self, *args) + | ev_add_dref(self, _from, to, type) -> int + | + | ev_adjust_argloc(self, *args) + | ev_adjust_argloc(self, argloc, optional_type, size) -> int + | + | ev_adjust_libfunc_ea(self, *args) + | ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int + | + | ev_adjust_refinfo(self, *args) + | ev_adjust_refinfo(self, ri, ea, n, fd) -> int + | + | ev_ana_insn(self, *args) + | ev_ana_insn(self, out) -> bool + | + | + | Analyzes and decodes an instruction at insn.ea + | - insn.itype must be set >= idaapi.CUSTOM_CMD_ITYPE + | - insn.size must be set to the instruction length + | + | @return: Boolean + | - False if the instruction is not recognized + | - True if the instruction was decoded. 'insn' should be filled in that case. + | + | ev_analyze_prolog(self, *args) + | ev_analyze_prolog(self, ea) -> int + | + | ev_arg_addrs_ready(self, *args) + | ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int + | + | ev_assemble(self, *args) + | ev_assemble(self, ea, cs, ip, use32, line) -> PyObject * + | + | + | Assembles an instruction + | + | @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: - None to let the underlying processor module assemble the line + | - or a string containing the assembled buffer + | + | ev_auto_queue_empty(self, *args) + | ev_auto_queue_empty(self, type) + | + | ev_calc_arglocs(self, *args) + | ev_calc_arglocs(self, fti) -> int + | + | ev_calc_cdecl_purged_bytes(self, *args) + | ev_calc_cdecl_purged_bytes(self, ea) -> int + | + | ev_calc_next_eas(self, *args) + | ev_calc_next_eas(self, res, insn, over) -> int + | + | ev_calc_purged_bytes(self, *args) + | ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int + | + | ev_calc_retloc(self, *args) + | ev_calc_retloc(self, retloc, rettype, cc) -> int + | + | ev_calc_spdelta(self, *args) + | ev_calc_spdelta(self, spdelta, insn) -> int + | + | ev_calc_step_over(self, *args) + | ev_calc_step_over(self, target, ip) -> int + | + | ev_calc_switch_cases(self, *args) + | ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int + | + | ev_calc_varglocs(self, *args) + | ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int + | + | ev_calcrel(self, *args) + | ev_calcrel(self) -> int + | + | ev_can_have_type(self, *args) + | ev_can_have_type(self, op) -> int + | + | ev_clean_tbit(self, *args) + | ev_clean_tbit(self, ea, getreg, regvalues) -> int + | + | ev_cmp_operands(self, *args) + | ev_cmp_operands(self, op1, op2) -> int + | + | ev_coagulate(self, *args) + | ev_coagulate(self, start_ea) -> int + | + | ev_coagulate_dref(self, *args) + | ev_coagulate_dref(self, _from, to, may_define, code_ea) -> int + | + | ev_create_flat_group(self, *args) + | ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int + | + | ev_create_func_frame(self, *args) + | ev_create_func_frame(self, pfn) -> int + | + | ev_create_switch_xrefs(self, *args) + | ev_create_switch_xrefs(self, jumpea, si) -> int + | + | ev_creating_segm(self, *args) + | ev_creating_segm(self, seg) -> int + | + | ev_decorate_name(self, *args) + | ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * + | + | ev_del_cref(self, *args) + | ev_del_cref(self, _from, to, expand) -> int + | + | ev_del_dref(self, *args) + | ev_del_dref(self, _from, to) -> int + | + | ev_delay_slot_insn(self, *args) + | ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * + | + | ev_demangle_name(self, *args) + | ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * + | + | ev_emu_insn(self, *args) + | 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. + | + | @return: Boolean (whether this instruction has been emulated or not) + | + | ev_endbinary(self, *args) + | ev_endbinary(self, ok) -> int + | + | ev_ending_undo(self, *args) + | ev_ending_undo(self, action_name, is_undo) -> int + | + | ev_equal_reglocs(self, *args) + | ev_equal_reglocs(self, a1, a2) -> int + | + | ev_extract_address(self, *args) + | ev_extract_address(self, out_ea, screen_ea, string, position) -> int + | + | ev_find_op_value(self, *args) + | ev_find_op_value(self, pinsn, opn) -> PyObject * + | + | ev_find_reg_value(self, *args) + | ev_find_reg_value(self, pinsn, reg) -> PyObject * + | + | ev_func_bounds(self, *args) + | ev_func_bounds(self, possible_return_code, pfn, max_func_end_ea) + | + | ev_gen_asm_or_lst(self, *args) + | ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) + | + | ev_gen_map_file(self, *args) + | ev_gen_map_file(self, nlines, fp) -> int + | + | ev_gen_regvar_def(self, *args) + | ev_gen_regvar_def(self, outctx, v) -> int + | + | ev_gen_src_file_lnnum(self, *args) + | ev_gen_src_file_lnnum(self, outctx, file, lnnum) -> int + | + | ev_gen_stkvar_def(self, *args) + | ev_gen_stkvar_def(self, outctx, mptr, v) -> int + | + | ev_get_abi_info(self, *args) + | ev_get_abi_info(self, abi_names, abi_opts, comp) -> int + | + | ev_get_autocmt(self, *args) + | ev_get_autocmt(self, insn) -> PyObject * + | + | ev_get_bg_color(self, *args) + | ev_get_bg_color(self, ea) -> int or None + | + | ev_get_cc_regs(self, *args) + | ev_get_cc_regs(self, regs, cc) -> int + | + | ev_get_code16_mode(self, *args) + | ev_get_code16_mode(self, ea) -> int + | + | ev_get_dbr_opnum(self, *args) + | ev_get_dbr_opnum(self, opnum, insn) -> int + | + | ev_get_default_enum_size(self, *args) + | ev_get_default_enum_size(self, cm) -> int + | + | ev_get_frame_retsize(self, *args) + | ev_get_frame_retsize(self, frsize, pfn) -> int + | + | ev_get_macro_insn_head(self, *args) + | ev_get_macro_insn_head(self, head, ip) -> int + | + | ev_get_operand_string(self, *args) + | ev_get_operand_string(self, insn, opnum) -> PyObject * + | + | ev_get_reg_info(self, *args) + | ev_get_reg_info(self, main_regname, bitrange, regname) -> int + | + | ev_get_reg_name(self, *args) + | ev_get_reg_name(self, reg, width, reghi) -> PyObject * + | + | ev_get_simd_types(self, *args) + | ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int + | + | ev_get_stkarg_offset(self, *args) + | ev_get_stkarg_offset(self) -> int + | + | ev_get_stkvar_scale_factor(self, *args) + | ev_get_stkvar_scale_factor(self) -> int + | + | ev_getreg(self, *args) + | ev_getreg(self, regval, regnum) -> int + | + | ev_init(self, *args) + | ev_init(self, idp_modname) -> int + | + | ev_insn_reads_tbit(self, *args) + | ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int + | + | ev_is_align_insn(self, *args) + | ev_is_align_insn(self, ea) -> int + | + | ev_is_alloca_probe(self, *args) + | ev_is_alloca_probe(self, ea) -> int + | + | ev_is_basic_block_end(self, *args) + | ev_is_basic_block_end(self, insn, call_insn_stops_block) -> int + | + | ev_is_call_insn(self, *args) + | ev_is_call_insn(self, insn) -> int + | + | + | Is the instruction a "call"? + | + | @param insn: instruction + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_cond_insn(self, *args) + | ev_is_cond_insn(self, insn) -> int + | + | ev_is_far_jump(self, *args) + | ev_is_far_jump(self, icode) -> int + | + | ev_is_indirect_jump(self, *args) + | ev_is_indirect_jump(self, insn) -> int + | + | ev_is_insn_table_jump(self, *args) + | ev_is_insn_table_jump(self, insn) -> int + | + | ev_is_jump_func(self, *args) + | ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int + | + | ev_is_ret_insn(self, *args) + | ev_is_ret_insn(self, insn, strict) -> int + | + | + | Is the instruction a "return"? + | + | @param insn: instruction + | @param strict: - True: report only ret instructions + | False: include instructions like "leave" which begins the function epilog + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_sane_insn(self, *args) + | ev_is_sane_insn(self, insn, no_crefs) -> int + | + | + | is the instruction sane for the current file type? + | @param insn: the instruction + | @param no_crefs: + | - 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. + | @return: >=0-ok, <0-no, the instruction isn't likely to appear in the program + | + | ev_is_sp_based(self, *args) + | ev_is_sp_based(self, mode, insn, op) -> int + | + | ev_is_switch(self, *args) + | ev_is_switch(self, si, insn) -> int + | + | ev_last_cb_before_loader(self, *args) + | ev_last_cb_before_loader(self) -> int + | + | ev_loader(self, *args) + | ev_loader(self) -> int + | + | ev_lower_func_type(self, *args) + | ev_lower_func_type(self, argnums, fti) -> int + | + | ev_max_ptr_size(self, *args) + | ev_max_ptr_size(self) -> int + | + | ev_may_be_func(self, *args) + | ev_may_be_func(self, insn, state) -> int + | + | + | Can a function start here? + | @param insn: the instruction + | @param state: autoanalysis phase + | 0: creating functions + | 1: creating chunks + | + | @return: integer (probability 0..100) + | + | ev_may_show_sreg(self, *args) + | ev_may_show_sreg(self, current_ea) -> int + | + | ev_moving_segm(self, *args) + | ev_moving_segm(self, seg, to, flags) -> int + | + | ev_newasm(self, *args) + | ev_newasm(self, asmnum) -> int + | + | ev_newbinary(self, *args) + | ev_newbinary(self, filename, fileoff, basepara, binoff, nbytes) -> int + | + | ev_newfile(self, *args) + | ev_newfile(self, fname) -> int + | + | ev_newprc(self, *args) + | ev_newprc(self, pnum, keep_cfg) -> int + | + | ev_next_exec_insn(self, *args) + | ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int + | + | ev_oldfile(self, *args) + | ev_oldfile(self, fname) -> int + | + | ev_out_assumes(self, *args) + | ev_out_assumes(self, outctx) -> int + | + | ev_out_data(self, *args) + | ev_out_data(self, outctx, analyze_only) -> int + | + | ev_out_footer(self, *args) + | ev_out_footer(self, outctx) + | + | ev_out_header(self, *args) + | ev_out_header(self, outctx) + | + | ev_out_insn(self, *args) + | ev_out_insn(self, outctx) -> bool + | + | + | Outputs the instruction defined in 'ctx.insn' + | + | @return: Boolean (whether this instruction can be outputted or not) + | + | ev_out_label(self, *args) + | ev_out_label(self, outctx, colored_name) -> int + | + | ev_out_mnem(self, *args) + | ev_out_mnem(self, outctx) -> int + | + | ev_out_operand(self, *args) + | ev_out_operand(self, outctx, op) -> bool + | + | + | Notification to generate operand text. + | If False was returned, then the standard operand output function will be called. + | + | this notification may use out_...() functions to form the operand text + | + | @return: Boolean (whether the operand has been outputted or not) + | + | ev_out_segend(self, *args) + | ev_out_segend(self, outctx, seg) -> int + | + | ev_out_segstart(self, *args) + | ev_out_segstart(self, outctx, seg) -> int + | + | ev_out_special_item(self, *args) + | ev_out_special_item(self, outctx, segtype) -> int + | + | ev_realcvt(self, *args) + | ev_realcvt(self, m, e, swt) -> int + | + | ev_rename(self, *args) + | ev_rename(self, ea, new_name) -> int + | + | + | The kernel is going to rename a byte. + | + | @param ea: Address + | @param new_name: The new name + | + | @return: + | - If returns value <0, then the kernel should + | not rename it. See also the 'renamed' event + | + | ev_replaying_undo(self, *args) + | ev_replaying_undo(self, action_name, vec, is_undo) -> int + | + | ev_set_code16_mode(self, *args) + | ev_set_code16_mode(self, ea, code16) -> int + | + | ev_set_idp_options(self, *args) + | ev_set_idp_options(self, keyword, value_type, value, errbuf, idb_loaded) -> int + | + | ev_set_proc_options(self, *args) + | ev_set_proc_options(self, options, confidence) -> int + | + | ev_setup_til(self, *args) + | ev_setup_til(self) + | + | ev_shadow_args_size(self, *args) + | ev_shadow_args_size(self, shadow_args_size, pfn) -> int + | + | ev_str2reg(self, *args) + | ev_str2reg(self, regname) -> int + | + | ev_term(self, *args) + | ev_term(self) -> int + | + | ev_treat_hindering_item(self, *args) + | ev_treat_hindering_item(self, hindering_item_ea, new_item_flags, new_item_ea, new_item_length) -> int + | + | ev_undefine(self, *args) + | ev_undefine(self, ea) -> int + | + | + | An item in the database (insn or data) is being deleted + | @param ea: Address + | @return: + | - 1 - do not delete srranges at the item end + | - 0 - srranges can be deleted + | + | ev_use_arg_types(self, *args) + | ev_use_arg_types(self, ea, fti, rargs) -> int + | + | ev_use_regarg_type(self, *args) + | ev_use_regarg_type(self, ea, rargs) -> PyObject * + | + | ev_use_stkarg_type(self, *args) + | ev_use_stkarg_type(self, ea, arg) -> int + | + | ev_validate_flirt_func(self, *args) + | ev_validate_flirt_func(self, start_ea, funcname) -> int + | + | ev_verify_noreturn(self, *args) + | ev_verify_noreturn(self, pfn) -> int + | + | ev_verify_sp(self, *args) + | ev_verify_sp(self, pfn) -> int + | + | hook(self, *args) + | hook(self) -> bool + | + | + | Creates an IDP hook + | + | @return: Boolean true on success + | + | unhook(self, *args) + | unhook(self) -> bool + | + | + | Removes the IDP hook + | @return: Boolean true on success + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_IDP_Hooks(self) + +Help on class __ph in module ida_idp: + +class __ph(__builtin__.object) + | # ---------------------------------------------------------------------- + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cnbits + | + | dnbits + | + | flag + | + | icode_return + | + | id + | + | instruc + | + | instruc_end + | + | instruc_start + | + | reg_code_sreg + | + | reg_data_sreg + | + | reg_first_sreg + | + | reg_last_sreg + | + | regnames + | + | segreg_size + | + | tbyte_size + | + | version + +Help on class _notify_when_dispatcher_t in module ida_idp: + +class _notify_when_dispatcher_t + | Methods defined here: + | + | __init__(self) + | + | _find(self, fun) + | + | dispatch(self, slot, *args) + | + | notify_when(self, when, fun) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _IDB_Hooks = + | + | + | _IDP_Hooks = + | + | + | _callback_t = + +Help on class _processor_t_Trampoline_IDB_Hooks in module ida_idp: + +class _processor_t_Trampoline_IDB_Hooks(IDB_Hooks) + | Method resolution order: + | _processor_t_Trampoline_IDB_Hooks + | IDB_Hooks + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, proc) + | + | _processor_t_Trampoline_IDB_Hooks__dummy = __dummy(self, *args) + | + | _processor_t_Trampoline_IDB_Hooks__make_parent_caller = __make_parent_caller(self, key) + | + | ---------------------------------------------------------------------- + | Methods inherited from IDB_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | allsegs_moved(self, *args) + | allsegs_moved(self, info) + | + | auto_empty(self, *args) + | auto_empty(self) + | + | auto_empty_finally(self, *args) + | auto_empty_finally(self) + | + | bookmark_changed(self, *args) + | bookmark_changed(self, index, pos, desc) + | + | byte_patched(self, *args) + | byte_patched(self, ea, old_value) + | + | callee_addr_changed(self, *args) + | callee_addr_changed(self, ea, callee) + | + | changing_cmt(self, *args) + | changing_cmt(self, ea, repeatable_cmt, newcmt) + | + | changing_enum_bf(self, *args) + | changing_enum_bf(self, id, new_bf) + | + | changing_enum_cmt(self, *args) + | changing_enum_cmt(self, id, repeatable, newcmt) + | + | changing_op_ti(self, *args) + | changing_op_ti(self, ea, n, new_type, new_fnames) + | + | changing_op_type(self, *args) + | changing_op_type(self, ea, n, opinfo) + | + | changing_range_cmt(self, *args) + | changing_range_cmt(self, kind, a, cmt, repeatable) + | + | changing_segm_class(self, *args) + | changing_segm_class(self, s) + | + | changing_segm_end(self, *args) + | changing_segm_end(self, s, new_end, segmod_flags) + | + | changing_segm_name(self, *args) + | changing_segm_name(self, s, oldname) + | + | changing_segm_start(self, *args) + | changing_segm_start(self, s, new_start, segmod_flags) + | + | changing_struc_align(self, *args) + | changing_struc_align(self, sptr) + | + | changing_struc_cmt(self, *args) + | changing_struc_cmt(self, struc_id, repeatable, newcmt) + | + | changing_struc_member(self, *args) + | changing_struc_member(self, sptr, mptr, flag, ti, nbytes) + | + | changing_ti(self, *args) + | changing_ti(self, ea, new_type, new_fnames) + | + | closebase(self, *args) + | closebase(self) + | + | cmt_changed(self, *args) + | cmt_changed(self, ea, repeatable_cmt) + | + | compiler_changed(self, *args) + | compiler_changed(self) + | + | deleting_enum(self, *args) + | deleting_enum(self, id) + | + | deleting_enum_member(self, *args) + | deleting_enum_member(self, id, cid) + | + | deleting_func(self, *args) + | deleting_func(self, pfn) + | + | deleting_func_tail(self, *args) + | deleting_func_tail(self, pfn, tail) + | + | deleting_segm(self, *args) + | deleting_segm(self, start_ea) + | + | deleting_struc(self, *args) + | deleting_struc(self, sptr) + | + | deleting_struc_member(self, *args) + | deleting_struc_member(self, sptr, mptr) + | + | deleting_tryblks(self, *args) + | deleting_tryblks(self, range) + | + | destroyed_items(self, *args) + | destroyed_items(self, ea1, ea2, will_disable_range) + | + | determined_main(self, *args) + | determined_main(self, main) + | + | enum_bf_changed(self, *args) + | enum_bf_changed(self, id) + | + | enum_cmt_changed(self, *args) + | enum_cmt_changed(self, id, repeatable) + | + | enum_created(self, *args) + | enum_created(self, id) + | + | enum_deleted(self, *args) + | enum_deleted(self, id) + | + | enum_member_created(self, *args) + | enum_member_created(self, id, cid) + | + | enum_member_deleted(self, *args) + | enum_member_deleted(self, id, cid) + | + | enum_renamed(self, *args) + | enum_renamed(self, id) + | + | expanding_struc(self, *args) + | expanding_struc(self, sptr, offset, delta) + | + | extlang_changed(self, *args) + | extlang_changed(self, kind, el, idx) + | + | extra_cmt_changed(self, *args) + | extra_cmt_changed(self, ea, line_idx, cmt) + | + | flow_chart_created(self, *args) + | flow_chart_created(self, fc) + | + | frame_deleted(self, *args) + | frame_deleted(self, pfn) + | + | func_added(self, *args) + | func_added(self, pfn) + | + | func_noret_changed(self, *args) + | func_noret_changed(self, pfn) + | + | func_tail_appended(self, *args) + | func_tail_appended(self, pfn, tail) + | + | func_tail_deleted(self, *args) + | func_tail_deleted(self, pfn, tail_ea) + | + | func_updated(self, *args) + | func_updated(self, pfn) + | + | hook(self, *args) + | hook(self) -> bool + | + | idasgn_loaded(self, *args) + | idasgn_loaded(self, short_sig_name) + | + | item_color_changed(self, *args) + | item_color_changed(self, ea, color) + | + | kernel_config_loaded(self, *args) + | kernel_config_loaded(self) + | + | loader_finished(self, *args) + | loader_finished(self, li, neflags, filetypename) + | + | local_types_changed(self, *args) + | local_types_changed(self) + | + | make_code(self, *args) + | make_code(self, insn) + | + | make_data(self, *args) + | make_data(self, ea, flags, tid, len) + | + | op_ti_changed(self, *args) + | op_ti_changed(self, ea, n, type, fnames) + | + | op_type_changed(self, *args) + | op_type_changed(self, ea, n) + | + | range_cmt_changed(self, *args) + | range_cmt_changed(self, kind, a, cmt, repeatable) + | + | renamed(self, *args) + | renamed(self, ea, new_name, local_name) + | + | renaming_enum(self, *args) + | renaming_enum(self, id, is_enum, newname) + | + | renaming_struc(self, *args) + | renaming_struc(self, id, oldname, newname) + | + | renaming_struc_member(self, *args) + | renaming_struc_member(self, sptr, mptr, newname) + | + | savebase(self, *args) + | savebase(self) + | + | segm_added(self, *args) + | segm_added(self, s) + | + | segm_attrs_updated(self, *args) + | segm_attrs_updated(self, s) + | + | segm_class_changed(self, *args) + | segm_class_changed(self, s, sclass) + | + | segm_deleted(self, *args) + | segm_deleted(self, start_ea, end_ea) + | + | segm_end_changed(self, *args) + | segm_end_changed(self, s, oldend) + | + | segm_moved(self, *args) + | segm_moved(self, _from, to, size, changed_netmap) + | + | segm_name_changed(self, *args) + | segm_name_changed(self, s, name) + | + | segm_start_changed(self, *args) + | segm_start_changed(self, s, oldstart) + | + | set_func_end(self, *args) + | set_func_end(self, pfn, new_end) + | + | set_func_start(self, *args) + | set_func_start(self, pfn, new_start) + | + | sgr_changed(self, *args) + | sgr_changed(self, start_ea, end_ea, regnum, value, old_value, tag) + | + | sgr_deleted(self, *args) + | sgr_deleted(self, start_ea, end_ea, regnum) + | + | stkpnts_changed(self, *args) + | stkpnts_changed(self, pfn) + | + | struc_align_changed(self, *args) + | struc_align_changed(self, sptr) + | + | struc_cmt_changed(self, *args) + | struc_cmt_changed(self, struc_id, repeatable_cmt) + | + | struc_created(self, *args) + | struc_created(self, struc_id) + | + | struc_deleted(self, *args) + | struc_deleted(self, struc_id) + | + | struc_expanded(self, *args) + | struc_expanded(self, sptr) + | + | struc_member_changed(self, *args) + | struc_member_changed(self, sptr, mptr) + | + | struc_member_created(self, *args) + | struc_member_created(self, sptr, mptr) + | + | struc_member_deleted(self, *args) + | struc_member_deleted(self, sptr, member_id, offset) + | + | struc_member_renamed(self, *args) + | struc_member_renamed(self, sptr, mptr) + | + | struc_renamed(self, *args) + | struc_renamed(self, sptr) + | + | tail_owner_changed(self, *args) + | tail_owner_changed(self, tail, owner_func, old_owner) + | + | thunk_func_created(self, *args) + | thunk_func_created(self, pfn) + | + | ti_changed(self, *args) + | ti_changed(self, ea, type, fnames) + | + | tryblks_updated(self, *args) + | tryblks_updated(self, tbv) + | + | unhook(self, *args) + | unhook(self) -> bool + | + | updating_tryblks(self, *args) + | updating_tryblks(self, tbv) + | + | upgraded(self, *args) + | upgraded(self, _from) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from IDB_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from IDB_Hooks: + | + | __swig_destroy__ = + | delete_IDB_Hooks(self) + +Help on class asm_t in module ida_idp: + +class asm_t(__builtin__.object) + | Proxy of C++ asm_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> asm_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a_align + | asm_t_a_align_get(self) -> char const * + | + | a_ascii + | asm_t_a_ascii_get(self) -> char const * + | + | a_band + | asm_t_a_band_get(self) -> char const * + | + | a_bnot + | asm_t_a_bnot_get(self) -> char const * + | + | a_bor + | asm_t_a_bor_get(self) -> char const * + | + | a_bss + | asm_t_a_bss_get(self) -> char const * + | + | a_byte + | asm_t_a_byte_get(self) -> char const * + | + | a_comdef + | asm_t_a_comdef_get(self) -> char const * + | + | a_curip + | asm_t_a_curip_get(self) -> char const * + | + | a_double + | asm_t_a_double_get(self) -> char const * + | + | a_dups + | asm_t_a_dups_get(self) -> char const * + | + | a_dword + | asm_t_a_dword_get(self) -> char const * + | + | a_equ + | asm_t_a_equ_get(self) -> char const * + | + | a_extrn + | asm_t_a_extrn_get(self) -> char const * + | + | a_float + | asm_t_a_float_get(self) -> char const * + | + | a_include_fmt + | asm_t_a_include_fmt_get(self) -> char const * + | + | a_mod + | asm_t_a_mod_get(self) -> char const * + | + | a_oword + | asm_t_a_oword_get(self) -> char const * + | + | a_packreal + | asm_t_a_packreal_get(self) -> char const * + | + | a_public + | asm_t_a_public_get(self) -> char const * + | + | a_qword + | asm_t_a_qword_get(self) -> char const * + | + | a_rva + | asm_t_a_rva_get(self) -> char const * + | + | a_seg + | asm_t_a_seg_get(self) -> char const * + | + | a_shl + | asm_t_a_shl_get(self) -> char const * + | + | a_shr + | asm_t_a_shr_get(self) -> char const * + | + | a_sizeof_fmt + | asm_t_a_sizeof_fmt_get(self) -> char const * + | + | a_tbyte + | asm_t_a_tbyte_get(self) -> char const * + | + | a_vstruc_fmt + | asm_t_a_vstruc_fmt_get(self) -> char const * + | + | a_weak + | asm_t_a_weak_get(self) -> char const * + | + | a_word + | asm_t_a_word_get(self) -> char const * + | + | a_xor + | asm_t_a_xor_get(self) -> char const * + | + | a_yword + | asm_t_a_yword_get(self) -> char const * + | + | accsep + | asm_t_accsep_get(self) -> char + | + | ascsep + | asm_t_ascsep_get(self) -> char + | + | cmnt + | asm_t_cmnt_get(self) -> char const * + | + | cmnt2 + | asm_t_cmnt2_get(self) -> char const * + | + | end + | asm_t_end_get(self) -> char const * + | + | esccodes + | asm_t_esccodes_get(self) -> char const * + | + | flag + | asm_t_flag_get(self) -> uint32 + | + | flag2 + | asm_t_flag2_get(self) -> uint32 + | + | header + | asm_t_header_get(self) -> char const *const * + | + | help + | asm_t_help_get(self) -> help_t + | + | high16 + | asm_t_high16_get(self) -> char const * + | + | high8 + | asm_t_high8_get(self) -> char const * + | + | lbrace + | asm_t_lbrace_get(self) -> char + | + | low16 + | asm_t_low16_get(self) -> char const * + | + | low8 + | asm_t_low8_get(self) -> char const * + | + | name + | asm_t_name_get(self) -> char const * + | + | origin + | asm_t_origin_get(self) -> char const * + | + | rbrace + | asm_t_rbrace_get(self) -> char + | + | thisown + | The membership flag + | + | uflag + | asm_t_uflag_get(self) -> uint16 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_asm_t(self) + +Help on function assemble in module ida_idp: + +assemble(*args) + 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. + +Help on function cfg_get_cc_header_path in module ida_idp: + +cfg_get_cc_header_path(*args) + cfg_get_cc_header_path(compid) -> char const * + +Help on function cfg_get_cc_parm in module ida_idp: + +cfg_get_cc_parm(*args) + cfg_get_cc_parm(compid, name) -> char const * + +Help on function cfg_get_cc_predefined_macros in module ida_idp: + +cfg_get_cc_predefined_macros(*args) + cfg_get_cc_predefined_macros(compid) -> char const * + +Help on function delay_slot_insn in module ida_idp: + +delay_slot_insn(*args) + delay_slot_insn(ea, bexec, fexec) -> bool + + + Helper function to get the delay slot instruction. + + + @param ea (C++: ea_t *) + @param bexec (C++: bool *) + @param fexec (C++: bool *) + +Help on function gen_idb_event in module ida_idp: + +gen_idb_event(*args) + gen_idb_event(code) + + + the kernel will use this function to generate idb_events + + + @param code (C++: idb_event::event_code_t) + +Help on function get_idb_notifier_addr in module ida_idp: + +get_idb_notifier_addr(*args) + get_idb_notifier_addr(arg1) -> PyObject * + +Help on function get_idb_notifier_ud_addr in module ida_idp: + +get_idb_notifier_ud_addr(*args) + get_idb_notifier_ud_addr(hooks) -> PyObject * + +Help on function get_idp_name in module ida_idp: + +get_idp_name(*args) + 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 NULL + +Help on function get_idp_notifier_addr in module ida_idp: + +get_idp_notifier_addr(*args) + get_idp_notifier_addr(arg1) -> PyObject * + +Help on function get_idp_notifier_ud_addr in module ida_idp: + +get_idp_notifier_ud_addr(*args) + get_idp_notifier_ud_addr(hooks) -> PyObject * + +Help on function get_reg_info in module ida_idp: + +get_reg_info(*args) + get_reg_info(regname, bitrange) -> char const * + + + Get register information - useful for registers like al, ah, dil, etc. + + @param regname (C++: const char *) + @param bitrange (C++: bitrange_t *) + @return: NULL no such register + +Help on function get_reg_name in module ida_idp: + +get_reg_name(*args) + get_reg_name(reg, width, reghi=-1) -> str + + + Get text representation of a register. For most processors this + function will just return \ph{reg_names}[reg]. If the processor module + has implemented processor_t::get_reg_name, it will be used instead + + @param reg: internal register number as defined in the processor + module (C++: int) + @param width: register width in bytes (C++: size_t) + @param reghi: if specified, then this function will return the + register pair (C++: int) + @return: length of register name in bytes or -1 if failure + +Help on function has_cf_chg in module ida_idp: + +has_cf_chg(*args) + 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) + +Help on function has_cf_use in module ida_idp: + +has_cf_use(*args) + 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) + +Help on function has_insn_feature in module ida_idp: + +has_insn_feature(*args) + has_insn_feature(icode, bit) -> bool + + + Does the specified instruction have the specified feature? + + + @param icode (C++: int) + @param bit (C++: uint32) + +Help on function is_align_insn in module ida_idp: + +is_align_insn(*args) + 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) + +Help on function is_basic_block_end in module ida_idp: + +is_basic_block_end(*args) + 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 &) + @param call_insn_stops_block (C++: bool) + +Help on function is_call_insn in module ida_idp: + +is_call_insn(*args) + is_call_insn(insn) -> bool + + + Is the instruction a "call"? + + + @param insn (C++: const insn_t &) + +Help on function is_indirect_jump_insn in module ida_idp: + +is_indirect_jump_insn(*args) + is_indirect_jump_insn(insn) -> bool + + + Is the instruction an indirect jump? + + + @param insn (C++: const insn_t &) + +Help on function is_ret_insn in module ida_idp: + +is_ret_insn(*args) + is_ret_insn(insn, strict=True) -> bool + + + Is the instruction a "return"? + + + @param insn (C++: const insn_t &) + @param strict (C++: bool) + +Help on function parse_reg_name in module ida_idp: + +parse_reg_name(*args) + parse_reg_name(ri, regname) -> bool + + + Get register info by name. + + @param ri: result (C++: reg_info_t *) + @param regname: name of register (C++: const char *) + @return: success + +Help on __ph in module ida_idp object: + +class __ph(__builtin__.object) + | # ---------------------------------------------------------------------- + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cnbits + | + | dnbits + | + | flag + | + | icode_return + | + | id + | + | instruc + | + | instruc_end + | + | instruc_start + | + | reg_code_sreg + | + | reg_data_sreg + | + | reg_first_sreg + | + | reg_last_sreg + | + | regnames + | + | segreg_size + | + | tbyte_size + | + | version + +Help on function ph_calcrel in module ida_idp: + +ph_calcrel(*args) + ph_calcrel(ea) + +Help on function ph_find_op_value in module ida_idp: + +ph_find_op_value(*args) + ph_find_op_value(insn, op) -> ssize_t + +Help on function ph_find_reg_value in module ida_idp: + +ph_find_reg_value(*args) + ph_find_reg_value(insn, reg) -> ssize_t + +Help on function ph_get_cnbits in module ida_idp: + +ph_get_cnbits(*args) + ph_get_cnbits() -> size_t + + + Returns the 'ph.cnbits' + +Help on function ph_get_dnbits in module ida_idp: + +ph_get_dnbits(*args) + ph_get_dnbits() -> size_t + + + Returns the 'ph.dnbits' + +Help on function ph_get_flag in module ida_idp: + +ph_get_flag(*args) + ph_get_flag() -> size_t + + + Returns the 'ph.flag' + +Help on function ph_get_icode_return in module ida_idp: + +ph_get_icode_return(*args) + ph_get_icode_return() -> size_t + + + Returns the 'ph.icode_return' + +Help on function ph_get_id in module ida_idp: + +ph_get_id(*args) + ph_get_id() -> size_t + + + Returns the 'ph.id' field + +Help on function ph_get_instruc in module ida_idp: + +ph_get_instruc(*args) + ph_get_instruc() -> PyObject * + + + Returns a list of tuples (instruction_name, instruction_feature) containing the + instructions list as defined in he processor module + +Help on function ph_get_instruc_end in module ida_idp: + +ph_get_instruc_end(*args) + ph_get_instruc_end() -> size_t + + + Returns the 'ph.instruc_end' + +Help on function ph_get_instruc_start in module ida_idp: + +ph_get_instruc_start(*args) + ph_get_instruc_start() -> size_t + + + Returns the 'ph.instruc_start' + +Help on function ph_get_operand_info in module ida_idp: + +ph_get_operand_info(*args) + ph_get_operand_info(ea, n) -> PyObject * + + + 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. + +Help on function ph_get_reg_code_sreg in module ida_idp: + +ph_get_reg_code_sreg(*args) + ph_get_reg_code_sreg() -> size_t + + + Returns the 'ph.reg_code_sreg' + +Help on function ph_get_reg_data_sreg in module ida_idp: + +ph_get_reg_data_sreg(*args) + ph_get_reg_data_sreg() -> size_t + + + Returns the 'ph.reg_data_sreg' + +Help on function ph_get_reg_first_sreg in module ida_idp: + +ph_get_reg_first_sreg(*args) + ph_get_reg_first_sreg() -> size_t + + + Returns the 'ph.reg_first_sreg' + +Help on function ph_get_reg_last_sreg in module ida_idp: + +ph_get_reg_last_sreg(*args) + ph_get_reg_last_sreg() -> size_t + + + Returns the 'ph.reg_last_sreg' + +Help on function ph_get_regnames in module ida_idp: + +ph_get_regnames(*args) + ph_get_regnames() -> PyObject * + + + Returns the list of register names as defined in the processor module + +Help on function ph_get_segreg_size in module ida_idp: + +ph_get_segreg_size(*args) + ph_get_segreg_size() -> size_t + + + Returns the 'ph.segreg_size' + +Help on function ph_get_tbyte_size in module ida_idp: + +ph_get_tbyte_size(*args) + ph_get_tbyte_size() -> size_t + + + Returns the 'ph.tbyte_size' field as defined in he processor module + +Help on function ph_get_version in module ida_idp: + +ph_get_version(*args) + ph_get_version() -> size_t + + + Returns the 'ph.version' + +Help on class processor_t in module ida_idp: + +class processor_t(IDP_Hooks) + | Method resolution order: + | processor_t + | IDP_Hooks + | __builtin__.object + | + | Methods defined here: + | + | __init__(self) + | + | _get_idb_notifier_addr(self) + | + | _get_idb_notifier_ud_addr(self) + | + | _get_idp_notifier_addr(self) + | + | _get_idp_notifier_ud_addr(self) + | + | _get_notify(self, what, unimp_val=0, imp_forced_val=None, add_prefix=True, mandatory_impl=None) + | This helper is used to implement backward-compatibility + | of pre IDA 7.3 processor_t interfaces. + | + | _make_forced_value_wrapper(self, val, meth=None) + | + | _make_int_returning_wrapper(self, meth, intval=0) + | + | auto_empty(self, *args) + | + | auto_empty_finally(self, *args) + | + | closebase(self, *args) + | + | compiler_changed(self, *args) + | + | deleting_func(self, pfn) + | + | determined_main(self, *args) + | + | ev_ana_insn(self, *args) + | + | ev_assemble(self, *args) + | + | ev_auto_queue_empty(self, *args) + | + | ev_calc_step_over(self, target, ip) + | + | ev_can_have_type(self, *args) + | + | ev_cmp_operands(self, *args) + | + | ev_coagulate(self, *args) + | + | ev_coagulate_dref(self, from_ea, to_ea, may_define, _code_ea) + | + | ev_create_func_frame(self, pfn) + | + | ev_create_switch_xrefs(self, *args) + | + | ev_creating_segm(self, s) + | + | ev_emu_insn(self, *args) + | + | ev_endbinary(self, *args) + | + | ev_func_bounds(self, _possible_return_code, pfn, max_func_end_ea) + | + | ev_gen_map_file(self, nlines, fp) + | + | ev_gen_regvar_def(self, ctx, v) + | + | ev_gen_src_file_lnnum(self, *args) + | + | ev_get_autocmt(self, *args) + | + | ev_get_frame_retsize(self, frsize, pfn) + | + | ev_get_operand_string(self, buf, insn, opnum) + | + | ev_is_align_insn(self, *args) + | + | ev_is_alloca_probe(self, *args) + | + | ev_is_basic_block_end(self, *args) + | + | ev_is_call_insn(self, *args) + | + | ev_is_far_jump(self, *args) + | + | ev_is_indirect_jump(self, *args) + | + | ev_is_insn_table_jump(self, *args) + | + | ev_is_ret_insn(self, *args) + | + | ev_is_sane_insn(self, *args) + | + | ev_is_sp_based(self, mode, insn, op) + | + | ev_is_switch(self, *args) + | + | ev_may_be_func(self, *args) + | + | ev_may_show_sreg(self, *args) + | + | ev_moving_segm(self, s, to_ea, flags) + | + | ev_newbinary(self, *args) + | + | ev_newfile(self, *args) + | + | ev_newprc(self, *args) + | + | ev_oldfile(self, *args) + | + | ev_out_assumes(self, *args) + | + | ev_out_data(self, *args) + | + | ev_out_footer(self, *args) + | + | ev_out_header(self, *args) + | + | ev_out_insn(self, *args) + | + | ev_out_label(self, *args) + | + | ev_out_mnem(self, *args) + | + | ev_out_operand(self, *args) + | + | ev_out_segend(self, ctx, s) + | + | ev_out_segstart(self, ctx, s) + | + | ev_out_special_item(self, *args) + | + | ev_rename(self, *args) + | + | ev_set_idp_options(self, keyword, value_type, value) + | + | ev_set_proc_options(self, *args) + | + | ev_str2reg(self, *args) + | + | ev_treat_hindering_item(self, *args) + | + | ev_undefine(self, *args) + | + | ev_validate_flirt_func(self, *args) + | + | ev_verify_noreturn(self, pfn) + | + | ev_verify_sp(self, pfn) + | + | func_added(self, pfn) + | + | get_auxpref(self, insn) + | This function returns insn.auxpref value + | + | get_idpdesc(self) + | 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. + | + | get_uFlag(self) + | Use this utility function to retrieve the 'uFlag' global variable + | + | idasgn_loaded(self, *args) + | + | kernel_config_loaded(self, *args) + | + | make_code(self, *args) + | + | make_data(self, *args) + | + | renamed(self, *args) + | + | savebase(self, *args) + | + | segm_moved(self, from_ea, to_ea, size, changed_netmap) + | + | set_func_end(self, *args) + | + | set_func_start(self, *args) + | + | sgr_changed(self, *args) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __idc_cvt_id__ = 2 + | + | ---------------------------------------------------------------------- + | Methods inherited from IDP_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | ev_add_cref(self, *args) + | ev_add_cref(self, _from, to, type) -> int + | + | ev_add_dref(self, *args) + | ev_add_dref(self, _from, to, type) -> int + | + | ev_adjust_argloc(self, *args) + | ev_adjust_argloc(self, argloc, optional_type, size) -> int + | + | ev_adjust_libfunc_ea(self, *args) + | ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int + | + | ev_adjust_refinfo(self, *args) + | ev_adjust_refinfo(self, ri, ea, n, fd) -> int + | + | ev_analyze_prolog(self, *args) + | ev_analyze_prolog(self, ea) -> int + | + | ev_arg_addrs_ready(self, *args) + | ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int + | + | ev_calc_arglocs(self, *args) + | ev_calc_arglocs(self, fti) -> int + | + | ev_calc_cdecl_purged_bytes(self, *args) + | ev_calc_cdecl_purged_bytes(self, ea) -> int + | + | ev_calc_next_eas(self, *args) + | ev_calc_next_eas(self, res, insn, over) -> int + | + | ev_calc_purged_bytes(self, *args) + | ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int + | + | ev_calc_retloc(self, *args) + | ev_calc_retloc(self, retloc, rettype, cc) -> int + | + | ev_calc_spdelta(self, *args) + | ev_calc_spdelta(self, spdelta, insn) -> int + | + | ev_calc_switch_cases(self, *args) + | ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int + | + | ev_calc_varglocs(self, *args) + | ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int + | + | ev_calcrel(self, *args) + | ev_calcrel(self) -> int + | + | ev_clean_tbit(self, *args) + | ev_clean_tbit(self, ea, getreg, regvalues) -> int + | + | ev_create_flat_group(self, *args) + | ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int + | + | ev_decorate_name(self, *args) + | ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * + | + | ev_del_cref(self, *args) + | ev_del_cref(self, _from, to, expand) -> int + | + | ev_del_dref(self, *args) + | ev_del_dref(self, _from, to) -> int + | + | ev_delay_slot_insn(self, *args) + | ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * + | + | ev_demangle_name(self, *args) + | ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * + | + | ev_ending_undo(self, *args) + | ev_ending_undo(self, action_name, is_undo) -> int + | + | ev_equal_reglocs(self, *args) + | ev_equal_reglocs(self, a1, a2) -> int + | + | ev_extract_address(self, *args) + | ev_extract_address(self, out_ea, screen_ea, string, position) -> int + | + | ev_find_op_value(self, *args) + | ev_find_op_value(self, pinsn, opn) -> PyObject * + | + | ev_find_reg_value(self, *args) + | ev_find_reg_value(self, pinsn, reg) -> PyObject * + | + | ev_gen_asm_or_lst(self, *args) + | ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) + | + | ev_gen_stkvar_def(self, *args) + | ev_gen_stkvar_def(self, outctx, mptr, v) -> int + | + | ev_get_abi_info(self, *args) + | ev_get_abi_info(self, abi_names, abi_opts, comp) -> int + | + | ev_get_bg_color(self, *args) + | ev_get_bg_color(self, ea) -> int or None + | + | ev_get_cc_regs(self, *args) + | ev_get_cc_regs(self, regs, cc) -> int + | + | ev_get_code16_mode(self, *args) + | ev_get_code16_mode(self, ea) -> int + | + | ev_get_dbr_opnum(self, *args) + | ev_get_dbr_opnum(self, opnum, insn) -> int + | + | ev_get_default_enum_size(self, *args) + | ev_get_default_enum_size(self, cm) -> int + | + | ev_get_macro_insn_head(self, *args) + | ev_get_macro_insn_head(self, head, ip) -> int + | + | ev_get_reg_info(self, *args) + | ev_get_reg_info(self, main_regname, bitrange, regname) -> int + | + | ev_get_reg_name(self, *args) + | ev_get_reg_name(self, reg, width, reghi) -> PyObject * + | + | ev_get_simd_types(self, *args) + | ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int + | + | ev_get_stkarg_offset(self, *args) + | ev_get_stkarg_offset(self) -> int + | + | ev_get_stkvar_scale_factor(self, *args) + | ev_get_stkvar_scale_factor(self) -> int + | + | ev_getreg(self, *args) + | ev_getreg(self, regval, regnum) -> int + | + | ev_init(self, *args) + | ev_init(self, idp_modname) -> int + | + | ev_insn_reads_tbit(self, *args) + | ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int + | + | ev_is_cond_insn(self, *args) + | ev_is_cond_insn(self, insn) -> int + | + | ev_is_jump_func(self, *args) + | ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int + | + | ev_last_cb_before_loader(self, *args) + | ev_last_cb_before_loader(self) -> int + | + | ev_loader(self, *args) + | ev_loader(self) -> int + | + | ev_lower_func_type(self, *args) + | ev_lower_func_type(self, argnums, fti) -> int + | + | ev_max_ptr_size(self, *args) + | ev_max_ptr_size(self) -> int + | + | ev_newasm(self, *args) + | ev_newasm(self, asmnum) -> int + | + | ev_next_exec_insn(self, *args) + | ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int + | + | ev_realcvt(self, *args) + | ev_realcvt(self, m, e, swt) -> int + | + | ev_replaying_undo(self, *args) + | ev_replaying_undo(self, action_name, vec, is_undo) -> int + | + | ev_set_code16_mode(self, *args) + | ev_set_code16_mode(self, ea, code16) -> int + | + | ev_setup_til(self, *args) + | ev_setup_til(self) + | + | ev_shadow_args_size(self, *args) + | ev_shadow_args_size(self, shadow_args_size, pfn) -> int + | + | ev_term(self, *args) + | ev_term(self) -> int + | + | ev_use_arg_types(self, *args) + | ev_use_arg_types(self, ea, fti, rargs) -> int + | + | ev_use_regarg_type(self, *args) + | ev_use_regarg_type(self, ea, rargs) -> PyObject * + | + | ev_use_stkarg_type(self, *args) + | ev_use_stkarg_type(self, ea, arg) -> int + | + | hook(self, *args) + | hook(self) -> bool + | + | + | Creates an IDP hook + | + | @return: Boolean true on success + | + | unhook(self, *args) + | unhook(self) -> bool + | + | + | Removes the IDP hook + | @return: Boolean true on success + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from IDP_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from IDP_Hooks: + | + | __swig_destroy__ = + | delete_IDP_Hooks(self) + +Help on class reg_info_t in module ida_idp: + +class reg_info_t(__builtin__.object) + | Proxy of C++ reg_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> reg_info_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | reg + | reg_info_t_reg_get(self) -> int + | + | size + | reg_info_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_reg_info_t(self) + +Help on function set_processor_type in module ida_idp: + +set_processor_type(*args) + 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: name of processor type (one of names present in + \ph{psnames}) (C++: const char *) + @param level: SETPROC_ (C++: setproc_level_t) + @return: success + +Help on function set_target_assembler in module ida_idp: + +set_target_assembler(*args) + set_target_assembler(asmnum) -> bool + + + Set target assembler. + + @param asmnum: number of assembler in the current processor module + (C++: int) + @return: success + +Help on function sizeof_ldbl in module ida_idp: + +sizeof_ldbl(*args) + sizeof_ldbl() -> size_t + + + Get size of long double. + +Help on function str2reg in module ida_idp: + +str2reg(*args) + str2reg(p) -> int + + + Get any reg number (-1 on error) + + + @param p (C++: const char *) + +=== ida_idp EPYDOC INJECTIONS === +ida_idp.AS2_BRACE +""" +Use braces for all expressions. +""" + +ida_idp.AS2_BYTE1CHAR +""" +Meaningful only for wide byte processors. + +One symbol per processor byte +""" + +ida_idp.AS2_COLONSUF +""" +addresses may have ":xx" suffix this suffix must be ignored when +extracting the address under the cursor +""" + +ida_idp.AS2_IDEALDSCR +""" +Description of struc/union is in the 'reverse' form (keyword before +name) the same as in borland tasm ideal +""" + +ida_idp.AS2_STRINV +""" +(For processors with bytes bigger than 8 bits) + +Invert meaning of \\inf{wide_high_byte_first} for text strings +""" + +ida_idp.AS2_TERSESTR +""" +NAME is supported. + +'terse' structure initialization form +""" + +ida_idp.AS2_YWORD +""" +a_yword field is present and valid +""" + +ida_idp.ASB_BINF0 +""" +010101b +""" + +ida_idp.ASB_BINF1 +""" +^B010101 +""" + +ida_idp.ASB_BINF2 +""" +%010101 +""" + +ida_idp.ASB_BINF3 +""" +0b1010101 +""" + +ida_idp.ASB_BINF4 +""" +b'1010101 +""" + +ida_idp.ASB_BINF5 +""" +b'1010101' +""" + +ida_idp.ASD_DECF0 +""" +34 +""" + +ida_idp.ASD_DECF1 +""" +#34 +""" + +ida_idp.ASD_DECF3 +""" +.34 +""" + +ida_idp.ASH_HEXF0 +""" +34h +""" + +ida_idp.ASH_HEXF1 +""" +h'34 +""" + +ida_idp.ASH_HEXF2 +""" +34 +""" + +ida_idp.ASH_HEXF3 +""" +0x34 +""" + +ida_idp.ASH_HEXF4 +""" +$34 +""" + +ida_idp.ASH_HEXF5 +""" +<^R > (radix) +""" + +ida_idp.ASO_OCTF0 +""" +123o +""" + +ida_idp.ASO_OCTF1 +""" +0123 +""" + +ida_idp.ASO_OCTF2 +""" +123 +""" + +ida_idp.ASO_OCTF3 +""" +@123 +""" + +ida_idp.ASO_OCTF4 +""" +o'123 +""" + +ida_idp.ASO_OCTF5 +""" +123q +""" + +ida_idp.ASO_OCTF6 +""" +~123 +""" + +ida_idp.ASO_OCTF7 +""" +q'123 +""" + +ida_idp.AS_1TEXT +""" +1 text per line, no bytes +""" + +ida_idp.AS_2CHRE +""" +double char constants are: "xy +""" + +ida_idp.AS_ALIGN2 +""" +(.align 5 means to align at 32byte boundary) + +.align directive expects an exponent rather than a power of 2 +""" + +ida_idp.AS_ASCIIC +""" +(\\n,\\x01 and similar) + +ascii directive accepts C-like escape sequences +""" + +ida_idp.AS_ASCIIZ +""" +ascii directive inserts implicit zero byte at the end +""" + +ida_idp.AS_BINFM +""" +mask - binary number format +""" + +ida_idp.AS_COLON +""" +create colons after data names ? +""" + +ida_idp.AS_DECFM +""" +mask - decimal number format +""" + +ida_idp.AS_HEXFM +""" +mask - hex number format +""" + +ida_idp.AS_LALIGN +""" +Labels at "align" keyword are supported. +""" + +ida_idp.AS_N2CHR +""" +can't have 2 byte char consts +""" + +ida_idp.AS_NCHRE +""" +char constants are: 'x +""" + +ida_idp.AS_NCMAS +""" +no commas in ascii directives +""" + +ida_idp.AS_NHIAS +""" +no characters with high bit +""" + +ida_idp.AS_NOCODECLN +""" +don't create colons after code names +""" + +ida_idp.AS_NOSPACE +""" +No spaces in expressions. +""" + +ida_idp.AS_NOXRF +""" +Disable xrefs during the output file generation. +""" + +ida_idp.AS_OCTFM +""" +mask - octal number format +""" + +ida_idp.AS_OFFST +""" +offsets are 'offset xxx' ? +""" + +ida_idp.AS_ONEDUP +""" +One array definition per line. +""" + +ida_idp.AS_RELSUP +""" +Checkarg: 'and','or','xor' operations with addresses are possible. +""" + +ida_idp.AS_UDATA +""" +can use '?' in data directives +""" + +ida_idp.AS_UNEQU +""" +replace undefined data items with EQU (for ANTA's A80) +""" + +ida_idp.AS_XTRNTYPE +""" +Assembler understands type of extern symbols as ":type" suffix. +""" + +ida_idp.CF_CALL +""" +CALL instruction (should make a procedure here) +""" + +ida_idp.CF_CHG1 +""" +The instruction modifies the first operand. +""" + +ida_idp.CF_CHG2 +""" +The instruction modifies the second operand. +""" + +ida_idp.CF_CHG3 +""" +The instruction modifies the third operand. +""" + +ida_idp.CF_CHG4 +""" +The instruction modifies 4 operand. +""" + +ida_idp.CF_CHG5 +""" +The instruction modifies 5 operand. +""" + +ida_idp.CF_CHG6 +""" +The instruction modifies 6 operand. +""" + +ida_idp.CF_HLL +""" +language function. + +Instruction may be present in a high level +""" + +ida_idp.CF_JUMP +""" +jump or call (thus needs additional analysis) + +The instruction passes execution using indirect +""" + +ida_idp.CF_SHFT +""" +Bit-shift instruction (shl,shr...) +""" + +ida_idp.CF_STOP +""" +next instruction + +Instruction doesn't pass execution to the +""" + +ida_idp.CF_USE1 +""" +The instruction uses value of the first operand. +""" + +ida_idp.CF_USE2 +""" +The instruction uses value of the second operand. +""" + +ida_idp.CF_USE3 +""" +The instruction uses value of the third operand. +""" + +ida_idp.CF_USE4 +""" +The instruction uses value of the 4 operand. +""" + +ida_idp.CF_USE5 +""" +The instruction uses value of the 5 operand. +""" + +ida_idp.CF_USE6 +""" +The instruction uses value of the 6 operand. +""" + +ida_idp.CUSTOM_INSN_ITYPE +""" +Custom instruction codes defined by processor extension plugins must +be greater than or equal to this +""" + +ida_idp.IDP_INTERFACE_VERSION +""" +The interface version number.see also 'IDA_SDK_VERSION' from 'pro.h' +""" + +ida_idp.OP_FP_BASED +""" +operand is FP based +""" + +ida_idp.OP_SP_ADD +""" +operand value is added to the pointer +""" + +ida_idp.OP_SP_BASED +""" +operand is SP based +""" + +ida_idp.OP_SP_SUB +""" +operand value is subtracted from the pointer +""" + +ida_idp.PLFM_386 +""" +Intel 80x86. +""" + +ida_idp.PLFM_6502 +""" +6502 +""" + +ida_idp.PLFM_65C816 +""" +65802/65816 +""" + +ida_idp.PLFM_6800 +""" +Motorola 68xx. +""" + +ida_idp.PLFM_68K +""" +Motorola 680x0. +""" + +ida_idp.PLFM_80196 +""" +Intel 80196. +""" + +ida_idp.PLFM_8051 +""" +8051 +""" + +ida_idp.PLFM_AD2106X +""" +Analog Devices ADSP 2106X. +""" + +ida_idp.PLFM_AD218X +""" +Analog Devices ADSP 218X. +""" + +ida_idp.PLFM_ALPHA +""" +DEC Alpha. +""" + +ida_idp.PLFM_ARC +""" +Argonaut RISC Core. +""" + +ida_idp.PLFM_ARM +""" +Advanced RISC Machines. +""" + +ida_idp.PLFM_AVR +""" +Atmel 8-bit RISC processor(s) +""" + +ida_idp.PLFM_C166 +""" +Siemens C166 family. +""" + +ida_idp.PLFM_C39 +""" +Rockwell C39. +""" + +ida_idp.PLFM_CR16 +""" +NSC CR16. +""" + +ida_idp.PLFM_DALVIK +""" +Android Dalvik Virtual Machine. +""" + +ida_idp.PLFM_DSP56K +""" +Motorola DSP5600x. +""" + +ida_idp.PLFM_DSP96K +""" +Motorola DSP96000. +""" + +ida_idp.PLFM_EBC +""" +EFI Bytecode. +""" + +ida_idp.PLFM_F2MC +""" +Fujistu F2MC-16. +""" + +ida_idp.PLFM_FR +""" +Fujitsu FR Family. +""" + +ida_idp.PLFM_H8 +""" +Hitachi H8/300, H8/2000. +""" + +ida_idp.PLFM_H8500 +""" +Hitachi H8/500. +""" + +ida_idp.PLFM_HPPA +""" +Hewlett-Packard PA-RISC. +""" + +ida_idp.PLFM_I860 +""" +Intel 860. +""" + +ida_idp.PLFM_I960 +""" +Intel 960. +""" + +ida_idp.PLFM_IA64 +""" +Intel Itanium IA64. +""" + +ida_idp.PLFM_JAVA +""" +Java. +""" + +ida_idp.PLFM_KR1878 +""" +Angstrem KR1878. +""" + +ida_idp.PLFM_M16C +""" +Renesas M16C. +""" + +ida_idp.PLFM_M32R +""" +Mitsubishi 32bit RISC. +""" + +ida_idp.PLFM_M740 +""" +Mitsubishi 8bit. +""" + +ida_idp.PLFM_M7700 +""" +Mitsubishi 16bit. +""" + +ida_idp.PLFM_M7900 +""" +Mitsubishi 7900. +""" + +ida_idp.PLFM_MC6812 +""" +Motorola 68HC12. +""" + +ida_idp.PLFM_MC6816 +""" +Motorola 68HC16. +""" + +ida_idp.PLFM_MIPS +""" +MIPS. +""" + +ida_idp.PLFM_MN102L00 +""" +Panasonic MN10200. +""" + +ida_idp.PLFM_MSP430 +""" +Texas Instruments MSP430. +""" + +ida_idp.PLFM_NEC_78K0 +""" +NEC 78K0. +""" + +ida_idp.PLFM_NEC_78K0S +""" +NEC 78K0S. +""" + +ida_idp.PLFM_NEC_V850X +""" +NEC V850 and V850ES/E1/E2. +""" + +ida_idp.PLFM_NET +""" +Microsoft Visual Studio.Net. +""" + +ida_idp.PLFM_OAKDSP +""" +Atmel OAK DSP. +""" + +ida_idp.PLFM_PDP +""" +PDP11. +""" + +ida_idp.PLFM_PIC +""" +Microchip's PIC. +""" + +ida_idp.PLFM_PIC16 +""" +Microchip's 16-bit PIC. +""" + +ida_idp.PLFM_PPC +""" +PowerPC. +""" + +ida_idp.PLFM_S390 +""" +IBM's S390. +""" + +ida_idp.PLFM_SCR_ADPT +""" +Processor module adapter for processor modules written in scripting +languages. +""" + +ida_idp.PLFM_SH +""" +Renesas (formerly Hitachi) SuperH. +""" + +ida_idp.PLFM_SPARC +""" +SPARC. +""" + +ida_idp.PLFM_SPC700 +""" +Sony SPC700. +""" + +ida_idp.PLFM_SPU +""" +Cell Broadband Engine Synergistic Processor Unit. +""" + +ida_idp.PLFM_ST20 +""" +SGS-Thomson ST20. +""" + +ida_idp.PLFM_ST7 +""" +SGS-Thomson ST7. +""" + +ida_idp.PLFM_ST9 +""" +ST9+. +""" + +ida_idp.PLFM_TLCS900 +""" +Toshiba TLCS-900. +""" + +ida_idp.PLFM_TMS +""" +Texas Instruments TMS320C5x. +""" + +ida_idp.PLFM_TMS320C1X +""" +Texas Instruments TMS320C1x. +""" + +ida_idp.PLFM_TMS320C28 +""" +Texas Instruments TMS320C28x. +""" + +ida_idp.PLFM_TMS320C3 +""" +Texas Instruments TMS320C3. +""" + +ida_idp.PLFM_TMS320C54 +""" +Texas Instruments TMS320C54xx. +""" + +ida_idp.PLFM_TMS320C55 +""" +Texas Instruments TMS320C55xx. +""" + +ida_idp.PLFM_TMSC6 +""" +Texas Instruments TMS320C6x. +""" + +ida_idp.PLFM_TRICORE +""" +Tasking Tricore. +""" + +ida_idp.PLFM_TRIMEDIA +""" +Trimedia. +""" + +ida_idp.PLFM_UNSP +""" +SunPlus unSP. +""" + +ida_idp.PLFM_Z8 +""" +Z8. +""" + +ida_idp.PLFM_Z80 +""" +8085, Z80 +""" + +ida_idp.PRN_BIN +""" +binary +""" + +ida_idp.PRN_DEC +""" +decimal +""" + +ida_idp.PRN_HEX +""" +hex +""" + +ida_idp.PRN_OCT +""" +octal +""" + +ida_idp.PR_ADJSEGS +""" +IDA may adjust segments' starting/ending addresses. +""" + +ida_idp.PR_ALIGN +""" +All data items should be aligned properly. +""" + +ida_idp.PR_ALIGN_INSN +""" +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 +""" + +ida_idp.PR_ASSEMBLE +""" +Module has a built-in assembler and will react to ev_assemble. +""" + +ida_idp.PR_BINMEM +""" +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 +""" + +ida_idp.PR_CHK_XREF +""" +don't allow near xrefs between segments with different bases +""" + +ida_idp.PR_CNDINSNS +""" +has conditional instructions +""" + +ida_idp.PR_DEFNUM +""" +mask - default number representation +""" + +ida_idp.PR_DEFSEG32 +""" +segments are 32-bit by default +""" + +ida_idp.PR_DEFSEG64 +""" +segments are 64-bit by default +""" + +ida_idp.PR_DELAYED +""" +has delayed jumps and calls if this flag is set, +\\ph{is_basic_block_end}, \\ph{has_delay_slot} should be implemented +""" + +ida_idp.PR_NOCHANGE +""" +(display only) + +The user can't change segments and code/data attributes +""" + +ida_idp.PR_NO_SEGMOVE +""" +(i.e. the user can't move segments) + +the processor module doesn't support 'move_segm()' +""" + +ida_idp.PR_PURGING +""" +there are calling conventions which may purge bytes from the stack +""" + +ida_idp.PR_RNAMESOK +""" +allow user register names for location names +""" + +ida_idp.PR_SCALE_STKVARS +""" +use \\ph{get_stkvar_scale} callback +""" + +ida_idp.PR_SEGS +""" +has segment registers? +""" + +ida_idp.PR_SEGTRANS +""" +the processor module supports the segment translation feature (meaning +it calculates the code addresses using the 'map_code_ea()' function) +""" + +ida_idp.PR_SGROTHER +""" +the segment registers don't contain the segment selectors. +""" + +ida_idp.PR_STACK_UP +""" +the stack grows up +""" + +ida_idp.PR_TYPEINFO +""" +ALL OF THEM SHOULD BE IMPLEMENTED! + +the processor module supports type information callbacks +""" + +ida_idp.PR_USE32 +""" +supports 32-bit addressing? +""" + +ida_idp.PR_USE64 +""" +supports 64-bit addressing? +""" + +ida_idp.PR_USE_ARG_TYPES +""" +use \\ph{use_arg_types} callback +""" + +ida_idp.PR_USE_TBYTE +""" + 'BTMT_SPECFLT' means _TBYTE type +""" + +ida_idp.PR_WORD_INS +""" +instruction codes are grouped 2bytes in binary line prefix +""" + +ida_idp.REG_SPOIL +""" +processor_t::use_regarg_type uses this bit in the return value to +indicate that the register value has been spoiled +""" +=== ida_idp EPYDOC INJECTIONS END === +Help on class Choose in module ida_kernwin: + +class Choose(__builtin__.object) + | Chooser wrapper class. + | + | Some constants are defined in this class. + | Please refer to kernwin.hpp for more information. + | + | Methods defined here: + | + | Activate(self) + | Activates a visible chooser + | + | AddCommand(self, caption, flags=4, menu_index=-1, icon=-1, emb=None, shortcut=None) + | + | Close(self) + | Closes the chooser + | + | Embedded(self, create_chobj=False) + | Creates an embedded chooser (as opposed to Show()) + | @return: Returns 0 on success or NO_ATTR + | + | GetEmbSelection(self) + | Deprecated. For embedded choosers, the selection is + | available through 'Form.EmbeddedChooserControl.selection' + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | OnPopup(self, widget, popup_handle) + | + | Refresh(self) + | Causes the refresh callback to trigger + | + | Show(self, modal=False) + | 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; + | + | __init__(self, title, cols, flags=0, popup_names=None, icon=-1, x1=-1, y1=-1, x2=-1, y2=-1, deflt=None, embedded=False, width=None, height=None, forbidden_cb=0) + | 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 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 + | + | adjust_last_item(self, n) + | 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) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | ALL_CHANGED = 1 + | + | ALREADY_EXISTS = -3 + | + | CHCOL_DEC = 196608 + | + | CHCOL_EA = 262144 + | + | CHCOL_FNAME = 327680 + | + | CHCOL_FORMAT = 458752 + | + | CHCOL_HEX = 131072 + | + | CHCOL_PATH = 65536 + | + | CHCOL_PLAIN = 0 + | + | CHOOSE_HAVE_DEL = 16 + | + | CHOOSE_HAVE_EDIT = 32 + | + | CHOOSE_HAVE_ENTER = 64 + | + | CHOOSE_HAVE_GETATTR = 4 + | + | CHOOSE_HAVE_GETICON = 2 + | + | CHOOSE_HAVE_INIT = 1 + | + | CHOOSE_HAVE_INS = 8 + | + | CHOOSE_HAVE_ONCLOSE = 512 + | + | CHOOSE_HAVE_REFRESH = 128 + | + | CHOOSE_HAVE_SELECT = 256 + | + | CH_ATTRS = 32 + | + | CH_BUILTIN_MASK = 33030144 + | + | CH_BUILTIN_SHIFT = 19 + | + | CH_CAN_DEL = 512 + | + | CH_CAN_EDIT = 1024 + | + | CH_CAN_INS = 256 + | + | CH_CAN_REFRESH = 2048 + | + | CH_FORCE_DEFAULT = 128 + | + | CH_MODAL = 1 + | + | CH_MULTI = 4 + | + | CH_NOBTNS = 16 + | + | CH_NOIDB = 64 + | + | CH_NO_STATUS_BAR = 65536 + | + | CH_QFLT = 4096 + | + | CH_QFTYP_DEFAULT = 0 + | + | CH_QFTYP_FUZZY = 32768 + | + | CH_QFTYP_MASK = 57344 + | + | CH_QFTYP_NORMAL = 8192 + | + | CH_QFTYP_REGEX = 24576 + | + | CH_QFTYP_SHIFT = 13 + | + | CH_QFTYP_WHOLE_WORDS = 16384 + | + | CH_RESTORE = 131072 + | + | EMPTY_CHOOSER = -2 + | + | NOTHING_CHANGED = 0 + | + | NO_ATTR = -4 + | + | NO_SELECTION = -1 + | + | SELECTION_CHANGED = 2 + | + | UI_Hooks_Trampoline = + +Help on class CustomIDAMemo in module ida_kernwin: + +class CustomIDAMemo(View_Hooks) + | # + | # ----------------------------------------------------------------------- + | # CustomIDAMemo + | # ----------------------------------------------------------------------- + | + | Method resolution order: + | CustomIDAMemo + | View_Hooks + | __builtin__.object + | + | Methods defined here: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | __init__(self) + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | + | view_click(self, view, ve) + | + | view_close(self, view, *args) + | + | view_curpos(self, view, *args) + | + | view_dblclick(self, view, ve) + | + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | + | view_mouse_over(self, view, ve) + | + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | view_created(self, *args) + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from View_Hooks: + | + | __swig_destroy__ = + | delete_View_Hooks(self) + +Help on class Form in module ida_kernwin: + +class Form(__builtin__.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | Add(self, name, ctrl, mkattr=True) + | 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 + | + | AddControls(self, controls, mkattr=True) + | 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 + | + | Close(self, close_normally) + | 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 + | + | Compile(self) + | 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 + | + | CompileEx(self, form) + | 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() + | + | Compiled(self) + | Checks if the form has already been compiled + | + | @return: Boolean + | + | EnableField(self, ctrl, enable) + | Enable or disable an input field + | @return: False - no such control + | + | Execute(self) + | Displays a modal dialog containing the compiled form. + | @return: 1 - ok ; 0 - cancel + | + | FindControlById(self, id) + | Finds a control instance given its id + | + | Free(self) + | Frees all resources associated with a compiled form. + | Make sure you call this function when you finish using the form. + | + | GetControlValue(self, ctrl) + | 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 + | + | GetFocusedField(self) + | Get currently focused input field. + | @return: None if no field is selected otherwise the control ID + | + | MoveField(self, ctrl, x, y, w, h) + | Move/resize an input field + | + | @return: False - no such fiel + | + | Open(self) + | Opens a widget containing the compiled form. + | + | RefreshField(self, ctrl) + | Refresh a field + | @return: False - no such control + | + | SetControlValue(self, ctrl, value) + | 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 + | + | SetFocusedField(self, ctrl) + | Set currently focused input field + | @return: False - no such control + | + | ShowField(self, ctrl, show) + | Show or hide an input field + | @return: False - no such control + | + | _AddGroup(self, Group, mkattr=True) + | Internal function. + | This function expands the group item names and creates individual group item controls + | + | @param Group: The group class (checkbox or radio group class) + | + | _ChkCompiled(self) + | + | __getitem__(self, name) + | Returns a control object by name + | + | __init__(self, form, controls) + | 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_ + | + | _reset(self) + | Resets the Form class state variables + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | ControlToFieldTypeIdAndSize(ctrl) + | Converts a control object to a tuple containing the field id + | and the associated buffer size + | + | _ParseFormTitle(form) + | Parses the form's title from the form text + | + | create_string_buffer(value, size=None) + | + | fieldtype_to_ctype(tp, i64=False) + | Factory method returning a ctype class corresponding to the field type string + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | ButtonInput = + | 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) + | + | ChkGroupControl = + | Checkbox group control class. + | It holds a set of checkbox controls + | + | ChkGroupItemControl = + | Checkbox group item control + | + | ColorInput = + | Color button input control + | + | Control = + | + | + | DirInput = + | Directory browsing control + | + | DropdownListControl = + | Dropdown control + | This control allows manipulating a dropdown control + | + | EmbeddedChooserControl = + | Embedded chooser control. + | This control links to a Chooser2 control created with the 'embedded=True' + | + | FT_ADDR = '$' + | + | FT_ASCII = 'A' + | + | FT_BIN = 'Y' + | + | FT_BUTTON = 'B' + | + | FT_CHAR = 'H' + | + | FT_CHKGRP = 'C' + | + | FT_CHKGRP2 = 'c' + | + | FT_COLOR = 'K' + | + | FT_DEC = 'D' + | + | FT_DIR = 'F' + | + | FT_DROPDOWN_LIST = 'b' + | + | FT_ECHOOSER = 'E' + | + | FT_FILE = 'f' + | + | FT_FORMCHG = '%/' + | + | FT_HEX = 'N' + | + | FT_HTML_LABEL = 'h' + | + | FT_IDENT = 'I' + | + | FT_INT64 = 'l' + | + | FT_MULTI_LINE_TEXT = 't' + | + | FT_OCT = 'O' + | + | FT_RADGRP = 'R' + | + | FT_RADGRP2 = 'r' + | + | FT_RAWHEX = 'M' + | + | FT_SEG = 'S' + | + | FT_SHEX = 'n' + | + | FT_TYPE = 'T' + | + | FT_UINT64 = 'L' + | + | FileInput = + | File Open/Save input control + | + | FormChangeCb = + | 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) + | + | GroupControl = + | Base class for group controls + | + | GroupItemControl = + | Base class for group control items + | + | InputControl = + | Generic form input control. + | It could be numeric control, string control, directory/file browsing, etc... + | + | LabelControl = + | Base class for static label control + | + | MultiLineTextControl = + | Multi line text control. + | This class inherits from textctrl_info_t. Thus the attributes are also inherited + | This control allows manipulating a multilinetext control + | + | NumericArgument = + | Argument representing various integer arguments (ushort, uint32, uint64, etc...) + | @param tp: One of Form.FT_XXX + | + | NumericInput = + | A composite class serving as a base numeric input control class + | + | NumericLabel = + | Numeric label control + | + | RadGroupControl = + | Radiobox group control class. + | It holds a set of radiobox controls + | + | RadGroupItemControl = + | Radiobox group item control + | + | StringArgument = + | Argument representing a character buffer + | + | StringInput = + | Base string input control class. + | This class also constructs a StringArgument + | + | StringLabel = + | String label control + | + | _FT_USHORT = '_US' + +Help on class IDAViewWrapper in module ida_kernwin: + +class IDAViewWrapper(CustomIDAMemo) + | 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.) + | + | Method resolution order: + | IDAViewWrapper + | CustomIDAMemo + | View_Hooks + | __builtin__.object + | + | Methods defined here: + | + | Bind(self) + | + | Unbind(self) + | + | __init__(self, title) + | + | ---------------------------------------------------------------------- + | Methods inherited from CustomIDAMemo: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | + | view_click(self, view, ve) + | + | view_close(self, view, *args) + | + | view_curpos(self, view, *args) + | + | view_dblclick(self, view, ve) + | + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | + | view_mouse_over(self, view, ve) + | + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods inherited from CustomIDAMemo: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | view_created(self, *args) + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from View_Hooks: + | + | __swig_destroy__ = + | delete_View_Hooks(self) + +Help on class PluginForm in module ida_kernwin: + +class PluginForm(__builtin__.object) + | PluginForm class. + | + | This form can be used to host additional controls. Please check the PyQt example. + | + | Methods defined here: + | + | Close(self, options) + | Closes the form. + | + | @param options: Close options (WCLS_SAVE, WCLS_NO_CONTEXT, ...) + | + | @return: None + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | OnClose(self, form) + | Called when the plugin form is closed + | + | @return: None + | + | OnCreate(self, form) + | This event is called when the plugin form is created. + | The programmer should populate the form when this event is triggered. + | + | @return: None + | + | Show(self, caption, options=0) + | 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 + | + | __init__(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | FormToPyQtWidget = TWidgetToPyQtWidget(tw, ctx=) + | 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 + | + | FormToPySideWidget = TWidgetToPySideWidget(tw, ctx=) + | 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 + | + | QtWidgetToTWidget(w, ctx=) + | 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 + | + | TWidgetToPyQtWidget(tw, ctx=) + | 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 + | + | TWidgetToPySideWidget(tw, ctx=) + | 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 + | + | _ensure_widget_deps(ctx) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | VALID_CAPSULE_NAME = '$valid$' + | + | WCLS_CLOSE_LATER = 8 + | + | WCLS_DONT_SAVE_SIZE = 4 + | + | WCLS_NO_CONTEXT = 2 + | + | WCLS_SAVE = 1 + | + | WOPN_CENTERED = 32 + | + | WOPN_CREATE_ONLY = {} + | + | WOPN_DP_BEFORE = 2097152 + | + | WOPN_DP_BOTTOM = 524288 + | + | WOPN_DP_FLOATING = 8388608 + | + | WOPN_DP_INSIDE = 1048576 + | + | WOPN_DP_INSIDE_BEFORE = 3145728 + | + | WOPN_DP_LEFT = 65536 + | + | WOPN_DP_RIGHT = 262144 + | + | WOPN_DP_TAB = 4194304 + | + | WOPN_DP_TAB_BEFORE = 6291456 + | + | WOPN_DP_TOP = 131072 + | + | WOPN_MDI = 1 + | + | WOPN_MENU = 16 + | + | WOPN_ONTOP = 8 + | + | WOPN_PERSIST = 64 + | + | WOPN_RESTORE = 4 + | + | WOPN_TAB = 2 + +Help on function TWidget__from_ptrval__ in module ida_kernwin: + +TWidget__from_ptrval__(*args) + TWidget__from_ptrval__(ptrval) -> TWidget * + +Help on class UI_Hooks in module ida_kernwin: + +class UI_Hooks(__builtin__.object) + | Proxy of C++ UI_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> UI_Hooks + | + | __repr__ = _swig_repr(self) + | + | create_desktop_widget(self, *args) + | create_desktop_widget(self, title, cfg) -> PyObject * + | + | current_widget_changed(self, *args) + | current_widget_changed(self, widget, prev_widget) + | + | database_inited(self, *args) + | database_inited(self, is_new_database, idc_script) + | + | debugger_menu_change(self, *args) + | debugger_menu_change(self, enable) + | + | finish_populating_widget_popup(self, *args) + | finish_populating_widget_popup(self, widget, popup_handle, ctx=None) + | + | + | The UI is about to be done populating the TWidget's popup menu. + | Now is a good time to call idaapi.attach_action_to_popup() + | + | @param widget: The widget + | @param popup: The popup menu. + | @return: Ignored + | + | get_chooser_item_attrs(self, *args) + | get_chooser_item_attrs(self, chooser, n, attrs) + | + | get_custom_viewer_hint(self, *args) + | get_custom_viewer_hint(self, viewer, place) -> PyObject * + | + | get_ea_hint(self, *args) + | get_ea_hint(self, ea) -> PyObject * + | + | + | The UI wants to display a simple hint for an address in the navigation band + | + | @param ea: The address + | @return: String with the hint or None + | + | get_item_hint(self, *args) + | get_item_hint(self, ea, max_lines) -> PyObject * + | + | get_widget_config(self, *args) + | get_widget_config(self, widget, cfg) -> PyObject * + | + | hook(self, *args) + | hook(self) -> bool + | + | + | Creates an UI hook + | + | @return: Boolean true on success + | + | idcstart(self, *args) + | idcstart(self) + | + | idcstop(self, *args) + | idcstop(self) + | + | plugin_loaded(self, *args) + | plugin_loaded(self, plugin_info) + | + | plugin_unloading(self, *args) + | plugin_unloading(self, plugin_info) + | + | populating_widget_popup(self, *args) + | populating_widget_popup(self, widget, popup_handle, ctx=None) + | + | + | The UI is populating the TWidget's popup menu. + | Now is a good time to call idaapi.attach_action_to_popup() + | + | @param widget: The widget + | @param popup: The popup menu. + | @return: Ignored + | + | postprocess_action(self, *args) + | postprocess_action(self) + | + | + | An ida ui action has been handled + | + | @return: Ignored + | + | preprocess_action(self, *args) + | preprocess_action(self, name) + | + | + | IDA ui is about to handle a user action + | + | @param name: ui action name + | (these names can be looked up in ida[tg]ui.cfg) + | @return: 0-ok, nonzero - a plugin has handled the action + | + | range(self, *args) + | range(self) + | + | ready_to_run(self, *args) + | ready_to_run(self) + | + | resume(self, *args) + | resume(self) + | + | saved(self, *args) + | saved(self) + | + | + | The kernel has saved the database. + | + | @return: Ignored + | + | saving(self, *args) + | saving(self) + | + | + | The kernel is saving the database. + | + | @return: Ignored + | + | screen_ea_changed(self, *args) + | screen_ea_changed(self, ea, prev_ea) + | + | set_widget_config(self, *args) + | set_widget_config(self, widget, cfg) + | + | suspend(self, *args) + | suspend(self) + | + | term(self, *args) + | term(self) + | + | + | IDA is terminated and the database is already closed. + | The UI may close its windows in this callback. + | + | unhook(self, *args) + | unhook(self) -> bool + | + | + | Removes the UI hook + | @return: Boolean true on success + | + | updated_actions(self, *args) + | updated_actions(self) + | + | + | The UI is done updating actions. + | + | @return: Ignored + | + | updating_actions(self, *args) + | updating_actions(self, ctx) + | + | + | The UI is about to batch-update some actions. + | + | @param ctx: The action_update_ctx_t instance + | @return: Ignored + | + | widget_closing(self, *args) + | widget_closing(self, widget) + | + | widget_invisible(self, *args) + | widget_invisible(self, widget) + | + | widget_visible(self, *args) + | widget_visible(self, widget) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_UI_Hooks(self) + +Help on class View_Hooks in module ida_kernwin: + +class View_Hooks(__builtin__.object) + | Proxy of C++ View_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> View_Hooks + | + | __repr__ = _swig_repr(self) + | + | hook(self, *args) + | hook(self) -> bool + | + | unhook(self, *args) + | unhook(self) -> bool + | + | view_activated(self, *args) + | view_activated(self, view) + | + | view_click(self, *args) + | view_click(self, view, event) + | + | view_close(self, *args) + | view_close(self, view) + | + | view_created(self, *args) + | view_created(self, view) + | + | view_curpos(self, *args) + | view_curpos(self, view) + | + | view_dblclick(self, *args) + | view_dblclick(self, view, event) + | + | view_deactivated(self, *args) + | view_deactivated(self, view) + | + | view_keydown(self, *args) + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, *args) + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, *args) + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, *args) + | view_mouse_over(self, view, event) + | + | view_switched(self, *args) + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_View_Hooks(self) + +Help on class __qtimer_t in module ida_kernwin: + +class __qtimer_t(__builtin__.object) + | Proxy of C++ __qtimer_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qtimer_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete___qtimer_t(self) + +Help on function _ask_addr in module ida_kernwin: + +_ask_addr(*args) + _ask_addr(addr, format) -> bool + +Help on function _ask_long in module ida_kernwin: + +_ask_long(*args) + _ask_long(value, format) -> bool + +Help on function _ask_seg in module ida_kernwin: + +_ask_seg(*args) + _ask_seg(sel, format) -> bool + +Help on function _call_ask_form in module ida_kernwin: + +_call_ask_form(*args) + +Help on function _call_open_form in module ida_kernwin: + +_call_open_form(*args) + +Help on class action_ctx_base_t in module ida_kernwin: + +class action_ctx_base_t(__builtin__.object) + | Proxy of C++ action_ctx_base_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> action_ctx_base_t + | + | __repr__ = _swig_repr(self) + | + | _get_form(self, *args) + | _get_form(self) -> TWidget * + | + | _get_form_title(self, *args) + | _get_form_title(self) -> qstring + | + | _get_form_type(self, *args) + | _get_form_type(self) -> twidget_type_t + | + | has_flag(self, *args) + | has_flag(self, flag) -> bool + | + | reset(self, *args) + | reset(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | action + | action_ctx_base_t_action_get(self) -> char const * + | + | chooser_selection + | action_ctx_base_t_chooser_selection_get(self) -> sizevec_t * + | + | cur_ea + | action_ctx_base_t_cur_ea_get(self) -> ea_t + | + | cur_enum + | action_ctx_base_t_cur_enum_get(self) -> enum_t + | + | cur_extracted_ea + | action_ctx_base_t_cur_value_get(self) -> uval_t + | + | cur_fchunk + | action_ctx_base_t_cur_fchunk_get(self) -> func_t * + | + | cur_flags + | action_ctx_base_t_cur_flags_get(self) -> uint32 + | + | cur_func + | action_ctx_base_t_cur_func_get(self) -> func_t * + | + | cur_seg + | action_ctx_base_t_cur_seg_get(self) -> segment_t * + | + | cur_strmem + | action_ctx_base_t_cur_strmem_get(self) -> member_t * + | + | cur_struc + | action_ctx_base_t_cur_struc_get(self) -> struc_t * + | + | cur_value + | action_ctx_base_t_cur_value_get(self) -> uval_t + | + | focus + | action_ctx_base_t_focus_get(self) -> TWidget * + | + | form + | _get_form(self) -> TWidget * + | + | form_title + | _get_form_title(self) -> qstring + | + | form_type + | _get_form_type(self) -> twidget_type_t + | + | graph_selection + | action_ctx_base_t_graph_selection_get(self) -> screen_graph_selection_t * + | + | regname + | action_ctx_base_t_regname_get(self) -> char const * + | + | thisown + | The membership flag + | + | widget + | action_ctx_base_t_widget_get(self) -> TWidget * + | + | widget_title + | action_ctx_base_t_widget_title_get(self) -> qstring * + | + | widget_type + | action_ctx_base_t_widget_type_get(self) -> twidget_type_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_action_ctx_base_t(self) + +Help on class action_desc_t in module ida_kernwin: + +class action_desc_t(__builtin__.object) + | Proxy of C++ action_desc_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, name, label, handler, shortcut=None, tooltip=None, icon=-1, flags=0) -> action_desc_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | action_desc_t_cb_get(self) -> int + | + | flags + | action_desc_t_flags_get(self) -> int + | + | icon + | action_desc_t_icon_get(self) -> int + | + | label + | action_desc_t_label_get(self) -> char const * + | + | name + | action_desc_t_name_get(self) -> char const * + | + | owner + | action_desc_t_owner_get(self) -> plugin_t const * + | + | shortcut + | action_desc_t_shortcut_get(self) -> char const * + | + | thisown + | The membership flag + | + | tooltip + | action_desc_t_tooltip_get(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_action_desc_t(self) + +Help on class action_handler_t in module ida_kernwin: + +class action_handler_t(__builtin__.object) + | # ---------------------------------------------------------------------- + | + | Methods defined here: + | + | __init__(self) + | + | activate(self, ctx) + | + | update(self, ctx) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function activate_widget in module ida_kernwin: + +activate_widget(*args) + activate_widget(widget, take_focus) + + + Activate widget (only gui version) ( 'ui_activate_widget' ). + + @param widget: existing widget to display (C++: TWidget *) + @param take_focus: give focus to given widget (C++: bool) + +Help on function add_hotkey in module ida_kernwin: + +add_hotkey(*args) + add_hotkey(hotkey, pyfunc) -> PyObject * + + + 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. + +Help on function add_idc_hotkey in module ida_kernwin: + +add_idc_hotkey(*args) + add_idc_hotkey(hotkey, idcfunc) -> int + + + Add hotkey for IDC function ( 'ui_add_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + @param idcfunc: IDC function name (C++: const char *) + @return: IDC hotkey error codes + +Help on function add_spaces in module ida_kernwin: + +add_spaces(*args) + add_spaces(s, len) -> PyObject * + + + 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 len: the desired length of the string (C++: ssize_t) + @return: pointer to the end of input string + +Help on function addon_count in module ida_kernwin: + +addon_count(*args) + addon_count() -> int + + + Get number of installed addons. + +Help on class addon_info_t in module ida_kernwin: + +class addon_info_t(__builtin__.object) + | Proxy of C++ addon_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> addon_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | addon_info_t_cb_get(self) -> size_t + | + | custom_data + | addon_info_t_custom_data_get(self) -> void const * + | + | custom_size + | addon_info_t_custom_size_get(self) -> size_t + | + | freeform + | addon_info_t_freeform_get(self) -> char const * + | + | id + | addon_info_t_id_get(self) -> char const * + | + | name + | addon_info_t_name_get(self) -> char const * + | + | producer + | addon_info_t_producer_get(self) -> char const * + | + | thisown + | The membership flag + | + | url + | addon_info_t_url_get(self) -> char const * + | + | version + | addon_info_t_version_get(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_addon_info_t(self) + +Help on function analyzer_options in module ida_kernwin: + +analyzer_options(*args) + analyzer_options() + + + Allow the user to set analyzer options. (show a dialog box) ( + 'ui_analyzer_options' ) + +Help on function ask_addr in module ida_kernwin: + +ask_addr(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_buttons in module ida_kernwin: + +ask_buttons(*args) + ask_buttons(Yes, No, Cancel, deflt, format) -> int + + + Display a dialog box and get choice from maximum three possibilities ( + 'ui_ask_buttons' ).for all buttons:use "" or NULL to take the default + name for the button.use 'format' to hide the cancel button + + @param Yes: text for the first button (C++: const char *) + @param No: text for the second button (C++: const char *) + @param Cancel: text for the third button (C++: const char *) + @param deflt: default choice: one of Button IDs (C++: int) + @param format: printf-style format string for question. It may have + some prefixes, see below. (C++: const char *) + @return: one of Button IDs specifying the selected button (Esc key + returns Cancel/3rd button value) + +Help on function ask_file in module ida_kernwin: + +ask_file(*args) + ask_file(for_saving, defval, format) -> char * + +Help on function ask_for_feedback in module ida_kernwin: + +ask_for_feedback(*args) + ask_for_feedback(format) + + + Show a message box asking to send the input file tosupport@hex- + rays.com. + + @param format: the reason why the input file is bad (C++: const char + *) + +Help on function ask_ident in module ida_kernwin: + +ask_ident(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_long in module ida_kernwin: + +ask_long(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_seg in module ida_kernwin: + +ask_seg(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_str in module ida_kernwin: + +ask_str(*args) + ask_str(defval, hist, prompt) -> PyObject * + + + Asks for a long text + + @param hist: history id + @param defval: The default value + @param prompt: The prompt value + @return: None or the entered string + +Help on function ask_text in module ida_kernwin: + +ask_text(*args) + ask_text(max_size, defval, prompt) -> PyObject * + + + 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 + +Help on function ask_yn in module ida_kernwin: + +ask_yn(*args) + ask_yn(deflt, format) -> int + + + Display a dialog box and get choice from "Yes", "No", "Cancel". + + @param deflt: default choice: one of Button IDs (C++: int) + @param format: The question in printf() style format (C++: const char + *) + @return: the selected button (one of Button IDs ). Esc key returns + ASKBTN_CANCEL . + +Help on function attach_action_to_menu in module ida_kernwin: + +attach_action_to_menu(*args) + attach_action_to_menu(menupath, name, flags) -> bool + + + Attach a previously-registered action to the menu ( + 'ui_attach_action_to_menu' ).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: 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 (C++: const + char *) + @param name: the action name (C++: const char *) + @param flags: a combination of Set menu flags , to determine menu + item position (C++: int) + @return: success + +Help on function attach_action_to_popup in module ida_kernwin: + +attach_action_to_popup(*args) + 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: target widget (C++: TWidget *) + @param popup_handle: target popup menu if non-NULL, the action is + added to this popup menu invocation (i.e., + 'single-shot') if NULL, the action is added to + a list of actions that should always be present + in context menus for this widget (i.e., + 'permanent'.) (C++: TPopupMenu *) + @param name: action name (C++: const char *) + @param popuppath: can be NULL (C++: const char *) + @param flags: a combination of SETMENU_ flags (see Set menu flags ) + (C++: int) + @return: success + +Help on function attach_action_to_toolbar in module ida_kernwin: + +attach_action_to_toolbar(*args) + attach_action_to_toolbar(toolbar_name, name) -> bool + + + Attach an action to an existing toolbar ( + 'ui_attach_action_to_toolbar' ). + + @param toolbar_name: the name of the toolbar (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on function attach_dynamic_action_to_popup in module ida_kernwin: + +attach_dynamic_action_to_popup(*args) + attach_dynamic_action_to_popup(widget, popup_handle, desc, popuppath=None, flags=0) -> bool + + + Create & insert an action into the widget's popup menu ( + 'ui_attach_dynamic_action_to_popup' ). 'action_desc_t::handler' for + 'desc' must be instantiated using 'new', as it will be 'delete'd when + the action is unregistered. + + @param widget: target widget (C++: TWidget *) + @param popup_handle: target popup (C++: TPopupMenu *) + @param desc: created with DYNACTION_DESC_LITERAL (C++: const + action_desc_t &) + @param popuppath: can be NULL (C++: const char *) + @param flags: a combination of SETMENU_ constants (see Set menu flags + ) (C++: int) + @return: success + +Help on function banner in module ida_kernwin: + +banner(*args) + banner(wait) -> bool + + + Show a banner dialog box ( 'ui_banner' ). + + @param wait: time to wait before closing (C++: int) + +Help on function beep in module ida_kernwin: + +beep(*args) + beep(beep_type=beep_default) + + + Issue a beeping sound ( 'ui_beep' ). + + @param beep_type: beep_t (C++: beep_t) + +Help on function call_nav_colorizer in module ida_kernwin: + +call_nav_colorizer(*args) + 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(). + +Help on function cancel_exec_request in module ida_kernwin: + +cancel_exec_request(*args) + cancel_exec_request(req_id) -> bool + + + Try to cancel an asynchronous exec request ( 'ui_cancel_exec_request' + ). + + @param req_id: request id (C++: int) + +Help on function choose_activate in module ida_kernwin: + +choose_activate(*args) + choose_activate(_self) + +Help on function choose_choose in module ida_kernwin: + +choose_choose(*args) + choose_choose(_self) -> PyObject * + +Help on function choose_close in module ida_kernwin: + +choose_close(*args) + choose_close(_self) + +Help on function choose_create_embedded_chobj in module ida_kernwin: + +choose_create_embedded_chobj(*args) + choose_create_embedded_chobj(_self) -> PyObject * + +Help on function choose_entry in module ida_kernwin: + +choose_entry(*args) + choose_entry(title) -> ea_t + + + Choose an entry point ( 'ui_choose' , 'chtype_entry' ). + + @param title: chooser title (C++: const char *) + @return: ea of selected entry point, BADADDR if none selected + +Help on function choose_enum in module ida_kernwin: + +choose_enum(*args) + choose_enum(title, default_id) -> enum_t + + + Choose an enum ( 'ui_choose' , 'chtype_enum' ). + + @param title: chooser title (C++: const char *) + @param default_id: id of enum to select by default (C++: enum_t) + @return: enum id of selected enum, BADNODE if none selected + +Help on function choose_enum_by_value in module ida_kernwin: + +choose_enum_by_value(*args) + choose_enum_by_value(title, default_id, value, nbytes) -> enum_t + + + 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 title: chooser title (C++: const char *) + @param default_id: id of enum to select by default (C++: enum_t) + @param value: value to search for (C++: uval_t) + @param nbytes: size of value (C++: int) + @return: enum id of selected (or imported) enum, BADNODE if none was + found + +Help on function choose_find in module ida_kernwin: + +choose_find(*args) + choose_find(title) -> PyObject * + +Help on function choose_func in module ida_kernwin: + +choose_func(*args) + choose_func(title, default_ea) -> func_t * + + + Choose a function ( 'ui_choose' , 'chtype_func' ). + + @param title: chooser title (C++: const char *) + @param default_ea: ea of function to select by default (C++: ea_t) + @return: pointer to function that was selected, NULL if none selected + +Help on function choose_get_widget in module ida_kernwin: + +choose_get_widget(*args) + choose_get_widget(_self) -> TWidget * + +Help on function choose_idasgn in module ida_kernwin: + +choose_idasgn(*args) + choose_idasgn() -> PyObject * + + + Opens the signature chooser + + @return: None or the selected signature name + +Help on function choose_name in module ida_kernwin: + +choose_name(*args) + choose_name(title) -> ea_t + + + Choose a name ( 'ui_choose' , 'chtype_name' ). + + @param title: chooser title (C++: const char *) + @return: ea of selected name, BADADDR if none selected + +Help on function choose_refresh in module ida_kernwin: + +choose_refresh(*args) + choose_refresh(_self) + +Help on function choose_segm in module ida_kernwin: + +choose_segm(*args) + choose_segm(title, default_ea) -> segment_t * + + + Choose a segment ( 'ui_choose' , 'chtype_segm' ). + + @param title: chooser title (C++: const char *) + @param default_ea: ea of segment to select by default (C++: ea_t) + @return: pointer to segment that was selected, NULL if none selected + +Help on function choose_srcp in module ida_kernwin: + +choose_srcp(*args) + choose_srcp(title) -> sreg_range_t * + + + Choose a segment register change point ( 'ui_choose' , 'chtype_srcp' + ). + + @param title: chooser title (C++: const char *) + @return: pointer to segment register range of selected change point, + NULL if none selected + +Help on function choose_stkvar_xref in module ida_kernwin: + +choose_stkvar_xref(*args) + choose_stkvar_xref(pfn, mptr) -> ea_t + + + Choose an xref to a stack variable ( 'ui_choose' , 'chtype_name' ). + + @param pfn: function (C++: func_t *) + @param mptr: variable (C++: member_t *) + @return: ea of the selected xref, BADADDR if none selected + +Help on function choose_struc in module ida_kernwin: + +choose_struc(*args) + choose_struc(title) -> struc_t * + + + Choose a structure ( 'ui_choose' , 'chtype_segm' ). + + @param title: chooser title; (C++: const char *) + @return: pointer to structure that was selected, NULL if none selected + +Help on function choose_til in module ida_kernwin: + +choose_til(*args) + choose_til() -> str + + + Choose a type library ( 'ui_choose' , 'chtype_idatil' ). + +Help on function choose_xref in module ida_kernwin: + +choose_xref(*args) + choose_xref(to) -> ea_t + + + Choose an xref to an address ( 'ui_choose' , 'chtype_xref' ). + + @param to: referenced address (C++: ea_t) + @return: ea of selected xref, BADADDR if none selected + +Help on class chooser_item_attrs_t in module ida_kernwin: + +class chooser_item_attrs_t(__builtin__.object) + | Proxy of C++ chooser_item_attrs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> chooser_item_attrs_t + | + | __repr__ = _swig_repr(self) + | + | reset(self, *args) + | reset(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | color + | chooser_item_attrs_t_color_get(self) -> bgcolor_t + | + | flags + | chooser_item_attrs_t_flags_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_chooser_item_attrs_t(self) + +Help on function clear_refresh_request in module ida_kernwin: + +clear_refresh_request(*args) + clear_refresh_request(mask) + +Help on class cli_t in module ida_kernwin: + +class cli_t(ida_idaapi.pyidc_opaque_object_t) + | cli_t wrapper class. + | + | This class allows you to implement your own command line interface handlers. + | + | Method resolution order: + | cli_t + | ida_idaapi.pyidc_opaque_object_t + | __builtin__.object + | + | Methods defined here: + | + | __del__(self) + | + | __init__(self) + | + | register(self, flags=0, sname=None, lname=None, hint=None) + | 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 + | + | unregister(self) + | Unregisters the CLI (if it was registered) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function close_chooser in module ida_kernwin: + +close_chooser(*args) + close_chooser(title) -> bool + + + Close a non-modal chooser ( 'ui_close_chooser' ). + + @param title: window title of chooser to close (C++: const char *) + @return: success + +Help on function close_widget in module ida_kernwin: + +close_widget(*args) + close_widget(widget, options) + + + Close widget ( 'ui_close_widget' , only gui version). + + @param widget: pointer to the widget to close (C++: TWidget *) + @param options: Form close flags (C++: int) + +Help on function clr_cancelled in module ida_kernwin: + +clr_cancelled(*args) + clr_cancelled() + + + Clear "Cancelled" flag ( 'ui_clr_cancelled' ) + +Help on function create_code_viewer in module ida_kernwin: + +create_code_viewer(*args) + 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: the custom view to be added (C++: TWidget *) + @param flags: Code viewer flags (C++: int) + @param parent: widget to contain the new code viewer (C++: TWidget *) + +Help on function create_empty_widget in module ida_kernwin: + +create_empty_widget(*args) + create_empty_widget(title, icon=-1) -> TWidget * + + + Create an empty widget, serving as a container for custom user widgets + + @param title (C++: const char *) + @param icon (C++: int) + +Help on function create_menu in module ida_kernwin: + +create_menu(*args) + 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-NULL, 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: name of menu (must be unique) (C++: const char *) + @param label: label of menu (C++: const char *) + @param menupath: where should the menu be inserted (C++: const char *) + @return: success + +Help on function create_toolbar in module ida_kernwin: + +create_toolbar(*args) + create_toolbar(name, label, before=None, flags=0) -> bool + + + Create a toolbar with the given name, label and optional position + + @param name: name of toolbar (must be unique) (C++: const char *) + @param label: label of toolbar (C++: const char *) + @param before: if non-NULL, the toolbar before which the new toolbar + will be inserted (C++: const char *) + @param flags: a combination of create toolbar flags , to determine + toolbar position (C++: int) + @return: success + +Help on function custom_viewer_jump in module ida_kernwin: + +custom_viewer_jump(*args) + custom_viewer_jump(v, loc, flags=0) -> bool + + + Append 'loc' to the viewer's history, and cause the viewer to display + it. + + @param v: (TWidget *) (C++: TWidget *) + @param loc: (const lochist_entry_t &) (C++: const lochist_entry_t + &) + @param flags: (uint32) or'ed combination of CVNF_* values (C++: + uint32) + @return: success + +Help on function del_hotkey in module ida_kernwin: + +del_hotkey(*args) + del_hotkey(pyctx) -> bool + + + Deletes a previously registered function hotkey + + @param ctx: Hotkey context previously returned by add_hotkey() + + @return: Boolean. + +Help on function del_idc_hotkey in module ida_kernwin: + +del_idc_hotkey(*args) + del_idc_hotkey(hotkey) -> bool + + + Delete IDC function hotkey ( 'ui_del_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + +Help on function delete_menu in module ida_kernwin: + +delete_menu(*args) + delete_menu(name) -> bool + + + Delete an existing menu + + @param name: name of menu (C++: const char *) + @return: success + +Help on function delete_toolbar in module ida_kernwin: + +delete_toolbar(*args) + delete_toolbar(name) -> bool + + + Delete an existing toolbar + + @param name: name of toolbar (C++: const char *) + @return: success + +Help on function detach_action_from_menu in module ida_kernwin: + +detach_action_from_menu(*args) + detach_action_from_menu(menupath, name) -> bool + + + Detach an action from the menu ( 'ui_detach_action_from_menu' ). + + @param menupath: path to the menu item (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on function detach_action_from_popup in module ida_kernwin: + +detach_action_from_popup(*args) + 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: target widget (C++: TWidget *) + @param name: action name (C++: const char *) + +Help on function detach_action_from_toolbar in module ida_kernwin: + +detach_action_from_toolbar(*args) + detach_action_from_toolbar(toolbar_name, name) -> bool + + + Detach an action from the toolbar ( 'ui_detach_action_from_toolbar' ). + + @param toolbar_name: the name of the toolbar (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on class disasm_line_t in module ida_kernwin: + +class disasm_line_t(__builtin__.object) + | Proxy of C++ disasm_line_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> disasm_line_t + | __init__(self, other) -> disasm_line_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | at + | disasm_line_t_at_get(self) -> place_t + | + | bg_color + | disasm_line_t_bg_color_get(self) -> bgcolor_t + | + | is_default + | disasm_line_t_is_default_get(self) -> bool + | + | line + | disasm_line_t_line_get(self) -> qstring * + | + | prefix_color + | disasm_line_t_prefix_color_get(self) -> color_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_disasm_line_t(self) + +Help on class disasm_text_t in module ida_kernwin: + +class disasm_text_t(__builtin__.object) + | Proxy of C++ qvector< disasm_line_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> disasm_line_t + | + | __init__(self, *args) + | __init__(self) -> disasm_text_t + | __init__(self, x) -> disasm_text_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> disasm_line_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> disasm_line_t + | begin(self) -> disasm_line_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> disasm_line_t + | end(self) -> disasm_line_t + | + | erase(self, *args) + | erase(self, it) -> disasm_line_t + | erase(self, first, last) -> disasm_line_t + | + | extract(self, *args) + | extract(self) -> disasm_line_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=disasm_line_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> disasm_line_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> disasm_line_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_disasm_text_t(self) + +Help on function display_copyright_warning in module ida_kernwin: + +display_copyright_warning(*args) + display_copyright_warning() -> bool + + + Display copyright warning ( 'ui_copywarn' ). + + @return: yes/no + +Help on function display_widget in module ida_kernwin: + +display_widget(*args) + display_widget(widget, options, dest_ctrl=None) + + + Display a widget, dock it if not done before + + @param widget: widget to display (C++: TWidget *) + @param options: Widget open flags (C++: uint32) + @param dest_ctrl: where to dock: if NULL or invalid then use the + active docker if there is not create a new tab + relative to current active tab (C++: const char *) + +Help on function ea2str in module ida_kernwin: + +ea2str(*args) + ea2str(ea) -> str + + + Convert linear address to UTF-8 string. + + + @param ea (C++: ea_t) + +Help on function ea_viewer_history_push_and_jump in module ida_kernwin: + +ea_viewer_history_push_and_jump(*args) + 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: ea viewer (C++: TWidget *) + @param ea: jump destination (C++: ea_t) + @param x: coords on screen (C++: int) + @param y: coords on screen (C++: int) + @param lnnum: desired line number of given address (C++: int) + +Help on function enable_chooser_item_attrs in module ida_kernwin: + +enable_chooser_item_attrs(*args) + 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_attrsevents 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 *) + @param enable (C++: bool) + @return: success + +Help on class enumplace_t in module ida_kernwin: + +class enumplace_t(place_t) + | Proxy of C++ enumplace_t class. + | + | Method resolution order: + | enumplace_t + | place_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bmask + | enumplace_t_bmask_get(self) -> bmask_t + | + | idx + | enumplace_t_idx_get(self) -> size_t + | + | serial + | enumplace_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | value + | enumplace_t_value_get(self) -> uval_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enumplace_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) + | _print(self, out_buf, ud) + | + | adjust(self, *args) + | adjust(self, ud) + | + | beginning(self, *args) + | beginning(self, ud) -> bool + | + | clone(self, *args) + | clone(self) -> place_t + | + | compare(self, *args) + | compare(self, t2) -> int + | + | copyfrom(self, *args) + | copyfrom(self, _from) + | + | deserialize(self, *args) + | deserialize(self, _in) -> bool + | + | ending(self, *args) + | ending(self, ud) -> bool + | + | enter(self, *args) + | enter(self, arg2) -> place_t + | + | generate(self, *args) + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) + | id(self) -> int + | + | leave(self, *args) + | leave(self, arg2) + | + | makeplace(self, *args) + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) + | name(self) -> char const * + | + | next(self, *args) + | next(self, ud) -> bool + | + | prev(self, *args) + | prev(self, ud) -> bool + | + | rebase(self, *args) + | rebase(self, arg2) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | toea(self, *args) + | toea(self) -> ea_t + | + | touval(self, *args) + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on function error in module ida_kernwin: + +error(*args) + error(format) + + + Display a fatal message in a message box and quit IDA + + @param format: message to print + +Help on function execute_sync in module ida_kernwin: + +execute_sync(*args) + execute_sync(py_callable, reqf) -> int + + + 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 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 + +Help on function execute_ui_requests in module ida_kernwin: + +execute_ui_requests(*args) + 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 callabale item + +Help on function find_widget in module ida_kernwin: + +find_widget(*args) + 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: title of tab, or window title if widget is not tabbed + (C++: const char *) + @return: pointer to the TWidget, NULL if none is found + +Help on function formchgcbfa_close in module ida_kernwin: + +formchgcbfa_close(*args) + formchgcbfa_close(p_fa, close_normally) + +Help on function formchgcbfa_enable_field in module ida_kernwin: + +formchgcbfa_enable_field(*args) + formchgcbfa_enable_field(p_fa, fid, enable) -> bool + +Help on function formchgcbfa_get_field_value in module ida_kernwin: + +formchgcbfa_get_field_value(*args) + formchgcbfa_get_field_value(p_fa, fid, ft, sz) -> PyObject * + +Help on function formchgcbfa_get_focused_field in module ida_kernwin: + +formchgcbfa_get_focused_field(*args) + formchgcbfa_get_focused_field(p_fa) -> int + +Help on function formchgcbfa_move_field in module ida_kernwin: + +formchgcbfa_move_field(*args) + formchgcbfa_move_field(p_fa, fid, x, y, w, h) -> bool + +Help on function formchgcbfa_refresh_field in module ida_kernwin: + +formchgcbfa_refresh_field(*args) + formchgcbfa_refresh_field(p_fa, fid) + +Help on function formchgcbfa_set_field_value in module ida_kernwin: + +formchgcbfa_set_field_value(*args) + formchgcbfa_set_field_value(p_fa, fid, ft, py_val) -> bool + +Help on function formchgcbfa_set_focused_field in module ida_kernwin: + +formchgcbfa_set_focused_field(*args) + formchgcbfa_set_focused_field(p_fa, fid) -> bool + +Help on function formchgcbfa_show_field in module ida_kernwin: + +formchgcbfa_show_field(*args) + formchgcbfa_show_field(p_fa, fid, show) -> bool + +Help on function free_custom_icon in module ida_kernwin: + +free_custom_icon(*args) + free_custom_icon(icon_id) + + + Frees an icon loaded with load_custom_icon() + +Help on function gen_disasm_text in module ida_kernwin: + +gen_disasm_text(*args) + gen_disasm_text(text, ea1, ea2, truncate_lines) + + + Generate disassembly text for a range. + + @param text: result (C++: text_t &) + @param ea1: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @param truncate_lines: (on idainfo::margin ) (C++: bool) + +Help on function get_action_checkable in module ida_kernwin: + +get_action_checkable(*args) + get_action_checkable(name) -> bool + + + Get an action's checkability ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_checked in module ida_kernwin: + +get_action_checked(*args) + get_action_checked(name) -> bool + + + Get an action's checked state ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_icon in module ida_kernwin: + +get_action_icon(*args) + get_action_icon(name) -> bool + + + Get an action's icon ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_label in module ida_kernwin: + +get_action_label(*args) + get_action_label(name) -> str + + + Get an action's label ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_shortcut in module ida_kernwin: + +get_action_shortcut(*args) + get_action_shortcut(name) -> str + + + Get an action's shortcut ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_state in module ida_kernwin: + +get_action_state(*args) + get_action_state(name) -> bool + + + Get an action's state ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_tooltip in module ida_kernwin: + +get_action_tooltip(*args) + get_action_tooltip(name) -> str + + + Get an action's tooltip ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_visibility in module ida_kernwin: + +get_action_visibility(*args) + get_action_visibility(name) -> bool + + + Get an action's visibility ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_active_modal_widget in module ida_kernwin: + +get_active_modal_widget(*args) + 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 NULL even if it is currently shown. + + @return: TWidget * the active modal widget, or NULL + +Help on function get_addon_info in module ida_kernwin: + +get_addon_info(*args) + 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 *) + @param info (C++: addon_info_t *) + @return: false if not found + +Help on function get_addon_info_idx in module ida_kernwin: + +get_addon_info_idx(*args) + 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 + +Help on function get_chooser_data in module ida_kernwin: + +get_chooser_data(*args) + get_chooser_data(chooser_caption, n) -> PyObject * + + + Get the text corresponding to the index N in the chooser data. Use -1 + to get the header. + + @param chooser_caption (C++: const char *) + @param n (C++: int) + +Help on function get_chooser_obj in module ida_kernwin: + +get_chooser_obj(*args) + get_chooser_obj(chooser_caption) -> void * + + + Get the underlying object of the specified chooser ( + 'ui_get_chooser_obj' ).This is object is chooser-specific. + + @param chooser_caption (C++: const char *) + @return: the object that was used to create the chooser + +Help on function get_curline in module ida_kernwin: + +get_curline(*args) + 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) + +Help on function get_current_viewer in module ida_kernwin: + +get_current_viewer(*args) + get_current_viewer() -> TWidget * + + + Get current ida viewer (idaview or custom viewer) ( + 'ui_get_current_viewer' ) + +Help on function get_current_widget in module ida_kernwin: + +get_current_widget(*args) + get_current_widget() -> TWidget * + + + Get a pointer to the current widget ( 'ui_get_current_widget' ). + +Help on function get_cursor in module ida_kernwin: + +get_cursor(*args) + get_cursor() -> bool + + + Get the cursor position on the screen ( 'ui_get_cursor' ).coordinates + are 0-based + +Help on function get_custom_viewer_curline in module ida_kernwin: + +get_custom_viewer_curline(*args) + 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 + + @param custom_viewer: view (C++: TWidget *) + @param mouse: mouse position (otherwise cursor position) (C++: bool) + @return: pointer to contents of current line + +Help on function get_custom_viewer_location in module ida_kernwin: + +get_custom_viewer_location(*args) + get_custom_viewer_location(out, custom_viewer, mouse=False) -> bool + + + Get the current location in a custom viewer ( + 'ui_get_custom_viewer_location' ). + + + @param out (C++: lochist_entry_t *) + @param custom_viewer (C++: TWidget *) + @param mouse (C++: bool) + +Help on function get_custom_viewer_place in module ida_kernwin: + +get_custom_viewer_place(*args) + 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: view (C++: TWidget *) + @param mouse: mouse position (otherwise cursor position) (C++: bool) + +Help on function get_ea_viewer_history_info in module ida_kernwin: + +get_ea_viewer_history_info(*args) + get_ea_viewer_history_info(nback, nfwd, v) -> bool + + + Get information about what's in the history ( + 'ui_ea_viewer_history_info' ). + + @param nback: number of available back steps (C++: int *) + @param nfwd: number of available forward steps (C++: int *) + @param v: ea viewer (C++: TWidget *) + +Help on function get_hexdump_ea in module ida_kernwin: + +get_hexdump_ea(*args) + get_hexdump_ea(hexdump_num) -> ea_t + + + Get the current address in a hex view. + + @param hexdump_num: number of hexview window (C++: int) + +Help on function get_highlight in module ida_kernwin: + +get_highlight(*args) + get_highlight(v) -> PyObject * + + + Returns the currently highlighted identifier and flags + + @return: a tuple (text, flags), or None if nothing + is highlighted or in case of error. + +Help on function get_kernel_version in module ida_kernwin: + +get_kernel_version(*args) + get_kernel_version() -> str + + + Get IDA kernel version (in a string like "5.1"). + +Help on function get_key_code in module ida_kernwin: + +get_key_code(*args) + get_key_code(keyname) -> ushort + + + Get keyboard key code by its name ( 'ui_get_key_code' ) + + + @param keyname (C++: const char *) + +Help on function get_navband_ea in module ida_kernwin: + +get_navband_ea(*args) + get_navband_ea(pixel) -> ea_t + + + Translate the pixel position on the navigation band, into an address. + + + @param pixel (C++: int) + +Help on function get_navband_pixel in module ida_kernwin: + +get_navband_pixel(*args) + get_navband_pixel(ea) -> int + + + Maps an address, onto a pixel coordinate within the navband + + @param ea: The address to map + @return: a list [pixel, is_vertical] + +Help on function get_opnum in module ida_kernwin: + +get_opnum(*args) + get_opnum() -> int + + + Get current operand number, -1 means no operand ( 'ui_get_opnum' ) + +Help on function get_output_curline in module ida_kernwin: + +get_output_curline(*args) + get_output_curline(mouse) -> str + + + Get current line of output window ( 'ui_get_output_curline' ). + + @param mouse: current for mouse pointer? (C++: bool) + @return: false if output contains no text + +Help on function get_output_cursor in module ida_kernwin: + +get_output_cursor(*args) + get_output_cursor() -> bool + + + Get coordinates of the output window's cursor ( 'ui_get_output_cursor' + ).coordinates are 0-basedthis function will succeed even if the output + window is not visible + +Help on function get_output_selected_text in module ida_kernwin: + +get_output_selected_text(*args) + get_output_selected_text() -> str + + + Returns selected text from output window ( + 'ui_get_output_selected_text' ). + + @return: true if there is a selection + +Help on function get_place_class in module ida_kernwin: + +get_place_class(*args) + 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: output flags (can be NULL) (C++: int *) + @param out_sdk_version: sdk version the place was created with (can be + NULL) (C++: int *) + @param id: place class ID (C++: int) + @return: the place_t template, or NULL if not found + +Help on function get_place_class_id in module ida_kernwin: + +get_place_class_id(*args) + get_place_class_id(name) -> int + + + Get the place class ID for the place that has been registered as + 'name'. + + @param name: the class name (C++: const char *) + @return: the place class ID, or -1 if not found + +Help on function get_place_class_template in module ida_kernwin: + +get_place_class_template(*args) + get_place_class_template(id) -> place_t + + + See 'get_place_class()' + + + @param id (C++: int) + +Help on function get_registered_actions in module ida_kernwin: + +get_registered_actions(*args) + get_registered_actions() -> PyObject * + + + Get a list of all currently-registered actions + +Help on function get_screen_ea in module ida_kernwin: + +get_screen_ea(*args) + get_screen_ea() -> ea_t + + + Get the address at the screen cursor ( 'ui_screenea' ) + +Help on function get_tab_size in module ida_kernwin: + +get_tab_size(*args) + get_tab_size(path) -> int + + + Get the size of a tab in spaces ( 'ui_get_tab_size' ). + + @param path: the path of the source view for which the tab size is + requested. if NULL, the default size is returned. (C++: + const char *) + +Help on function get_user_strlist_options in module ida_kernwin: + +get_user_strlist_options(*args) + get_user_strlist_options(out) + +Help on function get_view_renderer_type in module ida_kernwin: + +get_view_renderer_type(*args) + 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 *) + +Help on function get_viewer_place_type in module ida_kernwin: + +get_viewer_place_type(*args) + 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 *) + +Help on function get_viewer_user_data in module ida_kernwin: + +get_viewer_user_data(*args) + get_viewer_user_data(viewer) -> void * + + + Get the user data from a custom viewer ( 'ui_get_viewer_user_data' ) + + + @param viewer (C++: TWidget *) + +Help on function get_widget_title in module ida_kernwin: + +get_widget_title(*args) + get_widget_title(widget) -> str + + + Get the TWidget's title ( 'ui_get_widget_title' ). + + + @param widget (C++: TWidget *) + +Help on function get_widget_type in module ida_kernwin: + +get_widget_type(*args) + get_widget_type(widget) -> twidget_type_t + + + Get the type of the TWidget * ( 'ui_get_widget_type' ). + + + @param widget (C++: TWidget *) + +Help on function get_window_id in module ida_kernwin: + +get_window_id(*args) + get_window_id(name=None) -> void * + + + Get the system-specific window ID (GUI version only) + + @param name (C++: const char *) + @return: the low-level window ID + +Help on function hide_wait_box in module ida_kernwin: + +hide_wait_box(*args) + hide_wait_box() + + + Hide the "Please wait dialog box". + +Help on class idaplace_t in module ida_kernwin: + +class idaplace_t(place_t) + | Proxy of C++ idaplace_t class. + | + | Method resolution order: + | idaplace_t + | place_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ea + | idaplace_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idaplace_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) + | _print(self, out_buf, ud) + | + | adjust(self, *args) + | adjust(self, ud) + | + | beginning(self, *args) + | beginning(self, ud) -> bool + | + | clone(self, *args) + | clone(self) -> place_t + | + | compare(self, *args) + | compare(self, t2) -> int + | + | copyfrom(self, *args) + | copyfrom(self, _from) + | + | deserialize(self, *args) + | deserialize(self, _in) -> bool + | + | ending(self, *args) + | ending(self, ud) -> bool + | + | enter(self, *args) + | enter(self, arg2) -> place_t + | + | generate(self, *args) + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) + | id(self) -> int + | + | leave(self, *args) + | leave(self, arg2) + | + | makeplace(self, *args) + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) + | name(self) -> char const * + | + | next(self, *args) + | next(self, ud) -> bool + | + | prev(self, *args) + | prev(self, ud) -> bool + | + | rebase(self, *args) + | rebase(self, arg2) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | toea(self, *args) + | toea(self) -> ea_t + | + | touval(self, *args) + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on function info in module ida_kernwin: + +info(*args) + info(format) + +Help on function install_command_interpreter in module ida_kernwin: + +install_command_interpreter(*args) + install_command_interpreter(py_obj) -> int + + + Install command line interpreter ( 'ui_install_cli' ) + +Help on function internal_register_place_class in module ida_kernwin: + +internal_register_place_class(*args) + internal_register_place_class(tmplate, flags, owner, sdk_version) -> int + +Help on function is_action_enabled in module ida_kernwin: + +is_action_enabled(*args) + is_action_enabled(s) -> bool + + + Check if the given action state is one of AST_ENABLE*. + + + @param s (C++: action_state_t) + +Help on function is_chooser_widget in module ida_kernwin: + +is_chooser_widget(*args) + is_chooser_widget(t) -> bool + + + Does the given widget type specify a chooser widget? + + + @param t (C++: twidget_type_t) + +Help on function is_idaq in module ida_kernwin: + +is_idaq(*args) + is_idaq() -> bool + + + Returns True or False depending if IDAPython is hosted by IDAQ + +Help on function is_msg_inited in module ida_kernwin: + +is_msg_inited(*args) + is_msg_inited() -> bool + + + Can we use msg() functions? + +Help on function is_place_class_ea_capable in module ida_kernwin: + +is_place_class_ea_capable(*args) + is_place_class_ea_capable(id) -> bool + + + See 'get_place_class()' + + + @param id (C++: int) + +Help on function is_refresh_requested in module ida_kernwin: + +is_refresh_requested(*args) + is_refresh_requested(mask) -> bool + + + Get a refresh request state + + @param mask: Window refresh flags (C++: uint64) + @return: the state (set or cleared) + +Help on class jobj_wrapper_t in module ida_kernwin: + +class jobj_wrapper_t(__builtin__.object) + | Proxy of C++ jobj_wrapper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | get_dict(self, *args) + | get_dict(self) -> PyObject * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function jumpto in module ida_kernwin: + +jumpto(*args) + jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool + jumpto(custom_viewer, place, x, y) -> bool + + + Jump to the specified address ( 'ui_jumpto' ). + + @param ea: destination (C++: ea_t) + @param opnum: -1: don't change x coord (C++: int) + @param uijmp_flags: Jump flags (C++: int) + @return: success + +Help on function load_custom_icon in module ida_kernwin: + +load_custom_icon(file_name=None, data=None, format=None) + 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. + + @param file_name: The icon file name + @param data: The icon data + @param format: The icon data format + + @return: Icon id or 0 on failure. + Use free_custom_icon() to free it + + + Load an icon from a file ( 'ui_load_custom_icon_file' ). Also see + 'load_custom_icon(const void *, unsigned int, const char *)' + + @return: icon id + +Help on function load_dbg_dbginfo in module ida_kernwin: + +load_dbg_dbginfo(*args) + load_dbg_dbginfo(path, li=None, base=BADADDR, verbose=False) -> bool + + + Load debugging information from a file. + + @param path: path to file (C++: const char *) + @param li: loader input. if NULL, check DBG_NAME_KEY (C++: linput_t *) + @param base: loading address (C++: ea_t) + @param verbose: dump status to message window (C++: bool) + +Help on function lookup_key_code in module ida_kernwin: + +lookup_key_code(*args) + lookup_key_code(key, shift, is_qt) -> ushort + + + Get shortcut code previously created by 'ui_get_key_code' . + + @param key: key constant (C++: int) + @param shift: modifiers (C++: int) + @param is_qt: are we using gui version? (C++: bool) + +Help on function msg in module ida_kernwin: + +msg(*args) + msg(o) -> PyObject * + + + 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 + +Help on function msg_clear in module ida_kernwin: + +msg_clear(*args) + msg_clear() + + + Clear the "Output window". + +Help on function msg_get_lines in module ida_kernwin: + +msg_get_lines(*args) + 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: The number of lines to retrieve. -1 means: all (C++: + int) + +Help on function msg_save in module ida_kernwin: + +msg_save(*args) + msg_save(path) -> bool + + + Save the "Output window" contents into a file + + @param path: 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. (C++: qstring &) + @return: success + +Help on function nomem in module ida_kernwin: + +nomem(*args) + nomem(format) + +Help on function open_bpts_window in module ida_kernwin: + +open_bpts_window(*args) + open_bpts_window(ea) -> TWidget * + + + Open the breakpoints window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_calls_window in module ida_kernwin: + +open_calls_window(*args) + open_calls_window(ea) -> TWidget * + + + Open the function calls window ( 'ui_open_builtin' ). + + @param ea (C++: ea_t) + @return: pointer to resulting window + +Help on function open_disasm_window in module ida_kernwin: + +open_disasm_window(*args) + open_disasm_window(window_title, ranges=None) -> TWidget * + + + Open a disassembly view ( 'ui_open_builtin' ). + + @param window_title: title of view to open (C++: const char *) + @param ranges: if != NULL, then display a flow chart with the + specified ranges (C++: const rangevec_t *) + @return: pointer to resulting window + +Help on function open_enums_window in module ida_kernwin: + +open_enums_window(*args) + open_enums_window(const_id=BADADDR) -> TWidget * + + + Open the enums window ( 'ui_open_builtin' ). + + @param const_id: index of entry to select by default (C++: tid_t) + @return: pointer to resulting window + +Help on function open_exports_window in module ida_kernwin: + +open_exports_window(*args) + open_exports_window(ea) -> TWidget * + + + Open the exports window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_frame_window in module ida_kernwin: + +open_frame_window(*args) + open_frame_window(pfn, offset) -> TWidget * + + + Open the frame window for the given function ( 'ui_open_builtin' ). + + @param pfn: function to analyze (C++: func_t *) + @param offset: offset where the cursor is placed (C++: uval_t) + @return: pointer to resulting window if 'pfn' is a valid function and + the window was displayed, NULL otherwise + +Help on function open_funcs_window in module ida_kernwin: + +open_funcs_window(*args) + open_funcs_window(ea) -> TWidget * + + + Open the functions window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_hexdump_window in module ida_kernwin: + +open_hexdump_window(*args) + open_hexdump_window(window_title) -> TWidget * + + + Open a hexdump view ( 'ui_open_builtin' ). + + @param window_title: title of view to open (C++: const char *) + @return: pointer to resulting window + +Help on function open_imports_window in module ida_kernwin: + +open_imports_window(*args) + open_imports_window(ea) -> TWidget * + + + Open the exports window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_loctypes_window in module ida_kernwin: + +open_loctypes_window(*args) + open_loctypes_window(ordinal) -> TWidget * + + + Open the local types window ( 'ui_open_builtin' ). + + @param ordinal: ordinal of type to select by default (C++: int) + @return: pointer to resulting window + +Help on function open_modules_window in module ida_kernwin: + +open_modules_window(*args) + open_modules_window() -> TWidget * + + + Open the modules window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_names_window in module ida_kernwin: + +open_names_window(*args) + open_names_window(ea) -> TWidget * + + + Open the names window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_navband_window in module ida_kernwin: + +open_navband_window(*args) + open_navband_window(ea, zoom) -> TWidget * + + + Open the navigation band window ( 'ui_open_builtin' ). + + @param ea: sets the address of the navband arrow (C++: ea_t) + @param zoom: sets the navband zoom level (C++: int) + @return: pointer to resulting window + +Help on function open_notepad_window in module ida_kernwin: + +open_notepad_window(*args) + open_notepad_window() -> TWidget * + + + Open the notepad window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_problems_window in module ida_kernwin: + +open_problems_window(*args) + open_problems_window(ea) -> TWidget * + + + Open the problems window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_segments_window in module ida_kernwin: + +open_segments_window(*args) + open_segments_window(ea) -> TWidget * + + + Open the segments window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_segregs_window in module ida_kernwin: + +open_segregs_window(*args) + open_segregs_window(ea) -> TWidget * + + + Open the segment registers window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_selectors_window in module ida_kernwin: + +open_selectors_window(*args) + open_selectors_window() -> TWidget * + + + Open the selectors window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_signatures_window in module ida_kernwin: + +open_signatures_window(*args) + open_signatures_window() -> TWidget * + + + Open the signatures window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_stack_window in module ida_kernwin: + +open_stack_window(*args) + open_stack_window() -> TWidget * + + + Open the call stack window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_strings_window in module ida_kernwin: + +open_strings_window(*args) + open_strings_window(ea, selstart=BADADDR, selend=BADADDR) -> TWidget * + + + Open the strings window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @param selstart: only display strings that occur within this range + (C++: ea_t) + @param selend: only display strings that occur within this range (C++: + ea_t) + @return: pointer to resulting window + +Help on function open_structs_window in module ida_kernwin: + +open_structs_window(*args) + open_structs_window(id=BADADDR, offset=0) -> TWidget * + + + Open the structs window ( 'ui_open_builtin' ). + + @param id: index of entry to select by default (C++: tid_t) + @param offset: offset where the cursor is placed (C++: uval_t) + @return: pointer to resulting window + +Help on function open_threads_window in module ida_kernwin: + +open_threads_window(*args) + open_threads_window() -> TWidget * + + + Open the threads window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_tils_window in module ida_kernwin: + +open_tils_window(*args) + open_tils_window() -> TWidget * + + + Open the type libraries window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_trace_window in module ida_kernwin: + +open_trace_window(*args) + open_trace_window() -> TWidget * + + + Open the trace window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_url in module ida_kernwin: + +open_url(*args) + open_url(url) + + + Open the given url ( 'ui_open_url' ) + + + @param url (C++: const char *) + +Help on function open_xrefs_window in module ida_kernwin: + +open_xrefs_window(*args) + open_xrefs_window(ea) -> TWidget * + + + Open the cross references window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on class place_t in module ida_kernwin: + +class place_t(__builtin__.object) + | Proxy of C++ place_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, out_buf, ud) + | + | adjust(self, *args) + | adjust(self, ud) + | + | beginning(self, *args) + | beginning(self, ud) -> bool + | + | clone(self, *args) + | clone(self) -> place_t + | + | compare(self, *args) + | compare(self, t2) -> int + | + | copyfrom(self, *args) + | copyfrom(self, _from) + | + | deserialize(self, *args) + | deserialize(self, _in) -> bool + | + | ending(self, *args) + | ending(self, ud) -> bool + | + | enter(self, *args) + | enter(self, arg2) -> place_t + | + | generate(self, *args) + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) + | id(self) -> int + | + | leave(self, *args) + | leave(self, arg2) + | + | makeplace(self, *args) + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) + | name(self) -> char const * + | + | next(self, *args) + | next(self, ud) -> bool + | + | prev(self, *args) + | prev(self, ud) -> bool + | + | rebase(self, *args) + | rebase(self, arg2) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | toea(self, *args) + | toea(self) -> ea_t + | + | touval(self, *args) + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | as_enumplace_t(*args) + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_place_t(self) + +Help on function place_t_as_enumplace_t in module ida_kernwin: + +place_t_as_enumplace_t(*args) + place_t_as_enumplace_t(p) -> enumplace_t + +Help on function place_t_as_idaplace_t in module ida_kernwin: + +place_t_as_idaplace_t(*args) + place_t_as_idaplace_t(p) -> idaplace_t + +Help on function place_t_as_simpleline_place_t in module ida_kernwin: + +place_t_as_simpleline_place_t(*args) + place_t_as_simpleline_place_t(p) -> simpleline_place_t + +Help on function place_t_as_structplace_t in module ida_kernwin: + +place_t_as_structplace_t(*args) + place_t_as_structplace_t(p) -> structplace_t + +Help on function plgform_close in module ida_kernwin: + +plgform_close(*args) + plgform_close(py_link, options) + +Help on function plgform_get_widget in module ida_kernwin: + +plgform_get_widget(*args) + plgform_get_widget(py_link) -> TWidget * + +Help on function plgform_new in module ida_kernwin: + +plgform_new(*args) + plgform_new() -> PyObject * + +Help on function plgform_show in module ida_kernwin: + +plgform_show(*args) + plgform_show(py_link, py_obj, caption, options=WOPN_DP_TAB|WOPN_RESTORE) -> bool + +Help on function process_ui_action in module ida_kernwin: + +process_ui_action(*args) + process_ui_action(name, flags=0) -> bool + + + Invokes an IDA UI action by name + + @param name: action name + @return: Boolean + +Help on function py_get_ask_form in module ida_kernwin: + +py_get_ask_form(*args) + py_get_ask_form() -> size_t + +Help on function py_get_open_form in module ida_kernwin: + +py_get_open_form(*args) + py_get_open_form() -> size_t + +Help on function py_load_custom_icon_data in module ida_kernwin: + +py_load_custom_icon_data(*args) + py_load_custom_icon_data(data, format) -> int + +Help on function py_load_custom_icon_fn in module ida_kernwin: + +py_load_custom_icon_fn(*args) + py_load_custom_icon_fn(filename) -> int + +Help on function py_register_compiled_form in module ida_kernwin: + +py_register_compiled_form(*args) + py_register_compiled_form(py_form) + +Help on function py_ss_restore_callback in module ida_kernwin: + +py_ss_restore_callback(*args) + py_ss_restore_callback(err_msg, userdata) + +Help on function py_unregister_compiled_form in module ida_kernwin: + +py_unregister_compiled_form(*args) + py_unregister_compiled_form(py_form) + +Help on function pyidag_bind in module ida_kernwin: + +pyidag_bind(*args) + pyidag_bind(_self) -> bool + +Help on function pyidag_unbind in module ida_kernwin: + +pyidag_unbind(*args) + pyidag_unbind(_self) -> bool + +Help on function pyscv_add_line in module ida_kernwin: + +pyscv_add_line(*args) + pyscv_add_line(py_this, py_sl) -> bool + +Help on function pyscv_clear_lines in module ida_kernwin: + +pyscv_clear_lines(*args) + pyscv_clear_lines(py_this) -> PyObject * + +Help on function pyscv_close in module ida_kernwin: + +pyscv_close(*args) + pyscv_close(py_this) + +Help on function pyscv_count in module ida_kernwin: + +pyscv_count(*args) + pyscv_count(py_this) -> size_t + +Help on function pyscv_del_line in module ida_kernwin: + +pyscv_del_line(*args) + pyscv_del_line(py_this, nline) -> bool + +Help on function pyscv_edit_line in module ida_kernwin: + +pyscv_edit_line(*args) + pyscv_edit_line(py_this, nline, py_sl) -> bool + +Help on function pyscv_get_current_line in module ida_kernwin: + +pyscv_get_current_line(*args) + pyscv_get_current_line(py_this, mouse, notags) -> PyObject * + +Help on function pyscv_get_current_word in module ida_kernwin: + +pyscv_get_current_word(*args) + pyscv_get_current_word(py_this, mouse) -> PyObject * + +Help on function pyscv_get_line in module ida_kernwin: + +pyscv_get_line(*args) + pyscv_get_line(py_this, nline) -> PyObject * + +Help on function pyscv_get_pos in module ida_kernwin: + +pyscv_get_pos(*args) + pyscv_get_pos(py_this, mouse) -> PyObject * + +Help on function pyscv_get_selection in module ida_kernwin: + +pyscv_get_selection(*args) + pyscv_get_selection(py_this) -> PyObject * + +Help on function pyscv_get_widget in module ida_kernwin: + +pyscv_get_widget(*args) + pyscv_get_widget(py_this) -> TWidget * + +Help on function pyscv_init in module ida_kernwin: + +pyscv_init(*args) + pyscv_init(py_link, title) -> PyObject * + +Help on function pyscv_insert_line in module ida_kernwin: + +pyscv_insert_line(*args) + pyscv_insert_line(py_this, nline, py_sl) -> bool + +Help on function pyscv_is_focused in module ida_kernwin: + +pyscv_is_focused(*args) + pyscv_is_focused(py_this) -> bool + +Help on function pyscv_jumpto in module ida_kernwin: + +pyscv_jumpto(*args) + pyscv_jumpto(py_this, ln, x, y) -> bool + +Help on function pyscv_patch_line in module ida_kernwin: + +pyscv_patch_line(*args) + pyscv_patch_line(py_this, nline, offs, value) -> bool + +Help on function pyscv_refresh in module ida_kernwin: + +pyscv_refresh(*args) + pyscv_refresh(py_this) -> bool + +Help on function pyscv_show in module ida_kernwin: + +pyscv_show(*args) + pyscv_show(py_this) -> bool + +Help on function qcleanline in module ida_kernwin: + +qcleanline(*args) + qcleanline(cmt_char='\0', flags=((1 << 0)|(1 << 1))|(1 << 2)) -> str + + + Performs some cleanup operations to a line. + + @param cmt_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 (C++: char) + @param flags: a combination of line cleanup flags . defaults to + CLNL_TRIM (C++: uint32) + @return: length of line + +Help on class quick_widget_commands_t in module ida_kernwin: + +class quick_widget_commands_t + | # ---------------------------------------------------------------------- + | # This provides an alternative to register_action()+attach_action_to_popup_menu() + | + | Methods defined here: + | + | __init__(self, callback) + | + | add(self, caption, flags, menu_index, icon, emb, shortcut) + | + | populate_popup(self, widget, popup) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _ah_t = + | + | + | _cmd_t = + +Help on function read_range_selection in module ida_kernwin: + +read_range_selection(*args) + read_range_selection(v) -> bool + + + Get the address range for the selected range boundaries, this is the + convenient function for 'read_selection()' + + @param v: view, NULL means the last active window containing addresses + (C++: TWidget *) + +Help on function read_selection in module ida_kernwin: + +read_selection(*args) + 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 p0: Storage for the "from" part of the selection. + @param p1: Storage for the "to" part of the selection. + @return: a bool value indicating success. + +Help on function refresh_chooser in module ida_kernwin: + +refresh_chooser(*args) + refresh_chooser(title) -> bool + + + Mark a non-modal custom chooser for a refresh ( 'ui_refresh_chooser' + ). + + @param title: title of chooser (C++: const char *) + @return: success + +Help on function refresh_choosers in module ida_kernwin: + +refresh_choosers(*args) + refresh_choosers() + +Help on function refresh_idaview in module ida_kernwin: + +refresh_idaview(*args) + refresh_idaview() + + + Refresh marked windows ( 'ui_refreshmarked' ) + +Help on function refresh_idaview_anyway in module ida_kernwin: + +refresh_idaview_anyway(*args) + refresh_idaview_anyway() + + + Refresh all disassembly views ( 'ui_refresh' ), forces an immediate + refresh. Please consider 'request_refresh()' instead + +Help on function refresh_navband in module ida_kernwin: + +refresh_navband(*args) + refresh_navband(force) + + + Refresh navigation band if changed ( 'ui_refresh_navband' ). + + @param force: refresh regardless (C++: bool) + +Help on function register_action in module ida_kernwin: + +register_action(*args) + 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: action to register (C++: const action_desc_t &) + @return: success + +Help on function register_addon in module ida_kernwin: + +register_addon(*args) + 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 *) + +Help on function register_and_attach_to_menu in module ida_kernwin: + +register_and_attach_to_menu(*args) + register_and_attach_to_menu(menupath, name, label, shortcut, flags, handler, owner) -> 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 *) + @param name (C++: const char *) + @param label (C++: const char *) + @param shortcut (C++: const char *) + @param flags (C++: int) + @param handler (C++: action_handler_t *) + @param owner (C++: const plugin_t *) + +Help on function register_timer in module ida_kernwin: + +register_timer(*args) + register_timer(interval, py_callback) -> PyObject * + + + Register a timer + + @param interval: Interval in milliseconds + @param 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 + +Help on function remove_command_interpreter in module ida_kernwin: + +remove_command_interpreter(*args) + remove_command_interpreter(cli_idx) + + + Remove command line interpreter ( 'ui_install_cli' ) + +Help on class renderer_pos_info_t in module ida_kernwin: + +class renderer_pos_info_t(__builtin__.object) + | Proxy of C++ renderer_pos_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_pos_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cx + | renderer_pos_info_t_cx_get(self) -> short + | + | cy + | renderer_pos_info_t_cy_get(self) -> short + | + | node + | renderer_pos_info_t_node_get(self) -> int + | + | sx + | renderer_pos_info_t_sx_get(self) -> short + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_renderer_pos_info_t(self) + +Help on function repaint_custom_viewer in module ida_kernwin: + +repaint_custom_viewer(*args) + repaint_custom_viewer(custom_viewer) + + + Repaint the given widget immediately ( 'ui_repaint_qwidget' ) + + + @param custom_viewer (C++: TWidget *) + +Help on function replace_wait_box in module ida_kernwin: + +replace_wait_box(*args) + replace_wait_box(format) + + + Replace the label of "Please wait dialog box". + + + @param format (C++: const char *) + +Help on function request_refresh in module ida_kernwin: + +request_refresh(*args) + request_refresh(mask, cnd=True) + + + Request a refresh of a builtin window. + + @param mask: Window refresh flags (C++: uint64) + @param cnd: set if true or clear flag otherwise (C++: bool) + +Help on function restore_database_snapshot in module ida_kernwin: + +restore_database_snapshot(*args) + restore_database_snapshot(ss, pyfunc_or_none, pytuple_or_none) -> PyObject * + + + Restore a database snapshot. Note: This call is asynchronous. When it + is completed, the callback will be triggered. + + @param ss: snapshot instance (see build_snapshot_tree() ) (C++: const + snapshot_t *) + @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. + +Help on function set_cancelled in module ida_kernwin: + +set_cancelled(*args) + set_cancelled() + + + Set "Cancelled" flag ( 'ui_set_cancelled' ) + +Help on function set_code_viewer_handler in module ida_kernwin: + +set_code_viewer_handler(*args) + 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: the code viewer (C++: TWidget *) + @param handler_id: one of CDVH_ in custom_viewer_handler_id_t (C++: + custom_viewer_handler_id_t) + @param handler_or_data: can be a handler or data. see examples in + Functions: custom viewer handlers (C++: void + *) + @return: old value of the handler or data + +Help on function set_code_viewer_is_source in module ida_kernwin: + +set_code_viewer_is_source(*args) + 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 *) + +Help on function set_code_viewer_line_handlers in module ida_kernwin: + +set_code_viewer_line_handlers(*args) + 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 + NULL + + @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 *) + +Help on function set_code_viewer_lines_alignment in module ida_kernwin: + +set_code_viewer_lines_alignment(*args) + 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) + +Help on function set_code_viewer_lines_icon_margin in module ida_kernwin: + +set_code_viewer_lines_icon_margin(*args) + 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) + +Help on function set_code_viewer_lines_radix in module ida_kernwin: + +set_code_viewer_lines_radix(*args) + 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) + +Help on function set_code_viewer_user_data in module ida_kernwin: + +set_code_viewer_user_data(*args) + 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 *) + +Help on function set_custom_viewer_qt_aware in module ida_kernwin: + +set_custom_viewer_qt_aware(*args) + 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 *) + +Help on function set_dock_pos in module ida_kernwin: + +set_dock_pos(*args) + 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. + + @param src: Source docking control + @param dest: Destination docking control + @param orient: One of DOR_XXXX constants + @param left, top, right, bottom: These parameter if DOR_FLOATING is used, or if you want to specify the width of docked windows + @return: Boolean + + Example: + set_dock_pos('Structures', 'Enums', DOR_RIGHT) <- docks the Structures window to the right of Enums window + +Help on function set_highlight in module ida_kernwin: + +set_highlight(*args) + set_highlight(viewer, str, flags) -> bool + + + Set the highlighted identifier in the viewer ( 'ui_set_highlight' ). + + @param viewer: the viewer (C++: TWidget *) + @param str: the text to match, or NULL to remove current (C++: const + char *) + @param flags: combination of HIF_... bits (see set_highlightr flags ) + (C++: int) + @return: false if an error occurred + +Help on function set_nav_colorizer in module ida_kernwin: + +set_nav_colorizer(*args) + set_nav_colorizer(new_py_colorizer) -> PyObject * + + + 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) + +Help on function set_view_renderer_type in module ida_kernwin: + +set_view_renderer_type(*args) + 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) + +Help on function show_wait_box in module ida_kernwin: + +show_wait_box(*args) + show_wait_box(message) + + + Display a dialog box with "Please wait...". If the text message starts + with "HIDECANCEL\n", the cancel buttonwon't be displayed in the dialog + box and you don't need to checkfor cancellations with + 'user_cancelled()' . Plugins must call 'hide_wait_box()' to close the + dialog box, otherwise the user interface will be disabled.Note that, + if the wait dialog is already visible, 'show_wait_box()' will1) push + the currently-displayed text on a stack2) display the new textThen, + when 'hide_wait_box()' is called, if that stack isn't empty its + toplabel will be popped and restored in the wait dialog.This implies + that a plugin should call 'hide_wait_box()' exactly as manytimes as it + called 'show_wait_box()' , or the wait dialog might remainvisible 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 thedialog without pushing the currently- + displayed text on the stack. + +Help on class simplecustviewer_t in module ida_kernwin: + +class simplecustviewer_t(__builtin__.object) + | The base class for implementing simple custom viewers + | + | Methods defined here: + | + | AddLine(self, line, fgcolor=None, bgcolor=None) + | Adds a colored line to the view + | @return: Boolean + | + | ClearLines(self) + | Clears all the lines + | + | Close(self) + | Destroys the view. + | One has to call Create() afterwards. + | Show() can be called and it will call Create() internally. + | @return: Boolean + | + | Count(self) + | Returns the number of lines in the view + | + | Create(self, title) + | 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 + | + | DelLine(self, lineno) + | Deletes an existing line + | @return: Boolean + | + | EditLine(self, lineno, line, fgcolor=None, bgcolor=None) + | Edits an existing line. + | @return: Boolean + | + | GetCurrentLine(self, mouse=0, notags=0) + | 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 + | + | GetCurrentWord(self, mouse=0) + | 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 + | + | GetLine(self, lineno) + | Returns a line + | @param lineno: The line number + | @return: + | Returns a tuple (colored_line, fgcolor, bgcolor) or None + | + | GetLineNo(self, mouse=0) + | Calls GetPos() and returns the current line number or -1 on failure + | + | GetPos(self, mouse=0) + | Returns the current cursor or mouse position. + | @param mouse: return mouse position + | @return: Returns a tuple (lineno, x, y) + | + | GetSelection(self) + | Returns the selected range or None + | @return: + | - tuple(x1, y1, x2, y2) + | - None if no selection + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | InsertLine(self, lineno, line, fgcolor=None, bgcolor=None) + | Inserts a line in the given position + | @return: Boolean + | + | IsFocused(self) + | Returns True if the current view is the focused view + | + | Jump(self, lineno, x=0, y=0) + | + | OnPopup(self, form, popup_handle) + | Context menu popup is about to be shown. Create items dynamically if you wish + | @return: Boolean. True if you handled the event + | + | PatchLine(self, lineno, offs, value) + | Patches an existing line character at the given offset. This is a low level function. You must know what you're doing + | + | Refresh(self) + | + | RefreshCurrent(self) + | Refreshes the current line only + | + | Show(self) + | Shows an already created view. It the view was close, then it will call Create() for you + | @return: Boolean + | + | __init__(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _simplecustviewer_t__make_sl_arg = __make_sl_arg(line, fgcolor=None, bgcolor=None) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | UI_Hooks_Trampoline = + +Help on class simpleline_place_t in module ida_kernwin: + +class simpleline_place_t(place_t) + | Proxy of C++ simpleline_place_t class. + | + | Method resolution order: + | simpleline_place_t + | place_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | n + | simpleline_place_t_n_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_simpleline_place_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) + | _print(self, out_buf, ud) + | + | adjust(self, *args) + | adjust(self, ud) + | + | beginning(self, *args) + | beginning(self, ud) -> bool + | + | clone(self, *args) + | clone(self) -> place_t + | + | compare(self, *args) + | compare(self, t2) -> int + | + | copyfrom(self, *args) + | copyfrom(self, _from) + | + | deserialize(self, *args) + | deserialize(self, _in) -> bool + | + | ending(self, *args) + | ending(self, ud) -> bool + | + | enter(self, *args) + | enter(self, arg2) -> place_t + | + | generate(self, *args) + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) + | id(self) -> int + | + | leave(self, *args) + | leave(self, arg2) + | + | makeplace(self, *args) + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) + | name(self) -> char const * + | + | next(self, *args) + | next(self, ud) -> bool + | + | prev(self, *args) + | prev(self, ud) -> bool + | + | rebase(self, *args) + | rebase(self, arg2) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | toea(self, *args) + | toea(self) -> ea_t + | + | touval(self, *args) + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on class simpleline_t in module ida_kernwin: + +class simpleline_t(__builtin__.object) + | Proxy of C++ simpleline_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> simpleline_t + | __init__(self, c, str) -> simpleline_t + | __init__(self, str) -> simpleline_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bgcolor + | simpleline_t_bgcolor_get(self) -> bgcolor_t + | + | color + | simpleline_t_color_get(self) -> color_t + | + | line + | simpleline_t_line_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_simpleline_t(self) + +Help on function str2ea in module ida_kernwin: + +str2ea(*args) + str2ea(str, screenEA=BADADDR) -> ea_t + + + Converts a string express to EA. The expression evaluator may be called as well. + + @return: BADADDR or address value + +Help on function str2user in module ida_pro: + +str2user(*args) + str2user(str) -> PyObject * + + + Insert C-style escape characters to string + + @return: new string with escape characters inserted + +Help on function strarray in module ida_kernwin: + +strarray(*args) + 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 *) + @param array_size (C++: size_t) + @param code (C++: int) + +Help on class strarray_t in module ida_kernwin: + +class strarray_t(__builtin__.object) + | Proxy of C++ strarray_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strarray_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | strarray_t_code_get(self) -> int + | + | text + | strarray_t_text_get(self) -> char const * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_strarray_t(self) + +Help on class structplace_t in module ida_kernwin: + +class structplace_t(place_t) + | Proxy of C++ structplace_t class. + | + | Method resolution order: + | structplace_t + | place_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | idx + | structplace_t_idx_get(self) -> uval_t + | + | offset + | structplace_t_offset_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_structplace_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) + | _print(self, out_buf, ud) + | + | adjust(self, *args) + | adjust(self, ud) + | + | beginning(self, *args) + | beginning(self, ud) -> bool + | + | clone(self, *args) + | clone(self) -> place_t + | + | compare(self, *args) + | compare(self, t2) -> int + | + | copyfrom(self, *args) + | copyfrom(self, _from) + | + | deserialize(self, *args) + | deserialize(self, _in) -> bool + | + | ending(self, *args) + | ending(self, ud) -> bool + | + | enter(self, *args) + | enter(self, arg2) -> place_t + | + | generate(self, *args) + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) + | id(self) -> int + | + | leave(self, *args) + | leave(self, arg2) + | + | makeplace(self, *args) + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) + | name(self) -> char const * + | + | next(self, *args) + | next(self, ud) -> bool + | + | prev(self, *args) + | prev(self, ud) -> bool + | + | rebase(self, *args) + | rebase(self, arg2) -> bool + | + | serialize(self, *args) + | serialize(self) + | + | toea(self, *args) + | toea(self) -> ea_t + | + | touval(self, *args) + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on class sync_source_t in module ida_kernwin: + +class sync_source_t(__builtin__.object) + | Proxy of C++ sync_source_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, _o) -> bool + | + | __init__(self, *args) + | __init__(self, _view) -> sync_source_t + | __init__(self, _regname) -> sync_source_t + | + | __ne__(self, *args) + | __ne__(self, _o) -> bool + | + | __repr__ = _swig_repr(self) + | + | get_register(self, *args) + | get_register(self) -> char const * + | + | get_widget(self, *args) + | get_widget(self) -> TWidget const * + | + | is_register(self, *args) + | is_register(self) -> bool + | + | is_widget(self, *args) + | is_widget(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sync_source_t(self) + +Help on function sync_sources in module ida_kernwin: + +sync_sources(*args) + 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 + +Help on function take_database_snapshot in module ida_kernwin: + +take_database_snapshot(*args) + take_database_snapshot(ss) -> PyObject * + + + Take a database snapshot ( 'ui_take_database_snapshot' ). + + @param ss: in/out parameter. in: description, flags out: filename, + id (C++: snapshot_t *) + @return: success + +Help on class textctrl_info_t in module ida_kernwin: + +class textctrl_info_t(ida_idaapi.py_clinked_object_t) + | Class representing textctrl_info_t + | + | Method resolution order: + | textctrl_info_t + | ida_idaapi.py_clinked_object_t + | ida_idaapi.pyidc_opaque_object_t + | __builtin__.object + | + | Methods defined here: + | + | __get_flags__(self) + | Returns the flags value + | + | __get_tabsize__(self) + | Returns the tabsize value + | + | __init__(self, text='', flags=0, tabsize=0) + | + | __set_flags__(self, flags) + | Sets the flags value + | + | __set_tabsize__(self, tabsize) + | Sets the tabsize value + | + | _create_clink(self) + | + | _del_clink(self, lnk) + | + | _get_clink_ptr(self) + | + | _textctrl_info_t__get_text = __get_text(self) + | Sets the text value + | + | _textctrl_info_t__set_text = __set_text(self, s) + | Sets the text value + | + | assign(self, other) + | Copies the contents of 'other' to 'self' + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | Returns the flags value + | + | tabsize + | Returns the tabsize value + | + | text + | Sets the text value + | + | value + | Sets the text value + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | TXTF_ACCEPTTABS = 2 + | + | TXTF_AUTOINDENT = 1 + | + | TXTF_FIXEDFONT = 32 + | + | TXTF_MODIFIED = 16 + | + | TXTF_READONLY = 4 + | + | TXTF_SELECTED = 8 + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_idaapi.py_clinked_object_t: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.py_clinked_object_t: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function textctrl_info_t_assign in module ida_kernwin: + +textctrl_info_t_assign(*args) + textctrl_info_t_assign(_self, other) -> bool + +Help on function textctrl_info_t_create in module ida_kernwin: + +textctrl_info_t_create(*args) + textctrl_info_t_create() -> PyObject * + +Help on function textctrl_info_t_destroy in module ida_kernwin: + +textctrl_info_t_destroy(*args) + textctrl_info_t_destroy(py_obj) -> bool + +Help on function textctrl_info_t_get_clink in module ida_kernwin: + +textctrl_info_t_get_clink(*args) + textctrl_info_t_get_clink(_self) -> textctrl_info_t * + +Help on function textctrl_info_t_get_clink_ptr in module ida_kernwin: + +textctrl_info_t_get_clink_ptr(*args) + textctrl_info_t_get_clink_ptr(_self) -> PyObject * + +Help on function textctrl_info_t_get_flags in module ida_kernwin: + +textctrl_info_t_get_flags(*args) + textctrl_info_t_get_flags(_self) -> unsigned int + +Help on function textctrl_info_t_get_tabsize in module ida_kernwin: + +textctrl_info_t_get_tabsize(*args) + textctrl_info_t_get_tabsize(_self) -> unsigned int + +Help on function textctrl_info_t_get_text in module ida_kernwin: + +textctrl_info_t_get_text(*args) + textctrl_info_t_get_text(_self) -> char const * + +Help on function textctrl_info_t_set_flags in module ida_kernwin: + +textctrl_info_t_set_flags(*args) + textctrl_info_t_set_flags(_self, flags) -> bool + +Help on function textctrl_info_t_set_tabsize in module ida_kernwin: + +textctrl_info_t_set_tabsize(*args) + textctrl_info_t_set_tabsize(_self, tabsize) -> bool + +Help on function textctrl_info_t_set_text in module ida_kernwin: + +textctrl_info_t_set_text(*args) + textctrl_info_t_set_text(_self, s) -> bool + +Help on class twinpos_t in module ida_kernwin: + +class twinpos_t(__builtin__.object) + | Proxy of C++ twinpos_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> twinpos_t + | __init__(self, t) -> twinpos_t + | __init__(self, t, x0) -> twinpos_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | place(self, view) + | + | place_as_enumplace_t(self) + | + | place_as_idaplace_t(self) + | + | place_as_simpleline_place_t(self) + | + | place_as_structplace_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | at + | twinpos_t_at_get(self) -> place_t + | + | thisown + | The membership flag + | + | x + | twinpos_t_x_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_twinpos_t(self) + +Help on function ui_load_new_file in module ida_kernwin: + +ui_load_new_file(*args) + 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: name of the file with the extracted archive member. + (C++: qstring *) + @param filename: the name of input file as is, library or archive name + (C++: qstring *) + @param pli: loader input source, may be changed to point to temp_file + (C++: linput_t **) + @param neflags: combination of NEF_... bits (see Load file flags ) + (C++: ushort) + @param ploaders: list of loaders which accept file, may be changed for + loaders of temp_file (C++: load_info_t **) + +Help on class ui_requests_t in module ida_kernwin: + +class ui_requests_t(__builtin__.object) + | Proxy of C++ ui_requests_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ui_requests_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ui_requests_t(self) + +Help on function ui_run_debugger in module ida_kernwin: + +ui_run_debugger(*args) + ui_run_debugger(dbgopts, exename, argc, argv) -> bool + + + Load a debugger plugin and run the specified program ( 'ui_run_dbg' ). + + @param dbgopts: value of the -r command line switch (C++: const char + *) + @param exename: name of the file to run (C++: const char *) + @param argc: number of arguments for the executable (C++: int) + @param argv: argument vector (C++: const char *const *) + @return: success + +Help on function unmark_selection in module ida_kernwin: + +unmark_selection(*args) + unmark_selection() + + + Unmark selection ( 'ui_unmarksel' ) + +Help on function unregister_action in module ida_kernwin: + +unregister_action(*args) + unregister_action(name) -> bool + + + Delete a previously-registered action ( 'ui_unregister_action' ). + + @param name: name of action (C++: const char *) + @return: success + +Help on function unregister_timer in module ida_kernwin: + +unregister_timer(*args) + 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. + +Help on function update_action_checkable in module ida_kernwin: + +update_action_checkable(*args) + update_action_checkable(name, checkable) -> bool + + + Update an action's checkability ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param checkable: new checkability (C++: bool) + @return: success + +Help on function update_action_checked in module ida_kernwin: + +update_action_checked(*args) + update_action_checked(name, checked) -> bool + + + Update an action's checked state ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param checked: new checked state (C++: bool) + @return: success + +Help on function update_action_icon in module ida_kernwin: + +update_action_icon(*args) + update_action_icon(name, icon) -> bool + + + Update an action's icon ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param icon: new icon id (C++: int) + @return: success + +Help on function update_action_label in module ida_kernwin: + +update_action_label(*args) + update_action_label(name, label) -> bool + + + Update an action's label ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param label: new label (C++: const char *) + @return: success + +Help on function update_action_shortcut in module ida_kernwin: + +update_action_shortcut(*args) + update_action_shortcut(name, shortcut) -> bool + + + Update an action's shortcut ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param shortcut: new shortcut (C++: const char *) + @return: success + +Help on function update_action_state in module ida_kernwin: + +update_action_state(*args) + update_action_state(name, state) -> bool + + + Update an action's state ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param state: new state (C++: action_state_t) + @return: success + +Help on function update_action_tooltip in module ida_kernwin: + +update_action_tooltip(*args) + update_action_tooltip(name, tooltip) -> bool + + + Update an action's tooltip ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param tooltip: new tooltip (C++: const char *) + @return: success + +Help on function update_action_visibility in module ida_kernwin: + +update_action_visibility(*args) + update_action_visibility(name, visible) -> bool + + + Update an action's visibility ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param visible: new visibility (C++: bool) + @return: success + +Help on function user_cancelled in module ida_kernwin: + +user_cancelled(*args) + user_cancelled() -> bool + + + Test the ctrl-break flag ( 'ui_test_cancelled' ). + +Help on class view_mouse_event_location_t in module ida_kernwin: + +class view_mouse_event_location_t(__builtin__.object) + | Proxy of C++ view_mouse_event_location_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> view_mouse_event_location_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | view_mouse_event_location_t_ea_get(self) -> ea_t + | + | item + | view_mouse_event_location_t_item_get(self) -> selection_item_t const * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = view_mouse_event_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | button + | view_mouse_event_t_button_get(self) -> vme_button_t + | + | location + | view_mouse_event_t_location_get(self) -> view_mouse_event_location_t + | + | renderer_pos + | view_mouse_event_t_renderer_pos_get(self) -> renderer_pos_info_t + | + | rtype + | view_mouse_event_t_rtype_get(self) -> tcc_renderer_type_t + | + | state + | view_mouse_event_t_state_get(self) -> view_event_state_t + | + | thisown + | The membership flag + | + | x + | view_mouse_event_t_x_get(self) -> uint32 + | + | y + | view_mouse_event_t_y_get(self) -> uint32 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_view_mouse_event_t(self) + +Help on function warning in module ida_kernwin: + +warning(*args) + warning(format) + + + Display a message in a message box + + @param message: 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 + +=== ida_kernwin EPYDOC INJECTIONS === +ida_kernwin.ACF_HAS_SELECTION +""" +there is currently a valid selection +""" + +ida_kernwin.ACF_XTRN_EA +""" +cur_ea is in 'externs' segment +""" + +ida_kernwin.ADF_NO_UNDO +""" +useful for actions that do not modify the database. + +the action does not create an undo point. +""" + +ida_kernwin.ADF_OWN_HANDLER +""" +handler is owned by the action; it'll be destroyed when the action is +unregistered. You shouldn't have to use this. +""" + +ida_kernwin.AHF_VERSION +""" +action handler version (used by 'action_handler_t::flags' ) +""" + +ida_kernwin.AHF_VERSION_MASK +""" +mask for 'action_handler_t::flags' +""" + +ida_kernwin.ASKBTN_BTN1 +""" +First (Yes) button. +""" + +ida_kernwin.ASKBTN_BTN2 +""" +Second (No) button. +""" + +ida_kernwin.ASKBTN_BTN3 +""" +Third (Cancel) button. +""" + +ida_kernwin.ASKBTN_CANCEL +""" +Cancel button. +""" + +ida_kernwin.ASKBTN_NO +""" +No button. +""" + +ida_kernwin.ASKBTN_YES +""" +Yes button. +""" + +ida_kernwin.BWN_ADDRWATCH +""" +the 'Watch List' window +""" + +ida_kernwin.BWN_BPTS +""" +breakpoints +""" + +ida_kernwin.BWN_CALLS +""" +function calls +""" + +ida_kernwin.BWN_CALLS_CALLEES +""" +function calls, callees +""" + +ida_kernwin.BWN_CALLS_CALLERS +""" +function calls, callers +""" + +ida_kernwin.BWN_CALL_STACK +""" +call stack +""" + +ida_kernwin.BWN_CHOOSER +""" +a non-builtin chooser +""" + +ida_kernwin.BWN_CLI +""" +the command-line, in the output window +""" + +ida_kernwin.BWN_CMDPALCSR +""" +the command palette chooser (Qt version only) +""" + +ida_kernwin.BWN_CMDPALWIN +""" +the command palette window (Qt version only) +""" + +ida_kernwin.BWN_CPUREGS +""" +one of the 'General registers', 'FPU register', ... debugger windows +""" + +ida_kernwin.BWN_CUSTVIEW +""" +custom viewers +""" + +ida_kernwin.BWN_CV_LINE_INFOS +""" +custom viewers' lineinfo widget +""" + +ida_kernwin.BWN_DISASM +""" +disassembly views +""" + +ida_kernwin.BWN_DISASMS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_DISASM_ARROWS +""" +disassembly arrows widget +""" + +ida_kernwin.BWN_DUMP +""" +hex dumps +""" + +ida_kernwin.BWN_DUMPS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_ENUMS +""" +enumerations +""" + +ida_kernwin.BWN_EXPORTS +""" +exports +""" + +ida_kernwin.BWN_FRAME +""" +function frame +""" + +ida_kernwin.BWN_FUNCS +""" +functions +""" + +ida_kernwin.BWN_IMPORTS +""" +imports +""" + +ida_kernwin.BWN_LOCALS +""" +the 'locals' debugger window +""" + +ida_kernwin.BWN_LOCTYPS +""" +local types +""" + +ida_kernwin.BWN_MDVIEWCSR +""" +lumina metadata view chooser +""" + +ida_kernwin.BWN_MODULES +""" +modules +""" + +ida_kernwin.BWN_NAMES +""" +names +""" + +ida_kernwin.BWN_NAVBAND +""" +navigation band +""" + +ida_kernwin.BWN_NOTEPAD +""" +notepad +""" + +ida_kernwin.BWN_OUTPUT +""" +the text area, in the output window +""" + +ida_kernwin.BWN_PROBS +""" +problems +""" + +ida_kernwin.BWN_PSEUDOCODE +""" +hexrays decompiler views +""" + +ida_kernwin.BWN_SCRIPTS_CSR +""" +the "Recent scripts" chooser +""" + +ida_kernwin.BWN_SEARCH +""" +search results +""" + +ida_kernwin.BWN_SEARCHS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_SEGREGS +""" +segment registers +""" + +ida_kernwin.BWN_SEGS +""" +segments +""" + +ida_kernwin.BWN_SELS +""" +selectors +""" + +ida_kernwin.BWN_SHORTCUTCSR +""" +the shortcuts chooser (Qt version only) +""" + +ida_kernwin.BWN_SHORTCUTWIN +""" +the shortcuts window (Qt version only) +""" + +ida_kernwin.BWN_SIGNS +""" +signatures +""" + +ida_kernwin.BWN_SNIPPETS +""" +the 'Execute script' window +""" + +ida_kernwin.BWN_SNIPPETS_CSR +""" +the list of snippets in the 'Execute script' window +""" + +ida_kernwin.BWN_SO_OFFSETS +""" +the 'Structure offsets' dialog's offset panel +""" + +ida_kernwin.BWN_SO_STRUCTS +""" +the 'Structure offsets' dialog's 'Structures and Unions' panel +""" + +ida_kernwin.BWN_SRCPTHMAP_CSR +""" +"Source paths..."'s path mappings chooser +""" + +ida_kernwin.BWN_SRCPTHUND_CSR +""" +"Source paths..."'s undesired paths chooser +""" + +ida_kernwin.BWN_STACK +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_STKVIEW +""" +the 'Stack view' debugger window +""" + +ida_kernwin.BWN_STRINGS +""" +strings +""" + +ida_kernwin.BWN_STRUCTS +""" +structures +""" + +ida_kernwin.BWN_THREADS +""" +threads +""" + +ida_kernwin.BWN_TILS +""" +type libraries +""" + +ida_kernwin.BWN_TRACE +""" +trace view +""" + +ida_kernwin.BWN_UNDOHIST +""" +Undo history. +""" + +ida_kernwin.BWN_UNKNOWN +""" +unknown window +""" + +ida_kernwin.BWN_WATCH +""" +the 'watches' debugger window +""" + +ida_kernwin.BWN_XREFS +""" +xrefs +""" + +ida_kernwin.CHCOL_DEC +""" +decimal number +""" + +ida_kernwin.CHCOL_DEFHIDDEN +""" +column should be hidden by default +""" + +ida_kernwin.CHCOL_EA +""" +address +""" + +ida_kernwin.CHCOL_FNAME +""" +function name +""" + +ida_kernwin.CHCOL_FORMAT +""" +column format mask +""" + +ida_kernwin.CHCOL_HEX +""" +hexadecimal number +""" + +ida_kernwin.CHCOL_PATH +""" +file path +""" + +ida_kernwin.CHCOL_PLAIN +""" +plain string +""" + +ida_kernwin.CHITEM_BOLD +""" +display the item in bold +""" + +ida_kernwin.CHITEM_GRAY +""" +gray out the item +""" + +ida_kernwin.CHITEM_ITALIC +""" +display the item in italic +""" + +ida_kernwin.CHITEM_STRIKE +""" +strikeout the item +""" + +ida_kernwin.CHITEM_UNDER +""" +underline the item +""" + +ida_kernwin.CHOOSER_MENU_EDIT +""" +Values of the 'menu_index' parameter. + +Obsolete. Please don't use +""" + +ida_kernwin.CHOOSER_MENU_JUMP +""" +Obsolete. Please don't use. +""" + +ida_kernwin.CHOOSER_MENU_SEARCH +""" +Obsolete. Please don't use. +""" + +ida_kernwin.CHOOSER_MULTI_SELECTION +""" +enable for multiple selections. A callback of type +'chooser_multi_cb_t' will be called for all selected items. +""" + +ida_kernwin.CHOOSER_NO_SELECTION +""" +Flags. + +enable even if there's no selected item. 'n' will be NO_SELECTION for +a callback. +""" + +ida_kernwin.CHOOSER_POPUP_MENU +""" +Add command to the popup menu. +""" + +ida_kernwin.CH_ATTRS +""" +generate ui_get_chooser_item_attrs (gui only) +""" + +ida_kernwin.CH_BUILTIN_MASK +""" +Mask for builtin chooser numbers. Plugins should not use them. +""" + +ida_kernwin.CH_CAN_DEL +""" +allow to delete existing item(s) +""" + +ida_kernwin.CH_CAN_EDIT +""" +allow to edit existing item(s) +""" + +ida_kernwin.CH_CAN_INS +""" +allow to insert new items +""" + +ida_kernwin.CH_CAN_REFRESH +""" +allow to refresh chooser +""" + +ida_kernwin.CH_FORCE_DEFAULT +""" +if a non-modal chooser was already open, change selection to the +default one +""" + +ida_kernwin.CH_KEEP +""" +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. +""" + +ida_kernwin.CH_MODAL +""" +Modal chooser. +""" + +ida_kernwin.CH_MULTI +""" +Obsolete. + +The chooser will allow multi-selection (only for GUI choosers). This +bit is set when using the 'chooser_multi_t' structure. +""" + +ida_kernwin.CH_NOBTNS +""" +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. +""" + +ida_kernwin.CH_NOIDB +""" +use the chooser before opening the database +""" + +ida_kernwin.CH_NO_STATUS_BAR +""" +don't show a status bar +""" + +ida_kernwin.CH_QFLT +""" +open with quick filter enabled and focused +""" + +ida_kernwin.CH_QFTYP_DEFAULT +""" +set quick filtering type to the possible existing default for this +chooser +""" + +ida_kernwin.CH_QFTYP_FUZZY +""" +fuzzy search quick filter type +""" + +ida_kernwin.CH_QFTYP_NORMAL +""" +normal (i.e., lexicographical) quick filter type +""" + +ida_kernwin.CH_QFTYP_REGEX +""" +regex quick filter type +""" + +ida_kernwin.CH_QFTYP_WHOLE_WORDS +""" +whole words quick filter type +""" + +ida_kernwin.CH_RESTORE +""" +restore floating position if present (equivalent of WOPN_RESTORE) (GUI +version only) +""" + +ida_kernwin.CLNL_FINDCMT +""" +Search for the comment symbol everywhere in the line, not only at the +beginning. +""" + +ida_kernwin.CLNL_LTRIM +""" +Remove leading space characters. +""" + +ida_kernwin.CLNL_RTRIM +""" +Remove trailing space characters. +""" + +ida_kernwin.CREATETB_ADV +""" +toolbar is for 'advanced mode' only +""" + +ida_kernwin.DP_BEFORE +""" +used with 'DP_INSIDE' . + +place src_form before dst_form in the tab bar instead of after +""" + +ida_kernwin.DP_BOTTOM +""" +Dock src_form below dest_form. +""" + +ida_kernwin.DP_FLOATING +""" +Make src_form floating. +""" + +ida_kernwin.DP_INSIDE +""" +Create a new tab bar with both src_form and dest_form. +""" + +ida_kernwin.DP_LEFT +""" +Dock src_form to the left of dest_form. +""" + +ida_kernwin.DP_RIGHT +""" +Dock src_form to the right of dest_form. +""" + +ida_kernwin.DP_TAB +""" +Place src_form into a tab next to dest_form, if dest_form is in a tab +bar (otherwise the same as 'DP_INSIDE' ) +""" + +ida_kernwin.DP_TOP +""" +Dock src_form above dest_form. +""" + +ida_kernwin.HIF_IDENTIFIER +""" +text is an identifier (i.e., when searching for the current highlight, +SEARCH_IDENT will be used) +""" + +ida_kernwin.HIF_LOCKED +""" +locked; clicking/moving the cursor around doesn't change the highlight +""" + +ida_kernwin.HIF_NOCASE +""" +case insensitive +""" + +ida_kernwin.HIF_REGISTER +""" +text represents a register (aliases/subregisters will be highlit as +well) +""" + +ida_kernwin.HIST_CMD +""" +commands +""" + +ida_kernwin.HIST_CMT +""" +comments +""" + +ida_kernwin.HIST_DIR +""" +directory names (text version only) +""" + +ida_kernwin.HIST_FILE +""" +file names +""" + +ida_kernwin.HIST_IDENT +""" +names +""" + +ida_kernwin.HIST_SEG +""" +segment names +""" + +ida_kernwin.HIST_SRCH +""" +search substrings +""" + +ida_kernwin.HIST_TYPE +""" +type declarations +""" + +ida_kernwin.IWID_ADDRWATCH +""" +address watches (47) +""" + +ida_kernwin.IWID_ALL +""" +mask +""" + +ida_kernwin.IWID_BPTS +""" +breakpoints (13) +""" + +ida_kernwin.IWID_CALLS +""" +function calls (11) +""" + +ida_kernwin.IWID_CALLS_CALLEES +""" +funcalls, callees (50) +""" + +ida_kernwin.IWID_CALLS_CALLERS +""" +funcalls, callers (49) +""" + +ida_kernwin.IWID_CALL_STACK +""" +call stack (17) +""" + +ida_kernwin.IWID_CHOOSER +""" +chooser (37) +""" + +ida_kernwin.IWID_CLI +""" +input line (33) +""" + +ida_kernwin.IWID_CMDPALCSR +""" +command palette (43) +""" + +ida_kernwin.IWID_CMDPALWIN +""" +command palette (44) +""" + +ida_kernwin.IWID_CPUREGS +""" +registers (40) +""" + +ida_kernwin.IWID_CUSTVIEW +""" +custom viewers (46) +""" + +ida_kernwin.IWID_CV_LINE_INFOS +""" +lineinfo widget (53) +""" + +ida_kernwin.IWID_DISASM +""" +disassembly views (29) +""" + +ida_kernwin.IWID_DISASM_ARROWS +""" +arrows widget (52) +""" + +ida_kernwin.IWID_DUMP +""" +hex dumps (30) +""" + +ida_kernwin.IWID_ENUMS +""" +enumerations (27) +""" + +ida_kernwin.IWID_EXPORTS +""" +exports (0) +""" + +ida_kernwin.IWID_FRAME +""" +function frame (25) +""" + +ida_kernwin.IWID_FUNCS +""" +functions (3) +""" + +ida_kernwin.IWID_IMPORTS +""" +imports (1) +""" + +ida_kernwin.IWID_LOCALS +""" +locals (35) +""" + +ida_kernwin.IWID_LOCTYPS +""" +local types (10) +""" + +ida_kernwin.IWID_MDVIEWCSR +""" +lumina md view (51) +""" + +ida_kernwin.IWID_MODULES +""" +modules (15) +""" + +ida_kernwin.IWID_NAMES +""" +names (2) +""" + +ida_kernwin.IWID_NAVBAND +""" +navigation band (26) +""" + +ida_kernwin.IWID_NOTEPAD +""" +notepad (31) +""" + +ida_kernwin.IWID_OUTPUT +""" +output (32) +""" + +ida_kernwin.IWID_PROBS +""" +problems (12) +""" + +ida_kernwin.IWID_PSEUDOCODE +""" +decompiler (48) +""" + +ida_kernwin.IWID_SCRIPTS_CSR +""" +recent scripts (58) +""" + +ida_kernwin.IWID_SEARCH +""" +search results (19) +""" + +ida_kernwin.IWID_SEGREGS +""" +segment registers (6) +""" + +ida_kernwin.IWID_SEGS +""" +segments (5) +""" + +ida_kernwin.IWID_SELS +""" +selectors (7) +""" + +ida_kernwin.IWID_SHORTCUTCSR +""" +shortcuts chooser (38) +""" + +ida_kernwin.IWID_SHORTCUTWIN +""" +shortcuts window (39) +""" + +ida_kernwin.IWID_SIGNS +""" +signatures (8) +""" + +ida_kernwin.IWID_SNIPPETS +""" +snippets (45) +""" + +ida_kernwin.IWID_SNIPPETS_CSR +""" +snippets chooser (57) +""" + +ida_kernwin.IWID_SO_OFFSETS +""" +stroff (42) +""" + +ida_kernwin.IWID_SO_STRUCTS +""" +stroff (41) +""" + +ida_kernwin.IWID_SRCPTHMAP_CSR +""" +mappings chooser (54) +""" + +ida_kernwin.IWID_SRCPTHUND_CSR +""" +undesired chooser (55) +""" + +ida_kernwin.IWID_STACK +""" +Alias. Some IWID_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.IWID_STKVIEW +""" +stack view (36) +""" + +ida_kernwin.IWID_STRINGS +""" +strings (4) +""" + +ida_kernwin.IWID_STRUCTS +""" +structures (28) +""" + +ida_kernwin.IWID_THREADS +""" +threads (14) +""" + +ida_kernwin.IWID_TILS +""" +type libraries (9) +""" + +ida_kernwin.IWID_TRACE +""" +trace view (16) +""" + +ida_kernwin.IWID_UNDOHIST +""" +Undo history (56) +""" + +ida_kernwin.IWID_WATCH +""" +watches (34) +""" + +ida_kernwin.IWID_XREFS +""" +xrefs (18) +""" + +ida_kernwin.MFF_FAST +""" +Execute code as soon as possible. this mode is ok for calling ui +related functions that do not query the database. +""" + +ida_kernwin.MFF_NOWAIT +""" +Do not wait for the request to be executed. the caller should ensure +that the request is not destroyed until the execution completes. if +not, the request will be ignored. 'execute_sync()' returns the request +id in this case. it can be used in 'cancel_exec_request()' . This flag +can be used to delay the code execution until the next UI loop run +even from the main thread. +""" + +ida_kernwin.MFF_READ +""" +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) +""" + +ida_kernwin.MFF_WRITE +""" +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' +""" + +ida_kernwin.SETMENU_APP +""" +add menu item after the specified path +""" + +ida_kernwin.SETMENU_FIRST +""" +add item to the beginning of menu +""" + +ida_kernwin.SETMENU_INS +""" +add menu item before the specified path (default) +""" + +ida_kernwin.UIJMP_ACTIVATE +""" +activate the new window +""" + +ida_kernwin.UIJMP_ANYVIEW +""" +jump in any ea_t-capable view +""" + +ida_kernwin.UIJMP_DONTPUSH +""" +in the navigation history + +do not remember the current address +""" + +ida_kernwin.UIJMP_IDAVIEW +""" +jump in idaview +""" + +ida_kernwin.UIJMP_IDAVIEW_NEW +""" +jump in new idaview +""" + +ida_kernwin.VES_SHIFT +""" +state & 1 => Shift is pressedstate & 2 => Alt is pressedstate & 4 => +Ctrl is pressedstate & 8 => Mouse left button is pressedstate & 16 => +Mouse right button is pressedstate & 32 => Mouse middle button is +pressedstate & 128 => Meta is pressed (OSX only) +""" +=== ida_kernwin EPYDOC INJECTIONS END === +Help on function COLSTR in module ida_lines: + +COLSTR(str, tag) + Utility function to create a colored line + @param str: The string + @param tag: Color tag constant. One of SCOLOR_XXXX + +Help on function add_extra_cmt in module ida_lines: + +add_extra_cmt(*args) + add_extra_cmt(ea, isprev, format) -> bool + + + Add anterior/posterior comment line(s). + + @param ea: linear address (C++: ea_t) + @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) + @param format: 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. (C++: const char *) + @return: true if success + +Help on function add_extra_line in module ida_lines: + +add_extra_line(*args) + add_extra_line(ea, isprev, format) -> bool + + + Add anterior/posterior non-comment line(s). + + @param ea: linear address (C++: ea_t) + @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) + @param format: printf() style format string. may contain \n to denote + new lines. (C++: const char *) + @return: true if success + +Help on function add_pgm_cmt in module ida_lines: + +add_pgm_cmt(*args) + add_pgm_cmt(format) -> bool + + + Add anterior comment line(s) at the start of program. + + @param format: 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. (C++: const char *) + @return: true if success + +Help on function add_sourcefile in module ida_lines: + +add_sourcefile(*args) + 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: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (excluded) + (C++: ea_t) + @param filename: name of source file. (C++: const char *) + @return: success + +Help on class bgcolors_t in module ida_lines: + +class bgcolors_t(__builtin__.object) + | Proxy of C++ bgcolors_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bgcolors_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | epilog_color + | bgcolors_t_epilog_color_get(self) -> bgcolor_t + | + | prolog_color + | bgcolors_t_prolog_color_get(self) -> bgcolor_t + | + | switch_color + | bgcolors_t_switch_color_get(self) -> bgcolor_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bgcolors_t(self) + +Help on function calc_bg_color in module ida_lines: + +calc_bg_color(*args) + calc_bg_color(ea) -> bgcolor_t + + + Get background color for line at 'ea' + + @param ea (C++: ea_t) + @return: RGB color + +Help on function calc_prefix_color in module ida_lines: + +calc_prefix_color(*args) + calc_prefix_color(ea) -> color_t + + + Get prefix color for line at 'ea' + + @param ea (C++: ea_t) + @return: Line prefix colors + +Help on function create_encoding_helper in module ida_lines: + +create_encoding_helper(*args) + create_encoding_helper(encidx=-1, nr=nr_once) -> encoder_t * + +Help on function del_extra_cmt in module ida_lines: + +del_extra_cmt(*args) + del_extra_cmt(ea, what) + +Help on function del_sourcefile in module ida_lines: + +del_sourcefile(*args) + del_sourcefile(ea) -> bool + + + Delete information about the source file. + + @param ea: linear address (C++: ea_t) + @return: success + +Help on function delete_extra_cmts in module ida_lines: + +delete_extra_cmts(*args) + delete_extra_cmts(ea, what) + +Help on function generate_disasm_line in module ida_lines: + +generate_disasm_line(*args) + generate_disasm_line(ea, flags=0) -> str + +Help on function generate_disassembly in module ida_lines: + +generate_disassembly(*args) + generate_disassembly(ea, max_lines, as_stack, notags) -> PyObject * + + + 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 + @return: + - None on failure + - tuple(most_important_line_number, tuple(lines)) : Returns a tuple containing + the most important line number and a tuple of generated lines + +Help on function get_extra_cmt in module ida_lines: + +get_extra_cmt(*args) + get_extra_cmt(ea, what) -> ssize_t + +Help on function get_first_free_extra_cmtidx in module ida_lines: + +get_first_free_extra_cmtidx(*args) + get_first_free_extra_cmtidx(ea, start) -> int + +Help on function get_sourcefile in module ida_lines: + +get_sourcefile(*args) + get_sourcefile(ea, bounds=None) -> char const * + + + Get name of source file occupying the given address. + + @param ea: linear address (C++: ea_t) + @param bounds: pointer to the output buffer with the address range for + the current file. May be NULL. (C++: range_t *) + @return: NULL if source file information is not found, otherwise + returns pointer to file name + +Help on function requires_color_esc in module ida_lines: + +requires_color_esc(c) + Checks if the given character requires escaping + @param c: character (string of one char) + @return: Boolean + + + Is the given char a color escape character? + +Help on function set_user_defined_prefix in module ida_lines: + +set_user_defined_prefix(*args) + set_user_defined_prefix(width, pycb) -> PyObject * + + + User-defined line-prefixes are displayed just after the autogenerated + line prefixes. In order to use them, the plugin should call the + following function to specify its width and contents. + @param width: the width of the user-defined prefix + @param callback: a get_user_defined_prefix callback to get the contents of the prefix. + Its arguments: + ea - linear address + lnnum - line number + indent - indent of the line contents (-1 means the default instruction) + indent and is used for instruction itself. see explanations for printf_line() + line - the line to be generated. the line usually contains color tags this argument + can be examined to decide whether to generated the prefix + It returns a buffer of size < bufsize + + In order to remove the callback before unloading the plugin, specify the width = 0 or the callback = None + +Help on function tag_addr in module ida_lines: + +tag_addr(*args) + tag_addr(ea) -> PyObject * + + + Insert an address mark into a string. + + @param ea: address to include (C++: ea_t) + +Help on function tag_advance in module ida_lines: + +tag_advance(*args) + tag_advance(line, cnt) -> int + + + Move pointer to a 'line' to 'cnt' positions right. Take into account + escape sequences. + + @param line: pointer to string (C++: const char *) + @param cnt: number of positions to move right (C++: int) + @return: moved pointer + +Help on function tag_remove in module ida_lines: + +tag_remove(*args) + tag_remove(nonnul_instr) -> PyObject * + + + Remove color escape sequences from a string + @param colstr: the colored string with embedded tags + @return: a new string w/o the tags + +Help on function tag_skipcode in module ida_lines: + +tag_skipcode(*args) + 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 *) + @return: moved pointer + +Help on function tag_skipcodes in module ida_lines: + +tag_skipcodes(*args) + tag_skipcodes(line) -> int + + + Move the pointer past all color codes. + + @param line: can't be NULL (C++: const char *) + @return: moved pointer, can't be NULL + +Help on function tag_strlen in module ida_lines: + +tag_strlen(*args) + 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 *) + @return: the number of codepoints in the line, or -1 on error + +Help on function update_extra_cmt in module ida_lines: + +update_extra_cmt(*args) + update_extra_cmt(ea, what, str) + +=== ida_lines EPYDOC INJECTIONS === +ida_lines.COLOR_ADDR_SIZE +""" +Size of a tagged address (see 'COLOR_ADDR' ) +""" + +ida_lines.COLOR_BG_MAX +""" +Max color number. +""" + +ida_lines.COLOR_CODE +""" +Single instruction. +""" + +ida_lines.COLOR_CURITEM +""" +Current item. +""" + +ida_lines.COLOR_CURLINE +""" +Current line. +""" + +ida_lines.COLOR_DATA +""" +Data bytes. +""" + +ida_lines.COLOR_DEFAULT +""" +Default. +""" + +ida_lines.COLOR_ESC +""" +Escape character (Quote next character). This is needed to output '\\1' +and '\\2' characters. +""" + +ida_lines.COLOR_EXTERN +""" +External name definition segment. +""" + +ida_lines.COLOR_HIDLINE +""" +Hidden line. +""" + +ida_lines.COLOR_INV +""" +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. +""" + +ida_lines.COLOR_LIBFUNC +""" +Library function. +""" + +ida_lines.COLOR_LUMFUNC +""" +Lumina function. +""" + +ida_lines.COLOR_OFF +""" +Followed by a color code ( 'color_t' ). + +Escape character (OFF). +""" + +ida_lines.COLOR_ON +""" +Followed by a color code ( 'color_t' ). + +Escape character (ON). +""" + +ida_lines.COLOR_REGFUNC +""" +Regular function. +""" + +ida_lines.COLOR_SELECTED +""" +Selected. +""" + +ida_lines.COLOR_UNKNOWN +""" +Unexplored byte. +""" + +ida_lines.SCOLOR_ADDR +""" +Hidden address mark. +""" + +ida_lines.SCOLOR_ALTOP +""" +Alternative operand. +""" + +ida_lines.SCOLOR_ASMDIR +""" +Assembler directive. +""" + +ida_lines.SCOLOR_AUTOCMT +""" +Automatic comment. +""" + +ida_lines.SCOLOR_BINPREF +""" +Binary line prefix bytes. +""" + +ida_lines.SCOLOR_CHAR +""" +Char constant in instruction. +""" + +ida_lines.SCOLOR_CNAME +""" +Regular code name. +""" + +ida_lines.SCOLOR_CODNAME +""" +Dummy code name. +""" + +ida_lines.SCOLOR_COLLAPSED +""" +Collapsed line. +""" + +ida_lines.SCOLOR_CREF +""" +Code reference. +""" + +ida_lines.SCOLOR_CREFTAIL +""" +Code reference to tail byte. +""" + +ida_lines.SCOLOR_DATNAME +""" +Dummy Data Name. +""" + +ida_lines.SCOLOR_DCHAR +""" +Char constant in data directive. +""" + +ida_lines.SCOLOR_DEFAULT +""" +Default. +""" + +ida_lines.SCOLOR_DEMNAME +""" +Demangled Name. +""" + +ida_lines.SCOLOR_DNAME +""" +Regular Data Name. +""" + +ida_lines.SCOLOR_DNUM +""" +Numeric constant in data directive. +""" + +ida_lines.SCOLOR_DREF +""" +Data reference. +""" + +ida_lines.SCOLOR_DREFTAIL +""" +Data reference to tail byte. +""" + +ida_lines.SCOLOR_DSTR +""" +String constant in data directive. +""" + +ida_lines.SCOLOR_ERROR +""" +Error or problem. +""" + +ida_lines.SCOLOR_ESC +""" +Escape character (Quote next character) +""" + +ida_lines.SCOLOR_EXTRA +""" +Extra line. +""" + +ida_lines.SCOLOR_HIDNAME +""" +Hidden name. +""" + +ida_lines.SCOLOR_IMPNAME +""" +Imported name. +""" + +ida_lines.SCOLOR_INSN +""" +Instruction. +""" + +ida_lines.SCOLOR_INV +""" +Escape character (Inverse colors) +""" + +ida_lines.SCOLOR_KEYWORD +""" +Keywords. +""" + +ida_lines.SCOLOR_LIBNAME +""" +Library function name. +""" + +ida_lines.SCOLOR_LOCNAME +""" +Local variable name. +""" + +ida_lines.SCOLOR_MACRO +""" +Macro. +""" + +ida_lines.SCOLOR_NUMBER +""" +Numeric constant in instruction. +""" + +ida_lines.SCOLOR_OFF +""" +Escape character (OFF) +""" + +ida_lines.SCOLOR_ON +""" +Escape character (ON) +""" + +ida_lines.SCOLOR_PREFIX +""" +Line prefix. +""" + +ida_lines.SCOLOR_REG +""" +Register name. +""" + +ida_lines.SCOLOR_REGCMT +""" +Regular comment. +""" + +ida_lines.SCOLOR_RPTCMT +""" +Repeatable comment (defined not here) +""" + +ida_lines.SCOLOR_SEGNAME +""" +Segment name. +""" + +ida_lines.SCOLOR_STRING +""" +String constant in instruction. +""" + +ida_lines.SCOLOR_SYMBOL +""" +Punctuation. +""" + +ida_lines.SCOLOR_UNAME +""" +Regular unknown name. +""" + +ida_lines.SCOLOR_UNKNAME +""" +Dummy unknown name. +""" + +ida_lines.SCOLOR_VOIDOP +""" +Void operand. +""" +=== ida_lines EPYDOC INJECTIONS END === +Help on function base2file in module ida_loader: + +base2file(*args) + base2file(fp, pos, ea1, ea2) -> int + + + Unload database to a binary file. This function works for wide byte + processors too. + + @param fp: pointer to file (C++: FILE *) + @param pos: position in the file (C++: qoff64_t) + @param ea1: range of source linear addresses (C++: ea_t) + @param ea2: range of source linear addresses (C++: ea_t) + @return: 1-ok(always), write error leads to immediate exit + +Help on function build_snapshot_tree in module ida_loader: + +build_snapshot_tree(*args) + build_snapshot_tree(root) -> bool + + + Build the snapshot tree. + + @param root: snapshot root that will contain the snapshot tree + elements. (C++: snapshot_t *) + @return: success + +Help on function clr_database_flag in module ida_loader: + +clr_database_flag(*args) + clr_database_flag(dbfl) + +Help on function extract_module_from_archive in module ida_loader: + +extract_module_from_archive(*args) + 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 is_remote: is the input file remote? (C++: bool) + +Help on function file2base in module ida_loader: + +file2base(*args) + 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: pointer of input source (C++: linput_t *) + @param pos: position in the file (C++: qoff64_t) + @param ea1: range of destination linear addresses (C++: ea_t) + @param ea2: range of destination linear addresses (C++: ea_t) + @param patchable: should the kernel remember correspondence of file + offsets to linear addresses. (C++: int) + +Help on function find_plugin in module ida_loader: + +find_plugin(*args) + find_plugin(name, load_if_needed=False) -> plugin_t * + + + Find a user-defined plugin and optionally load it. + + @param name: short plugin name without path and extension, or absolute + path to the file name (C++: const char *) + @param load_if_needed: if the plugin is not present in the memory, try + to load it (C++: bool) + @return: pointer to plugin description block + +Help on function flush_buffers in module ida_loader: + +flush_buffers(*args) + flush_buffers() -> int + + + Flush buffers to the disk. + +Help on function gen_exe_file in module ida_loader: + +gen_exe_file(*args) + 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 == NULL then return: 1: + can generate an executable file 0: can't generate an + executable file + +Help on function gen_file in module ida_loader: + +gen_file(*args) + gen_file(otype, fp, ea1, ea2, flags) -> int + + + Generate an output file. 'OFILE_EXE' : + + @param otype: type of output file. (C++: ofile_type_t) + @param fp: the output file handle (C++: FILE *) + @param ea1: start address. For some file types this argument is + ignored (C++: ea_t) + @param ea2: end address. For some file types this argument is ignored + as usual in ida, the end address of the range is not + included (C++: ea_t) + @param flags: Generate file flags (C++: int) + @return: number of the generated lines. -1 if an error occurred + +Help on function get_basic_file_type in module ida_loader: + +get_basic_file_type(*args) + 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 *) + +Help on function get_elf_debug_file_directory in module ida_loader: + +get_elf_debug_file_directory(*args) + get_elf_debug_file_directory() -> char const * + + + Get the value of the ELF_DEBUG_FILE_DIRECTORY configuration directive. + +Help on function get_file_type_name in module ida_loader: + +get_file_type_name(*args) + get_file_type_name() -> str + + + Get name of the current file type. The current file type is kept in + \inf{filetype}. + + @return: size of answer, this function always succeeds + +Help on function get_fileregion_ea in module ida_loader: + +get_fileregion_ea(*args) + 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) + +Help on function get_fileregion_offset in module ida_loader: + +get_fileregion_offset(*args) + 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) + +Help on function get_path in module ida_loader: + +get_path(*args) + get_path(pt) -> char const * + + + Get the file path + + @param pt: file path type Types of the file pathes (C++: path_type_t) + @return: file path, never returns NULL + +Help on function get_plugin_options in module ida_loader: + +get_plugin_options(*args) + 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 NULL if there we no options specified + + @param plugin (C++: const char *) + +Help on class idp_desc_t in module ida_loader: + +class idp_desc_t(__builtin__.object) + | Proxy of C++ idp_desc_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idp_desc_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | checked + | idp_desc_t_checked_get(self) -> bool + | + | family + | idp_desc_t_family_get(self) -> qstring * + | + | is_script + | idp_desc_t_is_script_get(self) -> bool + | + | mtime + | idp_desc_t_mtime_get(self) -> time_t + | + | names + | idp_desc_t_names_get(self) -> idp_names_t * + | + | path + | idp_desc_t_path_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idp_desc_t(self) + +Help on class idp_name_t in module ida_loader: + +class idp_name_t(__builtin__.object) + | Proxy of C++ idp_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idp_name_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hidden + | idp_name_t_hidden_get(self) -> bool + | + | lname + | idp_name_t_lname_get(self) -> qstring * + | + | sname + | idp_name_t_sname_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_idp_name_t(self) + +Help on function is_database_flag in module ida_loader: + +is_database_flag(*args) + is_database_flag(dbfl) -> bool + + + Get the current database flag + + @param dbfl: flag Database flags (C++: uint32) + @return: the state of the flag (set or cleared) + +Help on function is_trusted_idb in module ida_loader: + +is_trusted_idb(*args) + is_trusted_idb() -> bool + + + Is the database considered as trusted? + +Help on function load_and_run_plugin in module ida_loader: + +load_and_run_plugin(*args) + load_and_run_plugin(name, arg) -> bool + + + Load & run a plugin. + + + @param name (C++: const char *) + @param arg (C++: size_t) + +Help on function load_binary_file in module ida_loader: + +load_binary_file(*args) + 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: the name of input file as is (if the input file is + from library, then this is the name from the library) + (C++: const char *) + @param li: loader input source (C++: linput_t *) + @param _neflags: Load file flags . For the first file, the flag + NEF_FIRST must be set. (C++: ushort) + @param fileoff: Offset in the input file (C++: qoff64_t) + @param basepara: Load address in paragraphs (C++: ea_t) + @param binoff: Load offset (load_address=(basepara<<4)+binoff) (C++: + ea_t) + @param nbytes: Number of bytes to load from the file. 0: up to the + end of the file (C++: uint64) + +Help on function load_ids_module in module ida_loader: + +load_ids_module(*args) + 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: name of file to apply (C++: char *) + +Help on function load_plugin in module ida_loader: + +load_plugin(*args) + load_plugin(name) -> PyObject * + + + Loads a plugin + @return: + - None if plugin could not be loaded + - An opaque object representing the loaded plugin + +Help on class loader_t in module ida_loader: + +class loader_t(__builtin__.object) + | Proxy of C++ loader_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> loader_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | loader_t_flags_get(self) -> uint32 + | + | thisown + | The membership flag + | + | version + | loader_t_version_get(self) -> uint32 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_loader_t(self) + +Help on function mem2base in module ida_loader: + +mem2base(*args) + mem2base(py_mem, ea, fpos=-1) -> int + + + Load database from the memory. + @param 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 + +Help on class plugin_info_t in module ida_loader: + +class plugin_info_t(__builtin__.object) + | Proxy of C++ plugin_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> plugin_info_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | arg + | plugin_info_t_arg_get(self) -> size_t + | + | comment + | plugin_info_t_comment_get(self) -> char * + | + | dllmem + | plugin_info_t_dllmem_get(self) -> idadll_t * + | + | entry + | plugin_info_t_entry_get(self) -> plugin_t * + | + | flags + | plugin_info_t_flags_get(self) -> int + | + | hotkey + | plugin_info_t_hotkey_get(self) -> ushort + | + | name + | plugin_info_t_name_get(self) -> char * + | + | next + | plugin_info_t_next_get(self) -> plugin_info_t + | + | org_hotkey + | plugin_info_t_org_hotkey_get(self) -> ushort + | + | org_name + | plugin_info_t_org_name_get(self) -> char * + | + | path + | plugin_info_t_path_get(self) -> char * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_plugin_info_t(self) + +Help on function process_archive in module ida_loader: + +process_archive(*args) + 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: + + @param temp_file (C++: qstring *) + @param li (C++: linput_t *) + @param module_name (C++: qstring *) + @param neflags (C++: ushort *) + @param defmember (C++: const char *) + @param loader: pointer to load_info_t structure. (C++: const + load_info_t *) + +Help on class qvector_snapshotvec_t in module ida_loader: + +class qvector_snapshotvec_t(__builtin__.object) + | Proxy of C++ qvector< snapshot_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> snapshot_t + | + | __init__(self, *args) + | __init__(self) -> qvector_snapshotvec_t + | __init__(self, x) -> qvector_snapshotvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> snapshot_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< snapshot_t * >::iterator + | begin(self) -> qvector< snapshot_t * >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< snapshot_t * >::iterator + | end(self) -> qvector< snapshot_t * >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< snapshot_t * >::iterator + | erase(self, first, last) -> qvector< snapshot_t * >::iterator + | + | extract(self, *args) + | extract(self) -> snapshot_t ** + | + | find(self, *args) + | find(self, x) -> qvector< snapshot_t * >::iterator + | find(self, x) -> qvector< snapshot_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< snapshot_t * >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> snapshot_t *& + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qvector_snapshotvec_t(self) + +Help on function reload_file in module ida_loader: + +reload_file(*args) + 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: name of the input file. if file == NULL then returns: + 1: can reload the input file 0: can't reload the input + file (C++: const char *) + @param is_remote: is the file located on a remote computer with the + debugger server? (C++: bool) + @return: success + +Help on function run_plugin in module ida_loader: + +run_plugin(*args) + run_plugin(plg, arg) -> bool + + + Runs a plugin + @param plg: A plugin object (returned by load_plugin()) + @return: Boolean + +Help on function save_database in module ida_loader: + +save_database(*args) + save_database(outfile, flags, root=None, attr=None) -> bool + + + Save current database using a new file name.when both root and attr + are not NULL then the snapshot attributes will be updated, otherwise + the snapshot attributes will be inherited from the current database. + + @param outfile: output database file name (C++: const char *) + @param flags: Database flags (C++: uint32) + @param root: optional: snapshot tree root. (C++: const snapshot_t *) + @param attr: optional: snapshot attributes (C++: const snapshot_t *) + @return: success + +Help on function set_database_flag in module ida_loader: + +set_database_flag(*args) + set_database_flag(dbfl, cnd=True) + + + Set or clear database flag + + @param dbfl: flag Database flags (C++: uint32) + @param cnd: set if true or clear flag otherwise (C++: bool) + +Help on function set_path in module ida_loader: + +set_path(*args) + set_path(pt, path) + + + Set the file path + + @param pt: file path type Types of the file pathes (C++: path_type_t) + @param path: new file path, use NULL or empty string to clear the file + path (C++: const char *) + +Help on class snapshot_t in module ida_loader: + +class snapshot_t(__builtin__.object) + | Proxy of C++ snapshot_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> snapshot_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | children + | snapshot_t_children_get(self) -> qvector_snapshotvec_t + | + | desc + | snapshot_t_desc_get(self) -> char [128] + | + | filename + | snapshot_t_filename_get(self) -> char [QMAXPATH] + | + | flags + | snapshot_t_flags_get(self) -> uint16 + | + | id + | snapshot_t_id_get(self) -> qtime64_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_snapshot_t(self) + +=== ida_loader EPYDOC INJECTIONS === +ida_loader.ACCEPT_ARCHIVE +""" +Specify that a file format is served by archive loader See +'loader_t::accept_file' +""" + +ida_loader.ACCEPT_CONTINUE +""" +Specify that the function must be called another time See +'loader_t::accept_file' +""" + +ida_loader.ACCEPT_FIRST +""" +Specify that a file format should be place first in "load file" dialog +box. See 'loader_t::accept_file' +""" + +ida_loader.DBFL_BAK +""" +create backup file (if !DBFL_KILL) +""" + +ida_loader.DBFL_COMP +""" +collect garbage +""" + +ida_loader.DBFL_KILL +""" +delete unpacked database +""" + +ida_loader.DBFL_TEMP +""" +temporary database +""" + +ida_loader.FILEREG_NOTPATCHABLE +""" +form in the file. + +the data is kept in some encoded +""" + +ida_loader.FILEREG_PATCHABLE +""" +means that the input file may be patched (i.e. no compression, no +iterated data, etc) +""" + +ida_loader.GENFLG_ASMINC +""" + 'OFILE_ASM' , 'OFILE_LST' : gen information only about types +""" + +ida_loader.GENFLG_ASMTYPE +""" + 'OFILE_ASM' , 'OFILE_LST' : gen information about types too +""" + +ida_loader.GENFLG_GENHTML +""" + 'OFILE_ASM' , 'OFILE_LST' : generate html ( 'ui_genfile_callback' +will be used) +""" + +ida_loader.GENFLG_IDCTYPE +""" + 'OFILE_IDC' : gen only information about types +""" + +ida_loader.GENFLG_MAPDMNG +""" + 'OFILE_MAP' : demangle names +""" + +ida_loader.GENFLG_MAPLOC +""" + 'OFILE_MAP' : include local names +""" + +ida_loader.GENFLG_MAPNAME +""" + 'OFILE_MAP' : include dummy names +""" + +ida_loader.GENFLG_MAPSEG +""" + 'OFILE_MAP' : generate map of segments +""" + +ida_loader.LDRF_RELOAD +""" +loader recognizes 'NEF_RELOAD' flag +""" + +ida_loader.LDRF_REQ_PROC +""" +Requires a processor to be set. if this bit is not set, load_file() +must call set_processor_type(..., SETPROC_LOADER) +""" + +ida_loader.MAX_DATABASE_DESCRIPTION +""" +Maximum database snapshot description length. +""" + +ida_loader.NEF_CODE +""" +load as a code segment + +for 'load_binary_file()' : +""" + +ida_loader.NEF_FILL +""" +Fill segment gaps. +""" + +ida_loader.NEF_FIRST +""" +into the database. + +This is the first file loaded +""" + +ida_loader.NEF_FLAT +""" +Autocreate FLAT group (PE) +""" + +ida_loader.NEF_IMPS +""" +Create import segment. +""" + +ida_loader.NEF_LALL +""" +Load all segments without questions. +""" + +ida_loader.NEF_LOPT +""" +Display additional loader options dialog. +""" + +ida_loader.NEF_MAN +""" +Manual load. +""" + +ida_loader.NEF_MINI +""" +Create mini database (do not copy segment bytes from the input file; +use only the file header metadata) +""" + +ida_loader.NEF_NAME +""" +Rename entries. +""" + +ida_loader.NEF_RELOAD +""" +reload the file at the same place: - don't create segmentsdon't create +fixup infodon't import segmentsetc load only the bytes into the base. +a loader should have 'LDRF_RELOAD' bit set +""" + +ida_loader.NEF_RSCS +""" +Load resources. +""" + +ida_loader.NEF_SEGS +""" +Create segments. +""" + +ida_loader.PLUGIN_DLL +""" +Pattern to find plugin files. +""" + +ida_loader.SSF_AUTOMATIC +""" +automatic snapshot +""" + +ida_loader.SSUF_DESC +""" +Update the description. +""" + +ida_loader.SSUF_FLAGS +""" +Update the flags. +""" + +ida_loader.SSUF_PATH +""" +Update the path. +""" +=== ida_loader EPYDOC INJECTIONS END === +Help on class bookmarks_t in module ida_moves: + +class bookmarks_t(__builtin__.object) + | Proxy of C++ bookmarks_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | erase(*args) + | erase(e, index, ud) -> bool + | + | find_index(*args) + | find_index(e, ud) -> uint32 + | + | get(*args) + | get(out_entry, out_desc, index, ud) -> bool + | + | get_desc(*args) + | get_desc(e, index, ud) -> bool + | + | mark(*args) + | mark(e, index, title, desc, ud) -> uint32 + | + | size(*args) + | size(e, ud) -> uint32 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function bookmarks_t_erase in module ida_moves: + +bookmarks_t_erase(*args) + bookmarks_t_erase(e, index, ud) -> bool + +Help on function bookmarks_t_find_index in module ida_moves: + +bookmarks_t_find_index(*args) + bookmarks_t_find_index(e, ud) -> uint32 + +Help on function bookmarks_t_get in module ida_moves: + +bookmarks_t_get(*args) + bookmarks_t_get(out_entry, out_desc, index, ud) -> bool + +Help on function bookmarks_t_get_desc in module ida_moves: + +bookmarks_t_get_desc(*args) + bookmarks_t_get_desc(e, index, ud) -> str + +Help on function bookmarks_t_mark in module ida_moves: + +bookmarks_t_mark(*args) + bookmarks_t_mark(e, index, title, desc, ud) -> uint32 + +Help on function bookmarks_t_size in module ida_moves: + +bookmarks_t_size(*args) + bookmarks_t_size(e, ud) -> uint32 + +Help on class graph_location_info_t in module ida_moves: + +class graph_location_info_t(__builtin__.object) + | Proxy of C++ graph_location_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> graph_location_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | orgx + | graph_location_info_t_orgx_get(self) -> double + | + | orgy + | graph_location_info_t_orgy_get(self) -> double + | + | thisown + | The membership flag + | + | zoom + | graph_location_info_t_zoom_get(self) -> double + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_graph_location_info_t(self) + +Help on class lochist_entry_t in module ida_moves: + +class lochist_entry_t(__builtin__.object) + | Proxy of C++ lochist_entry_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lochist_entry_t + | __init__(self, p, r) -> lochist_entry_t + | __init__(self, other) -> lochist_entry_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | acquire_place(self, *args) + | acquire_place(self, in_p) + | + | is_valid(self, *args) + | is_valid(self) -> bool + | + | place(self, *args) + | place(self) -> place_t + | place(self) -> place_t + | + | renderer_info(self, *args) + | renderer_info(self) -> renderer_info_t + | renderer_info(self) -> renderer_info_t + | + | set_place(self, *args) + | set_place(self, p) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | plce + | lochist_entry_t_plce_get(self) -> place_t + | + | rinfo + | lochist_entry_t_rinfo_get(self) -> renderer_info_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lochist_entry_t(self) + +Help on class lochist_t in module ida_moves: + +class lochist_t(__builtin__.object) + | Proxy of C++ lochist_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lochist_t + | + | __repr__ = _swig_repr(self) + | + | back(self, *args) + | back(self, cnt, try_to_unhide) -> bool + | + | clear(self, *args) + | clear(self) + | + | current_index(self, *args) + | current_index(self) -> uint32 + | + | fwd(self, *args) + | fwd(self, cnt, try_to_unhide) -> bool + | + | get(self, *args) + | get(self, out, index) -> bool + | + | get_current(self, *args) + | get_current(self) -> lochist_entry_t + | + | get_place_id(self, *args) + | get_place_id(self) -> int + | + | get_template_place(self, *args) + | get_template_place(self) -> place_t + | + | init(self, *args) + | init(self, stream_name, _defpos, _ud, _flags) -> bool + | + | is_history_enabled(self, *args) + | is_history_enabled(self) -> bool + | + | jump(self, *args) + | jump(self, try_to_unhide, e) + | + | netcode(self, *args) + | netcode(self) -> nodeidx_t + | + | save(self, *args) + | save(self) + | + | seek(self, *args) + | seek(self, index, try_to_unhide) -> bool + | + | set(self, *args) + | set(self, index, e) + | + | set_current(self, *args) + | set_current(self, e) + | + | size(self, *args) + | size(self) -> uint32 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lochist_t(self) + +Help on class renderer_info_pos_t in module ida_moves: + +class renderer_info_pos_t(__builtin__.object) + | Proxy of C++ renderer_info_pos_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_info_pos_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cx + | renderer_info_pos_t_cx_get(self) -> short + | + | cy + | renderer_info_pos_t_cy_get(self) -> short + | + | node + | renderer_info_pos_t_node_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_renderer_info_pos_t(self) + +Help on class renderer_info_t in module ida_moves: + +class renderer_info_t(__builtin__.object) + | Proxy of C++ renderer_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | gli + | renderer_info_t_gli_get(self) -> graph_location_info_t + | + | pos + | renderer_info_t_pos_get(self) -> renderer_info_pos_t + | + | rtype + | renderer_info_t_rtype_get(self) -> tcc_renderer_type_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_renderer_info_t(self) + +Help on class segm_move_info_t in module ida_moves: + +class segm_move_info_t(__builtin__.object) + | Proxy of C++ segm_move_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _from=0, _to=0, _sz=0) -> segm_move_info_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _from + | segm_move_info_t__from_get(self) -> ea_t + | + | size + | segm_move_info_t_size_get(self) -> size_t + | + | thisown + | The membership flag + | + | to + | segm_move_info_t_to_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_segm_move_info_t(self) + +Help on class segm_move_info_vec_t in module ida_moves: + +class segm_move_info_vec_t(__builtin__.object) + | Proxy of C++ qvector< segm_move_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> segm_move_info_t + | + | __init__(self, *args) + | __init__(self) -> segm_move_info_vec_t + | __init__(self, x) -> segm_move_info_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> segm_move_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> segm_move_info_t + | begin(self) -> segm_move_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> segm_move_info_t + | end(self) -> segm_move_info_t + | + | erase(self, *args) + | erase(self, it) -> segm_move_info_t + | erase(self, first, last) -> segm_move_info_t + | + | extract(self, *args) + | extract(self) -> segm_move_info_t + | + | find(self, *args) + | find(self, x) -> segm_move_info_t + | find(self, x) -> segm_move_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=segm_move_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> segm_move_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> segm_move_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_segm_move_info_vec_t(self) + +Help on class segm_move_infos_t in module ida_moves: + +class segm_move_infos_t(segm_move_info_vec_t) + | Proxy of C++ segm_move_infos_t class. + | + | Method resolution order: + | segm_move_infos_t + | segm_move_info_vec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> segm_move_infos_t + | + | __repr__ = _swig_repr(self) + | + | find(self, *args) + | find(self, ea) -> segm_move_info_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_segm_move_infos_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from segm_move_info_vec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> segm_move_info_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> segm_move_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> segm_move_info_t + | begin(self) -> segm_move_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> segm_move_info_t + | end(self) -> segm_move_info_t + | + | erase(self, *args) + | erase(self, it) -> segm_move_info_t + | erase(self, first, last) -> segm_move_info_t + | + | extract(self, *args) + | extract(self) -> segm_move_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=segm_move_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> segm_move_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> segm_move_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from segm_move_info_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function get_switch_info in module ida_nalt: + +get_switch_info(*args) + get_switch_info(out, ea) -> ssize_t + +Help on function add_encoding in module ida_nalt: + +add_encoding(*args) + add_encoding(encoding) -> int + + + Add a new encoding (e.g. "UTF-8"). + + @param encoding (C++: const char *) + @return: its index (1-based) if it's already in the list, return its + index + +Help on class array_parameters_t in module ida_nalt: + +class array_parameters_t(__builtin__.object) + | Proxy of C++ array_parameters_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> array_parameters_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | alignment + | array_parameters_t_alignment_get(self) -> int32 + | + | flags + | array_parameters_t_flags_get(self) -> int32 + | + | lineitems + | array_parameters_t_lineitems_get(self) -> int32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_array_parameters_t(self) + +Help on function clr__bnot0 in module ida_nalt: + +clr__bnot0(*args) + clr__bnot0(ea) + +Help on function clr__bnot1 in module ida_nalt: + +clr__bnot1(*args) + clr__bnot1(ea) + +Help on function clr__invsign0 in module ida_nalt: + +clr__invsign0(*args) + clr__invsign0(ea) + +Help on function clr__invsign1 in module ida_nalt: + +clr__invsign1(*args) + clr__invsign1(ea) + +Help on function clr_abits in module ida_nalt: + +clr_abits(*args) + clr_abits(ea, bits) + +Help on function clr_align_flow in module ida_nalt: + +clr_align_flow(*args) + clr_align_flow(ea) + +Help on function clr_colored_item in module ida_nalt: + +clr_colored_item(*args) + clr_colored_item(ea) + +Help on function clr_fixed_spd in module ida_nalt: + +clr_fixed_spd(*args) + clr_fixed_spd(ea) + +Help on function clr_has_lname in module ida_nalt: + +clr_has_lname(*args) + clr_has_lname(ea) + +Help on function clr_has_ti in module ida_nalt: + +clr_has_ti(*args) + clr_has_ti(ea) + +Help on function clr_has_ti0 in module ida_nalt: + +clr_has_ti0(*args) + clr_has_ti0(ea) + +Help on function clr_has_ti1 in module ida_nalt: + +clr_has_ti1(*args) + clr_has_ti1(ea) + +Help on function clr_libitem in module ida_nalt: + +clr_libitem(*args) + clr_libitem(ea) + +Help on function clr_lzero0 in module ida_nalt: + +clr_lzero0(*args) + clr_lzero0(ea) + +Help on function clr_lzero1 in module ida_nalt: + +clr_lzero1(*args) + clr_lzero1(ea) + +Help on function clr_noret in module ida_nalt: + +clr_noret(*args) + clr_noret(ea) + +Help on function clr_notcode in module ida_nalt: + +clr_notcode(*args) + clr_notcode(ea) + + + Clear not-code mark. + + + @param ea (C++: ea_t) + +Help on function clr_notproc in module ida_nalt: + +clr_notproc(*args) + clr_notproc(ea) + +Help on function clr_retfp in module ida_nalt: + +clr_retfp(*args) + clr_retfp(ea) + +Help on function clr_terse_struc in module ida_nalt: + +clr_terse_struc(*args) + clr_terse_struc(ea) + +Help on function clr_tilcmt in module ida_nalt: + +clr_tilcmt(*args) + clr_tilcmt(ea) + +Help on function clr_usemodsp in module ida_nalt: + +clr_usemodsp(*args) + clr_usemodsp(ea) + +Help on function clr_usersp in module ida_nalt: + +clr_usersp(*args) + clr_usersp(ea) + +Help on function clr_userti in module ida_nalt: + +clr_userti(*args) + clr_userti(ea) + +Help on function clr_zstroff in module ida_nalt: + +clr_zstroff(*args) + clr_zstroff(ea) + +Help on class custom_data_type_ids_fids_array in module ida_nalt: + +class custom_data_type_ids_fids_array(__builtin__.object) + | Proxy of C++ wrapped_array_t< int16,8 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> short const & + | + | __init__(self, *args) + | __init__(self, data) -> custom_data_type_ids_fids_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | custom_data_type_ids_fids_array_data_get(self) -> short (&)[8] + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = custom_data_type_ids_t + | + | __repr__ = _swig_repr(self) + | + | _custom_data_type_ids_t__getFids = __getFids(self, *args) + | __getFids(self) -> custom_data_type_ids_fids_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dtid + | custom_data_type_ids_t_dtid_get(self) -> int16 + | + | fids + | __getFids(self) -> custom_data_type_ids_fids_array + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_custom_data_type_ids_t(self) + +Help on function dbg_get_input_path in module ida_nalt: + +dbg_get_input_path(*args) + dbg_get_input_path() -> str + + + Get debugger input file name/path (see 'LFLG_DBG_NOPATH' ) + +Help on function del_absbase in module ida_nalt: + +del_absbase(*args) + del_absbase(ea) + +Help on function del_aflags in module ida_nalt: + +del_aflags(*args) + del_aflags(ea) + +Help on function del_alignment in module ida_nalt: + +del_alignment(*args) + del_alignment(ea) + +Help on function del_array_parameters in module ida_nalt: + +del_array_parameters(*args) + del_array_parameters(ea) + +Help on function del_custom_data_type_ids in module ida_nalt: + +del_custom_data_type_ids(*args) + del_custom_data_type_ids(ea) + +Help on function del_encoding in module ida_nalt: + +del_encoding(*args) + del_encoding(idx) -> bool + + + Delete an encoding (1-based) + + + @param idx (C++: int) + +Help on function del_ind_purged in module ida_nalt: + +del_ind_purged(*args) + del_ind_purged(ea) + +Help on function del_item_color in module ida_nalt: + +del_item_color(*args) + del_item_color(ea) -> bool + +Help on function del_op_tinfo in module ida_nalt: + +del_op_tinfo(*args) + del_op_tinfo(ea, n) + +Help on function del_refinfo in module ida_nalt: + +del_refinfo(*args) + del_refinfo(ea, n) -> bool + +Help on function del_source_linnum in module ida_nalt: + +del_source_linnum(*args) + del_source_linnum(ea) + +Help on function del_str_type in module ida_nalt: + +del_str_type(*args) + del_str_type(ea) + +Help on function del_switch_info in module ida_nalt: + +del_switch_info(*args) + del_switch_info(ea) + +Help on function del_switch_parent in module ida_nalt: + +del_switch_parent(*args) + del_switch_parent(ea) + +Help on function del_tinfo in module ida_nalt: + +del_tinfo(*args) + del_tinfo(ea) + +Help on function delete_imports in module ida_nalt: + +delete_imports(*args) + delete_imports() + + + Delete all imported modules information. + +Help on function ea2node in module ida_nalt: + +ea2node(*args) + ea2node(ea) -> nodeidx_t + + + Get netnode for the specified address. + + + @param ea (C++: ea_t) + +Help on function encoding_from_strtype in module ida_nalt: + +encoding_from_strtype(*args) + encoding_from_strtype(strtype) -> char const * + + + Get encoding name for this strtype. + + + @param strtype (C++: int32) + +Help on class enum_const_t in module ida_nalt: + +class enum_const_t(__builtin__.object) + | Proxy of C++ enum_const_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> enum_const_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | serial + | enum_const_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | tid + | enum_const_t_tid_get(self) -> tid_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enum_const_t(self) + +Help on function enum_import_names in module ida_nalt: + +enum_import_names(*args) + enum_import_names(mod_index, py_cb) -> int + + + Enumerate imports from a specific module. + Please refer to ex_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) + +Help on function find_custom_refinfo in module ida_nalt: + +find_custom_refinfo(*args) + find_custom_refinfo(name) -> int + + + Get id of a custom refinfo type. + + + @param name (C++: const char *) + +Help on function get_abi_name in module ida_nalt: + +get_abi_name(*args) + +Help on function get_absbase in module ida_nalt: + +get_absbase(*args) + get_absbase(ea) -> ea_t + +Help on function get_aflags in module ida_nalt: + +get_aflags(*args) + get_aflags(ea) -> uint32 + +Help on function get_alignment in module ida_nalt: + +get_alignment(*args) + get_alignment(ea) -> uint32 + +Help on function get_archive_path in module ida_nalt: + +get_archive_path(*args) + get_archive_path() -> str + + + Get archive file path from which input file was extracted. + +Help on function get_array_parameters in module ida_nalt: + +get_array_parameters(*args) + get_array_parameters(out, ea) -> ssize_t + +Help on function get_asm_inc_file in module ida_nalt: + +get_asm_inc_file(*args) + get_asm_inc_file() -> str + + + Get name of the include file. + +Help on function get_custom_data_type_ids in module ida_nalt: + +get_custom_data_type_ids(*args) + get_custom_data_type_ids(cdis, ea) -> int + +Help on function get_custom_refinfo in module ida_nalt: + +get_custom_refinfo(*args) + get_custom_refinfo(crid) -> custom_refinfo_handler_t const * + + + Get definition of a registered custom refinfo type. + + + @param crid (C++: int) + +Help on function get_default_encoding_idx in module ida_nalt: + +get_default_encoding_idx(*args) + get_default_encoding_idx(bpu) -> int + + + Get default encoding index for a specific string type. + + @param bpu: the amount of bytes per unit (e.g., 1 for ASCII, CP1252, + UTF-8..., 2 for UTF-16, 4 for UTF-32) 0 means no specific + encoding is set - byte values are displayed without + conversion. (C++: int) + +Help on function get_encoding_bpu in module ida_nalt: + +get_encoding_bpu(*args) + 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: the encoding index (C++: int) + @return: the number of bytes per units (1/2/4); -1 means error + +Help on function get_encoding_name in module ida_nalt: + +get_encoding_name(*args) + get_encoding_name(idx) -> char const * + + + Get encoding name for specific index (1-based). + + @param idx (C++: int) + @return: NULL if idx is out of bounds + +Help on function get_encoding_qty in module ida_nalt: + +get_encoding_qty(*args) + get_encoding_qty() -> int + + + Get total number of encodings (counted from 0) + +Help on function get_gotea in module ida_nalt: + +get_gotea(*args) + get_gotea() -> ea_t + +Help on function get_ids_modnode in module ida_nalt: + +get_ids_modnode(*args) + get_ids_modnode() -> netnode + + + Get ids modnode. + +Help on function get_imagebase in module ida_nalt: + +get_imagebase(*args) + get_imagebase() -> ea_t + + + Get image base address. + +Help on function get_import_module_name in module ida_nalt: + +get_import_module_name(*args) + get_import_module_name(mod_index) -> PyObject * + + + Returns the name of an imported module given its index + @return: None or the module name + +Help on function get_import_module_qty in module ida_nalt: + +get_import_module_qty(*args) + get_import_module_qty() -> uint + + + Get number of import modules. + +Help on function get_ind_purged in module ida_nalt: + +get_ind_purged(*args) + get_ind_purged(ea) -> ea_t + +Help on function get_input_file_path in module ida_nalt: + +get_input_file_path(*args) + get_input_file_path() -> str + + + Get full path of the input file. + +Help on function get_item_color in module ida_nalt: + +get_item_color(*args) + get_item_color(ea) -> bgcolor_t + +Help on function get_op_tinfo in module ida_nalt: + +get_op_tinfo(*args) + get_op_tinfo(tif, ea, n) -> bool + +Help on function get_outfile_encoding_idx in module ida_nalt: + +get_outfile_encoding_idx(*args) + get_outfile_encoding_idx() -> int + + + Get the index of the encoding used when producing files 0 means no + that the IDB's default 1 byte-per-unit encoding is used + +Help on function get_refinfo in module ida_nalt: + +get_refinfo(*args) + get_refinfo(ri, ea, n) -> bool + +Help on function get_reftype_by_size in module ida_nalt: + +get_reftype_by_size(*args) + 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) + +Help on function get_root_filename in module ida_nalt: + +get_root_filename(*args) + get_root_filename() -> str + + + Get file name only of the input file. + +Help on function get_source_linnum in module ida_nalt: + +get_source_linnum(*args) + get_source_linnum(ea) -> uval_t + +Help on function get_str_encoding_idx in module ida_nalt: + +get_str_encoding_idx(*args) + get_str_encoding_idx(strtype) -> uchar + + + Get index of the string encoding for this string. + + + @param strtype (C++: int32) + +Help on function get_str_term1 in module ida_nalt: + +get_str_term1(*args) + get_str_term1(strtype) -> char + +Help on function get_str_term2 in module ida_nalt: + +get_str_term2(*args) + get_str_term2(strtype) -> char + +Help on function get_str_type in module ida_nalt: + +get_str_type(*args) + get_str_type(ea) -> uint32 + +Help on function get_str_type_code in module ida_nalt: + +get_str_type_code(*args) + get_str_type_code(strtype) -> uchar + +Help on function get_strtype_bpu in module ida_nalt: + +get_strtype_bpu(*args) + get_strtype_bpu(strtype) -> int + +Help on function get_switch_info in module ida_nalt: + +get_switch_info(*args) + +Help on function get_switch_parent in module ida_nalt: + +get_switch_parent(*args) + get_switch_parent(ea) -> ea_t + +Help on function get_tinfo in module ida_nalt: + +get_tinfo(*args) + get_tinfo(tif, ea) -> bool + +Help on function getnode in module ida_nalt: + +getnode(*args) + getnode(ea) -> netnode + +Help on function has_lname in module ida_nalt: + +has_lname(*args) + has_lname(ea) -> bool + +Help on function has_ti in module ida_nalt: + +has_ti(*args) + has_ti(ea) -> bool + +Help on function has_ti0 in module ida_nalt: + +has_ti0(*args) + has_ti0(ea) -> bool + +Help on function has_ti1 in module ida_nalt: + +has_ti1(*args) + has_ti1(ea) -> bool + +Help on function hide_border in module ida_nalt: + +hide_border(*args) + hide_border(ea) + +Help on function hide_item in module ida_nalt: + +hide_item(*args) + hide_item(ea) + +Help on function is__bnot0 in module ida_nalt: + +is__bnot0(*args) + is__bnot0(ea) -> bool + +Help on function is__bnot1 in module ida_nalt: + +is__bnot1(*args) + is__bnot1(ea) -> bool + +Help on function is__invsign0 in module ida_nalt: + +is__invsign0(*args) + is__invsign0(ea) -> bool + +Help on function is__invsign1 in module ida_nalt: + +is__invsign1(*args) + is__invsign1(ea) -> bool + +Help on function is_align_flow in module ida_nalt: + +is_align_flow(*args) + is_align_flow(ea) -> bool + +Help on function is_colored_item in module ida_nalt: + +is_colored_item(*args) + is_colored_item(ea) -> bool + +Help on function is_finally_visible_item in module ida_nalt: + +is_finally_visible_item(*args) + is_finally_visible_item(ea) -> bool + + + Is instruction visible? + + + @param ea (C++: ea_t) + +Help on function is_fixed_spd in module ida_nalt: + +is_fixed_spd(*args) + is_fixed_spd(ea) -> bool + +Help on function is_hidden_border in module ida_nalt: + +is_hidden_border(*args) + is_hidden_border(ea) -> bool + +Help on function is_hidden_item in module ida_nalt: + +is_hidden_item(*args) + is_hidden_item(ea) -> bool + +Help on function is_libitem in module ida_nalt: + +is_libitem(*args) + is_libitem(ea) -> bool + +Help on function is_lzero0 in module ida_nalt: + +is_lzero0(*args) + is_lzero0(ea) -> bool + +Help on function is_lzero1 in module ida_nalt: + +is_lzero1(*args) + is_lzero1(ea) -> bool + +Help on function is_noret in module ida_nalt: + +is_noret(*args) + is_noret(ea) -> bool + +Help on function is_notcode in module ida_nalt: + +is_notcode(*args) + is_notcode(ea) -> bool + + + Is the address marked as not-code? + + + @param ea (C++: ea_t) + +Help on function is_notproc in module ida_nalt: + +is_notproc(*args) + is_notproc(ea) -> bool + +Help on function is_pascal in module ida_nalt: + +is_pascal(*args) + is_pascal(strtype) -> bool + +Help on function is_reftype_target_optional in module ida_nalt: + +is_reftype_target_optional(*args) + is_reftype_target_optional(type) -> bool + + + Can the target be calculated using operand value? + + + @param type (C++: reftype_t) + +Help on function is_retfp in module ida_nalt: + +is_retfp(*args) + is_retfp(ea) -> bool + +Help on function is_terse_struc in module ida_nalt: + +is_terse_struc(*args) + is_terse_struc(ea) -> bool + +Help on function is_tilcmt in module ida_nalt: + +is_tilcmt(*args) + is_tilcmt(ea) -> bool + +Help on function is_usersp in module ida_nalt: + +is_usersp(*args) + is_usersp(ea) -> bool + +Help on function is_userti in module ida_nalt: + +is_userti(*args) + is_userti(ea) -> bool + +Help on function is_visible_item in module ida_nalt: + +is_visible_item(*args) + is_visible_item(ea) -> bool + + + Test visibility of item at given ea. + + + @param ea (C++: ea_t) + +Help on function is_zstroff in module ida_nalt: + +is_zstroff(*args) + is_zstroff(ea) -> bool + +Help on function node2ea in module ida_nalt: + +node2ea(*args) + node2ea(ndx) -> ea_t + +Help on class opinfo_t in module ida_nalt: + +class opinfo_t(__builtin__.object) + | Proxy of C++ opinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> opinfo_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cd + | opinfo_t_cd_get(self) -> custom_data_type_ids_t + | + | ec + | opinfo_t_ec_get(self) -> enum_const_t + | + | path + | opinfo_t_path_get(self) -> strpath_t + | + | ri + | opinfo_t_ri_get(self) -> refinfo_t + | + | strtype + | opinfo_t_strtype_get(self) -> int32 + | + | thisown + | The membership flag + | + | tid + | opinfo_t_tid_get(self) -> tid_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_opinfo_t(self) + +Help on class printop_t in module ida_nalt: + +class printop_t(__builtin__.object) + | Proxy of C++ printop_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> printop_t + | + | __repr__ = _swig_repr(self) + | + | get_ti(self, *args) + | get_ti(self) -> opinfo_t + | + | is_aflags_initialized(self, *args) + | is_aflags_initialized(self) -> bool + | + | is_ti_initialized(self, *args) + | is_ti_initialized(self) -> bool + | + | set_aflags_initialized(self, *args) + | set_aflags_initialized(self, v=True) + | + | set_ti_initialized(self, *args) + | set_ti_initialized(self, v=True) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | aflags + | printop_t_aflags_get(self) -> flags_t + | + | features + | printop_t_features_get(self) -> uchar + | + | flags + | printop_t_flags_get(self) -> flags_t + | + | is_ti_valid + | is_ti_initialized(self) -> bool + | + | suspop + | printop_t_suspop_get(self) -> int + | + | thisown + | The membership flag + | + | ti + | printop_t_ti_get(self) -> opinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_printop_t(self) + +Help on class refinfo_t in module ida_nalt: + +class refinfo_t(__builtin__.object) + | Proxy of C++ refinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> refinfo_t + | + | __repr__ = _swig_repr(self) + | + | init(self, *args) + | init(self, reft_and_flags, _base=0, _target=BADADDR, _tdelta=0) + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_pastend(self, *args) + | is_pastend(self) -> bool + | + | is_rvaoff(self, *args) + | is_rvaoff(self) -> bool + | + | is_signed(self, *args) + | is_signed(self) -> bool + | + | is_subtract(self, *args) + | is_subtract(self) -> bool + | + | is_target_optional(self, *args) + | is_target_optional(self) -> bool + | + | no_base_xref(self, *args) + | no_base_xref(self) -> bool + | + | set_type(self, *args) + | set_type(self, t) + | + | type(self, *args) + | type(self) -> reftype_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | refinfo_t_base_get(self) -> ea_t + | + | flags + | refinfo_t_flags_get(self) -> uint32 + | + | target + | refinfo_t_target_get(self) -> ea_t + | + | tdelta + | refinfo_t_tdelta_get(self) -> adiff_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_refinfo_t(self) + +Help on function rename_encoding in module ida_nalt: + +rename_encoding(*args) + rename_encoding(idx, encoding) -> bool + + + Change name for an encoding (1-based) + + + @param idx (C++: int) + @param encoding (C++: const char *) + +Help on function retrieve_input_file_crc32 in module ida_nalt: + +retrieve_input_file_crc32(*args) + 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. + +Help on function retrieve_input_file_md5 in module ida_nalt: + +retrieve_input_file_md5(*args) + retrieve_input_file_md5() -> str + + + Get input file md5. + +Help on function retrieve_input_file_sha256 in module ida_nalt: + +retrieve_input_file_sha256(*args) + retrieve_input_file_sha256() -> str + + + Get input file sha256. + +Help on function retrieve_input_file_size in module ida_nalt: + +retrieve_input_file_size(*args) + retrieve_input_file_size() -> uint32 + + + Get size of input file in bytes. + +Help on function set__bnot0 in module ida_nalt: + +set__bnot0(*args) + set__bnot0(ea) + +Help on function set__bnot1 in module ida_nalt: + +set__bnot1(*args) + set__bnot1(ea) + +Help on function set__invsign0 in module ida_nalt: + +set__invsign0(*args) + set__invsign0(ea) + +Help on function set__invsign1 in module ida_nalt: + +set__invsign1(*args) + set__invsign1(ea) + +Help on function set_abits in module ida_nalt: + +set_abits(*args) + set_abits(ea, bits) + +Help on function set_absbase in module ida_nalt: + +set_absbase(*args) + set_absbase(ea, x) + +Help on function set_aflags in module ida_nalt: + +set_aflags(*args) + set_aflags(ea, flags) + +Help on function set_align_flow in module ida_nalt: + +set_align_flow(*args) + set_align_flow(ea) + +Help on function set_alignment in module ida_nalt: + +set_alignment(*args) + set_alignment(ea, x) + +Help on function set_archive_path in module ida_nalt: + +set_archive_path(*args) + set_archive_path(file) -> bool + + + Set archive file path from which input file was extracted. + + + @param file (C++: const char *) + +Help on function set_array_parameters in module ida_nalt: + +set_array_parameters(*args) + set_array_parameters(ea, _in) + +Help on function set_asm_inc_file in module ida_nalt: + +set_asm_inc_file(*args) + set_asm_inc_file(file) -> bool + + + Set name of the include file. + + + @param file (C++: const char *) + +Help on function set_colored_item in module ida_nalt: + +set_colored_item(*args) + set_colored_item(ea) + +Help on function set_custom_data_type_ids in module ida_nalt: + +set_custom_data_type_ids(*args) + set_custom_data_type_ids(ea, cdis) + +Help on function set_default_encoding_idx in module ida_nalt: + +set_default_encoding_idx(*args) + set_default_encoding_idx(bpu, idx) -> bool + + + set default encoding for a string type + + @param bpu: the amount of bytes per unit (C++: int) + @param idx: the encoding index idx can be 0 to disable encoding + conversion (C++: int) + +Help on function set_fixed_spd in module ida_nalt: + +set_fixed_spd(*args) + set_fixed_spd(ea) + +Help on function set_gotea in module ida_nalt: + +set_gotea(*args) + set_gotea(gotea) + +Help on function set_has_lname in module ida_nalt: + +set_has_lname(*args) + set_has_lname(ea) + +Help on function set_has_ti in module ida_nalt: + +set_has_ti(*args) + set_has_ti(ea) + +Help on function set_has_ti0 in module ida_nalt: + +set_has_ti0(*args) + set_has_ti0(ea) + +Help on function set_has_ti1 in module ida_nalt: + +set_has_ti1(*args) + set_has_ti1(ea) + +Help on function set_ids_modnode in module ida_nalt: + +set_ids_modnode(*args) + set_ids_modnode(id) + + + Set ids modnode. + + + @param id (C++: netnode) + +Help on function set_imagebase in module ida_nalt: + +set_imagebase(*args) + set_imagebase(base) + + + Set image base address. + + + @param base (C++: ea_t) + +Help on function set_item_color in module ida_nalt: + +set_item_color(*args) + set_item_color(ea, color) + +Help on function set_libitem in module ida_nalt: + +set_libitem(*args) + set_libitem(ea) + +Help on function set_lzero0 in module ida_nalt: + +set_lzero0(*args) + set_lzero0(ea) + +Help on function set_lzero1 in module ida_nalt: + +set_lzero1(*args) + set_lzero1(ea) + +Help on function set_noret in module ida_nalt: + +set_noret(*args) + set_noret(ea) + +Help on function set_notcode in module ida_nalt: + +set_notcode(*args) + set_notcode(ea) + + + Mark address so that it cannot be converted to instruction. + + + @param ea (C++: ea_t) + +Help on function set_notproc in module ida_nalt: + +set_notproc(*args) + set_notproc(ea) + +Help on function set_op_tinfo in module ida_nalt: + +set_op_tinfo(*args) + set_op_tinfo(ea, n, tif) -> bool + +Help on function set_outfile_encoding_idx in module ida_nalt: + +set_outfile_encoding_idx(*args) + set_outfile_encoding_idx(idx) -> bool + + + set encoding to be used when producing files + + @param idx: the encoding index idx can be 0 to use the IDB's default 1 + -byte-per-unit encoding (C++: int) + +Help on function set_refinfo in module ida_nalt: + +set_refinfo(*args) + set_refinfo(ea, n, type, target=BADADDR, base=0, tdelta=0) -> bool + +Help on function set_refinfo_ex in module ida_nalt: + +set_refinfo_ex(*args) + set_refinfo_ex(ea, n, ri) -> bool + +Help on function set_retfp in module ida_nalt: + +set_retfp(*args) + set_retfp(ea) + +Help on function set_root_filename in module ida_nalt: + +set_root_filename(*args) + set_root_filename(file) + + + Set full path of the input file. + + + @param file (C++: const char *) + +Help on function set_source_linnum in module ida_nalt: + +set_source_linnum(*args) + set_source_linnum(ea, lnnum) + +Help on function set_str_type in module ida_nalt: + +set_str_type(*args) + set_str_type(ea, x) + +Help on function set_switch_info in module ida_nalt: + +set_switch_info(*args) + set_switch_info(ea, _in) + +Help on function set_switch_parent in module ida_nalt: + +set_switch_parent(*args) + set_switch_parent(ea, x) + +Help on function set_terse_struc in module ida_nalt: + +set_terse_struc(*args) + set_terse_struc(ea) + +Help on function set_tilcmt in module ida_nalt: + +set_tilcmt(*args) + set_tilcmt(ea) + +Help on function set_tinfo in module ida_nalt: + +set_tinfo(*args) + set_tinfo(ea, tif) -> bool + +Help on function set_usemodsp in module ida_nalt: + +set_usemodsp(*args) + set_usemodsp(ea) + +Help on function set_usersp in module ida_nalt: + +set_usersp(*args) + set_usersp(ea) + +Help on function set_userti in module ida_nalt: + +set_userti(*args) + set_userti(ea) + +Help on function set_visible_item in module ida_nalt: + +set_visible_item(*args) + set_visible_item(ea, visible) + + + Change visibility of item at given ea. + + + @param ea (C++: ea_t) + @param visible (C++: bool) + +Help on function set_zstroff in module ida_nalt: + +set_zstroff(*args) + set_zstroff(ea) + +Help on class strpath_ids_array in module ida_nalt: + +class strpath_ids_array(__builtin__.object) + | Proxy of C++ wrapped_array_t< tid_t,32 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | __init__(self, *args) + | __init__(self, data) -> strpath_ids_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | strpath_ids_array_data_get(self) -> unsigned-ea-like-numeric-type (&)[32]↗ + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_strpath_ids_array(self) + +Help on class strpath_t in module ida_nalt: + +class strpath_t(__builtin__.object) + | Proxy of C++ strpath_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strpath_t + | + | __repr__ = _swig_repr(self) + | + | _strpath_t__getIds = __getIds(self, *args) + | __getIds(self) -> strpath_ids_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | delta + | strpath_t_delta_get(self) -> adiff_t + | + | ids + | __getIds(self) -> strpath_ids_array + | + | len + | strpath_t_len_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_strpath_t(self) + +Help on class switch_info_t in module ida_nalt: + +class switch_info_t(__builtin__.object) + | Proxy of C++ switch_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> switch_info_t + | + | __repr__ = _swig_repr(self) + | + | _get_values_lowcase(self, *args) + | _get_values_lowcase(self) -> ea_t + | + | _set_values_lowcase(self, *args) + | _set_values_lowcase(self, values) + | + | assign(self, *args) + | assign(self, other) + | + | clear(self, *args) + | clear(self) + | + | get_jrange_vrange(self, *args) + | get_jrange_vrange(self, jrange=None, vrange=None) -> bool + | + | get_jtable_element_size(self, *args) + | get_jtable_element_size(self) -> int + | + | get_jtable_size(self, *args) + | get_jtable_size(self) -> int + | + | get_lowcase(self, *args) + | get_lowcase(self) -> sval_t + | + | get_shift(self, *args) + | get_shift(self) -> int + | + | get_version(self, *args) + | get_version(self) -> int + | + | get_vtable_element_size(self, *args) + | get_vtable_element_size(self) -> int + | + | has_default(self, *args) + | has_default(self) -> bool + | + | has_elbase(self, *args) + | has_elbase(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_indirect(self, *args) + | is_indirect(self) -> bool + | + | is_nolowcase(self, *args) + | is_nolowcase(self) -> bool + | + | is_sparse(self, *args) + | is_sparse(self) -> bool + | + | is_subtract(self, *args) + | is_subtract(self) -> bool + | + | set_elbase(self, *args) + | set_elbase(self, base) + | + | set_expr(self, *args) + | set_expr(self, r, dt) + | + | set_jtable_element_size(self, *args) + | set_jtable_element_size(self, size) + | + | set_jtable_size(self, *args) + | set_jtable_size(self, size) + | + | set_shift(self, *args) + | set_shift(self, shift) + | + | set_vtable_element_size(self, *args) + | set_vtable_element_size(self, size) + | + | use_std_table(self, *args) + | use_std_table(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | custom + | switch_info_t_custom_get(self) -> uval_t + | + | defjump + | switch_info_t_defjump_get(self) -> ea_t + | + | elbase + | switch_info_t_elbase_get(self) -> ea_t + | + | expr_ea + | switch_info_t_expr_ea_get(self) -> ea_t + | + | flags + | switch_info_t_flags_get(self) -> uint32 + | + | ind_lowcase + | switch_info_t_ind_lowcase_get(self) -> sval_t + | + | jcases + | switch_info_t_jcases_get(self) -> int + | + | jumps + | switch_info_t_jumps_get(self) -> ea_t + | + | lowcase + | _get_values_lowcase(self) -> ea_t + | + | marks + | switch_info_t_marks_get(self) -> eavec_t * + | + | ncases + | switch_info_t_ncases_get(self) -> ushort + | + | regdtype + | switch_info_t_regdtype_get(self) -> op_dtype_t + | + | regnum + | switch_info_t_regnum_get(self) -> int + | + | startea + | switch_info_t_startea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | values + | _get_values_lowcase(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | SWITCH_INFO_VERSION = 2 + | + | __swig_destroy__ = + | delete_switch_info_t(self) + +Help on function switch_info_t__from_ptrval__ in module ida_nalt: + +switch_info_t__from_ptrval__(*args) + switch_info_t__from_ptrval__(ptrval) -> switch_info_t + +Help on function unhide_border in module ida_nalt: + +unhide_border(*args) + unhide_border(ea) + +Help on function unhide_item in module ida_nalt: + +unhide_item(*args) + unhide_item(ea) + +Help on function uses_modsp in module ida_nalt: + +uses_modsp(*args) + uses_modsp(ea) -> bool + +Help on function validate_idb_names in module ida_nalt: + +validate_idb_names(*args) + validate_idb_names(do_repair) -> int + +=== ida_nalt EPYDOC INJECTIONS === +ida_nalt.AFL_ALIGNFLOW +""" +the previous insn was created for alignment purposes only +""" + +ida_nalt.AFL_BNOT0 +""" +the 1st operand is bitwise negated +""" + +ida_nalt.AFL_BNOT1 +""" +the 2nd operand is bitwise negated +""" + +ida_nalt.AFL_COLORED +""" +has user defined instruction color? +""" + +ida_nalt.AFL_FIXEDSPD +""" +should not be modified by modules + +sp delta value is fixed by analysis. +""" + +ida_nalt.AFL_HIDDEN +""" +the item is hidden completely +""" + +ida_nalt.AFL_LIB +""" +item from the standard library. low level flag, is used to set +'FUNC_LIB' of 'func_t' +""" + +ida_nalt.AFL_LINNUM +""" +has line number info +""" + +ida_nalt.AFL_LNAME +""" +has local name too ( 'FF_NAME' should be set) +""" + +ida_nalt.AFL_LZERO0 +""" +toggle leading zeroes for the 1st operand +""" + +ida_nalt.AFL_LZERO1 +""" +toggle leading zeroes for the 2nd operand +""" + +ida_nalt.AFL_MANUAL +""" +the instruction/data is specified by the user +""" + +ida_nalt.AFL_NOBRD +""" +the code/data border is hidden +""" + +ida_nalt.AFL_NORET +""" +for imported function pointers: doesn't return. this flag can also be +used for any instruction which halts or finishes the program execution +""" + +ida_nalt.AFL_NOTCODE +""" +autoanalysis should not create code here +""" + +ida_nalt.AFL_NOTPROC +""" +autoanalysis should not create proc here +""" + +ida_nalt.AFL_PUBNAM +""" +name is public (inter-file linkage) +""" + +ida_nalt.AFL_RETFP +""" +function returns a floating point value +""" + +ida_nalt.AFL_SIGN0 +""" +code: toggle sign of the 1st operand +""" + +ida_nalt.AFL_SIGN1 +""" +code: toggle sign of the 2nd operand +""" + +ida_nalt.AFL_TERSESTR +""" +terse structure variable display? +""" + +ida_nalt.AFL_TI +""" +has typeinfo? ( 'NSUP_TYPEINFO' ) +""" + +ida_nalt.AFL_TI0 +""" +has typeinfo for operand 0? ( 'NSUP_OPTYPES' ) +""" + +ida_nalt.AFL_TI1 +""" +has typeinfo for operand 1? ( 'NSUP_OPTYPES' +1) +""" + +ida_nalt.AFL_TILCMT +""" +has type comment? (such a comment may be changed by IDA) +""" + +ida_nalt.AFL_USEMODSP +""" +example: pop [rsp+N] + +insn modifes SP and uses the modified value +""" + +ida_nalt.AFL_USERSP +""" +user-defined SP value +""" + +ida_nalt.AFL_USERTI +""" +(comes from the user or type library) + +the type information is definitive. +""" + +ida_nalt.AFL_WEAKNAM +""" +name is weak +""" + +ida_nalt.AFL_ZSTROFF +""" +display struct field name at 0 offset when displaying an offset. +example: \\v{offset somestruct.field_0} if this flag is clear, then +\\v{offset somestruct} +""" + +ida_nalt.AP_ALLOWDUPS +""" +use 'dup' construct +""" + +ida_nalt.AP_ARRAY +""" +create as array (this flag is not stored in database) +""" + +ida_nalt.AP_IDXBASEMASK +""" +mask for number base of the indexes +""" + +ida_nalt.AP_IDXBIN +""" +display indexes in binary +""" + +ida_nalt.AP_IDXDEC +""" +display indexes in decimal +""" + +ida_nalt.AP_IDXHEX +""" +display indexes in hex +""" + +ida_nalt.AP_IDXOCT +""" +display indexes in octal +""" + +ida_nalt.AP_INDEX +""" +display array element indexes as comments +""" + +ida_nalt.AP_SIGNED +""" +treats numbers as signed +""" + +ida_nalt.MAXSTRUCPATH +""" +maximal inclusion depth of unions +""" + +ida_nalt.NALT_ABSBASE +""" +absolute segment location +""" + +ida_nalt.NALT_AFLAGS +""" +additional flags for an item +""" + +ida_nalt.NALT_ALIGN +""" +(should by equal to power of 2) + +alignment value if the item is 'FF_ALIGN' +""" + +ida_nalt.NALT_COLOR +""" +instruction/data background color +""" + +ida_nalt.NALT_CREF_FROM +""" +code xref from, idx: source address +""" + +ida_nalt.NALT_CREF_TO +""" +code xref to, idx: target address +""" + +ida_nalt.NALT_DREF_FROM +""" +data xref from, idx: source address +""" + +ida_nalt.NALT_DREF_TO +""" +data xref to, idx: target address +""" + +ida_nalt.NALT_ENUM0 +""" +enum id for the first operand +""" + +ida_nalt.NALT_ENUM1 +""" +enum id for the second operand +""" + +ida_nalt.NALT_GR_LAYX +""" +group layout ptrs, hash: md5 of 'belongs' +""" + +ida_nalt.NALT_LINNUM +""" +source line number +""" + +ida_nalt.NALT_PURGE +""" +number of bytes purged from the stack when a function is called +indirectly +""" + +ida_nalt.NALT_STRTYPE +""" +type of string item +""" + +ida_nalt.NALT_STRUCT +""" +struct id +""" + +ida_nalt.NALT_SWITCH +""" +switch idiom address (used at jump targets) +""" + +ida_nalt.NSUP_ARGEAS +""" +instructions that initialize call arguments +""" + +ida_nalt.NSUP_ARRAY +""" +array parameters +""" + +ida_nalt.NSUP_CMT +""" +regular comment +""" + +ida_nalt.NSUP_CUSTDT +""" +custom data type id +""" + +ida_nalt.NSUP_FOP1 +""" +forced operand 1 +""" + +ida_nalt.NSUP_FOP2 +""" +forced operand 2 +""" + +ida_nalt.NSUP_FOP3 +""" +forced operand 3 +""" + +ida_nalt.NSUP_FOP4 +""" +forced operand 4 +""" + +ida_nalt.NSUP_FOP5 +""" +forced operand 5 +""" + +ida_nalt.NSUP_FOP6 +""" +forced operand 6 +""" + +ida_nalt.NSUP_FOP7 +""" +forced operand 7 +""" + +ida_nalt.NSUP_FOP8 +""" +forced operand 8 +""" + +ida_nalt.NSUP_FTAILS +""" +function tails or tail referers values NSUP_FTAILS..NSUP_FTAILS+0x1000 +are reserved +""" + +ida_nalt.NSUP_GROUP +""" +graph group information values NSUP_GROUP..NSUP_GROUP+0x1000 are +reserved +""" + +ida_nalt.NSUP_GROUPS +""" +SEG_GRP: pack_dd encoded list of selectors. +""" + +ida_nalt.NSUP_GR_INFO +""" +group node info: color, ea, text +""" + +ida_nalt.NSUP_GR_LAYT +""" +group layouts, idx: layout pointer +""" + +ida_nalt.NSUP_JINFO +""" +jump table info +""" + +ida_nalt.NSUP_LLABEL +""" +local labels. values NSUP_LLABEL..NSUP_LLABEL+0x1000 are reserved +""" + +ida_nalt.NSUP_MANUAL +""" +manual instruction. values NSUP_MANUAL..NSUP_MANUAL+0x1000 are +reserved +""" + +ida_nalt.NSUP_OMFGRP +""" +OMF: group of segments (not used anymore) +""" + +ida_nalt.NSUP_OPTYPES +""" +operand type information. values NSUP_OPTYPES..NSUP_OPTYPES+0x100000 +are reserved +""" + +ida_nalt.NSUP_OREF0 +""" +outer complex reference information for operand 1 +""" + +ida_nalt.NSUP_OREF1 +""" +outer complex reference information for operand 2 +""" + +ida_nalt.NSUP_OREF2 +""" +outer complex reference information for operand 3 +""" + +ida_nalt.NSUP_OREF3 +""" +outer complex reference information for operand 4 +""" + +ida_nalt.NSUP_OREF4 +""" +outer complex reference information for operand 5 +""" + +ida_nalt.NSUP_OREF5 +""" +outer complex reference information for operand 6 +""" + +ida_nalt.NSUP_OREF6 +""" +outer complex reference information for operand 7 +""" + +ida_nalt.NSUP_OREF7 +""" +outer complex reference information for operand 8 +""" + +ida_nalt.NSUP_ORIGFMD +""" +function metadata before lumina information was applied values +NSUP_ORIGFMD..NSUP_ORIGFMD+0x1000 are reserved +""" + +ida_nalt.NSUP_POINTS +""" +SP change points blob (see funcs.cpp). values +NSUP_POINTS..NSUP_POINTS+0x1000 are reserved +""" + +ida_nalt.NSUP_REF0 +""" +complex reference information for operand 1 +""" + +ida_nalt.NSUP_REF1 +""" +complex reference information for operand 2 +""" + +ida_nalt.NSUP_REF2 +""" +complex reference information for operand 3 +""" + +ida_nalt.NSUP_REF3 +""" +complex reference information for operand 4 +""" + +ida_nalt.NSUP_REF4 +""" +complex reference information for operand 5 +""" + +ida_nalt.NSUP_REF5 +""" +complex reference information for operand 6 +""" + +ida_nalt.NSUP_REF6 +""" +complex reference information for operand 7 +""" + +ida_nalt.NSUP_REF7 +""" +complex reference information for operand 8 +""" + +ida_nalt.NSUP_REGARG +""" +register argument type/name descriptions values +NSUP_REGARG..NSUP_REGARG+0x1000 are reserved +""" + +ida_nalt.NSUP_REGVAR +""" +register variables. values NSUP_REGVAR..NSUP_REGVAR+0x1000 are +reserved +""" + +ida_nalt.NSUP_REPCMT +""" +repeatable comment +""" + +ida_nalt.NSUP_SEGTRANS +""" +segment translations +""" + +ida_nalt.NSUP_STROFF0 +""" +stroff: struct path for the first operand +""" + +ida_nalt.NSUP_STROFF1 +""" +stroff: struct path for the second operand +""" + +ida_nalt.NSUP_SWITCH +""" +switch information +""" + +ida_nalt.NSUP_TYPEINFO +""" +type information. values NSUP_TYPEINFO..NSUP_TYPEINFO+0x1000 are +reserved +""" + +ida_nalt.NSUP_XREFPOS +""" +saved xref address and type in the xrefs window +""" + +ida_nalt.PATCH_TAG +""" +Patch netnode tag. +""" + +ida_nalt.REFINFO_CUSTOM +""" +a custom reference the kernel will call \\ph{notify}(ph.custom_offset, +.... that can change all arguments used for calculations. This flag is +useful for custom fixups +""" + +ida_nalt.REFINFO_NOBASE +""" +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 +""" + +ida_nalt.REFINFO_PASTEND +""" +reference past an item it may point to an nonexistent address do not +destroy alignment dirs +""" + +ida_nalt.REFINFO_RVAOFF +""" +based reference (rva) 'refinfo_t::base' will be forced to +'get_imagebase()' such a reference is displayed with the \\ash{a_rva} +keyword +""" + +ida_nalt.REFINFO_SIGNEDOP +""" +the operand value is sign-extended (only supported for +REF_OFF8/16/32/64) +""" + +ida_nalt.REFINFO_SUBTRACT +""" +the reference value is subtracted from the base value instead of (as +usual) being added to it +""" + +ida_nalt.REFINFO_TYPE +""" +reference type +""" + +ida_nalt.RIDX_ABINAME +""" +ABI name (processor specific) +""" + +ida_nalt.RIDX_ARCHIVE_PATH +""" +archive file path +""" + +ida_nalt.RIDX_C_MACROS +""" +C predefined macros. +""" + +ida_nalt.RIDX_DBG_BINPATHS +""" +unused (20 indexes) +""" + +ida_nalt.RIDX_DUALOP_GRAPH +""" +Graph text representation options. +""" + +ida_nalt.RIDX_DUALOP_TEXT +""" +Text text representation options. +""" + +ida_nalt.RIDX_FILE_FORMAT_NAME +""" +file format name for loader modules +""" + +ida_nalt.RIDX_GROUPS +""" +segment group information (see init_groups()) +""" + +ida_nalt.RIDX_H_PATH +""" +C header path. +""" + +ida_nalt.RIDX_IDA_VERSION +""" +version of ida which created the database +""" + +ida_nalt.RIDX_INCLUDE +""" +assembler include file name +""" + +ida_nalt.RIDX_MD5 +""" +MD5 of the input file. +""" + +ida_nalt.RIDX_NOTEPAD +""" +notepad blob, occupies 1000 indexes (1MB of text) +""" + +ida_nalt.RIDX_PROBLEMS +""" +problem lists +""" + +ida_nalt.RIDX_SELECTED_EXTLANG +""" +last selected extlang name (from the execute script box) +""" + +ida_nalt.RIDX_SELECTORS +""" +2..63 are for selector_t blob (see init_selectors()) +""" + +ida_nalt.RIDX_SHA256 +""" +SHA256 of the input file. +""" + +ida_nalt.RIDX_SMALL_IDC +""" +Instant IDC statements, blob. +""" + +ida_nalt.RIDX_SMALL_IDC_OLD +""" +Instant IDC statements (obsolete) +""" + +ida_nalt.RIDX_SRCDBG_PATHS +""" +source debug paths, occupies 20 indexes +""" + +ida_nalt.RIDX_SRCDBG_UNDESIRED +""" +user-closed source files, occupies 20 indexes +""" + +ida_nalt.RIDX_STR_ENCODINGS +""" +a list of encodings for the program strings +""" + +ida_nalt.STRENC_DEFAULT +""" +use default encoding for this type (see 'get_default_encoding_idx()' ) +""" + +ida_nalt.STRENC_NONE +""" +force no-conversion encoding +""" + +ida_nalt.STRTYPE_C +""" +Zero-terminated 16bit chars. +""" + +ida_nalt.STRTYPE_C_16 +""" +Zero-terminated 32bit chars. +""" + +ida_nalt.STRTYPE_C_32 +""" +Pascal-style, one-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN2 +""" +Pascal-style, 16bit chars, two-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN2_16 +""" +Pascal-style, four-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN4 +""" +Pascal-style, 16bit chars, four-byte length prefix. +""" + +ida_nalt.STRTYPE_PASCAL +""" +Pascal-style, 16bit chars, one-byte length prefix. +""" + +ida_nalt.STRTYPE_PASCAL_16 +""" +Pascal-style, two-byte length prefix. +""" + +ida_nalt.STRTYPE_TERMCHR +""" +C-style string. + +< Character-terminated string. The termination characters are kept in +the next bytes of string type. +""" + +ida_nalt.SWI_CUSTOM +""" +custom jump table. \\ph{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' ) +""" + +ida_nalt.SWI_DEFRET +""" +return in the default case (defjump==BADADDR) +""" + +ida_nalt.SWI_DEF_IN_TBL +""" +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) +=""> ==+ 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. +""" + +ida_nalt.SWI_ELBASE +""" +segment will be used) + +elbase is present (otherwise the base of the switch +""" + +ida_nalt.SWI_HXNOLOWCASE +""" +lowcase value should not be used by the decompiler (internal flag) +""" + +ida_nalt.SWI_INDIRECT +""" +(for sparse switches) + +value table elements are used as indexes into the jump table +""" + +ida_nalt.SWI_J32 +""" +32-bit jump offsets +""" + +ida_nalt.SWI_JMPINSN +""" +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. +""" + +ida_nalt.SWI_JMP_INV +""" +for first entry in values table) + +jumptable is inversed. (last entry is +""" + +ida_nalt.SWI_JSIZE +""" +jump offset expansion bit +""" + +ida_nalt.SWI_RESERVED +""" +was: SWI_DEFAULT +""" + +ida_nalt.SWI_SELFREL +""" +jump address is relative to the element not to ELBASE +""" + +ida_nalt.SWI_SEPARATE +""" +create an array of individual elements (otherwise separate items) +""" + +ida_nalt.SWI_SHIFT_MASK +""" +use formula (element< str + + + Append names of struct fields to a name if the name is a struct name. + + @param disp: displacement from the name (C++: adiff_t *) + @param n: number of operand n which the name appears (C++: int) + @param path: 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). (C++: const tid_t + *) + @param flags: the input flags. they will be returned if the struct + cannot be found. (C++: flags_t) + @param delta: delta to add to displacement (C++: adiff_t) + @param appzero: should append a struct field name if the displacement + is zero? (C++: bool) + @return: flags of the innermost struct member or the input flags + +Help on function calc_gtn_flags in module ida_name: + +calc_gtn_flags(fromaddr, ea) + Calculate flags for get_ea_name() function + + @param fromaddr: the referring address. May be BADADDR. + @param ea: linear address + + @return: flags + +Help on function cleanup_name in module ida_name: + +cleanup_name(*args) + cleanup_name(ea, name, flags=0) -> str + +Help on function del_debug_names in module ida_name: + +del_debug_names(*args) + del_debug_names(ea1, ea2) + +Help on function del_global_name in module ida_name: + +del_global_name(*args) + del_global_name(ea) -> bool + +Help on function del_local_name in module ida_name: + +del_local_name(*args) + del_local_name(ea) -> bool + +Help on function demangle_name in module ida_name: + +demangle_name(*args) + demangle_name(name, disable_mask, demreq=DQT_FULL) -> str + + + Demangle a name. + + @param name: name to demangle (C++: const char *) + @param disable_mask: bits to inhibit parts of demangled name (see + MNG_). by the M_COMPILER bits a specific compiler + can be selected (see MT_). (C++: uint32) + @param demreq (C++: demreq_type_t) + @return: ME_... or MT__ bitmasks from demangle.hpp + +Help on class ea_name_t in module ida_name: + +class ea_name_t(__builtin__.object) + | Proxy of C++ ea_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ea_name_t + | __init__(self, _ea, _name) -> ea_name_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | ea_name_t_ea_get(self) -> ea_t + | + | name + | ea_name_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ea_name_t(self) + +Help on class ea_name_vec_t in module ida_name: + +class ea_name_vec_t(__builtin__.object) + | Proxy of C++ qvector< ea_name_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> ea_name_t + | + | __init__(self, *args) + | __init__(self) -> ea_name_vec_t + | __init__(self, x) -> ea_name_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> ea_name_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> ea_name_t + | begin(self) -> ea_name_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> ea_name_t + | end(self) -> ea_name_t + | + | erase(self, *args) + | erase(self, it) -> ea_name_t + | erase(self, first, last) -> ea_name_t + | + | extract(self, *args) + | extract(self) -> ea_name_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=ea_name_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> ea_name_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> ea_name_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ea_name_vec_t(self) + +Help on function extract_name in module ida_name: + +extract_name(*args) + extract_name(line, x) -> str + + + Extract a name or address from the specified string. + + @param line: input string (C++: const char *) + @param x: x coordinate of cursor (C++: int) + @return: -1 if cannot extract. otherwise length of the name + +Help on function force_name in module ida_name: + +force_name(*args) + force_name(ea, name, flags=0) -> bool + +Help on function get_colored_demangled_name in module ida_name: + +get_colored_demangled_name(*args) + get_colored_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring + +Help on function get_colored_long_name in module ida_name: + +get_colored_long_name(*args) + get_colored_long_name(ea, gtn_flags=0) -> qstring + +Help on function get_colored_name in module ida_name: + +get_colored_name(*args) + get_colored_name(ea) -> qstring + +Help on function get_colored_short_name in module ida_name: + +get_colored_short_name(*args) + get_colored_short_name(ea, gtn_flags=0) -> qstring + +Help on function get_cp_validity in module ida_name: + +get_cp_validity(*args) + 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) + @param cp (C++: wchar32_t) + @param endcp (C++: wchar32_t) + +Help on function get_debug_name in module ida_name: + +get_debug_name(*args) + get_debug_name(ea_ptr, how) -> str + +Help on function get_debug_name_ea in module ida_name: + +get_debug_name_ea(*args) + get_debug_name_ea(name) -> ea_t + +Help on function get_debug_names in module ida_name: + +get_debug_names(*args) + get_debug_names(names, ea1, ea2) + get_debug_names(ea1, ea2, return_list=False) -> PyObject * + +Help on function get_demangled_name in module ida_name: + +get_demangled_name(*args) + get_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring + +Help on function get_ea_name in module ida_name: + +get_ea_name(*args) + get_ea_name(ea, gtn_flags=0) -> qstring + + + Get name at the specified address. + + @param ea: linear address (C++: ea_t) + @param gtn_flags: how exactly the name should be retrieved. + combination of bits for get_ea_name() function. + There is a convenience bits (C++: int) + @return: success + +Help on function get_long_name in module ida_name: + +get_long_name(*args) + get_long_name(ea, gtn_flags=0) -> qstring + +Help on function get_name in module ida_name: + +get_name(*args) + get_name(ea) -> qstring + +Help on function get_name_base_ea in module ida_name: + +get_name_base_ea(*args) + get_name_base_ea(_from, to) -> ea_t + + + Get address of the name used in the expression for the address + + @param _from: address of the operand which references to the address + (C++: ea_t) + @param to: the referenced address (C++: ea_t) + @return: address of the name used to represent the operand + +Help on function get_name_color in module ida_name: + +get_name_color(*args) + get_name_color(_from, ea) -> color_t + + + Calculate flags for 'get_ea_name()' function. + + Get name color. + + @param _from: 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. (C++: ea_t) + @param ea: linear address (C++: ea_t) + +Help on function get_name_ea in module ida_name: + +get_name_ea(*args) + get_name_ea(_from, name) -> ea_t + + + Get address of the name. Dummy names (like byte_xxxx where xxxx are + hex digits) are parsed by this function to obtain the address. The + database is not consulted for them. This function works only with + regular names. + + @param _from: linear address where the name is used. if not + applicable, then should be BADADDR . (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: address of the name or BADADDR + +Help on function get_name_expr in module ida_name: + +get_name_expr(*args) + get_name_expr(_from, n, ea, off, flags=0x0001) -> str + + + 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: 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. (C++: ea_t) + @param n: number of referencing operand. for data items specify 0 + (C++: int) + @param ea: address to convert to name expression (C++: ea_t) + @param off: 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. (C++: uval_t) + @param flags: Name expression flags (C++: int) + @return: < 0 if address is not valid, no segment or other failure. + otherwise the length of the name expression in characters. + +Help on function get_name_value in module ida_name: + +get_name_value(*args) + get_name_value(_from, name) -> int + + + Get value of the name. This function knows about: regular names, + enums, special segments, etc. + + @param _from: linear address where the name is used if not applicable, + then should be BADADDR (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: Name value result codes + +Help on function get_nice_colored_name in module ida_name: + +get_nice_colored_name(*args) + get_nice_colored_name(ea, flags=0) -> str + + + Get a nice colored name at the specified address. Ex:segment:sub+offse + tsegment:sub:local_labelsegment:labelsegment:addresssegment:address+of + fset + + @param ea (C++: ea_t) + @param flags (C++: int) + @return: the length of the generated name in bytes. + +Help on function get_nlist_ea in module ida_name: + +get_nlist_ea(*args) + get_nlist_ea(idx) -> ea_t + + + Get address from the list at 'idx'. + + + @param idx (C++: size_t) + +Help on function get_nlist_idx in module ida_name: + +get_nlist_idx(*args) + get_nlist_idx(ea) -> size_t + + + Get index of the name in the listreturns the closest match. may return + idx >= size. + + @param ea (C++: ea_t) + +Help on function get_nlist_name in module ida_name: + +get_nlist_name(*args) + get_nlist_name(idx) -> char const * + + + Get name using idx. + + + @param idx (C++: size_t) + +Help on function get_nlist_size in module ida_name: + +get_nlist_size(*args) + get_nlist_size() -> size_t + + + Get number of names in the list. + +Help on function get_short_name in module ida_name: + +get_short_name(*args) + get_short_name(ea, gtn_flags=0) -> qstring + +Help on function get_visible_name in module ida_name: + +get_visible_name(*args) + get_visible_name(ea, gtn_flags=0) -> qstring + +Help on function hide_name in module ida_name: + +hide_name(*args) + hide_name(ea) + + + Remove name from the list of names + + @param ea: address of the name (C++: ea_t) + +Help on function is_ident in module ida_name: + +is_ident(*args) + is_ident(name) -> bool + + + Is a valid name? (including ::MangleChars) + + + @param name (C++: const char *) + +Help on function is_ident_cp in module ida_name: + +is_ident_cp(*args) + is_ident_cp(cp) -> bool + + + Can a character appear in a name? (present in ::NameChars or + ::MangleChars) + + + @param cp (C++: wchar32_t) + +Help on function is_in_nlist in module ida_name: + +is_in_nlist(*args) + is_in_nlist(ea) -> bool + + + Is name included into names list? + + + @param ea (C++: ea_t) + +Help on function is_name_defined_locally in module ida_name: + +is_name_defined_locally(*args) + 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: pointer to function (C++: func_t *) + @param name: name to check (C++: const char *) + @param ignore_name_def: which names to ignore when checking (C++: + ignore_name_def_t) + @param ea1: the starting address of the range inside the function + (optional) (C++: ea_t) + @param ea2: the ending address of the range inside the function + (optional) (C++: ea_t) + @return: true if the name has been defined + +Help on function is_public_name in module ida_name: + +is_public_name(*args) + is_public_name(ea) -> bool + +Help on function is_strlit_cp in module ida_name: + +is_strlit_cp(*args) + 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 *) + +Help on function is_uname in module ida_name: + +is_uname(*args) + is_uname(name) -> bool + + + Is valid user-specified name? (valid name & !dummy prefix). + + @param name: name to test. may be NULL. (C++: const char *) + +Help on function is_valid_cp in module ida_name: + +is_valid_cp(*args) + 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) + @param data (C++: void *) + +Help on function is_valid_typename in module ida_name: + +is_valid_typename(*args) + is_valid_typename(name) -> bool + + + Is valid type name? + + @param name: name to test. may be NULL. (C++: const char *) + +Help on function is_visible_cp in module ida_name: + +is_visible_cp(*args) + is_visible_cp(cp) -> bool + + + Can a character be displayed in a name? (present in ::NameChars) + + + @param cp (C++: wchar32_t) + +Help on function is_weak_name in module ida_name: + +is_weak_name(*args) + is_weak_name(ea) -> bool + +Help on function make_name_auto in module ida_name: + +make_name_auto(*args) + make_name_auto(ea) -> bool + +Help on function make_name_non_public in module ida_name: + +make_name_non_public(*args) + make_name_non_public(ea) + +Help on function make_name_non_weak in module ida_name: + +make_name_non_weak(*args) + make_name_non_weak(ea) + +Help on function make_name_public in module ida_name: + +make_name_public(*args) + make_name_public(ea) + +Help on function make_name_user in module ida_name: + +make_name_user(*args) + make_name_user(ea) -> bool + +Help on function make_name_weak in module ida_name: + +make_name_weak(*args) + make_name_weak(ea) + +Help on function rebuild_nlist in module ida_name: + +rebuild_nlist(*args) + rebuild_nlist() + + + Rebuild names list. + +Help on function reorder_dummy_names in module ida_name: + +reorder_dummy_names(*args) + reorder_dummy_names() + + + Renumber dummy names. + +Help on function set_cp_validity in module ida_name: + +set_cp_validity(*args) + 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) + @param cp (C++: wchar32_t) + @param endcp (C++: wchar32_t) + @param valid (C++: bool) + +Help on function set_debug_name in module ida_name: + +set_debug_name(*args) + set_debug_name(ea, name) -> bool + +Help on function set_dummy_name in module ida_name: + +set_dummy_name(*args) + set_dummy_name(_from, ea) -> bool + + + Give an autogenerated (dummy) name. Autogenerated names have special + prefixes (loc_...). + + @param _from: linear address of the operand which references to the + address (C++: ea_t) + @param ea: linear address (C++: ea_t) + +Help on function set_name in module ida_name: + +set_name(*args) + 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: linear address. do nothing if ea is not valid (return 0). + tail bytes can't have names. (C++: ea_t) + @param name: new name. NULL: do nothing (return 0). "" : delete + name. otherwise this is a new name. (C++: const char *) + @param flags: 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. (C++: int) + +Help on function show_name in module ida_name: + +show_name(*args) + show_name(ea) + + + Insert name to the list of names. + + + @param ea (C++: ea_t) + +Help on function validate_name in module ida_name: + +validate_name(*args) + validate_name(name, type, flags=0) -> PyObject * + + + Validate a name. 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: ptr to name. the name will be modified (C++: qstring *) + @param type: the type of name we want to validate (C++: nametype_t) + @param flags: see SN_* . Only SN_IDBENC is currently considered (C++: + int) + @return: success + +=== ida_name EPYDOC INJECTIONS === +ida_name.FUNC_IMPORT_PREFIX +""" +Name prefix used by IDA for the imported functions. +""" + +ida_name.GETN_APPZERO +""" +append a struct field name if the field offset is zero? + +meaningful only if the name refers to a structure. +""" + +ida_name.GETN_NODUMMY +""" +do not create a new dummy name but pretend it exists +""" + +ida_name.GETN_NOFIXUP +""" +ignore the fixup information when producing the name +""" + +ida_name.GNCN_NOCOLOR +""" +generate an uncolored name +""" + +ida_name.GNCN_NODBGNM +""" +don't use debug names +""" + +ida_name.GNCN_NOFUNC +""" +don't generate funcname+... expressions +""" + +ida_name.GNCN_NOLABEL +""" +don't generate labels +""" + +ida_name.GNCN_NOSEG +""" +ignore the segment prefix when producing the name +""" + +ida_name.GNCN_PREFDBG +""" +if using debug names, prefer debug names over function names +""" + +ida_name.GNCN_REQFUNC +""" +return 0 if the address does not belong to a function +""" + +ida_name.GNCN_REQNAME +""" +return 0 if the address can only be represented as a hex number +""" + +ida_name.GNCN_SEGNUM +""" +segment part is displayed as a hex number +""" + +ida_name.GNCN_SEG_FUNC +""" +generate both segment and function names (default is to omit segment +name if a function name is present) +""" + +ida_name.GN_COLORED +""" +return colored name +""" + +ida_name.GN_DEMANGLED +""" +return demangled name +""" + +ida_name.GN_ISRET +""" +for dummy names: use retloc +""" + +ida_name.GN_LOCAL +""" +try to get local name first; if failed, get global +""" + +ida_name.GN_LONG +""" +use long form of demangled name +""" + +ida_name.GN_NOT_DUMMY +""" +do not return a dummy name +""" + +ida_name.GN_NOT_ISRET +""" +for dummy names: do not use retloc +""" + +ida_name.GN_SHORT +""" +use short form of demangled name +""" + +ida_name.GN_STRICT +""" +fail if cannot demangle +""" + +ida_name.GN_VISIBLE +""" +replace forbidden characters by SUBSTCHAR +""" + +ida_name.MAXNAMELEN +""" +Maximum length of a name in IDA (with the trailing zero) +""" + +ida_name.NT_ABS +""" +name is absolute symbol ( 'SEG_ABSSYM' ) +""" + +ida_name.NT_BMASK +""" +name is a bit group mask name +""" + +ida_name.NT_BYTE +""" +name is byte name (regular name) +""" + +ida_name.NT_ENUM +""" +name is symbolic constant +""" + +ida_name.NT_LOCAL +""" +name is local label +""" + +ida_name.NT_NONE +""" +name doesn't exist or has no value +""" + +ida_name.NT_REGVAR +""" +name is a renamed register (*value is idx into pfn->regvars) +""" + +ida_name.NT_SEG +""" +name is segment or segment register name +""" + +ida_name.NT_STKVAR +""" +name is stack variable name +""" + +ida_name.NT_STROFF +""" +name is structure member +""" + +ida_name.SN_AUTO +""" +if set, make name autogenerated +""" + +ida_name.SN_DELTAIL +""" +delete the hindering item + +if name cannot be set because of a tail byte, +""" + +ida_name.SN_FORCE +""" +if the specified name is already present in the database, try +variations with a numerical suffix like "_123" +""" + +ida_name.SN_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly. Specifying SN_IDBENC also implies SN_NODUMMY +""" + +ida_name.SN_LOCAL +""" +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. +""" + +ida_name.SN_NOCHECK +""" +Don't fail if the name contains invalid characters. If this bit is +clear, all invalid chars (those !is_ident_cp()) will be replaced by +SUBSTCHAR List of valid characters is defined in ida.cfg +""" + +ida_name.SN_NODUMMY +""" +automatically prepend the name with '_' if it begins with a dummy +suffix such as 'sub_'. See also SN_IDBENC +""" + +ida_name.SN_NOLIST +""" +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). +""" + +ida_name.SN_NON_AUTO +""" +if set, make name non-autogenerated +""" + +ida_name.SN_NON_PUBLIC +""" +if set, make name non-public +""" + +ida_name.SN_NON_WEAK +""" +if set, make name non-weak +""" + +ida_name.SN_NOWARN +""" +don't display a warning if failed +""" + +ida_name.SN_PUBLIC +""" +if set, make name public +""" + +ida_name.SN_WEAK +""" +if set, make name weak +""" +=== ida_name EPYDOC INJECTIONS END === +Help on function exist in module ida_netnode: + +exist(*args) + exist(n) -> bool + +Help on class netnode in module ida_netnode: + +class netnode(__builtin__.object) + | Proxy of C++ netnode class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, n) -> bool + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> netnode + | __init__(self, num) -> netnode + | __init__(self, _name, namlen=0, do_create=False) -> netnode + | + | __ne__(self, *args) + | __ne__(self, n) -> bool + | __ne__(self, x) -> bool + | + | __repr__ = _swig_repr(self) + | + | altdel(self, *args) + | altdel(self, alt, tag=atag) -> bool + | altdel(self) -> bool + | + | altdel_all(self, *args) + | altdel_all(self, tag) -> bool + | + | altdel_ea(self, *args) + | altdel_ea(self, ea, tag=atag) -> bool + | + | altdel_idx8(self, *args) + | altdel_idx8(self, alt, tag) -> bool + | + | altfirst(self, *args) + | altfirst(self, tag=atag) -> nodeidx_t + | + | altfirst_idx8(self, *args) + | altfirst_idx8(self, tag) -> nodeidx_t + | + | altlast(self, *args) + | altlast(self, tag=atag) -> nodeidx_t + | + | altlast_idx8(self, *args) + | altlast_idx8(self, tag) -> nodeidx_t + | + | altnext(self, *args) + | altnext(self, cur, tag=atag) -> nodeidx_t + | + | altnext_idx8(self, *args) + | altnext_idx8(self, cur, tag) -> nodeidx_t + | + | altprev(self, *args) + | altprev(self, cur, tag=atag) -> nodeidx_t + | + | altprev_idx8(self, *args) + | altprev_idx8(self, cur, tag) -> nodeidx_t + | + | altset(self, *args) + | altset(self, alt, value, tag=atag) -> bool + | + | altset_ea(self, *args) + | altset_ea(self, ea, value, tag=atag) -> bool + | + | altset_idx8(self, *args) + | altset_idx8(self, alt, val, tag) -> bool + | + | altshift(self, *args) + | altshift(self, _from, to, size, tag=atag) -> size_t + | + | altval(self, *args) + | altval(self, alt, tag=atag) -> nodeidx_t + | + | altval_ea(self, *args) + | altval_ea(self, ea, tag=atag) -> nodeidx_t + | + | altval_idx8(self, *args) + | altval_idx8(self, alt, tag) -> nodeidx_t + | + | blobsize(self, *args) + | blobsize(self, _start, tag) -> size_t + | + | blobsize_ea(self, *args) + | blobsize_ea(self, ea, tag) -> size_t + | + | chardel(self, *args) + | chardel(self, alt, tag) -> bool + | + | chardel_ea(self, *args) + | chardel_ea(self, ea, tag) -> bool + | + | chardel_idx8(self, *args) + | chardel_idx8(self, alt, tag) -> bool + | + | charfirst(self, *args) + | charfirst(self, tag) -> nodeidx_t + | + | charfirst_idx8(self, *args) + | charfirst_idx8(self, tag) -> nodeidx_t + | + | charlast(self, *args) + | charlast(self, tag) -> nodeidx_t + | + | charlast_idx8(self, *args) + | charlast_idx8(self, tag) -> nodeidx_t + | + | charnext(self, *args) + | charnext(self, cur, tag) -> nodeidx_t + | + | charnext_idx8(self, *args) + | charnext_idx8(self, cur, tag) -> nodeidx_t + | + | charprev(self, *args) + | charprev(self, cur, tag) -> nodeidx_t + | + | charprev_idx8(self, *args) + | charprev_idx8(self, cur, tag) -> nodeidx_t + | + | charset(self, *args) + | charset(self, alt, val, tag) -> bool + | + | charset_ea(self, *args) + | charset_ea(self, ea, val, tag) -> bool + | + | charset_idx8(self, *args) + | charset_idx8(self, alt, val, tag) -> bool + | + | charshift(self, *args) + | charshift(self, _from, to, size, tag) -> size_t + | + | charval(self, *args) + | charval(self, alt, tag) -> uchar + | + | charval_ea(self, *args) + | charval_ea(self, ea, tag) -> uchar + | + | charval_idx8(self, *args) + | charval_idx8(self, alt, tag) -> uchar + | + | copyto(self, *args) + | copyto(self, target, count=1) -> size_t + | + | create(self, *args) + | create(self, _name, namlen=0) -> bool + | create(self) -> bool + | + | delblob(self, *args) + | delblob(self, _start, tag) -> int + | + | delblob_ea(self, *args) + | delblob_ea(self, ea, tag) -> int + | + | delvalue(self, *args) + | delvalue(self) -> bool + | + | eadel(self, *args) + | eadel(self, ea, tag) -> bool + | + | eadel_idx8(self, *args) + | eadel_idx8(self, idx, tag) -> bool + | + | eaget(self, *args) + | eaget(self, ea, tag) -> ea_t + | + | eaget_idx(self, *args) + | eaget_idx(self, idx, tag) -> ea_t + | + | eaget_idx8(self, *args) + | eaget_idx8(self, idx, tag) -> ea_t + | + | easet(self, *args) + | easet(self, ea, addr, tag) -> bool + | + | easet_idx(self, *args) + | easet_idx(self, idx, addr, tag) -> bool + | + | easet_idx8(self, *args) + | easet_idx8(self, idx, addr, tag) -> bool + | + | end(self, *args) + | end(self) -> bool + | + | get_name(self, *args) + | get_name(self) -> ssize_t + | + | getblob(self, *args) + | getblob(self, start, tag) -> PyObject * + | + | getblob_ea(self, *args) + | getblob_ea(self, ea, tag) -> PyObject * + | + | getclob(self, *args) + | getclob(self, start, tag) -> PyObject * + | + | hashdel(self, *args) + | hashdel(self, idx, tag=htag) -> bool + | + | hashdel_all(self, *args) + | hashdel_all(self, tag=htag) -> bool + | + | hashfirst(self, *args) + | hashfirst(self, tag=htag) -> ssize_t + | + | hashlast(self, *args) + | hashlast(self, tag=htag) -> ssize_t + | + | hashnext(self, *args) + | hashnext(self, idx, tag=htag) -> ssize_t + | + | hashprev(self, *args) + | hashprev(self, idx, tag=htag) -> ssize_t + | + | hashset(self, *args) + | hashset(self, idx, value, tag=htag) -> bool + | + | hashset_buf(self, *args) + | hashset_buf(self, idx, py_str, tag=htag) -> bool + | + | hashset_idx(self, *args) + | hashset_idx(self, idx, value, tag=htag) -> bool + | + | hashstr(self, *args) + | hashstr(self, idx, tag=htag) -> ssize_t + | + | hashstr_buf(self, *args) + | hashstr_buf(self, idx, tag=htag) -> PyObject * + | + | hashval(self, *args) + | hashval(self, idx, tag=htag) -> ssize_t + | + | hashval_long(self, *args) + | hashval_long(self, idx, tag=htag) -> nodeidx_t + | + | index(self, *args) + | index(self) -> nodeidx_t + | + | kill(self, *args) + | kill(self) + | + | long_value(self, *args) + | long_value(self) -> nodeidx_t + | + | lower_bound(self, *args) + | lower_bound(self, cur, tag=stag) -> nodeidx_t + | + | lower_bound_ea(self, *args) + | lower_bound_ea(self, ea, tag=stag) -> nodeidx_t + | + | lower_bound_idx8(self, *args) + | lower_bound_idx8(self, alt, tag) -> nodeidx_t + | + | moveto(self, *args) + | moveto(self, target, count=1) -> size_t + | + | next(self, *args) + | next(self) -> bool + | + | prev(self, *args) + | prev(self) -> bool + | + | rename(self, *args) + | rename(self, newname, namlen=0) -> bool + | + | set(self, *args) + | set(self, value) -> bool + | + | set_long(self, *args) + | set_long(self, x) -> bool + | + | setblob(self, *args) + | setblob(self, buf, _start, tag) -> bool + | + | setblob_ea(self, *args) + | setblob_ea(self, buf, ea, tag) -> bool + | + | start(self, *args) + | start(self) -> bool + | + | supdel(self, *args) + | supdel(self, alt, tag=stag) -> bool + | supdel(self) -> bool + | + | supdel_all(self, *args) + | supdel_all(self, tag) -> bool + | + | supdel_ea(self, *args) + | supdel_ea(self, ea, tag=stag) -> bool + | + | supdel_idx8(self, *args) + | supdel_idx8(self, alt, tag) -> bool + | + | supdel_range(self, *args) + | supdel_range(self, idx1, idx2, tag) -> int + | + | supdel_range_idx8(self, *args) + | supdel_range_idx8(self, idx1, idx2, tag) -> int + | + | supfirst(self, *args) + | supfirst(self, tag=stag) -> nodeidx_t + | + | supfirst_idx8(self, *args) + | supfirst_idx8(self, tag) -> nodeidx_t + | + | suplast(self, *args) + | suplast(self, tag=stag) -> nodeidx_t + | + | suplast_idx8(self, *args) + | suplast_idx8(self, tag) -> nodeidx_t + | + | supnext(self, *args) + | supnext(self, cur, tag=stag) -> nodeidx_t + | + | supnext_idx8(self, *args) + | supnext_idx8(self, alt, tag) -> nodeidx_t + | + | supprev(self, *args) + | supprev(self, cur, tag=stag) -> nodeidx_t + | + | supprev_idx8(self, *args) + | supprev_idx8(self, alt, tag) -> nodeidx_t + | + | supset(self, *args) + | supset(self, alt, value, tag=stag) -> bool + | + | supset_ea(self, *args) + | supset_ea(self, ea, value, tag=stag) -> bool + | + | supset_idx8(self, *args) + | supset_idx8(self, alt, value, tag) -> bool + | + | supshift(self, *args) + | supshift(self, _from, to, size, tag=stag) -> size_t + | + | supstr(self, *args) + | supstr(self, alt, tag=stag) -> ssize_t + | + | supstr_ea(self, *args) + | supstr_ea(self, ea, tag=stag) -> ssize_t + | + | supstr_idx8(self, *args) + | supstr_idx8(self, alt, tag) -> ssize_t + | + | supval(self, *args) + | supval(self, alt, tag=stag) -> ssize_t + | + | supval_ea(self, *args) + | supval_ea(self, ea, tag=stag) -> ssize_t + | + | supval_idx8(self, *args) + | supval_idx8(self, alt, tag) -> ssize_t + | + | valobj(self, *args) + | valobj(self) -> ssize_t + | + | valstr(self, *args) + | valstr(self) -> ssize_t + | + | value_exists(self, *args) + | value_exists(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_netnode(self) + +=== ida_netnode EPYDOC INJECTIONS === +ida_netnode.BADNODE +""" +A number to represent a bad netnode reference. +""" +=== ida_netnode EPYDOC INJECTIONS END === +Help on function add_refinfo_dref in module ida_offset: + +add_refinfo_dref(*args) + 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: the referencing instruction (C++: const insn_t &) + @param _from: the referencing instruction/data address (C++: ea_t) + @param ri: reference info block from the database (C++: const + refinfo_t &) + @param opval: operand value (usually op_t::value or op_t::addr ) + (C++: adiff_t) + @param type: type of xref (C++: dref_t) + @param opoff: offset of the operand from the start of instruction + (C++: int) + @return: the target address of the reference + +Help on function calc_basevalue in module ida_offset: + +calc_basevalue(*args) + calc_basevalue(target, base) -> ea_t + + + Calculate the value of the reference base. + + + @param target (C++: ea_t) + @param base (C++: ea_t) + +Help on function calc_offset_base in module ida_offset: + +calc_offset_base(*args) + 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: the referencing instruction/data address (C++: ea_t) + @param n: operand number 0: first operand 1: other operand (C++: + int) + @return: output base address or BADADDR + +Help on function calc_probable_base_by_value in module ida_offset: + +calc_probable_base_by_value(*args) + 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) + +Help on function calc_reference_data in module ida_offset: + +calc_reference_data(*args) + 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: output target address (C++: ea_t *) + @param base: output base address (C++: ea_t *) + @param _from: the referencing instruction/data address (C++: ea_t) + @param ri: reference info block from the database (C++: const + refinfo_t &) + @param opval: operand value (usually op_t::value or op_t::addr ) + (C++: adiff_t) + @return: success + +Help on function calc_target in module ida_offset: + +calc_target(*args) + calc_target(_from, opval, ri) -> ea_t + calc_target(_from, ea, n, opval) -> ea_t + + + Calculates the target, using the provided 'refinfo_t' . + + + @param _from (C++: ea_t) + @param opval (C++: adiff_t) + @param ri (C++: const refinfo_t &) + +Help on function can_be_off32 in module ida_offset: + +can_be_off32(*args) + 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) + +Help on function get_default_reftype in module ida_offset: + +get_default_reftype(*args) + 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 + +Help on function get_offbase in module ida_offset: + +get_offbase(*args) + get_offbase(ea, n) -> ea_t + + + Get offset base value + + @param ea: linear address (C++: ea_t) + @param n: number of operand (C++: int) + @return: offset base or BADADDR + +Help on function get_offset_expr in module ida_offset: + +get_offset_expr(*args) + get_offset_expr(ea, n, ri, _from, offset, getn_flags=0) -> str + + + See 'get_offset_expression()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param ri (C++: const refinfo_t &) + @param _from (C++: ea_t) + @param offset (C++: adiff_t) + @param getn_flags (C++: int) + +Help on function get_offset_expression in module ida_offset: + +get_offset_expression(*args) + get_offset_expression(ea, n, _from, offset, getn_flags=0) -> str + + + Get offset expression (in the form "offset name+displ"). This function + uses offset translation function (\ph{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: \v{mov ax, [bx+7422h]} and + at ds:7422h: \v{array dw ...} We want to represent the second operand + with an offset expression, so then we call: \v{ + 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: \v{offset + array} + + @param ea: start of instruction or data with the offset expression + (C++: ea_t) + @param n: number of operand (may be ORed with OPND_OUTER ) 0: first + operand 1: second operand (C++: int) + @param _from: 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. (C++: ea_t) + @param offset: value of operand or its part. The function will return + text representation of this value as offset expression. + (C++: adiff_t) + @param getn_flags: 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) (C++: int) + +Help on function op_offset in module ida_offset: + +op_offset(*args) + op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int + + + See 'op_offset_ex()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param type (C++: reftype_t) + @param target (C++: ea_t) + @param base (C++: ea_t) + @param tdelta (C++: adiff_t) + +Help on function op_offset_ex in module ida_offset: + +op_offset_ex(*args) + op_offset_ex(ea, n, ri) -> int + + + Convert operand to a reference. To delete an offset, use + 'clr_op_type()' function. + + @param ea: 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 (C++: ea_t) + @param n: number of operand (may be ORed with OPND_OUTER ) 0: first + 1: second 2: third OPND_MASK : all operands (C++: int) + @param ri: reference information (C++: const refinfo_t *) + @return: success + +Help on function op_plain_offset in module ida_offset: + +op_plain_offset(*args) + 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) + +Help on class __qmutex_t in module ida_pro: + +class __qmutex_t(__builtin__.object) + | Proxy of C++ __qmutex_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qmutex_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete___qmutex_t(self) + +Help on class __qsemaphore_t in module ida_pro: + +class __qsemaphore_t(__builtin__.object) + | Proxy of C++ __qsemaphore_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qsemaphore_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete___qsemaphore_t(self) + +Help on class __qthread_t in module ida_pro: + +class __qthread_t(__builtin__.object) + | Proxy of C++ __qthread_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qthread_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete___qthread_t(self) + +Help on class _qstrvec_t in module ida_pro: + +class _qstrvec_t(ida_idaapi.py_clinked_object_t) + | WARNING: It is very unlikely an IDAPython user should ever, ever + | have to use this type. It should only be used for IDAPython internals. + | + | For example, in py_askusingform.py, we ctypes-expose to the IDA + | kernel & UI a qstrvec instance, in case a DropdownListControl is + | constructed. + | That's because that's what ask_form expects, and we have no + | choice but to make a DropdownListControl hold a qstrvec_t. + | This is, afaict, the only situation where a Python + | _qstrvec_t is required. + | + | Method resolution order: + | _qstrvec_t + | ida_idaapi.py_clinked_object_t + | ida_idaapi.pyidc_opaque_object_t + | __builtin__.object + | + | Methods defined here: + | + | __getitem__(self, idx) + | Gets the string at the given index + | + | __init__(self, items=None) + | + | __setitem__(self, idx, s) + | Sets string at the given index + | + | _create_clink(self) + | + | _del_clink(self, lnk) + | + | _get_clink_ptr(self) + | + | _qstrvec_t__get_size = __get_size(self) + | + | add(self, s) + | Add a string to the vector + | + | addressof(self, idx) + | Returns the address (as number) of the qstring at the given index + | + | assign(self, other) + | Copies the contents of 'other' to 'self' + | + | clear(self, qclear=False) + | Clears all strings from the vector. + | @param qclear: Just reset the size but do not actually free the memory + | + | from_list(self, lst) + | Populates the vector from a Python string list + | + | insert(self, idx, s) + | Insert a string into the vector + | + | remove(self, idx) + | Removes a string from the vector + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | size + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_idaapi.py_clinked_object_t: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.py_clinked_object_t: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on class boolvec_t in module ida_pro: + +class boolvec_t(__builtin__.object) + | Proxy of C++ qvector< bool > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> bool const & + | + | __init__(self, *args) + | __init__(self) -> boolvec_t + | __init__(self, x) -> boolvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< bool >::iterator + | begin(self) -> qvector< bool >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< bool >::iterator + | end(self) -> qvector< bool >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< bool >::iterator + | erase(self, first, last) -> qvector< bool >::iterator + | + | extract(self, *args) + | extract(self) -> bool * + | + | find(self, *args) + | find(self, x) -> qvector< bool >::iterator + | find(self, x) -> qvector< bool >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=bool()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< bool >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> bool & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_boolvec_t(self) + +Help on class channel_redir_t in module ida_pro: + +class channel_redir_t(__builtin__.object) + | Proxy of C++ channel_redir_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> channel_redir_t + | + | __repr__ = _swig_repr(self) + | + | is_append(self, *args) + | is_append(self) -> bool + | + | is_input(self, *args) + | is_input(self) -> bool + | + | is_output(self, *args) + | is_output(self) -> bool + | + | is_quoted(self, *args) + | is_quoted(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fd + | channel_redir_t_fd_get(self) -> int + | + | file + | channel_redir_t_file_get(self) -> qstring * + | + | flags + | channel_redir_t_flags_get(self) -> int + | + | length + | channel_redir_t_length_get(self) -> int + | + | start + | channel_redir_t_start_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_channel_redir_t(self) + +Help on function check_process_exit in module ida_pro: + +check_process_exit(*args) + check_process_exit(handle, exit_code, msecs=-1) -> int + + + Check whether process has terminated or not. + + @param handle: process handle to wait for (C++: void *) + @param exit_code: pointer to the buffer for the exit code (C++: int *) + +Help on function clear_bits in module ida_pro: + +clear_bits(*args) + clear_bits(bitmap, low, high) + + + Clear bits between [low, high) in 'bitmap'. + + + @param bitmap (C++: uchar *) + @param low (C++: size_t) + @param high (C++: size_t) + +Help on class ea_array in module ida_pro: + +class ea_array(__builtin__.object) + | Proxy of C++ ea_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, index) -> ea_t + | + | __init__(self, *args) + | __init__(self, nelements) -> ea_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, index, value) + | + | cast(self, *args) + | cast(self) -> ea_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> ea_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ea_array(self) + +Help on function ea_array_frompointer in module ida_pro: + +ea_array_frompointer(*args) + ea_array_frompointer(t) -> ea_array + +Help on class ea_pointer in module ida_pro: + +class ea_pointer(__builtin__.object) + | Proxy of C++ ea_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ea_pointer + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, value) + | + | cast(self, *args) + | cast(self) -> ea_t * + | + | value(self, *args) + | value(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> ea_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ea_pointer(self) + +Help on function ea_pointer_frompointer in module ida_pro: + +ea_pointer_frompointer(*args) + ea_pointer_frompointer(t) -> ea_pointer + +Help on function extend_sign in module ida_pro: + +extend_sign(*args) + 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) + +Help on class instant_dbgopts_t in module ida_pro: + +class instant_dbgopts_t(__builtin__.object) + | Proxy of C++ instant_dbgopts_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> instant_dbgopts_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _pass + | instant_dbgopts_t__pass_get(self) -> qstring * + | + | attach + | instant_dbgopts_t_attach_get(self) -> bool + | + | debmod + | instant_dbgopts_t_debmod_get(self) -> qstring * + | + | env + | instant_dbgopts_t_env_get(self) -> qstring * + | + | event_id + | instant_dbgopts_t_event_id_get(self) -> int + | + | host + | instant_dbgopts_t_host_get(self) -> qstring * + | + | pid + | instant_dbgopts_t_pid_get(self) -> int + | + | port + | instant_dbgopts_t_port_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_instant_dbgopts_t(self) + +Help on class longlongvec_t in module ida_pro: + +class longlongvec_t(__builtin__.object) + | Proxy of C++ qvector< long long > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> long long const & + | + | __init__(self, *args) + | __init__(self) -> longlongvec_t + | __init__(self, x) -> longlongvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< long long >::iterator + | begin(self) -> qvector< long long >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< long long >::iterator + | end(self) -> qvector< long long >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< long long >::iterator + | erase(self, first, last) -> qvector< long long >::iterator + | + | extract(self, *args) + | extract(self) -> long long * + | + | find(self, *args) + | find(self, x) -> qvector< long long >::iterator + | find(self, x) -> qvector< long long >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< long long >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> long long & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_longlongvec_t(self) + +Help on class int_pointer in module ida_pro: + +class int_pointer(__builtin__.object) + | Proxy of C++ int_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> int_pointer + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, value) + | + | cast(self, *args) + | cast(self) -> int * + | + | value(self, *args) + | value(self) -> int + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> int_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_int_pointer(self) + +Help on function int_pointer_frompointer in module ida_pro: + +int_pointer_frompointer(*args) + int_pointer_frompointer(t) -> int_pointer + +Help on class intvec_t in module ida_pro: + +class intvec_t(__builtin__.object) + | Proxy of C++ qvector< int > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> int const & + | + | __init__(self, *args) + | __init__(self) -> intvec_t + | __init__(self, x) -> intvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< int >::iterator + | begin(self) -> qvector< int >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< int >::iterator + | end(self) -> qvector< int >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< int >::iterator + | erase(self, first, last) -> qvector< int >::iterator + | + | extract(self, *args) + | extract(self) -> int * + | + | find(self, *args) + | find(self, x) -> qvector< int >::iterator + | find(self, x) -> qvector< int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< int >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> int & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_intvec_t(self) + +Help on function is_control_tty in module ida_pro: + +is_control_tty(*args) + 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) + +Help on function is_main_thread in module ida_pro: + +is_main_thread(*args) + is_main_thread() -> bool + + + Are we running in the main thread? + +Help on function log2ceil in module ida_pro: + +log2ceil(*args) + log2ceil(d64) -> int + + + calculate ceil(log2(d64)) or floor(log2(d64)), it returns 0 if d64 == + 0 + + @param d64 (C++: uint64) + +Help on function log2floor in module ida_pro: + +log2floor(*args) + log2floor(d64) -> int + +Help on function parse_dbgopts in module ida_pro: + +parse_dbgopts(*args) + 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 *) + @param r_switch (C++: const char *) + @return: true-ok, false-parse error + +Help on function qatoll in module ida_pro: + +qatoll(*args) + qatoll(nptr) -> int64 + +Help on function qcontrol_tty in module ida_pro: + +qcontrol_tty(*args) + qcontrol_tty() + + + Make the current terminal the controlling terminal of the calling + process.The current terminal is supposed to be /dev/tty + +Help on function qdetach_tty in module ida_pro: + +qdetach_tty(*args) + qdetach_tty() + + + If the current terminal is the controlling terminal of the calling + process, give up this controlling terminal.The current terminal is + supposed to be /dev/tty + +Help on function qexit in module ida_pro: + +qexit(*args) + qexit(code) + + + Call qatexit functions, shut down UI and kernel, and exit. + + @param code: exit code (C++: int) + +Help on class qmutex_locker_t in module ida_pro: + +class qmutex_locker_t(__builtin__.object) + | Proxy of C++ qmutex_locker_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _lock) -> qmutex_locker_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qmutex_locker_t(self) + +Help on class qrefcnt_obj_t in module ida_pro: + +class qrefcnt_obj_t(__builtin__.object) + | Proxy of C++ qrefcnt_obj_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | release(self, *args) + | release(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | refcnt + | qrefcnt_obj_t_refcnt_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_qrefcnt_obj_t(self) + +Help on function qstrvec_t_add in module ida_pro: + +qstrvec_t_add(*args) + qstrvec_t_add(_self, s) -> bool + +Help on function qstrvec_t_addressof in module ida_pro: + +qstrvec_t_addressof(*args) + qstrvec_t_addressof(_self, idx) -> PyObject * + +Help on function qstrvec_t_assign in module ida_pro: + +qstrvec_t_assign(*args) + qstrvec_t_assign(_self, other) -> bool + +Help on function qstrvec_t_clear in module ida_pro: + +qstrvec_t_clear(*args) + qstrvec_t_clear(_self, qclear) -> bool + +Help on function qstrvec_t_create in module ida_pro: + +qstrvec_t_create(*args) + qstrvec_t_create() -> PyObject * + +Help on function qstrvec_t_destroy in module ida_pro: + +qstrvec_t_destroy(*args) + qstrvec_t_destroy(py_obj) -> bool + +Help on function qstrvec_t_from_list in module ida_pro: + +qstrvec_t_from_list(*args) + qstrvec_t_from_list(_self, py_list) -> bool + +Help on function qstrvec_t_get in module ida_pro: + +qstrvec_t_get(*args) + qstrvec_t_get(_self, idx) -> PyObject * + +Help on function qstrvec_t_get_clink in module ida_pro: + +qstrvec_t_get_clink(*args) + qstrvec_t_get_clink(_self) -> qstrvec_t * + +Help on function qstrvec_t_get_clink_ptr in module ida_pro: + +qstrvec_t_get_clink_ptr(*args) + qstrvec_t_get_clink_ptr(_self) -> PyObject * + +Help on function qstrvec_t_insert in module ida_pro: + +qstrvec_t_insert(*args) + qstrvec_t_insert(_self, idx, s) -> bool + +Help on function qstrvec_t_remove in module ida_pro: + +qstrvec_t_remove(*args) + qstrvec_t_remove(_self, idx) -> bool + +Help on function qstrvec_t_set in module ida_pro: + +qstrvec_t_set(*args) + qstrvec_t_set(_self, idx, s) -> bool + +Help on function qstrvec_t_size in module ida_pro: + +qstrvec_t_size(*args) + qstrvec_t_size(_self) -> size_t + +Help on function quote_cmdline_arg in module ida_pro: + +quote_cmdline_arg(*args) + 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' + +Help on function qvector_reserve in module ida_pro: + +qvector_reserve(*args) + qvector_reserve(vec, old, cnt, elsize) -> void * + + + Change capacity of given qvector. + + @param vec: a pointer to a qvector (C++: void *) + @param old: a pointer to the qvector's array (C++: void *) + @param cnt: number of elements to reserve (C++: size_t) + @param elsize: size of each element (C++: size_t) + @return: a pointer to the newly allocated array + +Help on function readbytes in module ida_pro: + +readbytes(*args) + readbytes(h, res, size, mf) -> int + + + Read at most 4 bytes from file. + + @param h: file handle (C++: int) + @param res: value read from file (C++: uint32 *) + @param size: size of value in bytes (1,2,4) (C++: int) + @param mf: is MSB first? (C++: bool) + @return: 0 on success, nonzero otherwise + +Help on function reloc_value in module ida_pro: + +reloc_value(*args) + reloc_value(value, size, delta, mf) + +Help on function relocate_relobj in module ida_pro: + +relocate_relobj(*args) + relocate_relobj(_relobj, ea, mf) -> bool + +Help on class sel_array in module ida_pro: + +class sel_array(__builtin__.object) + | Proxy of C++ sel_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, index) -> sel_t + | + | __init__(self, *args) + | __init__(self, nelements) -> sel_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, index, value) + | + | cast(self, *args) + | cast(self) -> sel_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> sel_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sel_array(self) + +Help on function sel_array_frompointer in module ida_pro: + +sel_array_frompointer(*args) + sel_array_frompointer(t) -> sel_array + +Help on class sel_pointer in module ida_pro: + +class sel_pointer(__builtin__.object) + | Proxy of C++ sel_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sel_pointer + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, value) + | + | cast(self, *args) + | cast(self) -> sel_t * + | + | value(self, *args) + | value(self) -> sel_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> sel_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sel_pointer(self) + +Help on function sel_pointer_frompointer in module ida_pro: + +sel_pointer_frompointer(*args) + sel_pointer_frompointer(t) -> sel_pointer + +Help on function set_bits in module ida_pro: + +set_bits(*args) + set_bits(bitmap, low, high) + + + Set bits between [low, high) in 'bitmap'. + + + @param bitmap (C++: uchar *) + @param low (C++: size_t) + @param high (C++: size_t) + +Help on class sizevec_t in module ida_pro: + +class sizevec_t(__builtin__.object) + | Proxy of C++ qvector< size_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> size_t const & + | + | __init__(self, *args) + | __init__(self) -> sizevec_t + | __init__(self, x) -> sizevec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> size_t const & + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< size_t >::iterator + | begin(self) -> qvector< size_t >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< size_t >::iterator + | end(self) -> qvector< size_t >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< size_t >::iterator + | erase(self, first, last) -> qvector< size_t >::iterator + | + | extract(self, *args) + | extract(self) -> size_t * + | + | find(self, *args) + | find(self, x) -> qvector< size_t >::iterator + | find(self, x) -> qvector< size_t >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=size_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< size_t >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> size_t & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sizevec_t(self) + +Help on function str2user in module ida_pro: + +str2user(*args) + str2user(str) -> PyObject * + + + Insert C-style escape characters to string + + @return: new string with escape characters inserted + +Help on class strvec_t in module ida_pro: + +class strvec_t(__builtin__.object) + | Proxy of C++ qvector< simpleline_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> simpleline_t const & + | + | __init__(self, *args) + | __init__(self) -> strvec_t + | __init__(self, x) -> strvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< simpleline_t >::iterator + | begin(self) -> qvector< simpleline_t >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< simpleline_t >::iterator + | end(self) -> qvector< simpleline_t >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< simpleline_t >::iterator + | erase(self, first, last) -> qvector< simpleline_t >::iterator + | + | extract(self, *args) + | extract(self) -> simpleline_t * + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=simpleline_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< simpleline_t >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> simpleline_t & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_strvec_t(self) + +Help on class sval_pointer in module ida_pro: + +class sval_pointer(__builtin__.object) + | Proxy of C++ sval_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sval_pointer + | + | __repr__ = _swig_repr(self) + | + | assign(self, *args) + | assign(self, value) + | + | cast(self, *args) + | cast(self) -> sval_t * + | + | value(self, *args) + | value(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> sval_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sval_pointer(self) + +Help on function sval_pointer_frompointer in module ida_pro: + +sval_pointer_frompointer(*args) + sval_pointer_frompointer(t) -> sval_pointer + +Help on class tid_array in module ida_pro: + +class tid_array(__builtin__.object) + | Proxy of C++ tid_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, index) -> tid_t + | + | __init__(self, *args) + | __init__(self, nelements) -> tid_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, index, value) + | + | cast(self, *args) + | cast(self) -> tid_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> tid_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tid_array(self) + +Help on function tid_array_frompointer in module ida_pro: + +tid_array_frompointer(*args) + tid_array_frompointer(t) -> tid_array + +Help on class uchar_array in module ida_pro: + +class uchar_array(__builtin__.object) + | Proxy of C++ uchar_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, index) -> uchar + | + | __init__(self, *args) + | __init__(self, nelements) -> uchar_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, index, value) + | + | cast(self, *args) + | cast(self) -> uchar * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> uchar_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_uchar_array(self) + +Help on function uchar_array_frompointer in module ida_pro: + +uchar_array_frompointer(*args) + uchar_array_frompointer(t) -> uchar_array + +Help on class ulonglongvec_t in module ida_pro: + +class ulonglongvec_t(__builtin__.object) + | Proxy of C++ qvector< unsigned long long > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> unsigned long long const & + | + | __init__(self, *args) + | __init__(self) -> ulonglongvec_t + | __init__(self, x) -> ulonglongvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< unsigned long long >::iterator + | begin(self) -> qvector< unsigned long long >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< unsigned long long >::iterator + | end(self) -> qvector< unsigned long long >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< unsigned long long >::iterator + | erase(self, first, last) -> qvector< unsigned long long >::iterator + | + | extract(self, *args) + | extract(self) -> unsigned long long * + | + | find(self, *args) + | find(self, x) -> qvector< unsigned long long >::iterator + | find(self, x) -> qvector< unsigned long long >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< unsigned long long >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> unsigned long long & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ulonglongvec_t(self) + +Help on class uintvec_t in module ida_pro: + +class uintvec_t(__builtin__.object) + | Proxy of C++ qvector< unsigned int > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> unsigned int const & + | + | __init__(self, *args) + | __init__(self) -> uintvec_t + | __init__(self, x) -> uintvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< unsigned int >::iterator + | begin(self) -> qvector< unsigned int >::const_iterator + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< unsigned int >::iterator + | end(self) -> qvector< unsigned int >::const_iterator + | + | erase(self, *args) + | erase(self, it) -> qvector< unsigned int >::iterator + | erase(self, first, last) -> qvector< unsigned int >::iterator + | + | extract(self, *args) + | extract(self) -> unsigned int * + | + | find(self, *args) + | find(self, x) -> qvector< unsigned int >::iterator + | find(self, x) -> qvector< unsigned int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< unsigned int >::iterator + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> unsigned int & + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_uintvec_t(self) + +Help on class uval_array in module ida_pro: + +class uval_array(__builtin__.object) + | Proxy of C++ uval_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, index) -> uval_t + | + | __init__(self, *args) + | __init__(self, nelements) -> uval_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, index, value) + | + | cast(self, *args) + | cast(self) -> uval_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) + | frompointer(t) -> uval_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_uval_array(self) + +Help on function uval_array_frompointer in module ida_pro: + +uval_array_frompointer(*args) + uval_array_frompointer(t) -> uval_array + +Help on function writebytes in module ida_pro: + +writebytes(*args) + writebytes(h, l, size, mf) -> int + + + Write at most 4 bytes to file. + + @param h: file handle (C++: int) + @param l: value to write (C++: uint32) + @param size: size of value in bytes (1,2,4) (C++: int) + @param mf: is MSB first? (C++: bool) + @return: 0 on success, nonzero otherwise + +=== ida_pro EPYDOC INJECTIONS === +ida_pro.CP_UTF16 +""" +UTF-16 codepage. +""" + +ida_pro.IDA_SDK_VERSION +""" +IDA SDK v7.4. +""" + +ida_pro.IDBDEC_ESCAPE +""" +convert non-printable characters to C escapes (, \\xNN, \\uNNNN) +""" + +ida_pro.IOREDIR_APPEND +""" +append, do not overwrite the output file +""" + +ida_pro.IOREDIR_INPUT +""" +input redirection +""" + +ida_pro.IOREDIR_OUTPUT +""" +output redirection +""" + +ida_pro.IOREDIR_QUOTED +""" +the file name was quoted +""" + +ida_pro.MAXSTR +""" +maximum string size +""" + +ida_pro.SUBSTCHAR +""" +default char, used if a char cannot be represented in a codepage +""" + +ida_pro.__MF__ +""" +byte sex of our platform (Most significant byte First). 0: little +endian (Intel 80x86). 1: big endian (PowerPC). +""" +=== ida_pro EPYDOC INJECTIONS END === +Help on function forget_problem in module ida_problems: + +forget_problem(*args) + forget_problem(type, ea) -> bool + + + Remove an address from a problem list + + @param type: problem list type (C++: problist_id_t) + @param ea: linear address (C++: ea_t) + @return: success + +Help on function get_problem in module ida_problems: + +get_problem(*args) + get_problem(type, lowea) -> ea_t + + + Get an address from the specified problem list. The address is not + removed from the list. + + @param type: problem list type (C++: problist_id_t) + @param lowea: the returned address will be higher or equal than the + specified address (C++: ea_t) + @return: linear address or BADADDR + +Help on function get_problem_desc in module ida_problems: + +get_problem_desc(*args) + get_problem_desc(t, ea) -> str + + + Get the human-friendly description of the problem, if one was provided + to remember_problem. + + @param t: problem list type. (C++: problist_id_t) + @param ea: linear address. (C++: ea_t) + @return: the message length or -1 if none + +Help on function get_problem_name in module ida_problems: + +get_problem_name(*args) + get_problem_name(type, longname=True) -> char const * + + + Get problem list description. + + + @param type (C++: problist_id_t) + @param longname (C++: bool) + +Help on function is_problem_present in module ida_problems: + +is_problem_present(*args) + 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) + +Help on function remember_problem in module ida_problems: + +remember_problem(*args) + 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: problem list type (C++: problist_id_t) + @param ea: linear address (C++: ea_t) + @param msg: a user-friendly message to be displayed instead of the + default more generic one associated with the type of + problem. Defaults to NULL. (C++: const char *) + +Help on function was_ida_decision in module ida_problems: + +was_ida_decision(*args) + was_ida_decision(ea) -> bool + +Help on class array_of_rangesets in module ida_range: + +class array_of_rangesets(__builtin__.object) + | Proxy of C++ qvector< rangeset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> rangeset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_rangesets + | __init__(self, x) -> array_of_rangesets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> rangeset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> rangeset_t + | begin(self) -> rangeset_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> rangeset_t + | end(self) -> rangeset_t + | + | erase(self, *args) + | erase(self, it) -> rangeset_t + | erase(self, first, last) -> rangeset_t + | + | extract(self, *args) + | extract(self) -> rangeset_t + | + | find(self, *args) + | find(self, x) -> rangeset_t + | find(self, x) -> rangeset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=rangeset_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> rangeset_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> rangeset_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_array_of_rangesets(self) + +Help on class range_t in module ida_range: + +class range_t(__builtin__.object) + | Proxy of C++ range_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> range_t + | __init__(self, ea1, ea2) -> range_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_range_t(self) + +Help on function range_t_print in module ida_range: + +range_t_print(*args) + range_t_print(cb) -> str + + + Helper function. Should not be called directly! + +Help on class rangeset_t in module ida_range: + +class rangeset_t(__builtin__.object) + | Proxy of C++ rangeset_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, aset) -> bool + | + | __getitem__(self, idx) + | + | __init__(self, *args) + | __init__(self) -> rangeset_t + | __init__(self, range) -> rangeset_t + | __init__(self, ivs) -> rangeset_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = nranges(self, *args) + | + | __ne__(self, *args) + | __ne__(self, aset) -> bool + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self) -> size_t + | + | add(self, *args) + | add(self, range) -> bool + | add(self, start, _end) -> bool + | add(self, aset) -> bool + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | cached_range(self, *args) + | cached_range(self) -> range_t + | + | clear(self, *args) + | clear(self) + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, aset) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | find_range(self, *args) + | find_range(self, ea) -> range_t + | + | getrange(self, *args) + | getrange(self, idx) -> range_t + | + | has_common(self, *args) + | has_common(self, range) -> bool + | has_common(self, aset) -> bool + | + | includes(self, *args) + | includes(self, range) -> bool + | + | intersect(self, *args) + | intersect(self, aset) -> bool + | + | is_equal(self, *args) + | is_equal(self, aset) -> bool + | + | is_subset_of(self, *args) + | is_subset_of(self, aset) -> bool + | + | lastrange(self, *args) + | lastrange(self) -> range_t + | + | next_addr(self, *args) + | next_addr(self, ea) -> ea_t + | + | next_range(self, *args) + | next_range(self, ea) -> ea_t + | + | nranges(self, *args) + | nranges(self) -> size_t + | + | prev_addr(self, *args) + | prev_addr(self, ea) -> ea_t + | + | prev_range(self, *args) + | prev_range(self, ea) -> ea_t + | + | sub(self, *args) + | sub(self, range) -> bool + | sub(self, ea) -> bool + | sub(self, aset) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rangeset_t(self) + +Help on class rangevec_base_t in module ida_range: + +class rangevec_base_t(__builtin__.object) + | Proxy of C++ qvector< range_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __init__(self, *args) + | __init__(self) -> rangevec_base_t + | __init__(self, x) -> rangevec_base_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rangevec_base_t(self) + +Help on class rangevec_t in module ida_range: + +class rangevec_t(rangevec_base_t) + | Proxy of C++ rangevec_t class. + | + | Method resolution order: + | rangevec_t + | rangevec_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rangevec_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rangevec_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from rangevec_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function reg_data_type in module ida_registry: + +reg_data_type(*args) + reg_data_type(name, subkey=None) -> regval_type_t + + + Get data type of a given value. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: false if the [key+]value doesn't exist + +Help on function reg_delete in module ida_registry: + +reg_delete(*args) + reg_delete(name, subkey=None) -> bool + + + Delete a value from the registry. + + @param name: value name (C++: const char *) + @param subkey: parent key (C++: const char *) + @return: success + +Help on function reg_delete_subkey in module ida_registry: + +reg_delete_subkey(*args) + reg_delete_subkey(name) -> bool + + + Delete a key from the registry. + + + @param name (C++: const char *) + +Help on function reg_delete_tree in module ida_registry: + +reg_delete_tree(*args) + reg_delete_tree(name) -> bool + + + Delete a subtree from the registry. + + + @param name (C++: const char *) + +Help on function reg_exists in module ida_registry: + +reg_exists(*args) + reg_exists(name, subkey=None) -> bool + + + Is there already a value with the given name? + + @param name: value name (C++: const char *) + @param subkey: parent key (C++: const char *) + +Help on function reg_flush in module ida_registry: + +reg_flush(*args) + reg_flush() + +Help on function reg_load in module ida_registry: + +reg_load(*args) + reg_load() + +Help on function reg_read_binary in module ida_registry: + +reg_read_binary(*args) + reg_read_binary(name, subkey=None) -> PyObject * + + + Read binary data from the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: false if 'data' is not large enough to hold all data present. + in this case 'data' is left untouched. + +Help on function reg_read_bool in module ida_registry: + +reg_read_bool(*args) + reg_read_bool(name, defval, subkey=None) -> bool + + + Read boolean value from the registry. + + @param name: value name (C++: const char *) + @param defval: default value (C++: bool) + @param subkey: key name (C++: const char *) + @return: boolean read from registry, or 'defval' if the read failed + +Help on function reg_read_int in module ida_registry: + +reg_read_int(*args) + reg_read_int(name, defval, subkey=None) -> int + + + Read integer value from the registry. + + @param name: value name (C++: const char *) + @param defval: default value (C++: int) + @param subkey: key name (C++: const char *) + @return: the value read from the registry, or 'defval' if the read + failed + +Help on function reg_read_string in module ida_registry: + +reg_read_string(*args) + reg_read_string(name, subkey=None, _def=None) -> PyObject * + + + Read a string from the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: success + +Help on function reg_read_strlist in module ida_registry: + +reg_read_strlist(*args) + reg_read_strlist(subkey) + + + Retrieve all string values associated with the given key. Also see + 'reg_update_strlist()' . + + @param subkey (C++: const char *) + +Help on function reg_subkey_exists in module ida_registry: + +reg_subkey_exists(*args) + reg_subkey_exists(name) -> bool + + + Is there already a key with the given name? + + + @param name (C++: const char *) + +Help on function reg_subkey_subkeys in module ida_registry: + +reg_subkey_subkeys(*args) + reg_subkey_subkeys(name) -> PyObject * + + + Get all subkey names of given key. + + + @param name (C++: const char *) + +Help on function reg_subkey_values in module ida_registry: + +reg_subkey_values(*args) + reg_subkey_values(name) -> PyObject * + + + Get all value names under given key. + + + @param name (C++: const char *) + +Help on function reg_update_filestrlist in module ida_registry: + +reg_update_filestrlist(*args) + reg_update_filestrlist(subkey, add, maxrecs, rem=None) + + + Update registry with a file list. Case sensitivity will vary depending + on the target OS.'add' and 'rem' must be UTF-8, just like for regular + string operations. + + @param subkey (C++: const char *) + @param add (C++: const char *) + @param maxrecs (C++: size_t) + @param rem (C++: const char *) + +Help on function reg_update_strlist in module ida_registry: + +reg_update_strlist(*args) + reg_update_strlist(subkey, add, maxrecs, rem=None, ignorecase=False) + + + Update list of strings associated with given key. + + @param subkey: key name (C++: const char *) + @param add: string to be added to list, can be NULL (C++: const char + *) + @param maxrecs: limit list to this size (C++: size_t) + @param rem: string to be removed from list, can be NULL (C++: const + char *) + @param ignorecase: ignore case for 'add' and 'rem' (C++: bool) + +Help on function reg_write_binary in module ida_registry: + +reg_write_binary(*args) + reg_write_binary(name, py_bytes, subkey=None) -> PyObject * + + + Write binary data to the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + +Help on function reg_write_bool in module ida_registry: + +reg_write_bool(*args) + reg_write_bool(name, value, subkey=None) + + + Write boolean value to the registry. + + @param name: value name (C++: const char *) + @param value: boolean to write (nonzero = true) (C++: int) + @param subkey: key name (C++: const char *) + +Help on function reg_write_int in module ida_registry: + +reg_write_int(*args) + reg_write_int(name, value, subkey=None) + + + Write integer value to the registry. + + @param name: value name (C++: const char *) + @param value: value to write (C++: int) + @param subkey: key name (C++: const char *) + +Help on function reg_write_string in module ida_registry: + +reg_write_string(*args) + reg_write_string(name, utf8, subkey=None) + + + Write a string to the registry. + + @param name: value name (C++: const char *) + @param utf8: utf8-encoded string (C++: const char *) + @param subkey: key name (C++: const char *) + +=== ida_registry EPYDOC INJECTIONS === +ida_registry.ROOT_KEY_NAME +""" +Key used to store IDA settings in registry (Windows version).this name +is automatically prepended to all key names passed to functions in +this file. +""" +=== ida_registry EPYDOC INJECTIONS END === +Help on function find_binary in module ida_search: + +find_binary(*args) + find_binary(arg1, arg2, arg3, arg4, arg5) -> ea_t + +Help on function find_code in module ida_search: + +find_code(*args) + find_code(ea, sflag) -> ea_t + + + Find next code address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_data in module ida_search: + +find_data(*args) + find_data(ea, sflag) -> ea_t + + + Find next data address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_defined in module ida_search: + +find_defined(*args) + 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) + +Help on function find_error in module ida_search: + +find_error(*args) + find_error(ea, sflag) -> ea_t + + + Find next error or problem. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_imm in module ida_search: + +find_imm(*args) + find_imm(newEA, sflag, srchValue) -> ea_t + + + Find next immediate operand with the given value. + + + @param newEA (C++: ea_t) + @param sflag (C++: int) + @param srchValue (C++: uval_t) + +Help on function find_not_func in module ida_search: + +find_not_func(*args) + 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) + +Help on function find_notype in module ida_search: + +find_notype(*args) + find_notype(ea, sflag) -> ea_t + + + Find next operand without any type info. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_suspop in module ida_search: + +find_suspop(*args) + find_suspop(ea, sflag) -> ea_t + + + Find next suspicious operand. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_text in module ida_search: + +find_text(*args) + 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 *) + @param sflag (C++: int) + +Help on function find_unknown in module ida_search: + +find_unknown(*args) + find_unknown(ea, sflag) -> ea_t + + + Find next unexplored address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function search_down in module ida_search: + +search_down(*args) + search_down(sflag) -> bool + + + Is the 'SEARCH_DOWN' bit set? + + + @param sflag (C++: int) + +=== ida_search EPYDOC INJECTIONS === +ida_search.SEARCH_BRK +""" +return 'BADADDR' if Ctrl-Break wass pressed during search +""" + +ida_search.SEARCH_CASE +""" +case-sensitive search (case-insensitive otherwise) +""" + +ida_search.SEARCH_DOWN +""" +search towards higher addresses +""" + +ida_search.SEARCH_IDENT +""" +search for an identifier (text search). it means that the characters +before and after the match cannot be is_visible_char(). +""" + +ida_search.SEARCH_NEXT +""" +for other find_.. functions it is implicitly set + +useful only for 'search()' and find_binary(). +""" + +ida_search.SEARCH_NOBRK +""" +don't test for ctrl-break to interrupt the search +""" + +ida_search.SEARCH_NOSHOW +""" +don't display the search progress/refresh screen +""" + +ida_search.SEARCH_REGEX +""" +regular expressions in search string (only supported for txt search) +""" + +ida_search.SEARCH_UP +""" +search towards lower addresses +""" +=== ida_search EPYDOC INJECTIONS END === +Help on function add_segm in module ida_segment: + +add_segm(*args) + 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: segment base paragraph. if paragraph can't fit in 16bit, + then a new selector is allocated and mapped to the + paragraph. (C++: ea_t) + @param start: start address of the segment. if start== BADADDR then + start <- to_ea(para,0). (C++: ea_t) + @param end: end address of the segment. end address should be higher + than start address. For emulate empty segments, use + SEG_NULL segment type. If the end address is lower than + start address, then fail. If end== BADADDR , then a + segment up to the next segment will be created (if the + next segment doesn't exist, then 1 byte segment will be + created). If 'end' is too high and the new segment would + overlap the next segment, 'end' is adjusted properly. + (C++: ea_t) + @param name: name of new segment. may be NULL (C++: const char *) + @param sclass: class of the segment. may be NULL. type of the new + segment is modified if class is one of predefined + names: "CODE" -> SEG_CODE "DATA" -> SEG_DATA + "CONST" -> SEG_DATA "STACK" -> SEG_BSS "BSS" -> + SEG_BSS "XTRN" -> SEG_XTRN "COMM" -> SEG_COMM + "ABS" -> SEG_ABSSYM (C++: const char *) + @param flags (C++: int) + +Help on function add_segm_ex in module ida_segment: + +add_segm_ex(*args) + add_segm_ex(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 s: pointer to filled segment structure. segment selector should + have proper mapping (see set_selector() ). if + s.start_ea== BADADDR then s.start_ea <- get_segm_base(&s) + if s.end_ea== BADADDR , then a segment up to the next + segment will be created (if the next segment doesn't exist, + then 1 byte segment will be created). if the s.end_ea < + s.start_ea, then fail. if s.end_ea is too high and the new + segment would overlap the next segment, s.end_ea is adjusted + properly. (C++: segment_t *) + @param name: name of new segment. may be NULL. if specified, the + segment is immediately renamed (C++: const char *) + @param sclass: class of the segment. may be NULL. if specified, the + segment class is immediately changed (C++: const char + *) + @param flags: Add segment flags (C++: int) + +Help on function add_segment_translation in module ida_segment: + +add_segment_translation(*args) + add_segment_translation(segstart, mappedseg) -> bool + + + Add segment translation. + + @param segstart: start address of the segment to add translation to + (C++: ea_t) + @param mappedseg: start address of the overlayed segment (C++: ea_t) + +Help on function allocate_selector in module ida_segment: + +allocate_selector(*args) + 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: a new segment base paragraph (C++: ea_t) + @return: the allocated selector number + +Help on function change_segment_status in module ida_segment: + +change_segment_status(*args) + 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: segment to modify (C++: segment_t *) + @param is_deb_segm: new status of the segment (C++: bool) + @return: Change segment status result codes + +Help on function del_segm in module ida_segment: + +del_segm(*args) + del_segm(ea, flags) -> bool + + + Delete a segment. + + @param ea: any address belonging to the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function del_segment_translations in module ida_segment: + +del_segment_translations(*args) + del_segment_translations(segstart) + + + Delete the translation list + + @param segstart: start address of the segment to delete translation + list (C++: ea_t) + +Help on function del_selector in module ida_segment: + +del_selector(*args) + 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: number of selector to remove from the translation + table (C++: sel_t) + +Help on function find_free_selector in module ida_segment: + +find_free_selector(*args) + find_free_selector() -> sel_t + + + Find first unused selector. + + @return: a number >= 1 + +Help on function find_selector in module ida_segment: + +find_selector(*args) + find_selector(base) -> sel_t + + + Find a selector that has mapping to the specified paragraph. + + @param base: paragraph to search in the translation table (C++: ea_t) + @return: selector value or base + +Help on function get_defsr in module ida_segment: + +get_defsr(*args) + get_defsr(s, reg) -> sel_t + +Help on function get_first_seg in module ida_segment: + +get_first_seg(*args) + get_first_seg() -> segment_t + + + Get pointer to the first segment. + +Help on function get_group_selector in module ida_segment: + +get_group_selector(*args) + get_group_selector(grpsel) -> sel_t + + + Get common selector for a group of segments. + + @param grpsel: selector of group segment (C++: sel_t) + @return: common selector of the group or 'grpsel' if no such group is + found + +Help on function get_last_seg in module ida_segment: + +get_last_seg(*args) + get_last_seg() -> segment_t + + + Get pointer to the last segment. + +Help on function get_next_seg in module ida_segment: + +get_next_seg(*args) + get_next_seg(ea) -> segment_t + + + Get pointer to the next segment. + + + @param ea (C++: ea_t) + +Help on function get_prev_seg in module ida_segment: + +get_prev_seg(*args) + get_prev_seg(ea) -> segment_t + + + Get pointer to the previous segment. + + + @param ea (C++: ea_t) + +Help on function get_segm_base in module ida_segment: + +get_segm_base(*args) + 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: pointer to segment (C++: const segment_t *) + @return: 0 if s == NULL, otherwise segment base linear address + +Help on function get_segm_by_name in module ida_segment: + +get_segm_by_name(*args) + 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: segment name. may be NULL. (C++: const char *) + @return: NULL or pointer to segment structure + +Help on function get_segm_by_sel in module ida_segment: + +get_segm_by_sel(*args) + 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: a segment with the specified selector will be + returned (C++: sel_t) + @return: pointer to segment or NULL + +Help on function get_segm_class in module ida_segment: + +get_segm_class(*args) + get_segm_class(s) -> str + + + Get segment class. Segment class is arbitrary text (max 8 characters). + + @param s: pointer to segment (C++: const segment_t *) + @return: size of segment class (-1 if s==NULL or bufsize<=0) + +Help on function get_segm_name in module ida_segment: + +get_segm_name(*args) + get_segm_name(s, flags=0) -> str + + + Get true segment name by pointer to segment. + + @param s: pointer to segment (C++: const segment_t *) + @param flags: 0-return name as is; 1-substitute bad symbols with _ 1 + corresponds to GN_VISIBLE (C++: int) + @return: size of segment name (-1 if s==NULL) + +Help on function get_segm_num in module ida_segment: + +get_segm_num(*args) + get_segm_num(ea) -> int + + + Get number of segment by address. + + @param ea: linear address belonging to the segment (C++: ea_t) + @return: -1 if no segment occupies the specified address. otherwise + returns number of the specified segment (0.. get_segm_qty() + -1) + +Help on function get_segm_para in module ida_segment: + +get_segm_para(*args) + 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: pointer to segment (C++: const segment_t *) + @return: 0 if s == NULL, the segment base paragraph + +Help on function get_segm_qty in module ida_segment: + +get_segm_qty(*args) + get_segm_qty() -> int + + + Get number of segments. + +Help on function get_segment_alignment in module ida_segment: + +get_segment_alignment(*args) + get_segment_alignment(align) -> char const * + + + Get text representation of segment alignment code. + + @param align (C++: uchar) + @return: text digestable by IBM PC assembler. + +Help on function get_segment_cmt in module ida_segment: + +get_segment_cmt(*args) + get_segment_cmt(s, repeatable) -> str + + + Get segment comment. + + @param s: pointer to segment structure (C++: const segment_t *) + @param repeatable: 0: get regular comment. 1: get repeatable comment. + (C++: bool) + @return: size of comment or -1 + +Help on function get_segment_combination in module ida_segment: + +get_segment_combination(*args) + get_segment_combination(comb) -> char const * + + + Get text representation of segment combination code. + + @param comb (C++: uchar) + @return: text digestable by IBM PC assembler. + +Help on function get_segment_translations in module ida_segment: + +get_segment_translations(*args) + get_segment_translations(transmap, segstart) -> ssize_t + + + Get segment translation list. + + @param transmap: vector of segment start addresses for the translation + list (C++: eavec_t *) + @param segstart: start address of the segment to get information about + (C++: ea_t) + @return: -1 if no translation list or bad segstart. otherwise returns + size of translation list. + +Help on function get_selector_qty in module ida_segment: + +get_selector_qty(*args) + get_selector_qty() -> int + + + Get number of defined selectors. + +Help on function get_visible_segm_name in module ida_segment: + +get_visible_segm_name(*args) + get_visible_segm_name(s) -> str + + + Get segment name by pointer to segment. + + @param s: pointer to segment (C++: const segment_t *) + @return: size of segment name (-1 if s==NULL) + +Help on function getn_selector in module ida_segment: + +getn_selector(*args) + getn_selector(n) -> bool + + + Get description of selector (0.. 'get_selector_qty()' -1) + + + @param n (C++: int) + +Help on function getnseg in module ida_segment: + +getnseg(*args) + getnseg(n) -> segment_t + + + Get pointer to segment by its number.Obsoleted because it can slow + down the debugger (it has to refresh the whole memory segmentation to + calculate the correct answer) + + @param n: segment number in the range (0.. get_segm_qty() -1) (C++: + int) + @return: NULL or pointer to segment structure + +Help on function getseg in module ida_segment: + +getseg(*args) + getseg(ea) -> segment_t + + + Get pointer to segment by linear address. + + @param ea: linear address belonging to the segment (C++: ea_t) + @return: NULL or pointer to segment structure + +Help on function is_finally_visible_segm in module ida_segment: + +is_finally_visible_segm(*args) + is_finally_visible_segm(s) -> bool + + + See 'SFL_HIDDEN' , 'SCF_SHHID_SEGM' . + + + @param s (C++: segment_t *) + +Help on function is_miniidb in module ida_segment: + +is_miniidb(*args) + is_miniidb() -> bool + + + Is the database a miniidb created by the debugger?. + + @return: true if the database contains no segments or only debugger + segments + +Help on function is_segm_locked in module ida_segment: + +is_segm_locked(*args) + is_segm_locked(segm) -> bool + + + Is a segment pointer locked? + + + @param segm (C++: const segment_t *) + +Help on function is_spec_ea in module ida_segment: + +is_spec_ea(*args) + 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: linear address (C++: ea_t) + +Help on function is_spec_segm in module ida_segment: + +is_spec_segm(*args) + is_spec_segm(seg_type) -> bool + + + Has segment a special type?. ( 'SEG_XTRN' , 'SEG_GRP' , 'SEG_ABSSYM' , + 'SEG_COMM' ) + + @param seg_type (C++: uchar) + +Help on function is_visible_segm in module ida_segment: + +is_visible_segm(*args) + is_visible_segm(s) -> bool + + + See 'SFL_HIDDEN' . + + + @param s (C++: segment_t *) + +Help on function lock_segm in module ida_segment: + +lock_segm(*args) + 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 *) + @param lock (C++: bool) + +Help on class lock_segment in module ida_segment: + +class lock_segment(__builtin__.object) + | Proxy of C++ lock_segment class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _segm) -> lock_segment + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lock_segment(self) + +Help on function move_segm in module ida_segment: + +move_segm(*args) + move_segm(s, to, flags=0) -> int + + + 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. 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: segment to move (C++: segment_t *) + @param to: new segment start address (C++: ea_t) + @param flags: Move segment flags (C++: int) + @return: Move segment result codes + +Help on function move_segm_start in module ida_segment: + +move_segm_start(*args) + 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.this function never disables addresses. + + @param ea: any address belonging to the segment (C++: ea_t) + @param newstart: new start address of the segment note that segment + start address should be higher than segment base + linear address. (C++: ea_t) + @param mode: 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) (C++: int) + +Help on function rebase_program in module ida_segment: + +rebase_program(*args) + rebase_program(delta, flags) -> int + + + Rebase the whole program by 'delta' bytes. + + @param delta: number of bytes to move the program (C++: adiff_t) + @param flags: Move segment flags it is recommended to use + MSF_FIXONCE so that the loader takes care of global + variables it stored in the database (C++: int) + @return: Move segment result codes + +Help on function segm_adjust_diff in module ida_segment: + +segm_adjust_diff(*args) + segm_adjust_diff(s, delta) -> adiff_t + + + Truncate and sign extend a delta depending on the segment. + + + @param s (C++: const segment_t *) + @param delta (C++: adiff_t) + +Help on function segm_adjust_ea in module ida_segment: + +segm_adjust_ea(*args) + segm_adjust_ea(s, ea) -> ea_t + + + Truncate an address depending on the segment. + + + @param s (C++: const segment_t *) + @param ea (C++: ea_t) + +Help on class segment_t in module ida_segment: + +class segment_t(ida_range.range_t) + | Proxy of C++ segment_t class. + | + | Method resolution order: + | segment_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> segment_t + | + | __repr__ = _swig_repr(self) + | + | abits(self, *args) + | abits(self) -> int + | + | abytes(self, *args) + | abytes(self) -> int + | + | clr_comorg(self, *args) + | clr_comorg(self) + | + | clr_ob_ok(self, *args) + | clr_ob_ok(self) + | + | comorg(self, *args) + | comorg(self) -> bool + | + | is_header_segm(self, *args) + | is_header_segm(self) -> bool + | + | is_hidden_segtype(self, *args) + | is_hidden_segtype(self) -> bool + | + | is_loader_segm(self, *args) + | is_loader_segm(self) -> bool + | + | is_visible_segm(self, *args) + | is_visible_segm(self) -> bool + | + | ob_ok(self, *args) + | ob_ok(self) -> bool + | + | set_comorg(self, *args) + | set_comorg(self) + | + | set_debugger_segm(self, *args) + | set_debugger_segm(self, debseg) + | + | set_header_segm(self, *args) + | set_header_segm(self, on) + | + | set_hidden_segtype(self, *args) + | set_hidden_segtype(self, hide) + | + | set_loader_segm(self, *args) + | set_loader_segm(self, ldrseg) + | + | set_ob_ok(self, *args) + | set_ob_ok(self) + | + | set_visible_segm(self, *args) + | set_visible_segm(self, visible) + | + | update(self, *args) + | update(self) -> bool + | + | use32(self, *args) + | use32(self) -> bool + | + | use64(self, *args) + | use64(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | align + | segment_t_align_get(self) -> uchar + | + | bitness + | segment_t_bitness_get(self) -> uchar + | + | color + | segment_t_color_get(self) -> bgcolor_t + | + | comb + | segment_t_comb_get(self) -> uchar + | + | defsr + | segment_t_defsr_get(self) -> sel_t [16] + | + | end_ea + | segment_t_end_ea_get(self) -> ea_t + | + | flags + | segment_t_flags_get(self) -> ushort + | + | name + | segment_t_name_get(self) -> uval_t + | + | orgbase + | segment_t_orgbase_get(self) -> uval_t + | + | perm + | segment_t_perm_get(self) -> uchar + | + | sclass + | segment_t_sclass_get(self) -> uval_t + | + | sel + | segment_t_sel_get(self) -> sel_t + | + | start_ea + | segment_t_start_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | type + | segment_t_type_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_segment_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | startEA + +Help on function segtype in module ida_segment: + +segtype(*args) + segtype(ea) -> uchar + + + Get segment type. + + @param ea: any linear address within the segment (C++: ea_t) + @return: Segment types , SEG_UNDF if no segment found at 'ea' + +Help on function sel2ea in module ida_segment: + +sel2ea(*args) + sel2ea(selector) -> ea_t + + + Get mapping of a selector as a linear address. + + @param selector: number of selector to translate to linear address + (C++: sel_t) + @return: linear address the specified selector is mapped to. if there + is no mapping, returns to_ea(selector,0); + +Help on function sel2para in module ida_segment: + +sel2para(*args) + sel2para(selector) -> ea_t + + + Get mapping of a selector. + + @param selector: number of selector to translate (C++: sel_t) + @return: paragraph the specified selector is mapped to. if there is no + mapping, returns 'selector'. + +Help on function set_defsr in module ida_segment: + +set_defsr(*args) + set_defsr(s, reg, value) + +Help on function set_group_selector in module ida_segment: + +set_group_selector(*args) + set_group_selector(grp, sel) -> int + + + Initialize groups. The kernel calls this function at the start of + work.Create a new group of segments (used OMF files). + + @param grp: 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. (C++: + sel_t) + @param sel: common selector of all segments belonging to the segment + You should create all segments within the group with the + same selector value. (C++: sel_t) + @return: 1 ok + +Help on function set_segm_addressing in module ida_segment: + +set_segm_addressing(*args) + 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: pointer to segment (C++: segment_t *) + @param bitness: new addressing mode of segment 2: 64bit segment 1: + 32bit segment 0: 16bit segment (C++: size_t) + @return: success + +Help on function set_segm_base in module ida_segment: + +set_segm_base(*args) + set_segm_base(s, newbase) -> bool + + + Internal function. + + + @param s (C++: segment_t *) + @param newbase (C++: ea_t) + +Help on function set_segm_class in module ida_segment: + +set_segm_class(*args) + set_segm_class(s, sclass, flags=0) -> int + + + Set segment class. + + @param s: pointer to segment (may be NULL) (C++: segment_t *) + @param sclass: segment class (may be NULL). 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 . (C++: const char *) + @param flags (C++: int) + +Help on function set_segm_end in module ida_segment: + +set_segm_end(*args) + 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: any address belonging to the segment (C++: ea_t) + @param newend: new end address of the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function set_segm_name in module ida_segment: + +set_segm_name(*args) + 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: pointer to segment (may be NULL) (C++: segment_t *) + @param name: new segment name (C++: const char *) + @param flags: ADDSEG_IDBENC or 0 (C++: int) + +Help on function set_segm_start in module ida_segment: + +set_segm_start(*args) + 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: any address belonging to the segment (C++: ea_t) + @param newstart: new start address of the segment note that segment + start address should be higher than segment base + linear address. (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function set_segment_cmt in module ida_segment: + +set_segment_cmt(*args) + set_segment_cmt(s, cmt, repeatable) + + + Set segment comment. + + @param s: pointer to segment structure (C++: const segment_t *) + @param cmt: comment string, may be multiline (with ' '). maximal size + is 4096 bytes. Use empty str ("") to delete comment (C++: + const char *) + @param repeatable: 0: set regular comment. 1: set repeatable comment. + (C++: bool) + +Help on function set_segment_translations in module ida_segment: + +set_segment_translations(*args) + set_segment_translations(segstart, transmap) -> bool + + + Set new translation list. + + @param segstart: start address of the segment to add translation to + (C++: ea_t) + @param transmap: vector of segment start addresses for the translation + list. If transmap is empty, the translation list is + deleted. (C++: const eavec_t &) + +Help on function set_selector in module ida_segment: + +set_selector(*args) + set_selector(selector, paragraph) -> int + + + Set mapping of selector to a paragraph. You should call this + functionbeforecreating a segment which uses the selector, otherwise + the creation of the segment will fail. + + @param selector: 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. (C++: sel_t) + @param paragraph: paragraph to map selector (C++: ea_t) + +Help on function set_visible_segm in module ida_segment: + +set_visible_segm(*args) + set_visible_segm(s, visible) + + + See 'SFL_HIDDEN' . + + + @param s (C++: segment_t *) + @param visible (C++: bool) + +Help on function setup_selector in module ida_segment: + +setup_selector(*args) + 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: a new segment base paragraph (C++: ea_t) + @return: the allocated selector number + +Help on function std_out_segm_footer in module ida_segment: + +std_out_segm_footer(*args) + 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 &) + @param seg (C++: segment_t *) + +Help on function take_memory_snapshot in module ida_segment: + +take_memory_snapshot(*args) + take_memory_snapshot(only_loader_segs) -> bool + + + Take a memory snapshot of the running process. + + @param only_loader_segs: only is_loader_segm() segments will be + affected (C++: bool) + @return: success + +Help on function update_segm in module ida_segment: + +update_segm(*args) + update_segm(s) -> bool + +=== ida_segment EPYDOC INJECTIONS === +ida_segment.ADDSEG_FILLGAP +""" +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. +""" + +ida_segment.ADDSEG_IDBENC +""" +non-ASCII bytes will be decoded accordingly + +'name' and 'sclass' are given in the IDB encoding; +""" + +ida_segment.ADDSEG_NOAA +""" +do not mark new segment for auto-analysis +""" + +ida_segment.ADDSEG_NOSREG +""" +(undefine all default segment registers) + +set all default segment register values to 'BADSEL' +""" + +ida_segment.ADDSEG_NOTRUNC +""" +destroy/truncate old segments instead. + +don't truncate the new segment at the beginning of the next segment if +they overlap. +""" + +ida_segment.ADDSEG_OR_DIE +""" + 'qexit()' if can't add a segment +""" + +ida_segment.ADDSEG_QUIET +""" +silent mode, no "Adding segment..." in the messages window +""" + +ida_segment.ADDSEG_SPARSE +""" +use sparse storage method for the new segment +""" + +ida_segment.CSS_BREAK +""" +memory reading process stopped by user +""" + +ida_segment.CSS_NODBG +""" +debugger is not running +""" + +ida_segment.CSS_NOMEM +""" +is too big) + +not enough memory (might be because the segment +""" + +ida_segment.CSS_NORANGE +""" +could not find corresponding memory range +""" + +ida_segment.CSS_OK +""" +ok +""" + +ida_segment.MAX_GROUPS +""" +max number of segment groups +""" + +ida_segment.MAX_SEGM_TRANSLATIONS +""" +max number of segment translations +""" + +ida_segment.MOVE_SEGM_CHUNK +""" +Too many chunks are defined, can't move. +""" + +ida_segment.MOVE_SEGM_DEBUG +""" +Debugger segments cannot be moved. +""" + +ida_segment.MOVE_SEGM_IDP +""" +IDP module forbids moving the segment. +""" + +ida_segment.MOVE_SEGM_LOADER +""" +The segment has been moved but the loader complained. +""" + +ida_segment.MOVE_SEGM_ODD +""" +Cannot move segments by an odd number of bytes. +""" + +ida_segment.MOVE_SEGM_OK +""" +all ok +""" + +ida_segment.MOVE_SEGM_ORPHAN +""" +Orphan bytes hinder segment movement. +""" + +ida_segment.MOVE_SEGM_PARAM +""" +The specified segment does not exist. +""" + +ida_segment.MOVE_SEGM_ROOM +""" +Not enough free room at the target address. +""" + +ida_segment.MSF_FIXONCE +""" +valid for 'rebase_program()' . see 'loader_t::move_segm' . + +call loader only once with the special calling method. +""" + +ida_segment.MSF_LDKEEP +""" +keep the loader in the memory (optimization) +""" + +ida_segment.MSF_NETNODES +""" +valid for 'rebase_program()' + +move netnodes instead of changing inf.netdelta (this is slower) +""" + +ida_segment.MSF_NOFIX +""" +don't call the loader to fix relocations +""" + +ida_segment.MSF_PRIORITY +""" +valid for 'move_segm()' + +loader segments will overwrite any existing debugger segments when +moved. +""" + +ida_segment.MSF_SILENT +""" +don't display a "please wait" box on the screen +""" + +ida_segment.SEGMOD_KEEP +""" +keep information (code & data, etc) +""" + +ida_segment.SEGMOD_KEEP0 +""" +flag for internal use, don't set +""" + +ida_segment.SEGMOD_KEEPSEL +""" +do not try to delete unused selector +""" + +ida_segment.SEGMOD_KILL +""" +disable addresses if segment gets shrinked or deleted +""" + +ida_segment.SEGMOD_NOMOVE +""" +(for 'set_segm_start()' ) + +don't move info from the start of segment to the new start address +""" + +ida_segment.SEGMOD_SILENT +""" +be silent +""" + +ida_segment.SEGMOD_SPARSE +""" +(for 'set_segm_start()' , 'set_segm_end()' ) + +use sparse storage if extending the segment +""" + +ida_segment.SEGPERM_EXEC +""" +Execute. +""" + +ida_segment.SEGPERM_READ +""" +Read. +""" + +ida_segment.SEGPERM_WRITE +""" +Write. +""" + +ida_segment.SEG_ABSSYM +""" +segment with definitions of absolute symbols +""" + +ida_segment.SEG_BSS +""" +uninitialized segment +""" + +ida_segment.SEG_CODE +""" +code segment +""" + +ida_segment.SEG_COMM +""" +segment with communal definitions +""" + +ida_segment.SEG_DATA +""" +data segment +""" + +ida_segment.SEG_GRP +""" +group of segments +""" + +ida_segment.SEG_IMEM +""" +internal processor memory & sfr (8051) +""" + +ida_segment.SEG_IMP +""" +java: implementation segment +""" + +ida_segment.SEG_NORM +""" +unknown type, no assumptions +""" + +ida_segment.SEG_NULL +""" +zero-length segment +""" + +ida_segment.SEG_UNDF +""" +undefined segment type (not used) +""" + +ida_segment.SEG_XTRN +""" +no instructions are allowed + +segment with 'extern' definitions. +""" + +ida_segment.SFL_COMORG +""" +IDP dependent field (IBM PC: if set, ORG directive is not commented +out) +""" + +ida_segment.SFL_DEBUG +""" +Is the segment created for the debugger?. Such segments are temporary +and do not have permanent flags. +""" + +ida_segment.SFL_HEADER +""" +Header segment (do not create offsets to it in the disassembly) +""" + +ida_segment.SFL_HIDDEN +""" +Is the segment hidden? +""" + +ida_segment.SFL_HIDETYPE +""" +Hide segment type (do not print it in the listing) +""" + +ida_segment.SFL_LOADER +""" +Is the segment created by the loader? +""" + +ida_segment.SFL_OBOK +""" +Orgbase is present? (IDP dependent field) +""" + +ida_segment.SREG_NUM +""" +Maximum number of segment registers is 16 (see 'segregs.hpp' ) +""" + +ida_segment.saAbs +""" +Absolute segment. +""" + +ida_segment.saGroup +""" +Segment group. +""" + +ida_segment.saRel1024Bytes +""" +1024 bytes +""" + +ida_segment.saRel128Bytes +""" +128 bytes +""" + +ida_segment.saRel2048Bytes +""" +2048 bytes +""" + +ida_segment.saRel32Bytes +""" +32 bytes +""" + +ida_segment.saRel4K +""" +alignment. It is not supported by LINK. + +This value is used by the PharLap OMF for page (4K) +""" + +ida_segment.saRel512Bytes +""" +512 bytes +""" + +ida_segment.saRel64Bytes +""" +64 bytes +""" + +ida_segment.saRelByte +""" +Relocatable, byte aligned. +""" + +ida_segment.saRelDble +""" +boundary. + +Relocatable, aligned on a double word (4-byte) +""" + +ida_segment.saRelPage +""" +Relocatable, aligned on 256-byte boundary. +""" + +ida_segment.saRelPara +""" +Relocatable, paragraph (16-byte) aligned. +""" + +ida_segment.saRelQword +""" +8 bytes +""" + +ida_segment.saRelWord +""" +Relocatable, word (2-byte) aligned. +""" + +ida_segment.scCommon +""" +Common. Combine by overlay using maximum size. +""" + +ida_segment.scGroup +""" +Segment group. +""" + +ida_segment.scPriv +""" +segment. + +Private. Do not combine with any other program +""" + +ida_segment.scPub +""" +the alignment requirement. + +Public. Combine by appending at an offset that meets +""" + +ida_segment.scPub2 +""" +As defined by Microsoft, same as C=2 (public). +""" + +ida_segment.scPub3 +""" +As defined by Microsoft, same as C=2 (public). +""" + +ida_segment.scStack +""" +byte alignment. + +Stack. Combine as for C=2. This combine type forces +""" +=== ida_segment EPYDOC INJECTIONS END === +Help on function copy_sreg_ranges in module ida_segregs: + +copy_sreg_ranges(*args) + copy_sreg_ranges(dst_rg, src_rg, map_selector=False) + + + Duplicate segment register ranges. + + @param dst_rg: number of destination segment register (C++: int) + @param src_rg: copy ranges from (C++: int) + @param map_selector: map selectors to linear addresses using sel2ea() + (C++: bool) + +Help on function del_sreg_range in module ida_segregs: + +del_sreg_range(*args) + 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: start_ea of the deleted range (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_prev_sreg_range in module ida_segregs: + +get_prev_sreg_range(*args) + get_prev_sreg_range(out, ea, rg) -> bool + + + Get segment register range previous to one with address.more efficient + then get_sreg_range(reg, ea-1) + + @param out: segment register range (C++: sreg_range_t *) + @param ea: any linear address in the program (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_sreg in module ida_segregs: + +get_sreg(*args) + 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: linear address in the program (C++: ea_t) + @param rg: number of the segment register (C++: int) + @return: value of the segment register, BADSEL if value is unknown. + +Help on function get_sreg_range in module ida_segregs: + +get_sreg_range(*args) + get_sreg_range(out, ea, rg) -> bool + + + Get segment register range by linear address. + + @param out: segment register range (C++: sreg_range_t *) + @param ea: any linear address in the program (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_sreg_range_num in module ida_segregs: + +get_sreg_range_num(*args) + get_sreg_range_num(ea, rg) -> int + + + Get number of segment register range by address. + + @param ea: any address in the range (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: -1 if no range occupies the specified address. otherwise + returns number of the specified range + (0..get_srranges_qty()-1) + +Help on function get_sreg_ranges_qty in module ida_segregs: + +get_sreg_ranges_qty(*args) + get_sreg_ranges_qty(rg) -> size_t + + + Get number of segment register ranges. + + @param rg: the segment register number (C++: int) + +Help on function getn_sreg_range in module ida_segregs: + +getn_sreg_range(*args) + getn_sreg_range(out, rg, n) -> bool + + + Get segment register range by its number. + + @param out: segment register range (C++: sreg_range_t *) + @param rg: the segment register number (C++: int) + @param n: number of range (0..qty()-1) (C++: int) + @return: success + +Help on function set_default_dataseg in module ida_segregs: + +set_default_dataseg(*args) + set_default_dataseg(ds_sel) + + + Set default value of DS register for all segments. + + + @param ds_sel (C++: sel_t) + +Help on function set_default_sreg_value in module ida_segregs: + +set_default_sreg_value(*args) + set_default_sreg_value(sg, rg, value) -> bool + + + Set default value of a segment register for a segment. + + @param sg: pointer to segment structure if NULL, then set the register + for all segments (C++: segment_t *) + @param rg: number of segment register (C++: int) + @param value: its default value. this value will be used by + get_sreg() if value of the register is unknown at the + specified address. (C++: sel_t) + @return: success + +Help on function set_sreg_at_next_code in module ida_segregs: + +set_sreg_at_next_code(*args) + 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: address to start to search for an instruction (C++: ea_t) + @param ea2: the maximal address (C++: ea_t) + @param rg: the segment register number (C++: int) + @param value: the segment register value (C++: sel_t) + +Help on function split_sreg_range in module ida_segregs: + +split_sreg_range(*args) + 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: linear address where the segment register will have a new + value. if ea== BADADDR , nothing to do. (C++: ea_t) + @param rg: the number of the segment register (C++: int) + @param v: the new value of the segment register. If the value is + unknown, you should specify BADSEL . (C++: sel_t) + @param tag: the register info tag. see Segment register range tags + (C++: uchar) + @param silent: if false, display a warning() in the case of failure + (C++: bool) + @return: success + +Help on class sreg_range_t in module ida_segregs: + +class sreg_range_t(ida_range.range_t) + | Proxy of C++ sreg_range_t class. + | + | Method resolution order: + | sreg_range_t + | ida_range.range_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sreg_range_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | tag + | sreg_range_t_tag_get(self) -> uchar + | + | thisown + | The membership flag + | + | val + | sreg_range_t_val_get(self) -> sel_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_sreg_range_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _print(self, *args) + | _print(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | contains(self, *args) + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) + | empty(self) -> bool + | + | extend(self, *args) + | extend(self, ea) + | + | intersect(self, *args) + | intersect(self, r) + | + | overlaps(self, *args) + | overlaps(self, r) -> bool + | + | size(self, *args) + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +=== ida_segregs EPYDOC INJECTIONS === +ida_segregs.SR_auto +""" +the value is determined by IDA +""" + +ida_segregs.SR_autostart +""" +used as 'SR_auto' for segment starting address +""" + +ida_segregs.SR_inherit +""" +the value is inherited from the previous range +""" + +ida_segregs.SR_user +""" +the value is specified by the user +""" +=== ida_segregs EPYDOC INJECTIONS END === +Help on function build_strlist in module ida_strlist: + +build_strlist(*args) + build_strlist() + + + Build the string list. You should initialize options before this call + using the restore_config() or setup_strings_window() methods. + +Help on function clear_strlist in module ida_strlist: + +clear_strlist(*args) + clear_strlist() + + + Clear the string list. + +Help on function get_strlist_item in module ida_strlist: + +get_strlist_item(*args) + 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) + +Help on function get_strlist_options in module ida_strlist: + +get_strlist_options(*args) + get_strlist_options() -> strwinsetup_t + + + Get access to the static string list options. + +Help on function get_strlist_qty in module ida_strlist: + +get_strlist_qty(*args) + get_strlist_qty() -> size_t + + + Get number of elements in the string list. + +Help on class string_info_t in module ida_strlist: + +class string_info_t(__builtin__.object) + | Proxy of C++ string_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> string_info_t + | __init__(self, _ea) -> string_info_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | string_info_t_ea_get(self) -> ea_t + | + | length + | string_info_t_length_get(self) -> int + | + | thisown + | The membership flag + | + | type + | string_info_t_type_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_string_info_t(self) + +Help on class strwinsetup_t in module ida_strlist: + +class strwinsetup_t(__builtin__.object) + | Proxy of C++ strwinsetup_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strwinsetup_t + | + | __repr__ = _swig_repr(self) + | + | _get_strtypes(self, *args) + | _get_strtypes(self) -> PyObject * + | + | _set_strtypes(self, *args) + | _set_strtypes(self, py_t) -> PyObject * + | + | is_initialized(self, *args) + | is_initialized(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | display_only_existing_strings + | strwinsetup_t_display_only_existing_strings_get(self) -> uchar + | + | ignore_heads + | strwinsetup_t_ignore_heads_get(self) -> uchar + | + | minlen + | strwinsetup_t_minlen_get(self) -> sval_t + | + | only_7bit + | strwinsetup_t_only_7bit_get(self) -> uchar + | + | strtypes + | _get_strtypes(self) -> PyObject * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_strwinsetup_t(self) + +Help on function add_struc in module ida_struct: + +add_struc(*args) + add_struc(idx, name, is_union=False) -> tid_t + + + Create a structure type. if idx== 'BADADDR' then add as the last idx. + if name==NULL then a name will be generated "struct_%d". + + @param idx (C++: uval_t) + @param name (C++: const char *) + @param is_union (C++: bool) + +Help on function add_struc_member in module ida_struct: + +add_struc_member(*args) + add_struc_member(sptr, fieldname, offset, flag, mt, nbytes) -> struc_error_t + + + Add member to existing structure. + + @param sptr: structure to modify (C++: struc_t *) + @param fieldname: if NULL, then "anonymous_#" name will be generated + (C++: const char *) + @param offset: BADADDR means add to the end of structure (C++: ea_t) + @param flag: type + representation bits (C++: flags_t) + @param mt: additional info about member type. must be present for + structs, offsets, enums, strings, struct offsets. (C++: + const opinfo_t *) + @param nbytes: if == 0 then the structure will be a varstruct. in this + case the member should be the last member in the + structure (C++: asize_t) + +Help on function del_member_tinfo in module ida_struct: + +del_member_tinfo(*args) + del_member_tinfo(sptr, mptr) -> bool + + + Delete tinfo for given member. + + + @param sptr (C++: struc_t *) + @param mptr (C++: member_t *) + +Help on function del_struc in module ida_struct: + +del_struc(*args) + del_struc(sptr) -> bool + + + Delete a structure type. + + + @param sptr (C++: struc_t *) + +Help on function del_struc_member in module ida_struct: + +del_struc_member(*args) + del_struc_member(sptr, offset) -> bool + + + Delete member at given offset. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + +Help on function del_struc_members in module ida_struct: + +del_struc_members(*args) + del_struc_members(sptr, off1, off2) -> int + + + Delete members which occupy range of offsets (off1..off2). + + @param sptr (C++: struc_t *) + @param off1 (C++: ea_t) + @param off2 (C++: ea_t) + @return: number of deleted members or -1 on error + +Help on function expand_struc in module ida_struct: + +expand_struc(*args) + expand_struc(sptr, offset, delta, recalc=True) -> bool + + + Expand/Shrink structure type. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param delta (C++: adiff_t) + @param recalc (C++: bool) + +Help on function get_best_fit_member in module ida_struct: + +get_best_fit_member(*args) + get_best_fit_member(sptr, offset) -> member_t + + + Get member that is most likely referenced by the specified offset. + Useful for offsets > sizeof(struct). + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_first_struc_idx in module ida_struct: + +get_first_struc_idx(*args) + get_first_struc_idx() -> uval_t + + + Get index of first structure. + + @return: BADADDR if no known structures, 0 otherwise + +Help on function get_last_struc_idx in module ida_struct: + +get_last_struc_idx(*args) + get_last_struc_idx() -> uval_t + + + Get index of last structure. + + @return: BADADDR if no known structures, get_struc_qty() -1 + otherwise + +Help on function get_max_offset in module ida_struct: + +get_max_offset(*args) + get_max_offset(sptr) -> ea_t + + + For unions: returns number of members, for structs: returns size of + structure. + + + @param sptr (C++: struc_t *) + +Help on function get_member in module ida_struct: + +get_member(*args) + get_member(sptr, offset) -> member_t + + + Get member at given offset. + + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_member_by_fullname in module ida_struct: + +get_member_by_fullname(*args) + get_member_by_fullname(fullname) -> member_t + + + Get a member by its fully qualified name, "struct.field". + + + @param fullname (C++: const char *) + +Help on function get_member_by_id in module ida_struct: + +get_member_by_id(*args) + get_member_by_id(mid) -> member_t + + + Check if the specified member id points to a struct member. + + + @param mid (C++: tid_t) + +Help on function get_member_by_name in module ida_struct: + +get_member_by_name(*args) + get_member_by_name(sptr, membername) -> member_t + + + Get a member by its name, like "field44". + + + @param sptr (C++: const struc_t *) + @param membername (C++: const char *) + +Help on function get_member_cmt in module ida_struct: + +get_member_cmt(*args) + get_member_cmt(mid, repeatable) -> str + + + Get comment of structure member. + + + @param mid (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_member_fullname in module ida_struct: + +get_member_fullname(*args) + get_member_fullname(mid) -> str + + + Get a member's fully qualified name, "struct.field". + + + @param mid (C++: tid_t) + +Help on function get_member_id in module ida_struct: + +get_member_id(*args) + get_member_id(sptr, offset) -> tid_t + + + Get member id at given offset. + + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_member_name in module ida_struct: + +get_member_name(*args) + get_member_name(mid) -> str + + + Get name of structure member. + + + @param mid (C++: tid_t) + +Help on function get_member_size in module ida_struct: + +get_member_size(*args) + get_member_size(nonnul_mptr) -> asize_t + + + Get size of structure member. May return 0 for the last member of + varstruct. For union members, returns 'member_t::eoff' . + +Help on function get_member_struc in module ida_struct: + +get_member_struc(*args) + get_member_struc(fullname) -> struc_t + + + Get containing structure of member by its full name "struct.field". + + + @param fullname (C++: const char *) + +Help on function get_member_tinfo in module ida_struct: + +get_member_tinfo(*args) + get_member_tinfo(tif, mptr) -> bool + + + Get tinfo for given member. + + + @param tif (C++: tinfo_t *) + @param mptr (C++: const member_t *) + +Help on function get_next_member_idx in module ida_struct: + +get_next_member_idx(*args) + get_next_member_idx(sptr, off) -> ssize_t + + + Get the next member idx, if it does not exist, return -1. + + + @param sptr (C++: const struc_t *) + @param off (C++: asize_t) + +Help on function get_next_struc_idx in module ida_struct: + +get_next_struc_idx(*args) + get_next_struc_idx(idx) -> uval_t + + + Get next struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is out of bounds, otherwise idx++ + +Help on function get_or_guess_member_tinfo in module ida_struct: + +get_or_guess_member_tinfo(*args) + get_or_guess_member_tinfo(tif, mptr) -> bool + + + Try to get tinfo for given member - if failed, generate a tinfo using + information about the member id from the disassembly + + @param tif (C++: tinfo_t *) + @param mptr (C++: const member_t *) + +Help on function get_prev_member_idx in module ida_struct: + +get_prev_member_idx(*args) + get_prev_member_idx(sptr, off) -> ssize_t + + + Get the prev member idx, if it does not exist, return -1. + + + @param sptr (C++: const struc_t *) + @param off (C++: asize_t) + +Help on function get_prev_struc_idx in module ida_struct: + +get_prev_struc_idx(*args) + get_prev_struc_idx(idx) -> uval_t + + + Get previous struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is negative, otherwise idx - 1 + +Help on function get_sptr in module ida_struct: + +get_sptr(*args) + get_sptr(mptr) -> struc_t + + + Get child struct if member is a struct. + + + @param mptr (C++: const member_t *) + +Help on function get_struc in module ida_struct: + +get_struc(*args) + get_struc(id) -> struc_t + + + Get pointer to struct type info. + + + @param id (C++: tid_t) + +Help on function get_struc_by_idx in module ida_struct: + +get_struc_by_idx(*args) + get_struc_by_idx(idx) -> tid_t + + + Get struct id by struct number. + + + @param idx (C++: uval_t) + +Help on function get_struc_cmt in module ida_struct: + +get_struc_cmt(*args) + get_struc_cmt(id, repeatable) -> str + + + Get struct comment. + + + @param id (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_struc_first_offset in module ida_struct: + +get_struc_first_offset(*args) + get_struc_first_offset(sptr) -> ea_t + + + Get offset of first member. + + @param sptr (C++: const struc_t *) + @return: BADADDR if memqty == 0 + +Help on function get_struc_id in module ida_struct: + +get_struc_id(*args) + get_struc_id(name) -> tid_t + + + Get struct id by name. + + + @param name (C++: const char *) + +Help on function get_struc_idx in module ida_struct: + +get_struc_idx(*args) + get_struc_idx(id) -> uval_t + + + Get internal number of the structure. + + + @param id (C++: tid_t) + +Help on function get_struc_last_offset in module ida_struct: + +get_struc_last_offset(*args) + get_struc_last_offset(sptr) -> ea_t + + + Get offset of last member. + + @param sptr (C++: const struc_t *) + @return: BADADDR if memqty == 0 + +Help on function get_struc_name in module ida_struct: + +get_struc_name(*args) + get_struc_name(id, flags=0) -> str + + + Get struct name by id + + @param id: struct id (C++: tid_t) + @param flags: Struct name flags (C++: int) + +Help on function get_struc_next_offset in module ida_struct: + +get_struc_next_offset(*args) + get_struc_next_offset(sptr, offset) -> ea_t + + + Get offset of member with smallest offset larger than 'offset'. + + @param sptr (C++: const struc_t *) + @param offset (C++: ea_t) + @return: BADADDR if no next offset + +Help on function get_struc_prev_offset in module ida_struct: + +get_struc_prev_offset(*args) + get_struc_prev_offset(sptr, offset) -> ea_t + + + Get offset of member with largest offset less than 'offset'. + + @param sptr (C++: const struc_t *) + @param offset (C++: ea_t) + @return: BADADDR if no prev offset + +Help on function get_struc_qty in module ida_struct: + +get_struc_qty(*args) + get_struc_qty() -> size_t + + + Get number of known structures. + +Help on function get_struc_size in module ida_struct: + +get_struc_size(*args) + get_struc_size(sptr) -> asize_t + get_struc_size(id) -> asize_t + + + Get struct size (also see 'get_struc_size(tid_t)' ) + + + @param sptr (C++: const struc_t *) + +Help on function is_anonymous_member_name in module ida_struct: + +is_anonymous_member_name(*args) + is_anonymous_member_name(name) -> bool + + + Is member name prefixed with "anonymous"? + + + @param name (C++: const char *) + +Help on function is_dummy_member_name in module ida_struct: + +is_dummy_member_name(*args) + is_dummy_member_name(name) -> bool + + + Is member name an auto-generated name? + + + @param name (C++: const char *) + +Help on function is_member_id in module ida_struct: + +is_member_id(*args) + is_member_id(mid) -> bool + + + Is a member id? + + + @param mid (C++: tid_t) + +Help on function is_special_member in module ida_struct: + +is_special_member(*args) + is_special_member(id) -> bool + + + Is a special member with the name beginning with ' '? + + + @param id (C++: tid_t) + +Help on function is_union in module ida_struct: + +is_union(*args) + is_union(id) -> bool + + + Is a union? + + + @param id (C++: tid_t) + +Help on function is_varmember in module ida_struct: + +is_varmember(*args) + is_varmember(mptr) -> bool + + + Is variable size member? + + + @param mptr (C++: const member_t *) + +Help on function is_varstr in module ida_struct: + +is_varstr(*args) + is_varstr(id) -> bool + + + Is variable size structure? + + + @param id (C++: tid_t) + +Help on class member_t in module ida_struct: + +class member_t(__builtin__.object) + | Proxy of C++ member_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> member_t + | + | __repr__ = _swig_repr(self) + | + | by_til(self, *args) + | by_til(self) -> bool + | + | get_soff(self, *args) + | get_soff(self) -> ea_t + | + | has_ti(self, *args) + | has_ti(self) -> bool + | + | has_union(self, *args) + | has_union(self) -> bool + | + | is_baseclass(self, *args) + | is_baseclass(self) -> bool + | + | is_destructor(self, *args) + | is_destructor(self) -> bool + | + | is_dupname(self, *args) + | is_dupname(self) -> bool + | + | unimem(self, *args) + | unimem(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | eoff + | member_t_eoff_get(self) -> ea_t + | + | flag + | member_t_flag_get(self) -> flags_t + | + | id + | member_t_id_get(self) -> tid_t + | + | props + | member_t_props_get(self) -> uint32 + | + | soff + | member_t_soff_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_member_t(self) + +Help on function retrieve_member_info in module ida_struct: + +retrieve_member_info(*args) + retrieve_member_info(buf, mptr) -> opinfo_t + + + Get operand type info for member. + + + @param buf (C++: opinfo_t *) + @param mptr (C++: const member_t *) + +Help on function save_struc in module ida_struct: + +save_struc(*args) + save_struc(sptr, may_update_ltypes=True) + + + Update struct information in the database (internal function) + + + @param sptr (C++: struc_t *) + @param may_update_ltypes (C++: bool) + +Help on function set_member_cmt in module ida_struct: + +set_member_cmt(*args) + set_member_cmt(mptr, cmt, repeatable) -> bool + + + Set member comment. + + + @param mptr (C++: member_t *) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_member_name in module ida_struct: + +set_member_name(*args) + set_member_name(sptr, offset, name) -> bool + + + Set name of member at given offset. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param name (C++: const char *) + +Help on function set_member_tinfo in module ida_struct: + +set_member_tinfo(*args) + set_member_tinfo(sptr, mptr, memoff, tif, flags) -> smt_code_t + + + Set tinfo for given member. + + @param sptr: containing struct (C++: struc_t *) + @param mptr: target member (C++: member_t *) + @param memoff: offset within member (C++: uval_t) + @param tif: type info (C++: const tinfo_t &) + @param flags: Set member tinfo flags (C++: int) + +Help on function set_member_type in module ida_struct: + +set_member_type(*args) + set_member_type(sptr, offset, flag, mt, nbytes) -> bool + + + Set type of member at given offset (also see 'add_struc_member()' ) + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param flag (C++: flags_t) + @param mt (C++: const opinfo_t *) + @param nbytes (C++: asize_t) + +Help on function set_struc_align in module ida_struct: + +set_struc_align(*args) + set_struc_align(sptr, shift) -> bool + + + Set structure alignment ( 'SF_ALIGN' ) + + + @param sptr (C++: struc_t *) + @param shift (C++: int) + +Help on function set_struc_cmt in module ida_struct: + +set_struc_cmt(*args) + set_struc_cmt(id, cmt, repeatable) -> bool + + + Set structure comment. + + + @param id (C++: tid_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_struc_hidden in module ida_struct: + +set_struc_hidden(*args) + set_struc_hidden(sptr, is_hidden) + + + Hide/unhide a struct type. + + + @param sptr (C++: struc_t *) + @param is_hidden (C++: bool) + +Help on function set_struc_idx in module ida_struct: + +set_struc_idx(*args) + set_struc_idx(sptr, idx) -> bool + + + Set internal number of struct. Also see 'get_struc_idx()' , + 'get_struc_by_idx()' . + + @param sptr (C++: const struc_t *) + @param idx (C++: uval_t) + +Help on function set_struc_listed in module ida_struct: + +set_struc_listed(*args) + set_struc_listed(sptr, is_listed) + + + Add/remove a struct type from the struct list. + + + @param sptr (C++: struc_t *) + @param is_listed (C++: bool) + +Help on function set_struc_name in module ida_struct: + +set_struc_name(*args) + set_struc_name(id, name) -> bool + + + Set structure name. + + + @param id (C++: tid_t) + @param name (C++: const char *) + +Help on function stroff_as_size in module ida_struct: + +stroff_as_size(*args) + stroff_as_size(plen, sptr, value) -> bool + + + Should display a structure offset expression as the structure size? + + + @param plen (C++: int) + @param sptr (C++: const struc_t *) + @param value (C++: asize_t) + +Help on class struc_t in module ida_struct: + +class struc_t(__builtin__.object) + | Proxy of C++ struc_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | from_til(self, *args) + | from_til(self) -> bool + | + | get_alignment(self, *args) + | get_alignment(self) -> int + | + | get_member(self, *args) + | get_member(self, index) -> member_t + | + | has_union(self, *args) + | has_union(self) -> bool + | + | is_choosable(self, *args) + | is_choosable(self) -> bool + | + | is_frame(self, *args) + | is_frame(self) -> bool + | + | is_ghost(self, *args) + | is_ghost(self) -> bool + | + | is_hidden(self, *args) + | is_hidden(self) -> bool + | + | is_union(self, *args) + | is_union(self) -> bool + | + | is_varstr(self, *args) + | is_varstr(self) -> bool + | + | set_alignment(self, *args) + | set_alignment(self, shift) + | + | set_ghost(self, *args) + | set_ghost(self, _is_ghost) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | age + | struc_t_age_get(self) -> ushort + | + | id + | struc_t_id_get(self) -> tid_t + | + | members + | struc_t_members_get(self) -> member_t + | + | memqty + | struc_t_memqty_get(self) -> uint32 + | + | ordinal + | struc_t_ordinal_get(self) -> int32 + | + | props + | struc_t_props_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_struc_t(self) + +Help on class struct_field_visitor_t in module ida_struct: + +class struct_field_visitor_t(__builtin__.object) + | Proxy of C++ struct_field_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> struct_field_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_field(self, *args) + | visit_field(self, sptr, mptr) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_struct_field_visitor_t(self) + +Help on function visit_stroff_fields in module ida_struct: + +visit_stroff_fields(*args) + visit_stroff_fields(sfv, path, disp, appzero) -> flags_t + + + 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: visitor object (C++: struct_field_visitor_t &) + @param path: struct path (path[0] contains the initial struct id) + (C++: const tid_t *) + @param disp: offset into structure (C++: adiff_t *) + @param appzero: should visit field at offset zero? (C++: bool) + +=== ida_struct EPYDOC INJECTIONS === +ida_struct.MF_BASECLASS +""" +a special member representing base class +""" + +ida_struct.MF_BYTIL +""" +the member was created due to the type system +""" + +ida_struct.MF_DTOR +""" +a special member representing destructor +""" + +ida_struct.MF_DUPNAME +""" +duplicate name resolved with _N suffix (N==soff) +""" + +ida_struct.MF_HASTI +""" +has type information? +""" + +ida_struct.MF_HASUNI +""" +has members of type "union"? +""" + +ida_struct.MF_OK +""" +is the member ok? (always yes) +""" + +ida_struct.MF_UNIMEM +""" +is a member of a union? +""" + +ida_struct.SET_MEMTI_BYTIL +""" +new type was created by the type subsystem +""" + +ida_struct.SET_MEMTI_COMPATIBLE +""" +new type must be compatible with the old +""" + +ida_struct.SET_MEMTI_FUNCARG +""" +mptr is function argument (cannot create arrays) +""" + +ida_struct.SET_MEMTI_MAY_DESTROY +""" +may destroy other members +""" + +ida_struct.SET_MEMTI_USERTI +""" +user-specified type +""" + +ida_struct.SF_ALIGN +""" +alignment (shift amount: 0..31) +""" + +ida_struct.SF_FRAME +""" +the structure is a function frame +""" + +ida_struct.SF_GHOST +""" +ghost copy of a local type +""" + +ida_struct.SF_HASUNI +""" +has members of type "union"? +""" + +ida_struct.SF_HIDDEN +""" +the structure is collapsed +""" + +ida_struct.SF_NOLIST +""" +don't include in the chooser list +""" + +ida_struct.SF_TYPLIB +""" +the structure comes from type library +""" + +ida_struct.SF_UNION +""" +varunions are prohibited! + +is a union? +""" + +ida_struct.SF_VAR +""" +is variable size structure (varstruct)? a variable size structure is +one with the zero size last member. if the last member is a varstruct, +then the current structure is a varstruct too. +""" + +ida_struct.STRNFL_REGEX +""" +apply regular expressions to beautify the name +""" + +ida_struct.STRUC_SEPARATOR +""" +structname.fieldname +""" +=== ida_struct EPYDOC INJECTIONS END === +Help on function add_tryblk in module ida_tryblks: + +add_tryblk(*args) + add_tryblk(tb) -> int + + + Add one try block information. + + @param tb: try block to add. (C++: const tryblk_t &) + @return: error code; 0 means good + +Help on class catch_t in module ida_tryblks: + +class catch_t(try_handler_t) + | Proxy of C++ catch_t class. + | + | Method resolution order: + | catch_t + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> catch_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | obj + | catch_t_obj_get(self) -> sval_t + | + | thisown + | The membership flag + | + | type_id + | catch_t_type_id_get(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_catch_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from try_handler_t: + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from try_handler_t: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class catchvec_t in module ida_tryblks: + +class catchvec_t(__builtin__.object) + | Proxy of C++ qvector< catch_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> catch_t + | + | __init__(self, *args) + | __init__(self) -> catchvec_t + | __init__(self, x) -> catchvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> catch_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> catch_t + | begin(self) -> catch_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> catch_t + | end(self) -> catch_t + | + | erase(self, *args) + | erase(self, it) -> catch_t + | erase(self, first, last) -> catch_t + | + | extract(self, *args) + | extract(self) -> catch_t + | + | find(self, *args) + | find(self, x) -> catch_t + | find(self, x) -> catch_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=catch_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> catch_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> catch_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_catchvec_t(self) + +Help on function del_tryblks in module ida_tryblks: + +del_tryblks(*args) + del_tryblks(range) + + + Delete try block information in the specified range. + + @param range: the range to be cleared (C++: const range_t &) + +Help on function find_syseh in module ida_tryblks: + +find_syseh(*args) + find_syseh(ea) -> ea_t + + + Find the start address of the system eh region including the argument. + + @param ea: search address (C++: ea_t) + @return: start address of surrounding tryblk, otherwise BADADDR + +Help on function get_tryblks in module ida_tryblks: + +get_tryblks(*args) + 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: output buffer; may be NULL (C++: tryblks_t *) + @param range: address range to change (C++: const range_t &) + @return: number of found try blocks + +Help on class seh_t in module ida_tryblks: + +class seh_t(try_handler_t) + | Proxy of C++ seh_t class. + | + | Method resolution order: + | seh_t + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> seh_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | filter + | seh_t_filter_get(self) -> rangevec_t + | + | seh_code + | seh_t_seh_code_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_seh_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from try_handler_t: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class try_handler_t in module ida_tryblks: + +class try_handler_t(ida_range.rangevec_t) + | Proxy of C++ try_handler_t class. + | + | Method resolution order: + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> try_handler_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_try_handler_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class tryblk_t in module ida_tryblks: + +class tryblk_t(ida_range.rangevec_t) + | Proxy of C++ tryblk_t class. + | + | Method resolution order: + | tryblk_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tryblk_t + | __init__(self, r) -> tryblk_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | cpp(self, *args) + | cpp(self) -> catchvec_t + | + | empty(self, *args) + | empty(self) -> bool + | + | get_kind(self, *args) + | get_kind(self) -> uchar + | + | is_cpp(self, *args) + | is_cpp(self) -> bool + | + | is_seh(self, *args) + | is_seh(self) -> bool + | + | seh(self, *args) + | seh(self) -> seh_t + | + | set_cpp(self, *args) + | set_cpp(self) -> catchvec_t + | + | set_seh(self, *args) + | set_seh(self) -> seh_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | level + | tryblk_t_level_get(self) -> uchar + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tryblk_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | end(self, *args) + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) + | extract(self) -> range_t + | + | find(self, *args) + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=range_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class tryblks_t in module ida_tryblks: + +class tryblks_t(__builtin__.object) + | Proxy of C++ qvector< tryblk_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> tryblk_t + | + | __init__(self, *args) + | __init__(self) -> tryblks_t + | __init__(self, x) -> tryblks_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> tryblk_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> tryblk_t + | begin(self) -> tryblk_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> tryblk_t + | end(self) -> tryblk_t + | + | erase(self, *args) + | erase(self, it) -> tryblk_t + | erase(self, first, last) -> tryblk_t + | + | extract(self, *args) + | extract(self) -> tryblk_t + | + | find(self, *args) + | find(self, x) -> tryblk_t + | find(self, x) -> tryblk_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=tryblk_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> tryblk_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> tryblk_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tryblks_t(self) + +=== ida_tryblks EPYDOC INJECTIONS === +ida_tryblks.TBERR_EMPTY +""" +empty try block +""" + +ida_tryblks.TBERR_END +""" +bad end address +""" + +ida_tryblks.TBERR_INTERSECT +""" +range would intersect inner tryblk +""" + +ida_tryblks.TBERR_KIND +""" +illegal try block kind +""" + +ida_tryblks.TBERR_NO_CATCHES +""" +no catch blocks at all +""" + +ida_tryblks.TBERR_OK +""" +ok +""" + +ida_tryblks.TBERR_ORDER +""" +bad address order +""" + +ida_tryblks.TBERR_START +""" +bad start address +""" +=== ida_tryblks EPYDOC INJECTIONS END === +Help on function add_til in module ida_typeinf: + +add_til(*args) + add_til(name, flags) -> int + + + Load a til file. + + @param name: til name (C++: const char *) + @param flags: combination of Load TIL flags (C++: int) + @return: one of Load TIL result codes + +Help on function alloc_type_ordinal in module ida_typeinf: + +alloc_type_ordinal(*args) + alloc_type_ordinal(ti) -> uint32 + + + \call2{alloc_type_ordinals,ti,1} + + + @param ti (C++: til_t *) + +Help on function alloc_type_ordinals in module ida_typeinf: + +alloc_type_ordinals(*args) + alloc_type_ordinals(ti, qty) -> uint32 + + + Allocate a range of ordinal numbers for new types. + + @param ti: type library (C++: til_t *) + @param qty: number of ordinals to allocate (C++: int) + @return: the first ordinal. 0 means failure. + +Help on class aloc_visitor_t in module ida_typeinf: + +class aloc_visitor_t(__builtin__.object) + | Proxy of C++ aloc_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> aloc_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_location(self, *args) + | visit_location(self, v, off, size) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_aloc_visitor_t(self) + +Help on function append_abi_opts in module ida_typeinf: + +append_abi_opts(*args) + 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: - ABI options to add/remove in form opt1-opt2-... + (C++: const char *) + @param user_level: - initiated by user if TRUE (==SETCOMP_BY_USER) + (C++: bool) + @return: success + +Help on function append_argloc in module ida_typeinf: + +append_argloc(*args) + append_argloc(out, vloc) -> bool + + + Serialize argument location. + + + @param out (C++: qtype *) + @param vloc (C++: const argloc_t &) + +Help on function append_tinfo_covered in module ida_typeinf: + +append_tinfo_covered(*args) + append_tinfo_covered(out, typid, offset) -> bool + +Help on function apply_callee_tinfo in module ida_typeinf: + +apply_callee_tinfo(*args) + 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: linear address of the calling instruction. must belong + to a function. (C++: ea_t) + @param tif: type info (C++: const tinfo_t &) + @return: success + +Help on function apply_cdecl in module ida_typeinf: + +apply_cdecl(*args) + 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: type library (C++: til_t *) + @param ea: linear address (C++: ea_t) + @param decl: type declaration in C form (C++: const char *) + @param flags: flags to pass to apply_tinfo ( TINFO_DEFINITE is always + passed) (C++: int) + @return: success + +Help on function apply_named_type in module ida_typeinf: + +apply_named_type(*args) + apply_named_type(ea, name) -> bool + + + Apply the specified named type to the address. + + @param ea: linear address (C++: ea_t) + @param name: the type name, e.g. "FILE" (C++: const char *) + @return: success + +Help on function apply_once_tinfo_and_name in module ida_typeinf: + +apply_once_tinfo_and_name(*args) + 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 typedoes not exist or + the new type is 'better' than the old type, then thenew type will be + applied. A type is considered better if it has moreinformation (e.g. + 'BTMT_STRUCT' is better than 'BT_INT' ).The same logic is with the + name: if the address already have a meaningfulname, it will be + preserved. Only if the old name does not exist or itis a dummy name + like byte_123, it will be replaced by the new name. + + @param dea: linear address (C++: ea_t) + @param tif: type string in the internal format (C++: const tinfo_t + &) + @param name: new name for the address (C++: const char *) + @return: success + +Help on function apply_tinfo in module ida_typeinf: + +apply_tinfo(*args) + 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: linear address (C++: ea_t) + @param tif: type string in internal format (C++: const tinfo_t &) + @param flags: combination of Apply tinfo flags (C++: uint32) + @return: success + +Help on function apply_tinfo_to_stkarg in module ida_typeinf: + +apply_tinfo_to_stkarg(*args) + apply_tinfo_to_stkarg(insn, x, v, tif, name) -> bool + + + Helper function for the processor modules. to be called from + \ph{use_stkarg_type} + + @param insn (C++: const insn_t &) + @param x (C++: const op_t &) + @param v (C++: uval_t) + @param tif (C++: const tinfo_t &) + @param name (C++: const char *) + +Help on function apply_type in module ida_typeinf: + +apply_type(*args) + 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 py_type: type string + @param py_fields: fields string (may be empty or None) + @param ea: the address of the object + @param flags: combination of TINFO_... constants or 0 + @return: Boolean + +Help on class argloc_t in module ida_typeinf: + +class argloc_t(__builtin__.object) + | Proxy of C++ argloc_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> argloc_t + | __init__(self, r) -> argloc_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | _consume_rrel(self, *args) + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) + | _set_badloc(self) + | + | _set_biggest(self, *args) + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) + | _set_ea(self, _ea) + | + | _set_reg1(self, *args) + | _set_reg1(self, reg, off=0) + | + | _set_reg2(self, *args) + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) + | _set_stkoff(self, off) + | + | advance(self, *args) + | advance(self, delta) -> bool + | + | atype(self, *args) + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) + | calc_offset(self) -> sval_t + | + | compare(self, *args) + | compare(self, r) -> int + | + | consume_rrel(self, *args) + | consume_rrel(self, p) + | + | consume_scattered(self, *args) + | consume_scattered(self, p) + | + | get_biggest(self, *args) + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) + | get_custom(self) -> void * + | + | get_ea(self, *args) + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) + | has_reg(self) -> bool + | + | has_stkoff(self, *args) + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) + | is_badloc(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_ea(self, *args) + | is_ea(self) -> bool + | + | is_fragmented(self, *args) + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_rrel(self, *args) + | is_rrel(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) + | justify_stkoff_right(self, size, _slotsize) + | + | reg1(self, *args) + | reg1(self) -> int + | + | reg2(self, *args) + | reg2(self) -> int + | + | regoff(self, *args) + | regoff(self) -> int + | + | scattered(self, *args) + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) + | set_badloc(self) + | + | set_ea(self, *args) + | set_ea(self, _ea) + | + | set_reg1(self, *args) + | set_reg1(self, reg, off=0) + | + | set_reg2(self, *args) + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) + | set_stkoff(self, off) + | + | stkoff(self, *args) + | stkoff(self) -> sval_t + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_argloc_t(self) + +Help on class argpart_t in module ida_typeinf: + +class argpart_t(argloc_t) + | Proxy of C++ argpart_t class. + | + | Method resolution order: + | argpart_t + | argloc_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, a) -> argpart_t + | __init__(self) -> argpart_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | bad_offset(self, *args) + | bad_offset(self) -> bool + | + | bad_size(self, *args) + | bad_size(self) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | off + | argpart_t_off_get(self) -> ushort + | + | size + | argpart_t_size_get(self) -> ushort + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_argpart_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from argloc_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | _consume_rrel(self, *args) + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) + | _set_badloc(self) + | + | _set_biggest(self, *args) + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) + | _set_ea(self, _ea) + | + | _set_reg1(self, *args) + | _set_reg1(self, reg, off=0) + | + | _set_reg2(self, *args) + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) + | _set_stkoff(self, off) + | + | advance(self, *args) + | advance(self, delta) -> bool + | + | atype(self, *args) + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) + | calc_offset(self) -> sval_t + | + | compare(self, *args) + | compare(self, r) -> int + | + | consume_rrel(self, *args) + | consume_rrel(self, p) + | + | consume_scattered(self, *args) + | consume_scattered(self, p) + | + | get_biggest(self, *args) + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) + | get_custom(self) -> void * + | + | get_ea(self, *args) + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) + | has_reg(self) -> bool + | + | has_stkoff(self, *args) + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) + | is_badloc(self) -> bool + | + | is_custom(self, *args) + | is_custom(self) -> bool + | + | is_ea(self, *args) + | is_ea(self) -> bool + | + | is_fragmented(self, *args) + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) + | is_reg(self) -> bool + | + | is_reg1(self, *args) + | is_reg1(self) -> bool + | + | is_reg2(self, *args) + | is_reg2(self) -> bool + | + | is_rrel(self, *args) + | is_rrel(self) -> bool + | + | is_scattered(self, *args) + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) + | justify_stkoff_right(self, size, _slotsize) + | + | reg1(self, *args) + | reg1(self) -> int + | + | reg2(self, *args) + | reg2(self) -> int + | + | regoff(self, *args) + | regoff(self) -> int + | + | scattered(self, *args) + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) + | set_badloc(self) + | + | set_ea(self, *args) + | set_ea(self, _ea) + | + | set_reg1(self, *args) + | set_reg1(self, reg, off=0) + | + | set_reg2(self, *args) + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) + | set_stkoff(self, off) + | + | stkoff(self, *args) + | stkoff(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class argpartvec_t in module ida_typeinf: + +class argpartvec_t(__builtin__.object) + | Proxy of C++ qvector< argpart_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> argpart_t + | + | __init__(self, *args) + | __init__(self) -> argpartvec_t + | __init__(self, x) -> argpartvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> argpart_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> argpart_t + | begin(self) -> argpart_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> argpart_t + | end(self) -> argpart_t + | + | erase(self, *args) + | erase(self, it) -> argpart_t + | erase(self, first, last) -> argpart_t + | + | extract(self, *args) + | extract(self) -> argpart_t + | + | find(self, *args) + | find(self, x) -> argpart_t + | find(self, x) -> argpart_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=argpart_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> argpart_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> argpart_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_argpartvec_t(self) + +Help on class array_type_data_t in module ida_typeinf: + +class array_type_data_t(__builtin__.object) + | Proxy of C++ array_type_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, b=0, n=0) -> array_type_data_t + | + | __repr__ = _swig_repr(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | array_type_data_t_base_get(self) -> uint32 + | + | elem_type + | array_type_data_t_elem_type_get(self) -> tinfo_t + | + | nelems + | array_type_data_t_nelems_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_array_type_data_t(self) + +Help on function begin_type_updating in module ida_typeinf: + +begin_type_updating(*args) + 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) + +Help on class bitfield_type_data_t in module ida_typeinf: + +class bitfield_type_data_t(__builtin__.object) + | Proxy of C++ bitfield_type_data_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _nbytes=0, _width=0, _is_unsigned=False) -> bitfield_type_data_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | is_unsigned + | bitfield_type_data_t_is_unsigned_get(self) -> bool + | + | nbytes + | bitfield_type_data_t_nbytes_get(self) -> uchar + | + | thisown + | The membership flag + | + | width + | bitfield_type_data_t_width_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_bitfield_type_data_t(self) + +Help on function calc_c_cpp_name in module ida_typeinf: + +calc_c_cpp_name(*args) + calc_c_cpp_name(name, type, ccn_flags) -> str + + + Get C or C++ form of the name. + + @param name: original (mangled or decorated) name (C++: const char *) + @param type: name type if known, otherwise NULL (C++: const tinfo_t + *) + @param ccn_flags: one of C/C++ naming flags (C++: int) + +Help on function calc_number_of_children in module ida_typeinf: + +calc_number_of_children(*args) + 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: location of the data ( ALOC_STATIC or ALOC_CUSTOM ) + (C++: const argloc_t &) + @param tif: type info (C++: const tinfo_t &) + @param dont_deref_ptr: consider 'ea' as the ptr value (C++: bool) + +Help on function calc_tinfo_gaps in module ida_typeinf: + +calc_tinfo_gaps(*args) + calc_tinfo_gaps(out, typid) -> bool + +Help on function calc_type_size in module ida_typeinf: + +calc_type_size(*args) + calc_type_size(ti, tp) -> PyObject * + + + Returns the size of a type + @param ti: Type info. 'None' can be passed. + @param tp: type string + @return: + - None on failure + - The size of the type + +Help on class callregs_t in module ida_typeinf: + +class callregs_t(__builtin__.object) + | Proxy of C++ callregs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> callregs_t + | __init__(self, cc) -> callregs_t + | + | __repr__ = _swig_repr(self) + | + | init_regs(self, *args) + | init_regs(self, cc) + | + | reginds(self, *args) + | reginds(self, gp_ind, fp_ind, r) -> bool + | + | reset(self, *args) + | reset(self) + | + | set(self, *args) + | set(self, _policy, gprs, fprs) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | regcount(*args) + | regcount(cc) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fpregs + | callregs_t_fpregs_get(self) -> intvec_t * + | + | gpregs + | callregs_t_gpregs_get(self) -> intvec_t * + | + | nregs + | callregs_t_nregs_get(self) -> int + | + | policy + | callregs_t_policy_get(self) -> argreg_policy_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_callregs_t(self) + +Help on function callregs_t_regcount in module ida_typeinf: + +callregs_t_regcount(*args) + callregs_t_regcount(cc) -> int + +Help on function choose_local_tinfo in module ida_typeinf: + +choose_local_tinfo(*args) + choose_local_tinfo(ti, title, func=None, def_ord=0, ud=None) -> uint32 + + + Choose a type from the local type library. + + @param ti: pointer to til (C++: const til_t *) + @param title: title of listbox to display (C++: const char *) + @param func: predicate to select types to display (maybe NULL) (C++: + local_tinfo_predicate_t *) + @param def_ord: ordinal to position cursor before choose (C++: uint32) + @param ud: user data (C++: void *) + @return: == 0 means nothing is chosen, otherwise an ordinal number + +Help on function choose_local_tinfo_and_delta in module ida_typeinf: + +choose_local_tinfo_and_delta(*args) + 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: pointer shift value (C++: int32 *) + @param ti: pointer to til (C++: const til_t *) + @param title: title of listbox to display (C++: const char *) + @param func: predicate to select types to display (maybe NULL) (C++: + local_tinfo_predicate_t *) + @param def_ord: ordinal to position cursor before choose (C++: uint32) + @param ud: user data (C++: void *) + @return: == 0 means nothing is chosen, otherwise an ordinal number + +Help on function choose_named_type in module ida_typeinf: + +choose_named_type(*args) + choose_named_type(out_sym, root_til, title, ntf_flags, predicate=None) -> bool + + + Choose a type from a type library. + + @param out_sym: pointer to be filled with the chosen type (C++: + til_symbol_t *) + @param root_til: pointer to starting til (the function will inspect + the base tils if allowed by flags) (C++: const til_t + *) + @param title: title of listbox to display (C++: const char *) + @param ntf_flags: combination of Flags for named types (C++: int) + @param predicate: predicate to select types to display (maybe NULL) + (C++: predicate_t *) + @return: false if nothing is chosen, otherwise true + +Help on function clear_tinfo_t in module ida_typeinf: + +clear_tinfo_t(*args) + clear_tinfo_t(_this) + +Help on function compact_til in module ida_typeinf: + +compact_til(*args) + 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 + +Help on function compare_tinfo in module ida_typeinf: + +compare_tinfo(*args) + compare_tinfo(t1, t2, tcflags) -> bool + +Help on class const_aloc_visitor_t in module ida_typeinf: + +class const_aloc_visitor_t(__builtin__.object) + | Proxy of C++ const_aloc_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> const_aloc_visitor_t + | + | __repr__ = _swig_repr(self) + | + | visit_location(self, *args) + | visit_location(self, v, off, size) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_const_aloc_visitor_t(self) + +Help on function convert_pt_flags_to_hti in module ida_typeinf: + +convert_pt_flags_to_hti(*args) + 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) + +Help on function copy_named_type in module ida_typeinf: + +copy_named_type(*args) + 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: Destination til. It must have orginal types enabled + (C++: til_t *) + @param srctil: Source til. (C++: const til_t *) + @param name: name of the type to copy (C++: const char *) + @return: ordinal number of the copied type. 0 means error + +Help on function copy_tinfo_t in module ida_typeinf: + +copy_tinfo_t(*args) + copy_tinfo_t(_this, r) + +Help on function create_numbered_type_name in module ida_typeinf: + +create_numbered_type_name(*args) + 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) + +Help on function create_tinfo in module ida_typeinf: + +create_tinfo(*args) + create_tinfo(_this, bt, bt2, ptr) -> bool + +Help on function default_compiler in module ida_typeinf: + +default_compiler(*args) + default_compiler() -> comp_t + + + Get compiler specified by \varmem{inf,idainfo,cc}. + +Help on function del_named_type in module ida_typeinf: + +del_named_type(*args) + del_named_type(ti, name, ntf_flags) -> bool + + + Delete information about a symbol. + + @param ti: type library (C++: til_t *) + @param name: name of symbol (C++: const char *) + @param ntf_flags: combination of Flags for named types (C++: int) + @return: success + +Help on function del_numbered_type in module ida_typeinf: + +del_numbered_type(*args) + del_numbered_type(ti, ordinal) -> bool + + + Delete a numbered type. + + + @param ti (C++: til_t *) + @param ordinal (C++: uint32) + +Help on function del_til in module ida_typeinf: + +del_til(*args) + del_til(name) -> bool + + + Unload a til file. + + + @param name (C++: const char *) + +Help on function del_tinfo_attr in module ida_typeinf: + +del_tinfo_attr(*args) + del_tinfo_attr(tif, key, make_copy) -> bool + +Help on function deref_ptr in module ida_typeinf: + +deref_ptr(*args) + deref_ptr(ptr_ea, tif, closure_obj=None) -> bool + + + Dereference a pointer. + + @param ptr_ea: in/out parameter in: address of the pointer out: + the pointed address (C++: ea_t *) + @param tif: type of the pointer (C++: const tinfo_t &) + @param closure_obj: closure object (not used yet) (C++: ea_t *) + @return: success + +Help on function deserialize_tinfo in module ida_typeinf: + +deserialize_tinfo(*args) + deserialize_tinfo(tif, til, ptype, pfields, pfldcmts) -> bool + +Help on function dstr_tinfo in module ida_typeinf: + +dstr_tinfo(*args) + dstr_tinfo(tif) -> char const * + +Help on function dump_func_type_data in module ida_typeinf: + +dump_func_type_data(*args) + dump_func_type_data(fti, praloc_bits) -> str + + + Use 'func_type_data_t::dump()' + + + @param fti (C++: const func_type_data_t &) + @param praloc_bits (C++: int) + +Help on function end_type_updating in module ida_typeinf: + +end_type_updating(*args) + 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) + +Help on class enum_member_t in module ida_typeinf: + +class enum_member_t(__builtin__.object) + | Proxy of C++ enum_member_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> enum_member_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | enum_member_t_cmt_get(self) -> qstring * + | + | name + | enum_member_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | enum_member_t_value_get(self) -> uint64 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enum_member_t(self) + +Help on class enum_member_vec_t in module ida_typeinf: + +class enum_member_vec_t(__builtin__.object) + | Proxy of C++ qvector< enum_member_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> enum_member_t + | + | __init__(self, *args) + | __init__(self) -> enum_member_vec_t + | __init__(self, x) -> enum_member_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> enum_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> enum_member_t + | begin(self) -> enum_member_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> enum_member_t + | end(self) -> enum_member_t + | + | erase(self, *args) + | erase(self, it) -> enum_member_t + | erase(self, first, last) -> enum_member_t + | + | extract(self, *args) + | extract(self) -> enum_member_t + | + | find(self, *args) + | find(self, x) -> enum_member_t + | find(self, x) -> enum_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=enum_member_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> enum_member_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> enum_member_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enum_member_vec_t(self) + +Help on class enum_type_data_t in module ida_typeinf: + +class enum_type_data_t(enum_member_vec_t) + | Proxy of C++ enum_type_data_t class. + | + | Method resolution order: + | enum_type_data_t + | enum_member_vec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _bte=BTE_ALWAYS|BTE_HEX) -> enum_type_data_t + | + | __repr__ = _swig_repr(self) + | + | calc_mask(self, *args) + | calc_mask(self) -> uint64 + | + | calc_nbytes(self, *args) + | calc_nbytes(self) -> int + | + | is_64bit(self, *args) + | is_64bit(self) -> bool + | + | is_char(self, *args) + | is_char(self) -> bool + | + | is_hex(self, *args) + | is_hex(self) -> bool + | + | is_sdec(self, *args) + | is_sdec(self) -> bool + | + | is_udec(self, *args) + | is_udec(self) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bte + | enum_type_data_t_bte_get(self) -> bte_t + | + | group_sizes + | enum_type_data_t_group_sizes_get(self) -> intvec_t * + | + | taenum_bits + | enum_type_data_t_taenum_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_enum_type_data_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from enum_member_vec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> enum_member_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> enum_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> enum_member_t + | begin(self) -> enum_member_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> enum_member_t + | end(self) -> enum_member_t + | + | erase(self, *args) + | erase(self, it) -> enum_member_t + | erase(self, first, last) -> enum_member_t + | + | extract(self, *args) + | extract(self) -> enum_member_t + | + | find(self, *args) + | find(self, x) -> enum_member_t + | find(self, x) -> enum_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=enum_member_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> enum_member_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> enum_member_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from enum_member_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function extract_argloc in module ida_typeinf: + +extract_argloc(*args) + extract_argloc(vloc, ptype, is_retval) -> bool + + + Deserialize argument location. + + + @param vloc (C++: argloc_t *) + @param ptype (C++: const type_t **) + @param is_retval (C++: bool) + +Help on function find_tinfo_udt_member in module ida_typeinf: + +find_tinfo_udt_member(*args) + find_tinfo_udt_member(udm, typid, strmem_flags) -> int + +Help on function first_named_type in module ida_typeinf: + +first_named_type(*args) + first_named_type(ti, ntf_flags) -> char const * + + + Enumerate types. Returns mangled names. Never returns anonymous types. + To include it, enumerate types by ordinals. + + @param ti (C++: const til_t *) + @param ntf_flags (C++: int) + +Help on function for_all_arglocs in module ida_typeinf: + +for_all_arglocs(*args) + 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) + +Help on function for_all_const_arglocs in module ida_typeinf: + +for_all_const_arglocs(*args) + 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 &) + @param size (C++: int) + @param off (C++: int) + +Help on function free_til in module ida_typeinf: + +free_til(*args) + free_til(ti) + + + Free memory allocated by til. + + + @param ti (C++: til_t *) + +Help on function func_has_stkframe_hole in module ida_typeinf: + +func_has_stkframe_hole(*args) + 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 &) + +Help on class func_type_data_t in module ida_typeinf: + +class func_type_data_t(funcargvec_t) + | Proxy of C++ func_type_data_t class. + | + | Method resolution order: + | func_type_data_t + | funcargvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_type_data_t + | + | __repr__ = _swig_repr(self) + | + | dump(self, *args) + | dump(self, praloc_bits=0x02) -> bool + | + | get_call_method(self, *args) + | get_call_method(self) -> int + | + | guess_cc(self, *args) + | guess_cc(self, purged, cc_flags) -> cm_t + | + | is_high(self, *args) + | is_high(self) -> bool + | + | is_noret(self, *args) + | is_noret(self) -> bool + | + | is_pure(self, *args) + | is_pure(self) -> bool + | + | is_vararg_cc(self, *args) + | is_vararg_cc(self) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cc + | func_type_data_t_cc_get(self) -> cm_t + | + | flags + | func_type_data_t_flags_get(self) -> int + | + | retloc + | func_type_data_t_retloc_get(self) -> argloc_t + | + | rettype + | func_type_data_t_rettype_get(self) -> tinfo_t + | + | spoiled + | func_type_data_t_spoiled_get(self) -> reginfovec_t + | + | stkargs + | func_type_data_t_stkargs_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_func_type_data_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from funcargvec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> funcarg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> funcarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> funcarg_t + | begin(self) -> funcarg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> funcarg_t + | end(self) -> funcarg_t + | + | erase(self, *args) + | erase(self, it) -> funcarg_t + | erase(self, first, last) -> funcarg_t + | + | extract(self, *args) + | extract(self) -> funcarg_t + | + | find(self, *args) + | find(self, x) -> funcarg_t + | find(self, x) -> funcarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=funcarg_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> funcarg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> funcarg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from funcargvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class funcarg_t in module ida_typeinf: + +class funcarg_t(__builtin__.object) + | Proxy of C++ funcarg_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> funcarg_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argloc + | funcarg_t_argloc_get(self) -> argloc_t + | + | cmt + | funcarg_t_cmt_get(self) -> qstring * + | + | flags + | funcarg_t_flags_get(self) -> uint32 + | + | name + | funcarg_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | funcarg_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_funcarg_t(self) + +Help on class funcargvec_t in module ida_typeinf: + +class funcargvec_t(__builtin__.object) + | Proxy of C++ qvector< funcarg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> funcarg_t + | + | __init__(self, *args) + | __init__(self) -> funcargvec_t + | __init__(self, x) -> funcargvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> funcarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> funcarg_t + | begin(self) -> funcarg_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> funcarg_t + | end(self) -> funcarg_t + | + | erase(self, *args) + | erase(self, it) -> funcarg_t + | erase(self, first, last) -> funcarg_t + | + | extract(self, *args) + | extract(self) -> funcarg_t + | + | find(self, *args) + | find(self, x) -> funcarg_t + | find(self, x) -> funcarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=funcarg_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> funcarg_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> funcarg_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_funcargvec_t(self) + +Help on function gcc_layout in module ida_typeinf: + +gcc_layout(*args) + gcc_layout() -> bool + + + Should use the struct/union layout as done by gcc? + +Help on function gen_decorate_name in module ida_typeinf: + +gen_decorate_name(*args) + gen_decorate_name(name, mangle, cc, type) -> str + + + Generic function for 'decorate_name()' (may be used in IDP modules) + + + @param name (C++: const char *) + @param mangle (C++: bool) + @param cc (C++: cm_t) + @param type (C++: const tinfo_t *) + +Help on function gen_use_arg_tinfos in module ida_typeinf: + +gen_use_arg_tinfos(*args) + gen_use_arg_tinfos(caller, fti, rargs, set_optype, is_stkarg_load, has_delay_slot) + + + The main function using these callbacks: + + + @param caller (C++: ea_t) + @param fti (C++: func_type_data_t *) + @param rargs (C++: funcargvec_t *) + @param set_optype (C++: set_op_tinfo_t *) + @param is_stkarg_load (C++: is_stkarg_load_t *) + @param has_delay_slot (C++: has_delay_slot_t *) + +Help on function get_abi_name in module ida_typeinf: + +get_abi_name(*args) + get_abi_name() -> str + + + Get ABI name. + + @return: length of the name (>=0) + +Help on function get_alias_target in module ida_typeinf: + +get_alias_target(*args) + 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 *) + @param ordinal (C++: uint32) + +Help on function get_arg_addrs in module ida_typeinf: + +get_arg_addrs(*args) + get_arg_addrs(caller) -> PyObject * + + + Retrieve addresses of argument initialization instructions + + @param caller: the address of the call instruction + @return: list of instruction addresses + +Help on function get_base_type in module ida_typeinf: + +get_base_type(*args) + get_base_type(t) -> type_t + + + Get get basic type bits ( 'TYPE_BASE_MASK' ) + + + @param t (C++: type_t) + +Help on function get_c_header_path in module ida_typeinf: + +get_c_header_path(*args) + get_c_header_path() -> str + + + Get the include directory path of the target compiler. + +Help on function get_c_macros in module ida_typeinf: + +get_c_macros(*args) + get_c_macros() -> str + + + Get predefined macros for the target compiler. + +Help on function get_comp in module ida_typeinf: + +get_comp(*args) + get_comp(comp) -> comp_t + + + Get compiler bits. + + + @param comp (C++: comp_t) + +Help on function get_compiler_abbr in module ida_typeinf: + +get_compiler_abbr(*args) + get_compiler_abbr(id) -> char const * + + + Get abbreviated compiler name. + + + @param id (C++: comp_t) + +Help on function get_compiler_name in module ida_typeinf: + +get_compiler_name(*args) + get_compiler_name(id) -> char const * + + + Get full compiler name. + + + @param id (C++: comp_t) + +Help on function get_compilers in module ida_typeinf: + +get_compilers(*args) + 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 *) + +Help on function get_enum_member_expr in module ida_typeinf: + +get_enum_member_expr(*args) + 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: enumeration type (C++: const tinfo_t &) + @param serial: which enumeration member to use (0 means the first with + the given value) (C++: int) + @param value: value to search in the enumeration type. only 32-bit + number can be handled yet (C++: uint64) + @return: success + +Help on function get_full_type in module ida_typeinf: + +get_full_type(*args) + get_full_type(t) -> type_t + + + Get basic type bits + type flags ( 'TYPE_FULL_MASK' ) + + + @param t (C++: type_t) + +Help on function get_idainfo_by_type in module ida_typeinf: + +get_idainfo_by_type(*args) + get_idainfo_by_type(tif) -> bool + + + Extract information from a 'tinfo_t' . + + @param tif: the type to inspect (C++: const tinfo_t &) + +Help on function get_idati in module ida_typeinf: + +get_idati(*args) + get_idati() -> til_t + + + Pointer to the local type library - this til is private for each IDB + file Function that accepts til_t* uses local type library instead of + NULL. + +Help on function get_named_type in module ida_typeinf: + +get_named_type(*args) + get_named_type(til, name, ntf_flags) -> PyObject * + + + 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 + +Help on function get_named_type64 in module ida_typeinf: + +get_named_type64(*args) + get_named_type64(til, name, ntf_flags) -> PyObject * + + + See 'get_named_type()' above.If the value in the 'ti' library is + 32-bit, it will be sign-extended before being stored in the 'value' + pointer. + + @param name (C++: const char *) + @param ntf_flags (C++: int) + +Help on function get_numbered_type in module ida_typeinf: + +get_numbered_type(*args) + get_numbered_type(til, ordinal) -> PyObject * + + + Retrieve a type by its ordinal number. + + + @param ordinal (C++: uint32) + +Help on function get_numbered_type_name in module ida_typeinf: + +get_numbered_type_name(*args) + 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 NULL + + @param ti (C++: const til_t *) + @param ordinal (C++: uint32) + +Help on function get_ordinal_from_idb_type in module ida_typeinf: + +get_ordinal_from_idb_type(*args) + get_ordinal_from_idb_type(name, type) -> int + + + Get ordinal number of an idb type (struct/enum). The 'type' parameter + is used only to determine the kind of the type (struct or enum) Use + this function to find out the correspondence between idb types and til + types + + @param name (C++: const char *) + @param type (C++: const type_t *) + +Help on function get_ordinal_qty in module ida_typeinf: + +get_ordinal_qty(*args) + get_ordinal_qty(ti) -> uint32 + + + Get number of allocated ordinals. + + @param ti (C++: const til_t *) + @return: uint32(-1) if failed + +Help on function get_scalar_bt in module ida_typeinf: + +get_scalar_bt(*args) + get_scalar_bt(size) -> type_t + +Help on function get_stock_tinfo in module ida_typeinf: + +get_stock_tinfo(*args) + get_stock_tinfo(tif, id) -> bool + +Help on function get_tinfo_attr in module ida_typeinf: + +get_tinfo_attr(*args) + get_tinfo_attr(typid, key, bv, all_attrs) -> bool + +Help on function get_tinfo_attrs in module ida_typeinf: + +get_tinfo_attrs(*args) + get_tinfo_attrs(typid, tav, include_ref_attrs) -> bool + +Help on function get_tinfo_details in module ida_typeinf: + +get_tinfo_details(*args) + get_tinfo_details(typid, bt2, buf) -> bool + +Help on function get_tinfo_pdata in module ida_typeinf: + +get_tinfo_pdata(*args) + get_tinfo_pdata(outptr, typid, what) -> size_t + +Help on function get_tinfo_property in module ida_typeinf: + +get_tinfo_property(*args) + get_tinfo_property(typid, gta_prop) -> size_t + +Help on function get_tinfo_size in module ida_typeinf: + +get_tinfo_size(*args) + get_tinfo_size(p_effalign, typid, gts_code) -> size_t + +Help on function get_type_flags in module ida_typeinf: + +get_type_flags(*args) + get_type_flags(t) -> type_t + + + Get type flags ( 'TYPE_FLAGS_MASK' ) + + + @param t (C++: type_t) + +Help on function get_type_ordinal in module ida_typeinf: + +get_type_ordinal(*args) + get_type_ordinal(ti, name) -> int32 + + + Get type ordinal by its name. + + + @param ti (C++: const til_t *) + @param name (C++: const char *) + +Help on function guess_func_cc in module ida_typeinf: + +guess_func_cc(*args) + guess_func_cc(fti, npurged, cc_flags) -> cm_t + + + Use 'func_type_data_t::guess_cc()' + + + @param fti (C++: const func_type_data_t &) + @param npurged (C++: int) + @param cc_flags (C++: int) + +Help on function guess_tinfo in module ida_typeinf: + +guess_tinfo(*args) + guess_tinfo(tif, id) -> int + + + Generate a type information about the id from the disassembly. id can + be a structure/union/enum id or an address. + + @param tif (C++: tinfo_t *) + @param id (C++: tid_t) + @return: one of Guess tinfo codes + +Help on class ida_lowertype_helper_t in module ida_typeinf: + +class ida_lowertype_helper_t(lowertype_helper_t) + | Proxy of C++ ida_lowertype_helper_t class. + | + | Method resolution order: + | ida_lowertype_helper_t + | lowertype_helper_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _tif, _ea, _pb) -> ida_lowertype_helper_t + | + | __repr__ = _swig_repr(self) + | + | func_has_stkframe_hole(self, *args) + | func_has_stkframe_hole(self, candidate, candidate_data) -> bool + | + | get_func_purged_bytes(self, *args) + | get_func_purged_bytes(self, candidate, arg3) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ida_lowertype_helper_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from lowertype_helper_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function idc_get_local_type in module ida_typeinf: + +idc_get_local_type(*args) + idc_get_local_type(ordinal, flags, buf, maxsize) -> int + +Help on function idc_get_local_type_name in module ida_typeinf: + +idc_get_local_type_name(*args) + idc_get_local_type_name(ordinal) -> str + +Help on function idc_get_local_type_raw in module ida_typeinf: + +idc_get_local_type_raw(*args) + idc_get_local_type_raw(ordinal) -> PyObject * + +Help on function idc_get_type in module ida_typeinf: + +idc_get_type(*args) + idc_get_type(ea) -> str + +Help on function idc_get_type_raw in module ida_typeinf: + +idc_get_type_raw(*args) + idc_get_type_raw(ea) -> PyObject * + +Help on function idc_guess_type in module ida_typeinf: + +idc_guess_type(*args) + idc_guess_type(ea) -> str + +Help on function idc_parse_decl in module ida_typeinf: + +idc_parse_decl(*args) + idc_parse_decl(ti, decl, flags) -> PyObject * + +Help on function idc_parse_types in module ida_typeinf: + +idc_parse_types(*args) + idc_parse_types(input, flags) -> int + +Help on function idc_print_type in module ida_typeinf: + +idc_print_type(*args) + idc_print_type(_type, _fields, name, flags) -> PyObject * + +Help on function idc_set_local_type in module ida_typeinf: + +idc_set_local_type(*args) + idc_set_local_type(ordinal, dcl, flags) -> int + +Help on function import_type in module ida_typeinf: + +import_type(*args) + import_type(til, idx, name, flags=0) -> tid_t + + + Copy a named type from til to idb. + + @param til: type library (C++: const til_t *) + @param idx: the position of the new type in the list of types + (structures or enums). -1 means at the end of the list + (C++: int) + @param name: the type name (C++: const char *) + @param flags: combination of Import type flags (C++: int) + @return: BADNODE on error + +Help on function is_autosync in module ida_typeinf: + +is_autosync(*args) + is_autosync(name, type) -> bool + is_autosync(name, tif) -> bool + + + Is the specified idb type automatically synchronized? + + + @param name (C++: const char *) + @param type (C++: const type_t *) + +Help on function is_code_far in module ida_typeinf: + +is_code_far(*args) + is_code_far(cm) -> bool + + + Does the given model specify far code?. + + + @param cm (C++: cm_t) + +Help on function is_comp_unsure in module ida_typeinf: + +is_comp_unsure(*args) + is_comp_unsure(comp) -> comp_t + + + See 'COMP_UNSURE' . + + + @param comp (C++: comp_t) + +Help on function is_data_far in module ida_typeinf: + +is_data_far(*args) + is_data_far(cm) -> bool + + + Does the given model specify far data?. + + + @param cm (C++: cm_t) + +Help on function is_gcc in module ida_typeinf: + +is_gcc(*args) + is_gcc() -> bool + + + Is the target compiler 'COMP_GNU' ? + +Help on function is_gcc32 in module ida_typeinf: + +is_gcc32(*args) + is_gcc32() -> bool + + + Is the target compiler 32 bit gcc? + +Help on function is_gcc64 in module ida_typeinf: + +is_gcc64(*args) + is_gcc64() -> bool + + + Is the target compiler 64 bit gcc? + +Help on function is_ordinal_name in module ida_typeinf: + +is_ordinal_name(*args) + 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 *) + @param ord (C++: uint32 *) + +Help on function is_purging_cc in module ida_typeinf: + +is_purging_cc(*args) + is_purging_cc(cm) -> bool + + + Does the calling convention clean the stack arguments upon + return?.this function is valid only for x86 code + + @param cm (C++: cm_t) + +Help on function is_restype_enum in module ida_typeinf: + +is_restype_enum(*args) + is_restype_enum(til, type) -> bool + +Help on function is_restype_struct in module ida_typeinf: + +is_restype_struct(*args) + is_restype_struct(til, type) -> bool + +Help on function is_restype_struni in module ida_typeinf: + +is_restype_struni(*args) + is_restype_struni(til, type) -> bool + +Help on function is_restype_void in module ida_typeinf: + +is_restype_void(*args) + is_restype_void(til, type) -> bool + +Help on function is_sdacl_byte in module ida_typeinf: + +is_sdacl_byte(*args) + 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) + +Help on function is_tah_byte in module ida_typeinf: + +is_tah_byte(*args) + 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) + +Help on function is_type_arithmetic in module ida_typeinf: + +is_type_arithmetic(*args) + is_type_arithmetic(t) -> bool + + + Is the type an arithmetic type? (floating or integral) + + + @param t (C++: type_t) + +Help on function is_type_array in module ida_typeinf: + +is_type_array(*args) + is_type_array(t) -> bool + + + See 'BT_ARRAY' . + + + @param t (C++: type_t) + +Help on function is_type_bitfld in module ida_typeinf: + +is_type_bitfld(*args) + is_type_bitfld(t) -> bool + + + See 'BT_BITFIELD' . + + + @param t (C++: type_t) + +Help on function is_type_bool in module ida_typeinf: + +is_type_bool(*args) + is_type_bool(t) -> bool + + + See 'BTF_BOOL' . + + + @param t (C++: type_t) + +Help on function is_type_char in module ida_typeinf: + +is_type_char(*args) + is_type_char(t) -> bool + + + Does the type specify a char value? (signed or unsigned, see 'Basic + type: integer' ) + + + @param t (C++: type_t) + +Help on function is_type_complex in module ida_typeinf: + +is_type_complex(*args) + is_type_complex(t) -> bool + + + See 'BT_COMPLEX' . + + + @param t (C++: type_t) + +Help on function is_type_const in module ida_typeinf: + +is_type_const(*args) + is_type_const(t) -> bool + + + See 'BTM_CONST' . + + + @param t (C++: type_t) + +Help on function is_type_double in module ida_typeinf: + +is_type_double(*args) + is_type_double(t) -> bool + + + See 'BTF_DOUBLE' . + + + @param t (C++: type_t) + +Help on function is_type_enum in module ida_typeinf: + +is_type_enum(*args) + is_type_enum(t) -> bool + + + See 'BTF_ENUM' . + + + @param t (C++: type_t) + +Help on function is_type_ext_arithmetic in module ida_typeinf: + +is_type_ext_arithmetic(*args) + is_type_ext_arithmetic(t) -> bool + + + Is the type an extended arithmetic type? (arithmetic or enum) + + + @param t (C++: type_t) + +Help on function is_type_ext_integral in module ida_typeinf: + +is_type_ext_integral(*args) + is_type_ext_integral(t) -> bool + + + Is the type an extended integral type? (integral or enum) + + + @param t (C++: type_t) + +Help on function is_type_float in module ida_typeinf: + +is_type_float(*args) + is_type_float(t) -> bool + + + See 'BTF_FLOAT' . + + + @param t (C++: type_t) + +Help on function is_type_floating in module ida_typeinf: + +is_type_floating(*args) + is_type_floating(t) -> bool + + + Is the type a floating point type? + + + @param t (C++: type_t) + +Help on function is_type_func in module ida_typeinf: + +is_type_func(*args) + is_type_func(t) -> bool + + + See 'BT_FUNC' . + + + @param t (C++: type_t) + +Help on function is_type_int in module ida_typeinf: + +is_type_int(*args) + is_type_int(bt) -> bool + + + Does the type_t specify one of the basic types in 'Basic type: + integer' ? + + + @param bt (C++: type_t) + +Help on function is_type_int128 in module ida_typeinf: + +is_type_int128(*args) + 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) + +Help on function is_type_int16 in module ida_typeinf: + +is_type_int16(*args) + 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) + +Help on function is_type_int32 in module ida_typeinf: + +is_type_int32(*args) + 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) + +Help on function is_type_int64 in module ida_typeinf: + +is_type_int64(*args) + 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) + +Help on function is_type_integral in module ida_typeinf: + +is_type_integral(*args) + is_type_integral(t) -> bool + + + Is the type an integral type (char/short/int/long/bool)? + + + @param t (C++: type_t) + +Help on function is_type_ldouble in module ida_typeinf: + +is_type_ldouble(*args) + is_type_ldouble(t) -> bool + + + See 'BTF_LDOUBLE' . + + + @param t (C++: type_t) + +Help on function is_type_paf in module ida_typeinf: + +is_type_paf(*args) + is_type_paf(t) -> bool + + + Is the type a pointer, array, or function type? + + + @param t (C++: type_t) + +Help on function is_type_partial in module ida_typeinf: + +is_type_partial(*args) + 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) + +Help on function is_type_ptr in module ida_typeinf: + +is_type_ptr(*args) + is_type_ptr(t) -> bool + + + See 'BT_PTR' . + + + @param t (C++: type_t) + +Help on function is_type_ptr_or_array in module ida_typeinf: + +is_type_ptr_or_array(*args) + is_type_ptr_or_array(t) -> bool + + + Is the type a pointer or array type? + + + @param t (C++: type_t) + +Help on function is_type_struct in module ida_typeinf: + +is_type_struct(*args) + is_type_struct(t) -> bool + + + See 'BTF_STRUCT' . + + + @param t (C++: type_t) + +Help on function is_type_struni in module ida_typeinf: + +is_type_struni(*args) + is_type_struni(t) -> bool + + + Is the type a struct or union? + + + @param t (C++: type_t) + +Help on function is_type_sue in module ida_typeinf: + +is_type_sue(*args) + is_type_sue(t) -> bool + + + Is the type a struct/union/enum? + + + @param t (C++: type_t) + +Help on function is_type_tbyte in module ida_typeinf: + +is_type_tbyte(*args) + is_type_tbyte(t) -> bool + + + See 'BTF_FLOAT' . + + + @param t (C++: type_t) + +Help on function is_type_typedef in module ida_typeinf: + +is_type_typedef(*args) + is_type_typedef(t) -> bool + + + See 'BTF_TYPEDEF' . + + + @param t (C++: type_t) + +Help on function is_type_uchar in module ida_typeinf: + +is_type_uchar(*args) + is_type_uchar(t) -> bool + + + See 'BTF_UCHAR' . + + + @param t (C++: type_t) + +Help on function is_type_uint in module ida_typeinf: + +is_type_uint(*args) + is_type_uint(t) -> bool + + + See 'BTF_UINT' . + + + @param t (C++: type_t) + +Help on function is_type_uint128 in module ida_typeinf: + +is_type_uint128(*args) + is_type_uint128(t) -> bool + + + See 'BTF_UINT128' . + + + @param t (C++: type_t) + +Help on function is_type_uint16 in module ida_typeinf: + +is_type_uint16(*args) + is_type_uint16(t) -> bool + + + See 'BTF_UINT16' . + + + @param t (C++: type_t) + +Help on function is_type_uint32 in module ida_typeinf: + +is_type_uint32(*args) + is_type_uint32(t) -> bool + + + See 'BTF_UINT32' . + + + @param t (C++: type_t) + +Help on function is_type_uint64 in module ida_typeinf: + +is_type_uint64(*args) + is_type_uint64(t) -> bool + + + See 'BTF_UINT64' . + + + @param t (C++: type_t) + +Help on function is_type_union in module ida_typeinf: + +is_type_union(*args) + is_type_union(t) -> bool + + + See 'BTF_UNION' . + + + @param t (C++: type_t) + +Help on function is_type_unknown in module ida_typeinf: + +is_type_unknown(*args) + is_type_unknown(t) -> bool + + + See 'BT_UNKNOWN' . + + + @param t (C++: type_t) + +Help on function is_type_void in module ida_typeinf: + +is_type_void(*args) + is_type_void(t) -> bool + + + See 'BTF_VOID' . + + + @param t (C++: type_t) + +Help on function is_type_volatile in module ida_typeinf: + +is_type_volatile(*args) + is_type_volatile(t) -> bool + + + See 'BTM_VOLATILE' . + + + @param t (C++: type_t) + +Help on function is_typeid_last in module ida_typeinf: + +is_typeid_last(*args) + 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) + +Help on function is_user_cc in module ida_typeinf: + +is_user_cc(*args) + is_user_cc(cm) -> bool + + + Does the calling convention specify argument locations explicitly? + + + @param cm (C++: cm_t) + +Help on function is_vararg_cc in module ida_typeinf: + +is_vararg_cc(*args) + is_vararg_cc(cm) -> bool + + + Does the calling convention use ellipsis? + + + @param cm (C++: cm_t) + +Help on function lexcompare_tinfo in module ida_typeinf: + +lexcompare_tinfo(*args) + lexcompare_tinfo(t1, t2, arg3) -> int + +Help on function load_til in module ida_typeinf: + +load_til(*args) + load_til(name, tildir=None) -> til_t + + + Load til from a file. Failure to load base tils are reported into + 'errbuf'. They do not prevent loading of the main til. + + @param name: filename of the til. If it's an absolute path, tildir is + ignored. NB: the file extension is forced to .til (C++: + const char *) + @param tildir: directory where to load the til from. NULL means + default til subdirectories. (C++: const char *) + @return: pointer to resulting til, NULL if failed and error message is + in errbuf + +Help on function load_til_header in module ida_typeinf: + +load_til_header(*args) + load_til_header(tildir, name) -> til_t + + + Get human-readable til description. + + + @param tildir (C++: const char *) + @param name (C++: const char *) + +Help on function lower_type in module ida_typeinf: + +lower_type(*args) + 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, etcWe 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 childrentypes walked through by recursion. + + @param til (C++: til_t *) + @param tif (C++: tinfo_t *) + @param name (C++: const char *) + @param _helper (C++: lowertype_helper_t *) + +Help on class lowertype_helper_t in module ida_typeinf: + +class lowertype_helper_t(__builtin__.object) + | Proxy of C++ lowertype_helper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | func_has_stkframe_hole(self, *args) + | func_has_stkframe_hole(self, candidate, candidate_data) -> bool + | + | get_func_purged_bytes(self, *args) + | get_func_purged_bytes(self, candidate, candidate_data) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_lowertype_helper_t(self) + +Help on function new_til in module ida_typeinf: + +new_til(*args) + new_til(name, desc) -> til_t + + + Initialize a til. + + + @param name (C++: const char *) + @param desc (C++: const char *) + +Help on function next_named_type in module ida_typeinf: + +next_named_type(*args) + next_named_type(ti, name, ntf_flags) -> char const * + + + Enumerate types. Returns mangled names. Never returns anonymous types. + To include it, enumerate types by ordinals. + + @param ti (C++: const til_t *) + @param name (C++: const char *) + @param ntf_flags (C++: int) + +Help on function optimize_argloc in module ida_typeinf: + +optimize_argloc(*args) + optimize_argloc(vloc, size, gaps) -> bool + + + Verify and optimize scattered argloc into simple form. All new arglocs + must be processed by this function. + + @param vloc (C++: argloc_t *) + @param size (C++: int) + @param gaps (C++: const rangeset_t *) + +Help on function pack_idcobj_to_bv in module ida_typeinf: + +pack_idcobj_to_bv(*args) + 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 *) + @param tif (C++: const tinfo_t &) + @param bytes (C++: relobj_t *) + @param objoff (C++: void *) + @param pio_flags (C++: int) + +Help on function pack_idcobj_to_idb in module ida_typeinf: + +pack_idcobj_to_idb(*args) + 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 *) + @param tif (C++: const tinfo_t &) + @param ea (C++: ea_t) + @param pio_flags (C++: int) + +Help on function pack_object_to_bv in module ida_typeinf: + +pack_object_to_bv(*args) + pack_object_to_bv(py_obj, ti, _type, _fields, base_ea, pio_flags=0) -> PyObject * + + + Packs a typed object to a string + @param ti: Type info. 'None' can be passed. + @param tp: type string + @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 + +Help on function pack_object_to_idb in module ida_typeinf: + +pack_object_to_idb(*args) + 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 ti: Type info. 'None' can be passed. + @param tp: type string + @param fields: fields string (may be empty or None) + @param ea: ea to be used while packing + @param pio_flags: flags used while unpacking + +Help on function parse_decl in module ida_typeinf: + +parse_decl(*args) + parse_decl(tif, til, decl, 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.name & tif may be + empty after the call! + + @param tif: type info (C++: tinfo_t *) + @param til: type library to use. may be NULL (C++: til_t *) + @param decl: C declaration to parse (C++: const char *) + @param flags: combination of Type parsing flags bits (C++: int) + +Help on function parse_decls in module ida_typeinf: + +parse_decls(*args) + 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: type library to store the result (C++: til_t *) + @param input: input string or file name (see hti_flags) (C++: const + char *) + @param printer: function to output error messages (use msg or NULL or + your own callback) (C++: printer_t *) + @param hti_flags: combination of Type formatting flags (C++: int) + @return: number of errors, 0 means ok. + +Help on class predicate_t in module ida_typeinf: + +class predicate_t(__builtin__.object) + | Proxy of C++ predicate_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> predicate_t + | + | __repr__ = _swig_repr(self) + | + | should_display(self, *args) + | should_display(self, til, name, type, fields) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_predicate_t(self) + +Help on function print_argloc in module ida_typeinf: + +print_argloc(*args) + print_argloc(vloc, size=0, vflags=0) -> str + + + Convert an argloc to human readable form. + + + @param vloc (C++: const argloc_t &) + @param size (C++: int) + @param vflags (C++: int) + +Help on function print_decls in module ida_typeinf: + +print_decls(*args) + print_decls(printer, til, py_ordinals, flags) -> PyObject * + + + Print types (and possibly their dependencies) in a format suitable for + use in a header file. This is the reverse 'parse_decls()' . + + @param printer: a handler for printing text (C++: text_sink_t &) + @param til: the type library holding the ordinals (C++: til_t *) + @param flags: flags for the algorithm. A combination of PDF_* + constants (C++: uint32) + +Help on function print_tinfo in module ida_typeinf: + +print_tinfo(*args) + print_tinfo(prefix, indent, cmtindent, flags, tif, name, cmt) -> str + +Help on function print_type in module ida_typeinf: + +print_type(*args) + print_type(ea, prtype_flags) -> str + + + Get type declaration for the specified address. + + @param ea: address (C++: ea_t) + @param prtype_flags: combination of Type printing flags (C++: int) + @return: success + +Help on class ptr_type_data_t in module ida_typeinf: + +class ptr_type_data_t(__builtin__.object) + | Proxy of C++ ptr_type_data_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, c=tinfo_t(), bps=0, p=tinfo_t(), d=0) -> ptr_type_data_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | is_code_ptr(self, *args) + | is_code_ptr(self) -> bool + | + | is_shifted(self, *args) + | is_shifted(self) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | based_ptr_size + | ptr_type_data_t_based_ptr_size_get(self) -> uchar + | + | closure + | ptr_type_data_t_closure_get(self) -> tinfo_t + | + | delta + | ptr_type_data_t_delta_get(self) -> int32 + | + | obj_type + | ptr_type_data_t_obj_type_get(self) -> tinfo_t + | + | parent + | ptr_type_data_t_parent_get(self) -> tinfo_t + | + | taptr_bits + | ptr_type_data_t_taptr_bits_get(self) -> uchar + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_ptr_type_data_t(self) + +Help on function read_tinfo_bitfield_value in module ida_typeinf: + +read_tinfo_bitfield_value(*args) + read_tinfo_bitfield_value(typid, v, bitoff) -> uint64 + +Help on class reginfovec_t in module ida_typeinf: + +class reginfovec_t(__builtin__.object) + | Proxy of C++ qvector< reg_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> reg_info_t + | + | __init__(self, *args) + | __init__(self) -> reginfovec_t + | __init__(self, x) -> reginfovec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> reg_info_t + | begin(self) -> reg_info_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> reg_info_t + | end(self) -> reg_info_t + | + | erase(self, *args) + | erase(self, it) -> reg_info_t + | erase(self, first, last) -> reg_info_t + | + | extract(self, *args) + | extract(self) -> reg_info_t + | + | find(self, *args) + | find(self, x) -> reg_info_t + | find(self, x) -> reg_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=reg_info_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> reg_info_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> reg_info_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_reginfovec_t(self) + +Help on class regobj_t in module ida_typeinf: + +class regobj_t(__builtin__.object) + | Proxy of C++ regobj_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regobj_t + | + | __repr__ = _swig_repr(self) + | + | size(self, *args) + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | regidx + | regobj_t_regidx_get(self) -> int + | + | relocate + | regobj_t_relocate_get(self) -> int + | + | thisown + | The membership flag + | + | value + | regobj_t_value_get(self) -> bytevec_t * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regobj_t(self) + +Help on class regobjs_t in module ida_typeinf: + +class regobjs_t(regobjvec_t) + | Proxy of C++ regobjs_t class. + | + | Method resolution order: + | regobjs_t + | regobjvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regobjs_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regobjs_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from regobjvec_t: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> regobj_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> regobj_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> regobj_t + | begin(self) -> regobj_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> regobj_t + | end(self) -> regobj_t + | + | erase(self, *args) + | erase(self, it) -> regobj_t + | erase(self, first, last) -> regobj_t + | + | extract(self, *args) + | extract(self) -> regobj_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=regobj_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> regobj_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> regobj_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from regobjvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class regobjvec_t in module ida_typeinf: + +class regobjvec_t(__builtin__.object) + | Proxy of C++ qvector< regobj_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> regobj_t + | + | __init__(self, *args) + | __init__(self) -> regobjvec_t + | __init__(self, x) -> regobjvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> regobj_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> regobj_t + | begin(self) -> regobj_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> regobj_t + | end(self) -> regobj_t + | + | erase(self, *args) + | erase(self, it) -> regobj_t + | erase(self, first, last) -> regobj_t + | + | extract(self, *args) + | extract(self) -> regobj_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=regobj_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> regobj_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> regobj_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_regobjvec_t(self) + +Help on function remove_abi_opts in module ida_typeinf: + +remove_abi_opts(*args) + remove_abi_opts(abi_opts, user_level=False) -> bool + +Help on function remove_pointer in module ida_typeinf: + +remove_pointer(*args) + remove_pointer(tif) -> tinfo_t + + + '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() + + @param tif (C++: const tinfo_t &) + +Help on function remove_tinfo_pointer in module ida_typeinf: + +remove_tinfo_pointer(*args) + remove_tinfo_pointer(tif, name, til) -> PyObject * + + + 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 til (C++: const til_t *) + +Help on function replace_ordinal_typerefs in module ida_typeinf: + +replace_ordinal_typerefs(*args) + 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: type library to use. may be NULL. (C++: til_t *) + @param tif: type to modify (in/out) (C++: tinfo_t *) + +Help on function resolve_typedef in module ida_typeinf: + +resolve_typedef(*args) + resolve_typedef(til, type) -> type_t const * + +Help on class rrel_t in module ida_typeinf: + +class rrel_t(__builtin__.object) + | Proxy of C++ rrel_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rrel_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | rrel_t_off_get(self) -> sval_t + | + | reg + | rrel_t_reg_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_rrel_t(self) + +Help on function save_tinfo in module ida_typeinf: + +save_tinfo(*args) + save_tinfo(tif, til, ord, name, ntf_flags) -> tinfo_code_t + +Help on class scattered_aloc_t in module ida_typeinf: + +class scattered_aloc_t(argpartvec_t) + | Proxy of C++ scattered_aloc_t class. + | + | Method resolution order: + | scattered_aloc_t + | argpartvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> scattered_aloc_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_scattered_aloc_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from argpartvec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> argpart_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> argpart_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> argpart_t + | begin(self) -> argpart_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> argpart_t + | end(self) -> argpart_t + | + | erase(self, *args) + | erase(self, it) -> argpart_t + | erase(self, first, last) -> argpart_t + | + | extract(self, *args) + | extract(self) -> argpart_t + | + | find(self, *args) + | find(self, x) -> argpart_t + | find(self, x) -> argpart_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=argpart_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> argpart_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> argpart_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from argpartvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function score_tinfo in module ida_typeinf: + +score_tinfo(*args) + score_tinfo(tif) -> uint32 + +Help on function serialize_tinfo in module ida_typeinf: + +serialize_tinfo(*args) + serialize_tinfo(type, fields, fldcmts, tif, sudt_flags) -> bool + +Help on function set_abi_name in module ida_typeinf: + +set_abi_name(*args) + set_abi_name(abiname, user_level=False) -> bool + + + Set abi name (see 'Compiler IDs' ) + + + @param abiname (C++: const char *) + @param user_level (C++: bool) + +Help on function set_c_header_path in module ida_typeinf: + +set_c_header_path(*args) + set_c_header_path(incdir) + + + Set include directory path the target compiler. + + + @param incdir (C++: const char *) + +Help on function set_c_macros in module ida_typeinf: + +set_c_macros(*args) + set_c_macros(macros) + + + Set predefined macros for the target compiler. + + + @param macros (C++: const char *) + +Help on function set_compiler in module ida_typeinf: + +set_compiler(*args) + set_compiler(cc, flags, abiname=None) -> bool + + + Change current compiler. + + @param cc: compiler to switch to (C++: const compiler_info_t &) + @param flags: Set compiler flags (C++: int) + @param abiname: ABI name (C++: const char *) + @return: success + +Help on function set_compiler_id in module ida_typeinf: + +set_compiler_id(*args) + set_compiler_id(id, abiname=None) -> bool + + + Set the compiler id (see 'Compiler IDs' ) + + + @param id (C++: comp_t) + @param abiname (C++: const char *) + +Help on function set_compiler_string in module ida_typeinf: + +set_compiler_string(*args) + set_compiler_string(compstr, user_level) -> bool + +Help on function set_numbered_type in module ida_typeinf: + +set_numbered_type(*args) + set_numbered_type(ti, ordinal, ntf_flags, name, type, fields=None, cmt=None, fldcmts=None, sclass=None) -> tinfo_code_t + + + Store a type in the til. 'name' may be NULL for anonymous types. The + specified ordinal must be free (no other type is using it). For + ntf_flags, only 'NTF_REPLACE' is consulted. + + @param ti (C++: til_t *) + @param ordinal (C++: uint32) + @param ntf_flags (C++: int) + @param name (C++: const char *) + @param type (C++: const type_t *) + @param fields (C++: const p_list *) + @param cmt (C++: const char *) + @param fldcmts (C++: const p_list *) + @param sclass (C++: const sclass_t *) + +Help on function set_tinfo_attr in module ida_typeinf: + +set_tinfo_attr(*args) + set_tinfo_attr(tif, ta, may_overwrite) -> bool + +Help on function set_tinfo_attrs in module ida_typeinf: + +set_tinfo_attrs(*args) + set_tinfo_attrs(tif, ta) -> bool + +Help on function set_tinfo_property in module ida_typeinf: + +set_tinfo_property(*args) + set_tinfo_property(tif, sta_prop, x) -> size_t + +Help on function set_type_alias in module ida_typeinf: + +set_type_alias(*args) + 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 + reference to srctype by dsttype. + + @param ti (C++: til_t *) + @param src_ordinal (C++: uint32) + @param dst_ordinal (C++: uint32) + +Help on class simd_info_t in module ida_typeinf: + +class simd_info_t(__builtin__.object) + | Proxy of C++ simd_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, nm=None, sz=0, memt=BTF_UNK) -> simd_info_t + | + | __repr__ = _swig_repr(self) + | + | match_pattern(self, *args) + | match_pattern(self, pattern) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | memtype + | simd_info_t_memtype_get(self) -> type_t + | + | name + | simd_info_t_name_get(self) -> char const * + | + | size + | simd_info_t_size_get(self) -> uint16 + | + | thisown + | The membership flag + | + | tif + | simd_info_t_tif_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_simd_info_t(self) + +Help on function store_til in module ida_typeinf: + +store_til(*args) + 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: type library to store (C++: til_t *) + @param tildir: directory where to store the til. NULL means current + directory. (C++: const char *) + @param name: filename of the til. If it's an absolute path, tildir is + ignored. NB: the file extension is forced to .til (C++: + const char *) + @return: success + +Help on class text_sink_t in module ida_typeinf: + +class text_sink_t(__builtin__.object) + | Proxy of C++ text_sink_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> text_sink_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) + | _print(self, str) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_text_sink_t(self) + +Help on class til_symbol_t in module ida_typeinf: + +class til_symbol_t(__builtin__.object) + | Proxy of C++ til_symbol_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=None, t=None) -> til_symbol_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | til_symbol_t_name_get(self) -> char const * + | + | thisown + | The membership flag + | + | til + | til_symbol_t_til_get(self) -> til_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_til_symbol_t(self) + +Help on class til_t in module ida_typeinf: + +class til_t(__builtin__.object) + | Proxy of C++ til_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> til_t + | + | __repr__ = _swig_repr(self) + | + | base(self, *args) + | base(self, n) -> til_t + | + | is_dirty(self, *args) + | is_dirty(self) -> bool + | + | set_dirty(self, *args) + | set_dirty(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cc + | til_t_cc_get(self) -> compiler_info_t + | + | desc + | til_t_desc_get(self) -> char * + | + | flags + | til_t_flags_get(self) -> uint32 + | + | name + | til_t_name_get(self) -> char * + | + | nbases + | til_t_nbases_get(self) -> int + | + | nrefs + | til_t_nrefs_get(self) -> int + | + | nstreams + | til_t_nstreams_get(self) -> int + | + | streams + | til_t_streams_get(self) -> til_stream_t ** + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_til_t(self) + +Help on class tinfo_t in module ida_typeinf: + +class tinfo_t(__builtin__.object) + | Proxy of C++ tinfo_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __gt__(self, *args) + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> tinfo_t + | __init__(self, decl_type) -> tinfo_t + | __init__(self, r) -> tinfo_t + | + | __le__(self, *args) + | __le__(self, r) -> bool + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) + | __str__(self) -> qstring + | + | _print(self, *args) + | _print(self, name=None, prtype_flags=0, indent=0, cmtindent=0, prefix=None, cmt=None) -> bool + | + | append_covered(self, *args) + | append_covered(self, out, offset=0) -> bool + | + | calc_gaps(self, *args) + | calc_gaps(self, out) -> bool + | + | calc_purged_bytes(self, *args) + | calc_purged_bytes(self) -> int + | + | calc_score(self, *args) + | calc_score(self) -> uint32 + | + | calc_udt_aligns(self, *args) + | calc_udt_aligns(self, sudt_flags=0x0004) -> bool + | + | change_sign(self, *args) + | change_sign(self, sign) -> bool + | + | clear(self, *args) + | clear(self) + | + | clr_const(self, *args) + | clr_const(self) + | + | clr_const_volatile(self, *args) + | clr_const_volatile(self) + | + | clr_volatile(self, *args) + | clr_volatile(self) + | + | compare(self, *args) + | compare(self, r) -> int + | + | compare_with(self, *args) + | compare_with(self, r, tcflags=0) -> bool + | + | convert_array_to_ptr(self, *args) + | convert_array_to_ptr(self) -> bool + | + | copy(self, *args) + | copy(self) -> tinfo_t + | + | create_array(self, *args) + | create_array(self, p, decl_type=BT_ARRAY) -> bool + | create_array(self, tif, nelems=0, base=0, decl_type=BT_ARRAY) -> bool + | + | create_bitfield(self, *args) + | create_bitfield(self, p, decl_type=BT_BITFIELD) -> bool + | create_bitfield(self, nbytes, width, is_unsigned=False, decl_type=BT_BITFIELD) -> bool + | + | create_enum(self, *args) + | create_enum(self, p, decl_type=BTF_ENUM) -> bool + | + | create_forward_decl(self, *args) + | create_forward_decl(self, til, decl_type, name, ntf_flags=0) -> tinfo_code_t + | + | create_func(self, *args) + | create_func(self, p, decl_type=BT_FUNC) -> bool + | + | create_ptr(self, *args) + | create_ptr(self, p, decl_type=BT_PTR) -> bool + | create_ptr(self, tif, bps=0, decl_type=BT_PTR) -> bool + | + | create_simple_type(self, *args) + | create_simple_type(self, decl_type) -> bool + | + | create_typedef(self, *args) + | create_typedef(self, p, decl_type=BTF_TYPEDEF, try_ordinal=True) -> bool + | create_typedef(self, til, name, decl_type=BTF_TYPEDEF, try_ordinal=True) + | create_typedef(self, til, ord, decl_type=BTF_TYPEDEF) + | + | create_udt(self, *args) + | create_udt(self, p, decl_type) -> bool + | + | del_attr(self, *args) + | del_attr(self, key, make_copy=True) -> bool + | + | del_attrs(self, *args) + | del_attrs(self) + | + | deserialize(self, *args) + | deserialize(self, til, ptype, pfields=None, pfldcmts=None) -> bool + | deserialize(self, til, type, fields, cmts=None) -> bool + | + | dstr(self, *args) + | dstr(self) -> char const * + | + | empty(self, *args) + | empty(self) -> bool + | + | equals_to(self, *args) + | equals_to(self, r) -> bool + | + | find_udt_member(self, *args) + | find_udt_member(self, udm, strmem_flags) -> int + | + | get_array_details(self, *args) + | get_array_details(self, ai) -> bool + | + | get_array_element(self, *args) + | get_array_element(self) -> tinfo_t + | + | get_array_nelems(self, *args) + | get_array_nelems(self) -> int + | + | get_attr(self, *args) + | get_attr(self, key, all_attrs=True) -> PyObject * + | + | get_attrs(self, *args) + | get_attrs(self, tav, all_attrs=False) -> bool + | + | get_bitfield_details(self, *args) + | get_bitfield_details(self, bi) -> bool + | + | get_declalign(self, *args) + | get_declalign(self) -> uchar + | + | get_decltype(self, *args) + | get_decltype(self) -> type_t + | + | get_enum_base_type(self, *args) + | get_enum_base_type(self) -> type_t + | + | get_enum_details(self, *args) + | get_enum_details(self, ei) -> bool + | + | get_final_ordinal(self, *args) + | get_final_ordinal(self) -> uint32 + | + | get_final_type_name(self, *args) + | get_final_type_name(self) -> bool + | + | get_func_details(self, *args) + | get_func_details(self, fi, gtd=GTD_CALC_ARGLOCS) -> bool + | + | get_modifiers(self, *args) + | get_modifiers(self) -> type_t + | + | get_named_type(self, *args) + | get_named_type(self, til, name, decl_type=BTF_TYPEDEF, resolve=True, try_ordinal=True) -> bool + | + | get_nargs(self, *args) + | get_nargs(self) -> int + | + | get_next_type_name(self, *args) + | get_next_type_name(self) -> bool + | + | get_nth_arg(self, *args) + | get_nth_arg(self, n) -> tinfo_t + | + | get_numbered_type(self, *args) + | get_numbered_type(self, til, ordinal, decl_type=BTF_TYPEDEF, resolve=True) -> bool + | + | get_onemember_type(self, *args) + | get_onemember_type(self) -> tinfo_t + | + | get_ordinal(self, *args) + | get_ordinal(self) -> uint32 + | + | get_pointed_object(self, *args) + | get_pointed_object(self) -> tinfo_t + | + | get_ptr_details(self, *args) + | get_ptr_details(self, pi) -> bool + | + | get_ptrarr_object(self, *args) + | get_ptrarr_object(self) -> tinfo_t + | + | get_ptrarr_objsize(self, *args) + | get_ptrarr_objsize(self) -> int + | + | get_realtype(self, *args) + | get_realtype(self, full=False) -> type_t + | + | get_rettype(self, *args) + | get_rettype(self) -> tinfo_t + | + | get_sign(self, *args) + | get_sign(self) -> type_sign_t + | + | get_size(self, *args) + | get_size(self, p_effalign=None, gts_code=0) -> size_t + | + | get_til(self, *args) + | get_til(self) -> til_t + | + | get_type_name(self, *args) + | get_type_name(self) -> bool + | + | get_udt_details(self, *args) + | get_udt_details(self, udt, gtd=GTD_CALC_LAYOUT) -> bool + | + | get_udt_nmembers(self, *args) + | get_udt_nmembers(self) -> int + | + | get_unpadded_size(self, *args) + | get_unpadded_size(self) -> size_t + | + | has_details(self, *args) + | has_details(self) -> bool + | + | has_vftable(self, *args) + | has_vftable(self) -> bool + | + | is_anonymous_udt(self, *args) + | is_anonymous_udt(self) -> bool + | + | is_arithmetic(self, *args) + | is_arithmetic(self) -> bool + | + | is_array(self, *args) + | is_array(self) -> bool + | + | is_bitfield(self, *args) + | is_bitfield(self) -> bool + | + | is_bool(self, *args) + | is_bool(self) -> bool + | + | is_castable_to(self, *args) + | is_castable_to(self, target) -> bool + | + | is_char(self, *args) + | is_char(self) -> bool + | + | is_complex(self, *args) + | is_complex(self) -> bool + | + | is_const(self, *args) + | is_const(self) -> bool + | + | is_correct(self, *args) + | is_correct(self) -> bool + | + | is_decl_array(self, *args) + | is_decl_array(self) -> bool + | + | is_decl_bitfield(self, *args) + | is_decl_bitfield(self) -> bool + | + | is_decl_bool(self, *args) + | is_decl_bool(self) -> bool + | + | is_decl_char(self, *args) + | is_decl_char(self) -> bool + | + | is_decl_complex(self, *args) + | is_decl_complex(self) -> bool + | + | is_decl_const(self, *args) + | is_decl_const(self) -> bool + | + | is_decl_double(self, *args) + | is_decl_double(self) -> bool + | + | is_decl_enum(self, *args) + | is_decl_enum(self) -> bool + | + | is_decl_float(self, *args) + | is_decl_float(self) -> bool + | + | is_decl_floating(self, *args) + | is_decl_floating(self) -> bool + | + | is_decl_func(self, *args) + | is_decl_func(self) -> bool + | + | is_decl_int(self, *args) + | is_decl_int(self) -> bool + | + | is_decl_int128(self, *args) + | is_decl_int128(self) -> bool + | + | is_decl_int16(self, *args) + | is_decl_int16(self) -> bool + | + | is_decl_int32(self, *args) + | is_decl_int32(self) -> bool + | + | is_decl_int64(self, *args) + | is_decl_int64(self) -> bool + | + | is_decl_last(self, *args) + | is_decl_last(self) -> bool + | + | is_decl_ldouble(self, *args) + | is_decl_ldouble(self) -> bool + | + | is_decl_paf(self, *args) + | is_decl_paf(self) -> bool + | + | is_decl_partial(self, *args) + | is_decl_partial(self) -> bool + | + | is_decl_ptr(self, *args) + | is_decl_ptr(self) -> bool + | + | is_decl_struct(self, *args) + | is_decl_struct(self) -> bool + | + | is_decl_sue(self, *args) + | is_decl_sue(self) -> bool + | + | is_decl_tbyte(self, *args) + | is_decl_tbyte(self) -> bool + | + | is_decl_typedef(self, *args) + | is_decl_typedef(self) -> bool + | + | is_decl_uchar(self, *args) + | is_decl_uchar(self) -> bool + | + | is_decl_udt(self, *args) + | is_decl_udt(self) -> bool + | + | is_decl_uint(self, *args) + | is_decl_uint(self) -> bool + | + | is_decl_uint128(self, *args) + | is_decl_uint128(self) -> bool + | + | is_decl_uint16(self, *args) + | is_decl_uint16(self) -> bool + | + | is_decl_uint32(self, *args) + | is_decl_uint32(self) -> bool + | + | is_decl_uint64(self, *args) + | is_decl_uint64(self) -> bool + | + | is_decl_union(self, *args) + | is_decl_union(self) -> bool + | + | is_decl_unknown(self, *args) + | is_decl_unknown(self) -> bool + | + | is_decl_void(self, *args) + | is_decl_void(self) -> bool + | + | is_decl_volatile(self, *args) + | is_decl_volatile(self) -> bool + | + | is_double(self, *args) + | is_double(self) -> bool + | + | is_empty_udt(self, *args) + | is_empty_udt(self) -> bool + | + | is_enum(self, *args) + | is_enum(self) -> bool + | + | is_ext_arithmetic(self, *args) + | is_ext_arithmetic(self) -> bool + | + | is_ext_integral(self, *args) + | is_ext_integral(self) -> bool + | + | is_float(self, *args) + | is_float(self) -> bool + | + | is_floating(self, *args) + | is_floating(self) -> bool + | + | is_forward_decl(self, *args) + | is_forward_decl(self) -> bool + | + | is_from_subtil(self, *args) + | is_from_subtil(self) -> bool + | + | is_func(self, *args) + | is_func(self) -> bool + | + | is_funcptr(self, *args) + | is_funcptr(self) -> bool + | + | is_high_func(self, *args) + | is_high_func(self) -> bool + | + | is_int(self, *args) + | is_int(self) -> bool + | + | is_int128(self, *args) + | is_int128(self) -> bool + | + | is_int16(self, *args) + | is_int16(self) -> bool + | + | is_int32(self, *args) + | is_int32(self) -> bool + | + | is_int64(self, *args) + | is_int64(self) -> bool + | + | is_integral(self, *args) + | is_integral(self) -> bool + | + | is_ldouble(self, *args) + | is_ldouble(self) -> bool + | + | is_manually_castable_to(self, *args) + | is_manually_castable_to(self, target) -> bool + | + | is_one_fpval(self, *args) + | is_one_fpval(self) -> bool + | + | is_paf(self, *args) + | is_paf(self) -> bool + | + | is_partial(self, *args) + | is_partial(self) -> bool + | + | is_ptr(self, *args) + | is_ptr(self) -> bool + | + | is_ptr_or_array(self, *args) + | is_ptr_or_array(self) -> bool + | + | is_purging_cc(self, *args) + | is_purging_cc(self) -> bool + | + | is_pvoid(self, *args) + | is_pvoid(self) -> bool + | + | is_scalar(self, *args) + | is_scalar(self) -> bool + | + | is_shifted_ptr(self, *args) + | is_shifted_ptr(self) -> bool + | + | is_signed(self, *args) + | is_signed(self) -> bool + | + | is_small_udt(self, *args) + | is_small_udt(self) -> bool + | + | is_sse_type(self, *args) + | is_sse_type(self) -> bool + | + | is_struct(self, *args) + | is_struct(self) -> bool + | + | is_sue(self, *args) + | is_sue(self) -> bool + | + | is_tbyte(self, *args) + | is_tbyte(self) -> bool + | + | is_typeref(self, *args) + | is_typeref(self) -> bool + | + | is_uchar(self, *args) + | is_uchar(self) -> bool + | + | is_udt(self, *args) + | is_udt(self) -> bool + | + | is_uint(self, *args) + | is_uint(self) -> bool + | + | is_uint128(self, *args) + | is_uint128(self) -> bool + | + | is_uint16(self, *args) + | is_uint16(self) -> bool + | + | is_uint32(self, *args) + | is_uint32(self) -> bool + | + | is_uint64(self, *args) + | is_uint64(self) -> bool + | + | is_union(self, *args) + | is_union(self) -> bool + | + | is_unknown(self, *args) + | is_unknown(self) -> bool + | + | is_unsigned(self, *args) + | is_unsigned(self) -> bool + | + | is_user_cc(self, *args) + | is_user_cc(self) -> bool + | + | is_vararg_cc(self, *args) + | is_vararg_cc(self) -> bool + | + | is_varstruct(self, *args) + | is_varstruct(self) -> bool + | + | is_vftable(self, *args) + | is_vftable(self) -> bool + | + | is_void(self, *args) + | is_void(self) -> bool + | + | is_volatile(self, *args) + | is_volatile(self) -> bool + | + | is_well_defined(self, *args) + | is_well_defined(self) -> bool + | + | present(self, *args) + | present(self) -> bool + | + | read_bitfield_value(self, *args) + | read_bitfield_value(self, v, bitoff) -> uint64 + | + | remove_ptr_or_array(self, *args) + | remove_ptr_or_array(self) -> bool + | + | requires_qualifier(self, *args) + | requires_qualifier(self, name, offset) -> bool + | + | serialize(self, *args) + | serialize(self, sudt_flags=SUDT_FAST|SUDT_TRUNC) -> PyObject * + | + | set_attr(self, *args) + | set_attr(self, ta, may_overwrite=True) -> bool + | + | set_attrs(self, *args) + | set_attrs(self, tav) -> bool + | + | set_const(self, *args) + | set_const(self) + | + | set_declalign(self, *args) + | set_declalign(self, declalign) -> bool + | + | set_modifiers(self, *args) + | set_modifiers(self, mod) + | + | set_named_type(self, *args) + | set_named_type(self, til, name, ntf_flags=0) -> tinfo_code_t + | + | set_numbered_type(self, *args) + | set_numbered_type(self, til, ord, ntf_flags=0, name=None) -> tinfo_code_t + | + | set_symbol_type(self, *args) + | set_symbol_type(self, til, name, ntf_flags=0) -> tinfo_code_t + | + | set_volatile(self, *args) + | set_volatile(self) + | + | swap(self, *args) + | swap(self, r) + | + | write_bitfield_value(self, *args) + | write_bitfield_value(self, dst, v, bitoff) -> uint64 + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | get_stock(*args) + | get_stock(id) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tinfo_t(self) + +Help on function tinfo_t_get_stock in module ida_typeinf: + +tinfo_t_get_stock(*args) + tinfo_t_get_stock(id) -> tinfo_t + +Help on class tinfo_visitor_t in module ida_typeinf: + +class tinfo_visitor_t(__builtin__.object) + | Proxy of C++ tinfo_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, s=0) -> tinfo_visitor_t + | + | __repr__ = _swig_repr(self) + | + | apply_to(self, *args) + | apply_to(self, tif, out=None, name=None, cmt=None) -> int + | + | prune_now(self, *args) + | prune_now(self) + | + | visit_type(self, *args) + | visit_type(self, out, tif, name, cmt) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | state + | tinfo_visitor_t_state_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_tinfo_visitor_t(self) + +Help on class type_attr_t in module ida_typeinf: + +class type_attr_t(__builtin__.object) + | Proxy of C++ type_attr_t class. + | + | Methods defined here: + | + | __ge__(self, *args) + | __ge__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> type_attr_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | key + | type_attr_t_key_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | type_attr_t_value_get(self) -> bytevec_t * + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_type_attr_t(self) + +Help on class type_attrs_t in module ida_typeinf: + +class type_attrs_t(__builtin__.object) + | Proxy of C++ qvector< type_attr_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> type_attr_t + | + | __init__(self, *args) + | __init__(self) -> type_attrs_t + | __init__(self, x) -> type_attrs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> type_attr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> type_attr_t + | begin(self) -> type_attr_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> type_attr_t + | end(self) -> type_attr_t + | + | erase(self, *args) + | erase(self, it) -> type_attr_t + | erase(self, first, last) -> type_attr_t + | + | extract(self, *args) + | extract(self) -> type_attr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=type_attr_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> type_attr_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> type_attr_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_type_attrs_t(self) + +Help on class type_mods_t in module ida_typeinf: + +class type_mods_t(__builtin__.object) + | Proxy of C++ type_mods_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> type_mods_t + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) + | clear(self) + | + | has_cmt(self, *args) + | has_cmt(self) -> bool + | + | has_info(self, *args) + | has_info(self) -> bool + | + | has_name(self, *args) + | has_name(self) -> bool + | + | has_type(self, *args) + | has_type(self) -> bool + | + | set_new_cmt(self, *args) + | set_new_cmt(self, c) + | + | set_new_name(self, *args) + | set_new_name(self, n) + | + | set_new_type(self, *args) + | set_new_type(self, t) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | type_mods_t_cmt_get(self) -> qstring * + | + | flags + | type_mods_t_flags_get(self) -> int + | + | name + | type_mods_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | type_mods_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_type_mods_t(self) + +Help on class typedef_type_data_t in module ida_typeinf: + +class typedef_type_data_t(__builtin__.object) + | Proxy of C++ typedef_type_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _til, _name, _resolve=False) -> typedef_type_data_t + | __init__(self, _til, ord, _resolve=False) -> typedef_type_data_t + | + | __repr__ = _swig_repr(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | is_ordref + | typedef_type_data_t_is_ordref_get(self) -> bool + | + | resolve + | typedef_type_data_t_resolve_get(self) -> bool + | + | thisown + | The membership flag + | + | til + | typedef_type_data_t_til_get(self) -> til_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_typedef_type_data_t(self) + +Help on class udt_member_t in module ida_typeinf: + +class udt_member_t(__builtin__.object) + | Proxy of C++ udt_member_t class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> udt_member_t + | + | __lt__(self, *args) + | __lt__(self, r) -> bool + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | begin(self, *args) + | begin(self) -> uint64 + | + | clr_baseclass(self, *args) + | clr_baseclass(self) + | + | clr_unaligned(self, *args) + | clr_unaligned(self) + | + | clr_vftable(self, *args) + | clr_vftable(self) + | + | clr_virtbase(self, *args) + | clr_virtbase(self) + | + | end(self, *args) + | end(self) -> uint64 + | + | is_anonymous_udm(self, *args) + | is_anonymous_udm(self) -> bool + | + | is_baseclass(self, *args) + | is_baseclass(self) -> bool + | + | is_bitfield(self, *args) + | is_bitfield(self) -> bool + | + | is_unaligned(self, *args) + | is_unaligned(self) -> bool + | + | is_vftable(self, *args) + | is_vftable(self) -> bool + | + | is_virtbase(self, *args) + | is_virtbase(self) -> bool + | + | is_zero_bitfield(self, *args) + | is_zero_bitfield(self) -> bool + | + | set_baseclass(self, *args) + | set_baseclass(self) + | + | set_unaligned(self, *args) + | set_unaligned(self) + | + | set_vftable(self, *args) + | set_vftable(self) + | + | set_virtbase(self, *args) + | set_virtbase(self) + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | udt_member_t_cmt_get(self) -> qstring * + | + | effalign + | udt_member_t_effalign_get(self) -> int + | + | fda + | udt_member_t_fda_get(self) -> uchar + | + | name + | udt_member_t_name_get(self) -> qstring * + | + | offset + | udt_member_t_offset_get(self) -> uint64 + | + | size + | udt_member_t_size_get(self) -> uint64 + | + | tafld_bits + | udt_member_t_tafld_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | type + | udt_member_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udt_member_t(self) + +Help on class udt_type_data_t in module ida_typeinf: + +class udt_type_data_t(udtmembervec_t) + | Proxy of C++ udt_type_data_t class. + | + | Method resolution order: + | udt_type_data_t + | udtmembervec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> udt_type_data_t + | + | __repr__ = _swig_repr(self) + | + | is_cppobj(self, *args) + | is_cppobj(self) -> bool + | + | is_last_baseclass(self, *args) + | is_last_baseclass(self, idx) -> bool + | + | is_msstruct(self, *args) + | is_msstruct(self) -> bool + | + | is_unaligned(self, *args) + | is_unaligned(self) -> bool + | + | is_vftable(self, *args) + | is_vftable(self) -> bool + | + | swap(self, *args) + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | effalign + | udt_type_data_t_effalign_get(self) -> uint32 + | + | is_union + | udt_type_data_t_is_union_get(self) -> bool + | + | pack + | udt_type_data_t_pack_get(self) -> uchar + | + | sda + | udt_type_data_t_sda_get(self) -> uchar + | + | taudt_bits + | udt_type_data_t_taudt_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | total_size + | udt_type_data_t_total_size_get(self) -> size_t + | + | unpadded_size + | udt_type_data_t_unpadded_size_get(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udt_type_data_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from udtmembervec_t: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> udt_member_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> udt_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> udt_member_t + | begin(self) -> udt_member_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> udt_member_t + | end(self) -> udt_member_t + | + | erase(self, *args) + | erase(self, it) -> udt_member_t + | erase(self, first, last) -> udt_member_t + | + | extract(self, *args) + | extract(self) -> udt_member_t + | + | find(self, *args) + | find(self, x) -> udt_member_t + | find(self, x) -> udt_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=udt_member_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> udt_member_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> udt_member_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from udtmembervec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class udtmembervec_t in module ida_typeinf: + +class udtmembervec_t(__builtin__.object) + | Proxy of C++ qvector< udt_member_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> udt_member_t + | + | __init__(self, *args) + | __init__(self) -> udtmembervec_t + | __init__(self, x) -> udtmembervec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | at(self, *args) + | at(self, _idx) -> udt_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> udt_member_t + | begin(self) -> udt_member_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> udt_member_t + | end(self) -> udt_member_t + | + | erase(self, *args) + | erase(self, it) -> udt_member_t + | erase(self, first, last) -> udt_member_t + | + | extract(self, *args) + | extract(self) -> udt_member_t + | + | find(self, *args) + | find(self, x) -> udt_member_t + | find(self, x) -> udt_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=udt_member_t()) + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> udt_member_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> udt_member_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_udtmembervec_t(self) + +Help on function unpack_idcobj_from_bv in module ida_typeinf: + +unpack_idcobj_from_bv(*args) + 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 &) + @param bytes (C++: const bytevec_t &) + @param pio_flags (C++: int) + +Help on function unpack_idcobj_from_idb in module ida_typeinf: + +unpack_idcobj_from_idb(*args) + 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 &) + @param ea (C++: ea_t) + @param off0 (C++: const bytevec_t *) + @param pio_flags (C++: int) + +Help on function unpack_object_from_bv in module ida_typeinf: + +unpack_object_from_bv(*args) + 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 tp: type string + @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 + +Help on function unpack_object_from_idb in module ida_typeinf: + +unpack_object_from_idb(*args) + unpack_object_from_idb(ti, _type, _fields, ea, pio_flags=0) -> PyObject * + +Help on class valstr_t in module ida_typeinf: + +class valstr_t(__builtin__.object) + | Proxy of C++ valstr_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> valstr_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | info + | valstr_t_info_get(self) -> valinfo_t * + | + | length + | valstr_t_length_get(self) -> size_t + | + | members + | valstr_t_members_get(self) -> valstrs_t + | + | oneline + | valstr_t_oneline_get(self) -> qstring * + | + | props + | valstr_t_props_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_valstr_t(self) + +Help on class valstrs_t in module ida_typeinf: + +class valstrs_t(valstrvec_t) + | Proxy of C++ valstrs_t class. + | + | Method resolution order: + | valstrs_t + | valstrvec_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> valstrs_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_valstrs_t(self) + | + | ---------------------------------------------------------------------- + | Methods inherited from valstrvec_t: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> valstr_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> valstr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> valstr_t + | begin(self) -> valstr_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> valstr_t + | end(self) -> valstr_t + | + | erase(self, *args) + | erase(self, it) -> valstr_t + | erase(self, first, last) -> valstr_t + | + | extract(self, *args) + | extract(self) -> valstr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=valstr_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> valstr_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> valstr_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from valstrvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class valstrvec_t in module ida_typeinf: + +class valstrvec_t(__builtin__.object) + | Proxy of C++ qvector< valstr_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> valstr_t + | + | __init__(self, *args) + | __init__(self) -> valstrvec_t + | __init__(self, x) -> valstrvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | at(self, *args) + | at(self, _idx) -> valstr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> valstr_t + | begin(self) -> valstr_t + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> valstr_t + | end(self) -> valstr_t + | + | erase(self, *args) + | erase(self, it) -> valstr_t + | erase(self, first, last) -> valstr_t + | + | extract(self, *args) + | extract(self) -> valstr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=valstr_t()) + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> valstr_t + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> valstr_t + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_valstrvec_t(self) + +Help on function verify_argloc in module ida_typeinf: + +verify_argloc(*args) + verify_argloc(vloc, size, gaps) -> int + + + Verify 'argloc_t' . + + @param vloc (C++: const argloc_t &) + @param size: total size of the variable (C++: int) + @param gaps: if not NULL, specifies gaps in structure definition. + these gaps should not map to any argloc, but everything + else must be covered (C++: const rangeset_t *) + @return: 0 if ok, otherwise an interr code. + +Help on function verify_tinfo in module ida_typeinf: + +verify_tinfo(*args) + verify_tinfo(typid) -> int + +Help on function visit_subtypes in module ida_typeinf: + +visit_subtypes(*args) + visit_subtypes(visitor, out, tif, name, cmt) -> int + +Help on function write_tinfo_bitfield_value in module ida_typeinf: + +write_tinfo_bitfield_value(*args) + write_tinfo_bitfield_value(typid, dst, v, bitoff) -> uint64 + +=== ida_typeinf EPYDOC INJECTIONS === +ida_typeinf.ADDTIL_ABORTED +""" +til was not loaded (incompatible til rejected by user) +""" + +ida_typeinf.ADDTIL_COMP +""" +ok, but til is not compatible with the current compiler +""" + +ida_typeinf.ADDTIL_DEFAULT +""" +default behavior +""" + +ida_typeinf.ADDTIL_FAILED +""" +something bad, the warning is displayed +""" + +ida_typeinf.ADDTIL_INCOMP +""" +load incompatible tils +""" + +ida_typeinf.ADDTIL_OK +""" +ok, til is loaded +""" + +ida_typeinf.ADDTIL_SILENT +""" +do not ask any questions +""" + +ida_typeinf.CC_ALLOW_ARGPERM +""" +disregard argument order? +""" + +ida_typeinf.CC_ALLOW_REGHOLES +""" +allow holes in register argument list? +""" + +ida_typeinf.CC_CDECL_OK +""" +can use __cdecl calling convention? +""" + +ida_typeinf.CC_HAS_ELLIPSIS +""" +function has a variable list of arguments? +""" + +ida_typeinf.FAH_BYTE +""" +function argument attribute header byte +""" + +ida_typeinf.FAI_ARRAY +""" +was initially an array see "__org_typedef" or "__org_arrdim" type +attributes to determine the original type +""" + +ida_typeinf.FAI_HIDDEN +""" +hidden argument +""" + +ida_typeinf.FAI_RETPTR +""" +pointer to return value. implies hidden +""" + +ida_typeinf.FAI_STRUCT +""" +was initially a structure +""" + +ida_typeinf.FTI_ALL +""" +all defined bits +""" + +ida_typeinf.FTI_ARGLOCS +""" +(stkargs and retloc too) + +info about argument locations has been calculated +""" + +ida_typeinf.FTI_CALLTYPE +""" +mask for FTI_*CALL +""" + +ida_typeinf.FTI_DEFCALL +""" +default call +""" + +ida_typeinf.FTI_FARCALL +""" +far call +""" + +ida_typeinf.FTI_HIGH +""" +high level prototype (with possibly hidden args) +""" + +ida_typeinf.FTI_INTCALL +""" +interrupt call +""" + +ida_typeinf.FTI_NEARCALL +""" +near call +""" + +ida_typeinf.FTI_NORET +""" +noreturn +""" + +ida_typeinf.FTI_PURE +""" +__pure +""" + +ida_typeinf.FTI_SPOILED +""" +information about spoiled registers is present +""" + +ida_typeinf.FTI_STATIC +""" +static +""" + +ida_typeinf.FTI_VIRTUAL +""" +virtual +""" + +ida_typeinf.GUESS_FUNC_FAILED +""" +couldn't guess the function type +""" + +ida_typeinf.GUESS_FUNC_OK +""" +ok, some non-trivial information is gathered +""" + +ida_typeinf.GUESS_FUNC_TRIVIAL +""" +the function type doesn't have interesting info +""" + +ida_typeinf.HTI_CPP +""" +C++ mode (not implemented) +""" + +ida_typeinf.HTI_DCL +""" +don't complain about redeclarations +""" + +ida_typeinf.HTI_EXT +""" +debug: print external representation of types +""" + +ida_typeinf.HTI_FIL +""" +otherwise "input" contains a C declaration + +"input" is file name, +""" + +ida_typeinf.HTI_HIGH +""" +(with hidden args, etc) + +assume high level prototypes +""" + +ida_typeinf.HTI_INT +""" +debug: print internal representation of types +""" + +ida_typeinf.HTI_LEX +""" +debug: print tokens +""" + +ida_typeinf.HTI_LOWER +""" +lower the function prototypes +""" + +ida_typeinf.HTI_MAC +""" +define macros from the base tils +""" + +ida_typeinf.HTI_NDC +""" +don't decorate names +""" + +ida_typeinf.HTI_NER +""" +ignore all errors but display them +""" + +ida_typeinf.HTI_NWR +""" +no warning messages +""" + +ida_typeinf.HTI_PAK +""" +explicit structure pack value (#pragma pack) +""" + +ida_typeinf.HTI_PAK1 +""" +#pragma pack(1) +""" + +ida_typeinf.HTI_PAK16 +""" +#pragma pack(16) +""" + +ida_typeinf.HTI_PAK2 +""" +#pragma pack(2) +""" + +ida_typeinf.HTI_PAK4 +""" +#pragma pack(4) +""" + +ida_typeinf.HTI_PAK8 +""" +#pragma pack(8) +""" + +ida_typeinf.HTI_PAKDEF +""" +default pack value +""" + +ida_typeinf.HTI_PAK_SHIFT +""" +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 +""" + +ida_typeinf.HTI_RAWARGS +""" +leave argument names unchanged (do not remove underscores) +""" + +ida_typeinf.HTI_TST +""" +test mode: discard the result +""" + +ida_typeinf.HTI_UNP +""" +debug: check the result by unpacking it +""" + +ida_typeinf.IMPTYPE_LOCAL +""" +the type is local, the struct/enum won't be marked as til type. there +is no need to specify this bit if til==idati, the kernel will set it +automatically +""" + +ida_typeinf.IMPTYPE_OVERRIDE +""" +override existing type +""" + +ida_typeinf.IMPTYPE_VERBOSE +""" +more verbose output (dialog boxes may appear) +""" + +ida_typeinf.MAX_FUNC_ARGS +""" +max number of function arguments +""" + +ida_typeinf.NTF_64BIT +""" +value is 64bit +""" + +ida_typeinf.NTF_CHKSYNC +""" +(set_numbered_type, set_named_type) + +check that synchronization to IDB passed OK +""" + +ida_typeinf.NTF_FIXNAME +""" +(set_named_type, set_numbered_type only) + +force-validate the name of the type when setting +""" + +ida_typeinf.NTF_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly (set_named_type, set_numbered_type only) +""" + +ida_typeinf.NTF_NOBASE +""" +don't inspect base tils (for get_named_type) +""" + +ida_typeinf.NTF_NOCUR +""" +don't inspect current til file (for get_named_type) +""" + +ida_typeinf.NTF_REPLACE +""" +replace original type (for set_named_type) +""" + +ida_typeinf.NTF_SYMM +""" +only one of 'NTF_TYPE' and 'NTF_SYMU' , 'NTF_SYMM' can be used + +symbol, name is mangled ('_func') +""" + +ida_typeinf.NTF_SYMU +""" +symbol, name is unmangled ('func') +""" + +ida_typeinf.NTF_TYPE +""" +type name +""" + +ida_typeinf.NTF_UMANGLED +""" +name is unmangled (don't use this flag) +""" + +ida_typeinf.PCN_CHR +""" +character +""" + +ida_typeinf.PCN_DEC +""" +decimal +""" + +ida_typeinf.PCN_DECSEXT +""" +automatically extend sign of signed decimal numbers +""" + +ida_typeinf.PCN_HEX +""" +hexadecimal +""" + +ida_typeinf.PCN_LZHEX +""" +print leading zeroes for hexdecimal number +""" + +ida_typeinf.PCN_NEGSIGN +""" +print negated value (-N) for negative numbers +""" + +ida_typeinf.PCN_OCT +""" +octal +""" + +ida_typeinf.PCN_RADIX +""" +number base to use +""" + +ida_typeinf.PCN_UNSIGNED +""" +add 'u' suffix +""" + +ida_typeinf.PDF_DEF_BASE +""" +Include base types: __int8, __int16, etc.. +""" + +ida_typeinf.PDF_DEF_FWD +""" +Allow forward declarations. +""" + +ida_typeinf.PDF_HEADER_CMT +""" +Prepend output with a descriptive comment. +""" + +ida_typeinf.PDF_INCL_DEPS +""" +Include all type dependencies. +""" + +ida_typeinf.PIO_IGNORE_PTRS +""" +do not follow pointers +""" + +ida_typeinf.PIO_NOATTR_FAIL +""" +missing attributes are not ok +""" + +ida_typeinf.PRALOC_STKOFF +""" +print stack offsets +""" + +ida_typeinf.PRALOC_VERIFY +""" +interr if illegal argloc +""" + +ida_typeinf.PRTYPE_1LINE +""" +print to one line +""" + +ida_typeinf.PRTYPE_COLORED +""" +add color tag COLOR_SYMBOL for any parentheses, commas and colons +""" + +ida_typeinf.PRTYPE_CPP +""" +use c++ name (only for 'print_type()' ) +""" + +ida_typeinf.PRTYPE_DEF +""" + 'tinfo_t' : print definition, if available +""" + +ida_typeinf.PRTYPE_MULTI +""" +print to many lines +""" + +ida_typeinf.PRTYPE_NOARGS +""" + 'tinfo_t' : do not print function argument names +""" + +ida_typeinf.PRTYPE_NOARRS +""" + 'tinfo_t' : print arguments with 'FAI_ARRAY' as pointers +""" + +ida_typeinf.PRTYPE_NOREGEX +""" +do not apply regular expressions to beautify name +""" + +ida_typeinf.PRTYPE_NORES +""" + 'tinfo_t' : never resolve types (meaningful with PRTYPE_DEF) +""" + +ida_typeinf.PRTYPE_PRAGMA +""" +print pragmas for alignment +""" + +ida_typeinf.PRTYPE_RESTORE +""" + 'tinfo_t' : print restored types for 'FAI_ARRAY' and 'FAI_STRUCT' +""" + +ida_typeinf.PRTYPE_SEMI +""" +append ; to the end +""" + +ida_typeinf.PRTYPE_TYPE +""" +print type declaration (not variable declaration) +""" + +ida_typeinf.PT_HIGH +""" +(with hidden args, etc) + +assume high level prototypes +""" + +ida_typeinf.PT_LOWER +""" +lower the function prototypes +""" + +ida_typeinf.PT_NDC +""" +don't decorate names +""" + +ida_typeinf.PT_PACKMASK +""" +mask for pack alignment values +""" + +ida_typeinf.PT_RAWARGS +""" +leave argument names unchanged (do not remove underscores) +""" + +ida_typeinf.PT_REPLACE +""" +replace the old type (used in idc) +""" + +ida_typeinf.PT_SIL +""" +silent, no messages +""" + +ida_typeinf.PT_TYP +""" +return declared type information +""" + +ida_typeinf.PT_VAR +""" +return declared object information +""" + +ida_typeinf.RESERVED_BYTE +""" +multifunctional purpose +""" + +ida_typeinf.SETCOMP_BY_USER +""" +invoked by user, cannot be replaced by module/loader +""" + +ida_typeinf.SETCOMP_ONLY_ABI +""" +ignore cc field complete, use only abiname +""" + +ida_typeinf.SETCOMP_ONLY_ID +""" +cc has only 'id' field the rest will be set to defaults corresponding +to the program bitness +""" + +ida_typeinf.SETCOMP_OVERRIDE +""" +may override old compiler info +""" + +ida_typeinf.STRMEM_ANON +""" +can be combined with 'STRMEM_NAME' : look inside anonymous members +too. +""" + +ida_typeinf.STRMEM_AUTO +""" +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)! +""" + +ida_typeinf.STRMEM_CASTABLE_TO +""" +can be combined with 'STRMEM_TYPE' : member type must be castable to +the specified type +""" + +ida_typeinf.STRMEM_INDEX +""" +get member by number- in: udm->offset - is a member number +""" + +ida_typeinf.STRMEM_MAXS +""" +get biggest member by size. +""" + +ida_typeinf.STRMEM_MINS +""" +get smallest member by size. +""" + +ida_typeinf.STRMEM_NAME +""" +get member by name- in: udm->name - the desired member name. +""" + +ida_typeinf.STRMEM_OFFSET +""" +get member by offset- in: udm->offset - is a member offset in bits +""" + +ida_typeinf.STRMEM_SIZE +""" +get member by size.- in: udm->size - the desired member size. +""" + +ida_typeinf.STRMEM_SKIP_EMPTY +""" +can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' skip empty +members (i.e. having zero size) only last empty member can be returned +""" + +ida_typeinf.STRMEM_TYPE +""" +get member by type. - in: udm->type - the desired member type. member +types are compared with tinfo_t::equals_to() +""" + +ida_typeinf.STRMEM_VFTABLE +""" +can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' get vftable +instead of the base class +""" + +ida_typeinf.SUDT_ALIGN +""" +to match the offsets and size info + +recalculate field alignments, struct packing, etc +""" + +ida_typeinf.SUDT_CONST +""" +only for serialize_udt: make type const +""" + +ida_typeinf.SUDT_FAST +""" +serialize without verifying offsets and alignments +""" + +ida_typeinf.SUDT_GAPS +""" +allow to fill gaps with additional members (_BYTE[]) +""" + +ida_typeinf.SUDT_SORT +""" +fields are not sorted by offset, sort them first +""" + +ida_typeinf.SUDT_TRUNC +""" +serialize: truncate useless strings from fields, fldcmts +""" + +ida_typeinf.SUDT_UNEX +""" +references to nonexistent member types are acceptable in this case it +is better to set the corresponding 'udt_member_t::fda' field to the +type alignment. if this field is not set, ida will try to guess the +alignment. +""" + +ida_typeinf.SUDT_VOLATILE +""" +only for serialize_udt: make type volatile +""" + +ida_typeinf.TAENUM_64BIT +""" +enum: store 64-bit values +""" + +ida_typeinf.TAENUM_SIGNED +""" +enum: signed +""" + +ida_typeinf.TAENUM_UNSIGNED +""" +enum: unsigned +""" + +ida_typeinf.TAFLD_BASECLASS +""" +field: do not include but inherit from the current field +""" + +ida_typeinf.TAFLD_UNALIGNED +""" +field: unaligned field +""" + +ida_typeinf.TAFLD_VFTABLE +""" +field: ptr to virtual function table +""" + +ida_typeinf.TAFLD_VIRTBASE +""" +field: virtual base (not supported yet) +""" + +ida_typeinf.TAH_ALL +""" +all defined bits +""" + +ida_typeinf.TAH_BYTE +""" +type attribute header byte +""" + +ida_typeinf.TAH_HASATTRS +""" +has extended attributes +""" + +ida_typeinf.TAPTR_PTR32 +""" +ptr: __ptr32 +""" + +ida_typeinf.TAPTR_PTR64 +""" +ptr: __ptr64 +""" + +ida_typeinf.TAPTR_RESTRICT +""" +ptr: __restrict +""" + +ida_typeinf.TAPTR_SHIFTED +""" +ptr: __shifted(parent_struct, delta) +""" + +ida_typeinf.TAUDT_CPPOBJ +""" +struct: a c++ object, not simple pod type +""" + +ida_typeinf.TAUDT_MSSTRUCT +""" +struct: gcc msstruct attribute +""" + +ida_typeinf.TAUDT_UNALIGNED +""" +struct: unaligned struct +""" + +ida_typeinf.TAUDT_VFTABLE +""" +struct: is virtual function table +""" + +ida_typeinf.TA_FORMAT +""" +info about the 'format' argument 3 times pack_dd: 'format_functype_t' +, argument number of 'format', argument number of '...' +""" + +ida_typeinf.TA_ORG_ARRDIM +""" +the original array dimension (pack_dd) +""" + +ida_typeinf.TA_ORG_TYPEDEF +""" +the original typedef name (simple string) +""" + +ida_typeinf.TCMP_ANYBASE +""" +accept any base class when casting +""" + +ida_typeinf.TCMP_AUTOCAST +""" +can t1 be cast into t2 automatically? +""" + +ida_typeinf.TCMP_CALL +""" +can t1 be called with t2 type? +""" + +ida_typeinf.TCMP_DECL +""" +compare declarations without resolving them +""" + +ida_typeinf.TCMP_DELPTR +""" +remove pointer from types before comparing +""" + +ida_typeinf.TCMP_EQUAL +""" +are types equal? +""" + +ida_typeinf.TCMP_IGNMODS +""" +ignore const/volatile modifiers +""" + +ida_typeinf.TCMP_MANCAST +""" +can t1 be cast into t2 manually? +""" + +ida_typeinf.TCMP_SKIPTHIS +""" +skip the first function argument in comparison +""" + +ida_typeinf.TIL_ADD_ALREADY +""" +the base til was already added +""" + +ida_typeinf.TIL_ADD_FAILED +""" +see errbuf +""" + +ida_typeinf.TIL_ADD_OK +""" +some tils were added +""" + +ida_typeinf.TIL_ALI +""" +type aliases are present (this bit is used only on the disk) +""" + +ida_typeinf.TIL_ESI +""" +extended sizeof info (short, long, longlong) +""" + +ida_typeinf.TIL_MAC +""" +til has macro table +""" + +ida_typeinf.TIL_MOD +""" +til has been modified, should be saved +""" + +ida_typeinf.TIL_ORD +""" +type ordinal numbers are present +""" + +ida_typeinf.TIL_SLD +""" +sizeof(long double) +""" + +ida_typeinf.TIL_STM +""" +til has extra streams +""" + +ida_typeinf.TIL_UNI +""" +universal til for any compiler +""" + +ida_typeinf.TIL_ZIP +""" +pack buckets using zip +""" + +ida_typeinf.TINFO_DEFINITE +""" +this is a definite type +""" + +ida_typeinf.TINFO_DELAYFUNC +""" +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 +""" + +ida_typeinf.TINFO_GUESSED +""" +this is a guessed type +""" + +ida_typeinf.TINFO_STRICT +""" +never convert given type to another one before applying +""" + +ida_typeinf.TVIS_CMT +""" +new comment is present +""" + +ida_typeinf.TVIS_NAME +""" +new name is present +""" + +ida_typeinf.TVIS_TYPE +""" +new type info is present +""" + +ida_typeinf.TVST_DEF +""" +visit type definition (meaningful for typerefs) +""" + +ida_typeinf.TVST_PRUNE +""" +don't visit children of current type +""" + +ida_typeinf.VALSTR_OPEN +""" +printed opening curly brace '{' +""" +=== ida_typeinf EPYDOC INJECTIONS END === +Help on function calc_dataseg in module ida_ua: + +calc_dataseg(*args) + 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 &) + @param n (C++: int) + @param rgnum (C++: int) + +Help on function can_decode in module ida_ua: + +can_decode(*args) + can_decode(ea) -> bool + + + Can the bytes at address 'ea' be decoded as instruction? + + @param ea: linear address (C++: ea_t) + @return: whether or not the contents at that address could be a valid + instruction + +Help on function construct_macro in module ida_ua: + +construct_macro(*args) + construct_macro(insn, enable, build_macro) -> bool + + + See ua.hpp's construct_macro(). + +Help on function create_insn in module ida_ua: + +create_insn(*args) + 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: linear address (C++: ea_t) + @param out: the resulting instruction (C++: insn_t *) + @return: the length of the instruction or 0 + +Help on function create_outctx in module ida_ua: + +create_outctx(*args) + 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++: flags_t) + @param suspop (C++: int) + +Help on function decode_insn in module ida_ua: + +decode_insn(*args) + 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: the resulting instruction (C++: insn_t *) + @param ea: linear address (C++: ea_t) + @return: the length of the (possible) instruction or 0 + +Help on function decode_preceding_insn in module ida_ua: + +decode_preceding_insn(*args) + decode_preceding_insn(out, ea) -> PyObject * + + + Decodes the preceding instruction. Please check ua.hpp / decode_preceding_insn() + @param ea: current ea + @param out: instruction storage + @return: tuple(preceeding_ea or BADADDR, farref = Boolean) + +Help on function decode_prev_insn in module ida_ua: + +decode_prev_insn(*args) + decode_prev_insn(out, ea) -> ea_t + + + Decode previous instruction if it exists, fill 'out'. + + @param out: the resulting instruction (C++: insn_t *) + @param ea: the address to decode the previous instruction from (C++: + ea_t) + @return: the previous instruction address ( BADADDR -no such insn) + +Help on function get_dtype_by_size in module ida_ua: + +get_dtype_by_size(*args) + get_dtype_by_size(size) -> int + + + Get 'op_t::dtype' from size. + + + @param size (C++: asize_t) + +Help on function get_dtype_flag in module ida_ua: + +get_dtype_flag(*args) + get_dtype_flag(dtype) -> flags_t + + + Get flags for 'op_t::dtype' field. + + + @param dtype (C++: op_dtype_t) + +Help on function get_dtype_size in module ida_ua: + +get_dtype_size(*args) + get_dtype_size(dtype) -> size_t + + + Get size of opt_::dtype field. + + + @param dtype (C++: op_dtype_t) + +Help on function get_immvals in module ida_ua: + +get_immvals(*args) + 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: address to analyze (C++: ea_t) + @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands + (C++: int) + @param F: flags for the specified address (C++: flags_t) + @return: number of immediate values (0..2* UA_MAXOP ) + +Help on function get_lookback in module ida_ua: + +get_lookback(*args) + 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) + +Help on function get_printable_immvals in module ida_ua: + +get_printable_immvals(*args) + get_printable_immvals(ea, n, F=0) -> PyObject * + + + Get immediate ready-to-print values at the specified address + + @param ea: address to analyze (C++: ea_t) + @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands + (C++: int) + @param F: flags for the specified address (C++: flags_t) + @return: number of immediate values (0..2* UA_MAXOP ) + +Help on function guess_table_address in module ida_ua: + +guess_table_address(*args) + guess_table_address(insn) -> ea_t + + + Guess the jump table address (ibm pc specific) + + + @param insn (C++: const insn_t &) + +Help on function guess_table_size in module ida_ua: + +guess_table_size(*args) + guess_table_size(insn, jump_table) -> asize_t + + + Guess the jump table size. + + + @param insn (C++: const insn_t &) + @param jump_table (C++: ea_t) + +Help on function insn_add_cref in module ida_ua: + +insn_add_cref(*args) + insn_add_cref(insn, to, opoff, type) + +Help on function insn_add_dref in module ida_ua: + +insn_add_dref(*args) + insn_add_dref(insn, to, opoff, type) + +Help on function insn_add_off_drefs in module ida_ua: + +insn_add_off_drefs(*args) + insn_add_off_drefs(insn, x, type, outf) -> ea_t + +Help on function insn_create_stkvar in module ida_ua: + +insn_create_stkvar(*args) + insn_create_stkvar(insn, x, v, flags) -> bool + +Help on class insn_t in module ida_ua: + +class insn_t(__builtin__.object) + | Proxy of C++ insn_t class. + | + | Methods defined here: + | + | __get_auxpref__(self, *args) + | __get_auxpref__(self) -> uint16 + | + | __get_operand__(self, *args) + | __get_operand__(self, n) -> op_t + | + | __get_ops__(self, *args) + | __get_ops__(self) -> operands_array + | + | __getitem__(self, idx) + | Operands can be accessed directly as indexes + | @return op_t: Returns an operand of type op_t + | + | __init__(self, *args) + | __init__(self) -> insn_t + | + | __iter__(self) + | + | __repr__ = _swig_repr(self) + | + | __set_auxpref__(self, *args) + | __set_auxpref__(self, v) + | + | add_cref(self, *args) + | add_cref(self, to, opoff, type) + | + | add_dref(self, *args) + | add_dref(self, to, opoff, type) + | + | add_off_drefs(self, *args) + | add_off_drefs(self, x, type, outf) -> ea_t + | + | assign(self, *args) + | assign(self, other) + | + | create_op_data(self, *args) + | create_op_data(self, ea_, opoff, dtype) -> bool + | create_op_data(self, ea_, op) -> bool + | + | create_stkvar(self, *args) + | create_stkvar(self, x, v, flags_) -> bool + | + | get_canon_feature(self, *args) + | get_canon_feature(self) -> uint32 + | + | get_canon_mnem(self, *args) + | get_canon_mnem(self) -> char const * + | + | get_next_byte(self, *args) + | get_next_byte(self) -> uint8 + | + | get_next_dword(self, *args) + | get_next_dword(self) -> uint32 + | + | get_next_qword(self, *args) + | get_next_qword(self) -> uint64 + | + | get_next_word(self, *args) + | get_next_word(self) -> uint16 + | + | is_64bit(self, *args) + | is_64bit(self) -> bool + | + | is_canon_insn(self, *args) + | is_canon_insn(self) -> bool + | + | is_macro(self, *args) + | is_macro(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Op1 + | + | Op2 + | + | Op3 + | + | Op4 + | + | Op5 + | + | Op6 + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | auxpref + | __get_auxpref__(self) -> uint16 + | + | cs + | insn_t_cs_get(self) -> ea_t + | + | ea + | insn_t_ea_get(self) -> ea_t + | + | flags + | insn_t_flags_get(self) -> int16 + | + | insnpref + | insn_t_insnpref_get(self) -> char + | + | ip + | insn_t_ip_get(self) -> ea_t + | + | itype + | insn_t_itype_get(self) -> uint16 + | + | ops + | __get_ops__(self) -> operands_array + | + | segpref + | insn_t_segpref_get(self) -> char + | + | size + | insn_t_size_get(self) -> uint16 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_insn_t(self) + +Help on function insn_t__from_ptrval__ in module ida_ua: + +insn_t__from_ptrval__(*args) + insn_t__from_ptrval__(ptrval) -> insn_t + +Help on function is_floating_dtype in module ida_ua: + +is_floating_dtype(*args) + is_floating_dtype(dtype) -> bool + + + Is a floating type operand? + + + @param dtype (C++: op_dtype_t) + +Help on function map_code_ea in module ida_ua: + +map_code_ea(*args) + map_code_ea(insn, addr, opnum) -> ea_t + map_code_ea(insn, op) -> ea_t + + + Map a code address. This function takes into account the segment + translations. + + @param insn: the current instruction (C++: const insn_t &) + @param addr: the referenced address to map (C++: ea_t) + @param opnum: operand number (C++: int) + +Help on function map_data_ea in module ida_ua: + +map_data_ea(*args) + map_data_ea(insn, addr, opnum=-1) -> ea_t + map_data_ea(insn, op) -> ea_t + + + Map a data address. + + @param insn: the current instruction (C++: const insn_t &) + @param addr: the referenced address to map (C++: ea_t) + @param opnum: operand number (C++: int) + +Help on function map_ea in module ida_ua: + +map_ea(*args) + map_ea(insn, op, iscode) -> ea_t + map_ea(insn, addr, opnum, iscode) -> ea_t + +Help on class op_t in module ida_ua: + +class op_t(__builtin__.object) + | Proxy of C++ op_t class. + | + | Methods defined here: + | + | __get_addr__(self, *args) + | __get_addr__(self) -> ea_t + | + | __get_reg_phrase__(self, *args) + | __get_reg_phrase__(self) -> uint16 + | + | __get_specval__(self, *args) + | __get_specval__(self) -> ea_t + | + | __get_value__(self, *args) + | __get_value__(self) -> ea_t + | + | __init__(self, *args) + | __init__(self) -> op_t + | + | __repr__ = _swig_repr(self) + | + | __set_addr__(self, *args) + | __set_addr__(self, v) + | + | __set_reg_phrase__(self, *args) + | __set_reg_phrase__(self, r) + | + | __set_specval__(self, *args) + | __set_specval__(self, v) + | + | __set_value__(self, *args) + | __set_value__(self, v) + | + | assign(self, *args) + | assign(self, other) + | + | clr_shown(self, *args) + | clr_shown(self) + | + | has_reg(self, r) + | Checks if the operand accesses the given processor register + | + | is_imm(self, *args) + | is_imm(self, v) -> bool + | + | is_reg(self, *args) + | is_reg(self, r) -> bool + | + | set_shown(self, *args) + | set_shown(self) + | + | shown(self, *args) + | shown(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | addr + | __get_addr__(self) -> ea_t + | + | dtype + | op_t_dtype_get(self) -> op_dtype_t + | + | flags + | op_t_flags_get(self) -> uchar + | + | n + | op_t_n_get(self) -> uchar + | + | offb + | op_t_offb_get(self) -> char + | + | offo + | op_t_offo_get(self) -> char + | + | phrase + | __get_reg_phrase__(self) -> uint16 + | + | reg + | __get_reg_phrase__(self) -> uint16 + | + | specflag1 + | op_t_specflag1_get(self) -> char + | + | specflag2 + | op_t_specflag2_get(self) -> char + | + | specflag3 + | op_t_specflag3_get(self) -> char + | + | specflag4 + | op_t_specflag4_get(self) -> char + | + | specval + | __get_specval__(self) -> ea_t + | + | thisown + | The membership flag + | + | type + | op_t_type_get(self) -> optype_t + | + | value + | __get_value__(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_op_t(self) + +Help on function op_t__from_ptrval__ in module ida_ua: + +op_t__from_ptrval__(*args) + op_t__from_ptrval__(ptrval) -> op_t + +Help on class operands_array in module ida_ua: + +class operands_array(__builtin__.object) + | Proxy of C++ wrapped_array_t< op_t,8 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) + | __getitem__(self, i) -> op_t + | + | __init__(self, *args) + | __init__(self, data) -> operands_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | operands_array_data_get(self) -> op_t (&)[8] + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_operands_array(self) + +Help on class outctx_base_t in module ida_ua: + +class outctx_base_t(__builtin__.object) + | Proxy of C++ outctx_base_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | close_comment(self, *args) + | close_comment(self) + | + | clr_gen_label(self, *args) + | clr_gen_label(self) + | + | display_voids(self, *args) + | display_voids(self) -> bool + | + | flush_buf(self, *args) + | flush_buf(self, buf, indent=-1) -> bool + | + | flush_outbuf(self, *args) + | flush_outbuf(self, indent=-1) -> bool + | + | forbid_annotations(self, *args) + | forbid_annotations(self) -> int + | + | force_code(self, *args) + | force_code(self) -> bool + | + | gen_block_cmt(self, *args) + | gen_block_cmt(self, cmt, color) -> bool + | + | gen_border_line(self, *args) + | gen_border_line(self, solid=False) -> bool + | + | gen_cmt_line(self, *args) + | gen_cmt_line(self, format) -> bool + | + | gen_collapsed_line(self, *args) + | gen_collapsed_line(self, format) -> bool + | + | gen_empty_line(self, *args) + | gen_empty_line(self) -> bool + | + | gen_empty_line_without_annotations(self, *args) + | gen_empty_line_without_annotations(self) + | + | gen_printf(self, *args) + | gen_printf(self, indent, format) -> bool + | + | gen_xref_lines(self, *args) + | gen_xref_lines(self) -> bool + | + | get_stkvar(self, *args) + | get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * + | + | init_lines_array(self, *args) + | init_lines_array(self, answers, maxsize) + | + | multiline(self, *args) + | multiline(self) -> bool + | + | only_main_line(self, *args) + | only_main_line(self) -> bool + | + | out_addr_tag(self, *args) + | out_addr_tag(self, ea) + | + | out_btoa(self, *args) + | out_btoa(self, Word, radix=0) + | + | out_char(self, *args) + | out_char(self, c) + | + | out_chars(self, *args) + | out_chars(self, c, n) + | + | out_colored_register_line(self, *args) + | out_colored_register_line(self, str) + | + | out_keyword(self, *args) + | out_keyword(self, str) + | + | out_line(self, *args) + | out_line(self, str, color=0) + | + | out_long(self, *args) + | out_long(self, v, radix) + | + | out_name_expr(self, *args) + | out_name_expr(self, x, ea, off=BADADDR) -> bool + | + | out_printf(self, *args) + | out_printf(self, format) + | + | out_register(self, *args) + | out_register(self, str) + | + | out_spaces(self, *args) + | out_spaces(self, len) + | + | out_symbol(self, *args) + | out_symbol(self, c) + | + | out_tagoff(self, *args) + | out_tagoff(self, tag) + | + | out_tagon(self, *args) + | out_tagon(self, tag) + | + | out_value(self, *args) + | out_value(self, x, outf=0) -> flags_t + | + | print_label_now(self, *args) + | print_label_now(self) -> bool + | + | restore_ctxflags(self, *args) + | restore_ctxflags(self, saved_flags) + | + | retrieve_cmt(self, *args) + | retrieve_cmt(self) -> ssize_t + | + | retrieve_name(self, *args) + | retrieve_name(self, arg2, arg3) -> ssize_t + | + | set_comment_addr(self, *args) + | set_comment_addr(self, ea) + | + | set_dlbind_opnd(self, *args) + | set_dlbind_opnd(self) + | + | set_gen_cmt(self, *args) + | set_gen_cmt(self, on=True) + | + | set_gen_demangled_label(self, *args) + | set_gen_demangled_label(self) + | + | set_gen_label(self, *args) + | set_gen_label(self) + | + | set_gen_xrefs(self, *args) + | set_gen_xrefs(self, on=True) + | + | setup_outctx(self, *args) + | setup_outctx(self, prefix, makeline_flags) + | + | stack_view(self, *args) + | stack_view(self) -> bool + | + | term_outctx(self, *args) + | term_outctx(self, prefix=None) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | default_lnnum + | outctx_base_t_default_lnnum_get(self) -> int + | + | insn_ea + | outctx_base_t_insn_ea_get(self) -> ea_t + | + | outbuf + | outctx_base_t_outbuf_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on function outctx_base_t__from_ptrval__ in module ida_ua: + +outctx_base_t__from_ptrval__(*args) + outctx_base_t__from_ptrval__(ptrval) -> outctx_base_t + +Help on class outctx_t in module ida_ua: + +class outctx_t(outctx_base_t) + | Proxy of C++ outctx_t class. + | + | Method resolution order: + | outctx_t + | outctx_base_t + | __builtin__.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | + | __repr__ = _swig_repr(self) + | + | gen_func_footer(self, *args) + | gen_func_footer(self, pfn) + | + | gen_func_header(self, *args) + | gen_func_header(self, pfn) + | + | gen_header(self, *args) + | gen_header(self, flags=((1 << 0)|(1 << 1)), proc_name=None, proc_flavour=None) + | + | gen_header_extra(self, *args) + | gen_header_extra(self) + | + | gen_xref_lines(self, *args) + | gen_xref_lines(self) -> bool + | + | out_custom_mnem(self, *args) + | out_custom_mnem(self, mnem, width=8, postfix=None) + | + | out_data(self, *args) + | out_data(self, analyze_only) + | + | out_immchar_cmts(self, *args) + | out_immchar_cmts(self) + | + | out_mnem(self, *args) + | out_mnem(self, width=8, postfix=None) + | + | out_mnemonic(self, *args) + | out_mnemonic(self) + | + | out_one_operand(self, *args) + | out_one_operand(self, n) -> bool + | + | out_specea(self, *args) + | out_specea(self, segtype) -> bool + | + | retrieve_cmt(self, *args) + | retrieve_cmt(self) -> ssize_t + | + | retrieve_name(self, *args) + | retrieve_name(self, arg2, arg3) -> ssize_t + | + | set_bin_state(self, *args) + | set_bin_state(self, value) + | + | setup_outctx(self, *args) + | setup_outctx(self, prefix, flags) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bin_ea + | outctx_t_bin_ea_get(self) -> ea_t + | + | bin_state + | outctx_t_bin_state_get(self) -> char + | + | bin_width + | outctx_t_bin_width_get(self) -> int + | + | curlabel + | outctx_t_curlabel_get(self) -> qstring * + | + | gl_bpsize + | outctx_t_gl_bpsize_get(self) -> int + | + | insn + | outctx_t_insn_get(self) -> insn_t + | + | thisown + | The membership flag + | + | wif + | outctx_t_wif_get(self) -> printop_t + | + | ---------------------------------------------------------------------- + | Methods inherited from outctx_base_t: + | + | close_comment(self, *args) + | close_comment(self) + | + | clr_gen_label(self, *args) + | clr_gen_label(self) + | + | display_voids(self, *args) + | display_voids(self) -> bool + | + | flush_buf(self, *args) + | flush_buf(self, buf, indent=-1) -> bool + | + | flush_outbuf(self, *args) + | flush_outbuf(self, indent=-1) -> bool + | + | forbid_annotations(self, *args) + | forbid_annotations(self) -> int + | + | force_code(self, *args) + | force_code(self) -> bool + | + | gen_block_cmt(self, *args) + | gen_block_cmt(self, cmt, color) -> bool + | + | gen_border_line(self, *args) + | gen_border_line(self, solid=False) -> bool + | + | gen_cmt_line(self, *args) + | gen_cmt_line(self, format) -> bool + | + | gen_collapsed_line(self, *args) + | gen_collapsed_line(self, format) -> bool + | + | gen_empty_line(self, *args) + | gen_empty_line(self) -> bool + | + | gen_empty_line_without_annotations(self, *args) + | gen_empty_line_without_annotations(self) + | + | gen_printf(self, *args) + | gen_printf(self, indent, format) -> bool + | + | get_stkvar(self, *args) + | get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * + | + | init_lines_array(self, *args) + | init_lines_array(self, answers, maxsize) + | + | multiline(self, *args) + | multiline(self) -> bool + | + | only_main_line(self, *args) + | only_main_line(self) -> bool + | + | out_addr_tag(self, *args) + | out_addr_tag(self, ea) + | + | out_btoa(self, *args) + | out_btoa(self, Word, radix=0) + | + | out_char(self, *args) + | out_char(self, c) + | + | out_chars(self, *args) + | out_chars(self, c, n) + | + | out_colored_register_line(self, *args) + | out_colored_register_line(self, str) + | + | out_keyword(self, *args) + | out_keyword(self, str) + | + | out_line(self, *args) + | out_line(self, str, color=0) + | + | out_long(self, *args) + | out_long(self, v, radix) + | + | out_name_expr(self, *args) + | out_name_expr(self, x, ea, off=BADADDR) -> bool + | + | out_printf(self, *args) + | out_printf(self, format) + | + | out_register(self, *args) + | out_register(self, str) + | + | out_spaces(self, *args) + | out_spaces(self, len) + | + | out_symbol(self, *args) + | out_symbol(self, c) + | + | out_tagoff(self, *args) + | out_tagoff(self, tag) + | + | out_tagon(self, *args) + | out_tagon(self, tag) + | + | out_value(self, *args) + | out_value(self, x, outf=0) -> flags_t + | + | print_label_now(self, *args) + | print_label_now(self) -> bool + | + | restore_ctxflags(self, *args) + | restore_ctxflags(self, saved_flags) + | + | set_comment_addr(self, *args) + | set_comment_addr(self, ea) + | + | set_dlbind_opnd(self, *args) + | set_dlbind_opnd(self) + | + | set_gen_cmt(self, *args) + | set_gen_cmt(self, on=True) + | + | set_gen_demangled_label(self, *args) + | set_gen_demangled_label(self) + | + | set_gen_label(self, *args) + | set_gen_label(self) + | + | set_gen_xrefs(self, *args) + | set_gen_xrefs(self, on=True) + | + | stack_view(self, *args) + | stack_view(self) -> bool + | + | term_outctx(self, *args) + | term_outctx(self, prefix=None) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from outctx_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | default_lnnum + | outctx_base_t_default_lnnum_get(self) -> int + | + | insn_ea + | outctx_base_t_insn_ea_get(self) -> ea_t + | + | outbuf + | outctx_base_t_outbuf_get(self) -> qstring * + +Help on function outctx_t__from_ptrval__ in module ida_ua: + +outctx_t__from_ptrval__(*args) + outctx_t__from_ptrval__(ptrval) -> outctx_t + +Help on function print_insn_mnem in module ida_ua: + +print_insn_mnem(*args) + print_insn_mnem(ea) -> str + + + Print instruction mnemonics. + + @param ea: linear address of the instruction (C++: ea_t) + @return: success + +Help on function print_operand in module ida_ua: + +print_operand(*args) + print_operand(ea, n, getn_flags=0, newtype=None) -> str + + + Generate text representation for operand #n. This function will + generate the text representation of the specified operand (includes + color codes.) + + @param ea: the item address (instruction or data) (C++: ea_t) + @param n: operand number (0,1,2...). meaningful only for instructions + (C++: int) + @param getn_flags (C++: int) + @param newtype: if specified, print the operand using the specified + type (C++: struct printop_t *) + @return: success + +=== ida_ua EPYDOC INJECTIONS === +ida_ua.FCBF_CONT +""" +don't stop on decoding, or any other kind of error +""" + +ida_ua.FCBF_DELIM +""" +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 +""" + +ida_ua.FCBF_ERR_REPL +""" +of a hex representation of the problematic byte + +in case of an error, use a CP_REPLCHAR instead +""" + +ida_ua.FCBF_FF_LIT +""" +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 +""" + +ida_ua.INSN_64BIT +""" +belongs to 64bit segment? +""" + +ida_ua.INSN_MACRO +""" +macro instruction +""" + +ida_ua.INSN_MODMAC +""" +may modify the database to make room for the macro insn +""" + +ida_ua.OF_NO_BASE_DISP +""" +base displacement doesn't exist. meaningful only for 'o_displ' type. +if set, base displacement ( 'op_t::addr' ) doesn't exist. +""" + +ida_ua.OF_NUMBER +""" +the operand can be converted to a number only +""" + +ida_ua.OF_OUTER_DISP +""" +outer displacement exists. meaningful only for 'o_displ' type. if set, +outer displacement ( 'op_t::value' ) exists. +""" + +ida_ua.OF_SHOW +""" +should the operand be displayed? +""" + +ida_ua.OOFS_IFSIGN +""" +output sign if needed +""" + +ida_ua.OOFS_NEEDSIGN +""" +always out sign (+-) +""" + +ida_ua.OOFS_NOSIGN +""" +don't output sign, forbid the user to change the sign +""" + +ida_ua.OOFW_16 +""" +16 bit width +""" + +ida_ua.OOFW_24 +""" +24 bit width +""" + +ida_ua.OOFW_32 +""" +32 bit width +""" + +ida_ua.OOFW_64 +""" +64 bit width +""" + +ida_ua.OOFW_8 +""" +8 bit width +""" + +ida_ua.OOFW_IMM +""" +take from x.dtype +""" + +ida_ua.OOF_ADDR +""" +output x.addr, otherwise x.value +""" + +ida_ua.OOF_ANYSERIAL +""" +if enum: select first available serial +""" + +ida_ua.OOF_NOBNOT +""" +prohibit use of binary not +""" + +ida_ua.OOF_NUMBER +""" +always as a number +""" + +ida_ua.OOF_OUTER +""" +output outer operand +""" + +ida_ua.OOF_SIGNED +""" +output as signed if < 0 +""" + +ida_ua.OOF_SIGNMASK +""" +sign symbol (+/-) output +""" + +ida_ua.OOF_SPACES +""" +currently works only for floating point numbers + +do not suppress leading spaces +""" + +ida_ua.OOF_WIDTHMASK +""" +width of value in bits +""" + +ida_ua.OOF_ZSTROFF +""" +meaningful only if is_stroff(uFlag) append a struct field name if the +field offset is zero? if 'AFL_ZSTROFF' is set, then this flag is +ignored. +""" + +ida_ua.PACK_FORM_DEF +""" +(! 'o_reg' + 'dt_packreal' ) + +packed factor defined. +""" + +ida_ua.dt_bitfild +""" +bit field (mc680x0) +""" + +ida_ua.dt_byte +""" +8 bit integer +""" + +ida_ua.dt_byte16 +""" +128 bit integer +""" + +ida_ua.dt_byte32 +""" +256 bit integer +""" + +ida_ua.dt_byte64 +""" +512 bit integer +""" + +ida_ua.dt_code +""" +ptr to code (not used?) +""" + +ida_ua.dt_double +""" +8 byte floating point +""" + +ida_ua.dt_dword +""" +32 bit integer +""" + +ida_ua.dt_float +""" +4 byte floating point +""" + +ida_ua.dt_fword +""" +48 bit +""" + +ida_ua.dt_half +""" +2-byte floating point +""" + +ida_ua.dt_ldbl +""" +long double (which may be different from tbyte) +""" + +ida_ua.dt_packreal +""" +packed real format for mc68040 +""" + +ida_ua.dt_qword +""" +64 bit integer +""" + +ida_ua.dt_string +""" +pointer to asciiz string +""" + +ida_ua.dt_tbyte +""" +variable size (\\ph{tbyte_size}) floating point +""" + +ida_ua.dt_unicode +""" +pointer to unicode string +""" + +ida_ua.dt_void +""" +none +""" + +ida_ua.dt_word +""" +16 bit integer +""" +=== ida_ua EPYDOC INJECTIONS END === +Help on function add_cref in module ida_xref: + +add_cref(*args) + add_cref(frm, to, type) -> bool + + + Create a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param type: cross-reference type (C++: cref_t) + @return: success + +Help on function add_dref in module ida_xref: + +add_dref(*args) + add_dref(frm, to, type) -> bool + + + Create a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + @param type: cross-reference type (C++: dref_t) + @return: success (may fail if user-defined xref exists from->to) + +Help on function calc_switch_cases in module ida_xref: + +calc_switch_cases(*args) + 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'. + +Help on class cases_and_targets_t in module ida_xref: + +class cases_and_targets_t(__builtin__.object) + | Proxy of C++ cases_and_targets_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cases_and_targets_t + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cases + | cases_and_targets_t_cases_get(self) -> casevec_t + | + | targets + | cases_and_targets_t_targets_get(self) -> eavec_t * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_cases_and_targets_t(self) + +Help on class casevec_t in module ida_xref: + +class casevec_t(__builtin__.object) + | Proxy of C++ qvector< qvector< sval_t > > class. + | + | Methods defined here: + | + | __eq__(self, *args) + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) + | __getitem__(self, i) -> qvector< signed-ea-like-numeric-type > const &↗ + | + | __init__(self, *args) + | __init__(self) -> casevec_t + | __init__(self, x) -> casevec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) + | + | __ne__(self, *args) + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) + | __setitem__(self, i, v) + | + | _del(self, *args) + | _del(self, x) -> bool + | + | add_unique(self, *args) + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) + | + | at = __getitem__(self, *args) + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) + | begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | capacity(self, *args) + | capacity(self) -> size_t + | + | clear(self, *args) + | clear(self) + | + | empty(self, *args) + | empty(self) -> bool + | + | end(self, *args) + | end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | erase(self, *args) + | erase(self, it) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | erase(self, first, last) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | + | extract(self, *args) + | extract(self) -> qvector< signed-ea-like-numeric-type > *↗ + | + | find(self, *args) + | find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) + | grow(self, x=qvector< signed-ea-like-numeric-type >())↗ + | + | has(self, *args) + | has(self, x) -> bool + | + | inject(self, *args) + | inject(self, s, len) + | + | insert(self, *args) + | insert(self, it, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | + | pop_back(self, *args) + | pop_back(self) + | + | push_back(self, *args) + | push_back(self, x) + | push_back(self) -> qvector< signed-ea-like-numeric-type > &↗ + | + | qclear(self, *args) + | qclear(self) + | + | reserve(self, *args) + | reserve(self, cnt) + | + | resize(self, *args) + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) + | size(self) -> size_t + | + | swap(self, *args) + | swap(self, r) + | + | truncate(self, *args) + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_casevec_t(self) + +Help on function create_switch_table in module ida_xref: + +create_switch_table(*args) + 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 + +Help on function create_switch_xrefs in module ida_xref: + +create_switch_xrefs(*args) + 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 + +Help on function del_cref in module ida_xref: + +del_cref(*args) + del_cref(frm, to, expand) -> int + + + Delete a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param expand: 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 (C++: bool) + +Help on function del_dref in module ida_xref: + +del_dref(*args) + del_dref(frm, to) + + + Delete a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + +Help on function delete_switch_table in module ida_xref: + +delete_switch_table(*args) + delete_switch_table(jump_ea, si) + +Help on function get_first_cref_from in module ida_xref: + +get_first_cref_from(*args) + 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!). + + @return: first referenced address. The lastXR variable contains type + of the reference. If the specified instruction doesn't + reference to other instructions then returns BADADDR . + +Help on function get_first_cref_to in module ida_xref: + +get_first_cref_to(*args) + 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: linear address of referenced instruction (C++: ea_t) + @return: linear address of the first referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_first_dref_from in module ida_xref: + +get_first_dref_from(*args) + get_first_dref_from(frm) -> ea_t + + + Get first data referenced from the specified address. + + @return: linear address of first (lowest) data referenced from the + specified address. The lastXR variable contains type of the + reference. Return BADADDR if the specified instruction/data + doesn't reference to anything. + +Help on function get_first_dref_to in module ida_xref: + +get_first_dref_to(*args) + get_first_dref_to(to) -> ea_t + + + Get address of instruction/data referencing to the specified data. + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_first_fcref_from in module ida_xref: + +get_first_fcref_from(*args) + get_first_fcref_from(frm) -> ea_t + +Help on function get_first_fcref_to in module ida_xref: + +get_first_fcref_to(*args) + get_first_fcref_to(to) -> ea_t + +Help on function get_next_cref_from in module ida_xref: + +get_next_cref_from(*args) + get_next_cref_from(frm, current) -> ea_t + + + Get next instruction referenced from the specified instruction. + + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_from() or + previous call to get_next_cref_from() functions. + (C++: ea_t) + @return: next referenced address or BADADDR . The lastXR variable + contains type of the reference. + +Help on function get_next_cref_to in module ida_xref: + +get_next_cref_to(*args) + get_next_cref_to(to, current) -> ea_t + + + Get next instruction referencing to the specified instruction. + + @param to: linear address of referenced instruction (C++: ea_t) + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_to() or previous + call to get_next_cref_to() functions. (C++: ea_t) + @return: linear address of the next referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_next_dref_from in module ida_xref: + +get_next_dref_from(*args) + get_next_dref_from(frm, current) -> ea_t + + + Get next data referenced from the specified address. + + @param current: linear address of current referenced data. This value + is returned by get_first_dref_from() or previous + call to get_next_dref_from() functions. (C++: ea_t) + @return: linear address of next data or BADADDR . The lastXR + variable contains type of the reference + +Help on function get_next_dref_to in module ida_xref: + +get_next_dref_to(*args) + get_next_dref_to(to, current) -> ea_t + + + Get address of instruction/data referencing to the specified data + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @param current: current linear address. This value is returned by + get_first_dref_to() or previous call to + get_next_dref_to() functions. (C++: ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_next_fcref_from in module ida_xref: + +get_next_fcref_from(*args) + get_next_fcref_from(frm, current) -> ea_t + +Help on function get_next_fcref_to in module ida_xref: + +get_next_fcref_to(*args) + get_next_fcref_to(to, current) -> ea_t + +Help on function has_external_refs in module ida_xref: + +has_external_refs(*args) + has_external_refs(pfn, ea) -> bool + + + Has a location external to the function references? + + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on class xrefblk_t in module ida_xref: + +class xrefblk_t(__builtin__.object) + | Proxy of C++ xrefblk_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> xrefblk_t + | + | __repr__ = _swig_repr(self) + | + | first_from(self, *args) + | first_from(self, _from, flags) -> bool + | + | first_to(self, *args) + | first_to(self, _to, flags) -> bool + | + | next_from(self, *args) + | next_from(self) -> bool + | next_from(self, _from, _to, flags) -> bool + | + | next_to(self, *args) + | next_to(self) -> bool + | next_to(self, _from, _to, flags) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | frm + | xrefblk_t_frm_get(self) -> ea_t + | + | iscode + | xrefblk_t_iscode_get(self) -> uchar + | + | thisown + | The membership flag + | + | to + | xrefblk_t_to_get(self) -> ea_t + | + | type + | xrefblk_t_type_get(self) -> uchar + | + | user + | xrefblk_t_user_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __swig_destroy__ = + | delete_xrefblk_t(self) + +Help on function xrefchar in module ida_xref: + +xrefchar(*args) + xrefchar(xrtype) -> char + + + Get character describing the xref type. + + @param xrtype: combination of Cross-Reference type flags and a + cref_t of dref_t value (C++: char) + +=== ida_xref EPYDOC INJECTIONS === +ida_xref.XREF_ALL +""" +return all references +""" + +ida_xref.XREF_BASE +""" +Reference to the base part of an offset. +""" + +ida_xref.XREF_DATA +""" +return data references only +""" + +ida_xref.XREF_FAR +""" +don't return ordinary flow xrefs +""" + +ida_xref.XREF_MASK +""" +Mask to get xref type. +""" + +ida_xref.XREF_PASTEND +""" +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. +""" + +ida_xref.XREF_TAIL +""" +Reference to tail byte in extrn symbols. +""" + +ida_xref.XREF_USER +""" +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 +""" +=== ida_xref EPYDOC INJECTIONS END === +Help on function AddSeg in module idc: + +AddSeg(startea, endea, base, use32, align, comb) + +Help on function AutoMark in module idc: + +AutoMark(ea, qtype) + Plan to analyze an address + +Help on class DeprecatedIDCError in module idc: + +class DeprecatedIDCError(exceptions.Exception) + | Exception for deprecated function calls + | + | Method resolution order: + | DeprecatedIDCError + | exceptions.Exception + | exceptions.BaseException + | __builtin__.object + | + | Data descriptors defined here: + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Methods inherited from exceptions.Exception: + | + | __init__(...) + | x.__init__(...) initializes x; see help(type(x)) for signature + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from exceptions.Exception: + | + | __new__ = + | T.__new__(S, ...) -> a new object with type S, a subtype of T + | + | ---------------------------------------------------------------------- + | Methods inherited from exceptions.BaseException: + | + | __delattr__(...) + | x.__delattr__('name') <==> del x.name + | + | __getattribute__(...) + | x.__getattribute__('name') <==> x.name + | + | __getitem__(...) + | x.__getitem__(y) <==> x[y] + | + | __getslice__(...) + | x.__getslice__(i, j) <==> x[i:j] + | + | Use of negative indices is not supported. + | + | __reduce__(...) + | + | __repr__(...) + | x.__repr__() <==> repr(x) + | + | __setattr__(...) + | x.__setattr__('name', value) <==> x.name = value + | + | __setstate__(...) + | + | __str__(...) + | x.__str__() <==> str(x) + | + | __unicode__(...) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from exceptions.BaseException: + | + | __dict__ + | + | args + | + | message + +Help on function EVAL_FAILURE in module idc: + +EVAL_FAILURE(code) + Check the result of eval_idc() for evaluation failures + + @param code: result of eval_idc() + + @return: True if there was an evaluation error + +Help on function get_cmt in module ida_bytes: + +get_cmt(*args) + get_cmt(ea, rptble) -> str + + + Get an indented comment. + + @param ea: linear address. may point to tail byte, the function will + find start of the item (C++: ea_t) + @param rptble: get repeatable comment? (C++: bool) + @return: size of comment or -1 + +Help on function GetDisasm in module idc: + +GetDisasm(ea) + 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. + +Help on function GetDouble in module idc: + +GetDouble(ea) + 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 + +Help on function GetFloat in module idc: + +GetFloat(ea) + 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 + +Help on function GetLocalType in module idc: + +GetLocalType(ordinal, flags) + Retrieve a local type declaration + @param flags: any of PRTYPE_* constants + @return: local type as a C declaration or "" + +Help on function LoadFile in module idc: + +LoadFile(filepath, pos, ea, size) + 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 + +Help on function MakeVar in module idc: + +MakeVar(ea) + Mark the location as "variable" + + @param ea: address to mark + + @return: None + + @note: All that IDA does is to mark the location as "variable". + Nothing else, no additional analysis is performed. + This function may disappear in the future. + +Help on function SaveFile in module idc: + +SaveFile(filepath, pos, ea, size) + 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 + +Help on function SetPrcsr in module idc: + +SetPrcsr(processor) + +Help on function SetType in module idc: + +SetType(ea, newtype) + 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. + +Help on function SizeOf in module idc: + +SizeOf(typestr) + Returns the size of the type. It is equivalent to IDC's sizeof(). + Use name, tp, fld = idc.parse_decl() ; SizeOf(tp) to retrieve the size + @return: -1 if typestring is not valid otherwise the size of the type + +Help on function _IDC_GetAttr in module idc: + +_IDC_GetAttr(obj, attrmap, attroffs) + Internal function to generically get object attributes + Do not use unless you know what you are doing + +Help on function _IDC_SetAttr in module idc: + +_IDC_SetAttr(obj, attrmap, attroffs, value) + Internal function to generically set object attributes + Do not use unless you know what you are doing + +Help on function __DbgValue in module idc: + +__DbgValue(ea, len) + +Help on function __GetArrayById in module idc: + +__GetArrayById(array_id) + Get an array, by its ID. + + This (internal) wrapper around 'idaaip.netnode(array_id)' + will ensure a certain safety around the retrieval of + arrays (by catching quite unexpect[ed|able] exceptions, + and making sure we don't create & use `transient' netnodes). + + @param array_id: A positive, valid array ID. + +Help on class __dummy_netnode in module idc: + +class __dummy_netnode(__builtin__.object) + | Implements, in an "always failing" fashion, the + | netnode functions that are necessary for the + | array-related functions. + | + | The sole purpose of this singleton class is to + | serve as a placeholder for netnode-manipulating + | functions, that don't want to each have to perform + | checks on the existence of the netnode. + | (..in other words: it avoids a bunch of if/else's). + | + | See __GetArrayById() for more info. + | + | Methods defined here: + | + | altdel(self, *args) + | + | altfirst(self, *args) + | + | altlast(self, *args) + | + | altnext(self, *args) + | + | altprev(self, *args) + | + | altset(self, *args) + | + | altval(self, *args) + | + | hashdel(self, *args) + | + | hashfirst(self, *args) + | + | hashlast(self, *args) + | + | hashnext(self, *args) + | + | hashprev(self, *args) + | + | hashset(self, *args) + | + | hashset_buf(self, *args) + | + | hashset_idx(self, *args) + | + | hashstr(self, *args) + | + | hashstr_buf(self, *args) + | + | hashval(self, *args) + | + | hashval_long(self, *args) + | + | index(self, *args) + | + | kill(self, *args) + | + | rename(self, *args) + | + | supdel(self, *args) + | + | supfirst(self, *args) + | + | suplast(self, *args) + | + | supnext(self, *args) + | + | supprev(self, *args) + | + | supset(self, *args) + | + | supval(self, *args) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | instance = + +Help on function __l2m1 in module idc: + +__l2m1(v) + Long to minus 1: If the 'v' appears to be the + 'signed long' version of -1, then return -1. + Otherwise, return 'v'. + +Help on function __warn_once_deprecated_proto_confusion in module idc: + +__warn_once_deprecated_proto_confusion(what, alternative) + +Help on function _get_modules in module idc: + +_get_modules() + INTERNAL: Enumerate process modules + +Help on function add_auto_stkpnt in module idc: + +add_auto_stkpnt(func_ea, ea, delta) + Add automatical 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 + +Help on function add_bpt in module ida_dbg: + +add_bpt(*args) + add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + add_bpt(bpt) -> bool + + + Add a new breakpoint in the debugged process. \sq{Type, Synchronous + function - available as request, Notification, none (synchronous + function)}Only one breakpoint can exist at a given address. + + @param ea: any address in the process memory space. Depending on the + architecture, hardware breakpoints always be setup at + random address. For example, on x86, hardware breakpoints + should be aligned depending on their size. Moreover, on the + x86 architecture, it is impossible to setup more than 4 + hardware breakpoints. (C++: ea_t) + @param size: size of the breakpoint (irrelevant for software + breakpoints): As for the address, hardware breakpoints + can't always be setup with random size. (C++: asize_t) + @param type: type of the breakpoint ( BPT_SOFT for software + breakpoint) special case BPT_DEFAULT ( BPT_SOFT | + BPT_EXEC ): try to add instruction breakpoint of the + appropriate type as follows: software bpt if supported, + hwbpt otherwise (C++: bpttype_t) + +Help on function add_cref in module ida_xref: + +add_cref(*args) + add_cref(frm, to, type) -> bool + + + Create a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param type: cross-reference type (C++: cref_t) + @return: success + +Help on function add_default_til in module idc: + +add_default_til(name) + Load a type library + + @param name: name of type library. + @return: 1-ok, 0-failed. + +Help on function add_dref in module ida_xref: + +add_dref(*args) + add_dref(frm, to, type) -> bool + + + Create a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + @param type: cross-reference type (C++: dref_t) + @return: success (may fail if user-defined xref exists from->to) + +Help on function add_entry in module ida_entry: + +add_entry(*args) + add_entry(ord, ea, name, makecode, flags=0) -> bool + + + Add an entry point to the list of entry points. + + @param ord: ordinal number if ordinal number is equal to 'ea' then + ordinal is not used (C++: uval_t) + @param ea: linear address (C++: ea_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to the regular + comment. If name == NULL, then the old name will be + retained. (C++: const char *) + @param makecode: should the kernel convert bytes at the entry point to + instruction(s) (C++: bool) + @param flags: See AEF_* (C++: int) + @return: success (currently always true) + +Help on function add_enum in module idc: + +add_enum(idx, name, flag) + Add a new enum type + + @param idx: serial number of the new enum. + If another enum with the same serial number + exists, then all enums with serial + numbers >= the specified idx get their + serial numbers incremented (in other words, + the new enum is put in the middle of the list of enums). + + If idx >= get_enum_qty() or idx == idaapi.BADNODE + then the new enum is created at the end of + the list of enums. + + @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 + +Help on function add_enum_member in module idc: + +add_enum_member(enum_id, name, value, bmask) + 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 ida_enum.DEFMASK 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_*) + +Help on function add_func in module ida_funcs: + +add_func(*args) + 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: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @return: success + +Help on function add_hidden_range in module ida_bytes: + +add_hidden_range(*args) + add_hidden_range(ea1, ea2, description, header, footer, color) -> bool + + + Mark a range of addresses as hidden. The range will be created in the + invisible state with the default color + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (C++: ea_t) + @param description: range parameters (C++: const char *) + @param header: range parameters (C++: const char *) + @param footer: range parameters (C++: const char *) + @param color (C++: bgcolor_t) + @return: success + +Help on function add_idc_hotkey in module ida_kernwin: + +add_idc_hotkey(*args) + add_idc_hotkey(hotkey, idcfunc) -> int + + + Add hotkey for IDC function ( 'ui_add_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + @param idcfunc: IDC function name (C++: const char *) + @return: IDC hotkey error codes + +Help on function add_segm_ex in module idc: + +add_segm_ex(startea, endea, base, use32, align, comb, flags) + 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 + +Help on function add_sourcefile in module ida_lines: + +add_sourcefile(*args) + 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: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (excluded) + (C++: ea_t) + @param filename: name of source file. (C++: const char *) + @return: success + +Help on function add_struc in module idc: + +add_struc(index, name, is_union) + Define a new structure type + + @param index: index of new structure type + If another structure has the specified index, + then index of that structure and all other + structures will be incremented, freeing the specifed + index. If index is == -1, then the biggest index + number will be used. + See get_first_struc_idx() for the explanation of + structure indices and IDs. + @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 + +Help on function add_struc_member in module idc: + +add_struc_member(sid, name, offset, flag, typeid, nbytes, target=-1, tdelta=0, reftype=2) + 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 STRUC_ERROR_*) + +Help on function add_user_stkpnt in module ida_frame: + +add_user_stkpnt(*args) + add_user_stkpnt(ea, delta) -> bool + + + Add user-defined SP register change point. + + @param ea: linear address where SP changes (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function append_func_tail in module idc: + +append_func_tail(funcea, ea1, ea2) + 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 + +Help on function apply_type in module idc: + +apply_type(ea, py_type, flags=1) + 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 + +Help on function ask_seg in module ida_kernwin: + +ask_seg(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_yn in module ida_kernwin: + +ask_yn(*args) + ask_yn(deflt, format) -> int + + + Display a dialog box and get choice from "Yes", "No", "Cancel". + + @param deflt: default choice: one of Button IDs (C++: int) + @param format: The question in printf() style format (C++: const char + *) + @return: the selected button (one of Button IDs ). Esc key returns + ASKBTN_CANCEL . + +Help on function atoa in module idc: + +atoa(ea) + Convert address value to a string + Return address in the form 'seg000:1234' + (the same as in line prefixes) + + @param ea: address to format + +Help on function atol in module idc: + +atol(s) + +Help on function attach_process in module ida_dbg: + +attach_process(*args) + 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' + }This function shouldn't be called as a request if 'NO_PROCESS' is + used. + + @param pid: PID of the process to attach to. If NO_PROCESS , a dialog + box will interactively ask the user for the process to + attach to. (C++: pid_t) + @param event_id (C++: int) + +Help on function auto_mark_range in module ida_auto: + +auto_mark_range(*args) + 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) + +Help on function auto_unmark in module ida_auto: + +auto_unmark(*args) + 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) + +Help on function auto_wait in module ida_auto: + +auto_wait(*args) + 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) + +Help on function batch in module idc: + +batch(batch) + 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 + +Help on function byte_value in module idc: + +byte_value(F) + 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. + +Help on function calc_gtn_flags in module ida_name: + +calc_gtn_flags(fromaddr, ea) + Calculate flags for get_ea_name() function + + @param fromaddr: the referring address. May be BADADDR. + @param ea: linear address + + @return: flags + +Help on function call_system in module idc: + +call_system(command) + 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. + +Help on function can_exc_continue in module idc: + +can_exc_continue() + Can it continue after EXCEPTION event? + + @return: boolean + +Help on function check_bpt in module ida_dbg: + +check_bpt(*args) + check_bpt(ea) -> int + + + Check the breakpoint at the specified address. + + @param ea (C++: ea_t) + @return: one of Breakpoint status codes + +Help on function choose_func in module idc: + +choose_func(title) + 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 + +Help on function clear_trace in module idc: + +clear_trace(filename) + Clear the current trace buffer + +Help on function create_align in module ida_bytes: + +create_align(*args) + create_align(ea, length, alignment) -> bool + + + Alignment: 0 or 2..32. If it is 0, is will be calculated. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param alignment (C++: int) + +Help on function create_array in module idc: + +create_array(name) + Create array. + + @param name: The array name. + + @return: -1 in case of failure, a valid array_id otherwise. + +Help on function create_byte in module idc: + +create_byte(ea) + Convert the current item to a byte + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_custdata in module ida_bytes: + +create_custdata(*args) + 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) + +Help on function create_data in module ida_bytes: + +create_data(*args) + create_data(ea, dataflag, size, tid) -> bool + + + Convert to data (byte, word, dword, etc). This function may be used to + create arrays. + + @param ea: linear address (C++: ea_t) + @param dataflag: type of data. Value of function byte_flag() , + word_flag() , etc. (C++: flags_t) + @param size: 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. (C++: asize_t) + @param tid: type id. If the specified type is a structure, then tid is + structure id. Otherwise should be BADNODE . (C++: tid_t) + @return: success + +Help on function create_double in module idc: + +create_double(ea) + Convert the current item to a double floating point (8 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_dword in module idc: + +create_dword(ea) + Convert the current item to a double word (4 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_float in module idc: + +create_float(ea) + Convert the current item to a floating point (4 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_insn in module ida_ua: + +create_insn(*args) + 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: linear address (C++: ea_t) + @param out: the resulting instruction (C++: insn_t *) + @return: the length of the instruction or 0 + +Help on function create_oword in module idc: + +create_oword(ea) + Convert the current item to an octa word (16 bytes/128 bits) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_pack_real in module idc: + +create_pack_real(ea) + Convert the current item to a packed real (10 or 12 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_qword in module idc: + +create_qword(ea) + Convert the current item to a quadro word (8 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_strlit in module idc: + +create_strlit(ea, endea) + 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() + +Help on function create_struct in module idc: + +create_struct(ea, size, strname) + 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 + +Help on function create_tbyte in module idc: + +create_tbyte(ea) + Convert the current item to a tbyte (10 or 12 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_word in module idc: + +create_word(ea) + Convert the current item to a word (2 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_yword in module idc: + +create_yword(ea) + Convert the current item to a ymm word (32 bytes/256 bits) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function define_exception in module ida_dbg: + +define_exception(*args) + define_exception(code, name, desc, flags) -> char const * + + + Convenience function: define new exception code. + + @param code: exception code (cannot be 0) (C++: uint) + @param name: exception name (cannot be empty or NULL) (C++: const char + *) + @param desc: exception description (maybe NULL) (C++: const char *) + @param flags: combination of Exception info flags (C++: int) + @return: failure message or NULL. You must call store_exceptions() + if this function succeeds + +Help on function define_local_var in module idc: + +define_local_var(start, end, location, name) + 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. + +Help on function del_array_element in module idc: + +del_array_element(tag, array_id, idx) + 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. + +Help on function del_bpt in module ida_dbg: + +del_bpt(*args) + del_bpt(ea) -> bool + del_bpt(bptloc) -> bool + + + Delete an existing breakpoint in the debugged process. \sq{Type, + Synchronous function - available as request, Notification, none + (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + +Help on function del_cref in module ida_xref: + +del_cref(*args) + del_cref(frm, to, expand) -> int + + + Delete a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param expand: 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 (C++: bool) + +Help on function del_dref in module ida_xref: + +del_dref(*args) + del_dref(frm, to) + + + Delete a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + +Help on function del_enum in module ida_enum: + +del_enum(*args) + del_enum(id) + + + Delete an enum type. + + + @param id (C++: enum_t) + +Help on function del_enum_member in module idc: + +del_enum_member(enum_id, value, serial, bmask) + 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 ida_enum.DEFMASK as a bitmask + + @return: 1-ok, 0-failed + +Help on function del_extra_cmt in module ida_lines: + +del_extra_cmt(*args) + del_extra_cmt(ea, what) + +Help on function del_fixup in module ida_fixup: + +del_fixup(*args) + del_fixup(source) + + + Delete fixup information. + + + @param source (C++: ea_t) + +Help on function del_func in module ida_funcs: + +del_func(*args) + del_func(ea) -> bool + + + Delete a function. + + @param ea: any address in the function entry chunk (C++: ea_t) + @return: success + +Help on function del_hash_string in module idc: + +del_hash_string(hash_id, key) + Delete a hash element. + + @param hash_id: The hash ID. + @param key: Key of an element + + @return: 1 upon success, 0 otherwise. + +Help on function del_hidden_range in module ida_bytes: + +del_hidden_range(*args) + del_hidden_range(ea) -> bool + + + Delete hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: success + +Help on function del_idc_hotkey in module ida_kernwin: + +del_idc_hotkey(*args) + del_idc_hotkey(hotkey) -> bool + + + Delete IDC function hotkey ( 'ui_del_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + +Help on function del_items in module ida_bytes: + +del_items(*args) + 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: any address within the first item to delete (C++: ea_t) + @param flags: combination of Unexplored byte conversion flags (C++: + int) + @param nbytes: number of bytes in the range to be undefined (C++: + asize_t) + @param may_destroy: optional routine invoked before deleting a head + item. If callback returns false then item has not + to be deleted and operation fails (C++: + may_destroy_cb_t *) + @return: true on sucessful operation, otherwise false + +Help on function del_segm in module ida_segment: + +del_segm(*args) + del_segm(ea, flags) -> bool + + + Delete a segment. + + @param ea: any address belonging to the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function del_selector in module ida_segment: + +del_selector(*args) + 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: number of selector to remove from the translation + table (C++: sel_t) + +Help on function del_source_linnum in module ida_nalt: + +del_source_linnum(*args) + del_source_linnum(ea) + +Help on function del_sourcefile in module ida_lines: + +del_sourcefile(*args) + del_sourcefile(ea) -> bool + + + Delete information about the source file. + + @param ea: linear address (C++: ea_t) + @return: success + +Help on function del_stkpnt in module idc: + +del_stkpnt(func_ea, ea) + Delete SP register change point + + @param func_ea: function start + @param ea: linear address + @return: 1-ok, 0-failed + +Help on function del_struc in module idc: + +del_struc(sid) + 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. + +Help on function del_struc_member in module idc: + +del_struc_member(sid, member_offset) + 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. + +Help on function delete_all_segments in module idc: + +delete_all_segments() + Delete all segments, instructions, comments, i.e. everything + except values of bytes. + +Help on function delete_array in module idc: + +delete_array(array_id) + Delete array, by its ID. + + @param array_id: The ID of the array to delete. + +Help on function demangle_name in module idc: + +demangle_name(name, disable_mask) + 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 + +Help on function detach_process in module ida_dbg: + +detach_process(*args) + detach_process() -> bool + + + Detach the debugger from the debugged process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_detach' } + +Help on function diff_trace_file in module ida_dbg: + +diff_trace_file(*args) + diff_trace_file(nonnul_filename) -> bool + + + Show difference between the current trace and the one from 'filename'. + +Help on function enable_bpt in module ida_dbg: + +enable_bpt(*args) + enable_bpt(ea, enable=True) -> bool + enable_bpt(bptloc, enable=True) -> bool + +Help on function enable_tracing in module idc: + +enable_tracing(trace_level, enable) + Enable step tracing + + @param trace_level: what kind of trace to modify + @param enable: 0: turn off, 1: turn on + + @return: success + +Help on function error in module ida_kernwin: + +error(*args) + error(format) + + + Display a fatal message in a message box and quit IDA + + @param format: message to print + +Help on function eval_idc in module idc: + +eval_idc(expr) + 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 + +Help on function exit_process in module ida_dbg: + +exit_process(*args) + exit_process() -> bool + + + Terminate the debugging of the current process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_exit' } + +Help on function expand_struc in module idc: + +expand_struc(sid, offset, delta, recalc) + 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: recalculate the locations where the structure + type is used + @return: != 0 - ok + +Help on function fclose in module idc: + +fclose(handle) + +Help on function fgetc in module idc: + +fgetc(handle) + +Help on function filelength in module idc: + +filelength(handle) + +Help on function find_binary in module idc: + +find_binary(ea, flag, searchstr, radix=16, from_bc695=False) + +Help on function find_code in module ida_search: + +find_code(*args) + find_code(ea, sflag) -> ea_t + + + Find next code address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_data in module ida_search: + +find_data(*args) + find_data(ea, sflag) -> ea_t + + + Find next data address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_defined in module ida_search: + +find_defined(*args) + 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) + +Help on function find_func_end in module idc: + +find_func_end(ea) + 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 + +Help on function find_imm in module ida_search: + +find_imm(*args) + find_imm(newEA, sflag, srchValue) -> ea_t + + + Find next immediate operand with the given value. + + + @param newEA (C++: ea_t) + @param sflag (C++: int) + @param srchValue (C++: uval_t) + +Help on function find_selector in module idc: + +find_selector(val) + Find a selector which has the specifed 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 + +Help on function find_suspop in module ida_search: + +find_suspop(*args) + find_suspop(ea, sflag) -> ea_t + + + Find next suspicious operand. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_text in module idc: + +find_text(ea, flag, y, x, searchstr, from_bc695=False) + +Help on function find_unknown in module ida_search: + +find_unknown(*args) + find_unknown(ea, sflag) -> ea_t + + + Find next unexplored address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function first_func_chunk in module idc: + +first_func_chunk(funcea) + 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 + +Help on function fopen in module idc: + +fopen(f, mode) + #---------------------------------------------------------------------------- + # F I L E I / O + #---------------------------------------------------------------------------- + +Help on function force_bl_call in module idc: + +force_bl_call(ea) + Force BL instruction to be a call + + @param ea: address of the BL instruction + + @return: 1-ok, 0-failed + +Help on function force_bl_jump in module idc: + +force_bl_jump(ea) + 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 + +Help on function form in module idc: + +form(format, *args) + +Help on function fprintf in module idc: + +fprintf(handle, format, *args) + +Help on function fputc in module idc: + +fputc(byte, handle) + +Help on function fseek in module idc: + +fseek(handle, offset, origin) + +Help on function ftell in module idc: + +ftell(handle) + +Help on function func_contains in module idc: + +func_contains(func_ea, ea) + Does the given function contain the given address? + + @param func_ea: any address belonging to the function + @param ea: linear address + + @return: success + +Help on function gen_file in module idc: + +gen_file(filetype, path, ea1, ea2, flags) + 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 + +Help on function gen_flow_graph in module idc: + +gen_flow_graph(outfile, title, ea1, ea2, flags) + 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. + +Help on function gen_simple_call_chart in module idc: + +gen_simple_call_chart(outfile, title, flags) + 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 + +Help on function generate_disasm_line in module idc: + +generate_disasm_line(ea, flags) + 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. + +Help on function get_array_element in module idc: + +get_array_element(tag, array_id, idx) + 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. + +Help on function get_array_id in module idc: + +get_array_id(name) + 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. + +Help on function get_bmask_cmt in module idc: + +get_bmask_cmt(enum_id, bmask, repeatable) + 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 + +Help on function get_bmask_name in module idc: + +get_bmask_name(enum_id, bmask) + Get bitmask name (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + + @return: name of bitmask or None + +Help on function get_marked_pos in module ida_idc: + +get_marked_pos(*args) + get_marked_pos(slot) -> ea_t + +Help on function get_mark_comment in module ida_idc: + +get_mark_comment(*args) + get_mark_comment(slot) -> PyObject * + +Help on function get_bpt_attr in module idc: + +get_bpt_attr(ea, bptattr) + 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 + +Help on function get_bpt_ea in module idc: + +get_bpt_ea(n) + Get breakpoint address + + @param n: number of breakpoint, is in range 0..get_bpt_qty()-1 + + @return: address of the breakpoint or BADADDR + +Help on function get_bpt_qty in module ida_dbg: + +get_bpt_qty(*args) + get_bpt_qty() -> int + + + Get number of breakpoints. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function get_bpt_tev_ea in module ida_dbg: + +get_bpt_tev_ea(*args) + 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)}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. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a read, read/write or execution trace event. + +Help on function get_bytes in module idc: + +get_bytes(ea, size, use_dbg=False) + 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 + +Help on function get_call_tev_callee in module ida_dbg: + +get_call_tev_callee(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function call event. + +Help on function get_color in module idc: + +get_color(ea, what) + 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) + +Help on function get_curline in module idc: + +get_curline() + Get the disassembly line at the cursor + + @return: string + +Help on function get_current_thread in module ida_dbg: + +get_current_thread(*args) + get_current_thread() -> thid_t + + + Get current thread ID. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_db_byte in module ida_bytes: + +get_db_byte(*args) + 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) + +Help on function get_debugger_event_cond in module ida_dbg: + +get_debugger_event_cond(*args) + get_debugger_event_cond() -> char const * + +Help on function get_entry in module ida_entry: + +get_entry(*args) + get_entry(ord) -> ea_t + + + Get entry point address by its ordinal + + @param ord: ordinal number of entry point (C++: uval_t) + @return: address or BADADDR + +Help on function get_entry_name in module ida_entry: + +get_entry_name(*args) + get_entry_name(ord) -> str + + + Get name of the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry name or -1 + +Help on function get_entry_ordinal in module ida_entry: + +get_entry_ordinal(*args) + get_entry_ordinal(idx) -> uval_t + + + Get ordinal number of an entry point. + + @param idx: internal number of entry point. Should be in the range 0.. + get_entry_qty() -1 (C++: size_t) + @return: ordinal number or 0. + +Help on function get_entry_qty in module ida_entry: + +get_entry_qty(*args) + get_entry_qty() -> size_t + + + Get number of entry points. + +Help on function get_enum in module ida_enum: + +get_enum(*args) + get_enum(name) -> enum_t + + + Get enum by name. + + + @param name (C++: const char *) + +Help on function get_enum_cmt in module ida_enum: + +get_enum_cmt(*args) + get_enum_cmt(id, repeatable) -> str + + + Get enum comment. + + + @param id (C++: enum_t) + @param repeatable (C++: bool) + +Help on function get_enum_flag in module ida_enum: + +get_enum_flag(*args) + get_enum_flag(id) -> flags_t + + + Get flags determining the representation of the enum. (currently they + define the numeric base: octal, decimal, hex, bin) and signness. + + @param id (C++: enum_t) + +Help on function get_enum_idx in module ida_enum: + +get_enum_idx(*args) + get_enum_idx(id) -> uval_t + + + Get serial number of enum. The serial number determines the place of + the enum in the enum window. + + @param id (C++: enum_t) + +Help on function get_enum_member in module idc: + +get_enum_member(enum_id, value, serial, bmask) + 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 ida_enum.DEFMASK as a bitmask + + @return: id of constant or -1 if error + +Help on function get_enum_member_bmask in module ida_enum: + +get_enum_member_bmask(*args) + get_enum_member_bmask(id) -> bmask_t + + + Get bitmask of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_by_name in module ida_enum: + +get_enum_member_by_name(*args) + get_enum_member_by_name(name) -> const_t + + + Get a reference to an enum member by its name. + + + @param name (C++: const char *) + +Help on function get_enum_member_cmt in module idc: + +get_enum_member_cmt(const_id, repeatable) + Get comment of a constant + + @param const_id: id of const + @param repeatable: 0:get regular comment, 1:get repeatable comment + + @return: comment string + +Help on function get_enum_member_enum in module ida_enum: + +get_enum_member_enum(*args) + get_enum_member_enum(id) -> enum_t + + + Get the parent enum of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_name in module idc: + +get_enum_member_name(const_id) + Get name of a constant + + @param const_id: id of const + + Returns: name of constant + +Help on function get_enum_member_value in module ida_enum: + +get_enum_member_value(*args) + get_enum_member_value(id) -> uval_t + + + Get value of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_name in module ida_enum: + +get_enum_name(*args) + get_enum_name(id) -> str + + + Get name of enum. + + + @param id (C++: enum_t) + +Help on function get_enum_qty in module ida_enum: + +get_enum_qty(*args) + get_enum_qty() -> size_t + + + Get number of declared 'enum_t' types. + +Help on function get_enum_size in module ida_enum: + +get_enum_size(*args) + get_enum_size(id) -> size_t + + + Get the number of the members of the enum. + + + @param id (C++: enum_t) + +Help on function get_enum_width in module ida_enum: + +get_enum_width(*args) + get_enum_width(id) -> size_t + + + Get the width of a enum element allowed values: 0 + (unspecified),1,2,4,8,16,32,64 + + @param id (C++: enum_t) + +Help on function get_event_bpt_hea in module idc: + +get_event_bpt_hea() + Get hardware address for BREAKPOINT event + + @return: hardware address + +Help on function get_event_ea in module idc: + +get_event_ea() + Get ea for debug event + + @return: ea + +Help on function get_event_exc_code in module idc: + +get_event_exc_code() + Get exception code for EXCEPTION event + + @return: exception code + +Help on function get_event_exc_ea in module idc: + +get_event_exc_ea() + Get address for EXCEPTION event + + @return: adress of exception + +Help on function get_event_exc_info in module idc: + +get_event_exc_info() + Get info for EXCEPTION event + + @return: info string + +Help on function get_event_exit_code in module idc: + +get_event_exit_code() + Get exit code for debug event + + @return: exit code for PROCESS_EXITED, THREAD_EXITED events + +Help on function get_event_id in module idc: + +get_event_id() + Get ID of debug event + + @return: event ID + +Help on function get_event_info in module idc: + +get_event_info() + Get debug event info + + @return: event info: for THREAD_STARTED (thread name) + for LIB_UNLOADED (unloaded library name) + for INFORMATION (message to display) + +Help on function get_event_module_base in module idc: + +get_event_module_base() + Get module base for debug event + + @return: module base + +Help on function get_event_module_name in module idc: + +get_event_module_name() + Get module name for debug event + + @return: module name + +Help on function get_event_module_size in module idc: + +get_event_module_size() + Get module size for debug event + + @return: module size + +Help on function get_event_pid in module idc: + +get_event_pid() + Get process ID for debug event + + @return: process ID + +Help on function get_event_tid in module idc: + +get_event_tid() + Get type ID for debug event + + @return: type ID + +Help on function get_extra_cmt in module ida_lines: + +get_extra_cmt(*args) + get_extra_cmt(ea, what) -> ssize_t + +Help on function get_fchunk_attr in module idc: + +get_fchunk_attr(ea, attr) + 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 + +Help on function get_fchunk_referer in module ida_funcs: + +get_fchunk_referer(*args) + get_fchunk_referer(ea, idx) -> ea_t + +Help on function get_first_bmask in module ida_enum: + +get_first_bmask(*args) + get_first_bmask(id) -> bmask_t + + + Get first bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the smallest bitmask for enum, or DEFMASK + +Help on function get_first_cref_from in module ida_xref: + +get_first_cref_from(*args) + 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!). + + @return: first referenced address. The lastXR variable contains type + of the reference. If the specified instruction doesn't + reference to other instructions then returns BADADDR . + +Help on function get_first_cref_to in module ida_xref: + +get_first_cref_to(*args) + 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: linear address of referenced instruction (C++: ea_t) + @return: linear address of the first referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_first_dref_from in module ida_xref: + +get_first_dref_from(*args) + get_first_dref_from(frm) -> ea_t + + + Get first data referenced from the specified address. + + @return: linear address of first (lowest) data referenced from the + specified address. The lastXR variable contains type of the + reference. Return BADADDR if the specified instruction/data + doesn't reference to anything. + +Help on function get_first_dref_to in module ida_xref: + +get_first_dref_to(*args) + get_first_dref_to(to) -> ea_t + + + Get address of instruction/data referencing to the specified data. + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_first_enum_member in module idc: + +get_first_enum_member(enum_id, bmask) + Get first constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) + + @return: value of constant or idaapi.BADNODE no constants are defined + All constants are sorted by their values as unsigned longs. + +Help on function get_first_fcref_from in module ida_xref: + +get_first_fcref_from(*args) + get_first_fcref_from(frm) -> ea_t + +Help on function get_first_fcref_to in module ida_xref: + +get_first_fcref_to(*args) + get_first_fcref_to(to) -> ea_t + +Help on function get_first_hash_key in module idc: + +get_first_hash_key(hash_id) + Get the first key in the hash. + + @param hash_id: The hash ID. + + @return: the key, 0 otherwise. + +Help on function get_first_index in module idc: + +get_first_index(tag, array_id) + 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. + +Help on function get_first_member in module idc: + +get_first_member(sid) + Get offset of the first member of a structure + + @param sid: structure type ID + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if structure has no members, + otherwise returns offset of the first member. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_first_module in module idc: + +get_first_module() + Enumerate process modules + + @return: first module's base address or None on failure + +Help on function get_first_seg in module idc: + +get_first_seg() + Get first segment + + @return: address of the start of the first segment + BADADDR - no segments are defined + +Help on function get_first_struc_idx in module ida_struct: + +get_first_struc_idx(*args) + get_first_struc_idx() -> uval_t + + + Get index of first structure. + + @return: BADADDR if no known structures, 0 otherwise + +Help on function get_fixup_target_dis in module idc: + +get_fixup_target_dis(ea) + Get fixup target displacement + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup target displacement + +Help on function get_fixup_target_flags in module idc: + +get_fixup_target_flags(ea) + Get fixup target flags + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup target flags + +Help on function get_fixup_target_off in module idc: + +get_fixup_target_off(ea) + Get fixup target offset + + @param ea: address to get information about + + @return: BADADDR - no fixup at the specified address + otherwise returns fixup target offset + +Help on function get_fixup_target_sel in module idc: + +get_fixup_target_sel(ea) + Get fixup target selector + + @param ea: address to get information about + + @return: BADSEL - no fixup at the specified address + otherwise returns fixup target selector + +Help on function get_fixup_target_type in module idc: + +get_fixup_target_type(ea) + Get fixup target type + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup type + +Help on function get_forced_operand in module ida_bytes: + +get_forced_operand(*args) + get_forced_operand(ea, n) -> str + + + Get forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @return: size of forced operand or -1 + +Help on function get_frame_args_size in module idc: + +get_frame_args_size(ea) + 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 does't exist, return -1 + +Help on function get_frame_id in module idc: + +get_frame_id(ea) + 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. + +Help on function get_frame_lvar_size in module idc: + +get_frame_lvar_size(ea) + 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 does't exist, return None + +Help on function get_frame_regs_size in module idc: + +get_frame_regs_size(ea) + 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 does't exist, return None + +Help on function get_frame_size in module idc: + +get_frame_size(ea) + 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 does't exist, return 0 + +Help on function get_full_flags in module ida_bytes: + +get_full_flags(*args) + get_full_flags(ea) -> flags_t + + + Get flags value for address 'ea'. + + @param ea (C++: ea_t) + @return: 0 if address is not present in the program + +Help on function get_func_attr in module idc: + +get_func_attr(ea, attr) + 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 + +Help on function get_func_cmt in module idc: + +get_func_cmt(ea, repeatable) + 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 + +Help on function get_func_flags in module idc: + +get_func_flags(ea) + Retrieve function flags + + @param ea: any address belonging to the function + + @return: -1 - function doesn't exist otherwise returns the flags + +Help on function get_func_name in module idc: + +get_func_name(ea) + Retrieve function name + + @param ea: any address belonging to the function + + @return: null string - function doesn't exist + otherwise returns function name + +Help on function get_func_off_str in module idc: + +get_func_off_str(ea) + 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 + +Help on function get_hash_long in module idc: + +get_hash_long(hash_id, key) + 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. + +Help on function get_hash_string in module idc: + +get_hash_string(hash_id, key) + 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. + +Help on function get_idb_path in module idc: + +get_idb_path() + Get IDB full path + + This function returns full path of the current IDB database + +Help on function get_inf_attr in module idc: + +get_inf_attr(attr) + +Help on function get_input_file_path in module ida_nalt: + +get_input_file_path(*args) + get_input_file_path() -> str + + + Get full path of the input file. + +Help on function get_item_end in module ida_bytes: + +get_item_end(*args) + 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) + +Help on function get_item_head in module ida_bytes: + +get_item_head(*args) + 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) + +Help on function get_item_size in module idc: + +get_item_size(ea) + Get size of instruction or data item in bytes + + @param ea: linear address + + @return: 1..n + +Help on function get_last_bmask in module ida_enum: + +get_last_bmask(*args) + get_last_bmask(id) -> bmask_t + + + Get last bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the biggest bitmask for enum, or DEFMASK + +Help on function get_last_enum_member in module idc: + +get_last_enum_member(enum_id, bmask) + Get last constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) + + @return: value of constant or idaapi.BADNODE no constants are defined + All constants are sorted by their values + as unsigned longs. + +Help on function get_last_hash_key in module idc: + +get_last_hash_key(hash_id) + Get the last key in the hash. + + @param hash_id: The hash ID. + + @return: the key, 0 otherwise. + +Help on function get_last_index in module idc: + +get_last_index(tag, array_id) + 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. + +Help on function get_last_member in module idc: + +get_last_member(sid) + Get offset of the last member of a structure + + @param sid: structure type ID + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if structure has no members, + otherwise returns offset of the last member. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_last_struc_idx in module ida_struct: + +get_last_struc_idx(*args) + get_last_struc_idx() -> uval_t + + + Get index of last structure. + + @return: BADADDR if no known structures, get_struc_qty() -1 + otherwise + +Help on function get_local_tinfo in module idc: + +get_local_tinfo(ordinal) + Get local type information as 'typeinfo' object + + @param ordinal: slot number (1...NumberOfLocalTypes) + @return: None on failure, or (type, fields) tuple. + +Help on function get_manual_insn in module ida_bytes: + +get_manual_insn(*args) + get_manual_insn(ea) -> str + + + Retrieve the user-specified string for the manual instruction. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @return: size of manual instruction or -1 + +Help on function get_member_cmt in module idc: + +get_member_cmt(sid, member_offset, repeatable) + 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: 1: get repeatable comment + 0: get regular comment + + @return: None if bad structure type ID is passed + or no such member in the structure + otherwise returns comment of the specified member. + +Help on function get_member_flag in module idc: + +get_member_flag(sid, member_offset) + Get type 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 type of the member, see bit + definitions above. If the member type is a structure + then function GetMemberStrid() should be used to + get the structure type id. + +Help on function get_member_id in module idc: + +get_member_id(sid, member_offset) + @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. + +Help on function get_member_name in module idc: + +get_member_name(sid, member_offset) + 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. + +Help on function get_member_offset in module idc: + +get_member_offset(sid, member_name) + 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... + +Help on function get_member_qty in module idc: + +get_member_qty(sid) + 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. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_member_size in module idc: + +get_member_size(sid, member_offset) + 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. + +Help on function get_member_strid in module idc: + +get_member_strid(sid, member_offset) + 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. + +Help on function get_min_spd_ea in module idc: + +get_min_spd_ea(func_ea) + 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 + +Help on function get_module_name in module idc: + +get_module_name(base) + Get process module name + + @param base: the base address of the module + + @return: required info or None + +Help on function get_module_size in module idc: + +get_module_size(base) + Get process module size + + @param base: the base address of the module + + @return: required info or -1 + +Help on function get_name in module idc: + +get_name(ea, gtn_flags=0) + 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 + +Help on function get_name_ea in module ida_name: + +get_name_ea(*args) + get_name_ea(_from, name) -> ea_t + + + Get address of the name. Dummy names (like byte_xxxx where xxxx are + hex digits) are parsed by this function to obtain the address. The + database is not consulted for them. This function works only with + regular names. + + @param _from: linear address where the name is used. if not + applicable, then should be BADADDR . (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: address of the name or BADADDR + +Help on function get_name_ea_simple in module idc: + +get_name_ea_simple(name) + Get linear address of a name + + @param name: name of program byte + + @return: address of the name + BADADDR - No such name + +Help on function get_next_bmask in module ida_enum: + +get_next_bmask(*args) + get_next_bmask(id, bmask) -> bmask_t + + + Get next bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value higher than the specified + value, or DEFMASK + +Help on function get_next_cref_from in module ida_xref: + +get_next_cref_from(*args) + get_next_cref_from(frm, current) -> ea_t + + + Get next instruction referenced from the specified instruction. + + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_from() or + previous call to get_next_cref_from() functions. + (C++: ea_t) + @return: next referenced address or BADADDR . The lastXR variable + contains type of the reference. + +Help on function get_next_cref_to in module ida_xref: + +get_next_cref_to(*args) + get_next_cref_to(to, current) -> ea_t + + + Get next instruction referencing to the specified instruction. + + @param to: linear address of referenced instruction (C++: ea_t) + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_to() or previous + call to get_next_cref_to() functions. (C++: ea_t) + @return: linear address of the next referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_next_dref_from in module ida_xref: + +get_next_dref_from(*args) + get_next_dref_from(frm, current) -> ea_t + + + Get next data referenced from the specified address. + + @param current: linear address of current referenced data. This value + is returned by get_first_dref_from() or previous + call to get_next_dref_from() functions. (C++: ea_t) + @return: linear address of next data or BADADDR . The lastXR + variable contains type of the reference + +Help on function get_next_dref_to in module ida_xref: + +get_next_dref_to(*args) + get_next_dref_to(to, current) -> ea_t + + + Get address of instruction/data referencing to the specified data + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @param current: current linear address. This value is returned by + get_first_dref_to() or previous call to + get_next_dref_to() functions. (C++: ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_next_enum_member in module idc: + +get_next_enum_member(enum_id, value, bmask) + Get next constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant ordinary enums accept only ida_enum.DEFMASK as a bitmask + @param value: value of the current constant + + @return: value of a constant with value higher than the specified + value. idaapi.BADNODE no such constants exist. + All constants are sorted by their values as unsigned longs. + +Help on function get_next_fchunk in module idc: + +get_next_fchunk(ea) + 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 + +Help on function get_next_fcref_from in module ida_xref: + +get_next_fcref_from(*args) + get_next_fcref_from(frm, current) -> ea_t + +Help on function get_next_fcref_to in module ida_xref: + +get_next_fcref_to(*args) + get_next_fcref_to(to, current) -> ea_t + +Help on function get_next_fixup_ea in module ida_fixup: + +get_next_fixup_ea(*args) + get_next_fixup_ea(ea) -> ea_t + + + Find next address with fixup information + + @param ea: current address (C++: ea_t) + @return: the next address with fixup information, or BADADDR + +Help on function get_next_func in module idc: + +get_next_func(ea) + Find next function + + @param ea: any address belonging to the function + + @return: BADADDR - no more functions + otherwise returns the next function start address + +Help on function get_next_hash_key in module idc: + +get_next_hash_key(hash_id, key) + Get the next key in the hash. + + @param hash_id: The hash ID. + @param key: The current key. + + @return: the next key, 0 otherwise + +Help on function get_next_index in module idc: + +get_next_index(tag, array_id, idx) + 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. + +Help on function get_next_module in module idc: + +get_next_module(base) + Enumerate process modules + + @param base: previous module's base address + + @return: next module's base address or None on failure + +Help on function get_next_offset in module idc: + +get_next_offset(sid, offset) + Get next offset in a structure + + @param sid: structure type ID + @param offset: current offset + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if no (more) offsets in the structure, + otherwise returns next offset in a structure. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + This function returns a member offset or a hole offset. + It will return size of the structure if input + 'offset' belongs to the last member of the structure. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_next_seg in module idc: + +get_next_seg(ea) + Get next segment + + @param ea: linear address + + @return: start of the next segment + BADADDR - no next segment + +Help on function get_next_struc_idx in module ida_struct: + +get_next_struc_idx(*args) + get_next_struc_idx(idx) -> uval_t + + + Get next struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is out of bounds, otherwise idx++ + +Help on function get_numbered_type_name in module idc: + +get_numbered_type_name(ordinal) + Retrieve a local type name + + @param ordinal: slot number (1...NumberOfLocalTypes) + + returns: local type name or None + +Help on function get_operand_type in module idc: + +get_operand_type(ea, n) + 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 + +Help on function get_operand_value in module idc: + +get_operand_value(ea, n) + 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 + +Help on function get_ordinal_qty in module idc: + +get_ordinal_qty() + Get number of local types + 1 + + @return: value >= 1. 1 means that there are no local types. + +Help on function get_original_byte in module ida_bytes: + +get_original_byte(*args) + 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) + +Help on function get_prev_bmask in module ida_enum: + +get_prev_bmask(*args) + get_prev_bmask(id, bmask) -> bmask_t + + + Get prev bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value lower than the specified value, + or DEFMASK + +Help on function get_prev_enum_member in module idc: + +get_prev_enum_member(enum_id, value, bmask) + Get prev constant in the enum + + @param enum_id: id of enum + @param bmask : bitmask of the constant + ordinary enums accept only ida_enum.DEFMASK as a bitmask + @param value: value of the current constant + + @return: value of a constant with value lower than the specified + value. idaapi.BADNODE no such constants exist. + All constants are sorted by their values as unsigned longs. + +Help on function get_prev_fchunk in module idc: + +get_prev_fchunk(ea) + 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 + +Help on function get_prev_fixup_ea in module ida_fixup: + +get_prev_fixup_ea(*args) + get_prev_fixup_ea(ea) -> ea_t + + + Find previous address with fixup information + + @param ea: current address (C++: ea_t) + @return: the previous address with fixup information, or BADADDR + +Help on function get_prev_func in module idc: + +get_prev_func(ea) + Find previous function + + @param ea: any address belonging to the function + + @return: BADADDR - no more functions + otherwise returns the previous function start address + +Help on function get_prev_hash_key in module idc: + +get_prev_hash_key(hash_id, key) + Get the previous key in the hash. + + @param hash_id: The hash ID. + @param key: The current key. + + @return: the previous key, 0 otherwise + +Help on function get_prev_index in module idc: + +get_prev_index(tag, array_id, idx) + 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. + +Help on function get_prev_offset in module idc: + +get_prev_offset(sid, offset) + Get previous offset in a structure + + @param sid: structure type ID + @param offset: current offset + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if no (more) offsets in the structure, + otherwise returns previous offset in a structure. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + This function returns a member offset or a hole offset. + It will return size of the structure if input + 'offset' is bigger than the structure size. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_prev_struc_idx in module ida_struct: + +get_prev_struc_idx(*args) + get_prev_struc_idx(idx) -> uval_t + + + Get previous struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is negative, otherwise idx - 1 + +Help on function get_process_state in module ida_dbg: + +get_process_state(*args) + 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 + +Help on function get_processes in module ida_dbg: + +get_processes(*args) + 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 *) + @return: number of processes or -1 on error + +Help on function get_qword in module ida_bytes: + +get_qword(*args) + get_qword(ea) -> uint64 + + + Get one qword (64-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_reg_value in module idc: + +get_reg_value(name) + Get register value + + @param name: the register name + + @note: The debugger should be running. otherwise the function fails + the register name should be valid. + It is not necessary to use this function to get register values + because a register name in the script will do too. + + @return: register value (integer or floating point) + +Help on function get_ret_tev_return in module ida_dbg: + +get_ret_tev_return(*args) + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function return event. + +Help on function get_root_filename in module ida_nalt: + +get_root_filename(*args) + get_root_filename() -> str + + + Get file name only of the input file. + +Help on function get_screen_ea in module ida_kernwin: + +get_screen_ea(*args) + get_screen_ea() -> ea_t + + + Get the address at the screen cursor ( 'ui_screenea' ) + +Help on function get_segm_attr in module idc: + +get_segm_attr(segea, attr) + Get segment attribute + + @param segea: any address within segment + @param attr: one of SEGATTR_... constants + +Help on function get_segm_by_sel in module idc: + +get_segm_by_sel(base) + 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 + +Help on function get_segm_end in module idc: + +get_segm_end(ea) + 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 + +Help on function get_segm_name in module idc: + +get_segm_name(ea) + Get name of a segment + + @param ea: any address in the segment + + @return: "" - no segment at the specified address + +Help on function get_segm_start in module idc: + +get_segm_start(ea) + 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 + +Help on function get_source_linnum in module ida_nalt: + +get_source_linnum(*args) + get_source_linnum(ea) -> uval_t + +Help on function get_sourcefile in module ida_lines: + +get_sourcefile(*args) + get_sourcefile(ea, bounds=None) -> char const * + + + Get name of source file occupying the given address. + + @param ea: linear address (C++: ea_t) + @param bounds: pointer to the output buffer with the address range for + the current file. May be NULL. (C++: range_t *) + @return: NULL if source file information is not found, otherwise + returns pointer to file name + +Help on function get_sp_delta in module idc: + +get_sp_delta(ea) + 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 + +Help on function get_spd in module idc: + +get_spd(ea) + 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 + +Help on function get_sreg in module idc: + +get_sreg(ea, reg) + 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. + +Help on function get_step_trace_options in module ida_dbg: + +get_step_trace_options(*args) + get_step_trace_options() -> int + + + Get current step tracing options. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @return: Step trace options + +Help on function get_str_type in module idc: + +get_str_type(ea) + Get string type + + @param ea: linear address + + @return: One of STRTYPE_... constants + +Help on function get_strlit_contents in module idc: + +get_strlit_contents(ea, length=-1, strtype=0) + 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 + +Help on function get_struc_by_idx in module ida_struct: + +get_struc_by_idx(*args) + get_struc_by_idx(idx) -> tid_t + + + Get struct id by struct number. + + + @param idx (C++: uval_t) + +Help on function get_struc_cmt in module ida_struct: + +get_struc_cmt(*args) + get_struc_cmt(id, repeatable) -> str + + + Get struct comment. + + + @param id (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_struc_id in module ida_struct: + +get_struc_id(*args) + get_struc_id(name) -> tid_t + + + Get struct id by name. + + + @param name (C++: const char *) + +Help on function get_struc_idx in module ida_struct: + +get_struc_idx(*args) + get_struc_idx(id) -> uval_t + + + Get internal number of the structure. + + + @param id (C++: tid_t) + +Help on function get_struc_name in module ida_struct: + +get_struc_name(*args) + get_struc_name(id, flags=0) -> str + + + Get struct name by id + + @param id: struct id (C++: tid_t) + @param flags: Struct name flags (C++: int) + +Help on function get_struc_qty in module ida_struct: + +get_struc_qty(*args) + get_struc_qty() -> size_t + + + Get number of known structures. + +Help on function get_struc_size in module ida_struct: + +get_struc_size(*args) + get_struc_size(sptr) -> asize_t + get_struc_size(id) -> asize_t + + + Get struct size (also see 'get_struc_size(tid_t)' ) + + + @param sptr (C++: const struc_t *) + +Help on function get_tev_ea in module ida_dbg: + +get_tev_ea(*args) + get_tev_ea(n) -> ea_t + +Help on function get_tev_reg_mem in module ida_dbg: + +get_tev_reg_mem(tev, idx) + +Help on function get_tev_reg_mem_ea in module ida_dbg: + +get_tev_reg_mem_ea(tev, idx) + +Help on function get_tev_reg_mem_qty in module ida_dbg: + +get_tev_reg_mem_qty(tev) + +Help on function get_tev_qty in module ida_dbg: + +get_tev_qty(*args) + get_tev_qty() -> int + + + Get number of trace events available in trace buffer. \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_tev_reg_val in module ida_dbg: + +get_tev_reg_val(tev, reg) + +Help on function get_tev_tid in module ida_dbg: + +get_tev_tid(*args) + get_tev_tid(n) -> int + +Help on function get_tev_type in module ida_dbg: + +get_tev_type(*args) + get_tev_type(n) -> int + +Help on function get_thread_qty in module ida_dbg: + +get_thread_qty(*args) + get_thread_qty() -> int + + + Get number of threads. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_tinfo in module idc: + +get_tinfo(ea) + Get type information of function/variable as 'typeinfo' object + + @param ea: the address of the object + @return: None on failure, or (type, fields) tuple. + +Help on function get_trace_file_desc in module ida_dbg: + +get_trace_file_desc(*args) + get_trace_file_desc(filename) -> str + + + Get the file header of the specified trace file. + + + @param filename (C++: const char *) + +Help on function get_type in module idc: + +get_type(ea) + Get type of function/variable + + @param ea: the address of the object + + @return: type string or None if failed + +Help on function get_wide_byte in module ida_bytes: + +get_wide_byte(*args) + 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) + +Help on function get_wide_dword in module ida_bytes: + +get_wide_dword(*args) + 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 + \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 + + @param ea (C++: ea_t) + +Help on function get_wide_word in module ida_bytes: + +get_wide_word(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_xref_type in module idc: + +get_xref_type() + Return type of the last xref obtained by + [RD]first/next[B0] functions. + + @return: constants fl_* or dr_* + +Help on function getn_enum in module ida_enum: + +getn_enum(*args) + getn_enum(n) -> enum_t + + + Get enum by its ordinal number (0..n). + + + @param n (C++: size_t) + +Help on function getn_thread in module ida_dbg: + +getn_thread(*args) + getn_thread(n) -> thid_t + + + Get the ID of a thread. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: + int) + @return: NO_THREAD if the thread doesn't exist. + +Help on function getn_thread_name in module ida_dbg: + +getn_thread_name(*args) + getn_thread_name(n) -> char const * + + + Get the NAME of a thread \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 + for the current thread (C++: int) + @return: thread name or NULL if the thread doesn't exist. + +Help on function guess_type in module idc: + +guess_type(ea) + 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 + +Help on function hasName in module idc: + +hasName(F) + +Help on function hasUserName in module idc: + +hasUserName(F) + +Help on function has_value in module idc: + +has_value(F) + +Help on function here in module idc: + +here() + # Convenience functions: + +Help on function idadir in module idc: + +idadir() + Get IDA directory + + This function returns the directory where IDA.EXE resides + +Help on function import_type in module idc: + +import_type(idx, type_name) + Copy information from type library to database + Copy structure, union, or enum definition from the type library + to the IDA database. + + @param idx: the position of the new type in the list of + types (structures or enums) -1 means at the end of the list + @param type_name: name of type to copy + + @return: BADNODE-failed, otherwise the type id (structure id or enum id) + +Help on function isBin0 in module idc: + +isBin0(F) + +Help on function isBin1 in module idc: + +isBin1(F) + +Help on function isDec0 in module idc: + +isDec0(F) + +Help on function isDec1 in module idc: + +isDec1(F) + +Help on function isExtra in module idc: + +isExtra(F) + +Help on function isHex0 in module idc: + +isHex0(F) + +Help on function isHex1 in module idc: + +isHex1(F) + +Help on function isOct0 in module idc: + +isOct0(F) + +Help on function isOct1 in module idc: + +isOct1(F) + +Help on function isRef in module idc: + +isRef(F) + +Help on function is_align in module idc: + +is_align(F) + +Help on function is_bf in module ida_enum: + +is_bf(*args) + is_bf(id) -> bool + + + Is enum a bitfield? (otherwise - plain enum, no bitmasks except for + 'DEFMASK' are allowed) + + @param id (C++: enum_t) + +Help on function is_byte in module idc: + +is_byte(F) + +Help on function is_char0 in module idc: + +is_char0(F) + +Help on function is_char1 in module idc: + +is_char1(F) + +Help on function is_code in module idc: + +is_code(F) + +Help on function is_data in module idc: + +is_data(F) + +Help on function is_defarg0 in module idc: + +is_defarg0(F) + +Help on function is_defarg1 in module idc: + +is_defarg1(F) + +Help on function is_double in module idc: + +is_double(F) + +Help on function is_dword in module idc: + +is_dword(F) + +Help on function is_enum0 in module idc: + +is_enum0(F) + +Help on function is_enum1 in module idc: + +is_enum1(F) + +Help on function is_event_handled in module idc: + +is_event_handled() + Is the debug event handled? + + @return: boolean + +Help on function is_float in module idc: + +is_float(F) + +Help on function is_flow in module idc: + +is_flow(F) + +Help on function is_head in module idc: + +is_head(F) + +Help on function is_loaded in module idc: + +is_loaded(ea) + Is the byte initialized? + +Help on function is_manual0 in module idc: + +is_manual0(F) + +Help on function is_manual1 in module idc: + +is_manual1(F) + +Help on function is_mapped in module idc: + +is_mapped(ea) + +Help on function is_off0 in module idc: + +is_off0(F) + +Help on function is_off1 in module idc: + +is_off1(F) + +Help on function is_oword in module idc: + +is_oword(F) + +Help on function is_pack_real in module idc: + +is_pack_real(F) + +Help on function is_qword in module idc: + +is_qword(F) + +Help on function is_seg0 in module idc: + +is_seg0(F) + +Help on function is_seg1 in module idc: + +is_seg1(F) + +Help on function is_stkvar0 in module idc: + +is_stkvar0(F) + +Help on function is_stkvar1 in module idc: + +is_stkvar1(F) + +Help on function is_strlit in module idc: + +is_strlit(F) + +Help on function is_stroff0 in module idc: + +is_stroff0(F) + +Help on function is_stroff1 in module idc: + +is_stroff1(F) + +Help on function is_struct in module idc: + +is_struct(F) + +Help on function is_tail in module idc: + +is_tail(F) + +Help on function is_tbyte in module idc: + +is_tbyte(F) + +Help on function is_union in module idc: + +is_union(sid) + Is a structure a union? + + @param sid: structure type ID + + @return: 1: yes, this is a union id + 0: no + + @note: Unions are a special kind of structures + +Help on function is_unknown in module idc: + +is_unknown(F) + +Help on function is_valid_trace_file in module ida_dbg: + +is_valid_trace_file(*args) + is_valid_trace_file(filename) -> bool + + + Is the specified file a valid trace file for the current database? + + + @param filename (C++: const char *) + +Help on function is_word in module idc: + +is_word(F) + +Help on function jumpto in module ida_kernwin: + +jumpto(*args) + jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool + jumpto(custom_viewer, place, x, y) -> bool + + + Jump to the specified address ( 'ui_jumpto' ). + + @param ea: destination (C++: ea_t) + @param opnum: -1: don't change x coord (C++: int) + @param uijmp_flags: Jump flags (C++: int) + @return: success + +Help on function load_and_run_plugin in module ida_loader: + +load_and_run_plugin(*args) + load_and_run_plugin(name, arg) -> bool + + + Load & run a plugin. + + + @param name (C++: const char *) + @param arg (C++: size_t) + +Help on function load_debugger in module ida_dbg: + +load_debugger(*args) + load_debugger(dbgname, use_remote) -> bool + +Help on function load_trace_file in module ida_dbg: + +load_trace_file(*args) + load_trace_file(filename) -> str + + + Load a recorded trace file in the trace 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 *) + +Help on function loadfile in module idc: + +loadfile(filepath, pos, ea, size) + +Help on function ltoa in module idc: + +ltoa(n, radix) + +Help on function make_array in module idc: + +make_array(ea, nitems) + 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. + +Help on function move_segm in module idc: + +move_segm(ea, to, flags) + 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 + +Help on function msg in module ida_kernwin: + +msg(*args) + msg(o) -> PyObject * + + + 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 + +Help on function next_addr in module ida_bytes: + +next_addr(*args) + 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. + +Help on function next_func_chunk in module idc: + +next_func_chunk(funcea, tailea) + 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 + +Help on function next_head in module idc: + +next_head(ea, maxea=BADADDR)↗ + 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 + +Help on function next_not_tail in module ida_bytes: + +next_not_tail(*args) + next_not_tail(ea) -> ea_t + + + Get address of next non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function op_bin in module ida_bytes: + +op_bin(*args) + op_bin(ea, n) -> bool + + + set op type to 'bin_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_chr in module ida_bytes: + +op_chr(*args) + op_chr(ea, n) -> bool + + + set op type to 'char_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_dec in module ida_bytes: + +op_dec(*args) + op_dec(ea, n) -> bool + + + set op type to 'dec_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_enum in module ida_bytes: + +op_enum(*args) + op_enum(ea, n, id, serial) -> bool + + + Set operand representation to be 'enum_t'. If applied to unexplored + bytes, converts them to 16/32bit word data + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @param id: id of enum (C++: enum_t) + @param serial: 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 (C++: uchar) + @return: success + +Help on function op_flt in module ida_bytes: + +op_flt(*args) + op_flt(ea, n) -> bool + + + set op type to 'flt_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_hex in module ida_bytes: + +op_hex(*args) + op_hex(ea, n) -> bool + + + set op type to 'hex_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function set_forced_operand in module ida_bytes: + +set_forced_operand(*args) + set_forced_operand(ea, n, op) -> bool + + + Set forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @param op: text of operand NULL: do nothing (return 0) "" : delete + forced operand (C++: const char *) + @return: success + +Help on function op_num in module ida_bytes: + +op_num(*args) + op_num(ea, n) -> bool + + + set op type to 'num_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_oct in module ida_bytes: + +op_oct(*args) + op_oct(ea, n) -> bool + + + set op type to 'oct_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_offset in module ida_offset: + +op_offset(*args) + op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int + + + See 'op_offset_ex()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param type (C++: reftype_t) + @param target (C++: ea_t) + @param base (C++: ea_t) + @param tdelta (C++: adiff_t) + +Help on function op_offset_high16 in module idc: + +op_offset_high16(ea, n, target) + 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 + +Help on function op_plain_offset in module idc: + +op_plain_offset(ea, n, base) + 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 + +Help on function op_seg in module ida_bytes: + +op_seg(*args) + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stkvar in module ida_bytes: + +op_stkvar(*args) + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stroff in module idc: + +op_stroff(ea, n, strid, delta) + 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. + +Help on function parse_decl in module idc: + +parse_decl(inputtype, flags) + 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 + +Help on function parse_decls in module idc: + +parse_decls(inputtype, flags=0) + 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) + +Help on function patch_byte in module ida_bytes: + +patch_byte(*args) + 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. + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function put_dbg_byte in module ida_dbg: + +put_dbg_byte(*args) + put_dbg_byte(ea, x) -> bool + + + Change one byte of the debugged process memory. + + @param ea: linear address (C++: ea_t) + @param x: byte value (C++: uint32) + @return: true if the process memory has been modified + +Help on function patch_dword in module ida_bytes: + +patch_dword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_qword in module ida_bytes: + +patch_qword(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_word in module ida_bytes: + +patch_word(*args) + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function plan_and_wait in module idc: + +plan_and_wait(sEA, eEA, final_pass=True) + 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. + +Help on function plan_to_apply_idasgn in module ida_funcs: + +plan_to_apply_idasgn(*args) + plan_to_apply_idasgn(fname) -> int + + + Add a signature file to the list of planned signature files. + + @param fname: file name. should not contain directory part. (C++: + const char *) + @return: 0 if failed, otherwise number of planned (and applied) + signatures + +Help on function prev_addr in module ida_bytes: + +prev_addr(*args) + prev_addr(ea) -> ea_t + + + Get previous address in the program. + + @param ea (C++: ea_t) + @return: BADADDR if no such address exist. + +Help on function prev_head in module idc: + +prev_head(ea, minea=0) + 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 + +Help on function prev_not_tail in module ida_bytes: + +prev_not_tail(*args) + prev_not_tail(ea) -> ea_t + + + Get address of previous non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function print_decls in module idc: + +print_decls(ordinals, flags) + 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 + +Help on instance of _Feature in module __future__: + +class _Feature + | Methods defined here: + | + | __init__(self, optionalRelease, mandatoryRelease, compiler_flag) + | + | __repr__(self) + | + | getMandatoryRelease(self) + | Return release in which this feature will become mandatory. + | + | This is a 5-tuple, of the same form as sys.version_info, or, if + | the feature was dropped, is None. + | + | getOptionalRelease(self) + | Return first release in which this feature was recognized. + | + | This is a 5-tuple, of the same form as sys.version_info. + +Help on function print_insn_mnem in module idc: + +print_insn_mnem(ea) + 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. + +Help on function print_operand in module idc: + +print_operand(ea, n) + 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 "" + +Help on function process_config_line in module idc: + +process_config_line(directive) + Parse one or more ida.cfg config directives + @param directive: directives to process, for example: PACK_DATABASE=2 + + @note: If the directives are erroneous, a fatal error will be generated. + The settings are permanent: effective for the current session and the next ones + +Help on function process_ui_action in module idc: + +process_ui_action(name, flags=0) + Invokes an IDA UI action by name + + @param name: Command name + @param flags: Reserved. Must be zero + @return: Boolean + +Help on function mark_position in module ida_idc: + +mark_position(*args) + mark_position(ea, lnnum, x, y, slot, comment) + +Help on function qexit in module ida_pro: + +qexit(*args) + qexit(code) + + + Call qatexit functions, shut down UI and kernel, and exit. + + @param code: exit code (C++: int) + +Help on function qsleep in module idc: + +qsleep(milliseconds) + qsleep the specified number of milliseconds + This function suspends IDA for the specified amount of time + + @param milliseconds: time to sleep + +Help on function read_dbg_byte in module idc: + +read_dbg_byte(ea) + Get value of program byte using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_dbg_dword in module idc: + +read_dbg_dword(ea) + Get value of program double-word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function dbg_read_memory in module ida_idd: + +dbg_read_memory(*args) + dbg_read_memory(ea, sz) -> PyObject * + + + Reads from the debugee's memory at the specified ea + @return: + - The read buffer (as a string) + - Or None on failure + +Help on function read_dbg_qword in module idc: + +read_dbg_qword(ea) + Get value of program quadro-word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_dbg_word in module idc: + +read_dbg_word(ea) + Get value of program word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_selection_end in module idc: + +read_selection_end() + Get end address of the selected range + + @return: BADADDR - the user has not selected an range + +Help on function read_selection_start in module idc: + +read_selection_start() + Get start address of the selected range + returns BADADDR - the user has not selected an range + +Help on function readlong in module idc: + +readlong(handle, mostfirst) + +Help on function readshort in module idc: + +readshort(handle, mostfirst) + +Help on function readstr in module idc: + +readstr(handle) + +Help on function rebase_program in module ida_segment: + +rebase_program(*args) + rebase_program(delta, flags) -> int + + + Rebase the whole program by 'delta' bytes. + + @param delta: number of bytes to move the program (C++: adiff_t) + @param flags: Move segment flags it is recommended to use + MSF_FIXONCE so that the loader takes care of global + variables it stored in the database (C++: int) + @return: Move segment result codes + +Help on function recalc_spd in module ida_frame: + +recalc_spd(*args) + 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: linear address of the current instruction (C++: ea_t) + +Help on function refresh_debugger_memory in module ida_dbg: + +refresh_debugger_memory(*args) + refresh_debugger_memory() -> PyObject * + + + Refreshes the debugger memory + @return: Nothing + +Help on function refresh_idaview_anyway in module ida_kernwin: + +refresh_idaview_anyway(*args) + refresh_idaview_anyway() + + + Refresh all disassembly views ( 'ui_refresh' ), forces an immediate + refresh. Please consider 'request_refresh()' instead + +Help on function refresh_choosers in module ida_kernwin: + +refresh_choosers(*args) + refresh_choosers() + +Help on function remove_fchunk in module idc: + +remove_fchunk(funcea, tailea) + 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 + +Help on function rename_array in module idc: + +rename_array(array_id, newname) + 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 + +Help on function rename_entry in module ida_entry: + +rename_entry(*args) + rename_entry(ord, name, flags=0) -> bool + + + Rename entry point. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to a repeatable + comment. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +Help on function resume_process in module idc: + +resume_process() + +Help on function resume_thread in module ida_dbg: + +resume_thread(*args) + resume_thread(tid) -> int + + + Resume thread. \sq{Type, Synchronous function - available as request, + Notification, none (synchronous function)} + + @param tid: thread id (C++: thid_t) + +Help on function retrieve_input_file_md5 in module ida_nalt: + +retrieve_input_file_md5(*args) + retrieve_input_file_md5() -> str + + + Get input file md5. + +Help on function rotate_byte in module idc: + +rotate_byte(x, count) + +Help on function rotate_dword in module idc: + +rotate_dword(x, count) + +Help on function rotate_left in module idc: + +rotate_left(value, count, nbits, offset) + 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 + +Help on function rotate_word in module idc: + +rotate_word(x, count) + +Help on function run_to in module ida_dbg: + +run_to(*args) + 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: target address (C++: ea_t) + @param pid: not used yet. please do not specify this parameter. (C++: + pid_t) + @param tid: not used yet. please do not specify this parameter. (C++: + thid_t) + +Help on function save_database in module idc: + +save_database(idbname, flags=0) + 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 + +Help on function save_trace_file in module ida_dbg: + +save_trace_file(*args) + save_trace_file(filename, description) -> bool + + + Save the current trace in the specified file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function savefile in module idc: + +savefile(filepath, pos, ea, size) + +Help on function sel2para in module idc: + +sel2para(sel) + 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 + +Help on function select_thread in module ida_dbg: + +select_thread(*args) + 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: ID of the thread to select (C++: thid_t) + @return: false if the thread doesn't exist. + +Help on function selector_by_name in module idc: + +selector_by_name(segname) + Get segment selector by name + + @param segname: name of segment + + @return: segment selector or BADADDR + +Help on function send_dbg_command in module idc: + +send_dbg_command(cmd) + 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. + +Help on function set_array_long in module idc: + +set_array_long(array_id, idx, value) + 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 + +Help on function set_array_params in module idc: + +set_array_params(ea, flags, litems, align) + 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 + +Help on function set_array_string in module idc: + +set_array_string(array_id, idx, value) + 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 + +Help on function set_bmask_cmt in module idc: + +set_bmask_cmt(enum_id, bmask, cmt, repeatable) + Set bitmask comment (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + @param cmt: comment + repeatable - type of comment, 0-regular, 1-repeatable + + @return: 1-ok, 0-failed + +Help on function set_bmask_name in module idc: + +set_bmask_name(enum_id, bmask, name) + Set bitmask name (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + @param name: name of bitmask + + @return: 1-ok, 0-failed + +Help on function set_bpt_attr in module idc: + +set_bpt_attr(address, bptattr, value) + 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 attibute value + + @return: success + +Help on function set_bpt_cond in module idc: + +set_bpt_cond(ea, cnd, is_lowcnd=0) + 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 + +Help on function set_cmt in module ida_bytes: + +set_cmt(*args) + set_cmt(ea, comm, rptble) -> bool + + + Set an indented comment. + + @param ea: linear address (C++: ea_t) + @param comm: comment string NULL: do nothing (return 0) "" : + delete comment (C++: const char *) + @param rptble: is repeatable? (C++: bool) + @return: success + +Help on function set_color in module idc: + +set_color(ea, what, color) + 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) + +Help on function set_debugger_event_cond in module ida_dbg: + +set_debugger_event_cond(*args) + set_debugger_event_cond(nonnul_cond) + +Help on function set_debugger_options in module ida_dbg: + +set_debugger_options(*args) + 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 + +Help on function set_default_sreg_value in module idc: + +set_default_sreg_value(ea, reg, value) + 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. + +Help on function set_enum_bf in module ida_enum: + +set_enum_bf(*args) + set_enum_bf(id, bf) -> bool + + + Set 'bitfield' bit of enum (i.e. convert it to a bitfield) + + + @param id (C++: enum_t) + @param bf (C++: bool) + +Help on function set_enum_cmt in module ida_enum: + +set_enum_cmt(*args) + set_enum_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum type. + + + @param id (C++: enum_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_flag in module ida_enum: + +set_enum_flag(*args) + set_enum_flag(id, flag) -> bool + + + Set data representation flags. + + + @param id (C++: enum_t) + @param flag (C++: flags_t) + +Help on function set_enum_idx in module ida_enum: + +set_enum_idx(*args) + set_enum_idx(id, idx) -> bool + + + Set serial number of enum. Also see 'get_enum_idx()' . + + @param id (C++: enum_t) + @param idx (C++: size_t) + +Help on function set_enum_member_cmt in module ida_enum: + +set_enum_member_cmt(*args) + set_enum_member_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum member. + + + @param id (C++: const_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_member_name in module ida_enum: + +set_enum_member_name(*args) + set_enum_member_name(id, name) -> bool + + + Set name of enum member. + + + @param id (C++: const_t) + @param name (C++: const char *) + +Help on function set_enum_name in module ida_enum: + +set_enum_name(*args) + set_enum_name(id, name) -> bool + + + Set name of enum type. + + + @param id (C++: enum_t) + @param name (C++: const char *) + +Help on function set_enum_width in module ida_enum: + +set_enum_width(*args) + set_enum_width(id, width) -> bool + + + See comment for 'get_enum_width()' + + + @param id (C++: enum_t) + @param width (C++: int) + +Help on function set_fchunk_attr in module idc: + +set_fchunk_attr(ea, attr, value) + 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 + +Help on function set_fixup in module idc: + +set_fixup(ea, fixuptype, fixupflags, targetsel, targetoff, displ) + 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 + +Help on function set_flag in module idc: + +set_flag(off, bit, value) + #-------------------------------------------------------------------------- + +Help on function set_frame_size in module idc: + +set_frame_size(ea, lvsize, frregs, argsize) + 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 + +Help on function set_func_attr in module idc: + +set_func_attr(ea, attr, value) + 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 + +Help on function set_func_cmt in module idc: + +set_func_cmt(ea, cmt, repeatable) + 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 + +Help on function set_func_end in module ida_funcs: + +set_func_end(*args) + set_func_end(ea, newend) -> bool + + + Move function chunk end address. + + @param ea: any address in the function (C++: ea_t) + @param newend: new end address of the function (C++: ea_t) + @return: success + +Help on function set_func_flags in module idc: + +set_func_flags(ea, flags) + Change function flags + + @param ea: any address belonging to the function + @param flags: see get_func_flags() for explanations + + @return: !=0 - ok + +Help on function set_hash_long in module idc: + +set_hash_long(hash_id, key, value) + 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 + +Help on function set_hash_string in module idc: + +set_hash_string(hash_id, key, value) + 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 + +Help on function set_ida_state in module ida_auto: + +set_ida_state(*args) + set_ida_state(st) -> idastate_t + + + Change IDA status indicator value + + @param st: - new indicator status (C++: idastate_t) + @return: old indicator status + +Help on function set_inf_attr in module idc: + +set_inf_attr(attr, value) + +Help on function set_local_type in module idc: + +set_local_type(ordinal, input, flags) + 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 + +Help on function set_manual_insn in module ida_bytes: + +set_manual_insn(*args) + set_manual_insn(ea, manual_insn) + + + Set manual instruction string. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @param manual_insn: "" - delete manual string. NULL - do nothing (C++: + const char *) + +Help on function set_member_cmt in module idc: + +set_member_cmt(sid, member_offset, comment, repeatable) + 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 + +Help on function set_member_name in module idc: + +set_member_name(sid, member_offset, name) + 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. + +Help on function set_member_type in module idc: + +set_member_type(sid, member_offset, flag, typeid, nitems, target=-1, tdelta=0, reftype=2) + 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. + +Help on function set_name in module idc: + +set_name(ea, name, flags=0) + 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 + +Help on function set_processor_type in module ida_idp: + +set_processor_type(*args) + 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: name of processor type (one of names present in + \ph{psnames}) (C++: const char *) + @param level: SETPROC_ (C++: setproc_level_t) + @return: success + +Help on function set_reg_value in module idc: + +set_reg_value(value, name) + 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. + +Help on function set_remote_debugger in module ida_dbg: + +set_remote_debugger(*args) + set_remote_debugger(host, _pass, port=-1) + + + Set remote debugging options. Should be used before starting the + debugger. + + @param host: If empty, IDA will use local debugger. If NULL, the host + will not be set. (C++: const char *) + @param port: If -1, the default port number will be used (C++: int) + +Help on function set_root_filename in module ida_nalt: + +set_root_filename(*args) + set_root_filename(file) + + + Set full path of the input file. + + + @param file (C++: const char *) + +Help on function set_segm_addressing in module idc: + +set_segm_addressing(ea, bitness) + Change segment addressing + + @param ea: any address in the segment + @param bitness: 0: 16bit, 1: 32bit, 2: 64bit + + @return: success (boolean) + +Help on function set_segm_alignment in module idc: + +set_segm_alignment(ea, alignment) + 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) + +Help on function set_segm_attr in module idc: + +set_segm_attr(segea, attr, value) + 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. + +Help on function set_segm_class in module idc: + +set_segm_class(ea, segclass) + Change class of the segment + + @param ea: any address in the segment + @param segclass: new class of the segment + + @return: success (boolean) + +Help on function set_segm_combination in module idc: + +set_segm_combination(segea, comb) + 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) + +Help on function set_segm_name in module idc: + +set_segm_name(ea, name) + Change name of the segment + + @param ea: any address in the segment + @param name: new name of the segment + + @return: success (boolean) + +Help on function set_segm_type in module idc: + +set_segm_type(segea, segtype) + Set segment type + + @param segea: any address within segment + @param segtype: new segment type: + + @return: !=0 - ok + +Help on function set_segment_bounds in module idc: + +set_segment_bounds(ea, startea, endea, flags) + 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 + +Help on function set_selector in module ida_segment: + +set_selector(*args) + set_selector(selector, paragraph) -> int + + + Set mapping of selector to a paragraph. You should call this + functionbeforecreating a segment which uses the selector, otherwise + the creation of the segment will fail. + + @param selector: 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. (C++: sel_t) + @param paragraph: paragraph to map selector (C++: ea_t) + +Help on function set_source_linnum in module ida_nalt: + +set_source_linnum(*args) + set_source_linnum(ea, lnnum) + +Help on function set_step_trace_options in module ida_dbg: + +set_step_trace_options(*args) + set_step_trace_options(options) + + + Modify step tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function change_storage_type in module ida_bytes: + +change_storage_type(*args) + change_storage_type(start_ea, end_ea, stt) -> error_t + + + Change flag storage type for address range. + + @param start_ea: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: error code + +Help on function set_struc_cmt in module ida_struct: + +set_struc_cmt(*args) + set_struc_cmt(id, cmt, repeatable) -> bool + + + Set structure comment. + + + @param id (C++: tid_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_struc_idx in module idc: + +set_struc_idx(sid, index) + Change structure index + + @param sid: structure type ID + @param index: new index of the structure + + @return: != 0 - ok + + @note: See get_first_struc_idx() for the explanation of + structure indices and IDs. + +Help on function set_struc_name in module ida_struct: + +set_struc_name(*args) + set_struc_name(id, name) -> bool + + + Set structure name. + + + @param id (C++: tid_t) + @param name (C++: const char *) + +Help on function set_tail_owner in module idc: + +set_tail_owner(tailea, funcea) + 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 + +Help on function set_target_assembler in module ida_idp: + +set_target_assembler(*args) + set_target_assembler(asmnum) -> bool + + + Set target assembler. + + @param asmnum: number of assembler in the current processor module + (C++: int) + @return: success + +Help on function set_trace_file_desc in module ida_dbg: + +set_trace_file_desc(*args) + set_trace_file_desc(filename, description) -> bool + + + Change the description of the specified trace file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function split_sreg_range in module idc: + +split_sreg_range(ea, reg, value, tag=2) + 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 corrent value. + +Help on function start_process in module ida_dbg: + +start_process(*args) + 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' }You can also + use the 'run_to()' function to easily start the execution of a process + until a given address is reached.For all parameters, a NULL value + indicates the debugger will take the value from the defined Process + Options. + + @param path: path to the executable to start (C++: const char *) + @param args: arguments to pass to process (C++: const char *) + @param sdir: starting directory for the process (C++: const char *) + +Help on function step_into in module ida_dbg: + +step_into(*args) + 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' } + +Help on function step_over in module ida_dbg: + +step_over(*args) + 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' } + +Help on function step_until_ret in module ida_dbg: + +step_until_ret(*args) + 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' } + +Help on function strlen in module idc: + +strlen(s) + +Help on function strstr in module idc: + +strstr(s1, s2) + +Help on function substr in module idc: + +substr(s, x1, x2) + +Help on function suspend_process in module ida_dbg: + +suspend_process(*args) + 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) }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. + +Help on function suspend_thread in module ida_dbg: + +suspend_thread(*args) + 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: thread id (C++: thid_t) + +Help on function take_memory_snapshot in module ida_segment: + +take_memory_snapshot(*args) + take_memory_snapshot(only_loader_segs) -> bool + + + Take a memory snapshot of the running process. + + @param only_loader_segs: only is_loader_segm() segments will be + affected (C++: bool) + @return: success + +Help on function to_ea in module idc: + +to_ea(seg, off) + Return value of expression: ((seg<<4) + off) + +Help on function toggle_bnot in module idc: + +toggle_bnot(ea, n) + 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 + +Help on function toggle_sign in module ida_bytes: + +toggle_sign(*args) + 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) + +Help on function update_extra_cmt in module ida_lines: + +update_extra_cmt(*args) + update_extra_cmt(ea, what, str) + +Help on function update_hidden_range in module idc: + +update_hidden_range(ea, visible) + Set hidden range state + + @param ea: any address belonging to the hidden range + @param visible: new state of the range + + @return: != 0 - ok + +Help on function validate_idb_names in module idc: + +validate_idb_names(do_repair=0) + check consistency of IDB name records + @param do_repair: try to repair netnode header it TRUE + @return: number of inconsistent name records + +Help on function value_is_float in module idc: + +value_is_float(var) + +Help on function value_is_func in module idc: + +value_is_func(var) + +Help on function value_is_int64 in module idc: + +value_is_int64(var) + +Help on function value_is_long in module idc: + +value_is_long(var) + +Help on function value_is_pvoid in module idc: + +value_is_pvoid(var) + +Help on function value_is_string in module idc: + +value_is_string(var) + # List of built-in functions + # -------------------------- + # + # The following conventions are used in this list: + # 'ea' is a linear address + # 'success' is 0 if a function failed, 1 otherwise + # 'void' means that function returns no meaningful value (always 0) + # + # All function parameter conversions are made automatically. + # + # ---------------------------------------------------------------------------- + # M I S C E L L A N E O U S + # ---------------------------------------------------------------------------- + +Help on function wait_for_next_event in module ida_dbg: + +wait_for_next_event(*args) + 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: combination of Wait for debugger event flags constants + (C++: int) + @param timeout: number of seconds to wait, -1-infinity (C++: int) + @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= + 0) + +Help on function warning in module ida_kernwin: + +warning(*args) + warning(format) + + + Display a message in a message box + + @param message: 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 + +Help on function write_dbg_memory in module idc: + +write_dbg_memory(ea, data) + 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) + +Help on function writelong in module idc: + +writelong(handle, dword, mostfirst) + +Help on function writeshort in module idc: + +writeshort(handle, word, mostfirst) + +Help on function writestr in module idc: + +writestr(handle, s) + +Help on function xtol in module idc: + +xtol(s) + diff --git a/release_pydoc_injections3.txt b/release_pydoc_injections3.txt new file mode 100644 index 0000000..8b6ade0 --- /dev/null +++ b/release_pydoc_injections3.txt @@ -0,0 +1,78937 @@ +Help on function auto_apply_tail in module ida_auto: + +auto_apply_tail(*args) -> 'void' + auto_apply_tail(tail_ea, parent_ea) + + + Plan to apply the tail_ea chunk to the parent + + @param tail_ea: linear address of start of tail (C++: ea_t) + @param parent_ea: linear address within parent. If BADADDR, + automatically try to find parent via xrefs. (C++: + ea_t) + +Help on function auto_apply_type in module ida_auto: + +auto_apply_type(*args) -> 'void' + 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) + +Help on function auto_cancel in module ida_auto: + +auto_cancel(*args) -> 'void' + 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) + +Help on class auto_display_t in module ida_auto: + +class auto_display_t(builtins.object) + | Proxy of C++ auto_display_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> auto_display_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_auto_display_t(...) + | delete_auto_display_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | auto_display_t_ea_get(self) -> ea_t + | + | state + | auto_display_t_state_get(self) -> idastate_t + | + | thisown + | The membership flag + | + | type + | auto_display_t_type_get(self) -> atype_t + +Help on function auto_get in module ida_auto: + +auto_get(*args) -> 'ea_t' + 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) + +Help on function auto_is_ok in module ida_auto: + +auto_is_ok(*args) -> 'bool' + auto_is_ok() -> bool + + + Are all queues empty? (i.e. has autoanalysis finished?). + +Help on function auto_make_code in module ida_auto: + +auto_make_code(*args) -> 'void' + auto_make_code(ea) + + + Plan to make code. + + + @param ea (C++: ea_t) + +Help on function auto_make_proc in module ida_auto: + +auto_make_proc(*args) -> 'void' + auto_make_proc(ea) + + + Plan to make code&function. + + + @param ea (C++: ea_t) + +Help on function auto_mark in module ida_auto: + +auto_mark(*args) -> 'void' + auto_mark(ea, type) + + + Put single address into a queue. Queues keep addresses sorted. + + + @param ea (C++: ea_t) + @param type (C++: atype_t) + +Help on function auto_mark_range in module ida_auto: + +auto_mark_range(*args) -> 'void' + 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) + +Help on function auto_recreate_insn in module ida_auto: + +auto_recreate_insn(*args) -> 'int' + auto_recreate_insn(ea) -> int + + + Try to create instruction + + @param ea: linear address of callee (C++: ea_t) + @return: the length of the instruction or 0 + +Help on function auto_unmark in module ida_auto: + +auto_unmark(*args) -> 'void' + 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) + +Help on function auto_wait in module ida_auto: + +auto_wait(*args) -> 'bool' + 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) + +Help on function auto_wait_range in module ida_auto: + +auto_wait_range(*args) -> 'ssize_t' + 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) + +Help on function enable_auto in module ida_auto: + +enable_auto(*args) -> 'bool' + 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 + +Help on function get_auto_display in module ida_auto: + +get_auto_display(*args) -> 'void' + get_auto_display(auto_display) + + + Get structure which holds the autoanalysis indicator contents. + + + @param auto_display (C++: auto_display_t *) + +Help on function get_auto_state in module ida_auto: + +get_auto_state(*args) -> 'atype_t' + 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). + +Help on function is_auto_enabled in module ida_auto: + +is_auto_enabled(*args) -> 'bool' + is_auto_enabled() -> bool + + + Get autoanalyzer state. + +Help on function may_create_stkvars in module ida_auto: + +may_create_stkvars(*args) -> 'bool' + may_create_stkvars() -> bool + + + Is it allowed to create stack variables automatically?. This function + should be used by IDP modules before creating stack vars. + +Help on function may_trace_sp in module ida_auto: + +may_trace_sp(*args) -> 'bool' + may_trace_sp() -> bool + + + Is it allowed to trace stack pointer automatically?. This function + should be used by IDP modules before tracing sp. + +Help on function peek_auto_queue in module ida_auto: + +peek_auto_queue(*args) -> 'ea_t' + 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 + +Help on function plan_and_wait in module ida_auto: + +plan_and_wait(*args) -> 'int' + 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. + + @param ea1 (C++: ea_t) + @param ea2 (C++: ea_t) + @param final_pass (C++: bool) + +Help on function plan_ea in module ida_auto: + +plan_ea(*args) -> 'void' + plan_ea(ea) + + + Plan to perform reanalysis. + + + @param ea (C++: ea_t) + +Help on function plan_range in module ida_auto: + +plan_range(*args) -> 'void' + plan_range(sEA, eEA) + + + Plan to perform reanalysis. + + + @param sEA (C++: ea_t) + @param eEA (C++: ea_t) + +Help on function reanalyze_callers in module ida_auto: + +reanalyze_callers(*args) -> 'void' + 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: linear address of callee (C++: ea_t) + @param noret: !=0: the callee doesn't return, mark to undefine + subsequent instructions in the caller. 0: do nothing. + (C++: bool) + +Help on function revert_ida_decisions in module ida_auto: + +revert_ida_decisions(*args) -> 'void' + 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) + +Help on function set_auto_state in module ida_auto: + +set_auto_state(*args) -> 'atype_t' + set_auto_state(new_state) -> atype_t + + + Set current state of autoanalyzer. + + @param new_state: new state of autoanalyzer (C++: atype_t) + @return: previous state + +Help on function set_ida_state in module ida_auto: + +set_ida_state(*args) -> 'idastate_t' + set_ida_state(st) -> idastate_t + + + Change IDA status indicator value + + @param st: - new indicator status (C++: idastate_t) + @return: old indicator status + +Help on function show_addr in module ida_auto: + +show_addr(*args) -> 'void' + show_addr(ea) + + + Show an address on the autoanalysis indicator. The address is + displayed in the form " @:12345678". + + @param ea: - linear address to display (C++: ea_t) + +Help on function show_auto in module ida_auto: + +show_auto(*args) -> 'void' + show_auto(ea, type=AU_NONE) + + + Change autoanalysis indicator value. + + @param ea: linear address being analyzed (C++: ea_t) + @param type: autoanalysis type (see Autoanalysis queues ) (C++: + atype_t) + +Help on function __walk_types_and_formats in module ida_bytes: + +__walk_types_and_formats(formats, type_action, format_action, installing) + # ----------------------------------------------------------------------- + +Help on function add_byte in module ida_bytes: + +add_byte(*args) -> 'void' + add_byte(ea, value) + + + Add a value to one byte of the program. This function works for wide + byte processors too. + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint32) + +Help on function add_dword in module ida_bytes: + +add_dword(*args) -> 'void' + 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 \inf{is_be()}this function works incorrectly if + \ph{nbits} > 16 + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function add_hidden_range in module ida_bytes: + +add_hidden_range(*args) -> 'bool' + add_hidden_range(ea1, ea2, description, header, footer, color) -> bool + + + Mark a range of addresses as hidden. The range will be created in the + invisible state with the default color + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (C++: ea_t) + @param description: range parameters (C++: const char *) + @param header: range parameters (C++: const char *) + @param footer: range parameters (C++: const char *) + @param color (C++: bgcolor_t) + @return: success + +Help on function add_mapping in module ida_bytes: + +add_mapping(*args) -> 'bool' + 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.You should + set flag PR2_MAPPING in ph.flag2 to use memory mapping Add memory + mapping range. + + @param _from: start of the mapped range (nonexistent address) (C++: + ea_t) + @param to: start of the mapping range (existent address) (C++: ea_t) + @param size: size of the range (C++: asize_t) + @return: success + +Help on function add_qword in module ida_bytes: + +add_qword(*args) -> 'void' + 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 \inf{is_be()} + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function add_word in module ida_bytes: + +add_word(*args) -> 'void' + 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 \inf{is_be()} + + @param ea: linear address (C++: ea_t) + @param value: byte value (C++: uint64) + +Help on function align_flag in module ida_bytes: + +align_flag(*args) -> 'flags_t' + align_flag() -> flags_t + + + Get a flags_t representing an alignment directive. + +Help on function append_cmt in module ida_bytes: + +append_cmt(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param str: comment string to append (C++: const char *) + @param rptble: append to repeatable comment? (C++: bool) + @return: success + +Help on function attach_custom_data_format in module ida_bytes: + +attach_custom_data_format(*args) -> 'bool' + attach_custom_data_format(dtid, dfid) -> bool + + + Attach the data format to the data type. + + @param dtid: 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. (C++: int) + @param dfid: data format id (C++: int) + +Help on function bin_flag in module ida_bytes: + +bin_flag(*args) -> 'flags_t' + bin_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function bin_search in module ida_bytes: + +bin_search(*args) -> 'ea_t' + bin_search(start_ea, end_ea, image, imask, step, flags) -> ea_t + +Help on function byte_flag in module ida_bytes: + +byte_flag(*args) -> 'flags_t' + byte_flag() -> flags_t + + + Get a flags_t representing a byte. + +Help on function bytesize in module ida_bytes: + +bytesize(*args) -> 'int' + bytesize(ea) -> int + + + Get number of bytes required to store a byte at the given address. + + + @param ea (C++: ea_t) + +Help on function calc_def_align in module ida_bytes: + +calc_def_align(*args) -> 'int' + calc_def_align(ea, mina, maxa) -> int + + + Calculate default alignment. + + + @param ea (C++: ea_t) + @param mina (C++: int) + @param maxa (C++: int) + +Help on function calc_dflags in module ida_bytes: + +calc_dflags(*args) -> 'flags_t' + calc_dflags(f, force) -> flags_t + +Help on function calc_max_align in module ida_bytes: + +calc_max_align(*args) -> 'int' + calc_max_align(endea) -> int + + + Returns: 0..32. + + + @param endea (C++: ea_t) + +Help on function calc_max_item_end in module ida_bytes: + +calc_max_item_end(*args) -> 'ea_t' + 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: linear address (C++: ea_t) + @param how: when to stop the search. A combination of Item end search + flags (C++: int) + @return: end of new item. If it is not possible to create an item, it + will return 'ea'. + +Help on function calc_min_align in module ida_bytes: + +calc_min_align(*args) -> 'int' + calc_min_align(length) -> int + + + Returns: 1..32. + + + @param length (C++: asize_t) + +Help on function can_define_item in module ida_bytes: + +can_define_item(*args) -> 'bool' + can_define_item(ea, length, flags) -> bool + + + Can define item (instruction/data) of the specified 'length', starting + at 'ea'?if there is an item starting at 'ea', this function ignores + itthis function converts to unexplored all encountered data items with + fixup information. Should be fixed in the future.a new item would + cross segment boundariesa new item would overlap with existing items + (except items specified by 'flags') + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param flags: 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 (C++: + flags_t) + @return: 1-yes, 0-no + +Help on function change_storage_type in module ida_bytes: + +change_storage_type(*args) -> 'error_t' + change_storage_type(start_ea, end_ea, stt) -> error_t + + + Change flag storage type for address range. + + @param start_ea: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: error code + +Help on function char_flag in module ida_bytes: + +char_flag(*args) -> 'flags_t' + char_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function chunk_size in module ida_bytes: + +chunk_size(*args) -> 'asize_t' + 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. + +Help on function chunk_start in module ida_bytes: + +chunk_start(*args) -> 'ea_t' + 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. + +Help on function clr_lzero in module ida_bytes: + +clr_lzero(*args) -> 'bool' + clr_lzero(ea, n) -> bool + + + Clear lzero bit. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function clr_op_type in module ida_bytes: + +clr_op_type(*args) -> 'bool' + clr_op_type(ea, n) -> bool + + + Remove operand representation information. (set operand representation + to be 'undefined') + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function code_flag in module ida_bytes: + +code_flag(*args) -> 'flags_t' + code_flag() -> flags_t + + + 'FF_CODE' + +Help on function create_16bit_data in module ida_bytes: + +create_16bit_data(*args) -> 'bool' + create_16bit_data(ea, length) -> bool + + + Convert to 16-bit quantity (take byte size into account) + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + +Help on function create_32bit_data in module ida_bytes: + +create_32bit_data(*args) -> 'bool' + create_32bit_data(ea, length) -> bool + + + Convert to 32-bit quantity (take byte size into account) + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + +Help on function create_align in module ida_bytes: + +create_align(*args) -> 'bool' + create_align(ea, length, alignment) -> bool + + + Alignment: 0 or 2..32. If it is 0, is will be calculated. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param alignment (C++: int) + +Help on function create_byte in module ida_bytes: + +create_byte(*args) -> 'bool' + create_byte(ea, length, force=False) -> bool + + + Convert to byte. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_custdata in module ida_bytes: + +create_custdata(*args) -> 'bool' + 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) + +Help on function create_data in module ida_bytes: + +create_data(*args) -> 'bool' + create_data(ea, dataflag, size, tid) -> bool + + + Convert to data (byte, word, dword, etc). This function may be used to + create arrays. + + @param ea: linear address (C++: ea_t) + @param dataflag: type of data. Value of function byte_flag() , + word_flag() , etc. (C++: flags_t) + @param size: 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. (C++: asize_t) + @param tid: type id. If the specified type is a structure, then tid is + structure id. Otherwise should be BADNODE . (C++: tid_t) + @return: success + +Help on function create_double in module ida_bytes: + +create_double(*args) -> 'bool' + create_double(ea, length, force=False) -> bool + + + Convert to double. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_dword in module ida_bytes: + +create_dword(*args) -> 'bool' + create_dword(ea, length, force=False) -> bool + + + Convert to dword. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_float in module ida_bytes: + +create_float(*args) -> 'bool' + create_float(ea, length, force=False) -> bool + + + Convert to float. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_oword in module ida_bytes: + +create_oword(*args) -> 'bool' + 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) + +Help on function create_packed_real in module ida_bytes: + +create_packed_real(*args) -> 'bool' + 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) + +Help on function create_qword in module ida_bytes: + +create_qword(*args) -> 'bool' + create_qword(ea, length, force=False) -> bool + + + Convert to quadword. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_strlit in module ida_bytes: + +create_strlit(*args) -> 'bool' + 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: starting address (C++: ea_t) + @param len: length of the string in bytes. if 0, then + get_max_strlit_length() will be used to determine the + length (C++: size_t) + @param strtype: string type. one of String type codes (C++: int32) + @return: success + +Help on function create_struct in module ida_bytes: + +create_struct(*args) -> 'bool' + 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) + +Help on function create_tbyte in module ida_bytes: + +create_tbyte(*args) -> 'bool' + create_tbyte(ea, length, force=False) -> bool + + + Convert to tbyte. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_word in module ida_bytes: + +create_word(*args) -> 'bool' + create_word(ea, length, force=False) -> bool + + + Convert to word. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param force (C++: bool) + +Help on function create_yword in module ida_bytes: + +create_yword(*args) -> 'bool' + 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) + +Help on function create_zword in module ida_bytes: + +create_zword(*args) -> 'bool' + 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) + +Help on function cust_flag in module ida_bytes: + +cust_flag(*args) -> 'flags_t' + cust_flag() -> flags_t + + + Get a flags_t representing custom type data. + +Help on function custfmt_flag in module ida_bytes: + +custfmt_flag(*args) -> 'flags_t' + custfmt_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on class data_format_t in module ida_bytes: + +class data_format_t(builtins.object) + | Proxy of C++ data_format_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | Initialize self. See help(type(self)) for accurate signature. + | + | __real__init__ = __init__(self, *args) + | __init__(self, _self, name, value_size=0, menu_name=None, props=0, hotkey=None, text_width=0) -> data_format_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_data_format_t(...) + | delete_data_format_t(self) + | + | _data_format_t__get_id = __get_id(self, *args) -> 'int' + | __get_id(self) -> int + | + | is_present_in_menus(self, *args) -> 'bool' + | is_present_in_menus(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hotkey + | data_format_t_hotkey_get(self) -> char const * + | + | id + | __get_id(self) -> int + | + | menu_name + | data_format_t_menu_name_get(self) -> char const * + | + | name + | data_format_t_name_get(self) -> char const * + | + | props + | data_format_t_props_get(self) -> int + | + | text_width + | data_format_t_text_width_get(self) -> int32 + | + | thisown + | The membership flag + | + | value_size + | data_format_t_value_size_get(self) -> asize_t + +Help on class data_type_t in module ida_bytes: + +class data_type_t(builtins.object) + | Proxy of C++ data_type_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | Initialize self. See help(type(self)) for accurate signature. + | + | __real__init__ = __init__(self, *args) + | __init__(self, _self, name, value_size=0, menu_name=None, hotkey=None, asm_keyword=None, props=0) -> data_type_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_data_type_t(...) + | delete_data_type_t(self) + | + | _data_type_t__get_id = __get_id(self, *args) -> 'int' + | __get_id(self) -> int + | + | is_present_in_menus(self, *args) -> 'bool' + | is_present_in_menus(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | asm_keyword + | data_type_t_asm_keyword_get(self) -> char const * + | + | hotkey + | data_type_t_hotkey_get(self) -> char const * + | + | id + | __get_id(self) -> int + | + | menu_name + | data_type_t_menu_name_get(self) -> char const * + | + | name + | data_type_t_name_get(self) -> char const * + | + | props + | data_type_t_props_get(self) -> int + | + | thisown + | The membership flag + | + | value_size + | data_type_t_value_size_get(self) -> asize_t + +Help on function dec_flag in module ida_bytes: + +dec_flag(*args) -> 'flags_t' + dec_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function del_hidden_range in module ida_bytes: + +del_hidden_range(*args) -> 'bool' + del_hidden_range(ea) -> bool + + + Delete hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: success + +Help on function del_items in module ida_bytes: + +del_items(*args) -> 'bool' + 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: any address within the first item to delete (C++: ea_t) + @param flags: combination of Unexplored byte conversion flags (C++: + int) + @param nbytes: number of bytes in the range to be undefined (C++: + asize_t) + @param may_destroy: optional routine invoked before deleting a head + item. If callback returns false then item has not + to be deleted and operation fails (C++: + may_destroy_cb_t *) + @return: true on sucessful operation, otherwise false + +Help on function del_mapping in module ida_bytes: + +del_mapping(*args) -> 'void' + del_mapping(ea) + + + Delete memory mapping range. + + @param ea: any address in the mapped range (C++: ea_t) + +Help on function del_value in module ida_bytes: + +del_value(*args) -> 'void' + del_value(ea) + + + Delete byte value from flags. The corresponding byte becomes + uninitialized. + + @param ea (C++: ea_t) + +Help on function detach_custom_data_format in module ida_bytes: + +detach_custom_data_format(*args) -> 'bool' + 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: data type id to detach data format from (C++: int) + @param dfid: data format id to detach (C++: int) + +Help on function disable_flags in module ida_bytes: + +disable_flags(*args) -> 'error_t' + 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: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @return: 0 if ok, otherwise return error code + +Help on function double_flag in module ida_bytes: + +double_flag(*args) -> 'flags_t' + double_flag() -> flags_t + + + Get a flags_t representing a double. + +Help on function dword_flag in module ida_bytes: + +dword_flag(*args) -> 'flags_t' + dword_flag() -> flags_t + + + Get a flags_t representing a double word. + +Help on function enable_flags in module ida_bytes: + +enable_flags(*args) -> 'error_t' + 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: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: 0 if ok, otherwise an error code + +Help on function enum_flag in module ida_bytes: + +enum_flag(*args) -> 'flags_t' + enum_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function equal_bytes in module ida_bytes: + +equal_bytes(*args) -> 'bool' + equal_bytes(ea, image, mask, len, sense_case) -> bool + + + Compare 'len' bytes of the program starting from 'ea' with 'image'. + + @param ea: linear address (C++: ea_t) + @param image: bytes to compare with (C++: const uchar *) + @param mask: array of 1/0 bytes, it's length is 'len'. 1 means to + perform the comparison of the corresponding byte. 0 means + not to perform. if mask == NULL, then all bytes of + 'image' will be compared. if mask == SKIP_FF_MASK then + 0xFF bytes will be skipped (C++: const uchar *) + @param len: length of block to compare in bytes. (C++: size_t) + @param sense_case: case-sensitive comparison? (C++: bool) + +Help on function f_has_cmt in module ida_bytes: + +f_has_cmt(*args) -> 'bool' + f_has_cmt(f, arg2) -> bool + +Help on function f_has_dummy_name in module ida_bytes: + +f_has_dummy_name(*args) -> 'bool' + f_has_dummy_name(f, arg2) -> bool + + + Does the current byte have dummy (auto-generated, with special prefix) + name? + + + @param f (C++: flags_t) + +Help on function f_has_extra_cmts in module ida_bytes: + +f_has_extra_cmts(*args) -> 'bool' + f_has_extra_cmts(f, arg2) -> bool + +Help on function f_has_name in module ida_bytes: + +f_has_name(*args) -> 'bool' + f_has_name(f, arg2) -> bool + + + Does the current byte have non-trivial (non-dummy) name? + + + @param f (C++: flags_t) + +Help on function f_has_user_name in module ida_bytes: + +f_has_user_name(*args) -> 'bool' + f_has_user_name(F, arg2) -> bool + + + Does the current byte have user-specified name? + + + @param F (C++: flags_t) + +Help on function f_has_xref in module ida_bytes: + +f_has_xref(*args) -> 'bool' + f_has_xref(f, arg2) -> bool + + + Does the current byte have cross-references to it? + + + @param f (C++: flags_t) + +Help on function f_is_align in module ida_bytes: + +f_is_align(*args) -> 'bool' + f_is_align(F, arg2) -> bool + + + See 'is_align()' + + + @param F (C++: flags_t) + +Help on function f_is_byte in module ida_bytes: + +f_is_byte(*args) -> 'bool' + f_is_byte(F, arg2) -> bool + + + See 'is_byte()' + + + @param F (C++: flags_t) + +Help on function f_is_code in module ida_bytes: + +f_is_code(*args) -> 'bool' + f_is_code(F, arg2) -> bool + + + Does flag denote start of an instruction? + + + @param F (C++: flags_t) + +Help on function f_is_custom in module ida_bytes: + +f_is_custom(*args) -> 'bool' + f_is_custom(F, arg2) -> bool + + + See 'is_custom()' + + + @param F (C++: flags_t) + +Help on function f_is_data in module ida_bytes: + +f_is_data(*args) -> 'bool' + f_is_data(F, arg2) -> bool + + + Does flag denote start of data? + + + @param F (C++: flags_t) + +Help on function f_is_double in module ida_bytes: + +f_is_double(*args) -> 'bool' + f_is_double(F, arg2) -> bool + + + See 'is_double()' + + + @param F (C++: flags_t) + +Help on function f_is_dword in module ida_bytes: + +f_is_dword(*args) -> 'bool' + f_is_dword(F, arg2) -> bool + + + See 'is_dword()' + + + @param F (C++: flags_t) + +Help on function f_is_float in module ida_bytes: + +f_is_float(*args) -> 'bool' + f_is_float(F, arg2) -> bool + + + See 'is_float()' + + + @param F (C++: flags_t) + +Help on function f_is_head in module ida_bytes: + +f_is_head(*args) -> 'bool' + f_is_head(F, arg2) -> bool + + + Does flag denote start of instruction OR data? + + + @param F (C++: flags_t) + +Help on function f_is_not_tail in module ida_bytes: + +f_is_not_tail(*args) -> 'bool' + f_is_not_tail(F, arg2) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function f_is_oword in module ida_bytes: + +f_is_oword(*args) -> 'bool' + f_is_oword(F, arg2) -> bool + + + See 'is_oword()' + + + @param F (C++: flags_t) + +Help on function f_is_pack_real in module ida_bytes: + +f_is_pack_real(*args) -> 'bool' + f_is_pack_real(F, arg2) -> bool + + + See 'is_pack_real()' + + + @param F (C++: flags_t) + +Help on function f_is_qword in module ida_bytes: + +f_is_qword(*args) -> 'bool' + f_is_qword(F, arg2) -> bool + + + See 'is_qword()' + + + @param F (C++: flags_t) + +Help on function f_is_strlit in module ida_bytes: + +f_is_strlit(*args) -> 'bool' + f_is_strlit(F, arg2) -> bool + + + See 'is_strlit()' + + + @param F (C++: flags_t) + +Help on function f_is_struct in module ida_bytes: + +f_is_struct(*args) -> 'bool' + f_is_struct(F, arg2) -> bool + + + See 'is_struct()' + + + @param F (C++: flags_t) + +Help on function f_is_tail in module ida_bytes: + +f_is_tail(*args) -> 'bool' + f_is_tail(F, arg2) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function f_is_tbyte in module ida_bytes: + +f_is_tbyte(*args) -> 'bool' + f_is_tbyte(F, arg2) -> bool + + + See 'is_tbyte()' + + + @param F (C++: flags_t) + +Help on function f_is_word in module ida_bytes: + +f_is_word(*args) -> 'bool' + f_is_word(F, arg2) -> bool + + + See 'is_word()' + + + @param F (C++: flags_t) + +Help on function f_is_yword in module ida_bytes: + +f_is_yword(*args) -> 'bool' + f_is_yword(F, arg2) -> bool + + + See 'is_yword()' + + + @param F (C++: flags_t) + +Help on function find_byte in module ida_bytes: + +find_byte(*args) -> 'ea_t' + 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: linear address (C++: ea_t) + @param size: number of bytes to inspect (C++: asize_t) + @param value: value to find (C++: uchar) + @param bin_search_flags: combination of Search flags (C++: int) + @return: address of byte or BADADDR + +Help on function find_byter in module ida_bytes: + +find_byter(*args) -> 'ea_t' + 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: the lower address of the search range (C++: ea_t) + @param size: number of bytes to inspect (C++: asize_t) + @param value: value to find (C++: uchar) + @param bin_search_flags: combination of Search flags (C++: int) + @return: address of byte or BADADDR + +Help on function find_custom_data_format in module ida_bytes: + +find_custom_data_format(*args) -> 'int' + find_custom_data_format(name) -> int + + + Get id of a custom data format. + + @param name: name of the custom data format (C++: const char *) + @return: id or -1 + +Help on function find_custom_data_type in module ida_bytes: + +find_custom_data_type(*args) -> 'int' + find_custom_data_type(name) -> int + + + Get id of a custom data type. + + @param name: name of the custom data type (C++: const char *) + @return: id or -1 + +Help on function float_flag in module ida_bytes: + +float_flag(*args) -> 'flags_t' + float_flag() -> flags_t + + + Get a flags_t representing a float. + +Help on function flt_flag in module ida_bytes: + +flt_flag(*args) -> 'flags_t' + flt_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function free_chunk in module ida_bytes: + +free_chunk(*args) -> 'ea_t' + free_chunk(bottom, size, step) -> ea_t + + + Search for a hole in the addressing space of the program. + + @param bottom: address to start searching (C++: ea_t) + @param size: size of desired block (C++: asize_t) + @param step: bit mask for the start of hole (0xF would align hole to a + paragraph). if 'step' is negative, the bottom address + with be aligned. otherwise the kernel will try to use it + as is and align it only when the hole is too small. (C++: + int32) + @return: start of the hole or BADADDR + +Help on function get_16bit in module ida_bytes: + +get_16bit(*args) -> 'uint32' + 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() + +Help on function get_32bit in module ida_bytes: + +get_32bit(*args) -> 'uint32' + 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 \ph{nbits}: if ( nbits <= 8 ) + return get_dword(ea); if ( nbits <= 16) return + get_wide_word(ea); return get_wide_byte(ea); + +Help on function get_64bit in module ida_bytes: + +get_64bit(*args) -> 'uint64' + 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 \ph{nbits}: if ( nbits <= 8 ) + return get_qword(ea); if ( nbits <= 16) return + get_wide_dword(ea); return get_wide_byte(ea); + +Help on function get_8bit in module ida_bytes: + +get_8bit(*args) -> 'PyObject *' + get_8bit(ea, v, nbit) -> PyObject * + +Help on function get_byte in module ida_bytes: + +get_byte(*args) -> 'uchar' + 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) + +Help on function get_bytes in module ida_bytes: + +get_bytes(*args) -> 'PyObject *' + 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 + @return: the bytes (as a str), or None in case of failure + +Help on function get_bytes_and_mask in module ida_bytes: + +get_bytes_and_mask(*args) -> 'PyObject *' + 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 + @return: a tuple (bytes, mask), or None in case of failure. + Both 'bytes' and 'mask' are 'str' instances. + +Help on function get_cmt in module ida_bytes: + +get_cmt(*args) -> 'qstring *' + get_cmt(ea, rptble) -> str + + + Get an indented comment. + + @param ea: linear address. may point to tail byte, the function will + find start of the item (C++: ea_t) + @param rptble: get repeatable comment? (C++: bool) + @return: size of comment or -1 + +Help on function get_custom_data_format in module ida_bytes: + +get_custom_data_format(*args) -> 'data_format_t const *' + get_custom_data_format(dfid) -> data_format_t + + + Get definition of a registered custom data format. + + @param dfid: data format id (C++: int) + @return: data format definition or NULL + +Help on function get_custom_data_formats in module ida_bytes: + +get_custom_data_formats(*args) -> 'int' + get_custom_data_formats(out, dtid) -> int + + + Get list of attached custom data formats for the specified data type. + + @param out: buffer for the output. may be NULL (C++: intvec_t *) + @param dtid: data type id (C++: int) + @return: number of returned custom data formats. if error, returns -1 + +Help on function get_custom_data_type in module ida_bytes: + +get_custom_data_type(*args) -> 'data_type_t const *' + get_custom_data_type(dtid) -> data_type_t + + + Get definition of a registered custom data type. + + @param dtid: data type id (C++: int) + @return: data type definition or NULL + +Help on function get_custom_data_types in module ida_bytes: + +get_custom_data_types(*args) -> 'int' + get_custom_data_types(out, min_size=0, max_size=BADADDR) -> int + + + Get list of registered custom data type ids. + + @param out: buffer for the output. may be NULL (C++: intvec_t *) + @param min_size: minimum value size (C++: asize_t) + @param max_size: maximum value size (C++: asize_t) + @return: number of custom data types with the specified size limits + +Help on function get_data_elsize in module ida_bytes: + +get_data_elsize(*args) -> 'asize_t' + get_data_elsize(ea, F, ti=None) -> asize_t + + + Get size of data type specified in flags 'F'. + + @param ea: linear address of the item (C++: ea_t) + @param F: flags (C++: flags_t) + @param ti: 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 NULL). If + specified as NULL, will be automatically retrieved from the + database (C++: const opinfo_t *) + @return: byte : 1 word : 2 etc... + +Help on function get_data_value in module ida_bytes: + +get_data_value(*args) -> 'bool' + 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: pointer to the result. may be NULL (C++: uval_t *) + @param ea: linear address (C++: ea_t) + @param size: size of data to read. If 0, then the item type at 'ea' + will be used (C++: asize_t) + @return: success + +Help on function get_db_byte in module ida_bytes: + +get_db_byte(*args) -> 'uchar' + 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) + +Help on function get_default_radix in module ida_bytes: + +get_default_radix(*args) -> 'int' + get_default_radix() -> int + + + Get default base of number for the current processor. + + @return: 2, 8, 10, 16 + +Help on function get_dword in module ida_bytes: + +get_dword(*args) -> 'uint32' + get_dword(ea) -> uint32 + + + Get one dword (32-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_enum_id in module ida_bytes: + +get_enum_id(*args) -> 'uchar *' + get_enum_id(ea, n) -> enum_t + + + Get enum id of 'enum' operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: id of enum or BADNODE + +Help on function get_first_hidden_range in module ida_bytes: + +get_first_hidden_range(*args) -> 'hidden_range_t *' + get_first_hidden_range() -> hidden_range_t + + + Get pointer to the first hidden range. + + @return: ptr to hidden range or NULL + +Help on function get_flags in module ida_bytes: + +get_flags(*args) -> 'flags_t' + get_flags(ea) -> flags_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) + +Help on function get_flags_by_size in module ida_bytes: + +get_flags_by_size(*args) -> 'flags_t' + get_flags_by_size(size) -> flags_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) + +Help on function get_flags_ex in module ida_bytes: + +get_flags_ex(*args) -> 'flags_t' + get_flags_ex(ea, how) -> flags_t + + + Get flags for the specified address, extended form. + + + @param ea (C++: ea_t) + @param how (C++: int) + +Help on function get_forced_operand in module ida_bytes: + +get_forced_operand(*args) -> 'qstring *' + get_forced_operand(ea, n) -> str + + + Get forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @return: size of forced operand or -1 + +Help on function get_full_data_elsize in module ida_bytes: + +get_full_data_elsize(*args) -> 'asize_t' + 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++: flags_t) + @param ti (C++: const opinfo_t *) + +Help on function get_full_flags in module ida_bytes: + +get_full_flags(*args) -> 'flags_t' + get_full_flags(ea) -> flags_t + + + Get flags value for address 'ea'. + + @param ea (C++: ea_t) + @return: 0 if address is not present in the program + +Help on function get_hidden_range in module ida_bytes: + +get_hidden_range(*args) -> 'hidden_range_t *' + get_hidden_range(ea) -> hidden_range_t + + + Get pointer to hidden range structure, in: linear address. + + @param ea: any address in the hidden range (C++: ea_t) + +Help on function get_hidden_range_num in module ida_bytes: + +get_hidden_range_num(*args) -> 'int' + get_hidden_range_num(ea) -> int + + + Get number of a hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: number of hidden range (0.. get_hidden_range_qty() -1) + +Help on function get_hidden_range_qty in module ida_bytes: + +get_hidden_range_qty(*args) -> 'int' + get_hidden_range_qty() -> int + + + Get number of hidden ranges. + +Help on function get_item_end in module ida_bytes: + +get_item_end(*args) -> 'ea_t' + 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) + +Help on function get_item_flag in module ida_bytes: + +get_item_flag(*args) -> 'flags_t' + get_item_flag(_from, n, ea, appzero) -> flags_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: linear address of the instruction which refers to 'ea' + (C++: ea_t) + @param n: number of operand which refers to 'ea' (C++: int) + @param ea: the referenced address (C++: ea_t) + @param appzero: append a struct field name if the field offset is + zero? meaningful only if the name refers to a + structure. (C++: bool) + @return: flags or 0 (if failed) + +Help on function get_item_head in module ida_bytes: + +get_item_head(*args) -> 'ea_t' + 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) + +Help on function get_item_size in module ida_bytes: + +get_item_size(*args) -> 'asize_t' + get_item_size(ea) -> asize_t + + + Get size of item (instruction/data) in bytes. Unexplored bytes have + length of 1 byte. This function never returns 0. + + @param ea (C++: ea_t) + +Help on function get_last_hidden_range in module ida_bytes: + +get_last_hidden_range(*args) -> 'hidden_range_t *' + get_last_hidden_range() -> hidden_range_t + + + Get pointer to the last hidden range. + + @return: ptr to hidden range or NULL + +Help on function get_manual_insn in module ida_bytes: + +get_manual_insn(*args) -> 'qstring *' + get_manual_insn(ea) -> str + + + Retrieve the user-specified string for the manual instruction. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @return: size of manual instruction or -1 + +Help on function get_mapping in module ida_bytes: + +get_mapping(*args) -> 'ea_t *, ea_t *, asize_t *' + get_mapping(n) -> bool + + + Get memory mapping range by its number. + + @param n: number of mapping range (0.. get_mappings_qty() -1) (C++: + size_t) + @return: false if the specified range doesn't exist, otherwise returns + from , to , size + +Help on function get_mappings_qty in module ida_bytes: + +get_mappings_qty(*args) -> 'size_t' + get_mappings_qty() -> size_t + + + Get number of mappings. + +Help on function get_max_strlit_length in module ida_bytes: + +get_max_strlit_length(*args) -> 'size_t' + get_max_strlit_length(ea, strtype, options=0) -> size_t + + + Determine maximum length of string literal. + + @param ea: starting address (C++: ea_t) + @param strtype: string type. one of String type codes (C++: int32) + @param options: combination of string literal length options (C++: + int) + @return: length of the string in octets (octet==8bit) + +Help on function get_next_hidden_range in module ida_bytes: + +get_next_hidden_range(*args) -> 'hidden_range_t *' + get_next_hidden_range(ea) -> hidden_range_t + + + Get pointer to next hidden range. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to hidden range or NULL if next hidden range doesn't + exist + +Help on function get_octet in module ida_bytes: + +get_octet(*args) -> 'PyObject *' + get_octet(ea, v, nbit) -> PyObject * + + + Get 8 bits of the program at 'ea'. The main usage of this function is + to iterate range of bytes. Here is an example: + + uint64 v; + int nbit = 0; + for ( ... ) { + uchar byte = get_octet(&ea, &v, &nbit); + ... + } + + 'ea' is incremented each time when a new byte is read. In the above + example, it will be incremented in the first loop iteration. + + @param ea (C++: ea_t *) + @param v (C++: uint64 *) + @param nbit (C++: int *) + +Help on function get_opinfo in module ida_bytes: + +get_opinfo(*args) -> 'opinfo_t *' + get_opinfo(buf, ea, n, flags) -> opinfo_t + + + Get additional information about an operand representation. + + @param buf: buffer to receive the result. may not be NULL (C++: + opinfo_t *) + @param ea: linear address of item (C++: ea_t) + @param n: number of operand, 0 or 1 (C++: int) + @param flags: flags of the item (C++: flags_t) + @return: NULL if no additional representation information + +Help on function get_optype_flags0 in module ida_bytes: + +get_optype_flags0(*args) -> 'flags_t' + get_optype_flags0(F) -> flags_t + + + Get flags for first operand. + + + @param F (C++: flags_t) + +Help on function get_optype_flags1 in module ida_bytes: + +get_optype_flags1(*args) -> 'flags_t' + get_optype_flags1(F) -> flags_t + + + Get flags for second operand. + + + @param F (C++: flags_t) + +Help on function get_original_byte in module ida_bytes: + +get_original_byte(*args) -> 'uint64' + 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) + +Help on function get_original_dword in module ida_bytes: + +get_original_dword(*args) -> 'uint64' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_original_qword in module ida_bytes: + +get_original_qword(*args) -> 'uint64' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_original_word in module ida_bytes: + +get_original_word(*args) -> 'uint64' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_predef_insn_cmt in module ida_bytes: + +get_predef_insn_cmt(*args) -> 'qstring *' + get_predef_insn_cmt(ins) -> str + + + Get predefined comment. + + @param ins: current instruction information (C++: const insn_t &) + @return: size of comment or -1 + +Help on function get_prev_hidden_range in module ida_bytes: + +get_prev_hidden_range(*args) -> 'hidden_range_t *' + get_prev_hidden_range(ea) -> hidden_range_t + + + Get pointer to previous hidden range. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to hidden range or NULL if previous hidden range doesn't + exist + +Help on function get_qword in module ida_bytes: + +get_qword(*args) -> 'uint64' + get_qword(ea) -> uint64 + + + Get one qword (64-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_radix in module ida_bytes: + +get_radix(*args) -> 'int' + 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: flags (C++: flags_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: 2, 8, 10, 16 + +Help on function get_strlit_contents in module ida_bytes: + +get_strlit_contents(*args) -> 'PyObject *' + get_strlit_contents(ea, py_len, type, flags=0) -> PyObject * + + + Get bytes contents at location, possibly converted. + It works even if the string has not been created in the database yet. + + Note that this will always return a simple string of bytes + (i.e., a 'str' instance), and not a string of unicode characters. + + If you want auto-conversion to unicode strings (that is: real strings), + you should probably be using the idautils.Strings class. + + @param ea: linear address of the string + @param 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. + +Help on function get_stroff_path in module ida_bytes: + +get_stroff_path(*args) -> 'int' + get_stroff_path(path, delta, ea, n) -> int + + + Get struct path of operand. + + @param path: buffer for structure path (strpath). see nalt.hpp for + more info. (C++: tid_t *) + @param delta: struct offset delta (C++: adiff_t *) + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: length of strpath + +Help on function get_wide_byte in module ida_bytes: + +get_wide_byte(*args) -> 'uint64' + 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) + +Help on function get_wide_dword in module ida_bytes: + +get_wide_dword(*args) -> 'uint64' + 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 + \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 + + @param ea (C++: ea_t) + +Help on function get_wide_word in module ida_bytes: + +get_wide_word(*args) -> 'uint64' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_word in module ida_bytes: + +get_word(*args) -> 'ushort' + get_word(ea) -> ushort + + + Get one word (16-bit) of the program at 'ea'. This function takes into + account order of bytes specified in \inf{is_be()} This function works + only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_zero_ranges in module ida_bytes: + +get_zero_ranges(*args) -> 'bool' + 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: pointer to the return value. cannot be NULL (C++: + rangeset_t *) + @param range: the range of addresses to verify. can be NULL - means + all ranges (C++: const range_t *) + @return: true if the result is a non-empty set + +Help on function getn_hidden_range in module ida_bytes: + +getn_hidden_range(*args) -> 'hidden_range_t *' + getn_hidden_range(n) -> hidden_range_t + + + Get pointer to hidden range structure, in: number of hidden range. + + @param n: number of hidden range, is in range 0.. + get_hidden_range_qty() -1 (C++: int) + +Help on function has_any_name in module ida_bytes: + +has_any_name(*args) -> 'bool' + has_any_name(F) -> bool + + + Does the current byte have any name? + + + @param F (C++: flags_t) + +Help on function has_auto_name in module ida_bytes: + +has_auto_name(*args) -> 'bool' + has_auto_name(F) -> bool + + + Does the current byte have auto-generated (no special prefix) name? + + + @param F (C++: flags_t) + +Help on function has_cmt in module ida_bytes: + +has_cmt(*args) -> 'bool' + has_cmt(F) -> bool + + + Does the current byte have an indented comment? + + + @param F (C++: flags_t) + +Help on function has_dummy_name in module ida_bytes: + +has_dummy_name(*args) -> 'bool' + has_dummy_name(F) -> bool + + + Does the current byte have dummy (auto-generated, with special prefix) + name? + + + @param F (C++: flags_t) + +Help on function has_extra_cmts in module ida_bytes: + +has_extra_cmts(*args) -> 'bool' + has_extra_cmts(F) -> bool + + + Does the current byte have additional anterior or posterior lines? + + + @param F (C++: flags_t) + +Help on function has_immd in module ida_bytes: + +has_immd(*args) -> 'bool' + has_immd(F) -> bool + + + Has immediate value? + + + @param F (C++: flags_t) + +Help on function has_name in module ida_bytes: + +has_name(*args) -> 'bool' + has_name(F) -> bool + + + Does the current byte have non-trivial (non-dummy) name? + + + @param F (C++: flags_t) + +Help on function has_user_name in module ida_bytes: + +has_user_name(*args) -> 'bool' + has_user_name(F) -> bool + + + Does the current byte have user-specified name? + + + @param F (C++: flags_t) + +Help on function has_value in module ida_bytes: + +has_value(*args) -> 'bool' + has_value(F) -> bool + + + Do flags contain byte value? + + + @param F (C++: flags_t) + +Help on function has_xref in module ida_bytes: + +has_xref(*args) -> 'bool' + has_xref(F) -> bool + + + Does the current byte have cross-references to it? + + + @param F (C++: flags_t) + +Help on function hex_flag in module ida_bytes: + +hex_flag(*args) -> 'flags_t' + hex_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on class hidden_range_t in module ida_bytes: + +class hidden_range_t(ida_range.range_t) + | Proxy of C++ hidden_range_t class. + | + | Method resolution order: + | hidden_range_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> hidden_range_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_hidden_range_t(...) + | delete_hidden_range_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | color + | hidden_range_t_color_get(self) -> bgcolor_t + | + | description + | hidden_range_t_description_get(self) -> char * + | + | footer + | hidden_range_t_footer_get(self) -> char * + | + | header + | hidden_range_t_header_get(self) -> char * + | + | thisown + | The membership flag + | + | visible + | hidden_range_t_visible_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on function is_align in module ida_bytes: + +is_align(*args) -> 'bool' + is_align(F) -> bool + + + 'FF_ALIGN' + + + @param F (C++: flags_t) + +Help on function is_attached_custom_data_format in module ida_bytes: + +is_attached_custom_data_format(*args) -> 'bool' + is_attached_custom_data_format(dtid, dfid) -> bool + +Help on function is_bnot in module ida_bytes: + +is_bnot(*args) -> 'bool' + is_bnot(ea, F, n) -> bool + + + Should we negate the operand?. \ash{a_bnot} should be defined in the + idp module in order to work with this function + + @param ea (C++: ea_t) + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_byte in module ida_bytes: + +is_byte(*args) -> 'bool' + is_byte(F) -> bool + + + 'FF_BYTE' + + + @param F (C++: flags_t) + +Help on function is_char in module ida_bytes: + +is_char(*args) -> 'bool' + is_char(F, n) -> bool + + + is character constant? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_char0 in module ida_bytes: + +is_char0(*args) -> 'bool' + is_char0(F) -> bool + + + Is the first operand character constant? (example: push 'a') + + + @param F (C++: flags_t) + +Help on function is_char1 in module ida_bytes: + +is_char1(*args) -> 'bool' + is_char1(F) -> bool + + + Is the second operand character constant? (example: mov al, 'a') + + + @param F (C++: flags_t) + +Help on function is_code in module ida_bytes: + +is_code(*args) -> 'bool' + is_code(F) -> bool + + + Does flag denote start of an instruction? + + + @param F (C++: flags_t) + +Help on function is_custfmt in module ida_bytes: + +is_custfmt(*args) -> 'bool' + is_custfmt(F, n) -> bool + + + is custom data format? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_custfmt0 in module ida_bytes: + +is_custfmt0(*args) -> 'bool' + is_custfmt0(F) -> bool + + + Does the first operand use a custom data representation? + + + @param F (C++: flags_t) + +Help on function is_custfmt1 in module ida_bytes: + +is_custfmt1(*args) -> 'bool' + is_custfmt1(F) -> bool + + + Does the second operand use a custom data representation? + + + @param F (C++: flags_t) + +Help on function is_custom in module ida_bytes: + +is_custom(*args) -> 'bool' + is_custom(F) -> bool + + + 'FF_CUSTOM' + + + @param F (C++: flags_t) + +Help on function is_data in module ida_bytes: + +is_data(*args) -> 'bool' + is_data(F) -> bool + + + Does flag denote start of data? + + + @param F (C++: flags_t) + +Help on function is_defarg in module ida_bytes: + +is_defarg(*args) -> 'bool' + is_defarg(F, n) -> bool + + + is defined? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_defarg0 in module ida_bytes: + +is_defarg0(*args) -> 'bool' + is_defarg0(F) -> bool + + + Is the first operand defined? Initially operand has no defined + representation. + + + @param F (C++: flags_t) + +Help on function is_defarg1 in module ida_bytes: + +is_defarg1(*args) -> 'bool' + is_defarg1(F) -> bool + + + Is the second operand defined? Initially operand has no defined + representation. + + + @param F (C++: flags_t) + +Help on function is_double in module ida_bytes: + +is_double(*args) -> 'bool' + is_double(F) -> bool + + + 'FF_DOUBLE' + + + @param F (C++: flags_t) + +Help on function is_dword in module ida_bytes: + +is_dword(*args) -> 'bool' + is_dword(F) -> bool + + + 'FF_DWORD' + + + @param F (C++: flags_t) + +Help on function is_enum in module ida_bytes: + +is_enum(*args) -> 'bool' + is_enum(F, n) -> bool + + + is enum? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_enum0 in module ida_bytes: + +is_enum0(*args) -> 'bool' + is_enum0(F) -> bool + + + Is the first operand a symbolic constant (enum member)? + + + @param F (C++: flags_t) + +Help on function is_enum1 in module ida_bytes: + +is_enum1(*args) -> 'bool' + is_enum1(F) -> bool + + + Is the second operand a symbolic constant (enum member)? + + + @param F (C++: flags_t) + +Help on function is_float in module ida_bytes: + +is_float(*args) -> 'bool' + is_float(F) -> bool + + + 'FF_FLOAT' + + + @param F (C++: flags_t) + +Help on function is_float0 in module ida_bytes: + +is_float0(*args) -> 'bool' + is_float0(F) -> bool + + + Is the first operand a floating point number? + + + @param F (C++: flags_t) + +Help on function is_float1 in module ida_bytes: + +is_float1(*args) -> 'bool' + is_float1(F) -> bool + + + Is the second operand a floating point number? + + + @param F (C++: flags_t) + +Help on function is_flow in module ida_bytes: + +is_flow(*args) -> 'bool' + is_flow(F) -> bool + + + Does the previous instruction exist and pass execution flow to the + current byte? + + + @param F (C++: flags_t) + +Help on function is_fltnum in module ida_bytes: + +is_fltnum(*args) -> 'bool' + is_fltnum(F, n) -> bool + + + is floating point number? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_forced_operand in module ida_bytes: + +is_forced_operand(*args) -> 'bool' + is_forced_operand(ea, n) -> bool + + + Is operand manually defined?. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + +Help on function is_func in module ida_bytes: + +is_func(*args) -> 'bool' + is_func(F) -> bool + + + Is function start? + + + @param F (C++: flags_t) + +Help on function is_head in module ida_bytes: + +is_head(*args) -> 'bool' + is_head(F) -> bool + + + Does flag denote start of instruction OR data? + + + @param F (C++: flags_t) + +Help on function is_invsign in module ida_bytes: + +is_invsign(*args) -> 'bool' + 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++: flags_t) + @param n (C++: int) + +Help on function is_loaded in module ida_bytes: + +is_loaded(*args) -> 'bool' + is_loaded(ea) -> bool + + + Does the specified address have a byte value (is initialized?) + + + @param ea (C++: ea_t) + +Help on function is_lzero in module ida_bytes: + +is_lzero(*args) -> 'bool' + is_lzero(ea, n) -> bool + + + Display leading zeroes in operands. The global switch for the leading + zeroes is in \inf{s_genflags} The leading zeroes doesn't work if the + octal numbers start with 0 Display leading zeroes? (takes into account + \inf{s_genflags}) + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function is_manual in module ida_bytes: + +is_manual(*args) -> 'bool' + is_manual(F, n) -> bool + + + is forced operand? (use 'is_forced_operand()' ) + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_manual_insn in module ida_bytes: + +is_manual_insn(*args) -> 'bool' + is_manual_insn(ea) -> bool + + + Is the instruction overridden? + + @param ea: linear address of the instruction or data item (C++: ea_t) + +Help on function is_mapped in module ida_bytes: + +is_mapped(*args) -> 'bool' + is_mapped(ea) -> bool + + + Is the specified address 'ea' present in the program? + + + @param ea (C++: ea_t) + +Help on function is_not_tail in module ida_bytes: + +is_not_tail(*args) -> 'bool' + is_not_tail(F) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function is_numop in module ida_bytes: + +is_numop(*args) -> 'bool' + is_numop(F, n) -> bool + + + is number (bin, oct, dec, hex)? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_numop0 in module ida_bytes: + +is_numop0(*args) -> 'bool' + is_numop0(F) -> bool + + + Is the first operand a number (i.e. binary, octal, decimal or hex?) + + + @param F (C++: flags_t) + +Help on function is_numop1 in module ida_bytes: + +is_numop1(*args) -> 'bool' + is_numop1(F) -> bool + + + Is the second operand a number (i.e. binary, octal, decimal or hex?) + + + @param F (C++: flags_t) + +Help on function is_off in module ida_bytes: + +is_off(*args) -> 'bool' + is_off(F, n) -> bool + + + is offset? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_off0 in module ida_bytes: + +is_off0(*args) -> 'bool' + is_off0(F) -> bool + + + Is the first operand offset? (example: push offset xxx) + + + @param F (C++: flags_t) + +Help on function is_off1 in module ida_bytes: + +is_off1(*args) -> 'bool' + is_off1(F) -> bool + + + Is the second operand offset? (example: mov ax, offset xxx) + + + @param F (C++: flags_t) + +Help on function is_oword in module ida_bytes: + +is_oword(*args) -> 'bool' + is_oword(F) -> bool + + + 'FF_OWORD' + + + @param F (C++: flags_t) + +Help on function is_pack_real in module ida_bytes: + +is_pack_real(*args) -> 'bool' + is_pack_real(F) -> bool + + + 'FF_PACKREAL' + + + @param F (C++: flags_t) + +Help on function is_qword in module ida_bytes: + +is_qword(*args) -> 'bool' + is_qword(F) -> bool + + + 'FF_QWORD' + + + @param F (C++: flags_t) + +Help on function is_same_data_type in module ida_bytes: + +is_same_data_type(*args) -> 'bool' + is_same_data_type(F1, F2) -> bool + + + Do the given flags specify the same data type? + + + @param F1 (C++: flags_t) + @param F2 (C++: flags_t) + +Help on function is_seg in module ida_bytes: + +is_seg(*args) -> 'bool' + is_seg(F, n) -> bool + + + is segment? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_seg0 in module ida_bytes: + +is_seg0(*args) -> 'bool' + is_seg0(F) -> bool + + + Is the first operand segment selector? (example: push seg seg001) + + + @param F (C++: flags_t) + +Help on function is_seg1 in module ida_bytes: + +is_seg1(*args) -> 'bool' + is_seg1(F) -> bool + + + Is the second operand segment selector? (example: mov dx, seg dseg) + + + @param F (C++: flags_t) + +Help on function is_stkvar in module ida_bytes: + +is_stkvar(*args) -> 'bool' + is_stkvar(F, n) -> bool + + + is stack variable? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_stkvar0 in module ida_bytes: + +is_stkvar0(*args) -> 'bool' + is_stkvar0(F) -> bool + + + Is the first operand a stack variable? + + + @param F (C++: flags_t) + +Help on function is_stkvar1 in module ida_bytes: + +is_stkvar1(*args) -> 'bool' + is_stkvar1(F) -> bool + + + Is the second operand a stack variable? + + + @param F (C++: flags_t) + +Help on function is_strlit in module ida_bytes: + +is_strlit(*args) -> 'bool' + is_strlit(F) -> bool + + + 'FF_STRLIT' + + + @param F (C++: flags_t) + +Help on function is_stroff in module ida_bytes: + +is_stroff(*args) -> 'bool' + is_stroff(F, n) -> bool + + + is struct offset? + + + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_stroff0 in module ida_bytes: + +is_stroff0(*args) -> 'bool' + is_stroff0(F) -> bool + + + Is the first operand an offset within a struct? + + + @param F (C++: flags_t) + +Help on function is_stroff1 in module ida_bytes: + +is_stroff1(*args) -> 'bool' + is_stroff1(F) -> bool + + + Is the second operand an offset within a struct? + + + @param F (C++: flags_t) + +Help on function is_struct in module ida_bytes: + +is_struct(*args) -> 'bool' + is_struct(F) -> bool + + + 'FF_STRUCT' + + + @param F (C++: flags_t) + +Help on function is_suspop in module ida_bytes: + +is_suspop(*args) -> 'bool' + is_suspop(ea, F, n) -> bool + + + is suspicious operand? + + + @param ea (C++: ea_t) + @param F (C++: flags_t) + @param n (C++: int) + +Help on function is_tail in module ida_bytes: + +is_tail(*args) -> 'bool' + is_tail(F) -> bool + + + Does flag denote tail byte? + + + @param F (C++: flags_t) + +Help on function is_tbyte in module ida_bytes: + +is_tbyte(*args) -> 'bool' + is_tbyte(F) -> bool + + + 'FF_TBYTE' + + + @param F (C++: flags_t) + +Help on function is_unknown in module ida_bytes: + +is_unknown(*args) -> 'bool' + is_unknown(F) -> bool + + + Does flag denote unexplored byte? + + + @param F (C++: flags_t) + +Help on function is_varsize_item in module ida_bytes: + +is_varsize_item(*args) -> 'int' + is_varsize_item(ea, F, ti=None, itemsize=None) -> int + + + Is the item at 'ea' variable size?. + + @param ea: linear address of the item (C++: ea_t) + @param F: flags (C++: flags_t) + @param ti: 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 NULL). If + specified as NULL, will be automatically retrieved from the + database (C++: const opinfo_t *) + @param itemsize: if not NULL and the item is varsize, itemsize will + contain the calculated item size (for struct types, + the minimal size is returned) (C++: asize_t *) + +Help on function is_word in module ida_bytes: + +is_word(*args) -> 'bool' + is_word(F) -> bool + + + 'FF_WORD' + + + @param F (C++: flags_t) + +Help on function is_yword in module ida_bytes: + +is_yword(*args) -> 'bool' + is_yword(F) -> bool + + + 'FF_YWORD' + + + @param F (C++: flags_t) + +Help on function is_zword in module ida_bytes: + +is_zword(*args) -> 'bool' + is_zword(F) -> bool + + + 'FF_ZWORD' + + + @param F (C++: flags_t) + +Help on function leading_zero_important in module ida_bytes: + +leading_zero_important(*args) -> 'bool' + leading_zero_important(ea, n) -> bool + + + Check if leading zeroes are important. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function nbits in module ida_bytes: + +nbits(*args) -> 'int' + nbits(ea) -> int + + + Get number of bits in a byte at the given address. + + @param ea (C++: ea_t) + @return: \ph{dnbits()} if the address doesn't belong to a segment, + otherwise the result depends on the segment type + +Help on function next_addr in module ida_bytes: + +next_addr(*args) -> 'ea_t' + 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. + +Help on function next_chunk in module ida_bytes: + +next_chunk(*args) -> 'ea_t' + 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. + +Help on function next_head in module ida_bytes: + +next_head(*args) -> 'ea_t' + next_head(ea, maxea) -> ea_t + + + Get start of next defined item. + + @param ea: begin search at this address (C++: ea_t) + @param maxea: not included in the search range (C++: ea_t) + @return: BADADDR if none exists. + +Help on function next_inited in module ida_bytes: + +next_inited(*args) -> 'ea_t' + next_inited(ea, maxea) -> ea_t + + + Find the next initialized address. + + + @param ea (C++: ea_t) + @param maxea (C++: ea_t) + +Help on function next_not_tail in module ida_bytes: + +next_not_tail(*args) -> 'ea_t' + next_not_tail(ea) -> ea_t + + + Get address of next non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function next_that in module ida_bytes: + +next_that(*args) -> 'ea_t' + next_that(ea, maxea, callable) -> ea_t + + + Find next address with a flag satisfying the function 'testf'. + Start searching from address 'ea'+1 and inspect bytes up to 'maxea'. + maxea is not included in the search range. + + @param callable: a Python callable with the following prototype: + callable(flags). Return True to stop enumeration. + @return: the found address or BADADDR. + +Help on function next_unknown in module ida_bytes: + +next_unknown(*args) -> 'ea_t' + 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) + +Help on function num_flag in module ida_bytes: + +num_flag(*args) -> 'flags_t' + num_flag() -> flags_t + + + Get number of default base (bin, oct, dec, hex) + +Help on function oct_flag in module ida_bytes: + +oct_flag(*args) -> 'flags_t' + oct_flag() -> flags_t + + + Get number flag of the base, regardless of current processor - better + to use 'num_flag()' + +Help on function off_flag in module ida_bytes: + +off_flag(*args) -> 'flags_t' + off_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function op_adds_xrefs in module ida_bytes: + +op_adds_xrefs(*args) -> 'bool' + 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++: flags_t) + @param n (C++: int) + +Help on function op_bin in module ida_bytes: + +op_bin(*args) -> 'bool' + op_bin(ea, n) -> bool + + + set op type to 'bin_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_chr in module ida_bytes: + +op_chr(*args) -> 'bool' + op_chr(ea, n) -> bool + + + set op type to 'char_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_custfmt in module ida_bytes: + +op_custfmt(*args) -> 'bool' + 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) + +Help on function op_dec in module ida_bytes: + +op_dec(*args) -> 'bool' + op_dec(ea, n) -> bool + + + set op type to 'dec_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_enum in module ida_bytes: + +op_enum(*args) -> 'bool' + op_enum(ea, n, id, serial) -> bool + + + Set operand representation to be 'enum_t'. If applied to unexplored + bytes, converts them to 16/32bit word data + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @param id: id of enum (C++: enum_t) + @param serial: 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 (C++: uchar) + @return: success + +Help on function op_flt in module ida_bytes: + +op_flt(*args) -> 'bool' + op_flt(ea, n) -> bool + + + set op type to 'flt_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_hex in module ida_bytes: + +op_hex(*args) -> 'bool' + op_hex(ea, n) -> bool + + + set op type to 'hex_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_num in module ida_bytes: + +op_num(*args) -> 'bool' + op_num(ea, n) -> bool + + + set op type to 'num_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_oct in module ida_bytes: + +op_oct(*args) -> 'bool' + op_oct(ea, n) -> bool + + + set op type to 'oct_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_seg in module ida_bytes: + +op_seg(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stkvar in module ida_bytes: + +op_stkvar(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stroff in module ida_bytes: + +op_stroff(*args) -> 'bool' + op_stroff(insn, n, path, path_len, delta) -> bool + + + Set operand representation to be 'struct offset'. If applied to + unexplored bytes, converts them to 16/32bit word data + + @param insn: the instruction (C++: const insn_t &) + @param n: number of operand (0, 1, -1) (C++: int) + @param path: structure path (strpath). see nalt.hpp for more info. + (C++: const tid_t *) + @param path_len: length of the structure path (C++: int) + @param delta: struct offset delta. usually 0. denotes the difference + between the structure base and the pointer into the + structure. (C++: adiff_t) + @return: success + + Example: + Python> + Python> ins = ida_ua.insn_t() + Python> if ida_ua.decode_insn(ins, some_address): + Python> path_len = 1 + Python> path = ida_pro.tid_array(path_len) + Python> path[0] = ida_struct.get_struc_id("my_stucture_t") + Python> ida_bytes.op_stroff(ins, 0, path.cast(), path_len, 0) + Python> + +Help on function oword_flag in module ida_bytes: + +oword_flag(*args) -> 'flags_t' + oword_flag() -> flags_t + + + Get a flags_t representing a octaword. + +Help on function packreal_flag in module ida_bytes: + +packreal_flag(*args) -> 'flags_t' + packreal_flag() -> flags_t + + + Get a flags_t representing a packed decimal real. + +Help on function patch_byte in module ida_bytes: + +patch_byte(*args) -> 'bool' + 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. + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_bytes in module ida_bytes: + +patch_bytes(*args) -> 'void' + 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: linear address (C++: ea_t) + @param buf: buffer with new values of bytes (C++: const void *) + +Help on function patch_dword in module ida_bytes: + +patch_dword(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_qword in module ida_bytes: + +patch_qword(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_word in module ida_bytes: + +patch_word(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function prev_addr in module ida_bytes: + +prev_addr(*args) -> 'ea_t' + prev_addr(ea) -> ea_t + + + Get previous address in the program. + + @param ea (C++: ea_t) + @return: BADADDR if no such address exist. + +Help on function prev_chunk in module ida_bytes: + +prev_chunk(*args) -> 'ea_t' + 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. + +Help on function prev_head in module ida_bytes: + +prev_head(*args) -> 'ea_t' + prev_head(ea, minea) -> ea_t + + + Get start of previous defined item. + + @param ea: begin search at this address (C++: ea_t) + @param minea: included in the search range (C++: ea_t) + @return: BADADDR if none exists. + +Help on function prev_inited in module ida_bytes: + +prev_inited(*args) -> 'ea_t' + prev_inited(ea, minea) -> ea_t + + + Find the previous initialized address. + + + @param ea (C++: ea_t) + @param minea (C++: ea_t) + +Help on function prev_not_tail in module ida_bytes: + +prev_not_tail(*args) -> 'ea_t' + prev_not_tail(ea) -> ea_t + + + Get address of previous non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function prev_that in module ida_bytes: + +prev_that(*args) -> 'ea_t' + prev_that(ea, minea, callable) -> ea_t + + + Find previous address with a flag satisfying the function 'testf'.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: start searching from this address - 1. (C++: ea_t) + @param minea: included in the search range. (C++: ea_t) + @return: the found address or BADADDR . + +Help on function prev_unknown in module ida_bytes: + +prev_unknown(*args) -> 'ea_t' + 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) + +Help on function print_strlit_type in module ida_bytes: + +print_strlit_type(*args) -> 'PyObject *' + 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: the string type (C++: int32) + @param flags: or'ed PSTF_* constants (C++: int) + @return: length of generated text + +Help on function put_byte in module ida_bytes: + +put_byte(*args) -> 'bool' + 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.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: linear address (C++: ea_t) + @param x: byte value (C++: uint64) + @return: true if the database has been modified + +Help on function put_bytes in module ida_bytes: + +put_bytes(*args) -> 'void' + 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: linear address (C++: ea_t) + @param buf: buffer with new values of bytes (C++: const void *) + +Help on function put_dword in module ida_bytes: + +put_dword(*args) -> 'void' + put_dword(ea, x) + + + Set value of one dword of the program. This function takes into + account order of bytes specified in \inf{is_be()} This function works + for wide byte processors too.the original value of the dword is + completely lost and can't be recovered by the 'get_original_dword()' + function. + + @param ea: linear address (C++: ea_t) + @param x: dword value (C++: uint64) + +Help on function put_qword in module ida_bytes: + +put_qword(*args) -> 'void' + put_qword(ea, x) + + + Set value of one qword (8 bytes) of the program. This function takes + into account order of bytes specified in \inf{is_be()} This function + DOESN'T works for wide byte processors. + + @param ea: linear address (C++: ea_t) + @param x: qword value (C++: uint64) + +Help on function put_word in module ida_bytes: + +put_word(*args) -> 'void' + put_word(ea, x) + + + Set value of one word of the program. This function takes into account + order of bytes specified in \inf{is_be()} This function works for wide + byte processors too.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) + +Help on function qword_flag in module ida_bytes: + +qword_flag(*args) -> 'flags_t' + qword_flag() -> flags_t + + + Get a flags_t representing a quad word. + +Help on function register_custom_data_format in module ida_bytes: + +register_custom_data_format(*args) -> 'int' + register_custom_data_format(py_df) -> int + + + Registers a custom data format with a given data type. + @param df: an instance of data_format_t + @return: + < 0 if failed to register + > 0 data format id + +Help on function register_custom_data_type in module ida_bytes: + +register_custom_data_type(*args) -> 'int' + register_custom_data_type(py_dt) -> int + + + Registers a custom data type. + @param dt: an instance of the data_type_t class + @return: + < 0 if failed to register + > 0 data type id + +Help on function register_data_types_and_formats in module ida_bytes: + +register_data_types_and_formats(formats) + 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 + +Help on function revert_byte in module ida_bytes: + +revert_byte(*args) -> 'bool' + revert_byte(ea) -> bool + + + Revert patched byte + + @param ea (C++: ea_t) + +Help on function seg_flag in module ida_bytes: + +seg_flag(*args) -> 'flags_t' + seg_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function set_cmt in module ida_bytes: + +set_cmt(*args) -> 'bool' + set_cmt(ea, comm, rptble) -> bool + + + Set an indented comment. + + @param ea: linear address (C++: ea_t) + @param comm: comment string NULL: do nothing (return 0) "" : + delete comment (C++: const char *) + @param rptble: is repeatable? (C++: bool) + @return: success + +Help on function set_forced_operand in module ida_bytes: + +set_forced_operand(*args) -> 'bool' + set_forced_operand(ea, n, op) -> bool + + + Set forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @param op: text of operand NULL: do nothing (return 0) "" : delete + forced operand (C++: const char *) + @return: success + +Help on function set_immd in module ida_bytes: + +set_immd(*args) -> 'bool' + 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) + +Help on function set_lzero in module ida_bytes: + +set_lzero(*args) -> 'bool' + set_lzero(ea, n) -> bool + + + Set toggle lzero bit. + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function set_manual_insn in module ida_bytes: + +set_manual_insn(*args) -> 'void' + set_manual_insn(ea, manual_insn) + + + Set manual instruction string. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @param manual_insn: "" - delete manual string. NULL - do nothing (C++: + const char *) + +Help on function set_op_type in module ida_bytes: + +set_op_type(*args) -> 'bool' + set_op_type(ea, type, n) -> bool + + + (internal function) change representation of operand(s). + + @param ea: linear address (C++: ea_t) + @param type: new flag value (should be obtained from char_flag() , + num_flag() and similar functions) (C++: flags_t) + @param n: number of operand (0, 1, -1) (C++: int) + +Help on function set_opinfo in module ida_bytes: + +set_opinfo(*args) -> 'bool' + 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: linear address of the item (C++: ea_t) + @param n: number of operand, 0 or 1 (C++: int) + @param flag: flags of the item (C++: flags_t) + @param ti: additional representation information (C++: const opinfo_t + *) + @param suppress_events: do not generate changing_op_type and + op_type_changed events (C++: bool) + @return: success + +Help on function stkvar_flag in module ida_bytes: + +stkvar_flag(*args) -> 'flags_t' + stkvar_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function strlit_flag in module ida_bytes: + +strlit_flag(*args) -> 'flags_t' + strlit_flag() -> flags_t + + + Get a flags_t representing a string literal. + +Help on function stroff_flag in module ida_bytes: + +stroff_flag(*args) -> 'flags_t' + stroff_flag() -> flags_t + + + see 'Bits: instruction operand types' + +Help on function stru_flag in module ida_bytes: + +stru_flag(*args) -> 'flags_t' + stru_flag() -> flags_t + + + Get a flags_t representing a struct. + +Help on function tbyte_flag in module ida_bytes: + +tbyte_flag(*args) -> 'flags_t' + tbyte_flag() -> flags_t + + + Get a flags_t representing a tbyte. + +Help on function toggle_bnot in module ida_bytes: + +toggle_bnot(*args) -> 'bool' + toggle_bnot(ea, n) -> bool + + + Toggle binary negation of operand. also see 'is_bnot()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function toggle_lzero in module ida_bytes: + +toggle_lzero(*args) -> 'bool' + toggle_lzero(ea, n) -> bool + +Help on function toggle_sign in module ida_bytes: + +toggle_sign(*args) -> 'bool' + 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) + +Help on function unregister_custom_data_format in module ida_bytes: + +unregister_custom_data_format(*args) -> 'bool' + unregister_custom_data_format(dfid) -> bool + + + Unregisters a custom data format + @param dfid: data format id + @return: Boolean + +Help on function unregister_custom_data_type in module ida_bytes: + +unregister_custom_data_type(*args) -> 'bool' + unregister_custom_data_type(dtid) -> bool + + + Unregisters a custom data type. + @param dtid: the data type id + @return: Boolean + +Help on function unregister_data_types_and_formats in module ida_bytes: + +unregister_data_types_and_formats(formats) + As opposed to register_data_types_and_formats(), this function + unregisters multiple data types and formats at once. + +Help on function update_hidden_range in module ida_bytes: + +update_hidden_range(*args) -> 'bool' + update_hidden_range(ha) -> bool + + + Update hidden range information in the database. You cannot use this + function to change the range boundaries + + @param ha: range to update (C++: const hidden_range_t *) + @return: success + +Help on function use_mapping in module ida_bytes: + +use_mapping(*args) -> 'ea_t' + use_mapping(ea) -> ea_t + + + Translate address according to current mappings. + + @param ea: address to translate (C++: ea_t) + @return: translated address + +Help on function visit_patched_bytes in module ida_bytes: + +visit_patched_bytes(*args) -> 'int' + 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 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. + +Help on function word_flag in module ida_bytes: + +word_flag(*args) -> 'flags_t' + word_flag() -> flags_t + + + Get a flags_t representing a word. + +Help on function yword_flag in module ida_bytes: + +yword_flag(*args) -> 'flags_t' + yword_flag() -> flags_t + + + Get a flags_t representing a ymm word. + +Help on function zword_flag in module ida_bytes: + +zword_flag(*args) -> 'flags_t' + zword_flag() -> flags_t + + + Get a flags_t representing a zmm word. + +=== ida_bytes EPYDOC INJECTIONS === +ida_bytes.ALOPT_IGNCLT +""" +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.) +""" + +ida_bytes.ALOPT_IGNHEADS +""" +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 +""" + +ida_bytes.ALOPT_IGNPRINT +""" +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)) +""" + +ida_bytes.ALOPT_MAX4K +""" +accumulated length + +if string length is more than 4K, return the +""" + +ida_bytes.BIN_SEARCH_BACKWARD +""" +search backward for bytes +""" + +ida_bytes.BIN_SEARCH_CASE +""" +case sensitive +""" + +ida_bytes.BIN_SEARCH_FORWARD +""" +search forward for bytes +""" + +ida_bytes.BIN_SEARCH_INITED +""" +find_byte, find_byter: any initilized value +""" + +ida_bytes.BIN_SEARCH_NOBREAK +""" +don't check for Ctrl-Break +""" + +ida_bytes.BIN_SEARCH_NOCASE +""" +case insensitive +""" + +ida_bytes.BIN_SEARCH_NOSHOW +""" +don't show search progress or update screen +""" + +ida_bytes.DELIT_DELNAMES +""" +delete any names at the specified address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_EXPAND +""" +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. +""" + +ida_bytes.DELIT_KEEPFUNC +""" +Just delete xrefs, ops e.t.c. + +do not undefine the function start. +""" + +ida_bytes.DELIT_NOCMT +""" +reject to delete if a comment is in address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_NOTRUNC +""" +even if 'AF_TRFUNC' is set + +don't truncate the current function +""" + +ida_bytes.DELIT_NOUNAME +""" +reject to delete if a user name is in address range (except for the +starting address). this bit is valid if nbytes > 1 +""" + +ida_bytes.DELIT_SIMPLE +""" +simply undefine the specified item(s) +""" + +ida_bytes.DTP_NODUP +""" +do not use dup construct +""" + +ida_bytes.DT_TYPE +""" +Mask for DATA typing. +""" + +ida_bytes.FF_0CHAR +""" +Char ('x')? +""" + +ida_bytes.FF_0CUST +""" +Custom representation? +""" + +ida_bytes.FF_0ENUM +""" +Enumeration? +""" + +ida_bytes.FF_0FLT +""" +Floating point number? +""" + +ida_bytes.FF_0FOP +""" +Forced operand? +""" + +ida_bytes.FF_0NUMB +""" +Binary number? +""" + +ida_bytes.FF_0NUMD +""" +Decimal number? +""" + +ida_bytes.FF_0NUMH +""" +Hexadecimal number? +""" + +ida_bytes.FF_0NUMO +""" +Octal number? +""" + +ida_bytes.FF_0OFF +""" +Offset? +""" + +ida_bytes.FF_0SEG +""" +Segment? +""" + +ida_bytes.FF_0STK +""" +Stack variable? +""" + +ida_bytes.FF_0STRO +""" +Struct offset? +""" + +ida_bytes.FF_0VOID +""" +Void (unknown)? +""" + +ida_bytes.FF_1CHAR +""" +Char ('x')? +""" + +ida_bytes.FF_1CUST +""" +Custom representation? +""" + +ida_bytes.FF_1ENUM +""" +Enumeration? +""" + +ida_bytes.FF_1FLT +""" +Floating point number? +""" + +ida_bytes.FF_1FOP +""" +Forced operand? +""" + +ida_bytes.FF_1NUMB +""" +Binary number? +""" + +ida_bytes.FF_1NUMD +""" +Decimal number? +""" + +ida_bytes.FF_1NUMH +""" +Hexadecimal number? +""" + +ida_bytes.FF_1NUMO +""" +Octal number? +""" + +ida_bytes.FF_1OFF +""" +Offset? +""" + +ida_bytes.FF_1SEG +""" +Segment? +""" + +ida_bytes.FF_1STK +""" +Stack variable? +""" + +ida_bytes.FF_1STRO +""" +Struct offset? +""" + +ida_bytes.FF_1VOID +""" +Void (unknown)? +""" + +ida_bytes.FF_ALIGN +""" +alignment directive +""" + +ida_bytes.FF_BNOT +""" +Bitwise negation of operands. +""" + +ida_bytes.FF_BYTE +""" +byte +""" + +ida_bytes.FF_CODE +""" +Code ? +""" + +ida_bytes.FF_COMM +""" +Has comment ? +""" + +ida_bytes.FF_CUSTOM +""" +custom data type +""" + +ida_bytes.FF_DATA +""" +Data ? +""" + +ida_bytes.FF_DOUBLE +""" +double +""" + +ida_bytes.FF_DWORD +""" +double word +""" + +ida_bytes.FF_FLOAT +""" +float +""" + +ida_bytes.FF_FLOW +""" +Exec flow from prev instruction. +""" + +ida_bytes.FF_FUNC +""" +function start? +""" + +ida_bytes.FF_IMMD +""" +Has Immediate value ? +""" + +ida_bytes.FF_IVL +""" +Byte has value ? +""" + +ida_bytes.FF_JUMP +""" +Has jump table or switch_info? +""" + +ida_bytes.FF_LABL +""" +Has dummy name? +""" + +ida_bytes.FF_LINE +""" +Has next or prev lines ? +""" + +ida_bytes.FF_NAME +""" +Has name ? +""" + +ida_bytes.FF_OWORD +""" +octaword/xmm word (16 bytes/128 bits) +""" + +ida_bytes.FF_PACKREAL +""" +packed decimal real +""" + +ida_bytes.FF_QWORD +""" +quadro word +""" + +ida_bytes.FF_REF +""" +has references +""" + +ida_bytes.FF_SIGN +""" +Inverted sign of operands. +""" + +ida_bytes.FF_STRLIT +""" +string literal +""" + +ida_bytes.FF_STRUCT +""" +struct variable +""" + +ida_bytes.FF_TAIL +""" +Tail ? +""" + +ida_bytes.FF_TBYTE +""" +tbyte +""" + +ida_bytes.FF_UNK +""" +Unknown ? +""" + +ida_bytes.FF_UNUSED +""" +unused bit (was used for variable bytes) +""" + +ida_bytes.FF_WORD +""" +word +""" + +ida_bytes.FF_YWORD +""" +ymm word (32 bytes/256 bits) +""" + +ida_bytes.FF_ZWORD +""" +zmm word (64 bytes/512 bits) +""" + +ida_bytes.GFE_VALUE +""" +get flags with 'FF_IVL' & 'MS_VAL' . It is much slower under remote +debugging because the kernel needs to read the process memory. +""" + +ida_bytes.GMB_READALL +""" +if this bit is not set, fail at first uninited byte + +try to read all bytes +""" + +ida_bytes.GMB_WAITBOX +""" +show wait box (may return -1 in this case) +""" + +ida_bytes.ITEM_END_FIXUP +""" +stop at the first fixup +""" + +ida_bytes.ITEM_END_INITED +""" +stop when initialization changes i.e.if is_loaded(ea): stop if +uninitialized byte is encounteredif !is_loaded(ea): stop if +initialized byte is encountered +""" + +ida_bytes.ITEM_END_NAME +""" +stop at the first named location +""" + +ida_bytes.ITEM_END_XREF +""" +stop at the first referenced location +""" + +ida_bytes.MS_0TYPE +""" +Mask for 1st arg typing. +""" + +ida_bytes.MS_1TYPE +""" +Mask for the type of other operands. +""" + +ida_bytes.MS_CLS +""" +Mask for typing. +""" + +ida_bytes.MS_CODE +""" +Mask for code bits. +""" + +ida_bytes.MS_COMM +""" +Mask of common bits. +""" + +ida_bytes.MS_VAL +""" +Mask for byte value. +""" + +ida_bytes.OPND_ALL +""" +all operands +""" + +ida_bytes.OPND_MASK +""" +mask for operand number +""" + +ida_bytes.OPND_OUTER +""" +used only in set, get, del_offset() functions + +outer offset base (combined with operand number). +""" + +ida_bytes.PSTF_ENC +""" +if encoding is specified, append it +""" + +ida_bytes.PSTF_HOTKEY +""" +have hotkey markers part of the name +""" + +ida_bytes.PSTF_TBRIEF +""" +use brief name (e.g., in the 'Strings window') +""" + +ida_bytes.PSTF_TINLIN +""" +use 'inline' name (e.g., in the structures comments) +""" + +ida_bytes.PSTF_TMASK +""" +type mask +""" + +ida_bytes.PSTF_TNORM +""" +use normal name +""" + +ida_bytes.STRCONV_ESCAPE +""" +convert non-printable characters to C escapes (, \\xNN, \\uNNNN) +""" + +ida_bytes.STRCONV_INCLLEN +""" +for Pascal-style strings, include the prefixing length byte(s) as +C-escaped sequence +""" + +ida_bytes.STRCONV_REPLCHAR +""" +convert non-printable characters to the Unicode replacement character +(U+FFFD) +""" +=== ida_bytes EPYDOC INJECTIONS END === +Help on class DBG_Hooks in module ida_dbg: + +class DBG_Hooks(builtins.object) + | Proxy of C++ DBG_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> DBG_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_DBG_Hooks(...) + | delete_DBG_Hooks(self) + | + | dbg_bpt(self, *args) -> 'int' + | dbg_bpt(self, tid, bptea) -> int + | + | dbg_bpt_changed(self, *args) -> 'void' + | dbg_bpt_changed(self, bptev_code, bpt) + | + | dbg_exception(self, *args) -> 'int' + | dbg_exception(self, pid, tid, ea, exc_code, exc_can_cont, exc_ea, exc_info) -> int + | + | dbg_finished_loading_bpts(self, *args) -> 'void' + | dbg_finished_loading_bpts(self) + | + | dbg_information(self, *args) -> 'void' + | dbg_information(self, pid, tid, ea, info) + | + | dbg_library_load(self, *args) -> 'void' + | dbg_library_load(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_library_unload(self, *args) -> 'void' + | dbg_library_unload(self, pid, tid, ea, info) + | + | dbg_process_attach(self, *args) -> 'void' + | dbg_process_attach(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_process_detach(self, *args) -> 'void' + | dbg_process_detach(self, pid, tid, ea) + | + | dbg_process_exit(self, *args) -> 'void' + | dbg_process_exit(self, pid, tid, ea, exit_code) + | + | dbg_process_start(self, *args) -> 'void' + | dbg_process_start(self, pid, tid, ea, modinfo_name, modinfo_base, modinfo_size) + | + | dbg_request_error(self, *args) -> 'void' + | dbg_request_error(self, failed_command, failed_dbg_notification) + | + | dbg_run_to(self, *args) -> 'void' + | dbg_run_to(self, pid, tid, ea) + | + | dbg_started_loading_bpts(self, *args) -> 'void' + | dbg_started_loading_bpts(self) + | + | dbg_step_into(self, *args) -> 'void' + | dbg_step_into(self) + | + | dbg_step_over(self, *args) -> 'void' + | dbg_step_over(self) + | + | dbg_step_until_ret(self, *args) -> 'void' + | dbg_step_until_ret(self) + | + | dbg_suspend_process(self, *args) -> 'void' + | dbg_suspend_process(self) + | + | dbg_thread_exit(self, *args) -> 'void' + | dbg_thread_exit(self, pid, tid, ea, exit_code) + | + | dbg_thread_start(self, *args) -> 'void' + | dbg_thread_start(self, pid, tid, ea) + | + | dbg_trace(self, *args) -> 'int' + | dbg_trace(self, tid, ip) -> int + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function add_bpt in module ida_dbg: + +add_bpt(*args) -> 'bool' + add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + add_bpt(bpt) -> bool + + + Add a new breakpoint in the debugged process. \sq{Type, Synchronous + function - available as request, Notification, none (synchronous + function)}Only one breakpoint can exist at a given address. + + @param ea: any address in the process memory space. Depending on the + architecture, hardware breakpoints always be setup at + random address. For example, on x86, hardware breakpoints + should be aligned depending on their size. Moreover, on the + x86 architecture, it is impossible to setup more than 4 + hardware breakpoints. (C++: ea_t) + @param size: size of the breakpoint (irrelevant for software + breakpoints): As for the address, hardware breakpoints + can't always be setup with random size. (C++: asize_t) + @param type: type of the breakpoint ( BPT_SOFT for software + breakpoint) special case BPT_DEFAULT ( BPT_SOFT | + BPT_EXEC ): try to add instruction breakpoint of the + appropriate type as follows: software bpt if supported, + hwbpt otherwise (C++: bpttype_t) + +Help on function add_path_mapping in module ida_dbg: + +add_path_mapping(*args) -> 'void' + add_path_mapping(src, dst) + +Help on function add_virt_module in module ida_dbg: + +add_virt_module(*args) -> 'bool' + add_virt_module(mod) -> bool + +Help on function attach_process in module ida_dbg: + +attach_process(*args) -> 'int' + 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' + }This function shouldn't be called as a request if 'NO_PROCESS' is + used. + + @param pid: PID of the process to attach to. If NO_PROCESS , a dialog + box will interactively ask the user for the process to + attach to. (C++: pid_t) + @param event_id (C++: int) + +Help on class bpt_location_t in module ida_dbg: + +class bpt_location_t(builtins.object) + | Proxy of C++ bpt_location_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> bpt_location_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bpt_location_t(...) + | delete_bpt_location_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ea(self, *args) -> 'ea_t' + | ea(self) -> ea_t + | + | is_empty_path(self, *args) -> 'bool' + | is_empty_path(self) -> bool + | + | lineno(self, *args) -> 'int' + | lineno(self) -> int + | + | offset(self, *args) -> 'uval_t' + | offset(self) -> uval_t + | + | path(self, *args) -> 'char const *' + | path(self) -> char const * + | + | set_abs_bpt(self, *args) -> 'void' + | set_abs_bpt(self, a) + | + | set_rel_bpt(self, *args) -> 'void' + | set_rel_bpt(self, mod, _offset) + | + | set_src_bpt(self, *args) -> 'void' + | set_src_bpt(self, fn, _lineno) + | + | set_sym_bpt(self, *args) -> 'void' + | set_sym_bpt(self, _symbol, _offset=0) + | + | symbol(self, *args) -> 'char const *' + | symbol(self) -> char const * + | + | type(self, *args) -> 'bpt_loctype_t' + | type(self) -> bpt_loctype_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | index + | bpt_location_t_index_get(self) -> int + | + | info + | bpt_location_t_info_get(self) -> ea_t + | + | loctype + | bpt_location_t_loctype_get(self) -> bpt_loctype_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class bpt_t in module ida_dbg: + +class bpt_t(builtins.object) + | Proxy of C++ bpt_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bpt_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bpt_t(...) + | delete_bpt_t(self) + | + | badbpt(self, *args) -> 'bool' + | badbpt(self) -> bool + | + | enabled(self, *args) -> 'bool' + | enabled(self) -> bool + | + | get_cnd_elang_idx(self, *args) -> 'size_t' + | get_cnd_elang_idx(self) -> size_t + | + | get_size(self, *args) -> 'int' + | get_size(self) -> int + | + | is_absbpt(self, *args) -> 'bool' + | is_absbpt(self) -> bool + | + | is_active(self, *args) -> 'bool' + | is_active(self) -> bool + | + | is_compiled(self, *args) -> 'bool' + | is_compiled(self) -> bool + | + | is_hwbpt(self, *args) -> 'bool' + | is_hwbpt(self) -> bool + | + | is_inactive(self, *args) -> 'bool' + | is_inactive(self) -> bool + | + | is_low_level(self, *args) -> 'bool' + | is_low_level(self) -> bool + | + | is_page_bpt(self, *args) -> 'bool' + | is_page_bpt(self) -> bool + | + | is_partially_active(self, *args) -> 'bool' + | is_partially_active(self) -> bool + | + | is_relbpt(self, *args) -> 'bool' + | is_relbpt(self) -> bool + | + | is_srcbpt(self, *args) -> 'bool' + | is_srcbpt(self) -> bool + | + | is_symbpt(self, *args) -> 'bool' + | is_symbpt(self) -> bool + | + | is_tracemodebpt(self, *args) -> 'bool' + | is_tracemodebpt(self) -> bool + | + | is_traceoffbpt(self, *args) -> 'bool' + | is_traceoffbpt(self) -> bool + | + | is_traceonbpt(self, *args) -> 'bool' + | is_traceonbpt(self) -> bool + | + | listbpt(self, *args) -> 'bool' + | listbpt(self) -> bool + | + | set_abs_bpt(self, *args) -> 'void' + | set_abs_bpt(self, a) + | + | set_rel_bpt(self, *args) -> 'void' + | set_rel_bpt(self, mod, o) + | + | set_src_bpt(self, *args) -> 'void' + | set_src_bpt(self, fn, lineno) + | + | set_sym_bpt(self, *args) -> 'void' + | set_sym_bpt(self, sym, o) + | + | set_trace_action(self, *args) -> 'bool' + | set_trace_action(self, enable, trace_types) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | bpt_t_cb_get(self) -> size_t + | + | cndidx + | bpt_t_cndidx_get(self) -> int + | + | condition + | bpt_t_condition_get(self) -> PyObject * + | + | ea + | bpt_t_ea_get(self) -> ea_t + | + | elang + | bpt_t_elang_get(self) -> PyObject * + | + | flags + | bpt_t_flags_get(self) -> uint32 + | + | loc + | bpt_t_loc_get(self) -> bpt_location_t + | + | pass_count + | bpt_t_pass_count_get(self) -> int + | + | pid + | bpt_t_pid_get(self) -> pid_t + | + | props + | bpt_t_props_get(self) -> uint32 + | + | size + | bpt_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | tid + | bpt_t_tid_get(self) -> thid_t + | + | type + | bpt_t_type_get(self) -> bpttype_t + +Help on class bpt_vec_t in module ida_dbg: + +class bpt_vec_t(builtins.object) + | Proxy of C++ qvector< bpt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'bpt_t const &' + | __getitem__(self, i) -> bpt_t + | + | __init__(self, *args) + | __init__(self) -> bpt_vec_t + | __init__(self, x) -> bpt_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_bpt_vec_t(...) + | delete_bpt_vec_t(self) + | + | at(self, *args) -> 'bpt_t const &' + | at(self, _idx) -> bpt_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< bpt_t >::const_iterator' + | begin(self) -> bpt_t + | begin(self) -> bpt_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< bpt_t >::const_iterator' + | end(self) -> bpt_t + | end(self) -> bpt_t + | + | erase(self, *args) -> 'qvector< bpt_t >::iterator' + | erase(self, it) -> bpt_t + | erase(self, first, last) -> bpt_t + | + | extract(self, *args) -> 'bpt_t *' + | extract(self) -> bpt_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=bpt_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< bpt_t >::iterator' + | insert(self, it, x) -> bpt_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'bpt_t &' + | push_back(self, x) + | push_back(self) -> bpt_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function bring_debugger_to_front in module ida_dbg: + +bring_debugger_to_front(*args) -> 'void' + bring_debugger_to_front() + +Help on function check_bpt in module ida_dbg: + +check_bpt(*args) -> 'int' + check_bpt(ea) -> int + + + Check the breakpoint at the specified address. + + @param ea (C++: ea_t) + @return: one of Breakpoint status codes + +Help on function choose_trace_file in module ida_dbg: + +choose_trace_file(*args) -> 'qstring *' + choose_trace_file() -> str + + + Show the choose trace dialog. + +Help on function clear_requests_queue in module ida_dbg: + +clear_requests_queue(*args) -> 'void' + clear_requests_queue() + + + Clear the queue of waiting requests. \sq{Type, Synchronous function, + Notification, none (synchronous function)}If a request is currently + running, this one isn't stopped. + +Help on function clear_trace in module ida_dbg: + +clear_trace(*args) -> 'void' + clear_trace() + + + Clear all events in the trace buffer. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + +Help on function collect_stack_trace in module ida_dbg: + +collect_stack_trace(*args) -> 'bool' + collect_stack_trace(tid, trace) -> bool + +Help on function continue_process in module ida_dbg: + +continue_process(*args) -> 'bool' + continue_process() -> bool + + + Continue the execution of the process in the debugger. \sq{Type, + Synchronous function - available as Request, Notification, none + (synchronous function)}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. + +Help on function create_source_viewer in module ida_dbg: + +create_source_viewer(*args) -> 'source_view_t *' + 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) + +Help on function dbg_add_bpt_tev in module ida_dbg: + +dbg_add_bpt_tev(*args) -> 'bool' + 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 + +Help on function dbg_add_call_tev in module ida_dbg: + +dbg_add_call_tev(*args) -> 'void' + 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) + +Help on function dbg_add_debug_event in module ida_dbg: + +dbg_add_debug_event(*args) -> 'void' + 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 *) + +Help on function dbg_add_insn_tev in module ida_dbg: + +dbg_add_insn_tev(*args) -> 'bool' + 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) + @return: false if the operation failed, true otherwise + +Help on function dbg_add_many_tevs in module ida_dbg: + +dbg_add_many_tevs(*args) -> 'bool' + 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 + +Help on function dbg_add_ret_tev in module ida_dbg: + +dbg_add_ret_tev(*args) -> 'void' + 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) + +Help on function dbg_add_tev in module ida_dbg: + +dbg_add_tev(*args) -> 'void' + 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) + @param tid (C++: thid_t) + @param address (C++: ea_t) + +Help on function dbg_add_thread in module ida_dbg: + +dbg_add_thread(*args) -> 'void' + dbg_add_thread(tid) + + + Add a thread to the current trace. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @param tid (C++: thid_t) + +Help on function dbg_bin_search in module ida_dbg: + +dbg_bin_search(*args) -> 'unsigned-ea-like-numeric-type *, qstring *'↗ + dbg_bin_search(start_ea, end_ea, data, srch_flags) -> str + +Help on function dbg_can_query in module ida_dbg: + +dbg_can_query(*args) -> 'bool' + 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 + +Help on function dbg_del_thread in module ida_dbg: + +dbg_del_thread(*args) -> 'void' + dbg_del_thread(tid) + + + Delete a thread from the current trace. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param tid (C++: thid_t) + +Help on function dbg_is_loaded in module ida_dbg: + +dbg_is_loaded(*args) -> 'bool' + dbg_is_loaded() -> bool + + + Checks if a debugger is loaded + @return: Boolean + +Help on function define_exception in module ida_dbg: + +define_exception(*args) -> 'char const *' + define_exception(code, name, desc, flags) -> char const * + + + Convenience function: define new exception code. + + @param code: exception code (cannot be 0) (C++: uint) + @param name: exception name (cannot be empty or NULL) (C++: const char + *) + @param desc: exception description (maybe NULL) (C++: const char *) + @param flags: combination of Exception info flags (C++: int) + @return: failure message or NULL. You must call store_exceptions() + if this function succeeds + +Help on function del_bpt in module ida_dbg: + +del_bpt(*args) -> 'bool' + del_bpt(ea) -> bool + del_bpt(bptloc) -> bool + + + Delete an existing breakpoint in the debugged process. \sq{Type, + Synchronous function - available as request, Notification, none + (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + +Help on function del_bptgrp in module ida_dbg: + +del_bptgrp(*args) -> 'bool' + del_bptgrp(name) -> bool + +Help on function del_virt_module in module ida_dbg: + +del_virt_module(*args) -> 'bool' + del_virt_module(base) -> bool + +Help on function detach_process in module ida_dbg: + +detach_process(*args) -> 'bool' + detach_process() -> bool + + + Detach the debugger from the debugged process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_detach' } + +Help on function diff_trace_file in module ida_dbg: + +diff_trace_file(*args) -> 'bool' + diff_trace_file(nonnul_filename) -> bool + + + Show difference between the current trace and the one from 'filename'. + +Help on function disable_bblk_trace in module ida_dbg: + +disable_bblk_trace(*args) -> 'bool' + disable_bblk_trace() -> bool + +Help on function disable_bpt in module ida_dbg: + +disable_bpt(*args) -> 'bool' + disable_bpt(ea) -> bool + disable_bpt(bptloc) -> bool + +Help on function disable_func_trace in module ida_dbg: + +disable_func_trace(*args) -> 'bool' + disable_func_trace() -> bool + +Help on function disable_insn_trace in module ida_dbg: + +disable_insn_trace(*args) -> 'bool' + disable_insn_trace() -> bool + +Help on function disable_step_trace in module ida_dbg: + +disable_step_trace(*args) -> 'bool' + disable_step_trace() -> bool + +Help on function edit_manual_regions in module ida_dbg: + +edit_manual_regions(*args) -> 'void' + edit_manual_regions() + +Help on function enable_bblk_trace in module ida_dbg: + +enable_bblk_trace(*args) -> 'bool' + enable_bblk_trace(enable=True) -> bool + +Help on function enable_bpt in module ida_dbg: + +enable_bpt(*args) -> 'bool' + enable_bpt(ea, enable=True) -> bool + enable_bpt(bptloc, enable=True) -> bool + +Help on function enable_func_trace in module ida_dbg: + +enable_func_trace(*args) -> 'bool' + enable_func_trace(enable=True) -> bool + +Help on function enable_insn_trace in module ida_dbg: + +enable_insn_trace(*args) -> 'bool' + enable_insn_trace(enable=True) -> bool + +Help on function enable_manual_regions in module ida_dbg: + +enable_manual_regions(*args) -> 'void' + enable_manual_regions(enable) + +Help on function enable_step_trace in module ida_dbg: + +enable_step_trace(*args) -> 'bool' + enable_step_trace(enable=True) -> bool + +Help on class eval_ctx_t in module ida_dbg: + +class eval_ctx_t(builtins.object) + | Proxy of C++ eval_ctx_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea) -> eval_ctx_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_eval_ctx_t(...) + | delete_eval_ctx_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | eval_ctx_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + +Help on function exist_bpt in module ida_dbg: + +exist_bpt(*args) -> 'bool' + exist_bpt(ea) -> bool + + + Does a breakpoint exist at the given location? + + + @param ea (C++: ea_t) + +Help on function exit_process in module ida_dbg: + +exit_process(*args) -> 'bool' + exit_process() -> bool + + + Terminate the debugging of the current process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_exit' } + +Help on function find_bpt in module ida_dbg: + +find_bpt(*args) -> 'bool' + find_bpt(bptloc, bpt) -> bool + + + Find a breakpoint by location. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param bptloc: Breakpoint location (C++: const bpt_location_t &) + @param bpt: bpt is filled if the breakpoint was found (C++: bpt_t *) + +Help on function get_bblk_trace_options in module ida_dbg: + +get_bblk_trace_options(*args) -> 'int' + get_bblk_trace_options() -> int + + + Get current basic block tracing options. Also see 'BT_LOG_INSTS' + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + +Help on function get_bpt in module ida_dbg: + +get_bpt(*args) -> 'bool' + get_bpt(ea, bpt) -> bool + + + Get the characteristics of a breakpoint. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + @param bpt: if not NULL, is filled with the characteristics. (C++: + bpt_t *) + @return: false if no breakpoint exists + +Help on function get_bpt_group in module ida_dbg: + +get_bpt_group(*args) -> 'qstring *' + get_bpt_group(bptloc) -> str + +Help on function get_bpt_qty in module ida_dbg: + +get_bpt_qty(*args) -> 'int' + get_bpt_qty() -> int + + + Get number of breakpoints. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function get_bpt_tev_ea in module ida_dbg: + +get_bpt_tev_ea(*args) -> 'ea_t' + 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)}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. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a read, read/write or execution trace event. + +Help on function get_bptloc_string in module ida_dbg: + +get_bptloc_string(*args) -> 'char const *' + get_bptloc_string(i) -> char const * + + + Helper function for 'bpt_location_t' . + + + @param i (C++: int) + +Help on function get_call_tev_callee in module ida_dbg: + +get_call_tev_callee(*args) -> 'ea_t' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function call event. + +Help on function get_current_source_file in module ida_dbg: + +get_current_source_file(*args) -> 'bool' + get_current_source_file(path) -> bool + +Help on function get_current_source_line in module ida_dbg: + +get_current_source_line(*args) -> 'int' + get_current_source_line() -> int + +Help on function get_current_thread in module ida_dbg: + +get_current_thread(*args) -> 'thid_t' + get_current_thread() -> thid_t + + + Get current thread ID. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_dbg_byte in module ida_dbg: + +get_dbg_byte(*args) -> 'bool' + get_dbg_byte(x, ea) -> bool + + + Get one byte of the debugged process memory. + + @param x: pointer to byte value (C++: uint32 *) + @param ea: linear address (C++: ea_t) + @return: true success + +Help on function get_dbg_memory_info in module ida_dbg: + +get_dbg_memory_info(*args) -> 'int' + get_dbg_memory_info(ranges) -> int + +Help on function get_dbg_reg_info in module ida_dbg: + +get_dbg_reg_info(*args) -> 'bool' + get_dbg_reg_info(regname, ri) -> bool + + + Get register information \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param regname (C++: const char *) + @param ri (C++: register_info_t *) + +Help on function get_debug_event in module ida_dbg: + +get_debug_event(*args) -> 'debug_event_t const *' + get_debug_event() -> debug_event_t + + + Get the current debugger event. + +Help on function get_debugger_event_cond in module ida_dbg: + +get_debugger_event_cond(*args) -> 'char const *' + get_debugger_event_cond() -> char const * + +Help on function get_first_module in module ida_dbg: + +get_first_module(*args) -> 'bool' + get_first_module(modinfo) -> bool + +Help on function get_func_trace_options in module ida_dbg: + +get_func_trace_options(*args) -> 'int' + get_func_trace_options() -> int + + + Get current function tracing options. Also see 'FT_LOG_RET' \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_global_var in module ida_dbg: + +get_global_var(*args) -> 'bool' + get_global_var(prov, ea, name, out) -> bool + +Help on function get_grp_bpts in module ida_dbg: + +get_grp_bpts(*args) -> 'ssize_t' + get_grp_bpts(bpts, grp_name) -> ssize_t + +Help on function get_insn_tev_reg_mem in module ida_dbg: + +get_insn_tev_reg_mem(*args) -> 'bool' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param memmap: result (C++: memreg_infos_t *) + @return: false if not an instruction event or no memory is available + +Help on function get_insn_tev_reg_result in module ida_dbg: + +get_insn_tev_reg_result(*args) -> 'bool' + get_insn_tev_reg_result(n, regname, regval) -> bool + + + Read the resulting register value from an instruction trace event. + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param regname: name of desired register (C++: const char *) + @param regval: result (C++: regval_t *) + @return: false if not an instruction trace event or register wasn't + modified. + +Help on function get_insn_tev_reg_val in module ida_dbg: + +get_insn_tev_reg_val(*args) -> 'bool' + get_insn_tev_reg_val(n, regname, regval) -> bool + + + Read a register value from an instruction trace event. \sq{Type, + Synchronous function, Notification, none (synchronous function)}This + is the value of the register before the execution of the instruction. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param regname: name of desired register (C++: const char *) + @param regval: result (C++: regval_t *) + @return: false if not an instruction event. + +Help on function get_insn_trace_options in module ida_dbg: + +get_insn_trace_options(*args) -> 'int' + get_insn_trace_options() -> int + + + Get current instruction tracing options. Also see 'IT_LOG_SAME_IP' + \sq{Type, Synchronous function, Notification, none (synchronous + function)} + +Help on function get_ip_val in module ida_dbg: + +get_ip_val(*args) -> 'unsigned-ea-like-numeric-type *'↗ + get_ip_val() -> bool + + + Get value of the IP (program counter) register for the current thread. + Requires a suspended debugger. + +Help on function get_local_var in module ida_dbg: + +get_local_var(*args) -> 'bool' + get_local_var(prov, ea, name, out) -> bool + +Help on function get_local_vars in module ida_dbg: + +get_local_vars(*args) -> 'bool' + get_local_vars(prov, ea, out) -> bool + +Help on function get_manual_regions in module ida_dbg: + +get_manual_regions(*args) -> 'PyObject *' + get_manual_regions(ranges) + get_manual_regions() -> PyObject * + + + Returns the manual memory regions + @return: list(start_ea, end_ea, name, sclass, sbase, bitness, perm) + +Help on function get_module_info in module ida_dbg: + +get_module_info(*args) -> 'bool' + get_module_info(ea, modinfo) -> bool + +Help on function get_next_module in module ida_dbg: + +get_next_module(*args) -> 'bool' + get_next_module(modinfo) -> bool + +Help on function get_process_options in module ida_dbg: + +get_process_options(*args) -> 'void' + get_process_options(path, args, sdir, host, _pass, port) + + + Get process options. Any of the arguments may be NULL + + @param path (C++: qstring *) + @param args (C++: qstring *) + @param sdir (C++: qstring *) + @param host (C++: qstring *) + @param port (C++: int *) + +Help on function get_process_state in module ida_dbg: + +get_process_state(*args) -> 'int' + 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 + +Help on function get_processes in module ida_dbg: + +get_processes(*args) -> 'ssize_t' + 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 *) + @return: number of processes or -1 on error + +Help on function get_reg_val in module ida_dbg: + +get_reg_val(*args) -> 'PyObject *' + get_reg_val(regname, regval) -> bool + get_reg_val(regname, ival) -> bool + get_reg_val(regname) -> PyObject * + + + Read a register value from the current thread. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param regname (C++: const char *) + @param regval (C++: regval_t *) + +Help on function get_reg_vals in module ida_dbg: + +get_reg_vals(*args) -> 'int' + get_reg_vals(tid, clsmask, values) -> int + +Help on function get_ret_tev_return in module ida_dbg: + +get_ret_tev_return(*args) -> 'ea_t' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function return event. + +Help on function get_running_notification in module ida_dbg: + +get_running_notification(*args) -> 'dbg_notification_t' + 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 + +Help on function get_running_request in module ida_dbg: + +get_running_request(*args) -> 'ui_notification_t' + 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 + +Help on function get_sp_val in module ida_dbg: + +get_sp_val(*args) -> 'unsigned-ea-like-numeric-type *'↗ + get_sp_val() -> bool + + + Get value of the SP register for the current thread. Requires a + suspended debugger. + +Help on function get_srcinfo_provider in module ida_dbg: + +get_srcinfo_provider(*args) -> 'srcinfo_provider_t *' + get_srcinfo_provider(name) -> srcinfo_provider_t * + +Help on function get_step_trace_options in module ida_dbg: + +get_step_trace_options(*args) -> 'int' + get_step_trace_options() -> int + + + Get current step tracing options. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @return: Step trace options + +Help on function get_tev_ea in module ida_dbg: + +get_tev_ea(*args) -> 'ea_t' + get_tev_ea(n) -> ea_t + +Help on function get_tev_event in module ida_dbg: + +get_tev_event(*args) -> 'bool' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param d: result (C++: debug_event_t *) + @return: false if the tev_t object doesn't have any associated debug + event, true otherwise, with the debug event in "d". + +Help on function get_tev_info in module ida_dbg: + +get_tev_info(*args) -> 'bool' + get_tev_info(n, tev_info) -> bool + + + Get main information about a trace event. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param tev_info: result (C++: tev_info_t *) + @return: success + +Help on function get_tev_memory_info in module ida_dbg: + +get_tev_memory_info(*args) -> 'bool' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @param mi: result (C++: meminfo_vec_t *) + @return: false if the tev_t object is not of type tev_mem , true + otherwise, with the new memory layout in "mi". + +Help on function get_tev_qty in module ida_dbg: + +get_tev_qty(*args) -> 'int' + get_tev_qty() -> int + + + Get number of trace events available in trace buffer. \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_tev_reg_mem in module ida_dbg: + +get_tev_reg_mem(tev, idx) + +Help on function get_tev_reg_mem_ea in module ida_dbg: + +get_tev_reg_mem_ea(tev, idx) + +Help on function get_tev_reg_mem_qty in module ida_dbg: + +get_tev_reg_mem_qty(tev) + +Help on function get_tev_reg_val in module ida_dbg: + +get_tev_reg_val(tev, reg) + +Help on function get_tev_tid in module ida_dbg: + +get_tev_tid(*args) -> 'int' + get_tev_tid(n) -> int + +Help on function get_tev_type in module ida_dbg: + +get_tev_type(*args) -> 'int' + get_tev_type(n) -> int + +Help on function get_thread_qty in module ida_dbg: + +get_thread_qty(*args) -> 'int' + get_thread_qty() -> int + + + Get number of threads. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_trace_base_address in module ida_dbg: + +get_trace_base_address(*args) -> 'ea_t' + 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 + +Help on function get_trace_file_desc in module ida_dbg: + +get_trace_file_desc(*args) -> 'qstring *' + get_trace_file_desc(filename) -> str + + + Get the file header of the specified trace file. + + + @param filename (C++: const char *) + +Help on function get_trace_platform in module ida_dbg: + +get_trace_platform(*args) -> 'char const *' + get_trace_platform() -> char const * + + + Get platform name of current trace. + +Help on function getn_bpt in module ida_dbg: + +getn_bpt(*args) -> 'bool' + getn_bpt(n, bpt) -> bool + + + Get the characteristics of a breakpoint. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param n: number of breakpoint, is in range 0.. get_bpt_qty() -1 (C++: + int) + @param bpt: filled with the characteristics. (C++: bpt_t *) + @return: false if no breakpoint exists + +Help on function getn_thread in module ida_dbg: + +getn_thread(*args) -> 'thid_t' + getn_thread(n) -> thid_t + + + Get the ID of a thread. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: + int) + @return: NO_THREAD if the thread doesn't exist. + +Help on function getn_thread_name in module ida_dbg: + +getn_thread_name(*args) -> 'char const *' + getn_thread_name(n) -> char const * + + + Get the NAME of a thread \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 + for the current thread (C++: int) + @return: thread name or NULL if the thread doesn't exist. + +Help on function graph_trace in module ida_dbg: + +graph_trace(*args) -> 'bool' + graph_trace() -> bool + + + Show the trace callgraph. + +Help on function handle_debug_event in module ida_dbg: + +handle_debug_event(*args) -> 'int' + handle_debug_event(ev, rqflags) -> int + +Help on function hide_all_bpts in module ida_dbg: + +hide_all_bpts(*args) -> 'int' + hide_all_bpts() -> int + +Help on function internal_get_sreg_base in module ida_dbg: + +internal_get_sreg_base(*args) -> 'ea_t' + internal_get_sreg_base(tid, sreg_value) -> ea_t + + + Get the sreg base, for the given thread. + + @return: The sreg base, or BADADDR on failure. + +Help on function internal_ioctl in module ida_dbg: + +internal_ioctl(*args) -> 'int' + internal_ioctl(fn, buf, poutbuf, poutsize) -> int + +Help on function invalidate_dbg_state in module ida_dbg: + +invalidate_dbg_state(*args) -> 'int' + invalidate_dbg_state(dbginv) -> int + + + Invalidate cached debugger information. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + + @param dbginv: Debugged process invalidation options (C++: int) + @return: current debugger state (one of Debugged process states ) + +Help on function invalidate_dbgmem_config in module ida_dbg: + +invalidate_dbgmem_config(*args) -> 'void' + 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) + +Help on function invalidate_dbgmem_contents in module ida_dbg: + +invalidate_dbgmem_contents(*args) -> 'void' + 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) + +Help on function is_bblk_trace_enabled in module ida_dbg: + +is_bblk_trace_enabled(*args) -> 'bool' + is_bblk_trace_enabled() -> bool + +Help on function is_debugger_busy in module ida_dbg: + +is_debugger_busy(*args) -> 'bool' + 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 + +Help on function is_debugger_memory in module ida_dbg: + +is_debugger_memory(*args) -> 'bool' + is_debugger_memory(ea) -> bool + + + Is the address mapped to debugger memory? + + + @param ea (C++: ea_t) + +Help on function is_debugger_on in module ida_dbg: + +is_debugger_on(*args) -> 'bool' + is_debugger_on() -> bool + + + Is the debugger currently running? + +Help on function is_func_trace_enabled in module ida_dbg: + +is_func_trace_enabled(*args) -> 'bool' + is_func_trace_enabled() -> bool + + + Get current state of functions tracing. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + +Help on function is_insn_trace_enabled in module ida_dbg: + +is_insn_trace_enabled(*args) -> 'bool' + is_insn_trace_enabled() -> bool + + + Get current state of instructions tracing. \sq{Type, Synchronous + function, Notification, none (synchronous function)} + +Help on function is_reg_custom in module ida_dbg: + +is_reg_custom(*args) -> 'bool' + 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 *) + +Help on function is_reg_float in module ida_dbg: + +is_reg_float(*args) -> 'bool' + 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 *) + +Help on function is_reg_integer in module ida_dbg: + +is_reg_integer(*args) -> 'bool' + 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 *) + +Help on function is_request_running in module ida_dbg: + +is_request_running(*args) -> 'bool' + is_request_running() -> bool + + + Is a request currently running? + +Help on function is_step_trace_enabled in module ida_dbg: + +is_step_trace_enabled(*args) -> 'bool' + is_step_trace_enabled() -> bool + + + Get current state of step tracing. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function is_valid_trace_file in module ida_dbg: + +is_valid_trace_file(*args) -> 'bool' + is_valid_trace_file(filename) -> bool + + + Is the specified file a valid trace file for the current database? + + + @param filename (C++: const char *) + +Help on function list_bptgrps in module ida_dbg: + +list_bptgrps(*args) -> 'PyObject *' + list_bptgrps(bptgrps) -> size_t + list_bptgrps() -> PyObject * + +Help on function load_debugger in module ida_dbg: + +load_debugger(*args) -> 'bool' + load_debugger(dbgname, use_remote) -> bool + +Help on function load_trace_file in module ida_dbg: + +load_trace_file(*args) -> 'qstring *' + load_trace_file(filename) -> str + + + Load a recorded trace file in the trace 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 *) + +Help on class memreg_info_t in module ida_dbg: + +class memreg_info_t(builtins.object) + | Proxy of C++ memreg_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> memreg_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_memreg_info_t(...) + | delete_memreg_info_t(self) + | + | get_bytes(self, *args) -> 'PyObject *' + | get_bytes(self) -> PyObject * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bytes + | get_bytes(self) -> PyObject * + | + | ea + | memreg_info_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + +Help on class memreg_infos_t in module ida_dbg: + +class memreg_infos_t(builtins.object) + | Proxy of C++ qvector< memreg_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'memreg_info_t const &' + | __getitem__(self, i) -> memreg_info_t + | + | __init__(self, *args) + | __init__(self) -> memreg_infos_t + | __init__(self, x) -> memreg_infos_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_memreg_infos_t(...) + | delete_memreg_infos_t(self) + | + | at(self, *args) -> 'memreg_info_t const &' + | at(self, _idx) -> memreg_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< memreg_info_t >::const_iterator' + | begin(self) -> memreg_info_t + | begin(self) -> memreg_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< memreg_info_t >::const_iterator' + | end(self) -> memreg_info_t + | end(self) -> memreg_info_t + | + | erase(self, *args) -> 'qvector< memreg_info_t >::iterator' + | erase(self, it) -> memreg_info_t + | erase(self, first, last) -> memreg_info_t + | + | extract(self, *args) -> 'memreg_info_t *' + | extract(self) -> memreg_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=memreg_info_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< memreg_info_t >::iterator' + | insert(self, it, x) -> memreg_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'memreg_info_t &' + | push_back(self, x) + | push_back(self) -> memreg_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function move_bpt_to_grp in module ida_dbg: + +move_bpt_to_grp(*args) -> 'void' + move_bpt_to_grp(bpt, grp_name) + + + Sets new group for the breakpoint + +Help on function put_dbg_byte in module ida_dbg: + +put_dbg_byte(*args) -> 'bool' + put_dbg_byte(ea, x) -> bool + + + Change one byte of the debugged process memory. + + @param ea: linear address (C++: ea_t) + @param x: byte value (C++: uint32) + @return: true if the process memory has been modified + +Help on function read_dbg_memory in module ida_dbg: + +read_dbg_memory(*args) -> 'ssize_t' + read_dbg_memory(ea, buffer, size) -> ssize_t + +Help on function refresh_debugger_memory in module ida_dbg: + +refresh_debugger_memory(*args) -> 'PyObject *' + refresh_debugger_memory() -> PyObject * + + + Refreshes the debugger memory + @return: Nothing + +Help on function rename_bptgrp in module ida_dbg: + +rename_bptgrp(*args) -> 'bool' + rename_bptgrp(old_name, new_name) -> bool + +Help on function request_add_bpt in module ida_dbg: + +request_add_bpt(*args) -> 'bool' + request_add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + request_add_bpt(bpt) -> bool + + + Post an 'add_bpt(ea_t, asize_t, bpttype_t)' request. + + + @param ea (C++: ea_t) + @param size (C++: asize_t) + @param type (C++: bpttype_t) + +Help on function request_attach_process in module ida_dbg: + +request_attach_process(*args) -> 'int' + request_attach_process(pid, event_id) -> int + + + Post an 'attach_process()' request. + + + @param pid (C++: pid_t) + @param event_id (C++: int) + +Help on function request_clear_trace in module ida_dbg: + +request_clear_trace(*args) -> 'void' + request_clear_trace() + + + Post a 'clear_trace()' request. + +Help on function request_continue_process in module ida_dbg: + +request_continue_process(*args) -> 'bool' + request_continue_process() -> bool + + + Post a 'continue_process()' request.This requires an explicit call to + 'run_requests()' + +Help on function request_del_bpt in module ida_dbg: + +request_del_bpt(*args) -> 'bool' + request_del_bpt(ea) -> bool + request_del_bpt(bptloc) -> bool + + + Post a 'del_bpt(ea_t)' request. + + + @param ea (C++: ea_t) + +Help on function request_detach_process in module ida_dbg: + +request_detach_process(*args) -> 'bool' + request_detach_process() -> bool + + + Post a 'detach_process()' request. + +Help on function request_disable_bblk_trace in module ida_dbg: + +request_disable_bblk_trace(*args) -> 'bool' + request_disable_bblk_trace() -> bool + +Help on function request_disable_bpt in module ida_dbg: + +request_disable_bpt(*args) -> 'bool' + request_disable_bpt(ea) -> bool + request_disable_bpt(bptloc) -> bool + +Help on function request_disable_func_trace in module ida_dbg: + +request_disable_func_trace(*args) -> 'bool' + request_disable_func_trace() -> bool + +Help on function request_disable_insn_trace in module ida_dbg: + +request_disable_insn_trace(*args) -> 'bool' + request_disable_insn_trace() -> bool + +Help on function request_disable_step_trace in module ida_dbg: + +request_disable_step_trace(*args) -> 'bool' + request_disable_step_trace() -> bool + +Help on function request_enable_bblk_trace in module ida_dbg: + +request_enable_bblk_trace(*args) -> 'bool' + request_enable_bblk_trace(enable=True) -> bool + +Help on function request_enable_bpt in module ida_dbg: + +request_enable_bpt(*args) -> 'bool' + request_enable_bpt(ea, enable=True) -> bool + request_enable_bpt(bptloc, enable=True) -> bool + +Help on function request_enable_func_trace in module ida_dbg: + +request_enable_func_trace(*args) -> 'bool' + request_enable_func_trace(enable=True) -> bool + +Help on function request_enable_insn_trace in module ida_dbg: + +request_enable_insn_trace(*args) -> 'bool' + request_enable_insn_trace(enable=True) -> bool + +Help on function request_enable_step_trace in module ida_dbg: + +request_enable_step_trace(*args) -> 'bool' + request_enable_step_trace(enable=True) -> bool + +Help on function request_exit_process in module ida_dbg: + +request_exit_process(*args) -> 'bool' + request_exit_process() -> bool + + + Post an 'exit_process()' request. + +Help on function request_resume_thread in module ida_dbg: + +request_resume_thread(*args) -> 'int' + request_resume_thread(tid) -> int + + + Post a 'resume_thread()' request. + + + @param tid (C++: thid_t) + +Help on function request_run_to in module ida_dbg: + +request_run_to(*args) -> 'bool' + 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) + @param tid (C++: thid_t) + +Help on function request_select_thread in module ida_dbg: + +request_select_thread(*args) -> 'bool' + request_select_thread(tid) -> bool + + + Post a 'select_thread()' request. + + + @param tid (C++: thid_t) + +Help on function request_set_bblk_trace_options in module ida_dbg: + +request_set_bblk_trace_options(*args) -> 'void' + request_set_bblk_trace_options(options) + + + Post a 'set_bblk_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_func_trace_options in module ida_dbg: + +request_set_func_trace_options(*args) -> 'void' + request_set_func_trace_options(options) + + + Post a 'set_func_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_insn_trace_options in module ida_dbg: + +request_set_insn_trace_options(*args) -> 'void' + request_set_insn_trace_options(options) + + + Post a 'set_insn_trace_options()' request. + + + @param options (C++: int) + +Help on function request_set_reg_val in module ida_dbg: + +request_set_reg_val(*args) -> 'PyObject *' + request_set_reg_val(regname, o) -> PyObject * + + + Post a 'set_reg_val()' request. + + + @param regname (C++: const char *) + +Help on function request_set_resume_mode in module ida_dbg: + +request_set_resume_mode(*args) -> 'bool' + request_set_resume_mode(tid, mode) -> bool + + + Post a 'set_resume_mode()' request. + + + @param tid (C++: thid_t) + @param mode (C++: resume_mode_t) + +Help on function request_set_step_trace_options in module ida_dbg: + +request_set_step_trace_options(*args) -> 'void' + request_set_step_trace_options(options) + + + Post a 'set_step_trace_options()' request. + + + @param options (C++: int) + +Help on function request_start_process in module ida_dbg: + +request_start_process(*args) -> 'int' + request_start_process(path=None, args=None, sdir=None) -> int + + + Post a 'start_process()' request. + + + @param path (C++: const char *) + @param args (C++: const char *) + @param sdir (C++: const char *) + +Help on function request_step_into in module ida_dbg: + +request_step_into(*args) -> 'bool' + request_step_into() -> bool + + + Post a 'step_into()' request. + +Help on function request_step_over in module ida_dbg: + +request_step_over(*args) -> 'bool' + request_step_over() -> bool + + + Post a 'step_over()' request. + +Help on function request_step_until_ret in module ida_dbg: + +request_step_until_ret(*args) -> 'bool' + request_step_until_ret() -> bool + + + Post a 'step_until_ret()' request. + +Help on function request_suspend_process in module ida_dbg: + +request_suspend_process(*args) -> 'bool' + request_suspend_process() -> bool + + + Post a 'suspend_process()' request. + +Help on function request_suspend_thread in module ida_dbg: + +request_suspend_thread(*args) -> 'int' + request_suspend_thread(tid) -> int + + + Post a 'suspend_thread()' request. + + + @param tid (C++: thid_t) + +Help on function resume_thread in module ida_dbg: + +resume_thread(*args) -> 'int' + resume_thread(tid) -> int + + + Resume thread. \sq{Type, Synchronous function - available as request, + Notification, none (synchronous function)} + + @param tid: thread id (C++: thid_t) + +Help on function retrieve_exceptions in module ida_dbg: + +retrieve_exceptions(*args) -> 'excvec_t *' + 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 + +Help on function run_requests in module ida_dbg: + +run_requests(*args) -> 'bool' + run_requests() -> bool + + + Execute requests until all requests are processed or an asynchronous + function is called. \sq{Type, Synchronous function, Notification, none + (synchronous function)}If called from a notification handler, the + execution of requests will be postponed to the end of the execution of + all notification handlers. + + @return: false if not all requests could be processed (indicates an + asynchronous function was started) + +Help on function run_to in module ida_dbg: + +run_to(*args) -> 'bool' + 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: target address (C++: ea_t) + @param pid: not used yet. please do not specify this parameter. (C++: + pid_t) + @param tid: not used yet. please do not specify this parameter. (C++: + thid_t) + +Help on function save_trace_file in module ida_dbg: + +save_trace_file(*args) -> 'bool' + save_trace_file(filename, description) -> bool + + + Save the current trace in the specified file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function select_thread in module ida_dbg: + +select_thread(*args) -> 'bool' + 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: ID of the thread to select (C++: thid_t) + @return: false if the thread doesn't exist. + +Help on function send_dbg_command in module ida_dbg: + +send_dbg_command(command) + 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 + +Help on function set_bblk_trace_options in module ida_dbg: + +set_bblk_trace_options(*args) -> 'void' + set_bblk_trace_options(options) + + + Modify basic block tracing options (see 'BT_LOG_INSTS' ) + + + @param options (C++: int) + +Help on function set_bpt_group in module ida_dbg: + +set_bpt_group(*args) -> 'void' + set_bpt_group(bpt, grp_name) + +Help on function set_bptloc_group in module ida_dbg: + +set_bptloc_group(*args) -> 'bool' + set_bptloc_group(bptloc, grp_name) -> bool + +Help on function set_bptloc_string in module ida_dbg: + +set_bptloc_string(*args) -> 'int' + set_bptloc_string(s) -> int + + + Helper function for 'bpt_location_t' . + + + @param s (C++: const char *) + +Help on function set_debugger_event_cond in module ida_dbg: + +set_debugger_event_cond(*args) -> 'void' + set_debugger_event_cond(nonnul_cond) + +Help on function set_debugger_options in module ida_dbg: + +set_debugger_options(*args) -> 'uint' + 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 + +Help on function set_func_trace_options in module ida_dbg: + +set_func_trace_options(*args) -> 'void' + set_func_trace_options(options) + + + Modify function tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_highlight_trace_options in module ida_dbg: + +set_highlight_trace_options(*args) -> 'void' + 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) + +Help on function set_insn_trace_options in module ida_dbg: + +set_insn_trace_options(*args) -> 'void' + set_insn_trace_options(options) + + + Modify instruction tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_manual_regions in module ida_dbg: + +set_manual_regions(*args) -> 'void' + set_manual_regions(ranges) + +Help on function set_process_options in module ida_dbg: + +set_process_options(*args) -> 'void' + set_process_options(path, args, sdir, host, _pass, port) + + + Set process options. Any of the arguments may be NULL, which means 'do + not modify' + + @param path (C++: const char *) + @param args (C++: const char *) + @param sdir (C++: const char *) + @param host (C++: const char *) + @param port (C++: int) + +Help on function set_process_state in module ida_dbg: + +set_process_state(*args) -> 'int' + 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: new process state (one of Debugged process states ) + if DSTATE_NOTASK is passed then the state is not + changed (C++: int) + @param p_thid: ptr to new thread id. may be NULL or pointer to + NO_THREAD . the pointed variable will contain the old + thread id upon return (C++: thid_t *) + @param dbginv: Debugged process invalidation options (C++: int) + @return: old debugger state (one of Debugged process states ) + +Help on function set_reg_val in module ida_dbg: + +set_reg_val(*args) -> 'PyObject *' + set_reg_val(regname, o) -> PyObject + set_reg_val(tid, regidx, o) -> PyObject * + + + Write a register value to the current thread. \sq{Type, Synchronous + function - available as Request, Notification, none (synchronous + function)} + + @param regname (C++: const char *) + +Help on function set_remote_debugger in module ida_dbg: + +set_remote_debugger(*args) -> 'void' + set_remote_debugger(host, _pass, port=-1) + + + Set remote debugging options. Should be used before starting the + debugger. + + @param host: If empty, IDA will use local debugger. If NULL, the host + will not be set. (C++: const char *) + @param port: If -1, the default port number will be used (C++: int) + +Help on function set_resume_mode in module ida_dbg: + +set_resume_mode(*args) -> 'bool' + 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) + +Help on function set_step_trace_options in module ida_dbg: + +set_step_trace_options(*args) -> 'void' + set_step_trace_options(options) + + + Modify step tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function set_trace_base_address in module ida_dbg: + +set_trace_base_address(*args) -> 'void' + 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) + +Help on function set_trace_file_desc in module ida_dbg: + +set_trace_file_desc(*args) -> 'bool' + set_trace_file_desc(filename, description) -> bool + + + Change the description of the specified trace file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function set_trace_platform in module ida_dbg: + +set_trace_platform(*args) -> 'void' + set_trace_platform(platform) + + + Set platform name of current trace. + + + @param platform (C++: const char *) + +Help on function set_trace_size in module ida_dbg: + +set_trace_size(*args) -> 'bool' + set_trace_size(size) -> bool + + + Specify the new size of the circular buffer. \sq{Type, Synchronous + function, Notification, none (synchronous function)}If you specify 0, + all available memory can be quickly used !!! + + @param size: 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. (C++: int) + +Help on function srcdbg_request_step_into in module ida_dbg: + +srcdbg_request_step_into(*args) -> 'bool' + srcdbg_request_step_into() -> bool + +Help on function srcdbg_request_step_over in module ida_dbg: + +srcdbg_request_step_over(*args) -> 'bool' + srcdbg_request_step_over() -> bool + +Help on function srcdbg_request_step_until_ret in module ida_dbg: + +srcdbg_request_step_until_ret(*args) -> 'bool' + srcdbg_request_step_until_ret() -> bool + +Help on function srcdbg_step_into in module ida_dbg: + +srcdbg_step_into(*args) -> 'bool' + srcdbg_step_into() -> bool + +Help on function srcdbg_step_over in module ida_dbg: + +srcdbg_step_over(*args) -> 'bool' + srcdbg_step_over() -> bool + +Help on function srcdbg_step_until_ret in module ida_dbg: + +srcdbg_step_until_ret(*args) -> 'bool' + srcdbg_step_until_ret() -> bool + +Help on function start_process in module ida_dbg: + +start_process(*args) -> 'int' + 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' }You can also + use the 'run_to()' function to easily start the execution of a process + until a given address is reached.For all parameters, a NULL value + indicates the debugger will take the value from the defined Process + Options. + + @param path: path to the executable to start (C++: const char *) + @param args: arguments to pass to process (C++: const char *) + @param sdir: starting directory for the process (C++: const char *) + +Help on function step_into in module ida_dbg: + +step_into(*args) -> 'bool' + 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' } + +Help on function step_over in module ida_dbg: + +step_over(*args) -> 'bool' + 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' } + +Help on function step_until_ret in module ida_dbg: + +step_until_ret(*args) -> 'bool' + 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' } + +Help on function store_exceptions in module ida_dbg: + +store_exceptions(*args) -> 'bool' + store_exceptions() -> bool + + + Update the exception information stored in the debugger module by + invoking its dbg->set_exception_info callback + +Help on function suspend_process in module ida_dbg: + +suspend_process(*args) -> 'bool' + 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) }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. + +Help on function suspend_thread in module ida_dbg: + +suspend_thread(*args) -> 'int' + 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: thread id (C++: thid_t) + +Help on class tev_info_reg_t in module ida_dbg: + +class tev_info_reg_t(builtins.object) + | Proxy of C++ tev_info_reg_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tev_info_reg_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_tev_info_reg_t(...) + | delete_tev_info_reg_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | info + | tev_info_reg_t_info_get(self) -> tev_info_t + | + | registers + | tev_info_reg_t_registers_get(self) -> tev_reg_values_t + | + | thisown + | The membership flag + +Help on class tev_info_t in module ida_dbg: + +class tev_info_t(builtins.object) + | Proxy of C++ tev_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tev_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_tev_info_t(...) + | delete_tev_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | tev_info_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | tid + | tev_info_t_tid_get(self) -> thid_t + | + | type + | tev_info_t_type_get(self) -> tev_type_t + +Help on class tev_reg_value_t in module ida_dbg: + +class tev_reg_value_t(builtins.object) + | Proxy of C++ tev_reg_value_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _reg_idx=-1, _value=uint64(-1)) -> tev_reg_value_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_tev_reg_value_t(...) + | delete_tev_reg_value_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | reg_idx + | tev_reg_value_t_reg_idx_get(self) -> int + | + | thisown + | The membership flag + | + | value + | tev_reg_value_t_value_get(self) -> regval_t + +Help on class tev_reg_values_t in module ida_dbg: + +class tev_reg_values_t(builtins.object) + | Proxy of C++ qvector< tev_reg_value_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'tev_reg_value_t const &' + | __getitem__(self, i) -> tev_reg_value_t + | + | __init__(self, *args) + | __init__(self) -> tev_reg_values_t + | __init__(self, x) -> tev_reg_values_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_tev_reg_values_t(...) + | delete_tev_reg_values_t(self) + | + | at(self, *args) -> 'tev_reg_value_t const &' + | at(self, _idx) -> tev_reg_value_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< tev_reg_value_t >::const_iterator' + | begin(self) -> tev_reg_value_t + | begin(self) -> tev_reg_value_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< tev_reg_value_t >::const_iterator' + | end(self) -> tev_reg_value_t + | end(self) -> tev_reg_value_t + | + | erase(self, *args) -> 'qvector< tev_reg_value_t >::iterator' + | erase(self, it) -> tev_reg_value_t + | erase(self, first, last) -> tev_reg_value_t + | + | extract(self, *args) -> 'tev_reg_value_t *' + | extract(self) -> tev_reg_value_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=tev_reg_value_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< tev_reg_value_t >::iterator' + | insert(self, it, x) -> tev_reg_value_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'tev_reg_value_t &' + | push_back(self, x) + | push_back(self) -> tev_reg_value_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class tevinforeg_vec_t in module ida_dbg: + +class tevinforeg_vec_t(builtins.object) + | Proxy of C++ qvector< tev_info_reg_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'tev_info_reg_t const &' + | __getitem__(self, i) -> tev_info_reg_t + | + | __init__(self, *args) + | __init__(self) -> tevinforeg_vec_t + | __init__(self, x) -> tevinforeg_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_tevinforeg_vec_t(...) + | delete_tevinforeg_vec_t(self) + | + | at(self, *args) -> 'tev_info_reg_t const &' + | at(self, _idx) -> tev_info_reg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< tev_info_reg_t >::const_iterator' + | begin(self) -> tev_info_reg_t + | begin(self) -> tev_info_reg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< tev_info_reg_t >::const_iterator' + | end(self) -> tev_info_reg_t + | end(self) -> tev_info_reg_t + | + | erase(self, *args) -> 'qvector< tev_info_reg_t >::iterator' + | erase(self, it) -> tev_info_reg_t + | erase(self, first, last) -> tev_info_reg_t + | + | extract(self, *args) -> 'tev_info_reg_t *' + | extract(self) -> tev_info_reg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=tev_info_reg_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< tev_info_reg_t >::iterator' + | insert(self, it, x) -> tev_info_reg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'tev_info_reg_t &' + | push_back(self, x) + | push_back(self) -> tev_info_reg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function update_bpt in module ida_dbg: + +update_bpt(*args) -> 'bool' + 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)}Only the following + fields can be modified: 'bpt_t::cndbody' 'bpt_t::pass_count' + 'bpt_t::flags' 'bpt_t::size' 'bpt_t::type' 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 *) + +Help on function wait_for_next_event in module ida_dbg: + +wait_for_next_event(*args) -> 'dbg_event_code_t' + 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: combination of Wait for debugger event flags constants + (C++: int) + @param timeout: number of seconds to wait, -1-infinity (C++: int) + @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= + 0) + +Help on function write_dbg_memory in module ida_dbg: + +write_dbg_memory(*args) -> 'ssize_t' + write_dbg_memory(ea, py_buf, size=size_t(-1)) -> ssize_t + +=== ida_dbg EPYDOC INJECTIONS === +ida_dbg.BKPT_ACTIVE +""" +active? +""" + +ida_dbg.BKPT_BADBPT +""" +failed to write the bpt to the process memory (at least one location) +""" + +ida_dbg.BKPT_CNDREADY +""" +condition has been compiled +""" + +ida_dbg.BKPT_FAKEPEND +""" +bpt of the same type is active at the same address(es) + +fake pending bpt: it is inactive but another +""" + +ida_dbg.BKPT_LISTBPT +""" +include in bpt list (user-defined bpt) +""" + +ida_dbg.BKPT_PAGE +""" +only after writing the bpt to the process. + +written to the process as a page bpt. is available +""" + +ida_dbg.BKPT_PARTIAL +""" +partially active? (some locations were not written yet) +""" + +ida_dbg.BKPT_TRACE +""" +trace bpt; should not be deleted when the process gets suspended +""" + +ida_dbg.BPTCK_ACT +""" +breakpoint is active (written to the process) +""" + +ida_dbg.BPTCK_NO +""" +breakpoint is disabled +""" + +ida_dbg.BPTCK_NONE +""" +breakpoint does not exist +""" + +ida_dbg.BPTCK_YES +""" +breakpoint is enabled +""" + +ida_dbg.BPTEV_ADDED +""" +Breakpoint has been added. +""" + +ida_dbg.BPTEV_CHANGED +""" +Breakpoint has been modified. +""" + +ida_dbg.BPTEV_REMOVED +""" +Breakpoint has been removed. +""" + +ida_dbg.BPT_BRK +""" +suspend execution upon hit +""" + +ida_dbg.BPT_ELANG_SHIFT +""" +index of the extlang (scripting language) of the condition +""" + +ida_dbg.BPT_ENABLED +""" +enabled? +""" + +ida_dbg.BPT_LOWCND +""" +condition is calculated at low level (on the server side) +""" + +ida_dbg.BPT_TRACE +""" +add trace information upon hit +""" + +ida_dbg.BPT_TRACEON +""" +enable tracing when the breakpoint is reached +""" + +ida_dbg.BPT_TRACE_BBLK +""" +basic block tracing +""" + +ida_dbg.BPT_TRACE_FUNC +""" +function tracing +""" + +ida_dbg.BPT_TRACE_INSN +""" +instruction tracing +""" + +ida_dbg.BPT_TRACE_TYPES +""" +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 +""" + +ida_dbg.BPT_UPDMEM +""" +refresh the memory layout and contents before evaluating bpt condition +""" + +ida_dbg.BT_LOG_INSTS +""" +log all instructions in the current basic block +""" + +ida_dbg.DBGINV_ALL +""" +invalidate everything +""" + +ida_dbg.DBGINV_MEMCFG +""" +invalidate cached process segmentation +""" + +ida_dbg.DBGINV_MEMORY +""" +invalidate cached memory contents +""" + +ida_dbg.DBGINV_NONE +""" +invalidate nothing +""" + +ida_dbg.DBGINV_REDRAW +""" +refresh the screen +""" + +ida_dbg.DBGINV_REGS +""" +invalidate cached register values +""" + +ida_dbg.DOPT_BPT_MSGS +""" +log breakpoints +""" + +ida_dbg.DOPT_END_BPT +""" +evaluate event condition on process end +""" + +ida_dbg.DOPT_ENTRY_BPT +""" +break on program entry point +""" + +ida_dbg.DOPT_EXCDLG +""" +exception dialogs: +""" + +ida_dbg.DOPT_INFO_BPT +""" +break on debugging information +""" + +ida_dbg.DOPT_INFO_MSGS +""" +log debugging info events +""" + +ida_dbg.DOPT_LIB_BPT +""" +break on library load/unload +""" + +ida_dbg.DOPT_LIB_MSGS +""" +log library loads/unloads +""" + +ida_dbg.DOPT_LOAD_DINFO +""" +automatically load debug files (pdb) +""" + +ida_dbg.DOPT_REAL_MEMORY +""" +do not hide breakpoint instructions +""" + +ida_dbg.DOPT_REDO_STACK +""" +reconstruct the stack +""" + +ida_dbg.DOPT_SEGM_MSGS +""" +log debugger segments modifications +""" + +ida_dbg.DOPT_START_BPT +""" +break on process start +""" + +ida_dbg.DOPT_TEMP_HWBPT +""" +when possible use hardware bpts for temp bpts +""" + +ida_dbg.DOPT_THREAD_BPT +""" +break on thread start/exit +""" + +ida_dbg.DOPT_THREAD_MSGS +""" +log thread starts/exits +""" + +ida_dbg.DSTATE_NOTASK +""" +no process is currently debugged +""" + +ida_dbg.DSTATE_RUN +""" +process is running +""" + +ida_dbg.DSTATE_SUSP +""" +process is suspended and will not continue +""" + +ida_dbg.EXCDLG_ALWAYS +""" +always display +""" + +ida_dbg.EXCDLG_NEVER +""" +never display exception dialogs +""" + +ida_dbg.EXCDLG_UNKNOWN +""" +display for unknown exceptions +""" + +ida_dbg.FT_LOG_RET +""" +function tracing will log returning instructions +""" + +ida_dbg.IT_LOG_SAME_IP +""" +instruction tracing will log instructions whose IP doesn't change +""" + +ida_dbg.ST_ALREADY_LOGGED +""" +step tracing will be disabled when IP is already logged +""" + +ida_dbg.ST_DIFFERENTIAL +""" +tracing: log only new instructions +""" + +ida_dbg.ST_OPTIONS_MASK +""" +mask of available options, to ensure compatibility with newer IDA +versions +""" + +ida_dbg.ST_OVER_DEBUG_SEG +""" +step tracing will be disabled when IP is in a debugger segment +""" + +ida_dbg.ST_OVER_LIB_FUNC +""" +step tracing will be disabled when IP is in a library function +""" + +ida_dbg.ST_SKIP_LOOPS +""" +step tracing will try to skip loops already recorded +""" + +ida_dbg.WFNE_ANY +""" +return the first event (even if it doesn't suspend the process) +""" + +ida_dbg.WFNE_CONT +""" +continue from the suspended state +""" + +ida_dbg.WFNE_NOWAIT +""" +(to be used with 'WFNE_CONT' ) + +do not wait for any event, immediately return 'DEC_TIMEOUT' +""" + +ida_dbg.WFNE_SILENT +""" +1: be slient, 0:display modal boxes if necessary +""" + +ida_dbg.WFNE_SUSP +""" +wait until the process gets suspended +""" + +ida_dbg.WFNE_USEC +""" +(minimum non-zero timeout is 40000us) + +timeout is specified in microseconds +""" +=== ida_dbg EPYDOC INJECTIONS END === +Help on function close_linput in module ida_diskio: + +close_linput(*args) -> 'void' + close_linput(li) + + + Close loader input. + + + @param li (C++: linput_t *) + +Help on function create_bytearray_linput in module ida_diskio: + +create_bytearray_linput(*args) -> 'linput_t *' + create_bytearray_linput(s) -> linput_t * + + + Trivial memory linput. + +Help on function create_generic_linput in module ida_diskio: + +create_generic_linput(*args) -> 'linput_t *' + create_generic_linput(gl) -> linput_t * + + + Create a generic linput + + @param gl: linput description. this object will be destroyed by + close_linput() using "delete gl;" (C++: generic_linput_t + *) + +Help on function create_memory_linput in module ida_diskio: + +create_memory_linput(*args) -> 'linput_t *' + 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: starting address of the input (C++: ea_t) + @param size: size of the memory area to represent as linput if + unknown, may be passed as 0 (C++: asize_t) + +Help on function eclose in module ida_diskio: + +eclose(*args) -> 'void' + eclose(fp) + +Help on function enumerate_files in module ida_diskio: + +enumerate_files(*args) -> 'PyObject *' + 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 + +Help on function fopenA in module ida_diskio: + +fopenA(*args) -> 'FILE *' + fopenA(file) -> FILE * + + + Open a file for append in text mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenM in module ida_diskio: + +fopenM(*args) -> 'FILE *' + fopenM(file) -> FILE * + + + Open a file for read/write in binary mode, deny write. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenRB in module ida_diskio: + +fopenRB(*args) -> 'FILE *' + fopenRB(file) -> FILE * + + + Open a file for read in binary mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenRT in module ida_diskio: + +fopenRT(*args) -> 'FILE *' + fopenRT(file) -> FILE * + + + Open a file for read in text mode, deny none. + + @param file (C++: const char *) + @return: NULL if failure + +Help on function fopenWB in module ida_diskio: + +fopenWB(*args) -> 'FILE *' + 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 *) + @return: NULL if failure + +Help on function fopenWT in module ida_diskio: + +fopenWT(*args) -> 'FILE *' + 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 *) + @return: NULL if failure + +Help on class generic_linput_t in module ida_diskio: + +class generic_linput_t(builtins.object) + | Proxy of C++ generic_linput_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_generic_linput_t(...) + | delete_generic_linput_t(self) + | + | read(self, *args) -> 'ssize_t' + | read(self, off, buffer, nbytes) -> ssize_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blocksize + | generic_linput_t_blocksize_get(self) -> uint32 + | + | filesize + | generic_linput_t_filesize_get(self) -> uint64 + | + | thisown + | The membership flag + +Help on function get_ida_subdirs in module ida_diskio: + +get_ida_subdirs(*args) -> 'qstrvec_t *' + 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: name of the resource to list (C++: const char *) + @param flags: Subdirectory modification flags bits (C++: int) + @return: number of directories appended to 'dirs' + +Help on function get_linput_type in module ida_diskio: + +get_linput_type(*args) -> 'linput_type_t' + get_linput_type(li) -> linput_type_t + + + Get linput type. + + + @param li (C++: linput_t *) + +Help on function get_special_folder in module ida_diskio: + +get_special_folder(*args) -> 'size_t' + 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) + +Help on function get_user_idadir in module ida_diskio: + +get_user_idadir(*args) -> 'char const *' + 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) + +Help on function getsysfile in module ida_diskio: + +getsysfile(*args) -> 'char const *' + getsysfile(filename, subdir) -> str + + + Search for IDA system file. This function searches for a file in:each + directory specified by IDAUSR%ida directory [+ subdir] and returns the + first match. + + @param filename (C++: const char *) + @param subdir (C++: const char *) + @return: NULL if not found, otherwise a pointer to full file name. + +Help on function idadir in module ida_diskio: + +idadir(*args) -> 'char const *' + idadir(subdir) -> char const * + + + Get IDA directory (if subdir==NULL) or the specified subdirectory (see + 'IDA subdirectories' ) + + @param subdir (C++: const char *) + +Help on function open_linput in module ida_diskio: + +open_linput(*args) -> 'linput_t *' + open_linput(file, remote) -> linput_t * + + + Open loader input. + + + @param file (C++: const char *) + @param remote (C++: bool) + +Help on function qlgetz in module ida_diskio: + +qlgetz(*args) -> 'size_t' + 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) + +=== ida_diskio EPYDOC INJECTIONS === +ida_diskio.IDA_SUBDIR_IDADIR_FIRST +""" +$IDADIR/subdir will be first, not last +""" + +ida_diskio.IDA_SUBDIR_IDP +""" +append the processor name as a subdirectory +""" + +ida_diskio.IDA_SUBDIR_ONLY_EXISTING +""" +only existing directories will be present +""" +=== ida_diskio EPYDOC INJECTIONS END === +Help on function add_entry in module ida_entry: + +add_entry(*args) -> 'bool' + add_entry(ord, ea, name, makecode, flags=0) -> bool + + + Add an entry point to the list of entry points. + + @param ord: ordinal number if ordinal number is equal to 'ea' then + ordinal is not used (C++: uval_t) + @param ea: linear address (C++: ea_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to the regular + comment. If name == NULL, then the old name will be + retained. (C++: const char *) + @param makecode: should the kernel convert bytes at the entry point to + instruction(s) (C++: bool) + @param flags: See AEF_* (C++: int) + @return: success (currently always true) + +Help on function get_entry in module ida_entry: + +get_entry(*args) -> 'ea_t' + get_entry(ord) -> ea_t + + + Get entry point address by its ordinal + + @param ord: ordinal number of entry point (C++: uval_t) + @return: address or BADADDR + +Help on function get_entry_forwarder in module ida_entry: + +get_entry_forwarder(*args) -> 'qstring *' + get_entry_forwarder(ord) -> str + + + Get forwarder name for the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry forwarder name or -1 + +Help on function get_entry_name in module ida_entry: + +get_entry_name(*args) -> 'qstring *' + get_entry_name(ord) -> str + + + Get name of the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry name or -1 + +Help on function get_entry_ordinal in module ida_entry: + +get_entry_ordinal(*args) -> 'uval_t' + get_entry_ordinal(idx) -> uval_t + + + Get ordinal number of an entry point. + + @param idx: internal number of entry point. Should be in the range 0.. + get_entry_qty() -1 (C++: size_t) + @return: ordinal number or 0. + +Help on function get_entry_qty in module ida_entry: + +get_entry_qty(*args) -> 'size_t' + get_entry_qty() -> size_t + + + Get number of entry points. + +Help on function rename_entry in module ida_entry: + +rename_entry(*args) -> 'bool' + rename_entry(ord, name, flags=0) -> bool + + + Rename entry point. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to a repeatable + comment. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +Help on function set_entry_forwarder in module ida_entry: + +set_entry_forwarder(*args) -> 'bool' + set_entry_forwarder(ord, name, flags=0) -> bool + + + Set forwarder name for ordinal. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: forwarder name for entry point. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +=== ida_entry EPYDOC INJECTIONS === +ida_entry.AEF_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly Specifying AEF_IDBENC also implies AEF_NODUMMY +""" + +ida_entry.AEF_NODUMMY +""" +it begins with a dummy suffix. See also AEF_IDBENC + +automatically prepend the name with '_' if +""" + +ida_entry.AEF_UTF8 +""" +the name is given in UTF-8 (default) +""" +=== ida_entry EPYDOC INJECTIONS END === +Help on function add_enum in module ida_enum: + +add_enum(*args) -> 'enum_t' + add_enum(idx, name, flag) -> enum_t + + + Add new enum type.if idx== 'BADADDR' then add as the last idxif + name==NULL then generate a unique name "enum_%d" + + @param idx (C++: size_t) + @param name (C++: const char *) + @param flag (C++: flags_t) + +Help on function add_enum_member in module ida_enum: + +add_enum_member(*args) -> 'int' + add_enum_member(id, name, value, bmask=(bmask_t(-1))) -> int + + + Add member to enum type. + + @param id (C++: enum_t) + @param name (C++: const char *) + @param value (C++: uval_t) + @param bmask (C++: bmask_t) + @return: 0 if ok, otherwise one of Add enum member result codes + +Help on function del_enum in module ida_enum: + +del_enum(*args) -> 'void' + del_enum(id) + + + Delete an enum type. + + + @param id (C++: enum_t) + +Help on function del_enum_member in module ida_enum: + +del_enum_member(*args) -> 'bool' + del_enum_member(id, value, serial, bmask) -> bool + + + Delete member of enum type. + + + @param id (C++: enum_t) + @param value (C++: uval_t) + @param serial (C++: uchar) + @param bmask (C++: bmask_t) + +Help on class enum_member_visitor_t in module ida_enum: + +class enum_member_visitor_t(builtins.object) + | Proxy of C++ enum_member_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> enum_member_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_enum_member_visitor_t(...) + | delete_enum_member_visitor_t(self) + | + | visit_enum_member(self, *args) -> 'int' + | visit_enum_member(self, cid, value) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function for_all_enum_members in module ida_enum: + +for_all_enum_members(*args) -> 'int' + for_all_enum_members(id, cv) -> int + + + Visit all members of a given enum. + + + @param id (C++: enum_t) + @param cv (C++: enum_member_visitor_t &) + +Help on function get_bmask_cmt in module ida_enum: + +get_bmask_cmt(*args) -> 'qstring *' + get_bmask_cmt(id, bmask, repeatable) -> str + +Help on function get_bmask_name in module ida_enum: + +get_bmask_name(*args) -> 'qstring *' + get_bmask_name(id, bmask) -> str + +Help on function get_enum in module ida_enum: + +get_enum(*args) -> 'enum_t' + get_enum(name) -> enum_t + + + Get enum by name. + + + @param name (C++: const char *) + +Help on function get_enum_cmt in module ida_enum: + +get_enum_cmt(*args) -> 'qstring *' + get_enum_cmt(id, repeatable) -> str + + + Get enum comment. + + + @param id (C++: enum_t) + @param repeatable (C++: bool) + +Help on function get_enum_flag in module ida_enum: + +get_enum_flag(*args) -> 'flags_t' + get_enum_flag(id) -> flags_t + + + Get flags determining the representation of the enum. (currently they + define the numeric base: octal, decimal, hex, bin) and signness. + + @param id (C++: enum_t) + +Help on function get_enum_idx in module ida_enum: + +get_enum_idx(*args) -> 'uval_t' + get_enum_idx(id) -> uval_t + + + Get serial number of enum. The serial number determines the place of + the enum in the enum window. + + @param id (C++: enum_t) + +Help on function get_enum_member in module ida_enum: + +get_enum_member(*args) -> 'const_t' + get_enum_member(id, value, serial, mask) -> const_t + + + Find an enum member by enum, value and bitmaskif serial -1, return a + member with any serial + + @param id (C++: enum_t) + @param value (C++: uval_t) + @param serial (C++: int) + @param mask (C++: bmask_t) + +Help on function get_enum_member_bmask in module ida_enum: + +get_enum_member_bmask(*args) -> 'bmask_t' + get_enum_member_bmask(id) -> bmask_t + + + Get bitmask of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_by_name in module ida_enum: + +get_enum_member_by_name(*args) -> 'const_t' + get_enum_member_by_name(name) -> const_t + + + Get a reference to an enum member by its name. + + + @param name (C++: const char *) + +Help on function get_enum_member_cmt in module ida_enum: + +get_enum_member_cmt(*args) -> 'qstring *' + get_enum_member_cmt(id, repeatable) -> str + + + Get enum member's comment. + + + @param id (C++: const_t) + @param repeatable (C++: bool) + +Help on function get_enum_member_enum in module ida_enum: + +get_enum_member_enum(*args) -> 'enum_t' + get_enum_member_enum(id) -> enum_t + + + Get the parent enum of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_name in module ida_enum: + +get_enum_member_name(*args) -> 'qstring *' + get_enum_member_name(id) -> str + + + Get name of an enum member by const_t. + + + @param id (C++: const_t) + +Help on function get_enum_member_serial in module ida_enum: + +get_enum_member_serial(*args) -> 'uchar' + get_enum_member_serial(cid) -> uchar + + + Get serial number of an enum member. + + + @param cid (C++: const_t) + +Help on function get_enum_member_value in module ida_enum: + +get_enum_member_value(*args) -> 'uval_t' + get_enum_member_value(id) -> uval_t + + + Get value of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_name in module ida_enum: + +get_enum_name(*args) -> 'qstring *' + get_enum_name(id) -> str + + + Get name of enum. + + + @param id (C++: enum_t) + +Help on function get_enum_name2 in module ida_enum: + +get_enum_name2(*args) -> 'qstring *' + get_enum_name2(id, flags=0) -> str + + + Get name of enum + + @param id: enum id (C++: enum_t) + @param flags: Enum name flags (C++: int) + +Help on function get_enum_qty in module ida_enum: + +get_enum_qty(*args) -> 'size_t' + get_enum_qty() -> size_t + + + Get number of declared 'enum_t' types. + +Help on function get_enum_size in module ida_enum: + +get_enum_size(*args) -> 'size_t' + get_enum_size(id) -> size_t + + + Get the number of the members of the enum. + + + @param id (C++: enum_t) + +Help on function get_enum_type_ordinal in module ida_enum: + +get_enum_type_ordinal(*args) -> 'int32' + get_enum_type_ordinal(id) -> int32 + + + Get corresponding type ordinal number. + + + @param id (C++: enum_t) + +Help on function get_enum_width in module ida_enum: + +get_enum_width(*args) -> 'size_t' + get_enum_width(id) -> size_t + + + Get the width of a enum element allowed values: 0 + (unspecified),1,2,4,8,16,32,64 + + @param id (C++: enum_t) + +Help on function get_first_bmask in module ida_enum: + +get_first_bmask(*args) -> 'bmask_t' + get_first_bmask(id) -> bmask_t + + + Get first bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the smallest bitmask for enum, or DEFMASK + +Help on function get_first_enum_member in module ida_enum: + +get_first_enum_member(*args) -> 'uval_t' + get_first_enum_member(id, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_first_serial_enum_member in module ida_enum: + +get_first_serial_enum_member(*args) -> 'uchar *' + get_first_serial_enum_member(id, value, bmask) -> const_t + +Help on function get_last_bmask in module ida_enum: + +get_last_bmask(*args) -> 'bmask_t' + get_last_bmask(id) -> bmask_t + + + Get last bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the biggest bitmask for enum, or DEFMASK + +Help on function get_last_enum_member in module ida_enum: + +get_last_enum_member(*args) -> 'uval_t' + get_last_enum_member(id, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_last_serial_enum_member in module ida_enum: + +get_last_serial_enum_member(*args) -> 'uchar *' + get_last_serial_enum_member(id, value, bmask) -> const_t + +Help on function get_next_bmask in module ida_enum: + +get_next_bmask(*args) -> 'bmask_t' + get_next_bmask(id, bmask) -> bmask_t + + + Get next bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value higher than the specified + value, or DEFMASK + +Help on function get_next_enum_member in module ida_enum: + +get_next_enum_member(*args) -> 'uval_t' + get_next_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_next_serial_enum_member in module ida_enum: + +get_next_serial_enum_member(*args) -> 'uchar *' + get_next_serial_enum_member(in_out_serial, first_cid) -> const_t + +Help on function get_prev_bmask in module ida_enum: + +get_prev_bmask(*args) -> 'bmask_t' + get_prev_bmask(id, bmask) -> bmask_t + + + Get prev bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value lower than the specified value, + or DEFMASK + +Help on function get_prev_enum_member in module ida_enum: + +get_prev_enum_member(*args) -> 'uval_t' + get_prev_enum_member(id, value, bmask=(bmask_t(-1))) -> uval_t + +Help on function get_prev_serial_enum_member in module ida_enum: + +get_prev_serial_enum_member(*args) -> 'uchar *' + get_prev_serial_enum_member(in_out_serial, first_cid) -> const_t + +Help on function getn_enum in module ida_enum: + +getn_enum(*args) -> 'enum_t' + getn_enum(n) -> enum_t + + + Get enum by its ordinal number (0..n). + + + @param n (C++: size_t) + +Help on function is_bf in module ida_enum: + +is_bf(*args) -> 'bool' + is_bf(id) -> bool + + + Is enum a bitfield? (otherwise - plain enum, no bitmasks except for + 'DEFMASK' are allowed) + + @param id (C++: enum_t) + +Help on function is_enum_fromtil in module ida_enum: + +is_enum_fromtil(*args) -> 'bool' + is_enum_fromtil(id) -> bool + + + Does enum come from type library? + + + @param id (C++: enum_t) + +Help on function is_enum_hidden in module ida_enum: + +is_enum_hidden(*args) -> 'bool' + is_enum_hidden(id) -> bool + + + Is enum collapsed? + + + @param id (C++: enum_t) + +Help on function is_ghost_enum in module ida_enum: + +is_ghost_enum(*args) -> 'bool' + is_ghost_enum(id) -> bool + + + Is a ghost copy of a local type? + + + @param id (C++: enum_t) + +Help on function is_one_bit_mask in module ida_enum: + +is_one_bit_mask(*args) -> 'bool' + is_one_bit_mask(mask) -> bool + + + Is bitmask one bit? + + + @param mask (C++: bmask_t) + +Help on function set_bmask_cmt in module ida_enum: + +set_bmask_cmt(*args) -> 'bool' + set_bmask_cmt(id, bmask, cmt, repeatable) -> bool + +Help on function set_bmask_name in module ida_enum: + +set_bmask_name(*args) -> 'bool' + set_bmask_name(id, bmask, name) -> bool + +Help on function set_enum_bf in module ida_enum: + +set_enum_bf(*args) -> 'bool' + set_enum_bf(id, bf) -> bool + + + Set 'bitfield' bit of enum (i.e. convert it to a bitfield) + + + @param id (C++: enum_t) + @param bf (C++: bool) + +Help on function set_enum_cmt in module ida_enum: + +set_enum_cmt(*args) -> 'bool' + set_enum_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum type. + + + @param id (C++: enum_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_flag in module ida_enum: + +set_enum_flag(*args) -> 'bool' + set_enum_flag(id, flag) -> bool + + + Set data representation flags. + + + @param id (C++: enum_t) + @param flag (C++: flags_t) + +Help on function set_enum_fromtil in module ida_enum: + +set_enum_fromtil(*args) -> 'bool' + set_enum_fromtil(id, fromtil) -> bool + + + Specify that enum comes from a type library. + + + @param id (C++: enum_t) + @param fromtil (C++: bool) + +Help on function set_enum_ghost in module ida_enum: + +set_enum_ghost(*args) -> 'bool' + set_enum_ghost(id, ghost) -> bool + + + Specify that enum is a ghost copy of a local type. + + + @param id (C++: enum_t) + @param ghost (C++: bool) + +Help on function set_enum_hidden in module ida_enum: + +set_enum_hidden(*args) -> 'bool' + set_enum_hidden(id, hidden) -> bool + + + Collapse enum. + + + @param id (C++: enum_t) + @param hidden (C++: bool) + +Help on function set_enum_idx in module ida_enum: + +set_enum_idx(*args) -> 'bool' + set_enum_idx(id, idx) -> bool + + + Set serial number of enum. Also see 'get_enum_idx()' . + + @param id (C++: enum_t) + @param idx (C++: size_t) + +Help on function set_enum_member_cmt in module ida_enum: + +set_enum_member_cmt(*args) -> 'bool' + set_enum_member_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum member. + + + @param id (C++: const_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_member_name in module ida_enum: + +set_enum_member_name(*args) -> 'bool' + set_enum_member_name(id, name) -> bool + + + Set name of enum member. + + + @param id (C++: const_t) + @param name (C++: const char *) + +Help on function set_enum_name in module ida_enum: + +set_enum_name(*args) -> 'bool' + set_enum_name(id, name) -> bool + + + Set name of enum type. + + + @param id (C++: enum_t) + @param name (C++: const char *) + +Help on function set_enum_type_ordinal in module ida_enum: + +set_enum_type_ordinal(*args) -> 'void' + set_enum_type_ordinal(id, ord) + + + Set corresponding type ordinal number. + + + @param id (C++: enum_t) + @param ord (C++: int32) + +Help on function set_enum_width in module ida_enum: + +set_enum_width(*args) -> 'bool' + set_enum_width(id, width) -> bool + + + See comment for 'get_enum_width()' + + + @param id (C++: enum_t) + @param width (C++: int) + +=== ida_enum EPYDOC INJECTIONS === +ida_enum.DEFMASK +""" +default bitmask +""" + +ida_enum.ENFL_REGEX +""" +apply regular expressions to beautify the name +""" + +ida_enum.ENUM_MEMBER_ERROR_ENUM +""" +bad enum id +""" + +ida_enum.ENUM_MEMBER_ERROR_ILLV +""" +bad bmask and value combination (~bmask & value != 0) +""" + +ida_enum.ENUM_MEMBER_ERROR_MASK +""" +bad bmask +""" + +ida_enum.ENUM_MEMBER_ERROR_NAME +""" +already have member with this name (bad name) +""" + +ida_enum.ENUM_MEMBER_ERROR_VALUE +""" +already have 256 members with this value +""" +=== ida_enum EPYDOC INJECTIONS END === +Help on class _IdcFunction in module ida_expr: + +class _IdcFunction(builtins.object) + | Internal class that calls pyw_call_idc_func() with a context + | + | Methods defined here: + | + | __call__(self, args, res) + | Call self as a function. + | + | __init__(self, ctxptr) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fp_ptr + +Help on function add_idc_class in module ida_expr: + +add_idc_class(*args) -> 'idc_class_t *' + add_idc_class(name, super=None) -> idc_class_t * + + + Create a new IDC class. + + @param name: name of the new class (C++: const char *) + @param super: the base class for the new class. if the new class is + not based on any other class, pass NULL (C++: const + idc_class_t *) + @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. + +Help on function add_idc_func in module ida_expr: + +add_idc_func(name, fp, args, defvals=None, flags=0) + Extends the IDC language by exposing a new IDC function that is backed up by a Python function + + @param name: IDC function name to expose + @param fp: Python callable that will receive the arguments and return a tuple. + @param args: Arguments. A tuple of idaapi.VT_XXX constants + @param flags: IDC function flags. A combination of EXTFUN_XXX constants + + @return: Boolean + + + 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 + ", 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, NULL, 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"); + + If the function already exists, it will be replaced by the new + function + + @return: success + +Help on function add_idc_gvar in module ida_expr: + +add_idc_gvar(*args) -> 'idc_value_t *' + add_idc_gvar(name) -> idc_value_t + + + Add global IDC variable. + + @param name: name of the global variable (C++: const char *) + @return: pointer to the created variable or existing variable. NB: the + returned pointer is valid until a new global var is added. + +Help on function compile_idc_file in module ida_expr: + +compile_idc_file(*args) -> 'qstring *' + compile_idc_file(nonnul_line) -> str + +Help on function compile_idc_snippet in module ida_expr: + +compile_idc_snippet(*args) -> 'qstring *' + compile_idc_snippet(func, text, resolver=None, only_safe_funcs=False) -> str + + + Compile text with IDC statements. + + @param func: name of the function to create out of the snippet (C++: + const char *) + @param text: text to compile (C++: const char *) + @param resolver: callback object to get values of undefined variables + This object will be called if IDC function contains + references to undefined variables. May be NULL. (C++: + idc_resolver_t *) + @param only_safe_funcs: if true, any calls to functions without + EXTFUN_SAFE flag will lead to a compilation + error. (C++: bool) + +Help on function compile_idc_text in module ida_expr: + +compile_idc_text(*args) -> 'qstring *' + compile_idc_text(nonnul_line) -> str + +Help on function copy_idcv in module ida_expr: + +copy_idcv(*args) -> 'error_t' + 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 &) + +Help on function create_idcv_ref in module ida_expr: + +create_idcv_ref(*args) -> 'bool' + create_idcv_ref(ref, v) -> bool + + + Create a variable reference. Currently only references to global + variables can be created. + + @param ref: ptr to the result (C++: idc_value_t *) + @param v: variable to reference (C++: const idc_value_t *) + @return: success + +Help on function deep_copy_idcv in module ida_expr: + +deep_copy_idcv(*args) -> 'error_t' + 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 &) + +Help on function del_idc_func in module ida_expr: + +del_idc_func(name) + Unregisters the specified IDC function + + @param name: IDC function name to unregister + + @return: Boolean + + + Delete an IDC function + +Help on function del_idcv_attr in module ida_expr: + +del_idcv_attr(*args) -> 'error_t' + del_idcv_attr(obj, attr) -> error_t + + + Delete an object attribute. + + @param obj: variable that holds an object reference (C++: idc_value_t + *) + @param attr: attribute name (C++: const char *) + @return: error code, eOk on success + +Help on function deref_idcv in module ida_expr: + +deref_idcv(*args) -> 'idc_value_t *' + deref_idcv(v, vref_flags) -> idc_value_t + + + Dereference a 'VT_REF' variable. + + @param v: variable to dereference (C++: idc_value_t *) + @param vref_flags: Dereference IDC variable flags (C++: int) + @return: pointer to the dereference result or NULL. If returns NULL, + qerrno is set to eExecBadRef "Illegal variable reference" + +Help on function eval_expr in module ida_expr: + +eval_expr(*args) -> 'qstring *' + eval_expr(rv, where, line) -> str + + + Compile and calculate an expression. + + @param rv: pointer to the result (C++: idc_value_t *) + @param where: 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 . (C++: ea_t) + @param line: the expression to evaluate (C++: const char *) + +Help on function eval_idc_expr in module ida_expr: + +eval_idc_expr(*args) -> 'qstring *' + 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) + +Help on function exec_idc_script in module ida_expr: + +exec_idc_script(*args) -> 'qstring *' + exec_idc_script(result, path, func, args, argsnum) -> str + + + Compile and execute IDC function(s) from file. + + @param result: ptr to idc_value_t to hold result of the function. If + execution fails, this variable will contain the + exception information. You may pass NULL if you are not + interested in the returned value. (C++: idc_value_t *) + @param path: text file containing text of IDC functions (C++: const + char *) + @param func: function name to execute (C++: const char *) + @param args: array of parameters (C++: const idc_value_t) + @param argsnum: number of parameters to pass to 'fname' This number + should be equal to number of parameters the function + expects. (C++: size_t) + +Help on function exec_system_script in module ida_expr: + +exec_system_script(*args) -> 'bool' + exec_system_script(file, complain_if_no_file=True) -> bool + + + Compile and execute "main" function from system file. + + @param file: file name with IDC function(s). The file will be searched + in the idc subdir of ida (C++: const char *) + @param complain_if_no_file: 1: display warning if the file is not + found 0: don't complain if file doesn't + exist (C++: bool) + +Help on function find_idc_class in module ida_expr: + +find_idc_class(*args) -> 'idc_class_t *' + find_idc_class(name) -> idc_class_t * + + + Find an existing IDC class by its name. + + @param name: name of the class (C++: const char *) + @return: pointer to the class or NULL. The returned pointer is valid + until a new call to add_idc_class() + +Help on function find_idc_func in module ida_expr: + +find_idc_func(*args) -> 'qstring *' + find_idc_func(prefix, n=0) -> str + +Help on function find_idc_gvar in module ida_expr: + +find_idc_gvar(*args) -> 'idc_value_t *' + find_idc_gvar(name) -> idc_value_t + + + Find an existing global IDC variable by its name. + + @param name: name of the global variable (C++: const char *) + @return: pointer to the variable or NULL. 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 + +Help on function first_idcv_attr in module ida_expr: + +first_idcv_attr(*args) -> 'char const *' + first_idcv_attr(obj) -> char const * + +Help on function free_idcv in module ida_expr: + +free_idcv(*args) -> 'void' + 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 *) + +Help on function get_idc_filename in module ida_expr: + +get_idc_filename(*args) -> 'char const *' + get_idc_filename(file) -> str + + + Get full name of IDC file name. Search for file in list of include + directories, IDCPATH directory and the current directory. + + @param file: file name without full path (C++: const char *) + @return: NULL is file not found. otherwise returns pointer to buf + +Help on function get_idcv_attr in module ida_expr: + +get_idcv_attr(*args) -> 'error_t' + get_idcv_attr(res, obj, attr, may_use_getattr=False) -> error_t + + + Get an object attribute. + + @param res: buffer for the attribute value (C++: idc_value_t *) + @param obj: variable that holds an object reference. if obj is NULL it + searches global variables, then user functions (C++: const + idc_value_t *) + @param attr: attribute name (C++: const char *) + @param may_use_getattr: may call getattr functions to calculate the + attribute if it does not exist (C++: bool) + @return: error code, eOk on success + +Help on function get_idcv_class_name in module ida_expr: + +get_idcv_class_name(*args) -> 'qstring *' + get_idcv_class_name(obj) -> str + + + Retrieves the IDC object class name. + + @param obj: class instance variable (C++: const idc_value_t *) + @return: error code, eOk on success + +Help on function get_idcv_slice in module ida_expr: + +get_idcv_slice(*args) -> 'error_t' + get_idcv_slice(res, v, i1, i2, flags=0) -> error_t + + + Get slice. + + @param res: output variable that will contain the slice (C++: + idc_value_t *) + @param v: input variable (string or object) (C++: const idc_value_t + *) + @param i1: slice start index (C++: uval_t) + @param i2: slice end index (excluded) (C++: uval_t) + @param flags: IDC variable slice flags or 0 (C++: int) + @return: eOk if success + +Help on class highlighter_cbs_t in module ida_expr: + +class highlighter_cbs_t(builtins.object) + | Proxy of C++ highlighter_cbs_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> highlighter_cbs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_highlighter_cbs_t(...) + | delete_highlighter_cbs_t(self) + | + | cur_block_state(self, *args) -> 'int32' + | cur_block_state(self) -> int32 + | + | prev_block_state(self, *args) -> 'int32' + | prev_block_state(self) -> int32 + | + | set_block_state(self, *args) -> 'void' + | set_block_state(self, arg0) + | + | set_style(self, *args) -> 'void' + | set_style(self, arg0, arg1, arg2) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class idc_global_t in module ida_expr: + +class idc_global_t(builtins.object) + | Proxy of C++ idc_global_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idc_global_t + | __init__(self, n) -> idc_global_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_idc_global_t(...) + | delete_idc_global_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | idc_global_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | idc_global_t_value_get(self) -> idc_value_t + +Help on class idc_value_t in module ida_expr: + +class idc_value_t(builtins.object) + | Proxy of C++ idc_value_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=0) -> idc_value_t + | __init__(self, r) -> idc_value_t + | __init__(self, _str) -> idc_value_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_idc_value_t(...) + | delete_idc_value_t(self) + | + | _create_empty_string(self, *args) -> 'void' + | _create_empty_string(self) + | + | _idc_value_t__get_e = __get_e(self, *args) -> 'wrapped_array_t< ushort,6 >' + | __get_e(self) -> wrapped_array_t< ushort,6 > + | + | c_str(self, *args) -> 'char const *' + | c_str(self) -> char const * + | + | clear(self, *args) -> 'void' + | clear(self) + | + | create_empty_string(self, *args) -> 'void' + | create_empty_string(self) + | + | is_convertible(self, *args) -> 'bool' + | is_convertible(self) -> bool + | + | is_integral(self, *args) -> 'bool' + | is_integral(self) -> bool + | + | is_zero(self, *args) -> 'bool' + | is_zero(self) -> bool + | + | qstr(self, *args) -> 'qstring const &' + | qstr(self) -> qstring + | qstr(self) -> qstring const & + | + | set_float(self, *args) -> 'void' + | set_float(self, f) + | + | set_int64(self, *args) -> 'void' + | set_int64(self, v) + | + | set_long(self, *args) -> 'void' + | set_long(self, v) + | + | set_pvoid(self, *args) -> 'void' + | set_pvoid(self, p) + | + | set_string(self, *args) -> 'void' + | set_string(self, _str, len) + | set_string(self, _str) + | + | swap(self, *args) -> 'void' + | swap(self, v) + | + | u_str(self, *args) -> 'uchar const *' + | u_str(self) -> uchar const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | __get_e(self) -> wrapped_array_t< ushort,6 > + | + | funcidx + | idc_value_t_funcidx_get(self) -> int + | + | i64 + | idc_value_t_i64_get(self) -> int64 + | + | num + | idc_value_t_num_get(self) -> sval_t + | + | obj + | idc_value_t_obj_get(self) -> idc_object_t * + | + | pvoid + | idc_value_t_pvoid_get(self) -> void * + | + | reserve + | idc_value_t_reserve_get(self) -> uchar [sizeof(qstring)] + | + | str + | + | thisown + | The membership flag + | + | vtype + | idc_value_t_vtype_get(self) -> char + +Help on class idc_values_t in module ida_expr: + +class idc_values_t(builtins.object) + | Proxy of C++ qvector< idc_value_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'idc_value_t const &' + | __getitem__(self, i) -> idc_value_t + | + | __init__(self, *args) + | __init__(self) -> idc_values_t + | __init__(self, x) -> idc_values_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_idc_values_t(...) + | delete_idc_values_t(self) + | + | at(self, *args) -> 'idc_value_t const &' + | at(self, _idx) -> idc_value_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< idc_value_t >::const_iterator' + | begin(self) -> idc_value_t + | begin(self) -> idc_value_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< idc_value_t >::const_iterator' + | end(self) -> idc_value_t + | end(self) -> idc_value_t + | + | erase(self, *args) -> 'qvector< idc_value_t >::iterator' + | erase(self, it) -> idc_value_t + | erase(self, first, last) -> idc_value_t + | + | extract(self, *args) -> 'idc_value_t *' + | extract(self) -> idc_value_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=idc_value_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< idc_value_t >::iterator' + | insert(self, it, x) -> idc_value_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'idc_value_t &' + | push_back(self, x) + | push_back(self) -> idc_value_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function idcv_float in module ida_expr: + +idcv_float(*args) -> 'error_t' + idcv_float(v) -> error_t + + + Convert IDC variable to a floating point. + + + @param v (C++: idc_value_t *) + +Help on function idcv_int64 in module ida_expr: + +idcv_int64(*args) -> 'error_t' + 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 + +Help on function idcv_long in module ida_expr: + +idcv_long(*args) -> 'error_t' + 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 + +Help on function idcv_num in module ida_expr: + +idcv_num(*args) -> 'error_t' + 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 + +Help on function idcv_object in module ida_expr: + +idcv_object(*args) -> 'error_t' + idcv_object(v, icls=None) -> error_t + + + Create an IDC object. The original value of 'v' is discarded (freed). + + @param v: variable to hold the object. any previous value will be + cleaned (C++: idc_value_t *) + @param icls: ptr to the desired class. NULL means "object" class this + ptr must be returned by add_idc_class() or + find_idc_class() (C++: const idc_class_t *) + @return: always eOk + +Help on function idcv_string in module ida_expr: + +idcv_string(*args) -> 'error_t' + idcv_string(v) -> error_t + + + Convert IDC variable to a text string. + + + @param v (C++: idc_value_t *) + +Help on function last_idcv_attr in module ida_expr: + +last_idcv_attr(*args) -> 'char const *' + last_idcv_attr(obj) -> char const * + +Help on function move_idcv in module ida_expr: + +move_idcv(*args) -> 'error_t' + 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 *) + +Help on function next_idcv_attr in module ida_expr: + +next_idcv_attr(*args) -> 'char const *' + next_idcv_attr(obj, attr) -> char const * + +Help on function prev_idcv_attr in module ida_expr: + +prev_idcv_attr(*args) -> 'char const *' + prev_idcv_attr(obj, attr) -> char const * + +Help on function print_idcv in module ida_expr: + +print_idcv(*args) -> 'qstring *' + print_idcv(v, name=None, indent=0) -> str + + + Get text representation of 'idc_value_t' . + + + @param v (C++: const idc_value_t &) + @param name (C++: const char *) + @param indent (C++: int) + +Help on function py_add_idc_func in module ida_expr: + +py_add_idc_func(*args) -> 'bool' + py_add_idc_func(name, fp_ptr, args, defvals, flags) -> bool + +Help on function py_get_call_idc_func in module ida_expr: + +py_get_call_idc_func(*args) -> 'size_t' + py_get_call_idc_func() -> size_t + +Help on function pyw_convert_defvals in module ida_expr: + +pyw_convert_defvals(*args) -> 'bool' + pyw_convert_defvals(out, py_seq) -> bool + +Help on function pyw_register_idc_func in module ida_expr: + +pyw_register_idc_func(*args) -> 'size_t' + pyw_register_idc_func(name, args, py_fp) -> size_t + +Help on function pyw_unregister_idc_func in module ida_expr: + +pyw_unregister_idc_func(*args) -> 'bool' + pyw_unregister_idc_func(ctxptr) -> bool + +Help on function set_header_path in module ida_expr: + +set_header_path(*args) -> 'bool' + 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: list of directories to add (separated by ';') may be + NULL, in this case nothing is added (C++: const char *) + @param add: true: append. false: remove old paths. (C++: bool) + +Help on function set_idcv_attr in module ida_expr: + +set_idcv_attr(*args) -> 'error_t' + set_idcv_attr(obj, attr, value, may_use_setattr=False) -> error_t + + + Set an object attribute. + + @param obj: variable that holds an object reference. if obj is NULL + then it tries to modify a global variable with the + attribute name (C++: idc_value_t *) + @param attr: attribute name (C++: const char *) + @param value: new attribute value (C++: const idc_value_t &) + @param may_use_setattr: may call setattr functions for the class (C++: + bool) + @return: error code, eOk on success + +Help on function set_idcv_slice in module ida_expr: + +set_idcv_slice(*args) -> 'error_t' + set_idcv_slice(v, i1, i2, _in, flags=0) -> error_t + + + Set slice. + + @param v: variable to modify (string or object) (C++: idc_value_t *) + @param i1: slice start index (C++: uval_t) + @param i2: slice end index (excluded) (C++: uval_t) + @param flags: IDC variable slice flags or 0 (C++: int) + @return: eOk on success + +Help on function swap_idcvs in module ida_expr: + +swap_idcvs(*args) -> 'void' + swap_idcvs(v1, v2) + + + Swap 2 variables. + + + @param v1 (C++: idc_value_t *) + @param v2 (C++: idc_value_t *) + +Help on function throw_idc_exception in module ida_expr: + +throw_idc_exception(*args) -> 'error_t' + 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: object to hold the exception object (C++: idc_value_t *) + @param desc: exception description (C++: const char *) + @return: eExecThrow + +=== ida_expr EPYDOC INJECTIONS === +ida_expr.CPL_DEL_MACROS +""" +delete macros at the end of compilation +""" + +ida_expr.CPL_ONLY_SAFE +""" +allow calls of only thread-safe functions +""" + +ida_expr.CPL_USE_LABELS +""" +allow program labels in the script +""" + +ida_expr.IDC_LANG_EXT +""" +IDC script extension. +""" + +ida_expr.VARSLICE_SINGLE +""" +return single index (i2 is ignored) +""" + +ida_expr.VREF_COPY +""" +copy the result to the input var (v) +""" + +ida_expr.VREF_LOOP +""" +dereference until we get a non 'VT_REF' +""" + +ida_expr.VREF_ONCE +""" +dereference only once, do not loop +""" + +ida_expr.VT_FLOAT +""" +Floating point (see 'idc_value_t::e' ) +""" + +ida_expr.VT_FUNC +""" +Function (see 'idc_value_t::funcidx' ) +""" + +ida_expr.VT_INT64 +""" +i64 +""" + +ida_expr.VT_LONG +""" +Integer (see 'idc_value_t::num' ) +""" + +ida_expr.VT_OBJ +""" +Object (see idc_value_t::obj) +""" + +ida_expr.VT_PVOID +""" +void * +""" + +ida_expr.VT_REF +""" +Reference. +""" + +ida_expr.VT_STR +""" +String (see qstr() and similar functions) +""" + +ida_expr.VT_WILD +""" +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' . +""" + +ida_expr.eExecThrow +""" +See return value of 'idc_func_t' . +""" +=== ida_expr EPYDOC INJECTIONS END === +Help on function calc_fixup_size in module ida_fixup: + +calc_fixup_size(*args) -> 'int' + calc_fixup_size(type) -> int + + + Calculate size of fixup in bytes (the number of bytes the fixup + patches) + + @param type (C++: fixup_type_t) + +Help on function contains_fixups in module ida_fixup: + +contains_fixups(*args) -> 'bool' + contains_fixups(ea, size) -> bool + + + Does the specified address range contain any fixup information? + + + @param ea (C++: ea_t) + @param size (C++: asize_t) + +Help on function del_fixup in module ida_fixup: + +del_fixup(*args) -> 'void' + del_fixup(source) + + + Delete fixup information. + + + @param source (C++: ea_t) + +Help on function exists_fixup in module ida_fixup: + +exists_fixup(*args) -> 'bool' + exists_fixup(source) -> bool + + + Check that a fixup exists at the given address. + + + @param source (C++: ea_t) + +Help on function find_custom_fixup in module ida_fixup: + +find_custom_fixup(*args) -> 'fixup_type_t' + find_custom_fixup(name) -> fixup_type_t + + + Get id of a custom fixup handler. + + @param name: name of the custom fixup handler (C++: const char *) + @return: id with FIXUP_CUSTOM bit set or 0 + +Help on class fixup_data_t in module ida_fixup: + +class fixup_data_t(builtins.object) + | Proxy of C++ fixup_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> fixup_data_t + | __init__(self, type_, flags_=0) -> fixup_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_fixup_data_t(...) + | delete_fixup_data_t(self) + | + | calc_size(self, *args) -> 'int' + | calc_size(self) -> int + | + | clr_extdef(self, *args) -> 'void' + | clr_extdef(self) + | + | clr_unused(self, *args) -> 'void' + | clr_unused(self) + | + | get(self, *args) -> 'bool' + | get(self, source) -> bool + | + | get_base(self, *args) -> 'ea_t' + | get_base(self) -> ea_t + | + | get_desc(self, *args) -> 'char const *' + | get_desc(self, source) -> char const * + | + | get_flags(self, *args) -> 'uint32' + | get_flags(self) -> uint32 + | + | get_handler(self, *args) -> 'fixup_handler_t const *' + | get_handler(self) -> fixup_handler_t const * + | + | get_type(self, *args) -> 'fixup_type_t' + | get_type(self) -> fixup_type_t + | + | get_value(self, *args) -> 'uval_t' + | get_value(self, ea) -> uval_t + | + | has_base(self, *args) -> 'bool' + | has_base(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_extdef(self, *args) -> 'bool' + | is_extdef(self) -> bool + | + | is_unused(self, *args) -> 'bool' + | is_unused(self) -> bool + | + | patch_value(self, *args) -> 'bool' + | patch_value(self, ea) -> bool + | + | set(self, *args) -> 'void' + | set(self, source) + | + | set_base(self, *args) -> 'void' + | set_base(self, new_base) + | + | set_extdef(self, *args) -> 'void' + | set_extdef(self) + | + | set_sel(self, *args) -> 'void' + | set_sel(self, seg) + | + | set_target_sel(self, *args) -> 'void' + | set_target_sel(self) + | + | set_type(self, *args) -> 'void' + | set_type(self, type_) + | + | set_type_and_flags(self, *args) -> 'void' + | set_type_and_flags(self, type_, flags_=0) + | + | set_unused(self, *args) -> 'void' + | set_unused(self) + | + | was_created(self, *args) -> 'bool' + | was_created(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | displacement + | fixup_data_t_displacement_get(self) -> adiff_t + | + | off + | fixup_data_t_off_get(self) -> ea_t + | + | sel + | fixup_data_t_sel_get(self) -> sel_t + | + | thisown + | The membership flag + +Help on class fixup_info_t in module ida_fixup: + +class fixup_info_t(builtins.object) + | Proxy of C++ fixup_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> fixup_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_fixup_info_t(...) + | delete_fixup_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | fixup_info_t_ea_get(self) -> ea_t + | + | fd + | fixup_info_t_fd_get(self) -> fixup_data_t + | + | thisown + | The membership flag + +Help on function gen_fix_fixups in module ida_fixup: + +gen_fix_fixups(*args) -> 'void' + 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) + +Help on function get_first_fixup_ea in module ida_fixup: + +get_first_fixup_ea(*args) -> 'ea_t' + get_first_fixup_ea() -> ea_t + + + Get the first address with fixup information + + @return: the first address with fixup information, or BADADDR + +Help on function get_fixup in module ida_fixup: + +get_fixup(*args) -> 'bool' + get_fixup(fd, source) -> bool + + + Get fixup information. + + + @param fd (C++: fixup_data_t *) + @param source (C++: ea_t) + +Help on function get_fixup_desc in module ida_fixup: + +get_fixup_desc(*args) -> 'fixup_data_t const &' + get_fixup_desc(source, fd) -> str + + + Get FIXUP description comment. + + + @param source (C++: ea_t) + @param fd (C++: const fixup_data_t &) + +Help on function get_fixup_handler in module ida_fixup: + +get_fixup_handler(*args) -> 'fixup_handler_t const *' + get_fixup_handler(type) -> fixup_handler_t const * + + + Get handler of standard or custom fixup. + + + @param type (C++: fixup_type_t) + +Help on function get_fixup_value in module ida_fixup: + +get_fixup_value(*args) -> 'uval_t' + 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 'patch_fixup_value()' `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. + 'fixup_handler_t::size' + + @param ea: address to get fixup bytes from, the size of the fixup + bytes depends on the fixup type. (C++: ea_t) + @param type (C++: fixup_type_t) + +Help on function get_fixups in module ida_fixup: + +get_fixups(*args) -> 'bool' + get_fixups(out, ea, size) -> bool + +Help on function get_next_fixup_ea in module ida_fixup: + +get_next_fixup_ea(*args) -> 'ea_t' + get_next_fixup_ea(ea) -> ea_t + + + Find next address with fixup information + + @param ea: current address (C++: ea_t) + @return: the next address with fixup information, or BADADDR + +Help on function get_prev_fixup_ea in module ida_fixup: + +get_prev_fixup_ea(*args) -> 'ea_t' + get_prev_fixup_ea(ea) -> ea_t + + + Find previous address with fixup information + + @param ea: current address (C++: ea_t) + @return: the previous address with fixup information, or BADADDR + +Help on function is_fixup_custom in module ida_fixup: + +is_fixup_custom(*args) -> 'bool' + is_fixup_custom(type) -> bool + + + Is fixup processed by processor module? + + + @param type (C++: fixup_type_t) + +Help on function patch_fixup_value in module ida_fixup: + +patch_fixup_value(*args) -> 'bool' + 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. 'fixup_handler_t::size' + + @param ea: address where data are changed, the size of the changed + data depends on the fixup type. (C++: ea_t) + @param fd (C++: const fixup_data_t &) + +Help on function set_fixup in module ida_fixup: + +set_fixup(*args) -> 'void' + 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: the fixup source address, i.e. the address modified by + the fixup (C++: ea_t) + @param fd: fixup data (C++: const fixup_data_t &) + +=== ida_fixup EPYDOC INJECTIONS === +ida_fixup.FIXUPF_CREATED +""" +fixup was not present in the input file +""" + +ida_fixup.FIXUPF_EXTDEF +""" +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. +""" + +ida_fixup.FIXUPF_LOADER_MASK +""" +additional flags. The bits from this mask are not stored in the +database and can be used by the loader at its discretion. +""" + +ida_fixup.FIXUPF_REL +""" +fixup is relative to the linear address `base' . Otherwise fixup is +relative to the start of the segment with `sel' selector. +""" + +ida_fixup.FIXUPF_UNUSED +""" +fixup is ignored by IDAdisallows the kernel to convert operandsthis +fixup is not used during output +""" +=== ida_fixup EPYDOC INJECTIONS END === +Help on class qfile_t in module ida_fpro: + +class qfile_t(builtins.object) + | Proxy of C++ qfile_t class. + | + | + | A helper class to work with FILE related functions. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, rhs) -> qfile_t + | __init__(self, pycapsule=None) -> qfile_t + | + | + | Closes the file + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qfile_t(...) + | delete_qfile_t(self) + | + | close(self, *args) -> 'void' + | close(self) + | + | filename(self, *args) -> 'PyObject *' + | filename(self) -> PyObject * + | + | flush(self, *args) -> 'int' + | flush(self) -> int + | + | + | Reads a single byte from the file. Returns None if EOF or the read byte + | + | get_byte(self, *args) -> 'PyObject *' + | get_byte(self) -> PyObject * + | + | get_fp(self, *args) -> 'FILE *' + | get_fp(self) -> FILE * + | + | gets(self, *args) -> 'PyObject *' + | gets(self, size) -> PyObject * + | + | + | Reads a line from the input file. Returns the read line or None + | + | open(self, *args) -> 'bool' + | open(self, filename, mode) -> bool + | + | + | Opens a file + | + | @param filename: the file name + | @param mode: The mode string, ala fopen() style + | @return: Boolean + | + | opened(self, *args) -> 'bool' + | opened(self) -> bool + | + | + | Checks if the file is opened or not + | + | put_byte(self, *args) -> 'int' + | put_byte(self, chr) -> int + | + | + | Writes a single byte to the file + | + | puts(self, *args) -> 'int' + | puts(self, str) -> int + | + | read(self, *args) -> 'PyObject *' + | read(self, size) -> PyObject * + | + | + | Reads from the file. Returns the buffer or None + | + | readbytes(self, *args) -> 'PyObject *' + | readbytes(self, size, big_endian) -> PyObject * + | + | + | Similar to read() but it respect the endianness + | + | seek(self, *args) -> 'int' + | seek(self, offset, whence=SEEK_SET) -> int + | + | + | Set input source position + | @return: the new position (not 0 as fseek!) + | + | size(self, *args) -> 'int64' + | size(self) -> int64 + | + | tell(self, *args) -> 'int64' + | tell(self) -> int64 + | + | + | Returns the current position + | + | write(self, *args) -> 'int' + | write(self, py_buf) -> int + | + | + | Writes to the file. Returns 0 or the number of bytes written + | + | writebytes(self, *args) -> 'int' + | writebytes(self, py_buf, big_endian) -> int + | + | + | Similar to write() but it respect the endianness + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | from_capsule(*args) -> 'qfile_t *' + | from_capsule(pycapsule) -> qfile_t + | + | from_fp(*args) -> 'qfile_t *' + | from_fp(fp) -> qfile_t + | + | tmpfile(*args) -> 'qfile_t *' + | tmpfile() -> qfile_t + | + | + | A static method to construct an instance using a temporary file + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __idc_cvt_id__ + | qfile_t___idc_cvt_id___get(self) -> int + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function qfile_t_from_capsule in module ida_fpro: + +qfile_t_from_capsule(*args) -> 'qfile_t *' + qfile_t_from_capsule(pycapsule) -> qfile_t + +Help on function qfile_t_from_fp in module ida_fpro: + +qfile_t_from_fp(*args) -> 'qfile_t *' + qfile_t_from_fp(fp) -> qfile_t + +Help on function qfile_t_tmpfile in module ida_fpro: + +qfile_t_tmpfile(*args) -> 'qfile_t *' + qfile_t_tmpfile() -> qfile_t + +Help on function add_auto_stkpnt in module ida_frame: + +add_auto_stkpnt(*args) -> 'bool' + add_auto_stkpnt(pfn, ea, delta) -> bool + + + Add automatic SP register change point. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address where SP changes. usually this is the end of + the instruction which modifies the stack pointer + (\cmd{ea}+\cmd{size}) (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function add_frame in module ida_frame: + +add_frame(*args) -> 'bool' + add_frame(pfn, frsize, frregs, argsize) -> bool + + + Add function frame. + + @param pfn: pointer to function structure (C++: func_t *) + @param frsize: size of function local variables (C++: sval_t) + @param frregs: size of saved registers (C++: ushort) + @param argsize: 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. (C++: asize_t) + +Help on function add_regvar in module ida_frame: + +add_regvar(*args) -> 'int' + add_regvar(pfn, ea1, ea2, canon, user, cmt) -> int + + + Define a register variable. + + @param pfn: function in which the definition will be created (C++: + func_t *) + @param ea1: range of addresses within the function where the + definition will be used (C++: ea_t) + @param ea2: range of addresses within the function where the + definition will be used (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @param user: user-defined name for the register (C++: const char *) + @param cmt: comment for the definition (C++: const char *) + @return: Register variable error codes + +Help on function add_user_stkpnt in module ida_frame: + +add_user_stkpnt(*args) -> 'bool' + add_user_stkpnt(ea, delta) -> bool + + + Add user-defined SP register change point. + + @param ea: linear address where SP changes (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function build_stkvar_name in module ida_frame: + +build_stkvar_name(*args) -> 'qstring *' + build_stkvar_name(pfn, v) -> str + + + Build automatic stack variable name. + + @param pfn: pointer to function (can't be NULL!) (C++: const func_t + *) + @param v: value of variable offset (C++: sval_t) + @return: length of stack variable name or -1 + +Help on function build_stkvar_xrefs in module ida_frame: + +build_stkvar_xrefs(*args) -> 'void' + build_stkvar_xrefs(out, pfn, mptr) + + + Fill 'out' with a list of all the xrefs made from function 'pfn', to + the argument or variable 'mptr' in 'pfn's stack frame. + + @param out: the list of xrefs to fill. (C++: xreflist_t *) + @param pfn: the function to scan. (C++: func_t *) + @param mptr: the argument/variable in pfn's stack frame. (C++: const + member_t *) + +Help on function calc_stkvar_struc_offset in module ida_frame: + +calc_stkvar_struc_offset(*args) -> 'ea_t' + calc_stkvar_struc_offset(pfn, insn, n) -> ea_t + + + Calculate offset of stack variable in the frame structure. + + @param pfn: pointer to function (can't be NULL!) (C++: func_t *) + @param insn: the instruction (C++: const insn_t &) + @param n: number of operand: (0.. UA_MAXOP -1) -1 if error, return + BADADDR (C++: int) + @return: BADADDR if some error (issue a warning if stack frame is + bad) + +Help on function define_stkvar in module ida_frame: + +define_stkvar(*args) -> 'bool' + define_stkvar(pfn, name, off, flags, ti, nbytes) -> bool + + + Define/redefine a stack variable. + + @param pfn: pointer to function (C++: func_t *) + @param name: variable name, NULL means autogenerate a name (C++: const + char *) + @param off: offset of the stack variable in the frame. negative values + denote local variables, positive - function arguments. + (C++: sval_t) + @param flags: variable type flags ( byte_flag() for a byte variable, + for example) (C++: flags_t) + @param ti: additional type information (like offsets, structs, etc) + (C++: const opinfo_t *) + @param nbytes: number of bytes occupied by the variable (C++: asize_t) + @return: success + +Help on function del_frame in module ida_frame: + +del_frame(*args) -> 'bool' + del_frame(pfn) -> bool + + + Delete a function frame. + + @param pfn: pointer to function structure (C++: func_t *) + @return: success + +Help on function del_regvar in module ida_frame: + +del_regvar(*args) -> 'int' + del_regvar(pfn, ea1, ea2, canon) -> int + + + Delete a register variable definition. + + @param pfn: function in question (C++: func_t *) + @param ea1: range of addresses within the function where the + definition holds (C++: ea_t) + @param ea2: range of addresses within the function where the + definition holds (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @return: Register variable error codes + +Help on function del_stkpnt in module ida_frame: + +del_stkpnt(*args) -> 'bool' + del_stkpnt(pfn, ea) -> bool + + + Delete SP register change point. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: success + +Help on function delete_unreferenced_stkvars in module ida_frame: + +delete_unreferenced_stkvars(*args) -> 'int' + delete_unreferenced_stkvars(pfn) -> int + +Help on function delete_wrong_stkvar_ops in module ida_frame: + +delete_wrong_stkvar_ops(*args) -> 'int' + delete_wrong_stkvar_ops(pfn) -> int + +Help on function find_regvar in module ida_frame: + +find_regvar(*args) -> 'regvar_t *' + find_regvar(pfn, ea1, ea2, canon, user) -> regvar_t + find_regvar(pfn, ea, canon) -> regvar_t + + + Find a register variable definition (powerful version). One of 'canon' + and 'user' should be NULL. If both 'canon' and 'user' are NULL it + returns the first regvar definition in the range. + + @param pfn: function in question (C++: func_t *) + @param ea1: range of addresses to search. ea1==BADADDR means the + entire function (C++: ea_t) + @param ea2: range of addresses to search. ea1==BADADDR means the + entire function (C++: ea_t) + @param canon: name of a general register (C++: const char *) + @param user: user-defined name for the register (C++: const char *) + @return: NULL-not found, otherwise ptr to regvar_t + +Help on function frame_off_args in module ida_frame: + +frame_off_args(*args) -> 'ea_t' + frame_off_args(pfn) -> ea_t + + + Get starting address of arguments section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_lvars in module ida_frame: + +frame_off_lvars(*args) -> 'ea_t' + frame_off_lvars(pfn) -> ea_t + + + Get start address of local variables section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_retaddr in module ida_frame: + +frame_off_retaddr(*args) -> 'ea_t' + frame_off_retaddr(pfn) -> ea_t + + + Get starting address of return address section. + + + @param pfn (C++: const func_t *) + +Help on function frame_off_savregs in module ida_frame: + +frame_off_savregs(*args) -> 'ea_t' + frame_off_savregs(pfn) -> ea_t + + + Get starting address of saved registers section. + + + @param pfn (C++: const func_t *) + +Help on function get_effective_spd in module ida_frame: + +get_effective_spd(*args) -> 'sval_t' + 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: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: 0 or the difference, usually a negative number + +Help on function get_frame in module ida_frame: + +get_frame(*args) -> 'struc_t *' + get_frame(pfn) -> struc_t + get_frame(ea) -> struc_t * + + + Get pointer to function frame. + + @param pfn: pointer to function structure (C++: const func_t *) + +Help on function get_frame_part in module ida_frame: + +get_frame_part(*args) -> 'void' + get_frame_part(range, pfn, part) + + + Get offsets of the frame part in the frame. + + @param range: pointer to the output buffer with the frame part + start/end(exclusive) offsets, can't be NULL (C++: + range_t *) + @param pfn: pointer to function structure, can't be NULL (C++: const + func_t *) + @param part: frame part (C++: frame_part_t) + +Help on function get_frame_retsize in module ida_frame: + +get_frame_retsize(*args) -> 'int' + get_frame_retsize(pfn) -> int + + + Get size of function return address. + + @param pfn: pointer to function structure, can't be NULL (C++: const + func_t *) + +Help on function get_frame_size in module ida_frame: + +get_frame_size(*args) -> 'asize_t' + 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: pointer to function structure, may be NULL (C++: const + func_t *) + @return: size of frame in bytes or zero + +Help on function get_func_by_frame in module ida_frame: + +get_func_by_frame(*args) -> 'ea_t' + get_func_by_frame(frame_id) -> ea_t + + + Get function by its frame id.this function works only with databases + created by IDA > 5.6 + + @param frame_id: id of the function frame (C++: tid_t) + @return: start address of the function or BADADDR + +Help on function get_min_spd_ea in module ida_frame: + +get_min_spd_ea(*args) -> 'ea_t' + get_min_spd_ea(pfn) -> ea_t + +Help on function get_sp_delta in module ida_frame: + +get_sp_delta(*args) -> 'sval_t' + get_sp_delta(pfn, ea) -> sval_t + + + Get modification of SP made at the specified location + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address (C++: ea_t) + @return: 0 if the specified location doesn't contain a SP change + point. otherwise return delta of SP modification. + +Help on function get_spd in module ida_frame: + +get_spd(*args) -> 'sval_t' + get_spd(pfn, ea) -> sval_t + + + Get difference between the initial and current values of ESP. + + @param pfn: pointer to function. may be NULL. (C++: func_t *) + @param ea: linear address of an instruction (C++: ea_t) + @return: 0 or the difference, usually a negative number. returns the + sp-diff before executing the instruction. + +Help on function get_stkvar in module ida_frame: + +get_stkvar(*args) -> 'PyObject *' + get_stkvar(insn, op, v) -> PyObject * + + + Get pointer to stack variable + @param op: reference to instruction operand + @param v: immediate value in the operand (usually op.addr) + @return: + - None on failure + - tuple(member_t, actval) + where actval: actual value used to fetch stack variable + +Help on function has_regvar in module ida_frame: + +has_regvar(*args) -> 'bool' + has_regvar(pfn, ea) -> bool + + + Is there a register variable definition? + + @param pfn: function in question (C++: func_t *) + @param ea: current address (C++: ea_t) + +Help on function is_funcarg_off in module ida_frame: + +is_funcarg_off(*args) -> 'bool' + is_funcarg_off(pfn, frameoff) -> bool + + + Does the given offset lie within the arguments section? + + + @param pfn (C++: const func_t *) + @param frameoff (C++: uval_t) + +Help on class llabel_t in module ida_frame: + +class llabel_t(builtins.object) + | Proxy of C++ llabel_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> llabel_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_llabel_t(...) + | delete_llabel_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | llabel_t_ea_get(self) -> ea_t + | + | name + | llabel_t_name_get(self) -> char * + | + | thisown + | The membership flag + +Help on function lvar_off in module ida_frame: + +lvar_off(*args) -> 'sval_t' + lvar_off(pfn, frameoff) -> sval_t + + + Does the given offset lie within the local variables section? + + + @param pfn (C++: const func_t *) + @param frameoff (C++: uval_t) + +Help on function recalc_spd in module ida_frame: + +recalc_spd(*args) -> 'bool' + 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: linear address of the current instruction (C++: ea_t) + +Help on class regvar_t in module ida_frame: + +class regvar_t(ida_range.range_t) + | Proxy of C++ regvar_t class. + | + | Method resolution order: + | regvar_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regvar_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_regvar_t(...) + | delete_regvar_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | canon + | regvar_t_canon_get(self) -> char * + | + | cmt + | regvar_t_cmt_get(self) -> char * + | + | thisown + | The membership flag + | + | user + | regvar_t_user_get(self) -> char * + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on function rename_regvar in module ida_frame: + +rename_regvar(*args) -> 'int' + rename_regvar(pfn, v, user) -> int + + + Rename a register variable. + + @param pfn: function in question (C++: func_t *) + @param v: variable to rename (C++: regvar_t *) + @param user: new user-defined name for the register (C++: const char + *) + @return: Register variable error codes + +Help on function set_frame_size in module ida_frame: + +set_frame_size(*args) -> 'bool' + 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 + get_struc_size(get_frame(pfn)). + + @param pfn: pointer to function structure (C++: func_t *) + @param frsize: size of function local variables (C++: asize_t) + @param frregs: size of saved registers (C++: ushort) + @param argsize: size of function arguments that will be purged from + the stack upon return (C++: asize_t) + @return: success + +Help on function set_purged in module ida_frame: + +set_purged(*args) -> 'bool' + 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: address of the function of item (C++: ea_t) + @param nbytes: number of purged bytes (C++: int) + @param override_old_value: may overwrite old information about purged + bytes (C++: bool) + @return: success + +Help on function set_regvar_cmt in module ida_frame: + +set_regvar_cmt(*args) -> 'int' + set_regvar_cmt(pfn, v, cmt) -> int + + + Set comment for a register variable. + + @param pfn: function in question (C++: func_t *) + @param v: variable to rename (C++: regvar_t *) + @param cmt: new comment (C++: const char *) + @return: Register variable error codes + +Help on function soff_to_fpoff in module ida_frame: + +soff_to_fpoff(*args) -> 'sval_t' + soff_to_fpoff(pfn, soff) -> sval_t + + + Convert struct offsets into fp-relative offsets. This function + converts the offsets inside the 'struc_t' object into the frame + pointer offsets (for example, EBP-relative). + + @param pfn (C++: func_t *) + @param soff (C++: uval_t) + +Help on class stkpnt_t in module ida_frame: + +class stkpnt_t(builtins.object) + | Proxy of C++ stkpnt_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> stkpnt_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_stkpnt_t(...) + | delete_stkpnt_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | stkpnt_t_ea_get(self) -> ea_t + | + | spd + | stkpnt_t_spd_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class stkpnts_t in module ida_frame: + +class stkpnts_t(builtins.object) + | Proxy of C++ stkpnts_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> stkpnts_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_stkpnts_t(...) + | delete_stkpnts_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function update_fpd in module ida_frame: + +update_fpd(*args) -> 'bool' + update_fpd(pfn, fpd) -> bool + + + Update frame pointer delta. + + @param pfn: pointer to function structure (C++: func_t *) + @param fpd: new fpd value. cannot be bigger than the local variable + range size. (C++: asize_t) + @return: success + +Help on class xreflist_entry_t in module ida_frame: + +class xreflist_entry_t(builtins.object) + | Proxy of C++ xreflist_entry_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> xreflist_entry_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_xreflist_entry_t(...) + | delete_xreflist_entry_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | xreflist_entry_t_ea_get(self) -> ea_t + | + | opnum + | xreflist_entry_t_opnum_get(self) -> uchar + | + | thisown + | The membership flag + | + | type + | xreflist_entry_t_type_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class xreflist_t in module ida_frame: + +class xreflist_t(builtins.object) + | Proxy of C++ qvector< xreflist_entry_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'xreflist_entry_t const &' + | __getitem__(self, i) -> xreflist_entry_t + | + | __init__(self, *args) + | __init__(self) -> xreflist_t + | __init__(self, x) -> xreflist_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_xreflist_t(...) + | delete_xreflist_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'xreflist_entry_t const &' + | at(self, _idx) -> xreflist_entry_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< xreflist_entry_t >::const_iterator' + | begin(self) -> xreflist_entry_t + | begin(self) -> xreflist_entry_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< xreflist_entry_t >::const_iterator' + | end(self) -> xreflist_entry_t + | end(self) -> xreflist_entry_t + | + | erase(self, *args) -> 'qvector< xreflist_entry_t >::iterator' + | erase(self, it) -> xreflist_entry_t + | erase(self, first, last) -> xreflist_entry_t + | + | extract(self, *args) -> 'xreflist_entry_t *' + | extract(self) -> xreflist_entry_t + | + | find(self, *args) -> 'qvector< xreflist_entry_t >::const_iterator' + | find(self, x) -> xreflist_entry_t + | find(self, x) -> xreflist_entry_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=xreflist_entry_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< xreflist_entry_t >::iterator' + | insert(self, it, x) -> xreflist_entry_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'xreflist_entry_t &' + | push_back(self, x) + | push_back(self) -> xreflist_entry_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +=== ida_frame EPYDOC INJECTIONS === +ida_frame.REGVAR_ERROR_ARG +""" +function arguments are bad +""" + +ida_frame.REGVAR_ERROR_NAME +""" +the provided name(s) can't be accepted +""" + +ida_frame.REGVAR_ERROR_OK +""" +all ok +""" + +ida_frame.REGVAR_ERROR_RANGE +""" +the definition range is bad +""" + +ida_frame.STKVAR_VALID_SIZE +""" +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 +""" +=== ida_frame EPYDOC INJECTIONS END === +Help on function add_func in module ida_funcs: + +add_func(*args) -> 'bool' + 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: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @return: success + +Help on function add_func_ex in module ida_funcs: + +add_func_ex(*args) -> 'bool' + 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: ptr to filled function structure (C++: func_t *) + @return: success + +Help on function add_regarg in module ida_funcs: + +add_regarg(*args) -> 'void' + add_regarg(pfn, reg, tif, name) + +Help on function append_func_tail in module ida_funcs: + +append_func_tail(*args) -> 'bool' + 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 *) + @param ea1: start of the tail. If a tail already exists at the + specified address it must start at 'ea1' (C++: ea_t) + @param ea2: 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. (C++: ea_t) + +Help on function apply_idasgn_to in module ida_funcs: + +apply_idasgn_to(*args) -> 'int' + apply_idasgn_to(signame, ea, is_startup) -> int + + + Apply a signature file to the specified address. + + @param signame: short name of signature file (the file name without + path) (C++: const char *) + @param ea: address to apply the signature (C++: ea_t) + @param is_startup: 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. (C++: bool) + @return: Library function codes + +Help on function apply_startup_sig in module ida_funcs: + +apply_startup_sig(*args) -> 'bool' + apply_startup_sig(ea, startup) -> bool + + + Apply a startup signature file to the specified address. + + @param ea: address to apply the signature to; usually \inf{start_ea} + (C++: ea_t) + @param startup: the name of the signature file without path and + extension (C++: const char *) + @return: true if successfully applied the signature + +Help on function calc_func_size in module ida_funcs: + +calc_func_size(*args) -> 'asize_t' + calc_func_size(pfn) -> asize_t + + + Calculate function size. This function takes into account all + fragments of the function. + + @param pfn: ptr to function structure (C++: func_t *) + +Help on function calc_idasgn_state in module ida_funcs: + +calc_idasgn_state(*args) -> 'int' + calc_idasgn_state(n) -> int + + + Get state of a signature in the list of planned signatures + + @param n: number of signature in the list (0.. get_idasgn_qty() -1) + (C++: int) + @return: state of signature or IDASGN_BADARG + +Help on function calc_thunk_func_target in module ida_funcs: + +calc_thunk_func_target(*args) + calc_thunk_func_target(pfn) -> ea_t + + + Calculate target of a thunk function. + + @param pfn: pointer to function (may not be NULL) (C++: func_t *) + @return: the target function or BADADDR + +Help on function del_func in module ida_funcs: + +del_func(*args) -> 'bool' + del_func(ea) -> bool + + + Delete a function. + + @param ea: any address in the function entry chunk (C++: ea_t) + @return: success + +Help on function del_idasgn in module ida_funcs: + +del_idasgn(*args) -> 'int' + del_idasgn(n) -> int + + + Remove signature from the list of planned signatures. + + @param n: number of signature in the list (0.. get_idasgn_qty() -1) + (C++: int) + @return: IDASGN_OK , IDASGN_BADARG , IDASGN_APPLIED + +Help on function f_any in module ida_funcs: + +f_any(*args) -> 'bool' + f_any(arg1, arg2) -> bool + + + Helper function to accept any address. + +Help on function find_func_bounds in module ida_funcs: + +find_func_bounds(*args) -> 'int' + 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 \ph{func_bounds} in order to fine tune the function + boundaries. + + @param nfn: structure to fill with information \ nfn->start_ea points + to the start address of the new function. (C++: func_t *) + @param flags: Find function bounds flags (C++: int) + @return: Find function bounds result codes + +Help on function func_contains in module ida_funcs: + +func_contains(*args) -> 'bool' + func_contains(pfn, ea) -> bool + + + Does the given function contain the given address? + + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on function func_does_return in module ida_funcs: + +func_does_return(*args) -> 'bool' + 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) + +Help on function func_item_iterator_decode_preceding_insn in module ida_funcs: + +func_item_iterator_decode_preceding_insn(*args) -> 'bool' + func_item_iterator_decode_preceding_insn(fii, visited, p_farref, out) -> bool + +Help on function func_item_iterator_decode_prev_insn in module ida_funcs: + +func_item_iterator_decode_prev_insn(*args) -> 'bool' + func_item_iterator_decode_prev_insn(fii, out) -> bool + +Help on function func_item_iterator_next in module ida_funcs: + +func_item_iterator_next(*args) -> 'bool' + func_item_iterator_next(fii, testf, ud) -> bool + +Help on function func_item_iterator_prev in module ida_funcs: + +func_item_iterator_prev(*args) -> 'bool' + func_item_iterator_prev(fii, testf, ud) -> bool + +Help on class func_item_iterator_t in module ida_funcs: + +class func_item_iterator_t(builtins.object) + | Proxy of C++ func_item_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_item_iterator_t + | __init__(self, pfn, _ea=BADADDR) -> func_item_iterator_t + | + | __next__(self, *args) -> 'bool' + | __next__(self, func, ud) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_item_iterator_t(...) + | delete_func_item_iterator_t(self) + | + | chunk(self, *args) -> 'range_t const &' + | chunk(self) -> range_t + | + | current(self, *args) -> 'ea_t' + | current(self) -> ea_t + | + | decode_preceding_insn(self, *args) -> 'bool' + | decode_preceding_insn(self, visited, p_farref, out) -> bool + | + | decode_prev_insn(self, *args) -> 'bool' + | decode_prev_insn(self, out) -> bool + | + | first(self, *args) -> 'bool' + | first(self) -> bool + | + | last(self, *args) -> 'bool' + | last(self) -> bool + | + | next = __next__(self, *args) -> 'bool' + | + | next_addr(self, *args) -> 'bool' + | next_addr(self) -> bool + | + | next_code(self, *args) -> 'bool' + | next_code(self) -> bool + | + | next_data(self, *args) -> 'bool' + | next_data(self) -> bool + | + | next_head(self, *args) -> 'bool' + | next_head(self) -> bool + | + | next_not_tail(self, *args) -> 'bool' + | next_not_tail(self) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, func, ud) -> bool + | + | prev_addr(self, *args) -> 'bool' + | prev_addr(self) -> bool + | + | prev_code(self, *args) -> 'bool' + | prev_code(self) -> bool + | + | prev_data(self, *args) -> 'bool' + | prev_data(self) -> bool + | + | prev_head(self, *args) -> 'bool' + | prev_head(self) -> bool + | + | prev_not_tail(self, *args) -> 'bool' + | prev_not_tail(self) -> bool + | + | set(self, *args) -> 'bool' + | set(self, pfn, _ea=BADADDR) -> bool + | + | set_range(self, *args) -> 'bool' + | set_range(self, ea1, ea2) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function func_parent_iterator_set in module ida_funcs: + +func_parent_iterator_set(*args) -> 'bool' + func_parent_iterator_set(fpi, pfn) -> bool + +Help on class func_parent_iterator_t in module ida_funcs: + +class func_parent_iterator_t(builtins.object) + | Proxy of C++ func_parent_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_parent_iterator_t + | __init__(self, _fnt) -> func_parent_iterator_t + | + | __next__(self, *args) -> 'bool' + | __next__(self) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_parent_iterator_t(...) + | delete_func_parent_iterator_t(self) + | + | first(self, *args) -> 'bool' + | first(self) -> bool + | + | last(self, *args) -> 'bool' + | last(self) -> bool + | + | next = __next__(self, *args) -> 'bool' + | + | parent(self, *args) -> 'ea_t' + | parent(self) -> ea_t + | + | prev(self, *args) -> 'bool' + | prev(self) -> bool + | + | reset_fnt(self, *args) -> 'void' + | reset_fnt(self, _fnt) + | + | set(self, *args) -> 'bool' + | set(self, _fnt) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class func_t in module ida_funcs: + +class func_t(ida_range.range_t) + | Proxy of C++ func_t class. + | + | Method resolution order: + | func_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __get_points__(self, *args) -> 'dynamic_wrapped_array_t< stkpnt_t >' + | __get_points__(self) -> stkpnt_array + | + | __get_regvars__(self, *args) -> 'dynamic_wrapped_array_t< regvar_t >' + | __get_regvars__(self) -> regvar_array + | + | __get_tails__(self, *args) -> 'dynamic_wrapped_array_t< range_t >' + | __get_tails__(self) -> range_array + | + | __init__(self, *args) + | __init__(self, start=0, end=0, f=0) -> func_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_t(...) + | delete_func_t(self) + | + | analyzed_sp(self, *args) -> 'bool' + | analyzed_sp(self) -> bool + | + | does_return(self, *args) -> 'bool' + | does_return(self) -> bool + | + | is_far(self, *args) -> 'bool' + | is_far(self) -> bool + | + | need_prolog_analysis(self, *args) -> 'bool' + | need_prolog_analysis(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | argsize + | func_t_argsize_get(self) -> asize_t + | + | color + | func_t_color_get(self) -> bgcolor_t + | + | flags + | func_t_flags_get(self) -> uint64 + | + | fpd + | func_t_fpd_get(self) -> asize_t + | + | frame + | func_t_frame_get(self) -> uval_t + | + | frregs + | func_t_frregs_get(self) -> ushort + | + | frsize + | func_t_frsize_get(self) -> asize_t + | + | llabelqty + | func_t_llabelqty_get(self) -> int + | + | llabels + | func_t_llabels_get(self) -> llabel_t * + | + | owner + | func_t_owner_get(self) -> ea_t + | + | pntqty + | func_t_pntqty_get(self) -> uint32 + | + | points + | __get_points__(self) -> stkpnt_array + | + | referers + | func_t_referers_get(self) -> ea_t * + | + | refqty + | func_t_refqty_get(self) -> int + | + | regargqty + | func_t_regargqty_get(self) -> int + | + | regargs + | func_t_regargs_get(self) -> regarg_t + | + | regvarqty + | func_t_regvarqty_get(self) -> int + | + | regvars + | __get_regvars__(self) -> regvar_array + | + | tailqty + | func_t_tailqty_get(self) -> int + | + | tails + | __get_tails__(self) -> range_array + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on function func_t__from_ptrval__ in module ida_funcs: + +func_t__from_ptrval__(*args) -> 'func_t *' + func_t__from_ptrval__(ptrval) -> func_t + +Help on function func_tail_iterator_set in module ida_funcs: + +func_tail_iterator_set(*args) -> 'bool' + func_tail_iterator_set(fti, pfn, ea) -> bool + +Help on function func_tail_iterator_set_ea in module ida_funcs: + +func_tail_iterator_set_ea(*args) -> 'bool' + func_tail_iterator_set_ea(fti, ea) -> bool + +Help on class func_tail_iterator_t in module ida_funcs: + +class func_tail_iterator_t(builtins.object) + | Proxy of C++ func_tail_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_tail_iterator_t + | __init__(self, _pfn, ea=BADADDR) -> func_tail_iterator_t + | + | __next__(self, *args) -> 'bool' + | __next__(self) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_tail_iterator_t(...) + | delete_func_tail_iterator_t(self) + | + | chunk(self, *args) -> 'range_t const &' + | chunk(self) -> range_t + | + | first(self, *args) -> 'bool' + | first(self) -> bool + | + | last(self, *args) -> 'bool' + | last(self) -> bool + | + | main(self, *args) -> 'bool' + | main(self) -> bool + | + | next = __next__(self, *args) -> 'bool' + | + | prev(self, *args) -> 'bool' + | prev(self) -> bool + | + | set(self, *args) -> 'bool' + | set(self, _pfn, ea=BADADDR) -> bool + | + | set_ea(self, *args) -> 'bool' + | set_ea(self, ea) -> bool + | + | set_range(self, *args) -> 'bool' + | set_range(self, ea1, ea2) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function get_current_idasgn in module ida_funcs: + +get_current_idasgn(*args) -> 'int' + get_current_idasgn() -> int + + + Get number of the the current signature. + + @return: 0..n-1 + +Help on function get_fchunk in module ida_funcs: + +get_fchunk(*args) -> 'func_t *' + get_fchunk(ea) -> func_t + + + Get pointer to function chunk structure by address. + + @param ea: any address in a function chunk (C++: ea_t) + @return: ptr to a function chunk or NULL. This function may return a + function entry as well as a function tail. + +Help on function get_fchunk_num in module ida_funcs: + +get_fchunk_num(*args) -> 'int' + get_fchunk_num(ea) -> int + + + Get ordinal number of a function chunk in the global list of function + chunks. + + @param ea: any address in the function chunk (C++: ea_t) + @return: number of function chunk (0.. get_fchunk_qty() -1). -1 means + 'no function chunk at the specified address'. + +Help on function get_fchunk_qty in module ida_funcs: + +get_fchunk_qty(*args) -> 'size_t' + get_fchunk_qty() -> size_t + + + Get total number of function chunks in the program. + +Help on function get_fchunk_referer in module ida_funcs: + +get_fchunk_referer(*args) -> 'ea_t' + get_fchunk_referer(ea, idx) -> ea_t + +Help on function get_func in module ida_funcs: + +get_func(*args) -> 'func_t *' + get_func(ea) -> func_t + + + Get pointer to function structure by address. + + @param ea: any address in a function (C++: ea_t) + @return: ptr to a function or NULL. This function returns a function + entry chunk. + +Help on function get_func_bitness in module ida_funcs: + +get_func_bitness(*args) -> 'int' + get_func_bitness(pfn) -> int + + + Get function bitness (which is equal to the function segment bitness). + pfn==NULL => returns 0 + + @param pfn (C++: const func_t *) + +Help on function get_func_bits in module ida_funcs: + +get_func_bits(*args) -> 'int' + get_func_bits(pfn) -> int + + + Get number of bits in the function addressing. + + + @param pfn (C++: const func_t *) + +Help on function get_func_bytes in module ida_funcs: + +get_func_bytes(*args) -> 'int' + get_func_bytes(pfn) -> int + + + Get number of bytes in the function addressing. + + + @param pfn (C++: const func_t *) + +Help on function get_func_chunknum in module ida_funcs: + +get_func_chunknum(*args) -> 'int' + get_func_chunknum(pfn, ea) -> int + + + Get the containing tail chunk of 'ea'. + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on function get_func_cmt in module ida_funcs: + +get_func_cmt(*args) -> 'qstring *' + get_func_cmt(pfn, repeatable) -> str + + + Get function comment. + + @param pfn: ptr to function structure (C++: const func_t *) + @param repeatable: get repeatable comment? (C++: bool) + @return: size of comment or -1 In fact this function works with + function chunks too. + +Help on function get_func_name in module ida_funcs: + +get_func_name(*args) -> 'qstring *' + get_func_name(ea) -> str + + + Get function name. + + @param ea: any address in the function (C++: ea_t) + @return: length of the function name + +Help on function get_func_num in module ida_funcs: + +get_func_num(*args) -> 'int' + get_func_num(ea) -> int + + + Get ordinal number of a function. + + @param ea: any address in the function (C++: ea_t) + @return: number of function (0.. get_func_qty() -1). -1 means 'no + function at the specified address'. + +Help on function get_func_qty in module ida_funcs: + +get_func_qty(*args) -> 'size_t' + get_func_qty() -> size_t + + + Get total number of functions in the program. + +Help on function get_func_ranges in module ida_funcs: + +get_func_ranges(*args) -> 'ea_t' + get_func_ranges(ranges, pfn) -> ea_t + + + Get function ranges. + + @param ranges: buffer to receive the range info (C++: rangeset_t *) + @param pfn: ptr to function structure (C++: func_t *) + @return: end address of the last function range (BADADDR-error) + +Help on function get_idasgn_desc in module ida_funcs: + +get_idasgn_desc(*args) -> 'PyObject *' + get_idasgn_desc(n) -> PyObject * + + + 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) + +Help on function get_idasgn_desc_with_matches in module ida_funcs: + +get_idasgn_desc_with_matches(*args) -> 'PyObject *' + get_idasgn_desc_with_matches(n) -> PyObject * + + + 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) + +Help on function get_idasgn_qty in module ida_funcs: + +get_idasgn_qty(*args) -> 'int' + get_idasgn_qty() -> int + + + Get number of signatures in the list of planned and applied + signatures. + + @return: 0..n + +Help on function get_idasgn_title in module ida_funcs: + +get_idasgn_title(*args) -> 'qstring *' + get_idasgn_title(name) -> str + + + Get full description of the signature by its short name. + + @param name: short name of a signature (C++: const char *) + @return: size of signature description or -1 + +Help on function get_next_fchunk in module ida_funcs: + +get_next_fchunk(*args) -> 'func_t *' + get_next_fchunk(ea) -> func_t + + + Get pointer to the next function chunk in the global list. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function chunk or NULL if next function chunk doesn't + exist + +Help on function get_next_func in module ida_funcs: + +get_next_func(*args) -> 'func_t *' + get_next_func(ea) -> func_t + + + Get pointer to the next function. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function or NULL if next function doesn't exist + +Help on function get_next_func_addr in module ida_funcs: + +get_next_func_addr(*args) -> 'ea_t' + get_next_func_addr(pfn, ea) -> ea_t + +Help on function get_prev_fchunk in module ida_funcs: + +get_prev_fchunk(*args) -> 'func_t *' + get_prev_fchunk(ea) -> func_t + + + Get pointer to the previous function chunk in the global list. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function chunk or NULL if previous function chunk + doesn't exist + +Help on function get_prev_func in module ida_funcs: + +get_prev_func(*args) -> 'func_t *' + get_prev_func(ea) -> func_t + + + Get pointer to the previous function. + + @param ea: any address in the program (C++: ea_t) + @return: ptr to function or NULL if previous function doesn't exist + +Help on function get_prev_func_addr in module ida_funcs: + +get_prev_func_addr(*args) -> 'ea_t' + get_prev_func_addr(pfn, ea) -> ea_t + +Help on function getn_fchunk in module ida_funcs: + +getn_fchunk(*args) -> 'func_t *' + getn_fchunk(n) -> func_t + + + Get pointer to function chunk structure by number. + + @param n: number of function chunk, is in range 0.. get_fchunk_qty() + -1 (C++: int) + @return: ptr to a function chunk or NULL. This function may return a + function entry as well as a function tail. + +Help on function getn_func in module ida_funcs: + +getn_func(*args) -> 'func_t *' + getn_func(n) -> func_t + + + Get pointer to function structure by number. + + @param n: number of function, is in range 0.. get_func_qty() -1 (C++: + size_t) + @return: ptr to a function or NULL. This function returns a function + entry chunk. + +Help on function is_finally_visible_func in module ida_funcs: + +is_finally_visible_func(*args) -> 'bool' + is_finally_visible_func(pfn) -> bool + + + Is the function visible (event after considering 'SCF_SHHID_FUNC' )? + + + @param pfn (C++: func_t *) + +Help on function is_func_entry in module ida_funcs: + +is_func_entry(*args) -> 'bool' + is_func_entry(pfn) -> bool + + + Does function describe a function entry chunk? + + + @param pfn (C++: const func_t *) + +Help on function is_func_locked in module ida_funcs: + +is_func_locked(*args) -> 'bool' + is_func_locked(pfn) -> bool + + + Is the function pointer locked? + + + @param pfn (C++: const func_t *) + +Help on function is_func_tail in module ida_funcs: + +is_func_tail(*args) -> 'bool' + is_func_tail(pfn) -> bool + + + Does function describe a function tail chunk? + + + @param pfn (C++: const func_t *) + +Help on function is_same_func in module ida_funcs: + +is_same_func(*args) -> 'bool' + is_same_func(ea1, ea2) -> bool + + + Do two addresses belong to the same function? + + + @param ea1 (C++: ea_t) + @param ea2 (C++: ea_t) + +Help on function is_visible_func in module ida_funcs: + +is_visible_func(*args) -> 'bool' + is_visible_func(pfn) -> bool + + + Is the function visible (not hidden)? + + + @param pfn (C++: func_t *) + +Help on class lock_func in module ida_funcs: + +class lock_func(builtins.object) + | Proxy of C++ lock_func class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _pfn) -> lock_func + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lock_func(...) + | delete_lock_func(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function lock_func_range in module ida_funcs: + +lock_func_range(*args) -> 'void' + 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 *) + @param lock (C++: bool) + +Help on function plan_to_apply_idasgn in module ida_funcs: + +plan_to_apply_idasgn(*args) -> 'int' + plan_to_apply_idasgn(fname) -> int + + + Add a signature file to the list of planned signature files. + + @param fname: file name. should not contain directory part. (C++: + const char *) + @return: 0 if failed, otherwise number of planned (and applied) + signatures + +Help on class range_array in module ida_funcs: + +class range_array(builtins.object) + | Proxy of C++ dynamic_wrapped_array_t< range_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __init__(self, *args) + | __init__(self, _data, _count) -> range_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_range_array(...) + | delete_range_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | range_array_count_get(self) -> size_t + | + | data + | range_array_data_get(self) -> range_t + | + | thisown + | The membership flag + +Help on function read_regargs in module ida_funcs: + +read_regargs(*args) -> 'void' + read_regargs(pfn) + +Help on function reanalyze_function in module ida_funcs: + +reanalyze_function(*args) -> 'void' + 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: pointer to a function (C++: func_t *) + @param ea1: start of the range to analyze (C++: ea_t) + @param ea2: end of range to analyze (C++: ea_t) + @param analyze_parents: 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. (C++: bool) + +Help on function reanalyze_noret_flag in module ida_funcs: + +reanalyze_noret_flag(*args) -> 'bool' + 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) + +Help on class regarg_t in module ida_funcs: + +class regarg_t(builtins.object) + | Proxy of C++ regarg_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regarg_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_regarg_t(...) + | delete_regarg_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | regarg_t_name_get(self) -> char * + | + | reg + | regarg_t_reg_get(self) -> int + | + | thisown + | The membership flag + | + | type + | regarg_t_type_get(self) -> type_t * + +Help on class regvar_array in module ida_funcs: + +class regvar_array(builtins.object) + | Proxy of C++ dynamic_wrapped_array_t< regvar_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'regvar_t const &' + | __getitem__(self, i) -> regvar_t const & + | + | __init__(self, *args) + | __init__(self, _data, _count) -> regvar_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_regvar_array(...) + | delete_regvar_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | regvar_array_count_get(self) -> size_t + | + | data + | regvar_array_data_get(self) -> regvar_t * + | + | thisown + | The membership flag + +Help on function remove_func_tail in module ida_funcs: + +remove_func_tail(*args) -> 'bool' + 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 *) + @param tail_ea (C++: ea_t) + +Help on function set_func_cmt in module ida_funcs: + +set_func_cmt(*args) -> 'bool' + set_func_cmt(pfn, cmt, repeatable) -> bool + + + Set function comment. This function works with function chunks too. + + @param pfn: ptr to function structure (C++: const func_t *) + @param cmt: comment string, may be multiline (with ' '). Use empty + str ("") to delete comment (C++: const char *) + @param repeatable: set repeatable comment? (C++: bool) + +Help on function set_func_end in module ida_funcs: + +set_func_end(*args) -> 'bool' + set_func_end(ea, newend) -> bool + + + Move function chunk end address. + + @param ea: any address in the function (C++: ea_t) + @param newend: new end address of the function (C++: ea_t) + @return: success + +Help on function set_func_name_if_jumpfunc in module ida_funcs: + +set_func_name_if_jumpfunc(*args) -> 'int' + set_func_name_if_jumpfunc(pfn, oldname) -> int + + + Give a meaningful name to function if it consists of only 'jump' + instruction. + + @param pfn: pointer to function (may be NULL) (C++: func_t *) + @param oldname: 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 NULL. (C++: const char *) + @return: success + +Help on function set_func_start in module ida_funcs: + +set_func_start(*args) -> 'int' + set_func_start(ea, newstart) -> int + + + Move function chunk start address. + + @param ea: any address in the function (C++: ea_t) + @param newstart: new end address of the function (C++: ea_t) + @return: Function move result codes + +Help on function set_noret_insn in module ida_funcs: + +set_noret_insn(*args) -> 'bool' + 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 + +Help on function set_tail_owner in module ida_funcs: + +set_tail_owner(*args) -> 'bool' + set_tail_owner(fnt, func_start) -> bool + + + Set a function as the possessing function of a function tail. The + function should already refer to the tail (after append_func_tail). + + @param fnt (C++: func_t *) + @param func_start (C++: ea_t) + +Help on function set_visible_func in module ida_funcs: + +set_visible_func(*args) -> 'void' + set_visible_func(pfn, visible) + + + Set visibility of function. + + + @param pfn (C++: func_t *) + @param visible (C++: bool) + +Help on class stkpnt_array in module ida_funcs: + +class stkpnt_array(builtins.object) + | Proxy of C++ dynamic_wrapped_array_t< stkpnt_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'stkpnt_t const &' + | __getitem__(self, i) -> stkpnt_t const & + | + | __init__(self, *args) + | __init__(self, _data, _count) -> stkpnt_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_stkpnt_array(...) + | delete_stkpnt_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | count + | stkpnt_array_count_get(self) -> size_t + | + | data + | stkpnt_array_data_get(self) -> stkpnt_t * + | + | thisown + | The membership flag + +Help on function try_to_add_libfunc in module ida_funcs: + +try_to_add_libfunc(*args) -> 'int' + 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: any address in the program (C++: ea_t) + @return: Library function codes + +Help on function update_func in module ida_funcs: + +update_func(*args) -> 'bool' + 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: ptr to function structure (C++: func_t *) + @return: success + +=== ida_funcs EPYDOC INJECTIONS === +ida_funcs.FIND_FUNC_DEFINE +""" +create instruction if undefined byte is encountered +""" + +ida_funcs.FIND_FUNC_EXIST +""" +its bounds are returned in 'nfn'. + +function exists already. +""" + +ida_funcs.FIND_FUNC_IGNOREFN +""" +ignore existing function boundaries. by default the function returns +function boundaries if ea belongs to a function. +""" + +ida_funcs.FIND_FUNC_KEEPBD +""" +just create instructions inside the boundaries. + +do not modify incoming function boundaries, +""" + +ida_funcs.FIND_FUNC_NORMAL +""" +stop processing if undefined byte is encountered +""" + +ida_funcs.FIND_FUNC_OK +""" +ok, 'nfn' is ready for 'add_func()' +""" + +ida_funcs.FIND_FUNC_UNDEF +""" +nfn->end_ea will have the address of the unexplored byte. + +function has instructions that pass execution flow to unexplored +bytes. +""" + +ida_funcs.FUNC_BOTTOMBP +""" +BP points to the bottom of the stack frame. +""" + +ida_funcs.FUNC_FAR +""" +Far function. +""" + +ida_funcs.FUNC_FRAME +""" +Function uses frame pointer (BP) +""" + +ida_funcs.FUNC_FUZZY_SP +""" +for example: and esp, 0FFFFFFF0h + +Function changes SP in untraceable way, +""" + +ida_funcs.FUNC_HIDDEN +""" +A hidden function chunk. +""" + +ida_funcs.FUNC_LIB +""" +Library function. +""" + +ida_funcs.FUNC_LUMINA +""" +Function info is provided by Lumina. +""" + +ida_funcs.FUNC_NORET +""" +Function doesn't return. +""" + +ida_funcs.FUNC_NORET_PENDING +""" +This flag is verified upon 'func_does_return()' + +Function 'non-return' analysis must be performed. +""" + +ida_funcs.FUNC_PROLOG_OK +""" +by last SP-analysis + +Prolog analysis has be performed +""" + +ida_funcs.FUNC_PURGED_OK +""" +'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. +""" + +ida_funcs.FUNC_SP_READY +""" +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 +""" + +ida_funcs.FUNC_STATICDEF +""" +Static function. +""" + +ida_funcs.FUNC_TAIL +""" +This is a function tail. Other bits must be clear (except +'FUNC_HIDDEN' ). +""" + +ida_funcs.FUNC_THUNK +""" +Thunk (jump) function. +""" + +ida_funcs.FUNC_USERFAR +""" +of the function + +User has specified far-ness +""" + +ida_funcs.IDASGN_APPLIED +""" +signature is already applied +""" + +ida_funcs.IDASGN_BADARG +""" +bad number of signature +""" + +ida_funcs.IDASGN_CURRENT +""" +signature is currently being applied +""" + +ida_funcs.IDASGN_OK +""" +ok +""" + +ida_funcs.IDASGN_PLANNED +""" +signature is planned to be applied +""" + +ida_funcs.LIBFUNC_DELAY +""" +no decision because of lack of information +""" + +ida_funcs.LIBFUNC_FOUND +""" +ok, library function is found +""" + +ida_funcs.LIBFUNC_NONE +""" +no, this is not a library function +""" + +ida_funcs.MOVE_FUNC_BADSTART +""" +bad new start address +""" + +ida_funcs.MOVE_FUNC_NOCODE +""" +no instruction at 'newstart' +""" + +ida_funcs.MOVE_FUNC_NOFUNC +""" +no function at 'ea' +""" + +ida_funcs.MOVE_FUNC_OK +""" +ok +""" + +ida_funcs.MOVE_FUNC_REFUSED +""" +a plugin refused the action +""" +=== ida_funcs EPYDOC INJECTIONS END === +Help on class BasicBlock in module ida_gdl: + +class BasicBlock(builtins.object) + | Basic block class. It is returned by the Flowchart class + | + | Methods defined here: + | + | __init__(self, id, bb, fc) + | Initialize self. See help(type(self)) for accurate signature. + | + | preds(self) + | Iterates the predecessors list + | + | succs(self) + | Iterates the successors list + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | startEA + +Help on class FlowChart in module ida_gdl: + +class FlowChart(builtins.object) + | Flowchart class used to determine basic blocks. + | Check ex_gdl_qflow_chart.py for sample usage. + | + | Methods defined here: + | + | __getitem__(self, index) + | Returns a basic block + | + | @return: BasicBlock + | + | __init__(self, f=None, bounds=None, flags=0) + | 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. One interesting flag is FC_PREDS + | + | __iter__(self) + | + | _getitem(self, index) + | + | refresh(self) + | Refreshes the flow chart + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | size + +Help on function display_gdl in module ida_gdl: + +display_gdl(*args) -> 'int' + 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()' . + + @param fname (C++: const char *) + @return: error code from os, 0 if ok + +Help on function gen_complex_call_chart in module ida_gdl: + +gen_complex_call_chart(*args) -> 'bool' + gen_complex_call_chart(filename, wait, title, ea1, ea2, flags, recursion_depth=-1) -> bool + + + Build and display a complex xref graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param wait: message to display during graph building (C++: const char + *) + @param title: graph title (C++: const char *) + @param ea1: address range (C++: ea_t) + @param ea2: address range (C++: ea_t) + @param flags: 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. (C++: int) + @param recursion_depth: optional limit of recursion (C++: int32) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function gen_flow_graph in module ida_gdl: + +gen_flow_graph(*args) -> 'bool' + gen_flow_graph(filename, title, pfn, ea1, ea2, gflags) -> bool + + + Build and display a flow graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param title: graph title (C++: const char *) + @param pfn: function to graph (C++: func_t *) + @param ea1: if pfn == NULL, then the address range (C++: ea_t) + @param ea2: if pfn == NULL, then the address range (C++: ea_t) + @param gflags: combination of Flow graph building flags . if none of + CHART_GEN_DOT , CHART_GEN_GDL , CHART_WINGRAPH is + specified, the function will return false (C++: int) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function gen_gdl in module ida_gdl: + +gen_gdl(*args) -> 'void' + gen_gdl(g, fname) + + + Create GDL file for graph. + + + @param g (C++: const gdl_graph_t *) + @param fname (C++: const char *) + +Help on function gen_simple_call_chart in module ida_gdl: + +gen_simple_call_chart(*args) -> 'bool' + gen_simple_call_chart(filename, wait, title, gflags) -> bool + + + Build and display a simple function call graph. + + @param filename: output file name. the file extension is not used. + maybe NULL. (C++: const char *) + @param wait: message to display during graph building (C++: const char + *) + @param title: graph title (C++: const char *) + @param gflags: 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. (C++: int) + @return: success. if fails, a warning message is displayed on the + screen + +Help on function is_noret_block in module ida_gdl: + +is_noret_block(*args) -> 'bool' + is_noret_block(btype) -> bool + + + Does this block never return? + + + @param btype (C++: fc_block_type_t) + +Help on function is_ret_block in module ida_gdl: + +is_ret_block(*args) -> 'bool' + is_ret_block(btype) -> bool + + + Does this block return? + + + @param btype (C++: fc_block_type_t) + +Help on class node_iterator in module ida_gdl: + +class node_iterator(builtins.object) + | Proxy of C++ node_iterator class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, n) -> bool + | + | __init__(self, *args) + | __init__(self, _g, n) -> node_iterator + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, n) -> bool + | + | __ref__(self, *args) -> 'int' + | __ref__(self) -> int + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_node_iterator(...) + | delete_node_iterator(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qbasic_block_t in module ida_gdl: + +class qbasic_block_t(ida_range.range_t) + | Proxy of C++ qbasic_block_t class. + | + | Method resolution order: + | qbasic_block_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> qbasic_block_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qbasic_block_t(...) + | delete_qbasic_block_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on class qflow_chart_t in module ida_gdl: + +class qflow_chart_t(builtins.object) + | Proxy of C++ qflow_chart_t class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'qbasic_block_t *' + | __getitem__(self, n) -> qbasic_block_t + | + | __init__(self, *args) + | __init__(self) -> qflow_chart_t + | __init__(self, _title, _pfn, _ea1, _ea2, _flags) -> qflow_chart_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qflow_chart_t(...) + | delete_qflow_chart_t(self) + | + | append_to_flowchart(self, *args) -> 'void' + | append_to_flowchart(self, ea1, ea2) + | + | calc_block_type(self, *args) -> 'fc_block_type_t' + | calc_block_type(self, blknum) -> fc_block_type_t + | + | create(self, *args) -> 'void' + | create(self, _title, _pfn, _ea1, _ea2, _flags) + | create(self, _title, ranges, _flags) + | + | get_node_label(self, *args) -> 'char *' + | get_node_label(self, arg2, arg3, arg4) -> char * + | + | is_noret_block(self, *args) -> 'bool' + | is_noret_block(self, blknum) -> bool + | + | is_ret_block(self, *args) -> 'bool' + | is_ret_block(self, blknum) -> bool + | + | npred(self, *args) -> 'int' + | npred(self, node) -> int + | + | nsucc(self, *args) -> 'int' + | nsucc(self, node) -> int + | + | pred(self, *args) -> 'int' + | pred(self, node, i) -> int + | + | print_names(self, *args) -> 'bool' + | print_names(self) -> bool + | + | print_node_attributes(self, *args) -> 'void' + | print_node_attributes(self, arg2, arg3) + | + | refresh(self, *args) -> 'void' + | refresh(self) + | + | size(self, *args) -> 'int' + | size(self) -> int + | + | succ(self, *args) -> 'int' + | succ(self, node, i) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bounds + | qflow_chart_t_bounds_get(self) -> range_t + | + | flags + | qflow_chart_t_flags_get(self) -> int + | + | nproper + | qflow_chart_t_nproper_get(self) -> int + | + | pfn + | qflow_chart_t_pfn_get(self) -> func_t * + | + | thisown + | The membership flag + | + | title + | qflow_chart_t_title_get(self) -> qstring * + +=== ida_gdl EPYDOC INJECTIONS === +ida_gdl.CHART_FOLLOW_DIRECTION +""" +analyze references to added blocks only in the direction of the +reference who discovered the current block +""" + +ida_gdl.CHART_GEN_DOT +""" +generate .dot file (file extension is forced to .dot) +""" + +ida_gdl.CHART_GEN_GDL +""" +generate .gdl file (file extension is forced to .gdl) +""" + +ida_gdl.CHART_IGNORE_LIB_FROM +""" +ignore references from library functions +""" + +ida_gdl.CHART_IGNORE_LIB_TO +""" +ignore references to library functions +""" + +ida_gdl.CHART_NOLIBFUNCS +""" +don't include library functions in the graph +""" + +ida_gdl.CHART_PRINT_DOTS +""" +print dots if xrefs exist outside of the range recursion depth +""" + +ida_gdl.CHART_PRINT_NAMES +""" +print labels for each block? +""" + +ida_gdl.CHART_RECURSIVE +""" +analyze added blocks +""" + +ida_gdl.CHART_REFERENCED +""" +references from the addresses in the list +""" + +ida_gdl.CHART_REFERENCING +""" +references to the addresses in the list +""" + +ida_gdl.CHART_WINGRAPH +""" +call grapher to display the graph +""" + +ida_gdl.FC_APPND +""" +multirange flowchart (set by append_to_flowchart) +""" + +ida_gdl.FC_CHKBREAK +""" +build_qflow_chart() may be aborted by user +""" + +ida_gdl.FC_NOEXT +""" +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 +""" + +ida_gdl.FC_PREDS +""" +compute predecessor lists +""" + +ida_gdl.FC_PRINT +""" +print names (used only by display_flow_chart()) +""" +=== ida_gdl EPYDOC INJECTIONS END === +Help on class GraphViewer in module ida_graph: + +class GraphViewer(ida_kernwin.CustomIDAMemo) + | Proxy of C++ View_Hooks class. + | + | Method resolution order: + | GraphViewer + | ida_kernwin.CustomIDAMemo + | ida_kernwin.View_Hooks + | builtins.object + | + | Methods defined here: + | + | AddCommand(self, title, shortcut) + | + | AddEdge(self, src_node, dest_node) + | Creates an edge between two given node ids + | + | AddNode(self, obj) + | Creates a node associated with the given object and returns the node id + | + | Clear(self) + | Clears all the nodes and edges + | + | Close(self) + | Closes the graph. + | It is possible to call Show() again (which will recreate the graph) + | + | Count(self) + | Returns the node count + | + | OnCommand(self, cmd_id) + | + | OnPopup(self, widget, popup_handle) + | + | OnRefresh(self) + | 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. + | + | Select(self, node_id) + | Selects a node on the graph + | + | Show(self) + | Shows an existing graph or creates a new one + | + | @return: Boolean + | + | __getitem__(self, idx) + | Returns a reference to the object associated with this node id + | + | __init__(self, title, close_open=False) + | 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? + | + | __iter__(self) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | UI_Hooks_Trampoline = , , , ...] # 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | view_activated(self, view) + | + | view_click(self, view, ve) + | view_click(self, view, event) + | + | view_close(self, view, *args) + | view_close(self, view) + | + | view_curpos(self, view, *args) + | view_curpos(self, view) + | + | view_dblclick(self, view, ve) + | view_dblclick(self, view, event) + | + | view_deactivated(self, view) + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, view, ve) + | view_mouse_over(self, view, event) + | + | view_switched(self, view, rt) + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods inherited from ida_kernwin.CustomIDAMemo: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_kernwin.View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_View_Hooks(...) + | delete_View_Hooks(self) + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | view_created(self, *args) -> 'void' + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_kernwin.View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class TPointDouble in module ida_graph: + +class TPointDouble(builtins.object) + | Proxy of C++ TPointDouble class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> TPointDouble + | __init__(self, a, b) -> TPointDouble + | __init__(self, r) -> TPointDouble + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_TPointDouble(...) + | delete_TPointDouble(self) + | + | add(self, *args) -> 'void' + | add(self, r) + | + | negate(self, *args) -> 'void' + | negate(self) + | + | sub(self, *args) -> 'void' + | sub(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | TPointDouble_x_get(self) -> double + | + | y + | TPointDouble_y_get(self) -> double + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function calc_dist in module ida_graph: + +calc_dist(*args) -> 'double' + calc_dist(p, q) -> double + + + Calculate distance between p and q. + + + @param p (C++: point_t) + @param q (C++: point_t) + +Help on function clr_node_info in module ida_graph: + +clr_node_info(*args) -> 'void' + clr_node_info(gid, node, flags) + + + Clear node info for the given node. + + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @param flags: combination of Node info flags , identifying which + fields of node_info_t will be cleared (C++: uint32) + +Help on function create_disasm_graph in module ida_graph: + +create_disasm_graph(*args) -> 'mutable_graph_t *' + create_disasm_graph(ea) -> mutable_graph_t + create_disasm_graph(ranges) -> mutable_graph_t + + + Create a graph for the function that contains 'ea'. + + + @param ea (C++: ea_t) + +Help on function create_graph_viewer in module ida_graph: + +create_graph_viewer(*args) -> 'graph_viewer_t *' + create_graph_viewer(title, id, callback, ud, title_height, parent=None) -> graph_viewer_t * + + + Create a custom graph viewer. + + @param title: the widget title (C++: const char *) + @param id: graph id (C++: uval_t) + @param callback: callback to handle graph notifications ( + graph_notification_t ) (C++: hook_cb_t *) + @param ud: user data passed to callback (C++: void *) + @param title_height: node title height (C++: int) + @param parent (C++: TWidget *) + @return: new viewer + +Help on function create_mutable_graph in module ida_graph: + +create_mutable_graph(*args) -> 'mutable_graph_t *' + create_mutable_graph(id) -> mutable_graph_t + + + Create a new empty graph with given id. + + + @param id (C++: uval_t) + +Help on function create_user_graph_place in module ida_graph: + +create_user_graph_place(*args) -> 'user_graph_place_t *' + 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) + +Help on function del_node_info in module ida_graph: + +del_node_info(*args) -> 'void' + del_node_info(gid, node) + + + Delete the 'node_info_t' for the given node. + + + @param gid (C++: graph_id_t) + @param node (C++: int) + +Help on function delete_mutable_graph in module ida_graph: + +delete_mutable_graph(*args) -> 'void' + delete_mutable_graph(g) + + + Delete graph object.use this only if you are dealing with + 'mutable_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++: mutable_graph_t *) + +Help on class edge_info_t in module ida_graph: + +class edge_info_t(builtins.object) + | Proxy of C++ edge_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> edge_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_edge_info_t(...) + | delete_edge_info_t(self) + | + | reverse_layout(self, *args) -> 'void' + | reverse_layout(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | color + | edge_info_t_color_get(self) -> bgcolor_t + | + | dstoff + | edge_info_t_dstoff_get(self) -> int + | + | layout + | edge_info_t_layout_get(self) -> pointseq_t + | + | srcoff + | edge_info_t_srcoff_get(self) -> int + | + | thisown + | The membership flag + | + | width + | edge_info_t_width_get(self) -> int + +Help on class edge_infos_wrapper_t in module ida_graph: + +class edge_infos_wrapper_t(builtins.object) + | Proxy of C++ edge_infos_wrapper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ptr + | edge_infos_wrapper_t_ptr_get(self) -> edge_infos_t * + | + | thisown + | The membership flag + +Help on class edge_layout_point_t in module ida_graph: + +class edge_layout_point_t(builtins.object) + | Proxy of C++ edge_layout_point_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> edge_layout_point_t + | __init__(self, r) -> edge_layout_point_t + | __init__(self, _e, _pidx) -> edge_layout_point_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_edge_layout_point_t(...) + | delete_edge_layout_point_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | edge_layout_point_t_e_get(self) -> edge_t + | + | pidx + | edge_layout_point_t_pidx_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class edge_segment_t in module ida_graph: + +class edge_segment_t(builtins.object) + | Proxy of C++ edge_segment_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> edge_segment_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_edge_segment_t(...) + | delete_edge_segment_t(self) + | + | length(self, *args) -> 'size_t' + | length(self) -> size_t + | + | toright(self, *args) -> 'bool' + | toright(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | e + | edge_segment_t_e_get(self) -> edge_t + | + | nseg + | edge_segment_t_nseg_get(self) -> int + | + | thisown + | The membership flag + | + | x0 + | edge_segment_t_x0_get(self) -> int + | + | x1 + | edge_segment_t_x1_get(self) -> int + +Help on class edge_t in module ida_graph: + +class edge_t(builtins.object) + | Proxy of C++ edge_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, y) -> bool + | + | __init__(self, *args) + | __init__(self) -> edge_t + | __init__(self, x, y) -> edge_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, y) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, y) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_edge_t(...) + | delete_edge_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dst + | edge_t_dst_get(self) -> int + | + | src + | edge_t_src_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function get_graph_viewer in module ida_graph: + +get_graph_viewer(*args) -> 'graph_viewer_t *' + get_graph_viewer(parent) -> graph_viewer_t * + + + Get custom graph viewer for given form. + + + @param parent (C++: TWidget *) + +Help on function get_node_info in module ida_graph: + +get_node_info(*args) -> 'bool' + get_node_info(out, gid, node) -> bool + + + Get node info. + + @param out: result (C++: node_info_t *) + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @return: success + +Help on function get_viewer_graph in module ida_graph: + +get_viewer_graph(*args) -> 'mutable_graph_t *' + get_viewer_graph(gv) -> mutable_graph_t + + + Get graph object for given custom graph viewer. + + + @param gv (C++: graph_viewer_t *) + +Help on class graph_item_t in module ida_graph: + +class graph_item_t(builtins.object) + | Proxy of C++ graph_item_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> graph_item_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_item_t(...) + | delete_graph_item_t(self) + | + | is_edge(self, *args) -> 'bool' + | is_edge(self) -> bool + | + | is_node(self, *args) -> 'bool' + | is_node(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | b + | graph_item_t_b_get(self) -> int + | + | e + | graph_item_t_e_get(self) -> edge_t + | + | elp + | graph_item_t_elp_get(self) -> edge_layout_point_t + | + | n + | graph_item_t_n_get(self) -> int + | + | p + | graph_item_t_p_get(self) -> point_t + | + | thisown + | The membership flag + | + | type + | graph_item_t_type_get(self) -> graph_item_type_t + +Help on class graph_node_visitor_t in module ida_graph: + +class graph_node_visitor_t(builtins.object) + | Proxy of C++ graph_node_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_node_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_node_visitor_t(...) + | delete_graph_node_visitor_t(self) + | + | is_forbidden_edge(self, *args) -> 'bool' + | is_forbidden_edge(self, arg0, arg1) -> bool + | + | is_visited(self, *args) -> 'bool' + | is_visited(self, n) -> bool + | + | reinit(self, *args) -> 'void' + | reinit(self) + | + | set_visited(self, *args) -> 'void' + | set_visited(self, n) + | + | visit_node(self, *args) -> 'int' + | visit_node(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class graph_path_visitor_t in module ida_graph: + +class graph_path_visitor_t(builtins.object) + | Proxy of C++ graph_path_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_path_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_path_visitor_t(...) + | delete_graph_path_visitor_t(self) + | + | walk_backward(self, *args) -> 'int' + | walk_backward(self, arg0) -> int + | + | walk_forward(self, *args) -> 'int' + | walk_forward(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | path + | graph_path_visitor_t_path_get(self) -> intvec_t * + | + | prune + | graph_path_visitor_t_prune_get(self) -> bool + | + | thisown + | The membership flag + +Help on class graph_visitor_t in module ida_graph: + +class graph_visitor_t(builtins.object) + | Proxy of C++ graph_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> graph_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_visitor_t(...) + | delete_graph_visitor_t(self) + | + | visit_edge(self, *args) -> 'int' + | visit_edge(self, arg2, arg3) -> int + | + | visit_node(self, *args) -> 'int' + | visit_node(self, arg2, arg3) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class group_crinfo_t in module ida_graph: + +class group_crinfo_t(builtins.object) + | Proxy of C++ group_crinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> group_crinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_group_crinfo_t(...) + | delete_group_crinfo_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | nodes + | group_crinfo_t_nodes_get(self) -> intvec_t * + | + | text + | group_crinfo_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class interval_t in module ida_graph: + +class interval_t(builtins.object) + | Proxy of C++ interval_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> interval_t + | __init__(self, y0, y1) -> interval_t + | __init__(self, s) -> interval_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_interval_t(...) + | delete_interval_t(self) + | + | contains(self, *args) -> 'bool' + | contains(self, x) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | length(self, *args) -> 'int' + | length(self) -> int + | + | make_union(self, *args) -> 'void' + | make_union(self, r) + | + | move_by(self, *args) -> 'void' + | move_by(self, shift) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x0 + | interval_t_x0_get(self) -> int + | + | x1 + | interval_t_x1_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class mutable_graph_t in module ida_graph: + +class mutable_graph_t(builtins.object) + | Proxy of C++ mutable_graph_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mutable_graph_t(...) + | delete_mutable_graph_t(self) + | + | calc_group_ea(self, *args) -> 'ea_t' + | calc_group_ea(self, arg0) -> ea_t + | + | change_group_visibility(self, *args) -> 'bool' + | change_group_visibility(self, group, expand) -> bool + | + | clear(self, *args) -> 'void' + | clear(self) + | + | create_digraph_layout(self, *args) -> 'bool' + | create_digraph_layout(self) -> bool + | + | create_group(self, *args) -> 'int' + | create_group(self, nodes) -> int + | + | del_custom_layout(self, *args) -> 'void' + | del_custom_layout(self) + | + | delete_group(self, *args) -> 'bool' + | delete_group(self, group) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | exists(self, *args) -> 'bool' + | exists(self, node) -> bool + | + | get_custom_layout(self, *args) -> 'bool' + | get_custom_layout(self) -> bool + | + | get_edge(self, *args) -> 'edge_info_t' + | get_edge(self, e) -> edge_info_t + | + | get_first_subgraph_node(self, *args) -> 'int' + | get_first_subgraph_node(self, group) -> int + | + | get_graph_groups(self, *args) -> 'bool' + | get_graph_groups(self) -> bool + | + | get_next_subgraph_node(self, *args) -> 'int' + | get_next_subgraph_node(self, group, current) -> int + | + | get_node_group(self, *args) -> 'int' + | get_node_group(self, node) -> int + | + | get_node_representative(self, *args) -> 'int' + | get_node_representative(self, node) -> int + | + | is_collapsed_node(self, *args) -> 'bool' + | is_collapsed_node(self, node) -> bool + | + | is_deleted_node(self, *args) -> 'bool' + | is_deleted_node(self, node) -> bool + | + | is_displayable_node(self, *args) -> 'bool' + | is_displayable_node(self, node) -> bool + | + | is_dot_node(self, *args) -> 'bool' + | is_dot_node(self, node) -> bool + | + | is_group_node(self, *args) -> 'bool' + | is_group_node(self, node) -> bool + | + | is_simple_node(self, *args) -> 'bool' + | is_simple_node(self, node) -> bool + | + | is_subgraph_node(self, *args) -> 'bool' + | is_subgraph_node(self, node) -> bool + | + | is_uncollapsed_node(self, *args) -> 'bool' + | is_uncollapsed_node(self, node) -> bool + | + | is_user_graph(self, *args) -> 'bool' + | is_user_graph(self) -> bool + | + | is_visible_node(self, *args) -> 'bool' + | is_visible_node(self, node) -> bool + | + | node_qty(self, *args) -> 'int' + | node_qty(self) -> int + | + | npred(self, *args) -> 'int' + | npred(self, b) -> int + | + | nrect(self, *args) -> 'rect_t &' + | nrect(self, n) -> rect_t + | nrect(self, n) -> rect_t + | + | nsucc(self, *args) -> 'int' + | nsucc(self, b) -> int + | + | pred(self, *args) -> 'int' + | pred(self, b, i) -> int + | + | predset(self, *args) -> 'intvec_t const &' + | predset(self, b) -> intvec_t const & + | + | reset(self, *args) -> 'void' + | reset(self) + | + | set_custom_layout(self, *args) -> 'void' + | set_custom_layout(self) + | + | set_deleted_node(self, *args) -> 'void' + | set_deleted_node(self, node) + | + | set_edge(self, *args) -> 'bool' + | set_edge(self, e, ei) -> bool + | + | set_graph_groups(self, *args) -> 'void' + | set_graph_groups(self) + | + | set_node_group(self, *args) -> 'void' + | set_node_group(self, node, group) + | + | size(self, *args) -> 'int' + | size(self) -> int + | + | succ(self, *args) -> 'int' + | succ(self, b, i) -> int + | + | succset(self, *args) -> 'intvec_t const &' + | succset(self, b) -> intvec_t const & + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | belongs + | mutable_graph_t_belongs_get(self) -> intvec_t * + | + | edges + | mutable_graph_t_edges_get(self) -> edge_infos_wrapper_t + | + | gid + | mutable_graph_t_gid_get(self) -> uval_t + | + | node_flags + | mutable_graph_t_node_flags_get(self) -> bytevec_t * + | + | nodes + | mutable_graph_t_nodes_get(self) -> node_layout_t + | + | org_preds + | mutable_graph_t_org_preds_get(self) -> array_of_intvec_t + | + | org_succs + | mutable_graph_t_org_succs_get(self) -> array_of_intvec_t + | + | preds + | mutable_graph_t_preds_get(self) -> array_of_intvec_t + | + | succs + | mutable_graph_t_succs_get(self) -> array_of_intvec_t + | + | thisown + | The membership flag + +Help on class node_info_t in module ida_graph: + +class node_info_t(builtins.object) + | Proxy of C++ node_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> node_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_node_info_t(...) + | delete_node_info_t(self) + | + | get_flags_for_valid(self, *args) -> 'uint32' + | get_flags_for_valid(self) -> uint32 + | + | valid_bg_color(self, *args) -> 'bool' + | valid_bg_color(self) -> bool + | + | valid_ea(self, *args) -> 'bool' + | valid_ea(self) -> bool + | + | valid_flags(self, *args) -> 'bool' + | valid_flags(self) -> bool + | + | valid_frame_color(self, *args) -> 'bool' + | valid_frame_color(self) -> bool + | + | valid_text(self, *args) -> 'bool' + | valid_text(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bg_color + | node_info_t_bg_color_get(self) -> bgcolor_t + | + | ea + | node_info_t_ea_get(self) -> ea_t + | + | flags + | node_info_t_flags_get(self) -> uint32 + | + | frame_color + | node_info_t_frame_color_get(self) -> bgcolor_t + | + | text + | node_info_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class node_layout_t in module ida_graph: + +class node_layout_t(builtins.object) + | Proxy of C++ qvector< rect_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'rect_t const &' + | __getitem__(self, i) -> rect_t + | + | __init__(self, *args) + | __init__(self) -> node_layout_t + | __init__(self, x) -> node_layout_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_node_layout_t(...) + | delete_node_layout_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'rect_t const &' + | at(self, _idx) -> rect_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< rect_t >::const_iterator' + | begin(self) -> rect_t + | begin(self) -> rect_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< rect_t >::const_iterator' + | end(self) -> rect_t + | end(self) -> rect_t + | + | erase(self, *args) -> 'qvector< rect_t >::iterator' + | erase(self, it) -> rect_t + | erase(self, first, last) -> rect_t + | + | extract(self, *args) -> 'rect_t *' + | extract(self) -> rect_t + | + | find(self, *args) -> 'qvector< rect_t >::const_iterator' + | find(self, x) -> rect_t + | find(self, x) -> rect_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=rect_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< rect_t >::iterator' + | insert(self, it, x) -> rect_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'rect_t &' + | push_back(self, x) + | push_back(self) -> rect_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class node_ordering_t in module ida_graph: + +class node_ordering_t(builtins.object) + | Proxy of C++ node_ordering_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> node_ordering_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_node_ordering_t(...) + | delete_node_ordering_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | node(self, *args) -> 'int' + | node(self, _order) -> int + | + | resize(self, *args) -> 'void' + | resize(self, n) + | + | set(self, *args) -> 'void' + | set(self, _node, num) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class point_t in module ida_graph: + +class point_t(builtins.object) + | Proxy of C++ point_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> point_t + | __init__(self, _x, _y) -> point_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_point_t(...) + | delete_point_t(self) + | + | add(self, *args) -> 'point_t &' + | add(self, r) -> point_t + | + | negate(self, *args) -> 'void' + | negate(self) + | + | sub(self, *args) -> 'point_t &' + | sub(self, r) -> point_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | point_t_x_get(self) -> int + | + | y + | point_t_y_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class pointseq_t in module ida_graph: + +class pointseq_t(pointvec_t) + | Proxy of C++ pointseq_t class. + | + | Method resolution order: + | pointseq_t + | pointvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> pointseq_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_pointseq_t(...) + | delete_pointseq_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from pointvec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'point_t const &' + | __getitem__(self, i) -> point_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'point_t const &' + | at(self, _idx) -> point_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< point_t >::const_iterator' + | begin(self) -> point_t + | begin(self) -> point_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< point_t >::const_iterator' + | end(self) -> point_t + | end(self) -> point_t + | + | erase(self, *args) -> 'qvector< point_t >::iterator' + | erase(self, it) -> point_t + | erase(self, first, last) -> point_t + | + | extract(self, *args) -> 'point_t *' + | extract(self) -> point_t + | + | find(self, *args) -> 'qvector< point_t >::const_iterator' + | find(self, x) -> point_t + | find(self, x) -> point_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=point_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< point_t >::iterator' + | insert(self, it, x) -> point_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'point_t &' + | push_back(self, x) + | push_back(self) -> point_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from pointvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from pointvec_t: + | + | __hash__ = None + +Help on class pointvec_t in module ida_graph: + +class pointvec_t(builtins.object) + | Proxy of C++ qvector< point_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'point_t const &' + | __getitem__(self, i) -> point_t + | + | __init__(self, *args) + | __init__(self) -> pointvec_t + | __init__(self, x) -> pointvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_pointvec_t(...) + | delete_pointvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'point_t const &' + | at(self, _idx) -> point_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< point_t >::const_iterator' + | begin(self) -> point_t + | begin(self) -> point_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< point_t >::const_iterator' + | end(self) -> point_t + | end(self) -> point_t + | + | erase(self, *args) -> 'qvector< point_t >::iterator' + | erase(self, it) -> point_t + | erase(self, first, last) -> point_t + | + | extract(self, *args) -> 'point_t *' + | extract(self) -> point_t + | + | find(self, *args) -> 'qvector< point_t >::const_iterator' + | find(self, x) -> point_t + | find(self, x) -> point_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=point_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< point_t >::iterator' + | insert(self, it, x) -> point_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'point_t &' + | push_back(self, x) + | push_back(self) -> point_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function pyg_close in module ida_graph: + +pyg_close(*args) -> 'void' + pyg_close(_self) + +Help on function pyg_select_node in module ida_graph: + +pyg_select_node(*args) -> 'void' + pyg_select_node(_self, nid) + +Help on function pyg_show in module ida_graph: + +pyg_show(*args) -> 'bool' + pyg_show(_self) -> bool + +Help on class rect_t in module ida_graph: + +class rect_t(builtins.object) + | Proxy of C++ rect_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> rect_t + | __init__(self, l, t, r, b) -> rect_t + | __init__(self, p0, p1) -> rect_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_rect_t(...) + | delete_rect_t(self) + | + | area(self, *args) -> 'int' + | area(self) -> int + | + | bottomright(self, *args) -> 'point_t' + | bottomright(self) -> point_t + | + | center(self, *args) -> 'point_t' + | center(self) -> point_t + | + | contains(self, *args) -> 'bool' + | contains(self, p) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | grow(self, *args) -> 'void' + | grow(self, delta) + | + | height(self, *args) -> 'int' + | height(self) -> int + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | is_intersection_empty(self, *args) -> 'bool' + | is_intersection_empty(self, r) -> bool + | + | make_union(self, *args) -> 'void' + | make_union(self, r) + | + | move_by(self, *args) -> 'void' + | move_by(self, p) + | + | move_to(self, *args) -> 'void' + | move_to(self, p) + | + | topleft(self, *args) -> 'point_t' + | topleft(self) -> point_t + | + | width(self, *args) -> 'int' + | width(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bottom + | rect_t_bottom_get(self) -> int + | + | left + | rect_t_left_get(self) -> int + | + | right + | rect_t_right_get(self) -> int + | + | thisown + | The membership flag + | + | top + | rect_t_top_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function refresh_viewer in module ida_graph: + +refresh_viewer(*args) -> 'void' + refresh_viewer(gv) + + + Redraw the graph in the given view. + + + @param gv (C++: graph_viewer_t *) + +Help on class row_info_t in module ida_graph: + +class row_info_t(builtins.object) + | Proxy of C++ row_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> row_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_row_info_t(...) + | delete_row_info_t(self) + | + | height(self, *args) -> 'int' + | height(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bottom + | row_info_t_bottom_get(self) -> int + | + | nodes + | row_info_t_nodes_get(self) -> intvec_t * + | + | thisown + | The membership flag + | + | top + | row_info_t_top_get(self) -> int + +Help on class screen_graph_selection_base_t in module ida_graph: + +class screen_graph_selection_base_t(builtins.object) + | Proxy of C++ qvector< selection_item_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'selection_item_t const &' + | __getitem__(self, i) -> selection_item_t + | + | __init__(self, *args) + | __init__(self) -> screen_graph_selection_base_t + | __init__(self, x) -> screen_graph_selection_base_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_screen_graph_selection_base_t(...) + | delete_screen_graph_selection_base_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'selection_item_t const &' + | at(self, _idx) -> selection_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | begin(self) -> selection_item_t + | begin(self) -> selection_item_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | end(self) -> selection_item_t + | end(self) -> selection_item_t + | + | erase(self, *args) -> 'qvector< selection_item_t >::iterator' + | erase(self, it) -> selection_item_t + | erase(self, first, last) -> selection_item_t + | + | extract(self, *args) -> 'selection_item_t *' + | extract(self) -> selection_item_t + | + | find(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | find(self, x) -> selection_item_t + | find(self, x) -> selection_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=selection_item_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< selection_item_t >::iterator' + | insert(self, it, x) -> selection_item_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'selection_item_t &' + | push_back(self, x) + | push_back(self) -> selection_item_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class screen_graph_selection_t in module ida_graph: + +class screen_graph_selection_t(screen_graph_selection_base_t) + | Proxy of C++ screen_graph_selection_t class. + | + | Method resolution order: + | screen_graph_selection_t + | screen_graph_selection_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> screen_graph_selection_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_screen_graph_selection_t(...) + | delete_screen_graph_selection_t(self) + | + | add(self, *args) -> 'void' + | add(self, s) + | + | add_node(self, *args) -> 'void' + | add_node(self, node) + | + | add_point(self, *args) -> 'void' + | add_point(self, e, idx) + | + | del_node(self, *args) -> 'void' + | del_node(self, node) + | + | del_point(self, *args) -> 'void' + | del_point(self, e, idx) + | + | has(self, *args) -> 'bool' + | has(self, item) -> bool + | + | items_count(self, *args) -> 'size_t' + | items_count(self, look_for_nodes) -> size_t + | + | nodes_count(self, *args) -> 'size_t' + | nodes_count(self) -> size_t + | + | points_count(self, *args) -> 'size_t' + | points_count(self) -> size_t + | + | sub(self, *args) -> 'void' + | sub(self, s) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from screen_graph_selection_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'selection_item_t const &' + | __getitem__(self, i) -> selection_item_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'selection_item_t const &' + | at(self, _idx) -> selection_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | begin(self) -> selection_item_t + | begin(self) -> selection_item_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | end(self) -> selection_item_t + | end(self) -> selection_item_t + | + | erase(self, *args) -> 'qvector< selection_item_t >::iterator' + | erase(self, it) -> selection_item_t + | erase(self, first, last) -> selection_item_t + | + | extract(self, *args) -> 'selection_item_t *' + | extract(self) -> selection_item_t + | + | find(self, *args) -> 'qvector< selection_item_t >::const_iterator' + | find(self, x) -> selection_item_t + | find(self, x) -> selection_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=selection_item_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< selection_item_t >::iterator' + | insert(self, it, x) -> selection_item_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'selection_item_t &' + | push_back(self, x) + | push_back(self) -> selection_item_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from screen_graph_selection_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from screen_graph_selection_base_t: + | + | __hash__ = None + +Help on class selection_item_t in module ida_graph: + +class selection_item_t(builtins.object) + | Proxy of C++ selection_item_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> selection_item_t + | __init__(self, n) -> selection_item_t + | __init__(self, _elp) -> selection_item_t + | __init__(self, e, idx) -> selection_item_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_selection_item_t(...) + | delete_selection_item_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | elp + | selection_item_t_elp_get(self) -> edge_layout_point_t + | + | is_node + | selection_item_t_is_node_get(self) -> bool + | + | node + | selection_item_t_node_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function set_node_info in module ida_graph: + +set_node_info(*args) -> 'void' + set_node_info(gid, node, ni, flags) + + + Set node info. + + @param gid: id of desired graph (C++: graph_id_t) + @param node: node number (C++: int) + @param ni: node info to use (C++: const node_info_t &) + @param flags: combination of Node info flags , identifying which + fields of 'ni' will be used (C++: uint32) + +Help on function set_viewer_graph in module ida_graph: + +set_viewer_graph(*args) -> 'void' + set_viewer_graph(gv, g) + + + Set the underlying graph object for the given viewer. + + + @param gv (C++: graph_viewer_t *) + @param g (C++: mutable_graph_t *) + +Help on class user_graph_place_t in module ida_graph: + +class user_graph_place_t(builtins.object) + | Proxy of C++ user_graph_place_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_graph_place_t(...) + | delete_user_graph_place_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | node + | user_graph_place_t_node_get(self) -> int + | + | thisown + | The membership flag + +Help on function viewer_attach_menu_item in module ida_graph: + +viewer_attach_menu_item(*args) -> 'bool' + 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 *) + @param name: action name (C++: const char *) + @return: success + +Help on function viewer_center_on in module ida_graph: + +viewer_center_on(*args) -> 'void' + viewer_center_on(gv, node) + + + Center the graph view on the given node. + + + @param gv (C++: graph_viewer_t *) + @param node (C++: int) + +Help on function viewer_create_groups in module ida_graph: + +viewer_create_groups(*args) -> 'bool' + 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 mutable_graph_t::create_group that + will, in essence:clone the current graphfor each 'group_crinfo_t' , + attempt creating group in that new graphif all were successful, + animate to that new graph.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 &) + +Help on function viewer_del_node_info in module ida_graph: + +viewer_del_node_info(*args) -> 'void' + 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) + +Help on function viewer_delete_groups in module ida_graph: + +viewer_delete_groups(*args) -> 'bool' + viewer_delete_groups(gv, groups, new_current=-1) -> bool + + + Wrapper around mutable_graph_t::delete_group. This function will:clone + the current graphattempt deleting the groups in that new graphif + successful, animate to that new graph. + + @param gv (C++: graph_viewer_t *) + @param groups (C++: const intvec_t &) + @param new_current (C++: int) + +Help on function viewer_fit_window in module ida_graph: + +viewer_fit_window(*args) -> 'void' + viewer_fit_window(gv) + + + Fit graph viewer to its parent form. + + + @param gv (C++: graph_viewer_t *) + +Help on function viewer_get_curnode in module ida_graph: + +viewer_get_curnode(*args) -> 'int' + viewer_get_curnode(gv) -> int + + + Get number of currently selected node (-1 if none) + + + @param gv (C++: graph_viewer_t *) + +Help on function viewer_get_gli in module ida_graph: + +viewer_get_gli(*args) -> 'bool' + 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) + +Help on function viewer_get_node_info in module ida_graph: + +viewer_get_node_info(*args) -> 'bool' + 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) + +Help on function viewer_get_selection in module ida_graph: + +viewer_get_selection(*args) -> 'bool' + 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 *) + +Help on function viewer_set_gli in module ida_graph: + +viewer_set_gli(*args) -> 'void' + 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 *) + @param flags (C++: uint32) + +Help on function viewer_set_groups_visibility in module ida_graph: + +viewer_set_groups_visibility(*args) -> 'bool' + viewer_set_groups_visibility(gv, groups, expand, new_current=-1) -> bool + + + Wrapper around mutable_graph_t::change_visibility. This function + will:clone the current graphattempt changing visibility of the groups + in that new graphif successful, animate to that new graph. + + @param gv (C++: graph_viewer_t *) + @param groups (C++: const intvec_t &) + @param expand (C++: bool) + @param new_current (C++: int) + +Help on function viewer_set_node_info in module ida_graph: + +viewer_set_node_info(*args) -> 'void' + 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 &) + @param flags (C++: uint32) + +Help on function viewer_set_titlebar_height in module ida_graph: + +viewer_set_titlebar_height(*args) -> 'int' + 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) + +=== ida_graph EPYDOC INJECTIONS === +ida_graph.GLICTL_CENTER +""" +the gli should be set/get as center +""" + +ida_graph.MTG_DOT_NODE +""" +is dot node? +""" + +ida_graph.MTG_GROUP_NODE +""" +is group node? +""" + +ida_graph.MTG_NON_DISPLAYABLE_NODE +""" +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) +""" + +ida_graph.NIF_BG_COLOR +""" + 'node_info_t::bg_color' +""" + +ida_graph.NIF_EA +""" + 'node_info_t::ea' +""" + +ida_graph.NIF_FLAGS +""" + 'node_info_t::flags' +""" + +ida_graph.NIF_FRAME_COLOR +""" + 'node_info_t::frame_color' +""" + +ida_graph.NIF_TEXT +""" + 'node_info_t::text' +""" +=== ida_graph EPYDOC INJECTIONS END === +Help on class DecompilationFailure in module ida_hexrays: + +class DecompilationFailure(builtins.Exception) + | Raised on a decompilation error. + | + | The associated hexrays_failure_t object is stored in the + | 'info' member of this exception. + | + | Method resolution order: + | DecompilationFailure + | builtins.Exception + | builtins.BaseException + | builtins.object + | + | Methods defined here: + | + | __init__(self, info) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Methods inherited from builtins.Exception: + | + | __new__(*args, **kwargs) from builtins.type + | Create and return a new object. See help(type) for accurate signature. + | + | ---------------------------------------------------------------------- + | Methods inherited from builtins.BaseException: + | + | __delattr__(self, name, /) + | Implement delattr(self, name). + | + | __getattribute__(self, name, /) + | Return getattr(self, name). + | + | __reduce__(...) + | helper for pickle + | + | __repr__(self, /) + | Return repr(self). + | + | __setattr__(self, name, value, /) + | Implement setattr(self, name, value). + | + | __setstate__(...) + | + | __str__(self, /) + | Return str(self). + | + | with_traceback(...) + | Exception.with_traceback(tb) -- + | set self.__traceback__ to tb and return self. + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from builtins.BaseException: + | + | __cause__ + | exception cause + | + | __context__ + | exception context + | + | __dict__ + | + | __suppress_context__ + | + | __traceback__ + | + | args + +Help on class Hexrays_Hooks in module ida_hexrays: + +class Hexrays_Hooks(builtins.object) + | Proxy of C++ Hexrays_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> Hexrays_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_Hexrays_Hooks(...) + | delete_Hexrays_Hooks(self) + | + | close_pseudocode(self, *args) -> 'int' + | close_pseudocode(self, vu) -> int + | + | cmt_changed(self, *args) -> 'int' + | cmt_changed(self, cfunc, loc, cmt) -> int + | + | combine(self, *args) -> 'int' + | combine(self, blk, insn) -> int + | + | create_hint(self, *args) -> 'PyObject *' + | create_hint(self, vu) -> PyObject * + | + | curpos(self, *args) -> 'int' + | curpos(self, vu) -> int + | + | double_click(self, *args) -> 'int' + | double_click(self, vu, shift_state) -> int + | + | flowchart(self, *args) -> 'int' + | flowchart(self, fc) -> int + | + | func_printed(self, *args) -> 'int' + | func_printed(self, cfunc) -> int + | + | glbopt(self, *args) -> 'int' + | glbopt(self, mba) -> int + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | interr(self, *args) -> 'int' + | interr(self, errcode) -> int + | + | keyboard(self, *args) -> 'int' + | keyboard(self, vu, key_code, shift_state) -> int + | + | locopt(self, *args) -> 'int' + | locopt(self, mba) -> int + | + | lvar_cmt_changed(self, *args) -> 'int' + | lvar_cmt_changed(self, vu, v, cmt) -> int + | + | lvar_mapping_changed(self, *args) -> 'int' + | lvar_mapping_changed(self, vu, frm, to) -> int + | + | lvar_name_changed(self, *args) -> 'int' + | lvar_name_changed(self, vu, v, name, is_user_name) -> int + | + | lvar_type_changed(self, *args) -> 'int' + | lvar_type_changed(self, vu, v, tinfo) -> int + | + | maturity(self, *args) -> 'int' + | maturity(self, cfunc, new_maturity) -> int + | + | microcode(self, *args) -> 'int' + | microcode(self, mba) -> int + | + | open_pseudocode(self, *args) -> 'int' + | open_pseudocode(self, vu) -> int + | + | populating_popup(self, *args) -> 'int' + | populating_popup(self, widget, popup_handle, vu) -> int + | + | prealloc(self, *args) -> 'int' + | prealloc(self, mba) -> int + | + | preoptimized(self, *args) -> 'int' + | preoptimized(self, mba) -> int + | + | print_func(self, *args) -> 'int' + | print_func(self, cfunc, vp) -> int + | + | prolog(self, *args) -> 'int' + | prolog(self, mba, fc, reachable_blocks, decomp_flags) -> int + | + | refresh_pseudocode(self, *args) -> 'int' + | refresh_pseudocode(self, vu) -> int + | + | resolve_stkaddrs(self, *args) -> 'int' + | resolve_stkaddrs(self, mba) -> int + | + | right_click(self, *args) -> 'int' + | right_click(self, vu) -> int + | + | stkpnts(self, *args) -> 'int' + | stkpnts(self, mba, _sps) -> int + | + | structural(self, *args) -> 'int' + | structural(self, ct) -> int + | + | switch_pseudocode(self, *args) -> 'int' + | switch_pseudocode(self, vu) -> int + | + | text_ready(self, *args) -> 'int' + | text_ready(self, vu) -> int + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class __cbhooks_t in module ida_hexrays: + +class __cbhooks_t(Hexrays_Hooks) + | Proxy of C++ Hexrays_Hooks class. + | + | Method resolution order: + | __cbhooks_t + | Hexrays_Hooks + | builtins.object + | + | Methods defined here: + | + | __init__(self, callback) + | __init__(self, _flags=0) -> Hexrays_Hooks + | + | close_pseudocode(self, *args) + | close_pseudocode(self, vu) -> int + | + | create_hint(self, *args) + | create_hint(self, vu) -> PyObject * + | + | curpos(self, *args) + | curpos(self, vu) -> int + | + | double_click(self, *args) + | double_click(self, vu, shift_state) -> int + | + | func_printed(self, *args) + | func_printed(self, cfunc) -> int + | + | interr(self, *args) + | interr(self, errcode) -> int + | + | keyboard(self, *args) + | keyboard(self, vu, key_code, shift_state) -> int + | + | maturity(self, *args) + | maturity(self, cfunc, new_maturity) -> int + | + | open_pseudocode(self, *args) + | open_pseudocode(self, vu) -> int + | + | populating_popup(self, *args) + | populating_popup(self, widget, popup_handle, vu) -> int + | + | print_func(self, *args) + | print_func(self, cfunc, vp) -> int + | + | refresh_pseudocode(self, *args) + | refresh_pseudocode(self, vu) -> int + | + | right_click(self, *args) + | right_click(self, vu) -> int + | + | switch_pseudocode(self, *args) + | switch_pseudocode(self, vu) -> int + | + | text_ready(self, *args) + | text_ready(self, vu) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | instances = [] + | + | ---------------------------------------------------------------------- + | Methods inherited from Hexrays_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_Hexrays_Hooks(...) + | delete_Hexrays_Hooks(self) + | + | cmt_changed(self, *args) -> 'int' + | cmt_changed(self, cfunc, loc, cmt) -> int + | + | combine(self, *args) -> 'int' + | combine(self, blk, insn) -> int + | + | flowchart(self, *args) -> 'int' + | flowchart(self, fc) -> int + | + | glbopt(self, *args) -> 'int' + | glbopt(self, mba) -> int + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | locopt(self, *args) -> 'int' + | locopt(self, mba) -> int + | + | lvar_cmt_changed(self, *args) -> 'int' + | lvar_cmt_changed(self, vu, v, cmt) -> int + | + | lvar_mapping_changed(self, *args) -> 'int' + | lvar_mapping_changed(self, vu, frm, to) -> int + | + | lvar_name_changed(self, *args) -> 'int' + | lvar_name_changed(self, vu, v, name, is_user_name) -> int + | + | lvar_type_changed(self, *args) -> 'int' + | lvar_type_changed(self, vu, v, tinfo) -> int + | + | microcode(self, *args) -> 'int' + | microcode(self, mba) -> int + | + | prealloc(self, *args) -> 'int' + | prealloc(self, mba) -> int + | + | preoptimized(self, *args) -> 'int' + | preoptimized(self, mba) -> int + | + | prolog(self, *args) -> 'int' + | prolog(self, mba, fc, reachable_blocks, decomp_flags) -> int + | + | resolve_stkaddrs(self, *args) -> 'int' + | resolve_stkaddrs(self, mba) -> int + | + | stkpnts(self, *args) -> 'int' + | stkpnts(self, mba, _sps) -> int + | + | structural(self, *args) -> 'int' + | structural(self, ct) -> int + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from Hexrays_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function _call_with_transferrable_ownership in module ida_hexrays: + +_call_with_transferrable_ownership(fun, *args) + # Object ownership + +Help on function _kludge_use_TPopupMenu in module ida_hexrays: + +_kludge_use_TPopupMenu(*args) -> 'void' + _kludge_use_TPopupMenu(m) + +Help on function _ll_call_helper in module ida_hexrays: + +_ll_call_helper(*args) -> 'cexpr_t *' + _ll_call_helper(rettype, args, format) -> cexpr_t + +Help on function _ll_create_helper in module ida_hexrays: + +_ll_create_helper(*args) -> 'cexpr_t *' + _ll_create_helper(standalone, type, format) -> cexpr_t + +Help on function _ll_dereference in module ida_hexrays: + +_ll_dereference(*args) -> 'cexpr_t *' + _ll_dereference(e, ptrsize, is_flt=False) -> cexpr_t + +Help on function _ll_lnot in module ida_hexrays: + +_ll_lnot(*args) -> 'cexpr_t *' + _ll_lnot(e) -> cexpr_t + +Help on function _ll_make_num in module ida_hexrays: + +_ll_make_num(*args) -> 'cexpr_t *' + _ll_make_num(n, func=None, ea=BADADDR, opnum=0, sign=no_sign, size=0) -> cexpr_t + +Help on function _ll_make_ref in module ida_hexrays: + +_ll_make_ref(*args) -> 'cexpr_t *' + _ll_make_ref(e) -> cexpr_t + +Help on function _ll_new_block in module ida_hexrays: + +_ll_new_block(*args) -> 'cinsn_t *' + _ll_new_block() -> cinsn_t + +Help on function _map_as_dict in module ida_hexrays: + +_map_as_dict(maptype, name, keytype, valuetype) + # dictify all dict-like types + +Help on function accepts_small_udts in module ida_hexrays: + +accepts_small_udts(*args) -> 'bool' + accepts_small_udts(op) -> bool + + + Is the operator allowed on small structure or union? + + + @param op (C++: ctype_t) + +Help on function accepts_udts in module ida_hexrays: + +accepts_udts(*args) -> 'bool' + accepts_udts(op) -> bool + +Help on function arglocs_overlap in module ida_hexrays: + +arglocs_overlap(*args) -> 'bool' + arglocs_overlap(loc1, w1, loc2, w2) -> bool + + + Do two arglocs overlap? + + + @param loc1 (C++: const vdloc_t &) + @param w1 (C++: size_t) + @param loc2 (C++: const vdloc_t &) + @param w2 (C++: size_t) + +Help on class array_of_bitsets in module ida_hexrays: + +class array_of_bitsets(builtins.object) + | Proxy of C++ qvector< bitset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'bitset_t const &' + | __getitem__(self, i) -> bitset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_bitsets + | __init__(self, x) -> array_of_bitsets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_array_of_bitsets(...) + | delete_array_of_bitsets(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'bitset_t const &' + | at(self, _idx) -> bitset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< bitset_t >::const_iterator' + | begin(self) -> bitset_t + | begin(self) -> bitset_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< bitset_t >::const_iterator' + | end(self) -> bitset_t + | end(self) -> bitset_t + | + | erase(self, *args) -> 'qvector< bitset_t >::iterator' + | erase(self, it) -> bitset_t + | erase(self, first, last) -> bitset_t + | + | extract(self, *args) -> 'bitset_t *' + | extract(self) -> bitset_t + | + | find(self, *args) -> 'qvector< bitset_t >::const_iterator' + | find(self, x) -> bitset_t + | find(self, x) -> bitset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=bitset_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< bitset_t >::iterator' + | insert(self, it, x) -> bitset_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'bitset_t &' + | push_back(self, x) + | push_back(self) -> bitset_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class array_of_ivlsets in module ida_hexrays: + +class array_of_ivlsets(builtins.object) + | Proxy of C++ qvector< ivlset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'ivlset_t const &' + | __getitem__(self, i) -> ivlset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_ivlsets + | __init__(self, x) -> array_of_ivlsets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_array_of_ivlsets(...) + | delete_array_of_ivlsets(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'ivlset_t const &' + | at(self, _idx) -> ivlset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< ivlset_t >::const_iterator' + | begin(self) -> ivlset_t + | begin(self) -> ivlset_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< ivlset_t >::const_iterator' + | end(self) -> ivlset_t + | end(self) -> ivlset_t + | + | erase(self, *args) -> 'qvector< ivlset_t >::iterator' + | erase(self, it) -> ivlset_t + | erase(self, first, last) -> ivlset_t + | + | extract(self, *args) -> 'ivlset_t *' + | extract(self) -> ivlset_t + | + | find(self, *args) -> 'qvector< ivlset_t >::const_iterator' + | find(self, x) -> ivlset_t + | find(self, x) -> ivlset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=ivlset_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< ivlset_t >::iterator' + | insert(self, it, x) -> ivlset_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'ivlset_t &' + | push_back(self, x) + | push_back(self) -> ivlset_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function asgop in module ida_hexrays: + +asgop(*args) -> 'ctype_t' + asgop(cop) -> ctype_t + + + Convert plain operator into assignment operator. For example, cot_add + returns cot_asgadd. + + + @param cop (C++: ctype_t) + +Help on function asgop_revert in module ida_hexrays: + +asgop_revert(*args) -> 'ctype_t' + asgop_revert(cop) -> ctype_t + + + Convert assignment operator into plain operator. For example, + cot_asgadd returns cot_add + + @param cop (C++: ctype_t) + @return: cot_empty is the input operator is not an assignment + operator. + +Help on class bit_bound_t in module ida_hexrays: + +class bit_bound_t(builtins.object) + | Proxy of C++ bit_bound_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=0, s=0) -> bit_bound_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bit_bound_t(...) + | delete_bit_bound_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | nbits + | bit_bound_t_nbits_get(self) -> int16 + | + | sbits + | bit_bound_t_sbits_get(self) -> int16 + | + | thisown + | The membership flag + +Help on class bitset_t in module ida_hexrays: + +class bitset_t(builtins.object) + | Proxy of C++ bitset_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> bitset_t + | __init__(self, m) -> bitset_t + | + | __iter__(self) + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __len__ = count(self, *args) -> 'int' + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bitset_t(...) + | delete_bitset_t(self) + | + | add(self, *args) -> 'bool' + | add(self, bit) -> bool + | add(self, bit, width) -> bool + | add(self, ml) -> bool + | + | back(self, *args) -> 'int' + | back(self) -> int + | + | begin(self, *args) -> 'bitset_t::iterator' + | begin(self) -> bitset_t::iterator + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | copy(self, *args) -> 'bitset_t &' + | copy(self, m) -> bitset_t + | + | count(self, *args) -> 'int' + | count(self) -> int + | count(self, bit) -> int + | + | cut_at(self, *args) -> 'bool' + | cut_at(self, maxbit) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'bitset_t::iterator' + | end(self) -> bitset_t::iterator + | + | fill_with_ones(self, *args) -> 'void' + | fill_with_ones(self, maxbit) + | + | front(self, *args) -> 'int' + | front(self) -> int + | + | has(self, *args) -> 'bool' + | has(self, bit) -> bool + | + | has_all(self, *args) -> 'bool' + | has_all(self, bit, width) -> bool + | + | has_any(self, *args) -> 'bool' + | has_any(self, bit, width) -> bool + | + | has_common(self, *args) -> 'bool' + | has_common(self, ml) -> bool + | + | inc(self, *args) -> 'void' + | inc(self, p, n=1) + | + | includes(self, *args) -> 'bool' + | includes(self, ml) -> bool + | + | intersect(self, *args) -> 'bool' + | intersect(self, ml) -> bool + | + | is_subset_of(self, *args) -> 'bool' + | is_subset_of(self, ml) -> bool + | + | itat(self, *args) -> 'bitset_t::iterator' + | itat(self, n) -> bitset_t::iterator + | + | itv(self, *args) -> 'int' + | itv(self, it) -> int + | + | last(self, *args) -> 'int' + | last(self) -> int + | + | shift_down(self, *args) -> 'void' + | shift_down(self, shift) + | + | sub(self, *args) -> 'bool' + | sub(self, bit) -> bool + | sub(self, bit, width) -> bool + | sub(self, ml) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function block_chains_begin in module ida_hexrays: + +block_chains_begin(*args) -> 'block_chains_iterator_t' + 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 *) + +Help on function block_chains_clear in module ida_hexrays: + +block_chains_clear(*args) -> 'void' + block_chains_clear(set) + + + Clear 'block_chains_t' . + + + @param set (C++: block_chains_t *) + +Help on function block_chains_end in module ida_hexrays: + +block_chains_end(*args) -> 'block_chains_iterator_t' + 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 *) + +Help on function block_chains_erase in module ida_hexrays: + +block_chains_erase(*args) -> 'void' + 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) + +Help on function block_chains_find in module ida_hexrays: + +block_chains_find(*args) -> 'block_chains_iterator_t' + 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 *) + @param val (C++: const chain_t &) + +Help on function block_chains_free in module ida_hexrays: + +block_chains_free(*args) -> 'void' + block_chains_free(set) + + + Delete 'block_chains_t' instance. + + + @param set (C++: block_chains_t *) + +Help on function block_chains_get in module ida_hexrays: + +block_chains_get(*args) -> 'chain_t &' + block_chains_get(p) -> chain_t + + + Get reference to the current set value. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_insert in module ida_hexrays: + +block_chains_insert(*args) -> 'block_chains_iterator_t' + 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 &) + +Help on class block_chains_iterator_t in module ida_hexrays: + +class block_chains_iterator_t(builtins.object) + | Proxy of C++ block_chains_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> block_chains_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_block_chains_iterator_t(...) + | delete_block_chains_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | block_chains_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function block_chains_new in module ida_hexrays: + +block_chains_new(*args) -> 'block_chains_t *' + block_chains_new() -> block_chains_t + + + Create a new 'block_chains_t' instance. + +Help on function block_chains_next in module ida_hexrays: + +block_chains_next(*args) -> 'block_chains_iterator_t' + block_chains_next(p) -> block_chains_iterator_t + + + Move to the next element. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_prev in module ida_hexrays: + +block_chains_prev(*args) -> 'block_chains_iterator_t' + block_chains_prev(p) -> block_chains_iterator_t + + + Move to the previous element. + + + @param p (C++: block_chains_iterator_t) + +Help on function block_chains_size in module ida_hexrays: + +block_chains_size(*args) -> 'size_t' + block_chains_size(set) -> size_t + + + Get size of 'block_chains_t' . + + + @param set (C++: block_chains_t *) + +Help on class block_chains_t in module ida_hexrays: + +class block_chains_t(builtins.object) + | Proxy of C++ block_chains_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> block_chains_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_block_chains_t(...) + | delete_block_chains_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | get_chain(self, *args) -> 'chain_t *' + | get_chain(self, k, width=1) -> chain_t + | get_chain(self, k, width=1) -> chain_t + | get_chain(self, ch) -> chain_t + | get_chain(self, ch) -> chain_t + | + | get_reg_chain(self, *args) -> 'chain_t *' + | get_reg_chain(self, reg, width=1) -> chain_t + | get_reg_chain(self, reg, width=1) -> chain_t + | + | get_stk_chain(self, *args) -> 'chain_t *' + | get_stk_chain(self, off, width=1) -> chain_t + | get_stk_chain(self, off, width=1) -> chain_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class block_chains_vec_t in module ida_hexrays: + +class block_chains_vec_t(builtins.object) + | Proxy of C++ qvector< block_chains_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'block_chains_t const &' + | __getitem__(self, i) -> block_chains_t + | + | __init__(self, *args) + | __init__(self) -> block_chains_vec_t + | __init__(self, x) -> block_chains_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_block_chains_vec_t(...) + | delete_block_chains_vec_t(self) + | + | at(self, *args) -> 'block_chains_t const &' + | at(self, _idx) -> block_chains_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< block_chains_t >::const_iterator' + | begin(self) -> block_chains_t + | begin(self) -> block_chains_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< block_chains_t >::const_iterator' + | end(self) -> block_chains_t + | end(self) -> block_chains_t + | + | erase(self, *args) -> 'qvector< block_chains_t >::iterator' + | erase(self, it) -> block_chains_t + | erase(self, first, last) -> block_chains_t + | + | extract(self, *args) -> 'block_chains_t *' + | extract(self) -> block_chains_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=block_chains_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< block_chains_t >::iterator' + | insert(self, it, x) -> block_chains_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'block_chains_t &' + | push_back(self, x) + | push_back(self) -> block_chains_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function boundaries_begin in module ida_hexrays: + +boundaries_begin(*args) -> 'boundaries_iterator_t' + boundaries_begin(map) -> boundaries_iterator_t + + + Get iterator pointing to the beginning of boundaries_t. + + + @param map (C++: const boundaries_t *) + +Help on function boundaries_clear in module ida_hexrays: + +boundaries_clear(*args) -> 'void' + boundaries_clear(map) + + + Clear boundaries_t. + + + @param map (C++: boundaries_t *) + +Help on function boundaries_end in module ida_hexrays: + +boundaries_end(*args) -> 'boundaries_iterator_t' + boundaries_end(map) -> boundaries_iterator_t + + + Get iterator pointing to the end of boundaries_t. + + + @param map (C++: const boundaries_t *) + +Help on function boundaries_erase in module ida_hexrays: + +boundaries_erase(*args) -> 'void' + boundaries_erase(map, p) + + + Erase current element from boundaries_t. + + + @param map (C++: boundaries_t *) + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_find in module ida_hexrays: + +boundaries_find(*args) -> 'boundaries_iterator_t' + boundaries_find(map, key) -> boundaries_iterator_t + + + Find the specified key in boundaries_t. + + + @param map (C++: const boundaries_t *) + @param key (C++: const cinsn_t *&) + +Help on function boundaries_first in module ida_hexrays: + +boundaries_first(*args) -> 'cinsn_t *const &' + boundaries_first(p) -> cinsn_t + + + Get reference to the current map key. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_free in module ida_hexrays: + +boundaries_free(*args) -> 'void' + boundaries_free(map) + + + Delete boundaries_t instance. + + + @param map (C++: boundaries_t *) + +Help on function boundaries_insert in module ida_hexrays: + +boundaries_insert(*args) -> 'boundaries_iterator_t' + 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 *&) + @param val (C++: const rangeset_t &) + +Help on class boundaries_iterator_t in module ida_hexrays: + +class boundaries_iterator_t(builtins.object) + | Proxy of C++ boundaries_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> boundaries_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_boundaries_iterator_t(...) + | delete_boundaries_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | boundaries_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function boundaries_new in module ida_hexrays: + +boundaries_new(*args) -> 'boundaries_t *' + boundaries_new() -> boundaries_t + + + Create a new boundaries_t instance. + +Help on function boundaries_next in module ida_hexrays: + +boundaries_next(*args) -> 'boundaries_iterator_t' + boundaries_next(p) -> boundaries_iterator_t + + + Move to the next element. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_prev in module ida_hexrays: + +boundaries_prev(*args) -> 'boundaries_iterator_t' + boundaries_prev(p) -> boundaries_iterator_t + + + Move to the previous element. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_second in module ida_hexrays: + +boundaries_second(*args) -> 'rangeset_t &' + boundaries_second(p) -> rangeset_t + + + Get reference to the current map value. + + + @param p (C++: boundaries_iterator_t) + +Help on function boundaries_size in module ida_hexrays: + +boundaries_size(*args) -> 'size_t' + boundaries_size(map) -> size_t + + + Get size of boundaries_t. + + + @param map (C++: boundaries_t *) + +Help on class boundaries_t in module ida_hexrays: + +class boundaries_t(builtins.object) + | Proxy of C++ std::map< cinsn_t *,rangeset_t > class. + | + | Methods defined here: + | + | __begin = boundaries_begin(...) + | boundaries_begin(map) -> boundaries_iterator_t + | + | __clear = boundaries_clear(...) + | boundaries_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = boundaries_end(...) + | boundaries_end(map) -> boundaries_iterator_t + | + | __erase = boundaries_erase(...) + | boundaries_erase(map, p) + | + | __find = boundaries_find(...) + | boundaries_find(map, key) -> boundaries_iterator_t + | + | __first = boundaries_first(...) + | boundaries_first(p) -> cinsn_t + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> boundaries_t + | + | __insert = boundaries_insert(...) + | boundaries_insert(map, key, val) -> boundaries_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = boundaries_next(...) + | boundaries_next(p) -> boundaries_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = boundaries_second(...) + | boundaries_second(p) -> rangeset_t + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = boundaries_size(...) + | boundaries_size(map) -> size_t + | + | __swig_destroy__ = delete_boundaries_t(...) + | delete_boundaries_t(self) + | + | at(self, *args) -> 'rangeset_t &' + | at(self, _Keyval) -> rangeset_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = + | Proxy of C++ cinsn_t class. + | + | valuetype = + | Proxy of C++ rangeset_t class. + +Help on function call_helper in module ida_hexrays: + +call_helper(rettype, args, *rest) + +Help on class carg_t in module ida_hexrays: + +class carg_t(cexpr_t) + | Proxy of C++ carg_t class. + | + | Method resolution order: + | carg_t + | cexpr_t + | citem_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> carg_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_carg_t(...) + | delete_carg_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | consume_cexpr(self, *args) -> 'void' + | consume_cexpr(self, e) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | formal_type + | carg_t_formal_type_get(self) -> tinfo_t + | + | is_vararg + | carg_t_is_vararg_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from cexpr_t: + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _get_a(self, *args) -> 'carglist_t *' + | _get_a(self) -> carglist_t + | + | _get_fpc(self, *args) -> 'fnumber_t *' + | _get_fpc(self) -> fnumber_t + | + | _get_helper(self, *args) -> 'char *' + | _get_helper(self) -> char * + | + | _get_insn(self, *args) -> 'cinsn_t *' + | _get_insn(self) -> cinsn_t + | + | _get_m(self, *args) -> 'int' + | _get_m(self) -> int + | + | _get_n(self, *args) -> 'cnumber_t *' + | _get_n(self) -> cnumber_t + | + | _get_obj_ea(self, *args) -> 'ea_t' + | _get_obj_ea(self) -> ea_t + | + | _get_ptrsize(self, *args) -> 'int' + | _get_ptrsize(self) -> int + | + | _get_refwidth(self, *args) -> 'int' + | _get_refwidth(self) -> int + | + | _get_string(self, *args) -> 'char *' + | _get_string(self) -> char * + | + | _get_x(self, *args) -> 'cexpr_t *' + | _get_x(self) -> cexpr_t + | + | _get_y(self, *args) -> 'cexpr_t *' + | _get_y(self) -> cexpr_t + | + | _get_z(self, *args) -> 'cexpr_t *' + | _get_z(self) -> cexpr_t + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _replace_by(self, *args) -> 'void' + | _replace_by(self, r) + | + | _set_a(self, *args) -> 'void' + | _set_a(self, _v) + | + | _set_fpc(self, *args) -> 'void' + | _set_fpc(self, _v) + | + | _set_helper(self, *args) -> 'void' + | _set_helper(self, _v) + | + | _set_insn(self, *args) -> 'void' + | _set_insn(self, _v) + | + | _set_m(self, *args) -> 'void' + | _set_m(self, _v) + | + | _set_n(self, *args) -> 'void' + | _set_n(self, _v) + | + | _set_obj_ea(self, *args) -> 'void' + | _set_obj_ea(self, _v) + | + | _set_ptrsize(self, *args) -> 'void' + | _set_ptrsize(self, _v) + | + | _set_refwidth(self, *args) -> 'void' + | _set_refwidth(self, _v) + | + | _set_string(self, *args) -> 'void' + | _set_string(self, _v) + | + | _set_x(self, *args) -> 'void' + | _set_x(self, _v) + | + | _set_y(self, *args) -> 'void' + | _set_y(self, _v) + | + | _set_z(self, *args) -> 'void' + | _set_z(self, _v) + | + | assign(self, *args) -> 'cexpr_t &' + | assign(self, r) -> cexpr_t + | + | calc_type(self, *args) -> 'void' + | calc_type(self, recursive) + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | contains_comma(self, *args) -> 'bool' + | contains_comma(self, times=1) -> bool + | + | contains_comma_or_insn_or_label(self, *args) -> 'bool' + | contains_comma_or_insn_or_label(self, maxcommas=1) -> bool + | + | contains_insn(self, *args) -> 'bool' + | contains_insn(self, times=1) -> bool + | + | contains_insn_or_label(self, *args) -> 'bool' + | contains_insn_or_label(self) -> bool + | + | contains_operator(self, *args) -> 'bool' + | contains_operator(self, needed_op, times=1) -> bool + | + | cpadone(self, *args) -> 'bool' + | cpadone(self) -> bool + | + | equal_effect(self, *args) -> 'bool' + | equal_effect(self, r) -> bool + | + | find_num_op(self, *args) -> 'cexpr_t *' + | find_num_op(self) -> cexpr_t + | find_num_op(self) -> cexpr_t + | + | find_op(self, *args) -> 'cexpr_t *' + | find_op(self, _op) -> cexpr_t + | find_op(self, _op) -> cexpr_t + | + | get_1num_op(self, *args) -> 'bool' + | get_1num_op(self, o1, o2) -> bool + | + | get_const_value(self, *args) -> 'bool' + | get_const_value(self) -> bool + | + | get_high_nbit_bound(self, *args) -> 'bit_bound_t' + | get_high_nbit_bound(self) -> bit_bound_t + | + | get_low_nbit_bound(self, *args) -> 'int' + | get_low_nbit_bound(self) -> int + | + | get_ptr_or_array(self, *args) -> 'cexpr_t *' + | get_ptr_or_array(self) -> cexpr_t + | + | get_type_sign(self, *args) -> 'type_sign_t' + | get_type_sign(self) -> type_sign_t + | + | get_v(self, *args) -> 'var_ref_t *' + | get_v(self) -> var_ref_t + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self) -> bool + | + | is_call_arg_of(self, *args) -> 'bool' + | is_call_arg_of(self, parent) -> bool + | + | is_call_object_of(self, *args) -> 'bool' + | is_call_object_of(self, parent) -> bool + | + | is_child_of(self, *args) -> 'bool' + | is_child_of(self, parent) -> bool + | + | is_const_value(self, *args) -> 'bool' + | is_const_value(self, _v) -> bool + | + | is_cstr(self, *args) -> 'bool' + | is_cstr(self) -> bool + | + | is_fpop(self, *args) -> 'bool' + | is_fpop(self) -> bool + | + | is_jumpout(self, *args) -> 'bool' + | is_jumpout(self) -> bool + | + | is_negative_const(self, *args) -> 'bool' + | is_negative_const(self) -> bool + | + | is_nice_cond(self, *args) -> 'bool' + | is_nice_cond(self) -> bool + | + | is_nice_expr(self, *args) -> 'bool' + | is_nice_expr(self) -> bool + | + | is_non_negative_const(self, *args) -> 'bool' + | is_non_negative_const(self) -> bool + | + | is_non_zero_const(self, *args) -> 'bool' + | is_non_zero_const(self) -> bool + | + | is_odd_lvalue(self, *args) -> 'bool' + | is_odd_lvalue(self) -> bool + | + | is_type_signed(self, *args) -> 'bool' + | is_type_signed(self) -> bool + | + | is_type_unsigned(self, *args) -> 'bool' + | is_type_unsigned(self) -> bool + | + | is_undef_val(self, *args) -> 'bool' + | is_undef_val(self) -> bool + | + | is_vftable(self, *args) -> 'bool' + | is_vftable(self) -> bool + | + | is_zero_const(self, *args) -> 'bool' + | is_zero_const(self) -> bool + | + | maybe_ptr(self, *args) -> 'bool' + | maybe_ptr(self) -> bool + | + | numval(self, *args) -> 'uint64' + | numval(self) -> uint64 + | + | print1(self, *args) -> 'void' + | print1(self, func) + | + | put_number(self, *args) -> 'void' + | put_number(self, func, value, nbytes, sign=no_sign) + | + | requires_lvalue(self, *args) -> 'bool' + | requires_lvalue(self, child) -> bool + | + | set_cpadone(self, *args) -> 'void' + | set_cpadone(self) + | + | set_v(self, *args) -> 'void' + | set_v(self, v) + | + | set_vftable(self, *args) -> 'void' + | set_vftable(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | theother(self, *args) -> 'cexpr_t *' + | theother(self, what) -> cexpr_t + | theother(self, what) -> cexpr_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cexpr_t: + | + | a + | + | exflags + | cexpr_t_exflags_get(self) -> uint32 + | + | fpc + | + | helper + | + | insn + | + | m + | + | n + | + | obj_ea + | + | operands + | return a dictionary with the operands of a cexpr_t. + | + | opname + | + | ptrsize + | + | refwidth + | + | string + | + | type + | cexpr_t_type_get(self) -> tinfo_t + | + | v + | + | x + | + | y + | + | z + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from cexpr_t: + | + | op_to_typename = {0: 'empty', 1: 'comma', 2: 'asg', 3: 'asgbor', 4: 'a... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) -> 'ctype_t' + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) -> 'void' + | _set_op(self, v) + | + | contains_expr(self, *args) -> 'bool' + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) -> 'bool' + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) -> 'citem_t *' + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) -> 'citem_t *' + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) -> 'bool' + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class carglist_t in module ida_hexrays: + +class carglist_t(qvector_carg_t) + | Proxy of C++ carglist_t class. + | + | Method resolution order: + | carglist_t + | qvector_carg_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> carglist_t + | __init__(self, ftype, fl=0) -> carglist_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_carglist_t(...) + | delete_carglist_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | carglist_t_flags_get(self) -> int + | + | functype + | carglist_t_functype_get(self) -> tinfo_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_carg_t: + | + | __getitem__(self, *args) -> 'carg_t const &' + | __getitem__(self, i) -> carg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'carg_t &' + | push_back(self, x) + | push_back(self) -> carg_t + | + | at = __getitem__(self, *args) -> 'carg_t const &' + | __getitem__(self, i) -> carg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< carg_t >::const_iterator' + | begin(self) -> carg_t + | begin(self) -> carg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< carg_t >::const_iterator' + | end(self) -> carg_t + | end(self) -> carg_t + | + | erase(self, *args) -> 'qvector< carg_t >::iterator' + | erase(self, it) -> carg_t + | erase(self, first, last) -> carg_t + | + | extract(self, *args) -> 'carg_t *' + | extract(self) -> carg_t + | + | find(self, *args) -> 'qvector< carg_t >::const_iterator' + | find(self, x) -> carg_t + | find(self, x) -> carg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=carg_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< carg_t >::iterator' + | insert(self, it, x) -> carg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'carg_t &' + | push_back(self, x) + | push_back(self) -> carg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_carg_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class casm_t in module ida_hexrays: + +class casm_t(ida_pro.eavec_t)↗ + | Proxy of C++ casm_t class. + | + | Method resolution order: + | casm_t + | ida_pro.eavec_t↗ + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, ea) -> casm_t + | __init__(self, r) -> casm_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_casm_t(...) + | delete_casm_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | one_insn(self, *args) -> 'bool' + | one_insn(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_pro.eavec_t:↗ + | + | __getitem__(self, *args) -> 'unsigned-ea-like-numeric-type const &'↗ + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'unsigned-ea-like-numeric-type &'↗ + | push_back(self, x) + | push_back(self) -> unsigned-ea-like-numeric-type &↗ + | + | at = __getitem__(self, *args) -> 'unsigned-ea-like-numeric-type const &'↗ + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< unsigned-ea-like-numeric-type >::const_iterator'↗ + | begin(self) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | begin(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< unsigned-ea-like-numeric-type >::const_iterator'↗ + | end(self) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | end(self) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | erase(self, *args) -> 'qvector< unsigned-ea-like-numeric-type >::iterator'↗ + | erase(self, it) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | erase(self, first, last) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | + | extract(self, *args) -> 'unsigned-ea-like-numeric-type *'↗ + | extract(self) -> unsigned-ea-like-numeric-type *↗ + | + | find(self, *args) -> 'qvector< unsigned-ea-like-numeric-type >::const_iterator'↗ + | find(self, x) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | find(self, x) -> qvector< unsigned-ea-like-numeric-type >::const_iterator↗ + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< unsigned-ea-like-numeric-type >::iterator'↗ + | insert(self, it, x) -> qvector< unsigned-ea-like-numeric-type >::iterator↗ + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'unsigned-ea-like-numeric-type &'↗ + | push_back(self, x) + | push_back(self) -> unsigned-ea-like-numeric-type &↗ + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_pro.eavec_t:↗ + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function cblock_at in module ida_hexrays: + +cblock_at(self, index) + # cblock.at(int) -> returns the item at the given index index + +Help on function cblock_find in module ida_hexrays: + +cblock_find(self, item) + # cblock.find(cinsn_t) -> returns the iterator positioned at the given item + +Help on function cblock_index in module ida_hexrays: + +cblock_index(self, item) + # cblock.index(cinsn_t) -> returns the index of the given item + +Help on function cblock_insert in module ida_hexrays: + +cblock_insert(self, index, item) + # cblock.insert(index, cinsn_t) + +Help on function cblock_iter in module ida_hexrays: + +cblock_iter(self) + +Help on function cblock_remove in module ida_hexrays: + +cblock_remove(self, item) + # cblock.remove(cinsn_t) + +Help on class cblock_t in module ida_hexrays: + +class cblock_t(qlist_cinsn_t) + | Proxy of C++ cblock_t class. + | + | Method resolution order: + | cblock_t + | qlist_cinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cblock_t + | + | __iter__ = cblock_iter(self) + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cblock_t(...) + | delete_cblock_t(self) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | at = cblock_at(self, index) + | # cblock.at(int) -> returns the item at the given index index + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | find = cblock_find(self, item) + | # cblock.find(cinsn_t) -> returns the iterator positioned at the given item + | + | index = cblock_index(self, item) + | # cblock.index(cinsn_t) -> returns the index of the given item + | + | insert = cblock_insert(self, index, item) + | # cblock.insert(index, cinsn_t) + | + | remove = cblock_remove(self, item) + | # cblock.remove(cinsn_t) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from qlist_cinsn_t: + | + | back(self, *args) -> 'cinsn_t const &' + | back(self) -> cinsn_t + | back(self) -> cinsn_t + | + | begin(self, *args) -> 'qlist_cinsn_t_iterator' + | begin(self) -> qlist_cinsn_t_iterator + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qlist_cinsn_t_iterator' + | end(self) -> qlist_cinsn_t_iterator + | + | erase(self, *args) -> 'void' + | erase(self, p) -> qlist< cinsn_t >::iterator + | erase(self, p1, p2) + | erase(self, p) + | + | front(self, *args) -> 'cinsn_t const &' + | front(self) -> cinsn_t + | front(self) -> cinsn_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | pop_front(self, *args) -> 'void' + | pop_front(self) + | + | push_back(self, *args) -> 'cinsn_t &' + | push_back(self, x) + | push_back(self) -> cinsn_t + | + | push_front(self, *args) -> 'void' + | push_front(self, x) + | + | rbegin(self, *args) -> 'qlist< cinsn_t >::const_reverse_iterator' + | rbegin(self) -> qlist< cinsn_t >::reverse_iterator + | rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | rend(self, *args) -> 'qlist< cinsn_t >::const_reverse_iterator' + | rend(self) -> qlist< cinsn_t >::reverse_iterator + | rend(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, x) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qlist_cinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class ccase_t in module ida_hexrays: + +class ccase_t(cinsn_t) + | Proxy of C++ ccase_t class. + | + | Method resolution order: + | ccase_t + | cinsn_t + | citem_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ccase_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ccase_t(...) + | delete_ccase_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | value(self, *args) -> 'uint64 const &' + | value(self, i) -> uint64 const & + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | values + | ccase_t_values_get(self) -> ulonglongvec_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from cinsn_t: + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _get_casm(self, *args) -> 'casm_t *' + | _get_casm(self) -> casm_t + | + | _get_cblock(self, *args) -> 'cblock_t *' + | _get_cblock(self) -> cblock_t + | + | _get_cdo(self, *args) -> 'cdo_t *' + | _get_cdo(self) -> cdo_t + | + | _get_cexpr(self, *args) -> 'cexpr_t *' + | _get_cexpr(self) -> cexpr_t + | + | _get_cfor(self, *args) -> 'cfor_t *' + | _get_cfor(self) -> cfor_t + | + | _get_cgoto(self, *args) -> 'cgoto_t *' + | _get_cgoto(self) -> cgoto_t + | + | _get_cif(self, *args) -> 'cif_t *' + | _get_cif(self) -> cif_t + | + | _get_creturn(self, *args) -> 'creturn_t *' + | _get_creturn(self) -> creturn_t + | + | _get_cswitch(self, *args) -> 'cswitch_t *' + | _get_cswitch(self) -> cswitch_t + | + | _get_cwhile(self, *args) -> 'cwhile_t *' + | _get_cwhile(self) -> cwhile_t + | + | _print(self, *args) -> 'void' + | _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _replace_by(self, *args) -> 'void' + | _replace_by(self, r) + | + | _set_casm(self, *args) -> 'void' + | _set_casm(self, _v) + | + | _set_cblock(self, *args) -> 'void' + | _set_cblock(self, _v) + | + | _set_cdo(self, *args) -> 'void' + | _set_cdo(self, _v) + | + | _set_cexpr(self, *args) -> 'void' + | _set_cexpr(self, _v) + | + | _set_cfor(self, *args) -> 'void' + | _set_cfor(self, _v) + | + | _set_cgoto(self, *args) -> 'void' + | _set_cgoto(self, _v) + | + | _set_cif(self, *args) -> 'void' + | _set_cif(self, _v) + | + | _set_creturn(self, *args) -> 'void' + | _set_creturn(self, _v) + | + | _set_cswitch(self, *args) -> 'void' + | _set_cswitch(self, _v) + | + | _set_cwhile(self, *args) -> 'void' + | _set_cwhile(self, _v) + | + | assign(self, *args) -> 'cinsn_t &' + | assign(self, r) -> cinsn_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | collect_free_breaks(self, *args) -> 'bool' + | collect_free_breaks(self, breaks) -> bool + | + | collect_free_continues(self, *args) -> 'bool' + | collect_free_continues(self, continues) -> bool + | + | contains_free_break(self, *args) -> 'bool' + | contains_free_break(self) -> bool + | + | contains_free_continue(self, *args) -> 'bool' + | contains_free_continue(self) -> bool + | + | contains_insn(self, *args) -> 'bool' + | contains_insn(self, type, times=1) -> bool + | + | create_if(self, *args) -> 'cif_t &' + | create_if(self, cnd) -> cif_t + | + | is_epilog(self) + | + | is_ordinary_flow(self, *args) -> 'bool' + | is_ordinary_flow(self) -> bool + | + | new_insn(self, *args) -> 'cinsn_t &' + | new_insn(self, insn_ea) -> cinsn_t + | + | print1(self, *args) -> 'void' + | print1(self, func) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | zero(self, *args) -> 'void' + | zero(self) + | + | ---------------------------------------------------------------------- + | Static methods inherited from cinsn_t: + | + | insn_is_epilog(*args) -> 'bool' + | insn_is_epilog(insn) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cinsn_t: + | + | casm + | + | cblock + | + | cdo + | + | cexpr + | + | cfor + | + | cgoto + | + | cif + | + | creturn + | + | cswitch + | + | cwhile + | + | details + | 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. + | + | opname + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from cinsn_t: + | + | op_to_typename = {70: 'empty', 71: 'block', 72: 'expr', 73: 'if', 74: ... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) -> 'ctype_t' + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) -> 'void' + | _set_op(self, v) + | + | contains_expr(self, *args) -> 'bool' + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) -> 'bool' + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) -> 'citem_t *' + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) -> 'citem_t *' + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) -> 'bool' + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class ccases_t in module ida_hexrays: + +class ccases_t(qvector_ccase_t) + | Proxy of C++ ccases_t class. + | + | Method resolution order: + | ccases_t + | qvector_ccase_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ccases_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ccases_t(...) + | delete_ccases_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_ccase_t: + | + | __getitem__(self, *args) -> 'ccase_t const &' + | __getitem__(self, i) -> ccase_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'ccase_t &' + | push_back(self, x) + | push_back(self) -> ccase_t + | + | at = __getitem__(self, *args) -> 'ccase_t const &' + | __getitem__(self, i) -> ccase_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< ccase_t >::const_iterator' + | begin(self) -> ccase_t + | begin(self) -> ccase_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< ccase_t >::const_iterator' + | end(self) -> ccase_t + | end(self) -> ccase_t + | + | erase(self, *args) -> 'qvector< ccase_t >::iterator' + | erase(self, it) -> ccase_t + | erase(self, first, last) -> ccase_t + | + | extract(self, *args) -> 'ccase_t *' + | extract(self) -> ccase_t + | + | find(self, *args) -> 'qvector< ccase_t >::const_iterator' + | find(self, x) -> ccase_t + | find(self, x) -> ccase_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=ccase_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< ccase_t >::iterator' + | insert(self, it, x) -> ccase_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'ccase_t &' + | push_back(self, x) + | push_back(self) -> ccase_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_ccase_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class cdg_insn_iterator_t in module ida_hexrays: + +class cdg_insn_iterator_t(builtins.object) + | Proxy of C++ cdg_insn_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cdg_insn_iterator_t + | __init__(self, r) -> cdg_insn_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cdg_insn_iterator_t(...) + | delete_cdg_insn_iterator_t(self) + | + | dslot_with_xrefs(self, *args) -> 'bool' + | dslot_with_xrefs(self) -> bool + | + | has_dslot(self, *args) -> 'bool' + | has_dslot(self) -> bool + | + | next(self, *args) -> 'merror_t' + | next(self, ins) -> merror_t + | + | ok(self, *args) -> 'bool' + | ok(self) -> bool + | + | start(self, *args) -> 'void' + | start(self, rng) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dslot + | cdg_insn_iterator_t_dslot_get(self) -> ea_t + | + | dslot_insn + | cdg_insn_iterator_t_dslot_insn_get(self) -> insn_t * + | + | ea + | cdg_insn_iterator_t_ea_get(self) -> ea_t + | + | end + | cdg_insn_iterator_t_end_get(self) -> ea_t + | + | is_likely_dslot + | cdg_insn_iterator_t_is_likely_dslot_get(self) -> bool + | + | is_separate_dslot + | cdg_insn_iterator_t_is_separate_dslot_get(self) -> bool + | + | thisown + | The membership flag + +Help on class cdo_t in module ida_hexrays: + +class cdo_t(cloop_t) + | Proxy of C++ cdo_t class. + | + | Method resolution order: + | cdo_t + | cloop_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cdo_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cdo_t(...) + | delete_cdo_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) -> 'cloop_t &' + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class ceinsn_t in module ida_hexrays: + +class ceinsn_t(builtins.object) + | Proxy of C++ ceinsn_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ceinsn_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ceinsn_t(...) + | delete_ceinsn_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + | + | thisown + | The membership flag + +Help on function cexpr_operands in module ida_hexrays: + +cexpr_operands(self) + return a dictionary with the operands of a cexpr_t. + +Help on class cexpr_t in module ida_hexrays: + +class cexpr_t(citem_t) + | Proxy of C++ cexpr_t class. + | + | Method resolution order: + | cexpr_t + | citem_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cexpr_t + | __init__(self, cop, _x) -> cexpr_t + | __init__(self, cop, _x, _y) -> cexpr_t + | __init__(self, cop, _x, _y, _z) -> cexpr_t + | __init__(self, r) -> cexpr_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cexpr_t(...) + | delete_cexpr_t(self) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _get_a(self, *args) -> 'carglist_t *' + | _get_a(self) -> carglist_t + | + | _get_fpc(self, *args) -> 'fnumber_t *' + | _get_fpc(self) -> fnumber_t + | + | _get_helper(self, *args) -> 'char *' + | _get_helper(self) -> char * + | + | _get_insn(self, *args) -> 'cinsn_t *' + | _get_insn(self) -> cinsn_t + | + | _get_m(self, *args) -> 'int' + | _get_m(self) -> int + | + | _get_n(self, *args) -> 'cnumber_t *' + | _get_n(self) -> cnumber_t + | + | _get_obj_ea(self, *args) -> 'ea_t' + | _get_obj_ea(self) -> ea_t + | + | _get_ptrsize(self, *args) -> 'int' + | _get_ptrsize(self) -> int + | + | _get_refwidth(self, *args) -> 'int' + | _get_refwidth(self) -> int + | + | _get_string(self, *args) -> 'char *' + | _get_string(self) -> char * + | + | _get_x(self, *args) -> 'cexpr_t *' + | _get_x(self) -> cexpr_t + | + | _get_y(self, *args) -> 'cexpr_t *' + | _get_y(self) -> cexpr_t + | + | _get_z(self, *args) -> 'cexpr_t *' + | _get_z(self) -> cexpr_t + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _replace_by(self, *args) -> 'void' + | _replace_by(self, r) + | + | _set_a(self, *args) -> 'void' + | _set_a(self, _v) + | + | _set_fpc(self, *args) -> 'void' + | _set_fpc(self, _v) + | + | _set_helper(self, *args) -> 'void' + | _set_helper(self, _v) + | + | _set_insn(self, *args) -> 'void' + | _set_insn(self, _v) + | + | _set_m(self, *args) -> 'void' + | _set_m(self, _v) + | + | _set_n(self, *args) -> 'void' + | _set_n(self, _v) + | + | _set_obj_ea(self, *args) -> 'void' + | _set_obj_ea(self, _v) + | + | _set_ptrsize(self, *args) -> 'void' + | _set_ptrsize(self, _v) + | + | _set_refwidth(self, *args) -> 'void' + | _set_refwidth(self, _v) + | + | _set_string(self, *args) -> 'void' + | _set_string(self, _v) + | + | _set_x(self, *args) -> 'void' + | _set_x(self, _v) + | + | _set_y(self, *args) -> 'void' + | _set_y(self, _v) + | + | _set_z(self, *args) -> 'void' + | _set_z(self, _v) + | + | assign(self, *args) -> 'cexpr_t &' + | assign(self, r) -> cexpr_t + | + | calc_type(self, *args) -> 'void' + | calc_type(self, recursive) + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains_comma(self, *args) -> 'bool' + | contains_comma(self, times=1) -> bool + | + | contains_comma_or_insn_or_label(self, *args) -> 'bool' + | contains_comma_or_insn_or_label(self, maxcommas=1) -> bool + | + | contains_insn(self, *args) -> 'bool' + | contains_insn(self, times=1) -> bool + | + | contains_insn_or_label(self, *args) -> 'bool' + | contains_insn_or_label(self) -> bool + | + | contains_operator(self, *args) -> 'bool' + | contains_operator(self, needed_op, times=1) -> bool + | + | cpadone(self, *args) -> 'bool' + | cpadone(self) -> bool + | + | equal_effect(self, *args) -> 'bool' + | equal_effect(self, r) -> bool + | + | find_num_op(self, *args) -> 'cexpr_t *' + | find_num_op(self) -> cexpr_t + | find_num_op(self) -> cexpr_t + | + | find_op(self, *args) -> 'cexpr_t *' + | find_op(self, _op) -> cexpr_t + | find_op(self, _op) -> cexpr_t + | + | get_1num_op(self, *args) -> 'bool' + | get_1num_op(self, o1, o2) -> bool + | + | get_const_value(self, *args) -> 'bool' + | get_const_value(self) -> bool + | + | get_high_nbit_bound(self, *args) -> 'bit_bound_t' + | get_high_nbit_bound(self) -> bit_bound_t + | + | get_low_nbit_bound(self, *args) -> 'int' + | get_low_nbit_bound(self) -> int + | + | get_ptr_or_array(self, *args) -> 'cexpr_t *' + | get_ptr_or_array(self) -> cexpr_t + | + | get_type_sign(self, *args) -> 'type_sign_t' + | get_type_sign(self) -> type_sign_t + | + | get_v(self, *args) -> 'var_ref_t *' + | get_v(self) -> var_ref_t + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self) -> bool + | + | is_call_arg_of(self, *args) -> 'bool' + | is_call_arg_of(self, parent) -> bool + | + | is_call_object_of(self, *args) -> 'bool' + | is_call_object_of(self, parent) -> bool + | + | is_child_of(self, *args) -> 'bool' + | is_child_of(self, parent) -> bool + | + | is_const_value(self, *args) -> 'bool' + | is_const_value(self, _v) -> bool + | + | is_cstr(self, *args) -> 'bool' + | is_cstr(self) -> bool + | + | is_fpop(self, *args) -> 'bool' + | is_fpop(self) -> bool + | + | is_jumpout(self, *args) -> 'bool' + | is_jumpout(self) -> bool + | + | is_negative_const(self, *args) -> 'bool' + | is_negative_const(self) -> bool + | + | is_nice_cond(self, *args) -> 'bool' + | is_nice_cond(self) -> bool + | + | is_nice_expr(self, *args) -> 'bool' + | is_nice_expr(self) -> bool + | + | is_non_negative_const(self, *args) -> 'bool' + | is_non_negative_const(self) -> bool + | + | is_non_zero_const(self, *args) -> 'bool' + | is_non_zero_const(self) -> bool + | + | is_odd_lvalue(self, *args) -> 'bool' + | is_odd_lvalue(self) -> bool + | + | is_type_signed(self, *args) -> 'bool' + | is_type_signed(self) -> bool + | + | is_type_unsigned(self, *args) -> 'bool' + | is_type_unsigned(self) -> bool + | + | is_undef_val(self, *args) -> 'bool' + | is_undef_val(self) -> bool + | + | is_vftable(self, *args) -> 'bool' + | is_vftable(self) -> bool + | + | is_zero_const(self, *args) -> 'bool' + | is_zero_const(self) -> bool + | + | maybe_ptr(self, *args) -> 'bool' + | maybe_ptr(self) -> bool + | + | numval(self, *args) -> 'uint64' + | numval(self) -> uint64 + | + | print1(self, *args) -> 'void' + | print1(self, func) + | + | put_number(self, *args) -> 'void' + | put_number(self, func, value, nbytes, sign=no_sign) + | + | requires_lvalue(self, *args) -> 'bool' + | requires_lvalue(self, child) -> bool + | + | set_cpadone(self, *args) -> 'void' + | set_cpadone(self) + | + | set_v(self, *args) -> 'void' + | set_v(self, v) + | + | set_vftable(self, *args) -> 'void' + | set_vftable(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | theother(self, *args) -> 'cexpr_t *' + | theother(self, what) -> cexpr_t + | theother(self, what) -> cexpr_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | a + | + | exflags + | cexpr_t_exflags_get(self) -> uint32 + | + | fpc + | + | helper + | + | insn + | + | m + | + | n + | + | obj_ea + | + | operands + | return a dictionary with the operands of a cexpr_t. + | + | opname + | + | ptrsize + | + | refwidth + | + | string + | + | thisown + | The membership flag + | + | type + | cexpr_t_type_get(self) -> tinfo_t + | + | v + | + | x + | + | y + | + | z + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | op_to_typename = {0: 'empty', 1: 'comma', 2: 'asg', 3: 'asgbor', 4: 'a... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) -> 'ctype_t' + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) -> 'void' + | _set_op(self, v) + | + | contains_expr(self, *args) -> 'bool' + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) -> 'bool' + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) -> 'citem_t *' + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) -> 'citem_t *' + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) -> 'bool' + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on class cfor_t in module ida_hexrays: + +class cfor_t(cloop_t) + | Proxy of C++ cfor_t class. + | + | Method resolution order: + | cfor_t + | cloop_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cfor_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cfor_t(...) + | delete_cfor_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | init + | cfor_t_init_get(self) -> cexpr_t + | + | step + | cfor_t_step_get(self) -> cexpr_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) -> 'cloop_t &' + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class cfunc_parentee_t in module ida_hexrays: + +class cfunc_parentee_t(ctree_parentee_t) + | Proxy of C++ cfunc_parentee_t class. + | + | Method resolution order: + | cfunc_parentee_t + | ctree_parentee_t + | ctree_visitor_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, f, post=False) -> cfunc_parentee_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cfunc_parentee_t(...) + | delete_cfunc_parentee_t(self) + | + | calc_rvalue_type(self, *args) -> 'bool' + | calc_rvalue_type(self, target, e) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | func + | cfunc_parentee_t_func_get(self) -> cfunc_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_parentee_t: + | + | recalc_parent_types(self, *args) -> 'bool' + | recalc_parent_types(self) -> bool + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_visitor_t: + | + | apply_to(self, *args) -> 'int' + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) -> 'int' + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) -> 'void' + | clr_prune(self) + | + | clr_restart(self, *args) -> 'void' + | clr_restart(self) + | + | is_postorder(self, *args) -> 'bool' + | is_postorder(self) -> bool + | + | leave_expr(self, *args) -> 'int' + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) -> 'int' + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) -> 'bool' + | maintain_parents(self) -> bool + | + | must_prune(self, *args) -> 'bool' + | must_prune(self) -> bool + | + | must_restart(self, *args) -> 'bool' + | must_restart(self) -> bool + | + | only_insns(self, *args) -> 'bool' + | only_insns(self) -> bool + | + | parent_expr(self, *args) -> 'cexpr_t *' + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) -> 'cinsn_t *' + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) -> 'void' + | prune_now(self) + | + | set_restart(self, *args) -> 'void' + | set_restart(self) + | + | visit_expr(self, *args) -> 'int' + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) -> 'int' + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctree_visitor_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + +Help on class cfunc_t in module ida_hexrays: + +class cfunc_t(builtins.object) + | Proxy of C++ cfunc_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) -> 'qstring' + | __str__(self) -> qstring + | + | __swig_destroy__ = delete_cfunc_t(...) + | delete_cfunc_t(self) + | + | build_c_tree(self, *args) -> 'void' + | build_c_tree(self) + | + | del_orphan_cmts(self, *args) -> 'int' + | del_orphan_cmts(self) -> int + | + | find_item_coords(self, *args) -> 'PyObject *' + | find_item_coords(self, item, px, py) -> bool + | find_item_coords(self, item) -> PyObject * + | + | find_label(self, *args) -> 'citem_t *' + | find_label(self, label) -> citem_t + | + | gather_derefs(self, *args) -> 'bool' + | gather_derefs(self, ci, udm=None) -> bool + | + | get_boundaries(self, *args) -> 'boundaries_t &' + | get_boundaries(self) -> boundaries_t + | + | get_eamap(self, *args) -> 'eamap_t &' + | get_eamap(self) -> eamap_t + | + | get_func_type(self, *args) -> 'bool' + | get_func_type(self, type) -> bool + | + | get_line_item(self, *args) -> 'bool' + | get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool + | + | get_lvars(self, *args) -> 'lvars_t *' + | get_lvars(self) -> lvars_t + | + | get_pseudocode(self, *args) -> 'strvec_t const &' + | get_pseudocode(self) -> strvec_t + | + | get_stkoff_delta(self, *args) -> 'sval_t' + | get_stkoff_delta(self) -> sval_t + | + | get_user_cmt(self, *args) -> 'char const *' + | get_user_cmt(self, loc, rt) -> char const * + | + | get_user_iflags(self, *args) -> 'int32' + | get_user_iflags(self, loc) -> int32 + | + | get_user_union_selection(self, *args) -> 'bool' + | get_user_union_selection(self, ea, path) -> bool + | + | get_warnings(self, *args) -> 'hexwarns_t &' + | get_warnings(self) -> hexwarns_t + | + | has_orphan_cmts(self, *args) -> 'bool' + | has_orphan_cmts(self) -> bool + | + | print_dcl(self, *args) -> 'void' + | print_dcl(self) + | + | print_func(self, *args) -> 'void' + | print_func(self, vp) + | + | refresh_func_ctext(self, *args) -> 'void' + | refresh_func_ctext(self) + | + | release(self, *args) -> 'void' + | release(self) + | + | remove_unused_labels(self, *args) -> 'void' + | remove_unused_labels(self) + | + | save_user_cmts(self, *args) -> 'void' + | save_user_cmts(self) + | + | save_user_iflags(self, *args) -> 'void' + | save_user_iflags(self) + | + | save_user_labels(self, *args) -> 'void' + | save_user_labels(self) + | + | save_user_numforms(self, *args) -> 'void' + | save_user_numforms(self) + | + | save_user_unions(self, *args) -> 'void' + | save_user_unions(self) + | + | set_user_cmt(self, *args) -> 'void' + | set_user_cmt(self, loc, cmt) + | + | set_user_iflags(self, *args) -> 'void' + | set_user_iflags(self, loc, iflags) + | + | set_user_union_selection(self, *args) -> 'void' + | set_user_union_selection(self, ea, path) + | + | verify(self, *args) -> 'void' + | verify(self, aul, even_without_debugger) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argidx + | cfunc_t_argidx_get(self) -> intvec_t + | + | arguments + | + | body + | cfunc_t_body_get(self) -> cinsn_t + | + | boundaries + | get_boundaries(self) -> boundaries_t + | + | eamap + | get_eamap(self) -> eamap_t + | + | entry_ea + | cfunc_t_entry_ea_get(self) -> ea_t + | + | hdrlines + | cfunc_t_hdrlines_get(self) -> int + | + | lvars + | get_lvars(self) -> lvars_t + | + | maturity + | cfunc_t_maturity_get(self) -> ctree_maturity_t + | + | mba + | cfunc_t_mba_get(self) -> mbl_array_t + | + | numforms + | cfunc_t_numforms_get(self) -> user_numforms_t + | + | pseudocode + | get_pseudocode(self) -> strvec_t + | + | refcnt + | cfunc_t_refcnt_get(self) -> int + | + | statebits + | cfunc_t_statebits_get(self) -> int + | + | thisown + | The membership flag + | + | treeitems + | cfunc_t_treeitems_get(self) -> ctree_items_t + | + | type + | Get the function's return type tinfo_t object. + | + | user_cmts + | cfunc_t_user_cmts_get(self) -> user_cmts_t + | + | user_iflags + | cfunc_t_user_iflags_get(self) -> user_iflags_t + | + | user_labels + | cfunc_t_user_labels_get(self) -> user_labels_t + | + | user_unions + | cfunc_t_user_unions_get(self) -> user_unions_t + | + | warnings + | get_warnings(self) -> hexwarns_t + +Help on function cfunc_type in module ida_hexrays: + +cfunc_type(self) + Get the function's return type tinfo_t object. + +Help on class cfuncptr_t in module ida_hexrays: + +class cfuncptr_t(builtins.object) + | Proxy of C++ qrefcnt_t< cfunc_t > class. + | + | Methods defined here: + | + | __deref__(self, *args) -> 'cfunc_t *' + | __deref__(self) -> cfunc_t + | + | __eq__ lambda self, other + | + | __init__(self, *args) + | __init__(self, p) -> cfuncptr_t + | __init__(self, r) -> cfuncptr_t + | + | __ptrval__(self, *args) -> 'size_t' + | __ptrval__(self) -> size_t + | + | __ref__(self, *args) -> 'cfunc_t &' + | __ref__(self) -> cfunc_t + | + | __repr__ = _swig_repr(self) + | + | __str__ lambda self + | + | __swig_destroy__ = delete_cfuncptr_t(...) + | delete_cfuncptr_t(self) + | + | build_c_tree(self, *args) -> 'void' + | build_c_tree(self) + | + | del_orphan_cmts(self, *args) -> 'int' + | del_orphan_cmts(self) -> int + | + | find_item_coords(self, *args) -> 'PyObject *' + | find_item_coords(self, item, px, py) -> bool + | find_item_coords(self, item) -> PyObject * + | + | find_label(self, *args) -> 'citem_t *' + | find_label(self, label) -> citem_t + | + | gather_derefs(self, *args) -> 'bool' + | gather_derefs(self, ci, udm=None) -> bool + | + | get_boundaries(self, *args) -> 'boundaries_t &' + | get_boundaries(self) -> boundaries_t + | + | get_eamap(self, *args) -> 'eamap_t &' + | get_eamap(self) -> eamap_t + | + | get_func_type(self, *args) -> 'bool' + | get_func_type(self, type) -> bool + | + | get_line_item(self, *args) -> 'bool' + | get_line_item(self, line, x, is_ctree_line, phead, pitem, ptail) -> bool + | + | get_lvars(self, *args) -> 'lvars_t *' + | get_lvars(self) -> lvars_t + | + | get_pseudocode(self, *args) -> 'strvec_t const &' + | get_pseudocode(self) -> strvec_t + | + | get_stkoff_delta(self, *args) -> 'sval_t' + | get_stkoff_delta(self) -> sval_t + | + | get_user_cmt(self, *args) -> 'char const *' + | get_user_cmt(self, loc, rt) -> char const * + | + | get_user_iflags(self, *args) -> 'int32' + | get_user_iflags(self, loc) -> int32 + | + | get_user_union_selection(self, *args) -> 'bool' + | get_user_union_selection(self, ea, path) -> bool + | + | get_warnings(self, *args) -> 'hexwarns_t &' + | get_warnings(self) -> hexwarns_t + | + | has_orphan_cmts(self, *args) -> 'bool' + | has_orphan_cmts(self) -> bool + | + | print_dcl(self, *args) -> 'void' + | print_dcl(self) + | + | print_func(self, *args) -> 'void' + | print_func(self, vp) + | + | refresh_func_ctext(self, *args) -> 'void' + | refresh_func_ctext(self) + | + | release(self, *args) -> 'void' + | release(self) + | + | remove_unused_labels(self, *args) -> 'void' + | remove_unused_labels(self) + | + | reset(self, *args) -> 'void' + | reset(self) + | + | save_user_cmts(self, *args) -> 'void' + | save_user_cmts(self) + | + | save_user_iflags(self, *args) -> 'void' + | save_user_iflags(self) + | + | save_user_labels(self, *args) -> 'void' + | save_user_labels(self) + | + | save_user_numforms(self, *args) -> 'void' + | save_user_numforms(self) + | + | save_user_unions(self, *args) -> 'void' + | save_user_unions(self) + | + | set_user_cmt(self, *args) -> 'void' + | set_user_cmt(self, loc, cmt) + | + | set_user_iflags(self, *args) -> 'void' + | set_user_iflags(self, loc, iflags) + | + | set_user_union_selection(self, *args) -> 'void' + | set_user_union_selection(self, ea, path) + | + | verify(self, *args) -> 'void' + | verify(self, aul, even_without_debugger) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argidx + | cfuncptr_t_argidx_get(self) -> intvec_t + | + | arguments + | + | body + | cfuncptr_t_body_get(self) -> cinsn_t + | + | boundaries + | + | eamap + | + | entry_ea + | cfuncptr_t_entry_ea_get(self) -> ea_t + | + | hdrlines + | cfuncptr_t_hdrlines_get(self) -> int + | + | lvars + | + | maturity + | cfuncptr_t_maturity_get(self) -> ctree_maturity_t + | + | mba + | cfuncptr_t_mba_get(self) -> mbl_array_t + | + | numforms + | cfuncptr_t_numforms_get(self) -> user_numforms_t + | + | pseudocode + | + | refcnt + | cfuncptr_t_refcnt_get(self) -> int + | + | statebits + | cfuncptr_t_statebits_get(self) -> int + | + | thisown + | The membership flag + | + | treeitems + | cfuncptr_t_treeitems_get(self) -> ctree_items_t + | + | type + | + | user_cmts + | cfuncptr_t_user_cmts_get(self) -> user_cmts_t + | + | user_iflags + | cfuncptr_t_user_iflags_get(self) -> user_iflags_t + | + | user_labels + | cfuncptr_t_user_labels_get(self) -> user_labels_t + | + | user_unions + | cfuncptr_t_user_unions_get(self) -> user_unions_t + | + | warnings + +Help on class cgoto_t in module ida_hexrays: + +class cgoto_t(builtins.object) + | Proxy of C++ cgoto_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cgoto_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cgoto_t(...) + | delete_cgoto_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | label_num + | cgoto_t_label_num_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class chain_keeper_t in module ida_hexrays: + +class chain_keeper_t(builtins.object) + | Proxy of C++ chain_keeper_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _gc) -> chain_keeper_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_chain_keeper_t(...) + | delete_chain_keeper_t(self) + | + | back(self, *args) -> 'block_chains_t &' + | back(self) -> block_chains_t + | + | for_all_chains(self, *args) -> 'int' + | for_all_chains(self, cv, gca) -> int + | + | front(self, *args) -> 'block_chains_t &' + | front(self) -> block_chains_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class chain_t in module ida_hexrays: + +class chain_t(ida_pro.intvec_t) + | Proxy of C++ chain_t class. + | + | Method resolution order: + | chain_t + | ida_pro.intvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> chain_t + | __init__(self, t, off, w=1, v=-1) -> chain_t + | __init__(self, _k, w=1) -> chain_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_chain_t(...) + | delete_chain_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | append_list(self, *args) -> 'void' + | append_list(self, list) + | + | clear_varnum(self, *args) -> 'void' + | clear_varnum(self) + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | endoff(self, *args) -> 'voff_t const' + | endoff(self) -> voff_t + | + | get_reg(self, *args) -> 'mreg_t' + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) -> 'sval_t' + | get_stkoff(self) -> sval_t + | + | includes(self, *args) -> 'bool' + | includes(self, r) -> bool + | + | is_fake(self, *args) -> 'bool' + | is_fake(self) -> bool + | + | is_inited(self, *args) -> 'bool' + | is_inited(self) -> bool + | + | is_overlapped(self, *args) -> 'bool' + | is_overlapped(self) -> bool + | + | is_passreg(self, *args) -> 'bool' + | is_passreg(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_replaced(self, *args) -> 'bool' + | is_replaced(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | is_term(self, *args) -> 'bool' + | is_term(self) -> bool + | + | key(self, *args) -> 'voff_t const &' + | key(self) -> voff_t + | + | overlap(self, *args) -> 'bool' + | overlap(self, r) -> bool + | + | set_inited(self, *args) -> 'void' + | set_inited(self, b) + | + | set_overlapped(self, *args) -> 'void' + | set_overlapped(self, b) + | + | set_replaced(self, *args) -> 'void' + | set_replaced(self, b) + | + | set_term(self, *args) -> 'void' + | set_term(self, b) + | + | set_value(self, *args) -> 'void' + | set_value(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | chain_t_flags_get(self) -> uchar + | + | thisown + | The membership flag + | + | varnum + | chain_t_varnum_get(self) -> int + | + | width + | chain_t_width_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_pro.intvec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'int const &' + | __getitem__(self, i) -> int const & + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'int &' + | push_back(self, x) + | push_back(self) -> int & + | + | at = __getitem__(self, *args) -> 'int const &' + | __getitem__(self, i) -> int const & + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< int >::const_iterator' + | begin(self) -> qvector< int >::iterator + | begin(self) -> qvector< int >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< int >::const_iterator' + | end(self) -> qvector< int >::iterator + | end(self) -> qvector< int >::const_iterator + | + | erase(self, *args) -> 'qvector< int >::iterator' + | erase(self, it) -> qvector< int >::iterator + | erase(self, first, last) -> qvector< int >::iterator + | + | extract(self, *args) -> 'int *' + | extract(self) -> int * + | + | find(self, *args) -> 'qvector< int >::const_iterator' + | find(self, x) -> qvector< int >::iterator + | find(self, x) -> qvector< int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< int >::iterator' + | insert(self, it, x) -> qvector< int >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'int &' + | push_back(self, x) + | push_back(self) -> int & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_pro.intvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_pro.intvec_t: + | + | __hash__ = None + +Help on class chain_visitor_t in module ida_hexrays: + +class chain_visitor_t(builtins.object) + | Proxy of C++ chain_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> chain_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_chain_visitor_t(...) + | delete_chain_visitor_t(self) + | + | visit_chain(self, *args) -> 'int' + | visit_chain(self, nblock, ch) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | parent + | chain_visitor_t_parent_get(self) -> block_chains_t + | + | thisown + | The membership flag + +Help on function checkout_hexrays_license in module ida_hexrays: + +checkout_hexrays_license(*args) -> 'bool' + checkout_hexrays_license(silent) -> bool + + + Check out a floating decompiler license. This function will display a + dialog box if the license is not available. For non-floating licenses + this function is effectively no-op. It is not necessary to call this + function before decompiling. If the license was not checked out, the + decompiler will automatically do it. This function can be used to + check out a license in advance and ensure that a license is available. + + @param silent: silently fail if the license can not be checked out. + (C++: bool) + @return: false if failed + +Help on class cif_t in module ida_hexrays: + +class cif_t(ceinsn_t) + | Proxy of C++ cif_t class. + | + | Method resolution order: + | cif_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cif_t + | __init__(self, r) -> cif_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cif_t(...) + | delete_cif_t(self) + | + | assign(self, *args) -> 'cif_t &' + | assign(self, r) -> cif_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ielse + | cif_t_ielse_get(self) -> cinsn_t + | + | ithen + | cif_t_ithen_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function cinsn_details in module ida_hexrays: + +cinsn_details(self) + 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. + +Help on class cinsn_t in module ida_hexrays: + +class cinsn_t(citem_t) + | Proxy of C++ cinsn_t class. + | + | Method resolution order: + | cinsn_t + | citem_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cinsn_t + | __init__(self, r) -> cinsn_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cinsn_t(...) + | delete_cinsn_t(self) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _get_casm(self, *args) -> 'casm_t *' + | _get_casm(self) -> casm_t + | + | _get_cblock(self, *args) -> 'cblock_t *' + | _get_cblock(self) -> cblock_t + | + | _get_cdo(self, *args) -> 'cdo_t *' + | _get_cdo(self) -> cdo_t + | + | _get_cexpr(self, *args) -> 'cexpr_t *' + | _get_cexpr(self) -> cexpr_t + | + | _get_cfor(self, *args) -> 'cfor_t *' + | _get_cfor(self) -> cfor_t + | + | _get_cgoto(self, *args) -> 'cgoto_t *' + | _get_cgoto(self) -> cgoto_t + | + | _get_cif(self, *args) -> 'cif_t *' + | _get_cif(self) -> cif_t + | + | _get_creturn(self, *args) -> 'creturn_t *' + | _get_creturn(self) -> creturn_t + | + | _get_cswitch(self, *args) -> 'cswitch_t *' + | _get_cswitch(self) -> cswitch_t + | + | _get_cwhile(self, *args) -> 'cwhile_t *' + | _get_cwhile(self) -> cwhile_t + | + | _print(self, *args) -> 'void' + | _print(self, indent, vp, use_curly=CALC_CURLY_BRACES) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _replace_by(self, *args) -> 'void' + | _replace_by(self, r) + | + | _set_casm(self, *args) -> 'void' + | _set_casm(self, _v) + | + | _set_cblock(self, *args) -> 'void' + | _set_cblock(self, _v) + | + | _set_cdo(self, *args) -> 'void' + | _set_cdo(self, _v) + | + | _set_cexpr(self, *args) -> 'void' + | _set_cexpr(self, _v) + | + | _set_cfor(self, *args) -> 'void' + | _set_cfor(self, _v) + | + | _set_cgoto(self, *args) -> 'void' + | _set_cgoto(self, _v) + | + | _set_cif(self, *args) -> 'void' + | _set_cif(self, _v) + | + | _set_creturn(self, *args) -> 'void' + | _set_creturn(self, _v) + | + | _set_cswitch(self, *args) -> 'void' + | _set_cswitch(self, _v) + | + | _set_cwhile(self, *args) -> 'void' + | _set_cwhile(self, _v) + | + | assign(self, *args) -> 'cinsn_t &' + | assign(self, r) -> cinsn_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | collect_free_breaks(self, *args) -> 'bool' + | collect_free_breaks(self, breaks) -> bool + | + | collect_free_continues(self, *args) -> 'bool' + | collect_free_continues(self, continues) -> bool + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains_free_break(self, *args) -> 'bool' + | contains_free_break(self) -> bool + | + | contains_free_continue(self, *args) -> 'bool' + | contains_free_continue(self) -> bool + | + | contains_insn(self, *args) -> 'bool' + | contains_insn(self, type, times=1) -> bool + | + | create_if(self, *args) -> 'cif_t &' + | create_if(self, cnd) -> cif_t + | + | is_epilog(self) + | + | is_ordinary_flow(self, *args) -> 'bool' + | is_ordinary_flow(self) -> bool + | + | new_insn(self, *args) -> 'cinsn_t &' + | new_insn(self, insn_ea) -> cinsn_t + | + | print1(self, *args) -> 'void' + | print1(self, func) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | zero(self, *args) -> 'void' + | zero(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | insn_is_epilog(*args) -> 'bool' + | insn_is_epilog(insn) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | casm + | + | cblock + | + | cdo + | + | cexpr + | + | cfor + | + | cgoto + | + | cif + | + | creturn + | + | cswitch + | + | cwhile + | + | details + | 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. + | + | opname + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | op_to_typename = {70: 'empty', 71: 'block', 72: 'expr', 73: 'if', 74: ... + | + | ---------------------------------------------------------------------- + | Methods inherited from citem_t: + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) -> 'ctype_t' + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) -> 'void' + | _set_op(self, v) + | + | contains_expr(self, *args) -> 'bool' + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) -> 'bool' + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) -> 'citem_t *' + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) -> 'citem_t *' + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) -> 'bool' + | is_expr(self) -> bool + | + | replace_by(self, o) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from citem_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on function cinsn_t_insn_is_epilog in module ida_hexrays: + +cinsn_t_insn_is_epilog(*args) -> 'bool' + cinsn_t_insn_is_epilog(insn) -> bool + +Help on class cinsnptrvec_t in module ida_hexrays: + +class cinsnptrvec_t(builtins.object) + | Proxy of C++ qvector< cinsn_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'cinsn_t *const &' + | __getitem__(self, i) -> cinsn_t + | + | __init__(self, *args) + | __init__(self) -> cinsnptrvec_t + | __init__(self, x) -> cinsnptrvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_cinsnptrvec_t(...) + | delete_cinsnptrvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'cinsn_t *&' + | + | at = __getitem__(self, *args) -> 'cinsn_t *const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< cinsn_t * >::const_iterator' + | begin(self) -> qvector< cinsn_t * >::iterator + | begin(self) -> qvector< cinsn_t * >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< cinsn_t * >::const_iterator' + | end(self) -> qvector< cinsn_t * >::iterator + | end(self) -> qvector< cinsn_t * >::const_iterator + | + | erase(self, *args) -> 'qvector< cinsn_t * >::iterator' + | erase(self, it) -> qvector< cinsn_t * >::iterator + | erase(self, first, last) -> qvector< cinsn_t * >::iterator + | + | extract(self, *args) -> 'cinsn_t **' + | extract(self) -> cinsn_t ** + | + | find(self, *args) -> 'qvector< cinsn_t * >::const_iterator' + | find(self, x) -> qvector< cinsn_t * >::iterator + | find(self, x) -> qvector< cinsn_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< cinsn_t * >::iterator' + | insert(self, it, x) -> qvector< cinsn_t * >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'cinsn_t *&' + | push_back(self, x) + | push_back(self) -> cinsn_t *& + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class citem_cmt_t in module ida_hexrays: + +class citem_cmt_t(builtins.object) + | Proxy of C++ citem_cmt_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> citem_cmt_t + | __init__(self, s) -> citem_cmt_t + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) -> 'char const *' + | __str__(self) -> char const * + | + | __swig_destroy__ = delete_citem_cmt_t(...) + | delete_citem_cmt_t(self) + | + | c_str(self, *args) -> 'char const *' + | c_str(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | used + | citem_cmt_t_used_get(self) -> bool + +Help on class citem_locator_t in module ida_hexrays: + +class citem_locator_t(builtins.object) + | Proxy of C++ citem_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _ea, _op) -> citem_locator_t + | __init__(self, i) -> citem_locator_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_citem_locator_t(...) + | delete_citem_locator_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | citem_locator_t_ea_get(self) -> ea_t + | + | op + | citem_locator_t_op_get(self) -> ctype_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class citem_t in module ida_hexrays: + +class citem_t(builtins.object) + | Proxy of C++ citem_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> citem_t + | __init__(self, o) -> citem_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_citem_t(...) + | delete_citem_t(self) + | + | _acquire_ownership(self, v, acquire) + | + | _citem_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _citem_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_op(self) + | + | _get_op(self, *args) -> 'ctype_t' + | _get_op(self) -> ctype_t + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _set_op(self, *args) -> 'void' + | _set_op(self, v) + | + | contains_expr(self, *args) -> 'bool' + | contains_expr(self, e) -> bool + | + | contains_label(self, *args) -> 'bool' + | contains_label(self) -> bool + | + | find_closest_addr(self, *args) -> 'citem_t *' + | find_closest_addr(self, _ea) -> citem_t + | + | find_parent_of(self, *args) -> 'citem_t *' + | find_parent_of(self, sitem) -> citem_t + | find_parent_of(self, item) -> citem_t + | + | is_expr(self, *args) -> 'bool' + | is_expr(self) -> bool + | + | print1(self, *args) -> 'void' + | print1(self, func) + | + | replace_by(self, o) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cexpr + | citem_t_cexpr_get(self) -> cexpr_t + | + | cinsn + | citem_t_cinsn_get(self) -> cinsn_t + | + | ea + | citem_t_ea_get(self) -> ea_t + | + | index + | citem_t_index_get(self) -> int + | + | label_num + | citem_t_label_num_get(self) -> int + | + | meminfo + | + | obj_id + | _obj_id(self) -> PyObject * + | + | op + | _get_op(self) -> ctype_t + | + | thisown + | The membership flag + | + | to_specific_type + | cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on function citem_to_specific_type in module ida_hexrays: + +citem_to_specific_type(self) + cast the citem_t object to its more specific type, either cexpr_t or cinsn_t. + +Help on function clear_cached_cfuncs in module ida_hexrays: + +clear_cached_cfuncs(*args) -> 'void' + clear_cached_cfuncs() + + + Flush all cached decompilation results. + +Help on class cloop_t in module ida_hexrays: + +class cloop_t(ceinsn_t) + | Proxy of C++ cloop_t class. + | + | Method resolution order: + | cloop_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cloop_t + | __init__(self, b) -> cloop_t + | __init__(self, r) -> cloop_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cloop_t(...) + | delete_cloop_t(self) + | + | assign(self, *args) -> 'cloop_t &' + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function close_pseudocode in module ida_hexrays: + +close_pseudocode(*args) -> 'bool' + close_pseudocode(f) -> bool + + + Close pseudocode window. + + @param f: pointer to window (C++: TWidget *) + @return: false if failed + +Help on class cnumber_t in module ida_hexrays: + +class cnumber_t(builtins.object) + | Proxy of C++ cnumber_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _opnum=0) -> cnumber_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cnumber_t(...) + | delete_cnumber_t(self) + | + | _print(self, *args) -> 'void' + | _print(self, type, parent=None, nice_stroff=None) + | + | assign(self, *args) -> 'void' + | assign(self, v, nbytes, sign) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | value(self, *args) -> 'uint64' + | value(self, type) -> uint64 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _value + | cnumber_t__value_get(self) -> uint64 + | + | nf + | cnumber_t_nf_get(self) -> number_format_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class codegen_t in module ida_hexrays: + +class codegen_t(builtins.object) + | Proxy of C++ codegen_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, m) -> codegen_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_codegen_t(...) + | delete_codegen_t(self) + | + | analyze_prolog(self, *args) -> 'merror_t' + | analyze_prolog(self, fc, reachable) -> merror_t + | + | emit(self, *args) -> 'minsn_t *' + | emit(self, code, width, l, r, d, offsize) -> minsn_t + | emit(self, code, l, r, d) -> minsn_t + | + | emit_micro_mvm(self, *args) -> 'minsn_t *' + | emit_micro_mvm(self, code, dtype, l, r, d, offsize) -> minsn_t + | + | gen_micro(self, *args) -> 'merror_t' + | gen_micro(self) -> merror_t + | + | load_operand(self, *args) -> 'mreg_t' + | load_operand(self, opnum) -> mreg_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ignore_micro + | codegen_t_ignore_micro_get(self) -> char + | + | ii + | codegen_t_ii_get(self) -> cdg_insn_iterator_t + | + | insn + | codegen_t_insn_get(self) -> insn_t * + | + | mb + | codegen_t_mb_get(self) -> mblock_t + | + | mba + | codegen_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + +Help on function convert_to_user_call in module ida_hexrays: + +convert_to_user_call(*args) -> 'merror_t' + convert_to_user_call(udc, cdg) -> merror_t + + + try to generate user-defined call for an instruction + + @param udc (C++: const udcall_t &) + @param cdg (C++: codegen_t &) + @return: Microcode error codes code: MERR_OK - user-defined call + generated else - error (MERR_INSN == inacceptable udc.tif) + +Help on function create_field_name in module ida_hexrays: + +create_field_name(*args) -> 'qstring' + create_field_name(type, offset=BADADDR) -> qstring + +Help on function create_helper in module ida_hexrays: + +create_helper(*args) + +Help on function create_typedef in module ida_hexrays: + +create_typedef(*args) -> 'tinfo_t' + create_typedef(name) -> tinfo_t + create_typedef(n) -> tinfo_t + + + Create a reference to a named type. + + @param name: type name (C++: const char *) + @return: type which refers to the specified name. For example, if name + is "DWORD", the type info which refers to "DWORD" is created. + +Help on class creturn_t in module ida_hexrays: + +class creturn_t(ceinsn_t) + | Proxy of C++ creturn_t class. + | + | Method resolution order: + | creturn_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> creturn_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_creturn_t(...) + | delete_creturn_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class cswitch_t in module ida_hexrays: + +class cswitch_t(ceinsn_t) + | Proxy of C++ cswitch_t class. + | + | Method resolution order: + | cswitch_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cswitch_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cswitch_t(...) + | delete_cswitch_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cases + | cswitch_t_cases_get(self) -> ccases_t + | + | mvnf + | cswitch_t_mvnf_get(self) -> cnumber_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on class ctext_position_t in module ida_hexrays: + +class ctext_position_t(builtins.object) + | Proxy of C++ ctext_position_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _lnnum=-1, _x=0, _y=0) -> ctext_position_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ctext_position_t(...) + | delete_ctext_position_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | in_ctree(self, *args) -> 'bool' + | in_ctree(self, hdrlines) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | ctext_position_t_lnnum_get(self) -> int + | + | thisown + | The membership flag + | + | x + | ctext_position_t_x_get(self) -> int + | + | y + | ctext_position_t_y_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class ctree_anchor_t in module ida_hexrays: + +class ctree_anchor_t(builtins.object) + | Proxy of C++ ctree_anchor_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ctree_anchor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ctree_anchor_t(...) + | delete_ctree_anchor_t(self) + | + | get_index(self, *args) -> 'int' + | get_index(self) -> int + | + | get_itp(self, *args) -> 'item_preciser_t' + | get_itp(self) -> item_preciser_t + | + | is_blkcmt_anchor(self, *args) -> 'bool' + | is_blkcmt_anchor(self) -> bool + | + | is_citem_anchor(self, *args) -> 'bool' + | is_citem_anchor(self) -> bool + | + | is_itp_anchor(self, *args) -> 'bool' + | is_itp_anchor(self) -> bool + | + | is_lvar_anchor(self, *args) -> 'bool' + | is_lvar_anchor(self) -> bool + | + | is_valid_anchor(self, *args) -> 'bool' + | is_valid_anchor(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | value + | ctree_anchor_t_value_get(self) -> uval_t + +Help on class ctree_item_t in module ida_hexrays: + +class ctree_item_t(builtins.object) + | Proxy of C++ ctree_item_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ctree_item_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ctree_item_t(...) + | delete_ctree_item_t(self) + | + | _get_e(self, *args) -> 'cexpr_t *' + | _get_e(self) -> cexpr_t + | + | _get_f(self, *args) -> 'cfunc_t *' + | _get_f(self) -> cfunc_t + | + | _get_i(self, *args) -> 'cinsn_t *' + | _get_i(self) -> cinsn_t + | + | _get_it(self, *args) -> 'citem_t *' + | _get_it(self) -> citem_t + | + | _get_l(self, *args) -> 'lvar_t *' + | _get_l(self) -> lvar_t + | + | get_ea(self, *args) -> 'ea_t' + | get_ea(self) -> ea_t + | + | get_label_num(self, *args) -> 'int' + | get_label_num(self, gln_flags) -> int + | + | get_lvar(self, *args) -> 'lvar_t *' + | get_lvar(self) -> lvar_t + | + | get_memptr(self, *args) -> 'member_t *' + | get_memptr(self, p_sptr=None) -> member_t * + | + | is_citem(self, *args) -> 'bool' + | is_citem(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | citype + | ctree_item_t_citype_get(self) -> cursor_item_type_t + | + | e + | + | f + | + | i + | + | it + | + | l + | + | loc + | ctree_item_t_loc_get(self) -> treeloc_t + | + | thisown + | The membership flag + +Help on class ctree_items_t in module ida_hexrays: + +class ctree_items_t(builtins.object) + | Proxy of C++ qvector< citem_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'citem_t *const &' + | __getitem__(self, i) -> citem_t + | + | __init__(self, *args) + | __init__(self) -> ctree_items_t + | __init__(self, x) -> ctree_items_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_ctree_items_t(...) + | delete_ctree_items_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'citem_t *&' + | + | at = __getitem__(self, *args) -> 'citem_t *const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< citem_t * >::const_iterator' + | begin(self) -> qvector< citem_t * >::iterator + | begin(self) -> qvector< citem_t * >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< citem_t * >::const_iterator' + | end(self) -> qvector< citem_t * >::iterator + | end(self) -> qvector< citem_t * >::const_iterator + | + | erase(self, *args) -> 'qvector< citem_t * >::iterator' + | erase(self, it) -> qvector< citem_t * >::iterator + | erase(self, first, last) -> qvector< citem_t * >::iterator + | + | extract(self, *args) -> 'citem_t **' + | extract(self) -> citem_t ** + | + | find(self, *args) -> 'qvector< citem_t * >::const_iterator' + | find(self, x) -> qvector< citem_t * >::iterator + | find(self, x) -> qvector< citem_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< citem_t * >::iterator' + | insert(self, it, x) -> qvector< citem_t * >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'citem_t *&' + | push_back(self, x) + | push_back(self) -> citem_t *& + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class ctree_parentee_t in module ida_hexrays: + +class ctree_parentee_t(ctree_visitor_t) + | Proxy of C++ ctree_parentee_t class. + | + | Method resolution order: + | ctree_parentee_t + | ctree_visitor_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, post=False) -> ctree_parentee_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ctree_parentee_t(...) + | delete_ctree_parentee_t(self) + | + | recalc_parent_types(self, *args) -> 'bool' + | recalc_parent_types(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ctree_visitor_t: + | + | apply_to(self, *args) -> 'int' + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) -> 'int' + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) -> 'void' + | clr_prune(self) + | + | clr_restart(self, *args) -> 'void' + | clr_restart(self) + | + | is_postorder(self, *args) -> 'bool' + | is_postorder(self) -> bool + | + | leave_expr(self, *args) -> 'int' + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) -> 'int' + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) -> 'bool' + | maintain_parents(self) -> bool + | + | must_prune(self, *args) -> 'bool' + | must_prune(self) -> bool + | + | must_restart(self, *args) -> 'bool' + | must_restart(self) -> bool + | + | only_insns(self, *args) -> 'bool' + | only_insns(self) -> bool + | + | parent_expr(self, *args) -> 'cexpr_t *' + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) -> 'cinsn_t *' + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) -> 'void' + | prune_now(self) + | + | set_restart(self, *args) -> 'void' + | set_restart(self) + | + | visit_expr(self, *args) -> 'int' + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) -> 'int' + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctree_visitor_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + +Help on class ctree_visitor_t in module ida_hexrays: + +class ctree_visitor_t(builtins.object) + | Proxy of C++ ctree_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags) -> ctree_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ctree_visitor_t(...) + | delete_ctree_visitor_t(self) + | + | apply_to(self, *args) -> 'int' + | apply_to(self, item, parent) -> int + | + | apply_to_exprs(self, *args) -> 'int' + | apply_to_exprs(self, item, parent) -> int + | + | clr_prune(self, *args) -> 'void' + | clr_prune(self) + | + | clr_restart(self, *args) -> 'void' + | clr_restart(self) + | + | is_postorder(self, *args) -> 'bool' + | is_postorder(self) -> bool + | + | leave_expr(self, *args) -> 'int' + | leave_expr(self, arg0) -> int + | + | leave_insn(self, *args) -> 'int' + | leave_insn(self, arg0) -> int + | + | maintain_parents(self, *args) -> 'bool' + | maintain_parents(self) -> bool + | + | must_prune(self, *args) -> 'bool' + | must_prune(self) -> bool + | + | must_restart(self, *args) -> 'bool' + | must_restart(self) -> bool + | + | only_insns(self, *args) -> 'bool' + | only_insns(self) -> bool + | + | parent_expr(self, *args) -> 'cexpr_t *' + | parent_expr(self) -> cexpr_t + | + | parent_insn(self, *args) -> 'cinsn_t *' + | parent_insn(self) -> cinsn_t + | + | prune_now(self, *args) -> 'void' + | prune_now(self) + | + | set_restart(self, *args) -> 'void' + | set_restart(self) + | + | visit_expr(self, *args) -> 'int' + | visit_expr(self, arg0) -> int + | + | visit_insn(self, *args) -> 'int' + | visit_insn(self, arg0) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cv_flags + | ctree_visitor_t_cv_flags_get(self) -> int + | + | parents + | ctree_visitor_t_parents_get(self) -> ctree_items_t + | + | thisown + | The membership flag + +Help on class cwhile_t in module ida_hexrays: + +class cwhile_t(cloop_t) + | Proxy of C++ cwhile_t class. + | + | Method resolution order: + | cwhile_t + | cloop_t + | ceinsn_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> cwhile_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cwhile_t(...) + | delete_cwhile_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from cloop_t: + | + | assign(self, *args) -> 'cloop_t &' + | assign(self, r) -> cloop_t + | + | cleanup(self, *args) -> 'void' + | cleanup(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from cloop_t: + | + | body + | cloop_t_body_get(self) -> cinsn_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ceinsn_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | expr + | ceinsn_t_expr_get(self) -> cexpr_t + +Help on function debug_hexrays_ctree in module ida_hexrays: + +debug_hexrays_ctree(*args) -> 'void' + debug_hexrays_ctree(msg) + +Help on function decompile in module ida_hexrays: + +decompile(ea, hf=None, flags=0) + # --------------------------------------------------------------------- + +Help on function decompile_func in module ida_hexrays: + +decompile_func(*args) -> 'cfuncptr_t' + decompile_func(pfn, hf, flags=0) -> cfuncptr_t + + + Decompile a function. Multiple decompilations of the same function + return the same object. + + @param pfn: pointer to function to decompile (C++: func_t *) + @param hf: extended error information (if failed) (C++: + hexrays_failure_t *) + @param flags: bitwise combination of decompile() flags ... bits (C++: + int) + @return: pointer to the decompilation result (a reference counted + pointer). NULL if failed. + +Help on function decompile_many in module ida_hexrays: + +decompile_many(*args) -> 'bool' + decompile_many(outfile, funcaddrs, flags) -> bool + + + Batch decompilation. Decompile all or the specified functions + + @param outfile: name of the output file (C++: const char *) + @param funcaddrs: list of functions to decompile. If NULL or empty, + then decompile all nonlib functions (C++: const + eavec_t *) + @param flags: Batch decompilation bits (C++: int) + @return: true if no internal error occurred and the user has not + cancelled decompilation + +Help on function dereference in module ida_hexrays: + +dereference(e, ptrsize, is_float=False) + +Help on function dstr in module ida_hexrays: + +dstr(*args) -> 'char const *' + 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 *) + +Help on function dummy_ptrtype in module ida_hexrays: + +dummy_ptrtype(*args) -> 'tinfo_t' + dummy_ptrtype(ptrsize, isfp) -> tinfo_t + + + Generate a dummy pointer type + + @param ptrsize: size of pointed object (C++: int) + @param isfp: is floating point object? (C++: bool) + +Help on function eamap_begin in module ida_hexrays: + +eamap_begin(*args) -> 'eamap_iterator_t' + eamap_begin(map) -> eamap_iterator_t + + + Get iterator pointing to the beginning of eamap_t. + + + @param map (C++: const eamap_t *) + +Help on function eamap_clear in module ida_hexrays: + +eamap_clear(*args) -> 'void' + eamap_clear(map) + + + Clear eamap_t. + + + @param map (C++: eamap_t *) + +Help on function eamap_end in module ida_hexrays: + +eamap_end(*args) -> 'eamap_iterator_t' + eamap_end(map) -> eamap_iterator_t + + + Get iterator pointing to the end of eamap_t. + + + @param map (C++: const eamap_t *) + +Help on function eamap_erase in module ida_hexrays: + +eamap_erase(*args) -> 'void' + eamap_erase(map, p) + + + Erase current element from eamap_t. + + + @param map (C++: eamap_t *) + @param p (C++: eamap_iterator_t) + +Help on function eamap_find in module ida_hexrays: + +eamap_find(*args) -> 'eamap_iterator_t' + eamap_find(map, key) -> eamap_iterator_t + + + Find the specified key in eamap_t. + + + @param map (C++: const eamap_t *) + @param key (C++: const ea_t &) + +Help on function eamap_first in module ida_hexrays: + +eamap_first(*args) -> 'ea_t const &' + eamap_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_free in module ida_hexrays: + +eamap_free(*args) -> 'void' + eamap_free(map) + + + Delete eamap_t instance. + + + @param map (C++: eamap_t *) + +Help on function eamap_insert in module ida_hexrays: + +eamap_insert(*args) -> 'eamap_iterator_t' + 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 &) + @param val (C++: const cinsnptrvec_t &) + +Help on class eamap_iterator_t in module ida_hexrays: + +class eamap_iterator_t(builtins.object) + | Proxy of C++ eamap_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> eamap_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_eamap_iterator_t(...) + | delete_eamap_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | eamap_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function eamap_new in module ida_hexrays: + +eamap_new(*args) -> 'eamap_t *' + eamap_new() -> eamap_t + + + Create a new eamap_t instance. + +Help on function eamap_next in module ida_hexrays: + +eamap_next(*args) -> 'eamap_iterator_t' + eamap_next(p) -> eamap_iterator_t + + + Move to the next element. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_prev in module ida_hexrays: + +eamap_prev(*args) -> 'eamap_iterator_t' + eamap_prev(p) -> eamap_iterator_t + + + Move to the previous element. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_second in module ida_hexrays: + +eamap_second(*args) -> 'cinsnptrvec_t &' + eamap_second(p) -> cinsnptrvec_t + + + Get reference to the current map value. + + + @param p (C++: eamap_iterator_t) + +Help on function eamap_size in module ida_hexrays: + +eamap_size(*args) -> 'size_t' + eamap_size(map) -> size_t + + + Get size of eamap_t. + + + @param map (C++: eamap_t *) + +Help on class eamap_t in module ida_hexrays: + +class eamap_t(builtins.object) + | Proxy of C++ std::map< ea_t,cinsnptrvec_t > class. + | + | Methods defined here: + | + | __begin = eamap_begin(...) + | eamap_begin(map) -> eamap_iterator_t + | + | __clear = eamap_clear(...) + | eamap_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = eamap_end(...) + | eamap_end(map) -> eamap_iterator_t + | + | __erase = eamap_erase(...) + | eamap_erase(map, p) + | + | __find = eamap_find(...) + | eamap_find(map, key) -> eamap_iterator_t + | + | __first = eamap_first(...) + | eamap_first(p) -> ea_t const & + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> eamap_t + | + | __insert = eamap_insert(...) + | eamap_insert(map, key, val) -> eamap_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = eamap_next(...) + | eamap_next(p) -> eamap_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = eamap_second(...) + | eamap_second(p) -> cinsnptrvec_t + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = eamap_size(...) + | eamap_size(map) -> size_t + | + | __swig_destroy__ = delete_eamap_t(...) + | delete_eamap_t(self) + | + | at(self, *args) -> 'cinsnptrvec_t &' + | at(self, _Keyval) -> cinsnptrvec_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = + | int(x=0) -> 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 + | + | valuetype = + | Proxy of C++ qvector< cinsn_t * > class. + +Help on class fnum_array in module ida_hexrays: + +class fnum_array(builtins.object) + | Proxy of C++ wrapped_array_t< uint16,6 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'unsigned short const &' + | __getitem__(self, i) -> unsigned short const & + | + | __init__(self, *args) + | __init__(self, data) -> fnum_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_fnum_array(...) + | delete_fnum_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | fnum_array_data_get(self) -> unsigned short (&)[6] + | + | thisown + | The membership flag + +Help on class fnumber_t in module ida_hexrays: + +class fnumber_t(builtins.object) + | Proxy of C++ fnumber_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> fnumber_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_fnumber_t(...) + | delete_fnumber_t(self) + | + | _fnumber_t__get_fnum = __get_fnum(self, *args) -> 'wrapped_array_t< uint16,6 >' + | __get_fnum(self) -> fnum_array + | + | _print(self, *args) -> 'void' + | _print(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | dereference_const_uint16(self, *args) -> 'uint16 const *' + | dereference_const_uint16(self) -> uint16 const * + | + | dereference_uint16(self, *args) -> 'uint16 *' + | dereference_uint16(self) -> uint16 * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fnum + | __get_fnum(self) -> fnum_array + | + | nbytes + | fnumber_t_nbytes_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class gco_info_t in module ida_hexrays: + +class gco_info_t(builtins.object) + | Proxy of C++ gco_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> gco_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_gco_info_t(...) + | delete_gco_info_t(self) + | + | append_to_list(self, *args) -> 'bool' + | append_to_list(self, list, mba) -> bool + | + | is_def(self, *args) -> 'bool' + | is_def(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_use(self, *args) -> 'bool' + | is_use(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | gco_info_t_flags_get(self) -> int + | + | name + | gco_info_t_name_get(self) -> qstring * + | + | size + | gco_info_t_size_get(self) -> int + | + | thisown + | The membership flag + +Help on function gen_microcode in module ida_hexrays: + +gen_microcode(*args) -> 'mbl_array_t *' + gen_microcode(mbr, hf, retlist=None, flags=0, reqmat=MMAT_GLBOPT3) -> mbl_array_t + + + Generate microcode of an arbitrary code snippet + + @param mbr: snippet ranges (C++: const mba_ranges_t &) + @param hf: extended error information (if failed) (C++: + hexrays_failure_t *) + @param retlist: list of registers the snippet returns (C++: const + mlist_t *) + @param flags: bitwise combination of decompile() flags ... bits (C++: + int) + @param reqmat: required microcode maturity (C++: mba_maturity_t) + @return: pointer to the microcode, NULL if failed. + +Help on function get_ctype_name in module ida_hexrays: + +get_ctype_name(*args) -> 'char const *' + get_ctype_name(op) -> char const * + +Help on function get_current_operand in module ida_hexrays: + +get_current_operand(*args) -> 'bool' + 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 + return true. + + @param out (C++: gco_info_t *) + +Help on function get_float_type in module ida_hexrays: + +get_float_type(*args) -> 'tinfo_t' + get_float_type(width) -> tinfo_t + + + Get a type of a floating point value with the specified width + + @param width: width of the desired type (C++: int) + @return: type info object + +Help on function get_hexrays_version in module ida_hexrays: + +get_hexrays_version(*args) -> 'char const *' + 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" + +Help on function get_int_type_by_width_and_sign in module ida_hexrays: + +get_int_type_by_width_and_sign(*args) -> 'tinfo_t' + 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: size of the type in bytes (C++: int) + @param sign: sign of the type (C++: type_sign_t) + +Help on function get_member_type in module ida_hexrays: + +get_member_type(*args) -> 'bool' + get_member_type(mptr, type) -> bool + + + Get type of a structure field. This function performs validity checks + of the field type. Wrong types are rejected. + + @param mptr: structure field (C++: const member_t *) + @param type: pointer to the variable where the type is returned. This + parameter can be NULL. (C++: tinfo_t *) + @return: false if failed + +Help on function get_merror_desc in module ida_hexrays: + +get_merror_desc(*args) -> 'qstring *' + get_merror_desc(code, mba) -> str + + + Get textual description of an error code + + @param code: Microcode error codes (C++: merror_t) + @param mba: the microcode array (C++: mbl_array_t *) + @return: the error address + +Help on function get_mreg_name in module ida_hexrays: + +get_mreg_name(*args) -> 'qstring *' + get_mreg_name(reg, width, ud=None) -> str + + + Get the microregister name + + @param reg (C++: mreg_t) + @param width: size of microregister in bytes. may be bigger than the + real register size. (C++: int) + @param ud: reserved, must be nullptr (C++: void *) + @return: width of the printed register. this value may be less than + the WIDTH argument. + +Help on function get_op_signness in module ida_hexrays: + +get_op_signness(*args) -> 'type_sign_t' + get_op_signness(op) -> type_sign_t + + + Get operator sign. Meaningful for sign-dependent operators, like + cot_sdiv. + + + @param op (C++: ctype_t) + +Help on function get_signed_mcode in module ida_hexrays: + +get_signed_mcode(*args) -> 'mcode_t' + get_signed_mcode(code) -> mcode_t + +Help on function get_temp_regs in module ida_hexrays: + +get_temp_regs(*args) -> 'mlist_t const &' + 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. + +Help on function get_type in module ida_hexrays: + +get_type(*args) -> 'bool' + get_type(id, tif, guess) -> bool + + + Get a global type. Global types are types of addressable objects and + struct/union/enum types + + @param id: address or id of the object (C++: uval_t) + @param tif: buffer for the answer (C++: tinfo_t *) + @param guess: what kind of types to consider (C++: type_source_t) + @return: success + +Help on function get_unk_type in module ida_hexrays: + +get_unk_type(*args) -> 'tinfo_t' + 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: size of the type in bytes (C++: int) + +Help on function get_unsigned_mcode in module ida_hexrays: + +get_unsigned_mcode(*args) -> 'mcode_t' + get_unsigned_mcode(code) -> mcode_t + +Help on function get_widget_vdui in module ida_hexrays: + +get_widget_vdui(*args) -> 'vdui_t *' + get_widget_vdui(f) -> vdui_t + + + Get the 'vdui_t' instance associated to the TWidget + + @param f: pointer to window (C++: TWidget *) + @return: a vdui_t *, or NULL + +Help on function getb_reginsn in module ida_hexrays: + +getb_reginsn(*args) -> 'minsn_t *' + getb_reginsn(ins) -> minsn_t + + + Skip assertions backward. + + + @param ins (C++: const minsn_t *) + +Help on function getf_reginsn in module ida_hexrays: + +getf_reginsn(*args) -> 'minsn_t *' + getf_reginsn(ins) -> minsn_t + + + Skip assertions forward. + + + @param ins (C++: const minsn_t *) + +Help on class graph_chains_t in module ida_hexrays: + +class graph_chains_t(block_chains_vec_t) + | Proxy of C++ graph_chains_t class. + | + | Method resolution order: + | graph_chains_t + | block_chains_vec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> graph_chains_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_chains_t(...) + | delete_graph_chains_t(self) + | + | acquire(self, *args) -> 'void' + | acquire(self) + | + | for_all_chains(self, *args) -> 'int' + | for_all_chains(self, cv, gca_flags) -> int + | + | is_locked(self, *args) -> 'bool' + | is_locked(self) -> bool + | + | release(self, *args) -> 'void' + | release(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from block_chains_vec_t: + | + | __getitem__(self, *args) -> 'block_chains_t const &' + | __getitem__(self, i) -> block_chains_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | at(self, *args) -> 'block_chains_t const &' + | at(self, _idx) -> block_chains_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< block_chains_t >::const_iterator' + | begin(self) -> block_chains_t + | begin(self) -> block_chains_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< block_chains_t >::const_iterator' + | end(self) -> block_chains_t + | end(self) -> block_chains_t + | + | erase(self, *args) -> 'qvector< block_chains_t >::iterator' + | erase(self, it) -> block_chains_t + | erase(self, first, last) -> block_chains_t + | + | extract(self, *args) -> 'block_chains_t *' + | extract(self) -> block_chains_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=block_chains_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< block_chains_t >::iterator' + | insert(self, it, x) -> block_chains_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'block_chains_t &' + | push_back(self, x) + | push_back(self) -> block_chains_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from block_chains_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function has_cached_cfunc in module ida_hexrays: + +has_cached_cfunc(*args) -> 'bool' + has_cached_cfunc(ea) -> bool + + + Do we have a cached decompilation result for 'ea'? + + + @param ea (C++: ea_t) + +Help on function hexrays_alloc in module ida_hexrays: + +hexrays_alloc(*args) -> 'void *' + hexrays_alloc(size) -> void * + +Help on class hexrays_failure_t in module ida_hexrays: + +class hexrays_failure_t(builtins.object) + | Proxy of C++ hexrays_failure_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> hexrays_failure_t + | __init__(self, c, ea, buf=None) -> hexrays_failure_t + | __init__(self, c, ea, buf) -> hexrays_failure_t + | + | __repr__ = _swig_repr(self) + | + | __str__ lambda self + | + | __swig_destroy__ = delete_hexrays_failure_t(...) + | delete_hexrays_failure_t(self) + | + | desc(self, *args) -> 'qstring' + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | hexrays_failure_t_code_get(self) -> merror_t + | + | errea + | hexrays_failure_t_errea_get(self) -> ea_t + | + | str + | hexrays_failure_t_str_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on function hexrays_free in module ida_hexrays: + +hexrays_free(*args) -> 'void' + hexrays_free(ptr) + +Help on class hexwarn_t in module ida_hexrays: + +class hexwarn_t(builtins.object) + | Proxy of C++ hexwarn_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> hexwarn_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_hexwarn_t(...) + | delete_hexwarn_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | hexwarn_t_ea_get(self) -> ea_t + | + | id + | hexwarn_t_id_get(self) -> warnid_t + | + | text + | hexwarn_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class hexwarns_t in module ida_hexrays: + +class hexwarns_t(builtins.object) + | Proxy of C++ qvector< hexwarn_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'hexwarn_t const &' + | __getitem__(self, i) -> hexwarn_t + | + | __init__(self, *args) + | __init__(self) -> hexwarns_t + | __init__(self, x) -> hexwarns_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_hexwarns_t(...) + | delete_hexwarns_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'hexwarn_t &' + | + | at = __getitem__(self, *args) -> 'hexwarn_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< hexwarn_t >::const_iterator' + | begin(self) -> hexwarn_t + | begin(self) -> hexwarn_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< hexwarn_t >::const_iterator' + | end(self) -> hexwarn_t + | end(self) -> hexwarn_t + | + | erase(self, *args) -> 'qvector< hexwarn_t >::iterator' + | erase(self, it) -> hexwarn_t + | erase(self, first, last) -> hexwarn_t + | + | extract(self, *args) -> 'hexwarn_t *' + | extract(self) -> hexwarn_t + | + | find(self, *args) -> 'qvector< hexwarn_t >::const_iterator' + | find(self, x) -> hexwarn_t + | find(self, x) -> hexwarn_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=hexwarn_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< hexwarn_t >::iterator' + | insert(self, it, x) -> hexwarn_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'hexwarn_t &' + | push_back(self, x) + | push_back(self) -> hexwarn_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class history_item_t in module ida_hexrays: + +class history_item_t(ctext_position_t) + | Proxy of C++ history_item_t class. + | + | Method resolution order: + | history_item_t + | ctext_position_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea=BADADDR, _lnnum=-1, _x=0, _y=0) -> history_item_t + | __init__(self, _ea, p) -> history_item_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_history_item_t(...) + | delete_history_item_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ea + | history_item_t_ea_get(self) -> ea_t + | + | end + | history_item_t_end_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ctext_position_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | in_ctree(self, *args) -> 'bool' + | in_ctree(self, hdrlines) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ctext_position_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | ctext_position_t_lnnum_get(self) -> int + | + | x + | ctext_position_t_x_get(self) -> int + | + | y + | ctext_position_t_y_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ctext_position_t: + | + | __hash__ = None + +Help on class history_t in module ida_hexrays: + +class history_t(qvector_history_t) + | Proxy of C++ qstack< history_item_t > class. + | + | Method resolution order: + | history_t + | qvector_history_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> history_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_history_t(...) + | delete_history_t(self) + | + | append = push_back(self, *args) -> 'history_item_t &' + | push_back(self, x) + | push_back(self) -> history_item_t + | + | at = __getitem__(self, *args) -> 'history_item_t const &' + | __getitem__(self, i) -> history_item_t + | + | pop(self, *args) -> 'history_item_t' + | pop(self) -> history_item_t + | + | push(self, *args) -> 'void' + | push(self, v) + | + | top(self, *args) -> 'history_item_t &' + | top(self) -> history_item_t + | top(self) -> history_item_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_history_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'history_item_t const &' + | __getitem__(self, i) -> history_item_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< history_item_t >::const_iterator' + | begin(self) -> history_item_t + | begin(self) -> history_item_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< history_item_t >::const_iterator' + | end(self) -> history_item_t + | end(self) -> history_item_t + | + | erase(self, *args) -> 'qvector< history_item_t >::iterator' + | erase(self, it) -> history_item_t + | erase(self, first, last) -> history_item_t + | + | extract(self, *args) -> 'history_item_t *' + | extract(self) -> history_item_t + | + | find(self, *args) -> 'qvector< history_item_t >::const_iterator' + | find(self, x) -> history_item_t + | find(self, x) -> history_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=history_item_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< history_item_t >::iterator' + | insert(self, it, x) -> history_item_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'history_item_t &' + | push_back(self, x) + | push_back(self) -> history_item_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_history_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from qvector_history_t: + | + | __hash__ = None + +Help on function init_hexrays_plugin in module ida_hexrays: + +init_hexrays_plugin(*args) -> 'bool' + init_hexrays_plugin(flags=0) -> bool + + + Initialize your plugin for hex-rays decompiler. This function must be + called before calling any other decompiler function. It initializes + the pointer to the dispatcher. + + @param flags: reserved, must be 0 (C++: int) + @return: true if the decompiler exists and the dispatcher pointer is + ready to use. + +Help on function install_hexrays_callback in module ida_hexrays: + +install_hexrays_callback(callback) + Deprecated. Please use Hexrays_Hooks instead + +Help on function install_microcode_filter in module ida_hexrays: + +install_microcode_filter(*args) -> 'void' + install_microcode_filter(filter, install=True) + + + register/unregister non-standard microcode generator + + @param filter: - microcode generator object (C++: microcode_filter_t + *) + @param install: - TRUE - register the object, FALSE - unregister (C++: + bool) + +Help on function is_additive in module ida_hexrays: + +is_additive(*args) -> 'bool' + is_additive(op) -> bool + + + Is additive operator? + + + @param op (C++: ctype_t) + +Help on function is_assignment in module ida_hexrays: + +is_assignment(*args) -> 'bool' + is_assignment(op) -> bool + + + Is assignment operator? + + + @param op (C++: ctype_t) + +Help on function is_binary in module ida_hexrays: + +is_binary(*args) -> 'bool' + is_binary(op) -> bool + + + Is binary operator? + + + @param op (C++: ctype_t) + +Help on function is_bitop in module ida_hexrays: + +is_bitop(*args) -> 'bool' + is_bitop(op) -> bool + + + Is bit related operator? + + + @param op (C++: ctype_t) + +Help on function is_bool_type in module ida_hexrays: + +is_bool_type(*args) -> 'bool' + is_bool_type(type) -> bool + + + Is a boolean type? + + @param type (C++: const tinfo_t &) + @return: true if the type is a boolean type + +Help on function is_break_consumer in module ida_hexrays: + +is_break_consumer(*args) -> 'bool' + is_break_consumer(op) -> bool + + + Does a break statement influence the specified statement code? + + + @param op (C++: ctype_t) + +Help on function is_commutative in module ida_hexrays: + +is_commutative(*args) -> 'bool' + is_commutative(op) -> bool + + + Is commutative operator? + + + @param op (C++: ctype_t) + +Help on function is_inplace_def in module ida_hexrays: + +is_inplace_def(*args) -> 'bool' + is_inplace_def(type) -> bool + + + Is struct/union/enum definition (not declaration)? + + + @param type (C++: const tinfo_t &) + +Help on function is_kreg in module ida_hexrays: + +is_kreg(*args) -> 'bool' + is_kreg(r) -> bool + + + Is a kernel register? + + + @param r (C++: mreg_t) + +Help on function is_logical in module ida_hexrays: + +is_logical(*args) -> 'bool' + is_logical(op) -> bool + + + Is logical operator? + + + @param op (C++: ctype_t) + +Help on function is_loop in module ida_hexrays: + +is_loop(*args) -> 'bool' + is_loop(op) -> bool + + + Is loop statement code? + + + @param op (C++: ctype_t) + +Help on function is_lvalue in module ida_hexrays: + +is_lvalue(*args) -> 'bool' + is_lvalue(op) -> bool + + + Is Lvalue operator? + + + @param op (C++: ctype_t) + +Help on function is_may_access in module ida_hexrays: + +is_may_access(*args) -> 'bool' + is_may_access(maymust) -> bool + +Help on function is_mcode_addsub in module ida_hexrays: + +is_mcode_addsub(*args) -> 'bool' + is_mcode_addsub(mcode) -> bool + +Help on function is_mcode_call in module ida_hexrays: + +is_mcode_call(*args) -> 'bool' + is_mcode_call(mcode) -> bool + +Help on function is_mcode_commutative in module ida_hexrays: + +is_mcode_commutative(*args) -> 'bool' + is_mcode_commutative(mcode) -> bool + +Help on function is_mcode_convertible_to_jmp in module ida_hexrays: + +is_mcode_convertible_to_jmp(*args) -> 'bool' + is_mcode_convertible_to_jmp(mcode) -> bool + +Help on function is_mcode_convertible_to_set in module ida_hexrays: + +is_mcode_convertible_to_set(*args) -> 'bool' + is_mcode_convertible_to_set(mcode) -> bool + +Help on function is_mcode_divmod in module ida_hexrays: + +is_mcode_divmod(*args) -> 'bool' + is_mcode_divmod(op) -> bool + +Help on function is_mcode_fpu in module ida_hexrays: + +is_mcode_fpu(*args) -> 'bool' + is_mcode_fpu(mcode) -> bool + +Help on function is_mcode_j1 in module ida_hexrays: + +is_mcode_j1(*args) -> 'bool' + is_mcode_j1(mcode) -> bool + +Help on function is_mcode_jcond in module ida_hexrays: + +is_mcode_jcond(*args) -> 'bool' + is_mcode_jcond(mcode) -> bool + +Help on function is_mcode_propagatable in module ida_hexrays: + +is_mcode_propagatable(*args) -> 'bool' + 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) + +Help on function is_mcode_set in module ida_hexrays: + +is_mcode_set(*args) -> 'bool' + is_mcode_set(mcode) -> bool + +Help on function is_mcode_set1 in module ida_hexrays: + +is_mcode_set1(*args) -> 'bool' + is_mcode_set1(mcode) -> bool + +Help on function is_mcode_shift in module ida_hexrays: + +is_mcode_shift(*args) -> 'bool' + is_mcode_shift(mcode) -> bool + +Help on function is_mcode_xdsu in module ida_hexrays: + +is_mcode_xdsu(*args) -> 'bool' + is_mcode_xdsu(mcode) -> bool + +Help on function is_multiplicative in module ida_hexrays: + +is_multiplicative(*args) -> 'bool' + is_multiplicative(op) -> bool + + + Is multiplicative operator? + + + @param op (C++: ctype_t) + +Help on function is_nonbool_type in module ida_hexrays: + +is_nonbool_type(*args) -> 'bool' + is_nonbool_type(type) -> bool + + + Is definitely a non-boolean type? + + @param type (C++: const tinfo_t &) + @return: true if the type is a non-boolean type (non bool and well + defined) + +Help on function is_paf in module ida_hexrays: + +is_paf(*args) -> 'bool' + is_paf(t) -> bool + + + Is a pointer, array, or function type? + + + @param t (C++: type_t) + +Help on function is_prepost in module ida_hexrays: + +is_prepost(*args) -> 'bool' + is_prepost(op) -> bool + + + Is pre/post increment/decrement operator? + + + @param op (C++: ctype_t) + +Help on function is_ptr_or_array in module ida_hexrays: + +is_ptr_or_array(*args) -> 'bool' + is_ptr_or_array(t) -> bool + + + Is a pointer or array type? + + + @param t (C++: type_t) + +Help on function is_relational in module ida_hexrays: + +is_relational(*args) -> 'bool' + is_relational(op) -> bool + + + Is comparison operator? + + + @param op (C++: ctype_t) + +Help on function is_signed_mcode in module ida_hexrays: + +is_signed_mcode(*args) -> 'bool' + is_signed_mcode(code) -> bool + +Help on function is_small_udt in module ida_hexrays: + +is_small_udt(*args) -> 'bool' + is_small_udt(tif) -> bool + + + Is a small structure or union? + + @param tif (C++: const tinfo_t &) + @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. + +Help on function is_type_correct in module ida_hexrays: + +is_type_correct(*args) -> 'bool' + is_type_correct(ptr) -> bool + + + Verify a type string. + + @param ptr (C++: const type_t *) + @return: true if type string is correct + +Help on function is_unary in module ida_hexrays: + +is_unary(*args) -> 'bool' + is_unary(op) -> bool + + + Is unary operator? + + + @param op (C++: ctype_t) + +Help on function is_unsigned_mcode in module ida_hexrays: + +is_unsigned_mcode(*args) -> 'bool' + is_unsigned_mcode(code) -> bool + +Help on class ivl_t in module ida_hexrays: + +class ivl_t(uval_ivl_t) + | Proxy of C++ ivl_t class. + | + | Method resolution order: + | ivl_t + | uval_ivl_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _off, _size) -> ivl_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ivl_t(...) + | delete_ivl_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, off2) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend_to_cover(self, *args) -> 'bool' + | extend_to_cover(self, r) -> bool + | + | includes(self, *args) -> 'bool' + | includes(self, ivl) -> bool + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlap(self, *args) -> 'bool' + | overlap(self, ivl) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from uval_ivl_t: + | + | end(self, *args) -> 'unsigned-ea-like-numeric-type'↗ + | end(self) -> unsigned-ea-like-numeric-type↗ + | + | last(self, *args) -> 'unsigned-ea-like-numeric-type'↗ + | last(self) -> unsigned-ea-like-numeric-type↗ + | + | valid(self, *args) -> 'bool' + | valid(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from uval_ivl_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type↗ + | + | size + | uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type↗ + +Help on class ivl_with_name_t in module ida_hexrays: + +class ivl_with_name_t(builtins.object) + | Proxy of C++ ivl_with_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ivl_with_name_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ivl_with_name_t(...) + | delete_ivl_with_name_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ivl + | ivl_with_name_t_ivl_get(self) -> ivl_t + | + | part + | ivl_with_name_t_part_get(self) -> char const * + | + | thisown + | The membership flag + | + | whole + | ivl_with_name_t_whole_get(self) -> char const * + +Help on class ivlset_t in module ida_hexrays: + +class ivlset_t(uval_ivl_ivlset_t) + | Proxy of C++ ivlset_t class. + | + | Method resolution order: + | ivlset_t + | uval_ivl_ivlset_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ivlset_t + | __init__(self, ivl) -> ivlset_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ivlset_t(...) + | delete_ivlset_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | add(self, *args) -> 'bool' + | add(self, ivl) -> bool + | add(self, ea, size) -> bool + | add(self, ivs) -> bool + | + | addmasked(self, *args) -> 'bool' + | addmasked(self, ivs, mask) -> bool + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, off) -> bool + | + | count(self, *args) -> 'asize_t' + | count(self) -> asize_t + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | has_common(self, *args) -> 'bool' + | has_common(self, ivl, strict=False) -> bool + | has_common(self, ivs) -> bool + | + | includes(self, *args) -> 'bool' + | includes(self, ivs) -> bool + | + | intersect(self, *args) -> 'bool' + | intersect(self, ivs) -> bool + | + | sub(self, *args) -> 'bool' + | sub(self, ivl) -> bool + | sub(self, ea, size) -> bool + | sub(self, ivs) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from uval_ivl_ivlset_t: + | + | all_values(self, *args) -> 'bool' + | all_values(self) -> bool + | + | begin(self, *args) -> 'ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator'↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator'↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | getivl(self, *args) -> 'ivl_t const &' + | getivl(self, idx) -> ivl_t + | + | lastivl(self, *args) -> 'ivl_t const &' + | lastivl(self) -> ivl_t + | + | nivls(self, *args) -> 'size_t' + | nivls(self) -> size_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | set_all_values(self, *args) -> 'void' + | set_all_values(self) + | + | single_value(self, *args) -> 'bool' + | single_value(self, v) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from uval_ivl_ivlset_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function jcnd2set in module ida_hexrays: + +jcnd2set(*args) -> 'mcode_t' + jcnd2set(code) -> mcode_t + +Help on function lexcompare in module ida_hexrays: + +lexcompare(*args) -> 'int' + lexcompare(a, b) -> int + +Help on function lnot in module ida_hexrays: + +lnot(e) + +Help on class lvar_locator_t in module ida_hexrays: + +class lvar_locator_t(builtins.object) + | Proxy of C++ lvar_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_locator_t + | __init__(self, loc, ea) -> lvar_locator_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_locator_t(...) + | delete_lvar_locator_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | get_reg1(self, *args) -> 'mreg_t' + | get_reg1(self) -> mreg_t + | + | get_reg2(self, *args) -> 'mreg_t' + | get_reg2(self) -> mreg_t + | + | get_scattered(self, *args) -> 'scattered_aloc_t &' + | get_scattered(self) -> scattered_aloc_t + | get_scattered(self) -> scattered_aloc_t + | + | get_stkoff(self, *args) -> 'sval_t' + | get_stkoff(self) -> sval_t + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_reg_var(self, *args) -> 'bool' + | is_reg_var(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stk_var(self, *args) -> 'bool' + | is_stk_var(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | defea + | lvar_locator_t_defea_get(self) -> ea_t + | + | location + | lvar_locator_t_location_get(self) -> vdloc_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function lvar_mapping_begin in module ida_hexrays: + +lvar_mapping_begin(*args) -> 'lvar_mapping_iterator_t' + 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 *) + +Help on function lvar_mapping_clear in module ida_hexrays: + +lvar_mapping_clear(*args) -> 'void' + lvar_mapping_clear(map) + + + Clear lvar_mapping_t. + + + @param map (C++: lvar_mapping_t *) + +Help on function lvar_mapping_end in module ida_hexrays: + +lvar_mapping_end(*args) -> 'lvar_mapping_iterator_t' + 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 *) + +Help on function lvar_mapping_erase in module ida_hexrays: + +lvar_mapping_erase(*args) -> 'void' + 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) + +Help on function lvar_mapping_find in module ida_hexrays: + +lvar_mapping_find(*args) -> 'lvar_mapping_iterator_t' + lvar_mapping_find(map, key) -> lvar_mapping_iterator_t + + + Find the specified key in lvar_mapping_t. + + + @param map (C++: const lvar_mapping_t *) + @param key (C++: const lvar_locator_t &) + +Help on function lvar_mapping_first in module ida_hexrays: + +lvar_mapping_first(*args) -> 'lvar_locator_t const &' + lvar_mapping_first(p) -> lvar_locator_t + + + Get reference to the current map key. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_free in module ida_hexrays: + +lvar_mapping_free(*args) -> 'void' + lvar_mapping_free(map) + + + Delete lvar_mapping_t instance. + + + @param map (C++: lvar_mapping_t *) + +Help on function lvar_mapping_insert in module ida_hexrays: + +lvar_mapping_insert(*args) -> 'lvar_mapping_iterator_t' + 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 &) + @param val (C++: const lvar_locator_t &) + +Help on class lvar_mapping_iterator_t in module ida_hexrays: + +class lvar_mapping_iterator_t(builtins.object) + | Proxy of C++ lvar_mapping_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_mapping_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_mapping_iterator_t(...) + | delete_lvar_mapping_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | lvar_mapping_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function lvar_mapping_new in module ida_hexrays: + +lvar_mapping_new(*args) -> 'lvar_mapping_t *' + lvar_mapping_new() -> lvar_mapping_t + + + Create a new lvar_mapping_t instance. + +Help on function lvar_mapping_next in module ida_hexrays: + +lvar_mapping_next(*args) -> 'lvar_mapping_iterator_t' + lvar_mapping_next(p) -> lvar_mapping_iterator_t + + + Move to the next element. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_prev in module ida_hexrays: + +lvar_mapping_prev(*args) -> 'lvar_mapping_iterator_t' + lvar_mapping_prev(p) -> lvar_mapping_iterator_t + + + Move to the previous element. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_second in module ida_hexrays: + +lvar_mapping_second(*args) -> 'lvar_locator_t &' + lvar_mapping_second(p) -> lvar_locator_t + + + Get reference to the current map value. + + + @param p (C++: lvar_mapping_iterator_t) + +Help on function lvar_mapping_size in module ida_hexrays: + +lvar_mapping_size(*args) -> 'size_t' + lvar_mapping_size(map) -> size_t + + + Get size of lvar_mapping_t. + + + @param map (C++: lvar_mapping_t *) + +Help on class lvar_mapping_t in module ida_hexrays: + +class lvar_mapping_t(builtins.object) + | Proxy of C++ std::map< lvar_locator_t,lvar_locator_t > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvar_mapping_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_mapping_t(...) + | delete_lvar_mapping_t(self) + | + | at(self, *args) -> 'lvar_locator_t &' + | at(self, _Keyval) -> lvar_locator_t + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class lvar_ref_t in module ida_hexrays: + +class lvar_ref_t(builtins.object) + | Proxy of C++ lvar_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, m, i, o=0) -> lvar_ref_t + | __init__(self, r) -> lvar_ref_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_ref_t(...) + | delete_lvar_ref_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | var(self, *args) -> 'lvar_t &' + | var(self) -> lvar_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | idx + | lvar_ref_t_idx_get(self) -> int + | + | mba + | lvar_ref_t_mba_get(self) -> mbl_array_t + | + | off + | lvar_ref_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class lvar_saved_info_t in module ida_hexrays: + +class lvar_saved_info_t(builtins.object) + | Proxy of C++ lvar_saved_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lvar_saved_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_saved_info_t(...) + | delete_lvar_saved_info_t(self) + | + | clear_keep(self, *args) -> 'void' + | clear_keep(self) + | + | clr_forced_lvar(self, *args) -> 'void' + | clr_forced_lvar(self) + | + | clr_nomap_lvar(self, *args) -> 'void' + | clr_nomap_lvar(self) + | + | clr_noptr_lvar(self, *args) -> 'void' + | clr_noptr_lvar(self) + | + | has_info(self, *args) -> 'bool' + | has_info(self) -> bool + | + | is_forced_lvar(self, *args) -> 'bool' + | is_forced_lvar(self) -> bool + | + | is_kept(self, *args) -> 'bool' + | is_kept(self) -> bool + | + | is_nomap_lvar(self, *args) -> 'bool' + | is_nomap_lvar(self) -> bool + | + | is_noptr_lvar(self, *args) -> 'bool' + | is_noptr_lvar(self) -> bool + | + | set_forced_lvar(self, *args) -> 'void' + | set_forced_lvar(self) + | + | set_keep(self, *args) -> 'void' + | set_keep(self) + | + | set_nomap_lvar(self, *args) -> 'void' + | set_nomap_lvar(self) + | + | set_noptr_lvar(self, *args) -> 'void' + | set_noptr_lvar(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | lvar_saved_info_t_cmt_get(self) -> qstring * + | + | flags + | lvar_saved_info_t_flags_get(self) -> int + | + | ll + | lvar_saved_info_t_ll_get(self) -> lvar_locator_t + | + | name + | lvar_saved_info_t_name_get(self) -> qstring * + | + | size + | lvar_saved_info_t_size_get(self) -> ssize_t + | + | thisown + | The membership flag + | + | type + | lvar_saved_info_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class lvar_saved_infos_t in module ida_hexrays: + +class lvar_saved_infos_t(builtins.object) + | Proxy of C++ qvector< lvar_saved_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'lvar_saved_info_t const &' + | __getitem__(self, i) -> lvar_saved_info_t + | + | __init__(self, *args) + | __init__(self) -> lvar_saved_infos_t + | __init__(self, x) -> lvar_saved_infos_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_lvar_saved_infos_t(...) + | delete_lvar_saved_infos_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'lvar_saved_info_t &' + | + | at = __getitem__(self, *args) -> 'lvar_saved_info_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< lvar_saved_info_t >::const_iterator' + | begin(self) -> lvar_saved_info_t + | begin(self) -> lvar_saved_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< lvar_saved_info_t >::const_iterator' + | end(self) -> lvar_saved_info_t + | end(self) -> lvar_saved_info_t + | + | erase(self, *args) -> 'qvector< lvar_saved_info_t >::iterator' + | erase(self, it) -> lvar_saved_info_t + | erase(self, first, last) -> lvar_saved_info_t + | + | extract(self, *args) -> 'lvar_saved_info_t *' + | extract(self) -> lvar_saved_info_t + | + | find(self, *args) -> 'qvector< lvar_saved_info_t >::const_iterator' + | find(self, x) -> lvar_saved_info_t + | find(self, x) -> lvar_saved_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=lvar_saved_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< lvar_saved_info_t >::iterator' + | insert(self, it, x) -> lvar_saved_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'lvar_saved_info_t &' + | push_back(self, x) + | push_back(self) -> lvar_saved_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class lvar_t in module ida_hexrays: + +class lvar_t(lvar_locator_t) + | Proxy of C++ lvar_t class. + | + | Method resolution order: + | lvar_t + | lvar_locator_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | __init__(self) -> lvar_locator_t + | __init__(self, loc, ea) -> lvar_locator_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_t(...) + | delete_lvar_t(self) + | + | accepts_type(self, *args) -> 'bool' + | accepts_type(self, t, may_change_thisarg=False) -> bool + | + | append_list(self, *args) -> 'void' + | append_list(self, lst, pad_if_scattered=False) + | + | clear_used(self, *args) -> 'void' + | clear_used(self) + | + | clr_arg_var(self, *args) -> 'void' + | clr_arg_var(self) + | + | clr_automapped(self, *args) -> 'void' + | clr_automapped(self) + | + | clr_dummy_arg(self, *args) -> 'void' + | clr_dummy_arg(self) + | + | clr_fake_var(self, *args) -> 'void' + | clr_fake_var(self) + | + | clr_floating_var(self, *args) -> 'void' + | clr_floating_var(self) + | + | clr_forced_var(self, *args) -> 'void' + | clr_forced_var(self) + | + | clr_mapdst_var(self, *args) -> 'void' + | clr_mapdst_var(self) + | + | clr_mreg_done(self, *args) -> 'void' + | clr_mreg_done(self) + | + | clr_noptr_var(self, *args) -> 'void' + | clr_noptr_var(self) + | + | clr_notarg(self, *args) -> 'void' + | clr_notarg(self) + | + | clr_overlapped_var(self, *args) -> 'void' + | clr_overlapped_var(self) + | + | clr_spoiled_var(self, *args) -> 'void' + | clr_spoiled_var(self) + | + | clr_thisarg(self, *args) -> 'void' + | clr_thisarg(self) + | + | clr_unknown_width(self, *args) -> 'void' + | clr_unknown_width(self) + | + | clr_user_info(self, *args) -> 'void' + | clr_user_info(self) + | + | clr_user_name(self, *args) -> 'void' + | clr_user_name(self) + | + | clr_user_type(self, *args) -> 'void' + | clr_user_type(self) + | + | has_common(self, *args) -> 'bool' + | has_common(self, v) -> bool + | + | has_common_bit(self, *args) -> 'bool' + | has_common_bit(self, loc, width2) -> bool + | + | has_regname(self, *args) -> 'bool' + | has_regname(self) -> bool + | + | is_aliasable(self, *args) -> 'bool' + | is_aliasable(self, mba) -> bool + | + | is_automapped(self, *args) -> 'bool' + | is_automapped(self) -> bool + | + | is_dummy_arg(self, *args) -> 'bool' + | is_dummy_arg(self) -> bool + | + | is_forced_var(self, *args) -> 'bool' + | is_forced_var(self) -> bool + | + | is_noptr_var(self, *args) -> 'bool' + | is_noptr_var(self) -> bool + | + | is_notarg(self, *args) -> 'bool' + | is_notarg(self) -> bool + | + | is_thisarg(self, *args) -> 'bool' + | is_thisarg(self) -> bool + | + | set_arg_var(self, *args) -> 'void' + | set_arg_var(self) + | + | set_automapped(self, *args) -> 'void' + | set_automapped(self) + | + | set_dummy_arg(self, *args) -> 'void' + | set_dummy_arg(self) + | + | set_fake_var(self, *args) -> 'void' + | set_fake_var(self) + | + | set_final_lvar_type(self, *args) -> 'void' + | set_final_lvar_type(self, t) + | + | set_floating_var(self, *args) -> 'void' + | set_floating_var(self) + | + | set_forced_var(self, *args) -> 'void' + | set_forced_var(self) + | + | set_lvar_type(self, *args) -> 'bool' + | set_lvar_type(self, t, may_fail=False) -> bool + | + | set_mapdst_var(self, *args) -> 'void' + | set_mapdst_var(self) + | + | set_mreg_done(self, *args) -> 'void' + | set_mreg_done(self) + | + | set_non_typed(self, *args) -> 'void' + | set_non_typed(self) + | + | set_noptr_var(self, *args) -> 'void' + | set_noptr_var(self) + | + | set_notarg(self, *args) -> 'void' + | set_notarg(self) + | + | set_overlapped_var(self, *args) -> 'void' + | set_overlapped_var(self) + | + | set_spoiled_var(self, *args) -> 'void' + | set_spoiled_var(self) + | + | set_thisarg(self, *args) -> 'void' + | set_thisarg(self) + | + | set_typed(self, *args) -> 'void' + | set_typed(self) + | + | set_unknown_width(self, *args) -> 'void' + | set_unknown_width(self) + | + | set_used(self, *args) -> 'void' + | set_used(self) + | + | set_user_name(self, *args) -> 'void' + | set_user_name(self) + | + | set_user_type(self, *args) -> 'void' + | set_user_type(self) + | + | set_width(self, *args) -> 'bool' + | set_width(self, w, svw_flags=0) -> bool + | + | type(self, *args) -> 'tinfo_t &' + | type(self) -> tinfo_t + | type(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cmt + | lvar_t_cmt_get(self) -> qstring * + | + | defblk + | lvar_t_defblk_get(self) -> int + | + | divisor + | lvar_t_divisor_get(self) -> uint64 + | + | has_nice_name + | has_nice_name(self) -> bool + | + | has_user_info + | has_user_info(self) -> bool + | + | has_user_name + | has_user_name(self) -> bool + | + | has_user_type + | has_user_type(self) -> bool + | + | is_arg_var + | is_arg_var(self) -> bool + | + | is_fake_var + | is_fake_var(self) -> bool + | + | is_floating_var + | is_floating_var(self) -> bool + | + | is_mapdst_var + | is_mapdst_var(self) -> bool + | + | is_overlapped_var + | is_overlapped_var(self) -> bool + | + | is_result_var + | is_result_var(self) -> bool + | + | is_spoiled_var + | is_spoiled_var(self) -> bool + | + | is_unknown_width + | is_unknown_width(self) -> bool + | + | mreg_done + | mreg_done(self) -> bool + | + | name + | lvar_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tif + | lvar_t_tif_get(self) -> tinfo_t + | + | typed + | typed(self) -> bool + | + | used + | used(self) -> bool + | + | width + | lvar_t_width_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from lvar_locator_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | get_reg1(self, *args) -> 'mreg_t' + | get_reg1(self) -> mreg_t + | + | get_reg2(self, *args) -> 'mreg_t' + | get_reg2(self) -> mreg_t + | + | get_scattered(self, *args) -> 'scattered_aloc_t &' + | get_scattered(self) -> scattered_aloc_t + | get_scattered(self) -> scattered_aloc_t + | + | get_stkoff(self, *args) -> 'sval_t' + | get_stkoff(self) -> sval_t + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_reg_var(self, *args) -> 'bool' + | is_reg_var(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stk_var(self, *args) -> 'bool' + | is_stk_var(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from lvar_locator_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | defea + | lvar_locator_t_defea_get(self) -> ea_t + | + | location + | lvar_locator_t_location_get(self) -> vdloc_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from lvar_locator_t: + | + | __hash__ = None + +Help on class lvar_uservec_t in module ida_hexrays: + +class lvar_uservec_t(builtins.object) + | Proxy of C++ lvar_uservec_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvar_uservec_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvar_uservec_t(...) + | delete_lvar_uservec_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | find_info(self, *args) -> 'lvar_saved_info_t *' + | find_info(self, vloc) -> lvar_saved_info_t + | + | keep_info(self, *args) -> 'void' + | keep_info(self, v) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lmaps + | lvar_uservec_t_lmaps_get(self) -> lvar_mapping_t + | + | lvvec + | lvar_uservec_t_lvvec_get(self) -> lvar_saved_infos_t + | + | stkoff_delta + | lvar_uservec_t_stkoff_delta_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ulv_flags + | lvar_uservec_t_ulv_flags_get(self) -> int + +Help on class lvars_t in module ida_hexrays: + +class lvars_t(qvector_lvar_t) + | Proxy of C++ lvars_t class. + | + | Method resolution order: + | lvars_t + | qvector_lvar_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lvars_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lvars_t(...) + | delete_lvars_t(self) + | + | find(self, *args) -> 'lvar_t *' + | find(self, ll) -> lvar_t + | + | find_input_lvar(self, *args) -> 'int' + | find_input_lvar(self, argloc, _size) -> int + | + | find_lvar(self, *args) -> 'int' + | find_lvar(self, location, width, defblk=-1) -> int + | + | find_stkvar(self, *args) -> 'int' + | find_stkvar(self, spoff, width) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from qvector_lvar_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'lvar_t const &' + | __getitem__(self, i) -> lvar_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'lvar_t &' + | push_back(self, x) + | push_back(self) -> lvar_t + | + | at = __getitem__(self, *args) -> 'lvar_t const &' + | __getitem__(self, i) -> lvar_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< lvar_t >::const_iterator' + | begin(self) -> lvar_t + | begin(self) -> lvar_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< lvar_t >::const_iterator' + | end(self) -> lvar_t + | end(self) -> lvar_t + | + | erase(self, *args) -> 'qvector< lvar_t >::iterator' + | erase(self, it) -> lvar_t + | erase(self, first, last) -> lvar_t + | + | extract(self, *args) -> 'lvar_t *' + | extract(self) -> lvar_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=lvar_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< lvar_t >::iterator' + | insert(self, it, x) -> lvar_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'lvar_t &' + | push_back(self, x) + | push_back(self) -> lvar_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from qvector_lvar_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from qvector_lvar_t: + | + | __hash__ = None + +Help on function make_num in module ida_hexrays: + +make_num(*args) + +Help on function make_pointer in module ida_hexrays: + +make_pointer(*args) -> 'tinfo_t' + make_pointer(type) -> tinfo_t + + + Create a pointer type. This function performs the following + conversion: "type" -> "type*" + + @param type: object type. (C++: const tinfo_t &) + @return: "type*". for example, if 'char' is passed as the argument, + +Help on function make_ref in module ida_hexrays: + +make_ref(e) + +Help on function mark_cfunc_dirty in module ida_hexrays: + +mark_cfunc_dirty(*args) -> 'bool' + mark_cfunc_dirty(ea, close_views=False) -> bool + + + Flush the cached decompilation results. Erases a cache entry for the + specified function. + + @param ea: function to erase from the cache (C++: ea_t) + @param close_views: close pseudocode windows that show the function + (C++: bool) + @return: if a cache entry existed. + +Help on class mba_range_iterator_t in module ida_hexrays: + +class mba_range_iterator_t(builtins.object) + | Proxy of C++ mba_range_iterator_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mba_range_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mba_range_iterator_t(...) + | delete_mba_range_iterator_t(self) + | + | chunk(self, *args) -> 'range_t const &' + | chunk(self) -> range_t + | + | is_snippet(self, *args) -> 'bool' + | is_snippet(self) -> bool + | + | next(self, *args) -> 'bool' + | next(self) -> bool + | + | set(self, *args) -> 'bool' + | set(self, mbr) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fii + | mba_range_iterator_t_fii_get(self) -> func_tail_iterator_t + | + | rii + | mba_range_iterator_t_rii_get(self) -> range_chunk_iterator_t * + | + | thisown + | The membership flag + +Help on class mba_ranges_t in module ida_hexrays: + +class mba_ranges_t(builtins.object) + | Proxy of C++ mba_ranges_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _pfn=None) -> mba_ranges_t + | __init__(self, r) -> mba_ranges_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mba_ranges_t(...) + | delete_mba_ranges_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | is_fragmented(self, *args) -> 'bool' + | is_fragmented(self) -> bool + | + | is_snippet(self, *args) -> 'bool' + | is_snippet(self) -> bool + | + | start(self, *args) -> 'ea_t' + | start(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | pfn + | mba_ranges_t_pfn_get(self) -> func_t * + | + | ranges + | mba_ranges_t_ranges_get(self) -> rangevec_t + | + | thisown + | The membership flag + +Help on class mbl_array_t in module ida_hexrays: + +class mbl_array_t(builtins.object) + | Proxy of C++ mbl_array_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mbl_array_t(...) + | delete_mbl_array_t(self) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _print(self, *args) -> 'void' + | _print(self, vp) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | alloc_lvars(self, *args) -> 'void' + | alloc_lvars(self) + | + | analyze_calls(self, *args) -> 'int' + | analyze_calls(self, acflags) -> int + | + | arg(self, *args) -> 'lvar_t const &' + | arg(self, n) -> lvar_t + | arg(self, n) -> lvar_t + | + | argbase(self, *args) -> 'sval_t' + | argbase(self) -> sval_t + | + | argidx_ok(self, *args) -> 'bool' + | argidx_ok(self) -> bool + | + | bad_call_sp_detected(self, *args) -> 'bool' + | bad_call_sp_detected(self) -> bool + | + | build_graph(self, *args) -> 'merror_t' + | build_graph(self) -> merror_t + | + | calc_shins_flags(self, *args) -> 'int' + | calc_shins_flags(self) -> int + | + | callinfo_built(self, *args) -> 'bool' + | callinfo_built(self) -> bool + | + | chain_varnums_ok(self, *args) -> 'bool' + | chain_varnums_ok(self) -> bool + | + | clr_cdtr(self, *args) -> 'void' + | clr_cdtr(self) + | + | clr_mba_flags(self, *args) -> 'void' + | clr_mba_flags(self, f) + | + | clr_mba_flags2(self, *args) -> 'void' + | clr_mba_flags2(self, f) + | + | combine_blocks(self, *args) -> 'bool' + | combine_blocks(self) -> bool + | + | common_stkvars_stkargs(self, *args) -> 'bool' + | common_stkvars_stkargs(self) -> bool + | + | copy_block(self, *args) -> 'mblock_t *' + | copy_block(self, blk, new_serial, cpblk_flags=3) -> mblock_t + | + | deleted_pairs(self, *args) -> 'bool' + | deleted_pairs(self) -> bool + | + | display_numaddrs(self, *args) -> 'bool' + | display_numaddrs(self) -> bool + | + | display_valnums(self, *args) -> 'bool' + | display_valnums(self) -> bool + | + | dump(self, *args) -> 'void' + | dump(self) + | + | dump_mba(self, *args) -> 'void' + | dump_mba(self, _verify, title) + | + | find_mop(self, *args) -> 'mop_t *' + | find_mop(self, ctx, ea, is_dest, list) -> mop_t + | + | for_all_insns(self, *args) -> 'int' + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv) -> int + | + | for_all_topinsns(self, *args) -> 'int' + | for_all_topinsns(self, mv) -> int + | + | generated_asserts(self, *args) -> 'bool' + | generated_asserts(self) -> bool + | + | get_args_region(self, *args) -> 'ivl_t const &' + | get_args_region(self) -> ivl_t + | + | get_curfunc(self, *args) -> 'func_t *' + | get_curfunc(self) -> func_t * + | + | get_graph(self, *args) -> 'mbl_graph_t *' + | get_graph(self) -> mbl_graph_t + | + | get_ida_argloc(self, *args) -> 'argloc_t' + | get_ida_argloc(self, v) -> argloc_t + | + | get_lvars_region(self, *args) -> 'ivl_t const &' + | get_lvars_region(self) -> ivl_t + | + | get_mba_flags(self, *args) -> 'int' + | get_mba_flags(self) -> int + | + | get_mba_flags2(self, *args) -> 'int' + | get_mba_flags2(self) -> int + | + | get_mblock(self, *args) -> 'mblock_t *' + | get_mblock(self, n) -> mblock_t + | get_mblock(self, n) -> mblock_t + | + | get_shadow_region(self, *args) -> 'ivl_t const &' + | get_shadow_region(self) -> ivl_t + | + | get_stack_region(self, *args) -> 'ivl_t' + | get_stack_region(self) -> ivl_t + | + | get_std_region(self, *args) -> 'ivl_t const &' + | get_std_region(self, idx) -> ivl_t + | + | graph_insns(self, *args) -> 'bool' + | graph_insns(self) -> bool + | + | has_bad_sp(self, *args) -> 'bool' + | has_bad_sp(self) -> bool + | + | has_over_chains(self, *args) -> 'bool' + | has_over_chains(self) -> bool + | + | has_passregs(self, *args) -> 'bool' + | has_passregs(self) -> bool + | + | idaloc2vd(self, *args) -> 'vdloc_t' + | idaloc2vd(self, loc, width) -> vdloc_t + | + | insert_block(self, *args) -> 'mblock_t *' + | insert_block(self, bblk) -> mblock_t + | + | is_cdtr(self, *args) -> 'bool' + | is_cdtr(self) -> bool + | + | is_ctr(self, *args) -> 'bool' + | is_ctr(self) -> bool + | + | is_dtr(self, *args) -> 'bool' + | is_dtr(self) -> bool + | + | is_pattern(self, *args) -> 'bool' + | is_pattern(self) -> bool + | + | is_snippet(self, *args) -> 'bool' + | is_snippet(self) -> bool + | + | is_stkarg(self, *args) -> 'bool' + | is_stkarg(self, v) -> bool + | + | is_thunk(self, *args) -> 'bool' + | is_thunk(self) -> bool + | + | loaded_gdl(self, *args) -> 'bool' + | loaded_gdl(self) -> bool + | + | lvar_names_ok(self, *args) -> 'bool' + | lvar_names_ok(self) -> bool + | + | lvars_allocated(self, *args) -> 'bool' + | lvars_allocated(self) -> bool + | + | lvars_renamed(self, *args) -> 'bool' + | lvars_renamed(self) -> bool + | + | mark_chains_dirty(self, *args) -> 'void' + | mark_chains_dirty(self) + | + | may_refine_rettype(self, *args) -> 'bool' + | may_refine_rettype(self) -> bool + | + | optimize_global(self, *args) -> 'merror_t' + | optimize_global(self) -> merror_t + | + | optimize_local(self, *args) -> 'int' + | optimize_local(self, locopt_bits) -> int + | + | optimized(self, *args) -> 'bool' + | optimized(self) -> bool + | + | precise_defeas(self, *args) -> 'bool' + | precise_defeas(self) -> bool + | + | propagated_asserts(self, *args) -> 'bool' + | propagated_asserts(self) -> bool + | + | really_alloc(self, *args) -> 'bool' + | really_alloc(self) -> bool + | + | regargs_is_not_aligned(self, *args) -> 'bool' + | regargs_is_not_aligned(self) -> bool + | + | remove_block(self, *args) -> 'bool' + | remove_block(self, blk) -> bool + | + | remove_empty_blocks(self, *args) -> 'bool' + | remove_empty_blocks(self) -> bool + | + | returns_fpval(self, *args) -> 'bool' + | returns_fpval(self) -> bool + | + | rtype_refined(self, *args) -> 'bool' + | rtype_refined(self) -> bool + | + | saverest_done(self, *args) -> 'bool' + | saverest_done(self) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | set_mba_flags(self, *args) -> 'void' + | set_mba_flags(self, f) + | + | set_mba_flags2(self, *args) -> 'void' + | set_mba_flags2(self, f) + | + | short_display(self, *args) -> 'bool' + | short_display(self) -> bool + | + | should_beautify(self, *args) -> 'bool' + | should_beautify(self) -> bool + | + | show_reduction(self, *args) -> 'bool' + | show_reduction(self) -> bool + | + | stkoff_ida2vd(self, *args) -> 'sval_t' + | stkoff_ida2vd(self, off) -> sval_t + | + | stkoff_vd2ida(self, *args) -> 'sval_t' + | stkoff_vd2ida(self, off) -> sval_t + | + | term(self, *args) -> 'void' + | term(self) + | + | use_frame(self, *args) -> 'bool' + | use_frame(self) -> bool + | + | use_wingraph32(self, *args) -> 'bool' + | use_wingraph32(self) -> bool + | + | valranges_done(self, *args) -> 'bool' + | valranges_done(self) -> bool + | + | vd2idaloc(self, *args) -> 'argloc_t' + | vd2idaloc(self, loc, width, spd) -> argloc_t + | vd2idaloc(self, loc, width) -> argloc_t + | + | verify(self, *args) -> 'void' + | verify(self, always) + | + | write_to_const_detected(self, *args) -> 'bool' + | write_to_const_detected(self) -> bool + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | deserialize(*args) -> 'mbl_array_t *' + | deserialize(bytes) -> mbl_array_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | aliased_args + | mbl_array_t_aliased_args_get(self) -> ivl_t + | + | aliased_memory + | mbl_array_t_aliased_memory_get(self) -> ivlset_t + | + | aliased_vars + | mbl_array_t_aliased_vars_get(self) -> ivl_t + | + | argidx + | mbl_array_t_argidx_get(self) -> intvec_t + | + | blocks + | mbl_array_t_blocks_get(self) -> mblock_t + | + | cc + | mbl_array_t_cc_get(self) -> cm_t + | + | consumed_argregs + | mbl_array_t_consumed_argregs_get(self) -> rlist_t + | + | entry_ea + | mbl_array_t_entry_ea_get(self) -> ea_t + | + | error_ea + | mbl_array_t_error_ea_get(self) -> ea_t + | + | error_strarg + | mbl_array_t_error_strarg_get(self) -> qstring * + | + | final_type + | mbl_array_t_final_type_get(self) -> bool + | + | first_epilog_ea + | mbl_array_t_first_epilog_ea_get(self) -> ea_t + | + | fpd + | mbl_array_t_fpd_get(self) -> sval_t + | + | frregs + | mbl_array_t_frregs_get(self) -> sval_t + | + | frsize + | mbl_array_t_frsize_get(self) -> sval_t + | + | fti_flags + | mbl_array_t_fti_flags_get(self) -> int + | + | fullsize + | mbl_array_t_fullsize_get(self) -> sval_t + | + | gotoff_stkvars + | mbl_array_t_gotoff_stkvars_get(self) -> ivlset_t + | + | idb_node + | mbl_array_t_idb_node_get(self) -> netnode + | + | idb_spoiled + | mbl_array_t_idb_spoiled_get(self) -> reginfovec_t + | + | idb_type + | mbl_array_t_idb_type_get(self) -> tinfo_t + | + | inargoff + | mbl_array_t_inargoff_get(self) -> sval_t + | + | label + | mbl_array_t_label_get(self) -> qstring * + | + | last_prolog_ea + | mbl_array_t_last_prolog_ea_get(self) -> ea_t + | + | maturity + | mbl_array_t_maturity_get(self) -> mba_maturity_t + | + | mbr + | mbl_array_t_mbr_get(self) -> mba_ranges_t + | + | minargref + | mbl_array_t_minargref_get(self) -> sval_t + | + | minstkref + | mbl_array_t_minstkref_get(self) -> sval_t + | + | minstkref_ea + | mbl_array_t_minstkref_ea_get(self) -> ea_t + | + | natural + | mbl_array_t_natural_get(self) -> mblock_t ** + | + | nodel_memory + | mbl_array_t_nodel_memory_get(self) -> mlist_t + | + | notes + | mbl_array_t_notes_get(self) -> hexwarns_t + | + | npurged + | mbl_array_t_npurged_get(self) -> int + | + | occurred_warns + | mbl_array_t_occurred_warns_get(self) -> uchar [32] + | + | pfn_flags + | mbl_array_t_pfn_flags_get(self) -> int + | + | qty + | mbl_array_t_qty_get(self) -> int + | + | reqmat + | mbl_array_t_reqmat_get(self) -> mba_maturity_t + | + | restricted_memory + | mbl_array_t_restricted_memory_get(self) -> ivlset_t + | + | retsize + | mbl_array_t_retsize_get(self) -> int + | + | retvaridx + | mbl_array_t_retvaridx_get(self) -> int + | + | shadow_args + | mbl_array_t_shadow_args_get(self) -> int + | + | spd_adjust + | mbl_array_t_spd_adjust_get(self) -> sval_t + | + | spoiled_list + | mbl_array_t_spoiled_list_get(self) -> mlist_t + | + | stacksize + | mbl_array_t_stacksize_get(self) -> sval_t + | + | std_ivls + | mbl_array_t_std_ivls_get(self) -> ivl_with_name_t + | + | thisown + | The membership flag + | + | tmpstk_size + | mbl_array_t_tmpstk_size_get(self) -> sval_t + | + | vars + | mbl_array_t_vars_get(self) -> lvars_t + +Help on function mbl_array_t_deserialize in module ida_hexrays: + +mbl_array_t_deserialize(*args) -> 'mbl_array_t *' + mbl_array_t_deserialize(bytes) -> mbl_array_t + +Help on class mbl_graph_t in module ida_hexrays: + +class mbl_graph_t(simple_graph_t) + | Proxy of C++ mbl_graph_t class. + | + | Method resolution order: + | mbl_graph_t + | simple_graph_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | get_chain_stamp(self, *args) -> 'int' + | get_chain_stamp(self) -> int + | + | get_du(self, *args) -> 'graph_chains_t *' + | get_du(self, gctype) -> graph_chains_t + | + | get_mblock(self, *args) -> 'mblock_t *' + | get_mblock(self, n) -> mblock_t + | + | get_ud(self, *args) -> 'graph_chains_t *' + | get_ud(self, gctype) -> graph_chains_t + | + | is_du_chain_dirty(self, *args) -> 'bool' + | is_du_chain_dirty(self, gctype) -> bool + | + | is_redefined_globally(self, *args) -> 'bool' + | is_redefined_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool + | + | is_ud_chain_dirty(self, *args) -> 'bool' + | is_ud_chain_dirty(self, gctype) -> bool + | + | is_used_globally(self, *args) -> 'bool' + | is_used_globally(self, list, b1, b2, m1, m2, maymust=MAY_ACCESS) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from simple_graph_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | colored_gdl_edges + | simple_graph_t_colored_gdl_edges_get(self) -> bool + | + | title + | simple_graph_t_title_get(self) -> qstring * + +Help on class mblock_t in module ida_hexrays: + +class mblock_t(builtins.object) + | Proxy of C++ mblock_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mblock_t(...) + | delete_mblock_t(self) + | + | _print(self, *args) -> 'void' + | _print(self, vp) + | + | append_def_list(self, *args) -> 'void' + | append_def_list(self, list, op, maymust) + | + | append_use_list(self, *args) -> 'void' + | append_use_list(self, list, op, maymust, mask=bitrange_t(0, USHRT_MAX)) + | + | build_def_list(self, *args) -> 'mlist_t' + | build_def_list(self, ins, maymust) -> mlist_t + | + | build_lists(self, *args) -> 'int' + | build_lists(self, kill_deads) -> int + | + | build_use_list(self, *args) -> 'mlist_t' + | build_use_list(self, ins, maymust) -> mlist_t + | + | dump(self, *args) -> 'void' + | dump(self) + | + | dump_block(self, *args) -> 'void' + | dump_block(self, title) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | find_access(self, *args) -> 'minsn_t *' + | find_access(self, op, parent, mend, fdflags) -> minsn_t + | + | find_def(self, *args) -> 'minsn_t *' + | find_def(self, op, p_i1, i2, fdflags) -> minsn_t + | + | find_first_use(self, *args) -> 'minsn_t *' + | find_first_use(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t + | + | find_redefinition(self, *args) -> 'minsn_t *' + | find_redefinition(self, list, i1, i2, maymust=MAY_ACCESS) -> minsn_t + | + | find_use(self, *args) -> 'minsn_t *' + | find_use(self, op, p_i1, i2, fdflags) -> minsn_t + | + | for_all_insns(self, *args) -> 'int' + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv) -> int + | + | for_all_uses(self, *args) -> 'int' + | for_all_uses(self, list, i1, i2, mmv) -> int + | + | get_reginsn_qty(self, *args) -> 'size_t' + | get_reginsn_qty(self) -> size_t + | + | get_valranges(self, *args) -> 'bool' + | get_valranges(self, res, vivl, vrflags) -> bool + | get_valranges(self, res, vivl, m, vrflags) -> bool + | + | insert_into_block(self, *args) -> 'minsn_t *' + | insert_into_block(self, nm, om) -> minsn_t + | + | is_branch(self, *args) -> 'bool' + | is_branch(self) -> bool + | + | is_call_block(self, *args) -> 'bool' + | is_call_block(self) -> bool + | + | is_nway(self, *args) -> 'bool' + | is_nway(self) -> bool + | + | is_redefined(self, *args) -> 'bool' + | is_redefined(self, list, i1, i2, maymust=MAY_ACCESS) -> bool + | + | is_rhs_redefined(self, *args) -> 'bool' + | is_rhs_redefined(self, ins, i1, i2) -> bool + | + | is_simple_goto_block(self, *args) -> 'bool' + | is_simple_goto_block(self) -> bool + | + | is_simple_jcnd_block(self, *args) -> 'bool' + | is_simple_jcnd_block(self) -> bool + | + | is_unknown_call(self, *args) -> 'bool' + | is_unknown_call(self) -> bool + | + | is_used(self, *args) -> 'bool' + | is_used(self, list, i1, i2, maymust=MAY_ACCESS) -> bool + | + | lists_dirty(self, *args) -> 'bool' + | lists_dirty(self) -> bool + | + | lists_ready(self, *args) -> 'bool' + | lists_ready(self) -> bool + | + | make_lists_ready(self, *args) -> 'int' + | make_lists_ready(self) -> int + | + | make_nop(self, *args) -> 'void' + | make_nop(self, m) + | + | mark_lists_dirty(self, *args) -> 'void' + | mark_lists_dirty(self) + | + | needs_propagation(self, *args) -> 'bool' + | needs_propagation(self) -> bool + | + | npred(self, *args) -> 'int' + | npred(self) -> int + | + | nsucc(self, *args) -> 'int' + | nsucc(self) -> int + | + | optimize_block(self, *args) -> 'int' + | optimize_block(self) -> int + | + | optimize_insn(self, *args) -> 'int' + | optimize_insn(self, m, optflags=0x0002|0x0004) -> int + | + | optimize_useless_jump(self, *args) -> 'int' + | optimize_useless_jump(self) -> int + | + | pred(self, *args) -> 'int' + | pred(self, n) -> int + | + | preds(self) + | Iterates the list of predecessor blocks + | + | remove_from_block(self, *args) -> 'minsn_t *' + | remove_from_block(self, m) -> minsn_t + | + | request_demote64(self, *args) -> 'void' + | request_demote64(self) + | + | request_propagation(self, *args) -> 'void' + | request_propagation(self) + | + | succ(self, *args) -> 'int' + | succ(self, n) -> int + | + | succs(self) + | Iterates the list of successor blocks + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dead_at_start + | mblock_t_dead_at_start_get(self) -> mlist_t + | + | dnu + | mblock_t_dnu_get(self) -> mlist_t + | + | end + | mblock_t_end_get(self) -> ea_t + | + | flags + | mblock_t_flags_get(self) -> uint32 + | + | head + | mblock_t_head_get(self) -> minsn_t + | + | maxbsp + | mblock_t_maxbsp_get(self) -> sval_t + | + | maybdef + | mblock_t_maybdef_get(self) -> mlist_t + | + | maybuse + | mblock_t_maybuse_get(self) -> mlist_t + | + | mba + | mblock_t_mba_get(self) -> mbl_array_t + | + | minbargref + | mblock_t_minbargref_get(self) -> sval_t + | + | minbstkref + | mblock_t_minbstkref_get(self) -> sval_t + | + | mustbdef + | mblock_t_mustbdef_get(self) -> mlist_t + | + | mustbuse + | mblock_t_mustbuse_get(self) -> mlist_t + | + | nextb + | mblock_t_nextb_get(self) -> mblock_t + | + | predset + | mblock_t_predset_get(self) -> intvec_t + | + | prevb + | mblock_t_prevb_get(self) -> mblock_t + | + | serial + | mblock_t_serial_get(self) -> int + | + | start + | mblock_t_start_get(self) -> ea_t + | + | succset + | mblock_t_succset_get(self) -> intvec_t + | + | tail + | mblock_t_tail_get(self) -> minsn_t + | + | thisown + | The membership flag + | + | type + | mblock_t_type_get(self) -> mblock_type_t + +Help on class mcallarg_t in module ida_hexrays: + +class mcallarg_t(mop_t) + | Proxy of C++ mcallarg_t class. + | + | Method resolution order: + | mcallarg_t + | mop_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mcallarg_t + | __init__(self, rarg) -> mcallarg_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mcallarg_t(...) + | delete_mcallarg_t(self) + | + | _print(self, *args) -> 'void' + | _print(self, shins_flags=0x04|0x02) + | + | copy_mop(self, *args) -> 'void' + | copy_mop(self, op) + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | make_int(self, *args) -> 'void' + | make_int(self, val, val_ea, opno=0) + | + | make_uint(self, *args) -> 'void' + | make_uint(self, val, val_ea, opno=0) + | + | set_regarg(self, *args) -> 'void' + | set_regarg(self, mr, sz, tif) + | set_regarg(self, mr, tif) + | set_regarg(self, mr, dt, sign=type_unsigned) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | argloc + | mcallarg_t_argloc_get(self) -> argloc_t + | + | ea + | mcallarg_t_ea_get(self) -> ea_t + | + | name + | mcallarg_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | mcallarg_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Methods inherited from mop_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, rop) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, rop) -> bool + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) -> 'mop_addr_t *' + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) -> 'int' + | _get_b(self) -> int + | + | _get_c(self, *args) -> 'mcases_t *' + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) -> 'char const *' + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) -> 'minsn_t *' + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) -> 'mcallinfo_t *' + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) -> 'fnumber_t *' + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) -> 'ea_t' + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) -> 'char const *' + | _get_helper(self) -> char const * + | + | _get_l(self, *args) -> 'lvar_ref_t *' + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) -> 'mnumber_t *' + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) -> 'mop_pair_t *' + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) -> 'mreg_t' + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) -> 'stkvar_ref_t *' + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) -> 'scif_t *' + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) -> 'mopt_t' + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) -> 'void' + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) -> 'void' + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) -> 'void' + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) -> 'void' + | _make_gvar(self, ea) + | + | _make_insn(self, *args) -> 'void' + | _make_insn(self, ins) + | + | _make_lvar(self, *args) -> 'void' + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) -> 'void' + | _make_pair(self, _pair) + | + | _make_reg(self, *args) -> 'void' + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) -> 'void' + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) -> 'void' + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _set_a(self, *args) -> 'void' + | _set_a(self, _v) + | + | _set_b(self, *args) -> 'void' + | _set_b(self, _v) + | + | _set_c(self, *args) -> 'void' + | _set_c(self, _v) + | + | _set_cstr(self, *args) -> 'void' + | _set_cstr(self, _v) + | + | _set_d(self, *args) -> 'void' + | _set_d(self, _v) + | + | _set_f(self, *args) -> 'void' + | _set_f(self, _v) + | + | _set_fpc(self, *args) -> 'void' + | _set_fpc(self, _v) + | + | _set_g(self, *args) -> 'void' + | _set_g(self, _v) + | + | _set_helper(self, *args) -> 'void' + | _set_helper(self, _v) + | + | _set_l(self, *args) -> 'void' + | _set_l(self, _v) + | + | _set_nnn(self, *args) -> 'void' + | _set_nnn(self, _v) + | + | _set_pair(self, *args) -> 'void' + | _set_pair(self, _v) + | + | _set_r(self, *args) -> 'void' + | _set_r(self, _v) + | + | _set_s(self, *args) -> 'void' + | _set_s(self, _v) + | + | _set_scif(self, *args) -> 'void' + | _set_scif(self, _v) + | + | _set_t(self, *args) -> 'void' + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) -> 'void' + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) -> 'void' + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) -> 'void' + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) -> 'mop_t &' + | assign(self, rop) -> mop_t + | + | change_size(self, *args) -> 'bool' + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) -> 'void' + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) -> 'bool' + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) -> 'bool' + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) -> 'void' + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) -> 'void' + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) -> 'bool' + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | equal_mops(self, *args) -> 'bool' + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) -> 'void' + | erase(self) + | + | erase_but_keep_size(self, *args) -> 'void' + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) -> 'int' + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) -> 'minsn_t *' + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) -> 'bool' + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) -> 'bool' + | is01(self) -> bool + | + | is_arglist(self, *args) -> 'bool' + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) -> 'bool' + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) -> 'bool' + | is_cc(self) -> bool + | + | is_ccflags(self, *args) -> 'bool' + | is_ccflags(self) -> bool + | + | is_constant(self, *args) -> 'bool' + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) -> 'bool' + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) -> 'bool' + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) -> 'bool' + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) -> 'bool' + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) -> 'bool' + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) -> 'bool' + | is_kreg(self) -> bool + | + | is_mob(self, *args) -> 'bool' + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) -> 'bool' + | is_negative_constant(self) -> bool + | + | is_one(self, *args) -> 'bool' + | is_one(self) -> bool + | + | is_positive_constant(self, *args) -> 'bool' + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) -> 'bool' + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) -> 'bool' + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) -> 'bool' + | is_udt(self) -> bool + | + | is_undef_val(self, *args) -> 'bool' + | is_undef_val(self) -> bool + | + | is_zero(self, *args) -> 'bool' + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) -> 'bool' + | is_zero_extended_from(self, nbytes) -> bool + | + | lexcompare(self, *args) -> 'int' + | lexcompare(self, rop) -> int + | + | make_blkref(self, *args) -> 'void' + | make_blkref(self, blknum) + | + | make_first_half(self, *args) -> 'bool' + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) -> 'bool' + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) -> 'void' + | make_gvar(self, ea) + | + | make_helper(self, *args) -> 'void' + | make_helper(self, name) + | + | make_high_half(self, *args) -> 'bool' + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) -> 'void' + | make_insn(self, ins) + | + | make_low_half(self, *args) -> 'bool' + | make_low_half(self, width) -> bool + | + | make_number(self, *args) -> 'void' + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) -> 'void' + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) -> 'void' + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) -> 'bool' + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) -> 'bool' + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) -> 'bool' + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) -> 'bool' + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) -> 'void' + | set_impptr_done(self) + | + | set_udt(self, *args) -> 'void' + | set_udt(self) + | + | set_undef_val(self, *args) -> 'void' + | set_undef_val(self) + | + | shift_mop(self, *args) -> 'bool' + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) -> 'int64' + | signed_value(self) -> int64 + | + | swap(self, *args) -> 'void' + | swap(self, rop) + | + | unsigned_value(self, *args) -> 'uint64' + | unsigned_value(self) -> uint64 + | + | value(self, *args) -> 'uint64' + | value(self, is_signed) -> uint64 + | + | zero(self, *args) -> 'void' + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from mop_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | valnum + | mop_t_valnum_get(self) -> uint16 + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from mop_t: + | + | __hash__ = None + +Help on class mcallargs_t in module ida_hexrays: + +class mcallargs_t(builtins.object) + | Proxy of C++ qvector< mcallarg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'mcallarg_t const &' + | __getitem__(self, i) -> mcallarg_t + | + | __init__(self, *args) + | __init__(self) -> mcallargs_t + | __init__(self, x) -> mcallargs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_mcallargs_t(...) + | delete_mcallargs_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'mcallarg_t const &' + | at(self, _idx) -> mcallarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< mcallarg_t >::const_iterator' + | begin(self) -> mcallarg_t + | begin(self) -> mcallarg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< mcallarg_t >::const_iterator' + | end(self) -> mcallarg_t + | end(self) -> mcallarg_t + | + | erase(self, *args) -> 'qvector< mcallarg_t >::iterator' + | erase(self, it) -> mcallarg_t + | erase(self, first, last) -> mcallarg_t + | + | extract(self, *args) -> 'mcallarg_t *' + | extract(self) -> mcallarg_t + | + | find(self, *args) -> 'qvector< mcallarg_t >::const_iterator' + | find(self, x) -> mcallarg_t + | find(self, x) -> mcallarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=mcallarg_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< mcallarg_t >::iterator' + | insert(self, it, x) -> mcallarg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'mcallarg_t &' + | push_back(self, x) + | push_back(self) -> mcallarg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class mcallinfo_t in module ida_hexrays: + +class mcallinfo_t(builtins.object) + | Proxy of C++ mcallinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _callee=BADADDR, _sargs=0) -> mcallinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mcallinfo_t(...) + | delete_mcallinfo_t(self) + | + | _print(self, *args) -> 'void' + | _print(self, size=-1, shins_flags=0x04|0x02) + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | get_type(self, *args) -> 'tinfo_t' + | get_type(self) -> tinfo_t + | + | is_vararg(self, *args) -> 'bool' + | is_vararg(self) -> bool + | + | lexcompare(self, *args) -> 'int' + | lexcompare(self, f) -> int + | + | set_type(self, *args) -> 'bool' + | set_type(self, type) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | args + | mcallinfo_t_args_get(self) -> mcallargs_t + | + | call_spd + | mcallinfo_t_call_spd_get(self) -> int + | + | callee + | mcallinfo_t_callee_get(self) -> ea_t + | + | cc + | mcallinfo_t_cc_get(self) -> cm_t + | + | dead_regs + | mcallinfo_t_dead_regs_get(self) -> mlist_t + | + | flags + | mcallinfo_t_flags_get(self) -> int + | + | fti_attrs + | mcallinfo_t_fti_attrs_get(self) -> type_attrs_t + | + | pass_regs + | mcallinfo_t_pass_regs_get(self) -> mlist_t + | + | retregs + | mcallinfo_t_retregs_get(self) -> mopvec_t + | + | return_argloc + | mcallinfo_t_return_argloc_get(self) -> argloc_t + | + | return_regs + | mcallinfo_t_return_regs_get(self) -> mlist_t + | + | return_type + | mcallinfo_t_return_type_get(self) -> tinfo_t + | + | role + | mcallinfo_t_role_get(self) -> funcrole_t + | + | solid_args + | mcallinfo_t_solid_args_get(self) -> int + | + | spoiled + | mcallinfo_t_spoiled_get(self) -> mlist_t + | + | stkargs_top + | mcallinfo_t_stkargs_top_get(self) -> int + | + | thisown + | The membership flag + | + | visible_memory + | mcallinfo_t_visible_memory_get(self) -> ivlset_t + +Help on class mcases_t in module ida_hexrays: + +class mcases_t(builtins.object) + | Proxy of C++ mcases_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> mcases_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mcases_t(...) + | delete_mcases_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | resize(self, *args) -> 'void' + | resize(self, s) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | targets + | mcases_t_targets_get(self) -> intvec_t + | + | thisown + | The membership flag + | + | values + | mcases_t_values_get(self) -> casevec_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function mcode_modifies_d in module ida_hexrays: + +mcode_modifies_d(*args) -> 'bool' + mcode_modifies_d(mcode) -> bool + +Help on class microcode_filter_t in module ida_hexrays: + +class microcode_filter_t(builtins.object) + | Proxy of C++ microcode_filter_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> microcode_filter_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_microcode_filter_t(...) + | delete_microcode_filter_t(self) + | + | apply(self, *args) -> 'merror_t' + | apply(self, cdg) -> merror_t + | + | match(self, *args) -> 'bool' + | match(self, cdg) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class minsn_t in module ida_hexrays: + +class minsn_t(builtins.object) + | Proxy of C++ minsn_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _ea) -> minsn_t + | __init__(self, m) -> minsn_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, ri) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_minsn_t(...) + | delete_minsn_t(self) + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _make_nop(self, *args) -> 'void' + | _make_nop(self) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _minsn_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _minsn_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) -> 'void' + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | clr_assert(self, *args) -> 'void' + | clr_assert(self) + | + | clr_combinable(self, *args) -> 'void' + | clr_combinable(self) + | + | clr_combined(self, *args) -> 'void' + | clr_combined(self) + | + | clr_fpinsn(self, *args) -> 'void' + | clr_fpinsn(self) + | + | clr_ignlowsrc(self, *args) -> 'void' + | clr_ignlowsrc(self) + | + | clr_multimov(self, *args) -> 'void' + | clr_multimov(self) + | + | clr_noret_icall(self, *args) -> 'void' + | clr_noret_icall(self) + | + | clr_propagatable(self, *args) -> 'void' + | clr_propagatable(self) + | + | clr_tailcall(self, *args) -> 'void' + | clr_tailcall(self) + | + | contains_call(self, *args) -> 'bool' + | contains_call(self, with_helpers=False) -> bool + | + | contains_opcode(self, *args) -> 'bool' + | contains_opcode(self, mcode) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | equal_insns(self, *args) -> 'bool' + | equal_insns(self, m, eqflags) -> bool + | + | find_call(self, *args) -> 'minsn_t *' + | find_call(self, with_helpers=False) -> minsn_t + | + | find_ins_op(self, *args) -> 'minsn_t *' + | find_ins_op(self, op=m_nop) -> minsn_t + | + | find_num_op(self, *args) -> 'mop_t *' + | find_num_op(self) -> mop_t + | + | find_opcode(self, *args) -> 'minsn_t *' + | find_opcode(self, mcode) -> minsn_t + | find_opcode(self, mcode) -> minsn_t + | + | for_all_insns(self, *args) -> 'int' + | for_all_insns(self, mv) -> int + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv) -> int + | + | get_role(self, *args) -> 'funcrole_t' + | get_role(self) -> funcrole_t + | + | get_split_size(self, *args) -> 'int' + | get_split_size(self) -> int + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is_after(self, *args) -> 'bool' + | is_after(self, m) -> bool + | + | is_alloca(self, *args) -> 'bool' + | is_alloca(self) -> bool + | + | is_assert(self, *args) -> 'bool' + | is_assert(self) -> bool + | + | is_between(self, *args) -> 'bool' + | is_between(self, m1, m2) -> bool + | + | is_bswap(self, *args) -> 'bool' + | is_bswap(self) -> bool + | + | is_cleaning_pop(self, *args) -> 'bool' + | is_cleaning_pop(self) -> bool + | + | is_combinable(self, *args) -> 'bool' + | is_combinable(self) -> bool + | + | is_combined(self, *args) -> 'bool' + | is_combined(self) -> bool + | + | is_extstx(self, *args) -> 'bool' + | is_extstx(self) -> bool + | + | is_farcall(self, *args) -> 'bool' + | is_farcall(self) -> bool + | + | is_fpinsn(self, *args) -> 'bool' + | is_fpinsn(self) -> bool + | + | is_helper(self, *args) -> 'bool' + | is_helper(self, name) -> bool + | + | is_ignlowsrc(self, *args) -> 'bool' + | is_ignlowsrc(self) -> bool + | + | is_inverted_jx(self, *args) -> 'bool' + | is_inverted_jx(self) -> bool + | + | is_like_move(self, *args) -> 'bool' + | is_like_move(self) -> bool + | + | is_mbarrier(self, *args) -> 'bool' + | is_mbarrier(self) -> bool + | + | is_memcpy(self, *args) -> 'bool' + | is_memcpy(self) -> bool + | + | is_memset(self, *args) -> 'bool' + | is_memset(self) -> bool + | + | is_mov(self, *args) -> 'bool' + | is_mov(self) -> bool + | + | is_multimov(self, *args) -> 'bool' + | is_multimov(self) -> bool + | + | is_noret_call(self, *args) -> 'bool' + | is_noret_call(self, ignore_noret_icall=False) -> bool + | + | is_optional(self, *args) -> 'bool' + | is_optional(self) -> bool + | + | is_persistent(self, *args) -> 'bool' + | is_persistent(self) -> bool + | + | is_propagatable(self, *args) -> 'bool' + | is_propagatable(self) -> bool + | + | is_readflags(self, *args) -> 'bool' + | is_readflags(self) -> bool + | + | is_tailcall(self, *args) -> 'bool' + | is_tailcall(self) -> bool + | + | is_unknown_call(self, *args) -> 'bool' + | is_unknown_call(self) -> bool + | + | is_wild_match(self, *args) -> 'bool' + | is_wild_match(self) -> bool + | + | lexcompare(self, *args) -> 'int' + | lexcompare(self, ri) -> int + | + | may_use_aliased_memory(self, *args) -> 'bool' + | may_use_aliased_memory(self) -> bool + | + | modifes_d(self, *args) -> 'bool' + | modifes_d(self) -> bool + | + | modifies_pair_mop(self, *args) -> 'bool' + | modifies_pair_mop(self) -> bool + | + | optimize_solo(self, *args) -> 'int' + | optimize_solo(self, optflags=0) -> int + | + | optimize_subtree(self, *args) -> 'int' + | optimize_subtree(self, blk, top, parent, converted_call, optflags=0x0002) -> int + | + | replace_by(self, o) + | + | set_assert(self, *args) -> 'void' + | set_assert(self) + | + | set_cleaning_pop(self, *args) -> 'void' + | set_cleaning_pop(self) + | + | set_combinable(self, *args) -> 'void' + | set_combinable(self) + | + | set_extstx(self, *args) -> 'void' + | set_extstx(self) + | + | set_farcall(self, *args) -> 'void' + | set_farcall(self) + | + | set_fpinsn(self, *args) -> 'void' + | set_fpinsn(self) + | + | set_ignlowsrc(self, *args) -> 'void' + | set_ignlowsrc(self) + | + | set_inverted_jx(self, *args) -> 'void' + | set_inverted_jx(self) + | + | set_mbarrier(self, *args) -> 'void' + | set_mbarrier(self) + | + | set_multimov(self, *args) -> 'void' + | set_multimov(self) + | + | set_noret_icall(self, *args) -> 'void' + | set_noret_icall(self) + | + | set_optional(self, *args) -> 'void' + | set_optional(self) + | + | set_persistent(self, *args) -> 'void' + | set_persistent(self) + | + | set_split_size(self, *args) -> 'void' + | set_split_size(self, s) + | + | set_tailcall(self, *args) -> 'void' + | set_tailcall(self) + | + | set_wild_match(self, *args) -> 'void' + | set_wild_match(self) + | + | setaddr(self, *args) -> 'void' + | setaddr(self, new_ea) + | + | swap(self, *args) -> 'void' + | swap(self, m) + | + | was_noret_icall(self, *args) -> 'bool' + | was_noret_icall(self) -> bool + | + | was_split(self, *args) -> 'bool' + | was_split(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | d + | minsn_t_d_get(self) -> mop_t + | + | ea + | minsn_t_ea_get(self) -> ea_t + | + | iprops + | minsn_t_iprops_get(self) -> int + | + | l + | minsn_t_l_get(self) -> mop_t + | + | meminfo + | + | next + | minsn_t_next_get(self) -> minsn_t + | + | obj_id + | _obj_id(self) -> PyObject * + | + | opcode + | minsn_t_opcode_get(self) -> mcode_t + | + | prev + | minsn_t_prev_get(self) -> minsn_t + | + | r + | minsn_t_r_get(self) -> mop_t + | + | thisown + | The membership flag + +Help on class minsn_visitor_t in module ida_hexrays: + +class minsn_visitor_t(op_parent_info_t) + | Proxy of C++ minsn_visitor_t class. + | + | Method resolution order: + | minsn_visitor_t + | op_parent_info_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> minsn_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_minsn_visitor_t(...) + | delete_minsn_visitor_t(self) + | + | visit_minsn(self, *args) -> 'int' + | visit_minsn(self) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from op_parent_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + +Help on class mlist_mop_visitor_t in module ida_hexrays: + +class mlist_mop_visitor_t(builtins.object) + | Proxy of C++ mlist_mop_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> mlist_mop_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mlist_mop_visitor_t(...) + | delete_mlist_mop_visitor_t(self) + | + | visit_mop(self, *args) -> 'int' + | visit_mop(self, op) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | changed + | mlist_mop_visitor_t_changed_get(self) -> bool + | + | curins + | mlist_mop_visitor_t_curins_get(self) -> minsn_t + | + | list + | mlist_mop_visitor_t_list_get(self) -> mlist_t + | + | thisown + | The membership flag + | + | topins + | mlist_mop_visitor_t_topins_get(self) -> minsn_t + +Help on class mlist_t in module ida_hexrays: + +class mlist_t(builtins.object) + | Proxy of C++ mlist_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> mlist_t + | __init__(self, ivl) -> mlist_t + | __init__(self, r, size) -> mlist_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mlist_t(...) + | delete_mlist_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | add(self, *args) -> 'bool' + | add(self, r, size) -> bool + | add(self, r) -> bool + | add(self, ivl) -> bool + | add(self, lst) -> bool + | + | addmem(self, *args) -> 'bool' + | addmem(self, ea, size) -> bool + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | count(self, *args) -> 'asize_t' + | count(self) -> asize_t + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | has(self, *args) -> 'bool' + | has(self, r) -> bool + | + | has_all(self, *args) -> 'bool' + | has_all(self, r, size) -> bool + | + | has_any(self, *args) -> 'bool' + | has_any(self, r, size) -> bool + | + | has_common(self, *args) -> 'bool' + | has_common(self, lst) -> bool + | + | has_memory(self, *args) -> 'bool' + | has_memory(self) -> bool + | + | includes(self, *args) -> 'bool' + | includes(self, lst) -> bool + | + | intersect(self, *args) -> 'bool' + | intersect(self, lst) -> bool + | + | is_subset_of(self, *args) -> 'bool' + | is_subset_of(self, lst) -> bool + | + | sub(self, *args) -> 'bool' + | sub(self, r, size) -> bool + | sub(self, ivl) -> bool + | sub(self, lst) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | mem + | mlist_t_mem_get(self) -> ivlset_t + | + | reg + | mlist_t_reg_get(self) -> rlist_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class mnumber_t in module ida_hexrays: + +class mnumber_t(operand_locator_t) + | Proxy of C++ mnumber_t class. + | + | Method resolution order: + | mnumber_t + | operand_locator_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, v, _ea=BADADDR, n=0) -> mnumber_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mnumber_t(...) + | delete_mnumber_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | update_value(self, *args) -> 'void' + | update_value(self, val64) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | org_value + | mnumber_t_org_value_get(self) -> uint64 + | + | thisown + | The membership flag + | + | value + | mnumber_t_value_get(self) -> uint64 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from operand_locator_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | operand_locator_t_ea_get(self) -> ea_t + | + | opnum + | operand_locator_t_opnum_get(self) -> int + +Help on function modify_user_lvar_info in module ida_hexrays: + +modify_user_lvar_info(*args) -> 'bool' + modify_user_lvar_info(func_ea, mli_flags, info) -> bool + + + Modify saved local variable settings. + + @param func_ea (C++: ea_t) + @param mli_flags: bits that specify which attrs defined by INFO are to + be set (C++: uint) + @param info: local variable info attrs (C++: const lvar_saved_info_t + &) + @return: true if modified, false if invalid MLI_FLAGS passed + +Help on function modify_user_lvars in module ida_hexrays: + +modify_user_lvars(*args) -> 'bool' + modify_user_lvars(entry_ea, mlv) -> bool + + + Modify saved local variable settings. + + @param entry_ea: function start address (C++: ea_t) + @param mlv: local variable modifier (C++: user_lvar_modifier_t &) + @return: true if modified variables + +Help on class mop_addr_t in module ida_hexrays: + +class mop_addr_t(mop_t) + | Proxy of C++ mop_addr_t class. + | + | Method resolution order: + | mop_addr_t + | mop_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mop_addr_t + | __init__(self, ra) -> mop_addr_t + | __init__(self, ra, isz, osz) -> mop_addr_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mop_addr_t(...) + | delete_mop_addr_t(self) + | + | lexcompare(self, *args) -> 'int' + | lexcompare(self, ra) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | insize + | mop_addr_t_insize_get(self) -> int + | + | outsize + | mop_addr_t_outsize_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from mop_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, rop) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, rop) -> bool + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) -> 'mop_addr_t *' + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) -> 'int' + | _get_b(self) -> int + | + | _get_c(self, *args) -> 'mcases_t *' + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) -> 'char const *' + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) -> 'minsn_t *' + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) -> 'mcallinfo_t *' + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) -> 'fnumber_t *' + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) -> 'ea_t' + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) -> 'char const *' + | _get_helper(self) -> char const * + | + | _get_l(self, *args) -> 'lvar_ref_t *' + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) -> 'mnumber_t *' + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) -> 'mop_pair_t *' + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) -> 'mreg_t' + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) -> 'stkvar_ref_t *' + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) -> 'scif_t *' + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) -> 'mopt_t' + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) -> 'void' + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) -> 'void' + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) -> 'void' + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) -> 'void' + | _make_gvar(self, ea) + | + | _make_insn(self, *args) -> 'void' + | _make_insn(self, ins) + | + | _make_lvar(self, *args) -> 'void' + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) -> 'void' + | _make_pair(self, _pair) + | + | _make_reg(self, *args) -> 'void' + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) -> 'void' + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) -> 'void' + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) -> 'void' + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _set_a(self, *args) -> 'void' + | _set_a(self, _v) + | + | _set_b(self, *args) -> 'void' + | _set_b(self, _v) + | + | _set_c(self, *args) -> 'void' + | _set_c(self, _v) + | + | _set_cstr(self, *args) -> 'void' + | _set_cstr(self, _v) + | + | _set_d(self, *args) -> 'void' + | _set_d(self, _v) + | + | _set_f(self, *args) -> 'void' + | _set_f(self, _v) + | + | _set_fpc(self, *args) -> 'void' + | _set_fpc(self, _v) + | + | _set_g(self, *args) -> 'void' + | _set_g(self, _v) + | + | _set_helper(self, *args) -> 'void' + | _set_helper(self, _v) + | + | _set_l(self, *args) -> 'void' + | _set_l(self, _v) + | + | _set_nnn(self, *args) -> 'void' + | _set_nnn(self, _v) + | + | _set_pair(self, *args) -> 'void' + | _set_pair(self, _v) + | + | _set_r(self, *args) -> 'void' + | _set_r(self, _v) + | + | _set_s(self, *args) -> 'void' + | _set_s(self, _v) + | + | _set_scif(self, *args) -> 'void' + | _set_scif(self, _v) + | + | _set_t(self, *args) -> 'void' + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) -> 'void' + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) -> 'void' + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) -> 'void' + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) -> 'mop_t &' + | assign(self, rop) -> mop_t + | + | change_size(self, *args) -> 'bool' + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) -> 'void' + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) -> 'bool' + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) -> 'bool' + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) -> 'void' + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) -> 'void' + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) -> 'bool' + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | equal_mops(self, *args) -> 'bool' + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) -> 'void' + | erase(self) + | + | erase_but_keep_size(self, *args) -> 'void' + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) -> 'int' + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) -> 'minsn_t *' + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) -> 'bool' + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) -> 'bool' + | is01(self) -> bool + | + | is_arglist(self, *args) -> 'bool' + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) -> 'bool' + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) -> 'bool' + | is_cc(self) -> bool + | + | is_ccflags(self, *args) -> 'bool' + | is_ccflags(self) -> bool + | + | is_constant(self, *args) -> 'bool' + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) -> 'bool' + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) -> 'bool' + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) -> 'bool' + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) -> 'bool' + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) -> 'bool' + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) -> 'bool' + | is_kreg(self) -> bool + | + | is_mob(self, *args) -> 'bool' + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) -> 'bool' + | is_negative_constant(self) -> bool + | + | is_one(self, *args) -> 'bool' + | is_one(self) -> bool + | + | is_positive_constant(self, *args) -> 'bool' + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) -> 'bool' + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) -> 'bool' + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) -> 'bool' + | is_udt(self) -> bool + | + | is_undef_val(self, *args) -> 'bool' + | is_undef_val(self) -> bool + | + | is_zero(self, *args) -> 'bool' + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) -> 'bool' + | is_zero_extended_from(self, nbytes) -> bool + | + | make_blkref(self, *args) -> 'void' + | make_blkref(self, blknum) + | + | make_first_half(self, *args) -> 'bool' + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) -> 'bool' + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) -> 'void' + | make_gvar(self, ea) + | + | make_helper(self, *args) -> 'void' + | make_helper(self, name) + | + | make_high_half(self, *args) -> 'bool' + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) -> 'void' + | make_insn(self, ins) + | + | make_low_half(self, *args) -> 'bool' + | make_low_half(self, width) -> bool + | + | make_number(self, *args) -> 'void' + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) -> 'void' + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) -> 'void' + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) -> 'bool' + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) -> 'bool' + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) -> 'bool' + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) -> 'bool' + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) -> 'void' + | set_impptr_done(self) + | + | set_udt(self, *args) -> 'void' + | set_udt(self) + | + | set_undef_val(self, *args) -> 'void' + | set_undef_val(self) + | + | shift_mop(self, *args) -> 'bool' + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) -> 'int64' + | signed_value(self) -> int64 + | + | swap(self, *args) -> 'void' + | swap(self, rop) + | + | unsigned_value(self, *args) -> 'uint64' + | unsigned_value(self) -> uint64 + | + | value(self, *args) -> 'uint64' + | value(self, is_signed) -> uint64 + | + | zero(self, *args) -> 'void' + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from mop_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | valnum + | mop_t_valnum_get(self) -> uint16 + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from mop_t: + | + | __hash__ = None + +Help on class mop_pair_t in module ida_hexrays: + +class mop_pair_t(builtins.object) + | Proxy of C++ mop_pair_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> mop_pair_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mop_pair_t(...) + | delete_mop_pair_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hop + | mop_pair_t_hop_get(self) -> mop_t + | + | lop + | mop_pair_t_lop_get(self) -> mop_t + | + | thisown + | The membership flag + +Help on class mop_t in module ida_hexrays: + +class mop_t(builtins.object) + | Proxy of C++ mop_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, rop) -> bool + | + | __init__(self, *args) + | __init__(self) -> mop_t + | __init__(self, rop) -> mop_t + | __init__(self, _r, _s) -> mop_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, rop) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, rop) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mop_t(...) + | delete_mop_t(self) + | + | _acquire_ownership(self, v, acquire) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _ensure_cond(self, ok, cond_str) + | + | _ensure_no_obj(self, o, attr, attr_is_acquired) + | + | _ensure_no_t(self) + | + | _get_a(self, *args) -> 'mop_addr_t *' + | _get_a(self) -> mop_addr_t + | + | _get_b(self, *args) -> 'int' + | _get_b(self) -> int + | + | _get_c(self, *args) -> 'mcases_t *' + | _get_c(self) -> mcases_t + | + | _get_cstr(self, *args) -> 'char const *' + | _get_cstr(self) -> char const * + | + | _get_d(self, *args) -> 'minsn_t *' + | _get_d(self) -> minsn_t + | + | _get_f(self, *args) -> 'mcallinfo_t *' + | _get_f(self) -> mcallinfo_t + | + | _get_fpc(self, *args) -> 'fnumber_t *' + | _get_fpc(self) -> fnumber_t + | + | _get_g(self, *args) -> 'ea_t' + | _get_g(self) -> ea_t + | + | _get_helper(self, *args) -> 'char const *' + | _get_helper(self) -> char const * + | + | _get_l(self, *args) -> 'lvar_ref_t *' + | _get_l(self) -> lvar_ref_t + | + | _get_nnn(self, *args) -> 'mnumber_t *' + | _get_nnn(self) -> mnumber_t + | + | _get_pair(self, *args) -> 'mop_pair_t *' + | _get_pair(self) -> mop_pair_t + | + | _get_r(self, *args) -> 'mreg_t' + | _get_r(self) -> mreg_t + | + | _get_s(self, *args) -> 'stkvar_ref_t *' + | _get_s(self) -> stkvar_ref_t + | + | _get_scif(self, *args) -> 'scif_t *' + | _get_scif(self) -> scif_t + | + | _get_t(self, *args) -> 'mopt_t' + | _get_t(self) -> mopt_t + | + | _make_blkref(self, *args) -> 'void' + | _make_blkref(self, blknum) + | + | _make_callinfo(self, *args) -> 'void' + | _make_callinfo(self, fi) + | + | _make_cases(self, *args) -> 'void' + | _make_cases(self, _cases) + | + | _make_gvar(self, *args) -> 'void' + | _make_gvar(self, ea) + | + | _make_insn(self, *args) -> 'void' + | _make_insn(self, ins) + | + | _make_lvar(self, *args) -> 'void' + | _make_lvar(self, mba, idx, off=0) + | + | _make_pair(self, *args) -> 'void' + | _make_pair(self, _pair) + | + | _make_reg(self, *args) -> 'void' + | _make_reg(self, reg) + | _make_reg(self, reg, _size) + | + | _make_stkvar(self, *args) -> 'void' + | _make_stkvar(self, mba, off) + | + | _make_strlit(self, *args) -> 'void' + | _make_strlit(self, str) + | + | _maybe_disown_and_deregister(self) + | + | _meminfo(self) + | + | _mop_t__dbg_get_meminfo = __dbg_get_meminfo(self, *args) -> 'qstring' + | __dbg_get_meminfo(self) -> qstring + | + | _mop_t__dbg_get_registered_kind = __dbg_get_registered_kind(self, *args) -> 'int' + | __dbg_get_registered_kind(self) -> int + | + | _obj_id(self, *args) -> 'PyObject *' + | _obj_id(self) -> PyObject * + | + | _own_and_register(self) + | + | _print(self, *args) -> 'void' + | _print(self, shins_flags=0x04|0x02) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | _set_a(self, *args) -> 'void' + | _set_a(self, _v) + | + | _set_b(self, *args) -> 'void' + | _set_b(self, _v) + | + | _set_c(self, *args) -> 'void' + | _set_c(self, _v) + | + | _set_cstr(self, *args) -> 'void' + | _set_cstr(self, _v) + | + | _set_d(self, *args) -> 'void' + | _set_d(self, _v) + | + | _set_f(self, *args) -> 'void' + | _set_f(self, _v) + | + | _set_fpc(self, *args) -> 'void' + | _set_fpc(self, _v) + | + | _set_g(self, *args) -> 'void' + | _set_g(self, _v) + | + | _set_helper(self, *args) -> 'void' + | _set_helper(self, _v) + | + | _set_l(self, *args) -> 'void' + | _set_l(self, _v) + | + | _set_nnn(self, *args) -> 'void' + | _set_nnn(self, _v) + | + | _set_pair(self, *args) -> 'void' + | _set_pair(self, _v) + | + | _set_r(self, *args) -> 'void' + | _set_r(self, _v) + | + | _set_s(self, *args) -> 'void' + | _set_s(self, _v) + | + | _set_scif(self, *args) -> 'void' + | _set_scif(self, _v) + | + | _set_t(self, *args) -> 'void' + | _set_t(self, v) + | + | apply_ld_mcode(self, *args) -> 'void' + | apply_ld_mcode(self, mcode, ea, newsize) + | + | apply_xds(self, *args) -> 'void' + | apply_xds(self, ea, newsize) + | + | apply_xdu(self, *args) -> 'void' + | apply_xdu(self, ea, newsize) + | + | assign(self, *args) -> 'mop_t &' + | assign(self, rop) -> mop_t + | + | change_size(self, *args) -> 'bool' + | change_size(self, nsize, sideff=WITH_SIDEFF) -> bool + | + | create_from_insn(self, *args) -> 'void' + | create_from_insn(self, m) + | + | create_from_ivlset(self, *args) -> 'bool' + | create_from_ivlset(self, mba, ivs, fullsize) -> bool + | + | create_from_mlist(self, *args) -> 'bool' + | create_from_mlist(self, mba, lst, fullsize) -> bool + | + | create_from_scattered_vdloc(self, *args) -> 'void' + | create_from_scattered_vdloc(self, mba, name, type, loc) + | + | create_from_vdloc(self, *args) -> 'void' + | create_from_vdloc(self, mba, loc, _size) + | + | double_size(self, *args) -> 'bool' + | double_size(self, sideff=WITH_SIDEFF) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | equal_mops(self, *args) -> 'bool' + | equal_mops(self, rop, eqflags) -> bool + | + | erase(self, *args) -> 'void' + | erase(self) + | + | erase_but_keep_size(self, *args) -> 'void' + | erase_but_keep_size(self) + | + | for_all_ops(self, *args) -> 'int' + | for_all_ops(self, mv, type=None, is_target=False) -> int + | + | for_all_scattered_submops(self, *args) -> 'int' + | for_all_scattered_submops(self, sv) -> int + | + | get_insn(self, *args) -> 'minsn_t *' + | get_insn(self, code) -> minsn_t + | get_insn(self, code) -> minsn_t + | + | get_stkoff(self, *args) -> 'bool' + | get_stkoff(self, p_off) -> bool + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, p_off) -> member_t * + | + | has_side_effects(self, *args) -> 'bool' + | has_side_effects(self, include_ldx_and_divs=False) -> bool + | + | is01(self, *args) -> 'bool' + | is01(self) -> bool + | + | is_arglist(self, *args) -> 'bool' + | is_arglist(self) -> bool + | + | is_bit_reg(self, *args) -> 'bool' + | is_bit_reg(self, reg) -> bool + | is_bit_reg(self) -> bool + | + | is_cc(self, *args) -> 'bool' + | is_cc(self) -> bool + | + | is_ccflags(self, *args) -> 'bool' + | is_ccflags(self) -> bool + | + | is_constant(self, *args) -> 'bool' + | is_constant(self, is_signed=True) -> bool + | + | is_equal_to(self, *args) -> 'bool' + | is_equal_to(self, n, is_signed=True) -> bool + | + | is_extended_from(self, *args) -> 'bool' + | is_extended_from(self, nbytes, is_signed) -> bool + | + | is_glbaddr(self, *args) -> 'bool' + | is_glbaddr(self) -> bool + | is_glbaddr(self, ea) -> bool + | + | is_impptr_done(self, *args) -> 'bool' + | is_impptr_done(self) -> bool + | + | is_insn(self, *args) -> 'bool' + | is_insn(self) -> bool + | is_insn(self, code) -> bool + | + | is_kreg(self, *args) -> 'bool' + | is_kreg(self) -> bool + | + | is_mob(self, *args) -> 'bool' + | is_mob(self, serial) -> bool + | + | is_negative_constant(self, *args) -> 'bool' + | is_negative_constant(self) -> bool + | + | is_one(self, *args) -> 'bool' + | is_one(self) -> bool + | + | is_positive_constant(self, *args) -> 'bool' + | is_positive_constant(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | is_reg(self, _r) -> bool + | is_reg(self, _r, _size) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_sign_extended_from(self, *args) -> 'bool' + | is_sign_extended_from(self, nbytes) -> bool + | + | is_stkaddr(self, *args) -> 'bool' + | is_stkaddr(self) -> bool + | + | is_udt(self, *args) -> 'bool' + | is_udt(self) -> bool + | + | is_undef_val(self, *args) -> 'bool' + | is_undef_val(self) -> bool + | + | is_zero(self, *args) -> 'bool' + | is_zero(self) -> bool + | + | is_zero_extended_from(self, *args) -> 'bool' + | is_zero_extended_from(self, nbytes) -> bool + | + | lexcompare(self, *args) -> 'int' + | lexcompare(self, rop) -> int + | + | make_blkref(self, *args) -> 'void' + | make_blkref(self, blknum) + | + | make_first_half(self, *args) -> 'bool' + | make_first_half(self, width) -> bool + | + | make_fpnum(self, *args) -> 'bool' + | make_fpnum(self, bytes, _size) -> bool + | + | make_gvar(self, *args) -> 'void' + | make_gvar(self, ea) + | + | make_helper(self, *args) -> 'void' + | make_helper(self, name) + | + | make_high_half(self, *args) -> 'bool' + | make_high_half(self, width) -> bool + | + | make_insn(self, *args) -> 'void' + | make_insn(self, ins) + | + | make_low_half(self, *args) -> 'bool' + | make_low_half(self, width) -> bool + | + | make_number(self, *args) -> 'void' + | make_number(self, _value, _size, _ea=BADADDR, opnum=0) + | + | make_reg(self, *args) -> 'void' + | make_reg(self, reg) + | make_reg(self, reg, _size) + | + | make_reg_pair(self, *args) -> 'void' + | make_reg_pair(self, loreg, hireg, halfsize) + | + | make_second_half(self, *args) -> 'bool' + | make_second_half(self, width) -> bool + | + | may_use_aliased_memory(self, *args) -> 'bool' + | may_use_aliased_memory(self) -> bool + | + | preserve_side_effects(self, *args) -> 'bool' + | preserve_side_effects(self, blk, top, moved_calls=None) -> bool + | + | probably_floating(self, *args) -> 'bool' + | probably_floating(self) -> bool + | + | replace_by(self, o) + | + | set_impptr_done(self, *args) -> 'void' + | set_impptr_done(self) + | + | set_udt(self, *args) -> 'void' + | set_udt(self) + | + | set_undef_val(self, *args) -> 'void' + | set_undef_val(self) + | + | shift_mop(self, *args) -> 'bool' + | shift_mop(self, offset) -> bool + | + | signed_value(self, *args) -> 'int64' + | signed_value(self) -> int64 + | + | swap(self, *args) -> 'void' + | swap(self, rop) + | + | unsigned_value(self, *args) -> 'uint64' + | unsigned_value(self) -> uint64 + | + | value(self, *args) -> 'uint64' + | value(self, is_signed) -> uint64 + | + | zero(self, *args) -> 'void' + | zero(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a + | + | b + | + | c + | + | cstr + | + | d + | + | f + | + | fpc + | + | g + | + | helper + | + | l + | + | meminfo + | + | nnn + | + | obj_id + | _obj_id(self) -> PyObject * + | + | oprops + | mop_t_oprops_get(self) -> uint8 + | + | pair + | + | r + | + | s + | + | scif + | + | size + | mop_t_size_get(self) -> int + | + | t + | _get_t(self) -> mopt_t + | + | thisown + | The membership flag + | + | valnum + | mop_t_valnum_get(self) -> uint16 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class mop_visitor_t in module ida_hexrays: + +class mop_visitor_t(op_parent_info_t) + | Proxy of C++ mop_visitor_t class. + | + | Method resolution order: + | mop_visitor_t + | op_parent_info_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> mop_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_mop_visitor_t(...) + | delete_mop_visitor_t(self) + | + | visit_mop(self, *args) -> 'int' + | visit_mop(self, op, type, is_target) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | prune + | mop_visitor_t_prune_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from op_parent_info_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + +Help on class mopvec_t in module ida_hexrays: + +class mopvec_t(builtins.object) + | Proxy of C++ qvector< mop_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'mop_t const &' + | __getitem__(self, i) -> mop_t + | + | __init__(self, *args) + | __init__(self) -> mopvec_t + | __init__(self, x) -> mopvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_mopvec_t(...) + | delete_mopvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'mop_t const &' + | at(self, _idx) -> mop_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< mop_t >::const_iterator' + | begin(self) -> mop_t + | begin(self) -> mop_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< mop_t >::const_iterator' + | end(self) -> mop_t + | end(self) -> mop_t + | + | erase(self, *args) -> 'qvector< mop_t >::iterator' + | erase(self, it) -> mop_t + | erase(self, first, last) -> mop_t + | + | extract(self, *args) -> 'mop_t *' + | extract(self) -> mop_t + | + | find(self, *args) -> 'qvector< mop_t >::const_iterator' + | find(self, x) -> mop_t + | find(self, x) -> mop_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=mop_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< mop_t >::iterator' + | insert(self, it, x) -> mop_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'mop_t &' + | push_back(self, x) + | push_back(self) -> mop_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function mreg2reg in module ida_hexrays: + +mreg2reg(*args) -> 'int' + mreg2reg(reg, width) -> int + + + Map a microregister to a processor register. + + @param reg: microregister number (C++: mreg_t) + @param width: size of microregister in bytes (C++: int) + @return: processor register id or -1 + +Help on function must_mcode_close_block in module ida_hexrays: + +must_mcode_close_block(*args) -> 'bool' + 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: instruction opcode (C++: mcode_t) + @param including_calls: 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 because + before MMAT_CALLS they are closing opcodes. + Afteer MMAT_CALLS that are not considered as + closing opcodes. (C++: bool) + +Help on function negate_mcode_relation in module ida_hexrays: + +negate_mcode_relation(*args) -> 'mcode_t' + negate_mcode_relation(code) -> mcode_t + +Help on function negated_relation in module ida_hexrays: + +negated_relation(*args) -> 'ctype_t' + negated_relation(op) -> ctype_t + + + Negate a comparison operator. For example, cot_sge becomes cot_slt. + + + @param op (C++: ctype_t) + +Help on function new_block in module ida_hexrays: + +new_block() + +Help on class number_format_t in module ida_hexrays: + +class number_format_t(builtins.object) + | Proxy of C++ number_format_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _opnum=0) -> number_format_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_number_format_t(...) + | delete_number_format_t(self) + | + | get_radix(self, *args) -> 'int' + | get_radix(self) -> int + | + | is_char(self, *args) -> 'bool' + | is_char(self) -> bool + | + | is_dec(self, *args) -> 'bool' + | is_dec(self) -> bool + | + | is_enum(self, *args) -> 'bool' + | is_enum(self) -> bool + | + | is_fixed(self, *args) -> 'bool' + | is_fixed(self) -> bool + | + | is_hex(self, *args) -> 'bool' + | is_hex(self) -> bool + | + | is_numop(self, *args) -> 'bool' + | is_numop(self) -> bool + | + | is_oct(self, *args) -> 'bool' + | is_oct(self) -> bool + | + | is_stroff(self, *args) -> 'bool' + | is_stroff(self) -> bool + | + | needs_to_be_inverted(self, *args) -> 'bool' + | needs_to_be_inverted(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | number_format_t_flags_get(self) -> flags_t + | + | opnum + | number_format_t_opnum_get(self) -> char + | + | org_nbytes + | number_format_t_org_nbytes_get(self) -> char + | + | props + | number_format_t_props_get(self) -> char + | + | serial + | number_format_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | type_name + | number_format_t_type_name_get(self) -> qstring * + +Help on class op_parent_info_t in module ida_hexrays: + +class op_parent_info_t(builtins.object) + | Proxy of C++ op_parent_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _mba=None, _blk=None, _topins=None) -> op_parent_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_op_parent_info_t(...) + | delete_op_parent_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | blk + | op_parent_info_t_blk_get(self) -> mblock_t + | + | curins + | op_parent_info_t_curins_get(self) -> minsn_t + | + | mba + | op_parent_info_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + | + | topins + | op_parent_info_t_topins_get(self) -> minsn_t + +Help on function op_uses_x in module ida_hexrays: + +op_uses_x(*args) -> 'bool' + op_uses_x(op) -> bool + + + Does operator use the 'x' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function op_uses_y in module ida_hexrays: + +op_uses_y(*args) -> 'bool' + op_uses_y(op) -> bool + + + Does operator use the 'y' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function op_uses_z in module ida_hexrays: + +op_uses_z(*args) -> 'bool' + op_uses_z(op) -> bool + + + Does operator use the 'z' field of 'cexpr_t' ? + + + @param op (C++: ctype_t) + +Help on function open_pseudocode in module ida_hexrays: + +open_pseudocode(*args) -> 'vdui_t *' + open_pseudocode(ea, new_window) -> vdui_t + + + Open pseudocode window. The specified function is decompiled and the + pseudocode window is opened. + + @param ea: function to decompile (C++: ea_t) + @param new_window: 0:reuse existing window; 1:open new window; -1: + reuse existing window if the current view is + pseudocode (C++: int) + @return: false if failed + +Help on class operand_locator_t in module ida_hexrays: + +class operand_locator_t(builtins.object) + | Proxy of C++ operand_locator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _ea, _opnum) -> operand_locator_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_operand_locator_t(...) + | delete_operand_locator_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | operand_locator_t_ea_get(self) -> ea_t + | + | opnum + | operand_locator_t_opnum_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class operator_info_t in module ida_hexrays: + +class operator_info_t(builtins.object) + | Proxy of C++ operator_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> operator_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_operator_info_t(...) + | delete_operator_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fixtype + | operator_info_t_fixtype_get(self) -> uchar + | + | flags + | operator_info_t_flags_get(self) -> uchar + | + | precedence + | operator_info_t_precedence_get(self) -> uchar + | + | text + | operator_info_t_text_get(self) -> char const * + | + | thisown + | The membership flag + | + | valency + | operator_info_t_valency_get(self) -> uchar + +Help on class optblock_t in module ida_hexrays: + +class optblock_t(builtins.object) + | Proxy of C++ optblock_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> optblock_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_optblock_t(...) + | delete_optblock_t(self) + | + | func(self, *args) -> 'int' + | func(self, blk) -> int + | + | install(self, *args) -> 'void' + | install(self) + | + | remove(self, *args) -> 'bool' + | remove(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class optinsn_t in module ida_hexrays: + +class optinsn_t(builtins.object) + | Proxy of C++ optinsn_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> optinsn_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_optinsn_t(...) + | delete_optinsn_t(self) + | + | func(self, *args) -> 'int' + | func(self, blk, ins) -> int + | + | install(self, *args) -> 'void' + | install(self) + | + | remove(self, *args) -> 'bool' + | remove(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function parse_user_call in module ida_hexrays: + +parse_user_call(*args) -> 'bool' + parse_user_call(udc, decl, silent) -> bool + + + Convert function type declaration into internal structure + + @param udc: - pointer to output structure (C++: udcall_t *) + @param decl: - function type declaration (C++: const char *) + @param silent: - if TRUE: do not show warning in case of incorrect + type (C++: bool) + @return: success + +Help on function partial_type_num in module ida_hexrays: + +partial_type_num(*args) -> 'int' + partial_type_num(type) -> int + + + Calculate number of partial subtypes. + + @param type (C++: const tinfo_t &) + @return: number of partial subtypes. The bigger is this number, the + uglier is the type. + +Help on function print_vdloc in module ida_hexrays: + +print_vdloc(*args) -> 'qstring *' + print_vdloc(loc, nbytes) + + + Print vdloc. Since vdloc does not always carry the size info, we pass + it as NBYTES.. + + @param loc (C++: const vdloc_t &) + @param nbytes (C++: int) + +Help on function property_op_to_typename in module ida_hexrays: + +property_op_to_typename(self) + +Help on class qlist_cinsn_t in module ida_hexrays: + +class qlist_cinsn_t(builtins.object) + | Proxy of C++ qlist< cinsn_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> qlist_cinsn_t + | __init__(self, x) -> qlist_cinsn_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, x) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qlist_cinsn_t(...) + | delete_qlist_cinsn_t(self) + | + | back(self, *args) -> 'cinsn_t const &' + | back(self) -> cinsn_t + | back(self) -> cinsn_t + | + | begin(self, *args) -> 'qlist_cinsn_t_iterator' + | begin(self) -> qlist_cinsn_t_iterator + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qlist_cinsn_t_iterator' + | end(self) -> qlist_cinsn_t_iterator + | + | erase(self, *args) -> 'void' + | erase(self, p) -> qlist< cinsn_t >::iterator + | erase(self, p1, p2) + | erase(self, p) + | + | front(self, *args) -> 'cinsn_t const &' + | front(self) -> cinsn_t + | front(self) -> cinsn_t + | + | insert(self, *args) -> 'qlist_cinsn_t_iterator' + | insert(self, p, x) -> qlist< cinsn_t >::iterator + | insert(self, p) -> qlist< cinsn_t >::iterator + | insert(self, p, x) -> qlist_cinsn_t_iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | pop_front(self, *args) -> 'void' + | pop_front(self) + | + | push_back(self, *args) -> 'cinsn_t &' + | push_back(self, x) + | push_back(self) -> cinsn_t + | + | push_front(self, *args) -> 'void' + | push_front(self, x) + | + | rbegin(self, *args) -> 'qlist< cinsn_t >::const_reverse_iterator' + | rbegin(self) -> qlist< cinsn_t >::reverse_iterator + | rbegin(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | rend(self, *args) -> 'qlist< cinsn_t >::const_reverse_iterator' + | rend(self) -> qlist< cinsn_t >::reverse_iterator + | rend(self) -> qlist< cinsn_t >::const_reverse_iterator + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, x) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qlist_cinsn_t_iterator in module ida_hexrays: + +class qlist_cinsn_t_iterator(builtins.object) + | Proxy of C++ qlist_cinsn_t_iterator class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> qlist_cinsn_t_iterator + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, x) -> bool + | + | __next__(self, *args) -> 'void' + | __next__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qlist_cinsn_t_iterator(...) + | delete_qlist_cinsn_t_iterator(self) + | + | next = __next__(self, *args) -> 'void' + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cur + | qlist_cinsn_t_iterator_cur_get(self) -> cinsn_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qstring_printer_t in module ida_hexrays: + +class qstring_printer_t(vc_printer_t) + | Proxy of C++ qstring_printer_t class. + | + | Method resolution order: + | qstring_printer_t + | vc_printer_t + | vd_printer_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, f, tags) -> qstring_printer_t + | + | __repr__ = _swig_repr(self) + | + | _print(self, *args) -> 'int' + | _print(self, indent, format) -> int + | + | get_s(self, *args) -> 'qstring' + | get_s(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | s + | + | thisown + | The membership flag + | + | with_tags + | qstring_printer_t_with_tags_get(self) -> bool + | + | ---------------------------------------------------------------------- + | Methods inherited from vc_printer_t: + | + | __disown__(self) + | + | __swig_destroy__ = delete_vc_printer_t(...) + | delete_vc_printer_t(self) + | + | oneliner(self, *args) -> 'bool' + | oneliner(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vc_printer_t: + | + | func + | vc_printer_t_func_get(self) -> cfunc_t + | + | lastchar + | vc_printer_t_lastchar_get(self) -> char + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_printer_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + +Help on function qswap in module ida_hexrays: + +qswap(*args) -> 'void' + qswap(a, b) + +Help on class qvector_carg_t in module ida_hexrays: + +class qvector_carg_t(builtins.object) + | Proxy of C++ qvector< carg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'carg_t const &' + | __getitem__(self, i) -> carg_t + | + | __init__(self, *args) + | __init__(self) -> qvector_carg_t + | __init__(self, x) -> qvector_carg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_qvector_carg_t(...) + | delete_qvector_carg_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'carg_t &' + | + | at = __getitem__(self, *args) -> 'carg_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< carg_t >::const_iterator' + | begin(self) -> carg_t + | begin(self) -> carg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< carg_t >::const_iterator' + | end(self) -> carg_t + | end(self) -> carg_t + | + | erase(self, *args) -> 'qvector< carg_t >::iterator' + | erase(self, it) -> carg_t + | erase(self, first, last) -> carg_t + | + | extract(self, *args) -> 'carg_t *' + | extract(self) -> carg_t + | + | find(self, *args) -> 'qvector< carg_t >::const_iterator' + | find(self, x) -> carg_t + | find(self, x) -> carg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=carg_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< carg_t >::iterator' + | insert(self, it, x) -> carg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'carg_t &' + | push_back(self, x) + | push_back(self) -> carg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qvector_ccase_t in module ida_hexrays: + +class qvector_ccase_t(builtins.object) + | Proxy of C++ qvector< ccase_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'ccase_t const &' + | __getitem__(self, i) -> ccase_t + | + | __init__(self, *args) + | __init__(self) -> qvector_ccase_t + | __init__(self, x) -> qvector_ccase_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_qvector_ccase_t(...) + | delete_qvector_ccase_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'ccase_t &' + | + | at = __getitem__(self, *args) -> 'ccase_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< ccase_t >::const_iterator' + | begin(self) -> ccase_t + | begin(self) -> ccase_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< ccase_t >::const_iterator' + | end(self) -> ccase_t + | end(self) -> ccase_t + | + | erase(self, *args) -> 'qvector< ccase_t >::iterator' + | erase(self, it) -> ccase_t + | erase(self, first, last) -> ccase_t + | + | extract(self, *args) -> 'ccase_t *' + | extract(self) -> ccase_t + | + | find(self, *args) -> 'qvector< ccase_t >::const_iterator' + | find(self, x) -> ccase_t + | find(self, x) -> ccase_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=ccase_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< ccase_t >::iterator' + | insert(self, it, x) -> ccase_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'ccase_t &' + | push_back(self, x) + | push_back(self) -> ccase_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qvector_history_t in module ida_hexrays: + +class qvector_history_t(builtins.object) + | Proxy of C++ qvector< history_item_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'history_item_t const &' + | __getitem__(self, i) -> history_item_t + | + | __init__(self, *args) + | __init__(self) -> qvector_history_t + | __init__(self, x) -> qvector_history_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_qvector_history_t(...) + | delete_qvector_history_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'history_item_t const &' + | at(self, _idx) -> history_item_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< history_item_t >::const_iterator' + | begin(self) -> history_item_t + | begin(self) -> history_item_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< history_item_t >::const_iterator' + | end(self) -> history_item_t + | end(self) -> history_item_t + | + | erase(self, *args) -> 'qvector< history_item_t >::iterator' + | erase(self, it) -> history_item_t + | erase(self, first, last) -> history_item_t + | + | extract(self, *args) -> 'history_item_t *' + | extract(self) -> history_item_t + | + | find(self, *args) -> 'qvector< history_item_t >::const_iterator' + | find(self, x) -> history_item_t + | find(self, x) -> history_item_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=history_item_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< history_item_t >::iterator' + | insert(self, it, x) -> history_item_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'history_item_t &' + | push_back(self, x) + | push_back(self) -> history_item_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class qvector_lvar_t in module ida_hexrays: + +class qvector_lvar_t(builtins.object) + | Proxy of C++ qvector< lvar_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'lvar_t const &' + | __getitem__(self, i) -> lvar_t + | + | __init__(self, *args) + | __init__(self) -> qvector_lvar_t + | __init__(self, x) -> qvector_lvar_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_qvector_lvar_t(...) + | delete_qvector_lvar_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'lvar_t &' + | + | at = __getitem__(self, *args) -> 'lvar_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< lvar_t >::const_iterator' + | begin(self) -> lvar_t + | begin(self) -> lvar_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< lvar_t >::const_iterator' + | end(self) -> lvar_t + | end(self) -> lvar_t + | + | erase(self, *args) -> 'qvector< lvar_t >::iterator' + | erase(self, it) -> lvar_t + | erase(self, first, last) -> lvar_t + | + | extract(self, *args) -> 'lvar_t *' + | extract(self) -> lvar_t + | + | find(self, *args) -> 'qvector< lvar_t >::const_iterator' + | find(self, x) -> lvar_t + | find(self, x) -> lvar_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=lvar_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< lvar_t >::iterator' + | insert(self, it, x) -> lvar_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'lvar_t &' + | push_back(self, x) + | push_back(self) -> lvar_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function reg2mreg in module ida_hexrays: + +reg2mreg(*args) -> 'mreg_t' + reg2mreg(reg) -> mreg_t + + + Map a processor register to a microregister. + + @param reg: processor register number (C++: int) + @return: microregister register id or mr_none + +Help on function remitem in module ida_hexrays: + +remitem(*args) -> 'void' + remitem(e) + +Help on function remove_hexrays_callback in module ida_hexrays: + +remove_hexrays_callback(callback) + Deprecated. Please use Hexrays_Hooks instead + +Help on function restore_user_cmts in module ida_hexrays: + +restore_user_cmts(*args) -> 'user_cmts_t *' + restore_user_cmts(func_ea) -> user_cmts_t + + + Restore user defined comments from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined comments. The returned object must + be deleted by the caller using delete_user_cmts() + +Help on function restore_user_defined_calls in module ida_hexrays: + +restore_user_defined_calls(*args) -> 'bool' + restore_user_defined_calls(udcalls, func_ea) -> bool + + + Restore user defined function calls from the database. + + @param udcalls: ptr to output buffer (C++: udcall_map_t *) + @param func_ea: entry address of the function (C++: ea_t) + @return: success + +Help on function restore_user_iflags in module ida_hexrays: + +restore_user_iflags(*args) -> 'user_iflags_t *' + restore_user_iflags(func_ea) -> user_iflags_t + + + Restore user defined citem iflags from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined iflags. The returned object must + be deleted by the caller using delete_user_iflags() + +Help on function restore_user_labels in module ida_hexrays: + +restore_user_labels(*args) -> 'user_labels_t *' + restore_user_labels(func_ea) -> user_labels_t + + + Restore user defined labels from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined labels. The returned object must + be deleted by the caller using delete_user_labels() + +Help on function restore_user_lvar_settings in module ida_hexrays: + +restore_user_lvar_settings(*args) -> 'bool' + restore_user_lvar_settings(lvinf, func_ea) -> bool + + + Restore user defined local variable settings in the database. + + @param lvinf: ptr to output buffer (C++: lvar_uservec_t *) + @param func_ea: entry address of the function (C++: ea_t) + @return: success + +Help on function restore_user_numforms in module ida_hexrays: + +restore_user_numforms(*args) -> 'user_numforms_t *' + restore_user_numforms(func_ea) -> user_numforms_t + + + Restore user defined number formats from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of user defined number formats. The returned + object must be deleted by the caller using + delete_user_numforms() + +Help on function restore_user_unions in module ida_hexrays: + +restore_user_unions(*args) -> 'user_unions_t *' + restore_user_unions(func_ea) -> user_unions_t + + + Restore user defined union field selections from the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @return: collection of union field selections The returned object must + be deleted by the caller using delete_user_unions() + +Help on class rlist_t in module ida_hexrays: + +class rlist_t(bitset_t) + | Proxy of C++ rlist_t class. + | + | Method resolution order: + | rlist_t + | bitset_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rlist_t + | __init__(self, m) -> rlist_t + | __init__(self, reg, width) -> rlist_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_rlist_t(...) + | delete_rlist_t(self) + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from bitset_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __iter__(self) + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __len__ = count(self, *args) -> 'int' + | count(self) -> int + | count(self, bit) -> int + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | add(self, *args) -> 'bool' + | add(self, bit) -> bool + | add(self, bit, width) -> bool + | add(self, ml) -> bool + | + | back(self, *args) -> 'int' + | back(self) -> int + | + | begin(self, *args) -> 'bitset_t::iterator' + | begin(self) -> bitset_t::iterator + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | copy(self, *args) -> 'bitset_t &' + | copy(self, m) -> bitset_t + | + | count(self, *args) -> 'int' + | count(self) -> int + | count(self, bit) -> int + | + | cut_at(self, *args) -> 'bool' + | cut_at(self, maxbit) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'bitset_t::iterator' + | end(self) -> bitset_t::iterator + | + | fill_with_ones(self, *args) -> 'void' + | fill_with_ones(self, maxbit) + | + | front(self, *args) -> 'int' + | front(self) -> int + | + | has(self, *args) -> 'bool' + | has(self, bit) -> bool + | + | has_all(self, *args) -> 'bool' + | has_all(self, bit, width) -> bool + | + | has_any(self, *args) -> 'bool' + | has_any(self, bit, width) -> bool + | + | has_common(self, *args) -> 'bool' + | has_common(self, ml) -> bool + | + | inc(self, *args) -> 'void' + | inc(self, p, n=1) + | + | includes(self, *args) -> 'bool' + | includes(self, ml) -> bool + | + | intersect(self, *args) -> 'bool' + | intersect(self, ml) -> bool + | + | is_subset_of(self, *args) -> 'bool' + | is_subset_of(self, ml) -> bool + | + | itat(self, *args) -> 'bitset_t::iterator' + | itat(self, n) -> bitset_t::iterator + | + | itv(self, *args) -> 'int' + | itv(self, it) -> int + | + | last(self, *args) -> 'int' + | last(self) -> int + | + | shift_down(self, *args) -> 'void' + | shift_down(self, shift) + | + | sub(self, *args) -> 'bool' + | sub(self, bit) -> bool + | sub(self, bit, width) -> bool + | sub(self, ml) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from bitset_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from bitset_t: + | + | __hash__ = None + +Help on function save_user_cmts in module ida_hexrays: + +save_user_cmts(*args) -> 'void' + save_user_cmts(func_ea, user_cmts) + + + Save user defined comments into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param user_cmts: collection of user defined comments (C++: const + user_cmts_t *) + +Help on function save_user_defined_calls in module ida_hexrays: + +save_user_defined_calls(*args) -> 'void' + save_user_defined_calls(func_ea, udcalls) + + + Save user defined local function calls into the database. + + @param func_ea: entry address of the function (C++: ea_t) + @param udcalls: user-specified info about user defined function calls + (C++: const udcall_map_t &) + +Help on function save_user_iflags in module ida_hexrays: + +save_user_iflags(*args) -> 'void' + save_user_iflags(func_ea, iflags) + + + Save user defined citem iflags into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param iflags: collection of user defined citem iflags (C++: const + user_iflags_t *) + +Help on function save_user_labels in module ida_hexrays: + +save_user_labels(*args) -> 'void' + save_user_labels(func_ea, user_labels) + + + Save user defined labels into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param user_labels: collection of user defined labels (C++: const + user_labels_t *) + +Help on function save_user_lvar_settings in module ida_hexrays: + +save_user_lvar_settings(*args) -> 'void' + save_user_lvar_settings(func_ea, lvinf) + + + Save user defined local variable settings into the database. + + @param func_ea: entry address of the function (C++: ea_t) + @param lvinf: user-specified info about local variables (C++: const + lvar_uservec_t &) + +Help on function save_user_numforms in module ida_hexrays: + +save_user_numforms(*args) -> 'void' + save_user_numforms(func_ea, numforms) + + + Save user defined number formats into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param numforms: collection of user defined comments (C++: const + user_numforms_t *) + +Help on function save_user_unions in module ida_hexrays: + +save_user_unions(*args) -> 'void' + save_user_unions(func_ea, unions) + + + Save user defined union field selections into the database. + + @param func_ea: the entry address of the function (C++: ea_t) + @param unions: collection of union field selections (C++: const + user_unions_t *) + +Help on class scif_t in module ida_hexrays: + +class scif_t(vdloc_t) + | Proxy of C++ scif_t class. + | + | Method resolution order: + | scif_t + | vdloc_t + | ida_typeinf.argloc_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _mba, n, tif) -> scif_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_scif_t(...) + | delete_scif_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | mba + | scif_t_mba_get(self) -> mbl_array_t + | + | name + | scif_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | scif_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Methods inherited from vdloc_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _set_reg1(self, *args) -> 'void' + | _set_reg1(self, r1) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | is_aliasable(self, *args) -> 'bool' + | is_aliasable(self, mb, size) -> bool + | + | reg1(self, *args) -> 'int' + | reg1(self) -> int + | + | set_reg1(self, *args) -> 'void' + | set_reg1(self, r1) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from vdloc_t: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_typeinf.argloc_t: + | + | _consume_rrel(self, *args) -> 'bool' + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) -> 'bool' + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) -> 'void' + | _set_badloc(self) + | + | _set_biggest(self, *args) -> 'void' + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) -> 'void' + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) -> 'void' + | _set_ea(self, _ea) + | + | _set_reg2(self, *args) -> 'void' + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) -> 'void' + | _set_stkoff(self, off) + | + | advance(self, *args) -> 'bool' + | advance(self, delta) -> bool + | + | atype(self, *args) -> 'argloc_type_t' + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) -> 'sval_t' + | calc_offset(self) -> sval_t + | + | consume_rrel(self, *args) -> 'void' + | consume_rrel(self, p) + | + | consume_scattered(self, *args) -> 'void' + | consume_scattered(self, p) + | + | get_biggest(self, *args) -> 'argloc_t::biggest_t' + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) -> 'void *' + | get_custom(self) -> void * + | + | get_ea(self, *args) -> 'ea_t' + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) -> 'uint32' + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) -> 'rrel_t const &' + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) -> 'bool' + | has_reg(self) -> bool + | + | has_stkoff(self, *args) -> 'bool' + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) -> 'bool' + | is_badloc(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_ea(self, *args) -> 'bool' + | is_ea(self) -> bool + | + | is_fragmented(self, *args) -> 'bool' + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) -> 'bool' + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_rrel(self, *args) -> 'bool' + | is_rrel(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) -> 'void' + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) -> 'void' + | justify_stkoff_right(self, size, _slotsize) + | + | reg2(self, *args) -> 'int' + | reg2(self) -> int + | + | regoff(self, *args) -> 'int' + | regoff(self) -> int + | + | scattered(self, *args) -> 'scattered_aloc_t const &' + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) -> 'void' + | set_badloc(self) + | + | set_ea(self, *args) -> 'void' + | set_ea(self, _ea) + | + | set_reg2(self, *args) -> 'void' + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, off) + | + | stkoff(self, *args) -> 'sval_t' + | stkoff(self) -> sval_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_typeinf.argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class scif_visitor_t in module ida_hexrays: + +class scif_visitor_t(builtins.object) + | Proxy of C++ scif_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> scif_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_scif_visitor_t(...) + | delete_scif_visitor_t(self) + | + | visit_scif_mop(self, *args) -> 'int' + | visit_scif_mop(self, r, off) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function select_udt_by_offset in module ida_hexrays: + +select_udt_by_offset(*args) -> 'int' + select_udt_by_offset(udts, ops, applicator) -> int + + + Select UDT + + @param udts: list of UDT tinfo_t for the selection, if NULL or empty + then UDTs from the "Local types" will be used (C++: const + qvector < tinfo_t > *) + @param ops: operands (C++: const ui_stroff_ops_t &) + @param applicator (C++: ui_stroff_applicator_t &) + +Help on function send_database in module ida_hexrays: + +send_database(*args) -> 'void' + 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: failure description object. Empty hexrays_failure_t + object can be used if error information is not available. + (C++: const hexrays_failure_t &) + @param silent: if false, a dialog box will be displayed before sending + the database. (C++: bool) + +Help on function set2jcnd in module ida_hexrays: + +set2jcnd(*args) -> 'mcode_t' + set2jcnd(code) -> mcode_t + +Help on function set_type in module ida_hexrays: + +set_type(*args) -> 'bool' + set_type(id, tif, source, force=False) -> bool + + + Set a global type. + + @param id: address or id of the object (C++: uval_t) + @param tif: new type info (C++: const tinfo_t &) + @param source: where the type comes from (C++: type_source_t) + @param force: true means to set the type as is, false means to merge + the new type with the possibly existing old type info. + (C++: bool) + @return: success + +Help on class simple_graph_t in module ida_hexrays: + +class simple_graph_t(builtins.object) + | Proxy of C++ simple_graph_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | colored_gdl_edges + | simple_graph_t_colored_gdl_edges_get(self) -> bool + | + | thisown + | The membership flag + | + | title + | simple_graph_t_title_get(self) -> qstring * + +Help on class stkvar_ref_t in module ida_hexrays: + +class stkvar_ref_t(builtins.object) + | Proxy of C++ stkvar_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, m, o) -> stkvar_ref_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_stkvar_ref_t(...) + | delete_stkvar_ref_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, p_off=None) -> member_t * + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | mba + | stkvar_ref_t_mba_get(self) -> mbl_array_t + | + | off + | stkvar_ref_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function swap_mcode_relation in module ida_hexrays: + +swap_mcode_relation(*args) -> 'mcode_t' + swap_mcode_relation(code) -> mcode_t + +Help on function swapped_relation in module ida_hexrays: + +swapped_relation(*args) -> 'ctype_t' + swapped_relation(op) -> ctype_t + + + Swap a comparison operator. For example, cot_sge becomes cot_sle. + + + @param op (C++: ctype_t) + +Help on function term_hexrays_plugin in module ida_hexrays: + +term_hexrays_plugin(*args) -> 'void' + term_hexrays_plugin() + + + Stop working with hex-rays decompiler. + +Help on class treeloc_t in module ida_hexrays: + +class treeloc_t(builtins.object) + | Proxy of C++ treeloc_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> treeloc_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_treeloc_t(...) + | delete_treeloc_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | treeloc_t_ea_get(self) -> ea_t + | + | itp + | treeloc_t_itp_get(self) -> item_preciser_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class udc_filter_t in module ida_hexrays: + +class udc_filter_t(microcode_filter_t) + | Proxy of C++ udc_filter_t class. + | + | Method resolution order: + | udc_filter_t + | microcode_filter_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> udc_filter_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_udc_filter_t(...) + | delete_udc_filter_t(self) + | + | apply(self, *args) -> 'merror_t' + | apply(self, cdg) -> merror_t + | + | init(self, *args) -> 'bool' + | init(self, decl) -> bool + | + | match(self, *args) -> 'bool' + | match(self, cdg) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from microcode_filter_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function udcall_map_begin in module ida_hexrays: + +udcall_map_begin(*args) -> 'udcall_map_iterator_t' + 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 *) + +Help on function udcall_map_clear in module ida_hexrays: + +udcall_map_clear(*args) -> 'void' + udcall_map_clear(map) + + + Clear udcall_map_t. + + + @param map (C++: udcall_map_t *) + +Help on function udcall_map_end in module ida_hexrays: + +udcall_map_end(*args) -> 'udcall_map_iterator_t' + 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 *) + +Help on function udcall_map_erase in module ida_hexrays: + +udcall_map_erase(*args) -> 'void' + 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) + +Help on function udcall_map_find in module ida_hexrays: + +udcall_map_find(*args) -> 'udcall_map_iterator_t' + udcall_map_find(map, key) -> udcall_map_iterator_t + + + Find the specified key in udcall_map_t. + + + @param map (C++: const udcall_map_t *) + @param key (C++: const ea_t &) + +Help on function udcall_map_first in module ida_hexrays: + +udcall_map_first(*args) -> 'ea_t const &' + udcall_map_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_free in module ida_hexrays: + +udcall_map_free(*args) -> 'void' + udcall_map_free(map) + + + Delete udcall_map_t instance. + + + @param map (C++: udcall_map_t *) + +Help on function udcall_map_insert in module ida_hexrays: + +udcall_map_insert(*args) -> 'udcall_map_iterator_t' + 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 &) + @param val (C++: const udcall_t &) + +Help on class udcall_map_iterator_t in module ida_hexrays: + +class udcall_map_iterator_t(builtins.object) + | Proxy of C++ udcall_map_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> udcall_map_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_udcall_map_iterator_t(...) + | delete_udcall_map_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | udcall_map_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function udcall_map_new in module ida_hexrays: + +udcall_map_new(*args) -> 'udcall_map_t *' + udcall_map_new() -> udcall_map_t * + + + Create a new udcall_map_t instance. + +Help on function udcall_map_next in module ida_hexrays: + +udcall_map_next(*args) -> 'udcall_map_iterator_t' + udcall_map_next(p) -> udcall_map_iterator_t + + + Move to the next element. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_prev in module ida_hexrays: + +udcall_map_prev(*args) -> 'udcall_map_iterator_t' + udcall_map_prev(p) -> udcall_map_iterator_t + + + Move to the previous element. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_second in module ida_hexrays: + +udcall_map_second(*args) -> 'udcall_t &' + udcall_map_second(p) -> udcall_t + + + Get reference to the current map value. + + + @param p (C++: udcall_map_iterator_t) + +Help on function udcall_map_size in module ida_hexrays: + +udcall_map_size(*args) -> 'size_t' + udcall_map_size(map) -> size_t + + + Get size of udcall_map_t. + + + @param map (C++: udcall_map_t *) + +Help on class udcall_t in module ida_hexrays: + +class udcall_t(builtins.object) + | Proxy of C++ udcall_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> udcall_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_udcall_t(...) + | delete_udcall_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | udcall_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tif + | udcall_t_tif_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class ui_stroff_applicator_t in module ida_hexrays: + +class ui_stroff_applicator_t(builtins.object) + | Proxy of C++ ui_stroff_applicator_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_applicator_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ui_stroff_applicator_t(...) + | delete_ui_stroff_applicator_t(self) + | + | apply(self, *args) -> 'bool' + | apply(self, opnum, path) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class ui_stroff_op_t in module ida_hexrays: + +class ui_stroff_op_t(builtins.object) + | Proxy of C++ ui_stroff_op_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_op_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ui_stroff_op_t(...) + | delete_ui_stroff_op_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | offset + | ui_stroff_op_t_offset_get(self) -> uval_t + | + | text + | ui_stroff_op_t_text_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class ui_stroff_ops_t in module ida_hexrays: + +class ui_stroff_ops_t(builtins.object) + | Proxy of C++ qvector< ui_stroff_op_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'ui_stroff_op_t const &' + | __getitem__(self, i) -> ui_stroff_op_t + | + | __init__(self, *args) + | __init__(self) -> ui_stroff_ops_t + | __init__(self, x) -> ui_stroff_ops_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_ui_stroff_ops_t(...) + | delete_ui_stroff_ops_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'ui_stroff_op_t &' + | + | at = __getitem__(self, *args) -> 'ui_stroff_op_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< ui_stroff_op_t >::const_iterator' + | begin(self) -> ui_stroff_op_t + | begin(self) -> ui_stroff_op_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< ui_stroff_op_t >::const_iterator' + | end(self) -> ui_stroff_op_t + | end(self) -> ui_stroff_op_t + | + | erase(self, *args) -> 'qvector< ui_stroff_op_t >::iterator' + | erase(self, it) -> ui_stroff_op_t + | erase(self, first, last) -> ui_stroff_op_t + | + | extract(self, *args) -> 'ui_stroff_op_t *' + | extract(self) -> ui_stroff_op_t + | + | find(self, *args) -> 'qvector< ui_stroff_op_t >::const_iterator' + | find(self, x) -> ui_stroff_op_t + | find(self, x) -> ui_stroff_op_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=ui_stroff_op_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< ui_stroff_op_t >::iterator' + | insert(self, it, x) -> ui_stroff_op_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'ui_stroff_op_t &' + | push_back(self, x) + | push_back(self) -> ui_stroff_op_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_cmts_begin in module ida_hexrays: + +user_cmts_begin(*args) -> 'user_cmts_iterator_t' + 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 *) + +Help on function user_cmts_clear in module ida_hexrays: + +user_cmts_clear(*args) -> 'void' + user_cmts_clear(map) + + + Clear user_cmts_t. + + + @param map (C++: user_cmts_t *) + +Help on function user_cmts_end in module ida_hexrays: + +user_cmts_end(*args) -> 'user_cmts_iterator_t' + 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 *) + +Help on function user_cmts_erase in module ida_hexrays: + +user_cmts_erase(*args) -> 'void' + 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) + +Help on function user_cmts_find in module ida_hexrays: + +user_cmts_find(*args) -> 'user_cmts_iterator_t' + user_cmts_find(map, key) -> user_cmts_iterator_t + + + Find the specified key in user_cmts_t. + + + @param map (C++: const user_cmts_t *) + @param key (C++: const treeloc_t &) + +Help on function user_cmts_first in module ida_hexrays: + +user_cmts_first(*args) -> 'treeloc_t const &' + user_cmts_first(p) -> treeloc_t + + + Get reference to the current map key. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_free in module ida_hexrays: + +user_cmts_free(*args) -> 'void' + user_cmts_free(map) + + + Delete user_cmts_t instance. + + + @param map (C++: user_cmts_t *) + +Help on function user_cmts_insert in module ida_hexrays: + +user_cmts_insert(*args) -> 'user_cmts_iterator_t' + 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 &) + @param val (C++: const citem_cmt_t &) + +Help on class user_cmts_iterator_t in module ida_hexrays: + +class user_cmts_iterator_t(builtins.object) + | Proxy of C++ user_cmts_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_cmts_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_cmts_iterator_t(...) + | delete_user_cmts_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_cmts_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_cmts_new in module ida_hexrays: + +user_cmts_new(*args) -> 'user_cmts_t *' + user_cmts_new() -> user_cmts_t + + + Create a new user_cmts_t instance. + +Help on function user_cmts_next in module ida_hexrays: + +user_cmts_next(*args) -> 'user_cmts_iterator_t' + user_cmts_next(p) -> user_cmts_iterator_t + + + Move to the next element. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_prev in module ida_hexrays: + +user_cmts_prev(*args) -> 'user_cmts_iterator_t' + user_cmts_prev(p) -> user_cmts_iterator_t + + + Move to the previous element. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_second in module ida_hexrays: + +user_cmts_second(*args) -> 'citem_cmt_t &' + user_cmts_second(p) -> citem_cmt_t + + + Get reference to the current map value. + + + @param p (C++: user_cmts_iterator_t) + +Help on function user_cmts_size in module ida_hexrays: + +user_cmts_size(*args) -> 'size_t' + user_cmts_size(map) -> size_t + + + Get size of user_cmts_t. + + + @param map (C++: user_cmts_t *) + +Help on class user_cmts_t in module ida_hexrays: + +class user_cmts_t(builtins.object) + | Proxy of C++ std::map< treeloc_t,citem_cmt_t > class. + | + | Methods defined here: + | + | __begin = user_cmts_begin(...) + | user_cmts_begin(map) -> user_cmts_iterator_t + | + | __clear = user_cmts_clear(...) + | user_cmts_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = user_cmts_end(...) + | user_cmts_end(map) -> user_cmts_iterator_t + | + | __erase = user_cmts_erase(...) + | user_cmts_erase(map, p) + | + | __find = user_cmts_find(...) + | user_cmts_find(map, key) -> user_cmts_iterator_t + | + | __first = user_cmts_first(...) + | user_cmts_first(p) -> treeloc_t + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_cmts_t + | + | __insert = user_cmts_insert(...) + | user_cmts_insert(map, key, val) -> user_cmts_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = user_cmts_next(...) + | user_cmts_next(p) -> user_cmts_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = user_cmts_second(...) + | user_cmts_second(p) -> citem_cmt_t + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = user_cmts_size(...) + | user_cmts_size(map) -> size_t + | + | __swig_destroy__ = delete_user_cmts_t(...) + | delete_user_cmts_t(self) + | + | at(self, *args) -> 'citem_cmt_t &' + | at(self, _Keyval) -> citem_cmt_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = + | Proxy of C++ treeloc_t class. + | + | valuetype = + | Proxy of C++ citem_cmt_t class. + +Help on function user_iflags_begin in module ida_hexrays: + +user_iflags_begin(*args) -> 'user_iflags_iterator_t' + 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 *) + +Help on function user_iflags_clear in module ida_hexrays: + +user_iflags_clear(*args) -> 'void' + user_iflags_clear(map) + + + Clear user_iflags_t. + + + @param map (C++: user_iflags_t *) + +Help on function user_iflags_end in module ida_hexrays: + +user_iflags_end(*args) -> 'user_iflags_iterator_t' + 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 *) + +Help on function user_iflags_erase in module ida_hexrays: + +user_iflags_erase(*args) -> 'void' + 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) + +Help on function user_iflags_find in module ida_hexrays: + +user_iflags_find(*args) -> 'user_iflags_iterator_t' + user_iflags_find(map, key) -> user_iflags_iterator_t + + + Find the specified key in user_iflags_t. + + + @param map (C++: const user_iflags_t *) + @param key (C++: const citem_locator_t &) + +Help on function user_iflags_first in module ida_hexrays: + +user_iflags_first(*args) -> 'citem_locator_t const &' + user_iflags_first(p) -> citem_locator_t + + + Get reference to the current map key. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_free in module ida_hexrays: + +user_iflags_free(*args) -> 'void' + user_iflags_free(map) + + + Delete user_iflags_t instance. + + + @param map (C++: user_iflags_t *) + +Help on function user_iflags_insert in module ida_hexrays: + +user_iflags_insert(*args) -> 'user_iflags_iterator_t' + 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 &) + @param val (C++: const int32 &) + +Help on class user_iflags_iterator_t in module ida_hexrays: + +class user_iflags_iterator_t(builtins.object) + | Proxy of C++ user_iflags_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_iflags_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_iflags_iterator_t(...) + | delete_user_iflags_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_iflags_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_iflags_new in module ida_hexrays: + +user_iflags_new(*args) -> 'user_iflags_t *' + user_iflags_new() -> user_iflags_t + + + Create a new user_iflags_t instance. + +Help on function user_iflags_next in module ida_hexrays: + +user_iflags_next(*args) -> 'user_iflags_iterator_t' + user_iflags_next(p) -> user_iflags_iterator_t + + + Move to the next element. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_prev in module ida_hexrays: + +user_iflags_prev(*args) -> 'user_iflags_iterator_t' + user_iflags_prev(p) -> user_iflags_iterator_t + + + Move to the previous element. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_second in module ida_hexrays: + +user_iflags_second(*args) -> 'int32 const &' + user_iflags_second(p) -> int32 const & + + + Get reference to the current map value. + + + @param p (C++: user_iflags_iterator_t) + +Help on function user_iflags_size in module ida_hexrays: + +user_iflags_size(*args) -> 'size_t' + user_iflags_size(map) -> size_t + + + Get size of user_iflags_t. + + + @param map (C++: user_iflags_t *) + +Help on class user_iflags_t in module ida_hexrays: + +class user_iflags_t(builtins.object) + | Proxy of C++ std::map< citem_locator_t,int32 > class. + | + | Methods defined here: + | + | __begin = user_iflags_begin(...) + | user_iflags_begin(map) -> user_iflags_iterator_t + | + | __clear = user_iflags_clear(...) + | user_iflags_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = user_iflags_end(...) + | user_iflags_end(map) -> user_iflags_iterator_t + | + | __erase = user_iflags_erase(...) + | user_iflags_erase(map, p) + | + | __find = user_iflags_find(...) + | user_iflags_find(map, key) -> user_iflags_iterator_t + | + | __first = user_iflags_first(...) + | user_iflags_first(p) -> citem_locator_t + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_iflags_t + | + | __insert = user_iflags_insert(...) + | user_iflags_insert(map, key, val) -> user_iflags_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = user_iflags_next(...) + | user_iflags_next(p) -> user_iflags_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = user_iflags_second(...) + | user_iflags_second(p) -> int32 const & + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = user_iflags_size(...) + | user_iflags_size(map) -> size_t + | + | __swig_destroy__ = delete_user_iflags_t(...) + | delete_user_iflags_t(self) + | + | at(self, *args) -> 'int &' + | at(self, _Keyval) -> int & + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = + | Proxy of C++ citem_locator_t class. + | + | valuetype = + | int(x=0) -> 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 + +Help on function user_labels_begin in module ida_hexrays: + +user_labels_begin(*args) -> 'user_labels_iterator_t' + 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 *) + +Help on function user_labels_clear in module ida_hexrays: + +user_labels_clear(*args) -> 'void' + user_labels_clear(map) + + + Clear user_labels_t. + + + @param map (C++: user_labels_t *) + +Help on function user_labels_end in module ida_hexrays: + +user_labels_end(*args) -> 'user_labels_iterator_t' + 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 *) + +Help on function user_labels_erase in module ida_hexrays: + +user_labels_erase(*args) -> 'void' + 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) + +Help on function user_labels_find in module ida_hexrays: + +user_labels_find(*args) -> 'user_labels_iterator_t' + user_labels_find(map, key) -> user_labels_iterator_t + + + Find the specified key in user_labels_t. + + + @param map (C++: const user_labels_t *) + @param key (C++: const int &) + +Help on function user_labels_first in module ida_hexrays: + +user_labels_first(*args) -> 'int const &' + user_labels_first(p) -> int const & + + + Get reference to the current map key. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_free in module ida_hexrays: + +user_labels_free(*args) -> 'void' + user_labels_free(map) + + + Delete user_labels_t instance. + + + @param map (C++: user_labels_t *) + +Help on function user_labels_insert in module ida_hexrays: + +user_labels_insert(*args) -> 'user_labels_iterator_t' + 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 &) + @param val (C++: const qstring &) + +Help on class user_labels_iterator_t in module ida_hexrays: + +class user_labels_iterator_t(builtins.object) + | Proxy of C++ user_labels_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_labels_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_labels_iterator_t(...) + | delete_user_labels_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_labels_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_labels_new in module ida_hexrays: + +user_labels_new(*args) -> 'user_labels_t *' + user_labels_new() -> user_labels_t + + + Create a new user_labels_t instance. + +Help on function user_labels_next in module ida_hexrays: + +user_labels_next(*args) -> 'user_labels_iterator_t' + user_labels_next(p) -> user_labels_iterator_t + + + Move to the next element. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_prev in module ida_hexrays: + +user_labels_prev(*args) -> 'user_labels_iterator_t' + user_labels_prev(p) -> user_labels_iterator_t + + + Move to the previous element. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_second in module ida_hexrays: + +user_labels_second(*args) -> 'qstring &' + user_labels_second(p) -> qstring & + + + Get reference to the current map value. + + + @param p (C++: user_labels_iterator_t) + +Help on function user_labels_size in module ida_hexrays: + +user_labels_size(*args) -> 'size_t' + user_labels_size(map) -> size_t + + + Get size of user_labels_t. + + + @param map (C++: user_labels_t *) + +Help on class user_labels_t in module ida_hexrays: + +class user_labels_t(builtins.object) + | Proxy of C++ std::map< int,qstring > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> user_labels_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_labels_t(...) + | delete_user_labels_t(self) + | + | at(self, *args) -> '_qstring< char > &' + | at(self, _Keyval) -> _qstring< char > & + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class user_lvar_modifier_t in module ida_hexrays: + +class user_lvar_modifier_t(builtins.object) + | Proxy of C++ user_lvar_modifier_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> user_lvar_modifier_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_lvar_modifier_t(...) + | delete_user_lvar_modifier_t(self) + | + | modify_lvars(self, *args) -> 'bool' + | modify_lvars(self, lvinf) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function user_numforms_begin in module ida_hexrays: + +user_numforms_begin(*args) -> 'user_numforms_iterator_t' + 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 *) + +Help on function user_numforms_clear in module ida_hexrays: + +user_numforms_clear(*args) -> 'void' + user_numforms_clear(map) + + + Clear user_numforms_t. + + + @param map (C++: user_numforms_t *) + +Help on function user_numforms_end in module ida_hexrays: + +user_numforms_end(*args) -> 'user_numforms_iterator_t' + 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 *) + +Help on function user_numforms_erase in module ida_hexrays: + +user_numforms_erase(*args) -> 'void' + 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) + +Help on function user_numforms_find in module ida_hexrays: + +user_numforms_find(*args) -> 'user_numforms_iterator_t' + user_numforms_find(map, key) -> user_numforms_iterator_t + + + Find the specified key in user_numforms_t. + + + @param map (C++: const user_numforms_t *) + @param key (C++: const operand_locator_t &) + +Help on function user_numforms_first in module ida_hexrays: + +user_numforms_first(*args) -> 'operand_locator_t const &' + user_numforms_first(p) -> operand_locator_t + + + Get reference to the current map key. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_free in module ida_hexrays: + +user_numforms_free(*args) -> 'void' + user_numforms_free(map) + + + Delete user_numforms_t instance. + + + @param map (C++: user_numforms_t *) + +Help on function user_numforms_insert in module ida_hexrays: + +user_numforms_insert(*args) -> 'user_numforms_iterator_t' + 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 &) + @param val (C++: const number_format_t &) + +Help on class user_numforms_iterator_t in module ida_hexrays: + +class user_numforms_iterator_t(builtins.object) + | Proxy of C++ user_numforms_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_numforms_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_numforms_iterator_t(...) + | delete_user_numforms_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_numforms_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_numforms_new in module ida_hexrays: + +user_numforms_new(*args) -> 'user_numforms_t *' + user_numforms_new() -> user_numforms_t + + + Create a new user_numforms_t instance. + +Help on function user_numforms_next in module ida_hexrays: + +user_numforms_next(*args) -> 'user_numforms_iterator_t' + user_numforms_next(p) -> user_numforms_iterator_t + + + Move to the next element. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_prev in module ida_hexrays: + +user_numforms_prev(*args) -> 'user_numforms_iterator_t' + user_numforms_prev(p) -> user_numforms_iterator_t + + + Move to the previous element. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_second in module ida_hexrays: + +user_numforms_second(*args) -> 'number_format_t &' + user_numforms_second(p) -> number_format_t + + + Get reference to the current map value. + + + @param p (C++: user_numforms_iterator_t) + +Help on function user_numforms_size in module ida_hexrays: + +user_numforms_size(*args) -> 'size_t' + user_numforms_size(map) -> size_t + + + Get size of user_numforms_t. + + + @param map (C++: user_numforms_t *) + +Help on class user_numforms_t in module ida_hexrays: + +class user_numforms_t(builtins.object) + | Proxy of C++ std::map< operand_locator_t,number_format_t > class. + | + | Methods defined here: + | + | __begin = user_numforms_begin(...) + | user_numforms_begin(map) -> user_numforms_iterator_t + | + | __clear = user_numforms_clear(...) + | user_numforms_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = user_numforms_end(...) + | user_numforms_end(map) -> user_numforms_iterator_t + | + | __erase = user_numforms_erase(...) + | user_numforms_erase(map, p) + | + | __find = user_numforms_find(...) + | user_numforms_find(map, key) -> user_numforms_iterator_t + | + | __first = user_numforms_first(...) + | user_numforms_first(p) -> operand_locator_t + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_numforms_t + | + | __insert = user_numforms_insert(...) + | user_numforms_insert(map, key, val) -> user_numforms_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = user_numforms_next(...) + | user_numforms_next(p) -> user_numforms_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = user_numforms_second(...) + | user_numforms_second(p) -> number_format_t + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = user_numforms_size(...) + | user_numforms_size(map) -> size_t + | + | __swig_destroy__ = delete_user_numforms_t(...) + | delete_user_numforms_t(self) + | + | at(self, *args) -> 'number_format_t &' + | at(self, _Keyval) -> number_format_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = + | Proxy of C++ operand_locator_t class. + | + | valuetype = + | Proxy of C++ number_format_t class. + +Help on function user_unions_begin in module ida_hexrays: + +user_unions_begin(*args) -> 'user_unions_iterator_t' + 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 *) + +Help on function user_unions_clear in module ida_hexrays: + +user_unions_clear(*args) -> 'void' + user_unions_clear(map) + + + Clear user_unions_t. + + + @param map (C++: user_unions_t *) + +Help on function user_unions_end in module ida_hexrays: + +user_unions_end(*args) -> 'user_unions_iterator_t' + 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 *) + +Help on function user_unions_erase in module ida_hexrays: + +user_unions_erase(*args) -> 'void' + 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) + +Help on function user_unions_find in module ida_hexrays: + +user_unions_find(*args) -> 'user_unions_iterator_t' + user_unions_find(map, key) -> user_unions_iterator_t + + + Find the specified key in user_unions_t. + + + @param map (C++: const user_unions_t *) + @param key (C++: const ea_t &) + +Help on function user_unions_first in module ida_hexrays: + +user_unions_first(*args) -> 'ea_t const &' + user_unions_first(p) -> ea_t const & + + + Get reference to the current map key. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_free in module ida_hexrays: + +user_unions_free(*args) -> 'void' + user_unions_free(map) + + + Delete user_unions_t instance. + + + @param map (C++: user_unions_t *) + +Help on function user_unions_insert in module ida_hexrays: + +user_unions_insert(*args) -> 'user_unions_iterator_t' + 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 &) + @param val (C++: const intvec_t &) + +Help on class user_unions_iterator_t in module ida_hexrays: + +class user_unions_iterator_t(builtins.object) + | Proxy of C++ user_unions_iterator_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, p) -> bool + | + | __init__(self, *args) + | __init__(self) -> user_unions_iterator_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, p) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_user_unions_iterator_t(...) + | delete_user_unions_iterator_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | x + | user_unions_iterator_t_x_get(self) -> iterator_word + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function user_unions_new in module ida_hexrays: + +user_unions_new(*args) -> 'user_unions_t *' + user_unions_new() -> user_unions_t + + + Create a new user_unions_t instance. + +Help on function user_unions_next in module ida_hexrays: + +user_unions_next(*args) -> 'user_unions_iterator_t' + user_unions_next(p) -> user_unions_iterator_t + + + Move to the next element. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_prev in module ida_hexrays: + +user_unions_prev(*args) -> 'user_unions_iterator_t' + user_unions_prev(p) -> user_unions_iterator_t + + + Move to the previous element. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_second in module ida_hexrays: + +user_unions_second(*args) -> 'intvec_t &' + user_unions_second(p) -> intvec_t + + + Get reference to the current map value. + + + @param p (C++: user_unions_iterator_t) + +Help on function user_unions_size in module ida_hexrays: + +user_unions_size(*args) -> 'size_t' + user_unions_size(map) -> size_t + + + Get size of user_unions_t. + + + @param map (C++: user_unions_t *) + +Help on class user_unions_t in module ida_hexrays: + +class user_unions_t(builtins.object) + | Proxy of C++ std::map< ea_t,intvec_t > class. + | + | Methods defined here: + | + | __begin = user_unions_begin(...) + | user_unions_begin(map) -> user_unions_iterator_t + | + | __clear = user_unions_clear(...) + | user_unions_clear(map) + | + | __contains__ = _map___contains__(self, key) + | Returns true if the specified key exists in the . + | + | __delitem__ = _map___delitem__(self, key) + | Removes the value associated with the provided key. + | + | __end = user_unions_end(...) + | user_unions_end(map) -> user_unions_iterator_t + | + | __erase = user_unions_erase(...) + | user_unions_erase(map, p) + | + | __find = user_unions_find(...) + | user_unions_find(map, key) -> user_unions_iterator_t + | + | __first = user_unions_first(...) + | user_unions_first(p) -> ea_t const & + | + | __getitem__ = _map___getitem__(self, key) + | Returns the value associated with the provided key. + | + | __init__(self, *args) + | __init__(self) -> user_unions_t + | + | __insert = user_unions_insert(...) + | user_unions_insert(map, key, val) -> user_unions_iterator_t + | + | __iter__ = _map___iter__(self) + | Iterate over dictionary keys. + | + | __len__ = size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | __next = user_unions_next(...) + | user_unions_next(p) -> user_unions_iterator_t + | + | __repr__ = _swig_repr(self) + | + | __second = user_unions_second(...) + | user_unions_second(p) -> intvec_t + | + | __setitem__ = _map___setitem__(self, key, value) + | Returns the value associated with the provided key. + | + | __size = user_unions_size(...) + | user_unions_size(map) -> size_t + | + | __swig_destroy__ = delete_user_unions_t(...) + | delete_user_unions_t(self) + | + | at(self, *args) -> 'qvector< int > &' + | at(self, _Keyval) -> intvec_t + | + | begin lambda self, *args + | + | clear = _map_clear(self) + | + | copy = _map_copy(self) + | + | end lambda self, *args + | + | erase lambda self, *args + | + | find lambda self, *args + | + | first lambda self, *args + | + | get = _map_get(self, key, default=None) + | + | has_key = _map_has_key(self, key) + | + | insert lambda self, *args + | + | items = _map_items(self) + | + | iteritems = _map_iteritems(self) + | + | iterkeys = _map_iterkeys(self) + | + | itervalues = _map_itervalues(self) + | + | keys = _map_keys(self) + | + | next lambda self, *args + | + | pop = _map_pop(self, key) + | Sets the value associated with the provided key. + | + | popitem = _map_popitem(self) + | Sets the value associated with the provided key. + | + | second lambda self, *args + | + | setdefault = _map_setdefault(self, key, default=None) + | Sets the value associated with the provided key. + | + | size lambda self, *args + | + | values = _map_values(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | keytype = (,) + | + | valuetype = + | Proxy of C++ qvector< int > class. + +Help on class uval_ivl_ivlset_t in module ida_hexrays: + +class uval_ivl_ivlset_t(builtins.object) + | Proxy of C++ ivlset_tpl< ivl_t,uval_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, v) -> bool + | + | __init__(self, *args) + | __init__(self) -> uval_ivl_ivlset_t + | __init__(self, ivl) -> uval_ivl_ivlset_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, v) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_uval_ivl_ivlset_t(...) + | delete_uval_ivl_ivlset_t(self) + | + | all_values(self, *args) -> 'bool' + | all_values(self) -> bool + | + | begin(self, *args) -> 'ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator'↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | begin(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator'↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::const_iterator↗ + | end(self) -> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::iterator↗ + | + | getivl(self, *args) -> 'ivl_t const &' + | getivl(self, idx) -> ivl_t + | + | lastivl(self, *args) -> 'ivl_t const &' + | lastivl(self) -> ivl_t + | + | nivls(self, *args) -> 'size_t' + | nivls(self) -> size_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | set_all_values(self, *args) -> 'void' + | set_all_values(self) + | + | single_value(self, *args) -> 'bool' + | single_value(self, v) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class uval_ivl_t in module ida_hexrays: + +class uval_ivl_t(builtins.object) + | Proxy of C++ ivl_tpl< uval_t > class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _off, _size) -> uval_ivl_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_uval_ivl_t(...) + | delete_uval_ivl_t(self) + | + | end(self, *args) -> 'unsigned-ea-like-numeric-type'↗ + | end(self) -> unsigned-ea-like-numeric-type↗ + | + | last(self, *args) -> 'unsigned-ea-like-numeric-type'↗ + | last(self) -> unsigned-ea-like-numeric-type↗ + | + | valid(self, *args) -> 'bool' + | valid(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type↗ + | + | size + | uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type↗ + | + | thisown + | The membership flag + +Help on class valrng_t in module ida_hexrays: + +class valrng_t(builtins.object) + | Proxy of C++ valrng_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, size_=MAX_VLR_SIZE) -> valrng_t + | __init__(self, r) -> valrng_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_valrng_t(...) + | delete_valrng_t(self) + | + | _deregister(self, *args) -> 'void' + | _deregister(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | _register(self, *args) -> 'void' + | _register(self) + | + | all_values(self, *args) -> 'bool' + | all_values(self) -> bool + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | cvt_to_cmp(self, *args) -> 'bool' + | cvt_to_cmp(self, strict) -> bool + | + | cvt_to_single_value(self, *args) -> 'bool' + | cvt_to_single_value(self) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | get_size(self, *args) -> 'int' + | get_size(self) -> int + | + | has(self, *args) -> 'bool' + | has(self, v) -> bool + | + | intersect_with(self, *args) -> 'bool' + | intersect_with(self, r) -> bool + | + | inverse(self, *args) -> 'void' + | inverse(self) + | + | is_unknown(self, *args) -> 'bool' + | is_unknown(self) -> bool + | + | max_svalue(self, *args) -> 'uvlr_t' + | max_svalue(self, size_) -> uvlr_t + | max_svalue(self) -> uvlr_t + | + | max_value(self, *args) -> 'uvlr_t' + | max_value(self, size_) -> uvlr_t + | max_value(self) -> uvlr_t + | + | min_svalue(self, *args) -> 'uvlr_t' + | min_svalue(self, size_) -> uvlr_t + | min_svalue(self) -> uvlr_t + | + | reduce_size(self, *args) -> 'bool' + | reduce_size(self, new_size) -> bool + | + | set_all(self, *args) -> 'void' + | set_all(self) + | + | set_cmp(self, *args) -> 'void' + | set_cmp(self, cmp, _value) + | + | set_eq(self, *args) -> 'void' + | set_eq(self, v) + | + | set_none(self, *args) -> 'void' + | set_none(self) + | + | set_unk(self, *args) -> 'void' + | set_unk(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | unite_with(self, *args) -> 'bool' + | unite_with(self, r) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class var_ref_t in module ida_hexrays: + +class var_ref_t(builtins.object) + | Proxy of C++ var_ref_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> var_ref_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_var_ref_t(...) + | delete_var_ref_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | idx + | var_ref_t_idx_get(self) -> int + | + | mba + | var_ref_t_mba_get(self) -> mbl_array_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class vc_printer_t in module ida_hexrays: + +class vc_printer_t(vd_printer_t) + | Proxy of C++ vc_printer_t class. + | + | Method resolution order: + | vc_printer_t + | vd_printer_t + | builtins.object + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, f) -> vc_printer_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vc_printer_t(...) + | delete_vc_printer_t(self) + | + | oneliner(self, *args) -> 'bool' + | oneliner(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | func + | vc_printer_t_func_get(self) -> cfunc_t + | + | lastchar + | vc_printer_t_lastchar_get(self) -> char + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from vd_printer_t: + | + | _print(self, *args) -> 'int' + | _print(self, indent, format) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_printer_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + +Help on class vd_failure_t in module ida_hexrays: + +class vd_failure_t(builtins.object) + | Proxy of C++ vd_failure_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> vd_failure_t + | __init__(self, code, ea, buf=None) -> vd_failure_t + | __init__(self, code, ea, buf) -> vd_failure_t + | __init__(self, _hf) -> vd_failure_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vd_failure_t(...) + | delete_vd_failure_t(self) + | + | desc(self, *args) -> 'qstring' + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hf + | vd_failure_t_hf_get(self) -> hexrays_failure_t + | + | thisown + | The membership flag + +Help on class vd_interr_t in module ida_hexrays: + +class vd_interr_t(vd_failure_t) + | Proxy of C++ vd_interr_t class. + | + | Method resolution order: + | vd_interr_t + | vd_failure_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, ea, buf) -> vd_interr_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vd_interr_t(...) + | delete_vd_interr_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from vd_failure_t: + | + | desc(self, *args) -> 'qstring' + | desc(self) -> qstring + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from vd_failure_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hf + | vd_failure_t_hf_get(self) -> hexrays_failure_t + +Help on class vd_printer_t in module ida_hexrays: + +class vd_printer_t(builtins.object) + | Proxy of C++ vd_printer_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> vd_printer_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vd_printer_t(...) + | delete_vd_printer_t(self) + | + | _print(self, *args) -> 'int' + | _print(self, indent, format) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hdrlines + | vd_printer_t_hdrlines_get(self) -> int + | + | thisown + | The membership flag + | + | tmpbuf + | vd_printer_t_tmpbuf_get(self) -> qstring * + +Help on class vdloc_t in module ida_hexrays: + +class vdloc_t(ida_typeinf.argloc_t) + | Proxy of C++ vdloc_t class. + | + | Method resolution order: + | vdloc_t + | ida_typeinf.argloc_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> vdloc_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vdloc_t(...) + | delete_vdloc_t(self) + | + | _set_reg1(self, *args) -> 'void' + | _set_reg1(self, r1) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | is_aliasable(self, *args) -> 'bool' + | is_aliasable(self, mb, size) -> bool + | + | reg1(self, *args) -> 'int' + | reg1(self) -> int + | + | set_reg1(self, *args) -> 'void' + | set_reg1(self, r1) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_typeinf.argloc_t: + | + | _consume_rrel(self, *args) -> 'bool' + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) -> 'bool' + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) -> 'void' + | _set_badloc(self) + | + | _set_biggest(self, *args) -> 'void' + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) -> 'void' + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) -> 'void' + | _set_ea(self, _ea) + | + | _set_reg2(self, *args) -> 'void' + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) -> 'void' + | _set_stkoff(self, off) + | + | advance(self, *args) -> 'bool' + | advance(self, delta) -> bool + | + | atype(self, *args) -> 'argloc_type_t' + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) -> 'sval_t' + | calc_offset(self) -> sval_t + | + | consume_rrel(self, *args) -> 'void' + | consume_rrel(self, p) + | + | consume_scattered(self, *args) -> 'void' + | consume_scattered(self, p) + | + | get_biggest(self, *args) -> 'argloc_t::biggest_t' + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) -> 'void *' + | get_custom(self) -> void * + | + | get_ea(self, *args) -> 'ea_t' + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) -> 'uint32' + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) -> 'rrel_t const &' + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) -> 'bool' + | has_reg(self) -> bool + | + | has_stkoff(self, *args) -> 'bool' + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) -> 'bool' + | is_badloc(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_ea(self, *args) -> 'bool' + | is_ea(self) -> bool + | + | is_fragmented(self, *args) -> 'bool' + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) -> 'bool' + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_rrel(self, *args) -> 'bool' + | is_rrel(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) -> 'void' + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) -> 'void' + | justify_stkoff_right(self, size, _slotsize) + | + | reg2(self, *args) -> 'int' + | reg2(self) -> int + | + | regoff(self, *args) -> 'int' + | regoff(self) -> int + | + | scattered(self, *args) -> 'scattered_aloc_t const &' + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) -> 'void' + | set_badloc(self) + | + | set_ea(self, *args) -> 'void' + | set_ea(self, _ea) + | + | set_reg2(self, *args) -> 'void' + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, off) + | + | stkoff(self, *args) -> 'sval_t' + | stkoff(self) -> sval_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_typeinf.argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class vdui_t in module ida_hexrays: + +class vdui_t(builtins.object) + | Proxy of C++ vdui_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vdui_t(...) + | delete_vdui_t(self) + | + | calc_cmt_type(self, *args) -> 'cmt_type_t' + | calc_cmt_type(self, lnnum, cmttype) -> cmt_type_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | collapse_item(self, *args) -> 'bool' + | collapse_item(self, hide) -> bool + | + | collapse_lvars(self, *args) -> 'bool' + | collapse_lvars(self, hide) -> bool + | + | ctree_to_disasm(self, *args) -> 'bool' + | ctree_to_disasm(self) -> bool + | + | del_orphan_cmts(self, *args) -> 'bool' + | del_orphan_cmts(self) -> bool + | + | edit_cmt(self, *args) -> 'bool' + | edit_cmt(self, loc) -> bool + | + | edit_func_cmt(self, *args) -> 'bool' + | edit_func_cmt(self) -> bool + | + | get_current_item(self, *args) -> 'bool' + | get_current_item(self, idv) -> bool + | + | get_current_label(self, *args) -> 'int' + | get_current_label(self) -> int + | + | get_number(self, *args) -> 'cnumber_t *' + | get_number(self) -> cnumber_t + | + | in_ctree(self, *args) -> 'bool' + | in_ctree(self) -> bool + | + | invert_bits(self, *args) -> 'bool' + | invert_bits(self) -> bool + | + | invert_sign(self, *args) -> 'bool' + | invert_sign(self) -> bool + | + | jump_enter(self, *args) -> 'bool' + | jump_enter(self, idv, omflags) -> bool + | + | locked(self, *args) -> 'bool' + | locked(self) -> bool + | + | map_lvar(self, *args) -> 'bool' + | map_lvar(self, frm, to) -> bool + | + | refresh_cpos(self, *args) -> 'bool' + | refresh_cpos(self, idv) -> bool + | + | refresh_ctext(self, *args) -> 'void' + | refresh_ctext(self, activate=True) + | + | refresh_view(self, *args) -> 'void' + | refresh_view(self, redo_mba) + | + | rename_global(self, *args) -> 'bool' + | rename_global(self, ea) -> bool + | + | rename_label(self, *args) -> 'bool' + | rename_label(self, label) -> bool + | + | rename_lvar(self, *args) -> 'bool' + | rename_lvar(self, v, name, is_user_name) -> bool + | + | rename_strmem(self, *args) -> 'bool' + | rename_strmem(self, sptr, mptr) -> bool + | + | set_global_type(self, *args) -> 'bool' + | set_global_type(self, ea) -> bool + | + | set_locked(self, *args) -> 'bool' + | set_locked(self, v) -> bool + | + | set_lvar_cmt(self, *args) -> 'bool' + | set_lvar_cmt(self, v, cmt) -> bool + | + | set_lvar_type(self, *args) -> 'bool' + | set_lvar_type(self, v, type) -> bool + | + | set_noptr_lvar(self, *args) -> 'bool' + | set_noptr_lvar(self, v) -> bool + | + | set_num_enum(self, *args) -> 'bool' + | set_num_enum(self) -> bool + | + | set_num_radix(self, *args) -> 'bool' + | set_num_radix(self, base) -> bool + | + | set_num_stroff(self, *args) -> 'bool' + | set_num_stroff(self) -> bool + | + | set_strmem_type(self, *args) -> 'bool' + | set_strmem_type(self, sptr, mptr) -> bool + | + | set_valid(self, *args) -> 'void' + | set_valid(self, v) + | + | set_visible(self, *args) -> 'void' + | set_visible(self, v) + | + | split_item(self, *args) -> 'bool' + | split_item(self, split) -> bool + | + | switch_to(self, *args) -> 'void' + | switch_to(self, f, activate) + | + | ui_edit_lvar_cmt(self, *args) -> 'bool' + | ui_edit_lvar_cmt(self, v) -> bool + | + | ui_map_lvar(self, *args) -> 'bool' + | ui_map_lvar(self, v) -> bool + | + | ui_rename_lvar(self, *args) -> 'bool' + | ui_rename_lvar(self, v) -> bool + | + | ui_set_call_type(self, *args) -> 'bool' + | ui_set_call_type(self, e) -> bool + | + | ui_set_lvar_type(self, *args) -> 'bool' + | ui_set_lvar_type(self, v) -> bool + | + | ui_unmap_lvar(self, *args) -> 'bool' + | ui_unmap_lvar(self, v) -> bool + | + | valid(self, *args) -> 'bool' + | valid(self) -> bool + | + | visible(self, *args) -> 'bool' + | visible(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cfunc + | vdui_t_cfunc_get(self) -> cfuncptr_t + | + | cpos + | vdui_t_cpos_get(self) -> ctext_position_t + | + | ct + | vdui_t_ct_get(self) -> TWidget * + | + | flags + | vdui_t_flags_get(self) -> int + | + | head + | vdui_t_head_get(self) -> ctree_item_t + | + | item + | vdui_t_item_get(self) -> ctree_item_t + | + | last_code + | vdui_t_last_code_get(self) -> merror_t + | + | mba + | vdui_t_mba_get(self) -> mbl_array_t + | + | tail + | vdui_t_tail_get(self) -> ctree_item_t + | + | thisown + | The membership flag + | + | toplevel + | vdui_t_toplevel_get(self) -> TWidget * + | + | view_idx + | vdui_t_view_idx_get(self) -> int + +Help on class vivl_t in module ida_hexrays: + +class vivl_t(voff_t) + | Proxy of C++ vivl_t class. + | + | Method resolution order: + | vivl_t + | voff_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | __eq__(self, mop) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _type=mop_z, _off=-1, _size=0) -> vivl_t + | __init__(self, ch) -> vivl_t + | __init__(self, op) -> vivl_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_vivl_t(...) + | delete_vivl_t(self) + | + | _print(self, *args) -> 'void' + | _print(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, voff2) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | extend_to_cover(self, *args) -> 'bool' + | extend_to_cover(self, r) -> bool + | + | includes(self, *args) -> 'bool' + | includes(self, r) -> bool + | + | intersect(self, *args) -> 'uval_t' + | intersect(self, r) -> uval_t + | + | overlap(self, *args) -> 'bool' + | overlap(self, r) -> bool + | + | set(self, *args) -> 'void' + | set(self, _type, _off, _size=0) + | set(self, voff, _size) + | + | set_reg(self, *args) -> 'void' + | set_reg(self, mreg, sz=0) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, stkoff, sz=0) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | size + | vivl_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from voff_t: + | + | add(self, *args) -> 'voff_t' + | add(self, width) -> voff_t + | + | defined(self, *args) -> 'bool' + | defined(self) -> bool + | + | diff(self, *args) -> 'sval_t' + | diff(self, r) -> sval_t + | + | get_reg(self, *args) -> 'mreg_t' + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) -> 'sval_t' + | get_stkoff(self) -> sval_t + | + | inc(self, *args) -> 'void' + | inc(self, delta) + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | undef(self, *args) -> 'void' + | undef(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from voff_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | voff_t_off_get(self) -> sval_t + | + | type + | voff_t_type_get(self) -> mopt_t + +Help on class voff_t in module ida_hexrays: + +class voff_t(builtins.object) + | Proxy of C++ voff_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> voff_t + | __init__(self, _type, _off) -> voff_t + | __init__(self, op) -> voff_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_voff_t(...) + | delete_voff_t(self) + | + | add(self, *args) -> 'voff_t' + | add(self, width) -> voff_t + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | defined(self, *args) -> 'bool' + | defined(self) -> bool + | + | diff(self, *args) -> 'sval_t' + | diff(self, r) -> sval_t + | + | get_reg(self, *args) -> 'mreg_t' + | get_reg(self) -> mreg_t + | + | get_stkoff(self, *args) -> 'sval_t' + | get_stkoff(self) -> sval_t + | + | inc(self, *args) -> 'void' + | inc(self, delta) + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | set(self, *args) -> 'void' + | set(self, _type, _off) + | + | set_reg(self, *args) -> 'void' + | set_reg(self, mreg) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, stkoff) + | + | undef(self, *args) -> 'void' + | undef(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | voff_t_off_get(self) -> sval_t + | + | thisown + | The membership flag + | + | type + | voff_t_type_get(self) -> mopt_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +=== ida_hexrays EPYDOC INJECTIONS === +ida_hexrays.ACFL_BLKOPT +""" +perform interblock transformations +""" + +ida_hexrays.ACFL_GLBDEL +""" +perform dead code eliminition +""" + +ida_hexrays.ACFL_GLBPROP +""" +perform global propagation +""" + +ida_hexrays.ACFL_GUESS +""" +may guess calling conventions +""" + +ida_hexrays.ACFL_LOCOPT +""" +perform local propagation (requires ACFL_BLKOPT) +""" + +ida_hexrays.ANCHOR_BLKCMT +""" +block comment (for ctree items) +""" + +ida_hexrays.ANCHOR_CITEM +""" +c-tree item +""" + +ida_hexrays.ANCHOR_ITP +""" +item type preciser +""" + +ida_hexrays.ANCHOR_LVAR +""" +declaration of local variable +""" + +ida_hexrays.CFL_FINAL +""" +call type is final, should not be changed +""" + +ida_hexrays.CFL_HELPER +""" +created from a decompiler helper function +""" + +ida_hexrays.CFS_BOUNDS +""" +'eamap' and 'boundaries' are ready +""" + +ida_hexrays.CFS_LVARS_HIDDEN +""" +local variable definitions are collapsed +""" + +ida_hexrays.CFS_TEXT +""" +'sv' is ready (and hdrlines) +""" + +ida_hexrays.CHF_FAKE +""" +fake chain created by widen_chains() +""" + +ida_hexrays.CHF_INITED +""" +is chain initialized? (valid only after lvar allocation) +""" + +ida_hexrays.CHF_OVER +""" +overlapped chain +""" + +ida_hexrays.CHF_PASSTHRU +""" +pass-thru chain, must use the input variable to the block +""" + +ida_hexrays.CHF_REPLACED +""" +chain operands have been replaced? +""" + +ida_hexrays.CHF_TERM +""" +terminating chain; the variable does not survive across the block +""" + +ida_hexrays.CIT_COLLAPSED +""" +display element in collapsed form +""" + +ida_hexrays.CPBLK_FAST +""" +do not update minbstkref and minbargref +""" + +ida_hexrays.CPBLK_MINREF +""" +update minbstkref and minbargref +""" + +ida_hexrays.CPBLK_OPTJMP +""" +if it becomes useless + +del the jump insn at the end of the block +""" + +ida_hexrays.CV_FAST +""" +do not maintain parent information +""" + +ida_hexrays.CV_INSNS +""" +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. +""" + +ida_hexrays.CV_PARENTS +""" +maintain parent information +""" + +ida_hexrays.CV_POST +""" +call the leave...() functions +""" + +ida_hexrays.CV_PRUNE +""" +this bit is set by visit...() to prune the walk +""" + +ida_hexrays.CV_RESTART +""" +restart enumeration at the top expr (apply_to_exprs) +""" + +ida_hexrays.DECOMP_ALL_BLKS +""" +generate microcode for unreachable blocks +""" + +ida_hexrays.DECOMP_NO_CACHE +""" +do not use decompilation cache +""" + +ida_hexrays.DECOMP_NO_FRAME +""" +do not use function frame info (only snippet mode) +""" + +ida_hexrays.DECOMP_NO_WAIT +""" +do not display waitbox +""" + +ida_hexrays.DECOMP_WARNINGS +""" +display warnings in the output window +""" + +ida_hexrays.EQ_CMPDEST +""" +compare instruction destinations +""" + +ida_hexrays.EQ_IGNCODE +""" +ignore instruction opcodes +""" + +ida_hexrays.EQ_IGNSIZE +""" +ignore operand sizes +""" + +ida_hexrays.EQ_OPTINSN +""" +optimize mop_d operands +""" + +ida_hexrays.EXFL_ALL +""" +all currently defined bits +""" + +ida_hexrays.EXFL_ALONE +""" +standalone helper +""" + +ida_hexrays.EXFL_CPADONE +""" +pointer arithmetic correction done +""" + +ida_hexrays.EXFL_CSTR +""" +string literal +""" + +ida_hexrays.EXFL_FPOP +""" +floating point operation +""" + +ida_hexrays.EXFL_JUMPOUT +""" +jump out-of-function +""" + +ida_hexrays.EXFL_LVALUE +""" +expression is lvalue even if it doesn't look like it +""" + +ida_hexrays.EXFL_PARTIAL +""" +type of the expression is considered partial +""" + +ida_hexrays.EXFL_UNDEF +""" +expression uses undefined value +""" + +ida_hexrays.EXFL_VFTABLE +""" +is ptr to vftable (used for cot_memptr, cot_memref) +""" + +ida_hexrays.FCI_DEAD +""" +some return registers were determined dead +""" + +ida_hexrays.FCI_FINAL +""" +call type is final, should not be changed +""" + +ida_hexrays.FCI_HASCALL +""" +A function is an synthetic helper combined from several instructions +and at least one of them was a call to a real functions +""" + +ida_hexrays.FCI_HASFMT +""" +printf- or scanf-style format string + +A variadic function with recognized +""" + +ida_hexrays.FCI_NORET +""" +call does not return +""" + +ida_hexrays.FCI_NOSIDE +""" +call does not have side effects +""" + +ida_hexrays.FCI_PROP +""" +call has been propagated +""" + +ida_hexrays.FCI_PURE +""" +pure function +""" + +ida_hexrays.FCI_SPLOK +""" +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. +""" + +ida_hexrays.FD_BACKWARD +""" +search direction +""" + +ida_hexrays.FD_DEF +""" +look for definition +""" + +ida_hexrays.FD_DIRTY +""" +by function calls and indirect memory access + +ignore possible implicit definitions +""" + +ida_hexrays.FD_FORWARD +""" +search direction +""" + +ida_hexrays.FD_USE +""" +look for use +""" + +ida_hexrays.GCA_ALLOC +""" +enumerate only allocated chains +""" + +ida_hexrays.GCA_EMPTY +""" +include empty chains +""" + +ida_hexrays.GCA_NALLOC +""" +enumerate only non-allocated chains +""" + +ida_hexrays.GCA_OFIRST +""" +consider only chains of the first block +""" + +ida_hexrays.GCA_OLAST +""" +consider only chains of the last block +""" + +ida_hexrays.GCA_SPEC +""" +include chains for special registers +""" + +ida_hexrays.GCO_DEF +""" +is destination operand? +""" + +ida_hexrays.GCO_REG +""" +is register? otherwise a stack variable +""" + +ida_hexrays.GCO_STK +""" +a stack variable +""" + +ida_hexrays.GCO_USE +""" +is source operand? +""" + +ida_hexrays.GLN_ALL +""" +get both +""" + +ida_hexrays.GLN_CURRENT +""" +get label of the current item +""" + +ida_hexrays.GLN_GOTO_TARGET +""" +get goto target +""" + +ida_hexrays.IPROP_ASSERT +""" +assertion: usually mov #val, op. assertions are used to help the +optimizer. assertions are ignored when generating ctree +""" + +ida_hexrays.IPROP_CLNPOP +""" +(e.g. "pop ecx" is often used for that) + +the purpose of the instruction is to clean stack +""" + +ida_hexrays.IPROP_COMBINED +""" +insn has been modified because of a partial reference +""" + +ida_hexrays.IPROP_DONT_COMB +""" +may not combine this instruction with others +""" + +ida_hexrays.IPROP_DONT_PROP +""" +may not propagate +""" + +ida_hexrays.IPROP_EXTSTX +""" +this is m_ext propagated into m_stx +""" + +ida_hexrays.IPROP_FARCALL +""" +call of a far function using push cs/call sequence +""" + +ida_hexrays.IPROP_FPINSN +""" +floating point insn +""" + +ida_hexrays.IPROP_IGNLOWSRC +""" +low part of the instruction source operand has been created +artificially (this bit is used only for 'and x, 80...') +""" + +ida_hexrays.IPROP_INV_JX +""" +inverted conditional jump +""" + +ida_hexrays.IPROP_MBARRIER +""" +(instructions accessing memory may not be reordered past it) + +this instruction acts as a memory barrier +""" + +ida_hexrays.IPROP_MULTI_MOV +""" +(example: STM on ARM may transfer multiple registers) + +the minsn was generated as part of insn that moves multiple +registersbits that can be set by plugins: +""" + +ida_hexrays.IPROP_OPTIONAL +""" +optional instruction +""" + +ida_hexrays.IPROP_PERSIST +""" +persistent insn; they are not destroyed +""" + +ida_hexrays.IPROP_SPLIT +""" +the instruction has been split: +""" + +ida_hexrays.IPROP_SPLIT1 +""" +into 1 byte +""" + +ida_hexrays.IPROP_SPLIT2 +""" +into 2 bytes +""" + +ida_hexrays.IPROP_SPLIT4 +""" +into 4 bytes +""" + +ida_hexrays.IPROP_SPLIT8 +""" +into 8 bytes +""" + +ida_hexrays.IPROP_TAILCALL +""" +tail call +""" + +ida_hexrays.IPROP_WAS_NORET +""" +was noret icall +""" + +ida_hexrays.IPROP_WILDMATCH +""" +match multiple insns +""" + +ida_hexrays.LOCOPT_ALL +""" +is not set, only dirty blocks will be optimized + +redo optimization for all blocks. if this bit +""" + +ida_hexrays.LOCOPT_REFINE +""" +refine return type, ok to fail +""" + +ida_hexrays.LOCOPT_REFINE2 +""" +refine return type, try harder +""" + +ida_hexrays.LVINF_FORCE +""" +force allocation of a new variable. forces the decompiler to create a +new variable at ll.defea +""" + +ida_hexrays.LVINF_KEEP +""" +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. +""" + +ida_hexrays.LVINF_NOMAP +""" +forbid automatic mapping of the variable +""" + +ida_hexrays.LVINF_NOPTR +""" +variable type should not be a pointer +""" + +ida_hexrays.MBA_ASRPROP +""" +assertion have been propagated +""" + +ida_hexrays.MBA_ASRTOK +""" +assertions have been generated +""" + +ida_hexrays.MBA_CALLS +""" +callinfo has been built +""" + +ida_hexrays.MBA_CHVARS +""" +can verify chain varnums +""" + +ida_hexrays.MBA_CMBBLK +""" +request to combine blocks +""" + +ida_hexrays.MBA_CMNSTK +""" +stkvars+stkargs should be considered as one area +""" + +ida_hexrays.MBA_COLGDL +""" +display graph after each reduction +""" + +ida_hexrays.MBA_DELPAIRS +""" +pairs have been deleted once +""" + +ida_hexrays.MBA_GLBOPT +""" +microcode has been optimized globally +""" + +ida_hexrays.MBA_INSGDL +""" +display instruction in graphs +""" + +ida_hexrays.MBA_LOADED +""" +loaded gdl, no instructions (debugging) +""" + +ida_hexrays.MBA_LVARS0 +""" +lvar pre-allocation has been performed +""" + +ida_hexrays.MBA_LVARS1 +""" +lvar real allocation has been performed +""" + +ida_hexrays.MBA_NICE +""" +apply transformations to c code +""" + +ida_hexrays.MBA_NOFUNC +""" +function is not present, addresses might be wrong +""" + +ida_hexrays.MBA_NUMADDR +""" +display definition addresses for numbers +""" + +ida_hexrays.MBA_PASSREGS +""" +has 'mcallinfo_t::pass_regs' +""" + +ida_hexrays.MBA_PATTERN +""" +microcode pattern, callinfo is present +""" + +ida_hexrays.MBA_PRCDEFS +""" +use precise defeas for chain-allocated lvars +""" + +ida_hexrays.MBA_PREOPT +""" +preoptimization stage complete +""" + +ida_hexrays.MBA_REFINE +""" +may refine return value size +""" + +ida_hexrays.MBA_RETFP +""" +function returns floating point value +""" + +ida_hexrays.MBA_RETREF +""" +return type has been refined +""" + +ida_hexrays.MBA_SAVRST +""" +save-restore analysis has been performed +""" + +ida_hexrays.MBA_SHORT +""" +use short display +""" + +ida_hexrays.MBA_SPLINFO +""" +(final_type ? idb_spoiled : spoiled_regs) is valid +""" + +ida_hexrays.MBA_THUNK +""" +thunk function +""" + +ida_hexrays.MBA_VALNUM +""" +display value numbers +""" + +ida_hexrays.MBA_WINGR32 +""" +use wingraph32 +""" + +ida_hexrays.MBL_BACKPROP +""" +performed backprop_cc +""" + +ida_hexrays.MBL_CALL +""" +call information has been built +""" + +ida_hexrays.MBL_COMB +""" +needs "combine" pass +""" + +ida_hexrays.MBL_DEAD +""" +needs "eliminate deads" pass +""" + +ida_hexrays.MBL_DMT64 +""" +needs "demote 64bits" +""" + +ida_hexrays.MBL_DSLOT +""" +block for delay slot +""" + +ida_hexrays.MBL_FAKE +""" +fake block (after a tail call) +""" + +ida_hexrays.MBL_GOTO +""" +this block is a goto target +""" + +ida_hexrays.MBL_INCONST +""" +inconsistent lists: we are building them +""" + +ida_hexrays.MBL_LIST +""" +use/def lists are ready (not dirty) +""" + +ida_hexrays.MBL_NONFAKE +""" +regular block +""" + +ida_hexrays.MBL_NORET +""" +dead end block: doesn't return execution control +""" + +ida_hexrays.MBL_PRIV +""" +the specified are accepted (used in patterns) + +private block - no instructions except +""" + +ida_hexrays.MBL_PROP +""" +needs 'propagation' pass +""" + +ida_hexrays.MBL_PUSH +""" +needs "convert push/pop instructions" +""" + +ida_hexrays.MBL_TCAL +""" +aritifical call block for tail calls +""" + +ida_hexrays.MBL_VALRANGES +""" +should optimize using value ranges +""" + +ida_hexrays.MLI_CLR_FLAGS +""" +clear LVINF_... bits +""" + +ida_hexrays.MLI_CMT +""" +apply lvar comment +""" + +ida_hexrays.MLI_NAME +""" +apply lvar name +""" + +ida_hexrays.MLI_SET_FLAGS +""" +set LVINF_... bits +""" + +ida_hexrays.MLI_TYPE +""" +apply lvar type +""" + +ida_hexrays.NALT_VD +""" +this index is not used by ida +""" + +ida_hexrays.NF_BINVDONE +""" +temporary internal bit: inverting bits is done +""" + +ida_hexrays.NF_BITNOT +""" +The user asked to invert bits of the constant. +""" + +ida_hexrays.NF_FIXED +""" +number format has been defined by the user +""" + +ida_hexrays.NF_NEGATE +""" +The user asked to negate the constant. +""" + +ida_hexrays.NF_NEGDONE +""" +temporary internal bit: negation has been performed +""" + +ida_hexrays.NF_STROFF +""" +internal bit: used as stroff, valid iff 'is_stroff()' +""" + +ida_hexrays.OPROP_CCFLAGS +""" +condition codes register value +""" + +ida_hexrays.OPROP_FLOAT +""" +possibly floating value +""" + +ida_hexrays.OPROP_IMPDONE +""" +imported operand (a pointer) has been dereferenced +""" + +ida_hexrays.OPROP_UDEFVAL +""" +uses undefined value +""" + +ida_hexrays.OPROP_UDT +""" +a struct or union +""" + +ida_hexrays.OPTI_ADDREXPRS +""" +optimize all address expressions (&x+N; &x-&y) +""" + +ida_hexrays.OPTI_COMBINSNS +""" +may combine insns (only for optimize_insn) +""" + +ida_hexrays.OPTI_MINSTKREF +""" +may update minstkref +""" + +ida_hexrays.OPTI_NO_LDXOPT +""" +do not optimize low/high(ldx) +""" + +ida_hexrays.SHINS_LDXEA +""" +display address of ldx expressions (not used) +""" + +ida_hexrays.SHINS_NUMADDR +""" +display definition addresses for numbers +""" + +ida_hexrays.SHINS_SHORT +""" +do not display use-def chains and other attrs +""" + +ida_hexrays.SHINS_VALNUM +""" +display value numbers +""" + +ida_hexrays.ULV_PRECISE_DEFEA +""" +Use precise defea's for lvar locations. +""" + +ida_hexrays.VDRUN_APPEND +""" +Create a new file or append to existing file. +""" + +ida_hexrays.VDRUN_CMDLINE +""" +Called from ida's command line. +""" + +ida_hexrays.VDRUN_LUMINA +""" +Use lumina server. +""" + +ida_hexrays.VDRUN_MAYSTOP +""" +The user can cancel decompilation. +""" + +ida_hexrays.VDRUN_NEWFILE +""" +Create a new file or overwrite existing file. +""" + +ida_hexrays.VDRUN_ONLYNEW +""" +Fail if output file already exists. +""" + +ida_hexrays.VDRUN_SENDIDB +""" +Send problematic databases to hex-rays.com. +""" + +ida_hexrays.VDRUN_SILENT +""" +Silent decompilation. +""" + +ida_hexrays.VDRUN_STATS +""" +Print statistics into vd_stats.txt. +""" + +ida_hexrays.VDUI_LOCKED +""" +is locked? +""" + +ida_hexrays.VDUI_VALID +""" +is valid? +""" + +ida_hexrays.VDUI_VISIBLE +""" +is visible? +""" + +ida_hexrays.VR_AT_END +""" +get value ranges after the instruction or at the block end, just after +the last instruction (if M is NULL) +""" + +ida_hexrays.VR_AT_START +""" +at the block start (if M is NULL) + +get value ranges before the instruction or +""" + +ida_hexrays.VR_EXACT +""" +valrng size will be >= vivl.size + +find exact match. if not set, the returned +""" +=== ida_hexrays EPYDOC INJECTIONS END === +Help on function __make_idainfo_accessors in module ida_ida: + +__make_idainfo_accessors(attr, getter_name=None, setter_name=None) + +Help on function __make_idainfo_bound in module ida_ida: + +__make_idainfo_bound(func, attr) + # + +Help on function __make_idainfo_getter in module ida_ida: + +__make_idainfo_getter(name) + +Help on function calc_default_idaplace_flags in module ida_ida: + +calc_default_idaplace_flags(*args) -> 'int' + calc_default_idaplace_flags() -> int + + + Get default disassembly line options. + +Help on class compiler_info_t in module ida_ida: + +class compiler_info_t(builtins.object) + | Proxy of C++ compiler_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> compiler_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_compiler_info_t(...) + | delete_compiler_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cm + | compiler_info_t_cm_get(self) -> cm_t + | + | defalign + | compiler_info_t_defalign_get(self) -> uchar + | + | id + | compiler_info_t_id_get(self) -> comp_t + | + | size_b + | compiler_info_t_size_b_get(self) -> uchar + | + | size_e + | compiler_info_t_size_e_get(self) -> uchar + | + | size_i + | compiler_info_t_size_i_get(self) -> uchar + | + | size_l + | compiler_info_t_size_l_get(self) -> uchar + | + | size_ldbl + | compiler_info_t_size_ldbl_get(self) -> uchar + | + | size_ll + | compiler_info_t_size_ll_get(self) -> uchar + | + | size_s + | compiler_info_t_size_s_get(self) -> uchar + | + | thisown + | The membership flag + +Help on class idainfo in module ida_ida: + +class idainfo(builtins.object) + | Proxy of C++ idainfo class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | big_arg_align = __func(self, *args) + | + | gen_lzero = __func(self, *args) + | + | gen_null = __func(self, *args) + | + | gen_tryblks = __func(self, *args) + | + | get_abiname(self, *args) -> 'qstring' + | get_abiname(self) -> qstring + | + | get_demname_form = __func(self, *args) + | + | get_maxEA(self, *args) -> 'ea_t' + | get_maxEA(self) -> ea_t + | + | get_minEA(self, *args) -> 'ea_t' + | get_minEA(self) -> ea_t + | + | get_pack_mode = __func(self, *args) + | + | get_procName(self, *args) -> 'qstring' + | get_procName(self) -> qstring + | + | is_32bit = __func(self, *args) + | + | is_64bit = __func(self, *args) + | + | is_auto_enabled = __func(self, *args) + | + | is_be = __func(self, *args) + | + | is_dll = __func(self, *args) + | + | is_flat_off32 = __func(self, *args) + | + | is_graph_view = __func(self, *args) + | + | is_hard_float = __func(self, *args) + | + | is_kernel_mode = __func(self, *args) + | + | is_mem_aligned4 = __func(self, *args) + | + | is_snapshot = __func(self, *args) + | + | is_wide_high_byte_first = __func(self, *args) + | + | like_binary = __func(self, *args) + | + | line_pref_with_seg = __func(self, *args) + | + | loading_idc = __func(self, *args) + | + | map_stkargs = __func(self, *args) + | + | pack_stkargs = __func(self, *args) + | + | readonly_idb = __func(self, *args) + | + | set_64bit = __func(self, *args) + | + | set_auto_enabled = __func(self, *args) + | + | set_be = __func(self, *args) + | + | set_gen_lzero = __func(self, *args) + | + | set_gen_null = __func(self, *args) + | + | set_gen_tryblks = __func(self, *args) + | + | set_graph_view = __func(self, *args) + | + | set_line_pref_with_seg = __func(self, *args) + | + | set_maxEA(self, *args) -> 'void' + | set_maxEA(self, ea) + | + | set_minEA(self, *args) -> 'void' + | set_minEA(self, ea) + | + | set_pack_mode = __func(self, *args) + | + | set_show_auto = __func(self, *args) + | + | set_show_line_pref = __func(self, *args) + | + | set_show_void = __func(self, *args) + | + | set_wide_high_byte_first = __func(self, *args) + | + | show_auto = __func(self, *args) + | + | show_line_pref = __func(self, *args) + | + | show_void = __func(self, *args) + | + | stack_ldbl = __func(self, *args) + | + | stack_varargs = __func(self, *args) + | + | use_allasm = __func(self, *args) + | + | use_gcc_layout = __func(self, *args) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | abibits + | idainfo_abibits_get(self) -> uint32 + | + | abiname + | get_abiname(self) -> qstring + | + | af + | idainfo_af_get(self) -> uint32 + | + | af2 + | idainfo_af2_get(self) -> uint32 + | + | appcall_options + | idainfo_appcall_options_get(self) -> uint32 + | + | apptype + | idainfo_apptype_get(self) -> ushort + | + | asmtype + | idainfo_asmtype_get(self) -> uchar + | + | baseaddr + | idainfo_baseaddr_get(self) -> uval_t + | + | bin_prefix_size + | idainfo_bin_prefix_size_get(self) -> short + | + | cc + | idainfo_cc_get(self) -> compiler_info_t + | + | comment + | idainfo_comment_get(self) -> uchar + | + | database_change_count + | idainfo_database_change_count_get(self) -> uint32 + | + | datatypes + | idainfo_datatypes_get(self) -> uval_t + | + | demnames + | idainfo_demnames_get(self) -> uchar + | + | filetype + | idainfo_filetype_get(self) -> ushort + | + | highoff + | idainfo_highoff_get(self) -> ea_t + | + | indent + | idainfo_indent_get(self) -> uchar + | + | lenxref + | idainfo_lenxref_get(self) -> ushort + | + | lflags + | idainfo_lflags_get(self) -> uint32 + | + | listnames + | idainfo_listnames_get(self) -> uchar + | + | long_demnames + | idainfo_long_demnames_get(self) -> uint32 + | + | lowoff + | idainfo_lowoff_get(self) -> ea_t + | + | main + | idainfo_main_get(self) -> ea_t + | + | margin + | idainfo_margin_get(self) -> ushort + | + | maxEA + | get_maxEA(self) -> ea_t + | + | max_autoname_len + | idainfo_max_autoname_len_get(self) -> ushort + | + | max_ea + | idainfo_max_ea_get(self) -> ea_t + | + | maxref + | idainfo_maxref_get(self) -> uval_t + | + | minEA + | get_minEA(self) -> ea_t + | + | min_ea + | idainfo_min_ea_get(self) -> ea_t + | + | nametype + | idainfo_nametype_get(self) -> char + | + | omax_ea + | idainfo_omax_ea_get(self) -> ea_t + | + | omin_ea + | idainfo_omin_ea_get(self) -> ea_t + | + | ostype + | idainfo_ostype_get(self) -> ushort + | + | outflags + | idainfo_outflags_get(self) -> uint32 + | + | procName + | get_procName(self) -> qstring + | + | procname + | idainfo_procname_get(self) -> char [16] + | + | refcmtnum + | idainfo_refcmtnum_get(self) -> uchar + | + | s_cmtflg + | idainfo_s_cmtflg_get(self) -> uchar + | + | s_genflags + | idainfo_s_genflags_get(self) -> ushort + | + | s_limiter + | idainfo_s_limiter_get(self) -> uchar + | + | s_prefflag + | idainfo_s_prefflag_get(self) -> uchar + | + | s_xrefflag + | idainfo_s_xrefflag_get(self) -> uchar + | + | short_demnames + | idainfo_short_demnames_get(self) -> uint32 + | + | specsegs + | idainfo_specsegs_get(self) -> uchar + | + | start_cs + | idainfo_start_cs_get(self) -> sel_t + | + | start_ea + | idainfo_start_ea_get(self) -> ea_t + | + | start_ip + | idainfo_start_ip_get(self) -> ea_t + | + | start_sp + | idainfo_start_sp_get(self) -> ea_t + | + | start_ss + | idainfo_start_ss_get(self) -> sel_t + | + | strlit_break + | idainfo_strlit_break_get(self) -> uchar + | + | strlit_flags + | idainfo_strlit_flags_get(self) -> uchar + | + | strlit_pref + | idainfo_strlit_pref_get(self) -> char [16] + | + | strlit_sernum + | idainfo_strlit_sernum_get(self) -> uval_t + | + | strlit_zeroes + | idainfo_strlit_zeroes_get(self) -> char + | + | strtype + | idainfo_strtype_get(self) -> int32 + | + | tag + | idainfo_tag_get(self) -> char [3] + | + | thisown + | The membership flag + | + | type_xrefnum + | idainfo_type_xrefnum_get(self) -> uchar + | + | version + | idainfo_version_get(self) -> ushort + | + | xrefnum + | idainfo_xrefnum_get(self) -> uchar + +Help on function inf_big_arg_align in module ida_ida: + +inf_big_arg_align(*args) -> 'bool' + inf_big_arg_align() -> bool + +Help on function inf_gen_lzero in module ida_ida: + +inf_gen_lzero(*args) -> 'bool' + inf_gen_lzero() -> bool + +Help on function inf_gen_null in module ida_ida: + +inf_gen_null(*args) -> 'bool' + inf_gen_null() -> bool + +Help on function inf_gen_tryblks in module ida_ida: + +inf_gen_tryblks(*args) -> 'bool' + inf_gen_tryblks() -> bool + +Help on function inf_get_demname_form in module ida_ida: + +inf_get_demname_form(*args) -> 'uchar' + inf_get_demname_form() -> uchar + + + Get 'DEMNAM_MASK' bits of #demnames. + +Help on function inf_get_pack_mode in module ida_ida: + +inf_get_pack_mode(*args) -> 'int' + inf_get_pack_mode() -> int + +Help on function inf_is_32bit in module ida_ida: + +inf_is_32bit(*args) -> 'bool' + inf_is_32bit() -> bool + +Help on function inf_is_64bit in module ida_ida: + +inf_is_64bit(*args) -> 'bool' + inf_is_64bit() -> bool + +Help on function inf_is_auto_enabled in module ida_ida: + +inf_is_auto_enabled(*args) -> 'bool' + inf_is_auto_enabled() -> bool + +Help on function inf_is_be in module ida_ida: + +inf_is_be(*args) -> 'bool' + inf_is_be() -> bool + +Help on function inf_is_dll in module ida_ida: + +inf_is_dll(*args) -> 'bool' + inf_is_dll() -> bool + +Help on function inf_is_flat_off32 in module ida_ida: + +inf_is_flat_off32(*args) -> 'bool' + inf_is_flat_off32() -> bool + +Help on function inf_is_graph_view in module ida_ida: + +inf_is_graph_view(*args) -> 'bool' + inf_is_graph_view() -> bool + +Help on function inf_is_hard_float in module ida_ida: + +inf_is_hard_float(*args) -> 'bool' + inf_is_hard_float() -> bool + +Help on function inf_is_kernel_mode in module ida_ida: + +inf_is_kernel_mode(*args) -> 'bool' + inf_is_kernel_mode() -> bool + +Help on function inf_is_mem_aligned4 in module ida_ida: + +inf_is_mem_aligned4(*args) -> 'bool' + inf_is_mem_aligned4() -> bool + +Help on function inf_is_snapshot in module ida_ida: + +inf_is_snapshot(*args) -> 'bool' + inf_is_snapshot() -> bool + +Help on function inf_is_wide_high_byte_first in module ida_ida: + +inf_is_wide_high_byte_first(*args) -> 'bool' + inf_is_wide_high_byte_first() -> bool + +Help on function inf_like_binary in module ida_ida: + +inf_like_binary(*args) -> 'bool' + inf_like_binary() -> bool + +Help on function inf_line_pref_with_seg in module ida_ida: + +inf_line_pref_with_seg(*args) -> 'bool' + inf_line_pref_with_seg() -> bool + +Help on function inf_loading_idc in module ida_ida: + +inf_loading_idc(*args) -> 'bool' + inf_loading_idc() -> bool + +Help on function inf_map_stkargs in module ida_ida: + +inf_map_stkargs(*args) -> 'bool' + inf_map_stkargs() -> bool + +Help on function inf_pack_stkargs in module ida_ida: + +inf_pack_stkargs(*args) -> 'bool' + inf_pack_stkargs() -> bool + +Help on function inf_readonly_idb in module ida_ida: + +inf_readonly_idb(*args) -> 'bool' + inf_readonly_idb() -> bool + +Help on function inf_set_64bit in module ida_ida: + +inf_set_64bit(*args) -> 'bool' + inf_set_64bit(_v=True) -> bool + +Help on function inf_set_auto_enabled in module ida_ida: + +inf_set_auto_enabled(*args) -> 'bool' + inf_set_auto_enabled(_v=True) -> bool + +Help on function inf_set_be in module ida_ida: + +inf_set_be(*args) -> 'bool' + inf_set_be(_v=True) -> bool + +Help on function inf_set_gen_lzero in module ida_ida: + +inf_set_gen_lzero(*args) -> 'bool' + inf_set_gen_lzero(_v=True) -> bool + +Help on function inf_set_gen_null in module ida_ida: + +inf_set_gen_null(*args) -> 'bool' + inf_set_gen_null(_v=True) -> bool + +Help on function inf_set_gen_tryblks in module ida_ida: + +inf_set_gen_tryblks(*args) -> 'bool' + inf_set_gen_tryblks(_v=True) -> bool + +Help on function inf_set_graph_view in module ida_ida: + +inf_set_graph_view(*args) -> 'bool' + inf_set_graph_view(_v=True) -> bool + +Help on function inf_set_line_pref_with_seg in module ida_ida: + +inf_set_line_pref_with_seg(*args) -> 'bool' + inf_set_line_pref_with_seg(_v=True) -> bool + +Help on function inf_set_pack_mode in module ida_ida: + +inf_set_pack_mode(*args) -> 'int' + inf_set_pack_mode(pack_mode) -> int + +Help on function inf_set_show_auto in module ida_ida: + +inf_set_show_auto(*args) -> 'bool' + inf_set_show_auto(_v=True) -> bool + +Help on function inf_set_show_line_pref in module ida_ida: + +inf_set_show_line_pref(*args) -> 'bool' + inf_set_show_line_pref(_v=True) -> bool + +Help on function inf_set_show_void in module ida_ida: + +inf_set_show_void(*args) -> 'bool' + inf_set_show_void(_v=True) -> bool + +Help on function in module ida_ida: + + lambda *args + +Help on function inf_set_wide_high_byte_first in module ida_ida: + +inf_set_wide_high_byte_first(*args) -> 'bool' + inf_set_wide_high_byte_first(_v=True) -> bool + +Help on function inf_show_auto in module ida_ida: + +inf_show_auto(*args) -> 'bool' + inf_show_auto() -> bool + +Help on function inf_show_line_pref in module ida_ida: + +inf_show_line_pref(*args) -> 'bool' + inf_show_line_pref() -> bool + +Help on function inf_show_void in module ida_ida: + +inf_show_void(*args) -> 'bool' + inf_show_void() -> bool + +Help on function inf_stack_ldbl in module ida_ida: + +inf_stack_ldbl(*args) -> 'bool' + inf_stack_ldbl() -> bool + +Help on function inf_stack_varargs in module ida_ida: + +inf_stack_varargs(*args) -> 'bool' + inf_stack_varargs() -> bool + +Help on function inf_use_allasm in module ida_ida: + +inf_use_allasm(*args) -> 'bool' + inf_use_allasm() -> bool + +Help on function inf_use_gcc_layout in module ida_ida: + +inf_use_gcc_layout(*args) -> 'bool' + inf_use_gcc_layout() -> bool + +Help on function inf_abi_set_by_user in module ida_ida: + +inf_abi_set_by_user(*args) -> 'bool' + inf_abi_set_by_user() -> bool + +Help on function inf_allow_non_matched_ops in module ida_ida: + +inf_allow_non_matched_ops(*args) -> 'bool' + inf_allow_non_matched_ops() -> bool + +Help on function inf_allow_sigmulti in module ida_ida: + +inf_allow_sigmulti(*args) -> 'bool' + inf_allow_sigmulti() -> bool + +Help on function inf_append_sigcmt in module ida_ida: + +inf_append_sigcmt(*args) -> 'bool' + inf_append_sigcmt() -> bool + +Help on function inf_check_manual_ops in module ida_ida: + +inf_check_manual_ops(*args) -> 'bool' + inf_check_manual_ops() -> bool + +Help on function inf_check_unicode_strlits in module ida_ida: + +inf_check_unicode_strlits(*args) -> 'bool' + inf_check_unicode_strlits() -> bool + +Help on function inf_coagulate_code in module ida_ida: + +inf_coagulate_code(*args) -> 'bool' + inf_coagulate_code() -> bool + +Help on function inf_coagulate_data in module ida_ida: + +inf_coagulate_data(*args) -> 'bool' + inf_coagulate_data() -> bool + +Help on function inf_compress_idb in module ida_ida: + +inf_compress_idb(*args) -> 'bool' + inf_compress_idb() -> bool + +Help on function inf_create_all_xrefs in module ida_ida: + +inf_create_all_xrefs(*args) -> 'bool' + inf_create_all_xrefs() -> bool + +Help on function inf_create_func_from_call in module ida_ida: + +inf_create_func_from_call(*args) -> 'bool' + inf_create_func_from_call() -> bool + +Help on function inf_create_func_from_ptr in module ida_ida: + +inf_create_func_from_ptr(*args) -> 'bool' + inf_create_func_from_ptr() -> bool + +Help on function inf_create_func_tails in module ida_ida: + +inf_create_func_tails(*args) -> 'bool' + inf_create_func_tails() -> bool + +Help on function inf_create_jump_tables in module ida_ida: + +inf_create_jump_tables(*args) -> 'bool' + inf_create_jump_tables() -> bool + +Help on function inf_create_off_on_dref in module ida_ida: + +inf_create_off_on_dref(*args) -> 'bool' + inf_create_off_on_dref() -> bool + +Help on function inf_create_off_using_fixup in module ida_ida: + +inf_create_off_using_fixup(*args) -> 'bool' + inf_create_off_using_fixup() -> bool + +Help on function inf_create_strlit_on_xref in module ida_ida: + +inf_create_strlit_on_xref(*args) -> 'bool' + inf_create_strlit_on_xref() -> bool + +Help on function inf_data_offset in module ida_ida: + +inf_data_offset(*args) -> 'bool' + inf_data_offset() -> bool + +Help on function inf_dbg_no_store_path in module ida_ida: + +inf_dbg_no_store_path(*args) -> 'bool' + inf_dbg_no_store_path() -> bool + +Help on function inf_decode_fpp in module ida_ida: + +inf_decode_fpp(*args) -> 'bool' + inf_decode_fpp() -> bool + +Help on function inf_del_no_xref_insns in module ida_ida: + +inf_del_no_xref_insns(*args) -> 'bool' + inf_del_no_xref_insns() -> bool + +Help on function inf_final_pass in module ida_ida: + +inf_final_pass(*args) -> 'bool' + inf_final_pass() -> bool + +Help on function inf_full_sp_ana in module ida_ida: + +inf_full_sp_ana(*args) -> 'bool' + inf_full_sp_ana() -> bool + +Help on function inf_gen_assume in module ida_ida: + +inf_gen_assume(*args) -> 'bool' + inf_gen_assume() -> bool + +Help on function inf_gen_org in module ida_ida: + +inf_gen_org(*args) -> 'bool' + inf_gen_org() -> bool + +Help on function inf_get_abibits in module ida_ida: + +inf_get_abibits(*args) -> 'uint32' + inf_get_abibits() -> uint32 + +Help on function inf_get_af in module ida_ida: + +inf_get_af(*args) -> 'uint32' + inf_get_af() -> uint32 + +Help on function inf_get_af2 in module ida_ida: + +inf_get_af2(*args) -> 'uint32' + inf_get_af2() -> uint32 + +Help on function inf_get_af2_low in module ida_ida: + +inf_get_af2_low(*args) -> 'ushort' + inf_get_af2_low() -> ushort + + + Get/set low 16bit half of inf.af2. + +Help on function inf_get_af_high in module ida_ida: + +inf_get_af_high(*args) -> 'ushort' + inf_get_af_high() -> ushort + +Help on function inf_get_af_low in module ida_ida: + +inf_get_af_low(*args) -> 'ushort' + inf_get_af_low() -> ushort + + + Get/set low/high 16bit halves of inf.af. + +Help on function inf_get_appcall_options in module ida_ida: + +inf_get_appcall_options(*args) -> 'uint32' + inf_get_appcall_options() -> uint32 + +Help on function inf_get_apptype in module ida_ida: + +inf_get_apptype(*args) -> 'ushort' + inf_get_apptype() -> ushort + +Help on function inf_get_asmtype in module ida_ida: + +inf_get_asmtype(*args) -> 'uchar' + inf_get_asmtype() -> uchar + +Help on function inf_get_baseaddr in module ida_ida: + +inf_get_baseaddr(*args) -> 'uval_t' + inf_get_baseaddr() -> uval_t + +Help on function inf_get_bin_prefix_size in module ida_ida: + +inf_get_bin_prefix_size(*args) -> 'short' + inf_get_bin_prefix_size() -> short + +Help on function inf_get_cc in module ida_ida: + +inf_get_cc(*args) -> 'bool' + inf_get_cc(out) -> bool + +Help on function inf_get_cc_cm in module ida_ida: + +inf_get_cc_cm(*args) -> 'cm_t' + inf_get_cc_cm() -> cm_t + +Help on function inf_get_cc_defalign in module ida_ida: + +inf_get_cc_defalign(*args) -> 'uchar' + inf_get_cc_defalign() -> uchar + +Help on function inf_get_cc_id in module ida_ida: + +inf_get_cc_id(*args) -> 'comp_t' + inf_get_cc_id() -> comp_t + +Help on function inf_get_cc_size_b in module ida_ida: + +inf_get_cc_size_b(*args) -> 'uchar' + inf_get_cc_size_b() -> uchar + +Help on function inf_get_cc_size_e in module ida_ida: + +inf_get_cc_size_e(*args) -> 'uchar' + inf_get_cc_size_e() -> uchar + +Help on function inf_get_cc_size_i in module ida_ida: + +inf_get_cc_size_i(*args) -> 'uchar' + inf_get_cc_size_i() -> uchar + +Help on function inf_get_cc_size_l in module ida_ida: + +inf_get_cc_size_l(*args) -> 'uchar' + inf_get_cc_size_l() -> uchar + +Help on function inf_get_cc_size_ldbl in module ida_ida: + +inf_get_cc_size_ldbl(*args) -> 'uchar' + inf_get_cc_size_ldbl() -> uchar + +Help on function inf_get_cc_size_ll in module ida_ida: + +inf_get_cc_size_ll(*args) -> 'uchar' + inf_get_cc_size_ll() -> uchar + +Help on function inf_get_cc_size_s in module ida_ida: + +inf_get_cc_size_s(*args) -> 'uchar' + inf_get_cc_size_s() -> uchar + +Help on function inf_get_cmtflg in module ida_ida: + +inf_get_cmtflg(*args) -> 'uchar' + inf_get_cmtflg() -> uchar + +Help on function inf_get_comment in module ida_ida: + +inf_get_comment(*args) -> 'uchar' + inf_get_comment() -> uchar + +Help on function inf_get_database_change_count in module ida_ida: + +inf_get_database_change_count(*args) -> 'uint32' + inf_get_database_change_count() -> uint32 + +Help on function inf_get_datatypes in module ida_ida: + +inf_get_datatypes(*args) -> 'uval_t' + inf_get_datatypes() -> uval_t + +Help on function inf_get_demnames in module ida_ida: + +inf_get_demnames(*args) -> 'uchar' + inf_get_demnames() -> uchar + +Help on function inf_get_filetype in module ida_ida: + +inf_get_filetype(*args) -> 'filetype_t' + inf_get_filetype() -> filetype_t + +Help on function inf_get_genflags in module ida_ida: + +inf_get_genflags(*args) -> 'ushort' + inf_get_genflags() -> ushort + +Help on function inf_get_highoff in module ida_ida: + +inf_get_highoff(*args) -> 'ea_t' + inf_get_highoff() -> ea_t + +Help on function inf_get_indent in module ida_ida: + +inf_get_indent(*args) -> 'uchar' + inf_get_indent() -> uchar + +Help on function inf_get_lenxref in module ida_ida: + +inf_get_lenxref(*args) -> 'ushort' + inf_get_lenxref() -> ushort + +Help on function inf_get_lflags in module ida_ida: + +inf_get_lflags(*args) -> 'uint32' + inf_get_lflags() -> uint32 + +Help on function inf_get_limiter in module ida_ida: + +inf_get_limiter(*args) -> 'uchar' + inf_get_limiter() -> uchar + +Help on function inf_get_listnames in module ida_ida: + +inf_get_listnames(*args) -> 'uchar' + inf_get_listnames() -> uchar + +Help on function inf_get_long_demnames in module ida_ida: + +inf_get_long_demnames(*args) -> 'uint32' + inf_get_long_demnames() -> uint32 + +Help on function inf_get_lowoff in module ida_ida: + +inf_get_lowoff(*args) -> 'ea_t' + inf_get_lowoff() -> ea_t + +Help on function inf_get_main in module ida_ida: + +inf_get_main(*args) -> 'ea_t' + inf_get_main() -> ea_t + +Help on function inf_get_margin in module ida_ida: + +inf_get_margin(*args) -> 'ushort' + inf_get_margin() -> ushort + +Help on function inf_get_max_autoname_len in module ida_ida: + +inf_get_max_autoname_len(*args) -> 'ushort' + inf_get_max_autoname_len() -> ushort + +Help on function inf_get_max_ea in module ida_ida: + +inf_get_max_ea(*args) -> 'ea_t' + inf_get_max_ea() -> ea_t + +Help on function inf_get_maxref in module ida_ida: + +inf_get_maxref(*args) -> 'uval_t' + inf_get_maxref() -> uval_t + +Help on function inf_get_min_ea in module ida_ida: + +inf_get_min_ea(*args) -> 'ea_t' + inf_get_min_ea() -> ea_t + +Help on function inf_get_nametype in module ida_ida: + +inf_get_nametype(*args) -> 'char' + inf_get_nametype() -> char + +Help on function inf_get_netdelta in module ida_ida: + +inf_get_netdelta(*args) -> 'sval_t' + inf_get_netdelta() -> sval_t + +Help on function inf_get_omax_ea in module ida_ida: + +inf_get_omax_ea(*args) -> 'ea_t' + inf_get_omax_ea() -> ea_t + +Help on function inf_get_omin_ea in module ida_ida: + +inf_get_omin_ea(*args) -> 'ea_t' + inf_get_omin_ea() -> ea_t + +Help on function inf_get_ostype in module ida_ida: + +inf_get_ostype(*args) -> 'ushort' + inf_get_ostype() -> ushort + +Help on function inf_get_outflags in module ida_ida: + +inf_get_outflags(*args) -> 'uint32' + inf_get_outflags() -> uint32 + +Help on function inf_get_prefflag in module ida_ida: + +inf_get_prefflag(*args) -> 'uchar' + inf_get_prefflag() -> uchar + +Help on function inf_get_privrange in module ida_ida: + +inf_get_privrange(*args) -> 'range_t' + inf_get_privrange(out) -> bool + inf_get_privrange() -> range_t + +Help on function inf_get_privrange_end_ea in module ida_ida: + +inf_get_privrange_end_ea(*args) -> 'ea_t' + inf_get_privrange_end_ea() -> ea_t + +Help on function inf_get_privrange_start_ea in module ida_ida: + +inf_get_privrange_start_ea(*args) -> 'ea_t' + inf_get_privrange_start_ea() -> ea_t + +Help on function inf_get_procname in module ida_ida: + +inf_get_procname(*args) -> 'size_t' + inf_get_procname() -> str + +Help on function inf_get_refcmtnum in module ida_ida: + +inf_get_refcmtnum(*args) -> 'uchar' + inf_get_refcmtnum() -> uchar + +Help on function inf_get_short_demnames in module ida_ida: + +inf_get_short_demnames(*args) -> 'uint32' + inf_get_short_demnames() -> uint32 + +Help on function inf_get_specsegs in module ida_ida: + +inf_get_specsegs(*args) -> 'uchar' + inf_get_specsegs() -> uchar + +Help on function inf_get_start_cs in module ida_ida: + +inf_get_start_cs(*args) -> 'sel_t' + inf_get_start_cs() -> sel_t + +Help on function inf_get_start_ea in module ida_ida: + +inf_get_start_ea(*args) -> 'ea_t' + inf_get_start_ea() -> ea_t + +Help on function inf_get_start_ip in module ida_ida: + +inf_get_start_ip(*args) -> 'ea_t' + inf_get_start_ip() -> ea_t + +Help on function inf_get_start_sp in module ida_ida: + +inf_get_start_sp(*args) -> 'ea_t' + inf_get_start_sp() -> ea_t + +Help on function inf_get_start_ss in module ida_ida: + +inf_get_start_ss(*args) -> 'sel_t' + inf_get_start_ss() -> sel_t + +Help on function inf_get_strlit_break in module ida_ida: + +inf_get_strlit_break(*args) -> 'uchar' + inf_get_strlit_break() -> uchar + +Help on function inf_get_strlit_flags in module ida_ida: + +inf_get_strlit_flags(*args) -> 'uchar' + inf_get_strlit_flags() -> uchar + +Help on function inf_get_strlit_pref in module ida_ida: + +inf_get_strlit_pref(*args) -> 'size_t' + inf_get_strlit_pref() -> str + +Help on function inf_get_strlit_sernum in module ida_ida: + +inf_get_strlit_sernum(*args) -> 'uval_t' + inf_get_strlit_sernum() -> uval_t + +Help on function inf_get_strlit_zeroes in module ida_ida: + +inf_get_strlit_zeroes(*args) -> 'char' + inf_get_strlit_zeroes() -> char + +Help on function inf_get_strtype in module ida_ida: + +inf_get_strtype(*args) -> 'int32' + inf_get_strtype() -> int32 + +Help on function inf_get_type_xrefnum in module ida_ida: + +inf_get_type_xrefnum(*args) -> 'uchar' + inf_get_type_xrefnum() -> uchar + +Help on function inf_get_version in module ida_ida: + +inf_get_version(*args) -> 'ushort' + inf_get_version() -> ushort + +Help on function inf_get_xrefflag in module ida_ida: + +inf_get_xrefflag(*args) -> 'uchar' + inf_get_xrefflag() -> uchar + +Help on function inf_get_xrefnum in module ida_ida: + +inf_get_xrefnum(*args) -> 'uchar' + inf_get_xrefnum() -> uchar + +Help on function inf_guess_func_type in module ida_ida: + +inf_guess_func_type(*args) -> 'bool' + inf_guess_func_type() -> bool + +Help on function inf_handle_eh in module ida_ida: + +inf_handle_eh(*args) -> 'bool' + inf_handle_eh() -> bool + +Help on function inf_handle_rtti in module ida_ida: + +inf_handle_rtti(*args) -> 'bool' + inf_handle_rtti() -> bool + +Help on function inf_hide_comments in module ida_ida: + +inf_hide_comments(*args) -> 'bool' + inf_hide_comments() -> bool + +Help on function inf_hide_libfuncs in module ida_ida: + +inf_hide_libfuncs(*args) -> 'bool' + inf_hide_libfuncs() -> bool + +Help on function inf_huge_arg_align in module ida_ida: + +inf_huge_arg_align(*args) -> 'bool' + inf_huge_arg_align() -> bool + +Help on function inf_inc_database_change_count in module ida_ida: + +inf_inc_database_change_count(*args) -> 'void' + inf_inc_database_change_count(cnt=1) + +Help on function inf_is_limiter_empty in module ida_ida: + +inf_is_limiter_empty(*args) -> 'bool' + inf_is_limiter_empty() -> bool + +Help on function inf_is_limiter_thick in module ida_ida: + +inf_is_limiter_thick(*args) -> 'bool' + inf_is_limiter_thick() -> bool + +Help on function inf_is_limiter_thin in module ida_ida: + +inf_is_limiter_thin(*args) -> 'bool' + inf_is_limiter_thin() -> bool + +Help on function inf_macros_enabled in module ida_ida: + +inf_macros_enabled(*args) -> 'bool' + inf_macros_enabled() -> bool + +Help on function inf_mark_code in module ida_ida: + +inf_mark_code(*args) -> 'bool' + inf_mark_code() -> bool + +Help on function inf_no_store_user_info in module ida_ida: + +inf_no_store_user_info(*args) -> 'bool' + inf_no_store_user_info() -> bool + +Help on function inf_noflow_to_data in module ida_ida: + +inf_noflow_to_data(*args) -> 'bool' + inf_noflow_to_data() -> bool + +Help on function inf_noret_ana in module ida_ida: + +inf_noret_ana(*args) -> 'bool' + inf_noret_ana() -> bool + +Help on function inf_op_offset in module ida_ida: + +inf_op_offset(*args) -> 'bool' + inf_op_offset() -> bool + +Help on function inf_pack_idb in module ida_ida: + +inf_pack_idb(*args) -> 'bool' + inf_pack_idb() -> bool + +Help on function inf_postinc_strlit_sernum in module ida_ida: + +inf_postinc_strlit_sernum(*args) -> 'uval_t' + inf_postinc_strlit_sernum(cnt=1) -> uval_t + +Help on function inf_prefix_show_funcoff in module ida_ida: + +inf_prefix_show_funcoff(*args) -> 'bool' + inf_prefix_show_funcoff() -> bool + +Help on function inf_prefix_show_segaddr in module ida_ida: + +inf_prefix_show_segaddr(*args) -> 'bool' + inf_prefix_show_segaddr() -> bool + +Help on function inf_prefix_show_stack in module ida_ida: + +inf_prefix_show_stack(*args) -> 'bool' + inf_prefix_show_stack() -> bool + +Help on function inf_prefix_truncate_opcode_bytes in module ida_ida: + +inf_prefix_truncate_opcode_bytes(*args) -> 'bool' + inf_prefix_truncate_opcode_bytes() -> bool + +Help on function inf_propagate_regargs in module ida_ida: + +inf_propagate_regargs(*args) -> 'bool' + inf_propagate_regargs() -> bool + +Help on function inf_propagate_stkargs in module ida_ida: + +inf_propagate_stkargs(*args) -> 'bool' + inf_propagate_stkargs() -> bool + +Help on function inf_rename_jumpfunc in module ida_ida: + +inf_rename_jumpfunc(*args) -> 'bool' + inf_rename_jumpfunc() -> bool + +Help on function inf_rename_nullsub in module ida_ida: + +inf_rename_nullsub(*args) -> 'bool' + inf_rename_nullsub() -> bool + +Help on function inf_set_32bit in module ida_ida: + +inf_set_32bit(*args) -> 'bool' + inf_set_32bit(_v=True) -> bool + +Help on function inf_set_abi_set_by_user in module ida_ida: + +inf_set_abi_set_by_user(*args) -> 'bool' + inf_set_abi_set_by_user(_v=True) -> bool + +Help on function inf_set_abibits in module ida_ida: + +inf_set_abibits(*args) -> 'bool' + inf_set_abibits(_v) -> bool + +Help on function inf_set_af in module ida_ida: + +inf_set_af(*args) -> 'bool' + inf_set_af(_v) -> bool + +Help on function inf_set_af2 in module ida_ida: + +inf_set_af2(*args) -> 'bool' + inf_set_af2(_v) -> bool + +Help on function inf_set_af2_low in module ida_ida: + +inf_set_af2_low(*args) -> 'void' + inf_set_af2_low(saf) + +Help on function inf_set_af_high in module ida_ida: + +inf_set_af_high(*args) -> 'void' + inf_set_af_high(saf2) + +Help on function inf_set_af_low in module ida_ida: + +inf_set_af_low(*args) -> 'void' + inf_set_af_low(saf) + +Help on function inf_set_allow_non_matched_ops in module ida_ida: + +inf_set_allow_non_matched_ops(*args) -> 'bool' + inf_set_allow_non_matched_ops(_v=True) -> bool + +Help on function inf_set_allow_sigmulti in module ida_ida: + +inf_set_allow_sigmulti(*args) -> 'bool' + inf_set_allow_sigmulti(_v=True) -> bool + +Help on function inf_set_appcall_options in module ida_ida: + +inf_set_appcall_options(*args) -> 'bool' + inf_set_appcall_options(_v) -> bool + +Help on function inf_set_append_sigcmt in module ida_ida: + +inf_set_append_sigcmt(*args) -> 'bool' + inf_set_append_sigcmt(_v=True) -> bool + +Help on function inf_set_apptype in module ida_ida: + +inf_set_apptype(*args) -> 'bool' + inf_set_apptype(_v) -> bool + +Help on function inf_set_asmtype in module ida_ida: + +inf_set_asmtype(*args) -> 'bool' + inf_set_asmtype(_v) -> bool + +Help on function inf_set_baseaddr in module ida_ida: + +inf_set_baseaddr(*args) -> 'bool' + inf_set_baseaddr(_v) -> bool + +Help on function inf_set_big_arg_align in module ida_ida: + +inf_set_big_arg_align(*args) -> 'bool' + inf_set_big_arg_align(_v=True) -> bool + +Help on function inf_set_bin_prefix_size in module ida_ida: + +inf_set_bin_prefix_size(*args) -> 'bool' + inf_set_bin_prefix_size(_v) -> bool + +Help on function inf_set_cc in module ida_ida: + +inf_set_cc(*args) -> 'bool' + inf_set_cc(_v) -> bool + +Help on function inf_set_cc_cm in module ida_ida: + +inf_set_cc_cm(*args) -> 'bool' + inf_set_cc_cm(_v) -> bool + +Help on function inf_set_cc_defalign in module ida_ida: + +inf_set_cc_defalign(*args) -> 'bool' + inf_set_cc_defalign(_v) -> bool + +Help on function inf_set_cc_id in module ida_ida: + +inf_set_cc_id(*args) -> 'bool' + inf_set_cc_id(_v) -> bool + +Help on function inf_set_cc_size_b in module ida_ida: + +inf_set_cc_size_b(*args) -> 'bool' + inf_set_cc_size_b(_v) -> bool + +Help on function inf_set_cc_size_e in module ida_ida: + +inf_set_cc_size_e(*args) -> 'bool' + inf_set_cc_size_e(_v) -> bool + +Help on function inf_set_cc_size_i in module ida_ida: + +inf_set_cc_size_i(*args) -> 'bool' + inf_set_cc_size_i(_v) -> bool + +Help on function inf_set_cc_size_l in module ida_ida: + +inf_set_cc_size_l(*args) -> 'bool' + inf_set_cc_size_l(_v) -> bool + +Help on function inf_set_cc_size_ldbl in module ida_ida: + +inf_set_cc_size_ldbl(*args) -> 'bool' + inf_set_cc_size_ldbl(_v) -> bool + +Help on function inf_set_cc_size_ll in module ida_ida: + +inf_set_cc_size_ll(*args) -> 'bool' + inf_set_cc_size_ll(_v) -> bool + +Help on function inf_set_cc_size_s in module ida_ida: + +inf_set_cc_size_s(*args) -> 'bool' + inf_set_cc_size_s(_v) -> bool + +Help on function inf_set_check_manual_ops in module ida_ida: + +inf_set_check_manual_ops(*args) -> 'bool' + inf_set_check_manual_ops(_v=True) -> bool + +Help on function inf_set_check_unicode_strlits in module ida_ida: + +inf_set_check_unicode_strlits(*args) -> 'bool' + inf_set_check_unicode_strlits(_v=True) -> bool + +Help on function inf_set_cmtflg in module ida_ida: + +inf_set_cmtflg(*args) -> 'bool' + inf_set_cmtflg(_v) -> bool + +Help on function inf_set_coagulate_code in module ida_ida: + +inf_set_coagulate_code(*args) -> 'bool' + inf_set_coagulate_code(_v=True) -> bool + +Help on function inf_set_coagulate_data in module ida_ida: + +inf_set_coagulate_data(*args) -> 'bool' + inf_set_coagulate_data(_v=True) -> bool + +Help on function inf_set_comment in module ida_ida: + +inf_set_comment(*args) -> 'bool' + inf_set_comment(_v) -> bool + +Help on function inf_set_compress_idb in module ida_ida: + +inf_set_compress_idb(*args) -> 'bool' + inf_set_compress_idb(_v=True) -> bool + +Help on function inf_set_create_all_xrefs in module ida_ida: + +inf_set_create_all_xrefs(*args) -> 'bool' + inf_set_create_all_xrefs(_v=True) -> bool + +Help on function inf_set_create_func_from_call in module ida_ida: + +inf_set_create_func_from_call(*args) -> 'bool' + inf_set_create_func_from_call(_v=True) -> bool + +Help on function inf_set_create_func_from_ptr in module ida_ida: + +inf_set_create_func_from_ptr(*args) -> 'bool' + inf_set_create_func_from_ptr(_v=True) -> bool + +Help on function inf_set_create_func_tails in module ida_ida: + +inf_set_create_func_tails(*args) -> 'bool' + inf_set_create_func_tails(_v=True) -> bool + +Help on function inf_set_create_jump_tables in module ida_ida: + +inf_set_create_jump_tables(*args) -> 'bool' + inf_set_create_jump_tables(_v=True) -> bool + +Help on function inf_set_create_off_on_dref in module ida_ida: + +inf_set_create_off_on_dref(*args) -> 'bool' + inf_set_create_off_on_dref(_v=True) -> bool + +Help on function inf_set_create_off_using_fixup in module ida_ida: + +inf_set_create_off_using_fixup(*args) -> 'bool' + inf_set_create_off_using_fixup(_v=True) -> bool + +Help on function inf_set_create_strlit_on_xref in module ida_ida: + +inf_set_create_strlit_on_xref(*args) -> 'bool' + inf_set_create_strlit_on_xref(_v=True) -> bool + +Help on function inf_set_data_offset in module ida_ida: + +inf_set_data_offset(*args) -> 'bool' + inf_set_data_offset(_v=True) -> bool + +Help on function inf_set_database_change_count in module ida_ida: + +inf_set_database_change_count(*args) -> 'bool' + inf_set_database_change_count(_v) -> bool + +Help on function inf_set_datatypes in module ida_ida: + +inf_set_datatypes(*args) -> 'bool' + inf_set_datatypes(_v) -> bool + +Help on function inf_set_dbg_no_store_path in module ida_ida: + +inf_set_dbg_no_store_path(*args) -> 'bool' + inf_set_dbg_no_store_path(_v=True) -> bool + +Help on function inf_set_decode_fpp in module ida_ida: + +inf_set_decode_fpp(*args) -> 'bool' + inf_set_decode_fpp(_v=True) -> bool + +Help on function inf_set_del_no_xref_insns in module ida_ida: + +inf_set_del_no_xref_insns(*args) -> 'bool' + inf_set_del_no_xref_insns(_v=True) -> bool + +Help on function inf_set_demnames in module ida_ida: + +inf_set_demnames(*args) -> 'bool' + inf_set_demnames(_v) -> bool + +Help on function inf_set_dll in module ida_ida: + +inf_set_dll(*args) -> 'bool' + inf_set_dll(_v=True) -> bool + +Help on function inf_set_filetype in module ida_ida: + +inf_set_filetype(*args) -> 'bool' + inf_set_filetype(_v) -> bool + +Help on function inf_set_final_pass in module ida_ida: + +inf_set_final_pass(*args) -> 'bool' + inf_set_final_pass(_v=True) -> bool + +Help on function inf_set_flat_off32 in module ida_ida: + +inf_set_flat_off32(*args) -> 'bool' + inf_set_flat_off32(_v=True) -> bool + +Help on function inf_set_full_sp_ana in module ida_ida: + +inf_set_full_sp_ana(*args) -> 'bool' + inf_set_full_sp_ana(_v=True) -> bool + +Help on function inf_set_gen_assume in module ida_ida: + +inf_set_gen_assume(*args) -> 'bool' + inf_set_gen_assume(_v=True) -> bool + +Help on function inf_set_gen_org in module ida_ida: + +inf_set_gen_org(*args) -> 'bool' + inf_set_gen_org(_v=True) -> bool + +Help on function inf_set_genflags in module ida_ida: + +inf_set_genflags(*args) -> 'bool' + inf_set_genflags(_v) -> bool + +Help on function inf_set_guess_func_type in module ida_ida: + +inf_set_guess_func_type(*args) -> 'bool' + inf_set_guess_func_type(_v=True) -> bool + +Help on function inf_set_handle_eh in module ida_ida: + +inf_set_handle_eh(*args) -> 'bool' + inf_set_handle_eh(_v=True) -> bool + +Help on function inf_set_handle_rtti in module ida_ida: + +inf_set_handle_rtti(*args) -> 'bool' + inf_set_handle_rtti(_v=True) -> bool + +Help on function inf_set_hard_float in module ida_ida: + +inf_set_hard_float(*args) -> 'bool' + inf_set_hard_float(_v=True) -> bool + +Help on function inf_set_hide_comments in module ida_ida: + +inf_set_hide_comments(*args) -> 'bool' + inf_set_hide_comments(_v=True) -> bool + +Help on function inf_set_hide_libfuncs in module ida_ida: + +inf_set_hide_libfuncs(*args) -> 'bool' + inf_set_hide_libfuncs(_v=True) -> bool + +Help on function inf_set_highoff in module ida_ida: + +inf_set_highoff(*args) -> 'bool' + inf_set_highoff(_v) -> bool + +Help on function inf_set_huge_arg_align in module ida_ida: + +inf_set_huge_arg_align(*args) -> 'bool' + inf_set_huge_arg_align(_v=True) -> bool + +Help on function inf_set_indent in module ida_ida: + +inf_set_indent(*args) -> 'bool' + inf_set_indent(_v) -> bool + +Help on function inf_set_kernel_mode in module ida_ida: + +inf_set_kernel_mode(*args) -> 'bool' + inf_set_kernel_mode(_v=True) -> bool + +Help on function inf_set_lenxref in module ida_ida: + +inf_set_lenxref(*args) -> 'bool' + inf_set_lenxref(_v) -> bool + +Help on function inf_set_lflags in module ida_ida: + +inf_set_lflags(*args) -> 'bool' + inf_set_lflags(_v) -> bool + +Help on function inf_set_limiter in module ida_ida: + +inf_set_limiter(*args) -> 'bool' + inf_set_limiter(_v) -> bool + +Help on function inf_set_limiter_empty in module ida_ida: + +inf_set_limiter_empty(*args) -> 'bool' + inf_set_limiter_empty(_v=True) -> bool + +Help on function inf_set_limiter_thick in module ida_ida: + +inf_set_limiter_thick(*args) -> 'bool' + inf_set_limiter_thick(_v=True) -> bool + +Help on function inf_set_limiter_thin in module ida_ida: + +inf_set_limiter_thin(*args) -> 'bool' + inf_set_limiter_thin(_v=True) -> bool + +Help on function inf_set_listnames in module ida_ida: + +inf_set_listnames(*args) -> 'bool' + inf_set_listnames(_v) -> bool + +Help on function inf_set_loading_idc in module ida_ida: + +inf_set_loading_idc(*args) -> 'bool' + inf_set_loading_idc(_v=True) -> bool + +Help on function inf_set_long_demnames in module ida_ida: + +inf_set_long_demnames(*args) -> 'bool' + inf_set_long_demnames(_v) -> bool + +Help on function inf_set_lowoff in module ida_ida: + +inf_set_lowoff(*args) -> 'bool' + inf_set_lowoff(_v) -> bool + +Help on function inf_set_macros_enabled in module ida_ida: + +inf_set_macros_enabled(*args) -> 'bool' + inf_set_macros_enabled(_v=True) -> bool + +Help on function inf_set_main in module ida_ida: + +inf_set_main(*args) -> 'bool' + inf_set_main(_v) -> bool + +Help on function inf_set_map_stkargs in module ida_ida: + +inf_set_map_stkargs(*args) -> 'bool' + inf_set_map_stkargs(_v=True) -> bool + +Help on function inf_set_margin in module ida_ida: + +inf_set_margin(*args) -> 'bool' + inf_set_margin(_v) -> bool + +Help on function inf_set_mark_code in module ida_ida: + +inf_set_mark_code(*args) -> 'bool' + inf_set_mark_code(_v=True) -> bool + +Help on function inf_set_max_autoname_len in module ida_ida: + +inf_set_max_autoname_len(*args) -> 'bool' + inf_set_max_autoname_len(_v) -> bool + +Help on function inf_set_max_ea in module ida_ida: + +inf_set_max_ea(*args) -> 'bool' + inf_set_max_ea(_v) -> bool + +Help on function inf_set_maxref in module ida_ida: + +inf_set_maxref(*args) -> 'bool' + inf_set_maxref(_v) -> bool + +Help on function inf_set_mem_aligned4 in module ida_ida: + +inf_set_mem_aligned4(*args) -> 'bool' + inf_set_mem_aligned4(_v=True) -> bool + +Help on function inf_set_min_ea in module ida_ida: + +inf_set_min_ea(*args) -> 'bool' + inf_set_min_ea(_v) -> bool + +Help on function inf_set_nametype in module ida_ida: + +inf_set_nametype(*args) -> 'bool' + inf_set_nametype(_v) -> bool + +Help on function inf_set_netdelta in module ida_ida: + +inf_set_netdelta(*args) -> 'bool' + inf_set_netdelta(_v) -> bool + +Help on function inf_set_no_store_user_info in module ida_ida: + +inf_set_no_store_user_info(*args) -> 'bool' + inf_set_no_store_user_info(_v=True) -> bool + +Help on function inf_set_noflow_to_data in module ida_ida: + +inf_set_noflow_to_data(*args) -> 'bool' + inf_set_noflow_to_data(_v=True) -> bool + +Help on function inf_set_noret_ana in module ida_ida: + +inf_set_noret_ana(*args) -> 'bool' + inf_set_noret_ana(_v=True) -> bool + +Help on function inf_set_omax_ea in module ida_ida: + +inf_set_omax_ea(*args) -> 'bool' + inf_set_omax_ea(_v) -> bool + +Help on function inf_set_omin_ea in module ida_ida: + +inf_set_omin_ea(*args) -> 'bool' + inf_set_omin_ea(_v) -> bool + +Help on function inf_set_op_offset in module ida_ida: + +inf_set_op_offset(*args) -> 'bool' + inf_set_op_offset(_v=True) -> bool + +Help on function inf_set_ostype in module ida_ida: + +inf_set_ostype(*args) -> 'bool' + inf_set_ostype(_v) -> bool + +Help on function inf_set_outflags in module ida_ida: + +inf_set_outflags(*args) -> 'bool' + inf_set_outflags(_v) -> bool + +Help on function inf_set_pack_idb in module ida_ida: + +inf_set_pack_idb(*args) -> 'bool' + inf_set_pack_idb(_v=True) -> bool + +Help on function inf_set_pack_stkargs in module ida_ida: + +inf_set_pack_stkargs(*args) -> 'bool' + inf_set_pack_stkargs(_v=True) -> bool + +Help on function inf_set_prefflag in module ida_ida: + +inf_set_prefflag(*args) -> 'bool' + inf_set_prefflag(_v) -> bool + +Help on function inf_set_prefix_show_funcoff in module ida_ida: + +inf_set_prefix_show_funcoff(*args) -> 'bool' + inf_set_prefix_show_funcoff(_v=True) -> bool + +Help on function inf_set_prefix_show_segaddr in module ida_ida: + +inf_set_prefix_show_segaddr(*args) -> 'bool' + inf_set_prefix_show_segaddr(_v=True) -> bool + +Help on function inf_set_prefix_show_stack in module ida_ida: + +inf_set_prefix_show_stack(*args) -> 'bool' + inf_set_prefix_show_stack(_v=True) -> bool + +Help on function inf_set_prefix_truncate_opcode_bytes in module ida_ida: + +inf_set_prefix_truncate_opcode_bytes(*args) -> 'bool' + inf_set_prefix_truncate_opcode_bytes(_v=True) -> bool + +Help on function inf_set_privrange in module ida_ida: + +inf_set_privrange(*args) -> 'bool' + inf_set_privrange(_v) -> bool + +Help on function inf_set_privrange_end_ea in module ida_ida: + +inf_set_privrange_end_ea(*args) -> 'bool' + inf_set_privrange_end_ea(_v) -> bool + +Help on function inf_set_privrange_start_ea in module ida_ida: + +inf_set_privrange_start_ea(*args) -> 'bool' + inf_set_privrange_start_ea(_v) -> bool + +Help on function inf_set_procname in module ida_ida: + +inf_set_procname(*args) -> 'bool' + inf_set_procname(_v, len=size_t(-1)) -> bool + +Help on function inf_set_propagate_regargs in module ida_ida: + +inf_set_propagate_regargs(*args) -> 'bool' + inf_set_propagate_regargs(_v=True) -> bool + +Help on function inf_set_propagate_stkargs in module ida_ida: + +inf_set_propagate_stkargs(*args) -> 'bool' + inf_set_propagate_stkargs(_v=True) -> bool + +Help on function inf_set_readonly_idb in module ida_ida: + +inf_set_readonly_idb(*args) -> 'bool' + inf_set_readonly_idb(_v=True) -> bool + +Help on function inf_set_refcmtnum in module ida_ida: + +inf_set_refcmtnum(*args) -> 'bool' + inf_set_refcmtnum(_v) -> bool + +Help on function inf_set_rename_jumpfunc in module ida_ida: + +inf_set_rename_jumpfunc(*args) -> 'bool' + inf_set_rename_jumpfunc(_v=True) -> bool + +Help on function inf_set_rename_nullsub in module ida_ida: + +inf_set_rename_nullsub(*args) -> 'bool' + inf_set_rename_nullsub(_v=True) -> bool + +Help on function inf_set_short_demnames in module ida_ida: + +inf_set_short_demnames(*args) -> 'bool' + inf_set_short_demnames(_v) -> bool + +Help on function inf_set_should_create_stkvars in module ida_ida: + +inf_set_should_create_stkvars(*args) -> 'bool' + inf_set_should_create_stkvars(_v=True) -> bool + +Help on function inf_set_should_trace_sp in module ida_ida: + +inf_set_should_trace_sp(*args) -> 'bool' + inf_set_should_trace_sp(_v=True) -> bool + +Help on function inf_set_show_all_comments in module ida_ida: + +inf_set_show_all_comments(*args) -> 'bool' + inf_set_show_all_comments(_v=True) -> bool + +Help on function inf_set_show_hidden_funcs in module ida_ida: + +inf_set_show_hidden_funcs(*args) -> 'bool' + inf_set_show_hidden_funcs(_v=True) -> bool + +Help on function inf_set_show_hidden_insns in module ida_ida: + +inf_set_show_hidden_insns(*args) -> 'bool' + inf_set_show_hidden_insns(_v=True) -> bool + +Help on function inf_set_show_hidden_segms in module ida_ida: + +inf_set_show_hidden_segms(*args) -> 'bool' + inf_set_show_hidden_segms(_v=True) -> bool + +Help on function inf_set_show_repeatables in module ida_ida: + +inf_set_show_repeatables(*args) -> 'bool' + inf_set_show_repeatables(_v=True) -> bool + +Help on function inf_set_show_src_linnum in module ida_ida: + +inf_set_show_src_linnum(*args) -> 'bool' + inf_set_show_src_linnum(_v=True) -> bool + +Help on function inf_set_show_xref_fncoff in module ida_ida: + +inf_set_show_xref_fncoff(*args) -> 'bool' + inf_set_show_xref_fncoff(_v=True) -> bool + +Help on function inf_set_show_xref_seg in module ida_ida: + +inf_set_show_xref_seg(*args) -> 'bool' + inf_set_show_xref_seg(_v=True) -> bool + +Help on function inf_set_show_xref_tmarks in module ida_ida: + +inf_set_show_xref_tmarks(*args) -> 'bool' + inf_set_show_xref_tmarks(_v=True) -> bool + +Help on function inf_set_show_xref_val in module ida_ida: + +inf_set_show_xref_val(*args) -> 'bool' + inf_set_show_xref_val(_v=True) -> bool + +Help on function inf_set_snapshot in module ida_ida: + +inf_set_snapshot(*args) -> 'bool' + inf_set_snapshot(_v=True) -> bool + +Help on function inf_set_specsegs in module ida_ida: + +inf_set_specsegs(*args) -> 'bool' + inf_set_specsegs(_v) -> bool + +Help on function inf_set_stack_ldbl in module ida_ida: + +inf_set_stack_ldbl(*args) -> 'bool' + inf_set_stack_ldbl(_v=True) -> bool + +Help on function inf_set_stack_varargs in module ida_ida: + +inf_set_stack_varargs(*args) -> 'bool' + inf_set_stack_varargs(_v=True) -> bool + +Help on function inf_set_start_cs in module ida_ida: + +inf_set_start_cs(*args) -> 'bool' + inf_set_start_cs(_v) -> bool + +Help on function inf_set_start_ea in module ida_ida: + +inf_set_start_ea(*args) -> 'bool' + inf_set_start_ea(_v) -> bool + +Help on function inf_set_start_ip in module ida_ida: + +inf_set_start_ip(*args) -> 'bool' + inf_set_start_ip(_v) -> bool + +Help on function inf_set_start_sp in module ida_ida: + +inf_set_start_sp(*args) -> 'bool' + inf_set_start_sp(_v) -> bool + +Help on function inf_set_start_ss in module ida_ida: + +inf_set_start_ss(*args) -> 'bool' + inf_set_start_ss(_v) -> bool + +Help on function inf_set_strlit_autocmt in module ida_ida: + +inf_set_strlit_autocmt(*args) -> 'bool' + inf_set_strlit_autocmt(_v=True) -> bool + +Help on function inf_set_strlit_break in module ida_ida: + +inf_set_strlit_break(*args) -> 'bool' + inf_set_strlit_break(_v) -> bool + +Help on function inf_set_strlit_flags in module ida_ida: + +inf_set_strlit_flags(*args) -> 'bool' + inf_set_strlit_flags(_v) -> bool + +Help on function inf_set_strlit_name_bit in module ida_ida: + +inf_set_strlit_name_bit(*args) -> 'bool' + inf_set_strlit_name_bit(_v=True) -> bool + +Help on function inf_set_strlit_names in module ida_ida: + +inf_set_strlit_names(*args) -> 'bool' + inf_set_strlit_names(_v=True) -> bool + +Help on function inf_set_strlit_pref in module ida_ida: + +inf_set_strlit_pref(*args) -> 'bool' + inf_set_strlit_pref(_v, len=size_t(-1)) -> bool + +Help on function inf_set_strlit_savecase in module ida_ida: + +inf_set_strlit_savecase(*args) -> 'bool' + inf_set_strlit_savecase(_v=True) -> bool + +Help on function inf_set_strlit_serial_names in module ida_ida: + +inf_set_strlit_serial_names(*args) -> 'bool' + inf_set_strlit_serial_names(_v=True) -> bool + +Help on function inf_set_strlit_sernum in module ida_ida: + +inf_set_strlit_sernum(*args) -> 'bool' + inf_set_strlit_sernum(_v) -> bool + +Help on function inf_set_strlit_zeroes in module ida_ida: + +inf_set_strlit_zeroes(*args) -> 'bool' + inf_set_strlit_zeroes(_v) -> bool + +Help on function inf_set_strtype in module ida_ida: + +inf_set_strtype(*args) -> 'bool' + inf_set_strtype(_v) -> bool + +Help on function inf_set_test_mode in module ida_ida: + +inf_set_test_mode(*args) -> 'bool' + inf_set_test_mode(_v=True) -> bool + +Help on function inf_set_trace_flow in module ida_ida: + +inf_set_trace_flow(*args) -> 'bool' + inf_set_trace_flow(_v=True) -> bool + +Help on function inf_set_truncate_on_del in module ida_ida: + +inf_set_truncate_on_del(*args) -> 'bool' + inf_set_truncate_on_del(_v=True) -> bool + +Help on function inf_set_type_xrefnum in module ida_ida: + +inf_set_type_xrefnum(*args) -> 'bool' + inf_set_type_xrefnum(_v) -> bool + +Help on function inf_set_unicode_strlits in module ida_ida: + +inf_set_unicode_strlits(*args) -> 'bool' + inf_set_unicode_strlits(_v=True) -> bool + +Help on function inf_set_use_allasm in module ida_ida: + +inf_set_use_allasm(*args) -> 'bool' + inf_set_use_allasm(_v=True) -> bool + +Help on function inf_set_use_flirt in module ida_ida: + +inf_set_use_flirt(*args) -> 'bool' + inf_set_use_flirt(_v=True) -> bool + +Help on function inf_set_use_gcc_layout in module ida_ida: + +inf_set_use_gcc_layout(*args) -> 'bool' + inf_set_use_gcc_layout(_v=True) -> bool + +Help on function inf_set_version in module ida_ida: + +inf_set_version(*args) -> 'bool' + inf_set_version(_v) -> bool + +Help on function inf_set_xrefflag in module ida_ida: + +inf_set_xrefflag(*args) -> 'bool' + inf_set_xrefflag(_v) -> bool + +Help on function inf_set_xrefnum in module ida_ida: + +inf_set_xrefnum(*args) -> 'bool' + inf_set_xrefnum(_v) -> bool + +Help on function inf_should_create_stkvars in module ida_ida: + +inf_should_create_stkvars(*args) -> 'bool' + inf_should_create_stkvars() -> bool + +Help on function inf_should_trace_sp in module ida_ida: + +inf_should_trace_sp(*args) -> 'bool' + inf_should_trace_sp() -> bool + +Help on function inf_show_all_comments in module ida_ida: + +inf_show_all_comments(*args) -> 'bool' + inf_show_all_comments() -> bool + +Help on function inf_show_hidden_funcs in module ida_ida: + +inf_show_hidden_funcs(*args) -> 'bool' + inf_show_hidden_funcs() -> bool + +Help on function inf_show_hidden_insns in module ida_ida: + +inf_show_hidden_insns(*args) -> 'bool' + inf_show_hidden_insns() -> bool + +Help on function inf_show_hidden_segms in module ida_ida: + +inf_show_hidden_segms(*args) -> 'bool' + inf_show_hidden_segms() -> bool + +Help on function inf_show_repeatables in module ida_ida: + +inf_show_repeatables(*args) -> 'bool' + inf_show_repeatables() -> bool + +Help on function inf_show_src_linnum in module ida_ida: + +inf_show_src_linnum(*args) -> 'bool' + inf_show_src_linnum() -> bool + +Help on function inf_show_xref_fncoff in module ida_ida: + +inf_show_xref_fncoff(*args) -> 'bool' + inf_show_xref_fncoff() -> bool + +Help on function inf_show_xref_seg in module ida_ida: + +inf_show_xref_seg(*args) -> 'bool' + inf_show_xref_seg() -> bool + +Help on function inf_show_xref_tmarks in module ida_ida: + +inf_show_xref_tmarks(*args) -> 'bool' + inf_show_xref_tmarks() -> bool + +Help on function inf_show_xref_val in module ida_ida: + +inf_show_xref_val(*args) -> 'bool' + inf_show_xref_val() -> bool + +Help on function inf_strlit_autocmt in module ida_ida: + +inf_strlit_autocmt(*args) -> 'bool' + inf_strlit_autocmt() -> bool + +Help on function inf_strlit_name_bit in module ida_ida: + +inf_strlit_name_bit(*args) -> 'bool' + inf_strlit_name_bit() -> bool + +Help on function inf_strlit_names in module ida_ida: + +inf_strlit_names(*args) -> 'bool' + inf_strlit_names() -> bool + +Help on function inf_strlit_savecase in module ida_ida: + +inf_strlit_savecase(*args) -> 'bool' + inf_strlit_savecase() -> bool + +Help on function inf_strlit_serial_names in module ida_ida: + +inf_strlit_serial_names(*args) -> 'bool' + inf_strlit_serial_names() -> bool + +Help on function inf_test_mode in module ida_ida: + +inf_test_mode(*args) -> 'bool' + inf_test_mode() -> bool + +Help on function inf_trace_flow in module ida_ida: + +inf_trace_flow(*args) -> 'bool' + inf_trace_flow() -> bool + +Help on function inf_truncate_on_del in module ida_ida: + +inf_truncate_on_del(*args) -> 'bool' + inf_truncate_on_del() -> bool + +Help on function inf_unicode_strlits in module ida_ida: + +inf_unicode_strlits(*args) -> 'bool' + inf_unicode_strlits() -> bool + +Help on function inf_use_flirt in module ida_ida: + +inf_use_flirt(*args) -> 'bool' + inf_use_flirt() -> bool + +Help on function is_filetype_like_binary in module ida_ida: + +is_filetype_like_binary(*args) -> 'bool' + is_filetype_like_binary(ft) -> bool + + + Is unstructured input file? + + + @param ft (C++: filetype_t) + +Help on function in module ida_ida: + + lambda *args + +Help on function to_ea in module ida_ida: + +to_ea(*args) -> 'ea_t' + 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) + +=== ida_ida EPYDOC INJECTIONS === +ida_ida.ABI_8ALIGN4 +""" +4 byte alignment for 8byte scalars (__int64/double) inside structures? +""" + +ida_ida.ABI_BIGARG_ALIGN +""" +(e.g. __int64 argument should be 8byte aligned on some 32bit +platforms) + +use natural type alignment for argument if the alignment exceeds +native word size +""" + +ida_ida.ABI_GCC_LAYOUT +""" +use gcc layout for udts (used for mingw) +""" + +ida_ida.ABI_HARD_FLOAT +""" +use the floating-point register set +""" + +ida_ida.ABI_HUGEARG_ALIGN +""" +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 +""" + +ida_ida.ABI_MAP_STKARGS +""" +register arguments are mapped to stack area (and consume stack slots) +""" + +ida_ida.ABI_PACK_STKARGS +""" +do not align stack arguments to stack slots +""" + +ida_ida.ABI_SET_BY_USER +""" +compiler/abi were set by user flag and require SETCOMP_BY_USER flag to +be changed +""" + +ida_ida.ABI_STACK_LDBL +""" +long double arguments are passed on stack +""" + +ida_ida.ABI_STACK_VARARGS +""" +varargs are always passed on stack (even when there are free +registers) +""" + +ida_ida.AF2_DOEH +""" +Handle EH information. +""" + +ida_ida.AF2_DORTTI +""" +Handle RTTI information. +""" + +ida_ida.AF2_MACRO +""" +Try to combine several instructions into a macro instruction +""" + +ida_ida.AF_ANORET +""" +Perform 'no-return' analysis. +""" + +ida_ida.AF_CHKUNI +""" +Check for unicode strings. +""" + +ida_ida.AF_CODE +""" +Trace execution flow. +""" + +ida_ida.AF_DATOFF +""" +Automatically convert data to offsets. +""" + +ida_ida.AF_DOCODE +""" +Coagulate code segs at the final pass. +""" + +ida_ida.AF_DODATA +""" +Coagulate data segs at the final pass. +""" + +ida_ida.AF_DREFOFF +""" +Create offset if data xref to seg32 exists. +""" + +ida_ida.AF_FINAL +""" +Final pass of analysis. +""" + +ida_ida.AF_FIXUP +""" +Create offsets and segments using fixup info. +""" + +ida_ida.AF_FLIRT +""" +Use flirt signatures. +""" + +ida_ida.AF_FTAIL +""" +Create function tails. +""" + +ida_ida.AF_HFLIRT +""" +Automatically hide library functions. +""" + +ida_ida.AF_IMMOFF +""" +Convert 32bit instruction operand to offset. +""" + +ida_ida.AF_JFUNC +""" +Rename jump functions as j_... +""" + +ida_ida.AF_JUMPTBL +""" +Locate and create jump tables. +""" + +ida_ida.AF_LVAR +""" +Create stack variables. +""" + +ida_ida.AF_MARKCODE +""" +Mark typical code sequences as code. +""" + +ida_ida.AF_MEMFUNC +""" +Try to guess member function types. +""" + +ida_ida.AF_NULLSUB +""" +Rename empty functions as nullsub_... +""" + +ida_ida.AF_PROC +""" +Create functions if call is present. +""" + +ida_ida.AF_PROCPTR +""" +Create function if data xref data->code32 exists. +""" + +ida_ida.AF_PURDAT +""" +Control flow to data segment is ignored. +""" + +ida_ida.AF_REGARG +""" +Propagate register argument information. +""" + +ida_ida.AF_SIGCMT +""" +Append a signature name comment for recognized anonymous library +functions. +""" + +ida_ida.AF_SIGMLT +""" +Allow recognition of several copies of the same function. +""" + +ida_ida.AF_STKARG +""" +Propagate stack argument information. +""" + +ida_ida.AF_STRLIT +""" +Create string literal if data xref exists. +""" + +ida_ida.AF_TRACE +""" +Trace stack pointer. +""" + +ida_ida.AF_TRFUNC +""" +Truncate functions upon code deletion. +""" + +ida_ida.AF_UNK +""" +Delete instructions with no xrefs. +""" + +ida_ida.AF_USED +""" +Analyze and create all xrefs. +""" + +ida_ida.AF_VERSP +""" +Perform full SP-analysis. (\\ph{verify_sp}) +""" + +ida_ida.DEMNAM_CMNT +""" +display demangled names as comments +""" + +ida_ida.DEMNAM_FIRST +""" +override type info +""" + +ida_ida.DEMNAM_GCC3 +""" +assume gcc3 names (valid for gnu compiler) +""" + +ida_ida.DEMNAM_MASK +""" +mask for name form +""" + +ida_ida.DEMNAM_NAME +""" +display demangled names as regular names +""" + +ida_ida.DEMNAM_NONE +""" +don't display demangled names +""" + +ida_ida.IDAINFO_TAG_SIZE +""" +The database parameters. This structure is kept in the ida database. +It contains the essential parameters for the current program +""" + +ida_ida.IDB_COMPRESSED +""" +compress & pack database components +""" + +ida_ida.IDB_PACKED +""" +pack database components into .idb +""" + +ida_ida.IDB_UNPACKED +""" +leave database components unpacked +""" + +ida_ida.INFFL_ALLASM +""" +the target assembler + +may use constructs not supported by +""" + +ida_ida.INFFL_AUTO +""" +Autoanalysis is enabled? +""" + +ida_ida.INFFL_CHKOPS +""" +check manual operands? (unused) +""" + +ida_ida.INFFL_GRAPH_VIEW +""" +currently using graph options (\\dto{graph}) +""" + +ida_ida.INFFL_LOADIDC +""" +loading an idc file that contains database info +""" + +ida_ida.INFFL_NMOPS +""" +allow non-matched operands? (unused) +""" + +ida_ida.INFFL_NOUSER +""" +do not store user info in the database +""" + +ida_ida.INFFL_READONLY +""" +(internal) temporary interdiction to modify the database +""" + +ida_ida.LFLG_64BIT +""" +64-bit program? +""" + +ida_ida.LFLG_COMPRESS +""" +compress the database? +""" + +ida_ida.LFLG_DBG_NOPATH +""" +do not store input full path in debugger process options +""" + +ida_ida.LFLG_FLAT_OFF32 +""" +treat 'REF_OFF32' as 32-bit offset for 16bit segments (otherwise try +SEG16:OFF16) +""" + +ida_ida.LFLG_IS_DLL +""" +Is dynamic library? +""" + +ida_ida.LFLG_KERNMODE +""" +is kernel mode binary? +""" + +ida_ida.LFLG_MSF +""" +Byte order: is MSB first? +""" + +ida_ida.LFLG_PACK +""" +pack the database? +""" + +ida_ida.LFLG_PC_FLAT +""" +32-bit program? +""" + +ida_ida.LFLG_PC_FPP +""" +decode floating point processor instructions? +""" + +ida_ida.LFLG_SNAPSHOT +""" +memory snapshot was taken? +""" + +ida_ida.LFLG_WIDE_HBF +""" +(wide bytes: \\ph{dnbits} > 8) + +Bit order of wide bytes: high byte first? +""" + +ida_ida.LMT_EMPTY +""" +empty lines at the end of basic blocks +""" + +ida_ida.LMT_THICK +""" +thick borders +""" + +ida_ida.LMT_THIN +""" +thin borders +""" + +ida_ida.LN_AUTO +""" +include autogenerated names +""" + +ida_ida.LN_NORMAL +""" +include normal names +""" + +ida_ida.LN_PUBLIC +""" +include public names +""" + +ida_ida.LN_WEAK +""" +include weak names +""" + +ida_ida.OFLG_GEN_ASSUME +""" +Generate 'assume' directives? +""" + +ida_ida.OFLG_GEN_NULL +""" +Generate empty lines? +""" + +ida_ida.OFLG_GEN_ORG +""" +Generate 'org' directives? +""" + +ida_ida.OFLG_GEN_TRYBLKS +""" +Generate try/catch directives? +""" + +ida_ida.OFLG_LZERO +""" +generate leading zeroes in numbers +""" + +ida_ida.OFLG_PREF_SEG +""" +line prefixes with segment name? +""" + +ida_ida.OFLG_SHOW_AUTO +""" +Display autoanalysis indicator? +""" + +ida_ida.OFLG_SHOW_PREF +""" +Show line prefixes? +""" + +ida_ida.OFLG_SHOW_VOID +""" +Display void marks? +""" + +ida_ida.PREF_FNCOFF +""" +show function offsets? +""" + +ida_ida.PREF_PFXTRUNC +""" +truncate instruction bytes if they would need more than 1 line +""" + +ida_ida.PREF_SEGADR +""" +show segment addresses? +""" + +ida_ida.PREF_STACK +""" +show stack pointer? +""" + +ida_ida.SCF_ALLCMT +""" +comment all lines? +""" + +ida_ida.SCF_LINNUM +""" +show source line numbers +""" + +ida_ida.SCF_NOCMT +""" +no comments at all +""" + +ida_ida.SCF_RPTCMT +""" +show repeatable comments? +""" + +ida_ida.SCF_SHHID_FUNC +""" +show hidden functions +""" + +ida_ida.SCF_SHHID_ITEM +""" +show hidden instructions +""" + +ida_ida.SCF_SHHID_SEGM +""" +show hidden segments +""" + +ida_ida.SCF_TESTMODE +""" +testida.idc is running +""" + +ida_ida.STRF_AUTO +""" +names have 'autogenerated' bit? +""" + +ida_ida.STRF_COMMENT +""" +generate auto comment for string references? +""" + +ida_ida.STRF_GEN +""" +generate names? +""" + +ida_ida.STRF_SAVECASE +""" +preserve case of strings for identifiers +""" + +ida_ida.STRF_SERIAL +""" +generate serial names? +""" + +ida_ida.STRF_UNICODE +""" +unicode strings are present? +""" + +ida_ida.SW_SEGXRF +""" +show segments in xrefs? +""" + +ida_ida.SW_XRFFNC +""" +show function offsets? +""" + +ida_ida.SW_XRFMRK +""" +show xref type marks? +""" + +ida_ida.SW_XRFVAL +""" +show xref values? (otherwise-"...") +""" + +ida_ida.UA_MAXOP +""" +max number of operands allowed for an instruction +""" +=== ida_ida EPYDOC INJECTIONS END === +Help on class CustomIDAMemo in module ida_kernwin: + +class CustomIDAMemo(View_Hooks) + | Proxy of C++ View_Hooks class. + | + | Method resolution order: + | CustomIDAMemo + | View_Hooks + | builtins.object + | + | Methods defined here: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | __init__(self) + | __init__(self, _flags=0) -> View_Hooks + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | view_activated(self, view) + | + | view_click(self, view, ve) + | view_click(self, view, event) + | + | view_close(self, view, *args) + | view_close(self, view) + | + | view_curpos(self, view, *args) + | view_curpos(self, view) + | + | view_dblclick(self, view, ve) + | view_dblclick(self, view, event) + | + | view_deactivated(self, view) + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, view, ve) + | view_mouse_over(self, view, event) + | + | view_switched(self, view, rt) + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_View_Hooks(...) + | delete_View_Hooks(self) + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | view_created(self, *args) -> 'void' + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on __IDAPython_Completion_Util in module ida_idaapi object: + +class __IDAPython_Completion_Util(builtins.object) + | Internal utility class for auto-completion support + | + | Methods defined here: + | + | __call__(self, line, x) + | Call self as a function. + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | debug(self, *args) + | + | dir_namespace(self, m, prefix) + | + | get_candidates(self, qname, line, match_syntax_char) + | + | maybe_extend_syntactically(self, ns, name, line, syntax_char) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | QNAME_PAT = re.compile('([a-zA-Z_]([a-zA-Z0-9_\\.]*)?)') + +Help on function IDAPython_ExecScript in module ida_idaapi: + +IDAPython_ExecScript(script, g, print_error=True) + Run the specified script. + It also addresses http://code.google.com/p/idapython/issues/detail?id=42 + + This function is used by the low-level plugin code. + +Help on function IDAPython_ExecSystem in module ida_idaapi: + +IDAPython_ExecSystem(cmd) + Executes a command with popen(). + +Help on function IDAPython_FormatExc in module ida_idaapi: + +IDAPython_FormatExc(etype, value=None, tb=None, limit=None) + This function is used to format an exception given the + values returned by a PyErr_Fetch() + +Help on function IDAPython_LoadProcMod in module ida_idaapi: + +IDAPython_LoadProcMod(script, g, print_error=True) + Load processor module. + +Help on function IDAPython_UnLoadProcMod in module ida_idaapi: + +IDAPython_UnLoadProcMod(script, g, print_error=True) + Unload processor module. + +Help on class IDAPython_displayhook in module ida_idaapi: + +class IDAPython_displayhook(builtins.object) + | # ------------------------------------------------------------ + | + | Methods defined here: + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | _print_hex(self, x) + | + | displayhook(self, item) + | + | format_item(self, num_printer, storage, item) + | + | format_seq(self, num_printer, storage, item, opn, cls) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class PyIdc_cvt_int64__ in module ida_idaapi: + +class PyIdc_cvt_int64__(pyidc_cvt_helper__) + | Helper class for explicitly representing VT_INT64 values + | + | Method resolution order: + | PyIdc_cvt_int64__ + | pyidc_cvt_helper__ + | builtins.object + | + | Methods defined here: + | + | _PyIdc_cvt_int64____op = __op(self, op_n, other, rev=False) + | + | __add__(self, other) + | + | __div__(self, other) + | + | __init__(self, v) + | Initialize self. See help(type(self)) for accurate signature. + | + | __mul__(self, other) + | + | __radd__(self, other) + | + | __rdiv__(self, other) + | + | __rmul__(self, other) + | + | __rsub__(self, other) + | + | __sub__(self, other) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _PyIdc_cvt_int64____op_table = {0: 'void' + 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 + +Help on function enable_extlang_python in module ida_idaapi: + +enable_extlang_python(*args) -> 'void' + 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 + +Help on function enable_python_cli in module ida_idaapi: + +enable_python_cli(*args) -> 'void' + enable_python_cli(enable) + +Help on function format_basestring in module ida_idaapi: + +format_basestring(*args) -> 'PyObject *' + format_basestring(_in) -> PyObject * + +Help on function get_inf_structure in module ida_idaapi: + +get_inf_structure(*args) -> 'idainfo *' + get_inf_structure() -> idainfo + + + Returns the global variable 'inf' (an instance of idainfo structure, see ida.hpp) + +Help on class loader_input_t in module ida_idaapi: + +class loader_input_t(builtins.object) + | Proxy of C++ loader_input_t class. + | + | + | A helper class to work with linput_t related functions. + | This class is also used by file loaders scripts. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, pycapsule=None) -> loader_input_t + | + | + | Closes the file + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_loader_input_t(...) + | delete_loader_input_t(self) + | + | close(self, *args) -> 'void' + | close(self) + | + | file2base(self, *args) -> 'int' + | 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 li: pointer ot input source + | @param pos: position in the file + | @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 + | + | filename(self, *args) -> 'PyObject *' + | filename(self) -> PyObject * + | + | get_byte(self, *args) -> 'PyObject *' + | get_byte(self) -> PyObject * + | + | + | Reads a single byte from the file. Returns None if EOF or the read byte + | + | get_linput(self, *args) -> 'linput_t *' + | get_linput(self) -> linput_t * + | + | gets(self, *args) -> 'PyObject *' + | gets(self, len) -> PyObject * + | + | + | Reads a line from the input file. Returns the read line or None + | + | getz(self, *args) -> 'PyObject *' + | 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. + | + | open(self, *args) -> 'bool' + | open(self, filename, remote=False) -> bool + | + | + | Opens a file (or a remote file) + | @return: Boolean + | + | open_memory(self, *args) -> 'bool' + | 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 + | + | opened(self, *args) -> 'bool' + | opened(self) -> bool + | + | + | Checks if the file is opened or not + | + | read(self, *args) -> 'PyObject *' + | read(self, size) -> PyObject * + | + | + | Reads from the file. Returns the buffer or None + | + | readbytes(self, *args) -> 'PyObject *' + | readbytes(self, size, big_endian) -> PyObject * + | + | + | Similar to read() but it respect the endianness + | + | seek(self, *args) -> 'int64' + | seek(self, pos, whence=SEEK_SET) -> int64 + | + | + | Set input source position + | @return: the new position (not 0 as fseek!) + | + | set_linput(self, *args) -> 'void' + | set_linput(self, linput) + | + | + | Links the current loader_input_t instance to a linput_t instance + | + | size(self, *args) -> 'int64' + | size(self) -> int64 + | + | tell(self, *args) -> 'int64' + | tell(self) -> int64 + | + | + | Returns the current position + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | from_capsule(*args) -> 'loader_input_t *' + | from_capsule(pycapsule) -> loader_input_t + | + | from_fp(*args) -> 'loader_input_t *' + | from_fp(fp) -> loader_input_t + | + | + | A static method to construct an instance from a FILE* + | + | from_linput(*args) -> 'loader_input_t *' + | from_linput(linput) -> loader_input_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __idc_cvt_id__ + | loader_input_t___idc_cvt_id___get(self) -> int + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function loader_input_t_from_capsule in module ida_idaapi: + +loader_input_t_from_capsule(*args) -> 'loader_input_t *' + loader_input_t_from_capsule(pycapsule) -> loader_input_t + +Help on function loader_input_t_from_fp in module ida_idaapi: + +loader_input_t_from_fp(*args) -> 'loader_input_t *' + loader_input_t_from_fp(fp) -> loader_input_t + +Help on function loader_input_t_from_linput in module ida_idaapi: + +loader_input_t_from_linput(*args) -> 'loader_input_t *' + loader_input_t_from_linput(linput) -> loader_input_t + +Help on function notify_when in module ida_idaapi: + +notify_when(when, callback) + 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 + +Help on class object_t in module ida_idaapi: + +class object_t(builtins.object) + | Helper class used to initialize empty objects + | + | Methods defined here: + | + | __getitem__(self, idx) + | Allow access to object attributes by index (like dictionaries) + | + | __init__(self, **kwds) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function parse_command_line3 in module ida_idaapi: + +parse_command_line3(*args) -> 'PyObject *' + parse_command_line3(cmdline) -> PyObject * + +Help on class plugin_t in module ida_idaapi: + +class plugin_t(pyidc_opaque_object_t) + | Base class for all scripted plugins. + | + | Method resolution order: + | plugin_t + | pyidc_opaque_object_t + | builtins.object + | + | Data descriptors inherited from pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on class py_clinked_object_t in module ida_idaapi: + +class py_clinked_object_t(pyidc_opaque_object_t) + | This is a utility and base class for C linked objects + | + | Method resolution order: + | py_clinked_object_t + | pyidc_opaque_object_t + | builtins.object + | + | Methods defined here: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | __init__(self, lnk=None) + | Initialize self. See help(type(self)) for accurate signature. + | + | _create_clink(self) + | Overwrite me. + | Creates a new clink + | @return: PyCapsule representing the C link + | + | _del_clink(self, lnk) + | Overwrite me. + | This method deletes the link + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | _get_clink_ptr(self) + | Overwrite me. + | Returns the C link pointer as a 64bit number + | + | assign(self, other) + | Overwrite me. + | This method allows you to assign an instance contents to anothers + | @return: Boolean + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function pycim_get_widget in module ida_idaapi: + +pycim_get_widget(*args) -> 'TWidget *' + pycim_get_widget(_self) -> TWidget * + +Help on function pycim_view_close in module ida_idaapi: + +pycim_view_close(*args) -> 'void' + pycim_view_close(_self) + +Help on function pygc_create_groups in module ida_idaapi: + +pygc_create_groups(*args) -> 'PyObject *' + pygc_create_groups(_self, groups_infos) -> PyObject * + +Help on function pygc_delete_groups in module ida_idaapi: + +pygc_delete_groups(*args) -> 'PyObject *' + pygc_delete_groups(_self, groups, new_current) -> PyObject * + +Help on function pygc_refresh in module ida_idaapi: + +pygc_refresh(*args) -> 'void' + pygc_refresh(_self) + +Help on function pygc_set_groups_visibility in module ida_idaapi: + +pygc_set_groups_visibility(*args) -> 'PyObject *' + pygc_set_groups_visibility(_self, groups, expand, new_current) -> PyObject * + +Help on class pyidc_cvt_helper__ in module ida_idaapi: + +class pyidc_cvt_helper__(builtins.object) + | 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 + | + | Methods defined here: + | + | __init__(self, cvt_id, value) + | Initialize self. See help(type(self)) for accurate signature. + | + | _pyidc_cvt_helper____get_value = __get_value(self) + | + | _pyidc_cvt_helper____set_value = __set_value(self, v) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | value + +Help on class pyidc_opaque_object_t in module ida_idaapi: + +class pyidc_opaque_object_t(builtins.object) + | This is the base class for all Python<->IDC opaque objects + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __idc_cvt_id__ = 2 + +Help on function replfun in module ida_idaapi: + +replfun(func) + +Help on function require in module ida_idaapi: + +require(modulename, package=None) + 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: . + +Help on function set_script_timeout in module ida_idaapi: + +set_script_timeout(*args) -> 'int' + 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 + +Help on function struct_unpack in module ida_idaapi: + +struct_unpack(buffer, signed=False, offs=0) + 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. + +Help on function get_mark_comment in module ida_idc: + +get_mark_comment(*args) -> 'PyObject *' + get_mark_comment(slot) -> PyObject * + +Help on function get_marked_pos in module ida_idc: + +get_marked_pos(*args) -> 'ea_t' + get_marked_pos(slot) -> ea_t + +Help on function mark_position in module ida_idc: + +mark_position(*args) -> 'void' + mark_position(ea, lnnum, x, y, slot, comment) + +Help on Appcall__ in module ida_idd object: + +class Appcall__(builtins.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | _Appcall____get_consts = __get_consts(self) + | + | __getattr__(self, name_or_ea) + | Allows you to call functions as if they were member functions (by returning a callable object) + | + | __getitem__(self, idx) + | Use self[func_name] syntax if the function name contains invalid characters for an attribute name + | See __getattr___ + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | UTF16(s) + | + | _Appcall____name_or_ea = __name_or_ea(name_or_ea) + | Function that accepts a name or an ea and checks if the address is enabled. + | If a name is passed then idaapi.get_name_ea() is applied to retrieve the name + | @return: + | - Returns the resolved EA or + | - Raises an exception if the address is not enabled + | + | _Appcall____typedecl_or_tinfo = __typedecl_or_tinfo(typedecl_or_tinfo, flags=None) + | Function that accepts a tinfo_t object or type declaration as a string + | If a type declaration is passed then ida_typeinf.parse_decl() is applied to prepare tinfo_t object + | @return: + | - Returns the tinfo_t object + | - Raises an exception if the declaration cannot be parsed + | + | array(type_name) + | Defines an array type. Later you need to pack() / unpack() + | + | buffer(str=None, size=0, fill='\x00') + | 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 + | + | byref(val) + | 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) + | + | cleanup_appcall(tid=0) + | Equivalent to IDC's CleanupAppcall() + | + | cstr(val) + | + | get_appcall_options() + | Return the global Appcall options + | + | int64(v) + | Whenever a 64bit number is needed use this method to construct an object + | + | obj(**kwds) + | Returns an empty object or objects with attributes as passed via its keywords arguments + | + | proto(name_or_ea, proto_or_tinfo, flags=None) + | 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 + | + | set_appcall_options(opt) + | Method to change the Appcall options globally (not per Appcall) + | + | typedobj(typedecl_or_tinfo, ea=None) + | 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 + | + | unicode = UTF16(s) + | + | valueof(name, default=0) + | Returns the numeric value of a given name string. + | If the name could not be resolved then the default value will be returned + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Consts + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | APPCALL_DEBEV = 2 + | + | APPCALL_MANUAL = 1 + | + | APPCALL_TIMEOUT = 4 + | + | __name__ = 'Appcall__' + +Help on class Appcall__ in module ida_idd: + +class Appcall__(builtins.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | _Appcall____get_consts = __get_consts(self) + | + | __getattr__(self, name_or_ea) + | Allows you to call functions as if they were member functions (by returning a callable object) + | + | __getitem__(self, idx) + | Use self[func_name] syntax if the function name contains invalid characters for an attribute name + | See __getattr___ + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | UTF16(s) + | + | _Appcall____name_or_ea = __name_or_ea(name_or_ea) + | Function that accepts a name or an ea and checks if the address is enabled. + | If a name is passed then idaapi.get_name_ea() is applied to retrieve the name + | @return: + | - Returns the resolved EA or + | - Raises an exception if the address is not enabled + | + | _Appcall____typedecl_or_tinfo = __typedecl_or_tinfo(typedecl_or_tinfo, flags=None) + | Function that accepts a tinfo_t object or type declaration as a string + | If a type declaration is passed then ida_typeinf.parse_decl() is applied to prepare tinfo_t object + | @return: + | - Returns the tinfo_t object + | - Raises an exception if the declaration cannot be parsed + | + | array(type_name) + | Defines an array type. Later you need to pack() / unpack() + | + | buffer(str=None, size=0, fill='\x00') + | 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 + | + | byref(val) + | 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) + | + | cleanup_appcall(tid=0) + | Equivalent to IDC's CleanupAppcall() + | + | cstr(val) + | + | get_appcall_options() + | Return the global Appcall options + | + | int64(v) + | Whenever a 64bit number is needed use this method to construct an object + | + | obj(**kwds) + | Returns an empty object or objects with attributes as passed via its keywords arguments + | + | proto(name_or_ea, proto_or_tinfo, flags=None) + | 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 + | + | set_appcall_options(opt) + | Method to change the Appcall options globally (not per Appcall) + | + | typedobj(typedecl_or_tinfo, ea=None) + | 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 + | + | unicode = UTF16(s) + | + | valueof(name, default=0) + | Returns the numeric value of a given name string. + | If the name could not be resolved then the default value will be returned + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Consts + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | APPCALL_DEBEV = 2 + | + | APPCALL_MANUAL = 1 + | + | APPCALL_TIMEOUT = 4 + | + | __name__ = 'Appcall__' + +Help on class Appcall_array__ in module ida_idd: + +class Appcall_array__(builtins.object) + | This class is used with Appcall.array() method + | + | Methods defined here: + | + | __init__(self, tp) + | Initialize self. See help(type(self)) for accurate signature. + | + | pack(self, L) + | Packs a list or tuple into a byref buffer + | + | try_to_convert_to_list(self, obj) + | Is this object a list? We check for the existance of attribute zero and attribute self.size-1 + | + | unpack(self, buf, as_list=True) + | Unpacks an array back into a list or an object + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class Appcall_callable__ in module ida_idd: + +class Appcall_callable__(builtins.object) + | 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) + | + | Methods defined here: + | + | _Appcall_callable____get_ea = __get_ea(self) + | + | _Appcall_callable____get_fields = __get_fields(self) + | + | _Appcall_callable____get_options = __get_options(self) + | + | _Appcall_callable____get_size = __get_size(self) + | + | _Appcall_callable____get_tif = __get_tif(self) + | + | _Appcall_callable____get_timeout = __get_timeout(self) + | + | _Appcall_callable____get_type = __get_type(self) + | + | _Appcall_callable____set_ea = __set_ea(self, val) + | + | _Appcall_callable____set_options = __set_options(self, v) + | + | _Appcall_callable____set_timeout = __set_timeout(self, v) + | + | __call__(self, *args) + | Make object callable. We redirect execution to idaapi.appcall() + | + | __init__(self, ea, tinfo_or_typestr=None, fields=None) + | Initializes an appcall with a given function ea + | + | retrieve(self, src=None, flags=0) + | 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). + | + | store(self, obj, dest_ea=None, base_ea=0, flags=0) + | 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) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | + | fields + | + | options + | + | size + | + | tif + | + | timeout + | + | type + +Help on class Appcall_consts__ in module ida_idd: + +class Appcall_consts__(builtins.object) + | Helper class used by Appcall.Consts attribute + | It is used to retrieve constants via attribute access + | + | Methods defined here: + | + | __getattr__(self, attr) + | + | __init__(self, default=None) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function appcall in module ida_idd: + +appcall(*args) -> 'PyObject *' + appcall(func_ea, tid, _type_or_none, _fields, arg_list) -> PyObject * + +Help on class bptaddr_t in module ida_idd: + +class bptaddr_t(builtins.object) + | Proxy of C++ bptaddr_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bptaddr_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bptaddr_t(...) + | delete_bptaddr_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hea + | bptaddr_t_hea_get(self) -> ea_t + | + | kea + | bptaddr_t_kea_get(self) -> ea_t + | + | thisown + | The membership flag + +Help on class call_stack_info_t in module ida_idd: + +class call_stack_info_t(builtins.object) + | Proxy of C++ call_stack_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> call_stack_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_call_stack_info_t(...) + | delete_call_stack_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | callea + | call_stack_info_t_callea_get(self) -> ea_t + | + | fp + | call_stack_info_t_fp_get(self) -> ea_t + | + | funcea + | call_stack_info_t_funcea_get(self) -> ea_t + | + | funcok + | call_stack_info_t_funcok_get(self) -> bool + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class call_stack_t in module ida_idd: + +class call_stack_t(builtins.object) + | Proxy of C++ qvector< call_stack_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'call_stack_info_t const &' + | __getitem__(self, i) -> call_stack_info_t + | + | __init__(self, *args) + | __init__(self) -> call_stack_t + | __init__(self, x) -> call_stack_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_call_stack_t(...) + | delete_call_stack_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'call_stack_info_t const &' + | at(self, _idx) -> call_stack_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< call_stack_info_t >::const_iterator' + | begin(self) -> call_stack_info_t + | begin(self) -> call_stack_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< call_stack_info_t >::const_iterator' + | end(self) -> call_stack_info_t + | end(self) -> call_stack_info_t + | + | erase(self, *args) -> 'qvector< call_stack_info_t >::iterator' + | erase(self, it) -> call_stack_info_t + | erase(self, first, last) -> call_stack_info_t + | + | extract(self, *args) -> 'call_stack_info_t *' + | extract(self) -> call_stack_info_t + | + | find(self, *args) -> 'qvector< call_stack_info_t >::const_iterator' + | find(self, x) -> call_stack_info_t + | find(self, x) -> call_stack_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=call_stack_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< call_stack_info_t >::iterator' + | insert(self, it, x) -> call_stack_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'call_stack_info_t &' + | push_back(self, x) + | push_back(self) -> call_stack_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function can_exc_continue in module ida_idd: + +can_exc_continue(*args) -> 'bool' + can_exc_continue(ev) -> bool + +Help on function cleanup_appcall in module ida_idd: + +cleanup_appcall(*args) -> 'error_t' + cleanup_appcall(tid) -> error_t + + + Cleanup after manual appcall. + + @param tid: 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. (C++: + thid_t) + @return: eOk if successful, otherwise an error code + +Help on function dbg_appcall in module ida_idd: + +dbg_appcall(*args) -> 'error_t' + dbg_appcall(retval, func_ea, tid, ptif, argv, argnum) -> error_t + + + Call a function from the debugged application. + + @param retval (C++: idc_value_t *) + @param func_ea: address to call (C++: ea_t) + @param tid: thread to use. NO_THREAD means to use the current thread + (C++: thid_t) + @param ptif: pointer to type of the function to call (C++: const + tinfo_t *) + @param argv: array of arguments (C++: idc_value_t *) + @param argnum: number of actual arguments (C++: size_t) + @return: eOk if successful, otherwise an error code + +Help on built-in function dbg_can_query in module _ida_dbg: + +dbg_can_query(...) + dbg_can_query() -> bool + +Help on function dbg_get_memory_info in module ida_idd: + +dbg_get_memory_info(*args) -> 'PyObject *' + 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) + +Help on function dbg_get_name in module ida_idd: + +dbg_get_name(*args) -> 'PyObject *' + dbg_get_name() -> PyObject * + + + This function returns the current debugger's name. + @return: Debugger name or None if no debugger is active + +Help on function dbg_get_registers in module ida_idd: + +dbg_get_registers(*args) -> 'PyObject *' + 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) + +Help on function dbg_get_thread_sreg_base in module ida_idd: + +dbg_get_thread_sreg_base(*args) -> 'PyObject *' + 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 + +Help on function dbg_read_memory in module ida_idd: + +dbg_read_memory(*args) -> 'PyObject *' + dbg_read_memory(ea, sz) -> PyObject * + + + Reads from the debugee's memory at the specified ea + @return: + - The read buffer (as a string) + - Or None on failure + +Help on function dbg_write_memory in module ida_idd: + +dbg_write_memory(*args) -> 'PyObject *' + dbg_write_memory(ea, buf) -> PyObject * + + + Writes a buffer to the debugee's memory + @return: Boolean + +Help on class debapp_attrs_t in module ida_idd: + +class debapp_attrs_t(builtins.object) + | Proxy of C++ debapp_attrs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> debapp_attrs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_debapp_attrs_t(...) + | delete_debapp_attrs_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | addrsize + | debapp_attrs_t_addrsize_get(self) -> int + | + | cbsize + | debapp_attrs_t_cbsize_get(self) -> int32 + | + | is_be + | debapp_attrs_t_is_be_get(self) -> int + | + | platform + | debapp_attrs_t_platform_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class debug_event_t in module ida_idd: + +class debug_event_t(builtins.object) + | Proxy of C++ debug_event_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> debug_event_t + | __init__(self, r) -> debug_event_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_debug_event_t(...) + | delete_debug_event_t(self) + | + | bpt(self, *args) -> 'bptaddr_t const &' + | bpt(self) -> bptaddr_t + | bpt(self) -> bptaddr_t + | + | bpt_ea(self, *args) -> 'ea_t' + | bpt_ea(self) -> ea_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | clear_all(self, *args) -> 'void' + | clear_all(self) + | + | copy(self, *args) -> 'debug_event_t &' + | copy(self, r) -> debug_event_t + | + | eid(self, *args) -> 'event_id_t' + | eid(self) -> event_id_t + | + | exc(self, *args) -> 'excinfo_t const &' + | exc(self) -> excinfo_t + | exc(self) -> excinfo_t + | + | exit_code(self, *args) -> 'int const &' + | exit_code(self) -> int const & + | + | info(self, *args) -> 'qstring const &' + | info(self) -> qstring + | info(self) -> qstring const & + | + | modinfo(self, *args) -> 'modinfo_t const &' + | modinfo(self) -> modinfo_t + | modinfo(self) -> modinfo_t + | + | set_bpt(self, *args) -> 'bptaddr_t &' + | set_bpt(self) -> bptaddr_t + | + | set_eid(self, *args) -> 'void' + | set_eid(self, id) + | + | set_exception(self, *args) -> 'excinfo_t &' + | set_exception(self) -> excinfo_t + | + | set_exit_code(self, *args) -> 'void' + | set_exit_code(self, id, code) + | + | set_info(self, *args) -> 'qstring &' + | set_info(self, id) -> qstring & + | + | set_modinfo(self, *args) -> 'modinfo_t &' + | set_modinfo(self, id) -> modinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | debug_event_t_ea_get(self) -> ea_t + | + | handled + | debug_event_t_handled_get(self) -> bool + | + | pid + | debug_event_t_pid_get(self) -> pid_t + | + | thisown + | The membership flag + | + | tid + | debug_event_t_tid_get(self) -> thid_t + +Help on class exception_info_t in module ida_idd: + +class exception_info_t(builtins.object) + | Proxy of C++ exception_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> exception_info_t + | __init__(self, _code, _flags, _name, _desc) -> exception_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_exception_info_t(...) + | delete_exception_info_t(self) + | + | break_on(self, *args) -> 'bool' + | break_on(self) -> bool + | + | handle(self, *args) -> 'bool' + | handle(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | exception_info_t_code_get(self) -> uint + | + | desc + | exception_info_t_desc_get(self) -> qstring * + | + | flags + | exception_info_t_flags_get(self) -> uint32 + | + | name + | exception_info_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class excinfo_t in module ida_idd: + +class excinfo_t(builtins.object) + | Proxy of C++ excinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> excinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_excinfo_t(...) + | delete_excinfo_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | can_cont + | excinfo_t_can_cont_get(self) -> bool + | + | code + | excinfo_t_code_get(self) -> uint32 + | + | ea + | excinfo_t_ea_get(self) -> ea_t + | + | info + | excinfo_t_info_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class excvec_t in module ida_idd: + +class excvec_t(builtins.object) + | Proxy of C++ qvector< exception_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'exception_info_t const &' + | __getitem__(self, i) -> exception_info_t + | + | __init__(self, *args) + | __init__(self) -> excvec_t + | __init__(self, x) -> excvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_excvec_t(...) + | delete_excvec_t(self) + | + | at(self, *args) -> 'exception_info_t const &' + | at(self, _idx) -> exception_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< exception_info_t >::const_iterator' + | begin(self) -> exception_info_t + | begin(self) -> exception_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< exception_info_t >::const_iterator' + | end(self) -> exception_info_t + | end(self) -> exception_info_t + | + | erase(self, *args) -> 'qvector< exception_info_t >::iterator' + | erase(self, it) -> exception_info_t + | erase(self, first, last) -> exception_info_t + | + | extract(self, *args) -> 'exception_info_t *' + | extract(self) -> exception_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=exception_info_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< exception_info_t >::iterator' + | insert(self, it, x) -> exception_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'exception_info_t &' + | push_back(self, x) + | push_back(self) -> exception_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function get_event_bpt_hea in module ida_idd: + +get_event_bpt_hea(*args) -> 'ea_t' + get_event_bpt_hea(ev) -> ea_t + +Help on function get_event_exc_code in module ida_idd: + +get_event_exc_code(*args) -> 'uint' + get_event_exc_code(ev) -> uint + +Help on function get_event_exc_ea in module ida_idd: + +get_event_exc_ea(*args) -> 'ea_t' + get_event_exc_ea(ev) -> ea_t + +Help on function get_event_exc_info in module ida_idd: + +get_event_exc_info(*args) -> 'size_t' + get_event_exc_info(ev) -> str + +Help on function get_event_info in module ida_idd: + +get_event_info(*args) -> 'size_t' + get_event_info(ev) -> str + +Help on function get_event_module_base in module ida_idd: + +get_event_module_base(*args) -> 'ea_t' + get_event_module_base(ev) -> ea_t + +Help on function get_event_module_name in module ida_idd: + +get_event_module_name(*args) -> 'size_t' + get_event_module_name(ev) -> str + +Help on function get_event_module_size in module ida_idd: + +get_event_module_size(*args) -> 'asize_t' + get_event_module_size(ev) -> asize_t + +Help on class meminfo_vec_t in module ida_idd: + +class meminfo_vec_t(builtins.object) + | Proxy of C++ qvector< memory_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'memory_info_t const &' + | __getitem__(self, i) -> memory_info_t + | + | __init__(self, *args) + | __init__(self) -> meminfo_vec_t + | __init__(self, x) -> meminfo_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_meminfo_vec_t(...) + | delete_meminfo_vec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'memory_info_t const &' + | at(self, _idx) -> memory_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< memory_info_t >::const_iterator' + | begin(self) -> memory_info_t + | begin(self) -> memory_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< memory_info_t >::const_iterator' + | end(self) -> memory_info_t + | end(self) -> memory_info_t + | + | erase(self, *args) -> 'qvector< memory_info_t >::iterator' + | erase(self, it) -> memory_info_t + | erase(self, first, last) -> memory_info_t + | + | extract(self, *args) -> 'memory_info_t *' + | extract(self) -> memory_info_t + | + | find(self, *args) -> 'qvector< memory_info_t >::const_iterator' + | find(self, x) -> memory_info_t + | find(self, x) -> memory_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=memory_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< memory_info_t >::iterator' + | insert(self, it, x) -> memory_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'memory_info_t &' + | push_back(self, x) + | push_back(self) -> memory_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class memory_info_t in module ida_idd: + +class memory_info_t(ida_range.range_t) + | Proxy of C++ memory_info_t class. + | + | Method resolution order: + | memory_info_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> memory_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_memory_info_t(...) + | delete_memory_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bitness + | memory_info_t_bitness_get(self) -> uchar + | + | name + | memory_info_t_name_get(self) -> qstring * + | + | perm + | memory_info_t_perm_get(self) -> uchar + | + | sbase + | memory_info_t_sbase_get(self) -> ea_t + | + | sclass + | memory_info_t_sclass_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + +Help on class modinfo_t in module ida_idd: + +class modinfo_t(builtins.object) + | Proxy of C++ modinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> modinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_modinfo_t(...) + | delete_modinfo_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | modinfo_t_base_get(self) -> ea_t + | + | name + | modinfo_t_name_get(self) -> qstring * + | + | rebase_to + | modinfo_t_rebase_to_get(self) -> ea_t + | + | size + | modinfo_t_size_get(self) -> asize_t + | + | thisown + | The membership flag + +Help on class process_info_t in module ida_idd: + +class process_info_t(builtins.object) + | Proxy of C++ process_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> process_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_process_info_t(...) + | delete_process_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | process_info_t_name_get(self) -> qstring * + | + | pid + | process_info_t_pid_get(self) -> pid_t + | + | thisown + | The membership flag + +Help on class procinfo_vec_t in module ida_idd: + +class procinfo_vec_t(builtins.object) + | Proxy of C++ qvector< process_info_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'process_info_t const &' + | __getitem__(self, i) -> process_info_t + | + | __init__(self, *args) + | __init__(self) -> procinfo_vec_t + | __init__(self, x) -> procinfo_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_procinfo_vec_t(...) + | delete_procinfo_vec_t(self) + | + | at(self, *args) -> 'process_info_t const &' + | at(self, _idx) -> process_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< process_info_t >::const_iterator' + | begin(self) -> process_info_t + | begin(self) -> process_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< process_info_t >::const_iterator' + | end(self) -> process_info_t + | end(self) -> process_info_t + | + | erase(self, *args) -> 'qvector< process_info_t >::iterator' + | erase(self, it) -> process_info_t + | erase(self, first, last) -> process_info_t + | + | extract(self, *args) -> 'process_info_t *' + | extract(self) -> process_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=process_info_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< process_info_t >::iterator' + | insert(self, it, x) -> process_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'process_info_t &' + | push_back(self, x) + | push_back(self) -> process_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class register_info_t in module ida_idd: + +class register_info_t(builtins.object) + | Proxy of C++ register_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> register_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_register_info_t(...) + | delete_register_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bit_strings + | register_info_t_bit_strings_get(self) -> char const *const * + | + | default_bit_strings_mask + | register_info_t_default_bit_strings_mask_get(self) -> uval_t + | + | dtype + | register_info_t_dtype_get(self) -> op_dtype_t + | + | flags + | register_info_t_flags_get(self) -> uint32 + | + | name + | register_info_t_name_get(self) -> char const * + | + | register_class + | register_info_t_register_class_get(self) -> register_class_t + | + | thisown + | The membership flag + +Help on class regval_t in module ida_idd: + +class regval_t(builtins.object) + | Proxy of C++ regval_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> regval_t + | __init__(self, r) -> regval_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_regval_t(...) + | delete_regval_t(self) + | + | bytes(self, *args) -> 'bytevec_t const &' + | bytes(self) -> bytevec_t + | bytes(self) -> bytevec_t const & + | + | clear(self, *args) -> 'void' + | clear(self) + | + | get_data(self, *args) -> 'void const *' + | get_data(self) + | get_data(self) -> void const * + | + | get_data_size(self, *args) -> 'size_t' + | get_data_size(self) -> size_t + | + | set_bytes(self, *args) -> 'bytevec_t &' + | set_bytes(self, data, size) + | set_bytes(self, v) + | set_bytes(self) -> bytevec_t & + | + | set_float(self, *args) -> 'void' + | set_float(self, x) + | + | set_int(self, *args) -> 'void' + | set_int(self, x) + | + | set_unavailable(self, *args) -> 'void' + | set_unavailable(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fval + | regval_t_fval_get(self) -> uint16 [6] + | + | ival + | regval_t_ival_get(self) -> uint64 + | + | rvtype + | regval_t_rvtype_get(self) -> int32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class scattered_segm_t in module ida_idd: + +class scattered_segm_t(ida_range.range_t) + | Proxy of C++ scattered_segm_t class. + | + | Method resolution order: + | scattered_segm_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> scattered_segm_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_scattered_segm_t(...) + | delete_scattered_segm_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | name + | scattered_segm_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on function set_debug_event_code in module ida_idd: + +set_debug_event_code(*args) -> 'void' + set_debug_event_code(ev, id) + +Help on class thread_name_t in module ida_idd: + +class thread_name_t(builtins.object) + | Proxy of C++ thread_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> thread_name_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_thread_name_t(...) + | delete_thread_name_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | thread_name_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | tid + | thread_name_t_tid_get(self) -> thid_t + +=== ida_idd EPYDOC INJECTIONS === +ida_idd.EXC_BREAK +""" +break on the exception +""" + +ida_idd.EXC_HANDLE +""" +should be handled by the debugger? +""" + +ida_idd.EXC_MSG +""" +instead of a warning, log the exception to the output window +""" + +ida_idd.EXC_SILENT +""" +do not warn or log to the output window +""" + +ida_idd.IDD_INTERFACE_VERSION +""" +The IDD interface version number. +""" + +ida_idd.NO_PROCESS +""" +No process. +""" + +ida_idd.NO_THREAD +""" +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. +""" + +ida_idd.REGISTER_ADDRESS +""" +may contain an address +""" + +ida_idd.REGISTER_CS +""" +code segment +""" + +ida_idd.REGISTER_CUSTFMT +""" +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' +""" + +ida_idd.REGISTER_FP +""" +frame pointer +""" + +ida_idd.REGISTER_IP +""" +instruction pointer +""" + +ida_idd.REGISTER_NOLF +""" +allowing the next register to be displayed to its right (on the same +line) + +displays this register without returning to the next line +""" + +ida_idd.REGISTER_READONLY +""" +the user can't modify the current value of this register +""" + +ida_idd.REGISTER_SP +""" +stack pointer +""" + +ida_idd.REGISTER_SS +""" +stack segment +""" + +ida_idd.RVT_FLOAT +""" +floating point +""" + +ida_idd.RVT_INT +""" +integer +""" + +ida_idd.RVT_UNAVAILABLE +""" +other values mean custom data type + +unavailable +""" +=== ida_idd EPYDOC INJECTIONS END === +Help on function AssembleLine in module ida_idp: + +AssembleLine(*args) -> 'PyObject *' + AssembleLine(ea, cs, ip, use32, nonnul_line) -> PyObject * + + + 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 line: line to assemble + @return: + - None on failure + - or a string containing the assembled instruction + +Help on class IDB_Hooks in module ida_idp: + +class IDB_Hooks(builtins.object) + | Proxy of C++ IDB_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> IDB_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_IDB_Hooks(...) + | delete_IDB_Hooks(self) + | + | allsegs_moved(self, *args) -> 'void' + | allsegs_moved(self, info) + | + | auto_empty(self, *args) -> 'void' + | auto_empty(self) + | + | auto_empty_finally(self, *args) -> 'void' + | auto_empty_finally(self) + | + | bookmark_changed(self, *args) -> 'void' + | bookmark_changed(self, index, pos, desc) + | + | byte_patched(self, *args) -> 'void' + | byte_patched(self, ea, old_value) + | + | callee_addr_changed(self, *args) -> 'void' + | callee_addr_changed(self, ea, callee) + | + | changing_cmt(self, *args) -> 'void' + | changing_cmt(self, ea, repeatable_cmt, newcmt) + | + | changing_enum_bf(self, *args) -> 'void' + | changing_enum_bf(self, id, new_bf) + | + | changing_enum_cmt(self, *args) -> 'void' + | changing_enum_cmt(self, id, repeatable, newcmt) + | + | changing_op_ti(self, *args) -> 'void' + | changing_op_ti(self, ea, n, new_type, new_fnames) + | + | changing_op_type(self, *args) -> 'void' + | changing_op_type(self, ea, n, opinfo) + | + | changing_range_cmt(self, *args) -> 'void' + | changing_range_cmt(self, kind, a, cmt, repeatable) + | + | changing_segm_class(self, *args) -> 'void' + | changing_segm_class(self, s) + | + | changing_segm_end(self, *args) -> 'void' + | changing_segm_end(self, s, new_end, segmod_flags) + | + | changing_segm_name(self, *args) -> 'void' + | changing_segm_name(self, s, oldname) + | + | changing_segm_start(self, *args) -> 'void' + | changing_segm_start(self, s, new_start, segmod_flags) + | + | changing_struc_align(self, *args) -> 'void' + | changing_struc_align(self, sptr) + | + | changing_struc_cmt(self, *args) -> 'void' + | changing_struc_cmt(self, struc_id, repeatable, newcmt) + | + | changing_struc_member(self, *args) -> 'void' + | changing_struc_member(self, sptr, mptr, flag, ti, nbytes) + | + | changing_ti(self, *args) -> 'void' + | changing_ti(self, ea, new_type, new_fnames) + | + | closebase(self, *args) -> 'void' + | closebase(self) + | + | cmt_changed(self, *args) -> 'void' + | cmt_changed(self, ea, repeatable_cmt) + | + | compiler_changed(self, *args) -> 'void' + | compiler_changed(self) + | + | deleting_enum(self, *args) -> 'void' + | deleting_enum(self, id) + | + | deleting_enum_member(self, *args) -> 'void' + | deleting_enum_member(self, id, cid) + | + | deleting_func(self, *args) -> 'void' + | deleting_func(self, pfn) + | + | deleting_func_tail(self, *args) -> 'void' + | deleting_func_tail(self, pfn, tail) + | + | deleting_segm(self, *args) -> 'void' + | deleting_segm(self, start_ea) + | + | deleting_struc(self, *args) -> 'void' + | deleting_struc(self, sptr) + | + | deleting_struc_member(self, *args) -> 'void' + | deleting_struc_member(self, sptr, mptr) + | + | deleting_tryblks(self, *args) -> 'void' + | deleting_tryblks(self, range) + | + | destroyed_items(self, *args) -> 'void' + | destroyed_items(self, ea1, ea2, will_disable_range) + | + | determined_main(self, *args) -> 'void' + | determined_main(self, main) + | + | enum_bf_changed(self, *args) -> 'void' + | enum_bf_changed(self, id) + | + | enum_cmt_changed(self, *args) -> 'void' + | enum_cmt_changed(self, id, repeatable) + | + | enum_created(self, *args) -> 'void' + | enum_created(self, id) + | + | enum_deleted(self, *args) -> 'void' + | enum_deleted(self, id) + | + | enum_member_created(self, *args) -> 'void' + | enum_member_created(self, id, cid) + | + | enum_member_deleted(self, *args) -> 'void' + | enum_member_deleted(self, id, cid) + | + | enum_renamed(self, *args) -> 'void' + | enum_renamed(self, id) + | + | expanding_struc(self, *args) -> 'void' + | expanding_struc(self, sptr, offset, delta) + | + | extlang_changed(self, *args) -> 'void' + | extlang_changed(self, kind, el, idx) + | + | extra_cmt_changed(self, *args) -> 'void' + | extra_cmt_changed(self, ea, line_idx, cmt) + | + | flow_chart_created(self, *args) -> 'void' + | flow_chart_created(self, fc) + | + | frame_deleted(self, *args) -> 'void' + | frame_deleted(self, pfn) + | + | func_added(self, *args) -> 'void' + | func_added(self, pfn) + | + | func_noret_changed(self, *args) -> 'void' + | func_noret_changed(self, pfn) + | + | func_tail_appended(self, *args) -> 'void' + | func_tail_appended(self, pfn, tail) + | + | func_tail_deleted(self, *args) -> 'void' + | func_tail_deleted(self, pfn, tail_ea) + | + | func_updated(self, *args) -> 'void' + | func_updated(self, pfn) + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | idasgn_loaded(self, *args) -> 'void' + | idasgn_loaded(self, short_sig_name) + | + | item_color_changed(self, *args) -> 'void' + | item_color_changed(self, ea, color) + | + | kernel_config_loaded(self, *args) -> 'void' + | kernel_config_loaded(self) + | + | loader_finished(self, *args) -> 'void' + | loader_finished(self, li, neflags, filetypename) + | + | local_types_changed(self, *args) -> 'void' + | local_types_changed(self) + | + | make_code(self, *args) -> 'void' + | make_code(self, insn) + | + | make_data(self, *args) -> 'void' + | make_data(self, ea, flags, tid, len) + | + | op_ti_changed(self, *args) -> 'void' + | op_ti_changed(self, ea, n, type, fnames) + | + | op_type_changed(self, *args) -> 'void' + | op_type_changed(self, ea, n) + | + | range_cmt_changed(self, *args) -> 'void' + | range_cmt_changed(self, kind, a, cmt, repeatable) + | + | renamed(self, *args) -> 'void' + | renamed(self, ea, new_name, local_name) + | + | renaming_enum(self, *args) -> 'void' + | renaming_enum(self, id, is_enum, newname) + | + | renaming_struc(self, *args) -> 'void' + | renaming_struc(self, id, oldname, newname) + | + | renaming_struc_member(self, *args) -> 'void' + | renaming_struc_member(self, sptr, mptr, newname) + | + | savebase(self, *args) -> 'void' + | savebase(self) + | + | segm_added(self, *args) -> 'void' + | segm_added(self, s) + | + | segm_attrs_updated(self, *args) -> 'void' + | segm_attrs_updated(self, s) + | + | segm_class_changed(self, *args) -> 'void' + | segm_class_changed(self, s, sclass) + | + | segm_deleted(self, *args) -> 'void' + | segm_deleted(self, start_ea, end_ea) + | + | segm_end_changed(self, *args) -> 'void' + | segm_end_changed(self, s, oldend) + | + | segm_moved(self, *args) -> 'void' + | segm_moved(self, _from, to, size, changed_netmap) + | + | segm_name_changed(self, *args) -> 'void' + | segm_name_changed(self, s, name) + | + | segm_start_changed(self, *args) -> 'void' + | segm_start_changed(self, s, oldstart) + | + | set_func_end(self, *args) -> 'void' + | set_func_end(self, pfn, new_end) + | + | set_func_start(self, *args) -> 'void' + | set_func_start(self, pfn, new_start) + | + | sgr_changed(self, *args) -> 'void' + | sgr_changed(self, start_ea, end_ea, regnum, value, old_value, tag) + | + | sgr_deleted(self, *args) -> 'void' + | sgr_deleted(self, start_ea, end_ea, regnum) + | + | stkpnts_changed(self, *args) -> 'void' + | stkpnts_changed(self, pfn) + | + | struc_align_changed(self, *args) -> 'void' + | struc_align_changed(self, sptr) + | + | struc_cmt_changed(self, *args) -> 'void' + | struc_cmt_changed(self, struc_id, repeatable_cmt) + | + | struc_created(self, *args) -> 'void' + | struc_created(self, struc_id) + | + | struc_deleted(self, *args) -> 'void' + | struc_deleted(self, struc_id) + | + | struc_expanded(self, *args) -> 'void' + | struc_expanded(self, sptr) + | + | struc_member_changed(self, *args) -> 'void' + | struc_member_changed(self, sptr, mptr) + | + | struc_member_created(self, *args) -> 'void' + | struc_member_created(self, sptr, mptr) + | + | struc_member_deleted(self, *args) -> 'void' + | struc_member_deleted(self, sptr, member_id, offset) + | + | struc_member_renamed(self, *args) -> 'void' + | struc_member_renamed(self, sptr, mptr) + | + | struc_renamed(self, *args) -> 'void' + | struc_renamed(self, sptr) + | + | tail_owner_changed(self, *args) -> 'void' + | tail_owner_changed(self, tail, owner_func, old_owner) + | + | thunk_func_created(self, *args) -> 'void' + | thunk_func_created(self, pfn) + | + | ti_changed(self, *args) -> 'void' + | ti_changed(self, ea, type, fnames) + | + | tryblks_updated(self, *args) -> 'void' + | tryblks_updated(self, tbv) + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | updating_tryblks(self, *args) -> 'void' + | updating_tryblks(self, tbv) + | + | upgraded(self, *args) -> 'void' + | upgraded(self, _from) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class IDP_Hooks in module ida_idp: + +class IDP_Hooks(builtins.object) + | Proxy of C++ IDP_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> IDP_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_IDP_Hooks(...) + | delete_IDP_Hooks(self) + | + | ev_add_cref(self, *args) -> 'int' + | ev_add_cref(self, _from, to, type) -> int + | + | ev_add_dref(self, *args) -> 'int' + | ev_add_dref(self, _from, to, type) -> int + | + | ev_adjust_argloc(self, *args) -> 'int' + | ev_adjust_argloc(self, argloc, optional_type, size) -> int + | + | ev_adjust_libfunc_ea(self, *args) -> 'int' + | ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int + | + | ev_adjust_refinfo(self, *args) -> 'int' + | ev_adjust_refinfo(self, ri, ea, n, fd) -> int + | + | ev_ana_insn(self, *args) -> 'bool' + | ev_ana_insn(self, out) -> bool + | + | + | Analyzes and decodes an instruction at insn.ea + | - insn.itype must be set >= idaapi.CUSTOM_CMD_ITYPE + | - insn.size must be set to the instruction length + | + | @return: Boolean + | - False if the instruction is not recognized + | - True if the instruction was decoded. 'insn' should be filled in that case. + | + | ev_analyze_prolog(self, *args) -> 'int' + | ev_analyze_prolog(self, ea) -> int + | + | ev_arg_addrs_ready(self, *args) -> 'int' + | ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int + | + | ev_assemble(self, *args) -> 'PyObject *' + | ev_assemble(self, ea, cs, ip, use32, line) -> PyObject * + | + | + | Assembles an instruction + | + | @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: - None to let the underlying processor module assemble the line + | - or a string containing the assembled buffer + | + | ev_auto_queue_empty(self, *args) -> 'void' + | ev_auto_queue_empty(self, type) + | + | ev_calc_arglocs(self, *args) -> 'int' + | ev_calc_arglocs(self, fti) -> int + | + | ev_calc_cdecl_purged_bytes(self, *args) -> 'int' + | ev_calc_cdecl_purged_bytes(self, ea) -> int + | + | ev_calc_next_eas(self, *args) -> 'int' + | ev_calc_next_eas(self, res, insn, over) -> int + | + | ev_calc_purged_bytes(self, *args) -> 'int' + | ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int + | + | ev_calc_retloc(self, *args) -> 'int' + | ev_calc_retloc(self, retloc, rettype, cc) -> int + | + | ev_calc_spdelta(self, *args) -> 'int' + | ev_calc_spdelta(self, spdelta, insn) -> int + | + | ev_calc_step_over(self, *args) -> 'int' + | ev_calc_step_over(self, target, ip) -> int + | + | ev_calc_switch_cases(self, *args) -> 'int' + | ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int + | + | ev_calc_varglocs(self, *args) -> 'int' + | ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int + | + | ev_calcrel(self, *args) -> 'int' + | ev_calcrel(self) -> int + | + | ev_can_have_type(self, *args) -> 'int' + | ev_can_have_type(self, op) -> int + | + | ev_clean_tbit(self, *args) -> 'int' + | ev_clean_tbit(self, ea, getreg, regvalues) -> int + | + | ev_cmp_operands(self, *args) -> 'int' + | ev_cmp_operands(self, op1, op2) -> int + | + | ev_coagulate(self, *args) -> 'int' + | ev_coagulate(self, start_ea) -> int + | + | ev_coagulate_dref(self, *args) -> 'int' + | ev_coagulate_dref(self, _from, to, may_define, code_ea) -> int + | + | ev_create_flat_group(self, *args) -> 'int' + | ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int + | + | ev_create_func_frame(self, *args) -> 'int' + | ev_create_func_frame(self, pfn) -> int + | + | ev_create_switch_xrefs(self, *args) -> 'int' + | ev_create_switch_xrefs(self, jumpea, si) -> int + | + | ev_creating_segm(self, *args) -> 'int' + | ev_creating_segm(self, seg) -> int + | + | ev_decorate_name(self, *args) -> 'PyObject *' + | ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * + | + | ev_del_cref(self, *args) -> 'int' + | ev_del_cref(self, _from, to, expand) -> int + | + | ev_del_dref(self, *args) -> 'int' + | ev_del_dref(self, _from, to) -> int + | + | ev_delay_slot_insn(self, *args) -> 'PyObject *' + | ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * + | + | ev_demangle_name(self, *args) -> 'PyObject *' + | ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * + | + | ev_emu_insn(self, *args) -> 'bool' + | 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. + | + | @return: Boolean (whether this instruction has been emulated or not) + | + | ev_endbinary(self, *args) -> 'int' + | ev_endbinary(self, ok) -> int + | + | ev_ending_undo(self, *args) -> 'int' + | ev_ending_undo(self, action_name, is_undo) -> int + | + | ev_equal_reglocs(self, *args) -> 'int' + | ev_equal_reglocs(self, a1, a2) -> int + | + | ev_extract_address(self, *args) -> 'int' + | ev_extract_address(self, out_ea, screen_ea, string, position) -> int + | + | ev_find_op_value(self, *args) -> 'PyObject *' + | ev_find_op_value(self, pinsn, opn) -> PyObject * + | + | ev_find_reg_value(self, *args) -> 'PyObject *' + | ev_find_reg_value(self, pinsn, reg) -> PyObject * + | + | ev_func_bounds(self, *args) -> 'void' + | ev_func_bounds(self, possible_return_code, pfn, max_func_end_ea) + | + | ev_gen_asm_or_lst(self, *args) -> 'void' + | ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) + | + | ev_gen_map_file(self, *args) -> 'int' + | ev_gen_map_file(self, nlines, fp) -> int + | + | ev_gen_regvar_def(self, *args) -> 'int' + | ev_gen_regvar_def(self, outctx, v) -> int + | + | ev_gen_src_file_lnnum(self, *args) -> 'int' + | ev_gen_src_file_lnnum(self, outctx, file, lnnum) -> int + | + | ev_gen_stkvar_def(self, *args) -> 'int' + | ev_gen_stkvar_def(self, outctx, mptr, v) -> int + | + | ev_get_abi_info(self, *args) -> 'int' + | ev_get_abi_info(self, abi_names, abi_opts, comp) -> int + | + | ev_get_autocmt(self, *args) -> 'PyObject *' + | ev_get_autocmt(self, insn) -> PyObject * + | + | ev_get_bg_color(self, *args) -> 'int' + | ev_get_bg_color(self, ea) -> int or None + | + | ev_get_cc_regs(self, *args) -> 'int' + | ev_get_cc_regs(self, regs, cc) -> int + | + | ev_get_code16_mode(self, *args) -> 'int' + | ev_get_code16_mode(self, ea) -> int + | + | ev_get_dbr_opnum(self, *args) -> 'int' + | ev_get_dbr_opnum(self, opnum, insn) -> int + | + | ev_get_default_enum_size(self, *args) -> 'int' + | ev_get_default_enum_size(self, cm) -> int + | + | ev_get_frame_retsize(self, *args) -> 'int' + | ev_get_frame_retsize(self, frsize, pfn) -> int + | + | ev_get_macro_insn_head(self, *args) -> 'int' + | ev_get_macro_insn_head(self, head, ip) -> int + | + | ev_get_operand_string(self, *args) -> 'PyObject *' + | ev_get_operand_string(self, insn, opnum) -> PyObject * + | + | ev_get_reg_info(self, *args) -> 'int' + | ev_get_reg_info(self, main_regname, bitrange, regname) -> int + | + | ev_get_reg_name(self, *args) -> 'PyObject *' + | ev_get_reg_name(self, reg, width, reghi) -> PyObject * + | + | ev_get_simd_types(self, *args) -> 'int' + | ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int + | + | ev_get_stkarg_offset(self, *args) -> 'int' + | ev_get_stkarg_offset(self) -> int + | + | ev_get_stkvar_scale_factor(self, *args) -> 'int' + | ev_get_stkvar_scale_factor(self) -> int + | + | ev_getreg(self, *args) -> 'int' + | ev_getreg(self, regval, regnum) -> int + | + | ev_init(self, *args) -> 'int' + | ev_init(self, idp_modname) -> int + | + | ev_insn_reads_tbit(self, *args) -> 'int' + | ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int + | + | ev_is_align_insn(self, *args) -> 'int' + | ev_is_align_insn(self, ea) -> int + | + | ev_is_alloca_probe(self, *args) -> 'int' + | ev_is_alloca_probe(self, ea) -> int + | + | ev_is_basic_block_end(self, *args) -> 'int' + | ev_is_basic_block_end(self, insn, call_insn_stops_block) -> int + | + | ev_is_call_insn(self, *args) -> 'int' + | ev_is_call_insn(self, insn) -> int + | + | + | Is the instruction a "call"? + | + | @param insn: instruction + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_cond_insn(self, *args) -> 'int' + | ev_is_cond_insn(self, insn) -> int + | + | ev_is_far_jump(self, *args) -> 'int' + | ev_is_far_jump(self, icode) -> int + | + | ev_is_indirect_jump(self, *args) -> 'int' + | ev_is_indirect_jump(self, insn) -> int + | + | ev_is_insn_table_jump(self, *args) -> 'int' + | ev_is_insn_table_jump(self, insn) -> int + | + | ev_is_jump_func(self, *args) -> 'int' + | ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int + | + | ev_is_ret_insn(self, *args) -> 'int' + | ev_is_ret_insn(self, insn, strict) -> int + | + | + | Is the instruction a "return"? + | + | @param insn: instruction + | @param strict: - True: report only ret instructions + | False: include instructions like "leave" which begins the function epilog + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_sane_insn(self, *args) -> 'int' + | ev_is_sane_insn(self, insn, no_crefs) -> int + | + | + | is the instruction sane for the current file type? + | @param insn: the instruction + | @param no_crefs: + | - 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. + | @return: >=0-ok, <0-no, the instruction isn't likely to appear in the program + | + | ev_is_sp_based(self, *args) -> 'int' + | ev_is_sp_based(self, mode, insn, op) -> int + | + | ev_is_switch(self, *args) -> 'int' + | ev_is_switch(self, si, insn) -> int + | + | ev_last_cb_before_loader(self, *args) -> 'int' + | ev_last_cb_before_loader(self) -> int + | + | ev_loader(self, *args) -> 'int' + | ev_loader(self) -> int + | + | ev_lower_func_type(self, *args) -> 'int' + | ev_lower_func_type(self, argnums, fti) -> int + | + | ev_max_ptr_size(self, *args) -> 'int' + | ev_max_ptr_size(self) -> int + | + | ev_may_be_func(self, *args) -> 'int' + | ev_may_be_func(self, insn, state) -> int + | + | + | Can a function start here? + | @param insn: the instruction + | @param state: autoanalysis phase + | 0: creating functions + | 1: creating chunks + | + | @return: integer (probability 0..100) + | + | ev_may_show_sreg(self, *args) -> 'int' + | ev_may_show_sreg(self, current_ea) -> int + | + | ev_moving_segm(self, *args) -> 'int' + | ev_moving_segm(self, seg, to, flags) -> int + | + | ev_newasm(self, *args) -> 'int' + | ev_newasm(self, asmnum) -> int + | + | ev_newbinary(self, *args) -> 'int' + | ev_newbinary(self, filename, fileoff, basepara, binoff, nbytes) -> int + | + | ev_newfile(self, *args) -> 'int' + | ev_newfile(self, fname) -> int + | + | ev_newprc(self, *args) -> 'int' + | ev_newprc(self, pnum, keep_cfg) -> int + | + | ev_next_exec_insn(self, *args) -> 'int' + | ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int + | + | ev_oldfile(self, *args) -> 'int' + | ev_oldfile(self, fname) -> int + | + | ev_out_assumes(self, *args) -> 'int' + | ev_out_assumes(self, outctx) -> int + | + | ev_out_data(self, *args) -> 'int' + | ev_out_data(self, outctx, analyze_only) -> int + | + | ev_out_footer(self, *args) -> 'void' + | ev_out_footer(self, outctx) + | + | ev_out_header(self, *args) -> 'void' + | ev_out_header(self, outctx) + | + | ev_out_insn(self, *args) -> 'bool' + | ev_out_insn(self, outctx) -> bool + | + | + | Outputs the instruction defined in 'ctx.insn' + | + | @return: Boolean (whether this instruction can be outputted or not) + | + | ev_out_label(self, *args) -> 'int' + | ev_out_label(self, outctx, colored_name) -> int + | + | ev_out_mnem(self, *args) -> 'int' + | ev_out_mnem(self, outctx) -> int + | + | ev_out_operand(self, *args) -> 'bool' + | ev_out_operand(self, outctx, op) -> bool + | + | + | Notification to generate operand text. + | If False was returned, then the standard operand output function will be called. + | + | this notification may use out_...() functions to form the operand text + | + | @return: Boolean (whether the operand has been outputted or not) + | + | ev_out_segend(self, *args) -> 'int' + | ev_out_segend(self, outctx, seg) -> int + | + | ev_out_segstart(self, *args) -> 'int' + | ev_out_segstart(self, outctx, seg) -> int + | + | ev_out_special_item(self, *args) -> 'int' + | ev_out_special_item(self, outctx, segtype) -> int + | + | ev_realcvt(self, *args) -> 'int' + | ev_realcvt(self, m, e, swt) -> int + | + | ev_rename(self, *args) -> 'int' + | ev_rename(self, ea, new_name) -> int + | + | + | The kernel is going to rename a byte. + | + | @param ea: Address + | @param new_name: The new name + | + | @return: + | - If returns value <0, then the kernel should + | not rename it. See also the 'renamed' event + | + | ev_replaying_undo(self, *args) -> 'int' + | ev_replaying_undo(self, action_name, vec, is_undo) -> int + | + | ev_set_code16_mode(self, *args) -> 'int' + | ev_set_code16_mode(self, ea, code16) -> int + | + | ev_set_idp_options(self, *args) -> 'int' + | ev_set_idp_options(self, keyword, value_type, value, errbuf, idb_loaded) -> int + | + | ev_set_proc_options(self, *args) -> 'int' + | ev_set_proc_options(self, options, confidence) -> int + | + | ev_setup_til(self, *args) -> 'void' + | ev_setup_til(self) + | + | ev_shadow_args_size(self, *args) -> 'int' + | ev_shadow_args_size(self, shadow_args_size, pfn) -> int + | + | ev_str2reg(self, *args) -> 'int' + | ev_str2reg(self, regname) -> int + | + | ev_term(self, *args) -> 'int' + | ev_term(self) -> int + | + | ev_treat_hindering_item(self, *args) -> 'int' + | ev_treat_hindering_item(self, hindering_item_ea, new_item_flags, new_item_ea, new_item_length) -> int + | + | ev_undefine(self, *args) -> 'int' + | ev_undefine(self, ea) -> int + | + | + | An item in the database (insn or data) is being deleted + | @param ea: Address + | @return: + | - 1 - do not delete srranges at the item end + | - 0 - srranges can be deleted + | + | ev_use_arg_types(self, *args) -> 'int' + | ev_use_arg_types(self, ea, fti, rargs) -> int + | + | ev_use_regarg_type(self, *args) -> 'PyObject *' + | ev_use_regarg_type(self, ea, rargs) -> PyObject * + | + | ev_use_stkarg_type(self, *args) -> 'int' + | ev_use_stkarg_type(self, ea, arg) -> int + | + | ev_validate_flirt_func(self, *args) -> 'int' + | ev_validate_flirt_func(self, start_ea, funcname) -> int + | + | ev_verify_noreturn(self, *args) -> 'int' + | ev_verify_noreturn(self, pfn) -> int + | + | ev_verify_sp(self, *args) -> 'int' + | ev_verify_sp(self, pfn) -> int + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | + | Creates an IDP hook + | + | @return: Boolean true on success + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | + | Removes the IDP hook + | @return: Boolean true on success + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class __ph in module ida_idp: + +class __ph(builtins.object) + | # ---------------------------------------------------------------------- + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cnbits + | + | dnbits + | + | flag + | + | icode_return + | + | id + | + | instruc + | + | instruc_end + | + | instruc_start + | + | reg_code_sreg + | + | reg_data_sreg + | + | reg_first_sreg + | + | reg_last_sreg + | + | regnames + | + | segreg_size + | + | tbyte_size + | + | version + +Help on class _notify_when_dispatcher_t in module ida_idp: + +class _notify_when_dispatcher_t(builtins.object) + | Methods defined here: + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | _find(self, fun) + | + | dispatch(self, slot, *args) + | + | notify_when(self, when, fun) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _IDB_Hooks = + | Proxy of C++ IDB_Hooks class. + | + | _IDP_Hooks = + | Proxy of C++ IDP_Hooks class. + | + | _callback_t = + +Help on class _processor_t_Trampoline_IDB_Hooks in module ida_idp: + +class _processor_t_Trampoline_IDB_Hooks(IDB_Hooks) + | Proxy of C++ IDB_Hooks class. + | + | Method resolution order: + | _processor_t_Trampoline_IDB_Hooks + | IDB_Hooks + | builtins.object + | + | Methods defined here: + | + | __init__(self, proc) + | __init__(self, _flags=0) -> IDB_Hooks + | + | _processor_t_Trampoline_IDB_Hooks__dummy = __dummy(self, *args) + | + | _processor_t_Trampoline_IDB_Hooks__make_parent_caller = __make_parent_caller(self, key) + | + | ---------------------------------------------------------------------- + | Methods inherited from IDB_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_IDB_Hooks(...) + | delete_IDB_Hooks(self) + | + | allsegs_moved(self, *args) -> 'void' + | allsegs_moved(self, info) + | + | auto_empty(self, *args) -> 'void' + | auto_empty(self) + | + | auto_empty_finally(self, *args) -> 'void' + | auto_empty_finally(self) + | + | bookmark_changed(self, *args) -> 'void' + | bookmark_changed(self, index, pos, desc) + | + | byte_patched(self, *args) -> 'void' + | byte_patched(self, ea, old_value) + | + | callee_addr_changed(self, *args) -> 'void' + | callee_addr_changed(self, ea, callee) + | + | changing_cmt(self, *args) -> 'void' + | changing_cmt(self, ea, repeatable_cmt, newcmt) + | + | changing_enum_bf(self, *args) -> 'void' + | changing_enum_bf(self, id, new_bf) + | + | changing_enum_cmt(self, *args) -> 'void' + | changing_enum_cmt(self, id, repeatable, newcmt) + | + | changing_op_ti(self, *args) -> 'void' + | changing_op_ti(self, ea, n, new_type, new_fnames) + | + | changing_op_type(self, *args) -> 'void' + | changing_op_type(self, ea, n, opinfo) + | + | changing_range_cmt(self, *args) -> 'void' + | changing_range_cmt(self, kind, a, cmt, repeatable) + | + | changing_segm_class(self, *args) -> 'void' + | changing_segm_class(self, s) + | + | changing_segm_end(self, *args) -> 'void' + | changing_segm_end(self, s, new_end, segmod_flags) + | + | changing_segm_name(self, *args) -> 'void' + | changing_segm_name(self, s, oldname) + | + | changing_segm_start(self, *args) -> 'void' + | changing_segm_start(self, s, new_start, segmod_flags) + | + | changing_struc_align(self, *args) -> 'void' + | changing_struc_align(self, sptr) + | + | changing_struc_cmt(self, *args) -> 'void' + | changing_struc_cmt(self, struc_id, repeatable, newcmt) + | + | changing_struc_member(self, *args) -> 'void' + | changing_struc_member(self, sptr, mptr, flag, ti, nbytes) + | + | changing_ti(self, *args) -> 'void' + | changing_ti(self, ea, new_type, new_fnames) + | + | closebase(self, *args) -> 'void' + | closebase(self) + | + | cmt_changed(self, *args) -> 'void' + | cmt_changed(self, ea, repeatable_cmt) + | + | compiler_changed(self, *args) -> 'void' + | compiler_changed(self) + | + | deleting_enum(self, *args) -> 'void' + | deleting_enum(self, id) + | + | deleting_enum_member(self, *args) -> 'void' + | deleting_enum_member(self, id, cid) + | + | deleting_func(self, *args) -> 'void' + | deleting_func(self, pfn) + | + | deleting_func_tail(self, *args) -> 'void' + | deleting_func_tail(self, pfn, tail) + | + | deleting_segm(self, *args) -> 'void' + | deleting_segm(self, start_ea) + | + | deleting_struc(self, *args) -> 'void' + | deleting_struc(self, sptr) + | + | deleting_struc_member(self, *args) -> 'void' + | deleting_struc_member(self, sptr, mptr) + | + | deleting_tryblks(self, *args) -> 'void' + | deleting_tryblks(self, range) + | + | destroyed_items(self, *args) -> 'void' + | destroyed_items(self, ea1, ea2, will_disable_range) + | + | determined_main(self, *args) -> 'void' + | determined_main(self, main) + | + | enum_bf_changed(self, *args) -> 'void' + | enum_bf_changed(self, id) + | + | enum_cmt_changed(self, *args) -> 'void' + | enum_cmt_changed(self, id, repeatable) + | + | enum_created(self, *args) -> 'void' + | enum_created(self, id) + | + | enum_deleted(self, *args) -> 'void' + | enum_deleted(self, id) + | + | enum_member_created(self, *args) -> 'void' + | enum_member_created(self, id, cid) + | + | enum_member_deleted(self, *args) -> 'void' + | enum_member_deleted(self, id, cid) + | + | enum_renamed(self, *args) -> 'void' + | enum_renamed(self, id) + | + | expanding_struc(self, *args) -> 'void' + | expanding_struc(self, sptr, offset, delta) + | + | extlang_changed(self, *args) -> 'void' + | extlang_changed(self, kind, el, idx) + | + | extra_cmt_changed(self, *args) -> 'void' + | extra_cmt_changed(self, ea, line_idx, cmt) + | + | flow_chart_created(self, *args) -> 'void' + | flow_chart_created(self, fc) + | + | frame_deleted(self, *args) -> 'void' + | frame_deleted(self, pfn) + | + | func_added(self, *args) -> 'void' + | func_added(self, pfn) + | + | func_noret_changed(self, *args) -> 'void' + | func_noret_changed(self, pfn) + | + | func_tail_appended(self, *args) -> 'void' + | func_tail_appended(self, pfn, tail) + | + | func_tail_deleted(self, *args) -> 'void' + | func_tail_deleted(self, pfn, tail_ea) + | + | func_updated(self, *args) -> 'void' + | func_updated(self, pfn) + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | idasgn_loaded(self, *args) -> 'void' + | idasgn_loaded(self, short_sig_name) + | + | item_color_changed(self, *args) -> 'void' + | item_color_changed(self, ea, color) + | + | kernel_config_loaded(self, *args) -> 'void' + | kernel_config_loaded(self) + | + | loader_finished(self, *args) -> 'void' + | loader_finished(self, li, neflags, filetypename) + | + | local_types_changed(self, *args) -> 'void' + | local_types_changed(self) + | + | make_code(self, *args) -> 'void' + | make_code(self, insn) + | + | make_data(self, *args) -> 'void' + | make_data(self, ea, flags, tid, len) + | + | op_ti_changed(self, *args) -> 'void' + | op_ti_changed(self, ea, n, type, fnames) + | + | op_type_changed(self, *args) -> 'void' + | op_type_changed(self, ea, n) + | + | range_cmt_changed(self, *args) -> 'void' + | range_cmt_changed(self, kind, a, cmt, repeatable) + | + | renamed(self, *args) -> 'void' + | renamed(self, ea, new_name, local_name) + | + | renaming_enum(self, *args) -> 'void' + | renaming_enum(self, id, is_enum, newname) + | + | renaming_struc(self, *args) -> 'void' + | renaming_struc(self, id, oldname, newname) + | + | renaming_struc_member(self, *args) -> 'void' + | renaming_struc_member(self, sptr, mptr, newname) + | + | savebase(self, *args) -> 'void' + | savebase(self) + | + | segm_added(self, *args) -> 'void' + | segm_added(self, s) + | + | segm_attrs_updated(self, *args) -> 'void' + | segm_attrs_updated(self, s) + | + | segm_class_changed(self, *args) -> 'void' + | segm_class_changed(self, s, sclass) + | + | segm_deleted(self, *args) -> 'void' + | segm_deleted(self, start_ea, end_ea) + | + | segm_end_changed(self, *args) -> 'void' + | segm_end_changed(self, s, oldend) + | + | segm_moved(self, *args) -> 'void' + | segm_moved(self, _from, to, size, changed_netmap) + | + | segm_name_changed(self, *args) -> 'void' + | segm_name_changed(self, s, name) + | + | segm_start_changed(self, *args) -> 'void' + | segm_start_changed(self, s, oldstart) + | + | set_func_end(self, *args) -> 'void' + | set_func_end(self, pfn, new_end) + | + | set_func_start(self, *args) -> 'void' + | set_func_start(self, pfn, new_start) + | + | sgr_changed(self, *args) -> 'void' + | sgr_changed(self, start_ea, end_ea, regnum, value, old_value, tag) + | + | sgr_deleted(self, *args) -> 'void' + | sgr_deleted(self, start_ea, end_ea, regnum) + | + | stkpnts_changed(self, *args) -> 'void' + | stkpnts_changed(self, pfn) + | + | struc_align_changed(self, *args) -> 'void' + | struc_align_changed(self, sptr) + | + | struc_cmt_changed(self, *args) -> 'void' + | struc_cmt_changed(self, struc_id, repeatable_cmt) + | + | struc_created(self, *args) -> 'void' + | struc_created(self, struc_id) + | + | struc_deleted(self, *args) -> 'void' + | struc_deleted(self, struc_id) + | + | struc_expanded(self, *args) -> 'void' + | struc_expanded(self, sptr) + | + | struc_member_changed(self, *args) -> 'void' + | struc_member_changed(self, sptr, mptr) + | + | struc_member_created(self, *args) -> 'void' + | struc_member_created(self, sptr, mptr) + | + | struc_member_deleted(self, *args) -> 'void' + | struc_member_deleted(self, sptr, member_id, offset) + | + | struc_member_renamed(self, *args) -> 'void' + | struc_member_renamed(self, sptr, mptr) + | + | struc_renamed(self, *args) -> 'void' + | struc_renamed(self, sptr) + | + | tail_owner_changed(self, *args) -> 'void' + | tail_owner_changed(self, tail, owner_func, old_owner) + | + | thunk_func_created(self, *args) -> 'void' + | thunk_func_created(self, pfn) + | + | ti_changed(self, *args) -> 'void' + | ti_changed(self, ea, type, fnames) + | + | tryblks_updated(self, *args) -> 'void' + | tryblks_updated(self, tbv) + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | updating_tryblks(self, *args) -> 'void' + | updating_tryblks(self, tbv) + | + | upgraded(self, *args) -> 'void' + | upgraded(self, _from) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from IDB_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class asm_t in module ida_idp: + +class asm_t(builtins.object) + | Proxy of C++ asm_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> asm_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_asm_t(...) + | delete_asm_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | a_align + | asm_t_a_align_get(self) -> char const * + | + | a_ascii + | asm_t_a_ascii_get(self) -> char const * + | + | a_band + | asm_t_a_band_get(self) -> char const * + | + | a_bnot + | asm_t_a_bnot_get(self) -> char const * + | + | a_bor + | asm_t_a_bor_get(self) -> char const * + | + | a_bss + | asm_t_a_bss_get(self) -> char const * + | + | a_byte + | asm_t_a_byte_get(self) -> char const * + | + | a_comdef + | asm_t_a_comdef_get(self) -> char const * + | + | a_curip + | asm_t_a_curip_get(self) -> char const * + | + | a_double + | asm_t_a_double_get(self) -> char const * + | + | a_dups + | asm_t_a_dups_get(self) -> char const * + | + | a_dword + | asm_t_a_dword_get(self) -> char const * + | + | a_equ + | asm_t_a_equ_get(self) -> char const * + | + | a_extrn + | asm_t_a_extrn_get(self) -> char const * + | + | a_float + | asm_t_a_float_get(self) -> char const * + | + | a_include_fmt + | asm_t_a_include_fmt_get(self) -> char const * + | + | a_mod + | asm_t_a_mod_get(self) -> char const * + | + | a_oword + | asm_t_a_oword_get(self) -> char const * + | + | a_packreal + | asm_t_a_packreal_get(self) -> char const * + | + | a_public + | asm_t_a_public_get(self) -> char const * + | + | a_qword + | asm_t_a_qword_get(self) -> char const * + | + | a_rva + | asm_t_a_rva_get(self) -> char const * + | + | a_seg + | asm_t_a_seg_get(self) -> char const * + | + | a_shl + | asm_t_a_shl_get(self) -> char const * + | + | a_shr + | asm_t_a_shr_get(self) -> char const * + | + | a_sizeof_fmt + | asm_t_a_sizeof_fmt_get(self) -> char const * + | + | a_tbyte + | asm_t_a_tbyte_get(self) -> char const * + | + | a_vstruc_fmt + | asm_t_a_vstruc_fmt_get(self) -> char const * + | + | a_weak + | asm_t_a_weak_get(self) -> char const * + | + | a_word + | asm_t_a_word_get(self) -> char const * + | + | a_xor + | asm_t_a_xor_get(self) -> char const * + | + | a_yword + | asm_t_a_yword_get(self) -> char const * + | + | accsep + | asm_t_accsep_get(self) -> char + | + | ascsep + | asm_t_ascsep_get(self) -> char + | + | cmnt + | asm_t_cmnt_get(self) -> char const * + | + | cmnt2 + | asm_t_cmnt2_get(self) -> char const * + | + | end + | asm_t_end_get(self) -> char const * + | + | esccodes + | asm_t_esccodes_get(self) -> char const * + | + | flag + | asm_t_flag_get(self) -> uint32 + | + | flag2 + | asm_t_flag2_get(self) -> uint32 + | + | header + | asm_t_header_get(self) -> char const *const * + | + | help + | asm_t_help_get(self) -> help_t + | + | high16 + | asm_t_high16_get(self) -> char const * + | + | high8 + | asm_t_high8_get(self) -> char const * + | + | lbrace + | asm_t_lbrace_get(self) -> char + | + | low16 + | asm_t_low16_get(self) -> char const * + | + | low8 + | asm_t_low8_get(self) -> char const * + | + | name + | asm_t_name_get(self) -> char const * + | + | origin + | asm_t_origin_get(self) -> char const * + | + | rbrace + | asm_t_rbrace_get(self) -> char + | + | thisown + | The membership flag + | + | uflag + | asm_t_uflag_get(self) -> uint16 + +Help on function assemble in module ida_idp: + +assemble(*args) -> 'bool' + 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. + +Help on function cfg_get_cc_header_path in module ida_idp: + +cfg_get_cc_header_path(*args) -> 'char const *' + cfg_get_cc_header_path(compid) -> char const * + +Help on function cfg_get_cc_parm in module ida_idp: + +cfg_get_cc_parm(*args) -> 'char const *' + cfg_get_cc_parm(compid, name) -> char const * + +Help on function cfg_get_cc_predefined_macros in module ida_idp: + +cfg_get_cc_predefined_macros(*args) -> 'char const *' + cfg_get_cc_predefined_macros(compid) -> char const * + +Help on function delay_slot_insn in module ida_idp: + +delay_slot_insn(*args) -> 'bool' + delay_slot_insn(ea, bexec, fexec) -> bool + + + Helper function to get the delay slot instruction. + + + @param ea (C++: ea_t *) + @param bexec (C++: bool *) + @param fexec (C++: bool *) + +Help on function gen_idb_event in module ida_idp: + +gen_idb_event(*args) -> 'void' + gen_idb_event(code) + + + the kernel will use this function to generate idb_events + + + @param code (C++: idb_event::event_code_t) + +Help on function get_idb_notifier_addr in module ida_idp: + +get_idb_notifier_addr(*args) -> 'PyObject *' + get_idb_notifier_addr(arg1) -> PyObject * + +Help on function get_idb_notifier_ud_addr in module ida_idp: + +get_idb_notifier_ud_addr(*args) -> 'PyObject *' + get_idb_notifier_ud_addr(hooks) -> PyObject * + +Help on function get_idp_name in module ida_idp: + +get_idp_name(*args) -> 'size_t' + 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 NULL + +Help on function get_idp_notifier_addr in module ida_idp: + +get_idp_notifier_addr(*args) -> 'PyObject *' + get_idp_notifier_addr(arg1) -> PyObject * + +Help on function get_idp_notifier_ud_addr in module ida_idp: + +get_idp_notifier_ud_addr(*args) -> 'PyObject *' + get_idp_notifier_ud_addr(hooks) -> PyObject * + +Help on function get_reg_info in module ida_idp: + +get_reg_info(*args) -> 'char const *' + get_reg_info(regname, bitrange) -> char const * + + + Get register information - useful for registers like al, ah, dil, etc. + + @param regname (C++: const char *) + @param bitrange (C++: bitrange_t *) + @return: NULL no such register + +Help on function get_reg_name in module ida_idp: + +get_reg_name(*args) -> 'qstring *' + get_reg_name(reg, width, reghi=-1) -> str + + + Get text representation of a register. For most processors this + function will just return \ph{reg_names}[reg]. If the processor module + has implemented processor_t::get_reg_name, it will be used instead + + @param reg: internal register number as defined in the processor + module (C++: int) + @param width: register width in bytes (C++: size_t) + @param reghi: if specified, then this function will return the + register pair (C++: int) + @return: length of register name in bytes or -1 if failure + +Help on function has_cf_chg in module ida_idp: + +has_cf_chg(*args) -> 'bool' + 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) + +Help on function has_cf_use in module ida_idp: + +has_cf_use(*args) -> 'bool' + 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) + +Help on function has_insn_feature in module ida_idp: + +has_insn_feature(*args) -> 'bool' + has_insn_feature(icode, bit) -> bool + + + Does the specified instruction have the specified feature? + + + @param icode (C++: int) + @param bit (C++: uint32) + +Help on function is_align_insn in module ida_idp: + +is_align_insn(*args) -> 'int' + 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) + +Help on function is_basic_block_end in module ida_idp: + +is_basic_block_end(*args) -> 'bool' + 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 &) + @param call_insn_stops_block (C++: bool) + +Help on function is_call_insn in module ida_idp: + +is_call_insn(*args) -> 'bool' + is_call_insn(insn) -> bool + + + Is the instruction a "call"? + + + @param insn (C++: const insn_t &) + +Help on function is_indirect_jump_insn in module ida_idp: + +is_indirect_jump_insn(*args) -> 'bool' + is_indirect_jump_insn(insn) -> bool + + + Is the instruction an indirect jump? + + + @param insn (C++: const insn_t &) + +Help on function is_ret_insn in module ida_idp: + +is_ret_insn(*args) -> 'bool' + is_ret_insn(insn, strict=True) -> bool + + + Is the instruction a "return"? + + + @param insn (C++: const insn_t &) + @param strict (C++: bool) + +Help on function parse_reg_name in module ida_idp: + +parse_reg_name(*args) -> 'bool' + parse_reg_name(ri, regname) -> bool + + + Get register info by name. + + @param ri: result (C++: reg_info_t *) + @param regname: name of register (C++: const char *) + @return: success + +Help on __ph in module ida_idp object: + +class __ph(builtins.object) + | # ---------------------------------------------------------------------- + | + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cnbits + | + | dnbits + | + | flag + | + | icode_return + | + | id + | + | instruc + | + | instruc_end + | + | instruc_start + | + | reg_code_sreg + | + | reg_data_sreg + | + | reg_first_sreg + | + | reg_last_sreg + | + | regnames + | + | segreg_size + | + | tbyte_size + | + | version + +Help on function ph_calcrel in module ida_idp: + +ph_calcrel(*args) -> 'bytevec_t *' + ph_calcrel(ea) + +Help on function ph_find_op_value in module ida_idp: + +ph_find_op_value(*args) -> 'unsigned-ea-like-numeric-type *'↗ + ph_find_op_value(insn, op) -> ssize_t + +Help on function ph_find_reg_value in module ida_idp: + +ph_find_reg_value(*args) -> 'unsigned-ea-like-numeric-type *'↗ + ph_find_reg_value(insn, reg) -> ssize_t + +Help on function ph_get_cnbits in module ida_idp: + +ph_get_cnbits(*args) -> 'size_t' + ph_get_cnbits() -> size_t + + + Returns the 'ph.cnbits' + +Help on function ph_get_dnbits in module ida_idp: + +ph_get_dnbits(*args) -> 'size_t' + ph_get_dnbits() -> size_t + + + Returns the 'ph.dnbits' + +Help on function ph_get_flag in module ida_idp: + +ph_get_flag(*args) -> 'size_t' + ph_get_flag() -> size_t + + + Returns the 'ph.flag' + +Help on function ph_get_icode_return in module ida_idp: + +ph_get_icode_return(*args) -> 'size_t' + ph_get_icode_return() -> size_t + + + Returns the 'ph.icode_return' + +Help on function ph_get_id in module ida_idp: + +ph_get_id(*args) -> 'size_t' + ph_get_id() -> size_t + + + Returns the 'ph.id' field + +Help on function ph_get_instruc in module ida_idp: + +ph_get_instruc(*args) -> 'PyObject *' + ph_get_instruc() -> PyObject * + + + Returns a list of tuples (instruction_name, instruction_feature) containing the + instructions list as defined in he processor module + +Help on function ph_get_instruc_end in module ida_idp: + +ph_get_instruc_end(*args) -> 'size_t' + ph_get_instruc_end() -> size_t + + + Returns the 'ph.instruc_end' + +Help on function ph_get_instruc_start in module ida_idp: + +ph_get_instruc_start(*args) -> 'size_t' + ph_get_instruc_start() -> size_t + + + Returns the 'ph.instruc_start' + +Help on function ph_get_operand_info in module ida_idp: + +ph_get_operand_info(*args) -> 'PyObject *' + ph_get_operand_info(ea, n) -> PyObject * + + + 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. + +Help on function ph_get_reg_code_sreg in module ida_idp: + +ph_get_reg_code_sreg(*args) -> 'size_t' + ph_get_reg_code_sreg() -> size_t + + + Returns the 'ph.reg_code_sreg' + +Help on function ph_get_reg_data_sreg in module ida_idp: + +ph_get_reg_data_sreg(*args) -> 'size_t' + ph_get_reg_data_sreg() -> size_t + + + Returns the 'ph.reg_data_sreg' + +Help on function ph_get_reg_first_sreg in module ida_idp: + +ph_get_reg_first_sreg(*args) -> 'size_t' + ph_get_reg_first_sreg() -> size_t + + + Returns the 'ph.reg_first_sreg' + +Help on function ph_get_reg_last_sreg in module ida_idp: + +ph_get_reg_last_sreg(*args) -> 'size_t' + ph_get_reg_last_sreg() -> size_t + + + Returns the 'ph.reg_last_sreg' + +Help on function ph_get_regnames in module ida_idp: + +ph_get_regnames(*args) -> 'PyObject *' + ph_get_regnames() -> PyObject * + + + Returns the list of register names as defined in the processor module + +Help on function ph_get_segreg_size in module ida_idp: + +ph_get_segreg_size(*args) -> 'size_t' + ph_get_segreg_size() -> size_t + + + Returns the 'ph.segreg_size' + +Help on function ph_get_tbyte_size in module ida_idp: + +ph_get_tbyte_size(*args) -> 'size_t' + ph_get_tbyte_size() -> size_t + + + Returns the 'ph.tbyte_size' field as defined in he processor module + +Help on function ph_get_version in module ida_idp: + +ph_get_version(*args) -> 'size_t' + ph_get_version() -> size_t + + + Returns the 'ph.version' + +Help on class processor_t in module ida_idp: + +class processor_t(IDP_Hooks) + | Proxy of C++ IDP_Hooks class. + | + | Method resolution order: + | processor_t + | IDP_Hooks + | builtins.object + | + | Methods defined here: + | + | __init__(self) + | __init__(self, _flags=0) -> IDP_Hooks + | + | _get_idb_notifier_addr(self) + | + | _get_idb_notifier_ud_addr(self) + | + | _get_idp_notifier_addr(self) + | + | _get_idp_notifier_ud_addr(self) + | + | _get_notify(self, what, unimp_val=0, imp_forced_val=None, add_prefix=True, mandatory_impl=None) + | This helper is used to implement backward-compatibility + | of pre IDA 7.3 processor_t interfaces. + | + | _make_forced_value_wrapper(self, val, meth=None) + | + | _make_int_returning_wrapper(self, meth, intval=0) + | + | auto_empty(self, *args) + | + | auto_empty_finally(self, *args) + | + | closebase(self, *args) + | + | compiler_changed(self, *args) + | + | deleting_func(self, pfn) + | + | determined_main(self, *args) + | + | ev_ana_insn(self, *args) + | ev_ana_insn(self, out) -> bool + | + | + | Analyzes and decodes an instruction at insn.ea + | - insn.itype must be set >= idaapi.CUSTOM_CMD_ITYPE + | - insn.size must be set to the instruction length + | + | @return: Boolean + | - False if the instruction is not recognized + | - True if the instruction was decoded. 'insn' should be filled in that case. + | + | ev_assemble(self, *args) + | ev_assemble(self, ea, cs, ip, use32, line) -> PyObject * + | + | + | Assembles an instruction + | + | @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: - None to let the underlying processor module assemble the line + | - or a string containing the assembled buffer + | + | ev_auto_queue_empty(self, *args) + | ev_auto_queue_empty(self, type) + | + | ev_calc_step_over(self, target, ip) + | ev_calc_step_over(self, target, ip) -> int + | + | ev_can_have_type(self, *args) + | ev_can_have_type(self, op) -> int + | + | ev_cmp_operands(self, *args) + | ev_cmp_operands(self, op1, op2) -> int + | + | ev_coagulate(self, *args) + | ev_coagulate(self, start_ea) -> int + | + | ev_coagulate_dref(self, from_ea, to_ea, may_define, _code_ea) + | ev_coagulate_dref(self, _from, to, may_define, code_ea) -> int + | + | ev_create_func_frame(self, pfn) + | ev_create_func_frame(self, pfn) -> int + | + | ev_create_switch_xrefs(self, *args) + | ev_create_switch_xrefs(self, jumpea, si) -> int + | + | ev_creating_segm(self, s) + | ev_creating_segm(self, seg) -> int + | + | ev_emu_insn(self, *args) + | 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. + | + | @return: Boolean (whether this instruction has been emulated or not) + | + | ev_endbinary(self, *args) + | ev_endbinary(self, ok) -> int + | + | ev_func_bounds(self, _possible_return_code, pfn, max_func_end_ea) + | ev_func_bounds(self, possible_return_code, pfn, max_func_end_ea) + | + | ev_gen_map_file(self, nlines, fp) + | ev_gen_map_file(self, nlines, fp) -> int + | + | ev_gen_regvar_def(self, ctx, v) + | ev_gen_regvar_def(self, outctx, v) -> int + | + | ev_gen_src_file_lnnum(self, *args) + | ev_gen_src_file_lnnum(self, outctx, file, lnnum) -> int + | + | ev_get_autocmt(self, *args) + | ev_get_autocmt(self, insn) -> PyObject * + | + | ev_get_frame_retsize(self, frsize, pfn) + | ev_get_frame_retsize(self, frsize, pfn) -> int + | + | ev_get_operand_string(self, buf, insn, opnum) + | ev_get_operand_string(self, insn, opnum) -> PyObject * + | + | ev_is_align_insn(self, *args) + | ev_is_align_insn(self, ea) -> int + | + | ev_is_alloca_probe(self, *args) + | ev_is_alloca_probe(self, ea) -> int + | + | ev_is_basic_block_end(self, *args) + | ev_is_basic_block_end(self, insn, call_insn_stops_block) -> int + | + | ev_is_call_insn(self, *args) + | ev_is_call_insn(self, insn) -> int + | + | + | Is the instruction a "call"? + | + | @param insn: instruction + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_far_jump(self, *args) + | ev_is_far_jump(self, icode) -> int + | + | ev_is_indirect_jump(self, *args) + | ev_is_indirect_jump(self, insn) -> int + | + | ev_is_insn_table_jump(self, *args) + | ev_is_insn_table_jump(self, insn) -> int + | + | ev_is_ret_insn(self, *args) + | ev_is_ret_insn(self, insn, strict) -> int + | + | + | Is the instruction a "return"? + | + | @param insn: instruction + | @param strict: - True: report only ret instructions + | False: include instructions like "leave" which begins the function epilog + | @return: 0-unknown, 1-yes, -1-no + | + | ev_is_sane_insn(self, *args) + | ev_is_sane_insn(self, insn, no_crefs) -> int + | + | + | is the instruction sane for the current file type? + | @param insn: the instruction + | @param no_crefs: + | - 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. + | @return: >=0-ok, <0-no, the instruction isn't likely to appear in the program + | + | ev_is_sp_based(self, mode, insn, op) + | ev_is_sp_based(self, mode, insn, op) -> int + | + | ev_is_switch(self, *args) + | ev_is_switch(self, si, insn) -> int + | + | ev_may_be_func(self, *args) + | ev_may_be_func(self, insn, state) -> int + | + | + | Can a function start here? + | @param insn: the instruction + | @param state: autoanalysis phase + | 0: creating functions + | 1: creating chunks + | + | @return: integer (probability 0..100) + | + | ev_may_show_sreg(self, *args) + | ev_may_show_sreg(self, current_ea) -> int + | + | ev_moving_segm(self, s, to_ea, flags) + | ev_moving_segm(self, seg, to, flags) -> int + | + | ev_newbinary(self, *args) + | ev_newbinary(self, filename, fileoff, basepara, binoff, nbytes) -> int + | + | ev_newfile(self, *args) + | ev_newfile(self, fname) -> int + | + | ev_newprc(self, *args) + | ev_newprc(self, pnum, keep_cfg) -> int + | + | ev_oldfile(self, *args) + | ev_oldfile(self, fname) -> int + | + | ev_out_assumes(self, *args) + | ev_out_assumes(self, outctx) -> int + | + | ev_out_data(self, *args) + | ev_out_data(self, outctx, analyze_only) -> int + | + | ev_out_footer(self, *args) + | ev_out_footer(self, outctx) + | + | ev_out_header(self, *args) + | ev_out_header(self, outctx) + | + | ev_out_insn(self, *args) + | ev_out_insn(self, outctx) -> bool + | + | + | Outputs the instruction defined in 'ctx.insn' + | + | @return: Boolean (whether this instruction can be outputted or not) + | + | ev_out_label(self, *args) + | ev_out_label(self, outctx, colored_name) -> int + | + | ev_out_mnem(self, *args) + | ev_out_mnem(self, outctx) -> int + | + | ev_out_operand(self, *args) + | ev_out_operand(self, outctx, op) -> bool + | + | + | Notification to generate operand text. + | If False was returned, then the standard operand output function will be called. + | + | this notification may use out_...() functions to form the operand text + | + | @return: Boolean (whether the operand has been outputted or not) + | + | ev_out_segend(self, ctx, s) + | ev_out_segend(self, outctx, seg) -> int + | + | ev_out_segstart(self, ctx, s) + | ev_out_segstart(self, outctx, seg) -> int + | + | ev_out_special_item(self, *args) + | ev_out_special_item(self, outctx, segtype) -> int + | + | ev_rename(self, *args) + | ev_rename(self, ea, new_name) -> int + | + | + | The kernel is going to rename a byte. + | + | @param ea: Address + | @param new_name: The new name + | + | @return: + | - If returns value <0, then the kernel should + | not rename it. See also the 'renamed' event + | + | ev_set_idp_options(self, keyword, value_type, value) + | ev_set_idp_options(self, keyword, value_type, value, errbuf, idb_loaded) -> int + | + | ev_set_proc_options(self, *args) + | ev_set_proc_options(self, options, confidence) -> int + | + | ev_str2reg(self, *args) + | ev_str2reg(self, regname) -> int + | + | ev_treat_hindering_item(self, *args) + | ev_treat_hindering_item(self, hindering_item_ea, new_item_flags, new_item_ea, new_item_length) -> int + | + | ev_undefine(self, *args) + | ev_undefine(self, ea) -> int + | + | + | An item in the database (insn or data) is being deleted + | @param ea: Address + | @return: + | - 1 - do not delete srranges at the item end + | - 0 - srranges can be deleted + | + | ev_validate_flirt_func(self, *args) + | ev_validate_flirt_func(self, start_ea, funcname) -> int + | + | ev_verify_noreturn(self, pfn) + | ev_verify_noreturn(self, pfn) -> int + | + | ev_verify_sp(self, pfn) + | ev_verify_sp(self, pfn) -> int + | + | func_added(self, pfn) + | + | get_auxpref(self, insn) + | This function returns insn.auxpref value + | + | get_idpdesc(self) + | 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. + | + | get_uFlag(self) + | Use this utility function to retrieve the 'uFlag' global variable + | + | idasgn_loaded(self, *args) + | + | kernel_config_loaded(self, *args) + | + | make_code(self, *args) + | + | make_data(self, *args) + | + | renamed(self, *args) + | + | savebase(self, *args) + | + | segm_moved(self, from_ea, to_ea, size, changed_netmap) + | + | set_func_end(self, *args) + | + | set_func_start(self, *args) + | + | sgr_changed(self, *args) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __idc_cvt_id__ = 2 + | + | ---------------------------------------------------------------------- + | Methods inherited from IDP_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_IDP_Hooks(...) + | delete_IDP_Hooks(self) + | + | ev_add_cref(self, *args) -> 'int' + | ev_add_cref(self, _from, to, type) -> int + | + | ev_add_dref(self, *args) -> 'int' + | ev_add_dref(self, _from, to, type) -> int + | + | ev_adjust_argloc(self, *args) -> 'int' + | ev_adjust_argloc(self, argloc, optional_type, size) -> int + | + | ev_adjust_libfunc_ea(self, *args) -> 'int' + | ev_adjust_libfunc_ea(self, sig, libfun, ea) -> int + | + | ev_adjust_refinfo(self, *args) -> 'int' + | ev_adjust_refinfo(self, ri, ea, n, fd) -> int + | + | ev_analyze_prolog(self, *args) -> 'int' + | ev_analyze_prolog(self, ea) -> int + | + | ev_arg_addrs_ready(self, *args) -> 'int' + | ev_arg_addrs_ready(self, caller, n, tif, addrs) -> int + | + | ev_calc_arglocs(self, *args) -> 'int' + | ev_calc_arglocs(self, fti) -> int + | + | ev_calc_cdecl_purged_bytes(self, *args) -> 'int' + | ev_calc_cdecl_purged_bytes(self, ea) -> int + | + | ev_calc_next_eas(self, *args) -> 'int' + | ev_calc_next_eas(self, res, insn, over) -> int + | + | ev_calc_purged_bytes(self, *args) -> 'int' + | ev_calc_purged_bytes(self, p_purged_bytes, fti) -> int + | + | ev_calc_retloc(self, *args) -> 'int' + | ev_calc_retloc(self, retloc, rettype, cc) -> int + | + | ev_calc_spdelta(self, *args) -> 'int' + | ev_calc_spdelta(self, spdelta, insn) -> int + | + | ev_calc_switch_cases(self, *args) -> 'int' + | ev_calc_switch_cases(self, casevec, targets, insn_ea, si) -> int + | + | ev_calc_varglocs(self, *args) -> 'int' + | ev_calc_varglocs(self, ftd, aux_regs, aux_stkargs, nfixed) -> int + | + | ev_calcrel(self, *args) -> 'int' + | ev_calcrel(self) -> int + | + | ev_clean_tbit(self, *args) -> 'int' + | ev_clean_tbit(self, ea, getreg, regvalues) -> int + | + | ev_create_flat_group(self, *args) -> 'int' + | ev_create_flat_group(self, image_base, bitness, dataseg_sel) -> int + | + | ev_decorate_name(self, *args) -> 'PyObject *' + | ev_decorate_name(self, name, mangle, cc, optional_type) -> PyObject * + | + | ev_del_cref(self, *args) -> 'int' + | ev_del_cref(self, _from, to, expand) -> int + | + | ev_del_dref(self, *args) -> 'int' + | ev_del_dref(self, _from, to) -> int + | + | ev_delay_slot_insn(self, *args) -> 'PyObject *' + | ev_delay_slot_insn(self, ea, bexec, fexec) -> PyObject * + | + | ev_demangle_name(self, *args) -> 'PyObject *' + | ev_demangle_name(self, name, disable_mask, demreq) -> PyObject * + | + | ev_ending_undo(self, *args) -> 'int' + | ev_ending_undo(self, action_name, is_undo) -> int + | + | ev_equal_reglocs(self, *args) -> 'int' + | ev_equal_reglocs(self, a1, a2) -> int + | + | ev_extract_address(self, *args) -> 'int' + | ev_extract_address(self, out_ea, screen_ea, string, position) -> int + | + | ev_find_op_value(self, *args) -> 'PyObject *' + | ev_find_op_value(self, pinsn, opn) -> PyObject * + | + | ev_find_reg_value(self, *args) -> 'PyObject *' + | ev_find_reg_value(self, pinsn, reg) -> PyObject * + | + | ev_gen_asm_or_lst(self, *args) -> 'void' + | ev_gen_asm_or_lst(self, starting, fp, is_asm, flags, outline) + | + | ev_gen_stkvar_def(self, *args) -> 'int' + | ev_gen_stkvar_def(self, outctx, mptr, v) -> int + | + | ev_get_abi_info(self, *args) -> 'int' + | ev_get_abi_info(self, abi_names, abi_opts, comp) -> int + | + | ev_get_bg_color(self, *args) -> 'int' + | ev_get_bg_color(self, ea) -> int or None + | + | ev_get_cc_regs(self, *args) -> 'int' + | ev_get_cc_regs(self, regs, cc) -> int + | + | ev_get_code16_mode(self, *args) -> 'int' + | ev_get_code16_mode(self, ea) -> int + | + | ev_get_dbr_opnum(self, *args) -> 'int' + | ev_get_dbr_opnum(self, opnum, insn) -> int + | + | ev_get_default_enum_size(self, *args) -> 'int' + | ev_get_default_enum_size(self, cm) -> int + | + | ev_get_macro_insn_head(self, *args) -> 'int' + | ev_get_macro_insn_head(self, head, ip) -> int + | + | ev_get_reg_info(self, *args) -> 'int' + | ev_get_reg_info(self, main_regname, bitrange, regname) -> int + | + | ev_get_reg_name(self, *args) -> 'PyObject *' + | ev_get_reg_name(self, reg, width, reghi) -> PyObject * + | + | ev_get_simd_types(self, *args) -> 'int' + | ev_get_simd_types(self, out, simd_attrs, argloc, create_tifs) -> int + | + | ev_get_stkarg_offset(self, *args) -> 'int' + | ev_get_stkarg_offset(self) -> int + | + | ev_get_stkvar_scale_factor(self, *args) -> 'int' + | ev_get_stkvar_scale_factor(self) -> int + | + | ev_getreg(self, *args) -> 'int' + | ev_getreg(self, regval, regnum) -> int + | + | ev_init(self, *args) -> 'int' + | ev_init(self, idp_modname) -> int + | + | ev_insn_reads_tbit(self, *args) -> 'int' + | ev_insn_reads_tbit(self, insn, getreg, regvalues) -> int + | + | ev_is_cond_insn(self, *args) -> 'int' + | ev_is_cond_insn(self, insn) -> int + | + | ev_is_jump_func(self, *args) -> 'int' + | ev_is_jump_func(self, pfn, jump_target, func_pointer) -> int + | + | ev_last_cb_before_loader(self, *args) -> 'int' + | ev_last_cb_before_loader(self) -> int + | + | ev_loader(self, *args) -> 'int' + | ev_loader(self) -> int + | + | ev_lower_func_type(self, *args) -> 'int' + | ev_lower_func_type(self, argnums, fti) -> int + | + | ev_max_ptr_size(self, *args) -> 'int' + | ev_max_ptr_size(self) -> int + | + | ev_newasm(self, *args) -> 'int' + | ev_newasm(self, asmnum) -> int + | + | ev_next_exec_insn(self, *args) -> 'int' + | ev_next_exec_insn(self, target, ea, tid, getreg, regvalues) -> int + | + | ev_realcvt(self, *args) -> 'int' + | ev_realcvt(self, m, e, swt) -> int + | + | ev_replaying_undo(self, *args) -> 'int' + | ev_replaying_undo(self, action_name, vec, is_undo) -> int + | + | ev_set_code16_mode(self, *args) -> 'int' + | ev_set_code16_mode(self, ea, code16) -> int + | + | ev_setup_til(self, *args) -> 'void' + | ev_setup_til(self) + | + | ev_shadow_args_size(self, *args) -> 'int' + | ev_shadow_args_size(self, shadow_args_size, pfn) -> int + | + | ev_term(self, *args) -> 'int' + | ev_term(self) -> int + | + | ev_use_arg_types(self, *args) -> 'int' + | ev_use_arg_types(self, ea, fti, rargs) -> int + | + | ev_use_regarg_type(self, *args) -> 'PyObject *' + | ev_use_regarg_type(self, ea, rargs) -> PyObject * + | + | ev_use_stkarg_type(self, *args) -> 'int' + | ev_use_stkarg_type(self, ea, arg) -> int + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | + | Creates an IDP hook + | + | @return: Boolean true on success + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | + | Removes the IDP hook + | @return: Boolean true on success + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from IDP_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class reg_info_t in module ida_idp: + +class reg_info_t(builtins.object) + | Proxy of C++ reg_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> reg_info_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_reg_info_t(...) + | delete_reg_info_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | reg + | reg_info_t_reg_get(self) -> int + | + | size + | reg_info_t_size_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function set_processor_type in module ida_idp: + +set_processor_type(*args) -> 'bool' + 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: name of processor type (one of names present in + \ph{psnames}) (C++: const char *) + @param level: SETPROC_ (C++: setproc_level_t) + @return: success + +Help on function set_target_assembler in module ida_idp: + +set_target_assembler(*args) -> 'bool' + set_target_assembler(asmnum) -> bool + + + Set target assembler. + + @param asmnum: number of assembler in the current processor module + (C++: int) + @return: success + +Help on function sizeof_ldbl in module ida_idp: + +sizeof_ldbl(*args) -> 'size_t' + sizeof_ldbl() -> size_t + + + Get size of long double. + +Help on function str2reg in module ida_idp: + +str2reg(*args) -> 'int' + str2reg(p) -> int + + + Get any reg number (-1 on error) + + + @param p (C++: const char *) + +=== ida_idp EPYDOC INJECTIONS === +ida_idp.AS2_BRACE +""" +Use braces for all expressions. +""" + +ida_idp.AS2_BYTE1CHAR +""" +Meaningful only for wide byte processors. + +One symbol per processor byte +""" + +ida_idp.AS2_COLONSUF +""" +addresses may have ":xx" suffix this suffix must be ignored when +extracting the address under the cursor +""" + +ida_idp.AS2_IDEALDSCR +""" +Description of struc/union is in the 'reverse' form (keyword before +name) the same as in borland tasm ideal +""" + +ida_idp.AS2_STRINV +""" +(For processors with bytes bigger than 8 bits) + +Invert meaning of \\inf{wide_high_byte_first} for text strings +""" + +ida_idp.AS2_TERSESTR +""" +NAME is supported. + +'terse' structure initialization form +""" + +ida_idp.AS2_YWORD +""" +a_yword field is present and valid +""" + +ida_idp.ASB_BINF0 +""" +010101b +""" + +ida_idp.ASB_BINF1 +""" +^B010101 +""" + +ida_idp.ASB_BINF2 +""" +%010101 +""" + +ida_idp.ASB_BINF3 +""" +0b1010101 +""" + +ida_idp.ASB_BINF4 +""" +b'1010101 +""" + +ida_idp.ASB_BINF5 +""" +b'1010101' +""" + +ida_idp.ASD_DECF0 +""" +34 +""" + +ida_idp.ASD_DECF1 +""" +#34 +""" + +ida_idp.ASD_DECF3 +""" +.34 +""" + +ida_idp.ASH_HEXF0 +""" +34h +""" + +ida_idp.ASH_HEXF1 +""" +h'34 +""" + +ida_idp.ASH_HEXF2 +""" +34 +""" + +ida_idp.ASH_HEXF3 +""" +0x34 +""" + +ida_idp.ASH_HEXF4 +""" +$34 +""" + +ida_idp.ASH_HEXF5 +""" +<^R > (radix) +""" + +ida_idp.ASO_OCTF0 +""" +123o +""" + +ida_idp.ASO_OCTF1 +""" +0123 +""" + +ida_idp.ASO_OCTF2 +""" +123 +""" + +ida_idp.ASO_OCTF3 +""" +@123 +""" + +ida_idp.ASO_OCTF4 +""" +o'123 +""" + +ida_idp.ASO_OCTF5 +""" +123q +""" + +ida_idp.ASO_OCTF6 +""" +~123 +""" + +ida_idp.ASO_OCTF7 +""" +q'123 +""" + +ida_idp.AS_1TEXT +""" +1 text per line, no bytes +""" + +ida_idp.AS_2CHRE +""" +double char constants are: "xy +""" + +ida_idp.AS_ALIGN2 +""" +(.align 5 means to align at 32byte boundary) + +.align directive expects an exponent rather than a power of 2 +""" + +ida_idp.AS_ASCIIC +""" +(\\n,\\x01 and similar) + +ascii directive accepts C-like escape sequences +""" + +ida_idp.AS_ASCIIZ +""" +ascii directive inserts implicit zero byte at the end +""" + +ida_idp.AS_BINFM +""" +mask - binary number format +""" + +ida_idp.AS_COLON +""" +create colons after data names ? +""" + +ida_idp.AS_DECFM +""" +mask - decimal number format +""" + +ida_idp.AS_HEXFM +""" +mask - hex number format +""" + +ida_idp.AS_LALIGN +""" +Labels at "align" keyword are supported. +""" + +ida_idp.AS_N2CHR +""" +can't have 2 byte char consts +""" + +ida_idp.AS_NCHRE +""" +char constants are: 'x +""" + +ida_idp.AS_NCMAS +""" +no commas in ascii directives +""" + +ida_idp.AS_NHIAS +""" +no characters with high bit +""" + +ida_idp.AS_NOCODECLN +""" +don't create colons after code names +""" + +ida_idp.AS_NOSPACE +""" +No spaces in expressions. +""" + +ida_idp.AS_NOXRF +""" +Disable xrefs during the output file generation. +""" + +ida_idp.AS_OCTFM +""" +mask - octal number format +""" + +ida_idp.AS_OFFST +""" +offsets are 'offset xxx' ? +""" + +ida_idp.AS_ONEDUP +""" +One array definition per line. +""" + +ida_idp.AS_RELSUP +""" +Checkarg: 'and','or','xor' operations with addresses are possible. +""" + +ida_idp.AS_UDATA +""" +can use '?' in data directives +""" + +ida_idp.AS_UNEQU +""" +replace undefined data items with EQU (for ANTA's A80) +""" + +ida_idp.AS_XTRNTYPE +""" +Assembler understands type of extern symbols as ":type" suffix. +""" + +ida_idp.CF_CALL +""" +CALL instruction (should make a procedure here) +""" + +ida_idp.CF_CHG1 +""" +The instruction modifies the first operand. +""" + +ida_idp.CF_CHG2 +""" +The instruction modifies the second operand. +""" + +ida_idp.CF_CHG3 +""" +The instruction modifies the third operand. +""" + +ida_idp.CF_CHG4 +""" +The instruction modifies 4 operand. +""" + +ida_idp.CF_CHG5 +""" +The instruction modifies 5 operand. +""" + +ida_idp.CF_CHG6 +""" +The instruction modifies 6 operand. +""" + +ida_idp.CF_HLL +""" +language function. + +Instruction may be present in a high level +""" + +ida_idp.CF_JUMP +""" +jump or call (thus needs additional analysis) + +The instruction passes execution using indirect +""" + +ida_idp.CF_SHFT +""" +Bit-shift instruction (shl,shr...) +""" + +ida_idp.CF_STOP +""" +next instruction + +Instruction doesn't pass execution to the +""" + +ida_idp.CF_USE1 +""" +The instruction uses value of the first operand. +""" + +ida_idp.CF_USE2 +""" +The instruction uses value of the second operand. +""" + +ida_idp.CF_USE3 +""" +The instruction uses value of the third operand. +""" + +ida_idp.CF_USE4 +""" +The instruction uses value of the 4 operand. +""" + +ida_idp.CF_USE5 +""" +The instruction uses value of the 5 operand. +""" + +ida_idp.CF_USE6 +""" +The instruction uses value of the 6 operand. +""" + +ida_idp.CUSTOM_INSN_ITYPE +""" +Custom instruction codes defined by processor extension plugins must +be greater than or equal to this +""" + +ida_idp.IDP_INTERFACE_VERSION +""" +The interface version number.see also 'IDA_SDK_VERSION' from 'pro.h' +""" + +ida_idp.OP_FP_BASED +""" +operand is FP based +""" + +ida_idp.OP_SP_ADD +""" +operand value is added to the pointer +""" + +ida_idp.OP_SP_BASED +""" +operand is SP based +""" + +ida_idp.OP_SP_SUB +""" +operand value is subtracted from the pointer +""" + +ida_idp.PLFM_386 +""" +Intel 80x86. +""" + +ida_idp.PLFM_6502 +""" +6502 +""" + +ida_idp.PLFM_65C816 +""" +65802/65816 +""" + +ida_idp.PLFM_6800 +""" +Motorola 68xx. +""" + +ida_idp.PLFM_68K +""" +Motorola 680x0. +""" + +ida_idp.PLFM_80196 +""" +Intel 80196. +""" + +ida_idp.PLFM_8051 +""" +8051 +""" + +ida_idp.PLFM_AD2106X +""" +Analog Devices ADSP 2106X. +""" + +ida_idp.PLFM_AD218X +""" +Analog Devices ADSP 218X. +""" + +ida_idp.PLFM_ALPHA +""" +DEC Alpha. +""" + +ida_idp.PLFM_ARC +""" +Argonaut RISC Core. +""" + +ida_idp.PLFM_ARM +""" +Advanced RISC Machines. +""" + +ida_idp.PLFM_AVR +""" +Atmel 8-bit RISC processor(s) +""" + +ida_idp.PLFM_C166 +""" +Siemens C166 family. +""" + +ida_idp.PLFM_C39 +""" +Rockwell C39. +""" + +ida_idp.PLFM_CR16 +""" +NSC CR16. +""" + +ida_idp.PLFM_DALVIK +""" +Android Dalvik Virtual Machine. +""" + +ida_idp.PLFM_DSP56K +""" +Motorola DSP5600x. +""" + +ida_idp.PLFM_DSP96K +""" +Motorola DSP96000. +""" + +ida_idp.PLFM_EBC +""" +EFI Bytecode. +""" + +ida_idp.PLFM_F2MC +""" +Fujistu F2MC-16. +""" + +ida_idp.PLFM_FR +""" +Fujitsu FR Family. +""" + +ida_idp.PLFM_H8 +""" +Hitachi H8/300, H8/2000. +""" + +ida_idp.PLFM_H8500 +""" +Hitachi H8/500. +""" + +ida_idp.PLFM_HPPA +""" +Hewlett-Packard PA-RISC. +""" + +ida_idp.PLFM_I860 +""" +Intel 860. +""" + +ida_idp.PLFM_I960 +""" +Intel 960. +""" + +ida_idp.PLFM_IA64 +""" +Intel Itanium IA64. +""" + +ida_idp.PLFM_JAVA +""" +Java. +""" + +ida_idp.PLFM_KR1878 +""" +Angstrem KR1878. +""" + +ida_idp.PLFM_M16C +""" +Renesas M16C. +""" + +ida_idp.PLFM_M32R +""" +Mitsubishi 32bit RISC. +""" + +ida_idp.PLFM_M740 +""" +Mitsubishi 8bit. +""" + +ida_idp.PLFM_M7700 +""" +Mitsubishi 16bit. +""" + +ida_idp.PLFM_M7900 +""" +Mitsubishi 7900. +""" + +ida_idp.PLFM_MC6812 +""" +Motorola 68HC12. +""" + +ida_idp.PLFM_MC6816 +""" +Motorola 68HC16. +""" + +ida_idp.PLFM_MIPS +""" +MIPS. +""" + +ida_idp.PLFM_MN102L00 +""" +Panasonic MN10200. +""" + +ida_idp.PLFM_MSP430 +""" +Texas Instruments MSP430. +""" + +ida_idp.PLFM_NEC_78K0 +""" +NEC 78K0. +""" + +ida_idp.PLFM_NEC_78K0S +""" +NEC 78K0S. +""" + +ida_idp.PLFM_NEC_V850X +""" +NEC V850 and V850ES/E1/E2. +""" + +ida_idp.PLFM_NET +""" +Microsoft Visual Studio.Net. +""" + +ida_idp.PLFM_OAKDSP +""" +Atmel OAK DSP. +""" + +ida_idp.PLFM_PDP +""" +PDP11. +""" + +ida_idp.PLFM_PIC +""" +Microchip's PIC. +""" + +ida_idp.PLFM_PIC16 +""" +Microchip's 16-bit PIC. +""" + +ida_idp.PLFM_PPC +""" +PowerPC. +""" + +ida_idp.PLFM_S390 +""" +IBM's S390. +""" + +ida_idp.PLFM_SCR_ADPT +""" +Processor module adapter for processor modules written in scripting +languages. +""" + +ida_idp.PLFM_SH +""" +Renesas (formerly Hitachi) SuperH. +""" + +ida_idp.PLFM_SPARC +""" +SPARC. +""" + +ida_idp.PLFM_SPC700 +""" +Sony SPC700. +""" + +ida_idp.PLFM_SPU +""" +Cell Broadband Engine Synergistic Processor Unit. +""" + +ida_idp.PLFM_ST20 +""" +SGS-Thomson ST20. +""" + +ida_idp.PLFM_ST7 +""" +SGS-Thomson ST7. +""" + +ida_idp.PLFM_ST9 +""" +ST9+. +""" + +ida_idp.PLFM_TLCS900 +""" +Toshiba TLCS-900. +""" + +ida_idp.PLFM_TMS +""" +Texas Instruments TMS320C5x. +""" + +ida_idp.PLFM_TMS320C1X +""" +Texas Instruments TMS320C1x. +""" + +ida_idp.PLFM_TMS320C28 +""" +Texas Instruments TMS320C28x. +""" + +ida_idp.PLFM_TMS320C3 +""" +Texas Instruments TMS320C3. +""" + +ida_idp.PLFM_TMS320C54 +""" +Texas Instruments TMS320C54xx. +""" + +ida_idp.PLFM_TMS320C55 +""" +Texas Instruments TMS320C55xx. +""" + +ida_idp.PLFM_TMSC6 +""" +Texas Instruments TMS320C6x. +""" + +ida_idp.PLFM_TRICORE +""" +Tasking Tricore. +""" + +ida_idp.PLFM_TRIMEDIA +""" +Trimedia. +""" + +ida_idp.PLFM_UNSP +""" +SunPlus unSP. +""" + +ida_idp.PLFM_Z8 +""" +Z8. +""" + +ida_idp.PLFM_Z80 +""" +8085, Z80 +""" + +ida_idp.PRN_BIN +""" +binary +""" + +ida_idp.PRN_DEC +""" +decimal +""" + +ida_idp.PRN_HEX +""" +hex +""" + +ida_idp.PRN_OCT +""" +octal +""" + +ida_idp.PR_ADJSEGS +""" +IDA may adjust segments' starting/ending addresses. +""" + +ida_idp.PR_ALIGN +""" +All data items should be aligned properly. +""" + +ida_idp.PR_ALIGN_INSN +""" +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 +""" + +ida_idp.PR_ASSEMBLE +""" +Module has a built-in assembler and will react to ev_assemble. +""" + +ida_idp.PR_BINMEM +""" +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 +""" + +ida_idp.PR_CHK_XREF +""" +don't allow near xrefs between segments with different bases +""" + +ida_idp.PR_CNDINSNS +""" +has conditional instructions +""" + +ida_idp.PR_DEFNUM +""" +mask - default number representation +""" + +ida_idp.PR_DEFSEG32 +""" +segments are 32-bit by default +""" + +ida_idp.PR_DEFSEG64 +""" +segments are 64-bit by default +""" + +ida_idp.PR_DELAYED +""" +has delayed jumps and calls if this flag is set, +\\ph{is_basic_block_end}, \\ph{has_delay_slot} should be implemented +""" + +ida_idp.PR_NOCHANGE +""" +(display only) + +The user can't change segments and code/data attributes +""" + +ida_idp.PR_NO_SEGMOVE +""" +(i.e. the user can't move segments) + +the processor module doesn't support 'move_segm()' +""" + +ida_idp.PR_PURGING +""" +there are calling conventions which may purge bytes from the stack +""" + +ida_idp.PR_RNAMESOK +""" +allow user register names for location names +""" + +ida_idp.PR_SCALE_STKVARS +""" +use \\ph{get_stkvar_scale} callback +""" + +ida_idp.PR_SEGS +""" +has segment registers? +""" + +ida_idp.PR_SEGTRANS +""" +the processor module supports the segment translation feature (meaning +it calculates the code addresses using the 'map_code_ea()' function) +""" + +ida_idp.PR_SGROTHER +""" +the segment registers don't contain the segment selectors. +""" + +ida_idp.PR_STACK_UP +""" +the stack grows up +""" + +ida_idp.PR_TYPEINFO +""" +ALL OF THEM SHOULD BE IMPLEMENTED! + +the processor module supports type information callbacks +""" + +ida_idp.PR_USE32 +""" +supports 32-bit addressing? +""" + +ida_idp.PR_USE64 +""" +supports 64-bit addressing? +""" + +ida_idp.PR_USE_ARG_TYPES +""" +use \\ph{use_arg_types} callback +""" + +ida_idp.PR_USE_TBYTE +""" + 'BTMT_SPECFLT' means _TBYTE type +""" + +ida_idp.PR_WORD_INS +""" +instruction codes are grouped 2bytes in binary line prefix +""" + +ida_idp.REG_SPOIL +""" +processor_t::use_regarg_type uses this bit in the return value to +indicate that the register value has been spoiled +""" +=== ida_idp EPYDOC INJECTIONS END === +Help on class Choose in module ida_kernwin: + +class Choose(builtins.object) + | Chooser wrapper class. + | + | Some constants are defined in this class. + | Please refer to kernwin.hpp for more information. + | + | Methods defined here: + | + | Activate(self) + | Activates a visible chooser + | + | AddCommand(self, caption, flags=4, menu_index=-1, icon=-1, emb=None, shortcut=None) + | + | Close(self) + | Closes the chooser + | + | Embedded(self, create_chobj=False) + | Creates an embedded chooser (as opposed to Show()) + | @return: Returns 0 on success or NO_ATTR + | + | GetEmbSelection(self) + | Deprecated. For embedded choosers, the selection is + | available through 'Form.EmbeddedChooserControl.selection' + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | OnPopup(self, widget, popup_handle) + | + | Refresh(self) + | Causes the refresh callback to trigger + | + | Show(self, modal=False) + | 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; + | + | __init__(self, title, cols, flags=0, popup_names=None, icon=-1, x1=-1, y1=-1, x2=-1, y2=-1, deflt=None, embedded=False, width=None, height=None, forbidden_cb=0) + | 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 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 + | + | adjust_last_item(self, n) + | 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) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | ALL_CHANGED = 1 + | + | ALREADY_EXISTS = -3 + | + | CHCOL_DEC = 196608 + | + | CHCOL_EA = 262144 + | + | CHCOL_FNAME = 327680 + | + | CHCOL_FORMAT = 458752 + | + | CHCOL_HEX = 131072 + | + | CHCOL_PATH = 65536 + | + | CHCOL_PLAIN = 0 + | + | CHOOSE_HAVE_DEL = 16 + | + | CHOOSE_HAVE_EDIT = 32 + | + | CHOOSE_HAVE_ENTER = 64 + | + | CHOOSE_HAVE_GETATTR = 4 + | + | CHOOSE_HAVE_GETICON = 2 + | + | CHOOSE_HAVE_INIT = 1 + | + | CHOOSE_HAVE_INS = 8 + | + | CHOOSE_HAVE_ONCLOSE = 512 + | + | CHOOSE_HAVE_REFRESH = 128 + | + | CHOOSE_HAVE_SELECT = 256 + | + | CH_ATTRS = 32 + | + | CH_BUILTIN_MASK = 33030144 + | + | CH_BUILTIN_SHIFT = 19 + | + | CH_CAN_DEL = 512 + | + | CH_CAN_EDIT = 1024 + | + | CH_CAN_INS = 256 + | + | CH_CAN_REFRESH = 2048 + | + | CH_FORCE_DEFAULT = 128 + | + | CH_MODAL = 1 + | + | CH_MULTI = 4 + | + | CH_NOBTNS = 16 + | + | CH_NOIDB = 64 + | + | CH_NO_STATUS_BAR = 65536 + | + | CH_QFLT = 4096 + | + | CH_QFTYP_DEFAULT = 0 + | + | CH_QFTYP_FUZZY = 32768 + | + | CH_QFTYP_MASK = 57344 + | + | CH_QFTYP_NORMAL = 8192 + | + | CH_QFTYP_REGEX = 24576 + | + | CH_QFTYP_SHIFT = 13 + | + | CH_QFTYP_WHOLE_WORDS = 16384 + | + | CH_RESTORE = 131072 + | + | EMPTY_CHOOSER = -2 + | + | NOTHING_CHANGED = 0 + | + | NO_ATTR = -4 + | + | NO_SELECTION = -1 + | + | SELECTION_CHANGED = 2 + | + | UI_Hooks_Trampoline = + | Proxy of C++ UI_Hooks class. + +Help on class CustomIDAMemo in module ida_kernwin: + +class CustomIDAMemo(View_Hooks) + | Proxy of C++ View_Hooks class. + | + | Method resolution order: + | CustomIDAMemo + | View_Hooks + | builtins.object + | + | Methods defined here: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | __init__(self) + | __init__(self, _flags=0) -> View_Hooks + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | view_activated(self, view) + | + | view_click(self, view, ve) + | view_click(self, view, event) + | + | view_close(self, view, *args) + | view_close(self, view) + | + | view_curpos(self, view, *args) + | view_curpos(self, view) + | + | view_dblclick(self, view, ve) + | view_dblclick(self, view, event) + | + | view_deactivated(self, view) + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, view, ve) + | view_mouse_over(self, view, event) + | + | view_switched(self, view, rt) + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_View_Hooks(...) + | delete_View_Hooks(self) + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | view_created(self, *args) -> 'void' + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class Form in module ida_kernwin: + +class Form(builtins.object) + | # ----------------------------------------------------------------------- + | + | Methods defined here: + | + | Add(self, name, ctrl, mkattr=True) + | 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 + | + | AddControls(self, controls, mkattr=True) + | 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 + | + | Close(self, close_normally) + | 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 + | + | Compile(self) + | 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 + | + | CompileEx(self, form) + | 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() + | + | Compiled(self) + | Checks if the form has already been compiled + | + | @return: Boolean + | + | EnableField(self, ctrl, enable) + | Enable or disable an input field + | @return: False - no such control + | + | Execute(self) + | Displays a modal dialog containing the compiled form. + | @return: 1 - ok ; 0 - cancel + | + | FindControlById(self, id) + | Finds a control instance given its id + | + | Free(self) + | Frees all resources associated with a compiled form. + | Make sure you call this function when you finish using the form. + | + | GetControlValue(self, ctrl) + | 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 + | + | GetFocusedField(self) + | Get currently focused input field. + | @return: None if no field is selected otherwise the control ID + | + | MoveField(self, ctrl, x, y, w, h) + | Move/resize an input field + | + | @return: False - no such fiel + | + | Open(self) + | Opens a widget containing the compiled form. + | + | RefreshField(self, ctrl) + | Refresh a field + | @return: False - no such control + | + | SetControlValue(self, ctrl, value) + | 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 + | + | SetFocusedField(self, ctrl) + | Set currently focused input field + | @return: False - no such control + | + | ShowField(self, ctrl, show) + | Show or hide an input field + | @return: False - no such control + | + | _AddGroup(self, Group, mkattr=True) + | Internal function. + | This function expands the group item names and creates individual group item controls + | + | @param Group: The group class (checkbox or radio group class) + | + | _ChkCompiled(self) + | + | __getitem__(self, name) + | Returns a control object by name + | + | __init__(self, form, controls) + | 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_ + | + | _reset(self) + | Resets the Form class state variables + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | ControlToFieldTypeIdAndSize(ctrl) + | Converts a control object to a tuple containing the field id + | and the associated buffer size + | + | _ParseFormTitle(form) + | Parses the form's title from the form text + | + | create_string_buffer(value, size=None) + | + | fieldtype_to_ctype(tp, i64=False) + | Factory method returning a ctype class corresponding to the field type string + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | ButtonInput = + | 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) + | + | ChkGroupControl = + | Checkbox group control class. + | It holds a set of checkbox controls + | + | ChkGroupItemControl = + | Checkbox group item control + | + | ColorInput = + | Color button input control + | + | Control = + | + | + | DirInput = + | Directory browsing control + | + | DropdownListControl = + | Dropdown control + | This control allows manipulating a dropdown control + | + | EmbeddedChooserControl = + | File Open/Save input control + | + | FormChangeCb = + | 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) + | + | GroupControl = + | Base class for group controls + | + | GroupItemControl = + | Base class for group control items + | + | InputControl = + | Generic form input control. + | It could be numeric control, string control, directory/file browsing, etc... + | + | LabelControl = + | Base class for static label control + | + | MultiLineTextControl = + | Multi line text control. + | This class inherits from textctrl_info_t. Thus the attributes are also inherited + | This control allows manipulating a multilinetext control + | + | NumericArgument = + | Argument representing various integer arguments (ushort, uint32, uint64, etc...) + | @param tp: One of Form.FT_XXX + | + | NumericInput = + | A composite class serving as a base numeric input control class + | + | NumericLabel = + | Numeric label control + | + | RadGroupControl = + | Radiobox group control class. + | It holds a set of radiobox controls + | + | RadGroupItemControl = + | Radiobox group item control + | + | StringArgument = + | Argument representing a character buffer + | + | StringInput = + | Base string input control class. + | This class also constructs a StringArgument + | + | StringLabel = + | String label control + | + | _FT_USHORT = '_US' + +Help on class IDAViewWrapper in module ida_kernwin: + +class IDAViewWrapper(CustomIDAMemo) + | 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.) + | + | Method resolution order: + | IDAViewWrapper + | CustomIDAMemo + | View_Hooks + | builtins.object + | + | Methods defined here: + | + | Bind(self) + | + | Unbind(self) + | + | __init__(self, title) + | __init__(self, _flags=0) -> View_Hooks + | + | ---------------------------------------------------------------------- + | Methods inherited from CustomIDAMemo: + | + | CreateGroups(self, groups_infos) + | 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). + | + | DelNodesInfos(self, *nodes) + | Delete the properties for the given node(s). + | + | @param nodes: A list of node IDs + | + | DeleteGroups(self, groups, new_current=-1) + | 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. + | + | GetCurrentRendererType(self) + | + | GetNodeInfo(self, *args) + | Get the properties for the given node. + | + | @param ni: A node_info_t instance + | @param node: The index of the node. + | @return: success + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | GetWidgetAsGraphViewer(self) + | Return the graph_viewer_t underlying this view. + | + | @return: The graph_viewer_t underlying this view, or None. + | + | Refresh(self) + | Refreshes the view. This causes the OnRefresh() to be called + | + | SetCurrentRendererType(self, rtype) + | Set the current view's renderer. + | + | @param rtype: The renderer type. Should be one of the idaapi.TCCRT_* values. + | + | SetGroupsVisibility(self, groups, expand, new_current=-1) + | 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. + | + | SetNodeInfo(self, node_index, node_info, flags) + | 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. + | + | SetNodesInfos(self, values) + | 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. + | + | _get_cb(self, view, cb_name) + | + | _get_cb_arity(self, cb) + | + | _graph_item_tuple(self, ve) + | + | view_activated(self, view) + | view_activated(self, view) + | + | view_click(self, view, ve) + | view_click(self, view, event) + | + | view_close(self, view, *args) + | view_close(self, view) + | + | view_curpos(self, view, *args) + | view_curpos(self, view) + | + | view_dblclick(self, view, ve) + | view_dblclick(self, view, event) + | + | view_deactivated(self, view) + | view_deactivated(self, view) + | + | view_keydown(self, view, key, state) + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, view, now, was) + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, view, ve) + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, view, ve) + | view_mouse_over(self, view, event) + | + | view_switched(self, view, rt) + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Static methods inherited from CustomIDAMemo: + | + | _dummy_cb(*args) + | + | ---------------------------------------------------------------------- + | Methods inherited from View_Hooks: + | + | __disown__(self) + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_View_Hooks(...) + | delete_View_Hooks(self) + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | view_created(self, *args) -> 'void' + | view_created(self, view) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from View_Hooks: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class PluginForm in module ida_kernwin: + +class PluginForm(builtins.object) + | PluginForm class. + | + | This form can be used to host additional controls. Please check the PyQt example. + | + | Methods defined here: + | + | Close(self, options) + | Closes the form. + | + | @param options: Close options (WCLS_SAVE, WCLS_NO_CONTEXT, ...) + | + | @return: None + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | OnClose(self, form) + | Called when the plugin form is closed + | + | @return: None + | + | OnCreate(self, form) + | This event is called when the plugin form is created. + | The programmer should populate the form when this event is triggered. + | + | @return: None + | + | Show(self, caption, options=0) + | 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 + | + | __init__(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | FormToPyQtWidget = TWidgetToPyQtWidget(tw, ctx=) + | 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 + | + | FormToPySideWidget = TWidgetToPySideWidget(tw, ctx=) + | 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 + | + | QtWidgetToTWidget(w, ctx=) + | 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 + | + | TWidgetToPyQtWidget(tw, ctx=) + | 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 + | + | TWidgetToPySideWidget(tw, ctx=) + | 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 + | + | _ensure_widget_deps(ctx) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | VALID_CAPSULE_NAME = b'$valid$' + | + | WCLS_CLOSE_LATER = 8 + | + | WCLS_DONT_SAVE_SIZE = 4 + | + | WCLS_NO_CONTEXT = 2 + | + | WCLS_SAVE = 1 + | + | WOPN_CENTERED = 32 + | + | WOPN_CREATE_ONLY = {} + | + | WOPN_DP_BEFORE = 2097152 + | + | WOPN_DP_BOTTOM = 524288 + | + | WOPN_DP_FLOATING = 8388608 + | + | WOPN_DP_INSIDE = 1048576 + | + | WOPN_DP_INSIDE_BEFORE = 3145728 + | + | WOPN_DP_LEFT = 65536 + | + | WOPN_DP_RIGHT = 262144 + | + | WOPN_DP_TAB = 4194304 + | + | WOPN_DP_TAB_BEFORE = 6291456 + | + | WOPN_DP_TOP = 131072 + | + | WOPN_MDI = 1 + | + | WOPN_MENU = 16 + | + | WOPN_ONTOP = 8 + | + | WOPN_PERSIST = 64 + | + | WOPN_RESTORE = 4 + | + | WOPN_TAB = 2 + +Help on function TWidget__from_ptrval__ in module ida_kernwin: + +TWidget__from_ptrval__(*args) -> 'TWidget *' + TWidget__from_ptrval__(ptrval) -> TWidget * + +Help on class UI_Hooks in module ida_kernwin: + +class UI_Hooks(builtins.object) + | Proxy of C++ UI_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> UI_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_UI_Hooks(...) + | delete_UI_Hooks(self) + | + | create_desktop_widget(self, *args) -> 'PyObject *' + | create_desktop_widget(self, title, cfg) -> PyObject * + | + | current_widget_changed(self, *args) -> 'void' + | current_widget_changed(self, widget, prev_widget) + | + | database_inited(self, *args) -> 'void' + | database_inited(self, is_new_database, idc_script) + | + | debugger_menu_change(self, *args) -> 'void' + | debugger_menu_change(self, enable) + | + | finish_populating_widget_popup(self, *args) -> 'void' + | finish_populating_widget_popup(self, widget, popup_handle, ctx=None) + | + | + | The UI is about to be done populating the TWidget's popup menu. + | Now is a good time to call idaapi.attach_action_to_popup() + | + | @param widget: The widget + | @param popup: The popup menu. + | @return: Ignored + | + | get_chooser_item_attrs(self, *args) -> 'void' + | get_chooser_item_attrs(self, chooser, n, attrs) + | + | get_custom_viewer_hint(self, *args) -> 'PyObject *' + | get_custom_viewer_hint(self, viewer, place) -> PyObject * + | + | get_ea_hint(self, *args) -> 'PyObject *' + | get_ea_hint(self, ea) -> PyObject * + | + | + | The UI wants to display a simple hint for an address in the navigation band + | + | @param ea: The address + | @return: String with the hint or None + | + | get_item_hint(self, *args) -> 'PyObject *' + | get_item_hint(self, ea, max_lines) -> PyObject * + | + | get_widget_config(self, *args) -> 'PyObject *' + | get_widget_config(self, widget, cfg) -> PyObject * + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | + | Creates an UI hook + | + | @return: Boolean true on success + | + | idcstart(self, *args) -> 'void' + | idcstart(self) + | + | idcstop(self, *args) -> 'void' + | idcstop(self) + | + | plugin_loaded(self, *args) -> 'void' + | plugin_loaded(self, plugin_info) + | + | plugin_unloading(self, *args) -> 'void' + | plugin_unloading(self, plugin_info) + | + | populating_widget_popup(self, *args) -> 'void' + | populating_widget_popup(self, widget, popup_handle, ctx=None) + | + | + | The UI is populating the TWidget's popup menu. + | Now is a good time to call idaapi.attach_action_to_popup() + | + | @param widget: The widget + | @param popup: The popup menu. + | @return: Ignored + | + | postprocess_action(self, *args) -> 'void' + | postprocess_action(self) + | + | + | An ida ui action has been handled + | + | @return: Ignored + | + | preprocess_action(self, *args) -> 'void' + | preprocess_action(self, name) + | + | + | IDA ui is about to handle a user action + | + | @param name: ui action name + | (these names can be looked up in ida[tg]ui.cfg) + | @return: 0-ok, nonzero - a plugin has handled the action + | + | range(self, *args) -> 'void' + | range(self) + | + | ready_to_run(self, *args) -> 'void' + | ready_to_run(self) + | + | resume(self, *args) -> 'void' + | resume(self) + | + | saved(self, *args) -> 'void' + | saved(self) + | + | + | The kernel has saved the database. + | + | @return: Ignored + | + | saving(self, *args) -> 'void' + | saving(self) + | + | + | The kernel is saving the database. + | + | @return: Ignored + | + | screen_ea_changed(self, *args) -> 'void' + | screen_ea_changed(self, ea, prev_ea) + | + | set_widget_config(self, *args) -> 'void' + | set_widget_config(self, widget, cfg) + | + | suspend(self, *args) -> 'void' + | suspend(self) + | + | term(self, *args) -> 'void' + | term(self) + | + | + | IDA is terminated and the database is already closed. + | The UI may close its windows in this callback. + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | + | Removes the UI hook + | @return: Boolean true on success + | + | updated_actions(self, *args) -> 'void' + | updated_actions(self) + | + | + | The UI is done updating actions. + | + | @return: Ignored + | + | updating_actions(self, *args) -> 'void' + | updating_actions(self, ctx) + | + | + | The UI is about to batch-update some actions. + | + | @param ctx: The action_update_ctx_t instance + | @return: Ignored + | + | widget_closing(self, *args) -> 'void' + | widget_closing(self, widget) + | + | widget_invisible(self, *args) -> 'void' + | widget_invisible(self, widget) + | + | widget_visible(self, *args) -> 'void' + | widget_visible(self, widget) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class View_Hooks in module ida_kernwin: + +class View_Hooks(builtins.object) + | Proxy of C++ View_Hooks class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, _flags=0) -> View_Hooks + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_View_Hooks(...) + | delete_View_Hooks(self) + | + | hook(self, *args) -> 'bool' + | hook(self) -> bool + | + | unhook(self, *args) -> 'bool' + | unhook(self) -> bool + | + | view_activated(self, *args) -> 'void' + | view_activated(self, view) + | + | view_click(self, *args) -> 'void' + | view_click(self, view, event) + | + | view_close(self, *args) -> 'void' + | view_close(self, view) + | + | view_created(self, *args) -> 'void' + | view_created(self, view) + | + | view_curpos(self, *args) -> 'void' + | view_curpos(self, view) + | + | view_dblclick(self, *args) -> 'void' + | view_dblclick(self, view, event) + | + | view_deactivated(self, *args) -> 'void' + | view_deactivated(self, view) + | + | view_keydown(self, *args) -> 'void' + | view_keydown(self, view, key, state) + | + | view_loc_changed(self, *args) -> 'void' + | view_loc_changed(self, view, now, was) + | + | view_mouse_moved(self, *args) -> 'void' + | view_mouse_moved(self, view, event) + | + | view_mouse_over(self, *args) -> 'void' + | view_mouse_over(self, view, event) + | + | view_switched(self, *args) -> 'void' + | view_switched(self, view, rt) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class __qtimer_t in module ida_kernwin: + +class __qtimer_t(builtins.object) + | Proxy of C++ __qtimer_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qtimer_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete___qtimer_t(...) + | delete___qtimer_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function _ask_addr in module ida_kernwin: + +_ask_addr(*args) -> 'ea_t *' + _ask_addr(addr, format) -> bool + +Help on function _ask_long in module ida_kernwin: + +_ask_long(*args) -> 'sval_t *' + _ask_long(value, format) -> bool + +Help on function _ask_seg in module ida_kernwin: + +_ask_seg(*args) -> 'sel_t *' + _ask_seg(sel, format) -> bool + +Help on function _call_ask_form in module ida_kernwin: + +_call_ask_form(*args) + +Help on function _call_open_form in module ida_kernwin: + +_call_open_form(*args) + +Help on class action_ctx_base_t in module ida_kernwin: + +class action_ctx_base_t(builtins.object) + | Proxy of C++ action_ctx_base_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> action_ctx_base_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_action_ctx_base_t(...) + | delete_action_ctx_base_t(self) + | + | _get_form(self, *args) -> 'TWidget *' + | _get_form(self) -> TWidget * + | + | _get_form_title(self, *args) -> 'qstring' + | _get_form_title(self) -> qstring + | + | _get_form_type(self, *args) -> 'twidget_type_t' + | _get_form_type(self) -> twidget_type_t + | + | has_flag(self, *args) -> 'bool' + | has_flag(self, flag) -> bool + | + | reset(self, *args) -> 'void' + | reset(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | action + | action_ctx_base_t_action_get(self) -> char const * + | + | chooser_selection + | action_ctx_base_t_chooser_selection_get(self) -> sizevec_t * + | + | cur_ea + | action_ctx_base_t_cur_ea_get(self) -> ea_t + | + | cur_enum + | action_ctx_base_t_cur_enum_get(self) -> enum_t + | + | cur_extracted_ea + | action_ctx_base_t_cur_value_get(self) -> uval_t + | + | cur_fchunk + | action_ctx_base_t_cur_fchunk_get(self) -> func_t * + | + | cur_flags + | action_ctx_base_t_cur_flags_get(self) -> uint32 + | + | cur_func + | action_ctx_base_t_cur_func_get(self) -> func_t * + | + | cur_seg + | action_ctx_base_t_cur_seg_get(self) -> segment_t * + | + | cur_strmem + | action_ctx_base_t_cur_strmem_get(self) -> member_t * + | + | cur_struc + | action_ctx_base_t_cur_struc_get(self) -> struc_t * + | + | cur_value + | action_ctx_base_t_cur_value_get(self) -> uval_t + | + | focus + | action_ctx_base_t_focus_get(self) -> TWidget * + | + | form + | _get_form(self) -> TWidget * + | + | form_title + | _get_form_title(self) -> qstring + | + | form_type + | _get_form_type(self) -> twidget_type_t + | + | graph_selection + | action_ctx_base_t_graph_selection_get(self) -> screen_graph_selection_t * + | + | regname + | action_ctx_base_t_regname_get(self) -> char const * + | + | thisown + | The membership flag + | + | widget + | action_ctx_base_t_widget_get(self) -> TWidget * + | + | widget_title + | action_ctx_base_t_widget_title_get(self) -> qstring * + | + | widget_type + | action_ctx_base_t_widget_type_get(self) -> twidget_type_t + +Help on class action_desc_t in module ida_kernwin: + +class action_desc_t(builtins.object) + | Proxy of C++ action_desc_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, name, label, handler, shortcut=None, tooltip=None, icon=-1, flags=0) -> action_desc_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_action_desc_t(...) + | delete_action_desc_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | action_desc_t_cb_get(self) -> int + | + | flags + | action_desc_t_flags_get(self) -> int + | + | icon + | action_desc_t_icon_get(self) -> int + | + | label + | action_desc_t_label_get(self) -> char const * + | + | name + | action_desc_t_name_get(self) -> char const * + | + | owner + | action_desc_t_owner_get(self) -> plugin_t const * + | + | shortcut + | action_desc_t_shortcut_get(self) -> char const * + | + | thisown + | The membership flag + | + | tooltip + | action_desc_t_tooltip_get(self) -> char const * + +Help on class action_handler_t in module ida_kernwin: + +class action_handler_t(builtins.object) + | # ---------------------------------------------------------------------- + | + | Methods defined here: + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | activate(self, ctx) + | + | update(self, ctx) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function activate_widget in module ida_kernwin: + +activate_widget(*args) -> 'void' + activate_widget(widget, take_focus) + + + Activate widget (only gui version) ( 'ui_activate_widget' ). + + @param widget: existing widget to display (C++: TWidget *) + @param take_focus: give focus to given widget (C++: bool) + +Help on function add_hotkey in module ida_kernwin: + +add_hotkey(*args) -> 'PyObject *' + add_hotkey(hotkey, pyfunc) -> PyObject * + + + 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. + +Help on function add_idc_hotkey in module ida_kernwin: + +add_idc_hotkey(*args) -> 'int' + add_idc_hotkey(hotkey, idcfunc) -> int + + + Add hotkey for IDC function ( 'ui_add_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + @param idcfunc: IDC function name (C++: const char *) + @return: IDC hotkey error codes + +Help on function add_spaces in module ida_kernwin: + +add_spaces(*args) -> 'PyObject *' + add_spaces(s, len) -> PyObject * + + + 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 len: the desired length of the string (C++: ssize_t) + @return: pointer to the end of input string + +Help on function addon_count in module ida_kernwin: + +addon_count(*args) -> 'int' + addon_count() -> int + + + Get number of installed addons. + +Help on class addon_info_t in module ida_kernwin: + +class addon_info_t(builtins.object) + | Proxy of C++ addon_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> addon_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_addon_info_t(...) + | delete_addon_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cb + | addon_info_t_cb_get(self) -> size_t + | + | custom_data + | addon_info_t_custom_data_get(self) -> void const * + | + | custom_size + | addon_info_t_custom_size_get(self) -> size_t + | + | freeform + | addon_info_t_freeform_get(self) -> char const * + | + | id + | addon_info_t_id_get(self) -> char const * + | + | name + | addon_info_t_name_get(self) -> char const * + | + | producer + | addon_info_t_producer_get(self) -> char const * + | + | thisown + | The membership flag + | + | url + | addon_info_t_url_get(self) -> char const * + | + | version + | addon_info_t_version_get(self) -> char const * + +Help on function analyzer_options in module ida_kernwin: + +analyzer_options(*args) -> 'void' + analyzer_options() + + + Allow the user to set analyzer options. (show a dialog box) ( + 'ui_analyzer_options' ) + +Help on function ask_addr in module ida_kernwin: + +ask_addr(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_buttons in module ida_kernwin: + +ask_buttons(*args) -> 'int' + ask_buttons(Yes, No, Cancel, deflt, format) -> int + + + Display a dialog box and get choice from maximum three possibilities ( + 'ui_ask_buttons' ).for all buttons:use "" or NULL to take the default + name for the button.use 'format' to hide the cancel button + + @param Yes: text for the first button (C++: const char *) + @param No: text for the second button (C++: const char *) + @param Cancel: text for the third button (C++: const char *) + @param deflt: default choice: one of Button IDs (C++: int) + @param format: printf-style format string for question. It may have + some prefixes, see below. (C++: const char *) + @return: one of Button IDs specifying the selected button (Esc key + returns Cancel/3rd button value) + +Help on function ask_file in module ida_kernwin: + +ask_file(*args) -> 'char *' + ask_file(for_saving, defval, format) -> char * + +Help on function ask_for_feedback in module ida_kernwin: + +ask_for_feedback(*args) -> 'void' + ask_for_feedback(format) + + + Show a message box asking to send the input file tosupport@hex- + rays.com. + + @param format: the reason why the input file is bad (C++: const char + *) + +Help on function ask_ident in module ida_kernwin: + +ask_ident(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_long in module ida_kernwin: + +ask_long(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_seg in module ida_kernwin: + +ask_seg(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_str in module ida_kernwin: + +ask_str(*args) -> 'PyObject *' + ask_str(defval, hist, prompt) -> PyObject * + + + Asks for a long text + + @param hist: history id + @param defval: The default value + @param prompt: The prompt value + @return: None or the entered string + +Help on function ask_text in module ida_kernwin: + +ask_text(*args) -> 'PyObject *' + ask_text(max_size, defval, prompt) -> PyObject * + + + 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 + +Help on function ask_yn in module ida_kernwin: + +ask_yn(*args) -> 'int' + ask_yn(deflt, format) -> int + + + Display a dialog box and get choice from "Yes", "No", "Cancel". + + @param deflt: default choice: one of Button IDs (C++: int) + @param format: The question in printf() style format (C++: const char + *) + @return: the selected button (one of Button IDs ). Esc key returns + ASKBTN_CANCEL . + +Help on function attach_action_to_menu in module ida_kernwin: + +attach_action_to_menu(*args) -> 'bool' + attach_action_to_menu(menupath, name, flags) -> bool + + + Attach a previously-registered action to the menu ( + 'ui_attach_action_to_menu' ).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: 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 (C++: const + char *) + @param name: the action name (C++: const char *) + @param flags: a combination of Set menu flags , to determine menu + item position (C++: int) + @return: success + +Help on function attach_action_to_popup in module ida_kernwin: + +attach_action_to_popup(*args) -> 'bool' + 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: target widget (C++: TWidget *) + @param popup_handle: target popup menu if non-NULL, the action is + added to this popup menu invocation (i.e., + 'single-shot') if NULL, the action is added to + a list of actions that should always be present + in context menus for this widget (i.e., + 'permanent'.) (C++: TPopupMenu *) + @param name: action name (C++: const char *) + @param popuppath: can be NULL (C++: const char *) + @param flags: a combination of SETMENU_ flags (see Set menu flags ) + (C++: int) + @return: success + +Help on function attach_action_to_toolbar in module ida_kernwin: + +attach_action_to_toolbar(*args) -> 'bool' + attach_action_to_toolbar(toolbar_name, name) -> bool + + + Attach an action to an existing toolbar ( + 'ui_attach_action_to_toolbar' ). + + @param toolbar_name: the name of the toolbar (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on function attach_dynamic_action_to_popup in module ida_kernwin: + +attach_dynamic_action_to_popup(*args) -> 'bool' + attach_dynamic_action_to_popup(widget, popup_handle, desc, popuppath=None, flags=0) -> bool + + + Create & insert an action into the widget's popup menu ( + 'ui_attach_dynamic_action_to_popup' ). 'action_desc_t::handler' for + 'desc' must be instantiated using 'new', as it will be 'delete'd when + the action is unregistered. + + @param widget: target widget (C++: TWidget *) + @param popup_handle: target popup (C++: TPopupMenu *) + @param desc: created with DYNACTION_DESC_LITERAL (C++: const + action_desc_t &) + @param popuppath: can be NULL (C++: const char *) + @param flags: a combination of SETMENU_ constants (see Set menu flags + ) (C++: int) + @return: success + +Help on function banner in module ida_kernwin: + +banner(*args) -> 'bool' + banner(wait) -> bool + + + Show a banner dialog box ( 'ui_banner' ). + + @param wait: time to wait before closing (C++: int) + +Help on function beep in module ida_kernwin: + +beep(*args) -> 'void' + beep(beep_type=beep_default) + + + Issue a beeping sound ( 'ui_beep' ). + + @param beep_type: beep_t (C++: beep_t) + +Help on function call_nav_colorizer in module ida_kernwin: + +call_nav_colorizer(*args) -> 'uint32' + 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(). + +Help on function cancel_exec_request in module ida_kernwin: + +cancel_exec_request(*args) -> 'bool' + cancel_exec_request(req_id) -> bool + + + Try to cancel an asynchronous exec request ( 'ui_cancel_exec_request' + ). + + @param req_id: request id (C++: int) + +Help on function choose_activate in module ida_kernwin: + +choose_activate(*args) -> 'void' + choose_activate(_self) + +Help on function choose_choose in module ida_kernwin: + +choose_choose(*args) -> 'PyObject *' + choose_choose(_self) -> PyObject * + +Help on function choose_close in module ida_kernwin: + +choose_close(*args) -> 'void' + choose_close(_self) + +Help on function choose_create_embedded_chobj in module ida_kernwin: + +choose_create_embedded_chobj(*args) -> 'PyObject *' + choose_create_embedded_chobj(_self) -> PyObject * + +Help on function choose_entry in module ida_kernwin: + +choose_entry(*args) -> 'ea_t' + choose_entry(title) -> ea_t + + + Choose an entry point ( 'ui_choose' , 'chtype_entry' ). + + @param title: chooser title (C++: const char *) + @return: ea of selected entry point, BADADDR if none selected + +Help on function choose_enum in module ida_kernwin: + +choose_enum(*args) -> 'enum_t' + choose_enum(title, default_id) -> enum_t + + + Choose an enum ( 'ui_choose' , 'chtype_enum' ). + + @param title: chooser title (C++: const char *) + @param default_id: id of enum to select by default (C++: enum_t) + @return: enum id of selected enum, BADNODE if none selected + +Help on function choose_enum_by_value in module ida_kernwin: + +choose_enum_by_value(*args) -> 'uchar *' + choose_enum_by_value(title, default_id, value, nbytes) -> enum_t + + + 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 title: chooser title (C++: const char *) + @param default_id: id of enum to select by default (C++: enum_t) + @param value: value to search for (C++: uval_t) + @param nbytes: size of value (C++: int) + @return: enum id of selected (or imported) enum, BADNODE if none was + found + +Help on function choose_find in module ida_kernwin: + +choose_find(*args) -> 'PyObject *' + choose_find(title) -> PyObject * + +Help on function choose_func in module ida_kernwin: + +choose_func(*args) -> 'func_t *' + choose_func(title, default_ea) -> func_t * + + + Choose a function ( 'ui_choose' , 'chtype_func' ). + + @param title: chooser title (C++: const char *) + @param default_ea: ea of function to select by default (C++: ea_t) + @return: pointer to function that was selected, NULL if none selected + +Help on function choose_get_widget in module ida_kernwin: + +choose_get_widget(*args) -> 'TWidget *' + choose_get_widget(_self) -> TWidget * + +Help on function choose_idasgn in module ida_kernwin: + +choose_idasgn(*args) -> 'PyObject *' + choose_idasgn() -> PyObject * + + + Opens the signature chooser + + @return: None or the selected signature name + +Help on function choose_name in module ida_kernwin: + +choose_name(*args) -> 'ea_t' + choose_name(title) -> ea_t + + + Choose a name ( 'ui_choose' , 'chtype_name' ). + + @param title: chooser title (C++: const char *) + @return: ea of selected name, BADADDR if none selected + +Help on function choose_refresh in module ida_kernwin: + +choose_refresh(*args) -> 'void' + choose_refresh(_self) + +Help on function choose_segm in module ida_kernwin: + +choose_segm(*args) -> 'segment_t *' + choose_segm(title, default_ea) -> segment_t * + + + Choose a segment ( 'ui_choose' , 'chtype_segm' ). + + @param title: chooser title (C++: const char *) + @param default_ea: ea of segment to select by default (C++: ea_t) + @return: pointer to segment that was selected, NULL if none selected + +Help on function choose_srcp in module ida_kernwin: + +choose_srcp(*args) -> 'sreg_range_t *' + choose_srcp(title) -> sreg_range_t * + + + Choose a segment register change point ( 'ui_choose' , 'chtype_srcp' + ). + + @param title: chooser title (C++: const char *) + @return: pointer to segment register range of selected change point, + NULL if none selected + +Help on function choose_stkvar_xref in module ida_kernwin: + +choose_stkvar_xref(*args) -> 'ea_t' + choose_stkvar_xref(pfn, mptr) -> ea_t + + + Choose an xref to a stack variable ( 'ui_choose' , 'chtype_name' ). + + @param pfn: function (C++: func_t *) + @param mptr: variable (C++: member_t *) + @return: ea of the selected xref, BADADDR if none selected + +Help on function choose_struc in module ida_kernwin: + +choose_struc(*args) -> 'struc_t *' + choose_struc(title) -> struc_t * + + + Choose a structure ( 'ui_choose' , 'chtype_segm' ). + + @param title: chooser title; (C++: const char *) + @return: pointer to structure that was selected, NULL if none selected + +Help on function choose_til in module ida_kernwin: + +choose_til(*args) -> 'qstring *' + choose_til() -> str + + + Choose a type library ( 'ui_choose' , 'chtype_idatil' ). + +Help on function choose_xref in module ida_kernwin: + +choose_xref(*args) -> 'ea_t' + choose_xref(to) -> ea_t + + + Choose an xref to an address ( 'ui_choose' , 'chtype_xref' ). + + @param to: referenced address (C++: ea_t) + @return: ea of selected xref, BADADDR if none selected + +Help on class chooser_item_attrs_t in module ida_kernwin: + +class chooser_item_attrs_t(builtins.object) + | Proxy of C++ chooser_item_attrs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> chooser_item_attrs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_chooser_item_attrs_t(...) + | delete_chooser_item_attrs_t(self) + | + | reset(self, *args) -> 'void' + | reset(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | color + | chooser_item_attrs_t_color_get(self) -> bgcolor_t + | + | flags + | chooser_item_attrs_t_flags_get(self) -> int + | + | thisown + | The membership flag + +Help on function clear_refresh_request in module ida_kernwin: + +clear_refresh_request(*args) -> 'void' + clear_refresh_request(mask) + +Help on class cli_t in module ida_kernwin: + +class cli_t(ida_idaapi.pyidc_opaque_object_t) + | cli_t wrapper class. + | + | This class allows you to implement your own command line interface handlers. + | + | Method resolution order: + | cli_t + | ida_idaapi.pyidc_opaque_object_t + | builtins.object + | + | Methods defined here: + | + | __del__(self) + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | register(self, flags=0, sname=None, lname=None, hint=None) + | 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 + | + | unregister(self) + | Unregisters the CLI (if it was registered) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function close_chooser in module ida_kernwin: + +close_chooser(*args) -> 'bool' + close_chooser(title) -> bool + + + Close a non-modal chooser ( 'ui_close_chooser' ). + + @param title: window title of chooser to close (C++: const char *) + @return: success + +Help on function close_widget in module ida_kernwin: + +close_widget(*args) -> 'void' + close_widget(widget, options) + + + Close widget ( 'ui_close_widget' , only gui version). + + @param widget: pointer to the widget to close (C++: TWidget *) + @param options: Form close flags (C++: int) + +Help on function clr_cancelled in module ida_kernwin: + +clr_cancelled(*args) -> 'void' + clr_cancelled() + + + Clear "Cancelled" flag ( 'ui_clr_cancelled' ) + +Help on function create_code_viewer in module ida_kernwin: + +create_code_viewer(*args) -> 'TWidget *' + 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: the custom view to be added (C++: TWidget *) + @param flags: Code viewer flags (C++: int) + @param parent: widget to contain the new code viewer (C++: TWidget *) + +Help on function create_empty_widget in module ida_kernwin: + +create_empty_widget(*args) -> 'TWidget *' + create_empty_widget(title, icon=-1) -> TWidget * + + + Create an empty widget, serving as a container for custom user widgets + + @param title (C++: const char *) + @param icon (C++: int) + +Help on function create_menu in module ida_kernwin: + +create_menu(*args) -> 'bool' + 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-NULL, 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: name of menu (must be unique) (C++: const char *) + @param label: label of menu (C++: const char *) + @param menupath: where should the menu be inserted (C++: const char *) + @return: success + +Help on function create_toolbar in module ida_kernwin: + +create_toolbar(*args) -> 'bool' + create_toolbar(name, label, before=None, flags=0) -> bool + + + Create a toolbar with the given name, label and optional position + + @param name: name of toolbar (must be unique) (C++: const char *) + @param label: label of toolbar (C++: const char *) + @param before: if non-NULL, the toolbar before which the new toolbar + will be inserted (C++: const char *) + @param flags: a combination of create toolbar flags , to determine + toolbar position (C++: int) + @return: success + +Help on function custom_viewer_jump in module ida_kernwin: + +custom_viewer_jump(*args) -> 'bool' + custom_viewer_jump(v, loc, flags=0) -> bool + + + Append 'loc' to the viewer's history, and cause the viewer to display + it. + + @param v: (TWidget *) (C++: TWidget *) + @param loc: (const lochist_entry_t &) (C++: const lochist_entry_t + &) + @param flags: (uint32) or'ed combination of CVNF_* values (C++: + uint32) + @return: success + +Help on function del_hotkey in module ida_kernwin: + +del_hotkey(*args) -> 'bool' + del_hotkey(pyctx) -> bool + + + Deletes a previously registered function hotkey + + @param ctx: Hotkey context previously returned by add_hotkey() + + @return: Boolean. + +Help on function del_idc_hotkey in module ida_kernwin: + +del_idc_hotkey(*args) -> 'bool' + del_idc_hotkey(hotkey) -> bool + + + Delete IDC function hotkey ( 'ui_del_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + +Help on function delete_menu in module ida_kernwin: + +delete_menu(*args) -> 'bool' + delete_menu(name) -> bool + + + Delete an existing menu + + @param name: name of menu (C++: const char *) + @return: success + +Help on function delete_toolbar in module ida_kernwin: + +delete_toolbar(*args) -> 'bool' + delete_toolbar(name) -> bool + + + Delete an existing toolbar + + @param name: name of toolbar (C++: const char *) + @return: success + +Help on function detach_action_from_menu in module ida_kernwin: + +detach_action_from_menu(*args) -> 'bool' + detach_action_from_menu(menupath, name) -> bool + + + Detach an action from the menu ( 'ui_detach_action_from_menu' ). + + @param menupath: path to the menu item (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on function detach_action_from_popup in module ida_kernwin: + +detach_action_from_popup(*args) -> 'bool' + 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: target widget (C++: TWidget *) + @param name: action name (C++: const char *) + +Help on function detach_action_from_toolbar in module ida_kernwin: + +detach_action_from_toolbar(*args) -> 'bool' + detach_action_from_toolbar(toolbar_name, name) -> bool + + + Detach an action from the toolbar ( 'ui_detach_action_from_toolbar' ). + + @param toolbar_name: the name of the toolbar (C++: const char *) + @param name: the action name (C++: const char *) + @return: success + +Help on class disasm_line_t in module ida_kernwin: + +class disasm_line_t(builtins.object) + | Proxy of C++ disasm_line_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> disasm_line_t + | __init__(self, other) -> disasm_line_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_disasm_line_t(...) + | delete_disasm_line_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | at + | disasm_line_t_at_get(self) -> place_t + | + | bg_color + | disasm_line_t_bg_color_get(self) -> bgcolor_t + | + | is_default + | disasm_line_t_is_default_get(self) -> bool + | + | line + | disasm_line_t_line_get(self) -> qstring * + | + | prefix_color + | disasm_line_t_prefix_color_get(self) -> color_t + | + | thisown + | The membership flag + +Help on class disasm_text_t in module ida_kernwin: + +class disasm_text_t(builtins.object) + | Proxy of C++ qvector< disasm_line_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'disasm_line_t const &' + | __getitem__(self, i) -> disasm_line_t + | + | __init__(self, *args) + | __init__(self) -> disasm_text_t + | __init__(self, x) -> disasm_text_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_disasm_text_t(...) + | delete_disasm_text_t(self) + | + | at(self, *args) -> 'disasm_line_t const &' + | at(self, _idx) -> disasm_line_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< disasm_line_t >::const_iterator' + | begin(self) -> disasm_line_t + | begin(self) -> disasm_line_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< disasm_line_t >::const_iterator' + | end(self) -> disasm_line_t + | end(self) -> disasm_line_t + | + | erase(self, *args) -> 'qvector< disasm_line_t >::iterator' + | erase(self, it) -> disasm_line_t + | erase(self, first, last) -> disasm_line_t + | + | extract(self, *args) -> 'disasm_line_t *' + | extract(self) -> disasm_line_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=disasm_line_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< disasm_line_t >::iterator' + | insert(self, it, x) -> disasm_line_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'disasm_line_t &' + | push_back(self, x) + | push_back(self) -> disasm_line_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function display_copyright_warning in module ida_kernwin: + +display_copyright_warning(*args) -> 'bool' + display_copyright_warning() -> bool + + + Display copyright warning ( 'ui_copywarn' ). + + @return: yes/no + +Help on function display_widget in module ida_kernwin: + +display_widget(*args) -> 'void' + display_widget(widget, options, dest_ctrl=None) + + + Display a widget, dock it if not done before + + @param widget: widget to display (C++: TWidget *) + @param options: Widget open flags (C++: uint32) + @param dest_ctrl: where to dock: if NULL or invalid then use the + active docker if there is not create a new tab + relative to current active tab (C++: const char *) + +Help on function ea2str in module ida_kernwin: + +ea2str(*args) -> 'size_t' + ea2str(ea) -> str + + + Convert linear address to UTF-8 string. + + + @param ea (C++: ea_t) + +Help on function ea_viewer_history_push_and_jump in module ida_kernwin: + +ea_viewer_history_push_and_jump(*args) -> 'bool' + 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: ea viewer (C++: TWidget *) + @param ea: jump destination (C++: ea_t) + @param x: coords on screen (C++: int) + @param y: coords on screen (C++: int) + @param lnnum: desired line number of given address (C++: int) + +Help on function enable_chooser_item_attrs in module ida_kernwin: + +enable_chooser_item_attrs(*args) -> 'bool' + 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_attrsevents 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 *) + @param enable (C++: bool) + @return: success + +Help on class enumplace_t in module ida_kernwin: + +class enumplace_t(place_t) + | Proxy of C++ enumplace_t class. + | + | Method resolution order: + | enumplace_t + | place_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_enumplace_t(...) + | delete_enumplace_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bmask + | enumplace_t_bmask_get(self) -> bmask_t + | + | idx + | enumplace_t_idx_get(self) -> size_t + | + | serial + | enumplace_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | value + | enumplace_t_value_get(self) -> uval_t + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) -> 'void' + | _print(self, out_buf, ud) + | + | adjust(self, *args) -> 'void' + | adjust(self, ud) + | + | beginning(self, *args) -> 'bool' + | beginning(self, ud) -> bool + | + | clone(self, *args) -> 'place_t *' + | clone(self) -> place_t + | + | compare(self, *args) -> 'int' + | compare(self, t2) -> int + | + | copyfrom(self, *args) -> 'void' + | copyfrom(self, _from) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, _in) -> bool + | + | ending(self, *args) -> 'bool' + | ending(self, ud) -> bool + | + | enter(self, *args) -> 'place_t *' + | enter(self, arg2) -> place_t + | + | generate(self, *args) -> 'PyObject *' + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) -> 'int' + | id(self) -> int + | + | leave(self, *args) -> 'void' + | leave(self, arg2) + | + | makeplace(self, *args) -> 'place_t *' + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) -> 'char const *' + | name(self) -> char const * + | + | next(self, *args) -> 'bool' + | next(self, ud) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, ud) -> bool + | + | rebase(self, *args) -> 'bool' + | rebase(self, arg2) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | toea(self, *args) -> 'ea_t' + | toea(self) -> ea_t + | + | touval(self, *args) -> 'uval_t' + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) -> 'enumplace_t *' + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) -> 'idaplace_t *' + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) -> 'simpleline_place_t *' + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) -> 'structplace_t *' + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on function error in module ida_kernwin: + +error(*args) -> 'void' + error(format) + + + Display a fatal message in a message box and quit IDA + + @param format: message to print + +Help on function execute_sync in module ida_kernwin: + +execute_sync(*args) -> 'int' + execute_sync(py_callable, reqf) -> int + + + 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 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 + +Help on function execute_ui_requests in module ida_kernwin: + +execute_ui_requests(*args) -> 'bool' + 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 callabale item + +Help on function find_widget in module ida_kernwin: + +find_widget(*args) -> 'TWidget *' + 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: title of tab, or window title if widget is not tabbed + (C++: const char *) + @return: pointer to the TWidget, NULL if none is found + +Help on function formchgcbfa_close in module ida_kernwin: + +formchgcbfa_close(*args) -> 'void' + formchgcbfa_close(p_fa, close_normally) + +Help on function formchgcbfa_enable_field in module ida_kernwin: + +formchgcbfa_enable_field(*args) -> 'bool' + formchgcbfa_enable_field(p_fa, fid, enable) -> bool + +Help on function formchgcbfa_get_field_value in module ida_kernwin: + +formchgcbfa_get_field_value(*args) -> 'PyObject *' + formchgcbfa_get_field_value(p_fa, fid, ft, sz) -> PyObject * + +Help on function formchgcbfa_get_focused_field in module ida_kernwin: + +formchgcbfa_get_focused_field(*args) -> 'int' + formchgcbfa_get_focused_field(p_fa) -> int + +Help on function formchgcbfa_move_field in module ida_kernwin: + +formchgcbfa_move_field(*args) -> 'bool' + formchgcbfa_move_field(p_fa, fid, x, y, w, h) -> bool + +Help on function formchgcbfa_refresh_field in module ida_kernwin: + +formchgcbfa_refresh_field(*args) -> 'void' + formchgcbfa_refresh_field(p_fa, fid) + +Help on function formchgcbfa_set_field_value in module ida_kernwin: + +formchgcbfa_set_field_value(*args) -> 'bool' + formchgcbfa_set_field_value(p_fa, fid, ft, py_val) -> bool + +Help on function formchgcbfa_set_focused_field in module ida_kernwin: + +formchgcbfa_set_focused_field(*args) -> 'bool' + formchgcbfa_set_focused_field(p_fa, fid) -> bool + +Help on function formchgcbfa_show_field in module ida_kernwin: + +formchgcbfa_show_field(*args) -> 'bool' + formchgcbfa_show_field(p_fa, fid, show) -> bool + +Help on function free_custom_icon in module ida_kernwin: + +free_custom_icon(*args) -> 'void' + free_custom_icon(icon_id) + + + Frees an icon loaded with load_custom_icon() + +Help on function gen_disasm_text in module ida_kernwin: + +gen_disasm_text(*args) -> 'void' + gen_disasm_text(text, ea1, ea2, truncate_lines) + + + Generate disassembly text for a range. + + @param text: result (C++: text_t &) + @param ea1: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @param truncate_lines: (on idainfo::margin ) (C++: bool) + +Help on function get_action_checkable in module ida_kernwin: + +get_action_checkable(*args) -> 'bool *' + get_action_checkable(name) -> bool + + + Get an action's checkability ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_checked in module ida_kernwin: + +get_action_checked(*args) -> 'bool *' + get_action_checked(name) -> bool + + + Get an action's checked state ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_icon in module ida_kernwin: + +get_action_icon(*args) -> 'int *' + get_action_icon(name) -> bool + + + Get an action's icon ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_label in module ida_kernwin: + +get_action_label(*args) -> 'qstring *' + get_action_label(name) -> str + + + Get an action's label ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_shortcut in module ida_kernwin: + +get_action_shortcut(*args) -> 'qstring *' + get_action_shortcut(name) -> str + + + Get an action's shortcut ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_state in module ida_kernwin: + +get_action_state(*args) -> 'action_state_t *' + get_action_state(name) -> bool + + + Get an action's state ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_tooltip in module ida_kernwin: + +get_action_tooltip(*args) -> 'qstring *' + get_action_tooltip(name) -> str + + + Get an action's tooltip ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_action_visibility in module ida_kernwin: + +get_action_visibility(*args) -> 'bool *' + get_action_visibility(name) -> bool + + + Get an action's visibility ( 'ui_get_action_attr' ). + + @param name: the action name (C++: const char *) + @return: success + +Help on function get_active_modal_widget in module ida_kernwin: + +get_active_modal_widget(*args) -> 'TWidget *' + 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 NULL even if it is currently shown. + + @return: TWidget * the active modal widget, or NULL + +Help on function get_addon_info in module ida_kernwin: + +get_addon_info(*args) -> 'bool' + 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 *) + @param info (C++: addon_info_t *) + @return: false if not found + +Help on function get_addon_info_idx in module ida_kernwin: + +get_addon_info_idx(*args) -> 'bool' + 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 + +Help on function get_chooser_data in module ida_kernwin: + +get_chooser_data(*args) -> 'PyObject *' + get_chooser_data(chooser_caption, n) -> PyObject * + + + Get the text corresponding to the index N in the chooser data. Use -1 + to get the header. + + @param chooser_caption (C++: const char *) + @param n (C++: int) + +Help on function get_chooser_obj in module ida_kernwin: + +get_chooser_obj(*args) -> 'void *' + get_chooser_obj(chooser_caption) -> void * + + + Get the underlying object of the specified chooser ( + 'ui_get_chooser_obj' ).This is object is chooser-specific. + + @param chooser_caption (C++: const char *) + @return: the object that was used to create the chooser + +Help on function get_curline in module ida_kernwin: + +get_curline(*args) -> 'char const *' + 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) + +Help on function get_current_viewer in module ida_kernwin: + +get_current_viewer(*args) -> 'TWidget *' + get_current_viewer() -> TWidget * + + + Get current ida viewer (idaview or custom viewer) ( + 'ui_get_current_viewer' ) + +Help on function get_current_widget in module ida_kernwin: + +get_current_widget(*args) -> 'TWidget *' + get_current_widget() -> TWidget * + + + Get a pointer to the current widget ( 'ui_get_current_widget' ). + +Help on function get_cursor in module ida_kernwin: + +get_cursor(*args) -> 'int *, int *' + get_cursor() -> bool + + + Get the cursor position on the screen ( 'ui_get_cursor' ).coordinates + are 0-based + +Help on function get_custom_viewer_curline in module ida_kernwin: + +get_custom_viewer_curline(*args) -> 'char const *' + 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 + + @param custom_viewer: view (C++: TWidget *) + @param mouse: mouse position (otherwise cursor position) (C++: bool) + @return: pointer to contents of current line + +Help on function get_custom_viewer_location in module ida_kernwin: + +get_custom_viewer_location(*args) -> 'bool' + get_custom_viewer_location(out, custom_viewer, mouse=False) -> bool + + + Get the current location in a custom viewer ( + 'ui_get_custom_viewer_location' ). + + + @param out (C++: lochist_entry_t *) + @param custom_viewer (C++: TWidget *) + @param mouse (C++: bool) + +Help on function get_custom_viewer_place in module ida_kernwin: + +get_custom_viewer_place(*args) -> 'int *, int *' + 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: view (C++: TWidget *) + @param mouse: mouse position (otherwise cursor position) (C++: bool) + +Help on function get_ea_viewer_history_info in module ida_kernwin: + +get_ea_viewer_history_info(*args) -> 'bool' + get_ea_viewer_history_info(nback, nfwd, v) -> bool + + + Get information about what's in the history ( + 'ui_ea_viewer_history_info' ). + + @param nback: number of available back steps (C++: int *) + @param nfwd: number of available forward steps (C++: int *) + @param v: ea viewer (C++: TWidget *) + +Help on function get_hexdump_ea in module ida_kernwin: + +get_hexdump_ea(*args) -> 'ea_t' + get_hexdump_ea(hexdump_num) -> ea_t + + + Get the current address in a hex view. + + @param hexdump_num: number of hexview window (C++: int) + +Help on function get_highlight in module ida_kernwin: + +get_highlight(*args) -> 'PyObject *' + get_highlight(v) -> PyObject * + + + Returns the currently highlighted identifier and flags + + @return: a tuple (text, flags), or None if nothing + is highlighted or in case of error. + +Help on function get_kernel_version in module ida_kernwin: + +get_kernel_version(*args) -> 'size_t' + get_kernel_version() -> str + + + Get IDA kernel version (in a string like "5.1"). + +Help on function get_key_code in module ida_kernwin: + +get_key_code(*args) -> 'ushort' + get_key_code(keyname) -> ushort + + + Get keyboard key code by its name ( 'ui_get_key_code' ) + + + @param keyname (C++: const char *) + +Help on function get_navband_ea in module ida_kernwin: + +get_navband_ea(*args) -> 'ea_t' + get_navband_ea(pixel) -> ea_t + + + Translate the pixel position on the navigation band, into an address. + + + @param pixel (C++: int) + +Help on function get_navband_pixel in module ida_kernwin: + +get_navband_pixel(*args) -> 'bool *' + get_navband_pixel(ea) -> int + + + Maps an address, onto a pixel coordinate within the navband + + @param ea: The address to map + @return: a list [pixel, is_vertical] + +Help on function get_opnum in module ida_kernwin: + +get_opnum(*args) -> 'int' + get_opnum() -> int + + + Get current operand number, -1 means no operand ( 'ui_get_opnum' ) + +Help on function get_output_curline in module ida_kernwin: + +get_output_curline(*args) -> 'qstring *' + get_output_curline(mouse) -> str + + + Get current line of output window ( 'ui_get_output_curline' ). + + @param mouse: current for mouse pointer? (C++: bool) + @return: false if output contains no text + +Help on function get_output_cursor in module ida_kernwin: + +get_output_cursor(*args) -> 'int *, int *' + get_output_cursor() -> bool + + + Get coordinates of the output window's cursor ( 'ui_get_output_cursor' + ).coordinates are 0-basedthis function will succeed even if the output + window is not visible + +Help on function get_output_selected_text in module ida_kernwin: + +get_output_selected_text(*args) -> 'qstring *' + get_output_selected_text() -> str + + + Returns selected text from output window ( + 'ui_get_output_selected_text' ). + + @return: true if there is a selection + +Help on function get_place_class in module ida_kernwin: + +get_place_class(*args) -> 'place_t const *' + 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: output flags (can be NULL) (C++: int *) + @param out_sdk_version: sdk version the place was created with (can be + NULL) (C++: int *) + @param id: place class ID (C++: int) + @return: the place_t template, or NULL if not found + +Help on function get_place_class_id in module ida_kernwin: + +get_place_class_id(*args) -> 'int' + get_place_class_id(name) -> int + + + Get the place class ID for the place that has been registered as + 'name'. + + @param name: the class name (C++: const char *) + @return: the place class ID, or -1 if not found + +Help on function get_place_class_template in module ida_kernwin: + +get_place_class_template(*args) -> 'place_t const *' + get_place_class_template(id) -> place_t + + + See 'get_place_class()' + + + @param id (C++: int) + +Help on function get_registered_actions in module ida_kernwin: + +get_registered_actions(*args) -> 'PyObject *' + get_registered_actions() -> PyObject * + + + Get a list of all currently-registered actions + +Help on function get_screen_ea in module ida_kernwin: + +get_screen_ea(*args) -> 'ea_t' + get_screen_ea() -> ea_t + + + Get the address at the screen cursor ( 'ui_screenea' ) + +Help on function get_tab_size in module ida_kernwin: + +get_tab_size(*args) -> 'int' + get_tab_size(path) -> int + + + Get the size of a tab in spaces ( 'ui_get_tab_size' ). + + @param path: the path of the source view for which the tab size is + requested. if NULL, the default size is returned. (C++: + const char *) + +Help on function get_user_strlist_options in module ida_kernwin: + +get_user_strlist_options(*args) -> 'void' + get_user_strlist_options(out) + +Help on function get_view_renderer_type in module ida_kernwin: + +get_view_renderer_type(*args) -> 'tcc_renderer_type_t' + 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 *) + +Help on function get_viewer_place_type in module ida_kernwin: + +get_viewer_place_type(*args) -> 'tcc_place_type_t' + 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 *) + +Help on function get_viewer_user_data in module ida_kernwin: + +get_viewer_user_data(*args) -> 'void *' + get_viewer_user_data(viewer) -> void * + + + Get the user data from a custom viewer ( 'ui_get_viewer_user_data' ) + + + @param viewer (C++: TWidget *) + +Help on function get_widget_title in module ida_kernwin: + +get_widget_title(*args) -> 'qstring *' + get_widget_title(widget) -> str + + + Get the TWidget's title ( 'ui_get_widget_title' ). + + + @param widget (C++: TWidget *) + +Help on function get_widget_type in module ida_kernwin: + +get_widget_type(*args) -> 'twidget_type_t' + get_widget_type(widget) -> twidget_type_t + + + Get the type of the TWidget * ( 'ui_get_widget_type' ). + + + @param widget (C++: TWidget *) + +Help on function get_window_id in module ida_kernwin: + +get_window_id(*args) -> 'void *' + get_window_id(name=None) -> void * + + + Get the system-specific window ID (GUI version only) + + @param name (C++: const char *) + @return: the low-level window ID + +Help on function hide_wait_box in module ida_kernwin: + +hide_wait_box(*args) -> 'void' + hide_wait_box() + + + Hide the "Please wait dialog box". + +Help on class idaplace_t in module ida_kernwin: + +class idaplace_t(place_t) + | Proxy of C++ idaplace_t class. + | + | Method resolution order: + | idaplace_t + | place_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_idaplace_t(...) + | delete_idaplace_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | ea + | idaplace_t_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) -> 'void' + | _print(self, out_buf, ud) + | + | adjust(self, *args) -> 'void' + | adjust(self, ud) + | + | beginning(self, *args) -> 'bool' + | beginning(self, ud) -> bool + | + | clone(self, *args) -> 'place_t *' + | clone(self) -> place_t + | + | compare(self, *args) -> 'int' + | compare(self, t2) -> int + | + | copyfrom(self, *args) -> 'void' + | copyfrom(self, _from) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, _in) -> bool + | + | ending(self, *args) -> 'bool' + | ending(self, ud) -> bool + | + | enter(self, *args) -> 'place_t *' + | enter(self, arg2) -> place_t + | + | generate(self, *args) -> 'PyObject *' + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) -> 'int' + | id(self) -> int + | + | leave(self, *args) -> 'void' + | leave(self, arg2) + | + | makeplace(self, *args) -> 'place_t *' + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) -> 'char const *' + | name(self) -> char const * + | + | next(self, *args) -> 'bool' + | next(self, ud) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, ud) -> bool + | + | rebase(self, *args) -> 'bool' + | rebase(self, arg2) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | toea(self, *args) -> 'ea_t' + | toea(self) -> ea_t + | + | touval(self, *args) -> 'uval_t' + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) -> 'enumplace_t *' + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) -> 'idaplace_t *' + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) -> 'simpleline_place_t *' + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) -> 'structplace_t *' + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on function info in module ida_kernwin: + +info(*args) -> 'void' + info(format) + +Help on function install_command_interpreter in module ida_kernwin: + +install_command_interpreter(*args) -> 'int' + install_command_interpreter(py_obj) -> int + + + Install command line interpreter ( 'ui_install_cli' ) + +Help on function internal_register_place_class in module ida_kernwin: + +internal_register_place_class(*args) -> 'int' + internal_register_place_class(tmplate, flags, owner, sdk_version) -> int + +Help on function is_action_enabled in module ida_kernwin: + +is_action_enabled(*args) -> 'bool' + is_action_enabled(s) -> bool + + + Check if the given action state is one of AST_ENABLE*. + + + @param s (C++: action_state_t) + +Help on function is_chooser_widget in module ida_kernwin: + +is_chooser_widget(*args) -> 'bool' + is_chooser_widget(t) -> bool + + + Does the given widget type specify a chooser widget? + + + @param t (C++: twidget_type_t) + +Help on function is_idaq in module ida_kernwin: + +is_idaq(*args) -> 'bool' + is_idaq() -> bool + + + Returns True or False depending if IDAPython is hosted by IDAQ + +Help on function is_msg_inited in module ida_kernwin: + +is_msg_inited(*args) -> 'bool' + is_msg_inited() -> bool + + + Can we use msg() functions? + +Help on function is_place_class_ea_capable in module ida_kernwin: + +is_place_class_ea_capable(*args) -> 'bool' + is_place_class_ea_capable(id) -> bool + + + See 'get_place_class()' + + + @param id (C++: int) + +Help on function is_refresh_requested in module ida_kernwin: + +is_refresh_requested(*args) -> 'bool' + is_refresh_requested(mask) -> bool + + + Get a refresh request state + + @param mask: Window refresh flags (C++: uint64) + @return: the state (set or cleared) + +Help on class jobj_wrapper_t in module ida_kernwin: + +class jobj_wrapper_t(builtins.object) + | Proxy of C++ jobj_wrapper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | get_dict(self, *args) -> 'PyObject *' + | get_dict(self) -> PyObject * + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function jumpto in module ida_kernwin: + +jumpto(*args) -> 'bool' + jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool + jumpto(custom_viewer, place, x, y) -> bool + + + Jump to the specified address ( 'ui_jumpto' ). + + @param ea: destination (C++: ea_t) + @param opnum: -1: don't change x coord (C++: int) + @param uijmp_flags: Jump flags (C++: int) + @return: success + +Help on function load_custom_icon in module ida_kernwin: + +load_custom_icon(file_name=None, data=None, format=None) + 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. + + @param file_name: The icon file name + @param data: The icon data + @param format: The icon data format + + @return: Icon id or 0 on failure. + Use free_custom_icon() to free it + + + Load an icon from a file ( 'ui_load_custom_icon_file' ). Also see + 'load_custom_icon(const void *, unsigned int, const char *)' + + @return: icon id + +Help on function load_dbg_dbginfo in module ida_kernwin: + +load_dbg_dbginfo(*args) -> 'bool' + load_dbg_dbginfo(path, li=None, base=BADADDR, verbose=False) -> bool + + + Load debugging information from a file. + + @param path: path to file (C++: const char *) + @param li: loader input. if NULL, check DBG_NAME_KEY (C++: linput_t *) + @param base: loading address (C++: ea_t) + @param verbose: dump status to message window (C++: bool) + +Help on function lookup_key_code in module ida_kernwin: + +lookup_key_code(*args) -> 'ushort' + lookup_key_code(key, shift, is_qt) -> ushort + + + Get shortcut code previously created by 'ui_get_key_code' . + + @param key: key constant (C++: int) + @param shift: modifiers (C++: int) + @param is_qt: are we using gui version? (C++: bool) + +Help on function msg in module ida_kernwin: + +msg(*args) -> 'PyObject *' + msg(o) -> PyObject * + + + 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 + +Help on function msg_clear in module ida_kernwin: + +msg_clear(*args) -> 'void' + msg_clear() + + + Clear the "Output window". + +Help on function msg_get_lines in module ida_kernwin: + +msg_get_lines(*args) -> 'PyObject *' + 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: The number of lines to retrieve. -1 means: all (C++: + int) + +Help on function msg_save in module ida_kernwin: + +msg_save(*args) -> 'bool' + msg_save(path) -> bool + + + Save the "Output window" contents into a file + + @param path: 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. (C++: qstring &) + @return: success + +Help on function nomem in module ida_kernwin: + +nomem(*args) -> 'void' + nomem(format) + +Help on function open_bpts_window in module ida_kernwin: + +open_bpts_window(*args) -> 'TWidget *' + open_bpts_window(ea) -> TWidget * + + + Open the breakpoints window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_calls_window in module ida_kernwin: + +open_calls_window(*args) -> 'TWidget *' + open_calls_window(ea) -> TWidget * + + + Open the function calls window ( 'ui_open_builtin' ). + + @param ea (C++: ea_t) + @return: pointer to resulting window + +Help on function open_disasm_window in module ida_kernwin: + +open_disasm_window(*args) -> 'TWidget *' + open_disasm_window(window_title, ranges=None) -> TWidget * + + + Open a disassembly view ( 'ui_open_builtin' ). + + @param window_title: title of view to open (C++: const char *) + @param ranges: if != NULL, then display a flow chart with the + specified ranges (C++: const rangevec_t *) + @return: pointer to resulting window + +Help on function open_enums_window in module ida_kernwin: + +open_enums_window(*args) -> 'TWidget *' + open_enums_window(const_id=BADADDR) -> TWidget * + + + Open the enums window ( 'ui_open_builtin' ). + + @param const_id: index of entry to select by default (C++: tid_t) + @return: pointer to resulting window + +Help on function open_exports_window in module ida_kernwin: + +open_exports_window(*args) -> 'TWidget *' + open_exports_window(ea) -> TWidget * + + + Open the exports window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_frame_window in module ida_kernwin: + +open_frame_window(*args) -> 'TWidget *' + open_frame_window(pfn, offset) -> TWidget * + + + Open the frame window for the given function ( 'ui_open_builtin' ). + + @param pfn: function to analyze (C++: func_t *) + @param offset: offset where the cursor is placed (C++: uval_t) + @return: pointer to resulting window if 'pfn' is a valid function and + the window was displayed, NULL otherwise + +Help on function open_funcs_window in module ida_kernwin: + +open_funcs_window(*args) -> 'TWidget *' + open_funcs_window(ea) -> TWidget * + + + Open the functions window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_hexdump_window in module ida_kernwin: + +open_hexdump_window(*args) -> 'TWidget *' + open_hexdump_window(window_title) -> TWidget * + + + Open a hexdump view ( 'ui_open_builtin' ). + + @param window_title: title of view to open (C++: const char *) + @return: pointer to resulting window + +Help on function open_imports_window in module ida_kernwin: + +open_imports_window(*args) -> 'TWidget *' + open_imports_window(ea) -> TWidget * + + + Open the exports window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_loctypes_window in module ida_kernwin: + +open_loctypes_window(*args) -> 'TWidget *' + open_loctypes_window(ordinal) -> TWidget * + + + Open the local types window ( 'ui_open_builtin' ). + + @param ordinal: ordinal of type to select by default (C++: int) + @return: pointer to resulting window + +Help on function open_modules_window in module ida_kernwin: + +open_modules_window(*args) -> 'TWidget *' + open_modules_window() -> TWidget * + + + Open the modules window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_names_window in module ida_kernwin: + +open_names_window(*args) -> 'TWidget *' + open_names_window(ea) -> TWidget * + + + Open the names window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_navband_window in module ida_kernwin: + +open_navband_window(*args) -> 'TWidget *' + open_navband_window(ea, zoom) -> TWidget * + + + Open the navigation band window ( 'ui_open_builtin' ). + + @param ea: sets the address of the navband arrow (C++: ea_t) + @param zoom: sets the navband zoom level (C++: int) + @return: pointer to resulting window + +Help on function open_notepad_window in module ida_kernwin: + +open_notepad_window(*args) -> 'TWidget *' + open_notepad_window() -> TWidget * + + + Open the notepad window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_problems_window in module ida_kernwin: + +open_problems_window(*args) -> 'TWidget *' + open_problems_window(ea) -> TWidget * + + + Open the problems window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_segments_window in module ida_kernwin: + +open_segments_window(*args) -> 'TWidget *' + open_segments_window(ea) -> TWidget * + + + Open the segments window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_segregs_window in module ida_kernwin: + +open_segregs_window(*args) -> 'TWidget *' + open_segregs_window(ea) -> TWidget * + + + Open the segment registers window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on function open_selectors_window in module ida_kernwin: + +open_selectors_window(*args) -> 'TWidget *' + open_selectors_window() -> TWidget * + + + Open the selectors window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_signatures_window in module ida_kernwin: + +open_signatures_window(*args) -> 'TWidget *' + open_signatures_window() -> TWidget * + + + Open the signatures window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_stack_window in module ida_kernwin: + +open_stack_window(*args) -> 'TWidget *' + open_stack_window() -> TWidget * + + + Open the call stack window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_strings_window in module ida_kernwin: + +open_strings_window(*args) -> 'TWidget *' + open_strings_window(ea, selstart=BADADDR, selend=BADADDR) -> TWidget * + + + Open the strings window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @param selstart: only display strings that occur within this range + (C++: ea_t) + @param selend: only display strings that occur within this range (C++: + ea_t) + @return: pointer to resulting window + +Help on function open_structs_window in module ida_kernwin: + +open_structs_window(*args) -> 'TWidget *' + open_structs_window(id=BADADDR, offset=0) -> TWidget * + + + Open the structs window ( 'ui_open_builtin' ). + + @param id: index of entry to select by default (C++: tid_t) + @param offset: offset where the cursor is placed (C++: uval_t) + @return: pointer to resulting window + +Help on function open_threads_window in module ida_kernwin: + +open_threads_window(*args) -> 'TWidget *' + open_threads_window() -> TWidget * + + + Open the threads window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_tils_window in module ida_kernwin: + +open_tils_window(*args) -> 'TWidget *' + open_tils_window() -> TWidget * + + + Open the type libraries window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_trace_window in module ida_kernwin: + +open_trace_window(*args) -> 'TWidget *' + open_trace_window() -> TWidget * + + + Open the trace window ( 'ui_open_builtin' ). + + @return: pointer to resulting window + +Help on function open_url in module ida_kernwin: + +open_url(*args) -> 'void' + open_url(url) + + + Open the given url ( 'ui_open_url' ) + + + @param url (C++: const char *) + +Help on function open_xrefs_window in module ida_kernwin: + +open_xrefs_window(*args) -> 'TWidget *' + open_xrefs_window(ea) -> TWidget * + + + Open the cross references window ( 'ui_open_builtin' ). + + @param ea: index of entry to select by default (C++: ea_t) + @return: pointer to resulting window + +Help on class place_t in module ida_kernwin: + +class place_t(builtins.object) + | Proxy of C++ place_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_place_t(...) + | delete_place_t(self) + | + | _print(self, *args) -> 'void' + | _print(self, out_buf, ud) + | + | adjust(self, *args) -> 'void' + | adjust(self, ud) + | + | beginning(self, *args) -> 'bool' + | beginning(self, ud) -> bool + | + | clone(self, *args) -> 'place_t *' + | clone(self) -> place_t + | + | compare(self, *args) -> 'int' + | compare(self, t2) -> int + | + | copyfrom(self, *args) -> 'void' + | copyfrom(self, _from) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, _in) -> bool + | + | ending(self, *args) -> 'bool' + | ending(self, ud) -> bool + | + | enter(self, *args) -> 'place_t *' + | enter(self, arg2) -> place_t + | + | generate(self, *args) -> 'PyObject *' + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) -> 'int' + | id(self) -> int + | + | leave(self, *args) -> 'void' + | leave(self, arg2) + | + | makeplace(self, *args) -> 'place_t *' + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) -> 'char const *' + | name(self) -> char const * + | + | next(self, *args) -> 'bool' + | next(self, ud) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, ud) -> bool + | + | rebase(self, *args) -> 'bool' + | rebase(self, arg2) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | toea(self, *args) -> 'ea_t' + | toea(self) -> ea_t + | + | touval(self, *args) -> 'uval_t' + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | as_enumplace_t(*args) -> 'enumplace_t *' + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) -> 'idaplace_t *' + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) -> 'simpleline_place_t *' + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) -> 'structplace_t *' + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + | + | thisown + | The membership flag + +Help on function place_t_as_enumplace_t in module ida_kernwin: + +place_t_as_enumplace_t(*args) -> 'enumplace_t *' + place_t_as_enumplace_t(p) -> enumplace_t + +Help on function place_t_as_idaplace_t in module ida_kernwin: + +place_t_as_idaplace_t(*args) -> 'idaplace_t *' + place_t_as_idaplace_t(p) -> idaplace_t + +Help on function place_t_as_simpleline_place_t in module ida_kernwin: + +place_t_as_simpleline_place_t(*args) -> 'simpleline_place_t *' + place_t_as_simpleline_place_t(p) -> simpleline_place_t + +Help on function place_t_as_structplace_t in module ida_kernwin: + +place_t_as_structplace_t(*args) -> 'structplace_t *' + place_t_as_structplace_t(p) -> structplace_t + +Help on function plgform_close in module ida_kernwin: + +plgform_close(*args) -> 'void' + plgform_close(py_link, options) + +Help on function plgform_get_widget in module ida_kernwin: + +plgform_get_widget(*args) -> 'TWidget *' + plgform_get_widget(py_link) -> TWidget * + +Help on function plgform_new in module ida_kernwin: + +plgform_new(*args) -> 'PyObject *' + plgform_new() -> PyObject * + +Help on function plgform_show in module ida_kernwin: + +plgform_show(*args) -> 'bool' + plgform_show(py_link, py_obj, caption, options=WOPN_DP_TAB|WOPN_RESTORE) -> bool + +Help on function process_ui_action in module ida_kernwin: + +process_ui_action(*args) -> 'bool' + process_ui_action(name, flags=0) -> bool + + + Invokes an IDA UI action by name + + @param name: action name + @return: Boolean + +Help on function py_get_ask_form in module ida_kernwin: + +py_get_ask_form(*args) -> 'size_t' + py_get_ask_form() -> size_t + +Help on function py_get_open_form in module ida_kernwin: + +py_get_open_form(*args) -> 'size_t' + py_get_open_form() -> size_t + +Help on function py_load_custom_icon_data in module ida_kernwin: + +py_load_custom_icon_data(*args) -> 'int' + py_load_custom_icon_data(data, format) -> int + +Help on function py_load_custom_icon_fn in module ida_kernwin: + +py_load_custom_icon_fn(*args) -> 'int' + py_load_custom_icon_fn(filename) -> int + +Help on function py_register_compiled_form in module ida_kernwin: + +py_register_compiled_form(*args) -> 'void' + py_register_compiled_form(py_form) + +Help on function py_ss_restore_callback in module ida_kernwin: + +py_ss_restore_callback(*args) -> 'void' + py_ss_restore_callback(err_msg, userdata) + +Help on function py_unregister_compiled_form in module ida_kernwin: + +py_unregister_compiled_form(*args) -> 'void' + py_unregister_compiled_form(py_form) + +Help on function pyidag_bind in module ida_kernwin: + +pyidag_bind(*args) -> 'bool' + pyidag_bind(_self) -> bool + +Help on function pyidag_unbind in module ida_kernwin: + +pyidag_unbind(*args) -> 'bool' + pyidag_unbind(_self) -> bool + +Help on function pyscv_add_line in module ida_kernwin: + +pyscv_add_line(*args) -> 'bool' + pyscv_add_line(py_this, py_sl) -> bool + +Help on function pyscv_clear_lines in module ida_kernwin: + +pyscv_clear_lines(*args) -> 'PyObject *' + pyscv_clear_lines(py_this) -> PyObject * + +Help on function pyscv_close in module ida_kernwin: + +pyscv_close(*args) -> 'void' + pyscv_close(py_this) + +Help on function pyscv_count in module ida_kernwin: + +pyscv_count(*args) -> 'size_t' + pyscv_count(py_this) -> size_t + +Help on function pyscv_del_line in module ida_kernwin: + +pyscv_del_line(*args) -> 'bool' + pyscv_del_line(py_this, nline) -> bool + +Help on function pyscv_edit_line in module ida_kernwin: + +pyscv_edit_line(*args) -> 'bool' + pyscv_edit_line(py_this, nline, py_sl) -> bool + +Help on function pyscv_get_current_line in module ida_kernwin: + +pyscv_get_current_line(*args) -> 'PyObject *' + pyscv_get_current_line(py_this, mouse, notags) -> PyObject * + +Help on function pyscv_get_current_word in module ida_kernwin: + +pyscv_get_current_word(*args) -> 'PyObject *' + pyscv_get_current_word(py_this, mouse) -> PyObject * + +Help on function pyscv_get_line in module ida_kernwin: + +pyscv_get_line(*args) -> 'PyObject *' + pyscv_get_line(py_this, nline) -> PyObject * + +Help on function pyscv_get_pos in module ida_kernwin: + +pyscv_get_pos(*args) -> 'PyObject *' + pyscv_get_pos(py_this, mouse) -> PyObject * + +Help on function pyscv_get_selection in module ida_kernwin: + +pyscv_get_selection(*args) -> 'PyObject *' + pyscv_get_selection(py_this) -> PyObject * + +Help on function pyscv_get_widget in module ida_kernwin: + +pyscv_get_widget(*args) -> 'TWidget *' + pyscv_get_widget(py_this) -> TWidget * + +Help on function pyscv_init in module ida_kernwin: + +pyscv_init(*args) -> 'PyObject *' + pyscv_init(py_link, title) -> PyObject * + +Help on function pyscv_insert_line in module ida_kernwin: + +pyscv_insert_line(*args) -> 'bool' + pyscv_insert_line(py_this, nline, py_sl) -> bool + +Help on function pyscv_is_focused in module ida_kernwin: + +pyscv_is_focused(*args) -> 'bool' + pyscv_is_focused(py_this) -> bool + +Help on function pyscv_jumpto in module ida_kernwin: + +pyscv_jumpto(*args) -> 'bool' + pyscv_jumpto(py_this, ln, x, y) -> bool + +Help on function pyscv_patch_line in module ida_kernwin: + +pyscv_patch_line(*args) -> 'bool' + pyscv_patch_line(py_this, nline, offs, value) -> bool + +Help on function pyscv_refresh in module ida_kernwin: + +pyscv_refresh(*args) -> 'bool' + pyscv_refresh(py_this) -> bool + +Help on function pyscv_show in module ida_kernwin: + +pyscv_show(*args) -> 'bool' + pyscv_show(py_this) -> bool + +Help on function qcleanline in module ida_kernwin: + +qcleanline(*args) -> 'qstring *' + qcleanline(cmt_char='\0', flags=((1 << 0)|(1 << 1))|(1 << 2)) -> str + + + Performs some cleanup operations to a line. + + @param cmt_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 (C++: char) + @param flags: a combination of line cleanup flags . defaults to + CLNL_TRIM (C++: uint32) + @return: length of line + +Help on class quick_widget_commands_t in module ida_kernwin: + +class quick_widget_commands_t(builtins.object) + | # ---------------------------------------------------------------------- + | # This provides an alternative to register_action()+attach_action_to_popup_menu() + | + | Methods defined here: + | + | __init__(self, callback) + | Initialize self. See help(type(self)) for accurate signature. + | + | add(self, caption, flags, menu_index, icon, emb, shortcut) + | + | populate_popup(self, widget, popup) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | _ah_t = + | + | + | _cmd_t = + +Help on function read_range_selection in module ida_kernwin: + +read_range_selection(*args) -> 'ea_t *, ea_t *' + read_range_selection(v) -> bool + + + Get the address range for the selected range boundaries, this is the + convenient function for 'read_selection()' + + @param v: view, NULL means the last active window containing addresses + (C++: TWidget *) + +Help on function read_selection in module ida_kernwin: + +read_selection(*args) -> 'bool' + 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 p0: Storage for the "from" part of the selection. + @param p1: Storage for the "to" part of the selection. + @return: a bool value indicating success. + +Help on function refresh_chooser in module ida_kernwin: + +refresh_chooser(*args) -> 'bool' + refresh_chooser(title) -> bool + + + Mark a non-modal custom chooser for a refresh ( 'ui_refresh_chooser' + ). + + @param title: title of chooser (C++: const char *) + @return: success + +Help on function refresh_choosers in module ida_kernwin: + +refresh_choosers(*args) -> 'void' + refresh_choosers() + +Help on function refresh_idaview in module ida_kernwin: + +refresh_idaview(*args) -> 'void' + refresh_idaview() + + + Refresh marked windows ( 'ui_refreshmarked' ) + +Help on function refresh_idaview_anyway in module ida_kernwin: + +refresh_idaview_anyway(*args) -> 'void' + refresh_idaview_anyway() + + + Refresh all disassembly views ( 'ui_refresh' ), forces an immediate + refresh. Please consider 'request_refresh()' instead + +Help on function refresh_navband in module ida_kernwin: + +refresh_navband(*args) -> 'void' + refresh_navband(force) + + + Refresh navigation band if changed ( 'ui_refresh_navband' ). + + @param force: refresh regardless (C++: bool) + +Help on function register_action in module ida_kernwin: + +register_action(*args) -> 'bool' + 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: action to register (C++: const action_desc_t &) + @return: success + +Help on function register_addon in module ida_kernwin: + +register_addon(*args) -> 'int' + 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 *) + +Help on function register_and_attach_to_menu in module ida_kernwin: + +register_and_attach_to_menu(*args) -> 'bool' + register_and_attach_to_menu(menupath, name, label, shortcut, flags, handler, owner) -> 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 *) + @param name (C++: const char *) + @param label (C++: const char *) + @param shortcut (C++: const char *) + @param flags (C++: int) + @param handler (C++: action_handler_t *) + @param owner (C++: const plugin_t *) + +Help on function register_timer in module ida_kernwin: + +register_timer(*args) -> 'PyObject *' + register_timer(interval, py_callback) -> PyObject * + + + Register a timer + + @param interval: Interval in milliseconds + @param 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 + +Help on function remove_command_interpreter in module ida_kernwin: + +remove_command_interpreter(*args) -> 'void' + remove_command_interpreter(cli_idx) + + + Remove command line interpreter ( 'ui_install_cli' ) + +Help on class renderer_pos_info_t in module ida_kernwin: + +class renderer_pos_info_t(builtins.object) + | Proxy of C++ renderer_pos_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_pos_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_renderer_pos_info_t(...) + | delete_renderer_pos_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cx + | renderer_pos_info_t_cx_get(self) -> short + | + | cy + | renderer_pos_info_t_cy_get(self) -> short + | + | node + | renderer_pos_info_t_node_get(self) -> int + | + | sx + | renderer_pos_info_t_sx_get(self) -> short + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function repaint_custom_viewer in module ida_kernwin: + +repaint_custom_viewer(*args) -> 'void' + repaint_custom_viewer(custom_viewer) + + + Repaint the given widget immediately ( 'ui_repaint_qwidget' ) + + + @param custom_viewer (C++: TWidget *) + +Help on function replace_wait_box in module ida_kernwin: + +replace_wait_box(*args) -> 'void' + replace_wait_box(format) + + + Replace the label of "Please wait dialog box". + + + @param format (C++: const char *) + +Help on function request_refresh in module ida_kernwin: + +request_refresh(*args) -> 'void' + request_refresh(mask, cnd=True) + + + Request a refresh of a builtin window. + + @param mask: Window refresh flags (C++: uint64) + @param cnd: set if true or clear flag otherwise (C++: bool) + +Help on function restore_database_snapshot in module ida_kernwin: + +restore_database_snapshot(*args) -> 'PyObject *' + restore_database_snapshot(ss, pyfunc_or_none, pytuple_or_none) -> PyObject * + + + Restore a database snapshot. Note: This call is asynchronous. When it + is completed, the callback will be triggered. + + @param ss: snapshot instance (see build_snapshot_tree() ) (C++: const + snapshot_t *) + @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. + +Help on function set_cancelled in module ida_kernwin: + +set_cancelled(*args) -> 'void' + set_cancelled() + + + Set "Cancelled" flag ( 'ui_set_cancelled' ) + +Help on function set_code_viewer_handler in module ida_kernwin: + +set_code_viewer_handler(*args) -> 'void *' + 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: the code viewer (C++: TWidget *) + @param handler_id: one of CDVH_ in custom_viewer_handler_id_t (C++: + custom_viewer_handler_id_t) + @param handler_or_data: can be a handler or data. see examples in + Functions: custom viewer handlers (C++: void + *) + @return: old value of the handler or data + +Help on function set_code_viewer_is_source in module ida_kernwin: + +set_code_viewer_is_source(*args) -> 'bool' + 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 *) + +Help on function set_code_viewer_line_handlers in module ida_kernwin: + +set_code_viewer_line_handlers(*args) -> 'void' + 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 + NULL + + @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 *) + +Help on function set_code_viewer_lines_alignment in module ida_kernwin: + +set_code_viewer_lines_alignment(*args) -> 'bool' + 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) + +Help on function set_code_viewer_lines_icon_margin in module ida_kernwin: + +set_code_viewer_lines_icon_margin(*args) -> 'bool' + 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) + +Help on function set_code_viewer_lines_radix in module ida_kernwin: + +set_code_viewer_lines_radix(*args) -> 'bool' + 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) + +Help on function set_code_viewer_user_data in module ida_kernwin: + +set_code_viewer_user_data(*args) -> 'bool' + 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 *) + +Help on function set_custom_viewer_qt_aware in module ida_kernwin: + +set_custom_viewer_qt_aware(*args) -> 'bool' + 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 *) + +Help on function set_dock_pos in module ida_kernwin: + +set_dock_pos(*args) -> 'bool' + 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. + + @param src: Source docking control + @param dest: Destination docking control + @param orient: One of DOR_XXXX constants + @param left, top, right, bottom: These parameter if DOR_FLOATING is used, or if you want to specify the width of docked windows + @return: Boolean + + Example: + set_dock_pos('Structures', 'Enums', DOR_RIGHT) <- docks the Structures window to the right of Enums window + +Help on function set_highlight in module ida_kernwin: + +set_highlight(*args) -> 'bool' + set_highlight(viewer, str, flags) -> bool + + + Set the highlighted identifier in the viewer ( 'ui_set_highlight' ). + + @param viewer: the viewer (C++: TWidget *) + @param str: the text to match, or NULL to remove current (C++: const + char *) + @param flags: combination of HIF_... bits (see set_highlightr flags ) + (C++: int) + @return: false if an error occurred + +Help on function set_nav_colorizer in module ida_kernwin: + +set_nav_colorizer(*args) -> 'PyObject *' + set_nav_colorizer(new_py_colorizer) -> PyObject * + + + 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) + +Help on function set_view_renderer_type in module ida_kernwin: + +set_view_renderer_type(*args) -> 'void' + 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) + +Help on function show_wait_box in module ida_kernwin: + +show_wait_box(*args) -> 'void' + show_wait_box(message) + + + Display a dialog box with "Please wait...". If the text message starts + with "HIDECANCEL\n", the cancel buttonwon't be displayed in the dialog + box and you don't need to checkfor cancellations with + 'user_cancelled()' . Plugins must call 'hide_wait_box()' to close the + dialog box, otherwise the user interface will be disabled.Note that, + if the wait dialog is already visible, 'show_wait_box()' will1) push + the currently-displayed text on a stack2) display the new textThen, + when 'hide_wait_box()' is called, if that stack isn't empty its + toplabel will be popped and restored in the wait dialog.This implies + that a plugin should call 'hide_wait_box()' exactly as manytimes as it + called 'show_wait_box()' , or the wait dialog might remainvisible 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 thedialog without pushing the currently- + displayed text on the stack. + +Help on class simplecustviewer_t in module ida_kernwin: + +class simplecustviewer_t(builtins.object) + | The base class for implementing simple custom viewers + | + | Methods defined here: + | + | AddLine(self, line, fgcolor=None, bgcolor=None) + | Adds a colored line to the view + | @return: Boolean + | + | ClearLines(self) + | Clears all the lines + | + | Close(self) + | Destroys the view. + | One has to call Create() afterwards. + | Show() can be called and it will call Create() internally. + | @return: Boolean + | + | Count(self) + | Returns the number of lines in the view + | + | Create(self, title) + | 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 + | + | DelLine(self, lineno) + | Deletes an existing line + | @return: Boolean + | + | EditLine(self, lineno, line, fgcolor=None, bgcolor=None) + | Edits an existing line. + | @return: Boolean + | + | GetCurrentLine(self, mouse=0, notags=0) + | 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 + | + | GetCurrentWord(self, mouse=0) + | 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 + | + | GetLine(self, lineno) + | Returns a line + | @param lineno: The line number + | @return: + | Returns a tuple (colored_line, fgcolor, bgcolor) or None + | + | GetLineNo(self, mouse=0) + | Calls GetPos() and returns the current line number or -1 on failure + | + | GetPos(self, mouse=0) + | Returns the current cursor or mouse position. + | @param mouse: return mouse position + | @return: Returns a tuple (lineno, x, y) + | + | GetSelection(self) + | Returns the selected range or None + | @return: + | - tuple(x1, y1, x2, y2) + | - None if no selection + | + | GetWidget(self) + | Return the TWidget underlying this view. + | + | @return: The TWidget underlying this view, or None. + | + | InsertLine(self, lineno, line, fgcolor=None, bgcolor=None) + | Inserts a line in the given position + | @return: Boolean + | + | IsFocused(self) + | Returns True if the current view is the focused view + | + | Jump(self, lineno, x=0, y=0) + | + | OnPopup(self, form, popup_handle) + | Context menu popup is about to be shown. Create items dynamically if you wish + | @return: Boolean. True if you handled the event + | + | PatchLine(self, lineno, offs, value) + | Patches an existing line character at the given offset. This is a low level function. You must know what you're doing + | + | Refresh(self) + | + | RefreshCurrent(self) + | Refreshes the current line only + | + | Show(self) + | Shows an already created view. It the view was close, then it will call Create() for you + | @return: Boolean + | + | __init__(self) + | Initialize self. See help(type(self)) for accurate signature. + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | _simplecustviewer_t__make_sl_arg = __make_sl_arg(line, fgcolor=None, bgcolor=None) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | UI_Hooks_Trampoline = uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) -> 'void' + | _print(self, out_buf, ud) + | + | adjust(self, *args) -> 'void' + | adjust(self, ud) + | + | beginning(self, *args) -> 'bool' + | beginning(self, ud) -> bool + | + | clone(self, *args) -> 'place_t *' + | clone(self) -> place_t + | + | compare(self, *args) -> 'int' + | compare(self, t2) -> int + | + | copyfrom(self, *args) -> 'void' + | copyfrom(self, _from) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, _in) -> bool + | + | ending(self, *args) -> 'bool' + | ending(self, ud) -> bool + | + | enter(self, *args) -> 'place_t *' + | enter(self, arg2) -> place_t + | + | generate(self, *args) -> 'PyObject *' + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) -> 'int' + | id(self) -> int + | + | leave(self, *args) -> 'void' + | leave(self, arg2) + | + | makeplace(self, *args) -> 'place_t *' + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) -> 'char const *' + | name(self) -> char const * + | + | next(self, *args) -> 'bool' + | next(self, ud) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, ud) -> bool + | + | rebase(self, *args) -> 'bool' + | rebase(self, arg2) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | toea(self, *args) -> 'ea_t' + | toea(self) -> ea_t + | + | touval(self, *args) -> 'uval_t' + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) -> 'enumplace_t *' + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) -> 'idaplace_t *' + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) -> 'simpleline_place_t *' + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) -> 'structplace_t *' + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on class simpleline_t in module ida_kernwin: + +class simpleline_t(builtins.object) + | Proxy of C++ simpleline_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> simpleline_t + | __init__(self, c, str) -> simpleline_t + | __init__(self, str) -> simpleline_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_simpleline_t(...) + | delete_simpleline_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | bgcolor + | simpleline_t_bgcolor_get(self) -> bgcolor_t + | + | color + | simpleline_t_color_get(self) -> color_t + | + | line + | simpleline_t_line_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on function str2ea in module ida_kernwin: + +str2ea(*args) -> 'ea_t' + str2ea(str, screenEA=BADADDR) -> ea_t + + + Converts a string express to EA. The expression evaluator may be called as well. + + @return: BADADDR or address value + +Help on function str2user in module ida_pro: + +str2user(*args) -> 'PyObject *' + str2user(str) -> PyObject * + + + Insert C-style escape characters to string + + @return: new string with escape characters inserted + +Help on function strarray in module ida_kernwin: + +strarray(*args) -> 'char const *' + 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 *) + @param array_size (C++: size_t) + @param code (C++: int) + +Help on class strarray_t in module ida_kernwin: + +class strarray_t(builtins.object) + | Proxy of C++ strarray_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strarray_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_strarray_t(...) + | delete_strarray_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | code + | strarray_t_code_get(self) -> int + | + | text + | strarray_t_text_get(self) -> char const * + | + | thisown + | The membership flag + +Help on class structplace_t in module ida_kernwin: + +class structplace_t(place_t) + | Proxy of C++ structplace_t class. + | + | Method resolution order: + | structplace_t + | place_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_structplace_t(...) + | delete_structplace_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | idx + | structplace_t_idx_get(self) -> uval_t + | + | offset + | structplace_t_offset_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from place_t: + | + | _print(self, *args) -> 'void' + | _print(self, out_buf, ud) + | + | adjust(self, *args) -> 'void' + | adjust(self, ud) + | + | beginning(self, *args) -> 'bool' + | beginning(self, ud) -> bool + | + | clone(self, *args) -> 'place_t *' + | clone(self) -> place_t + | + | compare(self, *args) -> 'int' + | compare(self, t2) -> int + | + | copyfrom(self, *args) -> 'void' + | copyfrom(self, _from) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, _in) -> bool + | + | ending(self, *args) -> 'bool' + | ending(self, ud) -> bool + | + | enter(self, *args) -> 'place_t *' + | enter(self, arg2) -> place_t + | + | generate(self, *args) -> 'PyObject *' + | generate(self, ud, maxsize) -> PyObject * + | + | id(self, *args) -> 'int' + | id(self) -> int + | + | leave(self, *args) -> 'void' + | leave(self, arg2) + | + | makeplace(self, *args) -> 'place_t *' + | makeplace(self, ud, x, lnnum) -> place_t + | + | name(self, *args) -> 'char const *' + | name(self) -> char const * + | + | next(self, *args) -> 'bool' + | next(self, ud) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self, ud) -> bool + | + | rebase(self, *args) -> 'bool' + | rebase(self, arg2) -> bool + | + | serialize(self, *args) -> 'void' + | serialize(self) + | + | toea(self, *args) -> 'ea_t' + | toea(self) -> ea_t + | + | touval(self, *args) -> 'uval_t' + | touval(self, ud) -> uval_t + | + | ---------------------------------------------------------------------- + | Static methods inherited from place_t: + | + | as_enumplace_t(*args) -> 'enumplace_t *' + | as_enumplace_t(p) -> enumplace_t + | + | as_idaplace_t(*args) -> 'idaplace_t *' + | as_idaplace_t(p) -> idaplace_t + | + | as_simpleline_place_t(*args) -> 'simpleline_place_t *' + | as_simpleline_place_t(p) -> simpleline_place_t + | + | as_structplace_t(*args) -> 'structplace_t *' + | as_structplace_t(p) -> structplace_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from place_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | lnnum + | place_t_lnnum_get(self) -> int + +Help on class sync_source_t in module ida_kernwin: + +class sync_source_t(builtins.object) + | Proxy of C++ sync_source_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, _o) -> bool + | + | __init__(self, *args) + | __init__(self, _view) -> sync_source_t + | __init__(self, _regname) -> sync_source_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, _o) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_sync_source_t(...) + | delete_sync_source_t(self) + | + | get_register(self, *args) -> 'char const *' + | get_register(self) -> char const * + | + | get_widget(self, *args) -> 'TWidget const *' + | get_widget(self) -> TWidget const * + | + | is_register(self, *args) -> 'bool' + | is_register(self) -> bool + | + | is_widget(self, *args) -> 'bool' + | is_widget(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function sync_sources in module ida_kernwin: + +sync_sources(*args) -> 'bool' + 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 + +Help on function take_database_snapshot in module ida_kernwin: + +take_database_snapshot(*args) -> 'PyObject *' + take_database_snapshot(ss) -> PyObject * + + + Take a database snapshot ( 'ui_take_database_snapshot' ). + + @param ss: in/out parameter. in: description, flags out: filename, + id (C++: snapshot_t *) + @return: success + +Help on class textctrl_info_t in module ida_kernwin: + +class textctrl_info_t(ida_idaapi.py_clinked_object_t) + | Class representing textctrl_info_t + | + | Method resolution order: + | textctrl_info_t + | ida_idaapi.py_clinked_object_t + | ida_idaapi.pyidc_opaque_object_t + | builtins.object + | + | Methods defined here: + | + | __get_flags__(self) + | Returns the flags value + | + | __get_tabsize__(self) + | Returns the tabsize value + | + | __init__(self, text='', flags=0, tabsize=0) + | Initialize self. See help(type(self)) for accurate signature. + | + | __set_flags__(self, flags) + | Sets the flags value + | + | __set_tabsize__(self, tabsize) + | Sets the tabsize value + | + | _create_clink(self) + | Overwrite me. + | Creates a new clink + | @return: PyCapsule representing the C link + | + | _del_clink(self, lnk) + | Overwrite me. + | This method deletes the link + | + | _get_clink_ptr(self) + | Overwrite me. + | Returns the C link pointer as a 64bit number + | + | _textctrl_info_t__get_text = __get_text(self) + | Sets the text value + | + | _textctrl_info_t__set_text = __set_text(self, s) + | Sets the text value + | + | assign(self, other) + | Copies the contents of 'other' to 'self' + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | flags + | Returns the flags value + | + | tabsize + | Returns the tabsize value + | + | text + | Sets the text value + | + | value + | Sets the text value + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | TXTF_ACCEPTTABS = 2 + | + | TXTF_AUTOINDENT = 1 + | + | TXTF_FIXEDFONT = 32 + | + | TXTF_MODIFIED = 16 + | + | TXTF_READONLY = 4 + | + | TXTF_SELECTED = 8 + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_idaapi.py_clinked_object_t: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.py_clinked_object_t: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on function textctrl_info_t_assign in module ida_kernwin: + +textctrl_info_t_assign(*args) -> 'bool' + textctrl_info_t_assign(_self, other) -> bool + +Help on function textctrl_info_t_create in module ida_kernwin: + +textctrl_info_t_create(*args) -> 'PyObject *' + textctrl_info_t_create() -> PyObject * + +Help on function textctrl_info_t_destroy in module ida_kernwin: + +textctrl_info_t_destroy(*args) -> 'bool' + textctrl_info_t_destroy(py_obj) -> bool + +Help on function textctrl_info_t_get_clink in module ida_kernwin: + +textctrl_info_t_get_clink(*args) -> 'textctrl_info_t *' + textctrl_info_t_get_clink(_self) -> textctrl_info_t * + +Help on function textctrl_info_t_get_clink_ptr in module ida_kernwin: + +textctrl_info_t_get_clink_ptr(*args) -> 'PyObject *' + textctrl_info_t_get_clink_ptr(_self) -> PyObject * + +Help on function textctrl_info_t_get_flags in module ida_kernwin: + +textctrl_info_t_get_flags(*args) -> 'unsigned int' + textctrl_info_t_get_flags(_self) -> unsigned int + +Help on function textctrl_info_t_get_tabsize in module ida_kernwin: + +textctrl_info_t_get_tabsize(*args) -> 'unsigned int' + textctrl_info_t_get_tabsize(_self) -> unsigned int + +Help on function textctrl_info_t_get_text in module ida_kernwin: + +textctrl_info_t_get_text(*args) -> 'char const *' + textctrl_info_t_get_text(_self) -> char const * + +Help on function textctrl_info_t_set_flags in module ida_kernwin: + +textctrl_info_t_set_flags(*args) -> 'bool' + textctrl_info_t_set_flags(_self, flags) -> bool + +Help on function textctrl_info_t_set_tabsize in module ida_kernwin: + +textctrl_info_t_set_tabsize(*args) -> 'bool' + textctrl_info_t_set_tabsize(_self, tabsize) -> bool + +Help on function textctrl_info_t_set_text in module ida_kernwin: + +textctrl_info_t_set_text(*args) -> 'bool' + textctrl_info_t_set_text(_self, s) -> bool + +Help on class twinpos_t in module ida_kernwin: + +class twinpos_t(builtins.object) + | Proxy of C++ twinpos_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> twinpos_t + | __init__(self, t) -> twinpos_t + | __init__(self, t, x0) -> twinpos_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_twinpos_t(...) + | delete_twinpos_t(self) + | + | place(self, view) + | + | place_as_enumplace_t(self) + | + | place_as_idaplace_t(self) + | + | place_as_simpleline_place_t(self) + | + | place_as_structplace_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | at + | twinpos_t_at_get(self) -> place_t + | + | thisown + | The membership flag + | + | x + | twinpos_t_x_get(self) -> int + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function ui_load_new_file in module ida_kernwin: + +ui_load_new_file(*args) -> 'bool' + 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: name of the file with the extracted archive member. + (C++: qstring *) + @param filename: the name of input file as is, library or archive name + (C++: qstring *) + @param pli: loader input source, may be changed to point to temp_file + (C++: linput_t **) + @param neflags: combination of NEF_... bits (see Load file flags ) + (C++: ushort) + @param ploaders: list of loaders which accept file, may be changed for + loaders of temp_file (C++: load_info_t **) + +Help on class ui_requests_t in module ida_kernwin: + +class ui_requests_t(builtins.object) + | Proxy of C++ ui_requests_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ui_requests_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ui_requests_t(...) + | delete_ui_requests_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function ui_run_debugger in module ida_kernwin: + +ui_run_debugger(*args) -> 'bool' + ui_run_debugger(dbgopts, exename, argc, argv) -> bool + + + Load a debugger plugin and run the specified program ( 'ui_run_dbg' ). + + @param dbgopts: value of the -r command line switch (C++: const char + *) + @param exename: name of the file to run (C++: const char *) + @param argc: number of arguments for the executable (C++: int) + @param argv: argument vector (C++: const char *const *) + @return: success + +Help on function unmark_selection in module ida_kernwin: + +unmark_selection(*args) -> 'void' + unmark_selection() + + + Unmark selection ( 'ui_unmarksel' ) + +Help on function unregister_action in module ida_kernwin: + +unregister_action(*args) -> 'bool' + unregister_action(name) -> bool + + + Delete a previously-registered action ( 'ui_unregister_action' ). + + @param name: name of action (C++: const char *) + @return: success + +Help on function unregister_timer in module ida_kernwin: + +unregister_timer(*args) -> 'bool' + 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. + +Help on function update_action_checkable in module ida_kernwin: + +update_action_checkable(*args) -> 'bool' + update_action_checkable(name, checkable) -> bool + + + Update an action's checkability ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param checkable: new checkability (C++: bool) + @return: success + +Help on function update_action_checked in module ida_kernwin: + +update_action_checked(*args) -> 'bool' + update_action_checked(name, checked) -> bool + + + Update an action's checked state ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param checked: new checked state (C++: bool) + @return: success + +Help on function update_action_icon in module ida_kernwin: + +update_action_icon(*args) -> 'bool' + update_action_icon(name, icon) -> bool + + + Update an action's icon ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param icon: new icon id (C++: int) + @return: success + +Help on function update_action_label in module ida_kernwin: + +update_action_label(*args) -> 'bool' + update_action_label(name, label) -> bool + + + Update an action's label ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param label: new label (C++: const char *) + @return: success + +Help on function update_action_shortcut in module ida_kernwin: + +update_action_shortcut(*args) -> 'bool' + update_action_shortcut(name, shortcut) -> bool + + + Update an action's shortcut ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param shortcut: new shortcut (C++: const char *) + @return: success + +Help on function update_action_state in module ida_kernwin: + +update_action_state(*args) -> 'bool' + update_action_state(name, state) -> bool + + + Update an action's state ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param state: new state (C++: action_state_t) + @return: success + +Help on function update_action_tooltip in module ida_kernwin: + +update_action_tooltip(*args) -> 'bool' + update_action_tooltip(name, tooltip) -> bool + + + Update an action's tooltip ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param tooltip: new tooltip (C++: const char *) + @return: success + +Help on function update_action_visibility in module ida_kernwin: + +update_action_visibility(*args) -> 'bool' + update_action_visibility(name, visible) -> bool + + + Update an action's visibility ( 'ui_update_action_attr' ). + + @param name: action name (C++: const char *) + @param visible: new visibility (C++: bool) + @return: success + +Help on function user_cancelled in module ida_kernwin: + +user_cancelled(*args) -> 'bool' + user_cancelled() -> bool + + + Test the ctrl-break flag ( 'ui_test_cancelled' ). + +Help on class view_mouse_event_location_t in module ida_kernwin: + +class view_mouse_event_location_t(builtins.object) + | Proxy of C++ view_mouse_event_location_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> view_mouse_event_location_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_view_mouse_event_location_t(...) + | delete_view_mouse_event_location_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | view_mouse_event_location_t_ea_get(self) -> ea_t + | + | item + | view_mouse_event_location_t_item_get(self) -> selection_item_t const * + | + | thisown + | The membership flag + +Help on class view_mouse_event_t in module ida_kernwin: + +class view_mouse_event_t(builtins.object) + | Proxy of C++ view_mouse_event_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> view_mouse_event_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_view_mouse_event_t(...) + | delete_view_mouse_event_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | button + | view_mouse_event_t_button_get(self) -> vme_button_t + | + | location + | view_mouse_event_t_location_get(self) -> view_mouse_event_location_t + | + | renderer_pos + | view_mouse_event_t_renderer_pos_get(self) -> renderer_pos_info_t + | + | rtype + | view_mouse_event_t_rtype_get(self) -> tcc_renderer_type_t + | + | state + | view_mouse_event_t_state_get(self) -> view_event_state_t + | + | thisown + | The membership flag + | + | x + | view_mouse_event_t_x_get(self) -> uint32 + | + | y + | view_mouse_event_t_y_get(self) -> uint32 + +Help on function warning in module ida_kernwin: + +warning(*args) -> 'void' + warning(format) + + + Display a message in a message box + + @param message: 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 + +=== ida_kernwin EPYDOC INJECTIONS === +ida_kernwin.ACF_HAS_SELECTION +""" +there is currently a valid selection +""" + +ida_kernwin.ACF_XTRN_EA +""" +cur_ea is in 'externs' segment +""" + +ida_kernwin.ADF_NO_UNDO +""" +useful for actions that do not modify the database. + +the action does not create an undo point. +""" + +ida_kernwin.ADF_OWN_HANDLER +""" +handler is owned by the action; it'll be destroyed when the action is +unregistered. You shouldn't have to use this. +""" + +ida_kernwin.AHF_VERSION +""" +action handler version (used by 'action_handler_t::flags' ) +""" + +ida_kernwin.AHF_VERSION_MASK +""" +mask for 'action_handler_t::flags' +""" + +ida_kernwin.ASKBTN_BTN1 +""" +First (Yes) button. +""" + +ida_kernwin.ASKBTN_BTN2 +""" +Second (No) button. +""" + +ida_kernwin.ASKBTN_BTN3 +""" +Third (Cancel) button. +""" + +ida_kernwin.ASKBTN_CANCEL +""" +Cancel button. +""" + +ida_kernwin.ASKBTN_NO +""" +No button. +""" + +ida_kernwin.ASKBTN_YES +""" +Yes button. +""" + +ida_kernwin.BWN_ADDRWATCH +""" +the 'Watch List' window +""" + +ida_kernwin.BWN_BPTS +""" +breakpoints +""" + +ida_kernwin.BWN_CALLS +""" +function calls +""" + +ida_kernwin.BWN_CALLS_CALLEES +""" +function calls, callees +""" + +ida_kernwin.BWN_CALLS_CALLERS +""" +function calls, callers +""" + +ida_kernwin.BWN_CALL_STACK +""" +call stack +""" + +ida_kernwin.BWN_CHOOSER +""" +a non-builtin chooser +""" + +ida_kernwin.BWN_CLI +""" +the command-line, in the output window +""" + +ida_kernwin.BWN_CMDPALCSR +""" +the command palette chooser (Qt version only) +""" + +ida_kernwin.BWN_CMDPALWIN +""" +the command palette window (Qt version only) +""" + +ida_kernwin.BWN_CPUREGS +""" +one of the 'General registers', 'FPU register', ... debugger windows +""" + +ida_kernwin.BWN_CUSTVIEW +""" +custom viewers +""" + +ida_kernwin.BWN_CV_LINE_INFOS +""" +custom viewers' lineinfo widget +""" + +ida_kernwin.BWN_DISASM +""" +disassembly views +""" + +ida_kernwin.BWN_DISASMS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_DISASM_ARROWS +""" +disassembly arrows widget +""" + +ida_kernwin.BWN_DUMP +""" +hex dumps +""" + +ida_kernwin.BWN_DUMPS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_ENUMS +""" +enumerations +""" + +ida_kernwin.BWN_EXPORTS +""" +exports +""" + +ida_kernwin.BWN_FRAME +""" +function frame +""" + +ida_kernwin.BWN_FUNCS +""" +functions +""" + +ida_kernwin.BWN_IMPORTS +""" +imports +""" + +ida_kernwin.BWN_LOCALS +""" +the 'locals' debugger window +""" + +ida_kernwin.BWN_LOCTYPS +""" +local types +""" + +ida_kernwin.BWN_MDVIEWCSR +""" +lumina metadata view chooser +""" + +ida_kernwin.BWN_MODULES +""" +modules +""" + +ida_kernwin.BWN_NAMES +""" +names +""" + +ida_kernwin.BWN_NAVBAND +""" +navigation band +""" + +ida_kernwin.BWN_NOTEPAD +""" +notepad +""" + +ida_kernwin.BWN_OUTPUT +""" +the text area, in the output window +""" + +ida_kernwin.BWN_PROBS +""" +problems +""" + +ida_kernwin.BWN_PSEUDOCODE +""" +hexrays decompiler views +""" + +ida_kernwin.BWN_SCRIPTS_CSR +""" +the "Recent scripts" chooser +""" + +ida_kernwin.BWN_SEARCH +""" +search results +""" + +ida_kernwin.BWN_SEARCHS +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_SEGREGS +""" +segment registers +""" + +ida_kernwin.BWN_SEGS +""" +segments +""" + +ida_kernwin.BWN_SELS +""" +selectors +""" + +ida_kernwin.BWN_SHORTCUTCSR +""" +the shortcuts chooser (Qt version only) +""" + +ida_kernwin.BWN_SHORTCUTWIN +""" +the shortcuts window (Qt version only) +""" + +ida_kernwin.BWN_SIGNS +""" +signatures +""" + +ida_kernwin.BWN_SNIPPETS +""" +the 'Execute script' window +""" + +ida_kernwin.BWN_SNIPPETS_CSR +""" +the list of snippets in the 'Execute script' window +""" + +ida_kernwin.BWN_SO_OFFSETS +""" +the 'Structure offsets' dialog's offset panel +""" + +ida_kernwin.BWN_SO_STRUCTS +""" +the 'Structure offsets' dialog's 'Structures and Unions' panel +""" + +ida_kernwin.BWN_SRCPTHMAP_CSR +""" +"Source paths..."'s path mappings chooser +""" + +ida_kernwin.BWN_SRCPTHUND_CSR +""" +"Source paths..."'s undesired paths chooser +""" + +ida_kernwin.BWN_STACK +""" +Alias. Some BWN_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.BWN_STKVIEW +""" +the 'Stack view' debugger window +""" + +ida_kernwin.BWN_STRINGS +""" +strings +""" + +ida_kernwin.BWN_STRUCTS +""" +structures +""" + +ida_kernwin.BWN_THREADS +""" +threads +""" + +ida_kernwin.BWN_TILS +""" +type libraries +""" + +ida_kernwin.BWN_TRACE +""" +trace view +""" + +ida_kernwin.BWN_UNDOHIST +""" +Undo history. +""" + +ida_kernwin.BWN_UNKNOWN +""" +unknown window +""" + +ida_kernwin.BWN_WATCH +""" +the 'watches' debugger window +""" + +ida_kernwin.BWN_XREFS +""" +xrefs +""" + +ida_kernwin.CHCOL_DEC +""" +decimal number +""" + +ida_kernwin.CHCOL_DEFHIDDEN +""" +column should be hidden by default +""" + +ida_kernwin.CHCOL_EA +""" +address +""" + +ida_kernwin.CHCOL_FNAME +""" +function name +""" + +ida_kernwin.CHCOL_FORMAT +""" +column format mask +""" + +ida_kernwin.CHCOL_HEX +""" +hexadecimal number +""" + +ida_kernwin.CHCOL_PATH +""" +file path +""" + +ida_kernwin.CHCOL_PLAIN +""" +plain string +""" + +ida_kernwin.CHITEM_BOLD +""" +display the item in bold +""" + +ida_kernwin.CHITEM_GRAY +""" +gray out the item +""" + +ida_kernwin.CHITEM_ITALIC +""" +display the item in italic +""" + +ida_kernwin.CHITEM_STRIKE +""" +strikeout the item +""" + +ida_kernwin.CHITEM_UNDER +""" +underline the item +""" + +ida_kernwin.CHOOSER_MENU_EDIT +""" +Values of the 'menu_index' parameter. + +Obsolete. Please don't use +""" + +ida_kernwin.CHOOSER_MENU_JUMP +""" +Obsolete. Please don't use. +""" + +ida_kernwin.CHOOSER_MENU_SEARCH +""" +Obsolete. Please don't use. +""" + +ida_kernwin.CHOOSER_MULTI_SELECTION +""" +enable for multiple selections. A callback of type +'chooser_multi_cb_t' will be called for all selected items. +""" + +ida_kernwin.CHOOSER_NO_SELECTION +""" +Flags. + +enable even if there's no selected item. 'n' will be NO_SELECTION for +a callback. +""" + +ida_kernwin.CHOOSER_POPUP_MENU +""" +Add command to the popup menu. +""" + +ida_kernwin.CH_ATTRS +""" +generate ui_get_chooser_item_attrs (gui only) +""" + +ida_kernwin.CH_BUILTIN_MASK +""" +Mask for builtin chooser numbers. Plugins should not use them. +""" + +ida_kernwin.CH_CAN_DEL +""" +allow to delete existing item(s) +""" + +ida_kernwin.CH_CAN_EDIT +""" +allow to edit existing item(s) +""" + +ida_kernwin.CH_CAN_INS +""" +allow to insert new items +""" + +ida_kernwin.CH_CAN_REFRESH +""" +allow to refresh chooser +""" + +ida_kernwin.CH_FORCE_DEFAULT +""" +if a non-modal chooser was already open, change selection to the +default one +""" + +ida_kernwin.CH_KEEP +""" +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. +""" + +ida_kernwin.CH_MODAL +""" +Modal chooser. +""" + +ida_kernwin.CH_MULTI +""" +Obsolete. + +The chooser will allow multi-selection (only for GUI choosers). This +bit is set when using the 'chooser_multi_t' structure. +""" + +ida_kernwin.CH_NOBTNS +""" +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. +""" + +ida_kernwin.CH_NOIDB +""" +use the chooser before opening the database +""" + +ida_kernwin.CH_NO_STATUS_BAR +""" +don't show a status bar +""" + +ida_kernwin.CH_QFLT +""" +open with quick filter enabled and focused +""" + +ida_kernwin.CH_QFTYP_DEFAULT +""" +set quick filtering type to the possible existing default for this +chooser +""" + +ida_kernwin.CH_QFTYP_FUZZY +""" +fuzzy search quick filter type +""" + +ida_kernwin.CH_QFTYP_NORMAL +""" +normal (i.e., lexicographical) quick filter type +""" + +ida_kernwin.CH_QFTYP_REGEX +""" +regex quick filter type +""" + +ida_kernwin.CH_QFTYP_WHOLE_WORDS +""" +whole words quick filter type +""" + +ida_kernwin.CH_RESTORE +""" +restore floating position if present (equivalent of WOPN_RESTORE) (GUI +version only) +""" + +ida_kernwin.CLNL_FINDCMT +""" +Search for the comment symbol everywhere in the line, not only at the +beginning. +""" + +ida_kernwin.CLNL_LTRIM +""" +Remove leading space characters. +""" + +ida_kernwin.CLNL_RTRIM +""" +Remove trailing space characters. +""" + +ida_kernwin.CREATETB_ADV +""" +toolbar is for 'advanced mode' only +""" + +ida_kernwin.DP_BEFORE +""" +used with 'DP_INSIDE' . + +place src_form before dst_form in the tab bar instead of after +""" + +ida_kernwin.DP_BOTTOM +""" +Dock src_form below dest_form. +""" + +ida_kernwin.DP_FLOATING +""" +Make src_form floating. +""" + +ida_kernwin.DP_INSIDE +""" +Create a new tab bar with both src_form and dest_form. +""" + +ida_kernwin.DP_LEFT +""" +Dock src_form to the left of dest_form. +""" + +ida_kernwin.DP_RIGHT +""" +Dock src_form to the right of dest_form. +""" + +ida_kernwin.DP_TAB +""" +Place src_form into a tab next to dest_form, if dest_form is in a tab +bar (otherwise the same as 'DP_INSIDE' ) +""" + +ida_kernwin.DP_TOP +""" +Dock src_form above dest_form. +""" + +ida_kernwin.HIF_IDENTIFIER +""" +text is an identifier (i.e., when searching for the current highlight, +SEARCH_IDENT will be used) +""" + +ida_kernwin.HIF_LOCKED +""" +locked; clicking/moving the cursor around doesn't change the highlight +""" + +ida_kernwin.HIF_NOCASE +""" +case insensitive +""" + +ida_kernwin.HIF_REGISTER +""" +text represents a register (aliases/subregisters will be highlit as +well) +""" + +ida_kernwin.HIST_CMD +""" +commands +""" + +ida_kernwin.HIST_CMT +""" +comments +""" + +ida_kernwin.HIST_DIR +""" +directory names (text version only) +""" + +ida_kernwin.HIST_FILE +""" +file names +""" + +ida_kernwin.HIST_IDENT +""" +names +""" + +ida_kernwin.HIST_SEG +""" +segment names +""" + +ida_kernwin.HIST_SRCH +""" +search substrings +""" + +ida_kernwin.HIST_TYPE +""" +type declarations +""" + +ida_kernwin.IWID_ADDRWATCH +""" +address watches (47) +""" + +ida_kernwin.IWID_ALL +""" +mask +""" + +ida_kernwin.IWID_BPTS +""" +breakpoints (13) +""" + +ida_kernwin.IWID_CALLS +""" +function calls (11) +""" + +ida_kernwin.IWID_CALLS_CALLEES +""" +funcalls, callees (50) +""" + +ida_kernwin.IWID_CALLS_CALLERS +""" +funcalls, callers (49) +""" + +ida_kernwin.IWID_CALL_STACK +""" +call stack (17) +""" + +ida_kernwin.IWID_CHOOSER +""" +chooser (37) +""" + +ida_kernwin.IWID_CLI +""" +input line (33) +""" + +ida_kernwin.IWID_CMDPALCSR +""" +command palette (43) +""" + +ida_kernwin.IWID_CMDPALWIN +""" +command palette (44) +""" + +ida_kernwin.IWID_CPUREGS +""" +registers (40) +""" + +ida_kernwin.IWID_CUSTVIEW +""" +custom viewers (46) +""" + +ida_kernwin.IWID_CV_LINE_INFOS +""" +lineinfo widget (53) +""" + +ida_kernwin.IWID_DISASM +""" +disassembly views (29) +""" + +ida_kernwin.IWID_DISASM_ARROWS +""" +arrows widget (52) +""" + +ida_kernwin.IWID_DUMP +""" +hex dumps (30) +""" + +ida_kernwin.IWID_ENUMS +""" +enumerations (27) +""" + +ida_kernwin.IWID_EXPORTS +""" +exports (0) +""" + +ida_kernwin.IWID_FRAME +""" +function frame (25) +""" + +ida_kernwin.IWID_FUNCS +""" +functions (3) +""" + +ida_kernwin.IWID_IMPORTS +""" +imports (1) +""" + +ida_kernwin.IWID_LOCALS +""" +locals (35) +""" + +ida_kernwin.IWID_LOCTYPS +""" +local types (10) +""" + +ida_kernwin.IWID_MDVIEWCSR +""" +lumina md view (51) +""" + +ida_kernwin.IWID_MODULES +""" +modules (15) +""" + +ida_kernwin.IWID_NAMES +""" +names (2) +""" + +ida_kernwin.IWID_NAVBAND +""" +navigation band (26) +""" + +ida_kernwin.IWID_NOTEPAD +""" +notepad (31) +""" + +ida_kernwin.IWID_OUTPUT +""" +output (32) +""" + +ida_kernwin.IWID_PROBS +""" +problems (12) +""" + +ida_kernwin.IWID_PSEUDOCODE +""" +decompiler (48) +""" + +ida_kernwin.IWID_SCRIPTS_CSR +""" +recent scripts (58) +""" + +ida_kernwin.IWID_SEARCH +""" +search results (19) +""" + +ida_kernwin.IWID_SEGREGS +""" +segment registers (6) +""" + +ida_kernwin.IWID_SEGS +""" +segments (5) +""" + +ida_kernwin.IWID_SELS +""" +selectors (7) +""" + +ida_kernwin.IWID_SHORTCUTCSR +""" +shortcuts chooser (38) +""" + +ida_kernwin.IWID_SHORTCUTWIN +""" +shortcuts window (39) +""" + +ida_kernwin.IWID_SIGNS +""" +signatures (8) +""" + +ida_kernwin.IWID_SNIPPETS +""" +snippets (45) +""" + +ida_kernwin.IWID_SNIPPETS_CSR +""" +snippets chooser (57) +""" + +ida_kernwin.IWID_SO_OFFSETS +""" +stroff (42) +""" + +ida_kernwin.IWID_SO_STRUCTS +""" +stroff (41) +""" + +ida_kernwin.IWID_SRCPTHMAP_CSR +""" +mappings chooser (54) +""" + +ida_kernwin.IWID_SRCPTHUND_CSR +""" +undesired chooser (55) +""" + +ida_kernwin.IWID_STACK +""" +Alias. Some IWID_* were confusing, and thus have been renamed. This is +to ensure bw-compat. +""" + +ida_kernwin.IWID_STKVIEW +""" +stack view (36) +""" + +ida_kernwin.IWID_STRINGS +""" +strings (4) +""" + +ida_kernwin.IWID_STRUCTS +""" +structures (28) +""" + +ida_kernwin.IWID_THREADS +""" +threads (14) +""" + +ida_kernwin.IWID_TILS +""" +type libraries (9) +""" + +ida_kernwin.IWID_TRACE +""" +trace view (16) +""" + +ida_kernwin.IWID_UNDOHIST +""" +Undo history (56) +""" + +ida_kernwin.IWID_WATCH +""" +watches (34) +""" + +ida_kernwin.IWID_XREFS +""" +xrefs (18) +""" + +ida_kernwin.MFF_FAST +""" +Execute code as soon as possible. this mode is ok for calling ui +related functions that do not query the database. +""" + +ida_kernwin.MFF_NOWAIT +""" +Do not wait for the request to be executed. the caller should ensure +that the request is not destroyed until the execution completes. if +not, the request will be ignored. 'execute_sync()' returns the request +id in this case. it can be used in 'cancel_exec_request()' . This flag +can be used to delay the code execution until the next UI loop run +even from the main thread. +""" + +ida_kernwin.MFF_READ +""" +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) +""" + +ida_kernwin.MFF_WRITE +""" +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' +""" + +ida_kernwin.SETMENU_APP +""" +add menu item after the specified path +""" + +ida_kernwin.SETMENU_FIRST +""" +add item to the beginning of menu +""" + +ida_kernwin.SETMENU_INS +""" +add menu item before the specified path (default) +""" + +ida_kernwin.UIJMP_ACTIVATE +""" +activate the new window +""" + +ida_kernwin.UIJMP_ANYVIEW +""" +jump in any ea_t-capable view +""" + +ida_kernwin.UIJMP_DONTPUSH +""" +in the navigation history + +do not remember the current address +""" + +ida_kernwin.UIJMP_IDAVIEW +""" +jump in idaview +""" + +ida_kernwin.UIJMP_IDAVIEW_NEW +""" +jump in new idaview +""" + +ida_kernwin.VES_SHIFT +""" +state & 1 => Shift is pressedstate & 2 => Alt is pressedstate & 4 => +Ctrl is pressedstate & 8 => Mouse left button is pressedstate & 16 => +Mouse right button is pressedstate & 32 => Mouse middle button is +pressedstate & 128 => Meta is pressed (OSX only) +""" +=== ida_kernwin EPYDOC INJECTIONS END === +Help on function COLSTR in module ida_lines: + +COLSTR(str, tag) + Utility function to create a colored line + @param str: The string + @param tag: Color tag constant. One of SCOLOR_XXXX + +Help on function add_extra_cmt in module ida_lines: + +add_extra_cmt(*args) -> 'bool' + add_extra_cmt(ea, isprev, format) -> bool + + + Add anterior/posterior comment line(s). + + @param ea: linear address (C++: ea_t) + @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) + @param format: 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. (C++: const char *) + @return: true if success + +Help on function add_extra_line in module ida_lines: + +add_extra_line(*args) -> 'bool' + add_extra_line(ea, isprev, format) -> bool + + + Add anterior/posterior non-comment line(s). + + @param ea: linear address (C++: ea_t) + @param isprev: do we add anterior lines? (0-no, posterior) (C++: bool) + @param format: printf() style format string. may contain \n to denote + new lines. (C++: const char *) + @return: true if success + +Help on function add_pgm_cmt in module ida_lines: + +add_pgm_cmt(*args) -> 'bool' + add_pgm_cmt(format) -> bool + + + Add anterior comment line(s) at the start of program. + + @param format: 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. (C++: const char *) + @return: true if success + +Help on function add_sourcefile in module ida_lines: + +add_sourcefile(*args) -> 'bool' + add_sourcefile(ea1, ea2, filename) -> bool + + + Mark a range of address as belonging to a source file. An address + range may belong only to one source file. A source file may be + represented by several address ranges. + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (excluded) + (C++: ea_t) + @param filename: name of source file. (C++: const char *) + @return: success + +Help on class bgcolors_t in module ida_lines: + +class bgcolors_t(builtins.object) + | Proxy of C++ bgcolors_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> bgcolors_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bgcolors_t(...) + | delete_bgcolors_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | epilog_color + | bgcolors_t_epilog_color_get(self) -> bgcolor_t + | + | prolog_color + | bgcolors_t_prolog_color_get(self) -> bgcolor_t + | + | switch_color + | bgcolors_t_switch_color_get(self) -> bgcolor_t + | + | thisown + | The membership flag + +Help on function calc_bg_color in module ida_lines: + +calc_bg_color(*args) -> 'bgcolor_t' + calc_bg_color(ea) -> bgcolor_t + + + Get background color for line at 'ea' + + @param ea (C++: ea_t) + @return: RGB color + +Help on function calc_prefix_color in module ida_lines: + +calc_prefix_color(*args) -> 'color_t' + calc_prefix_color(ea) -> color_t + + + Get prefix color for line at 'ea' + + @param ea (C++: ea_t) + @return: Line prefix colors + +Help on function create_encoding_helper in module ida_lines: + +create_encoding_helper(*args) -> 'encoder_t *' + create_encoding_helper(encidx=-1, nr=nr_once) -> encoder_t * + +Help on function del_extra_cmt in module ida_lines: + +del_extra_cmt(*args) -> 'void' + del_extra_cmt(ea, what) + +Help on function del_sourcefile in module ida_lines: + +del_sourcefile(*args) -> 'bool' + del_sourcefile(ea) -> bool + + + Delete information about the source file. + + @param ea: linear address (C++: ea_t) + @return: success + +Help on function delete_extra_cmts in module ida_lines: + +delete_extra_cmts(*args) -> 'void' + delete_extra_cmts(ea, what) + +Help on function generate_disasm_line in module ida_lines: + +generate_disasm_line(*args) -> 'qstring *' + generate_disasm_line(ea, flags=0) -> str + +Help on function generate_disassembly in module ida_lines: + +generate_disassembly(*args) -> 'PyObject *' + generate_disassembly(ea, max_lines, as_stack, notags) -> PyObject * + + + 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 + @return: + - None on failure + - tuple(most_important_line_number, tuple(lines)) : Returns a tuple containing + the most important line number and a tuple of generated lines + +Help on function get_extra_cmt in module ida_lines: + +get_extra_cmt(*args) -> 'int' + get_extra_cmt(ea, what) -> ssize_t + +Help on function get_first_free_extra_cmtidx in module ida_lines: + +get_first_free_extra_cmtidx(*args) -> 'int' + get_first_free_extra_cmtidx(ea, start) -> int + +Help on function get_sourcefile in module ida_lines: + +get_sourcefile(*args) -> 'char const *' + get_sourcefile(ea, bounds=None) -> char const * + + + Get name of source file occupying the given address. + + @param ea: linear address (C++: ea_t) + @param bounds: pointer to the output buffer with the address range for + the current file. May be NULL. (C++: range_t *) + @return: NULL if source file information is not found, otherwise + returns pointer to file name + +Help on function requires_color_esc in module ida_lines: + +requires_color_esc(c) + Checks if the given character requires escaping + @param c: character (string of one char) + @return: Boolean + + + Is the given char a color escape character? + +Help on function set_user_defined_prefix in module ida_lines: + +set_user_defined_prefix(*args) -> 'PyObject *' + set_user_defined_prefix(width, pycb) -> PyObject * + + + User-defined line-prefixes are displayed just after the autogenerated + line prefixes. In order to use them, the plugin should call the + following function to specify its width and contents. + @param width: the width of the user-defined prefix + @param callback: a get_user_defined_prefix callback to get the contents of the prefix. + Its arguments: + ea - linear address + lnnum - line number + indent - indent of the line contents (-1 means the default instruction) + indent and is used for instruction itself. see explanations for printf_line() + line - the line to be generated. the line usually contains color tags this argument + can be examined to decide whether to generated the prefix + It returns a buffer of size < bufsize + + In order to remove the callback before unloading the plugin, specify the width = 0 or the callback = None + +Help on function tag_addr in module ida_lines: + +tag_addr(*args) -> 'PyObject *' + tag_addr(ea) -> PyObject * + + + Insert an address mark into a string. + + @param ea: address to include (C++: ea_t) + +Help on function tag_advance in module ida_lines: + +tag_advance(*args) -> 'int' + tag_advance(line, cnt) -> int + + + Move pointer to a 'line' to 'cnt' positions right. Take into account + escape sequences. + + @param line: pointer to string (C++: const char *) + @param cnt: number of positions to move right (C++: int) + @return: moved pointer + +Help on function tag_remove in module ida_lines: + +tag_remove(*args) -> 'PyObject *' + tag_remove(nonnul_instr) -> PyObject * + + + Remove color escape sequences from a string + @param colstr: the colored string with embedded tags + @return: a new string w/o the tags + +Help on function tag_skipcode in module ida_lines: + +tag_skipcode(*args) -> 'int' + tag_skipcode(line) -> int + + + Skip one color code. This function should be used if you are + interested in color codes and want to analyze all of them. Otherwise + 'tag_skipcodes()' function is better since it will skip all colors at + once. This function will skip the current color code if there is one. + If the current symbol is not a color code, it will return the input. + + @param line (C++: const char *) + @return: moved pointer + +Help on function tag_skipcodes in module ida_lines: + +tag_skipcodes(*args) -> 'int' + tag_skipcodes(line) -> int + + + Move the pointer past all color codes. + + @param line: can't be NULL (C++: const char *) + @return: moved pointer, can't be NULL + +Help on function tag_strlen in module ida_lines: + +tag_strlen(*args) -> 'ssize_t' + 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 *) + @return: the number of codepoints in the line, or -1 on error + +Help on function update_extra_cmt in module ida_lines: + +update_extra_cmt(*args) -> 'void' + update_extra_cmt(ea, what, str) + +=== ida_lines EPYDOC INJECTIONS === +ida_lines.COLOR_ADDR_SIZE +""" +Size of a tagged address (see 'COLOR_ADDR' ) +""" + +ida_lines.COLOR_BG_MAX +""" +Max color number. +""" + +ida_lines.COLOR_CODE +""" +Single instruction. +""" + +ida_lines.COLOR_CURITEM +""" +Current item. +""" + +ida_lines.COLOR_CURLINE +""" +Current line. +""" + +ida_lines.COLOR_DATA +""" +Data bytes. +""" + +ida_lines.COLOR_DEFAULT +""" +Default. +""" + +ida_lines.COLOR_ESC +""" +Escape character (Quote next character). This is needed to output '\\1' +and '\\2' characters. +""" + +ida_lines.COLOR_EXTERN +""" +External name definition segment. +""" + +ida_lines.COLOR_HIDLINE +""" +Hidden line. +""" + +ida_lines.COLOR_INV +""" +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. +""" + +ida_lines.COLOR_LIBFUNC +""" +Library function. +""" + +ida_lines.COLOR_LUMFUNC +""" +Lumina function. +""" + +ida_lines.COLOR_OFF +""" +Followed by a color code ( 'color_t' ). + +Escape character (OFF). +""" + +ida_lines.COLOR_ON +""" +Followed by a color code ( 'color_t' ). + +Escape character (ON). +""" + +ida_lines.COLOR_REGFUNC +""" +Regular function. +""" + +ida_lines.COLOR_SELECTED +""" +Selected. +""" + +ida_lines.COLOR_UNKNOWN +""" +Unexplored byte. +""" + +ida_lines.SCOLOR_ADDR +""" +Hidden address mark. +""" + +ida_lines.SCOLOR_ALTOP +""" +Alternative operand. +""" + +ida_lines.SCOLOR_ASMDIR +""" +Assembler directive. +""" + +ida_lines.SCOLOR_AUTOCMT +""" +Automatic comment. +""" + +ida_lines.SCOLOR_BINPREF +""" +Binary line prefix bytes. +""" + +ida_lines.SCOLOR_CHAR +""" +Char constant in instruction. +""" + +ida_lines.SCOLOR_CNAME +""" +Regular code name. +""" + +ida_lines.SCOLOR_CODNAME +""" +Dummy code name. +""" + +ida_lines.SCOLOR_COLLAPSED +""" +Collapsed line. +""" + +ida_lines.SCOLOR_CREF +""" +Code reference. +""" + +ida_lines.SCOLOR_CREFTAIL +""" +Code reference to tail byte. +""" + +ida_lines.SCOLOR_DATNAME +""" +Dummy Data Name. +""" + +ida_lines.SCOLOR_DCHAR +""" +Char constant in data directive. +""" + +ida_lines.SCOLOR_DEFAULT +""" +Default. +""" + +ida_lines.SCOLOR_DEMNAME +""" +Demangled Name. +""" + +ida_lines.SCOLOR_DNAME +""" +Regular Data Name. +""" + +ida_lines.SCOLOR_DNUM +""" +Numeric constant in data directive. +""" + +ida_lines.SCOLOR_DREF +""" +Data reference. +""" + +ida_lines.SCOLOR_DREFTAIL +""" +Data reference to tail byte. +""" + +ida_lines.SCOLOR_DSTR +""" +String constant in data directive. +""" + +ida_lines.SCOLOR_ERROR +""" +Error or problem. +""" + +ida_lines.SCOLOR_ESC +""" +Escape character (Quote next character) +""" + +ida_lines.SCOLOR_EXTRA +""" +Extra line. +""" + +ida_lines.SCOLOR_HIDNAME +""" +Hidden name. +""" + +ida_lines.SCOLOR_IMPNAME +""" +Imported name. +""" + +ida_lines.SCOLOR_INSN +""" +Instruction. +""" + +ida_lines.SCOLOR_INV +""" +Escape character (Inverse colors) +""" + +ida_lines.SCOLOR_KEYWORD +""" +Keywords. +""" + +ida_lines.SCOLOR_LIBNAME +""" +Library function name. +""" + +ida_lines.SCOLOR_LOCNAME +""" +Local variable name. +""" + +ida_lines.SCOLOR_MACRO +""" +Macro. +""" + +ida_lines.SCOLOR_NUMBER +""" +Numeric constant in instruction. +""" + +ida_lines.SCOLOR_OFF +""" +Escape character (OFF) +""" + +ida_lines.SCOLOR_ON +""" +Escape character (ON) +""" + +ida_lines.SCOLOR_PREFIX +""" +Line prefix. +""" + +ida_lines.SCOLOR_REG +""" +Register name. +""" + +ida_lines.SCOLOR_REGCMT +""" +Regular comment. +""" + +ida_lines.SCOLOR_RPTCMT +""" +Repeatable comment (defined not here) +""" + +ida_lines.SCOLOR_SEGNAME +""" +Segment name. +""" + +ida_lines.SCOLOR_STRING +""" +String constant in instruction. +""" + +ida_lines.SCOLOR_SYMBOL +""" +Punctuation. +""" + +ida_lines.SCOLOR_UNAME +""" +Regular unknown name. +""" + +ida_lines.SCOLOR_UNKNAME +""" +Dummy unknown name. +""" + +ida_lines.SCOLOR_VOIDOP +""" +Void operand. +""" +=== ida_lines EPYDOC INJECTIONS END === +Help on function base2file in module ida_loader: + +base2file(*args) -> 'int' + base2file(fp, pos, ea1, ea2) -> int + + + Unload database to a binary file. This function works for wide byte + processors too. + + @param fp: pointer to file (C++: FILE *) + @param pos: position in the file (C++: qoff64_t) + @param ea1: range of source linear addresses (C++: ea_t) + @param ea2: range of source linear addresses (C++: ea_t) + @return: 1-ok(always), write error leads to immediate exit + +Help on function build_snapshot_tree in module ida_loader: + +build_snapshot_tree(*args) -> 'bool' + build_snapshot_tree(root) -> bool + + + Build the snapshot tree. + + @param root: snapshot root that will contain the snapshot tree + elements. (C++: snapshot_t *) + @return: success + +Help on function clr_database_flag in module ida_loader: + +clr_database_flag(*args) -> 'void' + clr_database_flag(dbfl) + +Help on function extract_module_from_archive in module ida_loader: + +extract_module_from_archive(*args) -> 'PyObject *' + 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 is_remote: is the input file remote? (C++: bool) + +Help on function file2base in module ida_loader: + +file2base(*args) -> 'int' + 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: pointer of input source (C++: linput_t *) + @param pos: position in the file (C++: qoff64_t) + @param ea1: range of destination linear addresses (C++: ea_t) + @param ea2: range of destination linear addresses (C++: ea_t) + @param patchable: should the kernel remember correspondence of file + offsets to linear addresses. (C++: int) + +Help on function find_plugin in module ida_loader: + +find_plugin(*args) -> 'plugin_t *' + find_plugin(name, load_if_needed=False) -> plugin_t * + + + Find a user-defined plugin and optionally load it. + + @param name: short plugin name without path and extension, or absolute + path to the file name (C++: const char *) + @param load_if_needed: if the plugin is not present in the memory, try + to load it (C++: bool) + @return: pointer to plugin description block + +Help on function flush_buffers in module ida_loader: + +flush_buffers(*args) -> 'int' + flush_buffers() -> int + + + Flush buffers to the disk. + +Help on function gen_exe_file in module ida_loader: + +gen_exe_file(*args) -> 'int' + 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 == NULL then return: 1: + can generate an executable file 0: can't generate an + executable file + +Help on function gen_file in module ida_loader: + +gen_file(*args) -> 'int' + gen_file(otype, fp, ea1, ea2, flags) -> int + + + Generate an output file. 'OFILE_EXE' : + + @param otype: type of output file. (C++: ofile_type_t) + @param fp: the output file handle (C++: FILE *) + @param ea1: start address. For some file types this argument is + ignored (C++: ea_t) + @param ea2: end address. For some file types this argument is ignored + as usual in ida, the end address of the range is not + included (C++: ea_t) + @param flags: Generate file flags (C++: int) + @return: number of the generated lines. -1 if an error occurred + +Help on function get_basic_file_type in module ida_loader: + +get_basic_file_type(*args) -> 'filetype_t' + 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 *) + +Help on function get_elf_debug_file_directory in module ida_loader: + +get_elf_debug_file_directory(*args) -> 'char const *' + get_elf_debug_file_directory() -> char const * + + + Get the value of the ELF_DEBUG_FILE_DIRECTORY configuration directive. + +Help on function get_file_type_name in module ida_loader: + +get_file_type_name(*args) -> 'size_t' + get_file_type_name() -> str + + + Get name of the current file type. The current file type is kept in + \inf{filetype}. + + @return: size of answer, this function always succeeds + +Help on function get_fileregion_ea in module ida_loader: + +get_fileregion_ea(*args) -> 'ea_t' + 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) + +Help on function get_fileregion_offset in module ida_loader: + +get_fileregion_offset(*args) -> 'qoff64_t' + 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) + +Help on function get_path in module ida_loader: + +get_path(*args) -> 'char const *' + get_path(pt) -> char const * + + + Get the file path + + @param pt: file path type Types of the file pathes (C++: path_type_t) + @return: file path, never returns NULL + +Help on function get_plugin_options in module ida_loader: + +get_plugin_options(*args) -> 'char const *' + 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 NULL if there we no options specified + + @param plugin (C++: const char *) + +Help on class idp_desc_t in module ida_loader: + +class idp_desc_t(builtins.object) + | Proxy of C++ idp_desc_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idp_desc_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_idp_desc_t(...) + | delete_idp_desc_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | checked + | idp_desc_t_checked_get(self) -> bool + | + | family + | idp_desc_t_family_get(self) -> qstring * + | + | is_script + | idp_desc_t_is_script_get(self) -> bool + | + | mtime + | idp_desc_t_mtime_get(self) -> time_t + | + | names + | idp_desc_t_names_get(self) -> idp_names_t * + | + | path + | idp_desc_t_path_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class idp_name_t in module ida_loader: + +class idp_name_t(builtins.object) + | Proxy of C++ idp_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> idp_name_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_idp_name_t(...) + | delete_idp_name_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | hidden + | idp_name_t_hidden_get(self) -> bool + | + | lname + | idp_name_t_lname_get(self) -> qstring * + | + | sname + | idp_name_t_sname_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on function is_database_flag in module ida_loader: + +is_database_flag(*args) -> 'bool' + is_database_flag(dbfl) -> bool + + + Get the current database flag + + @param dbfl: flag Database flags (C++: uint32) + @return: the state of the flag (set or cleared) + +Help on function is_trusted_idb in module ida_loader: + +is_trusted_idb(*args) -> 'bool' + is_trusted_idb() -> bool + + + Is the database considered as trusted? + +Help on function load_and_run_plugin in module ida_loader: + +load_and_run_plugin(*args) -> 'bool' + load_and_run_plugin(name, arg) -> bool + + + Load & run a plugin. + + + @param name (C++: const char *) + @param arg (C++: size_t) + +Help on function load_binary_file in module ida_loader: + +load_binary_file(*args) -> 'bool' + 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: the name of input file as is (if the input file is + from library, then this is the name from the library) + (C++: const char *) + @param li: loader input source (C++: linput_t *) + @param _neflags: Load file flags . For the first file, the flag + NEF_FIRST must be set. (C++: ushort) + @param fileoff: Offset in the input file (C++: qoff64_t) + @param basepara: Load address in paragraphs (C++: ea_t) + @param binoff: Load offset (load_address=(basepara<<4)+binoff) (C++: + ea_t) + @param nbytes: Number of bytes to load from the file. 0: up to the + end of the file (C++: uint64) + +Help on function load_ids_module in module ida_loader: + +load_ids_module(*args) -> 'int' + 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: name of file to apply (C++: char *) + +Help on function load_plugin in module ida_loader: + +load_plugin(*args) -> 'PyObject *' + load_plugin(name) -> PyObject * + + + Loads a plugin + @return: + - None if plugin could not be loaded + - An opaque object representing the loaded plugin + +Help on class loader_t in module ida_loader: + +class loader_t(builtins.object) + | Proxy of C++ loader_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> loader_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_loader_t(...) + | delete_loader_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | flags + | loader_t_flags_get(self) -> uint32 + | + | thisown + | The membership flag + | + | version + | loader_t_version_get(self) -> uint32 + +Help on function mem2base in module ida_loader: + +mem2base(*args) -> 'int' + mem2base(py_mem, ea, fpos=-1) -> int + + + Load database from the memory. + @param 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 + +Help on class plugin_info_t in module ida_loader: + +class plugin_info_t(builtins.object) + | Proxy of C++ plugin_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> plugin_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_plugin_info_t(...) + | delete_plugin_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | arg + | plugin_info_t_arg_get(self) -> size_t + | + | comment + | plugin_info_t_comment_get(self) -> char * + | + | dllmem + | plugin_info_t_dllmem_get(self) -> idadll_t * + | + | entry + | plugin_info_t_entry_get(self) -> plugin_t * + | + | flags + | plugin_info_t_flags_get(self) -> int + | + | hotkey + | plugin_info_t_hotkey_get(self) -> ushort + | + | name + | plugin_info_t_name_get(self) -> char * + | + | next + | plugin_info_t_next_get(self) -> plugin_info_t + | + | org_hotkey + | plugin_info_t_org_hotkey_get(self) -> ushort + | + | org_name + | plugin_info_t_org_name_get(self) -> char * + | + | path + | plugin_info_t_path_get(self) -> char * + | + | thisown + | The membership flag + +Help on function process_archive in module ida_loader: + +process_archive(*args) -> 'qstring *' + 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: + + @param temp_file (C++: qstring *) + @param li (C++: linput_t *) + @param module_name (C++: qstring *) + @param neflags (C++: ushort *) + @param defmember (C++: const char *) + @param loader: pointer to load_info_t structure. (C++: const + load_info_t *) + +Help on class qvector_snapshotvec_t in module ida_loader: + +class qvector_snapshotvec_t(builtins.object) + | Proxy of C++ qvector< snapshot_t * > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'snapshot_t *const &' + | __getitem__(self, i) -> snapshot_t + | + | __init__(self, *args) + | __init__(self) -> qvector_snapshotvec_t + | __init__(self, x) -> qvector_snapshotvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_qvector_snapshotvec_t(...) + | delete_qvector_snapshotvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'snapshot_t *const &' + | at(self, _idx) -> snapshot_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< snapshot_t * >::const_iterator' + | begin(self) -> qvector< snapshot_t * >::iterator + | begin(self) -> qvector< snapshot_t * >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< snapshot_t * >::const_iterator' + | end(self) -> qvector< snapshot_t * >::iterator + | end(self) -> qvector< snapshot_t * >::const_iterator + | + | erase(self, *args) -> 'qvector< snapshot_t * >::iterator' + | erase(self, it) -> qvector< snapshot_t * >::iterator + | erase(self, first, last) -> qvector< snapshot_t * >::iterator + | + | extract(self, *args) -> 'snapshot_t **' + | extract(self) -> snapshot_t ** + | + | find(self, *args) -> 'qvector< snapshot_t * >::const_iterator' + | find(self, x) -> qvector< snapshot_t * >::iterator + | find(self, x) -> qvector< snapshot_t * >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< snapshot_t * >::iterator' + | insert(self, it, x) -> qvector< snapshot_t * >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'snapshot_t *&' + | push_back(self, x) + | push_back(self) -> snapshot_t *& + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function reload_file in module ida_loader: + +reload_file(*args) -> 'bool' + 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: name of the input file. if file == NULL then returns: + 1: can reload the input file 0: can't reload the input + file (C++: const char *) + @param is_remote: is the file located on a remote computer with the + debugger server? (C++: bool) + @return: success + +Help on function run_plugin in module ida_loader: + +run_plugin(*args) -> 'bool' + run_plugin(plg, arg) -> bool + + + Runs a plugin + @param plg: A plugin object (returned by load_plugin()) + @return: Boolean + +Help on function save_database in module ida_loader: + +save_database(*args) -> 'bool' + save_database(outfile, flags, root=None, attr=None) -> bool + + + Save current database using a new file name.when both root and attr + are not NULL then the snapshot attributes will be updated, otherwise + the snapshot attributes will be inherited from the current database. + + @param outfile: output database file name (C++: const char *) + @param flags: Database flags (C++: uint32) + @param root: optional: snapshot tree root. (C++: const snapshot_t *) + @param attr: optional: snapshot attributes (C++: const snapshot_t *) + @return: success + +Help on function set_database_flag in module ida_loader: + +set_database_flag(*args) -> 'void' + set_database_flag(dbfl, cnd=True) + + + Set or clear database flag + + @param dbfl: flag Database flags (C++: uint32) + @param cnd: set if true or clear flag otherwise (C++: bool) + +Help on function set_path in module ida_loader: + +set_path(*args) -> 'void' + set_path(pt, path) + + + Set the file path + + @param pt: file path type Types of the file pathes (C++: path_type_t) + @param path: new file path, use NULL or empty string to clear the file + path (C++: const char *) + +Help on class snapshot_t in module ida_loader: + +class snapshot_t(builtins.object) + | Proxy of C++ snapshot_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> snapshot_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_snapshot_t(...) + | delete_snapshot_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | children + | snapshot_t_children_get(self) -> qvector_snapshotvec_t + | + | desc + | snapshot_t_desc_get(self) -> char [128] + | + | filename + | snapshot_t_filename_get(self) -> char [QMAXPATH] + | + | flags + | snapshot_t_flags_get(self) -> uint16 + | + | id + | snapshot_t_id_get(self) -> qtime64_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +=== ida_loader EPYDOC INJECTIONS === +ida_loader.ACCEPT_ARCHIVE +""" +Specify that a file format is served by archive loader See +'loader_t::accept_file' +""" + +ida_loader.ACCEPT_CONTINUE +""" +Specify that the function must be called another time See +'loader_t::accept_file' +""" + +ida_loader.ACCEPT_FIRST +""" +Specify that a file format should be place first in "load file" dialog +box. See 'loader_t::accept_file' +""" + +ida_loader.DBFL_BAK +""" +create backup file (if !DBFL_KILL) +""" + +ida_loader.DBFL_COMP +""" +collect garbage +""" + +ida_loader.DBFL_KILL +""" +delete unpacked database +""" + +ida_loader.DBFL_TEMP +""" +temporary database +""" + +ida_loader.FILEREG_NOTPATCHABLE +""" +form in the file. + +the data is kept in some encoded +""" + +ida_loader.FILEREG_PATCHABLE +""" +means that the input file may be patched (i.e. no compression, no +iterated data, etc) +""" + +ida_loader.GENFLG_ASMINC +""" + 'OFILE_ASM' , 'OFILE_LST' : gen information only about types +""" + +ida_loader.GENFLG_ASMTYPE +""" + 'OFILE_ASM' , 'OFILE_LST' : gen information about types too +""" + +ida_loader.GENFLG_GENHTML +""" + 'OFILE_ASM' , 'OFILE_LST' : generate html ( 'ui_genfile_callback' +will be used) +""" + +ida_loader.GENFLG_IDCTYPE +""" + 'OFILE_IDC' : gen only information about types +""" + +ida_loader.GENFLG_MAPDMNG +""" + 'OFILE_MAP' : demangle names +""" + +ida_loader.GENFLG_MAPLOC +""" + 'OFILE_MAP' : include local names +""" + +ida_loader.GENFLG_MAPNAME +""" + 'OFILE_MAP' : include dummy names +""" + +ida_loader.GENFLG_MAPSEG +""" + 'OFILE_MAP' : generate map of segments +""" + +ida_loader.LDRF_RELOAD +""" +loader recognizes 'NEF_RELOAD' flag +""" + +ida_loader.LDRF_REQ_PROC +""" +Requires a processor to be set. if this bit is not set, load_file() +must call set_processor_type(..., SETPROC_LOADER) +""" + +ida_loader.MAX_DATABASE_DESCRIPTION +""" +Maximum database snapshot description length. +""" + +ida_loader.NEF_CODE +""" +load as a code segment + +for 'load_binary_file()' : +""" + +ida_loader.NEF_FILL +""" +Fill segment gaps. +""" + +ida_loader.NEF_FIRST +""" +into the database. + +This is the first file loaded +""" + +ida_loader.NEF_FLAT +""" +Autocreate FLAT group (PE) +""" + +ida_loader.NEF_IMPS +""" +Create import segment. +""" + +ida_loader.NEF_LALL +""" +Load all segments without questions. +""" + +ida_loader.NEF_LOPT +""" +Display additional loader options dialog. +""" + +ida_loader.NEF_MAN +""" +Manual load. +""" + +ida_loader.NEF_MINI +""" +Create mini database (do not copy segment bytes from the input file; +use only the file header metadata) +""" + +ida_loader.NEF_NAME +""" +Rename entries. +""" + +ida_loader.NEF_RELOAD +""" +reload the file at the same place: - don't create segmentsdon't create +fixup infodon't import segmentsetc load only the bytes into the base. +a loader should have 'LDRF_RELOAD' bit set +""" + +ida_loader.NEF_RSCS +""" +Load resources. +""" + +ida_loader.NEF_SEGS +""" +Create segments. +""" + +ida_loader.PLUGIN_DLL +""" +Pattern to find plugin files. +""" + +ida_loader.SSF_AUTOMATIC +""" +automatic snapshot +""" + +ida_loader.SSUF_DESC +""" +Update the description. +""" + +ida_loader.SSUF_FLAGS +""" +Update the flags. +""" + +ida_loader.SSUF_PATH +""" +Update the path. +""" +=== ida_loader EPYDOC INJECTIONS END === +Help on class bookmarks_t in module ida_moves: + +class bookmarks_t(builtins.object) + | Proxy of C++ bookmarks_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | erase(*args) -> 'bool' + | erase(e, index, ud) -> bool + | + | find_index(*args) -> 'uint32' + | find_index(e, ud) -> uint32 + | + | get(*args) -> 'bool' + | get(out_entry, out_desc, index, ud) -> bool + | + | get_desc(*args) -> 'qstring *' + | get_desc(e, index, ud) -> bool + | + | mark(*args) -> 'uint32' + | mark(e, index, title, desc, ud) -> uint32 + | + | size(*args) -> 'uint32' + | size(e, ud) -> uint32 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function bookmarks_t_erase in module ida_moves: + +bookmarks_t_erase(*args) -> 'bool' + bookmarks_t_erase(e, index, ud) -> bool + +Help on function bookmarks_t_find_index in module ida_moves: + +bookmarks_t_find_index(*args) -> 'uint32' + bookmarks_t_find_index(e, ud) -> uint32 + +Help on function bookmarks_t_get in module ida_moves: + +bookmarks_t_get(*args) -> 'bool' + bookmarks_t_get(out_entry, out_desc, index, ud) -> bool + +Help on function bookmarks_t_get_desc in module ida_moves: + +bookmarks_t_get_desc(*args) -> 'qstring *' + bookmarks_t_get_desc(e, index, ud) -> str + +Help on function bookmarks_t_mark in module ida_moves: + +bookmarks_t_mark(*args) -> 'uint32' + bookmarks_t_mark(e, index, title, desc, ud) -> uint32 + +Help on function bookmarks_t_size in module ida_moves: + +bookmarks_t_size(*args) -> 'uint32' + bookmarks_t_size(e, ud) -> uint32 + +Help on class graph_location_info_t in module ida_moves: + +class graph_location_info_t(builtins.object) + | Proxy of C++ graph_location_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> graph_location_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_graph_location_info_t(...) + | delete_graph_location_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | orgx + | graph_location_info_t_orgx_get(self) -> double + | + | orgy + | graph_location_info_t_orgy_get(self) -> double + | + | thisown + | The membership flag + | + | zoom + | graph_location_info_t_zoom_get(self) -> double + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class lochist_entry_t in module ida_moves: + +class lochist_entry_t(builtins.object) + | Proxy of C++ lochist_entry_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> lochist_entry_t + | __init__(self, p, r) -> lochist_entry_t + | __init__(self, other) -> lochist_entry_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lochist_entry_t(...) + | delete_lochist_entry_t(self) + | + | acquire_place(self, *args) -> 'void' + | acquire_place(self, in_p) + | + | is_valid(self, *args) -> 'bool' + | is_valid(self) -> bool + | + | place(self, *args) -> 'place_t *' + | place(self) -> place_t + | place(self) -> place_t + | + | renderer_info(self, *args) -> 'renderer_info_t &' + | renderer_info(self) -> renderer_info_t + | renderer_info(self) -> renderer_info_t + | + | set_place(self, *args) -> 'void' + | set_place(self, p) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | plce + | lochist_entry_t_plce_get(self) -> place_t + | + | rinfo + | lochist_entry_t_rinfo_get(self) -> renderer_info_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class lochist_t in module ida_moves: + +class lochist_t(builtins.object) + | Proxy of C++ lochist_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> lochist_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lochist_t(...) + | delete_lochist_t(self) + | + | back(self, *args) -> 'bool' + | back(self, cnt, try_to_unhide) -> bool + | + | clear(self, *args) -> 'void' + | clear(self) + | + | current_index(self, *args) -> 'uint32' + | current_index(self) -> uint32 + | + | fwd(self, *args) -> 'bool' + | fwd(self, cnt, try_to_unhide) -> bool + | + | get(self, *args) -> 'bool' + | get(self, out, index) -> bool + | + | get_current(self, *args) -> 'lochist_entry_t const &' + | get_current(self) -> lochist_entry_t + | + | get_place_id(self, *args) -> 'int' + | get_place_id(self) -> int + | + | get_template_place(self, *args) -> 'place_t const *' + | get_template_place(self) -> place_t + | + | init(self, *args) -> 'bool' + | init(self, stream_name, _defpos, _ud, _flags) -> bool + | + | is_history_enabled(self, *args) -> 'bool' + | is_history_enabled(self) -> bool + | + | jump(self, *args) -> 'void' + | jump(self, try_to_unhide, e) + | + | netcode(self, *args) -> 'nodeidx_t' + | netcode(self) -> nodeidx_t + | + | save(self, *args) -> 'void' + | save(self) + | + | seek(self, *args) -> 'bool' + | seek(self, index, try_to_unhide) -> bool + | + | set(self, *args) -> 'void' + | set(self, index, e) + | + | set_current(self, *args) -> 'void' + | set_current(self, e) + | + | size(self, *args) -> 'uint32' + | size(self) -> uint32 + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class renderer_info_pos_t in module ida_moves: + +class renderer_info_pos_t(builtins.object) + | Proxy of C++ renderer_info_pos_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_info_pos_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_renderer_info_pos_t(...) + | delete_renderer_info_pos_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cx + | renderer_info_pos_t_cx_get(self) -> short + | + | cy + | renderer_info_pos_t_cy_get(self) -> short + | + | node + | renderer_info_pos_t_node_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class renderer_info_t in module ida_moves: + +class renderer_info_t(builtins.object) + | Proxy of C++ renderer_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> renderer_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_renderer_info_t(...) + | delete_renderer_info_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | gli + | renderer_info_t_gli_get(self) -> graph_location_info_t + | + | pos + | renderer_info_t_pos_get(self) -> renderer_info_pos_t + | + | rtype + | renderer_info_t_rtype_get(self) -> tcc_renderer_type_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class segm_move_info_t in module ida_moves: + +class segm_move_info_t(builtins.object) + | Proxy of C++ segm_move_info_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _from=0, _to=0, _sz=0) -> segm_move_info_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_segm_move_info_t(...) + | delete_segm_move_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _from + | segm_move_info_t__from_get(self) -> ea_t + | + | size + | segm_move_info_t_size_get(self) -> size_t + | + | thisown + | The membership flag + | + | to + | segm_move_info_t_to_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class segm_move_info_vec_t in module ida_moves: + +class segm_move_info_vec_t(builtins.object) + | Proxy of C++ qvector< segm_move_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'segm_move_info_t const &' + | __getitem__(self, i) -> segm_move_info_t + | + | __init__(self, *args) + | __init__(self) -> segm_move_info_vec_t + | __init__(self, x) -> segm_move_info_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_segm_move_info_vec_t(...) + | delete_segm_move_info_vec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'segm_move_info_t const &' + | at(self, _idx) -> segm_move_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< segm_move_info_t >::const_iterator' + | begin(self) -> segm_move_info_t + | begin(self) -> segm_move_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< segm_move_info_t >::const_iterator' + | end(self) -> segm_move_info_t + | end(self) -> segm_move_info_t + | + | erase(self, *args) -> 'qvector< segm_move_info_t >::iterator' + | erase(self, it) -> segm_move_info_t + | erase(self, first, last) -> segm_move_info_t + | + | extract(self, *args) -> 'segm_move_info_t *' + | extract(self) -> segm_move_info_t + | + | find(self, *args) -> 'qvector< segm_move_info_t >::const_iterator' + | find(self, x) -> segm_move_info_t + | find(self, x) -> segm_move_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=segm_move_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< segm_move_info_t >::iterator' + | insert(self, it, x) -> segm_move_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'segm_move_info_t &' + | push_back(self, x) + | push_back(self) -> segm_move_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class segm_move_infos_t in module ida_moves: + +class segm_move_infos_t(segm_move_info_vec_t) + | Proxy of C++ segm_move_infos_t class. + | + | Method resolution order: + | segm_move_infos_t + | segm_move_info_vec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> segm_move_infos_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_segm_move_infos_t(...) + | delete_segm_move_infos_t(self) + | + | find(self, *args) -> 'segm_move_info_t const *' + | find(self, ea) -> segm_move_info_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from segm_move_info_vec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'segm_move_info_t const &' + | __getitem__(self, i) -> segm_move_info_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'segm_move_info_t const &' + | at(self, _idx) -> segm_move_info_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< segm_move_info_t >::const_iterator' + | begin(self) -> segm_move_info_t + | begin(self) -> segm_move_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< segm_move_info_t >::const_iterator' + | end(self) -> segm_move_info_t + | end(self) -> segm_move_info_t + | + | erase(self, *args) -> 'qvector< segm_move_info_t >::iterator' + | erase(self, it) -> segm_move_info_t + | erase(self, first, last) -> segm_move_info_t + | + | extract(self, *args) -> 'segm_move_info_t *' + | extract(self) -> segm_move_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=segm_move_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< segm_move_info_t >::iterator' + | insert(self, it, x) -> segm_move_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'segm_move_info_t &' + | push_back(self, x) + | push_back(self) -> segm_move_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from segm_move_info_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from segm_move_info_vec_t: + | + | __hash__ = None + +Help on function get_switch_info in module ida_nalt: + +get_switch_info(*args) -> 'ssize_t' + get_switch_info(out, ea) -> ssize_t + +Help on function add_encoding in module ida_nalt: + +add_encoding(*args) -> 'int' + add_encoding(encoding) -> int + + + Add a new encoding (e.g. "UTF-8"). + + @param encoding (C++: const char *) + @return: its index (1-based) if it's already in the list, return its + index + +Help on class array_parameters_t in module ida_nalt: + +class array_parameters_t(builtins.object) + | Proxy of C++ array_parameters_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> array_parameters_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_array_parameters_t(...) + | delete_array_parameters_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | alignment + | array_parameters_t_alignment_get(self) -> int32 + | + | flags + | array_parameters_t_flags_get(self) -> int32 + | + | lineitems + | array_parameters_t_lineitems_get(self) -> int32 + | + | thisown + | The membership flag + +Help on function clr__bnot0 in module ida_nalt: + +clr__bnot0(*args) -> 'void' + clr__bnot0(ea) + +Help on function clr__bnot1 in module ida_nalt: + +clr__bnot1(*args) -> 'void' + clr__bnot1(ea) + +Help on function clr__invsign0 in module ida_nalt: + +clr__invsign0(*args) -> 'void' + clr__invsign0(ea) + +Help on function clr__invsign1 in module ida_nalt: + +clr__invsign1(*args) -> 'void' + clr__invsign1(ea) + +Help on function clr_abits in module ida_nalt: + +clr_abits(*args) -> 'void' + clr_abits(ea, bits) + +Help on function clr_align_flow in module ida_nalt: + +clr_align_flow(*args) -> 'void' + clr_align_flow(ea) + +Help on function clr_colored_item in module ida_nalt: + +clr_colored_item(*args) -> 'void' + clr_colored_item(ea) + +Help on function clr_fixed_spd in module ida_nalt: + +clr_fixed_spd(*args) -> 'void' + clr_fixed_spd(ea) + +Help on function clr_has_lname in module ida_nalt: + +clr_has_lname(*args) -> 'void' + clr_has_lname(ea) + +Help on function clr_has_ti in module ida_nalt: + +clr_has_ti(*args) -> 'void' + clr_has_ti(ea) + +Help on function clr_has_ti0 in module ida_nalt: + +clr_has_ti0(*args) -> 'void' + clr_has_ti0(ea) + +Help on function clr_has_ti1 in module ida_nalt: + +clr_has_ti1(*args) -> 'void' + clr_has_ti1(ea) + +Help on function clr_libitem in module ida_nalt: + +clr_libitem(*args) -> 'void' + clr_libitem(ea) + +Help on function clr_lzero0 in module ida_nalt: + +clr_lzero0(*args) -> 'void' + clr_lzero0(ea) + +Help on function clr_lzero1 in module ida_nalt: + +clr_lzero1(*args) -> 'void' + clr_lzero1(ea) + +Help on function clr_noret in module ida_nalt: + +clr_noret(*args) -> 'void' + clr_noret(ea) + +Help on function clr_notcode in module ida_nalt: + +clr_notcode(*args) -> 'void' + clr_notcode(ea) + + + Clear not-code mark. + + + @param ea (C++: ea_t) + +Help on function clr_notproc in module ida_nalt: + +clr_notproc(*args) -> 'void' + clr_notproc(ea) + +Help on function clr_retfp in module ida_nalt: + +clr_retfp(*args) -> 'void' + clr_retfp(ea) + +Help on function clr_terse_struc in module ida_nalt: + +clr_terse_struc(*args) -> 'void' + clr_terse_struc(ea) + +Help on function clr_tilcmt in module ida_nalt: + +clr_tilcmt(*args) -> 'void' + clr_tilcmt(ea) + +Help on function clr_usemodsp in module ida_nalt: + +clr_usemodsp(*args) -> 'void' + clr_usemodsp(ea) + +Help on function clr_usersp in module ida_nalt: + +clr_usersp(*args) -> 'void' + clr_usersp(ea) + +Help on function clr_userti in module ida_nalt: + +clr_userti(*args) -> 'void' + clr_userti(ea) + +Help on function clr_zstroff in module ida_nalt: + +clr_zstroff(*args) -> 'void' + clr_zstroff(ea) + +Help on class custom_data_type_ids_fids_array in module ida_nalt: + +class custom_data_type_ids_fids_array(builtins.object) + | Proxy of C++ wrapped_array_t< int16,8 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'short const &' + | __getitem__(self, i) -> short const & + | + | __init__(self, *args) + | __init__(self, data) -> custom_data_type_ids_fids_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_custom_data_type_ids_fids_array(...) + | delete_custom_data_type_ids_fids_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | custom_data_type_ids_fids_array_data_get(self) -> short (&)[8] + | + | thisown + | The membership flag + +Help on class custom_data_type_ids_t in module ida_nalt: + +class custom_data_type_ids_t(builtins.object) + | Proxy of C++ custom_data_type_ids_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> custom_data_type_ids_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_custom_data_type_ids_t(...) + | delete_custom_data_type_ids_t(self) + | + | _custom_data_type_ids_t__getFids = __getFids(self, *args) -> 'wrapped_array_t< int16,8 >' + | __getFids(self) -> custom_data_type_ids_fids_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | dtid + | custom_data_type_ids_t_dtid_get(self) -> int16 + | + | fids + | __getFids(self) -> custom_data_type_ids_fids_array + | + | thisown + | The membership flag + +Help on function dbg_get_input_path in module ida_nalt: + +dbg_get_input_path(*args) -> 'size_t' + dbg_get_input_path() -> str + + + Get debugger input file name/path (see 'LFLG_DBG_NOPATH' ) + +Help on function del_absbase in module ida_nalt: + +del_absbase(*args) -> 'void' + del_absbase(ea) + +Help on function del_aflags in module ida_nalt: + +del_aflags(*args) -> 'void' + del_aflags(ea) + +Help on function del_alignment in module ida_nalt: + +del_alignment(*args) -> 'void' + del_alignment(ea) + +Help on function del_array_parameters in module ida_nalt: + +del_array_parameters(*args) -> 'void' + del_array_parameters(ea) + +Help on function del_custom_data_type_ids in module ida_nalt: + +del_custom_data_type_ids(*args) -> 'void' + del_custom_data_type_ids(ea) + +Help on function del_encoding in module ida_nalt: + +del_encoding(*args) -> 'bool' + del_encoding(idx) -> bool + + + Delete an encoding (1-based) + + + @param idx (C++: int) + +Help on function del_ind_purged in module ida_nalt: + +del_ind_purged(*args) -> 'void' + del_ind_purged(ea) + +Help on function del_item_color in module ida_nalt: + +del_item_color(*args) -> 'bool' + del_item_color(ea) -> bool + +Help on function del_op_tinfo in module ida_nalt: + +del_op_tinfo(*args) -> 'void' + del_op_tinfo(ea, n) + +Help on function del_refinfo in module ida_nalt: + +del_refinfo(*args) -> 'bool' + del_refinfo(ea, n) -> bool + +Help on function del_source_linnum in module ida_nalt: + +del_source_linnum(*args) -> 'void' + del_source_linnum(ea) + +Help on function del_str_type in module ida_nalt: + +del_str_type(*args) -> 'void' + del_str_type(ea) + +Help on function del_switch_info in module ida_nalt: + +del_switch_info(*args) -> 'void' + del_switch_info(ea) + +Help on function del_switch_parent in module ida_nalt: + +del_switch_parent(*args) -> 'void' + del_switch_parent(ea) + +Help on function del_tinfo in module ida_nalt: + +del_tinfo(*args) -> 'void' + del_tinfo(ea) + +Help on function delete_imports in module ida_nalt: + +delete_imports(*args) -> 'void' + delete_imports() + + + Delete all imported modules information. + +Help on function ea2node in module ida_nalt: + +ea2node(*args) -> 'nodeidx_t' + ea2node(ea) -> nodeidx_t + + + Get netnode for the specified address. + + + @param ea (C++: ea_t) + +Help on function encoding_from_strtype in module ida_nalt: + +encoding_from_strtype(*args) -> 'char const *' + encoding_from_strtype(strtype) -> char const * + + + Get encoding name for this strtype. + + + @param strtype (C++: int32) + +Help on class enum_const_t in module ida_nalt: + +class enum_const_t(builtins.object) + | Proxy of C++ enum_const_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> enum_const_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_enum_const_t(...) + | delete_enum_const_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | serial + | enum_const_t_serial_get(self) -> uchar + | + | thisown + | The membership flag + | + | tid + | enum_const_t_tid_get(self) -> tid_t + +Help on function enum_import_names in module ida_nalt: + +enum_import_names(*args) -> 'int' + enum_import_names(mod_index, py_cb) -> int + + + Enumerate imports from a specific module. + Please refer to ex_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) + +Help on function find_custom_refinfo in module ida_nalt: + +find_custom_refinfo(*args) -> 'int' + find_custom_refinfo(name) -> int + + + Get id of a custom refinfo type. + + + @param name (C++: const char *) + +Help on function get_abi_name in module ida_nalt: + +get_abi_name(*args) + +Help on function get_absbase in module ida_nalt: + +get_absbase(*args) -> 'ea_t' + get_absbase(ea) -> ea_t + +Help on function get_aflags in module ida_nalt: + +get_aflags(*args) -> 'uint32' + get_aflags(ea) -> uint32 + +Help on function get_alignment in module ida_nalt: + +get_alignment(*args) -> 'uint32' + get_alignment(ea) -> uint32 + +Help on function get_archive_path in module ida_nalt: + +get_archive_path(*args) -> 'qstring *' + get_archive_path() -> str + + + Get archive file path from which input file was extracted. + +Help on function get_array_parameters in module ida_nalt: + +get_array_parameters(*args) -> 'ssize_t' + get_array_parameters(out, ea) -> ssize_t + +Help on function get_asm_inc_file in module ida_nalt: + +get_asm_inc_file(*args) -> 'qstring *' + get_asm_inc_file() -> str + + + Get name of the include file. + +Help on function get_custom_data_type_ids in module ida_nalt: + +get_custom_data_type_ids(*args) -> 'int' + get_custom_data_type_ids(cdis, ea) -> int + +Help on function get_custom_refinfo in module ida_nalt: + +get_custom_refinfo(*args) -> 'custom_refinfo_handler_t const *' + get_custom_refinfo(crid) -> custom_refinfo_handler_t const * + + + Get definition of a registered custom refinfo type. + + + @param crid (C++: int) + +Help on function get_default_encoding_idx in module ida_nalt: + +get_default_encoding_idx(*args) -> 'int' + get_default_encoding_idx(bpu) -> int + + + Get default encoding index for a specific string type. + + @param bpu: the amount of bytes per unit (e.g., 1 for ASCII, CP1252, + UTF-8..., 2 for UTF-16, 4 for UTF-32) 0 means no specific + encoding is set - byte values are displayed without + conversion. (C++: int) + +Help on function get_encoding_bpu in module ida_nalt: + +get_encoding_bpu(*args) -> 'int' + 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: the encoding index (C++: int) + @return: the number of bytes per units (1/2/4); -1 means error + +Help on function get_encoding_name in module ida_nalt: + +get_encoding_name(*args) -> 'char const *' + get_encoding_name(idx) -> char const * + + + Get encoding name for specific index (1-based). + + @param idx (C++: int) + @return: NULL if idx is out of bounds + +Help on function get_encoding_qty in module ida_nalt: + +get_encoding_qty(*args) -> 'int' + get_encoding_qty() -> int + + + Get total number of encodings (counted from 0) + +Help on function get_gotea in module ida_nalt: + +get_gotea(*args) -> 'ea_t' + get_gotea() -> ea_t + +Help on function get_ids_modnode in module ida_nalt: + +get_ids_modnode(*args) -> 'netnode' + get_ids_modnode() -> netnode + + + Get ids modnode. + +Help on function get_imagebase in module ida_nalt: + +get_imagebase(*args) -> 'ea_t' + get_imagebase() -> ea_t + + + Get image base address. + +Help on function get_import_module_name in module ida_nalt: + +get_import_module_name(*args) -> 'PyObject *' + get_import_module_name(mod_index) -> PyObject * + + + Returns the name of an imported module given its index + @return: None or the module name + +Help on function get_import_module_qty in module ida_nalt: + +get_import_module_qty(*args) -> 'uint' + get_import_module_qty() -> uint + + + Get number of import modules. + +Help on function get_ind_purged in module ida_nalt: + +get_ind_purged(*args) -> 'ea_t' + get_ind_purged(ea) -> ea_t + +Help on function get_input_file_path in module ida_nalt: + +get_input_file_path(*args) -> 'size_t' + get_input_file_path() -> str + + + Get full path of the input file. + +Help on function get_item_color in module ida_nalt: + +get_item_color(*args) -> 'bgcolor_t' + get_item_color(ea) -> bgcolor_t + +Help on function get_op_tinfo in module ida_nalt: + +get_op_tinfo(*args) -> 'bool' + get_op_tinfo(tif, ea, n) -> bool + +Help on function get_outfile_encoding_idx in module ida_nalt: + +get_outfile_encoding_idx(*args) -> 'int' + get_outfile_encoding_idx() -> int + + + Get the index of the encoding used when producing files 0 means no + that the IDB's default 1 byte-per-unit encoding is used + +Help on function get_refinfo in module ida_nalt: + +get_refinfo(*args) -> 'bool' + get_refinfo(ri, ea, n) -> bool + +Help on function get_reftype_by_size in module ida_nalt: + +get_reftype_by_size(*args) -> 'reftype_t' + 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) + +Help on function get_root_filename in module ida_nalt: + +get_root_filename(*args) -> 'size_t' + get_root_filename() -> str + + + Get file name only of the input file. + +Help on function get_source_linnum in module ida_nalt: + +get_source_linnum(*args) -> 'uval_t' + get_source_linnum(ea) -> uval_t + +Help on function get_str_encoding_idx in module ida_nalt: + +get_str_encoding_idx(*args) -> 'uchar' + get_str_encoding_idx(strtype) -> uchar + + + Get index of the string encoding for this string. + + + @param strtype (C++: int32) + +Help on function get_str_term1 in module ida_nalt: + +get_str_term1(*args) -> 'char' + get_str_term1(strtype) -> char + +Help on function get_str_term2 in module ida_nalt: + +get_str_term2(*args) -> 'char' + get_str_term2(strtype) -> char + +Help on function get_str_type in module ida_nalt: + +get_str_type(*args) -> 'uint32' + get_str_type(ea) -> uint32 + +Help on function get_str_type_code in module ida_nalt: + +get_str_type_code(*args) -> 'uchar' + get_str_type_code(strtype) -> uchar + +Help on function get_strtype_bpu in module ida_nalt: + +get_strtype_bpu(*args) -> 'int' + get_strtype_bpu(strtype) -> int + +Help on function get_switch_info in module ida_nalt: + +get_switch_info(*args) + +Help on function get_switch_parent in module ida_nalt: + +get_switch_parent(*args) -> 'ea_t' + get_switch_parent(ea) -> ea_t + +Help on function get_tinfo in module ida_nalt: + +get_tinfo(*args) -> 'bool' + get_tinfo(tif, ea) -> bool + +Help on function getnode in module ida_nalt: + +getnode(*args) -> 'netnode' + getnode(ea) -> netnode + +Help on function has_lname in module ida_nalt: + +has_lname(*args) -> 'bool' + has_lname(ea) -> bool + +Help on function has_ti in module ida_nalt: + +has_ti(*args) -> 'bool' + has_ti(ea) -> bool + +Help on function has_ti0 in module ida_nalt: + +has_ti0(*args) -> 'bool' + has_ti0(ea) -> bool + +Help on function has_ti1 in module ida_nalt: + +has_ti1(*args) -> 'bool' + has_ti1(ea) -> bool + +Help on function hide_border in module ida_nalt: + +hide_border(*args) -> 'void' + hide_border(ea) + +Help on function hide_item in module ida_nalt: + +hide_item(*args) -> 'void' + hide_item(ea) + +Help on function is__bnot0 in module ida_nalt: + +is__bnot0(*args) -> 'bool' + is__bnot0(ea) -> bool + +Help on function is__bnot1 in module ida_nalt: + +is__bnot1(*args) -> 'bool' + is__bnot1(ea) -> bool + +Help on function is__invsign0 in module ida_nalt: + +is__invsign0(*args) -> 'bool' + is__invsign0(ea) -> bool + +Help on function is__invsign1 in module ida_nalt: + +is__invsign1(*args) -> 'bool' + is__invsign1(ea) -> bool + +Help on function is_align_flow in module ida_nalt: + +is_align_flow(*args) -> 'bool' + is_align_flow(ea) -> bool + +Help on function is_colored_item in module ida_nalt: + +is_colored_item(*args) -> 'bool' + is_colored_item(ea) -> bool + +Help on function is_finally_visible_item in module ida_nalt: + +is_finally_visible_item(*args) -> 'bool' + is_finally_visible_item(ea) -> bool + + + Is instruction visible? + + + @param ea (C++: ea_t) + +Help on function is_fixed_spd in module ida_nalt: + +is_fixed_spd(*args) -> 'bool' + is_fixed_spd(ea) -> bool + +Help on function is_hidden_border in module ida_nalt: + +is_hidden_border(*args) -> 'bool' + is_hidden_border(ea) -> bool + +Help on function is_hidden_item in module ida_nalt: + +is_hidden_item(*args) -> 'bool' + is_hidden_item(ea) -> bool + +Help on function is_libitem in module ida_nalt: + +is_libitem(*args) -> 'bool' + is_libitem(ea) -> bool + +Help on function is_lzero0 in module ida_nalt: + +is_lzero0(*args) -> 'bool' + is_lzero0(ea) -> bool + +Help on function is_lzero1 in module ida_nalt: + +is_lzero1(*args) -> 'bool' + is_lzero1(ea) -> bool + +Help on function is_noret in module ida_nalt: + +is_noret(*args) -> 'bool' + is_noret(ea) -> bool + +Help on function is_notcode in module ida_nalt: + +is_notcode(*args) -> 'bool' + is_notcode(ea) -> bool + + + Is the address marked as not-code? + + + @param ea (C++: ea_t) + +Help on function is_notproc in module ida_nalt: + +is_notproc(*args) -> 'bool' + is_notproc(ea) -> bool + +Help on function is_pascal in module ida_nalt: + +is_pascal(*args) -> 'bool' + is_pascal(strtype) -> bool + +Help on function is_reftype_target_optional in module ida_nalt: + +is_reftype_target_optional(*args) -> 'bool' + is_reftype_target_optional(type) -> bool + + + Can the target be calculated using operand value? + + + @param type (C++: reftype_t) + +Help on function is_retfp in module ida_nalt: + +is_retfp(*args) -> 'bool' + is_retfp(ea) -> bool + +Help on function is_terse_struc in module ida_nalt: + +is_terse_struc(*args) -> 'bool' + is_terse_struc(ea) -> bool + +Help on function is_tilcmt in module ida_nalt: + +is_tilcmt(*args) -> 'bool' + is_tilcmt(ea) -> bool + +Help on function is_usersp in module ida_nalt: + +is_usersp(*args) -> 'bool' + is_usersp(ea) -> bool + +Help on function is_userti in module ida_nalt: + +is_userti(*args) -> 'bool' + is_userti(ea) -> bool + +Help on function is_visible_item in module ida_nalt: + +is_visible_item(*args) -> 'bool' + is_visible_item(ea) -> bool + + + Test visibility of item at given ea. + + + @param ea (C++: ea_t) + +Help on function is_zstroff in module ida_nalt: + +is_zstroff(*args) -> 'bool' + is_zstroff(ea) -> bool + +Help on function node2ea in module ida_nalt: + +node2ea(*args) -> 'ea_t' + node2ea(ndx) -> ea_t + +Help on class opinfo_t in module ida_nalt: + +class opinfo_t(builtins.object) + | Proxy of C++ opinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> opinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_opinfo_t(...) + | delete_opinfo_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cd + | opinfo_t_cd_get(self) -> custom_data_type_ids_t + | + | ec + | opinfo_t_ec_get(self) -> enum_const_t + | + | path + | opinfo_t_path_get(self) -> strpath_t + | + | ri + | opinfo_t_ri_get(self) -> refinfo_t + | + | strtype + | opinfo_t_strtype_get(self) -> int32 + | + | thisown + | The membership flag + | + | tid + | opinfo_t_tid_get(self) -> tid_t + +Help on class printop_t in module ida_nalt: + +class printop_t(builtins.object) + | Proxy of C++ printop_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> printop_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_printop_t(...) + | delete_printop_t(self) + | + | get_ti(self, *args) -> 'opinfo_t const *' + | get_ti(self) -> opinfo_t + | + | is_aflags_initialized(self, *args) -> 'bool' + | is_aflags_initialized(self) -> bool + | + | is_ti_initialized(self, *args) -> 'bool' + | is_ti_initialized(self) -> bool + | + | set_aflags_initialized(self, *args) -> 'void' + | set_aflags_initialized(self, v=True) + | + | set_ti_initialized(self, *args) -> 'void' + | set_ti_initialized(self, v=True) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | aflags + | printop_t_aflags_get(self) -> flags_t + | + | features + | printop_t_features_get(self) -> uchar + | + | flags + | printop_t_flags_get(self) -> flags_t + | + | is_ti_valid + | is_ti_initialized(self) -> bool + | + | suspop + | printop_t_suspop_get(self) -> int + | + | thisown + | The membership flag + | + | ti + | printop_t_ti_get(self) -> opinfo_t + +Help on class refinfo_t in module ida_nalt: + +class refinfo_t(builtins.object) + | Proxy of C++ refinfo_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> refinfo_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_refinfo_t(...) + | delete_refinfo_t(self) + | + | init(self, *args) -> 'void' + | init(self, reft_and_flags, _base=0, _target=BADADDR, _tdelta=0) + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_pastend(self, *args) -> 'bool' + | is_pastend(self) -> bool + | + | is_rvaoff(self, *args) -> 'bool' + | is_rvaoff(self) -> bool + | + | is_signed(self, *args) -> 'bool' + | is_signed(self) -> bool + | + | is_subtract(self, *args) -> 'bool' + | is_subtract(self) -> bool + | + | is_target_optional(self, *args) -> 'bool' + | is_target_optional(self) -> bool + | + | no_base_xref(self, *args) -> 'bool' + | no_base_xref(self) -> bool + | + | set_type(self, *args) -> 'void' + | set_type(self, t) + | + | type(self, *args) -> 'reftype_t' + | type(self) -> reftype_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | refinfo_t_base_get(self) -> ea_t + | + | flags + | refinfo_t_flags_get(self) -> uint32 + | + | target + | refinfo_t_target_get(self) -> ea_t + | + | tdelta + | refinfo_t_tdelta_get(self) -> adiff_t + | + | thisown + | The membership flag + +Help on function rename_encoding in module ida_nalt: + +rename_encoding(*args) -> 'bool' + rename_encoding(idx, encoding) -> bool + + + Change name for an encoding (1-based) + + + @param idx (C++: int) + @param encoding (C++: const char *) + +Help on function retrieve_input_file_crc32 in module ida_nalt: + +retrieve_input_file_crc32(*args) -> 'uint32' + 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. + +Help on function retrieve_input_file_md5 in module ida_nalt: + +retrieve_input_file_md5(*args) -> 'uchar [ANY]' + retrieve_input_file_md5() -> str + + + Get input file md5. + +Help on function retrieve_input_file_sha256 in module ida_nalt: + +retrieve_input_file_sha256(*args) -> 'uchar [ANY]' + retrieve_input_file_sha256() -> str + + + Get input file sha256. + +Help on function retrieve_input_file_size in module ida_nalt: + +retrieve_input_file_size(*args) -> 'uint32' + retrieve_input_file_size() -> uint32 + + + Get size of input file in bytes. + +Help on function set__bnot0 in module ida_nalt: + +set__bnot0(*args) -> 'void' + set__bnot0(ea) + +Help on function set__bnot1 in module ida_nalt: + +set__bnot1(*args) -> 'void' + set__bnot1(ea) + +Help on function set__invsign0 in module ida_nalt: + +set__invsign0(*args) -> 'void' + set__invsign0(ea) + +Help on function set__invsign1 in module ida_nalt: + +set__invsign1(*args) -> 'void' + set__invsign1(ea) + +Help on function set_abits in module ida_nalt: + +set_abits(*args) -> 'void' + set_abits(ea, bits) + +Help on function set_absbase in module ida_nalt: + +set_absbase(*args) -> 'void' + set_absbase(ea, x) + +Help on function set_aflags in module ida_nalt: + +set_aflags(*args) -> 'void' + set_aflags(ea, flags) + +Help on function set_align_flow in module ida_nalt: + +set_align_flow(*args) -> 'void' + set_align_flow(ea) + +Help on function set_alignment in module ida_nalt: + +set_alignment(*args) -> 'void' + set_alignment(ea, x) + +Help on function set_archive_path in module ida_nalt: + +set_archive_path(*args) -> 'bool' + set_archive_path(file) -> bool + + + Set archive file path from which input file was extracted. + + + @param file (C++: const char *) + +Help on function set_array_parameters in module ida_nalt: + +set_array_parameters(*args) -> 'void' + set_array_parameters(ea, _in) + +Help on function set_asm_inc_file in module ida_nalt: + +set_asm_inc_file(*args) -> 'bool' + set_asm_inc_file(file) -> bool + + + Set name of the include file. + + + @param file (C++: const char *) + +Help on function set_colored_item in module ida_nalt: + +set_colored_item(*args) -> 'void' + set_colored_item(ea) + +Help on function set_custom_data_type_ids in module ida_nalt: + +set_custom_data_type_ids(*args) -> 'void' + set_custom_data_type_ids(ea, cdis) + +Help on function set_default_encoding_idx in module ida_nalt: + +set_default_encoding_idx(*args) -> 'bool' + set_default_encoding_idx(bpu, idx) -> bool + + + set default encoding for a string type + + @param bpu: the amount of bytes per unit (C++: int) + @param idx: the encoding index idx can be 0 to disable encoding + conversion (C++: int) + +Help on function set_fixed_spd in module ida_nalt: + +set_fixed_spd(*args) -> 'void' + set_fixed_spd(ea) + +Help on function set_gotea in module ida_nalt: + +set_gotea(*args) -> 'void' + set_gotea(gotea) + +Help on function set_has_lname in module ida_nalt: + +set_has_lname(*args) -> 'void' + set_has_lname(ea) + +Help on function set_has_ti in module ida_nalt: + +set_has_ti(*args) -> 'void' + set_has_ti(ea) + +Help on function set_has_ti0 in module ida_nalt: + +set_has_ti0(*args) -> 'void' + set_has_ti0(ea) + +Help on function set_has_ti1 in module ida_nalt: + +set_has_ti1(*args) -> 'void' + set_has_ti1(ea) + +Help on function set_ids_modnode in module ida_nalt: + +set_ids_modnode(*args) -> 'void' + set_ids_modnode(id) + + + Set ids modnode. + + + @param id (C++: netnode) + +Help on function set_imagebase in module ida_nalt: + +set_imagebase(*args) -> 'void' + set_imagebase(base) + + + Set image base address. + + + @param base (C++: ea_t) + +Help on function set_item_color in module ida_nalt: + +set_item_color(*args) -> 'void' + set_item_color(ea, color) + +Help on function set_libitem in module ida_nalt: + +set_libitem(*args) -> 'void' + set_libitem(ea) + +Help on function set_lzero0 in module ida_nalt: + +set_lzero0(*args) -> 'void' + set_lzero0(ea) + +Help on function set_lzero1 in module ida_nalt: + +set_lzero1(*args) -> 'void' + set_lzero1(ea) + +Help on function set_noret in module ida_nalt: + +set_noret(*args) -> 'void' + set_noret(ea) + +Help on function set_notcode in module ida_nalt: + +set_notcode(*args) -> 'void' + set_notcode(ea) + + + Mark address so that it cannot be converted to instruction. + + + @param ea (C++: ea_t) + +Help on function set_notproc in module ida_nalt: + +set_notproc(*args) -> 'void' + set_notproc(ea) + +Help on function set_op_tinfo in module ida_nalt: + +set_op_tinfo(*args) -> 'bool' + set_op_tinfo(ea, n, tif) -> bool + +Help on function set_outfile_encoding_idx in module ida_nalt: + +set_outfile_encoding_idx(*args) -> 'bool' + set_outfile_encoding_idx(idx) -> bool + + + set encoding to be used when producing files + + @param idx: the encoding index idx can be 0 to use the IDB's default + 1-byte-per-unit encoding (C++: int) + +Help on function set_refinfo in module ida_nalt: + +set_refinfo(*args) -> 'bool' + set_refinfo(ea, n, type, target=BADADDR, base=0, tdelta=0) -> bool + +Help on function set_refinfo_ex in module ida_nalt: + +set_refinfo_ex(*args) -> 'bool' + set_refinfo_ex(ea, n, ri) -> bool + +Help on function set_retfp in module ida_nalt: + +set_retfp(*args) -> 'void' + set_retfp(ea) + +Help on function set_root_filename in module ida_nalt: + +set_root_filename(*args) -> 'void' + set_root_filename(file) + + + Set full path of the input file. + + + @param file (C++: const char *) + +Help on function set_source_linnum in module ida_nalt: + +set_source_linnum(*args) -> 'void' + set_source_linnum(ea, lnnum) + +Help on function set_str_type in module ida_nalt: + +set_str_type(*args) -> 'void' + set_str_type(ea, x) + +Help on function set_switch_info in module ida_nalt: + +set_switch_info(*args) -> 'void' + set_switch_info(ea, _in) + +Help on function set_switch_parent in module ida_nalt: + +set_switch_parent(*args) -> 'void' + set_switch_parent(ea, x) + +Help on function set_terse_struc in module ida_nalt: + +set_terse_struc(*args) -> 'void' + set_terse_struc(ea) + +Help on function set_tilcmt in module ida_nalt: + +set_tilcmt(*args) -> 'void' + set_tilcmt(ea) + +Help on function set_tinfo in module ida_nalt: + +set_tinfo(*args) -> 'bool' + set_tinfo(ea, tif) -> bool + +Help on function set_usemodsp in module ida_nalt: + +set_usemodsp(*args) -> 'void' + set_usemodsp(ea) + +Help on function set_usersp in module ida_nalt: + +set_usersp(*args) -> 'void' + set_usersp(ea) + +Help on function set_userti in module ida_nalt: + +set_userti(*args) -> 'void' + set_userti(ea) + +Help on function set_visible_item in module ida_nalt: + +set_visible_item(*args) -> 'void' + set_visible_item(ea, visible) + + + Change visibility of item at given ea. + + + @param ea (C++: ea_t) + @param visible (C++: bool) + +Help on function set_zstroff in module ida_nalt: + +set_zstroff(*args) -> 'void' + set_zstroff(ea) + +Help on class strpath_ids_array in module ida_nalt: + +class strpath_ids_array(builtins.object) + | Proxy of C++ wrapped_array_t< tid_t,32 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'unsigned-ea-like-numeric-type const &'↗ + | __getitem__(self, i) -> unsigned-ea-like-numeric-type const &↗ + | + | __init__(self, *args) + | __init__(self, data) -> strpath_ids_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_strpath_ids_array(...) + | delete_strpath_ids_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | strpath_ids_array_data_get(self) -> unsigned-ea-like-numeric-type (&)[32]↗ + | + | thisown + | The membership flag + +Help on class strpath_t in module ida_nalt: + +class strpath_t(builtins.object) + | Proxy of C++ strpath_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strpath_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_strpath_t(...) + | delete_strpath_t(self) + | + | _strpath_t__getIds = __getIds(self, *args) -> 'wrapped_array_t< tid_t,32 >' + | __getIds(self) -> strpath_ids_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | delta + | strpath_t_delta_get(self) -> adiff_t + | + | ids + | __getIds(self) -> strpath_ids_array + | + | len + | strpath_t_len_get(self) -> int + | + | thisown + | The membership flag + +Help on class switch_info_t in module ida_nalt: + +class switch_info_t(builtins.object) + | Proxy of C++ switch_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> switch_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_switch_info_t(...) + | delete_switch_info_t(self) + | + | _get_values_lowcase(self, *args) -> 'ea_t' + | _get_values_lowcase(self) -> ea_t + | + | _set_values_lowcase(self, *args) -> 'void' + | _set_values_lowcase(self, values) + | + | assign(self, *args) -> 'void' + | assign(self, other) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | get_jrange_vrange(self, *args) -> 'bool' + | get_jrange_vrange(self, jrange=None, vrange=None) -> bool + | + | get_jtable_element_size(self, *args) -> 'int' + | get_jtable_element_size(self) -> int + | + | get_jtable_size(self, *args) -> 'int' + | get_jtable_size(self) -> int + | + | get_lowcase(self, *args) -> 'sval_t' + | get_lowcase(self) -> sval_t + | + | get_shift(self, *args) -> 'int' + | get_shift(self) -> int + | + | get_version(self, *args) -> 'int' + | get_version(self) -> int + | + | get_vtable_element_size(self, *args) -> 'int' + | get_vtable_element_size(self) -> int + | + | has_default(self, *args) -> 'bool' + | has_default(self) -> bool + | + | has_elbase(self, *args) -> 'bool' + | has_elbase(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_indirect(self, *args) -> 'bool' + | is_indirect(self) -> bool + | + | is_nolowcase(self, *args) -> 'bool' + | is_nolowcase(self) -> bool + | + | is_sparse(self, *args) -> 'bool' + | is_sparse(self) -> bool + | + | is_subtract(self, *args) -> 'bool' + | is_subtract(self) -> bool + | + | set_elbase(self, *args) -> 'void' + | set_elbase(self, base) + | + | set_expr(self, *args) -> 'void' + | set_expr(self, r, dt) + | + | set_jtable_element_size(self, *args) -> 'void' + | set_jtable_element_size(self, size) + | + | set_jtable_size(self, *args) -> 'void' + | set_jtable_size(self, size) + | + | set_shift(self, *args) -> 'void' + | set_shift(self, shift) + | + | set_vtable_element_size(self, *args) -> 'void' + | set_vtable_element_size(self, size) + | + | use_std_table(self, *args) -> 'bool' + | use_std_table(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | custom + | switch_info_t_custom_get(self) -> uval_t + | + | defjump + | switch_info_t_defjump_get(self) -> ea_t + | + | elbase + | switch_info_t_elbase_get(self) -> ea_t + | + | expr_ea + | switch_info_t_expr_ea_get(self) -> ea_t + | + | flags + | switch_info_t_flags_get(self) -> uint32 + | + | ind_lowcase + | switch_info_t_ind_lowcase_get(self) -> sval_t + | + | jcases + | switch_info_t_jcases_get(self) -> int + | + | jumps + | switch_info_t_jumps_get(self) -> ea_t + | + | lowcase + | _get_values_lowcase(self) -> ea_t + | + | marks + | switch_info_t_marks_get(self) -> eavec_t * + | + | ncases + | switch_info_t_ncases_get(self) -> ushort + | + | regdtype + | switch_info_t_regdtype_get(self) -> op_dtype_t + | + | regnum + | switch_info_t_regnum_get(self) -> int + | + | startea + | switch_info_t_startea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | values + | _get_values_lowcase(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | SWITCH_INFO_VERSION = 2 + +Help on function switch_info_t__from_ptrval__ in module ida_nalt: + +switch_info_t__from_ptrval__(*args) -> 'switch_info_t *' + switch_info_t__from_ptrval__(ptrval) -> switch_info_t + +Help on function unhide_border in module ida_nalt: + +unhide_border(*args) -> 'void' + unhide_border(ea) + +Help on function unhide_item in module ida_nalt: + +unhide_item(*args) -> 'void' + unhide_item(ea) + +Help on function uses_modsp in module ida_nalt: + +uses_modsp(*args) -> 'bool' + uses_modsp(ea) -> bool + +Help on function validate_idb_names in module ida_nalt: + +validate_idb_names(*args) -> 'int' + validate_idb_names(do_repair) -> int + +=== ida_nalt EPYDOC INJECTIONS === +ida_nalt.AFL_ALIGNFLOW +""" +the previous insn was created for alignment purposes only +""" + +ida_nalt.AFL_BNOT0 +""" +the 1st operand is bitwise negated +""" + +ida_nalt.AFL_BNOT1 +""" +the 2nd operand is bitwise negated +""" + +ida_nalt.AFL_COLORED +""" +has user defined instruction color? +""" + +ida_nalt.AFL_FIXEDSPD +""" +should not be modified by modules + +sp delta value is fixed by analysis. +""" + +ida_nalt.AFL_HIDDEN +""" +the item is hidden completely +""" + +ida_nalt.AFL_LIB +""" +item from the standard library. low level flag, is used to set +'FUNC_LIB' of 'func_t' +""" + +ida_nalt.AFL_LINNUM +""" +has line number info +""" + +ida_nalt.AFL_LNAME +""" +has local name too ( 'FF_NAME' should be set) +""" + +ida_nalt.AFL_LZERO0 +""" +toggle leading zeroes for the 1st operand +""" + +ida_nalt.AFL_LZERO1 +""" +toggle leading zeroes for the 2nd operand +""" + +ida_nalt.AFL_MANUAL +""" +the instruction/data is specified by the user +""" + +ida_nalt.AFL_NOBRD +""" +the code/data border is hidden +""" + +ida_nalt.AFL_NORET +""" +for imported function pointers: doesn't return. this flag can also be +used for any instruction which halts or finishes the program execution +""" + +ida_nalt.AFL_NOTCODE +""" +autoanalysis should not create code here +""" + +ida_nalt.AFL_NOTPROC +""" +autoanalysis should not create proc here +""" + +ida_nalt.AFL_PUBNAM +""" +name is public (inter-file linkage) +""" + +ida_nalt.AFL_RETFP +""" +function returns a floating point value +""" + +ida_nalt.AFL_SIGN0 +""" +code: toggle sign of the 1st operand +""" + +ida_nalt.AFL_SIGN1 +""" +code: toggle sign of the 2nd operand +""" + +ida_nalt.AFL_TERSESTR +""" +terse structure variable display? +""" + +ida_nalt.AFL_TI +""" +has typeinfo? ( 'NSUP_TYPEINFO' ) +""" + +ida_nalt.AFL_TI0 +""" +has typeinfo for operand 0? ( 'NSUP_OPTYPES' ) +""" + +ida_nalt.AFL_TI1 +""" +has typeinfo for operand 1? ( 'NSUP_OPTYPES' +1) +""" + +ida_nalt.AFL_TILCMT +""" +has type comment? (such a comment may be changed by IDA) +""" + +ida_nalt.AFL_USEMODSP +""" +example: pop [rsp+N] + +insn modifes SP and uses the modified value +""" + +ida_nalt.AFL_USERSP +""" +user-defined SP value +""" + +ida_nalt.AFL_USERTI +""" +(comes from the user or type library) + +the type information is definitive. +""" + +ida_nalt.AFL_WEAKNAM +""" +name is weak +""" + +ida_nalt.AFL_ZSTROFF +""" +display struct field name at 0 offset when displaying an offset. +example: \\v{offset somestruct.field_0} if this flag is clear, then +\\v{offset somestruct} +""" + +ida_nalt.AP_ALLOWDUPS +""" +use 'dup' construct +""" + +ida_nalt.AP_ARRAY +""" +create as array (this flag is not stored in database) +""" + +ida_nalt.AP_IDXBASEMASK +""" +mask for number base of the indexes +""" + +ida_nalt.AP_IDXBIN +""" +display indexes in binary +""" + +ida_nalt.AP_IDXDEC +""" +display indexes in decimal +""" + +ida_nalt.AP_IDXHEX +""" +display indexes in hex +""" + +ida_nalt.AP_IDXOCT +""" +display indexes in octal +""" + +ida_nalt.AP_INDEX +""" +display array element indexes as comments +""" + +ida_nalt.AP_SIGNED +""" +treats numbers as signed +""" + +ida_nalt.MAXSTRUCPATH +""" +maximal inclusion depth of unions +""" + +ida_nalt.NALT_ABSBASE +""" +absolute segment location +""" + +ida_nalt.NALT_AFLAGS +""" +additional flags for an item +""" + +ida_nalt.NALT_ALIGN +""" +(should by equal to power of 2) + +alignment value if the item is 'FF_ALIGN' +""" + +ida_nalt.NALT_COLOR +""" +instruction/data background color +""" + +ida_nalt.NALT_CREF_FROM +""" +code xref from, idx: source address +""" + +ida_nalt.NALT_CREF_TO +""" +code xref to, idx: target address +""" + +ida_nalt.NALT_DREF_FROM +""" +data xref from, idx: source address +""" + +ida_nalt.NALT_DREF_TO +""" +data xref to, idx: target address +""" + +ida_nalt.NALT_ENUM0 +""" +enum id for the first operand +""" + +ida_nalt.NALT_ENUM1 +""" +enum id for the second operand +""" + +ida_nalt.NALT_GR_LAYX +""" +group layout ptrs, hash: md5 of 'belongs' +""" + +ida_nalt.NALT_LINNUM +""" +source line number +""" + +ida_nalt.NALT_PURGE +""" +number of bytes purged from the stack when a function is called +indirectly +""" + +ida_nalt.NALT_STRTYPE +""" +type of string item +""" + +ida_nalt.NALT_STRUCT +""" +struct id +""" + +ida_nalt.NALT_SWITCH +""" +switch idiom address (used at jump targets) +""" + +ida_nalt.NSUP_ARGEAS +""" +instructions that initialize call arguments +""" + +ida_nalt.NSUP_ARRAY +""" +array parameters +""" + +ida_nalt.NSUP_CMT +""" +regular comment +""" + +ida_nalt.NSUP_CUSTDT +""" +custom data type id +""" + +ida_nalt.NSUP_FOP1 +""" +forced operand 1 +""" + +ida_nalt.NSUP_FOP2 +""" +forced operand 2 +""" + +ida_nalt.NSUP_FOP3 +""" +forced operand 3 +""" + +ida_nalt.NSUP_FOP4 +""" +forced operand 4 +""" + +ida_nalt.NSUP_FOP5 +""" +forced operand 5 +""" + +ida_nalt.NSUP_FOP6 +""" +forced operand 6 +""" + +ida_nalt.NSUP_FOP7 +""" +forced operand 7 +""" + +ida_nalt.NSUP_FOP8 +""" +forced operand 8 +""" + +ida_nalt.NSUP_FTAILS +""" +function tails or tail referers values NSUP_FTAILS..NSUP_FTAILS+0x1000 +are reserved +""" + +ida_nalt.NSUP_GROUP +""" +graph group information values NSUP_GROUP..NSUP_GROUP+0x1000 are +reserved +""" + +ida_nalt.NSUP_GROUPS +""" +SEG_GRP: pack_dd encoded list of selectors. +""" + +ida_nalt.NSUP_GR_INFO +""" +group node info: color, ea, text +""" + +ida_nalt.NSUP_GR_LAYT +""" +group layouts, idx: layout pointer +""" + +ida_nalt.NSUP_JINFO +""" +jump table info +""" + +ida_nalt.NSUP_LLABEL +""" +local labels. values NSUP_LLABEL..NSUP_LLABEL+0x1000 are reserved +""" + +ida_nalt.NSUP_MANUAL +""" +manual instruction. values NSUP_MANUAL..NSUP_MANUAL+0x1000 are +reserved +""" + +ida_nalt.NSUP_OMFGRP +""" +OMF: group of segments (not used anymore) +""" + +ida_nalt.NSUP_OPTYPES +""" +operand type information. values NSUP_OPTYPES..NSUP_OPTYPES+0x100000 +are reserved +""" + +ida_nalt.NSUP_OREF0 +""" +outer complex reference information for operand 1 +""" + +ida_nalt.NSUP_OREF1 +""" +outer complex reference information for operand 2 +""" + +ida_nalt.NSUP_OREF2 +""" +outer complex reference information for operand 3 +""" + +ida_nalt.NSUP_OREF3 +""" +outer complex reference information for operand 4 +""" + +ida_nalt.NSUP_OREF4 +""" +outer complex reference information for operand 5 +""" + +ida_nalt.NSUP_OREF5 +""" +outer complex reference information for operand 6 +""" + +ida_nalt.NSUP_OREF6 +""" +outer complex reference information for operand 7 +""" + +ida_nalt.NSUP_OREF7 +""" +outer complex reference information for operand 8 +""" + +ida_nalt.NSUP_ORIGFMD +""" +function metadata before lumina information was applied values +NSUP_ORIGFMD..NSUP_ORIGFMD+0x1000 are reserved +""" + +ida_nalt.NSUP_POINTS +""" +SP change points blob (see funcs.cpp). values +NSUP_POINTS..NSUP_POINTS+0x1000 are reserved +""" + +ida_nalt.NSUP_REF0 +""" +complex reference information for operand 1 +""" + +ida_nalt.NSUP_REF1 +""" +complex reference information for operand 2 +""" + +ida_nalt.NSUP_REF2 +""" +complex reference information for operand 3 +""" + +ida_nalt.NSUP_REF3 +""" +complex reference information for operand 4 +""" + +ida_nalt.NSUP_REF4 +""" +complex reference information for operand 5 +""" + +ida_nalt.NSUP_REF5 +""" +complex reference information for operand 6 +""" + +ida_nalt.NSUP_REF6 +""" +complex reference information for operand 7 +""" + +ida_nalt.NSUP_REF7 +""" +complex reference information for operand 8 +""" + +ida_nalt.NSUP_REGARG +""" +register argument type/name descriptions values +NSUP_REGARG..NSUP_REGARG+0x1000 are reserved +""" + +ida_nalt.NSUP_REGVAR +""" +register variables. values NSUP_REGVAR..NSUP_REGVAR+0x1000 are +reserved +""" + +ida_nalt.NSUP_REPCMT +""" +repeatable comment +""" + +ida_nalt.NSUP_SEGTRANS +""" +segment translations +""" + +ida_nalt.NSUP_STROFF0 +""" +stroff: struct path for the first operand +""" + +ida_nalt.NSUP_STROFF1 +""" +stroff: struct path for the second operand +""" + +ida_nalt.NSUP_SWITCH +""" +switch information +""" + +ida_nalt.NSUP_TYPEINFO +""" +type information. values NSUP_TYPEINFO..NSUP_TYPEINFO+0x1000 are +reserved +""" + +ida_nalt.NSUP_XREFPOS +""" +saved xref address and type in the xrefs window +""" + +ida_nalt.PATCH_TAG +""" +Patch netnode tag. +""" + +ida_nalt.REFINFO_CUSTOM +""" +a custom reference the kernel will call \\ph{notify}(ph.custom_offset, +.... that can change all arguments used for calculations. This flag is +useful for custom fixups +""" + +ida_nalt.REFINFO_NOBASE +""" +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 +""" + +ida_nalt.REFINFO_PASTEND +""" +reference past an item it may point to an nonexistent address do not +destroy alignment dirs +""" + +ida_nalt.REFINFO_RVAOFF +""" +based reference (rva) 'refinfo_t::base' will be forced to +'get_imagebase()' such a reference is displayed with the \\ash{a_rva} +keyword +""" + +ida_nalt.REFINFO_SIGNEDOP +""" +the operand value is sign-extended (only supported for +REF_OFF8/16/32/64) +""" + +ida_nalt.REFINFO_SUBTRACT +""" +the reference value is subtracted from the base value instead of (as +usual) being added to it +""" + +ida_nalt.REFINFO_TYPE +""" +reference type +""" + +ida_nalt.RIDX_ABINAME +""" +ABI name (processor specific) +""" + +ida_nalt.RIDX_ARCHIVE_PATH +""" +archive file path +""" + +ida_nalt.RIDX_C_MACROS +""" +C predefined macros. +""" + +ida_nalt.RIDX_DBG_BINPATHS +""" +unused (20 indexes) +""" + +ida_nalt.RIDX_DUALOP_GRAPH +""" +Graph text representation options. +""" + +ida_nalt.RIDX_DUALOP_TEXT +""" +Text text representation options. +""" + +ida_nalt.RIDX_FILE_FORMAT_NAME +""" +file format name for loader modules +""" + +ida_nalt.RIDX_GROUPS +""" +segment group information (see init_groups()) +""" + +ida_nalt.RIDX_H_PATH +""" +C header path. +""" + +ida_nalt.RIDX_IDA_VERSION +""" +version of ida which created the database +""" + +ida_nalt.RIDX_INCLUDE +""" +assembler include file name +""" + +ida_nalt.RIDX_MD5 +""" +MD5 of the input file. +""" + +ida_nalt.RIDX_NOTEPAD +""" +notepad blob, occupies 1000 indexes (1MB of text) +""" + +ida_nalt.RIDX_PROBLEMS +""" +problem lists +""" + +ida_nalt.RIDX_SELECTED_EXTLANG +""" +last selected extlang name (from the execute script box) +""" + +ida_nalt.RIDX_SELECTORS +""" +2..63 are for selector_t blob (see init_selectors()) +""" + +ida_nalt.RIDX_SHA256 +""" +SHA256 of the input file. +""" + +ida_nalt.RIDX_SMALL_IDC +""" +Instant IDC statements, blob. +""" + +ida_nalt.RIDX_SMALL_IDC_OLD +""" +Instant IDC statements (obsolete) +""" + +ida_nalt.RIDX_SRCDBG_PATHS +""" +source debug paths, occupies 20 indexes +""" + +ida_nalt.RIDX_SRCDBG_UNDESIRED +""" +user-closed source files, occupies 20 indexes +""" + +ida_nalt.RIDX_STR_ENCODINGS +""" +a list of encodings for the program strings +""" + +ida_nalt.STRENC_DEFAULT +""" +use default encoding for this type (see 'get_default_encoding_idx()' ) +""" + +ida_nalt.STRENC_NONE +""" +force no-conversion encoding +""" + +ida_nalt.STRTYPE_C +""" +Zero-terminated 16bit chars. +""" + +ida_nalt.STRTYPE_C_16 +""" +Zero-terminated 32bit chars. +""" + +ida_nalt.STRTYPE_C_32 +""" +Pascal-style, one-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN2 +""" +Pascal-style, 16bit chars, two-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN2_16 +""" +Pascal-style, four-byte length prefix. +""" + +ida_nalt.STRTYPE_LEN4 +""" +Pascal-style, 16bit chars, four-byte length prefix. +""" + +ida_nalt.STRTYPE_PASCAL +""" +Pascal-style, 16bit chars, one-byte length prefix. +""" + +ida_nalt.STRTYPE_PASCAL_16 +""" +Pascal-style, two-byte length prefix. +""" + +ida_nalt.STRTYPE_TERMCHR +""" +C-style string. + +< Character-terminated string. The termination characters are kept in +the next bytes of string type. +""" + +ida_nalt.SWI_CUSTOM +""" +custom jump table. \\ph{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' ) +""" + +ida_nalt.SWI_DEFRET +""" +return in the default case (defjump==BADADDR) +""" + +ida_nalt.SWI_DEF_IN_TBL +""" +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) +=""> ==+ 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. +""" + +ida_nalt.SWI_ELBASE +""" +segment will be used) + +elbase is present (otherwise the base of the switch +""" + +ida_nalt.SWI_HXNOLOWCASE +""" +lowcase value should not be used by the decompiler (internal flag) +""" + +ida_nalt.SWI_INDIRECT +""" +(for sparse switches) + +value table elements are used as indexes into the jump table +""" + +ida_nalt.SWI_J32 +""" +32-bit jump offsets +""" + +ida_nalt.SWI_JMPINSN +""" +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. +""" + +ida_nalt.SWI_JMP_INV +""" +for first entry in values table) + +jumptable is inversed. (last entry is +""" + +ida_nalt.SWI_JSIZE +""" +jump offset expansion bit +""" + +ida_nalt.SWI_RESERVED +""" +was: SWI_DEFAULT +""" + +ida_nalt.SWI_SELFREL +""" +jump address is relative to the element not to ELBASE +""" + +ida_nalt.SWI_SEPARATE +""" +create an array of individual elements (otherwise separate items) +""" + +ida_nalt.SWI_SHIFT_MASK +""" +use formula (element< 'qstring *, adiff_t *' + 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: displacement from the name (C++: adiff_t *) + @param n: number of operand n which the name appears (C++: int) + @param path: 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). (C++: const tid_t + *) + @param flags: the input flags. they will be returned if the struct + cannot be found. (C++: flags_t) + @param delta: delta to add to displacement (C++: adiff_t) + @param appzero: should append a struct field name if the displacement + is zero? (C++: bool) + @return: flags of the innermost struct member or the input flags + +Help on function calc_gtn_flags in module ida_name: + +calc_gtn_flags(fromaddr, ea) + Calculate flags for get_ea_name() function + + @param fromaddr: the referring address. May be BADADDR. + @param ea: linear address + + @return: flags + +Help on function cleanup_name in module ida_name: + +cleanup_name(*args) -> 'qstring *' + cleanup_name(ea, name, flags=0) -> str + +Help on function del_debug_names in module ida_name: + +del_debug_names(*args) -> 'void' + del_debug_names(ea1, ea2) + +Help on function del_global_name in module ida_name: + +del_global_name(*args) -> 'bool' + del_global_name(ea) -> bool + +Help on function del_local_name in module ida_name: + +del_local_name(*args) -> 'bool' + del_local_name(ea) -> bool + +Help on function demangle_name in module ida_name: + +demangle_name(*args) -> 'qstring *' + demangle_name(name, disable_mask, demreq=DQT_FULL) -> str + + + Demangle a name. + + @param name: name to demangle (C++: const char *) + @param disable_mask: bits to inhibit parts of demangled name (see + MNG_). by the M_COMPILER bits a specific compiler + can be selected (see MT_). (C++: uint32) + @param demreq (C++: demreq_type_t) + @return: ME_... or MT__ bitmasks from demangle.hpp + +Help on class ea_name_t in module ida_name: + +class ea_name_t(builtins.object) + | Proxy of C++ ea_name_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ea_name_t + | __init__(self, _ea, _name) -> ea_name_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ea_name_t(...) + | delete_ea_name_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | ea_name_t_ea_get(self) -> ea_t + | + | name + | ea_name_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on class ea_name_vec_t in module ida_name: + +class ea_name_vec_t(builtins.object) + | Proxy of C++ qvector< ea_name_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'ea_name_t const &' + | __getitem__(self, i) -> ea_name_t + | + | __init__(self, *args) + | __init__(self) -> ea_name_vec_t + | __init__(self, x) -> ea_name_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_ea_name_vec_t(...) + | delete_ea_name_vec_t(self) + | + | at(self, *args) -> 'ea_name_t const &' + | at(self, _idx) -> ea_name_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< ea_name_t >::const_iterator' + | begin(self) -> ea_name_t + | begin(self) -> ea_name_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< ea_name_t >::const_iterator' + | end(self) -> ea_name_t + | end(self) -> ea_name_t + | + | erase(self, *args) -> 'qvector< ea_name_t >::iterator' + | erase(self, it) -> ea_name_t + | erase(self, first, last) -> ea_name_t + | + | extract(self, *args) -> 'ea_name_t *' + | extract(self) -> ea_name_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=ea_name_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< ea_name_t >::iterator' + | insert(self, it, x) -> ea_name_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'ea_name_t &' + | push_back(self, x) + | push_back(self) -> ea_name_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function extract_name in module ida_name: + +extract_name(*args) -> 'qstring *' + extract_name(line, x) -> str + + + Extract a name or address from the specified string. + + @param line: input string (C++: const char *) + @param x: x coordinate of cursor (C++: int) + @return: -1 if cannot extract. otherwise length of the name + +Help on function force_name in module ida_name: + +force_name(*args) -> 'bool' + force_name(ea, name, flags=0) -> bool + +Help on function get_colored_demangled_name in module ida_name: + +get_colored_demangled_name(*args) -> 'qstring' + get_colored_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring + +Help on function get_colored_long_name in module ida_name: + +get_colored_long_name(*args) -> 'qstring' + get_colored_long_name(ea, gtn_flags=0) -> qstring + +Help on function get_colored_name in module ida_name: + +get_colored_name(*args) -> 'qstring' + get_colored_name(ea) -> qstring + +Help on function get_colored_short_name in module ida_name: + +get_colored_short_name(*args) -> 'qstring' + get_colored_short_name(ea, gtn_flags=0) -> qstring + +Help on function get_cp_validity in module ida_name: + +get_cp_validity(*args) -> 'bool' + 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) + @param cp (C++: wchar32_t) + @param endcp (C++: wchar32_t) + +Help on function get_debug_name in module ida_name: + +get_debug_name(*args) -> 'qstring *' + get_debug_name(ea_ptr, how) -> str + +Help on function get_debug_name_ea in module ida_name: + +get_debug_name_ea(*args) -> 'ea_t' + get_debug_name_ea(name) -> ea_t + +Help on function get_debug_names in module ida_name: + +get_debug_names(*args) -> 'PyObject *' + get_debug_names(names, ea1, ea2) + get_debug_names(ea1, ea2, return_list=False) -> PyObject * + +Help on function get_demangled_name in module ida_name: + +get_demangled_name(*args) -> 'qstring' + get_demangled_name(ea, inhibitor, demform, gtn_flags=0) -> qstring + +Help on function get_ea_name in module ida_name: + +get_ea_name(*args) -> 'qstring' + get_ea_name(ea, gtn_flags=0) -> qstring + + + Get name at the specified address. + + @param ea: linear address (C++: ea_t) + @param gtn_flags: how exactly the name should be retrieved. + combination of bits for get_ea_name() function. + There is a convenience bits (C++: int) + @return: success + +Help on function get_long_name in module ida_name: + +get_long_name(*args) -> 'qstring' + get_long_name(ea, gtn_flags=0) -> qstring + +Help on function get_name in module ida_name: + +get_name(*args) -> 'qstring' + get_name(ea) -> qstring + +Help on function get_name_base_ea in module ida_name: + +get_name_base_ea(*args) -> 'ea_t' + get_name_base_ea(_from, to) -> ea_t + + + Get address of the name used in the expression for the address + + @param _from: address of the operand which references to the address + (C++: ea_t) + @param to: the referenced address (C++: ea_t) + @return: address of the name used to represent the operand + +Help on function get_name_color in module ida_name: + +get_name_color(*args) -> 'color_t' + get_name_color(_from, ea) -> color_t + + + Calculate flags for 'get_ea_name()' function. + + Get name color. + + @param _from: 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. (C++: ea_t) + @param ea: linear address (C++: ea_t) + +Help on function get_name_ea in module ida_name: + +get_name_ea(*args) -> 'ea_t' + get_name_ea(_from, name) -> ea_t + + + Get address of the name. Dummy names (like byte_xxxx where xxxx are + hex digits) are parsed by this function to obtain the address. The + database is not consulted for them. This function works only with + regular names. + + @param _from: linear address where the name is used. if not + applicable, then should be BADADDR . (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: address of the name or BADADDR + +Help on function get_name_expr in module ida_name: + +get_name_expr(*args) -> 'qstring *' + get_name_expr(_from, n, ea, off, flags=0x0001) -> str + + + 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: 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. (C++: ea_t) + @param n: number of referencing operand. for data items specify 0 + (C++: int) + @param ea: address to convert to name expression (C++: ea_t) + @param off: 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. (C++: uval_t) + @param flags: Name expression flags (C++: int) + @return: < 0 if address is not valid, no segment or other failure. + otherwise the length of the name expression in characters. + +Help on function get_name_value in module ida_name: + +get_name_value(*args) -> 'uval_t *' + get_name_value(_from, name) -> int + + + Get value of the name. This function knows about: regular names, + enums, special segments, etc. + + @param _from: linear address where the name is used if not applicable, + then should be BADADDR (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: Name value result codes + +Help on function get_nice_colored_name in module ida_name: + +get_nice_colored_name(*args) -> 'qstring *' + get_nice_colored_name(ea, flags=0) -> str + + + Get a nice colored name at the specified address. Ex:segment:sub+offse + tsegment:sub:local_labelsegment:labelsegment:addresssegment:address+of + fset + + @param ea (C++: ea_t) + @param flags (C++: int) + @return: the length of the generated name in bytes. + +Help on function get_nlist_ea in module ida_name: + +get_nlist_ea(*args) -> 'ea_t' + get_nlist_ea(idx) -> ea_t + + + Get address from the list at 'idx'. + + + @param idx (C++: size_t) + +Help on function get_nlist_idx in module ida_name: + +get_nlist_idx(*args) -> 'size_t' + get_nlist_idx(ea) -> size_t + + + Get index of the name in the listreturns the closest match. may return + idx >= size. + + @param ea (C++: ea_t) + +Help on function get_nlist_name in module ida_name: + +get_nlist_name(*args) -> 'char const *' + get_nlist_name(idx) -> char const * + + + Get name using idx. + + + @param idx (C++: size_t) + +Help on function get_nlist_size in module ida_name: + +get_nlist_size(*args) -> 'size_t' + get_nlist_size() -> size_t + + + Get number of names in the list. + +Help on function get_short_name in module ida_name: + +get_short_name(*args) -> 'qstring' + get_short_name(ea, gtn_flags=0) -> qstring + +Help on function get_visible_name in module ida_name: + +get_visible_name(*args) -> 'qstring' + get_visible_name(ea, gtn_flags=0) -> qstring + +Help on function hide_name in module ida_name: + +hide_name(*args) -> 'void' + hide_name(ea) + + + Remove name from the list of names + + @param ea: address of the name (C++: ea_t) + +Help on function is_ident in module ida_name: + +is_ident(*args) -> 'bool' + is_ident(name) -> bool + + + Is a valid name? (including ::MangleChars) + + + @param name (C++: const char *) + +Help on function is_ident_cp in module ida_name: + +is_ident_cp(*args) -> 'bool' + is_ident_cp(cp) -> bool + + + Can a character appear in a name? (present in ::NameChars or + ::MangleChars) + + + @param cp (C++: wchar32_t) + +Help on function is_in_nlist in module ida_name: + +is_in_nlist(*args) -> 'bool' + is_in_nlist(ea) -> bool + + + Is name included into names list? + + + @param ea (C++: ea_t) + +Help on function is_name_defined_locally in module ida_name: + +is_name_defined_locally(*args) -> 'bool' + 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: pointer to function (C++: func_t *) + @param name: name to check (C++: const char *) + @param ignore_name_def: which names to ignore when checking (C++: + ignore_name_def_t) + @param ea1: the starting address of the range inside the function + (optional) (C++: ea_t) + @param ea2: the ending address of the range inside the function + (optional) (C++: ea_t) + @return: true if the name has been defined + +Help on function is_public_name in module ida_name: + +is_public_name(*args) -> 'bool' + is_public_name(ea) -> bool + +Help on function is_strlit_cp in module ida_name: + +is_strlit_cp(*args) -> 'bool' + 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 *) + +Help on function is_uname in module ida_name: + +is_uname(*args) -> 'bool' + is_uname(name) -> bool + + + Is valid user-specified name? (valid name & !dummy prefix). + + @param name: name to test. may be NULL. (C++: const char *) + +Help on function is_valid_cp in module ida_name: + +is_valid_cp(*args) -> 'bool' + 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) + @param data (C++: void *) + +Help on function is_valid_typename in module ida_name: + +is_valid_typename(*args) -> 'bool' + is_valid_typename(name) -> bool + + + Is valid type name? + + @param name: name to test. may be NULL. (C++: const char *) + +Help on function is_visible_cp in module ida_name: + +is_visible_cp(*args) -> 'bool' + is_visible_cp(cp) -> bool + + + Can a character be displayed in a name? (present in ::NameChars) + + + @param cp (C++: wchar32_t) + +Help on function is_weak_name in module ida_name: + +is_weak_name(*args) -> 'bool' + is_weak_name(ea) -> bool + +Help on function make_name_auto in module ida_name: + +make_name_auto(*args) -> 'bool' + make_name_auto(ea) -> bool + +Help on function make_name_non_public in module ida_name: + +make_name_non_public(*args) -> 'void' + make_name_non_public(ea) + +Help on function make_name_non_weak in module ida_name: + +make_name_non_weak(*args) -> 'void' + make_name_non_weak(ea) + +Help on function make_name_public in module ida_name: + +make_name_public(*args) -> 'void' + make_name_public(ea) + +Help on function make_name_user in module ida_name: + +make_name_user(*args) -> 'bool' + make_name_user(ea) -> bool + +Help on function make_name_weak in module ida_name: + +make_name_weak(*args) -> 'void' + make_name_weak(ea) + +Help on function rebuild_nlist in module ida_name: + +rebuild_nlist(*args) -> 'void' + rebuild_nlist() + + + Rebuild names list. + +Help on function reorder_dummy_names in module ida_name: + +reorder_dummy_names(*args) -> 'void' + reorder_dummy_names() + + + Renumber dummy names. + +Help on function set_cp_validity in module ida_name: + +set_cp_validity(*args) -> 'void' + 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) + @param cp (C++: wchar32_t) + @param endcp (C++: wchar32_t) + @param valid (C++: bool) + +Help on function set_debug_name in module ida_name: + +set_debug_name(*args) -> 'bool' + set_debug_name(ea, name) -> bool + +Help on function set_dummy_name in module ida_name: + +set_dummy_name(*args) -> 'bool' + set_dummy_name(_from, ea) -> bool + + + Give an autogenerated (dummy) name. Autogenerated names have special + prefixes (loc_...). + + @param _from: linear address of the operand which references to the + address (C++: ea_t) + @param ea: linear address (C++: ea_t) + +Help on function set_name in module ida_name: + +set_name(*args) -> 'bool' + 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: linear address. do nothing if ea is not valid (return 0). + tail bytes can't have names. (C++: ea_t) + @param name: new name. NULL: do nothing (return 0). "" : delete + name. otherwise this is a new name. (C++: const char *) + @param flags: 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. (C++: int) + +Help on function show_name in module ida_name: + +show_name(*args) -> 'void' + show_name(ea) + + + Insert name to the list of names. + + + @param ea (C++: ea_t) + +Help on function validate_name in module ida_name: + +validate_name(*args) -> 'PyObject *' + validate_name(name, type, flags=0) -> PyObject * + + + Validate a name. 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: ptr to name. the name will be modified (C++: qstring *) + @param type: the type of name we want to validate (C++: nametype_t) + @param flags: see SN_* . Only SN_IDBENC is currently considered (C++: + int) + @return: success + +=== ida_name EPYDOC INJECTIONS === +ida_name.FUNC_IMPORT_PREFIX +""" +Name prefix used by IDA for the imported functions. +""" + +ida_name.GETN_APPZERO +""" +append a struct field name if the field offset is zero? + +meaningful only if the name refers to a structure. +""" + +ida_name.GETN_NODUMMY +""" +do not create a new dummy name but pretend it exists +""" + +ida_name.GETN_NOFIXUP +""" +ignore the fixup information when producing the name +""" + +ida_name.GNCN_NOCOLOR +""" +generate an uncolored name +""" + +ida_name.GNCN_NODBGNM +""" +don't use debug names +""" + +ida_name.GNCN_NOFUNC +""" +don't generate funcname+... expressions +""" + +ida_name.GNCN_NOLABEL +""" +don't generate labels +""" + +ida_name.GNCN_NOSEG +""" +ignore the segment prefix when producing the name +""" + +ida_name.GNCN_PREFDBG +""" +if using debug names, prefer debug names over function names +""" + +ida_name.GNCN_REQFUNC +""" +return 0 if the address does not belong to a function +""" + +ida_name.GNCN_REQNAME +""" +return 0 if the address can only be represented as a hex number +""" + +ida_name.GNCN_SEGNUM +""" +segment part is displayed as a hex number +""" + +ida_name.GNCN_SEG_FUNC +""" +generate both segment and function names (default is to omit segment +name if a function name is present) +""" + +ida_name.GN_COLORED +""" +return colored name +""" + +ida_name.GN_DEMANGLED +""" +return demangled name +""" + +ida_name.GN_ISRET +""" +for dummy names: use retloc +""" + +ida_name.GN_LOCAL +""" +try to get local name first; if failed, get global +""" + +ida_name.GN_LONG +""" +use long form of demangled name +""" + +ida_name.GN_NOT_DUMMY +""" +do not return a dummy name +""" + +ida_name.GN_NOT_ISRET +""" +for dummy names: do not use retloc +""" + +ida_name.GN_SHORT +""" +use short form of demangled name +""" + +ida_name.GN_STRICT +""" +fail if cannot demangle +""" + +ida_name.GN_VISIBLE +""" +replace forbidden characters by SUBSTCHAR +""" + +ida_name.MAXNAMELEN +""" +Maximum length of a name in IDA (with the trailing zero) +""" + +ida_name.NT_ABS +""" +name is absolute symbol ( 'SEG_ABSSYM' ) +""" + +ida_name.NT_BMASK +""" +name is a bit group mask name +""" + +ida_name.NT_BYTE +""" +name is byte name (regular name) +""" + +ida_name.NT_ENUM +""" +name is symbolic constant +""" + +ida_name.NT_LOCAL +""" +name is local label +""" + +ida_name.NT_NONE +""" +name doesn't exist or has no value +""" + +ida_name.NT_REGVAR +""" +name is a renamed register (*value is idx into pfn->regvars) +""" + +ida_name.NT_SEG +""" +name is segment or segment register name +""" + +ida_name.NT_STKVAR +""" +name is stack variable name +""" + +ida_name.NT_STROFF +""" +name is structure member +""" + +ida_name.SN_AUTO +""" +if set, make name autogenerated +""" + +ida_name.SN_DELTAIL +""" +delete the hindering item + +if name cannot be set because of a tail byte, +""" + +ida_name.SN_FORCE +""" +if the specified name is already present in the database, try +variations with a numerical suffix like "_123" +""" + +ida_name.SN_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly. Specifying SN_IDBENC also implies SN_NODUMMY +""" + +ida_name.SN_LOCAL +""" +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. +""" + +ida_name.SN_NOCHECK +""" +Don't fail if the name contains invalid characters. If this bit is +clear, all invalid chars (those !is_ident_cp()) will be replaced by +SUBSTCHAR List of valid characters is defined in ida.cfg +""" + +ida_name.SN_NODUMMY +""" +automatically prepend the name with '_' if it begins with a dummy +suffix such as 'sub_'. See also SN_IDBENC +""" + +ida_name.SN_NOLIST +""" +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). +""" + +ida_name.SN_NON_AUTO +""" +if set, make name non-autogenerated +""" + +ida_name.SN_NON_PUBLIC +""" +if set, make name non-public +""" + +ida_name.SN_NON_WEAK +""" +if set, make name non-weak +""" + +ida_name.SN_NOWARN +""" +don't display a warning if failed +""" + +ida_name.SN_PUBLIC +""" +if set, make name public +""" + +ida_name.SN_WEAK +""" +if set, make name weak +""" +=== ida_name EPYDOC INJECTIONS END === +Help on function exist in module ida_netnode: + +exist(*args) -> 'bool' + exist(n) -> bool + +Help on class netnode in module ida_netnode: + +class netnode(builtins.object) + | Proxy of C++ netnode class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, n) -> bool + | __eq__(self, x) -> bool + | + | __init__(self, *args) + | __init__(self) -> netnode + | __init__(self, num) -> netnode + | __init__(self, _name, namlen=0, do_create=False) -> netnode + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, n) -> bool + | __ne__(self, x) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_netnode(...) + | delete_netnode(self) + | + | altdel(self, *args) -> 'bool' + | altdel(self, alt, tag=atag) -> bool + | altdel(self) -> bool + | + | altdel_all(self, *args) -> 'bool' + | altdel_all(self, tag) -> bool + | + | altdel_ea(self, *args) -> 'bool' + | altdel_ea(self, ea, tag=atag) -> bool + | + | altdel_idx8(self, *args) -> 'bool' + | altdel_idx8(self, alt, tag) -> bool + | + | altfirst(self, *args) -> 'nodeidx_t' + | altfirst(self, tag=atag) -> nodeidx_t + | + | altfirst_idx8(self, *args) -> 'nodeidx_t' + | altfirst_idx8(self, tag) -> nodeidx_t + | + | altlast(self, *args) -> 'nodeidx_t' + | altlast(self, tag=atag) -> nodeidx_t + | + | altlast_idx8(self, *args) -> 'nodeidx_t' + | altlast_idx8(self, tag) -> nodeidx_t + | + | altnext(self, *args) -> 'nodeidx_t' + | altnext(self, cur, tag=atag) -> nodeidx_t + | + | altnext_idx8(self, *args) -> 'nodeidx_t' + | altnext_idx8(self, cur, tag) -> nodeidx_t + | + | altprev(self, *args) -> 'nodeidx_t' + | altprev(self, cur, tag=atag) -> nodeidx_t + | + | altprev_idx8(self, *args) -> 'nodeidx_t' + | altprev_idx8(self, cur, tag) -> nodeidx_t + | + | altset(self, *args) -> 'bool' + | altset(self, alt, value, tag=atag) -> bool + | + | altset_ea(self, *args) -> 'bool' + | altset_ea(self, ea, value, tag=atag) -> bool + | + | altset_idx8(self, *args) -> 'bool' + | altset_idx8(self, alt, val, tag) -> bool + | + | altshift(self, *args) -> 'size_t' + | altshift(self, _from, to, size, tag=atag) -> size_t + | + | altval(self, *args) -> 'nodeidx_t' + | altval(self, alt, tag=atag) -> nodeidx_t + | + | altval_ea(self, *args) -> 'nodeidx_t' + | altval_ea(self, ea, tag=atag) -> nodeidx_t + | + | altval_idx8(self, *args) -> 'nodeidx_t' + | altval_idx8(self, alt, tag) -> nodeidx_t + | + | blobsize(self, *args) -> 'size_t' + | blobsize(self, _start, tag) -> size_t + | + | blobsize_ea(self, *args) -> 'size_t' + | blobsize_ea(self, ea, tag) -> size_t + | + | chardel(self, *args) -> 'bool' + | chardel(self, alt, tag) -> bool + | + | chardel_ea(self, *args) -> 'bool' + | chardel_ea(self, ea, tag) -> bool + | + | chardel_idx8(self, *args) -> 'bool' + | chardel_idx8(self, alt, tag) -> bool + | + | charfirst(self, *args) -> 'nodeidx_t' + | charfirst(self, tag) -> nodeidx_t + | + | charfirst_idx8(self, *args) -> 'nodeidx_t' + | charfirst_idx8(self, tag) -> nodeidx_t + | + | charlast(self, *args) -> 'nodeidx_t' + | charlast(self, tag) -> nodeidx_t + | + | charlast_idx8(self, *args) -> 'nodeidx_t' + | charlast_idx8(self, tag) -> nodeidx_t + | + | charnext(self, *args) -> 'nodeidx_t' + | charnext(self, cur, tag) -> nodeidx_t + | + | charnext_idx8(self, *args) -> 'nodeidx_t' + | charnext_idx8(self, cur, tag) -> nodeidx_t + | + | charprev(self, *args) -> 'nodeidx_t' + | charprev(self, cur, tag) -> nodeidx_t + | + | charprev_idx8(self, *args) -> 'nodeidx_t' + | charprev_idx8(self, cur, tag) -> nodeidx_t + | + | charset(self, *args) -> 'bool' + | charset(self, alt, val, tag) -> bool + | + | charset_ea(self, *args) -> 'bool' + | charset_ea(self, ea, val, tag) -> bool + | + | charset_idx8(self, *args) -> 'bool' + | charset_idx8(self, alt, val, tag) -> bool + | + | charshift(self, *args) -> 'size_t' + | charshift(self, _from, to, size, tag) -> size_t + | + | charval(self, *args) -> 'uchar' + | charval(self, alt, tag) -> uchar + | + | charval_ea(self, *args) -> 'uchar' + | charval_ea(self, ea, tag) -> uchar + | + | charval_idx8(self, *args) -> 'uchar' + | charval_idx8(self, alt, tag) -> uchar + | + | copyto(self, *args) -> 'size_t' + | copyto(self, target, count=1) -> size_t + | + | create(self, *args) -> 'bool' + | create(self, _name, namlen=0) -> bool + | create(self) -> bool + | + | delblob(self, *args) -> 'int' + | delblob(self, _start, tag) -> int + | + | delblob_ea(self, *args) -> 'int' + | delblob_ea(self, ea, tag) -> int + | + | delvalue(self, *args) -> 'bool' + | delvalue(self) -> bool + | + | eadel(self, *args) -> 'bool' + | eadel(self, ea, tag) -> bool + | + | eadel_idx8(self, *args) -> 'bool' + | eadel_idx8(self, idx, tag) -> bool + | + | eaget(self, *args) -> 'ea_t' + | eaget(self, ea, tag) -> ea_t + | + | eaget_idx(self, *args) -> 'ea_t' + | eaget_idx(self, idx, tag) -> ea_t + | + | eaget_idx8(self, *args) -> 'ea_t' + | eaget_idx8(self, idx, tag) -> ea_t + | + | easet(self, *args) -> 'bool' + | easet(self, ea, addr, tag) -> bool + | + | easet_idx(self, *args) -> 'bool' + | easet_idx(self, idx, addr, tag) -> bool + | + | easet_idx8(self, *args) -> 'bool' + | easet_idx8(self, idx, addr, tag) -> bool + | + | end(self, *args) -> 'bool' + | end(self) -> bool + | + | get_name(self, *args) -> 'ssize_t' + | get_name(self) -> ssize_t + | + | getblob(self, *args) -> 'PyObject *' + | getblob(self, start, tag) -> PyObject * + | + | getblob_ea(self, *args) -> 'PyObject *' + | getblob_ea(self, ea, tag) -> PyObject * + | + | getclob(self, *args) -> 'PyObject *' + | getclob(self, start, tag) -> PyObject * + | + | hashdel(self, *args) -> 'bool' + | hashdel(self, idx, tag=htag) -> bool + | + | hashdel_all(self, *args) -> 'bool' + | hashdel_all(self, tag=htag) -> bool + | + | hashfirst(self, *args) -> 'ssize_t' + | hashfirst(self, tag=htag) -> ssize_t + | + | hashlast(self, *args) -> 'ssize_t' + | hashlast(self, tag=htag) -> ssize_t + | + | hashnext(self, *args) -> 'ssize_t' + | hashnext(self, idx, tag=htag) -> ssize_t + | + | hashprev(self, *args) -> 'ssize_t' + | hashprev(self, idx, tag=htag) -> ssize_t + | + | hashset(self, *args) -> 'bool' + | hashset(self, idx, value, tag=htag) -> bool + | + | hashset_buf(self, *args) -> 'bool' + | hashset_buf(self, idx, py_str, tag=htag) -> bool + | + | hashset_idx(self, *args) -> 'bool' + | hashset_idx(self, idx, value, tag=htag) -> bool + | + | hashstr(self, *args) -> 'ssize_t' + | hashstr(self, idx, tag=htag) -> ssize_t + | + | hashstr_buf(self, *args) -> 'PyObject *' + | hashstr_buf(self, idx, tag=htag) -> PyObject * + | + | hashval(self, *args) -> 'ssize_t' + | hashval(self, idx, tag=htag) -> ssize_t + | + | hashval_long(self, *args) -> 'nodeidx_t' + | hashval_long(self, idx, tag=htag) -> nodeidx_t + | + | index(self, *args) -> 'nodeidx_t' + | index(self) -> nodeidx_t + | + | kill(self, *args) -> 'void' + | kill(self) + | + | long_value(self, *args) -> 'nodeidx_t' + | long_value(self) -> nodeidx_t + | + | lower_bound(self, *args) -> 'nodeidx_t' + | lower_bound(self, cur, tag=stag) -> nodeidx_t + | + | lower_bound_ea(self, *args) -> 'nodeidx_t' + | lower_bound_ea(self, ea, tag=stag) -> nodeidx_t + | + | lower_bound_idx8(self, *args) -> 'nodeidx_t' + | lower_bound_idx8(self, alt, tag) -> nodeidx_t + | + | moveto(self, *args) -> 'size_t' + | moveto(self, target, count=1) -> size_t + | + | next(self, *args) -> 'bool' + | next(self) -> bool + | + | prev(self, *args) -> 'bool' + | prev(self) -> bool + | + | rename(self, *args) -> 'bool' + | rename(self, newname, namlen=0) -> bool + | + | set(self, *args) -> 'bool' + | set(self, value) -> bool + | + | set_long(self, *args) -> 'bool' + | set_long(self, x) -> bool + | + | setblob(self, *args) -> 'bool' + | setblob(self, buf, _start, tag) -> bool + | + | setblob_ea(self, *args) -> 'bool' + | setblob_ea(self, buf, ea, tag) -> bool + | + | start(self, *args) -> 'bool' + | start(self) -> bool + | + | supdel(self, *args) -> 'bool' + | supdel(self, alt, tag=stag) -> bool + | supdel(self) -> bool + | + | supdel_all(self, *args) -> 'bool' + | supdel_all(self, tag) -> bool + | + | supdel_ea(self, *args) -> 'bool' + | supdel_ea(self, ea, tag=stag) -> bool + | + | supdel_idx8(self, *args) -> 'bool' + | supdel_idx8(self, alt, tag) -> bool + | + | supdel_range(self, *args) -> 'int' + | supdel_range(self, idx1, idx2, tag) -> int + | + | supdel_range_idx8(self, *args) -> 'int' + | supdel_range_idx8(self, idx1, idx2, tag) -> int + | + | supfirst(self, *args) -> 'nodeidx_t' + | supfirst(self, tag=stag) -> nodeidx_t + | + | supfirst_idx8(self, *args) -> 'nodeidx_t' + | supfirst_idx8(self, tag) -> nodeidx_t + | + | suplast(self, *args) -> 'nodeidx_t' + | suplast(self, tag=stag) -> nodeidx_t + | + | suplast_idx8(self, *args) -> 'nodeidx_t' + | suplast_idx8(self, tag) -> nodeidx_t + | + | supnext(self, *args) -> 'nodeidx_t' + | supnext(self, cur, tag=stag) -> nodeidx_t + | + | supnext_idx8(self, *args) -> 'nodeidx_t' + | supnext_idx8(self, alt, tag) -> nodeidx_t + | + | supprev(self, *args) -> 'nodeidx_t' + | supprev(self, cur, tag=stag) -> nodeidx_t + | + | supprev_idx8(self, *args) -> 'nodeidx_t' + | supprev_idx8(self, alt, tag) -> nodeidx_t + | + | supset(self, *args) -> 'bool' + | supset(self, alt, value, tag=stag) -> bool + | supset(self, alt, value, tag=stag) -> bool + | + | supset_ea(self, *args) -> 'bool' + | supset_ea(self, ea, value, tag=stag) -> bool + | supset_ea(self, ea, value, tag=stag) -> bool + | + | supset_idx8(self, *args) -> 'bool' + | supset_idx8(self, alt, value, tag) -> bool + | + | supshift(self, *args) -> 'size_t' + | supshift(self, _from, to, size, tag=stag) -> size_t + | + | supstr(self, *args) -> 'ssize_t' + | supstr(self, alt, tag=stag) -> ssize_t + | + | supstr_ea(self, *args) -> 'ssize_t' + | supstr_ea(self, ea, tag=stag) -> ssize_t + | + | supstr_idx8(self, *args) -> 'ssize_t' + | supstr_idx8(self, alt, tag) -> ssize_t + | + | supval(self, *args) -> 'ssize_t' + | supval(self, alt, tag=stag) -> ssize_t + | + | supval_ea(self, *args) -> 'ssize_t' + | supval_ea(self, ea, tag=stag) -> ssize_t + | + | supval_idx8(self, *args) -> 'ssize_t' + | supval_idx8(self, alt, tag) -> ssize_t + | + | valobj(self, *args) -> 'ssize_t' + | valobj(self) -> ssize_t + | + | valstr(self, *args) -> 'ssize_t' + | valstr(self) -> ssize_t + | + | value_exists(self, *args) -> 'bool' + | value_exists(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +=== ida_netnode EPYDOC INJECTIONS === +ida_netnode.BADNODE +""" +A number to represent a bad netnode reference. +""" +=== ida_netnode EPYDOC INJECTIONS END === +Help on function add_refinfo_dref in module ida_offset: + +add_refinfo_dref(*args) -> 'ea_t' + 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: the referencing instruction (C++: const insn_t &) + @param _from: the referencing instruction/data address (C++: ea_t) + @param ri: reference info block from the database (C++: const + refinfo_t &) + @param opval: operand value (usually op_t::value or op_t::addr ) + (C++: adiff_t) + @param type: type of xref (C++: dref_t) + @param opoff: offset of the operand from the start of instruction + (C++: int) + @return: the target address of the reference + +Help on function calc_basevalue in module ida_offset: + +calc_basevalue(*args) -> 'ea_t' + calc_basevalue(target, base) -> ea_t + + + Calculate the value of the reference base. + + + @param target (C++: ea_t) + @param base (C++: ea_t) + +Help on function calc_offset_base in module ida_offset: + +calc_offset_base(*args) -> 'ea_t' + 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: the referencing instruction/data address (C++: ea_t) + @param n: operand number 0: first operand 1: other operand (C++: + int) + @return: output base address or BADADDR + +Help on function calc_probable_base_by_value in module ida_offset: + +calc_probable_base_by_value(*args) -> 'ea_t' + 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) + +Help on function calc_reference_data in module ida_offset: + +calc_reference_data(*args) -> 'bool' + 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: output target address (C++: ea_t *) + @param base: output base address (C++: ea_t *) + @param _from: the referencing instruction/data address (C++: ea_t) + @param ri: reference info block from the database (C++: const + refinfo_t &) + @param opval: operand value (usually op_t::value or op_t::addr ) + (C++: adiff_t) + @return: success + +Help on function calc_target in module ida_offset: + +calc_target(*args) -> 'ea_t' + calc_target(_from, opval, ri) -> ea_t + calc_target(_from, ea, n, opval) -> ea_t + + + Calculates the target, using the provided 'refinfo_t' . + + + @param _from (C++: ea_t) + @param opval (C++: adiff_t) + @param ri (C++: const refinfo_t &) + +Help on function can_be_off32 in module ida_offset: + +can_be_off32(*args) -> 'ea_t' + 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) + +Help on function get_default_reftype in module ida_offset: + +get_default_reftype(*args) -> 'reftype_t' + 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 + +Help on function get_offbase in module ida_offset: + +get_offbase(*args) -> 'ea_t' + get_offbase(ea, n) -> ea_t + + + Get offset base value + + @param ea: linear address (C++: ea_t) + @param n: number of operand (C++: int) + @return: offset base or BADADDR + +Help on function get_offset_expr in module ida_offset: + +get_offset_expr(*args) -> 'qstring *' + get_offset_expr(ea, n, ri, _from, offset, getn_flags=0) -> str + + + See 'get_offset_expression()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param ri (C++: const refinfo_t &) + @param _from (C++: ea_t) + @param offset (C++: adiff_t) + @param getn_flags (C++: int) + +Help on function get_offset_expression in module ida_offset: + +get_offset_expression(*args) -> 'qstring *' + get_offset_expression(ea, n, _from, offset, getn_flags=0) -> str + + + Get offset expression (in the form "offset name+displ"). This function + uses offset translation function (\ph{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: \v{mov ax, [bx+7422h]} and + at ds:7422h: \v{array dw ...} We want to represent the second operand + with an offset expression, so then we call: \v{ + 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: \v{offset + array} + + @param ea: start of instruction or data with the offset expression + (C++: ea_t) + @param n: number of operand (may be ORed with OPND_OUTER ) 0: first + operand 1: second operand (C++: int) + @param _from: 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. (C++: ea_t) + @param offset: value of operand or its part. The function will return + text representation of this value as offset expression. + (C++: adiff_t) + @param getn_flags: 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) (C++: int) + +Help on function op_offset in module ida_offset: + +op_offset(*args) -> 'int' + op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int + + + See 'op_offset_ex()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param type (C++: reftype_t) + @param target (C++: ea_t) + @param base (C++: ea_t) + @param tdelta (C++: adiff_t) + +Help on function op_offset_ex in module ida_offset: + +op_offset_ex(*args) -> 'int' + op_offset_ex(ea, n, ri) -> int + + + Convert operand to a reference. To delete an offset, use + 'clr_op_type()' function. + + @param ea: 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 (C++: ea_t) + @param n: number of operand (may be ORed with OPND_OUTER ) 0: first + 1: second 2: third OPND_MASK : all operands (C++: int) + @param ri: reference information (C++: const refinfo_t *) + @return: success + +Help on function op_plain_offset in module ida_offset: + +op_plain_offset(*args) -> 'bool' + 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) + +Help on class __qmutex_t in module ida_pro: + +class __qmutex_t(builtins.object) + | Proxy of C++ __qmutex_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qmutex_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete___qmutex_t(...) + | delete___qmutex_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class __qsemaphore_t in module ida_pro: + +class __qsemaphore_t(builtins.object) + | Proxy of C++ __qsemaphore_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qsemaphore_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete___qsemaphore_t(...) + | delete___qsemaphore_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class __qthread_t in module ida_pro: + +class __qthread_t(builtins.object) + | Proxy of C++ __qthread_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> __qthread_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete___qthread_t(...) + | delete___qthread_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class _qstrvec_t in module ida_pro: + +class _qstrvec_t(ida_idaapi.py_clinked_object_t) + | WARNING: It is very unlikely an IDAPython user should ever, ever + | have to use this type. It should only be used for IDAPython internals. + | + | For example, in py_askusingform.py, we ctypes-expose to the IDA + | kernel & UI a qstrvec instance, in case a DropdownListControl is + | constructed. + | That's because that's what ask_form expects, and we have no + | choice but to make a DropdownListControl hold a qstrvec_t. + | This is, afaict, the only situation where a Python + | _qstrvec_t is required. + | + | Method resolution order: + | _qstrvec_t + | ida_idaapi.py_clinked_object_t + | ida_idaapi.pyidc_opaque_object_t + | builtins.object + | + | Methods defined here: + | + | __getitem__(self, idx) + | Gets the string at the given index + | + | __init__(self, items=None) + | Initialize self. See help(type(self)) for accurate signature. + | + | __setitem__(self, idx, s) + | Sets string at the given index + | + | _create_clink(self) + | Overwrite me. + | Creates a new clink + | @return: PyCapsule representing the C link + | + | _del_clink(self, lnk) + | Overwrite me. + | This method deletes the link + | + | _get_clink_ptr(self) + | Overwrite me. + | Returns the C link pointer as a 64bit number + | + | _qstrvec_t__get_size = __get_size(self) + | + | add(self, s) + | Add a string to the vector + | + | addressof(self, idx) + | Returns the address (as number) of the qstring at the given index + | + | assign(self, other) + | Copies the contents of 'other' to 'self' + | + | clear(self, qclear=False) + | Clears all strings from the vector. + | @param qclear: Just reset the size but do not actually free the memory + | + | from_list(self, lst) + | Populates the vector from a Python string list + | + | insert(self, idx, s) + | Insert a string into the vector + | + | remove(self, idx) + | Removes a string from the vector + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | size + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_idaapi.py_clinked_object_t: + | + | __del__(self) + | Delete the link upon object destruction (only if not static) + | + | _free(self) + | Explicitly delete the link (only if not static) + | + | copy(self) + | Returns a new copy of this class + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.py_clinked_object_t: + | + | clink + | + | clink_ptr + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_idaapi.pyidc_opaque_object_t: + | + | __idc_cvt_id__ = 2 + +Help on class boolvec_t in module ida_pro: + +class boolvec_t(builtins.object) + | Proxy of C++ qvector< bool > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'bool const &' + | __getitem__(self, i) -> bool const & + | + | __init__(self, *args) + | __init__(self) -> boolvec_t + | __init__(self, x) -> boolvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_boolvec_t(...) + | delete_boolvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'bool &' + | + | at = __getitem__(self, *args) -> 'bool const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< bool >::const_iterator' + | begin(self) -> qvector< bool >::iterator + | begin(self) -> qvector< bool >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< bool >::const_iterator' + | end(self) -> qvector< bool >::iterator + | end(self) -> qvector< bool >::const_iterator + | + | erase(self, *args) -> 'qvector< bool >::iterator' + | erase(self, it) -> qvector< bool >::iterator + | erase(self, first, last) -> qvector< bool >::iterator + | + | extract(self, *args) -> 'bool *' + | extract(self) -> bool * + | + | find(self, *args) -> 'qvector< bool >::const_iterator' + | find(self, x) -> qvector< bool >::iterator + | find(self, x) -> qvector< bool >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=bool()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< bool >::iterator' + | insert(self, it, x) -> qvector< bool >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'bool &' + | push_back(self, x) + | push_back(self) -> bool & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class channel_redir_t in module ida_pro: + +class channel_redir_t(builtins.object) + | Proxy of C++ channel_redir_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> channel_redir_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_channel_redir_t(...) + | delete_channel_redir_t(self) + | + | is_append(self, *args) -> 'bool' + | is_append(self) -> bool + | + | is_input(self, *args) -> 'bool' + | is_input(self) -> bool + | + | is_output(self, *args) -> 'bool' + | is_output(self) -> bool + | + | is_quoted(self, *args) -> 'bool' + | is_quoted(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fd + | channel_redir_t_fd_get(self) -> int + | + | file + | channel_redir_t_file_get(self) -> qstring * + | + | flags + | channel_redir_t_flags_get(self) -> int + | + | length + | channel_redir_t_length_get(self) -> int + | + | start + | channel_redir_t_start_get(self) -> int + | + | thisown + | The membership flag + +Help on function check_process_exit in module ida_pro: + +check_process_exit(*args) -> 'int' + check_process_exit(handle, exit_code, msecs=-1) -> int + + + Check whether process has terminated or not. + + @param handle: process handle to wait for (C++: void *) + @param exit_code: pointer to the buffer for the exit code (C++: int *) + +Help on function clear_bits in module ida_pro: + +clear_bits(*args) -> 'void' + clear_bits(bitmap, low, high) + + + Clear bits between [low, high) in 'bitmap'. + + + @param bitmap (C++: uchar *) + @param low (C++: size_t) + @param high (C++: size_t) + +Help on class ea_array in module ida_pro: + +class ea_array(builtins.object) + | Proxy of C++ ea_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'ea_t' + | __getitem__(self, index) -> ea_t + | + | __init__(self, *args) + | __init__(self, nelements) -> ea_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, index, value) + | + | __swig_destroy__ = delete_ea_array(...) + | delete_ea_array(self) + | + | cast(self, *args) -> 'ea_t *' + | cast(self) -> ea_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'ea_array *' + | frompointer(t) -> ea_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function ea_array_frompointer in module ida_pro: + +ea_array_frompointer(*args) -> 'ea_array *' + ea_array_frompointer(t) -> ea_array + +Help on class ea_pointer in module ida_pro: + +class ea_pointer(builtins.object) + | Proxy of C++ ea_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> ea_pointer + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ea_pointer(...) + | delete_ea_pointer(self) + | + | assign(self, *args) -> 'void' + | assign(self, value) + | + | cast(self, *args) -> 'ea_t *' + | cast(self) -> ea_t * + | + | value(self, *args) -> 'ea_t' + | value(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'ea_pointer *' + | frompointer(t) -> ea_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function ea_pointer_frompointer in module ida_pro: + +ea_pointer_frompointer(*args) -> 'ea_pointer *' + ea_pointer_frompointer(t) -> ea_pointer + +Help on function extend_sign in module ida_pro: + +extend_sign(*args) -> 'uint64' + 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) + +Help on class instant_dbgopts_t in module ida_pro: + +class instant_dbgopts_t(builtins.object) + | Proxy of C++ instant_dbgopts_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> instant_dbgopts_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_instant_dbgopts_t(...) + | delete_instant_dbgopts_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | _pass + | instant_dbgopts_t__pass_get(self) -> qstring * + | + | attach + | instant_dbgopts_t_attach_get(self) -> bool + | + | debmod + | instant_dbgopts_t_debmod_get(self) -> qstring * + | + | env + | instant_dbgopts_t_env_get(self) -> qstring * + | + | event_id + | instant_dbgopts_t_event_id_get(self) -> int + | + | host + | instant_dbgopts_t_host_get(self) -> qstring * + | + | pid + | instant_dbgopts_t_pid_get(self) -> int + | + | port + | instant_dbgopts_t_port_get(self) -> int + | + | thisown + | The membership flag + +Help on class longlongvec_t in module ida_pro: + +class longlongvec_t(builtins.object) + | Proxy of C++ qvector< long long > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'long long const &' + | __getitem__(self, i) -> long long const & + | + | __init__(self, *args) + | __init__(self) -> longlongvec_t + | __init__(self, x) -> longlongvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_longlongvec_t(...) + | delete_longlongvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'long long &' + | + | at = __getitem__(self, *args) -> 'long long const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< long long >::const_iterator' + | begin(self) -> qvector< long long >::iterator + | begin(self) -> qvector< long long >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< long long >::const_iterator' + | end(self) -> qvector< long long >::iterator + | end(self) -> qvector< long long >::const_iterator + | + | erase(self, *args) -> 'qvector< long long >::iterator' + | erase(self, it) -> qvector< long long >::iterator + | erase(self, first, last) -> qvector< long long >::iterator + | + | extract(self, *args) -> 'long long *' + | extract(self) -> long long * + | + | find(self, *args) -> 'qvector< long long >::const_iterator' + | find(self, x) -> qvector< long long >::iterator + | find(self, x) -> qvector< long long >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< long long >::iterator' + | insert(self, it, x) -> qvector< long long >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'long long &' + | push_back(self, x) + | push_back(self) -> long long & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class int_pointer in module ida_pro: + +class int_pointer(builtins.object) + | Proxy of C++ int_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> int_pointer + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_int_pointer(...) + | delete_int_pointer(self) + | + | assign(self, *args) -> 'void' + | assign(self, value) + | + | cast(self, *args) -> 'int *' + | cast(self) -> int * + | + | value(self, *args) -> 'int' + | value(self) -> int + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'int_pointer *' + | frompointer(t) -> int_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function int_pointer_frompointer in module ida_pro: + +int_pointer_frompointer(*args) -> 'int_pointer *' + int_pointer_frompointer(t) -> int_pointer + +Help on class intvec_t in module ida_pro: + +class intvec_t(builtins.object) + | Proxy of C++ qvector< int > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'int const &' + | __getitem__(self, i) -> int const & + | + | __init__(self, *args) + | __init__(self) -> intvec_t + | __init__(self, x) -> intvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_intvec_t(...) + | delete_intvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'int &' + | + | at = __getitem__(self, *args) -> 'int const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< int >::const_iterator' + | begin(self) -> qvector< int >::iterator + | begin(self) -> qvector< int >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< int >::const_iterator' + | end(self) -> qvector< int >::iterator + | end(self) -> qvector< int >::const_iterator + | + | erase(self, *args) -> 'qvector< int >::iterator' + | erase(self, it) -> qvector< int >::iterator + | erase(self, first, last) -> qvector< int >::iterator + | + | extract(self, *args) -> 'int *' + | extract(self) -> int * + | + | find(self, *args) -> 'qvector< int >::const_iterator' + | find(self, x) -> qvector< int >::iterator + | find(self, x) -> qvector< int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< int >::iterator' + | insert(self, it, x) -> qvector< int >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'int &' + | push_back(self, x) + | push_back(self) -> int & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function is_control_tty in module ida_pro: + +is_control_tty(*args) -> 'enum tty_control_t' + 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) + +Help on function is_main_thread in module ida_pro: + +is_main_thread(*args) -> 'bool' + is_main_thread() -> bool + + + Are we running in the main thread? + +Help on function log2ceil in module ida_pro: + +log2ceil(*args) -> 'int' + log2ceil(d64) -> int + + + calculate ceil(log2(d64)) or floor(log2(d64)), it returns 0 if d64 == + 0 + + @param d64 (C++: uint64) + +Help on function log2floor in module ida_pro: + +log2floor(*args) -> 'int' + log2floor(d64) -> int + +Help on function parse_dbgopts in module ida_pro: + +parse_dbgopts(*args) -> 'bool' + 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 *) + @param r_switch (C++: const char *) + @return: true-ok, false-parse error + +Help on function qatoll in module ida_pro: + +qatoll(*args) -> 'int64' + qatoll(nptr) -> int64 + +Help on function qcontrol_tty in module ida_pro: + +qcontrol_tty(*args) -> 'void' + qcontrol_tty() + + + Make the current terminal the controlling terminal of the calling + process.The current terminal is supposed to be /dev/tty + +Help on function qdetach_tty in module ida_pro: + +qdetach_tty(*args) -> 'void' + qdetach_tty() + + + If the current terminal is the controlling terminal of the calling + process, give up this controlling terminal.The current terminal is + supposed to be /dev/tty + +Help on function qexit in module ida_pro: + +qexit(*args) -> 'void' + qexit(code) + + + Call qatexit functions, shut down UI and kernel, and exit. + + @param code: exit code (C++: int) + +Help on class qmutex_locker_t in module ida_pro: + +class qmutex_locker_t(builtins.object) + | Proxy of C++ qmutex_locker_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _lock) -> qmutex_locker_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qmutex_locker_t(...) + | delete_qmutex_locker_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class qrefcnt_obj_t in module ida_pro: + +class qrefcnt_obj_t(builtins.object) + | Proxy of C++ qrefcnt_obj_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_qrefcnt_obj_t(...) + | delete_qrefcnt_obj_t(self) + | + | release(self, *args) -> 'void' + | release(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | refcnt + | qrefcnt_obj_t_refcnt_get(self) -> int + | + | thisown + | The membership flag + +Help on function qstrvec_t_add in module ida_pro: + +qstrvec_t_add(*args) -> 'bool' + qstrvec_t_add(_self, s) -> bool + +Help on function qstrvec_t_addressof in module ida_pro: + +qstrvec_t_addressof(*args) -> 'PyObject *' + qstrvec_t_addressof(_self, idx) -> PyObject * + +Help on function qstrvec_t_assign in module ida_pro: + +qstrvec_t_assign(*args) -> 'bool' + qstrvec_t_assign(_self, other) -> bool + +Help on function qstrvec_t_clear in module ida_pro: + +qstrvec_t_clear(*args) -> 'bool' + qstrvec_t_clear(_self, qclear) -> bool + +Help on function qstrvec_t_create in module ida_pro: + +qstrvec_t_create(*args) -> 'PyObject *' + qstrvec_t_create() -> PyObject * + +Help on function qstrvec_t_destroy in module ida_pro: + +qstrvec_t_destroy(*args) -> 'bool' + qstrvec_t_destroy(py_obj) -> bool + +Help on function qstrvec_t_from_list in module ida_pro: + +qstrvec_t_from_list(*args) -> 'bool' + qstrvec_t_from_list(_self, py_list) -> bool + +Help on function qstrvec_t_get in module ida_pro: + +qstrvec_t_get(*args) -> 'PyObject *' + qstrvec_t_get(_self, idx) -> PyObject * + +Help on function qstrvec_t_get_clink in module ida_pro: + +qstrvec_t_get_clink(*args) -> 'qstrvec_t *' + qstrvec_t_get_clink(_self) -> qstrvec_t * + +Help on function qstrvec_t_get_clink_ptr in module ida_pro: + +qstrvec_t_get_clink_ptr(*args) -> 'PyObject *' + qstrvec_t_get_clink_ptr(_self) -> PyObject * + +Help on function qstrvec_t_insert in module ida_pro: + +qstrvec_t_insert(*args) -> 'bool' + qstrvec_t_insert(_self, idx, s) -> bool + +Help on function qstrvec_t_remove in module ida_pro: + +qstrvec_t_remove(*args) -> 'bool' + qstrvec_t_remove(_self, idx) -> bool + +Help on function qstrvec_t_set in module ida_pro: + +qstrvec_t_set(*args) -> 'bool' + qstrvec_t_set(_self, idx, s) -> bool + +Help on function qstrvec_t_size in module ida_pro: + +qstrvec_t_size(*args) -> 'size_t' + qstrvec_t_size(_self) -> size_t + +Help on function quote_cmdline_arg in module ida_pro: + +quote_cmdline_arg(*args) -> 'bool' + 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' + +Help on function qvector_reserve in module ida_pro: + +qvector_reserve(*args) -> 'void *' + qvector_reserve(vec, old, cnt, elsize) -> void * + + + Change capacity of given qvector. + + @param vec: a pointer to a qvector (C++: void *) + @param old: a pointer to the qvector's array (C++: void *) + @param cnt: number of elements to reserve (C++: size_t) + @param elsize: size of each element (C++: size_t) + @return: a pointer to the newly allocated array + +Help on function readbytes in module ida_pro: + +readbytes(*args) -> 'int' + readbytes(h, res, size, mf) -> int + + + Read at most 4 bytes from file. + + @param h: file handle (C++: int) + @param res: value read from file (C++: uint32 *) + @param size: size of value in bytes (1,2,4) (C++: int) + @param mf: is MSB first? (C++: bool) + @return: 0 on success, nonzero otherwise + +Help on function reloc_value in module ida_pro: + +reloc_value(*args) -> 'void' + reloc_value(value, size, delta, mf) + +Help on function relocate_relobj in module ida_pro: + +relocate_relobj(*args) -> 'bool' + relocate_relobj(_relobj, ea, mf) -> bool + +Help on class sel_array in module ida_pro: + +class sel_array(builtins.object) + | Proxy of C++ sel_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'sel_t' + | __getitem__(self, index) -> sel_t + | + | __init__(self, *args) + | __init__(self, nelements) -> sel_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, index, value) + | + | __swig_destroy__ = delete_sel_array(...) + | delete_sel_array(self) + | + | cast(self, *args) -> 'sel_t *' + | cast(self) -> sel_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'sel_array *' + | frompointer(t) -> sel_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function sel_array_frompointer in module ida_pro: + +sel_array_frompointer(*args) -> 'sel_array *' + sel_array_frompointer(t) -> sel_array + +Help on class sel_pointer in module ida_pro: + +class sel_pointer(builtins.object) + | Proxy of C++ sel_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sel_pointer + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_sel_pointer(...) + | delete_sel_pointer(self) + | + | assign(self, *args) -> 'void' + | assign(self, value) + | + | cast(self, *args) -> 'sel_t *' + | cast(self) -> sel_t * + | + | value(self, *args) -> 'sel_t' + | value(self) -> sel_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'sel_pointer *' + | frompointer(t) -> sel_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function sel_pointer_frompointer in module ida_pro: + +sel_pointer_frompointer(*args) -> 'sel_pointer *' + sel_pointer_frompointer(t) -> sel_pointer + +Help on function set_bits in module ida_pro: + +set_bits(*args) -> 'void' + set_bits(bitmap, low, high) + + + Set bits between [low, high) in 'bitmap'. + + + @param bitmap (C++: uchar *) + @param low (C++: size_t) + @param high (C++: size_t) + +Help on class sizevec_t in module ida_pro: + +class sizevec_t(builtins.object) + | Proxy of C++ qvector< size_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'size_t const &' + | __getitem__(self, i) -> size_t const & + | + | __init__(self, *args) + | __init__(self) -> sizevec_t + | __init__(self, x) -> sizevec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_sizevec_t(...) + | delete_sizevec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'size_t const &' + | at(self, _idx) -> size_t const & + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< size_t >::const_iterator' + | begin(self) -> qvector< size_t >::iterator + | begin(self) -> qvector< size_t >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< size_t >::const_iterator' + | end(self) -> qvector< size_t >::iterator + | end(self) -> qvector< size_t >::const_iterator + | + | erase(self, *args) -> 'qvector< size_t >::iterator' + | erase(self, it) -> qvector< size_t >::iterator + | erase(self, first, last) -> qvector< size_t >::iterator + | + | extract(self, *args) -> 'size_t *' + | extract(self) -> size_t * + | + | find(self, *args) -> 'qvector< size_t >::const_iterator' + | find(self, x) -> qvector< size_t >::iterator + | find(self, x) -> qvector< size_t >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=size_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< size_t >::iterator' + | insert(self, it, x) -> qvector< size_t >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'size_t &' + | push_back(self, x) + | push_back(self) -> size_t & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function str2user in module ida_pro: + +str2user(*args) -> 'PyObject *' + str2user(str) -> PyObject * + + + Insert C-style escape characters to string + + @return: new string with escape characters inserted + +Help on class strvec_t in module ida_pro: + +class strvec_t(builtins.object) + | Proxy of C++ qvector< simpleline_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'simpleline_t const &' + | __getitem__(self, i) -> simpleline_t const & + | + | __init__(self, *args) + | __init__(self) -> strvec_t + | __init__(self, x) -> strvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_strvec_t(...) + | delete_strvec_t(self) + | + | append = push_back(self, *args) -> 'simpleline_t &' + | + | at = __getitem__(self, *args) -> 'simpleline_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< simpleline_t >::const_iterator' + | begin(self) -> qvector< simpleline_t >::iterator + | begin(self) -> qvector< simpleline_t >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< simpleline_t >::const_iterator' + | end(self) -> qvector< simpleline_t >::iterator + | end(self) -> qvector< simpleline_t >::const_iterator + | + | erase(self, *args) -> 'qvector< simpleline_t >::iterator' + | erase(self, it) -> qvector< simpleline_t >::iterator + | erase(self, first, last) -> qvector< simpleline_t >::iterator + | + | extract(self, *args) -> 'simpleline_t *' + | extract(self) -> simpleline_t * + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=simpleline_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< simpleline_t >::iterator' + | insert(self, it, x) -> qvector< simpleline_t >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'simpleline_t &' + | push_back(self, x) + | push_back(self) -> simpleline_t & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class sval_pointer in module ida_pro: + +class sval_pointer(builtins.object) + | Proxy of C++ sval_pointer class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sval_pointer + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_sval_pointer(...) + | delete_sval_pointer(self) + | + | assign(self, *args) -> 'void' + | assign(self, value) + | + | cast(self, *args) -> 'sval_t *' + | cast(self) -> sval_t * + | + | value(self, *args) -> 'sval_t' + | value(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'sval_pointer *' + | frompointer(t) -> sval_pointer + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function sval_pointer_frompointer in module ida_pro: + +sval_pointer_frompointer(*args) -> 'sval_pointer *' + sval_pointer_frompointer(t) -> sval_pointer + +Help on class tid_array in module ida_pro: + +class tid_array(builtins.object) + | Proxy of C++ tid_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'tid_t' + | __getitem__(self, index) -> tid_t + | + | __init__(self, *args) + | __init__(self, nelements) -> tid_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, index, value) + | + | __swig_destroy__ = delete_tid_array(...) + | delete_tid_array(self) + | + | cast(self, *args) -> 'tid_t *' + | cast(self) -> tid_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'tid_array *' + | frompointer(t) -> tid_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function tid_array_frompointer in module ida_pro: + +tid_array_frompointer(*args) -> 'tid_array *' + tid_array_frompointer(t) -> tid_array + +Help on class uchar_array in module ida_pro: + +class uchar_array(builtins.object) + | Proxy of C++ uchar_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'uchar' + | __getitem__(self, index) -> uchar + | + | __init__(self, *args) + | __init__(self, nelements) -> uchar_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, index, value) + | + | __swig_destroy__ = delete_uchar_array(...) + | delete_uchar_array(self) + | + | cast(self, *args) -> 'uchar *' + | cast(self) -> uchar * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'uchar_array *' + | frompointer(t) -> uchar_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function uchar_array_frompointer in module ida_pro: + +uchar_array_frompointer(*args) -> 'uchar_array *' + uchar_array_frompointer(t) -> uchar_array + +Help on class ulonglongvec_t in module ida_pro: + +class ulonglongvec_t(builtins.object) + | Proxy of C++ qvector< unsigned long long > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'unsigned long long const &' + | __getitem__(self, i) -> unsigned long long const & + | + | __init__(self, *args) + | __init__(self) -> ulonglongvec_t + | __init__(self, x) -> ulonglongvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_ulonglongvec_t(...) + | delete_ulonglongvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'unsigned long long &' + | + | at = __getitem__(self, *args) -> 'unsigned long long const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< unsigned long long >::const_iterator' + | begin(self) -> qvector< unsigned long long >::iterator + | begin(self) -> qvector< unsigned long long >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< unsigned long long >::const_iterator' + | end(self) -> qvector< unsigned long long >::iterator + | end(self) -> qvector< unsigned long long >::const_iterator + | + | erase(self, *args) -> 'qvector< unsigned long long >::iterator' + | erase(self, it) -> qvector< unsigned long long >::iterator + | erase(self, first, last) -> qvector< unsigned long long >::iterator + | + | extract(self, *args) -> 'unsigned long long *' + | extract(self) -> unsigned long long * + | + | find(self, *args) -> 'qvector< unsigned long long >::const_iterator' + | find(self, x) -> qvector< unsigned long long >::iterator + | find(self, x) -> qvector< unsigned long long >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< unsigned long long >::iterator' + | insert(self, it, x) -> qvector< unsigned long long >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'unsigned long long &' + | push_back(self, x) + | push_back(self) -> unsigned long long & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class uintvec_t in module ida_pro: + +class uintvec_t(builtins.object) + | Proxy of C++ qvector< unsigned int > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'unsigned int const &' + | __getitem__(self, i) -> unsigned int const & + | + | __init__(self, *args) + | __init__(self) -> uintvec_t + | __init__(self, x) -> uintvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_uintvec_t(...) + | delete_uintvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'unsigned int &' + | + | at = __getitem__(self, *args) -> 'unsigned int const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< unsigned int >::const_iterator' + | begin(self) -> qvector< unsigned int >::iterator + | begin(self) -> qvector< unsigned int >::const_iterator + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< unsigned int >::const_iterator' + | end(self) -> qvector< unsigned int >::iterator + | end(self) -> qvector< unsigned int >::const_iterator + | + | erase(self, *args) -> 'qvector< unsigned int >::iterator' + | erase(self, it) -> qvector< unsigned int >::iterator + | erase(self, first, last) -> qvector< unsigned int >::iterator + | + | extract(self, *args) -> 'unsigned int *' + | extract(self) -> unsigned int * + | + | find(self, *args) -> 'qvector< unsigned int >::const_iterator' + | find(self, x) -> qvector< unsigned int >::iterator + | find(self, x) -> qvector< unsigned int >::const_iterator + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< unsigned int >::iterator' + | insert(self, it, x) -> qvector< unsigned int >::iterator + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'unsigned int &' + | push_back(self, x) + | push_back(self) -> unsigned int & + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class uval_array in module ida_pro: + +class uval_array(builtins.object) + | Proxy of C++ uval_array class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'uval_t' + | __getitem__(self, index) -> uval_t + | + | __init__(self, *args) + | __init__(self, nelements) -> uval_array + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, index, value) + | + | __swig_destroy__ = delete_uval_array(...) + | delete_uval_array(self) + | + | cast(self, *args) -> 'uval_t *' + | cast(self) -> uval_t * + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | frompointer(*args) -> 'uval_array *' + | frompointer(t) -> uval_array + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function uval_array_frompointer in module ida_pro: + +uval_array_frompointer(*args) -> 'uval_array *' + uval_array_frompointer(t) -> uval_array + +Help on function writebytes in module ida_pro: + +writebytes(*args) -> 'int' + writebytes(h, l, size, mf) -> int + + + Write at most 4 bytes to file. + + @param h: file handle (C++: int) + @param l: value to write (C++: uint32) + @param size: size of value in bytes (1,2,4) (C++: int) + @param mf: is MSB first? (C++: bool) + @return: 0 on success, nonzero otherwise + +=== ida_pro EPYDOC INJECTIONS === +ida_pro.CP_UTF16 +""" +UTF-16 codepage. +""" + +ida_pro.IDA_SDK_VERSION +""" +IDA SDK v7.4. +""" + +ida_pro.IDBDEC_ESCAPE +""" +convert non-printable characters to C escapes (, \\xNN, \\uNNNN) +""" + +ida_pro.IOREDIR_APPEND +""" +append, do not overwrite the output file +""" + +ida_pro.IOREDIR_INPUT +""" +input redirection +""" + +ida_pro.IOREDIR_OUTPUT +""" +output redirection +""" + +ida_pro.IOREDIR_QUOTED +""" +the file name was quoted +""" + +ida_pro.MAXSTR +""" +maximum string size +""" + +ida_pro.SUBSTCHAR +""" +default char, used if a char cannot be represented in a codepage +""" + +ida_pro.__MF__ +""" +byte sex of our platform (Most significant byte First). 0: little +endian (Intel 80x86). 1: big endian (PowerPC). +""" +=== ida_pro EPYDOC INJECTIONS END === +Help on function forget_problem in module ida_problems: + +forget_problem(*args) -> 'bool' + forget_problem(type, ea) -> bool + + + Remove an address from a problem list + + @param type: problem list type (C++: problist_id_t) + @param ea: linear address (C++: ea_t) + @return: success + +Help on function get_problem in module ida_problems: + +get_problem(*args) -> 'ea_t' + get_problem(type, lowea) -> ea_t + + + Get an address from the specified problem list. The address is not + removed from the list. + + @param type: problem list type (C++: problist_id_t) + @param lowea: the returned address will be higher or equal than the + specified address (C++: ea_t) + @return: linear address or BADADDR + +Help on function get_problem_desc in module ida_problems: + +get_problem_desc(*args) -> 'qstring *' + get_problem_desc(t, ea) -> str + + + Get the human-friendly description of the problem, if one was provided + to remember_problem. + + @param t: problem list type. (C++: problist_id_t) + @param ea: linear address. (C++: ea_t) + @return: the message length or -1 if none + +Help on function get_problem_name in module ida_problems: + +get_problem_name(*args) -> 'char const *' + get_problem_name(type, longname=True) -> char const * + + + Get problem list description. + + + @param type (C++: problist_id_t) + @param longname (C++: bool) + +Help on function is_problem_present in module ida_problems: + +is_problem_present(*args) -> 'bool' + 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) + +Help on function remember_problem in module ida_problems: + +remember_problem(*args) -> 'void' + 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: problem list type (C++: problist_id_t) + @param ea: linear address (C++: ea_t) + @param msg: a user-friendly message to be displayed instead of the + default more generic one associated with the type of + problem. Defaults to NULL. (C++: const char *) + +Help on function was_ida_decision in module ida_problems: + +was_ida_decision(*args) -> 'bool' + was_ida_decision(ea) -> bool + +Help on class array_of_rangesets in module ida_range: + +class array_of_rangesets(builtins.object) + | Proxy of C++ qvector< rangeset_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'rangeset_t const &' + | __getitem__(self, i) -> rangeset_t + | + | __init__(self, *args) + | __init__(self) -> array_of_rangesets + | __init__(self, x) -> array_of_rangesets + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_array_of_rangesets(...) + | delete_array_of_rangesets(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'rangeset_t const &' + | at(self, _idx) -> rangeset_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< rangeset_t >::const_iterator' + | begin(self) -> rangeset_t + | begin(self) -> rangeset_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< rangeset_t >::const_iterator' + | end(self) -> rangeset_t + | end(self) -> rangeset_t + | + | erase(self, *args) -> 'qvector< rangeset_t >::iterator' + | erase(self, it) -> rangeset_t + | erase(self, first, last) -> rangeset_t + | + | extract(self, *args) -> 'rangeset_t *' + | extract(self) -> rangeset_t + | + | find(self, *args) -> 'qvector< rangeset_t >::const_iterator' + | find(self, x) -> rangeset_t + | find(self, x) -> rangeset_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=rangeset_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< rangeset_t >::iterator' + | insert(self, it, x) -> rangeset_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'rangeset_t &' + | push_back(self, x) + | push_back(self) -> rangeset_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class range_t in module ida_range: + +class range_t(builtins.object) + | Proxy of C++ range_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> range_t + | __init__(self, ea1, ea2) -> range_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_range_t(...) + | delete_range_t(self) + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function range_t_print in module ida_range: + +range_t_print(*args) -> 'size_t' + range_t_print(cb) -> str + + + Helper function. Should not be called directly! + +Help on class rangeset_t in module ida_range: + +class rangeset_t(builtins.object) + | Proxy of C++ rangeset_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, aset) -> bool + | + | __getitem__(self, idx) + | + | __init__(self, *args) + | __init__(self) -> rangeset_t + | __init__(self, range) -> rangeset_t + | __init__(self, ivs) -> rangeset_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = nranges(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, aset) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_rangeset_t(...) + | delete_rangeset_t(self) + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | add(self, *args) -> 'bool' + | add(self, range) -> bool + | add(self, start, _end) -> bool + | add(self, aset) -> bool + | + | begin(self, *args) -> 'rangeset_t::iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | cached_range(self, *args) -> 'range_t const *' + | cached_range(self) -> range_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, aset) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'rangeset_t::iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | find_range(self, *args) -> 'range_t const *' + | find_range(self, ea) -> range_t + | + | getrange(self, *args) -> 'range_t const &' + | getrange(self, idx) -> range_t + | + | has_common(self, *args) -> 'bool' + | has_common(self, range) -> bool + | has_common(self, aset) -> bool + | + | includes(self, *args) -> 'bool' + | includes(self, range) -> bool + | + | intersect(self, *args) -> 'bool' + | intersect(self, aset) -> bool + | + | is_equal(self, *args) -> 'bool' + | is_equal(self, aset) -> bool + | + | is_subset_of(self, *args) -> 'bool' + | is_subset_of(self, aset) -> bool + | + | lastrange(self, *args) -> 'range_t const &' + | lastrange(self) -> range_t + | + | next_addr(self, *args) -> 'ea_t' + | next_addr(self, ea) -> ea_t + | + | next_range(self, *args) -> 'ea_t' + | next_range(self, ea) -> ea_t + | + | nranges(self, *args) -> 'size_t' + | nranges(self) -> size_t + | + | prev_addr(self, *args) -> 'ea_t' + | prev_addr(self, ea) -> ea_t + | + | prev_range(self, *args) -> 'ea_t' + | prev_range(self, ea) -> ea_t + | + | sub(self, *args) -> 'bool' + | sub(self, range) -> bool + | sub(self, ea) -> bool + | sub(self, aset) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class rangevec_base_t in module ida_range: + +class rangevec_base_t(builtins.object) + | Proxy of C++ qvector< range_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __init__(self, *args) + | __init__(self) -> rangevec_base_t + | __init__(self, x) -> rangevec_base_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_rangevec_base_t(...) + | delete_rangevec_base_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class rangevec_t in module ida_range: + +class rangevec_t(rangevec_base_t) + | Proxy of C++ rangevec_t class. + | + | Method resolution order: + | rangevec_t + | rangevec_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rangevec_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_rangevec_t(...) + | delete_rangevec_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from rangevec_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from rangevec_base_t: + | + | __hash__ = None + +Help on function reg_data_type in module ida_registry: + +reg_data_type(*args) -> 'regval_type_t' + reg_data_type(name, subkey=None) -> regval_type_t + + + Get data type of a given value. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: false if the [key+]value doesn't exist + +Help on function reg_delete in module ida_registry: + +reg_delete(*args) -> 'bool' + reg_delete(name, subkey=None) -> bool + + + Delete a value from the registry. + + @param name: value name (C++: const char *) + @param subkey: parent key (C++: const char *) + @return: success + +Help on function reg_delete_subkey in module ida_registry: + +reg_delete_subkey(*args) -> 'bool' + reg_delete_subkey(name) -> bool + + + Delete a key from the registry. + + + @param name (C++: const char *) + +Help on function reg_delete_tree in module ida_registry: + +reg_delete_tree(*args) -> 'bool' + reg_delete_tree(name) -> bool + + + Delete a subtree from the registry. + + + @param name (C++: const char *) + +Help on function reg_exists in module ida_registry: + +reg_exists(*args) -> 'bool' + reg_exists(name, subkey=None) -> bool + + + Is there already a value with the given name? + + @param name: value name (C++: const char *) + @param subkey: parent key (C++: const char *) + +Help on function reg_flush in module ida_registry: + +reg_flush(*args) -> 'void' + reg_flush() + +Help on function reg_load in module ida_registry: + +reg_load(*args) -> 'void' + reg_load() + +Help on function reg_read_binary in module ida_registry: + +reg_read_binary(*args) -> 'PyObject *' + reg_read_binary(name, subkey=None) -> PyObject * + + + Read binary data from the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: false if 'data' is not large enough to hold all data present. + in this case 'data' is left untouched. + +Help on function reg_read_bool in module ida_registry: + +reg_read_bool(*args) -> 'bool' + reg_read_bool(name, defval, subkey=None) -> bool + + + Read boolean value from the registry. + + @param name: value name (C++: const char *) + @param defval: default value (C++: bool) + @param subkey: key name (C++: const char *) + @return: boolean read from registry, or 'defval' if the read failed + +Help on function reg_read_int in module ida_registry: + +reg_read_int(*args) -> 'int' + reg_read_int(name, defval, subkey=None) -> int + + + Read integer value from the registry. + + @param name: value name (C++: const char *) + @param defval: default value (C++: int) + @param subkey: key name (C++: const char *) + @return: the value read from the registry, or 'defval' if the read + failed + +Help on function reg_read_string in module ida_registry: + +reg_read_string(*args) -> 'PyObject *' + reg_read_string(name, subkey=None, _def=None) -> PyObject * + + + Read a string from the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + @return: success + +Help on function reg_read_strlist in module ida_registry: + +reg_read_strlist(*args) -> 'qstrvec_t *' + reg_read_strlist(subkey) + + + Retrieve all string values associated with the given key. Also see + 'reg_update_strlist()' . + + @param subkey (C++: const char *) + +Help on function reg_subkey_exists in module ida_registry: + +reg_subkey_exists(*args) -> 'bool' + reg_subkey_exists(name) -> bool + + + Is there already a key with the given name? + + + @param name (C++: const char *) + +Help on function reg_subkey_subkeys in module ida_registry: + +reg_subkey_subkeys(*args) -> 'PyObject *' + reg_subkey_subkeys(name) -> PyObject * + + + Get all subkey names of given key. + + + @param name (C++: const char *) + +Help on function reg_subkey_values in module ida_registry: + +reg_subkey_values(*args) -> 'PyObject *' + reg_subkey_values(name) -> PyObject * + + + Get all value names under given key. + + + @param name (C++: const char *) + +Help on function reg_update_filestrlist in module ida_registry: + +reg_update_filestrlist(*args) -> 'void' + reg_update_filestrlist(subkey, add, maxrecs, rem=None) + + + Update registry with a file list. Case sensitivity will vary depending + on the target OS.'add' and 'rem' must be UTF-8, just like for regular + string operations. + + @param subkey (C++: const char *) + @param add (C++: const char *) + @param maxrecs (C++: size_t) + @param rem (C++: const char *) + +Help on function reg_update_strlist in module ida_registry: + +reg_update_strlist(*args) -> 'void' + reg_update_strlist(subkey, add, maxrecs, rem=None, ignorecase=False) + + + Update list of strings associated with given key. + + @param subkey: key name (C++: const char *) + @param add: string to be added to list, can be NULL (C++: const char + *) + @param maxrecs: limit list to this size (C++: size_t) + @param rem: string to be removed from list, can be NULL (C++: const + char *) + @param ignorecase: ignore case for 'add' and 'rem' (C++: bool) + +Help on function reg_write_binary in module ida_registry: + +reg_write_binary(*args) -> 'PyObject *' + reg_write_binary(name, py_bytes, subkey=None) -> PyObject * + + + Write binary data to the registry. + + @param name: value name (C++: const char *) + @param subkey: key name (C++: const char *) + +Help on function reg_write_bool in module ida_registry: + +reg_write_bool(*args) -> 'void' + reg_write_bool(name, value, subkey=None) + + + Write boolean value to the registry. + + @param name: value name (C++: const char *) + @param value: boolean to write (nonzero = true) (C++: int) + @param subkey: key name (C++: const char *) + +Help on function reg_write_int in module ida_registry: + +reg_write_int(*args) -> 'void' + reg_write_int(name, value, subkey=None) + + + Write integer value to the registry. + + @param name: value name (C++: const char *) + @param value: value to write (C++: int) + @param subkey: key name (C++: const char *) + +Help on function reg_write_string in module ida_registry: + +reg_write_string(*args) -> 'void' + reg_write_string(name, utf8, subkey=None) + + + Write a string to the registry. + + @param name: value name (C++: const char *) + @param utf8: utf8-encoded string (C++: const char *) + @param subkey: key name (C++: const char *) + +=== ida_registry EPYDOC INJECTIONS === +ida_registry.ROOT_KEY_NAME +""" +Key used to store IDA settings in registry (Windows version).this name +is automatically prepended to all key names passed to functions in +this file. +""" +=== ida_registry EPYDOC INJECTIONS END === +Help on function find_binary in module ida_search: + +find_binary(*args) -> 'ea_t' + find_binary(arg1, arg2, arg3, arg4, arg5) -> ea_t + +Help on function find_code in module ida_search: + +find_code(*args) -> 'ea_t' + find_code(ea, sflag) -> ea_t + + + Find next code address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_data in module ida_search: + +find_data(*args) -> 'ea_t' + find_data(ea, sflag) -> ea_t + + + Find next data address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_defined in module ida_search: + +find_defined(*args) -> 'ea_t' + 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) + +Help on function find_error in module ida_search: + +find_error(*args) -> 'int *' + find_error(ea, sflag) -> ea_t + + + Find next error or problem. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_imm in module ida_search: + +find_imm(*args) -> 'int *' + find_imm(newEA, sflag, srchValue) -> ea_t + + + Find next immediate operand with the given value. + + + @param newEA (C++: ea_t) + @param sflag (C++: int) + @param srchValue (C++: uval_t) + +Help on function find_not_func in module ida_search: + +find_not_func(*args) -> 'ea_t' + 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) + +Help on function find_notype in module ida_search: + +find_notype(*args) -> 'int *' + find_notype(ea, sflag) -> ea_t + + + Find next operand without any type info. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_suspop in module ida_search: + +find_suspop(*args) -> 'int *' + find_suspop(ea, sflag) -> ea_t + + + Find next suspicious operand. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_text in module ida_search: + +find_text(*args) -> 'ea_t' + 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 *) + @param sflag (C++: int) + +Help on function find_unknown in module ida_search: + +find_unknown(*args) -> 'ea_t' + find_unknown(ea, sflag) -> ea_t + + + Find next unexplored address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function search_down in module ida_search: + +search_down(*args) -> 'bool' + search_down(sflag) -> bool + + + Is the 'SEARCH_DOWN' bit set? + + + @param sflag (C++: int) + +=== ida_search EPYDOC INJECTIONS === +ida_search.SEARCH_BRK +""" +return 'BADADDR' if Ctrl-Break wass pressed during search +""" + +ida_search.SEARCH_CASE +""" +case-sensitive search (case-insensitive otherwise) +""" + +ida_search.SEARCH_DOWN +""" +search towards higher addresses +""" + +ida_search.SEARCH_IDENT +""" +search for an identifier (text search). it means that the characters +before and after the match cannot be is_visible_char(). +""" + +ida_search.SEARCH_NEXT +""" +for other find_.. functions it is implicitly set + +useful only for 'search()' and find_binary(). +""" + +ida_search.SEARCH_NOBRK +""" +don't test for ctrl-break to interrupt the search +""" + +ida_search.SEARCH_NOSHOW +""" +don't display the search progress/refresh screen +""" + +ida_search.SEARCH_REGEX +""" +regular expressions in search string (only supported for txt search) +""" + +ida_search.SEARCH_UP +""" +search towards lower addresses +""" +=== ida_search EPYDOC INJECTIONS END === +Help on function add_segm in module ida_segment: + +add_segm(*args) -> 'bool' + 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: segment base paragraph. if paragraph can't fit in 16bit, + then a new selector is allocated and mapped to the + paragraph. (C++: ea_t) + @param start: start address of the segment. if start== BADADDR then + start <- to_ea(para,0). (C++: ea_t) + @param end: end address of the segment. end address should be higher + than start address. For emulate empty segments, use + SEG_NULL segment type. If the end address is lower than + start address, then fail. If end== BADADDR , then a + segment up to the next segment will be created (if the + next segment doesn't exist, then 1 byte segment will be + created). If 'end' is too high and the new segment would + overlap the next segment, 'end' is adjusted properly. + (C++: ea_t) + @param name: name of new segment. may be NULL (C++: const char *) + @param sclass: class of the segment. may be NULL. type of the new + segment is modified if class is one of predefined + names: "CODE" -> SEG_CODE "DATA" -> SEG_DATA + "CONST" -> SEG_DATA "STACK" -> SEG_BSS "BSS" -> + SEG_BSS "XTRN" -> SEG_XTRN "COMM" -> SEG_COMM + "ABS" -> SEG_ABSSYM (C++: const char *) + @param flags (C++: int) + +Help on function add_segm_ex in module ida_segment: + +add_segm_ex(*args) -> 'bool' + add_segm_ex(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 s: pointer to filled segment structure. segment selector should + have proper mapping (see set_selector() ). if + s.start_ea== BADADDR then s.start_ea <- get_segm_base(&s) + if s.end_ea== BADADDR , then a segment up to the next + segment will be created (if the next segment doesn't exist, + then 1 byte segment will be created). if the s.end_ea < + s.start_ea, then fail. if s.end_ea is too high and the new + segment would overlap the next segment, s.end_ea is adjusted + properly. (C++: segment_t *) + @param name: name of new segment. may be NULL. if specified, the + segment is immediately renamed (C++: const char *) + @param sclass: class of the segment. may be NULL. if specified, the + segment class is immediately changed (C++: const char + *) + @param flags: Add segment flags (C++: int) + +Help on function add_segment_translation in module ida_segment: + +add_segment_translation(*args) -> 'bool' + add_segment_translation(segstart, mappedseg) -> bool + + + Add segment translation. + + @param segstart: start address of the segment to add translation to + (C++: ea_t) + @param mappedseg: start address of the overlayed segment (C++: ea_t) + +Help on function allocate_selector in module ida_segment: + +allocate_selector(*args) -> 'sel_t' + 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: a new segment base paragraph (C++: ea_t) + @return: the allocated selector number + +Help on function change_segment_status in module ida_segment: + +change_segment_status(*args) -> 'int' + 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: segment to modify (C++: segment_t *) + @param is_deb_segm: new status of the segment (C++: bool) + @return: Change segment status result codes + +Help on function del_segm in module ida_segment: + +del_segm(*args) -> 'bool' + del_segm(ea, flags) -> bool + + + Delete a segment. + + @param ea: any address belonging to the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function del_segment_translations in module ida_segment: + +del_segment_translations(*args) -> 'void' + del_segment_translations(segstart) + + + Delete the translation list + + @param segstart: start address of the segment to delete translation + list (C++: ea_t) + +Help on function del_selector in module ida_segment: + +del_selector(*args) -> 'void' + 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: number of selector to remove from the translation + table (C++: sel_t) + +Help on function find_free_selector in module ida_segment: + +find_free_selector(*args) -> 'sel_t' + find_free_selector() -> sel_t + + + Find first unused selector. + + @return: a number >= 1 + +Help on function find_selector in module ida_segment: + +find_selector(*args) -> 'sel_t' + find_selector(base) -> sel_t + + + Find a selector that has mapping to the specified paragraph. + + @param base: paragraph to search in the translation table (C++: ea_t) + @return: selector value or base + +Help on function get_defsr in module ida_segment: + +get_defsr(*args) -> 'sel_t' + get_defsr(s, reg) -> sel_t + +Help on function get_first_seg in module ida_segment: + +get_first_seg(*args) -> 'segment_t *' + get_first_seg() -> segment_t + + + Get pointer to the first segment. + +Help on function get_group_selector in module ida_segment: + +get_group_selector(*args) -> 'sel_t' + get_group_selector(grpsel) -> sel_t + + + Get common selector for a group of segments. + + @param grpsel: selector of group segment (C++: sel_t) + @return: common selector of the group or 'grpsel' if no such group is + found + +Help on function get_last_seg in module ida_segment: + +get_last_seg(*args) -> 'segment_t *' + get_last_seg() -> segment_t + + + Get pointer to the last segment. + +Help on function get_next_seg in module ida_segment: + +get_next_seg(*args) -> 'segment_t *' + get_next_seg(ea) -> segment_t + + + Get pointer to the next segment. + + + @param ea (C++: ea_t) + +Help on function get_prev_seg in module ida_segment: + +get_prev_seg(*args) -> 'segment_t *' + get_prev_seg(ea) -> segment_t + + + Get pointer to the previous segment. + + + @param ea (C++: ea_t) + +Help on function get_segm_base in module ida_segment: + +get_segm_base(*args) -> 'ea_t' + 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: pointer to segment (C++: const segment_t *) + @return: 0 if s == NULL, otherwise segment base linear address + +Help on function get_segm_by_name in module ida_segment: + +get_segm_by_name(*args) -> 'segment_t *' + 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: segment name. may be NULL. (C++: const char *) + @return: NULL or pointer to segment structure + +Help on function get_segm_by_sel in module ida_segment: + +get_segm_by_sel(*args) -> 'segment_t *' + 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: a segment with the specified selector will be + returned (C++: sel_t) + @return: pointer to segment or NULL + +Help on function get_segm_class in module ida_segment: + +get_segm_class(*args) -> 'qstring *' + get_segm_class(s) -> str + + + Get segment class. Segment class is arbitrary text (max 8 characters). + + @param s: pointer to segment (C++: const segment_t *) + @return: size of segment class (-1 if s==NULL or bufsize<=0) + +Help on function get_segm_name in module ida_segment: + +get_segm_name(*args) -> 'qstring *' + get_segm_name(s, flags=0) -> str + + + Get true segment name by pointer to segment. + + @param s: pointer to segment (C++: const segment_t *) + @param flags: 0-return name as is; 1-substitute bad symbols with _ 1 + corresponds to GN_VISIBLE (C++: int) + @return: size of segment name (-1 if s==NULL) + +Help on function get_segm_num in module ida_segment: + +get_segm_num(*args) -> 'int' + get_segm_num(ea) -> int + + + Get number of segment by address. + + @param ea: linear address belonging to the segment (C++: ea_t) + @return: -1 if no segment occupies the specified address. otherwise + returns number of the specified segment (0.. get_segm_qty() + -1) + +Help on function get_segm_para in module ida_segment: + +get_segm_para(*args) -> 'ea_t' + 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: pointer to segment (C++: const segment_t *) + @return: 0 if s == NULL, the segment base paragraph + +Help on function get_segm_qty in module ida_segment: + +get_segm_qty(*args) -> 'int' + get_segm_qty() -> int + + + Get number of segments. + +Help on function get_segment_alignment in module ida_segment: + +get_segment_alignment(*args) -> 'char const *' + get_segment_alignment(align) -> char const * + + + Get text representation of segment alignment code. + + @param align (C++: uchar) + @return: text digestable by IBM PC assembler. + +Help on function get_segment_cmt in module ida_segment: + +get_segment_cmt(*args) -> 'qstring *' + get_segment_cmt(s, repeatable) -> str + + + Get segment comment. + + @param s: pointer to segment structure (C++: const segment_t *) + @param repeatable: 0: get regular comment. 1: get repeatable comment. + (C++: bool) + @return: size of comment or -1 + +Help on function get_segment_combination in module ida_segment: + +get_segment_combination(*args) -> 'char const *' + get_segment_combination(comb) -> char const * + + + Get text representation of segment combination code. + + @param comb (C++: uchar) + @return: text digestable by IBM PC assembler. + +Help on function get_segment_translations in module ida_segment: + +get_segment_translations(*args) -> 'ssize_t' + get_segment_translations(transmap, segstart) -> ssize_t + + + Get segment translation list. + + @param transmap: vector of segment start addresses for the translation + list (C++: eavec_t *) + @param segstart: start address of the segment to get information about + (C++: ea_t) + @return: -1 if no translation list or bad segstart. otherwise returns + size of translation list. + +Help on function get_selector_qty in module ida_segment: + +get_selector_qty(*args) -> 'int' + get_selector_qty() -> int + + + Get number of defined selectors. + +Help on function get_visible_segm_name in module ida_segment: + +get_visible_segm_name(*args) -> 'qstring *' + get_visible_segm_name(s) -> str + + + Get segment name by pointer to segment. + + @param s: pointer to segment (C++: const segment_t *) + @return: size of segment name (-1 if s==NULL) + +Help on function getn_selector in module ida_segment: + +getn_selector(*args) -> 'sel_t *, ea_t *' + getn_selector(n) -> bool + + + Get description of selector (0.. 'get_selector_qty()' -1) + + + @param n (C++: int) + +Help on function getnseg in module ida_segment: + +getnseg(*args) -> 'segment_t *' + getnseg(n) -> segment_t + + + Get pointer to segment by its number.Obsoleted because it can slow + down the debugger (it has to refresh the whole memory segmentation to + calculate the correct answer) + + @param n: segment number in the range (0.. get_segm_qty() -1) (C++: + int) + @return: NULL or pointer to segment structure + +Help on function getseg in module ida_segment: + +getseg(*args) -> 'segment_t *' + getseg(ea) -> segment_t + + + Get pointer to segment by linear address. + + @param ea: linear address belonging to the segment (C++: ea_t) + @return: NULL or pointer to segment structure + +Help on function is_finally_visible_segm in module ida_segment: + +is_finally_visible_segm(*args) -> 'bool' + is_finally_visible_segm(s) -> bool + + + See 'SFL_HIDDEN' , 'SCF_SHHID_SEGM' . + + + @param s (C++: segment_t *) + +Help on function is_miniidb in module ida_segment: + +is_miniidb(*args) -> 'bool' + is_miniidb() -> bool + + + Is the database a miniidb created by the debugger?. + + @return: true if the database contains no segments or only debugger + segments + +Help on function is_segm_locked in module ida_segment: + +is_segm_locked(*args) -> 'bool' + is_segm_locked(segm) -> bool + + + Is a segment pointer locked? + + + @param segm (C++: const segment_t *) + +Help on function is_spec_ea in module ida_segment: + +is_spec_ea(*args) -> 'bool' + 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: linear address (C++: ea_t) + +Help on function is_spec_segm in module ida_segment: + +is_spec_segm(*args) -> 'bool' + is_spec_segm(seg_type) -> bool + + + Has segment a special type?. ( 'SEG_XTRN' , 'SEG_GRP' , 'SEG_ABSSYM' , + 'SEG_COMM' ) + + @param seg_type (C++: uchar) + +Help on function is_visible_segm in module ida_segment: + +is_visible_segm(*args) -> 'bool' + is_visible_segm(s) -> bool + + + See 'SFL_HIDDEN' . + + + @param s (C++: segment_t *) + +Help on function lock_segm in module ida_segment: + +lock_segm(*args) -> 'void' + 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 *) + @param lock (C++: bool) + +Help on class lock_segment in module ida_segment: + +class lock_segment(builtins.object) + | Proxy of C++ lock_segment class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _segm) -> lock_segment + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lock_segment(...) + | delete_lock_segment(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function move_segm in module ida_segment: + +move_segm(*args) -> 'int' + move_segm(s, to, flags=0) -> int + + + 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. 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: segment to move (C++: segment_t *) + @param to: new segment start address (C++: ea_t) + @param flags: Move segment flags (C++: int) + @return: Move segment result codes + +Help on function move_segm_start in module ida_segment: + +move_segm_start(*args) -> 'bool' + 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.this function never disables addresses. + + @param ea: any address belonging to the segment (C++: ea_t) + @param newstart: new start address of the segment note that segment + start address should be higher than segment base + linear address. (C++: ea_t) + @param mode: 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) (C++: int) + +Help on function rebase_program in module ida_segment: + +rebase_program(*args) -> 'int' + rebase_program(delta, flags) -> int + + + Rebase the whole program by 'delta' bytes. + + @param delta: number of bytes to move the program (C++: adiff_t) + @param flags: Move segment flags it is recommended to use + MSF_FIXONCE so that the loader takes care of global + variables it stored in the database (C++: int) + @return: Move segment result codes + +Help on function segm_adjust_diff in module ida_segment: + +segm_adjust_diff(*args) -> 'adiff_t' + segm_adjust_diff(s, delta) -> adiff_t + + + Truncate and sign extend a delta depending on the segment. + + + @param s (C++: const segment_t *) + @param delta (C++: adiff_t) + +Help on function segm_adjust_ea in module ida_segment: + +segm_adjust_ea(*args) -> 'ea_t' + segm_adjust_ea(s, ea) -> ea_t + + + Truncate an address depending on the segment. + + + @param s (C++: const segment_t *) + @param ea (C++: ea_t) + +Help on class segment_t in module ida_segment: + +class segment_t(ida_range.range_t) + | Proxy of C++ segment_t class. + | + | Method resolution order: + | segment_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> segment_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_segment_t(...) + | delete_segment_t(self) + | + | abits(self, *args) -> 'int' + | abits(self) -> int + | + | abytes(self, *args) -> 'int' + | abytes(self) -> int + | + | clr_comorg(self, *args) -> 'void' + | clr_comorg(self) + | + | clr_ob_ok(self, *args) -> 'void' + | clr_ob_ok(self) + | + | comorg(self, *args) -> 'bool' + | comorg(self) -> bool + | + | is_header_segm(self, *args) -> 'bool' + | is_header_segm(self) -> bool + | + | is_hidden_segtype(self, *args) -> 'bool' + | is_hidden_segtype(self) -> bool + | + | is_loader_segm(self, *args) -> 'bool' + | is_loader_segm(self) -> bool + | + | is_visible_segm(self, *args) -> 'bool' + | is_visible_segm(self) -> bool + | + | ob_ok(self, *args) -> 'bool' + | ob_ok(self) -> bool + | + | set_comorg(self, *args) -> 'void' + | set_comorg(self) + | + | set_debugger_segm(self, *args) -> 'void' + | set_debugger_segm(self, debseg) + | + | set_header_segm(self, *args) -> 'void' + | set_header_segm(self, on) + | + | set_hidden_segtype(self, *args) -> 'void' + | set_hidden_segtype(self, hide) + | + | set_loader_segm(self, *args) -> 'void' + | set_loader_segm(self, ldrseg) + | + | set_ob_ok(self, *args) -> 'void' + | set_ob_ok(self) + | + | set_visible_segm(self, *args) -> 'void' + | set_visible_segm(self, visible) + | + | update(self, *args) -> 'bool' + | update(self) -> bool + | + | use32(self, *args) -> 'bool' + | use32(self) -> bool + | + | use64(self, *args) -> 'bool' + | use64(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | align + | segment_t_align_get(self) -> uchar + | + | bitness + | segment_t_bitness_get(self) -> uchar + | + | color + | segment_t_color_get(self) -> bgcolor_t + | + | comb + | segment_t_comb_get(self) -> uchar + | + | defsr + | segment_t_defsr_get(self) -> sel_t [16] + | + | end_ea + | segment_t_end_ea_get(self) -> ea_t + | + | flags + | segment_t_flags_get(self) -> ushort + | + | name + | segment_t_name_get(self) -> uval_t + | + | orgbase + | segment_t_orgbase_get(self) -> uval_t + | + | perm + | segment_t_perm_get(self) -> uchar + | + | sclass + | segment_t_sclass_get(self) -> uval_t + | + | sel + | segment_t_sel_get(self) -> sel_t + | + | start_ea + | segment_t_start_ea_get(self) -> ea_t + | + | thisown + | The membership flag + | + | type + | segment_t_type_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | startEA + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +Help on function segtype in module ida_segment: + +segtype(*args) -> 'uchar' + segtype(ea) -> uchar + + + Get segment type. + + @param ea: any linear address within the segment (C++: ea_t) + @return: Segment types , SEG_UNDF if no segment found at 'ea' + +Help on function sel2ea in module ida_segment: + +sel2ea(*args) -> 'ea_t' + sel2ea(selector) -> ea_t + + + Get mapping of a selector as a linear address. + + @param selector: number of selector to translate to linear address + (C++: sel_t) + @return: linear address the specified selector is mapped to. if there + is no mapping, returns to_ea(selector,0); + +Help on function sel2para in module ida_segment: + +sel2para(*args) -> 'ea_t' + sel2para(selector) -> ea_t + + + Get mapping of a selector. + + @param selector: number of selector to translate (C++: sel_t) + @return: paragraph the specified selector is mapped to. if there is no + mapping, returns 'selector'. + +Help on function set_defsr in module ida_segment: + +set_defsr(*args) -> 'void' + set_defsr(s, reg, value) + +Help on function set_group_selector in module ida_segment: + +set_group_selector(*args) -> 'int' + set_group_selector(grp, sel) -> int + + + Initialize groups. The kernel calls this function at the start of + work.Create a new group of segments (used OMF files). + + @param grp: 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. (C++: + sel_t) + @param sel: common selector of all segments belonging to the segment + You should create all segments within the group with the + same selector value. (C++: sel_t) + @return: 1 ok + +Help on function set_segm_addressing in module ida_segment: + +set_segm_addressing(*args) -> 'bool' + 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: pointer to segment (C++: segment_t *) + @param bitness: new addressing mode of segment 2: 64bit segment 1: + 32bit segment 0: 16bit segment (C++: size_t) + @return: success + +Help on function set_segm_base in module ida_segment: + +set_segm_base(*args) -> 'bool' + set_segm_base(s, newbase) -> bool + + + Internal function. + + + @param s (C++: segment_t *) + @param newbase (C++: ea_t) + +Help on function set_segm_class in module ida_segment: + +set_segm_class(*args) -> 'int' + set_segm_class(s, sclass, flags=0) -> int + + + Set segment class. + + @param s: pointer to segment (may be NULL) (C++: segment_t *) + @param sclass: segment class (may be NULL). 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 . (C++: const char *) + @param flags (C++: int) + +Help on function set_segm_end in module ida_segment: + +set_segm_end(*args) -> 'bool' + 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: any address belonging to the segment (C++: ea_t) + @param newend: new end address of the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function set_segm_name in module ida_segment: + +set_segm_name(*args) -> 'int' + 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: pointer to segment (may be NULL) (C++: segment_t *) + @param name: new segment name (C++: const char *) + @param flags: ADDSEG_IDBENC or 0 (C++: int) + +Help on function set_segm_start in module ida_segment: + +set_segm_start(*args) -> 'bool' + 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: any address belonging to the segment (C++: ea_t) + @param newstart: new start address of the segment note that segment + start address should be higher than segment base + linear address. (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function set_segment_cmt in module ida_segment: + +set_segment_cmt(*args) -> 'void' + set_segment_cmt(s, cmt, repeatable) + + + Set segment comment. + + @param s: pointer to segment structure (C++: const segment_t *) + @param cmt: comment string, may be multiline (with ' '). maximal size + is 4096 bytes. Use empty str ("") to delete comment (C++: + const char *) + @param repeatable: 0: set regular comment. 1: set repeatable comment. + (C++: bool) + +Help on function set_segment_translations in module ida_segment: + +set_segment_translations(*args) -> 'bool' + set_segment_translations(segstart, transmap) -> bool + + + Set new translation list. + + @param segstart: start address of the segment to add translation to + (C++: ea_t) + @param transmap: vector of segment start addresses for the translation + list. If transmap is empty, the translation list is + deleted. (C++: const eavec_t &) + +Help on function set_selector in module ida_segment: + +set_selector(*args) -> 'int' + set_selector(selector, paragraph) -> int + + + Set mapping of selector to a paragraph. You should call this + functionbeforecreating a segment which uses the selector, otherwise + the creation of the segment will fail. + + @param selector: 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. (C++: sel_t) + @param paragraph: paragraph to map selector (C++: ea_t) + +Help on function set_visible_segm in module ida_segment: + +set_visible_segm(*args) -> 'void' + set_visible_segm(s, visible) + + + See 'SFL_HIDDEN' . + + + @param s (C++: segment_t *) + @param visible (C++: bool) + +Help on function setup_selector in module ida_segment: + +setup_selector(*args) -> 'sel_t' + 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: a new segment base paragraph (C++: ea_t) + @return: the allocated selector number + +Help on function std_out_segm_footer in module ida_segment: + +std_out_segm_footer(*args) -> 'void' + 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 &) + @param seg (C++: segment_t *) + +Help on function take_memory_snapshot in module ida_segment: + +take_memory_snapshot(*args) -> 'bool' + take_memory_snapshot(only_loader_segs) -> bool + + + Take a memory snapshot of the running process. + + @param only_loader_segs: only is_loader_segm() segments will be + affected (C++: bool) + @return: success + +Help on function update_segm in module ida_segment: + +update_segm(*args) -> 'bool' + update_segm(s) -> bool + +=== ida_segment EPYDOC INJECTIONS === +ida_segment.ADDSEG_FILLGAP +""" +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. +""" + +ida_segment.ADDSEG_IDBENC +""" +non-ASCII bytes will be decoded accordingly + +'name' and 'sclass' are given in the IDB encoding; +""" + +ida_segment.ADDSEG_NOAA +""" +do not mark new segment for auto-analysis +""" + +ida_segment.ADDSEG_NOSREG +""" +(undefine all default segment registers) + +set all default segment register values to 'BADSEL' +""" + +ida_segment.ADDSEG_NOTRUNC +""" +destroy/truncate old segments instead. + +don't truncate the new segment at the beginning of the next segment if +they overlap. +""" + +ida_segment.ADDSEG_OR_DIE +""" + 'qexit()' if can't add a segment +""" + +ida_segment.ADDSEG_QUIET +""" +silent mode, no "Adding segment..." in the messages window +""" + +ida_segment.ADDSEG_SPARSE +""" +use sparse storage method for the new segment +""" + +ida_segment.CSS_BREAK +""" +memory reading process stopped by user +""" + +ida_segment.CSS_NODBG +""" +debugger is not running +""" + +ida_segment.CSS_NOMEM +""" +is too big) + +not enough memory (might be because the segment +""" + +ida_segment.CSS_NORANGE +""" +could not find corresponding memory range +""" + +ida_segment.CSS_OK +""" +ok +""" + +ida_segment.MAX_GROUPS +""" +max number of segment groups +""" + +ida_segment.MAX_SEGM_TRANSLATIONS +""" +max number of segment translations +""" + +ida_segment.MOVE_SEGM_CHUNK +""" +Too many chunks are defined, can't move. +""" + +ida_segment.MOVE_SEGM_DEBUG +""" +Debugger segments cannot be moved. +""" + +ida_segment.MOVE_SEGM_IDP +""" +IDP module forbids moving the segment. +""" + +ida_segment.MOVE_SEGM_LOADER +""" +The segment has been moved but the loader complained. +""" + +ida_segment.MOVE_SEGM_ODD +""" +Cannot move segments by an odd number of bytes. +""" + +ida_segment.MOVE_SEGM_OK +""" +all ok +""" + +ida_segment.MOVE_SEGM_ORPHAN +""" +Orphan bytes hinder segment movement. +""" + +ida_segment.MOVE_SEGM_PARAM +""" +The specified segment does not exist. +""" + +ida_segment.MOVE_SEGM_ROOM +""" +Not enough free room at the target address. +""" + +ida_segment.MSF_FIXONCE +""" +valid for 'rebase_program()' . see 'loader_t::move_segm' . + +call loader only once with the special calling method. +""" + +ida_segment.MSF_LDKEEP +""" +keep the loader in the memory (optimization) +""" + +ida_segment.MSF_NETNODES +""" +valid for 'rebase_program()' + +move netnodes instead of changing inf.netdelta (this is slower) +""" + +ida_segment.MSF_NOFIX +""" +don't call the loader to fix relocations +""" + +ida_segment.MSF_PRIORITY +""" +valid for 'move_segm()' + +loader segments will overwrite any existing debugger segments when +moved. +""" + +ida_segment.MSF_SILENT +""" +don't display a "please wait" box on the screen +""" + +ida_segment.SEGMOD_KEEP +""" +keep information (code & data, etc) +""" + +ida_segment.SEGMOD_KEEP0 +""" +flag for internal use, don't set +""" + +ida_segment.SEGMOD_KEEPSEL +""" +do not try to delete unused selector +""" + +ida_segment.SEGMOD_KILL +""" +disable addresses if segment gets shrinked or deleted +""" + +ida_segment.SEGMOD_NOMOVE +""" +(for 'set_segm_start()' ) + +don't move info from the start of segment to the new start address +""" + +ida_segment.SEGMOD_SILENT +""" +be silent +""" + +ida_segment.SEGMOD_SPARSE +""" +(for 'set_segm_start()' , 'set_segm_end()' ) + +use sparse storage if extending the segment +""" + +ida_segment.SEGPERM_EXEC +""" +Execute. +""" + +ida_segment.SEGPERM_READ +""" +Read. +""" + +ida_segment.SEGPERM_WRITE +""" +Write. +""" + +ida_segment.SEG_ABSSYM +""" +segment with definitions of absolute symbols +""" + +ida_segment.SEG_BSS +""" +uninitialized segment +""" + +ida_segment.SEG_CODE +""" +code segment +""" + +ida_segment.SEG_COMM +""" +segment with communal definitions +""" + +ida_segment.SEG_DATA +""" +data segment +""" + +ida_segment.SEG_GRP +""" +group of segments +""" + +ida_segment.SEG_IMEM +""" +internal processor memory & sfr (8051) +""" + +ida_segment.SEG_IMP +""" +java: implementation segment +""" + +ida_segment.SEG_NORM +""" +unknown type, no assumptions +""" + +ida_segment.SEG_NULL +""" +zero-length segment +""" + +ida_segment.SEG_UNDF +""" +undefined segment type (not used) +""" + +ida_segment.SEG_XTRN +""" +no instructions are allowed + +segment with 'extern' definitions. +""" + +ida_segment.SFL_COMORG +""" +IDP dependent field (IBM PC: if set, ORG directive is not commented +out) +""" + +ida_segment.SFL_DEBUG +""" +Is the segment created for the debugger?. Such segments are temporary +and do not have permanent flags. +""" + +ida_segment.SFL_HEADER +""" +Header segment (do not create offsets to it in the disassembly) +""" + +ida_segment.SFL_HIDDEN +""" +Is the segment hidden? +""" + +ida_segment.SFL_HIDETYPE +""" +Hide segment type (do not print it in the listing) +""" + +ida_segment.SFL_LOADER +""" +Is the segment created by the loader? +""" + +ida_segment.SFL_OBOK +""" +Orgbase is present? (IDP dependent field) +""" + +ida_segment.SREG_NUM +""" +Maximum number of segment registers is 16 (see 'segregs.hpp' ) +""" + +ida_segment.saAbs +""" +Absolute segment. +""" + +ida_segment.saGroup +""" +Segment group. +""" + +ida_segment.saRel1024Bytes +""" +1024 bytes +""" + +ida_segment.saRel128Bytes +""" +128 bytes +""" + +ida_segment.saRel2048Bytes +""" +2048 bytes +""" + +ida_segment.saRel32Bytes +""" +32 bytes +""" + +ida_segment.saRel4K +""" +alignment. It is not supported by LINK. + +This value is used by the PharLap OMF for page (4K) +""" + +ida_segment.saRel512Bytes +""" +512 bytes +""" + +ida_segment.saRel64Bytes +""" +64 bytes +""" + +ida_segment.saRelByte +""" +Relocatable, byte aligned. +""" + +ida_segment.saRelDble +""" +boundary. + +Relocatable, aligned on a double word (4-byte) +""" + +ida_segment.saRelPage +""" +Relocatable, aligned on 256-byte boundary. +""" + +ida_segment.saRelPara +""" +Relocatable, paragraph (16-byte) aligned. +""" + +ida_segment.saRelQword +""" +8 bytes +""" + +ida_segment.saRelWord +""" +Relocatable, word (2-byte) aligned. +""" + +ida_segment.scCommon +""" +Common. Combine by overlay using maximum size. +""" + +ida_segment.scGroup +""" +Segment group. +""" + +ida_segment.scPriv +""" +segment. + +Private. Do not combine with any other program +""" + +ida_segment.scPub +""" +the alignment requirement. + +Public. Combine by appending at an offset that meets +""" + +ida_segment.scPub2 +""" +As defined by Microsoft, same as C=2 (public). +""" + +ida_segment.scPub3 +""" +As defined by Microsoft, same as C=2 (public). +""" + +ida_segment.scStack +""" +byte alignment. + +Stack. Combine as for C=2. This combine type forces +""" +=== ida_segment EPYDOC INJECTIONS END === +Help on function copy_sreg_ranges in module ida_segregs: + +copy_sreg_ranges(*args) -> 'void' + copy_sreg_ranges(dst_rg, src_rg, map_selector=False) + + + Duplicate segment register ranges. + + @param dst_rg: number of destination segment register (C++: int) + @param src_rg: copy ranges from (C++: int) + @param map_selector: map selectors to linear addresses using sel2ea() + (C++: bool) + +Help on function del_sreg_range in module ida_segregs: + +del_sreg_range(*args) -> 'bool' + 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: start_ea of the deleted range (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_prev_sreg_range in module ida_segregs: + +get_prev_sreg_range(*args) -> 'bool' + get_prev_sreg_range(out, ea, rg) -> bool + + + Get segment register range previous to one with address.more efficient + then get_sreg_range(reg, ea-1) + + @param out: segment register range (C++: sreg_range_t *) + @param ea: any linear address in the program (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_sreg in module ida_segregs: + +get_sreg(*args) -> 'sel_t' + 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: linear address in the program (C++: ea_t) + @param rg: number of the segment register (C++: int) + @return: value of the segment register, BADSEL if value is unknown. + +Help on function get_sreg_range in module ida_segregs: + +get_sreg_range(*args) -> 'bool' + get_sreg_range(out, ea, rg) -> bool + + + Get segment register range by linear address. + + @param out: segment register range (C++: sreg_range_t *) + @param ea: any linear address in the program (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: success + +Help on function get_sreg_range_num in module ida_segregs: + +get_sreg_range_num(*args) -> 'int' + get_sreg_range_num(ea, rg) -> int + + + Get number of segment register range by address. + + @param ea: any address in the range (C++: ea_t) + @param rg: the segment register number (C++: int) + @return: -1 if no range occupies the specified address. otherwise + returns number of the specified range + (0..get_srranges_qty()-1) + +Help on function get_sreg_ranges_qty in module ida_segregs: + +get_sreg_ranges_qty(*args) -> 'size_t' + get_sreg_ranges_qty(rg) -> size_t + + + Get number of segment register ranges. + + @param rg: the segment register number (C++: int) + +Help on function getn_sreg_range in module ida_segregs: + +getn_sreg_range(*args) -> 'bool' + getn_sreg_range(out, rg, n) -> bool + + + Get segment register range by its number. + + @param out: segment register range (C++: sreg_range_t *) + @param rg: the segment register number (C++: int) + @param n: number of range (0..qty()-1) (C++: int) + @return: success + +Help on function set_default_dataseg in module ida_segregs: + +set_default_dataseg(*args) -> 'void' + set_default_dataseg(ds_sel) + + + Set default value of DS register for all segments. + + + @param ds_sel (C++: sel_t) + +Help on function set_default_sreg_value in module ida_segregs: + +set_default_sreg_value(*args) -> 'bool' + set_default_sreg_value(sg, rg, value) -> bool + + + Set default value of a segment register for a segment. + + @param sg: pointer to segment structure if NULL, then set the register + for all segments (C++: segment_t *) + @param rg: number of segment register (C++: int) + @param value: its default value. this value will be used by + get_sreg() if value of the register is unknown at the + specified address. (C++: sel_t) + @return: success + +Help on function set_sreg_at_next_code in module ida_segregs: + +set_sreg_at_next_code(*args) -> 'void' + 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: address to start to search for an instruction (C++: ea_t) + @param ea2: the maximal address (C++: ea_t) + @param rg: the segment register number (C++: int) + @param value: the segment register value (C++: sel_t) + +Help on function split_sreg_range in module ida_segregs: + +split_sreg_range(*args) -> 'bool' + 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: linear address where the segment register will have a new + value. if ea== BADADDR , nothing to do. (C++: ea_t) + @param rg: the number of the segment register (C++: int) + @param v: the new value of the segment register. If the value is + unknown, you should specify BADSEL . (C++: sel_t) + @param tag: the register info tag. see Segment register range tags + (C++: uchar) + @param silent: if false, display a warning() in the case of failure + (C++: bool) + @return: success + +Help on class sreg_range_t in module ida_segregs: + +class sreg_range_t(ida_range.range_t) + | Proxy of C++ sreg_range_t class. + | + | Method resolution order: + | sreg_range_t + | ida_range.range_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> sreg_range_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_sreg_range_t(...) + | delete_sreg_range_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | tag + | sreg_range_t_tag_get(self) -> uchar + | + | thisown + | The membership flag + | + | val + | sreg_range_t_val_get(self) -> sel_t + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.range_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _print(self, *args) -> 'size_t' + | _print(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | contains(self, *args) -> 'bool' + | contains(self, ea) -> bool + | contains(self, r) -> bool + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | extend(self, *args) -> 'void' + | extend(self, ea) + | + | intersect(self, *args) -> 'void' + | intersect(self, r) + | + | overlaps(self, *args) -> 'bool' + | overlaps(self, r) -> bool + | + | size(self, *args) -> 'asize_t' + | size(self) -> asize_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.range_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | endEA + | + | end_ea + | range_t_end_ea_get(self) -> ea_t + | + | startEA + | + | start_ea + | range_t_start_ea_get(self) -> ea_t + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.range_t: + | + | __hash__ = None + +=== ida_segregs EPYDOC INJECTIONS === +ida_segregs.SR_auto +""" +the value is determined by IDA +""" + +ida_segregs.SR_autostart +""" +used as 'SR_auto' for segment starting address +""" + +ida_segregs.SR_inherit +""" +the value is inherited from the previous range +""" + +ida_segregs.SR_user +""" +the value is specified by the user +""" +=== ida_segregs EPYDOC INJECTIONS END === +Help on function build_strlist in module ida_strlist: + +build_strlist(*args) -> 'void' + build_strlist() + + + Build the string list. You should initialize options before this call + using the restore_config() or setup_strings_window() methods. + +Help on function clear_strlist in module ida_strlist: + +clear_strlist(*args) -> 'void' + clear_strlist() + + + Clear the string list. + +Help on function get_strlist_item in module ida_strlist: + +get_strlist_item(*args) -> 'bool' + 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) + +Help on function get_strlist_options in module ida_strlist: + +get_strlist_options(*args) -> 'strwinsetup_t *' + get_strlist_options() -> strwinsetup_t + + + Get access to the static string list options. + +Help on function get_strlist_qty in module ida_strlist: + +get_strlist_qty(*args) -> 'size_t' + get_strlist_qty() -> size_t + + + Get number of elements in the string list. + +Help on class string_info_t in module ida_strlist: + +class string_info_t(builtins.object) + | Proxy of C++ string_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> string_info_t + | __init__(self, _ea) -> string_info_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_string_info_t(...) + | delete_string_info_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ea + | string_info_t_ea_get(self) -> ea_t + | + | length + | string_info_t_length_get(self) -> int + | + | thisown + | The membership flag + | + | type + | string_info_t_type_get(self) -> int + +Help on class strwinsetup_t in module ida_strlist: + +class strwinsetup_t(builtins.object) + | Proxy of C++ strwinsetup_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> strwinsetup_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_strwinsetup_t(...) + | delete_strwinsetup_t(self) + | + | _get_strtypes(self, *args) -> 'PyObject *' + | _get_strtypes(self) -> PyObject * + | + | _set_strtypes(self, *args) -> 'PyObject *' + | _set_strtypes(self, py_t) -> PyObject * + | + | is_initialized(self, *args) -> 'bool' + | is_initialized(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | display_only_existing_strings + | strwinsetup_t_display_only_existing_strings_get(self) -> uchar + | + | ignore_heads + | strwinsetup_t_ignore_heads_get(self) -> uchar + | + | minlen + | strwinsetup_t_minlen_get(self) -> sval_t + | + | only_7bit + | strwinsetup_t_only_7bit_get(self) -> uchar + | + | strtypes + | _get_strtypes(self) -> PyObject * + | + | thisown + | The membership flag + +Help on function add_struc in module ida_struct: + +add_struc(*args) -> 'tid_t' + add_struc(idx, name, is_union=False) -> tid_t + + + Create a structure type. if idx== 'BADADDR' then add as the last idx. + if name==NULL then a name will be generated "struct_%d". + + @param idx (C++: uval_t) + @param name (C++: const char *) + @param is_union (C++: bool) + +Help on function add_struc_member in module ida_struct: + +add_struc_member(*args) -> 'struc_error_t' + add_struc_member(sptr, fieldname, offset, flag, mt, nbytes) -> struc_error_t + + + Add member to existing structure. + + @param sptr: structure to modify (C++: struc_t *) + @param fieldname: if NULL, then "anonymous_#" name will be generated + (C++: const char *) + @param offset: BADADDR means add to the end of structure (C++: ea_t) + @param flag: type + representation bits (C++: flags_t) + @param mt: additional info about member type. must be present for + structs, offsets, enums, strings, struct offsets. (C++: + const opinfo_t *) + @param nbytes: if == 0 then the structure will be a varstruct. in this + case the member should be the last member in the + structure (C++: asize_t) + +Help on function del_member_tinfo in module ida_struct: + +del_member_tinfo(*args) -> 'bool' + del_member_tinfo(sptr, mptr) -> bool + + + Delete tinfo for given member. + + + @param sptr (C++: struc_t *) + @param mptr (C++: member_t *) + +Help on function del_struc in module ida_struct: + +del_struc(*args) -> 'bool' + del_struc(sptr) -> bool + + + Delete a structure type. + + + @param sptr (C++: struc_t *) + +Help on function del_struc_member in module ida_struct: + +del_struc_member(*args) -> 'bool' + del_struc_member(sptr, offset) -> bool + + + Delete member at given offset. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + +Help on function del_struc_members in module ida_struct: + +del_struc_members(*args) -> 'int' + del_struc_members(sptr, off1, off2) -> int + + + Delete members which occupy range of offsets (off1..off2). + + @param sptr (C++: struc_t *) + @param off1 (C++: ea_t) + @param off2 (C++: ea_t) + @return: number of deleted members or -1 on error + +Help on function expand_struc in module ida_struct: + +expand_struc(*args) -> 'bool' + expand_struc(sptr, offset, delta, recalc=True) -> bool + + + Expand/Shrink structure type. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param delta (C++: adiff_t) + @param recalc (C++: bool) + +Help on function get_best_fit_member in module ida_struct: + +get_best_fit_member(*args) -> 'member_t *' + get_best_fit_member(sptr, offset) -> member_t + + + Get member that is most likely referenced by the specified offset. + Useful for offsets > sizeof(struct). + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_first_struc_idx in module ida_struct: + +get_first_struc_idx(*args) -> 'uval_t' + get_first_struc_idx() -> uval_t + + + Get index of first structure. + + @return: BADADDR if no known structures, 0 otherwise + +Help on function get_last_struc_idx in module ida_struct: + +get_last_struc_idx(*args) -> 'uval_t' + get_last_struc_idx() -> uval_t + + + Get index of last structure. + + @return: BADADDR if no known structures, get_struc_qty() -1 + otherwise + +Help on function get_max_offset in module ida_struct: + +get_max_offset(*args) -> 'ea_t' + get_max_offset(sptr) -> ea_t + + + For unions: returns number of members, for structs: returns size of + structure. + + + @param sptr (C++: struc_t *) + +Help on function get_member in module ida_struct: + +get_member(*args) -> 'member_t *' + get_member(sptr, offset) -> member_t + + + Get member at given offset. + + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_member_by_fullname in module ida_struct: + +get_member_by_fullname(*args) -> 'struc_t **' + get_member_by_fullname(fullname) -> member_t + + + Get a member by its fully qualified name, "struct.field". + + + @param fullname (C++: const char *) + +Help on function get_member_by_id in module ida_struct: + +get_member_by_id(*args) -> 'qstring *, struc_t **' + get_member_by_id(mid) -> member_t + + + Check if the specified member id points to a struct member. + + + @param mid (C++: tid_t) + +Help on function get_member_by_name in module ida_struct: + +get_member_by_name(*args) -> 'member_t *' + get_member_by_name(sptr, membername) -> member_t + + + Get a member by its name, like "field44". + + + @param sptr (C++: const struc_t *) + @param membername (C++: const char *) + +Help on function get_member_cmt in module ida_struct: + +get_member_cmt(*args) -> 'qstring *' + get_member_cmt(mid, repeatable) -> str + + + Get comment of structure member. + + + @param mid (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_member_fullname in module ida_struct: + +get_member_fullname(*args) -> 'qstring *' + get_member_fullname(mid) -> str + + + Get a member's fully qualified name, "struct.field". + + + @param mid (C++: tid_t) + +Help on function get_member_id in module ida_struct: + +get_member_id(*args) -> 'tid_t' + get_member_id(sptr, offset) -> tid_t + + + Get member id at given offset. + + + @param sptr (C++: const struc_t *) + @param offset (C++: asize_t) + +Help on function get_member_name in module ida_struct: + +get_member_name(*args) -> 'qstring *' + get_member_name(mid) -> str + + + Get name of structure member. + + + @param mid (C++: tid_t) + +Help on function get_member_size in module ida_struct: + +get_member_size(*args) -> 'asize_t' + get_member_size(nonnul_mptr) -> asize_t + + + Get size of structure member. May return 0 for the last member of + varstruct. For union members, returns 'member_t::eoff' . + +Help on function get_member_struc in module ida_struct: + +get_member_struc(*args) -> 'struc_t *' + get_member_struc(fullname) -> struc_t + + + Get containing structure of member by its full name "struct.field". + + + @param fullname (C++: const char *) + +Help on function get_member_tinfo in module ida_struct: + +get_member_tinfo(*args) -> 'bool' + get_member_tinfo(tif, mptr) -> bool + + + Get tinfo for given member. + + + @param tif (C++: tinfo_t *) + @param mptr (C++: const member_t *) + +Help on function get_next_member_idx in module ida_struct: + +get_next_member_idx(*args) -> 'ssize_t' + get_next_member_idx(sptr, off) -> ssize_t + + + Get the next member idx, if it does not exist, return -1. + + + @param sptr (C++: const struc_t *) + @param off (C++: asize_t) + +Help on function get_next_struc_idx in module ida_struct: + +get_next_struc_idx(*args) -> 'uval_t' + get_next_struc_idx(idx) -> uval_t + + + Get next struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is out of bounds, otherwise idx++ + +Help on function get_or_guess_member_tinfo in module ida_struct: + +get_or_guess_member_tinfo(*args) -> 'bool' + get_or_guess_member_tinfo(tif, mptr) -> bool + + + Try to get tinfo for given member - if failed, generate a tinfo using + information about the member id from the disassembly + + @param tif (C++: tinfo_t *) + @param mptr (C++: const member_t *) + +Help on function get_prev_member_idx in module ida_struct: + +get_prev_member_idx(*args) -> 'ssize_t' + get_prev_member_idx(sptr, off) -> ssize_t + + + Get the prev member idx, if it does not exist, return -1. + + + @param sptr (C++: const struc_t *) + @param off (C++: asize_t) + +Help on function get_prev_struc_idx in module ida_struct: + +get_prev_struc_idx(*args) -> 'uval_t' + get_prev_struc_idx(idx) -> uval_t + + + Get previous struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is negative, otherwise idx - 1 + +Help on function get_sptr in module ida_struct: + +get_sptr(*args) -> 'struc_t *' + get_sptr(mptr) -> struc_t + + + Get child struct if member is a struct. + + + @param mptr (C++: const member_t *) + +Help on function get_struc in module ida_struct: + +get_struc(*args) -> 'struc_t *' + get_struc(id) -> struc_t + + + Get pointer to struct type info. + + + @param id (C++: tid_t) + +Help on function get_struc_by_idx in module ida_struct: + +get_struc_by_idx(*args) -> 'tid_t' + get_struc_by_idx(idx) -> tid_t + + + Get struct id by struct number. + + + @param idx (C++: uval_t) + +Help on function get_struc_cmt in module ida_struct: + +get_struc_cmt(*args) -> 'qstring *' + get_struc_cmt(id, repeatable) -> str + + + Get struct comment. + + + @param id (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_struc_first_offset in module ida_struct: + +get_struc_first_offset(*args) -> 'ea_t' + get_struc_first_offset(sptr) -> ea_t + + + Get offset of first member. + + @param sptr (C++: const struc_t *) + @return: BADADDR if memqty == 0 + +Help on function get_struc_id in module ida_struct: + +get_struc_id(*args) -> 'tid_t' + get_struc_id(name) -> tid_t + + + Get struct id by name. + + + @param name (C++: const char *) + +Help on function get_struc_idx in module ida_struct: + +get_struc_idx(*args) -> 'uval_t' + get_struc_idx(id) -> uval_t + + + Get internal number of the structure. + + + @param id (C++: tid_t) + +Help on function get_struc_last_offset in module ida_struct: + +get_struc_last_offset(*args) -> 'ea_t' + get_struc_last_offset(sptr) -> ea_t + + + Get offset of last member. + + @param sptr (C++: const struc_t *) + @return: BADADDR if memqty == 0 + +Help on function get_struc_name in module ida_struct: + +get_struc_name(*args) -> 'qstring *' + get_struc_name(id, flags=0) -> str + + + Get struct name by id + + @param id: struct id (C++: tid_t) + @param flags: Struct name flags (C++: int) + +Help on function get_struc_next_offset in module ida_struct: + +get_struc_next_offset(*args) -> 'ea_t' + get_struc_next_offset(sptr, offset) -> ea_t + + + Get offset of member with smallest offset larger than 'offset'. + + @param sptr (C++: const struc_t *) + @param offset (C++: ea_t) + @return: BADADDR if no next offset + +Help on function get_struc_prev_offset in module ida_struct: + +get_struc_prev_offset(*args) -> 'ea_t' + get_struc_prev_offset(sptr, offset) -> ea_t + + + Get offset of member with largest offset less than 'offset'. + + @param sptr (C++: const struc_t *) + @param offset (C++: ea_t) + @return: BADADDR if no prev offset + +Help on function get_struc_qty in module ida_struct: + +get_struc_qty(*args) -> 'size_t' + get_struc_qty() -> size_t + + + Get number of known structures. + +Help on function get_struc_size in module ida_struct: + +get_struc_size(*args) -> 'asize_t' + get_struc_size(sptr) -> asize_t + get_struc_size(id) -> asize_t + + + Get struct size (also see 'get_struc_size(tid_t)' ) + + + @param sptr (C++: const struc_t *) + +Help on function is_anonymous_member_name in module ida_struct: + +is_anonymous_member_name(*args) -> 'bool' + is_anonymous_member_name(name) -> bool + + + Is member name prefixed with "anonymous"? + + + @param name (C++: const char *) + +Help on function is_dummy_member_name in module ida_struct: + +is_dummy_member_name(*args) -> 'bool' + is_dummy_member_name(name) -> bool + + + Is member name an auto-generated name? + + + @param name (C++: const char *) + +Help on function is_member_id in module ida_struct: + +is_member_id(*args) -> 'bool' + is_member_id(mid) -> bool + + + Is a member id? + + + @param mid (C++: tid_t) + +Help on function is_special_member in module ida_struct: + +is_special_member(*args) -> 'bool' + is_special_member(id) -> bool + + + Is a special member with the name beginning with ' '? + + + @param id (C++: tid_t) + +Help on function is_union in module ida_struct: + +is_union(*args) -> 'bool' + is_union(id) -> bool + + + Is a union? + + + @param id (C++: tid_t) + +Help on function is_varmember in module ida_struct: + +is_varmember(*args) -> 'bool' + is_varmember(mptr) -> bool + + + Is variable size member? + + + @param mptr (C++: const member_t *) + +Help on function is_varstr in module ida_struct: + +is_varstr(*args) -> 'bool' + is_varstr(id) -> bool + + + Is variable size structure? + + + @param id (C++: tid_t) + +Help on class member_t in module ida_struct: + +class member_t(builtins.object) + | Proxy of C++ member_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> member_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_member_t(...) + | delete_member_t(self) + | + | by_til(self, *args) -> 'bool' + | by_til(self) -> bool + | + | get_soff(self, *args) -> 'ea_t' + | get_soff(self) -> ea_t + | + | has_ti(self, *args) -> 'bool' + | has_ti(self) -> bool + | + | has_union(self, *args) -> 'bool' + | has_union(self) -> bool + | + | is_baseclass(self, *args) -> 'bool' + | is_baseclass(self) -> bool + | + | is_destructor(self, *args) -> 'bool' + | is_destructor(self) -> bool + | + | is_dupname(self, *args) -> 'bool' + | is_dupname(self) -> bool + | + | unimem(self, *args) -> 'bool' + | unimem(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | eoff + | member_t_eoff_get(self) -> ea_t + | + | flag + | member_t_flag_get(self) -> flags_t + | + | id + | member_t_id_get(self) -> tid_t + | + | props + | member_t_props_get(self) -> uint32 + | + | soff + | member_t_soff_get(self) -> ea_t + | + | thisown + | The membership flag + +Help on function retrieve_member_info in module ida_struct: + +retrieve_member_info(*args) -> 'opinfo_t *' + retrieve_member_info(buf, mptr) -> opinfo_t + + + Get operand type info for member. + + + @param buf (C++: opinfo_t *) + @param mptr (C++: const member_t *) + +Help on function save_struc in module ida_struct: + +save_struc(*args) -> 'void' + save_struc(sptr, may_update_ltypes=True) + + + Update struct information in the database (internal function) + + + @param sptr (C++: struc_t *) + @param may_update_ltypes (C++: bool) + +Help on function set_member_cmt in module ida_struct: + +set_member_cmt(*args) -> 'bool' + set_member_cmt(mptr, cmt, repeatable) -> bool + + + Set member comment. + + + @param mptr (C++: member_t *) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_member_name in module ida_struct: + +set_member_name(*args) -> 'bool' + set_member_name(sptr, offset, name) -> bool + + + Set name of member at given offset. + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param name (C++: const char *) + +Help on function set_member_tinfo in module ida_struct: + +set_member_tinfo(*args) -> 'smt_code_t' + set_member_tinfo(sptr, mptr, memoff, tif, flags) -> smt_code_t + + + Set tinfo for given member. + + @param sptr: containing struct (C++: struc_t *) + @param mptr: target member (C++: member_t *) + @param memoff: offset within member (C++: uval_t) + @param tif: type info (C++: const tinfo_t &) + @param flags: Set member tinfo flags (C++: int) + +Help on function set_member_type in module ida_struct: + +set_member_type(*args) -> 'bool' + set_member_type(sptr, offset, flag, mt, nbytes) -> bool + + + Set type of member at given offset (also see 'add_struc_member()' ) + + + @param sptr (C++: struc_t *) + @param offset (C++: ea_t) + @param flag (C++: flags_t) + @param mt (C++: const opinfo_t *) + @param nbytes (C++: asize_t) + +Help on function set_struc_align in module ida_struct: + +set_struc_align(*args) -> 'bool' + set_struc_align(sptr, shift) -> bool + + + Set structure alignment ( 'SF_ALIGN' ) + + + @param sptr (C++: struc_t *) + @param shift (C++: int) + +Help on function set_struc_cmt in module ida_struct: + +set_struc_cmt(*args) -> 'bool' + set_struc_cmt(id, cmt, repeatable) -> bool + + + Set structure comment. + + + @param id (C++: tid_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_struc_hidden in module ida_struct: + +set_struc_hidden(*args) -> 'void' + set_struc_hidden(sptr, is_hidden) + + + Hide/unhide a struct type. + + + @param sptr (C++: struc_t *) + @param is_hidden (C++: bool) + +Help on function set_struc_idx in module ida_struct: + +set_struc_idx(*args) -> 'bool' + set_struc_idx(sptr, idx) -> bool + + + Set internal number of struct. Also see 'get_struc_idx()' , + 'get_struc_by_idx()' . + + @param sptr (C++: const struc_t *) + @param idx (C++: uval_t) + +Help on function set_struc_listed in module ida_struct: + +set_struc_listed(*args) -> 'void' + set_struc_listed(sptr, is_listed) + + + Add/remove a struct type from the struct list. + + + @param sptr (C++: struc_t *) + @param is_listed (C++: bool) + +Help on function set_struc_name in module ida_struct: + +set_struc_name(*args) -> 'bool' + set_struc_name(id, name) -> bool + + + Set structure name. + + + @param id (C++: tid_t) + @param name (C++: const char *) + +Help on function stroff_as_size in module ida_struct: + +stroff_as_size(*args) -> 'bool' + stroff_as_size(plen, sptr, value) -> bool + + + Should display a structure offset expression as the structure size? + + + @param plen (C++: int) + @param sptr (C++: const struc_t *) + @param value (C++: asize_t) + +Help on class struc_t in module ida_struct: + +class struc_t(builtins.object) + | Proxy of C++ struc_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_struc_t(...) + | delete_struc_t(self) + | + | from_til(self, *args) -> 'bool' + | from_til(self) -> bool + | + | get_alignment(self, *args) -> 'int' + | get_alignment(self) -> int + | + | get_member(self, *args) -> 'member_t *' + | get_member(self, index) -> member_t + | + | has_union(self, *args) -> 'bool' + | has_union(self) -> bool + | + | is_choosable(self, *args) -> 'bool' + | is_choosable(self) -> bool + | + | is_frame(self, *args) -> 'bool' + | is_frame(self) -> bool + | + | is_ghost(self, *args) -> 'bool' + | is_ghost(self) -> bool + | + | is_hidden(self, *args) -> 'bool' + | is_hidden(self) -> bool + | + | is_union(self, *args) -> 'bool' + | is_union(self) -> bool + | + | is_varstr(self, *args) -> 'bool' + | is_varstr(self) -> bool + | + | set_alignment(self, *args) -> 'void' + | set_alignment(self, shift) + | + | set_ghost(self, *args) -> 'void' + | set_ghost(self, _is_ghost) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | age + | struc_t_age_get(self) -> ushort + | + | id + | struc_t_id_get(self) -> tid_t + | + | members + | struc_t_members_get(self) -> member_t + | + | memqty + | struc_t_memqty_get(self) -> uint32 + | + | ordinal + | struc_t_ordinal_get(self) -> int32 + | + | props + | struc_t_props_get(self) -> uint32 + | + | thisown + | The membership flag + +Help on class struct_field_visitor_t in module ida_struct: + +class struct_field_visitor_t(builtins.object) + | Proxy of C++ struct_field_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> struct_field_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_struct_field_visitor_t(...) + | delete_struct_field_visitor_t(self) + | + | visit_field(self, *args) -> 'int' + | visit_field(self, sptr, mptr) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function visit_stroff_fields in module ida_struct: + +visit_stroff_fields(*args) -> 'adiff_t *' + visit_stroff_fields(sfv, path, disp, appzero) -> flags_t + + + 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: visitor object (C++: struct_field_visitor_t &) + @param path: struct path (path[0] contains the initial struct id) + (C++: const tid_t *) + @param disp: offset into structure (C++: adiff_t *) + @param appzero: should visit field at offset zero? (C++: bool) + +=== ida_struct EPYDOC INJECTIONS === +ida_struct.MF_BASECLASS +""" +a special member representing base class +""" + +ida_struct.MF_BYTIL +""" +the member was created due to the type system +""" + +ida_struct.MF_DTOR +""" +a special member representing destructor +""" + +ida_struct.MF_DUPNAME +""" +duplicate name resolved with _N suffix (N==soff) +""" + +ida_struct.MF_HASTI +""" +has type information? +""" + +ida_struct.MF_HASUNI +""" +has members of type "union"? +""" + +ida_struct.MF_OK +""" +is the member ok? (always yes) +""" + +ida_struct.MF_UNIMEM +""" +is a member of a union? +""" + +ida_struct.SET_MEMTI_BYTIL +""" +new type was created by the type subsystem +""" + +ida_struct.SET_MEMTI_COMPATIBLE +""" +new type must be compatible with the old +""" + +ida_struct.SET_MEMTI_FUNCARG +""" +mptr is function argument (cannot create arrays) +""" + +ida_struct.SET_MEMTI_MAY_DESTROY +""" +may destroy other members +""" + +ida_struct.SET_MEMTI_USERTI +""" +user-specified type +""" + +ida_struct.SF_ALIGN +""" +alignment (shift amount: 0..31) +""" + +ida_struct.SF_FRAME +""" +the structure is a function frame +""" + +ida_struct.SF_GHOST +""" +ghost copy of a local type +""" + +ida_struct.SF_HASUNI +""" +has members of type "union"? +""" + +ida_struct.SF_HIDDEN +""" +the structure is collapsed +""" + +ida_struct.SF_NOLIST +""" +don't include in the chooser list +""" + +ida_struct.SF_TYPLIB +""" +the structure comes from type library +""" + +ida_struct.SF_UNION +""" +varunions are prohibited! + +is a union? +""" + +ida_struct.SF_VAR +""" +is variable size structure (varstruct)? a variable size structure is +one with the zero size last member. if the last member is a varstruct, +then the current structure is a varstruct too. +""" + +ida_struct.STRNFL_REGEX +""" +apply regular expressions to beautify the name +""" + +ida_struct.STRUC_SEPARATOR +""" +structname.fieldname +""" +=== ida_struct EPYDOC INJECTIONS END === +Help on function add_tryblk in module ida_tryblks: + +add_tryblk(*args) -> 'int' + add_tryblk(tb) -> int + + + Add one try block information. + + @param tb: try block to add. (C++: const tryblk_t &) + @return: error code; 0 means good + +Help on class catch_t in module ida_tryblks: + +class catch_t(try_handler_t) + | Proxy of C++ catch_t class. + | + | Method resolution order: + | catch_t + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> catch_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_catch_t(...) + | delete_catch_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | obj + | catch_t_obj_get(self) -> sval_t + | + | thisown + | The membership flag + | + | type_id + | catch_t_type_id_get(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Methods inherited from try_handler_t: + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from try_handler_t: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.rangevec_base_t: + | + | __hash__ = None + +Help on class catchvec_t in module ida_tryblks: + +class catchvec_t(builtins.object) + | Proxy of C++ qvector< catch_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'catch_t const &' + | __getitem__(self, i) -> catch_t + | + | __init__(self, *args) + | __init__(self) -> catchvec_t + | __init__(self, x) -> catchvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_catchvec_t(...) + | delete_catchvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'catch_t const &' + | at(self, _idx) -> catch_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< catch_t >::const_iterator' + | begin(self) -> catch_t + | begin(self) -> catch_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< catch_t >::const_iterator' + | end(self) -> catch_t + | end(self) -> catch_t + | + | erase(self, *args) -> 'qvector< catch_t >::iterator' + | erase(self, it) -> catch_t + | erase(self, first, last) -> catch_t + | + | extract(self, *args) -> 'catch_t *' + | extract(self) -> catch_t + | + | find(self, *args) -> 'qvector< catch_t >::const_iterator' + | find(self, x) -> catch_t + | find(self, x) -> catch_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=catch_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< catch_t >::iterator' + | insert(self, it, x) -> catch_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'catch_t &' + | push_back(self, x) + | push_back(self) -> catch_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function del_tryblks in module ida_tryblks: + +del_tryblks(*args) -> 'void' + del_tryblks(range) + + + Delete try block information in the specified range. + + @param range: the range to be cleared (C++: const range_t &) + +Help on function find_syseh in module ida_tryblks: + +find_syseh(*args) -> 'ea_t' + find_syseh(ea) -> ea_t + + + Find the start address of the system eh region including the argument. + + @param ea: search address (C++: ea_t) + @return: start address of surrounding tryblk, otherwise BADADDR + +Help on function get_tryblks in module ida_tryblks: + +get_tryblks(*args) -> 'size_t' + 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: output buffer; may be NULL (C++: tryblks_t *) + @param range: address range to change (C++: const range_t &) + @return: number of found try blocks + +Help on class seh_t in module ida_tryblks: + +class seh_t(try_handler_t) + | Proxy of C++ seh_t class. + | + | Method resolution order: + | seh_t + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> seh_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_seh_t(...) + | delete_seh_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | filter + | seh_t_filter_get(self) -> rangevec_t + | + | seh_code + | seh_t_seh_code_get(self) -> ea_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from try_handler_t: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.rangevec_base_t: + | + | __hash__ = None + +Help on class try_handler_t in module ida_tryblks: + +class try_handler_t(ida_range.rangevec_t) + | Proxy of C++ try_handler_t class. + | + | Method resolution order: + | try_handler_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> try_handler_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_try_handler_t(...) + | delete_try_handler_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | disp + | try_handler_t_disp_get(self) -> sval_t + | + | fpreg + | try_handler_t_fpreg_get(self) -> int + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.rangevec_base_t: + | + | __hash__ = None + +Help on class tryblk_t in module ida_tryblks: + +class tryblk_t(ida_range.rangevec_t) + | Proxy of C++ tryblk_t class. + | + | Method resolution order: + | tryblk_t + | ida_range.rangevec_t + | ida_range.rangevec_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> tryblk_t + | __init__(self, r) -> tryblk_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_tryblk_t(...) + | delete_tryblk_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | cpp(self, *args) -> 'catchvec_t &' + | cpp(self) -> catchvec_t + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | get_kind(self, *args) -> 'uchar' + | get_kind(self) -> uchar + | + | is_cpp(self, *args) -> 'bool' + | is_cpp(self) -> bool + | + | is_seh(self, *args) -> 'bool' + | is_seh(self) -> bool + | + | seh(self, *args) -> 'seh_t &' + | seh(self) -> seh_t + | + | set_cpp(self, *args) -> 'catchvec_t &' + | set_cpp(self) -> catchvec_t + | + | set_seh(self, *args) -> 'seh_t &' + | set_seh(self) -> seh_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | level + | tryblk_t_level_get(self) -> uchar + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from ida_range.rangevec_base_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'range_t const &' + | __getitem__(self, i) -> range_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'range_t const &' + | at(self, _idx) -> range_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< range_t >::const_iterator' + | begin(self) -> range_t + | begin(self) -> range_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | end(self, *args) -> 'qvector< range_t >::const_iterator' + | end(self) -> range_t + | end(self) -> range_t + | + | erase(self, *args) -> 'qvector< range_t >::iterator' + | erase(self, it) -> range_t + | erase(self, first, last) -> range_t + | + | extract(self, *args) -> 'range_t *' + | extract(self) -> range_t + | + | find(self, *args) -> 'qvector< range_t >::const_iterator' + | find(self, x) -> range_t + | find(self, x) -> range_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=range_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< range_t >::iterator' + | insert(self, it, x) -> range_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'range_t &' + | push_back(self, x) + | push_back(self) -> range_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from ida_range.rangevec_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from ida_range.rangevec_base_t: + | + | __hash__ = None + +Help on class tryblks_t in module ida_tryblks: + +class tryblks_t(builtins.object) + | Proxy of C++ qvector< tryblk_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'tryblk_t const &' + | __getitem__(self, i) -> tryblk_t + | + | __init__(self, *args) + | __init__(self) -> tryblks_t + | __init__(self, x) -> tryblks_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_tryblks_t(...) + | delete_tryblks_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'tryblk_t const &' + | at(self, _idx) -> tryblk_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< tryblk_t >::const_iterator' + | begin(self) -> tryblk_t + | begin(self) -> tryblk_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< tryblk_t >::const_iterator' + | end(self) -> tryblk_t + | end(self) -> tryblk_t + | + | erase(self, *args) -> 'qvector< tryblk_t >::iterator' + | erase(self, it) -> tryblk_t + | erase(self, first, last) -> tryblk_t + | + | extract(self, *args) -> 'tryblk_t *' + | extract(self) -> tryblk_t + | + | find(self, *args) -> 'qvector< tryblk_t >::const_iterator' + | find(self, x) -> tryblk_t + | find(self, x) -> tryblk_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=tryblk_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< tryblk_t >::iterator' + | insert(self, it, x) -> tryblk_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'tryblk_t &' + | push_back(self, x) + | push_back(self) -> tryblk_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +=== ida_tryblks EPYDOC INJECTIONS === +ida_tryblks.TBERR_EMPTY +""" +empty try block +""" + +ida_tryblks.TBERR_END +""" +bad end address +""" + +ida_tryblks.TBERR_INTERSECT +""" +range would intersect inner tryblk +""" + +ida_tryblks.TBERR_KIND +""" +illegal try block kind +""" + +ida_tryblks.TBERR_NO_CATCHES +""" +no catch blocks at all +""" + +ida_tryblks.TBERR_OK +""" +ok +""" + +ida_tryblks.TBERR_ORDER +""" +bad address order +""" + +ida_tryblks.TBERR_START +""" +bad start address +""" +=== ida_tryblks EPYDOC INJECTIONS END === +Help on function add_til in module ida_typeinf: + +add_til(*args) -> 'int' + add_til(name, flags) -> int + + + Load a til file. + + @param name: til name (C++: const char *) + @param flags: combination of Load TIL flags (C++: int) + @return: one of Load TIL result codes + +Help on function alloc_type_ordinal in module ida_typeinf: + +alloc_type_ordinal(*args) -> 'uint32' + alloc_type_ordinal(ti) -> uint32 + + + \call2{alloc_type_ordinals,ti,1} + + + @param ti (C++: til_t *) + +Help on function alloc_type_ordinals in module ida_typeinf: + +alloc_type_ordinals(*args) -> 'uint32' + alloc_type_ordinals(ti, qty) -> uint32 + + + Allocate a range of ordinal numbers for new types. + + @param ti: type library (C++: til_t *) + @param qty: number of ordinals to allocate (C++: int) + @return: the first ordinal. 0 means failure. + +Help on class aloc_visitor_t in module ida_typeinf: + +class aloc_visitor_t(builtins.object) + | Proxy of C++ aloc_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> aloc_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_aloc_visitor_t(...) + | delete_aloc_visitor_t(self) + | + | visit_location(self, *args) -> 'int' + | visit_location(self, v, off, size) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function append_abi_opts in module ida_typeinf: + +append_abi_opts(*args) -> 'bool' + 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: - ABI options to add/remove in form opt1-opt2-... + (C++: const char *) + @param user_level: - initiated by user if TRUE (==SETCOMP_BY_USER) + (C++: bool) + @return: success + +Help on function append_argloc in module ida_typeinf: + +append_argloc(*args) -> 'bool' + append_argloc(out, vloc) -> bool + + + Serialize argument location. + + + @param out (C++: qtype *) + @param vloc (C++: const argloc_t &) + +Help on function append_tinfo_covered in module ida_typeinf: + +append_tinfo_covered(*args) -> 'bool' + append_tinfo_covered(out, typid, offset) -> bool + +Help on function apply_callee_tinfo in module ida_typeinf: + +apply_callee_tinfo(*args) -> 'bool' + 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: linear address of the calling instruction. must belong + to a function. (C++: ea_t) + @param tif: type info (C++: const tinfo_t &) + @return: success + +Help on function apply_cdecl in module ida_typeinf: + +apply_cdecl(*args) -> 'bool' + 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: type library (C++: til_t *) + @param ea: linear address (C++: ea_t) + @param decl: type declaration in C form (C++: const char *) + @param flags: flags to pass to apply_tinfo ( TINFO_DEFINITE is always + passed) (C++: int) + @return: success + +Help on function apply_named_type in module ida_typeinf: + +apply_named_type(*args) -> 'bool' + apply_named_type(ea, name) -> bool + + + Apply the specified named type to the address. + + @param ea: linear address (C++: ea_t) + @param name: the type name, e.g. "FILE" (C++: const char *) + @return: success + +Help on function apply_once_tinfo_and_name in module ida_typeinf: + +apply_once_tinfo_and_name(*args) -> 'bool' + 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 typedoes not exist or + the new type is 'better' than the old type, then thenew type will be + applied. A type is considered better if it has moreinformation (e.g. + 'BTMT_STRUCT' is better than 'BT_INT' ).The same logic is with the + name: if the address already have a meaningfulname, it will be + preserved. Only if the old name does not exist or itis a dummy name + like byte_123, it will be replaced by the new name. + + @param dea: linear address (C++: ea_t) + @param tif: type string in the internal format (C++: const tinfo_t + &) + @param name: new name for the address (C++: const char *) + @return: success + +Help on function apply_tinfo in module ida_typeinf: + +apply_tinfo(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param tif: type string in internal format (C++: const tinfo_t &) + @param flags: combination of Apply tinfo flags (C++: uint32) + @return: success + +Help on function apply_tinfo_to_stkarg in module ida_typeinf: + +apply_tinfo_to_stkarg(*args) -> 'bool' + apply_tinfo_to_stkarg(insn, x, v, tif, name) -> bool + + + Helper function for the processor modules. to be called from + \ph{use_stkarg_type} + + @param insn (C++: const insn_t &) + @param x (C++: const op_t &) + @param v (C++: uval_t) + @param tif (C++: const tinfo_t &) + @param name (C++: const char *) + +Help on function apply_type in module ida_typeinf: + +apply_type(*args) -> 'bool' + 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 py_type: type string + @param py_fields: fields string (may be empty or None) + @param ea: the address of the object + @param flags: combination of TINFO_... constants or 0 + @return: Boolean + +Help on class argloc_t in module ida_typeinf: + +class argloc_t(builtins.object) + | Proxy of C++ argloc_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> argloc_t + | __init__(self, r) -> argloc_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_argloc_t(...) + | delete_argloc_t(self) + | + | _consume_rrel(self, *args) -> 'bool' + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) -> 'bool' + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) -> 'void' + | _set_badloc(self) + | + | _set_biggest(self, *args) -> 'void' + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) -> 'void' + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) -> 'void' + | _set_ea(self, _ea) + | + | _set_reg1(self, *args) -> 'void' + | _set_reg1(self, reg, off=0) + | + | _set_reg2(self, *args) -> 'void' + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) -> 'void' + | _set_stkoff(self, off) + | + | advance(self, *args) -> 'bool' + | advance(self, delta) -> bool + | + | atype(self, *args) -> 'argloc_type_t' + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) -> 'sval_t' + | calc_offset(self) -> sval_t + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | consume_rrel(self, *args) -> 'void' + | consume_rrel(self, p) + | + | consume_scattered(self, *args) -> 'void' + | consume_scattered(self, p) + | + | get_biggest(self, *args) -> 'argloc_t::biggest_t' + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) -> 'void *' + | get_custom(self) -> void * + | + | get_ea(self, *args) -> 'ea_t' + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) -> 'uint32' + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) -> 'rrel_t const &' + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) -> 'bool' + | has_reg(self) -> bool + | + | has_stkoff(self, *args) -> 'bool' + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) -> 'bool' + | is_badloc(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_ea(self, *args) -> 'bool' + | is_ea(self) -> bool + | + | is_fragmented(self, *args) -> 'bool' + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) -> 'bool' + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_rrel(self, *args) -> 'bool' + | is_rrel(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) -> 'void' + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) -> 'void' + | justify_stkoff_right(self, size, _slotsize) + | + | reg1(self, *args) -> 'int' + | reg1(self) -> int + | + | reg2(self, *args) -> 'int' + | reg2(self) -> int + | + | regoff(self, *args) -> 'int' + | regoff(self) -> int + | + | scattered(self, *args) -> 'scattered_aloc_t const &' + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) -> 'void' + | set_badloc(self) + | + | set_ea(self, *args) -> 'void' + | set_ea(self, _ea) + | + | set_reg1(self, *args) -> 'void' + | set_reg1(self, reg, off=0) + | + | set_reg2(self, *args) -> 'void' + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, off) + | + | stkoff(self, *args) -> 'sval_t' + | stkoff(self) -> sval_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class argpart_t in module ida_typeinf: + +class argpart_t(argloc_t) + | Proxy of C++ argpart_t class. + | + | Method resolution order: + | argpart_t + | argloc_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, a) -> argpart_t + | __init__(self) -> argpart_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_argpart_t(...) + | delete_argpart_t(self) + | + | bad_offset(self, *args) -> 'bool' + | bad_offset(self) -> bool + | + | bad_size(self, *args) -> 'bool' + | bad_size(self) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | off + | argpart_t_off_get(self) -> ushort + | + | size + | argpart_t_size_get(self) -> ushort + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from argloc_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | _consume_rrel(self, *args) -> 'bool' + | _consume_rrel(self, p) -> bool + | + | _consume_scattered(self, *args) -> 'bool' + | _consume_scattered(self, p) -> bool + | + | _set_badloc(self, *args) -> 'void' + | _set_badloc(self) + | + | _set_biggest(self, *args) -> 'void' + | _set_biggest(self, ct, data) + | + | _set_custom(self, *args) -> 'void' + | _set_custom(self, ct, pdata) + | + | _set_ea(self, *args) -> 'void' + | _set_ea(self, _ea) + | + | _set_reg1(self, *args) -> 'void' + | _set_reg1(self, reg, off=0) + | + | _set_reg2(self, *args) -> 'void' + | _set_reg2(self, _reg1, _reg2) + | + | _set_stkoff(self, *args) -> 'void' + | _set_stkoff(self, off) + | + | advance(self, *args) -> 'bool' + | advance(self, delta) -> bool + | + | atype(self, *args) -> 'argloc_type_t' + | atype(self) -> argloc_type_t + | + | calc_offset(self, *args) -> 'sval_t' + | calc_offset(self) -> sval_t + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | consume_rrel(self, *args) -> 'void' + | consume_rrel(self, p) + | + | consume_scattered(self, *args) -> 'void' + | consume_scattered(self, p) + | + | get_biggest(self, *args) -> 'argloc_t::biggest_t' + | get_biggest(self) -> argloc_t::biggest_t + | + | get_custom(self, *args) -> 'void *' + | get_custom(self) -> void * + | + | get_ea(self, *args) -> 'ea_t' + | get_ea(self) -> ea_t + | + | get_reginfo(self, *args) -> 'uint32' + | get_reginfo(self) -> uint32 + | + | get_rrel(self, *args) -> 'rrel_t const &' + | get_rrel(self) -> rrel_t + | get_rrel(self) -> rrel_t + | + | has_reg(self, *args) -> 'bool' + | has_reg(self) -> bool + | + | has_stkoff(self, *args) -> 'bool' + | has_stkoff(self) -> bool + | + | is_badloc(self, *args) -> 'bool' + | is_badloc(self) -> bool + | + | is_custom(self, *args) -> 'bool' + | is_custom(self) -> bool + | + | is_ea(self, *args) -> 'bool' + | is_ea(self) -> bool + | + | is_fragmented(self, *args) -> 'bool' + | is_fragmented(self) -> bool + | + | is_mixed_scattered(self, *args) -> 'bool' + | is_mixed_scattered(self) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self) -> bool + | + | is_reg1(self, *args) -> 'bool' + | is_reg1(self) -> bool + | + | is_reg2(self, *args) -> 'bool' + | is_reg2(self) -> bool + | + | is_rrel(self, *args) -> 'bool' + | is_rrel(self) -> bool + | + | is_scattered(self, *args) -> 'bool' + | is_scattered(self) -> bool + | + | is_stkoff(self, *args) -> 'bool' + | is_stkoff(self) -> bool + | + | justify_reg_high(self, *args) -> 'void' + | justify_reg_high(self, size, _slotsize) + | + | justify_stkoff_right(self, *args) -> 'void' + | justify_stkoff_right(self, size, _slotsize) + | + | reg1(self, *args) -> 'int' + | reg1(self) -> int + | + | reg2(self, *args) -> 'int' + | reg2(self) -> int + | + | regoff(self, *args) -> 'int' + | regoff(self) -> int + | + | scattered(self, *args) -> 'scattered_aloc_t const &' + | scattered(self) -> scattered_aloc_t + | scattered(self) -> scattered_aloc_t + | + | set_badloc(self, *args) -> 'void' + | set_badloc(self) + | + | set_ea(self, *args) -> 'void' + | set_ea(self, _ea) + | + | set_reg1(self, *args) -> 'void' + | set_reg1(self, reg, off=0) + | + | set_reg2(self, *args) -> 'void' + | set_reg2(self, _reg1, _reg2) + | + | set_stkoff(self, *args) -> 'void' + | set_stkoff(self, off) + | + | stkoff(self, *args) -> 'sval_t' + | stkoff(self) -> sval_t + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from argloc_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from argloc_t: + | + | __hash__ = None + +Help on class argpartvec_t in module ida_typeinf: + +class argpartvec_t(builtins.object) + | Proxy of C++ qvector< argpart_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'argpart_t const &' + | __getitem__(self, i) -> argpart_t + | + | __init__(self, *args) + | __init__(self) -> argpartvec_t + | __init__(self, x) -> argpartvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_argpartvec_t(...) + | delete_argpartvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'argpart_t const &' + | at(self, _idx) -> argpart_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< argpart_t >::const_iterator' + | begin(self) -> argpart_t + | begin(self) -> argpart_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< argpart_t >::const_iterator' + | end(self) -> argpart_t + | end(self) -> argpart_t + | + | erase(self, *args) -> 'qvector< argpart_t >::iterator' + | erase(self, it) -> argpart_t + | erase(self, first, last) -> argpart_t + | + | extract(self, *args) -> 'argpart_t *' + | extract(self) -> argpart_t + | + | find(self, *args) -> 'qvector< argpart_t >::const_iterator' + | find(self, x) -> argpart_t + | find(self, x) -> argpart_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=argpart_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< argpart_t >::iterator' + | insert(self, it, x) -> argpart_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'argpart_t &' + | push_back(self, x) + | push_back(self) -> argpart_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class array_type_data_t in module ida_typeinf: + +class array_type_data_t(builtins.object) + | Proxy of C++ array_type_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, b=0, n=0) -> array_type_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_array_type_data_t(...) + | delete_array_type_data_t(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | base + | array_type_data_t_base_get(self) -> uint32 + | + | elem_type + | array_type_data_t_elem_type_get(self) -> tinfo_t + | + | nelems + | array_type_data_t_nelems_get(self) -> uint32 + | + | thisown + | The membership flag + +Help on function begin_type_updating in module ida_typeinf: + +begin_type_updating(*args) -> 'void' + 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) + +Help on class bitfield_type_data_t in module ida_typeinf: + +class bitfield_type_data_t(builtins.object) + | Proxy of C++ bitfield_type_data_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, _nbytes=0, _width=0, _is_unsigned=False) -> bitfield_type_data_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_bitfield_type_data_t(...) + | delete_bitfield_type_data_t(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | is_unsigned + | bitfield_type_data_t_is_unsigned_get(self) -> bool + | + | nbytes + | bitfield_type_data_t_nbytes_get(self) -> uchar + | + | thisown + | The membership flag + | + | width + | bitfield_type_data_t_width_get(self) -> uchar + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function calc_c_cpp_name in module ida_typeinf: + +calc_c_cpp_name(*args) -> 'qstring *' + calc_c_cpp_name(name, type, ccn_flags) -> str + + + Get C or C++ form of the name. + + @param name: original (mangled or decorated) name (C++: const char *) + @param type: name type if known, otherwise NULL (C++: const tinfo_t + *) + @param ccn_flags: one of C/C++ naming flags (C++: int) + +Help on function calc_number_of_children in module ida_typeinf: + +calc_number_of_children(*args) -> 'int' + 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: location of the data ( ALOC_STATIC or ALOC_CUSTOM ) + (C++: const argloc_t &) + @param tif: type info (C++: const tinfo_t &) + @param dont_deref_ptr: consider 'ea' as the ptr value (C++: bool) + +Help on function calc_tinfo_gaps in module ida_typeinf: + +calc_tinfo_gaps(*args) -> 'bool' + calc_tinfo_gaps(out, typid) -> bool + +Help on function calc_type_size in module ida_typeinf: + +calc_type_size(*args) -> 'PyObject *' + calc_type_size(ti, tp) -> PyObject * + + + Returns the size of a type + @param ti: Type info. 'None' can be passed. + @param tp: type string + @return: + - None on failure + - The size of the type + +Help on class callregs_t in module ida_typeinf: + +class callregs_t(builtins.object) + | Proxy of C++ callregs_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> callregs_t + | __init__(self, cc) -> callregs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_callregs_t(...) + | delete_callregs_t(self) + | + | init_regs(self, *args) -> 'void' + | init_regs(self, cc) + | + | reginds(self, *args) -> 'bool' + | reginds(self, gp_ind, fp_ind, r) -> bool + | + | reset(self, *args) -> 'void' + | reset(self) + | + | set(self, *args) -> 'void' + | set(self, _policy, gprs, fprs) + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | regcount(*args) -> 'int' + | regcount(cc) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | fpregs + | callregs_t_fpregs_get(self) -> intvec_t * + | + | gpregs + | callregs_t_gpregs_get(self) -> intvec_t * + | + | nregs + | callregs_t_nregs_get(self) -> int + | + | policy + | callregs_t_policy_get(self) -> argreg_policy_t + | + | thisown + | The membership flag + +Help on function callregs_t_regcount in module ida_typeinf: + +callregs_t_regcount(*args) -> 'int' + callregs_t_regcount(cc) -> int + +Help on function choose_local_tinfo in module ida_typeinf: + +choose_local_tinfo(*args) -> 'uint32' + choose_local_tinfo(ti, title, func=None, def_ord=0, ud=None) -> uint32 + + + Choose a type from the local type library. + + @param ti: pointer to til (C++: const til_t *) + @param title: title of listbox to display (C++: const char *) + @param func: predicate to select types to display (maybe NULL) (C++: + local_tinfo_predicate_t *) + @param def_ord: ordinal to position cursor before choose (C++: uint32) + @param ud: user data (C++: void *) + @return: == 0 means nothing is chosen, otherwise an ordinal number + +Help on function choose_local_tinfo_and_delta in module ida_typeinf: + +choose_local_tinfo_and_delta(*args) -> 'uint32' + 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: pointer shift value (C++: int32 *) + @param ti: pointer to til (C++: const til_t *) + @param title: title of listbox to display (C++: const char *) + @param func: predicate to select types to display (maybe NULL) (C++: + local_tinfo_predicate_t *) + @param def_ord: ordinal to position cursor before choose (C++: uint32) + @param ud: user data (C++: void *) + @return: == 0 means nothing is chosen, otherwise an ordinal number + +Help on function choose_named_type in module ida_typeinf: + +choose_named_type(*args) -> 'bool' + choose_named_type(out_sym, root_til, title, ntf_flags, predicate=None) -> bool + + + Choose a type from a type library. + + @param out_sym: pointer to be filled with the chosen type (C++: + til_symbol_t *) + @param root_til: pointer to starting til (the function will inspect + the base tils if allowed by flags) (C++: const til_t + *) + @param title: title of listbox to display (C++: const char *) + @param ntf_flags: combination of Flags for named types (C++: int) + @param predicate: predicate to select types to display (maybe NULL) + (C++: predicate_t *) + @return: false if nothing is chosen, otherwise true + +Help on function clear_tinfo_t in module ida_typeinf: + +clear_tinfo_t(*args) -> 'void' + clear_tinfo_t(_this) + +Help on function compact_til in module ida_typeinf: + +compact_til(*args) -> 'bool' + 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 + +Help on function compare_tinfo in module ida_typeinf: + +compare_tinfo(*args) -> 'bool' + compare_tinfo(t1, t2, tcflags) -> bool + +Help on class const_aloc_visitor_t in module ida_typeinf: + +class const_aloc_visitor_t(builtins.object) + | Proxy of C++ const_aloc_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> const_aloc_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_const_aloc_visitor_t(...) + | delete_const_aloc_visitor_t(self) + | + | visit_location(self, *args) -> 'int' + | visit_location(self, v, off, size) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function convert_pt_flags_to_hti in module ida_typeinf: + +convert_pt_flags_to_hti(*args) -> 'int' + 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) + +Help on function copy_named_type in module ida_typeinf: + +copy_named_type(*args) -> 'uint32' + 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: Destination til. It must have orginal types enabled + (C++: til_t *) + @param srctil: Source til. (C++: const til_t *) + @param name: name of the type to copy (C++: const char *) + @return: ordinal number of the copied type. 0 means error + +Help on function copy_tinfo_t in module ida_typeinf: + +copy_tinfo_t(*args) -> 'void' + copy_tinfo_t(_this, r) + +Help on function create_numbered_type_name in module ida_typeinf: + +create_numbered_type_name(*args) -> 'qstring *' + 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) + +Help on function create_tinfo in module ida_typeinf: + +create_tinfo(*args) -> 'bool' + create_tinfo(_this, bt, bt2, ptr) -> bool + +Help on function default_compiler in module ida_typeinf: + +default_compiler(*args) -> 'comp_t' + default_compiler() -> comp_t + + + Get compiler specified by \varmem{inf,idainfo,cc}. + +Help on function del_named_type in module ida_typeinf: + +del_named_type(*args) -> 'bool' + del_named_type(ti, name, ntf_flags) -> bool + + + Delete information about a symbol. + + @param ti: type library (C++: til_t *) + @param name: name of symbol (C++: const char *) + @param ntf_flags: combination of Flags for named types (C++: int) + @return: success + +Help on function del_numbered_type in module ida_typeinf: + +del_numbered_type(*args) -> 'bool' + del_numbered_type(ti, ordinal) -> bool + + + Delete a numbered type. + + + @param ti (C++: til_t *) + @param ordinal (C++: uint32) + +Help on function del_til in module ida_typeinf: + +del_til(*args) -> 'bool' + del_til(name) -> bool + + + Unload a til file. + + + @param name (C++: const char *) + +Help on function del_tinfo_attr in module ida_typeinf: + +del_tinfo_attr(*args) -> 'bool' + del_tinfo_attr(tif, key, make_copy) -> bool + +Help on function deref_ptr in module ida_typeinf: + +deref_ptr(*args) -> 'bool' + deref_ptr(ptr_ea, tif, closure_obj=None) -> bool + + + Dereference a pointer. + + @param ptr_ea: in/out parameter in: address of the pointer out: + the pointed address (C++: ea_t *) + @param tif: type of the pointer (C++: const tinfo_t &) + @param closure_obj: closure object (not used yet) (C++: ea_t *) + @return: success + +Help on function deserialize_tinfo in module ida_typeinf: + +deserialize_tinfo(*args) -> 'bool' + deserialize_tinfo(tif, til, ptype, pfields, pfldcmts) -> bool + +Help on function dstr_tinfo in module ida_typeinf: + +dstr_tinfo(*args) -> 'char const *' + dstr_tinfo(tif) -> char const * + +Help on function dump_func_type_data in module ida_typeinf: + +dump_func_type_data(*args) -> 'qstring *' + dump_func_type_data(fti, praloc_bits) -> str + + + Use 'func_type_data_t::dump()' + + + @param fti (C++: const func_type_data_t &) + @param praloc_bits (C++: int) + +Help on function end_type_updating in module ida_typeinf: + +end_type_updating(*args) -> 'void' + 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) + +Help on class enum_member_t in module ida_typeinf: + +class enum_member_t(builtins.object) + | Proxy of C++ enum_member_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> enum_member_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_enum_member_t(...) + | delete_enum_member_t(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | enum_member_t_cmt_get(self) -> qstring * + | + | name + | enum_member_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | enum_member_t_value_get(self) -> uint64 + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class enum_member_vec_t in module ida_typeinf: + +class enum_member_vec_t(builtins.object) + | Proxy of C++ qvector< enum_member_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'enum_member_t const &' + | __getitem__(self, i) -> enum_member_t + | + | __init__(self, *args) + | __init__(self) -> enum_member_vec_t + | __init__(self, x) -> enum_member_vec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_enum_member_vec_t(...) + | delete_enum_member_vec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'enum_member_t const &' + | at(self, _idx) -> enum_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | begin(self) -> enum_member_t + | begin(self) -> enum_member_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | end(self) -> enum_member_t + | end(self) -> enum_member_t + | + | erase(self, *args) -> 'qvector< enum_member_t >::iterator' + | erase(self, it) -> enum_member_t + | erase(self, first, last) -> enum_member_t + | + | extract(self, *args) -> 'enum_member_t *' + | extract(self) -> enum_member_t + | + | find(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | find(self, x) -> enum_member_t + | find(self, x) -> enum_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=enum_member_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< enum_member_t >::iterator' + | insert(self, it, x) -> enum_member_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'enum_member_t &' + | push_back(self, x) + | push_back(self) -> enum_member_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class enum_type_data_t in module ida_typeinf: + +class enum_type_data_t(enum_member_vec_t) + | Proxy of C++ enum_type_data_t class. + | + | Method resolution order: + | enum_type_data_t + | enum_member_vec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _bte=BTE_ALWAYS|BTE_HEX) -> enum_type_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_enum_type_data_t(...) + | delete_enum_type_data_t(self) + | + | calc_mask(self, *args) -> 'uint64' + | calc_mask(self) -> uint64 + | + | calc_nbytes(self, *args) -> 'int' + | calc_nbytes(self) -> int + | + | is_64bit(self, *args) -> 'bool' + | is_64bit(self) -> bool + | + | is_char(self, *args) -> 'bool' + | is_char(self) -> bool + | + | is_hex(self, *args) -> 'bool' + | is_hex(self) -> bool + | + | is_sdec(self, *args) -> 'bool' + | is_sdec(self) -> bool + | + | is_udec(self, *args) -> 'bool' + | is_udec(self) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bte + | enum_type_data_t_bte_get(self) -> bte_t + | + | group_sizes + | enum_type_data_t_group_sizes_get(self) -> intvec_t * + | + | taenum_bits + | enum_type_data_t_taenum_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from enum_member_vec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'enum_member_t const &' + | __getitem__(self, i) -> enum_member_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'enum_member_t const &' + | at(self, _idx) -> enum_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | begin(self) -> enum_member_t + | begin(self) -> enum_member_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | end(self) -> enum_member_t + | end(self) -> enum_member_t + | + | erase(self, *args) -> 'qvector< enum_member_t >::iterator' + | erase(self, it) -> enum_member_t + | erase(self, first, last) -> enum_member_t + | + | extract(self, *args) -> 'enum_member_t *' + | extract(self) -> enum_member_t + | + | find(self, *args) -> 'qvector< enum_member_t >::const_iterator' + | find(self, x) -> enum_member_t + | find(self, x) -> enum_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=enum_member_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< enum_member_t >::iterator' + | insert(self, it, x) -> enum_member_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'enum_member_t &' + | push_back(self, x) + | push_back(self) -> enum_member_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from enum_member_vec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from enum_member_vec_t: + | + | __hash__ = None + +Help on function extract_argloc in module ida_typeinf: + +extract_argloc(*args) -> 'bool' + extract_argloc(vloc, ptype, is_retval) -> bool + + + Deserialize argument location. + + + @param vloc (C++: argloc_t *) + @param ptype (C++: const type_t **) + @param is_retval (C++: bool) + +Help on function find_tinfo_udt_member in module ida_typeinf: + +find_tinfo_udt_member(*args) -> 'int' + find_tinfo_udt_member(udm, typid, strmem_flags) -> int + +Help on function first_named_type in module ida_typeinf: + +first_named_type(*args) -> 'char const *' + first_named_type(ti, ntf_flags) -> char const * + + + Enumerate types. Returns mangled names. Never returns anonymous types. + To include it, enumerate types by ordinals. + + @param ti (C++: const til_t *) + @param ntf_flags (C++: int) + +Help on function for_all_arglocs in module ida_typeinf: + +for_all_arglocs(*args) -> 'int' + 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) + +Help on function for_all_const_arglocs in module ida_typeinf: + +for_all_const_arglocs(*args) -> 'int' + 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 &) + @param size (C++: int) + @param off (C++: int) + +Help on function free_til in module ida_typeinf: + +free_til(*args) -> 'void' + free_til(ti) + + + Free memory allocated by til. + + + @param ti (C++: til_t *) + +Help on function func_has_stkframe_hole in module ida_typeinf: + +func_has_stkframe_hole(*args) -> 'bool' + 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 &) + +Help on class func_type_data_t in module ida_typeinf: + +class func_type_data_t(funcargvec_t) + | Proxy of C++ func_type_data_t class. + | + | Method resolution order: + | func_type_data_t + | funcargvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> func_type_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_func_type_data_t(...) + | delete_func_type_data_t(self) + | + | dump(self, *args) -> 'bool' + | dump(self, praloc_bits=0x02) -> bool + | + | get_call_method(self, *args) -> 'int' + | get_call_method(self) -> int + | + | guess_cc(self, *args) -> 'cm_t' + | guess_cc(self, purged, cc_flags) -> cm_t + | + | is_high(self, *args) -> 'bool' + | is_high(self) -> bool + | + | is_noret(self, *args) -> 'bool' + | is_noret(self) -> bool + | + | is_pure(self, *args) -> 'bool' + | is_pure(self) -> bool + | + | is_vararg_cc(self, *args) -> 'bool' + | is_vararg_cc(self) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | cc + | func_type_data_t_cc_get(self) -> cm_t + | + | flags + | func_type_data_t_flags_get(self) -> int + | + | retloc + | func_type_data_t_retloc_get(self) -> argloc_t + | + | rettype + | func_type_data_t_rettype_get(self) -> tinfo_t + | + | spoiled + | func_type_data_t_spoiled_get(self) -> reginfovec_t + | + | stkargs + | func_type_data_t_stkargs_get(self) -> uval_t + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from funcargvec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'funcarg_t const &' + | __getitem__(self, i) -> funcarg_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'funcarg_t const &' + | at(self, _idx) -> funcarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | begin(self) -> funcarg_t + | begin(self) -> funcarg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | end(self) -> funcarg_t + | end(self) -> funcarg_t + | + | erase(self, *args) -> 'qvector< funcarg_t >::iterator' + | erase(self, it) -> funcarg_t + | erase(self, first, last) -> funcarg_t + | + | extract(self, *args) -> 'funcarg_t *' + | extract(self) -> funcarg_t + | + | find(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | find(self, x) -> funcarg_t + | find(self, x) -> funcarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=funcarg_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< funcarg_t >::iterator' + | insert(self, it, x) -> funcarg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'funcarg_t &' + | push_back(self, x) + | push_back(self) -> funcarg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from funcargvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from funcargvec_t: + | + | __hash__ = None + +Help on class funcarg_t in module ida_typeinf: + +class funcarg_t(builtins.object) + | Proxy of C++ funcarg_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> funcarg_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_funcarg_t(...) + | delete_funcarg_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | argloc + | funcarg_t_argloc_get(self) -> argloc_t + | + | cmt + | funcarg_t_cmt_get(self) -> qstring * + | + | flags + | funcarg_t_flags_get(self) -> uint32 + | + | name + | funcarg_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | funcarg_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class funcargvec_t in module ida_typeinf: + +class funcargvec_t(builtins.object) + | Proxy of C++ qvector< funcarg_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'funcarg_t const &' + | __getitem__(self, i) -> funcarg_t + | + | __init__(self, *args) + | __init__(self) -> funcargvec_t + | __init__(self, x) -> funcargvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_funcargvec_t(...) + | delete_funcargvec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'funcarg_t const &' + | at(self, _idx) -> funcarg_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | begin(self) -> funcarg_t + | begin(self) -> funcarg_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | end(self) -> funcarg_t + | end(self) -> funcarg_t + | + | erase(self, *args) -> 'qvector< funcarg_t >::iterator' + | erase(self, it) -> funcarg_t + | erase(self, first, last) -> funcarg_t + | + | extract(self, *args) -> 'funcarg_t *' + | extract(self) -> funcarg_t + | + | find(self, *args) -> 'qvector< funcarg_t >::const_iterator' + | find(self, x) -> funcarg_t + | find(self, x) -> funcarg_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=funcarg_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< funcarg_t >::iterator' + | insert(self, it, x) -> funcarg_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'funcarg_t &' + | push_back(self, x) + | push_back(self) -> funcarg_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function gcc_layout in module ida_typeinf: + +gcc_layout(*args) -> 'bool' + gcc_layout() -> bool + + + Should use the struct/union layout as done by gcc? + +Help on function gen_decorate_name in module ida_typeinf: + +gen_decorate_name(*args) -> 'qstring *' + gen_decorate_name(name, mangle, cc, type) -> str + + + Generic function for 'decorate_name()' (may be used in IDP modules) + + + @param name (C++: const char *) + @param mangle (C++: bool) + @param cc (C++: cm_t) + @param type (C++: const tinfo_t *) + +Help on function gen_use_arg_tinfos in module ida_typeinf: + +gen_use_arg_tinfos(*args) -> 'void' + gen_use_arg_tinfos(caller, fti, rargs, set_optype, is_stkarg_load, has_delay_slot) + + + The main function using these callbacks: + + + @param caller (C++: ea_t) + @param fti (C++: func_type_data_t *) + @param rargs (C++: funcargvec_t *) + @param set_optype (C++: set_op_tinfo_t *) + @param is_stkarg_load (C++: is_stkarg_load_t *) + @param has_delay_slot (C++: has_delay_slot_t *) + +Help on function get_abi_name in module ida_typeinf: + +get_abi_name(*args) -> 'qstring *' + get_abi_name() -> str + + + Get ABI name. + + @return: length of the name (>=0) + +Help on function get_alias_target in module ida_typeinf: + +get_alias_target(*args) -> 'uint32' + 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 *) + @param ordinal (C++: uint32) + +Help on function get_arg_addrs in module ida_typeinf: + +get_arg_addrs(*args) -> 'PyObject *' + get_arg_addrs(caller) -> PyObject * + + + Retrieve addresses of argument initialization instructions + + @param caller: the address of the call instruction + @return: list of instruction addresses + +Help on function get_base_type in module ida_typeinf: + +get_base_type(*args) -> 'type_t' + get_base_type(t) -> type_t + + + Get get basic type bits ( 'TYPE_BASE_MASK' ) + + + @param t (C++: type_t) + +Help on function get_c_header_path in module ida_typeinf: + +get_c_header_path(*args) -> 'qstring *' + get_c_header_path() -> str + + + Get the include directory path of the target compiler. + +Help on function get_c_macros in module ida_typeinf: + +get_c_macros(*args) -> 'qstring *' + get_c_macros() -> str + + + Get predefined macros for the target compiler. + +Help on function get_comp in module ida_typeinf: + +get_comp(*args) -> 'comp_t' + get_comp(comp) -> comp_t + + + Get compiler bits. + + + @param comp (C++: comp_t) + +Help on function get_compiler_abbr in module ida_typeinf: + +get_compiler_abbr(*args) -> 'char const *' + get_compiler_abbr(id) -> char const * + + + Get abbreviated compiler name. + + + @param id (C++: comp_t) + +Help on function get_compiler_name in module ida_typeinf: + +get_compiler_name(*args) -> 'char const *' + get_compiler_name(id) -> char const * + + + Get full compiler name. + + + @param id (C++: comp_t) + +Help on function get_compilers in module ida_typeinf: + +get_compilers(*args) -> 'void' + 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 *) + +Help on function get_enum_member_expr in module ida_typeinf: + +get_enum_member_expr(*args) -> 'qstring *' + 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: enumeration type (C++: const tinfo_t &) + @param serial: which enumeration member to use (0 means the first with + the given value) (C++: int) + @param value: value to search in the enumeration type. only 32-bit + number can be handled yet (C++: uint64) + @return: success + +Help on function get_full_type in module ida_typeinf: + +get_full_type(*args) -> 'type_t' + get_full_type(t) -> type_t + + + Get basic type bits + type flags ( 'TYPE_FULL_MASK' ) + + + @param t (C++: type_t) + +Help on function get_idainfo_by_type in module ida_typeinf: + +get_idainfo_by_type(*args) -> 'size_t *, flags_t *, opinfo_t *, size_t *' + get_idainfo_by_type(tif) -> bool + + + Extract information from a 'tinfo_t' . + + @param tif: the type to inspect (C++: const tinfo_t &) + +Help on function get_idati in module ida_typeinf: + +get_idati(*args) -> 'til_t const *' + get_idati() -> til_t + + + Pointer to the local type library - this til is private for each IDB + file Function that accepts til_t* uses local type library instead of + NULL. + +Help on function get_named_type in module ida_typeinf: + +get_named_type(*args) -> 'PyObject *' + get_named_type(til, name, ntf_flags) -> PyObject * + + + 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 + +Help on function get_named_type64 in module ida_typeinf: + +get_named_type64(*args) -> 'PyObject *' + get_named_type64(til, name, ntf_flags) -> PyObject * + + + See 'get_named_type()' above.If the value in the 'ti' library is + 32-bit, it will be sign-extended before being stored in the 'value' + pointer. + + @param name (C++: const char *) + @param ntf_flags (C++: int) + +Help on function get_numbered_type in module ida_typeinf: + +get_numbered_type(*args) -> 'PyObject *' + get_numbered_type(til, ordinal) -> PyObject * + + + Retrieve a type by its ordinal number. + + + @param ordinal (C++: uint32) + +Help on function get_numbered_type_name in module ida_typeinf: + +get_numbered_type_name(*args) -> 'char const *' + 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 NULL + + @param ti (C++: const til_t *) + @param ordinal (C++: uint32) + +Help on function get_ordinal_from_idb_type in module ida_typeinf: + +get_ordinal_from_idb_type(*args) -> 'int' + get_ordinal_from_idb_type(name, type) -> int + + + Get ordinal number of an idb type (struct/enum). The 'type' parameter + is used only to determine the kind of the type (struct or enum) Use + this function to find out the correspondence between idb types and til + types + + @param name (C++: const char *) + @param type (C++: const type_t *) + +Help on function get_ordinal_qty in module ida_typeinf: + +get_ordinal_qty(*args) -> 'uint32' + get_ordinal_qty(ti) -> uint32 + + + Get number of allocated ordinals. + + @param ti (C++: const til_t *) + @return: uint32(-1) if failed + +Help on function get_scalar_bt in module ida_typeinf: + +get_scalar_bt(*args) -> 'type_t' + get_scalar_bt(size) -> type_t + +Help on function get_stock_tinfo in module ida_typeinf: + +get_stock_tinfo(*args) -> 'bool' + get_stock_tinfo(tif, id) -> bool + +Help on function get_tinfo_attr in module ida_typeinf: + +get_tinfo_attr(*args) -> 'bool' + get_tinfo_attr(typid, key, bv, all_attrs) -> bool + +Help on function get_tinfo_attrs in module ida_typeinf: + +get_tinfo_attrs(*args) -> 'bool' + get_tinfo_attrs(typid, tav, include_ref_attrs) -> bool + +Help on function get_tinfo_details in module ida_typeinf: + +get_tinfo_details(*args) -> 'bool' + get_tinfo_details(typid, bt2, buf) -> bool + +Help on function get_tinfo_pdata in module ida_typeinf: + +get_tinfo_pdata(*args) -> 'size_t' + get_tinfo_pdata(outptr, typid, what) -> size_t + +Help on function get_tinfo_property in module ida_typeinf: + +get_tinfo_property(*args) -> 'size_t' + get_tinfo_property(typid, gta_prop) -> size_t + +Help on function get_tinfo_size in module ida_typeinf: + +get_tinfo_size(*args) -> 'size_t' + get_tinfo_size(p_effalign, typid, gts_code) -> size_t + +Help on function get_type_flags in module ida_typeinf: + +get_type_flags(*args) -> 'type_t' + get_type_flags(t) -> type_t + + + Get type flags ( 'TYPE_FLAGS_MASK' ) + + + @param t (C++: type_t) + +Help on function get_type_ordinal in module ida_typeinf: + +get_type_ordinal(*args) -> 'int32' + get_type_ordinal(ti, name) -> int32 + + + Get type ordinal by its name. + + + @param ti (C++: const til_t *) + @param name (C++: const char *) + +Help on function guess_func_cc in module ida_typeinf: + +guess_func_cc(*args) -> 'cm_t' + guess_func_cc(fti, npurged, cc_flags) -> cm_t + + + Use 'func_type_data_t::guess_cc()' + + + @param fti (C++: const func_type_data_t &) + @param npurged (C++: int) + @param cc_flags (C++: int) + +Help on function guess_tinfo in module ida_typeinf: + +guess_tinfo(*args) -> 'int' + guess_tinfo(tif, id) -> int + + + Generate a type information about the id from the disassembly. id can + be a structure/union/enum id or an address. + + @param tif (C++: tinfo_t *) + @param id (C++: tid_t) + @return: one of Guess tinfo codes + +Help on class ida_lowertype_helper_t in module ida_typeinf: + +class ida_lowertype_helper_t(lowertype_helper_t) + | Proxy of C++ ida_lowertype_helper_t class. + | + | Method resolution order: + | ida_lowertype_helper_t + | lowertype_helper_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _tif, _ea, _pb) -> ida_lowertype_helper_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ida_lowertype_helper_t(...) + | delete_ida_lowertype_helper_t(self) + | + | func_has_stkframe_hole(self, *args) -> 'bool' + | func_has_stkframe_hole(self, candidate, candidate_data) -> bool + | + | get_func_purged_bytes(self, *args) -> 'int' + | get_func_purged_bytes(self, candidate, arg3) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from lowertype_helper_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function idc_get_local_type in module ida_typeinf: + +idc_get_local_type(*args) -> 'int' + idc_get_local_type(ordinal, flags, buf, maxsize) -> int + +Help on function idc_get_local_type_name in module ida_typeinf: + +idc_get_local_type_name(*args) -> 'size_t' + idc_get_local_type_name(ordinal) -> str + +Help on function idc_get_local_type_raw in module ida_typeinf: + +idc_get_local_type_raw(*args) -> 'PyObject *' + idc_get_local_type_raw(ordinal) -> PyObject * + +Help on function idc_get_type in module ida_typeinf: + +idc_get_type(*args) -> 'size_t' + idc_get_type(ea) -> str + +Help on function idc_get_type_raw in module ida_typeinf: + +idc_get_type_raw(*args) -> 'PyObject *' + idc_get_type_raw(ea) -> PyObject * + +Help on function idc_guess_type in module ida_typeinf: + +idc_guess_type(*args) -> 'size_t' + idc_guess_type(ea) -> str + +Help on function idc_parse_decl in module ida_typeinf: + +idc_parse_decl(*args) -> 'PyObject *' + idc_parse_decl(ti, decl, flags) -> PyObject * + +Help on function idc_parse_types in module ida_typeinf: + +idc_parse_types(*args) -> 'int' + idc_parse_types(input, flags) -> int + +Help on function idc_print_type in module ida_typeinf: + +idc_print_type(*args) -> 'PyObject *' + idc_print_type(_type, _fields, name, flags) -> PyObject * + +Help on function idc_set_local_type in module ida_typeinf: + +idc_set_local_type(*args) -> 'int' + idc_set_local_type(ordinal, dcl, flags) -> int + +Help on function import_type in module ida_typeinf: + +import_type(*args) -> 'tid_t' + import_type(til, idx, name, flags=0) -> tid_t + + + Copy a named type from til to idb. + + @param til: type library (C++: const til_t *) + @param idx: the position of the new type in the list of types + (structures or enums). -1 means at the end of the list + (C++: int) + @param name: the type name (C++: const char *) + @param flags: combination of Import type flags (C++: int) + @return: BADNODE on error + +Help on function is_autosync in module ida_typeinf: + +is_autosync(*args) -> 'bool' + is_autosync(name, type) -> bool + is_autosync(name, tif) -> bool + + + Is the specified idb type automatically synchronized? + + + @param name (C++: const char *) + @param type (C++: const type_t *) + +Help on function is_code_far in module ida_typeinf: + +is_code_far(*args) -> 'bool' + is_code_far(cm) -> bool + + + Does the given model specify far code?. + + + @param cm (C++: cm_t) + +Help on function is_comp_unsure in module ida_typeinf: + +is_comp_unsure(*args) -> 'comp_t' + is_comp_unsure(comp) -> comp_t + + + See 'COMP_UNSURE' . + + + @param comp (C++: comp_t) + +Help on function is_data_far in module ida_typeinf: + +is_data_far(*args) -> 'bool' + is_data_far(cm) -> bool + + + Does the given model specify far data?. + + + @param cm (C++: cm_t) + +Help on function is_gcc in module ida_typeinf: + +is_gcc(*args) -> 'bool' + is_gcc() -> bool + + + Is the target compiler 'COMP_GNU' ? + +Help on function is_gcc32 in module ida_typeinf: + +is_gcc32(*args) -> 'bool' + is_gcc32() -> bool + + + Is the target compiler 32 bit gcc? + +Help on function is_gcc64 in module ida_typeinf: + +is_gcc64(*args) -> 'bool' + is_gcc64() -> bool + + + Is the target compiler 64 bit gcc? + +Help on function is_ordinal_name in module ida_typeinf: + +is_ordinal_name(*args) -> 'bool' + 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 *) + @param ord (C++: uint32 *) + +Help on function is_purging_cc in module ida_typeinf: + +is_purging_cc(*args) -> 'bool' + is_purging_cc(cm) -> bool + + + Does the calling convention clean the stack arguments upon + return?.this function is valid only for x86 code + + @param cm (C++: cm_t) + +Help on function is_restype_enum in module ida_typeinf: + +is_restype_enum(*args) -> 'bool' + is_restype_enum(til, type) -> bool + +Help on function is_restype_struct in module ida_typeinf: + +is_restype_struct(*args) -> 'bool' + is_restype_struct(til, type) -> bool + +Help on function is_restype_struni in module ida_typeinf: + +is_restype_struni(*args) -> 'bool' + is_restype_struni(til, type) -> bool + +Help on function is_restype_void in module ida_typeinf: + +is_restype_void(*args) -> 'bool' + is_restype_void(til, type) -> bool + +Help on function is_sdacl_byte in module ida_typeinf: + +is_sdacl_byte(*args) -> 'bool' + 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) + +Help on function is_tah_byte in module ida_typeinf: + +is_tah_byte(*args) -> 'bool' + 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) + +Help on function is_type_arithmetic in module ida_typeinf: + +is_type_arithmetic(*args) -> 'bool' + is_type_arithmetic(t) -> bool + + + Is the type an arithmetic type? (floating or integral) + + + @param t (C++: type_t) + +Help on function is_type_array in module ida_typeinf: + +is_type_array(*args) -> 'bool' + is_type_array(t) -> bool + + + See 'BT_ARRAY' . + + + @param t (C++: type_t) + +Help on function is_type_bitfld in module ida_typeinf: + +is_type_bitfld(*args) -> 'bool' + is_type_bitfld(t) -> bool + + + See 'BT_BITFIELD' . + + + @param t (C++: type_t) + +Help on function is_type_bool in module ida_typeinf: + +is_type_bool(*args) -> 'bool' + is_type_bool(t) -> bool + + + See 'BTF_BOOL' . + + + @param t (C++: type_t) + +Help on function is_type_char in module ida_typeinf: + +is_type_char(*args) -> 'bool' + is_type_char(t) -> bool + + + Does the type specify a char value? (signed or unsigned, see 'Basic + type: integer' ) + + + @param t (C++: type_t) + +Help on function is_type_complex in module ida_typeinf: + +is_type_complex(*args) -> 'bool' + is_type_complex(t) -> bool + + + See 'BT_COMPLEX' . + + + @param t (C++: type_t) + +Help on function is_type_const in module ida_typeinf: + +is_type_const(*args) -> 'bool' + is_type_const(t) -> bool + + + See 'BTM_CONST' . + + + @param t (C++: type_t) + +Help on function is_type_double in module ida_typeinf: + +is_type_double(*args) -> 'bool' + is_type_double(t) -> bool + + + See 'BTF_DOUBLE' . + + + @param t (C++: type_t) + +Help on function is_type_enum in module ida_typeinf: + +is_type_enum(*args) -> 'bool' + is_type_enum(t) -> bool + + + See 'BTF_ENUM' . + + + @param t (C++: type_t) + +Help on function is_type_ext_arithmetic in module ida_typeinf: + +is_type_ext_arithmetic(*args) -> 'bool' + is_type_ext_arithmetic(t) -> bool + + + Is the type an extended arithmetic type? (arithmetic or enum) + + + @param t (C++: type_t) + +Help on function is_type_ext_integral in module ida_typeinf: + +is_type_ext_integral(*args) -> 'bool' + is_type_ext_integral(t) -> bool + + + Is the type an extended integral type? (integral or enum) + + + @param t (C++: type_t) + +Help on function is_type_float in module ida_typeinf: + +is_type_float(*args) -> 'bool' + is_type_float(t) -> bool + + + See 'BTF_FLOAT' . + + + @param t (C++: type_t) + +Help on function is_type_floating in module ida_typeinf: + +is_type_floating(*args) -> 'bool' + is_type_floating(t) -> bool + + + Is the type a floating point type? + + + @param t (C++: type_t) + +Help on function is_type_func in module ida_typeinf: + +is_type_func(*args) -> 'bool' + is_type_func(t) -> bool + + + See 'BT_FUNC' . + + + @param t (C++: type_t) + +Help on function is_type_int in module ida_typeinf: + +is_type_int(*args) -> 'bool' + is_type_int(bt) -> bool + + + Does the type_t specify one of the basic types in 'Basic type: + integer' ? + + + @param bt (C++: type_t) + +Help on function is_type_int128 in module ida_typeinf: + +is_type_int128(*args) -> 'bool' + 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) + +Help on function is_type_int16 in module ida_typeinf: + +is_type_int16(*args) -> 'bool' + 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) + +Help on function is_type_int32 in module ida_typeinf: + +is_type_int32(*args) -> 'bool' + 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) + +Help on function is_type_int64 in module ida_typeinf: + +is_type_int64(*args) -> 'bool' + 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) + +Help on function is_type_integral in module ida_typeinf: + +is_type_integral(*args) -> 'bool' + is_type_integral(t) -> bool + + + Is the type an integral type (char/short/int/long/bool)? + + + @param t (C++: type_t) + +Help on function is_type_ldouble in module ida_typeinf: + +is_type_ldouble(*args) -> 'bool' + is_type_ldouble(t) -> bool + + + See 'BTF_LDOUBLE' . + + + @param t (C++: type_t) + +Help on function is_type_paf in module ida_typeinf: + +is_type_paf(*args) -> 'bool' + is_type_paf(t) -> bool + + + Is the type a pointer, array, or function type? + + + @param t (C++: type_t) + +Help on function is_type_partial in module ida_typeinf: + +is_type_partial(*args) -> 'bool' + 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) + +Help on function is_type_ptr in module ida_typeinf: + +is_type_ptr(*args) -> 'bool' + is_type_ptr(t) -> bool + + + See 'BT_PTR' . + + + @param t (C++: type_t) + +Help on function is_type_ptr_or_array in module ida_typeinf: + +is_type_ptr_or_array(*args) -> 'bool' + is_type_ptr_or_array(t) -> bool + + + Is the type a pointer or array type? + + + @param t (C++: type_t) + +Help on function is_type_struct in module ida_typeinf: + +is_type_struct(*args) -> 'bool' + is_type_struct(t) -> bool + + + See 'BTF_STRUCT' . + + + @param t (C++: type_t) + +Help on function is_type_struni in module ida_typeinf: + +is_type_struni(*args) -> 'bool' + is_type_struni(t) -> bool + + + Is the type a struct or union? + + + @param t (C++: type_t) + +Help on function is_type_sue in module ida_typeinf: + +is_type_sue(*args) -> 'bool' + is_type_sue(t) -> bool + + + Is the type a struct/union/enum? + + + @param t (C++: type_t) + +Help on function is_type_tbyte in module ida_typeinf: + +is_type_tbyte(*args) -> 'bool' + is_type_tbyte(t) -> bool + + + See 'BTF_FLOAT' . + + + @param t (C++: type_t) + +Help on function is_type_typedef in module ida_typeinf: + +is_type_typedef(*args) -> 'bool' + is_type_typedef(t) -> bool + + + See 'BTF_TYPEDEF' . + + + @param t (C++: type_t) + +Help on function is_type_uchar in module ida_typeinf: + +is_type_uchar(*args) -> 'bool' + is_type_uchar(t) -> bool + + + See 'BTF_UCHAR' . + + + @param t (C++: type_t) + +Help on function is_type_uint in module ida_typeinf: + +is_type_uint(*args) -> 'bool' + is_type_uint(t) -> bool + + + See 'BTF_UINT' . + + + @param t (C++: type_t) + +Help on function is_type_uint128 in module ida_typeinf: + +is_type_uint128(*args) -> 'bool' + is_type_uint128(t) -> bool + + + See 'BTF_UINT128' . + + + @param t (C++: type_t) + +Help on function is_type_uint16 in module ida_typeinf: + +is_type_uint16(*args) -> 'bool' + is_type_uint16(t) -> bool + + + See 'BTF_UINT16' . + + + @param t (C++: type_t) + +Help on function is_type_uint32 in module ida_typeinf: + +is_type_uint32(*args) -> 'bool' + is_type_uint32(t) -> bool + + + See 'BTF_UINT32' . + + + @param t (C++: type_t) + +Help on function is_type_uint64 in module ida_typeinf: + +is_type_uint64(*args) -> 'bool' + is_type_uint64(t) -> bool + + + See 'BTF_UINT64' . + + + @param t (C++: type_t) + +Help on function is_type_union in module ida_typeinf: + +is_type_union(*args) -> 'bool' + is_type_union(t) -> bool + + + See 'BTF_UNION' . + + + @param t (C++: type_t) + +Help on function is_type_unknown in module ida_typeinf: + +is_type_unknown(*args) -> 'bool' + is_type_unknown(t) -> bool + + + See 'BT_UNKNOWN' . + + + @param t (C++: type_t) + +Help on function is_type_void in module ida_typeinf: + +is_type_void(*args) -> 'bool' + is_type_void(t) -> bool + + + See 'BTF_VOID' . + + + @param t (C++: type_t) + +Help on function is_type_volatile in module ida_typeinf: + +is_type_volatile(*args) -> 'bool' + is_type_volatile(t) -> bool + + + See 'BTM_VOLATILE' . + + + @param t (C++: type_t) + +Help on function is_typeid_last in module ida_typeinf: + +is_typeid_last(*args) -> 'bool' + 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) + +Help on function is_user_cc in module ida_typeinf: + +is_user_cc(*args) -> 'bool' + is_user_cc(cm) -> bool + + + Does the calling convention specify argument locations explicitly? + + + @param cm (C++: cm_t) + +Help on function is_vararg_cc in module ida_typeinf: + +is_vararg_cc(*args) -> 'bool' + is_vararg_cc(cm) -> bool + + + Does the calling convention use ellipsis? + + + @param cm (C++: cm_t) + +Help on function lexcompare_tinfo in module ida_typeinf: + +lexcompare_tinfo(*args) -> 'int' + lexcompare_tinfo(t1, t2, arg3) -> int + +Help on function load_til in module ida_typeinf: + +load_til(*args) -> 'qstring *' + load_til(name, tildir=None) -> til_t + + + Load til from a file. Failure to load base tils are reported into + 'errbuf'. They do not prevent loading of the main til. + + @param name: filename of the til. If it's an absolute path, tildir is + ignored. NB: the file extension is forced to .til (C++: + const char *) + @param tildir: directory where to load the til from. NULL means + default til subdirectories. (C++: const char *) + @return: pointer to resulting til, NULL if failed and error message is + in errbuf + +Help on function load_til_header in module ida_typeinf: + +load_til_header(*args) -> 'qstring *' + load_til_header(tildir, name) -> til_t + + + Get human-readable til description. + + + @param tildir (C++: const char *) + @param name (C++: const char *) + +Help on function lower_type in module ida_typeinf: + +lower_type(*args) -> 'int' + 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, etcWe 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 childrentypes walked through by recursion. + + @param til (C++: til_t *) + @param tif (C++: tinfo_t *) + @param name (C++: const char *) + @param _helper (C++: lowertype_helper_t *) + +Help on class lowertype_helper_t in module ida_typeinf: + +class lowertype_helper_t(builtins.object) + | Proxy of C++ lowertype_helper_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_lowertype_helper_t(...) + | delete_lowertype_helper_t(self) + | + | func_has_stkframe_hole(self, *args) -> 'bool' + | func_has_stkframe_hole(self, candidate, candidate_data) -> bool + | + | get_func_purged_bytes(self, *args) -> 'int' + | get_func_purged_bytes(self, candidate, candidate_data) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function new_til in module ida_typeinf: + +new_til(*args) -> 'til_t *' + new_til(name, desc) -> til_t + + + Initialize a til. + + + @param name (C++: const char *) + @param desc (C++: const char *) + +Help on function next_named_type in module ida_typeinf: + +next_named_type(*args) -> 'char const *' + next_named_type(ti, name, ntf_flags) -> char const * + + + Enumerate types. Returns mangled names. Never returns anonymous types. + To include it, enumerate types by ordinals. + + @param ti (C++: const til_t *) + @param name (C++: const char *) + @param ntf_flags (C++: int) + +Help on function optimize_argloc in module ida_typeinf: + +optimize_argloc(*args) -> 'bool' + optimize_argloc(vloc, size, gaps) -> bool + + + Verify and optimize scattered argloc into simple form. All new arglocs + must be processed by this function. + + @param vloc (C++: argloc_t *) + @param size (C++: int) + @param gaps (C++: const rangeset_t *) + +Help on function pack_idcobj_to_bv in module ida_typeinf: + +pack_idcobj_to_bv(*args) -> 'error_t' + 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 *) + @param tif (C++: const tinfo_t &) + @param bytes (C++: relobj_t *) + @param objoff (C++: void *) + @param pio_flags (C++: int) + +Help on function pack_idcobj_to_idb in module ida_typeinf: + +pack_idcobj_to_idb(*args) -> 'error_t' + 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 *) + @param tif (C++: const tinfo_t &) + @param ea (C++: ea_t) + @param pio_flags (C++: int) + +Help on function pack_object_to_bv in module ida_typeinf: + +pack_object_to_bv(*args) -> 'PyObject *' + pack_object_to_bv(py_obj, ti, _type, _fields, base_ea, pio_flags=0) -> PyObject * + + + Packs a typed object to a string + @param ti: Type info. 'None' can be passed. + @param tp: type string + @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 + +Help on function pack_object_to_idb in module ida_typeinf: + +pack_object_to_idb(*args) -> 'PyObject *' + 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 ti: Type info. 'None' can be passed. + @param tp: type string + @param fields: fields string (may be empty or None) + @param ea: ea to be used while packing + @param pio_flags: flags used while unpacking + +Help on function parse_decl in module ida_typeinf: + +parse_decl(*args) -> 'qstring *' + parse_decl(tif, til, decl, 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.name & tif may be + empty after the call! + + @param tif: type info (C++: tinfo_t *) + @param til: type library to use. may be NULL (C++: til_t *) + @param decl: C declaration to parse (C++: const char *) + @param flags: combination of Type parsing flags bits (C++: int) + +Help on function parse_decls in module ida_typeinf: + +parse_decls(*args) -> 'int' + 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: type library to store the result (C++: til_t *) + @param input: input string or file name (see hti_flags) (C++: const + char *) + @param printer: function to output error messages (use msg or NULL or + your own callback) (C++: printer_t *) + @param hti_flags: combination of Type formatting flags (C++: int) + @return: number of errors, 0 means ok. + +Help on class predicate_t in module ida_typeinf: + +class predicate_t(builtins.object) + | Proxy of C++ predicate_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> predicate_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_predicate_t(...) + | delete_predicate_t(self) + | + | should_display(self, *args) -> 'bool' + | should_display(self, til, name, type, fields) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function print_argloc in module ida_typeinf: + +print_argloc(*args) -> 'size_t' + print_argloc(vloc, size=0, vflags=0) -> str + + + Convert an argloc to human readable form. + + + @param vloc (C++: const argloc_t &) + @param size (C++: int) + @param vflags (C++: int) + +Help on function print_decls in module ida_typeinf: + +print_decls(*args) -> 'PyObject *' + print_decls(printer, til, py_ordinals, flags) -> PyObject * + + + Print types (and possibly their dependencies) in a format suitable for + use in a header file. This is the reverse 'parse_decls()' . + + @param printer: a handler for printing text (C++: text_sink_t &) + @param til: the type library holding the ordinals (C++: til_t *) + @param flags: flags for the algorithm. A combination of PDF_* + constants (C++: uint32) + +Help on function print_tinfo in module ida_typeinf: + +print_tinfo(*args) -> 'qstring *' + print_tinfo(prefix, indent, cmtindent, flags, tif, name, cmt) -> str + +Help on function print_type in module ida_typeinf: + +print_type(*args) -> 'qstring *' + print_type(ea, prtype_flags) -> str + + + Get type declaration for the specified address. + + @param ea: address (C++: ea_t) + @param prtype_flags: combination of Type printing flags (C++: int) + @return: success + +Help on class ptr_type_data_t in module ida_typeinf: + +class ptr_type_data_t(builtins.object) + | Proxy of C++ ptr_type_data_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self, c=tinfo_t(), bps=0, p=tinfo_t(), d=0) -> ptr_type_data_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_ptr_type_data_t(...) + | delete_ptr_type_data_t(self) + | + | is_code_ptr(self, *args) -> 'bool' + | is_code_ptr(self) -> bool + | + | is_shifted(self, *args) -> 'bool' + | is_shifted(self) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | based_ptr_size + | ptr_type_data_t_based_ptr_size_get(self) -> uchar + | + | closure + | ptr_type_data_t_closure_get(self) -> tinfo_t + | + | delta + | ptr_type_data_t_delta_get(self) -> int32 + | + | obj_type + | ptr_type_data_t_obj_type_get(self) -> tinfo_t + | + | parent + | ptr_type_data_t_parent_get(self) -> tinfo_t + | + | taptr_bits + | ptr_type_data_t_taptr_bits_get(self) -> uchar + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function read_tinfo_bitfield_value in module ida_typeinf: + +read_tinfo_bitfield_value(*args) -> 'uint64' + read_tinfo_bitfield_value(typid, v, bitoff) -> uint64 + +Help on class reginfovec_t in module ida_typeinf: + +class reginfovec_t(builtins.object) + | Proxy of C++ qvector< reg_info_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'reg_info_t const &' + | __getitem__(self, i) -> reg_info_t + | + | __init__(self, *args) + | __init__(self) -> reginfovec_t + | __init__(self, x) -> reginfovec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_reginfovec_t(...) + | delete_reginfovec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'reg_info_t &' + | + | at = __getitem__(self, *args) -> 'reg_info_t const &' + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< reg_info_t >::const_iterator' + | begin(self) -> reg_info_t + | begin(self) -> reg_info_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< reg_info_t >::const_iterator' + | end(self) -> reg_info_t + | end(self) -> reg_info_t + | + | erase(self, *args) -> 'qvector< reg_info_t >::iterator' + | erase(self, it) -> reg_info_t + | erase(self, first, last) -> reg_info_t + | + | extract(self, *args) -> 'reg_info_t *' + | extract(self) -> reg_info_t + | + | find(self, *args) -> 'qvector< reg_info_t >::const_iterator' + | find(self, x) -> reg_info_t + | find(self, x) -> reg_info_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=reg_info_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< reg_info_t >::iterator' + | insert(self, it, x) -> reg_info_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'reg_info_t &' + | push_back(self, x) + | push_back(self) -> reg_info_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class regobj_t in module ida_typeinf: + +class regobj_t(builtins.object) + | Proxy of C++ regobj_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regobj_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_regobj_t(...) + | delete_regobj_t(self) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | regidx + | regobj_t_regidx_get(self) -> int + | + | relocate + | regobj_t_relocate_get(self) -> int + | + | thisown + | The membership flag + | + | value + | regobj_t_value_get(self) -> bytevec_t * + +Help on class regobjs_t in module ida_typeinf: + +class regobjs_t(regobjvec_t) + | Proxy of C++ regobjs_t class. + | + | Method resolution order: + | regobjs_t + | regobjvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> regobjs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_regobjs_t(...) + | delete_regobjs_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from regobjvec_t: + | + | __getitem__(self, *args) -> 'regobj_t const &' + | __getitem__(self, i) -> regobj_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | at(self, *args) -> 'regobj_t const &' + | at(self, _idx) -> regobj_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< regobj_t >::const_iterator' + | begin(self) -> regobj_t + | begin(self) -> regobj_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< regobj_t >::const_iterator' + | end(self) -> regobj_t + | end(self) -> regobj_t + | + | erase(self, *args) -> 'qvector< regobj_t >::iterator' + | erase(self, it) -> regobj_t + | erase(self, first, last) -> regobj_t + | + | extract(self, *args) -> 'regobj_t *' + | extract(self) -> regobj_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=regobj_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< regobj_t >::iterator' + | insert(self, it, x) -> regobj_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'regobj_t &' + | push_back(self, x) + | push_back(self) -> regobj_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from regobjvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class regobjvec_t in module ida_typeinf: + +class regobjvec_t(builtins.object) + | Proxy of C++ qvector< regobj_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'regobj_t const &' + | __getitem__(self, i) -> regobj_t + | + | __init__(self, *args) + | __init__(self) -> regobjvec_t + | __init__(self, x) -> regobjvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_regobjvec_t(...) + | delete_regobjvec_t(self) + | + | at(self, *args) -> 'regobj_t const &' + | at(self, _idx) -> regobj_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< regobj_t >::const_iterator' + | begin(self) -> regobj_t + | begin(self) -> regobj_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< regobj_t >::const_iterator' + | end(self) -> regobj_t + | end(self) -> regobj_t + | + | erase(self, *args) -> 'qvector< regobj_t >::iterator' + | erase(self, it) -> regobj_t + | erase(self, first, last) -> regobj_t + | + | extract(self, *args) -> 'regobj_t *' + | extract(self) -> regobj_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=regobj_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< regobj_t >::iterator' + | insert(self, it, x) -> regobj_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'regobj_t &' + | push_back(self, x) + | push_back(self) -> regobj_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function remove_abi_opts in module ida_typeinf: + +remove_abi_opts(*args) -> 'bool' + remove_abi_opts(abi_opts, user_level=False) -> bool + +Help on function remove_pointer in module ida_typeinf: + +remove_pointer(*args) -> 'tinfo_t' + remove_pointer(tif) -> tinfo_t + + + '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() + + @param tif (C++: const tinfo_t &) + +Help on function remove_tinfo_pointer in module ida_typeinf: + +remove_tinfo_pointer(*args) -> 'PyObject *' + remove_tinfo_pointer(tif, name, til) -> PyObject * + + + 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 til (C++: const til_t *) + +Help on function replace_ordinal_typerefs in module ida_typeinf: + +replace_ordinal_typerefs(*args) -> 'int' + 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: type library to use. may be NULL. (C++: til_t *) + @param tif: type to modify (in/out) (C++: tinfo_t *) + +Help on function resolve_typedef in module ida_typeinf: + +resolve_typedef(*args) -> 'type_t const *' + resolve_typedef(til, type) -> type_t const * + +Help on class rrel_t in module ida_typeinf: + +class rrel_t(builtins.object) + | Proxy of C++ rrel_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> rrel_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_rrel_t(...) + | delete_rrel_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | off + | rrel_t_off_get(self) -> sval_t + | + | reg + | rrel_t_reg_get(self) -> int + | + | thisown + | The membership flag + +Help on function save_tinfo in module ida_typeinf: + +save_tinfo(*args) -> 'tinfo_code_t' + save_tinfo(tif, til, ord, name, ntf_flags) -> tinfo_code_t + +Help on class scattered_aloc_t in module ida_typeinf: + +class scattered_aloc_t(argpartvec_t) + | Proxy of C++ scattered_aloc_t class. + | + | Method resolution order: + | scattered_aloc_t + | argpartvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> scattered_aloc_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_scattered_aloc_t(...) + | delete_scattered_aloc_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from argpartvec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'argpart_t const &' + | __getitem__(self, i) -> argpart_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'argpart_t const &' + | at(self, _idx) -> argpart_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< argpart_t >::const_iterator' + | begin(self) -> argpart_t + | begin(self) -> argpart_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< argpart_t >::const_iterator' + | end(self) -> argpart_t + | end(self) -> argpart_t + | + | erase(self, *args) -> 'qvector< argpart_t >::iterator' + | erase(self, it) -> argpart_t + | erase(self, first, last) -> argpart_t + | + | extract(self, *args) -> 'argpart_t *' + | extract(self) -> argpart_t + | + | find(self, *args) -> 'qvector< argpart_t >::const_iterator' + | find(self, x) -> argpart_t + | find(self, x) -> argpart_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=argpart_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< argpart_t >::iterator' + | insert(self, it, x) -> argpart_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'argpart_t &' + | push_back(self, x) + | push_back(self) -> argpart_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from argpartvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from argpartvec_t: + | + | __hash__ = None + +Help on function score_tinfo in module ida_typeinf: + +score_tinfo(*args) -> 'uint32' + score_tinfo(tif) -> uint32 + +Help on function serialize_tinfo in module ida_typeinf: + +serialize_tinfo(*args) -> 'bool' + serialize_tinfo(type, fields, fldcmts, tif, sudt_flags) -> bool + +Help on function set_abi_name in module ida_typeinf: + +set_abi_name(*args) -> 'bool' + set_abi_name(abiname, user_level=False) -> bool + + + Set abi name (see 'Compiler IDs' ) + + + @param abiname (C++: const char *) + @param user_level (C++: bool) + +Help on function set_c_header_path in module ida_typeinf: + +set_c_header_path(*args) -> 'void' + set_c_header_path(incdir) + + + Set include directory path the target compiler. + + + @param incdir (C++: const char *) + +Help on function set_c_macros in module ida_typeinf: + +set_c_macros(*args) -> 'void' + set_c_macros(macros) + + + Set predefined macros for the target compiler. + + + @param macros (C++: const char *) + +Help on function set_compiler in module ida_typeinf: + +set_compiler(*args) -> 'bool' + set_compiler(cc, flags, abiname=None) -> bool + + + Change current compiler. + + @param cc: compiler to switch to (C++: const compiler_info_t &) + @param flags: Set compiler flags (C++: int) + @param abiname: ABI name (C++: const char *) + @return: success + +Help on function set_compiler_id in module ida_typeinf: + +set_compiler_id(*args) -> 'bool' + set_compiler_id(id, abiname=None) -> bool + + + Set the compiler id (see 'Compiler IDs' ) + + + @param id (C++: comp_t) + @param abiname (C++: const char *) + +Help on function set_compiler_string in module ida_typeinf: + +set_compiler_string(*args) -> 'bool' + set_compiler_string(compstr, user_level) -> bool + +Help on function set_numbered_type in module ida_typeinf: + +set_numbered_type(*args) -> 'tinfo_code_t' + set_numbered_type(ti, ordinal, ntf_flags, name, type, fields=None, cmt=None, fldcmts=None, sclass=None) -> tinfo_code_t + + + Store a type in the til. 'name' may be NULL for anonymous types. The + specified ordinal must be free (no other type is using it). For + ntf_flags, only 'NTF_REPLACE' is consulted. + + @param ti (C++: til_t *) + @param ordinal (C++: uint32) + @param ntf_flags (C++: int) + @param name (C++: const char *) + @param type (C++: const type_t *) + @param fields (C++: const p_list *) + @param cmt (C++: const char *) + @param fldcmts (C++: const p_list *) + @param sclass (C++: const sclass_t *) + +Help on function set_tinfo_attr in module ida_typeinf: + +set_tinfo_attr(*args) -> 'bool' + set_tinfo_attr(tif, ta, may_overwrite) -> bool + +Help on function set_tinfo_attrs in module ida_typeinf: + +set_tinfo_attrs(*args) -> 'bool' + set_tinfo_attrs(tif, ta) -> bool + +Help on function set_tinfo_property in module ida_typeinf: + +set_tinfo_property(*args) -> 'size_t' + set_tinfo_property(tif, sta_prop, x) -> size_t + +Help on function set_type_alias in module ida_typeinf: + +set_type_alias(*args) -> 'bool' + 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 + reference to srctype by dsttype. + + @param ti (C++: til_t *) + @param src_ordinal (C++: uint32) + @param dst_ordinal (C++: uint32) + +Help on class simd_info_t in module ida_typeinf: + +class simd_info_t(builtins.object) + | Proxy of C++ simd_info_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, nm=None, sz=0, memt=BTF_UNK) -> simd_info_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_simd_info_t(...) + | delete_simd_info_t(self) + | + | match_pattern(self, *args) -> 'bool' + | match_pattern(self, pattern) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | memtype + | simd_info_t_memtype_get(self) -> type_t + | + | name + | simd_info_t_name_get(self) -> char const * + | + | size + | simd_info_t_size_get(self) -> uint16 + | + | thisown + | The membership flag + | + | tif + | simd_info_t_tif_get(self) -> tinfo_t + +Help on function store_til in module ida_typeinf: + +store_til(*args) -> 'bool' + 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: type library to store (C++: til_t *) + @param tildir: directory where to store the til. NULL means current + directory. (C++: const char *) + @param name: filename of the til. If it's an absolute path, tildir is + ignored. NB: the file extension is forced to .til (C++: + const char *) + @return: success + +Help on class text_sink_t in module ida_typeinf: + +class text_sink_t(builtins.object) + | Proxy of C++ text_sink_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self) -> text_sink_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_text_sink_t(...) + | delete_text_sink_t(self) + | + | _print(self, *args) -> 'int' + | _print(self, str) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class til_symbol_t in module ida_typeinf: + +class til_symbol_t(builtins.object) + | Proxy of C++ til_symbol_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, n=None, t=None) -> til_symbol_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_til_symbol_t(...) + | delete_til_symbol_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | name + | til_symbol_t_name_get(self) -> char const * + | + | thisown + | The membership flag + | + | til + | til_symbol_t_til_get(self) -> til_t + +Help on class til_t in module ida_typeinf: + +class til_t(builtins.object) + | Proxy of C++ til_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> til_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_til_t(...) + | delete_til_t(self) + | + | base(self, *args) -> 'til_t *' + | base(self, n) -> til_t + | + | is_dirty(self, *args) -> 'bool' + | is_dirty(self) -> bool + | + | set_dirty(self, *args) -> 'void' + | set_dirty(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cc + | til_t_cc_get(self) -> compiler_info_t + | + | desc + | til_t_desc_get(self) -> char * + | + | flags + | til_t_flags_get(self) -> uint32 + | + | name + | til_t_name_get(self) -> char * + | + | nbases + | til_t_nbases_get(self) -> int + | + | nrefs + | til_t_nrefs_get(self) -> int + | + | nstreams + | til_t_nstreams_get(self) -> int + | + | streams + | til_t_streams_get(self) -> til_stream_t ** + | + | thisown + | The membership flag + +Help on class tinfo_t in module ida_typeinf: + +class tinfo_t(builtins.object) + | Proxy of C++ tinfo_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __gt__(self, *args) -> 'bool' + | __gt__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> tinfo_t + | __init__(self, decl_type) -> tinfo_t + | __init__(self, r) -> tinfo_t + | + | __le__(self, *args) -> 'bool' + | __le__(self, r) -> bool + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __str__(self, *args) -> 'qstring' + | __str__(self) -> qstring + | + | __swig_destroy__ = delete_tinfo_t(...) + | delete_tinfo_t(self) + | + | _print(self, *args) -> 'bool' + | _print(self, name=None, prtype_flags=0, indent=0, cmtindent=0, prefix=None, cmt=None) -> bool + | + | append_covered(self, *args) -> 'bool' + | append_covered(self, out, offset=0) -> bool + | + | calc_gaps(self, *args) -> 'bool' + | calc_gaps(self, out) -> bool + | + | calc_purged_bytes(self, *args) -> 'int' + | calc_purged_bytes(self) -> int + | + | calc_score(self, *args) -> 'uint32' + | calc_score(self) -> uint32 + | + | calc_udt_aligns(self, *args) -> 'bool' + | calc_udt_aligns(self, sudt_flags=0x0004) -> bool + | + | change_sign(self, *args) -> 'bool' + | change_sign(self, sign) -> bool + | + | clear(self, *args) -> 'void' + | clear(self) + | + | clr_const(self, *args) -> 'void' + | clr_const(self) + | + | clr_const_volatile(self, *args) -> 'void' + | clr_const_volatile(self) + | + | clr_volatile(self, *args) -> 'void' + | clr_volatile(self) + | + | compare(self, *args) -> 'int' + | compare(self, r) -> int + | + | compare_with(self, *args) -> 'bool' + | compare_with(self, r, tcflags=0) -> bool + | + | convert_array_to_ptr(self, *args) -> 'bool' + | convert_array_to_ptr(self) -> bool + | + | copy(self, *args) -> 'tinfo_t' + | copy(self) -> tinfo_t + | + | create_array(self, *args) -> 'bool' + | create_array(self, p, decl_type=BT_ARRAY) -> bool + | create_array(self, tif, nelems=0, base=0, decl_type=BT_ARRAY) -> bool + | + | create_bitfield(self, *args) -> 'bool' + | create_bitfield(self, p, decl_type=BT_BITFIELD) -> bool + | create_bitfield(self, nbytes, width, is_unsigned=False, decl_type=BT_BITFIELD) -> bool + | + | create_enum(self, *args) -> 'bool' + | create_enum(self, p, decl_type=BTF_ENUM) -> bool + | + | create_forward_decl(self, *args) -> 'tinfo_code_t' + | create_forward_decl(self, til, decl_type, name, ntf_flags=0) -> tinfo_code_t + | + | create_func(self, *args) -> 'bool' + | create_func(self, p, decl_type=BT_FUNC) -> bool + | + | create_ptr(self, *args) -> 'bool' + | create_ptr(self, p, decl_type=BT_PTR) -> bool + | create_ptr(self, tif, bps=0, decl_type=BT_PTR) -> bool + | + | create_simple_type(self, *args) -> 'bool' + | create_simple_type(self, decl_type) -> bool + | + | create_typedef(self, *args) -> 'void' + | create_typedef(self, p, decl_type=BTF_TYPEDEF, try_ordinal=True) -> bool + | create_typedef(self, til, name, decl_type=BTF_TYPEDEF, try_ordinal=True) + | create_typedef(self, til, ord, decl_type=BTF_TYPEDEF) + | + | create_udt(self, *args) -> 'bool' + | create_udt(self, p, decl_type) -> bool + | + | del_attr(self, *args) -> 'bool' + | del_attr(self, key, make_copy=True) -> bool + | + | del_attrs(self, *args) -> 'void' + | del_attrs(self) + | + | deserialize(self, *args) -> 'bool' + | deserialize(self, til, ptype, pfields=None, pfldcmts=None) -> bool + | deserialize(self, til, type, fields, cmts=None) -> bool + | + | dstr(self, *args) -> 'char const *' + | dstr(self) -> char const * + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | equals_to(self, *args) -> 'bool' + | equals_to(self, r) -> bool + | + | find_udt_member(self, *args) -> 'int' + | find_udt_member(self, udm, strmem_flags) -> int + | + | get_array_details(self, *args) -> 'bool' + | get_array_details(self, ai) -> bool + | + | get_array_element(self, *args) -> 'tinfo_t' + | get_array_element(self) -> tinfo_t + | + | get_array_nelems(self, *args) -> 'int' + | get_array_nelems(self) -> int + | + | get_attr(self, *args) -> 'PyObject *' + | get_attr(self, key, all_attrs=True) -> PyObject * + | + | get_attrs(self, *args) -> 'bool' + | get_attrs(self, tav, all_attrs=False) -> bool + | + | get_bitfield_details(self, *args) -> 'bool' + | get_bitfield_details(self, bi) -> bool + | + | get_declalign(self, *args) -> 'uchar' + | get_declalign(self) -> uchar + | + | get_decltype(self, *args) -> 'type_t' + | get_decltype(self) -> type_t + | + | get_enum_base_type(self, *args) -> 'type_t' + | get_enum_base_type(self) -> type_t + | + | get_enum_details(self, *args) -> 'bool' + | get_enum_details(self, ei) -> bool + | + | get_final_ordinal(self, *args) -> 'uint32' + | get_final_ordinal(self) -> uint32 + | + | get_final_type_name(self, *args) -> 'bool' + | get_final_type_name(self) -> bool + | + | get_func_details(self, *args) -> 'bool' + | get_func_details(self, fi, gtd=GTD_CALC_ARGLOCS) -> bool + | + | get_modifiers(self, *args) -> 'type_t' + | get_modifiers(self) -> type_t + | + | get_named_type(self, *args) -> 'bool' + | get_named_type(self, til, name, decl_type=BTF_TYPEDEF, resolve=True, try_ordinal=True) -> bool + | + | get_nargs(self, *args) -> 'int' + | get_nargs(self) -> int + | + | get_next_type_name(self, *args) -> 'bool' + | get_next_type_name(self) -> bool + | + | get_nth_arg(self, *args) -> 'tinfo_t' + | get_nth_arg(self, n) -> tinfo_t + | + | get_numbered_type(self, *args) -> 'bool' + | get_numbered_type(self, til, ordinal, decl_type=BTF_TYPEDEF, resolve=True) -> bool + | + | get_onemember_type(self, *args) -> 'tinfo_t' + | get_onemember_type(self) -> tinfo_t + | + | get_ordinal(self, *args) -> 'uint32' + | get_ordinal(self) -> uint32 + | + | get_pointed_object(self, *args) -> 'tinfo_t' + | get_pointed_object(self) -> tinfo_t + | + | get_ptr_details(self, *args) -> 'bool' + | get_ptr_details(self, pi) -> bool + | + | get_ptrarr_object(self, *args) -> 'tinfo_t' + | get_ptrarr_object(self) -> tinfo_t + | + | get_ptrarr_objsize(self, *args) -> 'int' + | get_ptrarr_objsize(self) -> int + | + | get_realtype(self, *args) -> 'type_t' + | get_realtype(self, full=False) -> type_t + | + | get_rettype(self, *args) -> 'tinfo_t' + | get_rettype(self) -> tinfo_t + | + | get_sign(self, *args) -> 'type_sign_t' + | get_sign(self) -> type_sign_t + | + | get_size(self, *args) -> 'size_t' + | get_size(self, p_effalign=None, gts_code=0) -> size_t + | + | get_til(self, *args) -> 'til_t const *' + | get_til(self) -> til_t + | + | get_type_name(self, *args) -> 'bool' + | get_type_name(self) -> bool + | + | get_udt_details(self, *args) -> 'bool' + | get_udt_details(self, udt, gtd=GTD_CALC_LAYOUT) -> bool + | + | get_udt_nmembers(self, *args) -> 'int' + | get_udt_nmembers(self) -> int + | + | get_unpadded_size(self, *args) -> 'size_t' + | get_unpadded_size(self) -> size_t + | + | has_details(self, *args) -> 'bool' + | has_details(self) -> bool + | + | has_vftable(self, *args) -> 'bool' + | has_vftable(self) -> bool + | + | is_anonymous_udt(self, *args) -> 'bool' + | is_anonymous_udt(self) -> bool + | + | is_arithmetic(self, *args) -> 'bool' + | is_arithmetic(self) -> bool + | + | is_array(self, *args) -> 'bool' + | is_array(self) -> bool + | + | is_bitfield(self, *args) -> 'bool' + | is_bitfield(self) -> bool + | + | is_bool(self, *args) -> 'bool' + | is_bool(self) -> bool + | + | is_castable_to(self, *args) -> 'bool' + | is_castable_to(self, target) -> bool + | + | is_char(self, *args) -> 'bool' + | is_char(self) -> bool + | + | is_complex(self, *args) -> 'bool' + | is_complex(self) -> bool + | + | is_const(self, *args) -> 'bool' + | is_const(self) -> bool + | + | is_correct(self, *args) -> 'bool' + | is_correct(self) -> bool + | + | is_decl_array(self, *args) -> 'bool' + | is_decl_array(self) -> bool + | + | is_decl_bitfield(self, *args) -> 'bool' + | is_decl_bitfield(self) -> bool + | + | is_decl_bool(self, *args) -> 'bool' + | is_decl_bool(self) -> bool + | + | is_decl_char(self, *args) -> 'bool' + | is_decl_char(self) -> bool + | + | is_decl_complex(self, *args) -> 'bool' + | is_decl_complex(self) -> bool + | + | is_decl_const(self, *args) -> 'bool' + | is_decl_const(self) -> bool + | + | is_decl_double(self, *args) -> 'bool' + | is_decl_double(self) -> bool + | + | is_decl_enum(self, *args) -> 'bool' + | is_decl_enum(self) -> bool + | + | is_decl_float(self, *args) -> 'bool' + | is_decl_float(self) -> bool + | + | is_decl_floating(self, *args) -> 'bool' + | is_decl_floating(self) -> bool + | + | is_decl_func(self, *args) -> 'bool' + | is_decl_func(self) -> bool + | + | is_decl_int(self, *args) -> 'bool' + | is_decl_int(self) -> bool + | + | is_decl_int128(self, *args) -> 'bool' + | is_decl_int128(self) -> bool + | + | is_decl_int16(self, *args) -> 'bool' + | is_decl_int16(self) -> bool + | + | is_decl_int32(self, *args) -> 'bool' + | is_decl_int32(self) -> bool + | + | is_decl_int64(self, *args) -> 'bool' + | is_decl_int64(self) -> bool + | + | is_decl_last(self, *args) -> 'bool' + | is_decl_last(self) -> bool + | + | is_decl_ldouble(self, *args) -> 'bool' + | is_decl_ldouble(self) -> bool + | + | is_decl_paf(self, *args) -> 'bool' + | is_decl_paf(self) -> bool + | + | is_decl_partial(self, *args) -> 'bool' + | is_decl_partial(self) -> bool + | + | is_decl_ptr(self, *args) -> 'bool' + | is_decl_ptr(self) -> bool + | + | is_decl_struct(self, *args) -> 'bool' + | is_decl_struct(self) -> bool + | + | is_decl_sue(self, *args) -> 'bool' + | is_decl_sue(self) -> bool + | + | is_decl_tbyte(self, *args) -> 'bool' + | is_decl_tbyte(self) -> bool + | + | is_decl_typedef(self, *args) -> 'bool' + | is_decl_typedef(self) -> bool + | + | is_decl_uchar(self, *args) -> 'bool' + | is_decl_uchar(self) -> bool + | + | is_decl_udt(self, *args) -> 'bool' + | is_decl_udt(self) -> bool + | + | is_decl_uint(self, *args) -> 'bool' + | is_decl_uint(self) -> bool + | + | is_decl_uint128(self, *args) -> 'bool' + | is_decl_uint128(self) -> bool + | + | is_decl_uint16(self, *args) -> 'bool' + | is_decl_uint16(self) -> bool + | + | is_decl_uint32(self, *args) -> 'bool' + | is_decl_uint32(self) -> bool + | + | is_decl_uint64(self, *args) -> 'bool' + | is_decl_uint64(self) -> bool + | + | is_decl_union(self, *args) -> 'bool' + | is_decl_union(self) -> bool + | + | is_decl_unknown(self, *args) -> 'bool' + | is_decl_unknown(self) -> bool + | + | is_decl_void(self, *args) -> 'bool' + | is_decl_void(self) -> bool + | + | is_decl_volatile(self, *args) -> 'bool' + | is_decl_volatile(self) -> bool + | + | is_double(self, *args) -> 'bool' + | is_double(self) -> bool + | + | is_empty_udt(self, *args) -> 'bool' + | is_empty_udt(self) -> bool + | + | is_enum(self, *args) -> 'bool' + | is_enum(self) -> bool + | + | is_ext_arithmetic(self, *args) -> 'bool' + | is_ext_arithmetic(self) -> bool + | + | is_ext_integral(self, *args) -> 'bool' + | is_ext_integral(self) -> bool + | + | is_float(self, *args) -> 'bool' + | is_float(self) -> bool + | + | is_floating(self, *args) -> 'bool' + | is_floating(self) -> bool + | + | is_forward_decl(self, *args) -> 'bool' + | is_forward_decl(self) -> bool + | + | is_from_subtil(self, *args) -> 'bool' + | is_from_subtil(self) -> bool + | + | is_func(self, *args) -> 'bool' + | is_func(self) -> bool + | + | is_funcptr(self, *args) -> 'bool' + | is_funcptr(self) -> bool + | + | is_high_func(self, *args) -> 'bool' + | is_high_func(self) -> bool + | + | is_int(self, *args) -> 'bool' + | is_int(self) -> bool + | + | is_int128(self, *args) -> 'bool' + | is_int128(self) -> bool + | + | is_int16(self, *args) -> 'bool' + | is_int16(self) -> bool + | + | is_int32(self, *args) -> 'bool' + | is_int32(self) -> bool + | + | is_int64(self, *args) -> 'bool' + | is_int64(self) -> bool + | + | is_integral(self, *args) -> 'bool' + | is_integral(self) -> bool + | + | is_ldouble(self, *args) -> 'bool' + | is_ldouble(self) -> bool + | + | is_manually_castable_to(self, *args) -> 'bool' + | is_manually_castable_to(self, target) -> bool + | + | is_one_fpval(self, *args) -> 'bool' + | is_one_fpval(self) -> bool + | + | is_paf(self, *args) -> 'bool' + | is_paf(self) -> bool + | + | is_partial(self, *args) -> 'bool' + | is_partial(self) -> bool + | + | is_ptr(self, *args) -> 'bool' + | is_ptr(self) -> bool + | + | is_ptr_or_array(self, *args) -> 'bool' + | is_ptr_or_array(self) -> bool + | + | is_purging_cc(self, *args) -> 'bool' + | is_purging_cc(self) -> bool + | + | is_pvoid(self, *args) -> 'bool' + | is_pvoid(self) -> bool + | + | is_scalar(self, *args) -> 'bool' + | is_scalar(self) -> bool + | + | is_shifted_ptr(self, *args) -> 'bool' + | is_shifted_ptr(self) -> bool + | + | is_signed(self, *args) -> 'bool' + | is_signed(self) -> bool + | + | is_small_udt(self, *args) -> 'bool' + | is_small_udt(self) -> bool + | + | is_sse_type(self, *args) -> 'bool' + | is_sse_type(self) -> bool + | + | is_struct(self, *args) -> 'bool' + | is_struct(self) -> bool + | + | is_sue(self, *args) -> 'bool' + | is_sue(self) -> bool + | + | is_tbyte(self, *args) -> 'bool' + | is_tbyte(self) -> bool + | + | is_typeref(self, *args) -> 'bool' + | is_typeref(self) -> bool + | + | is_uchar(self, *args) -> 'bool' + | is_uchar(self) -> bool + | + | is_udt(self, *args) -> 'bool' + | is_udt(self) -> bool + | + | is_uint(self, *args) -> 'bool' + | is_uint(self) -> bool + | + | is_uint128(self, *args) -> 'bool' + | is_uint128(self) -> bool + | + | is_uint16(self, *args) -> 'bool' + | is_uint16(self) -> bool + | + | is_uint32(self, *args) -> 'bool' + | is_uint32(self) -> bool + | + | is_uint64(self, *args) -> 'bool' + | is_uint64(self) -> bool + | + | is_union(self, *args) -> 'bool' + | is_union(self) -> bool + | + | is_unknown(self, *args) -> 'bool' + | is_unknown(self) -> bool + | + | is_unsigned(self, *args) -> 'bool' + | is_unsigned(self) -> bool + | + | is_user_cc(self, *args) -> 'bool' + | is_user_cc(self) -> bool + | + | is_vararg_cc(self, *args) -> 'bool' + | is_vararg_cc(self) -> bool + | + | is_varstruct(self, *args) -> 'bool' + | is_varstruct(self) -> bool + | + | is_vftable(self, *args) -> 'bool' + | is_vftable(self) -> bool + | + | is_void(self, *args) -> 'bool' + | is_void(self) -> bool + | + | is_volatile(self, *args) -> 'bool' + | is_volatile(self) -> bool + | + | is_well_defined(self, *args) -> 'bool' + | is_well_defined(self) -> bool + | + | present(self, *args) -> 'bool' + | present(self) -> bool + | + | read_bitfield_value(self, *args) -> 'uint64' + | read_bitfield_value(self, v, bitoff) -> uint64 + | + | remove_ptr_or_array(self, *args) -> 'bool' + | remove_ptr_or_array(self) -> bool + | + | requires_qualifier(self, *args) -> 'bool' + | requires_qualifier(self, name, offset) -> bool + | + | serialize(self, *args) -> 'PyObject *' + | serialize(self, sudt_flags=SUDT_FAST|SUDT_TRUNC) -> PyObject * + | + | set_attr(self, *args) -> 'bool' + | set_attr(self, ta, may_overwrite=True) -> bool + | + | set_attrs(self, *args) -> 'bool' + | set_attrs(self, tav) -> bool + | + | set_const(self, *args) -> 'void' + | set_const(self) + | + | set_declalign(self, *args) -> 'bool' + | set_declalign(self, declalign) -> bool + | + | set_modifiers(self, *args) -> 'void' + | set_modifiers(self, mod) + | + | set_named_type(self, *args) -> 'tinfo_code_t' + | set_named_type(self, til, name, ntf_flags=0) -> tinfo_code_t + | + | set_numbered_type(self, *args) -> 'tinfo_code_t' + | set_numbered_type(self, til, ord, ntf_flags=0, name=None) -> tinfo_code_t + | + | set_symbol_type(self, *args) -> 'tinfo_code_t' + | set_symbol_type(self, til, name, ntf_flags=0) -> tinfo_code_t + | + | set_volatile(self, *args) -> 'void' + | set_volatile(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | write_bitfield_value(self, *args) -> 'uint64' + | write_bitfield_value(self, dst, v, bitoff) -> uint64 + | + | ---------------------------------------------------------------------- + | Static methods defined here: + | + | get_stock(*args) -> 'tinfo_t' + | get_stock(id) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function tinfo_t_get_stock in module ida_typeinf: + +tinfo_t_get_stock(*args) -> 'tinfo_t' + tinfo_t_get_stock(id) -> tinfo_t + +Help on class tinfo_visitor_t in module ida_typeinf: + +class tinfo_visitor_t(builtins.object) + | Proxy of C++ tinfo_visitor_t class. + | + | Methods defined here: + | + | __disown__(self) + | + | __init__(self, *args) + | __init__(self, s=0) -> tinfo_visitor_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_tinfo_visitor_t(...) + | delete_tinfo_visitor_t(self) + | + | apply_to(self, *args) -> 'int' + | apply_to(self, tif, out=None, name=None, cmt=None) -> int + | + | prune_now(self, *args) -> 'void' + | prune_now(self) + | + | visit_type(self, *args) -> 'int' + | visit_type(self, out, tif, name, cmt) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | state + | tinfo_visitor_t_state_get(self) -> int + | + | thisown + | The membership flag + +Help on class type_attr_t in module ida_typeinf: + +class type_attr_t(builtins.object) + | Proxy of C++ type_attr_t class. + | + | Methods defined here: + | + | __ge__(self, *args) -> 'bool' + | __ge__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> type_attr_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_type_attr_t(...) + | delete_type_attr_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | key + | type_attr_t_key_get(self) -> qstring * + | + | thisown + | The membership flag + | + | value + | type_attr_t_value_get(self) -> bytevec_t * + +Help on class type_attrs_t in module ida_typeinf: + +class type_attrs_t(builtins.object) + | Proxy of C++ qvector< type_attr_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'type_attr_t const &' + | __getitem__(self, i) -> type_attr_t + | + | __init__(self, *args) + | __init__(self) -> type_attrs_t + | __init__(self, x) -> type_attrs_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_type_attrs_t(...) + | delete_type_attrs_t(self) + | + | at(self, *args) -> 'type_attr_t const &' + | at(self, _idx) -> type_attr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< type_attr_t >::const_iterator' + | begin(self) -> type_attr_t + | begin(self) -> type_attr_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< type_attr_t >::const_iterator' + | end(self) -> type_attr_t + | end(self) -> type_attr_t + | + | erase(self, *args) -> 'qvector< type_attr_t >::iterator' + | erase(self, it) -> type_attr_t + | erase(self, first, last) -> type_attr_t + | + | extract(self, *args) -> 'type_attr_t *' + | extract(self) -> type_attr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=type_attr_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< type_attr_t >::iterator' + | insert(self, it, x) -> type_attr_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'type_attr_t &' + | push_back(self, x) + | push_back(self) -> type_attr_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on class type_mods_t in module ida_typeinf: + +class type_mods_t(builtins.object) + | Proxy of C++ type_mods_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> type_mods_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_type_mods_t(...) + | delete_type_mods_t(self) + | + | clear(self, *args) -> 'void' + | clear(self) + | + | has_cmt(self, *args) -> 'bool' + | has_cmt(self) -> bool + | + | has_info(self, *args) -> 'bool' + | has_info(self) -> bool + | + | has_name(self, *args) -> 'bool' + | has_name(self) -> bool + | + | has_type(self, *args) -> 'bool' + | has_type(self) -> bool + | + | set_new_cmt(self, *args) -> 'void' + | set_new_cmt(self, c) + | + | set_new_name(self, *args) -> 'void' + | set_new_name(self, n) + | + | set_new_type(self, *args) -> 'void' + | set_new_type(self, t) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | type_mods_t_cmt_get(self) -> qstring * + | + | flags + | type_mods_t_flags_get(self) -> int + | + | name + | type_mods_t_name_get(self) -> qstring * + | + | thisown + | The membership flag + | + | type + | type_mods_t_type_get(self) -> tinfo_t + +Help on class typedef_type_data_t in module ida_typeinf: + +class typedef_type_data_t(builtins.object) + | Proxy of C++ typedef_type_data_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self, _til, _name, _resolve=False) -> typedef_type_data_t + | __init__(self, _til, ord, _resolve=False) -> typedef_type_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_typedef_type_data_t(...) + | delete_typedef_type_data_t(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | is_ordref + | typedef_type_data_t_is_ordref_get(self) -> bool + | + | resolve + | typedef_type_data_t_resolve_get(self) -> bool + | + | thisown + | The membership flag + | + | til + | typedef_type_data_t_til_get(self) -> til_t + +Help on class udt_member_t in module ida_typeinf: + +class udt_member_t(builtins.object) + | Proxy of C++ udt_member_t class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __init__(self, *args) + | __init__(self) -> udt_member_t + | + | __lt__(self, *args) -> 'bool' + | __lt__(self, r) -> bool + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_udt_member_t(...) + | delete_udt_member_t(self) + | + | begin(self, *args) -> 'uint64' + | begin(self) -> uint64 + | + | clr_baseclass(self, *args) -> 'void' + | clr_baseclass(self) + | + | clr_unaligned(self, *args) -> 'void' + | clr_unaligned(self) + | + | clr_vftable(self, *args) -> 'void' + | clr_vftable(self) + | + | clr_virtbase(self, *args) -> 'void' + | clr_virtbase(self) + | + | end(self, *args) -> 'uint64' + | end(self) -> uint64 + | + | is_anonymous_udm(self, *args) -> 'bool' + | is_anonymous_udm(self) -> bool + | + | is_baseclass(self, *args) -> 'bool' + | is_baseclass(self) -> bool + | + | is_bitfield(self, *args) -> 'bool' + | is_bitfield(self) -> bool + | + | is_unaligned(self, *args) -> 'bool' + | is_unaligned(self) -> bool + | + | is_vftable(self, *args) -> 'bool' + | is_vftable(self) -> bool + | + | is_virtbase(self, *args) -> 'bool' + | is_virtbase(self) -> bool + | + | is_zero_bitfield(self, *args) -> 'bool' + | is_zero_bitfield(self) -> bool + | + | set_baseclass(self, *args) -> 'void' + | set_baseclass(self) + | + | set_unaligned(self, *args) -> 'void' + | set_unaligned(self) + | + | set_vftable(self, *args) -> 'void' + | set_vftable(self) + | + | set_virtbase(self, *args) -> 'void' + | set_virtbase(self) + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cmt + | udt_member_t_cmt_get(self) -> qstring * + | + | effalign + | udt_member_t_effalign_get(self) -> int + | + | fda + | udt_member_t_fda_get(self) -> uchar + | + | name + | udt_member_t_name_get(self) -> qstring * + | + | offset + | udt_member_t_offset_get(self) -> uint64 + | + | size + | udt_member_t_size_get(self) -> uint64 + | + | tafld_bits + | udt_member_t_tafld_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | type + | udt_member_t_type_get(self) -> tinfo_t + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on class udt_type_data_t in module ida_typeinf: + +class udt_type_data_t(udtmembervec_t) + | Proxy of C++ udt_type_data_t class. + | + | Method resolution order: + | udt_type_data_t + | udtmembervec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> udt_type_data_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_udt_type_data_t(...) + | delete_udt_type_data_t(self) + | + | is_cppobj(self, *args) -> 'bool' + | is_cppobj(self) -> bool + | + | is_last_baseclass(self, *args) -> 'bool' + | is_last_baseclass(self, idx) -> bool + | + | is_msstruct(self, *args) -> 'bool' + | is_msstruct(self) -> bool + | + | is_unaligned(self, *args) -> 'bool' + | is_unaligned(self) -> bool + | + | is_vftable(self, *args) -> 'bool' + | is_vftable(self) -> bool + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | effalign + | udt_type_data_t_effalign_get(self) -> uint32 + | + | is_union + | udt_type_data_t_is_union_get(self) -> bool + | + | pack + | udt_type_data_t_pack_get(self) -> uchar + | + | sda + | udt_type_data_t_sda_get(self) -> uchar + | + | taudt_bits + | udt_type_data_t_taudt_bits_get(self) -> uint32 + | + | thisown + | The membership flag + | + | total_size + | udt_type_data_t_total_size_get(self) -> size_t + | + | unpadded_size + | udt_type_data_t_unpadded_size_get(self) -> size_t + | + | ---------------------------------------------------------------------- + | Methods inherited from udtmembervec_t: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'udt_member_t const &' + | __getitem__(self, i) -> udt_member_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'udt_member_t const &' + | at(self, _idx) -> udt_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | begin(self) -> udt_member_t + | begin(self) -> udt_member_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | end(self) -> udt_member_t + | end(self) -> udt_member_t + | + | erase(self, *args) -> 'qvector< udt_member_t >::iterator' + | erase(self, it) -> udt_member_t + | erase(self, first, last) -> udt_member_t + | + | extract(self, *args) -> 'udt_member_t *' + | extract(self) -> udt_member_t + | + | find(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | find(self, x) -> udt_member_t + | find(self, x) -> udt_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=udt_member_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< udt_member_t >::iterator' + | insert(self, it, x) -> udt_member_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'udt_member_t &' + | push_back(self, x) + | push_back(self) -> udt_member_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from udtmembervec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes inherited from udtmembervec_t: + | + | __hash__ = None + +Help on class udtmembervec_t in module ida_typeinf: + +class udtmembervec_t(builtins.object) + | Proxy of C++ qvector< udt_member_t > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'udt_member_t const &' + | __getitem__(self, i) -> udt_member_t + | + | __init__(self, *args) + | __init__(self) -> udtmembervec_t + | __init__(self, x) -> udtmembervec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_udtmembervec_t(...) + | delete_udtmembervec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | at(self, *args) -> 'udt_member_t const &' + | at(self, _idx) -> udt_member_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | begin(self) -> udt_member_t + | begin(self) -> udt_member_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | end(self) -> udt_member_t + | end(self) -> udt_member_t + | + | erase(self, *args) -> 'qvector< udt_member_t >::iterator' + | erase(self, it) -> udt_member_t + | erase(self, first, last) -> udt_member_t + | + | extract(self, *args) -> 'udt_member_t *' + | extract(self) -> udt_member_t + | + | find(self, *args) -> 'qvector< udt_member_t >::const_iterator' + | find(self, x) -> udt_member_t + | find(self, x) -> udt_member_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=udt_member_t()) + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< udt_member_t >::iterator' + | insert(self, it, x) -> udt_member_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'udt_member_t &' + | push_back(self, x) + | push_back(self) -> udt_member_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function unpack_idcobj_from_bv in module ida_typeinf: + +unpack_idcobj_from_bv(*args) -> 'error_t' + 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 &) + @param bytes (C++: const bytevec_t &) + @param pio_flags (C++: int) + +Help on function unpack_idcobj_from_idb in module ida_typeinf: + +unpack_idcobj_from_idb(*args) -> 'error_t' + 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 &) + @param ea (C++: ea_t) + @param off0 (C++: const bytevec_t *) + @param pio_flags (C++: int) + +Help on function unpack_object_from_bv in module ida_typeinf: + +unpack_object_from_bv(*args) -> 'PyObject *' + 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 tp: type string + @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 + +Help on function unpack_object_from_idb in module ida_typeinf: + +unpack_object_from_idb(*args) -> 'PyObject *' + unpack_object_from_idb(ti, _type, _fields, ea, pio_flags=0) -> PyObject * + +Help on class valstr_t in module ida_typeinf: + +class valstr_t(builtins.object) + | Proxy of C++ valstr_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> valstr_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_valstr_t(...) + | delete_valstr_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | info + | valstr_t_info_get(self) -> valinfo_t * + | + | length + | valstr_t_length_get(self) -> size_t + | + | members + | valstr_t_members_get(self) -> valstrs_t + | + | oneline + | valstr_t_oneline_get(self) -> qstring * + | + | props + | valstr_t_props_get(self) -> int + | + | thisown + | The membership flag + +Help on class valstrs_t in module ida_typeinf: + +class valstrs_t(valstrvec_t) + | Proxy of C++ valstrs_t class. + | + | Method resolution order: + | valstrs_t + | valstrvec_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> valstrs_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_valstrs_t(...) + | delete_valstrs_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Methods inherited from valstrvec_t: + | + | __getitem__(self, *args) -> 'valstr_t const &' + | __getitem__(self, i) -> valstr_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | at(self, *args) -> 'valstr_t const &' + | at(self, _idx) -> valstr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< valstr_t >::const_iterator' + | begin(self) -> valstr_t + | begin(self) -> valstr_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< valstr_t >::const_iterator' + | end(self) -> valstr_t + | end(self) -> valstr_t + | + | erase(self, *args) -> 'qvector< valstr_t >::iterator' + | erase(self, it) -> valstr_t + | erase(self, first, last) -> valstr_t + | + | extract(self, *args) -> 'valstr_t *' + | extract(self) -> valstr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=valstr_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< valstr_t >::iterator' + | insert(self, it, x) -> valstr_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'valstr_t &' + | push_back(self, x) + | push_back(self) -> valstr_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from valstrvec_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on class valstrvec_t in module ida_typeinf: + +class valstrvec_t(builtins.object) + | Proxy of C++ qvector< valstr_t > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'valstr_t const &' + | __getitem__(self, i) -> valstr_t + | + | __init__(self, *args) + | __init__(self) -> valstrvec_t + | __init__(self, x) -> valstrvec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_valstrvec_t(...) + | delete_valstrvec_t(self) + | + | at(self, *args) -> 'valstr_t const &' + | at(self, _idx) -> valstr_t + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< valstr_t >::const_iterator' + | begin(self) -> valstr_t + | begin(self) -> valstr_t + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< valstr_t >::const_iterator' + | end(self) -> valstr_t + | end(self) -> valstr_t + | + | erase(self, *args) -> 'qvector< valstr_t >::iterator' + | erase(self, it) -> valstr_t + | erase(self, first, last) -> valstr_t + | + | extract(self, *args) -> 'valstr_t *' + | extract(self) -> valstr_t + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=valstr_t()) + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< valstr_t >::iterator' + | insert(self, it, x) -> valstr_t + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'valstr_t &' + | push_back(self, x) + | push_back(self) -> valstr_t + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + +Help on function verify_argloc in module ida_typeinf: + +verify_argloc(*args) -> 'int' + verify_argloc(vloc, size, gaps) -> int + + + Verify 'argloc_t' . + + @param vloc (C++: const argloc_t &) + @param size: total size of the variable (C++: int) + @param gaps: if not NULL, specifies gaps in structure definition. + these gaps should not map to any argloc, but everything + else must be covered (C++: const rangeset_t *) + @return: 0 if ok, otherwise an interr code. + +Help on function verify_tinfo in module ida_typeinf: + +verify_tinfo(*args) -> 'int' + verify_tinfo(typid) -> int + +Help on function visit_subtypes in module ida_typeinf: + +visit_subtypes(*args) -> 'int' + visit_subtypes(visitor, out, tif, name, cmt) -> int + +Help on function write_tinfo_bitfield_value in module ida_typeinf: + +write_tinfo_bitfield_value(*args) -> 'uint64' + write_tinfo_bitfield_value(typid, dst, v, bitoff) -> uint64 + +=== ida_typeinf EPYDOC INJECTIONS === +ida_typeinf.ADDTIL_ABORTED +""" +til was not loaded (incompatible til rejected by user) +""" + +ida_typeinf.ADDTIL_COMP +""" +ok, but til is not compatible with the current compiler +""" + +ida_typeinf.ADDTIL_DEFAULT +""" +default behavior +""" + +ida_typeinf.ADDTIL_FAILED +""" +something bad, the warning is displayed +""" + +ida_typeinf.ADDTIL_INCOMP +""" +load incompatible tils +""" + +ida_typeinf.ADDTIL_OK +""" +ok, til is loaded +""" + +ida_typeinf.ADDTIL_SILENT +""" +do not ask any questions +""" + +ida_typeinf.CC_ALLOW_ARGPERM +""" +disregard argument order? +""" + +ida_typeinf.CC_ALLOW_REGHOLES +""" +allow holes in register argument list? +""" + +ida_typeinf.CC_CDECL_OK +""" +can use __cdecl calling convention? +""" + +ida_typeinf.CC_HAS_ELLIPSIS +""" +function has a variable list of arguments? +""" + +ida_typeinf.FAH_BYTE +""" +function argument attribute header byte +""" + +ida_typeinf.FAI_ARRAY +""" +was initially an array see "__org_typedef" or "__org_arrdim" type +attributes to determine the original type +""" + +ida_typeinf.FAI_HIDDEN +""" +hidden argument +""" + +ida_typeinf.FAI_RETPTR +""" +pointer to return value. implies hidden +""" + +ida_typeinf.FAI_STRUCT +""" +was initially a structure +""" + +ida_typeinf.FTI_ALL +""" +all defined bits +""" + +ida_typeinf.FTI_ARGLOCS +""" +(stkargs and retloc too) + +info about argument locations has been calculated +""" + +ida_typeinf.FTI_CALLTYPE +""" +mask for FTI_*CALL +""" + +ida_typeinf.FTI_DEFCALL +""" +default call +""" + +ida_typeinf.FTI_FARCALL +""" +far call +""" + +ida_typeinf.FTI_HIGH +""" +high level prototype (with possibly hidden args) +""" + +ida_typeinf.FTI_INTCALL +""" +interrupt call +""" + +ida_typeinf.FTI_NEARCALL +""" +near call +""" + +ida_typeinf.FTI_NORET +""" +noreturn +""" + +ida_typeinf.FTI_PURE +""" +__pure +""" + +ida_typeinf.FTI_SPOILED +""" +information about spoiled registers is present +""" + +ida_typeinf.FTI_STATIC +""" +static +""" + +ida_typeinf.FTI_VIRTUAL +""" +virtual +""" + +ida_typeinf.GUESS_FUNC_FAILED +""" +couldn't guess the function type +""" + +ida_typeinf.GUESS_FUNC_OK +""" +ok, some non-trivial information is gathered +""" + +ida_typeinf.GUESS_FUNC_TRIVIAL +""" +the function type doesn't have interesting info +""" + +ida_typeinf.HTI_CPP +""" +C++ mode (not implemented) +""" + +ida_typeinf.HTI_DCL +""" +don't complain about redeclarations +""" + +ida_typeinf.HTI_EXT +""" +debug: print external representation of types +""" + +ida_typeinf.HTI_FIL +""" +otherwise "input" contains a C declaration + +"input" is file name, +""" + +ida_typeinf.HTI_HIGH +""" +(with hidden args, etc) + +assume high level prototypes +""" + +ida_typeinf.HTI_INT +""" +debug: print internal representation of types +""" + +ida_typeinf.HTI_LEX +""" +debug: print tokens +""" + +ida_typeinf.HTI_LOWER +""" +lower the function prototypes +""" + +ida_typeinf.HTI_MAC +""" +define macros from the base tils +""" + +ida_typeinf.HTI_NDC +""" +don't decorate names +""" + +ida_typeinf.HTI_NER +""" +ignore all errors but display them +""" + +ida_typeinf.HTI_NWR +""" +no warning messages +""" + +ida_typeinf.HTI_PAK +""" +explicit structure pack value (#pragma pack) +""" + +ida_typeinf.HTI_PAK1 +""" +#pragma pack(1) +""" + +ida_typeinf.HTI_PAK16 +""" +#pragma pack(16) +""" + +ida_typeinf.HTI_PAK2 +""" +#pragma pack(2) +""" + +ida_typeinf.HTI_PAK4 +""" +#pragma pack(4) +""" + +ida_typeinf.HTI_PAK8 +""" +#pragma pack(8) +""" + +ida_typeinf.HTI_PAKDEF +""" +default pack value +""" + +ida_typeinf.HTI_PAK_SHIFT +""" +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 +""" + +ida_typeinf.HTI_RAWARGS +""" +leave argument names unchanged (do not remove underscores) +""" + +ida_typeinf.HTI_TST +""" +test mode: discard the result +""" + +ida_typeinf.HTI_UNP +""" +debug: check the result by unpacking it +""" + +ida_typeinf.IMPTYPE_LOCAL +""" +the type is local, the struct/enum won't be marked as til type. there +is no need to specify this bit if til==idati, the kernel will set it +automatically +""" + +ida_typeinf.IMPTYPE_OVERRIDE +""" +override existing type +""" + +ida_typeinf.IMPTYPE_VERBOSE +""" +more verbose output (dialog boxes may appear) +""" + +ida_typeinf.MAX_FUNC_ARGS +""" +max number of function arguments +""" + +ida_typeinf.NTF_64BIT +""" +value is 64bit +""" + +ida_typeinf.NTF_CHKSYNC +""" +(set_numbered_type, set_named_type) + +check that synchronization to IDB passed OK +""" + +ida_typeinf.NTF_FIXNAME +""" +(set_named_type, set_numbered_type only) + +force-validate the name of the type when setting +""" + +ida_typeinf.NTF_IDBENC +""" +the name is given in the IDB encoding; non-ASCII bytes will be decoded +accordingly (set_named_type, set_numbered_type only) +""" + +ida_typeinf.NTF_NOBASE +""" +don't inspect base tils (for get_named_type) +""" + +ida_typeinf.NTF_NOCUR +""" +don't inspect current til file (for get_named_type) +""" + +ida_typeinf.NTF_REPLACE +""" +replace original type (for set_named_type) +""" + +ida_typeinf.NTF_SYMM +""" +only one of 'NTF_TYPE' and 'NTF_SYMU' , 'NTF_SYMM' can be used + +symbol, name is mangled ('_func') +""" + +ida_typeinf.NTF_SYMU +""" +symbol, name is unmangled ('func') +""" + +ida_typeinf.NTF_TYPE +""" +type name +""" + +ida_typeinf.NTF_UMANGLED +""" +name is unmangled (don't use this flag) +""" + +ida_typeinf.PCN_CHR +""" +character +""" + +ida_typeinf.PCN_DEC +""" +decimal +""" + +ida_typeinf.PCN_DECSEXT +""" +automatically extend sign of signed decimal numbers +""" + +ida_typeinf.PCN_HEX +""" +hexadecimal +""" + +ida_typeinf.PCN_LZHEX +""" +print leading zeroes for hexdecimal number +""" + +ida_typeinf.PCN_NEGSIGN +""" +print negated value (-N) for negative numbers +""" + +ida_typeinf.PCN_OCT +""" +octal +""" + +ida_typeinf.PCN_RADIX +""" +number base to use +""" + +ida_typeinf.PCN_UNSIGNED +""" +add 'u' suffix +""" + +ida_typeinf.PDF_DEF_BASE +""" +Include base types: __int8, __int16, etc.. +""" + +ida_typeinf.PDF_DEF_FWD +""" +Allow forward declarations. +""" + +ida_typeinf.PDF_HEADER_CMT +""" +Prepend output with a descriptive comment. +""" + +ida_typeinf.PDF_INCL_DEPS +""" +Include all type dependencies. +""" + +ida_typeinf.PIO_IGNORE_PTRS +""" +do not follow pointers +""" + +ida_typeinf.PIO_NOATTR_FAIL +""" +missing attributes are not ok +""" + +ida_typeinf.PRALOC_STKOFF +""" +print stack offsets +""" + +ida_typeinf.PRALOC_VERIFY +""" +interr if illegal argloc +""" + +ida_typeinf.PRTYPE_1LINE +""" +print to one line +""" + +ida_typeinf.PRTYPE_COLORED +""" +add color tag COLOR_SYMBOL for any parentheses, commas and colons +""" + +ida_typeinf.PRTYPE_CPP +""" +use c++ name (only for 'print_type()' ) +""" + +ida_typeinf.PRTYPE_DEF +""" + 'tinfo_t' : print definition, if available +""" + +ida_typeinf.PRTYPE_MULTI +""" +print to many lines +""" + +ida_typeinf.PRTYPE_NOARGS +""" + 'tinfo_t' : do not print function argument names +""" + +ida_typeinf.PRTYPE_NOARRS +""" + 'tinfo_t' : print arguments with 'FAI_ARRAY' as pointers +""" + +ida_typeinf.PRTYPE_NOREGEX +""" +do not apply regular expressions to beautify name +""" + +ida_typeinf.PRTYPE_NORES +""" + 'tinfo_t' : never resolve types (meaningful with PRTYPE_DEF) +""" + +ida_typeinf.PRTYPE_PRAGMA +""" +print pragmas for alignment +""" + +ida_typeinf.PRTYPE_RESTORE +""" + 'tinfo_t' : print restored types for 'FAI_ARRAY' and 'FAI_STRUCT' +""" + +ida_typeinf.PRTYPE_SEMI +""" +append ; to the end +""" + +ida_typeinf.PRTYPE_TYPE +""" +print type declaration (not variable declaration) +""" + +ida_typeinf.PT_HIGH +""" +(with hidden args, etc) + +assume high level prototypes +""" + +ida_typeinf.PT_LOWER +""" +lower the function prototypes +""" + +ida_typeinf.PT_NDC +""" +don't decorate names +""" + +ida_typeinf.PT_PACKMASK +""" +mask for pack alignment values +""" + +ida_typeinf.PT_RAWARGS +""" +leave argument names unchanged (do not remove underscores) +""" + +ida_typeinf.PT_REPLACE +""" +replace the old type (used in idc) +""" + +ida_typeinf.PT_SIL +""" +silent, no messages +""" + +ida_typeinf.PT_TYP +""" +return declared type information +""" + +ida_typeinf.PT_VAR +""" +return declared object information +""" + +ida_typeinf.RESERVED_BYTE +""" +multifunctional purpose +""" + +ida_typeinf.SETCOMP_BY_USER +""" +invoked by user, cannot be replaced by module/loader +""" + +ida_typeinf.SETCOMP_ONLY_ABI +""" +ignore cc field complete, use only abiname +""" + +ida_typeinf.SETCOMP_ONLY_ID +""" +cc has only 'id' field the rest will be set to defaults corresponding +to the program bitness +""" + +ida_typeinf.SETCOMP_OVERRIDE +""" +may override old compiler info +""" + +ida_typeinf.STRMEM_ANON +""" +can be combined with 'STRMEM_NAME' : look inside anonymous members +too. +""" + +ida_typeinf.STRMEM_AUTO +""" +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)! +""" + +ida_typeinf.STRMEM_CASTABLE_TO +""" +can be combined with 'STRMEM_TYPE' : member type must be castable to +the specified type +""" + +ida_typeinf.STRMEM_INDEX +""" +get member by number- in: udm->offset - is a member number +""" + +ida_typeinf.STRMEM_MAXS +""" +get biggest member by size. +""" + +ida_typeinf.STRMEM_MINS +""" +get smallest member by size. +""" + +ida_typeinf.STRMEM_NAME +""" +get member by name- in: udm->name - the desired member name. +""" + +ida_typeinf.STRMEM_OFFSET +""" +get member by offset- in: udm->offset - is a member offset in bits +""" + +ida_typeinf.STRMEM_SIZE +""" +get member by size.- in: udm->size - the desired member size. +""" + +ida_typeinf.STRMEM_SKIP_EMPTY +""" +can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' skip empty +members (i.e. having zero size) only last empty member can be returned +""" + +ida_typeinf.STRMEM_TYPE +""" +get member by type. - in: udm->type - the desired member type. member +types are compared with tinfo_t::equals_to() +""" + +ida_typeinf.STRMEM_VFTABLE +""" +can be combined with 'STRMEM_OFFSET' , 'STRMEM_AUTO' get vftable +instead of the base class +""" + +ida_typeinf.SUDT_ALIGN +""" +to match the offsets and size info + +recalculate field alignments, struct packing, etc +""" + +ida_typeinf.SUDT_CONST +""" +only for serialize_udt: make type const +""" + +ida_typeinf.SUDT_FAST +""" +serialize without verifying offsets and alignments +""" + +ida_typeinf.SUDT_GAPS +""" +allow to fill gaps with additional members (_BYTE[]) +""" + +ida_typeinf.SUDT_SORT +""" +fields are not sorted by offset, sort them first +""" + +ida_typeinf.SUDT_TRUNC +""" +serialize: truncate useless strings from fields, fldcmts +""" + +ida_typeinf.SUDT_UNEX +""" +references to nonexistent member types are acceptable in this case it +is better to set the corresponding 'udt_member_t::fda' field to the +type alignment. if this field is not set, ida will try to guess the +alignment. +""" + +ida_typeinf.SUDT_VOLATILE +""" +only for serialize_udt: make type volatile +""" + +ida_typeinf.TAENUM_64BIT +""" +enum: store 64-bit values +""" + +ida_typeinf.TAENUM_SIGNED +""" +enum: signed +""" + +ida_typeinf.TAENUM_UNSIGNED +""" +enum: unsigned +""" + +ida_typeinf.TAFLD_BASECLASS +""" +field: do not include but inherit from the current field +""" + +ida_typeinf.TAFLD_UNALIGNED +""" +field: unaligned field +""" + +ida_typeinf.TAFLD_VFTABLE +""" +field: ptr to virtual function table +""" + +ida_typeinf.TAFLD_VIRTBASE +""" +field: virtual base (not supported yet) +""" + +ida_typeinf.TAH_ALL +""" +all defined bits +""" + +ida_typeinf.TAH_BYTE +""" +type attribute header byte +""" + +ida_typeinf.TAH_HASATTRS +""" +has extended attributes +""" + +ida_typeinf.TAPTR_PTR32 +""" +ptr: __ptr32 +""" + +ida_typeinf.TAPTR_PTR64 +""" +ptr: __ptr64 +""" + +ida_typeinf.TAPTR_RESTRICT +""" +ptr: __restrict +""" + +ida_typeinf.TAPTR_SHIFTED +""" +ptr: __shifted(parent_struct, delta) +""" + +ida_typeinf.TAUDT_CPPOBJ +""" +struct: a c++ object, not simple pod type +""" + +ida_typeinf.TAUDT_MSSTRUCT +""" +struct: gcc msstruct attribute +""" + +ida_typeinf.TAUDT_UNALIGNED +""" +struct: unaligned struct +""" + +ida_typeinf.TAUDT_VFTABLE +""" +struct: is virtual function table +""" + +ida_typeinf.TA_FORMAT +""" +info about the 'format' argument 3 times pack_dd: 'format_functype_t' +, argument number of 'format', argument number of '...' +""" + +ida_typeinf.TA_ORG_ARRDIM +""" +the original array dimension (pack_dd) +""" + +ida_typeinf.TA_ORG_TYPEDEF +""" +the original typedef name (simple string) +""" + +ida_typeinf.TCMP_ANYBASE +""" +accept any base class when casting +""" + +ida_typeinf.TCMP_AUTOCAST +""" +can t1 be cast into t2 automatically? +""" + +ida_typeinf.TCMP_CALL +""" +can t1 be called with t2 type? +""" + +ida_typeinf.TCMP_DECL +""" +compare declarations without resolving them +""" + +ida_typeinf.TCMP_DELPTR +""" +remove pointer from types before comparing +""" + +ida_typeinf.TCMP_EQUAL +""" +are types equal? +""" + +ida_typeinf.TCMP_IGNMODS +""" +ignore const/volatile modifiers +""" + +ida_typeinf.TCMP_MANCAST +""" +can t1 be cast into t2 manually? +""" + +ida_typeinf.TCMP_SKIPTHIS +""" +skip the first function argument in comparison +""" + +ida_typeinf.TIL_ADD_ALREADY +""" +the base til was already added +""" + +ida_typeinf.TIL_ADD_FAILED +""" +see errbuf +""" + +ida_typeinf.TIL_ADD_OK +""" +some tils were added +""" + +ida_typeinf.TIL_ALI +""" +type aliases are present (this bit is used only on the disk) +""" + +ida_typeinf.TIL_ESI +""" +extended sizeof info (short, long, longlong) +""" + +ida_typeinf.TIL_MAC +""" +til has macro table +""" + +ida_typeinf.TIL_MOD +""" +til has been modified, should be saved +""" + +ida_typeinf.TIL_ORD +""" +type ordinal numbers are present +""" + +ida_typeinf.TIL_SLD +""" +sizeof(long double) +""" + +ida_typeinf.TIL_STM +""" +til has extra streams +""" + +ida_typeinf.TIL_UNI +""" +universal til for any compiler +""" + +ida_typeinf.TIL_ZIP +""" +pack buckets using zip +""" + +ida_typeinf.TINFO_DEFINITE +""" +this is a definite type +""" + +ida_typeinf.TINFO_DELAYFUNC +""" +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 +""" + +ida_typeinf.TINFO_GUESSED +""" +this is a guessed type +""" + +ida_typeinf.TINFO_STRICT +""" +never convert given type to another one before applying +""" + +ida_typeinf.TVIS_CMT +""" +new comment is present +""" + +ida_typeinf.TVIS_NAME +""" +new name is present +""" + +ida_typeinf.TVIS_TYPE +""" +new type info is present +""" + +ida_typeinf.TVST_DEF +""" +visit type definition (meaningful for typerefs) +""" + +ida_typeinf.TVST_PRUNE +""" +don't visit children of current type +""" + +ida_typeinf.VALSTR_OPEN +""" +printed opening curly brace '{' +""" +=== ida_typeinf EPYDOC INJECTIONS END === +Help on function calc_dataseg in module ida_ua: + +calc_dataseg(*args) -> 'ea_t' + 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 &) + @param n (C++: int) + @param rgnum (C++: int) + +Help on function can_decode in module ida_ua: + +can_decode(*args) -> 'bool' + can_decode(ea) -> bool + + + Can the bytes at address 'ea' be decoded as instruction? + + @param ea: linear address (C++: ea_t) + @return: whether or not the contents at that address could be a valid + instruction + +Help on function construct_macro in module ida_ua: + +construct_macro(*args) -> 'bool' + construct_macro(insn, enable, build_macro) -> bool + + + See ua.hpp's construct_macro(). + +Help on function create_insn in module ida_ua: + +create_insn(*args) -> 'int' + 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: linear address (C++: ea_t) + @param out: the resulting instruction (C++: insn_t *) + @return: the length of the instruction or 0 + +Help on function create_outctx in module ida_ua: + +create_outctx(*args) -> 'outctx_base_t *' + 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++: flags_t) + @param suspop (C++: int) + +Help on function decode_insn in module ida_ua: + +decode_insn(*args) -> 'int' + 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: the resulting instruction (C++: insn_t *) + @param ea: linear address (C++: ea_t) + @return: the length of the (possible) instruction or 0 + +Help on function decode_preceding_insn in module ida_ua: + +decode_preceding_insn(*args) -> 'PyObject *' + decode_preceding_insn(out, ea) -> PyObject * + + + Decodes the preceding instruction. Please check ua.hpp / decode_preceding_insn() + @param ea: current ea + @param out: instruction storage + @return: tuple(preceeding_ea or BADADDR, farref = Boolean) + +Help on function decode_prev_insn in module ida_ua: + +decode_prev_insn(*args) -> 'ea_t' + decode_prev_insn(out, ea) -> ea_t + + + Decode previous instruction if it exists, fill 'out'. + + @param out: the resulting instruction (C++: insn_t *) + @param ea: the address to decode the previous instruction from (C++: + ea_t) + @return: the previous instruction address ( BADADDR -no such insn) + +Help on function get_dtype_by_size in module ida_ua: + +get_dtype_by_size(*args) -> 'int' + get_dtype_by_size(size) -> int + + + Get 'op_t::dtype' from size. + + + @param size (C++: asize_t) + +Help on function get_dtype_flag in module ida_ua: + +get_dtype_flag(*args) -> 'flags_t' + get_dtype_flag(dtype) -> flags_t + + + Get flags for 'op_t::dtype' field. + + + @param dtype (C++: op_dtype_t) + +Help on function get_dtype_size in module ida_ua: + +get_dtype_size(*args) -> 'size_t' + get_dtype_size(dtype) -> size_t + + + Get size of opt_::dtype field. + + + @param dtype (C++: op_dtype_t) + +Help on function get_immvals in module ida_ua: + +get_immvals(*args) -> 'PyObject *' + 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: address to analyze (C++: ea_t) + @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands + (C++: int) + @param F: flags for the specified address (C++: flags_t) + @return: number of immediate values (0..2* UA_MAXOP ) + +Help on function get_lookback in module ida_ua: + +get_lookback(*args) -> 'int' + 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) + +Help on function get_printable_immvals in module ida_ua: + +get_printable_immvals(*args) -> 'PyObject *' + get_printable_immvals(ea, n, F=0) -> PyObject * + + + Get immediate ready-to-print values at the specified address + + @param ea: address to analyze (C++: ea_t) + @param n: number of operand (0.. UA_MAXOP -1), -1 means all operands + (C++: int) + @param F: flags for the specified address (C++: flags_t) + @return: number of immediate values (0..2* UA_MAXOP ) + +Help on function guess_table_address in module ida_ua: + +guess_table_address(*args) -> 'ea_t' + guess_table_address(insn) -> ea_t + + + Guess the jump table address (ibm pc specific) + + + @param insn (C++: const insn_t &) + +Help on function guess_table_size in module ida_ua: + +guess_table_size(*args) -> 'asize_t' + guess_table_size(insn, jump_table) -> asize_t + + + Guess the jump table size. + + + @param insn (C++: const insn_t &) + @param jump_table (C++: ea_t) + +Help on function insn_add_cref in module ida_ua: + +insn_add_cref(*args) -> 'void' + insn_add_cref(insn, to, opoff, type) + +Help on function insn_add_dref in module ida_ua: + +insn_add_dref(*args) -> 'void' + insn_add_dref(insn, to, opoff, type) + +Help on function insn_add_off_drefs in module ida_ua: + +insn_add_off_drefs(*args) -> 'ea_t' + insn_add_off_drefs(insn, x, type, outf) -> ea_t + +Help on function insn_create_stkvar in module ida_ua: + +insn_create_stkvar(*args) -> 'bool' + insn_create_stkvar(insn, x, v, flags) -> bool + +Help on class insn_t in module ida_ua: + +class insn_t(builtins.object) + | Proxy of C++ insn_t class. + | + | Methods defined here: + | + | __get_auxpref__(self, *args) -> 'uint16' + | __get_auxpref__(self) -> uint16 + | + | __get_operand__(self, *args) -> 'op_t *' + | __get_operand__(self, n) -> op_t + | + | __get_ops__(self, *args) -> 'wrapped_array_t< op_t,8 >' + | __get_ops__(self) -> operands_array + | + | __getitem__(self, idx) + | Operands can be accessed directly as indexes + | @return op_t: Returns an operand of type op_t + | + | __init__(self, *args) + | __init__(self) -> insn_t + | + | __iter__(self) + | + | __repr__ = _swig_repr(self) + | + | __set_auxpref__(self, *args) -> 'void' + | __set_auxpref__(self, v) + | + | __swig_destroy__ = delete_insn_t(...) + | delete_insn_t(self) + | + | add_cref(self, *args) -> 'void' + | add_cref(self, to, opoff, type) + | + | add_dref(self, *args) -> 'void' + | add_dref(self, to, opoff, type) + | + | add_off_drefs(self, *args) -> 'ea_t' + | add_off_drefs(self, x, type, outf) -> ea_t + | + | assign(self, *args) -> 'void' + | assign(self, other) + | + | create_op_data(self, *args) -> 'bool' + | create_op_data(self, ea_, opoff, dtype) -> bool + | create_op_data(self, ea_, op) -> bool + | + | create_stkvar(self, *args) -> 'bool' + | create_stkvar(self, x, v, flags_) -> bool + | + | get_canon_feature(self, *args) -> 'uint32' + | get_canon_feature(self) -> uint32 + | + | get_canon_mnem(self, *args) -> 'char const *' + | get_canon_mnem(self) -> char const * + | + | get_next_byte(self, *args) -> 'uint8' + | get_next_byte(self) -> uint8 + | + | get_next_dword(self, *args) -> 'uint32' + | get_next_dword(self) -> uint32 + | + | get_next_qword(self, *args) -> 'uint64' + | get_next_qword(self) -> uint64 + | + | get_next_word(self, *args) -> 'uint16' + | get_next_word(self) -> uint16 + | + | is_64bit(self, *args) -> 'bool' + | is_64bit(self) -> bool + | + | is_canon_insn(self, *args) -> 'bool' + | is_canon_insn(self) -> bool + | + | is_macro(self, *args) -> 'bool' + | is_macro(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | Op1 + | + | Op2 + | + | Op3 + | + | Op4 + | + | Op5 + | + | Op6 + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | auxpref + | __get_auxpref__(self) -> uint16 + | + | cs + | insn_t_cs_get(self) -> ea_t + | + | ea + | insn_t_ea_get(self) -> ea_t + | + | flags + | insn_t_flags_get(self) -> int16 + | + | insnpref + | insn_t_insnpref_get(self) -> char + | + | ip + | insn_t_ip_get(self) -> ea_t + | + | itype + | insn_t_itype_get(self) -> uint16 + | + | ops + | __get_ops__(self) -> operands_array + | + | segpref + | insn_t_segpref_get(self) -> char + | + | size + | insn_t_size_get(self) -> uint16 + | + | thisown + | The membership flag + +Help on function insn_t__from_ptrval__ in module ida_ua: + +insn_t__from_ptrval__(*args) -> 'insn_t *' + insn_t__from_ptrval__(ptrval) -> insn_t + +Help on function is_floating_dtype in module ida_ua: + +is_floating_dtype(*args) -> 'bool' + is_floating_dtype(dtype) -> bool + + + Is a floating type operand? + + + @param dtype (C++: op_dtype_t) + +Help on function map_code_ea in module ida_ua: + +map_code_ea(*args) -> 'ea_t' + map_code_ea(insn, addr, opnum) -> ea_t + map_code_ea(insn, op) -> ea_t + + + Map a code address. This function takes into account the segment + translations. + + @param insn: the current instruction (C++: const insn_t &) + @param addr: the referenced address to map (C++: ea_t) + @param opnum: operand number (C++: int) + +Help on function map_data_ea in module ida_ua: + +map_data_ea(*args) -> 'ea_t' + map_data_ea(insn, addr, opnum=-1) -> ea_t + map_data_ea(insn, op) -> ea_t + + + Map a data address. + + @param insn: the current instruction (C++: const insn_t &) + @param addr: the referenced address to map (C++: ea_t) + @param opnum: operand number (C++: int) + +Help on function map_ea in module ida_ua: + +map_ea(*args) -> 'ea_t' + map_ea(insn, op, iscode) -> ea_t + map_ea(insn, addr, opnum, iscode) -> ea_t + +Help on class op_t in module ida_ua: + +class op_t(builtins.object) + | Proxy of C++ op_t class. + | + | Methods defined here: + | + | __get_addr__(self, *args) -> 'ea_t' + | __get_addr__(self) -> ea_t + | + | __get_reg_phrase__(self, *args) -> 'uint16' + | __get_reg_phrase__(self) -> uint16 + | + | __get_specval__(self, *args) -> 'ea_t' + | __get_specval__(self) -> ea_t + | + | __get_value__(self, *args) -> 'ea_t' + | __get_value__(self) -> ea_t + | + | __init__(self, *args) + | __init__(self) -> op_t + | + | __repr__ = _swig_repr(self) + | + | __set_addr__(self, *args) -> 'void' + | __set_addr__(self, v) + | + | __set_reg_phrase__(self, *args) -> 'void' + | __set_reg_phrase__(self, r) + | + | __set_specval__(self, *args) -> 'void' + | __set_specval__(self, v) + | + | __set_value__(self, *args) -> 'void' + | __set_value__(self, v) + | + | __swig_destroy__ = delete_op_t(...) + | delete_op_t(self) + | + | assign(self, *args) -> 'void' + | assign(self, other) + | + | clr_shown(self, *args) -> 'void' + | clr_shown(self) + | + | has_reg(self, r) + | Checks if the operand accesses the given processor register + | + | is_imm(self, *args) -> 'bool' + | is_imm(self, v) -> bool + | + | is_reg(self, *args) -> 'bool' + | is_reg(self, r) -> bool + | + | set_shown(self, *args) -> 'void' + | set_shown(self) + | + | shown(self, *args) -> 'bool' + | shown(self) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | addr + | __get_addr__(self) -> ea_t + | + | dtype + | op_t_dtype_get(self) -> op_dtype_t + | + | flags + | op_t_flags_get(self) -> uchar + | + | n + | op_t_n_get(self) -> uchar + | + | offb + | op_t_offb_get(self) -> char + | + | offo + | op_t_offo_get(self) -> char + | + | phrase + | __get_reg_phrase__(self) -> uint16 + | + | reg + | __get_reg_phrase__(self) -> uint16 + | + | specflag1 + | op_t_specflag1_get(self) -> char + | + | specflag2 + | op_t_specflag2_get(self) -> char + | + | specflag3 + | op_t_specflag3_get(self) -> char + | + | specflag4 + | op_t_specflag4_get(self) -> char + | + | specval + | __get_specval__(self) -> ea_t + | + | thisown + | The membership flag + | + | type + | op_t_type_get(self) -> optype_t + | + | value + | __get_value__(self) -> ea_t + +Help on function op_t__from_ptrval__ in module ida_ua: + +op_t__from_ptrval__(*args) -> 'op_t *' + op_t__from_ptrval__(ptrval) -> op_t + +Help on class operands_array in module ida_ua: + +class operands_array(builtins.object) + | Proxy of C++ wrapped_array_t< op_t,8 > class. + | + | Methods defined here: + | + | __getitem__(self, *args) -> 'op_t const &' + | __getitem__(self, i) -> op_t + | + | __init__(self, *args) + | __init__(self, data) -> operands_array + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__(self, *args) -> 'size_t' + | __len__(self) -> size_t + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_operands_array(...) + | delete_operands_array(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | data + | operands_array_data_get(self) -> op_t (&)[8] + | + | thisown + | The membership flag + +Help on class outctx_base_t in module ida_ua: + +class outctx_base_t(builtins.object) + | Proxy of C++ outctx_base_t class. + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | close_comment(self, *args) -> 'void' + | close_comment(self) + | + | clr_gen_label(self, *args) -> 'void' + | clr_gen_label(self) + | + | display_voids(self, *args) -> 'bool' + | display_voids(self) -> bool + | + | flush_buf(self, *args) -> 'bool' + | flush_buf(self, buf, indent=-1) -> bool + | + | flush_outbuf(self, *args) -> 'bool' + | flush_outbuf(self, indent=-1) -> bool + | + | forbid_annotations(self, *args) -> 'int' + | forbid_annotations(self) -> int + | + | force_code(self, *args) -> 'bool' + | force_code(self) -> bool + | + | gen_block_cmt(self, *args) -> 'bool' + | gen_block_cmt(self, cmt, color) -> bool + | + | gen_border_line(self, *args) -> 'bool' + | gen_border_line(self, solid=False) -> bool + | + | gen_cmt_line(self, *args) -> 'bool' + | gen_cmt_line(self, format) -> bool + | + | gen_collapsed_line(self, *args) -> 'bool' + | gen_collapsed_line(self, format) -> bool + | + | gen_empty_line(self, *args) -> 'bool' + | gen_empty_line(self) -> bool + | + | gen_empty_line_without_annotations(self, *args) -> 'void' + | gen_empty_line_without_annotations(self) + | + | gen_printf(self, *args) -> 'bool' + | gen_printf(self, indent, format) -> bool + | + | gen_xref_lines(self, *args) -> 'bool' + | gen_xref_lines(self) -> bool + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * + | + | init_lines_array(self, *args) -> 'void' + | init_lines_array(self, answers, maxsize) + | + | multiline(self, *args) -> 'bool' + | multiline(self) -> bool + | + | only_main_line(self, *args) -> 'bool' + | only_main_line(self) -> bool + | + | out_addr_tag(self, *args) -> 'void' + | out_addr_tag(self, ea) + | + | out_btoa(self, *args) -> 'void' + | out_btoa(self, Word, radix=0) + | + | out_char(self, *args) -> 'void' + | out_char(self, c) + | + | out_chars(self, *args) -> 'void' + | out_chars(self, c, n) + | + | out_colored_register_line(self, *args) -> 'void' + | out_colored_register_line(self, str) + | + | out_keyword(self, *args) -> 'void' + | out_keyword(self, str) + | + | out_line(self, *args) -> 'void' + | out_line(self, str, color=0) + | + | out_long(self, *args) -> 'void' + | out_long(self, v, radix) + | + | out_name_expr(self, *args) -> 'bool' + | out_name_expr(self, x, ea, off=BADADDR) -> bool + | + | out_printf(self, *args) -> 'void' + | out_printf(self, format) + | + | out_register(self, *args) -> 'void' + | out_register(self, str) + | + | out_spaces(self, *args) -> 'void' + | out_spaces(self, len) + | + | out_symbol(self, *args) -> 'void' + | out_symbol(self, c) + | + | out_tagoff(self, *args) -> 'void' + | out_tagoff(self, tag) + | + | out_tagon(self, *args) -> 'void' + | out_tagon(self, tag) + | + | out_value(self, *args) -> 'flags_t' + | out_value(self, x, outf=0) -> flags_t + | + | print_label_now(self, *args) -> 'bool' + | print_label_now(self) -> bool + | + | restore_ctxflags(self, *args) -> 'void' + | restore_ctxflags(self, saved_flags) + | + | retrieve_cmt(self, *args) -> 'ssize_t' + | retrieve_cmt(self) -> ssize_t + | + | retrieve_name(self, *args) -> 'ssize_t' + | retrieve_name(self, arg2, arg3) -> ssize_t + | + | set_comment_addr(self, *args) -> 'void' + | set_comment_addr(self, ea) + | + | set_dlbind_opnd(self, *args) -> 'void' + | set_dlbind_opnd(self) + | + | set_gen_cmt(self, *args) -> 'void' + | set_gen_cmt(self, on=True) + | + | set_gen_demangled_label(self, *args) -> 'void' + | set_gen_demangled_label(self) + | + | set_gen_label(self, *args) -> 'void' + | set_gen_label(self) + | + | set_gen_xrefs(self, *args) -> 'void' + | set_gen_xrefs(self, on=True) + | + | setup_outctx(self, *args) -> 'void' + | setup_outctx(self, prefix, makeline_flags) + | + | stack_view(self, *args) -> 'bool' + | stack_view(self) -> bool + | + | term_outctx(self, *args) -> 'int' + | term_outctx(self, prefix=None) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | default_lnnum + | outctx_base_t_default_lnnum_get(self) -> int + | + | insn_ea + | outctx_base_t_insn_ea_get(self) -> ea_t + | + | outbuf + | outctx_base_t_outbuf_get(self) -> qstring * + | + | thisown + | The membership flag + +Help on function outctx_base_t__from_ptrval__ in module ida_ua: + +outctx_base_t__from_ptrval__(*args) -> 'outctx_base_t *' + outctx_base_t__from_ptrval__(ptrval) -> outctx_base_t + +Help on class outctx_t in module ida_ua: + +class outctx_t(outctx_base_t) + | Proxy of C++ outctx_t class. + | + | Method resolution order: + | outctx_t + | outctx_base_t + | builtins.object + | + | Methods defined here: + | + | __init__(self, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__ = _swig_repr(self) + | + | gen_func_footer(self, *args) -> 'void' + | gen_func_footer(self, pfn) + | + | gen_func_header(self, *args) -> 'void' + | gen_func_header(self, pfn) + | + | gen_header(self, *args) -> 'void' + | gen_header(self, flags=((1 << 0)|(1 << 1)), proc_name=None, proc_flavour=None) + | + | gen_header_extra(self, *args) -> 'void' + | gen_header_extra(self) + | + | gen_xref_lines(self, *args) -> 'bool' + | gen_xref_lines(self) -> bool + | + | out_custom_mnem(self, *args) -> 'void' + | out_custom_mnem(self, mnem, width=8, postfix=None) + | + | out_data(self, *args) -> 'void' + | out_data(self, analyze_only) + | + | out_immchar_cmts(self, *args) -> 'void' + | out_immchar_cmts(self) + | + | out_mnem(self, *args) -> 'void' + | out_mnem(self, width=8, postfix=None) + | + | out_mnemonic(self, *args) -> 'void' + | out_mnemonic(self) + | + | out_one_operand(self, *args) -> 'bool' + | out_one_operand(self, n) -> bool + | + | out_specea(self, *args) -> 'bool' + | out_specea(self, segtype) -> bool + | + | retrieve_cmt(self, *args) -> 'ssize_t' + | retrieve_cmt(self) -> ssize_t + | + | retrieve_name(self, *args) -> 'ssize_t' + | retrieve_name(self, arg2, arg3) -> ssize_t + | + | set_bin_state(self, *args) -> 'void' + | set_bin_state(self, value) + | + | setup_outctx(self, *args) -> 'void' + | setup_outctx(self, prefix, flags) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | bin_ea + | outctx_t_bin_ea_get(self) -> ea_t + | + | bin_state + | outctx_t_bin_state_get(self) -> char + | + | bin_width + | outctx_t_bin_width_get(self) -> int + | + | curlabel + | outctx_t_curlabel_get(self) -> qstring * + | + | gl_bpsize + | outctx_t_gl_bpsize_get(self) -> int + | + | insn + | outctx_t_insn_get(self) -> insn_t + | + | thisown + | The membership flag + | + | wif + | outctx_t_wif_get(self) -> printop_t + | + | ---------------------------------------------------------------------- + | Methods inherited from outctx_base_t: + | + | close_comment(self, *args) -> 'void' + | close_comment(self) + | + | clr_gen_label(self, *args) -> 'void' + | clr_gen_label(self) + | + | display_voids(self, *args) -> 'bool' + | display_voids(self) -> bool + | + | flush_buf(self, *args) -> 'bool' + | flush_buf(self, buf, indent=-1) -> bool + | + | flush_outbuf(self, *args) -> 'bool' + | flush_outbuf(self, indent=-1) -> bool + | + | forbid_annotations(self, *args) -> 'int' + | forbid_annotations(self) -> int + | + | force_code(self, *args) -> 'bool' + | force_code(self) -> bool + | + | gen_block_cmt(self, *args) -> 'bool' + | gen_block_cmt(self, cmt, color) -> bool + | + | gen_border_line(self, *args) -> 'bool' + | gen_border_line(self, solid=False) -> bool + | + | gen_cmt_line(self, *args) -> 'bool' + | gen_cmt_line(self, format) -> bool + | + | gen_collapsed_line(self, *args) -> 'bool' + | gen_collapsed_line(self, format) -> bool + | + | gen_empty_line(self, *args) -> 'bool' + | gen_empty_line(self) -> bool + | + | gen_empty_line_without_annotations(self, *args) -> 'void' + | gen_empty_line_without_annotations(self) + | + | gen_printf(self, *args) -> 'bool' + | gen_printf(self, indent, format) -> bool + | + | get_stkvar(self, *args) -> 'member_t *' + | get_stkvar(self, arg2, arg3, arg4, arg5) -> member_t * + | + | init_lines_array(self, *args) -> 'void' + | init_lines_array(self, answers, maxsize) + | + | multiline(self, *args) -> 'bool' + | multiline(self) -> bool + | + | only_main_line(self, *args) -> 'bool' + | only_main_line(self) -> bool + | + | out_addr_tag(self, *args) -> 'void' + | out_addr_tag(self, ea) + | + | out_btoa(self, *args) -> 'void' + | out_btoa(self, Word, radix=0) + | + | out_char(self, *args) -> 'void' + | out_char(self, c) + | + | out_chars(self, *args) -> 'void' + | out_chars(self, c, n) + | + | out_colored_register_line(self, *args) -> 'void' + | out_colored_register_line(self, str) + | + | out_keyword(self, *args) -> 'void' + | out_keyword(self, str) + | + | out_line(self, *args) -> 'void' + | out_line(self, str, color=0) + | + | out_long(self, *args) -> 'void' + | out_long(self, v, radix) + | + | out_name_expr(self, *args) -> 'bool' + | out_name_expr(self, x, ea, off=BADADDR) -> bool + | + | out_printf(self, *args) -> 'void' + | out_printf(self, format) + | + | out_register(self, *args) -> 'void' + | out_register(self, str) + | + | out_spaces(self, *args) -> 'void' + | out_spaces(self, len) + | + | out_symbol(self, *args) -> 'void' + | out_symbol(self, c) + | + | out_tagoff(self, *args) -> 'void' + | out_tagoff(self, tag) + | + | out_tagon(self, *args) -> 'void' + | out_tagon(self, tag) + | + | out_value(self, *args) -> 'flags_t' + | out_value(self, x, outf=0) -> flags_t + | + | print_label_now(self, *args) -> 'bool' + | print_label_now(self) -> bool + | + | restore_ctxflags(self, *args) -> 'void' + | restore_ctxflags(self, saved_flags) + | + | set_comment_addr(self, *args) -> 'void' + | set_comment_addr(self, ea) + | + | set_dlbind_opnd(self, *args) -> 'void' + | set_dlbind_opnd(self) + | + | set_gen_cmt(self, *args) -> 'void' + | set_gen_cmt(self, on=True) + | + | set_gen_demangled_label(self, *args) -> 'void' + | set_gen_demangled_label(self) + | + | set_gen_label(self, *args) -> 'void' + | set_gen_label(self) + | + | set_gen_xrefs(self, *args) -> 'void' + | set_gen_xrefs(self, on=True) + | + | stack_view(self, *args) -> 'bool' + | stack_view(self) -> bool + | + | term_outctx(self, *args) -> 'int' + | term_outctx(self, prefix=None) -> int + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from outctx_base_t: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | default_lnnum + | outctx_base_t_default_lnnum_get(self) -> int + | + | insn_ea + | outctx_base_t_insn_ea_get(self) -> ea_t + | + | outbuf + | outctx_base_t_outbuf_get(self) -> qstring * + +Help on function outctx_t__from_ptrval__ in module ida_ua: + +outctx_t__from_ptrval__(*args) -> 'outctx_t *' + outctx_t__from_ptrval__(ptrval) -> outctx_t + +Help on function print_insn_mnem in module ida_ua: + +print_insn_mnem(*args) -> 'qstring *' + print_insn_mnem(ea) -> str + + + Print instruction mnemonics. + + @param ea: linear address of the instruction (C++: ea_t) + @return: success + +Help on function print_operand in module ida_ua: + +print_operand(*args) -> 'qstring *' + print_operand(ea, n, getn_flags=0, newtype=None) -> str + + + Generate text representation for operand #n. This function will + generate the text representation of the specified operand (includes + color codes.) + + @param ea: the item address (instruction or data) (C++: ea_t) + @param n: operand number (0,1,2...). meaningful only for instructions + (C++: int) + @param getn_flags (C++: int) + @param newtype: if specified, print the operand using the specified + type (C++: struct printop_t *) + @return: success + +=== ida_ua EPYDOC INJECTIONS === +ida_ua.FCBF_CONT +""" +don't stop on decoding, or any other kind of error +""" + +ida_ua.FCBF_DELIM +""" +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 +""" + +ida_ua.FCBF_ERR_REPL +""" +of a hex representation of the problematic byte + +in case of an error, use a CP_REPLCHAR instead +""" + +ida_ua.FCBF_FF_LIT +""" +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 +""" + +ida_ua.INSN_64BIT +""" +belongs to 64bit segment? +""" + +ida_ua.INSN_MACRO +""" +macro instruction +""" + +ida_ua.INSN_MODMAC +""" +may modify the database to make room for the macro insn +""" + +ida_ua.OF_NO_BASE_DISP +""" +base displacement doesn't exist. meaningful only for 'o_displ' type. +if set, base displacement ( 'op_t::addr' ) doesn't exist. +""" + +ida_ua.OF_NUMBER +""" +the operand can be converted to a number only +""" + +ida_ua.OF_OUTER_DISP +""" +outer displacement exists. meaningful only for 'o_displ' type. if set, +outer displacement ( 'op_t::value' ) exists. +""" + +ida_ua.OF_SHOW +""" +should the operand be displayed? +""" + +ida_ua.OOFS_IFSIGN +""" +output sign if needed +""" + +ida_ua.OOFS_NEEDSIGN +""" +always out sign (+-) +""" + +ida_ua.OOFS_NOSIGN +""" +don't output sign, forbid the user to change the sign +""" + +ida_ua.OOFW_16 +""" +16 bit width +""" + +ida_ua.OOFW_24 +""" +24 bit width +""" + +ida_ua.OOFW_32 +""" +32 bit width +""" + +ida_ua.OOFW_64 +""" +64 bit width +""" + +ida_ua.OOFW_8 +""" +8 bit width +""" + +ida_ua.OOFW_IMM +""" +take from x.dtype +""" + +ida_ua.OOF_ADDR +""" +output x.addr, otherwise x.value +""" + +ida_ua.OOF_ANYSERIAL +""" +if enum: select first available serial +""" + +ida_ua.OOF_NOBNOT +""" +prohibit use of binary not +""" + +ida_ua.OOF_NUMBER +""" +always as a number +""" + +ida_ua.OOF_OUTER +""" +output outer operand +""" + +ida_ua.OOF_SIGNED +""" +output as signed if < 0 +""" + +ida_ua.OOF_SIGNMASK +""" +sign symbol (+/-) output +""" + +ida_ua.OOF_SPACES +""" +currently works only for floating point numbers + +do not suppress leading spaces +""" + +ida_ua.OOF_WIDTHMASK +""" +width of value in bits +""" + +ida_ua.OOF_ZSTROFF +""" +meaningful only if is_stroff(uFlag) append a struct field name if the +field offset is zero? if 'AFL_ZSTROFF' is set, then this flag is +ignored. +""" + +ida_ua.PACK_FORM_DEF +""" +(! 'o_reg' + 'dt_packreal' ) + +packed factor defined. +""" + +ida_ua.dt_bitfild +""" +bit field (mc680x0) +""" + +ida_ua.dt_byte +""" +8 bit integer +""" + +ida_ua.dt_byte16 +""" +128 bit integer +""" + +ida_ua.dt_byte32 +""" +256 bit integer +""" + +ida_ua.dt_byte64 +""" +512 bit integer +""" + +ida_ua.dt_code +""" +ptr to code (not used?) +""" + +ida_ua.dt_double +""" +8 byte floating point +""" + +ida_ua.dt_dword +""" +32 bit integer +""" + +ida_ua.dt_float +""" +4 byte floating point +""" + +ida_ua.dt_fword +""" +48 bit +""" + +ida_ua.dt_half +""" +2-byte floating point +""" + +ida_ua.dt_ldbl +""" +long double (which may be different from tbyte) +""" + +ida_ua.dt_packreal +""" +packed real format for mc68040 +""" + +ida_ua.dt_qword +""" +64 bit integer +""" + +ida_ua.dt_string +""" +pointer to asciiz string +""" + +ida_ua.dt_tbyte +""" +variable size (\\ph{tbyte_size}) floating point +""" + +ida_ua.dt_unicode +""" +pointer to unicode string +""" + +ida_ua.dt_void +""" +none +""" + +ida_ua.dt_word +""" +16 bit integer +""" +=== ida_ua EPYDOC INJECTIONS END === +Help on function add_cref in module ida_xref: + +add_cref(*args) -> 'bool' + add_cref(frm, to, type) -> bool + + + Create a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param type: cross-reference type (C++: cref_t) + @return: success + +Help on function add_dref in module ida_xref: + +add_dref(*args) -> 'bool' + add_dref(frm, to, type) -> bool + + + Create a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + @param type: cross-reference type (C++: dref_t) + @return: success (may fail if user-defined xref exists from->to) + +Help on function calc_switch_cases in module ida_xref: + +calc_switch_cases(*args) -> 'cases_and_targets_t *' + 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'. + +Help on class cases_and_targets_t in module ida_xref: + +class cases_and_targets_t(builtins.object) + | Proxy of C++ cases_and_targets_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> cases_and_targets_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_cases_and_targets_t(...) + | delete_cases_and_targets_t(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | cases + | cases_and_targets_t_cases_get(self) -> casevec_t + | + | targets + | cases_and_targets_t_targets_get(self) -> eavec_t * + | + | thisown + | The membership flag + +Help on class casevec_t in module ida_xref: + +class casevec_t(builtins.object) + | Proxy of C++ qvector< qvector< sval_t > > class. + | + | Methods defined here: + | + | __eq__(self, *args) -> 'bool' + | __eq__(self, r) -> bool + | + | __getitem__(self, *args) -> 'qvector< signed-ea-like-numeric-type > const &'↗ + | __getitem__(self, i) -> qvector< signed-ea-like-numeric-type > const &↗ + | + | __init__(self, *args) + | __init__(self) -> casevec_t + | __init__(self, x) -> casevec_t + | + | __iter__ = _bounded_getitem_iterator(self) + | Helper function, to be set as __iter__ method for qvector-, or array-based classes. + | + | __len__ = size(self, *args) -> 'size_t' + | + | __ne__(self, *args) -> 'bool' + | __ne__(self, r) -> bool + | + | __repr__ = _swig_repr(self) + | + | __setitem__(self, *args) -> 'void' + | __setitem__(self, i, v) + | + | __swig_destroy__ = delete_casevec_t(...) + | delete_casevec_t(self) + | + | _del(self, *args) -> 'bool' + | _del(self, x) -> bool + | + | add_unique(self, *args) -> 'bool' + | add_unique(self, x) -> bool + | + | append = push_back(self, *args) -> 'qvector< signed-ea-like-numeric-type > &'↗ + | + | at = __getitem__(self, *args) -> 'qvector< signed-ea-like-numeric-type > const &'↗ + | + | back = _qvector_back(self) + | # ----------------------------------------------------------------------- + | + | begin(self, *args) -> 'qvector< qvector< signed-ea-like-numeric-type > >::const_iterator'↗ + | begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | begin(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | capacity(self, *args) -> 'size_t' + | capacity(self) -> size_t + | + | clear(self, *args) -> 'void' + | clear(self) + | + | empty(self, *args) -> 'bool' + | empty(self) -> bool + | + | end(self, *args) -> 'qvector< qvector< signed-ea-like-numeric-type > >::const_iterator'↗ + | end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | end(self) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | erase(self, *args) -> 'qvector< qvector< signed-ea-like-numeric-type > >::iterator'↗ + | erase(self, it) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | erase(self, first, last) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | + | extract(self, *args) -> 'qvector< signed-ea-like-numeric-type > *'↗ + | extract(self) -> qvector< signed-ea-like-numeric-type > *↗ + | + | find(self, *args) -> 'qvector< qvector< signed-ea-like-numeric-type > >::const_iterator'↗ + | find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | find(self, x) -> qvector< qvector< signed-ea-like-numeric-type > >::const_iterator↗ + | + | front = _qvector_front(self) + | # ----------------------------------------------------------------------- + | + | grow(self, *args) -> 'void' + | grow(self, x=qvector< signed-ea-like-numeric-type >())↗ + | + | has(self, *args) -> 'bool' + | has(self, x) -> bool + | + | inject(self, *args) -> 'void' + | inject(self, s, len) + | + | insert(self, *args) -> 'qvector< qvector< signed-ea-like-numeric-type > >::iterator'↗ + | insert(self, it, x) -> qvector< qvector< signed-ea-like-numeric-type > >::iterator↗ + | + | pop_back(self, *args) -> 'void' + | pop_back(self) + | + | push_back(self, *args) -> 'qvector< signed-ea-like-numeric-type > &'↗ + | push_back(self, x) + | push_back(self) -> qvector< signed-ea-like-numeric-type > &↗ + | + | qclear(self, *args) -> 'void' + | qclear(self) + | + | reserve(self, *args) -> 'void' + | reserve(self, cnt) + | + | resize(self, *args) -> 'void' + | resize(self, _newsize, x) + | resize(self, _newsize) + | + | size(self, *args) -> 'size_t' + | size(self) -> size_t + | + | swap(self, *args) -> 'void' + | swap(self, r) + | + | truncate(self, *args) -> 'void' + | truncate(self) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | thisown + | The membership flag + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | __hash__ = None + +Help on function create_switch_table in module ida_xref: + +create_switch_table(*args) -> 'bool' + 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 + +Help on function create_switch_xrefs in module ida_xref: + +create_switch_xrefs(*args) -> 'bool' + 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 + +Help on function del_cref in module ida_xref: + +del_cref(*args) -> 'int' + del_cref(frm, to, expand) -> int + + + Delete a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param expand: 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 (C++: bool) + +Help on function del_dref in module ida_xref: + +del_dref(*args) -> 'void' + del_dref(frm, to) + + + Delete a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + +Help on function delete_switch_table in module ida_xref: + +delete_switch_table(*args) -> 'void' + delete_switch_table(jump_ea, si) + +Help on function get_first_cref_from in module ida_xref: + +get_first_cref_from(*args) -> 'ea_t' + 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!). + + @return: first referenced address. The lastXR variable contains type + of the reference. If the specified instruction doesn't + reference to other instructions then returns BADADDR . + +Help on function get_first_cref_to in module ida_xref: + +get_first_cref_to(*args) -> 'ea_t' + 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: linear address of referenced instruction (C++: ea_t) + @return: linear address of the first referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_first_dref_from in module ida_xref: + +get_first_dref_from(*args) -> 'ea_t' + get_first_dref_from(frm) -> ea_t + + + Get first data referenced from the specified address. + + @return: linear address of first (lowest) data referenced from the + specified address. The lastXR variable contains type of the + reference. Return BADADDR if the specified instruction/data + doesn't reference to anything. + +Help on function get_first_dref_to in module ida_xref: + +get_first_dref_to(*args) -> 'ea_t' + get_first_dref_to(to) -> ea_t + + + Get address of instruction/data referencing to the specified data. + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_first_fcref_from in module ida_xref: + +get_first_fcref_from(*args) -> 'ea_t' + get_first_fcref_from(frm) -> ea_t + +Help on function get_first_fcref_to in module ida_xref: + +get_first_fcref_to(*args) -> 'ea_t' + get_first_fcref_to(to) -> ea_t + +Help on function get_next_cref_from in module ida_xref: + +get_next_cref_from(*args) -> 'ea_t' + get_next_cref_from(frm, current) -> ea_t + + + Get next instruction referenced from the specified instruction. + + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_from() or + previous call to get_next_cref_from() functions. + (C++: ea_t) + @return: next referenced address or BADADDR . The lastXR variable + contains type of the reference. + +Help on function get_next_cref_to in module ida_xref: + +get_next_cref_to(*args) -> 'ea_t' + get_next_cref_to(to, current) -> ea_t + + + Get next instruction referencing to the specified instruction. + + @param to: linear address of referenced instruction (C++: ea_t) + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_to() or previous + call to get_next_cref_to() functions. (C++: ea_t) + @return: linear address of the next referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_next_dref_from in module ida_xref: + +get_next_dref_from(*args) -> 'ea_t' + get_next_dref_from(frm, current) -> ea_t + + + Get next data referenced from the specified address. + + @param current: linear address of current referenced data. This value + is returned by get_first_dref_from() or previous + call to get_next_dref_from() functions. (C++: ea_t) + @return: linear address of next data or BADADDR . The lastXR + variable contains type of the reference + +Help on function get_next_dref_to in module ida_xref: + +get_next_dref_to(*args) -> 'ea_t' + get_next_dref_to(to, current) -> ea_t + + + Get address of instruction/data referencing to the specified data + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @param current: current linear address. This value is returned by + get_first_dref_to() or previous call to + get_next_dref_to() functions. (C++: ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_next_fcref_from in module ida_xref: + +get_next_fcref_from(*args) -> 'ea_t' + get_next_fcref_from(frm, current) -> ea_t + +Help on function get_next_fcref_to in module ida_xref: + +get_next_fcref_to(*args) -> 'ea_t' + get_next_fcref_to(to, current) -> ea_t + +Help on function has_external_refs in module ida_xref: + +has_external_refs(*args) -> 'bool' + has_external_refs(pfn, ea) -> bool + + + Has a location external to the function references? + + + @param pfn (C++: func_t *) + @param ea (C++: ea_t) + +Help on class xrefblk_t in module ida_xref: + +class xrefblk_t(builtins.object) + | Proxy of C++ xrefblk_t class. + | + | Methods defined here: + | + | __init__(self, *args) + | __init__(self) -> xrefblk_t + | + | __repr__ = _swig_repr(self) + | + | __swig_destroy__ = delete_xrefblk_t(...) + | delete_xrefblk_t(self) + | + | first_from(self, *args) -> 'bool' + | first_from(self, _from, flags) -> bool + | + | first_to(self, *args) -> 'bool' + | first_to(self, _to, flags) -> bool + | + | next_from(self, *args) -> 'bool' + | next_from(self) -> bool + | next_from(self, _from, _to, flags) -> bool + | + | next_to(self, *args) -> 'bool' + | next_to(self) -> bool + | next_to(self, _from, _to, flags) -> bool + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | frm + | xrefblk_t_frm_get(self) -> ea_t + | + | iscode + | xrefblk_t_iscode_get(self) -> uchar + | + | thisown + | The membership flag + | + | to + | xrefblk_t_to_get(self) -> ea_t + | + | type + | xrefblk_t_type_get(self) -> uchar + | + | user + | xrefblk_t_user_get(self) -> uchar + +Help on function xrefchar in module ida_xref: + +xrefchar(*args) -> 'char' + xrefchar(xrtype) -> char + + + Get character describing the xref type. + + @param xrtype: combination of Cross-Reference type flags and a + cref_t of dref_t value (C++: char) + +=== ida_xref EPYDOC INJECTIONS === +ida_xref.XREF_ALL +""" +return all references +""" + +ida_xref.XREF_BASE +""" +Reference to the base part of an offset. +""" + +ida_xref.XREF_DATA +""" +return data references only +""" + +ida_xref.XREF_FAR +""" +don't return ordinary flow xrefs +""" + +ida_xref.XREF_MASK +""" +Mask to get xref type. +""" + +ida_xref.XREF_PASTEND +""" +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. +""" + +ida_xref.XREF_TAIL +""" +Reference to tail byte in extrn symbols. +""" + +ida_xref.XREF_USER +""" +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 +""" +=== ida_xref EPYDOC INJECTIONS END === +Help on function AddSeg in module idc: + +AddSeg(startea, endea, base, use32, align, comb) + +Help on function AutoMark in module idc: + +AutoMark(ea, qtype) + Plan to analyze an address + +Help on class DeprecatedIDCError in module idc: + +class DeprecatedIDCError(builtins.Exception) + | Exception for deprecated function calls + | + | Method resolution order: + | DeprecatedIDCError + | builtins.Exception + | builtins.BaseException + | builtins.object + | + | Data descriptors defined here: + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Methods inherited from builtins.Exception: + | + | __init__(self, /, *args, **kwargs) + | Initialize self. See help(type(self)) for accurate signature. + | + | __new__(*args, **kwargs) from builtins.type + | Create and return a new object. See help(type) for accurate signature. + | + | ---------------------------------------------------------------------- + | Methods inherited from builtins.BaseException: + | + | __delattr__(self, name, /) + | Implement delattr(self, name). + | + | __getattribute__(self, name, /) + | Return getattr(self, name). + | + | __reduce__(...) + | helper for pickle + | + | __repr__(self, /) + | Return repr(self). + | + | __setattr__(self, name, value, /) + | Implement setattr(self, name, value). + | + | __setstate__(...) + | + | __str__(self, /) + | Return str(self). + | + | with_traceback(...) + | Exception.with_traceback(tb) -- + | set self.__traceback__ to tb and return self. + | + | ---------------------------------------------------------------------- + | Data descriptors inherited from builtins.BaseException: + | + | __cause__ + | exception cause + | + | __context__ + | exception context + | + | __dict__ + | + | __suppress_context__ + | + | __traceback__ + | + | args + +Help on function EVAL_FAILURE in module idc: + +EVAL_FAILURE(code) + Check the result of eval_idc() for evaluation failures + + @param code: result of eval_idc() + + @return: True if there was an evaluation error + +Help on function get_cmt in module ida_bytes: + +get_cmt(*args) -> 'qstring *' + get_cmt(ea, rptble) -> str + + + Get an indented comment. + + @param ea: linear address. may point to tail byte, the function will + find start of the item (C++: ea_t) + @param rptble: get repeatable comment? (C++: bool) + @return: size of comment or -1 + +Help on function GetDisasm in module idc: + +GetDisasm(ea) + 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. + +Help on function GetDouble in module idc: + +GetDouble(ea) + 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 + +Help on function GetFloat in module idc: + +GetFloat(ea) + 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 + +Help on function GetLocalType in module idc: + +GetLocalType(ordinal, flags) + Retrieve a local type declaration + @param flags: any of PRTYPE_* constants + @return: local type as a C declaration or "" + +Help on function LoadFile in module idc: + +LoadFile(filepath, pos, ea, size) + 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 + +Help on function MakeVar in module idc: + +MakeVar(ea) + Mark the location as "variable" + + @param ea: address to mark + + @return: None + + @note: All that IDA does is to mark the location as "variable". + Nothing else, no additional analysis is performed. + This function may disappear in the future. + +Help on function SaveFile in module idc: + +SaveFile(filepath, pos, ea, size) + 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 + +Help on function SetPrcsr in module idc: + +SetPrcsr(processor) + +Help on function SetType in module idc: + +SetType(ea, newtype) + 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. + +Help on function SizeOf in module idc: + +SizeOf(typestr) + Returns the size of the type. It is equivalent to IDC's sizeof(). + Use name, tp, fld = idc.parse_decl() ; SizeOf(tp) to retrieve the size + @return: -1 if typestring is not valid otherwise the size of the type + +Help on function _IDC_GetAttr in module idc: + +_IDC_GetAttr(obj, attrmap, attroffs) + Internal function to generically get object attributes + Do not use unless you know what you are doing + +Help on function _IDC_SetAttr in module idc: + +_IDC_SetAttr(obj, attrmap, attroffs, value) + Internal function to generically set object attributes + Do not use unless you know what you are doing + +Help on function __DbgValue in module idc: + +__DbgValue(ea, len) + +Help on function __GetArrayById in module idc: + +__GetArrayById(array_id) + Get an array, by its ID. + + This (internal) wrapper around 'idaaip.netnode(array_id)' + will ensure a certain safety around the retrieval of + arrays (by catching quite unexpect[ed|able] exceptions, + and making sure we don't create & use `transient' netnodes). + + @param array_id: A positive, valid array ID. + +Help on class __dummy_netnode in module idc: + +class __dummy_netnode(builtins.object) + | Implements, in an "always failing" fashion, the + | netnode functions that are necessary for the + | array-related functions. + | + | The sole purpose of this singleton class is to + | serve as a placeholder for netnode-manipulating + | functions, that don't want to each have to perform + | checks on the existence of the netnode. + | (..in other words: it avoids a bunch of if/else's). + | + | See __GetArrayById() for more info. + | + | Methods defined here: + | + | altdel(self, *args) + | + | altfirst(self, *args) + | + | altlast(self, *args) + | + | altnext(self, *args) + | + | altprev(self, *args) + | + | altset(self, *args) + | + | altval(self, *args) + | + | hashdel(self, *args) + | + | hashfirst(self, *args) + | + | hashlast(self, *args) + | + | hashnext(self, *args) + | + | hashprev(self, *args) + | + | hashset(self, *args) + | + | hashset_buf(self, *args) + | + | hashset_idx(self, *args) + | + | hashstr(self, *args) + | + | hashstr_buf(self, *args) + | + | hashval(self, *args) + | + | hashval_long(self, *args) + | + | index(self, *args) + | + | kill(self, *args) + | + | rename(self, *args) + | + | supdel(self, *args) + | + | supfirst(self, *args) + | + | suplast(self, *args) + | + | supnext(self, *args) + | + | supprev(self, *args) + | + | supset(self, *args) + | + | supval(self, *args) + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + | + | ---------------------------------------------------------------------- + | Data and other attributes defined here: + | + | instance = + +Help on function __l2m1 in module idc: + +__l2m1(v) + Long to minus 1: If the 'v' appears to be the + 'signed long' version of -1, then return -1. + Otherwise, return 'v'. + +Help on function __warn_once_deprecated_proto_confusion in module idc: + +__warn_once_deprecated_proto_confusion(what, alternative) + +Help on function _get_modules in module idc: + +_get_modules() + INTERNAL: Enumerate process modules + +Help on function add_auto_stkpnt in module idc: + +add_auto_stkpnt(func_ea, ea, delta) + Add automatical 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 + +Help on function add_bpt in module ida_dbg: + +add_bpt(*args) -> 'bool' + add_bpt(ea, size=0, type=BPT_DEFAULT) -> bool + add_bpt(bpt) -> bool + + + Add a new breakpoint in the debugged process. \sq{Type, Synchronous + function - available as request, Notification, none (synchronous + function)}Only one breakpoint can exist at a given address. + + @param ea: any address in the process memory space. Depending on the + architecture, hardware breakpoints always be setup at + random address. For example, on x86, hardware breakpoints + should be aligned depending on their size. Moreover, on the + x86 architecture, it is impossible to setup more than 4 + hardware breakpoints. (C++: ea_t) + @param size: size of the breakpoint (irrelevant for software + breakpoints): As for the address, hardware breakpoints + can't always be setup with random size. (C++: asize_t) + @param type: type of the breakpoint ( BPT_SOFT for software + breakpoint) special case BPT_DEFAULT ( BPT_SOFT | + BPT_EXEC ): try to add instruction breakpoint of the + appropriate type as follows: software bpt if supported, + hwbpt otherwise (C++: bpttype_t) + +Help on function add_cref in module ida_xref: + +add_cref(*args) -> 'bool' + add_cref(frm, to, type) -> bool + + + Create a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param type: cross-reference type (C++: cref_t) + @return: success + +Help on function add_default_til in module idc: + +add_default_til(name) + Load a type library + + @param name: name of type library. + @return: 1-ok, 0-failed. + +Help on function add_dref in module ida_xref: + +add_dref(*args) -> 'bool' + add_dref(frm, to, type) -> bool + + + Create a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + @param type: cross-reference type (C++: dref_t) + @return: success (may fail if user-defined xref exists from->to) + +Help on function add_entry in module ida_entry: + +add_entry(*args) -> 'bool' + add_entry(ord, ea, name, makecode, flags=0) -> bool + + + Add an entry point to the list of entry points. + + @param ord: ordinal number if ordinal number is equal to 'ea' then + ordinal is not used (C++: uval_t) + @param ea: linear address (C++: ea_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to the regular + comment. If name == NULL, then the old name will be + retained. (C++: const char *) + @param makecode: should the kernel convert bytes at the entry point to + instruction(s) (C++: bool) + @param flags: See AEF_* (C++: int) + @return: success (currently always true) + +Help on function add_enum in module idc: + +add_enum(idx, name, flag) + Add a new enum type + + @param idx: serial number of the new enum. + If another enum with the same serial number + exists, then all enums with serial + numbers >= the specified idx get their + serial numbers incremented (in other words, + the new enum is put in the middle of the list of enums). + + If idx >= get_enum_qty() or idx == idaapi.BADNODE + then the new enum is created at the end of + the list of enums. + + @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 + +Help on function add_enum_member in module idc: + +add_enum_member(enum_id, name, value, bmask) + 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 ida_enum.DEFMASK 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_*) + +Help on function add_func in module ida_funcs: + +add_func(*args) -> 'bool' + 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: start address (C++: ea_t) + @param ea2: end address (C++: ea_t) + @return: success + +Help on function add_hidden_range in module ida_bytes: + +add_hidden_range(*args) -> 'bool' + add_hidden_range(ea1, ea2, description, header, footer, color) -> bool + + + Mark a range of addresses as hidden. The range will be created in the + invisible state with the default color + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (C++: ea_t) + @param description: range parameters (C++: const char *) + @param header: range parameters (C++: const char *) + @param footer: range parameters (C++: const char *) + @param color (C++: bgcolor_t) + @return: success + +Help on function add_idc_hotkey in module ida_kernwin: + +add_idc_hotkey(*args) -> 'int' + add_idc_hotkey(hotkey, idcfunc) -> int + + + Add hotkey for IDC function ( 'ui_add_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + @param idcfunc: IDC function name (C++: const char *) + @return: IDC hotkey error codes + +Help on function add_segm_ex in module idc: + +add_segm_ex(startea, endea, base, use32, align, comb, flags) + 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 + +Help on function add_sourcefile in module ida_lines: + +add_sourcefile(*args) -> 'bool' + add_sourcefile(ea1, ea2, filename) -> bool + + + Mark a range of address as belonging to a source file. An address + range may belong only to one source file. A source file may be + represented by several address ranges. + + @param ea1: linear address of start of the address range (C++: ea_t) + @param ea2: linear address of end of the address range (excluded) + (C++: ea_t) + @param filename: name of source file. (C++: const char *) + @return: success + +Help on function add_struc in module idc: + +add_struc(index, name, is_union) + Define a new structure type + + @param index: index of new structure type + If another structure has the specified index, + then index of that structure and all other + structures will be incremented, freeing the specifed + index. If index is == -1, then the biggest index + number will be used. + See get_first_struc_idx() for the explanation of + structure indices and IDs. + @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 + +Help on function add_struc_member in module idc: + +add_struc_member(sid, name, offset, flag, typeid, nbytes, target=-1, tdelta=0, reftype=2) + 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 STRUC_ERROR_*) + +Help on function add_user_stkpnt in module ida_frame: + +add_user_stkpnt(*args) -> 'bool' + add_user_stkpnt(ea, delta) -> bool + + + Add user-defined SP register change point. + + @param ea: linear address where SP changes (C++: ea_t) + @param delta: difference between old and new values of SP (C++: + sval_t) + @return: success + +Help on function append_func_tail in module idc: + +append_func_tail(funcea, ea1, ea2) + 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 + +Help on function apply_type in module idc: + +apply_type(ea, py_type, flags=1) + 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 + +Help on function ask_seg in module ida_kernwin: + +ask_seg(defval, format) + # ---------------------------------------------------------------------- + +Help on function ask_yn in module ida_kernwin: + +ask_yn(*args) -> 'int' + ask_yn(deflt, format) -> int + + + Display a dialog box and get choice from "Yes", "No", "Cancel". + + @param deflt: default choice: one of Button IDs (C++: int) + @param format: The question in printf() style format (C++: const char + *) + @return: the selected button (one of Button IDs ). Esc key returns + ASKBTN_CANCEL . + +Help on function atoa in module idc: + +atoa(ea) + Convert address value to a string + Return address in the form 'seg000:1234' + (the same as in line prefixes) + + @param ea: address to format + +Help on function atol in module idc: + +atol(s) + +Help on function attach_process in module ida_dbg: + +attach_process(*args) -> 'int' + 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' + }This function shouldn't be called as a request if 'NO_PROCESS' is + used. + + @param pid: PID of the process to attach to. If NO_PROCESS , a dialog + box will interactively ask the user for the process to + attach to. (C++: pid_t) + @param event_id (C++: int) + +Help on function auto_mark_range in module ida_auto: + +auto_mark_range(*args) -> 'void' + 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) + +Help on function auto_unmark in module ida_auto: + +auto_unmark(*args) -> 'void' + 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) + +Help on function auto_wait in module ida_auto: + +auto_wait(*args) -> 'bool' + 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) + +Help on function batch in module idc: + +batch(batch) + 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 + +Help on function byte_value in module idc: + +byte_value(F) + 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. + +Help on function calc_gtn_flags in module ida_name: + +calc_gtn_flags(fromaddr, ea) + Calculate flags for get_ea_name() function + + @param fromaddr: the referring address. May be BADADDR. + @param ea: linear address + + @return: flags + +Help on function call_system in module idc: + +call_system(command) + 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. + +Help on function can_exc_continue in module idc: + +can_exc_continue() + Can it continue after EXCEPTION event? + + @return: boolean + +Help on function check_bpt in module ida_dbg: + +check_bpt(*args) -> 'int' + check_bpt(ea) -> int + + + Check the breakpoint at the specified address. + + @param ea (C++: ea_t) + @return: one of Breakpoint status codes + +Help on function choose_func in module idc: + +choose_func(title) + 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 + +Help on function clear_trace in module idc: + +clear_trace(filename) + Clear the current trace buffer + +Help on function create_align in module ida_bytes: + +create_align(*args) -> 'bool' + create_align(ea, length, alignment) -> bool + + + Alignment: 0 or 2..32. If it is 0, is will be calculated. + + + @param ea (C++: ea_t) + @param length (C++: asize_t) + @param alignment (C++: int) + +Help on function create_array in module idc: + +create_array(name) + Create array. + + @param name: The array name. + + @return: -1 in case of failure, a valid array_id otherwise. + +Help on function create_byte in module idc: + +create_byte(ea) + Convert the current item to a byte + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_custdata in module ida_bytes: + +create_custdata(*args) -> 'bool' + 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) + +Help on function create_data in module ida_bytes: + +create_data(*args) -> 'bool' + create_data(ea, dataflag, size, tid) -> bool + + + Convert to data (byte, word, dword, etc). This function may be used to + create arrays. + + @param ea: linear address (C++: ea_t) + @param dataflag: type of data. Value of function byte_flag() , + word_flag() , etc. (C++: flags_t) + @param size: 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. (C++: asize_t) + @param tid: type id. If the specified type is a structure, then tid is + structure id. Otherwise should be BADNODE . (C++: tid_t) + @return: success + +Help on function create_double in module idc: + +create_double(ea) + Convert the current item to a double floating point (8 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_dword in module idc: + +create_dword(ea) + Convert the current item to a double word (4 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_float in module idc: + +create_float(ea) + Convert the current item to a floating point (4 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_insn in module ida_ua: + +create_insn(*args) -> 'int' + 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: linear address (C++: ea_t) + @param out: the resulting instruction (C++: insn_t *) + @return: the length of the instruction or 0 + +Help on function create_oword in module idc: + +create_oword(ea) + Convert the current item to an octa word (16 bytes/128 bits) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_pack_real in module idc: + +create_pack_real(ea) + Convert the current item to a packed real (10 or 12 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_qword in module idc: + +create_qword(ea) + Convert the current item to a quadro word (8 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_strlit in module idc: + +create_strlit(ea, endea) + 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() + +Help on function create_struct in module idc: + +create_struct(ea, size, strname) + 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 + +Help on function create_tbyte in module idc: + +create_tbyte(ea) + Convert the current item to a tbyte (10 or 12 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_word in module idc: + +create_word(ea) + Convert the current item to a word (2 bytes) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function create_yword in module idc: + +create_yword(ea) + Convert the current item to a ymm word (32 bytes/256 bits) + + @param ea: linear address + + @return: 1-ok, 0-failure + +Help on function define_exception in module ida_dbg: + +define_exception(*args) -> 'char const *' + define_exception(code, name, desc, flags) -> char const * + + + Convenience function: define new exception code. + + @param code: exception code (cannot be 0) (C++: uint) + @param name: exception name (cannot be empty or NULL) (C++: const char + *) + @param desc: exception description (maybe NULL) (C++: const char *) + @param flags: combination of Exception info flags (C++: int) + @return: failure message or NULL. You must call store_exceptions() + if this function succeeds + +Help on function define_local_var in module idc: + +define_local_var(start, end, location, name) + 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. + +Help on function del_array_element in module idc: + +del_array_element(tag, array_id, idx) + 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. + +Help on function del_bpt in module ida_dbg: + +del_bpt(*args) -> 'bool' + del_bpt(ea) -> bool + del_bpt(bptloc) -> bool + + + Delete an existing breakpoint in the debugged process. \sq{Type, + Synchronous function - available as request, Notification, none + (synchronous function)} + + @param ea: any address in the breakpoint range (C++: ea_t) + +Help on function del_cref in module ida_xref: + +del_cref(*args) -> 'int' + del_cref(frm, to, expand) -> int + + + Delete a code cross-reference. + + @param to: linear address of referenced instruction (C++: ea_t) + @param expand: 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 (C++: bool) + +Help on function del_dref in module ida_xref: + +del_dref(*args) -> 'void' + del_dref(frm, to) + + + Delete a data cross-reference. + + @param to: linear address of referenced data (C++: ea_t) + +Help on function del_enum in module ida_enum: + +del_enum(*args) -> 'void' + del_enum(id) + + + Delete an enum type. + + + @param id (C++: enum_t) + +Help on function del_enum_member in module idc: + +del_enum_member(enum_id, value, serial, bmask) + 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 ida_enum.DEFMASK as a bitmask + + @return: 1-ok, 0-failed + +Help on function del_extra_cmt in module ida_lines: + +del_extra_cmt(*args) -> 'void' + del_extra_cmt(ea, what) + +Help on function del_fixup in module ida_fixup: + +del_fixup(*args) -> 'void' + del_fixup(source) + + + Delete fixup information. + + + @param source (C++: ea_t) + +Help on function del_func in module ida_funcs: + +del_func(*args) -> 'bool' + del_func(ea) -> bool + + + Delete a function. + + @param ea: any address in the function entry chunk (C++: ea_t) + @return: success + +Help on function del_hash_string in module idc: + +del_hash_string(hash_id, key) + Delete a hash element. + + @param hash_id: The hash ID. + @param key: Key of an element + + @return: 1 upon success, 0 otherwise. + +Help on function del_hidden_range in module ida_bytes: + +del_hidden_range(*args) -> 'bool' + del_hidden_range(ea) -> bool + + + Delete hidden range. + + @param ea: any address in the hidden range (C++: ea_t) + @return: success + +Help on function del_idc_hotkey in module ida_kernwin: + +del_idc_hotkey(*args) -> 'bool' + del_idc_hotkey(hotkey) -> bool + + + Delete IDC function hotkey ( 'ui_del_idckey' ). + + @param hotkey: hotkey name (C++: const char *) + +Help on function del_items in module ida_bytes: + +del_items(*args) -> 'bool' + 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: any address within the first item to delete (C++: ea_t) + @param flags: combination of Unexplored byte conversion flags (C++: + int) + @param nbytes: number of bytes in the range to be undefined (C++: + asize_t) + @param may_destroy: optional routine invoked before deleting a head + item. If callback returns false then item has not + to be deleted and operation fails (C++: + may_destroy_cb_t *) + @return: true on sucessful operation, otherwise false + +Help on function del_segm in module ida_segment: + +del_segm(*args) -> 'bool' + del_segm(ea, flags) -> bool + + + Delete a segment. + + @param ea: any address belonging to the segment (C++: ea_t) + @param flags: Segment modification flags (C++: int) + +Help on function del_selector in module ida_segment: + +del_selector(*args) -> 'void' + 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: number of selector to remove from the translation + table (C++: sel_t) + +Help on function del_source_linnum in module ida_nalt: + +del_source_linnum(*args) -> 'void' + del_source_linnum(ea) + +Help on function del_sourcefile in module ida_lines: + +del_sourcefile(*args) -> 'bool' + del_sourcefile(ea) -> bool + + + Delete information about the source file. + + @param ea: linear address (C++: ea_t) + @return: success + +Help on function del_stkpnt in module idc: + +del_stkpnt(func_ea, ea) + Delete SP register change point + + @param func_ea: function start + @param ea: linear address + @return: 1-ok, 0-failed + +Help on function del_struc in module idc: + +del_struc(sid) + 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. + +Help on function del_struc_member in module idc: + +del_struc_member(sid, member_offset) + 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. + +Help on function delete_all_segments in module idc: + +delete_all_segments() + Delete all segments, instructions, comments, i.e. everything + except values of bytes. + +Help on function delete_array in module idc: + +delete_array(array_id) + Delete array, by its ID. + + @param array_id: The ID of the array to delete. + +Help on function demangle_name in module idc: + +demangle_name(name, disable_mask) + 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 + +Help on function detach_process in module ida_dbg: + +detach_process(*args) -> 'bool' + detach_process() -> bool + + + Detach the debugger from the debugged process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_detach' } + +Help on function diff_trace_file in module ida_dbg: + +diff_trace_file(*args) -> 'bool' + diff_trace_file(nonnul_filename) -> bool + + + Show difference between the current trace and the one from 'filename'. + +Help on function enable_bpt in module ida_dbg: + +enable_bpt(*args) -> 'bool' + enable_bpt(ea, enable=True) -> bool + enable_bpt(bptloc, enable=True) -> bool + +Help on function enable_tracing in module idc: + +enable_tracing(trace_level, enable) + Enable step tracing + + @param trace_level: what kind of trace to modify + @param enable: 0: turn off, 1: turn on + + @return: success + +Help on function error in module ida_kernwin: + +error(*args) -> 'void' + error(format) + + + Display a fatal message in a message box and quit IDA + + @param format: message to print + +Help on function eval_idc in module idc: + +eval_idc(expr) + 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 + +Help on function exit_process in module ida_dbg: + +exit_process(*args) -> 'bool' + exit_process() -> bool + + + Terminate the debugging of the current process. \sq{Type, Asynchronous + function - available as Request, Notification, 'dbg_process_exit' } + +Help on function expand_struc in module idc: + +expand_struc(sid, offset, delta, recalc) + 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: recalculate the locations where the structure + type is used + @return: != 0 - ok + +Help on function fclose in module idc: + +fclose(handle) + +Help on function fgetc in module idc: + +fgetc(handle) + +Help on function filelength in module idc: + +filelength(handle) + +Help on function find_binary in module idc: + +find_binary(ea, flag, searchstr, radix=16, from_bc695=False) + +Help on function find_code in module ida_search: + +find_code(*args) -> 'ea_t' + find_code(ea, sflag) -> ea_t + + + Find next code address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_data in module ida_search: + +find_data(*args) -> 'ea_t' + find_data(ea, sflag) -> ea_t + + + Find next data address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_defined in module ida_search: + +find_defined(*args) -> 'ea_t' + 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) + +Help on function find_func_end in module idc: + +find_func_end(ea) + 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 + +Help on function find_imm in module ida_search: + +find_imm(*args) -> 'int *' + find_imm(newEA, sflag, srchValue) -> ea_t + + + Find next immediate operand with the given value. + + + @param newEA (C++: ea_t) + @param sflag (C++: int) + @param srchValue (C++: uval_t) + +Help on function find_selector in module idc: + +find_selector(val) + Find a selector which has the specifed 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 + +Help on function find_suspop in module ida_search: + +find_suspop(*args) -> 'int *' + find_suspop(ea, sflag) -> ea_t + + + Find next suspicious operand. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function find_text in module idc: + +find_text(ea, flag, y, x, searchstr, from_bc695=False) + +Help on function find_unknown in module ida_search: + +find_unknown(*args) -> 'ea_t' + find_unknown(ea, sflag) -> ea_t + + + Find next unexplored address. + + + @param ea (C++: ea_t) + @param sflag (C++: int) + +Help on function first_func_chunk in module idc: + +first_func_chunk(funcea) + 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 + +Help on function fopen in module idc: + +fopen(f, mode) + #---------------------------------------------------------------------------- + # F I L E I / O + #---------------------------------------------------------------------------- + +Help on function force_bl_call in module idc: + +force_bl_call(ea) + Force BL instruction to be a call + + @param ea: address of the BL instruction + + @return: 1-ok, 0-failed + +Help on function force_bl_jump in module idc: + +force_bl_jump(ea) + 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 + +Help on function form in module idc: + +form(format, *args) + +Help on function fprintf in module idc: + +fprintf(handle, format, *args) + +Help on function fputc in module idc: + +fputc(byte, handle) + +Help on function fseek in module idc: + +fseek(handle, offset, origin) + +Help on function ftell in module idc: + +ftell(handle) + +Help on function func_contains in module idc: + +func_contains(func_ea, ea) + Does the given function contain the given address? + + @param func_ea: any address belonging to the function + @param ea: linear address + + @return: success + +Help on function gen_file in module idc: + +gen_file(filetype, path, ea1, ea2, flags) + 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 + +Help on function gen_flow_graph in module idc: + +gen_flow_graph(outfile, title, ea1, ea2, flags) + 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. + +Help on function gen_simple_call_chart in module idc: + +gen_simple_call_chart(outfile, title, flags) + 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 + +Help on function generate_disasm_line in module idc: + +generate_disasm_line(ea, flags) + 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. + +Help on function get_array_element in module idc: + +get_array_element(tag, array_id, idx) + 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. + +Help on function get_array_id in module idc: + +get_array_id(name) + 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. + +Help on function get_bmask_cmt in module idc: + +get_bmask_cmt(enum_id, bmask, repeatable) + 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 + +Help on function get_bmask_name in module idc: + +get_bmask_name(enum_id, bmask) + Get bitmask name (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + + @return: name of bitmask or None + +Help on function get_marked_pos in module ida_idc: + +get_marked_pos(*args) -> 'ea_t' + get_marked_pos(slot) -> ea_t + +Help on function get_mark_comment in module ida_idc: + +get_mark_comment(*args) -> 'PyObject *' + get_mark_comment(slot) -> PyObject * + +Help on function get_bpt_attr in module idc: + +get_bpt_attr(ea, bptattr) + 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 + +Help on function get_bpt_ea in module idc: + +get_bpt_ea(n) + Get breakpoint address + + @param n: number of breakpoint, is in range 0..get_bpt_qty()-1 + + @return: address of the breakpoint or BADADDR + +Help on function get_bpt_qty in module ida_dbg: + +get_bpt_qty(*args) -> 'int' + get_bpt_qty() -> int + + + Get number of breakpoints. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + +Help on function get_bpt_tev_ea in module ida_dbg: + +get_bpt_tev_ea(*args) -> 'ea_t' + 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)}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. + + @param n: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a read, read/write or execution trace event. + +Help on function get_bytes in module idc: + +get_bytes(ea, size, use_dbg=False) + 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 + +Help on function get_call_tev_callee in module ida_dbg: + +get_call_tev_callee(*args) -> 'ea_t' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function call event. + +Help on function get_color in module idc: + +get_color(ea, what) + 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) + +Help on function get_curline in module idc: + +get_curline() + Get the disassembly line at the cursor + + @return: string + +Help on function get_current_thread in module ida_dbg: + +get_current_thread(*args) -> 'thid_t' + get_current_thread() -> thid_t + + + Get current thread ID. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_db_byte in module ida_bytes: + +get_db_byte(*args) -> 'uchar' + 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) + +Help on function get_debugger_event_cond in module ida_dbg: + +get_debugger_event_cond(*args) -> 'char const *' + get_debugger_event_cond() -> char const * + +Help on function get_entry in module ida_entry: + +get_entry(*args) -> 'ea_t' + get_entry(ord) -> ea_t + + + Get entry point address by its ordinal + + @param ord: ordinal number of entry point (C++: uval_t) + @return: address or BADADDR + +Help on function get_entry_name in module ida_entry: + +get_entry_name(*args) -> 'qstring *' + get_entry_name(ord) -> str + + + Get name of the entry point by its ordinal. + + @param ord: ordinal number of entry point (C++: uval_t) + @return: size of entry name or -1 + +Help on function get_entry_ordinal in module ida_entry: + +get_entry_ordinal(*args) -> 'uval_t' + get_entry_ordinal(idx) -> uval_t + + + Get ordinal number of an entry point. + + @param idx: internal number of entry point. Should be in the range 0.. + get_entry_qty() -1 (C++: size_t) + @return: ordinal number or 0. + +Help on function get_entry_qty in module ida_entry: + +get_entry_qty(*args) -> 'size_t' + get_entry_qty() -> size_t + + + Get number of entry points. + +Help on function get_enum in module ida_enum: + +get_enum(*args) -> 'enum_t' + get_enum(name) -> enum_t + + + Get enum by name. + + + @param name (C++: const char *) + +Help on function get_enum_cmt in module ida_enum: + +get_enum_cmt(*args) -> 'qstring *' + get_enum_cmt(id, repeatable) -> str + + + Get enum comment. + + + @param id (C++: enum_t) + @param repeatable (C++: bool) + +Help on function get_enum_flag in module ida_enum: + +get_enum_flag(*args) -> 'flags_t' + get_enum_flag(id) -> flags_t + + + Get flags determining the representation of the enum. (currently they + define the numeric base: octal, decimal, hex, bin) and signness. + + @param id (C++: enum_t) + +Help on function get_enum_idx in module ida_enum: + +get_enum_idx(*args) -> 'uval_t' + get_enum_idx(id) -> uval_t + + + Get serial number of enum. The serial number determines the place of + the enum in the enum window. + + @param id (C++: enum_t) + +Help on function get_enum_member in module idc: + +get_enum_member(enum_id, value, serial, bmask) + 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 ida_enum.DEFMASK as a bitmask + + @return: id of constant or -1 if error + +Help on function get_enum_member_bmask in module ida_enum: + +get_enum_member_bmask(*args) -> 'bmask_t' + get_enum_member_bmask(id) -> bmask_t + + + Get bitmask of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_by_name in module ida_enum: + +get_enum_member_by_name(*args) -> 'const_t' + get_enum_member_by_name(name) -> const_t + + + Get a reference to an enum member by its name. + + + @param name (C++: const char *) + +Help on function get_enum_member_cmt in module idc: + +get_enum_member_cmt(const_id, repeatable) + Get comment of a constant + + @param const_id: id of const + @param repeatable: 0:get regular comment, 1:get repeatable comment + + @return: comment string + +Help on function get_enum_member_enum in module ida_enum: + +get_enum_member_enum(*args) -> 'enum_t' + get_enum_member_enum(id) -> enum_t + + + Get the parent enum of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_member_name in module idc: + +get_enum_member_name(const_id) + Get name of a constant + + @param const_id: id of const + + Returns: name of constant + +Help on function get_enum_member_value in module ida_enum: + +get_enum_member_value(*args) -> 'uval_t' + get_enum_member_value(id) -> uval_t + + + Get value of an enum member. + + + @param id (C++: const_t) + +Help on function get_enum_name in module ida_enum: + +get_enum_name(*args) -> 'qstring *' + get_enum_name(id) -> str + + + Get name of enum. + + + @param id (C++: enum_t) + +Help on function get_enum_qty in module ida_enum: + +get_enum_qty(*args) -> 'size_t' + get_enum_qty() -> size_t + + + Get number of declared 'enum_t' types. + +Help on function get_enum_size in module ida_enum: + +get_enum_size(*args) -> 'size_t' + get_enum_size(id) -> size_t + + + Get the number of the members of the enum. + + + @param id (C++: enum_t) + +Help on function get_enum_width in module ida_enum: + +get_enum_width(*args) -> 'size_t' + get_enum_width(id) -> size_t + + + Get the width of a enum element allowed values: 0 + (unspecified),1,2,4,8,16,32,64 + + @param id (C++: enum_t) + +Help on function get_event_bpt_hea in module idc: + +get_event_bpt_hea() + Get hardware address for BREAKPOINT event + + @return: hardware address + +Help on function get_event_ea in module idc: + +get_event_ea() + Get ea for debug event + + @return: ea + +Help on function get_event_exc_code in module idc: + +get_event_exc_code() + Get exception code for EXCEPTION event + + @return: exception code + +Help on function get_event_exc_ea in module idc: + +get_event_exc_ea() + Get address for EXCEPTION event + + @return: adress of exception + +Help on function get_event_exc_info in module idc: + +get_event_exc_info() + Get info for EXCEPTION event + + @return: info string + +Help on function get_event_exit_code in module idc: + +get_event_exit_code() + Get exit code for debug event + + @return: exit code for PROCESS_EXITED, THREAD_EXITED events + +Help on function get_event_id in module idc: + +get_event_id() + Get ID of debug event + + @return: event ID + +Help on function get_event_info in module idc: + +get_event_info() + Get debug event info + + @return: event info: for THREAD_STARTED (thread name) + for LIB_UNLOADED (unloaded library name) + for INFORMATION (message to display) + +Help on function get_event_module_base in module idc: + +get_event_module_base() + Get module base for debug event + + @return: module base + +Help on function get_event_module_name in module idc: + +get_event_module_name() + Get module name for debug event + + @return: module name + +Help on function get_event_module_size in module idc: + +get_event_module_size() + Get module size for debug event + + @return: module size + +Help on function get_event_pid in module idc: + +get_event_pid() + Get process ID for debug event + + @return: process ID + +Help on function get_event_tid in module idc: + +get_event_tid() + Get type ID for debug event + + @return: type ID + +Help on function get_extra_cmt in module ida_lines: + +get_extra_cmt(*args) -> 'int' + get_extra_cmt(ea, what) -> ssize_t + +Help on function get_fchunk_attr in module idc: + +get_fchunk_attr(ea, attr) + 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 + +Help on function get_fchunk_referer in module ida_funcs: + +get_fchunk_referer(*args) -> 'ea_t' + get_fchunk_referer(ea, idx) -> ea_t + +Help on function get_first_bmask in module ida_enum: + +get_first_bmask(*args) -> 'bmask_t' + get_first_bmask(id) -> bmask_t + + + Get first bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the smallest bitmask for enum, or DEFMASK + +Help on function get_first_cref_from in module ida_xref: + +get_first_cref_from(*args) -> 'ea_t' + 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!). + + @return: first referenced address. The lastXR variable contains type + of the reference. If the specified instruction doesn't + reference to other instructions then returns BADADDR . + +Help on function get_first_cref_to in module ida_xref: + +get_first_cref_to(*args) -> 'ea_t' + 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: linear address of referenced instruction (C++: ea_t) + @return: linear address of the first referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_first_dref_from in module ida_xref: + +get_first_dref_from(*args) -> 'ea_t' + get_first_dref_from(frm) -> ea_t + + + Get first data referenced from the specified address. + + @return: linear address of first (lowest) data referenced from the + specified address. The lastXR variable contains type of the + reference. Return BADADDR if the specified instruction/data + doesn't reference to anything. + +Help on function get_first_dref_to in module ida_xref: + +get_first_dref_to(*args) -> 'ea_t' + get_first_dref_to(to) -> ea_t + + + Get address of instruction/data referencing to the specified data. + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_first_enum_member in module idc: + +get_first_enum_member(enum_id, bmask) + Get first constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) + + @return: value of constant or idaapi.BADNODE no constants are defined + All constants are sorted by their values as unsigned longs. + +Help on function get_first_fcref_from in module ida_xref: + +get_first_fcref_from(*args) -> 'ea_t' + get_first_fcref_from(frm) -> ea_t + +Help on function get_first_fcref_to in module ida_xref: + +get_first_fcref_to(*args) -> 'ea_t' + get_first_fcref_to(to) -> ea_t + +Help on function get_first_hash_key in module idc: + +get_first_hash_key(hash_id) + Get the first key in the hash. + + @param hash_id: The hash ID. + + @return: the key, 0 otherwise. + +Help on function get_first_index in module idc: + +get_first_index(tag, array_id) + 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. + +Help on function get_first_member in module idc: + +get_first_member(sid) + Get offset of the first member of a structure + + @param sid: structure type ID + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if structure has no members, + otherwise returns offset of the first member. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_first_module in module idc: + +get_first_module() + Enumerate process modules + + @return: first module's base address or None on failure + +Help on function get_first_seg in module idc: + +get_first_seg() + Get first segment + + @return: address of the start of the first segment + BADADDR - no segments are defined + +Help on function get_first_struc_idx in module ida_struct: + +get_first_struc_idx(*args) -> 'uval_t' + get_first_struc_idx() -> uval_t + + + Get index of first structure. + + @return: BADADDR if no known structures, 0 otherwise + +Help on function get_fixup_target_dis in module idc: + +get_fixup_target_dis(ea) + Get fixup target displacement + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup target displacement + +Help on function get_fixup_target_flags in module idc: + +get_fixup_target_flags(ea) + Get fixup target flags + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup target flags + +Help on function get_fixup_target_off in module idc: + +get_fixup_target_off(ea) + Get fixup target offset + + @param ea: address to get information about + + @return: BADADDR - no fixup at the specified address + otherwise returns fixup target offset + +Help on function get_fixup_target_sel in module idc: + +get_fixup_target_sel(ea) + Get fixup target selector + + @param ea: address to get information about + + @return: BADSEL - no fixup at the specified address + otherwise returns fixup target selector + +Help on function get_fixup_target_type in module idc: + +get_fixup_target_type(ea) + Get fixup target type + + @param ea: address to get information about + + @return: 0 - no fixup at the specified address + otherwise returns fixup type + +Help on function get_forced_operand in module ida_bytes: + +get_forced_operand(*args) -> 'qstring *' + get_forced_operand(ea, n) -> str + + + Get forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @return: size of forced operand or -1 + +Help on function get_frame_args_size in module idc: + +get_frame_args_size(ea) + 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 does't exist, return -1 + +Help on function get_frame_id in module idc: + +get_frame_id(ea) + 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. + +Help on function get_frame_lvar_size in module idc: + +get_frame_lvar_size(ea) + 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 does't exist, return None + +Help on function get_frame_regs_size in module idc: + +get_frame_regs_size(ea) + 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 does't exist, return None + +Help on function get_frame_size in module idc: + +get_frame_size(ea) + 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 does't exist, return 0 + +Help on function get_full_flags in module ida_bytes: + +get_full_flags(*args) -> 'flags_t' + get_full_flags(ea) -> flags_t + + + Get flags value for address 'ea'. + + @param ea (C++: ea_t) + @return: 0 if address is not present in the program + +Help on function get_func_attr in module idc: + +get_func_attr(ea, attr) + 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 + +Help on function get_func_cmt in module idc: + +get_func_cmt(ea, repeatable) + 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 + +Help on function get_func_flags in module idc: + +get_func_flags(ea) + Retrieve function flags + + @param ea: any address belonging to the function + + @return: -1 - function doesn't exist otherwise returns the flags + +Help on function get_func_name in module idc: + +get_func_name(ea) + Retrieve function name + + @param ea: any address belonging to the function + + @return: null string - function doesn't exist + otherwise returns function name + +Help on function get_func_off_str in module idc: + +get_func_off_str(ea) + 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 + +Help on function get_hash_long in module idc: + +get_hash_long(hash_id, key) + 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. + +Help on function get_hash_string in module idc: + +get_hash_string(hash_id, key) + 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. + +Help on function get_idb_path in module idc: + +get_idb_path() + Get IDB full path + + This function returns full path of the current IDB database + +Help on function get_inf_attr in module idc: + +get_inf_attr(attr) + +Help on function get_input_file_path in module ida_nalt: + +get_input_file_path(*args) -> 'size_t' + get_input_file_path() -> str + + + Get full path of the input file. + +Help on function get_item_end in module ida_bytes: + +get_item_end(*args) -> 'ea_t' + 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) + +Help on function get_item_head in module ida_bytes: + +get_item_head(*args) -> 'ea_t' + 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) + +Help on function get_item_size in module idc: + +get_item_size(ea) + Get size of instruction or data item in bytes + + @param ea: linear address + + @return: 1..n + +Help on function get_last_bmask in module ida_enum: + +get_last_bmask(*args) -> 'bmask_t' + get_last_bmask(id) -> bmask_t + + + Get last bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @return: the biggest bitmask for enum, or DEFMASK + +Help on function get_last_enum_member in module idc: + +get_last_enum_member(enum_id, bmask) + Get last constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant (ordinary enums accept only ida_enum.DEFMASK as a bitmask) + + @return: value of constant or idaapi.BADNODE no constants are defined + All constants are sorted by their values + as unsigned longs. + +Help on function get_last_hash_key in module idc: + +get_last_hash_key(hash_id) + Get the last key in the hash. + + @param hash_id: The hash ID. + + @return: the key, 0 otherwise. + +Help on function get_last_index in module idc: + +get_last_index(tag, array_id) + 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. + +Help on function get_last_member in module idc: + +get_last_member(sid) + Get offset of the last member of a structure + + @param sid: structure type ID + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if structure has no members, + otherwise returns offset of the last member. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_last_struc_idx in module ida_struct: + +get_last_struc_idx(*args) -> 'uval_t' + get_last_struc_idx() -> uval_t + + + Get index of last structure. + + @return: BADADDR if no known structures, get_struc_qty() -1 + otherwise + +Help on function get_local_tinfo in module idc: + +get_local_tinfo(ordinal) + Get local type information as 'typeinfo' object + + @param ordinal: slot number (1...NumberOfLocalTypes) + @return: None on failure, or (type, fields) tuple. + +Help on function get_manual_insn in module ida_bytes: + +get_manual_insn(*args) -> 'qstring *' + get_manual_insn(ea) -> str + + + Retrieve the user-specified string for the manual instruction. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @return: size of manual instruction or -1 + +Help on function get_member_cmt in module idc: + +get_member_cmt(sid, member_offset, repeatable) + 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: 1: get repeatable comment + 0: get regular comment + + @return: None if bad structure type ID is passed + or no such member in the structure + otherwise returns comment of the specified member. + +Help on function get_member_flag in module idc: + +get_member_flag(sid, member_offset) + Get type 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 type of the member, see bit + definitions above. If the member type is a structure + then function GetMemberStrid() should be used to + get the structure type id. + +Help on function get_member_id in module idc: + +get_member_id(sid, member_offset) + @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. + +Help on function get_member_name in module idc: + +get_member_name(sid, member_offset) + 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. + +Help on function get_member_offset in module idc: + +get_member_offset(sid, member_name) + 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... + +Help on function get_member_qty in module idc: + +get_member_qty(sid) + 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. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_member_size in module idc: + +get_member_size(sid, member_offset) + 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. + +Help on function get_member_strid in module idc: + +get_member_strid(sid, member_offset) + 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. + +Help on function get_min_spd_ea in module idc: + +get_min_spd_ea(func_ea) + 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 + +Help on function get_module_name in module idc: + +get_module_name(base) + Get process module name + + @param base: the base address of the module + + @return: required info or None + +Help on function get_module_size in module idc: + +get_module_size(base) + Get process module size + + @param base: the base address of the module + + @return: required info or -1 + +Help on function get_name in module idc: + +get_name(ea, gtn_flags=0) + 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 + +Help on function get_name_ea in module ida_name: + +get_name_ea(*args) -> 'ea_t' + get_name_ea(_from, name) -> ea_t + + + Get address of the name. Dummy names (like byte_xxxx where xxxx are + hex digits) are parsed by this function to obtain the address. The + database is not consulted for them. This function works only with + regular names. + + @param _from: linear address where the name is used. if not + applicable, then should be BADADDR . (C++: ea_t) + @param name: any name in the program or NULL (C++: const char *) + @return: address of the name or BADADDR + +Help on function get_name_ea_simple in module idc: + +get_name_ea_simple(name) + Get linear address of a name + + @param name: name of program byte + + @return: address of the name + BADADDR - No such name + +Help on function get_next_bmask in module ida_enum: + +get_next_bmask(*args) -> 'bmask_t' + get_next_bmask(id, bmask) -> bmask_t + + + Get next bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value higher than the specified + value, or DEFMASK + +Help on function get_next_cref_from in module ida_xref: + +get_next_cref_from(*args) -> 'ea_t' + get_next_cref_from(frm, current) -> ea_t + + + Get next instruction referenced from the specified instruction. + + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_from() or + previous call to get_next_cref_from() functions. + (C++: ea_t) + @return: next referenced address or BADADDR . The lastXR variable + contains type of the reference. + +Help on function get_next_cref_to in module ida_xref: + +get_next_cref_to(*args) -> 'ea_t' + get_next_cref_to(to, current) -> ea_t + + + Get next instruction referencing to the specified instruction. + + @param to: linear address of referenced instruction (C++: ea_t) + @param current: linear address of current referenced instruction This + value is returned by get_first_cref_to() or previous + call to get_next_cref_to() functions. (C++: ea_t) + @return: linear address of the next referencing instruction or + BADADDR . The lastXR variable contains type of the + reference. + +Help on function get_next_dref_from in module ida_xref: + +get_next_dref_from(*args) -> 'ea_t' + get_next_dref_from(frm, current) -> ea_t + + + Get next data referenced from the specified address. + + @param current: linear address of current referenced data. This value + is returned by get_first_dref_from() or previous + call to get_next_dref_from() functions. (C++: ea_t) + @return: linear address of next data or BADADDR . The lastXR + variable contains type of the reference + +Help on function get_next_dref_to in module ida_xref: + +get_next_dref_to(*args) -> 'ea_t' + get_next_dref_to(to, current) -> ea_t + + + Get address of instruction/data referencing to the specified data + + @param to: linear address of referencing instruction or data (C++: + ea_t) + @param current: current linear address. This value is returned by + get_first_dref_to() or previous call to + get_next_dref_to() functions. (C++: ea_t) + @return: BADADDR if nobody refers to the specified data. The lastXR + variable contains type of the reference. + +Help on function get_next_enum_member in module idc: + +get_next_enum_member(enum_id, value, bmask) + Get next constant in the enum + + @param enum_id: id of enum + @param bmask: bitmask of the constant ordinary enums accept only ida_enum.DEFMASK as a bitmask + @param value: value of the current constant + + @return: value of a constant with value higher than the specified + value. idaapi.BADNODE no such constants exist. + All constants are sorted by their values as unsigned longs. + +Help on function get_next_fchunk in module idc: + +get_next_fchunk(ea) + 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 + +Help on function get_next_fcref_from in module ida_xref: + +get_next_fcref_from(*args) -> 'ea_t' + get_next_fcref_from(frm, current) -> ea_t + +Help on function get_next_fcref_to in module ida_xref: + +get_next_fcref_to(*args) -> 'ea_t' + get_next_fcref_to(to, current) -> ea_t + +Help on function get_next_fixup_ea in module ida_fixup: + +get_next_fixup_ea(*args) -> 'ea_t' + get_next_fixup_ea(ea) -> ea_t + + + Find next address with fixup information + + @param ea: current address (C++: ea_t) + @return: the next address with fixup information, or BADADDR + +Help on function get_next_func in module idc: + +get_next_func(ea) + Find next function + + @param ea: any address belonging to the function + + @return: BADADDR - no more functions + otherwise returns the next function start address + +Help on function get_next_hash_key in module idc: + +get_next_hash_key(hash_id, key) + Get the next key in the hash. + + @param hash_id: The hash ID. + @param key: The current key. + + @return: the next key, 0 otherwise + +Help on function get_next_index in module idc: + +get_next_index(tag, array_id, idx) + 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. + +Help on function get_next_module in module idc: + +get_next_module(base) + Enumerate process modules + + @param base: previous module's base address + + @return: next module's base address or None on failure + +Help on function get_next_offset in module idc: + +get_next_offset(sid, offset) + Get next offset in a structure + + @param sid: structure type ID + @param offset: current offset + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if no (more) offsets in the structure, + otherwise returns next offset in a structure. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + This function returns a member offset or a hole offset. + It will return size of the structure if input + 'offset' belongs to the last member of the structure. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_next_seg in module idc: + +get_next_seg(ea) + Get next segment + + @param ea: linear address + + @return: start of the next segment + BADADDR - no next segment + +Help on function get_next_struc_idx in module ida_struct: + +get_next_struc_idx(*args) -> 'uval_t' + get_next_struc_idx(idx) -> uval_t + + + Get next struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is out of bounds, otherwise idx++ + +Help on function get_numbered_type_name in module idc: + +get_numbered_type_name(ordinal) + Retrieve a local type name + + @param ordinal: slot number (1...NumberOfLocalTypes) + + returns: local type name or None + +Help on function get_operand_type in module idc: + +get_operand_type(ea, n) + 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 + +Help on function get_operand_value in module idc: + +get_operand_value(ea, n) + 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 + +Help on function get_ordinal_qty in module idc: + +get_ordinal_qty() + Get number of local types + 1 + + @return: value >= 1. 1 means that there are no local types. + +Help on function get_original_byte in module ida_bytes: + +get_original_byte(*args) -> 'uint64' + 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) + +Help on function get_prev_bmask in module ida_enum: + +get_prev_bmask(*args) -> 'bmask_t' + get_prev_bmask(id, bmask) -> bmask_t + + + Get prev bitmask in the enum (bitfield) + + @param id (C++: enum_t) + @param bmask (C++: bmask_t) + @return: value of a bitmask with value lower than the specified value, + or DEFMASK + +Help on function get_prev_enum_member in module idc: + +get_prev_enum_member(enum_id, value, bmask) + Get prev constant in the enum + + @param enum_id: id of enum + @param bmask : bitmask of the constant + ordinary enums accept only ida_enum.DEFMASK as a bitmask + @param value: value of the current constant + + @return: value of a constant with value lower than the specified + value. idaapi.BADNODE no such constants exist. + All constants are sorted by their values as unsigned longs. + +Help on function get_prev_fchunk in module idc: + +get_prev_fchunk(ea) + 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 + +Help on function get_prev_fixup_ea in module ida_fixup: + +get_prev_fixup_ea(*args) -> 'ea_t' + get_prev_fixup_ea(ea) -> ea_t + + + Find previous address with fixup information + + @param ea: current address (C++: ea_t) + @return: the previous address with fixup information, or BADADDR + +Help on function get_prev_func in module idc: + +get_prev_func(ea) + Find previous function + + @param ea: any address belonging to the function + + @return: BADADDR - no more functions + otherwise returns the previous function start address + +Help on function get_prev_hash_key in module idc: + +get_prev_hash_key(hash_id, key) + Get the previous key in the hash. + + @param hash_id: The hash ID. + @param key: The current key. + + @return: the previous key, 0 otherwise + +Help on function get_prev_index in module idc: + +get_prev_index(tag, array_id, idx) + 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. + +Help on function get_prev_offset in module idc: + +get_prev_offset(sid, offset) + Get previous offset in a structure + + @param sid: structure type ID + @param offset: current offset + + @return: -1 if bad structure type ID is passed, + ida_idaapi.BADADDR if no (more) offsets in the structure, + otherwise returns previous offset in a structure. + + @note: IDA allows 'holes' between members of a + structure. It treats these 'holes' + as unnamed arrays of bytes. + This function returns a member offset or a hole offset. + It will return size of the structure if input + 'offset' is bigger than the structure size. + + @note: Union members are, in IDA's internals, located + at subsequent byte offsets: member 0 -> offset 0x0, + member 1 -> offset 0x1, etc... + +Help on function get_prev_struc_idx in module ida_struct: + +get_prev_struc_idx(*args) -> 'uval_t' + get_prev_struc_idx(idx) -> uval_t + + + Get previous struct index. + + @param idx (C++: uval_t) + @return: BADADDR if resulting index is negative, otherwise idx - 1 + +Help on function get_process_state in module ida_dbg: + +get_process_state(*args) -> 'int' + 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 + +Help on function get_processes in module ida_dbg: + +get_processes(*args) -> 'ssize_t' + 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 *) + @return: number of processes or -1 on error + +Help on function get_qword in module ida_bytes: + +get_qword(*args) -> 'uint64' + get_qword(ea) -> uint64 + + + Get one qword (64-bit) of the program at 'ea'. This function takes + into account order of bytes specified in \inf{is_be()} This function + works only for 8bit byte processors. + + @param ea (C++: ea_t) + +Help on function get_reg_value in module idc: + +get_reg_value(name) + Get register value + + @param name: the register name + + @note: The debugger should be running. otherwise the function fails + the register name should be valid. + It is not necessary to use this function to get register values + because a register name in the script will do too. + + @return: register value (integer or floating point) + +Help on function get_ret_tev_return in module ida_dbg: + +get_ret_tev_return(*args) -> 'ea_t' + 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: number of trace event, is in range 0.. get_bpt_qty() -1. 0 + represents the latest added trace event. (C++: int) + @return: BADADDR if not a function return event. + +Help on function get_root_filename in module ida_nalt: + +get_root_filename(*args) -> 'size_t' + get_root_filename() -> str + + + Get file name only of the input file. + +Help on function get_screen_ea in module ida_kernwin: + +get_screen_ea(*args) -> 'ea_t' + get_screen_ea() -> ea_t + + + Get the address at the screen cursor ( 'ui_screenea' ) + +Help on function get_segm_attr in module idc: + +get_segm_attr(segea, attr) + Get segment attribute + + @param segea: any address within segment + @param attr: one of SEGATTR_... constants + +Help on function get_segm_by_sel in module idc: + +get_segm_by_sel(base) + 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 + +Help on function get_segm_end in module idc: + +get_segm_end(ea) + 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 + +Help on function get_segm_name in module idc: + +get_segm_name(ea) + Get name of a segment + + @param ea: any address in the segment + + @return: "" - no segment at the specified address + +Help on function get_segm_start in module idc: + +get_segm_start(ea) + 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 + +Help on function get_source_linnum in module ida_nalt: + +get_source_linnum(*args) -> 'uval_t' + get_source_linnum(ea) -> uval_t + +Help on function get_sourcefile in module ida_lines: + +get_sourcefile(*args) -> 'char const *' + get_sourcefile(ea, bounds=None) -> char const * + + + Get name of source file occupying the given address. + + @param ea: linear address (C++: ea_t) + @param bounds: pointer to the output buffer with the address range for + the current file. May be NULL. (C++: range_t *) + @return: NULL if source file information is not found, otherwise + returns pointer to file name + +Help on function get_sp_delta in module idc: + +get_sp_delta(ea) + 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 + +Help on function get_spd in module idc: + +get_spd(ea) + 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 + +Help on function get_sreg in module idc: + +get_sreg(ea, reg) + 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. + +Help on function get_step_trace_options in module ida_dbg: + +get_step_trace_options(*args) -> 'int' + get_step_trace_options() -> int + + + Get current step tracing options. \sq{Type, Synchronous function, + Notification, none (synchronous function)} + + @return: Step trace options + +Help on function get_str_type in module idc: + +get_str_type(ea) + Get string type + + @param ea: linear address + + @return: One of STRTYPE_... constants + +Help on function get_strlit_contents in module idc: + +get_strlit_contents(ea, length=-1, strtype=0) + 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 + +Help on function get_struc_by_idx in module ida_struct: + +get_struc_by_idx(*args) -> 'tid_t' + get_struc_by_idx(idx) -> tid_t + + + Get struct id by struct number. + + + @param idx (C++: uval_t) + +Help on function get_struc_cmt in module ida_struct: + +get_struc_cmt(*args) -> 'qstring *' + get_struc_cmt(id, repeatable) -> str + + + Get struct comment. + + + @param id (C++: tid_t) + @param repeatable (C++: bool) + +Help on function get_struc_id in module ida_struct: + +get_struc_id(*args) -> 'tid_t' + get_struc_id(name) -> tid_t + + + Get struct id by name. + + + @param name (C++: const char *) + +Help on function get_struc_idx in module ida_struct: + +get_struc_idx(*args) -> 'uval_t' + get_struc_idx(id) -> uval_t + + + Get internal number of the structure. + + + @param id (C++: tid_t) + +Help on function get_struc_name in module ida_struct: + +get_struc_name(*args) -> 'qstring *' + get_struc_name(id, flags=0) -> str + + + Get struct name by id + + @param id: struct id (C++: tid_t) + @param flags: Struct name flags (C++: int) + +Help on function get_struc_qty in module ida_struct: + +get_struc_qty(*args) -> 'size_t' + get_struc_qty() -> size_t + + + Get number of known structures. + +Help on function get_struc_size in module ida_struct: + +get_struc_size(*args) -> 'asize_t' + get_struc_size(sptr) -> asize_t + get_struc_size(id) -> asize_t + + + Get struct size (also see 'get_struc_size(tid_t)' ) + + + @param sptr (C++: const struc_t *) + +Help on function get_tev_ea in module ida_dbg: + +get_tev_ea(*args) -> 'ea_t' + get_tev_ea(n) -> ea_t + +Help on function get_tev_reg_mem in module ida_dbg: + +get_tev_reg_mem(tev, idx) + +Help on function get_tev_reg_mem_ea in module ida_dbg: + +get_tev_reg_mem_ea(tev, idx) + +Help on function get_tev_reg_mem_qty in module ida_dbg: + +get_tev_reg_mem_qty(tev) + +Help on function get_tev_qty in module ida_dbg: + +get_tev_qty(*args) -> 'int' + get_tev_qty() -> int + + + Get number of trace events available in trace buffer. \sq{Type, + Synchronous function, Notification, none (synchronous function)} + +Help on function get_tev_reg_val in module ida_dbg: + +get_tev_reg_val(tev, reg) + +Help on function get_tev_tid in module ida_dbg: + +get_tev_tid(*args) -> 'int' + get_tev_tid(n) -> int + +Help on function get_tev_type in module ida_dbg: + +get_tev_type(*args) -> 'int' + get_tev_type(n) -> int + +Help on function get_thread_qty in module ida_dbg: + +get_thread_qty(*args) -> 'int' + get_thread_qty() -> int + + + Get number of threads. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + +Help on function get_tinfo in module idc: + +get_tinfo(ea) + Get type information of function/variable as 'typeinfo' object + + @param ea: the address of the object + @return: None on failure, or (type, fields) tuple. + +Help on function get_trace_file_desc in module ida_dbg: + +get_trace_file_desc(*args) -> 'qstring *' + get_trace_file_desc(filename) -> str + + + Get the file header of the specified trace file. + + + @param filename (C++: const char *) + +Help on function get_type in module idc: + +get_type(ea) + Get type of function/variable + + @param ea: the address of the object + + @return: type string or None if failed + +Help on function get_wide_byte in module ida_bytes: + +get_wide_byte(*args) -> 'uint64' + 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) + +Help on function get_wide_dword in module ida_bytes: + +get_wide_dword(*args) -> 'uint64' + 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 + \inf{is_be()}this function works incorrectly if \ph{nbits} > 16 + + @param ea (C++: ea_t) + +Help on function get_wide_word in module ida_bytes: + +get_wide_word(*args) -> 'uint64' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + +Help on function get_xref_type in module idc: + +get_xref_type() + Return type of the last xref obtained by + [RD]first/next[B0] functions. + + @return: constants fl_* or dr_* + +Help on function getn_enum in module ida_enum: + +getn_enum(*args) -> 'enum_t' + getn_enum(n) -> enum_t + + + Get enum by its ordinal number (0..n). + + + @param n (C++: size_t) + +Help on function getn_thread in module ida_dbg: + +getn_thread(*args) -> 'thid_t' + getn_thread(n) -> thid_t + + + Get the ID of a thread. \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 (C++: + int) + @return: NO_THREAD if the thread doesn't exist. + +Help on function getn_thread_name in module ida_dbg: + +getn_thread_name(*args) -> 'char const *' + getn_thread_name(n) -> char const * + + + Get the NAME of a thread \sq{Type, Synchronous function, Notification, + none (synchronous function)} + + @param n: number of thread, is in range 0.. get_thread_qty() -1 or -1 + for the current thread (C++: int) + @return: thread name or NULL if the thread doesn't exist. + +Help on function guess_type in module idc: + +guess_type(ea) + 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 + +Help on function hasName in module idc: + +hasName(F) + +Help on function hasUserName in module idc: + +hasUserName(F) + +Help on function has_value in module idc: + +has_value(F) + +Help on function here in module idc: + +here() + # Convenience functions: + +Help on function idadir in module idc: + +idadir() + Get IDA directory + + This function returns the directory where IDA.EXE resides + +Help on function import_type in module idc: + +import_type(idx, type_name) + Copy information from type library to database + Copy structure, union, or enum definition from the type library + to the IDA database. + + @param idx: the position of the new type in the list of + types (structures or enums) -1 means at the end of the list + @param type_name: name of type to copy + + @return: BADNODE-failed, otherwise the type id (structure id or enum id) + +Help on function isBin0 in module idc: + +isBin0(F) + +Help on function isBin1 in module idc: + +isBin1(F) + +Help on function isDec0 in module idc: + +isDec0(F) + +Help on function isDec1 in module idc: + +isDec1(F) + +Help on function isExtra in module idc: + +isExtra(F) + +Help on function isHex0 in module idc: + +isHex0(F) + +Help on function isHex1 in module idc: + +isHex1(F) + +Help on function isOct0 in module idc: + +isOct0(F) + +Help on function isOct1 in module idc: + +isOct1(F) + +Help on function isRef in module idc: + +isRef(F) + +Help on function is_align in module idc: + +is_align(F) + +Help on function is_bf in module ida_enum: + +is_bf(*args) -> 'bool' + is_bf(id) -> bool + + + Is enum a bitfield? (otherwise - plain enum, no bitmasks except for + 'DEFMASK' are allowed) + + @param id (C++: enum_t) + +Help on function is_byte in module idc: + +is_byte(F) + +Help on function is_char0 in module idc: + +is_char0(F) + +Help on function is_char1 in module idc: + +is_char1(F) + +Help on function is_code in module idc: + +is_code(F) + +Help on function is_data in module idc: + +is_data(F) + +Help on function is_defarg0 in module idc: + +is_defarg0(F) + +Help on function is_defarg1 in module idc: + +is_defarg1(F) + +Help on function is_double in module idc: + +is_double(F) + +Help on function is_dword in module idc: + +is_dword(F) + +Help on function is_enum0 in module idc: + +is_enum0(F) + +Help on function is_enum1 in module idc: + +is_enum1(F) + +Help on function is_event_handled in module idc: + +is_event_handled() + Is the debug event handled? + + @return: boolean + +Help on function is_float in module idc: + +is_float(F) + +Help on function is_flow in module idc: + +is_flow(F) + +Help on function is_head in module idc: + +is_head(F) + +Help on function is_loaded in module idc: + +is_loaded(ea) + Is the byte initialized? + +Help on function is_manual0 in module idc: + +is_manual0(F) + +Help on function is_manual1 in module idc: + +is_manual1(F) + +Help on function is_mapped in module idc: + +is_mapped(ea) + +Help on function is_off0 in module idc: + +is_off0(F) + +Help on function is_off1 in module idc: + +is_off1(F) + +Help on function is_oword in module idc: + +is_oword(F) + +Help on function is_pack_real in module idc: + +is_pack_real(F) + +Help on function is_qword in module idc: + +is_qword(F) + +Help on function is_seg0 in module idc: + +is_seg0(F) + +Help on function is_seg1 in module idc: + +is_seg1(F) + +Help on function is_stkvar0 in module idc: + +is_stkvar0(F) + +Help on function is_stkvar1 in module idc: + +is_stkvar1(F) + +Help on function is_strlit in module idc: + +is_strlit(F) + +Help on function is_stroff0 in module idc: + +is_stroff0(F) + +Help on function is_stroff1 in module idc: + +is_stroff1(F) + +Help on function is_struct in module idc: + +is_struct(F) + +Help on function is_tail in module idc: + +is_tail(F) + +Help on function is_tbyte in module idc: + +is_tbyte(F) + +Help on function is_union in module idc: + +is_union(sid) + Is a structure a union? + + @param sid: structure type ID + + @return: 1: yes, this is a union id + 0: no + + @note: Unions are a special kind of structures + +Help on function is_unknown in module idc: + +is_unknown(F) + +Help on function is_valid_trace_file in module ida_dbg: + +is_valid_trace_file(*args) -> 'bool' + is_valid_trace_file(filename) -> bool + + + Is the specified file a valid trace file for the current database? + + + @param filename (C++: const char *) + +Help on function is_word in module idc: + +is_word(F) + +Help on function jumpto in module ida_kernwin: + +jumpto(*args) -> 'bool' + jumpto(ea, opnum=-1, uijmp_flags=0x0001) -> bool + jumpto(custom_viewer, place, x, y) -> bool + + + Jump to the specified address ( 'ui_jumpto' ). + + @param ea: destination (C++: ea_t) + @param opnum: -1: don't change x coord (C++: int) + @param uijmp_flags: Jump flags (C++: int) + @return: success + +Help on function load_and_run_plugin in module ida_loader: + +load_and_run_plugin(*args) -> 'bool' + load_and_run_plugin(name, arg) -> bool + + + Load & run a plugin. + + + @param name (C++: const char *) + @param arg (C++: size_t) + +Help on function load_debugger in module ida_dbg: + +load_debugger(*args) -> 'bool' + load_debugger(dbgname, use_remote) -> bool + +Help on function load_trace_file in module ida_dbg: + +load_trace_file(*args) -> 'qstring *' + load_trace_file(filename) -> str + + + Load a recorded trace file in the trace 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 *) + +Help on function loadfile in module idc: + +loadfile(filepath, pos, ea, size) + +Help on function ltoa in module idc: + +ltoa(n, radix) + +Help on function make_array in module idc: + +make_array(ea, nitems) + 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. + +Help on function move_segm in module idc: + +move_segm(ea, to, flags) + 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 + +Help on function msg in module ida_kernwin: + +msg(*args) -> 'PyObject *' + msg(o) -> PyObject * + + + 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 + +Help on function next_addr in module ida_bytes: + +next_addr(*args) -> 'ea_t' + 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. + +Help on function next_func_chunk in module idc: + +next_func_chunk(funcea, tailea) + 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 + +Help on function next_head in module idc: + +next_head(ea, maxea=BADADDR)↗ + 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 + +Help on function next_not_tail in module ida_bytes: + +next_not_tail(*args) -> 'ea_t' + next_not_tail(ea) -> ea_t + + + Get address of next non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function op_bin in module ida_bytes: + +op_bin(*args) -> 'bool' + op_bin(ea, n) -> bool + + + set op type to 'bin_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_chr in module ida_bytes: + +op_chr(*args) -> 'bool' + op_chr(ea, n) -> bool + + + set op type to 'char_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_dec in module ida_bytes: + +op_dec(*args) -> 'bool' + op_dec(ea, n) -> bool + + + set op type to 'dec_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_enum in module ida_bytes: + +op_enum(*args) -> 'bool' + op_enum(ea, n, id, serial) -> bool + + + Set operand representation to be 'enum_t'. If applied to unexplored + bytes, converts them to 16/32bit word data + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @param id: id of enum (C++: enum_t) + @param serial: 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 (C++: uchar) + @return: success + +Help on function op_flt in module ida_bytes: + +op_flt(*args) -> 'bool' + op_flt(ea, n) -> bool + + + set op type to 'flt_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_hex in module ida_bytes: + +op_hex(*args) -> 'bool' + op_hex(ea, n) -> bool + + + set op type to 'hex_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function set_forced_operand in module ida_bytes: + +set_forced_operand(*args) -> 'bool' + set_forced_operand(ea, n, op) -> bool + + + Set forced operand. + + @param ea: linear address (C++: ea_t) + @param n: number of operand (0, 1, 2) (C++: int) + @param op: text of operand NULL: do nothing (return 0) "" : delete + forced operand (C++: const char *) + @return: success + +Help on function op_num in module ida_bytes: + +op_num(*args) -> 'bool' + op_num(ea, n) -> bool + + + set op type to 'num_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_oct in module ida_bytes: + +op_oct(*args) -> 'bool' + op_oct(ea, n) -> bool + + + set op type to 'oct_flag()' + + + @param ea (C++: ea_t) + @param n (C++: int) + +Help on function op_offset in module ida_offset: + +op_offset(*args) -> 'int' + op_offset(ea, n, type, target=BADADDR, base=0, tdelta=0) -> int + + + See 'op_offset_ex()' + + + @param ea (C++: ea_t) + @param n (C++: int) + @param type (C++: reftype_t) + @param target (C++: ea_t) + @param base (C++: ea_t) + @param tdelta (C++: adiff_t) + +Help on function op_offset_high16 in module idc: + +op_offset_high16(ea, n, target) + 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 + +Help on function op_plain_offset in module idc: + +op_plain_offset(ea, n, base) + 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 + +Help on function op_seg in module ida_bytes: + +op_seg(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stkvar in module ida_bytes: + +op_stkvar(*args) -> 'bool' + 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: linear address (C++: ea_t) + @param n: number of operand (0, 1, -1) (C++: int) + @return: success + +Help on function op_stroff in module idc: + +op_stroff(ea, n, strid, delta) + 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. + +Help on function parse_decl in module idc: + +parse_decl(inputtype, flags) + 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 + +Help on function parse_decls in module idc: + +parse_decls(inputtype, flags=0) + 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) + +Help on function patch_byte in module ida_bytes: + +patch_byte(*args) -> 'bool' + 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. + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function put_dbg_byte in module ida_dbg: + +put_dbg_byte(*args) -> 'bool' + put_dbg_byte(ea, x) -> bool + + + Change one byte of the debugged process memory. + + @param ea: linear address (C++: ea_t) + @param x: byte value (C++: uint32) + @return: true if the process memory has been modified + +Help on function patch_dword in module ida_bytes: + +patch_dword(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_qword in module ida_bytes: + +patch_qword(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function patch_word in module ida_bytes: + +patch_word(*args) -> 'bool' + 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 \inf{is_be()} + + @param ea (C++: ea_t) + @param x (C++: uint64) + +Help on function plan_and_wait in module idc: + +plan_and_wait(sEA, eEA, final_pass=True) + 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. + +Help on function plan_to_apply_idasgn in module ida_funcs: + +plan_to_apply_idasgn(*args) -> 'int' + plan_to_apply_idasgn(fname) -> int + + + Add a signature file to the list of planned signature files. + + @param fname: file name. should not contain directory part. (C++: + const char *) + @return: 0 if failed, otherwise number of planned (and applied) + signatures + +Help on function prev_addr in module ida_bytes: + +prev_addr(*args) -> 'ea_t' + prev_addr(ea) -> ea_t + + + Get previous address in the program. + + @param ea (C++: ea_t) + @return: BADADDR if no such address exist. + +Help on function prev_head in module idc: + +prev_head(ea, minea=0) + 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 + +Help on function prev_not_tail in module ida_bytes: + +prev_not_tail(*args) -> 'ea_t' + prev_not_tail(ea) -> ea_t + + + Get address of previous non-tail byte. + + @param ea (C++: ea_t) + @return: BADADDR if none exists. + +Help on function print_decls in module idc: + +print_decls(ordinals, flags) + 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 + +Help on _Feature in module __future__ object: + +class _Feature(builtins.object) + | Methods defined here: + | + | __init__(self, optionalRelease, mandatoryRelease, compiler_flag) + | Initialize self. See help(type(self)) for accurate signature. + | + | __repr__(self) + | Return repr(self). + | + | getMandatoryRelease(self) + | Return release in which this feature will become mandatory. + | + | This is a 5-tuple, of the same form as sys.version_info, or, if + | the feature was dropped, is None. + | + | getOptionalRelease(self) + | Return first release in which this feature was recognized. + | + | This is a 5-tuple, of the same form as sys.version_info. + | + | ---------------------------------------------------------------------- + | Data descriptors defined here: + | + | __dict__ + | dictionary for instance variables (if defined) + | + | __weakref__ + | list of weak references to the object (if defined) + +Help on function print_insn_mnem in module idc: + +print_insn_mnem(ea) + 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. + +Help on function print_operand in module idc: + +print_operand(ea, n) + 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 "" + +Help on function process_config_line in module idc: + +process_config_line(directive) + Parse one or more ida.cfg config directives + @param directive: directives to process, for example: PACK_DATABASE=2 + + @note: If the directives are erroneous, a fatal error will be generated. + The settings are permanent: effective for the current session and the next ones + +Help on function process_ui_action in module idc: + +process_ui_action(name, flags=0) + Invokes an IDA UI action by name + + @param name: Command name + @param flags: Reserved. Must be zero + @return: Boolean + +Help on function mark_position in module ida_idc: + +mark_position(*args) -> 'void' + mark_position(ea, lnnum, x, y, slot, comment) + +Help on function qexit in module ida_pro: + +qexit(*args) -> 'void' + qexit(code) + + + Call qatexit functions, shut down UI and kernel, and exit. + + @param code: exit code (C++: int) + +Help on function qsleep in module idc: + +qsleep(milliseconds) + qsleep the specified number of milliseconds + This function suspends IDA for the specified amount of time + + @param milliseconds: time to sleep + +Help on function read_dbg_byte in module idc: + +read_dbg_byte(ea) + Get value of program byte using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_dbg_dword in module idc: + +read_dbg_dword(ea) + Get value of program double-word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function dbg_read_memory in module ida_idd: + +dbg_read_memory(*args) -> 'PyObject *' + dbg_read_memory(ea, sz) -> PyObject * + + + Reads from the debugee's memory at the specified ea + @return: + - The read buffer (as a string) + - Or None on failure + +Help on function read_dbg_qword in module idc: + +read_dbg_qword(ea) + Get value of program quadro-word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_dbg_word in module idc: + +read_dbg_word(ea) + Get value of program word using the debugger memory + + @param ea: linear address + @return: The value or None on failure. + +Help on function read_selection_end in module idc: + +read_selection_end() + Get end address of the selected range + + @return: BADADDR - the user has not selected an range + +Help on function read_selection_start in module idc: + +read_selection_start() + Get start address of the selected range + returns BADADDR - the user has not selected an range + +Help on function readlong in module idc: + +readlong(handle, mostfirst) + +Help on function readshort in module idc: + +readshort(handle, mostfirst) + +Help on function readstr in module idc: + +readstr(handle) + +Help on function rebase_program in module ida_segment: + +rebase_program(*args) -> 'int' + rebase_program(delta, flags) -> int + + + Rebase the whole program by 'delta' bytes. + + @param delta: number of bytes to move the program (C++: adiff_t) + @param flags: Move segment flags it is recommended to use + MSF_FIXONCE so that the loader takes care of global + variables it stored in the database (C++: int) + @return: Move segment result codes + +Help on function recalc_spd in module ida_frame: + +recalc_spd(*args) -> 'bool' + 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: linear address of the current instruction (C++: ea_t) + +Help on function refresh_debugger_memory in module ida_dbg: + +refresh_debugger_memory(*args) -> 'PyObject *' + refresh_debugger_memory() -> PyObject * + + + Refreshes the debugger memory + @return: Nothing + +Help on function refresh_idaview_anyway in module ida_kernwin: + +refresh_idaview_anyway(*args) -> 'void' + refresh_idaview_anyway() + + + Refresh all disassembly views ( 'ui_refresh' ), forces an immediate + refresh. Please consider 'request_refresh()' instead + +Help on function refresh_choosers in module ida_kernwin: + +refresh_choosers(*args) -> 'void' + refresh_choosers() + +Help on function remove_fchunk in module idc: + +remove_fchunk(funcea, tailea) + 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 + +Help on function rename_array in module idc: + +rename_array(array_id, newname) + 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 + +Help on function rename_entry in module ida_entry: + +rename_entry(*args) -> 'bool' + rename_entry(ord, name, flags=0) -> bool + + + Rename entry point. + + @param ord: ordinal number of the entry point (C++: uval_t) + @param name: name of entry point. If the specified location already + has a name, the old name will be appended to a repeatable + comment. (C++: const char *) + @param flags: See AEF_* (C++: int) + @return: success + +Help on function resume_process in module idc: + +resume_process() + +Help on function resume_thread in module ida_dbg: + +resume_thread(*args) -> 'int' + resume_thread(tid) -> int + + + Resume thread. \sq{Type, Synchronous function - available as request, + Notification, none (synchronous function)} + + @param tid: thread id (C++: thid_t) + +Help on function retrieve_input_file_md5 in module ida_nalt: + +retrieve_input_file_md5(*args) -> 'uchar [ANY]' + retrieve_input_file_md5() -> str + + + Get input file md5. + +Help on function rotate_byte in module idc: + +rotate_byte(x, count) + +Help on function rotate_dword in module idc: + +rotate_dword(x, count) + +Help on function rotate_left in module idc: + +rotate_left(value, count, nbits, offset) + 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 + +Help on function rotate_word in module idc: + +rotate_word(x, count) + +Help on function run_to in module ida_dbg: + +run_to(*args) -> 'bool' + 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: target address (C++: ea_t) + @param pid: not used yet. please do not specify this parameter. (C++: + pid_t) + @param tid: not used yet. please do not specify this parameter. (C++: + thid_t) + +Help on function save_database in module idc: + +save_database(idbname, flags=0) + 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 + +Help on function save_trace_file in module ida_dbg: + +save_trace_file(*args) -> 'bool' + save_trace_file(filename, description) -> bool + + + Save the current trace in the specified file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function savefile in module idc: + +savefile(filepath, pos, ea, size) + +Help on function sel2para in module idc: + +sel2para(sel) + 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 + +Help on function select_thread in module ida_dbg: + +select_thread(*args) -> 'bool' + 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: ID of the thread to select (C++: thid_t) + @return: false if the thread doesn't exist. + +Help on function selector_by_name in module idc: + +selector_by_name(segname) + Get segment selector by name + + @param segname: name of segment + + @return: segment selector or BADADDR + +Help on function send_dbg_command in module idc: + +send_dbg_command(cmd) + 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. + +Help on function set_array_long in module idc: + +set_array_long(array_id, idx, value) + 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 + +Help on function set_array_params in module idc: + +set_array_params(ea, flags, litems, align) + 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 + +Help on function set_array_string in module idc: + +set_array_string(array_id, idx, value) + 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 + +Help on function set_bmask_cmt in module idc: + +set_bmask_cmt(enum_id, bmask, cmt, repeatable) + Set bitmask comment (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + @param cmt: comment + repeatable - type of comment, 0-regular, 1-repeatable + + @return: 1-ok, 0-failed + +Help on function set_bmask_name in module idc: + +set_bmask_name(enum_id, bmask, name) + Set bitmask name (only for bitfields) + + @param enum_id: id of enum + @param bmask: bitmask of the constant + @param name: name of bitmask + + @return: 1-ok, 0-failed + +Help on function set_bpt_attr in module idc: + +set_bpt_attr(address, bptattr, value) + 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 attibute value + + @return: success + +Help on function set_bpt_cond in module idc: + +set_bpt_cond(ea, cnd, is_lowcnd=0) + 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 + +Help on function set_cmt in module ida_bytes: + +set_cmt(*args) -> 'bool' + set_cmt(ea, comm, rptble) -> bool + + + Set an indented comment. + + @param ea: linear address (C++: ea_t) + @param comm: comment string NULL: do nothing (return 0) "" : + delete comment (C++: const char *) + @param rptble: is repeatable? (C++: bool) + @return: success + +Help on function set_color in module idc: + +set_color(ea, what, color) + 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) + +Help on function set_debugger_event_cond in module ida_dbg: + +set_debugger_event_cond(*args) -> 'void' + set_debugger_event_cond(nonnul_cond) + +Help on function set_debugger_options in module ida_dbg: + +set_debugger_options(*args) -> 'uint' + 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 + +Help on function set_default_sreg_value in module idc: + +set_default_sreg_value(ea, reg, value) + 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. + +Help on function set_enum_bf in module ida_enum: + +set_enum_bf(*args) -> 'bool' + set_enum_bf(id, bf) -> bool + + + Set 'bitfield' bit of enum (i.e. convert it to a bitfield) + + + @param id (C++: enum_t) + @param bf (C++: bool) + +Help on function set_enum_cmt in module ida_enum: + +set_enum_cmt(*args) -> 'bool' + set_enum_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum type. + + + @param id (C++: enum_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_flag in module ida_enum: + +set_enum_flag(*args) -> 'bool' + set_enum_flag(id, flag) -> bool + + + Set data representation flags. + + + @param id (C++: enum_t) + @param flag (C++: flags_t) + +Help on function set_enum_idx in module ida_enum: + +set_enum_idx(*args) -> 'bool' + set_enum_idx(id, idx) -> bool + + + Set serial number of enum. Also see 'get_enum_idx()' . + + @param id (C++: enum_t) + @param idx (C++: size_t) + +Help on function set_enum_member_cmt in module ida_enum: + +set_enum_member_cmt(*args) -> 'bool' + set_enum_member_cmt(id, cmt, repeatable) -> bool + + + Set comment for enum member. + + + @param id (C++: const_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_enum_member_name in module ida_enum: + +set_enum_member_name(*args) -> 'bool' + set_enum_member_name(id, name) -> bool + + + Set name of enum member. + + + @param id (C++: const_t) + @param name (C++: const char *) + +Help on function set_enum_name in module ida_enum: + +set_enum_name(*args) -> 'bool' + set_enum_name(id, name) -> bool + + + Set name of enum type. + + + @param id (C++: enum_t) + @param name (C++: const char *) + +Help on function set_enum_width in module ida_enum: + +set_enum_width(*args) -> 'bool' + set_enum_width(id, width) -> bool + + + See comment for 'get_enum_width()' + + + @param id (C++: enum_t) + @param width (C++: int) + +Help on function set_fchunk_attr in module idc: + +set_fchunk_attr(ea, attr, value) + 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 + +Help on function set_fixup in module idc: + +set_fixup(ea, fixuptype, fixupflags, targetsel, targetoff, displ) + 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 + +Help on function set_flag in module idc: + +set_flag(off, bit, value) + #-------------------------------------------------------------------------- + +Help on function set_frame_size in module idc: + +set_frame_size(ea, lvsize, frregs, argsize) + 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 + +Help on function set_func_attr in module idc: + +set_func_attr(ea, attr, value) + 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 + +Help on function set_func_cmt in module idc: + +set_func_cmt(ea, cmt, repeatable) + 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 + +Help on function set_func_end in module ida_funcs: + +set_func_end(*args) -> 'bool' + set_func_end(ea, newend) -> bool + + + Move function chunk end address. + + @param ea: any address in the function (C++: ea_t) + @param newend: new end address of the function (C++: ea_t) + @return: success + +Help on function set_func_flags in module idc: + +set_func_flags(ea, flags) + Change function flags + + @param ea: any address belonging to the function + @param flags: see get_func_flags() for explanations + + @return: !=0 - ok + +Help on function set_hash_long in module idc: + +set_hash_long(hash_id, key, value) + 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 + +Help on function set_hash_string in module idc: + +set_hash_string(hash_id, key, value) + 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 + +Help on function set_ida_state in module ida_auto: + +set_ida_state(*args) -> 'idastate_t' + set_ida_state(st) -> idastate_t + + + Change IDA status indicator value + + @param st: - new indicator status (C++: idastate_t) + @return: old indicator status + +Help on function set_inf_attr in module idc: + +set_inf_attr(attr, value) + +Help on function set_local_type in module idc: + +set_local_type(ordinal, input, flags) + 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 + +Help on function set_manual_insn in module ida_bytes: + +set_manual_insn(*args) -> 'void' + set_manual_insn(ea, manual_insn) + + + Set manual instruction string. + + @param ea: linear address of the instruction or data item (C++: ea_t) + @param manual_insn: "" - delete manual string. NULL - do nothing (C++: + const char *) + +Help on function set_member_cmt in module idc: + +set_member_cmt(sid, member_offset, comment, repeatable) + 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 + +Help on function set_member_name in module idc: + +set_member_name(sid, member_offset, name) + 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. + +Help on function set_member_type in module idc: + +set_member_type(sid, member_offset, flag, typeid, nitems, target=-1, tdelta=0, reftype=2) + 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. + +Help on function set_name in module idc: + +set_name(ea, name, flags=0) + 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 + +Help on function set_processor_type in module ida_idp: + +set_processor_type(*args) -> 'bool' + 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: name of processor type (one of names present in + \ph{psnames}) (C++: const char *) + @param level: SETPROC_ (C++: setproc_level_t) + @return: success + +Help on function set_reg_value in module idc: + +set_reg_value(value, name) + 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. + +Help on function set_remote_debugger in module ida_dbg: + +set_remote_debugger(*args) -> 'void' + set_remote_debugger(host, _pass, port=-1) + + + Set remote debugging options. Should be used before starting the + debugger. + + @param host: If empty, IDA will use local debugger. If NULL, the host + will not be set. (C++: const char *) + @param port: If -1, the default port number will be used (C++: int) + +Help on function set_root_filename in module ida_nalt: + +set_root_filename(*args) -> 'void' + set_root_filename(file) + + + Set full path of the input file. + + + @param file (C++: const char *) + +Help on function set_segm_addressing in module idc: + +set_segm_addressing(ea, bitness) + Change segment addressing + + @param ea: any address in the segment + @param bitness: 0: 16bit, 1: 32bit, 2: 64bit + + @return: success (boolean) + +Help on function set_segm_alignment in module idc: + +set_segm_alignment(ea, alignment) + 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) + +Help on function set_segm_attr in module idc: + +set_segm_attr(segea, attr, value) + 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. + +Help on function set_segm_class in module idc: + +set_segm_class(ea, segclass) + Change class of the segment + + @param ea: any address in the segment + @param segclass: new class of the segment + + @return: success (boolean) + +Help on function set_segm_combination in module idc: + +set_segm_combination(segea, comb) + 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) + +Help on function set_segm_name in module idc: + +set_segm_name(ea, name) + Change name of the segment + + @param ea: any address in the segment + @param name: new name of the segment + + @return: success (boolean) + +Help on function set_segm_type in module idc: + +set_segm_type(segea, segtype) + Set segment type + + @param segea: any address within segment + @param segtype: new segment type: + + @return: !=0 - ok + +Help on function set_segment_bounds in module idc: + +set_segment_bounds(ea, startea, endea, flags) + 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 + +Help on function set_selector in module ida_segment: + +set_selector(*args) -> 'int' + set_selector(selector, paragraph) -> int + + + Set mapping of selector to a paragraph. You should call this + functionbeforecreating a segment which uses the selector, otherwise + the creation of the segment will fail. + + @param selector: 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. (C++: sel_t) + @param paragraph: paragraph to map selector (C++: ea_t) + +Help on function set_source_linnum in module ida_nalt: + +set_source_linnum(*args) -> 'void' + set_source_linnum(ea, lnnum) + +Help on function set_step_trace_options in module ida_dbg: + +set_step_trace_options(*args) -> 'void' + set_step_trace_options(options) + + + Modify step tracing options. \sq{Type, Synchronous function - + available as request, Notification, none (synchronous function)} + + @param options (C++: int) + +Help on function change_storage_type in module ida_bytes: + +change_storage_type(*args) -> 'error_t' + change_storage_type(start_ea, end_ea, stt) -> error_t + + + Change flag storage type for address range. + + @param start_ea: should be lower than end_ea. (C++: ea_t) + @param end_ea: does not belong to the range. (C++: ea_t) + @param stt: storage_type_t (C++: storage_type_t) + @return: error code + +Help on function set_struc_cmt in module ida_struct: + +set_struc_cmt(*args) -> 'bool' + set_struc_cmt(id, cmt, repeatable) -> bool + + + Set structure comment. + + + @param id (C++: tid_t) + @param cmt (C++: const char *) + @param repeatable (C++: bool) + +Help on function set_struc_idx in module idc: + +set_struc_idx(sid, index) + Change structure index + + @param sid: structure type ID + @param index: new index of the structure + + @return: != 0 - ok + + @note: See get_first_struc_idx() for the explanation of + structure indices and IDs. + +Help on function set_struc_name in module ida_struct: + +set_struc_name(*args) -> 'bool' + set_struc_name(id, name) -> bool + + + Set structure name. + + + @param id (C++: tid_t) + @param name (C++: const char *) + +Help on function set_tail_owner in module idc: + +set_tail_owner(tailea, funcea) + 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 + +Help on function set_target_assembler in module ida_idp: + +set_target_assembler(*args) -> 'bool' + set_target_assembler(asmnum) -> bool + + + Set target assembler. + + @param asmnum: number of assembler in the current processor module + (C++: int) + @return: success + +Help on function set_trace_file_desc in module ida_dbg: + +set_trace_file_desc(*args) -> 'bool' + set_trace_file_desc(filename, description) -> bool + + + Change the description of the specified trace file. + + + @param filename (C++: const char *) + @param description (C++: const char *) + +Help on function split_sreg_range in module idc: + +split_sreg_range(ea, reg, value, tag=2) + 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 corrent value. + +Help on function start_process in module ida_dbg: + +start_process(*args) -> 'int' + 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' }You can also + use the 'run_to()' function to easily start the execution of a process + until a given address is reached.For all parameters, a NULL value + indicates the debugger will take the value from the defined Process + Options. + + @param path: path to the executable to start (C++: const char *) + @param args: arguments to pass to process (C++: const char *) + @param sdir: starting directory for the process (C++: const char *) + +Help on function step_into in module ida_dbg: + +step_into(*args) -> 'bool' + 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' } + +Help on function step_over in module ida_dbg: + +step_over(*args) -> 'bool' + 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' } + +Help on function step_until_ret in module ida_dbg: + +step_until_ret(*args) -> 'bool' + 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' } + +Help on function strlen in module idc: + +strlen(s) + +Help on function strstr in module idc: + +strstr(s1, s2) + +Help on function substr in module idc: + +substr(s, x1, x2) + +Help on function suspend_process in module ida_dbg: + +suspend_process(*args) -> 'bool' + 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) }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. + +Help on function suspend_thread in module ida_dbg: + +suspend_thread(*args) -> 'int' + 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: thread id (C++: thid_t) + +Help on function take_memory_snapshot in module ida_segment: + +take_memory_snapshot(*args) -> 'bool' + take_memory_snapshot(only_loader_segs) -> bool + + + Take a memory snapshot of the running process. + + @param only_loader_segs: only is_loader_segm() segments will be + affected (C++: bool) + @return: success + +Help on function to_ea in module idc: + +to_ea(seg, off) + Return value of expression: ((seg<<4) + off) + +Help on function toggle_bnot in module idc: + +toggle_bnot(ea, n) + 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 + +Help on function toggle_sign in module ida_bytes: + +toggle_sign(*args) -> 'bool' + 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) + +Help on function update_extra_cmt in module ida_lines: + +update_extra_cmt(*args) -> 'void' + update_extra_cmt(ea, what, str) + +Help on function update_hidden_range in module idc: + +update_hidden_range(ea, visible) + Set hidden range state + + @param ea: any address belonging to the hidden range + @param visible: new state of the range + + @return: != 0 - ok + +Help on function validate_idb_names in module idc: + +validate_idb_names(do_repair=0) + check consistency of IDB name records + @param do_repair: try to repair netnode header it TRUE + @return: number of inconsistent name records + +Help on function value_is_float in module idc: + +value_is_float(var) + +Help on function value_is_func in module idc: + +value_is_func(var) + +Help on function value_is_int64 in module idc: + +value_is_int64(var) + +Help on function value_is_long in module idc: + +value_is_long(var) + +Help on function value_is_pvoid in module idc: + +value_is_pvoid(var) + +Help on function value_is_string in module idc: + +value_is_string(var) + # List of built-in functions + # -------------------------- + # + # The following conventions are used in this list: + # 'ea' is a linear address + # 'success' is 0 if a function failed, 1 otherwise + # 'void' means that function returns no meaningful value (always 0) + # + # All function parameter conversions are made automatically. + # + # ---------------------------------------------------------------------------- + # M I S C E L L A N E O U S + # ---------------------------------------------------------------------------- + +Help on function wait_for_next_event in module ida_dbg: + +wait_for_next_event(*args) -> 'dbg_event_code_t' + 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: combination of Wait for debugger event flags constants + (C++: int) + @param timeout: number of seconds to wait, -1-infinity (C++: int) + @return: either an event_id_t (if > 0), or a dbg_event_code_t (if <= + 0) + +Help on function warning in module ida_kernwin: + +warning(*args) -> 'void' + warning(format) + + + Display a message in a message box + + @param message: 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 + +Help on function write_dbg_memory in module idc: + +write_dbg_memory(ea, data) + 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) + +Help on function writelong in module idc: + +writelong(handle, dword, mostfirst) + +Help on function writeshort in module idc: + +writeshort(handle, word, mostfirst) + +Help on function writestr in module idc: + +writestr(handle, s) + +Help on function xtol in module idc: + +xtol(s) + diff --git a/swig/bytes.i b/swig/bytes.i index cf53bba..f88ea18 100644 --- a/swig/bytes.i +++ b/swig/bytes.i @@ -184,8 +184,7 @@ %include "bytes.hpp" -%apply (char *STRING, int LENGTH) { (const uchar *image, size_t len) }; -%apply (char *) { (const uchar *mask) }; +%apply (const bytevec_t &_fields) { const bytevec_t &imask }; %clear(void *buf, ssize_t size); diff --git a/swig/dbg.i b/swig/dbg.i index aed639f..97d2a71 100644 --- a/swig/dbg.i +++ b/swig/dbg.i @@ -98,28 +98,29 @@ bool request_run_to(ea_t ea, pid_t pid = NO_PROCESS, thid_t tid = NO_THREAD); %{ PyObject *bpt_t_condition_get(bpt_t *bpt) { - return PyString_FromString(bpt->cndbody.c_str()); + return IDAPyStr_FromUTF8(bpt->cndbody.c_str()); } void bpt_t_condition_set(bpt_t *bpt, PyObject *val) { - if ( PyString_Check(val) ) - bpt->cndbody = PyString_AsString(val); + if ( IDAPyStr_Check(val) ) + IDAPyStr_AsUTF8(&bpt->cndbody, val); else PyErr_SetString(PyExc_ValueError, "expected a string"); } PyObject *bpt_t_elang_get(bpt_t *bpt) { - return PyString_FromString(bpt->get_cnd_elang()); + return IDAPyStr_FromUTF8(bpt->get_cnd_elang()); } void bpt_t_elang_set(bpt_t *bpt, PyObject *val) { - if ( PyString_Check(val) ) + if ( IDAPyStr_Check(val) ) { - char *cval = PyString_AsString(val); - if ( !bpt->set_cnd_elang(cval) ) + qstring cval; + IDAPyStr_AsUTF8(&cval, val); + if ( !bpt->set_cnd_elang(cval.c_str()) ) PyErr_SetString(PyExc_ValueError, "too many extlangs"); } else @@ -136,7 +137,7 @@ void bpt_t_elang_set(bpt_t *bpt, PyObject *val) { PyObject *get_bytes() const { - return PyString_FromStringAndSize( + return IDAPyBytes_FromMemAndSize( (const char *) $self->bytes.begin(), $self->bytes.size()); } diff --git a/swig/diskio.i b/swig/diskio.i index cd3d9ca..7c1d113 100644 --- a/swig/diskio.i +++ b/swig/diskio.i @@ -51,6 +51,8 @@ // %ignore fopenM; // %ignore fopenA; +%apply Pointer NONNULL { linput_t *li }; + %ignore qfsize; %ignore echsize; %ignore get_free_disk_space; diff --git a/swig/enum.i b/swig/enum.i index 03b76ee..497e40f 100644 --- a/swig/enum.i +++ b/swig/enum.i @@ -1,7 +1,7 @@ %{ #include %} -%ignore get_enum_name(tid_t); +%ignore get_enum_name(tid_t, int); %constant bmask_t DEFMASK = bmask_t(-1); diff --git a/swig/expr.i b/swig/expr.i index 967a4f6..af96bdb 100644 --- a/swig/expr.i +++ b/swig/expr.i @@ -91,8 +91,13 @@ %extend idc_value_t { + wrapped_array_t __get_e() { + return wrapped_array_t($self->e); + } + %pythoncode { str = property(lambda self: self.c_str(), lambda self, v: self.set_string(v)) + e = property(__get_e) } } diff --git a/swig/funcs.i b/swig/funcs.i index 931853d..f6d311d 100644 --- a/swig/funcs.i +++ b/swig/funcs.i @@ -49,6 +49,20 @@ } } +%rename (__next__) next; + +%define %make_python2_iterator(TYPE) +%extend TYPE +{ + %pythoncode { + next = __next__ + } +} +%enddef +%make_python2_iterator(func_tail_iterator_t); +%make_python2_iterator(func_item_iterator_t); +%make_python2_iterator(func_parent_iterator_t); + // // diff --git a/swig/hexrays.i b/swig/hexrays.i index 27f385b..4e21d4d 100644 --- a/swig/hexrays.i +++ b/swig/hexrays.i @@ -211,6 +211,12 @@ static void _kludge_use_TPopupMenu(TPopupMenu *m); %newobject gen_microcode; %define_hexrays_lifecycle_object(mbl_array_t); +#ifdef PY3 +%const_void_pointer_and_size(uchar, bytes, nbytes); +#else +%apply (char *STRING, int LENGTH) { (const uchar *bytes, size_t nbytes) }; +%apply Pointer NONNULL { const uchar *bytes }; +#endif %define_hexrays_lifecycle_object(valrng_t); %apply ulonglong *OUTPUT { uvlr_t *v }; // valrng_t::cvt_to_single_value @@ -340,7 +346,7 @@ public: return True def _acquire_ownership(self, v, acquire): - if acquire and (v is not None) and not isinstance(v, (int, long)): + if acquire and (v is not None) and not isinstance(v, ida_idaapi.integer_types): if not v.thisown: raise Exception("%s is already owned, and cannot be reused" % v) v.thisown = False @@ -495,6 +501,20 @@ public: } %monitored_lifecycle_object_t(minsn_t); +%typemap(in,numinputs=0) (mop_t **other) (mop_t *tmp_op) +{ + // %typemap(in,numinputs=0) (mop_t **other) + $1 = &tmp_op; +} +%typemap(argout) (mop_t **other) +{ + // %typemap(argout) (mop_t **other) + $result = Py_BuildValue( + "(OO)", + $result, + SWIG_NewPointerObj(SWIG_as_voidptr(result != nullptr ? *$1 : nullptr), SWIGTYPE_p_mop_t, 0 | 0)); +} + //------------------------------------------------------------------------- // bitset_t @@ -507,7 +527,7 @@ public: __len__ = count def __iter__(self): it = self.begin() - for i in xrange(self.count()): + for i in range(self.count()): yield self.itv(it) self.inc(it) } @@ -582,7 +602,7 @@ cexpr_t *citem_t_cexpr_get(citem_t *item) { return (cexpr_t *) item; } CINSN_MEMBER_REF(goto); CINSN_MEMBER_REF(asm); - static bool insn_is_epilog(const cinsn_t *insn) const { return insn == INS_EPILOG; } + static bool insn_is_epilog(const cinsn_t *insn) { return insn == INS_EPILOG; } %pythoncode { def is_epilog(self): @@ -692,10 +712,10 @@ treeloc_t *ctree_item_t_loc_get(ctree_item_t *item) { return item->citype == VDI }; // ignore future declarations of at() for these classes -%ignore qvector< cinsn_t *>::at(size_t) const; -%ignore qvector< cinsn_t *>::at(size_t); -%ignore qvector< citem_t *>::at(size_t) const; -%ignore qvector< citem_t *>::at(size_t); +/* %ignore qvector< cinsn_t *>::at(size_t) const; */ +/* %ignore qvector< cinsn_t *>::at(size_t); */ +/* %ignore qvector< citem_t *>::at(size_t) const; */ +/* %ignore qvector< citem_t *>::at(size_t); */ %ignore qvector< citem_t *>::grow; %ignore qvector< cinsn_t *>::grow; @@ -777,9 +797,12 @@ typedef qlist::iterator qlist_cinsn_t_iterator; class qlist_cinsn_t_iterator {}; %extend qlist_cinsn_t_iterator { const cinsn_t &cur { return *(*self); } - void next(void) { (*self)++; } + void __next__(void) { (*self)++; } bool operator==(const qlist_cinsn_t_iterator *x) const { return &(self->operator*()) == &(x->operator*()); } bool operator!=(const qlist_cinsn_t_iterator *x) const { return &(self->operator*()) != &(x->operator*()); } + %pythoncode { + next = __next__ + } }; %extend qlist { @@ -856,7 +879,7 @@ void qswap(cinsn_t &a, cinsn_t &b); %rename (get_widget_vdui) py_get_widget_vdui; //------------------------------------------------------------------------- -#if SWIG_VERSION == 0x20012 +#if SWIG_VERSION == 0x40000 || SWIG_VERSION == 0x40001 %typemap(out) cfuncptr_t {} %typemap(ret) cfuncptr_t { diff --git a/swig/idaapi.i b/swig/idaapi.i index 5cfa0c4..a5d216f 100644 --- a/swig/idaapi.i +++ b/swig/idaapi.i @@ -36,6 +36,11 @@ // %} +%pythoncode %{ +import types +uses_swig_builtins = isinstance(get_inf_structure, types.BuiltinFunctionType) +%} + //------------------------------------------------------------------------- %inline %{ // diff --git a/swig/idp.i b/swig/idp.i index 3bb066a..f5c357f 100644 --- a/swig/idp.i +++ b/swig/idp.i @@ -33,7 +33,7 @@ struct undo_records_t; %ignore parse_config_value; %define_Hooks_class(IDP); -%ignore _wrap_addr_in_pycobject; +%ignore _wrap_addr_in_pycapsule; %ignore s_preline; %ignore ca_operation_t; diff --git a/swig/kernwin.i b/swig/kernwin.i index bf64616..36ccd6a 100644 --- a/swig/kernwin.i +++ b/swig/kernwin.i @@ -54,7 +54,12 @@ extern plugin_t PLUGIN; %calls_execute_sync(clr_cancelled); %calls_execute_sync(set_cancelled); %calls_execute_sync(user_cancelled); -%calls_execute_sync(hide_wait_box); +%calls_execute_sync(py_hide_wait_box); + +%ignore show_wait_box; +%rename (show_wait_box) py_show_wait_box; +%ignore hide_wait_box; +%rename (hide_wait_box) py_hide_wait_box; %ignore choose_idasgn; %rename (choose_idasgn) py_choose_idasgn; @@ -147,17 +152,16 @@ extern plugin_t PLUGIN; %ignore jobj_wrapper_t::~jobj_wrapper_t; %ignore jobj_wrapper_t::fill_jobj_from_dict; -// We will %ignore those ATM, since they cannot be trivially -// wrapped: bytevec_t is not exposed. -// (besides, serializing/deserializing should probably -// be done by locstack_t instances only.) -%ignore place_t::serialize; %ignore place_t__serialize; -%ignore place_t::deserialize; +%ignore place_t::deserialize(const uchar **pptr, const uchar *end); %ignore place_t__deserialize; %ignore place_t::generate; %ignore place_t__generate; %rename (generate) py_generate; +%newobject place_t::clone; + +// For place_t::serialize() +%apply bytevec_t *vout { bytevec_t *out }; %ignore register_place_class; %ignore register_loc_converter; @@ -200,18 +204,18 @@ struct py_action_handler_t : public action_handler_t if ( !has_activate ) return 0; PYW_GIL_GET_AND_REPORT_ERROR; - newref_t pyctx(SWIG_NewPointerObj(SWIG_as_voidptr(ctx), SWIGTYPE_p_action_ctx_base_t, 0)); + newref_t pyctx(SWIG_InternalNewPointerObj(SWIG_as_voidptr(ctx), SWIGTYPE_p_action_ctx_base_t, 0)); newref_t pyres(PyObject_CallMethod(pyah.o, (char *)"activate", (char *) "O", pyctx.o)); - return PyErr_Occurred() ? 0 : ((pyres != NULL && PyInt_Check(pyres.o)) ? PyInt_AsLong(pyres.o) : 0); + return PyErr_Occurred() ? 0 : ((pyres != NULL && IDAPyInt_Check(pyres.o)) ? IDAPyInt_AsLong(pyres.o) : 0); } virtual action_state_t idaapi update(action_update_ctx_t *ctx) { if ( !has_update ) return AST_DISABLE; PYW_GIL_GET_AND_REPORT_ERROR; - newref_t pyctx(SWIG_NewPointerObj(SWIG_as_voidptr(ctx), SWIGTYPE_p_action_ctx_base_t, 0)); + newref_t pyctx(SWIG_InternalNewPointerObj(SWIG_as_voidptr(ctx), SWIGTYPE_p_action_ctx_base_t, 0)); newref_t pyres(PyObject_CallMethod(pyah.o, (char *)"update", (char *) "O", pyctx.o)); - return PyErr_Occurred() ? AST_DISABLE_ALWAYS : ((pyres != NULL && PyInt_Check(pyres.o)) ? action_state_t(PyInt_AsLong(pyres.o)) : AST_DISABLE); + return PyErr_Occurred() ? AST_DISABLE_ALWAYS : ((pyres != NULL && IDAPyInt_Check(pyres.o)) ? action_state_t(IDAPyInt_AsLong(pyres.o)) : AST_DISABLE); } private: @@ -270,6 +274,14 @@ SWIG_DECLARE_PY_CLINKED_OBJECT(textctrl_info_t) %uncomparable_elements_qvector(disasm_line_t, disasm_text_t); +%extend place_t { + virtual bool idaapi deserialize(const bytevec_t &in) + { + const uchar *ptr = in.begin(); + return $self->deserialize(&ptr, ptr + in.size()); + } +} + %extend action_desc_t { action_desc_t( const char *name, @@ -327,11 +339,15 @@ SWIG_DECLARE_PY_CLINKED_OBJECT(textctrl_info_t) } //------------------------------------------------------------------------- +%newobject place_t::as_idaplace_t; +%newobject place_t::as_enumplace_t; +%newobject place_t::as_structplace_t; +%newobject place_t::as_simpleline_place_t; %extend place_t { - static idaplace_t *as_idaplace_t(place_t *p) { return (idaplace_t *) p; } - static enumplace_t *as_enumplace_t(place_t *p) { return (enumplace_t *) p; } - static structplace_t *as_structplace_t(place_t *p) { return (structplace_t *) p; } - static simpleline_place_t *as_simpleline_place_t(place_t *p) { return (simpleline_place_t *) p; } + static idaplace_t *as_idaplace_t(place_t *p) { return (idaplace_t *) p->clone(); } + static enumplace_t *as_enumplace_t(place_t *p) { return (enumplace_t *) p->clone(); } + static structplace_t *as_structplace_t(place_t *p) { return (structplace_t *) p->clone(); } + static simpleline_place_t *as_simpleline_place_t(place_t *p) { return (simpleline_place_t *) p->clone(); } PyObject *py_generate(void *ud, int maxsize) { diff --git a/swig/lines.i b/swig/lines.i index c297d64..bc9a8eb 100644 --- a/swig/lines.i +++ b/swig/lines.i @@ -40,7 +40,7 @@ Py_XDECREF(resultobj); if (result >= 0) { - resultobj = PyString_FromStringAndSize((const char *) $1->c_str(), $1->length()); + resultobj = IDAPyStr_FromUTF8AndSize((const char *) $1->c_str(), $1->length()); } else { diff --git a/swig/loader.i b/swig/loader.i index 2e96910..8e86d12 100644 --- a/swig/loader.i +++ b/swig/loader.i @@ -83,11 +83,11 @@ %ignore extract_module_from_archive; %rename (extract_module_from_archive) py_extract_module_from_archive; -%extend qvector< snapshot_t *> { - snapshot_t *at(size_t n) { return self->at(n); } -}; -%ignore qvector< snapshot_t *>::at(size_t) const; -%ignore qvector< snapshot_t *>::at(size_t); +/* %extend qvector< snapshot_t *> { */ +/* snapshot_t *at(size_t n) { return self->at(n); } */ +/* }; */ +/* %ignore qvector< snapshot_t *>::at(size_t) const; */ +/* %ignore qvector< snapshot_t *>::at(size_t); */ %ignore qvector< snapshot_t *>::grow; %template(qvector_snapshotvec_t) qvector; diff --git a/swig/lumina.i b/swig/lumina.i index 85e93fe..bc0a745 100644 --- a/swig/lumina.i +++ b/swig/lumina.i @@ -75,17 +75,35 @@ //------------------------------------------------------------------------- // metadata_t //------------------------------------------------------------------------- -%bytes_container(metadata_t *, metadata_t, begin, size,); -%bytes_container(metadata_t &, metadata_t, begin, size,); +#ifdef PY3 +%bytes_container_ptr_and_ref( + metadata_t, + begin, + size, + , + IDAPyBytes_Check, + IDAPyBytes_AsBytes, + IDAPyBytes_FromMemAndSize, + _sized_binary_result, + _maybe_sized_binary_result, + "bytes", + "bytes"); +#else +%bytes_container_ptr_and_ref( + metadata_t, + begin, + size, + , + IDAPyBytes_Check, + IDAPyBytes_AsBytes, + IDAPyBytes_FromMemAndSize, + _sized_binary_result, + _maybe_sized_binary_result, + "string", + "str"); +#endif -%typemap(argout) (qstring *errbuf) { - if ( !$1->empty() ) - { - if ( $result != NULL ) - delete $result; - SWIG_exception_fail(SWIG_RuntimeError, $1->c_str()); - } -} +%make_argout_errbuf_raise_exception_when_non_empty(); %uncomparable_elements_qvector(func_info_t, func_info_vec_t); %uncomparable_elements_qvector(func_info_and_frequency_t, func_info_and_frequency_vec_t); @@ -103,15 +121,13 @@ //------------------------------------------------------------------------- %typemap(in) (const uchar *ptr, const uchar *end) // for _wrap_extract_..._from_metadata { - if ( !PyString_Check($input) ) + if ( !IDAPyStr_Check($input) ) SWIG_exception_fail(SWIG_TypeError, "Expected string in method '$symname', argument $argnum of type 'str'"); - char *buf = NULL; - Py_ssize_t length = 0; - int success = PyString_AsStringAndSize($input, &buf, &length); - if ( success >= 0 ) + qstring buf; + if ( IDAPyStr_AsUTF8(&buf, $input) ) { - $1 = (uchar *) buf; - $2 = $1 + length; + $1 = (uchar *) buf.c_str(); + $2 = $1 + buf.length(); QASSERT(30575, $2 >= $1); } } @@ -120,7 +136,7 @@ %typemap(argout) (metadata_t *out_md) { // bytes_container typemap(argout) (metadata_t *out_md) - PyObject *py_md = PyString_FromStringAndSize((const char *) $1->begin(), $1->size()); + PyObject *py_md = IDAPyBytes_FromMemAndSize((const char *) $1->begin(), $1->size()); $result = SWIG_Python_AppendOutput($result, py_md); } @@ -131,11 +147,10 @@ %typemap(in) md5_t *md5 // for _wrap_input_file_t_md5_set { // typemap(in) md5_t * - char *buf = NULL; - Py_ssize_t length = 0; - /*int success =*/ PyString_AsStringAndSize($input, &buf, &length); + qstring buf; + IDAPyStr_AsUTF8(&buf, $input); $1 = new md5_t; - memmove($1->hash, buf, qmin(sizeof($1->hash), length)); + memmove($1->hash, buf.c_str(), qmin(sizeof($1->hash), buf.length())); } %typemap(freearg) md5_t *md5 // for _wrap_input_file_t_md5_set @@ -146,7 +161,7 @@ %typemap(out) md5_t * { // typemap(out) md5_t * - $result = PyString_FromStringAndSize((const char *) $1->hash, sizeof($1->hash)); + $result = IDAPyBytes_FromMemAndSize((const char *) $1->hash, sizeof($1->hash)); } // suppress the output parameter as an input. @@ -158,7 +173,7 @@ %typemap(argout) (md5_t *out) { // typemap(argout) (md5_t *out) - PyObject *py_hash = PyString_FromStringAndSize((const char *) $1->hash, sizeof($1->hash)); + PyObject *py_hash = IDAPyBytes_FromMemAndSize((const char *) $1->hash, sizeof($1->hash)); $result = SWIG_Python_AppendOutput($result, py_hash); } diff --git a/swig/moves.i b/swig/moves.i index 6962774..3cce9eb 100644 --- a/swig/moves.i +++ b/swig/moves.i @@ -20,6 +20,8 @@ %template(segm_move_info_vec_t) qvector; +%apply SWIGTYPE *DISOWN { place_t *in_p }; + %inline %{ // // diff --git a/swig/nalt.i b/swig/nalt.i index 7471d9b..b466a06 100644 --- a/swig/nalt.i +++ b/swig/nalt.i @@ -117,6 +117,12 @@ } } +%extend printop_t { + %pythoncode { + is_ti_valid = property(is_ti_initialized, set_ti_initialized) + } +} + %ignore switch_info_t::version; %apply uchar { op_dtype_t regdtype }; diff --git a/swig/netnode.i b/swig/netnode.i index d947c8b..1e36213 100644 --- a/swig/netnode.i +++ b/swig/netnode.i @@ -130,7 +130,7 @@ bytevec_t blob; if ( self->getblob(&blob, start, uchar(tag)) <= 0 ) Py_RETURN_NONE; - return PyString_FromStringAndSize((const char *)blob.begin(), blob.size()); + return IDAPyBytes_FromMemAndSize((const char *)blob.begin(), blob.size()); } PyObject *getclob(nodeidx_t start, char tag) @@ -138,7 +138,7 @@ qstring clob; if ( self->getblob(&clob, start, uchar(tag)) <= 0 ) Py_RETURN_NONE; - return PyString_FromStringAndSize((const char *)clob.begin(), clob.length()); + return IDAPyStr_FromUTF8AndSize((const char *)clob.begin(), clob.length()); } PyObject *getblob_ea(ea_t ea, char tag) @@ -146,7 +146,7 @@ bytevec_t blob; if ( self->getblob(&blob, ea, tag) <= 0 ) Py_RETURN_NONE; - return PyString_FromStringAndSize((const char *)blob.begin(), blob.size()); + return IDAPyBytes_FromMemAndSize((const char *)blob.begin(), blob.size()); } PyObject *hashstr_buf(const char *idx, char tag=htag) @@ -156,15 +156,25 @@ if ( sz < 0 ) Py_RETURN_NONE; else - return PyString_FromStringAndSize(buf, sz); + return IDAPyStr_FromUTF8AndSize(buf, sz); } bool hashset_buf(const char *idx, PyObject *py_str, char tag=htag) { - char *buf; - Py_ssize_t sz; - if ( PyString_AsStringAndSize(py_str, &buf, &sz) == -1 ) - return false; - return self->hashset(idx, buf, sz, uchar(tag)); + qstring buf; + return IDAPyStr_AsUTF8(&buf, py_str) + && self->hashset(idx, buf.c_str(), buf.length(), uchar(tag)); } + +#ifdef PY3 + bool supset(nodeidx_t alt, const char *value, size_t length=0, uchar tag=stag) + { + return self->supset(alt, (void *) value, length, tag); + } + + bool supset_ea(ea_t ea, const char *value, size_t length=0, uchar tag=stag) + { + return self->supset_ea(ea, (void *) value, length, tag); + } +#endif } diff --git a/swig/pro.i b/swig/pro.i index 0ad487a..917e09f 100644 --- a/swig/pro.i +++ b/swig/pro.i @@ -37,6 +37,15 @@ %ignore round_up_power2; %ignore round_down_power2; %ignore unpack_memory; +%ignore cliopt_t; +%ignore cliopts_t; + +%extend qrefcnt_t { + size_t __ptrval__() const + { + return size_t($self->operator T *()); + } +} // // diff --git a/swig/range.i b/swig/range.i index cae3eef..8d82eff 100644 --- a/swig/range.i +++ b/swig/range.i @@ -17,10 +17,21 @@ def __getitem__(self, idx): return self.getrange(idx) - import ida_idaapi __len__ = nranges __iter__ = ida_idaapi._bounded_getitem_iterator } }; +%extend range_t { + %pythoncode { + startEA = ida_idaapi._make_badattr_property("startEA", "start_ea") + endEA = ida_idaapi._make_badattr_property("endEA", "end_ea") + } +}; + +%pythoncode %{ +# +# +%} + %include "range.hpp" diff --git a/swig/strlist.i b/swig/strlist.i index 1c70e5b..445f796 100644 --- a/swig/strlist.i +++ b/swig/strlist.i @@ -28,9 +28,9 @@ for ( size_t i = 0; i < n; ++i ) { newref_t pyo(PySequence_GetItem(py_t, i)); - if ( PyInt_Check(pyo.o) ) + if ( IDAPyInt_Check(pyo.o) ) { - long stype = PyInt_AsLong(pyo.o); + long stype = IDAPyInt_AsLong(pyo.o); if ( stype < 0 || stype >= 0x100 ) { PyErr_SetString(PyExc_ValueError, "values must be between 0 & 0x100"); diff --git a/swig/struct.i b/swig/struct.i index 899cd30..e3d57b2 100644 --- a/swig/struct.i +++ b/swig/struct.i @@ -3,7 +3,7 @@ %} // Kernel-only symbols %ignore save_structs; -%ignore get_struc_name(tid_t); +%ignore get_struc_name(tid_t, int); %ignore get_member_name(tid_t); %ignore get_member_by_id(tid_t, struc_t **); // allow version w/ qstring* only @@ -15,7 +15,7 @@ %typemap(argout) qstring *out_mname { if (result) { - %append_output(PyString_FromStringAndSize($1->begin(), $1->length())); + %append_output(IDAPyStr_FromUTF8AndSize($1->begin(), $1->length())); } else { diff --git a/swig/typeinf.i b/swig/typeinf.i index 2b8edd5..249480d 100644 --- a/swig/typeinf.i +++ b/swig/typeinf.i @@ -40,6 +40,7 @@ %ignore perform_funcarg_conversion; %ignore get_argloc_info; %ignore argloc_t::dstr; +%ignore argloc_t::consume_scattered(scattered_aloc_t *p); %ignore argpart_t::copy_from; %ignore get_numbered_type(const til_t *, uint32, const type_t **, const p_list **, const char **, const p_list **, sclass_t *); @@ -135,11 +136,20 @@ %ignore remove_custom_argloc; %ignore retrieve_custom_argloc; +%make_argout_errbuf_raise_when_null_result(); + %{ // // %} +%extend argloc_t { + void consume_scattered(const scattered_aloc_t &p) + { + $self->consume_scattered(new scattered_aloc_t(p)); + } +} + %extend til_t { til_t *base(int n) @@ -197,12 +207,22 @@ } %enddef -%tinfo_t_or_simple_tinfo_t_container_lifecycle(tinfo_t); %tinfo_t_or_simple_tinfo_t_container_lifecycle(ptr_type_data_t); %tinfo_t_or_simple_tinfo_t_container_lifecycle(array_type_data_t); %tinfo_t_or_simple_tinfo_t_container_lifecycle(func_type_data_t); %tinfo_t_or_simple_tinfo_t_container_lifecycle(udt_type_data_t); +// We can't use tinfo_t_or_simple_tinfo_t_container_lifecycle() for tinfo_t, +// as it would call til_register_python_tinfo_t_instance() a second time +// after '%typemap(out) tinfo_t *' already did it. +%extend tinfo_t { + ~tinfo_t(void) + { + til_deregister_python_tinfo_t_instance($self); + delete $self; + } +} + %ignore tinfo_t::~tinfo_t(void); %template(funcargvec_t) qvector; @@ -219,9 +239,7 @@ { bytevec_t bv; if ( $self->get_attr(key, &bv, all_attrs) ) - return PyString_FromStringAndSize( - (const char *) bv.begin(), - bv.size()); + return IDAPyStr_FromUTF8AndSize((const char *) bv.begin(), bv.size()); else Py_RETURN_NONE; } @@ -230,11 +248,6 @@ %feature("director") predicate_t; -%ignore load_til; -%rename (load_til) py_load_til; -%ignore load_til_header; -%rename (load_til_header) py_load_til_header; - %ignore remove_tinfo_pointer; %rename (remove_tinfo_pointer) py_remove_tinfo_pointer; @@ -249,8 +262,8 @@ // %typemap(in) const sclass_t * if ( $input == Py_None ) $1 = new sclass_t(sc_unk); - else if ( PyInt_Check($input) ) - $1 = new sclass_t(sclass_t(PyInt_AsLong($input))); + else if ( IDAPyInt_Check($input) ) + $1 = new sclass_t(sclass_t(IDAPyInt_AsLong($input))); else SWIG_exception_fail( SWIG_ValueError, diff --git a/swig/ua.i b/swig/ua.i index b754f89..d31b742 100644 --- a/swig/ua.i +++ b/swig/ua.i @@ -88,7 +88,7 @@ auxpref = property(__get_auxpref__, __set_auxpref__) def __iter__(self): - return (self.ops[idx] for idx in xrange(0, UA_MAXOP)) + return (self.ops[idx] for idx in range(0, UA_MAXOP)) def __getitem__(self, idx): """ @@ -143,6 +143,11 @@ %apply ea_t { adiff_t off }; %apply ea_t { adiff_t off }; +#ifdef PY3 +%apply uchar { char segpref }; +%apply uchar { char insnpref }; +#endif + %include "ua.hpp" %rename (decode_preceding_insn) py_decode_preceding_insn; diff --git a/tools/chkapi.py b/tools/chkapi.py index ae07e88..12d4979 100644 --- a/tools/chkapi.py +++ b/tools/chkapi.py @@ -1,46 +1,20 @@ from __future__ import with_statement from __future__ import print_function -import sys, optparse, re, pprint +import sys +import os +import argparse +import re +import six +import pprint -class TextStream: - def __init__(self, text): - self.text = text - self.point = 0 - self.maxpoint = len(self.text) - self.line_nr = 0 - self.char_nr = 0 +mydir, _ = os.path.split(__file__) +if mydir not in sys.path: + sys.path.append(mydir) - def line(self): - pt = self.point - self.advance_to_newline() - return self.text[pt : self.point] +import wrapper_utils - def char(self): - c, self.point = self.text[self.point], self.point + 1 - if c == '\n': - self.line_nr += 1 - self.char_nr = 0 - return c - - def advance_to_newline(self): - p = self.point - while self.text[p] != '\n': - p += 1 - p += 1 - self.line_nr += 1 - self.char_nr = 0 - self.point = p - - def empty(self): - return self.point >= self.maxpoint - - -def check_cpp(opts): - - api_contents = { - "functions" : [] - } +def check_cpp(args): functions_coherence_base = { # @@ -145,11 +119,11 @@ def check_cpp(opts): "_wrap_warning__varargs__" : { "nullptrcheck" : 1, # 1st arg - "mustcall" : "PyString_AsString", + "mustcall" : "IDAPyStr_AsUTF8", }, "_wrap_error__varargs__" : { "nullptrcheck" : 1, - "mustcall" : "PyString_AsString", + "mustcall" : "IDAPyStr_AsUTF8", }, "_wrap_tag_remove" : { "nullptrcheck" : 1, @@ -182,19 +156,19 @@ def check_cpp(opts): functions_coherence_hexrays = { "_wrap_cfuncptr_t___str__" : { - "mustcall" : ["cfunc_t___str__", "PyString_FromStringAndSize"], + "mustcall" : ["cfunc_t___str__", "IDAPyStr_FromUTF8AndSize"], }, "_wrap_cfunc_t___str__" : { - "mustcall" : ["cfunc_t___str__", "PyString_FromStringAndSize"], + "mustcall" : ["cfunc_t___str__", "IDAPyStr_FromUTF8AndSize"], }, "_wrap_hexrays_failure_t_desc" : { - "mustcall" : "PyString_FromStringAndSize", + "mustcall" : "IDAPyStr_FromUTF8AndSize", }, "_wrap_vd_failure_t_desc" : { - "mustcall" : "PyString_FromStringAndSize", + "mustcall" : "IDAPyStr_FromUTF8AndSize", }, "_wrap_create_field_name" : { - "mustcall" : "PyString_FromStringAndSize", + "mustcall" : "IDAPyStr_FromUTF8AndSize", }, "delete_qrefcnt_t_Sl_cfunc_t_Sg_" : { "mustcall" : "hexrays_deregister_python_clearable_instance", @@ -240,7 +214,7 @@ def check_cpp(opts): }, "mbl_array_t_serialize" : { "string" : "bytes_container typemap(argout) (bytevec_t &vout)", - "mustcall" : "PyString_FromStringAndSize", + "mustcall" : "_sized_binary_result", }, # @@ -264,7 +238,7 @@ def check_cpp(opts): } functions_coherence = functions_coherence_base.copy() - if opts.with_hexrays: + if args.with_hexrays: functions_coherence.update(functions_coherence_hexrays) # Mark all functions as not-spotted. @@ -272,103 +246,68 @@ def check_cpp(opts): chk = functions_coherence[fname] chk["spotted"] = False - def dbg(msg): - if opts.verbose: + def verb(msg): + if args.verbose: print("DEBUG: %s" % msg) - def is_fundecl(line): - if len(line) <= 2: - return False - if line[0:1].isspace(): - return False - if line[len(line)-1:] != "{": - return False - if line.find("(") == -1 or line.find(")") == -1: - return False - return True + api_functions_names = [] + for one_file in args.cpp_input.split(","): + verb("Handling file: '%s'" % one_file) + parser = wrapper_utils.cpp_wrapper_file_parser_t(args) + functions = parser.parse(one_file) - def collect_funbody_lines(ts): - pt = ts.point - braces_cnt = 1 - while True: - c = ts.char() - if c == "{": - braces_cnt = braces_cnt + 1 - elif c == "}": - braces_cnt = braces_cnt - 1 - if braces_cnt == 0: - break; - # TODO: Skip strings! - return ts.text[pt : ts.point].split("\n") - - api_fname_regex = re.compile(".*PyObject \\*_wrap_([^\\(]*)\\(.*\\).*") - - KICKME_functions_lines = {} - - # Read and go through lines - for one_file in opts.files.split(","): - with open(one_file, "r") as f: - raw = f.read() # ensure we have improved director out type reporting - if raw.find("""in output value of type '""int""'");""") > -1: + if parser.text.find("""in output value of type '""int""'");""") > -1: raise Exception("Director output value type reporting doesn't appear to be patched") - ts = TextStream(raw) - # Process lines - while not ts.empty(): - line = ts.line().rstrip() - # dbg("Line: '%s'" % line) + for fname, fdef in six.iteritems(functions): - if is_fundecl(line): - # dbg("Entering function (from line %d: '%s')" % (ts.line_nr, line)) - funstart = line - match = api_fname_regex.match(funstart) - if match: - fname = match.group(1) - api_contents["functions"].append(fname) - funlines = collect_funbody_lines(ts) - KICKME_functions_lines[fname] = funlines - # Do we care about this function? - check_for = None - for fname in functions_coherence.keys(): - if funstart.find(fname + "(") > -1: - check_for = fname - break - if check_for: - dbg("Checking function at line %d: '%s'" % (ts.line_nr, check_for)) - chk = functions_coherence[check_for] - chk["spotted"] = True - def look_for_stuff(stuff, is_funcall, lookForPresence=True): - if isinstance(stuff, str): - stuff = [stuff] - for bit in stuff: - found = False - bit_pat = ("%s(" % bit) if is_funcall else bit - dbg("Thing to look for: '%s'" % bit_pat) - for funline in funlines: - # dbg("Testing line: '%s'" % funline) - if funline.find(bit_pat) > -1: - found = True - break - if lookForPresence: - if not found: - raise Exception("Couldn't find '%s', from function '%s' (lines: %s)" % - (bit_pat, check_for, "\n".join([""] + funlines))) - else: - if found: - raise Exception("Did find unwanted '%s', from function '%s' (lines: %s)" % - (bit_pat, check_for, "\n".join([""] + funlines))) + if fdef.api_function_name: + api_functions_names.append(fdef.api_function_name) - if "mustcall" in chk: - look_for_stuff(chk["mustcall"], True) - if "string" in chk: - look_for_stuff(chk["string"], False) - if "nostring" in chk: - look_for_stuff(chk["nostring"], False, lookForPresence=False) - if "nullptrcheck" in chk: - look_for_stuff('"invalid null pointer " "in method \'" "%s" "\', argument " "%d""' % ( - fname.replace("_wrap_", "").replace("__varargs__", ""), - chk["nullptrcheck"]), False) + # Do we care about this function? + funstart = fdef.contents[0] + check_for = None + for fname in functions_coherence.keys(): + if funstart.find(fname + "(") > -1: + check_for = fname + break + + if check_for: + verb("Checking function at line %d: '%s'" % (fdef.line_nr, check_for)) + chk = functions_coherence[check_for] + chk["spotted"] = True + def look_for_stuff(stuff, is_funcall, lookForPresence=True): + if isinstance(stuff, str): + stuff = [stuff] + for bit in stuff: + found = False + bit_pat = ("%s(" % bit) if is_funcall else bit + verb("Thing to look for: '%s'" % bit_pat) + for funline in fdef.contents[1:]: + # verb("Testing line: '%s'" % funline) + if funline.find(bit_pat) > -1: + found = True + break + if lookForPresence: + if not found: + raise Exception("Couldn't find '%s', from function '%s' (lines: %s)" % + (bit_pat, check_for, "\n".join(fdef.contents))) + else: + if found: + raise Exception("Did find unwanted '%s', from function '%s' (lines: %s)" % + (bit_pat, check_for, "\n".join(fdef.contents))) + + if "mustcall" in chk: + look_for_stuff(chk["mustcall"], True) + if "string" in chk: + look_for_stuff(chk["string"], False) + if "nostring" in chk: + look_for_stuff(chk["nostring"], False, lookForPresence=False) + if "nullptrcheck" in chk: + look_for_stuff('"invalid null pointer " "in method \'" "%s" "\', argument " "%d""' % ( + fname.replace("_wrap_", "").replace("__varargs__", ""), + chk["nullptrcheck"]), False) # Ensure all functions were spotted. for fname in functions_coherence.keys(): @@ -377,7 +316,7 @@ def check_cpp(opts): raise Exception("Couldn't spot function '%s'" % fname) # Report contents - if opts.report_contents: + if args.report_contents: ignorable_functions = [ "citem_t___dbg_get_meminfo", @@ -407,21 +346,17 @@ def check_cpp(opts): ] to_report = sorted(filter( lambda fn: fn not in ignorable_functions, - api_contents["functions"])) + api_functions_names)) # NB: we use "wb" here so that the endlines # are written as-is, in Unix format # and so 'diff' does not report bogus changes # against the file from repository - with open(opts.report_contents, "wb") as f: - f.write(pprint.pformat({"functions" : to_report})) - - # import pickle - # with open("/tmp/funlines.last", "wb") as fo: - # pickle.dump(KICKME_functions_lines, fo) + with open(args.report_contents, "wb") as f: + f.write(pprint.pformat({"functions" : to_report}).encode("UTF-8")) -def check_python(opts): +def check_python(args): types_coherence_base = { "func_t" : { "mustinherit" : "ida_range.range_t" }, "hidden_range_t" : { "mustinherit" : "ida_range.range_t" }, @@ -489,7 +424,7 @@ def check_python(opts): } types_coherence = types_coherence_base.copy() - if opts.with_hexrays: + if args.with_hexrays: types_coherence.update(types_coherence_hexrays) # Mark all types as not-spotted. @@ -499,9 +434,9 @@ def check_python(opts): class_re = re.compile("^class ([a-zA-Z0-9_]*)\\(([a-zA-Z0-9_\\.]*)\\):") var_re = re.compile("^([a-zA-Z0-9_]*) = .*") - for one_file in opts.python_files.split(","): - with open(one_file, "r") as f: - ts = TextStream(f.read()) + for one_file in args.python_input.split(","): + with open(one_file) as f: + ts = wrapper_utils.TextStream(f.read()) while not ts.empty(): line = ts.line().rstrip() @@ -535,17 +470,17 @@ def check_python(opts): if __name__ == "__main__": - p = optparse.OptionParser(description='Check the generated idaapi_include.cpp file') - p.add_option('-v', "--verbose", dest="verbose", action="store_true") - p.add_option('-i', "--input", dest="files", type="string") - p.add_option('-p', "--python-input", dest="python_files", type="string") - p.add_option('-x', "--with-hexrays", dest="with_hexrays", action="store_true") - p.add_option('-r', "--report-contents", dest="report_contents", type="string") - opts, _ = p.parse_args(sys.argv[1:]) + p = argparse.ArgumentParser(description='Check the generated idaapi_include.cpp file') + p.add_argument('-v', "--verbose", action="store_true") + p.add_argument('-i', "--cpp-input", type=str) + p.add_argument('-p', "--python-input", type=str) + p.add_argument('-x', "--with-hexrays", action="store_true") + p.add_argument('-r', "--report-contents", type=str) + args = p.parse_args() - if not opts.files or not opts.python_files: + if not args.cpp_input or not args.python_input: p.print_help() sys.exit(1) - check_cpp(opts) - check_python(opts) + check_cpp(args) + check_python(args) diff --git a/tools/deploy.py b/tools/deploy.py index 1e5fa48..86cff53 100644 --- a/tools/deploy.py +++ b/tools/deploy.py @@ -123,7 +123,8 @@ def deploy(module, template, output, pywraps, iface_deps, lifecycle_aware, verbo output = convert_path(output) # read template file - template_str = "".join(file(template, "r").readlines()) + with open(template) as fin: + template_str = fin.read() # read input file(s) all_files = glob.glob(os.path.join(pywraps, "py_%s.*" % module)) + \ @@ -144,7 +145,8 @@ def deploy(module, template, output, pywraps, iface_deps, lifecycle_aware, verbo ('pycode_BC695', make_re('pycode_BC695', tagname, '#')), ) - input_str = "".join(file(path, "r").readlines()) + with open(path) as fin: + input_str = fin.read() template_str = apply_tags(template_str, input_str, tags, verbose, path) # synthetic tags diff --git a/tools/deploy/header.i.in b/tools/deploy/header.i.in index 0078cc1..d80a2d1 100644 --- a/tools/deploy/header.i.in +++ b/tools/deploy/header.i.in @@ -9,6 +9,12 @@ #define DEPRECATED %} +%{ +#include "../../../idapy.hpp" +%} + +#define SWIG_PYTHON_LEGACY_BOOL 1 + // Auto-inserted header // generate directors for all classes that have virtual methods %feature("director"); @@ -51,6 +57,11 @@ %ignore qvector::front; %ignore qvector::back; +%ignore qlist::iterator::operator--; +%ignore qlist::const_iterator::operator--; +%ignore qlist::reverse_iterator::operator--; +%ignore qlist::const_reverse_iterator::operator--; + %define %uncomparable_elements_qvector(ELEMENT_TYPE, VECTOR_TYPE) %ignore qvector::operator==; %ignore qvector::operator!=; @@ -171,12 +182,12 @@ import sys _BC695 = sys.modules["__main__"].IDAPYTHON_COMPAT_695_API if _BC695: - # This is a helper for replacing an existing function, with a wrapper - # providing backwards-compatibility for API 6.95 -- typically because - # the number/types of arguments changed, while the function name itself - # remained the same in 7.0. - # (Note that this shouldn't be used for functions that don't exist - # in the vanilla 7.0 API, such as 'choose_named_type2'.) + ## This is a helper for replacing an existing function, with a wrapper + ## providing backwards-compatibility for API 6.95 -- typically because + ## the number/types of arguments changed, while the function name itself + ## remained the same in 7.0. + ## (Note that this shouldn't be used for functions that don't exist + ## in the vanilla 7.0 API, such as 'choose_named_type2'.) def bc695redef(func): ida_idaapi._BC695.replace_fun(func) return func @@ -236,8 +247,8 @@ if _BC695: catch ( const std::bad_alloc &ba ) { __raise_ba(ba); SWIG_fail; } catch ( const std::out_of_range &e ) { __raise_oor(e); SWIG_fail; } catch ( const interr_exc_t &e ) { __raise_ie(e); SWIG_fail; }%ida_hexrays_wrapper_exception_catch() - catch ( const std::exception &e ) { __raise_e(e); SWIG_fail; } catch ( const Swig::DirectorException &e ) { __raise_de(e); SWIG_fail; } + catch ( const std::exception &e ) { __raise_e(e); SWIG_fail; } catch ( ... ) { __raise_u(); SWIG_fail; } } %enddef @@ -267,14 +278,14 @@ inline size_t strnlen(const char *s, size_t maxlen) static PyObject *type##_create() { PYW_GIL_CHECK_LOCKED_SCOPE(); - return PyCObject_FromVoidPtr(new type(), NULL); + return PyCapsule_New(new type(), VALID_CAPSULE_NAME, NULL); } static bool type##_destroy(PyObject *py_obj) { PYW_GIL_CHECK_LOCKED_SCOPE(); - if ( !PyCObject_Check(py_obj) ) + if ( !PyCapsule_IsValid(py_obj, VALID_CAPSULE_NAME) ) return false; - delete (type *)PyCObject_AsVoidPtr(py_obj); + delete (type *)PyCapsule_GetPointer(py_obj, VALID_CAPSULE_NAME); return true; } static type *type##_get_clink(PyObject *self) @@ -298,12 +309,47 @@ static PyObject *type##_get_clink_ptr(PyObject *self) %typemap(directorout) PyObject * "/*%dout%*/$result = result;Py_XINCREF($result);" //--------------------------------------------------------------------- -%define %treat_serialized_tinfo_raw_pointer_as_str(TYPE) +#ifdef PY3 +%define %treat_serialized_tinfo_raw_pointer_as_bytes_1(_TYPE) +%typemap(in) _TYPE * +{ // %treat_serialized_tinfo_raw_pointer_as_bytes_1 %typemap(in) _TYPE * + if ( $input == Py_None ) + $1 = ($1_ltype) NULL; + else if ( PyBytes_Check($input) ) + $1 = ($1_ltype) PyBytes_AsString($input); + else + SWIG_exception_fail( + SWIG_ValueError, + "Expected bytes " "in method '" "$symname" "', argument " "$argnum"" of type 'bytes'"); +} +%typemap(directorin) _TYPE * +{ // %treat_serialized_tinfo_raw_pointer_as_bytes_1 %typemap(directorin) _TYPE * + $input = PyBytes_FromString($1 != NULL ? (const char *) $1 : ""); +} +%typemap(out) _TYPE * +{ // %treat_serialized_tinfo_raw_pointer_as_bytes_1 %typemap(out) _TYPE * + $result = PyBytes_FromString($1 != NULL ? (const char *) $1 : ""); +} +// 'typecheck' typemaps are used for polymorphism. We want to favor +// tinfo_t wrappers at the expense of 'type_t *' ones, so we want the +// precedence for this to be very low. +%typemap(typecheck, precedence=SWIG_TYPECHECK_STRING_ARRAY) _TYPE * +{ // %treat_serialized_tinfo_raw_pointer_as_bytes_1 %typemap(typecheck) _TYPE * + $1 = ($input == Py_None || PyBytes_Check($input)) ? 1 : 0; +} +%enddef +%define %treat_serialized_tinfo_raw_pointer_as_bytes(TYPE) +%treat_serialized_tinfo_raw_pointer_as_bytes_1(TYPE); +%treat_serialized_tinfo_raw_pointer_as_bytes_1(const TYPE); +%enddef +#else +%define %treat_serialized_tinfo_raw_pointer_as_bytes(TYPE) %apply char * { TYPE * } %apply const char * { const TYPE * } %enddef -%treat_serialized_tinfo_raw_pointer_as_str(type_t); -%treat_serialized_tinfo_raw_pointer_as_str(p_list); +#endif +%treat_serialized_tinfo_raw_pointer_as_bytes(type_t); +%treat_serialized_tinfo_raw_pointer_as_bytes(p_list); //------------------------------------------------------------------------- // For some reason, SWIG converts char arrays by computing the size @@ -396,7 +442,16 @@ SWIGINTERN PyObject *_maybe_cstring_result( Py_XDECREF(resultobj); if ( result <= 0 ) Py_RETURN_NONE; - return PyString_FromString(cstr); + return IDAPyStr_FromUTF8(cstr); +} + +SWIGINTERN PyObject *_sized_cstring_result( + PyObject *resultobj, + const char *cstr, + size_t cstrsz) +{ + Py_XDECREF(resultobj); + return IDAPyStr_FromUTF8AndSize(cstr, cstrsz); } SWIGINTERN PyObject *_maybe_sized_cstring_result( @@ -408,7 +463,38 @@ SWIGINTERN PyObject *_maybe_sized_cstring_result( Py_XDECREF(resultobj); if ( result <= 0 ) Py_RETURN_NONE; - return PyString_FromStringAndSize(cstr, cstrsz); + return IDAPyStr_FromUTF8AndSize(cstr, cstrsz); +} + +SWIGINTERN PyObject *_maybe_cstring_result_on_charptr_using_allocated_buf( + PyObject *resultobj, + const char *result, + char *buf) +{ + Py_XDECREF(resultobj); + PyObject *out = NULL; + if ( result != NULL ) + { + out = IDAPyStr_FromUTF8(buf); + } + else + { + Py_INCREF(Py_None); + out = Py_None; + } + qfree(buf); + return out; +} + +SWIGINTERN PyObject *_maybe_cstring_result_on_charptr_using_qbuf( + PyObject *resultobj, + const char *result, + const qstring &buf) +{ + Py_XDECREF(resultobj); + if ( result == NULL ) + Py_RETURN_NONE; + return IDAPyStr_FromUTF8AndSize(buf.begin(), buf.length()); } SWIGINTERN PyObject *_maybe_binary_result( @@ -419,9 +505,60 @@ SWIGINTERN PyObject *_maybe_binary_result( Py_XDECREF(resultobj); if ( result <= 0 ) Py_RETURN_NONE; +#ifdef PY3 + return PyBytes_FromStringAndSize((const char *) buf, result); +#else return PyString_FromStringAndSize((const char *) buf, result); +#endif +} + +SWIGINTERN PyObject *_sized_binary_result( + PyObject *resultobj, + const char *cstr, + size_t cstrsz) +{ + Py_XDECREF(resultobj); + return IDAPyBytes_FromMemAndSize(cstr, cstrsz); +} + +SWIGINTERN PyObject *_maybe_sized_binary_result( + PyObject *resultobj, + const char *cstr, + size_t cstrsz, + int result) +{ + Py_XDECREF(resultobj); + if ( result <= 0 ) + Py_RETURN_NONE; + return IDAPyBytes_FromMemAndSize(cstr, cstrsz); +} + +%} + +#if defined(IDA_MODULE_NALT) +%{ +#include +SWIGINTERN PyObject *_maybe_byte_array_as_hex_or_none_result( + PyObject *resultobj, + bool result, + const uchar *bytes, + size_t nbytes) +{ + Py_XDECREF(resultobj); + if ( !result ) + Py_RETURN_NONE; + qstring buf; + buf.resize(2*nbytes); + get_hex_string(buf.begin(), buf.length(), bytes, nbytes); +#ifdef PY3 + return PyBytes_FromStringAndSize(buf.c_str(), buf.length()); +#else + return PyString_FromStringAndSize(buf.c_str(), buf.length()); +#endif } %} +#endif + //--------------------------------------------------------------------- @@ -465,17 +602,7 @@ SWIGINTERN PyObject *_maybe_binary_result( %define %cstring_output_buf_and_size_returning_charptr(BUFIDX, ...) %typemap(argout) (__VA_ARGS__) { // cstring_output_buf_and_size_returning_charptr's argout - Py_XDECREF(resultobj); - if (result != NULL) - { - resultobj = PyString_FromString($BUFIDX); - } - else - { - Py_INCREF(Py_None); - resultobj = Py_None; - } - qfree($BUFIDX); + resultobj = _maybe_cstring_result_on_charptr_using_allocated_buf(resultobj, (const char *) result, $BUFIDX); } %enddef @@ -485,16 +612,7 @@ SWIGINTERN PyObject *_maybe_binary_result( %typemap(argout) (__VA_ARGS__) { // %cstring_output_qstring_returning_charptr typemap(argout) __VA_ARGS__ - Py_XDECREF(resultobj); - if (result != NULL) - { - resultobj = PyString_FromStringAndSize($BUFIDX->begin(), $BUFIDX->length()); - } - else - { - Py_INCREF(Py_None); - resultobj = Py_None; - } + resultobj = _maybe_cstring_result_on_charptr_using_qbuf(resultobj, (const char *) result, *$BUFIDX); } %enddef @@ -524,18 +642,7 @@ SWIGINTERN PyObject *_maybe_binary_result( } %typemap(argout) uchar PARAM_NAME[ANY] { // byte_array_as_hex_or_none typemap(argout) uchar PARAM_NAME[ANY] - Py_XDECREF(resultobj); - if (result) - { - char buf[2*$1_dim0 + 1]; - get_hex_string(buf, sizeof(buf), $1, $1_dim0); - resultobj = PyString_FromString(buf); - } - else - { - Py_INCREF(Py_None); - resultobj = Py_None; - } + resultobj = _maybe_byte_array_as_hex_or_none_result(resultobj, result, $1, $1_dim0); } %enddef %byte_array_as_hex_or_none(hash); @@ -596,27 +703,66 @@ SWIGINTERN PyObject *_maybe_binary_result( //--------------------------------------------------------------------- // IN/OUT qstring/bytevec_t //--------------------------------------------------------------------- -%define %bytes_container(REFTYPE, CONTAINER_TYPE, START_ACCESSOR, SIZE_ACCESSOR, INSTANCE_CAST) +%define %bytes_container( + REFTYPE, + CONTAINER_TYPE, + START_ACCESSOR, + SIZE_ACCESSOR, + INSTANCE_CAST, + CHECKER, + IN_CONVERTER, + OUT_CONVERTER, + ARGOUT_CONVERTER, + ARGOUT_MAYBE_CONVERTER, + ELTYPE_TO_REPORT1, + ELTYPE_TO_REPORT2) %typemap(typecheck) REFTYPE { // bytes_container REFTYPE typemap(typecheck) - $1 = PyString_Check($input) ? 1 : 0; + $1 = CHECKER($input) ? 1 : 0; } -%typemap(in) REFTYPE -{ // bytes_container REFTYPE, CONTAINER_TYPE typemap(in) - if ( PyString_Check($input) ) +%fragment("cvt_" #CONTAINER_TYPE, "header") +{ + CONTAINER_TYPE *cvt_##CONTAINER_TYPE(PyObject *obj, bool can_be_none=false) { - // init properly, so ctor can't crash - char *buf = NULL; - Py_ssize_t length = 0; - /*int success =*/ PyString_AsStringAndSize($input, &buf, &length); - $1 = new CONTAINER_TYPE(INSTANCE_CAST buf, length); // build regardless of success + CONTAINER_TYPE *out = NULL; + if ( can_be_none && obj == Py_None ) + { + out = new CONTAINER_TYPE; + } + else if ( CHECKER(obj) ) + { + // init properly, so ctor can't crash + out = new CONTAINER_TYPE; + IN_CONVERTER(out, obj); + } + return out; } - else - { +} + +%typemap(in, fragment="cvt_" #CONTAINER_TYPE) REFTYPE +{ // bytes_container REFTYPE, CONTAINER_TYPE typemap(in) + $1 = cvt_ ## CONTAINER_TYPE($input); + if ( $1 == NULL ) SWIG_exception_fail( SWIG_ValueError, - "Expected string " "in method '" "$symname" "', argument " "$argnum"" of type 'str'"); - } + "Expected " ELTYPE_TO_REPORT1 " " "in method '" "$symname" "', argument " "$argnum"" of type '" ELTYPE_TO_REPORT2 "'"); +} + +%typemap(in) const REFTYPE _type_or_none +{ // bytes_container REFTYPE _type_or_none, CONTAINER_TYPE typemap(in) + $1 = cvt_ ## CONTAINER_TYPE($input, /*can_be_none=*/ true); + if ( $1 == NULL ) + SWIG_exception_fail( + SWIG_ValueError, + "Expected " ELTYPE_TO_REPORT1 " " "in method '" "$symname" "', argument " "$argnum"" of type '" ELTYPE_TO_REPORT2 "'"); +} +%typemap(in) const REFTYPE _fields +{ // bytes_container REFTYPE _fields, CONTAINER_TYPE typemap(in) + $1 = cvt_ ## CONTAINER_TYPE($input, /*can_be_none=*/ true); + if ( $1 == NULL ) + SWIG_exception_fail( + SWIG_ValueError, + "Expected " ELTYPE_TO_REPORT1 " " "in method '" "$symname" "', argument " "$argnum"" of type '" ELTYPE_TO_REPORT2 "'"); } %typemap(freearg) REFTYPE { // bytes_container REFTYPE typemap(freearg) @@ -624,15 +770,15 @@ SWIGINTERN PyObject *_maybe_binary_result( } %typemap(out) REFTYPE // e.g., %typemap(out) qstring* { // bytes_container typemap(out) REFTYPE - $result = PyString_FromStringAndSize((const char *) $1->START_ACCESSOR(), $1->SIZE_ACCESSOR()); + $result = OUT_CONVERTER((const char *) $1->START_ACCESSOR(), $1->SIZE_ACCESSOR()); } %typemap(out) CONTAINER_TYPE // e.g., %typemap(out) qstring { // bytes_container typemap(out) CONTAINER_TYPE - $result = PyString_FromStringAndSize((const char *) $1.START_ACCESSOR(), $1.SIZE_ACCESSOR()); + $result = OUT_CONVERTER((const char *) $1.START_ACCESSOR(), $1.SIZE_ACCESSOR()); } %typemap(varout) CONTAINER_TYPE // e.g., %typemap(varout) qstring { // bytes_container typemap(varout) CONTAINER_TYPE - $result = PyString_FromStringAndSize((const char *) $1.START_ACCESSOR(), $1.SIZE_ACCESSOR()); + $result = OUT_CONVERTER((const char *) $1.START_ACCESSOR(), $1.SIZE_ACCESSOR()); } // the following is used to turn a '... *result' output parameter, // into an actual return value. @@ -649,12 +795,12 @@ SWIGINTERN PyObject *_maybe_binary_result( %typemap(argout) CONTAINER_TYPE *result { // bytes_container typemap(argout) CONTAINER_TYPE *result - resultobj = _maybe_sized_cstring_result(resultobj, $1->START_ACCESSOR(), $1->SIZE_ACCESSOR(), int(result)); + resultobj = ARGOUT_MAYBE_CONVERTER(resultobj, $1->START_ACCESSOR(), $1->SIZE_ACCESSOR(), int(result)); } %typemap(argout) CONTAINER_TYPE &result { // bytes_container typemap(argout) CONTAINER_TYPE &result - resultobj = _maybe_sized_cstring_result(resultobj, $1->START_ACCESSOR(), $1->SIZE_ACCESSOR(), int(result)); + resultobj = ARGOUT_MAYBE_CONVERTER(resultobj, $1->START_ACCESSOR(), $1->SIZE_ACCESSOR(), int(result)); } %typemap(freearg) CONTAINER_TYPE* result { @@ -679,20 +825,18 @@ SWIGINTERN PyObject *_maybe_binary_result( %typemap(argout) (CONTAINER_TYPE *vout) { // bytes_container typemap(argout) (CONTAINER_TYPE *vout) - Py_XDECREF(resultobj); - resultobj = PyString_FromStringAndSize((const char *) $1->START_ACCESSOR(), $1->SIZE_ACCESSOR()); + resultobj = ARGOUT_CONVERTER(resultobj, (const char *) $1->START_ACCESSOR(), $1->SIZE_ACCESSOR()); } %typemap(argout) (CONTAINER_TYPE &vout) { // bytes_container typemap(argout) (CONTAINER_TYPE &vout) - Py_XDECREF(resultobj); - resultobj = PyString_FromStringAndSize((const char *) $1->START_ACCESSOR(), $1->SIZE_ACCESSOR()); + resultobj = ARGOUT_CONVERTER(resultobj, (const char *) $1->START_ACCESSOR(), $1->SIZE_ACCESSOR()); } %typemap(directorin) CONTAINER_TYPE * { // bytes_container typemap(directorin) CONTAINER_TYPE * if ( $1 != NULL ) { - $input = PyString_FromStringAndSize($1->START_ACCESSOR(), $1->SIZE_ACCESSOR()); + $input = OUT_CONVERTER($1->START_ACCESSOR(), $1->SIZE_ACCESSOR()); } else { @@ -702,25 +846,172 @@ SWIGINTERN PyObject *_maybe_binary_result( } %typemap(directorin) REFTYPE { // bytes_container typemap(directorin) REFTYPE - $input = PyString_FromStringAndSize($1.START_ACCESSOR(), $1.SIZE_ACCESSOR()); + $input = OUT_CONVERTER($1.START_ACCESSOR(), $1.SIZE_ACCESSOR()); } %enddef -%bytes_container(qstring *, qstring, c_str, length,); -%bytes_container(qstring &, qstring, c_str, length,); -%bytes_container(bytevec_t *, bytevec_t, begin, size,); -%bytes_container(bytevec_t &, bytevec_t, begin, size,); -%bytes_container(qtype *, qtype, begin, length, (const uchar *)); -%bytes_container(qtype &, qtype, begin, length, (const uchar *)); +%define %bytes_container_ptr_and_ref( + CONTAINER_TYPE, + START_ACCESSOR, + SIZE_ACCESSOR, + INSTANCE_CAST, + CHECKER, + IN_CONVERTER, + OUT_CONVERTER, + ARGOUT_CONVERTER, + ARGOUT_MAYBE_CONVERTER, + ELTYPE_TO_REPORT1, + ELTYPE_TO_REPORT2) +%bytes_container( + CONTAINER_TYPE *, + CONTAINER_TYPE, + START_ACCESSOR, + SIZE_ACCESSOR, + INSTANCE_CAST, + CHECKER, + IN_CONVERTER, + OUT_CONVERTER, + ARGOUT_CONVERTER, + ARGOUT_MAYBE_CONVERTER, + ELTYPE_TO_REPORT1, + ELTYPE_TO_REPORT2); +%bytes_container( + CONTAINER_TYPE &, + CONTAINER_TYPE, + START_ACCESSOR, + SIZE_ACCESSOR, + INSTANCE_CAST, + CHECKER, + IN_CONVERTER, + OUT_CONVERTER, + ARGOUT_CONVERTER, + ARGOUT_MAYBE_CONVERTER, + ELTYPE_TO_REPORT1, + ELTYPE_TO_REPORT2); +%enddef + + +#ifdef PY3 +%bytes_container_ptr_and_ref( + qstring, + c_str, + length, + , + IDAPyStr_Check, + IDAPyStr_AsUTF8, + IDAPyStr_FromUTF8AndSize, + _sized_cstring_result, + _maybe_sized_cstring_result, + "string", + "str"); +%bytes_container_ptr_and_ref( + bytevec_t, + begin, + size, + , + IDAPyBytes_Check, + IDAPyBytes_AsBytes, + IDAPyBytes_FromMemAndSize, + _sized_binary_result, + _maybe_sized_binary_result, + "bytes", + "bytes"); +%bytes_container_ptr_and_ref( + qtype, + begin, + length, + (const uchar *), + IDAPyBytes_Check, + IDAPyBytes_as_qtype, + IDAPyBytes_FromMemAndSize, + _sized_binary_result, + _maybe_sized_binary_result, + "bytes", + "bytes"); +#else +%bytes_container_ptr_and_ref( + qstring, + c_str, + length, + , + IDAPyStr_Check, + IDAPyStr_AsUTF8, + IDAPyStr_FromUTF8AndSize, + _sized_cstring_result, + _maybe_sized_cstring_result, + "string", + "str"); +%bytes_container_ptr_and_ref( + bytevec_t, + begin, + size, + , + IDAPyBytes_Check, + IDAPyBytes_AsBytes, + IDAPyBytes_FromMemAndSize, + _sized_binary_result, + _maybe_sized_binary_result, + "string", + "str"); +%bytes_container_ptr_and_ref( + qtype, + begin, + length, + (const uchar *), + IDAPyBytes_Check, + IDAPyBytes_as_qtype, + IDAPyBytes_FromMemAndSize, + _sized_binary_result, + _maybe_sized_binary_result, + "string", + "str"); +#endif + +//------------------------------------------------------------------------- +// insn_t +//------------------------------------------------------------------------- +%fragment("cvt_const_insn_t_ref", "header") +{ + bool convert_const_insn_t_ref(insn_t *out, PyObject *in) + { + uint64 ea; + bool ok = PyW_GetNumber(in, &ea); + if ( ok ) + { + insn_t tmp; + ok = decode_insn(&tmp, ea_t(ea)); + if ( ok ) + *out = tmp; + } + else + { + insn_t *p_insn = nullptr; + ok = SWIG_ConvertPtr(in, (void **) &p_insn, SWIGTYPE_p_insn_t, 0) >= 0 && p_insn != nullptr; + if ( ok ) + *out = *p_insn; + } + return ok; + } +} + +//------------------------------------------------------------------------- +%typemap(in, fragment="cvt_const_insn_t_ref") (const insn_t &) (insn_t lins) +{ + // %typemap(in) (const insn_t &) + if ( !convert_const_insn_t_ref(&lins, $input) ) + SWIG_exception_fail(SWIG_ValueError, "Expected either an address, or a non-null ida_ua.insn_t instance"); + $1 = &lins; +} //--------------------------------------------------------------------- // varargs (mostly kernwin.hpp) //--------------------------------------------------------------------- // This is used for functions like warning(), info() and so on -%typemap(in) (const char *format, ...) +%typemap(in) (const char *format, ...) (qstring buf) { $1 = "%s"; /* Fix format string to %s */ - $2 = (void *) PyString_AsString($input); /* Get string argument */ + IDAPyStr_AsUTF8(&buf, $input); /* Get string argument */ + $2 = (void *) buf.begin(); /* Note: we cannot rely on 'nonnul_argument_prototype' for */ /* these, since we fiddle with the arguments number */ if ( $2 == NULL ) @@ -776,6 +1067,35 @@ typedef long long longlong; %apply bool *OUTPUT { bool *checked }; %apply bool *OUTPUT { bool *visibility }; +//------------------------------------------------------------------------- +// 'errbuf' output handling can go many ways. Let's provide common helpers. +%define %make_argout_errbuf_raise_exception_when_non_empty() +%typemap(argout) (qstring *errbuf) +{ + // %typemap(argout) qstring *errbuf (from: %make_argout_errbuf_raise_exception_when_non_empty) + if ( !$1->empty() ) + { + if ( $result != NULL ) + Py_XDECREF($result); + SWIG_exception_fail(SWIG_RuntimeError, $1->c_str()); + } +} +%enddef + +%define %make_argout_errbuf_raise_when_null_result() +%typemap(argout) (qstring *errbuf) +{ + // %typemap(argout) qstring *errbuf (from: %make_argout_errbuf_raise_when_null_result) + if ( result == NULL ) + { + if ( $result != NULL ) + Py_XDECREF($result); + SWIG_exception_fail(SWIG_RuntimeError, $1->c_str()); + } +} +%enddef + + //------------------------------------------------------------------------- // The following is to be used to expose an array of items // to IDAPython. This will not make a copy (on purpose!). @@ -853,21 +1173,35 @@ struct dynamic_wrapped_array_t { } //------------------------------------------------------------------------- -#if SWIG_VERSION == 0x20012 +#if SWIG_VERSION == 0x40000 || SWIG_VERSION == 0x40001 %typemap(out) tinfo_t {} %typemap(ret) tinfo_t { - // ret tinfo_t + // %typemap(ret) tinfo_t tinfo_t *ni = new tinfo_t($1); til_register_python_tinfo_t_instance(ni); $result = SWIG_NewPointerObj(ni, $&1_descriptor, SWIG_POINTER_OWN | 0); } -%typemap(check) tinfo_t* +%typemap(check) tinfo_t * { + // %typemap(check) tinfo_t * if ( $1 == NULL ) SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "$symname" "', argument " "$argnum"" of type '" "$1_type""'"); } + +%typemap(out) tinfo_t * +{ + // %typemap(out) tinfo_t * + tinfo_t *ni = new tinfo_t(*$1); + til_register_python_tinfo_t_instance(ni); + $result = SWIG_NewPointerObj(ni, $1_descriptor, SWIG_POINTER_OWN | 0); +} + +%typemap(newfree) tinfo_t * { + // %typemap(newfree) tinfo_t * + delete $1; +} #else #error Ensure tinfo_t wrapping is compatible with this version of SWIG #endif @@ -885,6 +1219,42 @@ struct dynamic_wrapped_array_t { %apply (char *STRING, int LENGTH) { (const void *buf, size_t len) }; %apply (char *STRING, int LENGTH) { (const void *value, size_t length) }; %apply (char *STRING, int LENGTH) { (const void *dataptr,size_t len) }; +#ifdef PY3 +%define %const_pointer_and_size(PTRTYPE, BUFNAME, SIZENAME, STORAGE_TYPE, CONVERTER, LENGTH_GETTER) +%typemap(in) (const PTRTYPE *BUFNAME, size_t SIZENAME) (STORAGE_TYPE tmp) +{ + // typemap(in) (const PTRTYPE *BUFNAME, size_t SIZENAME) + if ( !CONVERTER(&tmp, $input) ) { + %argument_fail(SWIG_ERROR, "$type", $symname, $argnum); + } + $1 = %reinterpret_cast(tmp.begin(), $1_ltype); + $2 = %numeric_cast(tmp.LENGTH_GETTER(), $2_ltype); +} +%typemap(freearg) (const PTRTYPE *BUFNAME, size_t SIZENAME) +{ + // typemap(freearg) (const PTRTYPE *BUFNAME, size_t SIZENAME) +} +%enddef + +%define %const_void_pointer_and_size(PTRTYPE, BUFNAME, SIZENAME) + %typemap(typecheck, precedence=SWIG_TYPECHECK_POINTER) (const PTRTYPE *BUFNAME, size_t SIZENAME) + { // %typemap(typecheck, precedence=SWIG_TYPECHECK_POINTER) (const PTRTYPE *BUFNAME, size_t SIZENAME) + $1 = PyBytes_Check($input) ? 1 : 0; + } + %const_pointer_and_size(PTRTYPE, BUFNAME, SIZENAME, bytevec_t, IDAPyBytes_AsBytes, size) +%enddef + +%define %const_char_pointer_and_size(PTRTYPE, BUFNAME, SIZENAME) + %const_pointer_and_size(PTRTYPE, BUFNAME, SIZENAME, qstring, IDAPyStr_AsUTF8, length) +%enddef + +%const_void_pointer_and_size(void, buf, size); +%const_void_pointer_and_size(void, buf, bufsize); +%const_void_pointer_and_size(void, buf, len); +%const_void_pointer_and_size(void, value, length); +%const_void_pointer_and_size(void, dataptr, len); +%const_char_pointer_and_size(char, value, length); +#endif // Create wrapper classes for basic type arrays %array_class(uchar, uchar_array); @@ -904,31 +1274,41 @@ SWIGINTERN PyObject *qstrvec2pylist(const qstrvec_t &vec) size_t n = vec.size(); PyObject *py_list = PyList_New(n); for ( size_t i=0; i < n; ++i ) - PyList_SetItem( - py_list, - i, - PyString_FromStringAndSize(vec[i].c_str(), vec[i].length())); + PyList_SetItem(py_list, i, IDAPyStr_FromUTF8AndSize(vec[i].c_str(), vec[i].length())); return py_list; } %} -//--------------------------------------------------------------------- -%typemap(out) uint64 +//------------------------------------------------------------------------- +// When it comes to uint64, we have been typically very tolerant and +// accept negative values as if were logical to perform C-like numbers +// 'wrapping' in Python. It's not, but bw-compat imposes that we do. +%fragment("cvt_uint64", "header") { - // %typemap(out) uint64 - $result = PyLong_FromUnsignedLongLong((unsigned long long) $1); + int cvt_uint64(uint64 *out, PyObject *obj) + { + unsigned long long ull = PyLong_AsUnsignedLongLong(obj); + if ( PyErr_Occurred() ) + { + PyErr_Clear(); + long long ll = PyLong_AsLongLong(obj); + if ( PyErr_Occurred() ) + { + PyErr_Clear(); + return SWIG_OverflowError; + } + ull = (unsigned long long) ll; + } + *out = uint64(ull); + return SWIG_OK; + } } - -%typemap(in) uint64 +%typemap(in, fragment="cvt_uint64") uint64 (int ecode) { // %typemap(in) uint64 - uint64 $1_temp; - if ( !PyW_GetNumber($input, &$1_temp) ) - { - PyErr_SetString(PyExc_TypeError, "Expected an uint64 type"); - return NULL; - } - $1 = $1_temp; + ecode = cvt_uint64(&$1, $input); + if ( !SWIG_IsOK(ecode) ) + SWIG_exception_fail(SWIG_ArgError(ecode), "in method '$symname', argument $argnum of type $1_type"); } //------------------------------------------------------------------------- @@ -1166,9 +1546,10 @@ SWIGINTERN void __raise_de(const Swig::DirectorException &e) newref_t as_str(PyObject_Str(v)); if ( as_str != NULL ) { - qstring buf(e.getMessage()); - buf.append(" : "); - buf.append(PyString_AsString(as_str.o)); + qstring buf; + IDAPyStr_AsUTF8(&buf, as_str.o); + buf.insert(" : "); + buf.insert(e.getMessage()); PyErr_SetString(PyExc_RuntimeError, buf.c_str()); handled = true; } @@ -1202,6 +1583,8 @@ SWIGINTERN bool __chkreqidb() %} +%include + // If the module is 'pro', don't import pro.h, or the %include // at the beginning of pro.i won't have any effect. Same for all // modules. diff --git a/tools/docs/hrdoc.py b/tools/docs/hrdoc.py index 379f60f..e673fe9 100644 --- a/tools/docs/hrdoc.py +++ b/tools/docs/hrdoc.py @@ -123,7 +123,7 @@ def main(): import ida_pro try: ida_pro._BC695 - print("'ida_pro._BC695' exists. Please recompile with BC695=0 (see makefile). Bailing out.") + print("'ida_pro._BC695' exists. Please recompile with BC695 undefined (see makefile). Bailing out.") return -1 except: pass # ok diff --git a/tools/doxygen_utils.py b/tools/doxygen_utils.py index 79057e3..ee03ec2 100644 --- a/tools/doxygen_utils.py +++ b/tools/doxygen_utils.py @@ -8,7 +8,7 @@ def load_xml_for_module(xml_dir_path, module_name, or_dummy=True): for sfx in ["_8hpp", "_8h"]: xml_path = os.path.join(xml_dir_path, "%s%s.xml" % (module_name, sfx)) if os.path.isfile(xml_path): - with open(xml_path, "rb") as fin: + with open(xml_path) as fin: xml_tree = ET.fromstring(fin.read()) return xml_tree diff --git a/tools/doxygen_utils.pyc b/tools/doxygen_utils.pyc deleted file mode 100644 index 3af4c39..0000000 Binary files a/tools/doxygen_utils.pyc and /dev/null differ diff --git a/tools/dumpdoc.py b/tools/dumpdoc.py index 0231d42..d8f857d 100644 --- a/tools/dumpdoc.py +++ b/tools/dumpdoc.py @@ -2,143 +2,306 @@ import re import sys import inspect +import types + +if sys.version_info[0] == 3: + # for Python3, we always use the same pydoc module from Python3.5. this keeps the output consistent across different Python3 versions. + import imp + inspect = imp.load_source('inspect', os.path.join("tools", "inspect.py")) + pydoc = imp.load_source('pydoc', os.path.join("tools", "pydoc.py")) + +import inspect +import pydoc import idc -ignore_python_builtin_docs = [ - int.__doc__, - long.__doc__, - float.__doc__, - str.__doc__, - bool.__doc__, - dict.__doc__, - list.__doc__, - tuple.__doc__, -] +try: + from cStringIO import StringIO +except: + from io import StringIO -def dump_thing(f, label, thing, vec_info=None): - try: - doc = thing.__doc__ - if doc and not doc in ignore_python_builtin_docs: - doc_lines = doc.split("\n") - doc_lines = map(lambda l: "\t%s" % l, doc_lines) - if vec_info: - doc_lines = map(vec_info["process_line"], doc_lines) - f.write("%s:\n%s\n\n" % (label, "\n".join(doc_lines))) - except: - pass +ignore_types = (int, float, str, bool, dict, list, tuple, types.ModuleType) +TRANSLATED_MARKER = b"\xE2\x86\x97" -def lexicographical_compare(s0, s1): - if s0 < s1: - return -1 - elif s0 > s1: - return 1 - else: - return 0 +if sys.version_info.major < 3: + string_types = (str, unicode) + ignore_types = ignore_types + (long, types.NoneType) +else: + string_types = (str,) + ignore_types = ignore_types + (type(None),) + TRANSLATED_MARKER = TRANSLATED_MARKER.decode("UTF-8") ignore_names = [ - "weakref_proxy", - "thisown", - ("ida_nalt", "strpath_ids_array", "data"), - re.compile(".*dump_state$"), + "_IDCFUNC_CB_T", + "call_idc_func__", + "_BUTTONCB_T", + "_FORMCHGCB_T", + "__ask_form_callable", + "__open_form_callable", + "_notify_when_dispatcher", + "_make_badattr_property", + "long_type", + "cvar", + "__spec__", + "SourceFileLoader", + "__loader__", + "_make_badattr_property", + re.compile("_Swig.*"), + re.compile("_swig.*"), + "SWIG_PyInstanceMethod_New", + "svalvec_t", # aliased with intvec_t or longlongvec_t + "uvalvec_t", # aliased with uintvec_t or ulonglongvec_t + "eavec_t", # aliased with uvalvec_t ] -def should_ignore_name(namespace_name, name): + +def should_ignore_name(name): for ign in ignore_names: if isinstance(ign, tuple): - if ".".join(ign) == ".".join((namespace_name, name)): + if ".".join(ign) == name: return True - elif isinstance(ign, basestring): + elif isinstance(ign, string_types): if ign == name: return True else: - if ign.match(".".join((namespace_name, name))): + if ign.match(name): return True return False -def make_eavec_lines_processor(directives): - def f(l): - for tokens, replacement in directives: - for token in tokens: - l = l.replace(token, replacement) - return l - return f +def apply_translations(translations, input): + lines = input.split("\n") + out = [] + for l in lines: + for all_frm, dst, marker in translations: + assert(isinstance(all_frm, tuple)) + for frm in all_frm: + idx = l.find(frm) + if idx > -1: + # sys.stderr.write("SPOTTED '%s' in '%s', position %s\n" % (frm, l, idx)) + l = l[0:idx] + dst + l[idx+len(frm):] + if marker: + l += TRANSLATED_MARKER + # sys.stderr.write("ADDING '%s'\n" % l) + out.append(l) + return '\n'.join(out) -classes = { - "svalvec_t" : - { - "process_line" : make_eavec_lines_processor( - [ - (("<(int)>", "<(long long)>"), "<(signed-ea-like-numeric-type)>"), - (("qvector< int >", "qvector< long long >"), "qvector< signed-ea-like-numeric-type >"), - (("-> int &", "-> long long &"), "-> signed-ea-like-numeric-type &"), - (("-> int *", "-> long long *"), "-> signed-ea-like-numeric-type *"), - (("-> int const &", "-> long long const &"), "-> signed-ea-like-numeric-type &"), - ]) - }, - "uvalvec_t" : - { - "process_line" : make_eavec_lines_processor( - [ - (("<(unsigned int)>", "<(unsigned long long)>"), "<(unsigned-ea-like-numeric-type)>"), - (("qvector< unsigned int >", "qvector< unsigned long long >"), "qvector< unsigned-ea-like-numeric-type >"), - (("-> unsigned int &", "-> unsigned long long &"), "-> unsigned-ea-like-numeric-type &"), - (("-> unsigned int *", "-> unsigned long long *"), "-> unsigned-ea-like-numeric-type *"), - (("-> unsigned int const &", "-> unsigned long long const &"), "-> unsigned-ea-like-numeric-type &"), - ]) - }, - "uval_ivl_t" : { - "process_line" : make_eavec_lines_processor( - [ - (("-> unsigned int", "-> unsigned long long"), "-> unsigned-ea-like-numeric-type"), - ]) - }, - "uval_ivl_ivlset_t" : { - "process_line" : make_eavec_lines_processor( - [ - (("-> ivlset_tpl< ivl_t,unsigned int >", - "-> ivlset_tpl< ivl_t,unsigned long long >"), - "-> ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >"), - ]) - }, +all_specific_translations = { + "ida_hexrays.casm_t" : [ + (( + "uintvec_t", + "ulonglongvec_t" + ), "eavec_t", True), + (( + "unsigned int *", + "unsigned long long *" + ), "unsigned-ea-like-numeric-type *", True), + (( + "unsigned int &", + "unsigned long long &" + ), "unsigned-ea-like-numeric-type &", True), + (( + "unsigned int const &", + "unsigned long long const &" + ), "unsigned-ea-like-numeric-type const &", True), + (( + "qvector< unsigned int >::", + "qvector< unsigned long long >::" + ), "qvector< unsigned-ea-like-numeric-type >::", True), + ], + "ida_hexrays.ivl_t" : [ + (( + "uval_ivl_t_off_get(self) -> unsigned int", + "uval_ivl_t_off_get(self) -> unsigned long long", + ), "uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type", True), + (( + "uval_ivl_t_size_get(self) -> unsigned int", + "uval_ivl_t_size_get(self) -> unsigned long long", + ), "uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type", True), + (( + ") -> 'unsigned int'", + ") -> 'unsigned long long'", # py3 + ), ") -> 'unsigned-ea-like-numeric-type'", True), + (( + ") -> unsigned int", + ") -> unsigned long long", # py3 + ), ") -> unsigned-ea-like-numeric-type", True), + ], + "ida_hexrays.uval_ivl_t" : [ + (( + "uval_ivl_t_off_get(self) -> unsigned int", + "uval_ivl_t_off_get(self) -> unsigned long long", + ), "uval_ivl_t_off_get(self) -> unsigned-ea-like-numeric-type", True), + (( + "uval_ivl_t_size_get(self) -> unsigned int", + "uval_ivl_t_size_get(self) -> unsigned long long", + ), "uval_ivl_t_size_get(self) -> unsigned-ea-like-numeric-type", True), + (( + ") -> 'unsigned int'", + ") -> 'unsigned long long'", # py3 + ), ") -> 'unsigned-ea-like-numeric-type'", True), + (( + ") -> unsigned int", + ") -> unsigned long long", # py3 + ), ") -> unsigned-ea-like-numeric-type", True), + ], + "ida_hexrays.ivlset_t" : [ + (( + "ivlset_tpl< ivl_t,unsigned int >::", + "ivlset_tpl< ivl_t,unsigned long long >::", # py3 + ), "ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::", True), + ], + "ida_hexrays.uval_ivl_ivlset_t" : [ + (( + "ivlset_tpl< ivl_t,unsigned int >::", + "ivlset_tpl< ivl_t,unsigned long long >::", + ), "ivlset_tpl< ivl_t,unsigned-ea-like-numeric-type >::", True), + ], + "ida_nalt.strpath_ids_array" : [ + (( + "strpath_ids_array_data_get(self) -> unsigned int", + "strpath_ids_array_data_get(self) -> unsigned long long" + ), "strpath_ids_array_data_get(self) -> unsigned-ea-like-numeric-type", True), + # py3 + (( + "unsigned int const &", + "unsigned long long const &", + ), "unsigned-ea-like-numeric-type const &", True), + ], + "idc.add_func" : [ + (("add_func(start, end=4294967295)", + "add_func(start, end=4294967295L)", + "add_func(start, end=18446744073709551615)", # py3 + "add_func(start, end=18446744073709551615L)", + ), "add_func(start, end=BADADDR)", True), + ], + "idc.next_head" : [ + (("next_head(ea, maxea=4294967295)", + "next_head(ea, maxea=4294967295L)", + "next_head(ea, maxea=18446744073709551615)", # py3 + "next_head(ea, maxea=18446744073709551615L)", + ), "next_head(ea, maxea=BADADDR)", True), + ], + "ida_xref.casevec_t" : [ + (( + "qvector< int >", + "qvector< long long >", + ), "qvector< signed-ea-like-numeric-type >", True), + ], + + # all that follows is for py3 + "ida_dbg.dbg_bin_search" : [ + (( + "'uint32 *, qstring *'", + "'uint64 *, qstring *'", + ), "'unsigned-ea-like-numeric-type *, qstring *'", True), + ], + "ida_dbg.get_ip_val" : [ + (( + "'uint32 *'", + "'uint64 *'", + ), "'unsigned-ea-like-numeric-type *'", True), + ], + "ida_dbg.get_sp_val" : [ + (( + "'uint32 *'", + "'uint64 *'", + ), "'unsigned-ea-like-numeric-type *'", True), + ], + "ida_idp.ph_find_op_value" : [ + (( + "uint32", + "uint64", + ), "unsigned-ea-like-numeric-type", True), + ], + "ida_idp.ph_find_reg_value" : [ + (( + "uint32", + "uint64", + ), "unsigned-ea-like-numeric-type", True), + ], + "ida_hexrays.user_iflags_t" : [ + (( + "int([x]) -> integer", + ), "int(x=0) -> integer", False), + ], + "ida_hexrays.eamap_t" : [ + (( + "int([x]) -> integer", + ), "int(x=0) -> integer", False), + ], + "ida_hexrays.DecompilationFailure" : [ + (( + "Helper for pickle.", + ), "helper for pickle", False), + ], + "idc.DeprecatedIDCError" : [ + (( + "Helper for pickle.", + ), "helper for pickle", False), + ], } -classes["casevec_t"] = classes["svalvec_t"] -classes["eavec_t"] = classes["uvalvec_t"] -classes["casm_t"] = classes["eavec_t"] -classes["ivl_t"] = classes["uval_ivl_t"] -classes["ivlset_t"] = classes["uval_ivl_ivlset_t"] -def dump_namespace(f, namespace, namespace_name, keys, vec_info=None): +def dump_namespace(namespace, namespace_name, keys, vec_info=None): + spotted_things = [] for thing_name in keys: - if thing_name.startswith("_") and not thing_name in ["_print", "_free"]: - continue - if should_ignore_name(namespace_name, thing_name): + # sys.stderr.write("THING NAME: %s\n" % thing_name) + if should_ignore_name(thing_name): continue thing = getattr(namespace, thing_name) - if inspect.isclass(thing): - vec_info = classes.get(thing_name, None) - dump_thing(f, "class %s.%s()" % (namespace_name, thing_name), thing, vec_info) - members = map(lambda t: t[0], inspect.getmembers(thing)) - dump_namespace(f, thing, "%s.%s" % (namespace_name, thing_name), members, vec_info) - elif callable(thing): - dump_thing(f, "%s.%s()" % (namespace_name, thing_name), thing, vec_info) - elif not inspect.ismodule(thing): - dump_thing(f, "%s.%s" % (namespace_name, thing_name), thing, vec_info) + if isinstance(thing, ignore_types): + continue + if thing in spotted_things: + continue + specific_translations = all_specific_translations.get( + "%s.%s" % (namespace_name, thing_name), + None) + if specific_translations: + was_stdout = sys.stdout + sys.stdout = StringIO() + pydoc.help(thing) + # sys.stderr.write("VALUE FOR %s.%s: %s" % (namespace_name, thing_name, sys.stdout.getvalue())) + translated = apply_translations(specific_translations, sys.stdout.getvalue()) + # sys.stderr.write("TRANSLATED %s.%s: %s" % (namespace_name, thing_name, translated)) + sys.stdout = was_stdout + sys.stdout.write(translated) + else: + pydoc.help(thing) + spotted_things.append(thing) -output = idc.ARGV[1] -wrappers_dir = idc.ARGV[2] +output, wrappers_dir = idc.ARGV[1], idc.ARGV[2] + +# By default, pydoc.help() hides members that start with "_" +# unless they start and end with "__" (with an exception for +# __doc__ and __module__) +# We want those "_" members, since there are important +# things such as tinfo_t._print in there. +orig_visiblename = pydoc.visiblename +def my_visiblename(name, all=None, obj=None): + v = orig_visiblename(name, all=all, obj=obj) + if not v and name.startswith("_") and name not in ["__doc__", "__module__"]: + v = True + return v +pydoc.visiblename = my_visiblename + +sys.stdout = StringIO() +for mname in sorted(sys.modules): + if mname.startswith("ida_") or mname == "idc": + module = sys.modules[mname] + dump_namespace(module, mname, sorted(dir(module))) + epydoc_path = os.path.join(wrappers_dir, "%s.epydoc_injection" % mname) + if os.path.isfile(epydoc_path): + with open(epydoc_path) as epydoc_f: + epydoc_injections = epydoc_f.read() + epydoc_injections = epydoc_injections.strip() + if epydoc_injections: + print("=== %s EPYDOC INJECTIONS ===" % mname) + print(epydoc_injections) + print("=== %s EPYDOC INJECTIONS END ===" % mname) + +final = apply_translations([], sys.stdout.getvalue()) with open(output, "wb") as f: - for mname in sorted(sys.modules): - if mname.startswith("ida_") or mname == "idc": - module = sys.modules[mname] - dump_namespace(f, module, mname, sorted(dir(module))) - epydoc_path = os.path.join(wrappers_dir, "%s.epydoc_injection" % mname) - if os.path.isfile(epydoc_path): - with open(epydoc_path) as epydoc_f: - epydoc_injections = epydoc_f.read() - epydoc_injections = epydoc_injections.strip() - if epydoc_injections: - f.write("\n=== %s EPYDOC INJECTIONS ===\n" % mname) - f.write(epydoc_injections) - f.write("\n=== %s EPYDOC INJECTIONS END ===\n" % mname) + if sys.version_info.major <= 2: + f.write(final) + else: + f.write(final.encode("utf-8")) idaapi.qexit(0) diff --git a/tools/gen_idc_bc695.py b/tools/gen_idc_bc695.py index 57b9329..118470f 100644 --- a/tools/gen_idc_bc695.py +++ b/tools/gen_idc_bc695.py @@ -14,11 +14,11 @@ args = p.parse_args() import os -with open(args.idc, "r") as fin: +with open(args.idc) as fin: inlines = fin.readlines() # search for compat macros section, and remove uninteresting lines -for idx in xrange(len(inlines)): +for idx in range(len(inlines)): if inlines[idx].replace(" ", "").find("COMPATIBILITYMACROS") > -1: break assert(idx < len(inlines)) @@ -70,69 +70,70 @@ forbidden = [ "SegEnd", "SetSegmentType", "CleanupAppcall", + "DelUserInfo", ] -symbols_modules = { - "AF_ANORET" : "ida_ida", - "AF_ANORET" : "ida_ida", - "AF_CHKUNI" : "ida_ida", - "AF_DATOFF" : "ida_ida", - "AF_DOCODE" : "ida_ida", - "AF_DODATA" : "ida_ida", - "AF_FTAIL" : "ida_ida", - "AF_HFLIRT" : "ida_ida", - "AF_JUMPTBL" : "ida_ida", - "AF_PURDAT" : "ida_ida", - "AF_REGARG" : "ida_ida", - "AF_SIGCMT" : "ida_ida", - "AF_SIGMLT" : "ida_ida", - "AF_STKARG" : "ida_ida", - "AF_STRLIT" : "ida_ida", - "AF_TRFUNC" : "ida_ida", - "AF_VERSP" : "ida_ida", - "BADADDR" : "ida_idaapi", - "FF_UNUSED" : "ida_bytes", - "FIXUPF_CREATED" : "ida_fixup", - "FIXUPF_EXTDEF" : "ida_fixup", - "FIXUPF_REL" : "ida_fixup", - "FIXUPF_UNUSED" : "ida_fixup", - "FIXUP_OFF8" : "ida_fixup", - "GN_VISIBLE" : "ida_name", - "SEGMOD_KEEP" : "ida_segment", - "SEGMOD_KILL" : "ida_segment", - "SEGMOD_SILENT" : "ida_segment", - "SETPROC_IDB" : "ida_idp", - "SETPROC_LOADER" : "ida_idp", - "SETPROC_LOADER_NON_FATAL" : "ida_idp", - "STRF_AUTO" : "ida_ida", - "STRF_COMMENT" : "ida_ida", - "STRF_GEN" : "ida_ida", - "STRF_SAVECASE" : "ida_ida", - "STRF_SERIAL" : "ida_ida", - "STRTYPE_C" : "ida_nalt", - "STRTYPE_C_16" : "ida_nalt", - "STRTYPE_C_32" : "ida_nalt", - "STRTYPE_LEN2_16" : "ida_nalt", - "STRTYPE_LEN4_16" : "ida_nalt", - "STRTYPE_PASCAL" : "ida_nalt", - "STRTYPE_TERMCHR" : "ida_nalt", - "V695_REF_VHIGH" : "ida_nalt", - "V695_REF_VLOW" : "ida_nalt", - "error" : "ida_kernwin", - "warning" : "ida_kernwin", - "ask_str" : "ida_kernwin", - "ask_file" : "ida_kernwin", - "ask_addr" : "ida_kernwin", - "ask_long" : "ida_kernwin", - "is_mapped" : "ida_bytes", - "decode_insn" : "ida_ua", - "HIST_IDENT" : "ida_kernwin", -} +symbols_modules = [ + ("AF_ANORET", "ida_ida"), + ("AF_ANORET", "ida_ida"), + ("AF_CHKUNI", "ida_ida"), + ("AF_DATOFF", "ida_ida"), + ("AF_DOCODE", "ida_ida"), + ("AF_DODATA", "ida_ida"), + ("AF_FTAIL", "ida_ida"), + ("AF_HFLIRT", "ida_ida"), + ("AF_JUMPTBL", "ida_ida"), + ("AF_PURDAT", "ida_ida"), + ("AF_REGARG", "ida_ida"), + ("AF_SIGCMT", "ida_ida"), + ("AF_SIGMLT", "ida_ida"), + ("AF_STKARG", "ida_ida"), + ("AF_STRLIT", "ida_ida"), + ("AF_TRFUNC", "ida_ida"), + ("AF_VERSP", "ida_ida"), + ("BADADDR", "ida_idaapi"), + ("FF_UNUSED", "ida_bytes"), + ("FIXUPF_CREATED", "ida_fixup"), + ("FIXUPF_EXTDEF", "ida_fixup"), + ("FIXUPF_REL", "ida_fixup"), + ("FIXUPF_UNUSED", "ida_fixup"), + ("FIXUP_OFF8", "ida_fixup"), + ("GN_VISIBLE", "ida_name"), + ("SEGMOD_KEEP", "ida_segment"), + ("SEGMOD_KILL", "ida_segment"), + ("SEGMOD_SILENT", "ida_segment"), + ("SETPROC_IDB", "ida_idp"), + ("SETPROC_LOADER", "ida_idp"), + ("SETPROC_LOADER_NON_FATAL", "ida_idp"), + ("STRF_AUTO", "ida_ida"), + ("STRF_COMMENT", "ida_ida"), + ("STRF_GEN", "ida_ida"), + ("STRF_SAVECASE", "ida_ida"), + ("STRF_SERIAL", "ida_ida"), + ("STRTYPE_C", "ida_nalt"), + ("STRTYPE_C_16", "ida_nalt"), + ("STRTYPE_C_32", "ida_nalt"), + ("STRTYPE_LEN2_16", "ida_nalt"), + ("STRTYPE_LEN4_16", "ida_nalt"), + ("STRTYPE_PASCAL", "ida_nalt"), + ("STRTYPE_TERMCHR", "ida_nalt"), + ("V695_REF_VHIGH", "ida_nalt"), + ("V695_REF_VLOW", "ida_nalt"), + ("error", "ida_kernwin"), + ("warning", "ida_kernwin"), + ("ask_str", "ida_kernwin"), + ("ask_file", "ida_kernwin"), + ("ask_addr", "ida_kernwin"), + ("ask_long", "ida_kernwin"), + ("is_mapped", "ida_bytes"), + ("decode_insn", "ida_ua"), + ("HIST_IDENT", "ida_kernwin"), +] import re def maybe_qualify(s): last_idx = -1 - for sym, mod in symbols_modules.items(): + for sym, mod in symbols_modules: idx = s.find(sym) if idx > last_idx: s = s.replace(sym, "%s.%s" % (mod, sym)) @@ -170,7 +171,7 @@ funcall_pat = re.compile(r"#define\s+([a-zA-Z0-9_]*)\s*(\([^\)]*\))\s*(.*)") alias_pat = re.compile(r"#define\s+([a-zA-Z0-9_]*)\s*([a-zA-Z0-9_/\*\.]*)\s*$") with open(args.output, "w") as fout: fout.write("# Autogenerated on: %s\n\n" % time.strftime("%c")) - for mod in sorted(list(set(symbols_modules.values()))): + for mod in sorted(list(set(map(lambda tpl: tpl[1], symbols_modules)))): fout.write("import %s\n" % mod) fout.write("from idc import *\n\n") while len(inlines): diff --git a/tools/genhooks/gendoxycfg.py b/tools/genhooks/gendoxycfg.py index 19e8d9f..f19d859 100644 --- a/tools/genhooks/gendoxycfg.py +++ b/tools/genhooks/gendoxycfg.py @@ -8,8 +8,8 @@ p.add_argument("-o", "--output", required=True, dest="output", help="O p.add_argument("-I", "--includes", required=True) args = p.parse_args() -with open(args.input, "rb") as fin: - with open(args.output, "wb") as fout: +with open(args.input) as fin: + with open(args.output, "w") as fout: template = string.Template(fin.read()) kvps = { "INCLUDES" : " ".join(args.includes.split(",")), diff --git a/tools/genhooks/genhooks.py b/tools/genhooks/genhooks.py index e519679..30fb4ba 100644 --- a/tools/genhooks/genhooks.py +++ b/tools/genhooks/genhooks.py @@ -7,11 +7,7 @@ from __future__ import print_function # convoluted. Especially since it doesn't do that much. Perhaps a good # refactoring is in order? -import sys -major, minor, micro, _, _ = sys.version_info -if major < 2 or minor < 7: - raise Exception("Expected Python version 2.7.x, but got %s.%s.%s (from %s)" % (major, minor, micro, sys.executable)) - +import six from argparse import ArgumentParser p = ArgumentParser() @@ -35,7 +31,7 @@ def warn(msg): print("#### WARNING: %s" % msg) if args.recipe: - execfile(args.recipe) + exec(open(args.recipe).read()) else: recipe = {} @@ -194,7 +190,7 @@ def gen_methods(out): retbody = "return %s;" % rdata["default"] arg_strs = [] for p in (recipe_data["call_params"] if "call_params" in recipe_data else params[1:]): - if isinstance(p, basestring): + if isinstance(p, six.string_types): assert(p[0] == "@") synth_info = recipe["synthetic_params"][p] ptype = synth_info["type"] @@ -273,7 +269,7 @@ def gen_notifications(out): argstr = [] # arguments to pass to the call, minus those explicitly suppressed argstr_all = [] # all arguments for p in (recipe_data["call_params"] if "call_params" in recipe_data else params[1:]): - if isinstance(p, basestring): + if isinstance(p, six.string_types): assert(p[0] == "@") synth_info = recipe["synthetic_params"][p] ptype = synth_info["type"] @@ -425,8 +421,8 @@ def gen_safecall(out, class_name): """ % (class_name, class_name)) -with open(args.input, "rt") as fin: - with open(args.output, "wt") as fout: +with open(args.input) as fin: + with open(args.output, "w") as fout: for line in fin: fout.write(line) import re diff --git a/tools/genhooks/recipe_dbghooks.py b/tools/genhooks/recipe_dbghooks.py index e9a3318..702da00 100644 --- a/tools/genhooks/recipe_dbghooks.py +++ b/tools/genhooks/recipe_dbghooks.py @@ -161,5 +161,4 @@ recipe = { }, }, }, - } diff --git a/tools/genidaapi.py b/tools/genidaapi.py index bc9d5fb..7820028 100644 --- a/tools/genidaapi.py +++ b/tools/genidaapi.py @@ -15,8 +15,8 @@ parser.add_argument("-o", "--output", required=True) parser.add_argument("-m", "--modules", required=True) args = parser.parse_args() -with open(args.input, "rb") as fin: - with open(args.output, "wb") as fout: +with open(args.input) as fin: + with open(args.output, "w") as fout: template = string.Template(fin.read()) kvps = { "MODULES" : args.modules, diff --git a/tools/genswigheader.py b/tools/genswigheader.py index e3b86df..ed9d893 100644 --- a/tools/genswigheader.py +++ b/tools/genswigheader.py @@ -17,8 +17,8 @@ parser.add_argument("-m", "--modules", required=True) parser.add_argument("-s", "--sdk", required=True) args = parser.parse_args() -with open(args.input, "rb") as fin: - with open(args.output, "wb") as fout: +with open(args.input) as fin: + with open(args.output, "w") as fout: parts = [] def add_imports_from_dep(depname): @@ -42,4 +42,5 @@ with open(args.input, "rb") as fin: # Can't use string.Template here, because it's a nightmare # to use with a file that has many '$' is it. template = fin.read() - fout.write(template.replace("${ALL_IMPORTS}", "\n".join(parts))) + result = template.replace("${ALL_IMPORTS}", "\n".join(parts)) + fout.write(result) diff --git a/tools/inject_base_hooks_flags.py b/tools/inject_base_hooks_flags.py index eefd92d..0a6f95f 100644 --- a/tools/inject_base_hooks_flags.py +++ b/tools/inject_base_hooks_flags.py @@ -30,6 +30,6 @@ kvps = { "BASE_HOOKS_FLAGS" : "\n".join(decls) } -with open(args.output, "wt") as fout: +with open(args.output, "w") as fout: fout.write(template.substitute(kvps)) diff --git a/tools/inject_plfm.py b/tools/inject_plfm.py index 89d1c15..d74cfb9 100644 --- a/tools/inject_plfm.py +++ b/tools/inject_plfm.py @@ -37,6 +37,6 @@ kvps = { "PLFM_DECLS" : "\n".join(decls) } -with open(args.output, "wt") as fout: +with open(args.output, "w") as fout: fout.write(template.substitute(kvps)) diff --git a/tools/inject_pydoc.py b/tools/inject_pydoc.py index dfc7366..4161b4a 100644 --- a/tools/inject_pydoc.py +++ b/tools/inject_pydoc.py @@ -16,6 +16,7 @@ import os import re import textwrap import xml.etree.ElementTree as ET +import six try: from argparse import ArgumentParser @@ -23,9 +24,16 @@ except: print("Failed to import module 'argparse'. Upgrade to Python 2.7, copy argparse.py to this directory or try 'apt-get install python-argparse'") raise +mydir, _ = os.path.split(__file__) +if mydir not in sys.path: + sys.path.append(mydir) + +import wrapper_utils + parser = ArgumentParser() parser.add_argument("-i", "--input", required=True) -parser.add_argument("-w", "--wrapper", required=True) +parser.add_argument("-s", "--interface", required=True) +parser.add_argument("-w", "--cpp-wrapper", required=True) parser.add_argument("-o", "--output", required=True) parser.add_argument("-x", "--xml-doc-directory", required=True) parser.add_argument("-e", "--epydoc-injections", required=True) @@ -38,7 +46,8 @@ this_dir, _ = os.path.split(__file__) sys.path.append(this_dir) import doxygen_utils -DOCSTR_MARKER = '"""' +DOCSTR_MARKER = '"""' +DOCSTR_MARKER_START_RAW = 'r"""' def verb(msg): if args.verbose: @@ -60,12 +69,17 @@ def load_patches(args): return patches # -------------------------------------------------------------------------- -def split_oneliner_comments(lines): +def split_oneliner_comments_and_remove_property_docstrings(lines): out_lines = [] + pat = re.compile('(.*= property\(.*), doc=r""".*"""(\))') for line in lines: line = line.rstrip() + m = pat.match(line) + if m: + line = m.group(1) + m.group(2) + if line.startswith("#"): out_lines.append(line) continue @@ -74,22 +88,48 @@ def split_oneliner_comments(lines): out_lines.append("") continue - pfx = None - while line.find(DOCSTR_MARKER) > -1: - idx = line.find(DOCSTR_MARKER) - meat = line[0:idx] - try: - if len(meat.strip()) == 0: - pfx = meat + handled = False + if line.endswith(DOCSTR_MARKER): + emarker_idx = line.rfind(DOCSTR_MARKER) + if line.lstrip().startswith(DOCSTR_MARKER_START_RAW): + smarker = DOCSTR_MARKER_START_RAW + smarker_idx = line.find(DOCSTR_MARKER_START_RAW) + elif line.lstrip().startswith(DOCSTR_MARKER): + smarker = DOCSTR_MARKER + smarker_idx = line.find(DOCSTR_MARKER) + else: + smarker_idx = -1 + if smarker_idx > -1: + pfx = line[0:smarker_idx] + meat = line[smarker_idx+len(smarker):emarker_idx] + if len(meat.strip()): + out_lines.append(pfx + smarker) + out_lines.append(pfx + meat) out_lines.append(pfx + DOCSTR_MARKER) - else: - out_lines.append((pfx if pfx is not None else "") + meat) - out_lines.append((pfx if pfx is not None else "") + DOCSTR_MARKER) - except: - raise BaseException("Error at line: " + line) - line = line[idx + len(DOCSTR_MARKER):] - if len(line.strip()) > 0: - out_lines.append((pfx if pfx is not None else "") + line) + handled = True + if not handled: + out_lines.append(line) + # meat = line[0:idx] + + # pfx = None + # while line.find(DOCSTR_MARKER) > -1: + # idx = line.find(DOCSTR_MARKER) + # if idx > 0 and line[idx-1] == 'r': + # idx -= 1 + # meat = line[0:idx] + # # print("MEAT: '%s'" % meat) + # try: + # if len(meat.strip()) == 0: + # pfx = meat + # out_lines.append(pfx + DOCSTR_MARKER) + # else: + # out_lines.append((pfx if pfx is not None else "") + meat) + # out_lines.append((pfx if pfx is not None else "") + DOCSTR_MARKER) + # except: + # raise BaseException("Error at line: " + line) + # line = line[idx + len(DOCSTR_MARKER):] + # if len(line.strip()) > 0: + # out_lines.append((pfx if pfx is not None else "") + line) return out_lines # -------------------------------------------------------------------------- @@ -154,7 +194,7 @@ class collect_pydoc_t(object): def collect_fun(self, fun_name): collected = [] while len(self.lines) > 0: - line = next(self) + line = self.next() if self.state is self.S_IN_PYDOC: if line.startswith(self.PYDOC_END): self.state = self.S_UNKNOWN @@ -178,7 +218,7 @@ class collect_pydoc_t(object): def collect_method(self, cls, method_name): collected = [] while len(self.lines) > 0: - line = next(self) + line = self.next() if self.state is self.S_IN_PYDOC: if line.startswith(self.PYDOC_END): self.state = self.S_UNKNOWN @@ -200,7 +240,7 @@ class collect_pydoc_t(object): collected = [] cls = {"methods":{},"doc":None} while len(self.lines) > 0: - line = next(self) + line = self.next() if self.state is self.S_IN_PYDOC: if line.startswith(" def "): self.collect_method(cls, get_fun_name(line)) @@ -221,12 +261,12 @@ class collect_pydoc_t(object): def collect_file_pydoc(self, filename): self.state = self.S_UNKNOWN - with open(filename, "rt") as f: - self.lines = split_oneliner_comments(f.readlines()) + with open(filename) as f: + self.lines = split_oneliner_comments_and_remove_property_docstrings(f.readlines()) context = None doc = [] while len(self.lines) > 0: - line = next(self) + line = self.next() if self.state is self.S_UNKNOWN: if line.startswith(self.PYDOC_START): self.state = self.S_IN_PYDOC @@ -334,6 +374,7 @@ class base_doc_t: def append_lines(self, out): tmp = self.generate_lines() + # dbg("generate_lines() returned %s" % tmp) tmp = self.remove_empty_header_or_footer_lines(tmp) if tmp: out.extend(tmp) @@ -361,8 +402,12 @@ class fun_doc_t(base_doc_t): # collect params def add_param(name, ptyp, desc): - if name == "from": - name = "_from" # SWiG will rename 'from' to '_from' automatically, and we want to match that + # dbg("add_param(name=%s, ptyp=%s, desc=%s)" % (name, ptyp, desc)) + # SWiG will rename e.g., 'from' to '_from' automatically, and we want to match that + for candidate in ["from", "with"]: + if name == candidate: + name = "_%s" % name + # dbg("==> name='%s', swig_generated_param_names='%s'" % (name, swig_generated_param_names)) if name in swig_generated_param_names: self.params.append(ioarg_t(name, ptyp, desc)) doxygen_utils.for_each_param(node, add_param) @@ -419,7 +464,7 @@ class def_doc_t(base_doc_t): if self.detailed: out.extend(self.detailed) out = self.remove_empty_header_or_footer_lines(out) - return [DOCSTR_MARKER] + map(lambda s : s.replace('\\', '\\\\'), out) + [DOCSTR_MARKER] + return [DOCSTR_MARKER] + list(map(lambda s : s.replace('\\', '\\\\'), out)) + [DOCSTR_MARKER] # -------------------------------------------------------------------------- @@ -434,9 +479,10 @@ def collect_structured_fun_doc(node, swig_generated_param_names): class idaapi_fixer_t(object): lines = None - def __init__(self, collected_info, patches): + def __init__(self, collected_info, patches, cpp_wrapper_functions): self.collected_info = collected_info self.patches = patches + self.cpp_wrapper_functions = cpp_wrapper_functions # Since variables cannot have a docstring in Python, # but epydoc supports the syntax: # --- @@ -456,7 +502,7 @@ class idaapi_fixer_t(object): return line def copy(self, out): - line = next(self) + line = self.next() out.append(line) return line @@ -464,12 +510,16 @@ class idaapi_fixer_t(object): self.lines.insert(0, line) def get_fun_info(self, fun_name, swig_generated_param_names): + # dbg("idaapi_fixer_t.get_fun_info(fun_name=%s, swig_generated_param_names=%s)" % ( + # fun_name, + # str(list(swig_generated_param_names)))); fun_info = self.collected_info["funcs"].get(fun_name) if not fun_info: # def get_all_functions(xml_tree, name=None): fnodes = doxygen_utils.get_toplevel_functions(self.xml_tree, name=fun_name) nfnodes = len(fnodes) if nfnodes > 0: + # dbg("idaapi_fixer_t.get_fun_info: got doxygen information") if nfnodes > 1: print("Warning: more than 1 function doc found for '%s'; picking first" % fun_name) @@ -518,9 +568,37 @@ class idaapi_fixer_t(object): and idx_close_paren > idx_open_paren+1: clob = l[idx_open_paren+1:idx_close_paren] parts = clob.split(",") - return map(sanitize_param_name, parts) + return list(map(sanitize_param_name, parts)) return [] + def maybe_fix_swig_generated_docstring_prototype(self, fun_name, line): + forced_output_type = None + fdef = None + for _, one in six.iteritems(self.cpp_wrapper_functions): + if one.api_function_name == fun_name: + fdef = one + break + if fdef: + for l in fdef.contents: + for pattern, forced in [ + ("resultobj = _maybe_sized_cstring_result(", "str"), + ("resultobj = _maybe_cstring_result(", "str"), + ("resultobj = _maybe_binary_result(", "str"), + ("resultobj = _maybe_cstring_result_on_charptr_using_allocated_buf(", "str"), + ("resultobj = _maybe_cstring_result_on_charptr_using_qbuf(", "str"), + ("resultobj = _maybe_byte_array_as_hex_or_none_result(", "str"), + ("resultobj = _sized_cstring_result(", "str"), + ]: + if l.find(pattern) > -1: + assert(forced_output_type is None); + forced_output_type = forced + if forced_output_type: + splitter = " -> " + idx = line.find(splitter) + if idx > -1: + line = line[0:idx + len(splitter)] + forced_output_type + return line + def fix_fun(self, out, class_info=None): line = self.copy(out) fun_name = get_fun_name(line) @@ -530,9 +608,14 @@ class idaapi_fixer_t(object): if line.find(DOCSTR_MARKER) > -1: # Opening docstring line; determine indentation level indent = get_indent_string(line) + docstring_line_nr = 0 while True: - line = next(self) + line = self.next() + if docstring_line_nr == 0: + line = self.maybe_fix_swig_generated_docstring_prototype(fun_name, line) + if line.find(DOCSTR_MARKER) > -1: + # Closing docstring line swig_generated_param_names = self.extract_swig_generated_param_names(fun_name, out[doc_start_line_idx:]) if class_info is None: @@ -543,7 +626,7 @@ class idaapi_fixer_t(object): verb("fix_%s: found info for %s" % ( "method" if class_info else "fun", fun_name)); out.append("\n") - out.extend(map(lambda l: indent + l, found)) + out.extend(list(map(lambda l: indent + l, found))) # @@ -553,19 +636,20 @@ class idaapi_fixer_t(object): example = fun_patches.get("+example", None) if example: - ex_lines = map(lambda l: "Python> %s" % l, example.split("\n")) - out.extend(map(lambda l: indent + l, ["", "Example:"] + ex_lines)) + ex_lines = list(map(lambda l: "Python> %s" % l, example.split("\n"))) + out.extend(list(map(lambda l: indent + l, ["", "Example:"] + ex_lines))) repl_text = fun_patches.get("repl_text", None) if repl_text: from_text, to_text = repl_text - for i in xrange(doc_start_line_idx, len(out)): + for i in range(doc_start_line_idx, len(out)): out[i] = out[i].replace(from_text, to_text) out.append(line) break else: out.append(line) + docstring_line_nr += 1 def fix_method(self, class_info, out): return self.fix_fun(out, class_info) @@ -584,7 +668,7 @@ class idaapi_fixer_t(object): # If class has doc, maybe inject additional if line.find(DOCSTR_MARKER) > -1: while True: - line = next(self) + line = self.next() if line.find(DOCSTR_MARKER) > -1: doc = found["doc"] if doc is not None: @@ -600,7 +684,7 @@ class idaapi_fixer_t(object): # their docstring method_start = indent + "def " while True: - line = next(self) + line = self.next() # print "Fixing methods.. Line is '%s'" % line if line.startswith(indent) or line.strip() == "": if line.startswith(method_start): @@ -615,7 +699,7 @@ class idaapi_fixer_t(object): def fix_assignment(self, out, match): # out.append("LOL: %s" % match.group(1)) line = self.copy(out) - line = next(self) + line = self.next() if not line.startswith(DOCSTR_MARKER): # apparently no epydoc-compliant docstring follows. Let's # look for a possible match in the xml doc. @@ -633,12 +717,12 @@ class idaapi_fixer_t(object): def fix_file(self, args): input_path, xml_dir_path, out_path = args.input, args.xml_doc_directory, args.output - with open(input_path, "rt") as f: - self.lines = split_oneliner_comments(f.readlines()) + with open(input_path) as f: + self.lines = split_oneliner_comments_and_remove_property_docstrings(f.readlines()) self.xml_tree = doxygen_utils.load_xml_for_module(xml_dir_path, args.module) out = [] while len(self.lines) > 0: - line = next(self) + line = self.next() if line.startswith("def "): self.push_front(line) self.fix_fun(out) @@ -652,16 +736,18 @@ class idaapi_fixer_t(object): self.fix_assignment(out, m) else: out.append(line) - with open(out_path, "wt") as o: + with open(out_path, "w") as o: o.write("\n".join(out)) # -------------------------------------------------------------------------- patches = load_patches(args) -collecter = collect_pydoc_t(args.wrapper) +collecter = collect_pydoc_t(args.interface) collected = collecter.collect() -fixer = idaapi_fixer_t(collected, patches) +parser = wrapper_utils.cpp_wrapper_file_parser_t(args) +cpp_wrapper_functions = parser.parse(args.cpp_wrapper) +fixer = idaapi_fixer_t(collected, patches, cpp_wrapper_functions) fixer.fix_file(args) -with open(args.epydoc_injections, "wb") as fout: +with open(args.epydoc_injections, "w") as fout: for key in sorted(fixer.epydoc_injections.keys()): fout.write("\n\nida_%s.%s\n" % (args.module, key)) fout.write("\n".join(fixer.epydoc_injections[key])) diff --git a/tools/inspect.py b/tools/inspect.py new file mode 100644 index 0000000..e830eb6 --- /dev/null +++ b/tools/inspect.py @@ -0,0 +1,3049 @@ +"""Get useful information from live Python objects. + +This module encapsulates the interface provided by the internal special +attributes (co_*, im_*, tb_*, etc.) in a friendlier fashion. +It also provides some help for examining source code and class layout. + +Here are some of the useful functions provided by this module: + + ismodule(), isclass(), ismethod(), isfunction(), isgeneratorfunction(), + isgenerator(), istraceback(), isframe(), iscode(), isbuiltin(), + isroutine() - check object types + getmembers() - get members of an object that satisfy a given condition + + getfile(), getsourcefile(), getsource() - find an object's source code + getdoc(), getcomments() - get documentation on an object + getmodule() - determine the module that an object came from + getclasstree() - arrange classes so as to represent their hierarchy + + getargspec(), getargvalues(), getcallargs() - get info about function arguments + getfullargspec() - same, with support for Python 3 features + formatargspec(), formatargvalues() - format an argument spec + getouterframes(), getinnerframes() - get info about frames + currentframe() - get the current stack frame + stack(), trace() - get info about frames on the stack or in a traceback + + signature() - get a Signature object for the callable +""" + +# This module is in the public domain. No warranties. + +__author__ = ('Ka-Ping Yee ', + 'Yury Selivanov ') + +import ast +import dis +import collections.abc +import enum +import importlib.machinery +import itertools +import linecache +import os +import re +import sys +import tokenize +import token +import types +import warnings +import functools +import builtins +from operator import attrgetter +from collections import namedtuple, OrderedDict + +# Create constants for the compiler flags in Include/code.h +# We try to get them from dis to avoid duplication +mod_dict = globals() +for k, v in dis.COMPILER_FLAG_NAMES.items(): + mod_dict["CO_" + v] = k + +# See Include/object.h +TPFLAGS_IS_ABSTRACT = 1 << 20 + +# ----------------------------------------------------------- type-checking +def ismodule(object): + """Return true if the object is a module. + + Module objects provide these attributes: + __cached__ pathname to byte compiled file + __doc__ documentation string + __file__ filename (missing for built-in modules)""" + return isinstance(object, types.ModuleType) + +def isclass(object): + """Return true if the object is a class. + + Class objects provide these attributes: + __doc__ documentation string + __module__ name of module in which this class was defined""" + return isinstance(object, type) + +def ismethod(object): + """Return true if the object is an instance method. + + Instance method objects provide these attributes: + __doc__ documentation string + __name__ name with which this method was defined + __func__ function object containing implementation of method + __self__ instance to which this method is bound""" + return isinstance(object, types.MethodType) + +def ismethoddescriptor(object): + """Return true if the object is a method descriptor. + + But not if ismethod() or isclass() or isfunction() are true. + + This is new in Python 2.2, and, for example, is true of int.__add__. + An object passing this test has a __get__ attribute but not a __set__ + attribute, but beyond that the set of attributes varies. __name__ is + usually sensible, and __doc__ often is. + + Methods implemented via descriptors that also pass one of the other + tests return false from the ismethoddescriptor() test, simply because + the other tests promise more -- you can, e.g., count on having the + __func__ attribute (etc) when an object passes ismethod().""" + if isclass(object) or ismethod(object) or isfunction(object): + # mutual exclusion + return False + tp = type(object) + return hasattr(tp, "__get__") and not hasattr(tp, "__set__") + +def isdatadescriptor(object): + """Return true if the object is a data descriptor. + + Data descriptors have both a __get__ and a __set__ attribute. Examples are + properties (defined in Python) and getsets and members (defined in C). + Typically, data descriptors will also have __name__ and __doc__ attributes + (properties, getsets, and members have both of these attributes), but this + is not guaranteed.""" + if isclass(object) or ismethod(object) or isfunction(object): + # mutual exclusion + return False + tp = type(object) + return hasattr(tp, "__set__") and hasattr(tp, "__get__") + +if hasattr(types, 'MemberDescriptorType'): + # CPython and equivalent + def ismemberdescriptor(object): + """Return true if the object is a member descriptor. + + Member descriptors are specialized descriptors defined in extension + modules.""" + return isinstance(object, types.MemberDescriptorType) +else: + # Other implementations + def ismemberdescriptor(object): + """Return true if the object is a member descriptor. + + Member descriptors are specialized descriptors defined in extension + modules.""" + return False + +if hasattr(types, 'GetSetDescriptorType'): + # CPython and equivalent + def isgetsetdescriptor(object): + """Return true if the object is a getset descriptor. + + getset descriptors are specialized descriptors defined in extension + modules.""" + return isinstance(object, types.GetSetDescriptorType) +else: + # Other implementations + def isgetsetdescriptor(object): + """Return true if the object is a getset descriptor. + + getset descriptors are specialized descriptors defined in extension + modules.""" + return False + +def isfunction(object): + """Return true if the object is a user-defined function. + + Function objects provide these attributes: + __doc__ documentation string + __name__ name with which this function was defined + __code__ code object containing compiled function bytecode + __defaults__ tuple of any default values for arguments + __globals__ global namespace in which this function was defined + __annotations__ dict of parameter annotations + __kwdefaults__ dict of keyword only parameters with defaults""" + return isinstance(object, types.FunctionType) + +def isgeneratorfunction(object): + """Return true if the object is a user-defined generator function. + + Generator function objects provides same attributes as functions. + + See help(isfunction) for attributes listing.""" + return bool((isfunction(object) or ismethod(object)) and + object.__code__.co_flags & CO_GENERATOR) + +def iscoroutinefunction(object): + """Return true if the object is a coroutine function. + + Coroutine functions are defined with "async def" syntax, + or generators decorated with "types.coroutine". + """ + return bool((isfunction(object) or ismethod(object)) and + object.__code__.co_flags & CO_COROUTINE) + +def isgenerator(object): + """Return true if the object is a generator. + + Generator objects provide these attributes: + __iter__ defined to support iteration over container + close raises a new GeneratorExit exception inside the + generator to terminate the iteration + gi_code code object + gi_frame frame object or possibly None once the generator has + been exhausted + gi_running set to 1 when generator is executing, 0 otherwise + next return the next item from the container + send resumes the generator and "sends" a value that becomes + the result of the current yield-expression + throw used to raise an exception inside the generator""" + return isinstance(object, types.GeneratorType) + +def iscoroutine(object): + """Return true if the object is a coroutine.""" + return isinstance(object, types.CoroutineType) + +def isawaitable(object): + """Return true is object can be passed to an ``await`` expression.""" + return (isinstance(object, types.CoroutineType) or + isinstance(object, types.GeneratorType) and + object.gi_code.co_flags & CO_ITERABLE_COROUTINE or + isinstance(object, collections.abc.Awaitable)) + +def istraceback(object): + """Return true if the object is a traceback. + + Traceback objects provide these attributes: + tb_frame frame object at this level + tb_lasti index of last attempted instruction in bytecode + tb_lineno current line number in Python source code + tb_next next inner traceback object (called by this level)""" + return isinstance(object, types.TracebackType) + +def isframe(object): + """Return true if the object is a frame object. + + Frame objects provide these attributes: + f_back next outer frame object (this frame's caller) + f_builtins built-in namespace seen by this frame + f_code code object being executed in this frame + f_globals global namespace seen by this frame + f_lasti index of last attempted instruction in bytecode + f_lineno current line number in Python source code + f_locals local namespace seen by this frame + f_trace tracing function for this frame, or None""" + return isinstance(object, types.FrameType) + +def iscode(object): + """Return true if the object is a code object. + + Code objects provide these attributes: + co_argcount number of arguments (not including * or ** args) + co_code string of raw compiled bytecode + co_consts tuple of constants used in the bytecode + co_filename name of file in which this code object was created + co_firstlineno number of first line in Python source code + co_flags bitmap: 1=optimized | 2=newlocals | 4=*arg | 8=**arg + co_lnotab encoded mapping of line numbers to bytecode indices + co_name name with which this code object was defined + co_names tuple of names of local variables + co_nlocals number of local variables + co_stacksize virtual machine stack space required + co_varnames tuple of names of arguments and local variables""" + return isinstance(object, types.CodeType) + +def isbuiltin(object): + """Return true if the object is a built-in function or method. + + Built-in functions and methods provide these attributes: + __doc__ documentation string + __name__ original name of this function or method + __self__ instance to which a method is bound, or None""" + return isinstance(object, types.BuiltinFunctionType) + +def isroutine(object): + """Return true if the object is any kind of function or method.""" + return (isbuiltin(object) + or isfunction(object) + or ismethod(object) + or ismethoddescriptor(object)) + +def isabstract(object): + """Return true if the object is an abstract base class (ABC).""" + return bool(isinstance(object, type) and object.__flags__ & TPFLAGS_IS_ABSTRACT) + +def getmembers(object, predicate=None): + """Return all members of an object as (name, value) pairs sorted by name. + Optionally, only return members that satisfy a given predicate.""" + if isclass(object): + mro = (object,) + getmro(object) + else: + mro = () + results = [] + processed = set() + names = dir(object) + # :dd any DynamicClassAttributes to the list of names if object is a class; + # this may result in duplicate entries if, for example, a virtual + # attribute with the same name as a DynamicClassAttribute exists + try: + for base in object.__bases__: + for k, v in base.__dict__.items(): + if isinstance(v, types.DynamicClassAttribute): + names.append(k) + except AttributeError: + pass + for key in names: + # First try to get the value via getattr. Some descriptors don't + # like calling their __get__ (see bug #1785), so fall back to + # looking in the __dict__. + try: + value = getattr(object, key) + # handle the duplicate key + if key in processed: + raise AttributeError + except AttributeError: + for base in mro: + if key in base.__dict__: + value = base.__dict__[key] + break + else: + # could be a (currently) missing slot member, or a buggy + # __dir__; discard and move on + continue + if not predicate or predicate(value): + results.append((key, value)) + processed.add(key) + results.sort(key=lambda pair: pair[0]) + return results + +Attribute = namedtuple('Attribute', 'name kind defining_class object') + +def classify_class_attrs(cls): + """Return list of attribute-descriptor tuples. + + For each name in dir(cls), the return list contains a 4-tuple + with these elements: + + 0. The name (a string). + + 1. The kind of attribute this is, one of these strings: + 'class method' created via classmethod() + 'static method' created via staticmethod() + 'property' created via property() + 'method' any other flavor of method or descriptor + 'data' not a method + + 2. The class which defined this attribute (a class). + + 3. The object as obtained by calling getattr; if this fails, or if the + resulting object does not live anywhere in the class' mro (including + metaclasses) then the object is looked up in the defining class's + dict (found by walking the mro). + + If one of the items in dir(cls) is stored in the metaclass it will now + be discovered and not have None be listed as the class in which it was + defined. Any items whose home class cannot be discovered are skipped. + """ + + mro = getmro(cls) + metamro = getmro(type(cls)) # for attributes stored in the metaclass + metamro = tuple([cls for cls in metamro if cls not in (type, object)]) + class_bases = (cls,) + mro + all_bases = class_bases + metamro + names = dir(cls) + # :dd any DynamicClassAttributes to the list of names; + # this may result in duplicate entries if, for example, a virtual + # attribute with the same name as a DynamicClassAttribute exists. + for base in mro: + for k, v in base.__dict__.items(): + if isinstance(v, types.DynamicClassAttribute): + names.append(k) + result = [] + processed = set() + + for name in names: + # Get the object associated with the name, and where it was defined. + # Normal objects will be looked up with both getattr and directly in + # its class' dict (in case getattr fails [bug #1785], and also to look + # for a docstring). + # For DynamicClassAttributes on the second pass we only look in the + # class's dict. + # + # Getting an obj from the __dict__ sometimes reveals more than + # using getattr. Static and class methods are dramatic examples. + homecls = None + get_obj = None + dict_obj = None + if name not in processed: + try: + if name == '__dict__': + raise Exception("__dict__ is special, don't want the proxy") + get_obj = getattr(cls, name) + except Exception as exc: + pass + else: + homecls = getattr(get_obj, "__objclass__", homecls) + if homecls not in class_bases: + # if the resulting object does not live somewhere in the + # mro, drop it and search the mro manually + homecls = None + last_cls = None + # first look in the classes + for srch_cls in class_bases: + srch_obj = getattr(srch_cls, name, None) + if srch_obj is get_obj: + last_cls = srch_cls + # then check the metaclasses + for srch_cls in metamro: + try: + srch_obj = srch_cls.__getattr__(cls, name) + except AttributeError: + continue + if srch_obj is get_obj: + last_cls = srch_cls + if last_cls is not None: + homecls = last_cls + for base in all_bases: + if name in base.__dict__: + dict_obj = base.__dict__[name] + if homecls not in metamro: + homecls = base + break + if homecls is None: + # unable to locate the attribute anywhere, most likely due to + # buggy custom __dir__; discard and move on + continue + obj = get_obj if get_obj is not None else dict_obj + # Classify the object or its descriptor. + if isinstance(dict_obj, staticmethod): + kind = "static method" + obj = dict_obj + elif isinstance(dict_obj, classmethod): + kind = "class method" + obj = dict_obj + elif isinstance(dict_obj, property): + kind = "property" + obj = dict_obj + elif isroutine(obj): + kind = "method" + else: + kind = "data" + result.append(Attribute(name, kind, homecls, obj)) + processed.add(name) + return result + +# ----------------------------------------------------------- class helpers + +def getmro(cls): + "Return tuple of base classes (including cls) in method resolution order." + return cls.__mro__ + +# -------------------------------------------------------- function helpers + +def unwrap(func, *, stop=None): + """Get the object wrapped by *func*. + + Follows the chain of :attr:`__wrapped__` attributes returning the last + object in the chain. + + *stop* is an optional callback accepting an object in the wrapper chain + as its sole argument that allows the unwrapping to be terminated early if + the callback returns a true value. If the callback never returns a true + value, the last object in the chain is returned as usual. For example, + :func:`signature` uses this to stop unwrapping if any object in the + chain has a ``__signature__`` attribute defined. + + :exc:`ValueError` is raised if a cycle is encountered. + + """ + if stop is None: + def _is_wrapper(f): + return hasattr(f, '__wrapped__') + else: + def _is_wrapper(f): + return hasattr(f, '__wrapped__') and not stop(f) + f = func # remember the original func for error reporting + memo = {id(f)} # Memoise by id to tolerate non-hashable objects + while _is_wrapper(func): + func = func.__wrapped__ + id_func = id(func) + if id_func in memo: + raise ValueError('wrapper loop when unwrapping {!r}'.format(f)) + memo.add(id_func) + return func + +# -------------------------------------------------- source code extraction +def indentsize(line): + """Return the indent size, in spaces, at the start of a line of text.""" + expline = line.expandtabs() + return len(expline) - len(expline.lstrip()) + +def _findclass(func): + cls = sys.modules.get(func.__module__) + if cls is None: + return None + for name in func.__qualname__.split('.')[:-1]: + cls = getattr(cls, name) + if not isclass(cls): + return None + return cls + +def _finddoc(obj): + if isclass(obj): + for base in obj.__mro__: + if base is not object: + try: + doc = base.__doc__ + except AttributeError: + continue + if doc is not None: + return doc + return None + + if ismethod(obj): + name = obj.__func__.__name__ + self = obj.__self__ + if (isclass(self) and + getattr(getattr(self, name, None), '__func__') is obj.__func__): + # classmethod + cls = self + else: + cls = self.__class__ + elif isfunction(obj): + name = obj.__name__ + cls = _findclass(obj) + if cls is None or getattr(cls, name) is not obj: + return None + elif isbuiltin(obj): + name = obj.__name__ + self = obj.__self__ + if (isclass(self) and + self.__qualname__ + '.' + name == obj.__qualname__): + # classmethod + cls = self + else: + cls = self.__class__ + # Should be tested before isdatadescriptor(). + elif isinstance(obj, property): + func = obj.fget + name = func.__name__ + cls = _findclass(func) + if cls is None or getattr(cls, name) is not obj: + return None + elif ismethoddescriptor(obj) or isdatadescriptor(obj): + name = obj.__name__ + cls = obj.__objclass__ + if getattr(cls, name) is not obj: + return None + else: + return None + + for base in cls.__mro__: + try: + doc = getattr(base, name).__doc__ + except AttributeError: + continue + if doc is not None: + return doc + return None + +def getdoc(object): + """Get the documentation string for an object. + + All tabs are expanded to spaces. To clean up docstrings that are + indented to line up with blocks of code, any whitespace than can be + uniformly removed from the second line onwards is removed.""" + try: + doc = object.__doc__ + except AttributeError: + return None + if doc is None: + try: + doc = _finddoc(object) + except (AttributeError, TypeError): + return None + if not isinstance(doc, str): + return None + return cleandoc(doc) + +def cleandoc(doc): + """Clean up indentation from docstrings. + + Any whitespace that can be uniformly removed from the second line + onwards is removed.""" + try: + lines = doc.expandtabs().split('\n') + except UnicodeError: + return None + else: + # Find minimum indentation of any non-blank lines after first line. + margin = sys.maxsize + for line in lines[1:]: + content = len(line.lstrip()) + if content: + indent = len(line) - content + margin = min(margin, indent) + # Remove indentation. + if lines: + lines[0] = lines[0].lstrip() + if margin < sys.maxsize: + for i in range(1, len(lines)): lines[i] = lines[i][margin:] + # Remove any trailing or leading blank lines. + while lines and not lines[-1]: + lines.pop() + while lines and not lines[0]: + lines.pop(0) + return '\n'.join(lines) + +def getfile(object): + """Work out which source or compiled file an object was defined in.""" + if ismodule(object): + if hasattr(object, '__file__'): + return object.__file__ + raise TypeError('{!r} is a built-in module'.format(object)) + if isclass(object): + if hasattr(object, '__module__'): + object = sys.modules.get(object.__module__) + if hasattr(object, '__file__'): + return object.__file__ + raise TypeError('{!r} is a built-in class'.format(object)) + if ismethod(object): + object = object.__func__ + if isfunction(object): + object = object.__code__ + if istraceback(object): + object = object.tb_frame + if isframe(object): + object = object.f_code + if iscode(object): + return object.co_filename + raise TypeError('{!r} is not a module, class, method, ' + 'function, traceback, frame, or code object'.format(object)) + +ModuleInfo = namedtuple('ModuleInfo', 'name suffix mode module_type') + +def getmoduleinfo(path): + """Get the module name, suffix, mode, and module type for a given file.""" + warnings.warn('inspect.getmoduleinfo() is deprecated', DeprecationWarning, + 2) + with warnings.catch_warnings(): + warnings.simplefilter('ignore', PendingDeprecationWarning) + import imp + filename = os.path.basename(path) + suffixes = [(-len(suffix), suffix, mode, mtype) + for suffix, mode, mtype in imp.get_suffixes()] + suffixes.sort() # try longest suffixes first, in case they overlap + for neglen, suffix, mode, mtype in suffixes: + if filename[neglen:] == suffix: + return ModuleInfo(filename[:neglen], suffix, mode, mtype) + +def getmodulename(path): + """Return the module name for a given file, or None.""" + fname = os.path.basename(path) + # Check for paths that look like an actual module file + suffixes = [(-len(suffix), suffix) + for suffix in importlib.machinery.all_suffixes()] + suffixes.sort() # try longest suffixes first, in case they overlap + for neglen, suffix in suffixes: + if fname.endswith(suffix): + return fname[:neglen] + return None + +def getsourcefile(object): + """Return the filename that can be used to locate an object's source. + Return None if no way can be identified to get the source. + """ + filename = getfile(object) + all_bytecode_suffixes = importlib.machinery.DEBUG_BYTECODE_SUFFIXES[:] + all_bytecode_suffixes += importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES[:] + if any(filename.endswith(s) for s in all_bytecode_suffixes): + filename = (os.path.splitext(filename)[0] + + importlib.machinery.SOURCE_SUFFIXES[0]) + elif any(filename.endswith(s) for s in + importlib.machinery.EXTENSION_SUFFIXES): + return None + if os.path.exists(filename): + return filename + # only return a non-existent filename if the module has a PEP 302 loader + if getattr(getmodule(object, filename), '__loader__', None) is not None: + return filename + # or it is in the linecache + if filename in linecache.cache: + return filename + +def getabsfile(object, _filename=None): + """Return an absolute path to the source or compiled file for an object. + + The idea is for each object to have a unique origin, so this routine + normalizes the result as much as possible.""" + if _filename is None: + _filename = getsourcefile(object) or getfile(object) + return os.path.normcase(os.path.abspath(_filename)) + +modulesbyfile = {} +_filesbymodname = {} + +def getmodule(object, _filename=None): + """Return the module an object was defined in, or None if not found.""" + if ismodule(object): + return object + if hasattr(object, '__module__'): + return sys.modules.get(object.__module__) + # Try the filename to modulename cache + if _filename is not None and _filename in modulesbyfile: + return sys.modules.get(modulesbyfile[_filename]) + # Try the cache again with the absolute file name + try: + file = getabsfile(object, _filename) + except TypeError: + return None + if file in modulesbyfile: + return sys.modules.get(modulesbyfile[file]) + # Update the filename to module name cache and check yet again + # Copy sys.modules in order to cope with changes while iterating + for modname, module in list(sys.modules.items()): + if ismodule(module) and hasattr(module, '__file__'): + f = module.__file__ + if f == _filesbymodname.get(modname, None): + # Have already mapped this module, so skip it + continue + _filesbymodname[modname] = f + f = getabsfile(module) + # Always map to the name the module knows itself by + modulesbyfile[f] = modulesbyfile[ + os.path.realpath(f)] = module.__name__ + if file in modulesbyfile: + return sys.modules.get(modulesbyfile[file]) + # Check the main module + main = sys.modules['__main__'] + if not hasattr(object, '__name__'): + return None + if hasattr(main, object.__name__): + mainobject = getattr(main, object.__name__) + if mainobject is object: + return main + # Check builtins + builtin = sys.modules['builtins'] + if hasattr(builtin, object.__name__): + builtinobject = getattr(builtin, object.__name__) + if builtinobject is object: + return builtin + +def findsource(object): + """Return the entire source file and starting line number for an object. + + The argument may be a module, class, method, function, traceback, frame, + or code object. The source code is returned as a list of all the lines + in the file and the line number indexes a line in that list. An OSError + is raised if the source code cannot be retrieved.""" + + file = getsourcefile(object) + if file: + # Invalidate cache if needed. + linecache.checkcache(file) + else: + file = getfile(object) + # Allow filenames in form of "" to pass through. + # `doctest` monkeypatches `linecache` module to enable + # inspection, so let `linecache.getlines` to be called. + if not (file.startswith('<') and file.endswith('>')): + raise OSError('source code not available') + + module = getmodule(object, file) + if module: + lines = linecache.getlines(file, module.__dict__) + else: + lines = linecache.getlines(file) + if not lines: + raise OSError('could not get source code') + + if ismodule(object): + return lines, 0 + + if isclass(object): + name = object.__name__ + pat = re.compile(r'^(\s*)class\s*' + name + r'\b') + # make some effort to find the best matching class definition: + # use the one with the least indentation, which is the one + # that's most probably not inside a function definition. + candidates = [] + for i in range(len(lines)): + match = pat.match(lines[i]) + if match: + # if it's at toplevel, it's already the best one + if lines[i][0] == 'c': + return lines, i + # else add whitespace to candidate list + candidates.append((match.group(1), i)) + if candidates: + # this will sort by whitespace, and by line number, + # less whitespace first + candidates.sort() + return lines, candidates[0][1] + else: + raise OSError('could not find class definition') + + if ismethod(object): + object = object.__func__ + if isfunction(object): + object = object.__code__ + if istraceback(object): + object = object.tb_frame + if isframe(object): + object = object.f_code + if iscode(object): + if not hasattr(object, 'co_firstlineno'): + raise OSError('could not find function definition') + lnum = object.co_firstlineno - 1 + pat = re.compile(r'^(\s*def\s)|(\s*async\s+def\s)|(.*(? 0: + if pat.match(lines[lnum]): break + lnum = lnum - 1 + return lines, lnum + raise OSError('could not find code object') + +def getcomments(object): + """Get lines of comments immediately preceding an object's source code. + + Returns None when source can't be found. + """ + try: + lines, lnum = findsource(object) + except (OSError, TypeError): + return None + + if ismodule(object): + # Look for a comment block at the top of the file. + start = 0 + if lines and lines[0][:2] == '#!': start = 1 + while start < len(lines) and lines[start].strip() in ('', '#'): + start = start + 1 + if start < len(lines) and lines[start][:1] == '#': + comments = [] + end = start + while end < len(lines) and lines[end][:1] == '#': + comments.append(lines[end].expandtabs()) + end = end + 1 + return ''.join(comments) + + # Look for a preceding block of comments at the same indentation. + elif lnum > 0: + indent = indentsize(lines[lnum]) + end = lnum - 1 + if end >= 0 and lines[end].lstrip()[:1] == '#' and \ + indentsize(lines[end]) == indent: + comments = [lines[end].expandtabs().lstrip()] + if end > 0: + end = end - 1 + comment = lines[end].expandtabs().lstrip() + while comment[:1] == '#' and indentsize(lines[end]) == indent: + comments[:0] = [comment] + end = end - 1 + if end < 0: break + comment = lines[end].expandtabs().lstrip() + while comments and comments[0].strip() == '#': + comments[:1] = [] + while comments and comments[-1].strip() == '#': + comments[-1:] = [] + return ''.join(comments) + +class EndOfBlock(Exception): pass + +class BlockFinder: + """Provide a tokeneater() method to detect the end of a code block.""" + def __init__(self): + self.indent = 0 + self.islambda = False + self.started = False + self.passline = False + self.indecorator = False + self.decoratorhasargs = False + self.last = 1 + + def tokeneater(self, type, token, srowcol, erowcol, line): + if not self.started and not self.indecorator: + # skip any decorators + if token == "@": + self.indecorator = True + # look for the first "def", "class" or "lambda" + elif token in ("def", "class", "lambda"): + if token == "lambda": + self.islambda = True + self.started = True + self.passline = True # skip to the end of the line + elif token == "(": + if self.indecorator: + self.decoratorhasargs = True + elif token == ")": + if self.indecorator: + self.indecorator = False + self.decoratorhasargs = False + elif type == tokenize.NEWLINE: + self.passline = False # stop skipping when a NEWLINE is seen + self.last = srowcol[0] + if self.islambda: # lambdas always end at the first NEWLINE + raise EndOfBlock + # hitting a NEWLINE when in a decorator without args + # ends the decorator + if self.indecorator and not self.decoratorhasargs: + self.indecorator = False + elif self.passline: + pass + elif type == tokenize.INDENT: + self.indent = self.indent + 1 + self.passline = True + elif type == tokenize.DEDENT: + self.indent = self.indent - 1 + # the end of matching indent/dedent pairs end a block + # (note that this only works for "def"/"class" blocks, + # not e.g. for "if: else:" or "try: finally:" blocks) + if self.indent <= 0: + raise EndOfBlock + elif self.indent == 0 and type not in (tokenize.COMMENT, tokenize.NL): + # any other token on the same indentation level end the previous + # block as well, except the pseudo-tokens COMMENT and NL. + raise EndOfBlock + +def getblock(lines): + """Extract the block of code at the top of the given list of lines.""" + blockfinder = BlockFinder() + try: + tokens = tokenize.generate_tokens(iter(lines).__next__) + for _token in tokens: + blockfinder.tokeneater(*_token) + except (EndOfBlock, IndentationError): + pass + return lines[:blockfinder.last] + +def getsourcelines(object): + """Return a list of source lines and starting line number for an object. + + The argument may be a module, class, method, function, traceback, frame, + or code object. The source code is returned as a list of the lines + corresponding to the object and the line number indicates where in the + original source file the first line of code was found. An OSError is + raised if the source code cannot be retrieved.""" + object = unwrap(object) + lines, lnum = findsource(object) + + if ismodule(object): + return lines, 0 + else: + return getblock(lines[lnum:]), lnum + 1 + +def getsource(object): + """Return the text of the source code for an object. + + The argument may be a module, class, method, function, traceback, frame, + or code object. The source code is returned as a single string. An + OSError is raised if the source code cannot be retrieved.""" + lines, lnum = getsourcelines(object) + return ''.join(lines) + +# --------------------------------------------------- class tree extraction +def walktree(classes, children, parent): + """Recursive helper function for getclasstree().""" + results = [] + classes.sort(key=attrgetter('__module__', '__name__')) + for c in classes: + results.append((c, c.__bases__)) + if c in children: + results.append(walktree(children[c], children, c)) + return results + +def getclasstree(classes, unique=False): + """Arrange the given list of classes into a hierarchy of nested lists. + + Where a nested list appears, it contains classes derived from the class + whose entry immediately precedes the list. Each entry is a 2-tuple + containing a class and a tuple of its base classes. If the 'unique' + argument is true, exactly one entry appears in the returned structure + for each class in the given list. Otherwise, classes using multiple + inheritance and their descendants will appear multiple times.""" + children = {} + roots = [] + for c in classes: + if c.__bases__: + for parent in c.__bases__: + if not parent in children: + children[parent] = [] + if c not in children[parent]: + children[parent].append(c) + if unique and parent in classes: break + elif c not in roots: + roots.append(c) + for parent in children: + if parent not in classes: + roots.append(parent) + return walktree(roots, children, None) + +# ------------------------------------------------ argument list extraction +Arguments = namedtuple('Arguments', 'args, varargs, varkw') + +def getargs(co): + """Get information about the arguments accepted by a code object. + + Three things are returned: (args, varargs, varkw), where + 'args' is the list of argument names. Keyword-only arguments are + appended. 'varargs' and 'varkw' are the names of the * and ** + arguments or None.""" + args, varargs, kwonlyargs, varkw = _getfullargs(co) + return Arguments(args + kwonlyargs, varargs, varkw) + +def _getfullargs(co): + """Get information about the arguments accepted by a code object. + + Four things are returned: (args, varargs, kwonlyargs, varkw), where + 'args' and 'kwonlyargs' are lists of argument names, and 'varargs' + and 'varkw' are the names of the * and ** arguments or None.""" + + if not iscode(co): + raise TypeError('{!r} is not a code object'.format(co)) + + nargs = co.co_argcount + names = co.co_varnames + nkwargs = co.co_kwonlyargcount + args = list(names[:nargs]) + kwonlyargs = list(names[nargs:nargs+nkwargs]) + step = 0 + + nargs += nkwargs + varargs = None + if co.co_flags & CO_VARARGS: + varargs = co.co_varnames[nargs] + nargs = nargs + 1 + varkw = None + if co.co_flags & CO_VARKEYWORDS: + varkw = co.co_varnames[nargs] + return args, varargs, kwonlyargs, varkw + + +ArgSpec = namedtuple('ArgSpec', 'args varargs keywords defaults') + +def getargspec(func): + """Get the names and default values of a function's arguments. + + A tuple of four things is returned: (args, varargs, keywords, defaults). + 'args' is a list of the argument names, including keyword-only argument names. + 'varargs' and 'keywords' are the names of the * and ** arguments or None. + 'defaults' is an n-tuple of the default values of the last n arguments. + + Use the getfullargspec() API for Python 3 code, as annotations + and keyword arguments are supported. getargspec() will raise ValueError + if the func has either annotations or keyword arguments. + """ + warnings.warn("inspect.getargspec() is deprecated, " + "use inspect.signature() instead", DeprecationWarning, + stacklevel=2) + args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, ann = \ + getfullargspec(func) + if kwonlyargs or ann: + raise ValueError("Function has keyword-only arguments or annotations" + ", use getfullargspec() API which can support them") + return ArgSpec(args, varargs, varkw, defaults) + +FullArgSpec = namedtuple('FullArgSpec', + 'args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations') + +def getfullargspec(func): + """Get the names and default values of a callable object's arguments. + + A tuple of seven things is returned: + (args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults annotations). + 'args' is a list of the argument names. + 'varargs' and 'varkw' are the names of the * and ** arguments or None. + 'defaults' is an n-tuple of the default values of the last n arguments. + 'kwonlyargs' is a list of keyword-only argument names. + 'kwonlydefaults' is a dictionary mapping names from kwonlyargs to defaults. + 'annotations' is a dictionary mapping argument names to annotations. + + The first four items in the tuple correspond to getargspec(). + + This function is deprecated, use inspect.signature() instead. + """ + + try: + # Re: `skip_bound_arg=False` + # + # There is a notable difference in behaviour between getfullargspec + # and Signature: the former always returns 'self' parameter for bound + # methods, whereas the Signature always shows the actual calling + # signature of the passed object. + # + # To simulate this behaviour, we "unbind" bound methods, to trick + # inspect.signature to always return their first parameter ("self", + # usually) + + # Re: `follow_wrapper_chains=False` + # + # getfullargspec() historically ignored __wrapped__ attributes, + # so we ensure that remains the case in 3.3+ + + sig = _signature_from_callable(func, + follow_wrapper_chains=False, + skip_bound_arg=False, + sigcls=Signature) + except Exception as ex: + # Most of the times 'signature' will raise ValueError. + # But, it can also raise AttributeError, and, maybe something + # else. So to be fully backwards compatible, we catch all + # possible exceptions here, and reraise a TypeError. + raise TypeError('unsupported callable') from ex + + args = [] + varargs = None + varkw = None + kwonlyargs = [] + defaults = () + annotations = {} + defaults = () + kwdefaults = {} + + if sig.return_annotation is not sig.empty: + annotations['return'] = sig.return_annotation + + for param in sig.parameters.values(): + kind = param.kind + name = param.name + + if kind is _POSITIONAL_ONLY: + args.append(name) + elif kind is _POSITIONAL_OR_KEYWORD: + args.append(name) + if param.default is not param.empty: + defaults += (param.default,) + elif kind is _VAR_POSITIONAL: + varargs = name + elif kind is _KEYWORD_ONLY: + kwonlyargs.append(name) + if param.default is not param.empty: + kwdefaults[name] = param.default + elif kind is _VAR_KEYWORD: + varkw = name + + if param.annotation is not param.empty: + annotations[name] = param.annotation + + if not kwdefaults: + # compatibility with 'func.__kwdefaults__' + kwdefaults = None + + if not defaults: + # compatibility with 'func.__defaults__' + defaults = None + + return FullArgSpec(args, varargs, varkw, defaults, + kwonlyargs, kwdefaults, annotations) + + +ArgInfo = namedtuple('ArgInfo', 'args varargs keywords locals') + +def getargvalues(frame): + """Get information about arguments passed into a particular frame. + + A tuple of four things is returned: (args, varargs, varkw, locals). + 'args' is a list of the argument names. + 'varargs' and 'varkw' are the names of the * and ** arguments or None. + 'locals' is the locals dictionary of the given frame.""" + args, varargs, varkw = getargs(frame.f_code) + return ArgInfo(args, varargs, varkw, frame.f_locals) + +def formatannotation(annotation, base_module=None): + if isinstance(annotation, type): + if annotation.__module__ in ('builtins', base_module): + return annotation.__qualname__ + return annotation.__module__+'.'+annotation.__qualname__ + return repr(annotation) + +def formatannotationrelativeto(object): + module = getattr(object, '__module__', None) + def _formatannotation(annotation): + return formatannotation(annotation, module) + return _formatannotation + +def formatargspec(args, varargs=None, varkw=None, defaults=None, + kwonlyargs=(), kwonlydefaults={}, annotations={}, + formatarg=str, + formatvarargs=lambda name: '*' + name, + formatvarkw=lambda name: '**' + name, + formatvalue=lambda value: '=' + repr(value), + formatreturns=lambda text: ' -> ' + text, + formatannotation=formatannotation): + """Format an argument spec from the values returned by getargspec + or getfullargspec. + + The first seven arguments are (args, varargs, varkw, defaults, + kwonlyargs, kwonlydefaults, annotations). The other five arguments + are the corresponding optional formatting functions that are called to + turn names and values into strings. The last argument is an optional + function to format the sequence of arguments.""" + def formatargandannotation(arg): + result = formatarg(arg) + if arg in annotations: + result += ': ' + formatannotation(annotations[arg]) + return result + specs = [] + if defaults: + firstdefault = len(args) - len(defaults) + for i, arg in enumerate(args): + spec = formatargandannotation(arg) + if defaults and i >= firstdefault: + spec = spec + formatvalue(defaults[i - firstdefault]) + specs.append(spec) + if varargs is not None: + specs.append(formatvarargs(formatargandannotation(varargs))) + else: + if kwonlyargs: + specs.append('*') + if kwonlyargs: + for kwonlyarg in kwonlyargs: + spec = formatargandannotation(kwonlyarg) + if kwonlydefaults and kwonlyarg in kwonlydefaults: + spec += formatvalue(kwonlydefaults[kwonlyarg]) + specs.append(spec) + if varkw is not None: + specs.append(formatvarkw(formatargandannotation(varkw))) + result = '(' + ', '.join(specs) + ')' + if 'return' in annotations: + result += formatreturns(formatannotation(annotations['return'])) + return result + +def formatargvalues(args, varargs, varkw, locals, + formatarg=str, + formatvarargs=lambda name: '*' + name, + formatvarkw=lambda name: '**' + name, + formatvalue=lambda value: '=' + repr(value)): + """Format an argument spec from the 4 values returned by getargvalues. + + The first four arguments are (args, varargs, varkw, locals). The + next four arguments are the corresponding optional formatting functions + that are called to turn names and values into strings. The ninth + argument is an optional function to format the sequence of arguments.""" + def convert(name, locals=locals, + formatarg=formatarg, formatvalue=formatvalue): + return formatarg(name) + formatvalue(locals[name]) + specs = [] + for i in range(len(args)): + specs.append(convert(args[i])) + if varargs: + specs.append(formatvarargs(varargs) + formatvalue(locals[varargs])) + if varkw: + specs.append(formatvarkw(varkw) + formatvalue(locals[varkw])) + return '(' + ', '.join(specs) + ')' + +def _missing_arguments(f_name, argnames, pos, values): + names = [repr(name) for name in argnames if name not in values] + missing = len(names) + if missing == 1: + s = names[0] + elif missing == 2: + s = "{} and {}".format(*names) + else: + tail = ", {} and {}".format(*names[-2:]) + del names[-2:] + s = ", ".join(names) + tail + raise TypeError("%s() missing %i required %s argument%s: %s" % + (f_name, missing, + "positional" if pos else "keyword-only", + "" if missing == 1 else "s", s)) + +def _too_many(f_name, args, kwonly, varargs, defcount, given, values): + atleast = len(args) - defcount + kwonly_given = len([arg for arg in kwonly if arg in values]) + if varargs: + plural = atleast != 1 + sig = "at least %d" % (atleast,) + elif defcount: + plural = True + sig = "from %d to %d" % (atleast, len(args)) + else: + plural = len(args) != 1 + sig = str(len(args)) + kwonly_sig = "" + if kwonly_given: + msg = " positional argument%s (and %d keyword-only argument%s)" + kwonly_sig = (msg % ("s" if given != 1 else "", kwonly_given, + "s" if kwonly_given != 1 else "")) + raise TypeError("%s() takes %s positional argument%s but %d%s %s given" % + (f_name, sig, "s" if plural else "", given, kwonly_sig, + "was" if given == 1 and not kwonly_given else "were")) + +def getcallargs(*func_and_positional, **named): + """Get the mapping of arguments to values. + + A dict is returned, with keys the function argument names (including the + names of the * and ** arguments, if any), and values the respective bound + values from 'positional' and 'named'.""" + func = func_and_positional[0] + positional = func_and_positional[1:] + spec = getfullargspec(func) + args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, ann = spec + f_name = func.__name__ + arg2value = {} + + + if ismethod(func) and func.__self__ is not None: + # implicit 'self' (or 'cls' for classmethods) argument + positional = (func.__self__,) + positional + num_pos = len(positional) + num_args = len(args) + num_defaults = len(defaults) if defaults else 0 + + n = min(num_pos, num_args) + for i in range(n): + arg2value[args[i]] = positional[i] + if varargs: + arg2value[varargs] = tuple(positional[n:]) + possible_kwargs = set(args + kwonlyargs) + if varkw: + arg2value[varkw] = {} + for kw, value in named.items(): + if kw not in possible_kwargs: + if not varkw: + raise TypeError("%s() got an unexpected keyword argument %r" % + (f_name, kw)) + arg2value[varkw][kw] = value + continue + if kw in arg2value: + raise TypeError("%s() got multiple values for argument %r" % + (f_name, kw)) + arg2value[kw] = value + if num_pos > num_args and not varargs: + _too_many(f_name, args, kwonlyargs, varargs, num_defaults, + num_pos, arg2value) + if num_pos < num_args: + req = args[:num_args - num_defaults] + for arg in req: + if arg not in arg2value: + _missing_arguments(f_name, req, True, arg2value) + for i, arg in enumerate(args[num_args - num_defaults:]): + if arg not in arg2value: + arg2value[arg] = defaults[i] + missing = 0 + for kwarg in kwonlyargs: + if kwarg not in arg2value: + if kwonlydefaults and kwarg in kwonlydefaults: + arg2value[kwarg] = kwonlydefaults[kwarg] + else: + missing += 1 + if missing: + _missing_arguments(f_name, kwonlyargs, False, arg2value) + return arg2value + +ClosureVars = namedtuple('ClosureVars', 'nonlocals globals builtins unbound') + +def getclosurevars(func): + """ + Get the mapping of free variables to their current values. + + Returns a named tuple of dicts mapping the current nonlocal, global + and builtin references as seen by the body of the function. A final + set of unbound names that could not be resolved is also provided. + """ + + if ismethod(func): + func = func.__func__ + + if not isfunction(func): + raise TypeError("'{!r}' is not a Python function".format(func)) + + code = func.__code__ + # Nonlocal references are named in co_freevars and resolved + # by looking them up in __closure__ by positional index + if func.__closure__ is None: + nonlocal_vars = {} + else: + nonlocal_vars = { + var : cell.cell_contents + for var, cell in zip(code.co_freevars, func.__closure__) + } + + # Global and builtin references are named in co_names and resolved + # by looking them up in __globals__ or __builtins__ + global_ns = func.__globals__ + builtin_ns = global_ns.get("__builtins__", builtins.__dict__) + if ismodule(builtin_ns): + builtin_ns = builtin_ns.__dict__ + global_vars = {} + builtin_vars = {} + unbound_names = set() + for name in code.co_names: + if name in ("None", "True", "False"): + # Because these used to be builtins instead of keywords, they + # may still show up as name references. We ignore them. + continue + try: + global_vars[name] = global_ns[name] + except KeyError: + try: + builtin_vars[name] = builtin_ns[name] + except KeyError: + unbound_names.add(name) + + return ClosureVars(nonlocal_vars, global_vars, + builtin_vars, unbound_names) + +# -------------------------------------------------- stack frame extraction + +Traceback = namedtuple('Traceback', 'filename lineno function code_context index') + +def getframeinfo(frame, context=1): + """Get information about a frame or traceback object. + + A tuple of five things is returned: the filename, the line number of + the current line, the function name, a list of lines of context from + the source code, and the index of the current line within that list. + The optional second argument specifies the number of lines of context + to return, which are centered around the current line.""" + if istraceback(frame): + lineno = frame.tb_lineno + frame = frame.tb_frame + else: + lineno = frame.f_lineno + if not isframe(frame): + raise TypeError('{!r} is not a frame or traceback object'.format(frame)) + + filename = getsourcefile(frame) or getfile(frame) + if context > 0: + start = lineno - 1 - context//2 + try: + lines, lnum = findsource(frame) + except OSError: + lines = index = None + else: + start = max(start, 1) + start = max(0, min(start, len(lines) - context)) + lines = lines[start:start+context] + index = lineno - 1 - start + else: + lines = index = None + + return Traceback(filename, lineno, frame.f_code.co_name, lines, index) + +def getlineno(frame): + """Get the line number from a frame object, allowing for optimization.""" + # FrameType.f_lineno is now a descriptor that grovels co_lnotab + return frame.f_lineno + +FrameInfo = namedtuple('FrameInfo', ('frame',) + Traceback._fields) + +def getouterframes(frame, context=1): + """Get a list of records for a frame and all higher (calling) frames. + + Each record contains a frame object, filename, line number, function + name, a list of lines of context, and index within the context.""" + framelist = [] + while frame: + frameinfo = (frame,) + getframeinfo(frame, context) + framelist.append(FrameInfo(*frameinfo)) + frame = frame.f_back + return framelist + +def getinnerframes(tb, context=1): + """Get a list of records for a traceback's frame and all lower frames. + + Each record contains a frame object, filename, line number, function + name, a list of lines of context, and index within the context.""" + framelist = [] + while tb: + frameinfo = (tb.tb_frame,) + getframeinfo(tb, context) + framelist.append(FrameInfo(*frameinfo)) + tb = tb.tb_next + return framelist + +def currentframe(): + """Return the frame of the caller or None if this is not possible.""" + return sys._getframe(1) if hasattr(sys, "_getframe") else None + +def stack(context=1): + """Return a list of records for the stack above the caller's frame.""" + return getouterframes(sys._getframe(1), context) + +def trace(context=1): + """Return a list of records for the stack below the current exception.""" + return getinnerframes(sys.exc_info()[2], context) + + +# ------------------------------------------------ static version of getattr + +_sentinel = object() + +def _static_getmro(klass): + return type.__dict__['__mro__'].__get__(klass) + +def _check_instance(obj, attr): + instance_dict = {} + try: + instance_dict = object.__getattribute__(obj, "__dict__") + except AttributeError: + pass + return dict.get(instance_dict, attr, _sentinel) + + +def _check_class(klass, attr): + for entry in _static_getmro(klass): + if _shadowed_dict(type(entry)) is _sentinel: + try: + return entry.__dict__[attr] + except KeyError: + pass + return _sentinel + +def _is_type(obj): + try: + _static_getmro(obj) + except TypeError: + return False + return True + +def _shadowed_dict(klass): + dict_attr = type.__dict__["__dict__"] + for entry in _static_getmro(klass): + try: + class_dict = dict_attr.__get__(entry)["__dict__"] + except KeyError: + pass + else: + if not (type(class_dict) is types.GetSetDescriptorType and + class_dict.__name__ == "__dict__" and + class_dict.__objclass__ is entry): + return class_dict + return _sentinel + +def getattr_static(obj, attr, default=_sentinel): + """Retrieve attributes without triggering dynamic lookup via the + descriptor protocol, __getattr__ or __getattribute__. + + Note: this function may not be able to retrieve all attributes + that getattr can fetch (like dynamically created attributes) + and may find attributes that getattr can't (like descriptors + that raise AttributeError). It can also return descriptor objects + instead of instance members in some cases. See the + documentation for details. + """ + instance_result = _sentinel + if not _is_type(obj): + klass = type(obj) + dict_attr = _shadowed_dict(klass) + if (dict_attr is _sentinel or + type(dict_attr) is types.MemberDescriptorType): + instance_result = _check_instance(obj, attr) + else: + klass = obj + + klass_result = _check_class(klass, attr) + + if instance_result is not _sentinel and klass_result is not _sentinel: + if (_check_class(type(klass_result), '__get__') is not _sentinel and + _check_class(type(klass_result), '__set__') is not _sentinel): + return klass_result + + if instance_result is not _sentinel: + return instance_result + if klass_result is not _sentinel: + return klass_result + + if obj is klass: + # for types we check the metaclass too + for entry in _static_getmro(type(klass)): + if _shadowed_dict(type(entry)) is _sentinel: + try: + return entry.__dict__[attr] + except KeyError: + pass + if default is not _sentinel: + return default + raise AttributeError(attr) + + +# ------------------------------------------------ generator introspection + +GEN_CREATED = 'GEN_CREATED' +GEN_RUNNING = 'GEN_RUNNING' +GEN_SUSPENDED = 'GEN_SUSPENDED' +GEN_CLOSED = 'GEN_CLOSED' + +def getgeneratorstate(generator): + """Get current state of a generator-iterator. + + Possible states are: + GEN_CREATED: Waiting to start execution. + GEN_RUNNING: Currently being executed by the interpreter. + GEN_SUSPENDED: Currently suspended at a yield expression. + GEN_CLOSED: Execution has completed. + """ + if generator.gi_running: + return GEN_RUNNING + if generator.gi_frame is None: + return GEN_CLOSED + if generator.gi_frame.f_lasti == -1: + return GEN_CREATED + return GEN_SUSPENDED + + +def getgeneratorlocals(generator): + """ + Get the mapping of generator local variables to their current values. + + A dict is returned, with the keys the local variable names and values the + bound values.""" + + if not isgenerator(generator): + raise TypeError("'{!r}' is not a Python generator".format(generator)) + + frame = getattr(generator, "gi_frame", None) + if frame is not None: + return generator.gi_frame.f_locals + else: + return {} + + +# ------------------------------------------------ coroutine introspection + +CORO_CREATED = 'CORO_CREATED' +CORO_RUNNING = 'CORO_RUNNING' +CORO_SUSPENDED = 'CORO_SUSPENDED' +CORO_CLOSED = 'CORO_CLOSED' + +def getcoroutinestate(coroutine): + """Get current state of a coroutine object. + + Possible states are: + CORO_CREATED: Waiting to start execution. + CORO_RUNNING: Currently being executed by the interpreter. + CORO_SUSPENDED: Currently suspended at an await expression. + CORO_CLOSED: Execution has completed. + """ + if coroutine.cr_running: + return CORO_RUNNING + if coroutine.cr_frame is None: + return CORO_CLOSED + if coroutine.cr_frame.f_lasti == -1: + return CORO_CREATED + return CORO_SUSPENDED + + +def getcoroutinelocals(coroutine): + """ + Get the mapping of coroutine local variables to their current values. + + A dict is returned, with the keys the local variable names and values the + bound values.""" + frame = getattr(coroutine, "cr_frame", None) + if frame is not None: + return frame.f_locals + else: + return {} + + +############################################################################### +### Function Signature Object (PEP 362) +############################################################################### + + +_WrapperDescriptor = type(type.__call__) +_MethodWrapper = type(all.__call__) +_ClassMethodWrapper = type(int.__dict__['from_bytes']) + +_NonUserDefinedCallables = (_WrapperDescriptor, + _MethodWrapper, + _ClassMethodWrapper, + types.BuiltinFunctionType) + + +def _signature_get_user_defined_method(cls, method_name): + """Private helper. Checks if ``cls`` has an attribute + named ``method_name`` and returns it only if it is a + pure python function. + """ + try: + meth = getattr(cls, method_name) + except AttributeError: + return + else: + if not isinstance(meth, _NonUserDefinedCallables): + # Once '__signature__' will be added to 'C'-level + # callables, this check won't be necessary + return meth + + +def _signature_get_partial(wrapped_sig, partial, extra_args=()): + """Private helper to calculate how 'wrapped_sig' signature will + look like after applying a 'functools.partial' object (or alike) + on it. + """ + + old_params = wrapped_sig.parameters + new_params = OrderedDict(old_params.items()) + + partial_args = partial.args or () + partial_keywords = partial.keywords or {} + + if extra_args: + partial_args = extra_args + partial_args + + try: + ba = wrapped_sig.bind_partial(*partial_args, **partial_keywords) + except TypeError as ex: + msg = 'partial object {!r} has incorrect arguments'.format(partial) + raise ValueError(msg) from ex + + + transform_to_kwonly = False + for param_name, param in old_params.items(): + try: + arg_value = ba.arguments[param_name] + except KeyError: + pass + else: + if param.kind is _POSITIONAL_ONLY: + # If positional-only parameter is bound by partial, + # it effectively disappears from the signature + new_params.pop(param_name) + continue + + if param.kind is _POSITIONAL_OR_KEYWORD: + if param_name in partial_keywords: + # This means that this parameter, and all parameters + # after it should be keyword-only (and var-positional + # should be removed). Here's why. Consider the following + # function: + # foo(a, b, *args, c): + # pass + # + # "partial(foo, a='spam')" will have the following + # signature: "(*, a='spam', b, c)". Because attempting + # to call that partial with "(10, 20)" arguments will + # raise a TypeError, saying that "a" argument received + # multiple values. + transform_to_kwonly = True + # Set the new default value + new_params[param_name] = param.replace(default=arg_value) + else: + # was passed as a positional argument + new_params.pop(param.name) + continue + + if param.kind is _KEYWORD_ONLY: + # Set the new default value + new_params[param_name] = param.replace(default=arg_value) + + if transform_to_kwonly: + assert param.kind is not _POSITIONAL_ONLY + + if param.kind is _POSITIONAL_OR_KEYWORD: + new_param = new_params[param_name].replace(kind=_KEYWORD_ONLY) + new_params[param_name] = new_param + new_params.move_to_end(param_name) + elif param.kind in (_KEYWORD_ONLY, _VAR_KEYWORD): + new_params.move_to_end(param_name) + elif param.kind is _VAR_POSITIONAL: + new_params.pop(param.name) + + return wrapped_sig.replace(parameters=new_params.values()) + + +def _signature_bound_method(sig): + """Private helper to transform signatures for unbound + functions to bound methods. + """ + + params = tuple(sig.parameters.values()) + + if not params or params[0].kind in (_VAR_KEYWORD, _KEYWORD_ONLY): + raise ValueError('invalid method signature') + + kind = params[0].kind + if kind in (_POSITIONAL_OR_KEYWORD, _POSITIONAL_ONLY): + # Drop first parameter: + # '(p1, p2[, ...])' -> '(p2[, ...])' + params = params[1:] + else: + if kind is not _VAR_POSITIONAL: + # Unless we add a new parameter type we never + # get here + raise ValueError('invalid argument type') + # It's a var-positional parameter. + # Do nothing. '(*args[, ...])' -> '(*args[, ...])' + + return sig.replace(parameters=params) + + +def _signature_is_builtin(obj): + """Private helper to test if `obj` is a callable that might + support Argument Clinic's __text_signature__ protocol. + """ + return (isbuiltin(obj) or + ismethoddescriptor(obj) or + isinstance(obj, _NonUserDefinedCallables) or + # Can't test 'isinstance(type)' here, as it would + # also be True for regular python classes + obj in (type, object)) + + +def _signature_is_functionlike(obj): + """Private helper to test if `obj` is a duck type of FunctionType. + A good example of such objects are functions compiled with + Cython, which have all attributes that a pure Python function + would have, but have their code statically compiled. + """ + + if not callable(obj) or isclass(obj): + # All function-like objects are obviously callables, + # and not classes. + return False + + name = getattr(obj, '__name__', None) + code = getattr(obj, '__code__', None) + defaults = getattr(obj, '__defaults__', _void) # Important to use _void ... + kwdefaults = getattr(obj, '__kwdefaults__', _void) # ... and not None here + annotations = getattr(obj, '__annotations__', None) + + return (isinstance(code, types.CodeType) and + isinstance(name, str) and + (defaults is None or isinstance(defaults, tuple)) and + (kwdefaults is None or isinstance(kwdefaults, dict)) and + isinstance(annotations, dict)) + + +def _signature_get_bound_param(spec): + """ Private helper to get first parameter name from a + __text_signature__ of a builtin method, which should + be in the following format: '($param1, ...)'. + Assumptions are that the first argument won't have + a default value or an annotation. + """ + + assert spec.startswith('($') + + pos = spec.find(',') + if pos == -1: + pos = spec.find(')') + + cpos = spec.find(':') + assert cpos == -1 or cpos > pos + + cpos = spec.find('=') + assert cpos == -1 or cpos > pos + + return spec[2:pos] + + +def _signature_strip_non_python_syntax(signature): + """ + Private helper function. Takes a signature in Argument Clinic's + extended signature format. + + Returns a tuple of three things: + * that signature re-rendered in standard Python syntax, + * the index of the "self" parameter (generally 0), or None if + the function does not have a "self" parameter, and + * the index of the last "positional only" parameter, + or None if the signature has no positional-only parameters. + """ + + if not signature: + return signature, None, None + + self_parameter = None + last_positional_only = None + + lines = [l.encode('ascii') for l in signature.split('\n')] + generator = iter(lines).__next__ + token_stream = tokenize.tokenize(generator) + + delayed_comma = False + skip_next_comma = False + text = [] + add = text.append + + current_parameter = 0 + OP = token.OP + ERRORTOKEN = token.ERRORTOKEN + + # token stream always starts with ENCODING token, skip it + t = next(token_stream) + assert t.type == tokenize.ENCODING + + for t in token_stream: + type, string = t.type, t.string + + if type == OP: + if string == ',': + if skip_next_comma: + skip_next_comma = False + else: + assert not delayed_comma + delayed_comma = True + current_parameter += 1 + continue + + if string == '/': + assert not skip_next_comma + assert last_positional_only is None + skip_next_comma = True + last_positional_only = current_parameter - 1 + continue + + if (type == ERRORTOKEN) and (string == '$'): + assert self_parameter is None + self_parameter = current_parameter + continue + + if delayed_comma: + delayed_comma = False + if not ((type == OP) and (string == ')')): + add(', ') + add(string) + if (string == ','): + add(' ') + clean_signature = ''.join(text) + return clean_signature, self_parameter, last_positional_only + + +def _signature_fromstr(cls, obj, s, skip_bound_arg=True): + """Private helper to parse content of '__text_signature__' + and return a Signature based on it. + """ + + Parameter = cls._parameter_cls + + clean_signature, self_parameter, last_positional_only = \ + _signature_strip_non_python_syntax(s) + + program = "def foo" + clean_signature + ": pass" + + try: + module = ast.parse(program) + except SyntaxError: + module = None + + if not isinstance(module, ast.Module): + raise ValueError("{!r} builtin has invalid signature".format(obj)) + + f = module.body[0] + + parameters = [] + empty = Parameter.empty + invalid = object() + + module = None + module_dict = {} + module_name = getattr(obj, '__module__', None) + if module_name: + module = sys.modules.get(module_name, None) + if module: + module_dict = module.__dict__ + sys_module_dict = sys.modules + + def parse_name(node): + assert isinstance(node, ast.arg) + if node.annotation != None: + raise ValueError("Annotations are not currently supported") + return node.arg + + def wrap_value(s): + try: + value = eval(s, module_dict) + except NameError: + try: + value = eval(s, sys_module_dict) + except NameError: + raise RuntimeError() + + if isinstance(value, str): + return ast.Str(value) + if isinstance(value, (int, float)): + return ast.Num(value) + if isinstance(value, bytes): + return ast.Bytes(value) + if value in (True, False, None): + return ast.NameConstant(value) + raise RuntimeError() + + class RewriteSymbolics(ast.NodeTransformer): + def visit_Attribute(self, node): + a = [] + n = node + while isinstance(n, ast.Attribute): + a.append(n.attr) + n = n.value + if not isinstance(n, ast.Name): + raise RuntimeError() + a.append(n.id) + value = ".".join(reversed(a)) + return wrap_value(value) + + def visit_Name(self, node): + if not isinstance(node.ctx, ast.Load): + raise ValueError() + return wrap_value(node.id) + + def p(name_node, default_node, default=empty): + name = parse_name(name_node) + if name is invalid: + return None + if default_node and default_node is not _empty: + try: + default_node = RewriteSymbolics().visit(default_node) + o = ast.literal_eval(default_node) + except ValueError: + o = invalid + if o is invalid: + return None + default = o if o is not invalid else default + parameters.append(Parameter(name, kind, default=default, annotation=empty)) + + # non-keyword-only parameters + args = reversed(f.args.args) + defaults = reversed(f.args.defaults) + iter = itertools.zip_longest(args, defaults, fillvalue=None) + if last_positional_only is not None: + kind = Parameter.POSITIONAL_ONLY + else: + kind = Parameter.POSITIONAL_OR_KEYWORD + for i, (name, default) in enumerate(reversed(list(iter))): + p(name, default) + if i == last_positional_only: + kind = Parameter.POSITIONAL_OR_KEYWORD + + # *args + if f.args.vararg: + kind = Parameter.VAR_POSITIONAL + p(f.args.vararg, empty) + + # keyword-only arguments + kind = Parameter.KEYWORD_ONLY + for name, default in zip(f.args.kwonlyargs, f.args.kw_defaults): + p(name, default) + + # **kwargs + if f.args.kwarg: + kind = Parameter.VAR_KEYWORD + p(f.args.kwarg, empty) + + if self_parameter is not None: + # Possibly strip the bound argument: + # - We *always* strip first bound argument if + # it is a module. + # - We don't strip first bound argument if + # skip_bound_arg is False. + assert parameters + _self = getattr(obj, '__self__', None) + self_isbound = _self is not None + self_ismodule = ismodule(_self) + if self_isbound and (self_ismodule or skip_bound_arg): + parameters.pop(0) + else: + # for builtins, self parameter is always positional-only! + p = parameters[0].replace(kind=Parameter.POSITIONAL_ONLY) + parameters[0] = p + + return cls(parameters, return_annotation=cls.empty) + + +def _signature_from_builtin(cls, func, skip_bound_arg=True): + """Private helper function to get signature for + builtin callables. + """ + + if not _signature_is_builtin(func): + raise TypeError("{!r} is not a Python builtin " + "function".format(func)) + + s = getattr(func, "__text_signature__", None) + if not s: + raise ValueError("no signature found for builtin {!r}".format(func)) + + return _signature_fromstr(cls, func, s, skip_bound_arg) + + +def _signature_from_function(cls, func): + """Private helper: constructs Signature for the given python function.""" + + is_duck_function = False + if not isfunction(func): + if _signature_is_functionlike(func): + is_duck_function = True + else: + # If it's not a pure Python function, and not a duck type + # of pure function: + raise TypeError('{!r} is not a Python function'.format(func)) + + Parameter = cls._parameter_cls + + # Parameter information. + func_code = func.__code__ + pos_count = func_code.co_argcount + arg_names = func_code.co_varnames + positional = tuple(arg_names[:pos_count]) + keyword_only_count = func_code.co_kwonlyargcount + keyword_only = arg_names[pos_count:(pos_count + keyword_only_count)] + annotations = func.__annotations__ + defaults = func.__defaults__ + kwdefaults = func.__kwdefaults__ + + if defaults: + pos_default_count = len(defaults) + else: + pos_default_count = 0 + + parameters = [] + + # Non-keyword-only parameters w/o defaults. + non_default_count = pos_count - pos_default_count + for name in positional[:non_default_count]: + annotation = annotations.get(name, _empty) + parameters.append(Parameter(name, annotation=annotation, + kind=_POSITIONAL_OR_KEYWORD)) + + # ... w/ defaults. + for offset, name in enumerate(positional[non_default_count:]): + annotation = annotations.get(name, _empty) + parameters.append(Parameter(name, annotation=annotation, + kind=_POSITIONAL_OR_KEYWORD, + default=defaults[offset])) + + # *args + if func_code.co_flags & CO_VARARGS: + name = arg_names[pos_count + keyword_only_count] + annotation = annotations.get(name, _empty) + parameters.append(Parameter(name, annotation=annotation, + kind=_VAR_POSITIONAL)) + + # Keyword-only parameters. + for name in keyword_only: + default = _empty + if kwdefaults is not None: + default = kwdefaults.get(name, _empty) + + annotation = annotations.get(name, _empty) + parameters.append(Parameter(name, annotation=annotation, + kind=_KEYWORD_ONLY, + default=default)) + # **kwargs + if func_code.co_flags & CO_VARKEYWORDS: + index = pos_count + keyword_only_count + if func_code.co_flags & CO_VARARGS: + index += 1 + + name = arg_names[index] + annotation = annotations.get(name, _empty) + parameters.append(Parameter(name, annotation=annotation, + kind=_VAR_KEYWORD)) + + # Is 'func' is a pure Python function - don't validate the + # parameters list (for correct order and defaults), it should be OK. + return cls(parameters, + return_annotation=annotations.get('return', _empty), + __validate_parameters__=is_duck_function) + + +def _signature_from_callable(obj, *, + follow_wrapper_chains=True, + skip_bound_arg=True, + sigcls): + + """Private helper function to get signature for arbitrary + callable objects. + """ + + if not callable(obj): + raise TypeError('{!r} is not a callable object'.format(obj)) + + if isinstance(obj, types.MethodType): + # In this case we skip the first parameter of the underlying + # function (usually `self` or `cls`). + sig = _signature_from_callable( + obj.__func__, + follow_wrapper_chains=follow_wrapper_chains, + skip_bound_arg=skip_bound_arg, + sigcls=sigcls) + + if skip_bound_arg: + return _signature_bound_method(sig) + else: + return sig + + # Was this function wrapped by a decorator? + if follow_wrapper_chains: + obj = unwrap(obj, stop=(lambda f: hasattr(f, "__signature__"))) + if isinstance(obj, types.MethodType): + # If the unwrapped object is a *method*, we might want to + # skip its first parameter (self). + # See test_signature_wrapped_bound_method for details. + return _signature_from_callable( + obj, + follow_wrapper_chains=follow_wrapper_chains, + skip_bound_arg=skip_bound_arg, + sigcls=sigcls) + + try: + sig = obj.__signature__ + except AttributeError: + pass + else: + if sig is not None: + if not isinstance(sig, Signature): + raise TypeError( + 'unexpected object {!r} in __signature__ ' + 'attribute'.format(sig)) + return sig + + try: + partialmethod = obj._partialmethod + except AttributeError: + pass + else: + if isinstance(partialmethod, functools.partialmethod): + # Unbound partialmethod (see functools.partialmethod) + # This means, that we need to calculate the signature + # as if it's a regular partial object, but taking into + # account that the first positional argument + # (usually `self`, or `cls`) will not be passed + # automatically (as for boundmethods) + + wrapped_sig = _signature_from_callable( + partialmethod.func, + follow_wrapper_chains=follow_wrapper_chains, + skip_bound_arg=skip_bound_arg, + sigcls=sigcls) + + sig = _signature_get_partial(wrapped_sig, partialmethod, (None,)) + + first_wrapped_param = tuple(wrapped_sig.parameters.values())[0] + new_params = (first_wrapped_param,) + tuple(sig.parameters.values()) + + return sig.replace(parameters=new_params) + + if isfunction(obj) or _signature_is_functionlike(obj): + # If it's a pure Python function, or an object that is duck type + # of a Python function (Cython functions, for instance), then: + return _signature_from_function(sigcls, obj) + + if _signature_is_builtin(obj): + return _signature_from_builtin(sigcls, obj, + skip_bound_arg=skip_bound_arg) + + if isinstance(obj, functools.partial): + wrapped_sig = _signature_from_callable( + obj.func, + follow_wrapper_chains=follow_wrapper_chains, + skip_bound_arg=skip_bound_arg, + sigcls=sigcls) + return _signature_get_partial(wrapped_sig, obj) + + sig = None + if isinstance(obj, type): + # obj is a class or a metaclass + + # First, let's see if it has an overloaded __call__ defined + # in its metaclass + call = _signature_get_user_defined_method(type(obj), '__call__') + if call is not None: + sig = _signature_from_callable( + call, + follow_wrapper_chains=follow_wrapper_chains, + skip_bound_arg=skip_bound_arg, + sigcls=sigcls) + else: + # Now we check if the 'obj' class has a '__new__' method + new = _signature_get_user_defined_method(obj, '__new__') + if new is not None: + sig = _signature_from_callable( + new, + follow_wrapper_chains=follow_wrapper_chains, + skip_bound_arg=skip_bound_arg, + sigcls=sigcls) + else: + # Finally, we should have at least __init__ implemented + init = _signature_get_user_defined_method(obj, '__init__') + if init is not None: + sig = _signature_from_callable( + init, + follow_wrapper_chains=follow_wrapper_chains, + skip_bound_arg=skip_bound_arg, + sigcls=sigcls) + + if sig is None: + # At this point we know, that `obj` is a class, with no user- + # defined '__init__', '__new__', or class-level '__call__' + + for base in obj.__mro__[:-1]: + # Since '__text_signature__' is implemented as a + # descriptor that extracts text signature from the + # class docstring, if 'obj' is derived from a builtin + # class, its own '__text_signature__' may be 'None'. + # Therefore, we go through the MRO (except the last + # class in there, which is 'object') to find the first + # class with non-empty text signature. + try: + text_sig = base.__text_signature__ + except AttributeError: + pass + else: + if text_sig: + # If 'obj' class has a __text_signature__ attribute: + # return a signature based on it + return _signature_fromstr(sigcls, obj, text_sig) + + # No '__text_signature__' was found for the 'obj' class. + # Last option is to check if its '__init__' is + # object.__init__ or type.__init__. + if type not in obj.__mro__: + # We have a class (not metaclass), but no user-defined + # __init__ or __new__ for it + if (obj.__init__ is object.__init__ and + obj.__new__ is object.__new__): + # Return a signature of 'object' builtin. + return signature(object) + else: + raise ValueError( + 'no signature found for builtin type {!r}'.format(obj)) + + elif not isinstance(obj, _NonUserDefinedCallables): + # An object with __call__ + # We also check that the 'obj' is not an instance of + # _WrapperDescriptor or _MethodWrapper to avoid + # infinite recursion (and even potential segfault) + call = _signature_get_user_defined_method(type(obj), '__call__') + if call is not None: + try: + sig = _signature_from_callable( + call, + follow_wrapper_chains=follow_wrapper_chains, + skip_bound_arg=skip_bound_arg, + sigcls=sigcls) + except ValueError as ex: + msg = 'no signature found for {!r}'.format(obj) + raise ValueError(msg) from ex + + if sig is not None: + # For classes and objects we skip the first parameter of their + # __call__, __new__, or __init__ methods + if skip_bound_arg: + return _signature_bound_method(sig) + else: + return sig + + if isinstance(obj, types.BuiltinFunctionType): + # Raise a nicer error message for builtins + msg = 'no signature found for builtin function {!r}'.format(obj) + raise ValueError(msg) + + raise ValueError('callable {!r} is not supported by signature'.format(obj)) + + +class _void: + """A private marker - used in Parameter & Signature.""" + + +class _empty: + """Marker object for Signature.empty and Parameter.empty.""" + + +class _ParameterKind(enum.IntEnum): + POSITIONAL_ONLY = 0 + POSITIONAL_OR_KEYWORD = 1 + VAR_POSITIONAL = 2 + KEYWORD_ONLY = 3 + VAR_KEYWORD = 4 + + def __str__(self): + return self._name_ + + +_POSITIONAL_ONLY = _ParameterKind.POSITIONAL_ONLY +_POSITIONAL_OR_KEYWORD = _ParameterKind.POSITIONAL_OR_KEYWORD +_VAR_POSITIONAL = _ParameterKind.VAR_POSITIONAL +_KEYWORD_ONLY = _ParameterKind.KEYWORD_ONLY +_VAR_KEYWORD = _ParameterKind.VAR_KEYWORD + + +class Parameter: + """Represents a parameter in a function signature. + + Has the following public attributes: + + * name : str + The name of the parameter as a string. + * default : object + The default value for the parameter if specified. If the + parameter has no default value, this attribute is set to + `Parameter.empty`. + * annotation + The annotation for the parameter if specified. If the + parameter has no annotation, this attribute is set to + `Parameter.empty`. + * kind : str + Describes how argument values are bound to the parameter. + Possible values: `Parameter.POSITIONAL_ONLY`, + `Parameter.POSITIONAL_OR_KEYWORD`, `Parameter.VAR_POSITIONAL`, + `Parameter.KEYWORD_ONLY`, `Parameter.VAR_KEYWORD`. + """ + + __slots__ = ('_name', '_kind', '_default', '_annotation') + + POSITIONAL_ONLY = _POSITIONAL_ONLY + POSITIONAL_OR_KEYWORD = _POSITIONAL_OR_KEYWORD + VAR_POSITIONAL = _VAR_POSITIONAL + KEYWORD_ONLY = _KEYWORD_ONLY + VAR_KEYWORD = _VAR_KEYWORD + + empty = _empty + + def __init__(self, name, kind, *, default=_empty, annotation=_empty): + + if kind not in (_POSITIONAL_ONLY, _POSITIONAL_OR_KEYWORD, + _VAR_POSITIONAL, _KEYWORD_ONLY, _VAR_KEYWORD): + raise ValueError("invalid value for 'Parameter.kind' attribute") + self._kind = kind + + if default is not _empty: + if kind in (_VAR_POSITIONAL, _VAR_KEYWORD): + msg = '{} parameters cannot have default values'.format(kind) + raise ValueError(msg) + self._default = default + self._annotation = annotation + + if name is _empty: + raise ValueError('name is a required attribute for Parameter') + + if not isinstance(name, str): + raise TypeError("name must be a str, not a {!r}".format(name)) + + if not name.isidentifier(): + raise ValueError('{!r} is not a valid parameter name'.format(name)) + + self._name = name + + def __reduce__(self): + return (type(self), + (self._name, self._kind), + {'_default': self._default, + '_annotation': self._annotation}) + + def __setstate__(self, state): + self._default = state['_default'] + self._annotation = state['_annotation'] + + @property + def name(self): + return self._name + + @property + def default(self): + return self._default + + @property + def annotation(self): + return self._annotation + + @property + def kind(self): + return self._kind + + def replace(self, *, name=_void, kind=_void, + annotation=_void, default=_void): + """Creates a customized copy of the Parameter.""" + + if name is _void: + name = self._name + + if kind is _void: + kind = self._kind + + if annotation is _void: + annotation = self._annotation + + if default is _void: + default = self._default + + return type(self)(name, kind, default=default, annotation=annotation) + + def __str__(self): + kind = self.kind + formatted = self._name + + # Add annotation and default value + if self._annotation is not _empty: + formatted = '{}:{}'.format(formatted, + formatannotation(self._annotation)) + + if self._default is not _empty: + formatted = '{}={}'.format(formatted, repr(self._default)) + + if kind == _VAR_POSITIONAL: + formatted = '*' + formatted + elif kind == _VAR_KEYWORD: + formatted = '**' + formatted + + return formatted + + def __repr__(self): + return '<{} "{}">'.format(self.__class__.__name__, self) + + def __hash__(self): + return hash((self.name, self.kind, self.annotation, self.default)) + + def __eq__(self, other): + if self is other: + return True + if not isinstance(other, Parameter): + return NotImplemented + return (self._name == other._name and + self._kind == other._kind and + self._default == other._default and + self._annotation == other._annotation) + + +class BoundArguments: + """Result of `Signature.bind` call. Holds the mapping of arguments + to the function's parameters. + + Has the following public attributes: + + * arguments : OrderedDict + An ordered mutable mapping of parameters' names to arguments' values. + Does not contain arguments' default values. + * signature : Signature + The Signature object that created this instance. + * args : tuple + Tuple of positional arguments values. + * kwargs : dict + Dict of keyword arguments values. + """ + + __slots__ = ('arguments', '_signature', '__weakref__') + + def __init__(self, signature, arguments): + self.arguments = arguments + self._signature = signature + + @property + def signature(self): + return self._signature + + @property + def args(self): + args = [] + for param_name, param in self._signature.parameters.items(): + if param.kind in (_VAR_KEYWORD, _KEYWORD_ONLY): + break + + try: + arg = self.arguments[param_name] + except KeyError: + # We're done here. Other arguments + # will be mapped in 'BoundArguments.kwargs' + break + else: + if param.kind == _VAR_POSITIONAL: + # *args + args.extend(arg) + else: + # plain argument + args.append(arg) + + return tuple(args) + + @property + def kwargs(self): + kwargs = {} + kwargs_started = False + for param_name, param in self._signature.parameters.items(): + if not kwargs_started: + if param.kind in (_VAR_KEYWORD, _KEYWORD_ONLY): + kwargs_started = True + else: + if param_name not in self.arguments: + kwargs_started = True + continue + + if not kwargs_started: + continue + + try: + arg = self.arguments[param_name] + except KeyError: + pass + else: + if param.kind == _VAR_KEYWORD: + # **kwargs + kwargs.update(arg) + else: + # plain keyword argument + kwargs[param_name] = arg + + return kwargs + + def apply_defaults(self): + """Set default values for missing arguments. + + For variable-positional arguments (*args) the default is an + empty tuple. + + For variable-keyword arguments (**kwargs) the default is an + empty dict. + """ + arguments = self.arguments + new_arguments = [] + for name, param in self._signature.parameters.items(): + try: + new_arguments.append((name, arguments[name])) + except KeyError: + if param.default is not _empty: + val = param.default + elif param.kind is _VAR_POSITIONAL: + val = () + elif param.kind is _VAR_KEYWORD: + val = {} + else: + # This BoundArguments was likely produced by + # Signature.bind_partial(). + continue + new_arguments.append((name, val)) + self.arguments = OrderedDict(new_arguments) + + def __eq__(self, other): + if self is other: + return True + if not isinstance(other, BoundArguments): + return NotImplemented + return (self.signature == other.signature and + self.arguments == other.arguments) + + def __setstate__(self, state): + self._signature = state['_signature'] + self.arguments = state['arguments'] + + def __getstate__(self): + return {'_signature': self._signature, 'arguments': self.arguments} + + def __repr__(self): + args = [] + for arg, value in self.arguments.items(): + args.append('{}={!r}'.format(arg, value)) + return '<{} ({})>'.format(self.__class__.__name__, ', '.join(args)) + + +class Signature: + """A Signature object represents the overall signature of a function. + It stores a Parameter object for each parameter accepted by the + function, as well as information specific to the function itself. + + A Signature object has the following public attributes and methods: + + * parameters : OrderedDict + An ordered mapping of parameters' names to the corresponding + Parameter objects (keyword-only arguments are in the same order + as listed in `code.co_varnames`). + * return_annotation : object + The annotation for the return type of the function if specified. + If the function has no annotation for its return type, this + attribute is set to `Signature.empty`. + * bind(*args, **kwargs) -> BoundArguments + Creates a mapping from positional and keyword arguments to + parameters. + * bind_partial(*args, **kwargs) -> BoundArguments + Creates a partial mapping from positional and keyword arguments + to parameters (simulating 'functools.partial' behavior.) + """ + + __slots__ = ('_return_annotation', '_parameters') + + _parameter_cls = Parameter + _bound_arguments_cls = BoundArguments + + empty = _empty + + def __init__(self, parameters=None, *, return_annotation=_empty, + __validate_parameters__=True): + """Constructs Signature from the given list of Parameter + objects and 'return_annotation'. All arguments are optional. + """ + + if parameters is None: + params = OrderedDict() + else: + if __validate_parameters__: + params = OrderedDict() + top_kind = _POSITIONAL_ONLY + kind_defaults = False + + for idx, param in enumerate(parameters): + kind = param.kind + name = param.name + + if kind < top_kind: + msg = 'wrong parameter order: {!r} before {!r}' + msg = msg.format(top_kind, kind) + raise ValueError(msg) + elif kind > top_kind: + kind_defaults = False + top_kind = kind + + if kind in (_POSITIONAL_ONLY, _POSITIONAL_OR_KEYWORD): + if param.default is _empty: + if kind_defaults: + # No default for this parameter, but the + # previous parameter of the same kind had + # a default + msg = 'non-default argument follows default ' \ + 'argument' + raise ValueError(msg) + else: + # There is a default for this parameter. + kind_defaults = True + + if name in params: + msg = 'duplicate parameter name: {!r}'.format(name) + raise ValueError(msg) + + params[name] = param + else: + params = OrderedDict(((param.name, param) + for param in parameters)) + + self._parameters = types.MappingProxyType(params) + self._return_annotation = return_annotation + + @classmethod + def from_function(cls, func): + """Constructs Signature for the given python function.""" + + warnings.warn("inspect.Signature.from_function() is deprecated, " + "use Signature.from_callable()", + DeprecationWarning, stacklevel=2) + return _signature_from_function(cls, func) + + @classmethod + def from_builtin(cls, func): + """Constructs Signature for the given builtin function.""" + + warnings.warn("inspect.Signature.from_builtin() is deprecated, " + "use Signature.from_callable()", + DeprecationWarning, stacklevel=2) + return _signature_from_builtin(cls, func) + + @classmethod + def from_callable(cls, obj, *, follow_wrapped=True): + """Constructs Signature for the given callable object.""" + return _signature_from_callable(obj, sigcls=cls, + follow_wrapper_chains=follow_wrapped) + + @property + def parameters(self): + return self._parameters + + @property + def return_annotation(self): + return self._return_annotation + + def replace(self, *, parameters=_void, return_annotation=_void): + """Creates a customized copy of the Signature. + Pass 'parameters' and/or 'return_annotation' arguments + to override them in the new copy. + """ + + if parameters is _void: + parameters = self.parameters.values() + + if return_annotation is _void: + return_annotation = self._return_annotation + + return type(self)(parameters, + return_annotation=return_annotation) + + def _hash_basis(self): + params = tuple(param for param in self.parameters.values() + if param.kind != _KEYWORD_ONLY) + + kwo_params = {param.name: param for param in self.parameters.values() + if param.kind == _KEYWORD_ONLY} + + return params, kwo_params, self.return_annotation + + def __hash__(self): + params, kwo_params, return_annotation = self._hash_basis() + kwo_params = frozenset(kwo_params.values()) + return hash((params, kwo_params, return_annotation)) + + def __eq__(self, other): + if self is other: + return True + if not isinstance(other, Signature): + return NotImplemented + return self._hash_basis() == other._hash_basis() + + def _bind(self, args, kwargs, *, partial=False): + """Private method. Don't use directly.""" + + arguments = OrderedDict() + + parameters = iter(self.parameters.values()) + parameters_ex = () + arg_vals = iter(args) + + while True: + # Let's iterate through the positional arguments and corresponding + # parameters + try: + arg_val = next(arg_vals) + except StopIteration: + # No more positional arguments + try: + param = next(parameters) + except StopIteration: + # No more parameters. That's it. Just need to check that + # we have no `kwargs` after this while loop + break + else: + if param.kind == _VAR_POSITIONAL: + # That's OK, just empty *args. Let's start parsing + # kwargs + break + elif param.name in kwargs: + if param.kind == _POSITIONAL_ONLY: + msg = '{arg!r} parameter is positional only, ' \ + 'but was passed as a keyword' + msg = msg.format(arg=param.name) + raise TypeError(msg) from None + parameters_ex = (param,) + break + elif (param.kind == _VAR_KEYWORD or + param.default is not _empty): + # That's fine too - we have a default value for this + # parameter. So, lets start parsing `kwargs`, starting + # with the current parameter + parameters_ex = (param,) + break + else: + # No default, not VAR_KEYWORD, not VAR_POSITIONAL, + # not in `kwargs` + if partial: + parameters_ex = (param,) + break + else: + msg = 'missing a required argument: {arg!r}' + msg = msg.format(arg=param.name) + raise TypeError(msg) from None + else: + # We have a positional argument to process + try: + param = next(parameters) + except StopIteration: + raise TypeError('too many positional arguments') from None + else: + if param.kind in (_VAR_KEYWORD, _KEYWORD_ONLY): + # Looks like we have no parameter for this positional + # argument + raise TypeError( + 'too many positional arguments') from None + + if param.kind == _VAR_POSITIONAL: + # We have an '*args'-like argument, let's fill it with + # all positional arguments we have left and move on to + # the next phase + values = [arg_val] + values.extend(arg_vals) + arguments[param.name] = tuple(values) + break + + if param.name in kwargs: + raise TypeError( + 'multiple values for argument {arg!r}'.format( + arg=param.name)) from None + + arguments[param.name] = arg_val + + # Now, we iterate through the remaining parameters to process + # keyword arguments + kwargs_param = None + for param in itertools.chain(parameters_ex, parameters): + if param.kind == _VAR_KEYWORD: + # Memorize that we have a '**kwargs'-like parameter + kwargs_param = param + continue + + if param.kind == _VAR_POSITIONAL: + # Named arguments don't refer to '*args'-like parameters. + # We only arrive here if the positional arguments ended + # before reaching the last parameter before *args. + continue + + param_name = param.name + try: + arg_val = kwargs.pop(param_name) + except KeyError: + # We have no value for this parameter. It's fine though, + # if it has a default value, or it is an '*args'-like + # parameter, left alone by the processing of positional + # arguments. + if (not partial and param.kind != _VAR_POSITIONAL and + param.default is _empty): + raise TypeError('missing a required argument: {arg!r}'. \ + format(arg=param_name)) from None + + else: + if param.kind == _POSITIONAL_ONLY: + # This should never happen in case of a properly built + # Signature object (but let's have this check here + # to ensure correct behaviour just in case) + raise TypeError('{arg!r} parameter is positional only, ' + 'but was passed as a keyword'. \ + format(arg=param.name)) + + arguments[param_name] = arg_val + + if kwargs: + if kwargs_param is not None: + # Process our '**kwargs'-like parameter + arguments[kwargs_param.name] = kwargs + else: + raise TypeError( + 'got an unexpected keyword argument {arg!r}'.format( + arg=next(iter(kwargs)))) + + return self._bound_arguments_cls(self, arguments) + + def bind(*args, **kwargs): + """Get a BoundArguments object, that maps the passed `args` + and `kwargs` to the function's signature. Raises `TypeError` + if the passed arguments can not be bound. + """ + return args[0]._bind(args[1:], kwargs) + + def bind_partial(*args, **kwargs): + """Get a BoundArguments object, that partially maps the + passed `args` and `kwargs` to the function's signature. + Raises `TypeError` if the passed arguments can not be bound. + """ + return args[0]._bind(args[1:], kwargs, partial=True) + + def __reduce__(self): + return (type(self), + (tuple(self._parameters.values()),), + {'_return_annotation': self._return_annotation}) + + def __setstate__(self, state): + self._return_annotation = state['_return_annotation'] + + def __repr__(self): + return '<{} {}>'.format(self.__class__.__name__, self) + + def __str__(self): + result = [] + render_pos_only_separator = False + render_kw_only_separator = True + for param in self.parameters.values(): + formatted = str(param) + + kind = param.kind + + if kind == _POSITIONAL_ONLY: + render_pos_only_separator = True + elif render_pos_only_separator: + # It's not a positional-only parameter, and the flag + # is set to 'True' (there were pos-only params before.) + result.append('/') + render_pos_only_separator = False + + if kind == _VAR_POSITIONAL: + # OK, we have an '*args'-like parameter, so we won't need + # a '*' to separate keyword-only arguments + render_kw_only_separator = False + elif kind == _KEYWORD_ONLY and render_kw_only_separator: + # We have a keyword-only parameter to render and we haven't + # rendered an '*args'-like parameter before, so add a '*' + # separator to the parameters list ("foo(arg1, *, arg2)" case) + result.append('*') + # This condition should be only triggered once, so + # reset the flag + render_kw_only_separator = False + + result.append(formatted) + + if render_pos_only_separator: + # There were only positional-only parameters, hence the + # flag was not reset to 'False' + result.append('/') + + rendered = '({})'.format(', '.join(result)) + + if self.return_annotation is not _empty: + anno = formatannotation(self.return_annotation) + rendered += ' -> {}'.format(anno) + + return rendered + + +def signature(obj, *, follow_wrapped=True): + """Get a signature object for the passed callable.""" + return Signature.from_callable(obj, follow_wrapped=follow_wrapped) + + +def _main(): + """ Logic for inspecting an object given at command line """ + import argparse + import importlib + + parser = argparse.ArgumentParser() + parser.add_argument( + 'object', + help="The object to be analysed. " + "It supports the 'module:qualname' syntax") + parser.add_argument( + '-d', '--details', action='store_true', + help='Display info about the module rather than its source code') + + args = parser.parse_args() + + target = args.object + mod_name, has_attrs, attrs = target.partition(":") + try: + obj = module = importlib.import_module(mod_name) + except Exception as exc: + msg = "Failed to import {} ({}: {})".format(mod_name, + type(exc).__name__, + exc) + print(msg, file=sys.stderr) + exit(2) + + if has_attrs: + parts = attrs.split(".") + obj = module + for part in parts: + obj = getattr(obj, part) + + if module.__name__ in sys.builtin_module_names: + print("Can't get info for builtin modules.", file=sys.stderr) + exit(1) + + if args.details: + print('Target: {}'.format(target)) + print('Origin: {}'.format(getsourcefile(module))) + print('Cached: {}'.format(module.__cached__)) + if obj is module: + print('Loader: {}'.format(repr(module.__loader__))) + if hasattr(module, '__path__'): + print('Submodule search path: {}'.format(module.__path__)) + else: + try: + __, lineno = findsource(obj) + except Exception: + pass + else: + print('Line: {}'.format(lineno)) + + print('\n') + else: + print(getsource(obj)) + + +if __name__ == "__main__": + _main() diff --git a/tools/patch_codegen.py b/tools/patch_codegen.py index b7cff23..2f143da 100644 --- a/tools/patch_codegen.py +++ b/tools/patch_codegen.py @@ -3,6 +3,7 @@ from __future__ import print_function import os import re import sys +import six import xml.etree.ElementTree as ET try: @@ -31,7 +32,7 @@ patched_cmt = "// patched by patch_codegen.py" # Load specific patches patches = {} if os.path.isfile(args.patches): - with open(args.patches, "r") as fin: + with open(args.patches) as fin: patches = eval(fin.read()) class batch_patches_t: @@ -51,7 +52,7 @@ class batch_patches_t: batch_patches_data = {} if os.path.isfile(args.batch_patches): - with open(args.batch_patches, "r") as fin: + with open(args.batch_patches) as fin: batch_patches_data = eval(fin.read()) batch_patches = batch_patches_t(batch_patches_data) @@ -127,7 +128,7 @@ all_lines = [ "# define SWIG_NORETURN __attribute__((noreturn))\n", "#endif\n", ] -with open(args.input, "rb") as f: +with open(args.input) as f: STAT_UNKNOWN = {} STAT_IN_FUNCTION = {} stat = STAT_UNKNOWN @@ -187,6 +188,8 @@ with open(args.input, "rb") as f: else: if line.find("PyArg_UnpackTuple(args") > -1: current_function_uses_args = True + elif line.find(" = args;"): + current_function_uses_args = True elif line.find("varargs") > -1: current_function_uses_varargs = True for patch_kind, patch_data in func_patches: @@ -208,14 +211,14 @@ with open(args.input, "rb") as f: " PyErr_Print();\n" " }\n", line) - elif line.rstrip().endswith("c_result;"): - vtype = line.strip().split()[0] - init_line = " %s c_result = %s(0);" % (vtype, vtype) + elif line.rstrip().find("c_result = SwigValueInit") > -1: + # vtype = line.strip().split()[0] + # init_line = " %s c_result = %s(0);" % (vtype, vtype) subst = append_subst( subst, " PYW_GIL_GET; %s\n" % patched_cmt + " try {", - init_line) + line) elif patch_kind == "repl_text": idx = line.find(patch_data[0]) @@ -234,6 +237,10 @@ with open(args.input, "rb") as f: " init_director_hooks(self, %s::mappings, %s::mappings_size);" % ( hooks_class_name, hooks_class_name), ] + for forbidden, replacement in (patch_data or []): + subst.append("ensure_no_method_when_no_695_compat(self, \"%s\", \"%s\");" % ( + forbidden, replacement)) + elif patch_kind == "thread_unsafe": if entered_function: subst = prepend_subst(subst, " if ( !__chkthr() ) return NULL; %s" % patched_cmt, line) @@ -282,15 +289,15 @@ with open(args.input, "rb") as f: current_function_proto = None if subst is not None: - if isinstance(subst, basestring): + if isinstance(subst, six.string_types): subst = [subst] all_lines.extend(map(lambda l: "%s\n" % l, subst)) else: all_lines.append(line) import tempfile -temp = tempfile.NamedTemporaryFile(delete=False) -temp.writelines(all_lines) +temp = tempfile.NamedTemporaryFile(mode="w", delete=False) +temp.write("".join(all_lines)) temp.close() import shutil diff --git a/tools/patch_codegen/idp.py b/tools/patch_codegen/idp.py index 9d44a3e..747f8ff 100644 --- a/tools/patch_codegen/idp.py +++ b/tools/patch_codegen/idp.py @@ -1,6 +1,9 @@ { "SwigDirector_IDP_Hooks::SwigDirector_IDP_Hooks" : [ - ("maybe_collect_director_fixed_method_set", None), + ("maybe_collect_director_fixed_method_set", + [ + ("auto_queue_empty", "ev_auto_queue_empty"), + ]), ], "SwigDirector_IDB_Hooks::SwigDirector_IDB_Hooks" : [ ("maybe_collect_director_fixed_method_set", None), @@ -21,10 +24,10 @@ if ( __argcnt == 2 ) { result = PyInt_FromLong(0); } - else if ( PyInt_Check(result) ) + else if ( IDAPyInt_Check(result) ) { - *color = bgcolor_t(PyInt_AsLong(result)); - result = PyInt_FromLong(1); + *color = bgcolor_t(IDAPyInt_AsLong(result)); + result = IDAPyInt_FromLong(1); } } """)), diff --git a/tools/patch_codegen/kernwin.py b/tools/patch_codegen/kernwin.py index f57c95c..8e9b328 100644 --- a/tools/patch_codegen/kernwin.py +++ b/tools/patch_codegen/kernwin.py @@ -3,7 +3,15 @@ ("va_copy", ("arg4", "temp")), ], "SwigDirector_UI_Hooks::SwigDirector_UI_Hooks" : [ - ("maybe_collect_director_fixed_method_set", None), + ("maybe_collect_director_fixed_method_set", + [ + ("tform_visible", "widget_visible"), + ("tform_invisible", "widget_invisible"), + ("populating_tform_popup", "populating_widget_popup"), + ("finish_populating_tform_popup", "finish_populating_widget_popup"), + ("current_tform_changed", "current_widget_changed"), + ] + ), ], "SwigDirector_View_Hooks::SwigDirector_View_Hooks" : [ ("maybe_collect_director_fixed_method_set", None), @@ -22,7 +30,12 @@ "(swig_get_self(), (PyObject *) swig_method_name ,(PyObject *)obj0,(PyObject *)obj1,(__argcnt < 4 ? NULL : (PyObject *)obj2), NULL)", )), ], - "__additional_thread_unsafe__" : ["py_get_ask_form", "py_get_open_form"], + "__additional_thread_unsafe__" : + [ + "py_get_ask_form", + "py_get_open_form", + "pyscv_init", + ], "error__varargs__" : [ ("repl_text", ("resultobj = SWIG_Py_Void();", " // resultobj = SWIG_Py_Void();")), ("repl_text", ("return resultobj;", "qnotused(resultobj); // return resultobj;")), diff --git a/tools/patch_codegen/nalt.py b/tools/patch_codegen/nalt.py new file mode 100644 index 0000000..c465666 --- /dev/null +++ b/tools/patch_codegen/nalt.py @@ -0,0 +1,6 @@ +{ + "__additional_thread_unsafe__" : + [ + "validate_idb_names", + ] +} diff --git a/tools/patch_constants.py b/tools/patch_constants.py index cf81c22..61d3d21 100644 --- a/tools/patch_constants.py +++ b/tools/patch_constants.py @@ -1,3 +1,14 @@ +""" + This script replaces the long sequence of calls like: + SWIG_Python_SetConstant(d, "s39_xg",SWIG_From_int(static_cast< int >(s39_xg))); + SWIG_Python_SetConstant(d, "s39_xgr",SWIG_From_int(static_cast< int >(s39_xgr))); + + by a table of names+values and a loop calling the function. + + This is necessitated by the huge slowdown in GCC when trying to optimize a huge list of such calls + in allins.cpp SWIG wrapper (~20 min). + +""" from __future__ import print_function import re @@ -55,75 +66,27 @@ subexprs = { "cit_int", "i", "int", - "SWIG_From_int(static_cast< int >(ci.val.i))"), - "u" : Foldable( - pyobj_expr_uint, - "cit_uint", - "u", - "unsigned int", - "SWIG_From_unsigned_SS_int(static_cast< unsigned int >(ci.val.u))"), - "l" : Foldable( - pyobj_expr_long, - "cit_long", - "l", - "long", - "SWIG_From_long(static_cast< long >(ci.val.l))"), - "ul" : Foldable( - pyobj_expr_ulong, - "cit_ulong", - "ul", - "unsigned long", - "SWIG_From_unsigned_SS_long(static_cast< unsigned long >(ci.val.ul))"), - "s" : Foldable( - pyobj_expr_str, - "cit_charptr", - "s", - "char *", - "SWIG_FromCharPtr(ci.val.s)"), + "SWIG_From_int(static_cast< int >(ci.val))"), } def generate_constants(constants): # now, generate the array & loop outlines.append(""" /* 'SetConstant' replacement */ -union ida_local cival_t -{ - PyObject *o; - int i; - unsigned int u; - long l; - unsigned long ul; - const char *s; -}; - -enum cit_t -{ - cit_int = 1, - cit_uint, - cit_long, - cit_ulong, - cit_charptr, - cit_obj, -}; - static const ida_local struct ci_t { const char *name; - cival_t val; - cit_t type; + int val; } cis[%d] = { """ % len(constants)) for c in constants: name = c[0] expr = c[1] - init = "o" - cast = "PyObject *" - citype = "cit_obj" # Analyze expression. If it is one of the # supported types, let's simplify the code. - for kind in subexprs.keys(): + for kind in ["i"]: subexpr = subexprs[kind] sematch = subexpr.re.search(expr) if sematch: @@ -133,7 +96,7 @@ static const ida_local struct ci_t cast = subexpr.cast subexpr.found_any = True break - outlines.append("\t{%s, {.%s = (%s) (%s)}, %s},\n" % (name, init, cast, expr, citype)) + outlines.append("\t{%s, static_cast< int >(%s)},\n" % (name, expr)) outlines.append(""" }; @@ -141,31 +104,17 @@ static const ida_local struct ci_t for ( size_t _cidx = 0; _cidx < qnumber(cis); ++_cidx ) { const ci_t &ci = cis[_cidx]; - PyObject *o = NULL; - switch ( ci.type ) - { -""") + PyObject *o = """) - for kind in subexprs.keys(): - subexpr = subexprs[kind] - if subexpr.found_any: - outlines.append(""" - case %s: - o = %s; - break; - """ % (subexpr.enum, subexpr.replacement)) + subexpr = subexprs["i"] + outlines.append("""%s;""" % (subexpr.replacement)) outlines.append(""" - case cit_obj: - o = ci.val.o; - break; - default: INTERR(0); - } SWIG_Python_SetConstant(d, ci.name, o); } """) -with open(args.input, "rb") as f: +with open(args.input) as f: constants = [] for line in f: @@ -196,7 +145,7 @@ with open(args.input, "rb") as f: print("Done collecting at line: '%s'" % line) else: match = set_constant_re.search(line) - if match: + if match and pyobj_expr_int.search(match.group(2)): tpl = (match.group(1), match.group(2)) constants.append(tpl) if args.verbose: @@ -205,7 +154,7 @@ with open(args.input, "rb") as f: outlines.append(line) import tempfile -temp = tempfile.NamedTemporaryFile(delete=False) +temp = tempfile.NamedTemporaryFile(mode="w", delete=False) temp.write("".join(outlines)) temp.close() diff --git a/tools/patch_directors_cc.py b/tools/patch_directors_cc.py index 87a48f0..ddcdfc6 100644 --- a/tools/patch_directors_cc.py +++ b/tools/patch_directors_cc.py @@ -1,10 +1,10 @@ from __future__ import print_function try: - from argparse import ArgumentParser + from argparse import ArgumentParser except: - print("Failed to import module 'argparse'. Upgrade to Python 2.7, copy argparse.py to this directory or try 'apt-get install python-argparse'") - raise + print("Failed to import module 'argparse'. Upgrade to Python 2.7, copy argparse.py to this directory or try 'apt-get install python-argparse'") + raise parser = ArgumentParser(description='Patch calling conventions for some functions, so it builds on windows') parser.add_argument("-f", "--file", required=True) @@ -102,7 +102,7 @@ patches = [ outlines = [] -with open(args.file, "rb") as f: +with open(args.file) as f: lines = f.readlines() for line in lines: for patch in patches: @@ -114,8 +114,8 @@ with open(args.file, "rb") as f: outlines.append(line) import tempfile -temp = tempfile.NamedTemporaryFile(delete=False) -temp.writelines(outlines) +temp = tempfile.NamedTemporaryFile(mode="w", delete=False) +temp.write("".join(outlines)) temp.close() import shutil diff --git a/tools/patch_h_codegen.py b/tools/patch_h_codegen.py index c9bb1b9..cf2a2b8 100644 --- a/tools/patch_h_codegen.py +++ b/tools/patch_h_codegen.py @@ -12,7 +12,7 @@ args = parser.parse_args() if os.path.isfile(args.patches): with open(args.file) as fin: - lines = map(str.rstrip, fin.readlines()) + lines = fin.readlines() patches = {} with open(args.patches) as fin: @@ -24,8 +24,8 @@ if os.path.isfile(args.patches): all_lines.append(l) import tempfile - temp = tempfile.NamedTemporaryFile(delete=False) - temp.write("\n".join(all_lines)) + temp = tempfile.NamedTemporaryFile(mode="w", delete=False) + temp.writelines(all_lines) temp.close() import shutil diff --git a/tools/patch_python_codegen.py b/tools/patch_python_codegen.py index a0c396d..8d708b6 100644 --- a/tools/patch_python_codegen.py +++ b/tools/patch_python_codegen.py @@ -1,6 +1,8 @@ from __future__ import print_function import os +import six + from argparse import ArgumentParser parser = ArgumentParser(description='Patch some Python code generation, so it builds') @@ -12,6 +14,7 @@ args = parser.parse_args() if os.path.isfile(args.patches): with open(args.file) as fin: + # strip newlines for easier matching lines = map(str.rstrip, fin.readlines()) patches = {} @@ -20,7 +23,7 @@ if os.path.isfile(args.patches): all_lines = [] for l in lines: - for patch_kind, patch_data in patches.iteritems(): + for patch_kind, patch_data in six.iteritems(patches): if patch_kind == "repl_line": for from_, to in patch_data: if l == from_: @@ -28,7 +31,8 @@ if os.path.isfile(args.patches): all_lines.append(l) import tempfile - temp = tempfile.NamedTemporaryFile(delete=False) + temp = tempfile.NamedTemporaryFile(mode="w", delete=False) + # since we had stripped newlines, need to add them back explicitly temp.write("\n".join(all_lines)) temp.close() diff --git a/tools/pydoc.py b/tools/pydoc.py new file mode 100755 index 0000000..94bd687 --- /dev/null +++ b/tools/pydoc.py @@ -0,0 +1,2663 @@ +#! /usr/bin/python3.5 +"""Generate Python documentation in HTML or text for interactive use. + +At the Python interactive prompt, calling help(thing) on a Python object +documents the object, and calling help() starts up an interactive +help session. + +Or, at the shell command line outside of Python: + +Run "pydoc " to show documentation on something. may be +the name of a function, module, package, or a dotted reference to a +class or function within a module or module in a package. If the +argument contains a path segment delimiter (e.g. slash on Unix, +backslash on Windows) it is treated as the path to a Python source file. + +Run "pydoc -k " to search for a keyword in the synopsis lines +of all available modules. + +Run "pydoc -p " to start an HTTP server on the given port on the +local machine. Port number 0 can be used to get an arbitrary unused port. + +Run "pydoc -b" to start an HTTP server on an arbitrary unused port and +open a Web browser to interactively browse documentation. The -p option +can be used with the -b option to explicitly specify the server port. + +Run "pydoc -w " to write out the HTML documentation for a module +to a file named ".html". + +Module docs for core modules are assumed to be in + + /usr/share/doc/pythonX.Y/html/library + +if the pythonX.Y-doc package is installed or in + + http://docs.python.org/X.Y/library/ + +This can be overridden by setting the PYTHONDOCS environment variable +to a different URL or to a local directory containing the Library +Reference Manual pages. +""" +__all__ = ['help'] +__author__ = "Ka-Ping Yee " +__date__ = "26 February 2001" + +__credits__ = """Guido van Rossum, for an excellent programming language. +Tommy Burnette, the original creator of manpy. +Paul Prescod, for all his work on onlinehelp. +Richard Chamberlain, for the first implementation of textdoc. +""" + +# Known bugs that can't be fixed here: +# - synopsis() cannot be prevented from clobbering existing +# loaded modules. +# - If the __file__ attribute on a module is a relative path and +# the current directory is changed with os.chdir(), an incorrect +# path will be displayed. + +import builtins +import sys +import importlib._bootstrap +if sys.version_info.major == 3 and sys.version_info.minor <= 4: + # Python 3.4 has everything in importlib._bootstrap + # For some reason, idapython doesn't let us catch ImportError, so there's + # no better solution than testing version. + importlib._bootstrap_external = importlib._bootstrap +else: + import importlib._bootstrap_external +import importlib.machinery +import importlib.util +import inspect +import io +import os +import pkgutil +import platform +import re +import time +import tokenize +import urllib.parse +import warnings +from collections import deque +from reprlib import Repr +from traceback import format_exception_only + + +# --------------------------------------------------------- common routines + +def pathdirs(): + """Convert sys.path into a list of absolute, existing, unique paths.""" + dirs = [] + normdirs = [] + for dir in sys.path: + dir = os.path.abspath(dir or '.') + normdir = os.path.normcase(dir) + if normdir not in normdirs and os.path.isdir(dir): + dirs.append(dir) + normdirs.append(normdir) + return dirs + +def getdoc(object): + """Get the doc string or comments for an object.""" + result = inspect.getdoc(object) or inspect.getcomments(object) + return result and re.sub('^ *\n', '', result.rstrip()) or '' + +def splitdoc(doc): + """Split a doc string into a synopsis line (if any) and the rest.""" + lines = doc.strip().split('\n') + if len(lines) == 1: + return lines[0], '' + elif len(lines) >= 2 and not lines[1].rstrip(): + return lines[0], '\n'.join(lines[2:]) + return '', '\n'.join(lines) + +def classname(object, modname): + """Get a class name and qualify it with a module name if necessary.""" + name = object.__name__ + if object.__module__ != modname: + name = object.__module__ + '.' + name + return name + +def isdata(object): + """Check if an object is of a type that probably means it's data.""" + return not (inspect.ismodule(object) or inspect.isclass(object) or + inspect.isroutine(object) or inspect.isframe(object) or + inspect.istraceback(object) or inspect.iscode(object)) + +def replace(text, *pairs): + """Do a series of global replacements on a string.""" + while pairs: + text = pairs[1].join(text.split(pairs[0])) + pairs = pairs[2:] + return text + +def cram(text, maxlen): + """Omit part of a string if needed to make it fit in a maximum length.""" + if len(text) > maxlen: + pre = max(0, (maxlen-3)//2) + post = max(0, maxlen-3-pre) + return text[:pre] + '...' + text[len(text)-post:] + return text + +_re_stripid = re.compile(r' at 0x[0-9a-f]{6,16}(>+)$', re.IGNORECASE) +def stripid(text): + """Remove the hexadecimal id from a Python object representation.""" + # The behaviour of %p is implementation-dependent in terms of case. + return _re_stripid.sub(r'\1', text) + +def _is_some_method(obj): + return (inspect.isfunction(obj) or + inspect.ismethod(obj) or + inspect.isbuiltin(obj) or + inspect.ismethoddescriptor(obj)) + +def _is_bound_method(fn): + """ + Returns True if fn is a bound method, regardless of whether + fn was implemented in Python or in C. + """ + if inspect.ismethod(fn): + return True + if inspect.isbuiltin(fn): + self = getattr(fn, '__self__', None) + return not (inspect.ismodule(self) or (self is None)) + return False + + +def allmethods(cl): + methods = {} + for key, value in inspect.getmembers(cl, _is_some_method): + methods[key] = 1 + for base in cl.__bases__: + methods.update(allmethods(base)) # all your base are belong to us + for key in methods.keys(): + methods[key] = getattr(cl, key) + return methods + +def _split_list(s, predicate): + """Split sequence s via predicate, and return pair ([true], [false]). + + The return value is a 2-tuple of lists, + ([x for x in s if predicate(x)], + [x for x in s if not predicate(x)]) + """ + + yes = [] + no = [] + for x in s: + if predicate(x): + yes.append(x) + else: + no.append(x) + return yes, no + +def visiblename(name, all=None, obj=None): + """Decide whether to show documentation on a variable.""" + # Certain special names are redundant or internal. + # XXX Remove __initializing__? + if name in {'__author__', '__builtins__', '__cached__', '__credits__', + '__date__', '__doc__', '__file__', '__spec__', + '__loader__', '__module__', '__name__', '__package__', + '__path__', '__qualname__', '__slots__', '__version__'}: + return 0 + # Private names are hidden, but special names are displayed. + if name.startswith('__') and name.endswith('__'): return 1 + # Namedtuples have public fields and methods with a single leading underscore + if name.startswith('_') and hasattr(obj, '_fields'): + return True + if all is not None: + # only document that which the programmer exported in __all__ + return name in all + else: + return not name.startswith('_') + +def classify_class_attrs(object): + """Wrap inspect.classify_class_attrs, with fixup for data descriptors.""" + results = [] + for (name, kind, cls, value) in inspect.classify_class_attrs(object): + if inspect.isdatadescriptor(value): + kind = 'data descriptor' + results.append((name, kind, cls, value)) + return results + +# ----------------------------------------------------- module manipulation + +def ispackage(path): + """Guess whether a path refers to a package directory.""" + if os.path.isdir(path): + for ext in ('.py', '.pyc'): + if os.path.isfile(os.path.join(path, '__init__' + ext)): + return True + return False + +def source_synopsis(file): + line = file.readline() + while line[:1] == '#' or not line.strip(): + line = file.readline() + if not line: break + line = line.strip() + if line[:4] == 'r"""': line = line[1:] + if line[:3] == '"""': + line = line[3:] + if line[-1:] == '\\': line = line[:-1] + while not line.strip(): + line = file.readline() + if not line: break + result = line.split('"""')[0].strip() + else: result = None + return result + +def synopsis(filename, cache={}): + """Get the one-line summary out of a module file.""" + mtime = os.stat(filename).st_mtime + lastupdate, result = cache.get(filename, (None, None)) + if lastupdate is None or lastupdate < mtime: + # Look for binary suffixes first, falling back to source. + if filename.endswith(tuple(importlib.machinery.BYTECODE_SUFFIXES)): + loader_cls = importlib.machinery.SourcelessFileLoader + elif filename.endswith(tuple(importlib.machinery.EXTENSION_SUFFIXES)): + loader_cls = importlib.machinery.ExtensionFileLoader + else: + loader_cls = None + # Now handle the choice. + if loader_cls is None: + # Must be a source file. + try: + file = tokenize.open(filename) + except OSError: + # module can't be opened, so skip it + return None + # text modules can be directly examined + with file: + result = source_synopsis(file) + else: + # Must be a binary module, which has to be imported. + loader = loader_cls('__temp__', filename) + # XXX We probably don't need to pass in the loader here. + spec = importlib.util.spec_from_file_location('__temp__', filename, + loader=loader) + try: + module = importlib._bootstrap._load(spec) + except: + return None + del sys.modules['__temp__'] + result = module.__doc__.splitlines()[0] if module.__doc__ else None + # Cache the result. + cache[filename] = (mtime, result) + return result + +class ErrorDuringImport(Exception): + """Errors that occurred while trying to import something to document it.""" + def __init__(self, filename, exc_info): + self.filename = filename + self.exc, self.value, self.tb = exc_info + + def __str__(self): + exc = self.exc.__name__ + return 'problem in %s - %s: %s' % (self.filename, exc, self.value) + +def importfile(path): + """Import a Python source file or compiled file given its path.""" + magic = importlib.util.MAGIC_NUMBER + with open(path, 'rb') as file: + is_bytecode = magic == file.read(len(magic)) + filename = os.path.basename(path) + name, ext = os.path.splitext(filename) + if is_bytecode: + loader = importlib._bootstrap_external.SourcelessFileLoader(name, path) + else: + loader = importlib._bootstrap_external.SourceFileLoader(name, path) + # XXX We probably don't need to pass in the loader here. + spec = importlib.util.spec_from_file_location(name, path, loader=loader) + try: + return importlib._bootstrap._load(spec) + except: + raise ErrorDuringImport(path, sys.exc_info()) + +def safeimport(path, forceload=0, cache={}): + """Import a module; handle errors; return None if the module isn't found. + + If the module *is* found but an exception occurs, it's wrapped in an + ErrorDuringImport exception and reraised. Unlike __import__, if a + package path is specified, the module at the end of the path is returned, + not the package at the beginning. If the optional 'forceload' argument + is 1, we reload the module from disk (unless it's a dynamic extension).""" + try: + # If forceload is 1 and the module has been previously loaded from + # disk, we always have to reload the module. Checking the file's + # mtime isn't good enough (e.g. the module could contain a class + # that inherits from another module that has changed). + if forceload and path in sys.modules: + if path not in sys.builtin_module_names: + # Remove the module from sys.modules and re-import to try + # and avoid problems with partially loaded modules. + # Also remove any submodules because they won't appear + # in the newly loaded module's namespace if they're already + # in sys.modules. + subs = [m for m in sys.modules if m.startswith(path + '.')] + for key in [path] + subs: + # Prevent garbage collection. + cache[key] = sys.modules[key] + del sys.modules[key] + module = __import__(path) + except: + # Did the error occur before or after the module was found? + (exc, value, tb) = info = sys.exc_info() + if path in sys.modules: + # An error occurred while executing the imported module. + raise ErrorDuringImport(sys.modules[path].__file__, info) + elif exc is SyntaxError: + # A SyntaxError occurred before we could execute the module. + raise ErrorDuringImport(value.filename, info) + elif exc is ImportError and value.name == path: + # No such module in the path. + return None + else: + # Some other error occurred during the importing process. + raise ErrorDuringImport(path, sys.exc_info()) + for part in path.split('.')[1:]: + try: module = getattr(module, part) + except AttributeError: return None + return module + +# ---------------------------------------------------- formatter base class + +class Doc: + + PYTHONDOCS = os.environ.get("PYTHONDOCS", + "https://docs.python.org/%d.%d/library" + % sys.version_info[:2]) + + def document(self, object, name=None, *args): + """Generate documentation for an object.""" + args = (object, name) + args + # 'try' clause is to attempt to handle the possibility that inspect + # identifies something in a way that pydoc itself has issues handling; + # think 'super' and how it is a descriptor (which raises the exception + # by lacking a __name__ attribute) and an instance. + if inspect.isgetsetdescriptor(object): return self.docdata(*args) + if inspect.ismemberdescriptor(object): return self.docdata(*args) + try: + if inspect.ismodule(object): return self.docmodule(*args) + if inspect.isclass(object): return self.docclass(*args) + if inspect.isroutine(object): return self.docroutine(*args) + except AttributeError: + pass + if isinstance(object, property): return self.docproperty(*args) + return self.docother(*args) + + def fail(self, object, name=None, *args): + """Raise an exception for unimplemented types.""" + message = "don't know how to document object%s of type %s" % ( + name and ' ' + repr(name), type(object).__name__) + raise TypeError(message) + + docmodule = docclass = docroutine = docother = docproperty = docdata = fail + + def getdocloc(self, object, + basedir=os.path.join(sys.base_exec_prefix, "lib", + "python%d.%d" % sys.version_info[:2])): + """Return the location of module docs or None""" + + try: + file = inspect.getabsfile(object) + except TypeError: + file = '(built-in)' + + docloc = os.environ.get("PYTHONDOCS", self.PYTHONDOCS) + + if (isinstance(object, type(os)) and + (object.__name__ in ('errno', 'exceptions', 'gc', 'imp', + 'marshal', 'posix', 'signal', 'sys', + '_thread', 'zipimport') or + (file.startswith(basedir) and + not file.startswith(os.path.join(basedir, 'dist-packages')) and + not file.startswith(os.path.join(basedir, 'site-packages')))) and + object.__name__ not in ('xml.etree', 'test.pydoc_mod')): + if docloc.startswith("http://"): + docloc = "%s/%s" % (docloc.rstrip("/"), object.__name__.lower()) + else: + docloc = os.path.join(docloc, object.__name__.lower() + ".html") + else: + docloc = None + return docloc + +# -------------------------------------------- HTML documentation generator + +class HTMLRepr(Repr): + """Class for safely making an HTML representation of a Python object.""" + def __init__(self): + Repr.__init__(self) + self.maxlist = self.maxtuple = 20 + self.maxdict = 10 + self.maxstring = self.maxother = 100 + + def escape(self, text): + return replace(text, '&', '&', '<', '<', '>', '>') + + def repr(self, object): + return Repr.repr(self, object) + + def repr1(self, x, level): + if hasattr(type(x), '__name__'): + methodname = 'repr_' + '_'.join(type(x).__name__.split()) + if hasattr(self, methodname): + return getattr(self, methodname)(x, level) + return self.escape(cram(stripid(repr(x)), self.maxother)) + + def repr_string(self, x, level): + test = cram(x, self.maxstring) + testrepr = repr(test) + if '\\' in test and '\\' not in replace(testrepr, r'\\', ''): + # Backslashes are only literal in the string and are never + # needed to make any special characters, so show a raw string. + return 'r' + testrepr[0] + self.escape(test) + testrepr[0] + return re.sub(r'((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)', + r'\1', + self.escape(testrepr)) + + repr_str = repr_string + + def repr_instance(self, x, level): + try: + return self.escape(cram(stripid(repr(x)), self.maxstring)) + except: + return self.escape('<%s instance>' % x.__class__.__name__) + + repr_unicode = repr_string + +class HTMLDoc(Doc): + """Formatter class for HTML documentation.""" + + # ------------------------------------------- HTML formatting utilities + + _repr_instance = HTMLRepr() + repr = _repr_instance.repr + escape = _repr_instance.escape + + def page(self, title, contents): + """Format an HTML page.""" + return '''\ + +Python: %s + + +%s +''' % (title, contents) + + def heading(self, title, fgcol, bgcol, extras=''): + """Format a page heading.""" + return ''' + + +
 
+ 
%s
%s
+ ''' % (bgcol, fgcol, title, fgcol, extras or ' ') + + def section(self, title, fgcol, bgcol, contents, width=6, + prelude='', marginalia=None, gap=' '): + """Format a section with a heading.""" + if marginalia is None: + marginalia = '' + ' ' * width + '' + result = '''

+ + + + ''' % (bgcol, fgcol, title) + if prelude: + result = result + ''' + + +''' % (bgcol, marginalia, prelude, gap) + else: + result = result + ''' +''' % (bgcol, marginalia, gap) + + return result + '\n
 
+%s
%s%s
%s
%s%s%s
' % contents + + def bigsection(self, title, *args): + """Format a section with a big heading.""" + title = '%s' % title + return self.section(title, *args) + + def preformat(self, text): + """Format literal preformatted text.""" + text = self.escape(text.expandtabs()) + return replace(text, '\n\n', '\n \n', '\n\n', '\n \n', + ' ', ' ', '\n', '
\n') + + def multicolumn(self, list, format, cols=4): + """Format a list of items into a multi-column list.""" + result = '' + rows = (len(list)+cols-1)//cols + for col in range(cols): + result = result + '' % (100//cols) + for i in range(rows*col, rows*col+rows): + if i < len(list): + result = result + format(list[i]) + '
\n' + result = result + '' + return '%s
' % result + + def grey(self, text): return '%s' % text + + def namelink(self, name, *dicts): + """Make a link for an identifier, given name-to-URL mappings.""" + for dict in dicts: + if name in dict: + return '%s' % (dict[name], name) + return name + + def classlink(self, object, modname): + """Make a link for a class.""" + name, module = object.__name__, sys.modules.get(object.__module__) + if hasattr(module, name) and getattr(module, name) is object: + return '%s' % ( + module.__name__, name, classname(object, modname)) + return classname(object, modname) + + def modulelink(self, object): + """Make a link for a module.""" + return '%s' % (object.__name__, object.__name__) + + def modpkglink(self, modpkginfo): + """Make a link for a module or package to display in an index.""" + name, path, ispackage, shadowed = modpkginfo + if shadowed: + return self.grey(name) + if path: + url = '%s.%s.html' % (path, name) + else: + url = '%s.html' % name + if ispackage: + text = '%s (package)' % name + else: + text = name + return '%s' % (url, text) + + def filelink(self, url, path): + """Make a link to source file.""" + return '%s' % (url, path) + + def markup(self, text, escape=None, funcs={}, classes={}, methods={}): + """Mark up some plain text, given a context of symbols to look for. + Each context dictionary maps object names to anchor names.""" + escape = escape or self.escape + results = [] + here = 0 + pattern = re.compile(r'\b((http|ftp)://\S+[\w/]|' + r'RFC[- ]?(\d+)|' + r'PEP[- ]?(\d+)|' + r'(self\.)?(\w+))') + while True: + match = pattern.search(text, here) + if not match: break + start, end = match.span() + results.append(escape(text[here:start])) + + all, scheme, rfc, pep, selfdot, name = match.groups() + if scheme: + url = escape(all).replace('"', '"') + results.append('%s' % (url, url)) + elif rfc: + url = 'http://www.rfc-editor.org/rfc/rfc%d.txt' % int(rfc) + results.append('%s' % (url, escape(all))) + elif pep: + url = 'http://www.python.org/dev/peps/pep-%04d/' % int(pep) + results.append('%s' % (url, escape(all))) + elif selfdot: + # Create a link for methods like 'self.method(...)' + # and use for attributes like 'self.attr' + if text[end:end+1] == '(': + results.append('self.' + self.namelink(name, methods)) + else: + results.append('self.%s' % name) + elif text[end:end+1] == '(': + results.append(self.namelink(name, methods, funcs, classes)) + else: + results.append(self.namelink(name, classes)) + here = end + results.append(escape(text[here:])) + return ''.join(results) + + # ---------------------------------------------- type-specific routines + + def formattree(self, tree, modname, parent=None): + """Produce HTML for a class tree as given by inspect.getclasstree().""" + result = '' + for entry in tree: + if type(entry) is type(()): + c, bases = entry + result = result + '

' + result = result + self.classlink(c, modname) + if bases and bases != (parent,): + parents = [] + for base in bases: + parents.append(self.classlink(base, modname)) + result = result + '(' + ', '.join(parents) + ')' + result = result + '\n
' + elif type(entry) is type([]): + result = result + '
\n%s
\n' % self.formattree( + entry, modname, c) + return '
\n%s
\n' % result + + def docmodule(self, object, name=None, mod=None, *ignored): + """Produce HTML documentation for a module object.""" + name = object.__name__ # ignore the passed-in name + try: + all = object.__all__ + except AttributeError: + all = None + parts = name.split('.') + links = [] + for i in range(len(parts)-1): + links.append( + '%s' % + ('.'.join(parts[:i+1]), parts[i])) + linkedname = '.'.join(links + parts[-1:]) + head = '%s' % linkedname + try: + path = inspect.getabsfile(object) + url = urllib.parse.quote(path) + filelink = self.filelink(url, path) + except TypeError: + filelink = '(built-in)' + info = [] + if hasattr(object, '__version__'): + version = str(object.__version__) + if version[:11] == '$' + 'Revision: ' and version[-1:] == '$': + version = version[11:-1].strip() + info.append('version %s' % self.escape(version)) + if hasattr(object, '__date__'): + info.append(self.escape(str(object.__date__))) + if info: + head = head + ' (%s)' % ', '.join(info) + docloc = self.getdocloc(object) + if docloc is not None: + docloc = '
Module Reference' % locals() + else: + docloc = '' + result = self.heading( + head, '#ffffff', '#7799ee', + 'index
' + filelink + docloc) + + modules = inspect.getmembers(object, inspect.ismodule) + + classes, cdict = [], {} + for key, value in inspect.getmembers(object, inspect.isclass): + # if __all__ exists, believe it. Otherwise use old heuristic. + if (all is not None or + (inspect.getmodule(value) or object) is object): + if visiblename(key, all, object): + classes.append((key, value)) + cdict[key] = cdict[value] = '#' + key + for key, value in classes: + for base in value.__bases__: + key, modname = base.__name__, base.__module__ + module = sys.modules.get(modname) + if modname != name and module and hasattr(module, key): + if getattr(module, key) is base: + if not key in cdict: + cdict[key] = cdict[base] = modname + '.html#' + key + funcs, fdict = [], {} + for key, value in inspect.getmembers(object, inspect.isroutine): + # if __all__ exists, believe it. Otherwise use old heuristic. + if (all is not None or + inspect.isbuiltin(value) or inspect.getmodule(value) is object): + if visiblename(key, all, object): + funcs.append((key, value)) + fdict[key] = '#-' + key + if inspect.isfunction(value): fdict[value] = fdict[key] + data = [] + for key, value in inspect.getmembers(object, isdata): + if visiblename(key, all, object): + data.append((key, value)) + + doc = self.markup(getdoc(object), self.preformat, fdict, cdict) + doc = doc and '%s' % doc + result = result + '

%s

\n' % doc + + if hasattr(object, '__path__'): + modpkgs = [] + for importer, modname, ispkg in pkgutil.iter_modules(object.__path__): + modpkgs.append((modname, name, ispkg, 0)) + modpkgs.sort() + contents = self.multicolumn(modpkgs, self.modpkglink) + result = result + self.bigsection( + 'Package Contents', '#ffffff', '#aa55cc', contents) + elif modules: + contents = self.multicolumn( + modules, lambda t: self.modulelink(t[1])) + result = result + self.bigsection( + 'Modules', '#ffffff', '#aa55cc', contents) + + if classes: + classlist = [value for (key, value) in classes] + contents = [ + self.formattree(inspect.getclasstree(classlist, 1), name)] + for key, value in classes: + contents.append(self.document(value, key, name, fdict, cdict)) + result = result + self.bigsection( + 'Classes', '#ffffff', '#ee77aa', ' '.join(contents)) + if funcs: + contents = [] + for key, value in funcs: + contents.append(self.document(value, key, name, fdict, cdict)) + result = result + self.bigsection( + 'Functions', '#ffffff', '#eeaa77', ' '.join(contents)) + if data: + contents = [] + for key, value in data: + contents.append(self.document(value, key)) + result = result + self.bigsection( + 'Data', '#ffffff', '#55aa55', '
\n'.join(contents)) + if hasattr(object, '__author__'): + contents = self.markup(str(object.__author__), self.preformat) + result = result + self.bigsection( + 'Author', '#ffffff', '#7799ee', contents) + if hasattr(object, '__credits__'): + contents = self.markup(str(object.__credits__), self.preformat) + result = result + self.bigsection( + 'Credits', '#ffffff', '#7799ee', contents) + + return result + + def docclass(self, object, name=None, mod=None, funcs={}, classes={}, + *ignored): + """Produce HTML documentation for a class object.""" + realname = object.__name__ + name = name or realname + bases = object.__bases__ + + contents = [] + push = contents.append + + # Cute little class to pump out a horizontal rule between sections. + class HorizontalRule: + def __init__(self): + self.needone = 0 + def maybe(self): + if self.needone: + push('
\n') + self.needone = 1 + hr = HorizontalRule() + + # List the mro, if non-trivial. + mro = deque(inspect.getmro(object)) + if len(mro) > 2: + hr.maybe() + push('
Method resolution order:
\n') + for base in mro: + push('
%s
\n' % self.classlink(base, + object.__module__)) + push('
\n') + + def spill(msg, attrs, predicate): + ok, attrs = _split_list(attrs, predicate) + if ok: + hr.maybe() + push(msg) + for name, kind, homecls, value in ok: + try: + value = getattr(object, name) + except Exception: + # Some descriptors may meet a failure in their __get__. + # (bug #1785) + push(self._docdescriptor(name, value, mod)) + else: + push(self.document(value, name, mod, + funcs, classes, mdict, object)) + push('\n') + return attrs + + def spilldescriptors(msg, attrs, predicate): + ok, attrs = _split_list(attrs, predicate) + if ok: + hr.maybe() + push(msg) + for name, kind, homecls, value in ok: + push(self._docdescriptor(name, value, mod)) + return attrs + + def spilldata(msg, attrs, predicate): + ok, attrs = _split_list(attrs, predicate) + if ok: + hr.maybe() + push(msg) + for name, kind, homecls, value in ok: + base = self.docother(getattr(object, name), name, mod) + if callable(value) or inspect.isdatadescriptor(value): + doc = getattr(value, "__doc__", None) + else: + doc = None + if doc is None: + push('
%s
\n' % base) + else: + doc = self.markup(getdoc(value), self.preformat, + funcs, classes, mdict) + doc = '
%s' % doc + push('
%s%s
\n' % (base, doc)) + push('\n') + return attrs + + attrs = [(name, kind, cls, value) + for name, kind, cls, value in classify_class_attrs(object) + if visiblename(name, obj=object)] + + mdict = {} + for key, kind, homecls, value in attrs: + mdict[key] = anchor = '#' + name + '-' + key + try: + value = getattr(object, name) + except Exception: + # Some descriptors may meet a failure in their __get__. + # (bug #1785) + pass + try: + # The value may not be hashable (e.g., a data attr with + # a dict or list value). + mdict[value] = anchor + except TypeError: + pass + + while attrs: + if mro: + thisclass = mro.popleft() + else: + thisclass = attrs[0][2] + attrs, inherited = _split_list(attrs, lambda t: t[2] is thisclass) + + if thisclass is builtins.object: + attrs = inherited + continue + elif thisclass is object: + tag = 'defined here' + else: + tag = 'inherited from %s' % self.classlink(thisclass, + object.__module__) + tag += ':
\n' + + # Sort attrs by name. + attrs.sort(key=lambda t: t[0]) + + # Pump out the attrs, segregated by kind. + attrs = spill('Methods %s' % tag, attrs, + lambda t: t[1] == 'method') + attrs = spill('Class methods %s' % tag, attrs, + lambda t: t[1] == 'class method') + attrs = spill('Static methods %s' % tag, attrs, + lambda t: t[1] == 'static method') + attrs = spilldescriptors('Data descriptors %s' % tag, attrs, + lambda t: t[1] == 'data descriptor') + attrs = spilldata('Data and other attributes %s' % tag, attrs, + lambda t: t[1] == 'data') + assert attrs == [] + attrs = inherited + + contents = ''.join(contents) + + if name == realname: + title = 'class %s' % ( + name, realname) + else: + title = '%s = class %s' % ( + name, name, realname) + if bases: + parents = [] + for base in bases: + parents.append(self.classlink(base, object.__module__)) + title = title + '(%s)' % ', '.join(parents) + doc = self.markup(getdoc(object), self.preformat, funcs, classes, mdict) + doc = doc and '%s
 
' % doc + + return self.section(title, '#000000', '#ffc8d8', contents, 3, doc) + + def formatvalue(self, object): + """Format an argument default value as text.""" + return self.grey('=' + self.repr(object)) + + def docroutine(self, object, name=None, mod=None, + funcs={}, classes={}, methods={}, cl=None): + """Produce HTML documentation for a function or method object.""" + realname = object.__name__ + name = name or realname + anchor = (cl and cl.__name__ or '') + '-' + name + note = '' + skipdocs = 0 + if _is_bound_method(object): + imclass = object.__self__.__class__ + if cl: + if imclass is not cl: + note = ' from ' + self.classlink(imclass, mod) + else: + if object.__self__ is not None: + note = ' method of %s instance' % self.classlink( + object.__self__.__class__, mod) + else: + note = ' unbound %s method' % self.classlink(imclass,mod) + + if name == realname: + title = '%s' % (anchor, realname) + else: + if (cl and realname in cl.__dict__ and + cl.__dict__[realname] is object): + reallink = '%s' % ( + cl.__name__ + '-' + realname, realname) + skipdocs = 1 + else: + reallink = realname + title = '%s = %s' % ( + anchor, name, reallink) + argspec = None + if inspect.isroutine(object): + try: + signature = inspect.signature(object) + except (ValueError, TypeError): + signature = None + if signature: + argspec = str(signature) + if realname == '': + title = '%s lambda ' % name + # XXX lambda's won't usually have func_annotations['return'] + # since the syntax doesn't support but it is possible. + # So removing parentheses isn't truly safe. + argspec = argspec[1:-1] # remove parentheses + if not argspec: + argspec = '(...)' + + decl = title + self.escape(argspec) + (note and self.grey( + '%s' % note)) + + if skipdocs: + return '
%s
\n' % decl + else: + doc = self.markup( + getdoc(object), self.preformat, funcs, classes, methods) + doc = doc and '
%s
' % doc + return '
%s
%s
\n' % (decl, doc) + + def _docdescriptor(self, name, value, mod): + results = [] + push = results.append + + if name: + push('
%s
\n' % name) + if value.__doc__ is not None: + doc = self.markup(getdoc(value), self.preformat) + push('
%s
\n' % doc) + push('
\n') + + return ''.join(results) + + def docproperty(self, object, name=None, mod=None, cl=None): + """Produce html documentation for a property.""" + return self._docdescriptor(name, object, mod) + + def docother(self, object, name=None, mod=None, *ignored): + """Produce HTML documentation for a data object.""" + lhs = name and '%s = ' % name or '' + return lhs + self.repr(object) + + def docdata(self, object, name=None, mod=None, cl=None): + """Produce html documentation for a data descriptor.""" + return self._docdescriptor(name, object, mod) + + def index(self, dir, shadowed=None): + """Generate an HTML index for a directory of modules.""" + modpkgs = [] + if shadowed is None: shadowed = {} + for importer, name, ispkg in pkgutil.iter_modules([dir]): + if any((0xD800 <= ord(ch) <= 0xDFFF) for ch in name): + # ignore a module if its name contains a surrogate character + continue + modpkgs.append((name, '', ispkg, name in shadowed)) + shadowed[name] = 1 + + modpkgs.sort() + contents = self.multicolumn(modpkgs, self.modpkglink) + return self.bigsection(dir, '#ffffff', '#ee77aa', contents) + +# -------------------------------------------- text documentation generator + +class TextRepr(Repr): + """Class for safely making a text representation of a Python object.""" + def __init__(self): + Repr.__init__(self) + self.maxlist = self.maxtuple = 20 + self.maxdict = 10 + self.maxstring = self.maxother = 100 + + def repr1(self, x, level): + if hasattr(type(x), '__name__'): + methodname = 'repr_' + '_'.join(type(x).__name__.split()) + if hasattr(self, methodname): + return getattr(self, methodname)(x, level) + return cram(stripid(repr(x)), self.maxother) + + def repr_string(self, x, level): + test = cram(x, self.maxstring) + testrepr = repr(test) + if '\\' in test and '\\' not in replace(testrepr, r'\\', ''): + # Backslashes are only literal in the string and are never + # needed to make any special characters, so show a raw string. + return 'r' + testrepr[0] + test + testrepr[0] + return testrepr + + repr_str = repr_string + + def repr_instance(self, x, level): + try: + return cram(stripid(repr(x)), self.maxstring) + except: + return '<%s instance>' % x.__class__.__name__ + +class TextDoc(Doc): + """Formatter class for text documentation.""" + + # ------------------------------------------- text formatting utilities + + _repr_instance = TextRepr() + repr = _repr_instance.repr + + def bold(self, text): + """Format a string in bold by overstriking.""" + return ''.join(ch + '\b' + ch for ch in text) + + def indent(self, text, prefix=' '): + """Indent text by prepending a given prefix to each line.""" + if not text: return '' + lines = [prefix + line for line in text.split('\n')] + if lines: lines[-1] = lines[-1].rstrip() + return '\n'.join(lines) + + def section(self, title, contents): + """Format a section with a given heading.""" + clean_contents = self.indent(contents).rstrip() + return self.bold(title) + '\n' + clean_contents + '\n\n' + + # ---------------------------------------------- type-specific routines + + def formattree(self, tree, modname, parent=None, prefix=''): + """Render in text a class tree as returned by inspect.getclasstree().""" + result = '' + for entry in tree: + if type(entry) is type(()): + c, bases = entry + result = result + prefix + classname(c, modname) + if bases and bases != (parent,): + parents = (classname(c, modname) for c in bases) + result = result + '(%s)' % ', '.join(parents) + result = result + '\n' + elif type(entry) is type([]): + result = result + self.formattree( + entry, modname, c, prefix + ' ') + return result + + def docmodule(self, object, name=None, mod=None): + """Produce text documentation for a given module object.""" + name = object.__name__ # ignore the passed-in name + synop, desc = splitdoc(getdoc(object)) + result = self.section('NAME', name + (synop and ' - ' + synop)) + all = getattr(object, '__all__', None) + docloc = self.getdocloc(object) + if docloc is not None: + result = result + self.section('MODULE REFERENCE', docloc + """ + +The following documentation is automatically generated from the Python +source files. It may be incomplete, incorrect or include features that +are considered implementation detail and may vary between Python +implementations. When in doubt, consult the module reference at the +location listed above. +""") + + if desc: + result = result + self.section('DESCRIPTION', desc) + + classes = [] + for key, value in inspect.getmembers(object, inspect.isclass): + # if __all__ exists, believe it. Otherwise use old heuristic. + if (all is not None + or (inspect.getmodule(value) or object) is object): + if visiblename(key, all, object): + classes.append((key, value)) + funcs = [] + for key, value in inspect.getmembers(object, inspect.isroutine): + # if __all__ exists, believe it. Otherwise use old heuristic. + if (all is not None or + inspect.isbuiltin(value) or inspect.getmodule(value) is object): + if visiblename(key, all, object): + funcs.append((key, value)) + data = [] + for key, value in inspect.getmembers(object, isdata): + if visiblename(key, all, object): + data.append((key, value)) + + modpkgs = [] + modpkgs_names = set() + if hasattr(object, '__path__'): + for importer, modname, ispkg in pkgutil.iter_modules(object.__path__): + modpkgs_names.add(modname) + if ispkg: + modpkgs.append(modname + ' (package)') + else: + modpkgs.append(modname) + + modpkgs.sort() + result = result + self.section( + 'PACKAGE CONTENTS', '\n'.join(modpkgs)) + + # Detect submodules as sometimes created by C extensions + submodules = [] + for key, value in inspect.getmembers(object, inspect.ismodule): + if value.__name__.startswith(name + '.') and key not in modpkgs_names: + submodules.append(key) + if submodules: + submodules.sort() + result = result + self.section( + 'SUBMODULES', '\n'.join(submodules)) + + if classes: + classlist = [value for key, value in classes] + contents = [self.formattree( + inspect.getclasstree(classlist, 1), name)] + for key, value in classes: + contents.append(self.document(value, key, name)) + result = result + self.section('CLASSES', '\n'.join(contents)) + + if funcs: + contents = [] + for key, value in funcs: + contents.append(self.document(value, key, name)) + result = result + self.section('FUNCTIONS', '\n'.join(contents)) + + if data: + contents = [] + for key, value in data: + contents.append(self.docother(value, key, name, maxlen=70)) + result = result + self.section('DATA', '\n'.join(contents)) + + if hasattr(object, '__version__'): + version = str(object.__version__) + if version[:11] == '$' + 'Revision: ' and version[-1:] == '$': + version = version[11:-1].strip() + result = result + self.section('VERSION', version) + if hasattr(object, '__date__'): + result = result + self.section('DATE', str(object.__date__)) + if hasattr(object, '__author__'): + result = result + self.section('AUTHOR', str(object.__author__)) + if hasattr(object, '__credits__'): + result = result + self.section('CREDITS', str(object.__credits__)) + try: + file = inspect.getabsfile(object) + except TypeError: + file = '(built-in)' + result = result + self.section('FILE', file) + return result + + def docclass(self, object, name=None, mod=None, *ignored): + """Produce text documentation for a given class object.""" + realname = object.__name__ + name = name or realname + bases = object.__bases__ + + def makename(c, m=object.__module__): + return classname(c, m) + + if name == realname: + title = 'class ' + self.bold(realname) + else: + title = self.bold(name) + ' = class ' + realname + if bases: + parents = map(makename, bases) + title = title + '(%s)' % ', '.join(parents) + + doc = getdoc(object) + contents = doc and [doc + '\n'] or [] + push = contents.append + + # List the mro, if non-trivial. + mro = deque(inspect.getmro(object)) + if len(mro) > 2: + push("Method resolution order:") + for base in mro: + push(' ' + makename(base)) + push('') + + # Cute little class to pump out a horizontal rule between sections. + class HorizontalRule: + def __init__(self): + self.needone = 0 + def maybe(self): + if self.needone: + push('-' * 70) + self.needone = 1 + hr = HorizontalRule() + + def spill(msg, attrs, predicate): + ok, attrs = _split_list(attrs, predicate) + if ok: + hr.maybe() + push(msg) + for name, kind, homecls, value in ok: + try: + value = getattr(object, name) + except Exception: + # Some descriptors may meet a failure in their __get__. + # (bug #1785) + push(self._docdescriptor(name, value, mod)) + else: + push(self.document(value, + name, mod, object)) + return attrs + + def spilldescriptors(msg, attrs, predicate): + ok, attrs = _split_list(attrs, predicate) + if ok: + hr.maybe() + push(msg) + for name, kind, homecls, value in ok: + push(self._docdescriptor(name, value, mod)) + return attrs + + def spilldata(msg, attrs, predicate): + ok, attrs = _split_list(attrs, predicate) + if ok: + hr.maybe() + push(msg) + for name, kind, homecls, value in ok: + if callable(value) or inspect.isdatadescriptor(value): + doc = getdoc(value) + else: + doc = None + try: + obj = getattr(object, name) + except AttributeError: + obj = homecls.__dict__[name] + push(self.docother(obj, name, mod, maxlen=70, doc=doc) + + '\n') + return attrs + + attrs = [(name, kind, cls, value) + for name, kind, cls, value in classify_class_attrs(object) + if visiblename(name, obj=object)] + + while attrs: + if mro: + thisclass = mro.popleft() + else: + thisclass = attrs[0][2] + attrs, inherited = _split_list(attrs, lambda t: t[2] is thisclass) + + if thisclass is builtins.object: + attrs = inherited + continue + elif thisclass is object: + tag = "defined here" + else: + tag = "inherited from %s" % classname(thisclass, + object.__module__) + # Sort attrs by name. + attrs.sort() + + # Pump out the attrs, segregated by kind. + attrs = spill("Methods %s:\n" % tag, attrs, + lambda t: t[1] == 'method') + attrs = spill("Class methods %s:\n" % tag, attrs, + lambda t: t[1] == 'class method') + attrs = spill("Static methods %s:\n" % tag, attrs, + lambda t: t[1] == 'static method') + attrs = spilldescriptors("Data descriptors %s:\n" % tag, attrs, + lambda t: t[1] == 'data descriptor') + attrs = spilldata("Data and other attributes %s:\n" % tag, attrs, + lambda t: t[1] == 'data') + + assert attrs == [] + attrs = inherited + + contents = '\n'.join(contents) + if not contents: + return title + '\n' + return title + '\n' + self.indent(contents.rstrip(), ' | ') + '\n' + + def formatvalue(self, object): + """Format an argument default value as text.""" + return '=' + self.repr(object) + + def docroutine(self, object, name=None, mod=None, cl=None): + """Produce text documentation for a function or method object.""" + realname = object.__name__ + name = name or realname + note = '' + skipdocs = 0 + if _is_bound_method(object): + imclass = object.__self__.__class__ + if cl: + if imclass is not cl: + note = ' from ' + classname(imclass, mod) + else: + if object.__self__ is not None: + note = ' method of %s instance' % classname( + object.__self__.__class__, mod) + else: + note = ' unbound %s method' % classname(imclass,mod) + + if name == realname: + title = self.bold(realname) + else: + if (cl and realname in cl.__dict__ and + cl.__dict__[realname] is object): + skipdocs = 1 + title = self.bold(name) + ' = ' + realname + argspec = None + + if inspect.isroutine(object): + try: + signature = inspect.signature(object) + except (ValueError, TypeError): + signature = None + if signature: + argspec = str(signature) + if realname == '': + title = self.bold(name) + ' lambda ' + # XXX lambda's won't usually have func_annotations['return'] + # since the syntax doesn't support but it is possible. + # So removing parentheses isn't truly safe. + argspec = argspec[1:-1] # remove parentheses + if not argspec: + argspec = '(...)' + decl = title + argspec + note + + if skipdocs: + return decl + '\n' + else: + doc = getdoc(object) or '' + return decl + '\n' + (doc and self.indent(doc).rstrip() + '\n') + + def _docdescriptor(self, name, value, mod): + results = [] + push = results.append + + if name: + push(self.bold(name)) + push('\n') + doc = getdoc(value) or '' + if doc: + push(self.indent(doc)) + push('\n') + return ''.join(results) + + def docproperty(self, object, name=None, mod=None, cl=None): + """Produce text documentation for a property.""" + return self._docdescriptor(name, object, mod) + + def docdata(self, object, name=None, mod=None, cl=None): + """Produce text documentation for a data descriptor.""" + return self._docdescriptor(name, object, mod) + + def docother(self, object, name=None, mod=None, parent=None, maxlen=None, doc=None): + """Produce text documentation for a data object.""" + repr = self.repr(object) + if maxlen: + line = (name and name + ' = ' or '') + repr + chop = maxlen - len(line) + if chop < 0: repr = repr[:chop] + '...' + line = (name and self.bold(name) + ' = ' or '') + repr + if doc is not None: + line += '\n' + self.indent(str(doc)) + return line + +class _PlainTextDoc(TextDoc): + """Subclass of TextDoc which overrides string styling""" + def bold(self, text): + return text + +# --------------------------------------------------------- user interfaces + +def pager(text): + """The first time this is called, determine what kind of pager to use.""" + global pager + pager = getpager() + pager(text) + +def getpager(): + """Decide what method to use for paging through text.""" + if not hasattr(sys.stdin, "isatty"): + return plainpager + if not hasattr(sys.stdout, "isatty"): + return plainpager + if not sys.stdin.isatty() or not sys.stdout.isatty(): + return plainpager + if 'PAGER' in os.environ: + if sys.platform == 'win32': # pipes completely broken in Windows + return lambda text: tempfilepager(plain(text), os.environ['PAGER']) + elif os.environ.get('TERM') in ('dumb', 'emacs'): + return lambda text: pipepager(plain(text), os.environ['PAGER']) + else: + return lambda text: pipepager(text, os.environ['PAGER']) + if os.environ.get('TERM') in ('dumb', 'emacs'): + return plainpager + if sys.platform == 'win32': + return lambda text: tempfilepager(plain(text), 'more <') + if hasattr(os, 'system') and os.system('(pager) 2>/dev/null') == 0: + return lambda text: pipepager(text, 'pager') + if hasattr(os, 'system') and os.system('(less) 2>/dev/null') == 0: + return lambda text: pipepager(text, 'less') + + import tempfile + (fd, filename) = tempfile.mkstemp() + os.close(fd) + try: + if hasattr(os, 'system') and os.system('more "%s"' % filename) == 0: + return lambda text: pipepager(text, 'more') + else: + return ttypager + finally: + os.unlink(filename) + +def plain(text): + """Remove boldface formatting from text.""" + return re.sub('.\b', '', text) + +def pipepager(text, cmd): + """Page through text by feeding it to another program.""" + import subprocess + proc = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE) + try: + with io.TextIOWrapper(proc.stdin, errors='backslashreplace') as pipe: + try: + pipe.write(text) + except KeyboardInterrupt: + # We've hereby abandoned whatever text hasn't been written, + # but the pager is still in control of the terminal. + pass + except OSError: + pass # Ignore broken pipes caused by quitting the pager program. + while True: + try: + proc.wait() + break + except KeyboardInterrupt: + # Ignore ctl-c like the pager itself does. Otherwise the pager is + # left running and the terminal is in raw mode and unusable. + pass + +def tempfilepager(text, cmd): + """Page through text by invoking a program on a temporary file.""" + import tempfile + filename = tempfile.mktemp() + with open(filename, 'w', errors='backslashreplace') as file: + file.write(text) + try: + os.system(cmd + ' "' + filename + '"') + finally: + os.unlink(filename) + +def _escape_stdout(text): + # Escape non-encodable characters to avoid encoding errors later + encoding = getattr(sys.stdout, 'encoding', None) or 'utf-8' + return text.encode(encoding, 'backslashreplace').decode(encoding) + +def ttypager(text): + """Page through text on a text terminal.""" + lines = plain(_escape_stdout(text)).split('\n') + try: + import tty + fd = sys.stdin.fileno() + old = tty.tcgetattr(fd) + tty.setcbreak(fd) + getchar = lambda: sys.stdin.read(1) + except (ImportError, AttributeError, io.UnsupportedOperation): + tty = None + getchar = lambda: sys.stdin.readline()[:-1][:1] + + try: + try: + h = int(os.environ.get('LINES', 0)) + except ValueError: + h = 0 + if h <= 1: + h = 25 + r = inc = h - 1 + sys.stdout.write('\n'.join(lines[:inc]) + '\n') + while lines[r:]: + sys.stdout.write('-- more --') + sys.stdout.flush() + c = getchar() + + if c in ('q', 'Q'): + sys.stdout.write('\r \r') + break + elif c in ('\r', '\n'): + sys.stdout.write('\r \r' + lines[r] + '\n') + r = r + 1 + continue + if c in ('b', 'B', '\x1b'): + r = r - inc - inc + if r < 0: r = 0 + sys.stdout.write('\n' + '\n'.join(lines[r:r+inc]) + '\n') + r = r + inc + + finally: + if tty: + tty.tcsetattr(fd, tty.TCSAFLUSH, old) + +def plainpager(text): + """Simply print unformatted text. This is the ultimate fallback.""" + sys.stdout.write(plain(_escape_stdout(text))) + +def describe(thing): + """Produce a short description of the given thing.""" + if inspect.ismodule(thing): + if thing.__name__ in sys.builtin_module_names: + return 'built-in module ' + thing.__name__ + if hasattr(thing, '__path__'): + return 'package ' + thing.__name__ + else: + return 'module ' + thing.__name__ + if inspect.isbuiltin(thing): + return 'built-in function ' + thing.__name__ + if inspect.isgetsetdescriptor(thing): + return 'getset descriptor %s.%s.%s' % ( + thing.__objclass__.__module__, thing.__objclass__.__name__, + thing.__name__) + if inspect.ismemberdescriptor(thing): + return 'member descriptor %s.%s.%s' % ( + thing.__objclass__.__module__, thing.__objclass__.__name__, + thing.__name__) + if inspect.isclass(thing): + return 'class ' + thing.__name__ + if inspect.isfunction(thing): + return 'function ' + thing.__name__ + if inspect.ismethod(thing): + return 'method ' + thing.__name__ + return type(thing).__name__ + +def locate(path, forceload=0): + """Locate an object by name or dotted path, importing as necessary.""" + parts = [part for part in path.split('.') if part] + module, n = None, 0 + while n < len(parts): + nextmodule = safeimport('.'.join(parts[:n+1]), forceload) + if nextmodule: module, n = nextmodule, n + 1 + else: break + if module: + object = module + else: + object = builtins + for part in parts[n:]: + try: + object = getattr(object, part) + except AttributeError: + return None + return object + +# --------------------------------------- interactive interpreter interface + +text = TextDoc() +plaintext = _PlainTextDoc() +html = HTMLDoc() + +def resolve(thing, forceload=0): + """Given an object or a path to an object, get the object and its name.""" + if isinstance(thing, str): + object = locate(thing, forceload) + if object is None: + raise ImportError('''\ +No Python documentation found for %r. +Use help() to get the interactive help utility. +Use help(str) for help on the str class.''' % thing) + return object, thing + else: + name = getattr(thing, '__name__', None) + return thing, name if isinstance(name, str) else None + +def render_doc(thing, title='Python Library Documentation: %s', forceload=0, + renderer=None): + """Render text documentation, given an object or a path to an object.""" + if renderer is None: + renderer = text + object, name = resolve(thing, forceload) + desc = describe(object) + module = inspect.getmodule(object) + if name and '.' in name: + desc += ' in ' + name[:name.rfind('.')] + elif module and module is not object: + desc += ' in module ' + module.__name__ + + if not (inspect.ismodule(object) or + inspect.isclass(object) or + inspect.isroutine(object) or + inspect.isgetsetdescriptor(object) or + inspect.ismemberdescriptor(object) or + isinstance(object, property)): + # If the passed object is a piece of data or an instance, + # document its available methods instead of its value. + object = type(object) + desc += ' object' + return title % desc + '\n\n' + renderer.document(object, name) + +def doc(thing, title='Python Library Documentation: %s', forceload=0, + output=None): + """Display text documentation, given an object or a path to an object.""" + try: + if output is None: + pager(render_doc(thing, title, forceload)) + else: + output.write(render_doc(thing, title, forceload, plaintext)) + except (ImportError, ErrorDuringImport) as value: + print(value) + +def writedoc(thing, forceload=0): + """Write HTML documentation to a file in the current directory.""" + try: + object, name = resolve(thing, forceload) + page = html.page(describe(object), html.document(object, name)) + with open(name + '.html', 'w', encoding='utf-8') as file: + file.write(page) + print('wrote', name + '.html') + except (ImportError, ErrorDuringImport) as value: + print(value) + +def writedocs(dir, pkgpath='', done=None): + """Write out HTML documentation for all modules in a directory tree.""" + if done is None: done = {} + for importer, modname, ispkg in pkgutil.walk_packages([dir], pkgpath): + writedoc(modname) + return + +class Helper: + + # These dictionaries map a topic name to either an alias, or a tuple + # (label, seealso-items). The "label" is the label of the corresponding + # section in the .rst file under Doc/ and an index into the dictionary + # in pydoc_data/topics.py. + # + # CAUTION: if you change one of these dictionaries, be sure to adapt the + # list of needed labels in Doc/tools/pyspecific.py and + # regenerate the pydoc_data/topics.py file by running + # make pydoc-topics + # in Doc/ and copying the output file into the Lib/ directory. + + keywords = { + 'False': '', + 'None': '', + 'True': '', + 'and': 'BOOLEAN', + 'as': 'with', + 'assert': ('assert', ''), + 'break': ('break', 'while for'), + 'class': ('class', 'CLASSES SPECIALMETHODS'), + 'continue': ('continue', 'while for'), + 'def': ('function', ''), + 'del': ('del', 'BASICMETHODS'), + 'elif': 'if', + 'else': ('else', 'while for'), + 'except': 'try', + 'finally': 'try', + 'for': ('for', 'break continue while'), + 'from': 'import', + 'global': ('global', 'nonlocal NAMESPACES'), + 'if': ('if', 'TRUTHVALUE'), + 'import': ('import', 'MODULES'), + 'in': ('in', 'SEQUENCEMETHODS'), + 'is': 'COMPARISON', + 'lambda': ('lambda', 'FUNCTIONS'), + 'nonlocal': ('nonlocal', 'global NAMESPACES'), + 'not': 'BOOLEAN', + 'or': 'BOOLEAN', + 'pass': ('pass', ''), + 'raise': ('raise', 'EXCEPTIONS'), + 'return': ('return', 'FUNCTIONS'), + 'try': ('try', 'EXCEPTIONS'), + 'while': ('while', 'break continue if TRUTHVALUE'), + 'with': ('with', 'CONTEXTMANAGERS EXCEPTIONS yield'), + 'yield': ('yield', ''), + } + # Either add symbols to this dictionary or to the symbols dictionary + # directly: Whichever is easier. They are merged later. + _symbols_inverse = { + 'STRINGS' : ("'", "'''", "r'", "b'", '"""', '"', 'r"', 'b"'), + 'OPERATORS' : ('+', '-', '*', '**', '/', '//', '%', '<<', '>>', '&', + '|', '^', '~', '<', '>', '<=', '>=', '==', '!=', '<>'), + 'COMPARISON' : ('<', '>', '<=', '>=', '==', '!=', '<>'), + 'UNARY' : ('-', '~'), + 'AUGMENTEDASSIGNMENT' : ('+=', '-=', '*=', '/=', '%=', '&=', '|=', + '^=', '<<=', '>>=', '**=', '//='), + 'BITWISE' : ('<<', '>>', '&', '|', '^', '~'), + 'COMPLEX' : ('j', 'J') + } + symbols = { + '%': 'OPERATORS FORMATTING', + '**': 'POWER', + ',': 'TUPLES LISTS FUNCTIONS', + '.': 'ATTRIBUTES FLOAT MODULES OBJECTS', + '...': 'ELLIPSIS', + ':': 'SLICINGS DICTIONARYLITERALS', + '@': 'def class', + '\\': 'STRINGS', + '_': 'PRIVATENAMES', + '__': 'PRIVATENAMES SPECIALMETHODS', + '`': 'BACKQUOTES', + '(': 'TUPLES FUNCTIONS CALLS', + ')': 'TUPLES FUNCTIONS CALLS', + '[': 'LISTS SUBSCRIPTS SLICINGS', + ']': 'LISTS SUBSCRIPTS SLICINGS' + } + for topic, symbols_ in _symbols_inverse.items(): + for symbol in symbols_: + topics = symbols.get(symbol, topic) + if topic not in topics: + topics = topics + ' ' + topic + symbols[symbol] = topics + + topics = { + 'TYPES': ('types', 'STRINGS UNICODE NUMBERS SEQUENCES MAPPINGS ' + 'FUNCTIONS CLASSES MODULES FILES inspect'), + 'STRINGS': ('strings', 'str UNICODE SEQUENCES STRINGMETHODS ' + 'FORMATTING TYPES'), + 'STRINGMETHODS': ('string-methods', 'STRINGS FORMATTING'), + 'FORMATTING': ('formatstrings', 'OPERATORS'), + 'UNICODE': ('strings', 'encodings unicode SEQUENCES STRINGMETHODS ' + 'FORMATTING TYPES'), + 'NUMBERS': ('numbers', 'INTEGER FLOAT COMPLEX TYPES'), + 'INTEGER': ('integers', 'int range'), + 'FLOAT': ('floating', 'float math'), + 'COMPLEX': ('imaginary', 'complex cmath'), + 'SEQUENCES': ('typesseq', 'STRINGMETHODS FORMATTING range LISTS'), + 'MAPPINGS': 'DICTIONARIES', + 'FUNCTIONS': ('typesfunctions', 'def TYPES'), + 'METHODS': ('typesmethods', 'class def CLASSES TYPES'), + 'CODEOBJECTS': ('bltin-code-objects', 'compile FUNCTIONS TYPES'), + 'TYPEOBJECTS': ('bltin-type-objects', 'types TYPES'), + 'FRAMEOBJECTS': 'TYPES', + 'TRACEBACKS': 'TYPES', + 'NONE': ('bltin-null-object', ''), + 'ELLIPSIS': ('bltin-ellipsis-object', 'SLICINGS'), + 'SPECIALATTRIBUTES': ('specialattrs', ''), + 'CLASSES': ('types', 'class SPECIALMETHODS PRIVATENAMES'), + 'MODULES': ('typesmodules', 'import'), + 'PACKAGES': 'import', + 'EXPRESSIONS': ('operator-summary', 'lambda or and not in is BOOLEAN ' + 'COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER ' + 'UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES ' + 'LISTS DICTIONARIES'), + 'OPERATORS': 'EXPRESSIONS', + 'PRECEDENCE': 'EXPRESSIONS', + 'OBJECTS': ('objects', 'TYPES'), + 'SPECIALMETHODS': ('specialnames', 'BASICMETHODS ATTRIBUTEMETHODS ' + 'CALLABLEMETHODS SEQUENCEMETHODS MAPPINGMETHODS ' + 'NUMBERMETHODS CLASSES'), + 'BASICMETHODS': ('customization', 'hash repr str SPECIALMETHODS'), + 'ATTRIBUTEMETHODS': ('attribute-access', 'ATTRIBUTES SPECIALMETHODS'), + 'CALLABLEMETHODS': ('callable-types', 'CALLS SPECIALMETHODS'), + 'SEQUENCEMETHODS': ('sequence-types', 'SEQUENCES SEQUENCEMETHODS ' + 'SPECIALMETHODS'), + 'MAPPINGMETHODS': ('sequence-types', 'MAPPINGS SPECIALMETHODS'), + 'NUMBERMETHODS': ('numeric-types', 'NUMBERS AUGMENTEDASSIGNMENT ' + 'SPECIALMETHODS'), + 'EXECUTION': ('execmodel', 'NAMESPACES DYNAMICFEATURES EXCEPTIONS'), + 'NAMESPACES': ('naming', 'global nonlocal ASSIGNMENT DELETION DYNAMICFEATURES'), + 'DYNAMICFEATURES': ('dynamic-features', ''), + 'SCOPING': 'NAMESPACES', + 'FRAMES': 'NAMESPACES', + 'EXCEPTIONS': ('exceptions', 'try except finally raise'), + 'CONVERSIONS': ('conversions', ''), + 'IDENTIFIERS': ('identifiers', 'keywords SPECIALIDENTIFIERS'), + 'SPECIALIDENTIFIERS': ('id-classes', ''), + 'PRIVATENAMES': ('atom-identifiers', ''), + 'LITERALS': ('atom-literals', 'STRINGS NUMBERS TUPLELITERALS ' + 'LISTLITERALS DICTIONARYLITERALS'), + 'TUPLES': 'SEQUENCES', + 'TUPLELITERALS': ('exprlists', 'TUPLES LITERALS'), + 'LISTS': ('typesseq-mutable', 'LISTLITERALS'), + 'LISTLITERALS': ('lists', 'LISTS LITERALS'), + 'DICTIONARIES': ('typesmapping', 'DICTIONARYLITERALS'), + 'DICTIONARYLITERALS': ('dict', 'DICTIONARIES LITERALS'), + 'ATTRIBUTES': ('attribute-references', 'getattr hasattr setattr ATTRIBUTEMETHODS'), + 'SUBSCRIPTS': ('subscriptions', 'SEQUENCEMETHODS'), + 'SLICINGS': ('slicings', 'SEQUENCEMETHODS'), + 'CALLS': ('calls', 'EXPRESSIONS'), + 'POWER': ('power', 'EXPRESSIONS'), + 'UNARY': ('unary', 'EXPRESSIONS'), + 'BINARY': ('binary', 'EXPRESSIONS'), + 'SHIFTING': ('shifting', 'EXPRESSIONS'), + 'BITWISE': ('bitwise', 'EXPRESSIONS'), + 'COMPARISON': ('comparisons', 'EXPRESSIONS BASICMETHODS'), + 'BOOLEAN': ('booleans', 'EXPRESSIONS TRUTHVALUE'), + 'ASSERTION': 'assert', + 'ASSIGNMENT': ('assignment', 'AUGMENTEDASSIGNMENT'), + 'AUGMENTEDASSIGNMENT': ('augassign', 'NUMBERMETHODS'), + 'DELETION': 'del', + 'RETURNING': 'return', + 'IMPORTING': 'import', + 'CONDITIONAL': 'if', + 'LOOPING': ('compound', 'for while break continue'), + 'TRUTHVALUE': ('truth', 'if while and or not BASICMETHODS'), + 'DEBUGGING': ('debugger', 'pdb'), + 'CONTEXTMANAGERS': ('context-managers', 'with'), + } + + def __init__(self, input=None, output=None): + self._input = input + self._output = output + + input = property(lambda self: self._input or sys.stdin) + output = property(lambda self: self._output or sys.stdout) + + def __repr__(self): + if inspect.stack()[1][3] == '?': + self() + return '' + return '<%s.%s instance>' % (self.__class__.__module__, + self.__class__.__qualname__) + + _GoInteractive = object() + def __call__(self, request=_GoInteractive): + if request is not self._GoInteractive: + self.help(request) + else: + self.intro() + self.interact() + self.output.write(''' +You are now leaving help and returning to the Python interpreter. +If you want to ask for help on a particular object directly from the +interpreter, you can type "help(object)". Executing "help('string')" +has the same effect as typing a particular string at the help> prompt. +''') + + def interact(self): + self.output.write('\n') + while True: + try: + request = self.getline('help> ') + if not request: break + except (KeyboardInterrupt, EOFError): + break + request = replace(request, '"', '', "'", '').strip() + if request.lower() in ('q', 'quit'): break + if request == 'help': + self.intro() + else: + self.help(request) + + def getline(self, prompt): + """Read one line, using input() when appropriate.""" + if self.input is sys.stdin: + return input(prompt) + else: + self.output.write(prompt) + self.output.flush() + return self.input.readline() + + def help(self, request): + if type(request) is type(''): + request = request.strip() + if request == 'keywords': self.listkeywords() + elif request == 'symbols': self.listsymbols() + elif request == 'topics': self.listtopics() + elif request == 'modules': self.listmodules() + elif request[:8] == 'modules ': + self.listmodules(request.split()[1]) + elif request in self.symbols: self.showsymbol(request) + elif request in ['True', 'False', 'None']: + # special case these keywords since they are objects too + doc(eval(request), 'Help on %s:') + elif request in self.keywords: self.showtopic(request) + elif request in self.topics: self.showtopic(request) + elif request: doc(request, 'Help on %s:', output=self._output) + else: doc(str, 'Help on %s:', output=self._output) + elif isinstance(request, Helper): self() + else: doc(request, 'Help on %s:', output=self._output) + self.output.write('\n') + + def intro(self): + self.output.write(''' +Welcome to Python %s's help utility! + +If this is your first time using Python, you should definitely check out +the tutorial on the Internet at http://docs.python.org/%s/tutorial/. + +Enter the name of any module, keyword, or topic to get help on writing +Python programs and using Python modules. To quit this help utility and +return to the interpreter, just type "quit". + +To get a list of available modules, keywords, symbols, or topics, type +"modules", "keywords", "symbols", or "topics". Each module also comes +with a one-line summary of what it does; to list the modules whose name +or summary contain a given string such as "spam", type "modules spam". +''' % tuple([sys.version[:3]]*2)) + + def list(self, items, columns=4, width=80): + items = list(sorted(items)) + colw = width // columns + rows = (len(items) + columns - 1) // columns + for row in range(rows): + for col in range(columns): + i = col * rows + row + if i < len(items): + self.output.write(items[i]) + if col < columns - 1: + self.output.write(' ' + ' ' * (colw - 1 - len(items[i]))) + self.output.write('\n') + + def listkeywords(self): + self.output.write(''' +Here is a list of the Python keywords. Enter any keyword to get more help. + +''') + self.list(self.keywords.keys()) + + def listsymbols(self): + self.output.write(''' +Here is a list of the punctuation symbols which Python assigns special meaning +to. Enter any symbol to get more help. + +''') + self.list(self.symbols.keys()) + + def listtopics(self): + self.output.write(''' +Here is a list of available topics. Enter any topic name to get more help. + +''') + self.list(self.topics.keys()) + + def showtopic(self, topic, more_xrefs=''): + try: + import pydoc_data.topics + except ImportError: + self.output.write(''' +Sorry, topic and keyword documentation is not available because the +module "pydoc_data.topics" could not be found. +''') + return + target = self.topics.get(topic, self.keywords.get(topic)) + if not target: + self.output.write('no documentation found for %s\n' % repr(topic)) + return + if type(target) is type(''): + return self.showtopic(target, more_xrefs) + + label, xrefs = target + try: + doc = pydoc_data.topics.topics[label] + except KeyError: + self.output.write('no documentation found for %s\n' % repr(topic)) + return + pager(doc.strip() + '\n') + if more_xrefs: + xrefs = (xrefs or '') + ' ' + more_xrefs + if xrefs: + import textwrap + text = 'Related help topics: ' + ', '.join(xrefs.split()) + '\n' + wrapped_text = textwrap.wrap(text, 72) + self.output.write('\n%s\n' % ''.join(wrapped_text)) + + def _gettopic(self, topic, more_xrefs=''): + """Return unbuffered tuple of (topic, xrefs). + + If an error occurs here, the exception is caught and displayed by + the url handler. + + This function duplicates the showtopic method but returns its + result directly so it can be formatted for display in an html page. + """ + try: + import pydoc_data.topics + except ImportError: + return(''' +Sorry, topic and keyword documentation is not available because the +module "pydoc_data.topics" could not be found. +''' , '') + target = self.topics.get(topic, self.keywords.get(topic)) + if not target: + raise ValueError('could not find topic') + if isinstance(target, str): + return self._gettopic(target, more_xrefs) + label, xrefs = target + doc = pydoc_data.topics.topics[label] + if more_xrefs: + xrefs = (xrefs or '') + ' ' + more_xrefs + return doc, xrefs + + def showsymbol(self, symbol): + target = self.symbols[symbol] + topic, _, xrefs = target.partition(' ') + self.showtopic(topic, xrefs) + + def listmodules(self, key=''): + if key: + self.output.write(''' +Here is a list of modules whose name or summary contains '{}'. +If there are any, enter a module name to get more help. + +'''.format(key)) + apropos(key) + else: + self.output.write(''' +Please wait a moment while I gather a list of all available modules... + +''') + modules = {} + def callback(path, modname, desc, modules=modules): + if modname and modname[-9:] == '.__init__': + modname = modname[:-9] + ' (package)' + if modname.find('.') < 0: + modules[modname] = 1 + def onerror(modname): + callback(None, modname, None) + ModuleScanner().run(callback, onerror=onerror) + self.list(modules.keys()) + self.output.write(''' +Enter any module name to get more help. Or, type "modules spam" to search +for modules whose name or summary contain the string "spam". +''') + +help = Helper() + +class ModuleScanner: + """An interruptible scanner that searches module synopses.""" + + def run(self, callback, key=None, completer=None, onerror=None): + if key: key = key.lower() + self.quit = False + seen = {} + + for modname in sys.builtin_module_names: + if modname != '__main__': + seen[modname] = 1 + if key is None: + callback(None, modname, '') + else: + name = __import__(modname).__doc__ or '' + desc = name.split('\n')[0] + name = modname + ' - ' + desc + if name.lower().find(key) >= 0: + callback(None, modname, desc) + + for importer, modname, ispkg in pkgutil.walk_packages(onerror=onerror): + if self.quit: + break + + if key is None: + callback(None, modname, '') + else: + try: + spec = pkgutil._get_spec(importer, modname) + except SyntaxError: + # raised by tests for bad coding cookies or BOM + continue + loader = spec.loader + if hasattr(loader, 'get_source'): + try: + source = loader.get_source(modname) + except Exception: + if onerror: + onerror(modname) + continue + desc = source_synopsis(io.StringIO(source)) or '' + if hasattr(loader, 'get_filename'): + path = loader.get_filename(modname) + else: + path = None + else: + try: + module = importlib._bootstrap._load(spec) + except ImportError: + if onerror: + onerror(modname) + continue + desc = module.__doc__.splitlines()[0] if module.__doc__ else '' + path = getattr(module,'__file__',None) + name = modname + ' - ' + desc + if name.lower().find(key) >= 0: + callback(path, modname, desc) + + if completer: + completer() + +def apropos(key): + """Print all the one-line module summaries that contain a substring.""" + def callback(path, modname, desc): + if modname[-9:] == '.__init__': + modname = modname[:-9] + ' (package)' + print(modname, desc and '- ' + desc) + def onerror(modname): + pass + with warnings.catch_warnings(): + warnings.filterwarnings('ignore') # ignore problems during import + ModuleScanner().run(callback, key, onerror=onerror) + +# --------------------------------------- enhanced Web browser interface + +def _start_server(urlhandler, port): + """Start an HTTP server thread on a specific port. + + Start an HTML/text server thread, so HTML or text documents can be + browsed dynamically and interactively with a Web browser. Example use: + + >>> import time + >>> import pydoc + + Define a URL handler. To determine what the client is asking + for, check the URL and content_type. + + Then get or generate some text or HTML code and return it. + + >>> def my_url_handler(url, content_type): + ... text = 'the URL sent was: (%s, %s)' % (url, content_type) + ... return text + + Start server thread on port 0. + If you use port 0, the server will pick a random port number. + You can then use serverthread.port to get the port number. + + >>> port = 0 + >>> serverthread = pydoc._start_server(my_url_handler, port) + + Check that the server is really started. If it is, open browser + and get first page. Use serverthread.url as the starting page. + + >>> if serverthread.serving: + ... import webbrowser + + The next two lines are commented out so a browser doesn't open if + doctest is run on this module. + + #... webbrowser.open(serverthread.url) + #True + + Let the server do its thing. We just need to monitor its status. + Use time.sleep so the loop doesn't hog the CPU. + + >>> starttime = time.time() + >>> timeout = 1 #seconds + + This is a short timeout for testing purposes. + + >>> while serverthread.serving: + ... time.sleep(.01) + ... if serverthread.serving and time.time() - starttime > timeout: + ... serverthread.stop() + ... break + + Print any errors that may have occurred. + + >>> print(serverthread.error) + None + """ + import http.server + import email.message + import select + import threading + + class DocHandler(http.server.BaseHTTPRequestHandler): + + def do_GET(self): + """Process a request from an HTML browser. + + The URL received is in self.path. + Get an HTML page from self.urlhandler and send it. + """ + if self.path.endswith('.css'): + content_type = 'text/css' + else: + content_type = 'text/html' + self.send_response(200) + self.send_header('Content-Type', '%s; charset=UTF-8' % content_type) + self.end_headers() + self.wfile.write(self.urlhandler( + self.path, content_type).encode('utf-8')) + + def log_message(self, *args): + # Don't log messages. + pass + + class DocServer(http.server.HTTPServer): + + def __init__(self, port, callback): + self.host = 'localhost' + self.address = (self.host, port) + self.callback = callback + self.base.__init__(self, self.address, self.handler) + self.quit = False + + def serve_until_quit(self): + while not self.quit: + rd, wr, ex = select.select([self.socket.fileno()], [], [], 1) + if rd: + self.handle_request() + self.server_close() + + def server_activate(self): + self.base.server_activate(self) + if self.callback: + self.callback(self) + + class ServerThread(threading.Thread): + + def __init__(self, urlhandler, port): + self.urlhandler = urlhandler + self.port = int(port) + threading.Thread.__init__(self) + self.serving = False + self.error = None + + def run(self): + """Start the server.""" + try: + DocServer.base = http.server.HTTPServer + DocServer.handler = DocHandler + DocHandler.MessageClass = email.message.Message + DocHandler.urlhandler = staticmethod(self.urlhandler) + docsvr = DocServer(self.port, self.ready) + self.docserver = docsvr + docsvr.serve_until_quit() + except Exception as e: + self.error = e + + def ready(self, server): + self.serving = True + self.host = server.host + self.port = server.server_port + self.url = 'http://%s:%d/' % (self.host, self.port) + + def stop(self): + """Stop the server and this thread nicely""" + self.docserver.quit = True + self.serving = False + self.url = None + + thread = ServerThread(urlhandler, port) + thread.start() + # Wait until thread.serving is True to make sure we are + # really up before returning. + while not thread.error and not thread.serving: + time.sleep(.01) + return thread + + +def _url_handler(url, content_type="text/html"): + """The pydoc url handler for use with the pydoc server. + + If the content_type is 'text/css', the _pydoc.css style + sheet is read and returned if it exits. + + If the content_type is 'text/html', then the result of + get_html_page(url) is returned. + """ + class _HTMLDoc(HTMLDoc): + + def page(self, title, contents): + """Format an HTML page.""" + css_path = "pydoc_data/_pydoc.css" + css_link = ( + '' % + css_path) + return '''\ + +Pydoc: %s + +%s%s
%s
+''' % (title, css_link, html_navbar(), contents) + + def filelink(self, url, path): + return '%s' % (url, path) + + + html = _HTMLDoc() + + def html_navbar(): + version = html.escape("%s [%s, %s]" % (platform.python_version(), + platform.python_build()[0], + platform.python_compiler())) + return """ +
+ Python %s
%s +
+
+ +
+
+ + +
  +
+ + +
+
+
+ """ % (version, html.escape(platform.platform(terse=True))) + + def html_index(): + """Module Index page.""" + + def bltinlink(name): + return '%s' % (name, name) + + heading = html.heading( + 'Index of Modules', + '#ffffff', '#7799ee') + names = [name for name in sys.builtin_module_names + if name != '__main__'] + contents = html.multicolumn(names, bltinlink) + contents = [heading, '

' + html.bigsection( + 'Built-in Modules', '#ffffff', '#ee77aa', contents)] + + seen = {} + for dir in sys.path: + contents.append(html.index(dir, seen)) + + contents.append( + '

pydoc by Ka-Ping Yee' + '<ping@lfw.org>') + return 'Index of Modules', ''.join(contents) + + def html_search(key): + """Search results page.""" + # scan for modules + search_result = [] + + def callback(path, modname, desc): + if modname[-9:] == '.__init__': + modname = modname[:-9] + ' (package)' + search_result.append((modname, desc and '- ' + desc)) + + with warnings.catch_warnings(): + warnings.filterwarnings('ignore') # ignore problems during import + def onerror(modname): + pass + ModuleScanner().run(callback, key, onerror=onerror) + + # format page + def bltinlink(name): + return '%s' % (name, name) + + results = [] + heading = html.heading( + 'Search Results', + '#ffffff', '#7799ee') + for name, desc in search_result: + results.append(bltinlink(name) + desc) + contents = heading + html.bigsection( + 'key = %s' % key, '#ffffff', '#ee77aa', '
'.join(results)) + return 'Search Results', contents + + def html_getfile(path): + """Get and display a source file listing safely.""" + path = urllib.parse.unquote(path) + with tokenize.open(path) as fp: + lines = html.escape(fp.read()) + body = '

%s
' % lines + heading = html.heading( + 'File Listing', + '#ffffff', '#7799ee') + contents = heading + html.bigsection( + 'File: %s' % path, '#ffffff', '#ee77aa', body) + return 'getfile %s' % path, contents + + def html_topics(): + """Index of topic texts available.""" + + def bltinlink(name): + return '%s' % (name, name) + + heading = html.heading( + 'INDEX', + '#ffffff', '#7799ee') + names = sorted(Helper.topics.keys()) + + contents = html.multicolumn(names, bltinlink) + contents = heading + html.bigsection( + 'Topics', '#ffffff', '#ee77aa', contents) + return 'Topics', contents + + def html_keywords(): + """Index of keywords.""" + heading = html.heading( + 'INDEX', + '#ffffff', '#7799ee') + names = sorted(Helper.keywords.keys()) + + def bltinlink(name): + return '%s' % (name, name) + + contents = html.multicolumn(names, bltinlink) + contents = heading + html.bigsection( + 'Keywords', '#ffffff', '#ee77aa', contents) + return 'Keywords', contents + + def html_topicpage(topic): + """Topic or keyword help page.""" + buf = io.StringIO() + htmlhelp = Helper(buf, buf) + contents, xrefs = htmlhelp._gettopic(topic) + if topic in htmlhelp.keywords: + title = 'KEYWORD' + else: + title = 'TOPIC' + heading = html.heading( + '%s' % title, + '#ffffff', '#7799ee') + contents = '
%s
' % html.markup(contents) + contents = html.bigsection(topic , '#ffffff','#ee77aa', contents) + if xrefs: + xrefs = sorted(xrefs.split()) + + def bltinlink(name): + return '%s' % (name, name) + + xrefs = html.multicolumn(xrefs, bltinlink) + xrefs = html.section('Related help topics: ', + '#ffffff', '#ee77aa', xrefs) + return ('%s %s' % (title, topic), + ''.join((heading, contents, xrefs))) + + def html_getobj(url): + obj = locate(url, forceload=1) + if obj is None and url != 'None': + raise ValueError('could not find object') + title = describe(obj) + content = html.document(obj, url) + return title, content + + def html_error(url, exc): + heading = html.heading( + 'Error', + '#ffffff', '#7799ee') + contents = '
'.join(html.escape(line) for line in + format_exception_only(type(exc), exc)) + contents = heading + html.bigsection(url, '#ffffff', '#bb0000', + contents) + return "Error - %s" % url, contents + + def get_html_page(url): + """Generate an HTML page for url.""" + complete_url = url + if url.endswith('.html'): + url = url[:-5] + try: + if url in ("", "index"): + title, content = html_index() + elif url == "topics": + title, content = html_topics() + elif url == "keywords": + title, content = html_keywords() + elif '=' in url: + op, _, url = url.partition('=') + if op == "search?key": + title, content = html_search(url) + elif op == "getfile?key": + title, content = html_getfile(url) + elif op == "topic?key": + # try topics first, then objects. + try: + title, content = html_topicpage(url) + except ValueError: + title, content = html_getobj(url) + elif op == "get?key": + # try objects first, then topics. + if url in ("", "index"): + title, content = html_index() + else: + try: + title, content = html_getobj(url) + except ValueError: + title, content = html_topicpage(url) + else: + raise ValueError('bad pydoc url') + else: + title, content = html_getobj(url) + except Exception as exc: + # Catch any errors and display them in an error page. + title, content = html_error(complete_url, exc) + return html.page(title, content) + + if url.startswith('/'): + url = url[1:] + if content_type == 'text/css': + path_here = os.path.dirname(os.path.realpath(__file__)) + css_path = os.path.join(path_here, url) + with open(css_path) as fp: + return ''.join(fp.readlines()) + elif content_type == 'text/html': + return get_html_page(url) + # Errors outside the url handler are caught by the server. + raise TypeError('unknown content type %r for url %s' % (content_type, url)) + + +def browse(port=0, *, open_browser=True): + """Start the enhanced pydoc Web server and open a Web browser. + + Use port '0' to start the server on an arbitrary port. + Set open_browser to False to suppress opening a browser. + """ + import webbrowser + serverthread = _start_server(_url_handler, port) + if serverthread.error: + print(serverthread.error) + return + if serverthread.serving: + server_help_msg = 'Server commands: [b]rowser, [q]uit' + if open_browser: + webbrowser.open(serverthread.url) + try: + print('Server ready at', serverthread.url) + print(server_help_msg) + while serverthread.serving: + cmd = input('server> ') + cmd = cmd.lower() + if cmd == 'q': + break + elif cmd == 'b': + webbrowser.open(serverthread.url) + else: + print(server_help_msg) + except (KeyboardInterrupt, EOFError): + print() + finally: + if serverthread.serving: + serverthread.stop() + print('Server stopped') + + +# -------------------------------------------------- command-line interface + +def ispath(x): + return isinstance(x, str) and x.find(os.sep) >= 0 + +def cli(): + """Command-line interface (looks at sys.argv to decide what to do).""" + import getopt + class BadUsage(Exception): pass + + # Scripts don't get the current directory in their path by default + # unless they are run with the '-m' switch + if '' not in sys.path: + scriptdir = os.path.dirname(sys.argv[0]) + if scriptdir in sys.path: + sys.path.remove(scriptdir) + sys.path.insert(0, '.') + + try: + opts, args = getopt.getopt(sys.argv[1:], 'bk:p:w') + writing = False + start_server = False + open_browser = False + port = None + for opt, val in opts: + if opt == '-b': + start_server = True + open_browser = True + if opt == '-k': + apropos(val) + return + if opt == '-p': + start_server = True + port = val + if opt == '-w': + writing = True + + if start_server: + if port is None: + port = 0 + browse(port, open_browser=open_browser) + return + + if not args: raise BadUsage + for arg in args: + if ispath(arg) and not os.path.exists(arg): + print('file %r does not exist' % arg) + break + try: + if ispath(arg) and os.path.isfile(arg): + arg = importfile(arg) + if writing: + if ispath(arg) and os.path.isdir(arg): + writedocs(arg) + else: + writedoc(arg) + else: + help.help(arg) + except ErrorDuringImport as value: + print(value) + + except (getopt.error, BadUsage): + cmd = os.path.splitext(os.path.basename(sys.argv[0]))[0] + print("""pydoc - the Python documentation tool + +{cmd} ... + Show text documentation on something. may be the name of a + Python keyword, topic, function, module, or package, or a dotted + reference to a class or function within a module or module in a + package. If contains a '{sep}', it is used as the path to a + Python source file to document. If name is 'keywords', 'topics', + or 'modules', a listing of these things is displayed. + +{cmd} -k + Search for a keyword in the synopsis lines of all available modules. + +{cmd} -p + Start an HTTP server on the given port on the local machine. Port + number 0 can be used to get an arbitrary unused port. + +{cmd} -b + Start an HTTP server on an arbitrary unused port and open a Web browser + to interactively browse documentation. The -p option can be used with + the -b option to explicitly specify the server port. + +{cmd} -w ... + Write out the HTML documentation for a module to a file in the current + directory. If contains a '{sep}', it is treated as a filename; if + it names a directory, documentation is written for all the contents. +""".format(cmd=cmd, sep=os.sep)) + +if __name__ == '__main__': + cli() diff --git a/tools/pydoc_data/__init__.py b/tools/pydoc_data/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tools/pydoc_data/_pydoc.css b/tools/pydoc_data/_pydoc.css new file mode 100644 index 0000000..f036ef3 --- /dev/null +++ b/tools/pydoc_data/_pydoc.css @@ -0,0 +1,6 @@ +/* + CSS file for pydoc. + + Contents of this file are subject to change without notice. + +*/ diff --git a/tools/pydoc_data/topics.py b/tools/pydoc_data/topics.py new file mode 100644 index 0000000..d6f1366 --- /dev/null +++ b/tools/pydoc_data/topics.py @@ -0,0 +1,79 @@ +# -*- coding: utf-8 -*- +# Autogenerated by Sphinx on Sat Jun 25 14:08:44 2016 +topics = {'assert': u'\nThe "assert" statement\n**********************\n\nAssert statements are a convenient way to insert debugging assertions\ninto a program:\n\n assert_stmt ::= "assert" expression ["," expression]\n\nThe simple form, "assert expression", is equivalent to\n\n if __debug__:\n if not expression: raise AssertionError\n\nThe extended form, "assert expression1, expression2", is equivalent to\n\n if __debug__:\n if not expression1: raise AssertionError(expression2)\n\nThese equivalences assume that "__debug__" and "AssertionError" refer\nto the built-in variables with those names. In the current\nimplementation, the built-in variable "__debug__" is "True" under\nnormal circumstances, "False" when optimization is requested (command\nline option -O). The current code generator emits no code for an\nassert statement when optimization is requested at compile time. Note\nthat it is unnecessary to include the source code for the expression\nthat failed in the error message; it will be displayed as part of the\nstack trace.\n\nAssignments to "__debug__" are illegal. The value for the built-in\nvariable is determined when the interpreter starts.\n', + 'assignment': u'\nAssignment statements\n*********************\n\nAssignment statements are used to (re)bind names to values and to\nmodify attributes or items of mutable objects:\n\n assignment_stmt ::= (target_list "=")+ (starred_expression | yield_expression)\n target_list ::= target ("," target)* [","]\n target ::= identifier\n | "(" target_list ")"\n | "[" [target_list] "]"\n | attributeref\n | subscription\n | slicing\n | "*" target\n\n(See section *Primaries* for the syntax definitions for\n*attributeref*, *subscription*, and *slicing*.)\n\nAn assignment statement evaluates the expression list (remember that\nthis can be a single expression or a comma-separated list, the latter\nyielding a tuple) and assigns the single resulting object to each of\nthe target lists, from left to right.\n\nAssignment is defined recursively depending on the form of the target\n(list). When a target is part of a mutable object (an attribute\nreference, subscription or slicing), the mutable object must\nultimately perform the assignment and decide about its validity, and\nmay raise an exception if the assignment is unacceptable. The rules\nobserved by various types and the exceptions raised are given with the\ndefinition of the object types (see section *The standard type\nhierarchy*).\n\nAssignment of an object to a target list, optionally enclosed in\nparentheses or square brackets, is recursively defined as follows.\n\n* If the target list is empty: The object must also be an empty\n iterable.\n\n* If the target list is a single target in parentheses: The object\n is assigned to that target.\n\n* If the target list is a comma-separated list of targets, or a\n single target in square brackets: The object must be an iterable\n with the same number of items as there are targets in the target\n list, and the items are assigned, from left to right, to the\n corresponding targets.\n\n * If the target list contains one target prefixed with an\n asterisk, called a "starred" target: The object must be an\n iterable with at least as many items as there are targets in the\n target list, minus one. The first items of the iterable are\n assigned, from left to right, to the targets before the starred\n target. The final items of the iterable are assigned to the\n targets after the starred target. A list of the remaining items\n in the iterable is then assigned to the starred target (the list\n can be empty).\n\n * Else: The object must be an iterable with the same number of\n items as there are targets in the target list, and the items are\n assigned, from left to right, to the corresponding targets.\n\nAssignment of an object to a single target is recursively defined as\nfollows.\n\n* If the target is an identifier (name):\n\n * If the name does not occur in a "global" or "nonlocal" statement\n in the current code block: the name is bound to the object in the\n current local namespace.\n\n * Otherwise: the name is bound to the object in the global\n namespace or the outer namespace determined by "nonlocal",\n respectively.\n\n The name is rebound if it was already bound. This may cause the\n reference count for the object previously bound to the name to reach\n zero, causing the object to be deallocated and its destructor (if it\n has one) to be called.\n\n* If the target is an attribute reference: The primary expression in\n the reference is evaluated. It should yield an object with\n assignable attributes; if this is not the case, "TypeError" is\n raised. That object is then asked to assign the assigned object to\n the given attribute; if it cannot perform the assignment, it raises\n an exception (usually but not necessarily "AttributeError").\n\n Note: If the object is a class instance and the attribute reference\n occurs on both sides of the assignment operator, the RHS expression,\n "a.x" can access either an instance attribute or (if no instance\n attribute exists) a class attribute. The LHS target "a.x" is always\n set as an instance attribute, creating it if necessary. Thus, the\n two occurrences of "a.x" do not necessarily refer to the same\n attribute: if the RHS expression refers to a class attribute, the\n LHS creates a new instance attribute as the target of the\n assignment:\n\n class Cls:\n x = 3 # class variable\n inst = Cls()\n inst.x = inst.x + 1 # writes inst.x as 4 leaving Cls.x as 3\n\n This description does not necessarily apply to descriptor\n attributes, such as properties created with "property()".\n\n* If the target is a subscription: The primary expression in the\n reference is evaluated. It should yield either a mutable sequence\n object (such as a list) or a mapping object (such as a dictionary).\n Next, the subscript expression is evaluated.\n\n If the primary is a mutable sequence object (such as a list), the\n subscript must yield an integer. If it is negative, the sequence\'s\n length is added to it. The resulting value must be a nonnegative\n integer less than the sequence\'s length, and the sequence is asked\n to assign the assigned object to its item with that index. If the\n index is out of range, "IndexError" is raised (assignment to a\n subscripted sequence cannot add new items to a list).\n\n If the primary is a mapping object (such as a dictionary), the\n subscript must have a type compatible with the mapping\'s key type,\n and the mapping is then asked to create a key/datum pair which maps\n the subscript to the assigned object. This can either replace an\n existing key/value pair with the same key value, or insert a new\n key/value pair (if no key with the same value existed).\n\n For user-defined objects, the "__setitem__()" method is called with\n appropriate arguments.\n\n* If the target is a slicing: The primary expression in the\n reference is evaluated. It should yield a mutable sequence object\n (such as a list). The assigned object should be a sequence object\n of the same type. Next, the lower and upper bound expressions are\n evaluated, insofar they are present; defaults are zero and the\n sequence\'s length. The bounds should evaluate to integers. If\n either bound is negative, the sequence\'s length is added to it. The\n resulting bounds are clipped to lie between zero and the sequence\'s\n length, inclusive. Finally, the sequence object is asked to replace\n the slice with the items of the assigned sequence. The length of\n the slice may be different from the length of the assigned sequence,\n thus changing the length of the target sequence, if the target\n sequence allows it.\n\n**CPython implementation detail:** In the current implementation, the\nsyntax for targets is taken to be the same as for expressions, and\ninvalid syntax is rejected during the code generation phase, causing\nless detailed error messages.\n\nAlthough the definition of assignment implies that overlaps between\nthe left-hand side and the right-hand side are \'simultaneous\' (for\nexample "a, b = b, a" swaps two variables), overlaps *within* the\ncollection of assigned-to variables occur left-to-right, sometimes\nresulting in confusion. For instance, the following program prints\n"[0, 2]":\n\n x = [0, 1]\n i = 0\n i, x[i] = 1, 2 # i is updated, then x[i] is updated\n print(x)\n\nSee also: **PEP 3132** - Extended Iterable Unpacking\n\n The specification for the "*target" feature.\n\n\nAugmented assignment statements\n===============================\n\nAugmented assignment is the combination, in a single statement, of a\nbinary operation and an assignment statement:\n\n augmented_assignment_stmt ::= augtarget augop (expression_list | yield_expression)\n augtarget ::= identifier | attributeref | subscription | slicing\n augop ::= "+=" | "-=" | "*=" | "@=" | "/=" | "//=" | "%=" | "**="\n | ">>=" | "<<=" | "&=" | "^=" | "|="\n\n(See section *Primaries* for the syntax definitions of the last three\nsymbols.)\n\nAn augmented assignment evaluates the target (which, unlike normal\nassignment statements, cannot be an unpacking) and the expression\nlist, performs the binary operation specific to the type of assignment\non the two operands, and assigns the result to the original target.\nThe target is only evaluated once.\n\nAn augmented assignment expression like "x += 1" can be rewritten as\n"x = x + 1" to achieve a similar, but not exactly equal effect. In the\naugmented version, "x" is only evaluated once. Also, when possible,\nthe actual operation is performed *in-place*, meaning that rather than\ncreating a new object and assigning that to the target, the old object\nis modified instead.\n\nUnlike normal assignments, augmented assignments evaluate the left-\nhand side *before* evaluating the right-hand side. For example, "a[i]\n+= f(x)" first looks-up "a[i]", then it evaluates "f(x)" and performs\nthe addition, and lastly, it writes the result back to "a[i]".\n\nWith the exception of assigning to tuples and multiple targets in a\nsingle statement, the assignment done by augmented assignment\nstatements is handled the same way as normal assignments. Similarly,\nwith the exception of the possible *in-place* behavior, the binary\noperation performed by augmented assignment is the same as the normal\nbinary operations.\n\nFor targets which are attribute references, the same *caveat about\nclass and instance attributes* applies as for regular assignments.\n', + 'atom-identifiers': u'\nIdentifiers (Names)\n*******************\n\nAn identifier occurring as an atom is a name. See section\n*Identifiers and keywords* for lexical definition and section *Naming\nand binding* for documentation of naming and binding.\n\nWhen the name is bound to an object, evaluation of the atom yields\nthat object. When a name is not bound, an attempt to evaluate it\nraises a "NameError" exception.\n\n**Private name mangling:** When an identifier that textually occurs in\na class definition begins with two or more underscore characters and\ndoes not end in two or more underscores, it is considered a *private\nname* of that class. Private names are transformed to a longer form\nbefore code is generated for them. The transformation inserts the\nclass name, with leading underscores removed and a single underscore\ninserted, in front of the name. For example, the identifier "__spam"\noccurring in a class named "Ham" will be transformed to "_Ham__spam".\nThis transformation is independent of the syntactical context in which\nthe identifier is used. If the transformed name is extremely long\n(longer than 255 characters), implementation defined truncation may\nhappen. If the class name consists only of underscores, no\ntransformation is done.\n', + 'atom-literals': u"\nLiterals\n********\n\nPython supports string and bytes literals and various numeric\nliterals:\n\n literal ::= stringliteral | bytesliteral\n | integer | floatnumber | imagnumber\n\nEvaluation of a literal yields an object of the given type (string,\nbytes, integer, floating point number, complex number) with the given\nvalue. The value may be approximated in the case of floating point\nand imaginary (complex) literals. See section *Literals* for details.\n\nAll literals correspond to immutable data types, and hence the\nobject's identity is less important than its value. Multiple\nevaluations of literals with the same value (either the same\noccurrence in the program text or a different occurrence) may obtain\nthe same object or a different object with the same value.\n", + 'attribute-access': u'\nCustomizing attribute access\n****************************\n\nThe following methods can be defined to customize the meaning of\nattribute access (use of, assignment to, or deletion of "x.name") for\nclass instances.\n\nobject.__getattr__(self, name)\n\n Called when an attribute lookup has not found the attribute in the\n usual places (i.e. it is not an instance attribute nor is it found\n in the class tree for "self"). "name" is the attribute name. This\n method should return the (computed) attribute value or raise an\n "AttributeError" exception.\n\n Note that if the attribute is found through the normal mechanism,\n "__getattr__()" is not called. (This is an intentional asymmetry\n between "__getattr__()" and "__setattr__()".) This is done both for\n efficiency reasons and because otherwise "__getattr__()" would have\n no way to access other attributes of the instance. Note that at\n least for instance variables, you can fake total control by not\n inserting any values in the instance attribute dictionary (but\n instead inserting them in another object). See the\n "__getattribute__()" method below for a way to actually get total\n control over attribute access.\n\nobject.__getattribute__(self, name)\n\n Called unconditionally to implement attribute accesses for\n instances of the class. If the class also defines "__getattr__()",\n the latter will not be called unless "__getattribute__()" either\n calls it explicitly or raises an "AttributeError". This method\n should return the (computed) attribute value or raise an\n "AttributeError" exception. In order to avoid infinite recursion in\n this method, its implementation should always call the base class\n method with the same name to access any attributes it needs, for\n example, "object.__getattribute__(self, name)".\n\n Note: This method may still be bypassed when looking up special\n methods as the result of implicit invocation via language syntax\n or built-in functions. See *Special method lookup*.\n\nobject.__setattr__(self, name, value)\n\n Called when an attribute assignment is attempted. This is called\n instead of the normal mechanism (i.e. store the value in the\n instance dictionary). *name* is the attribute name, *value* is the\n value to be assigned to it.\n\n If "__setattr__()" wants to assign to an instance attribute, it\n should call the base class method with the same name, for example,\n "object.__setattr__(self, name, value)".\n\nobject.__delattr__(self, name)\n\n Like "__setattr__()" but for attribute deletion instead of\n assignment. This should only be implemented if "del obj.name" is\n meaningful for the object.\n\nobject.__dir__(self)\n\n Called when "dir()" is called on the object. A sequence must be\n returned. "dir()" converts the returned sequence to a list and\n sorts it.\n\n\nImplementing Descriptors\n========================\n\nThe following methods only apply when an instance of the class\ncontaining the method (a so-called *descriptor* class) appears in an\n*owner* class (the descriptor must be in either the owner\'s class\ndictionary or in the class dictionary for one of its parents). In the\nexamples below, "the attribute" refers to the attribute whose name is\nthe key of the property in the owner class\' "__dict__".\n\nobject.__get__(self, instance, owner)\n\n Called to get the attribute of the owner class (class attribute\n access) or of an instance of that class (instance attribute\n access). *owner* is always the owner class, while *instance* is the\n instance that the attribute was accessed through, or "None" when\n the attribute is accessed through the *owner*. This method should\n return the (computed) attribute value or raise an "AttributeError"\n exception.\n\nobject.__set__(self, instance, value)\n\n Called to set the attribute on an instance *instance* of the owner\n class to a new value, *value*.\n\nobject.__delete__(self, instance)\n\n Called to delete the attribute on an instance *instance* of the\n owner class.\n\nThe attribute "__objclass__" is interpreted by the "inspect" module as\nspecifying the class where this object was defined (setting this\nappropriately can assist in runtime introspection of dynamic class\nattributes). For callables, it may indicate that an instance of the\ngiven type (or a subclass) is expected or required as the first\npositional argument (for example, CPython sets this attribute for\nunbound methods that are implemented in C).\n\n\nInvoking Descriptors\n====================\n\nIn general, a descriptor is an object attribute with "binding\nbehavior", one whose attribute access has been overridden by methods\nin the descriptor protocol: "__get__()", "__set__()", and\n"__delete__()". If any of those methods are defined for an object, it\nis said to be a descriptor.\n\nThe default behavior for attribute access is to get, set, or delete\nthe attribute from an object\'s dictionary. For instance, "a.x" has a\nlookup chain starting with "a.__dict__[\'x\']", then\n"type(a).__dict__[\'x\']", and continuing through the base classes of\n"type(a)" excluding metaclasses.\n\nHowever, if the looked-up value is an object defining one of the\ndescriptor methods, then Python may override the default behavior and\ninvoke the descriptor method instead. Where this occurs in the\nprecedence chain depends on which descriptor methods were defined and\nhow they were called.\n\nThe starting point for descriptor invocation is a binding, "a.x". How\nthe arguments are assembled depends on "a":\n\nDirect Call\n The simplest and least common call is when user code directly\n invokes a descriptor method: "x.__get__(a)".\n\nInstance Binding\n If binding to an object instance, "a.x" is transformed into the\n call: "type(a).__dict__[\'x\'].__get__(a, type(a))".\n\nClass Binding\n If binding to a class, "A.x" is transformed into the call:\n "A.__dict__[\'x\'].__get__(None, A)".\n\nSuper Binding\n If "a" is an instance of "super", then the binding "super(B,\n obj).m()" searches "obj.__class__.__mro__" for the base class "A"\n immediately preceding "B" and then invokes the descriptor with the\n call: "A.__dict__[\'m\'].__get__(obj, obj.__class__)".\n\nFor instance bindings, the precedence of descriptor invocation depends\non the which descriptor methods are defined. A descriptor can define\nany combination of "__get__()", "__set__()" and "__delete__()". If it\ndoes not define "__get__()", then accessing the attribute will return\nthe descriptor object itself unless there is a value in the object\'s\ninstance dictionary. If the descriptor defines "__set__()" and/or\n"__delete__()", it is a data descriptor; if it defines neither, it is\na non-data descriptor. Normally, data descriptors define both\n"__get__()" and "__set__()", while non-data descriptors have just the\n"__get__()" method. Data descriptors with "__set__()" and "__get__()"\ndefined always override a redefinition in an instance dictionary. In\ncontrast, non-data descriptors can be overridden by instances.\n\nPython methods (including "staticmethod()" and "classmethod()") are\nimplemented as non-data descriptors. Accordingly, instances can\nredefine and override methods. This allows individual instances to\nacquire behaviors that differ from other instances of the same class.\n\nThe "property()" function is implemented as a data descriptor.\nAccordingly, instances cannot override the behavior of a property.\n\n\n__slots__\n=========\n\nBy default, instances of classes have a dictionary for attribute\nstorage. This wastes space for objects having very few instance\nvariables. The space consumption can become acute when creating large\nnumbers of instances.\n\nThe default can be overridden by defining *__slots__* in a class\ndefinition. The *__slots__* declaration takes a sequence of instance\nvariables and reserves just enough space in each instance to hold a\nvalue for each variable. Space is saved because *__dict__* is not\ncreated for each instance.\n\nobject.__slots__\n\n This class variable can be assigned a string, iterable, or sequence\n of strings with variable names used by instances. *__slots__*\n reserves space for the declared variables and prevents the\n automatic creation of *__dict__* and *__weakref__* for each\n instance.\n\n\nNotes on using *__slots__*\n--------------------------\n\n* When inheriting from a class without *__slots__*, the *__dict__*\n attribute of that class will always be accessible, so a *__slots__*\n definition in the subclass is meaningless.\n\n* Without a *__dict__* variable, instances cannot be assigned new\n variables not listed in the *__slots__* definition. Attempts to\n assign to an unlisted variable name raises "AttributeError". If\n dynamic assignment of new variables is desired, then add\n "\'__dict__\'" to the sequence of strings in the *__slots__*\n declaration.\n\n* Without a *__weakref__* variable for each instance, classes\n defining *__slots__* do not support weak references to its\n instances. If weak reference support is needed, then add\n "\'__weakref__\'" to the sequence of strings in the *__slots__*\n declaration.\n\n* *__slots__* are implemented at the class level by creating\n descriptors (*Implementing Descriptors*) for each variable name. As\n a result, class attributes cannot be used to set default values for\n instance variables defined by *__slots__*; otherwise, the class\n attribute would overwrite the descriptor assignment.\n\n* The action of a *__slots__* declaration is limited to the class\n where it is defined. As a result, subclasses will have a *__dict__*\n unless they also define *__slots__* (which must only contain names\n of any *additional* slots).\n\n* If a class defines a slot also defined in a base class, the\n instance variable defined by the base class slot is inaccessible\n (except by retrieving its descriptor directly from the base class).\n This renders the meaning of the program undefined. In the future, a\n check may be added to prevent this.\n\n* Nonempty *__slots__* does not work for classes derived from\n "variable-length" built-in types such as "int", "bytes" and "tuple".\n\n* Any non-string iterable may be assigned to *__slots__*. Mappings\n may also be used; however, in the future, special meaning may be\n assigned to the values corresponding to each key.\n\n* *__class__* assignment works only if both classes have the same\n *__slots__*.\n', + 'attribute-references': u'\nAttribute references\n********************\n\nAn attribute reference is a primary followed by a period and a name:\n\n attributeref ::= primary "." identifier\n\nThe primary must evaluate to an object of a type that supports\nattribute references, which most objects do. This object is then\nasked to produce the attribute whose name is the identifier. This\nproduction can be customized by overriding the "__getattr__()" method.\nIf this attribute is not available, the exception "AttributeError" is\nraised. Otherwise, the type and value of the object produced is\ndetermined by the object. Multiple evaluations of the same attribute\nreference may yield different objects.\n', + 'augassign': u'\nAugmented assignment statements\n*******************************\n\nAugmented assignment is the combination, in a single statement, of a\nbinary operation and an assignment statement:\n\n augmented_assignment_stmt ::= augtarget augop (expression_list | yield_expression)\n augtarget ::= identifier | attributeref | subscription | slicing\n augop ::= "+=" | "-=" | "*=" | "@=" | "/=" | "//=" | "%=" | "**="\n | ">>=" | "<<=" | "&=" | "^=" | "|="\n\n(See section *Primaries* for the syntax definitions of the last three\nsymbols.)\n\nAn augmented assignment evaluates the target (which, unlike normal\nassignment statements, cannot be an unpacking) and the expression\nlist, performs the binary operation specific to the type of assignment\non the two operands, and assigns the result to the original target.\nThe target is only evaluated once.\n\nAn augmented assignment expression like "x += 1" can be rewritten as\n"x = x + 1" to achieve a similar, but not exactly equal effect. In the\naugmented version, "x" is only evaluated once. Also, when possible,\nthe actual operation is performed *in-place*, meaning that rather than\ncreating a new object and assigning that to the target, the old object\nis modified instead.\n\nUnlike normal assignments, augmented assignments evaluate the left-\nhand side *before* evaluating the right-hand side. For example, "a[i]\n+= f(x)" first looks-up "a[i]", then it evaluates "f(x)" and performs\nthe addition, and lastly, it writes the result back to "a[i]".\n\nWith the exception of assigning to tuples and multiple targets in a\nsingle statement, the assignment done by augmented assignment\nstatements is handled the same way as normal assignments. Similarly,\nwith the exception of the possible *in-place* behavior, the binary\noperation performed by augmented assignment is the same as the normal\nbinary operations.\n\nFor targets which are attribute references, the same *caveat about\nclass and instance attributes* applies as for regular assignments.\n', + 'binary': u'\nBinary arithmetic operations\n****************************\n\nThe binary arithmetic operations have the conventional priority\nlevels. Note that some of these operations also apply to certain non-\nnumeric types. Apart from the power operator, there are only two\nlevels, one for multiplicative operators and one for additive\noperators:\n\n m_expr ::= u_expr | m_expr "*" u_expr | m_expr "@" m_expr |\n m_expr "//" u_expr| m_expr "/" u_expr |\n m_expr "%" u_expr\n a_expr ::= m_expr | a_expr "+" m_expr | a_expr "-" m_expr\n\nThe "*" (multiplication) operator yields the product of its arguments.\nThe arguments must either both be numbers, or one argument must be an\ninteger and the other must be a sequence. In the former case, the\nnumbers are converted to a common type and then multiplied together.\nIn the latter case, sequence repetition is performed; a negative\nrepetition factor yields an empty sequence.\n\nThe "@" (at) operator is intended to be used for matrix\nmultiplication. No builtin Python types implement this operator.\n\nNew in version 3.5.\n\nThe "/" (division) and "//" (floor division) operators yield the\nquotient of their arguments. The numeric arguments are first\nconverted to a common type. Division of integers yields a float, while\nfloor division of integers results in an integer; the result is that\nof mathematical division with the \'floor\' function applied to the\nresult. Division by zero raises the "ZeroDivisionError" exception.\n\nThe "%" (modulo) operator yields the remainder from the division of\nthe first argument by the second. The numeric arguments are first\nconverted to a common type. A zero right argument raises the\n"ZeroDivisionError" exception. The arguments may be floating point\nnumbers, e.g., "3.14%0.7" equals "0.34" (since "3.14" equals "4*0.7 +\n0.34".) The modulo operator always yields a result with the same sign\nas its second operand (or zero); the absolute value of the result is\nstrictly smaller than the absolute value of the second operand [1].\n\nThe floor division and modulo operators are connected by the following\nidentity: "x == (x//y)*y + (x%y)". Floor division and modulo are also\nconnected with the built-in function "divmod()": "divmod(x, y) ==\n(x//y, x%y)". [2].\n\nIn addition to performing the modulo operation on numbers, the "%"\noperator is also overloaded by string objects to perform old-style\nstring formatting (also known as interpolation). The syntax for\nstring formatting is described in the Python Library Reference,\nsection *printf-style String Formatting*.\n\nThe floor division operator, the modulo operator, and the "divmod()"\nfunction are not defined for complex numbers. Instead, convert to a\nfloating point number using the "abs()" function if appropriate.\n\nThe "+" (addition) operator yields the sum of its arguments. The\narguments must either both be numbers or both be sequences of the same\ntype. In the former case, the numbers are converted to a common type\nand then added together. In the latter case, the sequences are\nconcatenated.\n\nThe "-" (subtraction) operator yields the difference of its arguments.\nThe numeric arguments are first converted to a common type.\n', + 'bitwise': u'\nBinary bitwise operations\n*************************\n\nEach of the three bitwise operations has a different priority level:\n\n and_expr ::= shift_expr | and_expr "&" shift_expr\n xor_expr ::= and_expr | xor_expr "^" and_expr\n or_expr ::= xor_expr | or_expr "|" xor_expr\n\nThe "&" operator yields the bitwise AND of its arguments, which must\nbe integers.\n\nThe "^" operator yields the bitwise XOR (exclusive OR) of its\narguments, which must be integers.\n\nThe "|" operator yields the bitwise (inclusive) OR of its arguments,\nwhich must be integers.\n', + 'bltin-code-objects': u'\nCode Objects\n************\n\nCode objects are used by the implementation to represent "pseudo-\ncompiled" executable Python code such as a function body. They differ\nfrom function objects because they don\'t contain a reference to their\nglobal execution environment. Code objects are returned by the built-\nin "compile()" function and can be extracted from function objects\nthrough their "__code__" attribute. See also the "code" module.\n\nA code object can be executed or evaluated by passing it (instead of a\nsource string) to the "exec()" or "eval()" built-in functions.\n\nSee *The standard type hierarchy* for more information.\n', + 'bltin-ellipsis-object': u'\nThe Ellipsis Object\n*******************\n\nThis object is commonly used by slicing (see *Slicings*). It supports\nno special operations. There is exactly one ellipsis object, named\n"Ellipsis" (a built-in name). "type(Ellipsis)()" produces the\n"Ellipsis" singleton.\n\nIt is written as "Ellipsis" or "...".\n', + 'bltin-null-object': u'\nThe Null Object\n***************\n\nThis object is returned by functions that don\'t explicitly return a\nvalue. It supports no special operations. There is exactly one null\nobject, named "None" (a built-in name). "type(None)()" produces the\nsame singleton.\n\nIt is written as "None".\n', + 'bltin-type-objects': u'\nType Objects\n************\n\nType objects represent the various object types. An object\'s type is\naccessed by the built-in function "type()". There are no special\noperations on types. The standard module "types" defines names for\nall standard built-in types.\n\nTypes are written like this: "".\n', + 'booleans': u'\nBoolean operations\n******************\n\n or_test ::= and_test | or_test "or" and_test\n and_test ::= not_test | and_test "and" not_test\n not_test ::= comparison | "not" not_test\n\nIn the context of Boolean operations, and also when expressions are\nused by control flow statements, the following values are interpreted\nas false: "False", "None", numeric zero of all types, and empty\nstrings and containers (including strings, tuples, lists,\ndictionaries, sets and frozensets). All other values are interpreted\nas true. User-defined objects can customize their truth value by\nproviding a "__bool__()" method.\n\nThe operator "not" yields "True" if its argument is false, "False"\notherwise.\n\nThe expression "x and y" first evaluates *x*; if *x* is false, its\nvalue is returned; otherwise, *y* is evaluated and the resulting value\nis returned.\n\nThe expression "x or y" first evaluates *x*; if *x* is true, its value\nis returned; otherwise, *y* is evaluated and the resulting value is\nreturned.\n\n(Note that neither "and" nor "or" restrict the value and type they\nreturn to "False" and "True", but rather return the last evaluated\nargument. This is sometimes useful, e.g., if "s" is a string that\nshould be replaced by a default value if it is empty, the expression\n"s or \'foo\'" yields the desired value. Because "not" has to create a\nnew value, it returns a boolean value regardless of the type of its\nargument (for example, "not \'foo\'" produces "False" rather than "\'\'".)\n', + 'break': u'\nThe "break" statement\n*********************\n\n break_stmt ::= "break"\n\n"break" may only occur syntactically nested in a "for" or "while"\nloop, but not nested in a function or class definition within that\nloop.\n\nIt terminates the nearest enclosing loop, skipping the optional "else"\nclause if the loop has one.\n\nIf a "for" loop is terminated by "break", the loop control target\nkeeps its current value.\n\nWhen "break" passes control out of a "try" statement with a "finally"\nclause, that "finally" clause is executed before really leaving the\nloop.\n', + 'callable-types': u'\nEmulating callable objects\n**************************\n\nobject.__call__(self[, args...])\n\n Called when the instance is "called" as a function; if this method\n is defined, "x(arg1, arg2, ...)" is a shorthand for\n "x.__call__(arg1, arg2, ...)".\n', + 'calls': u'\nCalls\n*****\n\nA call calls a callable object (e.g., a *function*) with a possibly\nempty series of *arguments*:\n\n call ::= primary "(" [argument_list [","] | comprehension] ")"\n argument_list ::= positional_arguments ["," starred_and_keywords]\n ["," keywords_arguments]\n | starred_and_keywords ["," keywords_arguments]\n | keywords_arguments\n positional_arguments ::= ["*"] expression ("," ["*"] expression)*\n starred_and_keywords ::= ("*" expression | keyword_item)\n ("," "*" expression | "," keyword_item)*\n keywords_arguments ::= (keyword_item | "**" expression)\n ("," keyword_item | "**" expression)*\n keyword_item ::= identifier "=" expression\n\nAn optional trailing comma may be present after the positional and\nkeyword arguments but does not affect the semantics.\n\nThe primary must evaluate to a callable object (user-defined\nfunctions, built-in functions, methods of built-in objects, class\nobjects, methods of class instances, and all objects having a\n"__call__()" method are callable). All argument expressions are\nevaluated before the call is attempted. Please refer to section\n*Function definitions* for the syntax of formal *parameter* lists.\n\nIf keyword arguments are present, they are first converted to\npositional arguments, as follows. First, a list of unfilled slots is\ncreated for the formal parameters. If there are N positional\narguments, they are placed in the first N slots. Next, for each\nkeyword argument, the identifier is used to determine the\ncorresponding slot (if the identifier is the same as the first formal\nparameter name, the first slot is used, and so on). If the slot is\nalready filled, a "TypeError" exception is raised. Otherwise, the\nvalue of the argument is placed in the slot, filling it (even if the\nexpression is "None", it fills the slot). When all arguments have\nbeen processed, the slots that are still unfilled are filled with the\ncorresponding default value from the function definition. (Default\nvalues are calculated, once, when the function is defined; thus, a\nmutable object such as a list or dictionary used as default value will\nbe shared by all calls that don\'t specify an argument value for the\ncorresponding slot; this should usually be avoided.) If there are any\nunfilled slots for which no default value is specified, a "TypeError"\nexception is raised. Otherwise, the list of filled slots is used as\nthe argument list for the call.\n\n**CPython implementation detail:** An implementation may provide\nbuilt-in functions whose positional parameters do not have names, even\nif they are \'named\' for the purpose of documentation, and which\ntherefore cannot be supplied by keyword. In CPython, this is the case\nfor functions implemented in C that use "PyArg_ParseTuple()" to parse\ntheir arguments.\n\nIf there are more positional arguments than there are formal parameter\nslots, a "TypeError" exception is raised, unless a formal parameter\nusing the syntax "*identifier" is present; in this case, that formal\nparameter receives a tuple containing the excess positional arguments\n(or an empty tuple if there were no excess positional arguments).\n\nIf any keyword argument does not correspond to a formal parameter\nname, a "TypeError" exception is raised, unless a formal parameter\nusing the syntax "**identifier" is present; in this case, that formal\nparameter receives a dictionary containing the excess keyword\narguments (using the keywords as keys and the argument values as\ncorresponding values), or a (new) empty dictionary if there were no\nexcess keyword arguments.\n\nIf the syntax "*expression" appears in the function call, "expression"\nmust evaluate to an *iterable*. Elements from these iterables are\ntreated as if they were additional positional arguments. For the call\n"f(x1, x2, *y, x3, x4)", if *y* evaluates to a sequence *y1*, ...,\n*yM*, this is equivalent to a call with M+4 positional arguments *x1*,\n*x2*, *y1*, ..., *yM*, *x3*, *x4*.\n\nA consequence of this is that although the "*expression" syntax may\nappear *after* explicit keyword arguments, it is processed *before*\nthe keyword arguments (and any "**expression" arguments -- see below).\nSo:\n\n >>> def f(a, b):\n ... print(a, b)\n ...\n >>> f(b=1, *(2,))\n 2 1\n >>> f(a=1, *(2,))\n Traceback (most recent call last):\n File "", line 1, in ?\n TypeError: f() got multiple values for keyword argument \'a\'\n >>> f(1, *(2,))\n 1 2\n\nIt is unusual for both keyword arguments and the "*expression" syntax\nto be used in the same call, so in practice this confusion does not\narise.\n\nIf the syntax "**expression" appears in the function call,\n"expression" must evaluate to a *mapping*, the contents of which are\ntreated as additional keyword arguments. If a keyword is already\npresent (as an explicit keyword argument, or from another unpacking),\na "TypeError" exception is raised.\n\nFormal parameters using the syntax "*identifier" or "**identifier"\ncannot be used as positional argument slots or as keyword argument\nnames.\n\nChanged in version 3.5: Function calls accept any number of "*" and\n"**" unpackings, positional arguments may follow iterable unpackings\n("*"), and keyword arguments may follow dictionary unpackings ("**").\nOriginally proposed by **PEP 448**.\n\nA call always returns some value, possibly "None", unless it raises an\nexception. How this value is computed depends on the type of the\ncallable object.\n\nIf it is---\n\na user-defined function:\n The code block for the function is executed, passing it the\n argument list. The first thing the code block will do is bind the\n formal parameters to the arguments; this is described in section\n *Function definitions*. When the code block executes a "return"\n statement, this specifies the return value of the function call.\n\na built-in function or method:\n The result is up to the interpreter; see *Built-in Functions* for\n the descriptions of built-in functions and methods.\n\na class object:\n A new instance of that class is returned.\n\na class instance method:\n The corresponding user-defined function is called, with an argument\n list that is one longer than the argument list of the call: the\n instance becomes the first argument.\n\na class instance:\n The class must define a "__call__()" method; the effect is then the\n same as if that method was called.\n', + 'class': u'\nClass definitions\n*****************\n\nA class definition defines a class object (see section *The standard\ntype hierarchy*):\n\n classdef ::= [decorators] "class" classname [inheritance] ":" suite\n inheritance ::= "(" [argument_list] ")"\n classname ::= identifier\n\nA class definition is an executable statement. The inheritance list\nusually gives a list of base classes (see *Customizing class creation*\nfor more advanced uses), so each item in the list should evaluate to a\nclass object which allows subclassing. Classes without an inheritance\nlist inherit, by default, from the base class "object"; hence,\n\n class Foo:\n pass\n\nis equivalent to\n\n class Foo(object):\n pass\n\nThe class\'s suite is then executed in a new execution frame (see\n*Naming and binding*), using a newly created local namespace and the\noriginal global namespace. (Usually, the suite contains mostly\nfunction definitions.) When the class\'s suite finishes execution, its\nexecution frame is discarded but its local namespace is saved. [4] A\nclass object is then created using the inheritance list for the base\nclasses and the saved local namespace for the attribute dictionary.\nThe class name is bound to this class object in the original local\nnamespace.\n\nClass creation can be customized heavily using *metaclasses*.\n\nClasses can also be decorated: just like when decorating functions,\n\n @f1(arg)\n @f2\n class Foo: pass\n\nis equivalent to\n\n class Foo: pass\n Foo = f1(arg)(f2(Foo))\n\nThe evaluation rules for the decorator expressions are the same as for\nfunction decorators. The result must be a class object, which is then\nbound to the class name.\n\n**Programmer\'s note:** Variables defined in the class definition are\nclass attributes; they are shared by instances. Instance attributes\ncan be set in a method with "self.name = value". Both class and\ninstance attributes are accessible through the notation ""self.name"",\nand an instance attribute hides a class attribute with the same name\nwhen accessed in this way. Class attributes can be used as defaults\nfor instance attributes, but using mutable values there can lead to\nunexpected results. *Descriptors* can be used to create instance\nvariables with different implementation details.\n\nSee also: **PEP 3115** - Metaclasses in Python 3 **PEP 3129** -\n Class Decorators\n', + 'comparisons': u'\nComparisons\n***********\n\nUnlike C, all comparison operations in Python have the same priority,\nwhich is lower than that of any arithmetic, shifting or bitwise\noperation. Also unlike C, expressions like "a < b < c" have the\ninterpretation that is conventional in mathematics:\n\n comparison ::= or_expr ( comp_operator or_expr )*\n comp_operator ::= "<" | ">" | "==" | ">=" | "<=" | "!="\n | "is" ["not"] | ["not"] "in"\n\nComparisons yield boolean values: "True" or "False".\n\nComparisons can be chained arbitrarily, e.g., "x < y <= z" is\nequivalent to "x < y and y <= z", except that "y" is evaluated only\nonce (but in both cases "z" is not evaluated at all when "x < y" is\nfound to be false).\n\nFormally, if *a*, *b*, *c*, ..., *y*, *z* are expressions and *op1*,\n*op2*, ..., *opN* are comparison operators, then "a op1 b op2 c ... y\nopN z" is equivalent to "a op1 b and b op2 c and ... y opN z", except\nthat each expression is evaluated at most once.\n\nNote that "a op1 b op2 c" doesn\'t imply any kind of comparison between\n*a* and *c*, so that, e.g., "x < y > z" is perfectly legal (though\nperhaps not pretty).\n\n\nValue comparisons\n=================\n\nThe operators "<", ">", "==", ">=", "<=", and "!=" compare the values\nof two objects. The objects do not need to have the same type.\n\nChapter *Objects, values and types* states that objects have a value\n(in addition to type and identity). The value of an object is a\nrather abstract notion in Python: For example, there is no canonical\naccess method for an object\'s value. Also, there is no requirement\nthat the value of an object should be constructed in a particular way,\ne.g. comprised of all its data attributes. Comparison operators\nimplement a particular notion of what the value of an object is. One\ncan think of them as defining the value of an object indirectly, by\nmeans of their comparison implementation.\n\nBecause all types are (direct or indirect) subtypes of "object", they\ninherit the default comparison behavior from "object". Types can\ncustomize their comparison behavior by implementing *rich comparison\nmethods* like "__lt__()", described in *Basic customization*.\n\nThe default behavior for equality comparison ("==" and "!=") is based\non the identity of the objects. Hence, equality comparison of\ninstances with the same identity results in equality, and equality\ncomparison of instances with different identities results in\ninequality. A motivation for this default behavior is the desire that\nall objects should be reflexive (i.e. "x is y" implies "x == y").\n\nA default order comparison ("<", ">", "<=", and ">=") is not provided;\nan attempt raises "TypeError". A motivation for this default behavior\nis the lack of a similar invariant as for equality.\n\nThe behavior of the default equality comparison, that instances with\ndifferent identities are always unequal, may be in contrast to what\ntypes will need that have a sensible definition of object value and\nvalue-based equality. Such types will need to customize their\ncomparison behavior, and in fact, a number of built-in types have done\nthat.\n\nThe following list describes the comparison behavior of the most\nimportant built-in types.\n\n* Numbers of built-in numeric types (*Numeric Types --- int, float,\n complex*) and of the standard library types "fractions.Fraction" and\n "decimal.Decimal" can be compared within and across their types,\n with the restriction that complex numbers do not support order\n comparison. Within the limits of the types involved, they compare\n mathematically (algorithmically) correct without loss of precision.\n\n The not-a-number values "float(\'NaN\')" and "Decimal(\'NaN\')" are\n special. They are identical to themselves ("x is x" is true) but\n are not equal to themselves ("x == x" is false). Additionally,\n comparing any number to a not-a-number value will return "False".\n For example, both "3 < float(\'NaN\')" and "float(\'NaN\') < 3" will\n return "False".\n\n* Binary sequences (instances of "bytes" or "bytearray") can be\n compared within and across their types. They compare\n lexicographically using the numeric values of their elements.\n\n* Strings (instances of "str") compare lexicographically using the\n numerical Unicode code points (the result of the built-in function\n "ord()") of their characters. [3]\n\n Strings and binary sequences cannot be directly compared.\n\n* Sequences (instances of "tuple", "list", or "range") can be\n compared only within each of their types, with the restriction that\n ranges do not support order comparison. Equality comparison across\n these types results in unequality, and ordering comparison across\n these types raises "TypeError".\n\n Sequences compare lexicographically using comparison of\n corresponding elements, whereby reflexivity of the elements is\n enforced.\n\n In enforcing reflexivity of elements, the comparison of collections\n assumes that for a collection element "x", "x == x" is always true.\n Based on that assumption, element identity is compared first, and\n element comparison is performed only for distinct elements. This\n approach yields the same result as a strict element comparison\n would, if the compared elements are reflexive. For non-reflexive\n elements, the result is different than for strict element\n comparison, and may be surprising: The non-reflexive not-a-number\n values for example result in the following comparison behavior when\n used in a list:\n\n >>> nan = float(\'NaN\')\n >>> nan is nan\n True\n >>> nan == nan\n False <-- the defined non-reflexive behavior of NaN\n >>> [nan] == [nan]\n True <-- list enforces reflexivity and tests identity first\n\n Lexicographical comparison between built-in collections works as\n follows:\n\n * For two collections to compare equal, they must be of the same\n type, have the same length, and each pair of corresponding\n elements must compare equal (for example, "[1,2] == (1,2)" is\n false because the type is not the same).\n\n * Collections that support order comparison are ordered the same\n as their first unequal elements (for example, "[1,2,x] <= [1,2,y]"\n has the same value as "x <= y"). If a corresponding element does\n not exist, the shorter collection is ordered first (for example,\n "[1,2] < [1,2,3]" is true).\n\n* Mappings (instances of "dict") compare equal if and only if they\n have equal *(key, value)* pairs. Equality comparison of the keys and\n elements enforces reflexivity.\n\n Order comparisons ("<", ">", "<=", and ">=") raise "TypeError".\n\n* Sets (instances of "set" or "frozenset") can be compared within\n and across their types.\n\n They define order comparison operators to mean subset and superset\n tests. Those relations do not define total orderings (for example,\n the two sets "{1,2}" and "{2,3}" are not equal, nor subsets of one\n another, nor supersets of one another). Accordingly, sets are not\n appropriate arguments for functions which depend on total ordering\n (for example, "min()", "max()", and "sorted()" produce undefined\n results given a list of sets as inputs).\n\n Comparison of sets enforces reflexivity of its elements.\n\n* Most other built-in types have no comparison methods implemented,\n so they inherit the default comparison behavior.\n\nUser-defined classes that customize their comparison behavior should\nfollow some consistency rules, if possible:\n\n* Equality comparison should be reflexive. In other words, identical\n objects should compare equal:\n\n "x is y" implies "x == y"\n\n* Comparison should be symmetric. In other words, the following\n expressions should have the same result:\n\n "x == y" and "y == x"\n\n "x != y" and "y != x"\n\n "x < y" and "y > x"\n\n "x <= y" and "y >= x"\n\n* Comparison should be transitive. The following (non-exhaustive)\n examples illustrate that:\n\n "x > y and y > z" implies "x > z"\n\n "x < y and y <= z" implies "x < z"\n\n* Inverse comparison should result in the boolean negation. In other\n words, the following expressions should have the same result:\n\n "x == y" and "not x != y"\n\n "x < y" and "not x >= y" (for total ordering)\n\n "x > y" and "not x <= y" (for total ordering)\n\n The last two expressions apply to totally ordered collections (e.g.\n to sequences, but not to sets or mappings). See also the\n "total_ordering()" decorator.\n\nPython does not enforce these consistency rules. In fact, the\nnot-a-number values are an example for not following these rules.\n\n\nMembership test operations\n==========================\n\nThe operators "in" and "not in" test for membership. "x in s"\nevaluates to true if *x* is a member of *s*, and false otherwise. "x\nnot in s" returns the negation of "x in s". All built-in sequences\nand set types support this as well as dictionary, for which "in" tests\nwhether the dictionary has a given key. For container types such as\nlist, tuple, set, frozenset, dict, or collections.deque, the\nexpression "x in y" is equivalent to "any(x is e or x == e for e in\ny)".\n\nFor the string and bytes types, "x in y" is true if and only if *x* is\na substring of *y*. An equivalent test is "y.find(x) != -1". Empty\nstrings are always considered to be a substring of any other string,\nso """ in "abc"" will return "True".\n\nFor user-defined classes which define the "__contains__()" method, "x\nin y" is true if and only if "y.__contains__(x)" is true.\n\nFor user-defined classes which do not define "__contains__()" but do\ndefine "__iter__()", "x in y" is true if some value "z" with "x == z"\nis produced while iterating over "y". If an exception is raised\nduring the iteration, it is as if "in" raised that exception.\n\nLastly, the old-style iteration protocol is tried: if a class defines\n"__getitem__()", "x in y" is true if and only if there is a non-\nnegative integer index *i* such that "x == y[i]", and all lower\ninteger indices do not raise "IndexError" exception. (If any other\nexception is raised, it is as if "in" raised that exception).\n\nThe operator "not in" is defined to have the inverse true value of\n"in".\n\n\nIdentity comparisons\n====================\n\nThe operators "is" and "is not" test for object identity: "x is y" is\ntrue if and only if *x* and *y* are the same object. "x is not y"\nyields the inverse truth value. [4]\n', + 'compound': u'\nCompound statements\n*******************\n\nCompound statements contain (groups of) other statements; they affect\nor control the execution of those other statements in some way. In\ngeneral, compound statements span multiple lines, although in simple\nincarnations a whole compound statement may be contained in one line.\n\nThe "if", "while" and "for" statements implement traditional control\nflow constructs. "try" specifies exception handlers and/or cleanup\ncode for a group of statements, while the "with" statement allows the\nexecution of initialization and finalization code around a block of\ncode. Function and class definitions are also syntactically compound\nstatements.\n\nA compound statement consists of one or more \'clauses.\' A clause\nconsists of a header and a \'suite.\' The clause headers of a\nparticular compound statement are all at the same indentation level.\nEach clause header begins with a uniquely identifying keyword and ends\nwith a colon. A suite is a group of statements controlled by a\nclause. A suite can be one or more semicolon-separated simple\nstatements on the same line as the header, following the header\'s\ncolon, or it can be one or more indented statements on subsequent\nlines. Only the latter form of a suite can contain nested compound\nstatements; the following is illegal, mostly because it wouldn\'t be\nclear to which "if" clause a following "else" clause would belong:\n\n if test1: if test2: print(x)\n\nAlso note that the semicolon binds tighter than the colon in this\ncontext, so that in the following example, either all or none of the\n"print()" calls are executed:\n\n if x < y < z: print(x); print(y); print(z)\n\nSummarizing:\n\n compound_stmt ::= if_stmt\n | while_stmt\n | for_stmt\n | try_stmt\n | with_stmt\n | funcdef\n | classdef\n | async_with_stmt\n | async_for_stmt\n | async_funcdef\n suite ::= stmt_list NEWLINE | NEWLINE INDENT statement+ DEDENT\n statement ::= stmt_list NEWLINE | compound_stmt\n stmt_list ::= simple_stmt (";" simple_stmt)* [";"]\n\nNote that statements always end in a "NEWLINE" possibly followed by a\n"DEDENT". Also note that optional continuation clauses always begin\nwith a keyword that cannot start a statement, thus there are no\nambiguities (the \'dangling "else"\' problem is solved in Python by\nrequiring nested "if" statements to be indented).\n\nThe formatting of the grammar rules in the following sections places\neach clause on a separate line for clarity.\n\n\nThe "if" statement\n==================\n\nThe "if" statement is used for conditional execution:\n\n if_stmt ::= "if" expression ":" suite\n ( "elif" expression ":" suite )*\n ["else" ":" suite]\n\nIt selects exactly one of the suites by evaluating the expressions one\nby one until one is found to be true (see section *Boolean operations*\nfor the definition of true and false); then that suite is executed\n(and no other part of the "if" statement is executed or evaluated).\nIf all expressions are false, the suite of the "else" clause, if\npresent, is executed.\n\n\nThe "while" statement\n=====================\n\nThe "while" statement is used for repeated execution as long as an\nexpression is true:\n\n while_stmt ::= "while" expression ":" suite\n ["else" ":" suite]\n\nThis repeatedly tests the expression and, if it is true, executes the\nfirst suite; if the expression is false (which may be the first time\nit is tested) the suite of the "else" clause, if present, is executed\nand the loop terminates.\n\nA "break" statement executed in the first suite terminates the loop\nwithout executing the "else" clause\'s suite. A "continue" statement\nexecuted in the first suite skips the rest of the suite and goes back\nto testing the expression.\n\n\nThe "for" statement\n===================\n\nThe "for" statement is used to iterate over the elements of a sequence\n(such as a string, tuple or list) or other iterable object:\n\n for_stmt ::= "for" target_list "in" expression_list ":" suite\n ["else" ":" suite]\n\nThe expression list is evaluated once; it should yield an iterable\nobject. An iterator is created for the result of the\n"expression_list". The suite is then executed once for each item\nprovided by the iterator, in the order returned by the iterator. Each\nitem in turn is assigned to the target list using the standard rules\nfor assignments (see *Assignment statements*), and then the suite is\nexecuted. When the items are exhausted (which is immediately when the\nsequence is empty or an iterator raises a "StopIteration" exception),\nthe suite in the "else" clause, if present, is executed, and the loop\nterminates.\n\nA "break" statement executed in the first suite terminates the loop\nwithout executing the "else" clause\'s suite. A "continue" statement\nexecuted in the first suite skips the rest of the suite and continues\nwith the next item, or with the "else" clause if there is no next\nitem.\n\nThe for-loop makes assignments to the variables(s) in the target list.\nThis overwrites all previous assignments to those variables including\nthose made in the suite of the for-loop:\n\n for i in range(10):\n print(i)\n i = 5 # this will not affect the for-loop\n # because i will be overwritten with the next\n # index in the range\n\nNames in the target list are not deleted when the loop is finished,\nbut if the sequence is empty, they will not have been assigned to at\nall by the loop. Hint: the built-in function "range()" returns an\niterator of integers suitable to emulate the effect of Pascal\'s "for i\n:= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, 2]".\n\nNote: There is a subtlety when the sequence is being modified by the\n loop (this can only occur for mutable sequences, i.e. lists). An\n internal counter is used to keep track of which item is used next,\n and this is incremented on each iteration. When this counter has\n reached the length of the sequence the loop terminates. This means\n that if the suite deletes the current (or a previous) item from the\n sequence, the next item will be skipped (since it gets the index of\n the current item which has already been treated). Likewise, if the\n suite inserts an item in the sequence before the current item, the\n current item will be treated again the next time through the loop.\n This can lead to nasty bugs that can be avoided by making a\n temporary copy using a slice of the whole sequence, e.g.,\n\n for x in a[:]:\n if x < 0: a.remove(x)\n\n\nThe "try" statement\n===================\n\nThe "try" statement specifies exception handlers and/or cleanup code\nfor a group of statements:\n\n try_stmt ::= try1_stmt | try2_stmt\n try1_stmt ::= "try" ":" suite\n ("except" [expression ["as" identifier]] ":" suite)+\n ["else" ":" suite]\n ["finally" ":" suite]\n try2_stmt ::= "try" ":" suite\n "finally" ":" suite\n\nThe "except" clause(s) specify one or more exception handlers. When no\nexception occurs in the "try" clause, no exception handler is\nexecuted. When an exception occurs in the "try" suite, a search for an\nexception handler is started. This search inspects the except clauses\nin turn until one is found that matches the exception. An expression-\nless except clause, if present, must be last; it matches any\nexception. For an except clause with an expression, that expression\nis evaluated, and the clause matches the exception if the resulting\nobject is "compatible" with the exception. An object is compatible\nwith an exception if it is the class or a base class of the exception\nobject or a tuple containing an item compatible with the exception.\n\nIf no except clause matches the exception, the search for an exception\nhandler continues in the surrounding code and on the invocation stack.\n[1]\n\nIf the evaluation of an expression in the header of an except clause\nraises an exception, the original search for a handler is canceled and\na search starts for the new exception in the surrounding code and on\nthe call stack (it is treated as if the entire "try" statement raised\nthe exception).\n\nWhen a matching except clause is found, the exception is assigned to\nthe target specified after the "as" keyword in that except clause, if\npresent, and the except clause\'s suite is executed. All except\nclauses must have an executable block. When the end of this block is\nreached, execution continues normally after the entire try statement.\n(This means that if two nested handlers exist for the same exception,\nand the exception occurs in the try clause of the inner handler, the\nouter handler will not handle the exception.)\n\nWhen an exception has been assigned using "as target", it is cleared\nat the end of the except clause. This is as if\n\n except E as N:\n foo\n\nwas translated to\n\n except E as N:\n try:\n foo\n finally:\n del N\n\nThis means the exception must be assigned to a different name to be\nable to refer to it after the except clause. Exceptions are cleared\nbecause with the traceback attached to them, they form a reference\ncycle with the stack frame, keeping all locals in that frame alive\nuntil the next garbage collection occurs.\n\nBefore an except clause\'s suite is executed, details about the\nexception are stored in the "sys" module and can be accessed via\n"sys.exc_info()". "sys.exc_info()" returns a 3-tuple consisting of the\nexception class, the exception instance and a traceback object (see\nsection *The standard type hierarchy*) identifying the point in the\nprogram where the exception occurred. "sys.exc_info()" values are\nrestored to their previous values (before the call) when returning\nfrom a function that handled an exception.\n\nThe optional "else" clause is executed if and when control flows off\nthe end of the "try" clause. [2] Exceptions in the "else" clause are\nnot handled by the preceding "except" clauses.\n\nIf "finally" is present, it specifies a \'cleanup\' handler. The "try"\nclause is executed, including any "except" and "else" clauses. If an\nexception occurs in any of the clauses and is not handled, the\nexception is temporarily saved. The "finally" clause is executed. If\nthere is a saved exception it is re-raised at the end of the "finally"\nclause. If the "finally" clause raises another exception, the saved\nexception is set as the context of the new exception. If the "finally"\nclause executes a "return" or "break" statement, the saved exception\nis discarded:\n\n >>> def f():\n ... try:\n ... 1/0\n ... finally:\n ... return 42\n ...\n >>> f()\n 42\n\nThe exception information is not available to the program during\nexecution of the "finally" clause.\n\nWhen a "return", "break" or "continue" statement is executed in the\n"try" suite of a "try"..."finally" statement, the "finally" clause is\nalso executed \'on the way out.\' A "continue" statement is illegal in\nthe "finally" clause. (The reason is a problem with the current\nimplementation --- this restriction may be lifted in the future).\n\nThe return value of a function is determined by the last "return"\nstatement executed. Since the "finally" clause always executes, a\n"return" statement executed in the "finally" clause will always be the\nlast one executed:\n\n >>> def foo():\n ... try:\n ... return \'try\'\n ... finally:\n ... return \'finally\'\n ...\n >>> foo()\n \'finally\'\n\nAdditional information on exceptions can be found in section\n*Exceptions*, and information on using the "raise" statement to\ngenerate exceptions may be found in section *The raise statement*.\n\n\nThe "with" statement\n====================\n\nThe "with" statement is used to wrap the execution of a block with\nmethods defined by a context manager (see section *With Statement\nContext Managers*). This allows common "try"..."except"..."finally"\nusage patterns to be encapsulated for convenient reuse.\n\n with_stmt ::= "with" with_item ("," with_item)* ":" suite\n with_item ::= expression ["as" target]\n\nThe execution of the "with" statement with one "item" proceeds as\nfollows:\n\n1. The context expression (the expression given in the "with_item")\n is evaluated to obtain a context manager.\n\n2. The context manager\'s "__exit__()" is loaded for later use.\n\n3. The context manager\'s "__enter__()" method is invoked.\n\n4. If a target was included in the "with" statement, the return\n value from "__enter__()" is assigned to it.\n\n Note: The "with" statement guarantees that if the "__enter__()"\n method returns without an error, then "__exit__()" will always be\n called. Thus, if an error occurs during the assignment to the\n target list, it will be treated the same as an error occurring\n within the suite would be. See step 6 below.\n\n5. The suite is executed.\n\n6. The context manager\'s "__exit__()" method is invoked. If an\n exception caused the suite to be exited, its type, value, and\n traceback are passed as arguments to "__exit__()". Otherwise, three\n "None" arguments are supplied.\n\n If the suite was exited due to an exception, and the return value\n from the "__exit__()" method was false, the exception is reraised.\n If the return value was true, the exception is suppressed, and\n execution continues with the statement following the "with"\n statement.\n\n If the suite was exited for any reason other than an exception, the\n return value from "__exit__()" is ignored, and execution proceeds\n at the normal location for the kind of exit that was taken.\n\nWith more than one item, the context managers are processed as if\nmultiple "with" statements were nested:\n\n with A() as a, B() as b:\n suite\n\nis equivalent to\n\n with A() as a:\n with B() as b:\n suite\n\nChanged in version 3.1: Support for multiple context expressions.\n\nSee also: **PEP 343** - The "with" statement\n\n The specification, background, and examples for the Python "with"\n statement.\n\n\nFunction definitions\n====================\n\nA function definition defines a user-defined function object (see\nsection *The standard type hierarchy*):\n\n funcdef ::= [decorators] "def" funcname "(" [parameter_list] ")" ["->" expression] ":" suite\n decorators ::= decorator+\n decorator ::= "@" dotted_name ["(" [argument_list [","]] ")"] NEWLINE\n dotted_name ::= identifier ("." identifier)*\n parameter_list ::= (defparameter ",")*\n | "*" [parameter] ("," defparameter)* ["," "**" parameter]\n | "**" parameter\n | defparameter [","] )\n parameter ::= identifier [":" expression]\n defparameter ::= parameter ["=" expression]\n funcname ::= identifier\n\nA function definition is an executable statement. Its execution binds\nthe function name in the current local namespace to a function object\n(a wrapper around the executable code for the function). This\nfunction object contains a reference to the current global namespace\nas the global namespace to be used when the function is called.\n\nThe function definition does not execute the function body; this gets\nexecuted only when the function is called. [3]\n\nA function definition may be wrapped by one or more *decorator*\nexpressions. Decorator expressions are evaluated when the function is\ndefined, in the scope that contains the function definition. The\nresult must be a callable, which is invoked with the function object\nas the only argument. The returned value is bound to the function name\ninstead of the function object. Multiple decorators are applied in\nnested fashion. For example, the following code\n\n @f1(arg)\n @f2\n def func(): pass\n\nis equivalent to\n\n def func(): pass\n func = f1(arg)(f2(func))\n\nWhen one or more *parameters* have the form *parameter* "="\n*expression*, the function is said to have "default parameter values."\nFor a parameter with a default value, the corresponding *argument* may\nbe omitted from a call, in which case the parameter\'s default value is\nsubstituted. If a parameter has a default value, all following\nparameters up until the ""*"" must also have a default value --- this\nis a syntactic restriction that is not expressed by the grammar.\n\n**Default parameter values are evaluated from left to right when the\nfunction definition is executed.** This means that the expression is\nevaluated once, when the function is defined, and that the same "pre-\ncomputed" value is used for each call. This is especially important\nto understand when a default parameter is a mutable object, such as a\nlist or a dictionary: if the function modifies the object (e.g. by\nappending an item to a list), the default value is in effect modified.\nThis is generally not what was intended. A way around this is to use\n"None" as the default, and explicitly test for it in the body of the\nfunction, e.g.:\n\n def whats_on_the_telly(penguin=None):\n if penguin is None:\n penguin = []\n penguin.append("property of the zoo")\n return penguin\n\nFunction call semantics are described in more detail in section\n*Calls*. A function call always assigns values to all parameters\nmentioned in the parameter list, either from position arguments, from\nkeyword arguments, or from default values. If the form\n""*identifier"" is present, it is initialized to a tuple receiving any\nexcess positional parameters, defaulting to the empty tuple. If the\nform ""**identifier"" is present, it is initialized to a new\ndictionary receiving any excess keyword arguments, defaulting to a new\nempty dictionary. Parameters after ""*"" or ""*identifier"" are\nkeyword-only parameters and may only be passed used keyword arguments.\n\nParameters may have annotations of the form "": expression"" following\nthe parameter name. Any parameter may have an annotation even those\nof the form "*identifier" or "**identifier". Functions may have\n"return" annotation of the form ""-> expression"" after the parameter\nlist. These annotations can be any valid Python expression and are\nevaluated when the function definition is executed. Annotations may\nbe evaluated in a different order than they appear in the source code.\nThe presence of annotations does not change the semantics of a\nfunction. The annotation values are available as values of a\ndictionary keyed by the parameters\' names in the "__annotations__"\nattribute of the function object.\n\nIt is also possible to create anonymous functions (functions not bound\nto a name), for immediate use in expressions. This uses lambda\nexpressions, described in section *Lambdas*. Note that the lambda\nexpression is merely a shorthand for a simplified function definition;\na function defined in a ""def"" statement can be passed around or\nassigned to another name just like a function defined by a lambda\nexpression. The ""def"" form is actually more powerful since it\nallows the execution of multiple statements and annotations.\n\n**Programmer\'s note:** Functions are first-class objects. A ""def""\nstatement executed inside a function definition defines a local\nfunction that can be returned or passed around. Free variables used\nin the nested function can access the local variables of the function\ncontaining the def. See section *Naming and binding* for details.\n\nSee also: **PEP 3107** - Function Annotations\n\n The original specification for function annotations.\n\n\nClass definitions\n=================\n\nA class definition defines a class object (see section *The standard\ntype hierarchy*):\n\n classdef ::= [decorators] "class" classname [inheritance] ":" suite\n inheritance ::= "(" [argument_list] ")"\n classname ::= identifier\n\nA class definition is an executable statement. The inheritance list\nusually gives a list of base classes (see *Customizing class creation*\nfor more advanced uses), so each item in the list should evaluate to a\nclass object which allows subclassing. Classes without an inheritance\nlist inherit, by default, from the base class "object"; hence,\n\n class Foo:\n pass\n\nis equivalent to\n\n class Foo(object):\n pass\n\nThe class\'s suite is then executed in a new execution frame (see\n*Naming and binding*), using a newly created local namespace and the\noriginal global namespace. (Usually, the suite contains mostly\nfunction definitions.) When the class\'s suite finishes execution, its\nexecution frame is discarded but its local namespace is saved. [4] A\nclass object is then created using the inheritance list for the base\nclasses and the saved local namespace for the attribute dictionary.\nThe class name is bound to this class object in the original local\nnamespace.\n\nClass creation can be customized heavily using *metaclasses*.\n\nClasses can also be decorated: just like when decorating functions,\n\n @f1(arg)\n @f2\n class Foo: pass\n\nis equivalent to\n\n class Foo: pass\n Foo = f1(arg)(f2(Foo))\n\nThe evaluation rules for the decorator expressions are the same as for\nfunction decorators. The result must be a class object, which is then\nbound to the class name.\n\n**Programmer\'s note:** Variables defined in the class definition are\nclass attributes; they are shared by instances. Instance attributes\ncan be set in a method with "self.name = value". Both class and\ninstance attributes are accessible through the notation ""self.name"",\nand an instance attribute hides a class attribute with the same name\nwhen accessed in this way. Class attributes can be used as defaults\nfor instance attributes, but using mutable values there can lead to\nunexpected results. *Descriptors* can be used to create instance\nvariables with different implementation details.\n\nSee also: **PEP 3115** - Metaclasses in Python 3 **PEP 3129** -\n Class Decorators\n\n\nCoroutines\n==========\n\nNew in version 3.5.\n\n\nCoroutine function definition\n-----------------------------\n\n async_funcdef ::= [decorators] "async" "def" funcname "(" [parameter_list] ")" ["->" expression] ":" suite\n\nExecution of Python coroutines can be suspended and resumed at many\npoints (see *coroutine*). In the body of a coroutine, any "await" and\n"async" identifiers become reserved keywords; "await" expressions,\n"async for" and "async with" can only be used in coroutine bodies.\n\nFunctions defined with "async def" syntax are always coroutine\nfunctions, even if they do not contain "await" or "async" keywords.\n\nIt is a "SyntaxError" to use "yield" expressions in "async def"\ncoroutines.\n\nAn example of a coroutine function:\n\n async def func(param1, param2):\n do_stuff()\n await some_coroutine()\n\n\nThe "async for" statement\n-------------------------\n\n async_for_stmt ::= "async" for_stmt\n\nAn *asynchronous iterable* is able to call asynchronous code in its\n*iter* implementation, and *asynchronous iterator* can call\nasynchronous code in its *next* method.\n\nThe "async for" statement allows convenient iteration over\nasynchronous iterators.\n\nThe following code:\n\n async for TARGET in ITER:\n BLOCK\n else:\n BLOCK2\n\nIs semantically equivalent to:\n\n iter = (ITER)\n iter = type(iter).__aiter__(iter)\n running = True\n while running:\n try:\n TARGET = await type(iter).__anext__(iter)\n except StopAsyncIteration:\n running = False\n else:\n BLOCK\n else:\n BLOCK2\n\nSee also "__aiter__()" and "__anext__()" for details.\n\nIt is a "SyntaxError" to use "async for" statement outside of an\n"async def" function.\n\n\nThe "async with" statement\n--------------------------\n\n async_with_stmt ::= "async" with_stmt\n\nAn *asynchronous context manager* is a *context manager* that is able\nto suspend execution in its *enter* and *exit* methods.\n\nThe following code:\n\n async with EXPR as VAR:\n BLOCK\n\nIs semantically equivalent to:\n\n mgr = (EXPR)\n aexit = type(mgr).__aexit__\n aenter = type(mgr).__aenter__(mgr)\n exc = True\n\n VAR = await aenter\n try:\n BLOCK\n except:\n if not await aexit(mgr, *sys.exc_info()):\n raise\n else:\n await aexit(mgr, None, None, None)\n\nSee also "__aenter__()" and "__aexit__()" for details.\n\nIt is a "SyntaxError" to use "async with" statement outside of an\n"async def" function.\n\nSee also: **PEP 492** - Coroutines with async and await syntax\n\n-[ Footnotes ]-\n\n[1] The exception is propagated to the invocation stack unless\n there is a "finally" clause which happens to raise another\n exception. That new exception causes the old one to be lost.\n\n[2] Currently, control "flows off the end" except in the case of\n an exception or the execution of a "return", "continue", or\n "break" statement.\n\n[3] A string literal appearing as the first statement in the\n function body is transformed into the function\'s "__doc__"\n attribute and therefore the function\'s *docstring*.\n\n[4] A string literal appearing as the first statement in the class\n body is transformed into the namespace\'s "__doc__" item and\n therefore the class\'s *docstring*.\n', + 'context-managers': u'\nWith Statement Context Managers\n*******************************\n\nA *context manager* is an object that defines the runtime context to\nbe established when executing a "with" statement. The context manager\nhandles the entry into, and the exit from, the desired runtime context\nfor the execution of the block of code. Context managers are normally\ninvoked using the "with" statement (described in section *The with\nstatement*), but can also be used by directly invoking their methods.\n\nTypical uses of context managers include saving and restoring various\nkinds of global state, locking and unlocking resources, closing opened\nfiles, etc.\n\nFor more information on context managers, see *Context Manager Types*.\n\nobject.__enter__(self)\n\n Enter the runtime context related to this object. The "with"\n statement will bind this method\'s return value to the target(s)\n specified in the "as" clause of the statement, if any.\n\nobject.__exit__(self, exc_type, exc_value, traceback)\n\n Exit the runtime context related to this object. The parameters\n describe the exception that caused the context to be exited. If the\n context was exited without an exception, all three arguments will\n be "None".\n\n If an exception is supplied, and the method wishes to suppress the\n exception (i.e., prevent it from being propagated), it should\n return a true value. Otherwise, the exception will be processed\n normally upon exit from this method.\n\n Note that "__exit__()" methods should not reraise the passed-in\n exception; this is the caller\'s responsibility.\n\nSee also: **PEP 343** - The "with" statement\n\n The specification, background, and examples for the Python "with"\n statement.\n', + 'continue': u'\nThe "continue" statement\n************************\n\n continue_stmt ::= "continue"\n\n"continue" may only occur syntactically nested in a "for" or "while"\nloop, but not nested in a function or class definition or "finally"\nclause within that loop. It continues with the next cycle of the\nnearest enclosing loop.\n\nWhen "continue" passes control out of a "try" statement with a\n"finally" clause, that "finally" clause is executed before really\nstarting the next loop cycle.\n', + 'conversions': u'\nArithmetic conversions\n**********************\n\nWhen a description of an arithmetic operator below uses the phrase\n"the numeric arguments are converted to a common type," this means\nthat the operator implementation for built-in types works as follows:\n\n* If either argument is a complex number, the other is converted to\n complex;\n\n* otherwise, if either argument is a floating point number, the\n other is converted to floating point;\n\n* otherwise, both must be integers and no conversion is necessary.\n\nSome additional rules apply for certain operators (e.g., a string as a\nleft argument to the \'%\' operator). Extensions must define their own\nconversion behavior.\n', + 'customization': u'\nBasic customization\n*******************\n\nobject.__new__(cls[, ...])\n\n Called to create a new instance of class *cls*. "__new__()" is a\n static method (special-cased so you need not declare it as such)\n that takes the class of which an instance was requested as its\n first argument. The remaining arguments are those passed to the\n object constructor expression (the call to the class). The return\n value of "__new__()" should be the new object instance (usually an\n instance of *cls*).\n\n Typical implementations create a new instance of the class by\n invoking the superclass\'s "__new__()" method using\n "super(currentclass, cls).__new__(cls[, ...])" with appropriate\n arguments and then modifying the newly-created instance as\n necessary before returning it.\n\n If "__new__()" returns an instance of *cls*, then the new\n instance\'s "__init__()" method will be invoked like\n "__init__(self[, ...])", where *self* is the new instance and the\n remaining arguments are the same as were passed to "__new__()".\n\n If "__new__()" does not return an instance of *cls*, then the new\n instance\'s "__init__()" method will not be invoked.\n\n "__new__()" is intended mainly to allow subclasses of immutable\n types (like int, str, or tuple) to customize instance creation. It\n is also commonly overridden in custom metaclasses in order to\n customize class creation.\n\nobject.__init__(self[, ...])\n\n Called after the instance has been created (by "__new__()"), but\n before it is returned to the caller. The arguments are those\n passed to the class constructor expression. If a base class has an\n "__init__()" method, the derived class\'s "__init__()" method, if\n any, must explicitly call it to ensure proper initialization of the\n base class part of the instance; for example:\n "BaseClass.__init__(self, [args...])".\n\n Because "__new__()" and "__init__()" work together in constructing\n objects ("__new__()" to create it, and "__init__()" to customise\n it), no non-"None" value may be returned by "__init__()"; doing so\n will cause a "TypeError" to be raised at runtime.\n\nobject.__del__(self)\n\n Called when the instance is about to be destroyed. This is also\n called a destructor. If a base class has a "__del__()" method, the\n derived class\'s "__del__()" method, if any, must explicitly call it\n to ensure proper deletion of the base class part of the instance.\n Note that it is possible (though not recommended!) for the\n "__del__()" method to postpone destruction of the instance by\n creating a new reference to it. It may then be called at a later\n time when this new reference is deleted. It is not guaranteed that\n "__del__()" methods are called for objects that still exist when\n the interpreter exits.\n\n Note: "del x" doesn\'t directly call "x.__del__()" --- the former\n decrements the reference count for "x" by one, and the latter is\n only called when "x"\'s reference count reaches zero. Some common\n situations that may prevent the reference count of an object from\n going to zero include: circular references between objects (e.g.,\n a doubly-linked list or a tree data structure with parent and\n child pointers); a reference to the object on the stack frame of\n a function that caught an exception (the traceback stored in\n "sys.exc_info()[2]" keeps the stack frame alive); or a reference\n to the object on the stack frame that raised an unhandled\n exception in interactive mode (the traceback stored in\n "sys.last_traceback" keeps the stack frame alive). The first\n situation can only be remedied by explicitly breaking the cycles;\n the second can be resolved by freeing the reference to the\n traceback object when it is no longer useful, and the third can\n be resolved by storing "None" in "sys.last_traceback". Circular\n references which are garbage are detected and cleaned up when the\n cyclic garbage collector is enabled (it\'s on by default). Refer\n to the documentation for the "gc" module for more information\n about this topic.\n\n Warning: Due to the precarious circumstances under which\n "__del__()" methods are invoked, exceptions that occur during\n their execution are ignored, and a warning is printed to\n "sys.stderr" instead. Also, when "__del__()" is invoked in\n response to a module being deleted (e.g., when execution of the\n program is done), other globals referenced by the "__del__()"\n method may already have been deleted or in the process of being\n torn down (e.g. the import machinery shutting down). For this\n reason, "__del__()" methods should do the absolute minimum needed\n to maintain external invariants. Starting with version 1.5,\n Python guarantees that globals whose name begins with a single\n underscore are deleted from their module before other globals are\n deleted; if no other references to such globals exist, this may\n help in assuring that imported modules are still available at the\n time when the "__del__()" method is called.\n\nobject.__repr__(self)\n\n Called by the "repr()" built-in function to compute the "official"\n string representation of an object. If at all possible, this\n should look like a valid Python expression that could be used to\n recreate an object with the same value (given an appropriate\n environment). If this is not possible, a string of the form\n "<...some useful description...>" should be returned. The return\n value must be a string object. If a class defines "__repr__()" but\n not "__str__()", then "__repr__()" is also used when an "informal"\n string representation of instances of that class is required.\n\n This is typically used for debugging, so it is important that the\n representation is information-rich and unambiguous.\n\nobject.__str__(self)\n\n Called by "str(object)" and the built-in functions "format()" and\n "print()" to compute the "informal" or nicely printable string\n representation of an object. The return value must be a *string*\n object.\n\n This method differs from "object.__repr__()" in that there is no\n expectation that "__str__()" return a valid Python expression: a\n more convenient or concise representation can be used.\n\n The default implementation defined by the built-in type "object"\n calls "object.__repr__()".\n\nobject.__bytes__(self)\n\n Called by "bytes()" to compute a byte-string representation of an\n object. This should return a "bytes" object.\n\nobject.__format__(self, format_spec)\n\n Called by the "format()" built-in function (and by extension, the\n "str.format()" method of class "str") to produce a "formatted"\n string representation of an object. The "format_spec" argument is a\n string that contains a description of the formatting options\n desired. The interpretation of the "format_spec" argument is up to\n the type implementing "__format__()", however most classes will\n either delegate formatting to one of the built-in types, or use a\n similar formatting option syntax.\n\n See *Format Specification Mini-Language* for a description of the\n standard formatting syntax.\n\n The return value must be a string object.\n\n Changed in version 3.4: The __format__ method of "object" itself\n raises a "TypeError" if passed any non-empty string.\n\nobject.__lt__(self, other)\nobject.__le__(self, other)\nobject.__eq__(self, other)\nobject.__ne__(self, other)\nobject.__gt__(self, other)\nobject.__ge__(self, other)\n\n These are the so-called "rich comparison" methods. The\n correspondence between operator symbols and method names is as\n follows: "xy" calls\n "x.__gt__(y)", and "x>=y" calls "x.__ge__(y)".\n\n A rich comparison method may return the singleton "NotImplemented"\n if it does not implement the operation for a given pair of\n arguments. By convention, "False" and "True" are returned for a\n successful comparison. However, these methods can return any value,\n so if the comparison operator is used in a Boolean context (e.g.,\n in the condition of an "if" statement), Python will call "bool()"\n on the value to determine if the result is true or false.\n\n By default, "__ne__()" delegates to "__eq__()" and inverts the\n result unless it is "NotImplemented". There are no other implied\n relationships among the comparison operators, for example, the\n truth of "(x.__hash__".\n\n If a class that does not override "__eq__()" wishes to suppress\n hash support, it should include "__hash__ = None" in the class\n definition. A class which defines its own "__hash__()" that\n explicitly raises a "TypeError" would be incorrectly identified as\n hashable by an "isinstance(obj, collections.Hashable)" call.\n\n Note: By default, the "__hash__()" values of str, bytes and\n datetime objects are "salted" with an unpredictable random value.\n Although they remain constant within an individual Python\n process, they are not predictable between repeated invocations of\n Python.This is intended to provide protection against a denial-\n of-service caused by carefully-chosen inputs that exploit the\n worst case performance of a dict insertion, O(n^2) complexity.\n See http://www.ocert.org/advisories/ocert-2011-003.html for\n details.Changing hash values affects the iteration order of\n dicts, sets and other mappings. Python has never made guarantees\n about this ordering (and it typically varies between 32-bit and\n 64-bit builds).See also "PYTHONHASHSEED".\n\n Changed in version 3.3: Hash randomization is enabled by default.\n\nobject.__bool__(self)\n\n Called to implement truth value testing and the built-in operation\n "bool()"; should return "False" or "True". When this method is not\n defined, "__len__()" is called, if it is defined, and the object is\n considered true if its result is nonzero. If a class defines\n neither "__len__()" nor "__bool__()", all its instances are\n considered true.\n', + 'debugger': u'\n"pdb" --- The Python Debugger\n*****************************\n\n**Source code:** Lib/pdb.py\n\n======================================================================\n\nThe module "pdb" defines an interactive source code debugger for\nPython programs. It supports setting (conditional) breakpoints and\nsingle stepping at the source line level, inspection of stack frames,\nsource code listing, and evaluation of arbitrary Python code in the\ncontext of any stack frame. It also supports post-mortem debugging\nand can be called under program control.\n\nThe debugger is extensible -- it is actually defined as the class\n"Pdb". This is currently undocumented but easily understood by reading\nthe source. The extension interface uses the modules "bdb" and "cmd".\n\nThe debugger\'s prompt is "(Pdb)". Typical usage to run a program under\ncontrol of the debugger is:\n\n >>> import pdb\n >>> import mymodule\n >>> pdb.run(\'mymodule.test()\')\n > (0)?()\n (Pdb) continue\n > (1)?()\n (Pdb) continue\n NameError: \'spam\'\n > (1)?()\n (Pdb)\n\nChanged in version 3.3: Tab-completion via the "readline" module is\navailable for commands and command arguments, e.g. the current global\nand local names are offered as arguments of the "p" command.\n\n"pdb.py" can also be invoked as a script to debug other scripts. For\nexample:\n\n python3 -m pdb myscript.py\n\nWhen invoked as a script, pdb will automatically enter post-mortem\ndebugging if the program being debugged exits abnormally. After post-\nmortem debugging (or after normal exit of the program), pdb will\nrestart the program. Automatic restarting preserves pdb\'s state (such\nas breakpoints) and in most cases is more useful than quitting the\ndebugger upon program\'s exit.\n\nNew in version 3.2: "pdb.py" now accepts a "-c" option that executes\ncommands as if given in a ".pdbrc" file, see *Debugger Commands*.\n\nThe typical usage to break into the debugger from a running program is\nto insert\n\n import pdb; pdb.set_trace()\n\nat the location you want to break into the debugger. You can then\nstep through the code following this statement, and continue running\nwithout the debugger using the "continue" command.\n\nThe typical usage to inspect a crashed program is:\n\n >>> import pdb\n >>> import mymodule\n >>> mymodule.test()\n Traceback (most recent call last):\n File "", line 1, in ?\n File "./mymodule.py", line 4, in test\n test2()\n File "./mymodule.py", line 3, in test2\n print(spam)\n NameError: spam\n >>> pdb.pm()\n > ./mymodule.py(3)test2()\n -> print(spam)\n (Pdb)\n\nThe module defines the following functions; each enters the debugger\nin a slightly different way:\n\npdb.run(statement, globals=None, locals=None)\n\n Execute the *statement* (given as a string or a code object) under\n debugger control. The debugger prompt appears before any code is\n executed; you can set breakpoints and type "continue", or you can\n step through the statement using "step" or "next" (all these\n commands are explained below). The optional *globals* and *locals*\n arguments specify the environment in which the code is executed; by\n default the dictionary of the module "__main__" is used. (See the\n explanation of the built-in "exec()" or "eval()" functions.)\n\npdb.runeval(expression, globals=None, locals=None)\n\n Evaluate the *expression* (given as a string or a code object)\n under debugger control. When "runeval()" returns, it returns the\n value of the expression. Otherwise this function is similar to\n "run()".\n\npdb.runcall(function, *args, **kwds)\n\n Call the *function* (a function or method object, not a string)\n with the given arguments. When "runcall()" returns, it returns\n whatever the function call returned. The debugger prompt appears\n as soon as the function is entered.\n\npdb.set_trace()\n\n Enter the debugger at the calling stack frame. This is useful to\n hard-code a breakpoint at a given point in a program, even if the\n code is not otherwise being debugged (e.g. when an assertion\n fails).\n\npdb.post_mortem(traceback=None)\n\n Enter post-mortem debugging of the given *traceback* object. If no\n *traceback* is given, it uses the one of the exception that is\n currently being handled (an exception must be being handled if the\n default is to be used).\n\npdb.pm()\n\n Enter post-mortem debugging of the traceback found in\n "sys.last_traceback".\n\nThe "run*" functions and "set_trace()" are aliases for instantiating\nthe "Pdb" class and calling the method of the same name. If you want\nto access further features, you have to do this yourself:\n\nclass class pdb.Pdb(completekey=\'tab\', stdin=None, stdout=None, skip=None, nosigint=False)\n\n "Pdb" is the debugger class.\n\n The *completekey*, *stdin* and *stdout* arguments are passed to the\n underlying "cmd.Cmd" class; see the description there.\n\n The *skip* argument, if given, must be an iterable of glob-style\n module name patterns. The debugger will not step into frames that\n originate in a module that matches one of these patterns. [1]\n\n By default, Pdb sets a handler for the SIGINT signal (which is sent\n when the user presses "Ctrl-C" on the console) when you give a\n "continue" command. This allows you to break into the debugger\n again by pressing "Ctrl-C". If you want Pdb not to touch the\n SIGINT handler, set *nosigint* tot true.\n\n Example call to enable tracing with *skip*:\n\n import pdb; pdb.Pdb(skip=[\'django.*\']).set_trace()\n\n New in version 3.1: The *skip* argument.\n\n New in version 3.2: The *nosigint* argument. Previously, a SIGINT\n handler was never set by Pdb.\n\n run(statement, globals=None, locals=None)\n runeval(expression, globals=None, locals=None)\n runcall(function, *args, **kwds)\n set_trace()\n\n See the documentation for the functions explained above.\n\n\nDebugger Commands\n=================\n\nThe commands recognized by the debugger are listed below. Most\ncommands can be abbreviated to one or two letters as indicated; e.g.\n"h(elp)" means that either "h" or "help" can be used to enter the help\ncommand (but not "he" or "hel", nor "H" or "Help" or "HELP").\nArguments to commands must be separated by whitespace (spaces or\ntabs). Optional arguments are enclosed in square brackets ("[]") in\nthe command syntax; the square brackets must not be typed.\nAlternatives in the command syntax are separated by a vertical bar\n("|").\n\nEntering a blank line repeats the last command entered. Exception: if\nthe last command was a "list" command, the next 11 lines are listed.\n\nCommands that the debugger doesn\'t recognize are assumed to be Python\nstatements and are executed in the context of the program being\ndebugged. Python statements can also be prefixed with an exclamation\npoint ("!"). This is a powerful way to inspect the program being\ndebugged; it is even possible to change a variable or call a function.\nWhen an exception occurs in such a statement, the exception name is\nprinted but the debugger\'s state is not changed.\n\nThe debugger supports *aliases*. Aliases can have parameters which\nallows one a certain level of adaptability to the context under\nexamination.\n\nMultiple commands may be entered on a single line, separated by ";;".\n(A single ";" is not used as it is the separator for multiple commands\nin a line that is passed to the Python parser.) No intelligence is\napplied to separating the commands; the input is split at the first\n";;" pair, even if it is in the middle of a quoted string.\n\nIf a file ".pdbrc" exists in the user\'s home directory or in the\ncurrent directory, it is read in and executed as if it had been typed\nat the debugger prompt. This is particularly useful for aliases. If\nboth files exist, the one in the home directory is read first and\naliases defined there can be overridden by the local file.\n\nChanged in version 3.2: ".pdbrc" can now contain commands that\ncontinue debugging, such as "continue" or "next". Previously, these\ncommands had no effect.\n\nh(elp) [command]\n\n Without argument, print the list of available commands. With a\n *command* as argument, print help about that command. "help pdb"\n displays the full documentation (the docstring of the "pdb"\n module). Since the *command* argument must be an identifier, "help\n exec" must be entered to get help on the "!" command.\n\nw(here)\n\n Print a stack trace, with the most recent frame at the bottom. An\n arrow indicates the current frame, which determines the context of\n most commands.\n\nd(own) [count]\n\n Move the current frame *count* (default one) levels down in the\n stack trace (to a newer frame).\n\nu(p) [count]\n\n Move the current frame *count* (default one) levels up in the stack\n trace (to an older frame).\n\nb(reak) [([filename:]lineno | function) [, condition]]\n\n With a *lineno* argument, set a break there in the current file.\n With a *function* argument, set a break at the first executable\n statement within that function. The line number may be prefixed\n with a filename and a colon, to specify a breakpoint in another\n file (probably one that hasn\'t been loaded yet). The file is\n searched on "sys.path". Note that each breakpoint is assigned a\n number to which all the other breakpoint commands refer.\n\n If a second argument is present, it is an expression which must\n evaluate to true before the breakpoint is honored.\n\n Without argument, list all breaks, including for each breakpoint,\n the number of times that breakpoint has been hit, the current\n ignore count, and the associated condition if any.\n\ntbreak [([filename:]lineno | function) [, condition]]\n\n Temporary breakpoint, which is removed automatically when it is\n first hit. The arguments are the same as for "break".\n\ncl(ear) [filename:lineno | bpnumber [bpnumber ...]]\n\n With a *filename:lineno* argument, clear all the breakpoints at\n this line. With a space separated list of breakpoint numbers, clear\n those breakpoints. Without argument, clear all breaks (but first\n ask confirmation).\n\ndisable [bpnumber [bpnumber ...]]\n\n Disable the breakpoints given as a space separated list of\n breakpoint numbers. Disabling a breakpoint means it cannot cause\n the program to stop execution, but unlike clearing a breakpoint, it\n remains in the list of breakpoints and can be (re-)enabled.\n\nenable [bpnumber [bpnumber ...]]\n\n Enable the breakpoints specified.\n\nignore bpnumber [count]\n\n Set the ignore count for the given breakpoint number. If count is\n omitted, the ignore count is set to 0. A breakpoint becomes active\n when the ignore count is zero. When non-zero, the count is\n decremented each time the breakpoint is reached and the breakpoint\n is not disabled and any associated condition evaluates to true.\n\ncondition bpnumber [condition]\n\n Set a new *condition* for the breakpoint, an expression which must\n evaluate to true before the breakpoint is honored. If *condition*\n is absent, any existing condition is removed; i.e., the breakpoint\n is made unconditional.\n\ncommands [bpnumber]\n\n Specify a list of commands for breakpoint number *bpnumber*. The\n commands themselves appear on the following lines. Type a line\n containing just "end" to terminate the commands. An example:\n\n (Pdb) commands 1\n (com) p some_variable\n (com) end\n (Pdb)\n\n To remove all commands from a breakpoint, type commands and follow\n it immediately with "end"; that is, give no commands.\n\n With no *bpnumber* argument, commands refers to the last breakpoint\n set.\n\n You can use breakpoint commands to start your program up again.\n Simply use the continue command, or step, or any other command that\n resumes execution.\n\n Specifying any command resuming execution (currently continue,\n step, next, return, jump, quit and their abbreviations) terminates\n the command list (as if that command was immediately followed by\n end). This is because any time you resume execution (even with a\n simple next or step), you may encounter another breakpoint--which\n could have its own command list, leading to ambiguities about which\n list to execute.\n\n If you use the \'silent\' command in the command list, the usual\n message about stopping at a breakpoint is not printed. This may be\n desirable for breakpoints that are to print a specific message and\n then continue. If none of the other commands print anything, you\n see no sign that the breakpoint was reached.\n\ns(tep)\n\n Execute the current line, stop at the first possible occasion\n (either in a function that is called or on the next line in the\n current function).\n\nn(ext)\n\n Continue execution until the next line in the current function is\n reached or it returns. (The difference between "next" and "step"\n is that "step" stops inside a called function, while "next"\n executes called functions at (nearly) full speed, only stopping at\n the next line in the current function.)\n\nunt(il) [lineno]\n\n Without argument, continue execution until the line with a number\n greater than the current one is reached.\n\n With a line number, continue execution until a line with a number\n greater or equal to that is reached. In both cases, also stop when\n the current frame returns.\n\n Changed in version 3.2: Allow giving an explicit line number.\n\nr(eturn)\n\n Continue execution until the current function returns.\n\nc(ont(inue))\n\n Continue execution, only stop when a breakpoint is encountered.\n\nj(ump) lineno\n\n Set the next line that will be executed. Only available in the\n bottom-most frame. This lets you jump back and execute code again,\n or jump forward to skip code that you don\'t want to run.\n\n It should be noted that not all jumps are allowed -- for instance\n it is not possible to jump into the middle of a "for" loop or out\n of a "finally" clause.\n\nl(ist) [first[, last]]\n\n List source code for the current file. Without arguments, list 11\n lines around the current line or continue the previous listing.\n With "." as argument, list 11 lines around the current line. With\n one argument, list 11 lines around at that line. With two\n arguments, list the given range; if the second argument is less\n than the first, it is interpreted as a count.\n\n The current line in the current frame is indicated by "->". If an\n exception is being debugged, the line where the exception was\n originally raised or propagated is indicated by ">>", if it differs\n from the current line.\n\n New in version 3.2: The ">>" marker.\n\nll | longlist\n\n List all source code for the current function or frame.\n Interesting lines are marked as for "list".\n\n New in version 3.2.\n\na(rgs)\n\n Print the argument list of the current function.\n\np expression\n\n Evaluate the *expression* in the current context and print its\n value.\n\n Note: "print()" can also be used, but is not a debugger command\n --- this executes the Python "print()" function.\n\npp expression\n\n Like the "p" command, except the value of the expression is pretty-\n printed using the "pprint" module.\n\nwhatis expression\n\n Print the type of the *expression*.\n\nsource expression\n\n Try to get source code for the given object and display it.\n\n New in version 3.2.\n\ndisplay [expression]\n\n Display the value of the expression if it changed, each time\n execution stops in the current frame.\n\n Without expression, list all display expressions for the current\n frame.\n\n New in version 3.2.\n\nundisplay [expression]\n\n Do not display the expression any more in the current frame.\n Without expression, clear all display expressions for the current\n frame.\n\n New in version 3.2.\n\ninteract\n\n Start an interative interpreter (using the "code" module) whose\n global namespace contains all the (global and local) names found in\n the current scope.\n\n New in version 3.2.\n\nalias [name [command]]\n\n Create an alias called *name* that executes *command*. The command\n must *not* be enclosed in quotes. Replaceable parameters can be\n indicated by "%1", "%2", and so on, while "%*" is replaced by all\n the parameters. If no command is given, the current alias for\n *name* is shown. If no arguments are given, all aliases are listed.\n\n Aliases may be nested and can contain anything that can be legally\n typed at the pdb prompt. Note that internal pdb commands *can* be\n overridden by aliases. Such a command is then hidden until the\n alias is removed. Aliasing is recursively applied to the first\n word of the command line; all other words in the line are left\n alone.\n\n As an example, here are two useful aliases (especially when placed\n in the ".pdbrc" file):\n\n # Print instance variables (usage "pi classInst")\n alias pi for k in %1.__dict__.keys(): print("%1.",k,"=",%1.__dict__[k])\n # Print instance variables in self\n alias ps pi self\n\nunalias name\n\n Delete the specified alias.\n\n! statement\n\n Execute the (one-line) *statement* in the context of the current\n stack frame. The exclamation point can be omitted unless the first\n word of the statement resembles a debugger command. To set a\n global variable, you can prefix the assignment command with a\n "global" statement on the same line, e.g.:\n\n (Pdb) global list_options; list_options = [\'-l\']\n (Pdb)\n\nrun [args ...]\nrestart [args ...]\n\n Restart the debugged Python program. If an argument is supplied,\n it is split with "shlex" and the result is used as the new\n "sys.argv". History, breakpoints, actions and debugger options are\n preserved. "restart" is an alias for "run".\n\nq(uit)\n\n Quit from the debugger. The program being executed is aborted.\n\n-[ Footnotes ]-\n\n[1] Whether a frame is considered to originate in a certain module\n is determined by the "__name__" in the frame globals.\n', + 'del': u'\nThe "del" statement\n*******************\n\n del_stmt ::= "del" target_list\n\nDeletion is recursively defined very similar to the way assignment is\ndefined. Rather than spelling it out in full details, here are some\nhints.\n\nDeletion of a target list recursively deletes each target, from left\nto right.\n\nDeletion of a name removes the binding of that name from the local or\nglobal namespace, depending on whether the name occurs in a "global"\nstatement in the same code block. If the name is unbound, a\n"NameError" exception will be raised.\n\nDeletion of attribute references, subscriptions and slicings is passed\nto the primary object involved; deletion of a slicing is in general\nequivalent to assignment of an empty slice of the right type (but even\nthis is determined by the sliced object).\n\nChanged in version 3.2: Previously it was illegal to delete a name\nfrom the local namespace if it occurs as a free variable in a nested\nblock.\n', + 'dict': u'\nDictionary displays\n*******************\n\nA dictionary display is a possibly empty series of key/datum pairs\nenclosed in curly braces:\n\n dict_display ::= "{" [key_datum_list | dict_comprehension] "}"\n key_datum_list ::= key_datum ("," key_datum)* [","]\n key_datum ::= expression ":" expression | "**" or_expr\n dict_comprehension ::= expression ":" expression comp_for\n\nA dictionary display yields a new dictionary object.\n\nIf a comma-separated sequence of key/datum pairs is given, they are\nevaluated from left to right to define the entries of the dictionary:\neach key object is used as a key into the dictionary to store the\ncorresponding datum. This means that you can specify the same key\nmultiple times in the key/datum list, and the final dictionary\'s value\nfor that key will be the last one given.\n\nA double asterisk "**" denotes *dictionary unpacking*. Its operand\nmust be a *mapping*. Each mapping item is added to the new\ndictionary. Later values replace values already set by earlier\nkey/datum pairs and earlier dictionary unpackings.\n\nNew in version 3.5: Unpacking into dictionary displays, originally\nproposed by **PEP 448**.\n\nA dict comprehension, in contrast to list and set comprehensions,\nneeds two expressions separated with a colon followed by the usual\n"for" and "if" clauses. When the comprehension is run, the resulting\nkey and value elements are inserted in the new dictionary in the order\nthey are produced.\n\nRestrictions on the types of the key values are listed earlier in\nsection *The standard type hierarchy*. (To summarize, the key type\nshould be *hashable*, which excludes all mutable objects.) Clashes\nbetween duplicate keys are not detected; the last datum (textually\nrightmost in the display) stored for a given key value prevails.\n', + 'dynamic-features': u'\nInteraction with dynamic features\n*********************************\n\nName resolution of free variables occurs at runtime, not at compile\ntime. This means that the following code will print 42:\n\n i = 10\n def f():\n print(i)\n i = 42\n f()\n\nThere are several cases where Python statements are illegal when used\nin conjunction with nested scopes that contain free variables.\n\nIf a variable is referenced in an enclosing scope, it is illegal to\ndelete the name. An error will be reported at compile time.\n\nThe "eval()" and "exec()" functions do not have access to the full\nenvironment for resolving names. Names may be resolved in the local\nand global namespaces of the caller. Free variables are not resolved\nin the nearest enclosing namespace, but in the global namespace. [1]\nThe "exec()" and "eval()" functions have optional arguments to\noverride the global and local namespace. If only one namespace is\nspecified, it is used for both.\n', + 'else': u'\nThe "if" statement\n******************\n\nThe "if" statement is used for conditional execution:\n\n if_stmt ::= "if" expression ":" suite\n ( "elif" expression ":" suite )*\n ["else" ":" suite]\n\nIt selects exactly one of the suites by evaluating the expressions one\nby one until one is found to be true (see section *Boolean operations*\nfor the definition of true and false); then that suite is executed\n(and no other part of the "if" statement is executed or evaluated).\nIf all expressions are false, the suite of the "else" clause, if\npresent, is executed.\n', + 'exceptions': u'\nExceptions\n**********\n\nExceptions are a means of breaking out of the normal flow of control\nof a code block in order to handle errors or other exceptional\nconditions. An exception is *raised* at the point where the error is\ndetected; it may be *handled* by the surrounding code block or by any\ncode block that directly or indirectly invoked the code block where\nthe error occurred.\n\nThe Python interpreter raises an exception when it detects a run-time\nerror (such as division by zero). A Python program can also\nexplicitly raise an exception with the "raise" statement. Exception\nhandlers are specified with the "try" ... "except" statement. The\n"finally" clause of such a statement can be used to specify cleanup\ncode which does not handle the exception, but is executed whether an\nexception occurred or not in the preceding code.\n\nPython uses the "termination" model of error handling: an exception\nhandler can find out what happened and continue execution at an outer\nlevel, but it cannot repair the cause of the error and retry the\nfailing operation (except by re-entering the offending piece of code\nfrom the top).\n\nWhen an exception is not handled at all, the interpreter terminates\nexecution of the program, or returns to its interactive main loop. In\neither case, it prints a stack backtrace, except when the exception is\n"SystemExit".\n\nExceptions are identified by class instances. The "except" clause is\nselected depending on the class of the instance: it must reference the\nclass of the instance or a base class thereof. The instance can be\nreceived by the handler and can carry additional information about the\nexceptional condition.\n\nNote: Exception messages are not part of the Python API. Their\n contents may change from one version of Python to the next without\n warning and should not be relied on by code which will run under\n multiple versions of the interpreter.\n\nSee also the description of the "try" statement in section *The try\nstatement* and "raise" statement in section *The raise statement*.\n\n-[ Footnotes ]-\n\n[1] This limitation occurs because the code that is executed by\n these operations is not available at the time the module is\n compiled.\n', + 'execmodel': u'\nExecution model\n***************\n\n\nStructure of a program\n======================\n\nA Python program is constructed from code blocks. A *block* is a piece\nof Python program text that is executed as a unit. The following are\nblocks: a module, a function body, and a class definition. Each\ncommand typed interactively is a block. A script file (a file given\nas standard input to the interpreter or specified as a command line\nargument to the interpreter) is a code block. A script command (a\ncommand specified on the interpreter command line with the \'**-c**\'\noption) is a code block. The string argument passed to the built-in\nfunctions "eval()" and "exec()" is a code block.\n\nA code block is executed in an *execution frame*. A frame contains\nsome administrative information (used for debugging) and determines\nwhere and how execution continues after the code block\'s execution has\ncompleted.\n\n\nNaming and binding\n==================\n\n\nBinding of names\n----------------\n\n*Names* refer to objects. Names are introduced by name binding\noperations.\n\nThe following constructs bind names: formal parameters to functions,\n"import" statements, class and function definitions (these bind the\nclass or function name in the defining block), and targets that are\nidentifiers if occurring in an assignment, "for" loop header, or after\n"as" in a "with" statement or "except" clause. The "import" statement\nof the form "from ... import *" binds all names defined in the\nimported module, except those beginning with an underscore. This form\nmay only be used at the module level.\n\nA target occurring in a "del" statement is also considered bound for\nthis purpose (though the actual semantics are to unbind the name).\n\nEach assignment or import statement occurs within a block defined by a\nclass or function definition or at the module level (the top-level\ncode block).\n\nIf a name is bound in a block, it is a local variable of that block,\nunless declared as "nonlocal" or "global". If a name is bound at the\nmodule level, it is a global variable. (The variables of the module\ncode block are local and global.) If a variable is used in a code\nblock but not defined there, it is a *free variable*.\n\nEach occurrence of a name in the program text refers to the *binding*\nof that name established by the following name resolution rules.\n\n\nResolution of names\n-------------------\n\nA *scope* defines the visibility of a name within a block. If a local\nvariable is defined in a block, its scope includes that block. If the\ndefinition occurs in a function block, the scope extends to any blocks\ncontained within the defining one, unless a contained block introduces\na different binding for the name.\n\nWhen a name is used in a code block, it is resolved using the nearest\nenclosing scope. The set of all such scopes visible to a code block\nis called the block\'s *environment*.\n\nWhen a name is not found at all, a "NameError" exception is raised. If\nthe current scope is a function scope, and the name refers to a local\nvariable that has not yet been bound to a value at the point where the\nname is used, an "UnboundLocalError" exception is raised.\n"UnboundLocalError" is a subclass of "NameError".\n\nIf a name binding operation occurs anywhere within a code block, all\nuses of the name within the block are treated as references to the\ncurrent block. This can lead to errors when a name is used within a\nblock before it is bound. This rule is subtle. Python lacks\ndeclarations and allows name binding operations to occur anywhere\nwithin a code block. The local variables of a code block can be\ndetermined by scanning the entire text of the block for name binding\noperations.\n\nIf the "global" statement occurs within a block, all uses of the name\nspecified in the statement refer to the binding of that name in the\ntop-level namespace. Names are resolved in the top-level namespace by\nsearching the global namespace, i.e. the namespace of the module\ncontaining the code block, and the builtins namespace, the namespace\nof the module "builtins". The global namespace is searched first. If\nthe name is not found there, the builtins namespace is searched. The\n"global" statement must precede all uses of the name.\n\nThe "global" statement has the same scope as a name binding operation\nin the same block. If the nearest enclosing scope for a free variable\ncontains a global statement, the free variable is treated as a global.\n\nThe "nonlocal" statement causes corresponding names to refer to\npreviously bound variables in the nearest enclosing function scope.\n"SyntaxError" is raised at compile time if the given name does not\nexist in any enclosing function scope.\n\nThe namespace for a module is automatically created the first time a\nmodule is imported. The main module for a script is always called\n"__main__".\n\nClass definition blocks and arguments to "exec()" and "eval()" are\nspecial in the context of name resolution. A class definition is an\nexecutable statement that may use and define names. These references\nfollow the normal rules for name resolution with an exception that\nunbound local variables are looked up in the global namespace. The\nnamespace of the class definition becomes the attribute dictionary of\nthe class. The scope of names defined in a class block is limited to\nthe class block; it does not extend to the code blocks of methods --\nthis includes comprehensions and generator expressions since they are\nimplemented using a function scope. This means that the following\nwill fail:\n\n class A:\n a = 42\n b = list(a + i for i in range(10))\n\n\nBuiltins and restricted execution\n---------------------------------\n\nThe builtins namespace associated with the execution of a code block\nis actually found by looking up the name "__builtins__" in its global\nnamespace; this should be a dictionary or a module (in the latter case\nthe module\'s dictionary is used). By default, when in the "__main__"\nmodule, "__builtins__" is the built-in module "builtins"; when in any\nother module, "__builtins__" is an alias for the dictionary of the\n"builtins" module itself. "__builtins__" can be set to a user-created\ndictionary to create a weak form of restricted execution.\n\n**CPython implementation detail:** Users should not touch\n"__builtins__"; it is strictly an implementation detail. Users\nwanting to override values in the builtins namespace should "import"\nthe "builtins" module and modify its attributes appropriately.\n\n\nInteraction with dynamic features\n---------------------------------\n\nName resolution of free variables occurs at runtime, not at compile\ntime. This means that the following code will print 42:\n\n i = 10\n def f():\n print(i)\n i = 42\n f()\n\nThere are several cases where Python statements are illegal when used\nin conjunction with nested scopes that contain free variables.\n\nIf a variable is referenced in an enclosing scope, it is illegal to\ndelete the name. An error will be reported at compile time.\n\nThe "eval()" and "exec()" functions do not have access to the full\nenvironment for resolving names. Names may be resolved in the local\nand global namespaces of the caller. Free variables are not resolved\nin the nearest enclosing namespace, but in the global namespace. [1]\nThe "exec()" and "eval()" functions have optional arguments to\noverride the global and local namespace. If only one namespace is\nspecified, it is used for both.\n\n\nExceptions\n==========\n\nExceptions are a means of breaking out of the normal flow of control\nof a code block in order to handle errors or other exceptional\nconditions. An exception is *raised* at the point where the error is\ndetected; it may be *handled* by the surrounding code block or by any\ncode block that directly or indirectly invoked the code block where\nthe error occurred.\n\nThe Python interpreter raises an exception when it detects a run-time\nerror (such as division by zero). A Python program can also\nexplicitly raise an exception with the "raise" statement. Exception\nhandlers are specified with the "try" ... "except" statement. The\n"finally" clause of such a statement can be used to specify cleanup\ncode which does not handle the exception, but is executed whether an\nexception occurred or not in the preceding code.\n\nPython uses the "termination" model of error handling: an exception\nhandler can find out what happened and continue execution at an outer\nlevel, but it cannot repair the cause of the error and retry the\nfailing operation (except by re-entering the offending piece of code\nfrom the top).\n\nWhen an exception is not handled at all, the interpreter terminates\nexecution of the program, or returns to its interactive main loop. In\neither case, it prints a stack backtrace, except when the exception is\n"SystemExit".\n\nExceptions are identified by class instances. The "except" clause is\nselected depending on the class of the instance: it must reference the\nclass of the instance or a base class thereof. The instance can be\nreceived by the handler and can carry additional information about the\nexceptional condition.\n\nNote: Exception messages are not part of the Python API. Their\n contents may change from one version of Python to the next without\n warning and should not be relied on by code which will run under\n multiple versions of the interpreter.\n\nSee also the description of the "try" statement in section *The try\nstatement* and "raise" statement in section *The raise statement*.\n\n-[ Footnotes ]-\n\n[1] This limitation occurs because the code that is executed by\n these operations is not available at the time the module is\n compiled.\n', + 'exprlists': u'\nExpression lists\n****************\n\n expression_list ::= expression ( "," expression )* [","]\n starred_list ::= starred_item ( "," starred_item )* [","]\n starred_expression ::= expression | ( starred_item "," )* [starred_item]\n starred_item ::= expression | "*" or_expr\n\nExcept when part of a list or set display, an expression list\ncontaining at least one comma yields a tuple. The length of the tuple\nis the number of expressions in the list. The expressions are\nevaluated from left to right.\n\nAn asterisk "*" denotes *iterable unpacking*. Its operand must be an\n*iterable*. The iterable is expanded into a sequence of items, which\nare included in the new tuple, list, or set, at the site of the\nunpacking.\n\nNew in version 3.5: Iterable unpacking in expression lists, originally\nproposed by **PEP 448**.\n\nThe trailing comma is required only to create a single tuple (a.k.a. a\n*singleton*); it is optional in all other cases. A single expression\nwithout a trailing comma doesn\'t create a tuple, but rather yields the\nvalue of that expression. (To create an empty tuple, use an empty pair\nof parentheses: "()".)\n', + 'floating': u'\nFloating point literals\n***********************\n\nFloating point literals are described by the following lexical\ndefinitions:\n\n floatnumber ::= pointfloat | exponentfloat\n pointfloat ::= [intpart] fraction | intpart "."\n exponentfloat ::= (intpart | pointfloat) exponent\n intpart ::= digit+\n fraction ::= "." digit+\n exponent ::= ("e" | "E") ["+" | "-"] digit+\n\nNote that the integer and exponent parts are always interpreted using\nradix 10. For example, "077e010" is legal, and denotes the same number\nas "77e10". The allowed range of floating point literals is\nimplementation-dependent. Some examples of floating point literals:\n\n 3.14 10. .001 1e100 3.14e-10 0e0\n\nNote that numeric literals do not include a sign; a phrase like "-1"\nis actually an expression composed of the unary operator "-" and the\nliteral "1".\n', + 'for': u'\nThe "for" statement\n*******************\n\nThe "for" statement is used to iterate over the elements of a sequence\n(such as a string, tuple or list) or other iterable object:\n\n for_stmt ::= "for" target_list "in" expression_list ":" suite\n ["else" ":" suite]\n\nThe expression list is evaluated once; it should yield an iterable\nobject. An iterator is created for the result of the\n"expression_list". The suite is then executed once for each item\nprovided by the iterator, in the order returned by the iterator. Each\nitem in turn is assigned to the target list using the standard rules\nfor assignments (see *Assignment statements*), and then the suite is\nexecuted. When the items are exhausted (which is immediately when the\nsequence is empty or an iterator raises a "StopIteration" exception),\nthe suite in the "else" clause, if present, is executed, and the loop\nterminates.\n\nA "break" statement executed in the first suite terminates the loop\nwithout executing the "else" clause\'s suite. A "continue" statement\nexecuted in the first suite skips the rest of the suite and continues\nwith the next item, or with the "else" clause if there is no next\nitem.\n\nThe for-loop makes assignments to the variables(s) in the target list.\nThis overwrites all previous assignments to those variables including\nthose made in the suite of the for-loop:\n\n for i in range(10):\n print(i)\n i = 5 # this will not affect the for-loop\n # because i will be overwritten with the next\n # index in the range\n\nNames in the target list are not deleted when the loop is finished,\nbut if the sequence is empty, they will not have been assigned to at\nall by the loop. Hint: the built-in function "range()" returns an\niterator of integers suitable to emulate the effect of Pascal\'s "for i\n:= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, 2]".\n\nNote: There is a subtlety when the sequence is being modified by the\n loop (this can only occur for mutable sequences, i.e. lists). An\n internal counter is used to keep track of which item is used next,\n and this is incremented on each iteration. When this counter has\n reached the length of the sequence the loop terminates. This means\n that if the suite deletes the current (or a previous) item from the\n sequence, the next item will be skipped (since it gets the index of\n the current item which has already been treated). Likewise, if the\n suite inserts an item in the sequence before the current item, the\n current item will be treated again the next time through the loop.\n This can lead to nasty bugs that can be avoided by making a\n temporary copy using a slice of the whole sequence, e.g.,\n\n for x in a[:]:\n if x < 0: a.remove(x)\n', + 'formatstrings': u'\nFormat String Syntax\n********************\n\nThe "str.format()" method and the "Formatter" class share the same\nsyntax for format strings (although in the case of "Formatter",\nsubclasses can define their own format string syntax).\n\nFormat strings contain "replacement fields" surrounded by curly braces\n"{}". Anything that is not contained in braces is considered literal\ntext, which is copied unchanged to the output. If you need to include\na brace character in the literal text, it can be escaped by doubling:\n"{{" and "}}".\n\nThe grammar for a replacement field is as follows:\n\n replacement_field ::= "{" [field_name] ["!" conversion] [":" format_spec] "}"\n field_name ::= arg_name ("." attribute_name | "[" element_index "]")*\n arg_name ::= [identifier | integer]\n attribute_name ::= identifier\n element_index ::= integer | index_string\n index_string ::= +\n conversion ::= "r" | "s" | "a"\n format_spec ::= \n\nIn less formal terms, the replacement field can start with a\n*field_name* that specifies the object whose value is to be formatted\nand inserted into the output instead of the replacement field. The\n*field_name* is optionally followed by a *conversion* field, which is\npreceded by an exclamation point "\'!\'", and a *format_spec*, which is\npreceded by a colon "\':\'". These specify a non-default format for the\nreplacement value.\n\nSee also the *Format Specification Mini-Language* section.\n\nThe *field_name* itself begins with an *arg_name* that is either a\nnumber or a keyword. If it\'s a number, it refers to a positional\nargument, and if it\'s a keyword, it refers to a named keyword\nargument. If the numerical arg_names in a format string are 0, 1, 2,\n... in sequence, they can all be omitted (not just some) and the\nnumbers 0, 1, 2, ... will be automatically inserted in that order.\nBecause *arg_name* is not quote-delimited, it is not possible to\nspecify arbitrary dictionary keys (e.g., the strings "\'10\'" or\n"\':-]\'") within a format string. The *arg_name* can be followed by any\nnumber of index or attribute expressions. An expression of the form\n"\'.name\'" selects the named attribute using "getattr()", while an\nexpression of the form "\'[index]\'" does an index lookup using\n"__getitem__()".\n\nChanged in version 3.1: The positional argument specifiers can be\nomitted, so "\'{} {}\'" is equivalent to "\'{0} {1}\'".\n\nSome simple format string examples:\n\n "First, thou shalt count to {0}" # References first positional argument\n "Bring me a {}" # Implicitly references the first positional argument\n "From {} to {}" # Same as "From {0} to {1}"\n "My quest is {name}" # References keyword argument \'name\'\n "Weight in tons {0.weight}" # \'weight\' attribute of first positional arg\n "Units destroyed: {players[0]}" # First element of keyword argument \'players\'.\n\nThe *conversion* field causes a type coercion before formatting.\nNormally, the job of formatting a value is done by the "__format__()"\nmethod of the value itself. However, in some cases it is desirable to\nforce a type to be formatted as a string, overriding its own\ndefinition of formatting. By converting the value to a string before\ncalling "__format__()", the normal formatting logic is bypassed.\n\nThree conversion flags are currently supported: "\'!s\'" which calls\n"str()" on the value, "\'!r\'" which calls "repr()" and "\'!a\'" which\ncalls "ascii()".\n\nSome examples:\n\n "Harold\'s a clever {0!s}" # Calls str() on the argument first\n "Bring out the holy {name!r}" # Calls repr() on the argument first\n "More {!a}" # Calls ascii() on the argument first\n\nThe *format_spec* field contains a specification of how the value\nshould be presented, including such details as field width, alignment,\npadding, decimal precision and so on. Each value type can define its\nown "formatting mini-language" or interpretation of the *format_spec*.\n\nMost built-in types support a common formatting mini-language, which\nis described in the next section.\n\nA *format_spec* field can also include nested replacement fields\nwithin it. These nested replacement fields may contain a field name,\nconversion flag and format specification, but deeper nesting is not\nallowed. The replacement fields within the format_spec are\nsubstituted before the *format_spec* string is interpreted. This\nallows the formatting of a value to be dynamically specified.\n\nSee the *Format examples* section for some examples.\n\n\nFormat Specification Mini-Language\n==================================\n\n"Format specifications" are used within replacement fields contained\nwithin a format string to define how individual values are presented\n(see *Format String Syntax*). They can also be passed directly to the\nbuilt-in "format()" function. Each formattable type may define how\nthe format specification is to be interpreted.\n\nMost built-in types implement the following options for format\nspecifications, although some of the formatting options are only\nsupported by the numeric types.\n\nA general convention is that an empty format string ("""") produces\nthe same result as if you had called "str()" on the value. A non-empty\nformat string typically modifies the result.\n\nThe general form of a *standard format specifier* is:\n\n format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]\n fill ::= \n align ::= "<" | ">" | "=" | "^"\n sign ::= "+" | "-" | " "\n width ::= integer\n precision ::= integer\n type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"\n\nIf a valid *align* value is specified, it can be preceded by a *fill*\ncharacter that can be any character and defaults to a space if\nomitted. It is not possible to use a literal curly brace (""{"" or\n""}"") as the *fill* character when using the "str.format()" method.\nHowever, it is possible to insert a curly brace with a nested\nreplacement field. This limitation doesn\'t affect the "format()"\nfunction.\n\nThe meaning of the various alignment options is as follows:\n\n +-----------+------------------------------------------------------------+\n | Option | Meaning |\n +===========+============================================================+\n | "\'<\'" | Forces the field to be left-aligned within the available |\n | | space (this is the default for most objects). |\n +-----------+------------------------------------------------------------+\n | "\'>\'" | Forces the field to be right-aligned within the available |\n | | space (this is the default for numbers). |\n +-----------+------------------------------------------------------------+\n | "\'=\'" | Forces the padding to be placed after the sign (if any) |\n | | but before the digits. This is used for printing fields |\n | | in the form \'+000000120\'. This alignment option is only |\n | | valid for numeric types. It becomes the default when \'0\' |\n | | immediately precedes the field width. |\n +-----------+------------------------------------------------------------+\n | "\'^\'" | Forces the field to be centered within the available |\n | | space. |\n +-----------+------------------------------------------------------------+\n\nNote that unless a minimum field width is defined, the field width\nwill always be the same size as the data to fill it, so that the\nalignment option has no meaning in this case.\n\nThe *sign* option is only valid for number types, and can be one of\nthe following:\n\n +-----------+------------------------------------------------------------+\n | Option | Meaning |\n +===========+============================================================+\n | "\'+\'" | indicates that a sign should be used for both positive as |\n | | well as negative numbers. |\n +-----------+------------------------------------------------------------+\n | "\'-\'" | indicates that a sign should be used only for negative |\n | | numbers (this is the default behavior). |\n +-----------+------------------------------------------------------------+\n | space | indicates that a leading space should be used on positive |\n | | numbers, and a minus sign on negative numbers. |\n +-----------+------------------------------------------------------------+\n\nThe "\'#\'" option causes the "alternate form" to be used for the\nconversion. The alternate form is defined differently for different\ntypes. This option is only valid for integer, float, complex and\nDecimal types. For integers, when binary, octal, or hexadecimal output\nis used, this option adds the prefix respective "\'0b\'", "\'0o\'", or\n"\'0x\'" to the output value. For floats, complex and Decimal the\nalternate form causes the result of the conversion to always contain a\ndecimal-point character, even if no digits follow it. Normally, a\ndecimal-point character appears in the result of these conversions\nonly if a digit follows it. In addition, for "\'g\'" and "\'G\'"\nconversions, trailing zeros are not removed from the result.\n\nThe "\',\'" option signals the use of a comma for a thousands separator.\nFor a locale aware separator, use the "\'n\'" integer presentation type\ninstead.\n\nChanged in version 3.1: Added the "\',\'" option (see also **PEP 378**).\n\n*width* is a decimal integer defining the minimum field width. If not\nspecified, then the field width will be determined by the content.\n\nWhen no explicit alignment is given, preceding the *width* field by a\nzero ("\'0\'") character enables sign-aware zero-padding for numeric\ntypes. This is equivalent to a *fill* character of "\'0\'" with an\n*alignment* type of "\'=\'".\n\nThe *precision* is a decimal number indicating how many digits should\nbe displayed after the decimal point for a floating point value\nformatted with "\'f\'" and "\'F\'", or before and after the decimal point\nfor a floating point value formatted with "\'g\'" or "\'G\'". For non-\nnumber types the field indicates the maximum field size - in other\nwords, how many characters will be used from the field content. The\n*precision* is not allowed for integer values.\n\nFinally, the *type* determines how the data should be presented.\n\nThe available string presentation types are:\n\n +-----------+------------------------------------------------------------+\n | Type | Meaning |\n +===========+============================================================+\n | "\'s\'" | String format. This is the default type for strings and |\n | | may be omitted. |\n +-----------+------------------------------------------------------------+\n | None | The same as "\'s\'". |\n +-----------+------------------------------------------------------------+\n\nThe available integer presentation types are:\n\n +-----------+------------------------------------------------------------+\n | Type | Meaning |\n +===========+============================================================+\n | "\'b\'" | Binary format. Outputs the number in base 2. |\n +-----------+------------------------------------------------------------+\n | "\'c\'" | Character. Converts the integer to the corresponding |\n | | unicode character before printing. |\n +-----------+------------------------------------------------------------+\n | "\'d\'" | Decimal Integer. Outputs the number in base 10. |\n +-----------+------------------------------------------------------------+\n | "\'o\'" | Octal format. Outputs the number in base 8. |\n +-----------+------------------------------------------------------------+\n | "\'x\'" | Hex format. Outputs the number in base 16, using lower- |\n | | case letters for the digits above 9. |\n +-----------+------------------------------------------------------------+\n | "\'X\'" | Hex format. Outputs the number in base 16, using upper- |\n | | case letters for the digits above 9. |\n +-----------+------------------------------------------------------------+\n | "\'n\'" | Number. This is the same as "\'d\'", except that it uses the |\n | | current locale setting to insert the appropriate number |\n | | separator characters. |\n +-----------+------------------------------------------------------------+\n | None | The same as "\'d\'". |\n +-----------+------------------------------------------------------------+\n\nIn addition to the above presentation types, integers can be formatted\nwith the floating point presentation types listed below (except "\'n\'"\nand None). When doing so, "float()" is used to convert the integer to\na floating point number before formatting.\n\nThe available presentation types for floating point and decimal values\nare:\n\n +-----------+------------------------------------------------------------+\n | Type | Meaning |\n +===========+============================================================+\n | "\'e\'" | Exponent notation. Prints the number in scientific |\n | | notation using the letter \'e\' to indicate the exponent. |\n | | The default precision is "6". |\n +-----------+------------------------------------------------------------+\n | "\'E\'" | Exponent notation. Same as "\'e\'" except it uses an upper |\n | | case \'E\' as the separator character. |\n +-----------+------------------------------------------------------------+\n | "\'f\'" | Fixed point. Displays the number as a fixed-point number. |\n | | The default precision is "6". |\n +-----------+------------------------------------------------------------+\n | "\'F\'" | Fixed point. Same as "\'f\'", but converts "nan" to "NAN" |\n | | and "inf" to "INF". |\n +-----------+------------------------------------------------------------+\n | "\'g\'" | General format. For a given precision "p >= 1", this |\n | | rounds the number to "p" significant digits and then |\n | | formats the result in either fixed-point format or in |\n | | scientific notation, depending on its magnitude. The |\n | | precise rules are as follows: suppose that the result |\n | | formatted with presentation type "\'e\'" and precision "p-1" |\n | | would have exponent "exp". Then if "-4 <= exp < p", the |\n | | number is formatted with presentation type "\'f\'" and |\n | | precision "p-1-exp". Otherwise, the number is formatted |\n | | with presentation type "\'e\'" and precision "p-1". In both |\n | | cases insignificant trailing zeros are removed from the |\n | | significand, and the decimal point is also removed if |\n | | there are no remaining digits following it. Positive and |\n | | negative infinity, positive and negative zero, and nans, |\n | | are formatted as "inf", "-inf", "0", "-0" and "nan" |\n | | respectively, regardless of the precision. A precision of |\n | | "0" is treated as equivalent to a precision of "1". The |\n | | default precision is "6". |\n +-----------+------------------------------------------------------------+\n | "\'G\'" | General format. Same as "\'g\'" except switches to "\'E\'" if |\n | | the number gets too large. The representations of infinity |\n | | and NaN are uppercased, too. |\n +-----------+------------------------------------------------------------+\n | "\'n\'" | Number. This is the same as "\'g\'", except that it uses the |\n | | current locale setting to insert the appropriate number |\n | | separator characters. |\n +-----------+------------------------------------------------------------+\n | "\'%\'" | Percentage. Multiplies the number by 100 and displays in |\n | | fixed ("\'f\'") format, followed by a percent sign. |\n +-----------+------------------------------------------------------------+\n | None | Similar to "\'g\'", except that fixed-point notation, when |\n | | used, has at least one digit past the decimal point. The |\n | | default precision is as high as needed to represent the |\n | | particular value. The overall effect is to match the |\n | | output of "str()" as altered by the other format |\n | | modifiers. |\n +-----------+------------------------------------------------------------+\n\n\nFormat examples\n===============\n\nThis section contains examples of the "str.format()" syntax and\ncomparison with the old "%"-formatting.\n\nIn most of the cases the syntax is similar to the old "%"-formatting,\nwith the addition of the "{}" and with ":" used instead of "%". For\nexample, "\'%03.2f\'" can be translated to "\'{:03.2f}\'".\n\nThe new format syntax also supports new and different options, shown\nin the follow examples.\n\nAccessing arguments by position:\n\n >>> \'{0}, {1}, {2}\'.format(\'a\', \'b\', \'c\')\n \'a, b, c\'\n >>> \'{}, {}, {}\'.format(\'a\', \'b\', \'c\') # 3.1+ only\n \'a, b, c\'\n >>> \'{2}, {1}, {0}\'.format(\'a\', \'b\', \'c\')\n \'c, b, a\'\n >>> \'{2}, {1}, {0}\'.format(*\'abc\') # unpacking argument sequence\n \'c, b, a\'\n >>> \'{0}{1}{0}\'.format(\'abra\', \'cad\') # arguments\' indices can be repeated\n \'abracadabra\'\n\nAccessing arguments by name:\n\n >>> \'Coordinates: {latitude}, {longitude}\'.format(latitude=\'37.24N\', longitude=\'-115.81W\')\n \'Coordinates: 37.24N, -115.81W\'\n >>> coord = {\'latitude\': \'37.24N\', \'longitude\': \'-115.81W\'}\n >>> \'Coordinates: {latitude}, {longitude}\'.format(**coord)\n \'Coordinates: 37.24N, -115.81W\'\n\nAccessing arguments\' attributes:\n\n >>> c = 3-5j\n >>> (\'The complex number {0} is formed from the real part {0.real} \'\n ... \'and the imaginary part {0.imag}.\').format(c)\n \'The complex number (3-5j) is formed from the real part 3.0 and the imaginary part -5.0.\'\n >>> class Point:\n ... def __init__(self, x, y):\n ... self.x, self.y = x, y\n ... def __str__(self):\n ... return \'Point({self.x}, {self.y})\'.format(self=self)\n ...\n >>> str(Point(4, 2))\n \'Point(4, 2)\'\n\nAccessing arguments\' items:\n\n >>> coord = (3, 5)\n >>> \'X: {0[0]}; Y: {0[1]}\'.format(coord)\n \'X: 3; Y: 5\'\n\nReplacing "%s" and "%r":\n\n >>> "repr() shows quotes: {!r}; str() doesn\'t: {!s}".format(\'test1\', \'test2\')\n "repr() shows quotes: \'test1\'; str() doesn\'t: test2"\n\nAligning the text and specifying a width:\n\n >>> \'{:<30}\'.format(\'left aligned\')\n \'left aligned \'\n >>> \'{:>30}\'.format(\'right aligned\')\n \' right aligned\'\n >>> \'{:^30}\'.format(\'centered\')\n \' centered \'\n >>> \'{:*^30}\'.format(\'centered\') # use \'*\' as a fill char\n \'***********centered***********\'\n\nReplacing "%+f", "%-f", and "% f" and specifying a sign:\n\n >>> \'{:+f}; {:+f}\'.format(3.14, -3.14) # show it always\n \'+3.140000; -3.140000\'\n >>> \'{: f}; {: f}\'.format(3.14, -3.14) # show a space for positive numbers\n \' 3.140000; -3.140000\'\n >>> \'{:-f}; {:-f}\'.format(3.14, -3.14) # show only the minus -- same as \'{:f}; {:f}\'\n \'3.140000; -3.140000\'\n\nReplacing "%x" and "%o" and converting the value to different bases:\n\n >>> # format also supports binary numbers\n >>> "int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(42)\n \'int: 42; hex: 2a; oct: 52; bin: 101010\'\n >>> # with 0x, 0o, or 0b as prefix:\n >>> "int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}".format(42)\n \'int: 42; hex: 0x2a; oct: 0o52; bin: 0b101010\'\n\nUsing the comma as a thousands separator:\n\n >>> \'{:,}\'.format(1234567890)\n \'1,234,567,890\'\n\nExpressing a percentage:\n\n >>> points = 19\n >>> total = 22\n >>> \'Correct answers: {:.2%}\'.format(points/total)\n \'Correct answers: 86.36%\'\n\nUsing type-specific formatting:\n\n >>> import datetime\n >>> d = datetime.datetime(2010, 7, 4, 12, 15, 58)\n >>> \'{:%Y-%m-%d %H:%M:%S}\'.format(d)\n \'2010-07-04 12:15:58\'\n\nNesting arguments and more complex examples:\n\n >>> for align, text in zip(\'<^>\', [\'left\', \'center\', \'right\']):\n ... \'{0:{fill}{align}16}\'.format(text, fill=align, align=align)\n ...\n \'left<<<<<<<<<<<<\'\n \'^^^^^center^^^^^\'\n \'>>>>>>>>>>>right\'\n >>>\n >>> octets = [192, 168, 0, 1]\n >>> \'{:02X}{:02X}{:02X}{:02X}\'.format(*octets)\n \'C0A80001\'\n >>> int(_, 16)\n 3232235521\n >>>\n >>> width = 5\n >>> for num in range(5,12): #doctest: +NORMALIZE_WHITESPACE\n ... for base in \'dXob\':\n ... print(\'{0:{width}{base}}\'.format(num, base=base, width=width), end=\' \')\n ... print()\n ...\n 5 5 5 101\n 6 6 6 110\n 7 7 7 111\n 8 8 10 1000\n 9 9 11 1001\n 10 A 12 1010\n 11 B 13 1011\n', + 'function': u'\nFunction definitions\n********************\n\nA function definition defines a user-defined function object (see\nsection *The standard type hierarchy*):\n\n funcdef ::= [decorators] "def" funcname "(" [parameter_list] ")" ["->" expression] ":" suite\n decorators ::= decorator+\n decorator ::= "@" dotted_name ["(" [argument_list [","]] ")"] NEWLINE\n dotted_name ::= identifier ("." identifier)*\n parameter_list ::= (defparameter ",")*\n | "*" [parameter] ("," defparameter)* ["," "**" parameter]\n | "**" parameter\n | defparameter [","] )\n parameter ::= identifier [":" expression]\n defparameter ::= parameter ["=" expression]\n funcname ::= identifier\n\nA function definition is an executable statement. Its execution binds\nthe function name in the current local namespace to a function object\n(a wrapper around the executable code for the function). This\nfunction object contains a reference to the current global namespace\nas the global namespace to be used when the function is called.\n\nThe function definition does not execute the function body; this gets\nexecuted only when the function is called. [3]\n\nA function definition may be wrapped by one or more *decorator*\nexpressions. Decorator expressions are evaluated when the function is\ndefined, in the scope that contains the function definition. The\nresult must be a callable, which is invoked with the function object\nas the only argument. The returned value is bound to the function name\ninstead of the function object. Multiple decorators are applied in\nnested fashion. For example, the following code\n\n @f1(arg)\n @f2\n def func(): pass\n\nis equivalent to\n\n def func(): pass\n func = f1(arg)(f2(func))\n\nWhen one or more *parameters* have the form *parameter* "="\n*expression*, the function is said to have "default parameter values."\nFor a parameter with a default value, the corresponding *argument* may\nbe omitted from a call, in which case the parameter\'s default value is\nsubstituted. If a parameter has a default value, all following\nparameters up until the ""*"" must also have a default value --- this\nis a syntactic restriction that is not expressed by the grammar.\n\n**Default parameter values are evaluated from left to right when the\nfunction definition is executed.** This means that the expression is\nevaluated once, when the function is defined, and that the same "pre-\ncomputed" value is used for each call. This is especially important\nto understand when a default parameter is a mutable object, such as a\nlist or a dictionary: if the function modifies the object (e.g. by\nappending an item to a list), the default value is in effect modified.\nThis is generally not what was intended. A way around this is to use\n"None" as the default, and explicitly test for it in the body of the\nfunction, e.g.:\n\n def whats_on_the_telly(penguin=None):\n if penguin is None:\n penguin = []\n penguin.append("property of the zoo")\n return penguin\n\nFunction call semantics are described in more detail in section\n*Calls*. A function call always assigns values to all parameters\nmentioned in the parameter list, either from position arguments, from\nkeyword arguments, or from default values. If the form\n""*identifier"" is present, it is initialized to a tuple receiving any\nexcess positional parameters, defaulting to the empty tuple. If the\nform ""**identifier"" is present, it is initialized to a new\ndictionary receiving any excess keyword arguments, defaulting to a new\nempty dictionary. Parameters after ""*"" or ""*identifier"" are\nkeyword-only parameters and may only be passed used keyword arguments.\n\nParameters may have annotations of the form "": expression"" following\nthe parameter name. Any parameter may have an annotation even those\nof the form "*identifier" or "**identifier". Functions may have\n"return" annotation of the form ""-> expression"" after the parameter\nlist. These annotations can be any valid Python expression and are\nevaluated when the function definition is executed. Annotations may\nbe evaluated in a different order than they appear in the source code.\nThe presence of annotations does not change the semantics of a\nfunction. The annotation values are available as values of a\ndictionary keyed by the parameters\' names in the "__annotations__"\nattribute of the function object.\n\nIt is also possible to create anonymous functions (functions not bound\nto a name), for immediate use in expressions. This uses lambda\nexpressions, described in section *Lambdas*. Note that the lambda\nexpression is merely a shorthand for a simplified function definition;\na function defined in a ""def"" statement can be passed around or\nassigned to another name just like a function defined by a lambda\nexpression. The ""def"" form is actually more powerful since it\nallows the execution of multiple statements and annotations.\n\n**Programmer\'s note:** Functions are first-class objects. A ""def""\nstatement executed inside a function definition defines a local\nfunction that can be returned or passed around. Free variables used\nin the nested function can access the local variables of the function\ncontaining the def. See section *Naming and binding* for details.\n\nSee also: **PEP 3107** - Function Annotations\n\n The original specification for function annotations.\n', + 'global': u'\nThe "global" statement\n**********************\n\n global_stmt ::= "global" identifier ("," identifier)*\n\nThe "global" statement is a declaration which holds for the entire\ncurrent code block. It means that the listed identifiers are to be\ninterpreted as globals. It would be impossible to assign to a global\nvariable without "global", although free variables may refer to\nglobals without being declared global.\n\nNames listed in a "global" statement must not be used in the same code\nblock textually preceding that "global" statement.\n\nNames listed in a "global" statement must not be defined as formal\nparameters or in a "for" loop control target, "class" definition,\nfunction definition, or "import" statement.\n\n**CPython implementation detail:** The current implementation does not\nenforce the two restrictions, but programs should not abuse this\nfreedom, as future implementations may enforce them or silently change\nthe meaning of the program.\n\n**Programmer\'s note:** the "global" is a directive to the parser. It\napplies only to code parsed at the same time as the "global"\nstatement. In particular, a "global" statement contained in a string\nor code object supplied to the built-in "exec()" function does not\naffect the code block *containing* the function call, and code\ncontained in such a string is unaffected by "global" statements in the\ncode containing the function call. The same applies to the "eval()"\nand "compile()" functions.\n', + 'id-classes': u'\nReserved classes of identifiers\n*******************************\n\nCertain classes of identifiers (besides keywords) have special\nmeanings. These classes are identified by the patterns of leading and\ntrailing underscore characters:\n\n"_*"\n Not imported by "from module import *". The special identifier "_"\n is used in the interactive interpreter to store the result of the\n last evaluation; it is stored in the "builtins" module. When not\n in interactive mode, "_" has no special meaning and is not defined.\n See section *The import statement*.\n\n Note: The name "_" is often used in conjunction with\n internationalization; refer to the documentation for the\n "gettext" module for more information on this convention.\n\n"__*__"\n System-defined names. These names are defined by the interpreter\n and its implementation (including the standard library). Current\n system names are discussed in the *Special method names* section\n and elsewhere. More will likely be defined in future versions of\n Python. *Any* use of "__*__" names, in any context, that does not\n follow explicitly documented use, is subject to breakage without\n warning.\n\n"__*"\n Class-private names. Names in this category, when used within the\n context of a class definition, are re-written to use a mangled form\n to help avoid name clashes between "private" attributes of base and\n derived classes. See section *Identifiers (Names)*.\n', + 'identifiers': u'\nIdentifiers and keywords\n************************\n\nIdentifiers (also referred to as *names*) are described by the\nfollowing lexical definitions.\n\nThe syntax of identifiers in Python is based on the Unicode standard\nannex UAX-31, with elaboration and changes as defined below; see also\n**PEP 3131** for further details.\n\nWithin the ASCII range (U+0001..U+007F), the valid characters for\nidentifiers are the same as in Python 2.x: the uppercase and lowercase\nletters "A" through "Z", the underscore "_" and, except for the first\ncharacter, the digits "0" through "9".\n\nPython 3.0 introduces additional characters from outside the ASCII\nrange (see **PEP 3131**). For these characters, the classification\nuses the version of the Unicode Character Database as included in the\n"unicodedata" module.\n\nIdentifiers are unlimited in length. Case is significant.\n\n identifier ::= xid_start xid_continue*\n id_start ::= \n id_continue ::= \n xid_start ::= \n xid_continue ::= \n\nThe Unicode category codes mentioned above stand for:\n\n* *Lu* - uppercase letters\n\n* *Ll* - lowercase letters\n\n* *Lt* - titlecase letters\n\n* *Lm* - modifier letters\n\n* *Lo* - other letters\n\n* *Nl* - letter numbers\n\n* *Mn* - nonspacing marks\n\n* *Mc* - spacing combining marks\n\n* *Nd* - decimal numbers\n\n* *Pc* - connector punctuations\n\n* *Other_ID_Start* - explicit list of characters in PropList.txt to\n support backwards compatibility\n\n* *Other_ID_Continue* - likewise\n\nAll identifiers are converted into the normal form NFKC while parsing;\ncomparison of identifiers is based on NFKC.\n\nA non-normative HTML file listing all valid identifier characters for\nUnicode 4.1 can be found at https://www.dcl.hpi.uni-\npotsdam.de/home/loewis/table-3131.html.\n\n\nKeywords\n========\n\nThe following identifiers are used as reserved words, or *keywords* of\nthe language, and cannot be used as ordinary identifiers. They must\nbe spelled exactly as written here:\n\n False class finally is return\n None continue for lambda try\n True def from nonlocal while\n and del global not with\n as elif if or yield\n assert else import pass\n break except in raise\n\n\nReserved classes of identifiers\n===============================\n\nCertain classes of identifiers (besides keywords) have special\nmeanings. These classes are identified by the patterns of leading and\ntrailing underscore characters:\n\n"_*"\n Not imported by "from module import *". The special identifier "_"\n is used in the interactive interpreter to store the result of the\n last evaluation; it is stored in the "builtins" module. When not\n in interactive mode, "_" has no special meaning and is not defined.\n See section *The import statement*.\n\n Note: The name "_" is often used in conjunction with\n internationalization; refer to the documentation for the\n "gettext" module for more information on this convention.\n\n"__*__"\n System-defined names. These names are defined by the interpreter\n and its implementation (including the standard library). Current\n system names are discussed in the *Special method names* section\n and elsewhere. More will likely be defined in future versions of\n Python. *Any* use of "__*__" names, in any context, that does not\n follow explicitly documented use, is subject to breakage without\n warning.\n\n"__*"\n Class-private names. Names in this category, when used within the\n context of a class definition, are re-written to use a mangled form\n to help avoid name clashes between "private" attributes of base and\n derived classes. See section *Identifiers (Names)*.\n', + 'if': u'\nThe "if" statement\n******************\n\nThe "if" statement is used for conditional execution:\n\n if_stmt ::= "if" expression ":" suite\n ( "elif" expression ":" suite )*\n ["else" ":" suite]\n\nIt selects exactly one of the suites by evaluating the expressions one\nby one until one is found to be true (see section *Boolean operations*\nfor the definition of true and false); then that suite is executed\n(and no other part of the "if" statement is executed or evaluated).\nIf all expressions are false, the suite of the "else" clause, if\npresent, is executed.\n', + 'imaginary': u'\nImaginary literals\n******************\n\nImaginary literals are described by the following lexical definitions:\n\n imagnumber ::= (floatnumber | intpart) ("j" | "J")\n\nAn imaginary literal yields a complex number with a real part of 0.0.\nComplex numbers are represented as a pair of floating point numbers\nand have the same restrictions on their range. To create a complex\nnumber with a nonzero real part, add a floating point number to it,\ne.g., "(3+4j)". Some examples of imaginary literals:\n\n 3.14j 10.j 10j .001j 1e100j 3.14e-10j\n', + 'import': u'\nThe "import" statement\n**********************\n\n import_stmt ::= "import" module ["as" name] ( "," module ["as" name] )*\n | "from" relative_module "import" identifier ["as" name]\n ( "," identifier ["as" name] )*\n | "from" relative_module "import" "(" identifier ["as" name]\n ( "," identifier ["as" name] )* [","] ")"\n | "from" module "import" "*"\n module ::= (identifier ".")* identifier\n relative_module ::= "."* module | "."+\n name ::= identifier\n\nThe basic import statement (no "from" clause) is executed in two\nsteps:\n\n1. find a module, loading and initializing it if necessary\n\n2. define a name or names in the local namespace for the scope\n where the "import" statement occurs.\n\nWhen the statement contains multiple clauses (separated by commas) the\ntwo steps are carried out separately for each clause, just as though\nthe clauses had been separated out into individual import statements.\n\nThe details of the first step, finding and loading modules are\ndescribed in greater detail in the section on the *import system*,\nwhich also describes the various types of packages and modules that\ncan be imported, as well as all the hooks that can be used to\ncustomize the import system. Note that failures in this step may\nindicate either that the module could not be located, *or* that an\nerror occurred while initializing the module, which includes execution\nof the module\'s code.\n\nIf the requested module is retrieved successfully, it will be made\navailable in the local namespace in one of three ways:\n\n* If the module name is followed by "as", then the name following\n "as" is bound directly to the imported module.\n\n* If no other name is specified, and the module being imported is a\n top level module, the module\'s name is bound in the local namespace\n as a reference to the imported module\n\n* If the module being imported is *not* a top level module, then the\n name of the top level package that contains the module is bound in\n the local namespace as a reference to the top level package. The\n imported module must be accessed using its full qualified name\n rather than directly\n\nThe "from" form uses a slightly more complex process:\n\n1. find the module specified in the "from" clause, loading and\n initializing it if necessary;\n\n2. for each of the identifiers specified in the "import" clauses:\n\n 1. check if the imported module has an attribute by that name\n\n 2. if not, attempt to import a submodule with that name and then\n check the imported module again for that attribute\n\n 3. if the attribute is not found, "ImportError" is raised.\n\n 4. otherwise, a reference to that value is stored in the local\n namespace, using the name in the "as" clause if it is present,\n otherwise using the attribute name\n\nExamples:\n\n import foo # foo imported and bound locally\n import foo.bar.baz # foo.bar.baz imported, foo bound locally\n import foo.bar.baz as fbb # foo.bar.baz imported and bound as fbb\n from foo.bar import baz # foo.bar.baz imported and bound as baz\n from foo import attr # foo imported and foo.attr bound as attr\n\nIf the list of identifiers is replaced by a star ("\'*\'"), all public\nnames defined in the module are bound in the local namespace for the\nscope where the "import" statement occurs.\n\nThe *public names* defined by a module are determined by checking the\nmodule\'s namespace for a variable named "__all__"; if defined, it must\nbe a sequence of strings which are names defined or imported by that\nmodule. The names given in "__all__" are all considered public and\nare required to exist. If "__all__" is not defined, the set of public\nnames includes all names found in the module\'s namespace which do not\nbegin with an underscore character ("\'_\'"). "__all__" should contain\nthe entire public API. It is intended to avoid accidentally exporting\nitems that are not part of the API (such as library modules which were\nimported and used within the module).\n\nThe wild card form of import --- "from module import *" --- is only\nallowed at the module level. Attempting to use it in class or\nfunction definitions will raise a "SyntaxError".\n\nWhen specifying what module to import you do not have to specify the\nabsolute name of the module. When a module or package is contained\nwithin another package it is possible to make a relative import within\nthe same top package without having to mention the package name. By\nusing leading dots in the specified module or package after "from" you\ncan specify how high to traverse up the current package hierarchy\nwithout specifying exact names. One leading dot means the current\npackage where the module making the import exists. Two dots means up\none package level. Three dots is up two levels, etc. So if you execute\n"from . import mod" from a module in the "pkg" package then you will\nend up importing "pkg.mod". If you execute "from ..subpkg2 import mod"\nfrom within "pkg.subpkg1" you will import "pkg.subpkg2.mod". The\nspecification for relative imports is contained within **PEP 328**.\n\n"importlib.import_module()" is provided to support applications that\ndetermine dynamically the modules to be loaded.\n\n\nFuture statements\n=================\n\nA *future statement* is a directive to the compiler that a particular\nmodule should be compiled using syntax or semantics that will be\navailable in a specified future release of Python where the feature\nbecomes standard.\n\nThe future statement is intended to ease migration to future versions\nof Python that introduce incompatible changes to the language. It\nallows use of the new features on a per-module basis before the\nrelease in which the feature becomes standard.\n\n future_statement ::= "from" "__future__" "import" feature ["as" name]\n ("," feature ["as" name])*\n | "from" "__future__" "import" "(" feature ["as" name]\n ("," feature ["as" name])* [","] ")"\n feature ::= identifier\n name ::= identifier\n\nA future statement must appear near the top of the module. The only\nlines that can appear before a future statement are:\n\n* the module docstring (if any),\n\n* comments,\n\n* blank lines, and\n\n* other future statements.\n\nThe features recognized by Python 3.0 are "absolute_import",\n"division", "generators", "unicode_literals", "print_function",\n"nested_scopes" and "with_statement". They are all redundant because\nthey are always enabled, and only kept for backwards compatibility.\n\nA future statement is recognized and treated specially at compile\ntime: Changes to the semantics of core constructs are often\nimplemented by generating different code. It may even be the case\nthat a new feature introduces new incompatible syntax (such as a new\nreserved word), in which case the compiler may need to parse the\nmodule differently. Such decisions cannot be pushed off until\nruntime.\n\nFor any given release, the compiler knows which feature names have\nbeen defined, and raises a compile-time error if a future statement\ncontains a feature not known to it.\n\nThe direct runtime semantics are the same as for any import statement:\nthere is a standard module "__future__", described later, and it will\nbe imported in the usual way at the time the future statement is\nexecuted.\n\nThe interesting runtime semantics depend on the specific feature\nenabled by the future statement.\n\nNote that there is nothing special about the statement:\n\n import __future__ [as name]\n\nThat is not a future statement; it\'s an ordinary import statement with\nno special semantics or syntax restrictions.\n\nCode compiled by calls to the built-in functions "exec()" and\n"compile()" that occur in a module "M" containing a future statement\nwill, by default, use the new syntax or semantics associated with the\nfuture statement. This can be controlled by optional arguments to\n"compile()" --- see the documentation of that function for details.\n\nA future statement typed at an interactive interpreter prompt will\ntake effect for the rest of the interpreter session. If an\ninterpreter is started with the *-i* option, is passed a script name\nto execute, and the script includes a future statement, it will be in\neffect in the interactive session started after the script is\nexecuted.\n\nSee also: **PEP 236** - Back to the __future__\n\n The original proposal for the __future__ mechanism.\n', + 'in': u'\nMembership test operations\n**************************\n\nThe operators "in" and "not in" test for membership. "x in s"\nevaluates to true if *x* is a member of *s*, and false otherwise. "x\nnot in s" returns the negation of "x in s". All built-in sequences\nand set types support this as well as dictionary, for which "in" tests\nwhether the dictionary has a given key. For container types such as\nlist, tuple, set, frozenset, dict, or collections.deque, the\nexpression "x in y" is equivalent to "any(x is e or x == e for e in\ny)".\n\nFor the string and bytes types, "x in y" is true if and only if *x* is\na substring of *y*. An equivalent test is "y.find(x) != -1". Empty\nstrings are always considered to be a substring of any other string,\nso """ in "abc"" will return "True".\n\nFor user-defined classes which define the "__contains__()" method, "x\nin y" is true if and only if "y.__contains__(x)" is true.\n\nFor user-defined classes which do not define "__contains__()" but do\ndefine "__iter__()", "x in y" is true if some value "z" with "x == z"\nis produced while iterating over "y". If an exception is raised\nduring the iteration, it is as if "in" raised that exception.\n\nLastly, the old-style iteration protocol is tried: if a class defines\n"__getitem__()", "x in y" is true if and only if there is a non-\nnegative integer index *i* such that "x == y[i]", and all lower\ninteger indices do not raise "IndexError" exception. (If any other\nexception is raised, it is as if "in" raised that exception).\n\nThe operator "not in" is defined to have the inverse true value of\n"in".\n', + 'integers': u'\nInteger literals\n****************\n\nInteger literals are described by the following lexical definitions:\n\n integer ::= decimalinteger | octinteger | hexinteger | bininteger\n decimalinteger ::= nonzerodigit digit* | "0"+\n nonzerodigit ::= "1"..."9"\n digit ::= "0"..."9"\n octinteger ::= "0" ("o" | "O") octdigit+\n hexinteger ::= "0" ("x" | "X") hexdigit+\n bininteger ::= "0" ("b" | "B") bindigit+\n octdigit ::= "0"..."7"\n hexdigit ::= digit | "a"..."f" | "A"..."F"\n bindigit ::= "0" | "1"\n\nThere is no limit for the length of integer literals apart from what\ncan be stored in available memory.\n\nNote that leading zeros in a non-zero decimal number are not allowed.\nThis is for disambiguation with C-style octal literals, which Python\nused before version 3.0.\n\nSome examples of integer literals:\n\n 7 2147483647 0o177 0b100110111\n 3 79228162514264337593543950336 0o377 0xdeadbeef\n', + 'lambda': u'\nLambdas\n*******\n\n lambda_expr ::= "lambda" [parameter_list]: expression\n lambda_expr_nocond ::= "lambda" [parameter_list]: expression_nocond\n\nLambda expressions (sometimes called lambda forms) are used to create\nanonymous functions. The expression "lambda arguments: expression"\nyields a function object. The unnamed object behaves like a function\nobject defined with\n\n def (arguments):\n return expression\n\nSee section *Function definitions* for the syntax of parameter lists.\nNote that functions created with lambda expressions cannot contain\nstatements or annotations.\n', + 'lists': u'\nList displays\n*************\n\nA list display is a possibly empty series of expressions enclosed in\nsquare brackets:\n\n list_display ::= "[" [starred_list | comprehension] "]"\n\nA list display yields a new list object, the contents being specified\nby either a list of expressions or a comprehension. When a comma-\nseparated list of expressions is supplied, its elements are evaluated\nfrom left to right and placed into the list object in that order.\nWhen a comprehension is supplied, the list is constructed from the\nelements resulting from the comprehension.\n', + 'naming': u'\nNaming and binding\n******************\n\n\nBinding of names\n================\n\n*Names* refer to objects. Names are introduced by name binding\noperations.\n\nThe following constructs bind names: formal parameters to functions,\n"import" statements, class and function definitions (these bind the\nclass or function name in the defining block), and targets that are\nidentifiers if occurring in an assignment, "for" loop header, or after\n"as" in a "with" statement or "except" clause. The "import" statement\nof the form "from ... import *" binds all names defined in the\nimported module, except those beginning with an underscore. This form\nmay only be used at the module level.\n\nA target occurring in a "del" statement is also considered bound for\nthis purpose (though the actual semantics are to unbind the name).\n\nEach assignment or import statement occurs within a block defined by a\nclass or function definition or at the module level (the top-level\ncode block).\n\nIf a name is bound in a block, it is a local variable of that block,\nunless declared as "nonlocal" or "global". If a name is bound at the\nmodule level, it is a global variable. (The variables of the module\ncode block are local and global.) If a variable is used in a code\nblock but not defined there, it is a *free variable*.\n\nEach occurrence of a name in the program text refers to the *binding*\nof that name established by the following name resolution rules.\n\n\nResolution of names\n===================\n\nA *scope* defines the visibility of a name within a block. If a local\nvariable is defined in a block, its scope includes that block. If the\ndefinition occurs in a function block, the scope extends to any blocks\ncontained within the defining one, unless a contained block introduces\na different binding for the name.\n\nWhen a name is used in a code block, it is resolved using the nearest\nenclosing scope. The set of all such scopes visible to a code block\nis called the block\'s *environment*.\n\nWhen a name is not found at all, a "NameError" exception is raised. If\nthe current scope is a function scope, and the name refers to a local\nvariable that has not yet been bound to a value at the point where the\nname is used, an "UnboundLocalError" exception is raised.\n"UnboundLocalError" is a subclass of "NameError".\n\nIf a name binding operation occurs anywhere within a code block, all\nuses of the name within the block are treated as references to the\ncurrent block. This can lead to errors when a name is used within a\nblock before it is bound. This rule is subtle. Python lacks\ndeclarations and allows name binding operations to occur anywhere\nwithin a code block. The local variables of a code block can be\ndetermined by scanning the entire text of the block for name binding\noperations.\n\nIf the "global" statement occurs within a block, all uses of the name\nspecified in the statement refer to the binding of that name in the\ntop-level namespace. Names are resolved in the top-level namespace by\nsearching the global namespace, i.e. the namespace of the module\ncontaining the code block, and the builtins namespace, the namespace\nof the module "builtins". The global namespace is searched first. If\nthe name is not found there, the builtins namespace is searched. The\n"global" statement must precede all uses of the name.\n\nThe "global" statement has the same scope as a name binding operation\nin the same block. If the nearest enclosing scope for a free variable\ncontains a global statement, the free variable is treated as a global.\n\nThe "nonlocal" statement causes corresponding names to refer to\npreviously bound variables in the nearest enclosing function scope.\n"SyntaxError" is raised at compile time if the given name does not\nexist in any enclosing function scope.\n\nThe namespace for a module is automatically created the first time a\nmodule is imported. The main module for a script is always called\n"__main__".\n\nClass definition blocks and arguments to "exec()" and "eval()" are\nspecial in the context of name resolution. A class definition is an\nexecutable statement that may use and define names. These references\nfollow the normal rules for name resolution with an exception that\nunbound local variables are looked up in the global namespace. The\nnamespace of the class definition becomes the attribute dictionary of\nthe class. The scope of names defined in a class block is limited to\nthe class block; it does not extend to the code blocks of methods --\nthis includes comprehensions and generator expressions since they are\nimplemented using a function scope. This means that the following\nwill fail:\n\n class A:\n a = 42\n b = list(a + i for i in range(10))\n\n\nBuiltins and restricted execution\n=================================\n\nThe builtins namespace associated with the execution of a code block\nis actually found by looking up the name "__builtins__" in its global\nnamespace; this should be a dictionary or a module (in the latter case\nthe module\'s dictionary is used). By default, when in the "__main__"\nmodule, "__builtins__" is the built-in module "builtins"; when in any\nother module, "__builtins__" is an alias for the dictionary of the\n"builtins" module itself. "__builtins__" can be set to a user-created\ndictionary to create a weak form of restricted execution.\n\n**CPython implementation detail:** Users should not touch\n"__builtins__"; it is strictly an implementation detail. Users\nwanting to override values in the builtins namespace should "import"\nthe "builtins" module and modify its attributes appropriately.\n\n\nInteraction with dynamic features\n=================================\n\nName resolution of free variables occurs at runtime, not at compile\ntime. This means that the following code will print 42:\n\n i = 10\n def f():\n print(i)\n i = 42\n f()\n\nThere are several cases where Python statements are illegal when used\nin conjunction with nested scopes that contain free variables.\n\nIf a variable is referenced in an enclosing scope, it is illegal to\ndelete the name. An error will be reported at compile time.\n\nThe "eval()" and "exec()" functions do not have access to the full\nenvironment for resolving names. Names may be resolved in the local\nand global namespaces of the caller. Free variables are not resolved\nin the nearest enclosing namespace, but in the global namespace. [1]\nThe "exec()" and "eval()" functions have optional arguments to\noverride the global and local namespace. If only one namespace is\nspecified, it is used for both.\n', + 'nonlocal': u'\nThe "nonlocal" statement\n************************\n\n nonlocal_stmt ::= "nonlocal" identifier ("," identifier)*\n\nThe "nonlocal" statement causes the listed identifiers to refer to\npreviously bound variables in the nearest enclosing scope excluding\nglobals. This is important because the default behavior for binding is\nto search the local namespace first. The statement allows\nencapsulated code to rebind variables outside of the local scope\nbesides the global (module) scope.\n\nNames listed in a "nonlocal" statement, unlike those listed in a\n"global" statement, must refer to pre-existing bindings in an\nenclosing scope (the scope in which a new binding should be created\ncannot be determined unambiguously).\n\nNames listed in a "nonlocal" statement must not collide with pre-\nexisting bindings in the local scope.\n\nSee also: **PEP 3104** - Access to Names in Outer Scopes\n\n The specification for the "nonlocal" statement.\n', + 'numbers': u'\nNumeric literals\n****************\n\nThere are three types of numeric literals: integers, floating point\nnumbers, and imaginary numbers. There are no complex literals\n(complex numbers can be formed by adding a real number and an\nimaginary number).\n\nNote that numeric literals do not include a sign; a phrase like "-1"\nis actually an expression composed of the unary operator \'"-"\' and the\nliteral "1".\n', + 'numeric-types': u'\nEmulating numeric types\n***********************\n\nThe following methods can be defined to emulate numeric objects.\nMethods corresponding to operations that are not supported by the\nparticular kind of number implemented (e.g., bitwise operations for\nnon-integral numbers) should be left undefined.\n\nobject.__add__(self, other)\nobject.__sub__(self, other)\nobject.__mul__(self, other)\nobject.__matmul__(self, other)\nobject.__truediv__(self, other)\nobject.__floordiv__(self, other)\nobject.__mod__(self, other)\nobject.__divmod__(self, other)\nobject.__pow__(self, other[, modulo])\nobject.__lshift__(self, other)\nobject.__rshift__(self, other)\nobject.__and__(self, other)\nobject.__xor__(self, other)\nobject.__or__(self, other)\n\n These methods are called to implement the binary arithmetic\n operations ("+", "-", "*", "@", "/", "//", "%", "divmod()",\n "pow()", "**", "<<", ">>", "&", "^", "|"). For instance, to\n evaluate the expression "x + y", where *x* is an instance of a\n class that has an "__add__()" method, "x.__add__(y)" is called.\n The "__divmod__()" method should be the equivalent to using\n "__floordiv__()" and "__mod__()"; it should not be related to\n "__truediv__()". Note that "__pow__()" should be defined to accept\n an optional third argument if the ternary version of the built-in\n "pow()" function is to be supported.\n\n If one of those methods does not support the operation with the\n supplied arguments, it should return "NotImplemented".\n\nobject.__radd__(self, other)\nobject.__rsub__(self, other)\nobject.__rmul__(self, other)\nobject.__rmatmul__(self, other)\nobject.__rtruediv__(self, other)\nobject.__rfloordiv__(self, other)\nobject.__rmod__(self, other)\nobject.__rdivmod__(self, other)\nobject.__rpow__(self, other)\nobject.__rlshift__(self, other)\nobject.__rrshift__(self, other)\nobject.__rand__(self, other)\nobject.__rxor__(self, other)\nobject.__ror__(self, other)\n\n These methods are called to implement the binary arithmetic\n operations ("+", "-", "*", "@", "/", "//", "%", "divmod()",\n "pow()", "**", "<<", ">>", "&", "^", "|") with reflected (swapped)\n operands. These functions are only called if the left operand does\n not support the corresponding operation and the operands are of\n different types. [2] For instance, to evaluate the expression "x -\n y", where *y* is an instance of a class that has an "__rsub__()"\n method, "y.__rsub__(x)" is called if "x.__sub__(y)" returns\n *NotImplemented*.\n\n Note that ternary "pow()" will not try calling "__rpow__()" (the\n coercion rules would become too complicated).\n\n Note: If the right operand\'s type is a subclass of the left\n operand\'s type and that subclass provides the reflected method\n for the operation, this method will be called before the left\n operand\'s non-reflected method. This behavior allows subclasses\n to override their ancestors\' operations.\n\nobject.__iadd__(self, other)\nobject.__isub__(self, other)\nobject.__imul__(self, other)\nobject.__imatmul__(self, other)\nobject.__itruediv__(self, other)\nobject.__ifloordiv__(self, other)\nobject.__imod__(self, other)\nobject.__ipow__(self, other[, modulo])\nobject.__ilshift__(self, other)\nobject.__irshift__(self, other)\nobject.__iand__(self, other)\nobject.__ixor__(self, other)\nobject.__ior__(self, other)\n\n These methods are called to implement the augmented arithmetic\n assignments ("+=", "-=", "*=", "@=", "/=", "//=", "%=", "**=",\n "<<=", ">>=", "&=", "^=", "|="). These methods should attempt to\n do the operation in-place (modifying *self*) and return the result\n (which could be, but does not have to be, *self*). If a specific\n method is not defined, the augmented assignment falls back to the\n normal methods. For instance, if *x* is an instance of a class\n with an "__iadd__()" method, "x += y" is equivalent to "x =\n x.__iadd__(y)" . Otherwise, "x.__add__(y)" and "y.__radd__(x)" are\n considered, as with the evaluation of "x + y". In certain\n situations, augmented assignment can result in unexpected errors\n (see *Why does a_tuple[i] += [\'item\'] raise an exception when the\n addition works?*), but this behavior is in fact part of the data\n model.\n\nobject.__neg__(self)\nobject.__pos__(self)\nobject.__abs__(self)\nobject.__invert__(self)\n\n Called to implement the unary arithmetic operations ("-", "+",\n "abs()" and "~").\n\nobject.__complex__(self)\nobject.__int__(self)\nobject.__float__(self)\nobject.__round__(self[, n])\n\n Called to implement the built-in functions "complex()", "int()",\n "float()" and "round()". Should return a value of the appropriate\n type.\n\nobject.__index__(self)\n\n Called to implement "operator.index()", and whenever Python needs\n to losslessly convert the numeric object to an integer object (such\n as in slicing, or in the built-in "bin()", "hex()" and "oct()"\n functions). Presence of this method indicates that the numeric\n object is an integer type. Must return an integer.\n\n Note: In order to have a coherent integer type class, when\n "__index__()" is defined "__int__()" should also be defined, and\n both should return the same value.\n', + 'objects': u'\nObjects, values and types\n*************************\n\n*Objects* are Python\'s abstraction for data. All data in a Python\nprogram is represented by objects or by relations between objects. (In\na sense, and in conformance to Von Neumann\'s model of a "stored\nprogram computer," code is also represented by objects.)\n\nEvery object has an identity, a type and a value. An object\'s\n*identity* never changes once it has been created; you may think of it\nas the object\'s address in memory. The \'"is"\' operator compares the\nidentity of two objects; the "id()" function returns an integer\nrepresenting its identity.\n\n**CPython implementation detail:** For CPython, "id(x)" is the memory\naddress where "x" is stored.\n\nAn object\'s type determines the operations that the object supports\n(e.g., "does it have a length?") and also defines the possible values\nfor objects of that type. The "type()" function returns an object\'s\ntype (which is an object itself). Like its identity, an object\'s\n*type* is also unchangeable. [1]\n\nThe *value* of some objects can change. Objects whose value can\nchange are said to be *mutable*; objects whose value is unchangeable\nonce they are created are called *immutable*. (The value of an\nimmutable container object that contains a reference to a mutable\nobject can change when the latter\'s value is changed; however the\ncontainer is still considered immutable, because the collection of\nobjects it contains cannot be changed. So, immutability is not\nstrictly the same as having an unchangeable value, it is more subtle.)\nAn object\'s mutability is determined by its type; for instance,\nnumbers, strings and tuples are immutable, while dictionaries and\nlists are mutable.\n\nObjects are never explicitly destroyed; however, when they become\nunreachable they may be garbage-collected. An implementation is\nallowed to postpone garbage collection or omit it altogether --- it is\na matter of implementation quality how garbage collection is\nimplemented, as long as no objects are collected that are still\nreachable.\n\n**CPython implementation detail:** CPython currently uses a reference-\ncounting scheme with (optional) delayed detection of cyclically linked\ngarbage, which collects most objects as soon as they become\nunreachable, but is not guaranteed to collect garbage containing\ncircular references. See the documentation of the "gc" module for\ninformation on controlling the collection of cyclic garbage. Other\nimplementations act differently and CPython may change. Do not depend\non immediate finalization of objects when they become unreachable (so\nyou should always close files explicitly).\n\nNote that the use of the implementation\'s tracing or debugging\nfacilities may keep objects alive that would normally be collectable.\nAlso note that catching an exception with a \'"try"..."except"\'\nstatement may keep objects alive.\n\nSome objects contain references to "external" resources such as open\nfiles or windows. It is understood that these resources are freed\nwhen the object is garbage-collected, but since garbage collection is\nnot guaranteed to happen, such objects also provide an explicit way to\nrelease the external resource, usually a "close()" method. Programs\nare strongly recommended to explicitly close such objects. The\n\'"try"..."finally"\' statement and the \'"with"\' statement provide\nconvenient ways to do this.\n\nSome objects contain references to other objects; these are called\n*containers*. Examples of containers are tuples, lists and\ndictionaries. The references are part of a container\'s value. In\nmost cases, when we talk about the value of a container, we imply the\nvalues, not the identities of the contained objects; however, when we\ntalk about the mutability of a container, only the identities of the\nimmediately contained objects are implied. So, if an immutable\ncontainer (like a tuple) contains a reference to a mutable object, its\nvalue changes if that mutable object is changed.\n\nTypes affect almost all aspects of object behavior. Even the\nimportance of object identity is affected in some sense: for immutable\ntypes, operations that compute new values may actually return a\nreference to any existing object with the same type and value, while\nfor mutable objects this is not allowed. E.g., after "a = 1; b = 1",\n"a" and "b" may or may not refer to the same object with the value\none, depending on the implementation, but after "c = []; d = []", "c"\nand "d" are guaranteed to refer to two different, unique, newly\ncreated empty lists. (Note that "c = d = []" assigns the same object\nto both "c" and "d".)\n', + 'operator-summary': u'\nOperator precedence\n*******************\n\nThe following table summarizes the operator precedence in Python, from\nlowest precedence (least binding) to highest precedence (most\nbinding). Operators in the same box have the same precedence. Unless\nthe syntax is explicitly given, operators are binary. Operators in\nthe same box group left to right (except for exponentiation, which\ngroups from right to left).\n\nNote that comparisons, membership tests, and identity tests, all have\nthe same precedence and have a left-to-right chaining feature as\ndescribed in the *Comparisons* section.\n\n+-------------------------------------------------+---------------------------------------+\n| Operator | Description |\n+=================================================+=======================================+\n| "lambda" | Lambda expression |\n+-------------------------------------------------+---------------------------------------+\n| "if" -- "else" | Conditional expression |\n+-------------------------------------------------+---------------------------------------+\n| "or" | Boolean OR |\n+-------------------------------------------------+---------------------------------------+\n| "and" | Boolean AND |\n+-------------------------------------------------+---------------------------------------+\n| "not" "x" | Boolean NOT |\n+-------------------------------------------------+---------------------------------------+\n| "in", "not in", "is", "is not", "<", "<=", ">", | Comparisons, including membership |\n| ">=", "!=", "==" | tests and identity tests |\n+-------------------------------------------------+---------------------------------------+\n| "|" | Bitwise OR |\n+-------------------------------------------------+---------------------------------------+\n| "^" | Bitwise XOR |\n+-------------------------------------------------+---------------------------------------+\n| "&" | Bitwise AND |\n+-------------------------------------------------+---------------------------------------+\n| "<<", ">>" | Shifts |\n+-------------------------------------------------+---------------------------------------+\n| "+", "-" | Addition and subtraction |\n+-------------------------------------------------+---------------------------------------+\n| "*", "@", "/", "//", "%" | Multiplication, matrix multiplication |\n| | division, remainder [5] |\n+-------------------------------------------------+---------------------------------------+\n| "+x", "-x", "~x" | Positive, negative, bitwise NOT |\n+-------------------------------------------------+---------------------------------------+\n| "**" | Exponentiation [6] |\n+-------------------------------------------------+---------------------------------------+\n| "await" "x" | Await expression |\n+-------------------------------------------------+---------------------------------------+\n| "x[index]", "x[index:index]", | Subscription, slicing, call, |\n| "x(arguments...)", "x.attribute" | attribute reference |\n+-------------------------------------------------+---------------------------------------+\n| "(expressions...)", "[expressions...]", "{key: | Binding or tuple display, list |\n| value...}", "{expressions...}" | display, dictionary display, set |\n| | display |\n+-------------------------------------------------+---------------------------------------+\n\n-[ Footnotes ]-\n\n[1] While "abs(x%y) < abs(y)" is true mathematically, for floats\n it may not be true numerically due to roundoff. For example, and\n assuming a platform on which a Python float is an IEEE 754 double-\n precision number, in order that "-1e-100 % 1e100" have the same\n sign as "1e100", the computed result is "-1e-100 + 1e100", which\n is numerically exactly equal to "1e100". The function\n "math.fmod()" returns a result whose sign matches the sign of the\n first argument instead, and so returns "-1e-100" in this case.\n Which approach is more appropriate depends on the application.\n\n[2] If x is very close to an exact integer multiple of y, it\'s\n possible for "x//y" to be one larger than "(x-x%y)//y" due to\n rounding. In such cases, Python returns the latter result, in\n order to preserve that "divmod(x,y)[0] * y + x % y" be very close\n to "x".\n\n[3] The Unicode standard distinguishes between *code points* (e.g.\n U+0041) and *abstract characters* (e.g. "LATIN CAPITAL LETTER A").\n While most abstract characters in Unicode are only represented\n using one code point, there is a number of abstract characters\n that can in addition be represented using a sequence of more than\n one code point. For example, the abstract character "LATIN\n CAPITAL LETTER C WITH CEDILLA" can be represented as a single\n *precomposed character* at code position U+00C7, or as a sequence\n of a *base character* at code position U+0043 (LATIN CAPITAL\n LETTER C), followed by a *combining character* at code position\n U+0327 (COMBINING CEDILLA).\n\n The comparison operators on strings compare at the level of\n Unicode code points. This may be counter-intuitive to humans. For\n example, ""\\u00C7" == "\\u0043\\u0327"" is "False", even though both\n strings represent the same abstract character "LATIN CAPITAL\n LETTER C WITH CEDILLA".\n\n To compare strings at the level of abstract characters (that is,\n in a way intuitive to humans), use "unicodedata.normalize()".\n\n[4] Due to automatic garbage-collection, free lists, and the\n dynamic nature of descriptors, you may notice seemingly unusual\n behaviour in certain uses of the "is" operator, like those\n involving comparisons between instance methods, or constants.\n Check their documentation for more info.\n\n[5] The "%" operator is also used for string formatting; the same\n precedence applies.\n\n[6] The power operator "**" binds less tightly than an arithmetic\n or bitwise unary operator on its right, that is, "2**-1" is "0.5".\n', + 'pass': u'\nThe "pass" statement\n********************\n\n pass_stmt ::= "pass"\n\n"pass" is a null operation --- when it is executed, nothing happens.\nIt is useful as a placeholder when a statement is required\nsyntactically, but no code needs to be executed, for example:\n\n def f(arg): pass # a function that does nothing (yet)\n\n class C: pass # a class with no methods (yet)\n', + 'power': u'\nThe power operator\n******************\n\nThe power operator binds more tightly than unary operators on its\nleft; it binds less tightly than unary operators on its right. The\nsyntax is:\n\n power ::= ( await_expr | primary ) ["**" u_expr]\n\nThus, in an unparenthesized sequence of power and unary operators, the\noperators are evaluated from right to left (this does not constrain\nthe evaluation order for the operands): "-1**2" results in "-1".\n\nThe power operator has the same semantics as the built-in "pow()"\nfunction, when called with two arguments: it yields its left argument\nraised to the power of its right argument. The numeric arguments are\nfirst converted to a common type, and the result is of that type.\n\nFor int operands, the result has the same type as the operands unless\nthe second argument is negative; in that case, all arguments are\nconverted to float and a float result is delivered. For example,\n"10**2" returns "100", but "10**-2" returns "0.01".\n\nRaising "0.0" to a negative power results in a "ZeroDivisionError".\nRaising a negative number to a fractional power results in a "complex"\nnumber. (In earlier versions it raised a "ValueError".)\n', + 'raise': u'\nThe "raise" statement\n*********************\n\n raise_stmt ::= "raise" [expression ["from" expression]]\n\nIf no expressions are present, "raise" re-raises the last exception\nthat was active in the current scope. If no exception is active in\nthe current scope, a "RuntimeError" exception is raised indicating\nthat this is an error.\n\nOtherwise, "raise" evaluates the first expression as the exception\nobject. It must be either a subclass or an instance of\n"BaseException". If it is a class, the exception instance will be\nobtained when needed by instantiating the class with no arguments.\n\nThe *type* of the exception is the exception instance\'s class, the\n*value* is the instance itself.\n\nA traceback object is normally created automatically when an exception\nis raised and attached to it as the "__traceback__" attribute, which\nis writable. You can create an exception and set your own traceback in\none step using the "with_traceback()" exception method (which returns\nthe same exception instance, with its traceback set to its argument),\nlike so:\n\n raise Exception("foo occurred").with_traceback(tracebackobj)\n\nThe "from" clause is used for exception chaining: if given, the second\n*expression* must be another exception class or instance, which will\nthen be attached to the raised exception as the "__cause__" attribute\n(which is writable). If the raised exception is not handled, both\nexceptions will be printed:\n\n >>> try:\n ... print(1 / 0)\n ... except Exception as exc:\n ... raise RuntimeError("Something bad happened") from exc\n ...\n Traceback (most recent call last):\n File "", line 2, in \n ZeroDivisionError: int division or modulo by zero\n\n The above exception was the direct cause of the following exception:\n\n Traceback (most recent call last):\n File "", line 4, in \n RuntimeError: Something bad happened\n\nA similar mechanism works implicitly if an exception is raised inside\nan exception handler or a "finally" clause: the previous exception is\nthen attached as the new exception\'s "__context__" attribute:\n\n >>> try:\n ... print(1 / 0)\n ... except:\n ... raise RuntimeError("Something bad happened")\n ...\n Traceback (most recent call last):\n File "", line 2, in \n ZeroDivisionError: int division or modulo by zero\n\n During handling of the above exception, another exception occurred:\n\n Traceback (most recent call last):\n File "", line 4, in \n RuntimeError: Something bad happened\n\nAdditional information on exceptions can be found in section\n*Exceptions*, and information about handling exceptions is in section\n*The try statement*.\n', + 'return': u'\nThe "return" statement\n**********************\n\n return_stmt ::= "return" [expression_list]\n\n"return" may only occur syntactically nested in a function definition,\nnot within a nested class definition.\n\nIf an expression list is present, it is evaluated, else "None" is\nsubstituted.\n\n"return" leaves the current function call with the expression list (or\n"None") as return value.\n\nWhen "return" passes control out of a "try" statement with a "finally"\nclause, that "finally" clause is executed before really leaving the\nfunction.\n\nIn a generator function, the "return" statement indicates that the\ngenerator is done and will cause "StopIteration" to be raised. The\nreturned value (if any) is used as an argument to construct\n"StopIteration" and becomes the "StopIteration.value" attribute.\n', + 'sequence-types': u'\nEmulating container types\n*************************\n\nThe following methods can be defined to implement container objects.\nContainers usually are sequences (such as lists or tuples) or mappings\n(like dictionaries), but can represent other containers as well. The\nfirst set of methods is used either to emulate a sequence or to\nemulate a mapping; the difference is that for a sequence, the\nallowable keys should be the integers *k* for which "0 <= k < N" where\n*N* is the length of the sequence, or slice objects, which define a\nrange of items. It is also recommended that mappings provide the\nmethods "keys()", "values()", "items()", "get()", "clear()",\n"setdefault()", "pop()", "popitem()", "copy()", and "update()"\nbehaving similar to those for Python\'s standard dictionary objects.\nThe "collections" module provides a "MutableMapping" abstract base\nclass to help create those methods from a base set of "__getitem__()",\n"__setitem__()", "__delitem__()", and "keys()". Mutable sequences\nshould provide methods "append()", "count()", "index()", "extend()",\n"insert()", "pop()", "remove()", "reverse()" and "sort()", like Python\nstandard list objects. Finally, sequence types should implement\naddition (meaning concatenation) and multiplication (meaning\nrepetition) by defining the methods "__add__()", "__radd__()",\n"__iadd__()", "__mul__()", "__rmul__()" and "__imul__()" described\nbelow; they should not define other numerical operators. It is\nrecommended that both mappings and sequences implement the\n"__contains__()" method to allow efficient use of the "in" operator;\nfor mappings, "in" should search the mapping\'s keys; for sequences, it\nshould search through the values. It is further recommended that both\nmappings and sequences implement the "__iter__()" method to allow\nefficient iteration through the container; for mappings, "__iter__()"\nshould be the same as "keys()"; for sequences, it should iterate\nthrough the values.\n\nobject.__len__(self)\n\n Called to implement the built-in function "len()". Should return\n the length of the object, an integer ">=" 0. Also, an object that\n doesn\'t define a "__bool__()" method and whose "__len__()" method\n returns zero is considered to be false in a Boolean context.\n\nobject.__length_hint__(self)\n\n Called to implement "operator.length_hint()". Should return an\n estimated length for the object (which may be greater or less than\n the actual length). The length must be an integer ">=" 0. This\n method is purely an optimization and is never required for\n correctness.\n\n New in version 3.4.\n\nNote: Slicing is done exclusively with the following three methods.\n A call like\n\n a[1:2] = b\n\n is translated to\n\n a[slice(1, 2, None)] = b\n\n and so forth. Missing slice items are always filled in with "None".\n\nobject.__getitem__(self, key)\n\n Called to implement evaluation of "self[key]". For sequence types,\n the accepted keys should be integers and slice objects. Note that\n the special interpretation of negative indexes (if the class wishes\n to emulate a sequence type) is up to the "__getitem__()" method. If\n *key* is of an inappropriate type, "TypeError" may be raised; if of\n a value outside the set of indexes for the sequence (after any\n special interpretation of negative values), "IndexError" should be\n raised. For mapping types, if *key* is missing (not in the\n container), "KeyError" should be raised.\n\n Note: "for" loops expect that an "IndexError" will be raised for\n illegal indexes to allow proper detection of the end of the\n sequence.\n\nobject.__missing__(self, key)\n\n Called by "dict"."__getitem__()" to implement "self[key]" for dict\n subclasses when key is not in the dictionary.\n\nobject.__setitem__(self, key, value)\n\n Called to implement assignment to "self[key]". Same note as for\n "__getitem__()". This should only be implemented for mappings if\n the objects support changes to the values for keys, or if new keys\n can be added, or for sequences if elements can be replaced. The\n same exceptions should be raised for improper *key* values as for\n the "__getitem__()" method.\n\nobject.__delitem__(self, key)\n\n Called to implement deletion of "self[key]". Same note as for\n "__getitem__()". This should only be implemented for mappings if\n the objects support removal of keys, or for sequences if elements\n can be removed from the sequence. The same exceptions should be\n raised for improper *key* values as for the "__getitem__()" method.\n\nobject.__iter__(self)\n\n This method is called when an iterator is required for a container.\n This method should return a new iterator object that can iterate\n over all the objects in the container. For mappings, it should\n iterate over the keys of the container.\n\n Iterator objects also need to implement this method; they are\n required to return themselves. For more information on iterator\n objects, see *Iterator Types*.\n\nobject.__reversed__(self)\n\n Called (if present) by the "reversed()" built-in to implement\n reverse iteration. It should return a new iterator object that\n iterates over all the objects in the container in reverse order.\n\n If the "__reversed__()" method is not provided, the "reversed()"\n built-in will fall back to using the sequence protocol ("__len__()"\n and "__getitem__()"). Objects that support the sequence protocol\n should only provide "__reversed__()" if they can provide an\n implementation that is more efficient than the one provided by\n "reversed()".\n\nThe membership test operators ("in" and "not in") are normally\nimplemented as an iteration through a sequence. However, container\nobjects can supply the following special method with a more efficient\nimplementation, which also does not require the object be a sequence.\n\nobject.__contains__(self, item)\n\n Called to implement membership test operators. Should return true\n if *item* is in *self*, false otherwise. For mapping objects, this\n should consider the keys of the mapping rather than the values or\n the key-item pairs.\n\n For objects that don\'t define "__contains__()", the membership test\n first tries iteration via "__iter__()", then the old sequence\n iteration protocol via "__getitem__()", see *this section in the\n language reference*.\n', + 'shifting': u'\nShifting operations\n*******************\n\nThe shifting operations have lower priority than the arithmetic\noperations:\n\n shift_expr ::= a_expr | shift_expr ( "<<" | ">>" ) a_expr\n\nThese operators accept integers as arguments. They shift the first\nargument to the left or right by the number of bits given by the\nsecond argument.\n\nA right shift by *n* bits is defined as floor division by "pow(2,n)".\nA left shift by *n* bits is defined as multiplication with "pow(2,n)".\n\nNote: In the current implementation, the right-hand operand is\n required to be at most "sys.maxsize". If the right-hand operand is\n larger than "sys.maxsize" an "OverflowError" exception is raised.\n', + 'slicings': u'\nSlicings\n********\n\nA slicing selects a range of items in a sequence object (e.g., a\nstring, tuple or list). Slicings may be used as expressions or as\ntargets in assignment or "del" statements. The syntax for a slicing:\n\n slicing ::= primary "[" slice_list "]"\n slice_list ::= slice_item ("," slice_item)* [","]\n slice_item ::= expression | proper_slice\n proper_slice ::= [lower_bound] ":" [upper_bound] [ ":" [stride] ]\n lower_bound ::= expression\n upper_bound ::= expression\n stride ::= expression\n\nThere is ambiguity in the formal syntax here: anything that looks like\nan expression list also looks like a slice list, so any subscription\ncan be interpreted as a slicing. Rather than further complicating the\nsyntax, this is disambiguated by defining that in this case the\ninterpretation as a subscription takes priority over the\ninterpretation as a slicing (this is the case if the slice list\ncontains no proper slice).\n\nThe semantics for a slicing are as follows. The primary is indexed\n(using the same "__getitem__()" method as normal subscription) with a\nkey that is constructed from the slice list, as follows. If the slice\nlist contains at least one comma, the key is a tuple containing the\nconversion of the slice items; otherwise, the conversion of the lone\nslice item is the key. The conversion of a slice item that is an\nexpression is that expression. The conversion of a proper slice is a\nslice object (see section *The standard type hierarchy*) whose\n"start", "stop" and "step" attributes are the values of the\nexpressions given as lower bound, upper bound and stride,\nrespectively, substituting "None" for missing expressions.\n', + 'specialattrs': u'\nSpecial Attributes\n******************\n\nThe implementation adds a few special read-only attributes to several\nobject types, where they are relevant. Some of these are not reported\nby the "dir()" built-in function.\n\nobject.__dict__\n\n A dictionary or other mapping object used to store an object\'s\n (writable) attributes.\n\ninstance.__class__\n\n The class to which a class instance belongs.\n\nclass.__bases__\n\n The tuple of base classes of a class object.\n\nclass.__name__\n\n The name of the class or type.\n\nclass.__qualname__\n\n The *qualified name* of the class or type.\n\n New in version 3.3.\n\nclass.__mro__\n\n This attribute is a tuple of classes that are considered when\n looking for base classes during method resolution.\n\nclass.mro()\n\n This method can be overridden by a metaclass to customize the\n method resolution order for its instances. It is called at class\n instantiation, and its result is stored in "__mro__".\n\nclass.__subclasses__()\n\n Each class keeps a list of weak references to its immediate\n subclasses. This method returns a list of all those references\n still alive. Example:\n\n >>> int.__subclasses__()\n []\n\n-[ Footnotes ]-\n\n[1] Additional information on these special methods may be found\n in the Python Reference Manual (*Basic customization*).\n\n[2] As a consequence, the list "[1, 2]" is considered equal to\n "[1.0, 2.0]", and similarly for tuples.\n\n[3] They must have since the parser can\'t tell the type of the\n operands.\n\n[4] Cased characters are those with general category property\n being one of "Lu" (Letter, uppercase), "Ll" (Letter, lowercase),\n or "Lt" (Letter, titlecase).\n\n[5] To format only a tuple you should therefore provide a\n singleton tuple whose only element is the tuple to be formatted.\n', + 'specialnames': u'\nSpecial method names\n********************\n\nA class can implement certain operations that are invoked by special\nsyntax (such as arithmetic operations or subscripting and slicing) by\ndefining methods with special names. This is Python\'s approach to\n*operator overloading*, allowing classes to define their own behavior\nwith respect to language operators. For instance, if a class defines\na method named "__getitem__()", and "x" is an instance of this class,\nthen "x[i]" is roughly equivalent to "type(x).__getitem__(x, i)".\nExcept where mentioned, attempts to execute an operation raise an\nexception when no appropriate method is defined (typically\n"AttributeError" or "TypeError").\n\nWhen implementing a class that emulates any built-in type, it is\nimportant that the emulation only be implemented to the degree that it\nmakes sense for the object being modelled. For example, some\nsequences may work well with retrieval of individual elements, but\nextracting a slice may not make sense. (One example of this is the\n"NodeList" interface in the W3C\'s Document Object Model.)\n\n\nBasic customization\n===================\n\nobject.__new__(cls[, ...])\n\n Called to create a new instance of class *cls*. "__new__()" is a\n static method (special-cased so you need not declare it as such)\n that takes the class of which an instance was requested as its\n first argument. The remaining arguments are those passed to the\n object constructor expression (the call to the class). The return\n value of "__new__()" should be the new object instance (usually an\n instance of *cls*).\n\n Typical implementations create a new instance of the class by\n invoking the superclass\'s "__new__()" method using\n "super(currentclass, cls).__new__(cls[, ...])" with appropriate\n arguments and then modifying the newly-created instance as\n necessary before returning it.\n\n If "__new__()" returns an instance of *cls*, then the new\n instance\'s "__init__()" method will be invoked like\n "__init__(self[, ...])", where *self* is the new instance and the\n remaining arguments are the same as were passed to "__new__()".\n\n If "__new__()" does not return an instance of *cls*, then the new\n instance\'s "__init__()" method will not be invoked.\n\n "__new__()" is intended mainly to allow subclasses of immutable\n types (like int, str, or tuple) to customize instance creation. It\n is also commonly overridden in custom metaclasses in order to\n customize class creation.\n\nobject.__init__(self[, ...])\n\n Called after the instance has been created (by "__new__()"), but\n before it is returned to the caller. The arguments are those\n passed to the class constructor expression. If a base class has an\n "__init__()" method, the derived class\'s "__init__()" method, if\n any, must explicitly call it to ensure proper initialization of the\n base class part of the instance; for example:\n "BaseClass.__init__(self, [args...])".\n\n Because "__new__()" and "__init__()" work together in constructing\n objects ("__new__()" to create it, and "__init__()" to customise\n it), no non-"None" value may be returned by "__init__()"; doing so\n will cause a "TypeError" to be raised at runtime.\n\nobject.__del__(self)\n\n Called when the instance is about to be destroyed. This is also\n called a destructor. If a base class has a "__del__()" method, the\n derived class\'s "__del__()" method, if any, must explicitly call it\n to ensure proper deletion of the base class part of the instance.\n Note that it is possible (though not recommended!) for the\n "__del__()" method to postpone destruction of the instance by\n creating a new reference to it. It may then be called at a later\n time when this new reference is deleted. It is not guaranteed that\n "__del__()" methods are called for objects that still exist when\n the interpreter exits.\n\n Note: "del x" doesn\'t directly call "x.__del__()" --- the former\n decrements the reference count for "x" by one, and the latter is\n only called when "x"\'s reference count reaches zero. Some common\n situations that may prevent the reference count of an object from\n going to zero include: circular references between objects (e.g.,\n a doubly-linked list or a tree data structure with parent and\n child pointers); a reference to the object on the stack frame of\n a function that caught an exception (the traceback stored in\n "sys.exc_info()[2]" keeps the stack frame alive); or a reference\n to the object on the stack frame that raised an unhandled\n exception in interactive mode (the traceback stored in\n "sys.last_traceback" keeps the stack frame alive). The first\n situation can only be remedied by explicitly breaking the cycles;\n the second can be resolved by freeing the reference to the\n traceback object when it is no longer useful, and the third can\n be resolved by storing "None" in "sys.last_traceback". Circular\n references which are garbage are detected and cleaned up when the\n cyclic garbage collector is enabled (it\'s on by default). Refer\n to the documentation for the "gc" module for more information\n about this topic.\n\n Warning: Due to the precarious circumstances under which\n "__del__()" methods are invoked, exceptions that occur during\n their execution are ignored, and a warning is printed to\n "sys.stderr" instead. Also, when "__del__()" is invoked in\n response to a module being deleted (e.g., when execution of the\n program is done), other globals referenced by the "__del__()"\n method may already have been deleted or in the process of being\n torn down (e.g. the import machinery shutting down). For this\n reason, "__del__()" methods should do the absolute minimum needed\n to maintain external invariants. Starting with version 1.5,\n Python guarantees that globals whose name begins with a single\n underscore are deleted from their module before other globals are\n deleted; if no other references to such globals exist, this may\n help in assuring that imported modules are still available at the\n time when the "__del__()" method is called.\n\nobject.__repr__(self)\n\n Called by the "repr()" built-in function to compute the "official"\n string representation of an object. If at all possible, this\n should look like a valid Python expression that could be used to\n recreate an object with the same value (given an appropriate\n environment). If this is not possible, a string of the form\n "<...some useful description...>" should be returned. The return\n value must be a string object. If a class defines "__repr__()" but\n not "__str__()", then "__repr__()" is also used when an "informal"\n string representation of instances of that class is required.\n\n This is typically used for debugging, so it is important that the\n representation is information-rich and unambiguous.\n\nobject.__str__(self)\n\n Called by "str(object)" and the built-in functions "format()" and\n "print()" to compute the "informal" or nicely printable string\n representation of an object. The return value must be a *string*\n object.\n\n This method differs from "object.__repr__()" in that there is no\n expectation that "__str__()" return a valid Python expression: a\n more convenient or concise representation can be used.\n\n The default implementation defined by the built-in type "object"\n calls "object.__repr__()".\n\nobject.__bytes__(self)\n\n Called by "bytes()" to compute a byte-string representation of an\n object. This should return a "bytes" object.\n\nobject.__format__(self, format_spec)\n\n Called by the "format()" built-in function (and by extension, the\n "str.format()" method of class "str") to produce a "formatted"\n string representation of an object. The "format_spec" argument is a\n string that contains a description of the formatting options\n desired. The interpretation of the "format_spec" argument is up to\n the type implementing "__format__()", however most classes will\n either delegate formatting to one of the built-in types, or use a\n similar formatting option syntax.\n\n See *Format Specification Mini-Language* for a description of the\n standard formatting syntax.\n\n The return value must be a string object.\n\n Changed in version 3.4: The __format__ method of "object" itself\n raises a "TypeError" if passed any non-empty string.\n\nobject.__lt__(self, other)\nobject.__le__(self, other)\nobject.__eq__(self, other)\nobject.__ne__(self, other)\nobject.__gt__(self, other)\nobject.__ge__(self, other)\n\n These are the so-called "rich comparison" methods. The\n correspondence between operator symbols and method names is as\n follows: "xy" calls\n "x.__gt__(y)", and "x>=y" calls "x.__ge__(y)".\n\n A rich comparison method may return the singleton "NotImplemented"\n if it does not implement the operation for a given pair of\n arguments. By convention, "False" and "True" are returned for a\n successful comparison. However, these methods can return any value,\n so if the comparison operator is used in a Boolean context (e.g.,\n in the condition of an "if" statement), Python will call "bool()"\n on the value to determine if the result is true or false.\n\n By default, "__ne__()" delegates to "__eq__()" and inverts the\n result unless it is "NotImplemented". There are no other implied\n relationships among the comparison operators, for example, the\n truth of "(x.__hash__".\n\n If a class that does not override "__eq__()" wishes to suppress\n hash support, it should include "__hash__ = None" in the class\n definition. A class which defines its own "__hash__()" that\n explicitly raises a "TypeError" would be incorrectly identified as\n hashable by an "isinstance(obj, collections.Hashable)" call.\n\n Note: By default, the "__hash__()" values of str, bytes and\n datetime objects are "salted" with an unpredictable random value.\n Although they remain constant within an individual Python\n process, they are not predictable between repeated invocations of\n Python.This is intended to provide protection against a denial-\n of-service caused by carefully-chosen inputs that exploit the\n worst case performance of a dict insertion, O(n^2) complexity.\n See http://www.ocert.org/advisories/ocert-2011-003.html for\n details.Changing hash values affects the iteration order of\n dicts, sets and other mappings. Python has never made guarantees\n about this ordering (and it typically varies between 32-bit and\n 64-bit builds).See also "PYTHONHASHSEED".\n\n Changed in version 3.3: Hash randomization is enabled by default.\n\nobject.__bool__(self)\n\n Called to implement truth value testing and the built-in operation\n "bool()"; should return "False" or "True". When this method is not\n defined, "__len__()" is called, if it is defined, and the object is\n considered true if its result is nonzero. If a class defines\n neither "__len__()" nor "__bool__()", all its instances are\n considered true.\n\n\nCustomizing attribute access\n============================\n\nThe following methods can be defined to customize the meaning of\nattribute access (use of, assignment to, or deletion of "x.name") for\nclass instances.\n\nobject.__getattr__(self, name)\n\n Called when an attribute lookup has not found the attribute in the\n usual places (i.e. it is not an instance attribute nor is it found\n in the class tree for "self"). "name" is the attribute name. This\n method should return the (computed) attribute value or raise an\n "AttributeError" exception.\n\n Note that if the attribute is found through the normal mechanism,\n "__getattr__()" is not called. (This is an intentional asymmetry\n between "__getattr__()" and "__setattr__()".) This is done both for\n efficiency reasons and because otherwise "__getattr__()" would have\n no way to access other attributes of the instance. Note that at\n least for instance variables, you can fake total control by not\n inserting any values in the instance attribute dictionary (but\n instead inserting them in another object). See the\n "__getattribute__()" method below for a way to actually get total\n control over attribute access.\n\nobject.__getattribute__(self, name)\n\n Called unconditionally to implement attribute accesses for\n instances of the class. If the class also defines "__getattr__()",\n the latter will not be called unless "__getattribute__()" either\n calls it explicitly or raises an "AttributeError". This method\n should return the (computed) attribute value or raise an\n "AttributeError" exception. In order to avoid infinite recursion in\n this method, its implementation should always call the base class\n method with the same name to access any attributes it needs, for\n example, "object.__getattribute__(self, name)".\n\n Note: This method may still be bypassed when looking up special\n methods as the result of implicit invocation via language syntax\n or built-in functions. See *Special method lookup*.\n\nobject.__setattr__(self, name, value)\n\n Called when an attribute assignment is attempted. This is called\n instead of the normal mechanism (i.e. store the value in the\n instance dictionary). *name* is the attribute name, *value* is the\n value to be assigned to it.\n\n If "__setattr__()" wants to assign to an instance attribute, it\n should call the base class method with the same name, for example,\n "object.__setattr__(self, name, value)".\n\nobject.__delattr__(self, name)\n\n Like "__setattr__()" but for attribute deletion instead of\n assignment. This should only be implemented if "del obj.name" is\n meaningful for the object.\n\nobject.__dir__(self)\n\n Called when "dir()" is called on the object. A sequence must be\n returned. "dir()" converts the returned sequence to a list and\n sorts it.\n\n\nImplementing Descriptors\n------------------------\n\nThe following methods only apply when an instance of the class\ncontaining the method (a so-called *descriptor* class) appears in an\n*owner* class (the descriptor must be in either the owner\'s class\ndictionary or in the class dictionary for one of its parents). In the\nexamples below, "the attribute" refers to the attribute whose name is\nthe key of the property in the owner class\' "__dict__".\n\nobject.__get__(self, instance, owner)\n\n Called to get the attribute of the owner class (class attribute\n access) or of an instance of that class (instance attribute\n access). *owner* is always the owner class, while *instance* is the\n instance that the attribute was accessed through, or "None" when\n the attribute is accessed through the *owner*. This method should\n return the (computed) attribute value or raise an "AttributeError"\n exception.\n\nobject.__set__(self, instance, value)\n\n Called to set the attribute on an instance *instance* of the owner\n class to a new value, *value*.\n\nobject.__delete__(self, instance)\n\n Called to delete the attribute on an instance *instance* of the\n owner class.\n\nThe attribute "__objclass__" is interpreted by the "inspect" module as\nspecifying the class where this object was defined (setting this\nappropriately can assist in runtime introspection of dynamic class\nattributes). For callables, it may indicate that an instance of the\ngiven type (or a subclass) is expected or required as the first\npositional argument (for example, CPython sets this attribute for\nunbound methods that are implemented in C).\n\n\nInvoking Descriptors\n--------------------\n\nIn general, a descriptor is an object attribute with "binding\nbehavior", one whose attribute access has been overridden by methods\nin the descriptor protocol: "__get__()", "__set__()", and\n"__delete__()". If any of those methods are defined for an object, it\nis said to be a descriptor.\n\nThe default behavior for attribute access is to get, set, or delete\nthe attribute from an object\'s dictionary. For instance, "a.x" has a\nlookup chain starting with "a.__dict__[\'x\']", then\n"type(a).__dict__[\'x\']", and continuing through the base classes of\n"type(a)" excluding metaclasses.\n\nHowever, if the looked-up value is an object defining one of the\ndescriptor methods, then Python may override the default behavior and\ninvoke the descriptor method instead. Where this occurs in the\nprecedence chain depends on which descriptor methods were defined and\nhow they were called.\n\nThe starting point for descriptor invocation is a binding, "a.x". How\nthe arguments are assembled depends on "a":\n\nDirect Call\n The simplest and least common call is when user code directly\n invokes a descriptor method: "x.__get__(a)".\n\nInstance Binding\n If binding to an object instance, "a.x" is transformed into the\n call: "type(a).__dict__[\'x\'].__get__(a, type(a))".\n\nClass Binding\n If binding to a class, "A.x" is transformed into the call:\n "A.__dict__[\'x\'].__get__(None, A)".\n\nSuper Binding\n If "a" is an instance of "super", then the binding "super(B,\n obj).m()" searches "obj.__class__.__mro__" for the base class "A"\n immediately preceding "B" and then invokes the descriptor with the\n call: "A.__dict__[\'m\'].__get__(obj, obj.__class__)".\n\nFor instance bindings, the precedence of descriptor invocation depends\non the which descriptor methods are defined. A descriptor can define\nany combination of "__get__()", "__set__()" and "__delete__()". If it\ndoes not define "__get__()", then accessing the attribute will return\nthe descriptor object itself unless there is a value in the object\'s\ninstance dictionary. If the descriptor defines "__set__()" and/or\n"__delete__()", it is a data descriptor; if it defines neither, it is\na non-data descriptor. Normally, data descriptors define both\n"__get__()" and "__set__()", while non-data descriptors have just the\n"__get__()" method. Data descriptors with "__set__()" and "__get__()"\ndefined always override a redefinition in an instance dictionary. In\ncontrast, non-data descriptors can be overridden by instances.\n\nPython methods (including "staticmethod()" and "classmethod()") are\nimplemented as non-data descriptors. Accordingly, instances can\nredefine and override methods. This allows individual instances to\nacquire behaviors that differ from other instances of the same class.\n\nThe "property()" function is implemented as a data descriptor.\nAccordingly, instances cannot override the behavior of a property.\n\n\n__slots__\n---------\n\nBy default, instances of classes have a dictionary for attribute\nstorage. This wastes space for objects having very few instance\nvariables. The space consumption can become acute when creating large\nnumbers of instances.\n\nThe default can be overridden by defining *__slots__* in a class\ndefinition. The *__slots__* declaration takes a sequence of instance\nvariables and reserves just enough space in each instance to hold a\nvalue for each variable. Space is saved because *__dict__* is not\ncreated for each instance.\n\nobject.__slots__\n\n This class variable can be assigned a string, iterable, or sequence\n of strings with variable names used by instances. *__slots__*\n reserves space for the declared variables and prevents the\n automatic creation of *__dict__* and *__weakref__* for each\n instance.\n\n\nNotes on using *__slots__*\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n* When inheriting from a class without *__slots__*, the *__dict__*\n attribute of that class will always be accessible, so a *__slots__*\n definition in the subclass is meaningless.\n\n* Without a *__dict__* variable, instances cannot be assigned new\n variables not listed in the *__slots__* definition. Attempts to\n assign to an unlisted variable name raises "AttributeError". If\n dynamic assignment of new variables is desired, then add\n "\'__dict__\'" to the sequence of strings in the *__slots__*\n declaration.\n\n* Without a *__weakref__* variable for each instance, classes\n defining *__slots__* do not support weak references to its\n instances. If weak reference support is needed, then add\n "\'__weakref__\'" to the sequence of strings in the *__slots__*\n declaration.\n\n* *__slots__* are implemented at the class level by creating\n descriptors (*Implementing Descriptors*) for each variable name. As\n a result, class attributes cannot be used to set default values for\n instance variables defined by *__slots__*; otherwise, the class\n attribute would overwrite the descriptor assignment.\n\n* The action of a *__slots__* declaration is limited to the class\n where it is defined. As a result, subclasses will have a *__dict__*\n unless they also define *__slots__* (which must only contain names\n of any *additional* slots).\n\n* If a class defines a slot also defined in a base class, the\n instance variable defined by the base class slot is inaccessible\n (except by retrieving its descriptor directly from the base class).\n This renders the meaning of the program undefined. In the future, a\n check may be added to prevent this.\n\n* Nonempty *__slots__* does not work for classes derived from\n "variable-length" built-in types such as "int", "bytes" and "tuple".\n\n* Any non-string iterable may be assigned to *__slots__*. Mappings\n may also be used; however, in the future, special meaning may be\n assigned to the values corresponding to each key.\n\n* *__class__* assignment works only if both classes have the same\n *__slots__*.\n\n\nCustomizing class creation\n==========================\n\nBy default, classes are constructed using "type()". The class body is\nexecuted in a new namespace and the class name is bound locally to the\nresult of "type(name, bases, namespace)".\n\nThe class creation process can be customised by passing the\n"metaclass" keyword argument in the class definition line, or by\ninheriting from an existing class that included such an argument. In\nthe following example, both "MyClass" and "MySubclass" are instances\nof "Meta":\n\n class Meta(type):\n pass\n\n class MyClass(metaclass=Meta):\n pass\n\n class MySubclass(MyClass):\n pass\n\nAny other keyword arguments that are specified in the class definition\nare passed through to all metaclass operations described below.\n\nWhen a class definition is executed, the following steps occur:\n\n* the appropriate metaclass is determined\n\n* the class namespace is prepared\n\n* the class body is executed\n\n* the class object is created\n\n\nDetermining the appropriate metaclass\n-------------------------------------\n\nThe appropriate metaclass for a class definition is determined as\nfollows:\n\n* if no bases and no explicit metaclass are given, then "type()" is\n used\n\n* if an explicit metaclass is given and it is *not* an instance of\n "type()", then it is used directly as the metaclass\n\n* if an instance of "type()" is given as the explicit metaclass, or\n bases are defined, then the most derived metaclass is used\n\nThe most derived metaclass is selected from the explicitly specified\nmetaclass (if any) and the metaclasses (i.e. "type(cls)") of all\nspecified base classes. The most derived metaclass is one which is a\nsubtype of *all* of these candidate metaclasses. If none of the\ncandidate metaclasses meets that criterion, then the class definition\nwill fail with "TypeError".\n\n\nPreparing the class namespace\n-----------------------------\n\nOnce the appropriate metaclass has been identified, then the class\nnamespace is prepared. If the metaclass has a "__prepare__" attribute,\nit is called as "namespace = metaclass.__prepare__(name, bases,\n**kwds)" (where the additional keyword arguments, if any, come from\nthe class definition).\n\nIf the metaclass has no "__prepare__" attribute, then the class\nnamespace is initialised as an empty "dict()" instance.\n\nSee also: **PEP 3115** - Metaclasses in Python 3000\n\n Introduced the "__prepare__" namespace hook\n\n\nExecuting the class body\n------------------------\n\nThe class body is executed (approximately) as "exec(body, globals(),\nnamespace)". The key difference from a normal call to "exec()" is that\nlexical scoping allows the class body (including any methods) to\nreference names from the current and outer scopes when the class\ndefinition occurs inside a function.\n\nHowever, even when the class definition occurs inside the function,\nmethods defined inside the class still cannot see names defined at the\nclass scope. Class variables must be accessed through the first\nparameter of instance or class methods, and cannot be accessed at all\nfrom static methods.\n\n\nCreating the class object\n-------------------------\n\nOnce the class namespace has been populated by executing the class\nbody, the class object is created by calling "metaclass(name, bases,\nnamespace, **kwds)" (the additional keywords passed here are the same\nas those passed to "__prepare__").\n\nThis class object is the one that will be referenced by the zero-\nargument form of "super()". "__class__" is an implicit closure\nreference created by the compiler if any methods in a class body refer\nto either "__class__" or "super". This allows the zero argument form\nof "super()" to correctly identify the class being defined based on\nlexical scoping, while the class or instance that was used to make the\ncurrent call is identified based on the first argument passed to the\nmethod.\n\nAfter the class object is created, it is passed to the class\ndecorators included in the class definition (if any) and the resulting\nobject is bound in the local namespace as the defined class.\n\nWhen a new class is created by "type.__new__", the object provided as\nthe namespace parameter is copied to a standard Python dictionary and\nthe original object is discarded. The new copy becomes the "__dict__"\nattribute of the class object.\n\nSee also: **PEP 3135** - New super\n\n Describes the implicit "__class__" closure reference\n\n\nMetaclass example\n-----------------\n\nThe potential uses for metaclasses are boundless. Some ideas that have\nbeen explored include logging, interface checking, automatic\ndelegation, automatic property creation, proxies, frameworks, and\nautomatic resource locking/synchronization.\n\nHere is an example of a metaclass that uses an\n"collections.OrderedDict" to remember the order that class variables\nare defined:\n\n class OrderedClass(type):\n\n @classmethod\n def __prepare__(metacls, name, bases, **kwds):\n return collections.OrderedDict()\n\n def __new__(cls, name, bases, namespace, **kwds):\n result = type.__new__(cls, name, bases, dict(namespace))\n result.members = tuple(namespace)\n return result\n\n class A(metaclass=OrderedClass):\n def one(self): pass\n def two(self): pass\n def three(self): pass\n def four(self): pass\n\n >>> A.members\n (\'__module__\', \'one\', \'two\', \'three\', \'four\')\n\nWhen the class definition for *A* gets executed, the process begins\nwith calling the metaclass\'s "__prepare__()" method which returns an\nempty "collections.OrderedDict". That mapping records the methods and\nattributes of *A* as they are defined within the body of the class\nstatement. Once those definitions are executed, the ordered dictionary\nis fully populated and the metaclass\'s "__new__()" method gets\ninvoked. That method builds the new type and it saves the ordered\ndictionary keys in an attribute called "members".\n\n\nCustomizing instance and subclass checks\n========================================\n\nThe following methods are used to override the default behavior of the\n"isinstance()" and "issubclass()" built-in functions.\n\nIn particular, the metaclass "abc.ABCMeta" implements these methods in\norder to allow the addition of Abstract Base Classes (ABCs) as\n"virtual base classes" to any class or type (including built-in\ntypes), including other ABCs.\n\nclass.__instancecheck__(self, instance)\n\n Return true if *instance* should be considered a (direct or\n indirect) instance of *class*. If defined, called to implement\n "isinstance(instance, class)".\n\nclass.__subclasscheck__(self, subclass)\n\n Return true if *subclass* should be considered a (direct or\n indirect) subclass of *class*. If defined, called to implement\n "issubclass(subclass, class)".\n\nNote that these methods are looked up on the type (metaclass) of a\nclass. They cannot be defined as class methods in the actual class.\nThis is consistent with the lookup of special methods that are called\non instances, only in this case the instance is itself a class.\n\nSee also: **PEP 3119** - Introducing Abstract Base Classes\n\n Includes the specification for customizing "isinstance()" and\n "issubclass()" behavior through "__instancecheck__()" and\n "__subclasscheck__()", with motivation for this functionality in\n the context of adding Abstract Base Classes (see the "abc"\n module) to the language.\n\n\nEmulating callable objects\n==========================\n\nobject.__call__(self[, args...])\n\n Called when the instance is "called" as a function; if this method\n is defined, "x(arg1, arg2, ...)" is a shorthand for\n "x.__call__(arg1, arg2, ...)".\n\n\nEmulating container types\n=========================\n\nThe following methods can be defined to implement container objects.\nContainers usually are sequences (such as lists or tuples) or mappings\n(like dictionaries), but can represent other containers as well. The\nfirst set of methods is used either to emulate a sequence or to\nemulate a mapping; the difference is that for a sequence, the\nallowable keys should be the integers *k* for which "0 <= k < N" where\n*N* is the length of the sequence, or slice objects, which define a\nrange of items. It is also recommended that mappings provide the\nmethods "keys()", "values()", "items()", "get()", "clear()",\n"setdefault()", "pop()", "popitem()", "copy()", and "update()"\nbehaving similar to those for Python\'s standard dictionary objects.\nThe "collections" module provides a "MutableMapping" abstract base\nclass to help create those methods from a base set of "__getitem__()",\n"__setitem__()", "__delitem__()", and "keys()". Mutable sequences\nshould provide methods "append()", "count()", "index()", "extend()",\n"insert()", "pop()", "remove()", "reverse()" and "sort()", like Python\nstandard list objects. Finally, sequence types should implement\naddition (meaning concatenation) and multiplication (meaning\nrepetition) by defining the methods "__add__()", "__radd__()",\n"__iadd__()", "__mul__()", "__rmul__()" and "__imul__()" described\nbelow; they should not define other numerical operators. It is\nrecommended that both mappings and sequences implement the\n"__contains__()" method to allow efficient use of the "in" operator;\nfor mappings, "in" should search the mapping\'s keys; for sequences, it\nshould search through the values. It is further recommended that both\nmappings and sequences implement the "__iter__()" method to allow\nefficient iteration through the container; for mappings, "__iter__()"\nshould be the same as "keys()"; for sequences, it should iterate\nthrough the values.\n\nobject.__len__(self)\n\n Called to implement the built-in function "len()". Should return\n the length of the object, an integer ">=" 0. Also, an object that\n doesn\'t define a "__bool__()" method and whose "__len__()" method\n returns zero is considered to be false in a Boolean context.\n\nobject.__length_hint__(self)\n\n Called to implement "operator.length_hint()". Should return an\n estimated length for the object (which may be greater or less than\n the actual length). The length must be an integer ">=" 0. This\n method is purely an optimization and is never required for\n correctness.\n\n New in version 3.4.\n\nNote: Slicing is done exclusively with the following three methods.\n A call like\n\n a[1:2] = b\n\n is translated to\n\n a[slice(1, 2, None)] = b\n\n and so forth. Missing slice items are always filled in with "None".\n\nobject.__getitem__(self, key)\n\n Called to implement evaluation of "self[key]". For sequence types,\n the accepted keys should be integers and slice objects. Note that\n the special interpretation of negative indexes (if the class wishes\n to emulate a sequence type) is up to the "__getitem__()" method. If\n *key* is of an inappropriate type, "TypeError" may be raised; if of\n a value outside the set of indexes for the sequence (after any\n special interpretation of negative values), "IndexError" should be\n raised. For mapping types, if *key* is missing (not in the\n container), "KeyError" should be raised.\n\n Note: "for" loops expect that an "IndexError" will be raised for\n illegal indexes to allow proper detection of the end of the\n sequence.\n\nobject.__missing__(self, key)\n\n Called by "dict"."__getitem__()" to implement "self[key]" for dict\n subclasses when key is not in the dictionary.\n\nobject.__setitem__(self, key, value)\n\n Called to implement assignment to "self[key]". Same note as for\n "__getitem__()". This should only be implemented for mappings if\n the objects support changes to the values for keys, or if new keys\n can be added, or for sequences if elements can be replaced. The\n same exceptions should be raised for improper *key* values as for\n the "__getitem__()" method.\n\nobject.__delitem__(self, key)\n\n Called to implement deletion of "self[key]". Same note as for\n "__getitem__()". This should only be implemented for mappings if\n the objects support removal of keys, or for sequences if elements\n can be removed from the sequence. The same exceptions should be\n raised for improper *key* values as for the "__getitem__()" method.\n\nobject.__iter__(self)\n\n This method is called when an iterator is required for a container.\n This method should return a new iterator object that can iterate\n over all the objects in the container. For mappings, it should\n iterate over the keys of the container.\n\n Iterator objects also need to implement this method; they are\n required to return themselves. For more information on iterator\n objects, see *Iterator Types*.\n\nobject.__reversed__(self)\n\n Called (if present) by the "reversed()" built-in to implement\n reverse iteration. It should return a new iterator object that\n iterates over all the objects in the container in reverse order.\n\n If the "__reversed__()" method is not provided, the "reversed()"\n built-in will fall back to using the sequence protocol ("__len__()"\n and "__getitem__()"). Objects that support the sequence protocol\n should only provide "__reversed__()" if they can provide an\n implementation that is more efficient than the one provided by\n "reversed()".\n\nThe membership test operators ("in" and "not in") are normally\nimplemented as an iteration through a sequence. However, container\nobjects can supply the following special method with a more efficient\nimplementation, which also does not require the object be a sequence.\n\nobject.__contains__(self, item)\n\n Called to implement membership test operators. Should return true\n if *item* is in *self*, false otherwise. For mapping objects, this\n should consider the keys of the mapping rather than the values or\n the key-item pairs.\n\n For objects that don\'t define "__contains__()", the membership test\n first tries iteration via "__iter__()", then the old sequence\n iteration protocol via "__getitem__()", see *this section in the\n language reference*.\n\n\nEmulating numeric types\n=======================\n\nThe following methods can be defined to emulate numeric objects.\nMethods corresponding to operations that are not supported by the\nparticular kind of number implemented (e.g., bitwise operations for\nnon-integral numbers) should be left undefined.\n\nobject.__add__(self, other)\nobject.__sub__(self, other)\nobject.__mul__(self, other)\nobject.__matmul__(self, other)\nobject.__truediv__(self, other)\nobject.__floordiv__(self, other)\nobject.__mod__(self, other)\nobject.__divmod__(self, other)\nobject.__pow__(self, other[, modulo])\nobject.__lshift__(self, other)\nobject.__rshift__(self, other)\nobject.__and__(self, other)\nobject.__xor__(self, other)\nobject.__or__(self, other)\n\n These methods are called to implement the binary arithmetic\n operations ("+", "-", "*", "@", "/", "//", "%", "divmod()",\n "pow()", "**", "<<", ">>", "&", "^", "|"). For instance, to\n evaluate the expression "x + y", where *x* is an instance of a\n class that has an "__add__()" method, "x.__add__(y)" is called.\n The "__divmod__()" method should be the equivalent to using\n "__floordiv__()" and "__mod__()"; it should not be related to\n "__truediv__()". Note that "__pow__()" should be defined to accept\n an optional third argument if the ternary version of the built-in\n "pow()" function is to be supported.\n\n If one of those methods does not support the operation with the\n supplied arguments, it should return "NotImplemented".\n\nobject.__radd__(self, other)\nobject.__rsub__(self, other)\nobject.__rmul__(self, other)\nobject.__rmatmul__(self, other)\nobject.__rtruediv__(self, other)\nobject.__rfloordiv__(self, other)\nobject.__rmod__(self, other)\nobject.__rdivmod__(self, other)\nobject.__rpow__(self, other)\nobject.__rlshift__(self, other)\nobject.__rrshift__(self, other)\nobject.__rand__(self, other)\nobject.__rxor__(self, other)\nobject.__ror__(self, other)\n\n These methods are called to implement the binary arithmetic\n operations ("+", "-", "*", "@", "/", "//", "%", "divmod()",\n "pow()", "**", "<<", ">>", "&", "^", "|") with reflected (swapped)\n operands. These functions are only called if the left operand does\n not support the corresponding operation and the operands are of\n different types. [2] For instance, to evaluate the expression "x -\n y", where *y* is an instance of a class that has an "__rsub__()"\n method, "y.__rsub__(x)" is called if "x.__sub__(y)" returns\n *NotImplemented*.\n\n Note that ternary "pow()" will not try calling "__rpow__()" (the\n coercion rules would become too complicated).\n\n Note: If the right operand\'s type is a subclass of the left\n operand\'s type and that subclass provides the reflected method\n for the operation, this method will be called before the left\n operand\'s non-reflected method. This behavior allows subclasses\n to override their ancestors\' operations.\n\nobject.__iadd__(self, other)\nobject.__isub__(self, other)\nobject.__imul__(self, other)\nobject.__imatmul__(self, other)\nobject.__itruediv__(self, other)\nobject.__ifloordiv__(self, other)\nobject.__imod__(self, other)\nobject.__ipow__(self, other[, modulo])\nobject.__ilshift__(self, other)\nobject.__irshift__(self, other)\nobject.__iand__(self, other)\nobject.__ixor__(self, other)\nobject.__ior__(self, other)\n\n These methods are called to implement the augmented arithmetic\n assignments ("+=", "-=", "*=", "@=", "/=", "//=", "%=", "**=",\n "<<=", ">>=", "&=", "^=", "|="). These methods should attempt to\n do the operation in-place (modifying *self*) and return the result\n (which could be, but does not have to be, *self*). If a specific\n method is not defined, the augmented assignment falls back to the\n normal methods. For instance, if *x* is an instance of a class\n with an "__iadd__()" method, "x += y" is equivalent to "x =\n x.__iadd__(y)" . Otherwise, "x.__add__(y)" and "y.__radd__(x)" are\n considered, as with the evaluation of "x + y". In certain\n situations, augmented assignment can result in unexpected errors\n (see *Why does a_tuple[i] += [\'item\'] raise an exception when the\n addition works?*), but this behavior is in fact part of the data\n model.\n\nobject.__neg__(self)\nobject.__pos__(self)\nobject.__abs__(self)\nobject.__invert__(self)\n\n Called to implement the unary arithmetic operations ("-", "+",\n "abs()" and "~").\n\nobject.__complex__(self)\nobject.__int__(self)\nobject.__float__(self)\nobject.__round__(self[, n])\n\n Called to implement the built-in functions "complex()", "int()",\n "float()" and "round()". Should return a value of the appropriate\n type.\n\nobject.__index__(self)\n\n Called to implement "operator.index()", and whenever Python needs\n to losslessly convert the numeric object to an integer object (such\n as in slicing, or in the built-in "bin()", "hex()" and "oct()"\n functions). Presence of this method indicates that the numeric\n object is an integer type. Must return an integer.\n\n Note: In order to have a coherent integer type class, when\n "__index__()" is defined "__int__()" should also be defined, and\n both should return the same value.\n\n\nWith Statement Context Managers\n===============================\n\nA *context manager* is an object that defines the runtime context to\nbe established when executing a "with" statement. The context manager\nhandles the entry into, and the exit from, the desired runtime context\nfor the execution of the block of code. Context managers are normally\ninvoked using the "with" statement (described in section *The with\nstatement*), but can also be used by directly invoking their methods.\n\nTypical uses of context managers include saving and restoring various\nkinds of global state, locking and unlocking resources, closing opened\nfiles, etc.\n\nFor more information on context managers, see *Context Manager Types*.\n\nobject.__enter__(self)\n\n Enter the runtime context related to this object. The "with"\n statement will bind this method\'s return value to the target(s)\n specified in the "as" clause of the statement, if any.\n\nobject.__exit__(self, exc_type, exc_value, traceback)\n\n Exit the runtime context related to this object. The parameters\n describe the exception that caused the context to be exited. If the\n context was exited without an exception, all three arguments will\n be "None".\n\n If an exception is supplied, and the method wishes to suppress the\n exception (i.e., prevent it from being propagated), it should\n return a true value. Otherwise, the exception will be processed\n normally upon exit from this method.\n\n Note that "__exit__()" methods should not reraise the passed-in\n exception; this is the caller\'s responsibility.\n\nSee also: **PEP 343** - The "with" statement\n\n The specification, background, and examples for the Python "with"\n statement.\n\n\nSpecial method lookup\n=====================\n\nFor custom classes, implicit invocations of special methods are only\nguaranteed to work correctly if defined on an object\'s type, not in\nthe object\'s instance dictionary. That behaviour is the reason why\nthe following code raises an exception:\n\n >>> class C:\n ... pass\n ...\n >>> c = C()\n >>> c.__len__ = lambda: 5\n >>> len(c)\n Traceback (most recent call last):\n File "", line 1, in \n TypeError: object of type \'C\' has no len()\n\nThe rationale behind this behaviour lies with a number of special\nmethods such as "__hash__()" and "__repr__()" that are implemented by\nall objects, including type objects. If the implicit lookup of these\nmethods used the conventional lookup process, they would fail when\ninvoked on the type object itself:\n\n >>> 1 .__hash__() == hash(1)\n True\n >>> int.__hash__() == hash(int)\n Traceback (most recent call last):\n File "", line 1, in \n TypeError: descriptor \'__hash__\' of \'int\' object needs an argument\n\nIncorrectly attempting to invoke an unbound method of a class in this\nway is sometimes referred to as \'metaclass confusion\', and is avoided\nby bypassing the instance when looking up special methods:\n\n >>> type(1).__hash__(1) == hash(1)\n True\n >>> type(int).__hash__(int) == hash(int)\n True\n\nIn addition to bypassing any instance attributes in the interest of\ncorrectness, implicit special method lookup generally also bypasses\nthe "__getattribute__()" method even of the object\'s metaclass:\n\n >>> class Meta(type):\n ... def __getattribute__(*args):\n ... print("Metaclass getattribute invoked")\n ... return type.__getattribute__(*args)\n ...\n >>> class C(object, metaclass=Meta):\n ... def __len__(self):\n ... return 10\n ... def __getattribute__(*args):\n ... print("Class getattribute invoked")\n ... return object.__getattribute__(*args)\n ...\n >>> c = C()\n >>> c.__len__() # Explicit lookup via instance\n Class getattribute invoked\n 10\n >>> type(c).__len__(c) # Explicit lookup via type\n Metaclass getattribute invoked\n 10\n >>> len(c) # Implicit lookup\n 10\n\nBypassing the "__getattribute__()" machinery in this fashion provides\nsignificant scope for speed optimisations within the interpreter, at\nthe cost of some flexibility in the handling of special methods (the\nspecial method *must* be set on the class object itself in order to be\nconsistently invoked by the interpreter).\n', + 'string-methods': u'\nString Methods\n**************\n\nStrings implement all of the *common* sequence operations, along with\nthe additional methods described below.\n\nStrings also support two styles of string formatting, one providing a\nlarge degree of flexibility and customization (see "str.format()",\n*Format String Syntax* and *Custom String Formatting*) and the other\nbased on C "printf" style formatting that handles a narrower range of\ntypes and is slightly harder to use correctly, but is often faster for\nthe cases it can handle (*printf-style String Formatting*).\n\nThe *Text Processing Services* section of the standard library covers\na number of other modules that provide various text related utilities\n(including regular expression support in the "re" module).\n\nstr.capitalize()\n\n Return a copy of the string with its first character capitalized\n and the rest lowercased.\n\nstr.casefold()\n\n Return a casefolded copy of the string. Casefolded strings may be\n used for caseless matching.\n\n Casefolding is similar to lowercasing but more aggressive because\n it is intended to remove all case distinctions in a string. For\n example, the German lowercase letter "\'\xdf\'" is equivalent to ""ss"".\n Since it is already lowercase, "lower()" would do nothing to "\'\xdf\'";\n "casefold()" converts it to ""ss"".\n\n The casefolding algorithm is described in section 3.13 of the\n Unicode Standard.\n\n New in version 3.3.\n\nstr.center(width[, fillchar])\n\n Return centered in a string of length *width*. Padding is done\n using the specified *fillchar* (default is an ASCII space). The\n original string is returned if *width* is less than or equal to\n "len(s)".\n\nstr.count(sub[, start[, end]])\n\n Return the number of non-overlapping occurrences of substring *sub*\n in the range [*start*, *end*]. Optional arguments *start* and\n *end* are interpreted as in slice notation.\n\nstr.encode(encoding="utf-8", errors="strict")\n\n Return an encoded version of the string as a bytes object. Default\n encoding is "\'utf-8\'". *errors* may be given to set a different\n error handling scheme. The default for *errors* is "\'strict\'",\n meaning that encoding errors raise a "UnicodeError". Other possible\n values are "\'ignore\'", "\'replace\'", "\'xmlcharrefreplace\'",\n "\'backslashreplace\'" and any other name registered via\n "codecs.register_error()", see section *Error Handlers*. For a list\n of possible encodings, see section *Standard Encodings*.\n\n Changed in version 3.1: Support for keyword arguments added.\n\nstr.endswith(suffix[, start[, end]])\n\n Return "True" if the string ends with the specified *suffix*,\n otherwise return "False". *suffix* can also be a tuple of suffixes\n to look for. With optional *start*, test beginning at that\n position. With optional *end*, stop comparing at that position.\n\nstr.expandtabs(tabsize=8)\n\n Return a copy of the string where all tab characters are replaced\n by one or more spaces, depending on the current column and the\n given tab size. Tab positions occur every *tabsize* characters\n (default is 8, giving tab positions at columns 0, 8, 16 and so on).\n To expand the string, the current column is set to zero and the\n string is examined character by character. If the character is a\n tab ("\\t"), one or more space characters are inserted in the result\n until the current column is equal to the next tab position. (The\n tab character itself is not copied.) If the character is a newline\n ("\\n") or return ("\\r"), it is copied and the current column is\n reset to zero. Any other character is copied unchanged and the\n current column is incremented by one regardless of how the\n character is represented when printed.\n\n >>> \'01\\t012\\t0123\\t01234\'.expandtabs()\n \'01 012 0123 01234\'\n >>> \'01\\t012\\t0123\\t01234\'.expandtabs(4)\n \'01 012 0123 01234\'\n\nstr.find(sub[, start[, end]])\n\n Return the lowest index in the string where substring *sub* is\n found within the slice "s[start:end]". Optional arguments *start*\n and *end* are interpreted as in slice notation. Return "-1" if\n *sub* is not found.\n\n Note: The "find()" method should be used only if you need to know\n the position of *sub*. To check if *sub* is a substring or not,\n use the "in" operator:\n\n >>> \'Py\' in \'Python\'\n True\n\nstr.format(*args, **kwargs)\n\n Perform a string formatting operation. The string on which this\n method is called can contain literal text or replacement fields\n delimited by braces "{}". Each replacement field contains either\n the numeric index of a positional argument, or the name of a\n keyword argument. Returns a copy of the string where each\n replacement field is replaced with the string value of the\n corresponding argument.\n\n >>> "The sum of 1 + 2 is {0}".format(1+2)\n \'The sum of 1 + 2 is 3\'\n\n See *Format String Syntax* for a description of the various\n formatting options that can be specified in format strings.\n\nstr.format_map(mapping)\n\n Similar to "str.format(**mapping)", except that "mapping" is used\n directly and not copied to a "dict". This is useful if for example\n "mapping" is a dict subclass:\n\n >>> class Default(dict):\n ... def __missing__(self, key):\n ... return key\n ...\n >>> \'{name} was born in {country}\'.format_map(Default(name=\'Guido\'))\n \'Guido was born in country\'\n\n New in version 3.2.\n\nstr.index(sub[, start[, end]])\n\n Like "find()", but raise "ValueError" when the substring is not\n found.\n\nstr.isalnum()\n\n Return true if all characters in the string are alphanumeric and\n there is at least one character, false otherwise. A character "c"\n is alphanumeric if one of the following returns "True":\n "c.isalpha()", "c.isdecimal()", "c.isdigit()", or "c.isnumeric()".\n\nstr.isalpha()\n\n Return true if all characters in the string are alphabetic and\n there is at least one character, false otherwise. Alphabetic\n characters are those characters defined in the Unicode character\n database as "Letter", i.e., those with general category property\n being one of "Lm", "Lt", "Lu", "Ll", or "Lo". Note that this is\n different from the "Alphabetic" property defined in the Unicode\n Standard.\n\nstr.isdecimal()\n\n Return true if all characters in the string are decimal characters\n and there is at least one character, false otherwise. Decimal\n characters are those from general category "Nd". This category\n includes digit characters, and all characters that can be used to\n form decimal-radix numbers, e.g. U+0660, ARABIC-INDIC DIGIT ZERO.\n\nstr.isdigit()\n\n Return true if all characters in the string are digits and there is\n at least one character, false otherwise. Digits include decimal\n characters and digits that need special handling, such as the\n compatibility superscript digits. Formally, a digit is a character\n that has the property value Numeric_Type=Digit or\n Numeric_Type=Decimal.\n\nstr.isidentifier()\n\n Return true if the string is a valid identifier according to the\n language definition, section *Identifiers and keywords*.\n\n Use "keyword.iskeyword()" to test for reserved identifiers such as\n "def" and "class".\n\nstr.islower()\n\n Return true if all cased characters [4] in the string are lowercase\n and there is at least one cased character, false otherwise.\n\nstr.isnumeric()\n\n Return true if all characters in the string are numeric characters,\n and there is at least one character, false otherwise. Numeric\n characters include digit characters, and all characters that have\n the Unicode numeric value property, e.g. U+2155, VULGAR FRACTION\n ONE FIFTH. Formally, numeric characters are those with the\n property value Numeric_Type=Digit, Numeric_Type=Decimal or\n Numeric_Type=Numeric.\n\nstr.isprintable()\n\n Return true if all characters in the string are printable or the\n string is empty, false otherwise. Nonprintable characters are\n those characters defined in the Unicode character database as\n "Other" or "Separator", excepting the ASCII space (0x20) which is\n considered printable. (Note that printable characters in this\n context are those which should not be escaped when "repr()" is\n invoked on a string. It has no bearing on the handling of strings\n written to "sys.stdout" or "sys.stderr".)\n\nstr.isspace()\n\n Return true if there are only whitespace characters in the string\n and there is at least one character, false otherwise. Whitespace\n characters are those characters defined in the Unicode character\n database as "Other" or "Separator" and those with bidirectional\n property being one of "WS", "B", or "S".\n\nstr.istitle()\n\n Return true if the string is a titlecased string and there is at\n least one character, for example uppercase characters may only\n follow uncased characters and lowercase characters only cased ones.\n Return false otherwise.\n\nstr.isupper()\n\n Return true if all cased characters [4] in the string are uppercase\n and there is at least one cased character, false otherwise.\n\nstr.join(iterable)\n\n Return a string which is the concatenation of the strings in the\n *iterable* *iterable*. A "TypeError" will be raised if there are\n any non-string values in *iterable*, including "bytes" objects.\n The separator between elements is the string providing this method.\n\nstr.ljust(width[, fillchar])\n\n Return the string left justified in a string of length *width*.\n Padding is done using the specified *fillchar* (default is an ASCII\n space). The original string is returned if *width* is less than or\n equal to "len(s)".\n\nstr.lower()\n\n Return a copy of the string with all the cased characters [4]\n converted to lowercase.\n\n The lowercasing algorithm used is described in section 3.13 of the\n Unicode Standard.\n\nstr.lstrip([chars])\n\n Return a copy of the string with leading characters removed. The\n *chars* argument is a string specifying the set of characters to be\n removed. If omitted or "None", the *chars* argument defaults to\n removing whitespace. The *chars* argument is not a prefix; rather,\n all combinations of its values are stripped:\n\n >>> \' spacious \'.lstrip()\n \'spacious \'\n >>> \'www.example.com\'.lstrip(\'cmowz.\')\n \'example.com\'\n\nstatic str.maketrans(x[, y[, z]])\n\n This static method returns a translation table usable for\n "str.translate()".\n\n If there is only one argument, it must be a dictionary mapping\n Unicode ordinals (integers) or characters (strings of length 1) to\n Unicode ordinals, strings (of arbitrary lengths) or None.\n Character keys will then be converted to ordinals.\n\n If there are two arguments, they must be strings of equal length,\n and in the resulting dictionary, each character in x will be mapped\n to the character at the same position in y. If there is a third\n argument, it must be a string, whose characters will be mapped to\n None in the result.\n\nstr.partition(sep)\n\n Split the string at the first occurrence of *sep*, and return a\n 3-tuple containing the part before the separator, the separator\n itself, and the part after the separator. If the separator is not\n found, return a 3-tuple containing the string itself, followed by\n two empty strings.\n\nstr.replace(old, new[, count])\n\n Return a copy of the string with all occurrences of substring *old*\n replaced by *new*. If the optional argument *count* is given, only\n the first *count* occurrences are replaced.\n\nstr.rfind(sub[, start[, end]])\n\n Return the highest index in the string where substring *sub* is\n found, such that *sub* is contained within "s[start:end]".\n Optional arguments *start* and *end* are interpreted as in slice\n notation. Return "-1" on failure.\n\nstr.rindex(sub[, start[, end]])\n\n Like "rfind()" but raises "ValueError" when the substring *sub* is\n not found.\n\nstr.rjust(width[, fillchar])\n\n Return the string right justified in a string of length *width*.\n Padding is done using the specified *fillchar* (default is an ASCII\n space). The original string is returned if *width* is less than or\n equal to "len(s)".\n\nstr.rpartition(sep)\n\n Split the string at the last occurrence of *sep*, and return a\n 3-tuple containing the part before the separator, the separator\n itself, and the part after the separator. If the separator is not\n found, return a 3-tuple containing two empty strings, followed by\n the string itself.\n\nstr.rsplit(sep=None, maxsplit=-1)\n\n Return a list of the words in the string, using *sep* as the\n delimiter string. If *maxsplit* is given, at most *maxsplit* splits\n are done, the *rightmost* ones. If *sep* is not specified or\n "None", any whitespace string is a separator. Except for splitting\n from the right, "rsplit()" behaves like "split()" which is\n described in detail below.\n\nstr.rstrip([chars])\n\n Return a copy of the string with trailing characters removed. The\n *chars* argument is a string specifying the set of characters to be\n removed. If omitted or "None", the *chars* argument defaults to\n removing whitespace. The *chars* argument is not a suffix; rather,\n all combinations of its values are stripped:\n\n >>> \' spacious \'.rstrip()\n \' spacious\'\n >>> \'mississippi\'.rstrip(\'ipz\')\n \'mississ\'\n\nstr.split(sep=None, maxsplit=-1)\n\n Return a list of the words in the string, using *sep* as the\n delimiter string. If *maxsplit* is given, at most *maxsplit*\n splits are done (thus, the list will have at most "maxsplit+1"\n elements). If *maxsplit* is not specified or "-1", then there is\n no limit on the number of splits (all possible splits are made).\n\n If *sep* is given, consecutive delimiters are not grouped together\n and are deemed to delimit empty strings (for example,\n "\'1,,2\'.split(\',\')" returns "[\'1\', \'\', \'2\']"). The *sep* argument\n may consist of multiple characters (for example,\n "\'1<>2<>3\'.split(\'<>\')" returns "[\'1\', \'2\', \'3\']"). Splitting an\n empty string with a specified separator returns "[\'\']".\n\n For example:\n\n >>> \'1,2,3\'.split(\',\')\n [\'1\', \'2\', \'3\']\n >>> \'1,2,3\'.split(\',\', maxsplit=1)\n [\'1\', \'2,3\']\n >>> \'1,2,,3,\'.split(\',\')\n [\'1\', \'2\', \'\', \'3\', \'\']\n\n If *sep* is not specified or is "None", a different splitting\n algorithm is applied: runs of consecutive whitespace are regarded\n as a single separator, and the result will contain no empty strings\n at the start or end if the string has leading or trailing\n whitespace. Consequently, splitting an empty string or a string\n consisting of just whitespace with a "None" separator returns "[]".\n\n For example:\n\n >>> \'1 2 3\'.split()\n [\'1\', \'2\', \'3\']\n >>> \'1 2 3\'.split(maxsplit=1)\n [\'1\', \'2 3\']\n >>> \' 1 2 3 \'.split()\n [\'1\', \'2\', \'3\']\n\nstr.splitlines([keepends])\n\n Return a list of the lines in the string, breaking at line\n boundaries. Line breaks are not included in the resulting list\n unless *keepends* is given and true.\n\n This method splits on the following line boundaries. In\n particular, the boundaries are a superset of *universal newlines*.\n\n +-------------------------+-------------------------------+\n | Representation | Description |\n +=========================+===============================+\n | "\\n" | Line Feed |\n +-------------------------+-------------------------------+\n | "\\r" | Carriage Return |\n +-------------------------+-------------------------------+\n | "\\r\\n" | Carriage Return + Line Feed |\n +-------------------------+-------------------------------+\n | "\\v" or "\\x0b" | Line Tabulation |\n +-------------------------+-------------------------------+\n | "\\f" or "\\x0c" | Form Feed |\n +-------------------------+-------------------------------+\n | "\\x1c" | File Separator |\n +-------------------------+-------------------------------+\n | "\\x1d" | Group Separator |\n +-------------------------+-------------------------------+\n | "\\x1e" | Record Separator |\n +-------------------------+-------------------------------+\n | "\\x85" | Next Line (C1 Control Code) |\n +-------------------------+-------------------------------+\n | "\\u2028" | Line Separator |\n +-------------------------+-------------------------------+\n | "\\u2029" | Paragraph Separator |\n +-------------------------+-------------------------------+\n\n Changed in version 3.2: "\\v" and "\\f" added to list of line\n boundaries.\n\n For example:\n\n >>> \'ab c\\n\\nde fg\\rkl\\r\\n\'.splitlines()\n [\'ab c\', \'\', \'de fg\', \'kl\']\n >>> \'ab c\\n\\nde fg\\rkl\\r\\n\'.splitlines(keepends=True)\n [\'ab c\\n\', \'\\n\', \'de fg\\r\', \'kl\\r\\n\']\n\n Unlike "split()" when a delimiter string *sep* is given, this\n method returns an empty list for the empty string, and a terminal\n line break does not result in an extra line:\n\n >>> "".splitlines()\n []\n >>> "One line\\n".splitlines()\n [\'One line\']\n\n For comparison, "split(\'\\n\')" gives:\n\n >>> \'\'.split(\'\\n\')\n [\'\']\n >>> \'Two lines\\n\'.split(\'\\n\')\n [\'Two lines\', \'\']\n\nstr.startswith(prefix[, start[, end]])\n\n Return "True" if string starts with the *prefix*, otherwise return\n "False". *prefix* can also be a tuple of prefixes to look for.\n With optional *start*, test string beginning at that position.\n With optional *end*, stop comparing string at that position.\n\nstr.strip([chars])\n\n Return a copy of the string with the leading and trailing\n characters removed. The *chars* argument is a string specifying the\n set of characters to be removed. If omitted or "None", the *chars*\n argument defaults to removing whitespace. The *chars* argument is\n not a prefix or suffix; rather, all combinations of its values are\n stripped:\n\n >>> \' spacious \'.strip()\n \'spacious\'\n >>> \'www.example.com\'.strip(\'cmowz.\')\n \'example\'\n\n The outermost leading and trailing *chars* argument values are\n stripped from the string. Characters are removed from the leading\n end until reaching a string character that is not contained in the\n set of characters in *chars*. A similar action takes place on the\n trailing end. For example:\n\n >>> comment_string = \'#....... Section 3.2.1 Issue #32 .......\'\n >>> comment_string.strip(\'.#! \')\n \'Section 3.2.1 Issue #32\'\n\nstr.swapcase()\n\n Return a copy of the string with uppercase characters converted to\n lowercase and vice versa. Note that it is not necessarily true that\n "s.swapcase().swapcase() == s".\n\nstr.title()\n\n Return a titlecased version of the string where words start with an\n uppercase character and the remaining characters are lowercase.\n\n For example:\n\n >>> \'Hello world\'.title()\n \'Hello World\'\n\n The algorithm uses a simple language-independent definition of a\n word as groups of consecutive letters. The definition works in\n many contexts but it means that apostrophes in contractions and\n possessives form word boundaries, which may not be the desired\n result:\n\n >>> "they\'re bill\'s friends from the UK".title()\n "They\'Re Bill\'S Friends From The Uk"\n\n A workaround for apostrophes can be constructed using regular\n expressions:\n\n >>> import re\n >>> def titlecase(s):\n ... return re.sub(r"[A-Za-z]+(\'[A-Za-z]+)?",\n ... lambda mo: mo.group(0)[0].upper() +\n ... mo.group(0)[1:].lower(),\n ... s)\n ...\n >>> titlecase("they\'re bill\'s friends.")\n "They\'re Bill\'s Friends."\n\nstr.translate(table)\n\n Return a copy of the string in which each character has been mapped\n through the given translation table. The table must be an object\n that implements indexing via "__getitem__()", typically a *mapping*\n or *sequence*. When indexed by a Unicode ordinal (an integer), the\n table object can do any of the following: return a Unicode ordinal\n or a string, to map the character to one or more other characters;\n return "None", to delete the character from the return string; or\n raise a "LookupError" exception, to map the character to itself.\n\n You can use "str.maketrans()" to create a translation map from\n character-to-character mappings in different formats.\n\n See also the "codecs" module for a more flexible approach to custom\n character mappings.\n\nstr.upper()\n\n Return a copy of the string with all the cased characters [4]\n converted to uppercase. Note that "str.upper().isupper()" might be\n "False" if "s" contains uncased characters or if the Unicode\n category of the resulting character(s) is not "Lu" (Letter,\n uppercase), but e.g. "Lt" (Letter, titlecase).\n\n The uppercasing algorithm used is described in section 3.13 of the\n Unicode Standard.\n\nstr.zfill(width)\n\n Return a copy of the string left filled with ASCII "\'0\'" digits to\n make a string of length *width*. A leading sign prefix\n ("\'+\'"/"\'-\'") is handled by inserting the padding *after* the sign\n character rather than before. The original string is returned if\n *width* is less than or equal to "len(s)".\n\n For example:\n\n >>> "42".zfill(5)\n \'00042\'\n >>> "-42".zfill(5)\n \'-0042\'\n', + 'strings': u'\nString and Bytes literals\n*************************\n\nString literals are described by the following lexical definitions:\n\n stringliteral ::= [stringprefix](shortstring | longstring)\n stringprefix ::= "r" | "u" | "R" | "U"\n shortstring ::= "\'" shortstringitem* "\'" | \'"\' shortstringitem* \'"\'\n longstring ::= "\'\'\'" longstringitem* "\'\'\'" | \'"""\' longstringitem* \'"""\'\n shortstringitem ::= shortstringchar | stringescapeseq\n longstringitem ::= longstringchar | stringescapeseq\n shortstringchar ::= \n longstringchar ::= \n stringescapeseq ::= "\\" \n\n bytesliteral ::= bytesprefix(shortbytes | longbytes)\n bytesprefix ::= "b" | "B" | "br" | "Br" | "bR" | "BR" | "rb" | "rB" | "Rb" | "RB"\n shortbytes ::= "\'" shortbytesitem* "\'" | \'"\' shortbytesitem* \'"\'\n longbytes ::= "\'\'\'" longbytesitem* "\'\'\'" | \'"""\' longbytesitem* \'"""\'\n shortbytesitem ::= shortbyteschar | bytesescapeseq\n longbytesitem ::= longbyteschar | bytesescapeseq\n shortbyteschar ::= \n longbyteschar ::= \n bytesescapeseq ::= "\\" \n\nOne syntactic restriction not indicated by these productions is that\nwhitespace is not allowed between the "stringprefix" or "bytesprefix"\nand the rest of the literal. The source character set is defined by\nthe encoding declaration; it is UTF-8 if no encoding declaration is\ngiven in the source file; see section *Encoding declarations*.\n\nIn plain English: Both types of literals can be enclosed in matching\nsingle quotes ("\'") or double quotes ("""). They can also be enclosed\nin matching groups of three single or double quotes (these are\ngenerally referred to as *triple-quoted strings*). The backslash\n("\\") character is used to escape characters that otherwise have a\nspecial meaning, such as newline, backslash itself, or the quote\ncharacter.\n\nBytes literals are always prefixed with "\'b\'" or "\'B\'"; they produce\nan instance of the "bytes" type instead of the "str" type. They may\nonly contain ASCII characters; bytes with a numeric value of 128 or\ngreater must be expressed with escapes.\n\nAs of Python 3.3 it is possible again to prefix string literals with a\n"u" prefix to simplify maintenance of dual 2.x and 3.x codebases.\n\nBoth string and bytes literals may optionally be prefixed with a\nletter "\'r\'" or "\'R\'"; such strings are called *raw strings* and treat\nbackslashes as literal characters. As a result, in string literals,\n"\'\\U\'" and "\'\\u\'" escapes in raw strings are not treated specially.\nGiven that Python 2.x\'s raw unicode literals behave differently than\nPython 3.x\'s the "\'ur\'" syntax is not supported.\n\nNew in version 3.3: The "\'rb\'" prefix of raw bytes literals has been\nadded as a synonym of "\'br\'".\n\nNew in version 3.3: Support for the unicode legacy literal\n("u\'value\'") was reintroduced to simplify the maintenance of dual\nPython 2.x and 3.x codebases. See **PEP 414** for more information.\n\nIn triple-quoted literals, unescaped newlines and quotes are allowed\n(and are retained), except that three unescaped quotes in a row\nterminate the literal. (A "quote" is the character used to open the\nliteral, i.e. either "\'" or """.)\n\nUnless an "\'r\'" or "\'R\'" prefix is present, escape sequences in string\nand bytes literals are interpreted according to rules similar to those\nused by Standard C. The recognized escape sequences are:\n\n+-------------------+-----------------------------------+---------+\n| Escape Sequence | Meaning | Notes |\n+===================+===================================+=========+\n| "\\newline" | Backslash and newline ignored | |\n+-------------------+-----------------------------------+---------+\n| "\\\\" | Backslash ("\\") | |\n+-------------------+-----------------------------------+---------+\n| "\\\'" | Single quote ("\'") | |\n+-------------------+-----------------------------------+---------+\n| "\\"" | Double quote (""") | |\n+-------------------+-----------------------------------+---------+\n| "\\a" | ASCII Bell (BEL) | |\n+-------------------+-----------------------------------+---------+\n| "\\b" | ASCII Backspace (BS) | |\n+-------------------+-----------------------------------+---------+\n| "\\f" | ASCII Formfeed (FF) | |\n+-------------------+-----------------------------------+---------+\n| "\\n" | ASCII Linefeed (LF) | |\n+-------------------+-----------------------------------+---------+\n| "\\r" | ASCII Carriage Return (CR) | |\n+-------------------+-----------------------------------+---------+\n| "\\t" | ASCII Horizontal Tab (TAB) | |\n+-------------------+-----------------------------------+---------+\n| "\\v" | ASCII Vertical Tab (VT) | |\n+-------------------+-----------------------------------+---------+\n| "\\ooo" | Character with octal value *ooo* | (1,3) |\n+-------------------+-----------------------------------+---------+\n| "\\xhh" | Character with hex value *hh* | (2,3) |\n+-------------------+-----------------------------------+---------+\n\nEscape sequences only recognized in string literals are:\n\n+-------------------+-----------------------------------+---------+\n| Escape Sequence | Meaning | Notes |\n+===================+===================================+=========+\n| "\\N{name}" | Character named *name* in the | (4) |\n| | Unicode database | |\n+-------------------+-----------------------------------+---------+\n| "\\uxxxx" | Character with 16-bit hex value | (5) |\n| | *xxxx* | |\n+-------------------+-----------------------------------+---------+\n| "\\Uxxxxxxxx" | Character with 32-bit hex value | (6) |\n| | *xxxxxxxx* | |\n+-------------------+-----------------------------------+---------+\n\nNotes:\n\n1. As in Standard C, up to three octal digits are accepted.\n\n2. Unlike in Standard C, exactly two hex digits are required.\n\n3. In a bytes literal, hexadecimal and octal escapes denote the\n byte with the given value. In a string literal, these escapes\n denote a Unicode character with the given value.\n\n4. Changed in version 3.3: Support for name aliases [1] has been\n added.\n\n5. Exactly four hex digits are required.\n\n6. Any Unicode character can be encoded this way. Exactly eight\n hex digits are required.\n\nUnlike Standard C, all unrecognized escape sequences are left in the\nstring unchanged, i.e., *the backslash is left in the result*. (This\nbehavior is useful when debugging: if an escape sequence is mistyped,\nthe resulting output is more easily recognized as broken.) It is also\nimportant to note that the escape sequences only recognized in string\nliterals fall into the category of unrecognized escapes for bytes\nliterals.\n\nEven in a raw literal, quotes can be escaped with a backslash, but the\nbackslash remains in the result; for example, "r"\\""" is a valid\nstring literal consisting of two characters: a backslash and a double\nquote; "r"\\"" is not a valid string literal (even a raw string cannot\nend in an odd number of backslashes). Specifically, *a raw literal\ncannot end in a single backslash* (since the backslash would escape\nthe following quote character). Note also that a single backslash\nfollowed by a newline is interpreted as those two characters as part\nof the literal, *not* as a line continuation.\n', + 'subscriptions': u'\nSubscriptions\n*************\n\nA subscription selects an item of a sequence (string, tuple or list)\nor mapping (dictionary) object:\n\n subscription ::= primary "[" expression_list "]"\n\nThe primary must evaluate to an object that supports subscription\n(lists or dictionaries for example). User-defined objects can support\nsubscription by defining a "__getitem__()" method.\n\nFor built-in objects, there are two types of objects that support\nsubscription:\n\nIf the primary is a mapping, the expression list must evaluate to an\nobject whose value is one of the keys of the mapping, and the\nsubscription selects the value in the mapping that corresponds to that\nkey. (The expression list is a tuple except if it has exactly one\nitem.)\n\nIf the primary is a sequence, the expression (list) must evaluate to\nan integer or a slice (as discussed in the following section).\n\nThe formal syntax makes no special provision for negative indices in\nsequences; however, built-in sequences all provide a "__getitem__()"\nmethod that interprets negative indices by adding the length of the\nsequence to the index (so that "x[-1]" selects the last item of "x").\nThe resulting value must be a nonnegative integer less than the number\nof items in the sequence, and the subscription selects the item whose\nindex is that value (counting from zero). Since the support for\nnegative indices and slicing occurs in the object\'s "__getitem__()"\nmethod, subclasses overriding this method will need to explicitly add\nthat support.\n\nA string\'s items are characters. A character is not a separate data\ntype but a string of exactly one character.\n', + 'truth': u'\nTruth Value Testing\n*******************\n\nAny object can be tested for truth value, for use in an "if" or\n"while" condition or as operand of the Boolean operations below. The\nfollowing values are considered false:\n\n* "None"\n\n* "False"\n\n* zero of any numeric type, for example, "0", "0.0", "0j".\n\n* any empty sequence, for example, "\'\'", "()", "[]".\n\n* any empty mapping, for example, "{}".\n\n* instances of user-defined classes, if the class defines a\n "__bool__()" or "__len__()" method, when that method returns the\n integer zero or "bool" value "False". [1]\n\nAll other values are considered true --- so objects of many types are\nalways true.\n\nOperations and built-in functions that have a Boolean result always\nreturn "0" or "False" for false and "1" or "True" for true, unless\notherwise stated. (Important exception: the Boolean operations "or"\nand "and" always return one of their operands.)\n', + 'try': u'\nThe "try" statement\n*******************\n\nThe "try" statement specifies exception handlers and/or cleanup code\nfor a group of statements:\n\n try_stmt ::= try1_stmt | try2_stmt\n try1_stmt ::= "try" ":" suite\n ("except" [expression ["as" identifier]] ":" suite)+\n ["else" ":" suite]\n ["finally" ":" suite]\n try2_stmt ::= "try" ":" suite\n "finally" ":" suite\n\nThe "except" clause(s) specify one or more exception handlers. When no\nexception occurs in the "try" clause, no exception handler is\nexecuted. When an exception occurs in the "try" suite, a search for an\nexception handler is started. This search inspects the except clauses\nin turn until one is found that matches the exception. An expression-\nless except clause, if present, must be last; it matches any\nexception. For an except clause with an expression, that expression\nis evaluated, and the clause matches the exception if the resulting\nobject is "compatible" with the exception. An object is compatible\nwith an exception if it is the class or a base class of the exception\nobject or a tuple containing an item compatible with the exception.\n\nIf no except clause matches the exception, the search for an exception\nhandler continues in the surrounding code and on the invocation stack.\n[1]\n\nIf the evaluation of an expression in the header of an except clause\nraises an exception, the original search for a handler is canceled and\na search starts for the new exception in the surrounding code and on\nthe call stack (it is treated as if the entire "try" statement raised\nthe exception).\n\nWhen a matching except clause is found, the exception is assigned to\nthe target specified after the "as" keyword in that except clause, if\npresent, and the except clause\'s suite is executed. All except\nclauses must have an executable block. When the end of this block is\nreached, execution continues normally after the entire try statement.\n(This means that if two nested handlers exist for the same exception,\nand the exception occurs in the try clause of the inner handler, the\nouter handler will not handle the exception.)\n\nWhen an exception has been assigned using "as target", it is cleared\nat the end of the except clause. This is as if\n\n except E as N:\n foo\n\nwas translated to\n\n except E as N:\n try:\n foo\n finally:\n del N\n\nThis means the exception must be assigned to a different name to be\nable to refer to it after the except clause. Exceptions are cleared\nbecause with the traceback attached to them, they form a reference\ncycle with the stack frame, keeping all locals in that frame alive\nuntil the next garbage collection occurs.\n\nBefore an except clause\'s suite is executed, details about the\nexception are stored in the "sys" module and can be accessed via\n"sys.exc_info()". "sys.exc_info()" returns a 3-tuple consisting of the\nexception class, the exception instance and a traceback object (see\nsection *The standard type hierarchy*) identifying the point in the\nprogram where the exception occurred. "sys.exc_info()" values are\nrestored to their previous values (before the call) when returning\nfrom a function that handled an exception.\n\nThe optional "else" clause is executed if and when control flows off\nthe end of the "try" clause. [2] Exceptions in the "else" clause are\nnot handled by the preceding "except" clauses.\n\nIf "finally" is present, it specifies a \'cleanup\' handler. The "try"\nclause is executed, including any "except" and "else" clauses. If an\nexception occurs in any of the clauses and is not handled, the\nexception is temporarily saved. The "finally" clause is executed. If\nthere is a saved exception it is re-raised at the end of the "finally"\nclause. If the "finally" clause raises another exception, the saved\nexception is set as the context of the new exception. If the "finally"\nclause executes a "return" or "break" statement, the saved exception\nis discarded:\n\n >>> def f():\n ... try:\n ... 1/0\n ... finally:\n ... return 42\n ...\n >>> f()\n 42\n\nThe exception information is not available to the program during\nexecution of the "finally" clause.\n\nWhen a "return", "break" or "continue" statement is executed in the\n"try" suite of a "try"..."finally" statement, the "finally" clause is\nalso executed \'on the way out.\' A "continue" statement is illegal in\nthe "finally" clause. (The reason is a problem with the current\nimplementation --- this restriction may be lifted in the future).\n\nThe return value of a function is determined by the last "return"\nstatement executed. Since the "finally" clause always executes, a\n"return" statement executed in the "finally" clause will always be the\nlast one executed:\n\n >>> def foo():\n ... try:\n ... return \'try\'\n ... finally:\n ... return \'finally\'\n ...\n >>> foo()\n \'finally\'\n\nAdditional information on exceptions can be found in section\n*Exceptions*, and information on using the "raise" statement to\ngenerate exceptions may be found in section *The raise statement*.\n', + 'types': u'\nThe standard type hierarchy\n***************************\n\nBelow is a list of the types that are built into Python. Extension\nmodules (written in C, Java, or other languages, depending on the\nimplementation) can define additional types. Future versions of\nPython may add types to the type hierarchy (e.g., rational numbers,\nefficiently stored arrays of integers, etc.), although such additions\nwill often be provided via the standard library instead.\n\nSome of the type descriptions below contain a paragraph listing\n\'special attributes.\' These are attributes that provide access to the\nimplementation and are not intended for general use. Their definition\nmay change in the future.\n\nNone\n This type has a single value. There is a single object with this\n value. This object is accessed through the built-in name "None". It\n is used to signify the absence of a value in many situations, e.g.,\n it is returned from functions that don\'t explicitly return\n anything. Its truth value is false.\n\nNotImplemented\n This type has a single value. There is a single object with this\n value. This object is accessed through the built-in name\n "NotImplemented". Numeric methods and rich comparison methods\n should return this value if they do not implement the operation for\n the operands provided. (The interpreter will then try the\n reflected operation, or some other fallback, depending on the\n operator.) Its truth value is true.\n\n See *Implementing the arithmetic operations* for more details.\n\nEllipsis\n This type has a single value. There is a single object with this\n value. This object is accessed through the literal "..." or the\n built-in name "Ellipsis". Its truth value is true.\n\n"numbers.Number"\n These are created by numeric literals and returned as results by\n arithmetic operators and arithmetic built-in functions. Numeric\n objects are immutable; once created their value never changes.\n Python numbers are of course strongly related to mathematical\n numbers, but subject to the limitations of numerical representation\n in computers.\n\n Python distinguishes between integers, floating point numbers, and\n complex numbers:\n\n "numbers.Integral"\n These represent elements from the mathematical set of integers\n (positive and negative).\n\n There are two types of integers:\n\n Integers ("int")\n\n These represent numbers in an unlimited range, subject to\n available (virtual) memory only. For the purpose of shift\n and mask operations, a binary representation is assumed, and\n negative numbers are represented in a variant of 2\'s\n complement which gives the illusion of an infinite string of\n sign bits extending to the left.\n\n Booleans ("bool")\n These represent the truth values False and True. The two\n objects representing the values "False" and "True" are the\n only Boolean objects. The Boolean type is a subtype of the\n integer type, and Boolean values behave like the values 0 and\n 1, respectively, in almost all contexts, the exception being\n that when converted to a string, the strings ""False"" or\n ""True"" are returned, respectively.\n\n The rules for integer representation are intended to give the\n most meaningful interpretation of shift and mask operations\n involving negative integers.\n\n "numbers.Real" ("float")\n These represent machine-level double precision floating point\n numbers. You are at the mercy of the underlying machine\n architecture (and C or Java implementation) for the accepted\n range and handling of overflow. Python does not support single-\n precision floating point numbers; the savings in processor and\n memory usage that are usually the reason for using these are\n dwarfed by the overhead of using objects in Python, so there is\n no reason to complicate the language with two kinds of floating\n point numbers.\n\n "numbers.Complex" ("complex")\n These represent complex numbers as a pair of machine-level\n double precision floating point numbers. The same caveats apply\n as for floating point numbers. The real and imaginary parts of a\n complex number "z" can be retrieved through the read-only\n attributes "z.real" and "z.imag".\n\nSequences\n These represent finite ordered sets indexed by non-negative\n numbers. The built-in function "len()" returns the number of items\n of a sequence. When the length of a sequence is *n*, the index set\n contains the numbers 0, 1, ..., *n*-1. Item *i* of sequence *a* is\n selected by "a[i]".\n\n Sequences also support slicing: "a[i:j]" selects all items with\n index *k* such that *i* "<=" *k* "<" *j*. When used as an\n expression, a slice is a sequence of the same type. This implies\n that the index set is renumbered so that it starts at 0.\n\n Some sequences also support "extended slicing" with a third "step"\n parameter: "a[i:j:k]" selects all items of *a* with index *x* where\n "x = i + n*k", *n* ">=" "0" and *i* "<=" *x* "<" *j*.\n\n Sequences are distinguished according to their mutability:\n\n Immutable sequences\n An object of an immutable sequence type cannot change once it is\n created. (If the object contains references to other objects,\n these other objects may be mutable and may be changed; however,\n the collection of objects directly referenced by an immutable\n object cannot change.)\n\n The following types are immutable sequences:\n\n Strings\n A string is a sequence of values that represent Unicode code\n points. All the code points in the range "U+0000 - U+10FFFF"\n can be represented in a string. Python doesn\'t have a "char"\n type; instead, every code point in the string is represented\n as a string object with length "1". The built-in function\n "ord()" converts a code point from its string form to an\n integer in the range "0 - 10FFFF"; "chr()" converts an\n integer in the range "0 - 10FFFF" to the corresponding length\n "1" string object. "str.encode()" can be used to convert a\n "str" to "bytes" using the given text encoding, and\n "bytes.decode()" can be used to achieve the opposite.\n\n Tuples\n The items of a tuple are arbitrary Python objects. Tuples of\n two or more items are formed by comma-separated lists of\n expressions. A tuple of one item (a \'singleton\') can be\n formed by affixing a comma to an expression (an expression by\n itself does not create a tuple, since parentheses must be\n usable for grouping of expressions). An empty tuple can be\n formed by an empty pair of parentheses.\n\n Bytes\n A bytes object is an immutable array. The items are 8-bit\n bytes, represented by integers in the range 0 <= x < 256.\n Bytes literals (like "b\'abc\'") and the built-in function\n "bytes()" can be used to construct bytes objects. Also,\n bytes objects can be decoded to strings via the "decode()"\n method.\n\n Mutable sequences\n Mutable sequences can be changed after they are created. The\n subscription and slicing notations can be used as the target of\n assignment and "del" (delete) statements.\n\n There are currently two intrinsic mutable sequence types:\n\n Lists\n The items of a list are arbitrary Python objects. Lists are\n formed by placing a comma-separated list of expressions in\n square brackets. (Note that there are no special cases needed\n to form lists of length 0 or 1.)\n\n Byte Arrays\n A bytearray object is a mutable array. They are created by\n the built-in "bytearray()" constructor. Aside from being\n mutable (and hence unhashable), byte arrays otherwise provide\n the same interface and functionality as immutable bytes\n objects.\n\n The extension module "array" provides an additional example of a\n mutable sequence type, as does the "collections" module.\n\nSet types\n These represent unordered, finite sets of unique, immutable\n objects. As such, they cannot be indexed by any subscript. However,\n they can be iterated over, and the built-in function "len()"\n returns the number of items in a set. Common uses for sets are fast\n membership testing, removing duplicates from a sequence, and\n computing mathematical operations such as intersection, union,\n difference, and symmetric difference.\n\n For set elements, the same immutability rules apply as for\n dictionary keys. Note that numeric types obey the normal rules for\n numeric comparison: if two numbers compare equal (e.g., "1" and\n "1.0"), only one of them can be contained in a set.\n\n There are currently two intrinsic set types:\n\n Sets\n These represent a mutable set. They are created by the built-in\n "set()" constructor and can be modified afterwards by several\n methods, such as "add()".\n\n Frozen sets\n These represent an immutable set. They are created by the\n built-in "frozenset()" constructor. As a frozenset is immutable\n and *hashable*, it can be used again as an element of another\n set, or as a dictionary key.\n\nMappings\n These represent finite sets of objects indexed by arbitrary index\n sets. The subscript notation "a[k]" selects the item indexed by "k"\n from the mapping "a"; this can be used in expressions and as the\n target of assignments or "del" statements. The built-in function\n "len()" returns the number of items in a mapping.\n\n There is currently a single intrinsic mapping type:\n\n Dictionaries\n These represent finite sets of objects indexed by nearly\n arbitrary values. The only types of values not acceptable as\n keys are values containing lists or dictionaries or other\n mutable types that are compared by value rather than by object\n identity, the reason being that the efficient implementation of\n dictionaries requires a key\'s hash value to remain constant.\n Numeric types used for keys obey the normal rules for numeric\n comparison: if two numbers compare equal (e.g., "1" and "1.0")\n then they can be used interchangeably to index the same\n dictionary entry.\n\n Dictionaries are mutable; they can be created by the "{...}"\n notation (see section *Dictionary displays*).\n\n The extension modules "dbm.ndbm" and "dbm.gnu" provide\n additional examples of mapping types, as does the "collections"\n module.\n\nCallable types\n These are the types to which the function call operation (see\n section *Calls*) can be applied:\n\n User-defined functions\n A user-defined function object is created by a function\n definition (see section *Function definitions*). It should be\n called with an argument list containing the same number of items\n as the function\'s formal parameter list.\n\n Special attributes:\n\n +---------------------------+---------------------------------+-------------+\n | Attribute | Meaning | |\n +===========================+=================================+=============+\n | "__doc__" | The function\'s documentation | Writable |\n | | string, or "None" if | |\n | | unavailable; not inherited by | |\n | | subclasses | |\n +---------------------------+---------------------------------+-------------+\n | "__name__" | The function\'s name | Writable |\n +---------------------------+---------------------------------+-------------+\n | "__qualname__" | The function\'s *qualified name* | Writable |\n | | New in version 3.3. | |\n +---------------------------+---------------------------------+-------------+\n | "__module__" | The name of the module the | Writable |\n | | function was defined in, or | |\n | | "None" if unavailable. | |\n +---------------------------+---------------------------------+-------------+\n | "__defaults__" | A tuple containing default | Writable |\n | | argument values for those | |\n | | arguments that have defaults, | |\n | | or "None" if no arguments have | |\n | | a default value | |\n +---------------------------+---------------------------------+-------------+\n | "__code__" | The code object representing | Writable |\n | | the compiled function body. | |\n +---------------------------+---------------------------------+-------------+\n | "__globals__" | A reference to the dictionary | Read-only |\n | | that holds the function\'s | |\n | | global variables --- the global | |\n | | namespace of the module in | |\n | | which the function was defined. | |\n +---------------------------+---------------------------------+-------------+\n | "__dict__" | The namespace supporting | Writable |\n | | arbitrary function attributes. | |\n +---------------------------+---------------------------------+-------------+\n | "__closure__" | "None" or a tuple of cells that | Read-only |\n | | contain bindings for the | |\n | | function\'s free variables. | |\n +---------------------------+---------------------------------+-------------+\n | "__annotations__" | A dict containing annotations | Writable |\n | | of parameters. The keys of the | |\n | | dict are the parameter names, | |\n | | and "\'return\'" for the return | |\n | | annotation, if provided. | |\n +---------------------------+---------------------------------+-------------+\n | "__kwdefaults__" | A dict containing defaults for | Writable |\n | | keyword-only parameters. | |\n +---------------------------+---------------------------------+-------------+\n\n Most of the attributes labelled "Writable" check the type of the\n assigned value.\n\n Function objects also support getting and setting arbitrary\n attributes, which can be used, for example, to attach metadata\n to functions. Regular attribute dot-notation is used to get and\n set such attributes. *Note that the current implementation only\n supports function attributes on user-defined functions. Function\n attributes on built-in functions may be supported in the\n future.*\n\n Additional information about a function\'s definition can be\n retrieved from its code object; see the description of internal\n types below.\n\n Instance methods\n An instance method object combines a class, a class instance and\n any callable object (normally a user-defined function).\n\n Special read-only attributes: "__self__" is the class instance\n object, "__func__" is the function object; "__doc__" is the\n method\'s documentation (same as "__func__.__doc__"); "__name__"\n is the method name (same as "__func__.__name__"); "__module__"\n is the name of the module the method was defined in, or "None"\n if unavailable.\n\n Methods also support accessing (but not setting) the arbitrary\n function attributes on the underlying function object.\n\n User-defined method objects may be created when getting an\n attribute of a class (perhaps via an instance of that class), if\n that attribute is a user-defined function object or a class\n method object.\n\n When an instance method object is created by retrieving a user-\n defined function object from a class via one of its instances,\n its "__self__" attribute is the instance, and the method object\n is said to be bound. The new method\'s "__func__" attribute is\n the original function object.\n\n When a user-defined method object is created by retrieving\n another method object from a class or instance, the behaviour is\n the same as for a function object, except that the "__func__"\n attribute of the new instance is not the original method object\n but its "__func__" attribute.\n\n When an instance method object is created by retrieving a class\n method object from a class or instance, its "__self__" attribute\n is the class itself, and its "__func__" attribute is the\n function object underlying the class method.\n\n When an instance method object is called, the underlying\n function ("__func__") is called, inserting the class instance\n ("__self__") in front of the argument list. For instance, when\n "C" is a class which contains a definition for a function "f()",\n and "x" is an instance of "C", calling "x.f(1)" is equivalent to\n calling "C.f(x, 1)".\n\n When an instance method object is derived from a class method\n object, the "class instance" stored in "__self__" will actually\n be the class itself, so that calling either "x.f(1)" or "C.f(1)"\n is equivalent to calling "f(C,1)" where "f" is the underlying\n function.\n\n Note that the transformation from function object to instance\n method object happens each time the attribute is retrieved from\n the instance. In some cases, a fruitful optimization is to\n assign the attribute to a local variable and call that local\n variable. Also notice that this transformation only happens for\n user-defined functions; other callable objects (and all non-\n callable objects) are retrieved without transformation. It is\n also important to note that user-defined functions which are\n attributes of a class instance are not converted to bound\n methods; this *only* happens when the function is an attribute\n of the class.\n\n Generator functions\n A function or method which uses the "yield" statement (see\n section *The yield statement*) is called a *generator function*.\n Such a function, when called, always returns an iterator object\n which can be used to execute the body of the function: calling\n the iterator\'s "iterator.__next__()" method will cause the\n function to execute until it provides a value using the "yield"\n statement. When the function executes a "return" statement or\n falls off the end, a "StopIteration" exception is raised and the\n iterator will have reached the end of the set of values to be\n returned.\n\n Coroutine functions\n A function or method which is defined using "async def" is\n called a *coroutine function*. Such a function, when called,\n returns a *coroutine* object. It may contain "await"\n expressions, as well as "async with" and "async for" statements.\n See also the *Coroutine Objects* section.\n\n Built-in functions\n A built-in function object is a wrapper around a C function.\n Examples of built-in functions are "len()" and "math.sin()"\n ("math" is a standard built-in module). The number and type of\n the arguments are determined by the C function. Special read-\n only attributes: "__doc__" is the function\'s documentation\n string, or "None" if unavailable; "__name__" is the function\'s\n name; "__self__" is set to "None" (but see the next item);\n "__module__" is the name of the module the function was defined\n in or "None" if unavailable.\n\n Built-in methods\n This is really a different disguise of a built-in function, this\n time containing an object passed to the C function as an\n implicit extra argument. An example of a built-in method is\n "alist.append()", assuming *alist* is a list object. In this\n case, the special read-only attribute "__self__" is set to the\n object denoted by *alist*.\n\n Classes\n Classes are callable. These objects normally act as factories\n for new instances of themselves, but variations are possible for\n class types that override "__new__()". The arguments of the\n call are passed to "__new__()" and, in the typical case, to\n "__init__()" to initialize the new instance.\n\n Class Instances\n Instances of arbitrary classes can be made callable by defining\n a "__call__()" method in their class.\n\nModules\n Modules are a basic organizational unit of Python code, and are\n created by the *import system* as invoked either by the "import"\n statement (see "import"), or by calling functions such as\n "importlib.import_module()" and built-in "__import__()". A module\n object has a namespace implemented by a dictionary object (this is\n the dictionary referenced by the "__globals__" attribute of\n functions defined in the module). Attribute references are\n translated to lookups in this dictionary, e.g., "m.x" is equivalent\n to "m.__dict__["x"]". A module object does not contain the code\n object used to initialize the module (since it isn\'t needed once\n the initialization is done).\n\n Attribute assignment updates the module\'s namespace dictionary,\n e.g., "m.x = 1" is equivalent to "m.__dict__["x"] = 1".\n\n Special read-only attribute: "__dict__" is the module\'s namespace\n as a dictionary object.\n\n **CPython implementation detail:** Because of the way CPython\n clears module dictionaries, the module dictionary will be cleared\n when the module falls out of scope even if the dictionary still has\n live references. To avoid this, copy the dictionary or keep the\n module around while using its dictionary directly.\n\n Predefined (writable) attributes: "__name__" is the module\'s name;\n "__doc__" is the module\'s documentation string, or "None" if\n unavailable; "__file__" is the pathname of the file from which the\n module was loaded, if it was loaded from a file. The "__file__"\n attribute may be missing for certain types of modules, such as C\n modules that are statically linked into the interpreter; for\n extension modules loaded dynamically from a shared library, it is\n the pathname of the shared library file.\n\nCustom classes\n Custom class types are typically created by class definitions (see\n section *Class definitions*). A class has a namespace implemented\n by a dictionary object. Class attribute references are translated\n to lookups in this dictionary, e.g., "C.x" is translated to\n "C.__dict__["x"]" (although there are a number of hooks which allow\n for other means of locating attributes). When the attribute name is\n not found there, the attribute search continues in the base\n classes. This search of the base classes uses the C3 method\n resolution order which behaves correctly even in the presence of\n \'diamond\' inheritance structures where there are multiple\n inheritance paths leading back to a common ancestor. Additional\n details on the C3 MRO used by Python can be found in the\n documentation accompanying the 2.3 release at\n https://www.python.org/download/releases/2.3/mro/.\n\n When a class attribute reference (for class "C", say) would yield a\n class method object, it is transformed into an instance method\n object whose "__self__" attributes is "C". When it would yield a\n static method object, it is transformed into the object wrapped by\n the static method object. See section *Implementing Descriptors*\n for another way in which attributes retrieved from a class may\n differ from those actually contained in its "__dict__".\n\n Class attribute assignments update the class\'s dictionary, never\n the dictionary of a base class.\n\n A class object can be called (see above) to yield a class instance\n (see below).\n\n Special attributes: "__name__" is the class name; "__module__" is\n the module name in which the class was defined; "__dict__" is the\n dictionary containing the class\'s namespace; "__bases__" is a tuple\n (possibly empty or a singleton) containing the base classes, in the\n order of their occurrence in the base class list; "__doc__" is the\n class\'s documentation string, or None if undefined.\n\nClass instances\n A class instance is created by calling a class object (see above).\n A class instance has a namespace implemented as a dictionary which\n is the first place in which attribute references are searched.\n When an attribute is not found there, and the instance\'s class has\n an attribute by that name, the search continues with the class\n attributes. If a class attribute is found that is a user-defined\n function object, it is transformed into an instance method object\n whose "__self__" attribute is the instance. Static method and\n class method objects are also transformed; see above under\n "Classes". See section *Implementing Descriptors* for another way\n in which attributes of a class retrieved via its instances may\n differ from the objects actually stored in the class\'s "__dict__".\n If no class attribute is found, and the object\'s class has a\n "__getattr__()" method, that is called to satisfy the lookup.\n\n Attribute assignments and deletions update the instance\'s\n dictionary, never a class\'s dictionary. If the class has a\n "__setattr__()" or "__delattr__()" method, this is called instead\n of updating the instance dictionary directly.\n\n Class instances can pretend to be numbers, sequences, or mappings\n if they have methods with certain special names. See section\n *Special method names*.\n\n Special attributes: "__dict__" is the attribute dictionary;\n "__class__" is the instance\'s class.\n\nI/O objects (also known as file objects)\n A *file object* represents an open file. Various shortcuts are\n available to create file objects: the "open()" built-in function,\n and also "os.popen()", "os.fdopen()", and the "makefile()" method\n of socket objects (and perhaps by other functions or methods\n provided by extension modules).\n\n The objects "sys.stdin", "sys.stdout" and "sys.stderr" are\n initialized to file objects corresponding to the interpreter\'s\n standard input, output and error streams; they are all open in text\n mode and therefore follow the interface defined by the\n "io.TextIOBase" abstract class.\n\nInternal types\n A few types used internally by the interpreter are exposed to the\n user. Their definitions may change with future versions of the\n interpreter, but they are mentioned here for completeness.\n\n Code objects\n Code objects represent *byte-compiled* executable Python code,\n or *bytecode*. The difference between a code object and a\n function object is that the function object contains an explicit\n reference to the function\'s globals (the module in which it was\n defined), while a code object contains no context; also the\n default argument values are stored in the function object, not\n in the code object (because they represent values calculated at\n run-time). Unlike function objects, code objects are immutable\n and contain no references (directly or indirectly) to mutable\n objects.\n\n Special read-only attributes: "co_name" gives the function name;\n "co_argcount" is the number of positional arguments (including\n arguments with default values); "co_nlocals" is the number of\n local variables used by the function (including arguments);\n "co_varnames" is a tuple containing the names of the local\n variables (starting with the argument names); "co_cellvars" is a\n tuple containing the names of local variables that are\n referenced by nested functions; "co_freevars" is a tuple\n containing the names of free variables; "co_code" is a string\n representing the sequence of bytecode instructions; "co_consts"\n is a tuple containing the literals used by the bytecode;\n "co_names" is a tuple containing the names used by the bytecode;\n "co_filename" is the filename from which the code was compiled;\n "co_firstlineno" is the first line number of the function;\n "co_lnotab" is a string encoding the mapping from bytecode\n offsets to line numbers (for details see the source code of the\n interpreter); "co_stacksize" is the required stack size\n (including local variables); "co_flags" is an integer encoding a\n number of flags for the interpreter.\n\n The following flag bits are defined for "co_flags": bit "0x04"\n is set if the function uses the "*arguments" syntax to accept an\n arbitrary number of positional arguments; bit "0x08" is set if\n the function uses the "**keywords" syntax to accept arbitrary\n keyword arguments; bit "0x20" is set if the function is a\n generator.\n\n Future feature declarations ("from __future__ import division")\n also use bits in "co_flags" to indicate whether a code object\n was compiled with a particular feature enabled: bit "0x2000" is\n set if the function was compiled with future division enabled;\n bits "0x10" and "0x1000" were used in earlier versions of\n Python.\n\n Other bits in "co_flags" are reserved for internal use.\n\n If a code object represents a function, the first item in\n "co_consts" is the documentation string of the function, or\n "None" if undefined.\n\n Frame objects\n Frame objects represent execution frames. They may occur in\n traceback objects (see below).\n\n Special read-only attributes: "f_back" is to the previous stack\n frame (towards the caller), or "None" if this is the bottom\n stack frame; "f_code" is the code object being executed in this\n frame; "f_locals" is the dictionary used to look up local\n variables; "f_globals" is used for global variables;\n "f_builtins" is used for built-in (intrinsic) names; "f_lasti"\n gives the precise instruction (this is an index into the\n bytecode string of the code object).\n\n Special writable attributes: "f_trace", if not "None", is a\n function called at the start of each source code line (this is\n used by the debugger); "f_lineno" is the current line number of\n the frame --- writing to this from within a trace function jumps\n to the given line (only for the bottom-most frame). A debugger\n can implement a Jump command (aka Set Next Statement) by writing\n to f_lineno.\n\n Frame objects support one method:\n\n frame.clear()\n\n This method clears all references to local variables held by\n the frame. Also, if the frame belonged to a generator, the\n generator is finalized. This helps break reference cycles\n involving frame objects (for example when catching an\n exception and storing its traceback for later use).\n\n "RuntimeError" is raised if the frame is currently executing.\n\n New in version 3.4.\n\n Traceback objects\n Traceback objects represent a stack trace of an exception. A\n traceback object is created when an exception occurs. When the\n search for an exception handler unwinds the execution stack, at\n each unwound level a traceback object is inserted in front of\n the current traceback. When an exception handler is entered,\n the stack trace is made available to the program. (See section\n *The try statement*.) It is accessible as the third item of the\n tuple returned by "sys.exc_info()". When the program contains no\n suitable handler, the stack trace is written (nicely formatted)\n to the standard error stream; if the interpreter is interactive,\n it is also made available to the user as "sys.last_traceback".\n\n Special read-only attributes: "tb_next" is the next level in the\n stack trace (towards the frame where the exception occurred), or\n "None" if there is no next level; "tb_frame" points to the\n execution frame of the current level; "tb_lineno" gives the line\n number where the exception occurred; "tb_lasti" indicates the\n precise instruction. The line number and last instruction in\n the traceback may differ from the line number of its frame\n object if the exception occurred in a "try" statement with no\n matching except clause or with a finally clause.\n\n Slice objects\n Slice objects are used to represent slices for "__getitem__()"\n methods. They are also created by the built-in "slice()"\n function.\n\n Special read-only attributes: "start" is the lower bound; "stop"\n is the upper bound; "step" is the step value; each is "None" if\n omitted. These attributes can have any type.\n\n Slice objects support one method:\n\n slice.indices(self, length)\n\n This method takes a single integer argument *length* and\n computes information about the slice that the slice object\n would describe if applied to a sequence of *length* items.\n It returns a tuple of three integers; respectively these are\n the *start* and *stop* indices and the *step* or stride\n length of the slice. Missing or out-of-bounds indices are\n handled in a manner consistent with regular slices.\n\n Static method objects\n Static method objects provide a way of defeating the\n transformation of function objects to method objects described\n above. A static method object is a wrapper around any other\n object, usually a user-defined method object. When a static\n method object is retrieved from a class or a class instance, the\n object actually returned is the wrapped object, which is not\n subject to any further transformation. Static method objects are\n not themselves callable, although the objects they wrap usually\n are. Static method objects are created by the built-in\n "staticmethod()" constructor.\n\n Class method objects\n A class method object, like a static method object, is a wrapper\n around another object that alters the way in which that object\n is retrieved from classes and class instances. The behaviour of\n class method objects upon such retrieval is described above,\n under "User-defined methods". Class method objects are created\n by the built-in "classmethod()" constructor.\n', + 'typesfunctions': u'\nFunctions\n*********\n\nFunction objects are created by function definitions. The only\noperation on a function object is to call it: "func(argument-list)".\n\nThere are really two flavors of function objects: built-in functions\nand user-defined functions. Both support the same operation (to call\nthe function), but the implementation is different, hence the\ndifferent object types.\n\nSee *Function definitions* for more information.\n', + 'typesmapping': u'\nMapping Types --- "dict"\n************************\n\nA *mapping* object maps *hashable* values to arbitrary objects.\nMappings are mutable objects. There is currently only one standard\nmapping type, the *dictionary*. (For other containers see the built-\nin "list", "set", and "tuple" classes, and the "collections" module.)\n\nA dictionary\'s keys are *almost* arbitrary values. Values that are\nnot *hashable*, that is, values containing lists, dictionaries or\nother mutable types (that are compared by value rather than by object\nidentity) may not be used as keys. Numeric types used for keys obey\nthe normal rules for numeric comparison: if two numbers compare equal\n(such as "1" and "1.0") then they can be used interchangeably to index\nthe same dictionary entry. (Note however, that since computers store\nfloating-point numbers as approximations it is usually unwise to use\nthem as dictionary keys.)\n\nDictionaries can be created by placing a comma-separated list of "key:\nvalue" pairs within braces, for example: "{\'jack\': 4098, \'sjoerd\':\n4127}" or "{4098: \'jack\', 4127: \'sjoerd\'}", or by the "dict"\nconstructor.\n\nclass class dict(**kwarg)\nclass class dict(mapping, **kwarg)\nclass class dict(iterable, **kwarg)\n\n Return a new dictionary initialized from an optional positional\n argument and a possibly empty set of keyword arguments.\n\n If no positional argument is given, an empty dictionary is created.\n If a positional argument is given and it is a mapping object, a\n dictionary is created with the same key-value pairs as the mapping\n object. Otherwise, the positional argument must be an *iterable*\n object. Each item in the iterable must itself be an iterable with\n exactly two objects. The first object of each item becomes a key\n in the new dictionary, and the second object the corresponding\n value. If a key occurs more than once, the last value for that key\n becomes the corresponding value in the new dictionary.\n\n If keyword arguments are given, the keyword arguments and their\n values are added to the dictionary created from the positional\n argument. If a key being added is already present, the value from\n the keyword argument replaces the value from the positional\n argument.\n\n To illustrate, the following examples all return a dictionary equal\n to "{"one": 1, "two": 2, "three": 3}":\n\n >>> a = dict(one=1, two=2, three=3)\n >>> b = {\'one\': 1, \'two\': 2, \'three\': 3}\n >>> c = dict(zip([\'one\', \'two\', \'three\'], [1, 2, 3]))\n >>> d = dict([(\'two\', 2), (\'one\', 1), (\'three\', 3)])\n >>> e = dict({\'three\': 3, \'one\': 1, \'two\': 2})\n >>> a == b == c == d == e\n True\n\n Providing keyword arguments as in the first example only works for\n keys that are valid Python identifiers. Otherwise, any valid keys\n can be used.\n\n These are the operations that dictionaries support (and therefore,\n custom mapping types should support too):\n\n len(d)\n\n Return the number of items in the dictionary *d*.\n\n d[key]\n\n Return the item of *d* with key *key*. Raises a "KeyError" if\n *key* is not in the map.\n\n If a subclass of dict defines a method "__missing__()" and *key*\n is not present, the "d[key]" operation calls that method with\n the key *key* as argument. The "d[key]" operation then returns\n or raises whatever is returned or raised by the\n "__missing__(key)" call. No other operations or methods invoke\n "__missing__()". If "__missing__()" is not defined, "KeyError"\n is raised. "__missing__()" must be a method; it cannot be an\n instance variable:\n\n >>> class Counter(dict):\n ... def __missing__(self, key):\n ... return 0\n >>> c = Counter()\n >>> c[\'red\']\n 0\n >>> c[\'red\'] += 1\n >>> c[\'red\']\n 1\n\n The example above shows part of the implementation of\n "collections.Counter". A different "__missing__" method is used\n by "collections.defaultdict".\n\n d[key] = value\n\n Set "d[key]" to *value*.\n\n del d[key]\n\n Remove "d[key]" from *d*. Raises a "KeyError" if *key* is not\n in the map.\n\n key in d\n\n Return "True" if *d* has a key *key*, else "False".\n\n key not in d\n\n Equivalent to "not key in d".\n\n iter(d)\n\n Return an iterator over the keys of the dictionary. This is a\n shortcut for "iter(d.keys())".\n\n clear()\n\n Remove all items from the dictionary.\n\n copy()\n\n Return a shallow copy of the dictionary.\n\n classmethod fromkeys(seq[, value])\n\n Create a new dictionary with keys from *seq* and values set to\n *value*.\n\n "fromkeys()" is a class method that returns a new dictionary.\n *value* defaults to "None".\n\n get(key[, default])\n\n Return the value for *key* if *key* is in the dictionary, else\n *default*. If *default* is not given, it defaults to "None", so\n that this method never raises a "KeyError".\n\n items()\n\n Return a new view of the dictionary\'s items ("(key, value)"\n pairs). See the *documentation of view objects*.\n\n keys()\n\n Return a new view of the dictionary\'s keys. See the\n *documentation of view objects*.\n\n pop(key[, default])\n\n If *key* is in the dictionary, remove it and return its value,\n else return *default*. If *default* is not given and *key* is\n not in the dictionary, a "KeyError" is raised.\n\n popitem()\n\n Remove and return an arbitrary "(key, value)" pair from the\n dictionary.\n\n "popitem()" is useful to destructively iterate over a\n dictionary, as often used in set algorithms. If the dictionary\n is empty, calling "popitem()" raises a "KeyError".\n\n setdefault(key[, default])\n\n If *key* is in the dictionary, return its value. If not, insert\n *key* with a value of *default* and return *default*. *default*\n defaults to "None".\n\n update([other])\n\n Update the dictionary with the key/value pairs from *other*,\n overwriting existing keys. Return "None".\n\n "update()" accepts either another dictionary object or an\n iterable of key/value pairs (as tuples or other iterables of\n length two). If keyword arguments are specified, the dictionary\n is then updated with those key/value pairs: "d.update(red=1,\n blue=2)".\n\n values()\n\n Return a new view of the dictionary\'s values. See the\n *documentation of view objects*.\n\n Dictionaries compare equal if and only if they have the same "(key,\n value)" pairs. Order comparisons (\'<\', \'<=\', \'>=\', \'>\') raise\n "TypeError".\n\nSee also: "types.MappingProxyType" can be used to create a read-only\n view of a "dict".\n\n\nDictionary view objects\n=======================\n\nThe objects returned by "dict.keys()", "dict.values()" and\n"dict.items()" are *view objects*. They provide a dynamic view on the\ndictionary\'s entries, which means that when the dictionary changes,\nthe view reflects these changes.\n\nDictionary views can be iterated over to yield their respective data,\nand support membership tests:\n\nlen(dictview)\n\n Return the number of entries in the dictionary.\n\niter(dictview)\n\n Return an iterator over the keys, values or items (represented as\n tuples of "(key, value)") in the dictionary.\n\n Keys and values are iterated over in an arbitrary order which is\n non-random, varies across Python implementations, and depends on\n the dictionary\'s history of insertions and deletions. If keys,\n values and items views are iterated over with no intervening\n modifications to the dictionary, the order of items will directly\n correspond. This allows the creation of "(value, key)" pairs using\n "zip()": "pairs = zip(d.values(), d.keys())". Another way to\n create the same list is "pairs = [(v, k) for (k, v) in d.items()]".\n\n Iterating views while adding or deleting entries in the dictionary\n may raise a "RuntimeError" or fail to iterate over all entries.\n\nx in dictview\n\n Return "True" if *x* is in the underlying dictionary\'s keys, values\n or items (in the latter case, *x* should be a "(key, value)"\n tuple).\n\nKeys views are set-like since their entries are unique and hashable.\nIf all values are hashable, so that "(key, value)" pairs are unique\nand hashable, then the items view is also set-like. (Values views are\nnot treated as set-like since the entries are generally not unique.)\nFor set-like views, all of the operations defined for the abstract\nbase class "collections.abc.Set" are available (for example, "==",\n"<", or "^").\n\nAn example of dictionary view usage:\n\n >>> dishes = {\'eggs\': 2, \'sausage\': 1, \'bacon\': 1, \'spam\': 500}\n >>> keys = dishes.keys()\n >>> values = dishes.values()\n\n >>> # iteration\n >>> n = 0\n >>> for val in values:\n ... n += val\n >>> print(n)\n 504\n\n >>> # keys and values are iterated over in the same order\n >>> list(keys)\n [\'eggs\', \'bacon\', \'sausage\', \'spam\']\n >>> list(values)\n [2, 1, 1, 500]\n\n >>> # view objects are dynamic and reflect dict changes\n >>> del dishes[\'eggs\']\n >>> del dishes[\'sausage\']\n >>> list(keys)\n [\'spam\', \'bacon\']\n\n >>> # set operations\n >>> keys & {\'eggs\', \'bacon\', \'salad\'}\n {\'bacon\'}\n >>> keys ^ {\'sausage\', \'juice\'}\n {\'juice\', \'sausage\', \'bacon\', \'spam\'}\n', + 'typesmethods': u'\nMethods\n*******\n\nMethods are functions that are called using the attribute notation.\nThere are two flavors: built-in methods (such as "append()" on lists)\nand class instance methods. Built-in methods are described with the\ntypes that support them.\n\nIf you access a method (a function defined in a class namespace)\nthrough an instance, you get a special object: a *bound method* (also\ncalled *instance method*) object. When called, it will add the "self"\nargument to the argument list. Bound methods have two special read-\nonly attributes: "m.__self__" is the object on which the method\noperates, and "m.__func__" is the function implementing the method.\nCalling "m(arg-1, arg-2, ..., arg-n)" is completely equivalent to\ncalling "m.__func__(m.__self__, arg-1, arg-2, ..., arg-n)".\n\nLike function objects, bound method objects support getting arbitrary\nattributes. However, since method attributes are actually stored on\nthe underlying function object ("meth.__func__"), setting method\nattributes on bound methods is disallowed. Attempting to set an\nattribute on a method results in an "AttributeError" being raised. In\norder to set a method attribute, you need to explicitly set it on the\nunderlying function object:\n\n >>> class C:\n ... def method(self):\n ... pass\n ...\n >>> c = C()\n >>> c.method.whoami = \'my name is method\' # can\'t set on the method\n Traceback (most recent call last):\n File "", line 1, in \n AttributeError: \'method\' object has no attribute \'whoami\'\n >>> c.method.__func__.whoami = \'my name is method\'\n >>> c.method.whoami\n \'my name is method\'\n\nSee *The standard type hierarchy* for more information.\n', + 'typesmodules': u'\nModules\n*******\n\nThe only special operation on a module is attribute access: "m.name",\nwhere *m* is a module and *name* accesses a name defined in *m*\'s\nsymbol table. Module attributes can be assigned to. (Note that the\n"import" statement is not, strictly speaking, an operation on a module\nobject; "import foo" does not require a module object named *foo* to\nexist, rather it requires an (external) *definition* for a module\nnamed *foo* somewhere.)\n\nA special attribute of every module is "__dict__". This is the\ndictionary containing the module\'s symbol table. Modifying this\ndictionary will actually change the module\'s symbol table, but direct\nassignment to the "__dict__" attribute is not possible (you can write\n"m.__dict__[\'a\'] = 1", which defines "m.a" to be "1", but you can\'t\nwrite "m.__dict__ = {}"). Modifying "__dict__" directly is not\nrecommended.\n\nModules built into the interpreter are written like this: "". If loaded from a file, they are written as\n"".\n', + 'typesseq': u'\nSequence Types --- "list", "tuple", "range"\n*******************************************\n\nThere are three basic sequence types: lists, tuples, and range\nobjects. Additional sequence types tailored for processing of *binary\ndata* and *text strings* are described in dedicated sections.\n\n\nCommon Sequence Operations\n==========================\n\nThe operations in the following table are supported by most sequence\ntypes, both mutable and immutable. The "collections.abc.Sequence" ABC\nis provided to make it easier to correctly implement these operations\non custom sequence types.\n\nThis table lists the sequence operations sorted in ascending priority.\nIn the table, *s* and *t* are sequences of the same type, *n*, *i*,\n*j* and *k* are integers and *x* is an arbitrary object that meets any\ntype and value restrictions imposed by *s*.\n\nThe "in" and "not in" operations have the same priorities as the\ncomparison operations. The "+" (concatenation) and "*" (repetition)\noperations have the same priority as the corresponding numeric\noperations.\n\n+----------------------------+----------------------------------+------------+\n| Operation | Result | Notes |\n+============================+==================================+============+\n| "x in s" | "True" if an item of *s* is | (1) |\n| | equal to *x*, else "False" | |\n+----------------------------+----------------------------------+------------+\n| "x not in s" | "False" if an item of *s* is | (1) |\n| | equal to *x*, else "True" | |\n+----------------------------+----------------------------------+------------+\n| "s + t" | the concatenation of *s* and *t* | (6)(7) |\n+----------------------------+----------------------------------+------------+\n| "s * n" or "n * s" | equivalent to adding *s* to | (2)(7) |\n| | itself *n* times | |\n+----------------------------+----------------------------------+------------+\n| "s[i]" | *i*th item of *s*, origin 0 | (3) |\n+----------------------------+----------------------------------+------------+\n| "s[i:j]" | slice of *s* from *i* to *j* | (3)(4) |\n+----------------------------+----------------------------------+------------+\n| "s[i:j:k]" | slice of *s* from *i* to *j* | (3)(5) |\n| | with step *k* | |\n+----------------------------+----------------------------------+------------+\n| "len(s)" | length of *s* | |\n+----------------------------+----------------------------------+------------+\n| "min(s)" | smallest item of *s* | |\n+----------------------------+----------------------------------+------------+\n| "max(s)" | largest item of *s* | |\n+----------------------------+----------------------------------+------------+\n| "s.index(x[, i[, j]])" | index of the first occurrence of | (8) |\n| | *x* in *s* (at or after index | |\n| | *i* and before index *j*) | |\n+----------------------------+----------------------------------+------------+\n| "s.count(x)" | total number of occurrences of | |\n| | *x* in *s* | |\n+----------------------------+----------------------------------+------------+\n\nSequences of the same type also support comparisons. In particular,\ntuples and lists are compared lexicographically by comparing\ncorresponding elements. This means that to compare equal, every\nelement must compare equal and the two sequences must be of the same\ntype and have the same length. (For full details see *Comparisons* in\nthe language reference.)\n\nNotes:\n\n1. While the "in" and "not in" operations are used only for simple\n containment testing in the general case, some specialised sequences\n (such as "str", "bytes" and "bytearray") also use them for\n subsequence testing:\n\n >>> "gg" in "eggs"\n True\n\n2. Values of *n* less than "0" are treated as "0" (which yields an\n empty sequence of the same type as *s*). Note that items in the\n sequence *s* are not copied; they are referenced multiple times.\n This often haunts new Python programmers; consider:\n\n >>> lists = [[]] * 3\n >>> lists\n [[], [], []]\n >>> lists[0].append(3)\n >>> lists\n [[3], [3], [3]]\n\n What has happened is that "[[]]" is a one-element list containing\n an empty list, so all three elements of "[[]] * 3" are references\n to this single empty list. Modifying any of the elements of\n "lists" modifies this single list. You can create a list of\n different lists this way:\n\n >>> lists = [[] for i in range(3)]\n >>> lists[0].append(3)\n >>> lists[1].append(5)\n >>> lists[2].append(7)\n >>> lists\n [[3], [5], [7]]\n\n Further explanation is available in the FAQ entry *How do I create\n a multidimensional list?*.\n\n3. If *i* or *j* is negative, the index is relative to the end of\n the string: "len(s) + i" or "len(s) + j" is substituted. But note\n that "-0" is still "0".\n\n4. The slice of *s* from *i* to *j* is defined as the sequence of\n items with index *k* such that "i <= k < j". If *i* or *j* is\n greater than "len(s)", use "len(s)". If *i* is omitted or "None",\n use "0". If *j* is omitted or "None", use "len(s)". If *i* is\n greater than or equal to *j*, the slice is empty.\n\n5. The slice of *s* from *i* to *j* with step *k* is defined as the\n sequence of items with index "x = i + n*k" such that "0 <= n <\n (j-i)/k". In other words, the indices are "i", "i+k", "i+2*k",\n "i+3*k" and so on, stopping when *j* is reached (but never\n including *j*). If *i* or *j* is greater than "len(s)", use\n "len(s)". If *i* or *j* are omitted or "None", they become "end"\n values (which end depends on the sign of *k*). Note, *k* cannot be\n zero. If *k* is "None", it is treated like "1".\n\n6. Concatenating immutable sequences always results in a new\n object. This means that building up a sequence by repeated\n concatenation will have a quadratic runtime cost in the total\n sequence length. To get a linear runtime cost, you must switch to\n one of the alternatives below:\n\n * if concatenating "str" objects, you can build a list and use\n "str.join()" at the end or else write to an "io.StringIO"\n instance and retrieve its value when complete\n\n * if concatenating "bytes" objects, you can similarly use\n "bytes.join()" or "io.BytesIO", or you can do in-place\n concatenation with a "bytearray" object. "bytearray" objects are\n mutable and have an efficient overallocation mechanism\n\n * if concatenating "tuple" objects, extend a "list" instead\n\n * for other types, investigate the relevant class documentation\n\n7. Some sequence types (such as "range") only support item\n sequences that follow specific patterns, and hence don\'t support\n sequence concatenation or repetition.\n\n8. "index" raises "ValueError" when *x* is not found in *s*. When\n supported, the additional arguments to the index method allow\n efficient searching of subsections of the sequence. Passing the\n extra arguments is roughly equivalent to using "s[i:j].index(x)",\n only without copying any data and with the returned index being\n relative to the start of the sequence rather than the start of the\n slice.\n\n\nImmutable Sequence Types\n========================\n\nThe only operation that immutable sequence types generally implement\nthat is not also implemented by mutable sequence types is support for\nthe "hash()" built-in.\n\nThis support allows immutable sequences, such as "tuple" instances, to\nbe used as "dict" keys and stored in "set" and "frozenset" instances.\n\nAttempting to hash an immutable sequence that contains unhashable\nvalues will result in "TypeError".\n\n\nMutable Sequence Types\n======================\n\nThe operations in the following table are defined on mutable sequence\ntypes. The "collections.abc.MutableSequence" ABC is provided to make\nit easier to correctly implement these operations on custom sequence\ntypes.\n\nIn the table *s* is an instance of a mutable sequence type, *t* is any\niterable object and *x* is an arbitrary object that meets any type and\nvalue restrictions imposed by *s* (for example, "bytearray" only\naccepts integers that meet the value restriction "0 <= x <= 255").\n\n+--------------------------------+----------------------------------+-----------------------+\n| Operation | Result | Notes |\n+================================+==================================+=======================+\n| "s[i] = x" | item *i* of *s* is replaced by | |\n| | *x* | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s[i:j] = t" | slice of *s* from *i* to *j* is | |\n| | replaced by the contents of the | |\n| | iterable *t* | |\n+--------------------------------+----------------------------------+-----------------------+\n| "del s[i:j]" | same as "s[i:j] = []" | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s[i:j:k] = t" | the elements of "s[i:j:k]" are | (1) |\n| | replaced by those of *t* | |\n+--------------------------------+----------------------------------+-----------------------+\n| "del s[i:j:k]" | removes the elements of | |\n| | "s[i:j:k]" from the list | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.append(x)" | appends *x* to the end of the | |\n| | sequence (same as | |\n| | "s[len(s):len(s)] = [x]") | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.clear()" | removes all items from "s" (same | (5) |\n| | as "del s[:]") | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.copy()" | creates a shallow copy of "s" | (5) |\n| | (same as "s[:]") | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.extend(t)" or "s += t" | extends *s* with the contents of | |\n| | *t* (for the most part the same | |\n| | as "s[len(s):len(s)] = t") | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s *= n" | updates *s* with its contents | (6) |\n| | repeated *n* times | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.insert(i, x)" | inserts *x* into *s* at the | |\n| | index given by *i* (same as | |\n| | "s[i:i] = [x]") | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.pop([i])" | retrieves the item at *i* and | (2) |\n| | also removes it from *s* | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.remove(x)" | remove the first item from *s* | (3) |\n| | where "s[i] == x" | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.reverse()" | reverses the items of *s* in | (4) |\n| | place | |\n+--------------------------------+----------------------------------+-----------------------+\n\nNotes:\n\n1. *t* must have the same length as the slice it is replacing.\n\n2. The optional argument *i* defaults to "-1", so that by default\n the last item is removed and returned.\n\n3. "remove" raises "ValueError" when *x* is not found in *s*.\n\n4. The "reverse()" method modifies the sequence in place for\n economy of space when reversing a large sequence. To remind users\n that it operates by side effect, it does not return the reversed\n sequence.\n\n5. "clear()" and "copy()" are included for consistency with the\n interfaces of mutable containers that don\'t support slicing\n operations (such as "dict" and "set")\n\n New in version 3.3: "clear()" and "copy()" methods.\n\n6. The value *n* is an integer, or an object implementing\n "__index__()". Zero and negative values of *n* clear the sequence.\n Items in the sequence are not copied; they are referenced multiple\n times, as explained for "s * n" under *Common Sequence Operations*.\n\n\nLists\n=====\n\nLists are mutable sequences, typically used to store collections of\nhomogeneous items (where the precise degree of similarity will vary by\napplication).\n\nclass class list([iterable])\n\n Lists may be constructed in several ways:\n\n * Using a pair of square brackets to denote the empty list: "[]"\n\n * Using square brackets, separating items with commas: "[a]",\n "[a, b, c]"\n\n * Using a list comprehension: "[x for x in iterable]"\n\n * Using the type constructor: "list()" or "list(iterable)"\n\n The constructor builds a list whose items are the same and in the\n same order as *iterable*\'s items. *iterable* may be either a\n sequence, a container that supports iteration, or an iterator\n object. If *iterable* is already a list, a copy is made and\n returned, similar to "iterable[:]". For example, "list(\'abc\')"\n returns "[\'a\', \'b\', \'c\']" and "list( (1, 2, 3) )" returns "[1, 2,\n 3]". If no argument is given, the constructor creates a new empty\n list, "[]".\n\n Many other operations also produce lists, including the "sorted()"\n built-in.\n\n Lists implement all of the *common* and *mutable* sequence\n operations. Lists also provide the following additional method:\n\n sort(*, key=None, reverse=None)\n\n This method sorts the list in place, using only "<" comparisons\n between items. Exceptions are not suppressed - if any comparison\n operations fail, the entire sort operation will fail (and the\n list will likely be left in a partially modified state).\n\n "sort()" accepts two arguments that can only be passed by\n keyword (*keyword-only arguments*):\n\n *key* specifies a function of one argument that is used to\n extract a comparison key from each list element (for example,\n "key=str.lower"). The key corresponding to each item in the list\n is calculated once and then used for the entire sorting process.\n The default value of "None" means that list items are sorted\n directly without calculating a separate key value.\n\n The "functools.cmp_to_key()" utility is available to convert a\n 2.x style *cmp* function to a *key* function.\n\n *reverse* is a boolean value. If set to "True", then the list\n elements are sorted as if each comparison were reversed.\n\n This method modifies the sequence in place for economy of space\n when sorting a large sequence. To remind users that it operates\n by side effect, it does not return the sorted sequence (use\n "sorted()" to explicitly request a new sorted list instance).\n\n The "sort()" method is guaranteed to be stable. A sort is\n stable if it guarantees not to change the relative order of\n elements that compare equal --- this is helpful for sorting in\n multiple passes (for example, sort by department, then by salary\n grade).\n\n **CPython implementation detail:** While a list is being sorted,\n the effect of attempting to mutate, or even inspect, the list is\n undefined. The C implementation of Python makes the list appear\n empty for the duration, and raises "ValueError" if it can detect\n that the list has been mutated during a sort.\n\n\nTuples\n======\n\nTuples are immutable sequences, typically used to store collections of\nheterogeneous data (such as the 2-tuples produced by the "enumerate()"\nbuilt-in). Tuples are also used for cases where an immutable sequence\nof homogeneous data is needed (such as allowing storage in a "set" or\n"dict" instance).\n\nclass class tuple([iterable])\n\n Tuples may be constructed in a number of ways:\n\n * Using a pair of parentheses to denote the empty tuple: "()"\n\n * Using a trailing comma for a singleton tuple: "a," or "(a,)"\n\n * Separating items with commas: "a, b, c" or "(a, b, c)"\n\n * Using the "tuple()" built-in: "tuple()" or "tuple(iterable)"\n\n The constructor builds a tuple whose items are the same and in the\n same order as *iterable*\'s items. *iterable* may be either a\n sequence, a container that supports iteration, or an iterator\n object. If *iterable* is already a tuple, it is returned\n unchanged. For example, "tuple(\'abc\')" returns "(\'a\', \'b\', \'c\')"\n and "tuple( [1, 2, 3] )" returns "(1, 2, 3)". If no argument is\n given, the constructor creates a new empty tuple, "()".\n\n Note that it is actually the comma which makes a tuple, not the\n parentheses. The parentheses are optional, except in the empty\n tuple case, or when they are needed to avoid syntactic ambiguity.\n For example, "f(a, b, c)" is a function call with three arguments,\n while "f((a, b, c))" is a function call with a 3-tuple as the sole\n argument.\n\n Tuples implement all of the *common* sequence operations.\n\nFor heterogeneous collections of data where access by name is clearer\nthan access by index, "collections.namedtuple()" may be a more\nappropriate choice than a simple tuple object.\n\n\nRanges\n======\n\nThe "range" type represents an immutable sequence of numbers and is\ncommonly used for looping a specific number of times in "for" loops.\n\nclass class range(stop)\nclass class range(start, stop[, step])\n\n The arguments to the range constructor must be integers (either\n built-in "int" or any object that implements the "__index__"\n special method). If the *step* argument is omitted, it defaults to\n "1". If the *start* argument is omitted, it defaults to "0". If\n *step* is zero, "ValueError" is raised.\n\n For a positive *step*, the contents of a range "r" are determined\n by the formula "r[i] = start + step*i" where "i >= 0" and "r[i] <\n stop".\n\n For a negative *step*, the contents of the range are still\n determined by the formula "r[i] = start + step*i", but the\n constraints are "i >= 0" and "r[i] > stop".\n\n A range object will be empty if "r[0]" does not meet the value\n constraint. Ranges do support negative indices, but these are\n interpreted as indexing from the end of the sequence determined by\n the positive indices.\n\n Ranges containing absolute values larger than "sys.maxsize" are\n permitted but some features (such as "len()") may raise\n "OverflowError".\n\n Range examples:\n\n >>> list(range(10))\n [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n >>> list(range(1, 11))\n [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n >>> list(range(0, 30, 5))\n [0, 5, 10, 15, 20, 25]\n >>> list(range(0, 10, 3))\n [0, 3, 6, 9]\n >>> list(range(0, -10, -1))\n [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]\n >>> list(range(0))\n []\n >>> list(range(1, 0))\n []\n\n Ranges implement all of the *common* sequence operations except\n concatenation and repetition (due to the fact that range objects\n can only represent sequences that follow a strict pattern and\n repetition and concatenation will usually violate that pattern).\n\n start\n\n The value of the *start* parameter (or "0" if the parameter was\n not supplied)\n\n stop\n\n The value of the *stop* parameter\n\n step\n\n The value of the *step* parameter (or "1" if the parameter was\n not supplied)\n\nThe advantage of the "range" type over a regular "list" or "tuple" is\nthat a "range" object will always take the same (small) amount of\nmemory, no matter the size of the range it represents (as it only\nstores the "start", "stop" and "step" values, calculating individual\nitems and subranges as needed).\n\nRange objects implement the "collections.abc.Sequence" ABC, and\nprovide features such as containment tests, element index lookup,\nslicing and support for negative indices (see *Sequence Types ---\nlist, tuple, range*):\n\n>>> r = range(0, 20, 2)\n>>> r\nrange(0, 20, 2)\n>>> 11 in r\nFalse\n>>> 10 in r\nTrue\n>>> r.index(10)\n5\n>>> r[5]\n10\n>>> r[:5]\nrange(0, 10, 2)\n>>> r[-1]\n18\n\nTesting range objects for equality with "==" and "!=" compares them as\nsequences. That is, two range objects are considered equal if they\nrepresent the same sequence of values. (Note that two range objects\nthat compare equal might have different "start", "stop" and "step"\nattributes, for example "range(0) == range(2, 1, 3)" or "range(0, 3,\n2) == range(0, 4, 2)".)\n\nChanged in version 3.2: Implement the Sequence ABC. Support slicing\nand negative indices. Test "int" objects for membership in constant\ntime instead of iterating through all items.\n\nChanged in version 3.3: Define \'==\' and \'!=\' to compare range objects\nbased on the sequence of values they define (instead of comparing\nbased on object identity).\n\nNew in version 3.3: The "start", "stop" and "step" attributes.\n', + 'typesseq-mutable': u'\nMutable Sequence Types\n**********************\n\nThe operations in the following table are defined on mutable sequence\ntypes. The "collections.abc.MutableSequence" ABC is provided to make\nit easier to correctly implement these operations on custom sequence\ntypes.\n\nIn the table *s* is an instance of a mutable sequence type, *t* is any\niterable object and *x* is an arbitrary object that meets any type and\nvalue restrictions imposed by *s* (for example, "bytearray" only\naccepts integers that meet the value restriction "0 <= x <= 255").\n\n+--------------------------------+----------------------------------+-----------------------+\n| Operation | Result | Notes |\n+================================+==================================+=======================+\n| "s[i] = x" | item *i* of *s* is replaced by | |\n| | *x* | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s[i:j] = t" | slice of *s* from *i* to *j* is | |\n| | replaced by the contents of the | |\n| | iterable *t* | |\n+--------------------------------+----------------------------------+-----------------------+\n| "del s[i:j]" | same as "s[i:j] = []" | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s[i:j:k] = t" | the elements of "s[i:j:k]" are | (1) |\n| | replaced by those of *t* | |\n+--------------------------------+----------------------------------+-----------------------+\n| "del s[i:j:k]" | removes the elements of | |\n| | "s[i:j:k]" from the list | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.append(x)" | appends *x* to the end of the | |\n| | sequence (same as | |\n| | "s[len(s):len(s)] = [x]") | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.clear()" | removes all items from "s" (same | (5) |\n| | as "del s[:]") | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.copy()" | creates a shallow copy of "s" | (5) |\n| | (same as "s[:]") | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.extend(t)" or "s += t" | extends *s* with the contents of | |\n| | *t* (for the most part the same | |\n| | as "s[len(s):len(s)] = t") | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s *= n" | updates *s* with its contents | (6) |\n| | repeated *n* times | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.insert(i, x)" | inserts *x* into *s* at the | |\n| | index given by *i* (same as | |\n| | "s[i:i] = [x]") | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.pop([i])" | retrieves the item at *i* and | (2) |\n| | also removes it from *s* | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.remove(x)" | remove the first item from *s* | (3) |\n| | where "s[i] == x" | |\n+--------------------------------+----------------------------------+-----------------------+\n| "s.reverse()" | reverses the items of *s* in | (4) |\n| | place | |\n+--------------------------------+----------------------------------+-----------------------+\n\nNotes:\n\n1. *t* must have the same length as the slice it is replacing.\n\n2. The optional argument *i* defaults to "-1", so that by default\n the last item is removed and returned.\n\n3. "remove" raises "ValueError" when *x* is not found in *s*.\n\n4. The "reverse()" method modifies the sequence in place for\n economy of space when reversing a large sequence. To remind users\n that it operates by side effect, it does not return the reversed\n sequence.\n\n5. "clear()" and "copy()" are included for consistency with the\n interfaces of mutable containers that don\'t support slicing\n operations (such as "dict" and "set")\n\n New in version 3.3: "clear()" and "copy()" methods.\n\n6. The value *n* is an integer, or an object implementing\n "__index__()". Zero and negative values of *n* clear the sequence.\n Items in the sequence are not copied; they are referenced multiple\n times, as explained for "s * n" under *Common Sequence Operations*.\n', + 'unary': u'\nUnary arithmetic and bitwise operations\n***************************************\n\nAll unary arithmetic and bitwise operations have the same priority:\n\n u_expr ::= power | "-" u_expr | "+" u_expr | "~" u_expr\n\nThe unary "-" (minus) operator yields the negation of its numeric\nargument.\n\nThe unary "+" (plus) operator yields its numeric argument unchanged.\n\nThe unary "~" (invert) operator yields the bitwise inversion of its\ninteger argument. The bitwise inversion of "x" is defined as\n"-(x+1)". It only applies to integral numbers.\n\nIn all three cases, if the argument does not have the proper type, a\n"TypeError" exception is raised.\n', + 'while': u'\nThe "while" statement\n*********************\n\nThe "while" statement is used for repeated execution as long as an\nexpression is true:\n\n while_stmt ::= "while" expression ":" suite\n ["else" ":" suite]\n\nThis repeatedly tests the expression and, if it is true, executes the\nfirst suite; if the expression is false (which may be the first time\nit is tested) the suite of the "else" clause, if present, is executed\nand the loop terminates.\n\nA "break" statement executed in the first suite terminates the loop\nwithout executing the "else" clause\'s suite. A "continue" statement\nexecuted in the first suite skips the rest of the suite and goes back\nto testing the expression.\n', + 'with': u'\nThe "with" statement\n********************\n\nThe "with" statement is used to wrap the execution of a block with\nmethods defined by a context manager (see section *With Statement\nContext Managers*). This allows common "try"..."except"..."finally"\nusage patterns to be encapsulated for convenient reuse.\n\n with_stmt ::= "with" with_item ("," with_item)* ":" suite\n with_item ::= expression ["as" target]\n\nThe execution of the "with" statement with one "item" proceeds as\nfollows:\n\n1. The context expression (the expression given in the "with_item")\n is evaluated to obtain a context manager.\n\n2. The context manager\'s "__exit__()" is loaded for later use.\n\n3. The context manager\'s "__enter__()" method is invoked.\n\n4. If a target was included in the "with" statement, the return\n value from "__enter__()" is assigned to it.\n\n Note: The "with" statement guarantees that if the "__enter__()"\n method returns without an error, then "__exit__()" will always be\n called. Thus, if an error occurs during the assignment to the\n target list, it will be treated the same as an error occurring\n within the suite would be. See step 6 below.\n\n5. The suite is executed.\n\n6. The context manager\'s "__exit__()" method is invoked. If an\n exception caused the suite to be exited, its type, value, and\n traceback are passed as arguments to "__exit__()". Otherwise, three\n "None" arguments are supplied.\n\n If the suite was exited due to an exception, and the return value\n from the "__exit__()" method was false, the exception is reraised.\n If the return value was true, the exception is suppressed, and\n execution continues with the statement following the "with"\n statement.\n\n If the suite was exited for any reason other than an exception, the\n return value from "__exit__()" is ignored, and execution proceeds\n at the normal location for the kind of exit that was taken.\n\nWith more than one item, the context managers are processed as if\nmultiple "with" statements were nested:\n\n with A() as a, B() as b:\n suite\n\nis equivalent to\n\n with A() as a:\n with B() as b:\n suite\n\nChanged in version 3.1: Support for multiple context expressions.\n\nSee also: **PEP 343** - The "with" statement\n\n The specification, background, and examples for the Python "with"\n statement.\n', + 'yield': u'\nThe "yield" statement\n*********************\n\n yield_stmt ::= yield_expression\n\nA "yield" statement is semantically equivalent to a *yield\nexpression*. The yield statement can be used to omit the parentheses\nthat would otherwise be required in the equivalent yield expression\nstatement. For example, the yield statements\n\n yield \n yield from \n\nare equivalent to the yield expression statements\n\n (yield )\n (yield from )\n\nYield expressions and statements are only used when defining a\n*generator* function, and are only used in the body of the generator\nfunction. Using yield in a function definition is sufficient to cause\nthat definition to create a generator function instead of a normal\nfunction.\n\nFor full details of "yield" semantics, refer to the *Yield\nexpressions* section.\n'} diff --git a/tools/split_hexrays_templates.py b/tools/split_hexrays_templates.py index 6e5d1f1..3755bd5 100644 --- a/tools/split_hexrays_templates.py +++ b/tools/split_hexrays_templates.py @@ -24,7 +24,7 @@ for line in lines: if line.startswith("};"): in_template = False -with open(args.out_templates, "wt") as fout: +with open(args.out_templates, "w") as fout: fout.write("".join(templates)) -with open(args.out_body, "wt") as fout: +with open(args.out_body, "w") as fout: fout.write("".join(body)) diff --git a/tools/wrapper_utils.py b/tools/wrapper_utils.py new file mode 100644 index 0000000..bb45726 --- /dev/null +++ b/tools/wrapper_utils.py @@ -0,0 +1,111 @@ + +from __future__ import with_statement +from __future__ import print_function + +import re + +class TextStream: + def __init__(self, text): + self.text = text + self.point = 0 + self.maxpoint = len(self.text) + self.line_nr = 0 + self.char_nr = 0 + + def line(self): + pt = self.point + self.advance_to_newline() + return self.text[pt : self.point] + + def char(self): + c, self.point = self.text[self.point], self.point + 1 + if c == '\n': + self.line_nr += 1 + self.char_nr = 0 + return c + + def advance_to_newline(self): + p = self.point + while self.text[p] != '\n': + p += 1 + p += 1 + self.line_nr += 1 + self.char_nr = 0 + self.point = p + + def empty(self): + return self.point >= self.maxpoint + + +class function_def_t: + def __init__(self, api_function_name, line_nr, contents): + self.api_function_name = api_function_name + self.line_nr = line_nr + self.contents = contents + + +class cpp_wrapper_file_parser_t: + + API_FNAME_REGEX = re.compile(".*PyObject \\*_wrap_([^\\(]*)\\(.*\\).*") + + def __init__(self, args): + self.args = args + self.text = None + + def _is_fundecl(self, line): + if len(line) <= 2: + return None + if line[0:1].isspace(): + return None + if line[len(line)-1:] != "{": + return None + open_paren_idx = line.find("(") + if open_paren_idx == -1 or line.find(")") == -1: + return None + part = line[0:open_paren_idx] + for idx in range(len(part) - 1, 0, -1): + c = part[idx] + if not c.isalnum() and c not in ["_"]: + return part[idx+1:] + + def _collect_funbody_lines(self, ts): + pt = ts.point + braces_cnt = 1 + while True: + c = ts.char() + if c == "{": + braces_cnt = braces_cnt + 1 + elif c == "}": + braces_cnt = braces_cnt - 1 + if braces_cnt == 0: + break; + # TODO: Skip strings! + return ts.text[pt : ts.point].split("\n") + + def verb(self, msg): + if self.args.verbose: + print("DEBUG: %s" % msg) + + def parse(self, path): + with open(path) as f: + self.text = f.read() + + ts = TextStream(self.text) + functions = {} + + # Process lines + while not ts.empty(): + line = ts.line().rstrip() + # self.verb("Line: '%s'" % line) + + fname = self._is_fundecl(line) + if fname: + + # self.verb("Entering function (from line %d: '%s')" % (ts.line_nr, line)) + line_nr = ts.line_nr + match = self.API_FNAME_REGEX.match(line) + api_fname = match.group(1) if match else None + body = self._collect_funbody_lines(ts) + functions[fname] = function_def_t(api_fname, line_nr, [line] + body) + + return functions